Code

fix broken link to _wspawn prototype
[inkscape.git] / configure.ac
index 0eb5d66e1fcff8a51757dfa6b97748e8dfc971f1..9cecae403d548cb7a0d250d4edecf86a63acabbb 100644 (file)
@@ -1,7 +1,7 @@
 dnl Process this file with autoconf to produce a configure script.
 
 AC_PREREQ(2.50)
-AC_INIT(inkscape, 0.44+devel)
+AC_INIT(inkscape, 0.46+devel)
 dnl N.B. After 0.40, please change to `0.40+cvs' instead of `0.41cvs'.
 dnl Rationale: (i) placate simple version comparison software such as
 dnl `dpkg --compare-versions'.  (ii) We don't always know what the next
@@ -9,7 +9,7 @@ dnl version is going to be called until about the time we release it
 dnl (whereas we always know what the previous version was called).
 AC_CANONICAL_HOST
 AC_CONFIG_SRCDIR(src/main.cpp)
-AM_INIT_AUTOMAKE
+AM_INIT_AUTOMAKE([dist-zip dist-bzip2 tar-pax])
 
 AC_ARG_ENABLE([lsb], AS_HELP_STRING([--enable-lsb], [LSB-compatible build configuration]), [
   prefix=/opt/inkscape
@@ -23,28 +23,30 @@ AM_CONFIG_HEADER(config.h)
 
 AC_PROG_INTLTOOL(0.22)
 
+AC_LANG(C++)
+AC_ISC_POSIX
+AC_PROG_CXX
+AM_PROG_CC_STDC
+AM_PROG_AS
+AC_HEADER_STDC
+
 dnl These next few lines are needed only while libcroco is in our source tree.
 AC_PROG_CC
 AM_PROG_CC_C_O
+AC_MSG_NOTICE([Testing -Wno-pointer-sign])
 if test "$GCC" = "yes"; then
   # Enable some warnings from gcc.
 
+  AC_LANG_PUSH(C)
   # -Wno-pointer-sign is probably new in gcc 4.0; certainly it isn't accepted
   # by gcc 2.95.
   ink_svd_CFLAGS="$CFLAGS"
   CFLAGS="-Wno-pointer-sign $CFLAGS"
-  AC_COMPILE_IFELSE([int dummy;
-], , CFLAGS="$ink_svd_CFLAGS",)
-  CFLAGS="-Wall -W $CFLAGS"
+  AC_COMPILE_IFELSE(AC_LANG_PROGRAM([]), AC_MSG_NOTICE([ compiler supports -Wno-pointer-sign]), CFLAGS="$ink_svd_CFLAGS")
+  CFLAGS="-Wall -Wformat-security -W -D_FORTIFY_SOURCE=2 $CFLAGS"
+  AC_LANG_POP
 fi
 
-AC_LANG(C++)
-AC_ISC_POSIX
-AC_PROG_CXX
-AM_PROG_CC_STDC
-AM_PROG_AS
-AC_HEADER_STDC
-
 dnl Honor aclocal flags
 ACLOCAL="$ACLOCAL $ACLOCAL_FLAGS"
 
@@ -54,7 +56,9 @@ dnl Verify our GCC version
 if test "x$GXX" = "xyes"; then
        AC_MSG_CHECKING([GNU compiler version])
 
-       cc_version=["`$CXX $CXXFLAGS -v 2>&1 </dev/null |grep 'gcc version' |\
+       # Don't pass CXXFLAGS to the following CXX command as some 
+       # of them can't be specified along with '-v'.
+       cc_version=["`$CXX -v 2>&1 </dev/null |grep 'gcc version' |\
                sed 's/.*gcc version \([-a-z0-9\.]*\).*/\1/'`"]
 
        AC_MSG_RESULT([$cc_version])
@@ -80,7 +84,7 @@ GETTEXT_PACKAGE="AC_PACKAGE_NAME"
 AC_SUBST(GETTEXT_PACKAGE)
 AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE,"$GETTEXT_PACKAGE",[Translation domain used])
 dnl Add the languages which your application supports here.
-ALL_LINGUAS="am az be bg ca cs da de dz el en_GB en_CA en_US@piglatin es es_MX et fi fr ga gl hr hu it ja ko lt mk mn nb ne nl nn pa pl pt pt_BR ru rw sk sl sq sr sr@Latn sv th tr uk vi zh_CN zh_TW"
+ALL_LINGUAS="am ar az be bg bn br ca ca@valencia cs da de dz el en_AU en_CA en_GB en_US@piglatin eo es_MX es et eu fi fr ga gl he hr hu id it ja km ko lt mk mn nb ne nl nn pa pl pt_BR pt ro ru rw sk sl sq sr@latin sr sv th tr uk vi zh_CN zh_TW"
 AM_GLIB_GNU_GETTEXT
 
 AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
@@ -88,6 +92,10 @@ if test "x$PKG_CONFIG" = "xno"; then
        AC_MSG_ERROR(You have to install pkg-config to compile inkscape.)
 fi
 
+dnl Find msgfmt.  Without this, po/Makefile fails to set MSGFMT on some platforms.
+AC_PATH_PROG(MSGFMT, msgfmt, msgfmt)
+AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT)
+
 dnl ******************************
 dnl Check for libpng 
 dnl ******************************
@@ -205,6 +213,20 @@ esac
 AC_MSG_RESULT([$platform_win32])
 AM_CONDITIONAL(PLATFORM_WIN32, test "$platform_win32" = "yes")
 
+AC_MSG_CHECKING([for Solaris 2.8 platform])
+case "$host" in
+  *-solaris2.8)
+    platform_solaris_2_8=yes
+    CFLAGS="$CFLAGS -DSOLARIS_2_8"
+    CXXFLAGS="$CXXFLAGS -DSOLARIS_2_8"
+    ;;
+  *)
+    platform_solaris_2_8=no
+    ;;
+esac
+AC_MSG_RESULT([$platform_solaris_2_8])
+AM_CONDITIONAL(PLATFORM_SOLARIS_2_8, test "$platform_solaris_2_8" = "yes")
+
 dnl ******************************
 dnl Xft checking
 dnl ******************************
@@ -258,39 +280,6 @@ if test "x$xft_ok" = "xyes"; then
        fi
 fi
 
-dnl ******************************
-dnl GnomePrint checking
-dnl ******************************
-
-AC_ARG_WITH(gnome-print,
-            AC_HELP_STRING([--with-gnome-print], [use gnome print font database and spooler frontend]),
-            [with_gp=$withval], [with_gp=auto])
-
-if test "x$with_gp" = "xyes"; then
-       dnl Have to test gnome-print presence
-       PKG_CHECK_MODULES(GNOME_PRINT, libgnomeprint-2.2 >= 1.116.0  libgnomeprintui-2.2 >= 1.116.0, gp=yes, gp=no)
-       if test "x$gp" != "xyes"; then
-               dnl No gnome-print found
-               if test "x$with_gp" = "xyes"; then
-                       dnl Gnome-print was explicitly asked, so stop
-                       AC_MSG_ERROR([--with-gnome-print was specified, but appropriate libgnomeprint development packages could not be found])
-               else 
-                       # gp is no, tell us for the log file 
-                       AC_MSG_RESULT($gp)
-               fi
-       fi
-else
-       dnl Asked to ignore gnome-print
-       gp=no
-fi
-
-AC_SUBST(GNOME_PRINT_CFLAGS)
-AC_SUBST(GNOME_PRINT_LIBS)
-
-AM_CONDITIONAL(USE_GNOME_PRINT, test "x$gp" = "xyes")
-if test "x$gp" = "xyes"; then
-       AC_DEFINE(WITH_GNOME_PRINT, 1, [Use gnome print font database and spooler frontend])
-fi
 
 dnl ******************************
 dnl gnome vfs checking
@@ -460,18 +449,63 @@ else
                fi
        else
                dnl Working lcms
-               LCMS_LIBS="-llcms "
+               LIBS="$LIBS $LCMS_LIBS"
+               AC_DEFINE(ENABLE_LCMS, 1, [Use LittleCms color management])
        fi
 fi
 
-if test "x$lcms" = "xyes"; then
-       LIBS="$LIBS $LCMS_LIBS"
-       AC_DEFINE(ENABLE_LCMS, 1, [Use LittleCms color management])
-fi
-AM_CONDITIONAL(USE_LCMS, test "x$lcms" = "xyes")
 AC_SUBST(LCMS_CFLAGS)
 AC_SUBST(LCMS_LIBS)
 
+dnl ******************************
+dnl Libpoppler checking
+dnl ******************************
+
+AC_ARG_ENABLE(poppler-cairo,
+       AC_HELP_STRING([--enable-poppler-cairo], [Enable libpoppler-cairo for rendering PDF preview]),
+       [enable_poppler_cairo=$enableval], [enable_poppler_cairo=yes])
+
+POPPLER_CFLAGS=""
+PKG_CHECK_MODULES(POPPLER, poppler >= 0.5.9, poppler=yes, poppler=no)
+
+if test "x$poppler" = "xyes"; then
+       dnl Working libpoppler
+       POPPLER_LIBS="-lpoppler "
+       dnl Have to test libpoppler-glib presence
+       PKG_CHECK_MODULES(POPPLER_GLIB, poppler-glib >= 0.5.9, poppler_glib=yes, poppler_glib=no)
+       if test "x$poppler_glib" = "xyes"; then
+               dnl Working libpoppler-glib found
+               dnl Check whether the Cairo SVG backend is available
+               PKG_CHECK_MODULES(CAIRO_SVG, cairo-svg, cairo_svg=yes, cairo_svg=no)
+               if test "x$cairo_svg" = "xyes"; then
+                       POPPLER_LIBS="$POPPLER_LIBS -lpoppler-glib "
+               fi
+       fi
+       if test "x$enable_poppler_cairo" = "xyes"; then
+               dnl Have to test libpoppler-cairo presence for PDF preview
+               dnl AC_CHECK_HEADER(Magick++.h, magick_ok=yes, magick_ok=no)
+               PKG_CHECK_MODULES(POPPLER_CAIRO, poppler-cairo >= 0.5.9, poppler_cairo=yes, poppler_cairo=no)
+               if test "x$poppler_glib" = "xyes" -a "x$poppler_cairo" = "xyes" -a \
+                       "x$cairo_svg" = "xno"
+               then
+                       POPPLER_LIBS="$POPPLER_LIBS -lpoppler-glib "
+               fi
+       fi
+fi
+
+if test "x$poppler" = "xyes"; then
+       LIBS="$LIBS $POPPLER_LIBS"
+       AC_DEFINE(HAVE_POPPLER, 1, [Use libpoppler for direct PDF import])
+fi
+if test "x$poppler_cairo" = "xyes" -a "x$poppler_glib" = "xyes"; then
+       AC_DEFINE(HAVE_POPPLER_CAIRO, 1, [Use libpoppler-cairo for rendering PDF preview])
+fi
+if test "x$poppler_glib" = "xyes" -a "x$cairo_svg" = "xyes"; then
+       AC_DEFINE(HAVE_POPPLER_GLIB, 1, [Use libpoppler-glib and Cairo-SVG for PDF import])
+fi
+AC_SUBST(POPPLER_CFLAGS)
+AC_SUBST(POPPLER_LIBS)
+
 dnl ******************************
 dnl Inkboard dependency checking
 dnl ******************************
@@ -494,6 +528,8 @@ if test "x$with_inkboard" = "xyes"; then
                if test "x$with_inkboard_ssl" = "xyes"; then
                        dnl OpenSSL found; enable SSL support in Pedro
                        INKBOARD_CFLAGS="$INKBOARD_CFLAGS -DHAVE_SSL"
+                       RELAYTOOL([ssl], INKBOARD_LIBS, INKBOARD_CFLAGS, [inkboard_weak=yes])
+                       RELAYTOOL([crypto], INKBOARD_LIBS, INKBOARD_CFLAGS, [inkboard_weak=yes])
                        AC_DEFINE(WITH_INKBOARD_SSL,1,[Build in SSL support for Inkboard])
                fi
 else
@@ -504,19 +540,65 @@ AM_CONDITIONAL(WITH_INKBOARD, test "x$with_inkboard" = "xyes")
 AC_SUBST(INKBOARD_LIBS)
 AC_SUBST(INKBOARD_CFLAGS)
 
+dnl ******************************
+dnl Check for libwpg for extension
+dnl ******************************
+
+PKG_CHECK_MODULES(LIBWPG, libwpg-0.1 libwpg-stream-0.1, with_libwpg=yes, with_libwpg=no)
+if test "x$with_libwpg" = "xyes"; then
+       AC_DEFINE(WITH_LIBWPG,1,[Build in libwpg])
+fi
+AM_CONDITIONAL(WITH_LIBWPG, test "x$with_libwpg" = "xyes")
+
+AC_SUBST(LIBWPG_LIBS)
+AC_SUBST(LIBWPG_CFLAGS)
+
+dnl ******************************
+dnl Check for ImageMagick Magick++ 
+dnl ******************************
+
+AC_CHECK_LIB(Magick++, InitializeMagick, [AC_CHECK_HEADER(Magick++.h, magick_ok=yes, magick_ok=no)], magick_ok=no, -llcms -lfreetype -ljpeg -lfontconfig -lXext -lSM -lICE -lX11 -lz -lpthread -lm -lpthread)
+
+if test "x$magick_ok" = "xyes"; then
+       AC_CHECK_PROG(MAGICKPP_CONFIG, Magick++-config, yes, no)
+       if test "x$MAGICKPP_CONFIG" = "xyes"; then
+               IMAGEMAGICK_LIBS=`Magick++-config --libs`
+               AC_SUBST(IMAGEMAGICK_LIBS)
+               AC_DEFINE(WITH_IMAGE_MAGICK,1,[Image Magick++ support for bitmap effects])
+       fi
+fi
+
+AM_CONDITIONAL(USE_IMAGE_MAGICK, test "x$magick_ok" = "xyes")
+
 dnl ******************************
 dnl   Unconditional dependencies
 dnl ******************************
 
-dnl *** NOTE: when we move to gtk 2.6 or later, we can remove the 
-dnl ********* the override for g_ascii_strtod below...
 dnl sigc++-2.0 >= 2.0.12: using "visit_each" not available in 2.0.10
 if test $cc_vers_major -gt 3; then
   min_sigc_version=2.0.12
 else
   min_sigc_version=2.0.11
 fi
-PKG_CHECK_MODULES(INKSCAPE, gdkmm-2.4  glibmm-2.4  gtkmm-2.4  gtk+-2.0 >= 2.4.0  libxml-2.0 >= 2.6.11  libxslt >= 1.0.15  cairo  sigc++-2.0 >= $min_sigc_version  $ink_spell_pkg  gthread-2.0 >= 2.0 libpng >= 1.2)
+PKG_CHECK_MODULES(INKSCAPE, gdkmm-2.4  glibmm-2.4  gtkmm-2.4 >= 2.10.0  gtk+-2.0  libxml-2.0 >= 2.6.11  libxslt >= 1.0.15  cairo  sigc++-2.0 >= $min_sigc_version  $ink_spell_pkg  gthread-2.0 >= 2.0 libpng >= 1.2)
+
+# Check for Apple Mac OS X Carbon framework
+carbon_ok=no
+AC_MSG_CHECKING([for Mac OS X Carbon support])
+AC_TRY_CPP([
+#include <Carbon/Carbon.h>
+#include <CoreServices/CoreServices.h>
+], carbon_ok=yes)
+AC_MSG_RESULT($carbon_ok)
+if test "x$carbon_ok" = "xyes"; then
+  AC_DEFINE(HAVE_CARBON, 1, [define to 1 if Carbon is available])
+  CARBON_LDFLAGS="-framework Carbon"
+  AC_SUBST(CARBON_LDFLAGS)
+fi
+AM_CONDITIONAL(HAVE_CARBON, test "x$carbon_ok" = "xyes")
+
+# Check for some boost header files
+AC_CHECK_HEADERS([boost/concept_check.hpp], [], AC_MSG_ERROR([You need the boost package (e.g. libboost-dev)]))
 
 PKG_CHECK_MODULES(CAIRO_PDF, cairo-pdf, cairo_pdf=yes, cairo_pdf=no)
 if test "x$cairo_pdf" = "xyes"; then
@@ -669,7 +751,7 @@ if test "$GXX" = "yes"; then
   # programmer deliberately has an unused parameter (e.g. because it's used
   # as a callback or similar function pointer use).
 
-  CXXFLAGS="-Wall -W -Wpointer-arith -Wcast-align -Wsign-compare -Woverloaded-virtual -Wswitch  $CXXFLAGS"
+  CXXFLAGS="-Wall -Wformat-security -W -Wpointer-arith -Wcast-align -Wsign-compare -Woverloaded-virtual -Wswitch -D_FORTIFY_SOURCE=2 $CXXFLAGS"
 
   dnl Test for arch-specific situations.
   case "$host_cpu" in
@@ -751,9 +833,6 @@ fi
 
 AM_CONDITIONAL(USE_MMX, test x$use_mmx_asm = xyes)
 
-dnl Override the default g_ascii_strtod
-AC_DEFINE(g_ascii_strtod, fixed_g_ascii_strtod, [Pre-1.107 gstrfuncs.c version of g_ascii_strtod is broken])
-
 dnl Figure out where the datadir actually is
 dnl http://autoconf-archive.cryp.to/ac_define_dir.html
 prefix_NONE=
@@ -788,6 +867,7 @@ src/Makefile
 src/check-header-compile
 src/algorithms/makefile
 src/application/makefile
+src/bind/makefile
 src/debug/makefile
 src/dialogs/makefile
 src/display/makefile
@@ -800,16 +880,20 @@ src/helper/makefile
 src/inkjar/makefile
 src/io/makefile
 src/libcroco/makefile
+src/libgdl/makefile
 src/libnr/makefile
 src/libnrtype/makefile
 src/libavoid/makefile
 src/livarot/makefile
+src/live_effects/makefile
+src/live_effects/parameter/makefile
 src/pedro/makefile
 src/jabber_whiteboard/makefile
 src/removeoverlap/makefile
 src/svg/makefile
 src/trace/makefile
 src/traits/makefile
+src/ui/cache/makefile
 src/ui/dialog/makefile
 src/ui/makefile
 src/ui/view/makefile
@@ -818,12 +902,16 @@ src/utest/makefile
 src/util/makefile
 src/widgets/makefile
 src/xml/makefile
+src/2geom/makefile
 doc/Makefile
 po/Makefile.in
 share/Makefile
 share/clipart/Makefile
 share/examples/Makefile
 share/extensions/Makefile
+share/extensions/alphabet_soup/Makefile
+share/extensions/Barcode/Makefile
+share/extensions/xaml2svg/Makefile
 share/fonts/Makefile
 share/gradients/Makefile
 share/icons/Makefile
@@ -869,4 +957,7 @@ Configuration:
         Enable LittleCms:         ${enable_lcms}
         Enable Inkboard:          ${with_inkboard}
         Enable SSL in Inkboard:   ${with_inkboard_ssl}
+        Enable Poppler-Cairo:     ${enable_poppler_cairo}
+        ImageMagick Magick++:     ${magick_ok}
+        Libwpg:                   ${with_libwpg}
 "