From 35e5bf866c64563bcde636548de4e56677b3cf53 Mon Sep 17 00:00:00 2001 From: Sergey Poznyakoff Date: Fri, 10 Jan 2003 13:48:08 +0000 Subject: Updated from mailutils repository. Require at least guile 1.6 --- m4/guile.m4 | 71 ++++++++++++++++++++++++++++++++++++++++++++++--------------- 1 file changed, 54 insertions(+), 17 deletions(-) (limited to 'm4') diff --git a/m4/guile.m4 b/m4/guile.m4 index 8a2f526..dbcd2ec 100644 --- a/m4/guile.m4 +++ b/m4/guile.m4 @@ -1,5 +1,5 @@ -dnl This file is part of GNU RADIUS. -dnl Copyright (C) 2001, Sergey Poznyakoff +dnl This file is part of GNU mailutils. +dnl Copyright (C) 2001 Free Software Foundation, Inc. dnl dnl This program is free software; you can redistribute it and/or modify dnl it under the terms of the GNU General Public License as published by @@ -15,42 +15,60 @@ dnl You should have received a copy of the GNU General Public License dnl along with this program; if not, write to the Free Software dnl Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. dnl -AC_DEFUN(RA_CHECK_GUILE, + +dnl MU_RESULT_ACTIONS -- generate shell code for the result of a test +dnl $1 -- CVAR -- cache variable to check +dnl $2 -- NAME -- if not empty, used to generate a default value TRUE: +dnl `AC_DEFINE(HAVE_NAME)' +dnl $2 -- TRUE -- what to do if the CVAR is not `no' +dnl $3 -- FALSE -- what to do otherwise; defaults to `:' +dnl +AC_DEFUN([MU_RESULT_ACTIONS], [ +[if test "$$1" != "" -a "$$1" != no; then + ]ifelse([$3], , + [AC_DEFINE(HAVE_]translit($2, [a-z ./<>], [A-Z___])[,1,[FIXME])], + [$3])[ +else + ]ifelse([$4], , [:], [$4])[ +fi]])dnl + +AC_DEFUN(MU_CHECK_GUILE, [ - if test "x$ra_cv_lib_guile" = x; then + if test "x$mu_cv_lib_guile" = x; then cached="" AC_PATH_PROG(GUILE_CONFIG, guile-config, no, $PATH) if test $GUILE_CONFIG = no; then - ra_cv_lib_guile=no + mu_cv_lib_guile=no else GUILE_INCLUDES=`guile-config compile` GUILE_LIBS=`guile-config link` fi if test $GUILE_CONFIG != no; then - AC_MSG_CHECKING(for guile version 1.4 or higher) - GV=`($GUILE_CONFIG --version 2>&1; echo '')|sed -n 's/guile-config - Guile version \([[0-9]][[0-9]]*\)\.\([[0-9]][[0-9]]*\).*/\1\2/p'` - case "x$GV" in + AC_MSG_CHECKING(for guile version 1.6 or higher) + GUILE_VERSION=`($GUILE_CONFIG --version 2>&1; echo '')|sed -n 's/guile-config - Guile version \([[0-9]][[0-9]]*\)\.\([[0-9]][[0-9]]*\).*/\1\2/p'` + case "x$GUILE_VERSION" in x[[0-9]]*) - if test $GV -lt 14; then + if test $GUILE_VERSION -lt 16; then AC_MSG_RESULT(Nope. Version number too low.) - ra_cv_lib_guile=no + mu_cv_lib_guile=no else + AC_DEFINE_UNQUOTED(GUILE_VERSION, $GUILE_VERSION, + [Guile version number: MAX*10 + MIN]) AC_MSG_RESULT(OK) save_LIBS=$LIBS save_CFLAGS=$CFLAGS LIBS="$LIBS $GUILE_LIBS" CFLAGS="$CFLAGS $GUILE_INCLUDES" AC_TRY_LINK([#include ], - void main(argc, argv) int argc; char **argv; - { ifelse([$1], , scm_shell(argc, argv);, [$1]) }, - [ra_cv_lib_guile=yes], - [ra_cv_lib_guile=no]) + ifelse([$1], , scm_shell(0, NULL);, [$1]), + [mu_cv_lib_guile=yes], + [mu_cv_lib_guile=no]) LIBS=$save_LIBS CFLAGS=$save_CFLAGS fi ;; *) AC_MSG_RESULT(Nope. Unknown version number) - ra_cv_lib_guile=no;; + mu_cv_lib_guile=no;; esac fi else @@ -59,8 +77,27 @@ AC_DEFUN(RA_CHECK_GUILE, GUILE_LIBS=`guile-config link` fi AC_MSG_CHECKING(whether to build guile support) - RA_RESULT_ACTIONS([ra_cv_lib_guile],[LIBGUILE],[$2],[$3]) - AC_MSG_RESULT(${cached}$ra_cv_lib_guile) + MU_RESULT_ACTIONS([mu_cv_lib_guile],[LIBGUILE],[$2],[$3]) + AC_MSG_RESULT(${cached}$mu_cv_lib_guile) + if test $mu_cv_lib_guile = yes; then + if test $GUILE_VERSION -gt 14; then + LIBS="$LIBS $GUILE_LIBS" + CFLAGS="$CFLAGS $GUILE_INCLUDES" + AC_CHECK_FUNCS(scm_long2num scm_cell scm_list_1 scm_list_n scm_c_define\ + scm_c_lookup) + if test $ac_cv_func_scm_cell = no; then + AC_MSG_CHECKING(for inline scm_cell) + AC_TRY_LINK([#include ], + [scm_cell(SCM_EOL, SCM_EOL)], + [ac_cv_func_scm_cell=yes + AC_DEFINE(HAVE_SCM_CELL,1, + Define if you have scm_cell function)]) + AC_MSG_RESULT($ac_cv_func_scm_cell) + fi + CFLAGS=$save_CFLAGS + LIBS=$save_LIBS + fi + fi ]) -- cgit v1.2.1