summaryrefslogtreecommitdiffstats
path: root/make/include/gcc.defs
diff options
context:
space:
mode:
authorkonablend <[email protected]>2009-03-01 17:03:11 +0000
committerkonablend <[email protected]>2009-03-01 17:03:11 +0000
commit4dbce6b69967c1e14092637aa95b6c31855a81fc (patch)
tree516c17095967698eeb419c70ce72dbd2c11bf754 /make/include/gcc.defs
parentc47939541ccec1e5e57753b16b28baed2613f586 (diff)
BuildSystem: conversion from jam-based to make-based system.
KNOWN ISSUES: 1. OSX + Xcode builds do not support parallel builds; attempting to use them may cause unbounded number of jobs. However, disabling via configure --disable-xcode avoids the issue. 2. OSX ppc binary produces binary which has audio-scan problems. 3. OSX ppc64 binary has not been runtime tested. ADDED: 00-BuildUserGuide.txt contrib/*/module.* doc/ make/ libhb/module.* test/module.* macos/module.* gtk/module.* DROPPED: BUILD BuildContribDarwin.sh DownloadMacOsXContribBinaries.sh Jamfile Jamrules MacOsXContribBinariesVersion.txt Makefile Makefile.config jam libhb/Jamefile libhb/Makefile test/BUILDSHARED test/Makefile contrib/Jamfile contrib/Makefile contrib/patch-ffmpeg.patch contrib/patch-x264-idr.patch contrib/patch-x264-linux.patch RENAMED: contrib/*.patch -> contrib/MODULE/[AP]??-*.patch macosx/HandBrake.plist -> macosx/Info.plist MODIFIED: libhb/decavcodec.c Patched to use cleaner include "libavcodec/audioconvert". Second part to support this cleanup is ffmpeg A02-audioconvert.patch . MODIFIED: libhb/hb.c MODIFIED: libhb/hb.h MODIFIED: libhb/muxmkv.c MODIFIED: libhb/muxmp4.c MODIFIED: libhb/update.c Patched to use "project.h" for project metadata. Renamed HB_BUILD -> HB_PROJECT_BUILD. Renamed HB_VERSION -> HB_PROJECT_VERSION. MODIFIED: test/test.c: Patched HandBrakeCLI to support I/O on Mac OS X ZFS filesystems. Reference r1803 as similar patch for HandBrake.app . Unpatched behavior is crash/buserror when using ZFS. MODIFIED: macosx/Growl.framework/ Upgraded 0.7.6 (i386,ppc) -> 1.1.2 (i386,x86_64,ppc,ppc64). New architectures facilitate x86_64 and ppc64 builds. MODIFIED: macosx/HandBrake.xcodeproj/ Bumped compatibilty mode from 2.4 -> 3.1 . Dumped old configurations Deployment, Developer. Added configurations standard, sebug as replacements. Added standard.i386, standard.x86_64, standard.ppc, standard.ppc64 . for explicit architecture build. All configurations settings cleaned up and normalized. Build output directories adjusted to support new build system. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2180 b64f7644-9d1e-0410-96f1-a4d463321fa5
Diffstat (limited to 'make/include/gcc.defs')
-rw-r--r--make/include/gcc.defs146
1 files changed, 146 insertions, 0 deletions
diff --git a/make/include/gcc.defs b/make/include/gcc.defs
new file mode 100644
index 000000000..4ed746392
--- /dev/null
+++ b/make/include/gcc.defs
@@ -0,0 +1,146 @@
+GCC.gcc = gcc
+GCC.gxx = $(dir $(GCC.gcc))$(subst gcc,g++,$(notdir $(GCC.gcc)))
+
+GCC.strip = $$(if $$(filter none,$$(GCC.g)),1)
+GCC.dylib = 1
+GCC.pipe = 1
+GCC.ML = 1
+GCC.H = 0
+GCC.W = all
+GCC.archs =
+GCC.vis = 0
+GCC.pic = 0
+GCC.g = none
+GCC.O = none
+GCC.D =
+GCC.I =
+GCC.muldefs = 0
+GCC.start = 0
+GCC.a =
+GCC.F =
+GCC.f =
+GCC.L =
+GCC.l =
+GCC.end = 0
+
+GCC.args.pipe = -pipe
+GCC.args.strip = -Wl,-S
+GCC.args.dylib = -dynamiclib
+GCC.args.ML = -fmessage-length=0
+GCC.args.H = -H
+GCC.args.W = -W$(1)
+GCC.args.archs = -arch $(1)
+GCC.args.vis = -fvisibility=hidden
+GCC.args.pic = -fPIC
+GCC.args.g.none = -g0
+GCC.args.g.min = -gdwarf-2 -g1
+GCC.args.g.std = -gdwarf-2
+GCC.args.g.max = -gdwarf-2 -g3
+GCC.args.O.none = -O0
+GCC.args.O.size = -Os
+GCC.args.O.speed = -O3
+GCC.args.D = -D$(1)
+GCC.args.I = -I$(1)
+GCC.args.muldefs = -Wl,--allow-multiple-definition
+GCC.args.start = -Wl,--start-group
+GCC.args.F = -F$(1)
+GCC.args.f = -framework $(1)
+GCC.args.L = -L$(1)
+GCC.args.l = -l$(1)
+GCC.args.end = -Wl,--end-group
+
+###############################################################################
+
+define import.GCC
+ $(1).GCC.gcc = $$(GCC.gcc)
+ $(1).GCC.gxx = $$(dir $$($(1).GCC.gcc))$$(subst gcc,g++,$$(notdir $$($(1).GCC.gcc)))
+
+ $(1).GCC.pipe = $$(GCC.pipe)
+ $(1).GCC.strip = $$(if $$(filter none,$$($(1).GCC.g)),1)
+ $(1).GCC.dylib = $$(GCC.dylib)
+ $(1).GCC.ML = $$(GCC.ML)
+ $(1).GCC.H = $$(GCC.H)
+ $(1).GCC.W = $$(GCC.W)
+ $(1).GCC.archs = $$(GCC.archs)
+ $(1).GCC.vis = $$(GCC.vis)
+ $(1).GCC.pic = $$(GCC.pic)
+ $(1).GCC.g = $$(GCC.g)
+ $(1).GCC.O = $$(GCC.O)
+ $(1).GCC.D = $$(GCC.D)
+ $(1).GCC.I = $$(GCC.I)
+ $(1).GCC.muldefs = $$(GCC.muldefs)
+ $(1).GCC.start = $$(GCC.start)
+ $(1).GCC.a = $$(GCC.a)
+ $(1).GCC.F = $$(GCC.F)
+ $(1).GCC.f = $$(GCC.f)
+ $(1).GCC.L = $$(GCC.L)
+ $(1).GCC.l = $$(GCC.l)
+ $(1).GCC.end = $$(GCC.end)
+
+ $(1).GCC.args.pipe = $$(GCC.args.pipe)
+ $(1).GCC.args.strip = $$(GCC.args.strip)
+ $(1).GCC.args.dylib = $$(GCC.args.dylib)
+ $(1).GCC.args.ML = $$(GCC.args.ML)
+ $(1).GCC.args.H = $$(GCC.args.H)
+ $(1).GCC.args.W = $$(GCC.args.W)
+ $(1).GCC.args.archs = $$(GCC.args.archs)
+ $(1).GCC.args.vis = $$(GCC.args.vis)
+ $(1).GCC.args.pic = $$(GCC.args.pic)
+ $(1).GCC.args.g.none = $$(GCC.args.g.none)
+ $(1).GCC.args.g.min = $$(GCC.args.g.min)
+ $(1).GCC.args.g.std = $$(GCC.args.g.std)
+ $(1).GCC.args.g.max = $$(GCC.args.g.max )
+ $(1).GCC.args.O.none = $$(GCC.args.O.none)
+ $(1).GCC.args.O.size = $$(GCC.args.O.size)
+ $(1).GCC.args.O.speed = $$(GCC.args.O.speed)
+ $(1).GCC.args.D = $$(GCC.args.D)
+ $(1).GCC.args.I = $$(GCC.args.I)
+ $(1).GCC.args.muldefs = $$(GCC.args.muldefs)
+ $(1).GCC.args.start = $$(GCC.args.start)
+ $(1).GCC.args.F = $$(GCC.args.F)
+ $(1).GCC.args.f = $$(GCC.args.f)
+ $(1).GCC.args.L = $$(GCC.args.L)
+ $(1).GCC.args.l = $$(GCC.args.l)
+ $(1).GCC.args.end = $$(GCC.args.end)
+
+ ###########################################################################
+
+ $(1).GCC.c = -c $$(4)
+ $(1).GCC.o = -o $$(3)
+
+ # FUNCTION: C precompiled headers
+ $(1).GCC.H_O.args = !gcc ?pipe ?ML ?H *W *archs ?vis ?pic .g .O *D *I !c !o
+ $(1).GCC.H_O = $$(call fn.ARGS,$(1).GCC,$$($(1).GCC.H_O.args),$$(1),$$(2))
+
+ # FUNCTION: C compile source
+ $(1).GCC.C_O.args = !gcc ?pipe ?ML ?H *W *archs ?vis ?pic .g .O *D *I !c !o
+ $(1).GCC.C_O = $$(call fn.ARGS,$(1).GCC,$$($(1).GCC.C_O.args),$$(1),$$(2))
+
+ # FUNCTION: C++ precompile headers
+ $(1).GCC.HPP_O.args = !gxx ?pipe ?ML ?H *W *archs ?vis ?pic .g .O *D *I !c !o
+ $(1).GCC.HPP_O = $$(call fn.ARGS,$(1).GCC,$$($(1).GCC.HPP_O.args),$$(1),$$(2))
+
+ # FUNCTION: C++ compile source
+ $(1).GCC.CPP_O.args = !gxx ?pipe ?ML ?H *W *archs ?vis ?pic .g .O *D *I !c !o
+ $(1).GCC.CPP_O = $$(call fn.ARGS,$(1).GCC,$$($(1).GCC.CPP_O.args),$$(1),$$(2))
+
+ ###########################################################################
+
+ $(1).GCC.i = $$(4)
+
+ # FUNCTION: C link dynamic-lib
+ $(1).GCC.DYLIB.args = !gcc ?pipe ?strip ?dylib ?ML *W *archs ?vis ?pic .g .O *D *I !o ?muldefs ?start !i *F *f *L *l *i !a ?end
+ $(1).GCC.DYLIB = $$(call fn.ARGS,$(1).GCC,$$($(1).GCC.DYLIB.args),$$(1),$$(2))
+
+ # FUNCTION: C link executable
+ $(1).GCC.EXE.args = !gcc ?pipe ?strip ?ML *W *archs ?vis ?pic .g .O *D *I !o ?muldefs ?start !i *F *f *L *l *i !a ?end
+ $(1).GCC.EXE = $$(call fn.ARGS,$(1).GCC,$$($(1).GCC.EXE.args),$$(1),$$(2))
+
+ # FUNCTION: C++ link dynamic-lib
+ $(1).GCC.DYLIB++.args = !gxx ?pipe ?strip ?dylib ?ML *W *archs ?vis ?pic .g .O *D *I !o ?muldefs ?start !i *F *f *L *l *i !a ?end
+ $(1).GCC.DYLIB++ = $$(call fn.ARGS,$(1).GCC,$$($(1).GCC.DYLIB++.args),$$(1),$$(2))
+
+ # FUNCTION: C++ link executable
+ $(1).GCC.EXE++.args = !gxx ?pipe ?strip ?ML *W *archs ?vis ?pic .g .O *D *I !o ?muldefs ?start !i *F *f *L *l *i !a ?end
+ $(1).GCC.EXE++ = $$(call fn.ARGS,$(1).GCC,$$($(1).GCC.EXE++.args),$$(1),$$(2))
+endef