[tracker/sam/lto-fix: 1/2] build: Correctly hide static libtracker-sparql-intermediate libraries



commit 24885a7eb942a934ddb4cf89c2231d6c9f35bdfd
Author: Sam Thursfield <sam afuera me uk>
Date:   Sun Jul 14 23:50:28 2019 +0100

    build: Correctly hide static libtracker-sparql-intermediate libraries
    
    These libraries were listed as dependencies of libtracker-sparql,
    causing them to be linked into everything further down the dependency
    chain. This worked fine in the normal case, but broke when link-time
    optimization (Meson's -Db_lto option) was enabled.
    
    I probably did this because otherwise the
    libtracker-sparql/tracker-sparql-2.0.vapi file doesn't get linked
    automatically into the dependencies. We can't use the 'source' option
    of `declare_dependency()` because this confuses Meson, but we can
    manually add it in the 3 places that we actually use it.
    
    Fixes https://gitlab.gnome.org/GNOME/tracker/issues/117

 src/libtracker-sparql-backend/meson.build | 2 +-
 src/tracker-store/meson.build             | 1 +
 tests/functional-tests/ipc/meson.build    | 2 +-
 utils/tracker-resdump/meson.build         | 2 +-
 4 files changed, 4 insertions(+), 3 deletions(-)
---
diff --git a/src/libtracker-sparql-backend/meson.build b/src/libtracker-sparql-backend/meson.build
index 084d77c2d..c30d182d5 100644
--- a/src/libtracker-sparql-backend/meson.build
+++ b/src/libtracker-sparql-backend/meson.build
@@ -22,7 +22,7 @@ libtracker_sparql = library('tracker-sparql-' + tracker_api_version,
 tracker_sparql_dep = declare_dependency(
     link_with: libtracker_sparql,
     include_directories: srcinc,
-    dependencies: [tracker_common_dep, tracker_sparql_intermediate_dep],
+    dependencies: [tracker_common_dep],
 )
 
 # The introspection generation for libtracker-sparql is awkward because we have
diff --git a/src/tracker-store/meson.build b/src/tracker-store/meson.build
index df0e87fda..a6c3d0972 100644
--- a/src/tracker-store/meson.build
+++ b/src/tracker-store/meson.build
@@ -21,6 +21,7 @@ tracker_store_sources = [
 
 tracker_store = executable('tracker-store',
     tracker_store_sources,
+    tracker_sparql_vapi,
     c_args: tracker_c_args + [
         '-include', 'config.h'
     ],
diff --git a/tests/functional-tests/ipc/meson.build b/tests/functional-tests/ipc/meson.build
index bd4c3250e..8ee7175fe 100644
--- a/tests/functional-tests/ipc/meson.build
+++ b/tests/functional-tests/ipc/meson.build
@@ -4,7 +4,7 @@ functional_ipc_test_c_args = [
 ]
 
 insert_or_replace_test = executable('test-insert-or-replace',
-  'test-insert-or-replace.vala',
+  'test-insert-or-replace.vala', tracker_sparql_vapi,
   dependencies: [tracker_common_dep, tracker_sparql_dep])
 test('functional-ipc-insert-or-replace', insert_or_replace_test,
   env: test_env)
diff --git a/utils/tracker-resdump/meson.build b/utils/tracker-resdump/meson.build
index 86ae5d32c..9e5f11028 100644
--- a/utils/tracker-resdump/meson.build
+++ b/utils/tracker-resdump/meson.build
@@ -1,2 +1,2 @@
-executable('tracker-resdump', 'tracker-resdump.vala',
+executable('tracker-resdump', 'tracker-resdump.vala', tracker_sparql_vapi,
     dependencies: [tracker_common_dep, tracker_sparql_dep])


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]