Remove .gitignore do nothing is ignored.
[synfig.git] / synfig-studio / trunk / configure.ac
index 8aa1f9e..dd93dbe 100755 (executable)
@@ -2,11 +2,11 @@
 
 # -- 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.09],[http://synfig.org/Bugs],[synfigstudio])
 AC_REVISION
 
 AC_CONFIG_AUX_DIR(config)
-AM_CONFIG_HEADER(config.h)
+AC_CONFIG_HEADERS([config.h])
 AC_CANONICAL_HOST
 dnl AC_CANONICAL_TARGET
 
@@ -17,7 +17,7 @@ API_VERSION=0.0
 
 # -- V A R I A B L E S ----------------------------------------
 
-SVN_REPOSITORY=http://svn.voria.com/code/synfig-studio
+SVN_REPOSITORY=https://synfig.svn.sourceforge.net/svnroot/synfig/synfig-studio
 
 # -- P R O G R A M S ------------------------------------------
 
@@ -28,10 +28,17 @@ AC_PROG_CPP
 AC_PROG_CXXCPP
 AC_PROG_INSTALL
 
-AC_LANG_CPLUSPLUS
+AC_LANG([C++])
 
 
 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,10 +66,10 @@ 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=""
+ALL_LINGUAS="ca fr es ru"
 AM_GNU_GETTEXT([external])
 # This is here so autoreconf will run autopoint
-AM_GNU_GETTEXT_VERSION([0.14.4])
+AM_GNU_GETTEXT_VERSION([0.15])
 
 case "$host" in
        *mingw* | *cygwin*)
@@ -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,14 +88,55 @@ 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_CHECKING([for Gtk::AboutDialog::set_wrap_license])
+       synfigstudio_save_cxxflags="$CXXFLAGS"
+       CXXFLAGS="$GTKMM_CFLAGS $CXXFLAGS"
+       AC_COMPILE_IFELSE(
+               [
+                       AC_LANG_PROGRAM([
+                               [#include <gtkmm/aboutdialog.h>]
+                       ],[
+                               [Gtk::AboutDialog about; about.set_wrap_license(true)]
+                       ])
+               ],[
+                       AC_MSG_RESULT([yes])
+                       AC_DEFINE(HAVE_GTK_ABOUTDIALOG_SET_WRAP_LICENSE,[],[Define if GTKmm provides Gtk::AboutDialog::set_wrap_license()] )
+                       AM_CONDITIONAL(HAVE_GTK_ABOUTDIALOG_SET_WRAP_LICENSE,true)
+               ],[
+                       AC_MSG_RESULT([no])
+                       AM_CONDITIONAL(HAVE_GTK_ABOUTDIALOG_SET_WRAP_LICENSE,false)
+               ]
+       )
+       CXXFLAGS="$synfigstudio_save_cxxflags"
+],[
        AC_MSG_ERROR([ ** Gtkmm-2.4 Is a required library, aborting.])
 ])
 AC_SUBST(GTKMM_CFLAGS)
 AC_SUBST(GTKMM_LIBS)
 
-PKG_CHECK_MODULES(SYNFIG, [synfig >= 0.61.07] [ETL >= 0.04.10] sigc++-2.0,,[
-       AC_MSG_ERROR([ ** Unable to set up dependent libraries (synfig >= 0.61.07, ETL >= 0.04.10)])
+PKG_CHECK_MODULES(SYNFIG, [synfig >= 0.61.09] [ETL >= 0.04.12] sigc++-2.0,,[
+       AC_MSG_ERROR([ ** Unable to set up dependent libraries (synfig >= 0.61.09, ETL >= 0.04.12)])
 ])
 AC_SUBST(SYNFIG_CFLAGS)
 AC_SUBST(SYNFIG_LIBS)
@@ -132,6 +181,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])
@@ -167,8 +265,8 @@ AC_SUBST(imageext)
 imagedir="${datadir}/pixmaps/synfigstudio"
 AC_SUBST(imagedir)
 
-AC_OUTPUT(
-Makefile
+AC_CONFIG_FILES([Makefile
+build_tools/Makefile
 doxygen.cfg
 po/Makefile.in
 synfigstudio.desktop
@@ -182,7 +280,8 @@ src/synfigapp/Makefile
 images/Makefile
 win32inst.nsi
 pkg-info/macosx/synfig-studio.info
-)
+])
+AC_OUTPUT
 
 # -- S U M M A R Y --------------------------------------------