From: Lubomir Sedlacik Date: Sat, 24 Aug 2002 08:13:23 +0000 (+0000) Subject: clean, simplify, clean, sort, clean, unify, clean, ... X-Git-Tag: silc.client.0.9.5~24 X-Git-Url: http://git.silcnet.org/gitweb/?p=silc.git;a=commitdiff_plain;h=7e4ba237bcedb0aba135064925c9811ae7a5ac37 clean, simplify, clean, sort, clean, unify, clean, ... --- diff --git a/configure.in.pre b/configure.in.pre index 42d38a6c..9c87858b 100644 --- a/configure.in.pre +++ b/configure.in.pre @@ -18,7 +18,6 @@ AC_INIT(includes/silcversion.h) -# # Put here any platform specific stuff # AC_CANONICAL_SYSTEM @@ -32,6 +31,7 @@ case "$target" in esac # ./prepare script will automatically put the correct version. Do not edit! +# AM_INIT_AUTOMAKE(SILC_PACKAGE, SILC_VERSION) AC_PREREQ(2.52) AM_CONFIG_HEADER(includes/silcdefs.h) @@ -45,17 +45,20 @@ AC_SUBST(LN_S) # Distribution definition. ./prepare will automatically add here a correct # value. Do not edit! +# silc_dist=SILC_PACKAGE SILC_DIST_SUBDIRS="SILC_DISTRIBUTION_SUBDIRS" AC_DEFINE(SILC_DIST_DEFINE) # XXX # Compiler flags +# if test "$GCC"; then CFLAGS="-Wall -finline-functions $CFLAGS" fi # Program checking +# AC_PROG_INSTALL AC_PROG_RANLIB AC_PROG_MAKE_SET @@ -63,11 +66,13 @@ AC_PROG_LIBTOOL AC_PATH_PROG(sedpath, sed) # Header checking +# AC_HEADER_STDC AC_HEADER_TIME AC_HEADER_STAT # More header checking +# AC_CHECK_HEADERS(unistd.h string.h getopt.h errno.h fcntl.h assert.h) AC_CHECK_HEADERS(sys/types.h sys/stat.h sys/time.h stddef.h) AC_CHECK_HEADERS(netinet/in.h netinet/tcp.h xti.h netdb.h) @@ -76,6 +81,7 @@ AC_CHECK_HEADERS(ncurses.h signal.h ctype.h utime.h) AC_CHECK_HEADERS(arpa/inet.h sys/mman.h limits.h termios.h locale.h langinfo.h) # Data type checking +# AC_TYPE_SIGNAL AC_TYPE_SIZE_T AC_TYPE_MODE_T @@ -96,52 +102,54 @@ AC_CHECK_SIZEOF(void *, 0) AC_DEFINE_UNQUOTED(SILC_SIZEOF_VOID_P, $ac_cv_sizeof_void_p) # Function and library checking -AC_CHECK_FUNC(gethostbyname, ac_gethostbyname_found=1,ac_gethostbyname_found=0) -if test x$ac_gethostbyname_found = x0; then +# +AC_CHECK_FUNC(gethostbyname, [], + [ AC_CHECK_LIB(nsl, gethostbyname, LIBS="$LIBS -lnsl") - AC_CHECK_FUNC(res_gethostbyname, ac_res_ghbn_found=1, ac_res_ghbn_found=0) - if test x$ac_res_ghbn_found = x0; then - AC_CHECK_LIB(resolv, res_gethostbyname, LIBS="$LIBS -lresolv") - fi -fi -AC_CHECK_FUNC(socket, ac_socket_found=1, ac_socket_found=0) -if test x$ac_socket_found = x0; then - AC_CHECK_LIB(socket, socket, LIBS="$LIBS -lsocket") -fi + AC_CHECK_FUNC(res_gethostbyname, [], + AC_CHECK_LIB(resolv, res_gethostbyname, LIBS="$LIBS -lresolv") + ) + ]) +AC_CHECK_FUNC(socket, [], + AC_CHECK_LIB(socket, socket, LIBS="$LIBS -lsocket") +) AC_CHECK_FUNCS(gethostname gethostbyaddr getservbyname getservbyport) -AC_CHECK_FUNCS(select listen bind shutdown close connect) -AC_CHECK_FUNCS(fcntl setsockopt time) -AC_CHECK_FUNCS(chmod stat fstat getenv putenv strerror ctime gettimeofday) +AC_CHECK_FUNCS(select listen bind shutdown close connect setsockopt) +AC_CHECK_FUNCS(time ctime utime gettimeofday) +AC_CHECK_FUNCS(chmod fcntl stat fstat getenv putenv strerror) AC_CHECK_FUNCS(getpid getgid getsid getpgid getpgrp getuid) -AC_CHECK_FUNCS(setgroups initgroups) -AC_CHECK_FUNCS(strchr strstr strcpy strncpy memcpy memset memmove utime) -AC_CHECK_FUNCS(pthread_create nl_langinfo) +AC_CHECK_FUNCS(setgroups initgroups pthread_create nl_langinfo) +AC_CHECK_FUNCS(strchr strstr strcpy strncpy memcpy memset memmove) # SIM support checking # XXX These needs to be changed as more supported platforms appear. # XXX This probably needs to be made platform dependant check. +# sim_support=false AC_CHECKING(for SIM support) AC_CHECK_HEADERS(dlfcn.h, AC_CHECK_LIB(dl, dlopen, - AC_DEFINE(SILC_SIM) - sim_support=true - LIBS="$LIBS -ldl", - [AC_CHECK_LIB(c, dlopen, - AC_DEFINE(SILC_SIM) - sim_support=true - ])) -) + [ + AC_DEFINE(SILC_SIM) + sim_support=true + LIBS="$LIBS -ldl" + ], + [ + AC_CHECK_LIB(c, dlopen, + [ + AC_DEFINE(SILC_SIM) + sim_support=true + ]) + ]) + ) AM_CONDITIONAL(SILC_SIM, test x$sim_support = xtrue) if test x$sim_support = xtrue; then - AC_MSG_RESULT(enabled SIM support) + AC_MSG_RESULT(Enabled SIM support.) else - AC_MSG_RESULT(no SIM support found) + AC_MSG_RESULT(No SIM support found.) fi - -# # lib/contrib conditionals # AC_CHECK_HEADER(regex.h, have_regex=1, have_regex=0) @@ -149,180 +157,200 @@ AM_CONDITIONAL(HAVE_REGEX, test x$have_regex = x1) AC_CHECK_FUNC(getopt_long, have_getopt_long=1, have_getopt_long=0) AM_CONDITIONAL(HAVE_GETOPT_LONG, test x$have_getopt_long = x1) -# # Installation # # Default installation destination +# AC_PREFIX_DEFAULT(/usr/local/silc) - if test "x$prefix" != xNONE; then - silc_prefix="$prefix" + silc_prefix="$prefix" else - silc_prefix="$ac_default_prefix" + silc_prefix="$ac_default_prefix" fi # etc directory +# if test "x$sysconfdir" != 'x${prefix}/etc'; then - ETCDIR="$sysconfdir" + ETCDIR="$sysconfdir" else - ETCDIR="$silc_prefix/etc" + ETCDIR="$silc_prefix/etc" fi + AC_ARG_WITH(etcdir, -[ --with-etcdir[=PATH] Directory for system files [/etc/silc]], -[ case "$withval" in - no) - ;; - yes) - ETCDIR="$withval" - ;; - *) - ETCDIR="$withval" - ;; - esac ], -) + [ --with-etcdir[=PATH] Directory for system files [/etc/silc]], + [ + case "$withval" in + no) + ;; + yes) + ETCDIR="$withval" + ;; + *) + ETCDIR="$withval" + ;; + esac + ]) AC_SUBST(ETCDIR) AC_DEFINE_UNQUOTED(SILC_ETCDIR, "$ETCDIR") # help directory +# HELPDIR="$silc_prefix/help" AC_ARG_WITH(helpdir, -[ --with-helpdir[=PATH] Directory for SILC help files [PREFIX/help]], -[ case "$withval" in - no) - ;; - yes) - HELPDIR="$withval" - ;; - *) - HELPDIR="$withval" - ;; - esac ], -) + [ --with-helpdir[=PATH] Directory for SILC help files [PREFIX/help]], + [ + case "$withval" in + no) + ;; + yes) + HELPDIR="$withval" + ;; + *) + HELPDIR="$withval" + ;; + esac + ]) AC_SUBST(HELPDIR) AC_DEFINE_UNQUOTED(SILC_HELPDIR, "$HELPDIR") # doc directory +# DOCDIR="$silc_prefix/doc" AC_ARG_WITH(docdir, -[ --with-docdir[=PATH] Directory for SILC documentation [PREFIX/doc]], -[ case "$withval" in - no) - ;; - yes) - DOCDIR="$withval" - ;; - *) - DOCDIR="$withval" - ;; - esac ], -) + [ --with-docdir[=PATH] Directory for SILC documentation [PREFIX/doc]], + [ + case "$withval" in + no) + ;; + yes) + DOCDIR="$withval" + ;; + *) + DOCDIR="$withval" + ;; + esac + ]) AC_SUBST(DOCDIR) AC_DEFINE_UNQUOTED(SILC_DOCDIR, "$DOCDIR") # SIM modules directory +# MODULESDIR="$silc_prefix/modules" AC_ARG_WITH(simdir, -[ --with-simdir[=PATH] Directory for SIM modules [PREFIX/modules]], -[ case "$withval" in - no) - ;; - yes) - MODULESDIR="$withval" - ;; - *) - MODULESDIR="$withval" - ;; - esac ], -) + [ --with-simdir[=PATH] Directory for SIM modules [PREFIX/modules]], + [ + case "$withval" in + no) + ;; + yes) + MODULESDIR="$withval" + ;; + *) + MODULESDIR="$withval" + ;; + esac + ]) AC_SUBST(MODULESDIR) AC_DEFINE_UNQUOTED(SILC_MODULESDIR, "$MODULESDIR") # Logs directory +# LOGSDIR="$silc_prefix/logs" AC_ARG_WITH(logsdir, -[ --with-logsdir[=PATH] Directory for Server logs [PREFIX/logs]], -[ case "$withval" in - no) - ;; - yes) - LOGSDIR="$withval" - ;; - *) - LOGSDIR="$withval" - ;; - esac ], -) + [ --with-logsdir[=PATH] Directory for Server logs [PREFIX/logs]], + [ + case "$withval" in + no) + ;; + yes) + LOGSDIR="$withval" + ;; + *) + LOGSDIR="$withval" + ;; + esac + ]) AC_SUBST(LOGSDIR) AC_DEFINE_UNQUOTED(SILC_LOGSDIR, "$LOGSDIR") # SOCKS4 support checking +# AC_MSG_CHECKING(whether to support SOCKS4) AC_ARG_WITH(socks4, -[ --with-socks4[=PATH] Compile with SOCKS4 support], -[ case "$withval" in - no) + [ --with-socks4[=PATH] Compile with SOCKS4 support], + [ + case "$withval" in + no) + AC_MSG_RESULT(no) + ;; + *) + AC_MSG_RESULT(yes) + socks=4 + + if test -d "$withval/include"; then + CFLAGS="$CFLAGS -I$withval/include" + else + CFLAGS="$CFLAGS -I$withval" + fi + if test -d "$withval/lib"; then + withval="-L$withval/lib -lsocks" + else + withval="-L$withval -lsocks" + fi + + LIBS="$withval $LIBS" + AC_TRY_LINK([], + [ + Rconnect(); + ], [], + [ + AC_MSG_ERROR(Could not find SOCKS4 library.) + ]) + ;; + esac + ], AC_MSG_RESULT(no) - ;; - *) - AC_MSG_RESULT(yes) - socks=4 - - if test -d "$withval/include"; then - CFLAGS="$CFLAGS -I$withval/include" - else - CFLAGS="$CFLAGS -I$withval" - fi - if test -d "$withval/lib"; then - withval="-L$withval/lib -lsocks" - else - withval="-L$withval -lsocks" - fi - - LIBS="$withval $LIBS" - - AC_TRY_LINK([], - [ Rconnect(); ], - [], - [ AC_MSG_ERROR(Could not find SOCKS4 library.)]) - ;; - esac ], - AC_MSG_RESULT(no) -) + ) # SOCKS5 support checking +# AC_MSG_CHECKING(whether to support SOCKS5) AC_ARG_WITH(socks5, -[ --with-socks5[=PATH] Compile with SOCKS5 support], -[ case "$withval" in - no) + [ --with-socks5[=PATH] Compile with SOCKS5 support], + [ + case "$withval" in + no) + AC_MSG_RESULT(no) + ;; + *) + AC_MSG_RESULT(yes) + socks=5 + + if test -d "$withval/include"; then + CFLAGS="$CFLAGS -I$withval/include" + else + CFLAGS="$CFLAGS -I$withval" + fi + if test -d "$withval/lib"; then + withval="-L$withval/lib -lsocks5" + else + withval="-L$withval -lsocks5" + fi + + LIBS="$withval $LIBS" + AC_TRY_LINK([], + [ + SOCKSconnect(); + ], [], + [ + AC_MSG_ERROR(Could not find SOCKS5 library.) + ]) + ;; + esac + ], AC_MSG_RESULT(no) - ;; - *) - AC_MSG_RESULT(yes) - socks=5 - - if test -d "$withval/include"; then - CFLAGS="$CFLAGS -I$withval/include" - else - CFLAGS="$CFLAGS -I$withval" - fi - if test -d "$withval/lib"; then - withval="-L$withval/lib -lsocks5" - else - withval="-L$withval -lsocks5" - fi - - LIBS="$withval $LIBS" - - AC_TRY_LINK([], - [ SOCKSconnect(); ], - [], - [ AC_MSG_ERROR(Could not find SOCKS5 library.)]) - ;; - esac ], - AC_MSG_RESULT(no) -) + ) if test "x$socks" = "x4"; then AC_DEFINE(SOCKS) @@ -355,256 +383,300 @@ if test "x$socks" = "x5"; then AC_DEFINE(Rgethostbyname, SOCKSgethostbyname) fi -# # MP library checking. First check whether user wants to use GMP and use # it if found. If not or not defined then compile the MPI library in the # source tree. # +mp_gmp=false AC_MSG_CHECKING(whether to support GMP) AC_ARG_WITH(gmp, -[ --with-gmp[=PATH] Compile with GMP support instead of MPI], -[ case "$withval" in - no) + [ --with-gmp[=PATH] Compile with GMP support instead of MPI], + [ + case "$withval" in + no) + AC_MSG_RESULT(no) + ;; + *) + AC_MSG_RESULT(yes) + + if test -d "$withval/include"; then + CFLAGS="$CFLAGS -I$withval/include" + else + CFLAGS="$CFLAGS -I$withval" + fi + if test -d "$withval/lib"; then + withval="-L$withval/lib -lgmp" + else + withval="-L$withval -lgmp" + fi + + LIBS="$withval $LIBS" + AC_CHECK_LIB(gmp, __gmpz_init, + [ + mp_gmp=true + AC_DEFINE(SILC_MP_GMP) + AC_MSG_RESULT(Using GMP as MP library.) + ]) + ;; + esac + ], AC_MSG_RESULT(no) - mp_gmp=false - ;; - *) - AC_MSG_RESULT(yes) - - if test -d "$withval/include"; then - CFLAGS="$CFLAGS -I$withval/include" - else - CFLAGS="$CFLAGS -I$withval" - fi - if test -d "$withval/lib"; then - withval="-L$withval/lib -lgmp" - else - withval="-L$withval -lgmp" - fi - - LIBS="$withval $LIBS" - mp_gmp=false - AC_CHECK_LIB(gmp, __gmpz_init, - mp_gmp=true - AC_DEFINE(SILC_MP_GMP) - AC_MSG_RESULT(Using GMP as MP library) - ) - ;; - esac ], - AC_MSG_RESULT(no) - mp_gmp=false -) + ) AM_CONDITIONAL(SILC_MP_GMP, test x$mp_gmp = xtrue) AM_CONDITIONAL(SILC_MP_NSS_MPI, test x$mp_gmp = xfalse) if test x$mp_gmp = xfalse; then AC_DEFINE(SILC_MP_NSS_MPI) - AC_MSG_RESULT(Using NSS MPI as MP library) + AC_MSG_RESULT(Using NSS MPI as MP library.) +fi + +# iconv support +# +AC_ARG_WITH(iconv, + [ --with-iconv[=PATH] Search for libiconv in DIR/include and DIR/lib], + [ + for dir in `echo "$withval" | tr : ' '`; do + if test -d $dir/include; then + CPPFLAGS="$CPPFLAGS -I$dir/include" + CFLAGS="$CFLAGS -I$dir/include" + fi + if test -d $dir/lib; then + LDFLAGS="$LDFLAGS -L$dir/lib" + fi + done + ]) + +AC_CHECK_HEADER(iconv.h, + [ + AC_DEFINE(HAVE_ICONV_H, 1, [Define if you have the iconv.h header.]) + AC_CHECK_FUNC(iconv, ac_iconv_found=1, + [ + LIBS="$LIBS -liconv" + AC_MSG_CHECKING(for iconv in -liconv) + AC_TRY_LINK( + [ + #include + #include + ], + [ + iconv_t cd = iconv_open("", ""); + iconv(cd, NULL, NULL, NULL, NULL); + iconv_close(cd); + ], + [ + echo "yes" + AC_DEFINE(HAVE_ICONV, 1, [Define if you have the iconv() function.]) + ]) + ]) + ]) + +if test x$ac_iconv_found = x1; then + + # (1) Some implementations of iconv won't convert from UTF-8 to UTF-8. + # (2) In glibc-2.1.2 and earlier there is a bug that messes up ob and + # obl when args 2 and 3 are 0 (fixed in glibc-2.1.3). + # + AC_CACHE_CHECK([whether this iconv is good enough], ac_iconv_good, + AC_TRY_RUN( + [ + #include + int main() { + iconv_t cd; + changequote(, )dnl + char buf[4]; + changequote([, ])dnl + char *ob; + size_t obl; + ob = buf, obl = sizeof(buf); + return ((cd = iconv_open("UTF-8", "UTF-8")) != (iconv_t)(-1) && + (iconv(cd, 0, 0, &ob, &obl) || + !(ob == buf && obl == sizeof(buf)) || + iconv_close(cd))); + } + ], + [ + ac_iconv_good=yes + ], + [ + ac_iconv_good=no + ], + [ + ac_iconv_good=yes + ]) + ) + + if test x$ac_iconv_good = xno; then + AC_MSG_ERROR(Try using libiconv instead.) + fi fi +# silcd config file checking +# AC_ARG_WITH(silcd-config-file, -[ --with-silcd-config-file[=PATH] + [ --with-silcd-config-file[=PATH] Use PATH as default configuration file in SILC server [/etc/silc/silcd.conf]], -[ AC_DEFINE_UNQUOTED(SILC_SERVER_CONFIG_FILE, "$withval") ]) + AC_DEFINE_UNQUOTED(SILC_SERVER_CONFIG_FILE, "$withval") + ) +# silcd pid file checking +# if test "x$localstatedir" != 'x${prefix}/var'; then - PIDFILE="$localstatedir/silcd.pid" + PIDFILE="$localstatedir/silcd.pid" else - PIDFILE="$silc_prefix/var/silcd.pid" + PIDFILE="$silc_prefix/var/silcd.pid" fi + AC_ARG_WITH(silcd-pid-file, -[ --with-silcd-pid-file[=PATH] + [ --with-silcd-pid-file[=PATH] Use PATH as default pid file in SILC server [/var/run/silcd.pid]], -[ case "$withval" in - no) - ;; - yes) - PIDFILE="$withval" - ;; - *) - PIDFILE="$withval" - ;; - esac ], -) + [ + case "$withval" in + no) + ;; + yes) + PIDFILE="$withval" + ;; + *) + PIDFILE="$withval" + ;; + esac + ]) AC_SUBST(PIDFILE) -# # Native WIN32 compilation under cygwin # AC_ARG_WITH(win32, -[ --with-win32 Compile native WIN32 code (-mno-cygwin)], -[ AC_DEFINE(SILC_WIN32) - win32_support=true - CFLAGS="-mno-cygwin $CFLAGS" - LIBS="$LIBS -lwsock32" ]) - + [ --with-win32 Compile native WIN32 code (-mno-cygwin)], + [ + AC_DEFINE(SILC_WIN32) + win32_support=true + CFLAGS="-mno-cygwin $CFLAGS" + LIBS="$LIBS -lwsock32" + ]) AM_CONDITIONAL(SILC_WIN32, test x$win32_support = xtrue) -# # Native EPOC support (disabled by default) # AM_CONDITIONAL(SILC_EPOC, test xfalse = xtrue) -# # Native BeOS support (disabled by default) # AM_CONDITIONAL(SILC_BEOS, test xfalse = xtrue) -# # Native OS2 support (disabled by default) # AM_CONDITIONAL(SILC_OS2, test xfalse = xtrue) -# # --without-irssi # without_irssi=false AC_ARG_WITH(irssi, -[ --without-irssi Compile without Irssi SILC Client], -[ without_irssi=true - SILC_DIST_SUBDIRS=`echo $SILC_DIST_SUBDIRS | $sedpath -e 's/irssi//'` -]) + [ --without-irssi Compile without Irssi SILC Client], + [ + without_irssi=true + SILC_DIST_SUBDIRS=`echo $SILC_DIST_SUBDIRS | $sedpath -e 's/irssi//'` + ]) -# # --without-silcd # without_silcd=false AC_ARG_WITH(silcd, -[ --without-silcd Compile without SILC Server], -[ without_silcd=true - SILC_DIST_SUBDIRS=`echo $SILC_DIST_SUBDIRS | $sedpath -e 's/silcd//'` -]) + [ --without-silcd Compile without SILC Server], + [ + without_silcd=true + SILC_DIST_SUBDIRS=`echo $SILC_DIST_SUBDIRS | $sedpath -e 's/silcd//'` + ]) -# -# IPv6 support -# -AC_MSG_CHECKING(for IPv6 support) -AC_ARG_ENABLE(ipv6, -[ --enable-ipv6 Enable IPv6 support], -[ case "${enableval}" in - yes) - want_ipv6=true - check_ipv6=false - AC_DEFINE(HAVE_IPV6) - AC_MSG_RESULT(yes) - ;; - *) - want_ipv6=false - check_ipv6=false - AC_MSG_RESULT(no) - ;; -esac ], check_ipv6=true) - -if test x$check_ipv6 = xtrue; then - AC_TRY_COMPILE([#ifdef HAVE_NETINET_TCP_H - #include - #endif - #ifdef HAVE_NETDB_H - #include - #endif - #include - #ifdef HAVE_NETDB_IN_H - #include - #endif], - [struct sockaddr_in6 sin6; - int family = AF_INET6; - ], [AC_DEFINE(HAVE_IPV6) - AC_MSG_RESULT(yes)], [AC_MSG_RESULT(no)]) -fi - -# -# Debug checking -# -AC_MSG_CHECKING(for enabled debugging) -AC_ARG_ENABLE(debug, -[ --enable-debug Enable debugging], -[ case "${enableval}" in - yes) - AC_MSG_RESULT(yes) - AC_DEFINE(SILC_DEBUG) - CFLAGS="-O -g $CFLAGS" - ;; - *) - AC_MSG_RESULT(no) - CFLAGS="-O2 -g $CFLAGS" - ;; -esac ], CFLAGS="-O2 -g $CFLAGS" - AC_MSG_RESULT(no)) - -AC_MSG_CHECKING(for enabled stack tracing) -AC_ARG_ENABLE(stack-trace, -[ --enable-stack-trace Enable memory stack trace], -[ case "${enableval}" in - yes) - AC_MSG_RESULT(yes) - AC_DEFINE(SILC_STACKTRACE) - ;; - *) - AC_MSG_RESULT(no) - ;; -esac ], AC_MSG_RESULT(no)) - -# # Disable all assembler optimizations # AC_ARG_ENABLE(asm, -[ --disable-asm Do not use assembler optimizations ], -[]) + [ --disable-asm Do not use assembler optimizations ]) -# # Threads support # +want_threads=false AC_ARG_ENABLE(threads, -[ --disable-threads Do not compile with multi-thread support], -[ case "${enableval}" in - yes) - want_threads=true - check_threads=true - ;; - *) - want_threads=false - check_threads=false - ;; -esac ]) + [ --disable-threads Do not compile with multi-thread support ], + [ + case "${enableval}" in + yes) + want_threads=true + check_threads=true + ;; + *) + check_threads=false + ;; + esac + ]) if test x$check_threads = xtrue; then -want_threads=false AC_CHECK_HEADERS(pthread.h, - [ AC_DEFINE(SILC_HAVE_PTHREAD) - want_threads=true ], - [ if test -f /usr/pkg/include/pthread.h ; then - AC_DEFINE(SILC_HAVE_PTHREAD) - AC_MSG_RESULT(Found pthread.h in /usr/pkg/include/) - CFLAGS="$CFLAGS -I/usr/pkg/include" - want_threads=true - elif test -f /usr/contrib/include/pthread.h ; then - AC_DEFINE(SILC_HAVE_PTHREAD) - AC_MSG_RESULT(Found pthread.h in /usr/contrib/include/) - CFLAGS="$CFLAGS -I/usr/contrib/include" - want_threads=true - fi - ]) + [ + AC_DEFINE(SILC_HAVE_PTHREAD) + want_threads=true + ], + [ + if test -f /usr/pkg/include/pthread.h ; then + AC_DEFINE(SILC_HAVE_PTHREAD) + want_threads=true + AC_MSG_RESULT(Found pthread.h in /usr/pkg/include/) + CFLAGS="$CFLAGS -I/usr/pkg/include" + elif test -f /usr/contrib/include/pthread.h ; then + AC_DEFINE(SILC_HAVE_PTHREAD) + want_threads=true + AC_MSG_RESULT(Found pthread.h in /usr/contrib/include/) + CFLAGS="$CFLAGS -I/usr/contrib/include" + fi + ]) fi AM_CONDITIONAL(SILC_THREADS, test x$want_threads = xtrue) if test x$want_threads = xtrue; then TMP_LIBS="$LIBS" LIBS="-lpthread" - AC_TRY_LINK([#include ], - [pthread_attr_t attr; pthread_attr_init(&attr);], - AC_DEFINE(SILC_THREADS), - LIBS="-L/usr/pkg/lib -lpthread" - AC_TRY_LINK([#include ], - [pthread_attr_t attr; pthread_attr_init(&attr);], - AC_DEFINE(SILC_THREADS), - LIBS="-L/usr/contrib/lib -lpthread" - AC_TRY_LINK([#include ], - [pthread_attr_t attr; pthread_attr_init(&attr);], - AC_DEFINE(SILC_THREADS), - LIBS="" - ))) + AC_TRY_LINK( + [ + #include + ], + [ + pthread_attr_t attr; + pthread_attr_init(&attr); + ], + [ + AC_DEFINE(SILC_THREADS) + ], + [ + LIBS="-L/usr/pkg/lib -lpthread" + AC_TRY_LINK( + [ + #include + ], + [ + pthread_attr_t attr; + pthread_attr_init(&attr); + ], + [ + AC_DEFINE(SILC_THREADS) + ], + [ + LIBS="-L/usr/contrib/lib -lpthread" + AC_TRY_LINK( + [ + #include + ], + [ + pthread_attr_t attr; + pthread_attr_init(&attr); + ], + [ + AC_DEFINE(SILC_THREADS) + ], + LIBS="" + ) + ]) + ]) CFLAGS="$CFLAGS -D_REENTRANT" case $host in @@ -627,87 +699,107 @@ if test x$want_threads = xtrue; then *-dg-dgux*) # DG/UX CFLAGS="$CFLAGS -D_POSIX4A_DRAFT10_SOURCE" ;; - esac - + esac LIBS="$TMP_LIBS $LIBS" fi - -# -# iconv support +# IPv6 support # -AC_ARG_WITH(iconv, -[ --with-iconv[=PATH] Search for libiconv in DIR/include and DIR/lib], -[ for dir in `echo "$withval" | tr : ' '`; do - if test -d $dir/include; then - CPPFLAGS="$CPPFLAGS -I$dir/include" - CFLAGS="$CFLAGS -I$dir/include" - fi - if test -d $dir/lib; then LDFLAGS="$LDFLAGS -L$dir/lib"; fi - done -]) - -AC_CHECK_HEADER(iconv.h, - AC_DEFINE(HAVE_ICONV_H, 1, [Define if you have the iconv.h header.]) - [AC_CHECK_FUNC(iconv, ac_iconv_found=1, - [ LIBS="$LIBS -liconv" - AC_MSG_CHECKING(for iconv in -liconv) - AC_TRY_LINK([#include -#include ], - [iconv_t cd = iconv_open("",""); - iconv(cd,NULL,NULL,NULL,NULL); - iconv_close(cd); - ], echo "yes" - AC_DEFINE(HAVE_ICONV, 1, [Define if you have the iconv() function.]), - ac_iconv_found=0)] - )], [ac_iconv_h_found=0] -) - -#if test x$ac_iconv_found = x0 -o x$ac_iconv_h_found = x0; then -# AC_MSG_ERROR([Unable to find an iconv support. See INSTALL for help.]) -#fi - -if test x$ac_iconv_found = x1; then +AC_MSG_CHECKING(for IPv6 support) +AC_ARG_ENABLE(ipv6, + [ --enable-ipv6 Enable IPv6 support], + [ + case "${enableval}" in + yes) + want_ipv6=true + check_ipv6=false + AC_DEFINE(HAVE_IPV6) + AC_MSG_RESULT(yes) + ;; + *) + want_ipv6=false + check_ipv6=false + AC_MSG_RESULT(no) + ;; + esac + ], + check_ipv6=true + ) -# (1) Some implementations of iconv won't convert from UTF-8 to UTF-8. -# (2) In glibc-2.1.2 and earlier there is a bug that messes up ob and -# obl when args 2 and 3 are 0 (fixed in glibc-2.1.3). -AC_CACHE_CHECK([whether this iconv is good enough], ac_iconv_good, - AC_TRY_RUN([ -#include -int main() -{ - iconv_t cd; -changequote(, )dnl - char buf[4]; -changequote([, ])dnl - char *ob; - size_t obl; - ob = buf, obl = sizeof(buf); - return ((cd = iconv_open("UTF-8", "UTF-8")) != (iconv_t)(-1) && - (iconv(cd, 0, 0, &ob, &obl) || - !(ob == buf && obl == sizeof(buf)) || - iconv_close(cd))); -} - ], - ac_iconv_good=yes, - ac_iconv_good=no, - ac_iconv_good=yes) -) -if test x$ac_iconv_good = xno; then - AC_MSG_ERROR(Try using libiconv instead.) +if test x$check_ipv6 = xtrue; then + AC_TRY_COMPILE( + [ + #ifdef HAVE_NETINET_TCP_H + #include + #endif + #ifdef HAVE_NETDB_H + #include + #endif + #include + #ifdef HAVE_NETDB_IN_H + #include + #endif + ], + [ + struct sockaddr_in6 sin6; + int family = AF_INET6; + ], + [ + AC_DEFINE(HAVE_IPV6) + AC_MSG_RESULT(yes) + ], + AC_MSG_RESULT(no) + ) fi -fi # iconv - +# Debug checking +# +AC_MSG_CHECKING(for enabled debugging) +AC_ARG_ENABLE(debug, + [ --enable-debug Enable debugging], + [ + case "${enableval}" in + yes) + AC_MSG_RESULT(yes) + AC_DEFINE(SILC_DEBUG) + CFLAGS="-O -g $CFLAGS" + ;; + *) + AC_MSG_RESULT(no) + CFLAGS="-O2 -g $CFLAGS" + ;; + esac + ], + [ + CFLAGS="-O2 -g $CFLAGS" + AC_MSG_RESULT(no) + ]) +# Stack trace checking # +AC_MSG_CHECKING(for enabled stack tracing) +AC_ARG_ENABLE(stack-trace, + [ --enable-stack-trace Enable memory stack trace], + [ + case "${enableval}" in + yes) + AC_MSG_RESULT(yes) + AC_DEFINE(SILC_STACKTRACE) + ;; + *) + AC_MSG_RESULT(no) + ;; + esac + ], + AC_MSG_RESULT(no) + ) + # Other configure scripts # if test x$without_irssi = xfalse; then if test "x$silc_dist" = "xsilc-client" || test "x$silc_dist" = "xsilc-toolkit"; then - AC_CONFIG_SUBDIRS(irssi) + AC_CONFIG_SUBDIRS(irssi) fi fi @@ -723,7 +815,6 @@ INCLUDE_DEFINES_INT="include \$(top_srcdir)/Makefile.defines_int" AC_SUBST(INCLUDE_DEFINES_INT) AC_SUBST(SILC_DIST_SUBDIRS) -# # Makefile outputs # AC_CONFIG_FILES( @@ -754,30 +845,30 @@ doc/example_silcd.conf if test "x$silc_dist" = "xsilc-client" || test "x$silc_dist" = "xsilc-toolkit"; then -AC_CONFIG_FILES(lib/silcclient/Makefile) + AC_CONFIG_FILES(lib/silcclient/Makefile) fi if test x$without_irssi = xfalse ; then -if test "x$silc_dist" = "xsilc-client" || - test "x$silc_dist" = "xsilc-toolkit"; then -AC_CONFIG_FILES( + if test "x$silc_dist" = "xsilc-client" || + test "x$silc_dist" = "xsilc-toolkit"; then + AC_CONFIG_FILES( irssi/Makefile.defines irssi/Makefile.defines_int ) -fi + fi fi if test x$without_silcd = xfalse ; then -if test "x$silc_dist" = "xsilc-server" || - test "x$silc_dist" = "xsilc-toolkit"; then -AC_CONFIG_FILES( + if test "x$silc_dist" = "xsilc-server" || + test "x$silc_dist" = "xsilc-toolkit"; then + AC_CONFIG_FILES( silcd/Makefile ) -fi + fi fi if test "x$silc_dist" = "xsilc-toolkit"; then -AC_CONFIG_FILES( + AC_CONFIG_FILES( silc/Makefile win32/Makefile win32/libsilc/Makefile