X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=SConstruct;h=d462a155cbda6883c5c60e3b31dcf8aa6a41a8c4;hb=b9b6ba8be490622dff662c23d9c77c9eee1291b3;hp=d00321c1558b16d45da33fda46024747b9585e17;hpb=b3fe7cfc892f7d5978ad14eb81e9305fa9c14d13;p=ardour.git diff --git a/SConstruct b/SConstruct index d00321c155..d462a155cb 100644 --- a/SConstruct +++ b/SConstruct @@ -16,7 +16,7 @@ import SCons.Node.FS SConsignFile() EnsureSConsVersion(0, 96) -ardour_version = '2.0rc2' +ardour_version = '2.1pre' subst_dict = { } @@ -28,24 +28,25 @@ opts = Options('scache.conf') 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('CMT', 'Compile with support for CMT Additions', 1), 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), BoolOption('EXTRA_WARN', 'Compile with -Wextra, -ansi, and -pedantic. Might break compilation. For pedants', 0), BoolOption('FFT_ANALYSIS', 'Include FFT analysis window', 0), BoolOption('FPU_OPTIMIZATION', 'Build runtime checked assembler code', 1), + BoolOption('GPROFILE', 'Compile with support for gprofile (Developers only)', 0), BoolOption('LIBLO', 'Compile with support for liblo library', 1), BoolOption('NLS', 'Set to turn on i18n support', 1), 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('TRANZPORT', 'Compile with support for Frontier Designs (if libusb is available)', 1), 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('GPROFILE', 'Compile with support for gprofile (Developers only)', 0), - BoolOption('TRANZPORT', 'Compile with support for Frontier Designs (if libusb is available)', 1) ) #---------------------------------------------------------------------- @@ -413,7 +414,7 @@ deps = \ 'samplerate' : '0.1.0', 'raptor' : '1.4.2', 'lrdf' : '0.4.0', - 'jack' : '0.102.29', + 'jack' : '0.105.0', 'libgnomecanvas-2.0' : '2.0' } @@ -624,8 +625,8 @@ elif ((re.search ("i[0-9]86", config[config_cpu]) != None) or (re.search ("x86_6 opt_flags.append ("-march=i686") if ((env['DIST_TARGET'] == 'i686') or (env['DIST_TARGET'] == 'x86_64')) and build_host_supports_sse: - opt_flags.extend (["-msse", "-mfpmath=sse"]) - debug_flags.extend (["-msse", "-mfpmath=sse"]) + opt_flags.extend (["-msse", "-mfpmath=sse", "-DUSE_XMMINTRIN"]) + debug_flags.extend (["-msse", "-mfpmath=sse", "-DUSE_XMMINTRIN"]) # end of processor-specific section # optimization section @@ -726,6 +727,12 @@ if conf.CheckLib ('usb', 'usb_interrupt_write'): else: have_libusb = False +# check for linux/input.h while we're at it for powermate +if conf.CheckHeader('linux/input.h'): + have_linux_input = True +else: + have_linux_input = False + libraries['usb'] = conf.Finish () # @@ -735,11 +742,19 @@ libraries['flac'] = LibraryInfo () prep_libcheck(env, libraries['flac']) libraries['flac'].Append(CCFLAGS="-I/usr/local/include", LINKFLAGS="-L/usr/local/lib") +# +# june 1st 2007: look for a function that is in FLAC 1.1.2 and not in later versions +# since the version of libsndfile we have internally does not support +# the new API that libFLAC has adopted +# + conf = Configure (libraries['flac']) -if conf.CheckLib ('FLAC', 'FLAC__stream_decoder_new', language='CXX'): +if conf.CheckLib ('FLAC', 'FLAC__seekable_stream_decoder_set_read_callback', language='CXX'): conf.env.Append(CCFLAGS='-DHAVE_FLAC') + use_flac = True +else: + use_flac = False libraries['flac'] = conf.Finish () - # or if that fails... #libraries['flac'] = LibraryInfo (LIBS='FLAC') @@ -841,6 +856,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() @@ -867,7 +884,7 @@ if env['SYSLIBS']: libraries['soundtouch'] = LibraryInfo() 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', @@ -978,7 +995,12 @@ else: # its included in the tarball # -surface_subdirs = [ 'libs/surfaces/control_protocol', 'libs/surfaces/generic_midi', 'libs/surfaces/tranzport', 'libs/surfaces/mackie' ] +surface_subdirs = [ 'libs/surfaces/control_protocol', + 'libs/surfaces/generic_midi', + 'libs/surfaces/tranzport', + 'libs/surfaces/mackie', + 'libs/surfaces/powermate' + ] if env['SURFACES']: if have_libusb: @@ -986,8 +1008,18 @@ if env['SURFACES']: else: env['TRANZPORT'] = 0 print 'Disabled building Tranzport code because libusb could not be found' + + if have_linux_input: + env['POWERMATE'] = 1 + else: + env['POWERMATE'] = 0 + print 'Disabled building Powermate code because linux/input.h could not be found' + if os.access ('libs/surfaces/sony9pin', os.F_OK): surface_subdirs += [ 'libs/surfaces/sony9pin' ] +else: + env['POWERMATE'] = 0 + env['TRANZPORT'] = 0 opts.Save('scache.conf', env) Help(opts.GenerateHelpText(env)) @@ -1076,7 +1108,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 ardour_version subst_dict') +Export('env install_prefix final_prefix config_prefix final_config_prefix libraries i18n ardour_version subst_dict use_flac') # # the configuration file may be system dependent @@ -1088,8 +1120,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'): @@ -1101,7 +1133,6 @@ 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 @@ -1118,9 +1149,7 @@ the_revision = env.Command ('frobnicatory_decoy', [], create_stored_revision) env.Alias('revision', the_revision) env.Alias('install', env.Install(os.path.join(config_prefix, 'ardour2'), 'ardour_system.rc')) -env.Alias('install', env.Install(os.path.join(config_prefix, 'ardour2'), 'ardour.rc')) -Default (rcbuild) Default (sysrcbuild) # source tarball