5 # Author: Pekka Riikonen <priikone@silcnet.org>
7 # Copyright (C) 2005, 2007 Pekka Riikonen
9 # This program is free software; you can redistribute it and/or modify
10 # it under the terms of the GNU General Public License as published by
11 # the Free Software Foundation; version 2 of the License.
13 # This program is distributed in the hope that it will be useful,
14 # but WITHOUT ANY WARRANTY; without even the implied warranty of
15 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 # GNU General Public License for more details.
19 if test x$compile_libs = xtrue; then
22 ## Will compile included libs
24 AC_MSG_NOTICE([Configuring SILC libraries])
26 # SILC Library directories
27 SILC_LIB_INCLUDES="$SILC_LIB_INCLUDES -I$SILC_TOP_SRCDIR/lib/contrib"
28 SILC_LIB_INCLUDES="$SILC_LIB_INCLUDES -I$SILC_TOP_SRCDIR/lib/silccore"
29 #ifdef SILC_DIST_CRYPTO
30 SILC_LIB_INCLUDES="$SILC_LIB_INCLUDES -I$SILC_TOP_SRCDIR/lib/silccrypt"
31 #endif SILC_DIST_CRYPTO
33 SILC_LIB_INCLUDES="$SILC_LIB_INCLUDES -I$SILC_TOP_SRCDIR/lib/silcmath"
35 SILC_LIB_INCLUDES="$SILC_LIB_INCLUDES -I$SILC_TOP_SRCDIR/lib/silcutil"
36 SILC_LIB_INCLUDES="$SILC_LIB_INCLUDES -I$SILC_TOP_SRCDIR/lib/silcapputil"
37 SILC_LIB_INCLUDES="$SILC_LIB_INCLUDES -I$SILC_TOP_SRCDIR/lib/silcske"
39 SILC_LIB_INCLUDES="$SILC_LIB_INCLUDES -I$SILC_TOP_SRCDIR/lib/silcsftp"
42 SILC_LIB_INCLUDES="$SILC_LIB_INCLUDES -I$SILC_TOP_SRCDIR/lib/silcsim"
44 #ifdef SILC_DIST_CLIENTLIB
45 SILC_LIB_INCLUDES="$SILC_LIB_INCLUDES -I$SILC_TOP_SRCDIR/lib/silcclient"
46 #endif SILC_DIST_CLIENTLIB
48 SILC_LIB_INCLUDES="$SILC_LIB_INCLUDES -I$SILC_TOP_SRCDIR/lib/silcasn1"
51 SILC_LIB_INCLUDES="$SILC_LIB_INCLUDES -I$SILC_TOP_SRCDIR/lib/silcskr"
53 #ifdef SILC_DIST_SERVERLIB
54 SILC_LIB_INCLUDES="$SILC_LIB_INCLUDES -I$SILC_TOP_SRCDIR/lib/silcserver"
55 #endif SILC_DIST_SERVERLIB
57 SILC_LIB_INCLUDES="$SILC_LIB_INCLUDES -I$SILC_TOP_SRCDIR/lib/silchttp"
59 #ifdef SILC_DIST_VCARD
60 SILC_LIB_INCLUDES="$SILC_LIB_INCLUDES -I$SILC_TOP_SRCDIR/lib/silcvcard"
61 #endif SILC_DIST_VCARD
63 SILC_LIB_INCLUDES="$SILC_LIB_INCLUDES -I$SILC_TOP_SRCDIR/lib/silcacc"
66 SILC_LIB_INCLUDES="$SILC_LIB_INCLUDES -I$SILC_TOP_SRCDIR/lib/silcpgp"
69 SILC_LIB_INCLUDES="$SILC_LIB_INCLUDES -I$SILC_TOP_SRCDIR/lib/silcssh"
73 ## Library versioning.
75 # Do the releases and library versioning according to following rules:
77 # - If any code has changed in library, increment [LIB]_REVISION
78 # - If functions were added, removed or changed, set [LIB]_REVISION to 0
79 # - If functions were added, removed or changed, increment [LIB]_CURRENT
80 # - If functions were added, increment [LIB]_AGE
81 # - If functions were removed, set [LIB]_AGE to 0
83 # where [LIB] is LIBSILC, LIBSILCCLIENT or LIBSILCSERVER, and where
84 # "functions" means functions public interfaces (API).
86 # The LIB_BASE_VERSION defines the SILC software major.minor version and
87 # it is increment only when these version numbers actually change.
90 # Base version for libraries. Do not change this unless SILC version
95 LIBSILC_CURRENT=2 # prev = 1
96 LIBSILC_REVISION=0 # prev = 0
97 LIBSILC_AGE=0 # prev = 0
99 # libsilcclient versions
100 LIBSILCCLIENT_CURRENT=2 # prev = 1
101 LIBSILCCLIENT_REVISION=0 # prev = 0
102 LIBSILCCLIENT_AGE=0 # prev = 0
104 # libsilcserver versions
105 LIBSILCSERVER_CURRENT=1 # prev = 0
106 LIBSILCSERVER_REVISION=0 # prev = 0
107 LIBSILCSERVER_AGE=0 # prev = 0
109 # Substitute the version numbers
110 AC_SUBST(LIB_BASE_VERSION)
111 AC_SUBST(LIBSILC_CURRENT)
112 AC_SUBST(LIBSILC_REVISION)
113 AC_SUBST(LIBSILC_AGE)
114 AC_SUBST(LIBSILCCLIENT_CURRENT)
115 AC_SUBST(LIBSILCCLIENT_REVISION)
116 AC_SUBST(LIBSILCCLIENT_AGE)
117 AC_SUBST(LIBSILCSERVER_CURRENT)
118 AC_SUBST(LIBSILCSERVER_REVISION)
119 AC_SUBST(LIBSILCSERVER_AGE)
121 # Check for big-endian machines
124 # Check for epoll_wait and verify that epoll_create works
125 AC_CHECK_FUNC(epoll_wait,
129 #include <sys/epoll.h>
132 int ret = epoll_create(5);
140 AC_DEFINE([HAVE_EPOLL_WAIT], [1], [HAVE_EPOLL_WAIT])
145 MODULESDIR="$silc_prefix/lib/modules"
147 # SIM modules directory
150 [[ --with-simdir=DIR directory for SIM modules [PREFIX/modules]]],
156 MODULESDIR="$withval"
160 AC_DEFINE_UNQUOTED([SILC_MODULESDIR], "$MODULESDIR", [SILC_MODULESDIR])
164 #ifdef SILC_DIST_TOOLKIT
165 # Stack trace checking
167 AC_MSG_CHECKING(whether to enable stack tracing)
168 AC_ARG_ENABLE(stack-trace,
169 [ --enable-stack-trace enable memory stack trace],
171 case "${enableval}" in
174 AC_DEFINE([SILC_STACKTRACE], [], [SILC_STACKTRACE])
183 #endif SILC_DIST_TOOLKIT
185 #ifdef SILC_DIST_INPLACE
187 # Profiling options (never delivered to distributions)
189 AC_MSG_CHECKING(whether to enable gprof)
191 [ --enable-gprof enable gprof profiling],
193 case "${enableval}" in
208 AC_MSG_CHECKING(whether to enable gcov)
210 [ --enable-gcov enable gcov],
212 case "${enableval}" in
215 SILC_ADD_CFLAGS(-fprofile-arcs)
226 #endif SILC_DIST_INPLACE
234 lib/silccore/Makefile
239 lib/silcutil/Makefile
240 #ifdef SILC_DIST_TOOLKIT
241 lib/silcutil/unix/Makefile
242 lib/silcutil/win32/Makefile
243 lib/silcutil/symbian/Makefile
244 #else !SILC_DIST_TOOLKIT
245 #ifdef SILC_DIST_CLIENT
246 lib/silcutil/unix/Makefile
247 lib/silcutil/win32/Makefile
248 #else !SILC_DIST_CLIENT
249 #ifdef SILC_DIST_SERVER
250 lib/silcutil/unix/Makefile
251 #endif SILC_DIST_SERVER
252 #endif SILC_DIST_CLIENT
253 #endif SILC_DIST_TOOLKIT
254 lib/silcapputil/Makefile
255 #ifdef SILC_DIST_SFTP
256 lib/silcsftp/Makefile
257 #endif SILC_DIST_SFTP
258 #ifdef SILC_DIST_INPLACE
259 lib/silcutil/tests/Makefile
260 lib/silccore/tests/Makefile
261 lib/silcsftp/tests/Makefile
262 #endif SILC_DIST_INPLACE
265 #ifdef SILC_DIST_TOOLKIT
271 #endif SILC_DIST_TOOLKIT
273 #ifdef SILC_DIST_CLIENTLIB
275 lib/silcclient/Makefile
276 lib/silcclient/tests/Makefile
278 #endif SILC_DIST_CLIENTLIB
280 #ifdef SILC_DIST_SERVERLIB
282 lib/silcserver/Makefile
283 lib/silcserver/tests/Makefile
285 #endif SILC_DIST_SERVERLIB
287 #ifdef SILC_DIST_ASN1
289 lib/silcasn1/Makefile
290 #ifdef SILC_DIST_INPLACE
291 lib/silcasn1/tests/Makefile
292 #endif SILC_DIST_INPLACE
294 #endif SILC_DIST_ASN1
299 #ifdef SILC_DIST_INPLACE
300 lib/silcskr/tests/Makefile
301 #endif SILC_DIST_INPLACE
305 #ifdef SILC_DIST_HTTP
307 lib/silchttp/Makefile
308 #ifdef SILC_DIST_INPLACE
309 lib/silchttp/tests/Makefile
310 #endif SILC_DIST_INPLACE
312 #endif SILC_DIST_HTTP
314 #ifdef SILC_DIST_VCARD
316 lib/silcvcard/Makefile
318 #endif SILC_DIST_VCARD
323 #ifdef SILC_DIST_INPLACE
324 lib/silcacc/tests/Makefile
325 #endif SILC_DIST_INPLACE
332 #ifdef SILC_DIST_INPLACE
333 lib/silcpgp/tests/Makefile
334 #endif SILC_DIST_INPLACE
341 #ifdef SILC_DIST_INPLACE
342 lib/silcssh/tests/Makefile
343 #endif SILC_DIST_INPLACE