Perl works now only as a runtime loadable module

git-svn-id: http://svn.irssi.org/repos/irssi/trunk@656 dbcabf3a-b0e7-0310-adc4-f8d773084564
This commit is contained in:
Timo Sirainen 2000-09-07 21:55:58 +00:00 committed by cras
commit 17bb7faf2f
6 changed files with 72 additions and 35 deletions

View file

@ -223,34 +223,49 @@ else
fi
AC_PATH_PROG(sedpath, sed)
if test "$want_perl" = yes; then
if test "$want_perl" = "yes"; then
AC_PATH_PROG(perlpath, perl)
AC_MSG_CHECKING(for Perl compile flags)
PERL_CFLAGS=`$perlpath -MExtUtils::Embed -e ccopts 2>/dev/null`
if test "x$PERL_CFLAGS" = "x"; then
AC_MSG_RESULT([not found, building without perl.])
AC_MSG_RESULT([not found, building without Perl.])
want_perl=no
else
PERL_LDFLAGS=`$perlpath -MExtUtils::Embed -e ldopts |$sedpath 's/-lgdbm //'`
PERL_LDFLAGS=`echo $PERL_LDFLAGS |$sedpath 's/-ldb //'`
PERL_LDFLAGS=`echo $PERL_LDFLAGS |$sedpath 's/-lndbm //'`
if test "$system" = "Linux"; then
PERL_LDFLAGS=`echo $PERL_LDFLAGS |$sedpath 's/-lnsl //'`
PERL_LDFLAGS=`echo $PERL_LDFLAGS |$sedpath 's/-lposix //'`
PERL_LDFLAGS="`$perlpath -MExtUtils::Embed -e ldopts` "
dnl * dynaloader.a -> libperl_dynaloader.la
dynaloader=`echo $PERL_LDFLAGS | $sedpath 's/.* \([[^ ]]*\.a\).*/\1/'`
PERL_LDFLAGS=`echo $PERL_LDFLAGS | $sedpath 's/ [[^ ]]*\.a/ libperl_dynaloader.la/'`
dnl * remove all database stuffs
PERL_LDFLAGS=`echo $PERL_LDFLAGS | $sedpath 's/-ldb //'`
PERL_LDFLAGS=`echo $PERL_LDFLAGS | $sedpath 's/-ldbm //'`
PERL_LDFLAGS=`echo $PERL_LDFLAGS | $sedpath 's/-lndbm //'`
PERL_LDFLAGS=`echo $PERL_LDFLAGS | $sedpath 's/-lgdbm //'`
dnl * nsl is already in ldflags
PERL_LDFLAGS=`echo $PERL_LDFLAGS | $sedpath 's/-lnsl //'`
dnl * linux specific ..
if echo $host_os | grep -q linux; then
PERL_LDFLAGS=`echo $PERL_LDFLAGS | $sedpath 's/-lposix //'`
fi
PERL_LDFLAGS=`echo $PERL_LDFLAGS |$sedpath 's/-lc //'`
AC_MSG_RESULT(ok)
AC_SUBST(PERL_CFLAGS)
AC_SUBST(PERL_LDFLAGS)
AC_SUBST(PERL_LIB_DIR)
AC_DEFINE(HAVE_PERL)
fi
dnl * libc is of course in list already
PERL_LDFLAGS=`echo $PERL_LDFLAGS | $sedpath 's/-lc //'`
dnl * must not be in LIBADD line
PERL_LDFLAGS=`echo $PERL_LDFLAGS | $sedpath 's/-rdynamic //'`
dnl ** building from objdir..
if test ! -d plugins/perl/xs; then
mkdir -p plugins/perl/xs
if test "x$dynaloader" = "x"; then
AC_MSG_RESULT([error parsing ldopts, building without Perl.])
want_perl=no
else
AC_MSG_RESULT(ok)
AC_SUBST(PERL_CFLAGS)
AC_SUBST(PERL_LDFLAGS)
AC_SUBST(PERL_LIB_DIR)
fi
fi
fi
@ -312,7 +327,7 @@ for c in $CHAT_MODULES; do
echo "void ${c}_core_init(void); void ${c}_core_deinit(void);" >> $file
if test "x$module_inits" != "x"; then
echo "$module_inits" | $sedpath -e 's/()/(void)/g' -e 's/ /void /g' >> $file
echo "$module_deinits" | $sedpath -e 's/[ ]*$//' -e 's/()/(void)/g' -e 's/ /void /g' -e 's/^/void /' >> $file
echo "$module_deinits" | $sedpath -e 's/ *$//' -e 's/()/(void)/g' -e 's/ /void /g' -e 's/^/void /' >> $file
fi
echo "void ${c}_init(void) { ${c}_core_init(); $module_inits }" >> $file
echo "void ${c}_deinit(void) { $module_deinits ${c}_core_deinit(); }" >> $file
@ -322,7 +337,7 @@ for c in $CHAT_MODULES; do
echo "/* this file is automatically generated by configure - don't change */" > $file
if test "x$fe_module_inits" != "x"; then
echo "$fe_module_inits" | $sedpath -e 's/()/(void)/g' -e 's/ /void /g' >> $file
echo "$fe_module_deinits" | $sedpath -e 's/[ ]*$//' -e 's/()/(void)/g' -e 's/ /void /g' -e 's/^/void /' >> $file
echo "$fe_module_deinits" | $sedpath -e 's/ *$//' -e 's/()/(void)/g' -e 's/ /void /g' -e 's/^/void /' >> $file
fi
echo "void fe_${c}_modules_init(void) { $fe_module_inits }" >> $file
echo "void fe_${c}_modules_deinit(void) { $fe_module_deinits }" >> $file
@ -408,6 +423,12 @@ if test "x$want_perl" = "xyes"; then
ln -sf $file `echo $file|sed "s?$whole_dir/??"`
done
fi
if test ! -d src/perl/.libs; then
mkdir -p src/perl/.libs
fi
if test ! -L src/perl/.libs/DynaLoader.a; then
ln -s $dynaloader src/perl/.libs/DynaLoader.a
fi
fi
echo