The SILC Project

source navigation ]
identifier search ]
freetext search ]
file search ]

silc/lib/configure.ad

  1 #ifdef SILC_DIST_LIB
  2 #
  3 #  lib/configure.ad
  4 #
  5 #  Author: Pekka Riikonen <priikone@silcnet.org>
  6 #
  7 #  Copyright (C) 2005, 2007 Pekka Riikonen
  8 #
  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.
 12 #
 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.
 17 #
 18 
 19 if test x$compile_libs = xtrue; then
 20 
 21 AM_PROG_AS
 22 
 23 ##
 24 ## Will compile included libs
 25 ##
 26 AC_MSG_NOTICE([Configuring SILC libraries])
 27 
 28 # SILC Library directories
 29 SILC_LIB_INCLUDES="$SILC_LIB_INCLUDES -I$SILC_TOP_SRCDIR/lib/contrib"
 30 SILC_LIB_INCLUDES="$SILC_LIB_INCLUDES -I$SILC_TOP_SRCDIR/lib/silccore"
 31 #ifdef SILC_DIST_CRYPTO
 32 SILC_LIB_INCLUDES="$SILC_LIB_INCLUDES -I$SILC_TOP_SRCDIR/lib/silccrypt"
 33 #endif SILC_DIST_CRYPTO
 34 #ifdef SILC_DIST_MATH
 35 SILC_LIB_INCLUDES="$SILC_LIB_INCLUDES -I$SILC_TOP_SRCDIR/lib/silcmath"
 36 #endif SILC_DIST_MATH
 37 SILC_LIB_INCLUDES="$SILC_LIB_INCLUDES -I$SILC_TOP_SRCDIR/lib/silcutil"
 38 SILC_LIB_INCLUDES="$SILC_LIB_INCLUDES -I$SILC_TOP_SRCDIR/lib/silcapputil"
 39 SILC_LIB_INCLUDES="$SILC_LIB_INCLUDES -I$SILC_TOP_SRCDIR/lib/silcske"
 40 #ifdef SILC_DIST_SFTP
 41 SILC_LIB_INCLUDES="$SILC_LIB_INCLUDES -I$SILC_TOP_SRCDIR/lib/silcsftp"
 42 #endif SILC_DIST_SFTP
 43 #ifdef SILC_DIST_SIM
 44 SILC_LIB_INCLUDES="$SILC_LIB_INCLUDES -I$SILC_TOP_SRCDIR/lib/silcsim"
 45 #endif SILC_DIST_SIM
 46 #ifdef SILC_DIST_CLIENTLIB
 47 SILC_LIB_INCLUDES="$SILC_LIB_INCLUDES -I$SILC_TOP_SRCDIR/lib/silcclient"
 48 #endif SILC_DIST_CLIENTLIB
 49 #ifdef SILC_DIST_ASN1
 50 SILC_LIB_INCLUDES="$SILC_LIB_INCLUDES -I$SILC_TOP_SRCDIR/lib/silcasn1"
 51 #endif SILC_DIST_ASN1
 52 #ifdef SILC_DIST_SKR
 53 SILC_LIB_INCLUDES="$SILC_LIB_INCLUDES -I$SILC_TOP_SRCDIR/lib/silcskr"
 54 #endif SILC_DIST_SKR
 55 #ifdef SILC_DIST_SERVERLIB
 56 SILC_LIB_INCLUDES="$SILC_LIB_INCLUDES -I$SILC_TOP_SRCDIR/lib/silcserver"
 57 #endif SILC_DIST_SERVERLIB
 58 #ifdef SILC_DIST_HTTP
 59 SILC_LIB_INCLUDES="$SILC_LIB_INCLUDES -I$SILC_TOP_SRCDIR/lib/silchttp"
 60 #endif SILC_DIST_HTTP
 61 #ifdef SILC_DIST_VCARD
 62 SILC_LIB_INCLUDES="$SILC_LIB_INCLUDES -I$SILC_TOP_SRCDIR/lib/silcvcard"
 63 #endif SILC_DIST_VCARD
 64 #ifdef SILC_DIST_ACC
 65 SILC_LIB_INCLUDES="$SILC_LIB_INCLUDES -I$SILC_TOP_SRCDIR/lib/silcacc"
 66 #endif SILC_DIST_ACC
 67 #ifdef SILC_DIST_PGP
 68 SILC_LIB_INCLUDES="$SILC_LIB_INCLUDES -I$SILC_TOP_SRCDIR/lib/silcpgp"
 69 #endif SILC_DIST_PGP
 70 #ifdef SILC_DIST_SSH
 71 SILC_LIB_INCLUDES="$SILC_LIB_INCLUDES -I$SILC_TOP_SRCDIR/lib/silcssh"
 72 #endif SILC_DIST_SSH
 73 
 74 ##
 75 ## Library versioning.
 76 ##
 77 # Do the releases and library versioning according to following rules:
 78 #
 79 #  - If any code has changed in library, increment [LIB]_REVISION
 80 #  - If functions were added, removed or changed, set [LIB]_REVISION to 0
 81 #  - If functions were added, removed or changed, increment [LIB]_CURRENT
 82 #  - If functions were added, increment [LIB]_AGE
 83 #  - If functions were removed, set [LIB]_AGE to 0
 84 #
 85 # where [LIB] is LIBSILC, LIBSILCCLIENT or LIBSILCSERVER, and where
 86 # "functions" means functions public interfaces (API).
 87 #
 88 # The LIB_BASE_VERSION defines the SILC software major.minor version and
 89 # it is increment only when these version numbers actually change.
 90 #
 91 
 92 # Base version for libraries.  Do not change this unless SILC version
 93 # changes too.
 94 LIB_BASE_VERSION=1.1
 95 
 96 # libsilc versions
 97 LIBSILC_CURRENT=2               # prev = 1
 98 LIBSILC_REVISION=0              # prev = 0
 99 LIBSILC_AGE=0                   # prev = 0
100 
101 # libsilcclient versions
102 LIBSILCCLIENT_CURRENT=2         # prev = 1
103 LIBSILCCLIENT_REVISION=0        # prev = 0
104 LIBSILCCLIENT_AGE=0             # prev = 0
105 
106 # libsilcserver versions
107 LIBSILCSERVER_CURRENT=1         # prev = 0
108 LIBSILCSERVER_REVISION=0        # prev = 0
109 LIBSILCSERVER_AGE=0             # prev = 0
110 
111 # Substitute the version numbers
112 AC_SUBST(LIB_BASE_VERSION)
113 AC_SUBST(LIBSILC_CURRENT)
114 AC_SUBST(LIBSILC_REVISION)
115 AC_SUBST(LIBSILC_AGE)
116 AC_SUBST(LIBSILCCLIENT_CURRENT)
117 AC_SUBST(LIBSILCCLIENT_REVISION)
118 AC_SUBST(LIBSILCCLIENT_AGE)
119 AC_SUBST(LIBSILCSERVER_CURRENT)
120 AC_SUBST(LIBSILCSERVER_REVISION)
121 AC_SUBST(LIBSILCSERVER_AGE)
122 
123 # Check for big-endian machines
124 AC_C_BIGENDIAN
125 
126 # Check for epoll_wait and verify that epoll_create works
127 AC_CHECK_FUNC(epoll_wait,
128   [
129     AC_RUN_IFELSE(
130       [
131         #include <sys/epoll.h>
132         int main()
133         {
134           int ret = epoll_create(5);
135           if (ret < 0)
136             return 1;
137           close(ret);
138           return 0;
139         }
140       ],
141       [
142         AC_DEFINE([HAVE_EPOLL_WAIT], [1], [HAVE_EPOLL_WAIT])
143       ],
144     )
145   ])
146 
147 #
148 # Memory alignment.  User can specify what alignment memory allocation and
149 # SilcStack allocation use.  Default is system default alignemnt.
150 #
151 AC_ARG_WITH(alignment,
152   [  --with-alignment=NUMBER  Memory alignment in bytes],
153   [
154     AC_DEFINE_UNQUOTED([SILC_ALIGNMENT], [$withval], [SILC_ALIGNMENT])
155     AC_MSG_RESULT(Memory allocation alignment is $withval bytes)
156   ],
157   [
158     AC_DEFINE([SILC_ALIGNMENT], SILC_SIZEOF_VOID_P, [SILC_ALIGNMENT])
159   ])
160 
161 
162 MODULESDIR="$silc_prefix/lib/modules"
163 #ifdef SILC_DIST_SIM
164 # SIM modules directory
165 #
166 AC_ARG_WITH(simdir,
167   [[  --with-simdir=DIR       directory for SIM modules [PREFIX/modules]]],
168   [
169     case "$withval" in
170       no|yes)
171         ;;
172       *)
173         MODULESDIR="$withval"
174         ;;
175     esac
176   ])
177 AC_DEFINE_UNQUOTED([SILC_MODULESDIR], "$MODULESDIR", [SILC_MODULESDIR])
178 #endif SILC_DIST_SIM
179 AC_SUBST(MODULESDIR)
180 
181 #ifdef SILC_DIST_TOOLKIT
182 # Stack trace checking
183 #
184 AC_MSG_CHECKING(whether to enable stack tracing)
185 AC_ARG_ENABLE(stack-trace,
186   [  --enable-stack-trace    enable memory stack trace],
187   [
188     case "${enableval}" in
189     yes)
190       AC_MSG_RESULT(yes)
191       AC_DEFINE([SILC_STACKTRACE], [], [SILC_STACKTRACE])
192       ;;
193     *)
194       AC_MSG_RESULT(no)
195       ;;
196     esac
197   ],
198     AC_MSG_RESULT(no)
199   )
200 #endif SILC_DIST_TOOLKIT
201 
202 #ifdef SILC_DIST_INPLACE
203 #
204 # Profiling options (never delivered to distributions)
205 #
206 AC_MSG_CHECKING(whether to enable gprof)
207 AC_ARG_ENABLE(gprof,
208   [  --enable-gprof          enable gprof profiling],
209   [
210     case "${enableval}" in
211       yes)
212         AC_MSG_RESULT(yes)
213         SILC_ADD_CFLAGS(-pg)
214         LIBS="$LIBS -pg"
215         ;;
216       *)
217         AC_MSG_RESULT(no)
218         ;;
219     esac
220   ],
221   [
222     AC_MSG_RESULT(no)
223   ])
224 
225 AC_MSG_CHECKING(whether to enable gcov)
226 AC_ARG_ENABLE(gcov,
227   [  --enable-gcov           enable gcov],
228   [
229     case "${enableval}" in
230       yes)
231         AC_MSG_RESULT(yes)
232         SILC_ADD_CFLAGS(-fprofile-arcs)
233         LIBS="$LIBS -lgcov"
234         ;;
235       *)
236         AC_MSG_RESULT(no)
237         ;;
238     esac
239   ],
240   [
241     AC_MSG_RESULT(no)
242   ])
243 #endif SILC_DIST_INPLACE
244 
245 #
246 # Makefile outputs
247 #
248 AC_CONFIG_FILES(
249 lib/Makefile
250 lib/contrib/Makefile
251 lib/silccore/Makefile
252 #ifdef SILC_DIST_SIM
253 lib/silcsim/Makefile
254 #endif SILC_DIST_SIM
255 lib/silcske/Makefile
256 lib/silcutil/Makefile
257 #ifdef SILC_DIST_TOOLKIT
258 lib/silcutil/unix/Makefile
259 lib/silcutil/win32/Makefile
260 lib/silcutil/symbian/Makefile
261 #else !SILC_DIST_TOOLKIT
262 #ifdef SILC_DIST_CLIENT
263 lib/silcutil/unix/Makefile
264 lib/silcutil/win32/Makefile
265 #else !SILC_DIST_CLIENT
266 #ifdef SILC_DIST_SERVER
267 lib/silcutil/unix/Makefile
268 #endif SILC_DIST_SERVER
269 #endif SILC_DIST_CLIENT
270 #endif SILC_DIST_TOOLKIT
271 lib/silcapputil/Makefile
272 #ifdef SILC_DIST_SFTP
273 lib/silcsftp/Makefile
274 #endif SILC_DIST_SFTP
275 #ifdef SILC_DIST_INPLACE
276 lib/silcutil/tests/Makefile
277 lib/silccore/tests/Makefile
278 lib/silcsftp/tests/Makefile
279 #endif SILC_DIST_INPLACE
280 )
281 
282 #ifdef SILC_DIST_TOOLKIT
283 AC_CONFIG_FILES(
284 lib/silc.pc
285 lib/silcclient.pc
286 lib/silcserver.pc
287 )
288 #endif SILC_DIST_TOOLKIT
289 
290 #ifdef SILC_DIST_CLIENTLIB
291 AC_CONFIG_FILES(
292 lib/silcclient/Makefile
293 lib/silcclient/tests/Makefile
294 )
295 #endif SILC_DIST_CLIENTLIB
296 
297 #ifdef SILC_DIST_SERVERLIB
298 AC_CONFIG_FILES(
299 lib/silcserver/Makefile
300 lib/silcserver/tests/Makefile
301 )
302 #endif SILC_DIST_SERVERLIB
303 
304 #ifdef SILC_DIST_ASN1
305 AC_CONFIG_FILES(
306 lib/silcasn1/Makefile
307 #ifdef SILC_DIST_INPLACE
308 lib/silcasn1/tests/Makefile
309 #endif SILC_DIST_INPLACE
310 )
311 #endif SILC_DIST_ASN1
312 
313 #ifdef SILC_DIST_SKR
314 AC_CONFIG_FILES(
315 lib/silcskr/Makefile
316 #ifdef SILC_DIST_INPLACE
317 lib/silcskr/tests/Makefile
318 #endif SILC_DIST_INPLACE
319 )
320 #endif SILC_DIST_SKR
321 
322 #ifdef SILC_DIST_HTTP
323 AC_CONFIG_FILES(
324 lib/silchttp/Makefile
325 #ifdef SILC_DIST_INPLACE
326 lib/silchttp/tests/Makefile
327 #endif SILC_DIST_INPLACE
328 )
329 #endif SILC_DIST_HTTP
330 
331 #ifdef SILC_DIST_VCARD
332 AC_CONFIG_FILES(
333 lib/silcvcard/Makefile
334 )
335 #endif SILC_DIST_VCARD
336 
337 #ifdef SILC_DIST_ACC
338 AC_CONFIG_FILES(
339 lib/silcacc/Makefile
340 #ifdef SILC_DIST_INPLACE
341 lib/silcacc/tests/Makefile
342 #endif SILC_DIST_INPLACE
343 )
344 #endif SILC_DIST_ACC
345 
346 #ifdef SILC_DIST_PGP
347 AC_CONFIG_FILES(
348 lib/silcpgp/Makefile
349 #ifdef SILC_DIST_INPLACE
350 lib/silcpgp/tests/Makefile
351 #endif SILC_DIST_INPLACE
352 )
353 #endif SILC_DIST_PGP
354 
355 #ifdef SILC_DIST_SSH
356 AC_CONFIG_FILES(
357 lib/silcssh/Makefile
358 #ifdef SILC_DIST_INPLACE
359 lib/silcssh/tests/Makefile
360 #endif SILC_DIST_INPLACE
361 )
362 #endif SILC_DIST_SSH
363 
364 fi      # compile_libs
365 
366 #endif SILC_DIST_LIB

This page was automatically generated by the LXR engine.
Free-text search provided by Glimpse