Add some type guards to 'wstdint.h' (in case we previously #included some headers...
[ardour.git] / wscript
diff --git a/wscript b/wscript
index 4151a889ae98709fd94a69671c81ca10f694d3a2..52d1ec6e28ad31fb9fc657aab65e170ff1e35712 100644 (file)
--- a/wscript
+++ b/wscript
@@ -74,7 +74,9 @@ children = [
         'mcp',
         'patchfiles',
         'headless',
+        # shared helper binaries (plugin-scanner, exec-wrapper)
         'libs/fst',
+        'libs/vfork',
 ]
 
 i18n_children = [
@@ -399,6 +401,8 @@ def set_compiler_flags (conf,opt):
     if opt.nls:
         compiler_flags.append('-DENABLE_NLS')
 
+    compiler_flags.append ('-DPROGRAM_NAME="' + Options.options.program_name + '"')
+
     if opt.debug:
         conf.env.append_value('CFLAGS', debug_flags)
         conf.env.append_value('CXXFLAGS', debug_flags)
@@ -426,6 +430,8 @@ def options(opt):
     autowaf.set_options(opt, debug_by_default=True)
     opt.add_option('--program-name', type='string', action='store', default='Ardour', dest='program_name',
                     help='The user-visible name of the program being built')
+    opt.add_option ('--trx', action='store_true', default=False, dest='trx_build',
+                    help='Whether to build for TRX')
     opt.add_option('--arch', type='string', action='store', dest='arch',
                     help='Architecture-specific compiler flags')
     opt.add_option('--backtrace', action='store_true', default=True, dest='backtrace',
@@ -575,6 +581,9 @@ def configure(conf):
         conf.env.append_value ('CXXFLAGS', '-DNO_PLUGIN_STATE')
         conf.define ('NO_PLUGIN_STATE', 1)
 
+    if Options.options.trx_build:
+        conf.define ('TRX_BUILD', 1)
+
     if Options.options.lv2dir:
         conf.env['LV2DIR'] = Options.options.lv2dir
     else:
@@ -755,7 +764,6 @@ def configure(conf):
            conf.define('LXVST_SUPPORT', 1)
            conf.env['LXVST_SUPPORT'] = True
     conf.define('WINDOWS_KEY', opts.windows_key)
-    conf.env['PROGRAM_NAME'] = opts.program_name
     if opts.rt_alloc_debug:
         conf.define('DEBUG_RT_ALLOC', 1)
         conf.env['DEBUG_RT_ALLOC'] = True
@@ -793,7 +801,7 @@ const char* const ardour_config_info = "\\n\\
     def write_config_text(title, val):
         autowaf.display_msg(conf, title, val)
         config_text.write(title + ': ')
-        config_text.write(str(val))
+        config_text.write(str(val).replace ('"', '\\"'))
         config_text.write("\\n\\\n")
 
     write_config_text('Build documentation',   conf.env['DOCS'])
@@ -856,6 +864,20 @@ def build(bld):
     bld.path.find_dir ('libs/ardour/ardour')
     bld.path.find_dir ('libs/pbd/pbd')
 
+    # set up target directories
+    lwrcase_dirname = 'ardour3'
+
+    if bld.is_defined ('TRX_BUILD'):
+        lwrcase_dirname = 'trx'
+
+    # configuration files go here
+    bld.env['CONFDIR'] = os.path.join(bld.env['SYSCONFDIR'], lwrcase_dirname)
+    # data files loaded at run time go here
+    bld.env['DATADIR'] = os.path.join(bld.env['DATADIR'], lwrcase_dirname)
+    # shared objects loaded at runtime go here (two aliases)
+    bld.env['DLLDIR'] = os.path.join(bld.env['LIBDIR'], lwrcase_dirname)
+    bld.env['LIBDIR'] = bld.env['DLLDIR']
+
     autowaf.set_recursive()
 
     if sys.platform == 'darwin':
@@ -869,7 +891,7 @@ def build(bld):
     for i in children:
         bld.recurse(i)
 
-    bld.install_files (os.path.join(bld.env['SYSCONFDIR'], 'ardour3', ), 'ardour_system.rc')
+    bld.install_files (bld.env['SYSCONFDIR'], 'ardour_system.rc')
 
     if bld.env['RUN_TESTS']:
         bld.add_post_fun(test)