Heavy-duty abstraction work to split type-specific classes into
[ardour.git] / gtk2_ardour / SConscript
index e74c390a35864becf3b92abce9922530212d7523..43dd09cfb4d08ee0bc1b0104987c04e6b5428402 100644 (file)
@@ -24,16 +24,17 @@ gtkardour.Append(POTFILE=domain + '.pot')
 
 gtkardour.Merge ([
     libraries['ardour'],
+    libraries['ardour_cp'],
     libraries['gtkmm2ext'],
-#    libraries['flowcanvas'],
     libraries['midi++2'],
-    libraries['pbd3'],
+    libraries['pbd'],
     libraries['gtkmm2'],
     libraries['glib2'],
     libraries['libgnomecanvas2'],
     libraries['libgnomecanvasmm'],
     libraries['sysmidi'],
     libraries['sndfile'],
+    libraries['flac'],
     libraries['lrdf'],
     libraries['glibmm2'],
     libraries['pangomm'],
@@ -42,24 +43,25 @@ gtkardour.Merge ([
     libraries['sigc2'],
     libraries['gtk2'],
     libraries['xml'],
+    libraries['xslt'],
     libraries['soundtouch'],
     libraries['samplerate'],
-    libraries['jack'],
-    libraries['glade2'],
-    libraries['libglademm']
+    libraries['jack']
 ])
 
+if gtkardour['DMALLOC']:
+       gtkardour.Merge([libraries['dmalloc']])
+       gtkardour.Append(CCFLAGS='-DUSE_DMALLOC')
+
 if gtkardour['FFT_ANALYSIS']:
        gtkardour.Merge ([libraries['fftw3f']])
        gtkardour.Append(CCFLAGS='-DFFT_ANALYSIS')
 
-if gtkardour['VST']:
-    gtkardour.Merge ([ libraries['fst']])
-
 skipped_files=Split("""
 connection_editor.cc
 """)
 
+
 gtkardour_files=Split("""
 about.cc
 actions.cc
@@ -73,6 +75,7 @@ ardour_ui_ed.cc
 ardour_ui_mixer.cc
 ardour_ui_options.cc
 audio_clock.cc
+route_time_axis.cc
 audio_time_axis.cc
 automation_gain_line.cc
 automation_line.cc
@@ -89,7 +92,6 @@ color_manager.cc
 crossfade_edit.cc
 crossfade_view.cc
 curvetest.cc
-default_keys.cc
 editing.cc
 editor.cc
 editor_actions.cc
@@ -123,8 +125,6 @@ export_range_markers_dialog.cc
 gain_automation_time_axis.cc
 gain_meter.cc
 ghostregion.cc
-glade_path.cc
-glade_factory.cc
 grouped_buttons.cc
 gtk-custom-hruler.c
 gtk-custom-ruler.c
@@ -142,8 +142,6 @@ marker.cc
 marker_time_axis.cc
 marker_time_axis_view.cc
 marker_view.cc
-meter_bridge.cc
-meter_bridge_strip.cc
 mixer_strip.cc
 mixer_ui.cc
 new_session_dialog.cc
@@ -160,10 +158,11 @@ public_editor.cc
 redirect_automation_line.cc
 redirect_automation_time_axis.cc
 redirect_box.cc
-region_editor.cc
+audio_region_editor.cc
 region_gain_line.cc
 region_selection.cc
-regionview.cc
+region_view.cc
+audio_region_view.cc
 route_params_ui.cc
 route_redirect_selection.cc
 route_ui.cc
@@ -171,7 +170,8 @@ selection.cc
 sfdb_ui.cc
 send_ui.cc
 streamview.cc
-taperegionview.cc
+audio_streamview.cc
+tape_region_view.cc
 tempo_dialog.cc
 time_axis_view.cc
 time_axis_view_item.cc
@@ -182,16 +182,16 @@ visual_time_axis.cc
 waveview.cc
 """)
 
+
 fft_analysis_files=Split("""
 analysis_window.cc
 fft_graph.cc
 fft_result.cc
 """)
 
-glade_files=glob.glob('glade/*.glade')
 pixmap_files=glob.glob('pixmaps/*.xpm')
 
-intl_files = gtkardour_files + glade_files + glob.glob('*.h')
+intl_files = gtkardour_files + glob.glob('*.h')
 
 mtest_files=Split("""
 mtest.cc
@@ -202,21 +202,20 @@ itest.cc
 """)
 
 extra_sources = []
+
 vst_files = [ 'vst_pluginui.cc' ]
 
 if env['VST']:
-   extra_sources += vst_files
-
+       extra_sources += vst_files
+       gtkardour.Append (CCFLAGS="-DVST_SUPPORT", CPPPATH="#libs/fst")
+  
 if env['FFT_ANALYSIS']:
        extra_sources += fft_analysis_files
 
-
 intl_files += extra_sources
 
 gtkardour.Append(CCFLAGS="-D_REENTRANT -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE")
-gtkardour.Append(CXXFLAGS="-DDATA_DIR=\\\""+final_prefix+"/share\\\"")
 gtkardour.Append(CXXFLAGS="-DLOCALEDIR=\\\""+final_prefix+"/share/locale\\\"")
-gtkardour.Append(CXXFLAGS="-DGLADEPATH=\\\""+final_prefix+"/share/ardour/glade\\\"")
 
 versionflag = '-DVERSIONSTRING=\\\"' + env['VERSION'] + '\\\"'
 
@@ -227,39 +226,58 @@ gtkardour.VersionBuild(['version.cc','version.h'], 'SConscript')
 executable = 'ardour.bin'
 
 ardour = gtkardour.Program(target = executable, source = gtkardour_files + extra_sources)
+ardourlib = gtkardour.SharedLibrary(target = 'ardourgtk', source = gtkardour_files + extra_sources)
+
 mtest = gtkardour.Program(target = 'mtest', source = mtest_files)
 itest = gtkardour.Program(target = 'itest', source = itest_files)
 
-Default(ardour)
+my_subst_dict = { }
+my_subst_dict['%INSTALL_PREFIX%'] = install_prefix
 
-if env['VERSIONED']:
-    Default (env.VersionedExecutable ('tagged_executable', ardour))
+ardoursh = env.SubstInFile ('ardour.sh','ardour.sh.in', SUBST_DICT = my_subst_dict);
+env.AddPostAction (ardoursh, Chmod ('$TARGET', 0755))
 
-if env['NLS']:
-    Export('gtkardour', 'intl_files')
-    SConscript ('po/SConscript')
-    
-#install
+if env['VST']:
+       Default(ardourlib)
+       # the library - into the library dir
+       env.Alias('install', env.Install(os.path.join(install_prefix, 'lib/ardour2'), ardourlib))
+else:
+
+       if env['VERSIONED']:
+               Default (env.VersionedExecutable ('tagged_executable', ardour))
+       else:
+               Default(ardour)
 
+        #install
 
-env.Alias('install', env.InstallAs(os.path.join(install_prefix, 'bin')+'/ardour', ardour))
+       # the executable - into the library dir
+       env.Alias('install', env.Install(os.path.join(install_prefix, 'lib/ardour2'), ardour))
+       # the script - into the bin dir
+       env.Alias('install', env.InstallAs(os.path.join(install_prefix, 'bin')+'/ardour2', ardoursh))
+
+if env['NLS']:
+       i18n (gtkardour, gtkardour_files+skipped_files+fft_analysis_files, env)
+    
+# configuration files
 env.Alias('install', env.Install(os.path.join(config_prefix, 'ardour2'), 'ardour2_ui.rc'))
 env.Alias('install', env.Install(os.path.join(config_prefix, 'ardour2'), 'ardour.menus'))
 env.Alias('install', env.Install(os.path.join(config_prefix, 'ardour2'), 'ardour.bindings'))
 env.Alias('install', env.Install(os.path.join(config_prefix, 'ardour2'), 'ardour.colors'))
+# data files
 env.Alias('install', env.Install(os.path.join(install_prefix, 'share/ardour2'), 'splash.ppm'))
 env.Alias('install', env.Install(os.path.join(install_prefix, 'share/ardour2/pixmaps'), pixmap_files))
-env.Alias('install', env.Install(os.path.join(install_prefix, 'share/ardour2/glade'), glade_files))
 
+               
 #dist
 env.Alias ('tarball', env.Distribute (env['DISTTREE'],
                                       [ 'SConscript',
                                         'i18n.h', 'gettext.h',
+                                       'ardour.sh.in',
                                         'ardour2_ui.rc', 'splash.ppm',
                                         'ardour.menus', 'ardour.bindings', 'ardour.colors',
                                        'editor_xpms'
                                         ] +
-                                      gtkardour_files + vst_files + glade_files + pixmap_files +
+                                      gtkardour_files + vst_files + pixmap_files +
                                       glob.glob('po/*.po') + glob.glob('*.h')))
 
 # generate a prototype full-featured ardour_ui.rc file