Removed wrong errno setting.
[silc.git] / lib / configure.ad
index a3a7eea93edffabeb59b4091ff81fe70fbe2b028..d9b6ba39fdfea5d7cc848d52b8bb2529e019b656 100644 (file)
@@ -18,6 +18,8 @@
 
 if test x$compile_libs = xtrue; then
 
+AM_PROG_AS
+
 ##
 ## Will compile included libs
 ##
@@ -26,7 +28,9 @@ 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
@@ -57,6 +61,15 @@ SILC_LIB_INCLUDES="$SILC_LIB_INCLUDES -I$SILC_TOP_SRCDIR/lib/silchttp"
 #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.
@@ -81,12 +94,12 @@ SILC_LIB_INCLUDES="$SILC_LIB_INCLUDES -I$SILC_TOP_SRCDIR/lib/silcvcard"
 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
 
@@ -110,10 +123,46 @@ 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 <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])
+      ],
+    )
+  ])
+
+#
+# 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]]],
   [
@@ -125,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
@@ -205,8 +254,20 @@ 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
+#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
@@ -261,7 +322,9 @@ lib/silcskr/tests/Makefile
 #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
 
@@ -271,6 +334,33 @@ 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