X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=vst%2FSConscript;h=eb4dd6683b0fa3d0dcf630be2732da47d4699ff8;hb=72b0e4399c2008cd507a339df04ac94ef859c8e8;hp=fead9ba512cc31bc437a5e51197ff34b27ba9ac3;hpb=fe13d08874f08b723df53116e5655c3d229a657e;p=ardour.git diff --git a/vst/SConscript b/vst/SConscript index fead9ba512..eb4dd6683b 100644 --- a/vst/SConscript +++ b/vst/SConscript @@ -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() @@ -17,8 +19,8 @@ winmain.c """ ) -ardour_vst.Append (CCFLAGS="-DVST_SUPPORT", CPPPATH="#libs/fst", LIBPATH='#gtk2_ardour') -ardour_vst.Append (LINKFLAGS='-L/usr/X11R6/lib -lasound -lardourgtk -lX11 -lpthread') +ardour_vst.Append (CCFLAGS="-DVST_SUPPORT", CPPPATH="#libs/fst", LIBPATH='#gtk2_ardour', LIBS="ardourgtk") +ardour_vst.Append (LINKFLAGS='-L/usr/X11R6/lib -lasound -lX11 -lpthread') ardour_vst["CC"] ="winegcc" ardour_vst["LINK"] ="wineg++ -mwindows" @@ -27,13 +29,13 @@ ardour_vst.Merge ([ libraries['ardour_cp'], libraries['gtkmm2ext'], libraries['midi++2'], - libraries['pbd3'], + libraries['pbd'], libraries['gtkmm2'], libraries['glib2'], 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 (wine_executable, 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'], 'ardour2'), 'ardour_vst.exe.so')) + +env.Alias ('tarball', env.Distribute (env['DISTTREE'], + [ 'SConscript', + 'winmain.c', + 'ardourvst.in', + 'ardevst' + ])) -Default(wine_executable)