diff options
author | Nirbheek Chauhan <nirbheek@centricular.com> | 2017-06-21 03:25:05 +0530 |
---|---|---|
committer | Nirbheek Chauhan <nirbheek@centricular.com> | 2017-06-29 14:21:04 +0530 |
commit | eebaef47f0a2ad15d315960b6d18bef1b132cc0b (patch) | |
tree | 63f57c0ae5c0bab1a981208a43db8df5d2d88fb8 | |
parent | 920a7ef454895c796409fd8ec571b29f97a44135 (diff) | |
download | meson-eebaef47f0a2ad15d315960b6d18bef1b132cc0b.zip meson-eebaef47f0a2ad15d315960b6d18bef1b132cc0b.tar.gz meson-eebaef47f0a2ad15d315960b6d18bef1b132cc0b.tar.bz2 |
vala: Only add --use-header for unity builds
Closes https://github.com/mesonbuild/meson/issues/1969
-rw-r--r-- | mesonbuild/backend/ninjabackend.py | 8 | ||||
-rw-r--r-- | test cases/vala/7 shared library/lib/meson.build | 10 |
2 files changed, 16 insertions, 2 deletions
diff --git a/mesonbuild/backend/ninjabackend.py b/mesonbuild/backend/ninjabackend.py index b1f6d85..415b554 100644 --- a/mesonbuild/backend/ninjabackend.py +++ b/mesonbuild/backend/ninjabackend.py @@ -1100,7 +1100,13 @@ int dummy; args += ['--library=' + target.name] # Outputted header hname = os.path.join(self.get_target_dir(target), target.vala_header) - args += ['-H', hname, '--use-header'] + args += ['-H', hname] + if self.is_unity(target): + # Without this the declarations will get duplicated in the .c + # files and cause a build failure when all of them are + # #include-d in one .c file. + # https://github.com/mesonbuild/meson/issues/1969 + args += ['--use-header'] valac_outputs.append(hname) # Outputted vapi file vapiname = os.path.join(self.get_target_dir(target), target.vala_vapi) diff --git a/test cases/vala/7 shared library/lib/meson.build b/test cases/vala/7 shared library/lib/meson.build index 78646a8..edeeb96 100644 --- a/test cases/vala/7 shared library/lib/meson.build +++ b/test cases/vala/7 shared library/lib/meson.build @@ -1,4 +1,12 @@ -l = shared_library('valalib', 'mylib.vala', dependencies : valadeps) +args = [] +# https://github.com/mesonbuild/meson/issues/1969 +if get_option('unity') == 'on' + vala_args = ['-H', 'mylib.h'] +endif + +l = shared_library('valalib', 'mylib.vala', + vala_args : args, + dependencies : valadeps) shared_library('installed_vala_lib', 'mylib.vala', dependencies : valadeps, |