Index of /pub/pic/gputils

      Name                    Last modified       Size  Description

[DIR] Parent Directory 17-Sep-2006 18:41 - [   ] gputils.zip 18-Sep-2006 17:18 2.6M

---------------------------------------------------------------------------
						John Wilson, 18-Sep-2006

This directory contains executables for the GPUTILS package (version
0.13.4, released August 19, 2006), built using OpenWatcom C to run on DOS.

Microchip has long since stopped supporting DOS, but I like it, especially
since I'm still using my much-modified homebrew COM84 board to burn PIC chips
and DOS is the easy place to do that.  If you disagree, then by all means,
go away.

You'll probably want to add "set dos4g=quiet" to your AUTOEXEC.BAT so you
won't get tired of the DOS/4GW banner coming up every time you run any of
these programs.  Well it's nice of the Tenberry folks to let OpenWatcom
users use DOS/4GW for free.

Note that some of the .INC and .LKR filenames won't fit in 8.3 so there will
be collisions when unpacking on a non-LFN system, and you should rename the
files you actually need to 8.3 names before use.

---------------------------------------------------------------------------
How building worked:

(I'm mostly just putting this here to remind myself how to do it when I'm
building a future version, but you can do it too.)  Trying to port "configure"
or the resulting hideous Makefiles to DOS would be crazy, so I didn't bother.
There just aren't that many source files anyway so it doesn't need to be
complicated.

First I unpacked the tarball on Linux, and ran "./configure" and "make".
That way the .l and .y files got run through lex and yacc, giving .c files
which are good on DOS.  Then I zipped it all up (with zip -l -r ...) and
brought the whole mess over to a Windows Me (LFNs, long command lines)
machine with Win32 OpenWatcom (1.4) installed.  Then I compiled each .C file
with this batch file:

wcc386 -i=..\include -i=..\libgputils -dHAVE_STDLIB_H -dHAVE_STRING_H -dHAVE_UNISTD_H -dSTDC_HEADERS -dHAVE_DOS_BASED_FILE_SYSTEM -dPACKAGE_BUGREPORT="<URL:http://gputils.sourceforge.net/>" -dPACKAGE_VERSION="0.13.4" -dVERSION="0.13.4" %1

A few of the files give warnings -- yacc generates a label that's never
referenced (the workaround is conditionalized for GCC only), and there are
a bunch of places where if() expressions evaluate to 0 (so those look like
possible program bugs, for which I'm submitting fixes).

Anyway then I built libgputils.lib by making a file named X.LBC which
contains a line for each of the .OBJ files in the libgputils directory,
which looks like "+foo.obj".  Then "wlib libgputils @x" builds the library.

Then, each executable can be linked with something like this (example is
for GPASM):

Create a file named GPASM.LNK, containing:

	system dos4g
	option stack=65536
	name GPASM
	file main, directive, [... list all .OBJ files ...]
	file ..\libiberty\getopt, ..\libiberty\getopt1
	library ..\libgputils\libgputils

... and then "wlink @gpasm".

Then do the same for all the other executables.  Yay.