From 090c69dda59e00fc86d0792879bd921bb1156029 Mon Sep 17 00:00:00 2001 From: Lasse Collin Date: Mon, 9 Sep 2013 20:37:03 +0300 Subject: [PATCH] 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. --- configure.ac | 1 - src/liblzma/Makefile.am | 20 ++++++++++++++++++++ 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac index cf566f5e..168f0534 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 0529ff84..d8fd6a1d 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