kopia lustrzana https://gitlab.com/sane-project/backends
290 wiersze
8.1 KiB
Bash
290 wiersze
8.1 KiB
Bash
dnl Process this file with autoconf to produce a configure script. -*-sh-*-
|
|
AC_INIT(include/sane/sane.h)
|
|
AC_CONFIG_HEADER(include/sane/config.h)
|
|
AC_PREREQ(2.10)dnl dnl Minimum Autoconf version required.
|
|
AC_ARG_PROGRAM
|
|
|
|
# version code:
|
|
V_MAJOR=1
|
|
V_MINOR=0
|
|
V_REV=4
|
|
|
|
PACKAGE=sane-backends
|
|
VERSION=${V_MAJOR}.${V_MINOR}.${V_REV}
|
|
PACKAGE_VERSION="$PACKAGE-$VERSION"
|
|
AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE",
|
|
[Define to the name of the distribution.])
|
|
AC_DEFINE_UNQUOTED(VERSION, "$VERSION",
|
|
[Define to the version of the distribution.])
|
|
AC_DEFINE_UNQUOTED(PACKAGE_VERSION, "$PACKAGE_VERSION",
|
|
[The concatenation of the strings PACKAGE, "-", and VERSION.])
|
|
AC_DEFINE_UNQUOTED(SANE_DLL_V_MAJOR, $V_MAJOR, [SANE DLL major number])
|
|
AC_DEFINE_UNQUOTED(SANE_DLL_V_MINOR, $V_MINOR, [SANE DLL minor number])
|
|
AC_DEFINE_UNQUOTED(SANE_DLL_V_BUILD, $V_REV, [SANE DLL revision number])
|
|
AC_SUBST(PACKAGE)
|
|
AC_SUBST(VERSION)
|
|
AC_SUBST(PACKAGE_VERSION)
|
|
|
|
dnl Checks for programs.
|
|
AC_PROG_CC
|
|
AC_PROG_LD
|
|
AC_PROG_INSTALL
|
|
AC_PROG_MAKE_SET
|
|
AC_PROG_CPP
|
|
AC_PROG_GCC_TRADITIONAL
|
|
AC_AIX
|
|
AC_MINIX
|
|
AC_ISC_POSIX
|
|
AM_PROG_CC_STDC
|
|
|
|
INCLUDES="${INCLUDES} -I/usr/local/include"
|
|
CPPFLAGS="${CPPFLAGS} -D_GNU_SOURCE"
|
|
|
|
if test "${ac_cv_prog_gcc}" = "yes"; then
|
|
NORMAL_CFLAGS="\
|
|
-W \
|
|
-Wall"
|
|
WARN_CFLAGS="\
|
|
-W \
|
|
-Wall \
|
|
-Wcast-align \
|
|
-Wcast-qual \
|
|
-Wmissing-declarations \
|
|
-Wmissing-prototypes \
|
|
-Wpointer-arith \
|
|
-Wreturn-type \
|
|
-Wstrict-prototypes \
|
|
-pedantic"
|
|
|
|
dnl OS/2 doesn't include some headers with -ansi enabled
|
|
AC_CHECK_HEADER(os2.h,,[WARN_CFLAGS="${WARN_CFLAGS} -ansi"])
|
|
|
|
# Warnings enabled by default (development)
|
|
AC_ARG_ENABLE(warnings,
|
|
[ --enable-warnings turn on tons of compiler warnings (GCC only)
|
|
[default=yes]],
|
|
[
|
|
if eval "test x$enable_warnings = xyes"; then
|
|
for flag in $WARN_CFLAGS; do
|
|
JAPHAR_GREP_CFLAGS($flag, [ CFLAGS="$CFLAGS $flag" ])
|
|
done
|
|
else
|
|
for flag in $NORMAL_CFLAGS; do
|
|
JAPHAR_GREP_CFLAGS($flag, [ CFLAGS="$CFLAGS $flag" ])
|
|
done
|
|
fi
|
|
],
|
|
[if true; then # release (false) or development (true)
|
|
# Warnings enabled by default (development)
|
|
for flag in $WARN_CFLAGS; do
|
|
JAPHAR_GREP_CFLAGS($flag, [ CFLAGS="$CFLAGS $flag" ])
|
|
done
|
|
else
|
|
# Warnings disabled by default (release)
|
|
for flag in $NORMAL_CFLAGS; do
|
|
JAPHAR_GREP_CFLAGS($flag, [ CFLAGS="$CFLAGS $flag" ])
|
|
done
|
|
fi])
|
|
fi # ac_cv_prog_gcc
|
|
|
|
dnl Checks for header files.
|
|
AC_HEADER_STDC
|
|
AC_CHECK_HEADERS(fcntl.h unistd.h libc.h sys/dsreq.h sys/select.h \
|
|
sys/time.h sys/shm.h \
|
|
sys/scanio.h scsi.h sys/scsi.h sys/scsicmd.h sys/scsiio.h \
|
|
bsd/dev/scsireg.h scsi/sg.h /usr/src/linux/include/scsi/sg.h io/cam/cam.h \
|
|
camlib.h os2.h sys/socket.h sys/io.h asm/io.h gscdds.h sys/hw.h \
|
|
sys/types.h sys/scsi/sgdefs.h sys/scsi/targets/scgio.h apollo/scsi.h \
|
|
sys/sdi_comm.h sys/passthrudef.h)
|
|
|
|
dnl Checks for typedefs, structures, and compiler characteristics.
|
|
AC_C_CONST
|
|
AC_C_INLINE
|
|
AC_TYPE_SIGNAL
|
|
AC_TYPE_SIZE_T
|
|
AC_TYPE_PID_T
|
|
AC_CHECK_TYPE(ssize_t, long)
|
|
AC_CHECK_TYPE(u_char, unsigned char)
|
|
AC_CHECK_TYPE(u_int, unsigned int)
|
|
AC_CHECK_TYPE(u_long, unsigned long)
|
|
AC_CHECK_TYPE(u_int8_t, unsigned char)
|
|
AC_CHECK_TYPE(u_int16_t, unsigned short)
|
|
AC_CHECK_TYPE(u_int32_t, unsigned int)
|
|
|
|
if test "$ac_cv_header_sys_scsiio_h" = "yes" \
|
|
-a "$ac_cv_header_scsi_h" = "yes";
|
|
then
|
|
AC_TRY_COMPILE([
|
|
#include <sys/scsiio.h>
|
|
#include <scsi.h>
|
|
],[scsireq_t req],,
|
|
AC_DEFINE(scsireq_t, struct scsireq_t,
|
|
[Define scsireq_t as `struct scsireq' if necessary.]))
|
|
fi
|
|
|
|
AC_MSG_CHECKING([for socklen_t in <sys/socket.h>])
|
|
AC_TRY_COMPILE([
|
|
#include <sys/socket.h>
|
|
],[socklen_t len],AC_MSG_RESULT(yes),
|
|
[AC_MSG_RESULT(no); AC_DEFINE(socklen_t,int,
|
|
[Define socklen_t as `int' if necessary.])])
|
|
|
|
SANE_V4L_VERSION
|
|
|
|
dnl Checks for dll libraries: dl
|
|
if test "${enable_dynamic}" != "no"; then
|
|
AC_CHECK_HEADERS(dlfcn.h,
|
|
[AC_CHECK_LIB(dl,dlopen, DL_LIB=-ldl)
|
|
saved_LIBS="${LIBS}"
|
|
LIBS="${LIBS} ${DL_LIB}"
|
|
AC_CHECK_FUNCS(dlopen, enable_dynamic=yes,)
|
|
LIBS="${saved_LIBS}"
|
|
],)
|
|
|
|
# HP/UX DLL handling
|
|
AC_CHECK_HEADERS(dl.h,
|
|
[AC_CHECK_LIB(dld,shl_load, DL_LIB=-ldld)
|
|
saved_LIBS="${LIBS}"
|
|
LIBS="${LIBS} ${DL_LIB}"
|
|
AC_CHECK_FUNCS(shl_load, enable_dynamic=yes,)
|
|
LIBS="${saved_LIBS}"
|
|
],)
|
|
fi
|
|
AC_SUBST(DL_LIB)
|
|
|
|
dnl Checks for Backend libraries.
|
|
AC_CHECK_LIB(m,sqrt)
|
|
AC_CHECK_LIB(scsi, scsireq_enter) # FreeBSD needs this
|
|
AC_CHECK_LIB(cam, cam_open_device) # FreeBSD 3+ needs this
|
|
AC_CHECK_LIB(syslog, syslog) # OS/2 needs this
|
|
|
|
SANE_CHECK_JPEG
|
|
|
|
dnl IRIX sometimes has SYSVR3/4 network DSOs, but we do not need or want
|
|
dnl to use them!
|
|
if test "`uname`" != "IRIX" -a "`uname`" != "IRIX64"; then
|
|
AC_CHECK_LIB(nsl,gethostbyaddr)
|
|
AC_CHECK_LIB(socket,socket)
|
|
fi
|
|
|
|
dnl check for PTAL library (used in hp backend)
|
|
SANE_CHECK_PTAL
|
|
|
|
dnl look for /dev/urandom
|
|
if test -c /dev/urandom ; then
|
|
AC_DEFINE(HAVE_DEV_URANDOM, 1, [Is /dev/urandom available?])
|
|
fi
|
|
|
|
dnl Checks for library functions.
|
|
AC_FUNC_ALLOCA
|
|
AC_FUNC_MMAP
|
|
AC_CHECK_FUNCS(atexit ioperm mkdir scsireq_enter sigprocmask \
|
|
strdup strndup strftime strstr strsep strtod snprintf \
|
|
cfmakeraw tcsendbreak usleep strcasecmp strncasecmp _portaccess \
|
|
getenv isfdtype vsyslog)
|
|
|
|
SANE_LINKER_RPATH
|
|
|
|
dnl initialize libtool
|
|
AC_LIBTOOL_WIN32_DLL
|
|
AM_PROG_LIBTOOL
|
|
|
|
|
|
AC_SUBST(INCLUDES)
|
|
CPPFLAGS="${CPPFLAGS} -DPATH_SANE_CONFIG_DIR=\$(configdir) \
|
|
-DPATH_SANE_DATA_DIR=\$(datadir) \
|
|
-DV_MAJOR=${V_MAJOR} -DV_MINOR=${V_MINOR}"
|
|
|
|
if test "${sane_cv_use_libjpeg}" != "yes"; then
|
|
echo "disabling DC210/DC240 backends (failed to find JPEG library)"
|
|
DC210=
|
|
DC240=
|
|
else
|
|
echo "enabling DC210/DC240 backends"
|
|
DC210=dc210
|
|
DC240=dc240
|
|
fi
|
|
AC_SUBST(DC210)
|
|
AC_SUBST(DC240)
|
|
if test "${ac_cv_header_sys_scanio_h}" = "no"; then
|
|
echo "disabling PINT backend"
|
|
PINT=
|
|
else
|
|
echo "enabling PINT backend"
|
|
PINT=pint
|
|
fi
|
|
AC_SUBST(PINT)
|
|
if test "${ac_cv_func_ioperm}" = "no" \
|
|
&& test "${ac_cv_func__portaccess}" = "no"
|
|
then
|
|
echo "disabling QuickCam backend"
|
|
QCAM=
|
|
else
|
|
echo "enabling QuickCam backend"
|
|
QCAM=qcam
|
|
fi
|
|
AC_SUBST(QCAM)
|
|
if test "${sane_v4l_version}" = "v4l"
|
|
then
|
|
echo "enabling Video4Linux backend"
|
|
V4L=v4l
|
|
else
|
|
echo "disabling Video4Linux backend"
|
|
V4L=
|
|
fi
|
|
AC_SUBST(V4L)
|
|
if test "${ac_cv_header_sys_socket_h}" = "no"; then
|
|
echo "disabling NET backend"
|
|
NET=
|
|
SANED=
|
|
else
|
|
echo "enabling NET backend"
|
|
NET=net
|
|
SANED=saned
|
|
fi
|
|
AC_SUBST(NET)
|
|
AC_SUBST(SANED)
|
|
if test "${enable_shared}" = "no"; then
|
|
enable_preload=yes
|
|
fi
|
|
if test "${enable_dynamic}" != yes || test "${enable_preload}" = "yes"; then
|
|
echo "preloading backends into DLL"
|
|
DLL_PRELOAD="\$(PRELOADABLE_BACKENDS)"
|
|
else
|
|
DLL_PRELOAD=""
|
|
fi
|
|
|
|
AC_ARG_ENABLE(scsibuffersize,
|
|
[ --enable-scsibuffersize=N specify the default size (in bytes) of the buffer
|
|
for SCSI commands [default=131072]],
|
|
[set_scsibuffersize="$enableval"], [set_scsibuffersize=131072])
|
|
AC_DEFINE_UNQUOTED(SCSIBUFFERSIZE, $set_scsibuffersize,
|
|
[SCSI command buffer size])
|
|
echo "scsi buffersize: $set_scsibuffersize"
|
|
|
|
AC_ARG_ENABLE(directio,
|
|
[ --enable-directio enable direct IO (Linux only; can lead to crashes
|
|
with backends using shared memory) [default=no]],
|
|
[
|
|
if eval "test x$enable_directio = xyes"; then
|
|
CFLAGS="$CFLAGS -DENABLE_DIRECTIO"
|
|
fi
|
|
])
|
|
|
|
AC_SUBST(V_MAJOR)
|
|
AC_SUBST(V_MINOR)
|
|
AC_SUBST(V_REV)
|
|
AC_SUBST(DLL_PRELOAD)
|
|
|
|
AC_OUTPUT([Makefile lib/Makefile sanei/Makefile frontend/Makefile
|
|
japi/Makefile backend/Makefile include/Makefile doc/Makefile
|
|
testsuite/Makefile
|
|
tools/Makefile tools/sane-config],)
|
|
|
|
echo "****************************************************************"
|
|
echo "* Please be sure to read file PROBLEMS in this directory *"
|
|
echo "* BEFORE running any of the SANE applications. Some devices *"
|
|
echo "* may be damaged by inproper operation, so please do heed this *"
|
|
echo "* advice. *"
|
|
echo "****************************************************************"
|