DJGPP port of automake 1.7.2, release 2
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Introduction
------------

This is the Readme file for the DJGPP port of automake 1.7.2. Please
see the file 'NEWS' for a full list of user-visible changes
from the previous versions. Please see 'changelog.dos' for a list
of bugs fixed in each release of the port.

To use the automake program, you only need to download
the binary distribution, which includes documentation in info format.
You may also wish to download the documentation distribution, to get
the documentation in HTML, PostScript and DVI formats. If you wish
to examine or rebuild the automake sources, you need to download
the source distribution.

The automake port is available here:

Binaries:
http://www.simtel.net/gnudlpage.php?product=/gnu/djgpp/v2gnu/amak172b.zip&name=amak172b.zip

Documentation:
http://www.simtel.net/gnudlpage.php?product=/gnu/djgpp/v2gnu/amak172d.zip&name=amak172d.zip

Sources:
http://www.simtel.net/gnudlpage.php?product=/gnu/djgpp/v2gnu/amak172s.zip&name=amak172s.zip

Installing the Binary Distribution of automake
----------------------------------------------

Unzip the distribution preserving the directory structure (use -d
switch if you do that with PKUNZIP) from the top DJGPP installation
directory.

automake will not work, if the following packages have not been installed:

. DJGPP development environment;
. GNU bash;
. Perl 5.6.1 dated later than September 2001;
. GNU fileutils;
. GNU textutils.

You should probably also install:

. GNU findutils;
. GNU autoconf.

To set up and read the info documentation, you will need to install
GNU texinfo. To add automake to the info directory page, run:

    install-info --info-file=/dev/env/DJDIR/info/automake.info \
        --info-dir=/dev/env/DJDIR/info

(Type this as one line.) Then run 'info automake', to read
the automake manual.

Installing the Documentation Distribution of automake
-----------------------------------------------------

If you want the automake documentation in a format other than info format,
then you need the documentation distribution. This contains documentation
in texinfo source, HTML, DVI (TeX) and PostScript. This documentation
will be installed in gnudocs\automake.172.

Rebuilding automake using the Source Distribution
-------------------------------------------------

To build the DJGPP port of automake from sources, I used the following
packages:

. DJGPP development environment 2.03 (v2/djdev203.zip);
. GNU C compiler 3.2.1 (v2gnu/gcc321b.zip);
. GNU binutils 2.13 (v2gnu/bnu213b.zip);
. GNU make 3.79.2 alpha 1 (but try v2gnu/mak3791b.zip);
. GNU bash 2.04 (v2gnu/bsh204b.zip);
. GNU m4 1.4 (v2gnu/m4-14b.zip);
. GNU sed 3.02.80 (v2gnu/sed3028b.zip);
. GNU awk 3.0.3 (v2gnu/gwk303b.zip);
. GNU diffutils 2.8 (v2gnu/dif28b.zip);
. GNU fileutils 4.1 release 4 (v2gnu/fil41b.zip);
. GNU sh-utils 2.0.11 (v2gnu/shl2011b.zip);
. GNU textutils 2.0 (v2gnu/txt20b.zip);
. GNU grep 2.4 (v2gnu/grep24b.zip);
. GNU texinfo 4.2 (v2gnu/txi42b.zip);
. Perl 5.6.1 (v2gnu/perl561b.zip);
. GNU autoconf 2.57, release 1 (v2gnu/acnf257b.zip).

Firstly, change into the top-level directory of the automake sources
(i.e. gnu\automake.172) and configure the package:

    bash djgpp\djconfig.sh

If you want to install automake somewhere other than the DJGPP directory,
modify djgpp\djconfig.sh to use configure's '--prefix' option
(use 'bash configure --help' for more information).

Then build the package:

    make

If you are interested in the test suite, please see the section entitled
"Expected test suite results" below. You should probably run
the test suite, before installing.

Once automake is built and the tests have passed as expected, install
the package:

    make install

Changes made to the automake 1.7.2 Sources
------------------------------------------

The file 'gnu\automake.172\djgpp\diffs' contains all the changes made
to the sources, to support DJGPP.

Here are the steps necessary to get from a automake 1.7.2 tarball
(automake-1.7.2.tar.gz) to a patched copy of the sources for DJGPP:

1. Extract the sources using the 'fnchange.lst' file: You will need
   the 'fnchange.lst' from the source distribution of automake 1.7.2
   for DJGPP.

    djtar -x -o gnu/automake.172/djgpp/fnchange.lst -p \
        > /path/to/fnchange.lst

   (Type this as one line.) /path/to is some temporary directory,
   e.g.: /temp.

   Then extract the automake tarball using djtar:

    djtar -n /path/to/fnchange.lst -x /path/to/automake-1.7.2.tar.gz

2. Apply the DJGPP patch: You will need the file 'diffs' from
   the source distribution. Change into the automake 1.7.2
   source directory and apply the path:

    patch -Z -p7 -i diffs

3. Copy the 'djgpp' directory from the source distribution
   into the automake source directory. You can now build as directed
   in the section 'Rebuilding automake using the Source Distribution'
   above.

NB: The source distribution of the DJGPP port comes with all patches
applied and will build "out of the box" with Long Filenames. It may build
with Short Filenames.

Known Issues
------------

- DESTDIR support is currently broken. This allows you to install
  the software under a prefix that is a combination of the configured
  prefix and $DESTDIR, e.g. $DESTDIR$prefix. It allows one to install
  software on some publically-available prefix and then mount (NFS
  or other file-sharing system) it on the real prefix. This is unlikely
  to be used with DJGPP, so the impact is minimal.

Expected test suite results
---------------------------

Run the test suite like so:

    bash djgpp/runtests.sh

The test suite takes a long time to run. (On my Athlon 850MHz with 640MB
of memory it took around one and a half hours to two hours.)

This will produce two output files in the top-level directory:
tests.log and tests.summ. tests.log contains the verbose output
of all the tests. tests.summ contains a PASS/XPASS/FAIL/XFAIL/SKIP line
per test.

All the tests should pass (PASS) or fail as expected (XFAIL),
except ones that use the DESTDIR facility:

    libtool3, pr87, subpkg, texinfo3, texinfo13, texinfo16, texinfo18.

NOTE: The texinfo* tests have been renamed to txinfo*, to fit uniquely
into the 8+3 DOS filename limits.

If you wish to run an individual test, e.g. pr300-prog, you can
do this like so, assuming you are running bash:

    cd tests
    FNCASE=y VERBOSE=x make TESTS=pr300-prog.test check

You will need FNCASE=y for some tests, because they depend on the case
of files, e.g.: README. You may also wish to run multiple tests
and log the results:

    FNCASE=y VERBOSE=x redir -eo \
        make TESTS='pr300-prog.test man2.test' check > some.log

(Type this as one line.)

Finally
-------

Thanks to Tim van Holder for initial starter patch for automake
and the discussions we had about the auto* tools.

Please direct any further discussions about this port
to comp.os.msdos.djgpp newsgroup (or write to its e-mail gateway
djgpp@delorie.com). I try to read the DJGPP newsgroup on a regular basis,
but also please feel free to contact me by e-mail (address below).

Regards,

Richard Dawe <rich@phekda.freeserve.co.uk> 2003-02-19
