diff options
author | Timo Sirainen <cras@irssi.org> | 2000-10-03 22:57:14 +0000 |
---|---|---|
committer | cras <cras@dbcabf3a-b0e7-0310-adc4-f8d773084564> | 2000-10-03 22:57:14 +0000 |
commit | 5e97ea1549df8b0f5896f2bebf027721bb197eff (patch) | |
tree | 53fb0d1a8fef5c68fa54efc0d72a0430ca4cc96a /configure.in | |
parent | 391a419a1fce87ea4fef199390e23cbf0dbee589 (diff) | |
download | irssi-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.in | 143 |
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)" |