X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=configure.ac;h=b3c9fd06a9f75bd4ad5c5a54eee96c65a0ed65dd;hb=d6436fab4ba026aada395765f05c4afb7b8888c4;hp=340b7e4a8a0464c7851d3cab66904a38514f5a32;hpb=6f1a7e95d93605c1bab32b021c6c399b22a6cead;p=inkscape.git diff --git a/configure.ac b/configure.ac index 340b7e4a8..b3c9fd06a 100644 --- a/configure.ac +++ b/configure.ac @@ -1,15 +1,17 @@ dnl Process this file with autoconf to produce a configure script. -AC_PREREQ(2.50) -AC_INIT(inkscape, 0.45+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 -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_PREREQ(2.53) + +# Always use 0.xx+devel instead of 0.xxdevel for the version, e.g. 0.46+devel. +# Rationale: (i) placate simple version comparison software such as +# `dpkg --compare-versions'. (ii) We don't always know what the next +# version is going to be called until about the time we release it +# (whereas we always know what the previous version was called). +AC_INIT(inkscape, 0.48.0) + AC_CANONICAL_HOST -AC_CONFIG_SRCDIR(src/main.cpp) -AM_INIT_AUTOMAKE +AC_CONFIG_SRCDIR([src/main.cpp]) +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 @@ -21,37 +23,83 @@ AC_ARG_ENABLE([lsb], AS_HELP_STRING([--enable-lsb], [LSB-compatible build config 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_PROG_RANLIB +AC_PROG_INTLTOOL(0.22) AC_HEADER_STDC +INK_BZR_SNAPSHOT_BUILD + +dnl If automake 1.11 shave the output to look nice +m4_ifdef([AM_SILENT_RULES],[AM_SILENT_RULES([yes])]) 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) + + #### + # Generic cpp flags... + + # What is just plain "-W" ? + # Fortify source requires -O2 or higher, which is handled with newer autoconf + CPPFLAGS="-W -D_FORTIFY_SOURCE=2 $CPPFLAGS" + # Enable format and format security warnings + CPPFLAGS="-Wformat -Wformat-security $CPPFLAGS" + # Enable all default warnings + CPPFLAGS="-Wall $CPPFLAGS" + + # Test for -Werror=... (introduced some time post-4.0) + # If we hit a format error -- it should be fatal. + AC_MSG_CHECKING([compiler support for -Werror=format-security]) + ink_svd_CPPFLAGS="$CPPFLAGS" + CPPFLAGS="-Werror=format-security $CPPFLAGS" + AC_COMPILE_IFELSE(AC_LANG_PROGRAM([]), [ink_opt_ok=yes], [ink_opt_ok=no]) + AC_MSG_RESULT([$ink_opt_ok]) + if test "x$ink_opt_ok" != "xyes"; then + CPPFLAGS="$ink_svd_CPPFLAGS" + fi + + #### + # C-specific flags... + # -Wno-pointer-sign is probably new in gcc 4.0; certainly it isn't accepted # by gcc 2.95. + AC_MSG_CHECKING([compiler support for -Wno-pointer-sign]) ink_svd_CFLAGS="$CFLAGS" CFLAGS="-Wno-pointer-sign $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_COMPILE_IFELSE(AC_LANG_PROGRAM([]), [ink_opt_ok=yes], [ink_opt_ok=no]) + AC_MSG_RESULT([$ink_opt_ok]) + if test "x$ink_opt_ok" != "xyes"; then + CFLAGS="$ink_svd_CFLAGS" + fi + + #### + # Linker flags... + + # Have linker produce read-only relocations, if it knows how + AC_MSG_CHECKING([linker tolerates -z relro]) + ink_svd_LDFLAGS="$LDFLAGS" + LDFLAGS="-Wl,-z,relro $LDFLAGS" + AC_LINK_IFELSE(AC_LANG_PROGRAM([]), [ink_opt_ok=yes], [ink_opt_ok=no]) + AC_MSG_RESULT([$ink_opt_ok]) + if test "x$ink_opt_ok" != "xyes"; then + LDFLAGS="$ink_svd_LDFLAGS" + fi + AC_LANG_POP + + # C++-specific flags are defined further below. Look for CXXFLAGS... fi dnl Honor aclocal flags ACLOCAL="$ACLOCAL $ACLOCAL_FLAGS" -AC_PROG_RANLIB - dnl Verify our GCC version if test "x$GXX" = "xyes"; then AC_MSG_CHECKING([GNU compiler version]) @@ -77,6 +125,45 @@ if test "x$GXX" = "xyes"; then fi fi +# Detect a working version of unordered containers. +AC_MSG_CHECKING([TR1 unordered_set usability]) +AC_COMPILE_IFELSE([ +#include +int main() { + std::tr1::unordered_set i, j; + i = j; + return 0; +} +], [unordered_set_works=yes], [unordered_set_works=no]) +if test "x$unordered_set_works" = "xyes"; then + AC_MSG_RESULT([ok]) + AC_DEFINE(HAVE_TR1_UNORDERED_SET, 1, [Has working standard TR1 unordered_set]) +else + AC_MSG_RESULT([not working]) +fi +AC_CHECK_HEADER([boost/unordered_set.hpp], [AC_DEFINE(HAVE_BOOST_UNORDERED_SET, 1, [Boost unordered_set (Boost >= 1.36)])], []) +AC_CHECK_HEADER([ext/hash_set], [AC_DEFINE(HAVE_EXT_HASH_SET, 1, [Legacy GNU ext/hash_set])], []) + +# Test whether GCC emits a spurious warning when using boost::optional +# If yes, turn off strict aliasing warnings to reduce noise +# and allow the legitimate warnings to stand out +AC_MSG_CHECKING([for overzealous strict aliasing warnings]) +ignore_strict_aliasing=no +CXXFLAGS_SAVE=$CXXFLAGS +CXXFLAGS="$CXXFLAGS -Werror=strict-aliasing" +AC_COMPILE_IFELSE([ +#include +boost::optional x; +int func() { + return *x; +} +], [ignore_strict_aliasing=no], [ignore_strict_aliasing=yes]) +AC_MSG_RESULT($ignore_strict_aliasing) +CXXFLAGS=$CXXFLAGS_SAVE +if test "x$ignore_strict_aliasing" = "xyes"; then + CXXFLAGS="$CXXFLAGS -Wno-strict-aliasing" +fi + dnl ****************************** dnl Gettext stuff dnl ****************************** @@ -84,7 +171,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 bn 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@Latn sr 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 fa fi fr ga gl he hr hu hy 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 te_IN th tr uk vi zh_CN zh_TW" AM_GLIB_GNU_GETTEXT AC_PATH_PROG(PKG_CONFIG, pkg-config, no) @@ -96,10 +183,22 @@ dnl Find msgfmt. Without this, po/Makefile fails to set MSGFMT on some platform AC_PATH_PROG(MSGFMT, msgfmt, msgfmt) AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT) +dnl ****************************** +dnl Check for OpenMP +dnl Replace this with AC_OPENMP once Autoconf 2.62 is widespread +dnl ****************************** +AX_OPENMP([openmp_ok=yes],[openmp_ok=no]) +if test "x$openmp_ok" = "xyes"; then + dnl We have it, now set up the flags + CXXFLAGS="$CXXFLAGS $OPENMP_CXXFLAGS" + AC_CHECK_HEADER(omp.h) + AC_DEFINE(HAVE_OPENMP, 1, [Use OpenMP]) +fi + dnl ****************************** dnl Check for libpng dnl ****************************** -AC_CHECK_LIB(png, png_read_info, [AC_CHECK_HEADER(png.h, png_ok=yes, png_ok=no)], png_ok=no, -lz -lm) +AC_CHECK_LIB(png, png_read_info, [AC_CHECK_HEADER(png.h, png_ok=yes, png_ok=yes)], png_ok=no, -lz -lm) if test "x$png_ok" != "xyes"; then AC_MSG_ERROR([libpng >= 1.2 is needed to compile inkscape]) fi @@ -148,7 +247,7 @@ AC_CHECK_HEADERS([gc.h gc/gc.h], break], [gc_ok=no], [$gc_libs]) break], [gc_ok=no]) -if test "x$gc_ok" = "xyes"; then +if test "x$gc_ok" = "xyes" && test "x$cross_compiling" = "xno" ; then AC_MSG_CHECKING([libgc version 6.4+]) AC_RUN_IFELSE( [AC_LANG_SOURCE([[ @@ -204,7 +303,7 @@ AC_MSG_CHECKING([for Win32 platform]) case "$host" in *-*-mingw*) platform_win32=yes - INKSCAPE_CFLAGS="$INKSCAPE_CFLAGS -mms-bitfields -DLIBXML_STATIC" + WIN32_CFLAGS="-mms-bitfields -DLIBXML_STATIC" ;; *) platform_win32=no @@ -212,20 +311,22 @@ case "$host" in esac AC_MSG_RESULT([$platform_win32]) AM_CONDITIONAL(PLATFORM_WIN32, test "$platform_win32" = "yes") +AC_SUBST(WIN32_CFLAGS) -AC_MSG_CHECKING([for Solaris 2.8 platform]) +AC_MSG_CHECKING([for Solaris platform]) case "$host" in - *-solaris2.8) - platform_solaris_2_8=yes - CFLAGS="$CFLAGS -DSOLARIS_2_8" - CXXFLAGS="$CXXFLAGS -DSOLARIS_2_8" + *-solaris2.*) + platform_solaris=yes + solaris_version=`echo $host|sed -e 's/^.*-solaris2\.//' -e s'/\..*$//'` + CFLAGS="$CFLAGS -DSOLARIS=$solaris_version" + CXXFLAGS="$CXXFLAGS -DSOLARIS=$solaris_version" ;; *) - platform_solaris_2_8=no + platform_solaris=no ;; esac -AC_MSG_RESULT([$platform_solaris_2_8]) -AM_CONDITIONAL(PLATFORM_SOLARIS_2_8, test "$platform_solaris_2_8" = "yes") +AC_MSG_RESULT([$platform_solaris]) +AM_CONDITIONAL(PLATFORM_SOLARIS, test "$platform_solaris" = "yes") dnl ****************************** dnl Xft checking @@ -237,10 +338,10 @@ AC_ARG_WITH(xft, if test "x$with_xft" != "xno" ; then dnl Test fontconfig package - PKG_CHECK_MODULES(XFT, xft, xft_ok=yes, xft_ok=no) + PKG_CHECK_MODULES(XFT, fontconfig, xft_ok=yes, xft_ok=no) if test "x$xft_ok" != "xyes"; then dnl test xft package - PKG_CHECK_MODULES(XFT, fontconfig, xft_ok=yes, xft_ok=no) + PKG_CHECK_MODULES(XFT, xft, xft_ok=yes, xft_ok=no) if test "x$xft_ok" != "xyes"; then dnl Have to test xft presence AC_CHECK_HEADER(X11/Xft/Xft.h, xft_ok=yes, xft_ok=no) @@ -449,15 +550,11 @@ 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) @@ -474,7 +571,6 @@ 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 @@ -482,18 +578,18 @@ if test "x$poppler" = "xyes"; then 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 " + POPPLER_LIBS="$POPPLER_LIBS $POPPLER_GLIB_LIBS " 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_cairo" = "xyes"; then - dnl Working libpoppler-cairo found - dnl Check whether the Cairo FreeType backend is available - PKG_CHECK_MODULES(CAIRO_FT, cairo-ft, cairo_ft=yes, cairo_ft=no) - fi + if test "x$poppler_glib" = "xyes" -a "x$poppler_cairo" = "xyes" -a \ + "x$cairo_svg" = "xno" + then + POPPLER_LIBS="$POPPLER_LIBS $POPPLER_CAIRO_LIBS " + fi fi fi @@ -501,7 +597,7 @@ 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$cairo_ft" = "xyes"; then +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 @@ -510,37 +606,71 @@ fi AC_SUBST(POPPLER_CFLAGS) AC_SUBST(POPPLER_LIBS) +PKG_CHECK_MODULES(POPPLER_GFXFONT, poppler >= 0.8.3, popplernew=yes, popplernew=no) +if test "x$popplernew" = "xyes"; then + AC_DEFINE(POPPLER_NEW_GFXFONT, 1, [Use GfxFont from Poppler >= 0.8.3]) +fi + +AC_MSG_CHECKING(for new color space API in Poppler) +ink_svd_CPPFLAGS=$CPPFLAGS +ink_svd_LIBS=$LIBS +CPPFLAGS="$CPPFLAGS $POPPLER_CFLAGS" +LIBS="$LIBS $POPPLER_LIBS" +popplercolor="no" +AC_COMPILE_IFELSE([ +#include + +int main() { + typedef GfxColorSpace *(*parse_p)(Object *, Gfx *); + parse_p p; + p = &GfxColorSpace::parse; + return 0; +} +], [popplercolor=yes]) +CPPFLAGS=$ink_svd_CPPFLAGS +LIBS=$ink_svd_LIBS + +if test "x$popplercolor" = "xyes"; then + AC_DEFINE(POPPLER_NEW_COLOR_SPACE_API, 1, [Use color space API from Poppler >= 0.12.2]) + AC_MSG_RESULT(yes) +else + AC_MSG_RESULT(no) +fi + dnl ****************************** dnl Inkboard dependency checking dnl ****************************** -with_inkboard="no" -with_inkboard_ssl="no" +dnl with_inkboard="no" +dnl with_inkboard_ssl="no" -INKBOARD_CFLAGS="" +dnl INKBOARD_CFLAGS="" -AC_ARG_ENABLE(inkboard, - AS_HELP_STRING([--enable-inkboard], [enable Inkboard online whiteboard facility (disabled by default)]), - with_inkboard=$enableval,with_inkboard=no) +dnl AC_ARG_ENABLE(inkboard, +dnl AS_HELP_STRING([--enable-inkboard], [enable Inkboard online whiteboard facility (disabled by default)]), +dnl with_inkboard=$enableval,with_inkboard=no) -if test "x$with_inkboard" = "xyes"; then - with_inkboard="yes" - AC_DEFINE(WITH_INKBOARD,1,[Build in Inkboard support]) +dnl if test "x$with_inkboard" = "xyes"; then +dnl with_inkboard="yes" +dnl AC_DEFINE(WITH_INKBOARD,1,[Build in Inkboard support]) dnl Test for OpenSSL - PKG_CHECK_MODULES(INKBOARD, openssl, with_inkboard_ssl=yes, with_inkboard_ssl=no) - if test "x$with_inkboard_ssl" = "xyes"; then +dnl PKG_CHECK_MODULES(INKBOARD, openssl, with_inkboard_ssl=yes, with_inkboard_ssl=no) +dnl 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 - with_inkboard="no" -fi +dnl INKBOARD_CFLAGS="$INKBOARD_CFLAGS -DHAVE_SSL" +dnl RELAYTOOL([ssl], INKBOARD_LIBS, INKBOARD_CFLAGS, [inkboard_weak=yes]) +dnl RELAYTOOL([crypto], INKBOARD_LIBS, INKBOARD_CFLAGS, [inkboard_weak=yes]) +dnl AC_DEFINE(WITH_INKBOARD_SSL,1,[Build in SSL support for Inkboard]) +dnl fi +dnl else +dnl with_inkboard="no" +dnl fi -AM_CONDITIONAL(WITH_INKBOARD, test "x$with_inkboard" = "xyes") +dnl AM_CONDITIONAL(WITH_INKBOARD, test "x$with_inkboard" = "xyes") + +INKBOARD_CFLAGS="" +INKBOARD_LIBS="" AC_SUBST(INKBOARD_LIBS) AC_SUBST(INKBOARD_CFLAGS) @@ -561,19 +691,25 @@ 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) - +PKG_CHECK_MODULES(IMAGEMAGICK, ImageMagick++, magick_ok=yes, magick_ok=no) 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 + AC_DEFINE(WITH_IMAGE_MAGICK,1,[Image Magick++ support for bitmap effects]) fi - AM_CONDITIONAL(USE_IMAGE_MAGICK, test "x$magick_ok" = "xyes") +AC_SUBST(IMAGEMAGICK_LIBS) +AC_SUBST(IMAGEMAGICK_CFLAGS) + +dnl *********************************************************************************************************** +dnl Check for a Cairo version that implements user-fonts feature (with a stable API, that is cairo > 1.7.6), +dnl so that we conditionally add SVGFonts support +dnl *********************************************************************************************************** + +PKG_CHECK_MODULES(CAIRO_USER_FONTS, cairo > 1.7.6, cairouserfonts=yes, cairouserfonts=no) +if test "x$cairouserfonts" = "xyes"; then + AC_DEFINE(ENABLE_SVG_FONTS, 1, [SVG Fonts should be used]) +fi + dnl ****************************** dnl Unconditional dependencies dnl ****************************** @@ -584,7 +720,22 @@ if test $cc_vers_major -gt 3; then 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.8.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 giomm-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 gsl) + +# Check for Apple Mac OS X Carbon framework +carbon_ok=no +AC_MSG_CHECKING([for Mac OS X Carbon support]) +AC_COMPILE_IFELSE([ +#include +#include +], [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)])) @@ -594,18 +745,27 @@ if test "x$cairo_pdf" = "xyes"; then AC_DEFINE(HAVE_CAIRO_PDF, 1, [Whether the Cairo PDF backend is available]) fi -PKG_CHECK_MODULES(GTK_UNIX_PRINT, gtk+-unix-print-2.0, gtk_unix_print=yes, gtk_unix_print=no) -if test "x$gtk_unix_print" = "xyes"; then - AC_DEFINE(HAVE_GTK_UNIX_PRINT, 1, [Whether the GTK Unix printing backend is available]) -fi - dnl Shouldn't we test for libpng and libz? -INKSCAPE_LIBS="$INKSCAPE_LIBS -lpng -lz" +INKSCAPE_LIBS="$INKSCAPE_LIBS -lpng -lz -lX11 -lxml2" +if test "x$openmp_ok" = "xyes"; then + INKSCAPE_LIBS="$INKSCAPE_LIBS -lgomp" +fi AC_CHECK_HEADER(popt.h, [INKSCAPE_LIBS="$INKSCAPE_LIBS -lpopt"], AC_MSG_ERROR([libpopt is required])) +dnl ************************** +dnl Check for aspell +dnl ****************************** +AC_CHECK_LIB(aspell, new_aspell_config, [AC_CHECK_HEADER(aspell.h, aspell_ok=yes, aspell_ok=no)], aspell_ok=no, -lz -lm) +if test "x$aspell_ok" = "xyes"; then + AC_DEFINE(HAVE_ASPELL, 1, [Use aspell for built-in spellchecker]) + INKSCAPE_LIBS="$INKSCAPE_LIBS -laspell" +else + AC_MSG_CHECKING([Aspell not found, spell checker will be disabled]) +fi + dnl Check for bind_textdomain_codeset, including -lintl if GLib brings it in. sp_save_LIBS=$LIBS LIBS="$LIBS $INKSCAPE_LIBS" @@ -662,7 +822,7 @@ elif test "$enable_binreloc" = "auto"; then elif test "$enable_binreloc" = "no"; then AC_MSG_RESULT(no) else - AC_MSG_RESULT(no (unknown value "$enable_binreloc")) + AC_MSG_RESULT([no (unknown value "$enable_binreloc")]) enable_binreloc=no fi AC_DEFINE(BR_PTHREADS,[0],[Use binreloc thread support?]) @@ -745,21 +905,11 @@ 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 -Wformat-security -W -Wpointer-arith -Wcast-align -Wsign-compare -Woverloaded-virtual -Wswitch -D_FORTIFY_SOURCE=2 $CXXFLAGS" + # Add even more stuff + CXXFLAGS="-Wpointer-arith -Wcast-align -Wsign-compare -Woverloaded-virtual -Wswitch $CXXFLAGS" - dnl Test for arch-specific situations. - case "$host_cpu" in - mips|mipsel) - dnl Symbol tables can get too large: this uses alternate tables - dnl See http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=283476 - CXXFLAGS="$CXXFLAGS -Wa,-xgot" - CFLAGS="$CFLAGS -Wa,-xgot" - ;; - esac fi -AC_DEFINE(WITH_MODULES, 1, [Use experimental module support]) - dnl ****************************** dnl libinkscape dnl ****************************** @@ -772,95 +922,16 @@ dnl AC_SUBST(INKSCAPE_CFLAGS) AC_SUBST(INKSCAPE_LIBS) -# -# Checks to see if we should compile in MMX support (there will be -# a runtime test when the code is actually run to see if it should -# be used - this just checks if we can compile it.) -# -# This code is partially taken from Mesa -# -dnl Let people disable the MMX optimization -AC_ARG_ENABLE(mmx, [ --disable-mmx Don't use MMX optimization [default=auto]], enable_mmx="$enableval", enable_mmx=auto) - -AC_MSG_CHECKING(for x86 platform) -case $host_cpu in - i386|i486|i586|i686|i786|k6|k7) - use_x86_asm=yes - ;; - *) - use_x86_asm=no -esac -AC_MSG_RESULT($use_x86_asm) - -dnl Are we going to use MMX extensions -use_mmx_asm=no - -AC_MSG_CHECKING(compiler support for MMX) - -if test x$enable_mmx = xauto ; then - if test $use_x86_asm = yes; then - save_ac_ext=$ac_ext - ac_ext=S - - cp $srcdir/src/libnr/nr_mmx_R8G8B8A8_P_R8G8B8A8_P_A8_RGBAP.S conftest.S - if AC_TRY_EVAL(ac_compile); then - use_mmx_asm=yes - fi - dnl rm -f conftest.[oS] - - ac_ext=$save_ac_ext - fi - -dnl Enforce usage of MMX extensions -elif test x$enable_mmx = xyes ; then - use_mmx_asm=yes -else - use_mmx_asm=no -fi - -if test $use_mmx_asm = yes; then - AC_DEFINE(WITH_MMX, 1, [Use MMX optimizations, if CPU supports it]) - AC_MSG_RESULT(yes) -else - AC_MSG_RESULT(no) -fi - -AM_CONDITIONAL(USE_MMX, test x$use_mmx_asm = xyes) - -dnl Figure out where the datadir actually is -dnl http://autoconf-archive.cryp.to/ac_define_dir.html -prefix_NONE= -exec_prefix_NONE= -test "x$prefix" = xNONE && prefix_NONE=yes && prefix=$ac_default_prefix -test "x$exec_prefix" = xNONE && exec_prefix_NONE=yes && exec_prefix=$prefix -dnl In Autoconf 2.60, ${datadir} refers to ${datarootdir}, which in turn -dnl refers to ${prefix}. Thus we have to use `eval' twice. -eval runtime_datadir="${datadir}" -eval runtime_datadir="${runtime_datadir}" -test "$prefix_NONE" && prefix=NONE -test "$exec_prefix_NONE" && exec_prefix=NONE - -inkscape_sharedir="${runtime_datadir}/${PACKAGE_NAME}" - dnl Define our data paths for config.h -AC_SUBST(INKSCAPE_DATADIR) -AC_DEFINE_UNQUOTED([INKSCAPE_DATADIR], "${runtime_datadir}", - [Base data directory -- only path-prefix.h should use it!]) -AC_SUBST(PACKAGE_LOCALE_DIR) -AC_DEFINE_UNQUOTED([PACKAGE_LOCALE_DIR], "${runtime_datadir}/locale", - [Localization directory]) -AC_SUBST(INKSCAPE_LIBDIR) -AC_DEFINE_UNQUOTED([INKSCAPE_LIBDIR], "${prefix}/lib", - [Base library directory -- only path-prefix.h should use it!]) - -dnl Have to add module makefiles (lauris) +AC_DEFINE_DIR([INKSCAPE_DATADIR], [datadir], [Base data directory]) +AC_DEFINE_DIR([PACKAGE_LOCALE_DIR], [localedir], [Locatization directory]) AC_CONFIG_FILES([ Makefile src/Makefile src/check-header-compile -src/algorithms/makefile src/application/makefile +src/bind/makefile src/debug/makefile src/dialogs/makefile src/display/makefile @@ -869,8 +940,8 @@ src/extension/implementation/makefile src/extension/internal/makefile src/extension/makefile src/extension/script/makefile +src/filters/makefile src/helper/makefile -src/inkjar/makefile src/io/makefile src/libcroco/makefile src/libgdl/makefile @@ -882,16 +953,13 @@ 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 src/ui/widget/makefile -src/utest/makefile src/util/makefile src/widgets/makefile src/xml/makefile @@ -902,11 +970,22 @@ share/Makefile share/clipart/Makefile share/examples/Makefile share/extensions/Makefile +share/extensions/alphabet_soup/Makefile share/extensions/Barcode/Makefile +share/extensions/Poly3DObjects/Makefile +share/extensions/test/Makefile share/extensions/xaml2svg/Makefile +share/filters/Makefile share/fonts/Makefile share/gradients/Makefile share/icons/Makefile +share/icons/application/Makefile +share/icons/application/16x16/Makefile +share/icons/application/22x22/Makefile +share/icons/application/24x24/Makefile +share/icons/application/32x32/Makefile +share/icons/application/48x48/Makefile +share/icons/application/256x256/Makefile share/keys/Makefile share/markers/Makefile share/palettes/Makefile @@ -942,13 +1021,10 @@ Configuration: Use Xft font database: ${xft_ok} Use gnome-vfs: ${gnome_vfs} Use openoffice files: ${ij} - Use MMX optimizations: ${use_mmx_asm} Use relocation support: ${enable_binreloc} Internal Python: ${with_python} Internal Perl: ${with_perl} 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}