[tracker/wip/sam/meson] Initial successful build of libtracker-sparql & tracker-needle :-)
- From: Sam Thursfield <sthursfield src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [tracker/wip/sam/meson] Initial successful build of libtracker-sparql & tracker-needle :-)
- Date: Sun, 25 Sep 2016 13:23:12 +0000 (UTC)
commit 82c3d44756fc1d5405fde1d70bb1662ae47c21bb
Author: Sam Thursfield <sam afuera me uk>
Date: Tue Sep 20 22:14:21 2016 +0100
Initial successful build of libtracker-sparql & tracker-needle :-)
meson.build | 53 ++++++++++++++++++++++++++++++++++++-----------------
1 files changed, 36 insertions(+), 17 deletions(-)
---
diff --git a/meson.build b/meson.build
index f6dac1f..559530b 100644
--- a/meson.build
+++ b/meson.build
@@ -54,10 +54,9 @@ taglib = dependency('taglib_c', version: '> 1.6', required: false)
upower = dependency('libupower-glib', version: '> 0.9.0', required: false)
zlib = dependency('zlib')
-# These two don't have pkg-config files.
+# These don't have pkg-config files.
libgif = meson.get_compiler('c').find_library('libgif', required: false)
libjpeg = meson.get_compiler('c').find_library('libjpeg', required: false)
-
libmath = meson.get_compiler('c').find_library('m')
# FIXME: here we work around a quirk todo with Meson and Vala: the 'uuid'
@@ -102,9 +101,9 @@ conf.set('HAVE_BUILTIN_FTS', sqlite3_has_builtin_fts5)
conf.set('HAVE_LIBMEDIAART', libmediaart.found())
conf.set('HAVE_LIBICU', true) # FIXME: shouldn't be hardcoded
conf.set('HAVE_LIBUNISTRING', false) # FIXME: shouldn't be hardcoded
-conf.set('LOCALEDIR', get_option('localedir'))
+conf.set('LOCALEDIR', '@0@/@1@'.format(get_option('prefix'), get_option('localedir')))
conf.set('PACKAGE_VERSION', meson.project_version())
-conf.set('TRACKER_UI_DIR', get_option('datadir') + '/tracker/')
+conf.set('TRACKER_UI_DIR', '@0@/@1@/tracker/'.format(get_option('prefix'), get_option('datadir')))
configure_file(input: 'config.h.meson.in',
output: 'config.h',
configuration: conf)
@@ -116,6 +115,9 @@ i18n.gettext('tracker', languages:
'pa', 'pl', 'pt', 'pt_BR', 'ro', 'ru', 'sk', 'sl', 'sr', 'sr@latin', 'sv',
'te', 'tg', 'th', 'tr', 'uk', 'zh_CN', 'zh_HK', 'zh_TW'])
+# Needed so we can link static helper libraries into shared libraries
+add_global_arguments('-fPIC', language: 'c')
+
gvdb = static_library(
'gvdb',
'src/gvdb/gvdb-builder.c',
@@ -180,6 +182,7 @@ libtracker_fts = static_library(
# The libtracker-sparql Vala code is in a separate library to the C code.
# This is because the toplevel tracker-sparql.h file exists already and
# explicitly includes the Vala-generated .h file.
+
libtracker_sparql_intermediate_vala = static_library(
'tracker-sparql-vala',
'src/libtracker-sparql/tracker-namespace.vala',
@@ -201,23 +204,32 @@ libtracker_sparql_intermediate_vala = static_library(
'--target-glib', glib_required,
],
)
+tracker_sparql_intermediate_vala_dep = declare_dependency(
+ link_with: [libtracker_sparql_intermediate_vala, libtracker_common]
+)
+tracker_sparql_intermediate_dependencies = [gio, glib, gobject, uuid, tracker_sparql_intermediate_vala_dep]
libtracker_sparql_intermediate = static_library(
'tracker-sparql-' + tracker_api_version,
'src/libtracker-sparql/tracker-uri.c',
'src/libtracker-sparql/tracker-version.c',
- link_with: [libtracker_sparql_intermediate_vala],
- dependencies: [gio, glib, gobject, uuid],
+# link_with: [libtracker_sparql_intermediate_vala],
+ dependencies: tracker_sparql_intermediate_dependencies,
c_args: [
'-DTRACKER_COMPILATION',
],
)
+tracker_sparql_intermediate_dep = declare_dependency(
+ link_with: [libtracker_sparql_intermediate],
+ dependencies: tracker_sparql_intermediate_dependencies
+)
+
# Vala parts of libtracker-data are split out separately, because we can't link
# the Vala code to libicu. In the Makefile.am this library is called
# libtracker-sparql-query.
libtracker_data_vala = static_library(
- 'libtracker-data-vala',
+ 'tracker-data-vala',
'src/libtracker-data/tracker-vala-namespace.vala',
'src/libtracker-data/tracker-sparql-query.vala',
'src/libtracker-data/tracker-sparql-expression.vala',
@@ -244,7 +256,7 @@ libtracker_data_vala = static_library(
)
libtracker_data = library(
- 'libtracker-data',
+ 'tracker-data',
'src/libtracker-data/tracker-class.c',
'src/libtracker-data/tracker-collation.c',
'src/libtracker-data/tracker-crc32.c',
@@ -302,9 +314,8 @@ libtracker_direct = static_library(
'src/libtracker-common/libtracker-common.vapi',
'src/libtracker-data/libtracker-data.vapi',
'src/libtracker-data/tracker-sparql-query.vapi',
- link_with: [libtracker_common, libtracker_data,
- libtracker_sparql_intermediate, libtracker_sparql_intermediate_vala],
- dependencies: [glib, gio],
+ link_with: [libtracker_common, libtracker_data],
+ dependencies: [tracker_sparql_intermediate_dep],
c_args: [
'-DTRACKER_COMPILATION',
'-I' + meson.source_root() + '/src',
@@ -317,13 +328,20 @@ libtracker_direct = static_library(
'--target-glib', glib_required,
],
)
+tracker_direct_dep = declare_dependency(
+ link_with: [libtracker_direct],
+ dependencies: [tracker_sparql_intermediate_dep]
+)
libtracker_sparql = library(
'tracker-sparql-' + tracker_api_version,
'src/libtracker-sparql-backend/tracker-backend.vala',
- 'src/libtracker-common/libtracker-common.vapi',
- link_with: [libtracker_common, libtracker_sparql_intermediate,
- libtracker_bus, libtracker_direct]
+ link_with: [libtracker_common, libtracker_bus],
+ dependencies: [tracker_direct_dep],
+)
+tracker_sparql_dep = declare_dependency(
+ link_with: [libtracker_sparql, libtracker_common, libtracker_bus],
+ dependencies: [tracker_direct_dep],
)
executable(
@@ -338,10 +356,11 @@ executable(
'src/tracker-needle/tracker-tags-view.vala',
'src/tracker-needle/tracker-utils.vala',
'src/tracker-needle/tracker-view.vala',
- dependencies: [gtk3],
- link_with: [libtracker_sparql],
+ dependencies: [tracker_sparql_dep, gtk3],
c_args: [
- '-DSRCDIR="' + meson.current_source_dir() + '"',
+ '-DSRCDIR="' + meson.current_source_dir() + '/src/tracker-needle/"',
+ '-D_XOPEN_SOURCE',
+ '-D_XOPEN_SOURCE_EXTENDED',
'-include', 'config.h'
]
)
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]