From 61c472a167325b115691037d2c08f8d74ed46b43 Mon Sep 17 00:00:00 2001 From: mainzelm Date: Wed, 19 Dec 2001 09:39:55 +0000 Subject: [PATCH] Added porting.txt and let configure refer to it --- configure.in | 2 +- doc/porting.txt | 44 ++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 45 insertions(+), 1 deletion(-) create mode 100644 doc/porting.txt diff --git a/configure.in b/configure.in index b824b72..177ef39 100644 --- a/configure.in +++ b/configure.in @@ -320,7 +320,7 @@ AC_INIT(c/scheme48vm.c) dir=generic echo "WARNING: " echo "WARNING: Using generic configuration." - echo "WARNING: See doc/install.txt for more information." + echo "WARNING: See doc/porting.txt for more information." echo "WARNING: " ;; esac diff --git a/doc/porting.txt b/doc/porting.txt new file mode 100644 index 0000000..c53f73b --- /dev/null +++ b/doc/porting.txt @@ -0,0 +1,44 @@ +What to do when your system isn't supported + +First of all: DON'T PANIC. It's easy to get scsh to work on a new +system. Besides, you'll be a hero to the masses waiting for the Scheme +Shell on your platform. There is a sample "generic" system in +scsh/generic which you can copy as a base to modify. The modifications +mainly involve pulling some constants in from C header files and hacking +a few lines of C based on your standard I/O internals. I know, its C and +all, together we can survive. If you need some hand holding, feel free +to write to the scsh mailing list at scsh@zurich.ai.mit.edu. + +stdio_dep.c: +This is the one C file you have to actually deal with. The code in here +defines two or three simple operations on stdio FILE*'s that are not +part of the stdio.h interface. The main things it needs to be able +to do is see if there is input ready, how much is ready, and to change +the file descriptor associated with a FILE*. Usually how to do this +is fairly obvious from . Check out the other platforms for ideas. + +errno.scm: +Scheme defines for C header values found in . + +fdflags.scm: +Scheme defines for C header values found in . + +netconst.scm: +Scheme defines for C header values found in socket and network includes. + +signals.scm: +Scheme defines for C header values found in . + +waitcodes.scm: +Scheme defines for C header values and macros found in . + +packages.scm: +Scheme48 module definitions for the values in the above scheme files. + +load-scsh.scm: +The script of commands and expressions used to build scsh. + +After you've hacked these files together, it'd be nice to also hack +config.scsh to support your new machine. Run config.guess to see what it +thinks your machine is. Then, send us the info, and we'll make sure it +gets in a future release. (That means you, Jonathan.)