| This is sam (not including samterm) from the 4th edition of Plan 9, |
| with changes so that it can be compiled under unix. |
| (Tested on Solaris 7 and Debian 3.0r1.) |
| |
| Some extra libraries are needed. First, fetch libutf-2.0 and libfmt-2.0 |
| from |
| http://pdos.lcs.mit.edu/~rsc/software/ |
| |
| (Beware that in libfmt/fmt.c there is a line that says: |
| 'u', __ifmt, /* in Plan 9, __flagfmt */ |
| Thus, sam will have to fmtinstall the other thing. Other ported programs |
| may have to do the same. The fmt library should probably print messages |
| about bad format characters to stderr, since no one seems to check the |
| return codes.) |
| |
| Compile and install those two libraries. |
| Set PREFIX in the Makefile to match, then compile sam. |
| |
| Your C compiler will emit many complaints of the form: |
| sam.c:496: warning: passing arg 1 of `bufread' from incompatible pointer type |
| |
| This is because the Plan 9 compiler has a slightly different (better, |
| ala Oberon) type system than ISO C. Popular compilers generate the right |
| code, so in an act of civil disobediance I changed just enough to get |
| it to compile, but left the type errors in. Now the next C standard can |
| adopt this extension, because at least one important C program uses it! |
| |
| -- Scott Schwartz, 4 July 2003 |
| |