#MIN_CONFIG(3.3)
KDE_ENABLE_HIDDEN_VISIBILITY
# Remember to synchronize the version number with the file koffice/lib/kofficecore/kofficeversion.h
AM_INIT_AUTOMAKE(koffice, "1.6.3")
CXXFLAGS="$CXXFLAGS $KDE_DEFAULT_CXXFLAGS"
AC_CHECK_HEADERS(unistd.h sys/param.h floatingpoint.h paths.h)
AC_C_BIGENDIAN
AC_CHECK_KDEMAXPATHLEN
KDE_INIT_DOXYGEN([The KOffice API Reference], [Version $VERSION])
# Check for GraphicsMagick...
have_graphicsmagick=no
KDE_FIND_PATH(GraphicsMagick-config, GRAPHICS_MAGICK_CONFIG, [${prefix}/bin ${exec_prefix}/bin /usr/local/bin /opt/local/bin], [
AC_MSG_WARN([Could not find GraphicsMagick anywhere, check http://www.graphicsmagick.org/ for GraphicsMagick >= 1.1.7.])
])
if test -n "$GRAPHICS_MAGICK_CONFIG"; then
vers=`$GRAPHICS_MAGICK_CONFIG --version 2>/dev/null | $AWK 'BEGIN { FS = "."; } { printf "%d", ($1 * 1000 + $2) * 1000 + $3;}'`
if test -n "$vers" && test "$vers" -ge 1001007; then
LIBGMAGICK_LIBS="`$GRAPHICS_MAGICK_CONFIG --libs`"
LIBGMAGICK_LDFLAGS="`$GRAPHICS_MAGICK_CONFIG --ldflags`"
LIBGMAGICK_RPATH=
for args in $LIBGMAGICK_LIBS; do
case $args in
-L*)
LIBGMAGICK_RPATH="$LIBMAGICK_RPATH $args"
;;
esac
done
LIBGMAGICK_RPATH=`echo $LIBGMAGICK_RPATH | $SED -e "s/-L/-R/g"`
LIBGMAGICK_CPPFLAGS="`$GRAPHICS_MAGICK_CONFIG --cppflags`"
AC_DEFINE(HAVE_GMAGICK,1, [GraphicsMagick is available])
have_graphicsmagick=yes
else
AC_MSG_WARN([You need at least GraphicsMagick 1.1.7])
fi
fi
if test ! "$USE_RPATH" = "yes"; then
LIBGMAGICK_RPATH=
fi
AC_SUBST(LIBGMAGICK_LIBS)
AC_SUBST(LIBGMAGICK_LDFLAGS)
AC_SUBST(LIBGMAGICK_CPPFLAGS)
AC_SUBST(LIBGMAGICK_RPATH)
AM_CONDITIONAL(include_graphicsmagick_filter, test "$have_graphicsmagick" = "yes" -a HAVE_GMAGICK)
# End of GraphicsMagick check
# Check for ImageMagick...
have_imagemagick=no
KDE_FIND_PATH(Magick-config, MAGICK_CONFIG, [${prefix}/bin ${exec_prefix}/bin /usr/local/bin /opt/local/bin], [
AC_MSG_WARN([Could not find ImageMagick anywhere, check http://www.imagemagick.org/ for ImageMagick >= 5.5.2.])
])
if test -n "$MAGICK_CONFIG"; then
vers=`$MAGICK_CONFIG --version 2>/dev/null | $AWK 'BEGIN { FS = "."; } { printf "%d", ($1 * 1000 + $2) * 1000 + $3;}'`
if test -n "$vers" && test "$vers" -ge 5005002
then
if test "$vers" -ge 6000003
then
AC_DEFINE(HAVE_MAGICK6, 1, [ImageMagick Version 6])
fi
if test "$vers" -ge 6001000
then
AC_DEFINE(HAVE_MAGICK61, 1, [ImageMagick Version 6.1])
fi
LIBMAGICK_LIBS="`$MAGICK_CONFIG --libs`"
LIBMAGICK_LDFLAGS="`$MAGICK_CONFIG --ldflags`"
LIBMAGICK_RPATH=
for args in $LIBMAGICK_LIBS; do
case $args in
-L*)
LIBMAGICK_RPATH="$LIBMAGICK_RPATH $args"
;;
esac
done
LIBMAGICK_RPATH=`echo $LIBMAGICK_RPATH | $SED -e "s/-L/-R/g"`
LIBMAGICK_CPPFLAGS="`$MAGICK_CONFIG --cppflags`"
AC_DEFINE(HAVE_MAGICK,1, [ImageMagick is available])
have_imagemagick=yes
else
AC_MSG_WARN([You need at least ImageMagick 5.5.2])
fi
fi
if test ! "$USE_RPATH" = "yes"; then
LIBMAGICK_RPATH=
fi
AC_SUBST(LIBMAGICK_LIBS)
AC_SUBST(LIBMAGICK_LDFLAGS)
AC_SUBST(LIBMAGICK_CPPFLAGS)
AC_SUBST(LIBMAGICK_RPATH)
AM_CONDITIONAL(include_imagemagick_filter, test "$have_imagemagick" = "yes" -a HAVE_MAGICK61 -a ! "$have_graphicsmagick" = "yes" -a ! HAVE_GMAGICK)
# End of ImageMagick check
##########################################################################
# This last check is copied from kdenonbeta/gsf/configure.in.in
##########################################################################
# KOFFICE_PKG_CHECK_MODULES(GSTUFF, gtk+-2.0 >= 1.3 glib = 1.3.4, action-if, action-not)
# defines GSTUFF_LIBS, GSTUFF_CFLAGS, see pkg-config man page
# also defines GSTUFF_PKG_ERRORS on error
# Note: This is specially tweaked for karbon's fontconfig check. Please fix
# it before using it for other tests :-)
AC_DEFUN([KOFFICE_PKG_CHECK_MODULES], [
succeeded=no
if test -z "$PKG_CONFIG"; then
AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
fi
if test "$PKG_CONFIG" = "no" ; then
echo "*** The pkg-config script could not be found. Make sure it is"
echo "*** in your path, or set the PKG_CONFIG environment variable"
echo "*** to the full path to pkg-config."
echo "*** Or see http://www.freedesktop.org/software/pkgconfig to get pkg-config."
echo "***"
echo "*** Due to that we can't perform the check for fontconfig..." # added for karbon (Werner)
else
PKG_CONFIG_MIN_VERSION=0.9.0
if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then
AC_MSG_CHECKING(for $2)
if $PKG_CONFIG --exists "$2" ; then
AC_MSG_RESULT(yes)
succeeded=yes
AC_MSG_CHECKING($1_CFLAGS)
$1_CFLAGS=`$PKG_CONFIG --cflags "$2"`
AC_MSG_RESULT($$1_CFLAGS)
AC_MSG_CHECKING($1_LIBS)
$1_LIBS=`$PKG_CONFIG --libs "$2"`
AC_MSG_RESULT($$1_LIBS)
else
$1_CFLAGS=""
$1_LIBS=""
## If we have a custom action on failure, don't print errors, but
## do set a variable so people can do so.
$1_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "$2"`
ifelse([$4], ,echo $$1_PKG_ERRORS,)
fi
AC_SUBST($1_CFLAGS)
AC_SUBST($1_LIBS)
else
echo "*** Your version of pkg-config is too old. You need version $PKG_CONFIG_MIN_VERSION or newer."
echo "*** See http://www.freedesktop.org/software/pkgconfig"
fi
fi
if test $succeeded = yes; then
ifelse([$3], , :, [$3])
# else # removed for karbon (Werner)
# ifelse([$4], , AC_MSG_ERROR([Library requirements ($2) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them.]), [$4])
fi
])
# --- Check for KDE 3.2 or 3.3 ---
AC_MSG_CHECKING([for KDE version])
AC_LANG_SAVE
AC_LANG_CPLUSPLUS
tdeversion_save_CXXFLAGS="$CXXFLAGS"
tdeversion_safe_LIBS="$LIBS"
LIBS="$LIBS $X_EXTRA_LIBS"
CXXFLAGS="$CXXFLAGS $all_includes"
AC_COMPILE_IFELSE([
#include <tdeversion.h>
#if ! ( KDE_IS_VERSION( 3, 2, 90 ) )
#error KDE 3.2
#endif
],
need_trinity2_compat="no"
,
need_trinity2_compat="yes"
)
AC_COMPILE_IFELSE([
#include <tdeversion.h>
#if ! ( KDE_IS_VERSION( 3, 3, 90 ) )
#error KDE 3.3
#endif
],
need_trinity3_compat="no"
,
need_trinity3_compat="yes"
)
AC_COMPILE_IFELSE([
#include <tdeversion.h>
#if ! ( KDE_IS_VERSION( 3, 4, 90 ) )
#error KDE 3.4
#endif
],
need_trinity4_compat="no"
,
need_trinity4_compat="yes"
)
AC_COMPILE_IFELSE([
#include <tdeversion.h>
#if ! ( KDE_IS_VERSION( 3, 5, 2 ) )
#error KDE 3.5.x (x < 2)
#endif
],
need_trinity51_compat="no"
,
need_trinity51_compat="yes"
)
CXXFLAGS="$tdeversion_save_CXXFLAGS"
LIBS="$tdeversion_safe_LIBS"
AC_LANG_RESTORE
if test "$need_trinity2_compat" = "yes"; then
AC_MSG_RESULT([KDE 3.2.x])
else
if test "$need_trinity3_compat" = "yes"; then
AC_MSG_RESULT([KDE 3.3.x])
else
if test "$need_trinity4_compat" = "yes"; then
AC_MSG_RESULT([KDE 3.4.x])
else
if test "$need_trinity51_compat" = "yes"; then
AC_MSG_RESULT([KDE 3.5.x (x < 2)])
else
AC_MSG_RESULT([KDE 3.5.x (x >=2) or SVN trunk])
fi
fi
fi
fi
AM_CONDITIONAL(need_trinity2_compatibility, test "$need_trinity2_compat" = "yes")
AM_CONDITIONAL(need_trinity3_compatibility, test "$need_trinity3_compat" = "yes")
AM_CONDITIONAL(need_trinity4_compatibility, test "$need_trinity4_compat" = "yes")
AM_CONDITIONAL(need_trinity51_compatibility, test "$need_trinity51_compat" = "yes")
# Keep the old KDE 3.1 test, as long as it is still used
AM_CONDITIONAL(need_trinity1_compatibility, test "supported" = "no")
# --- End KDE 3.2 check ---
# --- OpenEXR check ---
KDE_FIND_PATH(pkg-config, PKGCONFIG, [${prefix}/bin ${exec_prefix}/bin /usr/bin /usr/local/bin /opt/local/bin], [
AC_MSG_WARN([Could not find pkg-config])
])
AC_MSG_CHECKING([for OpenEXR])
if test -n "$PKGCONFIG"; then
vers=`$PKGCONFIG OpenEXR --modversion 2>/dev/null`
if test -n "$vers"
then
OPENEXR_LIBS="`$PKGCONFIG OpenEXR --libs`"
OPENEXR_RPATH=
for args in $OPENEXR_LIBS; do
case $args in
-L*)
OPENEXR_RPATH="$OPENEXR_RPATH $args"
;;
esac
done
OPENEXR_RPATH=`echo $OPENEXR_RPATH | $SED -e "s/-L/-R/g"`
OPENEXR_CFLAGS="`$PKGCONFIG OpenEXR --cflags`"
AC_DEFINE_UNQUOTED(HAVE_OPENEXR, 1, [Defines if your system has the OpenEXR library])
fi
fi
if test ! "$USE_RPATH" = "yes"; then
OPENEXR_RPATH=
fi
if test -n "$OPENEXR_LIBS"
then
AC_MSG_RESULT([yes])
AC_LANG_SAVE
AC_LANG_CPLUSPLUS
SAVED_CXXFLAGS="$CXXFLAGS"
for CXX_STD_TEST in "" 11 14 17; do
CXXFLAGS="$SAVED_CXXFLAGS"
if test "x$CXX_STD_TEST" = "x"; then
AC_MSG_CHECKING([OpenEXR build with default C++ standard])
OPENEXR_CXXFLAGS=""
else
AC_MSG_CHECKING([OpenEXR build with C++$CXX_STD_TEST])
OPENEXR_CXXFLAGS="-std=c++$CXX_STD_TEST"
fi
CXXFLAGS="$SAVED_CXXFLAGS $OPENEXR_CFLAGS $OPENEXR_CXXFLAGS"
AC_TRY_COMPILE([
#include <ImfRgbaFile.h>
],[ ],
openexr_cxx_std=yes,
openexr_cxx_std=no
)
if test "x$openexr_cxx_std" = "xyes"; then
AC_SUBST(OPENEXR_CXXFLAGS)
AC_MSG_RESULT(yes)
break
else
AC_MSG_RESULT(no)
fi
done
CXXFLAGS="$SAVED_CXXFLAGS"
AC_LANG_RESTORE
else
AC_MSG_RESULT([not found])
fi
AC_SUBST(OPENEXR_LIBS)
AC_SUBST(OPENEXR_CFLAGS)
AC_SUBST(OPENEXR_RPATH)
AM_CONDITIONAL(have_openexr, test "x$openexr_cxx_std" = "xyes")
# --- End of OpenEXR check ---