1//
2// Copyright (c) 2010 Apple Inc. All rights reserved.
3//
4// @APPLE_LICENSE_HEADER_START@
5//
6// Redistribution and use in source and binary forms, with or without
7// modification, are permitted provided that the following conditions
8// are met:
9//
10// 1.  Redistributions of source code must retain the above copyright
11//     notice, this list of conditions and the following disclaimer.
12// 2.  Redistributions in binary form must reproduce the above copyright
13//     notice, this list of conditions and the following disclaimer in the
14//     documentation and/or other materials provided with the distribution.
15// 3.  Neither the name of Apple Inc. ("Apple") nor the names of its
16//     contributors may be used to endorse or promote products derived from
17//     this software without specific prior written permission.
18//
19// THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY
20// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
21// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
22// DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY
23// DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
24// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
25// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
26// ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
28// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29//
30// @APPLE_LICENSE_HEADER_END@
31//
32//
33
34//
35//  base.xcconfig
36//  dcerpc
37//
38
39VALID_ARCHS=ppc i386 x86_64 armv5 armv6 armv7
40
41// I don't think that we should be using the headermap, since we
42// have files with the same name. However, dependency tracking for
43// the IDL files, and dtrace header generation depends on this,
44// see:
45//
46// <rdar://problem/7303485> generated header files don't get correct dependencies
47// <rdar://problem/7306702> dtrace header generation depends on USE_HEADERMAP=YES
48USE_HEADERMAP=YES
49HEADERMAP_INCLUDES_PROJECT_HEADERS=NO
50HEADERMAP_INCLUDES_FRAMEWORK_ENTRIES_FOR_ALL_PRODUCT_TYPES=NO
51HEADERMAP_INCLUDES_FLAT_ENTRIES_FOR_TARGET_BEING_BUILT=NO
52ALWAYS_SEARCH_USER_PATHS=NO
53
54VERSIONING_SYSTEM=apple-generic
55
56RPC_OPTIMIZATION_Debug=0
57RPC_OPTIMIZATION_Release=s
58GCC_OPTIMIZATION_LEVEL=$(RPC_OPTIMIZATION_$(CONFIGURATION))
59
60STRIP_STYLE=debugging
61RPC_STRIP_PRODUCTS_Debug=NO
62RPC_STRIP_PRODUCTS_Release=YES
63STRIP_INSTALLED_PRODUCT=$(RPC_STRIP_PRODUCTS_$(CONFIGURATION))
64
65GCC_GENERATE_DEBUGGING_SYMBOLS=YES
66GCC_DEBUGGING_SYMBOLS=full
67DEBUG_INFORMATION_FORMAT=dwarf-with-dsym
68
69GCC_C_LANGUAGE_STANDARD=gnu99
70GCC_STRICT_ALIASING=NO
71DEAD_CODE_STRIPPING=YES
72
73GCC_WARN_ABOUT_RETURN_TYPE=YES
74GCC_WARN_64_TO_32_BIT_CONVERSION=YES
75GCC_WARN_ABOUT_POINTER_SIGNEDNESS=YES
76GCC_WARN_SIGN_COMPARE=YES
77GCC_WARN_ABOUT_MISSING_PROTOTYPES=YES
78GCC_WARN_UNINITIALIZED_AUTOS=YES
79GCC_WARN_UNUSED_FUNCTION=YES
80GCC_WARN_UNUSED_LABEL=YES
81GCC_WARN_UNUSED_PARAMETER=YES
82GCC_WARN_UNUSED_VARIABLE=YES
83GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS=YES
84
85GCC_TREAT_IMPLICIT_FUNCTION_DECLARATIONS_AS_ERRORS=YES
86// -Werror-implicit-function-declaration causes build failures with PPC due to
87// llvm-gcc bugs, ie. <rdar://problem/8103032>
88GCC_TREAT_IMPLICIT_FUNCTION_DECLARATIONS_AS_ERRORS[arch=ppc]=NO
89
90OTHER_CFLAGS=-fstack-protector -fno-common
91WARNING_CFLAGS=-Wformat=2 -Wwrite-strings -Wcast-align -Wpointer-arith -Wstrict-prototypes -Wbad-function-cast -Wextra -Wall
92
93RUN_CLANG_STATIC_ANALYZER=YES
94
95RPC_FRAMEWORK_RESOURCES[sdk=macosx*]=/System/Library/PrivateFrameworks/DCERPC.framework/Resources
96RPC_FRAMEWORK_RESOURCES[sdk=iphoneos*]=/System/Library/PrivateFrameworks/DCERPC.framework
97
98RPC_CATALOG_PATH=CATALOG_DIR=\"$(RPC_FRAMEWORK_RESOURCES)/Catalogs\"
99RPC_IDIR_PATH=DEFAULT_IDIR=\"/usr/local/include\"
100RPC_MODULES_PATH=IMAGE_DIR=\"$(RPC_FRAMEWORK_RESOURCES)/Modules\"
101
102RPC_PATH_DEFINES=$(RPC_CATALOG_PATH) $(RPC_IDIR_PATH) $(RPC_MODULES_PATH)
103
104RPC_DERIVED_HEADERS=$(SHARED_DERIVED_FILE_DIR) $(SHARED_DERIVED_FILE_DIR)/dce
105RPC_INTERNAL_HEADERS=$(SRCROOT)/dcerpc/include
106RPC_NCKLIB_HEADERS=$(SRCROOT)/dcerpc/ncklib $(SRCROOT)/dcerpc/ncklib/include/darwin
107
108// Default header paths that targets can override
109RPC_DEFAULT_HEADERS=$(RPC_INTERNAL_HEADERS) $(RPC_DERIVED_HEADERS)
110
111// Default preprocessor symbols that targets can override
112RPC_DEFAULT_DEFINES=$(RPC_PATH_DEFINES) HAVE_CONFIG_H API PIC _REENTRANT _FORTIFY_SOURCE=2 _SOCKADDR_LEN
113
114// Set sensible defaults that targets can override
115FRAMEWORK_SEARCH_PATHS=/System/Library/PrivateFrameworks
116FRAMEWORK_SEARCH_PATHS[sdk=macosx10.6]=/AppleInternal/Library/Frameworks
117HEADER_SEARCH_PATHS=$(RPC_DEFAULT_HEADERS)
118GCC_PREPROCESSOR_DEFINITIONS=$(RPC_DEFAULT_DEFINES)
119