# -*- Autoconf -*- # Process this file with autoconf to produce a configure script. AC_PREREQ(2.57) AC_INIT([LCD4Linux],[0.9.9],[reinelt@eunet.at]) AC_CONFIG_SRCDIR([lcd4linux.c]) AM_INIT_AUTOMAKE(lcd4linux,0.9.9) AM_CONFIG_HEADER(config.h) # Checks for programs. AC_PROG_CC # Checks for libraries. AC_CHECK_LIB(m, log) # curses sinclude(curses.m4) AC_CHECK_CURSES # Checks for X11 AC_PATH_XTRA # drivers AC_MSG_CHECKING([which drivers to compile]) AC_ARG_WITH( drivers, [ --with-drivers= compile driver for displays in ,] [ drivers may be separated with commas,] [ 'all' (default) compiles all available drivers,] [ drivers may be excluded with 'all,!',] [ (try 'all,\!' if your shell complains...)] [ possible drivers are:] [ BeckmannEgle, CrystalFontz, Cwlinux, HD44780,] [ M50530, T6963, USBLCD, MatrixOrbital, PalmPilot] [ PNG, PPM, X11, Text], drivers=$withval, drivers=all ) drivers=`echo $drivers|sed 's/,/ /g'` for driver in $drivers; do case $driver in !*) val="no" driver=`echo $driver|cut -c 2-` ;; *) val="yes" ;; esac case "$driver" in all) BECKMANNEGLE="yes" CRYSTALFONTZ="yes" CWLINUX="yes" HD44780="yes" M50530="yes" T6963="yes" USBLCD="yes" MATRIXORBITAL="yes" PALMPILOT="yes" PNG="yes" PPM="yes" TEXT="yes" X11="yes" ;; BeckmannEgle) BECKMANNEGLE=$val ;; CrystalFontz) CRYSTALFONTZ=$val ;; Cwlinux) CWLINUX=$val ;; HD44780) HD44780=$val ;; M50530) M50530=$val ;; T6963) T6963=$val ;; USBLCD) USBLCD=$val ;; MatrixOrbital) MATRIXORBITAL=$val ;; PalmPilot) PALMPILOT=$val ;; PNG) PNG=$val ;; PPM) PPM=$val ;; SIN) SIN=$val ;; Skeleton) SKELETON=$val ;; Text) TEXT=$val ;; X11) X11=$val ;; *) AC_MSG_ERROR([Unknown driver '$driver']) ;; esac done AC_MSG_RESULT([done]) RASTER="no" PARPORT="no" if test "$BECKMANNEGLE" = "yes"; then DRIVERS="$DRIVERS BeckmannEgle.o" AC_DEFINE(WITH_BECKMANNEGLE,1,[junk]) fi if test "$CRYSTALFONTZ" = "yes"; then DRIVERS="$DRIVERS Crystalfontz.o" AC_DEFINE(WITH_CRYSTALFONTZ,1,[junk]) fi if test "$CWLINUX" = "yes"; then DRIVERS="$DRIVERS Cwlinux.o" AC_DEFINE(WITH_CWLINUX,1,[junk]) fi if test "$HD44780" = "yes"; then PARPORT="yes" DRIVERS="$DRIVERS HD44780.o" AC_DEFINE(WITH_HD44780,1,[junk]) fi if test "$M50530" = "yes"; then PARPORT="yes" DRIVERS="$DRIVERS M50530.o" AC_DEFINE(WITH_M50530,1,[junk]) fi if test "$T6963" = "yes"; then PARPORT="yes" DRIVERS="$DRIVERS T6963.o" AC_DEFINE(WITH_T6963,1,[junk]) fi if test "$USBLCD" = "yes"; then DRIVERS="$DRIVERS USBLCD.o" AC_DEFINE(WITH_USBLCD,1,[junk]) fi if test "$MATRIXORBITAL" = "yes"; then DRIVERS="$DRIVERS MatrixOrbital.o" AC_DEFINE(WITH_MATRIXORBITAL,1,[junk]) fi if test "$PALMPILOT" = "yes"; then DRIVERS="$DRIVERS PalmPilot.o" AC_DEFINE(WITH_PALMPILOT,1,[junk]) fi if test "$PNG" = "yes"; then RASTER="yes" AC_DEFINE(WITH_PNG,1,[junk]) DRVLIBS="$DRVLIBS -lgd" fi if test "$PPM" = "yes"; then RASTER="yes" AC_DEFINE(WITH_PPM,1,[junk]) fi if test "$SIN" = "yes"; then DRIVERS="$DRIVERS SIN.o" AC_DEFINE(WITH_SIN,1,[junk]) fi if test "$SKELETON" = "yes"; then DRIVERS="$DRIVERS Skeleton.o" AC_DEFINE(WITH_SKELETON,1,[junk]) fi if test "$TEXT" = "yes"; then if test "$has_curses" = true; then DRIVERS="$DRIVERS Text.o" DRVLIBS="$DRVLIBS $CURSES_LIBS" CPPFLAGS="$CPPFLAGS $CURSES_INCLUDES" AC_DEFINE(WITH_TEXT,1,[junk]) else AC_MSG_WARN(curses not found: Text driver disabled) fi fi if test "$X11" = "yes"; then if test "$no_x" = "yes"; then AC_MSG_ERROR(X11 headers or libraries not available: X11 driver disabled) else DRIVERS="$DRIVERS XWindow.o" DRVLIBS="$DRVLIBS -L$ac_x_libraries -lX11" AC_DEFINE(WITH_X11,1,[junk]) fi fi if test "$DRIVERS" = ""; then AC_MSG_ERROR([You should include at least one driver...]) fi # Raster.o depends on PPM or PNG if test "$RASTER" = "yes"; then DRIVERS="$DRIVERS Raster.o" fi # parport driver if test "$PARPORT" = "yes"; then DRIVERS="$DRIVERS parport.o" fi AC_SUBST(DRIVERS) AC_SUBST(DRVLIBS) # Checks for header files. AC_HEADER_STDC AC_HEADER_SYS_WAIT AC_CHECK_HEADERS([fcntl.h malloc.h netdb.h netinet/in.h stdlib.h string.h sys/ioctl.h sys/param.h sys/socket.h sys/time.h syslog.h termios.h unistd.h]) AC_CHECK_HEADERS(sys/io.h asm/io.h) AC_CHECK_HEADERS(linux/parport.h linux/ppdev.h) AC_CHECK_HEADERS(gd/gd.h gd.h) AC_CHECK_HEADERS(net/if_ppp.h) AC_CHECK_HEADERS(asm/msr.h) # 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_TYPE_UID_T # Checks for library functions. AC_FUNC_ERROR_AT_LINE AC_FUNC_FORK AC_PROG_GCC_TRADITIONAL AC_FUNC_MALLOC AC_FUNC_MEMCMP AC_FUNC_REALLOC AC_FUNC_SELECT_ARGTYPES AC_TYPE_SIGNAL AC_FUNC_STAT AC_CHECK_FUNCS([atexit dup2 gethostbyname gettimeofday memset putenv select socket strcasecmp strchr strdup strerror strpbrk strrchr strstr strtol uname]) AC_CONFIG_FILES([Makefile]) AC_OUTPUT