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