Ready to release 0.2.2
[gpgme.git] / configure.in
1 # configure.in  for GPGME
2 # Copyright (C) 2000 Werner Koch (dd9jn)
3 # Copyright (C) 2001 g10 Code GmbH
4
5 # This file is part of GPGME.
6
7 # GPGME is free software; you can redistribute it and/or modify
8 # it under the terms of the GNU General Public License as published by
9 # the Free Software Foundation; either version 2 of the License, or
10 # (at your option) any later version.
11
12 # GPGME 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 # You should have received a copy of the GNU General Public License
18 # along with this program; if not, write to the Free Software
19 # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
20  
21 # (Process this file with autoconf to produce a configure script.)
22 AC_REVISION($Revision$)dnl
23
24 AC_INIT(gpgme/gpgme.h)
25 AM_CONFIG_HEADER(config.h)
26 AM_MAINTAINER_MODE
27 #############################################
28 # Version numbers (Remember to change them just before a release)
29 # 1. No interfaces changed, only implementations (good): Increment REVISION.
30 # 2. Interfaces added, none removed (good): Increment CURRENT, increment
31 #    AGE, set REVISION to 0.
32 # 3. Interfaces removed (BAD, breaks upward compatibility): Increment
33 #    CURRENT, set AGE and REVISION to 0.
34 AM_INIT_AUTOMAKE(gpgme,0.2.2)
35 LIBGPGME_LT_CURRENT=3
36 LIBGPGME_LT_AGE=3
37 LIBGPGME_LT_REVISION=1
38 NEED_GPG_VERSION=1.0.4h
39 ##############################################
40
41 AC_SUBST(LIBGPGME_LT_CURRENT)
42 AC_SUBST(LIBGPGME_LT_AGE)
43 AC_SUBST(LIBGPGME_LT_REVISION)
44 AC_DEFINE_UNQUOTED(NEED_GPG_VERSION, "$NEED_GPG_VERSION")
45
46
47 dnl
48 dnl Checks for programs
49 dnl
50 AC_ARG_PROGRAM
51
52 dnl Don't default to build static libs
53 dnl AM_DISABLE_STATIC
54 AM_PROG_LIBTOOL
55
56 if test "$GCC" = yes; then
57     CFLAGS="$CFLAGS -Wall -Wcast-align -Wshadow -Wstrict-prototypes"
58 fi
59
60 GPG=
61 component_system=None
62 case "${target}" in
63     *-*-mingw32* | i?86-emx-os2 | i?86-*-os2*emx | i?86-*-msdosdjgpp* )
64         # special stuff for Windoze NT
65         # OS/2 with the EMX environment
66         # DOS with the DJGPP environment
67         AC_DEFINE(HAVE_DRIVE_LETTERS)
68         AC_DEFINE(HAVE_DOSISH_SYSTEM)
69         GPG='c:\\gnupg\\gpg.exe'
70         #component_system='COM+'
71         ;;
72     *)
73        ;;
74 esac
75
76
77
78
79 dnl
80 dnl Checks for libraries
81 dnl
82
83 dnl
84 dnl Checks for header files
85 dnl
86
87
88
89 dnl
90 dnl Checks for typedefs and structures
91 dnl
92 GNUPG_CHECK_TYPEDEF(byte, HAVE_BYTE_TYPEDEF)
93 GNUPG_CHECK_TYPEDEF(ushort, HAVE_USHORT_TYPEDEF)
94 GNUPG_CHECK_TYPEDEF(ulong, HAVE_ULONG_TYPEDEF)
95 GNUPG_CHECK_TYPEDEF(u16, HAVE_U16_TYPEDEF)
96 GNUPG_CHECK_TYPEDEF(u32, HAVE_U32_TYPEDEF)
97 # We should not use them in this software;
98 # However jnlib/types.h needs them - so we take the easy way.
99 AC_CHECK_SIZEOF(unsigned short, 2)
100 AC_CHECK_SIZEOF(unsigned int, 4)
101 AC_CHECK_SIZEOF(unsigned long, 4)
102 if test "$ac_cv_sizeof_unsigned_short" = "0" \
103    || test "$ac_cv_sizeof_unsigned_int" = "0" \
104    || test "$ac_cv_sizeof_unsigned_long" = "0"; then
105     AC_MSG_WARN([Hmmm, something is wrong with the sizes - using defaults]);
106 fi
107
108
109
110 dnl
111 dnl Checks for compiler features
112 dnl
113
114 dnl
115 dnl Checks for library functions
116 dnl
117 dnl These are needed by libjnlib
118 AC_CHECK_FUNCS(memicmp stpcpy strlwr strtoul memmove stricmp)
119
120
121 dnl
122 dnl Checks for system services
123 dnl
124
125 if test -z "$GPG"; then
126   AC_PATH_PROG(GPG, gpg)
127   if test -z "$GPG"; then
128        AC_MSG_ERROR([[
129 ***
130 *** GnuPG not found. Please install GnuPG first. 
131 *** See   http://www.gnupg.org/download.html
132 ***
133   ]])
134   fi
135 fi
136 AC_DEFINE_UNQUOTED(GPG_PATH, "$GPG")
137
138
139 dnl
140 dnl FIXME: check whether Bonobo is installed
141 dnl 
142
143
144 dnl
145 dnl Create config files 
146 dnl
147 dnl
148
149 AM_CONDITIONAL(BUILD_COMPLUS, test "$component_system" = "COM+")
150 AM_CONDITIONAL(BUILD_BONOBO,  test "$component_system" = "Bonobo")
151
152 dnl Make the version number in gpgme/gpgme.h the same as the one here.
153 dnl (this is easier than to have a *.in file just for one substitution)
154 GNUPG_FIX_HDR_VERSION(gpgme/gpgme.h, GPGME_VERSION)
155
156 dnl Substitution used for gpgme-config 
157 GPGME_LIBS="-L${libdir} -lgpgme"
158 GPGME_CFLAGS=""
159 AC_SUBST(GPGME_LIBS)
160 AC_SUBST(GPGME_CFLAGS)
161
162 AC_OUTPUT_COMMANDS([
163 chmod +x gpgme/gpgme-config
164 ])
165
166 AC_OUTPUT([
167 Makefile
168 jnlib/Makefile
169 gpgme/Makefile
170 gpgme/gpgme-config
171 tests/Makefile
172 bonobo/Makefile
173 complus/Makefile
174 ])
175
176 echo "
177         GPGME v${VERSION} has been configured as follows:
178
179         GPG version: min. $NEED_GPG_VERSION
180         GPG path:    $GPG
181         Component:   $component_system
182 "
183
184
185
186
187
188
189