NOOP, re-indent, remove trailing whitespace, sort includes
[ardour.git] / gtk2_ardour / wscript
index 3ca90744c7c5fb7aa190e515d5dae1a3d0fafa7b..ba05b962987a81cb9d745d0fac1ad83f14a12c44 100644 (file)
@@ -3,6 +3,7 @@ from waflib.extras import autowaf as autowaf
 from waflib import Options, TaskGen
 import waflib.Logs as Logs, waflib.Utils as Utils
 import os
 from waflib import Options, TaskGen
 import waflib.Logs as Logs, waflib.Utils as Utils
 import os
+import shutil
 import sys
 import re
 import time
 import sys
 import re
 import time
@@ -24,6 +25,9 @@ gtk2_ardour_sources = [
         'analysis_window.cc',
         'ardour_button.cc',
         'ardour_dialog.cc',
         'analysis_window.cc',
         'ardour_button.cc',
         'ardour_dialog.cc',
+        'ardour_display.cc',
+        'ardour_dropdown.cc',
+        'ardour_knob.cc',
         'ardour_ui.cc',
         'ardour_ui2.cc',
         'ardour_ui_dependents.cc',
         'ardour_ui.cc',
         'ardour_ui2.cc',
         'ardour_ui_dependents.cc',
@@ -46,22 +50,12 @@ gtk2_ardour_sources = [
         'big_clock_window.cc',
         'bundle_manager.cc',
         'button_joiner.cc',
         'big_clock_window.cc',
         'bundle_manager.cc',
         'button_joiner.cc',
-        'canvas-flag.cc',
-        'canvas-hit.cc',
-        'canvas-note-event.cc',
-        'canvas-note.cc',
-        'canvas_patch_change.cc',
-        'canvas-simpleline.c',
-        'canvas-simplerect.c',
-        'canvas-sysex.cc',
-        'canvas-waveview.c',
         'clock_group.cc',
         'configinfo.cc',
         'control_point.cc',
         'control_point_dialog.cc',
         'curvetest.cc',
         'debug.cc',
         'clock_group.cc',
         'configinfo.cc',
         'control_point.cc',
         'control_point_dialog.cc',
         'curvetest.cc',
         'debug.cc',
-        'diamond.cc',
         'edit_note_dialog.cc',
         'editing.cc',
         'editor.cc',
         'edit_note_dialog.cc',
         'editing.cc',
         'editor.cc',
@@ -109,19 +103,17 @@ gtk2_ardour_sources = [
         'ghostregion.cc',
         'global_port_matrix.cc',
         'group_tabs.cc',
         'ghostregion.cc',
         'global_port_matrix.cc',
         'group_tabs.cc',
-        'gtk-custom-hruler.c',
-        'gtk-custom-ruler.c',
         'gtk_pianokeyboard.c',
         'gui_object.cc',
         'insert_time_dialog.cc',
         'interthread_progress_window.cc',
         'io_selector.cc',
         'gtk_pianokeyboard.c',
         'gui_object.cc',
         'insert_time_dialog.cc',
         'interthread_progress_window.cc',
         'io_selector.cc',
+        'hit.cc',
         'keyboard.cc',
         'keyeditor.cc',
         'latency_gui.cc',
         'led.cc',
         'level_meter.cc',
         'keyboard.cc',
         'keyeditor.cc',
         'latency_gui.cc',
         'led.cc',
         'level_meter.cc',
-        'lineset.cc',
         'location_ui.cc',
         'main.cc',
         'main_clock.cc',
         'location_ui.cc',
         'main.cc',
         'main_clock.cc',
@@ -156,6 +148,8 @@ gtk2_ardour_sources = [
         'nag.cc',
         'new_plugin_preset_dialog.cc',
         'normalize_dialog.cc',
         'nag.cc',
         'new_plugin_preset_dialog.cc',
         'normalize_dialog.cc',
+        'note.cc',
+        'note_base.cc',
         'note_player.cc',
         'nsm.cc',
         'nsmclient.cc',
         'note_player.cc',
         'nsm.cc',
         'nsmclient.cc',
@@ -165,6 +159,7 @@ gtk2_ardour_sources = [
         'panner_editor.cc',
         'panner_interface.cc',
         'panner_ui.cc',
         'panner_editor.cc',
         'panner_interface.cc',
         'panner_ui.cc',
+        'patch_change.cc',
         'piano_roll_header.cc',
         'pingback.cc',
         'playlist_selector.cc',
         'piano_roll_header.cc',
         'pingback.cc',
         'playlist_selector.cc',
@@ -200,6 +195,7 @@ gtk2_ardour_sources = [
         'route_processor_selection.cc',
         'route_time_axis.cc',
         'route_ui.cc',
         'route_processor_selection.cc',
         'route_time_axis.cc',
         'route_ui.cc',
+        'ruler_dialog.cc',
         'search_path_option.cc',
         'selection.cc',
         'send_ui.cc',
         'search_path_option.cc',
         'selection.cc',
         'send_ui.cc',
@@ -209,8 +205,7 @@ gtk2_ardour_sources = [
         'session_option_editor.cc',
         'sfdb_ui.cc',
         'shuttle_control.cc',
         'session_option_editor.cc',
         'sfdb_ui.cc',
         'shuttle_control.cc',
-        'simpleline.cc',
-        'simplerect.cc',
+        'soundcloud_export_selector.cc',
         'splash.cc',
         'speaker_dialog.cc',
         'startup.cc',
         'splash.cc',
         'speaker_dialog.cc',
         'startup.cc',
@@ -220,6 +215,7 @@ gtk2_ardour_sources = [
         'stereo_panner_editor.cc',
         'streamview.cc',
         'strip_silence_dialog.cc',
         'stereo_panner_editor.cc',
         'streamview.cc',
         'strip_silence_dialog.cc',
+        'sys_ex.cc',
         'tape_region_view.cc',
         'tempo_dialog.cc',
         'tempo_lines.cc',
         'tape_region_view.cc',
         'tempo_dialog.cc',
         'tempo_lines.cc',
@@ -238,14 +234,12 @@ gtk2_ardour_sources = [
         'version.cc',
         'visibility_group.cc',
         'volume_controller.cc',
         'version.cc',
         'visibility_group.cc',
         'volume_controller.cc',
-        'waveview.cc',
         'window_manager.cc',
 # video-timeline related sources:
         'video_image_frame.cc',
         'add_video_dialog.cc',
         'editor_videotimeline.cc',
         'video_timeline.cc',
         'window_manager.cc',
 # video-timeline related sources:
         'video_image_frame.cc',
         'add_video_dialog.cc',
         'editor_videotimeline.cc',
         'video_timeline.cc',
-        'system_exec.cc',
         'video_monitor.cc',
         'transcode_ffmpeg.cc',
         'transcode_video_dialog.cc',
         'video_monitor.cc',
         'transcode_ffmpeg.cc',
         'transcode_video_dialog.cc',
@@ -265,12 +259,10 @@ def configure(conf):
     autowaf.build_version_files(
         path_prefix + 'version.h',
         path_prefix + 'version.cc',
     autowaf.build_version_files(
         path_prefix + 'version.h',
         path_prefix + 'version.cc',
-        'gtk2_ardour', conf.env['MAJOR'], conf.env['MINOR'], 0)
+        'gtk2_ardour', conf.env['MAJOR'], conf.env['MINOR'], 0,
+        '', '')
     autowaf.configure(conf)
 
     autowaf.configure(conf)
 
-    if re.search ("linux", sys.platform) != None:
-        autowaf.check_pkg(conf, 'alsa', uselib_store='ALSA')
-
     # TODO: Insert a sanity check for on OS X to ensure CoreAudio is present
 
     autowaf.check_pkg(conf, 'fftw3f', uselib_store='FFTW3F',
     # TODO: Insert a sanity check for on OS X to ensure CoreAudio is present
 
     autowaf.check_pkg(conf, 'fftw3f', uselib_store='FFTW3F',
@@ -283,16 +275,18 @@ def configure(conf):
                       atleast_version='2.18')
     autowaf.check_pkg(conf, 'gtkmm-2.4', uselib_store='GTKMM',
                       atleast_version='2.18')
                       atleast_version='2.18')
     autowaf.check_pkg(conf, 'gtkmm-2.4', uselib_store='GTKMM',
                       atleast_version='2.18')
-    autowaf.check_pkg(conf, 'libgnomecanvas-2.0',
-                      uselib_store='GNOMECANVAS', atleast_version='2.30')
-    autowaf.check_pkg(conf, 'libgnomecanvasmm-2.6',
-                      uselib_store='GNOMECANVASMM', atleast_version='2.16')
     autowaf.check_pkg(conf, 'ogg', uselib_store='OGG', atleast_version='1.1.2')
     autowaf.check_pkg(conf, 'x11', uselib_store='X11', atleast_version='1.1', mandatory=False)
     autowaf.check_pkg(conf, 'fontconfig', uselib_store='FONTCONFIG')
 
     conf.write_config_header('gtk2ardour-config.h', remove=False)
 
     autowaf.check_pkg(conf, 'ogg', uselib_store='OGG', atleast_version='1.1.2')
     autowaf.check_pkg(conf, 'x11', uselib_store='X11', atleast_version='1.1', mandatory=False)
     autowaf.check_pkg(conf, 'fontconfig', uselib_store='FONTCONFIG')
 
     conf.write_config_header('gtk2ardour-config.h', remove=False)
 
+    bak = conf.env['define_key']
+    conf.define('VERSIONSTRING', str (conf.env['VERSION']))
+    conf.env['define_key'] = ['VERSIONSTRING']
+    conf.write_config_header('gtk2ardour-version.h')
+    conf.env['define_key'] = bak;
+
     # Boost headers
     autowaf.check_header(conf, 'cxx', 'boost/shared_ptr.hpp')
     autowaf.check_header(conf, 'cxx', 'boost/weak_ptr.hpp')
     # Boost headers
     autowaf.check_header(conf, 'cxx', 'boost/shared_ptr.hpp')
     autowaf.check_header(conf, 'cxx', 'boost/weak_ptr.hpp')
@@ -367,31 +361,33 @@ def build(bld):
 
     VERSION = "%s.%s" % (bld.env['MAJOR'], bld.env['MINOR'])
 
 
     VERSION = "%s.%s" % (bld.env['MAJOR'], bld.env['MINOR'])
 
-    if bld.is_defined('WINDOWS_VST_SUPPORT'):
+    if bld.is_defined('WINDOWS_VST_SUPPORT') and bld.env['build_target'] != 'mingw':
+        # Windows VST support w/wine
         # If we require VST support we build a stub main() and the FST library
         # here using winegcc, and link it to the GTK front-end library
         # If we require VST support we build a stub main() and the FST library
         # here using winegcc, and link it to the GTK front-end library
-        obj = bld(features = 'cxx c cxxprogram wine')
-        obj.source = '''
-                ../libs/fst/fst.c
-                ../libs/fst/fstinfofile.c
-                ../libs/fst/vsti.c
-                ../libs/fst/vstwin.c
-                ../vst/winmain.c
-        '''
-        obj.uselib = 'ALSA'
+        obj = bld (features = 'cxx c cxxprogram wine')
+        obj.source = (
+            '../libs/fst/vstwin.c',
+            '../vst/winmain.c',
+            )
+        #
+        # XXX do we really need to explicitly link to all of these for the wine executable?
+        #
         obj.use          = [ 'libpbd',
                              'libmidipp',
         obj.use          = [ 'libpbd',
                              'libmidipp',
-                             'libtaglib',
                              'libardour',
                              'libardour_cp',
                              'libardour',
                              'libardour_cp',
+                             'libtimecode',
+                             'libmidipp',
                              'libgtk2_ardour',
                              'libgtkmm2ext',
                              'libgtk2_ardour',
                              'libgtkmm2ext',
-                             'libtaglib']
-        obj.target = 'ardour-' + bld.env['VERSION'] + '-vst.exe.so'
+                             'libcanvas'
+                             ]
+        obj.target = 'ardour-' + str (bld.env['VERSION']) + '-vst.exe.so'
         obj.includes  = [ '../libs/fst', '.' ]
         obj.linkflags = ['-mwindows', '-Wl,--export-dynamic']
         obj.defines = ['_POSIX_SOURCE', 'USE_WS_PREFIX']
         obj.includes  = [ '../libs/fst', '.' ]
         obj.linkflags = ['-mwindows', '-Wl,--export-dynamic']
         obj.defines = ['_POSIX_SOURCE', 'USE_WS_PREFIX']
-        obj.install_path = os.path.join(bld.env['LIBDIR'], 'ardour3')
+        obj.install_path = bld.env['DLLDIR']
         # end of the wine executable
 
         # now the shared library containing the GTK GUI for ardour
         # end of the wine executable
 
         # now the shared library containing the GTK GUI for ardour
@@ -402,40 +398,56 @@ def build(bld):
         obj.target    = 'gtk2_ardour'
     else:
         # just the normal executable version of the GTK GUI
         obj.target    = 'gtk2_ardour'
     else:
         # just the normal executable version of the GTK GUI
-        obj = bld(features = 'cxx c cxxprogram')
+        obj = bld (features = 'cxx c cxxprogram')
         obj.source    = gtk2_ardour_sources
         obj.source    = gtk2_ardour_sources
-        obj.target = 'ardour-' + bld.env['VERSION']
+        obj.target = 'ardour-' + str (bld.env['VERSION'])
         obj.includes = ['.']
         obj.includes = ['.']
-
-    # continue with setup of obj, which could be a shared library
-    # or an executable.
-
-    obj.install_path = os.path.join(bld.env['LIBDIR'], 'ardour3')
-
-    obj.uselib       = 'UUID FLAC FONTCONFIG GLIBMM GTHREAD GTK OGG ALSA CURL DL'
-    obj.uselib       += ' GTKMM GNOMECANVASMM GNOMECANVAS FFTW3F'
-    obj.uselib       += ' AUDIOUNITS OSX GTKOSX LO '
-    obj.use          = [ 'libpbd',
-                         'libmidipp',
-                         'ardour',
-                         'libardour_cp',
-                         'libgtkmm2ext']
-    if bld.is_defined('USE_EXTERNAL_LIBS'):
-        obj.uselib += ' TAGLIB'
-    else:
-        obj.use.append('libtaglib')
-    if sys.platform == 'darwin':
-        obj.use += ' libappleutility'
-    obj.defines     = [
+        obj.ldflags = ['-no-undefined']
+
+        if bld.is_defined('WINDOWS_VST_SUPPORT'):
+        # Windows VST support mingw
+            obj.source += [ '../vst/winmain.c' ]
+            obj.includes += [ '../libs/fst' ]
+
+    # at this point, "obj" refers to either the normal native executable
+    # OR the shared library built for use with wine on linux.
+
+    obj.use      = [ 'libpbd',
+                     'libardour',
+                     'libardour_cp',
+                     'libtimecode',
+                     'libmidipp',
+                     'libgtkmm2ext',
+                     'libcanvas',
+                     ]
+
+    obj.defines = [
         'PACKAGE="' + I18N_PACKAGE + '"',
         'PACKAGE="' + I18N_PACKAGE + '"',
-        'VERSIONSTRING="' + bld.env['VERSION'] + '"',
         'DATA_DIR="' + os.path.normpath(bld.env['DATADIR']) + '"',
         'CONFIG_DIR="' + os.path.normpath(bld.env['SYSCONFDIR']) + '"',
         'LOCALEDIR="' + os.path.join(os.path.normpath(bld.env['DATADIR']), 'locale') + '"',
         'DATA_DIR="' + os.path.normpath(bld.env['DATADIR']) + '"',
         'CONFIG_DIR="' + os.path.normpath(bld.env['SYSCONFDIR']) + '"',
         'LOCALEDIR="' + os.path.join(os.path.normpath(bld.env['DATADIR']), 'locale') + '"',
-        'PROGRAM_NAME="' + bld.env['PROGRAM_NAME'] + '"'
         ]
         ]
+    obj.install_path = bld.env['DLLDIR']
+    obj.uselib       = 'UUID FLAC FONTCONFIG GLIBMM GTHREAD GTK OGG CURL DL'
+    obj.uselib       += ' GTKMM CANVAS FFTW3F'
+    obj.uselib       += ' AUDIOUNITS OSX GTKOSX LO '
+    obj.uselib       += ' TAGLIB '
+
+    if sys.platform == 'darwin':
+        obj.uselib += ' AUDIOUNITS OSX GTKOSX'
+        obj.use    += ' libappleutility'
+        obj.source += [ 'cocoacarbon.mm', 'bundle_env_cocoa.cc' ]
+    elif bld.env['build_target'] == 'mingw':
+        obj.source += [ 'bundle_env_mingw.cc' ]
+    else:
+        obj.source += [ 'bundle_env_linux.cc' ]
+
     obj.includes += ['../libs']
 
     obj.includes += ['../libs']
 
+    if bld.env['build_target'] == 'mingw':
+        if bld.env['DEBUG'] == False:
+            obj.linkflags = ['-mwindows']
+
     if bld.is_defined('HAVE_SUIL'):
         obj.source += [ 'lv2_plugin_ui.cc' ]
         obj.use += [ 'SUIL' ]
     if bld.is_defined('HAVE_SUIL'):
         obj.source += [ 'lv2_plugin_ui.cc' ]
         obj.use += [ 'SUIL' ]
@@ -446,7 +458,8 @@ def build(bld):
     if bld.is_defined('WINDOWS_VST_SUPPORT'):
         obj.source += [ 'windows_vst_plugin_ui.cc' ]
         obj.defines += [ 'WINDOWS_VST_SUPPORT' ]
     if bld.is_defined('WINDOWS_VST_SUPPORT'):
         obj.source += [ 'windows_vst_plugin_ui.cc' ]
         obj.defines += [ 'WINDOWS_VST_SUPPORT' ]
-        obj.use += [ 'X11' ]
+        if bld.env['build_target'] != 'mingw':
+            obj.use += [ 'X11' ]
         
     if bld.is_defined('LXVST_SUPPORT'):
         obj.source += [ 'linux_vst_gui_support.cc', 'lxvst_plugin_ui.cc' ]
         
     if bld.is_defined('LXVST_SUPPORT'):
         obj.source += [ 'linux_vst_gui_support.cc', 'lxvst_plugin_ui.cc' ]
@@ -461,7 +474,6 @@ def build(bld):
 
     if bld.is_defined('HAVE_COREAUDIO'):
         TaskGen.task_gen.mappings['.mm'] = TaskGen.task_gen.mappings['.cc']
 
     if bld.is_defined('HAVE_COREAUDIO'):
         TaskGen.task_gen.mappings['.mm'] = TaskGen.task_gen.mappings['.cc']
-        obj.source += [ 'cocoacarbon.mm' ]
         obj.use += ' libappleutility '
 
     if bld.is_defined('AUDIOUNIT_SUPPORT'):
         obj.use += ' libappleutility '
 
     if bld.is_defined('AUDIOUNIT_SUPPORT'):
@@ -471,12 +483,12 @@ def build(bld):
 
     wrapper_subst_dict = {
             'INSTALL_PREFIX' : bld.env['PREFIX'],
 
     wrapper_subst_dict = {
             'INSTALL_PREFIX' : bld.env['PREFIX'],
-            'LIBDIR'         : os.path.normpath(bld.env['LIBDIR']),
+            'LIBDIR'         : os.path.normpath(bld.env['DLLDIR']),
             'DATADIR'        : os.path.normpath(bld.env['DATADIR']),
             'DATADIR'        : os.path.normpath(bld.env['DATADIR']),
-            'SYSCONFDIR'     : os.path.normpath(bld.env['SYSCONFDIR']),
+            'CONFDIR'        : os.path.normpath(bld.env['CONFDIR']),
             'LIBS'           : 'build/libs',
             'VERSION'        : bld.env['VERSION'],
             'LIBS'           : 'build/libs',
             'VERSION'        : bld.env['VERSION'],
-            'EXECUTABLE'     : 'build/gtk2_ardour/ardour-' + bld.env['VERSION']
+            'EXECUTABLE'     : 'build/gtk2_ardour/ardour-' + str (bld.env['VERSION'])
     }
 
     def set_subst_dict(obj, dict):
     }
 
     def set_subst_dict(obj, dict):
@@ -511,6 +523,7 @@ def build(bld):
 
     dark_rc_subst_dict = {}
     light_rc_subst_dict = {}
 
     dark_rc_subst_dict = {}
     light_rc_subst_dict = {}
+    ui_conf_dict = {}
     font_sizes      = {}
     base_font       = ""
 
     font_sizes      = {}
     base_font       = ""
 
@@ -571,81 +584,90 @@ def build(bld):
 
             dark_rc_subst_dict[key] = fontstyle
             light_rc_subst_dict[key] = fontstyle
 
             dark_rc_subst_dict[key] = fontstyle
             light_rc_subst_dict[key] = fontstyle
-
+            ui_conf_dict[key] = points
+            
     # @FONT_SIZE_XXXX@
     for sizename,points in iter(font_sizes.items()):
             key = "_".join (['FONT_SIZE',sizename])
             dark_rc_subst_dict[key] = points
             light_rc_subst_dict[key] = points
     # @FONT_SIZE_XXXX@
     for sizename,points in iter(font_sizes.items()):
             key = "_".join (['FONT_SIZE',sizename])
             dark_rc_subst_dict[key] = points
             light_rc_subst_dict[key] = points
+            ui_conf_dict[key] = points
 
     # various font names, eg @BOLD_MONOSPACE@
     for font_sym,text in iter(font_names.items()):
         key = font_sym
         dark_rc_subst_dict[key] = text
         light_rc_subst_dict[key] = text
 
     # various font names, eg @BOLD_MONOSPACE@
     for font_sym,text in iter(font_names.items()):
         key = font_sym
         dark_rc_subst_dict[key] = text
         light_rc_subst_dict[key] = text
+        ui_conf_dict[key] = text
 
     # RC files
     dark_rc_subst_dict['COLOR_SCHEME'] = build_color_scheme(
 
     # RC files
     dark_rc_subst_dict['COLOR_SCHEME'] = build_color_scheme(
-        'gtk2_ardour/ardour3_ui_dark.rc.in', 'ARDOUR_DARK')
+        'gtk2_ardour/ui_dark.rc.in', 'ARDOUR_DARK')
     dark_rc_subst_dict['COLPREFIX'] = 'ARDOUR_DARK'
     light_rc_subst_dict['COLOR_SCHEME'] = build_color_scheme(
     dark_rc_subst_dict['COLPREFIX'] = 'ARDOUR_DARK'
     light_rc_subst_dict['COLOR_SCHEME'] = build_color_scheme(
-        'gtk2_ardour/ardour3_ui_light.rc.in', 'ARDOUR_LIGHT')
+        'gtk2_ardour/ui_light.rc.in', 'ARDOUR_LIGHT')
     light_rc_subst_dict['COLPREFIX'] = 'ARDOUR_LIGHT'
 
     obj              = bld(features = 'subst')
     light_rc_subst_dict['COLPREFIX'] = 'ARDOUR_LIGHT'
 
     obj              = bld(features = 'subst')
-    obj.source       = [ 'ardour3_ui_dark.rc.in' ]
-    obj.target       = 'ardour3_ui_dark.rc.pre'
+    obj.source       = [ 'ui_dark.rc.in' ]
+    obj.target       = 'ui_dark.rc.pre'
     obj.install_path = None
     set_subst_dict(obj, dark_rc_subst_dict)
 
     obj              = bld(features = 'subst')
     obj.install_path = None
     set_subst_dict(obj, dark_rc_subst_dict)
 
     obj              = bld(features = 'subst')
-    obj.source       = [ 'ardour3_ui_light.rc.in' ]
-    obj.target       = 'ardour3_ui_light.rc.pre'
+    obj.source       = [ 'ui_light.rc.in' ]
+    obj.target       = 'ui_light.rc.pre'
     obj.install_path = None
     set_subst_dict(obj, light_rc_subst_dict)
 
     obj              = bld(features = 'subst')
     obj.install_path = None
     set_subst_dict(obj, light_rc_subst_dict)
 
     obj              = bld(features = 'subst')
-    obj.source       = [ 'ardour3_styles.rc.in' ]
-    obj.target       = 'ardour3_dark_styles.rc'
+    obj.source       = [ 'styles.rc.in' ]
+    obj.target       = 'dark_styles.rc'
     obj.install_path = None
     set_subst_dict(obj, dark_rc_subst_dict)
 
     obj              = bld(features = 'subst')
     obj.install_path = None
     set_subst_dict(obj, dark_rc_subst_dict)
 
     obj              = bld(features = 'subst')
-    obj.source       = [ 'ardour3_styles.rc.in' ]
-    obj.target       = 'ardour3_light_styles.rc'
+    obj.source       = [ 'styles.rc.in' ]
+    obj.target       = 'light_styles.rc'
     obj.install_path = None
     set_subst_dict(obj, light_rc_subst_dict)
 
     obj              = bld(features = 'subst')
     obj.install_path = None
     set_subst_dict(obj, light_rc_subst_dict)
 
     obj              = bld(features = 'subst')
-    obj.source       = [ 'ardour3_fonts.rc.in' ]
-    obj.target       = 'ardour3_dark_fonts.rc'
+    obj.source       = [ 'fonts.rc.in' ]
+    obj.target       = 'dark_fonts.rc'
     obj.install_path = None
     set_subst_dict(obj, dark_rc_subst_dict)
 
     obj              = bld(features = 'subst')
     obj.install_path = None
     set_subst_dict(obj, dark_rc_subst_dict)
 
     obj              = bld(features = 'subst')
-    obj.source       = [ 'ardour3_fonts.rc.in' ]
-    obj.target       = 'ardour3_light_fonts.rc'
+    obj.source       = [ 'fonts.rc.in' ]
+    obj.target       = 'light_fonts.rc'
     obj.install_path = None
     set_subst_dict(obj, light_rc_subst_dict)
 
     obj.install_path = None
     set_subst_dict(obj, light_rc_subst_dict)
 
-    obj              = bld(rule = 'cp ${SRC} ${TGT}')
-    obj.source       = [ 'ardour3_widget_list.rc' ]
-    obj.target       = 'ardour3_widgets.rc'
+    obj              = bld(rule = autowaf.copyfile) 
+    obj.source       = [ 'widget_list.rc' ]
+    obj.target       = 'widgets.rc'
     obj.install_path = None
 
     obj = bld (rule = include_processor)
     obj.install_path = None
 
     obj = bld (rule = include_processor)
-    obj.source = [ 'ardour3_ui_dark.rc.pre' ]
+    obj.source = [ 'ui_dark.rc.pre' ]
     # find and add all ##include dependencies as sources
     # find and add all ##include dependencies as sources
-    obj.source += _doPyp (bld.path.find_resource ('ardour3_ui_dark.rc.in').srcpath(), True)
-    obj.target = 'ardour3_ui_dark.rc'
-    obj.install_path = '${SYSCONFDIR}/ardour3'
+    obj.source += _doPyp (bld.path.find_resource ('ui_dark.rc.in').srcpath(), True)
+    obj.target = 'ui_dark.rc'
+    obj.install_path = bld.env['CONFDIR']
 
     obj = bld (rule = include_processor)
 
     obj = bld (rule = include_processor)
-    obj.source = [ 'ardour3_ui_light.rc.pre' ]
+    obj.source = [ 'ui_light.rc.pre' ]
     # find and add all ##include dependencies as sources
     # find and add all ##include dependencies as sources
-    obj.source += _doPyp (bld.path.find_resource ('ardour3_ui_light.rc.in').srcpath(), True)
-    obj.target = 'ardour3_ui_light.rc'
-    obj.install_path = '${SYSCONFDIR}/ardour3'
+    obj.source += _doPyp (bld.path.find_resource ('ui_light.rc.in').srcpath(), True)
+    obj.target = 'ui_light.rc'
+    obj.install_path = bld.env['CONFDIR']
+
+    obj              = bld(features = 'subst')
+    obj.source       = [ 'default_ui_config.in' ]
+    obj.target       = 'default_ui_config'
+    obj.install_path = None
+    set_subst_dict(obj, ui_conf_dict)
 
     # Menus
     menus_argv = []
 
     # Menus
     menus_argv = []
@@ -654,47 +676,52 @@ def build(bld):
     else:
         menus_argv = [ '-E', '-P' ]
 
     else:
         menus_argv = [ '-E', '-P' ]
 
-    obj = bld(features = 'command-output')
-    obj.command = 'cpp'
-    obj.command_is_external = True
-    obj.no_inputs = True
-    obj.argv = menus_argv
-    obj.stdin = 'ardour.menus.in'
-    obj.stdout = 'ardour.menus'
-    obj.dep_vars = ['GTKOSX']
-    bld.install_files(os.path.join(bld.env['SYSCONFDIR'], 'ardour3'),
-                      'ardour.menus')
+    # always build all versions of the menu definitions
+    # so that we can try them out with different program builds.
+    for program in [ 'ardour', 'trx' ]:
+        obj = bld(features = 'command-output')
+        obj.command = 'cpp'
+        obj.command_is_external = True
+        obj.no_inputs = True
+        obj.argv = menus_argv
+        obj.dep_vars = ['GTKOSX']
+        obj.stdin = program + '.menus.in'
+        obj.stdout = program + '.menus'
+        bld.install_files (bld.env['CONFDIR'], program + '.menus')
 
     # Keybindings
 
     # 'SAE-de-keypad', 'SAE-de-nokeypad', 'SAE-us-keypad',
     # 'SAE-us-nokeypad', 'ergonomic-us'
 
 
     # Keybindings
 
     # 'SAE-de-keypad', 'SAE-de-nokeypad', 'SAE-us-keypad',
     # 'SAE-us-nokeypad', 'ergonomic-us'
 
+    #
+    # explicitly state the use of perl here so that it works on windows too
+    # 
+    a_rule = 'perl ../tools/fmt-bindings --platform="%s" --winkey="%s" --accelmap <${SRC} >${TGT}' % (sys.platform, bld.env['WINDOWS_KEY'] )
     for b in [ 'mnemonic-us' ] :
         obj = bld(
             target = b + '.bindings',
             source = b + '.bindings.in',
     for b in [ 'mnemonic-us' ] :
         obj = bld(
             target = b + '.bindings',
             source = b + '.bindings.in',
-            rule = '../tools/fmt-bindings --platform="%s" --winkey="%s" --accelmap <${SRC} >${TGT}' % (sys.platform, bld.env['WINDOWS_KEY'] )
+            rule = a_rule
             )
             )
-        obj.install_path = os.path.join(bld.env['SYSCONFDIR'], 'ardour3')
+        obj.install_path = bld.env['CONFDIR']
 
     # not modified at present
 
     # not modified at present
-    bld.install_files(os.path.join(bld.env['SYSCONFDIR'], 'ardour3'),
-                      'step_editing.bindings')
-    bld.install_files(os.path.join(bld.env['SYSCONFDIR'], 'ardour3'),
-                      'mixer.bindings')
+    bld.install_files(bld.env['CONFDIR'], 'step_editing.bindings')
+    bld.install_files(bld.env['CONFDIR'], 'mixer.bindings')
 
     # Icons/Images
 
     # Icons/Images
-    bld.install_files('${DATADIR}/ardour3/icons', bld.path.ant_glob('icons/*.png'))
-    bld.install_files('${DATADIR}/ardour3/pixmaps', bld.path.ant_glob('pixmaps/*.xpm'))
-    bld.install_files('${DATADIR}/ardour3', 'splash.png')
-    bld.install_files('${DATADIR}/ardour3', 'ArdourMono.ttf')
+    bld.install_files(os.path.join (bld.env['DATADIR'], 'icons'), bld.path.ant_glob('icons/*.png'))
+    bld.install_files(os.path.join (bld.env['DATADIR'], 'pixmaps'), bld.path.ant_glob('pixmaps/*.xpm'))
+    bld.install_files(bld.env['DATADIR'], 'splash.png')
+    bld.install_files(bld.env['DATADIR'], 'small-splash.png')
+    bld.install_files(bld.env['DATADIR'], 'ArdourMono.ttf')
 
     # Default UI configuration
 
     # Default UI configuration
-    bld.install_files('${SYSCONFDIR}/ardour3', 'ardour3_ui_default.conf')
+    bld.install_files(bld.env['CONFDIR'], 'ui_default.conf')
 
     # Default export stuff
 
     # Default export stuff
-    bld.install_files('${SYSCONFDIR}/ardour3/export', bld.path.ant_glob('export/*.format'))
+    bld.install_files(os.path.join(bld.env['CONFDIR'],' export'), bld.path.ant_glob('export/*.format'))
 
     # i18n
     if bld.is_defined('ENABLE_NLS'):
 
     # i18n
     if bld.is_defined('ENABLE_NLS'):