This is a port of GNU m4 1.4.13 to MSDOS/DJGPP.

1.:     DJGPP specific changes.
        =======================

        - The port honors the value of the PATH_SEPARATOR environment variable
        to decide if colon or semicolon shall be used as path separator for
        the M4PATH environment variable.  If PATH_SEPARATOR is not set then
        semicolon will be used as path separator.

        - The port will also honor the value of the TMP and the TEMP environment
        variables to determinate where to store temporary files if TMPDIR is not
        set.  If neither of the three environment variables are set or if they
        point to non existing directories the current working directory will be
        used.

        - The port defines two new macros to identify the platform m4 is running
        on.  These are "__djgpp__" and "__msdos__" and "djgpp" and "msdos" if
        the -G option is specified.

        - The port assumes that a bash compatible shell is installed to execute
        the m4 commands syscmd and esyscmd.  The shell to be used is defined at
        compile time by the value of `with_syscmd_shell' variable defined in the
        distributed config.site.  The current value is `/dev/env/DJDIR/bin/sh'.
        If the variable is not set then COMMAND.COM will be used as default shell
        for these two commands.  Because most of the executed scripts are UNIX
        based it is not recommended to use COMMAND.COM and always to install the
        newest version of DJGPP's port of bash.

        To build this port you will need:
          - to install lsupp63a.zip or later
          - to replace the header file time.h in /dev/env/DJDIR/include with
            the new one distributed with this port
          - to have an OS with LFN support to configure and compile the source
            package.  I have no plans to support SFN systems to build the m4
            binaries.

        As usual, all djgpp specific files (config.bat, diffs, README files,
        etc.) are located in the djgpp subdir.


2.:     Installing the binary package.
        ==============================

2.1.:   Copy the binary distribution into the top DJGPP installation directory
        and unzip it running *ONE* of the following commands:
          unzip32 m4-1413b.zip      or
          djtarx m4-1413b.zip       or
          pkunzip -d m4-1413b.zip

        For futher information about GNU m4 please read the info docs and the
        NEWS file.


3.:     Building the binaries from sources.
        ===================================

3.1.:   To build the binaries you will need the following binary packages:
          djdev203.zip (patch level 2, see the djdev203.dsm or a later version)
          bsh205bbr3.zip (or a later but NOT a prior version)
          gccNNNb.zip, bnuNNNb.zip, makNNNb.zip, filNNNb.zip, shlNNNb.zip,
          txtNNNb.zip, txiNNNb.zip, grepNNNb.zip, sedNNNb.zip and difNNNb.zip.
        For the testsuite gwkNNNb.zip will be needed.

        All this packages can be found in the v2gnu directory of ftp.delorie.com
        and any mirror.  NNN stands for the newest port versions available when
        this port was build but older may do the work as well.

3.2.:   Create a temporary directory. Copy the source package: m4-1413s.zip
        into the directory and unzip it runnig ONE of the following commands:
          unzip32 m4-1413s.zip      or
          djtarx m4-1413s.zip       or
          pkunzip -d m4-1413s.zip

3.3.:   If for some reason you want to reconfigure the package cd into the top
        srcdir (m4-1.413) and run the following commands:
          del djgpp\config.cache
          make distclean
          djgpp\config

        Please note that you *MUST* delete the config.cache file in the /djgpp
        subdir or you will not really reconfigure the sources because the
        configuration informations will be read from the cache file instead
        of being newly computed.
        To build the programs in a directory other than where the sources are,
        you must add the parameter that specifies the source directory,
        e.g:
          x:\src\gnu\m4-1.413\djgpp\config x:/src/gnu/m4-1.413
        or:
          x:\src\gnu\m4-1.413\djgpp\xp-config x:/src/gnu/m4-1.413

        Lets assume you want to build the binaries in a directory placed on a
        different drive (z:\build in this case) from where the sources are,
        then you will run the following commands:
          z:
          md \build
          cd \build
          x:\src\gnu\m4-1.413\djgpp\config x:/src/gnu/m4-1.413
        or:
          x:\src\gnu\m4-1.413\djgpp\xp-config x:/src/gnu/m4-1.413

        The order of the options and the srcdir option does not matter. You
        *MUST* use forward slashes to specify the source directory.

        The batch file will set same environment variables, make MSDOS specific
        modifications to the Makefile.ins and supply all other needed options
        to the configure script.

3.4.:   To compile the package run from the top srcdir the command:
          make

3.5.:   Now you can run the testsuite by issuing the command:
          make check
        from the top srcdir. The following test will fail: 192.sysval.
        This test fails because no kill command is available.

3.6.:   To install the binary, info docs and man pages run the following command
        from the top srcdir:
          make install

        This will install the products into your DJGPP installation tree given
        by the default prefix "/dev/env/DJDIR". If you prefer to install them
        into some other directory you will have to set prefix to the appropiate
        value.
        Example:
          make install prefix=z:/some/other/dir




        Send m4 specific bug reports to <bug-m4@gnu.org>.
        Send suggestions and bug reports concerning the DJGPP port
        to comp.os.msdos.djgpp or <djgpp@delorie.com>.

Enjoy.

          Guerrero, Juan Manuel <juan.guerrero@gmx.de>
