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/PlatformSupport.xcconfig"
24 SDKROOT = macosx.internal
25 SUPPORTED_PLATFORMS = macosx iphoneos iphonesimulator appletvos appletvsimulator watchos watchsimulator
26 PRODUCT_NAME = libdispatch
28 INSTALL_PATH = /usr/lib/system
29 PUBLIC_HEADERS_FOLDER_PATH = /usr/include/dispatch
30 PRIVATE_HEADERS_FOLDER_PATH = /usr/local/include/dispatch
31 OS_PUBLIC_HEADERS_FOLDER_PATH = /usr/include/os
32 OS_PRIVATE_HEADERS_FOLDER_PATH = /usr/local/include/os
33 HEADER_SEARCH_PATHS = $(PROJECT_DIR) $(PROJECT_DIR)/private $(PROJECT_DIR)/os
34 LIBRARY_SEARCH_PATHS = $(SDKROOT)/usr/lib/system
35 INSTALLHDRS_SCRIPT_PHASE = YES
36 ALWAYS_SEARCH_USER_PATHS = NO
38 BUILD_VARIANTS = normal debug profile
40 CLANG_LINK_OBJC_RUNTIME = NO
41 GCC_C_LANGUAGE_STANDARD = gnu11
42 CLANG_CXX_LANGUAGE_STANDARD = gnu++11
43 GCC_ENABLE_CPP_EXCEPTIONS = NO
44 GCC_STRICT_ALIASING = YES
45 GCC_SYMBOLS_PRIVATE_EXTERN = YES
46 GCC_ENABLE_OBJC_GC[sdk=macosx*] = supported
47 GCC_ENABLE_PASCAL_STRINGS = NO
49 GCC_WARN_64_TO_32_BIT_CONVERSION = YES
50 GCC_WARN_ABOUT_RETURN_TYPE = YES
51 GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES
52 GCC_WARN_ABOUT_MISSING_NEWLINE = YES
53 GCC_WARN_UNUSED_VARIABLE = YES
54 GCC_WARN_INITIALIZER_NOT_FULLY_BRACKETED = YES
55 GCC_WARN_ABOUT_MISSING_FIELD_INITIALIZERS = YES
56 GCC_WARN_SIGN_COMPARE = YES
57 GCC_WARN_UNINITIALIZED_AUTOS = YES
58 CLANG_WARN_EMPTY_BODY = YES
59 CLANG_WARN_IMPLICIT_SIGN_CONVERSION = YES
60 CLANG_WARN_SUSPICIOUS_IMPLICIT_CONVERSION = YES
61 CLANG_WARN_DOCUMENTATION_COMMENTS = YES
62 GCC_TREAT_WARNINGS_AS_ERRORS = YES
63 GCC_OPTIMIZATION_LEVEL = s
64 GCC_PREPROCESSOR_DEFINITIONS = __DARWIN_NON_CANCELABLE=1
65 WARNING_CFLAGS = -Wall -Wextra -Waggregate-return -Wfloat-equal -Wpacked -Wmissing-declarations -Wstrict-overflow=4 -Wstrict-aliasing=2 -Wno-unknown-warning-option
66 OTHER_CFLAGS = -fverbose-asm -isystem $(SDKROOT)/System/Library/Frameworks/System.framework/PrivateHeaders
67 OTHER_CFLAGS[arch=i386][sdk=macosx*] = $(OTHER_CFLAGS) -fno-unwind-tables -fno-asynchronous-unwind-tables -fno-exceptions
68 OTHER_CFLAGS_normal = -momit-leaf-frame-pointer
69 OTHER_CFLAGS_profile = $(OTHER_CFLAGS_normal) -DDISPATCH_PROFILE=1
70 OTHER_CFLAGS_debug = -fstack-protector -fno-inline -O0 -DDISPATCH_DEBUG=1
71 GENERATE_PROFILING_CODE = NO
72 DYLIB_CURRENT_VERSION = $(CURRENT_PROJECT_VERSION)
73 SIM_SUFFIX[sdk=*simulator*] = _sim
74 DYLIB_LDFLAGS = -umbrella System -nodefaultlibs -ldyld -lcompiler_rt -lsystem$(SIM_SUFFIX)_kernel -lsystem$(SIM_SUFFIX)_platform -lsystem$(SIM_SUFFIX)_pthread -lsystem_malloc -lsystem_c -lsystem_blocks -lunwind
75 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
76 OBJC_LDFLAGS[sdk=macosx*] = $(OBJC_LDFLAGS) -Wl,-upward-lauto
77 OBJC_LDFLAGS[arch=i386][sdk=macosx*] =
78 OBJC_EXCLUDED_SOURCE_FILE_NAMES_i386_macosx = object.m data.m
79 ALIASES_LDFLAGS = -Wl,-alias_list,$(SRCROOT)/xcodeconfig/libdispatch.aliases
80 PLATFORM_LDFLAGS[sdk=macosx*] = -Wl,-alias_list,$(SRCROOT)/xcodeconfig/libdispatch_macosx.aliases
81 OTHER_LDFLAGS = $(OTHER_LDFLAGS) $(DYLIB_LDFLAGS) $(CR_LDFLAGS) $(OBJC_LDFLAGS) $(ALIASES_LDFLAGS) $(PLATFORM_LDFLAGS)
82 OTHER_MIGFLAGS = -novouchers