aboutsummaryrefslogtreecommitdiff
path: root/XcodeConfig/subconfig/General.xcconfig
blob: 114b718015e60333b2f8e9a3b910930c209a7401 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
//
//  General.xcconfig
//
//  Xcode configuration file for general build settings applicable to all
//  projects and targets.
//
//  Copyright 2006-2008 Google Inc.
//
//  Licensed under the Apache License, Version 2.0 (the "License"); you may not
//  use this file except in compliance with the License.  You may obtain a copy
//  of the License at
// 
//  http://www.apache.org/licenses/LICENSE-2.0
// 
//  Unless required by applicable law or agreed to in writing, software
//  distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
//  WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
//  License for the specific language governing permissions and limitations under
//  the License.
//

// NOTE: as of Xcode 3.1, for iPhone development, the two SDKs you can match are:
//   SDK_NAME iphoneos2.0
//   SDK_NAME iphoneos2.1
//   SDK_NAME iphonesimulator2.0
//   SDK_NAME iphonesimulator2.1
// for Mac OS developement, the values are:
//   SDK_NAME macosx10.4
//   SDK_NAME macosx10.5

// Build for PPC and Intel (Leopard gets 64bit also)
ARCHS[sdk=macosx10.4*] = i386 ppc
ARCHS[sdk=macosx10.5*] = i386 x86_64 ppc ppc64
// Build for arm for iPhone or Intel for the iPhone Simulator
ARCHS[sdk=iphoneos*] = armv6
ARCHS[sdk=iphonesimulator*] = i386

// Build only the active architecture on iphone device targets
ONLY_ACTIVE_ARCH[sdk=iphoneos*] = YES

// Zerolink prevents link warnings so turn it off
ZERO_LINK = NO

// Prebinding considered unhelpful in 10.3 and later
PREBINDING = NO

// Strictest warning policy
WARNING_CFLAGS = -Wall -Werror -Wendif-labels -Wnewline-eof

// Work around Xcode bugs by using external strip. See:
// http://lists.apple.com/archives/Xcode-users/2006/Feb/msg00050.html
SEPARATE_STRIP = YES

// Force C99 dialect
GCC_C_LANGUAGE_STANDARD = c99

// Obj-C exceptions are needed for @synchronized(self)
GCC_ENABLE_OBJC_EXCEPTIONS = YES

// not sure why apple defaults this on, but it's pretty risky
ALWAYS_SEARCH_USER_PATHS = NO

// Turn on position dependent code for most cases (overridden where appropriate)
GCC_DYNAMIC_NO_PIC = YES

// Warn on implicit data conversions in 64bit builds
GCC_WARN_64_TO_32_BIT_CONVERSION[arch=*64*] = YES

// Use Obj-C fast dispatch (configs don't support 10.2 where you don't want it)
GCC_FAST_OBJC_DISPATCH = YES