comparison wscript @ 162:5e944736a8ed

update build scripts for mingw-w64
author Paul Brossier <piem@piem.org>
date Sun, 24 Jul 2016 21:02:05 +0200
parents 4b5c9e2d11c7
children 2ccbca010cc8
comparison
equal deleted inserted replaced
161:01b4286e1dab 162:5e944736a8ed
7 local_aubio_include = 'contrib/aubio-dist/include' 7 local_aubio_include = 'contrib/aubio-dist/include'
8 local_aubio_lib = 'contrib/aubio/build/src' 8 local_aubio_lib = 'contrib/aubio/build/src'
9 local_vamp_include = 'contrib/vamp-plugin-sdk-2.6' 9 local_vamp_include = 'contrib/vamp-plugin-sdk-2.6'
10 local_vamp_lib_i686 = 'contrib/vamp-plugin-sdk-2.6-binaries-i686-linux' 10 local_vamp_lib_i686 = 'contrib/vamp-plugin-sdk-2.6-binaries-i686-linux'
11 local_vamp_lib_amd64 = 'contrib/vamp-plugin-sdk-2.6-binaries-amd64-linux' 11 local_vamp_lib_amd64 = 'contrib/vamp-plugin-sdk-2.6-binaries-amd64-linux'
12 # using debian/stable (jessie), the stdc++ abi seems broken. recompile it.
13 local_vamp_lib_mingw = 'contrib/vamp-plugin-sdk-2.6' #-binaries-win32-mingw'
12 local_vamp_lib_osx = 'contrib/vamp-plugin-sdk-2.6-binaries-osx' 14 local_vamp_lib_osx = 'contrib/vamp-plugin-sdk-2.6-binaries-osx'
13 local_vamp_lib_win32 = 'contrib' 15 local_vamp_lib_win32 = 'contrib'
14 16
15 17
16 def options(opt): 18 def options(opt):
27 conf.load('compiler_cxx') 29 conf.load('compiler_cxx')
28 local_aubio_stlib = 'libaubio.a' 30 local_aubio_stlib = 'libaubio.a'
29 local_vamp_stlib = 'libvamp-sdk.a' 31 local_vamp_stlib = 'libvamp-sdk.a'
30 32
31 if sys.platform.startswith('linux'): 33 if sys.platform.startswith('linux'):
32 if platform.machine() == 'x86_64': 34 if 'mingw' in conf.env.CXX[0]:
35 local_vamp_lib = local_vamp_lib_mingw
36 elif platform.machine() == 'x86_64':
33 local_vamp_lib = local_vamp_lib_amd64 37 local_vamp_lib = local_vamp_lib_amd64
34 elif platform.machine() == 'x86_64': 38 elif platform.machine() == 'x86_64':
35 local_vamp_lib = local_vamp_lib_i686 39 local_vamp_lib = local_vamp_lib_i686
36 conf.check(lib='cblas', uselib_store='CBLAS', mandatory=False) 40 conf.check(lib='cblas', uselib_store='CBLAS', mandatory=False)
37 elif sys.platform == 'darwin': 41 elif sys.platform == 'darwin':
65 conf.env.CXXFLAGS += ['-g', '-Wall', '-Wextra'] 69 conf.env.CXXFLAGS += ['-g', '-Wall', '-Wextra']
66 70
67 if sys.platform.startswith('linux'): 71 if sys.platform.startswith('linux'):
68 conf.env['CXXFLAGS'] += ['-O3', '-msse', '-msse2', '-mfpmath=sse', 72 conf.env['CXXFLAGS'] += ['-O3', '-msse', '-msse2', '-mfpmath=sse',
69 '-ftree-vectorize'] 73 '-ftree-vectorize']
70 conf.env.append_value('LINKFLAGS', '-Wl,-z,defs') 74 if 'mingw' in conf.env.CXX[0]:
71 # add plugin.map 75 conf.env.append_value('LINKFLAGS', '-Wl,--enable-auto-import')
72 conf.env.append_value('LINKFLAGS', '-Wl,--version-script=../vamp-plugin.map') 76 conf.env.append_value('LINKFLAGS', '-Wl,--retain-symbols-file=../vamp-plugin.list')
77 else:
78 conf.env.append_value('LINKFLAGS', '-Wl,-z,defs')
79 # add plugin.map
80 conf.env.append_value('LINKFLAGS', '-Wl,--version-script=../vamp-plugin.map')
73 elif sys.platform == 'win32': 81 elif sys.platform == 'win32':
74 conf.env.append_value('CXXFLAGS', '/W4') 82 conf.env.append_value('CXXFLAGS', '/W4')
75 conf.env.append_value('CXXFLAGS', '/EHsc') 83 conf.env.append_value('CXXFLAGS', '/EHsc')
76 #conf.env.append_value('CXXFLAGS', '/D_CRT_SECURE_NO_WARNINGS') 84 #conf.env.append_value('CXXFLAGS', '/D_CRT_SECURE_NO_WARNINGS')
77 #, '/DWIN32', '/D_WINDOWS', '/D_USRDLL', '/D_WINDLL' 85 #, '/DWIN32', '/D_WINDOWS', '/D_USRDLL', '/D_WINDLL'
84 # Host Library 92 # Host Library
85 plugin_sources = bld.path.ant_glob('plugins/*.cpp') 93 plugin_sources = bld.path.ant_glob('plugins/*.cpp')
86 plugin_sources += bld.path.ant_glob('*.cpp') 94 plugin_sources += bld.path.ant_glob('*.cpp')
87 95
88 # rename libvamp-aubio to vamp-plugin binary name 96 # rename libvamp-aubio to vamp-plugin binary name
89 if sys.platform.startswith('linux'): 97 if 'mingw' in bld.env.CXX[0]:
98 bld.env['cxxshlib_PATTERN'] = '%s.dll'
99 install_path = None
100 elif sys.platform.startswith('linux'):
90 bld.env['cxxshlib_PATTERN'] = '%s.so' 101 bld.env['cxxshlib_PATTERN'] = '%s.so'
91 install_path = '${LIBDIR}/vamp' 102 install_path = '${LIBDIR}/vamp'
92 elif sys.platform.startswith('darwin'): 103 elif sys.platform.startswith('darwin'):
93 bld.env['cxxshlib_PATTERN'] = '%s.dylib' 104 bld.env['cxxshlib_PATTERN'] = '%s.dylib'
94 install_path = '/Library/Audio/Plug-Ins/Vamp' 105 install_path = '/Library/Audio/Plug-Ins/Vamp'