PageRenderTime 26ms CodeModel.GetById 23ms app.highlight 1ms RepoModel.GetById 1ms app.codeStats 0ms

/core/externals/update-engine/externals/google-toolbox-for-mac/XcodeConfig/subconfig/General.xcconfig

http://macfuse.googlecode.com/
Xcode Config | 172 lines | 53 code | 23 blank | 96 comment | 0 complexity | 4a6ac4ff3b3f36d7143d2e6e8a5fb16d MD5 | raw file
  1//
  2//  General.xcconfig
  3//
  4//  Xcode configuration file for general build settings applicable to all
  5//  projects and targets.
  6//
  7//  Copyright 2011 Google Inc.
  8//
  9//  Licensed under the Apache License, Version 2.0 (the "License"); you may not
 10//  use this file except in compliance with the License.  You may obtain a copy
 11//  of the License at
 12//
 13//  http://www.apache.org/licenses/LICENSE-2.0
 14//
 15//  Unless required by applicable law or agreed to in writing, software
 16//  distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
 17//  WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
 18//  License for the specific language governing permissions and limitations under
 19//  the License.
 20//
 21
 22// NOTE: as of Xcode 3.1, for iPhone development, the two SDKs you can match are:
 23//   SDK_NAME iphoneos2.0
 24//   SDK_NAME iphoneos2.1
 25//   SDK_NAME iphonesimulator2.0
 26//   SDK_NAME iphonesimulator2.1
 27// for Mac OS developement, the values are:
 28//   SDK_NAME macosx10.4
 29//   SDK_NAME macosx10.5
 30//   SDK_NAME macosx10.6
 31
 32// Pick up the Xcode default settings for ARCHS.  Keep the historical behavior
 33// of providing overrides for the older SDKs so existing apps are less likely
 34// to break.
 35ARCHS[sdk=macosx*] = $(ARCHS_STANDARD_32_64_BIT)
 36ARCHS[sdk=macosx10.4*] = i386 ppc
 37ARCHS[sdk=macosx10.5*] = i386 x86_64 ppc ppc64
 38ARCHS[sdk=macosx10.6*] = i386 x86_64
 39
 40// Build for arm for iPhone or Intel for the iPhone Simulator
 41ARCHS[sdk=iphoneos*] = armv6
 42ARCHS[sdk=iphonesimulator*] = i386
 43
 44// Build only the active architecture on iphone device targets
 45ONLY_ACTIVE_ARCH[sdk=iphoneos*] = YES
 46
 47// We want our pngs compressed when they are copied
 48COMPRESS_PNG_FILES = YES
 49
 50// Zerolink prevents link warnings so turn it off
 51ZERO_LINK = NO
 52
 53// Prebinding considered unhelpful in 10.3 and later
 54PREBINDING = NO
 55
 56// Work around Xcode bugs by using external strip. See:
 57// http://lists.apple.com/archives/Xcode-users/2006/Feb/msg00050.html
 58SEPARATE_STRIP = YES
 59
 60// Do not strip any binaries during copy as it will corrupt code signatures.
 61// This wont't affect iOS (since they can't have external executables or
 62// frameworks) and prevents corruption on Mac. Xcode 4 warns but does not
 63// fix this case:
 64// http://stackoverflow.com/questions/5494920/xcode-4-archive-warning-to-skip-copy-phase
 65COPY_PHASE_STRIP = NO
 66
 67// Force C99 dialect
 68GCC_C_LANGUAGE_STANDARD = c99
 69
 70// Obj-C exceptions are needed for @synchronized(self)
 71GCC_ENABLE_OBJC_EXCEPTIONS = YES
 72
 73// not sure why apple defaults this on, but it's pretty risky
 74ALWAYS_SEARCH_USER_PATHS = NO
 75
 76// Turn on position dependent code for most cases (overridden where appropriate)
 77GCC_DYNAMIC_NO_PIC = YES
 78
 79// For ObjC++ we want C++ cdtors called
 80GCC_OBJC_CALL_CXX_CDTORS = YES
 81
 82// Use Obj-C fast dispatch
 83GCC_FAST_OBJC_DISPATCH = YES
 84
 85// Warn on implicit data conversions in 64bit builds
 86GCC_WARN_64_TO_32_BIT_CONVERSION[arch=*64] = YES
 87
 88// Strictest warning policy that we can do
 89// Options intentionally turned off
 90// http://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html
 91// -Wsystem-headers - since we can't fix them we are going to assume they're ok
 92// -Wtraditional - we are compiling with c99, so we don't care about trad
 93// -Wdeclaration-after-statement - we are compiling with c99 which allows this
 94// -Wpadded - lots of structures will get padded, so although this warning may
 95//            be useful to show us badly padded structures, it causes to many
 96//            warnings to be on generally.
 97// -Wunreachable-code - several macros use the do {} while (0) which always
 98//                      flags this. e.g. all the ST... macros for unittesting
 99// -Wredundant-decls - we sometimes use redundant decls to add an attribute
100//                     to a function/method (i.e.
101// -Waggregate-return - NSPoint, NSRect etc are often returned as aggregates
102// -Wshorten-64-to-32 - this is defined in the 64 bit build settings
103// -Wcast-qual - Would love to turn this on, but causes issues when converting
104//               CFTypes to NSTypes and also has issues with some external
105//               libraries (notably zlib)
106// -Wundef - we conditionalize on TARGET_OS_IPHONE which is only defined
107//           in the iPhoneSDK making us unable to turn this warning on.
108// -Wstrict-prototypes - breaks the GTM_METHOD_CHECK macro
109// -Wcast-align - causes a whole pile of problems buildng with iPhoneSDK
110
111// Objective C warnings
112// http://gcc.gnu.org/onlinedocs/gcc/Objective_002dC-and-Objective_002dC_002b_002b-Dialect-Options.html
113// -Wassign-intercept - this really is more informational than a warning.
114// -Wselector - the system headers define lots of methods with the same selector
115//              rendering this mostly useless to us
116// -Wstrict-selector-match - the system headers define lots of methods with the
117//                           same selector rendering this mostly useless to us
118
119// C Only Warnings
120GTM_GENERAL_OTHER_CFLAGS = -Wdiv-by-zero -Wbad-function-cast  -Wnested-externs -Wold-style-definition
121
122// C++ Only Warnings
123GTM_GENERAL_OTHER_CPLUSPLUSFLAGS = -Wabi -Wctor-dtor-privacy -Wstrict-null-sentinel -Wsign-promo
124GCC_WARN_EFFECTIVE_CPLUSPLUS_VIOLATIONS = YES
125GCC_WARN_HIDDEN_VIRTUAL_FUNCTIONS = YES
126GCC_WARN_ABOUT_INVALID_OFFSETOF_MACRO = YES
127GCC_WARN_NON_VIRTUAL_DESTRUCTOR = YES
128
129// General C/C++/ObjC/ObjC++ warnings
130// These are generally ordered in easiest to hardest to support.
131// If you are transitioning, you can turn on the levels one level at a time
132// in your project file by editing GTM_GENERAL_WARNING_CFLAGS and only
133// including the warning levels that you currently are compiling against.
134// GTM should always compile with full warnings.
135GTM_GENERAL_WARNING_CFLAGS1 = -Wall -Wendif-labels -Winvalid-pch -Wformat=2 -Wmissing-format-attribute -Wwrite-strings -Wstack-protector -Wstrict-aliasing=2
136GTM_GENERAL_WARNING_CFLAGS2 = -Wpacked -Wmissing-field-initializers
137GTM_EXTRA_WARNING_OVERRIDE_CFLAGS = -Wno-unused-parameter -Wno-sign-compare
138GTM_GENERAL_WARNING_CFLAGS3 = -Wextra $(GTM_EXTRA_WARNING_OVERRIDE_CFLAGS) -Wpointer-arith -Wdisabled-optimization -Wfloat-equal
139GTM_GENERAL_WARNING_CFLAGS = $(GTM_GENERAL_WARNING_CFLAGS1) $(GTM_GENERAL_WARNING_CFLAGS2) $(GTM_GENERAL_WARNING_CFLAGS3)
140
141// GCC_WARN_UNINITIALIZED_AUTOS is defined in the release/debug xcconfigs.
142GCC_WARN_CHECK_SWITCH_STATEMENTS = YES
143GCC_WARN_ALLOW_INCOMPLETE_PROTOCOL = YES
144GCC_WARN_ABOUT_MISSING_NEWLINE = YES
145GCC_TREAT_WARNINGS_AS_ERRORS = YES
146GCC_WARN_INITIALIZER_NOT_FULLY_BRACKETED = YES
147GCC_WARN_ABOUT_RETURN_TYPE = YES
148GCC_WARN_MISSING_PARENTHESES = YES
149GCC_WARN_ABOUT_POINTER_SIGNEDNESS = YES
150GCC_WARN_TYPECHECK_CALLS_TO_PRINTF = YES
151GCC_WARN_UNKNOWN_PRAGMAS = YES
152GCC_WARN_UNUSED_LABEL = YES
153GCC_WARN_UNUSED_FUNCTION = YES
154GCC_WARN_UNUSED_VALUE = YES
155GCC_WARN_UNUSED_VARIABLE = YES
156GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = YES
157GCC_WARN_UNDECLARED_SELECTOR = YES
158// We don't turn on shadow and sign comparisons because too many 3rd party
159// libaries don't compile with them turned on (sign compare rarely catches
160// errors, but shadow is very useful).
161// NOTE: sign compare is also controlled by -Wextra, we we override it above.
162// GCC_WARN_SHADOW = YES
163// GCC_WARN_SIGN_COMPARE = YES
164
165GCC_WARN_PEDANTIC = NO
166GCC_WARN_ABOUT_MISSING_PROTOTYPES = NO
167GCC_WARN_PROTOTYPE_CONVERSION = NO
168GCC_TREAT_IMPLICIT_FUNCTION_DECLARATIONS_AS_ERRORS = NO
169GCC_TREAT_NONCONFORMANT_CODE_ERRORS_AS_WARNINGS = NO
170GCC_WARN_UNUSED_PARAMETER = NO
171// Use of Gestalt requires 4 char constants (amongst other things)
172GCC_WARN_FOUR_CHARACTER_CONSTANTS = NO