blob: 2de8597d7326fb846208ee55589b25aca23a94c8 [file] [log] [blame]
darin@apple.com27b6fb72011-01-14 02:52:53 +00001// Copyright (C) 2009, 2010, 2011 Apple Inc. All rights reserved.
weinig@apple.com60621c92009-04-20 18:06:07 +00002//
3// Redistribution and use in source and binary forms, with or without
4// modification, are permitted provided that the following conditions
5// are met:
6// 1. Redistributions of source code must retain the above copyright
7// notice, this list of conditions and the following disclaimer.
8// 2. Redistributions in binary form must reproduce the above copyright
9// notice, this list of conditions and the following disclaimer in the
10// documentation and/or other materials provided with the distribution.
11//
12// THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
13// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
14// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
15// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR
16// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
17// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
18// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
19// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
20// OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
21// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
22// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
23
andersca@apple.com3c8717b2012-10-30 18:07:13 +000024CLANG_CXX_LANGUAGE_STANDARD = gnu++0x;
mrowe@apple.comfb7aaa432012-10-29 23:36:03 +000025CLANG_CXX_LIBRARY = libc++;
weinig@apple.comdcee6e72011-11-06 20:38:55 +000026CLANG_WARN_CXX0X_EXTENSIONS = NO;
mrowe@apple.combd8d1b62012-04-27 22:14:49 +000027DEBUG_INFORMATION_FORMAT = dwarf-with-dsym;
thatcher04880a02007-03-15 23:50:15 +000028GCC_C_LANGUAGE_STANDARD = gnu99;
bdashf2871cb2007-10-05 03:52:22 +000029GCC_DEBUGGING_SYMBOLS = default;
thatcher04880a02007-03-15 23:50:15 +000030GCC_DYNAMIC_NO_PIC = NO;
andersca@apple.com1101a0a2011-09-13 22:28:53 +000031GCC_ENABLE_CPP_EXCEPTIONS = NO;
thatcher04880a02007-03-15 23:50:15 +000032GCC_ENABLE_CPP_RTTI = NO;
33GCC_ENABLE_OBJC_EXCEPTIONS = YES;
mitz@apple.comba174332012-10-27 16:14:53 +000034GCC_ENABLE_OBJC_GC = $(GCC_ENABLE_OBJC_GC_$(PLATFORM_NAME));
barraclough@apple.com6f7080e2009-06-08 20:47:43 +000035GCC_ENABLE_OBJC_GC_iphoneos = NO;
36GCC_ENABLE_OBJC_GC_iphonesimulator = NO;
37GCC_ENABLE_OBJC_GC_macosx = supported;
thatcherb2fdc302007-03-16 00:55:40 +000038GCC_ENABLE_SYMBOL_SEPARATION = NO;
thatcher04880a02007-03-15 23:50:15 +000039GCC_FAST_OBJC_DISPATCH = YES;
mrowe@apple.comcd2a0a12009-06-03 02:01:27 +000040GCC_GENERATE_DEBUGGING_SYMBOLS = YES;
mrowe@apple.com89da94242008-07-10 05:32:17 +000041GCC_INLINES_ARE_PRIVATE_EXTERN = YES;
mitz@apple.comba174332012-10-27 16:14:53 +000042GCC_MODEL_TUNING = $(GCC_MODEL_TUNING_$(PLATFORM_NAME));
aestes@apple.com05f4fdd2010-07-31 00:28:37 +000043GCC_MODEL_TUNING_macosx = G5;
mrowe@apple.com08809b92009-01-26 04:14:36 +000044GCC_OBJC_CALL_CXX_CDTORS = YES;
mrowe@apple.com1b5425f2010-02-16 23:02:29 +000045GCC_PRECOMPILE_PREFIX_HEADER = YES;
darin@apple.com27b6fb72011-01-14 02:52:53 +000046GCC_PREPROCESSOR_DEFINITIONS = $(DEBUG_DEFINES) HAVE_DTRACE=$(HAVE_DTRACE) WEBKIT_VERSION_MIN_REQUIRED=WEBKIT_VERSION_LATEST HAVE_HEADER_DETECTION_H $(GCC_PREPROCESSOR_DEFINITIONS);
mrowe@apple.com89da94242008-07-10 05:32:17 +000047GCC_STRICT_ALIASING = YES;
thatcher04880a02007-03-15 23:50:15 +000048GCC_THREADSAFE_STATICS = NO;
49GCC_TREAT_WARNINGS_AS_ERRORS = YES;
mrowe@apple.com5b132012012-10-29 23:35:56 +000050GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
mrowe@apple.com89da94242008-07-10 05:32:17 +000051GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = NO;
thatcher04880a02007-03-15 23:50:15 +000052GCC_WARN_ABOUT_MISSING_NEWLINE = YES;
andersca@apple.combd1a9512009-01-23 20:37:44 +000053GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES;
thatcher04880a02007-03-15 23:50:15 +000054GCC_WARN_NON_VIRTUAL_DESTRUCTOR = YES;
andersca@apple.come73df4c2012-07-11 19:41:03 +000055GCC_WARN_SIGN_COMPARE = YES;
thatcher04880a02007-03-15 23:50:15 +000056LINKER_DISPLAYS_MANGLED_NAMES = YES;
thatcher9b31b4f2007-03-16 00:07:06 +000057PREBINDING = NO;
mitz@apple.comba174332012-10-27 16:14:53 +000058VALID_ARCHS = $(VALID_ARCHS_$(PLATFORM_NAME));
aestes@apple.com05f4fdd2010-07-31 00:28:37 +000059VALID_ARCHS_iphoneos = $(ARCHS_STANDARD_32_BIT);
60VALID_ARCHS_iphonesimulator = $(ARCHS_STANDARD_32_BIT);
61VALID_ARCHS_macosx = i386 ppc x86_64 ppc64 $(ARCHS_UNIVERSAL_IPHONE_OS);
mrowe@apple.com5b132012012-10-29 23:35:56 +000062WARNING_CFLAGS_BASE = -Wall -Wextra -Wcast-qual -Wchar-subscripts -Wextra-tokens -Wformat=2 -Winit-self -Wmissing-format-attribute -Wmissing-noreturn -Wpacked -Wpointer-arith -Wredundant-decls -Wundef -Wwrite-strings -Wexit-time-destructors -Wglobal-constructors -Wtautological-compare;
63WARNING_CFLAGS = $(WARNING_CFLAGS_$(PLATFORM_NAME));
aestes@apple.com05f4fdd2010-07-31 00:28:37 +000064WARNING_CFLAGS_iphoneos = $(WARNING_CFLAGS_BASE) -Wshorten-64-to-32;
andersca@apple.com4cd52712010-09-07 22:35:25 +000065WARNING_CFLAGS_iphonesimulator = $(WARNING_CFLAGS_BASE) -Wshorten-64-to-32;
aestes@apple.com05f4fdd2010-07-31 00:28:37 +000066WARNING_CFLAGS_macosx = $(WARNING_CFLAGS_macosx_$(CURRENT_ARCH));
andersca@apple.com4cd52712010-09-07 22:35:25 +000067WARNING_CFLAGS_macosx_ = $(WARNING_CFLAGS_BASE) -Wshorten-64-to-32;
68WARNING_CFLAGS_macosx_i386 = $(WARNING_CFLAGS_BASE) -Wshorten-64-to-32;
69WARNING_CFLAGS_macosx_ppc = $(WARNING_CFLAGS_BASE) -Wshorten-64-to-32;
weinig752cf4d2007-07-17 02:01:37 +000070// FIXME: JavaScriptCore 64-bit builds should build with -Wshorten-64-to-32
andersca@apple.com4cd52712010-09-07 22:35:25 +000071WARNING_CFLAGS_macosx_x86_64 = $(WARNING_CFLAGS_BASE);
eric@webkit.org3979f2d2012-03-07 08:50:54 +000072HEADER_SEARCH_PATHS = . icu "${BUILT_PRODUCTS_DIR}/usr/local/include" $(HEADER_SEARCH_PATHS);
bdash91ce8742007-10-11 15:16:58 +000073
mrowe@apple.come04aa112010-03-12 00:44:29 +000074TARGET_MAC_OS_X_VERSION_MAJOR = $(MAC_OS_X_VERSION_MAJOR);
75
mrowe@apple.com78582852012-03-08 20:43:24 +000076FRAMEWORK_SEARCH_PATHS = $(STAGED_FRAMEWORKS_SEARCH_PATH);
77
78STAGED_FRAMEWORKS_SEARCH_PATH = $(STAGED_FRAMEWORKS_SEARCH_PATH_$(USE_STAGING_INSTALL_PATH));
79STAGED_FRAMEWORKS_SEARCH_PATH_YES = $(NEXT_ROOT)$(SYSTEM_LIBRARY_DIR)/StagedFrameworks/Safari;
80
mitz@apple.comba174332012-10-27 16:14:53 +000081NORMAL_JAVASCRIPTCORE_FRAMEWORKS_DIR = $(NORMAL_JAVASCRIPTCORE_FRAMEWORKS_DIR_$(PLATFORM_NAME));
mrowe@apple.come2036bb2012-01-26 00:34:15 +000082NORMAL_JAVASCRIPTCORE_FRAMEWORKS_DIR_iphoneos = $(SYSTEM_LIBRARY_DIR)/PrivateFrameworks;
83NORMAL_JAVASCRIPTCORE_FRAMEWORKS_DIR_iphonesimulator = $(NORMAL_JAVASCRIPTCORE_FRAMEWORKS_DIR_iphoneos);
84NORMAL_JAVASCRIPTCORE_FRAMEWORKS_DIR_macosx = $(SYSTEM_LIBRARY_DIR)/Frameworks;
ddkilzer@apple.combaacadd2009-03-04 06:49:29 +000085
mitz@apple.comba174332012-10-27 16:14:53 +000086JAVASCRIPTCORE_FRAMEWORKS_DIR = $(JAVASCRIPTCORE_FRAMEWORKS_DIR_$(PLATFORM_NAME));
mrowe@apple.come2036bb2012-01-26 00:34:15 +000087JAVASCRIPTCORE_FRAMEWORKS_DIR_iphoneos = $(NORMAL_JAVASCRIPTCORE_FRAMEWORKS_DIR_iphoneos);
ddkilzer@apple.com442e0472011-02-19 21:15:23 +000088JAVASCRIPTCORE_FRAMEWORKS_DIR_iphonesimulator = $(JAVASCRIPTCORE_FRAMEWORKS_DIR_iphoneos);
ddkilzer@apple.com442e0472011-02-19 21:15:23 +000089
mrowe@apple.come2036bb2012-01-26 00:34:15 +000090JAVASCRIPTCORE_FRAMEWORKS_DIR_macosx = $(JAVASCRIPTCORE_FRAMEWORKS_DIR_macosx_USE_STAGING_INSTALL_PATH_$(USE_STAGING_INSTALL_PATH));
91JAVASCRIPTCORE_FRAMEWORKS_DIR_macosx_USE_STAGING_INSTALL_PATH_ = $(JAVASCRIPTCORE_FRAMEWORKS_DIR_macosx_USE_STAGING_INSTALL_PATH_NO);
92JAVASCRIPTCORE_FRAMEWORKS_DIR_macosx_USE_STAGING_INSTALL_PATH_NO = $(NORMAL_JAVASCRIPTCORE_FRAMEWORKS_DIR);
93JAVASCRIPTCORE_FRAMEWORKS_DIR_macosx_USE_STAGING_INSTALL_PATH_YES = $(SYSTEM_LIBRARY_DIR)/StagedFrameworks/Safari;
ddkilzer@apple.com442e0472011-02-19 21:15:23 +000094
mitz@apple.comd0575772008-08-17 05:06:18 +000095// DEBUG_DEFINES, GCC_OPTIMIZATION_LEVEL, STRIP_INSTALLED_PRODUCT and DEAD_CODE_STRIPPING vary between the debug and normal variants.
mrowe@apple.com13570292008-08-16 06:48:10 +000096// We set up the values for each variant here, and have the Debug configuration in the Xcode project use the _debug variant.
97DEBUG_DEFINES_debug = ;
98DEBUG_DEFINES_normal = NDEBUG;
99DEBUG_DEFINES = $(DEBUG_DEFINES_$(CURRENT_VARIANT));
100
101GCC_OPTIMIZATION_LEVEL = $(GCC_OPTIMIZATION_LEVEL_$(CURRENT_VARIANT));
102GCC_OPTIMIZATION_LEVEL_normal = 3;
103GCC_OPTIMIZATION_LEVEL_debug = 0;
104
105STRIP_INSTALLED_PRODUCT = $(STRIP_INSTALLED_PRODUCT_$(CURRENT_VARIANT));
106STRIP_INSTALLED_PRODUCT_normal = YES;
107STRIP_INSTALLED_PRODUCT_debug = NO;
108
mitz@apple.comd0575772008-08-17 05:06:18 +0000109DEAD_CODE_STRIPPING_debug = NO;
110DEAD_CODE_STRIPPING_normal = YES;
111DEAD_CODE_STRIPPING = $(DEAD_CODE_STRIPPING_$(CURRENT_VARIANT));
112
slewis@apple.com99d842d2011-05-27 22:57:53 +0000113SECTORDER_FLAGS = -Wl,-order_file,JavaScriptCore.order;
mrowe@apple.com13570292008-08-16 06:48:10 +0000114
mrowe@apple.comc8887bf2012-07-12 02:01:25 +0000115TARGETING_SAME_OS_X_VERSION = $(TARGETING_SAME_OS_X_VERSION_$(MAC_OS_X_VERSION_MAJOR)_$(TARGET_MAC_OS_X_VERSION_MAJOR));
mrowe@apple.comc8887bf2012-07-12 02:01:25 +0000116TARGETING_SAME_OS_X_VERSION_1070_1070 = YES;
117TARGETING_SAME_OS_X_VERSION_1080_1080 = YES;
118TARGETING_SAME_OS_X_VERSION_1090_1090 = YES;
119
120// Don't build against an SDK unless we're targeting an older OS version.
121SDKROOT = $(SDKROOT_TARGETING_SAME_OS_X_VERSION_$(TARGETING_SAME_OS_X_VERSION));
122SDKROOT_TARGETING_SAME_OS_X_VERSION_ = macosx;
mrowe@apple.comf2b94fa2010-03-12 01:53:05 +0000123
mrowe@apple.comfb7aaa432012-10-29 23:36:03 +0000124HAVE_DTRACE = 1;