home *** CD-ROM | disk | FTP | other *** search
- Path: sparky!uunet!spool.mu.edu!agate!doc.ic.ac.uk!sot-ecs!tpm
- From: tpm@ecs (TP Monks)
- Newsgroups: comp.sys.sgi
- Subject: Re: CRISP editor for IRIX 4.0.X
- Message-ID: <14276@ecs.soton.ac.uk>
- Date: 25 Jan 93 09:50:55 GMT
- References: <1993Jan19.190155.21652@ramon.bgu.ac.il>
- Sender: news@ecs.soton.ac.uk
- Lines: 418
- Nntp-Posting-Host: elstar
-
- mary@chen.bgu.ac.il (Marina Markus) writes:
-
- >Hello !
-
- >I seek advice for installing the CRISP editor at our Silicon Graphics
- >workstation. I've tried different configurations, but didn't manage
- >to compile CRISP source files.
-
- >If there is anybody with CRISP successfully working on his SG, please
- >tell me which "machihe.h" and "s-machine" files you use.
-
- The following used to work pre-IRIX4.0.5. I haven't tried compiling
- since then. You may need to add -cckr to the CFLAGS somewhere.
- My version occasionally crashes, but its infrequent enough to really bug
- me since crisp is far-and-away the best editor available (as is Brief
- for PSs).
-
- On the down side:
- I spent quite some effort telling the writers how to get it to compile on
- SGI machines since they said they were releasing a new version, and even
- sent them some of *my* disks with code on. When the new release finally
- appeared it turned out that there was a fairly high price for it.
- This pissed me off quite considerably, and so I asked for my disks back
- which of course never re-appeared. To ask for help in this way without
- making it clear that its for a non shareware product was wrong.
-
- Needless to say, I bet the new version doesn't crash !
-
- Tim
-
-
- ******************************************************
- s-machine.h
- ******************************************************
-
- #! /bin/sh
- # Machine dependent environment variables to control
- # making of CRISP sources.
- #
- # This file is for generic System V systems. It has been tested under
- # Interactive Unix V.3 rel 2.2. If you have a pre-V.3 system (i.e. without
- # shared libraries) then you should comment out the SHLIB= definition
- # below.
- #
- SHLIB="-lc -lbsd -lsun -lgen"
- ########
- # Uncomment out the following line if you don't want the floating point
- # library to be included. This disables the sin(), cos(), tan(), etc
- # functions but otherwise doesn't affect crisp (except the floating
- # point calculator).
- #NO_FLOAT_MATH=-DNO_FLOAT_MATH
- ########
- # Select one of following for your system.
- # another tpm hack... ld complains about -systype ...
- CC="cc"
- #CC="cc -systype sysv"
- #CC="gcc -ansi -W -Wall -pedantic"
- ########
- # Select one of following for your system.
- #G=-g; export G
- G=-O; export G
- ########
- DIR=`pwd`
- PATH=$DIR:$DIR/crunch:$PATH
- export SHLIB CC PATH NO_FLOAT_MATH
-
-
- ******************************************************
- machine.h
- ******************************************************
-
- /************************************************************************
- * *
- * CRISP - Custom Reduced Instruction Set Programmers Editor *
- * *
- * (C) Paul Fox, 1989, 1991 *
- * *
- * File: machine.h *
- * *
- * This file contains the #defines necessary to configure different *
- * machine architectures. *
- * *
- ************************************************************************/
-
- # define CR_ACORN 0 /* Acorn running Risc IX */
- # define CR_AIX_3 0 /* AIX v3 -- not tested. */
- # define CR_DOS 0 /* MS-DOS C5.1 and OS2 */
- # define CR_SUN_OS3 0 /* Sun running SunOS 3.x */
- # define CR_SUN_OS40 0 /* Sun running SunOS 4.0 */
- # define CR_SUN_OS41 0 /* Sun running SunOS 4.1 */
- # define CR_SYSV 1 /* Generic System V. */
- # define CR_SYSV_3_2 0 /* Generic System V.3.2 */
- # define CR_SYSV_32_PTY 0 /* Generic System V.3.2 with PTY*/
- # define CR_VMS 0 /* VMS 4.7 and above. */
- # define CR_XENIX 0 /* Xenix 2.2 and above. */
-
- /************************************************************************
- * *
- * The following describes the various parameters which control *
- * compilation of CRISP. After the comments are separate *
- * sections for the different machine/operating system *
- * conbinations already supported. If you are producing your own *
- * description then you should first try to determine whether *
- * your machine is a mostly System V variant or BSD variant. *
- * *
- * BSD This is used to indicate that the system is *
- * more a BSD derivative than a System V. It *
- * affects certain features which may actually *
- * only be true of SunOS. *
- * *
- * CANNOT_UNLINK_OPEN_FILES *
- * System doesnt support Unix unlink() on an open *
- * file semantic. *
- * *
- * DIRSIZ_DEFINED This should be define'd if the POSIX directory *
- * access include files are wrong. (Are they wrong *
- * or right ? - I'm not sure - basically if you *
- * have problems with this defined try undeffing it. *
- * *
- * EGA43 If this is defined, then code for supporting *
- * the EGA in 43 line mode on a PC is compiled in. *
- * This is only supported for Unix V.3.2. *
- * *
- * HAVE_MOUSE Define this if you want the mouse code compiled *
- * in. (Only do this if the mouse code is *
- * supported for your system). *
- * *
- * HAVE_PTY This is used to compline in the code for *
- * process buffers. If your machine has the *
- * Berkeley /dev/pty driver, then define this. *
- * Otherwise CRISP will try and used pipes. *
- * *
- * HAVE_SGTTY System supports old style terminal interface. *
- * *
- * HAVE_SIGINTERRUPT System supports Sun compatible siginterrupt() *
- * system call. *
- * *
- * HAVE_SIGSETMASK The system call sigsetmask is defined. TRUE *
- * under some versions of SunOS. Used for job *
- * control. *
- * *
- * HAVE_TERMIO System supports old style terminal interface *
- * System V terminal interface. *
- * *
- * HAVE_TERMIOS System supports POSIX style terminal interface. *
- * *
- * HAVE_WAITPID System has System V (POSIX) waitpid() call with *
- * <sys/wait.h> to get the definitions. *
- * On systems which dont have this, CRISP may hang *
- * if we get SIGCHLD signals when we're not *
- * expecting them. Please read comment in def.h *
- * about why we don't actually include the *
- * include file. *
- * *
- * LINEFEED_DOES_CR Defined on systems where \n outputs a \r as well*
- * *
- * MONOCASE_FILENAMES Define this if operating system ignores case *
- * in filenames. *
- * *
- * NO_FLOAT_MATH Define this if you dont want the floating *
- * point primitives to be included, i.e. sin(), *
- * cos(), etc. (You still have access to raw *
- * floating point). This setting should be machine *
- * independent so you shoudl check your s-machine *
- * file first. *
- * *
- * NO_SYS_DIR_H The file <sys/dir.h> does not exist. *
- * *
- * ONLY_ONE_EXTENSION System only allows one '.' in filename. *
- * *
- * MALLOC This tells the code that there is no *
- * <malloc.h> file and that the malloc() library *
- * may behave in strange ways which may force us *
- * to optimise our usage. It is really only *
- * necessary if your system doesn't support the *
- * SVID mallopt() call. *
- * *
- * OPCODE This is used to control the use of the enum *
- * OPCODE typedef in the list.h. It doesn't matter *
- * if you set this to 'int' as below, but if it is *
- * undefined then it is easier to debug the CRISP *
- * lisp-code. Older Unix C compilers do not treat *
- * enum's and int's as the same type and will *
- * complain during compilation. *
- * *
- * SELECT SELECT should be defined if we can do a *
- * select() on the keyboard and on the process *
- * pty's/pipes. This will tend to be true on BSD *
- * systems, and Sys V.4. Alas, poll() isn't *
- * generally applicable on V.3 because the *
- * standard pipe and tty drivers are streams *
- * modules. *
- * *
- * SPAWN System supports a 'spawn' primitive rather *
- * than fork/exec. *
- * *
- * SUN Operating system is SunOS 3.x or SunOS 4.x. *
- * *
- * SYSV Operating is a System V derivative. *
- * *
- * U_CHAR CRISP defines a typedef called u_char. Some *
- * Unix systems also define this type in one of *
- * the system header files (<sys/types.h>) which *
- * causes a compilation error. If you have this *
- * typedef in your system header file, then *
- * #define U_CHAR. *
- * *
- * VERSION Set this to a number representing the operating *
- * system version number. Used for major *
- * differences in working, eg Xenix versions. *
- * *
- * WANT_SYS_SOCKET_H Interactive Unix wants <sys/socket.h> when *
- * using the select() system call. *
- * *
- * WANT_GETCWD This define causes us to load our own getcwd() *
- * function. The standard Unix/Xenix one works *
- * by forking a '/bin/pwd' process and reading *
- * the output from it. This is not only bloody *
- * awful, but causes problems with process buffers *
- * when the sub-process dies. (We get an unwanted *
- * SIGCHLD). *
- * *
- * WINDOW_SIZE_SUPPORTED *
- * Define this if system supports TIOCGWINSZ *
- * ioctl to get size of pty window. *
- * *
- * WORD_SIZE_16 TRUE for 16 bit machines. It simply restricts *
- * the size of chunks read in from input files. *
- * *
- ************************************************************************/
-
- # if CR_AIX_3
- /***********************************************/
- /* This entry not tested but based on */
- /* updates I received for v1.9 & v2 by */
- /* Warren Jones */
- /***********************************************/
- # define DIRSIZ_DEFINED
- # define GOT_STDLIB
- # define HAVE_PTY
- # define HAVE_TERMIO
- # define SELECT
- # define SYSV
- # define U_CHAR
- # define VERSION 31
- # define WANT_GETCWD
- # define WINDOW_SIZE_SUPPORTED
- # endif
-
- # if CR_DOS
- # define CANNOT_UNLINK_OPEN_FILES
- # define DIRSIZ_DEFINED
- # define FOPEN_R_BINARY "rb"
- # define FOPEN_W_BINARY "wb"
- # define LINEFEED_DOES_CR
- # define MONOCASE_FILENAMES
- # define OPEN_R_BINARY O_BINARY
- # define OPEN_W_BINARY O_BINARY
- # define SYSV
- # define ONLY_ONE_EXTENSION
- # define SPAWN
- # define WORD_SIZE_16
- # define GOT_STDLIB
- # endif
-
- # if CR_SUN_OS3
- /***********************************************/
- /* This entry has not been verified, and */
- /* is subject to removal. */
- /***********************************************/
- # define SUN
- # define BSD
- # define HAVE_SIGINTERRUPT
- # define DIRSIZ_DEFINED
- # define OPCODE int
- /*# define HAVE_PTY *//* Not tried under SunOS 3.x */
- # define WINDOW_SIZE_SUPPORTED
- # define SELECT
- # define U_CHAR
- # define WANT_GETCWD
- # define HAVE_SGTTY
- # endif
-
- # if CR_ACORN
- # define BSD
- # define HAVE_PTY
- # define HAVE_SGTTY
- # define HAVE_SIGSETMASK
- # define NO_SYS_DIR_H
- # define SELECT
- # define SUN
- # define WANT_GETCWD
- # define WINDOW_SIZE_SUPPORTED
- # define U_CHAR
- # endif
- # if CR_SUN_OS40
- # define BSD
- # define DIRSIZ_DEFINED
- # define HAVE_PTY
- # define HAVE_SIGINTERRUPT
- # define HAVE_SIGSETMASK
- # define HAVE_TERMIO
- # define SELECT
- # define SUN
- # define U_CHAR
- # define WANT_GETCWD
- # define WINDOW_SIZE_SUPPORTED
- # endif
-
- # if CR_SUN_OS41
- # define BSD
- # define DIRSIZ_DEFINED
- # define GOT_STDLIB
- # define HAVE_PTY
- # define HAVE_SIGINTERRUPT
- # define HAVE_SIGSETMASK
- # define SELECT
- # define SUN
- # define WINDOW_SIZE_SUPPORTED
- # define WANT_GETCWD
- # define HAVE_TERMIO
- # define HAVE_WAITPID
- # define U_CHAR
- # endif
-
- # if CR_SYSV
- # define SYSV
- # define HAVE_TERMIO
- # define WANT_GETCWD
- # define GOT_STDLIB
- /* the following are mods - tpm 8/91 */
- # define HAVE_MOUSE
- # define HAVE_WAITPID
- # define SELECT
- # define U_CHAR
- # define DIRSIZ_DEFINED
- # endif
-
- # if CR_SYSV_3_2
- # define SYSV
- # define WANT_GETCWD
- # define HAVE_TERMIO
- # define EGA43
- # define GOT_STDLIB
- # endif
-
- /**********************************************************************/
- /* Following entry works for Interactive Unix V.3.2 with TCP */
- /* support. */
- /**********************************************************************/
- # if CR_SYSV_32_PTY
- # define EGA43
- # define GOT_STDLIB
- # define HAVE_MOUSE
- # define SELECT
- # define SYSV
- # define WANT_GETCWD
- # define HAVE_PTY
- # define HAVE_TERMIO
- # define HAVE_WAITPID
- # define WANT_SYS_SOCKET_H
- # define U_CHAR
- # endif
-
- # if CR_VMS
- # define VMS
- # define DIRSIZ_DEFINED
- # define MALLOC
- # define CANNOT_UNLINK_OPEN_FILES
- # endif
-
- # if CR_XENIX
- # define WANT_GETCWD
- # define SYSV
- # define OPCODE int
- # define HAVE_TERMIO
- # define VERSION 23
- # if VERSION < 23
- # define DIRSIZ_DEFINED
- # else
- # define SELECT
- # define PTY
- # endif
- # endif
-
- /**********************************************************************/
- /* This section gives some default values to various definitions. */
- /**********************************************************************/
-
- # if !defined(OPEN_W_BINARY)
- # define OPEN_W_BINARY 0
- # define OPEN_R_BINARY 0
- # endif
- # if !defined(FOPEN_W_BINARY)
- # define FOPEN_W_BINARY "w"
- # define FOPEN_R_BINARY "r"
- # endif
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- --
- -----------------------------------------------------------------------------
- Tim Monks Vision, Speech and Signal Processing
- tpm@ecs.soton.ac.uk Southampton University
- Tel: +44 (703) 592774 Fax: +44 (703) 592895
-