summaryrefslogtreecommitdiff
path: root/configure.in
diff options
context:
space:
mode:
Diffstat (limited to 'configure.in')
-rw-r--r--configure.in483
1 files changed, 483 insertions, 0 deletions
diff --git a/configure.in b/configure.in
new file mode 100644
index 00000000..8b9fa2c6
--- /dev/null
+++ b/configure.in
@@ -0,0 +1,483 @@
+AC_PREREQ(2.54)
+
+dnl ===========================================================================
+
+m4_define(glib_minver, 2.25.9)
+m4_define(mate_desktop_minver, 2.29.91)
+m4_define(pango_minver, 1.1.2)
+m4_define(gtk_minver, 2.22.0)
+m4_define(xml_minver, 2.4.7)
+m4_define(exif_minver, 0.5.12)
+m4_define(exempi_minver, 1.99.2)
+m4_define(exempi_minver_newapi, 1.99.5)
+m4_define(gail_minver, 0.16)
+
+
+dnl 1. If the library code has changed at all since last release, then increment revision.
+dnl 2. If any interfaces have been added, then increment current and set revision to 0.
+dnl Interface break is not allowed.
+m4_define(caja_extension_current, 3)
+m4_define(caja_extension_revision, 0)
+
+AC_INIT([caja], [2011.11.23], [https://github.com/perberos/mate-desktop-environment])
+
+dnl ---------------------------------------------------------------------------
+dnl GTK library version
+dnl ---------------------------------------------------------------------------
+GTK_API_VERSION=2.0
+GTK_REQUIRED=2.22.0
+
+AC_MSG_CHECKING([which gtk+ version to compile against])
+AC_ARG_WITH([gtk],
+ [AS_HELP_STRING([--with-gtk=2.0|3.0],[which gtk+ version to compile against (default: 2.0)])],
+ [
+ case "$with_gtk" in
+ 2.0|3.0) ;;
+ *) AC_MSG_ERROR([invalid gtk version specified]) ;;
+ esac
+ ],
+ [with_gtk=2.0])
+AC_MSG_RESULT([$with_gtk])
+
+case "$with_gtk" in
+ 2.0) GTK_API_VERSION=2.0
+ GTK_REQUIRED=2.18.0
+ ;;
+ 3.0) GTK_API_VERSION=3.0
+ GTK_REQUIRED=3.0.0
+ ;;
+esac
+
+dnl ===========================================================================
+
+AC_CONFIG_SRCDIR(src)
+AC_CONFIG_HEADERS(config.h)
+AC_CONFIG_MACRO_DIR([m4])
+
+AM_INIT_AUTOMAKE([1.9 tar-ustar])
+m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
+AM_MAINTAINER_MODE
+AC_SUBST([ACLOCAL_AMFLAGS], ["\${ACLOCAL_FLAGS}"])
+
+AC_SUBST(GLIB_REQUIRED, [glib_minver])
+AC_SUBST(MATE_DESKTOP_REQUIRED, [mate_desktop_minver])
+AC_SUBST(PANGO_REQUIRED, [pango_minver])
+AC_SUBST(GTK_REQUIRED, [$GTK_REQUIRED])
+AC_SUBST(XML_REQUIRED, [xml_minver])
+AC_SUBST(GAIL_REQUIRED)
+
+dnl We need to decrement current by one in the calculation of the age because
+dnl the library was started with version "1:0:0" instead of "0:0:0"
+AC_SUBST(CAJA_EXTENSION_VERSION_INFO, [caja_extension_current]:[caja_extension_revision]:`expr [caja_extension_current] - 1`)
+
+AC_C_BIGENDIAN
+AC_C_CONST
+AC_PROG_CC
+AC_PROG_CPP
+AC_PROG_INSTALL
+AC_PROG_LN_S
+AC_PROG_MAKE_SET
+AM_DISABLE_STATIC
+AC_LIBTOOL_WIN32_DLL
+AM_PROG_LIBTOOL
+AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
+
+AC_CHECK_LIB(m, floor)
+
+PKG_CHECK_MODULES(ALL, [
+ glib-2.0 >= glib_minver
+ mate-desktop-2.0 >= mate_desktop_minver
+ gthread-2.0
+ gio-unix-2.0
+ gio-2.0
+ pango >= pango_minver
+ gtk+-$GTK_API_VERSION >= $GTK_REQUIRED
+ libxml-2.0 >= xml_minver
+ gail >= gail_minver
+])
+dnl ==========================================================================
+
+GETTEXT_PACKAGE=caja
+AC_SUBST(GETTEXT_PACKAGE)
+AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE,"$GETTEXT_PACKAGE",
+ [the gettext translation domain])
+
+AM_GLIB_GNU_GETTEXT
+GLIB_DEFINE_LOCALEDIR(MATELOCALEDIR)
+
+IT_PROG_INTLTOOL([0.40.1])
+
+dnl ==========================================================================
+
+GTK_DOC_CHECK([1.4])
+
+dnl ==========================================================================
+
+ENABLE_PROFILER=
+AC_ARG_ENABLE(profiler,
+ AC_HELP_STRING([--enable-profiler], [Enable profiler]),
+ [ENABLE_PROFILER=1
+ AC_DEFINE(ENABLE_PROFILER, 1, [define to enable the profiler])])
+
+profiling_support=off
+if test "x$ENABLE_PROFILER" = "x1"
+then
+ CFLAGS="-g -O -gdwarf-2 -finstrument-functions -D__NO_STRING_INLINES $CFLAGS"
+ LDFLAGS="/mate/MATE2/lib/libprofiler.so -lpthread $LDFLAGS"
+ profiling_support=on
+fi
+
+AC_SUBST(ENABLE_PROFILER)
+AM_CONDITIONAL(ENABLE_PROFILER, test "x$ENABLE_PROFILER" = "x1")
+
+dnl ==========================================================================
+
+AC_CHECK_PROGS(PERL, perl5 perl)
+AC_PATH_PROG(GLIB_GENMARSHAL, glib-genmarshal)
+
+dnl ==========================================================================
+
+AC_CHECK_HEADERS(sys/mount.h sys/vfs.h sys/param.h malloc.h)
+AC_CHECK_FUNCS(mallopt)
+
+dnl X
+
+x_libs="`$PKG_CONFIG --libs pangox`"
+case x_libs in
+ *-lX11*) pango_omitted_x_deps=no ;;
+ *) pango_omitted_x_deps=yes ;;
+esac
+
+x_cflags="`$PKG_CONFIG --cflags pangox`"
+x_extra_libs=
+
+if test $pango_omitted_x_deps = yes ; then
+ AC_PATH_XTRA
+
+ if test x$no_x = xyes ; then
+ AC_MSG_ERROR([X development libraries not found])
+ fi
+
+ x_libs="$X_LIBS -lX11 $X_EXTRA_LIBS"
+fi
+
+## Strip the .la files
+
+x_libs_for_checks=$x_libs
+#for I in $x_libs ; do
+# case $I in
+# *.la) ;;
+# *) x_libs_for_checks="$x_libs_for_checks $I" ;;
+# esac
+#done
+
+AC_CHECK_LIB(X11, XOpenDisplay, :,
+ AC_MSG_ERROR([*** libX11 not found. Check 'config.log' for more details.]),
+ $x_libs_for_checks)
+
+dnl ==========================================================================
+
+AM_CONDITIONAL(HAVE_EXIF, false)
+
+dnl libexif checking
+
+PKG_CHECK_MODULES(EXIF, libexif > exif_minver,
+ [AM_CONDITIONAL(HAVE_EXIF, true)
+ AC_DEFINE(HAVE_EXIF, 1, [Define to enable EXIF support])
+ ],
+ [PKG_CHECK_MODULES(EXIF, libexif = exif_minver,
+ [AM_CONDITIONAL(HAVE_EXIF, true)
+ AC_DEFINE(HAVE_OLD_EXIF, 1, [Define if your EXIF library has old API])
+ ], [AM_CONDITIONAL(HAVE_EXIF, false)])
+ ])
+
+AC_SUBST(EXIF_CFLAGS)
+AC_SUBST(EXIF_LIBS)
+
+dnl ==========================================================================
+
+dnl exempi checking
+
+AM_CONDITIONAL(HAVE_EXEMPI, false)
+
+AC_ARG_ENABLE(xmp,
+ AC_HELP_STRING([--disable-xmp],
+ [build without xmp support]))
+msg_xmp=no
+if test "x$enable_xmp" != "xno"; then
+ PKG_CHECK_MODULES(EXEMPI, exempi-2.0 >= exempi_minver,
+ [AM_CONDITIONAL(HAVE_EXEMPI, true)
+ AC_DEFINE(HAVE_EXEMPI, 1, [Define to enable xmp support])]
+ msg_xmp=yes,
+ [AM_CONDITIONAL(HAVE_EXEMPI, false)])
+
+ PKG_CHECK_MODULES(EXEMPI_NEW_API, exempi-2.0 >= exempi_minver_newapi,
+ AC_DEFINE(HAVE_EXEMPI_NEW_API, 1,
+ [Define if we have exempi with the new API]), true)
+
+ AC_SUBST(EXEMPI_CFLAGS)
+ AC_SUBST(EXEMPI_LIBS)
+fi
+
+dnl ==========================================================================
+
+dnl ****************************
+dnl *** Check for libselinux ***
+dnl ****************************
+
+SELINUX_LIBS=
+msg_selinux=no
+AC_CHECK_LIB(selinux, is_selinux_enabled,
+ [AC_CHECK_HEADERS(selinux/selinux.h,
+ [AC_SEARCH_LIBS(selinux_raw_to_trans_context, selinux,
+ [AC_DEFINE(HAVE_SELINUX, 1, [Define to 1 if libselinux is available])
+ SELINUX_LIBS="-lselinux"
+ msg_selinux=yes])
+ ])
+ ])
+AC_SUBST(SELINUX_LIBS)
+
+
+AC_ARG_ENABLE(empty_view,
+ AC_HELP_STRING([--enable-empty-view], [Enable empty view]),
+ [ENABLE_EMPTY_VIEW=1
+ AC_DEFINE(ENABLE_EMPTY_VIEW, 1, [define to enable the empty view that is used for performance measurement])])
+
+AC_SUBST(ENABLE_EMPTY_VIEW)
+AM_CONDITIONAL(ENABLE_EMPTY_VIEW, test "x$ENABLE_EMPTY_VIEW" = "x1")
+
+dnl ==========================================================================
+
+AC_ARG_ENABLE(packagekit,
+ AC_HELP_STRING([--disable-packagekit],
+ [build without PackageKit support]))
+msg_packagekit=no
+if test "x$enable_packagekit" != "xno"; then
+ msg_packagekit=yes
+ AC_DEFINE(ENABLE_PACKAGEKIT, 1, [define to enable PackageKit mimetype installer])
+fi
+
+
+dnl ============================================================================
+dnl | se comprueba unique
+dnl | de lo contrario, se intenta utilizar libunique
+dnl ============================================================================
+case "$with_gtk" in
+ 2.0) LIBUNIQUE_VERSION=1.0
+ ;;
+ 3.0) LIBUNIQUE_VERSION=3.0
+ ;;
+esac
+
+PKG_CHECK_MODULES(UNIQUE, unique-$LIBUNIQUE_VERSION, enable_libunique=yes, enable_libunique=no)
+
+AC_SUBST([UNIQUE_CFLAGS])
+AC_SUBST([UNIQUE_LIBS])
+
+AC_ARG_ENABLE(unique, [ --enable-unique enable the use of libunique instead of g_application or gtk_application], enable_libunique=yes,)
+
+if test "x$enable_libunique" = "xyes"; then
+ UNIQUE_CFLAGS="$UNIQUE_CFLAGS -DUSE_UNIQUE=1"
+ # fix for deprecated on 2.26
+ # unique en la version 1.0, contiene simbolos no definidos a partir de
+ # glib 2.26, pero puede ser obviado si se utiliza -DG_CONST_RETURN=const
+ if $PKG_CONFIG --atleast-version 2.26 glib-2.0; then
+ UNIQUE_CFLAGS="$UNIQUE_CFLAGS -DG_CONST_RETURN=const"
+ fi
+
+ EXTRA_CORE_MODULES="$EXTRA_CORE_MODULES unique-$LIBUNIQUE_VERSION"
+fi
+
+
+dnl ==========================================================================
+
+dnl Turn on the additional warnings last, so -Werror doesn't affect other tests.
+
+WARNING_CFLAGS=""
+
+AC_ARG_ENABLE(more-warnings,
+AC_HELP_STRING([--enable-more-warnings], [Maximum compiler warnings]),
+set_more_warnings="$enableval",[
+if test -f $srcdir/CVSVERSION; then
+ is_cvs_version=true
+ set_more_warnings=yes
+else
+ set_more_warnings=no
+fi
+])
+AC_MSG_CHECKING(for more warnings, including -Werror)
+if test "$GCC" = "yes" -a "$set_more_warnings" != "no"; then
+ AC_MSG_RESULT(yes)
+ WARNING_CFLAGS="\
+ -Wall \
+ -Wmissing-declarations -Wmissing-prototypes \
+ -Wnested-externs -Wpointer-arith \
+ -Wcast-align \
+ -Werror"
+
+ for option in -Wstrict-aliasing=0 -Wno-pointer-sign; do
+ SAVE_CFLAGS="$CFLAGS"
+ CFLAGS="$CFLAGS $option"
+ AC_MSG_CHECKING([whether gcc understands $option])
+ AC_TRY_COMPILE([], [],
+ has_option=yes,
+ has_option=no,)
+ if test $has_option = yes; then
+ WARNING_CFLAGS="$WARNING_CFLAGS $option"
+ fi
+ AC_MSG_RESULT($has_option)
+ CFLAGS="$SAVE_CFLAGS"
+ unset has_option
+ unset SAVE_CFLAGS
+ done
+ unset option
+else
+ AC_MSG_RESULT(no)
+fi
+
+AC_SUBST(WARNING_CFLAGS)
+
+dnl ===========================================================================
+
+dnl strftime checks
+
+AC_TRY_RUN([#include <time.h>
+ int main ()
+ {
+ char buf[100];
+ struct tm tm = {0};
+ tm.tm_year = 99;
+ if (strftime(buf, 100, "%EY", &tm) == 4 &&
+ strcmp (buf, "1999")==0)
+ return 0;
+ return 1;
+ }
+ ],
+ AC_DEFINE(HAVE_STRFTIME_EXTENSION, 1, [Define if strftime supports %E and %O modifiers.])
+)
+
+dnl ===========================================================================
+
+#
+# Checks for Xft/XRender
+#
+have_render=false
+RENDER_LIBS=""
+
+AC_CHECK_LIB(Xrender, XRenderFindFormat,
+ have_render=true,:,-lXext)
+
+if $have_render ; then
+ RENDER_LIBS="-lXrender -lXext"
+ AC_DEFINE(HAVE_RENDER)
+fi
+
+AC_SUBST(RENDER_LIBS)
+
+
+
+dnl ==========================================================================
+
+dnl libegg
+LIBEGG_MODULES="gtk+-$GTK_API_VERSION"
+LIBEGG_CFLAGS="`$PKG_CONFIG --cflags $LIBEGG_MODULES`"
+AC_SUBST(LIBEGG_CFLAGS)
+LIBEGG_LIBS="`$PKG_CONFIG --libs $LIBEGG_MODULES`"
+AC_SUBST(LIBEGG_LIBS)
+
+dnl libcaja-extension
+LIBCAJA_EXTENSION_MODULES="glib-2.0 gtk+-$GTK_API_VERSION"
+LIBCAJA_EXTENSION_CFLAGS="`$PKG_CONFIG --cflags $LIBCAJA_EXTENSION_MODULES`"
+AC_SUBST(LIBCAJA_EXTENSION_CFLAGS)
+LIBCAJA_EXTENSION_LIBS="`$PKG_CONFIG --libs $LIBCAJA_EXTENSION_MODULES`"
+AC_SUBST(LIBCAJA_EXTENSION_LIBS)
+
+dnl core caja
+CORE_MODULES="glib-2.0 mate-desktop-2.0 gthread-2.0 gio-2.0 gio-unix-2.0 gail mateconf-2.0 libxml-2.0 $EXTRA_CORE_MODULES gtk+-$GTK_API_VERSION"
+CORE_CFLAGS="`$PKG_CONFIG --cflags $CORE_MODULES` $x_cflags"
+AC_SUBST(CORE_CFLAGS)
+CORE_LIBS="`$PKG_CONFIG --libs $CORE_MODULES` $x_libs"
+AC_SUBST(CORE_LIBS)
+
+DISABLE_DEPRECATED_CFLAGS="-DG_DISABLE_DEPRECATED -DGDK_PIXBUF_DISABLE_DEPRECATED"
+AC_SUBST(DISABLE_DEPRECATED_CFLAGS)
+
+dnl Multimedia keys
+AC_CHECK_HEADERS([X11/XF86keysym.h])
+
+dnl ==============================================
+dnl Special MateConf section
+dnl ==============================================
+
+AC_PATH_PROG(MATECONFTOOL, mateconftool-2, no)
+
+if test x"$MATECONFTOOL" = xno; then
+ AC_MSG_ERROR([mateconftool-2 executable not found in your path - should be installed with MateConf])
+fi
+
+AM_MATECONF_SOURCE_2
+
+##################################################
+# Check for introspection
+##################################################
+GOBJECT_INTROSPECTION_CHECK([0.6.4])
+
+dnl ==========================================================================
+
+AC_PATH_PROG(UPDATE_MIME_DATABASE, update-mime-database, no)
+
+AC_ARG_ENABLE(update-mimedb,
+ AC_HELP_STRING([--disable-update-mimedb],
+ [disable the update-mime-database after install [default=no]]),,
+ enable_update_mimedb=yes)
+AM_CONDITIONAL(ENABLE_UPDATE_MIMEDB, test x$enable_update_mimedb = xyes)
+
+AC_CONFIG_FILES([
+Makefile
+cut-n-paste-code/Makefile
+cut-n-paste-code/libegg/Makefile
+data/Makefile
+data/icons/Makefile
+data/patterns/Makefile
+data/caja-computer.desktop.in
+data/caja-file-management-properties.desktop.in
+data/caja-home.desktop.in
+data/caja.desktop.in
+data/caja-folder-handler.desktop.in
+data/caja-browser.desktop.in
+data/caja-autorun-software.desktop.in
+docs/Makefile
+docs/reference/Makefile
+docs/reference/libcaja-extension/Makefile
+docs/reference/libcaja-extension/version.xml
+eel/Makefile
+icons/Makefile
+libcaja-private/Makefile
+libcaja-extension/Makefile
+libcaja-extension/libcaja-extension.pc
+libcaja-extension/libcaja-extension-uninstalled.pc
+po/Makefile.in
+src/Makefile
+src/file-manager/Makefile
+test/Makefile
+])
+
+AC_OUTPUT
+
+dnl ==========================================================================
+
+echo "
+caja-$VERSION:
+
+ prefix: ${prefix}
+ source code location: ${srcdir}
+ compiler: ${CC}
+ xmp support: $msg_xmp
+ Use libunique: ${enable_libunique}
+ Gtk+ version: ${GTK_API_VERSION}
+ PackageKit support: $msg_packagekit
+
+ profiling support: ${profiling_support}
+ caja-extension documentation: ${enable_gtk_doc}
+ caja-extension introspection: ${found_introspection}
+"