Merged silc_1_0_branch to trunk.
[silc.git] / lib / configure.ad
diff --git a/lib/configure.ad b/lib/configure.ad
new file mode 100644 (file)
index 0000000..9433d0b
--- /dev/null
@@ -0,0 +1,152 @@
+#ifdef SILC_DIST_LIB
+#
+#  lib/configure.ad
+#
+#  Author: Pekka Riikonen <priikone@silcnet.org>
+#
+#  Copyright (C) 2005 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
+#  the Free Software Foundation; version 2 of the License.
+#
+#  This program is distributed in the hope that it will be useful,
+#  but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+#  GNU General Public License for more details.
+#
+
+if test x$compile_libs = xtrue; then
+
+##
+## Will compile included libs
+##
+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"
+SILC_LIB_INCLUDES="$SILC_LIB_INCLUDES -I$SILC_TOP_SRCDIR/lib/silccrypt"
+#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/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
+SILC_LIB_INCLUDES="$SILC_LIB_INCLUDES -I$SILC_TOP_SRCDIR/lib/silcclient"
+#endif SILC_DIST_CLIENT
+
+##
+## 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, 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.
+#
+# 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
+
+# libsilc versions
+LIBSILC_CURRENT=4              # prev = 3
+LIBSILC_REVISION=0             # prev = 0
+LIBSILC_AGE=3                  # prev = 2
+
+# libsilcclient versions
+LIBSILCCLIENT_CURRENT=3                # prev = 3
+LIBSILCCLIENT_REVISION=1       # prev = 0
+LIBSILCCLIENT_AGE=2            # prev = 2
+
+# Substitute the version numbers
+AC_SUBST(LIB_BASE_VERSION)
+AC_SUBST(LIBSILC_CURRENT)
+AC_SUBST(LIBSILC_REVISION)
+AC_SUBST(LIBSILC_AGE)
+AC_SUBST(LIBSILCCLIENT_CURRENT)
+AC_SUBST(LIBSILCCLIENT_REVISION)
+AC_SUBST(LIBSILCCLIENT_AGE)
+
+# Make enable-shared aware
+AM_CONDITIONAL(SILC_ENABLE_SHARED, test "$enable_shared" = yes)
+
+# Stack trace checking
+#
+AC_MSG_CHECKING(whether to enable stack tracing)
+AC_ARG_ENABLE(stack-trace,
+  [  --enable-stack-trace    enable memory stack trace],
+  [
+    case "${enableval}" in
+    yes)
+      AC_MSG_RESULT(yes)
+      AC_DEFINE([SILC_STACKTRACE], [], [SILC_STACKTRACE])
+      ;;
+    *)
+      AC_MSG_RESULT(no)
+      ;;
+    esac
+  ],
+    AC_MSG_RESULT(no)
+  )
+
+#
+# Makefile outputs
+#
+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
+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/silcsftp/Makefile
+#ifdef SILC_DIST_INPLACE
+lib/silcutil/tests/Makefile
+lib/silccrypt/tests/Makefile
+lib/silccore/tests/Makefile
+lib/silcsftp/tests/Makefile
+#endif SILC_DIST_INPLACE
+)
+
+#ifdef SILC_DIST_TOOLKIT
+AC_CONFIG_FILES(
+lib/silc.pc
+lib/silcclient.pc
+)
+#endif SILC_DIST_TOOLKIT
+
+#ifdef SILC_DIST_CLIENTLIB
+AC_CONFIG_FILES(lib/silcclient/Makefile)
+#endif SILC_DIST_CLIENTLIB
+
+fi     # compile_libs
+
+#endif SILC_DIST_LIB