home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 22 gnu / 22-gnu.zip / fweb140x.zip / os2_diffs.txt < prev   
Text File  |  1996-02-27  |  7KB  |  142 lines

  1.  
  2. This is a quickshot os/2 port of fweb-1.40, as found on ctan sites.
  3.  
  4. I am documenting how I got these binaries, and I include the files that
  5. changed, so one can re-do it (e.g. for newer emx versions, but these
  6. binaries should run fine with them). The binaries and the docs are
  7. included, so in a way this is ready to run, but you will need the sources
  8. if you want to redo any of this.
  9.  
  10. Also, since I compiled the code with emx/gcc you will need to have 
  11. installed at least the emx runtime library (emxrt.zip) version 0.9a or 
  12. a later version. 
  13.  
  14.  
  15. Making bootstrap for fweb-1.40 os/2 from UNIX on 386dx40:
  16.  
  17. * First: In case you have working versions of ftangle and
  18.   fweave version 1.30 on your system, make a backup copy and keep
  19.   it, say, rename them to ftangle130.exe, fweave130.exe.
  20.  
  21. Tested only under tcsh / sh / ksh for OS/2, with gnu utilities like
  22. mv, touch, rm installed in the path, and Eberhard Matthes great
  23. development environment emx09a, which containes an OS/2 port of gcc
  24. (*the* OS/2 port) and then some.
  25.  
  26. * added SHELL to Makefile (otherwise ECHO gets interpreted by make/ cmd)
  27. * changed custom.h and defaults.mk from boot/unix/ansi:
  28.   put in extension .exe, and such
  29.   for some reason the makefile compiled to a.out files, which even
  30.   if renamed to *.exe say 'Cant be run in an os/2 session'
  31.   while manual compilation works:
  32.   E:/tmp/test/fweb-1.40/web> gcc ftangle.o common.o eval.o \
  33.                           macs.o ratfor.o reserved.o style.o termcap0.o
  34.  
  35.   Anyway, editiing the problem seemed the better idea:
  36. * ftangle.c: changed lines with MV to "MV"   (check web file!)
  37.   it compiles, but still gives me:
  38.    make bootstrap
  39.    touch ./typedefs.hweb ./*.h ./*.c
  40.    gcc -c -s  -Dconst=  ./ftangle.c
  41.     ./ftangle.c: In function `not_unique':
  42.     ./ftangle.c:2704: warning: passing arg 4 of `qsort' from incompatible pointer type
  43.     ./ftangle.c: In function `see_dup':
  44.     ./ftangle.c:2744: warning: passing arg 4 of `qsort' from incompatible pointer type
  45.  
  46. * Same in 
  47.    gcc -c -s  -Dconst=  ./reserved.c
  48.     ./reserved.c: In function `see_reserved':
  49.     ./reserved.c:2094: warning: passing arg 4 of `qsort' from incompatible pointer type
  50.    gcc -c -s  -Dconst= ./style.c
  51.     ./style.c: In function `prn_codes':
  52.     ./style.c:902: warning: passing arg 4 of `qsort' from incompatible pointer type
  53.     ./style.c: In function `see_style':
  54.     ./style.c:1261: warning: passing arg 4 of `qsort' from incompatible pointer type
  55.  
  56.  
  57.  
  58. * Now, after bootstrap, I edit the file ftangle.web also, to change MV to
  59. "MV", and then make the full run with:
  60.  
  61. E:/tmp/test/fweb-1.40/web> make all
  62. ftangle ./ftangle -uANSI -mANSI   -mGCC  -=ftangle.c
  63. This is FTANGLE [IBM OS/2 2.x (ANSI/emx) version 1.40 (October 30, 1993)].
  64. Adapted to OS/2 by S. A. Deutscher (sad@utk.edu), 26-Feb-1996
  65. Reading ./fweb.sty...
  66. Reading ./ftangle.web... *1(ftangle.c)
  67. WARNING: "ANSI" is already undefined.  (Input l. 14 in ./ftangle.web.)
  68.  (./typedefs.hweb (./formats.hweb)) (./val.hweb) (./macs.hweb) *40 *70 (./texts.
  69.  hweb *76) *85 (./stacks.hweb *88) *113 *115 (./trunc.hweb) *179 (./t_codes.hweb)
  70.   *192 *222 *263 *305 *306
  71.   Writing the output file(s):  ....500....1000....1500....2000....2500....3000....
  72.   3500....4000....4500....5000....5500....6000....6500....7000....7500....8000....
  73.   8500....9000....9500....10000.
  74.   Done.
  75.   CPU = 10.2 sec.; REAL = 11.0 sec.  CPU/REAL = 93.2%.
  76.   [FTANGLE:  Did you see the warning message(s) above?]
  77.   gcc -c -s -O2  -Dconst=  ./ftangle.c
  78.  
  79. And I have no clue what this ANSI is already undefined means ...
  80. But the warnings get fewer ..
  81.  
  82. [FTANGLE:  Did you see the warning message(s) above?]
  83. gcc -c -s -O2  -Dconst=  ./ftangle.c
  84. ./ftangle.web: In function `not_unique':
  85. ./ftangle.web:2114: warning: passing arg 4 of `qsort' from incompatible pointer
  86. type
  87. ./ftangle.web: In function `see_dup':
  88. ./ftangle.web:2155: warning: passing arg 4 of `qsort' from incompatible pointer
  89. type
  90. gcc -g -o ftangle.exe ftangle.o  \
  91. common.o eval.o macs.o ratfor.o\
  92. reserved.o  style.o termcap0.o\
  93. -lm
  94. gcc -g -o fweave.exe fweave.o  \
  95. common.o prod.o ratfor0.o\
  96. reserved.o  style.o termcap0.o\
  97. -lm
  98.  
  99.  
  100. * It seems that there are differences between the edited bootstrap version
  101. of ftangle.c.os2.bootstrap and the one that then was generated with
  102. the ftangle.exe in the first run, now ftangle.c (with OS/2 stuff). Oh well.
  103. Both work.
  104.  
  105. * Copy man page from manual/fweb.1 to man1 directory, in case you use that.
  106. * make or print the manual in manual/fwebman.tex, even though it is frozen
  107.   at version 1.30
  108. * copy the files manual/fweb.info* to the GNU info directory, in case you
  109.   have GNU Info installed. the *.info files can be compressed using gzip -9;
  110.   GNU Info can still read them, as long as gzip is in the path. Edit
  111.   the directory file to include the fweb.info files.
  112.   These files will replace previousely installed info files for fweb v1.30,
  113.   so if you want to keep the old ones you'd have to do some editing to the
  114.   directory file and to the old fweb.info* files first.
  115. * if you want a printed, tex-ed manual of the newer docs, run 
  116.   tex fweb.texinfo
  117.   This requires texinfo.tex from the infotex package (hobbes, ctan) in your 
  118.   TEXINPUT or TEXINPUTS path . In order to get the indexes right you'll 
  119.   have to run tex twice. On a 386dx40 with 16MB of RAM, running the latest
  120.   OS/2 version of Eberhard Matthes emtex (from the December'95 HOBBES CD-ROM)
  121.   the 100 pages are generated in (2 \times) 57 seconds. If you have EmTeX
  122.   properly installed it will generate possibly missing fonts on the fly as
  123.   you try to print the file. To get going more easily, I have included the
  124.   files fweb.dvi as well as a postscript version of that file, obtained
  125.   with a run of the OS/2 port of dvips, v.5.58 (as found on CTAN and hobbes),
  126.   fweb.ps.
  127.   The dvi/ps versions of the old manual, fwebman.tex, can be obtained with 
  128.   two tex runs (ignoring the errors my putting it in batch mode).
  129.  
  130. * Sorry, I don't know (yet) how to make diff files and all that nice 
  131.   porting stuff, so I put this up as reproducable documentation of how the
  132.   binaries were obtained. I hope it helps someone , if it doesn't or if it
  133.   kills your dog, I am sorry, but I told you: NO WARRANTIES WHATSOEVER
  134.   implied.
  135. * todo: make diffs, email to the author about the error messages
  136.         edit the web file.
  137. * Nota bene: I just learned that ther is version 1.53 out now, so I'll try
  138.   that tonight. But still, 1.30 and 1.40 are useful by themselves.
  139.  
  140.  
  141. Have fun.       Stefan A. Deutscher  (sad@utk.edu)        27-Feb-1996
  142.