summaryrefslogtreecommitdiffstats
path: root/macosx/module.defs
diff options
context:
space:
mode:
authorkonablend <[email protected]>2012-01-04 09:41:11 +0000
committerkonablend <[email protected]>2012-01-04 09:41:11 +0000
commit6d95ab81984cc44296438270aa792255f037c89a (patch)
tree842d42f935c31a5ec8c1529605cd0226d5d29197 /macosx/module.defs
parentaad50499b32c44d28a6bae7f353b579e24564e25 (diff)
BuildSystem: Mac OS X - transition to Xcode4
- transition from Xcode3 to Xcode4 - overhaul HandBrake.xcodeproj file - simplify down to 2 configurations: debug, release - add xcconfig for useful variants: osx106.i386, osx106.x86_64, osx107.i386, osx107.x86_64 - add configure --xcode-config as preferred method to choose OSX minimum version and SDK - overhaul Info.plist generation to use m4 instead of cpp - remove use of direct static libraries on command line - Xcode4 now enables -search_paths_first by default - reference external build static libraries project file - greatly simplifying project file maintenance - update universal build targets to use --xcode-config - update ffmpeg hack to build on i386 in both debug and optimized modes - update ffmpeg build to show compile verbosity - enable local yasm when yasm probe fails - remove unused GCC.ldsysroot - remove unused GCC.ldminver - enhance xcodemake to use --sysroot, --minver - update/regenerate docs accordingly - add support for configure-time repo probe when svn repo is incompatible format to Xcode via .svn/HANDBRAKE_REPO_PROBE - replaced make/test/build.matrix.darwin with make/test/build.matrix git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4395 b64f7644-9d1e-0410-96f1-a4d463321fa5
Diffstat (limited to 'macosx/module.defs')
-rw-r--r--macosx/module.defs59
1 files changed, 29 insertions, 30 deletions
diff --git a/macosx/module.defs b/macosx/module.defs
index d92160f93..ff1dff762 100644
--- a/macosx/module.defs
+++ b/macosx/module.defs
@@ -7,22 +7,6 @@ MACOSX.build/ = $(BUILD/)macosx/
MACOSX.m4.in = $(wildcard $(MACOSX.src/)*.m4)
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
-
-## 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)).$(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
-
###############################################################################
BUILD.out += $(MACOSX.m4.out)
@@ -30,8 +14,20 @@ BUILD.out += $(MACOSX.m4.wc.out)
###############################################################################
-MACOSX.XCODE.exe = xcodebuild
-MACOSX.XCODE.project = HandBrake.xcodeproj
+MACOSX.project = -project $(MACOSX.src/)HandBrake.xcodeproj
+
+## configuration: must be one of { release, debug }
+MACOSX.configuration = -configuration $(MACOSX.map.g.$(MACOSX.GCC.g))
+
+## mapping from symbolic debug value to xcode configuration
+MACOSX.map.g.none = release
+MACOSX.map.g.min = debug
+MACOSX.map.g.std = debug
+MACOSX.map.g.max = debug
+
+## xcconfig: must be one of macosx/xcconfig/*.xcconfig
+MACOSX.xcconfig = $(foreach x,$(XCODE.xcconfig),-xcconfig $(MACOSX.src/)xcconfig/$(x))
+MACOSX.sdk = $(foreach sdk,$(GCC.sysroot),-sdk $(sdk))
## launch a build thru xcode; which in turn will do a nested make against
## this build system with normal build rules enabled.
@@ -39,20 +35,23 @@ MACOSX.XCODE.project = HandBrake.xcodeproj
## $(1) = list of targets
## $(2) = list of goals to shunt thru xcodebuild->make
##
-XCODE.sysroot = $(foreach sdk,$(GCC.sysroot),-sdk $(sdk))
+
MACOSX.XCODE = $(strip \
- cd $(MACOSX.src/) && \
- $(MACOSX.XCODE.exe) \
- -project $(MACOSX.XCODE.project) \
- -configuration $(MACOSX.conf) \
- $(XCODE.sysroot) \
+ $(XCODEBUILD.exe) \
+ $(MACOSX.project) \
$(foreach t,$(1),-target $t) \
- EXTERNAL_SRC='$(XCODE.external.src)' \
- EXTERNAL_BUILD='$(XCODE.external.build)' \
- EXTERNAL_PREFIX='$(XCODE.external.prefix)' \
- EXTERNAL_JOBS='$(BUILD.jobs)' \
- EXTERNAL_METHOD='$(CONF.method)' \
- EXTERNAL_CONFARGS='$(CONF.args)' \
+ $(MACOSX.configuration) \
+ $(MACOSX.xcconfig) \
+ \
+ SYMROOT='$(XCODE.symroot)' \
+ CONFIGURATION_BUILD_DIR='$(XCODE.symroot)' \
+ CONFIGURATION_TEMP_DIR='$(XCODE.symroot)' \
+ \
+ EXTERNAL_BUILD='$(abspath $(BUILD))' \
+ EXTERNAL_CONF_ARGS='$(CONF.args)' \
+ EXTERNAL_DRIVER='$(XCODE.driver)' \
EXTERNAL_GOALS='$(3)' \
+ EXTERNAL_JOBS='$(BUILD.jobs)' \
EXTERNAL_VARS='$(-*-command-variables-*-)' \
+ \
$(2) )