summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2014-12-03 18:59:00 +0100
committerLudovic Courtès <ludo@gnu.org>2014-12-03 18:59:36 +0100
commit5fac1a7ada362d78f13143acbc0ceca7f2f101de (patch)
tree607560646567ba87319946b4971ea514335b045e
parent8cf2a7ba7432d68b9a055d29f18117be70375af9 (diff)
downloadguile-5fac1a7ada362d78f13143acbc0ceca7f2f101de.tar.gz
Add the 'guild' and 'guile' variables to 'guile-2.0.pc'.
* configure.ac: Remove meta/guile-2.0.pc and meta/guile-2.0-uninstalled.pc from 'AC_CONFIG_FILES'. * meta/Makefile.am (substitute): New variable. (guile-2.0.pc, guile-2.0-uninstalled.pc): New targets. (guile-config, guild): Use $(substitute) instead of duplicated sed script. (CLEANFILES): Add the .pc files. * meta/guile-2.0.pc.in (bindir, guild, guile): New variables. * doc/ref/libguile-parallel.texi (Parallel Installations): Document the 'guild' and 'guile' pkg-config variables.
-rw-r--r--configure.ac3
-rw-r--r--doc/ref/libguile-parallel.texi19
-rw-r--r--meta/Makefile.am49
-rw-r--r--meta/guile-2.0.pc.in7
4 files changed, 60 insertions, 18 deletions
diff --git a/configure.ac b/configure.ac
index 4f40736ab..d3a27ebfa 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1670,9 +1670,6 @@ AC_CONFIG_FILES([
module/Makefile
])
-AC_CONFIG_FILES([meta/guile-2.0.pc])
-AC_CONFIG_FILES([meta/guile-2.0-uninstalled.pc])
-
GUILE_CONFIG_SCRIPT([check-guile])
GUILE_CONFIG_SCRIPT([benchmark-guile])
GUILE_CONFIG_SCRIPT([meta/guile])
diff --git a/doc/ref/libguile-parallel.texi b/doc/ref/libguile-parallel.texi
index 37a713929..50b53390f 100644
--- a/doc/ref/libguile-parallel.texi
+++ b/doc/ref/libguile-parallel.texi
@@ -1,7 +1,7 @@
@c -*-texinfo-*-
@c This is part of the GNU Guile Reference Manual.
-@c Copyright (C) 1996, 1997, 2000, 2001, 2002, 2003, 2004, 2005, 2010, 2011
-@c Free Software Foundation, Inc.
+@c Copyright (C) 1996, 1997, 2000, 2001, 2002, 2003, 2004, 2005, 2010, 2011,
+@c 2014 Free Software Foundation, Inc.
@c See the file guile.texi for copying conditions.
@node Parallel Installations
@@ -55,6 +55,21 @@ The default directory where Guile looks for extensions---i.e., shared
libraries providing additional features (@pxref{Modules and
Extensions}). Run @command{pkg-config guile-@value{EFFECTIVE-VERSION}
--variable=extensiondir} to see its value.
+
+@item guile
+@itemx guild
+@cindex program name transformations, dealing with
+The absolute file name of the @command{guile} and @command{guild}
+commands@footnote{The @code{guile} and @code{guild} variables defined
+starting from Guile version 2.0.12.}. Run @command{pkg-config
+guile-@value{EFFECTIVE-VERSION} --variable=guile} or
+@code{--variable=guild} to see their value.
+
+These variables allow users to deal with program name transformations
+that may be specified when configuring Guile with
+@code{--program-transform-name}, @code{--program-suffix}, or
+@code{--program-prefix} (@pxref{Transformation Options,,, autoconf, GNU
+Autoconf Manual}).
@end table
@noindent
diff --git a/meta/Makefile.am b/meta/Makefile.am
index 57644bcd4..5f19db5c6 100644
--- a/meta/Makefile.am
+++ b/meta/Makefile.am
@@ -44,24 +44,47 @@ pkgconfig_DATA = guile-2.0.pc
aclocaldir = $(datadir)/aclocal
aclocal_DATA = guile.m4
+# Script to instantiate substitution variables found on the standard
+# input. We do this from the Makefile because we need things like
+# $(program_transform_name), which are not usable from 'configure.ac'.
+substitute = \
+ guile="`echo guile | $(SED) -e '$(program_transform_name)'`" ; \
+ guild="`echo guild | $(SED) -e '$(program_transform_name)'`" ; \
+ installed_guile="@bindir@/$$guile" ; \
+ $(SED) -e "s,[@]PACKAGE_NAME[@],$(PACKAGE_NAME),g" \
+ -e "s,[@]PACKAGE_BUGREPORT[@],$(PACKAGE_BUGREPORT),g" \
+ -e "s,[@]PKG_CONFIG[@],$(PKG_CONFIG),g" \
+ -e "s,[@]pkgconfigdir[@],$(pkgconfigdir),g" \
+ -e "s,[@]prefix[@],$(prefix),g" \
+ -e "s,[@]exec_prefix[@],$(exec_prefix),g" \
+ -e "s,[@]bindir[@],$(bindir),g" \
+ -e "s,[@]libdir[@],$(libdir),g" \
+ -e "s,[@]includedir[@],$(includedir),g" \
+ -e "s,[@]datarootdir[@],$(datarootdir),g" \
+ -e "s,[@]datadir[@],$(datadir),g" \
+ -e "s,[@]sitedir[@],$(sitedir),g" \
+ -e "s,[@]guile[@],$$guile,g" \
+ -e "s,[@]guild[@],$$guild,g" \
+ -e "s,[@]installed_guile[@],$$installed_guile,g"
+
+guile-2.0.pc: guile-2.0.pc.in
+ $(substitute) < "$<" > "$@.out"
+ mv "$@.out" "$@"
+
+guile-2.0-uninstalled.pc: guile-2.0-uninstalled.pc.in
+ $(substitute) < "$<" > "$@.out"
+ mv "$@.out" "$@"
+
guile-config: $(srcdir)/guile-config.in $(top_builddir)/config.status
- guile="@bindir@/`echo guile | $(SED) -e '$(program_transform_name)'`" ; \
- $(SED) -e "s,[@]pkgconfigdir[@],$(pkgconfigdir),g" \
- -e "s,[@]PKG_CONFIG[@],$(PKG_CONFIG),g" \
- -e "s,[@]installed_guile[@],$$guile,g" \
- < "$(srcdir)/guile-config.in" \
- > "$@.out"
+ $(substitute) < "$<" > "$@.out"
chmod +x "$@.out"
mv "$@.out" "$@"
guild: $(srcdir)/guild.in $(top_builddir)/config.status
- guile="@bindir@/`echo guile | $(SED) -e '$(program_transform_name)'`" ; \
- $(SED) -e "s,[@]installed_guile[@],$$guile,g" \
- -e "s,[@]PACKAGE_NAME[@],$(PACKAGE_NAME),g" \
- -e "s,[@]PACKAGE_BUGREPORT[@],$(PACKAGE_BUGREPORT),g" \
- < "$(srcdir)/guild.in" \
- > "$@.out"
+ $(substitute) < "$<" > "$@.out"
chmod +x "$@.out"
mv "$@.out" "$@"
-CLEANFILES = guile-config guild
+CLEANFILES = \
+ guile-config guild \
+ guile-2.0.pc guile-2.0-uninstalled.pc
diff --git a/meta/guile-2.0.pc.in b/meta/guile-2.0.pc.in
index 1bda73449..c8f485bc1 100644
--- a/meta/guile-2.0.pc.in
+++ b/meta/guile-2.0.pc.in
@@ -1,5 +1,6 @@
prefix=@prefix@
exec_prefix=@exec_prefix@
+bindir=@bindir@
libdir=@libdir@
includedir=@includedir@
datarootdir=@datarootdir@
@@ -11,6 +12,12 @@ sitedir=@sitedir@
extensiondir=@libdir@/guile/@GUILE_EFFECTIVE_VERSION@/extensions
libguileinterface=@LIBGUILE_INTERFACE@
+# Actual name of the 'guile' and 'guild' programs. This is
+# particularly useful when '--program-transform-name' or similar has
+# been used.
+guild=${bindir}/@guild@
+guile=${bindir}/@guile@
+
Name: GNU Guile
Description: GNU's Ubiquitous Intelligent Language for Extension
Version: @GUILE_VERSION@