diff options
author | Zeeshan Ali <zeenix@collabora.co.uk> | 2018-07-10 13:17:52 +0200 |
---|---|---|
committer | Zeeshan Ali <zeenix@collabora.co.uk> | 2018-07-10 13:17:52 +0200 |
commit | 00c4b8e4707a3a15a2e5589e1c72e8759923ce33 (patch) | |
tree | 095e9e1beaa429cac836dc882623dd4644bfa9ef | |
parent | 7d3fa8450958e7c536e84f150b690e454fc3f95c (diff) | |
download | geoclue-00c4b8e4707a3a15a2e5589e1c72e8759923ce33.tar.gz |
build: Declare build-time deps on generated headers
This should fix the issue with parallel build on mega-multi-core machiens
we are seeing.
-rw-r--r-- | demo/meson.build | 6 | ||||
-rw-r--r-- | libgeoclue/meson.build | 6 | ||||
-rw-r--r-- | public-api/meson.build | 15 | ||||
-rw-r--r-- | src/agent/meson.build | 13 |
4 files changed, 23 insertions, 17 deletions
diff --git a/demo/meson.build b/demo/meson.build index b66d697..d631f23 100644 --- a/demo/meson.build +++ b/demo/meson.build @@ -15,8 +15,7 @@ if get_option('libgeoclue') 'where-am-i.c', include_directories: include_dirs, c_args: c_args, - link_with: [ libgeoclue ], - dependencies: base_deps, + dependencies: [base_deps, libgeoclue_dep], install: true, install_dir: demo_dir) desktop_in = configure_file(output: 'geoclue-where-am-i.desktop.in', @@ -38,7 +37,8 @@ if get_option('demo-agent') c_args = [ '-Werror' ] sources = [ 'gclue-service-agent.h', 'gclue-service-agent.c', - 'agent.c' ] + 'agent.c', + libgeoclue_agent_sources[1] ] deps = base_deps + [ dependency('libnotify') ] executable('agent', sources, diff --git a/libgeoclue/meson.build b/libgeoclue/meson.build index b05890e..66f5049 100644 --- a/libgeoclue/meson.build +++ b/libgeoclue/meson.build @@ -53,6 +53,10 @@ libgeoclue = library('geoclue-2', version: '0.0.0', install: true) +libgeoclue_dep = declare_dependency( + link_with: libgeoclue, + sources: libgeoclue_public_api_gen_sources[1]) + gir = find_program('g-ir-scanner', required: false) vapigen = find_program('vapigen', required: false) cross_build = meson.is_cross_build() @@ -60,7 +64,7 @@ enable_gir = get_option('introspection') pkg_requirements = ['glib-2.0', 'gio-2.0', 'gio-unix-2.0'] gir_sources = [ libgeoclue_sources, libgeoclue_headers, - '../public-api/gclue-enums.h' ] + libgeoclue_public_api_gen_sources[1] ] if gir.found() and not cross_build and enable_gir geo_gir = gnome.generate_gir(libgeoclue, diff --git a/public-api/meson.build b/public-api/meson.build index b12a04e..3b78cf8 100644 --- a/public-api/meson.build +++ b/public-api/meson.build @@ -3,15 +3,16 @@ headers = [ 'gclue-enums.h' ] header_dir = 'libgeoclue-' + gclue_api_version install_headers(headers, subdir: header_dir) -gen_sources = gnome.mkenums_simple('gclue-enum-types', - sources: headers, - header_prefix: '#include <gclue-enums.h>', - decorator : 'GCLUE_ENUMS_H', - install_header: true, - install_dir: 'include/' + header_dir) +libgeoclue_public_api_gen_sources = gnome.mkenums_simple( + 'gclue-enum-types', + sources: headers, + header_prefix: '#include <gclue-enums.h>', + decorator : 'GCLUE_ENUMS_H', + install_header: true, + install_dir: 'include/' + header_dir) libgeoclue_public_api_inc = include_directories('.') libgeoclue_public_api = static_library('geoclue-public-api', - gen_sources, + libgeoclue_public_api_gen_sources, dependencies: base_deps, install: false) diff --git a/src/agent/meson.build b/src/agent/meson.build index 054eac7..781fefe 100644 --- a/src/agent/meson.build +++ b/src/agent/meson.build @@ -1,12 +1,13 @@ -sources = gnome.gdbus_codegen('geoclue-agent-interface', - 'org.freedesktop.GeoClue2.Agent.xml', - interface_prefix: 'org.freedesktop.GeoClue2.', - namespace: 'GClue', - docbook: 'docs') +libgeoclue_agent_sources = gnome.gdbus_codegen( + 'geoclue-agent-interface', + 'org.freedesktop.GeoClue2.Agent.xml', + interface_prefix: 'org.freedesktop.GeoClue2.', + namespace: 'GClue', + docbook: 'docs') libgeoclue_agent_inc = include_directories('.', '../..') libgeoclue_agent = static_library('geoclue-agent', - sources, + libgeoclue_agent_sources, dependencies: base_deps, include_directories: libgeoclue_agent_inc, install: false) |