From 29a3545d9900041d7935e0d612b5c779413a7a40 Mon Sep 17 00:00:00 2001 Message-Id: <29a3545d9900041d7935e0d612b5c779413a7a40.1539550996.git.jan.steffens@gmail.com> From: "Jan Alexander Steffens (heftig)" Date: Sun, 14 Oct 2018 22:54:33 +0200 Subject: [PATCH] meson: Make sure all install paths are absolute libexecdir et al are all relative to prefix. --- data/meson.build | 14 +++++++++----- demo/meson.build | 10 ++++------ libgeoclue/meson.build | 3 --- meson.build | 14 +++++++++++--- public-api/meson.build | 4 +--- src/geocode-glib/meson.build | 3 --- src/meson.build | 7 +++---- 7 files changed, 28 insertions(+), 27 deletions(-) diff --git a/data/meson.build b/data/meson.build index 3fdba43..987b2aa 100644 --- a/data/meson.build +++ b/data/meson.build @@ -7,42 +7,46 @@ if get_option('enable-backend') conf.set('demo_agent', '') endif - conf_dir = get_option('sysconfdir') + '/geoclue/' + conf_dir = join_paths(sysconfdir, 'geoclue') configure_file(output: 'geoclue.conf', input: 'geoclue.conf.in', configuration: conf, install_dir: conf_dir) conf = configuration_data() - conf.set('libexecdir', get_option('libexecdir')) + conf.set('libexecdir', libexecdir) conf.set('dbus_srv_user', get_option('dbus-srv-user')) - service_dir = get_option('datadir') + '/dbus-1/system-services' + service_dir = join_paths(datadir, 'dbus-1', 'system-services') configure_file(output: 'org.freedesktop.GeoClue2.service', input: 'org.freedesktop.GeoClue2.service.in', configuration: conf, install_dir: service_dir) # DBus Service policy file dbus_service_dir = get_option('dbus-sys-dir') - if dbus_service_dir == '' - dbus_service_dir = get_option('sysconfdir') + '/dbus-1/system.d' + if dbus_service_dir == '' + dbus_service_dir = join_paths(sysconfdir, 'dbus-1', 'system.d') + else + dbus_service_dir = join_paths(get_option('prefix'), dbus_service_dir) endif configure_file(output: 'org.freedesktop.GeoClue2.conf', input: 'org.freedesktop.GeoClue2.conf.in', configuration: conf, install_dir: dbus_service_dir) configure_file(output: 'org.freedesktop.GeoClue2.Agent.conf', input: 'org.freedesktop.GeoClue2.Agent.conf.in', configuration: conf, install_dir: dbus_service_dir) systemd_unit_dir = get_option('systemd-system-unit-dir') if systemd_unit_dir == '' dep = dependency('systemd', required: false) if dep.found() systemd_unit_dir = dep.get_pkgconfig_variable('systemdsystemunitdir') endif + else + systemd_unit_dir = join_paths(get_option('prefix'), systemd_unit_dir) endif if systemd_unit_dir != '' diff --git a/demo/meson.build b/demo/meson.build index 07d4797..99c094f 100644 --- a/demo/meson.build +++ b/demo/meson.build @@ -1,9 +1,9 @@ -desktop_dir = get_option('datadir') + '/applications' -demo_dir = get_option('libexecdir') + '/geoclue-2.0/demos' +desktop_dir = join_paths(datadir, 'applications') +demo_dir = join_paths(libexecdir, 'geoclue-2.0', 'demos') i18n = import('i18n') desktop_conf = configuration_data() -desktop_conf.set('libexecdir', get_option('libexecdir')) +desktop_conf.set('libexecdir', libexecdir) if get_option('libgeoclue') include_dirs = [ configinc, @@ -56,9 +56,7 @@ if get_option('demo-agent') install_dir: desktop_dir) # Also install in the autostart directory. - autostart_dir = join_paths(get_option('prefix'), - get_option('sysconfdir'), - 'xdg/autostart') + autostart_dir = join_paths(sysconfdir, 'xdg', 'autostart') meson.add_install_script('install-file.py', desktop_file.full_path(), autostart_dir) diff --git a/libgeoclue/meson.build b/libgeoclue/meson.build index bdf72e0..846e149 100644 --- a/libgeoclue/meson.build +++ b/libgeoclue/meson.build @@ -1,6 +1,3 @@ -header_dir = 'libgeoclue-' + gclue_api_version -abs_header_dir = join_paths(get_option('includedir'), header_dir) - # FIXME: meson 0.46 doesn't seem to be actually installing the headers # generated by gnome.gdbus_codegen: # diff --git a/meson.build b/meson.build index ea08d04..ef87b05 100644 --- a/meson.build +++ b/meson.build @@ -9,19 +9,27 @@ gclue_micro_version = ver_arr[2] gclue_api_version='2.0' +datadir = join_paths(get_option('prefix'), get_option('datadir')) +includedir = join_paths(get_option('prefix'), get_option('includedir')) +libexecdir = join_paths(get_option('prefix'), get_option('libexecdir')) +sysconfdir = join_paths(get_option('prefix'), get_option('sysconfdir')) +localedir = join_paths(datadir, 'locale') + +header_dir = 'libgeoclue-' + gclue_api_version +abs_header_dir = join_paths(includedir, header_dir) + conf = configuration_data() conf.set_quoted('VERSION', gclue_version) conf.set_quoted('PACKAGE_VERSION', gclue_version) conf.set_quoted('PACKAGE_NAME', 'geoclue') conf.set_quoted('GETTEXT_PACKAGE', 'geoclue') conf.set_quoted('PACKAGE_TARNAME', 'geoclue') conf.set_quoted('PACKAGE_STRING', 'geoclue ' + gclue_version) conf.set_quoted('PACKAGE_URL', 'http://www.freedesktop.org/wiki/Software/GeoClue') conf.set_quoted('PACKAGE_BUGREPORT', 'http://bugs.freedesktop.org/enter_bug.cgi?product=GeoClue') conf.set_quoted('TEST_SRCDIR', meson.source_root() + '/data/') -datadir = get_option('prefix') + '/' + get_option('datadir') -conf.set_quoted('LOCALEDIR', datadir + '/locale') -conf.set_quoted('SYSCONFDIR', get_option('sysconfdir')) +conf.set_quoted('LOCALEDIR', localedir) +conf.set_quoted('SYSCONFDIR', sysconfdir) configure_file(output: 'config.h', configuration : conf) configinc = include_directories('.') diff --git a/public-api/meson.build b/public-api/meson.build index 4f93ecb..348b7e7 100644 --- a/public-api/meson.build +++ b/public-api/meson.build @@ -1,16 +1,14 @@ headers = [ 'gclue-enums.h' ] -header_dir = 'libgeoclue-' + gclue_api_version install_headers(headers, subdir: header_dir) -install_dir = get_option('includedir') + '/' + header_dir libgeoclue_public_api_gen_sources = gnome.mkenums_simple( 'gclue-enum-types', sources: headers, header_prefix: '#include ', decorator : 'GCLUE_ENUMS_H', install_header: true, - install_dir: install_dir) + install_dir: abs_header_dir) libgeoclue_public_api_inc = include_directories('.') libgeoclue_public_api = static_library('geoclue-public-api', diff --git a/src/geocode-glib/meson.build b/src/geocode-glib/meson.build index 6c6c8c1..17fb435 100644 --- a/src/geocode-glib/meson.build +++ b/src/geocode-glib/meson.build @@ -16,9 +16,6 @@ sources = [ 'geocode-location.h', 'geocode-bounding-box.c', 'geocode-glib-private.h' ] -datadir = get_option('prefix') + '/' + get_option('datadir') -localedir = datadir + '/locale' - c_args = [ '-DPACKAGE_VERSION="' + gclue_version + '"', '-DGEOCODE_LOCALEDIR="' + localedir + '"' ] libgeocode_glib_inc = include_directories('.', '..', '../..') diff --git a/src/meson.build b/src/meson.build index e2a1376..cb81393 100644 --- a/src/meson.build +++ b/src/meson.build @@ -1,5 +1,4 @@ -dbus_interface_dir = get_option('datadir') + '/dbus-1/interfaces' -abs_dbus_interface_dir = join_paths(get_option('prefix'), dbus_interface_dir) +dbus_interface_dir = join_paths(datadir, 'dbus-1', 'interfaces') subdir('agent') @@ -129,8 +128,8 @@ executable('geoclue', install: true, install_dir: install_dir) -dbus_interface = abs_dbus_interface_dir + '/org.freedesktop.GeoClue2.xml' -agent_dbus_interface = abs_dbus_interface_dir + '/org.freedesktop.GeoClue2.Agent.xml' +dbus_interface = join_paths(dbus_interface_dir, 'org.freedesktop.GeoClue2.xml') +agent_dbus_interface = join_paths(dbus_interface_dir, 'org.freedesktop.GeoClue2.Agent.xml') pkgconf = import('pkgconfig') pkgconf.generate(version: gclue_version, name: 'Geoclue', -- 2.19.1