dnl Process this file with autoconf to produce a configure script. AC_INIT(lcd4linux.c) AM_INIT_AUTOMAKE(lcd4linux, 0.98) dnl Checks for programs. AC_PROG_AWK AC_PROG_CC AC_PROG_INSTALL AC_PROG_LN_S dnl Checks for libraries. AC_CHECK_LIB(m, log) dnl Checks for X11 AC_PATH_XTRA dnl drivers AC_ARG_WITH( drivers, [ --with-drivers= compile driver for displays in ,] [ drivers may be separated with commas,] [ 'all' (default) compiles all available drivers.] [ possible drivers are:] [ BeckmannEgle, CrystalFontz, HD44780,] [ MatrixOrbital, PalmPilot, PNG, PPM, X11, Text], drivers=$withval, drivers=all ) if test "$drivers" = "all"; then drivers=[BeckmannEgle,CrystalFontz,HD44780,MatrixOrbital,PalmPilot,PNG,PPM,X11,Text] fi RASTER=0 drivers=`echo $drivers|sed 's/,/ /g'` for driver in $drivers; do case "$driver" in BeckmannEgle) DRIVERS="$DRIVERS BeckmannEgle.o" AC_DEFINE(WITH_BECKMANNEGLE) ;; CrystalFontz) DRIVERS="$DRIVERS Crystalfontz.o" AC_DEFINE(WITH_CRYSTALFONTZ) ;; HD44780) DRIVERS="$DRIVERS HD44780.o" AC_DEFINE(WITH_HD44780) ;; MatrixOrbital) DRIVERS="$DRIVERS MatrixOrbital.o" AC_DEFINE(WITH_MATRIXORBITAL) ;; PalmPilot) DRIVERS="$DRIVERS PalmPilot.o" AC_DEFINE(WITH_PALMPILOT) ;; PNG) RASTER=$(($RASTER + 1)) AC_DEFINE(WITH_PNG) DRVLIBS="$DRVLIBS -lgd -lpng -lz" ;; PPM) RASTER=$(($RASTER + 1)) AC_DEFINE(WITH_PPM) ;; SIN) DRIVERS="$DRIVERS SIN.o" AC_DEFINE(WITH_SIN) ;; Skeleton) DRIVERS="$DRIVERS Skeleton.o" AC_DEFINE(WITH_Skeleton) ;; X11) DRIVERS="$DRIVERS XWindow.o" DRVLIBS="$DRVLIBS -lX11" AC_DEFINE(WITH_X11) ;; Text) DRIVERS="$DRIVERS Text.o" DRVLIBS="$DRVLIBS -lncurses" AC_DEFINE(WITH_Text) ;; *) AC_MSG_ERROR([Unknown driver '$driver']) ;; esac done dnl delete drivers, mainly if all wa chosen above AC_ARG_WITH( notdrivers, [ --with-notdrivers= do not compile driver for displays in ,] [ drivers may be separated with commas,] [ mainly useful if above all drivers were selected.] [ possible drivers are:] [ BeckmannEgle, CrystalFontz, HD44780,] [ MatrixOrbital, PalmPilot, PNG, PPM, X11, Text], notdrivers=$withval, notdrivers="no" ) AC_DEFUN(AC_UNDEFINE, mv confdefs.h confdefs.h~ grep -v $1 < confdefs.h~ > confdefs.h ) notdrivers=`echo $notdrivers|sed 's/,/ /g'` for driver in $notdrivers; do case "$driver" in BeckmannEgle) DRIVERS=${DRIVERS/ BeckmannEgle.o/} AC_UNDEFINE(WITH_BECKMANNEGLE) ;; CrystalFontz) DRIVERS=${DRIVERS/ Crystalfontz.o/} AC_UNDEFINE(WITH_CRYSTALFONTZ) ;; HD44780) DRIVERS=${DRIVERS/ HD44780.o/} AC_UNDEFINE(WITH_HD44780) ;; MatrixOrbital) DRIVERS=${DRIVERS/ MatrixOrbital/} AC_UNDEFINE(WITH_MATRIXORBITAL) ;; PalmPilot) DRIVERS=${DRIVERS/ PalmPilot/} AC_UNDEFINE(WITH_PALMPILOT) ;; PNG) RASTER=$(($RASTER - 1)) AC_UNDEFINE(WITH_PNG) DRVLIBS=${DRVLIBS/ -lgd -lpng -lz/} ;; PPM) RASTER=$(($RASTER - 1)) AC_UNDEFINE(WITH_PPM) ;; SIN) DRIVERS=${DRIVERS/ SIN.o/} AC_UNDEFINE(WITH_SIN) ;; Skeleton) DRIVERS=${DRIVERS/ Skeleton.o/} AC_UNDEFINE(WITH_Skeleton) ;; X11) DRIVERS=${DRIVERS/ XWindow.o/} DRVLIBS=${DRVLIBS/ -lX11/} AC_UNDEFINE(WITH_X11) ;; Text) DRIVERS=${DRIVERS/ Text.o/} DRVLIBS=${DRVLIBS/ -lncurses/} AC_UNDEFINE(WITH_Text) ;; no) ;; *) AC_MSG_ERROR([Unknown driver '$driver']) ;; esac done test $RASTER -gt 0 && RASTERDRIVER="Raster.o" DRIVERS="$DRIVERS $RASTERDRIVER" AC_SUBST(DRIVERS) AC_SUBST(DRVLIBS) dnl Checks for header files. AC_HEADER_STDC AC_HEADER_DIRENT AC_HEADER_SYS_WAIT AC_CHECK_HEADERS(fcntl.h limits.h strings.h sys/ioctl.h sys/time.h syslog.h unistd.h) AC_CHECK_HEADERS(sys/io.h asm/io.h) AC_CHECK_HEADERS(gd/gd.h gd.h) AC_CHECK_HEADERS(net/if_ppp.h) dnl Checks for typedefs, structures, and compiler characteristics. AC_C_CONST AC_C_INLINE AC_TYPE_PID_T AC_TYPE_SIZE_T AC_HEADER_TIME AC_STRUCT_TM AC_TYPE_UID_T dnl Checks for library functions. AC_PROG_GCC_TRADITIONAL AC_FUNC_MEMCMP AC_TYPE_SIGNAL AC_CHECK_FUNCS(gettimeofday select socket strdup strerror strstr strtol uname) AC_OUTPUT(Makefile)