#MIN_CONFIG(3.2)

KDE_ENABLE_HIDDEN_VISIBILITY

KDE_CHECK_LIB(m, lround, [
  AC_DEFINE(HAVE_LROUND, 1, [Define if you have lround])
])

#
# KIPI
#
AC_ARG_WITH(kipi,
  AC_HELP_STRING([--without-kipi], [build Gwenview without KIPI, 'KDE Image Plugin Interface']),
  [want_kipi=$withval],
  [want_kipi=yes]
)

if test "$want_kipi" = "yes"; then
  AC_MSG_NOTICE(checking if KIPI is installed)
  KDE_CHECK_HEADER(libkipi/interface.h,
    have_kipi=yes,
    have_kipi=no)

  if test "$have_kipi" = "yes"; then
	AC_DEFINE(GV_HAVE_KIPI, 1, [If we have libkipi installed])
	GV_LIB_KIPI="-lkipi"
	AC_SUBST(GV_LIB_KIPI)
  else
    AC_MSG_WARN([KIPI is not installed. Gwenview will be build without KIPI support.])
  fi
fi

#
# Imlib/Mosfet scaling
#
AM_PROG_AS

# MMX test duped from tdelibs/tdefx - it should be probably moved to admin/
dnl -----------------------------------------------------
dnl IA32 checks
dnl -----------------------------------------------------

gv_asm_defs=
case $host_cpu in
  i*86 )
  AC_MSG_CHECKING(for assembler support for IA32 extensions)
 
  dnl MMX check
  AC_TRY_COMPILE(, [ __asm__("pxor %mm0, %mm0") ],
  [
    echo $ECHO_N "MMX yes$ECHO_C"
    AC_DEFINE_UNQUOTED(HAVE_X86_MMX, 1, [Define to 1 if the assembler supports MMX instructions.])
    gv_asm_defs="$gv_asm_defs -DHAVE_X86_MMX"
  ], [ echo $ECHO_N "MMX no$ECHO_C" ])

  dnl SSE check
  AC_TRY_COMPILE(,[ __asm__("xorps %xmm0, %xmm0") ],
  [
    echo $ECHO_N ", SSE yes$ECHO_C"
    AC_DEFINE_UNQUOTED(HAVE_X86_SSE, 1, [Define to 1 if the assembler supports SSE instructions.])
    gv_asm_defs="$gv_asm_defs -DHAVE_X86_SSE"
  ], [ echo $ECHO_N ", SSE no$ECHO_C" ])

  dnl SSE2 check
  AC_TRY_COMPILE(, [ __asm__("xorpd %xmm0, %xmm0") ],
  [
    echo $ECHO_N ", SSE2 yes$ECHO_C"
    AC_DEFINE_UNQUOTED(HAVE_X86_SSE2, 1, [Define to 1 if the assembler supports SSE2 instructions.])
    gv_asm_defs="$gv_asm_defs -DHAVE_X86_SSE2"
  ], [ echo $ECHO_N ", SSE2 no$ECHO_C" ])
 
  dnl 3DNOW check
  AC_TRY_COMPILE(, [ __asm__("femms") ],
  [
    echo $ECHO_N ", 3DNOW yes$ECHO_C"
    AC_DEFINE_UNQUOTED(HAVE_X86_3DNOW, 1, [Define to 1 if the assembler supports 3DNOW instructions.])
    gv_asm_defs="$gv_asm_defs -DHAVE_X86_3DNOW"
  ], [ echo $ECHO_N ", 3DNOW no$ECHO_C" ])
  echo
  ;;
  powerpc )
  AC_MSG_CHECKING(for assembler support for AltiVec instructions)
  dnl AltiVec check
  AC_TRY_COMPILE(, [ __asm__("mtspr 256, %0\n\t" "vand %%v0, %%v0, %%v0" : : "r"(-1) ) ],
  [
    echo $ECHO_N " yes$ECHO_C"
    AC_DEFINE_UNQUOTED(HAVE_PPC_ALTIVEC, 1, [Define to 1 if the assembler supports AltiVec instructions.])
    gv_asm_defs="$gv_asm_defs -DHAVE_PPC_ALTIVEC"
  ], [ echo $ECHO_N ", AltiVec no$ECHO_C" ])
  echo
  ;;
esac

GV_ASM_DEFS="$gv_asm_defs"
AC_SUBST(GV_ASM_DEFS)

#
# libmng check (for gvmngformattype.*)
#
LIBMNG=
CXXFLAGS_SAVE="$CXXFLAGS"
CXXFLAGS="$CXXFLAGS -DQT_CLEAN_NAMESPACE"
KDE_CHECK_HEADER(libmng.h,
    [
    KDE_CHECK_LIB(mng, mng_initialize,
        [
        AC_DEFINE_UNQUOTED(HAVE_LIBMNG, 1, [Define if you have libmng])
        LIBMNG="-lmng $LIBZ -lm"
        ], [], $LIBZ -lm)
    ])
CXXFLAGS="$CXXFLAGS_SAVE"
AC_SUBST(LIBMNG)
if test -z "$LIBMNG"; then
    AC_WARN([Can't find libmng.h, Gwenview won't be compiled with MNG support])
fi


#
# libxcursor
#
KDE_CHECK_HEADERS(X11/Xcursor/Xcursor.h,
    [KDE_CHECK_LIB(Xcursor, XcursorXcFileLoadImages, [
	GV_LIB_XCURSOR=-lXcursor
	AC_DEFINE_UNQUOTED(GV_HAVE_XCURSOR, 1, [Define to 1 if you have Xcursor])
    ], [ GV_LIB_XCURSOR= ], [ $X_PRE_LIBS -lX11 $X_EXTRA_LIBS ])],
    [ GV_LIB_XCURSOR= ], [#include <X11/Xlib.h>])
AC_SUBST(GV_LIB_XCURSOR)
if test -z "$GV_LIB_XCURSOR"; then
    AC_WARN([Can't find Xcursor.h, Gwenview won't be compiled with X cursor support])
fi


#
# libexiv2
#
KDE_CHECK_HEADERS(exiv2/image.hpp, have_exiv2=yes, have_exiv2=no)

if test "$have_exiv2" = "yes"; then
	LIB_EXIV2="-lexiv2"
	AC_SUBST(LIB_EXIV2)
else
	AC_MSG_ERROR([You are missing libexiv2, which is required to compile Gwenview])
	DO_NOT_COMPILE="$DO_NOT_COMPILE gwenview"
fi