Files
libgphoto2/configure.in
Hans Ulrich Niedermann e7c9603705 simplify libusb test
git-svn-id: https://svn.code.sf.net/p/gphoto/code/trunk/libgphoto2@7575 67ed7778-7388-44ab-90cf-0a291f65f57c
2005-02-07 20:26:09 +00:00

478 lines
16 KiB
Plaintext

dnl Process this file with autoconf to produce a configure script.
AC_PREREQ(2.50)
AC_INIT(libgphoto2/gphoto2.h)
AM_CONFIG_HEADER(config.h)
AM_INIT_AUTOMAKE(libgphoto2, 2.1.5head)
AM_MAINTAINER_MODE
AC_LIBTOOL_DLOPEN
dnl ---------------------------------------------------------------------------
dnl Versioning:
dnl - AGE (Micro): Increment if any interfaces have been added; set to 0
dnl if any interfaces have been removed. Removal has
dnl precedence over adding, so set to 0 if both happened.
dnl - REVISION (Minor): Increment any time the source changes; set to
dnl 0 if you incremented CURRENT.
dnl - CURRENT (Major): Increment if the interface has additions, changes,
dnl removals.
dnl ---------------------------------------------------------------------------
LIBGPHOTO2_AGE=3
LIBGPHOTO2_REVISION=0
LIBGPHOTO2_CURRENT=2
AC_SUBST(LIBGPHOTO2_AGE)
AC_SUBST(LIBGPHOTO2_REVISION)
AC_SUBST(LIBGPHOTO2_CURRENT)
LIBGPHOTO2_VERSION_INFO=`expr $LIBGPHOTO2_CURRENT + $LIBGPHOTO2_REVISION`:$LIBGPHOTO2_AGE:$LIBGPHOTO2_REVISION
AC_SUBST(LIBGPHOTO2_VERSION_INFO)
dnl Checks for programs.
AC_PROG_CC
AC_PROG_CPP
AC_PROG_INSTALL
AC_DEFINE_UNQUOTED(HAVE_CC,"$CC",[The C compiler we're using])
dnl ---------------------------------------------------------------------------
dnl Reference definitions
dnl required before we do the Makevars hack!
dnl ---------------------------------------------------------------------------
GP_REFERENCES()dnl
dnl ---------------------------------------------------------------------------
dnl i18n support (including some hacks)
dnl ---------------------------------------------------------------------------
dnl The following is a hack to get gphoto2 to build on gettext-0.10.35
dnl systems - BUILD_INCLUDED_LIBINTL is set only in gettext-0.10.37 which is
dnl the gettext version provided with gphoto2.
BUILD_INCLUDED_LIBINTL=no
AC_SUBST(BUILD_INCLUDED_LIBINTL)
dnl USE_INCLUDED_LIBINTL=no
dnl AC_SUBST(USE_INCLUDED_LIBINTL)
ALL_LINGUAS="da de es fr hu it ja nb ru sl sv uk zh_CN"
# EVIL HACKS
AC_MSG_CHECKING([for po/Makevars requiring evil hack])
GETTEXT_PACKAGE="${PACKAGE}-${LIBGPHOTO2_CURRENT}"
AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE,"$GETTEXT_PACKAGE",[The gettext domain we're using])
AC_SUBST(GETTEXT_PACKAGE)
if test -f po/Makevars.template
then
sed \
-e "s/^DOMAIN.*/DOMAIN = ${GETTEXT_PACKAGE}/" \
-e "s/^MSGID_BUGS_ADDRESS.*/MSGID_BUGS_ADDRESS = ${MAIL_GPHOTO_TRANSLATION}/" \
< po/Makevars.template > po/Makevars
AC_MSG_RESULT([yes. done.])
else
AC_MSG_RESULT([no])
fi
AM_GNU_GETTEXT
AC_CHECK_FUNC(gettext, gettext_without_libintl=true)
# same trick as with libdl:
# if gettext() doesn't require linking against libintl,
# we don't have to check for gettext in libintl. Otherwise
# we may even require libintl.
dnl AC_CHECK_LIB(intl, gettext, [LIBS="$LIBS -lintl"])
if test "$gettext_without_libintl" != "true" -a "$USE_NLS" = "yes"; then
AC_CHECK_LIB(intl, gettext, [INTLLIBS="$INTLLIBS -lintl"])
fi
dnl ---------------------------------------------------------------------------
dnl Turn on debugging and all warnings when using gcc
dnl ---------------------------------------------------------------------------
if test "$ac_cv_prog_gcc" = "yes"; then
CFLAGS="$CFLAGS -g -Wall -Wmissing-declarations -Wmissing-prototypes"
LDFLAGS="$LDFLAGS -g -Wall"
fi
dnl Replace `main' with a function in -libs:
AC_CHECK_LIB(ibs, main)
LIBJPEG=""
libjpeg_msg="no"
AC_SUBST(LIBJPEG)
AC_CHECK_LIB(jpeg,jpeg_start_decompress,[
AC_CHECK_HEADER(jpeglib.h,[
AC_DEFINE(HAVE_LIBJPEG,1,[define if we found LIBJPEG and its headers])
LIBJPEG="-ljpeg"
libjpeg_msg="yes"
])
])
dnl ---------------------------------------------------------------------------
dnl Checks for header files.
dnl ---------------------------------------------------------------------------
AC_HEADER_DIRENT
AC_HEADER_STDC
AC_CHECK_HEADERS(getopt.h unistd.h mcheck.h)
AC_INLINE
AC_CONST
dnl ---------------------------------------------------------------------------
dnl Check for libtool: lt_dlforeachfile has been introduced in
dnl libtool-1.4. However, there are still systems out
dnl there running libtool-1.3. For those, we will need
dnl dlopen. Note that on some systems (e.g. FreeBSD)
dnl -ldl isn't needed.
dnl ---------------------------------------------------------------------------
AC_PROG_LIBTOOL
have_ltdl=false
ltdl_msg="no"
try_ltdl=false
AC_ARG_WITH(ltdl, [ --with-ltdl Use ltdl],[
if test x$withval = xyes; then
try_ltdl=true
fi])
if $try_ltdl; then
AC_CHECK_LIB(ltdl, lt_dlforeachfile,[
AC_CHECK_HEADER(ltdl.h,[
AC_DEFINE(HAVE_LTDL,1,[whether we use libltdl])
LTDL_LIBS="-lltdl"
ltdl_msg="yes"
have_ltdl=true])])
fi
if ! $have_ltdl; then
AC_CHECK_FUNC(dlopen,,[
AC_CHECK_LIB(dl, dlopen,[LTDL_LIBS="-ldl"],[AC_ERROR([
*** Could not determine how to handle
*** shared libraries!])])])
fi
AC_SUBST(LTDL_LIBS)
dnl Checks for typedefs, structures, and compiler characteristics.
AC_TYPE_SIZE_T
dnl Checks for library functions.
AC_CHECK_FUNCS([getopt getopt_long mkdir strdup strncpy strcpy snprintf sprintf vsnprintf gmtime_r])
dnl Find out how to get struct tm
AC_STRUCT_TM
dnl Check for tm_gmtoff in struct tm
AC_MSG_CHECKING([for tm_gmtoff in struct tm])
AC_TRY_COMPILE([
#include <sys/types.h>
#include <$ac_cv_struct_tm>], [struct tm tm; tm.tm_gmtoff;],
AC_DEFINE(HAVE_TM_GMTOFF,1,[whether struct tm has tm_gmtoff field])
AC_MSG_RESULT(yes),
AC_MSG_RESULT(no)
)
dnl Create a stdint.h-like file containing size-specific integer definitions
dnl that will always be available
AC_NEED_STDINT_H(libgphoto2/_stdint.h)
dnl Create a header file containing NetBSD-style byte swapping macros
AC_NEED_BYTEORDER_H(libgphoto2/gphoto2-endian.h)
dnl Solaris hack for grep and tr
[
if test -n "`echo $host_os | grep '[sS]olaris'`"; then
TR=/usr/xpg4/bin/tr
GREP=/usr/xpg4/bin/grep
else
TR=tr
GREP=grep
fi
]
dnl ---------------------------------------------------------------------------
dnl camlib directory
dnl ---------------------------------------------------------------------------
AC_MSG_CHECKING(where to install camlibs)
AC_ARG_WITH(camlibdir,
[ --with-camlibdir=<path> install camlibs in directory <path> ],
camlibdir="$withval", camlibdir='${libdir}/gphoto2/${VERSION}')
AC_MSG_RESULT("$camlibdir")
AC_SUBST(camlibdir)
dnl ---------------------------------------------------------------------------
dnl Camera drivers
dnl ---------------------------------------------------------------------------
camlibs='agfa-cl20 aox barbie canon casio digita dimera directory fuji gsmart300 iclick jamcam jd11 kodak konica largan mars minolta mustek panasonic pccam300 pccam600 polaroid ptp2 ricoh samsung sierra sipix smal sonydscf1 sonydscf55 soundvision spca50x sq905 stv0674 stv0680 sx330z toshiba enigma13'
AC_SUBST(SUBDIRS_CAMLIBS)
for i in $camlibs; do
d=`echo $i | $TR a-z- A-Z_`
eval "CONFIG_DRIVER_$d=n"
done
AC_MSG_CHECKING(which drivers to compile)
AC_ARG_WITH(drivers,
[ --with-drivers=<list> compile drivers in <list>; ]
[ drivers may be separated with commas; ]
[ 'all' compiles all drivers; ]
[ possible drivers are: ]
[ agfa-cl20, aox, barbie, canon, casio, digita, dimera,]
[ directory, fuji, gsmart300, iclick, jamcam,]
[ jd11, kodak, konica, mustek, largan, mars,]
[ minolta, panasonic, pccam300, pccam600,]
[ polaroid, ptp2, ricoh, samsung, smal,]
[ sierra, sipix, sonydscf1, sonydscf55, enigma13,]
[ soundvision, spca50x, sq905, stv0680, sx330z ],
drivers="$withval", drivers="all")
if test "$drivers" = "all"; then
for i in $camlibs; do
SUBDIRS_CAMLIBS="$SUBDIRS_CAMLIBS $i"
done
AC_MSG_RESULT(all)
else
drivers=`echo $drivers | sed 's/,/ /g'`
for driver in $drivers; do
if test -n "`echo $camlibs | $GREP -E \"(^| )$driver( |\$)\"`"; then
SUBDIRS_CAMLIBS="$SUBDIRS_CAMLIBS $driver"
else
AC_ERROR(Unknown driver $driver!)
fi
done
AC_MSG_RESULT($drivers)
fi
dnl ************************************************************
dnl find out where to install documentation files
dnl ************************************************************
GP_CHECK_DOC_DIR()dnl
dnl ********
dnl build docs?
dnl ********
GP_BUILD_DOCS()dnl
dnl ************************************************************
dnl initialize packaging
dnl ************************************************************
GPKG_CHECK_RPM()dnl Check wether to package for a system using RPM
GPKG_CHECK_LINUX()dnl Check wether to package for a linux system
dnl ---------------------------------------------------------------------------
dnl pkg-config: pkg-config is a tool to simplify checks for libraries and
dnl versions. I really think this is a good thing and therefore
dnl use it here. However, if pkg-config is not installed,
dnl we offer alternative checks, too.
dnl ---------------------------------------------------------------------------
pkgconfig_msg="no (http://www.freedesktop.org/software/pkgconfig)"
try_pkgconfig=true
have_pkgconfig=false
AC_ARG_WITH(pkgconfig, [ --without-pkgconfig Don't use pkg-config],[
if test x$withval = xno; then
try_pkgconfig=false
pkgconfig_msg="no (not requested)"
fi])
if $try_pkgconfig; then
AC_PATH_PROG(PKG_CONFIG,pkg-config)
if test -n "${PKG_CONFIG}"; then
have_pkgconfig=true
pkgconfig_msg="yes"
fi
fi
# guessing directory to install *.pc into
pkgconfigdir='${libdir}/pkgconfig'
AC_SUBST(pkgconfigdir)
dnl ---------------------------------------------------------------------------
dnl libexif: The CameraFilesystem can use libexif for extracting thumbnails
dnl out of EXIF data. Similarly, it can extract the mtime of
dnl a file.
dnl libexif is available from
dnl http://www.sourceforge.net/projects/libexif
dnl ---------------------------------------------------------------------------
exif_msg="no (http://www.sourceforge.net/projects/libexif)"
try_exif=true
have_exif=false
AC_ARG_WITH(exif, [ --without-exif Don't use libexif],[
if test x$withval = xno; then
try_exif=false
exif_msg="no (not requested)"
fi])
if test "x$prefix" = xNONE; then
exif_prefix=$ac_default_prefix
else
exif_prefix=$prefix
fi
AC_ARG_WITH(exif-prefix, [ --with-exif-prefix=PREFIX Location of libexif],[
exif_prefix="$withval"])
if $try_exif; then
if $have_pkgconfig; then
AC_MSG_CHECKING([for libexif using pkg-config])
if ${PKG_CONFIG} --exists libexif > /dev/null 2>&1; then
EXIF_CFLAGS=`$PKG_CONFIG --cflags libexif`
EXIF_LIBS=`$PKG_CONFIG --libs libexif`
have_exif=true
libexif_version=`${PKG_CONFIG} --modversion libexif`
libexif_prefix=`${PKG_CONFIG} --variable=prefix libexif`
exif_msg="yes (version ${libexif_version} from ${libexif_prefix})"
AC_DEFINE(HAVE_EXIF,1,[whether we use libexif])
fi
AC_MSG_RESULT($exif_msg)
else
CPPFLAGS_save="$CPPFLAGS"
CPPFLAGS="-I$exif_prefix/include/libexif -I$exif_prefix/include $CPPFLAGS"
AC_CHECK_HEADER(exif-data.h, [
EXIF_CFLAGS="-I$exif_prefix/include -I$exif_prefix/include/libexif"
EXIF_LIBS="-L$exif_prefix/lib -lexif"
have_exif=true
exif_msg="yes (unknown version from standard location)"
AC_DEFINE(HAVE_EXIF,1,[whether we use libexif])])
fi
if $have_exif; then
CPPFLAGS_save="$CPPFLAGS"
CPPFLAGS=$EXIF_CFLAGS
AC_CHECK_HEADER([exif-ifd.h], [
exif_msg="${exif_msg}, (>= 0.5.4)"
AC_DEFINE(HAVE_EXIF_0_5_4,1,[whether we use a version of libexif greater than 0.5.3])])
CPPFLAGS="$CPPFLAGS_save"
fi
fi
AM_CONDITIONAL(HAVE_EXIF, $have_exif)
AC_SUBST(EXIF_CFLAGS)
AC_SUBST(EXIF_LIBS)
dnl Check libusb
AC_PATH_PROG(LIBUSB_CONFIG,libusb-config)
AM_CONDITIONAL(HAVE_LIBUSB,test -n "${LIBUSB_CONFIG}")
dnl ---------------------------------------------------------------------------
dnl /proc/meminfo: If the meminfo /proc entry is available, we use it
dnl to limit the libgphoto2 filesystem cache size.
dnl ---------------------------------------------------------------------------
if test "$cross_compiling" != yes; then
AC_CHECK_FILE(/proc/meminfo, [
proc_meminfo_msg="available";
proc_meminfo=true;
AC_DEFINE(HAVE_PROCMEMINFO,1,[whether we get memory info from /proc/meminfo])
], [
proc_meminfo_msg="not available";
proc_meminfo=false;
])
else
proc_meminfo_msg="state not known, cross-compilation";
proc_meminfo=false;
fi
dnl Check for sysctl()
AC_MSG_CHECKING([for sysctl on BSD])
AC_TRY_COMPILE([
#ifdef __FreeBSD__
# include <sys/types.h>
#elif (__NetBSD__ || __OpenBSD__)
# include <sys/param.h>
#endif
#include <unistd.h>
#include <sys/sysctl.h>],
[int mib[2] = { CTL_HW, HW_PHYSMEM };
int value;
size_t valuelen = sizeof(value);
sysctl(mib, 2 , &value, &valuelen, NULL, 0)],
AC_DEFINE(HAVE_SYSCTL,1,[whether we may use sysctl])
AC_MSG_RESULT(yes),
AC_MSG_RESULT(no)
)
dnl ---------------------------------------------------------------------------
dnl Configure libgphoto2-port
dnl ---------------------------------------------------------------------------
AC_CONFIG_SUBDIRS(libgphoto2_port)
AC_OUTPUT([
README
Makefile
camlibs/Makefile
camlibs/agfa-cl20/Makefile
camlibs/aox/Makefile
camlibs/barbie/Makefile
camlibs/canon/Makefile
camlibs/canon/doc/Makefile
camlibs/casio/Makefile
camlibs/digita/Makefile
camlibs/dimera/Makefile
camlibs/directory/Makefile
camlibs/fuji/Makefile
camlibs/gsmart300/Makefile
camlibs/iclick/Makefile
camlibs/jamcam/Makefile
camlibs/jd11/Makefile
camlibs/kodak/Makefile
camlibs/kodak/dc120/Makefile
camlibs/kodak/dc210/Makefile
camlibs/kodak/dc240/Makefile
camlibs/kodak/dc3200/Makefile
camlibs/kodak/ez200/Makefile
camlibs/konica/Makefile
camlibs/konica/localization/Makefile
camlibs/largan/Makefile
camlibs/largan/lmini/Makefile
camlibs/mars/Makefile
camlibs/minolta/Makefile
camlibs/minolta/dimagev/Makefile
camlibs/mustek/Makefile
camlibs/panasonic/Makefile
camlibs/panasonic/l859/Makefile
camlibs/panasonic/coolshot/Makefile
camlibs/pccam300/Makefile
camlibs/pccam600/Makefile
camlibs/polaroid/Makefile
camlibs/ptp2/Makefile
camlibs/ricoh/Makefile
camlibs/samsung/Makefile
camlibs/sierra/Makefile
camlibs/sipix/Makefile
camlibs/smal/Makefile
camlibs/sonydscf1/Makefile
camlibs/sonydscf55/Makefile
camlibs/soundvision/Makefile
camlibs/spca50x/Makefile
camlibs/sq905/Makefile
camlibs/stv0674/Makefile
camlibs/stv0680/Makefile
camlibs/sx330z/Makefile
camlibs/toshiba/Makefile
camlibs/toshiba/pdrm11/Makefile
camlibs/enigma13/Makefile
tests/Makefile
libgphoto2/Makefile
libgphoto2/libgphoto2.pc
gphoto2-config
packaging/Makefile
packaging/linux-hotplug/Makefile
packaging/rpm/Makefile
packaging/rpm/package.spec
doc/Makefile
doc/api/Makefile
])
if test "x$CDPATH" != "x"
then
echo
echo "***********************************************************"
echo "* You have CDPATH set. You may have to run \"unset CDPATH\" *"
echo "* before running \"make dist\" or \"make rpm\". *"
echo "***********************************************************"
fi
echo "
Configuration (libgphoto2):
Source code location: ${srcdir}
Version: ${VERSION}
Compiler: ${CC}
Build API documentation: $gtkdoc_msg
pkg-config: $pkgconfig_msg
EXIF support: $exif_msg
JPEG mangling support: $libjpeg_msg
Use ltdl.h: $ltdl_msg
/proc/meminfo: $proc_meminfo_msg
"
# Build User's Manual: $manual_msg
echo "
Please check whether the configuration I detected matches what you
would like to have. E.g. make sure that USB support is there if you
intend to use USB cameras with $PACKAGE.
Please also check that PKG_CONFIG_PATH contains ${pkgconfigdir}
before compiling any libgphoto2 frontend.
"