X-Git-Url: http://git.silcnet.org/gitweb/?p=silc.git;a=blobdiff_plain;f=configure.in.pre;h=1f2171177cd759270207e51a198045e389df26fd;hp=9999270a50e55ec5f0eee1de28375e3d5ecafe31;hb=e5d8d3db6caa344b3d419b884556c21b15e7d123;hpb=a0fe867f869c85822eacf159feeda6b94464423e diff --git a/configure.in.pre b/configure.in.pre index 9999270a..1f217117 100644 --- a/configure.in.pre +++ b/configure.in.pre @@ -23,25 +23,29 @@ AC_INIT(includes/version.h) # AC_CANONICAL_SYSTEM case "$target" in + *-*-*bsd*) + check_threads=false + ;; *) + check_threads=true ;; esac # ./prepare script will automatically put the correct version. Do not edit! AM_INIT_AUTOMAKE(SILC_PACKAGE, SILC_VERSION) -AC_PREREQ(2.3) +AC_PREREQ(2.52) AM_CONFIG_HEADER(includes/silcdefs.h) AC_PROG_CC AC_C_INLINE AC_C_CONST -AC_ARG_PROGRAM AC_PROG_LN_S AC_SUBST(LN_S) # Distribution definition. ./prepare will automatically add here a correct # value. Do not edit! +silc_dist=SILC_PACKAGE AC_DEFINE(SILC_DIST_DEFINE) # XXX @@ -63,11 +67,10 @@ 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) -AC_CHECK_HEADERS(netinet/in.h netinet/tcp.h netdb.h) +AC_CHECK_HEADERS(netinet/in.h netinet/tcp.h xti.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 limits.h) -AC_CHECK_HEADERS(pthread.h) # Data type checking AC_TYPE_SIGNAL @@ -184,8 +187,7 @@ AC_DEFUN(AC_NCURSES, [ AC_MSG_RESULT(Found ncurses on $1/$2) CURSES_LIBS="$3" - AC_CHECK_LIB(ncurses, initscr, [ - ], [ + AC_CHECK_LIB(ncurses, initscr, , [ CHECKLIBS=`echo "$3"|sed 's/-lncurses/-lcurses/g'` AC_CHECK_LIB(curses, initscr, [ CURSES_LIBS="$CHECKLIBS" @@ -288,7 +290,6 @@ AC_CHECK_FUNCS(gethostname gethostbyaddr getservbyname getservbyport) AC_CHECK_FUNCS(select listen bind shutdown close connect) AC_CHECK_FUNCS(fcntl setsockopt) AC_CHECK_FUNCS(getopt_long time) -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) @@ -507,21 +508,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 @@ -532,15 +560,21 @@ 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) + win32-support = true CFLAGS="-mno-cygwin $CFLAGS" LIBS="$LIBS -lwsock32" ]) +AM_CONDITIONAL(SILC_WIN32, test x$win32-support = xtrue) + +# # Debug checking +# AC_MSG_CHECKING(for enabled debugging) AC_ARG_ENABLE(debug, [ --enable-debug Enable debugging (warning: it is heavy!)], @@ -557,25 +591,90 @@ AC_ARG_ENABLE(debug, esac ], CFLAGS="-O2 -g $CFLAGS" AC_MSG_RESULT(no)) -# Pthread checking +# +# Disable all assembler optimizations +# +AC_ARG_ENABLE(asm, +[ --disable-asm Do not use assembler optimizations ], +[]) + +# +# Threads support +# AC_ARG_ENABLE(threads, [ --disable-threads Do not compile with multi-thread support], [ case "${enableval}" in yes) - AC_DEFINE(SILC_THREADS) want_threads=true + check_threads=true ;; *) want_threads=false + check_threads=false ;; -esac ], AC_DEFINE(SILC_THREADS) - want_threads=true) +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 + ]) AM_CONDITIONAL(SILC_THREADS, test x$want_threads = xtrue) if test x$want_threads = xtrue; then - AC_TRY_COMPILE([#include ], - [pthread_attr_t attr; pthread_attr_init(&attr);], - LIBS="$LIBS -lpthread") + 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="" + ))) + + 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 fi # @@ -583,8 +682,8 @@ fi # AC_CONFIG_SUBDIRS(lib/dotconf) AC_CONFIG_SUBDIRS(lib/trq) -AC_CONFIG_SUBDIRS(lib/silcmath/mpi) AC_CONFIG_SUBDIRS(irssi) +AC_CONFIG_SUBDIRS(lib/silcmath/mpi) #AC_CONFIG_SUBDIRS(lib/zlib) SILC_TOP_SRCDIR=`pwd` @@ -598,19 +697,16 @@ AC_SUBST(INCLUDE_DEFINES_INT) # # Makefile outputs # -AC_OUTPUT( \ +AC_CONFIG_FILES( \ Makefile Makefile.defines Makefile.defines_int -irssi/Makefile.defines -irssi/Makefile.defines_int -doc/Makefile +doc/Makefile includes/Makefile lib/Makefile lib/contrib/Makefile -lib/silcclient/Makefile lib/silccore/Makefile -lib/silccrypt/Makefile +lib/silccrypt/Makefile lib/silcmath/Makefile lib/silcmath/mpi/Makefile.defines lib/silcmath/mpi/Makefile.defines_int @@ -620,5 +716,33 @@ lib/silcske/Makefile lib/silcutil/Makefile lib/silcutil/unix/Makefile lib/silcutil/win32/Makefile +lib/silcsftp/Makefile +lib/silcsftp/tests/Makefile +) + +if test "x$silc_dist" = "xsilc-client" || + test "x$silc_dist" = "xsilc-toolkit"; then +AC_CONFIG_FILES( \ +lib/silcclient/Makefile +irssi/Makefile.defines +irssi/Makefile.defines_int +) +fi + +if test "x$silc_dist" = "xsilc-server" || + test "x$silc_dist" = "xsilc-toolkit"; then +AC_CONFIG_FILES( \ +silcd/Makefile +) +fi + +if test "x$silc_dist" = "xsilc-toolkit"; then +AC_CONFIG_FILES( \ silc/Makefile -silcd/Makefile) +win32/Makefile +win32/libsilc/Makefile +win32/libsilcclient/Makefile +) +fi + +AC_OUTPUT