symbol-db: better handling of old db versions numbers.
[anjuta.git] / configure.in
blob4a6b79f881c7767d3f2d479bca8b505744e25774
1 dnl Process this file with autoconf to produce a configure script.
3 AC_PREREQ(2.59)
5 m4_define(anjuta_major_version,  2)
6 m4_define(anjuta_minor_version, 31)
7 m4_define(anjuta_micro_version,  2)
8 m4_define(anjuta_nano_version, 0)
9 m4_define(anjuta_version, anjuta_major_version.anjuta_minor_version.anjuta_micro_version.anjuta_nano_version)
11 AC_INIT(anjuta, anjuta_version, http://bugzilla.gnome.org/enter_bug.cgi?product=anjuta)
12 m4_ifdef([AM_SILENT_RULES],[AM_SILENT_RULES([yes])])
13 AC_CONFIG_SRCDIR(src/main.c)
15 AC_DEFINE(ANJUTA_MAJOR_VERSION, anjuta_major_version, [Anjuta major version])
16 AC_SUBST(ANJUTA_MAJOR_VERSION, anjuta_major_version)
17 AC_DEFINE(ANJUTA_MINOR_VERSION, anjuta_minor_version, [Anjuta minor version])
18 AC_SUBST(ANJUTA_MINOR_VERSION, anjuta_minor_version)
19 AC_DEFINE(ANJUTA_MICRO_VERSION, anjuta_micro_version, [Anjuta micro version])
20 AC_SUBST(ANJUTA_MICRO_VERSION, anjuta_micro_version)
21 AC_DEFINE(ANJUTA_VERSION, anjuta_version, [Anjuta version])
22 AC_SUBST(ANJUTA_VERSION)
24 ANJUTA_VERSION=anjuta_version
25 AC_SUBST(ANJUTA_VERSION)
27 GLIB_REQUIRED=2.18.0
28 GDK_PIXBUF_REQUIRED=2.0.0
29 GTK_REQUIRED=2.17.10
30 PANGO_REQUIRED=0.23
31 GCONF_REQUIRED=2.12.0
32 VTE_REQUIRED=0.9.0
33 VTE_NEW_REQUIRED=0.13.1
34 LIBXML_REQUIRED=2.4.23
35 LIBDEVHELP_REQUIRED=0.22
36 GDL_REQUIRED=2.27.1
37 GLADEUI_REQUIRED=3.7.1
38 NEON_REQUIRED=0.28.2
39 SVN_MAJOR=1
40 SVN_MINOR=5
41 SVN_PATCH=0
42 SUBVERSION_REQUIRED=$SVN_MAJOR.$SVN_MINOR.$SVN_PATCH
43 GTKSOURCEVIEW_REQUIRED=2.9.7
44 LIBWNCK_REQUIRED=2.12
45 GDA_REQUIRED=4.0.0
46 UNIQUE_REQUIRED=1.0.0
47 VALA_REQUIRED=0.7.8
48 LIBGRAPHVIZ_REQUIRED=1.0
50 AC_SUBST(GLIB_REQUIRED)
51 AC_SUBST(GDK_PIXBUF_REQUIRED)
52 AC_SUBST(GTK_REQUIRED)
53 AC_SUBST(PANGO_REQUIRED)
54 AC_SUBST(VTE_REQUIRED)
55 AC_SUBST(LIBXML_REQUIRED)
56 AC_SUBST(PANGO_REQUIRED)
57 AC_SUBST(VTE_NEW_REQUIRED)
58 AC_SUBST(LIBDEVHELP_REQUIRED)
59 AC_SUBST(GDL_REQUIRED)
60 AC_SUBST(GLADEUI_REQUIRED)
61 AC_SUBST(NEON_REQUIRED)
62 AC_SUBST(SUBVERSION_REQUIRED)
63 AC_SUBST(GTKSOURCEVIEW_REQUIRED)
64 AC_SUBST(LIBWNCK_REQUIRED)
65 AC_SUBST(GDA_REQUIRED)
66 AC_SUBST(UNIQUE_REQUIRED)
67 AC_SUBST(LIBGRAPHVIZ_REQUIRED)
69 AM_INIT_AUTOMAKE([1.9 dist-bzip2 no-dist-gzip])
70 AC_CONFIG_HEADERS(config.h)
71 AC_DISABLE_STATIC
72 AM_MAINTAINER_MODE
73 GNOME_DOC_INIT
75 #Check for C Compiler
76 AC_PROG_CC
77 AC_PROG_CPP
78 AC_LANG_C
79 AC_PROG_CXX
80 AM_PROG_CC_C_O
82 GNOME_COMPILE_WARNINGS(maximum)
83 AM_CFLAGS="$AM_CFLAGS $WARN_CFLAGS"
84 AM_CXXFLAGS="$AM_CXXFLAGS $WARN_CXXFLAGS"
86 dnl Enable debugging mode
87 AC_ARG_ENABLE(debug,
88   AC_HELP_STRING([--enable-debug],[Enable debug messages]),
89   AM_CFLAGS="$AM_CFLAGS -DDEBUG"
90   AM_CXXFLAGS="$AM_CXXFLAGS -DDEBUG")
91 AC_SUBST(AM_CFLAGS)
92 AC_SUBST(AM_CXXFLAGS)
94 ANJUTA_LDFLAGS="-no-undefined"
95 ANJUTA_PLUGIN_LDFLAGS="-module -avoid-version -no-undefined"
96 AC_SUBST(ANJUTA_LDFLAGS)
97 AC_SUBST(ANJUTA_PLUGIN_LDFLAGS)
99 dnl Disable deprecated APIs
100 dnl if test x$MAINT = x; then
101 dnl     DEPRECATED_FLAGS="-DGDK_DISABLE_DEPRECATED -DGTK_DISABLE_DEPRECATED"
102 dnl     AC_SUBST(DEPRECATED_FLAGS)
103 dnl fi
105 dnl Enable versioned user preferences directory
106 AC_ARG_WITH(pref-suffix,
107   AC_HELP_STRING([--with-pref-suffix=VALUE],[Suffix to add to user preferences dir.]),
108   PREF_SUFFIX="$withval")
110 AC_SUBST(PREF_SUFFIX)
111 AC_DEFINE_UNQUOTED(PREF_SUFFIX,
112       "${PREF_SUFFIX}",
113           [Suffix to add to preferences directory])
115 AC_ISC_POSIX
116 AC_HEADER_STDC
117 AM_DISABLE_STATIC
118 AM_PROG_LIBTOOL
120 AC_TYPE_SIGNAL
122 dnl ***************************************************************************
123 dnl Check for GConf stuff to handle schema installation
124 dnl ***************************************************************************
125 AC_PATH_PROG(GCONFTOOL, gconftool-2)
126 AM_GCONF_SOURCE_2
128 dnl ***************************************************************************
129 dnl Set gjsdir && girdir
130 dnl ***************************************************************************
131 girdir=`pkg-config --variable=girdir gobject-introspection-1.0`
132 gjsdir=`pkg-config --variable=jsdir gjs-1.0`
133 AC_SUBST(girdir)
134 AC_SUBST(gjsdir)
136 dnl ***************************************************************************
137 dnl Check for pkgconfig
138 dnl ***************************************************************************
139 AC_PATH_PROG(PKG_CONFIG, pkg-config,no)
140 if test x$PKG_CONFIG = xno; then
141   AC_MSG_ERROR(Please install the pkg-config package from http://www.freedesktop.org/software/pkgconfig/)
144 dnl pkg checks are split into separate packages instead of single package
145 dnl because different plugins have different requirements.
147 PKG_CHECK_MODULES(GLIB, glib-2.0 >= $GLIB_REQUIRED gobject-2.0 >= $GLIB_REQUIRED gmodule-2.0 >= $GLIB_REQUIRED gthread-2.0 >= $GLIB_REQUIRED gio-2.0 >= $GLIB_REQUIRED unique-1.0 >= $UNIQUE_REQUIRED)
149 PKG_CHECK_MODULES([DBUS_GLIB], [dbus-glib-1])
151 PKG_CHECK_MODULES(GTK, gtk+-2.0 >= $GTK_REQUIRED)
153 PKG_CHECK_MODULES(PANGO, pango >= $PANGO_REQUIRED)
155 PKG_CHECK_MODULES(GDK_PIXBUF, gdk-pixbuf-2.0 >= $GDK_PIXBUF_REQUIRED)
157 PKG_CHECK_MODULES(GCONF, gconf-2.0 >= $GCONF_REQUIRED)
159 PKG_CHECK_MODULES(VTE, vte >= $VTE_REQUIRED)
161 PKG_CHECK_MODULES(LIBXML, libxml-2.0 >= $LIBXML_REQUIRED)
163 PKG_CHECK_MODULES(GDL, gdl-1.0 >= $GDL_REQUIRED)
165 PKG_CHECK_MODULES(LIBXSLT, libxslt)
167 dnl Check for autogen
168 dnl -----------------
169 AC_PATH_PROG(AUTOGEN_PATH, autogen,no)
170 if test x$AUTOGEN_PATH = xno; then
171    AC_MSG_ERROR([Couldn't find autogen, please install the autogen package. You can get it from http://autogen.sourceforge.net/])
174 dnl Check for perl required by gbf-am/mkfile
175 dnl ----------------------------------------
176 # Automake backend requirements
177 # Also needed by Makefile backend
178 AC_PATH_PROG(PERL, perl)
179 if test -z "$PERL"; then
180    AC_MSG_ERROR([perl not found])
182 $PERL -e 'require 5.005;' || {
183    AC_MSG_ERROR([perl 5.005 or better is required])
186 # Check for perl Locale::gettext module
187 if test "x$PERL" != x; then
188         AC_MSG_CHECKING(for perl module Locale::gettext)
189         $PERL "-MLocale::gettext" -e exit > /dev/null 2>&1
190         if test $? -ne 0; then
191                 AC_MSG_ERROR([not found, you should installed perl-gettext package for your distribution]);
192         else
193         AC_MSG_RESULT(ok);
194         fi
197 dnl Check for Devhelp
198 dnl -----------------
200 AC_ARG_ENABLE(plugin-devhelp,
201   AC_HELP_STRING([--disable-plugin-devhelp],[Disable devhelp plugin support in Anjuta.]),
202   [ if test "$enableval" = "no"; then
203        user_disabled_devhelp=1
204     fi ],
205   [ user_disabled_devhelp=0 ] )
207 AC_MSG_CHECKING(if devhelp plugin is disabled)
208 if test "$user_disabled_devhelp" = 1; then
209         AC_MSG_RESULT(yes)
210         devhelp_enabled="no"
211 else
212         AC_MSG_RESULT(no)
213         PKG_CHECK_MODULES(PLUGIN_DEVHELP, 
214                                 [libdevhelp-1.0 >= $LIBDEVHELP_REQUIRED webkit-1.0],
215                                 [
216                                     devhelp_enabled=yes
217                                 ], [
218                                     devhelp_enabled=no
219                                 ])
222 AM_CONDITIONAL(HAVE_PLUGIN_DEVHELP, [test x$devhelp_enabled = xyes])
224 dnl Check for Glade3
225 dnl ---------------------
227 AC_ARG_ENABLE(plugin-glade,
228   AC_HELP_STRING([--disable-plugin-glade],[Disable glade plugin support in Anjuta.]),
229   [ if test "$enableval" = "no"; then
230        user_disabled_glade=1
231     fi ],
232   [ user_disabled_glade=0 ] )
234 AC_MSG_CHECKING(if glade plugin is disabled)
235 if test "$user_disabled_glade" = 1; then
236         AC_MSG_RESULT(yes)
237         gladeui_found="no"
238 else
239         AC_MSG_RESULT(no)
240         gladeui_version=0
241         PKG_CHECK_MODULES(PLUGIN_GLADE, gladeui-1.0 >= $GLADEUI_REQUIRED,
242             [
243                 gladeui_found=yes
244             ], [
245                 gladeui_found=no
246             ])
249 AM_CONDITIONAL(HAVE_PLUGIN_GLADE, [test x$gladeui_found = xyes])
251 dnl Check for gtksourceview
252 dnl -------------------------------------------------------------
254 AC_ARG_ENABLE(plugin-sourceview,
255         AC_HELP_STRING([--disable-plugin-sourceview],[Disable gtksourceview based editor in Anjuta]), 
256         [ if test "$enableval" = "no"; then
257                 user_disabled_sourceview=1
258           fi ],
259         [ user_disabled_sourceview=0 ])
261 AC_MSG_CHECKING(if sourceview plugin is disabled)
262 if test "$user_disabled_sourceview" = 1; then
263         AC_MSG_RESULT(yes)
264         sourceview="no"
265 else
266         AC_MSG_RESULT(no)
267         
268         PKG_CHECK_MODULES(PLUGIN_SOURCEVIEW,
269                 [gtksourceview-2.0 >= $GTKSOURCEVIEW_REQUIRED],
270                 [sourceview="yes"],
271                 [sourceview="no"])
274 AM_CONDITIONAL(HAVE_PLUGIN_SOURCEVIEW, [test x$sourceview = xyes])
276 dnl Check for vala
277 dnl -------------------------------------------------------------
279 PKG_CHECK_MODULES(VALA,
280         [vala-1.0 >= $VALA_REQUIRED],
281         [enable_vala="yes"],
282         [enable_vala="no"])
284 if test x$enable_vala = xyes; then
285         AC_PATH_PROG(VALAC, valac, valac)
286         AC_SUBST(VALAC)
289 AM_CONDITIONAL(ENABLE_VALA, [test x$enable_vala = xyes])
291 PKG_CHECK_MODULES(PLUGIN_SYMBOL_DB,
292                 [libgda-4.0 >= $GDA_REQUIRED])
294 dnl Setup Anjuta Library flags
295 dnl --------------------------
296 LIBANJUTA_CFLAGS='$(GLIB_CFLAGS) $(GTK_CFLAGS) $(GCONF_CFLAGS) $(GDL_CFLAGS) $(DEPRECATED_FLAGS) -I$(top_srcdir) -I$(top_builddir)/libanjuta -DPACKAGE_PIXMAPS_DIR=\""$(datadir)/pixmaps/$(PACKAGE)"\" -DPACKAGE_LIB_DIR=\""$(pkglibdir)"\" -DPACKAGE_DATA_DIR=\""$(datadir)/$(PACKAGE)"\"'
297 LIBANJUTA_LIBS='$(top_builddir)/libanjuta/libanjuta.la'
298 AC_SUBST(LIBANJUTA_CFLAGS)
299 AC_SUBST(LIBANJUTA_LIBS)
301 dnl Setup FooCanvas Library flags
302 dnl --------------------------
303 LIBFOOCANVAS_CFLAGS='-I$(top_srcdir)'
304 LIBFOOCANVAS_LIBS='$(top_builddir)/libfoocanvas/libanjuta-foocanvas.la'
305 AC_SUBST(LIBFOOCANVAS_CFLAGS)
306 AC_SUBST(LIBFOOCANVAS_LIBS)
308 dnl Checks for Xft/XRender for foocanvas
310 AC_CHECK_LIB(Xrender, XRenderFindFormat, 
311         [AC_SUBST(RENDER_LIBS, "-lXrender -lXext")
312          AC_DEFINE(HAVE_RENDER, 1, [Define if libXrender is available.])],
313         [AC_SUBST(RENDER_LIBS, "")],
314         [-lXext])
316 dnl Setup Plugin directories
317 dnl ------------------------
318 anjuta_plugin_dir='$(libdir)/anjuta'
319 anjuta_data_dir='$(datadir)/anjuta'
320 anjuta_ui_dir='$(datadir)/anjuta/ui'
321 anjuta_glade_dir='$(datadir)/anjuta/glade'
322 anjuta_image_dir='$(datadir)/pixmaps/anjuta'
323 AC_SUBST(anjuta_plugin_dir)
324 AC_SUBST(anjuta_data_dir)
325 AC_SUBST(anjuta_ui_dir)
326 AC_SUBST(anjuta_glade_dir)
327 AC_SUBST(anjuta_image_dir)
329 dnl ***************************************************************************
330 dnl Check for old vte version
331 dnl ***************************************************************************
332 PKG_CHECK_MODULES(VTE, vte >= $VTE_NEW_REQUIRED, OLD_VTE=0, OLD_VTE=1)
333 AC_SUBST(OLD_VTE)
334 AC_DEFINE_UNQUOTED(OLD_VTE, $OLD_VTE, [Old version of vte])
336 dnl ***************************************************************************
337 dnl Check for marshal and enum generators
338 dnl ***************************************************************************
339 GLIB_GENMARSHAL="`$PKG_CONFIG --variable=glib_genmarshal glib-2.0`"
340 AC_SUBST(GLIB_GENMARSHAL)
341 GLIB_MKENUMS="`$PKG_CONFIG --variable=glib_mkenums glib-2.0`"
342 AC_SUBST(GLIB_MKENUMS)
344 dnl Set up Glade 3 catlog information
345 dnl ---------------------
346 GLADE_PLUGINS_PATH="`$PKG_CONFIG --variable=moduledir gladeui-1.0`"
347 AC_SUBST(GLADE_PLUGINS_PATH)
348 GLADE_CATALOG_PATH="`$PKG_CONFIG --variable=catalogdir gladeui-1.0`"
349 AC_SUBST(GLADE_CATALOG_PATH)
351 dnl ***************************************************************************
352 dnl Internatinalization
353 dnl ***************************************************************************
354 GETTEXT_PACKAGE=anjuta
355 AC_SUBST(GETTEXT_PACKAGE)
356 AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE,"$GETTEXT_PACKAGE", [GETTEXT package name])
357 AM_GLIB_GNU_GETTEXT
358 IT_PROG_INTLTOOL([0.40.1])
360 dnl ***************************************************************************
361 dnl Check for gtk-doc.
362 dnl ***************************************************************************
363 GTK_DOC_CHECK([1.4])
365 dnl Define convenience macros
366 dnl -------------------------
367 dnl CHECK_HEADER_DEFINE(LABEL, HEADER [,ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND ] ])
368 AC_DEFUN([CHECK_HEADER_DEFINE],
370         AC_MSG_CHECKING("if $1 is defined in $2")
371         AC_EGREP_CPP(yes,
372 [#include <$2>
373 #ifdef $1
374   yes
375 #endif
376 ], [
377         AC_MSG_RESULT(yes)
378         $3
379 ], [
380         AC_MSG_RESULT(no)
381         $4
382 ]) ])
384 dnl Checks for header files.
385 AC_CHECK_HEADERS(dirent.h fcntl.h fnmatch.h stat.h stdlib.h string.h stdint.h)
386 AC_CHECK_HEADERS(time.h types.h unistd.h)
387 AC_CHECK_HEADERS(sys/dir.h sys/stat.h sys/times.h sys/types.h)
389 dnl Checks for typedefs, structures, and compiler characteristics.
391 dnl Disable cygwin check until someone fixes that stupid autoconf warnings.
392 dnl AC_CYGWIN
393 dnl AC_MINGW
395 AC_C_CONST
396 AC_OBJEXT
397 AC_EXEEXT
399 AC_TYPE_SIZE_T
400 AC_TYPE_OFF_T
402 AC_MSG_CHECKING("for fpos_t")
403 AC_EGREP_HEADER(fpos_t, stdio.h, AC_MSG_RESULT(yes),
405     AC_MSG_RESULT(no)
406     AC_DEFINE(fpos_t, long, [fpos_t is type long])
409 AC_MSG_CHECKING("for clock_t")
410 AC_EGREP_HEADER(clock_t, time.h, AC_MSG_RESULT(yes),
412     AC_MSG_RESULT(no)
413     AC_DEFINE(clock_t, long, [clock_t is type long])
416 CHECK_HEADER_DEFINE(L_tmpnam, stdio.h,, AC_DEFINE(L_tmpnam, 20, [L_tmpname is 20]))
418 CHECK_HEADER_DEFINE(INT_MAX, limits.h,,
419     CHECK_HEADER_DEFINE(MAXINT, limits.h,
420         AC_DEFINE(INT_MAX, MAXINT, [Maximum int size]), AC_DEFINE(INT_MAX, 32767, [Maximum int size])))
422 AC_MSG_CHECKING(if struct stat contains st_ino)
423 AC_TRY_COMPILE([#include <sys/stat.h>], [
424     struct stat st;
425     stat(".", &st);
426     if (st.st_ino > 0)
427         exit(0);
428 ], have_st_ino=yes, have_st_ino=no)
429 AC_MSG_RESULT($have_st_ino)
430 if test yes = "$have_st_ino"; then
431     AC_DEFINE(HAVE_STAT_ST_INO,,[Have stat st_ino])
435 dnl Check for bind in libsocket (needed on Solaris)
436 AC_CHECK_LIB(socket, bind)
438 dnl Check for function forkpty and related headers
439 AC_SEARCH_LIBS(forkpty, util, , AC_DEFINE(EMULATE_FORKPTY, [], [Need  to implement our own forkpty()]))
440 AC_CHECK_HEADERS(libutil.h util.h pty.h)
442 dnl Checks for library functions.
443 AC_CHECK_FUNCS(fnmatch)
444 AC_CHECK_FUNCS(strstr)
445 AC_CHECK_FUNCS(stricmp)
446 AC_CHECK_FUNCS(strnicmp)
447 AC_CHECK_FUNCS(getline)
449 dnl for libegg/egg-recent-model.c
450 AC_CHECK_DECLS([lockf])
451 AC_CHECK_FUNCS([lockf])
453 AC_CHECK_FUNCS(fgetpos, have_fgetpos=yes)
455 dnl SEEK_SET should be in stdio.h, but may be in unistd.h on SunOS 4.1.x
456 if test "$have_fgetpos" != yes ; then
457     CHECK_HEADER_DEFINE(SEEK_SET, stdio.h,,
458         CHECK_HEADER_DEFINE(SEEK_SET, unistd.h,,
459             AC_DEFINE(SEEK_SET, 0, [Seek set 0])))
462 AC_CHECK_FUNCS(mkstemp, have_mkstemp=yes)
463 if test "$have_mkstemp" != yes ; then
464     AC_CHECK_FUNCS(chmod)
465     if test "$tmpdir_specified" = yes ; then
466         AC_MSG_RESULT(use of tmpnam overrides temporary directory selection)
467     fi
468 else
469     AC_MSG_CHECKING(directory to use for temporary files)
470     if test -z "$enable_tmpdir" -o "$enable_tmpdir" = no -o "$enable_tmpdir" = yes ;
471         then tmpdir=/tmp
472         else tmpdir="$enable_tmpdir"
473     fi
474     if test -d $tmpdir ; then
475         AC_MSG_RESULT($tmpdir)
476         AC_DEFINE_UNQUOTED(TMPDIR, "$tmpdir", [Directory for temporary files])
477     else
478         AC_MSG_WARN($tmpdir does not exist)
479     fi
482 AC_CHECK_FUNCS(strerror opendir)
483 AC_CHECK_FUNCS(clock times, break)
484 AC_CHECK_FUNCS(remove, have_remove=yes,
485     CHECK_HEADER_DEFINE(remove, unistd.h,, AC_DEFINE(remove, unlink, [Remove is unlink])))
487 AC_CHECK_FUNCS(truncate, have_truncate=yes)
488 dnl === Cannot nest AC_CHECK_FUNCS() calls
489 if test "$have_truncate" != yes  ; then
490     AC_CHECK_FUNCS(ftruncate, have_ftruncate=yes)
491     if test "$have_ftruncate" != yes ; then
492         AC_CHECK_FUNCS(chsize)
493     fi
496 AC_CHECK_FUNCS(setenv, have_setenv=yes)
497 dnl === Cannot nest AC_CHECK_FUNCS() calls
498 if test "$have_setenv" != yes ; then
499     AC_CHECK_FUNCS(putenv, have_putenv=yes)
500     if test "$have_putenv" = yes ; then
501         AC_EGREP_HEADER(putenv, stdlib.h, have_putenv_prototype=yes)
502         if test "$have_putenv_prototype" = yes ; then
503             AC_MSG_CHECKING("putenv prototype")
504             AC_EGREP_HEADER([[^A-Za-zo-9_]putenv[   ]*\(.*const.*\)[    ]*;],
505                 stdlib.h, AC_MSG_RESULT(correct),
506                 [
507                     AC_MSG_RESULT(no const)
508                     AC_DEFINE(NON_CONST_PUTENV_PROTOTYPE,,[putenv has non constant prototype])
509                 ])
510         fi
511     fi
515 dnl if test yes = "$CYGWIN"; then with_posix_regex=no; fi
516 if test no != "$with_posix_regex"; then
517     AC_CHECK_FUNCS(regcomp)
518     AC_MSG_CHECKING(if regcomp works)
519     AC_TRY_RUN([
520 #include <sys/types.h>
521 #include <regex.h>
522 main() {
523     regex_t patbuf;
524     exit (regcomp (&patbuf, "/hello/", 0) != 0);
525 }],regcomp_works=yes,regcomp_works=no,AC_DEFINE(CHECK_REGCOMP,,[Check regcomp]))
526     AC_MSG_RESULT($regcomp_works)
527     if test yes != "$regcomp_works"; then
528         AC_DEFINE(REGCOMP_BROKEN,,[Regcomp is broken])
529     fi
532 dnl -----------------------------
533 dnl Checks for FreeBSD Build
534 dnl -----------------------------
535 AC_MSG_CHECKING(if building on FreeBSD)
537 if test `uname -s` = "FreeBSD" ; then
538         AC_MSG_RESULT(yes)
539         FREEBSD_BUILD=-DFREEBSD
540         AC_SUBST(FREEBSD_BUILD)
541         AC_PATH_PROG(GMAKE, gmake, no)
542         if test "x$GMAKE" = "xno"; then
543                 AC_ERROR(You need gmake installed to build Anjuta!)
544         fi
545 else
546         AC_MSG_RESULT(no)
547         GMAKE="make"
550 AC_SUBST(GMAKE)
552 dnl Checks for missing prototypes
553 dnl -----------------------------
554 AC_CHECKING("for missing prototypes")
556 AC_DEFUN([CHECK_PROTO], [AC_EGREP_HEADER([[^A-Za-z0-9_]$1([   ]+[A-Za-z0-9_]*)?\(], $2,, AC_DEFINE(patsubst([NEED_PROTO_NAME], [NAME], translit($1, [a-z], [A-Z])),,[Do not know]) AC_MSG_RESULT(adding prototype for $1))])
558 if test "$have_remove" = yes ; then
559     CHECK_PROTO(remove, stdio.h)
560 else
561     CHECK_PROTO(unlink, unistd.h)
563 CHECK_PROTO(malloc, stdlib.h)
564 CHECK_PROTO(getenv, stdlib.h)
565 CHECK_PROTO(stat,   sys/stat.h)
566 CHECK_PROTO(lstat,  sys/stat.h)
567 if test "$have_fgetpos" = yes ; then
568     CHECK_PROTO(fgetpos, stdio.h)
570 if test "$have_truncate" = yes ; then
571     CHECK_PROTO(truncate, unistd.h)
573 if test "$have_ftruncate" = yes ; then
574     CHECK_PROTO(ftruncate, unistd.h)
577 dnl  **********************************************************
578 dnl  check if we have svn libraries to build subversion plugin
579 dnl  (stolen from kdevelop ;-)
580 dnl  **********************************************************
582 AC_MSG_CHECKING(for Subversion svn-config)
583 AC_ARG_WITH(subversion-dir,
584                 AC_HELP_STRING([--with-subversion-dir=DIR],[Where Subversion is installed ]),
585                 [
586                                 SVNCONFIG="$withval/bin/svn-config"
587                 ])
589 if test -z "$SVNCONFIG"; then
590                 _SVNCONFIG="`svn-config --prefix 2> /dev/null`"
591                 if test -n "$_SVNCONFIG"; then
592                                 SVNCONFIG="$_SVNCONFIG/bin/svn-config"
593                 fi
596 AC_SUBST(SVNCONFIG)
597 if test -x "$SVNCONFIG"; then
598                 SVNLD="`$SVNCONFIG --ldflags 2> /dev/null`"
599                 SVN_LIB="`$SVNCONFIG --libs --cflags 2> /dev/null` -lsvn_client-1 -lsvn_subr-1"
600                 dnl ugly hack for subversion svn-config problems in 0.14.x, to be removed when svn-config is fixed
601                 SVN_INCLUDE="`$SVNCONFIG --includes 2> /dev/null` -I$_SVNCONFIG/include/subversion-1/"
602                 AC_MSG_RESULT(yes)
603 else
604                 AC_MSG_RESULT(not found)
605                 
606                 dnl just a fallback to debian's config so that it works for me :)
607                 AC_ARG_WITH(svn-include,
608                                                                 [[  --with-svn-include=DIR   Use the given path to the subversion headers.]],
609                                                                 [
610                                                                 if test "$withval" != "yes" -a "$withval" != ""; then
611                                                                                 SVN_INCLUDES=$withval
612                                                                 fi
613                                                                 ])
614                 if test -z "$SVN_INCLUDES"; then
615                         SVN_INCLUDES="/usr/local/include /usr/include"
616                 fi
617                 AC_MSG_CHECKING([for Subversion headers])
618                 SVN_INCLUDE=""
619                 for VALUE in $SVN_INCLUDES ; do
620                                 if test -f $VALUE/subversion-1/svn_types.h ; then
621                                                 SVN_INCLUDE=$VALUE/subversion-1
622                                                 break
623                                 fi
624                                 if test -f $VALUE/svn_types.h ; then
625                                                 SVN_INCLUDE=$VALUE
626                                                 break
627                                 fi
628                 done
629                 if test $SVN_INCLUDE ; then
630                                 AC_MSG_RESULT([found])
631                 else
632                                 AC_MSG_RESULT([not found])
633                 fi
634                 SVN_LIBS="/usr/local/lib64 /usr/local/lib /usr/lib64 /usr/lib"
635                 AC_ARG_WITH(svn-lib,
636                                                 [[  --with-svn-lib=DIR  Use the given path to the subversion libraries.]],
637                                                 [
638                                                         if test "$withval" != "yes" -a "$withval" != ""; then
639                                                                 SVN_LIBS=$withval
640                                                         fi
641                                                 ])
642                 AC_MSG_CHECKING([for Subversion libraries])
643                 SVN_LIB=""
644                 for VALUE in $SVN_LIBS ; do
645                                 if ls $VALUE/libsvn_client-1.* 1>/dev/null 2>&1; then
646                                                 SVN_LIB=$VALUE
647                                                 break
648                                 fi
649                 done
650                 if test $SVN_LIB ; then
651                                 AC_MSG_RESULT([found])
652                 else
653                                 AC_MSG_RESULT([not found])
654                 fi
657 dnl ******************************************************************
658 dnl Check for extra libs required by subversion.
659 dnl FIXME: This should actually be done by subversion and not by us.
660 dnl ******************************************************************
662 AC_ARG_ENABLE(plugin-subversion,
663   AC_HELP_STRING([--disable-plugin-subversion],[Disable subversion support in Anjuta.]),
664   [ if test "$enableval" = "no"; then
665         user_disabled_subversion=1
666     fi ],
667   [ user_disabled_subversion=0 ] )
669 AC_MSG_CHECKING(if subversion support is disabled)
670 if test "$user_disabled_subversion" = 1; then
671         AC_MSG_RESULT(yes)
672         SVN_INCLUDE=""
673         SVN_LIB=""
674 else
675         AC_MSG_RESULT(no)
678 if test -n "$SVN_INCLUDE" ; then
679         dnl ------------------------------------
680         dnl APR. Required by subversion (devel)
681         dnl ------------------------------------
682         have_atr=no
683         PKG_CHECK_MODULES(APR,                            \
684                 apr-1, have_apr=yes, have_apr=no)
685         if test x"$have_apr" = "xno"; then
686                 SVN_INCLUDE=""
687         fi
688         
689         dnl -----------------------------------------
690         dnl APR util. Required by subversion (devel)
691         dnl------------------------------------------
692         have_atr_util=no
693         PKG_CHECK_MODULES(APR_UTILS,                            \
694                 apr-util-1, have_apr_util=yes, have_apr_util=no)
695         if test x"$have_apr_util" = "xno"; then
696                 SVN_INCLUDE=""
697         fi
698         
699         dnl -----------------------------------------
700         dnl NEON. Required by subversion (devel)
701         dnl------------------------------------------
702         have_neon=no
703         PKG_CHECK_MODULES(NEON,                            \
704                 neon, have_neon=yes, have_neon=no)
705         if test x"$have_neon" = "xno"; then
706                 SVN_INCLUDE=""
707         fi
709         dnl Make sure our SVN version is high enough
710         dnl Eww, eww, eww, this is dirty
711         AC_MSG_CHECKING([for subversion >= $SUBVERSION_REQUIRED])
712         AC_LANG(C)
713         dnl Temporarily set CFLAGS so that include dirs are found
714         CFLAGS_TMP=$CFLAGS
715         CFLAGS="-I$SVN_INCLUDE $APR_CFLAGS"
716         AC_COMPILE_IFELSE(
717                 [AC_LANG_PROGRAM([[#include <svn_version.h>]],
718                         [[
719                                 #if (SVN_VER_MAJOR < $SVN_MAJOR) || (SVN_VER_MINOR < $SVN_MINOR) || (SVN_VER_PATCH < $SVN_PATCH)
720                                 #       error "Version too low"
721                                 #endif
722                         ]])], AC_MSG_RESULT(yes), have_svn_version=no)
723         if test x"$have_svn_version" = "xno"; then
724                 AC_MSG_RESULT(no)
725                 SVN_INCLUDE=""
726         fi
727         CFLAGS=$CFLAGS_TMP
730 dnl ------------------------------------------
731 dnl Finally prepare subversion build flags
732 dnl ------------------------------------------
734 if test -n "$SVN_INCLUDE" ; then
735         SVN_INCLUDE="-I$SVN_INCLUDE"
736         if test x != "x$SVN_LIB" ; then
737             SVN_LIB="-L$SVN_LIB $APR_LIBS $APR_UTILS_LIBS $NEON_LIBS -lsvn_client-1 -lsvn_subr-1"
738         else
739             SVN_LIB="$APR_LIBS $APR_UTILS_LIBS $NEON_LIBS -lsvn_client-1 -lsvn_subr-1"
740         fi
741         SVN_CFLAGS="$APR_CFLAGS $APR_UTILS_CFLAGS $NEON_CFLAGS"
744 AM_CONDITIONAL(BUILD_SVN, [test -n "$SVN_INCLUDE"])
745 AC_SUBST(SVN_INCLUDE)
746 AC_SUBST(SVN_LIB)
747 AC_SUBST(SVN_CFLAGS)
749 dnl ------------------------------------------
750 dnl Symbol-db shared memory checks
751 dnl ------------------------------------------
753 SYMBOL_DB_SHM="/dev/shm"
754 user_specified_shm=0
755 AC_MSG_CHECKING(for symbol-db shared memory)
756 AC_ARG_WITH(symbol-db-shm,
757                 AC_HELP_STRING([--with-symbol-db-shm=DIR],[Where shared memory is placed ]),
758                 [
759                                 user_specified_shm=1
760                                 SYMBOL_DB_SHM="$withval"
761                 ])
762 if test "$user_specified_shm" = 1; then
763         AC_MSG_RESULT(yes)
764 else
765         AC_MSG_RESULT(no)
768 AC_SUBST(SYMBOL_DB_SHM)
771 dnl Check for graphviz (class inheritance and profiler plugins)
772 dnl --------------------------------------------------------------------------
773 dnl FIXME: For some strange reason graphviz-devel rpm install the *.pc files
774 dnl in /usr/lib/graphviz/pkgconfig, instead of usual /usr/lib/pkgconfig. This
775 dnl makes pkgconfig check fail if we don't add the above path in
776 dnl PKG_CONFIG_PATH. We have added both /usr/lib/graphviz/pkgconfig and
777 dnl /usr/local/lib/pkgconfig paths. If graphviz is installed in other prefix
778 dnl (other than /usr or /usr/local or the current installation prefix),
779 dnl following pkgconfig check will fail.
780 dnl --------------------------------------------------------------------------
781 AC_ARG_ENABLE(graphviz,
782         AC_HELP_STRING([--disable-graphviz],[Disable GraphViz support in Anjuta]), 
783         [ if test "$enableval" = "no"; then
784                 user_disabled_graphviz=1
785           fi ],
786         [ user_disabled_graphviz=0 ])
788 AC_MSG_CHECKING(if GraphViz support is disabled)
789 if test "$user_disabled_graphviz" = 1; then
790         AC_MSG_RESULT(yes)
791         libgraphviz_found="no"
792 else
793         AC_MSG_RESULT(no)
794         
795         dnl Set pkgconfig path
796         ANJUTA_PKG_CONFIG_PATH_SAVE="${PKG_CONFIG_PATH}"
797         PKG_CONFIG_PATH="/usr/lib/graphviz/pkgconfig:$PKG_CONFIG_PATH"
798         PKG_CONFIG_PATH="/usr/local/lib/graphviz/pkgconfig:$PKG_CONFIG_PATH"
799         PKG_CONFIG_PATH="/usr/lib64/graphviz/pkgconfig:$PKG_CONFIG_PATH"
800         PKG_CONFIG_PATH="/usr/local/lib64/graphviz/pkgconfig:$PKG_CONFIG_PATH"
801         
802         anjuta_save_prefix="$prefix"
803         test "x$prefix" = xNONE && prefix=$ac_default_prefix
804         graphviz_pkgconfig=`eval echo ${libdir}/graphviz/pkgconfig`
805         PKG_CONFIG_PATH="$graphviz_pkgconfig:$PKG_CONFIG_PATH"
806         prefix="$anjuta_save_prefix"
808         export PKG_CONFIG_PATH
809         PKG_CHECK_MODULES(GRAPHVIZ,
810                 [libgvc >= $LIBGRAPHVIZ_REQUIRED libgraph >= $LIBGRAPHVIZ_REQUIRED], 
811                 [libgraphviz_found="yes"],
812                 [libgraphviz_found="no"])
813         
814         dnl Restore pkgconfig path
815         PKG_CONFIG_PATH="${ANJUTA_PKG_CONFIG_PATH_SAVE}"
816         export PKG_CONFIG_PATH
819 AM_CONDITIONAL(HAVE_GRAPHVIZ, [test x$libgraphviz_found = xyes])
821 dnl --------- help outputs -----------
822 dnl manuals/C/Makefile
823 dnl manuals/C/anjuta-tutorial/Makefile
824 dnl manuals/C/anjuta-advanced-tutorial/Makefile
825 dnl manuals/C/anjuta-faqs/Makefile
826 dnl manuals/C/anjuta-manual/Makefile
827 dnl manuals/de/Makefile
828 dnl manuals/de/anjuta-tutorial/Makefile
829 dnl manuals/ja/Makefile
830 dnl manuals/ja/anjuta-faqs/Makefile
831 dnl manuals/ja/anjuta-manual/Makefile
833 AC_OUTPUT([
834 Makefile
835 po/Makefile.in
836 libfoocanvas/Makefile
837 libanjuta/Makefile
838 libanjuta/libanjuta-1.0.pc
839 libanjuta/anjuta-version.h
840 libanjuta/interfaces/Makefile
841 src/Makefile
842 pixmaps/Makefile
843 pixmaps/16x16/Makefile
844 pixmaps/22x22/Makefile
845 pixmaps/24x24/Makefile
846 pixmaps/32x32/Makefile
847 pixmaps/48x48/Makefile
848 pixmaps/scalable/Makefile
849 data/Makefile
850 data/welcome.txt
851 doc/anjuta.1
852 doc/anjuta-launcher.1
853 doc/Makefile
854 scripts/Makefile
855 launcher/Makefile
856 plugins/Makefile
857 plugins/gtodo/Makefile
858 plugins/class-gen/Makefile
859 plugins/class-gen/templates/Makefile
860 plugins/class-inheritance/Makefile
861 plugins/patch/Makefile
862 plugins/document-manager/Makefile
863 plugins/document-manager/images/Makefile
864 plugins/search/Makefile
865 plugins/message-view/Makefile
866 plugins/gdb/Makefile
867 plugins/gdb/images/Makefile
868 plugins/debug-manager/Makefile
869 plugins/debug-manager/images/Makefile
870 plugins/devhelp/Makefile
871 plugins/glade/Makefile
872 plugins/js-debugger/Makefile
873 plugins/file-manager/Makefile
874 plugins/file-loader/Makefile
875 plugins/file-wizard/Makefile
876 plugins/terminal/Makefile
877 plugins/build-basic-autotools/Makefile
878 plugins/project-manager/Makefile
879 plugins/gbf-am/Makefile
880 plugins/gbf-am/gbf-am-parse
881 plugins/gbf-am/GBF/Makefile
882 plugins/gbf-mkfile/Makefile
883 plugins/gbf-mkfile/gbf-mkfile-parse
884 plugins/gbf-mkfile/GBF/Makefile
885 plugins/symbol-db/benchmark/Makefile
886 plugins/symbol-db/images/Makefile
887 plugins/symbol-db/Makefile
888 plugins/symbol-db/anjuta-tags/Makefile
889 plugins/project-wizard/Makefile
890 plugins/macro/Makefile
891 plugins/cvs-plugin/Makefile
892 plugins/subversion/Makefile
893 plugins/git/Makefile
894 plugins/sourceview/Makefile
895 plugins/tools/Makefile
896 plugins/tools/scripts/Makefile
897 plugins/language-manager/Makefile
898 plugins/project-import/Makefile
899 plugins/project-wizard/templates/Makefile
900 plugins/project-wizard/templates/mkfile/Makefile
901 plugins/project-wizard/templates/mkfile/src/Makefile
902 plugins/project-wizard/templates/mkfile/po/Makefile
903 plugins/project-wizard/templates/minimal/Makefile
904 plugins/project-wizard/templates/js_minimal/Makefile
905 plugins/project-wizard/templates/js_minimal/src/Makefile
906 plugins/project-wizard/templates/terminal/Makefile
907 plugins/project-wizard/templates/terminal/src/Makefile
908 plugins/project-wizard/templates/terminal/po/Makefile
909 plugins/project-wizard/templates/cpp/Makefile
910 plugins/project-wizard/templates/cpp/src/Makefile
911 plugins/project-wizard/templates/cpp/po/Makefile
912 plugins/project-wizard/templates/gtk/Makefile
913 plugins/project-wizard/templates/gtk/src/Makefile
914 plugins/project-wizard/templates/gtk/po/Makefile
915 plugins/project-wizard/templates/anjuta-plugin/Makefile
916 plugins/project-wizard/templates/anjuta-plugin/src/Makefile
917 plugins/project-wizard/templates/anjuta-plugin/po/Makefile
918 plugins/project-wizard/templates/gtkmm/Makefile
919 plugins/project-wizard/templates/gtkmm/src/Makefile
920 plugins/project-wizard/templates/gtkmm/po/Makefile
921 plugins/project-wizard/templates/gcj/Makefile
922 plugins/project-wizard/templates/gcj/src/Makefile
923 plugins/project-wizard/templates/java/Makefile
924 plugins/project-wizard/templates/java/src/Makefile
925 plugins/project-wizard/templates/java/po/Makefile
926 plugins/project-wizard/templates/python/Makefile
927 plugins/project-wizard/templates/python/src/Makefile
928 plugins/project-wizard/templates/python/po/Makefile
929 plugins/project-wizard/templates/wxwin/Makefile
930 plugins/project-wizard/templates/wxwin/src/Makefile
931 plugins/project-wizard/templates/wxwin/po/Makefile
932 plugins/project-wizard/templates/xlib/Makefile
933 plugins/project-wizard/templates/xlib/src/Makefile
934 plugins/project-wizard/templates/xlib/po/Makefile
935 plugins/project-wizard/templates/xlib-dock/Makefile
936 plugins/project-wizard/templates/xlib-dock/src/Makefile
937 plugins/project-wizard/templates/xlib-dock/po/Makefile
938 plugins/project-wizard/templates/sdl/Makefile
939 plugins/project-wizard/templates/sdl/src/Makefile
940 plugins/project-wizard/templates/sdl/po/Makefile
941 plugins/project-wizard/templates/licenses/Makefile
942 plugins/project-wizard/templates/gnome-applet/Makefile
943 plugins/project-wizard/templates/gnome-applet/src/Makefile
944 plugins/project-wizard/templates/gnome-applet/po/Makefile
945 plugins/project-wizard/templates/library/Makefile
946 plugins/project-wizard/templates/library/src/Makefile
947 plugins/project-wizard/templates/library/po/Makefile
948 plugins/project-wizard/templates/directory/Makefile
949 plugins/project-wizard/templates/m4/Makefile
950 plugins/dir-project/Makefile
951 plugins/language-support-cpp-java/Makefile
952 plugins/language-support-cpp-java/cxxparser/Makefile
953 plugins/run-program/Makefile
954 plugins/starter/Makefile
955 plugins/language-support-js/Makefile
956 anjuta.desktop.in
957 manuals/Makefile
958 manuals/reference/Makefile
959 manuals/reference/libanjuta/Makefile
960 manuals/reference/libanjuta/version.xml
961 manuals/anjuta-manual/Makefile
962 manuals/anjuta-faqs/Makefile
963 manuals/anjuta-build-tutorial/Makefile
964 mime/Makefile
966 chmod +x ${ac_top_build_dir}plugins/gbf-am/gbf-am-parse
967 chmod +x ${ac_top_build_dir}plugins/gbf-mkfile/gbf-mkfile-parse
968 echo " "
969 echo "-------------------------------------------------------------------"
970 echo "Conditionally built plugins:"
971 echo "-------------------------------------------------------------------"
972 if [ test -n "$SVN_INCLUDE" ]; then
973         echo "Building subversion plugin: ............................YES"
974 else
975         echo "Building subversion plugin: ............................NO"
976                 echo "        Requires apr (>= 0.9.4); http://subversion.org"
977                 echo "        Requires apr-util (>= 0.9.4); http://subversion.org"
978                 echo "        Requires neon (>= 0.28.2); http://subversion.org"
979                 echo "        Requires subversion (>= 1.5); http://subversion.org"
982 if [ test x$gladeui_found = xyes ]; then
983        echo "Building glade plugin: .................................YES"
984 else
985        echo "Building glade plugin: .................................NO"
986        echo "        Requires glade-3 (>= $GLADEUI_REQUIRED)"
989 if [ test x$devhelp_enabled = xyes ]; then
990        echo "Building devhelp plugin: ...............................YES"
991 else
992        echo "Building devhelp plugin: ...............................NO"
993        echo "        Requires devhelp >= 0.22"
996 if [ test x$sourceview = xyes ]; then
997         echo "Building GtkSourceView based editor: ...................YES"
998 else
999         echo "Building GtkSourceView based editor: ...................NO"
1001 if [ test x$enable_vala = xyes ]; then
1002         echo "Building Vala ctags parser (requires vala):.............YES"
1003 else
1004         echo "Building Vala ctags parser (requires vala):.............NO"
1006 if [ test x$libgraphviz_found = xyes ]; then
1007         echo "Building class inheritance plugin: .....................YES"
1008 else
1009         echo "Building class inheritance plugin: .....................NO"
1010         echo "        Requires graphviz (>= 2.6.0); http://graphviz.org"
1012 echo "-------------------------------------------------------------------"
1013 echo "AM_CFLAGS = $AM_CFLAGS"
1014 echo "AM_CXXFLAGS = $AM_CXXFLAGS"