From cdf070c8d76ffc4eaa24e8671756cbbe9ceb2890 Mon Sep 17 00:00:00 2001 From: thomasvl Date: Mon, 14 Apr 2008 17:21:02 +0000 Subject: See the ReleaseNotes for the full details, highlights: - bug fixes - code coverage support - more complete unittests - full support for unittesting UIs - support for the iphone sdk (include ui unittesting) --- XcodeConfig/DebugTigerOrLater.xcconfig | 34 -------------------- XcodeConfig/DebugUnittest.xcconfig | 29 ----------------- XcodeConfig/LoadableBundle.xcconfig | 30 ------------------ XcodeConfig/Project/DebugLeopardOrLater.xcconfig | 34 ++++++++++++++++++++ XcodeConfig/Project/DebugTigerOrLater.xcconfig | 34 ++++++++++++++++++++ XcodeConfig/Project/DebugiPhone.xcconfig | 33 +++++++++++++++++++ XcodeConfig/Project/ReleaseLeopardOrLater.xcconfig | 33 +++++++++++++++++++ XcodeConfig/Project/ReleaseTigerOrLater.xcconfig | 33 +++++++++++++++++++ XcodeConfig/Project/ReleaseiPhone.xcconfig | 33 +++++++++++++++++++ XcodeConfig/ReleaseTigerOrLater.xcconfig | 33 ------------------- XcodeConfig/ReleaseUnittest.xcconfig | 37 ---------------------- XcodeConfig/SharedLibrary.xcconfig | 29 ----------------- XcodeConfig/StaticLibrary.xcconfig | 30 ------------------ XcodeConfig/Target/DebugUnittest.xcconfig | 29 +++++++++++++++++ XcodeConfig/Target/LoadableBundle.xcconfig | 30 ++++++++++++++++++ XcodeConfig/Target/ReleaseUnittest.xcconfig | 37 ++++++++++++++++++++++ XcodeConfig/Target/SharedLibrary.xcconfig | 29 +++++++++++++++++ XcodeConfig/Target/StaticLibrary.xcconfig | 30 ++++++++++++++++++ XcodeConfig/subconfig/General.xcconfig | 4 +-- XcodeConfig/subconfig/LeopardOrLater.xcconfig | 28 ++++++++++++++++ XcodeConfig/subconfig/TigerOrLater.xcconfig | 5 ++- XcodeConfig/subconfig/Unittest.xcconfig | 12 +++---- XcodeConfig/subconfig/iPhone.xcconfig | 37 ++++++++++++++++++++++ XcodeConfig/xcconfigs-readme.txt | 12 +++++++ 24 files changed, 442 insertions(+), 233 deletions(-) delete mode 100644 XcodeConfig/DebugTigerOrLater.xcconfig delete mode 100644 XcodeConfig/DebugUnittest.xcconfig delete mode 100644 XcodeConfig/LoadableBundle.xcconfig create mode 100644 XcodeConfig/Project/DebugLeopardOrLater.xcconfig create mode 100644 XcodeConfig/Project/DebugTigerOrLater.xcconfig create mode 100644 XcodeConfig/Project/DebugiPhone.xcconfig create mode 100644 XcodeConfig/Project/ReleaseLeopardOrLater.xcconfig create mode 100644 XcodeConfig/Project/ReleaseTigerOrLater.xcconfig create mode 100644 XcodeConfig/Project/ReleaseiPhone.xcconfig delete mode 100644 XcodeConfig/ReleaseTigerOrLater.xcconfig delete mode 100644 XcodeConfig/ReleaseUnittest.xcconfig delete mode 100644 XcodeConfig/SharedLibrary.xcconfig delete mode 100644 XcodeConfig/StaticLibrary.xcconfig create mode 100644 XcodeConfig/Target/DebugUnittest.xcconfig create mode 100644 XcodeConfig/Target/LoadableBundle.xcconfig create mode 100644 XcodeConfig/Target/ReleaseUnittest.xcconfig create mode 100644 XcodeConfig/Target/SharedLibrary.xcconfig create mode 100644 XcodeConfig/Target/StaticLibrary.xcconfig create mode 100644 XcodeConfig/subconfig/LeopardOrLater.xcconfig create mode 100644 XcodeConfig/subconfig/iPhone.xcconfig create mode 100644 XcodeConfig/xcconfigs-readme.txt (limited to 'XcodeConfig') diff --git a/XcodeConfig/DebugTigerOrLater.xcconfig b/XcodeConfig/DebugTigerOrLater.xcconfig deleted file mode 100644 index 7a78a13..0000000 --- a/XcodeConfig/DebugTigerOrLater.xcconfig +++ /dev/null @@ -1,34 +0,0 @@ -// -// DebugTigerOrLater.xcconfig -// -// Xcode configuration file for building a Debug target on Tiger or later. -// -// This is a _Configuration_ Xcode config file for use in the "Based on" popup -// of the project configuration editor. Do _not_ use this as the config base -// and individual Xcode target, there are other configuration files for that -// purpose. -// -// 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. -// - -// Pull in our general Google settings -#include "subconfig/General.xcconfig" - -// Tiger or later -#include "subconfig/TigerOrLater.xcconfig" - -// Debug settings -#include "subconfig/Debug.xcconfig" - diff --git a/XcodeConfig/DebugUnittest.xcconfig b/XcodeConfig/DebugUnittest.xcconfig deleted file mode 100644 index c32c63d..0000000 --- a/XcodeConfig/DebugUnittest.xcconfig +++ /dev/null @@ -1,29 +0,0 @@ -// -// DebugUnittest.xcconfig -// -// Xcode configuration file for a debug 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 "subconfig/Unittest.xcconfig" - -// See comments in ReleaseUnittest.xcconfig regarding BUNDLE_LOADER and -// how it should be set if you are running into link errors. \ No newline at end of file diff --git a/XcodeConfig/LoadableBundle.xcconfig b/XcodeConfig/LoadableBundle.xcconfig deleted file mode 100644 index 78ed39a..0000000 --- a/XcodeConfig/LoadableBundle.xcconfig +++ /dev/null @@ -1,30 +0,0 @@ -// -// LoadableBundle.xcconfig -// -// Xcode configuration file for a loadable bundle. Usually a Cocoa plugin or -// similar. -// -// 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. -// - -// Bundles should not have their external symbols stripped. -STRIP_STYLE = non-global - -// Bundles need to be position independent -GCC_DYNAMIC_NO_PIC = NO diff --git a/XcodeConfig/Project/DebugLeopardOrLater.xcconfig b/XcodeConfig/Project/DebugLeopardOrLater.xcconfig new file mode 100644 index 0000000..7bc3257 --- /dev/null +++ b/XcodeConfig/Project/DebugLeopardOrLater.xcconfig @@ -0,0 +1,34 @@ +// +// DebugLeopardOrLater.xcconfig +// +// Xcode configuration file for building a Debug target on Leopard or later. +// +// This is a _Configuration_ Xcode config file for use in the "Based on" popup +// of the project configuration editor. Do _not_ use this as the config base +// and individual Xcode target, there are other configuration files for that +// purpose. +// +// 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. +// + +// Pull in our general Google settings +#include "../subconfig/General.xcconfig" + +// Leopard or later +#include "../subconfig/LeopardOrLater.xcconfig" + +// Debug settings +#include "../subconfig/Debug.xcconfig" + diff --git a/XcodeConfig/Project/DebugTigerOrLater.xcconfig b/XcodeConfig/Project/DebugTigerOrLater.xcconfig new file mode 100644 index 0000000..76d2e27 --- /dev/null +++ b/XcodeConfig/Project/DebugTigerOrLater.xcconfig @@ -0,0 +1,34 @@ +// +// DebugTigerOrLater.xcconfig +// +// Xcode configuration file for building a Debug target on Tiger or later. +// +// This is a _Configuration_ Xcode config file for use in the "Based on" popup +// of the project configuration editor. Do _not_ use this as the config base +// and individual Xcode target, there are other configuration files for that +// purpose. +// +// 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. +// + +// Pull in our general Google settings +#include "../subconfig/General.xcconfig" + +// Tiger or later +#include "../subconfig/TigerOrLater.xcconfig" + +// Debug settings +#include "../subconfig/Debug.xcconfig" + diff --git a/XcodeConfig/Project/DebugiPhone.xcconfig b/XcodeConfig/Project/DebugiPhone.xcconfig new file mode 100644 index 0000000..45c5ba5 --- /dev/null +++ b/XcodeConfig/Project/DebugiPhone.xcconfig @@ -0,0 +1,33 @@ +// +// DebugiPhoneSimulator.xcconfig +// +// Xcode configuration file for building a Debug target on iPhone +// +// 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. + +// +// This is a _Configuration_ Xcode config file for use in the "Based on" popup +// of the project configuration editor. Do _not_ use this as the config base +// and individual Xcode target, there are other configuration files for that +// purpose. + +// Pull in our general Google settings +#include "../subconfig/General.xcconfig" + +// iPhone settings +#include "../subconfig/iPhone.xcconfig" + +// Release settings +#include "../subconfig/Debug.xcconfig" diff --git a/XcodeConfig/Project/ReleaseLeopardOrLater.xcconfig b/XcodeConfig/Project/ReleaseLeopardOrLater.xcconfig new file mode 100644 index 0000000..52f0383 --- /dev/null +++ b/XcodeConfig/Project/ReleaseLeopardOrLater.xcconfig @@ -0,0 +1,33 @@ +// +// ReleaseLeopardOrLater.xcconfig +// +// Xcode configuration file for building a Release target on Leopard or later. +// +// This is a _Configuration_ Xcode config file for use in the "Based on" popup +// of the project configuration editor. Do _not_ use this as the config base +// and individual Xcode target, there are other configuration files for that +// purpose. +// +// 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. +// + +// Pull in our general Google settings +#include "../subconfig/General.xcconfig" + +// Leopard or later +#include "../subconfig/LeopardOrLater.xcconfig" + +// Release settings +#include "../subconfig/Release.xcconfig" diff --git a/XcodeConfig/Project/ReleaseTigerOrLater.xcconfig b/XcodeConfig/Project/ReleaseTigerOrLater.xcconfig new file mode 100644 index 0000000..d14e739 --- /dev/null +++ b/XcodeConfig/Project/ReleaseTigerOrLater.xcconfig @@ -0,0 +1,33 @@ +// +// ReleaseTigerOrLater.xcconfig +// +// Xcode configuration file for building a Release target on Tiger or later. +// +// This is a _Configuration_ Xcode config file for use in the "Based on" popup +// of the project configuration editor. Do _not_ use this as the config base +// and individual Xcode target, there are other configuration files for that +// purpose. +// +// 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. +// + +// Pull in our general Google settings +#include "../subconfig/General.xcconfig" + +// Tiger or later +#include "../subconfig/TigerOrLater.xcconfig" + +// Release settings +#include "../subconfig/Release.xcconfig" diff --git a/XcodeConfig/Project/ReleaseiPhone.xcconfig b/XcodeConfig/Project/ReleaseiPhone.xcconfig new file mode 100644 index 0000000..e61d1b6 --- /dev/null +++ b/XcodeConfig/Project/ReleaseiPhone.xcconfig @@ -0,0 +1,33 @@ +// +// ReleaseAspenSimulator.xcconfig +// +// Xcode configuration file for building a Release target on iPhone +// +// 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. + +// +// This is a _Configuration_ Xcode config file for use in the "Based on" popup +// of the project configuration editor. Do _not_ use this as the config base +// and individual Xcode target, there are other configuration files for that +// purpose. + +// Pull in our general Google settings +#include "../subconfig/General.xcconfig" + +// iPhone Settings. +#include "../subconfig/iPhone.xcconfig" + +// Release settings +#include "../subconfig/Release.xcconfig" diff --git a/XcodeConfig/ReleaseTigerOrLater.xcconfig b/XcodeConfig/ReleaseTigerOrLater.xcconfig deleted file mode 100644 index ee30238..0000000 --- a/XcodeConfig/ReleaseTigerOrLater.xcconfig +++ /dev/null @@ -1,33 +0,0 @@ -// -// ReleaseTigerOrLater.xcconfig -// -// Xcode configuration file for building a Release target on Tiger or later. -// -// This is a _Configuration_ Xcode config file for use in the "Based on" popup -// of the project configuration editor. Do _not_ use this as the config base -// and individual Xcode target, there are other configuration files for that -// purpose. -// -// 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. -// - -// Pull in our general Google settings -#include "subconfig/General.xcconfig" - -// Tiger or later -#include "subconfig/TigerOrLater.xcconfig" - -// Release settings -#include "subconfig/Release.xcconfig" diff --git a/XcodeConfig/ReleaseUnittest.xcconfig b/XcodeConfig/ReleaseUnittest.xcconfig deleted file mode 100644 index 9ec14de..0000000 --- a/XcodeConfig/ReleaseUnittest.xcconfig +++ /dev/null @@ -1,37 +0,0 @@ -// -// ReleaseUnittest.xcconfig -// -// Xcode configuration file for a release 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 "subconfig/Unittest.xcconfig" - -// When running OCUnit tests in Release mode the unittests BUNDLE_LOADER -// is probably stripped (or at least it will be if they are using our -// config files). In that case the Unittest will fail to link because -// the symbols have been removed from the bundle's loader's symbol table. -// This flag tells the unittest to trust that the values will be available -// at runtime (or error out) and not to force an error at link time. -// Do NOT set BUNDLE_LOADER (Bundle Loader) setting in a release unittest target -// because you will run into interesting link issues -// "indirect symbol table entry n past the end of the symbol table" -OTHER_LDFLAGS = $(OTHER_LDFLAGS) -undefined dynamic_lookup diff --git a/XcodeConfig/SharedLibrary.xcconfig b/XcodeConfig/SharedLibrary.xcconfig deleted file mode 100644 index 7593392..0000000 --- a/XcodeConfig/SharedLibrary.xcconfig +++ /dev/null @@ -1,29 +0,0 @@ -// -// SharedLibrary.xcconfig -// -// Xcode configuration file for a shared library. -// -// 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. -// - -// Dynamic libs need to be position independent -GCC_DYNAMIC_NO_PIC = NO - -// Dynamic libs should not have their external symbols stripped. -STRIP_STYLE = non-global \ No newline at end of file diff --git a/XcodeConfig/StaticLibrary.xcconfig b/XcodeConfig/StaticLibrary.xcconfig deleted file mode 100644 index f459e83..0000000 --- a/XcodeConfig/StaticLibrary.xcconfig +++ /dev/null @@ -1,30 +0,0 @@ -// -// StaticLibrary.xcconfig -// -// Xcode configuration file for a static library. -// -// 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. -// - -// Static libs can be included in bundles so make them position independent -GCC_DYNAMIC_NO_PIC = NO - -// Static libs should not have their internal globals or external symbols -// stripped. -STRIP_STYLE = debugging diff --git a/XcodeConfig/Target/DebugUnittest.xcconfig b/XcodeConfig/Target/DebugUnittest.xcconfig new file mode 100644 index 0000000..3f4d342 --- /dev/null +++ b/XcodeConfig/Target/DebugUnittest.xcconfig @@ -0,0 +1,29 @@ +// +// DebugUnittest.xcconfig +// +// Xcode configuration file for a debug 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 "../subconfig/Unittest.xcconfig" + +// See comments in ReleaseUnittest.xcconfig regarding BUNDLE_LOADER and +// how it should be set if you are running into link errors. \ No newline at end of file diff --git a/XcodeConfig/Target/LoadableBundle.xcconfig b/XcodeConfig/Target/LoadableBundle.xcconfig new file mode 100644 index 0000000..78ed39a --- /dev/null +++ b/XcodeConfig/Target/LoadableBundle.xcconfig @@ -0,0 +1,30 @@ +// +// LoadableBundle.xcconfig +// +// Xcode configuration file for a loadable bundle. Usually a Cocoa plugin or +// similar. +// +// 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. +// + +// Bundles should not have their external symbols stripped. +STRIP_STYLE = non-global + +// Bundles need to be position independent +GCC_DYNAMIC_NO_PIC = NO diff --git a/XcodeConfig/Target/ReleaseUnittest.xcconfig b/XcodeConfig/Target/ReleaseUnittest.xcconfig new file mode 100644 index 0000000..f9a85d3 --- /dev/null +++ b/XcodeConfig/Target/ReleaseUnittest.xcconfig @@ -0,0 +1,37 @@ +// +// ReleaseUnittest.xcconfig +// +// Xcode configuration file for a release 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 "../subconfig/Unittest.xcconfig" + +// When running OCUnit tests in Release mode the unittests BUNDLE_LOADER +// is probably stripped (or at least it will be if they are using our +// config files). In that case the Unittest will fail to link because +// the symbols have been removed from the bundle's loader's symbol table. +// This flag tells the unittest to trust that the values will be available +// at runtime (or error out) and not to force an error at link time. +// Do NOT set BUNDLE_LOADER (Bundle Loader) setting in a release unittest target +// because you will run into interesting link issues +// "indirect symbol table entry n past the end of the symbol table" +OTHER_LDFLAGS = $(OTHER_LDFLAGS) -undefined dynamic_lookup diff --git a/XcodeConfig/Target/SharedLibrary.xcconfig b/XcodeConfig/Target/SharedLibrary.xcconfig new file mode 100644 index 0000000..7593392 --- /dev/null +++ b/XcodeConfig/Target/SharedLibrary.xcconfig @@ -0,0 +1,29 @@ +// +// SharedLibrary.xcconfig +// +// Xcode configuration file for a shared library. +// +// 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. +// + +// Dynamic libs need to be position independent +GCC_DYNAMIC_NO_PIC = NO + +// Dynamic libs should not have their external symbols stripped. +STRIP_STYLE = non-global \ No newline at end of file diff --git a/XcodeConfig/Target/StaticLibrary.xcconfig b/XcodeConfig/Target/StaticLibrary.xcconfig new file mode 100644 index 0000000..f459e83 --- /dev/null +++ b/XcodeConfig/Target/StaticLibrary.xcconfig @@ -0,0 +1,30 @@ +// +// StaticLibrary.xcconfig +// +// Xcode configuration file for a static library. +// +// 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. +// + +// Static libs can be included in bundles so make them position independent +GCC_DYNAMIC_NO_PIC = NO + +// Static libs should not have their internal globals or external symbols +// stripped. +STRIP_STYLE = debugging diff --git a/XcodeConfig/subconfig/General.xcconfig b/XcodeConfig/subconfig/General.xcconfig index b9f7313..b6a9a02 100644 --- a/XcodeConfig/subconfig/General.xcconfig +++ b/XcodeConfig/subconfig/General.xcconfig @@ -2,7 +2,7 @@ // General.xcconfig // // Xcode configuration file for general build settings applicable to all -// Google projects and targets. +// projects and targets. // // Copyright 2006-2008 Google Inc. // @@ -20,7 +20,7 @@ // // Build for PPC and Intel -ARCHS = ppc i386 +ARCHS = i386 ppc // Zerolink prevents link warnings so turn it off ZERO_LINK = NO diff --git a/XcodeConfig/subconfig/LeopardOrLater.xcconfig b/XcodeConfig/subconfig/LeopardOrLater.xcconfig new file mode 100644 index 0000000..b2828d7 --- /dev/null +++ b/XcodeConfig/subconfig/LeopardOrLater.xcconfig @@ -0,0 +1,28 @@ +// +// LeopardOrLater.xcconfig +// +// Xcode configuration file for projects 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.5 +SDKROOT = ${DEVELOPER_SDK_DIR}/MacOSX10.5.sdk +MACOSX_DEPLOYMENT_TARGET = 10.5 +GCC_VERSION = 4.0 + +// On Leopard use Obj-C fast dispatch +GCC_FAST_OBJC_DISPATCH = YES diff --git a/XcodeConfig/subconfig/TigerOrLater.xcconfig b/XcodeConfig/subconfig/TigerOrLater.xcconfig index d46e1a2..d8f7a3d 100644 --- a/XcodeConfig/subconfig/TigerOrLater.xcconfig +++ b/XcodeConfig/subconfig/TigerOrLater.xcconfig @@ -1,9 +1,8 @@ // // 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. +// Xcode configuration file for projects 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. // diff --git a/XcodeConfig/subconfig/Unittest.xcconfig b/XcodeConfig/subconfig/Unittest.xcconfig index a35dc61..96121ee 100644 --- a/XcodeConfig/subconfig/Unittest.xcconfig +++ b/XcodeConfig/subconfig/Unittest.xcconfig @@ -1,11 +1,8 @@ // // 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. +// Xcode configuration file for a basic unittest targets. Use the debug or +// release build specific configs in the Target folder. // // Copyright 2006-2008 Google Inc. // @@ -23,7 +20,7 @@ // // Unittests are loadable bundles -#include "../LoadableBundle.xcconfig" +#include "../Target/LoadableBundle.xcconfig" // Force C99 dialect with GNU extensions (needed for OCUnit) GCC_C_LANGUAGE_STANDARD = gnu99 @@ -31,3 +28,6 @@ GCC_C_LANGUAGE_STANDARD = gnu99 // Deploment postprocessing is what triggers Xcode to strip, we don't strip // unittests DEPLOYMENT_POSTPROCESSING = NO + +// Most common unittests will be objective-c +WRAPPER_EXTENSION = octest diff --git a/XcodeConfig/subconfig/iPhone.xcconfig b/XcodeConfig/subconfig/iPhone.xcconfig new file mode 100644 index 0000000..42445f1 --- /dev/null +++ b/XcodeConfig/subconfig/iPhone.xcconfig @@ -0,0 +1,37 @@ +// +// iPhone.xcconfig +// +// Xcode configuration file for building a Debug target on iPhone +// +// 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 ARM +ARCHS = armv6 + +// Build only the active architecture +ONLY_ACTIVE_ARCH = YES + +// Code signing. Should be overridden if releasing +CODE_SIGN_IDENTITY[sdk=iphoneos*] = iPhone Developer + +// Default SDK and minimum OS version is the iphone SDK. +SDKROOT = iphoneos2.0 + +MACOSX_DEPLOYMENT_TARGET = 10.5 +GCC_VERSION = 4.0 + +// On iPhone use Obj-C fast dispatch +GCC_FAST_OBJC_DISPATCH = YES + diff --git a/XcodeConfig/xcconfigs-readme.txt b/XcodeConfig/xcconfigs-readme.txt new file mode 100644 index 0000000..23fde4b --- /dev/null +++ b/XcodeConfig/xcconfigs-readme.txt @@ -0,0 +1,12 @@ + +Configs w/in Project folder are configs expected to be set at the project level. + +Configs w/in the Target folder are configs expected to be set on the per target +level. + +Configs w/in subconfig are not meant to be used directly; they are referenced by +the other configs. + + +Remember: when using the configs at any given layer, make sure you set them for +each build configuration. -- cgit v1.2.3