diff --git a/configure.ac b/configure.ac
index b0ce823c14b8175a900424049ac0ec01d2ec2e28..6dab04287fadc8b5a5c05a034fdca52369d03a47 100644 (file)
--- a/configure.ac
+++ b/configure.ac
dnl Process this file with autoconf to produce a configure script.
AC_PREREQ(2.50)
dnl Process this file with autoconf to produce a configure script.
AC_PREREQ(2.50)
-AC_INIT(inkscape, 0.43+devel)
+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 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
AC_CONFIG_SRCDIR(src/main.cpp)
AM_INIT_AUTOMAKE
AC_CONFIG_SRCDIR(src/main.cpp)
AM_INIT_AUTOMAKE
+AC_ARG_ENABLE([lsb], AS_HELP_STRING([--enable-lsb], [LSB-compatible build configuration]), [
+ prefix=/opt/inkscape
+ PATH="/opt/lsb/bin:$PATH"
+ CC=lsbcc
+ CXX=lsbc++
+ export CC CXX
+])
+
AM_CONFIG_HEADER(config.h)
AC_PROG_INTLTOOL(0.22)
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
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.
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"
# -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
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"
dnl Honor aclocal flags
ACLOCAL="$ACLOCAL $ACLOCAL_FLAGS"
-dnl RANLIB is outdated now
-dnl AC_PROG_RANLIB
-AM_PROG_LIBTOOL
+AC_PROG_RANLIB
dnl Verify our GCC version
if test "x$GXX" = "xyes"; then
AC_MSG_CHECKING([GNU compiler version])
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])
sed 's/.*gcc version \([-a-z0-9\.]*\).*/\1/'`"]
AC_MSG_RESULT([$cc_version])
AC_SUBST(GETTEXT_PACKAGE)
AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE,"$GETTEXT_PACKAGE",[Translation domain used])
dnl Add the languages which your application supports here.
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 ca cs da de el es es_MX et eu fr ga gl hu it ja mk nb nl nn pa pl pt pt_BR ru sk sl sr sr@Latn sv tr uk zh_CN"
+ALL_LINGUAS="am az be bg bn ca 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"
AM_GLIB_GNU_GETTEXT
AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
AM_GLIB_GNU_GETTEXT
AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
AC_MSG_ERROR(You have to install pkg-config to compile inkscape.)
fi
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 ******************************
AC_CHECK_LIB(png, png_read_info, [AC_CHECK_HEADER(png.h, png_ok=yes, png_ok=no)], png_ok=no, -lz -lm)
if test "x$png_ok" != "xyes"; then
AC_MSG_ERROR([libpng >= 1.2 is needed to compile inkscape])
AC_CHECK_LIB(png, png_read_info, [AC_CHECK_HEADER(png.h, png_ok=yes, png_ok=no)], png_ok=no, -lz -lm)
if test "x$png_ok" != "xyes"; then
AC_MSG_ERROR([libpng >= 1.2 is needed to compile inkscape])
AC_MSG_ERROR([libgc (the Boehm Conservative Collector) 6.4+, is needed to compile inkscape -- http://www.hpl.hp.com/personal/Hans_Boehm/gc])
fi
AC_MSG_ERROR([libgc (the Boehm Conservative Collector) 6.4+, is needed to compile inkscape -- http://www.hpl.hp.com/personal/Hans_Boehm/gc])
fi
+dnl This check is to get a FIONREAD definition on Solaris 8
+AC_CHECK_HEADERS([sys/filio.h])
+
+
AC_CHECK_HEADERS([malloc.h])
AC_CHECK_FUNCS([mallinfo], [
AC_CHECK_MEMBERS([struct mallinfo.usmblks,
AC_CHECK_HEADERS([malloc.h])
AC_CHECK_FUNCS([mallinfo], [
AC_CHECK_MEMBERS([struct mallinfo.usmblks,
dnl ******************************
dnl Win32
dnl ******************************
dnl ******************************
dnl Win32
dnl ******************************
-AC_MSG_CHECKING([for native Win32])
+AC_MSG_CHECKING([for Win32 platform])
case "$host" in
*-*-mingw*)
case "$host" in
*-*-mingw*)
- os_win32=yes
+ platform_win32=yes
INKSCAPE_CFLAGS="$INKSCAPE_CFLAGS -mms-bitfields -DLIBXML_STATIC"
;;
*)
INKSCAPE_CFLAGS="$INKSCAPE_CFLAGS -mms-bitfields -DLIBXML_STATIC"
;;
*)
- os_win32=no
+ platform_win32=no
;;
esac
;;
esac
-AC_MSG_RESULT([$os_win32])
-AM_CONDITIONAL(OS_WIN32, test "$os_win32" = "yes")
+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 ******************************
dnl Xft checking
AC_MSG_CHECKING(for Perl development environment)
AC_ARG_WITH(perl,
AC_MSG_CHECKING(for Perl development environment)
AC_ARG_WITH(perl,
- AC_HELP_STRING([--with-perl], [use Perl for embedded scripting]),
+ AC_HELP_STRING([--with-perl], [use Perl for embedded scripting (EXPERIMENTAL)]),
[with_perl=$withval], [with_perl=skipped])
if test "x$with_perl" = "xyes"; then
[with_perl=$withval], [with_perl=skipped])
if test "x$with_perl" = "xyes"; then
AC_MSG_CHECKING(for Python development environment)
AC_ARG_WITH(python,
AC_MSG_CHECKING(for Python development environment)
AC_ARG_WITH(python,
- AC_HELP_STRING([--with-python], [use Python for embedded scripting]),
+ AC_HELP_STRING([--with-python], [use Python for embedded scripting (EXPERIMENTAL)]),
[with_python=$withval], [with_python=skipped])
if test "x$with_python" = "xyes"; then
[with_python=$withval], [with_python=skipped])
if test "x$with_python" = "xyes"; then
AC_SUBST(PYTHON_CFLAGS)
AC_SUBST(PYTHON_LIBS)
AC_SUBST(PYTHON_CFLAGS)
AC_SUBST(PYTHON_LIBS)
+dnl ******************************
+dnl LittleCms checking
+dnl ******************************
+
+AC_ARG_ENABLE(lcms,
+ AC_HELP_STRING([--enable-lcms], [enable LittleCms for color management]),
+ [enable_lcms=$enableval], [enable_lcms=yes])
+
+if test "x$enable_lcms" = "xno"; then
+ dnl Asked to ignore LittleCms
+ lcms=no
+else
+ dnl Have to test LittleCms presence
+ PKG_CHECK_MODULES(LCMS, lcms >= 1.13, lcms=yes, lcms=no)
+ if test "x$lcms" != "xyes"; then
+ dnl No lcms found
+ if test "x$enable_lcms" = "xyes"; then
+ dnl LittleCms was explicitly asked for, so stop
+ AC_MSG_ERROR([--enable-lcms was specified, but appropriate LittleCms development packages could not be found])
+ else
+ # lcms is no, tell us for the log file
+ AC_MSG_RESULT($lcms)
+ fi
+ else
+ dnl Working lcms
+ LCMS_LIBS="-llcms "
+ 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 Inkboard dependency checking
dnl ******************************
with_inkboard="no"
dnl ******************************
dnl Inkboard dependency checking
dnl ******************************
with_inkboard="no"
+with_inkboard_ssl="no"
-AC_MSG_CHECKING(for loudmouth-1.0+)
+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)
if test "x$with_inkboard" = "xyes"; then
AC_ARG_ENABLE(inkboard,
AS_HELP_STRING([--enable-inkboard], [enable Inkboard online whiteboard facility (disabled by default)]),
with_inkboard=$enableval,with_inkboard=no)
if test "x$with_inkboard" = "xyes"; then
- PKG_CHECK_MODULES(LIBLOUDMOUTH, loudmouth-1.0, loudmouth_ok=yes, loudmouth_ok=no)
- if test "x$loudmouth_ok" = "xyes"; then
with_inkboard="yes"
AC_DEFINE(WITH_INKBOARD,1,[Build in Inkboard support])
with_inkboard="yes"
AC_DEFINE(WITH_INKBOARD,1,[Build in Inkboard support])
- else
- with_inkboard="no"
- fi
+
+ 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 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
else
with_inkboard="no"
fi
-AC_MSG_RESULT($with_inkboard)
AM_CONDITIONAL(WITH_INKBOARD, test "x$with_inkboard" = "xyes")
AM_CONDITIONAL(WITH_INKBOARD, test "x$with_inkboard" = "xyes")
-AC_SUBST(LIBLOUDMOUTH_CFLAGS)
-AC_SUBST(LIBLOUDMOUTH_LIBS)
+AC_SUBST(INKBOARD_LIBS)
+AC_SUBST(INKBOARD_CFLAGS)
dnl ******************************
dnl Unconditional dependencies
dnl ******************************
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...
-PKG_CHECK_MODULES(INKSCAPE, gdkmm-2.4 glibmm-2.4 gtkmm-2.4 gtk+-2.0 >= 2.4.0 libxml-2.0 >= 2.6.0 libxslt >= 1.0.15 sigc++-2.0 >= 2.0.3 $ink_spell_pkg gthread-2.0 >= 2.0)
+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.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(CAIRO_PDF, cairo-pdf, cairo_pdf=yes, cairo_pdf=no)
+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"
dnl Shouldn't we test for libpng and libz?
INKSCAPE_LIBS="$INKSCAPE_LIBS -lpng -lz"
# programmer deliberately has an unused parameter (e.g. because it's used
# as a callback or similar function pointer use).
# 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
dnl Test for arch-specific situations.
case "$host_cpu" in
esac
fi
esac
fi
-dnl ******************************
-dnl Plugin Support
-dnl ******************************
-dnl
-dnl UPDATE: This is unconditional now (Lauris)
-dnl
-dnl AC_ARG_WITH(modules, AC_HELP_STRING([--with-modules], [Compile with plugin support (experimental)]), [mod=$withval], [mod=yes])
-dnl
-dnl AM_CONDITIONAL(USE_MODULES, test "x$mod" = "xyes")
-dnl if test "x$mod" = "xyes"; then
-dnl AC_DEFINE(WITH_MODULES, 1, [Use experimental module support])
-dnl fi
-
AC_DEFINE(WITH_MODULES, 1, [Use experimental module support])
dnl ******************************
AC_DEFINE(WITH_MODULES, 1, [Use experimental module support])
dnl ******************************
AM_CONDITIONAL(USE_MMX, test x$use_mmx_asm = xyes)
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 Figure out where the datadir actually is
-if test "x${datadir}" = 'x${prefix}/share'; then
- if test "x${prefix}" = "xNONE"; then
- runtime_datadir="${ac_default_prefix}/share"
- else
- runtime_datadir="${prefix}/share"
- fi
-else
- runtime_datadir="${datadir}"
-fi
+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}"
inkscape_sharedir="${runtime_datadir}/${PACKAGE_NAME}"
src/extension/implementation/makefile
src/extension/internal/makefile
src/extension/makefile
src/extension/implementation/makefile
src/extension/internal/makefile
src/extension/makefile
-src/extension/plugin/makefile
src/extension/script/makefile
src/helper/makefile
src/inkjar/makefile
src/extension/script/makefile
src/helper/makefile
src/inkjar/makefile
src/libnrtype/makefile
src/libavoid/makefile
src/livarot/makefile
src/libnrtype/makefile
src/libavoid/makefile
src/livarot/makefile
+src/pedro/makefile
src/jabber_whiteboard/makefile
src/removeoverlap/makefile
src/svg/makefile
src/trace/makefile
src/traits/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/dialog/makefile
src/ui/makefile
src/ui/view/makefile
share/clipart/Makefile
share/examples/Makefile
share/extensions/Makefile
share/clipart/Makefile
share/examples/Makefile
share/extensions/Makefile
+share/extensions/Barcode/Makefile
share/fonts/Makefile
share/gradients/Makefile
share/icons/Makefile
share/fonts/Makefile
share/gradients/Makefile
share/icons/Makefile
-share/keyboards/Makefile
+share/keys/Makefile
share/markers/Makefile
share/palettes/Makefile
share/patterns/Makefile
share/markers/Makefile
share/palettes/Makefile
share/patterns/Makefile
LDFLAGS: ${LDFLAGS}
Use Xft font database: ${xft_ok}
LDFLAGS: ${LDFLAGS}
Use Xft font database: ${xft_ok}
- Use gnome-print: ${gp}
- Use gnome-vfs: ${gnome_vfs}
+ Use gnome-vfs: ${gnome_vfs}
Use openoffice files: ${ij}
Use MMX optimizations: ${use_mmx_asm}
Use relocation support: ${enable_binreloc}
Use openoffice files: ${ij}
Use MMX optimizations: ${use_mmx_asm}
Use relocation support: ${enable_binreloc}
- Use Python extensions: ${with_python}
- Use Perl extensions: ${with_perl}
- Enable Inkboard: ${with_inkboard}
+ Internal Python: ${with_python}
+ Internal Perl: ${with_perl}
+ Enable LittleCms: ${enable_lcms}
+ Enable Inkboard: ${with_inkboard}
+ Enable SSL in Inkboard: ${with_inkboard_ssl}
"
"