aboutsummaryrefslogtreecommitdiff
path: root/XcodeConfig/subconfig
diff options
context:
space:
mode:
authorGravatar thomasvl <thomasvl@7dc7ac4e-7543-0410-b95c-c1676fc8e2a3>2008-01-28 20:19:42 +0000
committerGravatar thomasvl <thomasvl@7dc7ac4e-7543-0410-b95c-c1676fc8e2a3>2008-01-28 20:19:42 +0000
commit2a5219567634ab7ab74314ff3615132becadff4a (patch)
tree8e6f447544e5eaf460da741bf57771f929b4a70c /XcodeConfig/subconfig
initial drop of a few sources to start things out
Diffstat (limited to 'XcodeConfig/subconfig')
-rw-r--r--XcodeConfig/subconfig/CodeCoverage.xcconfig25
-rw-r--r--XcodeConfig/subconfig/CodeCoverageStatic.xcconfig24
-rw-r--r--XcodeConfig/subconfig/Debug.xcconfig40
-rw-r--r--XcodeConfig/subconfig/General.xcconfig48
-rw-r--r--XcodeConfig/subconfig/Release.xcconfig38
-rw-r--r--XcodeConfig/subconfig/TigerOrLater.xcconfig29
-rw-r--r--XcodeConfig/subconfig/Unittest.xcconfig37
7 files changed, 241 insertions, 0 deletions
diff --git a/XcodeConfig/subconfig/CodeCoverage.xcconfig b/XcodeConfig/subconfig/CodeCoverage.xcconfig
new file mode 100644
index 0000000..438d5c6
--- /dev/null
+++ b/XcodeConfig/subconfig/CodeCoverage.xcconfig
@@ -0,0 +1,25 @@
+//
+// CodeCoverage.xcconfig
+//
+// Xcode configuration file for building executables that need code coverage.
+//
+// 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.
+//
+
+// Static Code Coverage
+#include "CodeCoverageStatic.xcconfig"
+
+// Need gcov library
+OTHER_LDFLAGS = ${OTHER_LDFLAGS} -lgcov
diff --git a/XcodeConfig/subconfig/CodeCoverageStatic.xcconfig b/XcodeConfig/subconfig/CodeCoverageStatic.xcconfig
new file mode 100644
index 0000000..f6cca92
--- /dev/null
+++ b/XcodeConfig/subconfig/CodeCoverageStatic.xcconfig
@@ -0,0 +1,24 @@
+//
+// CodeCoverageStatic.xcconfig
+//
+// Xcode configuration file for building static libs that need code coverage.
+//
+// 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.
+//
+
+
+// For measuring code coverage
+GCC_INSTRUMENT_PROGRAM_FLOW_ARCS = YES
+GCC_GENERATE_TEST_COVERAGE_FILES = YES
diff --git a/XcodeConfig/subconfig/Debug.xcconfig b/XcodeConfig/subconfig/Debug.xcconfig
new file mode 100644
index 0000000..482d451
--- /dev/null
+++ b/XcodeConfig/subconfig/Debug.xcconfig
@@ -0,0 +1,40 @@
+//
+// Debug.xcconfig
+//
+// General Xcode configuration file for Debug 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.
+//
+
+// No optimization
+GCC_OPTIMIZATION_LEVEL = 0
+
+// Deployment postprocessing is what triggers Xcode to strip, turn it off
+DEPLOYMENT_POSTPROCESSING = NO
+
+// Dead code stripping off
+DEAD_CODE_STRIPPING = NO
+
+// Debug symbols should be on obviously
+GCC_GENERATE_DEBUGGING_SYMBOLS = YES
+
+// Define the DEBUG macro in all debug builds
+OTHER_CFLAGS = $(OTHER_CFLAGS) -DDEBUG=1
+
+// Turns on special C++ STL checks to "encourage" good STL use
+GCC_PREPROCESSOR_DEFINITIONS = $(GCC_PREPROCESSOR_DEFINITIONS) _GLIBCXX_DEBUG_PEDANTIC _GLIBCXX_DEBUG _GLIBCPP_CONCEPT_CHECKS
+
+// Sets Debug info to DWARF
+DEBUG_INFORMATION_FORMAT = dwarf
diff --git a/XcodeConfig/subconfig/General.xcconfig b/XcodeConfig/subconfig/General.xcconfig
new file mode 100644
index 0000000..b9f7313
--- /dev/null
+++ b/XcodeConfig/subconfig/General.xcconfig
@@ -0,0 +1,48 @@
+//
+// General.xcconfig
+//
+// Xcode configuration file for general build settings applicable to all
+// Google 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.
+//
+
+// Build for PPC and Intel
+ARCHS = ppc i386
+
+// 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
diff --git a/XcodeConfig/subconfig/Release.xcconfig b/XcodeConfig/subconfig/Release.xcconfig
new file mode 100644
index 0000000..74df258
--- /dev/null
+++ b/XcodeConfig/subconfig/Release.xcconfig
@@ -0,0 +1,38 @@
+//
+// Release.xcconfig
+//
+// General Xcode configuration file for Release 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.
+//
+
+// Optimize for space and size (Apple recommendation)
+GCC_OPTIMIZATION_LEVEL = s
+
+// Deploment postprocessing is what triggers Xcode to strip
+DEPLOYMENT_POSTPROCESSING = YES
+
+// No symbols
+GCC_GENERATE_DEBUGGING_SYMBOLS = NO
+
+// Dead code strip does not affect ObjC code but can help for C
+DEAD_CODE_STRIPPING = YES
+
+// NDEBUG is used by things like assert.h, so define it for general compat.
+// ASSERT going away in release tends to create unused vars.
+OTHER_CFLAGS = $(OTHER_CFLAGS) -DNDEBUG=1 -Wno-unused-variable
+
+// When we strip we want to strip all symbols in release, but save externals.
+STRIP_STYLE = all
diff --git a/XcodeConfig/subconfig/TigerOrLater.xcconfig b/XcodeConfig/subconfig/TigerOrLater.xcconfig
new file mode 100644
index 0000000..d46e1a2
--- /dev/null
+++ b/XcodeConfig/subconfig/TigerOrLater.xcconfig
@@ -0,0 +1,29 @@
+//
+// TigerOrLater.xcconfig
+//
+// Xcode configuration file for Google applications targeting 10.4 Tiger or
+// later. These settings produce a Universal binary compatible with 10.4 for
+// PPC and Intel.
+//
+// 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.
+//
+
+// Default SDK and minimum OS version is 10.4
+SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk
+MACOSX_DEPLOYMENT_TARGET = 10.4
+GCC_VERSION = 4.0
+
+// On Tiger use Obj-C fast dispatch
+GCC_FAST_OBJC_DISPATCH = YES
diff --git a/XcodeConfig/subconfig/Unittest.xcconfig b/XcodeConfig/subconfig/Unittest.xcconfig
new file mode 100644
index 0000000..d3bdee8
--- /dev/null
+++ b/XcodeConfig/subconfig/Unittest.xcconfig
@@ -0,0 +1,37 @@
+//
+// Unittest.xcconfig
+//
+// Xcode configuration file for a unittest target.
+//
+// This is a _Target_ config file, for use in the "Based on" popup of the
+// settings dialog for a target. Do not attempt to apply this as the base
+// of an Xcode configuration in the project settings dialog.
+//
+// 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.
+//
+
+// Unittests are loadable bundles
+#include "../LoadableBundle.xcconfig"
+
+// No prefix
+GCC_PRECOMPILE_PREFIX_HEADER = NO
+GCC_PREFIX_HEADER =
+
+// Force C99 dialect with GNU extensions (needed for OCUnit)
+GCC_C_LANGUAGE_STANDARD = gnu99
+
+// Deploment postprocessing is what triggers Xcode to strip, we don't strip
+// unittests
+DEPLOYMENT_POSTPROCESSING = NO