1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-04-30 03:40:34 +02:00

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.
This commit is contained in:
Ludovic Courtès 2014-12-03 18:59:00 +01:00
parent 8cf2a7ba74
commit 5fac1a7ada
4 changed files with 60 additions and 18 deletions

View file

@ -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])

View file

@ -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

View file

@ -44,24 +44,47 @@ pkgconfig_DATA = guile-2.0.pc
aclocaldir = $(datadir)/aclocal
aclocal_DATA = guile.m4
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" \
# 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,[@]installed_guile[@],$$guile,g" \
< "$(srcdir)/guile-config.in" \
> "$@.out"
-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
$(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

View file

@ -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@