[grilo/wip/jtojnar/nice-pc-files] build: Use variables in pc files
- From: Jan Tojnar <jtojnar src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [grilo/wip/jtojnar/nice-pc-files] build: Use variables in pc files
- Date: Thu, 12 Sep 2019 11:19:12 +0000 (UTC)
commit 1b91ebe3661dc09b46a65a8bddcb74d7b3bf9074
Author: Jan Tojnar <jtojnar gmail com>
Date: Thu Sep 12 13:08:04 2019 +0200
build: Use variables in pc files
Recently, we started prefixing the values of all variables defined in pc files
with `prefix` meson variable. While this works even when `datadir` option is
absolute (supported by some meson forks), it leads to inflexible pc files even
when prefixing is not strictly necessary.
In this commit, we are constructing variables for pkg-config files separately
from paths used for installation, obtaining nice .pc files in the common case,
while still supporting unusual platforms like Nix.
libs/net/meson.build | 6 +++---
libs/pls/meson.build | 6 +++---
meson.build | 9 ++++++++-
src/meson.build | 8 ++++----
4 files changed, 18 insertions(+), 11 deletions(-)
---
diff --git a/libs/net/meson.build b/libs/net/meson.build
index 56c923c..c366adf 100644
--- a/libs/net/meson.build
+++ b/libs/net/meson.build
@@ -52,10 +52,10 @@ grlnet_pc = pkgconfig.generate(libgrlnet,
version: grlnet_version,
variables: [
'exec_prefix=${prefix}',
- 'datarootdir=' + join_paths('${prefix}', datadir),
+ 'datarootdir=' + datadir_for_pc_file,
'datadir=${datarootdir}',
- 'girdir=' + girdir,
- 'typelibdir=' + typelibdir,
+ 'girdir=' + girdir_for_pc_file,
+ 'typelibdir=' + typelibdir_for_pc_file,
],
)
diff --git a/libs/pls/meson.build b/libs/pls/meson.build
index 5915806..dc5ca7c 100644
--- a/libs/pls/meson.build
+++ b/libs/pls/meson.build
@@ -37,10 +37,10 @@ grlpls_pc = pkgconfig.generate(libgrlpls,
version: grlpls_version,
variables: [
'exec_prefix=${prefix}',
- 'datarootdir=' + join_paths('${prefix}', datadir),
+ 'datarootdir=' + datadir_for_pc_file,
'datadir=${datarootdir}',
- 'girdir=' + girdir,
- 'typelibdir=' + typelibdir,
+ 'girdir=' + girdir_for_pc_file,
+ 'typelibdir=' + typelibdir_for_pc_file,
],
)
diff --git a/meson.build b/meson.build
index 6f2691d..a3e632e 100644
--- a/meson.build
+++ b/meson.build
@@ -76,15 +76,22 @@ prefix = get_option('prefix')
includedir = join_paths(prefix, get_option('includedir'))
libdir = join_paths(prefix, get_option('libdir'))
plugins_dir = join_paths(libdir, grl_name)
+plugins_dir_for_pc_file = join_paths('${libdir}', grl_name)
localedir = join_paths(prefix, get_option('localedir'))
-datadir = join_paths(prefix, get_option('datadir'))
+datadir_unprefixed = get_option('datadir')
+datadir = join_paths(prefix, datadir_unprefixed)
+datadir_for_pc_file = join_paths('${prefix}', datadir_unprefixed)
girdir = join_paths(datadir, 'gir-1.0')
+girdir_for_pc_file = join_paths('${datadir}', 'gir-1.0')
typelibdir = join_paths(libdir, 'girepository-1.0')
+typelibdir_for_pc_file = join_paths('${libdir}', 'girepository-1.0')
gobject_introspection = dependency('gobject-introspection-1.0', required: false)
if gobject_introspection.found()
girdir = gobject_introspection.get_pkgconfig_variable('girdir', define_variable: ['datadir', datadir])
+ girdir_for_pc_file = gobject_introspection.get_pkgconfig_variable('girdir', define_variable: ['datadir',
'${datadir}'])
typelibdir = gobject_introspection.get_pkgconfig_variable('typelibdir', define_variable: ['libdir',
libdir])
+ typelibdir_for_pc_file = gobject_introspection.get_pkgconfig_variable('typelibdir', define_variable:
['libdir', '${libdir}'])
endif
vapidir = join_paths(datadir, 'vala', 'vapi')
diff --git a/src/meson.build b/src/meson.build
index 8efe589..10fd390 100644
--- a/src/meson.build
+++ b/src/meson.build
@@ -116,11 +116,11 @@ grl_pc = pkgconfig.generate(libgrl,
version: grilo_version,
variables: [
'exec_prefix=${prefix}',
- 'datarootdir=' + join_paths('${prefix}', datadir),
+ 'datarootdir=' + datadir_for_pc_file,
'datadir=${datarootdir}',
- 'girdir=' + girdir,
- 'typelibdir=' + typelibdir,
- 'plugindir=' + plugins_dir,
+ 'girdir=' + girdir_for_pc_file,
+ 'typelibdir=' + typelibdir_for_pc_file,
+ 'plugindir=' + plugins_dir_for_pc_file,
],
)
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]