Statistics
| Revision:

root / configure.in @ 3170

History | View | Annotate | Download (14.3 KB)

1
dnl Process this file with autoconf to produce a configure script.
2
AC_PREREQ(2.50)
3
AC_INIT(src/main.c)
4
PACKAGE=sylpheed
5

    
6
dnl version number
7
MAJOR_VERSION=3
8
MINOR_VERSION=3
9
MICRO_VERSION=0
10
INTERFACE_AGE=0
11
BINARY_AGE=0
12
EXTRA_VERSION=
13
BUILD_REVISION=1141
14
VERSION=$MAJOR_VERSION.$MINOR_VERSION.$MICRO_VERSION$EXTRA_VERSION
15

    
16
dnl define if this is a development release
17
dnl DEVEL_VERSION=1
18

    
19
dnl set $target
20
AC_CANONICAL_SYSTEM
21

    
22
dnl
23
AM_INIT_AUTOMAKE($PACKAGE, $VERSION, no-define)
24
m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES])
25
dnl AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE")
26
dnl AC_DEFINE_UNQUOTED(VERSION, "$VERSION")
27
AC_SUBST(PACKAGE)
28
AC_SUBST(VERSION)
29
AC_SUBST(MAJOR_VERSION)
30
AC_SUBST(MINOR_VERSION)
31
AC_SUBST(MICRO_VERSION)
32
AC_SUBST(EXTRA_VERSION)
33
AC_SUBST(BUILD_REVISION)
34

    
35
dnl development or release version
36
AC_SUBST(DEVEL_VERSION)
37
if test "x$DEVEL_VERSION" != "x"; then
38
  AC_DEFINE(DEVEL_VERSION, 1, [Define if this is a development release])
39
fi
40

    
41
dnl libtool versioning
42
LT_RELEASE=$MAJOR_VERSION.$MINOR_VERSION
43
dnl LT_CURRENT=`expr 1 + $MICRO_VERSION - $INTERFACE_AGE`
44
dnl LT_REVISION=$INTERFACE_AGE
45
dnl LT_AGE=`expr $BINARY_AGE - $INTERFACE_AGE`
46
LT_CURRENT=2
47
LT_REVISION=0
48
LT_AGE=1
49
AC_SUBST(LT_RELEASE)
50
AC_SUBST(LT_CURRENT)
51
AC_SUBST(LT_REVISION)
52
AC_SUBST(LT_AGE)
53

    
54
dnl Specify a header configuration file
55
AM_CONFIG_HEADER(config.h)
56

    
57
AM_MAINTAINER_MODE
58

    
59
dnl Checks for programs.
60
dnl AC_ARG_PROGRAM
61
AC_PROG_CC
62
AM_DISABLE_STATIC
63
AC_ISC_POSIX
64
AM_PROG_CC_STDC
65
AC_PROG_INSTALL
66
AC_PROG_LN_S
67
AC_PROG_MAKE_SET
68
AC_PROG_CPP
69
dnl AC_PROG_RANLIB
70
AM_PROG_LEX
71
AC_PROG_YACC
72
AM_PROG_LIBTOOL
73

    
74
SYLPHEED_ACLOCAL_INCLUDE(ac)
75

    
76
native_win32=no
77

    
78
case "$target" in
79
*-darwin*)
80
	CFLAGS="$CFLAGS -no-cpp-precomp -fno-common"
81
	;;
82
*-*-mingw*)
83
	native_win32=yes
84
	CFLAGS="$CFLAGS -mms-bitfields -mwindows"
85
	LIBS="$LIBS -lws2_32 -lwinmm"
86
	AC_CHECK_PROG(WINDRES, windres, windres)
87
	;;
88
esac
89

    
90
AM_CONDITIONAL(NATIVE_WIN32, test "$native_win32" = "yes")
91

    
92
dnl Checks for libraries.
93
AM_PATH_GLIB_2_0(2.8.0,, AC_MSG_ERROR(Test for GLib failed. See the 'INSTALL' for help.), gobject gmodule)
94

    
95
AC_PATH_PROG(GLIB_GENMARSHAL, glib-genmarshal)
96

    
97
AM_PATH_GTK_2_0(2.8.0,, AC_MSG_ERROR(Test for Gtk failed. See the 'INSTALL' for help.))
98

    
99
dnl --disable-deprecated switch for GTK2 purification
100
AC_ARG_ENABLE(deprecated, [  --disable-deprecated    Disable deprecated GTK functions. ],
101
			  [GTK_CFLAGS="$GTK_CFLAGS -DG_DISABLE_DEPRECATED -DGTK_DISABLE_DEPRECATED"], [])
102

    
103
AC_SUBST(GTK_CFLAGS)
104
AC_SUBST(GTK_LIBS)
105

    
106
dnl checks for iconv
107
AM_ICONV
108

    
109
AC_CHECK_FUNCS(bind_textdomain_codeset)
110

    
111
dnl for gettext
112
ALL_LINGUAS="be bg cs da de el es et fi fr gl hr hu it ja ko lt nl pl pt_BR ro ru sk sl sr sv tr uk vi zh_CN zh_TW"
113
GETTEXT_PACKAGE=sylpheed
114
AC_SUBST(GETTEXT_PACKAGE)
115
AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE,"$GETTEXT_PACKAGE", [Define text domain.])
116

    
117
AM_GLIB_GNU_GETTEXT
118
dnl AM_GNU_GETTEXT
119
dnl AC_CHECK_FUNC(gettext, AC_CHECK_LIB(intl, gettext))
120

    
121
if test "x$DATADIRNAME" != "x"; then
122
	localedir='${prefix}/${DATADIRNAME}/locale'
123
else
124
	localedir='${datadir}/locale'
125
fi
126
AC_ARG_WITH(localedir,
127
	[  --with-localedir=DIR    Locale directory],
128
	[localedir="$withval"])
129
AC_SUBST(localedir)
130

    
131
manualdir='${datadir}/${PACKAGE}/manual'
132
AC_ARG_WITH(manualdir,
133
	[  --with-manualdir=DIR    Manual directory],
134
	[manualdir="$withval"])
135
AC_SUBST(manualdir)
136

    
137
faqdir='${datadir}/${PACKAGE}/faq'
138
AC_ARG_WITH(faqdir,
139
	[  --with-faqdir=DIR       FAQ directory],
140
	[faqdir="$withval"])
141
AC_SUBST(faqdir)
142

    
143
plugindir='${exec_prefix}/lib/${PACKAGE}/plugins'
144
AC_ARG_WITH(plugindir,
145
	[  --with-plugindir=DIR    Plug-in directory],
146
	[plugindir="$withval"])
147
AC_SUBST(plugindir)
148

    
149
dnl GPGME is used to support OpenPGP 
150
AC_ARG_ENABLE(gpgme,
151
	[  --disable-gpgme         Disable GnuPG support using GPGME],
152
	[ac_cv_enable_gpgme=$enableval], [ac_cv_enable_gpgme=yes])
153
AC_MSG_CHECKING([whether to use GPGME])
154
if test $ac_cv_enable_gpgme = yes; then
155
	AC_MSG_RESULT(yes)
156
	AM_PATH_GPGME(1.0.0, AC_DEFINE(USE_GPGME, 1, Define if you use GPGME to support OpenPGP.),
157
		      [use_gpgme=no
158
		       ac_cv_enable_gpgme=no])
159
else
160
	AC_MSG_RESULT(no)
161
fi
162

    
163
dnl for JPilot support in addressbook
164
dnl no check for libraries; these are dynamically loaded
165
AC_ARG_ENABLE(jpilot,
166
	[  --enable-jpilot         Enable JPilot support [[default=no]]],
167
	[ac_cv_enable_jpilot=$enableval], [ac_cv_enable_jpilot=no])
168
AC_MSG_CHECKING([whether to use JPilot])
169
if test "$ac_cv_enable_jpilot" = yes; then
170
	AC_MSG_RESULT(yes)
171
	AC_CHECK_HEADERS(pi-args.h pi-appinfo.h pi-address.h,
172
			 [ AC_DEFINE(USE_JPILOT, 1, Define if you want JPilot support in addressbook.) ],
173
			 [ ac_cv_enable_jpilot=no ])
174
	if test "$ac_cv_enable_jpilot" = no; then
175
		AC_CHECK_HEADERS(libpisock/pi-args.h libpisock/pi-appinfo.h libpisock/pi-address.h,
176
				 [ ac_cv_enable_jpilot=yes
177
				   AC_DEFINE(USE_JPILOT, 1, Define if you want JPilot support in addressbook.) ])
178
	fi
179
	AC_MSG_CHECKING([whether jpilot is available])
180
	AC_MSG_RESULT($ac_cv_enable_jpilot)
181

    
182
	if test "$ac_cv_enable_jpilot" = yes; then
183
		LIBS="$LIBS -lpisock"
184
	fi
185
else
186
	AC_MSG_RESULT(no)
187
fi
188

    
189
dnl for LDAP support in addressbook
190
dnl no check for libraries; dynamically loaded
191
AC_ARG_ENABLE(ldap,
192
	[  --enable-ldap           Enable LDAP support [[default=no]]],
193
	[ac_cv_enable_ldap=$enableval], [ac_cv_enable_ldap=no])
194
AC_MSG_CHECKING([whether to use LDAP])
195
if test "$ac_cv_enable_ldap" = yes; then
196
	AC_MSG_RESULT(yes)
197

    
198
	dnl check for available libraries, and pull them in
199
	AC_CHECK_LIB(resolv, res_query, LDAP_LIBS="$LDAP_LIBS -lresolv")
200
	AC_CHECK_LIB(socket, bind, LDAP_LIBS="$LDAP_LIBS -lsocket")
201
	AC_CHECK_LIB(nsl, gethostbyaddr, LDAP_LIBS="$LDAP_LIBS -lnsl")
202
	AC_CHECK_LIB(lber, ber_get_tag, LDAP_LIBS="$LDAP_LIBS -llber",,
203
		     $LDAP_LIBS)
204

    
205
	dnl we need libpthread for sylpheed ldap,  until we find
206
	dnl a better way to handle ldap requests asynchronously...
207
	AC_CHECK_LIB(pthread, pthread_create, LDAP_LIBS="$LDAP_LIBS -lpthread")
208

    
209
	AC_CHECK_HEADERS(ldap.h lber.h pthread.h,
210
			 [ ac_cv_enable_ldap=yes ],
211
			 [ ac_cv_enable_ldap=no ])
212

    
213
	if test "$ac_cv_enable_ldap" = yes; then
214
		AC_CHECK_LIB(ldap, ldap_open,
215
			     [ ac_cv_enable_ldap=yes ],
216
			     [ ac_cv_enable_ldap=no ],
217
			     $LDAP_LIBS)
218
	fi
219

    
220
	AC_MSG_CHECKING([whether ldap library is available])
221
	AC_MSG_RESULT($ac_cv_enable_ldap)
222

    
223
	if test "$ac_cv_enable_ldap" = yes; then
224
		CFLAGS="$CFLAGS `$PKG_CONFIG --cflags gthread-2.0`"
225
		LDAP_LIBS="$LDAP_LIBS -lldap `$PKG_CONFIG --libs gthread-2.0`"
226
		AC_DEFINE(USE_LDAP, 1, Define if you want LDAP support in addressbook.)
227
		AC_DEFINE(USE_THREADS, 1, Whether to use multithread or not)
228
		AC_SUBST(LDAP_LIBS)
229
	fi
230
else
231
	AC_MSG_RESULT(no)
232
fi
233

    
234
dnl Check for OpenSSL
235
AC_ARG_ENABLE(ssl,
236
	[  --disable-ssl           Disable SSL support using OpenSSL],
237
	[ac_cv_enable_ssl=$enableval], [ac_cv_enable_ssl=yes])
238
AC_MSG_CHECKING([whether to use OpenSSL])
239
if test $ac_cv_enable_ssl = yes; then
240
	AC_MSG_RESULT(yes)
241
	dnl First check with pkg-config
242
	PKG_CHECK_MODULES(OPENSSL, openssl, [:], [:])
243
	if test "x$OPENSSL_LIBS" != "x"; then
244
		CFLAGS="$CFLAGS $OPENSSL_CFLAGS"
245
		LIBS="$LIBS $OPENSSL_LIBS"
246
		AC_MSG_CHECKING([if openssl is available])
247
		AC_MSG_RESULT(yes)
248
		AC_DEFINE(USE_SSL, 1, Define if you use OpenSSL to support SSL.)
249
	else
250
		dnl If pkg-config fails, run compile/link test.
251
		AC_MSG_CHECKING([if openssl is available])
252
		ac_save_LIBS="$LIBS"
253
		if test "$native_win32" = yes; then
254
			LIBS="$LIBS -lssl32 -leay32"
255
		else
256
			LIBS="$LIBS -lssl -lcrypto"
257
		fi
258
		AC_TRY_LINK([
259
#include <openssl/opensslv.h>
260
],		[ return OPENSSL_VERSION_NUMBER; ],
261
		[ AC_MSG_RESULT(yes)
262
		  AC_DEFINE(USE_SSL, 1, Define if you use OpenSSL to support SSL.) ],
263
		[ AC_MSG_RESULT(no)
264
		  LIBS="$ac_save_LIBS"
265
		  ac_cv_enable_ssl=no ])
266
	fi
267
else
268
	AC_MSG_RESULT(no)
269
fi
270

    
271
dnl Check for X-Face support
272
AC_ARG_ENABLE(compface,
273
	[  --disable-compface      Do not use compface (X-Face)],
274
	[ac_cv_enable_compface=$enableval], [ac_cv_enable_compface=yes])
275
if test "$ac_cv_enable_compface" = yes; then
276
	AC_CHECK_LIB(compface, uncompface,,[ac_cv_enable_compface=no])
277
fi
278

    
279
dnl Check for GtkSpell support
280
AC_MSG_CHECKING([whether to use GtkSpell])
281
AC_ARG_ENABLE(gtkspell,
282
	[  --disable-gtkspell      Do not use GtkSpell in editor],
283
	[ac_cv_enable_gtkspell=$enableval], [ac_cv_enable_gtkspell=yes])
284
if test "$ac_cv_enable_gtkspell" = yes; then
285
	AC_MSG_RESULT(yes)
286
	AC_MSG_CHECKING([whether GtkSpell is available])
287
	if $PKG_CONFIG gtkspell-2.0 ; then
288
		AC_MSG_RESULT(yes)
289
		CFLAGS="$CFLAGS `$PKG_CONFIG --cflags gtkspell-2.0`"
290
		LIBS="$LIBS `$PKG_CONFIG --libs gtkspell-2.0`"
291
		if $PKG_CONFIG --atleast-version 2.0.13 gtkspell-2.0 ; then
292
			AC_DEFINE(USE_ENCHANT, 1, Use Enchant with GtkSpell)
293
			LIBS="$LIBS `$PKG_CONFIG --libs enchant`"
294

    
295
			dnl Workaroud for zemberek crash
296
			if $PKG_CONFIG --atleast-version 1.4.2 enchant ; then
297
				CFLAGS="$CFLAGS `$PKG_CONFIG --cflags dbus-glib-1`"
298
				LIBS="$LIBS `$PKG_CONFIG --libs dbus-glib-1`"
299
			fi
300
		elif $PKG_CONFIG --atleast-version 2.0.12 gtkspell-2.0 ; then
301
			LIBS="$LIBS -laspell"
302
		fi
303
		AC_DEFINE(USE_GTKSPELL, 1, Use GtkSpell in editor)
304
	else
305
		AC_MSG_RESULT(no)
306
		ac_cv_enable_gtkspell=no
307
	fi
308
else
309
	AC_MSG_RESULT(no)		
310
fi
311

    
312
dnl Check for Oniguruma support in message filtering
313
AC_ARG_ENABLE(oniguruma,
314
	[  --enable-oniguruma      Use Oniguruma instead of system's regex [[default=no]]],
315
	[ac_cv_enable_oniguruma=$enableval], [ac_cv_enable_oniguruma=no])
316
AC_MSG_CHECKING([whether to use Oniguruma])
317
if test "$ac_cv_enable_oniguruma" = yes; then
318
	AC_MSG_RESULT(yes)
319
	AC_MSG_CHECKING([whether Oniguruma is available])
320
        dnl AC_CHECK_PROG(ONIG_CONFIG, onig-config, onig-config)
321
	ONIG_CONFIG=onig-config
322
	ONIG_VERSION=`$ONIG_CONFIG --version 2>/dev/null`
323
	if test "x$ONIG_VERSION" != "x"; then
324
		AC_MSG_RESULT(yes)
325
		CFLAGS="$CFLAGS `$ONIG_CONFIG --cflags`"
326
		LIBS="$LIBS `$ONIG_CONFIG --libs`"
327
		AC_DEFINE(USE_ONIGURUMA, 1, Define if you want to use Oniguruma.)
328
	else
329
		AC_MSG_RESULT(no)
330
		ac_cv_enable_oniguruma=no
331
	fi
332
else
333
	AC_MSG_RESULT(no)
334
fi
335

    
336
dnl check additional libraries
337
AC_CHECK_LIB(xpg4, setlocale)
338
AC_CHECK_LIB(resolv, res_init)
339
AC_CHECK_LIB(socket, bind)
340
AC_CHECK_LIB(nsl, gethostbyname)
341

    
342
dnl for GThread support
343
AC_ARG_ENABLE(threads,
344
	[  --disable-threads       Disable multithread support],
345
	[use_threads=$enableval], [use_threads=yes])
346

    
347
AC_MSG_CHECKING([whether to use threads])
348
if test x"$use_threads" = xyes ; then
349
	AC_MSG_RESULT(yes)
350
	if $PKG_CONFIG --exists gthread-2.0 ; then
351
		CFLAGS="$CFLAGS `$PKG_CONFIG --cflags gthread-2.0`"
352
		LIBS="$LIBS `$PKG_CONFIG --libs gthread-2.0`"
353
		AC_DEFINE(USE_THREADS, 1, Whether to use multithread or not)
354
	else
355
		AC_MSG_ERROR([Sylpheed requires GThread from GLib to enable threading.])
356
	fi
357
else
358
	AC_MSG_RESULT(no)
359
fi
360

    
361
dnl check for IPv6 option
362
AC_ARG_ENABLE(ipv6,
363
	[  --disable-ipv6          Disable IPv6 support],
364
	[ac_cv_enable_ipv6=$enableval], [ac_cv_enable_ipv6=yes])
365

    
366
dnl automated checks for IPv6 support.
367
AC_MSG_CHECKING([whether to use IPv6])
368
if test x"$ac_cv_enable_ipv6" = xyes; then
369
	AC_MSG_RESULT(yes)
370
	AC_MSG_CHECKING([for IPv6 support])
371
	if test "$native_win32" = yes; then
372
		AC_CACHE_VAL(ac_cv_ipv6,[
373
			AC_TRY_COMPILE([#define INET6
374
					#include <sys/types.h>
375
					#include <winsock2.h>
376
					#include <ws2tcpip.h>],
377
				[int x = IPPROTO_IPV6; struct in6_addr a;],
378
				ac_cv_ipv6=yes, ac_cv_ipv6=no)
379
		])
380
	else
381
		AC_CACHE_VAL(ac_cv_ipv6,[
382
			AC_TRY_COMPILE([#define INET6
383
					#include <sys/types.h>
384
					#include <netinet/in.h>],
385
				[int x = IPPROTO_IPV6; struct in6_addr a;],
386
				ac_cv_ipv6=yes, ac_cv_ipv6=no)
387
		])
388
	fi
389
	AC_MSG_RESULT($ac_cv_ipv6)
390
	if test $ac_cv_ipv6 = yes; then
391
		AC_DEFINE(INET6, 1, Define if you want IPv6 support.)
392
	else
393
		AC_MSG_WARN(*** IPv6 will not be supported ***)
394
		ac_cv_enable_ipv6=no
395
	fi
396
else
397
	AC_MSG_RESULT(no)
398
fi
399

    
400
dnl for update check feature
401
AC_ARG_ENABLE(updatecheck,
402
	[  --disable-updatecheck   Disable update check feature],
403
	[ac_cv_enable_updatecheck=$enableval], [ac_cv_enable_updatecheck=yes])
404
if test x"$ac_cv_enable_updatecheck" = xyes ; then
405
	AC_DEFINE(USE_UPDATE_CHECK, 1, Define if you want update check feature.)
406

    
407
  dnl for update check feature (requires update check enabled)
408
  AC_ARG_ENABLE(updatecheckplugin,
409
	[  --disable-updatecheckplugin   Disable update check plugin feature],
410
	[ac_cv_enable_updatecheckplugin=$enableval], [ac_cv_enable_updatecheckplugin=yes])
411
  if test x"$ac_cv_enable_updatecheckplugin" = xyes ; then
412
	AC_DEFINE(USE_UPDATE_CHECK_PLUGIN, 1, Define if you want update check plugin feature.)
413
  fi
414
fi
415

    
416
dnl Check for d_type member in struct dirent
417
AC_MSG_CHECKING([whether struct dirent has d_type member])
418
AC_CACHE_VAL(ac_cv_dirent_d_type,[
419
	AC_TRY_COMPILE([#include <dirent.h>],
420
		       [struct dirent d; d.d_type = DT_REG;],
421
		       ac_cv_dirent_d_type=yes, ac_cv_dirent_d_type=no)
422
])
423
AC_MSG_RESULT($ac_cv_dirent_d_type)
424
if test $ac_cv_dirent_d_type = yes; then
425
	AC_DEFINE(HAVE_DIRENT_D_TYPE, 1,
426
		  Define if `struct dirent' has `d_type' member.)
427
fi
428

    
429

    
430
dnl Checks for header files.
431
AC_HEADER_DIRENT
432
AC_HEADER_STDC
433
AC_HEADER_SYS_WAIT
434
AC_CHECK_HEADERS(fcntl.h sys/file.h unistd.h paths.h \
435
		 sys/param.h sys/utsname.h sys/select.h \
436
		 netdb.h regex.h sys/mman.h)
437

    
438
dnl Checks for typedefs, structures, and compiler characteristics.
439
AC_C_CONST
440
AC_TYPE_OFF_T
441
AC_TYPE_PID_T
442
AC_TYPE_SIZE_T
443
AC_STRUCT_TM
444

    
445
AC_SYS_LARGEFILE
446
AC_FUNC_FSEEKO
447

    
448
GNUPG_CHECK_TYPEDEF(u32, HAVE_U32_TYPEDEF, Used to test for a u32 typedef)
449
AC_CHECK_SIZEOF(unsigned short, 2)
450
AC_CHECK_SIZEOF(unsigned int, 4)
451
AC_CHECK_SIZEOF(unsigned long, 4)
452

    
453
dnl Checks for library functions.
454
AC_FUNC_ALLOCA
455
AC_CHECK_FUNCS(gethostname mkdir mktime socket strstr strchr \
456
	       uname flock lockf inet_aton inet_addr \
457
	       fchmod truncate getuid regcomp mlock fsync)
458

    
459
AC_OUTPUT([
460
Makefile
461
sylpheed.spec
462
ac/Makefile
463
libsylph/Makefile
464
src/version.h
465
src/sylpheed.rc
466
src/Makefile
467
src/icons/Makefile
468
plugin/Makefile
469
plugin/attachment_tool/Makefile
470
plugin/test/Makefile
471
po/Makefile.in
472
faq/Makefile
473
faq/de/Makefile
474
faq/en/Makefile
475
faq/es/Makefile
476
faq/fr/Makefile
477
faq/it/Makefile
478
manual/Makefile
479
manual/en/Makefile
480
manual/ja/Makefile
481
nsis/Makefile
482
])
483

    
484
dnl Output the configuration summary
485
echo ""
486
echo "$PACKAGE $VERSION"
487
echo ""
488
echo "GnuPG         : $ac_cv_enable_gpgme"
489
echo "JPilot        : $ac_cv_enable_jpilot"
490
echo "LDAP          : $ac_cv_enable_ldap"
491
echo "OpenSSL       : $ac_cv_enable_ssl"
492
echo "iconv         : $am_cv_func_iconv"
493
echo "compface      : $ac_cv_enable_compface"
494
echo "IPv6          : $ac_cv_enable_ipv6"
495
echo "GtkSpell      : $ac_cv_enable_gtkspell"
496
echo "Oniguruma     : $ac_cv_enable_oniguruma"
497
echo "GThread       : $use_threads"
498
echo ""
499
echo "The binary will be installed in $prefix/bin"
500
echo ""
501
echo "Configure finished, type 'make' to build."