1
# Copyright © 2000-2004 Marco Pesenti Gritti
2
# Copyright © 2003, 2004, 2005, 2006, 2007 Christian Persch
3
#
4
# This program is free software; you can redistribute it and/or modify it
5
# under the terms of the GNU General Public License as published by the
6
# Free Software Foundation; either version 2 of the License, or (at your
7
# option) any later version.
8
#
9
# This program is distributed in the hope that it will be useful, but
10
# WITHOUT ANY WARRANTY; without even the implied warranty of
11
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12
# General Public License for more details.
13
#
14
# You should have received a copy of the GNU General Public License along
15
# with this program; if not, write to the Free Software Foundation, Inc.,
16
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301  USA
17
18
m4_define([epiphany_version_major],[2])
19
m4_define([epiphany_version_minor],[29])
20
m4_define([epiphany_version_micro],[6])
21
m4_define([epiphany_version],[epiphany_version_major.epiphany_version_minor.epiphany_version_micro])
22
23
# This can be either "trunk" or "branches/gnome-x-y"
24
m4_define([epiphany_branch],["trunk"])
25
26
AC_INIT([GNOME Web Browser],[epiphany_version],[http://bugzilla.gnome.org/enter_bug.cgi?product=epiphany],[epiphany])
27
28
GNOME_COMMON_INIT
29
30
AC_PREREQ([2.59])
31
32
AC_CONFIG_MACRO_DIR([m4])
33
AC_CONFIG_HEADERS([config.h])
34
AC_CONFIG_SRCDIR([configure.ac])
35
36
EPIPHANY_API_VERSION=2.29
37
38
# This should stay at the major version of the latest stable releases
39
EPIPHANY_UA_VERSION=2.28
40
41
AC_SUBST([EPIPHANY_MAJOR],[epiphany_version_major.epiphany_version_minor])
42
AC_SUBST([EPIPHANY_API_VERSION])
43
AC_SUBST([EPIPHANY_UA_VERSION])
44
45
# for EPHY_CHECK_VERSION
46
AC_SUBST([EPIPHANY_MAJOR_VERSION], [epiphany_version_major])
47
AC_SUBST([EPIPHANY_MINOR_VERSION], [epiphany_version_minor])
48
AC_SUBST([EPIPHANY_MICRO_VERSION], [epiphany_version_micro])
49
50
# Build ID
51
BUILDID="$(TZ=UTC0 date +'%Y%m%d')"
52
AC_SUBST([BUILDID])
53
54
AM_INIT_AUTOMAKE([1.9 foreign dist-bzip2 no-dist-gzip tar-ustar])
55
56
# Use AM_SILENT_RULES if present
57
m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
58
59
if test -z "$enable_maintainer_mode"; then
60
  enable_maintainer_mode=yes
61
fi
62
AM_MAINTAINER_MODE([enable])
63
64
AC_ENABLE_SHARED([yes])
65
AC_ENABLE_STATIC([no])
66
67
AC_LIBTOOL_DLOPEN
68
LT_PREREQ(2.2)
69
LT_INIT
70
71
AC_ISC_POSIX
72
AC_PROG_CC
73
AM_PROG_CC_STDC
74
AC_HEADER_STDC
75
76
AC_PATH_PROG([GLIB_GENMARSHAL], [glib-genmarshal])
77
AC_PATH_PROG([GLIB_MKENUMS],[glib-mkenums])
78
79
IT_PROG_INTLTOOL([0.40.0])
80
81
PKG_PROG_PKG_CONFIG
82
83
GNOME_DEBUG_CHECK
84
GNOME_COMPILE_WARNINGS([maximum])
85
GNOME_MAINTAINER_MODE_DEFINES
86
87
MORE_WARN_FLAGS=
88
DEPRECATION_FLAGS=
89
90
if test "$enable_maintainer_mode" = "yes"; then
91
	AC_DEFINE([MAINTAINER_MODE],[1],[Define to enable 'maintainer-only' behaviour])
92
	enable_debug=yes
93
	DEPRECATION_FLAGS="-DG_DISABLE_DEPRECATED -DGDK_DISABLE_DEPRECATED -DGDK_PIXBUF_DISABLE_DEPRECATED -DGCONF_DISABLE_DEPRECATED -DPANGO_DISABLE_DEPRECATED -DGNOME_DISABLE_DEPRECATED -DGTK_DISABLE_DEPRECATED"
94
fi
95
96
GLIB_REQUIRED=2.19.7
97
GTK_REQUIRED=2.18.0
98
LIBXML_REQUIRED=2.6.12
99
LIBXSLT_REQUIRED=1.1.7
100
LIBSTARTUP_NOTIFICATION_REQUIRED=0.5
101
LIBNOTIFY_REQUIRED=0.4
102
DBUS_GLIB_REQUIRED=0.35
103
WEBKIT_GTK_REQUIRED=1.1.19
104
LIBSOUP_GNOME_REQUIRED=2.29.4
105
GNOME_KEYRING_REQUIRED=2.26.0
106
107
PKG_CHECK_EXISTS([libnotify >= $LIBNOTIFY_REQUIRED],[have_libnotify=yes],[have_libnotify=no])
108
109
LIBNOTIFY_PACKAGE=
110
if test "$have_libnotify" = "yes"; then
111
  LIBNOTIFY_PACKAGE="libnotify >= $LIBNOTIFY_REQUIRED"
112
  AC_DEFINE([HAVE_LIBNOTIFY],[1],[Define if libnotify is available])
113
fi
114
115
# Tests
116
117
AC_MSG_CHECKING([whether to build tests])
118
AC_ARG_ENABLE([tests],
119
	AS_HELP_STRING([--enable-tests],[Wheter to build tests (default: yes)]),
120
	[], [enable_tests=yes])
121
AC_MSG_RESULT([$enable_tests])
122
123
AM_CONDITIONAL([ENABLE_TESTS],[test "$enable_tests" = "yes"])
124
125
PKG_CHECK_MODULES([DEPENDENCIES], [
126
		  glib-2.0 >= $GLIB_REQUIRED
127
		  gmodule-2.0
128
		  gthread-2.0
129
		  gio-unix-2.0 >= $GLIB_REQUIRED
130
		  gk
131
		  gtk+-2.0 >= $GTK_REQUIRED
132
		  gtk+-unix-print-2.0 >= $GTK_REQUIRED
133
		  ice
134
		  x11
135
		  sm
136
		  libxml-2.0 >= $LIBXML_REQUIRED
137
		  libxslt >= $LIBXSLT_REQUIRED
138
		  gconf-2.0
139
		  libstartup-notification-1.0 >= $LIBSTARTUP_NOTIFICATION_REQUIRED
140
		  $LIBNOTIFY_PACKAGE
141
		  webkit-1.0 >= $WEBKIT_GTK_REQUIRED
142
		  libsoup-gnome-2.4 >= $LIBSOUP_GNOME_REQUIRED
143
		  gnome-keyring-1 >= $GNOME_KEYRING_REQUIRED
144
		  ])
145
146
# ****
147
# DBUS
148
# ****
149
150
PKG_CHECK_MODULES([DBUS],[dbus-glib-1 >= $DBUS_GLIB_REQUIRED])
151
152
AC_PATH_PROG([DBUS_BINDING_TOOL],[dbus-binding-tool],[no])
153
154
if test "$DBUS_BINDING_TOOL" = "no"; then
155
	AC_MSG_ERROR([dbus-binding-tool not found])
156
fi
157
158
# *****
159
# GConf
160
# *****
161
162
AM_GCONF_SOURCE_2
163
164
AC_PATH_PROG([GCONFTOOL], [gconftool-2], [no])
165
166
if test "$GCONFTOOL" = "no"; then
167
	AC_MSG_ERROR([gconftool-2 not found])
168
fi
169
170
# ******************
171
# Portability checks
172
# ******************
173
174
AC_CHECK_FUNCS([localtime_r memchr memmove memset mkdir mkdtemp realpath sqrt strchr strcspn strdup strerror strrchr strtol strtoul strstr])
175
176
# for backtrace()
177
AC_CHECK_HEADERS([execinfo.h fcntl.h])
178
AC_C_INLINE
179
AC_FUNC_MKTIME
180
AC_FUNC_STRTOD
181
AC_TYPE_SIZE_T
182
183
# Check for -Wdeclaration-after-statement (since gcc 3.4)
184
185
if test "$enable_maintainer_mode" = "yes"; then
186
187
	AC_LANG_PUSH([C])
188
	_FLAGS="-Wdeclaration-after-statement"
189
	_SAVE_CFLAGS=$CFLAGS
190
	CFLAGS="$CFLAGS $_FLAGS"
191
192
	AC_CACHE_CHECK([for compiler $FLAGS option],
193
		ac_cv_have_declaration_after_statement,
194
		[AC_COMPILE_IFELSE(
195
			[AC_LANG_SOURCE([[int main () { return 0; }]])],
196
			[ac_cv_have_declaration_after_statement="yes"],
197
			[ac_cv_have_declaration_after_statement="no"],
198
			[ac_cv_have_declaration_after_statement="maybe"])])
199
	
200
	if test "$ac_cv_have_declaration_after_statement" = "yes"; then
201
		MORE_WARN_FLAGS="$MORE_WARN_FLAGS $_FLAGS"
202
	fi
203
	CFLAGS="$_SAVE_CFLAGS"
204
	AC_LANG_POP([C])
205
fi
206
207
# ***************
208
# Multimedia keys
209
# ***************
210
211
AC_CHECK_HEADERS([X11/XF86keysym.h])
212
213
EPIPHANY_FEATURES=
214
215
# *********************
216
# GObject Introspection
217
# *********************
218
219
GOBJECT_INTROSPECTION_CHECK([0.6.7])
220
221
if test "$found_introspection" = "yes"; then
222
  EPIPHANY_FEATURES="$EPIPHANY_FEATURES introspection"
223
  AC_DEFINE([ENABLE_INTROSPECTION], [1], [Define to enable introspection support])
224
fi
225
226
# ****
227
# Seed
228
# ****
229
230
AC_MSG_CHECKING([whether Seed support is requested])
231
AC_ARG_ENABLE([seed],
232
  [AS_HELP_STRING([--enable-seed],[Enable Seed support (default: disabled)])],
233
  [],[enable_seed=no])
234
AC_MSG_RESULT([$enable_seed])
235
236
if test "$enable_seed" = "yes" -a "$found_introspection" != "yes"; then
237
  AC_MSG_ERROR([GObject introspection support must be enabled for Seed])
238
fi
239
240
if test "$enable_seed" = "yes"; then
241
  EPIPHANY_FEATURES="$EPIPHANY_FEATURES seed"
242
243
  SEED_REQUIRED=2.27.91
244
  PKG_CHECK_MODULES([SEED],[seed >= $SEED_REQUIRED])
245
246
  AC_DEFINE([ENABLE_SEED],[1],[Define to compile with Seed support])
247
fi
248
249
AM_CONDITIONAL([ENABLE_SEED],[test "$enable_seed" = "yes"])
250
251
# ***
252
# NSS
253
# ***
254
255
AC_MSG_CHECKING([whether NSS support is requested])
256
AC_ARG_ENABLE([nss],
257
        [AS_HELP_STRING([--enable-nss], [Enable NSS support (default: enabled)])],
258
        [], [enable_nss=yes])
259
AC_MSG_RESULT([$enable_nss])
260
261
if test "$enable_nss" = "yes"; then
262
   PKG_CHECK_MODULES([NSS], [nss])
263
264
   AC_DEFINE([ENABLE_NSS], [1], [Define to compile with NSS support])
265
fi
266
267
AM_CONDITIONAL([ENABLE_NSS],[test "$enable_nss" = "yes"])
268
269
AC_SUBST([EPIPHANY_FEATURES])
270
271
# *******************
272
# Additional features
273
# *******************
274
275
# Zeroconf bookmarks sites
276
277
AC_MSG_CHECKING([whether to enable zeroconf bookmarks support])
278
AC_ARG_ENABLE([zeroconf],
279
	AS_HELP_STRING([--disable-zeroconf],[Whether to enable zeroconf bookmarks support (default: autodetect)]),
280
	[], [enable_zeroconf=auto])
281
AC_MSG_RESULT([$enable_zeroconf])
282
283
if test "$enable_zeroconf" != "no"; then
284
	AVAHI_REQUIRED=0.6.22
285
286
	PKG_CHECK_MODULES(AVAHI,
287
                         [avahi-gobject >= $AVAHI_REQUIRED
288
                          avahi-client >= $AVAHI_REQUIRED]
289
                         ,[have_avahi=yes],[have_avahi=no])
290
291
        if test "$enable_zeroconf" = "yes" -a "$have_avahi" = "no"; then
292
                AC_MSG_ERROR([zeroconf support was requested but avahi not found])
293
        elif test "$have_avahi" = "yes"; then
294
                enable_zeroconf=yes
295
        else
296
                enable_zeroconf=no
297
        fi
298
fi
299
300
if test "$enable_zeroconf" = "yes"; then
301
	AC_DEFINE([ENABLE_ZEROCONF],[1],[Define to enable zeroconf bookmarks support])
302
fi
303
304
AM_CONDITIONAL([ENABLE_ZEROCONF],[test "$enable_zeroconf" = "yes"])
305
306
# NetworkManager
307
308
AC_MSG_CHECKING([whether to enable NetworkManager support])
309
AC_ARG_ENABLE([network-manager],
310
	AS_HELP_STRING([--enable-network-manager],[Whether to enable automatic network status with NetworkManager (default: disabled)]),
311
	[],[enable_network_manager=no])
312
AC_MSG_RESULT([$enable_network_manager])
313
314
if test "$enable_network_manager" != "no"; then
315
	PKG_CHECK_MODULES(NETWORK_MANAGER, NetworkManager, [have_network_manager=yes],[have_network_manager=no])
316
317
	if test "$enable_network_manager" = "yes" -a "$have_network_manager" = "no"; then
318
		AC_MSG_ERROR([NetworkManager support requested but NetworkManager headers not found])
319
	elif test "$have_network_manager" = "no"; then
320
		AC_MSG_WARN([NetworkManager headers not found; disabling NetworkManager support])
321
	fi
322
fi
323
324
if test "$enable_network_manager" = "yes"; then
325
	AC_DEFINE([ENABLE_NETWORK_MANAGER],[1],[Define for NetworkManager support])
326
fi
327
328
AM_CONDITIONAL([ENABLE_NETWORK_MANAGER],[test "$enable_network_manager" = "yes"])
329
330
# ************
331
# Misc defines
332
# ************
333
334
# uninstalled share dir to search data
335
AC_DEFINE_UNQUOTED([SHARE_UNINSTALLED_DIR], ["`pwd`/data"], [path to source data dir])
336
337
# *******************************
338
# Add warning flags
339
# *******************************
340
341
AM_CPPFLAGS="$AM_CPPFLAGS $DEPRECATION_FLAGS"
342
AM_CFLAGS="$AM_CFLAGS $WARN_CFLAGS $MORE_WARN_FLAGS"
343
AC_SUBST([AM_CPPFLAGS])
344
AC_SUBST([AM_CFLAGS])
345
AC_SUBST([AM_LDFLAGS])
346
347
# *******************************
348
# Internationalization
349
# ******************************* 
350
351
ISO_CODES_REQUIRED=0.35
352
353
PKG_CHECK_EXISTS([iso-codes >= $ISO_CODES_REQUIRED],
354
	[have_iso_codes=yes],[have_iso_codes=no])
355
356
if test "$have_iso_codes" = "yes"; then
357
	AC_MSG_CHECKING([whether iso-codes has iso-639 and iso-3166 domains])
358
	if $PKG_CONFIG --variable=domains iso-codes | grep -q 639 && \
359
	   $PKG_CONFIG --variable=domains iso-codes | grep -q 3166 ; then
360
		result=yes
361
	else
362
		result=no
363
		have_iso_codes=no
364
	fi
365
	AC_MSG_RESULT([$result])
366
fi
367
368
if test "$have_iso_codes" = "yes"; then
369
	AC_DEFINE_UNQUOTED([ISO_CODES_PREFIX],["`$PKG_CONFIG --variable=prefix iso-codes`"],[ISO codes prefix])
370
	AC_DEFINE([HAVE_ISO_CODES],[1],[Define if you have the iso-codes package])
371
else
372
	AC_MSG_ERROR([iso-codes is required])
373
fi
374
375
GETTEXT_PACKAGE=epiphany
376
AC_SUBST([GETTEXT_PACKAGE])
377
AC_DEFINE_UNQUOTED([GETTEXT_PACKAGE],["$GETTEXT_PACKAGE"],[Gettext package])
378
AM_GLIB_GNU_GETTEXT
379
380
AM_CONDITIONAL([ENABLE_SPELLCHECKER],[false])
381
382
# ****************
383
# Distributor name
384
# ****************
385
386
AC_ARG_WITH([distributor-name],
387
  AS_HELP_STRING([--with-distributor-name=name],[Set the distributor name]),
388
  [LSB_DISTRIBUTOR="$withval"])
389
390
if test -z "$LSB_DISTRIBUTOR"; then
391
	AC_CHECK_PROGS([LSB_RELEASE], [lsb_release],)
392
	if test -n "$LSB_RELEASE"; then
393
		# Fallback on lsb_release if available
394
		LSB_DISTRIBUTOR=$($LSB_RELEASE -i -s)
395
	else
396
		# Fallback on the product name
397
		LSB_DISTRIBUTOR="Epiphany"
398
	fi
399
fi
400
401
AC_DEFINE_UNQUOTED([LSB_DISTRIBUTOR],["$LSB_DISTRIBUTOR"],[Distributor name])
402
403
# *****************
404
# API Documentation
405
# *****************
406
407
GNOME_DOC_INIT
408
GTK_DOC_CHECK([1.0])
409
410
# ************
411
# Output files
412
# ************
413
414
AC_DEFINE([EPIPHANY_COMPILATION],[1],[Compiling epiphany])
415
416
AC_CONFIG_FILES([
417
Makefile
418
data/Makefile
419
data/epiphany-${EPIPHANY_API_VERSION}.pc:data/epiphany.pc.in
420
data/epiphany.desktop.in
421
data/bme.desktop.in
422
data/glade/Makefile
423
data/icons/Makefile
424
data/art/Makefile
425
data/ui/Makefile
426
doc/Makefile
427
doc/reference/Makefile
428
lib/Makefile
429
lib/egg/Makefile
430
lib/widgets/Makefile
431
embed/Makefile
432
src/Makefile
433
src/bookmarks/Makefile
434
src/epiphany.h
435
help/Makefile
436
po/Makefile.in
437
tests/Makefile
438
],
439
[],
440
[EPIPHANY_API_VERSION=$EPIPHANY_API_VERSION])
441
442
AC_OUTPUT
443
444
# *************************************
445
# *************************************
446
447
echo "
448
Epiphany was configured with the following options:
449
        
450
	Source code location       : $srcdir
451
	Compiler                   : $CC
452
	Prefix                     : $prefix
453
	Extra debugging support    : $enable_debug
454
455
 	Zeroconf bookmarks support : $enable_zeroconf
456
 	NetworkManager support     : $enable_network_manager
457
 	GObject introspection      : $found_introspection
458
 	Seed support               : $enable_seed
459
 	NSS support                : $enable_nss
460
 	Build tests                : $enable_tests
461
"