diff options
author | konablend <[email protected]> | 2009-03-08 22:50:57 +0000 |
---|---|---|
committer | konablend <[email protected]> | 2009-03-08 22:50:57 +0000 |
commit | 083ba4898a662cd50a86d2a65ca5ebe765fe882d (patch) | |
tree | c2460805275e7b23dd03965df15beecc7ac4589b /make/variant | |
parent | 92d511d944b059caaf6c5e85fcb5202642aa4553 (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 'make/variant')
-rw-r--r-- | make/variant/darwin.defs | 55 | ||||
-rw-r--r-- | make/variant/darwin.rules | 2 | ||||
-rw-r--r-- | make/variant/freebsd.defs | 5 |
3 files changed, 19 insertions, 43 deletions
diff --git a/make/variant/darwin.defs b/make/variant/darwin.defs index 6f8f6729d..baffda595 100644 --- a/make/variant/darwin.defs +++ b/make/variant/darwin.defs @@ -1,40 +1,9 @@ -## UB build support -## -## PROCEDURE: -## -## 1. Perform a build (let us call it arch-X). -## 2. cd into arch-X's build/ driectory. -## 3. Launch builds of the remaining architectures. -## We compute $(UB.archs.other) to be the remaining archs to build. -## The entire list is defined $(UB.archs) . -## 4. Combine other architectures into arch-X's binaries. -## -## EXAMPLE: serial method, archs: i386,x86_64,ppc,ppc64 -## -## ./configure --launch -## cd build/ -## make ub.build.serial -## make ub.combine -## -## EXAMPLE: parallel method, archs: i386,x86_64,ppc,ppc64 -## -## ./configure --launch -## cd build/ -## make ub.build.parallel -## make ub.combine -## -## EXAMPLE: serial, archs: i386,x86_64 (assuming i386 is native) -## -## ./configure --launch -## cd build/ -## make ub.build.parallel UB.archs="i386 x86_64" -## make ub.combine UB.archs="i386 x86_64" -## -UB.archs = i386 x86_64 ppc ppc64 -UB.archs.other = $(filter-out $(BUILD.arch),$(UB.archs)) -UB.builds = $(wildcard $(foreach n,$(UB.archs.other),$(PROJECT/)build.$n)) +UB.archs = i386 x86_64 ppc ppc64 +UB.builds = $(wildcard $(foreach n,$(UB.archs),$(SRC/)build.$n)) +UB.first = $(word 1,$(UB.archs)) +UB.other = $(wordlist 2,999,$(UB.archs)) -UB.BUILD = $(PROJECT/)configure --launch --launch-dir=ub.$(1) --arch=$(1) +UB.BUILD = $(SRC/)configure --build=ub.$(1) --arch=$(1) --launch --launch-quiet ## linefeed is important define UB.BUILD.item @@ -43,19 +12,21 @@ define UB.BUILD.item endef define UB.BUILD.SERIAL - $(foreach n,$(UB.archs.other),$(call UB.BUILD.item,$n)) + $(foreach n,$(UB.archs),$(call UB.BUILD.item,$n)) endef define UB.BUILD.PARALLEL - $(call UB.BUILD,$(1)) 2>&1 > ub.$(1).log + $(call UB.BUILD,$(1)) >/dev/null 2>&1 endef define UB.COMBINE $(RM.exe) -fr ub.combine $(MKDIR.exe) -p ub.combine - $(CP.exe) -R HandBrake.app ub.combine/. - lipo $(1) $(foreach n,$(UB.archs.other),ub.$n/$(1)) -create -output ub.combine/$(1) + $(CP.exe) -R ub.$(UB.first)/HandBrake.app ub.combine/. + $(LIPO.exe) $(foreach n,$(UB.archs),ub.$n/$(1)) -create -output ub.combine/$(1) + @lipo -info ub.combine/$(1) + @sync @echo "" - @sync; lipo -info ub.combine/$(1) - @du -sh ub.combine/$(1) + @echo "$@: { $(UB.archs) } combined -> ub.combine/HandBrake.app" + @echo "$@: UB executable size: `du -sh ub.combine/$(1) | awk '{ print $$1 }'`" endef diff --git a/make/variant/darwin.rules b/make/variant/darwin.rules index c4f4f97a4..d59a222b4 100644 --- a/make/variant/darwin.rules +++ b/make/variant/darwin.rules @@ -5,7 +5,7 @@ ub.build.serial: ub.build.parallel: @set -e; \ - for arch in $(UB.archs.other); do \ + for arch in $(UB.archs); do \ $(call UB.BUILD.PARALLEL,$$arch) & \ children="$$children $$!"; \ echo "pid $$!: $(call UB.BUILD.PARALLEL,$$arch)"; \ diff --git a/make/variant/freebsd.defs b/make/variant/freebsd.defs index c58706ba1..9a807b8d4 100644 --- a/make/variant/freebsd.defs +++ b/make/variant/freebsd.defs @@ -2,3 +2,8 @@ TARGET.dylib.ext = .so GCC.args.dylib = -shared GCC.args.pic = 1 + +GCC.args.g.none = -g0 +GCC.args.g.min = -g1 +GCC.args.g.default = -g2 +GCC.args.g.max = -g3 |