Mail Archives: djgpp/2014/07/06/18:39:24
This is a port of GNU m4 1.4.17 to MSDOS/DJGPP.
GNU m4 is an implementation of the traditional Unix macro processor.
It is mostly SVR4 compatible, although it has some extensions (for example,
handling more than 9 positional parameters to macros). m4 also has built-in
functions for including files, running shell commands, doing arithmetic, etc.
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 not existing directories the value of P_tmpdir will be used.
If this directory is also not accessible 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 be used by
the m4 commands syscmd and esyscmd to execute the commands passed. The
shell to be used is determinated 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 centric it is not recommended
to use COMMAND.COM and always to install the newest version of DJGPP's port
of bash. This port has been configured and compiled to use bash.
To build this port you will need an OS with LFN support to configure and
compile the source package.
As usual, all djgpp specific files (config.bat, diffs, README files, etc.)
are located in the /djgpp directory.
The port has been configured, compiled and tested on a WinXP Prof SP3 system
with LFN support using stock djdev203/djdev204, gcc490 and bsh205bbr3. LFN
support is required due to SFN file name conflicts that I have not resolved.
The test case 198.sysval will be skipped because DJGPP/DOS does not provide
a kill command. This is *not* a bug of the port.
For further information about GNU m4 please read the info docs and NEWS file.
The port has been compiled using stock djdev203 (patchlevel 2) and consists
of the usual three packages that can be downloaded from ftp.delorie.com and
mirrors as (time stamp 2014-07-06):
GNU m4 1.4.17 binary and info format documentation:
ftp://ftp.delorie.com/pub/djgpp/current/v2gnu/m4-1417b.zip
GNU m4 1.4.17 dvi, html, ps and pdf format documentation:
ftp://ftp.delorie.com/pub/djgpp/current/v2gnu/m4-1417d.zip
GNU m4 1.4.17 source:
ftp://ftp.delorie.com/pub/djgpp/current/v2gnu/m4-1417s.zip
The binaries have been produced a second time using the stock version of
djdev204 beta library. This package is available at ftp.delorie.com and
mirrors as (time stamp 2014-07-06):
GNU m4 1.4.17 binary and info format documentation:
ftp://ftp.delorie.com/pub/djgpp/beta/v2gnu/m4-1417b.zip
Send GNU m4 specific bug reports to <bug-m4 AT gnu DOT org>.
Send suggestions and bug reports concerning the DJGPP port to
comp.os.msdos.djgpp or <djgpp AT delorie DOT com>.
Enjoy.
Guerrero, Juan Manuel <juan DOT guerrero AT gmx DOT de>
- Raw text -