X-Git-Url: http://git.silcnet.org/gitweb/?a=blobdiff_plain;f=lib%2Fconfigure.ad;h=d9b6ba39fdfea5d7cc848d52b8bb2529e019b656;hb=6c9d096ac4ddeaa5f3cac809a654af15bb9a8925;hp=d27d799a48308bf9e2417823c921ada809db09b6;hpb=40f8443d8d3a6577336ee66d18e04d9ac4d956bb;p=silc.git diff --git a/lib/configure.ad b/lib/configure.ad index d27d799a..d9b6ba39 100644 --- a/lib/configure.ad +++ b/lib/configure.ad @@ -4,7 +4,7 @@ # # Author: Pekka Riikonen # -# Copyright (C) 2005 Pekka Riikonen +# Copyright (C) 2005, 2007 Pekka Riikonen # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -18,6 +18,8 @@ if test x$compile_libs = xtrue; then +AM_PROG_AS + ## ## Will compile included libs ## @@ -26,11 +28,14 @@ AC_MSG_NOTICE([Configuring SILC libraries]) # SILC Library directories SILC_LIB_INCLUDES="$SILC_LIB_INCLUDES -I$SILC_TOP_SRCDIR/lib/contrib" SILC_LIB_INCLUDES="$SILC_LIB_INCLUDES -I$SILC_TOP_SRCDIR/lib/silccore" +#ifdef SILC_DIST_CRYPTO SILC_LIB_INCLUDES="$SILC_LIB_INCLUDES -I$SILC_TOP_SRCDIR/lib/silccrypt" +#endif SILC_DIST_CRYPTO #ifdef SILC_DIST_MATH SILC_LIB_INCLUDES="$SILC_LIB_INCLUDES -I$SILC_TOP_SRCDIR/lib/silcmath" #endif SILC_DIST_MATH SILC_LIB_INCLUDES="$SILC_LIB_INCLUDES -I$SILC_TOP_SRCDIR/lib/silcutil" +SILC_LIB_INCLUDES="$SILC_LIB_INCLUDES -I$SILC_TOP_SRCDIR/lib/silcapputil" SILC_LIB_INCLUDES="$SILC_LIB_INCLUDES -I$SILC_TOP_SRCDIR/lib/silcske" #ifdef SILC_DIST_SFTP SILC_LIB_INCLUDES="$SILC_LIB_INCLUDES -I$SILC_TOP_SRCDIR/lib/silcsftp" @@ -50,6 +55,21 @@ SILC_LIB_INCLUDES="$SILC_LIB_INCLUDES -I$SILC_TOP_SRCDIR/lib/silcskr" #ifdef SILC_DIST_SERVERLIB SILC_LIB_INCLUDES="$SILC_LIB_INCLUDES -I$SILC_TOP_SRCDIR/lib/silcserver" #endif SILC_DIST_SERVERLIB +#ifdef SILC_DIST_HTTP +SILC_LIB_INCLUDES="$SILC_LIB_INCLUDES -I$SILC_TOP_SRCDIR/lib/silchttp" +#endif SILC_DIST_HTTP +#ifdef SILC_DIST_VCARD +SILC_LIB_INCLUDES="$SILC_LIB_INCLUDES -I$SILC_TOP_SRCDIR/lib/silcvcard" +#endif SILC_DIST_VCARD +#ifdef SILC_DIST_ACC +SILC_LIB_INCLUDES="$SILC_LIB_INCLUDES -I$SILC_TOP_SRCDIR/lib/silcacc" +#endif SILC_DIST_ACC +#ifdef SILC_DIST_PGP +SILC_LIB_INCLUDES="$SILC_LIB_INCLUDES -I$SILC_TOP_SRCDIR/lib/silcpgp" +#endif SILC_DIST_PGP +#ifdef SILC_DIST_SSH +SILC_LIB_INCLUDES="$SILC_LIB_INCLUDES -I$SILC_TOP_SRCDIR/lib/silcssh" +#endif SILC_DIST_SSH ## ## Library versioning. @@ -62,7 +82,7 @@ SILC_LIB_INCLUDES="$SILC_LIB_INCLUDES -I$SILC_TOP_SRCDIR/lib/silcserver" # - If functions were added, increment [LIB]_AGE # - If functions were removed, set [LIB]_AGE to 0 # -# where [LIB] is LIBSILC, LIBSILCCLIENT or LIBSILCSERVER, and where +# where [LIB] is LIBSILC, LIBSILCCLIENT or LIBSILCSERVER, and where # "functions" means functions public interfaces (API). # # The LIB_BASE_VERSION defines the SILC software major.minor version and @@ -74,12 +94,12 @@ SILC_LIB_INCLUDES="$SILC_LIB_INCLUDES -I$SILC_TOP_SRCDIR/lib/silcserver" LIB_BASE_VERSION=1.1 # libsilc versions -LIBSILC_CURRENT=1 # prev = 0 +LIBSILC_CURRENT=2 # prev = 1 LIBSILC_REVISION=0 # prev = 0 LIBSILC_AGE=0 # prev = 0 # libsilcclient versions -LIBSILCCLIENT_CURRENT=1 # prev = 0 +LIBSILCCLIENT_CURRENT=2 # prev = 1 LIBSILCCLIENT_REVISION=0 # prev = 0 LIBSILCCLIENT_AGE=0 # prev = 0 @@ -100,10 +120,49 @@ AC_SUBST(LIBSILCSERVER_CURRENT) AC_SUBST(LIBSILCSERVER_REVISION) AC_SUBST(LIBSILCSERVER_AGE) +# Check for big-endian machines +AC_C_BIGENDIAN + +# Check for epoll_wait and verify that epoll_create works +AC_CHECK_FUNC(epoll_wait, + [ + AC_RUN_IFELSE( + [ + #include + int main() + { + int ret = epoll_create(5); + if (ret < 0) + return 1; + close(ret); + return 0; + } + ], + [ + AC_DEFINE([HAVE_EPOLL_WAIT], [1], [HAVE_EPOLL_WAIT]) + ], + ) + ]) + +# +# Memory alignment. User can specify what alignment memory allocation and +# SilcStack allocation use. Default is system default alignemnt. +# +AC_ARG_WITH(alignment, + [ --with-alignment=NUMBER Memory alignment in bytes], + [ + AC_DEFINE_UNQUOTED([SILC_ALIGNMENT], [$withval], [SILC_ALIGNMENT]) + AC_MSG_RESULT(Memory allocation alignment is $withval bytes) + ], + [ + AC_DEFINE([SILC_ALIGNMENT], SILC_SIZEOF_VOID_P, [SILC_ALIGNMENT]) + ]) + + +MODULESDIR="$silc_prefix/lib/modules" #ifdef SILC_DIST_SIM # SIM modules directory # -MODULESDIR="$silc_prefix/modules" AC_ARG_WITH(simdir, [[ --with-simdir=DIR directory for SIM modules [PREFIX/modules]]], [ @@ -115,9 +174,9 @@ AC_ARG_WITH(simdir, ;; esac ]) -AC_SUBST(MODULESDIR) AC_DEFINE_UNQUOTED([SILC_MODULESDIR], "$MODULESDIR", [SILC_MODULESDIR]) #endif SILC_DIST_SIM +AC_SUBST(MODULESDIR) #ifdef SILC_DIST_TOOLKIT # Stack trace checking @@ -140,6 +199,49 @@ AC_ARG_ENABLE(stack-trace, ) #endif SILC_DIST_TOOLKIT +#ifdef SILC_DIST_INPLACE +# +# Profiling options (never delivered to distributions) +# +AC_MSG_CHECKING(whether to enable gprof) +AC_ARG_ENABLE(gprof, + [ --enable-gprof enable gprof profiling], + [ + case "${enableval}" in + yes) + AC_MSG_RESULT(yes) + SILC_ADD_CFLAGS(-pg) + LIBS="$LIBS -pg" + ;; + *) + AC_MSG_RESULT(no) + ;; + esac + ], + [ + AC_MSG_RESULT(no) + ]) + +AC_MSG_CHECKING(whether to enable gcov) +AC_ARG_ENABLE(gcov, + [ --enable-gcov enable gcov], + [ + case "${enableval}" in + yes) + AC_MSG_RESULT(yes) + SILC_ADD_CFLAGS(-fprofile-arcs) + LIBS="$LIBS -lgcov" + ;; + *) + AC_MSG_RESULT(no) + ;; + esac + ], + [ + AC_MSG_RESULT(no) + ]) +#endif SILC_DIST_INPLACE + # # Makefile outputs # @@ -147,23 +249,31 @@ AC_CONFIG_FILES( lib/Makefile lib/contrib/Makefile lib/silccore/Makefile -lib/silccrypt/Makefile #ifdef SILC_DIST_SIM lib/silcsim/Makefile #endif SILC_DIST_SIM lib/silcske/Makefile lib/silcutil/Makefile +#ifdef SILC_DIST_TOOLKIT +lib/silcutil/unix/Makefile +lib/silcutil/win32/Makefile +lib/silcutil/symbian/Makefile +#else !SILC_DIST_TOOLKIT +#ifdef SILC_DIST_CLIENT lib/silcutil/unix/Makefile lib/silcutil/win32/Makefile -lib/silcutil/beos/Makefile -lib/silcutil/os2/Makefile -lib/silcutil/epoc/Makefile +#else !SILC_DIST_CLIENT +#ifdef SILC_DIST_SERVER +lib/silcutil/unix/Makefile +#endif SILC_DIST_SERVER +#endif SILC_DIST_CLIENT +#endif SILC_DIST_TOOLKIT +lib/silcapputil/Makefile #ifdef SILC_DIST_SFTP lib/silcsftp/Makefile #endif SILC_DIST_SFTP #ifdef SILC_DIST_INPLACE lib/silcutil/tests/Makefile -lib/silccrypt/tests/Makefile lib/silccore/tests/Makefile lib/silcsftp/tests/Makefile #endif SILC_DIST_INPLACE @@ -178,7 +288,10 @@ lib/silcserver.pc #endif SILC_DIST_TOOLKIT #ifdef SILC_DIST_CLIENTLIB -AC_CONFIG_FILES(lib/silcclient/Makefile) +AC_CONFIG_FILES( +lib/silcclient/Makefile +lib/silcclient/tests/Makefile +) #endif SILC_DIST_CLIENTLIB #ifdef SILC_DIST_SERVERLIB @@ -206,6 +319,48 @@ lib/silcskr/tests/Makefile ) #endif SILC_DIST_SKR +#ifdef SILC_DIST_HTTP +AC_CONFIG_FILES( +lib/silchttp/Makefile +#ifdef SILC_DIST_INPLACE +lib/silchttp/tests/Makefile +#endif SILC_DIST_INPLACE +) +#endif SILC_DIST_HTTP + +#ifdef SILC_DIST_VCARD +AC_CONFIG_FILES( +lib/silcvcard/Makefile +) +#endif SILC_DIST_VCARD + +#ifdef SILC_DIST_ACC +AC_CONFIG_FILES( +lib/silcacc/Makefile +#ifdef SILC_DIST_INPLACE +lib/silcacc/tests/Makefile +#endif SILC_DIST_INPLACE +) +#endif SILC_DIST_ACC + +#ifdef SILC_DIST_PGP +AC_CONFIG_FILES( +lib/silcpgp/Makefile +#ifdef SILC_DIST_INPLACE +lib/silcpgp/tests/Makefile +#endif SILC_DIST_INPLACE +) +#endif SILC_DIST_PGP + +#ifdef SILC_DIST_SSH +AC_CONFIG_FILES( +lib/silcssh/Makefile +#ifdef SILC_DIST_INPLACE +lib/silcssh/tests/Makefile +#endif SILC_DIST_INPLACE +) +#endif SILC_DIST_SSH + fi # compile_libs #endif SILC_DIST_LIB