do not pass a non-zero offset to plugins AFTER the first call to connect_and_run...
[ardour.git] / SConstruct
index 89966722116472d40791a6daa309034b95c89658..a26d583dbabf438b26d3ce47125ca87f9a59abf8 100644 (file)
@@ -32,7 +32,7 @@ subst_dict = { }
 opts = Options('scache.conf')
 opts.AddOptions(
     ('ARCH', 'Set architecture-specific compilation flags by hand (all flags as 1 argument)',''),
 opts = Options('scache.conf')
 opts.AddOptions(
     ('ARCH', 'Set architecture-specific compilation flags by hand (all flags as 1 argument)',''),
-    ('WINDOWS_KEY', 'Set X Modifier (Mod1,Mod2,Mod3,Mod4,Mod5) for "Windows" key', 'Mod4'),
+    ('WINDOWS_KEY', 'Set X Modifier (Mod1,Mod2,Mod3,Mod4,Mod5) for "Windows" key', 'Mod4><Super'),
     BoolOption('AUDIOUNITS', 'Compile with Apple\'s AudioUnit library. (experimental)', 0),
     BoolOption('COREAUDIO', 'Compile with Apple\'s CoreAudio library', 0),
     BoolOption('GTKOSX', 'Compile for use with GTK-OSX, not GTK-X11', 0),
     BoolOption('AUDIOUNITS', 'Compile with Apple\'s AudioUnit library. (experimental)', 0),
     BoolOption('COREAUDIO', 'Compile with Apple\'s CoreAudio library', 0),
     BoolOption('GTKOSX', 'Compile for use with GTK-OSX, not GTK-X11', 0),
@@ -59,8 +59,8 @@ opts.AddOptions(
     BoolOption('GPROFILE', 'Compile with support for gprofile (Developers only)', 0),
     BoolOption('FREEDESKTOP', 'Install MIME type, icons and .desktop file as per the freedesktop.org spec (requires xdg-utils and shared-mime-info). "scons uninstall" removes associations in desktop database', 0),
     BoolOption('TRANZPORT', 'Compile with support for Frontier Designs (if libusb is available)', 1),
     BoolOption('GPROFILE', 'Compile with support for gprofile (Developers only)', 0),
     BoolOption('FREEDESKTOP', 'Install MIME type, icons and .desktop file as per the freedesktop.org spec (requires xdg-utils and shared-mime-info). "scons uninstall" removes associations in desktop database', 0),
     BoolOption('TRANZPORT', 'Compile with support for Frontier Designs (if libusb is available)', 1),
-    BoolOption('AUBIO', "Use Paul Brossier's aubio library for feature detection (if available)", 1)
-    
+    BoolOption('AUBIO', "Use Paul Brossier's aubio library for feature detection (if available)", 1),
+    BoolOption('AUSTATE', "Build with support for AU settings & presets saving/loading", 0)
 )
 
 #----------------------------------------------------------------------
 )
 
 #----------------------------------------------------------------------
@@ -394,28 +394,6 @@ tarball_bld = Builder (action = tarballer,
 env.Append (BUILDERS = {'Distribute' : dist_bld})
 env.Append (BUILDERS = {'Tarball' : tarball_bld})
 
 env.Append (BUILDERS = {'Distribute' : dist_bld})
 env.Append (BUILDERS = {'Tarball' : tarball_bld})
 
-#
-# Make sure they know what they are doing
-#
-
-if env['VST']:
-    if os.path.isfile('.personal_use_only'):
-        print "Enabling VST support. Note that distributing a VST-enabled ardour\nis a violation of several different licences.\nBuild with VST=false if you intend to distribute ardour to others."
-    else:
-        sys.stdout.write ("Are you building Ardour for personal use (rather than distribution to others)? [no]: ")
-        answer = sys.stdin.readline ()
-        answer = answer.rstrip().strip()
-        if answer == "yes" or answer == "y":
-            fh = open('.personal_use_only', 'w')
-            fh.close()
-            print "OK, VST support will be enabled"
-        else:
-            print 'You cannot build Ardour with VST support for distribution to others.\nIt is a violation of several different licenses. Build with VST=false.'
-            sys.exit (-1);
-else:
-    if os.path.isfile('.personal_use_only'):
-        os.remove('.personal_use_only')
-
 ####################
 # push environment
 ####################
 ####################
 # push environment
 ####################
@@ -423,9 +401,11 @@ else:
 def pushEnvironment(context):
     if os.environ.has_key('PATH'):
        context.Append(PATH = os.environ['PATH'])
 def pushEnvironment(context):
     if os.environ.has_key('PATH'):
        context.Append(PATH = os.environ['PATH'])
+       context['ENV']['PATH'] = os.environ['PATH']
        
     if os.environ.has_key('PKG_CONFIG_PATH'):
        context.Append(PKG_CONFIG_PATH = os.environ['PKG_CONFIG_PATH'])
        
     if os.environ.has_key('PKG_CONFIG_PATH'):
        context.Append(PKG_CONFIG_PATH = os.environ['PKG_CONFIG_PATH'])
+       context['ENV']['PKG_CONFIG_PATH'] = os.environ['PKG_CONFIG_PATH']
            
     if os.environ.has_key('CC'):
        context['CC'] = os.environ['CC']
            
     if os.environ.has_key('CC'):
        context['CC'] = os.environ['CC']
@@ -706,7 +686,12 @@ elif ((re.search ("i[0-9]86", config[config_cpu]) != None) or (re.search ("x86_6
     
     build_host_supports_sse = 0
     
     
     build_host_supports_sse = 0
     
-    if (re.search ("i[0-9]86", config[config_cpu]) != None):
+    #
+    # ARCH_X86 means anything in the x86 family from i386 to x86_64
+    # USE_X86_64_ASM is used to distingush 32 and 64 bit assembler
+    #
+
+    if (re.search ("(i[0-9]86|x86_64)", config[config_cpu]) != None):
         debug_flags.append ("-DARCH_X86")
         opt_flags.append ("-DARCH_X86")
     
         debug_flags.append ("-DARCH_X86")
         opt_flags.append ("-DARCH_X86")
     
@@ -732,6 +717,14 @@ elif ((re.search ("i[0-9]86", config[config_cpu]) != None) or (re.search ("x86_6
     if ((env['DIST_TARGET'] == 'i686') or (env['DIST_TARGET'] == 'x86_64')) and build_host_supports_sse:
         opt_flags.extend (["-msse", "-mfpmath=sse", "-DUSE_XMMINTRIN"])
         debug_flags.extend (["-msse", "-mfpmath=sse", "-DUSE_XMMINTRIN"])
     if ((env['DIST_TARGET'] == 'i686') or (env['DIST_TARGET'] == 'x86_64')) and build_host_supports_sse:
         opt_flags.extend (["-msse", "-mfpmath=sse", "-DUSE_XMMINTRIN"])
         debug_flags.extend (["-msse", "-mfpmath=sse", "-DUSE_XMMINTRIN"])
+
+    if (env['VST']):
+        #
+        # everything must be 32 bit for VST (we're not replicating Cakewalk's hack, yet ...)
+        # 
+        opt_flags.extend(["-m32"])
+        debug_flags.extend(["-m32"])
+
 # end of processor-specific section
 
 # optimization section
 # end of processor-specific section
 
 # optimization section
@@ -743,7 +736,7 @@ if env['FPU_OPTIMIZATION']:
     elif env['DIST_TARGET'] == 'i686' or env['DIST_TARGET'] == 'x86_64':
         opt_flags.append ("-DBUILD_SSE_OPTIMIZATIONS")
         debug_flags.append ("-DBUILD_SSE_OPTIMIZATIONS")
     elif env['DIST_TARGET'] == 'i686' or env['DIST_TARGET'] == 'x86_64':
         opt_flags.append ("-DBUILD_SSE_OPTIMIZATIONS")
         debug_flags.append ("-DBUILD_SSE_OPTIMIZATIONS")
-        if env['DIST_TARGET'] == 'x86_64':
+        if env['DIST_TARGET'] == 'x86_64' and not env['VST']:
             opt_flags.append ("-DUSE_X86_64_ASM")
             debug_flags.append ("-DUSE_X86_64_ASM")
         if build_host_supports_sse != 1:
             opt_flags.append ("-DUSE_X86_64_ASM")
             debug_flags.append ("-DUSE_X86_64_ASM")
         if build_host_supports_sse != 1:
@@ -846,10 +839,7 @@ def prep_libcheck(topenv, libinfo):
             GTKROOT = os.path.expanduser ('~/gtk/inst')
             libinfo.Append(CPPPATH= GTKROOT + "/include", LIBPATH= GTKROOT + "/lib")
             libinfo.Append(CXXFLAGS="-I" + GTKROOT + "/include", LINKFLAGS="-L" + GTKROOT + "/lib")
             GTKROOT = os.path.expanduser ('~/gtk/inst')
             libinfo.Append(CPPPATH= GTKROOT + "/include", LIBPATH= GTKROOT + "/lib")
             libinfo.Append(CXXFLAGS="-I" + GTKROOT + "/include", LINKFLAGS="-L" + GTKROOT + "/lib")
-
-
-                
-
+           
 prep_libcheck(env, env)
 
 
 prep_libcheck(env, env)