[tracker/wip/sam/meson] Hack it into working again



commit 75f048986a65f2e25e0d0f0d54b24cff388f01dd
Author: Sam Thursfield <sam afuera me uk>
Date:   Sun Dec 4 15:01:12 2016 +0000

    Hack it into working again
    
    Right now the build succeeds if you comment out the 'Duplicate output'
    check in line ~950 of mesonbuild/backend/ninjabackend.py
    
    This is a Meson bug, see <https://github.com/mesonbuild/meson/issues/1084#issuecomment-262369046>

 src/libtracker-bus/meson.build            |    2 +-
 src/libtracker-common/meson.build         |    4 ++--
 src/libtracker-direct/meson.build         |    8 +++++++-
 src/libtracker-extract/meson.build        |    3 +--
 src/libtracker-miner/meson.build          |   24 ++++++++----------------
 src/libtracker-remote/meson.build         |   16 ++++++++++++----
 src/libtracker-sparql-backend/meson.build |    7 +++----
 src/libtracker-sparql/meson.build         |    2 +-
 tests/functional-tests/ipc/meson.build    |    4 ++--
 9 files changed, 37 insertions(+), 33 deletions(-)
---
diff --git a/src/libtracker-bus/meson.build b/src/libtracker-bus/meson.build
index a13f307..0ec24e5 100644
--- a/src/libtracker-bus/meson.build
+++ b/src/libtracker-bus/meson.build
@@ -18,7 +18,7 @@ libtracker_bus = static_library('tracker-bus',
     ],
 )
 
-tracker_bus_dep = declare_dependency(
+tracker_sparql_bus_dep = declare_dependency(
     link_with: libtracker_bus,
     include_directories: include_directories('.')
 )
diff --git a/src/libtracker-common/meson.build b/src/libtracker-common/meson.build
index 565f9e7..0768688 100644
--- a/src/libtracker-common/meson.build
+++ b/src/libtracker-common/meson.build
@@ -26,7 +26,7 @@ else
 endif
 
 # FIXME: need to link against -lkvm on OpenBSD, see configure.ac
-tracker_common_dependencies = [gio_unix, glib, libmath]
+tracker_common_dependencies = [gio, gio_unix, glib, libmath]
 
 libtracker_common = library('tracker-common',
     tracker_common_sources,
@@ -42,5 +42,5 @@ tracker_common_dep = declare_dependency(
     sources: enums[1],
     link_with: libtracker_common,
     dependencies: tracker_common_dependencies,
-    include_directories: [configinc, srcinc],
+    include_directories: [configinc, srcinc, include_directories('.')],
 )
diff --git a/src/libtracker-direct/meson.build b/src/libtracker-direct/meson.build
index 684e324..67da137 100644
--- a/src/libtracker-direct/meson.build
+++ b/src/libtracker-direct/meson.build
@@ -4,7 +4,8 @@ libtracker_direct = static_library('tracker-direct',
     '../libtracker-common/libtracker-common.vapi',
     '../libtracker-data/libtracker-data.vapi',
     '../libtracker-data/tracker-sparql-query.vapi',
-    link_with: [libtracker_common, libtracker_data, libtracker_sparql_intermediate],
+    #link_with: [libtracker_common, libtracker_data, libtracker_sparql_intermediate],
+    dependencies: [tracker_common_dep, tracker_data_dep, tracker_sparql_intermediate_dep],
     c_args: [
         '-DTRACKER_COMPILATION',
     ],
@@ -16,3 +17,8 @@ libtracker_direct = static_library('tracker-direct',
         '--target-glib', glib_required,
     ],
 )
+
+tracker_sparql_direct_dep = declare_dependency(
+    link_with: libtracker_direct,
+    include_directories: include_directories('.')
+)
diff --git a/src/libtracker-extract/meson.build b/src/libtracker-extract/meson.build
index 7b25c65..f4582e9 100644
--- a/src/libtracker-extract/meson.build
+++ b/src/libtracker-extract/meson.build
@@ -32,8 +32,7 @@ endif
 
 libtracker_extract = library('tracker-extract',
   libtracker_extract_sources,
-  link_with: libtracker_common,
-  dependencies: [tracker_sparql_dep] + tracker_extract_dependencies,
+  dependencies: [tracker_common_dep, tracker_sparql_dep] + tracker_extract_dependencies,
   c_args: [
     '-DTRACKER_COMPILATION',
     '-DTRACKER_EXTRACTOR_RULES_DIR="@0@"'.format(tracker_extract_rules_dir),
diff --git a/src/libtracker-miner/meson.build b/src/libtracker-miner/meson.build
index 660aae8..05ee981 100644
--- a/src/libtracker-miner/meson.build
+++ b/src/libtracker-miner/meson.build
@@ -2,18 +2,10 @@ shared_libtracker_miner_monitor_sources = files('tracker-monitor.c')
 shared_libtracker_miner_file_system_sources = files('tracker-file-system.c')
 shared_libtracker_miner_crawler_sources = files('tracker-crawler.c')
 
-tracker_miner_enum_types_header = custom_target('tracker-miner-enum-types-header',
-    input: ['tracker-miner-enum-types.h.template', 'tracker-miner-enums.h'],
-    output: 'tracker-miner-enum-types.h',
-    command: [glib_mkenums, '--template', '@INPUT0@', '@INPUT1@'],
-    capture: true
-)
-
-tracker_miner_enum_types_code = custom_target('tracker-miner-enum-types-code',
-    input: ['tracker-miner-enum-types.c.template', 'tracker-miner-enums.h'],
-    output: 'tracker-miner-enum-types.c',
-    command: [glib_mkenums, '--template', '@INPUT0@', '@INPUT1@'],
-    capture: true
+enums = gnome.mkenums('tracker-miner-enum-types',
+    sources: 'tracker-miner-enums.h',
+    c_template: 'tracker-miner-enum-types.c.template',
+    h_template: 'tracker-miner-enum-types.h.template',
 )
 
 private_sources = [
@@ -33,7 +25,7 @@ if libmediaart.found()
 endif
 
 miner_sources = [
-    tracker_miner_enum_types_code,
+    enums[0], enums[1],
     shared_libtracker_miner_monitor_sources,
     shared_libtracker_miner_file_system_sources,
     shared_libtracker_miner_crawler_sources,
@@ -49,7 +41,7 @@ miner_sources = [
 libtracker_miner_private = static_library(
     'tracker-miner-private',
     private_sources,
-    dependencies: [tracker_sparql_dep],
+    dependencies: [tracker_common_dep, tracker_sparql_dep],
     c_args: [
         '-DTRACKER_COMPILATION',
     ],
@@ -59,7 +51,7 @@ libtracker_miner = library(
     'tracker-miner-' + tracker_api_version,
     miner_sources,
     link_with: [libtracker_miner_private],
-    dependencies: [tracker_sparql_dep],
+    dependencies: [tracker_common_dep, tracker_sparql_dep],
     c_args: [
         '-DTRACKER_COMPILATION',
     ],
@@ -67,6 +59,6 @@ libtracker_miner = library(
 
 tracker_miner_dep = declare_dependency(
     link_with: libtracker_miner,
-    dependencies: [tracker_sparql_dep],
+    dependencies: [tracker_common_dep, tracker_sparql_dep],
     include_directories: include_directories('.')
 )
diff --git a/src/libtracker-remote/meson.build b/src/libtracker-remote/meson.build
index a625f9d..7a817c7 100644
--- a/src/libtracker-remote/meson.build
+++ b/src/libtracker-remote/meson.build
@@ -1,12 +1,14 @@
 tracker_remote_dependencies = [json_glib, libsoup, libxml2]
 
-libtracker_remote = static_library('tracker-remote',
+sources = [
     'tracker-json-cursor.vala',
     'tracker-xml-cursor.vala',
     'tracker-remote.vala',
-    '../libtracker-common/libtracker-common.vapi',
-    dependencies: tracker_remote_dependencies,
-    link_with: [libtracker_common],
+    '../libtracker-common/libtracker-common.vapi'
+]
+
+libtracker_remote = static_library('tracker-remote', sources,
+    dependencies: tracker_remote_dependencies + [tracker_common_dep, tracker_sparql_intermediate_dep],
     c_args: [
         '-DTRACKER_COMPILATION',
     ],
@@ -18,3 +20,9 @@ libtracker_remote = static_library('tracker-remote',
         '--target-glib', glib_required,
     ],
 )
+
+tracker_sparql_remote_dep = declare_dependency(
+    link_with: libtracker_remote,
+    include_directories: include_directories('.'),
+    dependencies: tracker_remote_dependencies,
+)
diff --git a/src/libtracker-sparql-backend/meson.build b/src/libtracker-sparql-backend/meson.build
index 492606a..b2c2fb9 100644
--- a/src/libtracker-sparql-backend/meson.build
+++ b/src/libtracker-sparql-backend/meson.build
@@ -1,10 +1,9 @@
 libtracker_sparql = library('tracker-sparql-' + tracker_api_version,
     'tracker-backend.vala',
-    link_with: [libtracker_common, libtracker_bus, libtracker_direct,
-                libtracker_remote],
-    dependencies: tracker_sparql_intermediate_dependencies
+    dependencies: [tracker_sparql_intermediate_dep, tracker_sparql_remote_dep, tracker_sparql_bus_dep, 
tracker_sparql_direct_dep],
 )
 tracker_sparql_dep = declare_dependency(
     link_with: [libtracker_sparql, libtracker_common],
-    dependencies: tracker_common_dependencies + tracker_remote_dependencies
+    include_directories: srcinc,
+    dependencies: [tracker_common_dep, tracker_sparql_intermediate_dep],
 )
diff --git a/src/libtracker-sparql/meson.build b/src/libtracker-sparql/meson.build
index 76b14f4..0d4420c 100644
--- a/src/libtracker-sparql/meson.build
+++ b/src/libtracker-sparql/meson.build
@@ -23,7 +23,7 @@ libtracker_sparql_intermediate = static_library('tracker-sparql-' + tracker_api_
     'tracker-version.c',
     vala_header: 'tracker-generated.h',
     link_with: [libtracker_common],
-    dependencies: tracker_sparql_intermediate_dependencies,
+    dependencies: [tracker_common_dep] + tracker_sparql_intermediate_dependencies,
     c_args: [
         '-DTRACKER_COMPILATION',
     ],
diff --git a/tests/functional-tests/ipc/meson.build b/tests/functional-tests/ipc/meson.build
index 5613182..c458ac8 100644
--- a/tests/functional-tests/ipc/meson.build
+++ b/tests/functional-tests/ipc/meson.build
@@ -17,7 +17,7 @@ test('functional-ipc-direct-query', direct_query_test)
 bus_query_test = executable('test-bus-query',
   'test-bus-query.vala',
   'test-shared-query.vala',
-  dependencies: [tracker_common_dep, tracker_sparql_dep, tracker_bus_dep])
+  dependencies: [tracker_common_dep, tracker_sparql_dep, tracker_sparql_bus_dep])
 test('functional-ipc-bus-query', bus_query_test)
 
 default_update_test = executable('test-default-update',
@@ -29,7 +29,7 @@ test('functional-ipc-default-update', default_update_test)
 bus_update_test = executable('test-bus-update',
   'test-bus-update.vala',
   'test-shared-update.vala',
-  dependencies: [tracker_common_dep, tracker_sparql_dep, tracker_bus_dep])
+  dependencies: [tracker_common_dep, tracker_sparql_dep, tracker_sparql_bus_dep])
 test('functional-ipc-bus-update', bus_update_test)
 
 class_signal_test = executable('test-class-signal',


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