base_config.xcconfig   [plain text]


//
// Copyright (c) 2010 Apple Inc. All rights reserved.
//
// @APPLE_LICENSE_HEADER_START@
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
//
// 1.  Redistributions of source code must retain the above copyright
//     notice, this list of conditions and the following disclaimer.
// 2.  Redistributions in binary form must reproduce the above copyright
//     notice, this list of conditions and the following disclaimer in the
//     documentation and/or other materials provided with the distribution.
// 3.  Neither the name of Apple Inc. ("Apple") nor the names of its
//     contributors may be used to endorse or promote products derived from
//     this software without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY
// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
// DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY
// DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
// ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
//
// @APPLE_LICENSE_HEADER_END@
//
//

//
//  base.xcconfig
//  dcerpc
//

VALID_ARCHS=ppc i386 x86_64 armv5 armv6 armv7

// I don't think that we should be using the headermap, since we
// have files with the same name. However, dependency tracking for
// the IDL files, and dtrace header generation depends on this,
// see:
//
// <rdar://problem/7303485> generated header files don't get correct dependencies
// <rdar://problem/7306702> dtrace header generation depends on USE_HEADERMAP=YES
USE_HEADERMAP=YES
HEADERMAP_INCLUDES_PROJECT_HEADERS=NO
HEADERMAP_INCLUDES_FRAMEWORK_ENTRIES_FOR_ALL_PRODUCT_TYPES=NO
HEADERMAP_INCLUDES_FLAT_ENTRIES_FOR_TARGET_BEING_BUILT=NO
ALWAYS_SEARCH_USER_PATHS=NO

VERSIONING_SYSTEM=apple-generic

RPC_OPTIMIZATION_Debug=0
RPC_OPTIMIZATION_Release=s
GCC_OPTIMIZATION_LEVEL=$(RPC_OPTIMIZATION_$(CONFIGURATION))

STRIP_STYLE=debugging
RPC_STRIP_PRODUCTS_Debug=NO
RPC_STRIP_PRODUCTS_Release=YES
STRIP_INSTALLED_PRODUCT=$(RPC_STRIP_PRODUCTS_$(CONFIGURATION))

GCC_GENERATE_DEBUGGING_SYMBOLS=YES
GCC_DEBUGGING_SYMBOLS=full
DEBUG_INFORMATION_FORMAT=dwarf-with-dsym

GCC_C_LANGUAGE_STANDARD=gnu99
GCC_STRICT_ALIASING=NO
DEAD_CODE_STRIPPING=YES

GCC_WARN_ABOUT_RETURN_TYPE=YES
GCC_WARN_64_TO_32_BIT_CONVERSION=YES
GCC_WARN_ABOUT_POINTER_SIGNEDNESS=YES
GCC_WARN_SIGN_COMPARE=YES
GCC_WARN_ABOUT_MISSING_PROTOTYPES=YES
GCC_WARN_UNINITIALIZED_AUTOS=YES
GCC_WARN_UNUSED_FUNCTION=YES
GCC_WARN_UNUSED_LABEL=YES
GCC_WARN_UNUSED_PARAMETER=YES
GCC_WARN_UNUSED_VARIABLE=YES
GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS=YES

GCC_TREAT_IMPLICIT_FUNCTION_DECLARATIONS_AS_ERRORS=YES
// -Werror-implicit-function-declaration causes build failures with PPC due to
// llvm-gcc bugs, ie. <rdar://problem/8103032>
GCC_TREAT_IMPLICIT_FUNCTION_DECLARATIONS_AS_ERRORS[arch=ppc]=NO

OTHER_CFLAGS=-fstack-protector -fno-common
WARNING_CFLAGS=-Wformat=2 -Wwrite-strings -Wcast-align -Wpointer-arith -Wstrict-prototypes -Wbad-function-cast -Wextra -Wall

RUN_CLANG_STATIC_ANALYZER=YES

RPC_FRAMEWORK_RESOURCES[sdk=macosx*]=/System/Library/PrivateFrameworks/DCERPC.framework/Resources
RPC_FRAMEWORK_RESOURCES[sdk=iphoneos*]=/System/Library/PrivateFrameworks/DCERPC.framework

RPC_CATALOG_PATH=CATALOG_DIR=\"$(RPC_FRAMEWORK_RESOURCES)/Catalogs\"
RPC_IDIR_PATH=DEFAULT_IDIR=\"/usr/local/include\"
RPC_MODULES_PATH=IMAGE_DIR=\"$(RPC_FRAMEWORK_RESOURCES)/Modules\"

RPC_PATH_DEFINES=$(RPC_CATALOG_PATH) $(RPC_IDIR_PATH) $(RPC_MODULES_PATH)

RPC_DERIVED_HEADERS=$(SHARED_DERIVED_FILE_DIR) $(SHARED_DERIVED_FILE_DIR)/dce
RPC_INTERNAL_HEADERS=$(SRCROOT)/dcerpc/include
RPC_NCKLIB_HEADERS=$(SRCROOT)/dcerpc/ncklib $(SRCROOT)/dcerpc/ncklib/include/darwin

// Default header paths that targets can override
RPC_DEFAULT_HEADERS=$(RPC_INTERNAL_HEADERS) $(RPC_DERIVED_HEADERS)

// Default preprocessor symbols that targets can override
RPC_DEFAULT_DEFINES=$(RPC_PATH_DEFINES) HAVE_CONFIG_H API PIC _REENTRANT _FORTIFY_SOURCE=2 _SOCKADDR_LEN

// Set sensible defaults that targets can override
FRAMEWORK_SEARCH_PATHS=/System/Library/PrivateFrameworks
FRAMEWORK_SEARCH_PATHS[sdk=macosx10.6]=/AppleInternal/Library/Frameworks
HEADER_SEARCH_PATHS=$(RPC_DEFAULT_HEADERS)
GCC_PREPROCESSOR_DEFINITIONS=$(RPC_DEFAULT_DEFINES)