libsidplayfp 2.16.1
stildefs.h
1/*
2 * This file is part of libsidplayfp, a SID player engine.
3 *
4 * Copyright 1998, 2002 by LaLa <LaLa@C64.org>
5 * Copyright 2012-2015 Leandro Nini <drfiemost@users.sourceforge.net>
6 *
7 * This program is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation; either version 2 of the License, or
10 * (at your option) any later version.
11 *
12 * This program is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU General Public License for more details.
16 *
17 * You should have received a copy of the GNU General Public License
18 * along with this program; if not, write to the Free Software
19 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
20 */
21
22//
23// STIL - Common defines
24//
25
26#ifndef STILDEFS_H
27#define STILDEFS_H
28
29/* DLL building support on win32 hosts */
30#ifndef STIL_EXTERN
31# ifdef DLL_EXPORT /* defined by libtool (if required) */
32# define STIL_EXTERN __declspec(dllexport)
33# endif
34# ifdef STIL_DLL_IMPORT /* define if linking with this dll */
35# define STIL_EXTERN __declspec(dllimport)
36# endif
37# ifndef STIL_EXTERN /* static linking or !_WIN32 */
38# if defined(__GNUC__) && (__GNUC__ >= 4)
39# define STIL_EXTERN __attribute__ ((visibility("default")))
40# else
41# define STIL_EXTERN
42# endif
43# endif
44#endif
45
46/* Deprecated attributes */
47#if defined(_MSCVER)
48# define STIL_DEPRECATED __declspec(deprecated)
49#elif defined(__GNUC__)
50# define STIL_DEPRECATED __attribute__ ((deprecated))
51#else
52# define STIL_DEPRECATED
53#endif
54
55// https://sourceforge.net/p/predef/wiki/OperatingSystems/
56
57#if defined(_WIN32)
58# define WINDOWS_OS
59#endif
60
61#if defined(__MACOS__)
62# define MAC_OS
63#endif
64
65#if defined(__amigaos__)
66# define AMIGA_OS
67#endif
68
69//
70// Here you should define:
71// - what the pathname separator is on your system (attempted to be defined
72// automatically),
73// - what function compares strings case-insensitively,
74// - what function compares portions of strings case-insensitively.
75//
76
77#ifdef WINDOWS_OS
78# define SLASH '\\'
79#elif defined MAC_OS
80# define SLASH ':'
81#elif defined AMIGA_OS
82# define SLASH '/'
83#else // UNIX
84# define SLASH '/'
85#endif
86
87// Default HVSC path to STIL.
88const char DEFAULT_PATH_TO_STIL[]="/DOCUMENTS/STIL.txt";
89
90// Default HVSC path to BUGlist.
91const char DEFAULT_PATH_TO_BUGLIST[]="/DOCUMENTS/BUGlist.txt";
92
93#endif // STILDEFS_H