--------------------------------------------------------------------------- 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="" -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.