Xcode Build Settings Reference

All variables are prefixed with "$" to uniquely identify them on this page. Submitting updates to this page.

$ACTION

Description

Identifies the type of build to perform on the target.

Type

String

Values

Default Value

build

$AD_HOC_CODE_SIGNING_ALLOWED

Description

Internal setting used by Xcode to determine if ad-hoc signing identities can be used.

Type

Boolean

Default Value

NO

$ADDITIONAL_SDKS

Description

The locations of any sparse SDKs that should be layered on top of the one specified by $(SDKROOT). If more than one SDK is listed, the first one has highest precedence. Every SDK specified in this setting should be a "sparse" SDK, i.e. not an SDK for an entire OS X release.

Type

String

Default Value

empty string

$ALTERNATE_GROUP

Description

The group name or gid for the files listed under the $(ALTERNATE_PERMISSIONS_FILES) setting.

Type

String

Default Value

$(INSTALL_GROUP)

$ALTERNATE_MODE

Description

Permissions used for the the files listed under the $(ALTERNATE_PERMISSIONS_FILES) setting.

Type

String

Default Value

$(INSTALL_MODE_FLAG)

$ALTERNATE_OWNER

Description

The owner name or uid for the files listed under the $(ALTERNATE_PERMISSIONS_FILES) setting.

Type

String

Default Value

$(INSTALL_OWNER)

$ALTERNATE_PERMISSIONS_FILES

Description

List of files to which the alternate owner, group and permissions are applied.

Type

StringList

Default Value

empty string

$ALWAYS_SEARCH_USER_PATHS

Description

Specifies whether the compiler searches for headers in the project directory before searching system directories.

Type

Boolean

Values

  • YES: Search project directory first.
  • NO: Search system directories first.

Default Value

YES

$ALWAYS_USE_SEPARATE_HEADERMAPS

Description

Type

Boolean

Values

Default Value

$APPLE_INTERNAL_DEVELOPER_DIR

Type

Path

Default Value

$(APPLE_INTERNAL_DIR)/Developer

$APPLE_INTERNAL_DIR

Type

Path

Default Value

/AppleInternal

$APPLE_INTERNAL_DOCUMENTATION_DIR

Type

Path

Default Value

$(APPLE_INTERNAL_DIR)/Documentation

$APPLE_INTERNAL_LIBRARY_DIR

Type

Path

Default Value

$(APPLE_INTERNAL_DIR)/Library

$APPLE_INTERNAL_TOOLS

Type

Path

Default Value

$(APPLE_INTERNAL_DEVELOPER_DIR)/Tools

$APPLICATION_EXTENSION_API_ONLY

Description

When enabled, this causes the compiler and linker to disallow use of APIs that are not available to app extensions and to disallow linking to frameworks that have not been built with this setting enabled. If enabled, passes flag -fapplication-extension.

Type

Boolean

Default Value

NO

$APPLY_RULES_IN_COPY_FILES

Description

Files copied with a 'Copy Files Build Phase' are unchanged by default.

Type

Boolean

Values

  • Setting this to YES causes Property Lists (.plist) and Strings files to be converted as specified by 'Property List Output Encoding' and 'Strings file Output Encoding'.

Default Value

NO

$ARCHS

Description

Space-separated list of identifiers. Specifies the architectures (ABIs, processor models) to which the binary is targeted. When this build setting specifies more than one architecture, the generated binary may contain object code for each of the specified architectures.

Type

String

Default Value

$(ARCHS_STANDARD)

Example Value

x86_64

$ARCHS_STANDARD

Description

Standard Architectures.

Type

StringList

Values

  • When $(SDKROOT)=iphoneos: armv7 arm64
  • When $(SDKROOT)=iphonesimulator: i386 x86_64
  • When $(SDKROOT)=macosx: x86_64

Example Value

$(ARCHS_STANDARD_INCLUDING_64_BIT)

$ARCHS_STANDARD_32_64_BIT

Description

Universal (32/64-bit)

Type

StringList

Default Value

$(ARCHS_STANDARD_32_BIT) $(ARCHS_STANDARD_64_BIT)

Example Value

i386 x86_64

$ARCHS_STANDARD_32_BIT

Description

32-bit Architecture

Type

StringList

Values

  • When sdk=macosx: i386
  • When sdk=iphoneos: armv7
  • When sdk=iphonesimulator: i386

$ARCHS_STANDARD_64_BIT

Description

64-bit Architecture

Type

StringList

Values

  • When sdk=macosx: x86_64
  • When sdk=iphoneos: arm64
  • When sdk=iphonesimulator: x86_64

$ARCHS_STANDARD_INCLUDING_64_BIT

Description

Standard Architectures, and 64-bit Architectures

Type

StringList

Values

  • When sdk=macosx: x86_64
  • When sdk=iphoneos: arm64
  • When sdk=iphonesimulator: x86_64

$ARCHS_UNIVERSAL_IPHONE_OS

Description

Universal Architectures for iPhoneOS

Type

StringList

Values

  • When sdk=iphoneos: armv7 arm64
  • When sdk=iphonesimulator: i386 x86_64

$ASSETCATALOG_COMPILER_APPICON_NAME

Description

Name of the asset catalog app icon set whose contents will be merged into the Info.plist. Passes flag --app-icon.

Type

String

Default Value

empty string

$ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME

Description

Name of the asset catalog launch image set whose contents will be merged into the Info.plist. Passes flag --launch-image.

Type

String

Default Value

empty string

$ASSETCATALOG_NOTICES

Description

Show notices encountered during the compilation of asset catalogs. Passes flag --notices.

Type

Boolean

Default Value

YES

$ASSETCATALOG_OTHER_FLAGS

Description

Pass additional flags through to the asset catalog compiler.

Type

StringList

Default Value

empty string

$ASSETCATALOG_WARNINGS

Description

Show warnings encountered during the compilation of asset catalogs. Passes flag --warnings.

Type

Boolean

Default Value

YES

$AVAILABLE_PLATFORMS

Description

Space-separated list of platform bundles installed in Xcode's Developer directory.

Type

String

Default Value

iphonesimulator macosx iphoneos

$BUILD_COMPONENTS

Description

Space-separated list of identifiers. Specifies subsets of the product.

Type

String

Values

  • When $(ACTION)=build: headers build
  • When $(ACTION)=install: headers build
  • When $(ACTION)=installhdrs: headers
  • When $(ACTION)=installsrc: empty

$BUILD_DIR

Description

Alias for $(SYMROOT)

Type

Path

Default Value

$(SYMROOT)

$BUILD_ROOT

Description

Alias for $(SYMROOT)

Type

Path

Default Value

$(SYMROOT)

$BUILD_STYLE

Description

Name of current build style.

Type

String

Default Value

empty string

$BUILD_VARIANTS

Description

Space-separated list of identifiers. Specifies the binary variants of the product. You can create additional variant names for special purposes. For example, you can use the name of a build configuration as a variant name to create highly customized binaries.

Type

String

Values

  • normal: Use to produce a normal binary.
  • profile: Use to produce a binary that generates profile information.
  • debug: Use to produce a binary with debug symbols, additional assertions, and diagnostic code.

Default Value

normal

$BUILT_PRODUCTS_DIR

Description

Identifies the directory under which all the product’s files can be found. This directory contains either product files or symbolic links to them. Run Script build phases can use the value of this build setting as a convenient way to refer to the product files built by one or more targets even when these files are scattered throughout a directory hierarchy (for example, when $(DEPLOYMENT_LOCATION) is set to YES).

Type

Path

Values

$BUNDLE_LOADER

Description

Passes flag -bundle_loader to the linker.

Type

String

Default Value

empty string

$CACHE_ROOT

Description

Alias for $(CCHROOT).

Type

Path

Default Value

$(CCHROOT)

Example Value

/var/folders/m5/j4zdc7f9157659_pd5p0_n980000gn/C/com.apple.DeveloperTools/6.2-6C131e/Xcode

$CCHROOT

Description

The file used to cache build-time information that must persist between launches of the Xcode application.

Type

Path

Default Value

confstr('CS_DARWIN_USER_CACHE_DIR')/com.apple.DeveloperTools/$(XCODE_PRODUCT_VERSION)-$(XCODE_PRODUCT_BUILD_VERSION)/Xcode'

$CHMOD

Description

Path to chmod tool.

Type

Path

Default Value

/bin/chmod

$CHOWN

Description

Path to chown tool.

Type

Path

Default Value

/usr/sbin/chown

$CLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAMEWORK_MODULES

Description

Enabling this setting allows non-modular includes to be used from within framework modules. This is inherently unsafe, as such headers might cause duplicate definitions when used by any client that imports both the framework and the non-modular includes themselves. If disabled, passes flags:

  • -Wnon-modular-include-in-framework-module
  • -Werror=non-modular-include-in-framework-module

Type

Boolean

Default Value

NO

$CLANG_ANALYZER_DEADCODE_DEADSTORES

Description

Check for values stored to variables that are never read afterwards. If disabled, passes flags:

  • -Xclang -analyzer-disable-checker
  • -Xclang deadcode.DeadStores

Type

Boolean

Default Value

YES

$CLANG_ANALYZER_GCD

Description

Check for misuses of Grand Central Dispatch API. If disabled, passes flags:

  • -Xclang -analyzer-disable-checker
  • -Xclang osx.API

Type

Boolean

Default Value

YES

$CLANG_ANALYZER_MALLOC

Description

See $(CLANG_ANALYZER_MEMORY_MANAGEMENT).

Type

Boolean

Default Value

YES

$CLANG_ANALYZER_MEMORY_MANAGEMENT

Description

Warn about memory leaks, use-after-free, as well as other API misuse. If disabled passes flags:

  • -Xclang -analyzer-disable-checker
  • -Xclang unix.Malloc
  • -Xclang -analyzer-disable-checker
  • -Xclang unix.MallocSizeof
  • -Xclang -analyzer-disable-checker
  • -Xclang unix.MismatchedDeallocator
  • -Xclang -analyzer-disable-checker
  • -Xclang cplusplus.NewDelete

Type

Boolean

Default Value

$(CLANG_ANALYZER_MALLOC)

$CLANG_ANALYZER_OBJC_ATSYNC

Description

Warn on nil pointers used as mutexes for @synchronized. If disabled, passes flags:

  • -Xclang -analyzer-disable-checker
  • -Xclang osx.cocoa.AtSync

Type

Boolean

Default Value

YES

$CLANG_ANALYZER_OBJC_COLLECTIONS

Description

Warn if CF collections are created with non-pointer-size values. Check if NS collections are initialized with non-Objective-C type elements. If disabled, passes flags:

  • -Xclang -analyzer-disable-checker
  • -Xclang osx.coreFoundation.containers.PointerSizedValues
  • -Xclang -analyzer-disable-checker
  • -Xclang osx.cocoa.VariadicMethodTypes
  • -Xclang -analyzer-disable-checker
  • -Xclang osx.cocoa.NilArg

Type

Boolean

Default Value

YES

$CLANG_ANALYZER_OBJC_INCOMP_METHOD_TYPES

Description

Warn about Objective-C method signatures with type incompatibilities. If disabled, passes flags:

  • -Xclang -analyzer-disable-checker
  • -Xclang osx.cocoa.IncompatibleMethodTypes

Type

Boolean

Default Value

YES

$CLANG_ANALYZER_OBJC_NSCFERROR

Description

Warn if functions accepting CFErrorRef or NSError cannot indicate if error occured. If disabled, passes flags:

  • -Xclang -analyzer-disable-checker
  • -Xclang osx.coreFoundation.CFError
  • -Xclang -analyzer-disable-checker
  • -Xclang osx.cocoa.NSError

Type

Boolean

Default Value

YES

$CLANG_ANALYZER_OBJC_RETAIN_COUNT

Description

Warn on leaks and improper reference count management. If disabled, passes flags:

  • -Xclang -analyzer-disable-checker
  • -Xclang osx.cocoa.RetainCount
  • -Xclang -analyzer-disable-checker
  • -Xclang osx.cocoa.ClassRelease

Type

Boolean

Default Value

YES

$CLANG_ANALYZER_OBJC_SELF_INIT

Description

Check that [super init] is properly called within an Objective-C initialization method. If disabled, passes flags:

  • -Xclang -analyzer-disable-checker
  • -Xclang osx.cocoa.SelfInit

Type

Boolean

Default Value

YES

$CLANG_ANALYZER_OBJC_UNUSED_IVARS

Description

Warn about private ivars that are never used. If disabled, passes flags:

  • -Xclang -analyzer-disable-checker
  • -Xclang osx.cocoa.UnusedIvars

Type

Boolean

Default Value

YES

$CLANG_ANALYZER_SECURITY_FLOATLOOPCOUNTER

Description

Warn on using a floating point value as a loop counter (CERT: FLP30-C, FLP30-CPP). If disabled, passes flags:

  • -Xclang -analyzer-checker
  • -Xclang security.FloatLoopCounter

Type

Boolean

Default Value

NO

$CLANG_ANALYZER_SECURITY_INSECUREAPI_GETPW_GETS

Description

Warn on uses of 'getpw' and 'gets'. The functions are dangerous as they may trigger a buffer overflow.

Type

Boolean

Values

  • YES:
    • -Xclang -analyzer-checker
    • -Xclang security.insecureAPI.getpw
    • -Xclang -analyzer-checker
    • -Xclang security.insecureAPI.gets
  • NO: -Xclang -analyzer-disable-checker
    • -Xclang security.insecureAPI.getpw
    • -Xclang -analyzer-disable-checker
    • -Xclang security.insecureAPI.gets

Default Value

YES

$CLANG_ANALYZER_SECURITY_INSECUREAPI_MKSTEMP

Description

Warn on uses of 'mktemp', which produces predictable temporay files. It is obsoleted by 'mktemps'. Warn when 'mkstemp' is passed fewer than 6 X's in the format string.

Type

Boolean

Values

  • YES:
    • -Xclang -analyzer-checker
    • -Xclang security.insecureAPI.mkstemp
    • -Xclang -analyzer-checker
    • -Xclang security.insecureAPI.mktemp
  • NO:
    • -Xclang -analyzer-disable-checker
    • -Xclang security.insecureAPI.mkstemp
    • -Xclang -analyzer-disable-checker
    • -Xclang security.insecureAPI.mktemp

Default Value

YES

$CLANG_ANALYZER_SECURITY_INSECUREAPI_RAND

Description

Warn on uses of 'rand', 'random', and related functions which produce predictable random number sequences. Use arc4random instead.

Type

Boolean

Values

  • YES:
    • -Xclang -analyzer-checker
    • -Xclang security.insecureAPI.rand
  • NO:
    • -Xclang -analyzer-disable-checker
    • -Xclang security.insecureAPI.rand

Default Value

NO

$CLANG_ANALYZER_SECURITY_INSECUREAPI_STRCPY

Description

Warn on uses of the 'strcpy' and 'strcat' functions, which can result in buffer overflows. Use 'strlcpy' or 'strlcat' instead.

Type

Boolean

Values

  • YES:
    • -Xclang -analyzer-checker
    • -Xclang security.insecureAPI.strcpy
  • NO:
    • -Xclang -analyzer-disable-checker
    • -Xclang security.insecureAPI.strcpy

Default Value

NO

$CLANG_ANALYZER_SECURITY_INSECUREAPI_UNCHECKEDRETURN

Description

Warn on uses of sensitive functions whose return values must be always checked.

Type

Boolean

Values

  • YES:
    • -Xclang -analyzer-checker
    • -Xclang security.insecureAPI.UncheckedReturn
  • NO:
    • -Xclang -analyzer-disable-checker
    • -Xclang security.insecureAPI.UncheckedReturn

Default Value

YES

$CLANG_ANALYZER_SECURITY_INSECUREAPI_VFORK

Description

Warn on uses of the 'vfork' function, which is inherently insecure. Use the safer 'posix_spawn' function instead.

Type

Boolean

Values

  • YES:
    • -Xclang -analyzer-checker
    • -Xclang security.insecureAPI.vfork
  • NO:
    • -Xclang -analyzer-disable-checker
    • -Xclang security.insecureAPI.vfork

Default Value

YES

$CLANG_ANALYZER_SECURITY_KEYCHAIN_API

Description

Check for misuse of Keychain Services API.

Type

Boolean

Values

  • YES
  • NO:
    • -Xclang -analyzer-disable-checker
    • -Xclang osx.SecKeychainAPI

Default Value

YES

$CLANG_ARC_MIGRATE_DIR

Description

Passes flag -ccc-arcmt-migrate

Type

Path

Default Value

empty string

$CLANG_ARC_MIGRATE_EMIT_ERROR

Description

If enabled, passes flag -arcmt-migrate-emit-errors

Type

Boolean

Default Value

NO

$CLANG_ARC_MIGRATE_PRECHECK

Description

Used by Xcode's migration tool, do not edit.

Type

Enumeration

Values

  • donothing: Does nothing
  • precheck: Passes flag -ccc-arcmt-check

Default Value

donothing

$CLANG_ARC_MIGRATE_REPORT_OUTPUT

Description

Passes flag -arcmt-migrate-report-output

Type

Path

Default Value

empty string

$CLANG_COLOR_DIAGNOSTICS

Description

If enabled passes flag -fcolor-diagnostics. Note: this flag does NOT impact PCH or compilation. The build system makes special efforts to ignore for dependency tracking.

Type

Boolean

Default Value

$(COLOR_DIAGNOSTICS)

$CLANG_CXX_LANGUAGE_STANDARD

Description

Choose a standard or non-standard C++ language dialect.

Type

Enumeration

Values

  • c++98: Passes flag -std=c++98 C++98: Accept ISO C++ 1998 with amendments, but not GNU extensions.
  • gnu++98: Passes flag -std=gnu++98 GNU++98: Accept ISO C++ 1998 with amendments and GNU extensions.
  • c++0x: Passes flag -std=c++11 C++11: Accept the ISO C++ 2011 standard with amendments, but not GNU extensions.
  • gnu++0x: Passes flag -std=gnu++11 GNU++11: Accept the ISO C++ 2011 standard with amendments and GNU extensions.
  • c++14: Passes flag -std=c++1y C++14: Accept the ISO C++ 2014 standard with amendments, but not GNU extensions.
  • gnu++14: Passes flag -std=gnu++1y GNU++14: Accept the ISO C++ 2014 standard with amendments and GNU extensions.
  • compiler-default: Compiler Default: Tells the compiler to use its default C++ language dialect. This is normally the best choice unless you have specific needs. (Currently equivalent to GNU++98.)

Default Value

compiler-default

$CLANG_CXX_LIBRARY

Description

Choose a version of the C++ standard library to use.

Type

Enumeration

Values

  • libstdc++: Passes flag -stdlib=libstdlibc++ traditional C++ standard library that works with GCC and the LLVM Compiler
  • libc++: Passes flag -stdlib=libc++ highly optimized C++ standard library that works only with the LLVM Compiler, and is designed to support new C++11 features.
  • compiler-default: Uses libstdc++

Default Value

compiler-default

$CLANG_DEBUG_INFORMATION_LEVEL

Description

Toggles the amount of debug information emitted when debug symbols are enabled. This can impact the size of the generated debug information, which can matter in some cases for large projects (such as when using LTO).

Type

Enumeration

Values

  • default:
  • line-tables-only: Passes flag -gline-tables-only

Default Value

default

$CLANG_ENABLE_APP_EXTENSION

Description

If enabled, passes flag -fapplication-extension

Type

Boolean

Default Value

$(APPLICATION_EXTENSION_API_ONLY)

$CLANG_ENABLE_MODULES

Description

If enabled, passes flag -fmodules.

Type

Boolean

Default Value

NO

$CLANG_ENABLE_MODULE_IMPLEMENTATION_OF

Description

If enabled, passes flag -fmodule-implementation-of $(PRODUCT_MODULE_NAME)

Type

Boolean

Default Value

YES

$CLANG_ENABLE_OBJC_ARC

Description

If enabled, passes flag -fobjc-arc.

Type

Boolean

Default Value

YES

$CLANG_INSTRUMENT_FOR_OPTIMIZATION_PROFILING

Description

If enabled, passes flag -fprofile-instr-generate and -fprofile-instr-generate

Type

Boolean

Default Value

NO

Description

If enabled, passes flag -fobjc-link-runtime. This option is passed for linking to inform the compiler that the ObjC runtime must be linked in (with possible backwards compatibility libraries linked in).

Type

Boolean

Default Value

YES

$CLANG_MACRO_BACKTRACE_LIMIT

Description

-fmacro-backtrace-limit=$(value)

Type

Integer

Default Value

0

Description

If disabled, passes flag -fno-autolink.

Type

Boolean

Default Value

YES

$CLANG_MODULES_IGNORE_MACROS

Description

If $(CLANG_ENABLE_MODULES) is enabled, passes flag -fmodules-ignore-macro=$(value).

Type

StringList

Default Value

$(GCC_PREPROCESSOR_DEFINITIONS_NOT_USED_IN_PRECOMPS)

$CLANG_MODULES_VALIDATE_SYSTEM_HEADERS

Description

If $(CLANG_ENABLE_MODULES) is enabled, if enabled passes flag -fmodules-validate-system-headers.

Type

Boolean

Default Value

NO

$CLANG_MODULES_VALIDATION_TIMESTAMP

Description

If not empty string: Passes flags -fbuild-session-timestamp=$(value) and -fmodules-validate-once-per-build-session

Type

String

Default Value

empty string

$CLANG_MODULE_CACHE_PATH

Description

Passes flag -fmodules-cache-path=$(CLANG_MODULE_CACHE_PATH) if $(CLANG_ENABLE_MODULES) is enabled.

Type

Path

Default Value

$(MODULE_CACHE_DIR)

Example Value

/Users/genica/Library/Developer/Xcode/DerivedData/ModuleCache

$CLANG_OBJC_MIGRATE_DIR

Description

Passes flag -ccc-objcmt-migrate

Type

Path

Default Value

empty string

$CLANG_OPTIMIZATION_PROFILE_FILE

Description

The path to the file of the profile data to use when 'Use Optimization Profile' is enabled.

Type

Path

Default Value

$(SRCROOT)/OptimizationProfiles/$(PROJECT_NAME).profdata

Example Value

/Users/genica/MyProject/OptimizationProfiles/MyProject.profdata

$CLANG_RETAIN_COMMENTS_FROM_SYSTEM_HEADERS

Description

If enabled, passes flag -fretain-comments-from-system-headers. Note: this flag impacts PCH.

Type

Boolean

Default Value

NO

$CLANG_STATIC_ANALYZER_MODE

Description

The depth the static analyzer uses during the Build action.

Type

Enumeration

Values

  • shallow: Use Shallow for faster analysis. Passes flags:
    • -Xclang -analyzer-config
    • -Xclang mode=shallow
  • deep: Use Deep to exercise the full power of the analyzer.

Default Value

shallow

$CLANG_STATIC_ANALYZER_MODE_ON_ANALYZE_ACTION

Description

The depth the static analyzer uses during the Analyze action.

Type

Enumeration

Values

  • shallow: Use Shallow for faster analysis.
  • deep: Use Deep to exercise the full power of the analyzer.

Default Value

deep

$CLANG_USE_OPTIMIZATION_PROFILE

Description

When this setting is enabled, clang will use the optimization profile collected for a target when building it.

Type

Boolean

Values

  • YES: Passes flag: -fprofile-instr-use=$(CLANG_OPTIMIZATION_PROFILE_FILE)

Default Value

NO

$CLANG_WARN_ASSIGN_ENUM

Description

Warn about assigning integer constants to enum values that are out of the range of the enumerated type. If enabled, passes flag -Wassign-enum

Type

Boolean

Default Value

NO

$CLANG_WARN_BOOL_CONVERSION

Description

Warn about implicit conversions to boolean values that are suspicious. For example, writing 'if (foo)' with 'foo' being the name a function will trigger a warning.

Type

Boolean

Values

  • YES: Passes flag -Wbool-conversion
  • NO: Passes flag -Wno-bool-conversion

Default Value

$(CLANG_WARN_SUSPICIOUS_IMPLICIT_CONVERSION)

$CLANG_WARN_CONSTANT_CONVERSION

Description

Warn about implicit conversions of constant values that cause the constant value to change, either through a loss of precision, or entirely in its meaning.

Type

Boolean

Values

  • YES: Passes flag -Wconstant-conversion
  • NO: Passes flag -Wno-constant-conversion

Default Value

$(CLANG_WARN_SUSPICIOUS_IMPLICIT_CONVERSION)

$CLANG_WARN_CXX0X_EXTENSIONS

Description

When compiling C++ code using a language standard older than C++11, warn about the use of C++11 extensions.

Type

Boolean

Values

  • YES: Passes flag -Wc++11-extensions
  • NO: Passes flag -Wno-c++11-extensions

Default Value

NO

$CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS

Description

Warn if an Objective-C class either subclasses a deprecated class or overrides a method that has been marked deprecated.

Type

Boolean

Values

  • YES: Passes flag -Wdeprecated-implementations
  • NO: Passes flag -Wno-deprecated-implementations

Default Value

NO

$CLANG_WARN_DIRECT_OBJC_ISA_USAGE

Description

Warn about direct accesses to the Objective-C 'isa' pointer instead of using a runtime API.

Type

Enumeration

Values

  • YES:
  • YES_ERROR: Passes flag -Werror=deprecated-objc-isa-usage
  • NO: Passes flag -Wno-deprecated-objc-isa-usage

Default Value

YES_ERROR

$CLANG_WARN_DOCUMENTATION_COMMENTS

Description

Warns about issues in documentation comments (doxygen-style) such as missing or incorrect documentation tags. If enabled, passes flag: -Wdocumentation

Type

Boolean

Default Value

NO

$CLANG_WARN_EMPTY_BODY

Description

Warn about loop bodies that are suspiciously empty.

Type

Boolean

Values

  • YES: Passes flag -Wempty-body
  • NO: Passes flag -Wno-empty-body

Default Value

NO

$CLANG_WARN_ENUM_CONVERSION

Description

Warn about implicit conversions between different kinds of enum values. For example, this can catch issues when using the wrong enum flag as an argument to a function or method.

Type

Boolean

Values

  • YES: Passes flag -Wenum-conversion
  • NO: Passes flag -Wno-enum-conversion

Default Value

$(CLANG_WARN_SUSPICIOUS_IMPLICIT_CONVERSION)

$CLANG_WARN_IMPLICIT_SIGN_CONVERSION

Description

Warn about implicit integer conversions that change the signedness of an integer value.

Type

Boolean

Values

  • YES: Passes flag -Wsign-conversion
  • NO: Passes flag -Wno-sign-conversion

Default Value

NO

$CLANG_WARN_INT_CONVERSION

Description

Warn about implicit conversions between pointers and integers. For example, this can catch issues when one incorrectly intermixes using NSNumber*'s and raw integers.

Type

Boolean

Values

  • YES: Passes flag -Wint-conversion
  • NO: Passes flag -Wno-int-conversion

Default Value

$(CLANG_WARN_SUSPICIOUS_IMPLICIT_CONVERSION)

$CLANG_WARN_OBJC_EXPLICIT_OWNERSHIP_TYPE

Description

If enabled, passes flag -Wexplicit-ownership-type

Type

Boolean

Default Value

NO

$CLANG_WARN_OBJC_IMPLICIT_ATOMIC_PROPERTIES

Description

Warn about @property declarations that are implicitly atomic.

Type

Boolean

Values

  • YES: Passes flag -Wimplicit-atomic-properties
  • NO: Passes flag -Wno-implicit-atomic-properties

Default Value

NO

$CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF

Description

Warn about implicit retains of 'self' within blocks, which can create a retain-cycle. If enabled, passes flag -Wimplicit-retain-self

Type

Boolean

Default Value

NO

$CLANG_WARN_OBJC_MISSING_PROPERTY_SYNTHESIS

Description

If enabled, passes flag -Wobjc-missing-property-synthesis

Type

Boolean

Default Value

NO

$CLANG_WARN_OBJC_RECEIVER_WEAK

Description

Warn about sending messages to Objective-C pointers that are __weak. This aids in avoiding situations (e.g., race conditions) when the last strong reference goes away and a client is messaging a __weak pointer that can suddenly (and unexpectedly) become nil.

Type

Boolean

Values

  • YES: Passes flag -Wreceiver-is-weak
  • NO: Passes flag -Wno-receiver-is-weak

Default Value

NO

$CLANG_WARN_OBJC_REPEATED_USE_OF_WEAK

Description

Warn about repeatedly using a weak reference without assigning the weak reference to a strong reference. This is often symptomatic of a race condition where the weak reference can become nil between accesses, resulting in unexpected behavior. Assigning to temporary strong reference ensures the object stays alive during the related accesses.

Type

Boolean

Values

  • YES: Passes flag -Warc-repeated-use-of-weak
  • NO: Passes flag -Wno-arc-repeated-use-of-weak

Default Value

NO

$CLANG_WARN_OBJC_ROOT_CLASS

Description

Warn about classes that unintentionally do not subclass a root class (such as NSObject).

Type

Enumeration

Values

  • YES: enabled by default
  • NO: Passes flag -Wno-objc-root-class
  • YES_ERROR: Passes flag -Werror=objc-root-class

Default Value

YES_ERROR

$CLANG_WARN_SUSPICIOUS_IMPLICIT_CONVERSION

Description

Warn about various implicit conversions that can lose information or are otherwise suspicious.

Type

Boolean

Values

  • YES: Passes flag -Wconversion
  • NO: Passes flag -Wno-conversion

Default Value

NO

$CLANG_WARN_UNREACHABLE_CODE

Description

Warns about potentially unreachable code. If enabled, passes flag -Wunreachable-code

Type

Boolean

Default Value

NO

$CLANG_WARN__ARC_BRIDGE_CAST_NONARC

Description

If disabled, passes flag -Wno-arc-bridge-casts-disallowed-in-nonarc

Type

Boolean

Default Value

YES

$CLANG_WARN__DUPLICATE_METHOD_MATCH

Description

Warn about declaring the same method more than once within the same @interface. If enabled, passes flag -Wduplicate-method-match

Type

Boolean

Default Value

YES

$CLANG_WARN__EXIT_TIME_DESTRUCTORS

Description

Warn about destructors for C++ objects that are called when an application is terminating.

Type

Boolean

Values

  • YES: Passes flag -Wexit-time-destructors
  • NO: Passes flag -Wno-exit-time-destructors

Default Value

NO

$CLANG_X86_VECTOR_INSTRUCTIONS

Description

Enables the use of extended vector instructions. Only used when targeting Intel architectures. Passes flag -m$(value) if not set to default.

Type

Enumeration

Values

  • default: Platform default
  • sse3: SSE 3
  • ssse3: SSE 3 (with supplemental extensions)
  • sse4.1: SSE 4.1
  • sse4.2: SSE 4.2
  • avx: AVX
  • avx2: AVX 2

Default Value

$(DEFAULT_SSE_LEVEL_4_2_$(GCC_ENABLE_SSE42_EXTENSIONS))

Example Value

default

$CODE_SIGN_ENTITLEMENTS

Description

Specifies the name of the application’s entitlements property-list file.

Type

String

Default Value

empty string

Example Value

Entitlements.plist

$CODE_SIGN_IDENTITY

Description

Specifies the name of a code signing identity.

Type

String

Default Value

-

$CODE_SIGN_RESOURCE_RULES_PATH

Description

Identifies a property-list file containing resource-scanning instructions that override the rules for identifying bundle resources to sign.

Type

Path

Default Value

empty string

Example Value

ResourceRules.plist

$COLOR_DIAGNOSTICS

Type

Boolean

Default Value

NO

$COMBINE_HIDPI_IMAGES

Description

Combines image files at different resolutions into one multi-page TIFF file that is HiDPI compliant for Mac OS X 10.7 and later. Only image files in the same directory and with the same base name and extension are combined. The file names must conform to the naming convention used in HiDPI.

Type

Boolean

Default Value

NO

$COMPOSITE_SDK_DIRS

Description

Path to directory where Xcode creates a composited SDK of all SDKs used by a target.

Type

PathList

Default Value

$(CACHE_ROOT)/CompositeSDKs

Example Value

/var/folders/m5/j4zdc7f9157659_pd5p0_n980000gn/C/com.apple.DeveloperTools/6.2-6C131e/Xcode/CompositeSDKs

$COMPRESS_PNG_FILES

Description

Specifies whether to compress PNG files that are resources of the active target as they are copied to the application bundle. This applies only to iOS applications.

Type

Boolean

Values

  • YES: PNG files (those with the .png suffix) are compressed as they’re copied to the application bundle.
  • NO: No PNG compression takes place.

Default Value

YES

$CONFIGURATION

Description

Identifies the build configuration (for example, Debug or Release) the target uses to generate the product.

Type

String

Values

  • Debug
  • Release

$CONFIGURATION_BUILD_DIR

Description

Identifies the directory under which all build-related files for the active build configuration are placed.

Type

Path

Default Value

$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)

Example Value

/Users/genica/MyProject/build/Debug

$CONFIGURATION_TEMP_DIR

Description

Identifies the directory that holds temporary files for the active build configuration.

Type

Path

Default Value

$(PROJECT_TEMP_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)

Example Value

/Users/genica/MyProject/build/MyProject.build/Debug

$COPYING_PRESERVES_HFS_DATA

Description

Passes flag -preserve-hfs-data

Type

Boolean

Default Value

NO

$COPY_PHASE_STRIP

Description

Passes flag -strip-debug-symbols

Type

Boolean

Default Value

YES

$CP

Description

Path to the cp tool.

Type

Path

Default Value

/bin/cp

$CPP_HEADERMAP_FILE

Type

Path

Default Value

$(TEMP_DIR)/$(PRODUCT_NAME).hmap

Example Value

/Users/genica/MyProject/build/MyProject.build/Debug/MyProject.build/MyProject.hmap

$CPP_HEADERMAP_FILE_FOR_ALL_NON_FRAMEWORK_TARGET_HEADERS

Type

Path

Default Value

$(TEMP_DIR)/$(PRODUCT_NAME)-all-non-framework-target-headers.hmap

Example Value

/Users/genica/MyProject/build/MyProject.build/Debug/MyProject.build/MyProject-all-non-framework-target-headers.hmap

$CPP_HEADERMAP_FILE_FOR_ALL_TARGET_HEADERS

Type

Path

Default Value

$(TEMP_DIR)/$(PRODUCT_NAME)-all-target-headers.hmap

Example Value

/Users/genica/MyProject/build/MyProject.build/Debug/MyProject.build/MyProject-all-target-headers.hmap

$CPP_HEADERMAP_FILE_FOR_GENERATED_FILES

Type

Path

Default Value

$(TEMP_DIR)/$(PRODUCT_NAME)-generated-files.hmap

Example Value

/Users/genica/MyProject/build/MyProject.build/Debug/MyProject.build/MyProject-generated-files.hmap

$CPP_HEADERMAP_FILE_FOR_OWN_TARGET_HEADERS

Type

Path

Default Value

$(TEMP_DIR)/$(PRODUCT_NAME)-own-target-headers.hmap

Example Value

/Users/genica/MyProject/build/MyProject.build/Debug/MyProject.build/MyProject-own-target-headers.hmap

$CPP_HEADERMAP_FILE_FOR_PROJECT_FILES

Type

Path

Default Value

$(TEMP_DIR)/$(PRODUCT_NAME)-project-headers.hmap

Example Value

/Users/genica/MyProject/build/MyProject.build/Debug/MyProject.build/MyProject-project-headers.hmap

$CPP_HEADERMAP_PRODUCT_HEADERS_VFS_FILE

Type

Path

Default Value

$(PROJECT_TEMP_DIR)/all-product-headers.yaml

Example Value

/Users/genica/MyProject/build/MyProject.build/all-product-headers.yaml

Type

Path

Default Value

$(TEMP_DIR)/$(PRODUCT_NAME).hdrs

Example Value

/Users/genica/MyProject/build/MyProject.build/Debug/MyProject.build/MyProject.hdrs

$CREATE_INFOPLIST_SECTION_IN_BINARY

Description

If a section should be added to the Mach-O binary header for an embedded Info.plist

Type

Boolean

Default Value

NO

$CURRENT_ARCH

Description

Identifies the architecture on which the build is being performed.

Type

String

Example Value

x86_64

$CURRENT_PROJECT_VERSION

Description

This setting defines the the current version of the project. The value must be a integer or floating point number like 57 or 365.8.

Type

String

Default Value

empty string

$CURRENT_VARIANT

Description

Identifies the build variant being processed.

Type

String

Values

$DEAD_CODE_STRIPPING

Description

Activating this setting causes the -dead_strip flag to be passed to ld(1) via cc(1) to turn on dead code stripping. If this option is selected, -gfull (not -gused) must be used to generate debugging symbols in order to have them correctly stripped. Passes flag -dead_strip

Type

Boolean

Default Value

NO

$DEBUG_INFORMATION_FORMAT

Description

Identifies the format used to store the binary’s debug information.

Type

String

Values

  • dwarf: Use the DWARF format and place the debug information in the binary.
  • dwarf-with-dsym: Use the DWARF format and place the debug information in a dSYM file.

Default Value

dwarf

$DEFAULT_COMPILER

Description

This is assigned from the target platform.

Type

String

Default Value

empty string

$DEFAULT_KEXT_INSTALL_PATH

Description

This value is assigned by the target platform.

Type

String

Default Value

$(SYSTEM_KEXT_INSTALL_PATH)

$DEFAULT_SSE_LEVEL_3_NO

Type

String

Default Value

default

$DEFAULT_SSE_LEVEL_3_YES

Type

String

Default Value

sse3

$DEFAULT_SSE_LEVEL_3_SUPPLEMENTAL_NO

Type

String

Default Value

$(DEFAULT_SSE_LEVEL_3_$(GCC_ENABLE_SSE3_EXTENSIONS))

Example Value

default

$DEFAULT_SSE_LEVEL_3_SUPPLEMENTAL_YES

Type

String

Default Value

ssse3

$DEFAULT_SSE_LEVEL_4_1_NO

Type

String

Default Value

$(DEFAULT_SSE_LEVEL_3_SUPPLEMENTAL_$(GCC_ENABLE_SUPPLEMENTAL_SSE3_INSTRUCTIONS))

$DEFAULT_SSE_LEVEL_4_1_YES

Type

String

Default Value

sse4.1

$DEFAULT_SSE_LEVEL_4_2_NO

Type

String

Default Value

$(DEFAULT_SSE_LEVEL_4_1_$(GCC_ENABLE_SSE41_EXTENSIONS))

$DEFAULT_SSE_LEVEL_4_2_YES

Type

String

Default Value

sse4.2

$DEFINES_MODULE

Description

If enabled, the product will be treated as defining its own module. This enables automatic production of LLVM module map files when appropriate, and allows the product to be imported as a module.

Type

Boolean

Default Value

NO

$DEPLOYMENT_LOCATION

Description

Specifies whether product files are placed in the installation or the build directory.

Type

Boolean

Values

Default Value

  • When $(ACTION)=install: YES
  • Otherwise: NO

$DEPLOYMENT_POSTPROCESSING

Description

Specifies whether the binary receives deployment postprocessing. Deployment postprocessing involves stripping the binary, and setting its file mode, owner, and group.

Type

Boolean

Values

  • YES: Binary receives deployment postprocessing.
  • NO: Binary does not receive deployment postprocessing.

Default Value

  • YES: When $(ACTION)=install.
  • NO: Is the alternative.

$DERIVED_FILE_DIR

Description

Identifies the directory into which derived source files—such as those generated by lex and yacc—are placed.

Type

Path

Default Value

$(TEMP_DIR)/DerivedSources

$DERIVED_FILES_DIR

Description

See $(DERIVED_FILE_DIR)

Type

Path

Default Value

$(DERIVED_FILE_DIR)

$DERIVED_SOURCES_DIR

Description

See $(DERIVED_FILE_DIR)

Type

Path

Default Value

$(DERIVED_FILE_DIR)

$DEVELOPER_APPLICATIONS_DIR

Type

Path

Default Value

$(DEVELOPER_DIR)/Applications

Example Value

/Applications/Xcode.app/Contents/Developer/Applications

$DEVELOPER_BIN_DIR

Type

Path

Default Value

$(DEVELOPER_DIR)/usr/bin

Example Value

/Applications/Xcode.app/Contents/Developer/usr/bin

$DEVELOPER_DIR

Type

Path

Default Value

xcode-select -p

Example Value

/Applications/Xcode.app/Contents/Developer

$DEVELOPER_FRAMEWORKS_DIR

Type

Path

Default Value

$(DEVELOPER_DIR)/Library/Frameworks

Example Value

/Applications/Xcode.app/Contents/Developer/Library/Frameworks

$DEVELOPER_FRAMEWORKS_DIR_QUOTED

Type

Path

Default Value

$(DEVELOPER_DIR)/Library/Frameworks

Example Value

/Applications/Xcode.app/Contents/Developer/Library/Frameworks

$DEVELOPER_LIBRARY_DIR

Type

Path

Default Value

$(DEVELOPER_DIR)/Library

Example Value

/Applications/Xcode.app/Contents/Developer/Library

$DEVELOPER_SDK_DIR

Type

Path

Default Value

$(DEVELOPER_DIR)/Platforms/MacOSX.platform/Developer/SDKs

Example Value

/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs

$DEVELOPER_TOOLS_DIR

Type

Path

Default Value

$(DEVELOPER_DIR)/Tools

Example Value

/Applications/Xcode.app/Contents/Developer/Tools

$DEVELOPER_USR_DIR

Type

Path

Default Value

$(DEVELOPER_DIR)/usr

Example Value

/Applications/Xcode.app/Contents/Developer/usr

$DSTROOT

Description

Identifies the directory into which the product is placed. In this directory, the product is laid out exactly as it would be installed in a user’s filesystem.

Type

Path

Default Value

/tmp/$(PROJECT_NAME).dst

Example Value

/tmp/MyProject.dst

$DT_TOOLCHAIN_DIR

Description

Path to default toolchain.

Type

Path

Default Value

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain

$DYLIB_COMPATIBILITY_VERSION

Description

Specifies the compatibility version of a dynamic library product. See Dynamic Library Design Guidelines in Dynamic Library Programming Topics for details on assigning version numbers of dynamic libraries.

Type

String

Default Value

empty string

$DYLIB_CURRENT_VERSION

Description

Specifies the current version of a dynamic library product. See "Dynamic Library Design Guidelines" in Dynamic Library Programming Topics for details on assigning version numbers of dynamic libraries.

Type

String

Default Value

empty string

$DYLIB_INSTALL_NAME_BASE

Description

Sets the base value for the internal "install path" $(LC_ID_DYLIB) in a dynamic library. This will be combined with the $(EXECUTABLE_PATH) to form the full install path. Setting $(LD_DYLIB_INSTALL_NAME) directly will override this setting. This setting defaults to the target's $(INSTALL_PATH). It is ignored when building any product other than a dynamic library.

Type

StringList

Default Value

empty string

$EFFECTIVE_PLATFORM_NAME

Description

Name of target platform.

Type

String

Values

  • When current platform identifier is com.apple.platform.macosx: empty string
  • Otherwise: -$(PLATFORM_NAME)

$EMBEDDED_CONTENT_CONTAINS_SWIFT

Description

Enable this setting to indicate that content embedded in a target's product contains Swift code, so that the standard Swift libraries can be included in the product. See also 1 and 2.

Type

Boolean

Default Value

NO

$EMBEDDED_PROFILE_NAME

Description

Name of the embedded provisioning profile file.

Type

String

Default Value

empty string

Example Value

embedded.provisionprofile

$ENABLE_APPLE_KEXT_CODE_GENERATION

Description

If enabled, passes flag -fapple-kext

Type

Boolean

Default Value

NO

$ENABLE_HEADER_DEPENDENCIES

Description

Specifies whether data gathered from header-file scans is used in the build process.

Type

Boolean

Values

  • YES: The build uses data gathered from header-file scans.
  • NO: The build does not use data gathered from header-file scans.

Default Value

YES

$ENABLE_NS_ASSERTIONS

Description

Controls whether assertion logic provided by NSAssert is included in the preprocessed source code or is elided during preprocessing. Disabling assertions can improve code performance. If disabled, passes flag -DNS_BLOCK_ASSERTIONS=1

Type

Boolean

Default Value

YES

$ENABLE_STRICT_OBJC_MSGSEND

Description

Controls whether objc_msgSend calls must be cast to the appropriate function pointer type before being called. If enabled, passes flag -DOBJC_OLD_DISPATCH_PROTOTYPES=0

Type

Boolean

Default Value

NO

$EXCLUDED_INSTALLSRC_SUBDIRECTORY_PATTERNS

Description

Space-separated list of subdirectories to exclude.

Type

StringList

Default Value

.DS_Store .svn .git .hg CVS

$EXCLUDED_RECURSIVE_SEARCH_PATH_SUBDIRECTORIES

Description

Space-separated list of subdirectories to exclude.

Type

StringList

Default Value

*.nib *.lproj *.framework *.gch *.xcode* (*) .DS_Store CVS .svn .git .hg

$EXECUTABLE_EXTENSION

Description

This is the extension used for the executable product generated by the target, which has a default value based on the product type.

Type

String

Default Value

empty string

$EXECUTABLE_PREFIX

Description

This is the prefix used for the executable product generated by the target, which has a default value based on the product type.

Type

String

Default Value

empty string

$EXECUTABLE_SUFFIX

Description

This is the suffix used for the executable product generated by the target, which has a default value based on the product type.

Type

String

Default Value

empty string

$EXECUTABLE_VARIANT_SUFFIX

Description

This is the suffix (based on $(CURRENT_VARIANT)) used for the executable product generated by the target, which has a default value based on the product type.

Type

String

Default Value

empty string

$EXPORTED_SYMBOLS_FILE

Description

This is a project-relative path to a file that lists the symbols to export. Passes flag -exported_symbols_list

Type

Path

Default Value

empty string

$FILE_LIST

Type

Path

Default Value

$(OBJECT_FILE_DIR)/LinkFileList

Example Value

/Users/genica/MyProject/build/MyProject.build/Debug/MyProject.build/Objects/LinkFileList

$FRAMEWORK_SEARCH_PATHS

Description

Space-separated list of directory paths. Specifies directories in which the compiler searches for frameworks to find included header files. You may specify a recursive path by appending ** to the path. When this build setting is defined, $(SDKROOT) is added to the end of the path list that is passed to the compiler.

Type

PathList

Default Value

empty string

Example Value

  • /Users/genica/TestFrameworks/**
  • /Volumes/Auryon/TeamFrameworks/**

$FRAMEWORK_VERSION

Description

Version identifier of a framework.

Type

String

Default Value

A

$GCC3_VERSION

Description

GCC version.

Type

String

Default Value

3.3

$GCC_CHAR_IS_UNSIGNED_CHAR

Description

Enabling this setting causes 'char' to be unsigned by default, disabling it causes 'char' to be signed by default. If enabled, passes flag -funsigned-char

Type

Boolean

Default Value

NO

$GCC_CW_ASM_SYNTAX

Description

Enable the CodeWarrior/Microsoft syntax for inline assembly code in addition to the standard GCC syntax.

Type

Boolean

Values

  • YES: Use CodeWarrior syntax for inline assembly code. Passes -fasm-blocks
  • NO: Do not use CodeWarrior syntax for inline assembly code.

Default Value

YES

$GCC_C_LANGUAGE_STANDARD

Description

Choose a standard or non-standard C language dialect.

Type

Enumeration

Values

  • ansi: -ansi ANSI C: Accept ISO C90 and ISO C++, turning off GNU extensions that are incompatible. Incompatible GNU extensions include the asm, inline, and typeof keywords (but not the equivalent __asm__, __inline__, and __typeof__ forms), and the // syntax for comments. This setting also enables trigraphs.
  • c89: -std=c89 C89: Accept ISO C90 (1990), but not GNU extensions.
  • gnu89: -std=gnu89 GNU89: Accept ISO C90 and GNU extensions.
  • c99: -std=c99 C99: Accept ISO C99 (1999), but not GNU extensions.
  • gnu99: -std=gnu99 GNU99: Accept ISO C99 and GNU extensions.
  • c11: -std=c11 C11: Accept ISO C11 (2011), but not GNU extensions.
  • gnu11: -std=gnu11 GNU11: Accept ISO C11 and GNU extensions.
  • compiler-default: Compiler Default: Tells the compiler to use its default C language dialect. This is normally the best choice unless you have specific needs. (Currently equivalent to GNU99.)

Default Value

compiler-default

$GCC_DEBUG_INFORMATION_FORMAT

Description

Debug information file format.

Type

Enumeration

Values

  • dwarf: Passes -g
  • dwarf-with-dsym: Passes -g
  • Otherwise:

Default Value

$(DEBUG_INFORMATION_FORMAT)

$GCC_DYNAMIC_NO_PIC

Description

Faster function calls for applications. Not appropriate for shared libraries (which need to be position-independent).

Type

Boolean

Values

  • YES: Generated code is nonrelocatable when the prerequisite is met. Passes flag -mdynamic-no-pic
  • NO: Generated code is relocatable.

Default Value

NO

$GCC_ENABLE_ASM_KEYWORD

Description

Controls whether 'asm', 'inline', and 'typeof' are treated as keywords or whether they can be used as identifiers. If disabled, passes flag -fno-asm

Type

Boolean

Default Value

YES

$GCC_ENABLE_BUILTIN_FUNCTIONS

Description

Controls whether built-in functions that do not begin with __builtin_ as prefix are recognized. GCC normally generates special code to handle certain built-in functions more efficiently; for instance, calls to "alloca" may become single instructions that adjust the stack directly, and calls to "memcpy" may become inline copy loops. The resulting code is often both smaller and faster, but since the function calls no longer appear as such, you cannot set a breakpoint on those calls, nor can you change the behavior of the functions by linking with a different library. In addition, when a function is recognized as a built-in function, GCC may use information about that function to warn about problems with calls to that function, or to generate more efficient code, even if the resulting code still contains calls to that function. For example, warnings are given with -Wformat for bad calls to "printf", when "printf" is built in, and "strlen" is known not to modify global memory. If disabled, passes flag -fno-builtin

Type

Boolean

Default Value

YES

$GCC_ENABLE_CPP_EXCEPTIONS

Description

Enable C++ exception handling. Generates extra code needed to propagate exceptions. For some targets, this implies GCC will generate frame unwind information for all functions, which can produce significant data size overhead, although it does not affect execution. If you do not specify this option, GCC will enable it by default for languages like C++ which normally require exception handling, and disable it for languages like C that do not normally require it. However, you may need to enable this option when compiling C code that needs to interoperate properly with exception handlers written in C++.

Type

Boolean

Values

  • YES: Compiler generates code necessary for exception propagation.
  • NO: Compiler does not generate code necessary for exception propagation. Passes flag -fno-exceptions

Default Value

YES

$GCC_ENABLE_CPP_RTTI

Description

Enable generation of information about every class with virtual functions for use by the C++ runtime type identification features ( dynamic_cast and typeid ). If you don't use those parts of the language, you can save some space by using this flag. Note that exception handling uses the same information, but it will generate it as needed.

Type

Boolean

Values

  • YES: Binary includes information about virtual classes.
  • NO: Binary might not include information about virtual classes. Passes flag -fno-rtti

Default Value

YES

$GCC_ENABLE_EXCEPTIONS

Description

Enable exception handling. Generates extra code needed to propagate exceptions. For some targets, this implies GCC will generate frame unwind information for all functions, which can produce significant data size overhead, although it does not affect execution. If you do not specify this option, GCC will enable it by default for languages like C++ and Objective-C which normally require exception handling, and disable it for languages like C that do not normally require it. However, you may need to enable this option when compiling C code that needs to interoperate properly with exception handlers written in other languages. You may also wish to disable this option if you are compiling older programs that don't use exception handling. Passes flag -fexceptions

Type

Boolean

Default Value

NO

$GCC_ENABLE_FLOATING_POINT_LIBRARY_CALLS

Description

Generate output containing library calls for floating point. If enabled, passes flag -msoft-float

Type

Boolean

Default Value

NO

$GCC_ENABLE_KERNEL_DEVELOPMENT

Description

Activating this setting enables kernel development mode. This mode sets -static, -fno-common, -fno-cxa-atexit, -fno-exceptions, -fno-non-call-exceptions, -fapple-kext, -fno-weak, and -fno-rtti where applicable. This mode also sets -mno-altivec, -msoft-float, -fno-builtin, and -mlong-branch for PowerPC targets. Passes flag -mkernel

Type

Boolean

Default Value

NO

$GCC_ENABLE_OBJC_EXCEPTIONS

Description

This setting enables @try/@catch/@throw syntax for handling exceptions in Objective-C code. Specifies whether the compiler recognizes @try, @catch, and @throw directives.

Type

Boolean

Values

  • YES: Recognize the Objective-C exception-handling directives.
  • NO: Do not allow the Objective-C exception-handling directives in source code. Passes flag -fno-objc-exceptions

Default Value

YES

$GCC_ENABLE_OBJC_GC

Description

Specifies the level of garbage-collection support for the generated code.

Type

Enumeration

Values

  • unsupported: The application cannot load code that requires garbage collection. The loadable bundle cannot be loaded by an application that requires garbage collection.
  • supported: The application can load code that supports or requires garbage collection. The loadable bundle can be loaded by an application with any level of garbage-collection support. Passes flag -fobjc-gc
  • required: The application can load only code that supports garbage collection. The loadable bundle can be loaded only by an application that supports garbage collection. Passes flag -fobjc-gc-only

Default Value

unsupported

$GCC_ENABLE_PASCAL_STRINGS

Description

Recognize and construct Pascal-style string literals. Its use in new code is discouraged. Pascal string literals take the form \\pstring. The special escape sequence \\p denotes the Pascal length byte for the string, and will be replaced at compile time with the number of characters that follow. The \p may only appear at the beginning of a string literal, and may not appear in wide string literals or as an integral constant. If enabled, passes flag -fpascal-strings

Type

Boolean

Default Value

YES

$GCC_ENABLE_SSE3_EXTENSIONS

Description

Specifies whether the binary uses the built-in functions that provide access to the SSE3 extensions to the IA-32 architecture. Old build setting. Kept around for old project compatibility. Forwards to $(CLANG_X86_VECTOR_INSTRUCTIONS)

Type

Boolean

Values

  • YES: Binary uses SSE3 functions.
  • NO: Binary does not use SSE3 functions.

Default Value

NO

$GCC_ENABLE_SSE41_EXTENSIONS

Description

Specifies whether the binary uses the built-in functions that provide access to the SSE4.1 extensions to the IA-32 architecture. Old build setting. Kept around for old project compatibility. Forwards to $(CLANG_X86_VECTOR_INSTRUCTIONS)

Type

Boolean

Values

  • YES: Binary uses SSE4.1 functions.
  • NO: Binary does not use SSE4.1 functions.

Default Value

NO

$GCC_ENABLE_SSE42_EXTENSIONS

Description

Specifies whether the binary uses the built-in functions that provide access to the SSE4.2 extensions to the IA-32 architecture. Old build setting. Kept around for old project compatibility. Forwards to $(CLANG_X86_VECTOR_INSTRUCTIONS)

Type

Boolean

Values

  • YES: Binary uses SSE4.2 functions.
  • NO: Binary does not use SSE4.2 functions.

Default Value

NO

$GCC_ENABLE_SUPPLEMENTAL_SSE3_INSTRUCTIONS

Description

Old build setting. Kept around for old project compatibility. Forwards to $(CLANG_X86_VECTOR_INSTRUCTIONS).

Type

Boolean

Default Value

NO

$GCC_ENABLE_TRIGRAPHS

Description

Controls whether or not trigraphs are permitted in the source code.

Type

Boolean

Values

  • YES: Passes flag -trigraphs
  • NO: Passes flag -Wno-trigraghs

Default Value

NO

$GCC_FAST_MATH

Description

Enables some floating point optimizations that are not IEEE754-compliant, but which usually work. Programs which require strict IEEE compliance may not work with this option. If enabled, passes flag -ffast-math

Type

Boolean

Default Value

NO

$GCC_GENERATE_DEBUGGING_SYMBOLS

Description

Enables or disables generation of debug symbols. When debug symbols are enabled, the level of detail can be controlled by the build 'Level of Debug Symbols' setting.

Type

Boolean

Values

  • YES: Binary includes debugging symbols.
  • NO: Binary does not include debugging symbols.

Default Value

YES

$GCC_GENERATE_TEST_COVERAGE_FILES

Description

Activating this setting causes a 'notes' file to be produced that the gcov code-coverage utility can use to show program coverage. If enabled, passes flag -ftest-coverage

Type

Boolean

Default Value

NO

$GCC_INCREASE_PRECOMPILED_HEADER_SHARING

Description

Enabling this option will enable increased sharing of precompiled headers among targets which share the same prefix header and precompiled header directory. Xcode distinguishes among precompiled header files by generating a hash value based on the command-line options to the compiler used to create the PCH. Enabling this option will exclude certain compiler options from that hash. Presently this option will exclude search path options (-I, -iquote, -isystem, -F, -L) from the hash. Enabling increased sharing of PCH files carries some risk: If two targets use the same prefix header but have different include paths which cause the prefix header to include different files when they are precompiled, then subtle problems may result because one target will use a PCH which was built using files included by the other target. In this case, this option must be turned off in order to enforce correctness.

Type

Boolean

Default Value

NO

$GCC_INLINES_ARE_PRIVATE_EXTERN

Description

When enabled, out-of-line copies of inline methods are declared private extern. If enabled, passes flag -fvisibility-inlines-hidden

Type

Boolean

Default Value

NO

$GCC_INPUT_FILETYPE

Description

Specifies whether to compile each source file according to its file type, or whether to treat all source files in the target as if they are of a specific language.

Type

Enumeration

Values

  • automatic: According to File Type
  • sourcecode.c.c: C
  • sourcecode.c.objc: Objective-C
  • sourcecode.cpp.cpp: C++
  • sourcecode.cpp.objcpp: Objective-C++

Default Value

automatic

$GCC_INSTRUMENT_PROGRAM_FLOW_ARCS

Description

Activating this setting indicates that code should be added so program flow arcs are instrumented. If enabled, passes flag -fprofile-arcs

Type

Boolean

Default Value

NO

Description

Enabling this option allows linking with the shared libraries. This is the default for most product types. If disabled, passes flag -static

Type

Boolean

Default Value

YES

$GCC_MACOSX_VERSION_MIN

Description

Sets the minimum deployment version for OS X. Passes flag -mmacosx-version-min=$(value)

Type

String

Default Value

$(MACOSX_DEPLOYMENT_TARGET)

$GCC_NO_COMMON_BLOCKS

Description

In C, allocate even uninitialized global variables in the data section of the object file, rather than generating them as common blocks. This has the effect that if the same variable is declared (without extern) in two different compilations, you will get an error when you link them. The only reason this might be useful is if you wish to verify that the program will work on other systems which always work this way. If enabled, passes flag -fno-common

Type

Boolean

Default Value

NO

$GCC_OBJC_ABI_VERSION

Description

Used by iPhoneSimulator to specify the ObjC runtime for architecture. Passes flag -fobjc-abi-version=$(value)

Type

Enumeration

Values

  • 1: Objective-C version 1
  • 2: Objective-C version 2

Default Value

$(OBJC_ABI_VERSION)

$GCC_OBJC_LEGACY_DISPATCH

Description

Used by iPhoneSimulator to specify the ObjC runtime for architecture. Passes flag -fobjc-legacy-dispatch

Type

Boolean

Default Value

NO

$GCC_OPERATION

Description

Old build setting.

Type

Enumeration

Values

  • compile
  • generate-preprocessed
  • generate-assembler
  • precompile
  • separate-symbols

Default Value

compile

$GCC_OPTIMIZATION_LEVEL

Description

Specifies the degree to which the generated code is optimized for speed and binary size. Passes flag -O$(value)

Type

Enumeration

Values

  • 0: None: Do not optimize.
    • With this setting, the compiler's goal is to reduce the cost of compilation and to make debugging produce the expected results. Statements are independent: if you stop the program with a breakpoint between statements, you can then assign a new value to any variable or change the program counter to any other statement in the function and get exactly the results you would expect from the source code.
  • 1: Fast: Optimizing compilation takes somewhat more time, and a lot more memory for a large function.
    • With this setting, the compiler tries to reduce code size and execution time, without performing any optimizations that take a great deal of compilation time. In Apple's compiler, strict aliasing, block reordering, and inter-block scheduling are disabled by default when optimizing.
  • 2: Faster: The compiler performs nearly all supported optimizations that do not involve a space-speed tradeoff.
    • With this setting, the compiler does not perform loop unrolling or function inlining, or register renaming. As compared to the 'Fast' setting, this setting increases both compilation time and the performance of the generated code.
  • 3: Fastest: Turns on all optimizations specified by the 'Faster' setting and also turns on function inlining and register renaming options. This setting may result in a larger binary.
  • s: Fastest, Smallest: Optimize for size. This setting enables all 'Faster' optimizations that do not typically increase code size. It also performs further optimizations designed to reduce code size.
  • fast: Fastest, Aggressive Optimizations: This setting enables 'Fastest' but also enables aggressive optimizations that may break strict standards compliance but should work well on well-behaved code.

Default Value

s

$GCC_PFE_FILE_C_DIALECTS

Description

Space-separated list of supported C dialect files.

Type

StringList

Default Value

c objective-c c++ objective-c++

$GCC_PRECOMPILE_PREFIX_HEADER

Description

Generates a precompiled header for the prefix header, which should reduce overall build times.

Type

Boolean

Values

  • YES: Target generates a prefix header when the prerequisite is met.
  • NO: Target does not generate a prefix header.

Default Value

$(PRECOMPILE_PREFIX_HEADER)

$GCC_PREFIX_HEADER

Description

Implicitly include the named header. The path given should either be a project relative path or an absolute path.

Type

String

Default Value

$(PREFIX_HEADER)

Example Value

MyProduct_Prefix.pch

$GCC_PREPROCESSOR_DEFINITIONS

Description

Space-separated list of preprocessor macros of the form "foo" or "foo=bar". Each element is passed with flag -D

Type

StringList

Default Value

  • When $(CONFIGURATION)=Debug: DEBUG=1
  • Otherwise: empty string

$GCC_PREPROCESSOR_DEFINITIONS_NOT_USED_IN_PRECOMPS

Description

Space-separated list of preprocessor macros of the form "foo" or "foo=bar". These macros are not used when precompiling a prefix header file.

Type

StringList

Default Value

empty string

$GCC_PRODUCT_TYPE_PREPROCESSOR_DEFINITIONS

Description

See $(GCC_PREPROCESSOR_DEFINITIONS).

Type

StringList

Default Value

empty string

$GCC_REUSE_STRINGS

Description

Reuse string literals. If disabled, passes flag -fwritable-strings

Type

Boolean

Default Value

YES

$GCC_SHORT_ENUMS

Description

Make enums only as large as needed for the range of possible values. If enabled, passes flag -fshort-enums

Type

Boolean

Default Value

NO

$GCC_STRICT_ALIASING

Description

Optimize code by making more aggressive assumptions about whether pointers can point to the same objects as other pointers. Programs which use pointers a lot may benefit from this, but programs that don't strictly follow the ISO C rules about the type with which an object may be accessed may behave unexpectedly.

Type

Boolean

Values

  • YES: Passes flag -fstrict-aliasing
  • NO: Passes flag -fno-strict-aliasing

Default Value

YES

$GCC_SYMBOLS_PRIVATE_EXTERN

Description

When enabled, all symbols are declared private extern unless explicitly marked to be exported using __attribute__((visibility("default"))) in code. If not enabled, all symbols are exported unless explicitly marked as private extern. For more information, see Symbol Visibility.

Type

Boolean

Values

  • YES: Symbols that do not specify public visibility are not exported. Passes flag: -fvisibility=hidden
  • NO: Symbols that do not specify private visibility are exported.

Default Value

NO

$GCC_THREADSAFE_STATICS

Description

Emits extra code to use the routines specified in the C++ ABI for thread-safe initialization of local statics. You can disable this option to reduce code size slightly in code that doesn't need to be thread-safe.

Type

Boolean

Values

  • YES: Binary uses the IA-32 ABI thread-safe initialization functions.
  • NO: Binary does not use the IA-32 ABI thread-safe initialization functions. Passes flag -fno-threadsafe-statics

Default Value

YES

$GCC_TREAT_IMPLICIT_FUNCTION_DECLARATIONS_AS_ERRORS

Description

Causes warnings about missing function prototypes to be treated as errors. Only applies to C and Objective-C. If enabled, passes flag -Werror-implicit-function-declaration

Type

Boolean

Default Value

NO

$GCC_TREAT_INCOMPATIBLE_POINTER_TYPE_WARNINGS_AS_ERRORS

Description

Enabling this option causes warnings about incompatible pointer types to be treated as errors. If enabled, passes flag -Werror=incompatible-pointer-types

Type

Boolean

Default Value

NO

$GCC_TREAT_WARNINGS_AS_ERRORS

Description

Enabling this option causes all warnings to be treated as errors. If enabled, passes flag "-Werror

Type

Boolean

Default Value

NO

$GCC_UNROLL_LOOPS

Description

Unrolls loops. Unrolling makes the code larger, but may make it faster by reducing the number of branches executed.

Type

Boolean

Values

  • YES: Compiler generates code with unrolled loops. Passes flag -funroll-loops
  • NO: Compiler does not unroll loops.

Default Value

NO

$GCC_USE_GCC3_PFE_SUPPORT

Description

Used by GCC 3.1 and later only.

Type

Boolean

Default Value

YES

$GCC_USE_STANDARD_INCLUDE_SEARCHING

Description

If disabled, passes flag -nostdinc.

Type

Boolean

Default Value

YES

$GCC_VERSION

Description

Identifies the GCC version to be used to compile the target’s source files. When the target's "System C rule" is set to GCC System Version (instead of a specific version number), this build setting is not available in Run Script build phases.

Type

String

Default Value

empty string

$GCC_WARN_64_TO_32_BIT_CONVERSION

Description

Warn if a value is implicitly converted from a 64 bit type to a 32 bit type. This is a subset of the warnings provided by -Wconversion.

Type

Boolean

Values

  • YES: Passes flag -Wshorten-64-to-32
  • NO: Passes flag -Wno-shorten-64-to-32

Default Value

NO

$GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS

Description

Warn about the use of deprecated functions, variables, and types (as indicated by the 'deprecated' attribute).

Type

Boolean

Values

  • YES: Passes flag -Wdeprecated-declarations
  • NO: Passes flag -Wno-deprecated-declarations

Default Value

YES

$GCC_WARN_ABOUT_INVALID_OFFSETOF_MACRO

Description

Unchecking this setting will suppress warnings from applying the offsetof macro to a non-POD type. According to the 1998 ISO C++ standard, applying offsetof to a non-POD type is undefined. In existing C++ implementations, however, offsetof typically gives meaningful results even when applied to certain kinds of non-POD types. (Such as a simple struct that fails to be a POD type only by virtue of having a constructor.) This flag is for users who are aware that they are writing non-portable code and who have deliberately chosen to ignore the warning about it. The restrictions on offsetof may be relaxed in a future version of the C++ standard.

Type

Boolean

Values

  • YES: Passes flag -Winvalid-offsetof
  • NO: Passes flag -Wno-invalid-offsetof

Default Value

YES

$GCC_WARN_ABOUT_MISSING_FIELD_INITIALIZERS

Description

Warn if a structure's initializer has some fields missing. For example, the following code would cause such a warning, because "x.h" is implicitly zero:

  struct s { int f, g, h; };
  struct s x = { 3, 4 };

This option does not warn about designated initializers, so the following modification would not trigger a warning:

  struct s { int f, g, h; };
  struct s x = { .f = 3, .g = 4 };

Type

Boolean

Values

  • YES: Passes flag -Wmissing-field-initializers
  • NO: Passes flag -Wno-missing-field-initializers

Default Value

NO

$GCC_WARN_ABOUT_MISSING_NEWLINE

Description

Warn when a source file does not end with a newline.

Type

Boolean

Values

  • YES: Passes flag -Wnewline-eof
  • NO: Passes flag -Wno-newline-eof

Default Value

NO

$GCC_WARN_ABOUT_MISSING_PROTOTYPES

Description

Causes warnings to be emitted about missing prototypes.

Type

Boolean

Values

  • YES: Passes flag -Wmissing-prototypes
  • NO: Passes flag -Wno-missing-prototypes

Default Value

NO

$GCC_WARN_ABOUT_POINTER_SIGNEDNESS

Description

Warn when pointers passed via arguments or assigned to a variable differ in sign.

Type

Boolean

Values

  • YES: Passes flag -Wpointer-sign
  • NO: Passes flag -Wno-pointer-sign

Default Value

YES

$GCC_WARN_ABOUT_RETURN_TYPE

Description

Causes warnings to be emitted when a function with a defined return type (not void) contains a return statement without a return-value. Also emits a warning when a function is defined without specifying a return type.

Type

Enumeration

Values

  • YES:
  • YES_ERROR: Passes flag -Werror=return-type
  • NO: Passes flag -Wno-return-type

Default Value

YES_ERROR

$GCC_WARN_ALLOW_INCOMPLETE_PROTOCOL

Description

Warn if methods required by a protocol are not implemented in the class adopting it. Only applies to Objective-C.

Type

Boolean

Values

  • YES: Passes flag -Wprotocol
  • NO: Passes flag -Wno-protocol

Default Value

YES

$GCC_WARN_CHECK_SWITCH_STATEMENTS

Description

Warn whenever a switch statement has an index of enumeral type and lacks a case for one or more of the named codes of that enumeration. The presence of a default label prevents this warning. Case labels outside the enumeration range also provoke warnings when this option is used.

Type

Boolean

Values

  • YES: Passes flag -Wswitch
  • NO: Passes flag -Wno-switch

Default Value

YES

$GCC_WARN_FOUR_CHARACTER_CONSTANTS

Description

Warn about four-char literals (e.g., MacOS-style OSTypes: 'APPL').

Type

Boolean

Values

  • YES: Passes flag -Wfour-char-constants
  • NO: Passes flag -Wno-four-char-constants

Default Value

NO

$GCC_WARN_HIDDEN_VIRTUAL_FUNCTIONS

Description

Warn when a function declaration hides virtual functions from a base class. For example, in:

  struct A {
    virtual void f();
  };

  struct B: public A {
    void f(int);
  };

the A class version of f() is hidden in B, and code like this:

  B* b;
  b->f();

will fail to compile. This setting only applies to C++ and Objective-C++ sources.

Type

Boolean

Values

  • YES: Passes flag -Woverloaded-virtual
  • NO: Passes flag -Wno-overloaded-virtual

Default Value

NO

$GCC_WARN_INHIBIT_ALL_WARNINGS

Description

Inhibit all warning messages. If enabled, passes flag -w

Type

Boolean

Default Value

NO

$GCC_WARN_INITIALIZER_NOT_FULLY_BRACKETED

Description

Warn if an aggregate or union initializer is not fully bracketed.

Example, Here initializer for a is not fully bracketed, but that for b is fully bracketed.

  int a[2][2] = { 0, 1, 2, 3 };
  int b[2][2] = { { 0, 1 }, { 2, 3 } };

Type

Boolean

Values

  • YES: Passes flag -Wmissing-braces
  • NO: Passes flag -Wno-missing-braces

Default Value

NO

$GCC_WARN_MISSING_PARENTHESES

Description

Warn if parentheses are omitted in certain contexts, such as when there is an assignment in a context where a truth value is expected, or when operators are nested whose precedence people often get confused about.

Also warn about constructions where there may be confusion to which if statement an else branch belongs. Here is an example of such a case:

  {
    if (a)
      if (b)
        foo ();
    else
      bar ();
  }

In C, every else branch belongs to the innermost possible if statement, which in this example is if (b) . This is often not what the programmer expected, as illustrated in the above example by indentation the programmer chose. When there is the potential for this confusion, GCC will issue a warning when this flag is specified. To eliminate the warning, add explicit braces around the innermost if statement so there is no way the else could belong to the enclosing if . The resulting code would look like this:

  {
    if (a)
      {
        if (b)
          foo ();
        else
          bar ();
      }
  }

Type

Boolean

Values

  • YES: Passes flag -Wparentheses
  • NO: Passes flag -Wno-parentheses

Default Value

YES

$GCC_WARN_MULTIPLE_DEFINITION_TYPES_FOR_SELECTOR

Description

Warn if multiple methods of different types for the same selector are found during compilation. The check is performed on the list of methods in the final stage of compilation. Additionally, a check is performed for each selector appearing in a @selector(...) expression, and a corresponding method for that selector has been found during compilation. Because these checks scan the method table only at the end of compilation, these warnings are not produced if the final stage of compilation is not reached, for example because an error is found during compilation, or because the -fsyntax-only option is being used.

Type

Boolean

Values

  • YES: Passes flag -Wselector
  • NO: Passes flag -Wno-selector

Default Value

NO

$GCC_WARN_NON_VIRTUAL_DESTRUCTOR

Description

Warn when a class declares an nonvirtual destructor that should probably be virtual, because it looks like the class will be used polymorphically.

Type

Boolean

Values

  • YES: Passes flag -Wnon-virtual-dtor
  • NO: Passes flag -Wno-non-virtual-dtor

Default Value

NO

$GCC_WARN_PEDANTIC

Description

Issue all the warnings demanded by strict ISO C and ISO C++; reject all programs that use forbidden extensions, and some other programs that do not follow ISO C and ISO C++. For ISO C, follows the version of the ISO C standard specified by any -std option used. If enabled, passes flag -pedantic

Type

Boolean

Default Value

NO

$GCC_WARN_SHADOW

Description

Warn whenever a local variable shadows another local variable, parameter or global variable or whenever a built-in function is shadowed.

Type

Boolean

Values

  • YES: Passes flag -Wshadow
  • NO: Passes flag -Wno-shadow

Default Value

NO

$GCC_WARN_SIGN_COMPARE

Description

Warn when a comparison between signed and unsigned values could produce an incorrect result when the signed value is converted to unsigned. If enabled, passes flag -Wsign-compare

Type

Boolean

Default Value

NO

$GCC_WARN_STRICT_SELECTOR_MATCH

Description

Warn if multiple methods with differing argument and/or return types are found for a given selector when attempting to send a message using this selector to a receiver of type "id" or "Class". When this setting is disabled, the compiler will omit such warnings if any differences found are confined to types which share the same size and alignment.

Type

Boolean

Values

  • YES: Passes flag -Wselector
  • NO: Passes flag -Wno-selector

Default Value

NO

$GCC_WARN_TYPECHECK_CALLS_TO_PRINTF

Description

Check calls to printf and scanf, etc., to make sure that the arguments supplied have types appropriate to the format string specified, and that the conversions specified in the format string make sense. Enabled by default. If disabled, passes flag -Wno-format

Type

Boolean

Default Value

YES

$GCC_WARN_UNDECLARED_SELECTOR

Description

Warn if a @selector(...) expression referring to an undeclared selector is found. A selector is considered undeclared if no method with that name has been declared before the @selector(...) expression, either explicitly in an @interface or @protocol declaration, or implicitly in an @implementation section. This option always performs its checks as soon as a @selector(...) expression is found, while -Wselector only performs its checks in the final stage of compilation. This also enforces the coding style convention that methods and selectors must be declared before being used.

Type

Boolean

Values

  • YES: Passes flag -Wundeclared-selector
  • NO: Passes flag -Wno-undeclared-selector

Default Value

NO

$GCC_WARN_UNINITIALIZED_AUTOS

Description

Warn if a variable might be clobbered by a setjmp call or if an automatic variable is used without prior initialization. Note that the compiler may not detect all cases where an automatic variable is initialized or all usage patterns that may lead to use prior to initialization. You can toggle between the normal uninitialized value checking or the more aggressive (conservative) checking which finds more issues but the checking is much stricter.

Type

Enumeration

Values

  • YES: Passes flag -Wuninitialized
  • YES_AGGRESSIVE: Passes flag -Wconditional-uninitialized
  • NO: Passes flag -Wno-uninitialized

Default Value

NO

$GCC_WARN_UNKNOWN_PRAGMAS

Description

Warn when a #pragma directive is encountered which is not understood by GCC. If this command line option is used, warnings will even be issued for unknown pragmas in system header files. This is not the case if the warnings were only enabled by the -Wall command line option.

Type

Boolean

Values

  • YES: Passes flag -Wunknown-pragmas
  • NO: Passes flag -Wno-unknown-pragmas

Default Value

NO

$GCC_WARN_UNUSED_FUNCTION

Description

Warn whenever a static function is declared but not defined or a non-inline static function is unused.

Type

Boolean

Values

  • YES: Passes flag -Wunused-function
  • NO: Passes flag -Wno-unused-function

Default Value

NO

$GCC_WARN_UNUSED_LABEL

Description

Warn whenever a label is declared but not used.

Type

Boolean

Values

  • YES: Passes flag -Wunused-label
  • NO: Passes flag -Wno-unused-label

Default Value

NO

$GCC_WARN_UNUSED_PARAMETER

Description

Warn whenever a function parameter is unused aside from its declaration.

Type

Boolean

Values

  • YES: Passes flag -Wunused-parameter
  • NO: Passes flag -Wno-unused-parameter

Default Value

NO

$GCC_WARN_UNUSED_VALUE

Description

Warn whenever a statement computes a result that is explicitly not used.

Type

Boolean

Values

  • YES: Passes flag -Wunused-value
  • NO: Passes flag -Wno-unused-value

Default Value

YES

$GCC_WARN_UNUSED_VARIABLE

Description

Warn whenever a local variable or non-constant static variable is unused aside from its declaration.

Type

Boolean

Values

  • YES: Passes flag -Wunused-variable
  • NO: Passes flag -Wno-unused-variable

Default Value

NO

$GENERATE_MASTER_OBJECT_FILE

Description

Activating this setting will cause the object files built by a target to be prelinked using ld -r into a single object file, and that object file will then be linked into the final product. This is useful to force the linker to resolve symbols and link the object files into a single module before building a static library. Also, a separate set of link flags can be applied to the prelink allowing additional control over (for instance) exported symbols.

Type

Boolean

Default Value

NO

$GENERATE_PKGINFO_FILE

Description

Specifies whether to generate the product's package information file.

Type

Boolean

Values

  • YES: Generates the product’s package information file.
  • NO: Does not generate the product’s package information file.

Default Value

  • YES: In application targets.
  • NO: In other target types.

$GENERATE_PROFILING_CODE

Description

Activating this setting will cause the compiler and linker to generate profiling code. E.g., GCC will generate code suitable for use with gprof(1). Passes flag -pg

Type

Boolean

Default Value

NO

$GID

Description

Group id of the current user.

Type

String

Default Value

id -g

$GROUP

Description

Group name of the current user.

Type

String

Default Value

id -gn

Example Value

staff

$HEADERMAP_FILE_FORMAT

Description

Header map file format.

Type

Enumeration

Values

  • traditional
  • plaintext

Default Value

traditional

$HEADERMAP_INCLUDES_FLAT_ENTRIES_FOR_TARGET_BEING_BUILT

Description

Specifies whether the header map contains a name/path entry for every header in the target being built.

Type

Boolean

Values

  • YES: The header map contains a name/path entry for every header in the target.
  • NO: The header map does not contain name/path entries for the headers that belong to the target.

Default Value

YES

$HEADERMAP_INCLUDES_FRAMEWORK_ENTRIES_FOR_ALL_PRODUCT_TYPES

Description

Specifies whether the header map contains a framework-name/path entry for every header in the target being built, including targets that do not build frameworks.

Type

Boolean

Values

  • YES: The header map contains a framework-name/path entry for every header in the target.
  • NO: The header map does not contain framework-name/path entries for the headers in the target.

Default Value

YES

$HEADERMAP_INCLUDES_NONPUBLIC_NONPRIVATE_HEADERS

Description

Specifies if the header map contains non-public and non-private headers.

Type

Boolean

Default Value

$(HEADERMAP_INCLUDES_PROJECT_HEADERS)

$HEADERMAP_INCLUDES_PROJECT_HEADERS

Description

Specifies whether the header map contains a name/path entry for every header in the project, regardless of the headers' target membership.

Type

Boolean

Values

  • YES: The header map contains a name/path entry for every header in the project.
  • NO: The header map does not contain name/path entries for the headers that are part of the project.

Default Value

YES

$HEADERMAP_USES_FRAMEWORK_PREFIX_ENTRIES

Type

Boolean

Default Value

YES

$HEADERMAP_USES_VFS

Type

Boolean

Default Value

$(DEFINES_MODULE)

$HEADER_SEARCH_PATHS

Description

Space-separated list of directory paths. Specifies directories in which to search for header files. (In GCC, this list is passed in the gcc -I option.) When this build setting is defined, $(SDKROOT) is added to the beginning of each system-header path passed to the compiler.

Type

PathList

Default Value

$(inherited) $(DT_TOOLCHAIN_DIR)/usr/include

Example Value

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include

$IBC_COMPILER_AUTO_ACTIVATE_CUSTOM_FONTS

Description

Instructs the XIB compiler to add custom fonts to the application's Info.plist which will cause the fonts to activate upon application launch. Passes flag --auto-activate-custom-fonts

Type

Boolean

Default Value

YES

$IBC_ERRORS

Description

Show errors encountered during the compilation of XIB files. Passes flag --errors

Type

Boolean

Default Value

YES

$IBC_FLATTEN_NIBS

Description

Compiles a XIB file into flattened (non-wrapper) NIB file. After flattening, the resulting NIB is more compact but no longer editable by Interface Builder. When this option is disabled, the resulting NIB file remains editable in Interface Builder. If disabled, passes flag --flatten NO

Type

Boolean

Default Value

YES

$IBC_NOTICES

Description

Show notices encountered during the compilation of XIB files. Passes flag --notices

Type

Boolean

Default Value

YES

$IBC_OTHER_FLAGS

Description

A list of additional flags to pass to the Interface Builder Compiler. Use this setting if Xcode does not already provide UI for a particular Interface Builder Compiler flag.

Type

StringList

Default Value

empty string

$IBC_WARNINGS

Description

Show warnings encountered during the compilation of XIB files. Passes flag --warnings

Type

Boolean

Default Value

YES

$ICONV

Description

Path to iconv tool.

Type

Path

Default Value

/usr/bin/iconv

$INCLUDED_RECURSIVE_SEARCH_PATH_SUBDIRECTORIES

Description

This is a list of fnmatch()-style patterns of file or directory names to include when performing a recursive search. By default this list is empty and is only customized when you want to provide exceptions to the list of filename patterns provided in the "Sub-Directories to Exclude in Recursive Searches".

Type

StringList

Default Value

empty string

$INFOPLIST_EXPAND_BUILD_SETTINGS

Description

Expand build settings in the Info.plist file.

Type

Boolean

Default Value

YES

$INFOPLIST_FILE

Description

This is the project-relative path to the plist file that contains the Info.plist information used by bundles.

Type

Path

Default Value

empty string

$INFOPLIST_OTHER_PREPROCESSOR_FLAGS

Description

Other flags to pass to the C preprocessor when preprocessing the Info.plist file.

Type

StringList

Default Value

empty string

$INFOPLIST_OUTPUT_FORMAT

Description

Specifies the output encoding for the output Info.plist (by default, the output encoding will be unchanged from the input). The output endcodings can be 'binary' or 'XML'.

Type

Enumeration

Values

  • same-as-input
  • XML
  • binary

Default Value

same-as-input

$INFOPLIST_PREFIX_HEADER

Description

Implicitly include the given file when preprocessing the Info.plist file. The path given should either be a project relative path or an absolute path.

Type

String

Default Value

empty string

$INFOPLIST_PREPROCESS

Description

Preprocess the Info.plist file using the C Preprocessor.

Type

Boolean

Default Value

NO

$INFOPLIST_PREPROCESSOR_DEFINITIONS

Description

Space-separated list of preprocessor macros of the form "foo" or "foo=bar". These macros are used when preprocessing the Info.plist file.

Type

StringList

Default Value

empty string

$INIT_ROUTINE

Description

This is the name of the routine to use for initialization.

Type

String

Default Value

empty string

$INSTALL_DIR

Description

Identifies the directory in the developer’s filesystem into which the installed product is placed.

Type

Path

Default Value

$(DSTROOT)$(INSTALL_PATH)

$INSTALL_GROUP

Description

The group name or gid for installed products.

Type

String

Default Value

$(GROUP)

Example Value

staff

$INSTALL_MODE_FLAG

Description

Permissions used for installed product files.

Type

String

Default Value

u+w,go-w,a+rX

$INSTALL_OWNER

Description

The owner name or uid for installed products.

Type

String

Default Value

$(USER)

Example Value

genica

$INSTALL_PATH

Description

Identifies the directory in the user’s filesystem into which the installed product is placed.

Type

Path

Values

  • Kernel extension project: $(SYSTEM_LIBRARY_DIR)/Extensions
  • Action project: $(USER_LIBRARY_DIR)/Automator
  • Application project: $(HOME)/Applications
  • Audio unit and bundle projects: $(HOME)/Library/Bundles
  • Command-line utility project: $(HOME)/bin
  • Apple plug-in project (complete path depends on specific project template): $(DSTROOT)
  • Dynamic library and static library projects: /usr/local/lib

Default Value

empty string

$INSTALL_ROOT

Description

Alias to $(DSTROOT)

Type

Path

Default Value

$(DSTROOT)

$IPHONEOS_DEPLOYMENT_TARGET

Description

Code will load on this and later versions of iOS. Framework APIs that are unavailable in earlier versions will be weak-linked; your code should check for null function pointers or specific system versions before calling newer APIs. Passes flags --minimum-deployment-target $(value)

Type

String

Example Value

8.2

$JAVAC_DEFAULT_FLAGS

Description

Default javac flags

Type

String

Default Value

-J-Xms64m -J-XX:NewSize=4M -J-Dfile.encoding=UTF8

$JAVA_APP_STUB

Type

Path

Default Value

$(SYSTEM_LIBRARY_DIR)/Frameworks/JavaVM.framework/Resources/MacOS/JavaApplicationStub

$JAVA_ARCHIVE_CLASSES

Type

Boolean

Default Value

YES

$JAVA_ARCHIVE_TYPE

Type

Enumeration

Values

  • JAR

Default Value

JAR

$JAVA_COMPILER

Description

Path to javac tool.

Type

Path

Default Value

/usr/bin/javac

$JAVA_FRAMEWORK_RESOURCES_DIRS

Type

PathList

Default Value

Resources

$JAVA_JAR_FLAGS

Type

StringList

Default Value

cv

$JAVA_SOURCE_SUBDIR

Type

Path

Default Value

.

$JAVA_USE_DEPENDENCIES

Type

Boolean

Default Value

YES

$JAVA_ZIP_FLAGS

Type

StringList

Default Value

-urg

$KEEP_PRIVATE_EXTERNS

Description

Activating this setting will preserve private external symbols rather than turning them into static symbols. This setting is also respected when performing a single-object prelink.

Type

Boolean

Default Value

NO

$LD_DEPENDENCY_INFO_FILE

Description

This setting defines the path to which the linker should emit information about what files it used as inputs and generated. Xcode uses this information for its dependency tracking. Setting the value of this setting to empty will disable passing this option to the linker.

Type

Path

Default Value

$(OBJECT_FILE_DIR_$(CURRENT_VARIANT))/$(CURRENT_ARCH)/$(PRODUCT_NAME)_dependency_info.dat

Example Value

/Users/genica/MyProject/build/MyProject.build/Debug/MyProject.build/Objects-normal/x86_64/MyProject_dependency_info.dat

$LD_DYLIB_INSTALL_NAME

Description

Sets an internal "install path" $(LC_ID_DYLIB) in a dynamic library. Any clients linked against the library will record that path as the way dyld should locate this library. If this option is not specified, then the -o path will be used. This setting is ignored when building any product other than a dynamic library. Passes flag -install_name

Type

Path

Default Value

empty string

$LD_GENERATE_MAP_FILE

Description

Activating this setting will cause the linker to write a map file to disk which details all symbols and their addresses in the output image. The path to the map file is defined by the Path to Link Map File setting. If enabled, passes flags: * -Xlinker -map * -Xlinker $(LD_MAP_FILE_PATH)

Type

Boolean

Default Value

YES

$LD_MAP_FILE_PATH

Description

This setting defines the path to the map file written by the linker when the Write Link Map File setting is activated. By default a separate file will be written for each architecture and build variant, and these will be generated in the Intermediates directory for the target whose produce is being linked.

Type

Path

Default Value

$(TARGET_TEMP_DIR)/$(PRODUCT_NAME)-LinkMap-$(CURRENT_VARIANT)-$(CURRENT_ARCH).txt

Example Value

/Users/genica/MyProject/build/MyProject.build/Debug/MyProject.build/MyProject-LinkMap-normal-x86_64.txt

$LD_NO_PIE

Description

Activating this setting will cause Xcode to not create position independent executables. If enabled, passes flag -Xlinker -no_pie

Type

Boolean

Default Value

NO

$LD_QUOTE_LINKER_ARGUMENTS_FOR_COMPILER_DRIVER

Description

This setting controls whether arguments to the linker should be 'quoted' using -Xlinker. By default Xcode invokes the linker by invoking the driver of the compiler used to build the source files in the target, and passing -Xlinker to 'quote' arguments will cause the compiler driver to pass them through to the linker (rather than trying to evaluate them within the driver). By default this setting is enabled. Disabling it will cause Xcode to not use -Xlinker to pass arguments to the linker. Disabling this setting is useful if the target has instructed Xcode to use an alternate linker (e.g., by setting the LD setting to the path to another linker) and that alternate linker does not recognize -Xlinker.

Type

Boolean

Default Value

YES

$LD_RUNPATH_SEARCH_PATHS

Description

This is a list of paths to be added to the runpath search path list for the image being created. At runtime, dyld uses the runpath when searching for dylibs whose load path begins with @rpath/. Passes flags: * -Xlinker -map * -Xlinker $(value)

Type

StringList

Default Value

empty string

$LEGACY_DEVELOPER_DIR

Type

Path

Default Value

$(DEVELOPER_DIR)/../PlugIns/Xcode3Core.ideplugin/Contents/SharedSupport/Developer

Example Value

/Applications/Xcode.app/Contents/PlugIns/Xcode3Core.ideplugin/Contents/SharedSupport/Developer

$LEX

Description

Path to lex tool.

Type

Path

Default Value

lex

$LEXFLAGS

Description

Space-separated list of flags to pass to lex

Type

StringList

Default Value

empty string

$LIBRARY_FLAG_NOSPACE

Description

No space between the library flag and the library name.

Type

Boolean

Default Value

YES

$LIBRARY_FLAG_PREFIX

Description

Prefix for passing libraries.

Type

String

Default Value

-l

$LIBRARY_KEXT_INSTALL_PATH

Type

Path

Default Value

$(LOCAL_LIBRARY_DIR)/Extensions

$LIBRARY_SEARCH_PATHS

Description

This is a list of paths to folders to be searched by the linker for libraries used by the product. Paths are delimited by whitespace, so any paths with spaces in them need to be properly quoted.

Type

PathList

Default Value

empty string

$LINKER_DISPLAYS_MANGLED_NAMES

Description

Activating this setting causes the linker to display mangled names for C++ symbols. Normally, this is not recommended, but turning it on can help to diagnose and solve C++ link errors. If enabled, passes flag -Xlinker --no-demangle

Type

Boolean

Default Value

NO

Description

If this setting activated, then the compiler driver will automatically pass its standard libraries to the linker to use during linking. If desired, this flag can be used to disable linking with the standard libraries, and then individual libraries can be passed as Other Linker Flags. If disabled, passes flag -nostdlib

Type

Boolean

Default Value

YES

$LLVM_IMPLICIT_AGGRESSIVE_OPTIMIZATIONS

Description

If aggressive optimizations are enabled.

Type

Boolean

Default Value

$(LLVM_OPTIMIZATION_LEVEL_VAL_$(GCC_OPTIMIZATION_LEVEL))

$LLVM_LTO

Description

Enabling this setting allows the optimizer to look across object files in your program and optimize across file boundaries during linking. If enabled, passes flag -flto

Type

Boolean

Default Value

NO

$LLVM_OPTIMIZATION_LEVEL_VAL_0

Type

Boolean

Default Value

NO

$LLVM_OPTIMIZATION_LEVEL_VAL_1

Type

Boolean

Default Value

NO

$LLVM_OPTIMIZATION_LEVEL_VAL_2

Type

Boolean

Default Value

NO

$LLVM_OPTIMIZATION_LEVEL_VAL_3

Type

Boolean

Default Value

NO

$LLVM_OPTIMIZATION_LEVEL_VAL_fast

Type

Boolean

Default Value

YES

$LLVM_OPTIMIZATION_LEVEL_VAL_s

Type

Boolean

Default Value

NO

$LOCAL_ADMIN_APPS_DIR

Type

Path

Default Value

/Applications/Utilities

$LOCAL_APPS_DIR

Type

Path

Default Value

/Applications

$LOCAL_DEVELOPER_DIR

Type

Path

Default Value

/Library/Developer

$LOCAL_LIBRARY_DIR

Type

Path

Default Value

/Library

$MACH_O_TYPE

Description

This setting determines the format of the produced binary and how it can be linked when building other binaries.

Type

Enumeration

Values

  • mh_execute:
  • mh_dylib: Linker flag -dynamiclib
  • mh_bundle: Linker flag -bundle
  • staticlib:
  • mh_object: Linker flag -r

Default Value

empty string

$MACOSX_DEPLOYMENT_TARGET

Description

Code will load on this and later versions of OS X. Framework APIs that are unavailable in earlier versions will be weak-linked; your code should check for null function pointers or specific system versions before calling newer APIs. Passes flag -mmacosx-version-min=$(value)

Type

Enumeration

Values

  • empty string: Compiler Default - Code will load on any Mac OS system that supports the APIs that are used.
  • 10.4: OS X 10.4 - Code will not load on systems earlier than 10.4.
  • 10.5: OS X 10.5 - Code will not load on systems earlier than 10.5.
  • 10.6: OS X 10.6 - Code will not load on systems earlier than 10.6.
  • 10.7: OS X 10.7 - Code will not load on systems earlier than 10.7.
  • 10.8: OS X 10.8 - Code will not load on systems earlier than 10.8.
  • 10.9: OS X 10.9 - Code will not load on systems earlier than 10.9.
  • 10.10: OS X 10.10 - Code will not load on systems earlier than 10.10.

Default Value

empty string

Example Value

10.9

$MODULEMAP_FILE

Description

This is the project-relative path to the LLVM module map file that defines the module structure for the compiler. If empty, it will be automatically generated for appropriate products when $(DEFINES_MODULE) is enabled.

Type

String

Default Value

empty string

$MODULEMAP_PRIVATE_FILE

Description

This is the project-relative path to the LLVM module map file that defines the module structure for private headers.

Type

String

Default Value

empty string

$MODULE_CACHE_DIR

Description

Absolute path of folder in which compiler stores its cached "cmodules" - this cache is a performance improvement.

Type

Path

Default Value

$(DERIVED_DATA_DIR)/ModuleCache

$MODULE_NAME

Description

This is the identifier of the kernel module listed in the generated stub. This is only used when building kernel extensions.

Type

String

Default Value

empty string

$MODULE_START

Description

This defines the name of the kernel module start routine. This is only used when building kernel extensions.

Type

String

Default Value

empty string

$MODULE_STOP

Description

This defines the name of the kernel module stop routine. This is only used when building kernel extensions.

Type

String

Default Value

empty string

$MODULE_VERSION

Description

This is the version of the kernel module listed in the generated stub. This is only used when building kernel extensions.

Type

String

Default Value

empty string

$MTL_ENABLE_DEBUG_INFO

Description

Produce debugging information. This information is required for shader profiling. If enabled, passes flag -gline-tables-only

Type

Boolean

Default Value

NO

$NATIVE_ARCH

Description

Identifies the architecture on which the build is being performed (same as $(CURRENT_ARCH)).

Type

String

Example Value

i386

$OBJC_ABI_VERSION

Description

Objective-C ABI version

Type

String

$OBJECT_FILE_DIR

Description

Partially identifies the directory into which variant object files are placed. The complete specification is computed using the variants of this build setting.

Type

Path

Default Value

$(TARGET_TEMP_DIR)/Objects

Example Value

/Users/genica/MyProject/build/MyProject.build/Debug/MyProject.build/Objects

$OBJECT_FILE_DIR_

Description

Fully identifies the directory into which variant object files are placed. For each build variant in $(BUILD_VARIANTS), Xcode generates an $(OBJECT_FILE_DIR) build setting with the variant name as a suffix. The generated build setting’s value is computed using $(OBJECT_FILE_DIR) and the build variant name.

Type

Path

Default Value

$(OBJECT_FILE_DIR)-$(CURRENT_VARIANT)

Example Value

/Users/genica/MyProject/build/MyProject.build/Debug/MyProject.build/Objects-normal

$OBJROOT

Description

The path where intermediate files will be placed during a build. Intermediate files include generated sources, object files, etc. Shell script build phases can place and access files here, as well. Typically this path is not set per target, but is set per-project or per-user.

Type

Path

Default Value

$(PROJECT_DIR)/build

$ONLY_ACTIVE_ARCH

Description

Specifies whether the product includes only object code for the native architecture.

Type

Boolean

Values

  • YES: The product includes only code for the native architecture $(NATIVE_ARCH).
  • NO: The product includes code for the architectures specified in $(ARCHS).

Default Value

  • When $(CONFIGURATION)=Debug: YES
  • Otherwise: NO

$ORDER_FILE

Description

The path to a file which alters the order in which functions and data are laid out. For each section in the output file, any symbol in that section that are specified in the order file is moved to the start of its section and laid out in the same order as in the order file. Order files are text files with one symbol name per line. Lines starting with a # are comments. A symbol name may be optionally preceded with its object file leafname and a colon (e.g. foo.o:_foo). This is useful for static functions/data that occur in multiple files. A symbol name may also be optionally preceded with the architecture (e.g. ppc:_foo or ppc:foo.o:_foo). This enables you to have one order file that works for multiple architectures. Literal c-strings may be ordered by quoting the string in the order file (e.g. "Hello, world"). Generally you should not specify an order file in Debug or Development configurations, as this will make the linked binary less readable to the debugger. Use them only in Release or Deployment configurations.

Type

String

Default Value

empty string

$OS

Description

Current OS

Type

String

Default Value

MACOS

$OSAC

Description

Path to osacompile tool.

Type

Path

Default Value

/usr/bin/osacompile

$OSACOMPILE_EXECUTE_ONLY

Description

Saves the output script in execute-only form: the script can be run, but cannot be opened in Script Editor or Xcode. With this option turned off, a user may see the original script source by opening the script.

Type

Boolean

Default Value

NO

$OTHER_CFLAGS

Description

Space-separated list of additional flags to pass to the compiler for C and Objective-C files. Be sure to backslash-escape any arguments that contain spaces or special characters (e.g. path names that may contain spaces). Use this setting if Xcode does not already provide UI for a particular C or Objective-C compiler flag.

Type

StringList

Default Value

empty string

$OTHER_CODE_SIGN_FLAGS

Description

This build setting allows you to pass any additional options you need to codesign(1) as a single space-delimited string.

Type

StringList

Default Value

empty string

$OTHER_CPLUSPLUSFLAGS

Description

Space-separated list of additional flags to pass to the compiler for C++ and Objective-C++ files. Be sure to backslash-escape any arguments that contain spaces or special characters (e.g. path names that may contain spaces). Use this setting if Xcode does not already provide UI for a C++ or Objective-C++ compiler flag.

Type

StringList

Default Value

$(OTHER_CFLAGS)

$OTHER_LDFLAGS

Description

Options defined in this setting are passed to invocations of the linker.

Type

StringList

Default Value

empty string

$OTHER_LIBTOOLFLAGS

Description

Options defined in this setting are passed to all invocations of the archive librarian, which is used to generate static libraries.

Type

StringList

Default Value

empty string

$OTHER_OSACOMPILEFLAGS

Description

Space-separated list of additional flags to pass to osacompile. Be sure to backslash-escape any arguments that contain spaces or special characters (e.g. path names that may contain spaces). Use this setting if Xcode does not already provide UI for a particular osacompile flag.

Type

String

Default Value

empty string

$PATH_PREFIXES_EXCLUDED_FROM_HEADER_DEPENDENCIES

Description

Space-separated list of directory paths. Identifies the directories to exclude from header-file scans when the build uses header-file dependencies.

Type

PathList

Default Value

/usr/include /usr/local/include /System/Library/Frameworks /System/Library/PrivateFrameworks $(SYSTEM_DEVELOPER_DIR)/Headers $(SYSTEM_DEVELOPER_DIR)/SDKs $(SYSTEM_DEVELOPER_DIR)/Platforms

$PLATFORM_DEVELOPER_APPLICATIONS_DIR

Type

Path

Default Value

$(DEVELOPER_DIR)/Applications

Example Value

/Applications/Xcode.app/Contents/Developer/Applications

$PLATFORM_DEVELOPER_BIN_DIR

Type

Path

Default Value

$(DEVELOPER_DIR)/usr/bin

Example Value

/Applications/Xcode.app/Contents/Developer/usr/bin

$PLATFORM_DEVELOPER_LIBRARY_DIR

Type

Path

Default Value

$(DEVELOPER_DIR)/Library

Example Value

/Applications/Xcode.app/Contents/Developer/Library

$PLATFORM_DEVELOPER_SDK_DIR

Type

Path

Default Value

$(DEVELOPER_DIR)/Platforms/MacOSX.platform/Developer/SDKs

Example Value

/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs

$PLATFORM_DEVELOPER_TOOLS_DIR

Type

String

Default Value

$(DEVELOPER_DIR)/Tools

Example Value

/Applications/Xcode.app/Contents/Developer/Tools

$PLATFORM_DEVELOPER_USR_DIR

Type

Path

Default Value

$(DEVELOPER_DIR)/usr

Example Value

/Applications/Xcode.app/Contents/Developer/usr

$PLATFORM_DIR

Description

Path to the current platform bundle.

Type

Path

Default Value

xcrun --show-sdk-platform-path --sdk $(SDKROOT)

$PLATFORM_NAME

Description

Name taken from the platform bundle.

Type

String

Default Value

macosx

$PLATFORM_PREFERRED_ARCH

Description

Preferred architectures, value taken from the platform bundle.

Type

String

$PLATFORM_PRODUCT_BUILD_VERSION

Description

Build version taken from the platform bundle.

Type

String

$PLIST_FILE_OUTPUT_FORMAT

Description

Specifies the output encoding for Property List (.plist) files (by default, the output encoding will be unchanged from the input). The output endcodings can be binary or XML.

Type

Enumeration

Values

  • same-as-input
  • XML
  • binary

Default Value

same-as-input

$PRECOMPILE_PREFIX_HEADER

Description

Old setting, see $(GCC_PRECOMPILE_PREFIX_HEADER)

Type

Boolean

Default Value

NO

$PRECOMPS_INCLUDE_HEADERS_FROM_BUILT_PRODUCTS_DIR

Description

This setting allows for better control of sharing precompiled prefix header files between projects. By default, Xcode assumes that the prefix header file may include header files from the build directory if the build directory is outside of the project directory. (Xcode cannot determine this ahead of time since other projects may not have been built into the shared build directory at the time the information is needed.)

If your prefix file never includes files from the build directory you may set this to NO to improve sharing of precompiled headers. If the prefix does use files from a build directory which is inside your project directory, you may set this to YES to avoid unintended sharing that may result in build failures.

Type

Boolean

Default Value

YES

$PREFIX_HEADER

Description

Old setting, see $(GCC_PREFIX_HEADER)

Type

Path

Default Value

empty string

Description

Additional flags to pass when performing a single-object prelink.

Type

StringList

Default Value

empty string

Description

Additional libraries to pass when performing a single-object prelink.

Type

StringList

Default Value

empty string

$PRESERVE_DEAD_CODE_INITS_AND_TERMS

Description

Activating this setting (in combination with the Dead Code Stripping -dead_strip option) causes the -no_dead_strip_inits_and_terms flag to be passed to ld(1) via cc(1) to disable dead code stripping for initialization and termination routines. This option should not be used without the aforementioned Dead Code Stripping option.

Type

Boolean

Default Value

NO

$PRIVATE_HEADERS_FOLDER_PATH

Description

This is the location to copy the private headers during building, relative to the built products folder.

Type

Path

Default Value

empty string

$PRODUCT_DEFINITION_PLIST

Description

Path to a file specifying additional requirements for a product archive.

Type

String

Default Value

empty string

$PRODUCT_MODULE_NAME

Description

The name to use for the source code module constructed for this target, and which will be used to import the module in implementation source files. Must be a valid identifier.

Type

String

Default Value

$(PRODUCT_NAME)

Example Value

MyProject

$PRODUCT_NAME

Description

Specifies the name of the product the target builds.

Type

String

Default Value

The name of the target at the time it was created. $(TARGET_NAME)

Example Value

MyProject

$PROJECT

Description

Name of the project.

Type

String

Example Value

MyProject

$PROJECT_DERIVED_FILE_DIR

Description

Path to the derived sources for the current project.

Type

Path

Default Value

$(OBJROOT)/$(PROJECT_NAME).build/DerivedSources

Example Value

/Users/genica/MyProject/build/MyProject.build/DerivedSources

$PROJECT_DIR

Type

Path

Example Value

/Users/genica/MyProject

$PROJECT_FILE_PATH

Description

Path to the project file currently being worked from.

Type

Path

Example Value

/Users/genica/MyProject/MyProject.xcodeproj

$PROJECT_NAME

Description

Specifies the name of the project that defines the target.

Type

String

Default Value

The name of the project at the time it was created.

Example Value

MyProject

$PROJECT_TEMP_DIR

Description

Identifies the directory in which the project’s intermediate build files are placed. This directory is shared between all the targets defined by the project. Run Script build phases should generate intermediate build files in the directory identified by $(DERIVED_FILE_DIR), not the location this build setting specifies.

Type

Path

Default Value

$(PROJECT_TEMP_ROOT)/$(PROJECT_NAME).build

Example Value

/Users/genica/MyProject/build/MyProject.build

$PROJECT_TEMP_ROOT

Type

Path

Default Value

$(SRCROOT)/$(SYMROOT)

Example Value

/Users/genica/MyProject/build

$PROVISIONING_PROFILE

Description

The UUID of a valid provisioning profile. A missing or invalid profile will cause a build error.

Type

String

Default Value

empty string

$PUBLIC_HEADERS_FOLDER_PATH

Description

This is the location to copy the public headers during building, relative to the built products folder.

Type

Path

Default Value

empty string

$REMOVE_CVS_FROM_RESOURCES

Type

Boolean

Default Value

YES

$REMOVE_GIT_FROM_RESOURCES

Type

Boolean

Default Value

YES

$REMOVE_HEADERS_FROM_EMBEDDED_BUNDLES

Type

Boolean

Default Value

YES

$REMOVE_HG_FROM_RESOURCES

Type

Boolean

Default Value

YES

$REMOVE_SVN_FROM_RESOURCES

Type

Boolean

Default Value

YES

$RETAIN_RAW_BINARIES

Description

Specifies whether the binary is stripped.

Type

Boolean

Values

  • YES: Binary is not stripped.
  • NO: Binary is stripped.

Default Value

NO

$REZ_COLLECTOR_DIR

Description

Specifies the directory in which the collected Resource Manager resources generated by ResMerger are stored before they are added to the product.

Type

Path

Default Value

$(TARGET_TEMP_DIR)/ResourceManagerResources

Example Value

/Users/genica/MyProject/build/MyProject.build/Debug/MyProduct.build/ResourceManagerResources

$REZ_OBJECTS_DIR

Description

SSpecifies the directory in which compiled Resource Manager resources generated by Rez are stored before they are collected using ResMerger.

Type

Path

Default Value

$(REZ_COLLECTOR_DIR)/Objects

Example Value

/Users/genica/MyProject/build/MyProject.build/Debug/MyProduct.build/ResourceManagerResources/Objects

$REZ_SEARCH_PATHS

Description

This is a list of paths to search for files with resource manager resources. Paths are delimited by whitespace, so any paths with spaces in them need to be properly quoted.

Type

String

Default Value

empty string

$RUN_CLANG_STATIC_ANALYZER

Description

Activating this setting will cause Xcode to run the Clang static analysis tool on qualifying source files during every build.

Type

Boolean

Default Value

NO

$SCAN_ALL_SOURCE_FILES_FOR_INCLUDES

Description

Activating this setting will cause all source files to be scanned for includes (e.g. of header files) when computing the dependency graph, in which case if an included file is changed then the including file will be rebuilt next time a target containing it is built. Normally only certain types of files - such as C-language source files - are scanned. This setting is useful if your project contains files of unusual type which are compiled using a custom build rule.

Type

Boolean

Default Value

NO

$SDKROOT

Description

Specifies the directory of the base SDK to use to build the product.

Type

String

Values

xcodebuild -showsdks to display available SDKs.

Default Value

macosx

$SDK_DIR

Description

Path to SDK bundle

Type

Path

Default Value

xcrun --show-sdk-path

$SDK_NAME

Description

Name of current SDK.

Type

String

Example Value

macosx10.10

$SDK_PRODUCT_BUILD_VERSION

Description

Build version from the SDK bundle.

Type

String

$SECTORDER_FLAGS

Description

These flags are typically used to specify options for ordering symbols within segments, for example the -sectorder option to ld. Generally you should not specify symbol ordering options in Debug or Development configurations, as this will make the linked binary less readable to the debugger. Use them only in Release or Deployment configurations.

Type

StringList

Default Value

empty string

$SED

Description

Path to sed tool.

Type

Path

Default Value

/usr/bin/sed

$SEPARATE_STRIP

Description

Activating this setting when the linked product is to be stripped will cause stripping to occur via a separate invocation of strip(1). Otherwise stripping will occur during linking, if possible.

Type

Boolean

Default Value

NO

$SEPARATE_SYMBOL_EDIT

Description

Activating this setting when the linked product's symbols are to be edited will cause editing to occur via a separate invocation of nmedit(1). Otherwise editing will occur during linking, if possible.

Type

Boolean

Default Value

NO

$SHARED_PRECOMPS_DIR

Description

Specifies the directory in which to place precompiled headers. Targets can share precompiled headers by specifying the same value for this build setting.

Type

Path

Default Value

$(CACHE_ROOT)/SharedPrecompiledHeaders

$SKIP_INSTALL

Description

Specifies whether to place the product at the location indicated by $(DSTROOT) or the uninstalled products directory inside the directory indicated by $(TARGET_TEMP_DIR).

Type

Boolean

Values

  • YES: When $(DEPLOYMENT_LOCATION)=YES, the product is placed in $(TARGET_TEMP_DIR)/UninstalledProducts.
  • NO: The product is placed in $(DSTROOT).

Default Value

NO

$SOURCE_ROOT

Type

Path

Default Value

$(SRCROOT)

Example Value

/Users/genica/MyProject

$SRCROOT

Description

Identifies the directory containing the target’s source files.

Type

Path

Default Value

.

Example Value

/Users/genica/MyProject

$STRINGS_FILE_OUTPUT_ENCODING

Description

Specify the encoding to be used for the output files (by default, the output encoding will be 16-bit Unicode). The value can be either an NSStringEncoding, i.e. one of the numeric values recognized by NSString, or it can be an IANA character set name as understood by CFString. The operation will fail if the file cannot be converted to the specified encoding.

Type

String

Values

  • UTF-16
  • UTF-8
  • binary

Default Value

UTF-16

$STRIPFLAGS

Description

Additional flags to be passed when stripping the linked product of the build.

Type

Boolean

Default Value

Default value will be computed from $(UNSTRIPPED_PRODUCT)

$STRIP_INSTALLED_PRODUCT

Description

Activating this setting causes the linked product of the build to be stripped of symbols as part of deployment postprocessing.

Type

Boolean

Default Value

YES

$STRIP_STYLE

Description

Defines the level of symbol stripping to be performed on the linked product of the build. The default value is defined by the target's product type.

Type

Enumeration

Values

  • all: All Symbols - Completely strips the binary, removing the symbol table and relocation information. Passes flag -s
  • non-global: Non-Global Symbols - Strips non-global symbols, but saves external symbols. Passes flag -x
  • debugging: Debugging Symbols - Strips debugging symbols, but saves local and global symbols. Passes flag -S

Default Value

all

$SUPPORTED_PLATFORMS

Description

The list of supported platforms from which a base SDK can be used. This setting is used if the product can be built for multiple platforms using different SDKs.

Type

StringList

Example Value

macosx

$SWIFT_OPTIMIZATION_LEVEL

Description

Swift optimization level.

Type

Enumeration

Values

  • -Onone: None
  • -O: Fastest
  • -Ounchecked: Fastest, Unchecked

Default Value

-Onone

$SYMROOT

Description

The path at which all products will be placed when performing a build. Typically this path is not set per target, but is set per-project or per-user.

Type

Path

Default Value

$(PROJECT_DIR)/build

$SYSTEM_ADMIN_APPS_DIR

Type

Path

Default Value

/Applications/Utilities

$SYSTEM_APPS_DIR

Type

Path

Default Value

/Applications

$SYSTEM_CORE_SERVICES_DIR

Type

Path

Default Value

/System/Library/CoreServices

$SYSTEM_DEMOS_DIR

Type

Path

Default Value

/Applications/Extras

$SYSTEM_DEVELOPER_APPS_DIR

Type

Path

Default Value

$(DEVELOPER_APPLICATIONS_DIR)

Example Value

/Applications/Xcode.app/Contents/Developer/Applications

$SYSTEM_DEVELOPER_BIN_DIR

Type

Path

Default Value

$(DEVELOPER_BIN_DIR)

Example Value

/Applications/Xcode.app/Contents/Developer/usr/bin

$SYSTEM_DEVELOPER_DEMOS_DIR

Type

Path

Default Value

$(DEVELOPER_DIR)/Applications/Utilities/Built Examples

Example Value

/Applications/Xcode.app/Contents/Developer/Applications/Utilities/Built Examples

$SYSTEM_DEVELOPER_DIR

Type

Path

Default Value

$(DEVELOPER_DIR)

Example Value

/Applications/Xcode.app/Contents/Developer

$SYSTEM_DEVELOPER_DOC_DIR

Type

Path

Default Value

$(DEVELOPER_DIR)/ADC Reference Library

Example Value

/Applications/Xcode.app/Contents/Developer/ADC Reference Library

$SYSTEM_DEVELOPER_GRAPHICS_TOOLS_DIR

Type

Path

Default Value

$(DEVELOPER_DIR)/Applications/Graphics Tools

Example Value

/Applications/Xcode.app/Contents/Developer/Applications/Graphics Tools

$SYSTEM_DEVELOPER_JAVA_TOOLS_DIR

Type

Path

Default Value

$(DEVELOPER_DIR)/Applications/Java Tools

Example Value

/Applications/Xcode.app/Contents/Developer/Applications/Java Tools

$SYSTEM_DEVELOPER_PERFORMANCE_TOOLS_DIR

Type

Path

Default Value

$(DEVELOPER_DIR)/Applications/Performance Tools

Example Value

/Applications/Xcode.app/Contents/Developer/Applications/Performance Tools

$SYSTEM_DEVELOPER_RELEASENOTES_DIR

Type

Path

Default Value

$(DEVELOPER_DIR)/ADC Reference Library/releasenotes

Example Value

/Applications/Xcode.app/Contents/Developer/ADC Reference Library/releasenotes

$SYSTEM_DEVELOPER_TOOLS

Type

Path

Default Value

$(DEVELOPER_TOOLS_DIR)

Example Value

/Applications/Xcode.app/Contents/Developer/Tools

$SYSTEM_DEVELOPER_TOOLS_DOC_DIR

Type

Path

Default Value

$(DEVELOPER_DIR)/ADC Reference Library/documentation/DeveloperTools

Example Value

/Applications/Xcode.app/Contents/Developer/ADC Reference Library/documentation/DeveloperTools

$SYSTEM_DEVELOPER_TOOLS_RELEASENOTES_DIR

Type

Path

Default Value

$(DEVELOPER_DIR)/ADC Reference Library/releasenotes/DeveloperTools

Example Value

/Applications/Xcode.app/Contents/Developer/ADC Reference Library/releasenotes/DeveloperTools

$SYSTEM_DEVELOPER_USR_DIR

Type

Path

Default Value

$(DEVELOPER_USR_DIR)

Example Value

/Applications/Xcode.app/Contents/Developer/usr

$SYSTEM_DEVELOPER_UTILITIES_DIR

Type

Path

Default Value

$(DEVELOPER_DIR)/Applications/Utilities

Example Value

/Applications/Xcode.app/Contents/Developer/Applications/Utilities

$SYSTEM_DOCUMENTATION_DIR

Type

Path

Default Value

/Library/Documentation

$SYSTEM_KEXT_INSTALL_PATH

Type

Path

Default Value

/System/Library/Extensions

$SYSTEM_LIBRARY_DIR

Type

Path

Default Value

/System/Library

$TARGETNAME

Description

Alias of $(TARGET_NAME)

Type

String

Example Value

MyProject

$TARGET_BUILD_DIR

Description

Identifies the root of the directory hierarchy that contains the product’s files (no intermediate build files). Run Script build phases that operate on product files of the target that defines them should use the value of this build setting. But Run Script build phases that operate on product files of other targets should use $(BUILT_PRODUCTS_DIR) instead.

Type

Path

Default Value

$(CONFIGURATION_BUILD_DIR)

Example Value

/Users/genica/MyProject/build/build/Debug

$TARGET_NAME

Description

Name of current build target.

Type

String

Example Value

MyProject

$TARGET_TEMP_DIR

Description

Identifies the directory containing the target’s intermediate build files. Run Script build phases should place intermediate files at the location indicated by $(DERIVED_FILE_DIR), not the directory identified by this build setting.

Type

Path

Default Value

$(CONFIGURATION_TEMP_DIR)/$(TARGET_NAME).build

Example Value

/Users/genica/MyProject/build/MyProject.build/Debug/MyProject.build

$TARGETED_DEVICE_FAMILY

Description

Comma-separated list of numeric identifiers. Specifies the device families on which the product must be capable of running.

Type

String

Values

  • 1: iPhone/iPod touch.
  • 2: iPad.

Default Value

1

Example Value

1,2

$TEMP_DIR

Type

Path

Default Value

$(TARGET_TEMP_DIR)

Example Value

/Users/genica/MyProject/build/MyProject.build/Debug/MyProject.build

$TEMP_FILES_DIR

Type

Path

Default Value

$(TEMP_DIR)

Example Value

/Users/genica/MyProject/build/MyProject.build/Debug/MyProject.build

$TEMP_FILE_DIR

Type

Path

Default Value

$(TEMP_DIR)

Example Value

/Users/genica/MyProject/build/MyProject.build/Debug/MyProject.build

$TEMP_ROOT

Type

Path

Default Value

$(OBJROOT)

Example Value

/Users/genica/MyProject/build

$TEST_HOST

Description

Path to the executable into which a bundle of tests is injected. Only specify this setting if testing an application or other executable.

Type

String

Default Value

empty string

$TREAT_MISSING_BASELINES_AS_TEST_FAILURES

Description

When running tests that measure performance via XCTestCase, report missing baselines as test failures.

Type

Boolean

Default Value

NO

$UID

Description

Current user id.

Type

String

Default Value

id -u

Example Value

501

$UNEXPORTED_SYMBOLS_FILE

Description

This is a project-relative path to a file that lists the symbols not to export. Passes flag -unexported_symbols_list

Type

String

Default Value

empty string

$UNSTRIPPED_PRODUCT

Type

Boolean

Default Value

NO

$USER

Description

Current user name.

Type

String

Default Value

$(USER)

Example Value

genica

$USER_APPS_DIR

Type

Path

Default Value

$(HOME)/Applications

Example Value

/Users/genica/Applications

$USER_HEADER_SEARCH_PATHS

Description

This is a list of paths to folders to be searched by the compiler for included or imported user header files (those headers listed in quotes) when compiling C, Objective-C, C++, or Objective-C++. Paths are delimited by whitespace, so any paths with spaces in them need to be properly quoted. See the description of the $(ALWAYS_SEARCH_USER_PATHS) build setting for more details on how this setting is used. If the compiler doesn't support the concept of user headers, then the search paths are prepended to the any existing header search paths defined in $(HEADER_SEARCH_PATHS).

Type

PathList

Default Value

empty string

$USER_LIBRARY_DIR

Type

Path

Default Value

$(HOME)/Library

Example Value

/Users/genica/Library

$USE_HEADERMAP

Description

Enable use of headermap files.

Type

Boolean

Default Value

YES

Description

Part of headermap settings.

Type

Boolean

Default Value

NO

$VALIDATE_PRODUCT

Description

Specifies whether to run product-validation tests.

Type

Boolean

Values

  • YES: The build runs validation tests on the generated product.
  • NO: The build does not run validation tests on the generated product.

Default Value

NO

$VALID_ARCHS

Description

Space-separated list of identifiers. Specifies the architectures for which the binary may be built. During the build, this list is intersected with the value of $(ARCHS) build setting; the resulting list specifies the architectures the binary can run on. If the resulting architecture list is empty, the target generates no binary.

Type

StringList

Default Value

Taken from platform

Example Value

i386 x86_64

$VERSIONING_SYSTEM

Description

Selects the process used for version-stamping generated files.

Type

String

Values

  • empty string: None - Use no versioning system.
  • apple-generic: Apple Generic - Use the current project version setting.

Default Value

empty string

$VERSION_INFO_BUILDER

Description

This defines a reference to the user performing a build to be included in the generated Apple Generic Versioning stub.

Type

String

Default Value

$(USER)

$VERSION_INFO_EXPORT_DECL

Description

This defines a prefix string for the version info symbol declaration in the generated Apple Generic Versioning stub. This can be used, for example, to add an optional 'export' keyword to the version symbol declaration. This should rarely be changed.

Type

String

Default Value

empty string

$VERSION_INFO_FILE

Description

Used to specify a name for the source file that will be generated by Apple Generic Versioning and compiled into your product.

Type

String

Default Value

$(PRODUCT_NAME)_vers.c

$VERSION_INFO_PREFIX

Description

Used as a prefix for the name of the version info symbol in the generated versioning source file. If you prefix your exported symbols you will probably want to set this to the same prefix.

Type

String

Default Value

empty string

$VERSION_INFO_SUFFIX

Description

Used as a suffix for the name of the version info symbol in the generated versioning source file. This is rarely used.

Type

String

Default Value

empty string

$WARNING_CFLAGS

Description

Space-separated list of additional warning flags to pass to the compiler. Use this setting if Xcode does not already provide UI for a particular compiler warning flag.

Type

StringList

Default Value

empty string

$WARNING_LDFLAGS

Description

These flags are passed with linker invocations, and by default give the -no_arch_warnings flag to the linker to avoid many warnings being generated during multi-architecture builds.

Type

StringList

Default Value

empty string

$WRAPPER_EXTENSION

Description

This is the extension used for product wrappers, which has a default value based on the product type.

Type

String

Default Value

empty string

$XCODE_APP_SUPPORT_DIR

Type

Path

Default Value

$(DEVELOPER_LIBRARY_DIR)/Xcode

Example Value

/Applications/Xcode.app/Contents/Developer/Library/Xcode

$XCODE_PRODUCT_BUILD_VERSION

Description

This value is hard-coded into Xcode's frameworks.

Type

String

Example Value

6C131e

$XCODE_VERSION_ACTUAL

Description

This value is hard-coded into Xcode's frameworks.

Type

String

Example Value

0620

$XCODE_VERSION_MAJOR

Description

This value is hard-coded into Xcode's frameworks.

Type

String

Example Value

0600

$XCODE_VERSION_MINOR

Description

This value is hard-coded into Xcode's frameworks.

Type

String

Example Value

0020

$YACC

Description

Path to yacc tool

Type

Path

Default Value

yacc

$YACCFLAGS

Description

Space-separated list of flags to pass to yacc

Type

StringList

Default Value

empty string



If this blog post was helpful to you, please consider donating to keep this blog alive, thank you!

donate to support this blog