Releasing 0.61.08!
[synfig.git] / synfig-studio / trunk / configure.ac
index 190abc5..5b33aae 100755 (executable)
@@ -2,7 +2,7 @@
 
 # -- I N I T --------------------------------------------------
 
-AC_INIT([Synfig Studio],[0.61.07],[http://sourceforge.net/tracker/?group_id=144022&atid=757416],[synfigstudio])
+AC_INIT([Synfig Studio],[0.61.08],[http://synfig.org/Bugs],[synfigstudio])
 AC_REVISION
 
 AC_CONFIG_AUX_DIR(config)
@@ -32,6 +32,13 @@ AC_LANG_CPLUSPLUS
 
 
 AC_ARG_DEBUG
+
+case "$debug" in
+       yes)
+               AC_DEFINE(SHOW_EXTRA_INFO,[],[Show extra info in the about dialog])
+       ;;
+esac
+
 AC_ARG_OPTIMIZATION
 AC_ARG_WARNINGS
 AC_ARG_PROFILE_ARCS
@@ -59,7 +66,7 @@ AC_LIBTOOL_PATCH
 ## FIXME: add i18n for .desktop and other non-compiled files
 ## AM_GLIB_GNU_GETTEXT([external])
 ## AC_PROG_INTLTOOL(0.11)
-ALL_LINGUAS="fr"
+ALL_LINGUAS="fr es"
 AM_GNU_GETTEXT([external])
 # This is here so autoreconf will run autopoint
 AM_GNU_GETTEXT_VERSION([0.14.4])
@@ -72,6 +79,7 @@ case "$host" in
        *darwin*)
                AM_CONDITIONAL(WIN32_PKG, false)
                AM_CONDITIONAL(MACOSX_PKG, true)
+               AC_DEFINE(USE_OPEN_FOR_URLS,[],[On MacOS X "open <URL>" works, on Linux it tries to open a virtual console.] )
        ;;
        *)
                AM_CONDITIONAL(WIN32_PKG, false)
@@ -80,7 +88,28 @@ case "$host" in
 esac
 # -- L I B R A R I E S ----------------------------------------
 
-PKG_CHECK_MODULES(GTKMM, gtkmm-2.4 gthread-2.0,[],[
+PKG_CHECK_MODULES(GTKMM, gtkmm-2.4 gthread-2.0,[
+       AC_MSG_CHECKING([for Gtk::AboutDialog::set_program_name])
+       synfigstudio_save_cxxflags="$CXXFLAGS"
+       CXXFLAGS="$GTKMM_CFLAGS $CXXFLAGS"
+       AC_COMPILE_IFELSE(
+               [
+                       AC_LANG_PROGRAM([
+                               [#include <gtkmm/aboutdialog.h>]
+                       ],[
+                               [Gtk::AboutDialog about; about.set_program_name(PACKAGE_NAME)]
+                       ])
+               ],[
+                       AC_MSG_RESULT([yes])
+                       AC_DEFINE(HAVE_GTK_ABOUTDIALOG_SET_PROGRAM_NAME,[],[Define if GTKmm provides Gtk::AboutDialog::set_program_name()] )
+                       AM_CONDITIONAL(HAVE_GTK_ABOUTDIALOG_SET_PROGRAM_NAME,true)
+               ],[
+                       AC_MSG_RESULT([no])
+                       AM_CONDITIONAL(HAVE_GTK_ABOUTDIALOG_SET_PROGRAM_NAME,false)
+               ]
+       )
+       CXXFLAGS="$synfigstudio_save_cxxflags"
+],[
        AC_MSG_ERROR([ ** Gtkmm-2.4 Is a required library, aborting.])
 ])
 AC_SUBST(GTKMM_CFLAGS)
@@ -132,6 +161,55 @@ if test $with_libfmod = "yes" ; then {
        FMOD_LIBS=
 } ; fi
 
+# Check for unordered_map or hash_map headers
+AC_MSG_CHECKING([for unordered_map<int,int>::const_iterator])
+AC_COMPILE_IFELSE([
+       AC_LANG_PROGRAM([
+               [#include <tr1/unordered_map>]
+       ],[
+               [std::tr1::unordered_map<int,int>::const_iterator iter;]
+       ])],[
+       AC_MSG_RESULT([yes])
+       AC_DEFINE([HASH_MAP_CLASS],[HASH_MAP_NAMESPACE::unordered_map],[The template name for unordered maps.])
+       AC_DEFINE([HASH_MAP_H],[<tr1/unordered_map>],[The header file to include for unordered maps.])
+       AC_DEFINE([HASH_MAP_NAMESPACE],[std::tr1],[The namespace for unordered maps.])
+       AC_DEFINE([FUNCTIONAL_H],[<tr1/functional>],[The header file for hash<T>.])
+       AC_DEFINE([FUNCTIONAL_HASH_ON_STRING],[1],[Define to 1 if hash<T> needs to use T=String rather than T=char* to hash strings.])
+],[
+       AC_MSG_RESULT([no])
+       AC_CHECK_HEADERS([ext/hash_map],[
+               AC_DEFINE([HASH_MAP_CLASS],[HASH_MAP_NAMESPACE::hash_map],[The template name for unordered maps.])
+               AC_DEFINE([HASH_MAP_H],[<ext/hash_map>],[The header file to include for unordered maps.])
+               AC_DEFINE([HASH_MAP_NAMESPACE],[__gnu_cxx],[The namespace for unordered maps.])
+               AC_DEFINE([FUNCTIONAL_H],[<ext/functional>],[The header file for hash<T>.])
+       ],[
+               AC_MSG_ERROR([C++ compiler does not seem to support unordered containers])
+       ])
+])
+
+# Check for unordered_set or hash_set headers
+AC_MSG_CHECKING([for unordered_set<int,int>::const_iterator])
+AC_COMPILE_IFELSE([
+       AC_LANG_PROGRAM([
+               [#include <tr1/unordered_set>]
+       ],[
+               [std::tr1::unordered_set<int,int>::const_iterator iter;]
+       ])],[
+       AC_MSG_RESULT([yes])
+       AC_DEFINE([HASH_SET_CLASS],[HASH_SET_NAMESPACE::unordered_set],[The template name for unordered sets.])
+       AC_DEFINE([HASH_SET_H],[<tr1/unordered_set>],[The header file to include for unordered sets.])
+       AC_DEFINE([HASH_SET_NAMESPACE],[std::tr1],[The namespace for unordered sets.])
+],[
+       AC_MSG_RESULT([no])
+       AC_CHECK_HEADERS([ext/hash_set],[
+               AC_DEFINE([HASH_SET_CLASS],[HASH_SET_NAMESPACE::hash_set],[The template name for unordered sets.])
+               AC_DEFINE([HASH_SET_H],[<ext/hash_set>],[The header file to include for unordered sets.])
+               AC_DEFINE([HASH_SET_NAMESPACE],[__gnu_cxx],[The namespace for unordered sets.])
+       ],[
+               AC_MSG_ERROR([C++ compiler does not seem to support unordered containers])
+       ])
+])
+
 # -- H E A D E R S --------------------------------------------
 
 AC_CHECK_HEADERS([unistd.h signal.h fcntl.h])
@@ -169,6 +247,7 @@ AC_SUBST(imagedir)
 
 AC_OUTPUT(
 Makefile
+build_tools/Makefile
 doxygen.cfg
 po/Makefile.in
 synfigstudio.desktop