X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=SConstruct;h=79ac56b6f028e554a2d7df0a8372a87b9660f996;hb=a48a83ae5a017d103d9a410d8f63beb0ae918247;hp=f0c7f3fe0f87de4c473fc4da65c509d7b9d8d6d5;hpb=4bbfb6bffd3ecdf41bb3c8b73a0ca2eb000d7feb;p=ardour.git diff --git a/SConstruct b/SConstruct index f0c7f3fe0f..79ac56b6f0 100644 --- a/SConstruct +++ b/SConstruct @@ -16,7 +16,7 @@ import SCons.Node.FS SConsignFile() EnsureSConsVersion(0, 96) -version = '2.0beta9' +ardour_version = '2.0beta11.1' subst_dict = { } @@ -41,9 +41,10 @@ opts.AddOptions( PathOption('PREFIX', 'Set the install "prefix"', '/usr/local'), BoolOption('SURFACES', 'Build support for control surfaces', 1), BoolOption('SYSLIBS', 'USE AT YOUR OWN RISK: CANCELS ALL SUPPORT FROM ARDOUR AUTHORS: Use existing system versions of various libraries instead of internal ones', 0), + BoolOption('UNIVERSAL', 'Compile as universal binary. Requires that external libraries are already universal.', 0), BoolOption('VERSIONED', 'Add revision information to ardour/gtk executable name inside the build directory', 0), BoolOption('VST', 'Compile with support for VST', 0), - BoolOption('TRANZPORT', 'Compile with support for Frontier Designs (if libusb is available)', 0) + BoolOption('TRANZPORT', 'Compile with support for Frontier Designs (if libusb is available)', 1) ) #---------------------------------------------------------------------- @@ -76,11 +77,11 @@ class LibraryInfo(Environment): env = LibraryInfo (options = opts, CPPPATH = [ '.' ], - VERSION = version, - TARBALL='ardour-' + version + '.tar.bz2', + VERSION = ardour_version, + TARBALL='ardour-' + ardour_version + '.tar.bz2', DISTFILES = [ ], - DISTTREE = '#ardour-' + version, - DISTCHECKDIR = '#ardour-' + version + '/check' + DISTTREE = '#ardour-' + ardour_version, + DISTCHECKDIR = '#ardour-' + ardour_version + '/check' ) env.ENV_update(os.environ) @@ -311,7 +312,7 @@ env.Append (BUILDERS = {'VersionBuild' : version_bld}) # def versioned_builder(target,source,env): - w, r = os.popen2( "svn info | awk '/^Revision:/ { print $2}'") + w, r = os.popen2( "LANG= svn info | awk '/^Revision:/ { print $2}'") last_revision = r.readline().strip() w.close() @@ -574,12 +575,15 @@ if config[config_cpu] == 'powerpc' and env['DIST_TARGET'] != 'none': # if env['DIST_TARGET'] == 'panther' or env['DIST_TARGET'] == 'tiger': if config[config_arch] == 'apple': - opt_flags.extend ([ "-mcpu=7450", "-faltivec"]) + ## opt_flags.extend ([ "-mcpu=7450", "-faltivec"]) + # to support g3s but still have some optimization for above + opt_flags.extend ([ "-mcpu=G3", "-mtune=7450"]) else: opt_flags.extend ([ "-mcpu=7400", "-maltivec", "-mabi=altivec"]) else: opt_flags.extend([ "-mcpu=750", "-mmultiple" ]) opt_flags.extend (["-mhard-float", "-mpowerpc-gfxopt"]) + opt_flags.extend (["-Os"]) elif ((re.search ("i[0-9]86", config[config_cpu]) != None) or (re.search ("x86_64", config[config_cpu]) != None)) and env['DIST_TARGET'] != 'none': @@ -628,6 +632,13 @@ if env['FPU_OPTIMIZATION']: print "\nWarning: you are building Ardour with SSE support even though your system does not support these instructions. (This may not be an error, especially if you are a package maintainer)" # end optimization section +# handle x86/x86_64 libdir properly + +if env['DIST_TARGET'] == 'x86_64': + env['LIBDIR']='lib64' +else: + env['LIBDIR']='lib' + # # save off guessed arch element in an env # @@ -649,13 +660,20 @@ opt_flags[:0] = [ "-O3", "-fomit-frame-pointer", "-ffast-math", - "-fstrength-reduce" + "-fstrength-reduce", + "-pipe" ] if env['DEBUG'] == 1: env.Append(CCFLAGS=" ".join (debug_flags)) + env.Append(LINKFLAGS=" ".join (debug_flags)) else: env.Append(CCFLAGS=" ".join (opt_flags)) + env.Append(LINKFLAGS=" ".join (opt_flags)) + +if env['UNIVERSAL'] == 1: + env.Append(CCFLAGS="-arch i386 -arch ppc") + env.Append(LINKFLAGS="-arch i386 -arch ppc") # # warnings flags @@ -665,8 +683,9 @@ env.Append(CCFLAGS="-Wall") env.Append(CXXFLAGS="-Woverloaded-virtual") if env['EXTRA_WARN']: - env.Append(CCFLAGS="-Wextra -pedantic") + env.Append(CCFLAGS="-Wextra -pedantic -ansi") env.Append(CXXFLAGS="-ansi") +# env.Append(CFLAGS="-iso") if env['LIBLO']: env.Append(CCFLAGS="-DHAVE_LIBLO") @@ -819,7 +838,7 @@ if env['SYSLIBS']: libraries['sndfile-ardour'] = LibraryInfo(LIBS='libsndfile-ardour', LIBPATH='#libs/libsndfile', - CPPPATH=['#libs/libsndfile', '#libs/libsndfile/src']) + CPPPATH=['#libs/libsndfile/src']) # libraries['libglademm'] = LibraryInfo() # libraries['libglademm'].ParseConfig ('pkg-config --cflags --libs libglademm-2.4') @@ -827,6 +846,8 @@ if env['SYSLIBS']: # libraries['flowcanvas'] = LibraryInfo(LIBS='flowcanvas', LIBPATH='#/libs/flowcanvas', CPPPATH='#libs/flowcanvas') libraries['soundtouch'] = LibraryInfo() libraries['soundtouch'].ParseConfig ('pkg-config --cflags --libs soundtouch-1.0') + # Comment the previous line and uncomment this for Debian: + #libraries['soundtouch'].ParseConfig ('pkg-config --cflags --libs libSoundTouch') libraries['appleutility'] = LibraryInfo(LIBS='libappleutility', LIBPATH='#libs/appleutility', @@ -937,11 +958,14 @@ else: # its included in the tarball # -surface_subdirs = [ 'libs/surfaces/control_protocol', 'libs/surfaces/generic_midi', 'libs/surfaces/tranzport' ] +surface_subdirs = [ 'libs/surfaces/control_protocol', 'libs/surfaces/generic_midi', 'libs/surfaces/tranzport', 'libs/surfaces/mackie' ] if env['SURFACES']: if have_libusb: - env['TRANZPORT'] = 'yes' + env['TRANZPORT'] = 1 + else: + env['TRANZPORT'] = 0 + print 'Disabled building Tranzport code because libusb could not be found' if os.access ('libs/surfaces/sony9pin', os.F_OK): surface_subdirs += [ 'libs/surfaces/sony9pin' ] @@ -1024,7 +1048,7 @@ env = conf.Finish() if env['NLS'] == 1: env.Append(CCFLAGS="-DENABLE_NLS") -Export('env install_prefix final_prefix config_prefix final_config_prefix libraries i18n version subst_dict') +Export('env install_prefix final_prefix config_prefix final_config_prefix libraries i18n ardour_version subst_dict') # # the configuration file may be system dependent @@ -1048,6 +1072,13 @@ if not conf.CheckFunc('posix_memalign'): env = conf.Finish() rcbuild = env.SubstInFile ('ardour.rc','ardour.rc.in', SUBST_DICT = subst_dict) +subst_dict['%VERSION%'] = ardour_version[0:3] +subst_dict['%EXTRA_VERSION%'] = ardour_version[3:] +subst_dict['%REVISION_STRING%'] = '' +if os.path.exists('.svn'): + subst_dict['%REVISION_STRING%'] = '.' + fetch_svn_revision ('.') + 'svn' + +specbuild = env.SubstInFile ('ardour.spec','ardour.spec.in', SUBST_DICT = subst_dict) the_revision = env.Command ('frobnicatory_decoy', [], create_stored_revision) @@ -1065,6 +1096,7 @@ env.Distribute (env['DISTTREE'], [ 'SConstruct', 'svn_revision.h', 'COPYING', 'PACKAGER_README', 'README', 'ardour.rc.in', + 'ardour.spec', 'ardour_system.rc', 'tools/config.guess', 'icons/icon/ardour_icon_mac_mask.png',