2 // Copyright (c) 2010-2013 Apple Inc. All rights reserved.
4 // @APPLE_APACHE_LICENSE_HEADER_START@
6 // Licensed under the Apache License, Version 2.0 (the "License");
7 // you may not use this file except in compliance with the License.
8 // You may obtain a copy of the License at
10 // http://www.apache.org/licenses/LICENSE-2.0
12 // Unless required by applicable law or agreed to in writing, software
13 // distributed under the License is distributed on an "AS IS" BASIS,
14 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 // See the License for the specific language governing permissions and
16 // limitations under the License.
18 // @APPLE_APACHE_LICENSE_HEADER_END@
21 #include "<DEVELOPER_DIR>/Makefiles/CoreOS/Xcode/BSD.xcconfig"
22 #include "<DEVELOPER_DIR>/AppleInternal/XcodeConfig/SimulatorSupport.xcconfig"
24 // Set INSTALL_PATH[sdk=macosx*] when SimulatorSupport.xcconfig is unavailable
25 INSTALL_PATH[sdk=macosx*] = $(INSTALL_PATH_ACTUAL)
27 SUPPORTED_PLATFORMS = macosx iphoneos iphonesimulator iphoneosnano iphonesimulatornano
28 ARCHS[sdk=iphonesimulator*] = $(NATIVE_ARCH_32_BIT) // Override BSD.xcconfig ARCHS <rdar://problem/9303721>
29 PRODUCT_NAME = libdispatch
31 INSTALL_PATH_ACTUAL = /usr/lib/system
32 PUBLIC_HEADERS_FOLDER_PATH = $(INSTALL_PATH_PREFIX)/usr/include/dispatch
33 PRIVATE_HEADERS_FOLDER_PATH = $(INSTALL_PATH_PREFIX)/usr/local/include/dispatch
34 OS_PUBLIC_HEADERS_FOLDER_PATH = $(INSTALL_PATH_PREFIX)/usr/include/os
35 OS_PRIVATE_HEADERS_FOLDER_PATH = $(INSTALL_PATH_PREFIX)/usr/local/include/os
36 HEADER_SEARCH_PATHS = $(PROJECT_DIR) $(PROJECT_DIR)/private $(PROJECT_DIR)/os
37 LIBRARY_SEARCH_PATHS = $(SDKROOT)/usr/lib/system
38 INSTALLHDRS_SCRIPT_PHASE = YES
39 ALWAYS_SEARCH_USER_PATHS = NO
41 BUILD_VARIANTS = normal debug profile
43 CLANG_LINK_OBJC_RUNTIME = NO
44 GCC_C_LANGUAGE_STANDARD = gnu11
45 GCC_STRICT_ALIASING = YES
46 GCC_SYMBOLS_PRIVATE_EXTERN = YES
47 GCC_ENABLE_OBJC_GC[sdk=macosx*] = supported
48 GCC_ENABLE_PASCAL_STRINGS = NO
50 GCC_WARN_64_TO_32_BIT_CONVERSION = YES
51 GCC_WARN_ABOUT_RETURN_TYPE = YES
52 GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES
53 GCC_WARN_ABOUT_MISSING_NEWLINE = YES
54 GCC_WARN_UNUSED_VARIABLE = YES
55 GCC_WARN_INITIALIZER_NOT_FULLY_BRACKETED = YES
56 GCC_WARN_ABOUT_MISSING_FIELD_INITIALIZERS = YES
57 GCC_WARN_SIGN_COMPARE = YES
58 GCC_WARN_UNINITIALIZED_AUTOS = YES
59 CLANG_WARN_EMPTY_BODY = YES
60 CLANG_WARN_IMPLICIT_SIGN_CONVERSION = YES
61 CLANG_WARN_SUSPICIOUS_IMPLICIT_CONVERSION = YES
62 CLANG_WARN_DOCUMENTATION_COMMENTS = YES
63 GCC_TREAT_WARNINGS_AS_ERRORS = YES
64 GCC_OPTIMIZATION_LEVEL = s
65 GCC_PREPROCESSOR_DEFINITIONS = __DARWIN_NON_CANCELABLE=1
66 WARNING_CFLAGS = -Wall -Wextra -Waggregate-return -Wfloat-equal -Wpacked -Wmissing-declarations -Wstrict-overflow=4 -Wstrict-aliasing=2 -Wno-unknown-warning-option
67 OTHER_CFLAGS = -fverbose-asm -isystem $(SDKROOT)/System/Library/Frameworks/System.framework/PrivateHeaders
68 OTHER_CFLAGS[arch=i386][sdk=macosx*] = $(OTHER_CFLAGS) -fno-unwind-tables -fno-asynchronous-unwind-tables -fno-exceptions
69 OTHER_CFLAGS_normal = -momit-leaf-frame-pointer
70 OTHER_CFLAGS_profile = $(OTHER_CFLAGS_normal) -DDISPATCH_PROFILE=1
71 OTHER_CFLAGS_debug = -fstack-protector -fno-inline -O0 -DDISPATCH_DEBUG=1
72 GENERATE_PROFILING_CODE = NO
73 DYLIB_CURRENT_VERSION = $(CURRENT_PROJECT_VERSION)
74 UMBRELLA_LDFLAGS = -umbrella System -nodefaultlibs -ldyld -lcompiler_rt -lsystem_kernel -lsystem_platform -lsystem_pthread -lsystem_malloc -lsystem_c -lsystem_blocks -lunwind
75 UMBRELLA_LDFLAGS[sdk=iphonesimulator*] = -umbrella System -nodefaultlibs -ldyld_sim -lcompiler_rt_sim -lsystem_sim_c -lsystem_sim_blocks -lunwind_sim -Wl,-upward-lSystem
76 OBJC_LDFLAGS = -Wl,-upward-lobjc -Wl,-order_file,$(SRCROOT)/xcodeconfig/libdispatch.order -Wl,-alias_list,$(SRCROOT)/xcodeconfig/libdispatch_objc.aliases -Wl,-unexported_symbols_list,$(SRCROOT)/xcodeconfig/libdispatch.unexport
77 OBJC_LDFLAGS[sdk=macosx*] = $(OBJC_LDFLAGS) -Wl,-upward-lauto
78 OBJC_LDFLAGS[arch=i386][sdk=macosx*] =
79 OBJC_EXCLUDED_SOURCE_FILE_NAMES_i386_macosx = object.m data.m
80 ALIASES_LDFLAGS = -Wl,-alias_list,$(SRCROOT)/xcodeconfig/libdispatch.aliases
81 PLATFORM_LDFLAGS[sdk=macosx*] = -Wl,-alias_list,$(SRCROOT)/xcodeconfig/libdispatch_macosx.aliases
82 OTHER_LDFLAGS = $(OTHER_LDFLAGS) $(UMBRELLA_LDFLAGS) $(CR_LDFLAGS) $(OBJC_LDFLAGS) $(ALIASES_LDFLAGS) $(PLATFORM_LDFLAGS)
83 OTHER_MIGFLAGS = -novouchers