Added pkg-config .pc file creation for libraries.
[silc.git] / lib / configure.ad
1 #
2 #  lib/configure.ad
3 #
4 #  Author: Pekka Riikonen <priikone@silcnet.org>
5 #
6 #  Copyright (C) 2005 Pekka Riikonen
7 #
8 #  This program is free software; you can redistribute it and/or modify
9 #  it under the terms of the GNU General Public License as published by
10 #  the Free Software Foundation; version 2 of the License.
11 #
12 #  This program is distributed in the hope that it will be useful,
13 #  but WITHOUT ANY WARRANTY; without even the implied warranty of
14 #  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15 #  GNU General Public License for more details.
16 #
17
18 if test x$compile_libs = xfalse; then
19
20 ##
21 ## Not compiling included libs.
22 ##
23
24 # Remove lib subdir from SUBDIRS
25 SILC_DIST_SUBDIRS=`echo $SILC_DIST_SUBDIRS | $sedpath -e 's/lib//'`
26
27 else    # compile_libs = true
28
29 ##
30 ## Will compile included libs
31 ##
32 AC_MSG_NOTICE([Configuring SILC libraries])
33
34 # SILC Library directories
35 SILC_LIB_INCLUDES="$SILC_LIB_INCLUDES -I$SILC_TOP_SRCDIR/lib/silccore"
36 SILC_LIB_INCLUDES="$SILC_LIB_INCLUDES -I$SILC_TOP_SRCDIR/lib/silccrypt"
37 SILC_LIB_INCLUDES="$SILC_LIB_INCLUDES -I$SILC_TOP_SRCDIR/lib/silcmath"
38 SILC_LIB_INCLUDES="$SILC_LIB_INCLUDES -I$SILC_TOP_SRCDIR/lib/silcmath/mpi"
39 SILC_LIB_INCLUDES="$SILC_LIB_INCLUDES -I$SILC_TOP_SRCDIR/lib/silcske"
40 SILC_LIB_INCLUDES="$SILC_LIB_INCLUDES -I$SILC_TOP_SRCDIR/lib/silcsim"
41 SILC_LIB_INCLUDES="$SILC_LIB_INCLUDES -I$SILC_TOP_SRCDIR/lib/silcutil"
42 SILC_LIB_INCLUDES="$SILC_LIB_INCLUDES -I$SILC_TOP_SRCDIR/lib/silcsftp"
43 SILC_LIB_INCLUDES="$SILC_LIB_INCLUDES -I$SILC_TOP_SRCDIR/lib/silcclient"
44 SILC_LIB_INCLUDES="$SILC_LIB_INCLUDES -I$SILC_TOP_SRCDIR/lib/contrib"
45
46 ##
47 ## Library versioning.
48 ##
49 # Do the releases and library versioning according to following rules:
50 #
51 #  - If any code has changed in library, increment [LIB]_REVISION
52 #  - If functions were added, set [LIB]_REVISION to 0
53 #  - If functions were added, removed or changed, increment [LIB]_CURRENT
54 #  - If functions were added, increment [LIB]_AGE
55 #  - If functions were removed, set [LIB]_AGE to 0
56 #
57 # where [LIB] is LIBSILC and LIBSILCCLIENT, and where "functions" means
58 # functions public interfaces.
59 #
60 # The LIB_BASE_VERSION defines the SILC software major.minor version and
61 # it is increment only when these version numbers actually change.
62 #
63
64 # Base version for libraries.  Do not change this unless SILC version
65 # changes too.
66 LIB_BASE_VERSION=1.0
67
68 # libsilc versions
69 LIBSILC_CURRENT=3
70 LIBSILC_REVISION=0
71 LIBSILC_AGE=2
72
73 # libsilcclient versions
74 LIBSILCCLIENT_CURRENT=3
75 LIBSILCCLIENT_REVISION=0
76 LIBSILCCLIENT_AGE=2
77
78 # Substitute the version numbers
79 AC_SUBST(LIB_BASE_VERSION)
80 AC_SUBST(LIBSILC_CURRENT)
81 AC_SUBST(LIBSILC_REVISION)
82 AC_SUBST(LIBSILC_AGE)
83 AC_SUBST(LIBSILCCLIENT_CURRENT)
84 AC_SUBST(LIBSILCCLIENT_REVISION)
85 AC_SUBST(LIBSILCCLIENT_AGE)
86
87 # Stack trace checking
88 #
89 AC_MSG_CHECKING(whether to enable stack tracing)
90 AC_ARG_ENABLE(stack-trace,
91   [  --enable-stack-trace    enable memory stack trace],
92   [
93     case "${enableval}" in
94     yes)
95       AC_MSG_RESULT(yes)
96       AC_DEFINE(SILC_STACKTRACE)
97       ;;
98     *)
99       AC_MSG_RESULT(no)
100       ;;
101     esac
102   ],
103     AC_MSG_RESULT(no)
104   )
105
106 #
107 # Makefile outputs
108 #
109 AC_CONFIG_FILES(
110 lib/Makefile
111 lib/contrib/Makefile
112 lib/silccore/Makefile
113 lib/silccore/tests/Makefile
114 lib/silccrypt/Makefile
115 lib/silccrypt/tests/Makefile
116 lib/silcsim/Makefile
117 lib/silcske/Makefile
118 lib/silcutil/Makefile
119 lib/silcutil/unix/Makefile
120 lib/silcutil/win32/Makefile
121 lib/silcutil/beos/Makefile
122 lib/silcutil/os2/Makefile
123 lib/silcutil/epoc/Makefile
124 lib/silcutil/tests/Makefile
125 lib/silcmath/Makefile
126 lib/silcsftp/Makefile
127 lib/silcsftp/tests/Makefile
128 )
129
130 if test "x$silc_dist" = "xsilc-toolkit"; then
131   AC_CONFIG_FILES(
132 lib/silc.pc
133 lib/silcclient.pc
134 )
135 fi
136
137 if test "x$silc_dist" = "xsilc-client" ||
138    test "x$silc_dist" = "xsilc-toolkit"; then
139   AC_CONFIG_FILES(lib/silcclient/Makefile)
140 fi
141
142 fi      # compile_libs
143