~ubuntu-branches/debian/stretch/assaultcube-data/stretch

« back to all changes in this revision

Viewing changes to source/include/begin_code.h

  • Committer: Bazaar Package Importer
  • Author(s): Gonéri Le Bouder, Ansgar Burchardt, Gonéri Le Bouder
  • Date: 2010-04-02 23:37:55 UTC
  • mfrom: (1.1.1 upstream)
  • Revision ID: james.westby@ubuntu.com-20100402233755-kf74fxwlu634o6vg
Tags: 1.0.4+repack1-1
[ Ansgar Burchardt ]
* debian/control: fix typo in short description

[ Gonéri Le Bouder ]
* Upgrade to 1.0.4
* bump standards-version to 3.8.4
* Add Depends: ${misc:Depends} just to avoid a lintian warning
* Add a debian/source/format file for the same reason

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*
 
2
    SDL - Simple DirectMedia Layer
 
3
    Copyright (C) 1997-2004 Sam Lantinga
 
4
 
 
5
    This library is free software; you can redistribute it and/or
 
6
    modify it under the terms of the GNU Library General Public
 
7
    License as published by the Free Software Foundation; either
 
8
    version 2 of the License, or (at your option) any later version.
 
9
 
 
10
    This library is distributed in the hope that it will be useful,
 
11
    but WITHOUT ANY WARRANTY; without even the implied warranty of
 
12
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 
13
    Library General Public License for more details.
 
14
 
 
15
    You should have received a copy of the GNU Library General Public
 
16
    License along with this library; if not, write to the Free
 
17
    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 
18
 
 
19
    Sam Lantinga
 
20
    slouken@libsdl.org
 
21
*/
 
22
 
 
23
/* This file sets things up for C dynamic library function definitions,
 
24
   static inlined functions, and structures aligned at 4-byte alignment.
 
25
   If you don't like ugly C preprocessor code, don't look at this file. :)
 
26
*/
 
27
 
 
28
/* This shouldn't be nested -- included it around code only. */
 
29
#ifdef _begin_code_h
 
30
#error Nested inclusion of begin_code.h
 
31
#endif
 
32
#define _begin_code_h
 
33
 
 
34
/* Some compilers use a special export keyword */
 
35
#ifndef DECLSPEC
 
36
# if defined(__BEOS__)
 
37
#  if defined(__GNUC__)
 
38
#   define DECLSPEC     __declspec(dllexport)
 
39
#  else
 
40
#   define DECLSPEC     __declspec(export)
 
41
#  endif
 
42
# elif defined(__WIN32__)
 
43
#  ifdef __BORLANDC__
 
44
#   ifdef BUILD_SDL
 
45
#    define DECLSPEC 
 
46
#   else
 
47
#    define DECLSPEC    __declspec(dllimport)
 
48
#   endif
 
49
#  else
 
50
#   define DECLSPEC     __declspec(dllexport)
 
51
#  endif
 
52
# elif defined(__OS2__)
 
53
#  ifdef __WATCOMC__
 
54
#   ifdef BUILD_SDL
 
55
#    define DECLSPEC    __declspec(dllexport)
 
56
#   else
 
57
#    define DECLSPEC
 
58
#   endif
 
59
#  else
 
60
#   define DECLSPEC
 
61
#  endif
 
62
# else
 
63
#  if defined(__GNUC__) && __GNUC__ >= 4
 
64
#   define DECLSPEC     __attribute__ ((visibility("default")))
 
65
#  else
 
66
#   define DECLSPEC
 
67
#  endif
 
68
# endif
 
69
#endif
 
70
 
 
71
/* By default SDL uses the C calling convention */
 
72
#ifndef SDLCALL
 
73
#if defined(__WIN32__) && !defined(__GNUC__)
 
74
#define SDLCALL __cdecl
 
75
#else
 
76
#ifdef __OS2__
 
77
/* But on OS/2, we use the _System calling convention */
 
78
/* to be compatible with every compiler */
 
79
#define SDLCALL _System
 
80
#else
 
81
#define SDLCALL
 
82
#endif
 
83
#endif
 
84
#endif /* SDLCALL */
 
85
 
 
86
#ifdef __SYMBIAN32__ 
 
87
#ifndef EKA2 
 
88
#undef DECLSPEC
 
89
#define DECLSPEC
 
90
#elif !defined(__WINS__)
 
91
#undef DECLSPEC
 
92
#define DECLSPEC __declspec(dllexport)
 
93
#endif /* !EKA2 */
 
94
#endif /* __SYMBIAN32__ */
 
95
 
 
96
/* Force structure packing at 4 byte alignment.
 
97
   This is necessary if the header is included in code which has structure
 
98
   packing set to an alternate value, say for loading structures from disk.
 
99
   The packing is reset to the previous value in close_code.h
 
100
 */
 
101
#if defined(_MSC_VER) || defined(__MWERKS__) || defined(__BORLANDC__)
 
102
#ifdef _MSC_VER
 
103
#pragma warning(disable: 4103)
 
104
#endif
 
105
#ifdef __BORLANDC__
 
106
#pragma nopackwarning
 
107
#endif
 
108
#pragma pack(push,4)
 
109
#elif (defined(__MWERKS__) && defined(__MACOS__))
 
110
#pragma options align=mac68k4byte
 
111
#pragma enumsalwaysint on
 
112
#endif /* Compiler needs structure packing set */
 
113
 
 
114
/* Set up compiler-specific options for inlining functions */
 
115
#ifndef SDL_INLINE_OKAY
 
116
#ifdef __GNUC__
 
117
#define SDL_INLINE_OKAY
 
118
#else
 
119
/* Add any special compiler-specific cases here */
 
120
#if defined(_MSC_VER) || defined(__BORLANDC__) || \
 
121
    defined(__DMC__) || defined(__SC__) || \
 
122
    defined(__WATCOMC__) || defined(__LCC__) || \
 
123
    defined(__DECC) || defined(__EABI__)
 
124
#ifndef __inline__
 
125
#define __inline__      __inline
 
126
#endif
 
127
#define SDL_INLINE_OKAY
 
128
#else
 
129
#if !defined(__MRC__) && !defined(_SGI_SOURCE)
 
130
#ifndef __inline__
 
131
#define __inline__ inline
 
132
#endif
 
133
#define SDL_INLINE_OKAY
 
134
#endif /* Not a funky compiler */
 
135
#endif /* Visual C++ */
 
136
#endif /* GNU C */
 
137
#endif /* SDL_INLINE_OKAY */
 
138
 
 
139
/* If inlining isn't supported, remove "__inline__", turning static
 
140
   inlined functions into static functions (resulting in code bloat
 
141
   in all files which include the offending header files)
 
142
*/
 
143
#ifndef SDL_INLINE_OKAY
 
144
#define __inline__
 
145
#endif
 
146
 
 
147
/* Apparently this is needed by several Windows compilers */
 
148
#if !defined(__MACH__)
 
149
#ifndef NULL
 
150
#ifdef __cplusplus
 
151
#define NULL 0
 
152
#else
 
153
#define NULL ((void *)0)
 
154
#endif
 
155
#endif /* NULL */
 
156
#endif /* ! Mac OS X - breaks precompiled headers */