add CLAWS macro
[claws.git] / configure.in
1 dnl Process this file with autoconf to produce a configure script.
2 AC_INIT(src/main.c)
3 PACKAGE=sylpheed
4
5 dnl version number
6 MAJOR_VERSION=0
7 MINOR_VERSION=5
8 MICRO_VERSION=1
9 INTERFACE_AGE=0
10 BINARY_AGE=0
11 EXTRA_VERSION=claws2
12 VERSION=$MAJOR_VERSION.$MINOR_VERSION.$MICRO_VERSION$EXTRA_VERSION
13
14 dnl
15 AM_INIT_AUTOMAKE($PACKAGE, $VERSION, no-define)
16 AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE")
17 AC_DEFINE_UNQUOTED(VERSION, "$VERSION")
18
19 dnl GNOME installed?
20 AC_PATH_PROG(GNOME_CONFIG, gnome-config, no)
21 if test "$GNOME_CONFIG" != no; then
22         gnomedir="`gnome-config --prefix`"
23         AC_SUBST(gnomedir)
24 fi
25 AM_CONDITIONAL(SYLPHEED_GNOME, test -d "$gnomedir")
26
27 dnl Claws version
28 AC_DEFINE(CLAWS, 1)
29
30 dnl libtool versioning
31 LT_RELEASE=$MAJOR_VERSION.$MINOR_VERSION
32 LT_CURRENT=`expr $MICRO_VERSION - $INTERFACE_AGE`
33 LT_REVISION=$INTERFACE_AGE
34 LT_AGE=`expr $BINARY_AGE - $INTERFACE_AGE`
35 AC_SUBST(LT_RELEASE)
36 AC_SUBST(LT_CURRENT)
37 AC_SUBST(LT_REVISION)
38 AC_SUBST(LT_AGE)
39
40 dnl Specify a header configuration file
41 AM_CONFIG_HEADER(config.h)
42
43 AM_PROG_LIBTOOL
44 AM_MAINTAINER_MODE
45
46 dnl Checks for programs.
47 AC_ARG_PROGRAM
48 AC_PROG_CC
49 AC_ISC_POSIX
50 AM_PROG_CC_STDC
51 AC_PROG_INSTALL
52 AC_PROG_LN_S
53 AC_PROG_MAKE_SET
54 AC_PROG_CPP
55 dnl AC_PROG_RANLIB
56 AM_PROG_LEX
57 AC_PROG_YACC
58
59 SYLPHEED_ACLOCAL_INCLUDE(ac)
60
61 dnl for gettext
62 ALL_LINGUAS="cs de el es fr it ja ko nl pt_BR ru zh_CN.GB2312 zh_TW.Big5"
63 AM_GNU_GETTEXT
64 dnl AC_CHECK_FUNC(gettext, AC_CHECK_LIB(intl, gettext))
65 localedir='${prefix}/${DATADIRNAME}/locale'
66 AC_SUBST(localedir)
67
68 manualdir='${prefix}/${DATADIRNAME}/${PACKAGE}/manual'
69 AC_SUBST(manualdir)
70
71 dnl Checks for libraries.
72 AM_PATH_GLIB(1.2.6,,
73         AC_MSG_ERROR(Test for GLIB failed. See the file 'INSTALL' for help.),
74         gthread)
75 AM_PATH_GTK(1.2.6,,
76         AC_MSG_ERROR(Test for GTK failed. See the file 'INSTALL' for help.))
77
78 dnl Check for built-in image view support
79 AC_ARG_ENABLE(gdk-pixbuf,
80         [  --disable-gdk-pixbuf    Do not use gdk-pixbuf],
81         [ac_cv_disable_gdk_pixbuf=disable], [ac_cv_disable_gdk_pixbuf=no])
82 AC_ARG_ENABLE(imlib,
83         [  --disable-imlib         Do not use imlib],
84         [ac_cv_disable_imlib=disable], [ac_cv_disable_imlib=no])
85
86 if test "$ac_cv_disable_gdk_pixbuf" = no; then
87         AM_PATH_GDK_PIXBUF(0.8.0,
88                 AC_DEFINE(HAVE_GDK_PIXBUF), [ac_cv_disable_gdk_pixbuf=disable])
89 fi
90 if test "$ac_cv_disable_gdk_pixbuf" = disable -a "$ac_cv_disable_imlib" = no; then
91         AM_PATH_GDK_IMLIB(1.9,
92                 AC_DEFINE(HAVE_GDK_IMLIB), [ac_cv_disable_imlib=disable])
93 fi
94 if test "$ac_cv_disable_gdk_pixbuf" = disable -a "$ac_cv_disable_imlib" = disable; then
95         AC_MSG_WARN(*** Built-in image view will not be supported ***)
96 fi
97
98 dnl GPGME is used to support OpenPGP 
99 AC_ARG_ENABLE(gpgme,
100         [  --enable-gpgme          Enable GnuPG support using GPGME [default=no]],
101         [ac_cv_enable_gpgme=$enableval], [ac_cv_enable_gpgme=no])
102 if test $ac_cv_enable_gpgme = yes; then
103         AM_PATH_GPGME(0.2.1, AC_DEFINE(USE_GPGME), [use_gpgme=no])
104 fi
105
106 dnl Use OpenSSL for SSL connections 
107 AC_MSG_CHECKING([whether to use ssl])
108 AC_ARG_ENABLE(ssl,
109         [  --enable-ssl            Enable SSL support using OpenSSL [default=no]],
110         [ac_cv_enable_ssl=$enableval], [ac_cv_enable_ssl=no])
111 if test $ac_cv_enable_ssl = yes; then
112         AC_MSG_RESULT(yes)
113 else
114         AC_MSG_RESULT(no)
115 fi
116
117 if test $ac_cv_enable_ssl = yes; then
118         AC_MSG_CHECKING([whether to openssl is available])
119         LIBS="$LIBS -lssl"
120         AC_TRY_LINK([
121 #include <openssl/opensslv.h>
122 ],      [ return(OPENSSL_VERSION_NUMBER); ],
123         [ AC_MSG_RESULT(yes)
124           AC_DEFINE(USE_SSL) ],
125         [ AC_MSG_RESULT(no) 
126           LIBS="$ac_save_LIBS" ])
127 fi
128           
129 dnl Check for X-Face support
130 AC_ARG_ENABLE(compface,
131         [  --disable-compface      Do not use compface (X-Face)],
132         [ac_cv_disable_compface=disable], [ac_cv_disable_compface=no])
133 if test "$ac_cv_disable_compface" = no; then
134         AC_CHECK_LIB(compface, uncompface)
135 fi
136
137 dnl for JPilot support in addressbook
138 AC_ARG_ENABLE(jpilot,
139         [  --enable-jpilot         Enable JPilot support [default=no]],
140         [ac_cv_enable_jpilot=$enableval], [ac_cv_enable_jpilot=no])
141
142 AC_MSG_CHECKING([whether to use jpilot])
143 if test "$ac_cv_enable_jpilot" = yes; then
144         AC_MSG_RESULT(yes)
145         LIBS="$LIBS -lpisock"
146         AC_DEFINE(USE_JPILOT)
147 else
148         AC_MSG_RESULT(no)
149 fi
150
151 dnl for LDAP support in addressbook
152 AC_ARG_ENABLE(ldap,
153         [  --enable-ldap         Enable LDAP support [default=no]],
154         [ac_cv_enable_ldap=$enableval], [ac_cv_enable_ldap=no])
155
156 AC_MSG_CHECKING([whether to use ldap])
157 if test "$ac_cv_enable_ldap" = yes; then
158         AC_MSG_RESULT(yes)
159         LIBS="$LIBS -lldap -llber -lpthread -lresolv"
160         AC_DEFINE(USE_LDAP)
161 else
162         AC_MSG_RESULT(no)
163 fi
164
165 dnl Check for libjconv
166 AC_ARG_ENABLE(jconv,
167         [  --disable-jconv         Do not use libjconv],
168         [ac_cv_disable_jconv=disable], [ac_cv_disable_jconv=no])
169 if test "$ac_cv_disable_jconv" = no; then
170         AC_CHECK_LIB(jconv, jconv_alloc_conv)
171 fi
172
173 AC_CHECK_LIB(xpg4, setlocale)
174 dnl AC_CHECK_LIB(kcc, KCC_filter)
175
176 dnl for GThread support
177 dnl AC_ARG_ENABLE(threads,
178 dnl     [  --enable-threads        Enable multithread support [default=no]],
179 dnl     [use_threads=$enableval], [use_threads=no])
180
181 AC_MSG_CHECKING([whether to use threads])
182 if test x"$use_threads" = xyes ; then
183         AC_MSG_RESULT(yes)
184         if test ! -z `$GLIB_CONFIG --help 2>&1 |grep 'gthread'` ; then
185                 CFLAGS="$CFLAGS `$GLIB_CONFIG --cflags gthread`"
186                 LIBS="$LIBS `$GLIB_CONFIG --libs gthread`"
187                 AC_DEFINE(USE_THREADS)
188         else
189                 AC_MSG_ERROR([Sylpheed requires GThread from GLib to use threading.])
190         fi
191 else
192         AC_MSG_RESULT(no)
193 fi
194
195 dnl check for IPv6 option
196 AC_ARG_ENABLE(ipv6,
197         [  --enable-ipv6           Enable IPv6 support [default=no]],
198         [ac_cv_enableipv6=$enableval], [ac_cv_enableipv6=no])
199
200 dnl automated checks for IPv6 support.
201 if test x"$ac_cv_enableipv6" = xyes; then
202         AC_MSG_CHECKING([for IPv6 support])
203         AC_CACHE_VAL(ac_cv_ipv6,[
204                 AC_TRY_COMPILE([#define INET6
205                                 #include <sys/types.h>
206                                 #include <netinet/in.h>],
207                         [int x = IPPROTO_IPV6; struct in6_addr a;],
208                         ac_cv_ipv6=yes, ac_cv_ipv6=no)
209         ])
210         AC_MSG_RESULT($ac_cv_ipv6)
211         if test $ac_cv_ipv6 = yes; then
212                 AC_DEFINE(INET6)
213         fi
214 fi
215
216 dnl check if gdk / gtk was compiled with USE_XIM
217 AC_MSG_CHECKING([whether GTK was compiled with XIM support])
218 CFLAGS_SAVE="$CFLAGS"
219 LDFLAGS_SAVE="$LDFLAGS"
220 CFLAGS="$CFLAGS `$GLIB_CONFIG --cflags` `gtk-config --cflags`"
221 LDFLAGS="$LIBS `$GLIB_CONFIG --libs` `gtk-config --libs`"
222 AC_CACHE_VAL(ac_cv_use_gtkgdk_xim, [
223         AC_TRY_COMPILE([#include <gtk/gtk.h>
224                         #include <gdk/gdk.h>],
225                         [extern gint gdk_im_open(void); gdk_im_open();],
226                          ac_cv_use_gtkgdk_xim=yes, ac_cv_use_gtkgdk_xim=no)
227         ])
228 AC_MSG_RESULT($ac_cv_use_gtkgdk_xim)
229 if test $ac_cv_use_gtkgdk_xim = yes; then
230         AC_DEFINE(USE_GTKGDK_XIM)
231 fi
232 CFLAGS="$CFLAGS_SAVE"
233 LDFLAGS="$LDFLAGS_SAVE"
234
235
236 dnl Checks for header files.
237 AC_HEADER_DIRENT
238 AC_HEADER_STDC
239 AC_HEADER_SYS_WAIT
240 AC_CHECK_HEADERS(fcntl.h sys/file.h unistd.h paths.h \
241                  sys/param.h sys/utsname.h \
242                  wchar.h wctype.h)
243
244 dnl Checks for typedefs, structures, and compiler characteristics.
245 AC_C_CONST
246 AC_TYPE_OFF_T
247 AC_TYPE_PID_T
248 AC_TYPE_SIZE_T
249 AC_STRUCT_TM
250
251 dnl AC_CHECK_TYPE(wint_t, unsigned int) does not work because wint_t
252 dnl may be defined only in wchar.h (this happens with gcc-2.96).
253 dnl So we need to use this extended macro.
254 SYLPHEED_CHECK_TYPE(wint_t, unsigned int,
255 [
256 #if HAVE_WCHAR_H
257 #include <wchar.h>
258 #endif
259 ])
260
261 GNUPG_CHECK_TYPEDEF(u32, HAVE_U32_TYPEDEF)
262 AC_CHECK_SIZEOF(unsigned short, 2)
263 AC_CHECK_SIZEOF(unsigned int, 4)
264 AC_CHECK_SIZEOF(unsigned long, 4)
265
266 dnl Checks for library functions.
267 AC_FUNC_ALLOCA
268 AC_CHECK_FUNCS(gethostname mkdir mktime socket strstr \
269                wcsstr wcswcs iswalnum iswspace towlower \
270                wcslen wcscpy wcsncpy \
271                uname flock lockf inet_aton inet_addr \
272                fchmod mkstemp)
273
274 AC_OUTPUT([
275 Makefile
276 sylpheed.spec
277 intl/Makefile
278 ac/Makefile
279 po/Makefile.in
280 libkcc/Makefile
281 src/Makefile
282 manual/Makefile
283 manual/ja/Makefile
284 manual/en/Makefile
285 ])