From 6ba6a0f1a32b248710d64ce307fa49a9b6a29d8f Mon Sep 17 00:00:00 2001 From: Freja Nordsiek Date: Sun, 12 Mar 2017 10:22:53 +0100 Subject: [PATCH] Added GUILE_SITE_CCACHE_DIR and GUILE_EXTENSION_DIR Autoconf macros for finding where user compiled .go and C extensions should go. --- meta/guile-2.2.pc.in | 1 + meta/guile.m4 | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 49 insertions(+) diff --git a/meta/guile-2.2.pc.in b/meta/guile-2.2.pc.in index c8f485b..c6d12b5 100644 --- a/meta/guile-2.2.pc.in +++ b/meta/guile-2.2.pc.in @@ -10,6 +10,7 @@ address@hidden@/guile address@hidden@ address@hidden@/guile/@GUILE_EFFECTIVE_VERSION@/extensions address@hidden@/guile/@GUILE_EFFECTIVE_VERSION@/site-ccache address@hidden@ # Actual name of the 'guile' and 'guild' programs. This is diff --git a/meta/guile.m4 b/meta/guile.m4 index 2e4f3dc..f1c7261 100644 --- a/meta/guile.m4 +++ b/meta/guile.m4 @@ -26,6 +26,8 @@ ## GUILE_PROGS -- set paths to Guile interpreter, config and tool programs ## GUILE_FLAGS -- set flags for compiling and linking with Guile ## GUILE_SITE_DIR -- find path to Guile "site" directory +## GUILE_SITE_CCACHE_DIR -- find path to Guile "site-ccache" directory where GO files go +## GUILE_EXTENSION_DIR -- find path to Guile "extensions" directory ## GUILE_CHECK -- evaluate Guile Scheme code and capture the return value ## GUILE_MODULE_CHECK -- check feature of a Guile Scheme module ## GUILE_MODULE_AVAILABLE -- check availability of a Guile Scheme module @@ -175,6 +177,52 @@ AC_DEFUN([GUILE_SITE_DIR], AC_SUBST(GUILE_SITE) ]) +# GUILE_SITE_CCACHE_DIR -- find path to Guile "site-ccache" directory where GO files go +# +# Usage: GUILE_SITE_CCACHE_DIR +# +# This looks for Guile's "site-ccache" directory, usually something like +# PREFIX/lib/guile/@var{GUILE_EFFECTIVE_VERSION}/site-ccache, and sets var +# @var{GUILE_SITE_CCACHE} to the path. Note that the var name is different +# from the macro name. This is the directory where users should install +# compiled @code{.go} files for use with this version of Guile. +# +# The variable is marked for substitution, as by @code{AC_SUBST}. +# +AC_DEFUN([GUILE_SITE_CCACHE_DIR], + [AC_REQUIRE([GUILE_PKG]) + AC_MSG_CHECKING(for Guile site-ccache directory) + GUILE_SITE_CCACHE=`$PKG_CONFIG --print-errors --variable=siteccachedir guile-$GUILE_EFFECTIVE_VERSION` + AC_MSG_RESULT($GUILE_SITE_CCACHE) + if test "$GUILE_SITE_CCACHE" = ""; then + AC_MSG_FAILURE(siteccachedir not found) + fi + AC_SUBST(GUILE_SITE_CCACHE) + ]) + +# GUILE_EXTENSION_DIR -- find path to Guile "extensions" directory +# +# Usage: GUILE_EXTENSION_DIR +# +# This looks for Guile's "extensions" directory, usually something like +# PREFIX/lib/guile/@var{GUILE_EFFECTIVE_VERSION}/extensions, and sets var +# @var{GUILE_EXTENSION} to the path. Note that the var name is different +# from the macro name. This is the directory where users should install +# compiled C extensions for use with this version of Guile. +# +# The variable is marked for substitution, as by @code{AC_SUBST}. +# +AC_DEFUN([GUILE_EXTENSION_DIR], + [AC_REQUIRE([GUILE_PKG]) + AC_MSG_CHECKING(for Guile extensions directory) + GUILE_EXTENSION=`$PKG_CONFIG --print-errors --variable=extensiondir guile-$GUILE_EFFECTIVE_VERSION` + AC_MSG_RESULT($GUILE_EXTENSION) + if test "$GUILE_EXTENSION" = ""; then + AC_MSG_FAILURE(extensiondir not found) + fi + AC_SUBST(GUILE_EXTENSION) + ]) + # GUILE_PROGS -- set paths to Guile interpreter, config and tool programs # # Usage: GUILE_PROGS([VERSION]) -- 2.9.3