OSDN Git Service

BuildSystem: effects Darwin platforms only
authorkonablend <konablend@b64f7644-9d1e-0410-96f1-a4d463321fa5>
Tue, 10 Mar 2009 01:26:46 +0000 (01:26 +0000)
committerkonablend <konablend@b64f7644-9d1e-0410-96f1-a4d463321fa5>
Tue, 10 Mar 2009 01:26:46 +0000 (01:26 +0000)
- fixed Darwin ppc hosted build reversion introduced in r2242.
- fixed Darwin + Xcode in all scenerios to honor --debug option

*** if building from Xcode there is no need to rebuild but you will have
    to close project and reload; xcodeproj has been updated.

*** if building from terminal there *should* be no need to rebuild;
    the first 'make' after an update is expected to trigger a reconfigure
    and libhb will rebuild.

git-svn-id: svn://localhost/HandBrake/trunk@2248 b64f7644-9d1e-0410-96f1-a4d463321fa5

doc/module.rules
doc/texi/Building.osx.texi
doc/texi/building/appendix.repo.texi [new file with mode: 0644]
doc/texi/building/chapter.via.terminal.texi
doc/texi/building/chapter.via.xcode.texi
macosx/HandBrake.xcodeproj/project.pbxproj
macosx/module.defs
make/configure.py
make/test/build.matrix.darwin
make/xcodemake

index 54fec6d..cc45124 100644 (file)
@@ -67,6 +67,6 @@ wiki.add:
 
 wiki.propset:
        find $(WIKI.out.version/) -type f -a -name "*.wiki" -print0 \
-           | xargs -0 svn propset svn:eol-style native
+           | xargs -0 svn propset svn:eol-style LF
        find $(WIKI.out.version/) -type f -a -name "*.wiki" -print0 \
-           | xargs -0 svn propset svn:mime-type "text/html"
+           | xargs -0 svn propset svn:mime-type "text/x-trac-wiki"
index a02ec61..7684881 100644 (file)
@@ -8,7 +8,7 @@
 @set BG.platform osx
 @c %**end of header
 
-@majorheading Guide to Building @value{HB.title} on @value{OS.@value{BG.platform}}
+@majorheading Build Guide for @value{HB.name} @value{HB.version} on @value{OS.@value{BG.platform}}
 
 @contents
 @include building/chapter.introduction.texi
@@ -67,3 +67,4 @@ UB.archs = i386 x86_64
 
 @c %**-------------------------------------------------------------------------
 @include building/chapter.via.xcode.texi
+@include building/appendix.repo.texi
diff --git a/doc/texi/building/appendix.repo.texi b/doc/texi/building/appendix.repo.texi
new file mode 100644 (file)
index 0000000..8d4ee0c
--- /dev/null
@@ -0,0 +1,10 @@
+@appendix Project Repository Details
+@example
+url:    @value{HB.repo.url}
+root:   @value{HB.repo.root}
+branch: @value{HB.repo.branch}
+uuid:   @value{HB.repo.uuid}
+rev:    @value{HB.repo.rev}
+date:   @value{HB.repo.date}
+type:   @value{HB.repo.type}
+@end example
index 56afb81..dce40f4 100644 (file)
@@ -219,7 +219,7 @@ If the need arises to override settings in the build system (essentially gnu-mak
 Custom makevar definitions @i{outside} @file{build}. Suitable for settings which apply across all builds for a particular checkout; or which survives manual removal of @file{build}.
 
 @item _SRC_/custom.rules
-Custom make rules @i{outside} @file{build}. Suitable for settings which apply across all builds for a particular checkout; or which survives manual removal of @file{build}.
+Custom make rules @i{outside} @file{build}. Suitable for rules which apply across all builds for a particular checkout; or which survives manual removal of @file{build}.
 
 @item _BUILD_/GNUmakefile.custom.defs
 Custom makevar definitions specific to a @file{build} directory.
index a78e080..7a2aab9 100644 (file)
@@ -28,24 +28,40 @@ Each configuration uses a different @file{build} directory. This makes it possib
 
 @table @samp
 @item standard
-This configuration will build to the host native architecture. Build directory is @file{build.standard} .
+This configuration will build @b{host native} architecture. Build directory is @file{build.standard} .
 The standard variant produces optimized code without debug information.
 
-@item debug
-This configuration will build to the host native architecture. Build directory is @file{build.standard} .
-The debug variant produces unoptimized code with debug information.
-
 @item standard.i386
-This configuration is used to build for the i386 architecture. Build directory is @file{build.standard.i386} .
+This configuration will build @b{i386} architecture. Build directory is @file{build.standard.i386} .
 
 @item standard.x86_64
-This configuration is used to build for the x86_64 architecture. Build directory is @file{build.standard.x86_64} .
+This configuration will build @b{x86_64} architecture. Build directory is @file{build.standard.x86_64} .
 
 @item standard.ppc
-This configuration is used to build for the ppc architecture. Build directory is @file{build.standard.ppc} .
+This configuration will build @b{ppc} architecture. Build directory is @file{build.standard.ppc} .
 
 @item standard.ppc64
-This configuration is used to build for the ppc64 architecture. Build directory is @file{build.standard.ppc64} .
+This configuration will build @b{ppc64} architecture. Build directory is @file{build.standard.ppc64} .
+
+@item debug
+This configuration will build @b{host native architecture}. Build directory is @file{build.debug} .
+The debug variant produces unoptimized code with debug information.
+
+@item debug.i386
+This configuration will build @b{i386} architecture. Build directory is @file{build.debug.i386} .
+The debug variant produces unoptimized code with debug information.
+
+@item debug.x86_64
+This configuration will build @b{x86_64} architecture. Build directory is @file{build.debug.x86_64} .
+The debug variant produces unoptimized code with debug information.
+
+@item debug.ppc
+This configuration will build @b{ppc} architecture. Build directory is @file{build.debug.ppc} .
+The debug variant produces unoptimized code with debug information.
+
+@item debug.ppc64
+This configuration will build @b{ppc64} architecture. Build directory is @file{build.debug.ppc64} .
+The debug variant produces unoptimized code with debug information.
 @end table
 
 @c %**-------------------------------------------------------------------------
index c93959c..12812c6 100644 (file)
                        };
                        name = standard;
                };
-               27ED6ADB0F58D7F100C905EE /* standard.i386 */ = {
+               27B4DEB20F65BAB600098046 /* standard.i386 */ = {
                        isa = XCBuildConfiguration;
                        buildSettings = {
                                ARCHS = i386;
                        };
                        name = standard.i386;
                };
-               27ED6ADE0F58D7F100C905EE /* standard.i386 */ = {
+               27B4DEB30F65BAB600098046 /* standard.i386 */ = {
+                       isa = XCBuildConfiguration;
+                       buildSettings = {
+                               FRAMEWORK_SEARCH_PATHS = "$(EXTERNAL_SRC)/macosx";
+                               IBC_PLUGINS = /System/Library/Frameworks/QTKit.framework/Resources/QTKitIBPlugin.ibplugin;
+                               IBC_PLUGIN_SEARCH_PATHS = /System/Library/Frameworks/QTKit.framework/Resources;
+                               INFOPLIST_FILE = Info.plist;
+                               INFOPLIST_OTHER_PREPROCESSOR_FLAGS = "-traditional -undef";
+                               INFOPLIST_PREFIX_HEADER = "$(EXTERNAL_BUILD)/macosx/Info.h";
+                               INFOPLIST_PREPROCESS = YES;
+                               OTHER_LDFLAGS = (
+                                       "$(EXTERNAL_BUILD)/libhb/libhb.a",
+                                       "$(EXTERNAL_BUILD)/contrib/lib/libmp4v2.a",
+                                       "$(EXTERNAL_BUILD)/contrib/lib/liba52.a",
+                                       "$(EXTERNAL_BUILD)/contrib/lib/libavformat.a",
+                                       "$(EXTERNAL_BUILD)/contrib/lib/libavcodec.a",
+                                       "$(EXTERNAL_BUILD)/contrib/lib/libavutil.a",
+                                       "$(EXTERNAL_BUILD)/contrib/lib/libdvdread.a",
+                                       "$(EXTERNAL_BUILD)/contrib/lib/libfaac.a",
+                                       "$(EXTERNAL_BUILD)/contrib/lib/libmp3lame.a",
+                                       "$(EXTERNAL_BUILD)/contrib/lib/libmpeg2.a",
+                                       "$(EXTERNAL_BUILD)/contrib/lib/libvorbis.a",
+                                       "$(EXTERNAL_BUILD)/contrib/lib/libvorbisenc.a",
+                                       "$(EXTERNAL_BUILD)/contrib/lib/libogg.a",
+                                       "$(EXTERNAL_BUILD)/contrib/lib/libsamplerate.a",
+                                       "$(EXTERNAL_BUILD)/contrib/lib/libx264.a",
+                                       "$(EXTERNAL_BUILD)/contrib/lib/libxvidcore.a",
+                                       "$(EXTERNAL_BUILD)/contrib/lib/libdca.a",
+                                       "$(EXTERNAL_BUILD)/contrib/lib/libmkv.a",
+                                       "$(EXTERNAL_BUILD)/contrib/lib/libswscale.a",
+                                       "$(EXTERNAL_BUILD)/contrib/lib/libtheora.a",
+                                       "$(EXTERNAL_BUILD)/contrib/lib/libfaad.a",
+                                       "-lbz2",
+                                       "-lz",
+                               );
+                               PRODUCT_NAME = HandBrake;
+                               WARNING_CFLAGS = (
+                                       "-Wmost",
+                                       "-Wno-four-char-constants",
+                                       "-Wno-unknown-pragmas",
+                               );
+                               WRAPPER_EXTENSION = app;
+                       };
+                       name = standard.i386;
+               };
+               27B4DEB40F65BAB600098046 /* standard.i386 */ = {
                        isa = XCBuildConfiguration;
                        buildSettings = {
                                INSTALL_PATH = /usr/local/bin;
                        };
                        name = standard.i386;
                };
-               27ED6ADF0F58D7F100C905EE /* standard.i386 */ = {
+               27B4DEB50F65BAB600098046 /* standard.i386 */ = {
+                       isa = XCBuildConfiguration;
+                       buildSettings = {
+                               PRODUCT_NAME = external;
+                       };
+                       name = standard.i386;
+               };
+               27B4DEB60F65BAB600098046 /* standard.i386 */ = {
+                       isa = XCBuildConfiguration;
+                       buildSettings = {
+                               PRODUCT_NAME = libhb;
+                       };
+                       name = standard.i386;
+               };
+               27B4DEB70F65BAB600098046 /* standard.i386 */ = {
+                       isa = XCBuildConfiguration;
+                       buildSettings = {
+                               PRODUCT_NAME = contrib;
+                       };
+                       name = standard.i386;
+               };
+               27B4DEB80F65BAB700098046 /* standard.x86_64 */ = {
+                       isa = XCBuildConfiguration;
+                       buildSettings = {
+                               ARCHS = x86_64;
+                               CONFIGURATION_BUILD_DIR = "$(EXTERNAL_BUILD)";
+                               CONFIGURATION_TEMP_DIR = "$(SYMROOT)";
+                               EXTERNAL_BUILD = "$(EXTERNAL_SRC)/build.$(CONFIGURATION)";
+                               EXTERNAL_JOBS = 1;
+                               EXTERNAL_METHOD = xcode;
+                               EXTERNAL_SRC = ..;
+                               GCC_DYNAMIC_NO_PIC = YES;
+                               GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
+                               GCC_MODEL_TUNING = G5;
+                               HEADER_SEARCH_PATHS = "$(EXTERNAL_BUILD)/libhb";
+                               IBC_NOTICES = NO;
+                               IBC_WARNINGS = NO;
+                               OBJROOT = "$(EXTERNAL_BUILD)/macosx";
+                               PREBINDING = NO;
+                               SDKROOT = macosx10.5;
+                               SHARED_PRECOMPS_DIR = "$(SYMROOT)/cache";
+                               SYMROOT = "$(EXTERNAL_BUILD)/macosx";
+                       };
+                       name = standard.x86_64;
+               };
+               27B4DEB90F65BAB700098046 /* standard.x86_64 */ = {
+                       isa = XCBuildConfiguration;
+                       buildSettings = {
+                               FRAMEWORK_SEARCH_PATHS = "$(EXTERNAL_SRC)/macosx";
+                               IBC_PLUGINS = /System/Library/Frameworks/QTKit.framework/Resources/QTKitIBPlugin.ibplugin;
+                               IBC_PLUGIN_SEARCH_PATHS = /System/Library/Frameworks/QTKit.framework/Resources;
+                               INFOPLIST_FILE = Info.plist;
+                               INFOPLIST_OTHER_PREPROCESSOR_FLAGS = "-traditional -undef";
+                               INFOPLIST_PREFIX_HEADER = "$(EXTERNAL_BUILD)/macosx/Info.h";
+                               INFOPLIST_PREPROCESS = YES;
+                               OTHER_LDFLAGS = (
+                                       "$(EXTERNAL_BUILD)/libhb/libhb.a",
+                                       "$(EXTERNAL_BUILD)/contrib/lib/libmp4v2.a",
+                                       "$(EXTERNAL_BUILD)/contrib/lib/liba52.a",
+                                       "$(EXTERNAL_BUILD)/contrib/lib/libavformat.a",
+                                       "$(EXTERNAL_BUILD)/contrib/lib/libavcodec.a",
+                                       "$(EXTERNAL_BUILD)/contrib/lib/libavutil.a",
+                                       "$(EXTERNAL_BUILD)/contrib/lib/libdvdread.a",
+                                       "$(EXTERNAL_BUILD)/contrib/lib/libfaac.a",
+                                       "$(EXTERNAL_BUILD)/contrib/lib/libmp3lame.a",
+                                       "$(EXTERNAL_BUILD)/contrib/lib/libmpeg2.a",
+                                       "$(EXTERNAL_BUILD)/contrib/lib/libvorbis.a",
+                                       "$(EXTERNAL_BUILD)/contrib/lib/libvorbisenc.a",
+                                       "$(EXTERNAL_BUILD)/contrib/lib/libogg.a",
+                                       "$(EXTERNAL_BUILD)/contrib/lib/libsamplerate.a",
+                                       "$(EXTERNAL_BUILD)/contrib/lib/libx264.a",
+                                       "$(EXTERNAL_BUILD)/contrib/lib/libxvidcore.a",
+                                       "$(EXTERNAL_BUILD)/contrib/lib/libdca.a",
+                                       "$(EXTERNAL_BUILD)/contrib/lib/libmkv.a",
+                                       "$(EXTERNAL_BUILD)/contrib/lib/libswscale.a",
+                                       "$(EXTERNAL_BUILD)/contrib/lib/libtheora.a",
+                                       "$(EXTERNAL_BUILD)/contrib/lib/libfaad.a",
+                                       "-lbz2",
+                                       "-lz",
+                               );
+                               PRODUCT_NAME = HandBrake;
+                               WARNING_CFLAGS = (
+                                       "-Wmost",
+                                       "-Wno-four-char-constants",
+                                       "-Wno-unknown-pragmas",
+                               );
+                               WRAPPER_EXTENSION = app;
+                       };
+                       name = standard.x86_64;
+               };
+               27B4DEBA0F65BAB700098046 /* standard.x86_64 */ = {
+                       isa = XCBuildConfiguration;
+                       buildSettings = {
+                               INSTALL_PATH = /usr/local/bin;
+                               OTHER_LDFLAGS = (
+                                       "$(EXTERNAL_BUILD)/libhb/libhb.a",
+                                       "$(EXTERNAL_BUILD)/contrib/lib/libmp4v2.a",
+                                       "$(EXTERNAL_BUILD)/contrib/lib/liba52.a",
+                                       "$(EXTERNAL_BUILD)/contrib/lib/libavformat.a",
+                                       "$(EXTERNAL_BUILD)/contrib/lib/libavcodec.a",
+                                       "$(EXTERNAL_BUILD)/contrib/lib/libavutil.a",
+                                       "$(EXTERNAL_BUILD)/contrib/lib/libdvdread.a",
+                                       "$(EXTERNAL_BUILD)/contrib/lib/libfaac.a",
+                                       "$(EXTERNAL_BUILD)/contrib/lib/libmp3lame.a",
+                                       "$(EXTERNAL_BUILD)/contrib/lib/libmpeg2.a",
+                                       "$(EXTERNAL_BUILD)/contrib/lib/libvorbis.a",
+                                       "$(EXTERNAL_BUILD)/contrib/lib/libvorbisenc.a",
+                                       "$(EXTERNAL_BUILD)/contrib/lib/libogg.a",
+                                       "$(EXTERNAL_BUILD)/contrib/lib/libsamplerate.a",
+                                       "$(EXTERNAL_BUILD)/contrib/lib/libx264.a",
+                                       "$(EXTERNAL_BUILD)/contrib/lib/libxvidcore.a",
+                                       "$(EXTERNAL_BUILD)/contrib/lib/libdca.a",
+                                       "$(EXTERNAL_BUILD)/contrib/lib/libmkv.a",
+                                       "$(EXTERNAL_BUILD)/contrib/lib/libswscale.a",
+                                       "$(EXTERNAL_BUILD)/contrib/lib/libtheora.a",
+                                       "$(EXTERNAL_BUILD)/contrib/lib/libfaad.a",
+                                       "-lbz2",
+                                       "-lz",
+                               );
+                               PRODUCT_NAME = HandBrakeCLI;
+                       };
+                       name = standard.x86_64;
+               };
+               27B4DEBB0F65BAB700098046 /* standard.x86_64 */ = {
+                       isa = XCBuildConfiguration;
+                       buildSettings = {
+                               PRODUCT_NAME = external;
+                       };
+                       name = standard.x86_64;
+               };
+               27B4DEBC0F65BAB700098046 /* standard.x86_64 */ = {
+                       isa = XCBuildConfiguration;
+                       buildSettings = {
+                               PRODUCT_NAME = libhb;
+                       };
+                       name = standard.x86_64;
+               };
+               27B4DEBD0F65BAB700098046 /* standard.x86_64 */ = {
+                       isa = XCBuildConfiguration;
+                       buildSettings = {
+                               PRODUCT_NAME = contrib;
+                       };
+                       name = standard.x86_64;
+               };
+               27B4DEBE0F65BAB800098046 /* standard.ppc */ = {
+                       isa = XCBuildConfiguration;
+                       buildSettings = {
+                               ARCHS = ppc;
+                               CONFIGURATION_BUILD_DIR = "$(EXTERNAL_BUILD)";
+                               CONFIGURATION_TEMP_DIR = "$(SYMROOT)";
+                               EXTERNAL_BUILD = "$(EXTERNAL_SRC)/build.$(CONFIGURATION)";
+                               EXTERNAL_JOBS = 1;
+                               EXTERNAL_METHOD = xcode;
+                               EXTERNAL_SRC = ..;
+                               GCC_DYNAMIC_NO_PIC = YES;
+                               GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
+                               GCC_MODEL_TUNING = G5;
+                               HEADER_SEARCH_PATHS = "$(EXTERNAL_BUILD)/libhb";
+                               IBC_NOTICES = NO;
+                               IBC_WARNINGS = NO;
+                               OBJROOT = "$(EXTERNAL_BUILD)/macosx";
+                               PREBINDING = NO;
+                               SDKROOT = macosx10.5;
+                               SHARED_PRECOMPS_DIR = "$(SYMROOT)/cache";
+                               SYMROOT = "$(EXTERNAL_BUILD)/macosx";
+                       };
+                       name = standard.ppc;
+               };
+               27B4DEBF0F65BAB800098046 /* standard.ppc */ = {
+                       isa = XCBuildConfiguration;
+                       buildSettings = {
+                               FRAMEWORK_SEARCH_PATHS = "$(EXTERNAL_SRC)/macosx";
+                               IBC_PLUGINS = /System/Library/Frameworks/QTKit.framework/Resources/QTKitIBPlugin.ibplugin;
+                               IBC_PLUGIN_SEARCH_PATHS = /System/Library/Frameworks/QTKit.framework/Resources;
+                               INFOPLIST_FILE = Info.plist;
+                               INFOPLIST_OTHER_PREPROCESSOR_FLAGS = "-traditional -undef";
+                               INFOPLIST_PREFIX_HEADER = "$(EXTERNAL_BUILD)/macosx/Info.h";
+                               INFOPLIST_PREPROCESS = YES;
+                               OTHER_LDFLAGS = (
+                                       "$(EXTERNAL_BUILD)/libhb/libhb.a",
+                                       "$(EXTERNAL_BUILD)/contrib/lib/libmp4v2.a",
+                                       "$(EXTERNAL_BUILD)/contrib/lib/liba52.a",
+                                       "$(EXTERNAL_BUILD)/contrib/lib/libavformat.a",
+                                       "$(EXTERNAL_BUILD)/contrib/lib/libavcodec.a",
+                                       "$(EXTERNAL_BUILD)/contrib/lib/libavutil.a",
+                                       "$(EXTERNAL_BUILD)/contrib/lib/libdvdread.a",
+                                       "$(EXTERNAL_BUILD)/contrib/lib/libfaac.a",
+                                       "$(EXTERNAL_BUILD)/contrib/lib/libmp3lame.a",
+                                       "$(EXTERNAL_BUILD)/contrib/lib/libmpeg2.a",
+                                       "$(EXTERNAL_BUILD)/contrib/lib/libvorbis.a",
+                                       "$(EXTERNAL_BUILD)/contrib/lib/libvorbisenc.a",
+                                       "$(EXTERNAL_BUILD)/contrib/lib/libogg.a",
+                                       "$(EXTERNAL_BUILD)/contrib/lib/libsamplerate.a",
+                                       "$(EXTERNAL_BUILD)/contrib/lib/libx264.a",
+                                       "$(EXTERNAL_BUILD)/contrib/lib/libxvidcore.a",
+                                       "$(EXTERNAL_BUILD)/contrib/lib/libdca.a",
+                                       "$(EXTERNAL_BUILD)/contrib/lib/libmkv.a",
+                                       "$(EXTERNAL_BUILD)/contrib/lib/libswscale.a",
+                                       "$(EXTERNAL_BUILD)/contrib/lib/libtheora.a",
+                                       "$(EXTERNAL_BUILD)/contrib/lib/libfaad.a",
+                                       "-lbz2",
+                                       "-lz",
+                               );
+                               PRODUCT_NAME = HandBrake;
+                               WARNING_CFLAGS = (
+                                       "-Wmost",
+                                       "-Wno-four-char-constants",
+                                       "-Wno-unknown-pragmas",
+                               );
+                               WRAPPER_EXTENSION = app;
+                       };
+                       name = standard.ppc;
+               };
+               27B4DEC00F65BAB800098046 /* standard.ppc */ = {
                        isa = XCBuildConfiguration;
                        buildSettings = {
-                               APPCAST_URL = "";
-                               FRAMEWORK_SEARCH_PATHS = (
-                                       "$(inherited)",
-                                       "$(FRAMEWORK_SEARCH_PATHS_QUOTED_1)",
-                                       "$(FRAMEWORK_SEARCH_PATHS_QUOTED_2)",
+                               INSTALL_PATH = /usr/local/bin;
+                               OTHER_LDFLAGS = (
+                                       "$(EXTERNAL_BUILD)/libhb/libhb.a",
+                                       "$(EXTERNAL_BUILD)/contrib/lib/libmp4v2.a",
+                                       "$(EXTERNAL_BUILD)/contrib/lib/liba52.a",
+                                       "$(EXTERNAL_BUILD)/contrib/lib/libavformat.a",
+                                       "$(EXTERNAL_BUILD)/contrib/lib/libavcodec.a",
+                                       "$(EXTERNAL_BUILD)/contrib/lib/libavutil.a",
+                                       "$(EXTERNAL_BUILD)/contrib/lib/libdvdread.a",
+                                       "$(EXTERNAL_BUILD)/contrib/lib/libfaac.a",
+                                       "$(EXTERNAL_BUILD)/contrib/lib/libmp3lame.a",
+                                       "$(EXTERNAL_BUILD)/contrib/lib/libmpeg2.a",
+                                       "$(EXTERNAL_BUILD)/contrib/lib/libvorbis.a",
+                                       "$(EXTERNAL_BUILD)/contrib/lib/libvorbisenc.a",
+                                       "$(EXTERNAL_BUILD)/contrib/lib/libogg.a",
+                                       "$(EXTERNAL_BUILD)/contrib/lib/libsamplerate.a",
+                                       "$(EXTERNAL_BUILD)/contrib/lib/libx264.a",
+                                       "$(EXTERNAL_BUILD)/contrib/lib/libxvidcore.a",
+                                       "$(EXTERNAL_BUILD)/contrib/lib/libdca.a",
+                                       "$(EXTERNAL_BUILD)/contrib/lib/libmkv.a",
+                                       "$(EXTERNAL_BUILD)/contrib/lib/libswscale.a",
+                                       "$(EXTERNAL_BUILD)/contrib/lib/libtheora.a",
+                                       "$(EXTERNAL_BUILD)/contrib/lib/libfaad.a",
+                                       "-lbz2",
+                                       "-lz",
                                );
-                               FRAMEWORK_SEARCH_PATHS_QUOTED_1 = "\"$(SRCROOT)\"";
-                               FRAMEWORK_SEARCH_PATHS_QUOTED_2 = "\"$(SRCROOT)\"";
+                               PRODUCT_NAME = HandBrakeCLI;
+                       };
+                       name = standard.ppc;
+               };
+               27B4DEC10F65BAB800098046 /* standard.ppc */ = {
+                       isa = XCBuildConfiguration;
+                       buildSettings = {
+                               PRODUCT_NAME = external;
+                       };
+                       name = standard.ppc;
+               };
+               27B4DEC20F65BAB800098046 /* standard.ppc */ = {
+                       isa = XCBuildConfiguration;
+                       buildSettings = {
+                               PRODUCT_NAME = libhb;
+                       };
+                       name = standard.ppc;
+               };
+               27B4DEC30F65BAB800098046 /* standard.ppc */ = {
+                       isa = XCBuildConfiguration;
+                       buildSettings = {
+                               PRODUCT_NAME = contrib;
+                       };
+                       name = standard.ppc;
+               };
+               27B4DEC40F65BAB900098046 /* standard.ppc64 */ = {
+                       isa = XCBuildConfiguration;
+                       buildSettings = {
+                               ARCHS = ppc64;
+                               CONFIGURATION_BUILD_DIR = "$(EXTERNAL_BUILD)";
+                               CONFIGURATION_TEMP_DIR = "$(SYMROOT)";
+                               EXTERNAL_BUILD = "$(EXTERNAL_SRC)/build.$(CONFIGURATION)";
+                               EXTERNAL_JOBS = 1;
+                               EXTERNAL_METHOD = xcode;
+                               EXTERNAL_SRC = ..;
+                               GCC_DYNAMIC_NO_PIC = YES;
+                               GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
+                               GCC_MODEL_TUNING = G5;
+                               HEADER_SEARCH_PATHS = "$(EXTERNAL_BUILD)/libhb";
+                               IBC_NOTICES = NO;
+                               IBC_WARNINGS = NO;
+                               OBJROOT = "$(EXTERNAL_BUILD)/macosx";
+                               PREBINDING = NO;
+                               SDKROOT = macosx10.5;
+                               SHARED_PRECOMPS_DIR = "$(SYMROOT)/cache";
+                               SYMROOT = "$(EXTERNAL_BUILD)/macosx";
+                       };
+                       name = standard.ppc64;
+               };
+               27B4DEC50F65BAB900098046 /* standard.ppc64 */ = {
+                       isa = XCBuildConfiguration;
+                       buildSettings = {
+                               FRAMEWORK_SEARCH_PATHS = "$(EXTERNAL_SRC)/macosx";
                                IBC_PLUGINS = /System/Library/Frameworks/QTKit.framework/Resources/QTKitIBPlugin.ibplugin;
                                IBC_PLUGIN_SEARCH_PATHS = /System/Library/Frameworks/QTKit.framework/Resources;
                                INFOPLIST_FILE = Info.plist;
                                        "-lbz2",
                                        "-lz",
                                );
-                               PRODUCT_NAME = HandBrake;
-                               WARNING_CFLAGS = (
-                                       "-Wmost",
-                                       "-Wno-four-char-constants",
-                                       "-Wno-unknown-pragmas",
-                               );
-                               WRAPPER_EXTENSION = app;
+                               PRODUCT_NAME = HandBrake;
+                               WARNING_CFLAGS = (
+                                       "-Wmost",
+                                       "-Wno-four-char-constants",
+                                       "-Wno-unknown-pragmas",
+                               );
+                               WRAPPER_EXTENSION = app;
+                       };
+                       name = standard.ppc64;
+               };
+               27B4DEC60F65BAB900098046 /* standard.ppc64 */ = {
+                       isa = XCBuildConfiguration;
+                       buildSettings = {
+                               INSTALL_PATH = /usr/local/bin;
+                               OTHER_LDFLAGS = (
+                                       "$(EXTERNAL_BUILD)/libhb/libhb.a",
+                                       "$(EXTERNAL_BUILD)/contrib/lib/libmp4v2.a",
+                                       "$(EXTERNAL_BUILD)/contrib/lib/liba52.a",
+                                       "$(EXTERNAL_BUILD)/contrib/lib/libavformat.a",
+                                       "$(EXTERNAL_BUILD)/contrib/lib/libavcodec.a",
+                                       "$(EXTERNAL_BUILD)/contrib/lib/libavutil.a",
+                                       "$(EXTERNAL_BUILD)/contrib/lib/libdvdread.a",
+                                       "$(EXTERNAL_BUILD)/contrib/lib/libfaac.a",
+                                       "$(EXTERNAL_BUILD)/contrib/lib/libmp3lame.a",
+                                       "$(EXTERNAL_BUILD)/contrib/lib/libmpeg2.a",
+                                       "$(EXTERNAL_BUILD)/contrib/lib/libvorbis.a",
+                                       "$(EXTERNAL_BUILD)/contrib/lib/libvorbisenc.a",
+                                       "$(EXTERNAL_BUILD)/contrib/lib/libogg.a",
+                                       "$(EXTERNAL_BUILD)/contrib/lib/libsamplerate.a",
+                                       "$(EXTERNAL_BUILD)/contrib/lib/libx264.a",
+                                       "$(EXTERNAL_BUILD)/contrib/lib/libxvidcore.a",
+                                       "$(EXTERNAL_BUILD)/contrib/lib/libdca.a",
+                                       "$(EXTERNAL_BUILD)/contrib/lib/libmkv.a",
+                                       "$(EXTERNAL_BUILD)/contrib/lib/libswscale.a",
+                                       "$(EXTERNAL_BUILD)/contrib/lib/libtheora.a",
+                                       "$(EXTERNAL_BUILD)/contrib/lib/libfaad.a",
+                                       "-lbz2",
+                                       "-lz",
+                               );
+                               PRODUCT_NAME = HandBrakeCLI;
+                       };
+                       name = standard.ppc64;
+               };
+               27B4DEC70F65BAB900098046 /* standard.ppc64 */ = {
+                       isa = XCBuildConfiguration;
+                       buildSettings = {
+                               PRODUCT_NAME = external;
+                       };
+                       name = standard.ppc64;
+               };
+               27B4DEC80F65BAB900098046 /* standard.ppc64 */ = {
+                       isa = XCBuildConfiguration;
+                       buildSettings = {
+                               PRODUCT_NAME = libhb;
+                       };
+                       name = standard.ppc64;
+               };
+               27B4DEC90F65BAB900098046 /* standard.ppc64 */ = {
+                       isa = XCBuildConfiguration;
+                       buildSettings = {
+                               PRODUCT_NAME = contrib;
+                       };
+                       name = standard.ppc64;
+               };
+               27B4DECA0F65BABC00098046 /* debug.i386 */ = {
+                       isa = XCBuildConfiguration;
+                       buildSettings = {
+                               ARCHS = i386;
+                               CONFIGURATION_BUILD_DIR = "$(EXTERNAL_BUILD)";
+                               CONFIGURATION_TEMP_DIR = "$(SYMROOT)";
+                               COPY_PHASE_STRIP = NO;
+                               DEBUG_INFORMATION_FORMAT = dwarf;
+                               EXTERNAL_BUILD = "$(EXTERNAL_SRC)/build.$(CONFIGURATION)";
+                               EXTERNAL_JOBS = 1;
+                               EXTERNAL_METHOD = xcode;
+                               EXTERNAL_SRC = ..;
+                               GCC_DYNAMIC_NO_PIC = YES;
+                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
+                               GCC_OPTIMIZATION_LEVEL = 0;
+                               HEADER_SEARCH_PATHS = "$(EXTERNAL_BUILD)/libhb";
+                               IBC_NOTICES = NO;
+                               IBC_WARNINGS = NO;
+                               OBJROOT = "$(EXTERNAL_BUILD)/macosx";
+                               PREBINDING = NO;
+                               SDKROOT = macosx10.5;
+                               SHARED_PRECOMPS_DIR = "$(SYMROOT)/cache";
+                               STRIP_INSTALLED_PRODUCT = NO;
+                               SYMROOT = "$(EXTERNAL_BUILD)/macosx";
+                       };
+                       name = debug.i386;
+               };
+               27B4DECB0F65BABC00098046 /* debug.i386 */ = {
+                       isa = XCBuildConfiguration;
+                       buildSettings = {
+                               FRAMEWORK_SEARCH_PATHS = "$(EXTERNAL_SRC)/macosx";
+                               IBC_PLUGINS = /System/Library/Frameworks/QTKit.framework/Resources/QTKitIBPlugin.ibplugin;
+                               IBC_PLUGIN_SEARCH_PATHS = /System/Library/Frameworks/QTKit.framework/Resources;
+                               INFOPLIST_FILE = Info.plist;
+                               INFOPLIST_OTHER_PREPROCESSOR_FLAGS = "-traditional -undef";
+                               INFOPLIST_PREFIX_HEADER = "$(EXTERNAL_BUILD)/macosx/Info.h";
+                               INFOPLIST_PREPROCESS = YES;
+                               OTHER_LDFLAGS = (
+                                       "$(EXTERNAL_BUILD)/libhb/libhb.a",
+                                       "$(EXTERNAL_BUILD)/contrib/lib/libmp4v2.a",
+                                       "$(EXTERNAL_BUILD)/contrib/lib/liba52.a",
+                                       "$(EXTERNAL_BUILD)/contrib/lib/libavformat.a",
+                                       "$(EXTERNAL_BUILD)/contrib/lib/libavcodec.a",
+                                       "$(EXTERNAL_BUILD)/contrib/lib/libavutil.a",
+                                       "$(EXTERNAL_BUILD)/contrib/lib/libdvdread.a",
+                                       "$(EXTERNAL_BUILD)/contrib/lib/libfaac.a",
+                                       "$(EXTERNAL_BUILD)/contrib/lib/libmp3lame.a",
+                                       "$(EXTERNAL_BUILD)/contrib/lib/libmpeg2.a",
+                                       "$(EXTERNAL_BUILD)/contrib/lib/libvorbis.a",
+                                       "$(EXTERNAL_BUILD)/contrib/lib/libvorbisenc.a",
+                                       "$(EXTERNAL_BUILD)/contrib/lib/libogg.a",
+                                       "$(EXTERNAL_BUILD)/contrib/lib/libsamplerate.a",
+                                       "$(EXTERNAL_BUILD)/contrib/lib/libx264.a",
+                                       "$(EXTERNAL_BUILD)/contrib/lib/libxvidcore.a",
+                                       "$(EXTERNAL_BUILD)/contrib/lib/libdca.a",
+                                       "$(EXTERNAL_BUILD)/contrib/lib/libmkv.a",
+                                       "$(EXTERNAL_BUILD)/contrib/lib/libswscale.a",
+                                       "$(EXTERNAL_BUILD)/contrib/lib/libtheora.a",
+                                       "$(EXTERNAL_BUILD)/contrib/lib/libfaad.a",
+                                       "-lbz2",
+                                       "-lz",
+                               );
+                               PRODUCT_NAME = HandBrake;
+                               WARNING_CFLAGS = (
+                                       "-Wmost",
+                                       "-Wno-four-char-constants",
+                                       "-Wno-unknown-pragmas",
+                               );
+                               WRAPPER_EXTENSION = app;
+                       };
+                       name = debug.i386;
+               };
+               27B4DECC0F65BABC00098046 /* debug.i386 */ = {
+                       isa = XCBuildConfiguration;
+                       buildSettings = {
+                               INSTALL_PATH = /usr/local/bin;
+                               OTHER_LDFLAGS = (
+                                       "$(EXTERNAL_BUILD)/libhb/libhb.a",
+                                       "$(EXTERNAL_BUILD)/contrib/lib/libmp4v2.a",
+                                       "$(EXTERNAL_BUILD)/contrib/lib/liba52.a",
+                                       "$(EXTERNAL_BUILD)/contrib/lib/libavformat.a",
+                                       "$(EXTERNAL_BUILD)/contrib/lib/libavcodec.a",
+                                       "$(EXTERNAL_BUILD)/contrib/lib/libavutil.a",
+                                       "$(EXTERNAL_BUILD)/contrib/lib/libdvdread.a",
+                                       "$(EXTERNAL_BUILD)/contrib/lib/libfaac.a",
+                                       "$(EXTERNAL_BUILD)/contrib/lib/libmp3lame.a",
+                                       "$(EXTERNAL_BUILD)/contrib/lib/libmpeg2.a",
+                                       "$(EXTERNAL_BUILD)/contrib/lib/libvorbis.a",
+                                       "$(EXTERNAL_BUILD)/contrib/lib/libvorbisenc.a",
+                                       "$(EXTERNAL_BUILD)/contrib/lib/libogg.a",
+                                       "$(EXTERNAL_BUILD)/contrib/lib/libsamplerate.a",
+                                       "$(EXTERNAL_BUILD)/contrib/lib/libx264.a",
+                                       "$(EXTERNAL_BUILD)/contrib/lib/libxvidcore.a",
+                                       "$(EXTERNAL_BUILD)/contrib/lib/libdca.a",
+                                       "$(EXTERNAL_BUILD)/contrib/lib/libmkv.a",
+                                       "$(EXTERNAL_BUILD)/contrib/lib/libswscale.a",
+                                       "$(EXTERNAL_BUILD)/contrib/lib/libtheora.a",
+                                       "$(EXTERNAL_BUILD)/contrib/lib/libfaad.a",
+                                       "-lbz2",
+                                       "-lz",
+                               );
+                               PRODUCT_NAME = HandBrakeCLI;
                        };
-                       name = standard.i386;
+                       name = debug.i386;
                };
-               27ED6AE30F58D8F200C905EE /* standard.ppc */ = {
+               27B4DECD0F65BABC00098046 /* debug.i386 */ = {
                        isa = XCBuildConfiguration;
                        buildSettings = {
-                               ARCHS = ppc;
+                               PRODUCT_NAME = external;
+                       };
+                       name = debug.i386;
+               };
+               27B4DECE0F65BABC00098046 /* debug.i386 */ = {
+                       isa = XCBuildConfiguration;
+                       buildSettings = {
+                               PRODUCT_NAME = libhb;
+                       };
+                       name = debug.i386;
+               };
+               27B4DECF0F65BABC00098046 /* debug.i386 */ = {
+                       isa = XCBuildConfiguration;
+                       buildSettings = {
+                               PRODUCT_NAME = contrib;
+                       };
+                       name = debug.i386;
+               };
+               27B4DED00F65BABD00098046 /* debug.x86_64 */ = {
+                       isa = XCBuildConfiguration;
+                       buildSettings = {
+                               ARCHS = x86_64;
                                CONFIGURATION_BUILD_DIR = "$(EXTERNAL_BUILD)";
                                CONFIGURATION_TEMP_DIR = "$(SYMROOT)";
+                               COPY_PHASE_STRIP = NO;
+                               DEBUG_INFORMATION_FORMAT = dwarf;
                                EXTERNAL_BUILD = "$(EXTERNAL_SRC)/build.$(CONFIGURATION)";
                                EXTERNAL_JOBS = 1;
                                EXTERNAL_METHOD = xcode;
                                EXTERNAL_SRC = ..;
                                GCC_DYNAMIC_NO_PIC = YES;
-                               GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
-                               GCC_MODEL_TUNING = G5;
+                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
+                               GCC_OPTIMIZATION_LEVEL = 0;
                                HEADER_SEARCH_PATHS = "$(EXTERNAL_BUILD)/libhb";
                                IBC_NOTICES = NO;
                                IBC_WARNINGS = NO;
                                PREBINDING = NO;
                                SDKROOT = macosx10.5;
                                SHARED_PRECOMPS_DIR = "$(SYMROOT)/cache";
+                               STRIP_INSTALLED_PRODUCT = NO;
                                SYMROOT = "$(EXTERNAL_BUILD)/macosx";
                        };
-                       name = standard.ppc;
+                       name = debug.x86_64;
                };
-               27ED6AE60F58D8F200C905EE /* standard.ppc */ = {
+               27B4DED10F65BABD00098046 /* debug.x86_64 */ = {
                        isa = XCBuildConfiguration;
                        buildSettings = {
-                               INSTALL_PATH = /usr/local/bin;
+                               FRAMEWORK_SEARCH_PATHS = "$(EXTERNAL_SRC)/macosx";
+                               IBC_PLUGINS = /System/Library/Frameworks/QTKit.framework/Resources/QTKitIBPlugin.ibplugin;
+                               IBC_PLUGIN_SEARCH_PATHS = /System/Library/Frameworks/QTKit.framework/Resources;
+                               INFOPLIST_FILE = Info.plist;
+                               INFOPLIST_OTHER_PREPROCESSOR_FLAGS = "-traditional -undef";
+                               INFOPLIST_PREFIX_HEADER = "$(EXTERNAL_BUILD)/macosx/Info.h";
+                               INFOPLIST_PREPROCESS = YES;
                                OTHER_LDFLAGS = (
                                        "$(EXTERNAL_BUILD)/libhb/libhb.a",
                                        "$(EXTERNAL_BUILD)/contrib/lib/libmp4v2.a",
                                        "-lbz2",
                                        "-lz",
                                );
-                               PRODUCT_NAME = HandBrakeCLI;
+                               PRODUCT_NAME = HandBrake;
+                               WARNING_CFLAGS = (
+                                       "-Wmost",
+                                       "-Wno-four-char-constants",
+                                       "-Wno-unknown-pragmas",
+                               );
+                               WRAPPER_EXTENSION = app;
                        };
-                       name = standard.ppc;
+                       name = debug.x86_64;
                };
-               27ED6AE70F58D8F200C905EE /* standard.ppc */ = {
+               27B4DED20F65BABD00098046 /* debug.x86_64 */ = {
                        isa = XCBuildConfiguration;
                        buildSettings = {
-                               APPCAST_URL = "";
-                               FRAMEWORK_SEARCH_PATHS = (
-                                       "$(inherited)",
-                                       "$(FRAMEWORK_SEARCH_PATHS_QUOTED_1)",
-                                       "$(FRAMEWORK_SEARCH_PATHS_QUOTED_2)",
-                               );
-                               FRAMEWORK_SEARCH_PATHS_QUOTED_1 = "\"$(SRCROOT)\"";
-                               FRAMEWORK_SEARCH_PATHS_QUOTED_2 = "\"$(SRCROOT)\"";
-                               IBC_PLUGINS = /System/Library/Frameworks/QTKit.framework/Resources/QTKitIBPlugin.ibplugin;
-                               IBC_PLUGIN_SEARCH_PATHS = /System/Library/Frameworks/QTKit.framework/Resources;
-                               INFOPLIST_FILE = Info.plist;
-                               INFOPLIST_OTHER_PREPROCESSOR_FLAGS = "-traditional -undef";
-                               INFOPLIST_PREFIX_HEADER = "$(EXTERNAL_BUILD)/macosx/Info.h";
-                               INFOPLIST_PREPROCESS = YES;
+                               INSTALL_PATH = /usr/local/bin;
                                OTHER_LDFLAGS = (
                                        "$(EXTERNAL_BUILD)/libhb/libhb.a",
                                        "$(EXTERNAL_BUILD)/contrib/lib/libmp4v2.a",
                                        "-lbz2",
                                        "-lz",
                                );
-                               PRODUCT_NAME = HandBrake;
-                               WARNING_CFLAGS = (
-                                       "-Wmost",
-                                       "-Wno-four-char-constants",
-                                       "-Wno-unknown-pragmas",
-                               );
-                               WRAPPER_EXTENSION = app;
+                               PRODUCT_NAME = HandBrakeCLI;
                        };
-                       name = standard.ppc;
+                       name = debug.x86_64;
                };
-               27ED6AFF0F58DE7400C905EE /* standard.x86_64 */ = {
+               27B4DED30F65BABD00098046 /* debug.x86_64 */ = {
                        isa = XCBuildConfiguration;
                        buildSettings = {
-                               ARCHS = x86_64;
+                               PRODUCT_NAME = external;
+                       };
+                       name = debug.x86_64;
+               };
+               27B4DED40F65BABD00098046 /* debug.x86_64 */ = {
+                       isa = XCBuildConfiguration;
+                       buildSettings = {
+                               PRODUCT_NAME = libhb;
+                       };
+                       name = debug.x86_64;
+               };
+               27B4DED50F65BABD00098046 /* debug.x86_64 */ = {
+                       isa = XCBuildConfiguration;
+                       buildSettings = {
+                               PRODUCT_NAME = contrib;
+                       };
+                       name = debug.x86_64;
+               };
+               27B4DED60F65BABD00098046 /* debug.ppc */ = {
+                       isa = XCBuildConfiguration;
+                       buildSettings = {
+                               ARCHS = ppc;
                                CONFIGURATION_BUILD_DIR = "$(EXTERNAL_BUILD)";
                                CONFIGURATION_TEMP_DIR = "$(SYMROOT)";
+                               COPY_PHASE_STRIP = NO;
+                               DEBUG_INFORMATION_FORMAT = dwarf;
                                EXTERNAL_BUILD = "$(EXTERNAL_SRC)/build.$(CONFIGURATION)";
                                EXTERNAL_JOBS = 1;
                                EXTERNAL_METHOD = xcode;
                                EXTERNAL_SRC = ..;
                                GCC_DYNAMIC_NO_PIC = YES;
-                               GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
-                               GCC_MODEL_TUNING = G5;
+                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
+                               GCC_OPTIMIZATION_LEVEL = 0;
                                HEADER_SEARCH_PATHS = "$(EXTERNAL_BUILD)/libhb";
                                IBC_NOTICES = NO;
                                IBC_WARNINGS = NO;
                                PREBINDING = NO;
                                SDKROOT = macosx10.5;
                                SHARED_PRECOMPS_DIR = "$(SYMROOT)/cache";
+                               STRIP_INSTALLED_PRODUCT = NO;
                                SYMROOT = "$(EXTERNAL_BUILD)/macosx";
                        };
-                       name = standard.x86_64;
+                       name = debug.ppc;
                };
-               27ED6B020F58DE7400C905EE /* standard.x86_64 */ = {
+               27B4DED70F65BABD00098046 /* debug.ppc */ = {
                        isa = XCBuildConfiguration;
                        buildSettings = {
-                               INSTALL_PATH = /usr/local/bin;
+                               FRAMEWORK_SEARCH_PATHS = "$(EXTERNAL_SRC)/macosx";
+                               IBC_PLUGINS = /System/Library/Frameworks/QTKit.framework/Resources/QTKitIBPlugin.ibplugin;
+                               IBC_PLUGIN_SEARCH_PATHS = /System/Library/Frameworks/QTKit.framework/Resources;
+                               INFOPLIST_FILE = Info.plist;
+                               INFOPLIST_OTHER_PREPROCESSOR_FLAGS = "-traditional -undef";
+                               INFOPLIST_PREFIX_HEADER = "$(EXTERNAL_BUILD)/macosx/Info.h";
+                               INFOPLIST_PREPROCESS = YES;
                                OTHER_LDFLAGS = (
                                        "$(EXTERNAL_BUILD)/libhb/libhb.a",
                                        "$(EXTERNAL_BUILD)/contrib/lib/libmp4v2.a",
                                        "-lbz2",
                                        "-lz",
                                );
-                               PRODUCT_NAME = HandBrakeCLI;
+                               PRODUCT_NAME = HandBrake;
+                               WARNING_CFLAGS = (
+                                       "-Wmost",
+                                       "-Wno-four-char-constants",
+                                       "-Wno-unknown-pragmas",
+                               );
+                               WRAPPER_EXTENSION = app;
                        };
-                       name = standard.x86_64;
+                       name = debug.ppc;
                };
-               27ED6B030F58DE7400C905EE /* standard.x86_64 */ = {
+               27B4DED80F65BABD00098046 /* debug.ppc */ = {
                        isa = XCBuildConfiguration;
                        buildSettings = {
-                               APPCAST_URL = "";
-                               FRAMEWORK_SEARCH_PATHS = (
-                                       "$(inherited)",
-                                       "$(FRAMEWORK_SEARCH_PATHS_QUOTED_1)",
-                                       "$(FRAMEWORK_SEARCH_PATHS_QUOTED_2)",
-                               );
-                               FRAMEWORK_SEARCH_PATHS_QUOTED_1 = "\"$(SRCROOT)\"";
-                               FRAMEWORK_SEARCH_PATHS_QUOTED_2 = "\"$(SRCROOT)\"";
-                               IBC_PLUGINS = /System/Library/Frameworks/QTKit.framework/Resources/QTKitIBPlugin.ibplugin;
-                               IBC_PLUGIN_SEARCH_PATHS = /System/Library/Frameworks/QTKit.framework/Resources;
-                               INFOPLIST_FILE = Info.plist;
-                               INFOPLIST_OTHER_PREPROCESSOR_FLAGS = "-traditional -undef";
-                               INFOPLIST_PREFIX_HEADER = "$(EXTERNAL_BUILD)/macosx/Info.h";
-                               INFOPLIST_PREPROCESS = YES;
+                               INSTALL_PATH = /usr/local/bin;
                                OTHER_LDFLAGS = (
                                        "$(EXTERNAL_BUILD)/libhb/libhb.a",
                                        "$(EXTERNAL_BUILD)/contrib/lib/libmp4v2.a",
                                        "-lbz2",
                                        "-lz",
                                );
-                               PRODUCT_NAME = HandBrake;
-                               WARNING_CFLAGS = (
-                                       "-Wmost",
-                                       "-Wno-four-char-constants",
-                                       "-Wno-unknown-pragmas",
-                               );
-                               WRAPPER_EXTENSION = app;
+                               PRODUCT_NAME = HandBrakeCLI;
                        };
-                       name = standard.x86_64;
+                       name = debug.ppc;
+               };
+               27B4DED90F65BABD00098046 /* debug.ppc */ = {
+                       isa = XCBuildConfiguration;
+                       buildSettings = {
+                               PRODUCT_NAME = external;
+                       };
+                       name = debug.ppc;
+               };
+               27B4DEDA0F65BABD00098046 /* debug.ppc */ = {
+                       isa = XCBuildConfiguration;
+                       buildSettings = {
+                               PRODUCT_NAME = libhb;
+                       };
+                       name = debug.ppc;
+               };
+               27B4DEDB0F65BABD00098046 /* debug.ppc */ = {
+                       isa = XCBuildConfiguration;
+                       buildSettings = {
+                               PRODUCT_NAME = contrib;
+                       };
+                       name = debug.ppc;
                };
-               27ED6B040F58DE7600C905EE /* standard.ppc64 */ = {
+               27B4DEDC0F65BABD00098046 /* debug.ppc64 */ = {
                        isa = XCBuildConfiguration;
                        buildSettings = {
                                ARCHS = ppc64;
                                CONFIGURATION_BUILD_DIR = "$(EXTERNAL_BUILD)";
                                CONFIGURATION_TEMP_DIR = "$(SYMROOT)";
+                               COPY_PHASE_STRIP = NO;
+                               DEBUG_INFORMATION_FORMAT = dwarf;
                                EXTERNAL_BUILD = "$(EXTERNAL_SRC)/build.$(CONFIGURATION)";
                                EXTERNAL_JOBS = 1;
                                EXTERNAL_METHOD = xcode;
                                EXTERNAL_SRC = ..;
                                GCC_DYNAMIC_NO_PIC = YES;
-                               GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
-                               GCC_MODEL_TUNING = G5;
+                               GCC_ENABLE_FIX_AND_CONTINUE = YES;
+                               GCC_OPTIMIZATION_LEVEL = 0;
                                HEADER_SEARCH_PATHS = "$(EXTERNAL_BUILD)/libhb";
                                IBC_NOTICES = NO;
                                IBC_WARNINGS = NO;
                                PREBINDING = NO;
                                SDKROOT = macosx10.5;
                                SHARED_PRECOMPS_DIR = "$(SYMROOT)/cache";
+                               STRIP_INSTALLED_PRODUCT = NO;
                                SYMROOT = "$(EXTERNAL_BUILD)/macosx";
                        };
-                       name = standard.ppc64;
+                       name = debug.ppc64;
                };
-               27ED6B070F58DE7600C905EE /* standard.ppc64 */ = {
+               27B4DEDD0F65BABD00098046 /* debug.ppc64 */ = {
                        isa = XCBuildConfiguration;
                        buildSettings = {
-                               INSTALL_PATH = /usr/local/bin;
+                               FRAMEWORK_SEARCH_PATHS = "$(EXTERNAL_SRC)/macosx";
+                               IBC_PLUGINS = /System/Library/Frameworks/QTKit.framework/Resources/QTKitIBPlugin.ibplugin;
+                               IBC_PLUGIN_SEARCH_PATHS = /System/Library/Frameworks/QTKit.framework/Resources;
+                               INFOPLIST_FILE = Info.plist;
+                               INFOPLIST_OTHER_PREPROCESSOR_FLAGS = "-traditional -undef";
+                               INFOPLIST_PREFIX_HEADER = "$(EXTERNAL_BUILD)/macosx/Info.h";
+                               INFOPLIST_PREPROCESS = YES;
                                OTHER_LDFLAGS = (
                                        "$(EXTERNAL_BUILD)/libhb/libhb.a",
                                        "$(EXTERNAL_BUILD)/contrib/lib/libmp4v2.a",
                                        "-lbz2",
                                        "-lz",
                                );
-                               PRODUCT_NAME = HandBrakeCLI;
+                               PRODUCT_NAME = HandBrake;
+                               WARNING_CFLAGS = (
+                                       "-Wmost",
+                                       "-Wno-four-char-constants",
+                                       "-Wno-unknown-pragmas",
+                               );
+                               WRAPPER_EXTENSION = app;
                        };
-                       name = standard.ppc64;
+                       name = debug.ppc64;
                };
-               27ED6B080F58DE7600C905EE /* standard.ppc64 */ = {
+               27B4DEDE0F65BABD00098046 /* debug.ppc64 */ = {
                        isa = XCBuildConfiguration;
                        buildSettings = {
-                               APPCAST_URL = "";
-                               FRAMEWORK_SEARCH_PATHS = (
-                                       "$(inherited)",
-                                       "$(FRAMEWORK_SEARCH_PATHS_QUOTED_1)",
-                                       "$(FRAMEWORK_SEARCH_PATHS_QUOTED_2)",
-                               );
-                               FRAMEWORK_SEARCH_PATHS_QUOTED_1 = "\"$(SRCROOT)\"";
-                               FRAMEWORK_SEARCH_PATHS_QUOTED_2 = "\"$(SRCROOT)\"";
-                               IBC_PLUGINS = /System/Library/Frameworks/QTKit.framework/Resources/QTKitIBPlugin.ibplugin;
-                               IBC_PLUGIN_SEARCH_PATHS = /System/Library/Frameworks/QTKit.framework/Resources;
-                               INFOPLIST_FILE = Info.plist;
-                               INFOPLIST_OTHER_PREPROCESSOR_FLAGS = "-traditional -undef";
-                               INFOPLIST_PREFIX_HEADER = "$(EXTERNAL_BUILD)/macosx/Info.h";
-                               INFOPLIST_PREPROCESS = YES;
+                               INSTALL_PATH = /usr/local/bin;
                                OTHER_LDFLAGS = (
                                        "$(EXTERNAL_BUILD)/libhb/libhb.a",
                                        "$(EXTERNAL_BUILD)/contrib/lib/libmp4v2.a",
                                        "-lbz2",
                                        "-lz",
                                );
-                               PRODUCT_NAME = HandBrake;
-                               WARNING_CFLAGS = (
-                                       "-Wmost",
-                                       "-Wno-four-char-constants",
-                                       "-Wno-unknown-pragmas",
-                               );
-                               WRAPPER_EXTENSION = app;
-                       };
-                       name = standard.ppc64;
-               };
-               27F143780F5DF34F00A684FF /* standard */ = {
-                       isa = XCBuildConfiguration;
-                       buildSettings = {
-                               PRODUCT_NAME = external;
+                               PRODUCT_NAME = HandBrakeCLI;
                        };
-                       name = standard;
+                       name = debug.ppc64;
                };
-               27F143790F5DF34F00A684FF /* debug */ = {
+               27B4DEDF0F65BABD00098046 /* debug.ppc64 */ = {
                        isa = XCBuildConfiguration;
                        buildSettings = {
                                PRODUCT_NAME = external;
                        };
-                       name = debug;
+                       name = debug.ppc64;
                };
-               27F1437A0F5DF34F00A684FF /* standard.i386 */ = {
+               27B4DEE00F65BABD00098046 /* debug.ppc64 */ = {
                        isa = XCBuildConfiguration;
                        buildSettings = {
-                               PRODUCT_NAME = external;
+                               PRODUCT_NAME = libhb;
                        };
-                       name = standard.i386;
+                       name = debug.ppc64;
                };
-               27F1437B0F5DF34F00A684FF /* standard.x86_64 */ = {
+               27B4DEE10F65BABD00098046 /* debug.ppc64 */ = {
                        isa = XCBuildConfiguration;
                        buildSettings = {
-                               PRODUCT_NAME = external;
+                               PRODUCT_NAME = contrib;
                        };
-                       name = standard.x86_64;
+                       name = debug.ppc64;
                };
-               27F1437C0F5DF34F00A684FF /* standard.ppc */ = {
+               27F143780F5DF34F00A684FF /* standard */ = {
                        isa = XCBuildConfiguration;
                        buildSettings = {
                                PRODUCT_NAME = external;
                        };
-                       name = standard.ppc;
+                       name = standard;
                };
-               27F1437D0F5DF34F00A684FF /* standard.ppc64 */ = {
+               27F143790F5DF34F00A684FF /* debug */ = {
                        isa = XCBuildConfiguration;
                        buildSettings = {
                                PRODUCT_NAME = external;
                        };
-                       name = standard.ppc64;
+                       name = debug;
                };
                27F1437F0F5DF36000A684FF /* standard */ = {
                        isa = XCBuildConfiguration;
                        };
                        name = debug;
                };
-               27F143810F5DF36000A684FF /* standard.i386 */ = {
-                       isa = XCBuildConfiguration;
-                       buildSettings = {
-                               PRODUCT_NAME = contrib;
-                       };
-                       name = standard.i386;
-               };
-               27F143820F5DF36000A684FF /* standard.x86_64 */ = {
-                       isa = XCBuildConfiguration;
-                       buildSettings = {
-                               PRODUCT_NAME = contrib;
-                       };
-                       name = standard.x86_64;
-               };
-               27F143830F5DF36000A684FF /* standard.ppc */ = {
-                       isa = XCBuildConfiguration;
-                       buildSettings = {
-                               PRODUCT_NAME = contrib;
-                       };
-                       name = standard.ppc;
-               };
-               27F143840F5DF36000A684FF /* standard.ppc64 */ = {
-                       isa = XCBuildConfiguration;
-                       buildSettings = {
-                               PRODUCT_NAME = contrib;
-                       };
-                       name = standard.ppc64;
-               };
                27F143860F5DF37600A684FF /* standard */ = {
                        isa = XCBuildConfiguration;
                        buildSettings = {
                        };
                        name = debug;
                };
-               27F143880F5DF37600A684FF /* standard.i386 */ = {
-                       isa = XCBuildConfiguration;
-                       buildSettings = {
-                               PRODUCT_NAME = libhb;
-                       };
-                       name = standard.i386;
-               };
-               27F143890F5DF37600A684FF /* standard.x86_64 */ = {
-                       isa = XCBuildConfiguration;
-                       buildSettings = {
-                               PRODUCT_NAME = libhb;
-                       };
-                       name = standard.x86_64;
-               };
-               27F1438A0F5DF37600A684FF /* standard.ppc */ = {
-                       isa = XCBuildConfiguration;
-                       buildSettings = {
-                               PRODUCT_NAME = libhb;
-                       };
-                       name = standard.ppc;
-               };
-               27F1438B0F5DF37600A684FF /* standard.ppc64 */ = {
-                       isa = XCBuildConfiguration;
-                       buildSettings = {
-                               PRODUCT_NAME = libhb;
-                       };
-                       name = standard.ppc64;
-               };
                4D4E7BC1087804870051572B /* debug */ = {
                        isa = XCBuildConfiguration;
                        buildSettings = {
-                               APPCAST_URL = "";
-                               FRAMEWORK_SEARCH_PATHS = (
-                                       "$(inherited)",
-                                       "$(FRAMEWORK_SEARCH_PATHS_QUOTED_1)",
-                                       "$(FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1)",
-                               );
-                               FRAMEWORK_SEARCH_PATHS_QUOTED_1 = "\"$(SRCROOT)\"";
-                               FRAMEWORK_SEARCH_PATHS_QUOTED_2 = "\"$(SRCROOT)\"";
-                               FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1 = "\"$(SRCROOT)\"";
+                               FRAMEWORK_SEARCH_PATHS = "$(EXTERNAL_SRC)/macosx";
                                IBC_PLUGINS = /System/Library/Frameworks/QTKit.framework/Resources/QTKitIBPlugin.ibplugin;
                                IBC_PLUGIN_SEARCH_PATHS = /System/Library/Frameworks/QTKit.framework/Resources;
                                INFOPLIST_FILE = Info.plist;
                4D4E7BC2087804870051572B /* standard */ = {
                        isa = XCBuildConfiguration;
                        buildSettings = {
-                               APPCAST_URL = "";
-                               FRAMEWORK_SEARCH_PATHS = (
-                                       "$(inherited)",
-                                       "$(FRAMEWORK_SEARCH_PATHS_QUOTED_1)",
-                                       "$(FRAMEWORK_SEARCH_PATHS_QUOTED_2)",
-                               );
-                               FRAMEWORK_SEARCH_PATHS_QUOTED_1 = "\"$(SRCROOT)\"";
-                               FRAMEWORK_SEARCH_PATHS_QUOTED_2 = "\"$(SRCROOT)\"";
+                               FRAMEWORK_SEARCH_PATHS = "$(EXTERNAL_SRC)/macosx";
                                IBC_PLUGINS = /System/Library/Frameworks/QTKit.framework/Resources/QTKitIBPlugin.ibplugin;
                                IBC_PLUGIN_SEARCH_PATHS = /System/Library/Frameworks/QTKit.framework/Resources;
                                INFOPLIST_FILE = Info.plist;
                        isa = XCConfigurationList;
                        buildConfigurations = (
                                0DFF0C0E0B6BCEE000549488 /* standard */,
+                               27B4DEB40F65BAB600098046 /* standard.i386 */,
+                               27B4DEBA0F65BAB700098046 /* standard.x86_64 */,
+                               27B4DEC00F65BAB800098046 /* standard.ppc */,
+                               27B4DEC60F65BAB900098046 /* standard.ppc64 */,
                                0DFF0C0D0B6BCEE000549488 /* debug */,
-                               27ED6ADE0F58D7F100C905EE /* standard.i386 */,
-                               27ED6B020F58DE7400C905EE /* standard.x86_64 */,
-                               27ED6AE60F58D8F200C905EE /* standard.ppc */,
-                               27ED6B070F58DE7600C905EE /* standard.ppc64 */,
+                               27B4DECC0F65BABC00098046 /* debug.i386 */,
+                               27B4DED20F65BABD00098046 /* debug.x86_64 */,
+                               27B4DED80F65BABD00098046 /* debug.ppc */,
+                               27B4DEDE0F65BABD00098046 /* debug.ppc64 */,
                        );
                        defaultConfigurationIsVisible = 0;
                        defaultConfigurationName = standard;
                        isa = XCConfigurationList;
                        buildConfigurations = (
                                27F143780F5DF34F00A684FF /* standard */,
+                               27B4DEB50F65BAB600098046 /* standard.i386 */,
+                               27B4DEBB0F65BAB700098046 /* standard.x86_64 */,
+                               27B4DEC10F65BAB800098046 /* standard.ppc */,
+                               27B4DEC70F65BAB900098046 /* standard.ppc64 */,
                                27F143790F5DF34F00A684FF /* debug */,
-                               27F1437A0F5DF34F00A684FF /* standard.i386 */,
-                               27F1437B0F5DF34F00A684FF /* standard.x86_64 */,
-                               27F1437C0F5DF34F00A684FF /* standard.ppc */,
-                               27F1437D0F5DF34F00A684FF /* standard.ppc64 */,
+                               27B4DECD0F65BABC00098046 /* debug.i386 */,
+                               27B4DED30F65BABD00098046 /* debug.x86_64 */,
+                               27B4DED90F65BABD00098046 /* debug.ppc */,
+                               27B4DEDF0F65BABD00098046 /* debug.ppc64 */,
                        );
                        defaultConfigurationIsVisible = 0;
                        defaultConfigurationName = standard;
                        isa = XCConfigurationList;
                        buildConfigurations = (
                                27F1437F0F5DF36000A684FF /* standard */,
+                               27B4DEB70F65BAB600098046 /* standard.i386 */,
+                               27B4DEBD0F65BAB700098046 /* standard.x86_64 */,
+                               27B4DEC30F65BAB800098046 /* standard.ppc */,
+                               27B4DEC90F65BAB900098046 /* standard.ppc64 */,
                                27F143800F5DF36000A684FF /* debug */,
-                               27F143810F5DF36000A684FF /* standard.i386 */,
-                               27F143820F5DF36000A684FF /* standard.x86_64 */,
-                               27F143830F5DF36000A684FF /* standard.ppc */,
-                               27F143840F5DF36000A684FF /* standard.ppc64 */,
+                               27B4DECF0F65BABC00098046 /* debug.i386 */,
+                               27B4DED50F65BABD00098046 /* debug.x86_64 */,
+                               27B4DEDB0F65BABD00098046 /* debug.ppc */,
+                               27B4DEE10F65BABD00098046 /* debug.ppc64 */,
                        );
                        defaultConfigurationIsVisible = 0;
                        defaultConfigurationName = standard;
                        isa = XCConfigurationList;
                        buildConfigurations = (
                                27F143860F5DF37600A684FF /* standard */,
+                               27B4DEB60F65BAB600098046 /* standard.i386 */,
+                               27B4DEBC0F65BAB700098046 /* standard.x86_64 */,
+                               27B4DEC20F65BAB800098046 /* standard.ppc */,
+                               27B4DEC80F65BAB900098046 /* standard.ppc64 */,
                                27F143870F5DF37600A684FF /* debug */,
-                               27F143880F5DF37600A684FF /* standard.i386 */,
-                               27F143890F5DF37600A684FF /* standard.x86_64 */,
-                               27F1438A0F5DF37600A684FF /* standard.ppc */,
-                               27F1438B0F5DF37600A684FF /* standard.ppc64 */,
+                               27B4DECE0F65BABC00098046 /* debug.i386 */,
+                               27B4DED40F65BABD00098046 /* debug.x86_64 */,
+                               27B4DEDA0F65BABD00098046 /* debug.ppc */,
+                               27B4DEE00F65BABD00098046 /* debug.ppc64 */,
                        );
                        defaultConfigurationIsVisible = 0;
                        defaultConfigurationName = standard;
                        isa = XCConfigurationList;
                        buildConfigurations = (
                                4D4E7BC2087804870051572B /* standard */,
+                               27B4DEB30F65BAB600098046 /* standard.i386 */,
+                               27B4DEB90F65BAB700098046 /* standard.x86_64 */,
+                               27B4DEBF0F65BAB800098046 /* standard.ppc */,
+                               27B4DEC50F65BAB900098046 /* standard.ppc64 */,
                                4D4E7BC1087804870051572B /* debug */,
-                               27ED6ADF0F58D7F100C905EE /* standard.i386 */,
-                               27ED6B030F58DE7400C905EE /* standard.x86_64 */,
-                               27ED6AE70F58D8F200C905EE /* standard.ppc */,
-                               27ED6B080F58DE7600C905EE /* standard.ppc64 */,
+                               27B4DECB0F65BABC00098046 /* debug.i386 */,
+                               27B4DED10F65BABD00098046 /* debug.x86_64 */,
+                               27B4DED70F65BABD00098046 /* debug.ppc */,
+                               27B4DEDD0F65BABD00098046 /* debug.ppc64 */,
                        );
                        defaultConfigurationIsVisible = 0;
                        defaultConfigurationName = standard;
                        isa = XCConfigurationList;
                        buildConfigurations = (
                                4D4E7BC6087804870051572B /* standard */,
+                               27B4DEB20F65BAB600098046 /* standard.i386 */,
+                               27B4DEB80F65BAB700098046 /* standard.x86_64 */,
+                               27B4DEBE0F65BAB800098046 /* standard.ppc */,
+                               27B4DEC40F65BAB900098046 /* standard.ppc64 */,
                                4D4E7BC5087804870051572B /* debug */,
-                               27ED6ADB0F58D7F100C905EE /* standard.i386 */,
-                               27ED6AFF0F58DE7400C905EE /* standard.x86_64 */,
-                               27ED6AE30F58D8F200C905EE /* standard.ppc */,
-                               27ED6B040F58DE7600C905EE /* standard.ppc64 */,
+                               27B4DECA0F65BABC00098046 /* debug.i386 */,
+                               27B4DED00F65BABD00098046 /* debug.x86_64 */,
+                               27B4DED60F65BABD00098046 /* debug.ppc */,
+                               27B4DEDC0F65BABD00098046 /* debug.ppc64 */,
                        );
                        defaultConfigurationIsVisible = 0;
                        defaultConfigurationName = standard;
index 61a2873..4b9329f 100644 (file)
@@ -1,4 +1,5 @@
 $(eval $(call import.MODULE.defs,MACOSX,macosx))
+$(eval $(call import.GCC,MACOSX))
 
 MACOSX.src/   = $(SRC/)macosx/
 MACOSX.build/ = $(BUILD/)macosx/
@@ -10,7 +11,17 @@ MACOSX.m4.out = $(MACOSX.m4.in:$(MACOSX.src/)%.m4=$(MACOSX.build/)%)
 MACOSX.m4.post.Info.h = $(RM.exe) -f $(MACOSX.build/)HandBrake.build/Preprocessed-Info.plist
 
 MACOSX.targs = HandBrakeCLI HandBrake
-MACOSX.conf  = standard$(if $(filter 1,$(BUILD.cross)),.$(BUILD.arch))
+
+## configuration pattern: (standard|debug)[.ARCH]
+## eg. for native build, no debug --> standard
+## eg. for x86_64 build with debug of any level --> debug.x86_64
+MACOSX.conf  = $(MACOSX.map.g.$(MACOSX.GCC.g))$(if $(filter 1,$(BUILD.cross)),.$(BUILD.arch))
+
+## this is a mapping to determine which basename config to use in xcodeproj
+MACOSX.map.g.none = standard
+MACOSX.map.g.min  = debug
+MACOSX.map.g.std  = debug
+MACOSX.map.g.max  = debug
 
 ###############################################################################
 
index 3a462a3..7a91fdc 100644 (file)
@@ -441,6 +441,16 @@ class ArchAction( Action ):
             self.mode['x86_64'] = 'x86_64-apple-darwin%s'    % (host.release)
             self.mode['ppc']    = 'powerpc-apple-darwin%s'   % (host.release)
             self.mode['ppc64']  = 'powerpc64-apple-darwin%s' % (host.release)
+
+            ## special cases in that powerpc does not match gcc -arch value
+            ## which we like to use; so it has to be removed.
+            ## note: we don't know if apple will release Ssnow Leopad/ppc64 yet; just a guess.
+            if 'powerpc' in self.mode:
+                del self.mode['powerpc']
+                self.mode.mode = 'ppc'
+            elif 'powerpc64' in self.mode:
+                del self.mode['powerpc64']
+                self.mode.mode = 'ppc64'
         elif host.match( '*-*-linux*' ):
             pass
         else:
index 1969cd6..4ed0e6f 100755 (executable)
@@ -32,9 +32,10 @@ launch_xcode() {
     eval $2="'--launch --launch-jobs=0 --launch-quiet'"
 }
 
+for debug in none max; do
 for arch in i386 ppc ppc64 x86_64; do
     for method in launch_make launch_xcode term_make term_xcode; do
-        dir=$buildprefix.$arch.$method
+        dir=$buildprefix.$arch.$debug.$method
         if [ -d $dir ]; then
             echo "skipping $dir"
             continue
@@ -42,7 +43,7 @@ for arch in i386 ppc ppc64 x86_64; do
 
         $method mode args
 
-        cmd="./configure --arch=$arch --build=$dir $args"
+        cmd="./configure --arch=$arch --debug=$debug --build=$dir $args"
         echo $cmd | awk '{ \
             trail = ""; \
             for( i = 4; i <= NF; i++ ) \
@@ -51,7 +52,8 @@ for arch in i386 ppc ppc64 x86_64; do
 
         $cmd
         if [ "$mode" = "make" ]; then
-            (set -x; cd $dir && make -j8 >& log.txt)
+            (set -x; cd $dir && make -j8 >& log/build.txt)
         fi
     done
 done
+done
index 2c6c1a8..aca4c41 100755 (executable)
@@ -1,4 +1,4 @@
-#!/bin/sh
+#!/bin/bash
 #
 
 set -e
@@ -12,52 +12,51 @@ set -e
 MAKEFLAGS=
 MFLAGS=
 
-## re/configure if not configured by Xcode or if missing top-makefile
-if [ $EXTERNAL_METHOD != 'xcode' -o ! -f $EXTERNAL_BUILD/GNUmakefile ]; then
-    ## compute --arch value based on Xcode configuration naming convention
-    case "$CONFIGURATION" in
-    *.i386)
-        arch="--arch=i386"
-        ;;
-    *.x86_64)
-        arch="--arch=x86_64"
-        ;;
-    *.ppc)
-        arch="--arch=ppc"
-        ;;
-    *.ppc64)
-        arch="--arch=ppc64"
-        ;;
-    *)
-        arch=
-        ;;
-    esac
+## sanity check - the build system only supports 1 arch at a time
+archcount=`echo $ARCHS | awk '{ print NF }'`
+if [ "$archcount" -ne 1 ]; then
+    echo "*********************************************************************"
+    echo "***"
+    echo "*** ERROR: invalid number of architectures: $ARCHS"
+    echo "*** This build system builds one (1) archtecture at a time."
+    echo "***"
+    echo "*********************************************************************"
+    exit 1
+fi
+
+## compute if re/configure necessary
+if [ $EXTERNAL_METHOD != 'xcode' ]; then
+    reconfigure="terminal -> Xcode"
+elif [ ! -f $EXTERNAL_BUILD/GNUmakefile ]; then
+    reconfigure="no configuration present"
+elif [ $EXTERNAL_SRC/make/configure.py -nt $EXTERNAL_BUILD/GNUmakefile ]; then
+    reconfigure="configure script was updated"
+else
+    reconfigure=
+fi
+
+## perform re/configure
+if [ -n "$reconfigure" ]; then
+    echo "reconfiguring ($reconfigure)"
 
     case "$CONFIGURATION" in
     debug*)
-        debug="--debug=max"
+        debug="--debug=max --optimize=none"
         ;;
-    *)
+    standard*|*)
         debug=
         ;;
     esac
 
     ## invoke configure with (hidden) option which indicates conf performed by xcode
-    $EXTERNAL_SRC/configure --force --build=$EXTERNAL_BUILD $arch $debug \
-        --conf-method=xcode PATH=$PATH $EXTERNAL_CONFARGS
-fi
-
-## safeguard against passing blank value which would result in unlimited jobs
-if [ -z "$EXTERNAL_JOBS" ]; then
-    jobs=
-else
-    jobs=--jobs=$EXTERNAL_JOBS
+    (set -x; $EXTERNAL_SRC/configure --force --build=$EXTERNAL_BUILD \
+        $EXTERNAL_CONFARGS \
+        --arch=$ARCHS $debug --conf-method=xcode PATH=$PATH )
 fi
 
+## compute goals; these correlate with TARGET_NAME and ACTION from Xcode
 spec="$TARGET_NAME:$ACTION"
 echo "env specification: $spec"
-
-## compute goals
 case "$spec" in
     contrib:clean)
         goals=contrib.xclean
@@ -87,6 +86,13 @@ case "$spec" in
         ;;
 esac
 
-## handoff
+## safeguard against passing blank value which would result in unlimited jobs
+if [ -z "$EXTERNAL_JOBS" ]; then
+    jobs=
+else
+    jobs=--jobs=$EXTERNAL_JOBS
+fi
+
+## pull the trigger
 set -x
-make -C $EXTERNAL_BUILD BUILD.method=xcode $jobs $goals $EXTERNAL_VARS
+exec make -C $EXTERNAL_BUILD BUILD.method=xcode $jobs $goals $EXTERNAL_VARS