# -*- 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,[Cu
#
# $Id: README.Plugins,v 1.1 2004/01/06 17:33:45 reinelt Exp $
#


This file contains instructions for writing plugins to lcd4linux.

- use the file 'plugin_sample.c' as a template
- copy the file to 'plugin_yourname.c' and edit
- replace the "$Id..." in the first line with "$Id: README.Plugins,v 1.1 2004/01/06 17:33:45 reinelt Exp $"
- add a short description what this plugin is for
- add your copyright notice (important: your name and email)
- replace the "$Log..." with "$Log: README.Plugins,v $
- replace the "$Log..." with "Revision 1.1  2004/01/06 17:33:45  reinelt
- replace the "$Log..." with "
- replace the "$Log..." with "Evaluator: functions with variable argument lists
- replace the "$Log..." with "Evaluator: plugin_sample.c and README.Plugins added
- replace the "$Log..." with ""
- remove all Log lines until "*/"
- do some documentation (I know that real programmers write programs, not documentation)
- use one or more of the example functions as templates for your own functions
- register your new functions to the init() function, delete the sample ones
- edit 'plugin.c', add a prototype and the call to your plugin_init_* function
- edit 'Makefile.am' and add your 'plugin_*.c' to lcd4linux_SOURCES
- compile and test with interactive mode ('-i')
- send me a patch (or check in if you have developer CVS access)
- enjoy