diff options
author | reinelt <> | 2001-03-14 15:14:59 +0000 |
---|---|---|
committer | reinelt <> | 2001-03-14 15:14:59 +0000 |
commit | 2f04d31005ef11a13df9f7a8fc3a33accfc62593 (patch) | |
tree | e8f660c5d597ee0aa28791635cea7bc8d3f45fc4 | |
parent | c79da23905ffae3dafcdfe1bab8d7afb053f47b8 (diff) | |
download | lcd4linux-2f04d31005ef11a13df9f7a8fc3a33accfc62593.tar.gz |
[lcd4linux @ 2001-03-14 15:14:59 by reinelt]
added ppdev parallel port access
-rw-r--r-- | HD44780.c | 195 | ||||
-rw-r--r-- | NEWS | 2 | ||||
-rw-r--r-- | README.HD44780 | 44 | ||||
-rw-r--r-- | TODO | 11 | ||||
-rw-r--r-- | config.h.in | 6 | ||||
-rwxr-xr-x | configure | 241 | ||||
-rw-r--r-- | configure.in | 1 | ||||
-rw-r--r-- | lcd4linux.conf.sample | 17 |
8 files changed, 365 insertions, 152 deletions
@@ -1,4 +1,4 @@ -/* $Id: HD44780.c,v 1.14 2001/03/12 13:44:58 reinelt Exp $ +/* $Id: HD44780.c,v 1.15 2001/03/14 15:14:59 reinelt Exp $ * * driver for display modules based on the HD44780 chip * @@ -20,6 +20,9 @@ * * * $Log: HD44780.c,v $ + * Revision 1.15 2001/03/14 15:14:59 reinelt + * added ppdev parallel port access + * * Revision 1.14 2001/03/12 13:44:58 reinelt * * new udelay() using Time Stamp Counters @@ -109,18 +112,32 @@ #include <stdio.h> #include <string.h> #include <unistd.h> +#include <fcntl.h> #include <time.h> #include <errno.h> +#include <sys/ioctl.h> + #ifdef HAVE_SYS_IO_H #include <sys/io.h> +#define WITH_OUTB #else #ifdef HAVE_ASM_IO_H #include <asm/io.h> -#else -#error "neither sys/io.h nor asm/io.h found!" +#define WITH_OUTB #endif #endif +#if defined (HAVE_LINUX_PARPORT_H) && defined (HAVE_LINUX_PPDEV_H) +#define WITH_PPDEV +#include <linux/parport.h> +#include <linux/ppdev.h> +#endif + +#if !defined(WITH_OUTB) && !defined(WITH_PPDEV) +#error neither outb() nor ppdev() possible +#error cannot compile HD44780 driver +#endif + #include "debug.h" #include "cfg.h" #include "display.h" @@ -147,7 +164,16 @@ typedef struct { } SEGMENT; static LCD Lcd; + + +#ifdef WITH_OUTB static unsigned short Port=0; +#endif + +#ifdef WITH_PPDEV +static char *PPdev=NULL; +static int PPfd=-1; +#endif static char Txt[4][40]; static BAR Bar[4][40]; @@ -157,43 +183,142 @@ static int nSegment=2; static SEGMENT Segment[128] = {{ len1:0, len2:0, type:255, used:0, ascii:32 }, { len1:255, len2:255, type:255, used:0, ascii:255 }}; -static void HD_command (unsigned char cmd, int delay) +#ifdef WITH_PPDEV +static void HD_toggle (int bit) { - outb (cmd, Port); // put data on DB1..DB8 - outb (0x02, Port+2); // set Enable = bit 0 invertet - udelay (1); - outb (0x03, Port+2); // clear Enable - udelay (delay); + struct ppdev_frob_struct frob; + + frob.mask=bit; + frob.val=0; // rise (inverted!) + ioctl (PPfd, PPFCONTROL, &frob); + udelay(1); + frob.val=bit; // lower (inverted!) + ioctl (PPfd, PPFCONTROL, &frob); } +#endif -static void HD_write (char *string, int len, int delay) +static void HD_command (unsigned char cmd, int delay) { - while (len--) { - outb (*string++, Port); // put data on DB1..DB8 - outb (0x00, Port+2); // set Enable = bit 0 invertet + if (PPdev) { + +#ifdef WITH_PPDEV + struct ppdev_frob_struct frob; + + // clear RS (inverted) + frob.mask=PARPORT_CONTROL_AUTOFD; + frob.val=PARPORT_CONTROL_AUTOFD; + ioctl (PPfd, PPFCONTROL, &frob); + + // put data on DB1..DB8 + ioctl(PPfd, PPWDATA, &cmd); + + // send command + HD_toggle(PARPORT_CONTROL_STROBE); + + // wait + udelay(delay); +#endif + + } else { + +#ifdef WITH_OUTB + outb (cmd, Port); // put data on DB1..DB8 + outb (0x02, Port+2); // set Enable = bit 0 invertet udelay (1); - outb (0x01, Port+2); // clear Enable + outb (0x03, Port+2); // clear Enable udelay (delay); +#endif + } } +static void HD_write (char *string, int len, int delay) +{ + if (PPdev) { + + struct ppdev_frob_struct frob; + + // set RS (inverted) + frob.mask=PARPORT_CONTROL_AUTOFD; + frob.val=0; + ioctl (PPfd, PPFCONTROL, &frob); + + while (len--) { + + // put data on DB1..DB8 + ioctl(PPfd, PPWDATA, string++); + + udelay(1); + // send command + HD_toggle(PARPORT_CONTROL_STROBE); + + // wait + udelay(delay); + } + + } else { + + while (len--) { + outb (*string++, Port); // put data on DB1..DB8 + outb (0x00, Port+2); // set Enable = bit 0 invertet + udelay (1); + outb (0x01, Port+2); // clear Enable + udelay (delay); + } + + } +} static void HD_setGPO (int bits) { + if (Lcd.gpos>0) { - outb (bits, Port); // put data on DB1..DB8 - outb (0x05, Port+2); // set INIT = bit 2 invertet - udelay (1); - outb (0x03, Port+2); // clear INIT - udelay (1); + + if (PPdev) { + + // put data on DB1..DB8 + ioctl(PPfd, PPWDATA, &bits); + + // toggle INIT + HD_toggle(PARPORT_CONTROL_INIT); + + } else { + outb (bits, Port); // put data on DB1..DB8 + outb (0x05, Port+2); // set INIT = bit 2 invertet + udelay (1); + outb (0x03, Port+2); // clear INIT + udelay (1); + } } } static int HD_open (void) { - debug ("using port 0x%x", Port); - if (ioperm(Port, 3, 1)!=0) { - error ("HD44780: ioperm(0x%x) failed: %s", Port, strerror(errno)); - return -1; + + if (PPdev) { + debug ("using ppdev %s", PPdev); + PPfd=open(PPdev, O_RDWR); + if (PPfd==-1) { + error ("open(%s) failed: %s", PPdev, strerror(errno)); + return -1; + } +#if 0 + if (ioctl(PPfd, PPEXCL)) { + error ("ioctl(%s, PPEXCL) failed: %s", PPdev, strerror(errno)); + return -1; + } +#endif + if (ioctl(PPfd, PPCLAIM)) { + error ("ioctl(%s, PPCLAIM) failed: %s", PPdev, strerror(errno)); + return -1; + } + } else { + + debug ("using raw port 0x%x", Port); + if (ioperm(Port, 3, 1)!=0) { + error ("HD44780: ioperm(0x%x) failed: %s", Port, strerror(errno)); + return -1; + } + } HD_command (0x30, 4100); // 8 Bit mode, wait 4.1 ms @@ -402,11 +527,17 @@ int HD_init (LCD *Self) error ("HD44780: no 'Port' entry in %s", cfg_file()); return -1; } + PPdev=NULL; if ((Port=strtol(s, &e, 0))==0 || *e!='\0') { +#if 0 error ("HD44780: bad port '%s' in %s", s, cfg_file()); return -1; +#endif + // use PPdev + Port=0; + PPdev=s; } - + #ifdef USE_OLD_UDELAY s=cfg_get ("Delay"); if (s==NULL || *s=='\0') { @@ -598,10 +729,18 @@ int HD_flush (void) int HD_quit (void) { - debug ("closing port 0x%x", Port); - if (ioperm(Port, 3, 0)!=0) { - error ("HD44780: ioperm(0x%x) failed: %s", Port, strerror(errno)); - return -1; + if (PPdev) { + debug ("closing ppdev %s", PPdev); + if (close(PPfd)==-1) { + error ("close(%s) failed: %s", PPdev, strerror(errno)); + return -1; + } + } else { + debug ("closing raw port 0x%x", Port); + if (ioperm(Port, 3, 0)!=0) { + error ("HD44780: ioperm(0x%x) failed: %s", Port, strerror(errno)); + return -1; + } } return 0; } @@ -41,6 +41,8 @@ lcd4linux-0.98 - simple web-server driver (see README.Webinterface) +- uses new (kernel 2.4) ppdev system to access parallel port via ioctl() + - mail suport for pop3 and imap4, token 'u1' ..'u9' show unseen mail (which is propably incorrect for normal mbox) diff --git a/README.HD44780 b/README.HD44780 index 0389221..5fb762e 100644 --- a/README.HD44780 +++ b/README.HD44780 @@ -1,5 +1,5 @@ # -# $Id: README.HD44780,v 1.2 2000/04/19 04:44:20 reinelt Exp $ +# $Id: README.HD44780,v 1.3 2001/03/14 15:14:59 reinelt Exp $ # This is the README file for the HD44780 display driver for lcd4linux @@ -7,14 +7,31 @@ This is the README file for the HD44780 display driver for lcd4linux This driver supports all display modules based on the Hitachi HD44780 chip. These displays are made by different manufactures, and come in various sizes. -The following types are known to work: +At least the following types are known to work: DataVision DV16244: 2 lines by 16 characters Nan Ya NLC 08x2x06: 2 lines by 8 characters The displays are connected to the parallel board (see Wiring below), and are quite timing-critical. There's no way to delay a usermode program under Linux for e.g. 40 usec, so we have to do -busy-waiting. This is done in a delay loop, which has to be calibrated (see Configuration below). +busy-waiting. This is done in a delay loop, which had to be calibrated (see Configuration below). +Since 0.98 there are two new delay loops, one based on the processor's TSC (Time Stamp Counter), +one based on gettimeofday(). lcd4linux decides automatically which one to use (it prefers the +TSC method, but falls back to gettimeofday() if neither the tsc flag nor the MHz value is set +in /proc/cpuinfo). + +The driver knows of two ways of controlling the parallel port: The (old, ugly and unportable) raw +programming of ports, and the new, cool, great ppdev() style. You decide which one to use by +specifying either a hexadecimal value or a device file with the 'Port' entry in the config file. + +Note that the old port programming only works with standard ports (0x3f8, 2f8,...), but not +with PCI parallel port cards. + +ppdev requires kernel 2.4. The configure script detects if you have the required include files, +and deactivates ppdev if they are not there. + +You should use ppdev whenever possible. Raw port access may be dropped someday. + The driver supports vertical, horizontal and split bars (two independent bars in one line), all bar types can be used simultanously. As the displays only have 8 user-defined characters, @@ -29,9 +46,17 @@ Configuration: The driver needs the following entries in lcd4linux.conf: Display: HD44780 -Port: the hexadecimal address of the parallel port (e.g. 0x378) + +Port: either the hexadecimal address of the parallel port (e.g. 0x378) + or a ppdev device (e.g. /dev/parports/0) + Size: [columns]x[rows] e.g. "16x2" + + +#ifdef USE_OLD_UDELAY + Delay: calibration of the delay loop, loops per microsecond + THIS IS NO LONGER NECESSARY! It is very important to use a correct delay value, otherwise you will get only junk on the display. lcd4linux has a switch '-d' where it helps you to find the correct value. Run @@ -43,10 +68,13 @@ The delay value is defined by your CPU model and clock frequency (it looks like 'BogoMips' value divided by 2, because we use a similar delay loop than the kernel does). Here are some examples: -Pentium MMX, 133 MHz, 106 BogoMips: 54 -Pentium MMX, 166 MHz, 333 BogoMips: 166 -Celeron, 333 MHz, 333 BogoMips: 166 -Pentium III, 600 MHz, 600 BogoMips: 300 +Pentium MMX, 133 MHz, 106 BogoMips: 54 +Pentium MMX, 166 MHz, 333 BogoMips: 166 +Celeron, 333 MHz, 333 BogoMips: 166 +Pentium III, 600 MHz, 600 BogoMips: 300 +AMD Athlon 1010 MHz, 2012 BogoMips: 505 + +#endif Wiring: @@ -47,13 +47,14 @@ will be done with the big config-rework // replace T_EXTENDED with a Flag similar to 'bar' // rejected, T_EXTENDED does a good job -mr -2001-03-07 Michael Reinelt <reinelt@eunet.at> -use ppdev instead of ugly outb() +// 2001-03-07 Michael Reinelt <reinelt@eunet.at> +// use ppdev instead of ugly outb() +// done 2001-03-14 -mr // 2001-03-09 Michael Reinelt <reinelt@eunet.at> // replace udelay() assembly loop with rdtsc (read time stamp counter) // at least try to.... -// done -mr +// done 2001-03-14 -mr 2001-03-09 Leo Tötsch <lt@toetsch.at> read configuration file earlier (before forking) so that specific drivers @@ -64,8 +65,8 @@ There's a reason for forking that early, but I forgot... remove USE_OLD_UDELAY after wide testing of new udelay code // 2001-03-12 Michael Reinelt <reinelt@eunet.at> -// crate a NEWS file with changes/enhancements of every release -// done -mr +// create a NEWS file with changes/enhancements of every release +// done 2001-03-13 -mr 2001-03-14 Leopold Toetsch <lt@toetsch.at> improve unseen for mbox (check Status:) diff --git a/config.h.in b/config.h.in index a52c5c4..a368aab 100644 --- a/config.h.in +++ b/config.h.in @@ -117,6 +117,12 @@ /* Define if you have the <limits.h> header file. */ #undef HAVE_LIMITS_H +/* Define if you have the <linux/parport.h> header file. */ +#undef HAVE_LINUX_PARPORT_H + +/* Define if you have the <linux/ppdev.h> header file. */ +#undef HAVE_LINUX_PPDEV_H + /* Define if you have the <ndir.h> header file. */ #undef HAVE_NDIR_H @@ -1,7 +1,7 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated automatically using autoconf version 2.14 +# Generated automatically using autoconf version 2.13 # Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc. # # This configure script is free software; the Free Software Foundation @@ -344,7 +344,7 @@ EOF verbose=yes ;; -version | --version | --versio | --versi | --vers) - echo "configure generated by autoconf version 2.14" + echo "configure generated by autoconf version 2.13" exit 0 ;; -with-* | --with-*) @@ -1680,7 +1680,6 @@ else /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char gethostbyname(); -char (*f)(); int main() { @@ -1690,12 +1689,12 @@ int main() { #if defined (__stub_gethostbyname) || defined (__stub___gethostbyname) choke me #else -f = gethostbyname; +gethostbyname(); #endif ; return 0; } EOF -if { (eval echo configure:1699: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:1698: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_gethostbyname=yes" else @@ -1716,7 +1715,7 @@ fi if test $ac_cv_func_gethostbyname = no; then echo $ac_n "checking for gethostbyname in -lnsl""... $ac_c" 1>&6 -echo "configure:1720: checking for gethostbyname in -lnsl" >&5 +echo "configure:1719: checking for gethostbyname in -lnsl" >&5 ac_lib_var=`echo nsl'_'gethostbyname | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -1724,7 +1723,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lnsl $LIBS" cat > conftest.$ac_ext <<EOF -#line 1728 "configure" +#line 1727 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -1735,7 +1734,7 @@ int main() { gethostbyname() ; return 0; } EOF -if { (eval echo configure:1739: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:1738: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -1765,12 +1764,12 @@ fi # -lsocket must be given before -lnsl if both are needed. # We assume that if connect needs -lnsl, so does gethostbyname. echo $ac_n "checking for connect""... $ac_c" 1>&6 -echo "configure:1769: checking for connect" >&5 +echo "configure:1768: checking for connect" >&5 if eval "test \"`echo '$''{'ac_cv_func_connect'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 1774 "configure" +#line 1773 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char connect(); below. */ @@ -1779,7 +1778,6 @@ else /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char connect(); -char (*f)(); int main() { @@ -1789,12 +1787,12 @@ int main() { #if defined (__stub_connect) || defined (__stub___connect) choke me #else -f = connect; +connect(); #endif ; return 0; } EOF -if { (eval echo configure:1798: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:1796: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_connect=yes" else @@ -1815,7 +1813,7 @@ fi if test $ac_cv_func_connect = no; then echo $ac_n "checking for connect in -lsocket""... $ac_c" 1>&6 -echo "configure:1819: checking for connect in -lsocket" >&5 +echo "configure:1817: checking for connect in -lsocket" >&5 ac_lib_var=`echo socket'_'connect | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -1823,7 +1821,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lsocket $X_EXTRA_LIBS $LIBS" cat > conftest.$ac_ext <<EOF -#line 1827 "configure" +#line 1825 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -1834,7 +1832,7 @@ int main() { connect() ; return 0; } EOF -if { (eval echo configure:1838: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:1836: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -1858,12 +1856,12 @@ fi # gomez@mi.uni-erlangen.de says -lposix is necessary on A/UX. echo $ac_n "checking for remove""... $ac_c" 1>&6 -echo "configure:1862: checking for remove" >&5 +echo "configure:1860: checking for remove" >&5 if eval "test \"`echo '$''{'ac_cv_func_remove'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 1867 "configure" +#line 1865 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char remove(); below. */ @@ -1872,7 +1870,6 @@ else /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char remove(); -char (*f)(); int main() { @@ -1882,12 +1879,12 @@ int main() { #if defined (__stub_remove) || defined (__stub___remove) choke me #else -f = remove; +remove(); #endif ; return 0; } EOF -if { (eval echo configure:1891: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:1888: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_remove=yes" else @@ -1908,7 +1905,7 @@ fi if test $ac_cv_func_remove = no; then echo $ac_n "checking for remove in -lposix""... $ac_c" 1>&6 -echo "configure:1912: checking for remove in -lposix" >&5 +echo "configure:1909: checking for remove in -lposix" >&5 ac_lib_var=`echo posix'_'remove | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -1916,7 +1913,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lposix $LIBS" cat > conftest.$ac_ext <<EOF -#line 1920 "configure" +#line 1917 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -1927,7 +1924,7 @@ int main() { remove() ; return 0; } EOF -if { (eval echo configure:1931: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:1928: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -1951,12 +1948,12 @@ fi # BSDI BSD/OS 2.1 needs -lipc for XOpenDisplay. echo $ac_n "checking for shmat""... $ac_c" 1>&6 -echo "configure:1955: checking for shmat" >&5 +echo "configure:1952: checking for shmat" >&5 if eval "test \"`echo '$''{'ac_cv_func_shmat'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 1960 "configure" +#line 1957 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char shmat(); below. */ @@ -1965,7 +1962,6 @@ else /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char shmat(); -char (*f)(); int main() { @@ -1975,12 +1971,12 @@ int main() { #if defined (__stub_shmat) || defined (__stub___shmat) choke me #else -f = shmat; +shmat(); #endif ; return 0; } EOF -if { (eval echo configure:1984: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:1980: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_shmat=yes" else @@ -2001,7 +1997,7 @@ fi if test $ac_cv_func_shmat = no; then echo $ac_n "checking for shmat in -lipc""... $ac_c" 1>&6 -echo "configure:2005: checking for shmat in -lipc" >&5 +echo "configure:2001: checking for shmat in -lipc" >&5 ac_lib_var=`echo ipc'_'shmat | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -2009,7 +2005,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lipc $LIBS" cat > conftest.$ac_ext <<EOF -#line 2013 "configure" +#line 2009 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -2020,7 +2016,7 @@ int main() { shmat() ; return 0; } EOF -if { (eval echo configure:2024: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:2020: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -2053,7 +2049,7 @@ fi # libraries we check for below, so use a different variable. # --interran@uluru.Stanford.EDU, kb@cs.umb.edu. echo $ac_n "checking for IceConnectionNumber in -lICE""... $ac_c" 1>&6 -echo "configure:2057: checking for IceConnectionNumber in -lICE" >&5 +echo "configure:2053: checking for IceConnectionNumber in -lICE" >&5 ac_lib_var=`echo ICE'_'IceConnectionNumber | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -2061,7 +2057,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lICE $X_EXTRA_LIBS $LIBS" cat > conftest.$ac_ext <<EOF -#line 2065 "configure" +#line 2061 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -2072,7 +2068,7 @@ int main() { IceConnectionNumber() ; return 0; } EOF -if { (eval echo configure:2076: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:2072: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -2098,7 +2094,7 @@ fi echo $ac_n "checking which drivers to compile""... $ac_c" 1>&6 -echo "configure:2102: checking which drivers to compile" >&5 +echo "configure:2098: checking which drivers to compile" >&5 # Check whether --with-drivers or --without-drivers was given. if test "${with_drivers+set}" = set; then withval="$with_drivers" @@ -2289,12 +2285,12 @@ fi echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6 -echo "configure:2293: checking for ANSI C header files" >&5 +echo "configure:2289: checking for ANSI C header files" >&5 if eval "test \"`echo '$''{'ac_cv_header_stdc'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 2298 "configure" +#line 2294 "configure" #include "confdefs.h" #include <stdlib.h> #include <stdarg.h> @@ -2302,7 +2298,7 @@ else #include <float.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:2306: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:2302: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -2319,7 +2315,7 @@ rm -f conftest* if test $ac_cv_header_stdc = yes; then # SunOS 4.x string.h does not declare mem*, contrary to ANSI. cat > conftest.$ac_ext <<EOF -#line 2323 "configure" +#line 2319 "configure" #include "confdefs.h" #include <string.h> EOF @@ -2337,7 +2333,7 @@ fi if test $ac_cv_header_stdc = yes; then # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. cat > conftest.$ac_ext <<EOF -#line 2341 "configure" +#line 2337 "configure" #include "confdefs.h" #include <stdlib.h> EOF @@ -2358,7 +2354,7 @@ if test "$cross_compiling" = yes; then : else cat > conftest.$ac_ext <<EOF -#line 2362 "configure" +#line 2358 "configure" #include "confdefs.h" #include <ctype.h> #define ISLOWER(c) ('a' <= (c) && (c) <= 'z') @@ -2369,7 +2365,7 @@ if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) exit(2); exit (0); } EOF -if { (eval echo configure:2373: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:2369: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then : else @@ -2397,12 +2393,12 @@ for ac_hdr in dirent.h sys/ndir.h sys/dir.h ndir.h do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr that defines DIR""... $ac_c" 1>&6 -echo "configure:2401: checking for $ac_hdr that defines DIR" >&5 +echo "configure:2397: checking for $ac_hdr that defines DIR" >&5 if eval "test \"`echo '$''{'ac_cv_header_dirent_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 2406 "configure" +#line 2402 "configure" #include "confdefs.h" #include <sys/types.h> #include <$ac_hdr> @@ -2410,7 +2406,7 @@ int main() { DIR *dirp = 0; ; return 0; } EOF -if { (eval echo configure:2414: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:2410: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* eval "ac_cv_header_dirent_$ac_safe=yes" else @@ -2435,7 +2431,7 @@ done # Two versions of opendir et al. are in -ldir and -lx on SCO Xenix. if test $ac_header_dirent = dirent.h; then echo $ac_n "checking for opendir in -ldir""... $ac_c" 1>&6 -echo "configure:2439: checking for opendir in -ldir" >&5 +echo "configure:2435: checking for opendir in -ldir" >&5 ac_lib_var=`echo dir'_'opendir | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -2443,7 +2439,7 @@ else ac_save_LIBS="$LIBS" LIBS="-ldir $LIBS" cat > conftest.$ac_ext <<EOF -#line 2447 "configure" +#line 2443 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -2454,7 +2450,7 @@ int main() { opendir() ; return 0; } EOF -if { (eval echo configure:2458: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:2454: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -2476,7 +2472,7 @@ fi else echo $ac_n "checking for opendir in -lx""... $ac_c" 1>&6 -echo "configure:2480: checking for opendir in -lx" >&5 +echo "configure:2476: checking for opendir in -lx" >&5 ac_lib_var=`echo x'_'opendir | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -2484,7 +2480,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lx $LIBS" cat > conftest.$ac_ext <<EOF -#line 2488 "configure" +#line 2484 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -2495,7 +2491,7 @@ int main() { opendir() ; return 0; } EOF -if { (eval echo configure:2499: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:2495: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -2518,12 +2514,12 @@ fi fi echo $ac_n "checking for sys/wait.h that is POSIX.1 compatible""... $ac_c" 1>&6 -echo "configure:2522: checking for sys/wait.h that is POSIX.1 compatible" >&5 +echo "configure:2518: checking for sys/wait.h that is POSIX.1 compatible" >&5 if eval "test \"`echo '$''{'ac_cv_header_sys_wait_h'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 2527 "configure" +#line 2523 "configure" #include "confdefs.h" #include <sys/types.h> #include <sys/wait.h> @@ -2539,7 +2535,7 @@ wait (&s); s = WIFEXITED (s) ? WEXITSTATUS (s) : 1; ; return 0; } EOF -if { (eval echo configure:2543: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:2539: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_header_sys_wait_h=yes else @@ -2563,17 +2559,17 @@ for ac_hdr in fcntl.h limits.h strings.h sys/ioctl.h sys/time.h syslog.h unistd. do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:2567: checking for $ac_hdr" >&5 +echo "configure:2563: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 2572 "configure" +#line 2568 "configure" #include "confdefs.h" #include <$ac_hdr> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:2577: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:2573: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -2603,17 +2599,57 @@ for ac_hdr in sys/io.h asm/io.h do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:2607: checking for $ac_hdr" >&5 +echo "configure:2603: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 2612 "configure" +#line 2608 "configure" #include "confdefs.h" #include <$ac_hdr> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:2617: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:2613: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` +if test -z "$ac_err"; then + rm -rf conftest* + eval "ac_cv_header_$ac_safe=yes" +else + echo "$ac_err" >&5 + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_header_$ac_safe=no" +fi +rm -f conftest* +fi +if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then + echo "$ac_t""yes" 1>&6 + ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'` + cat >> confdefs.h <<EOF +#define $ac_tr_hdr 1 +EOF + +else + echo "$ac_t""no" 1>&6 +fi +done + +for ac_hdr in linux/parport.h linux/ppdev.h +do +ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` +echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 +echo "configure:2643: checking for $ac_hdr" >&5 +if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + cat > conftest.$ac_ext <<EOF +#line 2648 "configure" +#include "confdefs.h" +#include <$ac_hdr> +EOF +ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" +{ (eval echo configure:2653: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -2643,17 +2679,17 @@ for ac_hdr in gd/gd.h gd.h do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:2647: checking for $ac_hdr" >&5 +echo "configure:2683: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 2652 "configure" +#line 2688 "configure" #include "confdefs.h" #include <$ac_hdr> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:2657: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:2693: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -2683,17 +2719,17 @@ for ac_hdr in net/if_ppp.h do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:2687: checking for $ac_hdr" >&5 +echo "configure:2723: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 2692 "configure" +#line 2728 "configure" #include "confdefs.h" #include <$ac_hdr> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:2697: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:2733: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -2723,17 +2759,17 @@ for ac_hdr in asm/msr.h do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:2727: checking for $ac_hdr" >&5 +echo "configure:2763: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 2732 "configure" +#line 2768 "configure" #include "confdefs.h" #include <$ac_hdr> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:2737: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:2773: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -2761,12 +2797,12 @@ done echo $ac_n "checking for working const""... $ac_c" 1>&6 -echo "configure:2765: checking for working const" >&5 +echo "configure:2801: checking for working const" >&5 if eval "test \"`echo '$''{'ac_cv_c_const'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 2770 "configure" +#line 2806 "configure" #include "confdefs.h" int main() { @@ -2815,7 +2851,7 @@ ccp = (char const *const *) p; ; return 0; } EOF -if { (eval echo configure:2819: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:2855: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_c_const=yes else @@ -2836,21 +2872,21 @@ EOF fi echo $ac_n "checking for inline""... $ac_c" 1>&6 -echo "configure:2840: checking for inline" >&5 +echo "configure:2876: checking for inline" >&5 if eval "test \"`echo '$''{'ac_cv_c_inline'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else ac_cv_c_inline=no for ac_kw in inline __inline__ __inline; do cat > conftest.$ac_ext <<EOF -#line 2847 "configure" +#line 2883 "configure" #include "confdefs.h" int main() { } $ac_kw foo() { ; return 0; } EOF -if { (eval echo configure:2854: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:2890: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_c_inline=$ac_kw; break else @@ -2876,12 +2912,12 @@ EOF esac echo $ac_n "checking for pid_t""... $ac_c" 1>&6 -echo "configure:2880: checking for pid_t" >&5 +echo "configure:2916: checking for pid_t" >&5 if eval "test \"`echo '$''{'ac_cv_type_pid_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 2885 "configure" +#line 2921 "configure" #include "confdefs.h" #include <sys/types.h> #if STDC_HEADERS @@ -2909,12 +2945,12 @@ EOF fi echo $ac_n "checking for size_t""... $ac_c" 1>&6 -echo "configure:2913: checking for size_t" >&5 +echo "configure:2949: checking for size_t" >&5 if eval "test \"`echo '$''{'ac_cv_type_size_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 2918 "configure" +#line 2954 "configure" #include "confdefs.h" #include <sys/types.h> #if STDC_HEADERS @@ -2942,12 +2978,12 @@ EOF fi echo $ac_n "checking whether time.h and sys/time.h may both be included""... $ac_c" 1>&6 -echo "configure:2946: checking whether time.h and sys/time.h may both be included" >&5 +echo "configure:2982: checking whether time.h and sys/time.h may both be included" >&5 if eval "test \"`echo '$''{'ac_cv_header_time'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 2951 "configure" +#line 2987 "configure" #include "confdefs.h" #include <sys/types.h> #include <sys/time.h> @@ -2956,7 +2992,7 @@ int main() { struct tm *tp; ; return 0; } EOF -if { (eval echo configure:2960: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:2996: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_header_time=yes else @@ -2977,12 +3013,12 @@ EOF fi echo $ac_n "checking whether struct tm is in sys/time.h or time.h""... $ac_c" 1>&6 -echo "configure:2981: checking whether struct tm is in sys/time.h or time.h" >&5 +echo "configure:3017: checking whether struct tm is in sys/time.h or time.h" >&5 if eval "test \"`echo '$''{'ac_cv_struct_tm'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 2986 "configure" +#line 3022 "configure" #include "confdefs.h" #include <sys/types.h> #include <time.h> @@ -2990,7 +3026,7 @@ int main() { struct tm *tp; tp->tm_sec; ; return 0; } EOF -if { (eval echo configure:2994: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:3030: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_struct_tm=time.h else @@ -3011,12 +3047,12 @@ EOF fi echo $ac_n "checking for uid_t in sys/types.h""... $ac_c" 1>&6 -echo "configure:3015: checking for uid_t in sys/types.h" >&5 +echo "configure:3051: checking for uid_t in sys/types.h" >&5 if eval "test \"`echo '$''{'ac_cv_type_uid_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 3020 "configure" +#line 3056 "configure" #include "confdefs.h" #include <sys/types.h> EOF @@ -3047,13 +3083,13 @@ fi if test $ac_cv_prog_gcc = yes; then echo $ac_n "checking whether ${CC-cc} needs -traditional""... $ac_c" 1>&6 -echo "configure:3051: checking whether ${CC-cc} needs -traditional" >&5 +echo "configure:3087: checking whether ${CC-cc} needs -traditional" >&5 if eval "test \"`echo '$''{'ac_cv_prog_gcc_traditional'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else ac_pattern="Autoconf.*'x'" cat > conftest.$ac_ext <<EOF -#line 3057 "configure" +#line 3093 "configure" #include "confdefs.h" #include <sgtty.h> Autoconf TIOCGETP @@ -3071,7 +3107,7 @@ rm -f conftest* if test $ac_cv_prog_gcc_traditional = no; then cat > conftest.$ac_ext <<EOF -#line 3075 "configure" +#line 3111 "configure" #include "confdefs.h" #include <termio.h> Autoconf TCGETA @@ -3093,7 +3129,7 @@ echo "$ac_t""$ac_cv_prog_gcc_traditional" 1>&6 fi echo $ac_n "checking for 8-bit clean memcmp""... $ac_c" 1>&6 -echo "configure:3097: checking for 8-bit clean memcmp" >&5 +echo "configure:3133: checking for 8-bit clean memcmp" >&5 if eval "test \"`echo '$''{'ac_cv_func_memcmp_clean'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -3101,7 +3137,7 @@ else ac_cv_func_memcmp_clean=no else cat > conftest.$ac_ext <<EOF -#line 3105 "configure" +#line 3141 "configure" #include "confdefs.h" main() @@ -3111,7 +3147,7 @@ main() } EOF -if { (eval echo configure:3115: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:3151: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then ac_cv_func_memcmp_clean=yes else @@ -3129,12 +3165,12 @@ echo "$ac_t""$ac_cv_func_memcmp_clean" 1>&6 test $ac_cv_func_memcmp_clean = no && LIBOBJS="$LIBOBJS memcmp.${ac_objext}" echo $ac_n "checking return type of signal handlers""... $ac_c" 1>&6 -echo "configure:3133: checking return type of signal handlers" >&5 +echo "configure:3169: checking return type of signal handlers" >&5 if eval "test \"`echo '$''{'ac_cv_type_signal'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 3138 "configure" +#line 3174 "configure" #include "confdefs.h" #include <sys/types.h> #include <signal.h> @@ -3151,7 +3187,7 @@ int main() { int i; ; return 0; } EOF -if { (eval echo configure:3155: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:3191: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_type_signal=void else @@ -3172,12 +3208,12 @@ EOF for ac_func in gettimeofday putenv select socket strdup strerror strstr strtol uname do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:3176: checking for $ac_func" >&5 +echo "configure:3212: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 3181 "configure" +#line 3217 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -3186,7 +3222,6 @@ else /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char $ac_func(); -char (*f)(); int main() { @@ -3196,12 +3231,12 @@ int main() { #if defined (__stub_$ac_func) || defined (__stub___$ac_func) choke me #else -f = $ac_func; +$ac_func(); #endif ; return 0; } EOF -if { (eval echo configure:3205: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3240: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -3316,7 +3351,7 @@ do echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion" exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;; -version | --version | --versio | --versi | --vers | --ver | --ve | --v) - echo "$CONFIG_STATUS generated by autoconf version 2.14" + echo "$CONFIG_STATUS generated by autoconf version 2.13" exit 0 ;; -help | --help | --hel | --he | --h) echo "\$ac_cs_usage"; exit 0 ;; diff --git a/configure.in b/configure.in index 959444b..e182668 100644 --- a/configure.in +++ b/configure.in @@ -184,6 +184,7 @@ 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(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) diff --git a/lcd4linux.conf.sample b/lcd4linux.conf.sample index a0870a7..cf24bd7 100644 --- a/lcd4linux.conf.sample +++ b/lcd4linux.conf.sample @@ -1,11 +1,12 @@ -Display LCD2041 -Port /dev/ttyS2 -Speed 19200 -Contrast 160 - -#Display HD44780 -#Port 0x278 -#Size 24x2 +#Display LCD2041 +#Port /dev/ttyS2 +#Speed 19200 +#Contrast 160 + +Display HD44780 +#Port 0x378 +Port /dev/parports/1 +Size 24x2 #Delay 503 #Display BLC100x |