Has anyone ported the `sc' spreadsheet program to run under AIX 3.1?
Jack Levy,
Computer Centre, University College London.
Jack Levy,
Computer Centre, University College London.
**************************************************************************
cc -O -DSYSV2 -DCHTYPE=int -DNLS -DBROKENCURSES -DIDLOKBAD -c screen.c
539 | (_tty.sg_flags &= ~0x00000010, _pfast = 1, stty(_tty_ch,
.....a.............................b................c........
a - 1506-045: (S) Undeclared variable.
b - 1506-045: (S) Undeclared variable.
c - 1506-045: (S) Undeclared variable.
&_tty));
.a......
a - 1506-045: (S) Undeclared variable.
make: 1254-004 The error code from the last command is 1.
Make Quitting.
************************************************************
The Makefile is
# Makefile $Revision: 6.19 $
#
# 1) Select the proper EXDIR (path), MANDIR, MANEXT, LIBDIR, SIGVOID,
# RE_COMP/REGCMP, DFLT_PAGER, and FMOD. Most of the other things aren't
# normally changed (see the comments with each)
# 2) Select the proper machine/compiler/OS section of code
# for MS-DOS look for the pattern 'MS-DOS'
# 3) make install
# 4) If you have the command 'file' that uses /etc/magic add the line:
# 38 string Spreadsheet sc file
# Specify the name of the program.
# All documentation and installation keys on this value.
#
name=sc
NAME=SC
# This is where the install step puts it.
#EXDIR=/site/bin
EXDIR=/u/deng/bin
# This is where the man page goes.
#MANDIR=/usr/local/src/man/man1 # reno
#MANEXT=1 # reno
MANDIR=/u/deng/man/man1
MANEXT=l
MANMODE=644
# This is where the library file (tutorial) goes.
#LIBDIR=/usr/local/share/$(name) # reno
#LIBDIR=/usr/local/lib/$(name)
LIBDIR=/u/deng/lib/sc/sc-tutorial
# Set SIMPLE for lex.c if you don't want arrow keys or lex.c blows up
#SIMPLE=
SIMPLE=-DSIMPLE
# Set BROKENCURSES if your curses has the nl/nonl bug
# if it does and you don't set BROKENCURSES, the display will
# be staggered across the screen. Also try IDLOKBAD below.
#BROKENCURSES=
BROKENCURSES=-DBROKENCURSES
# Set DOBACKUPS if you would like a backup copy of a source file on a save
#DOBACKUPS=
#DOBACKUPS=-DDOBACKUPS
# Set INTERNATIONAL if you need 8 bit characters. You should
# not set this if you are running 5.3.0. I think it is OK in 5.3.1.
#INTERNATIONAL=-DINTERNATIONAL
#INTERNATIONAL=
# Set SIGVOID if signal routines are type void.
# use: SIGVOID=-DSIGVOID for:
# System 5.3, SunOS 4.X, VMS, BSD4.4 (reno), and ANSI C Compliant systems
# use: SIGVOID= for:
# BSD systems (excluding reno, BSD4.4), and the UNIXPC 'cc'
#SIGVOID=-DSIGVOID
#SIGVOID=
# Set IEEE_MATH if you need setsticky() calls in your signal handlers
#
#IEEE_MATH=-DIEEE_MATH
#IEEE_MATH=
# Set RINT=-DRINT if you do not have rint() in math.h
# Set RINT= on/with (they have rint):
# SunOS 4.0.3c compiler
# BSD4.4 (reno)
#RINT=
#RINT=-DRINT
# Set RE_COMP if you have the re_comp/re_exec regular expression routines
# (most BSD based systems do).
RE_COMP=-DRE_COMP
#RE_COMP=
# Set REGCMP if you have the regcmp/regex regular expression routines
# (most System V based systems do)
#REGCMP=-DREGCMP
#REGCMP=
# This is the name of a pager like "more".
# "pg" may be appropriate for SYSV.
#DFLT_PAGER=-DDFLT_PAGER=\"less\"
DFLT_PAGER=-DDFLT_PAGER=\"more\" # generic && reno
# this is the name to save back ups in
SAVE=-DSAVENAME=\"$(NAME).SAVE\"
# path to crypt, do not define if you don't have crypt
# most systems
#CRYPT=-DCRYPT_PATH=\"/bin/crypt\"
# BSD
#CRYPT=-DCRYPT_PATH=\"/usr/bin/crypt\"
# other people?
#CRYPT=CRYPT_PATH=\"/usr/local/bin/crypt\"
# If you get errors about fmod being undefined when you try to
# compile, then define NO_FMOD (most likely BSD4.3 and Mt Xinu).
#FMOD=-DNO_FMOD
#FMOD=
# If your system doesn't have notimeout() in curses define NONOTIMEOUT
#NONOTIMEOUT=
#NONOTIMEOUT=-DNONOTIMEOUT
# flags for lint
LINTFLAGS=-abchxv
# *** SPECIAL NOTES ***
# For ULTRIX: define the BSD4.2 section and SIGVOID above
# t...@cl.cam.ac.uk tested on Ultrix 3.1C-0
# HP-UX 7.0: Do NOT use -O
# (known broken, try sc's boolean operators if you wish)
#
# **** SYSV curses bugs... ****
# Try setting IDLOKBAD to fix (with an empty spreadsheet):
# a) Redrawing the bottom half of the screen when you
# move between row 9 <-> 10
# b) the highlighted row labels being trash when you
# move between row 9 <-> 10
# c) On an xterm on Esix Rev. D+ from eating lines
# -goto (or move) a few lines (or more) past the bottom
# of the screen, goto (or move) to the top line on the
# screen, move upward and the current line is deleted, the
# others move up even when they should not, check by
# noticing the rows become 2, 3, 40, 41, 42... (etc).
# Known systems/terminfos w/ curses problems:
# {Esix Rev. D+, AT&T SysV3.2.1}:at386-m,xterm, HP-UX7.0:(not sure)
IDLOKBAD=-DIDLOKBAD
#IDLOKBAD=
# If moving right off the screen causes the screen to not redraw
# properly, define RIGHT_CBUG to get around a curses problem on some
# boxes, this forces screen redraws when going right off the screen
#RIGHTBUG=
RIGHTBUG=-DRIGHT_CBUG
# IF you have problems w/ your yacc try bison, Berkeley yacc, or
# some other yacc. Some systems don't allow you to
# increase the number of terminals (mostly AT&T), SCO's does though.
YACC=yacc
#YACC=bison -y
# Command to use to make temporary copies of some source files.
LN=ln
#LN=ln -s
#LN=cp
#### SYSTEM DEFINES ####
# Use this for system AIX V3.1
CFLAGS= -O -DSYSV2 -DCHTYPE=int -DNLS
#LDFLAGS=
LIB=-lm -lPW -lcurses
# Use this for system V.2 (includes: HP-UX 7.05, UNIXPC)
#CFLAGS= -O -DSYSV2
#LDFLAGS=
#LIB=-lm -lPW -lcurses
# with gcc on a Sequent also use:
#CC=att gcc
#CFLAGS= -DSYSV2 -g -pipe -traditional
# Use this for system V.3
#CFLAGS= -DSYSV3 -O
#LDFLAGS= -s
#LIB=-lm -lcurses -lPW
# with gcc also use:
#CC=gcc
#CFLAGS= -DSYSV3 -O -pipe -traditional
#YACC=bison -y
# Use this for system V.4
#CFLAGS= -DSYSV4 -DSYSV3 -O
#LDFLAGS= -s
#LIB=-lm -lcurses -lgen
# with gcc also use:
#CC=gcc
#CFLAGS= -DSYSV3 -O -pipe
# Microport
#CFLAGS= -DSYSV2 -O -DUPORT -Ml
#LDFLAGS=-Ml
#LIB=-lm -lcurses -lPW
# Use this for BSD 4.2
#CFLAGS= -O -DBSD42
#LDFLAGS=
#LIB=-lm -lcurses -ltermcap
# Use this for Sequent boxes
#CC=atscc
#CFLAGS=-O -DBSD42
#LDFLAGS=
#LIB=-lm -lcurses -ltermcap
#PSCLIB=-lseq
# with gcc also use:
#CC=gcc
#CFLAGS= -O -DBSD42 -pipe
# Use this for BSD 4.3
#CFLAGS= -O -DBSD43
#LDFLAGS=
#LIB=-lm -lcurses -ltermcap
# Use this for SunOS 4.X if you have the System V package installed.
# This will link with the System V curses which is preferable to the
# BSD curses (especially helps scrolling on slow (9600bps or less)
# serial lines).
#
# Be sure to define SIGVOID and RE_COMP above.
#
#CC=/usr/5bin/cc
#CFLAGS= -O -DSYSV3
#LDFLAGS=
#LIB=-lm -lcurses
# Use this for system III (XENIX)
#CFLAGS= -O -DSYSIII
#LDFLAGS= -i
#LIB=-lm -lcurses -ltermcap
# Use this for XENIX Version 2.3
#CFLAGS= -O -SSYSIII -DXENIX2_3
#LDFLAGS= -i
#LIB=-lm -lcurses -ltermcap
# Use this for VENIX
#CFLAGS= -DVENIX -DBSD42 -DV7
#LDFLAGS= -z -i
#LIB=-lm -lcurses -ltermcap
# For SCO Unix V rel. 3.2.0
# -compile using rcc, cc does not cope with gram.c
# -edit /usr/include/curses.h, rcc does not understand #error
# -link: make CC=cc, rcc's loader gets unresolved __cclass, __range
# (rather strange,?)
#CC=rcc
#CC=cc
#CC=gcc -fstrength-reduce
#SIGVOID=-DSIGVOID
#CFLAGS= -O -DSYSV3
#LDFLAGS=
#LIB=-lm -lcurses -ltinfo -lPW
#YACC=yacc -Sm10000
# Use this for SCO Unix 3.2.2 and ODT 1.1
#CC=cc
#CFLAGS= -O -DSYSV3
#LDFLAGS=
#LIB=-lm -lcurses -lPW -lmalloc -lc_s
#YACC=yacc -Sm10000
# Use this for MS-DOS, Microsoft C 5.1 and NDMAKE
#CC=cl
#CFLAGS= -AL -O -Fo$*.o
#LDFLAGS=/noi /st:0x4000
#LIB=lcurses
#YACC=bison -y
#
#.SUFFIXES : .o .c
#.c.o:
# $(CC) $(CFLAGS) -c $*.c
# All of the source files
SRC=Makefile cmds.c crypt.c eres.sed format.c gram.y help.c interp.c \
lex.c psc.c range.c sc.c sc.h screen.c sres.sed version.c \
vi.c vmtbl.c xmalloc.c
# The objects
OBJS=cmds.o crypt.o format.o gram.o help.o interp.o lex.o range.o sc.o \
screen.o version.o vi.o vmtbl.o xmalloc.o
# The documents in the Archive
DOCS=CHANGES README sc.doc psc.doc tutorial.sc VMS_NOTES torev build.com
all: $(name) p$(name) $(name)qref
$(name):$(PAR) $(OBJS)
$(CC) ${LDFLAGS} ${OBJS} ${LIB} -o $(name)
# Alternative for MS-DOS
#$(name): $(OBJS)
# link ${LDFLAGS} ${OBJS},$(name),,${LIB};
gram.c: gram.y
$(YACC) -d gram.y; mv y.tab.c gram.c
y.tab.h: gram.y
# Alternative for MS-DOS
#gram.c: gram.y
# $(YACC) -d gram.y
# mv y_tab.c gram.c
#
#y_tab.h: gram.y
p$(name): psc.c pvmtbl.o pxmalloc.o
$(CC) $(CFLAGS) ${LDFLAGS} -o p$(name) psc.c pvmtbl.o pxmalloc.o ${PSCLIB}
qhelp.c: help.c
-rm -f qhelp.c
${LN} help.c qhelp.c
$(name)qref: qhelp.c sc.h
$(CC) $(CFLAGS) $(LDFLAGS) -DQREF -DSCNAME=\"$(name)\" -o $(name)qref qhelp.c
pvmtbl.c: vmtbl.c
-rm -f pvmtbl.c
${LN} vmtbl.c pvmtbl.c
pvmtbl.o: sc.h pvmtbl.c
$(CC) ${CFLAGS} -c -DPSC pvmtbl.c
pxmalloc.c: xmalloc.c
-rm -f pxmalloc.c
${LN} xmalloc.c pxmalloc.c
# Objects
cmds.o: cmds.c sc.h
$(CC) ${CFLAGS} ${DOBACKUPS} ${CRYPT} -c cmds.c
crypt.o: crypt.c sc.h
$(CC) ${CFLAGS} ${CRYPT} ${DOBACKUPS} -c crypt.c
format.o: format.c
help.o: help.c sc.h
$(CC) ${CFLAGS} ${CRYPT} -c help.c
qhelp.o: qhelp.c sc.h
$(CC) ${CFLAGS} ${CRYPT} -c qhelp.c
interp.o: interp.c sc.h
$(CC) ${CFLAGS} ${IEEE_MATH} ${SIGVOID} ${RINT} ${RE_COMP} ${REGCMP} ${FMOD} -c interp.c
gram.o: sc.h y.tab.h gram.c
$(CC) ${CFLAGS} -c gram.c
sed < gram.y > experres.h -f eres.sed
sed < gram.y > statres.h -f sres.sed
lex.o: sc.h y.tab.h gram.o lex.c
$(CC) ${CFLAGS} ${SIMPLE} ${IEEE_MATH} ${SIGVOID} ${NONOTIMEOUT} -c lex.c
pxmalloc.o: sc.h pxmalloc.c
$(CC) ${CFLAGS} -c -DPSC pxmalloc.c
range.o: range.c sc.h
sc.o: sc.h sc.c
$(CC) ${CFLAGS} ${DFLT_PAGER} ${SIGVOID} ${SAVE} -c sc.c
screen.o: sc.h screen.c
$(CC) ${CFLAGS} ${BROKENCURSES} ${IDLOKBAD} ${INTERNATIONAL} ${SIGVOID} -c screen.c
vi.o: vi.c sc.h
# other stuff
clean:
rm -f *.o *res.h
...
read more »
Chin Fang
Hi,
How can I get my nice spreadsheet built using the 'sc' program to print? When
I try, the best I get is line after line of label A0 = "such and so" and so
forth. Can it print out a copy of what I see on the screen?
Thanks
--
Genuine E-mail From the Land of the Everlasting Icicle...
Bob Liesenfeld
3. Spreadsheet 'sc' source code wanted
4. Reading is much more interesting than TV (1296/1708)
5. spreadsheet sc won't run on RH 5.1
6. passing commad line params to make?
8. After adding public RSA key to authorized_keys password still requested at logon
9. who maintains sc spreadsheet?
12. Why can't KA9Q telnet to AIX 3.1?
13. SC spreadsheet, where is it?