This is a port of GNU Bash 4.4.28 to MSDOS/DJGPP. This package contains GNU implementation of sed, the Unix stream editor. This is GNU Bash. Bash is the GNU Project's Bourne Again SHell, a complete implementation of the POSIX.2 shell spec, but also with interactive command line editing, job control on architectures that support it, csh-like features such as history substitution and brace expansion, and a slew of other features. 1.: DJGPP specific changes. ======================= - This port has been configured to be build in the "0build" directory. - The port has been configured and compiled on WinXP SP3, Win98SE and MS-DOS 6.22 with LFN support. There is absolute 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. - This version of the port has been compiled using gcc346 and bnu2351b. - This version of the port will support the generation of 8+3 valid temporary file names if only SFN support is available. - The port provides its own pipe emulation that will also work on plain DOS. - The port supports colorization by setting the environment variable TERM=djgpp. This does not mean that it replaces the colorization support of other programs like grep or ls. It only means that programs like make that do not offer own colorization support can produce color output by leting bash do the job. - You will need LFN support to configure and compile the source package. I have no plans to support SFN systems to build the sed binaries. - This port does not provide NLS support. It has been configured with NLS support disabled by passing the no-nls flag as argument to config.bat. If you prefer NLS support you will have to reconfigure the sources omitting the no-nls flag when calling config.bat. As usual, all djgpp specific files (config.bat, diffs, readme files, etc.) are located in the djgpp subdir. For further information about GNU Bash 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 and unzip it running *ONE* of the following commands: unzip32 bsh4428b.zip or djtarx bsh4428b.zip or pkunzip -d bsh4428b.zip 2.2.: If there is no entry for the bash info docs in your dir file, located info directory, create one running the command: install-info --info-dir=/dev/env/DJDIR/info /dev/env/DJDIR/info/bash.info 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 bsh4428s.zip or djtarx bsh4428s.zip or pkunzip -d bsh4428s.zip 3.2.: To build the binaries you will need the following binary packages: djdev205.zip (or a later but NOT a prior version) bsh4253b.zip (or a later but NOT a prior version) gccNNNb.zip, gppNNN.zip, bnuNNNb.zip, makNNNb.zip, filNNNb.zip, shlNNNb.zip, txtNNNb.zip, txiNNNb.zip, grepNNNb.zip, sedNNNb.zip, pcreNNNb.zip, mktmpNNb.zip and gwkNNNb.zip. If you want to configure and compile this packages with NLS support enabled you must install licvNNNb.zip, lunsNNNb.zip and gtxNNNNb.zip. If you want to run the check you will need also: difNNNb.zip and mktmpNNNb.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 bsh4253b.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 to be build in a separate build directory under the top srcdir (aka bash-4.4.28). To build the binaries cd into "0build" 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 "0build" directory 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 nls. NLS support enabled. cache or no-cache, default cache. Cache in build directory. dep or no-dep, default no-dep. No dependency tracking. silent or no-silent, default silent. Controls the verbosity of the build process. malloc or no-malloc, default malloc. Use bash's own malloc support. dbg or no-dbg, default dbg. Enable special bash debugger support. 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\bash-4.4.28\djgpp\config x:/src/gnu/bash-4.4.28 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\bash-4.4.28\djgpp\config x:/src/gnu/bash-4.4.28 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.: The testsuite is completely POSIX centric and will not work on DOS. The port must be tested by using it. 3.6.: 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 GNU Bash specific bug reports to . Send suggestions and bug reports concerning the DJGPP port to comp.os.msdos.djgpp or . Enjoy. Guerrero, Juan Manuel