diff options
Diffstat (limited to 'src/libtracker-sparql/meson.build')
-rw-r--r-- | src/libtracker-sparql/meson.build | 71 |
1 files changed, 36 insertions, 35 deletions
diff --git a/src/libtracker-sparql/meson.build b/src/libtracker-sparql/meson.build index 9c6c4a718..495c5ad5a 100644 --- a/src/libtracker-sparql/meson.build +++ b/src/libtracker-sparql/meson.build @@ -9,26 +9,18 @@ enums_h = gnome.mkenums('tracker-sparql-enum-types', tracker_sparql_intermediate_dependencies = [uuid] -libtracker_sparql_intermediate = static_library('tracker-sparql', +# First build the Vala parts ... + +libtracker_sparql_intermediate_vala = static_library('tracker-sparql-intermediate-vala', enums_c, enums_h, 'tracker-namespace.vala', 'tracker-builder.vala', 'tracker-connection.vala', 'tracker-cursor.vala', 'tracker-utils.vala', - 'tracker-namespace-manager.c', - 'tracker-notifier.c', - 'tracker-resource.c', - 'tracker-uri.c', - 'tracker-version.c', vala_header: 'tracker-generated-no-checks.h', c_args: [ '-DTRACKER_COMPILATION', ], - # FIXME: getting Vala to output the GIR means that the symbols from the - # C files aren't included. This problem seems to affect the Autotools - # build system as well. - # FIXME: we also can't depend on this in the TrackerMiner GIR, which - # probably breaks stuff - vala_gir: 'Tracker-' + tracker_api_version + '.gir', + vala_gir: 'Tracker_Vala-' + tracker_api_version + '.gir', vala_args: [ '--debug', '--includedir', 'libtracker-sparql', @@ -56,10 +48,36 @@ tracker_sparql_generated_header = custom_target('tracker-sparql-generated-header # output: 'tracker-generated.h', command: [join_paths(meson.current_source_dir(), 'tracker-sparql-add-include-guards.sh'), join_paths(meson.current_build_dir(), 'tracker-generated-no-checks.h'), '@OUTPUT@'], - depends: libtracker_sparql_intermediate) + depends: libtracker_sparql_intermediate_vala) + +# Now build the C parts ... + +libtracker_sparql_c_sources = files( + 'tracker-namespace-manager.c', + 'tracker-notifier.c', + 'tracker-resource.c', + 'tracker-uri.c', + 'tracker-version.c', +) + +libtracker_sparql_c_public_headers = files( + 'tracker-namespace-manager.h', + 'tracker-notifier.h', + 'tracker-resource.h', + 'tracker-version.h', +) + +libtracker_sparql_intermediate_c = static_library('tracker-sparql-intermediate-c', + enums_c, enums_h, + libtracker_sparql_c_sources, + dependencies: [tracker_common_dep], + c_args: [ + '-DTRACKER_COMPILATION', + ], +) tracker_sparql_intermediate_dep = declare_dependency( - link_with: [libtracker_sparql_intermediate], + link_with: [libtracker_sparql_intermediate_c, libtracker_sparql_intermediate_vala], sources: tracker_sparql_generated_header, include_directories: [srcinc, include_directories('.')], dependencies: tracker_sparql_intermediate_dependencies @@ -73,12 +91,9 @@ configure_file( install_dir: join_paths(get_option('prefix'), get_option('libdir'), 'pkgconfig')) install_headers( - 'tracker-notifier.h', - 'tracker-resource.h', + libtracker_sparql_c_public_headers, 'tracker-ontologies.h', 'tracker-sparql.h', - 'tracker-namespace-manager.h', - 'tracker-version.h', subdir: 'tracker-1.0/libtracker-sparql') # FIXME: we need a custom script to install generated Vala headers; see @@ -87,26 +102,12 @@ meson.add_install_script('../install-generated-header.sh', join_paths(meson.current_build_dir(), 'tracker-generated.h'), join_paths(get_option('prefix'), get_option('includedir'), 'tracker-1.0', 'libtracker-sparql')) -custom_target('tracker-sparql-typelib', - command: ['g-ir-compiler', '--output', '@OUTPUT@', join_paths(meson.current_build_dir(), 'Tracker-1.0.gir')], - #input: join_paths(meson.current_build_dir(), 'Tracker-1.0.gir'), - output: 'Tracker-1.0.typelib', - depends: libtracker_sparql_intermediate, - install: true, - install_dir: join_paths(get_option('libdir'), 'girepository-1.0')) - -# FIXME: reusing the same script to install the .gir; see -# <https://github.com/mesonbuild/meson/issues/891>. -meson.add_install_script('../install-generated-header.sh', - join_paths(meson.current_build_dir(), 'Tracker-1.0.gir'), - join_paths(get_option('prefix'), get_option('datadir'), 'gir-1.0')) - # FIXME: we can't depend properly on the generated .vapi to do this. custom_target('tracker-sparql-' + tracker_api_version + '.vapi', - #input: 'tracker-sparql-vala.vapi', + #input: 'tracker-sparql-intermediate-vala.vapi', output: 'tracker-sparql-' + tracker_api_version + '.vapi', - command: ['sed', '-e', 's/tracker-generated-no-checks.h/tracker-sparql.h/', join_paths(meson.current_build_dir(), 'tracker-sparql.vapi')], - depends: libtracker_sparql_intermediate, + command: ['sed', '-e', 's/tracker-generated-no-checks.h/tracker-sparql.h/', join_paths(meson.current_build_dir(), 'tracker-sparql-intermediate-vala.vapi')], + depends: libtracker_sparql_intermediate_vala, capture: true, install: true, install_dir: vapi_dir) |