diff options
author | Nirbheek Chauhan <nirbheek@centricular.com> | 2017-06-21 03:25:05 +0530 |
---|---|---|
committer | Jussi Pakkanen <jpakkane@gmail.com> | 2017-06-22 06:07:45 -0400 |
commit | 185808bf167fb7477211c7b624cd7a3ba3c4ce77 (patch) | |
tree | ea514956804a03efe1faa8e97f4e2249d4b92b21 | |
parent | a681348b057e3ef8df3d0e35fd146ec75a880b4a (diff) | |
download | meson-185808bf167fb7477211c7b624cd7a3ba3c4ce77.zip meson-185808bf167fb7477211c7b624cd7a3ba3c4ce77.tar.gz meson-185808bf167fb7477211c7b624cd7a3ba3c4ce77.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, |