Mail Archives: djgpp/1997/03/31/22:44:37
This is to announce that a DJGPP port of GNU Hello program, version
1.3, has been uploaded to SimTel.NET mirrors:
ftp://ftp.simtel.net/pub/simtelnet/gnu/djgpp/v2gnu/hello13.zip
This might seem ridiculous to some of you at first, but I think that
playing with this package might actually prove educational. It is far
from a simple one-liner: the package is a good example of a typical
GNU software distribution, complete with a configuration script,
Makefile and documentation. Please read the README.dos file (below)
for more details.
Note that unlike other DJGPP packages, there are no separate source
and binary zip files; instead, everything is lumped together and will
be unzipped into the gnu/hello-1.3 subdirectory (obviously, there's no
point in distributing a binary hello.exe!).
Have fun,
Eli Zaretskii <eliz AT is DOT elta DOT co DOT il>
--------------------------- README.dos -------------------------------
This is a DJGPP port of GNU Hello 1.3
Since the purpose of this software is mostly educational: to show a
working example of a GNU-style package, it is distributed as a single
zip archive rather than the usual separate source and binary archives.
The distribution includes both the sources and a pre-built executable
program (both .exe and raw COFF image), both compiled with debugging
symbols and unstripped.
What can you do with this package?
1) Study the source: it's a good example of GNU programming
standards.
2) Read the Info docs. I mean it, you won't be disappointed;
even the Index is full of fun, for those who are patient
enough to read the fine print.
3) Play with the program using its various options.
4) Rebuild the program from the sources. You can either (1) say
"make", or (2) run the djgpp/config.bat batch file to see how
the package is automatically configured for your system, and
then run `make'. If you configure and build the program in a
directory other than that where the sources reside, invoke
config.bat like so:
<d:path>djgpp\config <d:path>
where <d:path> is the pathname of the source directory. Note
that the SECOND <d:path> (the argument to CONFIG.BAT) needs to
be typed with Unix-style FORWARD SLASHES, or else Make will
fail.
5) Change the program sources to introduce a new feature, update
the Texinfo sources of the docs, then rebuild the program and
test your changes. As a minimum testing, run "make check".
6) No program is free of bugs, and `hello' is no exception. Can
you find the bugs in the code? Use your favorite debugger to
hunt them down and correct them.
7) Once you've found the bug(s), report them to the package
maintainers as described in the docs.
What tools will you need?
To unpack the package: any unzip program. On Windows 9x, use a
program which supports long filenames.
To only run the program: this package and a DPMI host (get
csdpmi3b.zip from the DJGPP site, if `hello.exe' says ``No
DPMI'').
To read the docs: all of the above, plus info.exe from Texinfo
distribution (txiNNNb.zip). To read the docs, chdir to the
directory where you unzip the distribution, then type this from
the DOS prompt:
info -d . -f hello.info
To debug the pre-built binary: the debugger that you most fancy (the
DJGPP FAQ lists them all).
To compile using the `Makefile' and `config.h' files which came with
the package: the basic DJGPP tools (djdevNNN.zip), Binutils
(bnuNNNb.zip), gcc (gccNNNb.zip) and Make (makNNNb.zip, use
version 3.75 or later).
To test the program: all of the above, plus `diff' from Diffutils
(difNNNb.zip) and `rm' from Fileutils (filNNNb.zip).
To reconfigure the package by running djgpp/config.bat: all of the
above, plus the following:
- Bash (bshNNNb.zip); you will also need a ``symlink'' called
sh.exe that runs bash
- echo, pwd, test from Sh-utils (shlNNNb.zip)
- Sed (sedNNNb.zip)
- cp, rm, ginstall from Fileutils (filNNNb.zip)
- egrep from Grep (grepNNb.zip)
- cat and tr from Textutils (txtNNNb.zip)
To generate info docs (after changing the Texinfo sources):
`makeinfo' from Texinfo (txiNNNb.zip). If you want the printed
docs (the file hello.dvi), you will have to install TeX or LaTeX.
To report bugfixes: `diff' from Diffutils. Here's how you invoke
`diff' to generate the patch that should be sent to maintainers:
diff -c hello.bak hello.c > patches.txt
This assumes that the original source is in the file `hello.bak'.
Include the file `patches.txt' with your bug report.
- Raw text -