Hey, Marc.
Very nice.
There is a problem on MacOS X 10.3.*, where OCRNL is not defined in <sys/termios.h>. This leads to the error:
[Bradley-Luciers-Computer:~/programs/gambc40b14] lucier% make making all in include making all in lib gcc -I../include -I. -no-cpp-precomp -Wall -W -Wno-unused -O1 -fno-math-errno -fschedule-insns2 -fno-trapping-math -fno-strict-aliasing -fwrapv -fomit-frame-pointer -fPIC -fno-common -DHAVE_CONFIG_H -D___PRIMAL -D___LIBRARY -D___GAMBCDIR="/pkgs/Gambit-C" -c os_io.c gcc: unrecognized option '-no-cpp-precomp' In file included from os.h:185, from os_base.h:8, from os_io.c:14: /usr/include/dlfcn.h:35:2: warning: #warning "You are using dlopen(), a legacy API. Please use the Mach-O dylib loading APIs if at all possible" os_io.c: In function 'setup_terminal_slave': os_io.c:4641: error: 'OCRNL' undeclared (first use in this function) os_io.c:4641: error: (Each undeclared identifier is reported only once os_io.c:4641: error: for each function it appears in.) make[1]: *** [os_io.o] Error 1 make: *** [all-recursive] Error 1
at the line
tios.c_oflag &= ~(OPOST | ONLCR | OCRNL);
<sys/termios.h > in MacOS X 10.4.* has the following block of definitions not in the 10.3.* version:
/* * The following block of features is unimplemented. Use of these flags in * programs will currently result in unexpected behaviour. * * - Begin unimplemented features */ #define OCRNL 0x00000010 /* map CR to NL on output */ #define ONOCR 0x00000020 /* no CR output at column 0 */ #define ONLRET 0x00000040 /* NL performs CR function */ #define OFILL 0x00000080 /* use fill characters for delay */ #define NLDLY 0x00000300 /* \n delay */ #define TABDLY 0x00000c00 /* horizontal tab delay */ #define CRDLY 0x00003000 /* \r delay */ #define FFDLY 0x00004000 /* form feed delay */ #define BSDLY 0x00008000 /* \b delay */ #define VTDLY 0x00010000 /* vertical tab delay */ #define OFDEL 0x00020000 /* fill is DEL, else NUL */
I don't know if you want to put in another configure test for this definition.
Brad