From c17486a0ef12745576ad985d2685b7ea66b0a011 Mon Sep 17 00:00:00 2001 From: TwistedUmbrella Date: Thu, 20 Aug 2015 17:12:15 -0400 Subject: [PATCH 1/2] Workaround for missing fp.h header in Xcode --- core/deps/libpng/fp.h | 62 ++++++++++++++++++++++++++++++++++++++ core/deps/libpng/pngpriv.h | 6 +++- 2 files changed, 67 insertions(+), 1 deletion(-) create mode 100644 core/deps/libpng/fp.h diff --git a/core/deps/libpng/fp.h b/core/deps/libpng/fp.h new file mode 100644 index 000000000..29241c448 --- /dev/null +++ b/core/deps/libpng/fp.h @@ -0,0 +1,62 @@ +/* +* Copyright (c) 1999 Apple Computer, Inc. All rights reserved. +* +* @APPLE_LICENSE_HEADER_START@ +* +* The contents of this file constitute Original Code as defined in and +* are subject to the Apple Public Source License Version 1.1 (the +* "License"). You may not use this file except in compliance with the +* License. Please obtain a copy of the License at +* http://www.apple.com/publicsource and read it before using this file. +* +* This Original Code and all software distributed under the License are +* distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER +* EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, +* INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, +* FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT. Please see the +* License for the specific language governing rights and limitations +* under the License. +* +* @APPLE_LICENSE_HEADER_END@ +*/ +/* Copyright (c) 1992, NeXT Computer, Inc. All rights reserved. +* +* File: libc/m98k/gen/fp.h +* Author: Derek B Clegg, NeXT Computer, Inc. +* +* HISTORY +* 11-Nov-92 Derek B Clegg (dclegg@next.com) +* Created. +* +* Common definitions for floating-point numbers. +*/ + +/* The following definitions for for double precision IEEE format numbers. */ + +#define EXPONENT_BIAS 1023 + +#define SIGN_BITS 1 +#define EXPONENT_BITS 11 +#define FRACTION_BITS 52 +#define HI_FRACTION_BITS 20 +#define LO_FRACTION_BITS 32 + +struct double_format { +unsigned sign: SIGN_BITS; +unsigned exponent: EXPONENT_BITS; +unsigned hi_fraction: HI_FRACTION_BITS; +unsigned lo_fraction: LO_FRACTION_BITS; +}; + +union dbl { +struct double_format s; +unsigned int u[2]; +double value; +}; + +#define PlusInfinity (1.0/0.0) +#define MinusInfinity (-1.0/0.0) + +#define not_a_number(x) ((x) != (x)) +#define positive_infinity(x) ((x) == PlusInfinity) +#define negative_infinity(x) ((x) == MinusInfinity) diff --git a/core/deps/libpng/pngpriv.h b/core/deps/libpng/pngpriv.h index 10d85f779..92860c6ea 100644 --- a/core/deps/libpng/pngpriv.h +++ b/core/deps/libpng/pngpriv.h @@ -48,7 +48,11 @@ * if possible. */ # if !defined(__MATH_H__) && !defined(__MATH_H) && !defined(__cmath__) -# include +# if TARGET_OS_IPHONE +# include "fp.h" +# else +# include +# endif # endif # else # include From e138cca4b99a79513a844da9c56fc52a82edf1d2 Mon Sep 17 00:00:00 2001 From: TwistedUmbrella Date: Thu, 20 Aug 2015 17:21:11 -0400 Subject: [PATCH 2/2] Remove internal conditionals to use defined flag --- core/deps/libpng/pngpriv.h | 2 +- core/linux/common.cpp | 4 ++-- shell/apple/emulator-ios/emulator/reicast-ios-Prefix.pch | 1 - 3 files changed, 3 insertions(+), 4 deletions(-) diff --git a/core/deps/libpng/pngpriv.h b/core/deps/libpng/pngpriv.h index 92860c6ea..8d772a583 100644 --- a/core/deps/libpng/pngpriv.h +++ b/core/deps/libpng/pngpriv.h @@ -48,7 +48,7 @@ * if possible. */ # if !defined(__MATH_H__) && !defined(__MATH_H) && !defined(__cmath__) -# if TARGET_OS_IPHONE +# if TARGET_IPHONE # include "fp.h" # else # include diff --git a/core/linux/common.cpp b/core/linux/common.cpp index 5e9deed0b..f956d93a8 100644 --- a/core/linux/common.cpp +++ b/core/linux/common.cpp @@ -18,7 +18,7 @@ #include #include #include -#if !defined(_ANDROID) && !defined(TARGET_OS_IPHONE) && !defined(TARGET_NACL32) && !defined(TARGET_EMSCRIPTEN) && !defined(TARGET_OSX) +#if !defined(_ANDROID) && !defined(TARGET_IPHONE) && !defined(TARGET_NACL32) && !defined(TARGET_EMSCRIPTEN) && !defined(TARGET_OSX) #include #include #endif @@ -263,7 +263,7 @@ double os_GetSeconds() return a.tv_sec-tvs_base+a.tv_usec/1000000.0; } -#if TARGET_OS_IPHONE +#if TARGET_IPHONE void os_DebugBreak() { __asm__("trap"); } diff --git a/shell/apple/emulator-ios/emulator/reicast-ios-Prefix.pch b/shell/apple/emulator-ios/emulator/reicast-ios-Prefix.pch index 137635b8b..a4e2a70a8 100644 --- a/shell/apple/emulator-ios/emulator/reicast-ios-Prefix.pch +++ b/shell/apple/emulator-ios/emulator/reicast-ios-Prefix.pch @@ -9,7 +9,6 @@ #define reicast_ios_reicast_ios_Prefix_pch #import -#import #ifndef __IPHONE_5_0 #warning "This project uses features only available in iOS SDK 5.0 and later."