summaryrefslogtreecommitdiffstats
path: root/macosx
diff options
context:
space:
mode:
authorkonablend <[email protected]>2009-03-08 22:50:57 +0000
committerkonablend <[email protected]>2009-03-08 22:50:57 +0000
commit083ba4898a662cd50a86d2a65ca5ebe765fe882d (patch)
treec2460805275e7b23dd03965df15beecc7ac4589b /macosx
parent92d511d944b059caaf6c5e85fcb5202642aa4553 (diff)
BuildSystem: general, configure and Xcode updates.
*** NOTICE: This changeset requires a clean build directory. Please issue 'make xclean' inside build dir(s) after 'svn up'. This will help ensure there are no unexpected results. *** GENERAL: - renamed makevar PROJECT/ -> SRC/ for clarity. - renamed makevar PREFIX.install/ -> PREFIX/ for clarity. - split custom GNUmakefile overrides into defs/rules files. - inserted optional level of make customization at SRC/ level; see docs. - dropped HB.repo.wcversion (svnversion is no longer used). - corrected several 'rm' usages to use -f flag which avoids some build errors. - refreshed generated 00-Building.*.txt docs; work still in progress on the wiki front. *** CONFIGURE: - made configure more robust; configure may now be run outside of build directory! - adding log recording of configure activities. - improved readability of default options for configure - added: --force overwrite existing build config --src=DIR specify top-level source dir [.] --build=DIR specify build scratch/output dir [.] --prefix=DIR specify install dir for products [/Applications] - dropped --launch-force (replaced by --force) - dropped --launch-dir (replaced by --build) - dropped --launch-log *** XCODE: - renamed pbxproj definition EXTERNAL_PROJECT -> EXTERNAL_SRC for clarity. - fixed all configurations to default to EXTERNAL_JOBS=1 . - enabled Xcode internal parallelization (libhb, HandBrakeCLI and HandBrake benefit). - make now tickles Xcode build files to cause Info.plist regeneration and posting to HandBrake.app output; ie: svn up; click build and HandBrake.app's about panel will reflect the new repository rev. *** DARWIN: - added support to build universal binaries; see docs. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2242 b64f7644-9d1e-0410-96f1-a4d463321fa5
Diffstat (limited to 'macosx')
-rw-r--r--macosx/HandBrake.xcodeproj/project.pbxproj43
-rw-r--r--macosx/module.defs13
-rw-r--r--macosx/module.rules4
-rw-r--r--macosx/module.xcode2
4 files changed, 37 insertions, 25 deletions
diff --git a/macosx/HandBrake.xcodeproj/project.pbxproj b/macosx/HandBrake.xcodeproj/project.pbxproj
index 690e8b95b..c93959cf5 100644
--- a/macosx/HandBrake.xcodeproj/project.pbxproj
+++ b/macosx/HandBrake.xcodeproj/project.pbxproj
@@ -400,7 +400,7 @@
/* Begin PBXLegacyTarget section */
27F143770F5DF34F00A684FF /* external */ = {
isa = PBXLegacyTarget;
- buildArgumentsString = "\"$EXTERNAL_PROJECT/make/xcodemake";
+ buildArgumentsString = "\"$EXTERNAL_SRC/make/xcodemake";
buildConfigurationList = 27F1438E0F5DF3EA00A684FF /* Build configuration list for PBXLegacyTarget "external" */;
buildPhases = (
);
@@ -413,7 +413,7 @@
};
27F1437E0F5DF36000A684FF /* contrib */ = {
isa = PBXLegacyTarget;
- buildArgumentsString = "\"$EXTERNAL_PROJECT/make/xcodemake";
+ buildArgumentsString = "\"$EXTERNAL_SRC/make/xcodemake";
buildConfigurationList = 27F1438F0F5DF3EA00A684FF /* Build configuration list for PBXLegacyTarget "contrib" */;
buildPhases = (
);
@@ -426,7 +426,7 @@
};
27F143850F5DF37600A684FF /* libhb */ = {
isa = PBXLegacyTarget;
- buildArgumentsString = "\"$EXTERNAL_PROJECT/make/xcodemake";
+ buildArgumentsString = "\"$EXTERNAL_SRC/make/xcodemake";
buildConfigurationList = 27F143900F5DF3EA00A684FF /* Build configuration list for PBXLegacyTarget "libhb" */;
buildPhases = (
);
@@ -482,6 +482,9 @@
/* Begin PBXProject section */
29B97313FDCFA39411CA2CEA /* Project object */ = {
isa = PBXProject;
+ attributes = {
+ BuildIndependentTargetsInParallel = YES;
+ };
buildConfigurationList = 4D4E7BC4087804870051572B /* Build configuration list for PBXProject "HandBrake" */;
compatibilityVersion = "Xcode 3.1";
hasScannedForEncodings = 1;
@@ -735,10 +738,10 @@
ARCHS = i386;
CONFIGURATION_BUILD_DIR = "$(EXTERNAL_BUILD)";
CONFIGURATION_TEMP_DIR = "$(SYMROOT)";
- EXTERNAL_BUILD = "$(EXTERNAL_PROJECT)/build.$(CONFIGURATION)";
- EXTERNAL_JOBS = 8;
+ EXTERNAL_BUILD = "$(EXTERNAL_SRC)/build.$(CONFIGURATION)";
+ EXTERNAL_JOBS = 1;
EXTERNAL_METHOD = xcode;
- EXTERNAL_PROJECT = ..;
+ EXTERNAL_SRC = ..;
GCC_DYNAMIC_NO_PIC = YES;
GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
GCC_MODEL_TUNING = G5;
@@ -844,10 +847,10 @@
ARCHS = ppc;
CONFIGURATION_BUILD_DIR = "$(EXTERNAL_BUILD)";
CONFIGURATION_TEMP_DIR = "$(SYMROOT)";
- EXTERNAL_BUILD = "$(EXTERNAL_PROJECT)/build.$(CONFIGURATION)";
- EXTERNAL_JOBS = 8;
+ EXTERNAL_BUILD = "$(EXTERNAL_SRC)/build.$(CONFIGURATION)";
+ EXTERNAL_JOBS = 1;
EXTERNAL_METHOD = xcode;
- EXTERNAL_PROJECT = ..;
+ EXTERNAL_SRC = ..;
GCC_DYNAMIC_NO_PIC = YES;
GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
GCC_MODEL_TUNING = G5;
@@ -953,10 +956,10 @@
ARCHS = x86_64;
CONFIGURATION_BUILD_DIR = "$(EXTERNAL_BUILD)";
CONFIGURATION_TEMP_DIR = "$(SYMROOT)";
- EXTERNAL_BUILD = "$(EXTERNAL_PROJECT)/build.$(CONFIGURATION)";
- EXTERNAL_JOBS = 8;
+ EXTERNAL_BUILD = "$(EXTERNAL_SRC)/build.$(CONFIGURATION)";
+ EXTERNAL_JOBS = 1;
EXTERNAL_METHOD = xcode;
- EXTERNAL_PROJECT = ..;
+ EXTERNAL_SRC = ..;
GCC_DYNAMIC_NO_PIC = YES;
GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
GCC_MODEL_TUNING = G5;
@@ -1062,10 +1065,10 @@
ARCHS = ppc64;
CONFIGURATION_BUILD_DIR = "$(EXTERNAL_BUILD)";
CONFIGURATION_TEMP_DIR = "$(SYMROOT)";
- EXTERNAL_BUILD = "$(EXTERNAL_PROJECT)/build.$(CONFIGURATION)";
- EXTERNAL_JOBS = 8;
+ EXTERNAL_BUILD = "$(EXTERNAL_SRC)/build.$(CONFIGURATION)";
+ EXTERNAL_JOBS = 1;
EXTERNAL_METHOD = xcode;
- EXTERNAL_PROJECT = ..;
+ EXTERNAL_SRC = ..;
GCC_DYNAMIC_NO_PIC = YES;
GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
GCC_MODEL_TUNING = G5;
@@ -1403,10 +1406,10 @@
CONFIGURATION_TEMP_DIR = "$(SYMROOT)";
COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = dwarf;
- EXTERNAL_BUILD = "$(EXTERNAL_PROJECT)/build.$(CONFIGURATION)";
- EXTERNAL_JOBS = 8;
+ EXTERNAL_BUILD = "$(EXTERNAL_SRC)/build.$(CONFIGURATION)";
+ EXTERNAL_JOBS = 1;
EXTERNAL_METHOD = xcode;
- EXTERNAL_PROJECT = ..;
+ EXTERNAL_SRC = ..;
GCC_DYNAMIC_NO_PIC = YES;
GCC_ENABLE_FIX_AND_CONTINUE = YES;
GCC_OPTIMIZATION_LEVEL = 0;
@@ -1427,10 +1430,10 @@
buildSettings = {
CONFIGURATION_BUILD_DIR = "$(EXTERNAL_BUILD)";
CONFIGURATION_TEMP_DIR = "$(SYMROOT)";
- EXTERNAL_BUILD = "$(EXTERNAL_PROJECT)/build.$(CONFIGURATION)";
+ EXTERNAL_BUILD = "$(EXTERNAL_SRC)/build.$(CONFIGURATION)";
EXTERNAL_JOBS = 1;
EXTERNAL_METHOD = xcode;
- EXTERNAL_PROJECT = ..;
+ EXTERNAL_SRC = ..;
GCC_DYNAMIC_NO_PIC = YES;
GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
GCC_MODEL_TUNING = G5;
diff --git a/macosx/module.defs b/macosx/module.defs
index fec467db9..75b9655ae 100644
--- a/macosx/module.defs
+++ b/macosx/module.defs
@@ -1,10 +1,13 @@
$(eval $(call import.MODULE.defs,MACOSX,macosx))
-MACOSX.src/ = $(PROJECT/)macosx/
+MACOSX.src/ = $(SRC/)macosx/
MACOSX.build/ = $(BUILD/)macosx/
MACOSX.m4.in = $(wildcard $(MACOSX.src/)*.m4)
-MACOSX.m4.out = $(patsubst $(MACOSX.src/)%.m4,$(MACOSX.build/)%,$(MACOSX.m4.in))
+MACOSX.m4.out = $(MACOSX.m4.in:$(MACOSX.src/)%.m4=$(MACOSX.build/)%)
+
+## optional special command to run post macro processing
+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))
@@ -12,6 +15,7 @@ MACOSX.conf = standard$(if $(filter 1,$(BUILD.cross)),.$(BUILD.arch))
###############################################################################
BUILD.out += $(MACOSX.m4.out)
+BUILD.out += $(MACOSX.m4.wc.out)
###############################################################################
@@ -30,10 +34,11 @@ MACOSX.XCODE = $(strip \
-project $(MACOSX.XCODE.project) \
-configuration $(MACOSX.conf) \
$(foreach t,$(1),-target $t) \
- EXTERNAL_BUILD='$(CURDIR)' \
+ EXTERNAL_SRC='$(XCODE.external.src)' \
+ EXTERNAL_BUILD='$(XCODE.external.build)' \
+ EXTERNAL_PREFIX='$(XCODE.external.prefix)' \
EXTERNAL_JOBS='$(BUILD.jobs)' \
EXTERNAL_METHOD='$(CONF.method)' \
- EXTERNAL_PROJECT='$(PROJECT/)' \
EXTERNAL_GOALS='$(3)' \
EXTERNAL_VARS='$(-*-command-variables-*-)' \
$(2) )
diff --git a/macosx/module.rules b/macosx/module.rules
index 9873e90e6..c6623649c 100644
--- a/macosx/module.rules
+++ b/macosx/module.rules
@@ -2,10 +2,14 @@ $(eval $(call import.MODULE.rules,MACOSX))
macosx.build: $(MACOSX.m4.out)
+macosx.clean:
+ $(RM.exe) -f $(MACOSX.m4.out)
+
$(MACOSX.m4.out): $(BUILD/)project/handbrake.m4
$(MACOSX.m4.out): | $(dir $(MACOSX.m4.out))
$(MACOSX.m4.out): $(MACOSX.build/)%: $(MACOSX.src/)%.m4
$(M4.exe) -Iproject $< > $@
+ $(MACOSX.m4.post.$(notdir $@))
###############################################################################
diff --git a/macosx/module.xcode b/macosx/module.xcode
index 81f661629..fc52b365e 100644
--- a/macosx/module.xcode
+++ b/macosx/module.xcode
@@ -20,7 +20,7 @@ xclean: clean
###############################################################################
-MACOSX.goals = $(filter-out build clean install xclean,$(MAKECMDGOALS))
+MACOSX.goals = $(filter-out build clean install,$(MAKECMDGOALS))
$(MACOSX.goals): __goals__
@true