X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=SConstruct;h=5e37b5bfb4526ede6cc3dea5778952473e246b93;hb=989dbbb95d7abe70ac3d64451731234cc68b2223;hp=95fa911a8df9b9880eede3596d14220daedda7c0;hpb=3a716d2b9035a136a0bfa405dd20c2a1b47dde07;p=ardour.git diff --git a/SConstruct b/SConstruct index 95fa911a8d..5e37b5bfb4 100644 --- a/SConstruct +++ b/SConstruct @@ -16,7 +16,7 @@ import SCons.Node.FS SConsignFile() EnsureSConsVersion(0, 96) -ardour_version = '2.0beta11.1' +ardour_version = '2.1pre' subst_dict = { } @@ -29,7 +29,7 @@ opts.AddOptions( ('ARCH', 'Set architecture-specific compilation flags by hand (all flags as 1 argument)',''), BoolOption('AUDIOUNITS', 'Compile with Apple\'s AudioUnit library. (experimental)', 0), BoolOption('COREAUDIO', 'Compile with Apple\'s CoreAudio library', 0), - BoolOption('DEBUG', 'Set to build with debugging information and no optimizations', 0), + BoolOption('DEBUG', 'Set to build with debugging information and no optimizations', 1), PathOption('DESTDIR', 'Set the intermediate install "prefix"', '/'), EnumOption('DIST_TARGET', 'Build target for cross compiling packagers', 'auto', allowed_values=('auto', 'i386', 'i686', 'x86_64', 'powerpc', 'tiger', 'panther', 'none' ), ignorecase=2), BoolOption('DMALLOC', 'Compile and link using the dmalloc library', 0), @@ -45,7 +45,8 @@ opts.AddOptions( BoolOption('VERSIONED', 'Add revision information to ardour/gtk executable name inside the build directory', 0), BoolOption('VST', 'Compile with support for VST', 0), BoolOption('GPROFILE', 'Compile with support for gprofile (Developers only)', 0), - BoolOption('TRANZPORT', 'Compile with support for Frontier Designs (if libusb is available)', 1) + BoolOption('TRANZPORT', 'Compile with support for Frontier Designs (if libusb is available)', 1), + BoolOption('CMT', 'Compile with support for CMT Additions', 1) ) #---------------------------------------------------------------------- @@ -382,14 +383,22 @@ env.Append (BUILDERS = {'Tarball' : tarball_bld}) # if env['VST']: - sys.stdout.write ("Are you building Ardour for personal use (rather than distribution to others)? [no]: ") - answer = sys.stdin.readline () - answer = answer.rstrip().strip() - if answer != "yes" and answer != "y": - print 'You cannot build Ardour with VST support for distribution to others.\nIt is a violation of several different licenses. Build with VST=false.' - sys.exit (-1); + if os.path.isfile('.personal_use_only'): + print "Enabling VST support. Note that distributing a VST-enabled ardour\nis a violation of several different licences.\nBuild with VST=false if you intend to distribute ardour to others." else: - print "OK, VST support will be enabled" + sys.stdout.write ("Are you building Ardour for personal use (rather than distribution to others)? [no]: ") + answer = sys.stdin.readline () + answer = answer.rstrip().strip() + if answer == "yes" or answer == "y": + fh = open('.personal_use_only', 'w') + fh.close() + print "OK, VST support will be enabled" + else: + print 'You cannot build Ardour with VST support for distribution to others.\nIt is a violation of several different licenses. Build with VST=false.' + sys.exit (-1); +else: + if os.path.isfile('.personal_use_only'): + os.remove('.personal_use_only') ####################### @@ -405,7 +414,7 @@ deps = \ 'samplerate' : '0.1.0', 'raptor' : '1.4.2', 'lrdf' : '0.4.0', - 'jack' : '0.101.1', + 'jack' : '0.105.0', 'libgnomecanvas-2.0' : '2.0' } @@ -601,7 +610,7 @@ elif ((re.search ("i[0-9]86", config[config_cpu]) != None) or (re.search ("x86_6 if env['DIST_TARGET'] != 'i386': flag_line = os.popen ("cat /proc/cpuinfo | grep '^flags'").read()[:-1] - x86_flags = flag_line.split (": ")[1:][0].split (' ') + x86_flags = flag_line.split (": ")[1:][0].split () if "mmx" in x86_flags: opt_flags.append ("-mmmx") @@ -728,7 +737,8 @@ prep_libcheck(env, libraries['flac']) libraries['flac'].Append(CCFLAGS="-I/usr/local/include", LINKFLAGS="-L/usr/local/lib") conf = Configure (libraries['flac']) -conf.CheckLib ('FLAC', 'FLAC__stream_decoder_new', language='CXX') +if conf.CheckLib ('FLAC', 'FLAC__stream_decoder_new', language='CXX'): + conf.env.Append(CCFLAGS='-DHAVE_FLAC') libraries['flac'] = conf.Finish () # or if that fails... @@ -783,18 +793,25 @@ libraries['dmalloc'] = conf.Finish () # conf = Configure(env) - -if conf.CheckCHeader('alsa/asoundlib.h'): +if conf.CheckCHeader('jack/midiport.h'): + libraries['sysmidi'] = LibraryInfo (LIBS='jack') + env['SYSMIDI'] = 'JACK MIDI' + subst_dict['%MIDITAG%'] = "control" + subst_dict['%MIDITYPE%'] = "jack" + print "Using JACK MIDI" +elif conf.CheckCHeader('alsa/asoundlib.h'): libraries['sysmidi'] = LibraryInfo (LIBS='asound') env['SYSMIDI'] = 'ALSA Sequencer' subst_dict['%MIDITAG%'] = "seq" subst_dict['%MIDITYPE%'] = "alsa/sequencer" + print "Using ALSA MIDI" elif conf.CheckCHeader('/System/Library/Frameworks/CoreMIDI.framework/Headers/CoreMIDI.h'): # this line is needed because scons can't handle -framework in ParseConfig() yet. libraries['sysmidi'] = LibraryInfo (LINKFLAGS= '-framework CoreMIDI -framework CoreFoundation -framework CoreAudio -framework CoreServices -framework AudioUnit -framework AudioToolbox -bind_at_load') env['SYSMIDI'] = 'CoreMIDI' subst_dict['%MIDITAG%'] = "ardour" subst_dict['%MIDITYPE%'] = "coremidi" + print "Using CoreMIDI" else: print "It appears you don't have the required MIDI libraries installed. For Linux this means you are missing the development package for ALSA libraries." sys.exit (1) @@ -825,6 +842,8 @@ if env['SYSLIBS']: libraries['sigc2'].ParseConfig('pkg-config --cflags --libs sigc++-2.0') libraries['glibmm2'] = LibraryInfo() libraries['glibmm2'].ParseConfig('pkg-config --cflags --libs glibmm-2.4') + libraries['cairomm'] = LibraryInfo() + libraries['cairomm'].ParseConfig('pkg-config --cflags --libs cairomm-1.0') libraries['gdkmm2'] = LibraryInfo() libraries['gdkmm2'].ParseConfig ('pkg-config --cflags --libs gdkmm-2.4') libraries['gtkmm2'] = LibraryInfo() @@ -849,9 +868,9 @@ 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') + libraries['soundtouch'].ParseConfig ('pkg-config --cflags --libs libSoundTouch') # Comment the previous line and uncomment this for Debian: - #libraries['soundtouch'].ParseConfig ('pkg-config --cflags --libs libSoundTouch') + #libraries['soundtouch'].ParseConfig ('pkg-config --cflags --libs libSoundTouch') libraries['appleutility'] = LibraryInfo(LIBS='libappleutility', LIBPATH='#libs/appleutility', @@ -1010,6 +1029,14 @@ else: config_prefix = '$DESTDIR' + final_config_prefix +# For colorgcc +if os.environ.has_key('PATH'): + env['PATH'] = os.environ['PATH'] +if os.environ.has_key('TERM'): + env['TERM'] = os.environ['TERM'] +if os.environ.has_key('HOME'): + env['HOME'] = os.environ['HOME'] + # # everybody needs this # @@ -1064,8 +1091,8 @@ if conf.CheckCHeader('/System/Library/Frameworks/CoreAudio.framework/Versions/A/ subst_dict['%JACK_INPUT%'] = "coreaudio:Built-in Audio:in" subst_dict['%JACK_OUTPUT%'] = "coreaudio:Built-in Audio:out" else: - subst_dict['%JACK_INPUT%'] = "alsa_pcm:playback_" - subst_dict['%JACK_OUTPUT%'] = "alsa_pcm:capture_" + subst_dict['%JACK_INPUT%'] = "system:playback_" + subst_dict['%JACK_OUTPUT%'] = "system:capture_" # posix_memalign available if not conf.CheckFunc('posix_memalign'): @@ -1075,14 +1102,20 @@ if not conf.CheckFunc('posix_memalign'): env = conf.Finish() +# generate the per-user and system rc files from the same source + rcbuild = env.SubstInFile ('ardour.rc','ardour.rc.in', SUBST_DICT = subst_dict) +sysrcbuild = env.SubstInFile ('ardour_system.rc','ardour.rc.in', SUBST_DICT = subst_dict) + +# add to the substitution dictionary + 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) +# specbuild = env.SubstInFile ('ardour.spec','ardour.spec.in', SUBST_DICT = subst_dict) the_revision = env.Command ('frobnicatory_decoy', [], create_stored_revision) @@ -1091,6 +1124,7 @@ env.Alias('install', env.Install(os.path.join(config_prefix, 'ardour2'), 'ardour env.Alias('install', env.Install(os.path.join(config_prefix, 'ardour2'), 'ardour.rc')) Default (rcbuild) +Default (sysrcbuild) # source tarball @@ -1100,8 +1134,6 @@ 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', 'icons/icon/ardour_icon_mac.png',