summaryrefslogtreecommitdiff
path: root/configure.in
diff options
context:
space:
mode:
authorTimo Sirainen <cras@irssi.org>2000-10-03 22:57:14 +0000
committercras <cras@dbcabf3a-b0e7-0310-adc4-f8d773084564>2000-10-03 22:57:14 +0000
commit5e97ea1549df8b0f5896f2bebf027721bb197eff (patch)
tree53fb0d1a8fef5c68fa54efc0d72a0430ca4cc96a /configure.in
parent391a419a1fce87ea4fef199390e23cbf0dbee589 (diff)
downloadirssi-5e97ea1549df8b0f5896f2bebf027721bb197eff.zip
--enable-perl=[yes|no|static]
Allows building perl support either as loadable irssi module or statically linked to irssi binary. git-svn-id: http://svn.irssi.org/repos/irssi/trunk@716 dbcabf3a-b0e7-0310-adc4-f8d773084564
Diffstat (limited to 'configure.in')
-rw-r--r--configure.in143
1 files changed, 92 insertions, 51 deletions
diff --git a/configure.in b/configure.in
index a3b05df1..85bb2fb9 100644
--- a/configure.in
+++ b/configure.in
@@ -17,25 +17,25 @@ AC_CHECK_HEADERS(string.h stdlib.h unistd.h dirent.h sys/ioctl.h libintl.h)
AC_ARG_WITH(socks,
[ --with-socks Build with socks support],
if test x$withval = xyes; then
- want_socks=yes
+ want_socks=yes
else
- if test "x$withval" = xno; then
- want_socks=no
- else
- want_socks=yes
- fi
+ if test "x$withval" = xno; then
+ want_socks=no
+ else
+ want_socks=yes
+ fi
fi,
want_socks=no)
AC_ARG_WITH(textui,
[ --with-textui Build text frontend],
if test x$withval = xyes; then
- want_textui=yes
+ want_textui=yes
else
if test "x$withval" = xno; then
want_textui=no
else
- want_textui=yes
+ want_textui=yes
fi
fi,
want_textui=yes)
@@ -43,12 +43,12 @@ AC_ARG_WITH(textui,
AC_ARG_WITH(bot,
[ --with-bot Build irssi-bot],
if test x$withval = xyes; then
- want_irssibot=yes
+ want_irssibot=yes
else
if test "x$withval" = xno; then
want_irssibot=no
else
- want_irssibot=yes
+ want_irssibot=yes
fi
fi,
want_irssibot=no)
@@ -56,12 +56,12 @@ AC_ARG_WITH(bot,
AC_ARG_WITH(proxy,
[ --with-proxy Build irssi-proxy],
if test x$withval = xyes; then
- want_irssiproxy=yes
+ want_irssiproxy=yes
else
if test "x$withval" = xno; then
want_irssiproxy=no
else
- want_irssiproxy=yes
+ want_irssiproxy=yes
fi
fi,
want_irssiproxy=no)
@@ -77,30 +77,43 @@ else
PERL_LIB_DIR="$prefix"
fi
-AC_ARG_ENABLE(perl,
-[ --enable-perl[=dir] Enable Perl scripting, you can specify the Perl libraries installation path],
+AC_ARG_ENABLE(perl-path,
+[ --enable-perl-path=dir Specify where to install the Perl libraries for irssi],
if test x$enableval = xyes; then
- want_perl=yes
+ want_perl=yes
else
if test "x$enableval" = xno; then
want_perl=no
else
- want_perl=yes
+ want_perl=yes
PERL_LIB_DIR="$enableval"
perl_lib_dir_given=yes
fi
fi,
want_perl=yes)
+AC_ARG_ENABLE(perl,
+[ --enable-perl[=yes|no|static] Build with Perl support - also specifies
+ if it should be built into main irssi binary
+ (static) or as module (default)],
+ if test x$enableval = xyes; then
+ want_perl=yes
+ elif test x$enableval = xstatic; then
+ want_perl=static
+ else
+ want_perl=no
+ fi,
+ want_perl=yes)
+
AC_ARG_WITH(servertest,
[ --with-servertest Build servertest],
if test x$withval = xyes; then
- want_servertest=yes
+ want_servertest=yes
else
if test "x$withval" = xno; then
want_servertest=no
else
- want_servertest=yes
+ want_servertest=yes
fi
fi,
want_servertest=no)
@@ -110,24 +123,24 @@ AC_ARG_ENABLE(memdebug,
if test x$enableval = xyes; then
want_memdebug=yes
else
- if test "x$enableval" = xno; then
- want_memdebug=no
- else
- want_memdebug=yes
- fi
+ if test "x$enableval" = xno; then
+ want_memdebug=no
+ else
+ want_memdebug=yes
+ fi
fi,
want_memdebug=no)
AC_ARG_ENABLE(ipv6,
[ --enable-ipv6 Enable IPv6 support],
if test x$enableval = xyes; then
- want_ipv6=yes
+ want_ipv6=yes
else
- if test "x$enableval" = xno; then
- want_ipv6=no
- else
- want_ipv6=yes
- fi
+ if test "x$enableval" = xno; then
+ want_ipv6=no
+ else
+ want_ipv6=yes
+ fi
fi,
want_ipv6=no)
@@ -190,11 +203,10 @@ dnl **
AM_PATH_GLIB(1.2.0,,, gmodule)
if test "x$GLIB_LIBS" = "x"; then
- AC_ERROR([GLib is required to build Irssi])
+ AC_ERROR([GLib is required to build irssi])
fi
PROG_LIBS="$PROG_LIBS $GLIB_LIBS"
-AC_SUBST(PROG_LIBS)
dnl **
dnl ** curses checks
@@ -237,7 +249,7 @@ else
fi
AC_PATH_PROG(sedpath, sed)
-if test "$want_perl" = "yes"; then
+if test "$want_perl" != "no"; then
AC_PATH_PROG(perlpath, perl)
AC_MSG_CHECKING(for Perl compile flags)
@@ -246,7 +258,12 @@ if test "$want_perl" = "yes"; then
AC_MSG_RESULT([not found, building without Perl.])
want_perl=no
else
- PERL_LDFLAGS="`$perlpath -MExtUtils::Embed -e ldopts` "
+ PERL_LDFLAGS="`$perlpath -MExtUtils::Embed -e ldopts` 2>/dev/null"
+
+ if test "$want_perl" != "static"; then
+ dnl * find libperl.a so we could
+ libperl_a=`echo $PERL_LDFLAGS|$perlpath -e 'foreach (split(/ /, <STDIN>)) { if (/^-L(.*)/ && -f $1."/libperl.a") { print $1."/libperl.a" } };'`
+ fi
dnl * Perl 5.004 and older use perl_xxx variables while
dnl * later use PL_perl_xxx variables ..
@@ -255,9 +272,11 @@ if test "$want_perl" = "yes"; then
AC_DEFINE(HAVE_PL_PERL)
fi
- 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 * don't check dynaloader if libperl.a wasn't found..
+ if test "x$libperl_a" != "x"; then
+ dnl * dynaloader.a -> libperl_dynaloader.la
+ dynaloader=`echo $PERL_LDFLAGS | $sedpath 's/.* \([[^ ]]*\.a\).*/\1/'`
+ fi
dnl * remove all database stuffs
PERL_LDFLAGS=`echo $PERL_LDFLAGS | $sedpath 's/-ldb //'`
@@ -277,16 +296,26 @@ if test "$want_perl" = "yes"; then
dnl * must not be in LIBADD line
PERL_LDFLAGS=`echo $PERL_LDFLAGS | $sedpath 's/-rdynamic //'`
- if test "x$dynaloader" = "x"; then
- AC_MSG_RESULT([error parsing ldopts, building without Perl.])
- want_perl=no
+ if test "x$want_perl" = "xstatic"; then
+ AC_MSG_RESULT(ok)
+ elif test "x$dynaloader" = "x"; then
+ AC_MSG_RESULT([error parsing ldopts, building Perl into irssi binary instead of as module])
+ want_perl=static
else
AC_MSG_RESULT(ok)
+ PERL_LDFLAGS=`echo $PERL_LDFLAGS | $sedpath 's/ [[^ ]]*\.a/ libperl_dynaloader.la/'`
+ PERL_LDFLAGS=`echo $PERL_LDFLAGS | $sedpath 's/ -lperl/ libperl_orig.la/'`
+ fi
- AC_SUBST(PERL_CFLAGS)
- AC_SUBST(PERL_LDFLAGS)
- AC_SUBST(PERL_LIB_DIR)
+ if test "x$want_perl" = "xstatic"; then
+ PERL_LDFLAGS="../perl/.libs/libperl.a $PERL_LDFLAGS"
+ PROG_LIBS="$PROG_LIBS $PERL_LDFLAGS"
+ PERL_LDFLAGS=
+ AC_DEFINE(HAVE_STATIC_PERL)
fi
+ AC_SUBST(PERL_LDFLAGS)
+ AC_SUBST(PERL_CFLAGS)
+ AC_SUBST(PERL_LIB_DIR)
fi
fi
@@ -296,7 +325,9 @@ AM_CONDITIONAL(BUILD_IRSSIBOT, test "$want_irssibot" = "yes")
AM_CONDITIONAL(BUILD_IRSSIPROXY, test "$want_irssiproxy" = "yes")
AM_CONDITIONAL(BUILD_PLUGINS, test "$want_plugins" = "yes")
AM_CONDITIONAL(BUILD_SERVERTEST, test "$want_servertest" = "yes")
-AM_CONDITIONAL(HAVE_PERL, test "$want_perl" = "yes")
+AM_CONDITIONAL(HAVE_PERL, test "$want_perl" != "no")
+
+AC_SUBST(PROG_LIBS)
dnl **
dnl ** Keep all the libraries here so each frontend doesn't need to
@@ -433,8 +464,8 @@ irssi.spec
irssi-version.h
irssi-config)
-dnl ** for building from objdir
-if test "x$want_perl" = "xyes"; then
+dnl ** for building from objdir + linking perl libraries so libtool finds them
+if test "x$want_perl" != "xno"; then
old_dir=`pwd` && cd $srcdir && whole_dir=`pwd` && cd $old_dir
if test "x$old_dir" != "x$whole_dir"; then
@@ -442,11 +473,14 @@ 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
+
+ dnl * building as module
+ if test "x$want_perl" = "xyes"; then
+ if test ! -d src/perl/.libs; then
+ mkdir -p src/perl/.libs
+ fi
+ ln -sf $dynaloader src/perl/.libs/DynaLoader.a
+ ln -sf $libperl_a src/perl/.libs/libperl_orig.a
fi
fi
@@ -463,7 +497,14 @@ fi
echo "Building irssi bot ......... : $want_irssibot"
echo "Building irssi proxy ....... : $want_irssiproxy"
echo "Building with IPv6 support . : $want_ipv6"
-echo "Building with Perl support . : $want_perl"
+if test "x$want_perl" = "xstatic"; then
+ echo "Building with Perl support . : static (in irssi binary)"
+elif test "x$want_perl" = "xyes"; then
+ echo "Building with Perl support . : module"
+else
+ echo "Building with Perl support . : no"
+fi
+
if test "x$want_perl" = "xyes"; then
if test "x$PERL_LIB_DIR" = "x"; then
echo "Perl library directory ..... : (default - usually /usr/local/lib/perl_site)"