X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=configure.ac;h=d7c38a7c9d233177db54159b419597644d913a01;hb=99f8079bc0a32aef279e4af06de4cbf4bd853563;hp=869c4d265b2bb56994728147e75cf86b9b09ee7d;hpb=85310cc440f58ae1036019c5922fe61c33e5265b;p=inkscape.git diff --git a/configure.ac b/configure.ac index 869c4d265..d7c38a7c9 100644 --- a/configure.ac +++ b/configure.ac @@ -1,14 +1,16 @@ dnl Process this file with autoconf to produce a configure script. -AC_PREREQ(2.50) -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 -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.47+devel) + AC_CANONICAL_HOST -AC_CONFIG_SRCDIR(src/main.cpp) +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]), [ @@ -21,14 +23,18 @@ 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 @@ -94,8 +100,6 @@ 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]) @@ -121,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 ****************************** @@ -128,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 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" +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 th tr uk vi zh_CN zh_TW" AM_GLIB_GNU_GETTEXT AC_PATH_PROG(PKG_CONFIG, pkg-config, no) @@ -142,23 +185,19 @@ 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]) -AC_MSG_CHECKING([for OpenMP support]) -dnl a bit odd, but AX_OPENMP does its own check message, so we're not wrapping it at the moment -AC_MSG_RESULT([$openmp_ok]) 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) 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 @@ -531,7 +570,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 @@ -539,7 +577,7 @@ 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 @@ -549,7 +587,7 @@ if test "x$poppler" = "xyes"; then if test "x$poppler_glib" = "xyes" -a "x$poppler_cairo" = "xyes" -a \ "x$cairo_svg" = "xno" then - POPPLER_LIBS="$POPPLER_LIBS -lpoppler-glib " + POPPLER_LIBS="$POPPLER_LIBS $POPPLER_CAIRO_LIBS " fi fi fi @@ -567,42 +605,49 @@ fi AC_SUBST(POPPLER_CFLAGS) AC_SUBST(POPPLER_LIBS) -PKG_CHECK_MODULES(POPPLERNEW, poppler >= 0.8.3, popplernew=yes, popplernew=no) +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, [Poppler version of GfxFont to use (0.8.3 or higher versions of Poppler)]) + AC_DEFINE(POPPLER_NEW_GFXFONT, 1, [Use GfxFont from Poppler >= 0.8.3]) +fi +PKG_CHECK_MODULES(POPPLER_COLORSPACE, poppler >= 0.12.2, popplercolor=yes, popplercolor=no) +if test "x$popplercolor" = "xyes"; then + AC_DEFINE(POPPLER_NEW_COLOR_SPACE_API, 1, [Use color space API from Poppler >= 0.12.2]) 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 + +dnl AM_CONDITIONAL(WITH_INKBOARD, test "x$with_inkboard" = "xyes") -AM_CONDITIONAL(WITH_INKBOARD, test "x$with_inkboard" = "xyes") +INKBOARD_CFLAGS="" +INKBOARD_LIBS="" AC_SUBST(INKBOARD_LIBS) AC_SUBST(INKBOARD_CFLAGS) @@ -652,15 +697,15 @@ 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 >= 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) +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_TRY_CPP([ +AC_COMPILE_IFELSE([ #include #include -], carbon_ok=yes) +], [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]) @@ -692,10 +737,12 @@ 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_MSG_ERROR([aspell is needed to compile inkscape]) +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 -INKSCAPE_LIBS="$INKSCAPE_LIBS -laspell" dnl Check for bind_textdomain_codeset, including -lintl if GLib brings it in. sp_save_LIBS=$LIBS @@ -753,7 +800,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?]) @@ -839,19 +886,8 @@ if test "$GXX" = "yes"; then # 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 ****************************** @@ -927,7 +963,6 @@ AC_CONFIG_FILES([ Makefile src/Makefile src/check-header-compile -src/algorithms/makefile src/application/makefile src/bind/makefile src/debug/makefile @@ -940,7 +975,6 @@ 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 @@ -952,10 +986,8 @@ 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 @@ -974,16 +1006,19 @@ 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/hicolor/Makefile -share/icons/hicolor/scalable/Makefile -share/icons/hicolor/scalable/actions/Makefile -share/icons/hicolor/scalable/places/Makefile -share/icons/hicolor/scalable/status/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 @@ -1024,8 +1059,6 @@ Configuration: 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}