From 5091cbad4a2cd9761a0ce20790e3386467a10c80 Mon Sep 17 00:00:00 2001 From: Vincent Sanders Date: Thu, 27 Nov 2014 15:56:23 +0000 Subject: Update the pkg-config installation macro for library substitution This adds REQUIRED_LIBS variable which is a space separated list of libraries that will be macro expanded into LIBRARIES in pkg-config install target. This is typically used in the "Libs:" stanza for additional (possibly conditional) libraries necessary to link the final program. --- example/libfoo.pc.in | 2 +- makefiles/Makefile.top | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/example/libfoo.pc.in b/example/libfoo.pc.in index eab313b..4f0f4f5 100644 --- a/example/libfoo.pc.in +++ b/example/libfoo.pc.in @@ -6,5 +6,5 @@ includedir=${prefix}/include Name: libfoo Description: Pointless example library Version: 0.0.1 -Libs: -L${libdir} +Libs: -L${libdir} LIBRARIES Cflags: -I${includedir} diff --git a/makefiles/Makefile.top b/makefiles/Makefile.top index 89a040d..2d09276 100644 --- a/makefiles/Makefile.top +++ b/makefiles/Makefile.top @@ -12,7 +12,6 @@ # lib-static - Static library # lib-shared - Shared library # riscos-module - RISC OS module -# BUILD Target platform identifier # # Optional inputs: # @@ -22,8 +21,10 @@ # information at the same time as compiling sources. # Set to "yes" if it can. # DESTDIR Sandboxed FS root (e.g. for packaging) +# BUILD Target platform identifier, defaults to HOST # HOST Host platform identifier # REQUIRED_PKGS List of required pkg-config packages +# REQUIRED_LIBS List of required libraries to add to pkg-config # # The client may also override all toolchain settings, including: # @@ -280,7 +281,9 @@ distclean: clean __comma := , __empty := __space := $(empty) $(empty) +__dashl := $(empty) -l$(empty) __required = $(if $(REQUIRED_PKGS),Requires: $(subst $(__space),$(__comma) ,$(strip $(REQUIRED_PKGS))),) +__libraries = $(if $(REQUIRED_LIBS),-l$(subst $(__space),$(__dashl),$(strip $(REQUIRED_LIBS))),) # Install a pkg-config control file ($1) to the specified location ($2) define install_pkgconfig @@ -293,6 +296,7 @@ define install_pkgconfig -e 's#PATCH#$(patch-version)#' \ -e 's#VERSION#$(COMPONENT_VERSION)#' \ -e 's#REQUIRED#$(__required)#' \ + -e 's#LIBRARIES#$(__libraries)#' \ $1 >$(BUILDDIR)/$(1:.in=) $(INSTALL) $(INSTALLFLAGS) -m 644 $(BUILDDIR)/$(1:.in=) \ $2/$(1:.in=) -- cgit v1.2.3