Fix install path problems (s/ardour2/ardour3).
[ardour.git] / vst / SConscript
index a711a1386dee187e2ff15291905d79e9b1a30413..c4254dc5ed2bd7ff3917e761689d04679439ea22 100644 (file)
@@ -4,7 +4,9 @@ import os
 import os.path
 import glob
 
-Import('env install_prefix final_prefix config_prefix libraries')
+from stat import *
+
+Import('env install_prefix final_prefix config_prefix subst_dict libraries')
 
 ardour_vst = env.Copy()
 
@@ -33,7 +35,7 @@ ardour_vst.Merge ([
     libraries['libgnomecanvas2'],
     libraries['libgnomecanvasmm'],
     libraries['sysmidi'],
-    libraries['sndfile'],
+    libraries['sndfile-ardour'],
     libraries['flac'],
     libraries['lrdf'],
     libraries['glibmm2'],
@@ -49,6 +51,35 @@ ardour_vst.Merge ([
     libraries['jack']
 ])
 
-wine_executable = ardour_vst.Program (target = 'ardour_vst', source = sources)
+#
+# run winegcc to build a mini-win32 executable that wine can run. note: this also
+# generates a script called 'ardour_vst' which we don't use
+#
+
+wine_generated_executable = ardour_vst.Program (target = 'ardour_vst', source = sources)
+
+#
+# generate a shell script that will run the .exe file correctly
+# 
+
+wine_executable = ardour_vst.SubstInFile ('ardourvst', 'ardourvst.in', SUBST_DICT = subst_dict)
+
+# make sure the scripts are executable
+
+if ardour_vst['VST']:
+    ardour_vst.AddPostAction (wine_executable, ardour_vst.Action (Chmod ('vst/ardevst', 0755)))
+    ardour_vst.AddPostAction (wine_executable, ardour_vst.Action (Chmod ("vst/" + str(wine_executable[0]), 0755)))
+    Default([wine_generated_executable, wine_executable])
+    
+    # the wine script - into the bin dir
+    env.Alias('install', env.Install(os.path.join(install_prefix, 'bin'), wine_executable))
+    # the win32 executable - into the lib dir since the wine script will look for it there
+    env.Alias('install', env.Install(os.path.join(install_prefix, env['LIBDIR'], 'ardour3'), 'ardour_vst.exe.so'))
+
+env.Alias ('tarball', env.Distribute (env['DISTTREE'],
+                                      [ 'SConscript',
+                                        'winmain.c',
+                                        'ardourvst.in',
+                                        'ardevst'
+                                        ]))
 
-Default(wine_executable)