add --disable-curses option

To support a more minimal build enviornment, offer the possibility of
building without "curses.h" and "libcurses" (which disables the
expeditor, although the expeditor's code is still included).

original commit: 9a17f73e6fc5e117c19333e15c6afb797dd6b08f
This commit is contained in:
Matthew Flatt 2018-10-22 17:45:04 -06:00
parent aedc74ce06
commit 31b7c8fd7a
28 changed files with 68 additions and 27 deletions

View File

@ -17,7 +17,7 @@ m = a6fb
Cpu = X86_64
mdinclude = -I/usr/local/include -I/usr/X11R6/include
mdclib = -L/usr/local/lib -liconv -lm -lncurses
mdclib = -L/usr/local/lib -liconv -lm $(LIBNCURSES)
C = ${CC} ${CPPFLAGS} -Wpointer-arith -Wextra -Werror -O ${CFLAGS}
o = o
mdsrc = i3le.c

View File

@ -16,7 +16,7 @@
m = a6le
Cpu = X86_64
mdclib = -lm -ldl -lncurses -lrt
mdclib = -lm -ldl $(LIBNCURSES) -lrt
C = ${CC} ${CPPFLAGS} -m64 -msse2 -Wpointer-arith -Wall -Wextra -Werror -Wno-implicit-fallthrough -O2 ${CFLAGS}
o = o
mdsrc = i3le.c

View File

@ -17,7 +17,7 @@ m = a6ob
Cpu = X86_64
mdinclude = -I/usr/local/include -I/usr/X11R6/include
mdclib = -L/usr/local/lib -liconv -lm -lncurses
mdclib = -L/usr/local/lib -liconv -lm $(LIBNCURSES)
C = ${CC} ${CPPFLAGS} -Wpointer-arith -Werror -O ${CFLAGS}
o = o
mdsrc = i3le.c

View File

@ -16,7 +16,7 @@
m = a6osx
Cpu = X86_64
mdclib = -liconv -lm -lncurses
mdclib = -liconv -lm $(LIBNCURSES)
C = ${CC} ${CPPFLAGS} -m64 -Wpointer-arith -Wall -Wextra -Wno-implicit-fallthrough -Werror -O2 -I/opt/X11/include/ ${CFLAGS}
o = o
mdsrc = i3le.c

View File

@ -16,7 +16,7 @@
m = a6s2
Cpu = X86_64
mdclib = -lnsl -ldl -lm -lcurses -lrt
mdclib = -lnsl -ldl -lm $(LIBCURSES) -lrt
C = ${CC} ${CPPFLAGS} -m64 -Wpointer-arith -Wextra -Werror -O ${CFLAGS}
o = o
mdsrc = i3le.c

View File

@ -16,7 +16,7 @@
m = arm32le
Cpu = ARMV6
mdclib = -lm -ldl -lncurses -lrt
mdclib = -lm -ldl $(LIBNCURSES) -lrt
C = ${CC} ${CPPFLAGS} -Wpointer-arith -Wextra -Werror -Wno-implicit-fallthrough -O2 ${CFLAGS}
o = o
mdsrc = arm32le.c

View File

@ -28,7 +28,7 @@ kernelsrc=statics.c segment.c alloc.c symbol.c intern.c gcwrapper.c gc-ocd.c gc-
kernelobj=${kernelsrc:%.c=%.$o} ${mdobj}
kernelhdr=system.h types.h version.h globals.h externs.h segment.h gc.c sort.h thread.h config.h itest.c
kernelhdr=system.h types.h version.h globals.h externs.h segment.h gc.c sort.h thread.h config.h itest.c nocurses.h
mainsrc=main.c
@ -51,7 +51,7 @@ endif
scheme.o: itest.c
scheme.o main.o: config.h
${kernelobj}: system.h types.h version.h externs.h globals.h segment.h thread.h sort.h
${kernelobj}: system.h types.h version.h externs.h globals.h segment.h thread.h sort.h nocurses.h
${kernelobj}: ${Include}/equates.h ${Include}/scheme.h
${mainobj}: ${Include}/scheme.h
${kernelobj}: ../zlib/zconf.h ../zlib/zlib.h

View File

@ -17,7 +17,7 @@ m = i3fb
Cpu = I386
mdinclude = -I/usr/local/include -I/usr/X11R6/include
mdclib = -L/usr/local/lib -liconv -lm -lncurses
mdclib = -L/usr/local/lib -liconv -lm $(LIBNCURSES)
C = ${CC} ${CPPFLAGS} -Wpointer-arith -Wextra -Werror -O ${CFLAGS}
o = o
mdsrc = i3le.c

View File

@ -16,7 +16,7 @@
m = i3le
Cpu = I386
mdclib = -lm -ldl -lncurses -lrt
mdclib = -lm -ldl $(LIBNCURSES) -lrt
C = ${CC} ${CPPFLAGS} -m32 -msse2 -Wpointer-arith -Wall -Wextra -Werror -Wno-implicit-fallthrough -O2 -fno-stack-protector ${CFLAGS}
o = o
mdsrc = i3le.c

View File

@ -17,7 +17,7 @@ m = i3ob
Cpu = I386
mdinclude = -I/usr/local/include -I/usr/X11R6/include
mdclib = -L/usr/local/lib -liconv -lm -lncurses
mdclib = -L/usr/local/lib -liconv -lm $(LIBNCURSES)
C = ${CC} ${CPPFLAGS} -Wpointer-arith -Werror -O ${CFLAGS}
o = o
mdsrc = i3le.c

View File

@ -16,7 +16,7 @@
m = i3osx
Cpu = I386
mdclib = -liconv -lm -lncurses
mdclib = -liconv -lm $(LIBNCURSES)
C = ${CC} ${CPPFLAGS} -m32 -Wpointer-arith -Wall -Wextra -Wno-implicit-fallthrough -Werror -O2 -msse2 -I/opt/X11/include/ ${CFLAGS}
o = o
mdsrc = i3le.c

View File

@ -16,7 +16,7 @@
m = i3qnx
Cpu = I386
mdclib = -lm /usr/local/lib/libiconv.so -lsocket -lncurses
mdclib = -lm /usr/local/lib/libiconv.so -lsocket $(LIBNCURSES)
C = qcc ${CPPFLAGS} -m32 -Wpointer-arith -Wextra -Werror -O2 -N2048K ${CFLAGS}
o = o
mdsrc = i3le.c

View File

@ -16,7 +16,7 @@
m = i3s2
Cpu = I386
mdclib = -lnsl -ldl -lm -lcurses -lrt
mdclib = -lnsl -ldl -lm $(LIBCURSES) -lrt
C = ${CC} ${CFLAGS} -m32 -Wpointer-arith -Wextra -Werror -O ${CPPFLAGS}
o = o
mdsrc = i3le.c

View File

@ -16,7 +16,7 @@
m = ppc32le
Cpu = PPC32
mdclib = -lm -ldl -lncurses -lrt
mdclib = -lm -ldl $(LIBNCURSES) -lrt
C = ${CC} ${CPPFLAGS} -m32 -Wpointer-arith -Wextra -Werror -Wno-implicit-fallthrough -O2 ${CFLAGS}
o = o
mdsrc = ppc32.c

View File

@ -17,7 +17,7 @@ m = ta6fb
Cpu = X86_64
mdinclude = -I/usr/local/include -I/usr/X11R6/include
mdclib = -L/usr/local/lib -liconv -lm -lncurses -lpthread
mdclib = -L/usr/local/lib -liconv -lm $(LIBNCURSES) -lpthread
C = ${CC} ${CPPFLAGS} -Wpointer-arith -Wextra -Werror -O2 -D_REENTRANT -pthread ${CFLAGS}
o = o
mdsrc = i3le.c

View File

@ -16,7 +16,7 @@
m = ta6le
Cpu = X86_64
mdclib = -lm -ldl -lncurses -lpthread -lrt
mdclib = -lm -ldl $(LIBNCURSES) -lpthread -lrt
C = ${CC} ${CPPFLAGS} -m64 -msse2 -Wpointer-arith -Wall -Wextra -Werror -Wno-implicit-fallthrough -O2 -D_REENTRANT -pthread ${CFLAGS}
o = o
mdsrc = i3le.c

View File

@ -17,7 +17,7 @@ m = ta6ob
Cpu = X86_64
mdinclude = -I/usr/local/include -I/usr/X11R6/include
mdclib = -L/usr/local/lib -liconv -lm -lncurses -lpthread
mdclib = -L/usr/local/lib -liconv -lm $(LIBNCURSES) -lpthread
C = ${CC} ${CPPFLAGS} -Wpointer-arith -Werror -O2 -D_REENTRANT -pthread ${CFLAGS}
o = o
mdsrc = i3le.c

View File

@ -16,7 +16,7 @@
m = ta6osx
Cpu = X86_64
mdclib = -liconv -lm -lncurses
mdclib = -liconv -lm $(LIBNCURSES)
C = ${CC} ${CPPFLAGS} -m64 -Wpointer-arith -Wall -Wextra -Wno-implicit-fallthrough -Werror -O2 -I/opt/X11/include/ ${CFLAGS}
o = o
mdsrc = i3le.c

View File

@ -16,7 +16,7 @@
m = ta6s2
Cpu = X86_64
mdclib = -lnsl -ldl -lm -lpthread -lcurses -lrt
mdclib = -lnsl -ldl -lm -lpthread $(LIBCURSES) -lrt
C = ${CC} ${CPPFLAGS} -m64 -Wpointer-arith -Wextra -Werror -O2 -D_REENTRANT ${CFLAGS}
o = o
mdsrc = i3le.c

View File

@ -17,7 +17,7 @@ m = ti3fb
Cpu = I386
mdinclude = -I/usr/local/include -I/usr/X11R6/include
mdclib = -L/usr/local/lib -liconv -lm -lncurses -lpthread
mdclib = -L/usr/local/lib -liconv -lm $(LIBNCURSES) -lpthread
C = ${CC} ${CPPFLAGS} -Wpointer-arith -Wextra -Werror -O2 -D_REENTRANT -pthread ${CFLAGS}
o = o
mdsrc = i3le.c

View File

@ -16,7 +16,7 @@
m = ti3le
Cpu = I386
mdclib = -lm -ldl -lncurses -lpthread -lrt
mdclib = -lm -ldl $(LIBNCURSES) -lpthread -lrt
C = ${CC} ${CPPFLAGS} -m32 -msse2 -Wpointer-arith -Wall -Wextra -Werror -Wno-implicit-fallthrough -O2 -D_REENTRANT -pthread ${CFLAGS}
o = o
mdsrc = i3le.c

View File

@ -17,7 +17,7 @@ m = ti3ob
Cpu = I386
mdinclude = -I/usr/local/include -I/usr/X11R6/include
mdclib = -L/usr/local/lib -liconv -lm -lncurses -lpthread
mdclib = -L/usr/local/lib -liconv -lm $(LIBNCURSES) -lpthread
C = ${CC} ${CPPFLAGS} -Wpointer-arith -Werror -O2 -D_REENTRANT -pthread ${CFLAGS}
o = o
mdsrc = i3le.c

View File

@ -16,7 +16,7 @@
m = ti3osx
Cpu = I386
mdclib = -liconv -lm -lncurses
mdclib = -liconv -lm $(LIBNCURSES)
C = ${CC} ${CPPFLAGS} -m32 -Wpointer-arith -Wall -Wextra -Wno-implicit-fallthrough -Werror -O2 -msse2 -I/opt/X11/include/ ${CFLAGS}
o = o
mdsrc = i3le.c

View File

@ -16,7 +16,7 @@
m = ti3s2
Cpu = I386
mdclib = -lnsl -ldl -lm -lpthread -lcurses -lrt
mdclib = -lnsl -ldl -lm -lpthread $(LIBCURSES) -lrt
C = ${CC} ${CPPFLAGS} -m32 -Wpointer-arith -Wextra -Werror -O2 -D_REENTRANT ${CFLAGS}
o = o
mdsrc = i3le.c

View File

@ -16,7 +16,7 @@
m = tppc32le
Cpu = PPC32
mdclib = -lm -ldl -lncurses -lpthread -lrt
mdclib = -lm -ldl $(LIBNCURSES) -lpthread -lrt
C = ${CC} ${CPPFLAGS} -m32 -Wpointer-arith -Wextra -Werror -Wno-implicit-fallthrough -O2 -D_REENTRANT -pthread ${CFLAGS}
o = o
mdsrc = ppc32le.c

View File

@ -527,7 +527,9 @@ static void s_ee_write_char(wchar_t c) {
}
#else /* WIN32 */
#ifdef SOLARIS
#ifdef DISABLE_CURSES
#include "nocurses.h"
#elif defined(SOLARIS)
#define NCURSES_CONST
#define CHTYPE int
#include </usr/include/curses.h>

24
c/nocurses.h Normal file
View File

@ -0,0 +1,24 @@
#ifndef ERR
# define ERR -1
#endif
#define setupterm(a, b, e) (*(e) = 0, ERR)
#define tputs(c, x, f) (f(c))
#define lines 0
#define columns 0
#define cursor_left 0
#define cursor_right 0
#define cursor_up 0
#define cursor_down 0
#define enter_am_mode 0
#define exit_am_mode 0
#define clr_eos 0
#define clr_eol 0
#define clear_screen 0
#define carriage_return 0
#define bell 0
#define scroll_reverse 0
#define auto_right_margin 0
#define eat_newline_glitch 0

15
configure vendored
View File

@ -38,6 +38,7 @@ installschemename="scheme"
installpetitename="petite"
installscriptname="scheme-script"
disablex11=no
disablecurses=no
: ${CC:="gcc"}
: ${CPPFLAGS:=""}
: ${CFLAGS:=""}
@ -204,6 +205,9 @@ while [ $# != 0 ] ; do
--disable-x11)
disablex11=yes
;;
--disable-curses)
disablecurses=yes
;;
CC=*)
CC=`echo $1 | sed -e 's/^CC=//'`
;;
@ -385,9 +389,20 @@ if [ "$disablex11" = "yes" ]; then
echo '#define DISABLE_X11' >> $w/c/config.h
fi
LIBCURSES=-lcurses
LIBNCURSES=-lncurses
if [ "$disablecurses" = "yes" ]; then
echo '#define DISABLE_CURSES' >> $w/c/config.h
LIBCURSES=
LIBNCURSES=
fi
cat > $w/c/Mf-config << END
CC=$CC
CPPFLAGS=$CPPFLAGS
CFLAGS=$CFLAGS
LDFLAGS=$LDFLAGS
LIBCURSES=$LIBCURSES
LIBNCURSES=$LIBNCURSES
END