diff options
author | Robin Gareus <robin@gareus.org> | 2015-01-17 18:19:25 +0100 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2015-01-17 18:19:25 +0100 |
commit | 20ea90a186748f34061fec323faa74f084c7937c (patch) | |
tree | 2f5577e160cea462b11ff423a7452f95bcdf0906 /libs | |
parent | a58730e8f9126b479537a3f5d98bd4882e51ffc4 (diff) |
waf: fix concurrency issue with duplicate targets
The same source file cannot safely be used in different wscripts
with concurrency (if they were in the same wscript it works
.c.1.o .c.2.o, etc).
[387/764] c: libs/fst/vstwin.c -> build/libs/fst/vstwin.c.1.o
[731/764] c: libs/fst/vstwin.c -> build/libs/fst/vstwin.c.1.o
[746/764] cxxprogram: build/libs/fst/scanner.cc.1.o build/libs/fst/vstwin.c.1.o -> build/libs/fst/ardour-vst-scanner.exe
[750/764] cxxshlib: [...] build/libs/fst/vstwin.c.1.o [...] -> build/libs/ardour/ardour-3.dll
and about one every full moon (depending on concurrency) it failed:
missing file: 'build/libs/fst/vstwin.c.1.o'
Diffstat (limited to 'libs')
-rw-r--r-- | libs/ardour/wscript | 2 | ||||
-rw-r--r-- | libs/fst/wscript | 9 |
2 files changed, 6 insertions, 5 deletions
diff --git a/libs/ardour/wscript b/libs/ardour/wscript index dadea20645..f1167e8611 100644 --- a/libs/ardour/wscript +++ b/libs/ardour/wscript @@ -382,7 +382,7 @@ def build(bld): obj.includes += [ '../fst' ] obj.defines += [ 'WINDOWS_VST_SUPPORT' ] if bld.env['build_target'] == 'mingw': - obj.source += [ '../fst/vstwin.c'] + obj.use += [ 'vstwin' ] obj.uselib += ['GDI32'] if bld.is_defined('LXVST_SUPPORT'): diff --git a/libs/fst/wscript b/libs/fst/wscript index 3e4605837d..b307bfa4b8 100644 --- a/libs/fst/wscript +++ b/libs/fst/wscript @@ -68,14 +68,15 @@ def build(bld): obj.use = [ 'libpbd' ] else: obj = bld (features = 'cxx c cxxprogram') + obj.source = ( 'scanner.cc' ) + obj.target = 'ardour-vst-scanner' if bld.is_defined('WINDOWS_VST_SUPPORT'): - obj.source = ( 'scanner.cc', 'vstwin.c' ) + bld (features = 'c', name='vstwin', source='vstwin.c', uselib = 'GIOMM', includes = [ '../pbd/', '../ardour/', '.' ]) obj.uselib = ['GIOMM', 'DL', 'GDI32'] + obj.use = [ 'libpbd', 'vstwin' ] else: - obj.source = ( 'scanner.cc' ) obj.uselib = ['GIOMM', 'DL'] - obj.target = 'ardour-vst-scanner' - obj.use = [ 'libpbd' ] + obj.use = [ 'libpbd' ] obj.includes = [ '../pbd/', '../ardour/', '.' ] obj.defines = [ |