Files @ r21584:561d516cfa45
Branch filter:

Location: cpp/openttd-patchpack/source/src/os/macosx/osx_stdafx.h - annotation

rubidium
(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
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 */