You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
279 lines
9.3 KiB
Plaintext
279 lines
9.3 KiB
Plaintext
# -*- Autoconf -*-
|
|
# Process this file with autoconf to produce a configure script.
|
|
|
|
AC_PREREQ(2.61)
|
|
AC_INIT(exiv2, 0.23, ahuggel@gmx.net)
|
|
# See http://www.gnu.org/software/libtool/manual/html_node/Updating-version-info.html
|
|
EXIV2_LTVERSION=12:0:0
|
|
PACKAGE=$PACKAGE_NAME
|
|
VERSION=$PACKAGE_VERSION
|
|
AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE")
|
|
AC_DEFINE_UNQUOTED(VERSION, "$VERSION")
|
|
AC_SUBST(EXIV2_LTVERSION)
|
|
AC_SUBST(PACKAGE)
|
|
AC_SUBST(VERSION)
|
|
AC_CONFIG_SRCDIR([src/exif.cpp])
|
|
AC_CONFIG_HEADER([./config/config.h])
|
|
AC_CONFIG_AUX_DIR([./config])
|
|
|
|
# ---------------------------------------------------------------------------
|
|
# Checks for programs.
|
|
# ---------------------------------------------------------------------------
|
|
# Don't use -g to compile C++ code
|
|
ac_cv_prog_cxx_g=no
|
|
AC_PROG_CXX
|
|
AC_PROG_CXXCPP
|
|
# Don't use -g to compile C code
|
|
ac_cv_prog_cc_g=no
|
|
AC_PROG_CC
|
|
AC_PROG_CPP
|
|
AC_PROG_INSTALL
|
|
AC_PROG_LN_S
|
|
AC_PROG_MAKE_SET
|
|
AC_CANONICAL_HOST
|
|
|
|
# ---------------------------------------------------------------------------
|
|
# i18n support
|
|
# ---------------------------------------------------------------------------
|
|
AM_GNU_GETTEXT([external])
|
|
|
|
# ---------------------------------------------------------------------------
|
|
# Libtool support
|
|
# ---------------------------------------------------------------------------
|
|
LT_INIT
|
|
AC_SUBST([LIBTOOL_DEPS])
|
|
|
|
# ---------------------------------------------------------------------------
|
|
# Checks for libraries.
|
|
# ---------------------------------------------------------------------------
|
|
AC_CHECK_LIBM()
|
|
LIBS="$LIBS $LIBM"
|
|
CHECK_ZLIB()
|
|
AC_SUBST(HAVE_LIBZ,$HAVE_LIBZ)
|
|
AM_ICONV
|
|
|
|
# ---------------------------------------------------------------------------
|
|
# Checks for header files.
|
|
# ---------------------------------------------------------------------------
|
|
AC_HEADER_STDC
|
|
AC_CHECK_HEADERS([libintl.h locale.h malloc.h stdint.h stdlib.h string.h unistd.h sys/mman.h utime.h])
|
|
|
|
# ---------------------------------------------------------------------------
|
|
# Checks for typedefs, structures, and compiler characteristics.
|
|
# ---------------------------------------------------------------------------
|
|
AC_HEADER_STDBOOL
|
|
AC_C_CONST
|
|
AC_C_INLINE
|
|
AC_TYPE_PID_T
|
|
AC_TYPE_SIZE_T
|
|
AC_STRUCT_TM
|
|
#AC_TYPE_UINT8_T
|
|
#AC_TYPE_UINT16_T
|
|
#AC_TYPE_UINT32_T
|
|
#AC_TYPE_INT16_T
|
|
#AC_TYPE_INT32_T
|
|
AC_SUBST(GXX,$GXX)
|
|
AC_SUBST(GCC,$GCC)
|
|
|
|
# ---------------------------------------------------------------------------
|
|
# Checks for library functions.
|
|
# ---------------------------------------------------------------------------
|
|
#AC_FUNC_MKTIME - fails when using old autoconf with gcc-4.3, see eg. Debian Bug#425544, and we don't use the result anyway
|
|
AC_FUNC_MMAP
|
|
AC_FUNC_STRERROR_R
|
|
AC_CHECK_FUNCS([gmtime_r lstat memset mmap munmap strchr strerror strtol])
|
|
AC_CHECK_FUNCS([timegm], HAVE_TIMEGM=1)
|
|
AC_SUBST(HAVE_TIMEGM,$HAVE_TIMEGM)
|
|
|
|
# ---------------------------------------------------------------------------
|
|
# Miscellaneous
|
|
# ---------------------------------------------------------------------------
|
|
AC_MSG_CHECKING([whether to enable dependency tracking])
|
|
AC_ARG_ENABLE(dependency-tracking,
|
|
[ --disable-dependency-tracking speeds up one-time build],
|
|
USE_TRACKING=$enableval, USE_TRACKING=yes)
|
|
AC_MSG_RESULT($USE_TRACKING)
|
|
DEP_TRACKING=
|
|
if test "$USE_TRACKING" = "yes"; then
|
|
DEP_TRACKING=1
|
|
fi
|
|
AC_SUBST(DEP_TRACKING,$DEP_TRACKING)
|
|
|
|
AC_MSG_CHECKING([whether to enable symbol visibility support])
|
|
AC_ARG_ENABLE(visibility,
|
|
[ --disable-visibility do not use symbol visibility support ],
|
|
VISIBILITY_SUPPORT=$enableval, VISIBILITY_SUPPORT=yes)
|
|
AC_MSG_RESULT($VISIBILITY_SUPPORT)
|
|
if test "$VISIBILITY_SUPPORT" = "yes"; then
|
|
# Sun Studio C++ compiler (which apparently ignores -fvisibility-inlines-hidden)
|
|
AX_CXX_CHECK_FLAG(-xldscope=hidden,[],[],[VISIBILITY_SUPPORT=yes],[VISIBILITY_SUPPORT=no])
|
|
if test "$VISIBILITY_SUPPORT" = "yes"; then
|
|
CXXFLAGS="${CXXFLAGS} -xldscope=hidden"
|
|
else
|
|
# GNU g++
|
|
AX_CXX_CHECK_FLAG(-fvisibility-inlines-hidden,[],[],[VISIBILITY_SUPPORT=yes],[VISIBILITY_SUPPORT=no])
|
|
if test "$VISIBILITY_SUPPORT" = "yes"; then
|
|
CXXFLAGS="${CXXFLAGS} -fvisibility=hidden -fvisibility-inlines-hidden"
|
|
fi
|
|
fi
|
|
if test "$VISIBILITY_SUPPORT" = "yes"; then
|
|
AC_DEFINE(WANT_VISIBILITY_SUPPORT)
|
|
fi
|
|
if test "$enable_shared" = "yes"; then
|
|
AC_DEFINE(HAVE_DLL)
|
|
fi
|
|
fi
|
|
|
|
AC_MSG_CHECKING([whether to use the lens database for Nikon lens names])
|
|
AC_ARG_ENABLE(lensdata,
|
|
[ --disable-lensdata do not use the lens database for Nikon lens names ],
|
|
USE_LENSDATA=$enableval, USE_LENSDATA=yes)
|
|
AC_MSG_RESULT($USE_LENSDATA)
|
|
if test "$USE_LENSDATA" = "yes"; then
|
|
AC_DEFINE(HAVE_LENSDATA,1)
|
|
fi
|
|
|
|
AC_MSG_CHECKING([whether to compile a commercial version of the Exiv2 library])
|
|
AC_ARG_ENABLE(commercial,
|
|
[ --enable-commercial compile with the EXV_COMMERCIAL_VERSION symbol set ],
|
|
COMMERCIAL_VERSION=$enableval, COMMERCIAL_VERSION=no)
|
|
AC_MSG_RESULT($COMMERCIAL_VERSION)
|
|
AC_SUBST(COMMERCIAL_VERSION,$COMMERCIAL_VERSION)
|
|
|
|
AC_MSG_CHECKING([whether to enable XMP support (requires expat)])
|
|
AC_ARG_ENABLE(xmp,
|
|
[ --disable-xmp do not compile XMP support and the XMP Toolkit ],
|
|
USE_XMP_TOOLKIT=$enableval, USE_XMP_TOOLKIT=yes)
|
|
AC_MSG_RESULT($USE_XMP_TOOLKIT)
|
|
|
|
# expat option might change flags, so we save them initially
|
|
_cppflags="${CPPFLAGS}"
|
|
_ldflags="${LDFLAGS}"
|
|
|
|
AC_ARG_WITH(expat,
|
|
[ --with-expat[[=DIR]] use libexpat in DIR],[
|
|
if test "$withval" != "no" -a "$withval" != "yes"; then
|
|
EXPAT_DIR=$withval
|
|
CPPFLAGS="${CPPFLAGS} -I$withval/include"
|
|
LDFLAGS="${LDFLAGS} -L$withval/lib"
|
|
fi
|
|
])
|
|
|
|
ENABLE_XMP=
|
|
if test "$USE_XMP_TOOLKIT" = "yes"; then
|
|
# Check for expat library
|
|
found_expat=yes
|
|
EXPAT_CPPFLAGS=
|
|
EXPAT_LDFLAGS=
|
|
EXPAT_LIBS=
|
|
if test "$with_expat" != "no"; then
|
|
AC_CHECK_HEADERS(expat.h,
|
|
AC_CHECK_LIB(expat, XML_ParserCreate,[
|
|
AC_DEFINE([HAVE_EXPAT], [], [Have Expat XML parser library])
|
|
EXPAT_LIBS="-lexpat"
|
|
if test "x${EXPAT_DIR}" != "x"; then
|
|
EXPAT_CPPFLAGS="-I${EXPAT_DIR}/include"
|
|
EXPAT_LDFLAGS="-L${EXPAT_DIR}/lib"
|
|
fi],[found_expat=no]),[found_expat=no])
|
|
fi
|
|
if test "$with_expat" = "no" -o "$found_expat" = "no"; then
|
|
AC_MSG_ERROR(either specify a valid expat installation with --with-expat=DIR or disable XMP support with --disable-xmp)
|
|
fi
|
|
AC_DEFINE(HAVE_XMP_TOOLKIT,1)
|
|
ENABLE_XMP=1
|
|
AC_SUBST(EXPAT_CPPFLAGS)
|
|
AC_SUBST(EXPAT_LDFLAGS)
|
|
AC_SUBST(EXPAT_LIBS)
|
|
fi
|
|
AC_SUBST(ENABLE_XMP)
|
|
|
|
CPPFLAGS=${_cppflags}
|
|
LDFLAGS=${_ldflags}
|
|
|
|
# Udi's hack to add libiconv to the Libs section in exiv2.pc
|
|
if test "$enable_shared" = "no"; then
|
|
EXV_LIB_STATIC=$LTLIBICONV
|
|
else
|
|
EXV_LIB_STATIC=
|
|
fi
|
|
AC_SUBST(EXV_LIB_STATIC)
|
|
|
|
# Add flag for DLL on Windows
|
|
#
|
|
# This must happen after all other configure checks, because
|
|
# the "-no-undefined" flag is only for libtool and must not be
|
|
# passed to GCC by accident.
|
|
case "$host_os" in
|
|
*mingw* | *cygwin*)
|
|
LDFLAGS="$LDFLAGS -no-undefined"
|
|
;;
|
|
esac
|
|
|
|
# ---------------------------------------------------------------------------
|
|
# Create output files.
|
|
# ---------------------------------------------------------------------------
|
|
AC_CONFIG_FILES([./Makefile:./config/Makefile.in])
|
|
AC_CONFIG_FILES([./config/config.mk])
|
|
AC_CONFIG_FILES([./config/exiv2.pc])
|
|
AC_CONFIG_FILES([./po/Makefile.in])
|
|
AC_CONFIG_FILES([./src/doxygen.hpp])
|
|
AC_OUTPUT
|
|
|
|
# ---------------------------------------------------------------------------
|
|
# Configuration summary.
|
|
# ---------------------------------------------------------------------------
|
|
|
|
echo ""
|
|
echo "------------------------------------------------------------------"
|
|
echo "-- Exiv2 $VERSION feature configuration summary"
|
|
echo "--"
|
|
|
|
case "$enable_shared" in
|
|
yes) echo "-- Build a shared library......... YES" ;;
|
|
*) echo "-- Build a shared library......... NO" ;;
|
|
esac
|
|
|
|
case "$VISIBILITY_SUPPORT" in
|
|
yes) echo "-- Use symbol visibility support.. YES" ;;
|
|
*) echo "-- Use symbol visibility support.. NO" ;;
|
|
esac
|
|
|
|
case "x$HAVE_LIBZ" in
|
|
x1) echo "-- PNG image support.............. YES" ;;
|
|
*) echo "-- PNG image support.............. NO"
|
|
echo ""
|
|
echo "zlib is required for PNG support. Make sure the zlib header files"
|
|
echo "are installed and use --with-zlib=DIR if it is in a non-standard"
|
|
echo "location. You can get zlib from http://www.zlib.net/"
|
|
echo "" ;;
|
|
esac
|
|
|
|
case "$USE_NLS" in
|
|
yes) echo "-- Native language support........ YES" ;;
|
|
*) echo "-- Native language support........ NO"
|
|
echo ""
|
|
echo "gettext is required for native language support. Make sure the"
|
|
echo "gettext header files are installed. You can get gettext from"
|
|
echo "http://www.gnu.org/software/gettext/"
|
|
echo "" ;;
|
|
esac
|
|
|
|
case "$USE_LENSDATA" in
|
|
yes) echo "-- Nikon lens database............ YES" ;;
|
|
*) echo "-- Nikon lens database............ NO" ;;
|
|
esac
|
|
|
|
case "$USE_XMP_TOOLKIT" in
|
|
yes) echo "-- XMP metadata support........... YES" ;;
|
|
*) echo "-- XMP metadata support........... NO"
|
|
echo ""
|
|
echo "Expat is required for XMP support. Make sure the Expat header"
|
|
echo "files are installed and use --with-expat=DIR if it is in a"
|
|
echo "non-standard location. You can get Expat from"
|
|
echo "http://expat.sourceforge.net/"
|
|
echo "" ;;
|
|
esac
|
|
|
|
echo "------------------------------------------------------------------"
|
|
echo ""
|