starter: Don't call cairo_destroy() in draw handler
[anjuta.git] / configure.ac
blob555b8037433d229bcbc3f731c6a4962d470a8820
1 dnl Process this file with autoconf to produce a configure script.
3 AC_PREREQ([2.64])
5 m4_define(anjuta_major_version,  2)
6 m4_define(anjuta_minor_version, 32)
7 m4_define(anjuta_micro_version, 0)
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],
12         [anjuta_version],
13         [http://bugzilla.gnome.org/enter_bug.cgi?product=anjuta],
14         [anjuta],
15         [http://www.anjuta.org/])
17 AC_CONFIG_HEADERS([config.h])
18 AC_CONFIG_SRCDIR([src/main.c])
19 AC_CONFIG_MACRO_DIR([m4])
22 AC_DEFINE(ANJUTA_MAJOR_VERSION, anjuta_major_version, [Anjuta major version])
23 AC_SUBST(ANJUTA_MAJOR_VERSION, anjuta_major_version)
24 AC_DEFINE(ANJUTA_MINOR_VERSION, anjuta_minor_version, [Anjuta minor version])
25 AC_SUBST(ANJUTA_MINOR_VERSION, anjuta_minor_version)
26 AC_DEFINE(ANJUTA_MICRO_VERSION, anjuta_micro_version, [Anjuta micro version])
27 AC_SUBST(ANJUTA_MICRO_VERSION, anjuta_micro_version)
28 AC_DEFINE(ANJUTA_VERSION, anjuta_version, [Anjuta version])
29 AC_SUBST(ANJUTA_VERSION)
31 ANJUTA_VERSION=anjuta_version
32 AC_SUBST(ANJUTA_VERSION)
34 dnl Anjuta core
35 GLIB_REQUIRED=2.25.15
36 GTK_REQUIRED=2.29.1
37 GTHREAD_REQUIRED=2.22.0
38 GDK_PIXBUF_REQUIRED=2.0.0
39 GDA_REQUIRED=4.1.6
40 VTE_REQUIRED=0.13.1
41 LIBXML_REQUIRED=2.4.23
42 GDL_REQUIRED=2.91.1
43 LIBWNCK_REQUIRED=2.12
44 UNIQUE_REQUIRED=2.90.1
46 dnl GtkSourceView
47 GTKSOURCEVIEW_REQUIRED=2.9.7
49 dnl Devhelp
50 LIBDEVHELP_REQUIRED=2.90.6
52 dnl Glade
53 GLADEUI_REQUIRED=3.7.1
55 dnl Vala
56 VALA_REQUIRED=0.9.5
58 dnl Introspection
59 GI_REQUIRED=0.9.5
61 dnl Various
62 LIBGRAPHVIZ_REQUIRED=1.0
64 dnl Subversion plugin
65 NEON_REQUIRED=0.28.2
66 SVN_MAJOR=1
67 SVN_MINOR=5
68 SVN_PATCH=0
69 SUBVERSION_REQUIRED=$SVN_MAJOR.$SVN_MINOR.$SVN_PATCH
71 AM_INIT_AUTOMAKE([1.10 dist-bzip2 no-dist-gzip])
72 AM_MAINTAINER_MODE([enable])
74 m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
76 dnl Check for C Compiler
77 AC_PROG_CC
78 AC_PROG_CPP
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   AS_HELP_STRING([--enable-debug],[Enable debug messages]),
89   [if test "x$enableval" = "xyes"; then
90       AM_CFLAGS="$AM_CFLAGS -DDEBUG"
91   fi]
92   AM_CXXFLAGS="$AM_CXXFLAGS -DDEBUG")
93 AC_SUBST(AM_CFLAGS)
94 AC_SUBST(AM_CXXFLAGS)
96 ANJUTA_LDFLAGS="-no-undefined"
97 ANJUTA_PLUGIN_LDFLAGS="-module -avoid-version -no-undefined"
98 AC_SUBST(ANJUTA_LDFLAGS)
99 AC_SUBST(ANJUTA_PLUGIN_LDFLAGS)
101 dnl GSettings
102 GLIB_GSETTINGS
104 dnl Disable deprecated APIs
105 dnl if test x$MAINT = x; then
106 dnl     DEPRECATED_FLAGS="-DGDK_DISABLE_DEPRECATED -DGTK_DISABLE_DEPRECATED"
107 dnl     AC_SUBST(DEPRECATED_FLAGS)
108 dnl fi
110 dnl Check for pkg-config
111 PKG_PROG_PKG_CONFIG([0.22])
113 dnl Enable versioned user preferences directory
114 AC_ARG_WITH(pref-suffix,
115   AS_HELP_STRING([--with-pref-suffix=VALUE],[Suffix to add to user preferences dir.]),
116   PREF_SUFFIX="$withval")
118 AC_SUBST(PREF_SUFFIX)
119 AC_DEFINE_UNQUOTED(PREF_SUFFIX,
120       "${PREF_SUFFIX}",
121           [Suffix to add to preferences directory])
123 # Initialize libtool
124 LT_PREREQ([2.2])
125 LT_INIT([disable-static])
127 dnl ***************************************************************************
128 dnl Check for GObject-Introspection
129 dnl ***************************************************************************
130 m4_ifdef([GOBJECT_INTROSPECTION_CHECK], [GOBJECT_INTROSPECTION_CHECK([0.6.7])],
131 [AM_CONDITIONAL(HAVE_INTROSPECTION, false)])
133 dnl ***************************************************************************
134 dnl Set gjsdir
135 dnl ***************************************************************************
136 gjsdir=`pkg-config --variable=jsdir gjs-1.0`
137 AC_SUBST(gjsdir)
139 dnl Check base modules
141 PKG_CHECK_MODULES([ANJUTA],
142    [gthread-2.0 >= $GTHREAD_REQUIRED
143         unique-3.0 >= $UNIQUE_REQUIRED
144         glib-2.0 >= $GLIB_REQUIRED
145         gio-2.0 >= $GLIB_REQUIRED
146         gtk+-3.0 >= $GTK_REQUIRED
147         gdk-pixbuf-2.0 >= $GDK_PIXBUF_REQUIRED])
149 PKG_CHECK_MODULES([XML],
150    [libxml-2.0 >= $LIBXML_REQUIRED])
152 PKG_CHECK_MODULES([GDL],
153    [gdl-3.0 >= $GDL_REQUIRED])
155 PKG_CHECK_MODULES([GDA],
156    [libgda-4.0 >= $GDA_REQUIRED])
157         
158 PKG_CHECK_MODULES([VTE],
159    [vte-2.90 >= $VTE_REQUIRED])
162 dnl Check for autogen
163 dnl -----------------
164 AC_PATH_PROG(AUTOGEN_PATH, autogen,no)
165 if test x$AUTOGEN_PATH = xno; then
166    AC_MSG_WARN([Couldn't find autogen. You will be able to build anjuta without autogen \
167                 but several things won't work. You can get it from http://autogen.sourceforge.net/])
170 dnl Check for perl required by gbf-am/mkfile
171 dnl ----------------------------------------
172 # Automake backend requirements
173 # Also needed by Makefile backend
174 AC_PATH_PROG(PERL, perl)
175 if test -z "$PERL"; then
176    AC_MSG_ERROR([perl not found])
178 $PERL -e 'require 5.005;' || {
179    AC_MSG_ERROR([perl 5.005 or better is required])
182 # Check for perl Locale::gettext module
183 if test "x$PERL" != x; then
184         AC_MSG_CHECKING(for perl module Locale::gettext)
185         $PERL "-MLocale::gettext" -e exit > /dev/null 2>&1
186         if test $? -ne 0; then
187                 AC_MSG_ERROR([not found, you should installed perl-gettext package for your distribution]);
188         else
189         AC_MSG_RESULT(ok);
190         fi
193 dnl Check for Devhelp
194 dnl -----------------
196 AC_ARG_ENABLE(plugin-devhelp,
197   AS_HELP_STRING([--disable-plugin-devhelp],[Disable devhelp plugin support in Anjuta.]),
198   [ if test "$enableval" = "no"; then
199        user_disabled_devhelp=1
200     fi ],
201   [ user_disabled_devhelp=0 ] )
203 AC_MSG_CHECKING(if devhelp plugin is disabled)
204 if test "$user_disabled_devhelp" = 1; then
205         AC_MSG_RESULT(yes)
206         devhelp_enabled="no"
207 else
208         AC_MSG_RESULT(no)
209         PKG_CHECK_MODULES(PLUGIN_DEVHELP,
210                                 [libdevhelp-3.0 >= $LIBDEVHELP_REQUIRED],
211                                 [
212                                     devhelp_enabled=yes
213                                 ], [
214                                     devhelp_enabled=no
215                                 ])
218 AM_CONDITIONAL(HAVE_PLUGIN_DEVHELP, [test x$devhelp_enabled = xyes])
220 dnl Check for Glade3
221 dnl ---------------------
223 AC_ARG_ENABLE(plugin-glade,
224   AS_HELP_STRING([--disable-plugin-glade],[Disable glade plugin support in Anjuta.]),
225   [ if test "$enableval" = "no"; then
226        user_disabled_glade=1
227     fi ],
228   [ user_disabled_glade=0 ] )
230 AC_MSG_CHECKING(if glade plugin is disabled)
231 if test "$user_disabled_glade" = 1; then
232         AC_MSG_RESULT(yes)
233         gladeui_found="no"
234 else
235         AC_MSG_RESULT(no)
236         gladeui_version=0
237         PKG_CHECK_MODULES(PLUGIN_GLADE, gladeui-3.0 >= $GLADEUI_REQUIRED,
238             [
239                 gladeui_found=yes
240             ], [
241                 gladeui_found=no
242             ])
245 AM_CONDITIONAL(HAVE_PLUGIN_GLADE, [test x$gladeui_found = xyes])
247 dnl Check for gtksourceview
248 dnl -------------------------------------------------------------
250 AC_ARG_ENABLE(plugin-sourceview,
251         AS_HELP_STRING([--disable-plugin-sourceview],[Disable gtksourceview based editor in Anjuta]),
252         [ if test "$enableval" = "no"; then
253                 user_disabled_sourceview=1
254           fi ],
255         [ user_disabled_sourceview=0 ])
257 AC_MSG_CHECKING(if sourceview plugin is disabled)
258 if test "$user_disabled_sourceview" = 1; then
259         AC_MSG_RESULT(yes)
260         sourceview="no"
261 else
262         AC_MSG_RESULT(no)
263         sourceview="yes"
264         PKG_CHECK_MODULES(PLUGIN_SOURCEVIEW,
265                 [gtksourceview-3.0 >= $GTKSOURCEVIEW_REQUIRED])
268 AM_CONDITIONAL(HAVE_PLUGIN_SOURCEVIEW, [test x$sourceview = xyes])
270 dnl Check for vala
271 dnl -------------------------------------------------------------
273 AC_ARG_ENABLE(vala,
274         AC_HELP_STRING([--disable-vala],[Disable vala support]),
275         [ if test "$enableval" = "no"; then
276                 user_disabled_vala=1
277           fi ],
278         [ user_disabled_vala=0 ])
280 AC_MSG_CHECKING(if vala support is disabled)
281 if test "$user_disabled_vala" = 1; then
282         AC_MSG_RESULT(yes)
283         enable_vala="no"
284 else
285         AC_MSG_RESULT(no)
286         enable_vala="yes"
287         PKG_CHECK_MODULES(VALA,
288                 [vala-0.10 >= $VALA_REQUIRED])
291 if test x$enable_vala = xyes; then
292         AC_PATH_PROG(VALAC, valac, valac)
293         AC_SUBST(VALAC)
296 AM_CONDITIONAL(ENABLE_VALA, [test x$enable_vala = xyes])
298 dnl Check for Python
299 dnl -------------------------------------------------------------
301 AM_PATH_PYTHON([],
302         [have_python="yes"],
303         [have_python="no"])
305 if test x$have_python = xyes; then
306         if test -x $PYTHON-config; then
307                 PYTHON_CFLAGS=`$PYTHON-config --cflags`
308                 PYTHON_LIBS=`$PYTHON-config --libs`
309                 AC_SUBST(PYTHON_CFLAGS)
310                 AC_SUBST(PYTHON_LIBS)
311         else
312                 have_python="no"
313         fi
316 AM_CONDITIONAL(HAVE_PYTHON, [test x$have_python = xyes])
318 PKG_CHECK_MODULES(PLUGIN_SYMBOL_DB,
319                 [libgda-4.0 >= $GDA_REQUIRED])
321 dnl Setup Anjuta Library flags
322 dnl --------------------------
323 LIBANJUTA_CFLAGS='$(ANJUTA_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)"\"'
324 LIBANJUTA_LIBS='$(top_builddir)/libanjuta/libanjuta-3.la'
325 AC_SUBST(LIBANJUTA_CFLAGS)
326 AC_SUBST(LIBANJUTA_LIBS)
328 dnl Setup FooCanvas Library flags
329 dnl --------------------------
330 LIBFOOCANVAS_CFLAGS='-I$(top_srcdir)'
331 LIBFOOCANVAS_LIBS='$(top_builddir)/libfoocanvas/libanjuta-foocanvas.la'
332 AC_SUBST(LIBFOOCANVAS_CFLAGS)
333 AC_SUBST(LIBFOOCANVAS_LIBS)
335 dnl Checks for Xft/XRender for foocanvas
337 AC_CHECK_LIB(Xrender, XRenderFindFormat,
338         [AC_SUBST(RENDER_LIBS, "-lXrender -lXext")
339          AC_DEFINE(HAVE_RENDER, 1, [Define if libXrender is available.])],
340         [AC_SUBST(RENDER_LIBS, "")],
341         [-lXext])
343 dnl Setup Plugin directories
344 dnl ------------------------
345 anjuta_plugin_dir='$(libdir)/anjuta'
346 anjuta_data_dir='$(datadir)/anjuta'
347 anjuta_ui_dir='$(datadir)/anjuta/ui'
348 anjuta_glade_dir='$(datadir)/anjuta/glade'
349 anjuta_image_dir='$(datadir)/pixmaps/anjuta'
350 AC_SUBST(anjuta_plugin_dir)
351 AC_SUBST(anjuta_data_dir)
352 AC_SUBST(anjuta_ui_dir)
353 AC_SUBST(anjuta_glade_dir)
354 AC_SUBST(anjuta_image_dir)
356 dnl ***************************************************************************
357 dnl Check for marshal and enum generators
358 dnl ***************************************************************************
359 GLIB_GENMARSHAL="`$PKG_CONFIG --variable=glib_genmarshal glib-2.0`"
360 AC_SUBST(GLIB_GENMARSHAL)
361 GLIB_MKENUMS="`$PKG_CONFIG --variable=glib_mkenums glib-2.0`"
362 AC_SUBST(GLIB_MKENUMS)
364 dnl Set up Glade 3 catlog information
365 dnl ---------------------
366 GLADE_PLUGINS_PATH="`$PKG_CONFIG --variable=moduledir gladeui-1.0`"
367 AC_SUBST(GLADE_PLUGINS_PATH)
368 GLADE_CATALOG_PATH="`$PKG_CONFIG --variable=catalogdir gladeui-1.0`"
369 AC_SUBST(GLADE_CATALOG_PATH)
371 dnl ***************************************************************************
372 dnl Internatinalization
373 dnl ***************************************************************************
374 IT_PROG_INTLTOOL([0.40.1])
376 AM_GNU_GETTEXT([external])
377 AM_GNU_GETTEXT_VERSION([0.17])
379 GETTEXT_PACKAGE=anjuta
380 AC_SUBST(GETTEXT_PACKAGE)
381 AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE,"$GETTEXT_PACKAGE", [GETTEXT package name])
383 dnl ***************************************************************************
384 dnl Check for gtk-doc.
385 dnl ***************************************************************************
386 GTK_DOC_CHECK([1.4])
388 dnl ***************************************************************************
389 dnl User manual
390 dnl ***************************************************************************
391 GNOME_DOC_INIT([0.18])
393 dnl Define convenience macros
394 dnl -------------------------
395 dnl CHECK_HEADER_DEFINE(LABEL, HEADER [,ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND ] ])
396 AC_DEFUN([CHECK_HEADER_DEFINE],
398         AC_MSG_CHECKING("if $1 is defined in $2")
399         AC_EGREP_CPP(yes,
400 [#include <$2>
401 #ifdef $1
402   yes
403 #endif
404 ], [
405         AC_MSG_RESULT(yes)
406         $3
407 ], [
408         AC_MSG_RESULT(no)
409         $4
410 ]) ])
412 dnl Checks for header files.
413 AC_CHECK_HEADERS(dirent.h fcntl.h fnmatch.h stat.h stdlib.h string.h stdint.h)
414 AC_CHECK_HEADERS(time.h types.h unistd.h)
415 AC_CHECK_HEADERS(sys/dir.h sys/stat.h sys/times.h sys/types.h)
417 dnl Checks for typedefs, structures, and compiler characteristics.
419 AC_CANONICAL_HOST
420 CYGWIN=no
421 MINGW32=no
422 case $host_os in
423   *cygwin* ) CYGWIN=yes;;
424   *mingw32* ) MINGW32=yes;;
425 esac
428 AC_C_CONST
429 AC_OBJEXT
430 AC_EXEEXT
432 AC_TYPE_SIZE_T
433 AC_TYPE_OFF_T
435 AC_MSG_CHECKING("for fpos_t")
436 AC_EGREP_HEADER(fpos_t, stdio.h, AC_MSG_RESULT(yes),
438     AC_MSG_RESULT(no)
439     AC_DEFINE(fpos_t, long, [fpos_t is type long])
442 AC_MSG_CHECKING("for clock_t")
443 AC_EGREP_HEADER(clock_t, time.h, AC_MSG_RESULT(yes),
445     AC_MSG_RESULT(no)
446     AC_DEFINE(clock_t, long, [clock_t is type long])
449 CHECK_HEADER_DEFINE(L_tmpnam, stdio.h,, AC_DEFINE(L_tmpnam, 20, [L_tmpname is 20]))
451 CHECK_HEADER_DEFINE(INT_MAX, limits.h,,
452     CHECK_HEADER_DEFINE(MAXINT, limits.h,
453         AC_DEFINE(INT_MAX, MAXINT, [Maximum int size]), AC_DEFINE(INT_MAX, 32767, [Maximum int size])))
455 AC_MSG_CHECKING(if struct stat contains st_ino)
456 AC_LANG([C])
457 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <sys/stat.h>]], [[
458     struct stat st;
459     stat(".", &st);
460     if (st.st_ino > 0)
461         exit(0);
462 ]])],[have_st_ino=yes],[have_st_ino=no])
463 AC_MSG_RESULT($have_st_ino)
464 if test yes = "$have_st_ino"; then
465     AC_DEFINE(HAVE_STAT_ST_INO,,[Have stat st_ino])
469 dnl Check for bind in libsocket (needed on Solaris)
470 AC_CHECK_LIB(socket, bind)
472 dnl Check for function forkpty and related headers
473 AC_SEARCH_LIBS(forkpty, util, , AC_DEFINE(EMULATE_FORKPTY, [], [Need  to implement our own forkpty()]))
474 AC_CHECK_HEADERS(libutil.h util.h pty.h)
476 dnl Checks for library functions.
477 AC_CHECK_FUNCS(fnmatch)
478 AC_CHECK_FUNCS(strstr)
479 AC_CHECK_FUNCS(stricmp)
480 AC_CHECK_FUNCS(strnicmp)
481 AC_CHECK_FUNCS(getline)
483 dnl for libegg/egg-recent-model.c
484 AC_CHECK_DECLS([lockf])
485 AC_CHECK_FUNCS([lockf])
487 AC_CHECK_FUNCS(fgetpos, have_fgetpos=yes)
489 dnl SEEK_SET should be in stdio.h, but may be in unistd.h on SunOS 4.1.x
490 if test "$have_fgetpos" != yes ; then
491     CHECK_HEADER_DEFINE(SEEK_SET, stdio.h,,
492         CHECK_HEADER_DEFINE(SEEK_SET, unistd.h,,
493             AC_DEFINE(SEEK_SET, 0, [Seek set 0])))
496 AC_CHECK_FUNCS(mkstemp, have_mkstemp=yes)
497 if test "$have_mkstemp" != yes ; then
498     AC_CHECK_FUNCS(chmod)
499     if test "$tmpdir_specified" = yes ; then
500         AC_MSG_RESULT(use of tmpnam overrides temporary directory selection)
501     fi
502 else
503     AC_MSG_CHECKING(directory to use for temporary files)
504     if test -z "$enable_tmpdir" -o "$enable_tmpdir" = no -o "$enable_tmpdir" = yes ;
505         then tmpdir=/tmp
506         else tmpdir="$enable_tmpdir"
507     fi
508     if test -d $tmpdir ; then
509         AC_MSG_RESULT($tmpdir)
510         AC_DEFINE_UNQUOTED(TMPDIR, "$tmpdir", [Directory for temporary files])
511     else
512         AC_MSG_WARN($tmpdir does not exist)
513     fi
516 AC_CHECK_FUNCS(strerror opendir)
517 AC_CHECK_FUNCS(clock times, break)
518 AC_CHECK_FUNCS(remove, have_remove=yes,
519     CHECK_HEADER_DEFINE(remove, unistd.h,, AC_DEFINE(remove, unlink, [Remove is unlink])))
521 AC_CHECK_FUNCS(truncate, have_truncate=yes)
522 dnl === Cannot nest AC_CHECK_FUNCS() calls
523 if test "$have_truncate" != yes  ; then
524     AC_CHECK_FUNCS(ftruncate, have_ftruncate=yes)
525     if test "$have_ftruncate" != yes ; then
526         AC_CHECK_FUNCS(chsize)
527     fi
530 AC_CHECK_FUNCS(setenv, have_setenv=yes)
531 dnl === Cannot nest AC_CHECK_FUNCS() calls
532 if test "$have_setenv" != yes ; then
533     AC_CHECK_FUNCS(putenv, have_putenv=yes)
534     if test "$have_putenv" = yes ; then
535         AC_EGREP_HEADER(putenv, stdlib.h, have_putenv_prototype=yes)
536         if test "$have_putenv_prototype" = yes ; then
537             AC_MSG_CHECKING("putenv prototype")
538             AC_EGREP_HEADER([[^A-Za-zo-9_]putenv[   ]*\(.*const.*\)[    ]*;],
539                 stdlib.h, AC_MSG_RESULT(correct),
540                 [
541                     AC_MSG_RESULT(no const)
542                     AC_DEFINE(NON_CONST_PUTENV_PROTOTYPE,,[putenv has non constant prototype])
543                 ])
544         fi
545     fi
548 dnl -----------------------------
549 dnl Checks for FreeBSD Build
550 dnl -----------------------------
551 AC_MSG_CHECKING(if building on FreeBSD)
553 if test `uname -s` = "FreeBSD" ; then
554         AC_MSG_RESULT(yes)
555         FREEBSD_BUILD=-DFREEBSD
556         AC_SUBST(FREEBSD_BUILD)
557         AC_PATH_PROG(GMAKE, gmake, no)
558         if test "x$GMAKE" = "xno"; then
559                 AC_MSG_ERROR(You need gmake installed to build Anjuta!)
560         fi
561 else
562         AC_MSG_RESULT(no)
563         GMAKE="make"
566 AC_SUBST(GMAKE)
568 dnl Checks for missing prototypes
569 dnl -----------------------------
570 AC_MSG_NOTICE([checking for missing prototypes...])
572 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))])
574 if test "$have_remove" = yes ; then
575     CHECK_PROTO(remove, stdio.h)
576 else
577     CHECK_PROTO(unlink, unistd.h)
579 CHECK_PROTO(malloc, stdlib.h)
580 CHECK_PROTO(getenv, stdlib.h)
581 CHECK_PROTO(stat,   sys/stat.h)
582 CHECK_PROTO(lstat,  sys/stat.h)
583 if test "$have_fgetpos" = yes ; then
584     CHECK_PROTO(fgetpos, stdio.h)
586 if test "$have_truncate" = yes ; then
587     CHECK_PROTO(truncate, unistd.h)
589 if test "$have_ftruncate" = yes ; then
590     CHECK_PROTO(ftruncate, unistd.h)
593 dnl  **********************************************************
594 dnl  check if we have svn libraries to build subversion plugin
595 dnl  (stolen from kdevelop ;-)
596 dnl  **********************************************************
598 AC_MSG_CHECKING(for Subversion svn-config)
599 AC_ARG_WITH(subversion-dir,
600                 AS_HELP_STRING([--with-subversion-dir=DIR],[Where Subversion is installed ]),
601                 [
602                                 SVNCONFIG="$withval/bin/svn-config"
603                 ])
605 if test -z "$SVNCONFIG"; then
606                 _SVNCONFIG="`svn-config --prefix 2> /dev/null`"
607                 if test -n "$_SVNCONFIG"; then
608                                 SVNCONFIG="$_SVNCONFIG/bin/svn-config"
609                 fi
612 AC_SUBST(SVNCONFIG)
613 if test -x "$SVNCONFIG"; then
614                 SVNLD="`$SVNCONFIG --ldflags 2> /dev/null`"
615                 SVN_LIB="`$SVNCONFIG --libs --cflags 2> /dev/null` -lsvn_client-1 -lsvn_subr-1"
616                 dnl ugly hack for subversion svn-config problems in 0.14.x, to be removed when svn-config is fixed
617                 SVN_INCLUDE="`$SVNCONFIG --includes 2> /dev/null` -I$_SVNCONFIG/include/subversion-1/"
618                 AC_MSG_RESULT(yes)
619 else
620                 AC_MSG_RESULT(not found)
622                 dnl just a fallback to debian's config so that it works for me :)
623                 AC_ARG_WITH(svn-include,
624                                                                 [[  --with-svn-include=DIR   Use the given path to the subversion headers.]],
625                                                                 [
626                                                                 if test "$withval" != "yes" -a "$withval" != ""; then
627                                                                                 SVN_INCLUDES=$withval
628                                                                 fi
629                                                                 ])
630                 if test -z "$SVN_INCLUDES"; then
631                         SVN_INCLUDES="/usr/local/include /usr/include"
632                 fi
633                 AC_MSG_CHECKING([for Subversion headers])
634                 SVN_INCLUDE=""
635                 for VALUE in $SVN_INCLUDES ; do
636                                 if test -f $VALUE/subversion-1/svn_types.h ; then
637                                                 SVN_INCLUDE=$VALUE/subversion-1
638                                                 break
639                                 fi
640                                 if test -f $VALUE/svn_types.h ; then
641                                                 SVN_INCLUDE=$VALUE
642                                                 break
643                                 fi
644                 done
645                 if test $SVN_INCLUDE ; then
646                                 AC_MSG_RESULT([found])
647                 else
648                                 AC_MSG_RESULT([not found])
649                 fi
650                 SVN_LIBS="/usr/local/lib64 /usr/local/lib /usr/lib64 /usr/lib"
651                 AC_ARG_WITH(svn-lib,
652                                                 [[  --with-svn-lib=DIR  Use the given path to the subversion libraries.]],
653                                                 [
654                                                         if test "$withval" != "yes" -a "$withval" != ""; then
655                                                                 SVN_LIBS=$withval
656                                                         fi
657                                                 ])
658                 AC_MSG_CHECKING([for Subversion libraries])
659                 SVN_LIB=""
660                 for VALUE in $SVN_LIBS ; do
661                                 if ls $VALUE/libsvn_client-1.* 1>/dev/null 2>&1; then
662                                                 SVN_LIB=$VALUE
663                                                 break
664                                 fi
665                 done
666                 if test $SVN_LIB ; then
667                                 AC_MSG_RESULT([found])
668                 else
669                                 AC_MSG_RESULT([not found])
670                 fi
673 dnl ******************************************************************
674 dnl Check for extra libs required by subversion.
675 dnl FIXME: This should actually be done by subversion and not by us.
676 dnl ******************************************************************
678 AC_ARG_ENABLE(plugin-subversion,
679   AS_HELP_STRING([--disable-plugin-subversion],[Disable subversion support in Anjuta.]),
680   [ if test "$enableval" = "no"; then
681         user_disabled_subversion=1
682     fi ],
683   [ user_disabled_subversion=0 ] )
685 AC_MSG_CHECKING(if subversion support is disabled)
686 if test "$user_disabled_subversion" = 1; then
687         AC_MSG_RESULT(yes)
688         SVN_INCLUDE=""
689         SVN_LIB=""
690 else
691         AC_MSG_RESULT(no)
694 if test -n "$SVN_INCLUDE" ; then
695         dnl ------------------------------------
696         dnl APR. Required by subversion (devel)
697         dnl ------------------------------------
698         have_atr=no
699         PKG_CHECK_MODULES(APR,                            \
700                 apr-1, have_apr=yes, have_apr=no)
701         if test x"$have_apr" = "xno"; then
702                 SVN_INCLUDE=""
703         fi
705         dnl -----------------------------------------
706         dnl APR util. Required by subversion (devel)
707         dnl------------------------------------------
708         have_atr_util=no
709         PKG_CHECK_MODULES(APR_UTILS,                            \
710                 apr-util-1, have_apr_util=yes, have_apr_util=no)
711         if test x"$have_apr_util" = "xno"; then
712                 SVN_INCLUDE=""
713         fi
715         dnl -----------------------------------------
716         dnl NEON. Required by subversion (devel)
717         dnl------------------------------------------
718         have_neon=no
719         PKG_CHECK_MODULES(NEON,                            \
720                 neon, have_neon=yes, have_neon=no)
721         if test x"$have_neon" = "xno"; then
722                 SVN_INCLUDE=""
723         fi
725         dnl Make sure our SVN version is high enough
726         dnl Eww, eww, eww, this is dirty
727         AC_MSG_CHECKING([for subversion >= $SUBVERSION_REQUIRED])
728         AC_LANG([C])
729         dnl Temporarily set CFLAGS so that include dirs are found
730         CFLAGS_TMP=$CFLAGS
731         CFLAGS="-I$SVN_INCLUDE $APR_CFLAGS"
732         AC_COMPILE_IFELSE(
733                 [AC_LANG_PROGRAM([[#include <svn_version.h>]],
734                         [[
735                                 #if (SVN_VER_MAJOR < $SVN_MAJOR) || (SVN_VER_MINOR < $SVN_MINOR) || (SVN_VER_PATCH < $SVN_PATCH)
736                                 #       error "Version too low"
737                                 #endif
738                         ]])], AC_MSG_RESULT(yes), have_svn_version=no)
739         if test x"$have_svn_version" = "xno"; then
740                 AC_MSG_RESULT(no)
741                 SVN_INCLUDE=""
742         fi
743         CFLAGS=$CFLAGS_TMP
746 dnl ------------------------------------------
747 dnl Finally prepare subversion build flags
748 dnl ------------------------------------------
750 if test -n "$SVN_INCLUDE" ; then
751         SVN_INCLUDE="-I$SVN_INCLUDE"
752         if test x != "x$SVN_LIB" ; then
753             SVN_LIB="-L$SVN_LIB $APR_LIBS $APR_UTILS_LIBS $NEON_LIBS -lsvn_client-1 -lsvn_subr-1"
754         else
755             SVN_LIB="$APR_LIBS $APR_UTILS_LIBS $NEON_LIBS -lsvn_client-1 -lsvn_subr-1"
756         fi
757         SVN_CFLAGS="$APR_CFLAGS $APR_UTILS_CFLAGS $NEON_CFLAGS"
760 AM_CONDITIONAL(BUILD_SVN, [test -n "$SVN_INCLUDE"])
761 AC_SUBST(SVN_INCLUDE)
762 AC_SUBST(SVN_LIB)
763 AC_SUBST(SVN_CFLAGS)
765 dnl ------------------------------------------
766 dnl Symbol-db shared memory checks
767 dnl ------------------------------------------
769 SYMBOL_DB_SHM="/dev/shm"
770 user_specified_shm=0
771 AC_MSG_CHECKING(for symbol-db shared memory)
772 AC_ARG_WITH(symbol-db-shm,
773                 AS_HELP_STRING([--with-symbol-db-shm=DIR],[Where shared memory is placed ]),
774                 [
775                                 user_specified_shm=1
776                                 SYMBOL_DB_SHM="$withval"
777                 ])
778 if test "$user_specified_shm" = 1; then
779         AC_MSG_RESULT(yes)
780 else
781         AC_MSG_RESULT(no)
784 AC_SUBST(SYMBOL_DB_SHM)
787 dnl Check for graphviz (class inheritance and profiler plugins)
788 AC_ARG_ENABLE(graphviz,
789         AS_HELP_STRING([--disable-graphviz],[Disable GraphViz support in Anjuta]),
790         [ if test "$enableval" = "no"; then
791                 user_disabled_graphviz=1
792           fi ],
793         [ user_disabled_graphviz=0 ])
795 AC_MSG_CHECKING(if GraphViz support is disabled)
796 if test "$user_disabled_graphviz" = 1; then
797         AC_MSG_RESULT(yes)
798         libgraphviz_found="no"
799 else
800         AC_MSG_RESULT(no)
801         PKG_CHECK_MODULES(GRAPHVIZ,
802                 [libgvc >= $LIBGRAPHVIZ_REQUIRED libgraph >= $LIBGRAPHVIZ_REQUIRED],
803                 [libgraphviz_found="yes"],
804                 [libgraphviz_found="no"])
807 AM_CONDITIONAL(HAVE_GRAPHVIZ, [test x$libgraphviz_found = xyes])
809 AC_CONFIG_FILES([
810 Makefile
811 po/Makefile.in
812 libfoocanvas/Makefile
813 libanjuta/Makefile
814 libanjuta/libanjuta-3.0.pc
815 libanjuta/anjuta-version.h
816 libanjuta/interfaces/Makefile
817 src/Makefile
818 pixmaps/Makefile
819 pixmaps/16x16/Makefile
820 pixmaps/22x22/Makefile
821 pixmaps/24x24/Makefile
822 pixmaps/32x32/Makefile
823 pixmaps/48x48/Makefile
824 pixmaps/scalable/Makefile
825 data/Makefile
826 data/welcome.txt
827 doc/anjuta.1
828 doc/anjuta-launcher.1
829 doc/Makefile
830 scripts/Makefile
831 launcher/Makefile
832 plugins/Makefile
833 plugins/gtodo/Makefile
834 plugins/class-gen/Makefile
835 plugins/class-gen/templates/Makefile
836 plugins/class-inheritance/Makefile
837 plugins/patch/Makefile
838 plugins/document-manager/Makefile
839 plugins/document-manager/images/Makefile
840 plugins/search/Makefile
841 plugins/message-view/Makefile
842 plugins/gdb/Makefile
843 plugins/gdb/images/Makefile
844 plugins/debug-manager/Makefile
845 plugins/debug-manager/images/Makefile
846 plugins/devhelp/Makefile
847 plugins/glade/Makefile
848 plugins/js-debugger/Makefile
849 plugins/file-manager/Makefile
850 plugins/file-loader/Makefile
851 plugins/file-wizard/Makefile
852 plugins/terminal/Makefile
853 plugins/build-basic-autotools/Makefile
854 plugins/project-manager/Makefile
855 plugins/gbf-am/Makefile
856 plugins/gbf-am/gbf-am-parse
857 plugins/gbf-am/GBF/Makefile
858 plugins/gbf-mkfile/Makefile
859 plugins/gbf-mkfile/gbf-mkfile-parse
860 plugins/gbf-mkfile/GBF/Makefile
861 plugins/symbol-db/benchmark/Makefile
862 plugins/symbol-db/benchmark/symbol-db/Makefile
863 plugins/symbol-db/benchmark/libgda/Makefile
864 plugins/symbol-db/benchmark/sqlite/Makefile
865 plugins/symbol-db/images/Makefile
866 plugins/symbol-db/Makefile
867 plugins/symbol-db/anjuta-tags/Makefile
868 plugins/project-wizard/Makefile
869 plugins/snippets-manager/Makefile
870 plugins/cvs-plugin/Makefile
871 plugins/subversion/Makefile
872 plugins/git/Makefile
873 plugins/sourceview/Makefile
874 plugins/tools/Makefile
875 plugins/tools/scripts/Makefile
876 plugins/language-manager/Makefile
877 plugins/project-import/Makefile
878 plugins/project-wizard/templates/Makefile
879 plugins/project-wizard/templates/mkfile/Makefile
880 plugins/project-wizard/templates/mkfile/src/Makefile
881 plugins/project-wizard/templates/mkfile/po/Makefile
882 plugins/project-wizard/templates/minimal/Makefile
883 plugins/project-wizard/templates/js_minimal/Makefile
884 plugins/project-wizard/templates/js_minimal/src/Makefile
885 plugins/project-wizard/templates/terminal/Makefile
886 plugins/project-wizard/templates/terminal/src/Makefile
887 plugins/project-wizard/templates/terminal/po/Makefile
888 plugins/project-wizard/templates/cpp/Makefile
889 plugins/project-wizard/templates/cpp/src/Makefile
890 plugins/project-wizard/templates/cpp/po/Makefile
891 plugins/project-wizard/templates/gtk/Makefile
892 plugins/project-wizard/templates/gtk/src/Makefile
893 plugins/project-wizard/templates/gtk/po/Makefile
894 plugins/project-wizard/templates/anjuta-plugin/Makefile
895 plugins/project-wizard/templates/anjuta-plugin/src/Makefile
896 plugins/project-wizard/templates/anjuta-plugin/po/Makefile
897 plugins/project-wizard/templates/gtkmm/Makefile
898 plugins/project-wizard/templates/gtkmm/src/Makefile
899 plugins/project-wizard/templates/gtkmm/po/Makefile
900 plugins/project-wizard/templates/gcj/Makefile
901 plugins/project-wizard/templates/gcj/src/Makefile
902 plugins/project-wizard/templates/java/Makefile
903 plugins/project-wizard/templates/java/src/Makefile
904 plugins/project-wizard/templates/java/po/Makefile
905 plugins/project-wizard/templates/python/Makefile
906 plugins/project-wizard/templates/python/src/Makefile
907 plugins/project-wizard/templates/python/po/Makefile
908 plugins/project-wizard/templates/pygtk/Makefile
909 plugins/project-wizard/templates/pygtk/src/Makefile
910 plugins/project-wizard/templates/pygtk/po/Makefile
911 plugins/project-wizard/templates/pygtk/data/Makefile
912 plugins/project-wizard/templates/wxwin/Makefile
913 plugins/project-wizard/templates/wxwin/src/Makefile
914 plugins/project-wizard/templates/wxwin/po/Makefile
915 plugins/project-wizard/templates/xlib/Makefile
916 plugins/project-wizard/templates/xlib/src/Makefile
917 plugins/project-wizard/templates/xlib/po/Makefile
918 plugins/project-wizard/templates/xlib-dock/Makefile
919 plugins/project-wizard/templates/xlib-dock/src/Makefile
920 plugins/project-wizard/templates/xlib-dock/po/Makefile
921 plugins/project-wizard/templates/sdl/Makefile
922 plugins/project-wizard/templates/sdl/src/Makefile
923 plugins/project-wizard/templates/sdl/po/Makefile
924 plugins/project-wizard/templates/licenses/Makefile
925 plugins/project-wizard/templates/library/Makefile
926 plugins/project-wizard/templates/library/src/Makefile
927 plugins/project-wizard/templates/library/po/Makefile
928 plugins/project-wizard/templates/directory/Makefile
929 plugins/project-wizard/templates/m4/Makefile
930 plugins/dir-project/Makefile
931 plugins/language-support-cpp-java/Makefile
932 plugins/language-support-cpp-java/cxxparser/Makefile
933 plugins/run-program/Makefile
934 plugins/starter/Makefile
935 plugins/language-support-js/Makefile
936 plugins/language-support-vala/Makefile
937 plugins/language-support-python/Makefile
938 plugins/python-loader/Makefile
939 anjuta.desktop.in
940 manuals/Makefile
941 manuals/reference/Makefile
942 manuals/reference/libanjuta/Makefile
943 manuals/reference/libanjuta/version.xml
944 manuals/anjuta-manual/Makefile
945 manuals/anjuta-faqs/Makefile
946 manuals/anjuta-build-tutorial/Makefile
947 mime/Makefile
949 AC_OUTPUT
950 chmod +x ${ac_top_build_dir}plugins/gbf-am/gbf-am-parse
951 chmod +x ${ac_top_build_dir}plugins/gbf-mkfile/gbf-mkfile-parse
952 echo " "
953 echo "-------------------------------------------------------------------"
954 echo "Conditionally built plugins:"
955 echo "-------------------------------------------------------------------"
956 if [ test -n "$SVN_INCLUDE" ]; then
957         echo "Building subversion plugin: ............................YES"
958 else
959         echo "Building subversion plugin: ............................NO"
960                 echo "        Requires apr (>= 0.9.4); http://subversion.org"
961                 echo "        Requires apr-util (>= 0.9.4); http://subversion.org"
962                 echo "        Requires neon (>= 0.28.2); http://subversion.org"
963                 echo "        Requires subversion (>= 1.5); http://subversion.org"
966 if [ test x$gladeui_found = xyes ]; then
967        echo "Building glade plugin: .................................YES"
968 else
969        echo "Building glade plugin: .................................NO"
970        echo "        Requires glade-3 (>= $GLADEUI_REQUIRED)"
973 if [ test x$devhelp_enabled = xyes ]; then
974        echo "Building devhelp plugin: ...............................YES"
975 else
976        echo "Building devhelp plugin: ...............................NO"
977        echo "        Requires libdevhelp-3.0 (>= $LIBDEVHELP_REQUIRED)"
980 if [ test x$sourceview = xyes ]; then
981         echo "Building GtkSourceView based editor: ...................YES"
982 else
983         echo "Building GtkSourceView based editor: ...................NO"
985 if [ test x$enable_vala = xyes ]; then
986         echo "Building Vala support: .................................YES"
987 else
988         echo "Building Vala support: .................................NO"
989         echo "        Requires libvala (>= $VALA_REQUIRED)"
991 if [ test x$libgraphviz_found = xyes ]; then
992         echo "Building class inheritance plugin: .....................YES"
993 else
994         echo "Building class inheritance plugin: .....................NO"
995         echo "        Requires graphviz (>= 2.6.0); http://graphviz.org"
997 echo "-------------------------------------------------------------------"
998 echo "AM_CFLAGS = $AM_CFLAGS"
999 echo "AM_CXXFLAGS = $AM_CXXFLAGS"