X-Git-Url: http://git.silcnet.org/gitweb/?a=blobdiff_plain;f=configure.in.pre;h=637adb917244459255ddc319a9350ef74de5ac1c;hb=615b50b8ed9ae9f18452a4318b1fa9dba69e9b36;hp=c31be62fac214fb95300a7d48f28d06fe2fb595b;hpb=41b4b8088c12f8816346189646e445dc7df527ca;p=silc.git diff --git a/configure.in.pre b/configure.in.pre index c31be62f..637adb91 100644 --- a/configure.in.pre +++ b/configure.in.pre @@ -18,17 +18,11 @@ AC_INIT(includes/version.h) -# Compiler settings -CFLAGS="-Wall $CFLAGS" - # # Put here any platform specific stuff # AC_CANONICAL_SYSTEM case "$target" in - *-*-linux*|*-*-mklinux*) - CFLAGS="-D_GNU_SOURCE $CFLAGS" - ;; *) ;; esac @@ -53,10 +47,7 @@ AC_DEFINE(SILC_DIST_DEFINE) # XXX # Compiler flags if test "$GCC"; then - CFLAGS="-finline-functions $CFLAGS" -else - # Currently GCC is only supported compiler - AC_MSG_ERROR(GCC is only supported compiler currently) + CFLAGS="-Wall -finline-functions $CFLAGS" fi # Program checking @@ -75,7 +66,7 @@ AC_CHECK_HEADERS(sys/types.h sys/stat.h sys/time.h) AC_CHECK_HEADERS(netinet/in.h netinet/tcp.h netdb.h) AC_CHECK_HEADERS(pwd.h grp.h termcap.h paths.h) AC_CHECK_HEADERS(ncurses.h signal.h ctype.h regex.h) -AC_CHECK_HEADERS(arpa/inet.h sys/mman.h) +AC_CHECK_HEADERS(arpa/inet.h sys/mman.h limits.h) # Data type checking AC_TYPE_SIGNAL @@ -108,14 +99,6 @@ AC_DEFUN(AC_CHECK_CURSES,[ AC_SUBST(CURSES_LIBS) AC_SUBST(CURSES_INCLUDEDIR) - AC_ARG_WITH(sco, - [ --with-sco Use this to turn on SCO-specific code],[ - if test x$withval = xyes; then - AC_DEFINE(SCO_FLAVOR) - CFLAGS="$CFLAGS -D_SVID3" - fi - ]) - AC_ARG_WITH(sunos-curses, [ --with-sunos-curses Used to force SunOS 4.x curses],[ if test x$withval = xyes; then @@ -308,6 +291,7 @@ AC_CHECK_FUNCS(mlock munlock) AC_CHECK_FUNCS(chmod stat fstat getenv putenv strerror ctime gettimeofday) AC_CHECK_FUNCS(getpid getgid getsid getpgid getpgrp getuid) AC_CHECK_FUNCS(strchr strstr strcpy strncpy memcpy memset memmove) +AC_CHECK_FUNCS(pthread_create) # SIM support checking # XXX These needs to be changed as more supported platforms appear. @@ -422,23 +406,6 @@ AC_ARG_WITH(logsdir, AC_SUBST(LOGSDIR) AC_DEFINE_UNQUOTED(SILC_LOGSDIR, "$LOGSDIR") -# Debug checking -AC_MSG_CHECKING(for enabled debugging) -AC_ARG_ENABLE(debug, -[ --enable-debug Enable debugging (warning: it is heavy!)], -[ 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)) - # SOCKS4 support checking AC_MSG_CHECKING(whether to support SOCKS4) AC_ARG_WITH(socks4, @@ -539,21 +506,48 @@ if test "x$socks" = "x5"; then fi # -# MP library checking. First check whether system has GMP. If it has that -# then use it. If not then compile the MPI library in the source tree. +# 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_CHECK_HEADER(gmp.h, - AC_CHECK_LIB(gmp, __gmpz_init, - mp_gmp=true - AC_DEFINE(SILC_MP_GMP) - LIBS="$LIBS -L/usr/lib -L/usr/local/lib -lgmp" - AC_MSG_RESULT(Using GMP as MP library) - ) +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) + 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 - AM_CONDITIONAL(SILC_MP_NSS_MPI, test x$mp_gmp = xfalse) AC_DEFINE(SILC_MP_NSS_MPI) AC_MSG_RESULT(Using NSS MPI as MP library) fi @@ -564,12 +558,113 @@ AC_ARG_WITH(silcd-config-file, server [/etc/silc/silcd.conf]], [ AC_DEFINE_UNQUOTED(SILC_SERVER_CONFIG_FILE, "$withval") ]) +# +# Native WIN32 compilation under cygwin +# +AC_ARG_WITH(win32, +[ --with-win32 Compile native WIN32 code (-mno-cygwin)], +[ AC_DEFINE(SILC_WIN32) + AM_CONDITIONAL(SILC_WIN32, test xtrue = xtrue) + CFLAGS="-mno-cygwin $CFLAGS" + LIBS="$LIBS -lwsock32" ]) + +# +# Debug checking +# +AC_MSG_CHECKING(for enabled debugging) +AC_ARG_ENABLE(debug, +[ --enable-debug Enable debugging (warning: it is heavy!)], +[ 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)) + +# +# Pthread checking +# +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_ARG_ENABLE(threads, +[ --disable-threads Do not compile with multi-thread support], +[ case "${enableval}" in + yes) + want_threads=true + ;; + *) + want_threads=false + ;; +esac ]) + +AM_CONDITIONAL(SILC_THREADS, test x$want_threads = xtrue) +if test x$want_threads = xtrue; then + AC_DEFINE(SILC_THREADS) + TMP_LIBS="$LIBS" + LIBS="-lpthread" + AC_TRY_LINK([#include ], + [pthread_attr_t attr; pthread_attr_init(&attr);], , + LIBS="-L/usr/pkg/lib -lpthread" + AC_TRY_LINK([#include ], + [pthread_attr_t attr; pthread_attr_init(&attr);], , + LIBS="-L/usr/contrib/lib -lpthread" + AC_TRY_LINK([#include ], + [pthread_attr_t attr; pthread_attr_init(&attr);], , LIBS="" + ))) + + CFLAGS="$CFLAGS -D_REENTRANT" + case $host in + *-aix*) + CFLAGS="$CFLAGS -D_THREAD_SAFE" + if test x"$GCC" = xyes; then + CFLAGS="$CFLAGS -mthreads" + fi + ;; + *-freebsd2.2*) + CFLAGS="$CFLAGS -D_THREAD_SAFE" + ;; + *-sysv5uw7*) # UnixWare 7 + if test "$GCC" != "yes"; then + CFLAGS="$CFLAGS -Kthread" + else + CFLAGS="$CFLAGS -pthread" + fi + ;; + *-dg-dgux*) # DG/UX + CFLAGS="$CFLAGS -D_POSIX4A_DRAFT10_SOURCE" + ;; + esac + + LIBS="$TMP_LIBS $LIBS" +fi + # # Other configure scripts # -AC_CONFIG_SUBDIRS(irssi) AC_CONFIG_SUBDIRS(lib/dotconf) AC_CONFIG_SUBDIRS(lib/trq) +AC_CONFIG_SUBDIRS(irssi) AC_CONFIG_SUBDIRS(lib/silcmath/mpi) #AC_CONFIG_SUBDIRS(lib/zlib) @@ -598,9 +693,16 @@ lib/silcclient/Makefile lib/silccore/Makefile lib/silccrypt/Makefile lib/silcmath/Makefile +lib/silcmath/mpi/Makefile.defines +lib/silcmath/mpi/Makefile.defines_int lib/silcsim/Makefile lib/silcsim/modules/Makefile lib/silcske/Makefile lib/silcutil/Makefile +lib/silcutil/unix/Makefile +lib/silcutil/win32/Makefile silc/Makefile -silcd/Makefile) +silcd/Makefile +win32/Makefile +win32/libsilc/Makefile +win32/libsilcclient/Makefile)