summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLasse Collin <lasse.collin@tukaani.org>2013-09-09 20:37:03 +0300
committerLasse Collin <lasse.collin@tukaani.org>2014-04-26 08:29:17 +0300
commit090c69dda59e00fc86d0792879bd921bb1156029 (patch)
tree00bc9df339421de7b88e65b08cf0884bb95c94cf
parent1f35331332273de01c46897cafdb37f8e6e285db (diff)
downloadxz-090c69dda59e00fc86d0792879bd921bb1156029.tar.gz
Build: Create liblzma.pc in a src/liblzma/Makefile.am.
Previously it was done in configure, but doing that goes against the Autoconf manual. Autoconf requires that it is possible to override e.g. prefix after running configure and that doesn't work correctly if liblzma.pc is created by configure. A potential downside of this change is that now e.g. libdir in liblzma.pc is a standalone string instead of being defined via ${prefix}, so if one overrides prefix when running pkg-config the libdir won't get the new value. I don't know if this matters in practice. Thanks to Vincent Torri.
-rw-r--r--configure.ac1
-rw-r--r--src/liblzma/Makefile.am20
2 files changed, 20 insertions, 1 deletions
diff --git a/configure.ac b/configure.ac
index cf566f5..168f053 100644
--- a/configure.ac
+++ b/configure.ac
@@ -627,7 +627,6 @@ AC_CONFIG_FILES([
po/Makefile.in
lib/Makefile
src/Makefile
- src/liblzma/liblzma.pc
src/liblzma/Makefile
src/liblzma/api/Makefile
src/xz/Makefile
diff --git a/src/liblzma/Makefile.am b/src/liblzma/Makefile.am
index 0529ff8..d8fd6a1 100644
--- a/src/liblzma/Makefile.am
+++ b/src/liblzma/Makefile.am
@@ -88,3 +88,23 @@ endif
pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = liblzma.pc
EXTRA_DIST += liblzma.pc.in
+
+pc_verbose = $(pc_verbose_@AM_V@)
+pc_verbose_ = $(pc_verbose_@AM_DEFAULT_V@)
+pc_verbose_0 = @echo " PC " $@;
+
+liblzma.pc: $(srcdir)/liblzma.pc.in
+ $(AM_V_at)rm -f $@
+ $(pc_verbose)sed \
+ -e 's,@prefix[@],$(prefix),g' \
+ -e 's,@exec_prefix[@],$(exec_prefix),g' \
+ -e 's,@libdir[@],$(libdir),g' \
+ -e 's,@includedir[@],$(includedir),g' \
+ -e 's,@PACKAGE_URL[@],$(PACKAGE_URL),g' \
+ -e 's,@PACKAGE_VERSION[@],$(PACKAGE_VERSION),g' \
+ -e 's,@PTHREAD_CFLAGS[@],$(PTHREAD_CFLAGS),g' \
+ -e 's,@LIBS[@],$(LIBS),g' \
+ < $< > $@ || { rm -f $@; exit 1; }
+
+clean-local:
+ rm -f liblzma.pc