dnl Process this file with autoconf to produce a configure script. AC_INIT(clients/lcdproc/batt.c) AM_INIT_AUTOMAKE(lcdproc, 0.5dev) AM_CONFIG_HEADER(config.h) AC_EXEEXT AC_CANONICAL_HOST case "$host" in *-*-*linux*) dnl i586-pc-linux-gnu AC_DEFINE([LINUX],[1],[Define if you're using Linux.]) ac_system_host=Linux ;; *-*-*solaris*) AC_DEFINE([SOLARIS],[1],[Define if you're using Solaris.]) ac_system_host=Solaris ;; *-*-*openbsd*) dnl i386-unknown-openbsd3.0 AC_DEFINE([OPENBSD],[1],[Define if you're using OpenBSD.]) ac_system_host=OpenBSD ;; *-*-*netbsd*) AC_DEFINE([NETBSD],[1],[Define if you're using NetBSD.]) ac_system_host=NetBSD ;; *-*-*freebsd*) AC_DEFINE([FREEBSD],[1],[Define if you're using FreeBSD.]) ac_system_host=FreeBSD ;; esac AC_DEFINE_UNQUOTED([SYSTEM_HOST], [$ac_system_host], [Set this to your system host (Linux, Solaris, OpenBSD, NetBSD or FreeBSD)]) AC_MSG_CHECKING(whether to enable debugging) AC_ARG_ENABLE(debug, [ --enable-debug show debug information], AC_DEFINE(DEBUG) debug="yes", debug="no" ) AC_MSG_RESULT($debug) if test $debug = "yes"; then dnl Enable debugging information with minimal optimisation CFLAGS="-g -O" else dnl Maximum optimisation CFLAGS="-O3" fi CFLAGS="-Wall $CFLAGS" export CFLAGS dnl Checks for programs. AC_PROG_CC AC_PROG_CPP AC_PROG_INSTALL AC_PROG_RANLIB dnl Solaris AC_CHECK_FUNC(gethostbyname,,[AC_CHECK_LIB(nsl,gethostbyname)]) AC_CHECK_FUNC(connect,,[AC_CHECK_LIB(socket,connect)]) AC_CHECK_FUNC(inet_aton,,[AC_CHECK_LIB(resolv,inet_aton)]) AC_CHECK_LIB(kstat, kstat_open) AC_CHECK_LIB(posix4, nanosleep) AC_CHECK_FUNCS(getloadavg swapctl) AC_CHECK_HEADERS(procfs.h sys/procfs.h sys/loadavg.h utmpx.h) dnl Some versions of Solaris require -lelf for -lkvm AC_CHECK_LIB(kvm, kvm_open,[ LIBS="-lkvm $LIBS" ],[AC_MSG_CHECKING(for kvm_open in -lkvm with -lelf) AC_CACHE_VAL(ac_cv_lib_kvm_with_elf, [ac_save_LIBS="$LIBS" LIBS="-lkvm -lelf $LIBS" AC_TRY_LINK([char kvm_open();], [kvm_open()], ac_cv_lib_kvm_with_elf=yes, ac_cv_lib_kvm_with_elf=no) LIBS="$ac_save_LIBS" ]) if test "$ac_cv_lib_kvm_with_elf" = "yes"; then AC_MSG_RESULT(yes) LIBS="-lkvm -lelf $LIBS" else AC_MSG_RESULT(no) fi ]) dnl NetBSD, OpenBSD and FreeBSD AC_CHECK_HEADERS(sched.h sys/sched.h machine/cpufunc.h sys/types.h machine/pio.h machine/sysarch.h sys/cpuvar.h) ETR_SYSV_IPC ETR_UNION_SEMUN dnl sched_setscheduler on OpenBSD AC_CHECK_FUNCS(sched_setscheduler) AC_CHECK_LIB(posix4, sched_setscheduler) AC_CHECK_LIB(posix4, sched_setscheduler, [ AC_DEFINE([HAVE_SCHED_SETSCHEDULER],[1], [Define if you have the sched_setscheduler function.]) ]) AC_CHECK_LIB(rt, sched_setscheduler) AC_CHECK_LIB(rt, sched_setscheduler, [ AC_DEFINE([HAVE_SCHED_SETSCHEDULER],[1], [Define if you have the sched_setscheduler function.]) ]) dnl i386_get_ioperm on NetBSD&OpenBSD AC_CHECK_LIB(i386, i386_get_ioperm) AC_CHECK_LIB(i386, i386_get_ioperm, AC_DEFINE([HAVE_I386_IOPERM_NETBSD],[1], [Define if you have the NetBSD&OpenBSD version of i386_ioperm functions.]),[ dnl i386_get_ioperm on FreeBSD AC_CHECK_LIB(c, i386_get_ioperm) AC_CHECK_LIB(c, i386_get_ioperm, AC_DEFINE([HAVE_I386_IOPERM_FREEBSD],[1], [Define if you have the FreeBSD version of the i386_ioperm functions.]), [])] ) AC_CHECK_FUNCS(ioperm) AC_CHECK_HEADERS(sys/io.h) dnl Check if we support this parallel (LPT) port dnl IMPORTANT: we must do all the checks used in port.h before doing this test! AC_CACHE_CHECK([for a parallel port], ac_cv_port_have_lpt, [AC_TRY_COMPILE([#include "server/drivers/port.h"], [char val = port_in(0x350)], ac_cv_port_have_lpt=yes, ac_cv_port_have_lpt=no)]) if test "$ac_cv_port_have_lpt" = yes then AC_DEFINE([HAVE_PCSTYLE_LPT_CONTROL],[1],[Define if you have a parallel port and LCDproc knows how to talk to it.]) else AC_MSG_WARN([Can't talk to the parallel port, disabling drivers that use it.]) fi dnl Checks for header files. AC_HEADER_DIRENT AC_HEADER_STDC AC_CHECK_HEADERS(fcntl.h sys/ioctl.h sys/time.h unistd.h sys/io.h errno.h) AC_CHECK_HEADERS(limits.h kvm.h sys/param.h sys/sysctl.h sys/dkstat.h) dnl Check for particular preprocessor macros dnl Checks for typedefs, structures, and compiler characteristics. AC_C_CONST AC_C_INLINE AC_TYPE_SIZE_T AC_HEADER_TIME AC_STRUCT_TM AC_TYPE_UID_T dnl Checks for library functions. AC_PROG_GCC_TRADITIONAL AC_TYPE_SIGNAL AC_CHECK_FUNCS(select socket strdup strerror strtol uname cfmakeraw snprintf) dnl Check for various defines and features AC_FIND_MTAB_FILE AC_GET_FS_INFO AC_ARG_ENABLE(stat-nfs, [ --enable-stat-nfs display filesystem stats for NFS], AC_DEFINE(STAT_NFS) ) AC_ARG_ENABLE(stat-smbfs, [ --enable-stat-smbfs display filesystem stats for SMBFS], AC_DEFINE(STAT_SMBFS) ) AC_ARG_WITH(lcdport, [ --with-lcdport= the server port [13666]], LCDPORT=$withval, LCDPORT="13666" ) AC_DEFINE_UNQUOTED(LCDPORT, $LCDPORT) AC_DEFINE_UNQUOTED(PROTOCOL_VERSION, "0.3") AC_DEFINE_UNQUOTED(API_VERSION, "0.5") AC_ARG_WITH(loadmax, [ --with-loadmax= Max Load Avg at which the backlight will] [ start blinking [1.3]], LOAD_MAX=$withval, LOAD_MAX=1.3 ) AC_DEFINE_UNQUOTED(LOAD_MAX, $LOAD_MAX) AC_ARG_WITH(loadmin, [ --with-loadmin= Min Load Avg at which the backlight will] [ turn off (asleep) [0.05]], LOAD_MIN=$withval, LOAD_MIN=0.05 ) AC_DEFINE_UNQUOTED(LOAD_MIN, $LOAD_MIN) AC_MODULES_INFO LCD_DRIVERS_SELECT AC_OUTPUT(Makefile shared/Makefile server/Makefile server/commands/Makefile server/drivers/Makefile clients/Makefile clients/lcdproc/Makefile clients/lcdexec/Makefile clients/examples/Makefile clients/headlines/Makefile clients/metar/Makefile docs/Makefile docs/lcdproc-dev/Makefile docs/lcdproc-user/Makefile docs/lcdproc-user/drivers/Makefile scripts/Makefile scripts/init-LCDd.debian scripts/init-LCDd.rpm scripts/init-lcdproc.debian scripts/init-lcdproc.rpm)