2 ### Welcome to Beagle's configure.in. We hope you enjoy your stay.
5 AC_INIT(beagled/BeagleDaemon.cs)
7 AM_INIT_AUTOMAKE(beagle, 0.2.3)
9 ########################################################################
16 GTK_SHARP_REQUIRED=2.3.90
17 GMIME_SHARP_REQUIRED=2.1.19
18 EVOLUTION_SHARP_REQUIRED=0.10.2
19 GSF_SHARP_REQUIRED=0.6
22 LIBBEAGLE_GOBJECT_REQUIRED=2.6
23 LIBBEAGLE_LIBXML_REQUIRED=2.6.19
28 ########################################################################
31 AM_CONFIG_HEADER(config.h)
40 AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
41 if test "x$PKG_CONFIG" = "xno"; then
42 AC_MSG_ERROR([You need to install pkg-config])
45 AC_PATH_PROG(BASH, bash)
48 # mozilla extension uses zip to create the jar/xpi files
49 AC_PATH_PROG(ZIP, zip)
51 AC_PATH_PROG(MONO, mono)
52 AC_PATH_PROG(MCS, mcs)
54 AC_MSG_CHECKING([for mono.pc])
55 if test -z `$PKG_CONFIG --variable=prefix mono`; then
56 AC_MSG_ERROR([missing the mono.pc file, usually found in the mono-devel package])
58 AC_MSG_RESULT([found])
61 # check that we have the require version of mono
62 PKG_CHECK_MODULES(MONO, mono >= $MONO_REQUIRED)
64 # SharpZipLib broke API in 1.1.11. Route around the damage.
65 if `$PKG_CONFIG --atleast-version=1.1.11 mono`; then
66 SHARPZIPLIB_LIBS="-r:`$PKG_CONFIG --variable=prefix mono`/lib/mono/compat-1.0/ICSharpCode.SharpZipLib.dll"
68 SHARPZIPLIB_LIBS="-r:ICSharpCode.SharpZipLib"
70 AC_SUBST(SHARPZIPLIB_LIBS)
72 # check for various mono DLLs that we need.
73 needed_dlls="Mono.Data.SqliteClient Mono.Posix System.Runtime.Remoting System.Web System.Web.Services"
74 for i in $needed_dlls; do
75 AC_MSG_CHECKING([for $i.dll])
76 if test ! -e `$PKG_CONFIG --variable=prefix mono`/lib/mono/1.0/$i.dll; then
77 AC_MSG_ERROR([missing required mono DLL: $i.dll])
79 AC_MSG_RESULT([found])
94 AC_MSG_ERROR([Unrecognised target OS: $target])
97 AM_CONDITIONAL(OS_LINUX, test "x$os" = "xlinux")
98 AM_CONDITIONAL(OS_FREEBSD, test "x$os" = "xfreebsd")
100 # check for desktop-launch
102 AC_PATH_PROG(DESKTOP_LAUNCH, desktop-launch, no)
103 AM_CONDITIONAL(ENABLE_DESKTOP_LAUNCH, test "x$DESKTOP_LAUNCH" != "xno")
106 AC_PATH_PROG(WSDL, wsdl)
112 AC_PROG_INTLTOOL([0.23])
113 GETTEXT_PACKAGE=beagle
114 AC_SUBST(GETTEXT_PACKAGE)
115 ALL_LINGUAS="bg ca cs da de el en_CA en_GB es fi fr gl he hu it ja ka ko lt mk nb nl no pa pl pt_BR sv tr uk vi zh_CN zh_HK zh_TW"
117 AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE, "$GETTEXT_PACKAGE", [Name of the package for translations])
119 # Many distros don't have a dependency on sqlite for their
120 # mono-data-sqlite packages, and the mono build process itself
121 # doesn't require it. But we do, so check for it here.
123 PKG_CHECK_MODULES(SQLITE, sqlite, SQLITE_MAJ_VER="2", do_nothing="1")
124 # Note we really need 3.3.1, but the pkgconfig file from upstream only
125 # reports 3.3 for all releases in the 3.3 line.
126 PKG_CHECK_MODULES(SQLITE3, sqlite3 >= 3.3, SQLITE_MAJ_VER="3", do_nothing="1")
128 if test "x$SQLITE_MAJ_VER" = "x0"; then
129 # Note we really need 3.3.1, but the pkgconfig file from upstream only
130 # reports 3.3 for all releases in the 3.3 line. Make sure we error out
131 # with the correct 3.3.1 version requirement, though.
132 AC_MSG_ERROR([You need to install sqlite 2.x or >= 3.3.1])
135 AC_SUBST(SQLITE_MAJ_VER)
139 # Needed by glue/screensaver-glue.c
140 # The OLD_CFLAGS/CFLAGS hack is needed to build on Ubuntu Breezy Badger
142 OLD_LDFLAGS="$LDFLAGS"
144 CFLAGS="$CFLAGS $X_CFLAGS"
145 LDFLAGS="$LDFLAGS $X_LIBS"
146 AC_CHECK_HEADER(X11/extensions/scrnsaver.h, enable_scrnsaver=yes, enable_scrnsaver=no)
147 AC_CHECK_LIB(Xss,XScreenSaverQueryExtension, enable_libxss=yes, enable_libxss=no)
148 AM_CONDITIONAL(HAS_LIBXSS, test "x$enable_scrnsaver$enable_libxss" = "xyesyes")
149 if test "x$enable_scrnsaver$enable_libxss" = "xyesyes"; then
153 LDFLAGS="$OLD_LDFLAGS"
156 dnl -------------------------------------------------------
159 AC_HELP_STRING([--disable-gui], [Disable beagle-search]),
160 enable_gui=$enableval,
163 AM_CONDITIONAL(ENABLE_GUI, test "x$enable_gui" = "xyes")
165 if test "x$enable_gui" = "xyes"; then
167 # We pinvoke into gnome-vfs directly from Util/GnomeFu.cs, and
168 # we get the GNOME prefix from libgnome-2.0
169 PKG_CHECK_MODULES(GNOME_VFS, gnome-vfs-2.0 libgnome-2.0)
171 dnl -------------------------------------------------------
172 dnl Various version requirements
174 PKG_CHECK_MODULES(BEAGLE_UI,
176 gtk-sharp-2.0 >= $GTK_SHARP_REQUIRED
177 gconf-sharp-2.0 >= $GTK_SHARP_REQUIRED
178 glade-sharp-2.0 >= $GTK_SHARP_REQUIRED
179 gnome-sharp-2.0 >= $GTK_SHARP_REQUIRED
180 gnome-vfs-sharp-2.0 >= $GTK_SHARP_REQUIRED
181 gmime-sharp >= $GMIME_SHARP_REQUIRED
183 AC_SUBST(BEAGLE_UI_LIBS)
185 PKG_CHECK_MODULES(UIGLUE, gtk+-2.0 >= $GTK_REQUIRED librsvg-2.0)
186 AC_SUBST(UIGLUE_CFLAGS)
187 AC_SUBST(UIGLUE_LIBS)
189 dnl Gdk and Atk are needed for trayicon glue
191 GDK20_MINIMUM_VERSION=2.2.3
192 ATK_MINIMUM_VERSION=1.2.4
194 PKG_CHECK_MODULES(LIBTRAYICON,
196 gdk-2.0 >= $GDK20_MINIMUM_VERSION
197 atk >= $ATK_MINIMUM_VERSION
199 AC_SUBST(LIBTRAYICON_CFLAGS)
200 AC_SUBST(LIBTRAYICON_LIBS)
204 dnl ----------------------------------------------
206 dnl evolution support
208 AC_ARG_ENABLE([evolution],
209 AC_HELP_STRING([--disable-evolution], [Disable evolution support (default auto)]),
210 enable_evo=$enableval,
211 enable_evo_sharp=auto)
214 EVO_SHARP_PREFIX=`$PKG_CONFIG --variable=prefix evolution-sharp`
216 EVO_LIBDIR=`$PKG_CONFIG --variable=evolibdir evolution-sharp`
219 PKG_CHECK_MODULES(EVO,
220 evolution-sharp >= $EVOLUTION_SHARP_REQUIRED \
221 gconf-sharp-2.0 >= $GTK_SHARP_REQUIRED \
222 gmime-sharp >= $GMIME_SHARP_REQUIRED,
223 have_evo_dependencies=yes, have_evo_dependencies=no)
226 if test "x$have_evo_dependencies" = "xno"; then
228 dnl error out if user has explicitly requested evolution support
229 if test "x$enable_evo" = "xyes"; then
230 AC_MSG_ERROR([Could not find Evolution dependencies])
233 enable_evo="no (missing dependencies)"
237 if test "x$enable_evo" != "xno"; then
240 enable_evo="no (disabled)"
245 AM_CONDITIONAL(ENABLE_EVOLUTION, test "x$enable_evo" = "xyes")
247 dnl ----------------------------------------------
249 dnl Should we use our own copy of the sqlite bindings or the version
250 dnl that got installed along with mono?
252 use_local_sqlite="yes" # hard-wired for now
253 AM_CONDITIONAL(USE_LOCAL_SQLITE, test "x$use_local_sqlite" = "xyes")
255 dnl ----------------------------------------------
259 AC_ARG_ENABLE([inotify],
260 AC_HELP_STRING([--disable-inotify], [Disable inotify filesystem monitoring support (default auto)]),
261 enable_inotify=$enableval,
264 if test "x$os_has_inotify" = "xno"; then
266 dnl error out if user has explicitly requested inotify
267 if test "x$enable_inotify" = "xyes"; then
268 AC_MSG_ERROR([inotify is unavailable on your system architecture])
271 enable_inotify="no (unavailable)"
275 if test "x$enable_inotify" != "xno"; then
278 enable_inotify="no (disabled)"
283 AM_CONDITIONAL(ENABLE_INOTIFY, test "x$enable_inotify" = "xyes")
285 dnl ----------------------------------------------
289 PKG_CHECK_MODULES(GSF_SHARP, gsf-sharp >= 0.5, enable_gsf_sharp=yes, enable_gsf_sharp=no)
290 AM_CONDITIONAL(ENABLE_GSF_SHARP, test "x$enable_gsf_sharp" = "xyes")
292 dnl ----------------------------------------------
294 dnl libexif: Needed to index jpeg metadata
296 LIBEXIF_API_CHANGE=0.6.0
297 LIBEXIF_REQUIRED_MIN=0.5.7
298 LIBEXIF_REQUIRED_MAX=0.7.0
300 PKG_CHECK_MODULES(LIBEXIF, libexif >= $LIBEXIF_REQUIRED_MIN libexif < $LIBEXIF_REQUIRED_MAX)
301 PKG_CHECK_MODULES(LIBEXIF_API_CHECK, libexif >= $LIBEXIF_API_CHANGE, have_old_libexif=no, have_old_libexif=yes)
303 if test "x$have_old_libexif" = "xyes"; then
306 PKG_CHECK_MODULES(LIBEXIF_VERSION_CHECK, libexif >= 0.6.12, EXIF_SOVERSION=12, EXIF_SOVERSION=10)
308 AC_SUBST(EXIF_SOVERSION)
310 PKG_CHECK_MODULES(BEAGLED,
313 gmime-sharp >= $GMIME_SHARP_REQUIRED
314 gtk-sharp-2.0 >= $GTK_SHARP_REQUIRED
316 BEAGLED_LIBS="$BEAGLED_LIBS $GSF_SHARP_LIBS"
317 AC_SUBST(BEAGLED_LIBS)
319 GSF_SHARP_PREFIX=`$PKG_CONFIG --variable=prefix gsf-sharp`
320 GMIME_SHARP_PREFIX=`$PKG_CONFIG --variable=prefix gmime-sharp`
322 dnl ----------------------------------------------
328 AC_ARG_ENABLE([libbeagle],
329 AC_HELP_STRING([--disable-libbeagle], [Disable libbeagle (C API)]),
330 enable_libbeagle=$enableval,
331 enable_libbeagle=auto)
333 dnl library versioning
334 dnl Increase when changing the API
337 dnl Update when changing implementation of current API,
338 dnl reset to 0 when changing CURRENT. This is the revision of
339 dnl current API version
342 dnl Increase of API change is ABI compatible, otherwise reset to 0
345 LIBBEAGLE_VERSION_INFO="$LIBBEAGLE_CURRENT:$LIBBEAGLE_REVISION:$LIBBEAGLE_AGE"
346 AC_SUBST(LIBBEAGLE_VERSION_INFO)
348 PKG_CHECK_MODULES(LIBBEAGLE, [
349 gobject-2.0 >= $LIBBEAGLE_GOBJECT_REQUIRED
350 libxml-2.0 >= $LIBBEAGLE_LIBXML_REQUIRED
351 ], have_libbeagle_deps=yes, have_libbeagle_deps=no)
353 AC_SUBST(LIBBEAGLE_CFLAGS)
354 AC_SUBST(LIBBEAGLE_LIBS)
356 if test "x$have_libbeagle_deps" = "xno"; then
358 if test "x$enable_libbeagle" = "xyes"; then
359 AC_MSG_ERROR([Missing libbeagle dependencies])
362 enable_libbeagle="no (missing dependencies)"
364 if test "x$enable_libbeagle" != "xno"; then
365 enable_libbeagle="yes"
367 enable_libbeagle="no (disabled)"
371 AM_CONDITIONAL(ENABLE_LIBBEAGLE, test "x$enable_libbeagle" = "xyes")
373 dnl ----------------------------------------------
374 AC_ARG_ENABLE([bludgeon],
375 AC_HELP_STRING([--disable-bludgeon], [Disable bludgeon testing tool]),
376 enable_bludgeon=$enableval,
378 AM_CONDITIONAL(ENABLE_BLUDGEON, test "x$enable_bludgeon" = "xyes")
381 dnl ----------------------------------------------
382 dnl Epiphany Extension
383 dnl Much of this is cut&pasted from epiphany-extensions/configure.ac
385 AC_ARG_ENABLE([epiphany-extension],
386 AC_HELP_STRING([--enable-epiphany-extension], [Enable Epiphany Extension (default auto)]),
387 enable_epiphany_extension=$enableval,
388 enable_epiphany_extension=auto)
390 if $PKG_CONFIG --exists epiphany-2.14; then
392 EPIPHANY_REQUIRED=2.14.0
393 elif $PKG_CONFIG --exists epiphany-1.8; then
395 EPIPHANY_REQUIRED=1.7.0
396 elif $PKG_CONFIG --exists epiphany-1.6; then
398 EPIPHANY_REQUIRED=1.6.0
400 enable_epiphany_extension="no (Epiphany not installed)"
403 if test "x$enable_epiphany_extension" = "xyes"; then
405 LIBXML_REQUIRED=2.6.0
406 LIBGLIB_REQUIRED=2.4.0
407 LIBGTK_REQUIRED=2.4.0
409 AC_SUBST(EPIPHANY_REQUIRED)
410 AC_SUBST(LIBXML_REQUIRED)
411 AC_SUBST(LIBGLIB_REQUIRED)
412 AC_SUBST(LIBGTK_REQUIRED)
414 PKG_CHECK_MODULES(EPIPHANY_DEPENDENCY,
415 libxml-2.0 >= $LIBXML_REQUIRED \
417 glib-2.0 >= $LIBGLIB_REQUIRED \
419 gtk+-2.0 >= $LIBGTK_REQUIRED \
420 epiphany-$EPIPHANY_MAJOR >= $EPIPHANY_REQUIRED,
421 have_epiphany_dependencies=yes,
422 have_epiphany_dependencies=no)
423 AC_SUBST(EPIPHANY_DEPENDENCY_CFLAGS)
424 AC_SUBST(EPIPHANY_DEPENDENCY_LIBS)
426 EPIPHANY_EXTENSIONS_DIR="`$PKG_CONFIG --variable=extensionsdir epiphany-$EPIPHANY_MAJOR`"
427 AC_SUBST([EPIPHANY_EXTENSIONS_DIR])
428 EPIPHANY_PREFIX="`$PKG_CONFIG --variable=prefix epiphany-$EPIPHANY_MAJOR`"
429 AC_SUBST(EPIPHANY_PREFIX)
431 if test "x$have_epiphany_dependencies" = "xno"; then
432 enable_epiphany_extension="no (missing dependencies)"
433 elif test "x$enable_epiphany_extension" != "xyes"; then
434 enable_epiphany_extension="disabled"
439 AM_CONDITIONAL(ENABLE_EPIPHANY_EXTENSION, test "x$enable_epiphany_extension" = "xyes")
441 AC_ARG_ENABLE([epiphany-extension-install],
442 AS_HELP_STRING([--enable-epiphany-extension-install],[Install Epiphany Extension]),
443 [install_epiphany_extension=$enableval],
444 [install_epiphany_extension=yes])
446 AM_CONDITIONAL([INSTALL_EPIPHANY_EXTENSION], [test "x$install_epiphany_extension" = "xyes"])
448 dnl ----------------------------------------------
452 PKG_CHECK_MODULES(GALAGO, galago-sharp, enable_galago=yes, enable_galago=no)
453 AM_CONDITIONAL(ENABLE_GALAGO, test "x$enable_galago" = "xyes")
454 AC_SUBST(GALAGO_LIBS)
457 dnl ----------------------------------------------
459 GTK_BINARY_VERSION=`$PKG_CONFIG --variable=gtk_binary_version gtk+-2.0`
460 AC_SUBST(GTK_BINARY_VERSION)
462 dnl For the systeminfo glue
464 PKG_CHECK_MODULES(SYSTEMINFO_GLUE, gdk-2.0)
465 SYSTEMINFO_GLUE_X_LIBS="$X_PRE_LIBS $X_LIBS -lX11 $XSS_LIBS $X_EXTRA_LIBS"
466 AC_SUBST(SYSTEMINFO_GLUE_X_LIBS)
468 dnl ----------------------------------------------
472 PKG_CHECK_MODULES(WV1, wv-1.0, enable_wv1=yes, enable_wv1=no)
473 AM_CONDITIONAL(ENABLE_WV1, test "x$enable_wv1" = "xyes")
476 dnl ----------------------------------------------
478 dnl KDE launcher/icon support
480 kde_prefix_print="unknown; will guess at runtime"
481 AC_PATH_PROG(KDE_CONFIG, [kde-config], [no])
482 if test ! "x$KDE_CONFIG" = "xno"; then
483 KDE_PREFIX=`$KDE_CONFIG --prefix`
484 kde_prefix_print="$KDE_PREFIX"
488 dnl ----------------------------------------------
490 dnl Beagle webservices
492 dnl AC_ARG_ENABLE([webservices],
493 dnl AC_HELP_STRING([--enable-webservices], [Enable WebServices (default disabled)]),
494 dnl enable_webservices=$enableval,
495 dnl enable_webservices=no)
497 enable_webservices=no
498 AM_CONDITIONAL(ENABLE_WEBSERVICES, test "x$enable_webservices" = "xyes")
500 dnl ----------------------------------------------
502 dnl Prefixes for helper scripts
503 GAC_PREFIX="$EVO_SHARP_PREFIX:$GSF_SHARP_PREFIX:$GMIME_SHARP_PREFIX"
504 dnl Remove duplicate prefixes
505 GAC_PREFIX="`echo $GAC_PREFIX | sed -e 's|:|\n|g' | sort | uniq | tr '\n' ':'`"
507 GAC_PREFIX="`echo $GAC_PREFIX | sed -e 's|::\+|:|g' -e 's|^:\+||' -e 's|:\+$||'`"
510 GNOME_PREFIX="`$PKG_CONFIG --variable=prefix libgnome-2.0`"
511 AC_SUBST(GNOME_PREFIX)
513 dnl ----------------------------------------------
515 dnl Check if the system has libchm, used by the CHMFilter
517 # FIXME: Disabled since its broken
518 #AC_CHECK_LIB(chm,chm_open,has_libchm=yes,has_libchm=no)
520 AM_CONDITIONAL(HAS_LIBCHM, test "x$has_libchm" = "xyes")
522 dnl ----------------------------------------------
524 dnl Conditional for debugging XML messages.
528 AC_ARG_ENABLE([xml-dump],
529 AC_HELP_STRING([--enable-xml-dump], [Enables printing of the XML messages sent between components (default no)]),
530 enable_xml_dump=$enableval,
533 if test "x$enable_xml_dump" = "xyes"; then
534 AC_DEFINE_UNQUOTED(ENABLE_XML_DUMP, 1, [Dump XML messages for debugging])
535 BEAGLE_DEFINES="-define:ENABLE_XML_DUMP"
538 AC_SUBST(BEAGLE_DEFINES)
540 dnl ----------------------------------------------
544 AC_ARG_ENABLE(python,
545 AC_HELP_STRING([--disable-python], [Disable python support (default auto)]),
546 enable_python=$enableval,
550 if test "x$enable_libbeagle" = "xyes" -a "x$enable_python" != "xno"; then
551 have_python_version=no
552 have_python_headers=no
554 have_pygtk_codegen=no
558 if test -z "$PYTHON"; then
559 AC_MSG_WARN([Python not found])
561 AM_PYTHON_CHECK_VERSION($PYTHON, $PYTHON_REQUIRED,
562 have_python_version=yes,
563 have_python_version=no)
566 if test "x$have_python_version" != "xyes"; then
567 AC_MSG_WARN([Python version $PYTHON_REQUIRED not found])
569 AM_CHECK_PYTHON_HEADERS(have_python_headers=yes, have_python_headers=no)
572 if test "x$have_python_headers" != "xyes"; then
573 AC_MSG_WARN([could not find Python headers])
575 PKG_CHECK_MODULES(PYBEAGLE,
576 pygtk-2.0 >= $PYGTK_REQUIRED
577 pygobject-2.0 >= $PYGTK_REQUIRED,
582 if test "x$have_pygtk_deps" != "xyes"; then
583 AC_MSG_WARN([could not find pygtk])
585 AC_PATH_PROG(PYGTK_CODEGEN, pygtk-codegen-2.0, no)
588 if test -z "$PYGTK_CODEGEN"; then
589 AC_MSG_WARN([could not find pygtk-codegen in path])
591 AC_MSG_CHECKING(for pygtk defs)
592 PYGTK_DEFSDIR=`$PKG_CONFIG --variable=defsdir pygtk-2.0`
593 AC_MSG_RESULT($PYGTK_DEFSDIR)
599 if test "x$enable_python" = "xyes"; then
600 if test "x$enable_libbeagle" != "xyes"; then
601 AC_MSG_ERROR([Python bindings are requested, but libbeagle isn't to be built])
602 elif test "x$have_python" = "xno"; then
603 AC_MSG_ERROR([Python bindings are requested, but cannot be built])
607 AM_CONDITIONAL(ENABLE_PYTHON, test "x$have_python" = "xyes")
608 AC_SUBST(PYBEAGLE_LIBS)
609 AC_SUBST(PYBEAGLE_CFLAGS)
610 AC_SUBST(PYGTK_DEFSDIR)
612 dnl ----------------------------------------------
620 BeagleClient/Makefile
627 libbeagle/libbeagle-0.0.pc
628 libbeagle/beagle/Makefile
629 libbeagle/examples/Makefile
630 libbeagle/docs/Makefile
631 libbeagle/docs/reference/Makefile
632 epiphany-extension/Makefile
633 mozilla-extension/Makefile
636 wrappers/python/Makefile
644 Beagle Version: ${VERSION}
646 inotify? ${enable_inotify}
649 GNOME Prefix: ${GNOME_PREFIX}
650 KDE Prefix: ${kde_prefix_print}
652 Evolution support? ${enable_evo}
653 gsf-sharp? ${enable_gsf_sharp}
655 galago-sharp? ${enable_galago}
656 libchm? ${has_libchm} (Currently broken)
658 Mozilla Extension? yes
659 Epiphany Extension? ${enable_epiphany_extension}
661 Local SqliteClient? ${use_local_sqlite}
662 Sqlite version: ${SQLITE_MAJ_VER}.x
664 Enable WebServices no (WebServices are deprecated)
665 Enable libbeagle ${enable_libbeagle}
666 Enable python bindings ${have_python}
668 Enable beagle-search GUI ${enable_gui}
672 if test "x$enable_epiphany_extension" = "xyes"; then
673 echo "NOTE: The Beagle Epiphany Extension Is Totally Insecure!"
674 echo " Use it at your own risk!"