diff options
author | konablend <[email protected]> | 2012-01-04 09:41:11 +0000 |
---|---|---|
committer | konablend <[email protected]> | 2012-01-04 09:41:11 +0000 |
commit | 6d95ab81984cc44296438270aa792255f037c89a (patch) | |
tree | 842d42f935c31a5ec8c1529605cd0226d5d29197 /macosx/module.defs | |
parent | aad50499b32c44d28a6bae7f353b579e24564e25 (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.defs | 59 |
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) ) |