]> git.ipfire.org Git - thirdparty/xz.git/commitdiff
Build: Create liblzma.pc in a src/liblzma/Makefile.am.
authorLasse Collin <lasse.collin@tukaani.org>
Mon, 9 Sep 2013 17:37:03 +0000 (20:37 +0300)
committerLasse Collin <lasse.collin@tukaani.org>
Sat, 26 Apr 2014 05:29:17 +0000 (08:29 +0300)
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.

configure.ac
src/liblzma/Makefile.am

index cf566f5ee6190a20a23f7095385aa952844510b8..168f05343cb63bb4820d8c1b78b5e6a5031081f9 100644 (file)
@@ -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
index 0529ff848b0cf011348d8aae78b3c8e4dd460246..d8fd6a1da6f9b23120ffd15cf5cd1c1076aebfd6 100644 (file)
@@ -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