summaryrefslogtreecommitdiff
path: root/src/libtracker-common/meson.build
diff options
context:
space:
mode:
Diffstat (limited to 'src/libtracker-common/meson.build')
-rw-r--r--src/libtracker-common/meson.build69
1 files changed, 69 insertions, 0 deletions
diff --git a/src/libtracker-common/meson.build b/src/libtracker-common/meson.build
new file mode 100644
index 000000000..8ab4af5c3
--- /dev/null
+++ b/src/libtracker-common/meson.build
@@ -0,0 +1,69 @@
+subdir('stop-words')
+
+enums = gnome.mkenums('tracker-enum-types',
+ sources: 'tracker-enums.h',
+ c_template: 'tracker-enum-types.c.template',
+ h_template: 'tracker-enum-types.h.template',
+)
+
+tracker_common_enum_header = enums[1]
+
+parser_sha1_header = configure_file(
+ input: 'tracker-parser-sha1.h.in',
+ output: 'tracker-parser-sha1.h',
+ command: ['generate-tracker-parser-sha1-header.sh'])
+
+tracker_common_sources = [
+ 'tracker-date-time.c',
+ 'tracker-dbus.c',
+ 'tracker-file-utils.c',
+ 'tracker-ioprio.c',
+ 'tracker-log.c',
+ 'tracker-sched.c',
+ 'tracker-type-utils.c',
+ 'tracker-utils.c',
+ 'tracker-locale.c',
+ 'tracker-parser-utils.c',
+ 'tracker-language.c',
+ 'tracker-seccomp.c',
+ enums[0], enums[1],
+ parser_sha1_header,
+]
+
+if unicode_library_name == 'icu'
+ tracker_common_sources += 'tracker-parser-libicu.c'
+else
+ tracker_common_sources += 'tracker-parser-libunistring.c'
+endif
+
+# FIXME: need to link against -lkvm on OpenBSD, see configure.ac
+tracker_common_dependencies = [glib, gio, gio_unix, libmath]
+
+libtracker_common = library('tracker-common',
+ tracker_common_sources,
+ dependencies: tracker_common_dependencies + [unicode_library],
+ c_args: [
+ '-DTRACKER_COMPILATION',
+ ],
+ include_directories: [configinc, srcinc],
+ install: true,
+ install_dir: tracker_internal_libs_dir,
+)
+
+commoninc = include_directories('.')
+
+# This dependency can't be used everywhere right now. The issue is that if
+# every other library depends on this one, we end up with a combinatorial
+# explosion that results in the link line for src/tracker/tracker being
+# nearly 200,000 characters long which causes this kind of error:
+#
+# Linking target src/tracker/tracker
+# ninja: fatal: posix_spawn: Argument list too long
+#
+# Upstream issue: https://github.com/mesonbuild/meson/issues/671
+tracker_common_dep = declare_dependency(
+ sources: enums[1],
+ link_with: libtracker_common,
+ dependencies: tracker_common_dependencies,
+ include_directories: [configinc, srcinc, commoninc],
+)