home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 22 gnu
/
22-gnu.zip
/
fweb140x.zip
/
os2_diffs.txt
< prev
Wrap
Text File
|
1996-02-27
|
7KB
|
142 lines
This is a quickshot os/2 port of fweb-1.40, as found on ctan sites.
I am documenting how I got these binaries, and I include the files that
changed, so one can re-do it (e.g. for newer emx versions, but these
binaries should run fine with them). The binaries and the docs are
included, so in a way this is ready to run, but you will need the sources
if you want to redo any of this.
Also, since I compiled the code with emx/gcc you will need to have
installed at least the emx runtime library (emxrt.zip) version 0.9a or
a later version.
Making bootstrap for fweb-1.40 os/2 from UNIX on 386dx40:
* First: In case you have working versions of ftangle and
fweave version 1.30 on your system, make a backup copy and keep
it, say, rename them to ftangle130.exe, fweave130.exe.
Tested only under tcsh / sh / ksh for OS/2, with gnu utilities like
mv, touch, rm installed in the path, and Eberhard Matthes great
development environment emx09a, which containes an OS/2 port of gcc
(*the* OS/2 port) and then some.
* added SHELL to Makefile (otherwise ECHO gets interpreted by make/ cmd)
* changed custom.h and defaults.mk from boot/unix/ansi:
put in extension .exe, and such
for some reason the makefile compiled to a.out files, which even
if renamed to *.exe say 'Cant be run in an os/2 session'
while manual compilation works:
E:/tmp/test/fweb-1.40/web> gcc ftangle.o common.o eval.o \
macs.o ratfor.o reserved.o style.o termcap0.o
Anyway, editiing the problem seemed the better idea:
* ftangle.c: changed lines with MV to "MV" (check web file!)
it compiles, but still gives me:
make bootstrap
touch ./typedefs.hweb ./*.h ./*.c
gcc -c -s -Dconst= ./ftangle.c
./ftangle.c: In function `not_unique':
./ftangle.c:2704: warning: passing arg 4 of `qsort' from incompatible pointer type
./ftangle.c: In function `see_dup':
./ftangle.c:2744: warning: passing arg 4 of `qsort' from incompatible pointer type
* Same in
gcc -c -s -Dconst= ./reserved.c
./reserved.c: In function `see_reserved':
./reserved.c:2094: warning: passing arg 4 of `qsort' from incompatible pointer type
gcc -c -s -Dconst= ./style.c
./style.c: In function `prn_codes':
./style.c:902: warning: passing arg 4 of `qsort' from incompatible pointer type
./style.c: In function `see_style':
./style.c:1261: warning: passing arg 4 of `qsort' from incompatible pointer type
* Now, after bootstrap, I edit the file ftangle.web also, to change MV to
"MV", and then make the full run with:
E:/tmp/test/fweb-1.40/web> make all
ftangle ./ftangle -uANSI -mANSI -mGCC -=ftangle.c
This is FTANGLE [IBM OS/2 2.x (ANSI/emx) version 1.40 (October 30, 1993)].
Adapted to OS/2 by S. A. Deutscher (sad@utk.edu), 26-Feb-1996
Reading ./fweb.sty...
Reading ./ftangle.web... *1(ftangle.c)
WARNING: "ANSI" is already undefined. (Input l. 14 in ./ftangle.web.)
(./typedefs.hweb (./formats.hweb)) (./val.hweb) (./macs.hweb) *40 *70 (./texts.
hweb *76) *85 (./stacks.hweb *88) *113 *115 (./trunc.hweb) *179 (./t_codes.hweb)
*192 *222 *263 *305 *306
Writing the output file(s): ....500....1000....1500....2000....2500....3000....
3500....4000....4500....5000....5500....6000....6500....7000....7500....8000....
8500....9000....9500....10000.
Done.
CPU = 10.2 sec.; REAL = 11.0 sec. CPU/REAL = 93.2%.
[FTANGLE: Did you see the warning message(s) above?]
gcc -c -s -O2 -Dconst= ./ftangle.c
And I have no clue what this ANSI is already undefined means ...
But the warnings get fewer ..
[FTANGLE: Did you see the warning message(s) above?]
gcc -c -s -O2 -Dconst= ./ftangle.c
./ftangle.web: In function `not_unique':
./ftangle.web:2114: warning: passing arg 4 of `qsort' from incompatible pointer
type
./ftangle.web: In function `see_dup':
./ftangle.web:2155: warning: passing arg 4 of `qsort' from incompatible pointer
type
gcc -g -o ftangle.exe ftangle.o \
common.o eval.o macs.o ratfor.o\
reserved.o style.o termcap0.o\
-lm
gcc -g -o fweave.exe fweave.o \
common.o prod.o ratfor0.o\
reserved.o style.o termcap0.o\
-lm
* It seems that there are differences between the edited bootstrap version
of ftangle.c.os2.bootstrap and the one that then was generated with
the ftangle.exe in the first run, now ftangle.c (with OS/2 stuff). Oh well.
Both work.
* Copy man page from manual/fweb.1 to man1 directory, in case you use that.
* make or print the manual in manual/fwebman.tex, even though it is frozen
at version 1.30
* copy the files manual/fweb.info* to the GNU info directory, in case you
have GNU Info installed. the *.info files can be compressed using gzip -9;
GNU Info can still read them, as long as gzip is in the path. Edit
the directory file to include the fweb.info files.
These files will replace previousely installed info files for fweb v1.30,
so if you want to keep the old ones you'd have to do some editing to the
directory file and to the old fweb.info* files first.
* if you want a printed, tex-ed manual of the newer docs, run
tex fweb.texinfo
This requires texinfo.tex from the infotex package (hobbes, ctan) in your
TEXINPUT or TEXINPUTS path . In order to get the indexes right you'll
have to run tex twice. On a 386dx40 with 16MB of RAM, running the latest
OS/2 version of Eberhard Matthes emtex (from the December'95 HOBBES CD-ROM)
the 100 pages are generated in (2 \times) 57 seconds. If you have EmTeX
properly installed it will generate possibly missing fonts on the fly as
you try to print the file. To get going more easily, I have included the
files fweb.dvi as well as a postscript version of that file, obtained
with a run of the OS/2 port of dvips, v.5.58 (as found on CTAN and hobbes),
fweb.ps.
The dvi/ps versions of the old manual, fwebman.tex, can be obtained with
two tex runs (ignoring the errors my putting it in batch mode).
* Sorry, I don't know (yet) how to make diff files and all that nice
porting stuff, so I put this up as reproducable documentation of how the
binaries were obtained. I hope it helps someone , if it doesn't or if it
kills your dog, I am sorry, but I told you: NO WARRANTIES WHATSOEVER
implied.
* todo: make diffs, email to the author about the error messages
edit the web file.
* Nota bene: I just learned that ther is version 1.53 out now, so I'll try
that tonight. But still, 1.30 and 1.40 are useful by themselves.
Have fun. Stefan A. Deutscher (sad@utk.edu) 27-Feb-1996