0552cfb0e6a55f5006a70abd15917fddecefb390
[silc.git] / 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 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 ##
22 ## Will compile included libs
23 ##
24 AC_MSG_NOTICE([Configuring SILC libraries])
25
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 SILC_LIB_INCLUDES="$SILC_LIB_INCLUDES -I$SILC_TOP_SRCDIR/lib/silccrypt"
30 #ifdef SILC_DIST_MATH
31 SILC_LIB_INCLUDES="$SILC_LIB_INCLUDES -I$SILC_TOP_SRCDIR/lib/silcmath"
32 #endif SILC_DIST_MATH
33 SILC_LIB_INCLUDES="$SILC_LIB_INCLUDES -I$SILC_TOP_SRCDIR/lib/silcutil"
34 SILC_LIB_INCLUDES="$SILC_LIB_INCLUDES -I$SILC_TOP_SRCDIR/lib/silcske"
35 #ifdef SILC_DIST_SFTP
36 SILC_LIB_INCLUDES="$SILC_LIB_INCLUDES -I$SILC_TOP_SRCDIR/lib/silcsftp"
37 #endif SILC_DIST_SFTP
38 #ifdef SILC_DIST_SIM
39 SILC_LIB_INCLUDES="$SILC_LIB_INCLUDES -I$SILC_TOP_SRCDIR/lib/silcsim"
40 #endif SILC_DIST_SIM
41 #ifdef SILC_DIST_CLIENT
42 SILC_LIB_INCLUDES="$SILC_LIB_INCLUDES -I$SILC_TOP_SRCDIR/lib/silcclient"
43 #endif SILC_DIST_CLIENT
44 #ifdef SILC_DIST_ASN1
45 SILC_LIB_INCLUDES="$SILC_LIB_INCLUDES -I$SILC_TOP_SRCDIR/lib/silcasn1"
46 #endif SILC_DIST_ASN1
47
48 ##
49 ## Library versioning.
50 ##
51 # Do the releases and library versioning according to following rules:
52 #
53 #  - If any code has changed in library, increment [LIB]_REVISION
54 #  - If functions were added, removed or changed, set [LIB]_REVISION to 0
55 #  - If functions were added, removed or changed, increment [LIB]_CURRENT
56 #  - If functions were added, increment [LIB]_AGE
57 #  - If functions were removed, set [LIB]_AGE to 0
58 #
59 # where [LIB] is LIBSILC and LIBSILCCLIENT, and where "functions" means
60 # functions public interfaces.
61 #
62 # The LIB_BASE_VERSION defines the SILC software major.minor version and
63 # it is increment only when these version numbers actually change.
64 #
65
66 # Base version for libraries.  Do not change this unless SILC version
67 # changes too.
68 LIB_BASE_VERSION=1.0
69
70 # libsilc versions
71 LIBSILC_CURRENT=5               # prev = 4
72 LIBSILC_REVISION=0              # prev = 0
73 LIBSILC_AGE=3                   # prev = 3
74
75 # libsilcclient versions
76 LIBSILCCLIENT_CURRENT=4         # prev = 4
77 LIBSILCCLIENT_REVISION=0        # prev = 0
78 LIBSILCCLIENT_AGE=3             # prev = 3
79
80 # Substitute the version numbers
81 AC_SUBST(LIB_BASE_VERSION)
82 AC_SUBST(LIBSILC_CURRENT)
83 AC_SUBST(LIBSILC_REVISION)
84 AC_SUBST(LIBSILC_AGE)
85 AC_SUBST(LIBSILCCLIENT_CURRENT)
86 AC_SUBST(LIBSILCCLIENT_REVISION)
87 AC_SUBST(LIBSILCCLIENT_AGE)
88
89 #ifdef SILC_DIST_SIM
90 # SIM modules directory
91 #
92 MODULESDIR="$silc_prefix/modules"
93 AC_ARG_WITH(simdir,
94   [[  --with-simdir=DIR       directory for SIM modules [PREFIX/modules]]],
95   [
96     case "$withval" in
97       no|yes)
98         ;;
99       *)
100         MODULESDIR="$withval"
101         ;;
102     esac
103   ])
104 AC_SUBST(MODULESDIR)
105 AC_DEFINE_UNQUOTED([SILC_MODULESDIR], "$MODULESDIR", [SILC_MODULESDIR])
106 #endif SILC_DIST_SIM
107
108 #ifdef SILC_DIST_TOOLKIT
109 # Stack trace checking
110 #
111 AC_MSG_CHECKING(whether to enable stack tracing)
112 AC_ARG_ENABLE(stack-trace,
113   [  --enable-stack-trace    enable memory stack trace],
114   [
115     case "${enableval}" in
116     yes)
117       AC_MSG_RESULT(yes)
118       AC_DEFINE([SILC_STACKTRACE], [], [SILC_STACKTRACE])
119       ;;
120     *)
121       AC_MSG_RESULT(no)
122       ;;
123     esac
124   ],
125     AC_MSG_RESULT(no)
126   )
127 #endif SILC_DIST_TOOLKIT
128
129 #
130 # Makefile outputs
131 #
132 AC_CONFIG_FILES(
133 lib/Makefile
134 lib/contrib/Makefile
135 lib/silccore/Makefile
136 lib/silccrypt/Makefile
137 #ifdef SILC_DIST_SIM
138 lib/silcsim/Makefile
139 #endif SILC_DIST_SIM
140 lib/silcske/Makefile
141 lib/silcutil/Makefile
142 lib/silcutil/unix/Makefile
143 lib/silcutil/win32/Makefile
144 lib/silcutil/beos/Makefile
145 lib/silcutil/os2/Makefile
146 lib/silcutil/epoc/Makefile
147 #ifdef SILC_DIST_SFTP
148 lib/silcsftp/Makefile
149 #endif SILC_DIST_SFTP
150 #ifdef SILC_DIST_INPLACE
151 lib/silcutil/tests/Makefile
152 lib/silccrypt/tests/Makefile
153 lib/silccore/tests/Makefile
154 lib/silcsftp/tests/Makefile
155 #endif SILC_DIST_INPLACE
156 )
157
158 #ifdef SILC_DIST_TOOLKIT
159 AC_CONFIG_FILES(
160 lib/silc.pc
161 lib/silcclient.pc
162 )
163 #endif SILC_DIST_TOOLKIT
164
165 #ifdef SILC_DIST_CLIENTLIB
166 AC_CONFIG_FILES(lib/silcclient/Makefile)
167 #endif SILC_DIST_CLIENTLIB
168
169 #ifdef SILC_DIST_ASN1
170 AC_CONFIG_FILES(
171 lib/silcasn1/Makefile
172 #ifdef SILC_DIST_INPLACE
173 lib/silcasn1/tests/Makefile
174 #endif SILC_DIST_INPLACE
175 )
176 #endif SILC_DIST_ASN1
177
178 fi      # compile_libs
179
180 #endif SILC_DIST_LIB