Files
@ r21584:561d516cfa45
Branch filter:
Location: cpp/openttd-patchpack/source/src/os/macosx/osx_stdafx.h - annotation
r21584:561d516cfa45
3.3 KiB
text/x-c
(svn r26708) -Codechange: replace C preprocessor with all kinds of options to prevent adding certain things to the result and the sed script to remove everything that shouldn't be in the resulting nfo file but came out of the C preprocessor by a small-ish awk program. This means no more breaking if a C preprocessor decides to add more data to the processed file (like GCC's inclusion of stdc-predef.h when not passing -nostdinc). It furthermore more than halfs the time needed for the assemble step of the extra GRF compilation
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 | r5475:3f5cd13d1b63 r5475:3f5cd13d1b63 r12768:980ae0491352 r12768:980ae0491352 r12768:980ae0491352 r12768:980ae0491352 r12768:980ae0491352 r12768:980ae0491352 r12768:980ae0491352 r9111:983de9c5a848 r9111:983de9c5a848 r5475:3f5cd13d1b63 r5475:3f5cd13d1b63 r5475:3f5cd13d1b63 r20605:fab457c4027e r20605:fab457c4027e r20605:fab457c4027e r20605:fab457c4027e r20605:fab457c4027e r20605:fab457c4027e r20605:fab457c4027e r20605:fab457c4027e r20605:fab457c4027e r20605:fab457c4027e r20605:fab457c4027e r20605:fab457c4027e r20605:fab457c4027e r20605:fab457c4027e r20605:fab457c4027e r20605:fab457c4027e r20605:fab457c4027e r20605:fab457c4027e r20605:fab457c4027e r20605:fab457c4027e r20605:fab457c4027e r20605:fab457c4027e r20605:fab457c4027e r20605:fab457c4027e r20605:fab457c4027e r20605:fab457c4027e r20605:fab457c4027e r20605:fab457c4027e r20605:fab457c4027e r20605:fab457c4027e r20605:fab457c4027e r12387:de3949de7769 r12387:de3949de7769 r12387:de3949de7769 r11541:aaf650313134 r11541:aaf650313134 r11541:aaf650313134 r11782:7b1b84af086c r11541:aaf650313134 r13189:ab2ccc525850 r13189:ab2ccc525850 r20869:92aca6db67f4 r13189:ab2ccc525850 r13189:ab2ccc525850 r13189:ab2ccc525850 r11526:ee46e584d4c5 r11526:ee46e584d4c5 r11526:ee46e584d4c5 r11526:ee46e584d4c5 r11526:ee46e584d4c5 r11526:ee46e584d4c5 r17417:6d2ef4fd9984 r11526:ee46e584d4c5 r11526:ee46e584d4c5 r11526:ee46e584d4c5 r12386:d4d6ee913899 r12386:d4d6ee913899 r12386:d4d6ee913899 r12386:d4d6ee913899 r12386:d4d6ee913899 r12386:d4d6ee913899 r18589:8ea5c6919bb5 r18589:8ea5c6919bb5 r20459:def33b094293 r12386:d4d6ee913899 r5475:3f5cd13d1b63 r18589:8ea5c6919bb5 r11526:ee46e584d4c5 r12386:d4d6ee913899 r12386:d4d6ee913899 r12386:d4d6ee913899 r18502:8d90141a718c r18589:8ea5c6919bb5 r20459:def33b094293 r12386:d4d6ee913899 r11363:6906c490a00e r5475:3f5cd13d1b63 r5475:3f5cd13d1b63 r5475:3f5cd13d1b63 r5475:3f5cd13d1b63 r5475:3f5cd13d1b63 r12386:d4d6ee913899 r5475:3f5cd13d1b63 r5475:3f5cd13d1b63 r5475:3f5cd13d1b63 r11526:ee46e584d4c5 r11526:ee46e584d4c5 r11526:ee46e584d4c5 r11526:ee46e584d4c5 r11526:ee46e584d4c5 r11526:ee46e584d4c5 r11526:ee46e584d4c5 r11526:ee46e584d4c5 r11526:ee46e584d4c5 r11526:ee46e584d4c5 r11526:ee46e584d4c5 r20628:966de2c14d27 r20628:966de2c14d27 r20628:966de2c14d27 r20628:966de2c14d27 r20628:966de2c14d27 r20628:966de2c14d27 r20628:966de2c14d27 r20628:966de2c14d27 r20465:2e3ff3291a72 r20465:2e3ff3291a72 r20465:2e3ff3291a72 r20465:2e3ff3291a72 r20465:2e3ff3291a72 r5475:3f5cd13d1b63 | /* $Id$ */
/*
* This file is part of OpenTTD.
* OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
* OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
*/
/** @file osx_stdafx.h OSX is different on some places. */
#ifndef MACOS_STDAFX_H
#define MACOS_STDAFX_H
/* It would seem that to ensure backward compability we have to ensure that we have defined MAC_OS_X_VERSION_10_x everywhere */
#ifndef MAC_OS_X_VERSION_10_3
#define MAC_OS_X_VERSION_10_3 1030
#endif
#ifndef MAC_OS_X_VERSION_10_4
#define MAC_OS_X_VERSION_10_4 1040
#endif
#ifndef MAC_OS_X_VERSION_10_5
#define MAC_OS_X_VERSION_10_5 1050
#endif
#ifndef MAC_OS_X_VERSION_10_6
#define MAC_OS_X_VERSION_10_6 1060
#endif
#ifndef MAC_OS_X_VERSION_10_7
#define MAC_OS_X_VERSION_10_7 1070
#endif
#ifndef MAC_OS_X_VERSION_10_8
#define MAC_OS_X_VERSION_10_8 1080
#endif
#ifndef MAC_OS_X_VERSION_10_9
#define MAC_OS_X_VERSION_10_9 1090
#endif
#define __STDC_LIMIT_MACROS
#include <stdint.h>
/* We need to include this first as that "depends" on the compiler's setting
* of __LP64__. So before we define __LP64__ so it can be used. */
#include <sys/cdefs.h>
#include <unistd.h>
/* Some gcc versions include assert.h via this header. As this would interfere
* with our own assert redefinition, include this header first. */
#if !defined(__clang__) && defined(__GNUC__) && (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 3))
# include <debug/debug.h>
#endif
/* __LP64__ only exists in 10.5 and higher */
#if defined(__APPLE__) && !defined(__LP64__)
# define __LP64__ 0
#endif
/* Check for mismatching 'architectures' */
#if !defined(STRGEN) && !defined(SETTINGSGEN) && ((__LP64__ && !defined(_SQ64)) || (!__LP64__ && defined(_SQ64)))
# error "Compiling 64 bits without _SQ64 set! (or vice versa)"
#endif
#include <AvailabilityMacros.h>
/* Name conflict */
#define Rect OTTDRect
#define Point OTTDPoint
#define WindowClass OTTDWindowClass
#define ScriptOrder OTTDScriptOrder
#define Palette OTTDPalette
#define GlyphID OTTDGlyphID
#include <CoreServices/CoreServices.h>
#include <ApplicationServices/ApplicationServices.h>
#undef Rect
#undef Point
#undef WindowClass
#undef ScriptOrder
#undef Palette
#undef GlyphID
/* remove the variables that CoreServices defines, but we define ourselves too */
#undef bool
#undef false
#undef true
/* Name conflict */
#define GetTime OTTD_GetTime
#define SL_ERROR OSX_SL_ERROR
/* NSInteger and NSUInteger are part of 10.5 and higher. */
#ifndef NSInteger
#if __LP64__
typedef long NSInteger;
typedef unsigned long NSUInteger;
#else
typedef int NSInteger;
typedef unsigned int NSUInteger;
#endif /* __LP64__ */
#endif /* NSInteger */
#ifndef CGFLOAT_DEFINED
#if __LP64__
typedef double CGFloat;
#else
typedef float CGFloat;
#endif /* __LP64__ */
#endif /* CGFLOAT_DEFINED */
/* OS X SDK versions >= 10.5 have a non-const iconv. */
#if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_5
# define HAVE_NON_CONST_ICONV
#endif
#endif /* MACOS_STDAFX_H */
|