# -*- Autoconf -*- # Process this file with autoconf to produce a configure script. AC_PREREQ(2.59) AC_INIT([LCD4Linux],[0.10.0],[reinelt@eunet.at]) AC_CONFIG_SRCDIR([lcd4linux.c]) AM_INIT_AUTOMAKE([lcd4linux],0.10.0) AM_CONFIG_HEADER(config.h) # Checks for programs. AC_PROG_CXX AC_PROG_CC AC_PROG_CPP AC_PROG_INSTALL AC_PROG_LN_S AC_PROG_MAKE_SET # Using `AC_PROG_RANLIB' is rendered # obsolete by `AC_PROG_LIBTOOL' :-( AC_PROG_RANLIB #AC_PROG_LIBTOOL # dmalloc AM_WITH_DMALLOC # Checks for libraries. AC_CHECK_LIB(m, log) # curses sinclude(curses.m4) AC_CHECK_CURSES # Checks for X11 AC_PATH_XTRA # check for gd.h AC_CHECK_HEADERS(gd/gd.h gd.h, [has_gd=true], [has_gd=false]) # 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, Curses, Cwlinux,] [ HD44780, M50530, T6963, USBLCD, MatrixOrbital,] [ MilfordInstruments, PalmPilot, PNG, PPM, X11], 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" CURSES="yes" CWLINUX="yes" HD44780="yes" M50530="yes" T6963="yes" USBLCD="yes" MATRIXORBITAL="yes" MILINST="yes" PALMPILOT="yes" PNG="yes" PPM="yes" X11="yes" ;; BeckmannEgle) BECKMANNEGLE=$val ;; CrystalFontz) CRYSTALFONTZ=$val ;; Curses) CURSES=$val ;; Cwlinux) CWLINUX=$val ;; HD44780) HD44780=$val ;; M50530) M50530=$val ;; T6963) T6963=$val ;; USBLCD) USBLCD=$val ;; MatrixOrbital) MATRIXORBITAL=$val ;; MilfordInstruments) MILINST=$val ;; PalmPilot) PALMPILOT=$val ;; PNG) PNG=$val ;; PPM) PPM=$val ;; X11) X11=$val ;; *) AC_MSG_ERROR([Unknown driver '$driver']) ;; esac done AC_MSG_RESULT([done]) PARPORT="no" SERIAL="no" TEXT="no" GRAPHIC="no" if test "$BECKMANNEGLE" = "yes"; then # DRIVERS="$DRIVERS BeckmannEgle.lo" # DRIVERS="$DRIVERS BeckmannEgle.o" AC_DEFINE(WITH_BECKMANNEGLE,1,[Beckmann&Egle driver]) fi if test "$CRYSTALFONTZ" = "yes"; then TEXT="yes" SERIAL="yes" # DRIVERS="$DRIVERS drv_Crystalfontz.lo" DRIVERS="$DRIVERS drv_Crystalfontz.o" AC_DEFINE(WITH_CRYSTALFONTZ,1,[Crystalfontz driver]) fi if test "$CURSES" = "yes"; then if test "$has_curses" = true; then # DRIVERS="$DRIVERS Text.lo" # DRIVERS="$DRIVERS Text.o" DRVLIBS="$DRVLIBS $CURSES_LIBS" CPPFLAGS="$CPPFLAGS $CURSES_INCLUDES" AC_DEFINE(WITH_TEXT,1,[Curses driver]) else AC_MSG_WARN(curses not found: Curses driver disabled) fi fi if test "$CWLINUX" = "yes"; then TEXT="yes" SERIAL="yes" # DRIVERS="$DRIVERS drv_Cwlinux.lo" DRIVERS="$DRIVERS drv_Cwlinux.o" AC_DEFINE(WITH_CWLINUX,1,[CwLinux driver]) fi if test "$HD44780" = "yes"; then TEXT="yes" PARPORT="yes" # DRIVERS="$DRIVERS drv_HD44780.lo" DRIVERS="$DRIVERS drv_HD44780.o" AC_DEFINE(WITH_HD44780,1,[HD44780 driver]) fi if test "$M50530" = "yes"; then TEXT="yes" PARPORT="yes" # DRIVERS="$DRIVERS drv_M50530.lo" DRIVERS="$DRIVERS drv_M50530.o" AC_DEFINE(WITH_M50530,1,[M50530 driver]) fi if test "$T6963" = "yes"; then GRAPHIC="yes" PARPORT="yes" # DRIVERS="$DRIVERS drv_T6963.lo" DRIVERS="$DRIVERS drv_T6963.o" AC_DEFINE(WITH_T6963,1,[T6963 driver]) fi if test "$USBLCD" = "yes"; then TEXT="yes" SERIAL="yes" # DRIVERS="$DRIVERS drv_USBLCD.lo" DRIVERS="$DRIVERS drv_USBLCD.o" AC_DEFINE(WITH_USBLCD,1,[USBLCD driver]) fi if test "$MATRIXORBITAL" = "yes"; then SERIAL="yes" # DRIVERS="$DRIVERS drv_MatrixOrbital.lo" DRIVERS="$DRIVERS drv_MatrixOrbital.o" AC_DEFINE(WITH_MATRIXORBITAL,1,[MatrixOrbital driver]) fi if test "$MILINST" = "yes"; then # DRIVERS="$DRIVERS MilfordInstruments.lo" # DRIVERS="$DRIVERS MilfordInstruments.o" AC_DEFINE(WITH_MILINST,1,[Milford Instruments driver]) fi if test "$PALMPILOT" = "yes"; then # DRIVERS="$DRIVERS PalmPilot.lo" # DRIVERS="$DRIVERS PalmPilot.o" AC_DEFINE(WITH_PALMPILOT,1,[PalmPilot driver]) fi if test "$PNG" = "yes"; then if test "$has_gd" = "true"; then GRAPHIC="yes" AC_DEFINE(WITH_PNG,1,[ driver]) DRVLIBS="$DRVLIBS -lgd" else AC_MSG_WARN(gd.h not found: PNG driver disabled) fi fi if test "$PPM" = "yes"; then if test "$has_gd" = "true"; then GRAPHIC="yes" AC_DEFINE(WITH_PPM,1,[ driver]) else AC_MSG_WARN(gd.h not found: PNG driver disabled) fi fi if test "$X11" = "yes"; then if test "$no_x" = "yes"; then AC_MSG_WARN(X11 headers or libraries not available: X11 driver disabled) else GRAPHIC="yes" # DRIVERS="$DRIVERS drv_X11.lo" DRIVERS="$DRIVERS drv_X11.o" DRVLIBS="$DRVLIBS -L$ac_x_libraries -lX11" AC_DEFINE(WITH_X11,1,[X11 driver]) fi fi if test "$DRIVERS" = ""; then AC_MSG_ERROR([You should include at least one driver...]) fi # generic text driver if test "$TEXT" = "yes"; then # DRIVERS="$DRIVERS drv_generic_text.lo" DRIVERS="$DRIVERS drv_generic_text.o" fi # generic graphic driver if test "$GRAPHIC" = "yes"; then : # DRIVERS="$DRIVERS DRIVERS="$DRIVERS drv_generic_graphic.o" fi # generic parport driver if test "$PARPORT" = "yes"; then # DRIVERS="$DRIVERS drv_generic_parport.lo" DRIVERS="$DRIVERS drv_generic_parport.o" fi # generic serial driver if test "$SERIAL" = "yes"; then # DRIVERS="$DRIVERS drv_generic_serial.lo" DRIVERS="$DRIVERS drv_generic_serial.o" fi AC_SUBST(DRIVERS) AC_SUBST(DRVLIBS) # Checks for header files. AC_HEADER_STDC AC_HEADER_DIRENT AC_HEADER_SYS_WAIT AC_CHECK_HEADERS([arpa/inet.h fcntl.h malloc.h netdb.h netinet/in.h stdlib.h string.h sys/ioctl.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(linux/dvb/frontend.h) AC_CHECK_HEADERS(net/if_ppp.h) AC_CHECK_HEADERS(asm/msr.h) AC_CHECK_HEADERS(mysql/mysql.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_CLOSEDIR_VOID AC_FUNC_ERROR_AT_LINE AC_FUNC_FORK AC_PROG_GCC_TRADITIONAL # uClibc has no getloadavg() # AC_FUNC_GETLOADAVG sounds promising, but does not really work #AC_FUNC_GETLOADAVG #removed for uClibc compatibility #AC_FUNC_MALLOC #AC_FUNC_REALLOC AC_FUNC_MEMCMP AC_FUNC_SELECT_ARGTYPES AC_TYPE_SIGNAL AC_FUNC_STAT AC_FUNC_STRTOD AC_CHECK_FUNCS([dup2 gethostbyname gettimeofday memmove memset pow putenv regcomp select socket sqrt strcasecmp strchr strdup strerror strncasecmp strndup strpbrk strrchr strstr strtol uname]) AC_CONFIG_FILES([Makefile]) AC_OUTPUT