diff --git a/src/modules/Perl/configure.in b/src/modules/Perl/configure.in index 7f640fd4bc19acbbdf56b8d77fb92788165ae28f..080c2e072116b2833313e9ce8521d66817516801 100644 --- a/src/modules/Perl/configure.in +++ b/src/modules/Perl/configure.in @@ -1,26 +1,69 @@ -# $Id: configure.in,v 1.2 1998/11/22 13:02:06 hubbe Exp $ +# $Id: configure.in,v 1.3 1998/12/21 23:18:04 hubbe Exp $ AC_INIT(perlmod.c) AC_CONFIG_HEADER(perl_machine.h) AC_MODULE_INIT() +AC_CACHE_VAL(pike_cv_perlmod_have_perl, +[ +pike_cv_perlmod_have_perl=no + AC_CHECK_PROGS(perl, perl perl5, x) objs= if test x$perl != xx ; then # We have perl, but do we have perlembed? -# PERL_LDFLAGS=`perl -V:lddlflags | sed "s/^lddlflags='\(.*\);$/\1/"` -# PERL_CCFLAGS=`perl -V:ccflags | sed "s/^ccflags='\(.*\);$/\1/"` - + AC_MSG_CHECKING(if perl is embeddable) PERL_LDFLAGS=`perl -MExtUtils::Embed -e ldopts` PERL_CCFLAGS=`perl -MExtUtils::Embed -e ccopts` if test "x$PERL_LDFLAGS$PERL_CCFLAGS" != x; then - extra_objs='perlxsi.o' - AC_DEFINE(HAVE_PERL) + OLD_LIBS="${LDFLAGS-}" + OLD_CFLAGS="${CFLAGS-}" + CFLAGS="$CFLAGS $PERL_CCFLAGS" + LIBS="$LIBS $PERL_LDFLAGS" + + AC_TRY_RUN([ +#include <EXTERN.h> +#include <perl.h> +#include <unistd.h> + +static PerlInterpreter *my_perl; + +int main(int argc, char **argv, char **env) +{ + char *args[4]; + args[0]="perl"; + args[1]="-e"; + args[2]="1"; + args[3]=0; + alarm(10); + + perl_destruct_level=2; + my_perl = perl_alloc(); + perl_construct(my_perl); + perl_parse(my_perl, NULL, 2, args, (char **)NULL); + perl_run(my_perl); + perl_destruct(my_perl); + perl_free(my_perl); +} +],pike_cv_perlmod_have_perl=yes) + + LIBS="${OLD_LIBS-}" + CFLAGS="${OLD_CFLAGS-}" fi fi +]) + +if test "x$pike_cv_perlmod_have_perl" = xyes ; then + extra_objs='perlxsi.o' + AC_DEFINE(HAVE_PERL) + AC_MSG_RESULT(yes) +else + AC_MSG_RESULT(no) +fi + AC_SUBST(perl) AC_SUBST(extra_objs)