diff --git a/SWIG/Makefile.in b/SWIG/Makefile.in index fe0c42ed6..34f1922f7 100644 --- a/SWIG/Makefile.in +++ b/SWIG/Makefile.in @@ -39,7 +39,7 @@ skip-perl = test -n "@SKIP_PERL5@" skip-python = test -n "@SKIP_PYTHON@" skip-java = test -n "@SKIP_JAVA@" skip-guile = test -n "@SKIP_GUILE@" -skip-guilescm = test -n "@SKIP_GUILE@" +skip-guilescm = test -n "@SKIP_GUILESCM@" skip-mzscheme = test -n "@SKIP_MZSCHEME@" skip-ruby = test -n "@SKIP_RUBY@" skip-php4 = test -n "@SKIP_PHP4@" diff --git a/SWIG/Runtime/Makefile.am b/SWIG/Runtime/Makefile.am index fdb2b6c3e..03637704a 100644 --- a/SWIG/Runtime/Makefile.am +++ b/SWIG/Runtime/Makefile.am @@ -21,7 +21,10 @@ if !SKIP_PYTHON lib_LTLIBRARIES += libswigpy.la endif if !SKIP_GUILE -lib_LTLIBRARIES += libswigguile.la libswigguilescm.la +lib_LTLIBRARIES += libswigguile.la +endif +if !SKIP_GUILESCM +lib_LTLIBRARIES += libswigguilescm.la endif if !SKIP_RUBY lib_LTLIBRARIES += libswigrb.la diff --git a/SWIG/configure.in b/SWIG/configure.in index 58342720d..4f40c6ec3 100644 --- a/SWIG/configure.in +++ b/SWIG/configure.in @@ -801,6 +801,35 @@ AC_SUBST(GUILEINCLUDE) AC_SUBST(GUILELIB) AC_SUBST(GUILELINK) +guilesafe_CFLAGS=$CFLAGS +guilesafe_LDFLAGS=$LDFLAGS +CFLAGS="$CFLAGS $GUILEINCLUDE" +LDFLAGS="$LDFLAGS $GUILELINK" + +AC_MSG_CHECKING(whether Guile's gh_ API works) +AC_LINK_IFELSE([#include + int main() { SCM s; return gh_scm2int(s); }], GUILE_GH_INTERFACE=1, ) +if test -n "$GUILE_GH_INTERFACE" ; then + AC_MSG_RESULT(yes) +else + AC_MSG_RESULT(no) +fi +AC_MSG_CHECKING(whether Guile's SCM_ API works) +AC_LINK_IFELSE([#include + int main() { SCM s; return SCM_STRING_LENGTH(s); }], GUILE_SCM_INTERFACE=1, ) +if test -n "$GUILE_SCM_INTERFACE" ; then + AC_MSG_RESULT(yes) +else + AC_MSG_RESULT(no) +fi +CFLAGS=$guilesafe_CFLAGS +LDFLAGS=$guilesafe_LDFLAGS + +AM_CONDITIONAL(GUILE_GH_INTERFACE, test -n "$GUILE_GH_INTERFACE") +AC_SUBST(GUILE_GH_INTERFACE) +AM_CONDITIONAL(GUILE_SCM_INTERFACE, test -n "$GUILE_SCM_INTERFACE") +AC_SUBST(GUILE_SCM_INTERFACE) + #---------------------------------------------------------------- # Look for MzScheme #---------------------------------------------------------------- @@ -1239,12 +1268,19 @@ AC_SUBST(SKIP_JAVA) SKIP_GUILE= -if test -z "$GUILEINCLUDE" || test -z "$GUILELIB" ; then +if test -z "$GUILEINCLUDE" || test -z "$GUILELIB" || test -z "$GUILE_GH_INTERFACE"; then SKIP_GUILE="1" fi AM_CONDITIONAL(SKIP_GUILE, test -n "$SKIP_GUILE") AC_SUBST(SKIP_GUILE) +SKIP_GUILESCM= +if test -z "$GUILEINCLUDE" || test -z "$GUILELIB" || test -z "$GUILE_SCM_INTERFACE"; then + SKIP_GUILESCM="1" +fi +AM_CONDITIONAL(SKIP_GUILESCM, test -n "$SKIP_GUILESCM") +AC_SUBST(SKIP_GUILESCM) + SKIP_MZSCHEME= if test -z "$MZC" ; then