diff options
author | konablend <[email protected]> | 2009-03-04 00:54:53 +0000 |
---|---|---|
committer | konablend <[email protected]> | 2009-03-04 00:54:53 +0000 |
commit | 6d2d51974af122bdfe6eb82f355e270cd66c48af (patch) | |
tree | 5a82b3790f4dd0c3f71aa1643838e937edca597a /macosx | |
parent | c4d9c49de0f020f451325dbb39b97642eaf96032 (diff) |
BuildSystem: darwin
- made Xcode external targets consistent for each configuration.
- shunted terminal NAME=VALUE vars through xcodebuild.
- folded macosx/module.xcode shunt functions into single.
- added new report target to show a single var; eg: make report.var NAME=GCC.gcc .
BuildSystem: darwin ppc
- fixed configure on ppc host: correctly identify native architecture.
- fixed configure to be more resilient when svn probes fail.
- fixed configure to show error output for svn probes.
BuildSystme: xcode
- added external target 'external' to represent 'all things in external system'
which is slight more than what 'libhb' might represent.
- added doc section Building.osx: External Targets .
git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2214 b64f7644-9d1e-0410-96f1-a4d463321fa5
Diffstat (limited to 'macosx')
-rw-r--r-- | macosx/HandBrake.xcodeproj/project.pbxproj | 329 | ||||
-rw-r--r-- | macosx/module.defs | 25 | ||||
-rw-r--r-- | macosx/module.xcode | 24 |
3 files changed, 225 insertions, 153 deletions
diff --git a/macosx/HandBrake.xcodeproj/project.pbxproj b/macosx/HandBrake.xcodeproj/project.pbxproj index aa37cecc5..41272fd46 100644 --- a/macosx/HandBrake.xcodeproj/project.pbxproj +++ b/macosx/HandBrake.xcodeproj/project.pbxproj @@ -94,19 +94,19 @@ /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ - 27774C2A0F5CB1D600897477 /* PBXContainerItemProxy */ = { + 277C2E530F5DFF400067D708 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = 29B97313FDCFA39411CA2CEA /* Project object */; proxyType = 1; - remoteGlobalIDString = 278071070F5C9C2C00699207; - remoteInfo = libhb; + remoteGlobalIDString = 27F143770F5DF34F00A684FF; + remoteInfo = external; }; - 27774C2C0F5CB1DD00897477 /* PBXContainerItemProxy */ = { + 277C2E550F5DFF450067D708 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = 29B97313FDCFA39411CA2CEA /* Project object */; proxyType = 1; - remoteGlobalIDString = 278071070F5C9C2C00699207; - remoteInfo = libhb; + remoteGlobalIDString = 27F143770F5DF34F00A684FF; + remoteInfo = external; }; /* End PBXContainerItemProxy section */ @@ -408,35 +408,44 @@ /* End PBXHeadersBuildPhase section */ /* Begin PBXLegacyTarget section */ - 278070E10F5C7F9E00699207 /* contrib */ = { + 27F143770F5DF34F00A684FF /* external */ = { isa = PBXLegacyTarget; - buildArgumentsString = "$EXTERNAL_PROJECT/make/xcodemake.sh $(PRODUCT_NAME) $(ACTION)"; - buildConfigurationList = 278070E20F5C7F9E00699207 /* Build configuration list for PBXLegacyTarget "contrib" */; + buildArgumentsString = "\"$EXTERNAL_PROJECT/make/xcodemake"; + buildConfigurationList = 27F1438E0F5DF3EA00A684FF /* Build configuration list for PBXLegacyTarget "external" */; + buildPhases = ( + ); + buildToolPath = /bin/sh; + dependencies = ( + ); + name = external; + passBuildSettingsInEnvironment = 1; + productName = external; + }; + 27F1437E0F5DF36000A684FF /* contrib */ = { + isa = PBXLegacyTarget; + buildArgumentsString = "\"$EXTERNAL_PROJECT/make/xcodemake"; + buildConfigurationList = 27F1438F0F5DF3EA00A684FF /* Build configuration list for PBXLegacyTarget "contrib" */; buildPhases = ( ); buildToolPath = /bin/sh; - buildWorkingDirectory = ""; - comments = "This target represents tie-in to the make-based build system for HandBrake.\nFrom Xcode's perspective we term it the 'external' build system.\n\n- building this target maps to --> make contrib.install\n- cleaning this target maps to --> make contrib.clean"; dependencies = ( ); name = contrib; passBuildSettingsInEnvironment = 1; - productName = external.invoke; + productName = contrib; }; - 278071070F5C9C2C00699207 /* libhb */ = { + 27F143850F5DF37600A684FF /* libhb */ = { isa = PBXLegacyTarget; - buildArgumentsString = "$EXTERNAL_PROJECT/make/xcodemake.sh $(PRODUCT_NAME) $(ACTION)"; - buildConfigurationList = 278071080F5C9C2C00699207 /* Build configuration list for PBXLegacyTarget "libhb" */; + buildArgumentsString = "\"$EXTERNAL_PROJECT/make/xcodemake"; + buildConfigurationList = 27F143900F5DF3EA00A684FF /* Build configuration list for PBXLegacyTarget "libhb" */; buildPhases = ( ); buildToolPath = /bin/sh; - buildWorkingDirectory = ""; - comments = "This target represents tie-in to the make-based build system for HandBrake.\nFrom Xcode's perspective we term it the 'external' build system.\n\n- building this target maps to --> make libhb.build\n- cleaning this target maps to --> make libhb.clean"; dependencies = ( ); name = libhb; passBuildSettingsInEnvironment = 1; - productName = external.invoke; + productName = libhb; }; /* End PBXLegacyTarget section */ @@ -451,7 +460,7 @@ buildRules = ( ); dependencies = ( - 27774C2B0F5CB1D600897477 /* PBXTargetDependency */, + 277C2E560F5DFF450067D708 /* PBXTargetDependency */, ); name = HandBrakeCLI; productName = HandBrakeCLI; @@ -471,7 +480,7 @@ buildRules = ( ); dependencies = ( - 27774C2D0F5CB1DD00897477 /* PBXTargetDependency */, + 277C2E540F5DFF400067D708 /* PBXTargetDependency */, ); name = HandBrake; productName = HandBrake; @@ -492,8 +501,9 @@ targets = ( 4DD93F8D082036E8008E1322 /* HandBrake */, 0DFF0C090B6BCEC200549488 /* HandBrakeCLI */, - 278071070F5C9C2C00699207 /* libhb */, - 278070E10F5C7F9E00699207 /* contrib */, + 27F143770F5DF34F00A684FF /* external */, + 27F143850F5DF37600A684FF /* libhb */, + 27F1437E0F5DF36000A684FF /* contrib */, ); }; /* End PBXProject section */ @@ -585,15 +595,15 @@ /* End PBXSourcesBuildPhase section */ /* Begin PBXTargetDependency section */ - 27774C2B0F5CB1D600897477 /* PBXTargetDependency */ = { + 277C2E540F5DFF400067D708 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - target = 278071070F5C9C2C00699207 /* libhb */; - targetProxy = 27774C2A0F5CB1D600897477 /* PBXContainerItemProxy */; + target = 27F143770F5DF34F00A684FF /* external */; + targetProxy = 277C2E530F5DFF400067D708 /* PBXContainerItemProxy */; }; - 27774C2D0F5CB1DD00897477 /* PBXTargetDependency */ = { + 277C2E560F5DFF450067D708 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - target = 278071070F5C9C2C00699207 /* libhb */; - targetProxy = 27774C2C0F5CB1DD00897477 /* PBXContainerItemProxy */; + target = 27F143770F5DF34F00A684FF /* external */; + targetProxy = 277C2E550F5DFF450067D708 /* PBXContainerItemProxy */; }; /* End PBXTargetDependency section */ @@ -739,90 +749,6 @@ }; name = standard; }; - 278070E30F5C7F9E00699207 /* standard */ = { - isa = XCBuildConfiguration; - buildSettings = { - PRODUCT_NAME = contrib; - }; - name = standard; - }; - 278070E40F5C7F9E00699207 /* debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - PRODUCT_NAME = external.invoke; - }; - name = debug; - }; - 278070E50F5C7F9E00699207 /* standard.i386 */ = { - isa = XCBuildConfiguration; - buildSettings = { - PRODUCT_NAME = external.invoke; - }; - name = standard.i386; - }; - 278070E60F5C7F9E00699207 /* standard.x86_64 */ = { - isa = XCBuildConfiguration; - buildSettings = { - PRODUCT_NAME = external.invoke; - }; - name = standard.x86_64; - }; - 278070E70F5C7F9E00699207 /* standard.ppc */ = { - isa = XCBuildConfiguration; - buildSettings = { - PRODUCT_NAME = external.invoke; - }; - name = standard.ppc; - }; - 278070E80F5C7F9E00699207 /* standard.ppc64 */ = { - isa = XCBuildConfiguration; - buildSettings = { - PRODUCT_NAME = external.invoke; - }; - name = standard.ppc64; - }; - 278071090F5C9C2C00699207 /* standard */ = { - isa = XCBuildConfiguration; - buildSettings = { - PRODUCT_NAME = libhb; - }; - name = standard; - }; - 2780710A0F5C9C2C00699207 /* debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - PRODUCT_NAME = external.invoke; - }; - name = debug; - }; - 2780710B0F5C9C2C00699207 /* standard.i386 */ = { - isa = XCBuildConfiguration; - buildSettings = { - PRODUCT_NAME = external.invoke; - }; - name = standard.i386; - }; - 2780710C0F5C9C2C00699207 /* standard.x86_64 */ = { - isa = XCBuildConfiguration; - buildSettings = { - PRODUCT_NAME = external.invoke; - }; - name = standard.x86_64; - }; - 2780710D0F5C9C2C00699207 /* standard.ppc */ = { - isa = XCBuildConfiguration; - buildSettings = { - PRODUCT_NAME = external.invoke; - }; - name = standard.ppc; - }; - 2780710E0F5C9C2C00699207 /* standard.ppc64 */ = { - isa = XCBuildConfiguration; - buildSettings = { - PRODUCT_NAME = external.invoke; - }; - name = standard.ppc64; - }; 27ED6ADB0F58D7F100C905EE /* standard.i386 */ = { isa = XCBuildConfiguration; buildSettings = { @@ -830,7 +756,7 @@ CONFIGURATION_BUILD_DIR = "$(EXTERNAL_BUILD)"; CONFIGURATION_TEMP_DIR = "$(SYMROOT)"; EXTERNAL_BUILD = "$(EXTERNAL_PROJECT)/build.$(CONFIGURATION)"; - EXTERNAL_JOBS = 1; + EXTERNAL_JOBS = 8; EXTERNAL_METHOD = xcode; EXTERNAL_PROJECT = ..; GCC_DYNAMIC_NO_PIC = YES; @@ -939,7 +865,7 @@ CONFIGURATION_BUILD_DIR = "$(EXTERNAL_BUILD)"; CONFIGURATION_TEMP_DIR = "$(SYMROOT)"; EXTERNAL_BUILD = "$(EXTERNAL_PROJECT)/build.$(CONFIGURATION)"; - EXTERNAL_JOBS = 1; + EXTERNAL_JOBS = 8; EXTERNAL_METHOD = xcode; EXTERNAL_PROJECT = ..; GCC_DYNAMIC_NO_PIC = YES; @@ -1048,7 +974,7 @@ CONFIGURATION_BUILD_DIR = "$(EXTERNAL_BUILD)"; CONFIGURATION_TEMP_DIR = "$(SYMROOT)"; EXTERNAL_BUILD = "$(EXTERNAL_PROJECT)/build.$(CONFIGURATION)"; - EXTERNAL_JOBS = 1; + EXTERNAL_JOBS = 8; EXTERNAL_METHOD = xcode; EXTERNAL_PROJECT = ..; GCC_DYNAMIC_NO_PIC = YES; @@ -1157,7 +1083,7 @@ CONFIGURATION_BUILD_DIR = "$(EXTERNAL_BUILD)"; CONFIGURATION_TEMP_DIR = "$(SYMROOT)"; EXTERNAL_BUILD = "$(EXTERNAL_PROJECT)/build.$(CONFIGURATION)"; - EXTERNAL_JOBS = 1; + EXTERNAL_JOBS = 8; EXTERNAL_METHOD = xcode; EXTERNAL_PROJECT = ..; GCC_DYNAMIC_NO_PIC = YES; @@ -1259,6 +1185,132 @@ }; name = standard.ppc64; }; + 27F143780F5DF34F00A684FF /* standard */ = { + isa = XCBuildConfiguration; + buildSettings = { + PRODUCT_NAME = external; + }; + name = standard; + }; + 27F143790F5DF34F00A684FF /* debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + PRODUCT_NAME = external; + }; + name = debug; + }; + 27F1437A0F5DF34F00A684FF /* standard.i386 */ = { + isa = XCBuildConfiguration; + buildSettings = { + PRODUCT_NAME = external; + }; + name = standard.i386; + }; + 27F1437B0F5DF34F00A684FF /* standard.x86_64 */ = { + isa = XCBuildConfiguration; + buildSettings = { + PRODUCT_NAME = external; + }; + name = standard.x86_64; + }; + 27F1437C0F5DF34F00A684FF /* standard.ppc */ = { + isa = XCBuildConfiguration; + buildSettings = { + PRODUCT_NAME = external; + }; + name = standard.ppc; + }; + 27F1437D0F5DF34F00A684FF /* standard.ppc64 */ = { + isa = XCBuildConfiguration; + buildSettings = { + PRODUCT_NAME = external; + }; + name = standard.ppc64; + }; + 27F1437F0F5DF36000A684FF /* standard */ = { + isa = XCBuildConfiguration; + buildSettings = { + PRODUCT_NAME = contrib; + }; + name = standard; + }; + 27F143800F5DF36000A684FF /* debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + PRODUCT_NAME = contrib; + }; + 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 = { + PRODUCT_NAME = libhb; + }; + name = standard; + }; + 27F143870F5DF37600A684FF /* debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + PRODUCT_NAME = libhb; + }; + 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 = { @@ -1372,7 +1424,7 @@ COPY_PHASE_STRIP = NO; DEBUG_INFORMATION_FORMAT = dwarf; EXTERNAL_BUILD = "$(EXTERNAL_PROJECT)/build.$(CONFIGURATION)"; - EXTERNAL_JOBS = 1; + EXTERNAL_JOBS = 8; EXTERNAL_METHOD = xcode; EXTERNAL_PROJECT = ..; GCC_DYNAMIC_NO_PIC = YES; @@ -1396,7 +1448,7 @@ CONFIGURATION_BUILD_DIR = "$(EXTERNAL_BUILD)"; CONFIGURATION_TEMP_DIR = "$(SYMROOT)"; EXTERNAL_BUILD = "$(EXTERNAL_PROJECT)/build.$(CONFIGURATION)"; - EXTERNAL_JOBS = 1; + EXTERNAL_JOBS = 8; EXTERNAL_METHOD = xcode; EXTERNAL_PROJECT = ..; GCC_DYNAMIC_NO_PIC = YES; @@ -1429,28 +1481,41 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = standard; }; - 278070E20F5C7F9E00699207 /* Build configuration list for PBXLegacyTarget "contrib" */ = { + 27F1438E0F5DF3EA00A684FF /* Build configuration list for PBXLegacyTarget "external" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 27F143780F5DF34F00A684FF /* standard */, + 27F143790F5DF34F00A684FF /* debug */, + 27F1437A0F5DF34F00A684FF /* standard.i386 */, + 27F1437B0F5DF34F00A684FF /* standard.x86_64 */, + 27F1437C0F5DF34F00A684FF /* standard.ppc */, + 27F1437D0F5DF34F00A684FF /* standard.ppc64 */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = standard; + }; + 27F1438F0F5DF3EA00A684FF /* Build configuration list for PBXLegacyTarget "contrib" */ = { isa = XCConfigurationList; buildConfigurations = ( - 278070E30F5C7F9E00699207 /* standard */, - 278070E40F5C7F9E00699207 /* debug */, - 278070E50F5C7F9E00699207 /* standard.i386 */, - 278070E60F5C7F9E00699207 /* standard.x86_64 */, - 278070E70F5C7F9E00699207 /* standard.ppc */, - 278070E80F5C7F9E00699207 /* standard.ppc64 */, + 27F1437F0F5DF36000A684FF /* standard */, + 27F143800F5DF36000A684FF /* debug */, + 27F143810F5DF36000A684FF /* standard.i386 */, + 27F143820F5DF36000A684FF /* standard.x86_64 */, + 27F143830F5DF36000A684FF /* standard.ppc */, + 27F143840F5DF36000A684FF /* standard.ppc64 */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = standard; }; - 278071080F5C9C2C00699207 /* Build configuration list for PBXLegacyTarget "libhb" */ = { + 27F143900F5DF3EA00A684FF /* Build configuration list for PBXLegacyTarget "libhb" */ = { isa = XCConfigurationList; buildConfigurations = ( - 278071090F5C9C2C00699207 /* standard */, - 2780710A0F5C9C2C00699207 /* debug */, - 2780710B0F5C9C2C00699207 /* standard.i386 */, - 2780710C0F5C9C2C00699207 /* standard.x86_64 */, - 2780710D0F5C9C2C00699207 /* standard.ppc */, - 2780710E0F5C9C2C00699207 /* standard.ppc64 */, + 27F143860F5DF37600A684FF /* standard */, + 27F143870F5DF37600A684FF /* debug */, + 27F143880F5DF37600A684FF /* standard.i386 */, + 27F143890F5DF37600A684FF /* standard.x86_64 */, + 27F1438A0F5DF37600A684FF /* standard.ppc */, + 27F1438B0F5DF37600A684FF /* standard.ppc64 */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = standard; diff --git a/macosx/module.defs b/macosx/module.defs index 2b525acde..fec467db9 100644 --- a/macosx/module.defs +++ b/macosx/module.defs @@ -18,27 +18,22 @@ BUILD.out += $(MACOSX.m4.out) MACOSX.XCODE.exe = xcodebuild MACOSX.XCODE.project = HandBrake.xcodeproj +## launch a build thru xcode; which in turn will do a nested make against +## this build system with normal build rules enabled. +## +## $(1) = list of targets +## $(2) = list of goals to shunt thru xcodebuild->make +## MACOSX.XCODE = $(strip \ cd $(MACOSX.src/) && \ $(MACOSX.XCODE.exe) \ -project $(MACOSX.XCODE.project) \ -configuration $(MACOSX.conf) \ - $(foreach t,$(MACOSX.targs),-target $t) \ + $(foreach t,$(1),-target $t) \ EXTERNAL_BUILD='$(CURDIR)' \ EXTERNAL_JOBS='$(BUILD.jobs)' \ EXTERNAL_METHOD='$(CONF.method)' \ EXTERNAL_PROJECT='$(PROJECT/)' \ - $(1) ) - -MACOSX.XCODE.PASSTHRU = $(strip \ - cd $(MACOSX.src/) && \ - $(MACOSX.XCODE.exe) \ - -project $(MACOSX.XCODE.project) \ - -configuration $(MACOSX.conf) \ - -target libhb \ - EXTERNAL_BUILD='$(CURDIR)' \ - EXTERNAL_JOBS='$(BUILD.jobs)' \ - EXTERNAL_METHOD='$(CONF.method)' \ - EXTERNAL_PROJECT='$(PROJECT/)' \ - EXTERNAL_GOALS='$(1)' \ - build ) + EXTERNAL_GOALS='$(3)' \ + EXTERNAL_VARS='$(-*-command-variables-*-)' \ + $(2) ) diff --git a/macosx/module.xcode b/macosx/module.xcode index 5d75f5152..81f661629 100644 --- a/macosx/module.xcode +++ b/macosx/module.xcode @@ -2,16 +2,28 @@ ## which hands-off the build to Xcode which in turn may callback this ## build system. -build: - $(call MACOSX.XCODE,build) +.PHONY: macosx.build macosx.clean macosx.install -clean: - $(call MACOSX.XCODE,clean) +macosx.build: + $(call MACOSX.XCODE,HandBrakeCLI HandBrake,build) +macosx.clean: + $(call MACOSX.XCODE,HandBrakeCLI HandBrake,clean) + +macosx.install: + $(call MACOSX.XCODE,HandBrakeCLI HandBrake,install) + +build: macosx.build +clean: macosx.clean +install: macosx.install xclean: clean -$(MAKECMDGOALS): __goals__ +############################################################################### + +MACOSX.goals = $(filter-out build clean install xclean,$(MAKECMDGOALS)) + +$(MACOSX.goals): __goals__ @true __goals__: - $(call MACOSX.XCODE.PASSTHRU,$(MAKECMDGOALS)) + $(call MACOSX.XCODE,external,build,$(MACOSX.goals)) |