sane-project-backends/configure.in

656 wiersze
22 KiB
Plaintext
Czysty Zwykły widok Historia

dnl Process this file with autoconf to produce a configure script. -*-m4-*-
1999-08-09 18:05:39 +00:00
dnl ***********************************************************************
dnl When preparing a release, increase the numeric and string version numbers,
dnl remove the "-cvs" suffix, and set is_release=yes
AC_INIT([sane-backends],[1.1.0-cvs],[sane-devel@lists.alioth.debian.org])
1999-08-09 18:05:39 +00:00
V_MAJOR=1
V_MINOR=1
V_REV=0
2008-02-11 02:50:55 +00:00
is_release=no
dnl ***********************************************************************
m4_ifdef([AC_CONFIG_MACRO_DIR], [AC_CONFIG_MACRO_DIR([m4])])
AM_INIT_AUTOMAKE
dnl Turn off feature were automake will automatically run autoreconf.
dnl This is because we check in generated files into CVS which has
dnl known timestamp issues.
AM_MAINTAINER_MODE
AC_CONFIG_HEADERS([include/sane/config.h])
AC_PREREQ(2.54)dnl dnl Minimum Autoconf version required.
AC_ARG_PROGRAM
PACKAGE=AC_PACKAGE_NAME
VERSION=AC_PACKAGE_VERSION
NUMBER_VERSION=${V_MAJOR}.${V_MINOR}.${V_REV}
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(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(V_MAJOR)
AC_SUBST(V_MINOR)
AC_SUBST(V_REV)
1999-08-09 18:05:39 +00:00
AC_SUBST(PACKAGE)
AC_SUBST(VERSION)
AC_SUBST(NUMBER_VERSION)
AC_CANONICAL_BUILD
AC_CANONICAL_HOST
1999-08-09 18:05:39 +00:00
dnl no bloody way to have a decent --docdir...
AC_ARG_WITH(docdir,
AC_HELP_STRING([--with-docdir=DIR],
[documentation @<:@PREFIX/doc/sane-VERSION@:>@]),
[
docdir="${withval}"
AC_SUBST([docdir])dnl
], [
AC_SUBST([docdir], ['${prefix}/doc/sane-${VERSION}'])dnl
])
dnl ***********************************************************************
1999-08-09 18:05:39 +00:00
dnl Checks for programs.
dnl ***********************************************************************
1999-08-09 18:05:39 +00:00
AC_PROG_CC
AC_PROG_INSTALL
AC_PROG_MAKE_SET
AC_PROG_CPP
AC_PROG_GCC_TRADITIONAL
AC_PATH_PROG(SANE_CONFIG_PATH, sane-config, no)
AC_PATH_PROG(MSGFMT, msgfmt$EXEEXT, no)
AC_PATH_PROG(XGETTEXT, xgettext$EXEEXT, no)
AC_PATH_PROG(MSGMERGE, msgmerge$EXEEXT, no)
AC_PATH_PROG(LATEX, latex$EXEEXT, no)
AC_PATH_PROG(DVIPS, dvips$EXEEXT, no)
AC_PATH_PROG(MAKEINDEX, makeindex$EXEEXT, no)
AC_PATH_PROG(MAKEDEPEND, makedepend$EXEEXT, no)
AC_SUBST(MSGFMT)
AC_SUBST(XGETTEXT)
AC_SUBST(MSGMERGE)
AC_SUBST(LATEX)
AC_SUBST(DVIPS)
AC_SUBST(MAKEINDEX)
if test "$MAKEDEPEND" != "no"; then
DEPEND_RECURSIVE="depend-recursive"
fi
AC_SUBST(DEPEND_RECURSIVE)
CROSS_COMPILING=$cross_compiling
AC_SUBST(CROSS_COMPILING)
dnl ***********************************************************************
dnl set compiler/linker flags
dnl ***********************************************************************
INCLUDES="${INCLUDES} -I/usr/local/include"
AC_SUBST(INCLUDES)
SANE_SET_CFLAGS([$is_release])
SANE_SET_LDFLAGS
SANE_LINKER_RPATH
dnl ***********************************************************************
dnl Checks for unix variants
dnl ***********************************************************************
AC_GNU_SOURCE
1999-08-09 18:05:39 +00:00
AC_AIX
AC_MINIX
AC_ISC_POSIX
AC_NEED_BYTEORDER_H([include/byteorder.h])
AX_NEED_STDINT_H([include/_stdint.h])
dnl ***********************************************************************
dnl Checks for libraries
dnl ***********************************************************************
SANE_CHECK_DLL_LIB
dnl Checks for Backend libraries.
* acinclude.m4, configure.in: Put all libraries into their own *_LIB variables instead of $LIB so that we do not have to link in the world to all executables. Modified SANE_CHECK_U_TYPES to be a little more portable to platforms that use #define for u_* types. Create SANE_CHECK_BACKENDS macro so that PRELOADABLE_BACKENDS can also be valided. Auto-populated PRELAODABLE_BACKENDS when detect dlopen() won't work. Various protability cleanups. * backend/dll.c: Make dll-preload.c a .h since its an include and not compilable byitself. * frontend/Makefile.in, frontend/scanimage.c, include/laaloca.h, lib/Makefile.am, lib/alloca.c, strcasestr.c, tools/Makefile.in, tools/sane-desc.c: Convert lib/ to automake. Create a liblib.la for everyone to use and a libfelib.la for only frontend programs. Make all internal programs be prefixed with sanei_ as not to conflict with other programs libsane is linked in with that will also most likely create similar internal utils on problem platforms. * include/getopt.h, lib/getopt.c, lib/getopt1.c: Always compile and link in getopt_long() but prefix it with sanei_. Its easier to always use internal version then try to figure out what platforms support getopt_long() and what header files to use. * backend/Makefile.am: Convert backend makefile to automake. Initial version that is feature parity with original but uses specific rules instead of wildcards and only links in libraries/objs really required. Room for more cleanup of whats linked in once all makefiles have been converted to automake.
2009-01-31 03:12:18 +00:00
AC_CHECK_LIB(m, sqrt, MATH_LIB="-lm")
AC_SUBST(MATH_LIB)
AC_CHECK_LIB(scsi, scsireq_enter, SCSI_LIBS="-lscsi") # FreeBSD needs this
AC_SUBST(SCSI_LIBS)
AC_CHECK_LIB(cam, cam_open_device, CAM_LIBS="-lcam") # FreeBSD 3+ needs this
AC_SUBST(CAM_LIBS)
case ${host_os} in
os2*)
AC_CHECK_LIB(syslog, sylog, SYSLOG_LIBS="-lsyslog")
;;
beos*)
AC_CHECK_LIB(be, syslog, SYSLOG_LIBS="-lbe")
;;
esac
AC_SUBST(SYSLOG_LIBS)
AC_CHECK_FUNC(gethostbyaddr, [GETHOSTBYADDR_LIBS=], [AC_CHECK_LIB(nsl, gethostbyaddr, GETHOSTBYADDR_LIBS="-lnsl", [AC_CHECK_LIB(bind, gethostbyaddr, GETHOSTBYADDR_LIBS="-lbind")])])
AC_SUBST(GETHOSTBYADDR_LIBS)
AC_CHECK_LIB(socket, socket, SOCKET_LIBS="-lsocket -lnsl",, -lnsl)
AC_SUBST(SOCKET_LIBS)
SANE_CHECK_JPEG
SANE_CHECK_TIFF
SANE_CHECK_IEEE1284
SANE_CHECK_PTHREAD
SANE_CHECK_LOCKING
SANE_CHECK_GPHOTO2
* acinclude.m4, configure.in: Put all libraries into their own *_LIB variables instead of $LIB so that we do not have to link in the world to all executables. Modified SANE_CHECK_U_TYPES to be a little more portable to platforms that use #define for u_* types. Create SANE_CHECK_BACKENDS macro so that PRELOADABLE_BACKENDS can also be valided. Auto-populated PRELAODABLE_BACKENDS when detect dlopen() won't work. Various protability cleanups. * backend/dll.c: Make dll-preload.c a .h since its an include and not compilable byitself. * frontend/Makefile.in, frontend/scanimage.c, include/laaloca.h, lib/Makefile.am, lib/alloca.c, strcasestr.c, tools/Makefile.in, tools/sane-desc.c: Convert lib/ to automake. Create a liblib.la for everyone to use and a libfelib.la for only frontend programs. Make all internal programs be prefixed with sanei_ as not to conflict with other programs libsane is linked in with that will also most likely create similar internal utils on problem platforms. * include/getopt.h, lib/getopt.c, lib/getopt1.c: Always compile and link in getopt_long() but prefix it with sanei_. Its easier to always use internal version then try to figure out what platforms support getopt_long() and what header files to use. * backend/Makefile.am: Convert backend makefile to automake. Initial version that is feature parity with original but uses specific rules instead of wildcards and only links in libraries/objs really required. Room for more cleanup of whats linked in once all makefiles have been converted to automake.
2009-01-31 03:12:18 +00:00
PKG_CHECK_MODULES(LIBV4L, libv4l1, have_libv4l1=yes, have_libv4l1=no)
AC_SUBST(LIBV4L_LIBS)
AC_SUBST(LIBV4L_CFLAGS)
AC_ARG_ENABLE(avahi,
AC_HELP_STRING([--enable-avahi], [enable Avahi support for saned and the net backend]),
[enable_avahi=$enableval], [enable_avahi=no])
if test "$enable_avahi" = "yes"; then
* acinclude.m4, configure.in: Put all libraries into their own *_LIB variables instead of $LIB so that we do not have to link in the world to all executables. Modified SANE_CHECK_U_TYPES to be a little more portable to platforms that use #define for u_* types. Create SANE_CHECK_BACKENDS macro so that PRELOADABLE_BACKENDS can also be valided. Auto-populated PRELAODABLE_BACKENDS when detect dlopen() won't work. Various protability cleanups. * backend/dll.c: Make dll-preload.c a .h since its an include and not compilable byitself. * frontend/Makefile.in, frontend/scanimage.c, include/laaloca.h, lib/Makefile.am, lib/alloca.c, strcasestr.c, tools/Makefile.in, tools/sane-desc.c: Convert lib/ to automake. Create a liblib.la for everyone to use and a libfelib.la for only frontend programs. Make all internal programs be prefixed with sanei_ as not to conflict with other programs libsane is linked in with that will also most likely create similar internal utils on problem platforms. * include/getopt.h, lib/getopt.c, lib/getopt1.c: Always compile and link in getopt_long() but prefix it with sanei_. Its easier to always use internal version then try to figure out what platforms support getopt_long() and what header files to use. * backend/Makefile.am: Convert backend makefile to automake. Initial version that is feature parity with original but uses specific rules instead of wildcards and only links in libraries/objs really required. Room for more cleanup of whats linked in once all makefiles have been converted to automake.
2009-01-31 03:12:18 +00:00
PKG_CHECK_MODULES(AVAHI, [ avahi-client >= 0.6.4 ],
[AC_DEFINE(WITH_AVAHI, 1, [define if Avahi support is enabled for saned and the net backend])], enable_avahi=no)
fi
dnl check sane to make sure we don't have two installations
AC_CHECK_LIB(sane, sane_init, LIBSANE_EXISTS="yes")
dnl ***********************************************************************
1999-08-09 18:05:39 +00:00
dnl Checks for header files.
dnl ***********************************************************************
1999-08-09 18:05:39 +00:00
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/ipc.h sys/signal.h \
1999-08-09 18:05:39 +00:00
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 \
camlib.h os2.h sys/socket.h sys/io.h gscdds.h sys/hw.h \
sys/types.h sys/scsi/scsi.h sys/scsi/sgdefs.h sys/scsi/targets/scgio.h \
apollo/scsi.h sys/sdi_comm.h sys/passthrudef.h linux/ppdev.h \
2003-09-24 03:41:48 +00:00
dev/ppbus/ppi.h machine/cpufunc.h usb.h sys/bitypes.h sys/sem.h sys/poll.h \
IOKit/cdb/IOSCSILib.h IOKit/scsi/SCSICommandOperationCodes.h \
IOKit/scsi-commands/SCSICommandOperationCodes.h \
windows.h be/kernel/OS.h be/drivers/USB_scanner.h limits.h sys/ioctl.h asm/types.h\
netinet/in.h tiffio.h ifaddrs.h pwd.h)
AC_CHECK_HEADERS([asm/io.h],,,[#include <sys/types.h>])
AC_CHECK_HEADERS([io/cam/cam.h],,,[#include <io/common/iotypes.h>])
SANE_CHECK_MISSING_HEADERS
1999-08-09 18:05:39 +00:00
AC_CHECK_HEADER(resmgr.h,[
AC_CHECK_LIB(
resmgr,
rsm_open_device,[
2004-10-06 11:09:14 +00:00
AC_DEFINE(HAVE_RESMGR,1,[define if you have the resmgr library])
LIBS="$LIBS -lresmgr"
]
)
])
AC_CHECK_HEADER(usbcalls.h,[
AC_DEFINE(HAVE_USBCALLS,1,[define if you have the usbcalls library])
LIBS="$LIBS -lusbcalls"
],,[
#include <usb.h>
#include <os2.h>])
dnl ***********************************************************************
dnl Checks for types and structures
dnl ***********************************************************************
1999-08-09 18:05:39 +00:00
AC_TYPE_SIGNAL
AC_TYPE_SIZE_T
AC_TYPE_PID_T
AC_CHECK_TYPE(ssize_t, long)
SANE_CHECK_U_TYPES
1999-08-09 18:05:39 +00:00
# from Python, check for "long long" type
AC_MSG_CHECKING(for long long support)
have_long_long=no
AC_TRY_COMPILE([], [long long x; x = (long long)0;], AC_DEFINE(HAVE_LONG_LONG, 1, [Define if the long long type is available.]) have_long_long=yes)
AC_MSG_RESULT($have_long_long)
1999-08-09 18:05:39 +00:00
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.]))
1999-08-09 18:05:39 +00:00
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.])])
AC_MSG_CHECKING([for union semun in <sys/sem.h>])
AC_TRY_COMPILE([
#include <sys/types.h>
#include <sys/ipc.h>
#include <sys/sem.h>
],[union semun test_semun],[AC_MSG_RESULT(yes);
AC_DEFINE(HAVE_UNION_SEMUN,1,[Define if union semun is available.])],
AC_MSG_RESULT(no))
AC_MSG_CHECKING([for sg_header.target_status in <scsi/sg.h>])
AC_TRY_COMPILE([
#include <sys/types.h>
#include <scsi/sg.h>
],[
struct sg_header hdr;
hdr.target_status = 1;
return 0;
],[AC_MSG_RESULT(yes);
AC_DEFINE(HAVE_SG_TARGET_STATUS,1,[Define if sg_header.target_status is
available.])],
AC_MSG_RESULT(no))
AC_MSG_CHECKING([for struct flock in fcntl.h])
AC_EGREP_HEADER([struct flock], fcntl.h, [AC_MSG_RESULT(yes) ;
AC_DEFINE(HAVE_STRUCT_FLOCK, 1,
[Define if struct flock is available.])], AC_MSG_RESULT(no))
AC_MSG_CHECKING([for Linux ioctl defines])
AC_TRY_COMPILE([
#include <sys/ioctl.h>
#include <asm/types.h>
],[
__u32 houba = _IOR('v',14, unsigned long);
],[AC_MSG_RESULT(yes);
have_linux_ioctl_defines="yes";],AC_MSG_RESULT(no))
2007-11-10 15:44:41 +00:00
AC_MSG_CHECKING([for SCSITaskSGElement in IOKit/scsi/SCSITaskLib.h])
AC_TRY_COMPILE([
#undef VERSION
#include <IOKit/scsi/SCSITaskLib.h>
],[
SCSITaskSGElement range;
return 0;
],[AC_MSG_RESULT(yes);
AC_DEFINE(HAVE_SCSITASKSGELEMENT,1,[Define if SCSITaskSGElement is available.])],
AC_MSG_RESULT(no))
dnl ***********************************************************************
dnl Checks for compiler characteristics
dnl ***********************************************************************
AC_C_BIGENDIAN
AC_C_CONST
AC_C_INLINE
dnl ***********************************************************************
dnl Checks for library functions
dnl ***********************************************************************
if test "$ac_cv_header_be_kernel_OS_h" = "yes" ; then
dnl those are known to be broken in BeOS (BONE)
ac_cv_func_getaddrinfo=no
ac_cv_func_getnameinfo=no
fi
AC_FUNC_ALLOCA
1999-08-09 18:05:39 +00:00
AC_FUNC_MMAP
AC_CHECK_FUNCS(atexit inet_addr inet_aton inet_ntoa ioperm i386_set_ioperm mkdir \
scsireq_enter strftime strstr strtod \
cfmakeraw tcsendbreak strcasecmp strncasecmp _portaccess \
2003-10-22 07:02:36 +00:00
getaddrinfo getnameinfo poll setitimer iopl )
AC_REPLACE_FUNCS(getenv inet_ntop inet_pton isfdtype sigprocmask snprintf \
strcasestr strdup strndup strsep usleep vsyslog)
SANE_PROTOTYPES
if test "$ac_cv_header_os2_h" = "yes" ; then
AC_DEFINE(strncasecmp, strnicmp, [Define for OS/2 only])
AC_DEFINE(strcasecmp, stricmp, [Define for OS/2 only])
fi
dnl ***********************************************************************
dnl checks for system services
dnl ***********************************************************************
if test -c /dev/urandom ; then
AC_DEFINE(HAVE_DEV_URANDOM, 1, [Is /dev/urandom available?])
fi
dnl libusb on enabled by default (if found)
USE_LIBUSB=yes
AC_ARG_ENABLE(libusb,
AC_HELP_STRING([--disable-libusb],
[disable support for libusb]),
[
if eval "test x$enable_libusb = xno"; then
USE_LIBUSB=
fi
])
dnl we need both libusb header and a libusb providing usb_interrupt_read
if test "${ac_cv_header_usb_h}" = "yes" && test "$USE_LIBUSB" = "yes" ; then
AC_CHECK_LIB(usb, usb_interrupt_read)
if test "${ac_cv_lib_usb_usb_interrupt_read}" = "yes" ; then
HAVE_LIBUSB="yes"
fi
fi
dnl disable Linux SCSI generic version 3 to avoid 32/64 bit problems
if sparc64 -q > /dev/null 2>&1 ; then
AC_DEFINE(DISABLE_LINUX_SG_IO, 1, [Should we disable SCSI generic v3?])
fi
dnl check for IPv6 (can be overriden by --enable-ipv6)
if test "$ac_cv_func_getnameinfo" = "yes" \
&& test "$ac_cv_func_getaddrinfo" = "yes" ; then
SANE_CHECK_IPV6
else
ipv6="no"
fi
dnl ***********************************************************************
1999-08-09 18:05:39 +00:00
dnl initialize libtool
dnl ***********************************************************************
AC_LIBTOOL_WIN32_DLL
AC_DISABLE_STATIC
AC_PROG_LIBTOOL
1999-08-09 18:05:39 +00:00
2003-09-24 03:41:48 +00:00
dnl Windows/Cygwin needs this, else the library creation fails
dnl BeOS also needs this (why isnt it the default anyway ???)
* acinclude.m4, configure.in: Put all libraries into their own *_LIB variables instead of $LIB so that we do not have to link in the world to all executables. Modified SANE_CHECK_U_TYPES to be a little more portable to platforms that use #define for u_* types. Create SANE_CHECK_BACKENDS macro so that PRELOADABLE_BACKENDS can also be valided. Auto-populated PRELAODABLE_BACKENDS when detect dlopen() won't work. Various protability cleanups. * backend/dll.c: Make dll-preload.c a .h since its an include and not compilable byitself. * frontend/Makefile.in, frontend/scanimage.c, include/laaloca.h, lib/Makefile.am, lib/alloca.c, strcasestr.c, tools/Makefile.in, tools/sane-desc.c: Convert lib/ to automake. Create a liblib.la for everyone to use and a libfelib.la for only frontend programs. Make all internal programs be prefixed with sanei_ as not to conflict with other programs libsane is linked in with that will also most likely create similar internal utils on problem platforms. * include/getopt.h, lib/getopt.c, lib/getopt1.c: Always compile and link in getopt_long() but prefix it with sanei_. Its easier to always use internal version then try to figure out what platforms support getopt_long() and what header files to use. * backend/Makefile.am: Convert backend makefile to automake. Initial version that is feature parity with original but uses specific rules instead of wildcards and only links in libraries/objs really required. Room for more cleanup of whats linked in once all makefiles have been converted to automake.
2009-01-31 03:12:18 +00:00
case $target in
*cygwin* | *mingw* | *beos*)
NO_UNDEFINED_LDFLAGS=-no-undefined
esac
AC_SUBST(NO_UNDEFINED_LDFLAGS)
2003-09-24 03:41:48 +00:00
dnl Check for lock dir
AC_ARG_WITH(lockdir, AC_HELP_STRING([--with-lockdir=DIR],
[set SANE lockdir @<:@localstatedir/lock/sane@:>@]),
[locksanedir=$withval],[locksanedir=${localstatedir}/lock/sane])
AC_SUBST(locksanedir)
dnl ***********************************************************************
dnl enable/disable backends and features based on previous tests and user's
dnl choice
dnl ***********************************************************************
CPPFLAGS="${CPPFLAGS} -DPATH_SANE_CONFIG_DIR=\$(configdir) \
-DPATH_SANE_DATA_DIR=\$(datadir) \
-DPATH_SANE_LOCK_DIR=\$(locksanedir) \
-DV_MAJOR=${V_MAJOR} -DV_MINOR=${V_MINOR}"
1999-08-09 18:05:39 +00:00
if test "${ac_cv_header_sys_socket_h}" = "no"; then
echo "*** disabling saned (sys/socket.h not found)"
1999-08-09 18:05:39 +00:00
SANED=
else
SANED=saned
fi
AC_SUBST(SANED)
dnl These are the backends that are build in any case:
AC_ARG_ENABLE(local-backends,
AC_HELP_STRING([--disable-local-backends],
[turn off compilation of all backends but net]))
* acinclude.m4, configure.in: Put all libraries into their own *_LIB variables instead of $LIB so that we do not have to link in the world to all executables. Modified SANE_CHECK_U_TYPES to be a little more portable to platforms that use #define for u_* types. Create SANE_CHECK_BACKENDS macro so that PRELOADABLE_BACKENDS can also be valided. Auto-populated PRELAODABLE_BACKENDS when detect dlopen() won't work. Various protability cleanups. * backend/dll.c: Make dll-preload.c a .h since its an include and not compilable byitself. * frontend/Makefile.in, frontend/scanimage.c, include/laaloca.h, lib/Makefile.am, lib/alloca.c, strcasestr.c, tools/Makefile.in, tools/sane-desc.c: Convert lib/ to automake. Create a liblib.la for everyone to use and a libfelib.la for only frontend programs. Make all internal programs be prefixed with sanei_ as not to conflict with other programs libsane is linked in with that will also most likely create similar internal utils on problem platforms. * include/getopt.h, lib/getopt.c, lib/getopt1.c: Always compile and link in getopt_long() but prefix it with sanei_. Its easier to always use internal version then try to figure out what platforms support getopt_long() and what header files to use. * backend/Makefile.am: Convert backend makefile to automake. Initial version that is feature parity with original but uses specific rules instead of wildcards and only links in libraries/objs really required. Room for more cleanup of whats linked in once all makefiles have been converted to automake.
2009-01-31 03:12:18 +00:00
ALL_BACKENDS="abaton agfafocus apple artec artec_eplus48u as6e \
avision bh canon canon630u canon_dr canon_pp cardscan \
coolscan coolscan2 coolscan3 dc25 dc210 dc240 \
dell1600n_net dmc epjitsu epson epson2 fujitsu genesys \
gphoto2 gt68xx hp hp3500 hp3900 hp4200 hp5400 \
hp5590 hpsj5s hpljm1005 hs2p ibm leo lexmark ma1509 \
matsushita microtek microtek2 mustek mustek_pp \
mustek_usb mustek_usb2 nec net niash pie pint \
pixma plustek plustek_pp qcam ricoh rts8891 s9036 \
sceptre sharp sm3600 sm3840 snapscan sp15c st400 \
stv680 tamarack teco1 teco2 teco3 test u12 umax
umax_pp umax1220u v4l xerox_mfp"
# If user specifies backends manually then cause configure
# to fail if its detected it can't be compiled. If we
# are in automatic mode then remove backend from list instead.
user_selected_backends="yes"
if eval "test x$enable_local_backends = xno"; then
BACKENDS="net"
else
if test "${BACKENDS}" != "" ; then
AC_MSG_NOTICE([Manually selected backends: ${BACKENDS}])
else
* acinclude.m4, configure.in: Put all libraries into their own *_LIB variables instead of $LIB so that we do not have to link in the world to all executables. Modified SANE_CHECK_U_TYPES to be a little more portable to platforms that use #define for u_* types. Create SANE_CHECK_BACKENDS macro so that PRELOADABLE_BACKENDS can also be valided. Auto-populated PRELAODABLE_BACKENDS when detect dlopen() won't work. Various protability cleanups. * backend/dll.c: Make dll-preload.c a .h since its an include and not compilable byitself. * frontend/Makefile.in, frontend/scanimage.c, include/laaloca.h, lib/Makefile.am, lib/alloca.c, strcasestr.c, tools/Makefile.in, tools/sane-desc.c: Convert lib/ to automake. Create a liblib.la for everyone to use and a libfelib.la for only frontend programs. Make all internal programs be prefixed with sanei_ as not to conflict with other programs libsane is linked in with that will also most likely create similar internal utils on problem platforms. * include/getopt.h, lib/getopt.c, lib/getopt1.c: Always compile and link in getopt_long() but prefix it with sanei_. Its easier to always use internal version then try to figure out what platforms support getopt_long() and what header files to use. * backend/Makefile.am: Convert backend makefile to automake. Initial version that is feature parity with original but uses specific rules instead of wildcards and only links in libraries/objs really required. Room for more cleanup of whats linked in once all makefiles have been converted to automake.
2009-01-31 03:12:18 +00:00
BACKENDS="$ALL_BACKENDS"
user_selected_backends="no"
fi
* acinclude.m4, configure.in: Put all libraries into their own *_LIB variables instead of $LIB so that we do not have to link in the world to all executables. Modified SANE_CHECK_U_TYPES to be a little more portable to platforms that use #define for u_* types. Create SANE_CHECK_BACKENDS macro so that PRELOADABLE_BACKENDS can also be valided. Auto-populated PRELAODABLE_BACKENDS when detect dlopen() won't work. Various protability cleanups. * backend/dll.c: Make dll-preload.c a .h since its an include and not compilable byitself. * frontend/Makefile.in, frontend/scanimage.c, include/laaloca.h, lib/Makefile.am, lib/alloca.c, strcasestr.c, tools/Makefile.in, tools/sane-desc.c: Convert lib/ to automake. Create a liblib.la for everyone to use and a libfelib.la for only frontend programs. Make all internal programs be prefixed with sanei_ as not to conflict with other programs libsane is linked in with that will also most likely create similar internal utils on problem platforms. * include/getopt.h, lib/getopt.c, lib/getopt1.c: Always compile and link in getopt_long() but prefix it with sanei_. Its easier to always use internal version then try to figure out what platforms support getopt_long() and what header files to use. * backend/Makefile.am: Convert backend makefile to automake. Initial version that is feature parity with original but uses specific rules instead of wildcards and only links in libraries/objs really required. Room for more cleanup of whats linked in once all makefiles have been converted to automake.
2009-01-31 03:12:18 +00:00
fi
* acinclude.m4, configure.in: Put all libraries into their own *_LIB variables instead of $LIB so that we do not have to link in the world to all executables. Modified SANE_CHECK_U_TYPES to be a little more portable to platforms that use #define for u_* types. Create SANE_CHECK_BACKENDS macro so that PRELOADABLE_BACKENDS can also be valided. Auto-populated PRELAODABLE_BACKENDS when detect dlopen() won't work. Various protability cleanups. * backend/dll.c: Make dll-preload.c a .h since its an include and not compilable byitself. * frontend/Makefile.in, frontend/scanimage.c, include/laaloca.h, lib/Makefile.am, lib/alloca.c, strcasestr.c, tools/Makefile.in, tools/sane-desc.c: Convert lib/ to automake. Create a liblib.la for everyone to use and a libfelib.la for only frontend programs. Make all internal programs be prefixed with sanei_ as not to conflict with other programs libsane is linked in with that will also most likely create similar internal utils on problem platforms. * include/getopt.h, lib/getopt.c, lib/getopt1.c: Always compile and link in getopt_long() but prefix it with sanei_. Its easier to always use internal version then try to figure out what platforms support getopt_long() and what header files to use. * backend/Makefile.am: Convert backend makefile to automake. Initial version that is feature parity with original but uses specific rules instead of wildcards and only links in libraries/objs really required. Room for more cleanup of whats linked in once all makefiles have been converted to automake.
2009-01-31 03:12:18 +00:00
SANE_CHECK_BACKENDS
* acinclude.m4, configure.in: Put all libraries into their own *_LIB variables instead of $LIB so that we do not have to link in the world to all executables. Modified SANE_CHECK_U_TYPES to be a little more portable to platforms that use #define for u_* types. Create SANE_CHECK_BACKENDS macro so that PRELOADABLE_BACKENDS can also be valided. Auto-populated PRELAODABLE_BACKENDS when detect dlopen() won't work. Various protability cleanups. * backend/dll.c: Make dll-preload.c a .h since its an include and not compilable byitself. * frontend/Makefile.in, frontend/scanimage.c, include/laaloca.h, lib/Makefile.am, lib/alloca.c, strcasestr.c, tools/Makefile.in, tools/sane-desc.c: Convert lib/ to automake. Create a liblib.la for everyone to use and a libfelib.la for only frontend programs. Make all internal programs be prefixed with sanei_ as not to conflict with other programs libsane is linked in with that will also most likely create similar internal utils on problem platforms. * include/getopt.h, lib/getopt.c, lib/getopt1.c: Always compile and link in getopt_long() but prefix it with sanei_. Its easier to always use internal version then try to figure out what platforms support getopt_long() and what header files to use. * backend/Makefile.am: Convert backend makefile to automake. Initial version that is feature parity with original but uses specific rules instead of wildcards and only links in libraries/objs really required. Room for more cleanup of whats linked in once all makefiles have been converted to automake.
2009-01-31 03:12:18 +00:00
#FIXME: This only works in sanie/ directory. What needs to be
#done to get it working for backend as well? Is it even needed?
#why is usb/scsi/firewire not optionally compiling sanei items as well?
AC_SUBST(SANEI_JPEG)
AC_SUBST(SANEI_JPEG_LO)
* acinclude.m4, configure.in: Put all libraries into their own *_LIB variables instead of $LIB so that we do not have to link in the world to all executables. Modified SANE_CHECK_U_TYPES to be a little more portable to platforms that use #define for u_* types. Create SANE_CHECK_BACKENDS macro so that PRELOADABLE_BACKENDS can also be valided. Auto-populated PRELAODABLE_BACKENDS when detect dlopen() won't work. Various protability cleanups. * backend/dll.c: Make dll-preload.c a .h since its an include and not compilable byitself. * frontend/Makefile.in, frontend/scanimage.c, include/laaloca.h, lib/Makefile.am, lib/alloca.c, strcasestr.c, tools/Makefile.in, tools/sane-desc.c: Convert lib/ to automake. Create a liblib.la for everyone to use and a libfelib.la for only frontend programs. Make all internal programs be prefixed with sanei_ as not to conflict with other programs libsane is linked in with that will also most likely create similar internal utils on problem platforms. * include/getopt.h, lib/getopt.c, lib/getopt1.c: Always compile and link in getopt_long() but prefix it with sanei_. Its easier to always use internal version then try to figure out what platforms support getopt_long() and what header files to use. * backend/Makefile.am: Convert backend makefile to automake. Initial version that is feature parity with original but uses specific rules instead of wildcards and only links in libraries/objs really required. Room for more cleanup of whats linked in once all makefiles have been converted to automake.
2009-01-31 03:12:18 +00:00
AC_ARG_ENABLE(pnm-backend,
AC_HELP_STRING([--enable-pnm-backend],
[enable the pnm backend for testing frontends (possible security risk, see PROBLEMS file)]),
[FILTERED_BACKENDS="${FILTERED_BACKENDS} pnm"],
[echo "*** pnm backend not manually selected - disabling"])
* acinclude.m4, configure.in: Put all libraries into their own *_LIB variables instead of $LIB so that we do not have to link in the world to all executables. Modified SANE_CHECK_U_TYPES to be a little more portable to platforms that use #define for u_* types. Create SANE_CHECK_BACKENDS macro so that PRELOADABLE_BACKENDS can also be valided. Auto-populated PRELAODABLE_BACKENDS when detect dlopen() won't work. Various protability cleanups. * backend/dll.c: Make dll-preload.c a .h since its an include and not compilable byitself. * frontend/Makefile.in, frontend/scanimage.c, include/laaloca.h, lib/Makefile.am, lib/alloca.c, strcasestr.c, tools/Makefile.in, tools/sane-desc.c: Convert lib/ to automake. Create a liblib.la for everyone to use and a libfelib.la for only frontend programs. Make all internal programs be prefixed with sanei_ as not to conflict with other programs libsane is linked in with that will also most likely create similar internal utils on problem platforms. * include/getopt.h, lib/getopt.c, lib/getopt1.c: Always compile and link in getopt_long() but prefix it with sanei_. Its easier to always use internal version then try to figure out what platforms support getopt_long() and what header files to use. * backend/Makefile.am: Convert backend makefile to automake. Initial version that is feature parity with original but uses specific rules instead of wildcards and only links in libraries/objs really required. Room for more cleanup of whats linked in once all makefiles have been converted to automake.
2009-01-31 03:12:18 +00:00
BACKENDS="$FILTERED_BACKENDS"
BACKEND_LIBS_ENABLED=""
BACKEND_CONFS_ENABLED=""
for backend in ${BACKENDS} ; do
BACKEND_LIBS_ENABLED="${BACKEND_LIBS_ENABLED} libsane-${backend}.la"
BACKEND_CONFS_ENABLED="${BACKEND_CONFS_ENABLED} ${backend}.conf"
done
AC_SUBST(BACKEND_LIBS_ENABLED)
* acinclude.m4, configure.in: Put all libraries into their own *_LIB variables instead of $LIB so that we do not have to link in the world to all executables. Modified SANE_CHECK_U_TYPES to be a little more portable to platforms that use #define for u_* types. Create SANE_CHECK_BACKENDS macro so that PRELOADABLE_BACKENDS can also be valided. Auto-populated PRELAODABLE_BACKENDS when detect dlopen() won't work. Various protability cleanups. * backend/dll.c: Make dll-preload.c a .h since its an include and not compilable byitself. * frontend/Makefile.in, frontend/scanimage.c, include/laaloca.h, lib/Makefile.am, lib/alloca.c, strcasestr.c, tools/Makefile.in, tools/sane-desc.c: Convert lib/ to automake. Create a liblib.la for everyone to use and a libfelib.la for only frontend programs. Make all internal programs be prefixed with sanei_ as not to conflict with other programs libsane is linked in with that will also most likely create similar internal utils on problem platforms. * include/getopt.h, lib/getopt.c, lib/getopt1.c: Always compile and link in getopt_long() but prefix it with sanei_. Its easier to always use internal version then try to figure out what platforms support getopt_long() and what header files to use. * backend/Makefile.am: Convert backend makefile to automake. Initial version that is feature parity with original but uses specific rules instead of wildcards and only links in libraries/objs really required. Room for more cleanup of whats linked in once all makefiles have been converted to automake.
2009-01-31 03:12:18 +00:00
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"
* acinclude.m4, configure.in: Put all libraries into their own *_LIB variables instead of $LIB so that we do not have to link in the world to all executables. Modified SANE_CHECK_U_TYPES to be a little more portable to platforms that use #define for u_* types. Create SANE_CHECK_BACKENDS macro so that PRELOADABLE_BACKENDS can also be valided. Auto-populated PRELAODABLE_BACKENDS when detect dlopen() won't work. Various protability cleanups. * backend/dll.c: Make dll-preload.c a .h since its an include and not compilable byitself. * frontend/Makefile.in, frontend/scanimage.c, include/laaloca.h, lib/Makefile.am, lib/alloca.c, strcasestr.c, tools/Makefile.in, tools/sane-desc.c: Convert lib/ to automake. Create a liblib.la for everyone to use and a libfelib.la for only frontend programs. Make all internal programs be prefixed with sanei_ as not to conflict with other programs libsane is linked in with that will also most likely create similar internal utils on problem platforms. * include/getopt.h, lib/getopt.c, lib/getopt1.c: Always compile and link in getopt_long() but prefix it with sanei_. Its easier to always use internal version then try to figure out what platforms support getopt_long() and what header files to use. * backend/Makefile.am: Convert backend makefile to automake. Initial version that is feature parity with original but uses specific rules instead of wildcards and only links in libraries/objs really required. Room for more cleanup of whats linked in once all makefiles have been converted to automake.
2009-01-31 03:12:18 +00:00
# If user specifies backends manually then cause configure
# to fail if its detected it can't be compiled. If we
# are in automatic mode then remove backend from list instead.
user_selected_backends="yes"
* acinclude.m4, configure.in: Put all libraries into their own *_LIB variables instead of $LIB so that we do not have to link in the world to all executables. Modified SANE_CHECK_U_TYPES to be a little more portable to platforms that use #define for u_* types. Create SANE_CHECK_BACKENDS macro so that PRELOADABLE_BACKENDS can also be valided. Auto-populated PRELAODABLE_BACKENDS when detect dlopen() won't work. Various protability cleanups. * backend/dll.c: Make dll-preload.c a .h since its an include and not compilable byitself. * frontend/Makefile.in, frontend/scanimage.c, include/laaloca.h, lib/Makefile.am, lib/alloca.c, strcasestr.c, tools/Makefile.in, tools/sane-desc.c: Convert lib/ to automake. Create a liblib.la for everyone to use and a libfelib.la for only frontend programs. Make all internal programs be prefixed with sanei_ as not to conflict with other programs libsane is linked in with that will also most likely create similar internal utils on problem platforms. * include/getopt.h, lib/getopt.c, lib/getopt1.c: Always compile and link in getopt_long() but prefix it with sanei_. Its easier to always use internal version then try to figure out what platforms support getopt_long() and what header files to use. * backend/Makefile.am: Convert backend makefile to automake. Initial version that is feature parity with original but uses specific rules instead of wildcards and only links in libraries/objs really required. Room for more cleanup of whats linked in once all makefiles have been converted to automake.
2009-01-31 03:12:18 +00:00
if eval "test x$enable_local_backends = xno"; then
PRELOADABLE_BACKENDS="net"
else
* acinclude.m4, configure.in: Put all libraries into their own *_LIB variables instead of $LIB so that we do not have to link in the world to all executables. Modified SANE_CHECK_U_TYPES to be a little more portable to platforms that use #define for u_* types. Create SANE_CHECK_BACKENDS macro so that PRELOADABLE_BACKENDS can also be valided. Auto-populated PRELAODABLE_BACKENDS when detect dlopen() won't work. Various protability cleanups. * backend/dll.c: Make dll-preload.c a .h since its an include and not compilable byitself. * frontend/Makefile.in, frontend/scanimage.c, include/laaloca.h, lib/Makefile.am, lib/alloca.c, strcasestr.c, tools/Makefile.in, tools/sane-desc.c: Convert lib/ to automake. Create a liblib.la for everyone to use and a libfelib.la for only frontend programs. Make all internal programs be prefixed with sanei_ as not to conflict with other programs libsane is linked in with that will also most likely create similar internal utils on problem platforms. * include/getopt.h, lib/getopt.c, lib/getopt1.c: Always compile and link in getopt_long() but prefix it with sanei_. Its easier to always use internal version then try to figure out what platforms support getopt_long() and what header files to use. * backend/Makefile.am: Convert backend makefile to automake. Initial version that is feature parity with original but uses specific rules instead of wildcards and only links in libraries/objs really required. Room for more cleanup of whats linked in once all makefiles have been converted to automake.
2009-01-31 03:12:18 +00:00
if test "${PRELOADABLE_BACKENDS}" != "" ; then
AC_MSG_NOTICE([Manually selected preloadable backends: ${PRELOADABLE_BACKENDS}])
else
PRELOADABLE_BACKENDS="$ALL_BACKENDS"
user_selected_backends="no"
fi
fi
* acinclude.m4, configure.in: Put all libraries into their own *_LIB variables instead of $LIB so that we do not have to link in the world to all executables. Modified SANE_CHECK_U_TYPES to be a little more portable to platforms that use #define for u_* types. Create SANE_CHECK_BACKENDS macro so that PRELOADABLE_BACKENDS can also be valided. Auto-populated PRELAODABLE_BACKENDS when detect dlopen() won't work. Various protability cleanups. * backend/dll.c: Make dll-preload.c a .h since its an include and not compilable byitself. * frontend/Makefile.in, frontend/scanimage.c, include/laaloca.h, lib/Makefile.am, lib/alloca.c, strcasestr.c, tools/Makefile.in, tools/sane-desc.c: Convert lib/ to automake. Create a liblib.la for everyone to use and a libfelib.la for only frontend programs. Make all internal programs be prefixed with sanei_ as not to conflict with other programs libsane is linked in with that will also most likely create similar internal utils on problem platforms. * include/getopt.h, lib/getopt.c, lib/getopt1.c: Always compile and link in getopt_long() but prefix it with sanei_. Its easier to always use internal version then try to figure out what platforms support getopt_long() and what header files to use. * backend/Makefile.am: Convert backend makefile to automake. Initial version that is feature parity with original but uses specific rules instead of wildcards and only links in libraries/objs really required. Room for more cleanup of whats linked in once all makefiles have been converted to automake.
2009-01-31 03:12:18 +00:00
saved_BACKENDS="$BACKENDS"
BACKENDS="${PRELOADABLE_BACKENDS}"
* acinclude.m4, configure.in: Put all libraries into their own *_LIB variables instead of $LIB so that we do not have to link in the world to all executables. Modified SANE_CHECK_U_TYPES to be a little more portable to platforms that use #define for u_* types. Create SANE_CHECK_BACKENDS macro so that PRELOADABLE_BACKENDS can also be valided. Auto-populated PRELAODABLE_BACKENDS when detect dlopen() won't work. Various protability cleanups. * backend/dll.c: Make dll-preload.c a .h since its an include and not compilable byitself. * frontend/Makefile.in, frontend/scanimage.c, include/laaloca.h, lib/Makefile.am, lib/alloca.c, strcasestr.c, tools/Makefile.in, tools/sane-desc.c: Convert lib/ to automake. Create a liblib.la for everyone to use and a libfelib.la for only frontend programs. Make all internal programs be prefixed with sanei_ as not to conflict with other programs libsane is linked in with that will also most likely create similar internal utils on problem platforms. * include/getopt.h, lib/getopt.c, lib/getopt1.c: Always compile and link in getopt_long() but prefix it with sanei_. Its easier to always use internal version then try to figure out what platforms support getopt_long() and what header files to use. * backend/Makefile.am: Convert backend makefile to automake. Initial version that is feature parity with original but uses specific rules instead of wildcards and only links in libraries/objs really required. Room for more cleanup of whats linked in once all makefiles have been converted to automake.
2009-01-31 03:12:18 +00:00
SANE_CHECK_BACKENDS
* acinclude.m4, configure.in: Put all libraries into their own *_LIB variables instead of $LIB so that we do not have to link in the world to all executables. Modified SANE_CHECK_U_TYPES to be a little more portable to platforms that use #define for u_* types. Create SANE_CHECK_BACKENDS macro so that PRELOADABLE_BACKENDS can also be valided. Auto-populated PRELAODABLE_BACKENDS when detect dlopen() won't work. Various protability cleanups. * backend/dll.c: Make dll-preload.c a .h since its an include and not compilable byitself. * frontend/Makefile.in, frontend/scanimage.c, include/laaloca.h, lib/Makefile.am, lib/alloca.c, strcasestr.c, tools/Makefile.in, tools/sane-desc.c: Convert lib/ to automake. Create a liblib.la for everyone to use and a libfelib.la for only frontend programs. Make all internal programs be prefixed with sanei_ as not to conflict with other programs libsane is linked in with that will also most likely create similar internal utils on problem platforms. * include/getopt.h, lib/getopt.c, lib/getopt1.c: Always compile and link in getopt_long() but prefix it with sanei_. Its easier to always use internal version then try to figure out what platforms support getopt_long() and what header files to use. * backend/Makefile.am: Convert backend makefile to automake. Initial version that is feature parity with original but uses specific rules instead of wildcards and only links in libraries/objs really required. Room for more cleanup of whats linked in once all makefiles have been converted to automake.
2009-01-31 03:12:18 +00:00
PRELOADABLE_BACKENDS="$FILTERED_BACKENDS"
BACKENDS="$saved_BACKENDS"
1999-08-09 18:05:39 +00:00
else
* acinclude.m4, configure.in: Put all libraries into their own *_LIB variables instead of $LIB so that we do not have to link in the world to all executables. Modified SANE_CHECK_U_TYPES to be a little more portable to platforms that use #define for u_* types. Create SANE_CHECK_BACKENDS macro so that PRELOADABLE_BACKENDS can also be valided. Auto-populated PRELAODABLE_BACKENDS when detect dlopen() won't work. Various protability cleanups. * backend/dll.c: Make dll-preload.c a .h since its an include and not compilable byitself. * frontend/Makefile.in, frontend/scanimage.c, include/laaloca.h, lib/Makefile.am, lib/alloca.c, strcasestr.c, tools/Makefile.in, tools/sane-desc.c: Convert lib/ to automake. Create a liblib.la for everyone to use and a libfelib.la for only frontend programs. Make all internal programs be prefixed with sanei_ as not to conflict with other programs libsane is linked in with that will also most likely create similar internal utils on problem platforms. * include/getopt.h, lib/getopt.c, lib/getopt1.c: Always compile and link in getopt_long() but prefix it with sanei_. Its easier to always use internal version then try to figure out what platforms support getopt_long() and what header files to use. * backend/Makefile.am: Convert backend makefile to automake. Initial version that is feature parity with original but uses specific rules instead of wildcards and only links in libraries/objs really required. Room for more cleanup of whats linked in once all makefiles have been converted to automake.
2009-01-31 03:12:18 +00:00
PRELOADABLE_BACKENDS=""
1999-08-09 18:05:39 +00:00
fi
* acinclude.m4, configure.in: Put all libraries into their own *_LIB variables instead of $LIB so that we do not have to link in the world to all executables. Modified SANE_CHECK_U_TYPES to be a little more portable to platforms that use #define for u_* types. Create SANE_CHECK_BACKENDS macro so that PRELOADABLE_BACKENDS can also be valided. Auto-populated PRELAODABLE_BACKENDS when detect dlopen() won't work. Various protability cleanups. * backend/dll.c: Make dll-preload.c a .h since its an include and not compilable byitself. * frontend/Makefile.in, frontend/scanimage.c, include/laaloca.h, lib/Makefile.am, lib/alloca.c, strcasestr.c, tools/Makefile.in, tools/sane-desc.c: Convert lib/ to automake. Create a liblib.la for everyone to use and a libfelib.la for only frontend programs. Make all internal programs be prefixed with sanei_ as not to conflict with other programs libsane is linked in with that will also most likely create similar internal utils on problem platforms. * include/getopt.h, lib/getopt.c, lib/getopt1.c: Always compile and link in getopt_long() but prefix it with sanei_. Its easier to always use internal version then try to figure out what platforms support getopt_long() and what header files to use. * backend/Makefile.am: Convert backend makefile to automake. Initial version that is feature parity with original but uses specific rules instead of wildcards and only links in libraries/objs really required. Room for more cleanup of whats linked in once all makefiles have been converted to automake.
2009-01-31 03:12:18 +00:00
PRELOADABLE_BACKENDS_ENABLED=""
# Do not initialize BACKEND_CONFS_ENABLED so that its a combination
# of all backends.
for backend in ${PRELOADABLE_BACKENDS} ; do
BACKEND_CONFS_ENABLED="${BACKEND_CONFS_ENABLED} ${backend}.conf"
# Special hacks. Normally, we create a convenience library that
# matches the backend's name but in some cases that will conflict
# with an external library name that also matches backend name.
# Work around that here by renaming internal library.
if test "${backend}" = "gphoto2"; then
backend=gphoto2_i
fi
PRELOADABLE_BACKENDS_ENABLED="${PRELOADABLE_BACKENDS_ENABLED} lib${backend}.la"
done
* acinclude.m4, configure.in: Put all libraries into their own *_LIB variables instead of $LIB so that we do not have to link in the world to all executables. Modified SANE_CHECK_U_TYPES to be a little more portable to platforms that use #define for u_* types. Create SANE_CHECK_BACKENDS macro so that PRELOADABLE_BACKENDS can also be valided. Auto-populated PRELAODABLE_BACKENDS when detect dlopen() won't work. Various protability cleanups. * backend/dll.c: Make dll-preload.c a .h since its an include and not compilable byitself. * frontend/Makefile.in, frontend/scanimage.c, include/laaloca.h, lib/Makefile.am, lib/alloca.c, strcasestr.c, tools/Makefile.in, tools/sane-desc.c: Convert lib/ to automake. Create a liblib.la for everyone to use and a libfelib.la for only frontend programs. Make all internal programs be prefixed with sanei_ as not to conflict with other programs libsane is linked in with that will also most likely create similar internal utils on problem platforms. * include/getopt.h, lib/getopt.c, lib/getopt1.c: Always compile and link in getopt_long() but prefix it with sanei_. Its easier to always use internal version then try to figure out what platforms support getopt_long() and what header files to use. * backend/Makefile.am: Convert backend makefile to automake. Initial version that is feature parity with original but uses specific rules instead of wildcards and only links in libraries/objs really required. Room for more cleanup of whats linked in once all makefiles have been converted to automake.
2009-01-31 03:12:18 +00:00
AC_SUBST(PRELOADABLE_BACKENDS)
AC_SUBST(PRELOADABLE_BACKENDS_ENABLED)
AC_SUBST(BACKEND_CONFS_ENABLED)
* acinclude.m4, configure.in: Put all libraries into their own *_LIB variables instead of $LIB so that we do not have to link in the world to all executables. Modified SANE_CHECK_U_TYPES to be a little more portable to platforms that use #define for u_* types. Create SANE_CHECK_BACKENDS macro so that PRELOADABLE_BACKENDS can also be valided. Auto-populated PRELAODABLE_BACKENDS when detect dlopen() won't work. Various protability cleanups. * backend/dll.c: Make dll-preload.c a .h since its an include and not compilable byitself. * frontend/Makefile.in, frontend/scanimage.c, include/laaloca.h, lib/Makefile.am, lib/alloca.c, strcasestr.c, tools/Makefile.in, tools/sane-desc.c: Convert lib/ to automake. Create a liblib.la for everyone to use and a libfelib.la for only frontend programs. Make all internal programs be prefixed with sanei_ as not to conflict with other programs libsane is linked in with that will also most likely create similar internal utils on problem platforms. * include/getopt.h, lib/getopt.c, lib/getopt1.c: Always compile and link in getopt_long() but prefix it with sanei_. Its easier to always use internal version then try to figure out what platforms support getopt_long() and what header files to use. * backend/Makefile.am: Convert backend makefile to automake. Initial version that is feature parity with original but uses specific rules instead of wildcards and only links in libraries/objs really required. Room for more cleanup of whats linked in once all makefiles have been converted to automake.
2009-01-31 03:12:18 +00:00
dnl in BeOS, backends are not installed in lib/sane, but add-ons/sane/
dnl we account for both installing in /boot/beos and ~/config
case $host_os in
beos*)
libdir='${exec_prefix}/add-ons'
;;
esac
AC_ARG_ENABLE(scsibuffersize,
AC_HELP_STRING([--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(scsi-directio,
AC_HELP_STRING([--enable-scsi-directio],
[enable SCSI direct IO (Linux only, dangerous, see
README.linux)]),
[
if eval "test x$enable_scsi_directio = xyes"; then
CFLAGS="$CFLAGS -DENABLE_SCSI_DIRECTIO"
fi
])
AC_ARG_ENABLE(parport-directio,
AC_HELP_STRING([--enable-parport-directio],
[enable direct hardware access to the parallel port, so
frontends will require special permission level]),
[
if eval "test x$enable_parport_directio = xyes"; then
CFLAGS="$CFLAGS -DENABLE_PARPORT_DIRECTIO"
fi
])
AC_ARG_ENABLE(translations,
AC_HELP_STRING([--disable-translations],
[don't install translations of backend options]),
[
if eval "test x$enable_translations = xno"; then
INSTALL_TRANSLATIONS=
else
INSTALL_TRANSLATIONS=install-translations
fi
],
INSTALL_TRANSLATIONS=install-translations
)
if eval "test x$INSTALL_TRANSLATIONS = xinstall-translations" ; then
if test x$MSGFMT = xno || test x$XGETTEXT = xno || test $MSGMERGE = no ; then
INSTALL_TRANSLATIONS=
echo "disabling translations (missing msgfmt, xgettext or msgmerge)"
else
echo "enabling translations"
fi
else
echo "disabling translations"
fi
AC_SUBST(INSTALL_TRANSLATIONS)
if test "$LATEX" != "no" && test "$DVIPS" != "no" && test "$MAKEINDEX" != "no" ; then
USE_LATEX="yes"
else
USE_LATEX="no"
fi
AC_SUBST(USE_LATEX)
dnl ***********************************************************************
dnl Write output files
dnl ***********************************************************************
DISTCLEAN_FILES="*~ .*~ *.log *.bak *.old *.orig *.out *.rej \"\#\"* \".\\#\"*"
AC_SUBST(DISTCLEAN_FILES)
2003-09-24 03:41:48 +00:00
AC_CONFIG_FILES([Makefile lib/Makefile sanei/Makefile frontend/Makefile \
japi/Makefile backend/Makefile include/Makefile doc/Makefile \
po/Makefile testsuite/Makefile tools/Makefile doc/doxygen-sanei.conf])
AC_CONFIG_FILES([tools/sane-config], [chmod a+x tools/sane-config])
AC_OUTPUT
dnl ***********************************************************************
dnl print configuration information
dnl ***********************************************************************
echo "-> Variables used for compilation/linking:"
echo CPPFLAGS=\"${CPPFLAGS}\"
echo CFLAGS=\"${CFLAGS}\"
echo LDFLAGS=\"${LDFLAGS}\"
echo LIBS=\"${LIBS}\"
echo "-> Installation directories:"
2002-10-31 17:48:34 +00:00
echo "Configuration: `eval eval echo ${sysconfdir}`"
echo "Libraries: `eval eval echo ${libdir}`"
echo "Binaries: `eval eval echo ${bindir}` and `eval eval echo ${sbindir}`"
echo "Manpages: `eval eval echo ${mandir}`"
echo "Documentation: `eval eval echo ${docdir}`"
if eval "test x$INSTALL_LOCKPATH = xinstall-lockpath" ; then
echo "Lockfiles: `eval eval echo ${locksanedir}`"
else
echo "Lockfiles: Feature is disabled!"
fi
echo "-> Network parameters:"
if test "${SANED}" = "saned" ; then
echo "Build saned: yes"
else
echo "Build saned: no"
fi
echo "IPv6 support: `eval eval echo ${ipv6}`"
echo "Avahi support: `eval eval echo ${enable_avahi}`"
echo "-> The following backends will be built:"
for backend in ${BACKENDS} ; do
echo $ECHO_N "${backend} "
done
* acinclude.m4, configure.in: Put all libraries into their own *_LIB variables instead of $LIB so that we do not have to link in the world to all executables. Modified SANE_CHECK_U_TYPES to be a little more portable to platforms that use #define for u_* types. Create SANE_CHECK_BACKENDS macro so that PRELOADABLE_BACKENDS can also be valided. Auto-populated PRELAODABLE_BACKENDS when detect dlopen() won't work. Various protability cleanups. * backend/dll.c: Make dll-preload.c a .h since its an include and not compilable byitself. * frontend/Makefile.in, frontend/scanimage.c, include/laaloca.h, lib/Makefile.am, lib/alloca.c, strcasestr.c, tools/Makefile.in, tools/sane-desc.c: Convert lib/ to automake. Create a liblib.la for everyone to use and a libfelib.la for only frontend programs. Make all internal programs be prefixed with sanei_ as not to conflict with other programs libsane is linked in with that will also most likely create similar internal utils on problem platforms. * include/getopt.h, lib/getopt.c, lib/getopt1.c: Always compile and link in getopt_long() but prefix it with sanei_. Its easier to always use internal version then try to figure out what platforms support getopt_long() and what header files to use. * backend/Makefile.am: Convert backend makefile to automake. Initial version that is feature parity with original but uses specific rules instead of wildcards and only links in libraries/objs really required. Room for more cleanup of whats linked in once all makefiles have been converted to automake.
2009-01-31 03:12:18 +00:00
echo
echo
echo "-> The following preload backends will be built:"
for backend in ${PRELOADABLE_BACKENDS} ; do
echo $ECHO_N "${backend} "
done
echo
2002-10-31 17:48:34 +00:00
if test "$SANE_CONFIG_PATH" != "no" ; then
SANE_INSTALLED_VERSION=`$SANE_CONFIG_PATH --version`
SANE_INSTALLED_PREFIX=`$SANE_CONFIG_PATH --prefix`
if test "$SANE_INSTALLED_PREFIX" != "$prefix" ; then
echo "*** WARNING: SANE is already installed (version $SANE_INSTALLED_VERSION). The old"
echo "*** installation is at $SANE_INSTALLED_PREFIX while SANE will now be installed"
echo "*** at $prefix. It is recommended to uninstall the old SANE version"
echo "*** before installing the new one to avoid problems."
fi
else
if test "$LIBSANE_EXISTS" = "yes" ; then
echo "*** Warning: An old version of SANE was detected but the sane-config program"
echo "*** couldn't be found. If you encounter any problems with SANE remove the old"
echo "*** SANE files and reinstall this version."
fi
fi
if eval "test x${sysconfdir} = x/usr/etc" ; then
echo "*** WARNING: Configuration files are stored in /usr/etc. If this is not"
echo "*** intended, use --sysconfdir to set another path (e.g. "/etc")."
fi
if test "$SELECTED_BACKENDS" != "" ; then
echo "*** Warning: Local backends have been disabled. This means that scanners"
echo "*** connected to your local computer won't be supported. Only a network"
echo "*** connection to a remote host is possible."
fi
if test "$HAVE_LIBUSB" != "yes" && test "$USE_LIBUSB" = "yes" ; then
echo "*** Warning: sane-backends will be built without libusb support. There may"
echo "*** be valid reasons to do so, e.g. if you don't use USB scanners or on"
echo "*** platforms without libusb support but generally this means that you"
echo "*** can't use USB devices with SANE. The most probable cause is that"
if test "${ac_cv_header_usb_h}" != "yes"; then
echo "*** the libusb header file usb.h is not installed. If you use Linux"
echo "*** you may need a package called 'libusb-dev', 'libusb-devel' or similar."
else
echo "*** libusb is not installed at all or is too old. See README."
fi
fi
1999-08-09 18:05:39 +00:00
echo "****************************************************************"
echo "* Please be sure to read file PROBLEMS in this directory *"
echo "* BEFORE running any of the SANE applications. Some devices *"
2007-12-18 02:56:05 +00:00
echo "* may be damaged by improper operation, so please do heed this *"
1999-08-09 18:05:39 +00:00
echo "* advice. *"
echo "****************************************************************"