This is a port of mktemp 1.7 to MSDOS/DJGPP.
mktemp is a simple utility designed to make temporary file handling
in shells scripts be safe and simple. It is compatible with the one
that comes with coreutils. Because a port of GNU coreutils is not
available but certain test suites require a mktemp program to create
their temporary output files this tool has been ported.
1.: DJGPP specific changes.
=======================
This port no longer supports neither DJGPP 2.03 nor DJGPP 2.04. This
port has been configured using DJGPP 2.05. It has been configured to
be build in the "_build.205" directory.
The port has been configured and compiled on WinXP SP3. There is no
guarantee that this may be possible with any other DOS-like OS. Due
to the use of long file names it will not be possible to configure and
compile without LFN support.
The DJGPP 2.05 version of the port has been compiled using gcc510 and
bnu225br2.
The default template pattern that is used to create the default
directory name or file name is chosen at run time depending on if LFN
support is available or not.
If LFN is available the default template "tmp.XXXXXXXXXX" will be
used, if not then the shorter template "tpXXXXXX.XXX" will be used.
It should be noticed that the program generates it own pattern for
the default file name and do not use neither the mkstemp() nor mktemp()
functions of libc and their use is not supported.
The tool can handle slash and backslash as directory separator.
By default, the TMPDIR environment variable is used to determinate the
directory where the directory or file shall be stored. If the "-T"
flag is passed then the environment variables TMPDIR, TMP and TEMP will
be evaluated in that order to determinate where to store the file. If
none of the variables are set or none of the directories can be accessed,
the current working directory will be used as temporary file name prefix.
To build the package you will need LFN support. I do not see any reason
to waist my time trying to make the sources 8.3 clean.
As usual, all djgpp specific files (config.bat, diffs, README files,
etc.) are stored in the /djgpp directory.
For further information about mktemp please read the info docs and NEWS file.
2.: Installing the binary package.
==============================
2.1.: Copy the binary distribution into the top DJGPP installation directory,
just unzip it preserving the directory structure running *ONE* of the
following commands:
unzip32 mktmp17br3.zip or
djtarx mktmp17br3.zip or
pkunzip -d mktmp17br3.zip
3.: Building the binaries from sources.
===================================
3.1.: Create a temporary directory and copy the source package into the
directory. If you download the source distribution from one of the
DJGPP sites, just unzip it preserving the directory structure
running *ONE* of the following commands:
unzip32 mktmp17sr3.zip or
djtarx mktmp17sr3.zip or
pkunzip -d mktmp17sr3.zip
3.2.: To build the binaries you will need the following binary packages:
djdev205.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, grepNNNb.zip, sedNNNb.zip and gwkNNNb.zip
NNN represents the latest version number of the binary packages. All
this packages can be found in the /v2gnu directory of any
ftp.delorie.com mirror.
You will need bsh205bbr3.zip or later and *NOT* a prior version or
the build will fail. The same applies to djdev205.zip.
3.3.: The package has been configured for DJGPP 2.05. There is a separate
build directory under the top srcdir (aka mktemp-1.7). To build
the binaries cd into _build.205 directory. If for some reason you want
to reconfigure the package cd into the build directory and run the
following commands:
del config.cache
make clean
..\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.
config.bat, among other things, will start the configure script passing
to it a couple of arguments. You can control these argument passing the
following command line arguments to config.bat:
nls or no-nls, default no-nls. No NLS support.
cache or no-cache, default cache.
dep or no-dep, default no-dep. No dependency tracking.
All other configure specific options are not set by config.bat so their
values are left as they are. If no arguments are passed to config.bat
then the default values are used.
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\mktemp-1.7\djgpp\config x:/src/gnu/mktemp-1.7
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\mktemp-1.7\djgpp\config x:/src/gnu/mktemp-1.7
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.in's and supply all other needed options
to the configure script.
3.4.: To compile the package run from the directory where you have configured
the sources the command:
make
3.5.: To install the binaries and info docs run the following command from
the directory where you have configured the sources:
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 appropriate
value:
make install prefix=z:/some/other/place
Send mktemp specific bug reports to .
Send suggestions and bug reports concerning the DJGPP port to
comp.os.msdos.djgpp or .
If you are not sure if the failure is really a mktemp failure or a
djgpp specific failure, report it here and *not* to .
The author is not aware of what I have done.
Enjoy.
Guerrero, Juan Manuel