Numerical sort patch from mantis #2654
[ardour.git] / SConstruct
index 1565768c0b580a47fb187011792ad1052439bd19..c276f9825a21684a5ddab6b1c16ff02f07160761 100644 (file)
@@ -21,7 +21,7 @@ import SCons.Node.FS
 SConsignFile()
 EnsureSConsVersion(0, 96)
 
-ardour_version = '2.7.1'
+ardour_version = '2.8'
 
 subst_dict = { }
 
@@ -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)',''),
-    ('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),
@@ -394,28 +394,6 @@ tarball_bld = Builder (action = tarballer,
 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
 ####################
@@ -423,9 +401,11 @@ else:
 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'])
+       context['ENV']['PKG_CONFIG_PATH'] = os.environ['PKG_CONFIG_PATH']
            
     if os.environ.has_key('CC'):
        context['CC'] = os.environ['CC']
@@ -737,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['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
@@ -748,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")
-        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:
@@ -762,6 +750,17 @@ if env['DIST_TARGET'] == 'x86_64':
 else:
     env['LIBDIR']='lib'
 
+#
+# no VST on x86_64
+#
+
+if env['DIST_TARGET'] == 'x86_64' and env['VST']:
+    print "\n\n=================================================="
+    print "You cannot use VST plugins with a 64 bit host. Please run scons with VST=0"
+    print "\nIt is theoretically possible to build a 32 bit host on a 64 bit system."
+    print "However, this is tricky and not recommended for beginners."
+    sys.exit (-1)
+
 #
 # a single way to test if we're on OS X
 #