X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=configure.ac;h=d33502000321917be2033bccda7f836301b95e64;hb=79483ba14ddfcd2a9befc251c88233d6495d8436;hp=a1f0e4171f4e4a3859c55c2936c7633185ac50b7;hpb=973e32842d0db7a0a18bb03e33a433302808cf54;p=inkscape.git diff --git a/configure.ac b/configure.ac index a1f0e4171..d33502000 100644 --- a/configure.ac +++ b/configure.ac @@ -1,7 +1,7 @@ dnl Process this file with autoconf to produce a configure script. AC_PREREQ(2.50) -AC_INIT(inkscape, 0.45+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 @@ -33,18 +33,62 @@ 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) + + #### + # 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 @@ -84,7 +128,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 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@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 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) @@ -96,6 +140,21 @@ 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 ****************************** + +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 ****************************** @@ -148,7 +207,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" && "x$cross_compiling" = "xno" ; then AC_MSG_CHECKING([libgc version 6.4+]) AC_RUN_IFELSE( [AC_LANG_SOURCE([[ @@ -204,7 +263,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 +271,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 +298,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 +510,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) @@ -510,6 +567,11 @@ fi AC_SUBST(POPPLER_CFLAGS) AC_SUBST(POPPLER_LIBS) +PKG_CHECK_MODULES(POPPLERNEW, 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)]) +fi + dnl ****************************** dnl Inkboard dependency checking dnl ****************************** @@ -561,19 +623,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 +652,7 @@ 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) +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) # Check for Apple Mac OS X Carbon framework carbon_ok=no @@ -610,7 +678,11 @@ if test "x$cairo_pdf" = "xyes"; then fi dnl Shouldn't we test for libpng and libz? -INKSCAPE_LIBS="$INKSCAPE_LIBS -lpng -lz" +if test "x$openmp_ok" = "xyes"; then + INKSCAPE_LIBS="$INKSCAPE_LIBS -lpng -lz -lgomp" +else + INKSCAPE_LIBS="$INKSCAPE_LIBS -lpng -lz" +fi AC_CHECK_HEADER(popt.h, [INKSCAPE_LIBS="$INKSCAPE_LIBS -lpopt"], @@ -755,7 +827,8 @@ 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 @@ -871,6 +944,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 @@ -879,6 +953,7 @@ 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 @@ -912,8 +987,11 @@ 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/xaml2svg/Makefile +share/filters/Makefile share/fonts/Makefile share/gradients/Makefile share/icons/Makefile