diff options
Diffstat (limited to 'src/configure.in.in')
-rw-r--r-- | src/configure.in.in | 387 |
1 files changed, 387 insertions, 0 deletions
diff --git a/src/configure.in.in b/src/configure.in.in new file mode 100644 index 00000000..7095137f --- /dev/null +++ b/src/configure.in.in @@ -0,0 +1,387 @@ +#MIN_CONFIG(3) + +# ----------------------------------------------------------------- +# +# enable hidden visibility only if kde >= 3.3.2 and tdelibs has +# been compiled with visibility enabled +# +# ----------------------------------------------------------------- + +AC_LANG_PUSH(C++) +digikam_save_cppflags=$CPPFLAGS +CPPFLAGS="$CPPFLAGS $all_includes" +AC_MSG_CHECKING([if hidden visibility should be enabled]) +AC_COMPILE_IFELSE( + [ + #include <tdeversion.h> + #include <tdemacros.h> + int other_func( void ) + { + #if KDE_IS_VERSION(3,3,2) + #else + iam dying; + #endif + #ifdef __TDE_HAVE_GCC_VISIBILITY + #else + no, iam really dead; + #endif + return 0; + } + ], + [ AC_MSG_RESULT([yes]) + digikam_enable_hidden_visibility="yes" ], + [ AC_MSG_RESULT([no]) ] +) +CPPFLAGS=$digikam_save_cppflags +AC_LANG_POP(C++) + +if test "x$digikam_enable_hidden_visibility" = "xyes"; then + KDE_ENABLE_HIDDEN_VISIBILITY +fi + +# ----------------------------------------------------------------- +# +# pkg config check +# +# ----------------------------------------------------------------- + +AC_ARG_VAR(PKGCONFIGFOUND, [Path to pkg-config]) +AC_CHECK_PROG(PKGCONFIGFOUND, pkg-config,[yes]) + +# ----------------------------------------------------------------- +# +# sqlite2 type check +# +# ----------------------------------------------------------------- + +KDE_CHECK_TYPES + +# ------------------------------------------------------- +# +# Check endianness +# +# ------------------------------------------------------- + +AC_LANG_SAVE +AC_LANG_C +AC_C_BIGENDIAN +AC_LANG_RESTORE + +# ----------------------------------------------------------------- +# +# Check for liblcms +# +# ----------------------------------------------------------------- + +have_lcms_header='no' +KDE_CHECK_HEADER(lcms/lcms.h,have_lcms_header='yes',,) +if test "$have_lcms_header" = 'yes' +then + AC_DEFINE(LCMS_HEADER, <lcms/lcms.h>, [The correct header]) +else + # Alternative! Debian does it this way... + KDE_CHECK_HEADER(lcms.h,have_lcms_header='yes',,) + if test "$have_lcms_header" = 'yes' + then + AC_DEFINE(LCMS_HEADER, <lcms.h>, [The correct header]) + fi +fi + +LCMS_LIBS='' +have_lcms='no' +if test "$have_lcms_header" = 'yes' +then + saved_cflags="$CFLAGS" + saved_ldflags="$LDFLAGS" + saved_libs=$LIBS + LIBS="$LIBS -llcms" + CFLAGS="$CFLAGS $all_includes" + LDFLAGS="$LDFLAGS $all_libraries" + AC_TRY_LINK([ +#define inline __inline /* gcc is in ansi mode */ +#include LCMS_HEADER +#if LCMS_VERSION < 112 +choke! +#endif +], [ +cmsOpenProfileFromFile("foo", "r"); +], + [LCMS_LIBS='-llcms'; have_lcms='yes']) + LIBS=$saved_libs + CFLAGS=$saved_cflags + LDFLAGS=$saved_ldflags +fi + +if test -z "$LCMS_LIBS"; then + DO_NOT_COMPILE="$DO_NOT_COMPILE digikam" +fi + +AC_SUBST(LCMS_LIBS) + +#------------------------------------------------------------------ +# +# Check for libgphoto2 +# +#------------------------------------------------------------------ + +KDE_PKG_CHECK_MODULES(GPHOTO2, libgphoto2 >= 2.5, + [have_libgphoto2=yes; have_gphoto25=yes], have_libgphoto2=no) +if test "x$have_libgphoto2" = "xno"; then + KDE_PKG_CHECK_MODULES(GPHOTO2, libgphoto2, + have_libgphoto2=yes, have_libgphoto2=no) +fi +if test "x$have_libgphoto2" = "xno"; then + AC_PATH_PROG(GPHOTO_CONFIG,gphoto2-config) + AC_PATH_PROG(GPHOTO_PORT_CONFIG,gphoto2-port-config) + if test -n "${GPHOTO_CONFIG}"; then + GPHOTO_VERSION="`$GPHOTO_CONFIG --version`" + case "${GPHOTO_VERSION}" in "libgphoto2 2.5"*) CXXFLAGS="$CXXFLAGS -DHAVE_GPHOTO25";; esac + GPHOTO_CFLAGS="`$GPHOTO_CONFIG --cflags`" + AC_SUBST(GPHOTO_CFLAGS) + LIB_GPHOTO="`$GPHOTO_CONFIG --libs` `$GPHOTO_PORT_CONFIG --libs`" + AC_SUBST(LIB_GPHOTO) + have_libgphoto2=yes + else + AC_MSG_WARN([gPhoto2 not found.]) + DO_NOT_COMPILE="digikam $DO_NOT_COMPILE" + fi +else + if test "x$have_gphoto25" = "xyes"; then + GPHOTO_CFLAGS="$GPHOTO2_CFLAGS -DHAVE_GPHOTO25" + else + GPHOTO_CFLAGS="$GPHOTO2_CFLAGS" + fi + LIB_GPHOTO="$GPHOTO2_LIBS" + AC_SUBST(GPHOTO_CFLAGS) + AC_SUBST(LIB_GPHOTO) +fi + +#------------------------------------------------------------------ +# +# Check for libkipi +# +#------------------------------------------------------------------ + +if test "$PKGCONFIGFOUND" = "yes" ; then + have_libkipi=no + + KDE_PKG_CHECK_MODULES(LIBKIPI, libkipi >= 0.1.5, + have_libkipi=yes, have_libkipi=no) + + if test "x$have_libkipi" = "xno"; then + LIBKIPI_CFLAGS="" + LIBKIPI_LIBS="" + AC_MSG_RESULT([not found]) + else + AC_MSG_RESULT([found]) + fi +else + LIBKIPI_CFLAGS="" + LIBKIPI_LIBS="" + AC_MSG_RESULT([not found]) +fi +AC_SUBST(LIBKIPI_CFLAGS) +AC_SUBST(LIBKIPI_LIBS) + +if test "x$have_libkipi" != "xyes"; then + DO_NOT_COMPILE="$DO_NOT_COMPILE digikam" +fi + +# -------------------------------------------------------------------- +# +# Check for libkexiv2 +# +# -------------------------------------------------------------------- + +if test "$PKGCONFIGFOUND" = "yes" ; then + have_libkexiv2=no + + KDE_PKG_CHECK_MODULES(LIBKEXIV2, libkexiv2 >= 0.1.6, + have_libkexiv2=yes, have_libkexiv2=no) + + if test "x$have_libkexiv2" = "xno"; then + LIBKEXIV2_CFLAGS="" + LIBKEXIV2_LIBS="" + AC_MSG_RESULT([not found]) + else + AC_MSG_RESULT([found]) + fi +else + LIBKEXIV2_CFLAGS="" + LIBKEXIV2_LIBS="" + AC_MSG_RESULT([not found]) +fi +AC_SUBST(LIBKEXIV2_CFLAGS) +AC_SUBST(LIBKEXIV2_LIBS) + +if test "x$have_libkexiv2" != "xyes"; then + DO_NOT_COMPILE="$DO_NOT_COMPILE digikam" +fi + +# -------------------------------------------------------------------- +# +# Check for libkdcraw +# +# -------------------------------------------------------------------- + +if test "$PKGCONFIGFOUND" = "yes" ; then + have_libkdcraw=no + + KDE_PKG_CHECK_MODULES(LIBKDCRAW, libkdcraw >= 0.1.5, + have_libkdcraw=yes, have_libkdcraw=no) + + if test "x$have_libkdcraw" = "xno"; then + LIBKDCRAW_CFLAGS="" + LIBKDCRAW_LIBS="" + AC_MSG_RESULT([not found]) + else + AC_MSG_RESULT([found]) + fi +else + LIBKDCRAW_CFLAGS="" + LIBKDCRAW_LIBS="" + AC_MSG_RESULT([not found]) +fi +AC_SUBST(LIBKDCRAW_CFLAGS) +AC_SUBST(LIBKDCRAW_LIBS) + +if test "x$have_libkdcraw" != "xyes"; then + DO_NOT_COMPILE="$DO_NOT_COMPILE digikam" +fi + +#------------------------------------------------------------------ +# +# Check for libtiff +# +#------------------------------------------------------------------ + +have_tiff=no +KDE_CHECK_LIB(tiff, TIFFWriteScanline, + have_tiff=yes, + AC_MSG_WARN([TIFF library not found]), + -ljpeg -lz -lm) + +if test "x$have_tiff" = "xyes"; then + KDE_CHECK_HEADER(tiffio.h, have_tiff=yes, have_tiff=no) +fi + +if test "x$have_tiff" != "xyes"; then + AC_WARN([TIFF library not found, digiKam will not be compiled.]) + DO_NOT_COMPILE="digikam $DO_NOT_COMPILE" +else + LIB_TIFF="-ltiff" + AC_SUBST(LIB_TIFF) +fi + +#------------------------------------------------------------------ +# +# Check for libpng (with png_set_add_alpha() function) +# +#------------------------------------------------------------------ + +have_png=no +KDE_CHECK_LIB(png, png_set_add_alpha, + have_png=yes, + AC_MSG_WARN([digiKam requires libpng >= 1.2.7]), + -lpng -lz -lm) + +if test "x$have_png" != "xyes"; then + AC_WARN([digiKam requires libpng >= 1.2.7; digiKam will not be compiled.]) + DO_NOT_COMPILE="digikam $DO_NOT_COMPILE" +else + LIB_PNG="-lpng" + AC_SUBST(LIB_PNG) +fi + +#------------------------------------------------------------------ +# +# Check for libjasper (JPEG2000) +# +#------------------------------------------------------------------ + +have_jasper=no +KDE_CHECK_LIB(jasper, jas_init, + have_jasper=yes, + AC_MSG_WARN([digiKam requires libjasper >= 1.7.0]), + -ljasper) + +if test "x$have_jasper" != "xyes"; then + AC_WARN([digiKam requires libjasper >= 1.7.0; digiKam will not be compiled.]) + DO_NOT_COMPILE="digikam $DO_NOT_COMPILE" +else + LIB_JASPER="-ljasper" + AC_SUBST(LIB_JASPER) +fi + +#------------------------------------------------------------------ +# +# Check for local/shared sqlite3 +# +#------------------------------------------------------------------ + +LIB_SQLITE3="" + +AC_ARG_WITH(included-sqlite3, + AC_HELP_STRING([--without-included-sqlite3],[build digiKam using system sqlite3 library]), + [included_sqlite3=$withval], + [included_sqlite3=yes] +) + +if test x$included_sqlite3 = xno; then + if test x$PKGCONFIGFOUND = xyes; then + PKG_CHECK_MODULES(SQLITE, sqlite3 >= 3.5, have_sqlite3=yes,have_sqlite3=no) + + if test x$have_sqlite3 = xyes; then + ## AC_DEFINE(HAVE_SQLITE3, 1, [have SQLite3 database library]) + LIB_SQLITE3=`pkg-config --libs sqlite3` + else + # We don't support not having sqlite3 anymore + DO_NOT_COMPILE="digikam $DO_NOT_COMPILE" + fi + fi +fi + +AC_SUBST(LIB_SQLITE3) +AM_CONDITIONAL(with_included_sqlite3, [test x$included_sqlite3 = xyes]) + +############################################################################### +# END SQLITE CHECK +############################################################################### + + +#------------------------------------------------------------------ +# +# NFS is Evil (sqlite makes use of file locking for allowing +# multiple processes to access the database. but on many +# nfs implementations, this file locking is horribly broken and +# can end up locking the app or not allowing access to the app. +# since we use tdeioslaves which access the db too) +# +#------------------------------------------------------------------ + +AC_ARG_ENABLE(nfs-hack, + AC_HELP_STRING([--enable-nfs-hack], +[Enable a hack for album libraries on a nfs mount, + which causes the database to be saved in + $HOMEDIR/.trinity/share/apps/digikam/directoryname.db [default=disable]]), + [enable_nfs_hack=$enableval], + [enable_nfs_hack=no] +) + +if test "x$enable_nfs_hack" = "xyes"; then + AC_DEFINE(NFS_HACK, 1, [NFS hack enabled]) + AC_MSG_NOTICE([NFS hack enabled. Make sure you know what you are doing]) +fi + +#------------------------------------------------------------------ +# +# get the gcc version +# +# CImg.h version 1.2.8 do not compile fine with gcc 4.3.x +# See B.K.O #163118: digikam-0.9.4_beta5 compilation hangs with gcc 4.3 +# Using -fno-tree-pre is work around this problem. +# +#------------------------------------------------------------------ + +KDE_CHECK_COMPILER_FLAG(fno-tree-pre,[CXXFLAGS="-fno-tree-pre $CXXFLAGS"]) + |