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
This commit is contained in:
parent
c4d9c49de0
commit
6d2d51974a
@ -1,4 +1,4 @@
|
||||
Guide to Building HandBrake svn2204 (2009030201) on Cygwin
|
||||
Guide to Building HandBrake svn2213 (2009030301) on Cygwin
|
||||
**********************************************************
|
||||
|
||||
Table of Contents
|
||||
@ -240,14 +240,18 @@ period.
|
||||
Build main product. All necessary dependencies are also built if
|
||||
required.
|
||||
|
||||
`make clean'
|
||||
Clean all build output excluding contrib modules. Configuration is
|
||||
retained.
|
||||
|
||||
`make install'
|
||||
Perform final product(s) install. This will install build
|
||||
products to a standard directory or one specified via `configure
|
||||
--prefix' option.
|
||||
|
||||
`make clean'
|
||||
Clean all build output excluding contrib modules. Configuration is
|
||||
retained.
|
||||
`make uninstall'
|
||||
Perform final product(s) uninstall. This will uninstall any
|
||||
products which may have been previously installed.
|
||||
|
||||
`make xclean'
|
||||
Clean all build output including contrib modules. Configuration is
|
||||
|
@ -1,4 +1,4 @@
|
||||
Guide to Building HandBrake svn2204 (2009030201) on Linux
|
||||
Guide to Building HandBrake svn2213 (2009030301) on Linux
|
||||
*********************************************************
|
||||
|
||||
Table of Contents
|
||||
@ -306,14 +306,18 @@ period.
|
||||
Build main product. All necessary dependencies are also built if
|
||||
required.
|
||||
|
||||
`make clean'
|
||||
Clean all build output excluding contrib modules. Configuration is
|
||||
retained.
|
||||
|
||||
`make install'
|
||||
Perform final product(s) install. This will install build
|
||||
products to a standard directory or one specified via `configure
|
||||
--prefix' option.
|
||||
|
||||
`make clean'
|
||||
Clean all build output excluding contrib modules. Configuration is
|
||||
retained.
|
||||
`make uninstall'
|
||||
Perform final product(s) uninstall. This will uninstall any
|
||||
products which may have been previously installed.
|
||||
|
||||
`make xclean'
|
||||
Clean all build output including contrib modules. Configuration is
|
||||
|
@ -1,4 +1,4 @@
|
||||
Guide to Building HandBrake svn2204 (2009030201) on Mac OS X
|
||||
Guide to Building HandBrake svn2213 (2009030301) on Mac OS X
|
||||
************************************************************
|
||||
|
||||
Table of Contents
|
||||
@ -21,7 +21,8 @@ Table of Contents
|
||||
6 Building via Xcode
|
||||
6.1 Checkout Sources
|
||||
6.2 Build
|
||||
6.3 User-Defined Settings
|
||||
6.3 External Targets
|
||||
6.4 User-Defined Settings
|
||||
|
||||
|
||||
1 Introduction
|
||||
@ -241,14 +242,18 @@ period.
|
||||
Build main product. All necessary dependencies are also built if
|
||||
required.
|
||||
|
||||
`make clean'
|
||||
Clean all build output excluding contrib modules. Configuration is
|
||||
retained.
|
||||
|
||||
`make install'
|
||||
Perform final product(s) install. This will install build
|
||||
products to a standard directory or one specified via `configure
|
||||
--prefix' option.
|
||||
|
||||
`make clean'
|
||||
Clean all build output excluding contrib modules. Configuration is
|
||||
retained.
|
||||
`make uninstall'
|
||||
Perform final product(s) uninstall. This will uninstall any
|
||||
products which may have been previously installed.
|
||||
|
||||
`make xclean'
|
||||
Clean all build output including contrib modules. Configuration is
|
||||
@ -441,7 +446,24 @@ follows:
|
||||
This configuration is used to build for the ppc64 architecture.
|
||||
Build directory is `build.standard.ppc64' .
|
||||
|
||||
6.3 User-Defined Settings
|
||||
6.3 External Targets
|
||||
====================
|
||||
|
||||
The following external targets appear in the Xcode project and perform
|
||||
build and clean actions.
|
||||
|
||||
`external'
|
||||
Target maps to `make build' and `make clean' for everything Xcode
|
||||
products depend upon from the external build system.
|
||||
|
||||
`libhb'
|
||||
Target maps to `make libhb.build' and `make libhb.clean'.
|
||||
|
||||
`contrib'
|
||||
Target maps to `make contrib.build' and `make contrib.xclean'.
|
||||
|
||||
|
||||
6.4 User-Defined Settings
|
||||
=========================
|
||||
|
||||
The following user defined settings are used in Xcode project for the
|
||||
|
@ -48,6 +48,23 @@ This configuration is used to build for the ppc architecture. Build directory is
|
||||
This configuration is used to build for the ppc64 architecture. Build directory is @file{build.standard.ppc64} .
|
||||
@end table
|
||||
|
||||
@c %**-------------------------------------------------------------------------
|
||||
@anchor{xcode.extenal}
|
||||
@section External Targets
|
||||
The following external targets appear in the Xcode project and perform @b{build} and @b{clean} actions.
|
||||
|
||||
@table @samp
|
||||
@item external
|
||||
Target maps to @command{make build} and @command{make clean} for everything Xcode products depend upon from the external build system.
|
||||
|
||||
@item libhb
|
||||
Target maps to @command{make libhb.build} and @command{make libhb.clean}.
|
||||
|
||||
@item contrib
|
||||
Target maps to @command{make contrib.build} and @command{make contrib.xclean}.
|
||||
|
||||
@end table
|
||||
|
||||
@c %**-------------------------------------------------------------------------
|
||||
@anchor{xcode.userdefined}
|
||||
@section User-Defined Settings
|
||||
|
@ -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 = (
|
||||
278070E30F5C7F9E00699207 /* standard */,
|
||||
278070E40F5C7F9E00699207 /* debug */,
|
||||
278070E50F5C7F9E00699207 /* standard.i386 */,
|
||||
278070E60F5C7F9E00699207 /* standard.x86_64 */,
|
||||
278070E70F5C7F9E00699207 /* standard.ppc */,
|
||||
278070E80F5C7F9E00699207 /* standard.ppc64 */,
|
||||
27F143780F5DF34F00A684FF /* standard */,
|
||||
27F143790F5DF34F00A684FF /* debug */,
|
||||
27F1437A0F5DF34F00A684FF /* standard.i386 */,
|
||||
27F1437B0F5DF34F00A684FF /* standard.x86_64 */,
|
||||
27F1437C0F5DF34F00A684FF /* standard.ppc */,
|
||||
27F1437D0F5DF34F00A684FF /* standard.ppc64 */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = standard;
|
||||
};
|
||||
278071080F5C9C2C00699207 /* Build configuration list for PBXLegacyTarget "libhb" */ = {
|
||||
27F1438F0F5DF3EA00A684FF /* Build configuration list for PBXLegacyTarget "contrib" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
278071090F5C9C2C00699207 /* standard */,
|
||||
2780710A0F5C9C2C00699207 /* debug */,
|
||||
2780710B0F5C9C2C00699207 /* standard.i386 */,
|
||||
2780710C0F5C9C2C00699207 /* standard.x86_64 */,
|
||||
2780710D0F5C9C2C00699207 /* standard.ppc */,
|
||||
2780710E0F5C9C2C00699207 /* standard.ppc64 */,
|
||||
27F1437F0F5DF36000A684FF /* standard */,
|
||||
27F143800F5DF36000A684FF /* debug */,
|
||||
27F143810F5DF36000A684FF /* standard.i386 */,
|
||||
27F143820F5DF36000A684FF /* standard.x86_64 */,
|
||||
27F143830F5DF36000A684FF /* standard.ppc */,
|
||||
27F143840F5DF36000A684FF /* standard.ppc64 */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = standard;
|
||||
};
|
||||
27F143900F5DF3EA00A684FF /* Build configuration list for PBXLegacyTarget "libhb" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
27F143860F5DF37600A684FF /* standard */,
|
||||
27F143870F5DF37600A684FF /* debug */,
|
||||
27F143880F5DF37600A684FF /* standard.i386 */,
|
||||
27F143890F5DF37600A684FF /* standard.x86_64 */,
|
||||
27F1438A0F5DF37600A684FF /* standard.ppc */,
|
||||
27F1438B0F5DF37600A684FF /* standard.ppc64 */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = standard;
|
||||
|
@ -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) )
|
||||
|
@ -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))
|
||||
|
@ -141,7 +141,7 @@ class Guess:
|
||||
self.release = ''
|
||||
self.extra = ''
|
||||
elif re.match( 'darwin', p_system ):
|
||||
self.machine = p_machine
|
||||
self.machine = p_processor
|
||||
self.vendor = 'apple'
|
||||
self.system = p_system
|
||||
self.systemc = p_systemc
|
||||
@ -263,7 +263,13 @@ class OptionMode( list ):
|
||||
self.mode = self.default
|
||||
|
||||
def __str__( self ):
|
||||
return ' '.join( self ).replace( self.mode, '*'+self.mode )
|
||||
s = ''
|
||||
for a in self:
|
||||
if a == self.mode:
|
||||
s += ' *' + a
|
||||
else:
|
||||
s += ' ' + a
|
||||
return s[1:]
|
||||
|
||||
def addToGroup( self, group, option, name ):
|
||||
group.add_option( '', option, help='select %s mode: %s' % (name,self), default=self.mode, metavar='MODE' )
|
||||
@ -435,38 +441,40 @@ class Repository:
|
||||
|
||||
# parse output: svnversion PROJECT_DIR
|
||||
cmd = 'svnversion ' + initial_project_dir
|
||||
print 'running: %s' % (cmd)
|
||||
print 'attempting to probe subversion: %s' % (cmd)
|
||||
try:
|
||||
p = subprocess.Popen( cmd, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE )
|
||||
p = subprocess.Popen( cmd, shell=True, stdout=subprocess.PIPE )
|
||||
p.wait();
|
||||
if p.returncode == 0:
|
||||
self.wcversion = p.stdout.readline().rstrip()
|
||||
if p.returncode:
|
||||
sys.exit( 1 )
|
||||
self.wcversion = p.stdout.readline().rstrip()
|
||||
except:
|
||||
pass
|
||||
|
||||
# parse output: svn info PROJECT_DIR
|
||||
cmd = 'svn info ' + initial_project_dir
|
||||
print 'running: %s' % (cmd)
|
||||
print 'attempting to probe subversion: %s' % (cmd)
|
||||
try:
|
||||
p = subprocess.Popen( cmd, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE )
|
||||
p = subprocess.Popen( cmd, shell=True, stdout=subprocess.PIPE )
|
||||
p.wait();
|
||||
if p.returncode == 0:
|
||||
for line in p.stdout:
|
||||
(name,value) = re.match( '([^:]+):\\s+(.+)', line.rstrip() ).groups()
|
||||
if name == 'URL':
|
||||
self.url = value
|
||||
elif name == 'Repository Root':
|
||||
self.root = value
|
||||
elif name == 'Repository UUID':
|
||||
self.uuid = value
|
||||
elif name == 'Revision':
|
||||
self.rev = int( value )
|
||||
elif name == 'Last Changed Date':
|
||||
# strip chars in parens
|
||||
if value.find( ' (' ):
|
||||
self.date = value[0:value.find(' (')]
|
||||
else:
|
||||
self.date = value
|
||||
if p.returncode:
|
||||
sys.exit( 1 )
|
||||
for line in p.stdout:
|
||||
(name,value) = re.match( '([^:]+):\\s+(.+)', line.rstrip() ).groups()
|
||||
if name == 'URL':
|
||||
self.url = value
|
||||
elif name == 'Repository Root':
|
||||
self.root = value
|
||||
elif name == 'Repository UUID':
|
||||
self.uuid = value
|
||||
elif name == 'Revision':
|
||||
self.rev = int( value )
|
||||
elif name == 'Last Changed Date':
|
||||
# strip chars in parens
|
||||
if value.find( ' (' ):
|
||||
self.date = value[0:value.find(' (')]
|
||||
else:
|
||||
self.date = value
|
||||
except:
|
||||
pass
|
||||
|
||||
@ -629,7 +637,7 @@ config.add( 'HB.version.major', project.vmajor )
|
||||
config.add( 'HB.version.minor', project.vminor )
|
||||
config.add( 'HB.version.point', project.vpoint )
|
||||
config.add( 'HB.version', project.version )
|
||||
config.add( 'HB.version.hex', '%04x%02x%02x%02x%06x' % (project.vmajor,project.vminor,project.vpoint,0,repo.rev) )
|
||||
config.add( 'HB.version.hex', '%04x%02x%02x%08x' % (project.vmajor,project.vminor,project.vpoint,repo.rev) )
|
||||
|
||||
config.add( 'HB.build', project.build )
|
||||
|
||||
|
@ -1,16 +1,16 @@
|
||||
.PHONY: report.main report.gcc report.modules
|
||||
.PHONY: report.main report.gcc report.modules report.var report.true
|
||||
|
||||
report.modules::
|
||||
|
||||
.PHONY: report.main
|
||||
report.main:
|
||||
@$(MAKE) report.true REPORT=main
|
||||
|
||||
.PHONY: report.gcc
|
||||
report.gcc:
|
||||
@$(MAKE) report.true REPORT=gcc
|
||||
|
||||
report.var:
|
||||
@$(MAKE) report.true REPORT=var
|
||||
|
||||
## needed for nested make (which drives each report)
|
||||
.PHONY: report.true
|
||||
report.true:
|
||||
@true
|
||||
|
@ -53,3 +53,10 @@ $(info #########################################################################
|
||||
$(info $(foreach v,$(sort $(filter GCC.%,$(.VARIABLES))),$(call fn.PRINTVAR,$v)))
|
||||
$(info )
|
||||
endif
|
||||
|
||||
## report: var
|
||||
##
|
||||
ifeq (var,$(REPORT))
|
||||
$(info $(call fn.PRINTVAR,$(NAME)))
|
||||
$(info )
|
||||
endif
|
||||
|
64
make/xcodemake.sh → make/xcodemake
Normal file → Executable file
64
make/xcodemake.sh → make/xcodemake
Normal file → Executable file
@ -1,6 +1,8 @@
|
||||
#!/bin/sh -ex
|
||||
#!/bin/sh
|
||||
#
|
||||
|
||||
set -e
|
||||
|
||||
## This script is invoked by Xcode external targets.
|
||||
##
|
||||
## We must guarantee no jobserver is passed through since the file-descriptors
|
||||
@ -8,6 +10,7 @@
|
||||
## it is allowed to run an infinite number of jobs.
|
||||
##
|
||||
MAKEFLAGS=
|
||||
MFLAGS=
|
||||
|
||||
cd $EXTERNAL_BUILD
|
||||
|
||||
@ -43,33 +46,40 @@ else
|
||||
jobs=--jobs=$EXTERNAL_JOBS
|
||||
fi
|
||||
|
||||
## compute target
|
||||
case "$1:$2" in
|
||||
contrib:clean)
|
||||
target=contrib.xclean
|
||||
;;
|
||||
contrib:*)
|
||||
target=contrib.install
|
||||
;;
|
||||
*:clean)
|
||||
target=clean
|
||||
;;
|
||||
libhb:'')
|
||||
if [ -z "$EXTERNAL_GOALS" ]; then
|
||||
target=build
|
||||
else
|
||||
target="$EXTERNAL_GOALS"
|
||||
fi
|
||||
;;
|
||||
*:'')
|
||||
target=build
|
||||
;;
|
||||
*)
|
||||
echo "usage: $0 PRODUCT ACTION"
|
||||
exit 1
|
||||
;;
|
||||
spec="$TARGET_NAME:$ACTION"
|
||||
echo "env specification: $spec"
|
||||
|
||||
## compute goals
|
||||
case "$spec" in
|
||||
contrib:clean)
|
||||
goals=contrib.xclean
|
||||
;;
|
||||
contrib:*)
|
||||
goals=contrib.install
|
||||
;;
|
||||
external:clean)
|
||||
goals=clean
|
||||
;;
|
||||
external:*)
|
||||
if [ -z "$EXTERNAL_GOALS" ]; then
|
||||
goals=build
|
||||
else
|
||||
goals="$EXTERNAL_GOALS"
|
||||
fi
|
||||
vars="$EXTERNAL_VARS"
|
||||
;;
|
||||
libhb:clean)
|
||||
goals=libhb.clean
|
||||
;;
|
||||
libhb:*)
|
||||
goals=libhb.build
|
||||
;;
|
||||
*)
|
||||
echo "ERROR: invalid env specification: $spec"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
## handoff
|
||||
set -x
|
||||
exec make -C $EXTERNAL_BUILD BUILD.method=xcode $jobs $target
|
||||
make -C $EXTERNAL_BUILD BUILD.method=xcode $jobs $goals $vars
|
Loading…
x
Reference in New Issue
Block a user