2009-06-07 David Kilzer <ddkilzer@apple.com>
Make JavaScriptCore compile for iPhone and iPhone Simulator
Reviewed by Gavin Barraclough.
* Configurations/Base.xcconfig: Split GCC_ENABLE_OBJC_GC on
$(REAL_PLATFORM_NAME). Added $(ARCHS_UNIVERSAL_IPHONE_OS) to
VALID_ARCHS. Added REAL_PLATFORM_NAME_iphoneos,
REAL_PLATFORM_NAME_iphonesimulator, HAVE_DTRACE_iphoneos and
HAVE_DTRACE_iphonesimulator variables.
* Configurations/DebugRelase.xcconfig: Split ARCHS definition on
$(REAL_PLATFORM_NAME).
* Configurations/JavaScriptCore.xcconfig: Added
EXPORTED_SYMBOLS_FILE_armv6 and EXPORTED_SYMBOLS_FILE_armv7
variables. Split OTHER_LDFLAGS into OTHER_LDFLAGS_BASE and
OTHER_LDFLAGS_$(REAL_PLATFORM_NAME) since CoreServices.framework
is only linked to on Mac OS X.
* JavaScriptCore.xcodeproj/project.pbxproj: Removed references
to CoreServices.framework since it's linked using OTHER_LDFLAGS
in JavaScriptCore.xcconfig.
* profiler/ProfilerServer.mm: Added #import for iPhone
Simulator.
(-[ProfilerServer init]): Conditionalize use of
NSDistributedNotificationCenter to non-iPhone or iPhone
Simulator.
* wtf/FastMalloc.cpp:
(WTF::TCMallocStats::): Build fix for iPhone and iPhone
Simulator.
* wtf/Platform.h: Defined PLATFORM(IPHONE) and
PLATFORM(IPHONE_SIMULATOR).
* wtf/ThreadingPthreads.cpp:
(WTF::setThreadNameInternal): Build fix for iPhone and iPhone
Simulator.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@44504 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/JavaScriptCore/Configurations/Base.xcconfig b/JavaScriptCore/Configurations/Base.xcconfig
index aea38a3..db89a7b 100644
--- a/JavaScriptCore/Configurations/Base.xcconfig
+++ b/JavaScriptCore/Configurations/Base.xcconfig
@@ -28,7 +28,10 @@
GCC_ENABLE_CPP_EXCEPTIONS = NO;
GCC_ENABLE_CPP_RTTI = NO;
GCC_ENABLE_OBJC_EXCEPTIONS = YES;
-GCC_ENABLE_OBJC_GC = supported;
+GCC_ENABLE_OBJC_GC = $(GCC_ENABLE_OBJC_GC_$(REAL_PLATFORM_NAME));
+GCC_ENABLE_OBJC_GC_iphoneos = NO;
+GCC_ENABLE_OBJC_GC_iphonesimulator = NO;
+GCC_ENABLE_OBJC_GC_macosx = supported;
GCC_ENABLE_SYMBOL_SEPARATION = NO;
GCC_FAST_OBJC_DISPATCH = YES;
GCC_GENERATE_DEBUGGING_SYMBOLS = YES;
@@ -46,7 +49,7 @@
GCC_WARN_NON_VIRTUAL_DESTRUCTOR = YES;
LINKER_DISPLAYS_MANGLED_NAMES = YES;
PREBINDING = NO;
-VALID_ARCHS = i386 ppc x86_64 ppc64;
+VALID_ARCHS = i386 ppc x86_64 ppc64 $(ARCHS_UNIVERSAL_IPHONE_OS);
WARNING_CFLAGS = $(WARNING_CFLAGS_$(CURRENT_ARCH));
WARNING_CFLAGS_BASE = -Wall -Wextra -Wcast-align -Wcast-qual -Wchar-subscripts -Wextra-tokens -Wformat=2 -Winit-self -Wmissing-format-attribute -Wmissing-noreturn -Wpacked -Wpointer-arith -Wredundant-decls -Wundef -Wwrite-strings;
WARNING_CFLAGS_ = $(WARNING_CFLAGS_BASE) -Wshorten-64-to-32;
@@ -60,6 +63,8 @@
REAL_PLATFORM_NAME = $(REAL_PLATFORM_NAME_$(PLATFORM_NAME));
REAL_PLATFORM_NAME_ = $(REAL_PLATFORM_NAME_macosx);
+REAL_PLATFORM_NAME_iphoneos = iphoneos;
+REAL_PLATFORM_NAME_iphonesimulator = iphonesimulator;
REAL_PLATFORM_NAME_macosx = macosx;
@@ -94,6 +99,8 @@
// HAVE_DTRACE is disabled on Leopard due to <rdar://problem/5628149>
HAVE_DTRACE = $(HAVE_DTRACE_$(REAL_PLATFORM_NAME));
+HAVE_DTRACE_iphoneos = 1;
+HAVE_DTRACE_iphonesimulator = 0;
HAVE_DTRACE_macosx = $(HAVE_DTRACE_macosx_$(MAC_OS_X_VERSION_MAJOR));
HAVE_DTRACE_macosx_ = $(HAVE_DTRACE_macosx_1040);
HAVE_DTRACE_macosx_1040 = 0;