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/fst | |
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/fst')
-rw-r--r-- | libs/fst/wscript | 9 |
1 files changed, 5 insertions, 4 deletions
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 = [ |