2006-06-21 20:23:11 -04:00
|
|
|
# -*- python -*-
|
|
|
|
|
|
|
|
import os
|
|
|
|
import os.path
|
|
|
|
import glob
|
|
|
|
|
2006-09-26 17:54:51 -04:00
|
|
|
from stat import *
|
|
|
|
|
|
|
|
Import('env install_prefix final_prefix config_prefix subst_dict libraries')
|
2006-06-21 20:23:11 -04:00
|
|
|
|
2008-09-10 11:03:30 -04:00
|
|
|
ardour_vst = env.Clone()
|
2006-06-21 20:23:11 -04:00
|
|
|
|
|
|
|
sources = Split ("""
|
|
|
|
winmain.c
|
|
|
|
#libs/fst/fst.o
|
|
|
|
#libs/fst/fstinfofile.o
|
|
|
|
#libs/fst/vstwin.o
|
|
|
|
#libs/fst/vsti.o
|
|
|
|
"""
|
|
|
|
)
|
|
|
|
|
2006-07-07 19:51:30 -04:00
|
|
|
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')
|
2006-06-21 20:23:11 -04:00
|
|
|
ardour_vst["CC"] ="winegcc"
|
|
|
|
ardour_vst["LINK"] ="wineg++ -mwindows"
|
|
|
|
|
|
|
|
ardour_vst.Merge ([
|
|
|
|
libraries['ardour'],
|
|
|
|
libraries['ardour_cp'],
|
|
|
|
libraries['gtkmm2ext'],
|
|
|
|
libraries['midi++2'],
|
2006-07-02 05:19:24 -04:00
|
|
|
libraries['pbd'],
|
2006-06-21 20:23:11 -04:00
|
|
|
libraries['gtkmm2'],
|
|
|
|
libraries['glib2'],
|
|
|
|
libraries['libgnomecanvas2'],
|
|
|
|
libraries['libgnomecanvasmm'],
|
|
|
|
libraries['sysmidi'],
|
2008-09-17 07:26:31 -04:00
|
|
|
libraries['sndfile'],
|
2006-06-21 20:23:11 -04:00
|
|
|
libraries['lrdf'],
|
|
|
|
libraries['glibmm2'],
|
|
|
|
libraries['pangomm'],
|
|
|
|
libraries['atkmm'],
|
|
|
|
libraries['gdkmm2'],
|
|
|
|
libraries['sigc2'],
|
|
|
|
libraries['gtk2'],
|
|
|
|
libraries['xml'],
|
|
|
|
libraries['xslt'],
|
|
|
|
libraries['soundtouch'],
|
|
|
|
libraries['samplerate'],
|
|
|
|
libraries['jack']
|
|
|
|
])
|
|
|
|
|
2006-09-26 17:54:51 -04:00
|
|
|
#
|
|
|
|
# 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
|
|
|
|
|
2006-10-09 13:56:13 -04:00
|
|
|
if ardour_vst['VST']:
|
2006-10-09 15:53:04 -04:00
|
|
|
ardour_vst.AddPostAction (wine_executable, ardour_vst.Action (Chmod ('vst/ardevst', 0755)))
|
2008-02-16 17:55:47 -05:00
|
|
|
ardour_vst.AddPostAction (wine_executable, ardour_vst.Action (Chmod ("vst/" + str(wine_executable[0]), 0755)))
|
2006-10-09 13:56:13 -04:00
|
|
|
Default([wine_generated_executable, wine_executable])
|
|
|
|
|
2006-10-09 22:36:18 -04:00
|
|
|
# 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
|
2008-02-21 14:30:01 -05:00
|
|
|
env.Alias('install', env.Install(os.path.join(install_prefix, env['LIBDIR'], 'ardour3'), 'ardour_vst.exe.so'))
|
2006-09-28 13:23:52 -04:00
|
|
|
|
|
|
|
env.Alias ('tarball', env.Distribute (env['DISTTREE'],
|
|
|
|
[ 'SConscript',
|
|
|
|
'winmain.c',
|
|
|
|
'ardourvst.in',
|
|
|
|
'ardevst'
|
|
|
|
]))
|
|
|
|
|