X-Git-Url: http://git.silcnet.org/gitweb/?a=blobdiff_plain;f=lib%2Fconfigure.ad;h=9ff9f49a75dfa90831a0085afc3ed1bfb8bdaf94;hb=659451d6ae9212f6f5414a99646ffbe4f55689d0;hp=ff9e2a3c99acf4d1da9d4a8d7f7fd8112e01808e;hpb=816a5b080c797c0db47b7b274a85646343c3466e;p=silc.git diff --git a/lib/configure.ad b/lib/configure.ad index ff9e2a3c..9ff9f49a 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 @@ -26,14 +26,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" -#ifdef SILC_DIST_MPI -SILC_LIB_INCLUDES="$SILC_LIB_INCLUDES -I$SILC_TOP_SRCDIR/lib/silcmath/mpi" -#endif SILC_DIST_MPI #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" @@ -41,9 +41,24 @@ SILC_LIB_INCLUDES="$SILC_LIB_INCLUDES -I$SILC_TOP_SRCDIR/lib/silcsftp" #ifdef SILC_DIST_SIM SILC_LIB_INCLUDES="$SILC_LIB_INCLUDES -I$SILC_TOP_SRCDIR/lib/silcsim" #endif SILC_DIST_SIM -#ifdef SILC_DIST_CLIENT +#ifdef SILC_DIST_CLIENTLIB SILC_LIB_INCLUDES="$SILC_LIB_INCLUDES -I$SILC_TOP_SRCDIR/lib/silcclient" -#endif SILC_DIST_CLIENT +#endif SILC_DIST_CLIENTLIB +#ifdef SILC_DIST_ASN1 +SILC_LIB_INCLUDES="$SILC_LIB_INCLUDES -I$SILC_TOP_SRCDIR/lib/silcasn1" +#endif SILC_DIST_ASN1 +#ifdef SILC_DIST_SKR +SILC_LIB_INCLUDES="$SILC_LIB_INCLUDES -I$SILC_TOP_SRCDIR/lib/silcskr" +#endif SILC_DIST_SKR +#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 ## ## Library versioning. @@ -56,8 +71,8 @@ SILC_LIB_INCLUDES="$SILC_LIB_INCLUDES -I$SILC_TOP_SRCDIR/lib/silcclient" # - If functions were added, increment [LIB]_AGE # - If functions were removed, set [LIB]_AGE to 0 # -# where [LIB] is LIBSILC and LIBSILCCLIENT, and where "functions" means -# functions public interfaces. +# 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 # it is increment only when these version numbers actually change. @@ -65,17 +80,22 @@ SILC_LIB_INCLUDES="$SILC_LIB_INCLUDES -I$SILC_TOP_SRCDIR/lib/silcclient" # Base version for libraries. Do not change this unless SILC version # changes too. -LIB_BASE_VERSION=1.0 +LIB_BASE_VERSION=1.1 # libsilc versions -LIBSILC_CURRENT=5 # prev = 4 -LIBSILC_REVISION=0 # prev = 0 -LIBSILC_AGE=3 # prev = 3 +LIBSILC_CURRENT=3 # prev = 2 +LIBSILC_REVISION=0 # prev = 1 +LIBSILC_AGE=1 # prev = 1 # libsilcclient versions -LIBSILCCLIENT_CURRENT=4 # prev = 4 -LIBSILCCLIENT_REVISION=0 # prev = 0 -LIBSILCCLIENT_AGE=3 # prev = 3 +LIBSILCCLIENT_CURRENT=2 # prev = 1 +LIBSILCCLIENT_REVISION=1 # prev = 1 +LIBSILCCLIENT_AGE=0 # prev = 0 + +# libsilcserver versions +LIBSILCSERVER_CURRENT=1 # prev = 0 +LIBSILCSERVER_REVISION=0 # prev = 0 +LIBSILCSERVER_AGE=0 # prev = 0 # Substitute the version numbers AC_SUBST(LIB_BASE_VERSION) @@ -85,6 +105,52 @@ AC_SUBST(LIBSILC_AGE) AC_SUBST(LIBSILCCLIENT_CURRENT) AC_SUBST(LIBSILCCLIENT_REVISION) AC_SUBST(LIBSILCCLIENT_AGE) +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]) + ], + ) + ]) + +MODULESDIR="$silc_prefix/lib/modules" +#ifdef SILC_DIST_SIM +# SIM modules directory +# +AC_ARG_WITH(simdir, + [[ --with-simdir=DIR directory for SIM modules [PREFIX/modules]]], + [ + case "$withval" in + no|yes) + ;; + *) + MODULESDIR="$withval" + ;; + esac + ]) +AC_DEFINE_UNQUOTED([SILC_MODULESDIR], "$MODULESDIR", [SILC_MODULESDIR]) +#endif SILC_DIST_SIM +AC_SUBST(MODULESDIR) #ifdef SILC_DIST_TOOLKIT # Stack trace checking @@ -107,6 +173,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 # @@ -114,26 +223,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/beos/Makefile -lib/silcutil/os2/Makefile -lib/silcutil/epoc/Makefile -#ifdef SILC_DIST_MATH -lib/silcmath/Makefile -#endif SILC_DIST_MATH +lib/silcutil/symbian/Makefile +#else !SILC_DIST_TOOLKIT +#ifdef SILC_DIST_CLIENT +lib/silcutil/unix/Makefile +lib/silcutil/win32/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 @@ -143,13 +257,57 @@ lib/silcsftp/tests/Makefile AC_CONFIG_FILES( lib/silc.pc lib/silcclient.pc +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 +AC_CONFIG_FILES( +lib/silcserver/Makefile +lib/silcserver/tests/Makefile +) +#endif SILC_DIST_SERVERLIB + +#ifdef SILC_DIST_ASN1 +AC_CONFIG_FILES( +lib/silcasn1/Makefile +#ifdef SILC_DIST_INPLACE +lib/silcasn1/tests/Makefile +#endif SILC_DIST_INPLACE +) +#endif SILC_DIST_ASN1 + +#ifdef SILC_DIST_SKR +AC_CONFIG_FILES( +lib/silcskr/Makefile +#ifdef SILC_DIST_INPLACE +lib/silcskr/tests/Makefile +#endif SILC_DIST_INPLACE +) +#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 + fi # compile_libs #endif SILC_DIST_LIB