From 72975df6c8c59aaf849138ab3606e8fb6970596a 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 186a39bb..fb0a52cb 100644 --- a/configure.ac +++ b/configure.ac @@ -720,7 +720,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 70183616..9ad021a2 100644 --- a/src/liblzma/Makefile.am +++ b/src/liblzma/Makefile.am @@ -94,3 +94,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