Some fixes to the new session dialog.
[ardour.git] / SConstruct
index db0fbf6ed242a4cf2cf4827621dbab8e7dcafc10..807643df6ee974a6ff1b5a7aea6b31337dc2653e 100644 (file)
@@ -14,7 +14,7 @@ import SCons.Node.FS
 SConsignFile()
 EnsureSConsVersion(0, 96)
 
-version = '2.0alpha1'
+version = '2.0alpha2'
 
 subst_dict = { }
 
@@ -28,13 +28,15 @@ opts.AddOptions(
     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('DEBUG', 'Set to build with debugging information and no optimizations', 0),
     PathOption('DESTDIR', 'Set the intermediate install "prefix"', '/'),
-    BoolOption('DEVBUILD', 'Use shared libardour (developers only)', 0),
     BoolOption('NLS', 'Set to turn on i18n support', 1),
     PathOption('PREFIX', 'Set the install "prefix"', '/usr/local'),
     BoolOption('VST', 'Compile with support for VST', 0),
     BoolOption('VERSIONED', 'Add version information to ardour/gtk executable name inside the build directory', 0),
     EnumOption('DIST_TARGET', 'Build target for cross compiling packagers', 'auto', allowed_values=('auto', 'i386', 'i686', 'x86_64', 'powerpc', 'tiger', 'panther', 'none' ), ignorecase=2),
-    BoolOption('FPU_OPTIMIZATION', 'Build runtime checked assembler code', 1)
+    BoolOption('FPU_OPTIMIZATION', 'Build runtime checked assembler code', 1),
+    BoolOption('FFT_ANALYSIS', 'Include FFT analysis window', 0),
+    BoolOption('SURFACES', 'Build support for control surfaces', 0),
+    BoolOption('DMALLOC', 'Compile and link using the dmalloc library', 0)
   )
 
 #----------------------------------------------------------------------
@@ -361,12 +363,19 @@ libraries['raptor'].ParseConfig('pkg-config --cflags --libs raptor')
 libraries['samplerate'] = LibraryInfo()
 libraries['samplerate'].ParseConfig('pkg-config --cflags --libs samplerate')
 
+if env['FFT_ANALYSIS']: 
+       libraries['fftw3f'] = LibraryInfo()
+       libraries['fftw3f'].ParseConfig('pkg-config --cflags --libs fftw3f')
+
 libraries['jack'] = LibraryInfo()
 libraries['jack'].ParseConfig('pkg-config --cflags --libs jack')
 
 libraries['xml'] = LibraryInfo()
 libraries['xml'].ParseConfig('pkg-config --cflags --libs libxml-2.0')
 
+libraries['xslt'] = LibraryInfo()
+libraries['xslt'].ParseConfig('pkg-config --cflags --libs libxslt')
+
 libraries['glib2'] = LibraryInfo()
 libraries['glib2'].ParseConfig ('pkg-config --cflags --libs glib-2.0')
 libraries['glib2'].ParseConfig ('pkg-config --cflags --libs gobject-2.0')
@@ -396,6 +405,38 @@ libraries['fst'] = LibraryInfo()
 if env['VST']:
     libraries['fst'].ParseConfig('pkg-config --cflags --libs libfst')
 
+#
+# Check for libusb
+
+libraries['usb'] = LibraryInfo ()
+
+conf = Configure (libraries['usb'])
+if conf.CheckLib ('usb', 'usb_interrupt_write'):
+    have_libusb = True
+else:
+    have_libusb = False
+    
+libraries['usb'] = conf.Finish ()
+
+#
+# Check for dmalloc
+
+libraries['dmalloc'] = LibraryInfo ()
+
+#
+# look for the threaded version
+#
+
+conf = Configure (libraries['dmalloc'])
+if conf.CheckLib ('dmallocth', 'dmalloc_shutdown'):
+    have_libdmalloc = True
+else:
+    have_libdmalloc = False
+    
+libraries['dmalloc'] = conf.Finish ()
+
+#
+
 #
 # Audio/MIDI library (needed for MIDI, since audio is all handled via JACK)
 # 
@@ -491,7 +532,7 @@ else:
     ]
 
     subdirs = [
-#      'libs/cassowary',
+#          'libs/cassowary',
         'libs/sigc++2',
         'libs/pbd3',
         'libs/midi++2',
@@ -511,6 +552,13 @@ else:
     'gtk2_ardour'
         ]
 
+surface_subdirs = []
+
+if env['SURFACES']:
+    surface_subdirs += [ 'libs/surfaces/generic_midi' ]
+    if have_libusb:
+        surface_subdirs += [ 'libs/surfaces/tranzport' ]
+    
 opts.Save('scache.conf', env)
 Help(opts.GenerateHelpText(env))
 
@@ -533,6 +581,8 @@ if os.environ.has_key('DISTCC_HOSTS'):
 final_prefix = '$PREFIX'
 install_prefix = '$DESTDIR/$PREFIX'
 
+subst_dict['INSTALL_PREFIX'] = install_prefix;
+
 if env['PREFIX'] == '/usr':
     final_config_prefix = '/etc'
 else:
@@ -740,8 +790,8 @@ env = conf.Finish()
 
 rcbuild = env.SubstInFile ('ardour.rc','ardour.rc.in', SUBST_DICT = subst_dict)
 
-env.Alias('install', env.Install(os.path.join(config_prefix, 'ardour'), 'ardour_system.rc'))
-env.Alias('install', env.Install(os.path.join(config_prefix, 'ardour'), 'ardour.rc'))
+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)
 
@@ -784,7 +834,7 @@ env.AddPostAction (srcdist, Action ('rm -rf ' + str (File (env['DISTTREE']))))
 for subdir in coredirs:
     SConscript (subdir + '/SConscript')
 
-for sublistdir in [subdirs, gtk_subdirs]:
+for sublistdir in [subdirs, gtk_subdirs, surface_subdirs]:
        for subdir in sublistdir:
                SConscript (subdir + '/SConscript')