summaryrefslogtreecommitdiff
path: root/src/libtracker-sparql/meson.build
diff options
context:
space:
mode:
Diffstat (limited to 'src/libtracker-sparql/meson.build')
-rw-r--r--src/libtracker-sparql/meson.build71
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)