diff options
Diffstat (limited to 'make')
-rw-r--r-- | make/configure.py | 21 | ||||
-rw-r--r-- | make/include/contrib.defs | 8 | ||||
-rw-r--r-- | make/include/gcc.defs | 32 |
3 files changed, 49 insertions, 12 deletions
diff --git a/make/configure.py b/make/configure.py index 4b98b9bf3..9580bfbb1 100644 --- a/make/configure.py +++ b/make/configure.py @@ -199,6 +199,15 @@ class Configure( object ): self.src_dir = os.path.normpath( options.src ) self.build_dir = os.path.normpath( options.build ) self.prefix_dir = os.path.normpath( options.prefix ) + if options.sysroot != None: + self.sysroot_dir = os.path.normpath( options.sysroot ) + else: + self.sysroot_dir = "" + + if options.minver != None: + self.minver = options.minver + else: + self.minver = "" ## special case if src == build: add build subdir if os.path.abspath( self.src_dir ) == os.path.abspath( self.build_dir ): @@ -943,6 +952,9 @@ def createCLI(): ## add install options grp = OptionGroup( cli, 'Directory Locations' ) + h = IfHost( 'specify sysroot (e.g. for Leopard builds from Snow Leapard)', '*-*-darwin*', none=optparse.SUPPRESS_HELP ).value + grp.add_option( '--sysroot', default=None, action='store', metavar='DIR', + help=h ) grp.add_option( '--src', default=cfg.src_dir, action='store', metavar='DIR', help='specify top-level source dir [%s]' % (cfg.src_dir) ) grp.add_option( '--build', default=cfg.build_dir, action='store', metavar='DIR', @@ -986,6 +998,9 @@ def createCLI(): arch.mode.cli_add_option( grp, '--arch' ) grp.add_option( '--cross', default=None, action='store', metavar='SPEC', help='specify GCC cross-compilation spec' ) + h = IfHost( 'Min OS X Version', '*-*-darwin*', none=optparse.SUPPRESS_HELP ).value + grp.add_option( '--minver', default=None, action='store', metavar='VER', + help=h ) cli.add_option_group( grp ) ## add tool locations @@ -1301,8 +1316,14 @@ try: doc.addBlank() if build.match( '*-*-darwin*' ): doc.add( 'GCC.archs', arch.mode.mode ) + doc.add( 'GCC.sysroot', cfg.sysroot_dir ) + doc.add( 'GCC.minver', cfg.minver ) else: doc.add( 'GCC.archs', '' ) + doc.add( 'GCC.sysroot', '' ) + doc.add( 'GCC.minver', '' ) + doc.add( 'GCC.ldsysroot', '$(GCC.sysroot)' ) + doc.add( 'GCC.ldminver', '$(GCC.minver)' ) doc.add( 'GCC.g', debugMode.mode ) doc.add( 'GCC.O', optimizeMode.mode ) diff --git a/make/include/contrib.defs b/make/include/contrib.defs index 2b7d6223c..fcff27356 100644 --- a/make/include/contrib.defs +++ b/make/include/contrib.defs @@ -83,11 +83,11 @@ define import.CONTRIB.defs $(1).CONFIGURE.args = !sete @dir !bootstrap !env !exe @host @prefix !deps !shared !static !extra $(1).CONFIGURE.env.CC = CC=$$($(1).GCC.gcc) - $(1).CONFIGURE.env.CFLAGS = CFLAGS="$$(call fn.ARGS,$(1).GCC,*archs ?extra)" + $(1).CONFIGURE.env.CFLAGS = CFLAGS="$$(call fn.ARGS,$(1).GCC,*archs *sysroot *minver ?extra)" $(1).CONFIGURE.env.CXX = CXX=$$($(1).GCC.gxx) - $(1).CONFIGURE.env.CXXFLAGS = CXXFLAGS="$$(call fn.ARGS,$(1).GCC,*archs ?extra)" - $(1).CONFIGURE.env.CPPFLAGS = CPPFLAGS="$$(call fn.ARGS,$(1).GCC,*archs ?extra)" - $(1).CONFIGURE.env.LDFLAGS = LDFLAGS="$$(call fn.ARGS,$(1).GCC,*archs)" + $(1).CONFIGURE.env.CXXFLAGS = CXXFLAGS="$$(call fn.ARGS,$(1).GCC,*archs *sysroot *minver ?extra)" + $(1).CONFIGURE.env.CPPFLAGS = CPPFLAGS="$$(call fn.ARGS,$(1).GCC,*archs *sysroot *minver ?extra)" + $(1).CONFIGURE.env.LDFLAGS = LDFLAGS="$$(call fn.ARGS,$(1).GCC,*archs *sysroot *minver)" $(1).CONFIGURE.env.args = !CC !CFLAGS !CXX !CXXFLAGS !CPPFLAGS !LDFLAGS $(1).CONFIGURE.env = $$(call fn.ARGS,$(1).CONFIGURE.env,$$($(1).CONFIGURE.env.args)) diff --git a/make/include/gcc.defs b/make/include/gcc.defs index f9511d1b5..a9523ddde 100644 --- a/make/include/gcc.defs +++ b/make/include/gcc.defs @@ -8,6 +8,10 @@ GCC.ML = 1 GCC.H = 0 GCC.W = all GCC.archs = +GCC.sysroot = +GCC.ldsysroot = +GCC.minver = +GCC.ldminver= GCC.vis = 0 GCC.pic = 0 GCC.g = none @@ -40,6 +44,10 @@ GCC.args.ML = -fmessage-length=0 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 @@ -82,6 +90,10 @@ define import.GCC $(1).GCC.H = $$(GCC.H) $(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) @@ -114,6 +126,10 @@ define import.GCC $(1).GCC.args.H = $$(GCC.args.H) $(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) @@ -149,19 +165,19 @@ define import.GCC $(1).GCC.o = -o $$(3) # FUNCTION: C precompiled headers - $(1).GCC.H_O.args = !gcc ?pipe ?ML ?H *W *archs ?vis ?pic .g .O ?extra ?extra.h_o *D *I !c !o + $(1).GCC.H_O.args = !gcc ?pipe ?ML ?H *W *archs *sysroot *minver ?vis ?pic .g .O ?extra ?extra.h_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 ?extra ?extra.c_o *D *I !c !o + $(1).GCC.C_O.args = !gcc ?pipe ?ML ?H *W *archs *sysroot *minver ?vis ?pic .g .O ?extra ?extra.c_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 ?extra ?extra.hpp_o *D *I !c !o + $(1).GCC.HPP_O.args = !gxx ?pipe ?ML ?H *W *archs *sysroot *minver ?vis ?pic .g .O ?extra ?extra.hpp_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 ?extra ?extra.cpp_o *D *I !c !o + $(1).GCC.CPP_O.args = !gxx ?pipe ?ML ?H *W *archs *sysroot *minver ?vis ?pic .g .O ?extra ?extra.cpp_o *D *I !c !o $(1).GCC.CPP_O = $$(call fn.ARGS,$(1).GCC,$$($(1).GCC.CPP_O.args),$$(1),$$(2)) ########################################################################### @@ -169,18 +185,18 @@ define import.GCC $(1).GCC.i = $$(4) # FUNCTION: C link dynamic-lib - $(1).GCC.DYLIB.args = !gcc ?pipe ?strip ?dylib ?extra.dylib ?ML *W *archs ?vis ?pic .g .O ?extra *D *I !o ?muldefs ?start !i *F *f *L *l *i !a ?end + $(1).GCC.DYLIB.args = !gcc ?pipe ?strip ?dylib ?extra.dylib ?ML *W *archs *sysroot *minver ?vis ?pic .g .O ?extra *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 ?extra.exe ?ML *W *archs ?vis ?pic .g .O ?extra *D *I !o ?muldefs ?start !i *F *f *L *l *i !a ?end + $(1).GCC.EXE.args = !gcc ?pipe ?strip ?extra.exe ?ML *W *archs *sysroot *minver ?vis ?pic .g .O ?extra *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 ?extra.dylib++ ?ML *W *archs ?vis ?pic .g .O ?extra *D *I !o ?muldefs ?start !i *F *f *L *l *i !a ?end + $(1).GCC.DYLIB++.args = !gxx ?pipe ?strip ?dylib ?extra.dylib++ ?ML *W *arch *sysroot *minvers ?vis ?pic .g .O ?extra *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 ?extra.exe++ ?ML *W *archs ?vis ?pic .g .O ?extra *D *I !o ?muldefs ?start !i *F *f *L *l *i !a ?end + $(1).GCC.EXE++.args = !gxx ?pipe ?strip ?extra.exe++ ?ML *W *archs *sysroot *minver ?vis ?pic .g .O ?extra *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 |