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 #include ],[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 ]) AC_TRY_COMPILE([ #include ],[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 "****************************************************************"