#
# Author: Pekka Riikonen <priikone@silcnet.org>
#
-# 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
# 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/silcske"
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"
+#endif SILC_DIST_SFTP
#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.
# Do the releases and library versioning according to following rules:
#
# - If any code has changed in library, increment [LIB]_REVISION
-# - If functions were added, set [LIB]_REVISION to 0
+# - If functions were added, removed or changed, set [LIB]_REVISION to 0
# - If functions were added, removed or changed, increment [LIB]_CURRENT
# - 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.
# 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=4 # prev = 3
-LIBSILC_REVISION=0 # prev = 0
-LIBSILC_AGE=3 # prev = 2
+LIBSILC_CURRENT=3 # prev = 2
+LIBSILC_REVISION=0 # prev = 1
+LIBSILC_AGE=1 # prev = 1
# libsilcclient versions
-LIBSILCCLIENT_CURRENT=3 # prev = 3
-LIBSILCCLIENT_REVISION=1 # prev = 0
-LIBSILCCLIENT_AGE=2 # prev = 2
+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)
AC_SUBST(LIBSILCCLIENT_CURRENT)
AC_SUBST(LIBSILCCLIENT_REVISION)
AC_SUBST(LIBSILCCLIENT_AGE)
+AC_SUBST(LIBSILCSERVER_CURRENT)
+AC_SUBST(LIBSILCSERVER_REVISION)
+AC_SUBST(LIBSILCSERVER_AGE)
-# Make enable-shared aware
-AM_CONDITIONAL(SILC_ENABLE_SHARED, test "$enable_shared" = yes)
+# 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 <sys/epoll.h>
+ 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
#
AC_MSG_CHECKING(whether to enable stack tracing)
],
AC_MSG_RESULT(no)
)
+#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
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
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