GNU Diff, Diff3, SDiff and Cmp Version 2.0 ------------------------------------------ Amiga Port by Carsten Steger ---------------------------- Hi everyone! I recently got back from a 2 months' holiday and discovered that there was a new version of GNU Diff, so I decided to port it right away. In this directory you will find the complete source code of GNU Diff. All the modifications I had to make to get it to compile and run with SAS/C 6.1 are bracketed by '#ifdef AMIGA' constructions. I also have included a diff file (generated by diff 2.0, of course :-) ) that contains the context diffs to the original distribution. Diff and cmp should run under any OS version. There's one difference to diff under UN*X: You can't use the '-l' resp. '--paginate' flag. This is due to the fact that a) I have found no pr program available on the Amiga, b) I didn't want to port one, since I'm not going to use this feature, c) the SAS/C fork(l|ve) routines crash the system if you set the stdout file of the child process to the stdout of the parent process (which you have to, so that these options make any sense), and d) if you use the DOS 'System' call to start an asynchronous process, it closes its std(in|out) files upon exit, in which case the parent process can't use the stdout file after that. If you really absolutely have to use a feature like that, you can easily achieve the same effect by piping the output of diff through pr or a similar utility: diff options file1 file2 | pr. NB: The files in the '-x' resp. '--exclude' option are specified with UN*X wildcards (as stated in the maunual): Use *.o to get #?.o! (This is because the exclusion is done internally using the GNU regexp library.) Diff3 only runs under OS 2.0 or higher. This is because I had to use the 'System' call to run the two child processes that diff3 spawns. Again, the SAS/C routines crash the system. Sdiff, too, only runs under OS 2.0 or higher for the same reason as above. Please note that if you break the program with C-c or by typing the 'q' command within sdiff, it might take some time to clear the pending pipe in- and output. Otherwise the program should run exactly as described in the maual. The default editor that sdiff uses is memacs from the good old Workbench. You should have it somewhere in your path. Otherwise you have to set the EDITOR environment variable: setenv EDITOR . To install the programs you just copy them to a directory in your path: copy c/#? The documentation is included in the diff.texi file. Because not everybody has the texinfo package, I also have included a TeX-ed version of the manual. You can print diff.dvi (with a TeX printer driver) to get a hardcopy of the manual. If you use emacs on the Amiga you should install the #?.info#? files in GNUEMACS:info. You will have to make an appropriate entry in the dir file. If you have any problems that you think are specific to the Amiga version of diff, e.g. you get a different result on the Amiga than the result you get on a UN*X machine, you should report them to me. My E-mail address is: carsten.steger@informatik.tu-muenchen.de If you think you have found any other bugs, you should report them to the GNU project. Their address is: bug-gnu-utils@prep.ai.mit.edu Have fun! Carsten