From 6d95ab81984cc44296438270aa792255f037c89a Mon Sep 17 00:00:00 2001 From: konablend Date: Wed, 4 Jan 2012 09:41:11 +0000 Subject: 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 --- make/include/gcc.defs | 10 +--------- make/include/main.rules | 19 +++++++------------ 2 files changed, 8 insertions(+), 21 deletions(-) (limited to 'make/include') diff --git a/make/include/gcc.defs b/make/include/gcc.defs index c93d0babd..50b31f100 100644 --- a/make/include/gcc.defs +++ b/make/include/gcc.defs @@ -1,5 +1,5 @@ GCC.gcc = gcc -GCC.gxx = $(dir $(GCC.gcc))$(subst gcc,g++,$(notdir $(GCC.gcc))) +GCC.gxx = $(dir $(GCC.gcc))$(subst clang,clang++,$(subst gcc,g++,$(notdir $(GCC.gcc)))) GCC.strip = $$(if $$(filter none,$$(GCC.g)),1) GCC.dylib = 1 @@ -9,9 +9,7 @@ GCC.H = 0 GCC.W = all GCC.archs = GCC.sysroot = -GCC.ldsysroot = GCC.minver = -GCC.ldminver= GCC.vis = 0 GCC.pic = 0 ifndef GCC.g @@ -49,9 +47,7 @@ GCC.args.H = -H GCC.args.W = -W$(1) GCC.args.archs = -arch $(1) GCC.args.sysroot = --sysroot=$(1) -GCC.args.ldsysroot = -syslibroot $(1) GCC.args.minver = -mmacosx-version-min=$(1) -GCC.args.ldminver = -macosx_version_min $(1) GCC.args.vis = -fvisibility=hidden GCC.args.pic = -fPIC GCC.args.g.none = -g0 @@ -95,9 +91,7 @@ define import.GCC $(1).GCC.W = $$(GCC.W) $(1).GCC.archs = $$(GCC.archs) $(1).GCC.sysroot = $$(GCC.sysroot) - $(1).GCC.ldsysroot = $$(GCC.ldsysroot) $(1).GCC.minver = $$(GCC.minver) - $(1).GCC.ldminver = $$(GCC.ldminver) $(1).GCC.vis = $$(GCC.vis) $(1).GCC.pic = $$(GCC.pic) $(1).GCC.g = $$(GCC.g) @@ -131,9 +125,7 @@ define import.GCC $(1).GCC.args.W = $$(GCC.args.W) $(1).GCC.args.archs = $$(GCC.args.archs) $(1).GCC.args.sysroot = $$(GCC.args.sysroot) - $(1).GCC.args.ldsysroot = $$(GCC.args.ldsysroot) $(1).GCC.args.minver = $$(GCC.args.minver) - $(1).GCC.args.ldminver = $$(GCC.args.ldminver) $(1).GCC.args.vis = $$(GCC.args.vis) $(1).GCC.args.pic = $$(GCC.args.pic) $(1).GCC.args.g.none = $$(GCC.args.g.none) diff --git a/make/include/main.rules b/make/include/main.rules index 5a8d8acfb..158f24a9c 100644 --- a/make/include/main.rules +++ b/make/include/main.rules @@ -3,10 +3,9 @@ ############################################################################### -## file-wide conditional to use xcode rules if xcode=1 method=terminal -## xcodemake will set BUILD.method != terminal to prevent infinite recursion -ifeq (1:terminal,$(FEATURE.xcode):$(BUILD.method)) - include $(SRC/)macosx/module.xcode +## shunt make through xcodebuild when FEATURE.xcode=1 and XCODE.driver is applicable +ifeq (1:shunt,$(FEATURE.xcode):$(if $(filter bootstrap terminal,$(XCODE.driver)),shunt)) + include $(SRC/)macosx/module.xcodebuild else ## only included using special report targets @@ -40,19 +39,15 @@ include $(MODULES:%=$(SRC/)%/module.rules) ############################################################################### -## target which causes re-configure if project-root is svn update'd -$(BUILD/)GNUmakefile: $(wildcard $(SRC/).svn/entries) - $(SRC/)configure --force --conf-method=$(CONF.method) $(CONF.args) - -## target useful to force reconfigure; only helpful for build-system development +## force reconfigure .PHONY: reconfigure reconfigure: - $(SRC/)configure --force --conf-method=$(CONF.method) $(CONF.args) + $(SRC/)configure --force $(CONF.args) ############################################################################### -## target to build all dependency dirs +## build all dependency dirs $(sort $(dir $(BUILD.out))): $(MKDIR.exe) -p $@ -endif ## xcode=1 method=terminal +endif ## FEATURE.xcode XCODE.driver -- cgit v1.2.3