summaryrefslogtreecommitdiff
path: root/djgpp
diff options
context:
space:
mode:
authorLorry Tar Creator <lorry-tar-importer@baserock.org>2014-12-24 07:38:37 +0000
committer <>2015-02-02 12:02:29 +0000
commit482840e61f86ca321838a91e902c41d40c098bbb (patch)
tree01ea2e242fd2792d19fe192476601587901db794 /djgpp
downloadgettext-tarball-482840e61f86ca321838a91e902c41d40c098bbb.tar.gz
Imported from /home/lorry/working-area/delta_gettext-tarball/gettext-0.19.4.tar.xz.gettext-0.19.4
Diffstat (limited to 'djgpp')
-rw-r--r--djgpp/COPYING.DJ48
-rw-r--r--djgpp/Makefile.maint46
-rw-r--r--djgpp/README515
-rw-r--r--djgpp/README.DJ1
-rw-r--r--djgpp/README.in515
-rwxr-xr-xdjgpp/config.bat340
-rw-r--r--djgpp/config.in136
-rw-r--r--djgpp/config.sed353
-rwxr-xr-xdjgpp/config.site41
-rw-r--r--djgpp/djpwd.h56
-rw-r--r--djgpp/edtests.bat86
-rw-r--r--djgpp/fnchange.in221
-rw-r--r--djgpp/fnchange.lst220
-rw-r--r--djgpp/getpwnam.c40
-rw-r--r--djgpp/msginit.sed1
-rw-r--r--djgpp/tscript.sed7
-rw-r--r--djgpp/unsetenv.c41
17 files changed, 2667 insertions, 0 deletions
diff --git a/djgpp/COPYING.DJ b/djgpp/COPYING.DJ
new file mode 100644
index 0000000..08a8b7a
--- /dev/null
+++ b/djgpp/COPYING.DJ
@@ -0,0 +1,48 @@
+This is the file "copying.dj". It does NOT apply to any sources or
+binaries copyrighted by UCB Berkeley, the Free Software Foundation, or
+any other agency besides DJ Delorie and others who have agreed to
+allow their sources to be distributed under these terms.
+
+ Copyright Information for sources and executables that are marked
+ Copyright (C) DJ Delorie
+ 7 Kim Lane
+ Rochester NH 03867-2954
+
+This document is Copyright (C) DJ Delorie and may be distributed
+verbatim, but changing it is not allowed.
+
+Source code copyright DJ Delorie is distributed under the terms of the
+GNU General Public Licence, with the following exceptions:
+
+* Sources used to build crt0.o, gcrt0.o, libc.a, libdbg.a, and
+ libemu.a are distributed under the terms of the GNU Library General
+ Public License, rather than the GNU GPL.
+
+* Any existing copyright or authorship information in any given source
+ file must remain intact. If you modify a source file, a notice to that
+ effect must be added to the authorship information in the source file.
+
+* Runtime binaries, as provided by DJ in DJGPP, may be distributed
+ without sources ONLY if the recipient is given sufficient information
+ to obtain a copy of djgpp themselves. This primarily applies to
+ go32-v2.exe, emu387.dxe, and stubedit.exe.
+
+* Runtime objects and libraries, as provided by DJ in DJGPP, when
+ linked into an application, may be distributed without sources ONLY
+ if the recipient is given sufficient information to obtain a copy of
+ djgpp themselves. This primarily applies to crt0.o and libc.a.
+
+-----
+
+Changes to source code copyright BSD, FSF, or others, by DJ Delorie
+fall under the terms of the original copyright. Such files usually
+have multiple copyright notices in them.
+
+A copy of the files "COPYING" and "COPYING.LIB" are included with this
+document. If you did not receive a copy of these files, you may
+obtain one from whence this document was obtained, or by writing:
+
+ Free Software Foundation
+ 51 Franklin Street, Fifth Floor
+ Boston, MA 02110-1301
+ USA
diff --git a/djgpp/Makefile.maint b/djgpp/Makefile.maint
new file mode 100644
index 0000000..7ae1d85
--- /dev/null
+++ b/djgpp/Makefile.maint
@@ -0,0 +1,46 @@
+# Maintainer's Makefile -*-Makefile-*-
+
+top_srcdir = ..
+srcdir = .
+
+SHELL = /bin/sh
+
+all: README fnchange.lst config.sed
+
+config.sed: config.in fnchange.in
+ sed \
+ -e '/plural-[1-9]\+/ d' \
+ -e 's|\.h\.in|\\\\\\\\.h\\\\\\\\.in|' \
+ -e 's|\.in\.in|\\\\\\\\.in\\\\\\\\.in|' \
+ -e 's|\.sh\.in|\\\\\\\\.sh\\\\\\\\.in|' \
+ -e 's|^.*/\([A-Za-z0-9\\._+-]\+\)[ ]\+| s,\1,|' \
+ -e '/\/tests\// !s|@V@.*/||;s|@V@/tests/||' \
+ -e 's|$$|,g\\\\\\|' \
+ -e 's|^#.*$$|/@append_list_of_renamed_files@/ c\\|' \
+ $(srcdir)/fnchange.in > t-script.sed
+ sed '$$ s|\\||' t-script.sed > script.sed
+ sed -f script.sed $(srcdir)/config.in > t-$@
+ mv t-$@ $@
+ rm -f t-script.sed script.sed
+
+fnchange.lst: fnchange.in $(top_srcdir)/configure.in
+ PACKAGE=`grep AM_INIT_AUTOMAKE $(top_srcdir)/configure.in | sed -e 's/AM_INIT_AUTOMAKE(\([^,)]*\),.*$$/\1/'`; \
+ VERSION=`grep AM_INIT_AUTOMAKE $(top_srcdir)/configure.in | sed -e 's/AM_INIT_AUTOMAKE([^,)]*, *\([^,)]*\).*$$/\1/'`; \
+ sed \
+ -e '/^#/d' \
+ -e "s/@V@/$${PACKAGE}-$${VERSION}/g" \
+ $(srcdir)/fnchange.in > t-$@
+ mv t-$@ $@
+
+README: README.in $(top_srcdir)/configure.in
+ PACKAGE=`grep AM_INIT_AUTOMAKE $(top_srcdir)/configure.in | sed -e 's/AM_INIT_AUTOMAKE(\([^,)]*\),.*$$/\1/'`; \
+ VERSION=`grep AM_INIT_AUTOMAKE $(top_srcdir)/configure.in | sed -e 's/AM_INIT_AUTOMAKE([^,)]*, *\([^,)]*\).*$$/\1/'`; \
+ packageversion=`echo "$${VERSION}" | sed 's/\..*\.//'`; \
+ treeversion=`echo "$${VERSION}" | sed 's/\.//'`; \
+ sed \
+ -e "s/@V@/$${PACKAGE}-$${VERSION}/g" \
+ -e "s/@VER@/$${VERSION}/g" \
+ -e "s/@packageversion@/$$packageversion/g" \
+ -e "s/@treeversion@/$$treeversion/g" \
+ $(srcdir)/README.in > t-$@
+ mv t-$@ $@
diff --git a/djgpp/README b/djgpp/README
new file mode 100644
index 0000000..189ecb7
--- /dev/null
+++ b/djgpp/README
@@ -0,0 +1,515 @@
+This is a port of GNU Gettext 0.11.5 to MSDOS/DJGPP.
+
+
+ TO USE THE GNU GETTEXT LIBRARY YOU **MUST** MODIFY YOUR C-LIBRARY.
+ PLEASE, READ SECTION #2 (Installing the binary package) CAREFULLY
+ TO LEARN HOW TO INSTALL THE GNU GETTEXT LIBRARY AND HOW TO CHANGE
+ YOUR C-LIBRARY AND SYSTEM HEADER FILE.
+ TO USE THE GNU GETTEXT LIBRARY YOU **MUST** DOWNLOAD AND INSTALL
+ LICV17B.ZIP TOO. THIS IS **NOT** OPTIONAL.
+ IT IS NOT RECOMMED TO DOWNLOAD THE GNU DISTRIBUTION OF GETTEXT
+ BECAUSE ONLY THE DJGPP PORT WILL CONTAIN THE REQUIRED HEADER AND
+ OBJECT FILE TO PATCH THE C LIBRARY.
+
+
+1.: DJGPP specific changes.
+ =======================
+
+ The DJGPP specific changes are the followings:
+ 1) The conflict existing between the BORLAND-compatibility gettext function
+ from DJGPP's libc.a defined in conio.h and the GNU gettext function from
+ libintl.a defined in libintl.h has been removed. But this conflict can not
+ be removed **WITHOUT** changing a system header file and libc.a.
+ 1.1) libc.a and system header changes.
+ In conio.c, the BORLAND-compatibility gettext function has been renamed
+ into _conio_gettext. In conio.h some code has been added to check if
+ libintl.h is included or not by the same source file. If libintl.h is NOT
+ included, the BORLAND-compatibility gettext function will be available as
+ gettext. If libintl.h has been included then the BORLAND-compatibility
+ gettext function will **ONLY** be available as _conio_gettext.
+ The BORLAND-compatibility gettext function is now available as gettext
+ and _conio_gettext.
+ 1.2) GNU gettext library changes.
+ If both headers, libintl.h and conio.h, are included in the same source
+ file the gettext keyword makes **ALWAYS** reference to the GNU gettext
+ function and **NEVER** to the BORLAND-compatibility gettext function.
+
+ 2) The binary package gtxt05b.zip contains all needed files to get NLS
+ support for the following DJGPP ports:
+ bison-1.32 (bsn132s.zip)
+ enscript-1.6.2 (ens162s.zip)
+ fileutils-4.0 (fil40s.zip)
+ grep-2.4 (grep24s.zip)
+ id-utils-3.2 (idu32s.zip)
+ make-3.79.1 (mak3791s.zip)
+ recode-3.6 (rcode36s.zip)
+ sed-3.02.80 (sed3028s.zip)
+ sharutils-4.2c (shar42cs.zip)
+ sh-utils-2.0j (shl20js.zip)
+ tar-1.12a (tar112as.zip)
+ texinfo-4.0 (txi40s.zip)
+ textutils-2.0 (txt20s.zip)
+
+ See section #4 for further information about this issue.
+ To implement NLS support for one of those packages you will also need
+ to download the following packages:
+ gtxt05b.zip (binaries of GNU Gettext 0.11.5)
+ licv17b.zip (binaries of GNU libiconv 1.7)
+ fil40b.zip (binaries of GNU Fileutils 4.0)
+ shl20jb.zip (binaries of GNU Sh-utils 2.0j)
+
+
+2.: Installing the binary package.
+ ==============================
+
+2.1.: To use this binary package you **MUST** install licv17b.zip or later
+ first. licv17b.zip provides the required functionality to recode the
+ .mo files at run time from the unix charsets used to create them to the
+ dos codepages used to display them. Copy the binary distribution into
+ the top DJGPP installation directory. If you are installing Gettext on
+ a dual DOS/WINDOWS 9X systems, you *MUST* first turn off the generation
+ of numeric tails for 8.3 aliases Windows creats for long file names.
+ For information about how to do this, please read the DJGPP FAQ List
+ V 2.30, chapter 22.19: "How to Set Up a Dual DOS/Windows Installation".
+ It should be noticed that neither the libintl.a library nor the
+ binaries (xgettext.exe, gettext.exe, etc.) contain any code to handle
+ nuneric tails of short file names. This implies that if you install
+ the binary packages in a DOS box of Win9X (LFN) **WITHOUT** turning
+ off the numeric tail generation you will **NOT** be able to use NLS
+ on plain DOS. Once again: if you want NLS support on both Win9X **AND**
+ on plain DOS you **MUST** turn off the numeric tail generation **BEFORE**
+ installing the binary package. After having installed the package
+ you can turn on numerical tail generation again if you wish.
+ All this also applies to any other package that has been compiled with
+ NLS support. You **MUST** turn off numeric tail generation every time
+ you install a package that has been compiled with NLS or the binaries
+ will **NOT** be able to find their .mo files (translations) when you
+ switch to plain DOS.
+
+2.2.: Copy the binary distribution into the top DJGPP installation directory,
+ just unzip it preserving the directory structure running *ONE* of the
+ following commands:
+ unzip32 gtxt05b.zip or
+ djtarx gtxt05b.zip or
+ pkunzip -d gtxt05b.zip
+
+2.3.: Changing libc.a and conio.h.
+ Apart from the ussual directories, the binary package will create the
+ following directory:
+ %DJDIR%/gnu/gtxt-011.5/djgpp/djdev-2.03
+ where %DJDIR% stands for the root of your DJGPP installation tree.
+ Cd into the djdev-2.03 directory. You will find the following files:
+ conio.diffs
+ conio.h
+ conio.o
+ conio.diffs is a patch file that documents the changes I have done against
+ the files of the original djdev203.zip and djlsr203.zip distributions.
+ This file is not needed by the average user. conio.h is the modified header
+ and conio.o is the recompiled new conio.c file that will replace the old
+ conio.o contained in libc.a.
+
+ For all commands that will follow now I will assume that you have
+ cd'ed into the %DJDIR%/gnu/gtxt-011.5/djgpp/djdev-2.03 directory,
+ where %DJDIR% represents the path to your DJGPP installation. First,
+ you should backup your old header and library. For this task, run the
+ following command sequence (cp is the copy program from fil40b.zip):
+ cp /dev/env/DJDIR/include/conio.h /dev/env/DJDIR/include/conio.bak
+ cp /dev/env/DJDIR/lib/libc.a /dev/env/DJDIR/lib/libc.bak
+
+ Now you can copy the new header into your include directory
+ running the command:
+ cp conio.h /dev/env/DJDIR/include
+
+ Now you can substitute the old conio.o file in libc.a with the new one.
+ For this task you will need the ar program from binutils.
+ Run the command:
+ ar -rv /dev/env/DJDIR/lib/libc.a conio.o
+ You are done.
+
+2.3.: The NLS controling environment variables, LANG and LANGUAGE, must be
+ set to their appropiate values. The exact way how these variables
+ should be set depends on your operating system:
+
+ * For Windows 98 systems:
+ - Click START;
+ - Choose Programs->Accessories->System Tools->System Information;
+ - Click Tools in the menu-bar, then choose "System Configuration";
+ - Use the tab provided there for editing your AUTOEXEC.BAT as
+ explained below.
+
+ * For Windows NT systems:
+ - Right-click "My Computer", then select "Properties";
+ - Click the "Environment" tab;
+ - Add a new variables LANG and LANGUAGE and set their values to the
+ wanted language codes file as explained below.
+
+ * For all other systems (DOS, Windows 3.X and Windows 95): use any
+ text editor, e.g. the standard EDIT, to edit the file AUTOEXEC.BAT
+ in the root directory of the boot drive (usually, C:).
+
+ The values of the two environment variables LANG and LANGUAGE should be
+ set like this:
+
+ set LANG=xx
+ set LANGUAGE=yy:zz
+
+ xx, yy and zz are place holders for the wanted language codes. For
+ posible values, please read below.
+ The LANG entry is obligatory, the LANGUAGE entry may be omited. The
+ LANG variable selects the locale charsets (dos codepage) to be used to
+ display the program's output and the catalog (.mo file) that contains
+ the translated strings to be used. The LANGUAGE variable allows you to
+ select an alternate catalog than the one stipulated by LANG. Replace
+ xx, yy and zz by the language code of the catalogs you want to use. It
+ should be noticed that LANGUAGE has *ALWAYS* higher priority than LANG.
+ The LANG variable not only selects a catalog, it also specifies the dos
+ codepage that will be used as locale charset. All this means that the
+ translation strings contained in the catalogs (.mo files) will be
+ recoded at runtime to the dos codepage stipulated by the value of LANG.
+ This runtime recoding is needed because the .mo files may have been
+ written using a charset that is not compatible with the charset that
+ will be used on the machine and OS where the .mo files contents will be
+ displayed. The .po files of the GNU packages, from which the .mo files
+ are generated, are typical examples of this. Usualy, they have been
+ written using some ISO-8859-nn charset (an unix charset) and shall be
+ displayed on a DOS/WIN95 machine that uses some dos codepage.
+
+ Some examples:
+ If you only want to use the catalog containing the translations for
+ your mother tongue (in my case the spanish translations) the above
+ lines will only use the LANG variable and will look like this:
+
+ set LANG=es
+
+ In this case, LANG defines the locale charset (CP850 in this case) to
+ be used for the on-the-fly recoding of the catalog (.mo file) contents
+ **AND AT THE SAME TIME** the translation/language (.mo file) to be used.
+
+ If you want to use the spanish (es) and german (de) catalogs the above
+ lines will look like this:
+
+ set LANG=es
+ set LANGUAGE=es:de
+
+ In this case a DJGPP binary that has been compiled with NLS support
+ will first search for the spanish translation of a string. If a
+ translation for that particular string can not be found in the spanish
+ .mo file then it will search for a german translation of that string in
+ the german .mo file and if a german translation of that string can also
+ not been found it will default to display the build-in english string.
+ No mather if a spanish, a german or an english build-in string is
+ selected, the string is always recoded to the dos codepage stipulated
+ by LANG. In this case: CP850. In the above example, LANGUAGE defines
+ the set of languages to be used and their priority (from left to right).
+ At the same time, LANG defines the locale charset (dos codepage) to be
+ used to recode **ALL** translated string, no matter which language
+ (.mo file) is used.
+ If you want to reverse this search order the above lines would look
+ like this one:
+
+ set LANG=es
+ set LANGUAGE=de:es
+
+ Now let us assume that an user wants to use the swedish catalogs on
+ a machine that loads codepage CP437 when it is booted. It should be
+ noticed that the locale charset for Sweden is CP850 and not CP437.
+ In this case, the lines must look like this:
+
+ set LANG=en_US
+ set LANGUAGE=sv
+
+ LANG reflects the available codepage/charset and LANGUAGE selects the
+ wanted translation catalog. en_US means CP437. Now, the contents of the
+ catalog are recoded to CP437 instead to CP850 because CP437 is the
+ codepage used to display messages on screen. Of course, not every
+ combination of catalogs and locale charset (dos codepages) makes sense.
+ E.G.: selecting as locale charset chinese (LANG=zh_TW) and the french
+ translations (LANGUAGE=fr) will certainly not generate an usefull
+ screen output.
+
+ The content of LANG is a language code. Examples are fr for french,
+ en_US for US english, etc. This language code is an alias for the
+ locale charset to be used for runtime recoding. The complete list of
+ all available aliases can be found in %DJDIR%/lib/charset.alias. This
+ file is a table with two entries: left entry is the alias (en_US,
+ de_AT, etc.), right entry is the corresponding dos codepage that will
+ be used for that language code (alias). It should be noticed that it is
+ also possible to select a codepage directely. E.G.: Instead of setting:
+
+ set LANG=en_US
+
+ you may directely set:
+
+ set LANG=CP437
+
+ cp437 or 437 are also valid settings for CP437. This overwrites any
+ settings in charset.alias. The settings in the environment always
+ overwrite the settings in charset.alias. Please note that if you omit
+ LANG, LANGUAGE will not be honored at all. Because the information
+ about which locale charset shall be used for recoding is needed,
+ if LANG is omitted by the user this information will not be available
+ and consequently LANGUAGE will be ignored and no translation at all
+ will be done.
+ If for some reason you want to disable NLS, then you should comment
+ out the LANG variable or remove them from your AUTOEXEC.BAT file or
+ select 'C' as your catalog:
+
+ set LANG=C
+
+ or clear it by setting:
+
+ set LANG=
+
+ You can also change during a DOS session in Win9X or on plain DOS the
+ values of the LANG and LANGUAGE variables by setting or clearing them
+ from the DOS prompt.
+
+2.5.: To create an entry for the gettext info docs in your dir file
+ run from the top DJGPP installation directory the command:
+ install-info --info-dir=./info ./info/gettext.info
+
+2.6.: The binaries distributed in this package have NLS support.
+ E.G. run the command:
+ xgettext
+ and the binary should talk to you in your mother tonge, if
+ supported.
+ For futher information about GNU gettext please read the info docs.
+
+
+3.: Building the binaries from sources.
+ ===================================
+
+3.1.: To build the binaries you will need the following binary packages:
+ djdev203.zip (or a later but NOT a prior version)
+ bsh203b.zip (or a later but NOT a prior version)
+ gcc303b.zip, bnu2112b.zip, mak3791b.zip,
+ fil40b.zip, shl20jb.zip, txt20b.zip,
+ txi40b.zip, grep24b.zip, sed3028b.zip,
+ licv17b.zip
+
+ If you want to run the check you will need also:
+ dif272b.zip
+
+ If you want to recreate the html docs you will also need:
+ gro116b.zip (or a later but NOT a prior version)
+ perl561b.zip (or a later but NOT a prior version)
+
+ All this packages can be found in the v2gnu directory of any
+ Simtel.NET mirror.
+ You must have licv17b.zip or a later version installed before
+ configuring or compiling the package or the configuration and build
+ process will fail due to unresolved references to libiconv.a
+ You will need bsh203b.zip or later and *NOT* a prior version or the
+ build will fail. The same applies to djdev203.zip.
+ This updated versions have been recompiled with djdev203.zip and know
+ about the "/dev/env" functionality introduced with djdev203.zip. All the
+ other packages are the ones I have used to build the binaries from this
+ sources. Previuos versions of this packages may do the job as well but
+ I have not tested this.
+
+3.2.: Create a temporary directory and copy the source package into the
+ directory. If you download the source distribution from one of the
+ DJGPP archives, just unzip it preserving the directory structure
+ running *ONE* of the following commands:
+ unzip32 gtxt05s.zip or
+ djtarx gtxt05s.zip or
+ pkunzip -d gtxt05s.zip
+
+ Source distributions downloaded from one of the GNU FTP sites need
+ some more work to unpack. First, you *MUST* use the `djtar' program
+ to unzip the package. That is because some file names in the official
+ distributions need to be changed to avoid problems on the various
+ platforms supported by DJGPP. `djtar' can rename files on the fly given
+ a file with name mappings. The distribution includes a file
+ `djgpp/fnchange.lst' with the necessary mappings. So you need first
+ to retrieve that file, and then invoke `djtar' to unpack the
+ distribution. Here is how:
+
+ djtar -x -p -o gettext-0.11.5/djgpp/fnchange.lst gettext-0.11.5.tar.gz > lst
+ djtar -x -n lst gettext-0.11.5.tar.gz
+
+ (The name of the distribution archive and the top-level directory will
+ be different for versions other than 0.11.5.)
+
+ It is always recommended to download the DJGPP packages from some
+ Simtel.NET mirror and *NOT* the original GNU distribution because
+ only the binary distribution of the DJGPP port will contain the
+ files needed to patch libc.a. This are: conio.h and conio.o.
+
+3.3.: This package is preconfigured for NLS support and for run time recoding
+ due to the functionality provided by libiconv.a from licv17b.zip.
+ This implies that licv17b.zip *MUST* be installed *before* you try to
+ compile the package or the build process will fail.
+ It should be noticed that when you compile your own binaries with NLS
+ you must also *always* link with libiconv.a
+ If you compile this package with a later version of libc.a or if you
+ prefer no NLS support at all you will have to reconfigure this package.
+ The configuration batch file of this package, located in the djgpp
+ directory, allows you to enable or disable NLS support and to compile
+ from a different partition than from where the sources are located.
+ config.bat always configures the package for NLS support enabled and
+ for in-place compilation if no options are given.
+ The available NLS options are:
+ NLS
+ no-NLS
+
+ If for some reason you want no NLS support you will have to reconfigure
+ the package. For this purpose cd into the top srcdir (gtxt-011.5)
+ and run the following commands:
+ make distclean
+ djgpp\config no-NLS
+
+ This step is **NOT** optional and the "distclean" option must be used.
+ If you do not use the "distclean" option the config.cache file will not
+ be deleted. In this case you are **NOT** reconfiguring because the
+ configuration informations are read from the cache file instead of being
+ newly computed.
+ You **MUST** specify "no-NLS" or config.bat will default to "NLS".
+ To build the programs in a directory other than where the sources are,
+ you must add a parameter that specifies the source directory,
+ e.g:
+ x:\src\gnu\gtxt-011.5\djgpp\config x:/src/gnu/gtxt-011.5 no-NLS
+
+ 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:
+ cd \build
+ x:\src\gnu\gtxt-011.5\djgpp\config x:/src/gnu/gtxt-011.5 no-NLS
+
+ If you want NLS support you will omit "no-NLS" or replace it by
+ "NLS" in the above examples.
+ The order of the "NLS" option and the srcdir option does *NOT* matter.
+ You *MUST* use forward slashes to specify the source directory.
+
+ This 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 tests if you like.
+ From the top srcdir run the command:
+ make check
+
+ Non test should fail.
+
+3.6.: To install the binaries, header, library, catalogs, and info docs
+ run the following command from the top srcdir:
+ make install CATALOGS="xx.gmo yy.gmo zz.gmo"
+ or
+ make install CATALOGS="xx.gmo yy.gmo zz.gmo" prefix=z:/some/other/place
+
+ 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. Replace xx, yy and zz by the language codes of the catalogs you
+ want to install.
+
+3.7.: Now you have to set the LANG environment variable.
+ Please refer to section 2.3 for further information.
+
+
+4.: NLS support for other DJGPP ports.
+ ==================================
+
+ This package contains all needed files to get NLS support for the
+ following DJGPP ports:
+ bison-1.32 (bsn132s.zip)
+ enscript-1.6.2 (ens162s.zip)
+ fileutils-4.0 (fil40s.zip)
+ grep-2.4 (grep24s.zip)
+ id-utils-3.2 (idu32s.zip)
+ make-3.79.1 (mak3791s.zip)
+ recode-3.6 (rcode36s.zip)
+ sed-3.02.80 (sed3028s.zip)
+ sharutils-4.2c (shar42cs.zip)
+ sh-utils-2.0j (shl20js.zip)
+ tar-1.12a (tar112as.zip)
+ texinfo-4.0 (txi40s.zip)
+ textutils-2.0 (txt20s.zip)
+
+ The files needed are placed in the NLS_for_djgpp_packages tree located
+ in djgpp directory. I will explane this using grep-2.4 as example.
+ This means that file names or command names may change from port to port.
+ The configuration batch files and the sed scripts of every package have
+ the same name as the original ones that this ones will replace. If you
+ are familiar with the original package you shall have no difficulties
+ in reconfigure the package for NLS support.
+ Please inspect the tree NLS_for_djgpp_packages to see what files will
+ be replaced.
+
+4.1.: To reconfigure and recompile a source package with NLS support you
+ *MUST* install the gtxt05b.zip and licv17b.zip packages
+ first. NLS support will **NOT** work with any prior version of the above
+ mentioned packages. Before installing gtxt05b.zip and licv17b.zip
+ you *MUST* deinstall the old packages if you ever have installed them.
+ For this purpose use the provided manifest files from the old packages.
+ Old packages means previous beta releases of gtxt05b.zip and licv17b.zip
+ *AND* also previous versions of gettext like gettext 0.10.32, etc.
+
+4.2.: We will assume that the required sources will be unzipped into
+ a directory called src.
+ Copy grep24s.zip into /src and decompress them preserving the directory
+ structure running the command:
+ unzip32 *.zip
+ This will create the directory:
+ /src/gnu/grep-2.4
+
+ The binary package gtxt05b.zip will create the directory:
+ %DJDIR%/gnu/gtxt-011.5/djgpp/NLS_for_djgpp_packages/grep-2.4
+ This directory contains all needed files.
+ The files are:
+ grep-2.4/djgpp/config.bat (new .bat file that replaces the original one.)
+ grep-2.4/djgpp/config.sed (sed script needed to modify configure.)
+ grep-2.4/djgpp/config.site (defaults for configure.)
+
+ Now we will xcopy the needed files into the original grep-2.4 directory.
+ First we will cd into the grep-2.4 directory and then we will run the
+ following command:
+ xcopy %DJDIR%\gnu\gtxt-011.5\djgpp\NLS_for_djgpp_packages\grep-2.4 /v/s/e
+
+4.3.: Before the package can be reconfigured, the old configuration must be
+ cleared. Run the command:
+ make distclean
+
+ This will remove all Makefiles, config.h and config.cache file with old
+ configuration information. This step is *NOT* optional and it must be
+ used the "distclean" target.
+
+4.4.: Now the package can be configured running the command:
+ djgpp\config
+ if you want to build the products in the /src/grep-2.4 directory, or:
+ c:\src\grep-2.4\djgpp\config c:/src/grep-2.4
+ if you want to build the products on a different drive or directory.
+ You can still configure without NLS support if you want. In this case
+ simply add the option "no-NLS" to the above commands.
+
+4.5.: Now the package can be compiled and checked by running the commands:
+ make
+ make check
+ The first command will create also all the available translation
+ catalogs (.gmo files). Before running the tests you should clear
+ the LANGUAGE and/or LANG variable or the tests will probably fail.
+
+4.6.: Now the products can be installed by running the command:
+ make install CATALOGS="xx.gmo yy.gmo"
+
+ Replace xx and yy by the appropiate language codeof the catalogs you
+ want to install. If you omit CATALOGS then all catalogs will be installed.
+ You can install into a temp directory if you want by specifying a prefix:
+ make install prefix=z:/tmp CATALOGS="xx.gmo yy.gmo zz.gmo"
+
+4.7.: Now you have to set the LANG and LANGUAGE environment variable.
+ Please refer to 2.4.
+
+
+ Send GNU gettext specific bug reports to <bug-gnu-gettext@gnu.org>.
+ Send suggestions and bug reports concerning the DJGPP port to
+ comp.os.msdos.djgpp or <djgpp@delorie.com>.
+
+
+Enjoy.
+
+ Guerrero, Juan Manuel <st001906@hrz1.hrz.tu-darmstadt.de>
diff --git a/djgpp/README.DJ b/djgpp/README.DJ
new file mode 100644
index 0000000..308f772
--- /dev/null
+++ b/djgpp/README.DJ
@@ -0,0 +1 @@
+A copy of djgpp can be obtained at http://www.delorie.com/djgpp/.
diff --git a/djgpp/README.in b/djgpp/README.in
new file mode 100644
index 0000000..36bf3e3
--- /dev/null
+++ b/djgpp/README.in
@@ -0,0 +1,515 @@
+This is a port of GNU Gettext @VER@ to MSDOS/DJGPP.
+
+
+ TO USE THE GNU GETTEXT LIBRARY YOU **MUST** MODIFY YOUR C-LIBRARY.
+ PLEASE, READ SECTION #2 (Installing the binary package) CAREFULLY
+ TO LEARN HOW TO INSTALL THE GNU GETTEXT LIBRARY AND HOW TO CHANGE
+ YOUR C-LIBRARY AND SYSTEM HEADER FILE.
+ TO USE THE GNU GETTEXT LIBRARY YOU **MUST** DOWNLOAD AND INSTALL
+ LICV17B.ZIP TOO. THIS IS **NOT** OPTIONAL.
+ IT IS NOT RECOMMED TO DOWNLOAD THE GNU DISTRIBUTION OF GETTEXT
+ BECAUSE ONLY THE DJGPP PORT WILL CONTAIN THE REQUIRED HEADER AND
+ OBJECT FILE TO PATCH THE C LIBRARY.
+
+
+1.: DJGPP specific changes.
+ =======================
+
+ The DJGPP specific changes are the followings:
+ 1) The conflict existing between the BORLAND-compatibility gettext function
+ from DJGPP's libc.a defined in conio.h and the GNU gettext function from
+ libintl.a defined in libintl.h has been removed. But this conflict can not
+ be removed **WITHOUT** changing a system header file and libc.a.
+ 1.1) libc.a and system header changes.
+ In conio.c, the BORLAND-compatibility gettext function has been renamed
+ into _conio_gettext. In conio.h some code has been added to check if
+ libintl.h is included or not by the same source file. If libintl.h is NOT
+ included, the BORLAND-compatibility gettext function will be available as
+ gettext. If libintl.h has been included then the BORLAND-compatibility
+ gettext function will **ONLY** be available as _conio_gettext.
+ The BORLAND-compatibility gettext function is now available as gettext
+ and _conio_gettext.
+ 1.2) GNU gettext library changes.
+ If both headers, libintl.h and conio.h, are included in the same source
+ file the gettext keyword makes **ALWAYS** reference to the GNU gettext
+ function and **NEVER** to the BORLAND-compatibility gettext function.
+
+ 2) The binary package gtxt@packageversion@b.zip contains all needed files to get NLS
+ support for the following DJGPP ports:
+ bison-1.32 (bsn132s.zip)
+ enscript-1.6.2 (ens162s.zip)
+ fileutils-4.0 (fil40s.zip)
+ grep-2.4 (grep24s.zip)
+ id-utils-3.2 (idu32s.zip)
+ make-3.79.1 (mak3791s.zip)
+ recode-3.6 (rcode36s.zip)
+ sed-3.02.80 (sed3028s.zip)
+ sharutils-4.2c (shar42cs.zip)
+ sh-utils-2.0j (shl20js.zip)
+ tar-1.12a (tar112as.zip)
+ texinfo-4.0 (txi40s.zip)
+ textutils-2.0 (txt20s.zip)
+
+ See section #4 for further information about this issue.
+ To implement NLS support for one of those packages you will also need
+ to download the following packages:
+ gtxt@packageversion@b.zip (binaries of GNU Gettext @VER@)
+ licv17b.zip (binaries of GNU libiconv 1.7)
+ fil40b.zip (binaries of GNU Fileutils 4.0)
+ shl20jb.zip (binaries of GNU Sh-utils 2.0j)
+
+
+2.: Installing the binary package.
+ ==============================
+
+2.1.: To use this binary package you **MUST** install licv17b.zip or later
+ first. licv17b.zip provides the required functionality to recode the
+ .mo files at run time from the unix charsets used to create them to the
+ dos codepages used to display them. Copy the binary distribution into
+ the top DJGPP installation directory. If you are installing Gettext on
+ a dual DOS/WINDOWS 9X systems, you *MUST* first turn off the generation
+ of numeric tails for 8.3 aliases Windows creats for long file names.
+ For information about how to do this, please read the DJGPP FAQ List
+ V 2.30, chapter 22.19: "How to Set Up a Dual DOS/Windows Installation".
+ It should be noticed that neither the libintl.a library nor the
+ binaries (xgettext.exe, gettext.exe, etc.) contain any code to handle
+ nuneric tails of short file names. This implies that if you install
+ the binary packages in a DOS box of Win9X (LFN) **WITHOUT** turning
+ off the numeric tail generation you will **NOT** be able to use NLS
+ on plain DOS. Once again: if you want NLS support on both Win9X **AND**
+ on plain DOS you **MUST** turn off the numeric tail generation **BEFORE**
+ installing the binary package. After having installed the package
+ you can turn on numerical tail generation again if you wish.
+ All this also applies to any other package that has been compiled with
+ NLS support. You **MUST** turn off numeric tail generation every time
+ you install a package that has been compiled with NLS or the binaries
+ will **NOT** be able to find their .mo files (translations) when you
+ switch to plain DOS.
+
+2.2.: Copy the binary distribution into the top DJGPP installation directory,
+ just unzip it preserving the directory structure running *ONE* of the
+ following commands:
+ unzip32 gtxt@packageversion@b.zip or
+ djtarx gtxt@packageversion@b.zip or
+ pkunzip -d gtxt@packageversion@b.zip
+
+2.3.: Changing libc.a and conio.h.
+ Apart from the ussual directories, the binary package will create the
+ following directory:
+ %DJDIR%/gnu/gtxt-@treeversion@/djgpp/djdev-2.03
+ where %DJDIR% stands for the root of your DJGPP installation tree.
+ Cd into the djdev-2.03 directory. You will find the following files:
+ conio.diffs
+ conio.h
+ conio.o
+ conio.diffs is a patch file that documents the changes I have done against
+ the files of the original djdev203.zip and djlsr203.zip distributions.
+ This file is not needed by the average user. conio.h is the modified header
+ and conio.o is the recompiled new conio.c file that will replace the old
+ conio.o contained in libc.a.
+
+ For all commands that will follow now I will assume that you have
+ cd'ed into the %DJDIR%/gnu/gtxt-@treeversion@/djgpp/djdev-2.03 directory,
+ where %DJDIR% represents the path to your DJGPP installation. First,
+ you should backup your old header and library. For this task, run the
+ following command sequence (cp is the copy program from fil40b.zip):
+ cp /dev/env/DJDIR/include/conio.h /dev/env/DJDIR/include/conio.bak
+ cp /dev/env/DJDIR/lib/libc.a /dev/env/DJDIR/lib/libc.bak
+
+ Now you can copy the new header into your include directory
+ running the command:
+ cp conio.h /dev/env/DJDIR/include
+
+ Now you can substitute the old conio.o file in libc.a with the new one.
+ For this task you will need the ar program from binutils.
+ Run the command:
+ ar -rv /dev/env/DJDIR/lib/libc.a conio.o
+ You are done.
+
+2.3.: The NLS controling environment variables, LANG and LANGUAGE, must be
+ set to their appropiate values. The exact way how these variables
+ should be set depends on your operating system:
+
+ * For Windows 98 systems:
+ - Click START;
+ - Choose Programs->Accessories->System Tools->System Information;
+ - Click Tools in the menu-bar, then choose "System Configuration";
+ - Use the tab provided there for editing your AUTOEXEC.BAT as
+ explained below.
+
+ * For Windows NT systems:
+ - Right-click "My Computer", then select "Properties";
+ - Click the "Environment" tab;
+ - Add a new variables LANG and LANGUAGE and set their values to the
+ wanted language codes file as explained below.
+
+ * For all other systems (DOS, Windows 3.X and Windows 95): use any
+ text editor, e.g. the standard EDIT, to edit the file AUTOEXEC.BAT
+ in the root directory of the boot drive (usually, C:).
+
+ The values of the two environment variables LANG and LANGUAGE should be
+ set like this:
+
+ set LANG=xx
+ set LANGUAGE=yy:zz
+
+ xx, yy and zz are place holders for the wanted language codes. For
+ posible values, please read below.
+ The LANG entry is obligatory, the LANGUAGE entry may be omited. The
+ LANG variable selects the locale charsets (dos codepage) to be used to
+ display the program's output and the catalog (.mo file) that contains
+ the translated strings to be used. The LANGUAGE variable allows you to
+ select an alternate catalog than the one stipulated by LANG. Replace
+ xx, yy and zz by the language code of the catalogs you want to use. It
+ should be noticed that LANGUAGE has *ALWAYS* higher priority than LANG.
+ The LANG variable not only selects a catalog, it also specifies the dos
+ codepage that will be used as locale charset. All this means that the
+ translation strings contained in the catalogs (.mo files) will be
+ recoded at runtime to the dos codepage stipulated by the value of LANG.
+ This runtime recoding is needed because the .mo files may have been
+ written using a charset that is not compatible with the charset that
+ will be used on the machine and OS where the .mo files contents will be
+ displayed. The .po files of the GNU packages, from which the .mo files
+ are generated, are typical examples of this. Usualy, they have been
+ written using some ISO-8859-nn charset (an unix charset) and shall be
+ displayed on a DOS/WIN95 machine that uses some dos codepage.
+
+ Some examples:
+ If you only want to use the catalog containing the translations for
+ your mother tongue (in my case the spanish translations) the above
+ lines will only use the LANG variable and will look like this:
+
+ set LANG=es
+
+ In this case, LANG defines the locale charset (CP850 in this case) to
+ be used for the on-the-fly recoding of the catalog (.mo file) contents
+ **AND AT THE SAME TIME** the translation/language (.mo file) to be used.
+
+ If you want to use the spanish (es) and german (de) catalogs the above
+ lines will look like this:
+
+ set LANG=es
+ set LANGUAGE=es:de
+
+ In this case a DJGPP binary that has been compiled with NLS support
+ will first search for the spanish translation of a string. If a
+ translation for that particular string can not be found in the spanish
+ .mo file then it will search for a german translation of that string in
+ the german .mo file and if a german translation of that string can also
+ not been found it will default to display the build-in english string.
+ No mather if a spanish, a german or an english build-in string is
+ selected, the string is always recoded to the dos codepage stipulated
+ by LANG. In this case: CP850. In the above example, LANGUAGE defines
+ the set of languages to be used and their priority (from left to right).
+ At the same time, LANG defines the locale charset (dos codepage) to be
+ used to recode **ALL** translated string, no matter which language
+ (.mo file) is used.
+ If you want to reverse this search order the above lines would look
+ like this one:
+
+ set LANG=es
+ set LANGUAGE=de:es
+
+ Now let us assume that an user wants to use the swedish catalogs on
+ a machine that loads codepage CP437 when it is booted. It should be
+ noticed that the locale charset for Sweden is CP850 and not CP437.
+ In this case, the lines must look like this:
+
+ set LANG=en_US
+ set LANGUAGE=sv
+
+ LANG reflects the available codepage/charset and LANGUAGE selects the
+ wanted translation catalog. en_US means CP437. Now, the contents of the
+ catalog are recoded to CP437 instead to CP850 because CP437 is the
+ codepage used to display messages on screen. Of course, not every
+ combination of catalogs and locale charset (dos codepages) makes sense.
+ E.G.: selecting as locale charset chinese (LANG=zh_TW) and the french
+ translations (LANGUAGE=fr) will certainly not generate an usefull
+ screen output.
+
+ The content of LANG is a language code. Examples are fr for french,
+ en_US for US english, etc. This language code is an alias for the
+ locale charset to be used for runtime recoding. The complete list of
+ all available aliases can be found in %DJDIR%/lib/charset.alias. This
+ file is a table with two entries: left entry is the alias (en_US,
+ de_AT, etc.), right entry is the corresponding dos codepage that will
+ be used for that language code (alias). It should be noticed that it is
+ also possible to select a codepage directely. E.G.: Instead of setting:
+
+ set LANG=en_US
+
+ you may directely set:
+
+ set LANG=CP437
+
+ cp437 or 437 are also valid settings for CP437. This overwrites any
+ settings in charset.alias. The settings in the environment always
+ overwrite the settings in charset.alias. Please note that if you omit
+ LANG, LANGUAGE will not be honored at all. Because the information
+ about which locale charset shall be used for recoding is needed,
+ if LANG is omitted by the user this information will not be available
+ and consequently LANGUAGE will be ignored and no translation at all
+ will be done.
+ If for some reason you want to disable NLS, then you should comment
+ out the LANG variable or remove them from your AUTOEXEC.BAT file or
+ select 'C' as your catalog:
+
+ set LANG=C
+
+ or clear it by setting:
+
+ set LANG=
+
+ You can also change during a DOS session in Win9X or on plain DOS the
+ values of the LANG and LANGUAGE variables by setting or clearing them
+ from the DOS prompt.
+
+2.5.: To create an entry for the gettext info docs in your dir file
+ run from the top DJGPP installation directory the command:
+ install-info --info-dir=./info ./info/gettext.info
+
+2.6.: The binaries distributed in this package have NLS support.
+ E.G. run the command:
+ xgettext
+ and the binary should talk to you in your mother tonge, if
+ supported.
+ For futher information about GNU gettext please read the info docs.
+
+
+3.: Building the binaries from sources.
+ ===================================
+
+3.1.: To build the binaries you will need the following binary packages:
+ djdev203.zip (or a later but NOT a prior version)
+ bsh203b.zip (or a later but NOT a prior version)
+ gcc303b.zip, bnu2112b.zip, mak3791b.zip,
+ fil40b.zip, shl20jb.zip, txt20b.zip,
+ txi40b.zip, grep24b.zip, sed3028b.zip,
+ licv17b.zip
+
+ If you want to run the check you will need also:
+ dif272b.zip
+
+ If you want to recreate the html docs you will also need:
+ gro116b.zip (or a later but NOT a prior version)
+ perl561b.zip (or a later but NOT a prior version)
+
+ All this packages can be found in the v2gnu directory of any
+ Simtel.NET mirror.
+ You must have licv17b.zip or a later version installed before
+ configuring or compiling the package or the configuration and build
+ process will fail due to unresolved references to libiconv.a
+ You will need bsh203b.zip or later and *NOT* a prior version or the
+ build will fail. The same applies to djdev203.zip.
+ This updated versions have been recompiled with djdev203.zip and know
+ about the "/dev/env" functionality introduced with djdev203.zip. All the
+ other packages are the ones I have used to build the binaries from this
+ sources. Previuos versions of this packages may do the job as well but
+ I have not tested this.
+
+3.2.: Create a temporary directory and copy the source package into the
+ directory. If you download the source distribution from one of the
+ DJGPP archives, just unzip it preserving the directory structure
+ running *ONE* of the following commands:
+ unzip32 gtxt@packageversion@s.zip or
+ djtarx gtxt@packageversion@s.zip or
+ pkunzip -d gtxt@packageversion@s.zip
+
+ Source distributions downloaded from one of the GNU FTP sites need
+ some more work to unpack. First, you *MUST* use the `djtar' program
+ to unzip the package. That is because some file names in the official
+ distributions need to be changed to avoid problems on the various
+ platforms supported by DJGPP. `djtar' can rename files on the fly given
+ a file with name mappings. The distribution includes a file
+ `djgpp/fnchange.lst' with the necessary mappings. So you need first
+ to retrieve that file, and then invoke `djtar' to unpack the
+ distribution. Here is how:
+
+ djtar -x -p -o @V@/djgpp/fnchange.lst @V@.tar.gz > lst
+ djtar -x -n lst @V@.tar.gz
+
+ (The name of the distribution archive and the top-level directory will
+ be different for versions other than @VER@.)
+
+ It is always recommended to download the DJGPP packages from some
+ Simtel.NET mirror and *NOT* the original GNU distribution because
+ only the binary distribution of the DJGPP port will contain the
+ files needed to patch libc.a. This are: conio.h and conio.o.
+
+3.3.: This package is preconfigured for NLS support and for run time recoding
+ due to the functionality provided by libiconv.a from licv17b.zip.
+ This implies that licv17b.zip *MUST* be installed *before* you try to
+ compile the package or the build process will fail.
+ It should be noticed that when you compile your own binaries with NLS
+ you must also *always* link with libiconv.a
+ If you compile this package with a later version of libc.a or if you
+ prefer no NLS support at all you will have to reconfigure this package.
+ The configuration batch file of this package, located in the djgpp
+ directory, allows you to enable or disable NLS support and to compile
+ from a different partition than from where the sources are located.
+ config.bat always configures the package for NLS support enabled and
+ for in-place compilation if no options are given.
+ The available NLS options are:
+ NLS
+ no-NLS
+
+ If for some reason you want no NLS support you will have to reconfigure
+ the package. For this purpose cd into the top srcdir (gtxt-@treeversion@)
+ and run the following commands:
+ make distclean
+ djgpp\config no-NLS
+
+ This step is **NOT** optional and the "distclean" option must be used.
+ If you do not use the "distclean" option the config.cache file will not
+ be deleted. In this case you are **NOT** reconfiguring because the
+ configuration informations are read from the cache file instead of being
+ newly computed.
+ You **MUST** specify "no-NLS" or config.bat will default to "NLS".
+ To build the programs in a directory other than where the sources are,
+ you must add a parameter that specifies the source directory,
+ e.g:
+ x:\src\gnu\gtxt-@treeversion@\djgpp\config x:/src/gnu/gtxt-@treeversion@ no-NLS
+
+ 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:
+ cd \build
+ x:\src\gnu\gtxt-@treeversion@\djgpp\config x:/src/gnu/gtxt-@treeversion@ no-NLS
+
+ If you want NLS support you will omit "no-NLS" or replace it by
+ "NLS" in the above examples.
+ The order of the "NLS" option and the srcdir option does *NOT* matter.
+ You *MUST* use forward slashes to specify the source directory.
+
+ This 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 tests if you like.
+ From the top srcdir run the command:
+ make check
+
+ Non test should fail.
+
+3.6.: To install the binaries, header, library, catalogs, and info docs
+ run the following command from the top srcdir:
+ make install CATALOGS="xx.gmo yy.gmo zz.gmo"
+ or
+ make install CATALOGS="xx.gmo yy.gmo zz.gmo" prefix=z:/some/other/place
+
+ 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. Replace xx, yy and zz by the language codes of the catalogs you
+ want to install.
+
+3.7.: Now you have to set the LANG environment variable.
+ Please refer to section 2.3 for further information.
+
+
+4.: NLS support for other DJGPP ports.
+ ==================================
+
+ This package contains all needed files to get NLS support for the
+ following DJGPP ports:
+ bison-1.32 (bsn132s.zip)
+ enscript-1.6.2 (ens162s.zip)
+ fileutils-4.0 (fil40s.zip)
+ grep-2.4 (grep24s.zip)
+ id-utils-3.2 (idu32s.zip)
+ make-3.79.1 (mak3791s.zip)
+ recode-3.6 (rcode36s.zip)
+ sed-3.02.80 (sed3028s.zip)
+ sharutils-4.2c (shar42cs.zip)
+ sh-utils-2.0j (shl20js.zip)
+ tar-1.12a (tar112as.zip)
+ texinfo-4.0 (txi40s.zip)
+ textutils-2.0 (txt20s.zip)
+
+ The files needed are placed in the NLS_for_djgpp_packages tree located
+ in djgpp directory. I will explane this using grep-2.4 as example.
+ This means that file names or command names may change from port to port.
+ The configuration batch files and the sed scripts of every package have
+ the same name as the original ones that this ones will replace. If you
+ are familiar with the original package you shall have no difficulties
+ in reconfigure the package for NLS support.
+ Please inspect the tree NLS_for_djgpp_packages to see what files will
+ be replaced.
+
+4.1.: To reconfigure and recompile a source package with NLS support you
+ *MUST* install the gtxt@packageversion@b.zip and licv17b.zip packages
+ first. NLS support will **NOT** work with any prior version of the above
+ mentioned packages. Before installing gtxt@packageversion@b.zip and licv17b.zip
+ you *MUST* deinstall the old packages if you ever have installed them.
+ For this purpose use the provided manifest files from the old packages.
+ Old packages means previous beta releases of gtxt@packageversion@b.zip and licv17b.zip
+ *AND* also previous versions of gettext like gettext 0.10.32, etc.
+
+4.2.: We will assume that the required sources will be unzipped into
+ a directory called src.
+ Copy grep24s.zip into /src and decompress them preserving the directory
+ structure running the command:
+ unzip32 *.zip
+ This will create the directory:
+ /src/gnu/grep-2.4
+
+ The binary package gtxt@packageversion@b.zip will create the directory:
+ %DJDIR%/gnu/gtxt-@treeversion@/djgpp/NLS_for_djgpp_packages/grep-2.4
+ This directory contains all needed files.
+ The files are:
+ grep-2.4/djgpp/config.bat (new .bat file that replaces the original one.)
+ grep-2.4/djgpp/config.sed (sed script needed to modify configure.)
+ grep-2.4/djgpp/config.site (defaults for configure.)
+
+ Now we will xcopy the needed files into the original grep-2.4 directory.
+ First we will cd into the grep-2.4 directory and then we will run the
+ following command:
+ xcopy %DJDIR%\gnu\gtxt-@treeversion@\djgpp\NLS_for_djgpp_packages\grep-2.4 /v/s/e
+
+4.3.: Before the package can be reconfigured, the old configuration must be
+ cleared. Run the command:
+ make distclean
+
+ This will remove all Makefiles, config.h and config.cache file with old
+ configuration information. This step is *NOT* optional and it must be
+ used the "distclean" target.
+
+4.4.: Now the package can be configured running the command:
+ djgpp\config
+ if you want to build the products in the /src/grep-2.4 directory, or:
+ c:\src\grep-2.4\djgpp\config c:/src/grep-2.4
+ if you want to build the products on a different drive or directory.
+ You can still configure without NLS support if you want. In this case
+ simply add the option "no-NLS" to the above commands.
+
+4.5.: Now the package can be compiled and checked by running the commands:
+ make
+ make check
+ The first command will create also all the available translation
+ catalogs (.gmo files). Before running the tests you should clear
+ the LANGUAGE and/or LANG variable or the tests will probably fail.
+
+4.6.: Now the products can be installed by running the command:
+ make install CATALOGS="xx.gmo yy.gmo"
+
+ Replace xx and yy by the appropiate language codeof the catalogs you
+ want to install. If you omit CATALOGS then all catalogs will be installed.
+ You can install into a temp directory if you want by specifying a prefix:
+ make install prefix=z:/tmp CATALOGS="xx.gmo yy.gmo zz.gmo"
+
+4.7.: Now you have to set the LANG and LANGUAGE environment variable.
+ Please refer to 2.4.
+
+
+ Send GNU gettext specific bug reports to <bug-gnu-gettext@gnu.org>.
+ Send suggestions and bug reports concerning the DJGPP port to
+ comp.os.msdos.djgpp or <djgpp@delorie.com>.
+
+
+Enjoy.
+
+ Guerrero, Juan Manuel <st001906@hrz1.hrz.tu-darmstadt.de>
diff --git a/djgpp/config.bat b/djgpp/config.bat
new file mode 100755
index 0000000..b5a1cdf
--- /dev/null
+++ b/djgpp/config.bat
@@ -0,0 +1,340 @@
+@echo off
+echo Configuring GNU Gettext for DJGPP v2.x...
+
+Rem The SmallEnv tests protect against fixed and too small size
+Rem of the environment in stock DOS shell.
+
+Rem Find out if NLS is wanted or not,
+Rem if dependency-tracking is wanted or not,
+Rem if caching is wanted or not
+Rem if static or shared libraries are wanted
+Rem and where the sources are.
+Rem We always default to NLS support,
+Rem no dependency tracking, static library
+Rem and to in place configuration.
+set ARGS=
+set NLS=enabled
+if not "%NLS%" == "enabled" goto SmallEnv
+set CACHING=enabled
+if not "%CACHING%" == "enabled" goto SmallEnv
+set DEPENDENCY_TRACKING=disabled
+if not "%DEPENDENCY_TRACKING%" == "disabled" goto SmallEnv
+set LIBICONV_PREFIX=disabled
+if not "%LIBICONV_PREFIX%" == "disabled" goto SmallEnv
+set LIBINTL_PREFIX=disabled
+if not "%LIBINTL_PREFIX%" == "disabled" goto SmallEnv
+set STATIC_LIBRARY=enabled
+if not "%STATIC_LIBRARY%" == "enabled" goto SmallEnv
+set XSRC=.
+if not "%XSRC%" == "." goto SmallEnv
+
+Rem Loop over all arguments.
+Rem Special arguments are: NLS, XSRC, CACHE, STATIC_LIBS, LIBICONV_PREFIX, LIBINTL_PREFIX and DEPS.
+Rem All other arguments are stored into ARGS.
+:ArgLoop
+if "%1" == "nls" goto NextArgument
+if "%1" == "NLS" goto NextArgument
+if "%1" == "no-nls" goto NoNLS
+if "%1" == "no-NLS" goto NoNLS
+if "%1" == "NO-NLS" goto NoNLS
+goto CachingOption
+:NoNLS
+if "%1" == "no-nls" set NLS=disabled
+if "%1" == "no-NLS" set NLS=disabled
+if "%1" == "NO-NLS" set NLS=disabled
+if not "%NLS%" == "disabled" goto SmallEnv
+goto NextArgument
+:CachingOption
+if "%1" == "cache" goto NextArgument
+if "%1" == "CACHE" goto NextArgument
+if "%1" == "no-cache" goto NoCaching
+if "%1" == "no-CACHE" goto NoCaching
+if "%1" == "NO-CACHE" goto NoCaching
+goto DependencyOption
+:NoCaching
+if "%1" == "no-cache" set CACHING=disabled
+if "%1" == "no-CACHE" set CACHING=disabled
+if "%1" == "NO-CACHE" set CACHING=disabled
+if not "%CACHING%" == "disabled" goto SmallEnv
+goto NextArgument
+:DependencyOption
+if "%1" == "no-dep" goto NextArgument
+if "%1" == "no-DEP" goto NextArgument
+if "%1" == "NO-DEP" goto NextArgument
+if "%1" == "dep" goto DependecyTraking
+if "%1" == "DEP" goto DependecyTraking
+goto LibiconvPrefixOption
+:DependecyTraking
+if "%1" == "dep" set DEPENDENCY_TRACKING=enabled
+if "%1" == "DEP" set DEPENDENCY_TRACKING=enabled
+if not "%DEPENDENCY_TRACKING%" == "enabled" goto SmallEnv
+goto NextArgument
+:LibiconvPrefixOption
+if "%1" == "no-libiconvprefix" goto NextArgument
+if "%1" == "no-LIBICONVPREFIX" goto NextArgument
+if "%1" == "NO-LIBICONVPREFIX" goto NextArgument
+if "%1" == "libiconvprefix" goto WithLibiconvPrefix
+if "%1" == "LIBICONVPREFIX" goto WithLibiconvPrefix
+goto LibintlPrefixOption
+:WithLibiconvPrefix
+if "%1" == "libiconvprefix" set LIBICONV_PREFIX=enabled
+if "%1" == "LIBICONVPREFIX" set LIBICONV_PREFIX=enabled
+if not "%LIBICONV_PREFIX%" == "enabled" goto SmallEnv
+goto NextArgument
+:LibintlPrefixOption
+if "%1" == "no-libiconvprefix" goto NextArgument
+if "%1" == "no-LIBICONVPREFIX" goto NextArgument
+if "%1" == "NO-LIBICONVPREFIX" goto NextArgument
+if "%1" == "libintlprefix" goto _WithLibintlPrefix
+if "%1" == "LIBINTLPREFIX" goto _WithLibintlPrefix
+goto StaticLibraryOption
+:_WithLibintlPrefix
+if "%1" == "libintlprefix" set LIBINTL_PREFIX=enabled
+if "%1" == "LIBINTLPREFIX" set LIBINTL_PREFIX=enabled
+if not "%LIBINTL_PREFIX%" == "enabled" goto SmallEnv
+goto NextArgument
+:StaticLibraryOption
+if "%1" == "static" goto NextArgument
+if "%1" == "STATIC" goto NextArgument
+if "%1" == "shared" goto SharedLibrary
+if "%1" == "SHARED" goto SharedLibrary
+goto SrcDirOption
+:SharedLibrary
+if "%1" == "shared" set STATIC_LIBRARY=disabled
+if "%1" == "SHARED" set STATIC_LIBRARY=disabled
+if not "%STATIC_LIBRARY%" == "disabled" goto SmallEnv
+goto NextArgument
+:SrcDirOption
+echo %1 | grep -q "/"
+if errorlevel 1 goto CollectArgument
+set XSRC=%1
+if not "%XSRC%" == "%1" goto SmallEnv
+goto NextArgument
+:CollectArgument
+set _ARGS=%ARGS% %1
+if not "%_ARGS%" == "%ARGS% %1" if not "%_ARGS%" == "%ARGS%%1" goto SmallEnv
+echo %_ARGS% | grep -q "[^ ]"
+if not errorlevel 0 set ARGS=%_ARGS%
+set _ARGS=
+:NextArgument
+shift
+if not "%1" == "" goto ArgLoop
+
+Rem Create an arguments file for the configure script.
+echo --srcdir=%XSRC% > arguments
+if "%CACHING%" == "enabled" echo --cache-file=%XSRC%/djgpp/config.cache >> arguments
+if "%DEPENDENCY_TRACKING%" == "enabled" echo --enable-dependency-tracking >> arguments
+if "%DEPENDENCY_TRACKING%" == "disabled" echo --disable-dependency-tracking >> arguments
+if "%LIBICONV_PREFIX%" == "enabled" echo --with-libiconv-prefix >> arguments
+if "%LIBICONV_PREFIX%" == "disabled" echo --without-libiconv-prefix >> arguments
+if "%LIBINTL_PREFIX%" == "enabled" echo --with-libintl-prefix >> arguments
+if "%LIBINTL_PREFIX%" == "disabled" echo --without-libintl-prefix >> arguments
+if "%STATIC_LIBRARY%" == "enabled" echo --enable-static --disable-shared >> arguments
+if "%STATIC_LIBRARY%" == "disabled" echo --enable-shared --disable-static >> arguments
+if not "%ARGS%" == "" echo %ARGS% >> arguments
+set ARGS=
+set CACHING=
+set DEPENDENCY_TRACKING=
+set LIBICONV_PREFIX=
+set LIBINTL_PREFIX=
+set STATIC_LIBRARY=
+
+if "%XSRC%" == "." goto InPlace
+
+:NotInPlace
+redir -e /dev/null update %XSRC%/configure.orig ./configure
+test -f ./configure
+if errorlevel 1 update %XSRC%/configure ./configure
+
+:InPlace
+Rem Update configuration files
+echo Updating configuration scripts...
+test -f ./configure.orig
+if errorlevel 1 update configure configure.orig
+sed -f %XSRC%/djgpp/config.sed configure.orig > configure
+if errorlevel 1 goto SedError
+
+Rem Make sure they have a config.site file
+set CONFIG_SITE=%XSRC%/djgpp/config.site
+if not "%CONFIG_SITE%" == "%XSRC%/djgpp/config.site" goto SmallEnv
+
+Rem Make sure crucial file names are not munged by unpacking
+test -f %XSRC%/config.h.in
+if not errorlevel 1 mv -f %XSRC%/config.h.in %XSRC%/config.h-in
+test -f %XSRC%/configh.in
+if not errorlevel 1 mv -f %XSRC%/config.h.in %XSRC%/config.h-in
+test -f %XSRC%/config.h-in
+if errorlevel 1 mv -f %XSRC%/config.h %XSRC%/config.h-in
+test -f %XSRC%/po/Makefile.in.in
+if not errorlevel 1 mv -f %XSRC%/po/Makefile.in.in %XSRC%/po/Makefile.in-in
+
+Rem While building the binaries in src/ subdir an intermediary
+Rem file called po-gram-gen2.h is generated from po-gram-gen.h.
+Rem Both resolve to the same 8.3 filename. po-gram-gen2.h will
+Rem be renamed to po-gram_gen2.h and src/po-lex.c must be fixed
+Rem accordingly.
+test -f %XSRC%/src/po-lex.orig
+if errorlevel 1 update %XSRC%/src/po-lex.c %XSRC%/src/po-lex.orig
+sed "s/po-gram-gen2.h/po-gram_gen2.h/g" %XSRC%/src/po-lex.orig > po-lex.tmp
+if errorlevel 1 goto SedError
+mv ./po-lex.tmp %XSRC%/src/po-lex.c
+
+Rem Starting with gettext-0.11 posix function unsetenv() is needed.
+Rem As long as djdev204 has not been released, we will provide
+Rem unsetenv.c from djdev204 CVS tree.
+test -f %XSRC%/lib/unsetenv.c
+if errorlevel 1 update %XSRC%/djgpp/unsetenv.c %XSRC%/lib/unsetenv.c
+
+Rem Starting with gettext-0.11 pw_gecos is needed.
+Rem As long as djdev204 has not been released, we will provide
+Rem getpwman.c and pwd.h (djpwd.h) from djdev204 CVS tree.
+test -f %XSRC%/lib/djpwd.h
+if errorlevel 1 update %XSRC%/djgpp/djpwd.h %XSRC%/lib/djpwd.h
+test -f %XSRC%/lib/getpwnam.c
+if errorlevel 1 update %XSRC%/djgpp/getpwnam.c %XSRC%/lib/getpwnam.c
+
+Rem src/msginit.c must use the distributed CVS tree pwd.h
+Rem instead of the system's one.
+test -f %XSRC%/src/msginit.orig
+if errorlevel 1 update %XSRC%/src/msginit.c %XSRC%/src/msginit.orig
+sed -f %XSRC%/djgpp/msginit.sed %XSRC%/src/msginit.orig > msginit.tmp
+if errorlevel 1 goto SedError
+mv ./msginit.tmp %XSRC%/src/msginit.c
+
+Rem POTFILES.in must be adjusted to reflect the changed names
+Rem according to fnchange.lst.
+test -f %XSRC%/po/POTFILES.orig
+if errorlevel 1 update %XSRC%/po/POTFILES.in %XSRC%/po/POTFILES.orig
+sed "s/format-librep/format_librep/;s/format-pascal/format_pascal/" %XSRC%/po/POTFILES.orig > POTFILES.tmp
+if errorlevel 1 goto SedError
+mv ./POTFILES.tmp %XSRC%/po/POTFILES.in
+
+Rem This is required because DOS/Windows are case-insensitive
+Rem to file names, and "make install" will do nothing if Make
+Rem finds a file called `install'.
+if exist INSTALL ren INSTALL INSTALL.txt
+
+Rem Set SHELL to a sane default or some configure tests stop working
+Rem if the package is configured across partitions.
+if not "%SHELL%" == "" goto HomeName
+set SHELL=/bin/sh
+if not "%SHELL%" == "/bin/sh" goto SmallEnv
+echo No SHELL found in the environment, using default value
+
+:HomeName
+Rem Set HOME to a sane default so configure stops complaining.
+if not "%HOME%" == "" goto HostName
+set HOME=%XSRC%/djgpp
+if not "%HOME%" == "%XSRC%/djgpp" goto SmallEnv
+echo No HOME found in the environment, using default value
+
+:HostName
+Rem Set HOSTNAME so it shows in config.status
+if not "%HOSTNAME%" == "" goto hostdone
+if "%windir%" == "" goto msdos
+set OS=MS-Windows
+if not "%OS%" == "MS-Windows" goto SmallEnv
+goto haveos
+:msdos
+set OS=MS-DOS
+if not "%OS%" == "MS-DOS" goto SmallEnv
+:haveos
+if not "%USERNAME%" == "" goto haveuname
+if not "%USER%" == "" goto haveuser
+echo No USERNAME and no USER found in the environment, using default values
+set HOSTNAME=Unknown PC
+if not "%HOSTNAME%" == "Unknown PC" goto SmallEnv
+goto userdone
+:haveuser
+set HOSTNAME=%USER%'s PC
+if not "%HOSTNAME%" == "%USER%'s PC" goto SmallEnv
+goto userdone
+:haveuname
+set HOSTNAME=%USERNAME%'s PC
+if not "%HOSTNAME%" == "%USERNAME%'s PC" goto SmallEnv
+:userdone
+set _HOSTNAME=%HOSTNAME%, %OS%
+if not "%_HOSTNAME%" == "%HOSTNAME%, %OS%" goto SmallEnv
+set HOSTNAME=%_HOSTNAME%
+:hostdone
+set _HOSTNAME=
+set OS=
+
+Rem install-sh is required by the configure script but clashes with the
+Rem various Makefile install-foo targets, so we MUST have it before the
+Rem script runs and rename it afterwards
+test -f %XSRC%/install-sh
+if not errorlevel 1 goto NoRen0
+test -f %XSRC%/install-sh.sh
+if not errorlevel 1 mv -f %XSRC%/install-sh.sh %XSRC%/install-sh
+:NoRen0
+
+if "%NLS%" == "disabled" goto WithoutNLS
+
+:WithNLS
+Rem Recreate the files in the %XSRC%/po subdir with our ported tools.
+redir -e /dev/null rm %XSRC%/po/*.gmo
+redir -e /dev/null rm %XSRC%/po/gettext.pot
+redir -e /dev/null rm %XSRC%/po/cat-id-tbl.c
+redir -e /dev/null rm %XSRC%/po/stamp-cat-id
+
+Rem Update the arguments file for the configure script.
+echo --enable-nls --with-included-gettext >> arguments
+goto ConfigurePackage
+
+:WithoutNLS
+Rem Update the arguments file for the configure script.
+echo --disable-nls >> arguments
+
+:ConfigurePackage
+echo Running the ./configure script...
+sh ./configure @arguments
+if errorlevel 1 goto CfgError
+rm arguments
+echo Done.
+
+:ScriptEditing
+Rem DJGPP specific editing of test scripts.
+test -f %XSRC%/tests/stamp-test
+if not errorlevel 1 goto End
+if "%XSRC%" == "." goto NoDirChange
+cd | sed "s|:.*$|:|" > cd_BuildDir.bat
+cd | sed "s|^.:|cd |" >> cd_BuildDir.bat
+mv -f cd_BuildDir.bat %XSRC%/cd_BuildDir.bat
+echo %XSRC% | sed -e "s|^/dev/||" -e "s|/|:|" -e "s|:.*$|:|g" > cd_SrcDir.bat
+echo %XSRC% | sed -e "s|^/dev/||" -e "s|/|:/|" -e "s|^.*:|cd |" -e "s|^\.\.|cd &|" -e "s|/|\\|g" >> cd_SrcDir.bat
+call cd_SrcDir.bat
+call djgpp\edtests.bat
+call cd_BuildDir.bat
+rm -f cd_SrcDir.bat cd_BuildDir.bat %XSRC%/cd_BuildDir.bat
+goto End
+:NoDirChange
+call djgpp\edtests.bat
+goto End
+
+:SedError
+echo ./configure script editing failed!
+goto End
+
+:CfgError
+echo ./configure script exited abnormally!
+goto End
+
+:SmallEnv
+echo Your environment size is too small. Enlarge it and run me again.
+echo Configuration NOT done!
+
+:End
+test -f %XSRC%/install-sh.sh
+if not errorlevel 1 goto NoRen1
+test -f %XSRC%/install-sh
+if not errorlevel 1 mv -f %XSRC%/install-sh %XSRC%/install-sh.sh
+:NoRen1
+if "%SHELL%" == "/bin/sh" set SHELL=
+if "%HOME%" == "%XSRC%/djgpp" set HOME=
+set CONFIG_SITE=
+set HOSTNAME=
+set NLS=
+set CACHING=
+set DEPENDENCY_TRACKING=
+set XSRC=
diff --git a/djgpp/config.in b/djgpp/config.in
new file mode 100644
index 0000000..9e859ab
--- /dev/null
+++ b/djgpp/config.in
@@ -0,0 +1,136 @@
+# Additional editing of Makefiles
+/@GMSGFMT@/ s,\$GMSGFMT,msgfmt,
+/@MSGFMT@/ s,\$MSGFMT,msgfmt,
+/@XGETTEXT@/ s,\$XGETTEXT,xgettext,
+/ac_given_INSTALL=/,/^CEOF/ {
+ /^CEOF$/ i\
+# DJGPP specific Makefile changes.\
+ /^aliaspath[ ]*=/s,:,";",g\
+ /^lispdir[ ]*=/ c\\\\\
+lispdir = \\$(prefix)/gnu/emacs/site-lisp\
+ /TEXINPUTS[ ]*=/s,:,";",g\
+ /PATH[ ]*=/s,:,";",g\
+ s,\\.new\\.,_new.,g\
+ s,\\.old\\.,_old.,g\
+ s,\\.tab\\.c,_tab.c,g\
+ s,\\.tab\\.h,_tab.h,g\
+ s,\\([1-9]\\)\\.html\\.in,\\1hi,g\
+ s,\\([1-9]\\)\\.html,\\1-html,g\
+ s,\\([1-9]\\)\\.in,\\1-in,g\
+ s,\\.sh\\.in,.sh-in,g\
+ @append_list_of_renamed_files@
+ s,gettext_\\*\\.,gettext.*-,g\
+ s,format-librep,format_librep,g\
+ s,format-pascal,format_pascal,g\
+ /^TESTS[ ]*=/,/^$/ s,plural-\\([1-9]\\+\\),plural.\\1,g\
+ /^install-info-am:/,/^$/ {\
+ /@list=/ s,\\\$(INFO_DEPS),& gettext.i,\
+ s,file-\\[0-9\\]\\[0-9\\],& \\$\\$file[0-9] \\$\\$file[0-9][0-9],\
+ }\
+ /^iso-639\\.texi[ ]*:.*$/ {\
+ s,iso-639,\\$(srcdir)/&,g\
+ s,ISO_639,\\$(srcdir)/&,\
+ }\
+ /^iso-3166\\.texi[ ]*:.*$/ {\
+ s,iso-3166,\\$(srcdir)/&,g\
+ s,ISO_3166,\\$(srcdir)/&,\
+ }\
+ /^# Some rules for yacc handling\\./,$ {\
+ /\\\$(YACC)/ a\\\\\
+ -@test -f y.tab.c && mv -f y.tab.c y_tab.c\\\\\
+ -@test -f y.tab.h && mv -f y.tab.h y_tab.h\
+ }\
+ /^POTFILES:/,/^$/ s,\\\$@-t,t-\\$@,g\
+ s,basename\\.o,,g\
+ s,po-gram-gen2\\.h,po-gram_gen2.h,g\
+ /^Makefile[ ]*:/,/^$/ {\
+ /CONFIG_FILES=/ s,\\\$(subdir)/\\\$@\\.in,&:\\$(subdir)/\\$@.in-in,\
+ }\
+ /html:/ s,split$,monolithic,g\
+ /^TEXI2HTML[ ]*=/ s,=[ ]*,&-,
+}
+
+# javacomp.sh is renamed to javacomp.sh-in,
+# javaexec.sh is renamed to javaexec.sh-in,
+# Makefile.in.in is renamed to Makefile.in-in...
+/^CONFIG_FILES=/,/^EOF/ {
+ s|lib/javacomp\.sh|&:lib/javacomp.sh-in|
+ s|lib/javaexec\.sh|&:lib/javaexec.sh-in|
+ s|po/Makefile\.in|&:po/Makefile.in-in|
+}
+
+# ...and config.h.in into config.h-in
+/^ *CONFIG_HEADERS=/,/^EOF/ {
+ s|config\.h|&:config.h-in|
+}
+
+# The same as above but this time
+# for configure scripts created with Autoconf 2.14a.
+/^config_files="\\\\/,/^$/ {
+ s|po/Makefile\.in|&:po/Makefile.in-in|
+}
+/^config_headers="\\\\/,/^$/ {
+ s|config\.h|&:config.h-in|
+}
+/# Handling of arguments./,/^$/ {
+ s|po/Makefile\.in|&:po/Makefile.in-in|2
+ s|config\.h|&:config.h-in|2
+}
+
+# Replace `(command) > /dev/null` with `command > /dev/null`, since
+# parenthesized commands always return zero status in the ported Bash,
+# even if the named command doesn't exist
+/if [^{].*null/,/ then/ {
+ /test .*null/ {
+ s,(,,
+ s,),,
+ }
+}
+
+# DOS-style absolute file names should be supported as well
+/\*) srcdir=/s,/\*,[\\\\/]* | [A-z]:[\\\\/]*,
+/\$]\*) INSTALL=/s,\[/\$\]\*,[\\\\/$]* | [A-z]:[\\\\/]*,
+/\$]\*) ac_rel_source=/s,\[/\$\]\*,[\\\\/$]* | [A-z]:[\\\\/]*,
+
+# Switch the order of the two Sed commands, since DOS path names
+# could include a colon
+/ac_file_inputs=/s,\( -e "s%\^%\$ac_given_srcdir/%"\)\( -e "s%:% $ac_given_srcdir/%g"\),\2\1,
+
+# Prevent the spliting of conftest.subs.
+# The sed script: conftest.subs is split into 48 or 90 lines long files.
+# This will produce sed scripts called conftest.s1, conftest.s2, etc.
+# that will not work if conftest.subs contains a multi line sed command
+# at line #90. In this case the first part of the sed command will be the
+# last line of conftest.s1 and the rest of the command will be the first lines
+# of conftest.s2. So both script will not work properly.
+# This matches the configure script produced by Autoconf 2.12
+/ac_max_sed_cmds=[0-9]/ s,=.*$,=`sed -n "$=" conftest.subs`,
+# This matches the configure script produced by Autoconf 2.14a
+/ac_max_sed_lines=[0-9]/ s,=.*$,=`sed -n "$=" $ac_cs_root.subs `,
+
+# The following two items are changes needed for configuring
+# and compiling across partitions.
+# 1) The given srcdir value is always translated from the
+# "x:" syntax into "/dev/x" syntax while we run configure.
+/^[ ]*-srcdir=\*.*$/ a\
+ ac_optarg=`echo "$ac_optarg" | sed "s,^\\([A-Za-z]\\):,/dev/\\1,"`
+/set X `ls -Lt \$srcdir/ i\
+ if `echo $srcdir | grep "^/dev/" - > /dev/null`; then\
+ srcdir=`echo "$srcdir" | sed -e "s%^/dev/%%" -e "s%/%:/%"`\
+ fi
+
+# 2) We need links across partitions, so we will use "cp -pf" instead of "ln".
+/# Make a symlink if possible; otherwise try a hard link./,/EOF/ {
+ s,;.*then, 2>/dev/null || cp -pf \$srcdir/\$ac_source \$ac_dest&,
+}
+
+# Let libtool use _libs all the time.
+/objdir=/s,\.libs,_libs,
+
+# Stock djdev203 does not provide an unsetenv() function,
+# so we will use djdev204 CVS tree's one.
+/^LTLIBOBJS=/ s,|, unsetenv.c |,
+
+# Stock djdev203 does not provide pw_gecos,
+# so we will use djdev204 CVS tree's one.
+/^LTLIBOBJS=/ s,|, getpwnam.c |,
diff --git a/djgpp/config.sed b/djgpp/config.sed
new file mode 100644
index 0000000..7abf739
--- /dev/null
+++ b/djgpp/config.sed
@@ -0,0 +1,353 @@
+# Additional editing of Makefiles
+/@GMSGFMT@/ s,\$GMSGFMT,msgfmt,
+/@MSGFMT@/ s,\$MSGFMT,msgfmt,
+/@XGETTEXT@/ s,\$XGETTEXT,xgettext,
+/ac_given_INSTALL=/,/^CEOF/ {
+ /^CEOF$/ i\
+# DJGPP specific Makefile changes.\
+ /^aliaspath[ ]*=/s,:,";",g\
+ /^lispdir[ ]*=/ c\\\\\
+lispdir = \\$(prefix)/gnu/emacs/site-lisp\
+ /TEXINPUTS[ ]*=/s,:,";",g\
+ /PATH[ ]*=/s,:,";",g\
+ s,\\.new\\.,_new.,g\
+ s,\\.old\\.,_old.,g\
+ s,\\.tab\\.c,_tab.c,g\
+ s,\\.tab\\.h,_tab.h,g\
+ s,\\([1-9]\\)\\.html\\.in,\\1hi,g\
+ s,\\([1-9]\\)\\.html,\\1-html,g\
+ s,\\([1-9]\\)\\.in,\\1-in,g\
+ s,\\.sh\\.in,.sh-in,g\
+ s,config\\.h\\.in,config.h-in ,g\
+ s,COPYING.LIB-2.0,COPYING_LIB.20 ,g\
+ s,COPYING.LIB-2.1,COPYING_LIB.21 ,g\
+ s,gettext_1.html,gettext.1-html ,g\
+ s,gettext_10.html,gettext.10-html ,g\
+ s,gettext_11.html,gettext.11-html ,g\
+ s,gettext_12.html,gettext.12-html ,g\
+ s,gettext_13.html,gettext.13-html ,g\
+ s,gettext_14.html,gettext.14-html ,g\
+ s,gettext_15.html,gettext.15-html ,g\
+ s,gettext_16.html,gettext.16-html ,g\
+ s,gettext_2.html,gettext.2-html ,g\
+ s,gettext_3.html,gettext.3-html ,g\
+ s,gettext_4.html,gettext.4-html ,g\
+ s,gettext_5.html,gettext.5-html ,g\
+ s,gettext_6.html,gettext.6-html ,g\
+ s,gettext_7.html,gettext.7-html ,g\
+ s,gettext_8.html,gettext.8-html ,g\
+ s,gettext_9.html,gettext.9-html ,g\
+ s,gettext_foot.html,gettext.foot-html ,g\
+ s,gettext_toc.html,gettext.toc-html ,g\
+ s,javacomp\\.sh\\.in,javacomp.sh-in ,g\
+ s,javaexec\\.sh\\.in,javaexec.sh-in ,g\
+ s,stdbool\\.h\\.in,stdbool.h-in ,g\
+ s,gettext.1.in,gettext.1-in ,g\
+ s,ngettext.1.in,ngettext.1-in ,g\
+ s,gettext.3.in,gettext.3-in ,g\
+ s,ngettext.3.in,ngettext.3-in ,g\
+ s,textdomain.3.in,textdomain.3-in ,g\
+ s,bindtextdomain.3.in,bindtextdomain.3-in ,g\
+ s,bind_textdomain_codeset.3.in,bind_textdomain_codeset.3-in ,g\
+ s,gettext.1.html.in,gettext.1hin ,g\
+ s,ngettext.1.html.in,ngettext.1hin ,g\
+ s,msgcmp.1.html,msgcmp.1-html ,g\
+ s,msgfmt.1.html,msgfmt.1-html ,g\
+ s,msgmerge.1.html,msgmerge.1-html ,g\
+ s,msgunfmt.1.html,msgunfmt.1-html ,g\
+ s,xgettext.1.html,xgettext.1-html ,g\
+ s,msgattrib.1.html,msgattrib.1-html ,g\
+ s,msgcat.1.html,msgcat.1-html ,g\
+ s,msgcomm.1.html,msgcomm.1-html ,g\
+ s,msgconv.1.html,msgconv.1-html ,g\
+ s,msgen.1.html,msgen.1-html ,g\
+ s,msgexec.1.html,msgexec.1-html ,g\
+ s,msgfilter.1.html,msgfilter.1-html ,g\
+ s,msggrep.1.html,msggrep.1-html ,g\
+ s,msginit.1.html,msginit.1-html ,g\
+ s,msguniq.1.html,msguniq.1-html ,g\
+ s,gettext.3.html,gettext.3-html ,g\
+ s,ngettext.3.html,ngettext.3-html ,g\
+ s,textdomain.3.html,textdomain.3-html ,g\
+ s,bindtextdomain.3.html,bindtextdomain.3-html ,g\
+ s,bind_textdomain_codeset.3.html,bind_textdomain_codeset.3-html ,g\
+ s,Makefile\\.in\\.in,Makefile.in-in ,g\
+ s,format-librep.c,format_librep.c ,g\
+ s,format-pascal.c,format_pascal.c ,g\
+ s,blue-ball.gif,b-ball.gif ,g\
+ s,cyan-ball.gif,c-ball.gif ,g\
+ s,green-ball.gif,g-ball.gif ,g\
+ s,magenta-ball.gif,m-ball.gif ,g\
+ s,red-ball.gif,r-ball.gif ,g\
+ s,yellow-ball.gif,y-ball.gif ,g\
+ s,constructors.gif,ctors.gif ,g\
+ s,variables.gif,vars.gif ,g\
+ s,package-frame.html,package_frame.html ,g\
+ s,package-tree.html,package_tree.html ,g\
+ s,gettext-1,gettext.1 ,g\
+ s,gettext-2,gettext.2 ,g\
+ s,msgattrib-1,msgattrib.1 ,g\
+ s,msgattrib-2,msgattrib.2 ,g\
+ s,msgattrib-3,msgattrib.3 ,g\
+ s,msgattrib-4,msgattrib.4 ,g\
+ s,msgattrib-5,msgattrib.5 ,g\
+ s,msgattrib-6,msgattrib.6 ,g\
+ s,msgattrib-7,msgattrib.7 ,g\
+ s,msgattrib-8,msgattrib.8 ,g\
+ s,msgattrib-9,msgattrib.9 ,g\
+ s,msgattrib-10,msgattrib.10 ,g\
+ s,msgattrib-11,msgattrib.11 ,g\
+ s,msgattrib-12,msgattrib.12 ,g\
+ s,msgattrib-13,msgattrib.13 ,g\
+ s,msgattrib-14,msgattrib.14 ,g\
+ s,msgcat-1,msgcat.1 ,g\
+ s,msgcat-2,msgcat.2 ,g\
+ s,msgcat-3,msgcat.3 ,g\
+ s,msgcat-4,msgcat.4 ,g\
+ s,msgcat-5,msgcat.5 ,g\
+ s,msgcat-6,msgcat.6 ,g\
+ s,msgcat-7,msgcat.7 ,g\
+ s,msgcmp-1,msgcmp.1 ,g\
+ s,msgcmp-2,msgcmp.2 ,g\
+ s,msgcomm-1,msgcomm.1 ,g\
+ s,msgcomm-2,msgcomm.2 ,g\
+ s,msgcomm-3,msgcomm.3 ,g\
+ s,msgcomm-4,msgcomm.4 ,g\
+ s,msgcomm-5,msgcomm.5 ,g\
+ s,msgcomm-6,msgcomm.6 ,g\
+ s,msgcomm-7,msgcomm.7 ,g\
+ s,msgcomm-8,msgcomm.8 ,g\
+ s,msgcomm-9,msgcomm.9 ,g\
+ s,msgcomm-10,msgcomm.10 ,g\
+ s,msgcomm-11,msgcomm.11 ,g\
+ s,msgcomm-12,msgcomm.12 ,g\
+ s,msgcomm-13,msgcomm.13 ,g\
+ s,msgcomm-14,msgcomm.14 ,g\
+ s,msgcomm-15,msgcomm.15 ,g\
+ s,msgcomm-16,msgcomm.16 ,g\
+ s,msgcomm-17,msgcomm.17 ,g\
+ s,msgcomm-18,msgcomm.18 ,g\
+ s,msgcomm-19,msgcomm.19 ,g\
+ s,msgcomm-20,msgcomm.20 ,g\
+ s,msgcomm-21,msgcomm.21 ,g\
+ s,msgcomm-22,msgcomm.22 ,g\
+ s,msgcomm-23,msgcomm.23 ,g\
+ s,msgconv-1,msgconv.1 ,g\
+ s,msgconv-2,msgconv.2 ,g\
+ s,msgconv-3,msgconv.3 ,g\
+ s,msgen-1,msgen.1 ,g\
+ s,msgexec-1,msgexec.1 ,g\
+ s,msgexec-2,msgexec.2 ,g\
+ s,msgfilter-1,msgfilter.1 ,g\
+ s,msgfilter-2,msgfilter.2 ,g\
+ s,msgfmt-1,msgfmt.1 ,g\
+ s,msgfmt-2,msgfmt.2 ,g\
+ s,msgfmt-3,msgfmt.3 ,g\
+ s,msgfmt-4,msgfmt.4 ,g\
+ s,msgfmt-5,msgfmt.5 ,g\
+ s,msgfmt-6,msgfmt.6 ,g\
+ s,msgfmt-7,msgfmt.7 ,g\
+ s,msgfmt-8,msgfmt.8 ,g\
+ s,msgfmt-9,msgfmt.9 ,g\
+ s,msgfmt-10,msgfmt.10 ,g\
+ s,msggrep-1,msggrep.1 ,g\
+ s,msggrep-2,msggrep.2 ,g\
+ s,msggrep-3,msggrep.3 ,g\
+ s,msggrep-4,msggrep.4 ,g\
+ s,msgmerge-1,msgmerge.1 ,g\
+ s,msgmerge-2,msgmerge.2 ,g\
+ s,msgmerge-3,msgmerge.3 ,g\
+ s,msgmerge-4,msgmerge.4 ,g\
+ s,msgmerge-5,msgmerge.5 ,g\
+ s,msgmerge-6,msgmerge.6 ,g\
+ s,msgmerge-7,msgmerge.7 ,g\
+ s,msgmerge-8,msgmerge.8 ,g\
+ s,msgmerge-9,msgmerge.9 ,g\
+ s,msgmerge-10,msgmerge.10 ,g\
+ s,msgmerge-11,msgmerge.11 ,g\
+ s,msgmerge-12,msgmerge.12 ,g\
+ s,msgmerge-13,msgmerge.13 ,g\
+ s,msgmerge-14,msgmerge.14 ,g\
+ s,msgmerge-15,msgmerge.15 ,g\
+ s,msgmerge-16,msgmerge.16 ,g\
+ s,msgmerge-17,msgmerge.17 ,g\
+ s,msgmerge-18,msgmerge.18 ,g\
+ s,msgmerge-19,msgmerge.19 ,g\
+ s,msgmerge-20,msgmerge.20 ,g\
+ s,msgunfmt-1,msgunfmt.1 ,g\
+ s,msguniq-1,msguniq.1 ,g\
+ s,msguniq-2,msguniq.2 ,g\
+ s,msguniq-3,msguniq.3 ,g\
+ s,xgettext-1,xgettext.1 ,g\
+ s,xgettext-2,xgettext.2 ,g\
+ s,xgettext-3,xgettext.3 ,g\
+ s,xgettext-4,xgettext.4 ,g\
+ s,xgettext-5,xgettext.5 ,g\
+ s,xgettext-6,xgettext.6 ,g\
+ s,xgettext-7,xgettext.7 ,g\
+ s,xgettext-8,xgettext.8 ,g\
+ s,xgettext-9,xgettext.9 ,g\
+ s,xgettext-10,xgettext.10 ,g\
+ s,xgettext-11,xgettext.11 ,g\
+ s,xgettext-12,xgettext.12 ,g\
+ s,xgettext-13,xgettext.13 ,g\
+ s,xgettext-14,xgettext.14 ,g\
+ s,xgettext-15,xgettext.15 ,g\
+ s,xgettext-16,xgettext.16 ,g\
+ s,xgettext-17,xgettext.17 ,g\
+ s,format-c-1,format/c.1 ,g\
+ s,format-c-2,format/c.2 ,g\
+ s,format-elisp-1,format/elisp.1 ,g\
+ s,format-elisp-2,format/elisp.2 ,g\
+ s,format-java-1,format/java.1 ,g\
+ s,format-java-2,format/java.2 ,g\
+ s,format-librep-1,format/librep.1 ,g\
+ s,format-librep-2,format/librep.2 ,g\
+ s,format-lisp-1,format/lisp.1 ,g\
+ s,format-lisp-2,format/lisp.2 ,g\
+ s,format-python-1,format/python.1 ,g\
+ s,format-python-2,format/python.2 ,g\
+ s,format-pascal-1,format/pascal.1 ,g\
+ s,format-pascal-2,format/pascal.2 ,g\
+ s,format-ycp-1,format/ycp.1 ,g\
+ s,format-ycp-2,format/ycp.2 ,g\
+ s,lang-c++,lang-cxx ,g\
+ s,rpath-1a,rpath/1a ,g\
+ s,rpath-1b,rpath/1b ,g\
+ s,rpath-2aaa,rpath/2aaa ,g\
+ s,rpath-2aab,rpath/2aab ,g\
+ s,rpath-2aac,rpath/2aac ,g\
+ s,rpath-2aad,rpath/2aad ,g\
+ s,rpath-2aba,rpath/2aba ,g\
+ s,rpath-2abb,rpath/2abb ,g\
+ s,rpath-2abc,rpath/2abc ,g\
+ s,rpath-2abd,rpath/2abd ,g\
+ s,rpath-2baa,rpath/2baa ,g\
+ s,rpath-2bab,rpath/2bab ,g\
+ s,rpath-2bac,rpath/2bac ,g\
+ s,rpath-2bad,rpath/2bad ,g\
+ s,rpath-2bba,rpath/2bba ,g\
+ s,rpath-2bbb,rpath/2bbb ,g\
+ s,rpath-2bbc,rpath/2bbc ,g\
+ s,rpath-2bbd,rpath/2bbd ,g\
+ s,xg-test1.ok.po,xg-test1.ok-po ,g\
+ s,rpath-1,rpath/1 ,g\
+ s,rpath-2_a,rpath/2_a ,g\
+ s,rpath-2_b,rpath/2_b ,g\
+ s,rpath-2.README,rpath/2.README ,g\
+ s,rpathcfg.sh,rpathcfg.sh ,g\
+ s,gettext_\\*\\.,gettext.*-,g\
+ s,format-librep,format_librep,g\
+ s,format-pascal,format_pascal,g\
+ /^TESTS[ ]*=/,/^$/ s,plural-\\([1-9]\\+\\),plural.\\1,g\
+ /^install-info-am:/,/^$/ {\
+ /@list=/ s,\\\$(INFO_DEPS),& gettext.i,\
+ s,file-\\[0-9\\]\\[0-9\\],& \\$\\$file[0-9] \\$\\$file[0-9][0-9],\
+ }\
+ /^iso-639\\.texi[ ]*:.*$/ {\
+ s,iso-639,\\$(srcdir)/&,g\
+ s,ISO_639,\\$(srcdir)/&,\
+ }\
+ /^iso-3166\\.texi[ ]*:.*$/ {\
+ s,iso-3166,\\$(srcdir)/&,g\
+ s,ISO_3166,\\$(srcdir)/&,\
+ }\
+ /^# Some rules for yacc handling\\./,$ {\
+ /\\\$(YACC)/ a\\\\\
+ -@test -f y.tab.c && mv -f y.tab.c y_tab.c\\\\\
+ -@test -f y.tab.h && mv -f y.tab.h y_tab.h\
+ }\
+ /^POTFILES:/,/^$/ s,\\\$@-t,t-\\$@,g\
+ s,basename\\.o,,g\
+ s,po-gram-gen2\\.h,po-gram_gen2.h,g\
+ /^Makefile[ ]*:/,/^$/ {\
+ /CONFIG_FILES=/ s,\\\$(subdir)/\\\$@\\.in,&:\\$(subdir)/\\$@.in-in,\
+ }\
+ /html:/ s,split$,monolithic,g\
+ /^TEXI2HTML[ ]*=/ s,=[ ]*,&-,
+}
+
+# javacomp.sh is renamed to javacomp.sh-in,
+# javaexec.sh is renamed to javaexec.sh-in,
+# Makefile.in.in is renamed to Makefile.in-in...
+/^CONFIG_FILES=/,/^EOF/ {
+ s|lib/javacomp\.sh|&:lib/javacomp.sh-in|
+ s|lib/javaexec\.sh|&:lib/javaexec.sh-in|
+ s|po/Makefile\.in|&:po/Makefile.in-in|
+}
+
+# ...and config.h.in into config.h-in
+/^ *CONFIG_HEADERS=/,/^EOF/ {
+ s|config\.h|&:config.h-in|
+}
+
+# The same as above but this time
+# for configure scripts created with Autoconf 2.14a.
+/^config_files="\\\\/,/^$/ {
+ s|po/Makefile\.in|&:po/Makefile.in-in|
+}
+/^config_headers="\\\\/,/^$/ {
+ s|config\.h|&:config.h-in|
+}
+/# Handling of arguments./,/^$/ {
+ s|po/Makefile\.in|&:po/Makefile.in-in|2
+ s|config\.h|&:config.h-in|2
+}
+
+# Replace `(command) > /dev/null` with `command > /dev/null`, since
+# parenthesized commands always return zero status in the ported Bash,
+# even if the named command doesn't exist
+/if [^{].*null/,/ then/ {
+ /test .*null/ {
+ s,(,,
+ s,),,
+ }
+}
+
+# DOS-style absolute file names should be supported as well
+/\*) srcdir=/s,/\*,[\\\\/]* | [A-z]:[\\\\/]*,
+/\$]\*) INSTALL=/s,\[/\$\]\*,[\\\\/$]* | [A-z]:[\\\\/]*,
+/\$]\*) ac_rel_source=/s,\[/\$\]\*,[\\\\/$]* | [A-z]:[\\\\/]*,
+
+# Switch the order of the two Sed commands, since DOS path names
+# could include a colon
+/ac_file_inputs=/s,\( -e "s%\^%\$ac_given_srcdir/%"\)\( -e "s%:% $ac_given_srcdir/%g"\),\2\1,
+
+# Prevent the spliting of conftest.subs.
+# The sed script: conftest.subs is split into 48 or 90 lines long files.
+# This will produce sed scripts called conftest.s1, conftest.s2, etc.
+# that will not work if conftest.subs contains a multi line sed command
+# at line #90. In this case the first part of the sed command will be the
+# last line of conftest.s1 and the rest of the command will be the first lines
+# of conftest.s2. So both script will not work properly.
+# This matches the configure script produced by Autoconf 2.12
+/ac_max_sed_cmds=[0-9]/ s,=.*$,=`sed -n "$=" conftest.subs`,
+# This matches the configure script produced by Autoconf 2.14a
+/ac_max_sed_lines=[0-9]/ s,=.*$,=`sed -n "$=" $ac_cs_root.subs `,
+
+# The following two items are changes needed for configuring
+# and compiling across partitions.
+# 1) The given srcdir value is always translated from the
+# "x:" syntax into "/dev/x" syntax while we run configure.
+/^[ ]*-srcdir=\*.*$/ a\
+ ac_optarg=`echo "$ac_optarg" | sed "s,^\\([A-Za-z]\\):,/dev/\\1,"`
+/set X `ls -Lt \$srcdir/ i\
+ if `echo $srcdir | grep "^/dev/" - > /dev/null`; then\
+ srcdir=`echo "$srcdir" | sed -e "s%^/dev/%%" -e "s%/%:/%"`\
+ fi
+
+# 2) We need links across partitions, so we will use "cp -pf" instead of "ln".
+/# Make a symlink if possible; otherwise try a hard link./,/EOF/ {
+ s,;.*then, 2>/dev/null || cp -pf \$srcdir/\$ac_source \$ac_dest&,
+}
+
+# Let libtool use _libs all the time.
+/objdir=/s,\.libs,_libs,
+
+# Stock djdev203 does not provide an unsetenv() function,
+# so we will use djdev204 CVS tree's one.
+/^LTLIBOBJS=/ s,|, unsetenv.c |,
+
+# Stock djdev203 does not provide pw_gecos,
+# so we will use djdev204 CVS tree's one.
+/^LTLIBOBJS=/ s,|, getpwnam.c |,
diff --git a/djgpp/config.site b/djgpp/config.site
new file mode 100755
index 0000000..d1bd9bd
--- /dev/null
+++ b/djgpp/config.site
@@ -0,0 +1,41 @@
+#! /bin/sh
+
+# These two variables are required, otherwise looking for
+# programs along the PATH will not work.
+PATH_SEPARATOR=:
+PATH_EXPAND=y
+
+# This is required in for "test -f foo" to find foo.exe
+export TEST_FINDS_EXE=y
+
+# The root of the DJGPP tree serves as the default prefix
+# for all paths that are hardcoded in the binaries.
+# When installing the installation prefix must be supplied.
+test "x$prefix" = xNONE && prefix='/dev/env/DJDIR'
+
+# This is required for config.status script to be run, since
+# ./configure runs it by invoking ${CONFIG_SHELL-/bin/sh}
+# CONFIG_SHELL=${CONFIG_SHELL='sh'}
+
+# These are set here so the generated Makefile's will be good
+# for every DJGPP installation, not only the one where the
+# package was configured.
+# $INSTALL must be an absolute path name, otherwise config.status
+# will try to prepend ./ and ../ to it when it goes into subdirs.
+INSTALL=${INSTALL='/dev/env/DJDIR/bin/ginstall -c'}
+PERL=${PERL='/dev/env/DJDIR/bin/perl'}
+RANLIB=${RANLIB='ranlib'}
+DVIPS=${DVIPS='/dev/env/DJDIR/bin/dvips'}
+TEXI2PDF=${TEXI2PDF='/dev/env/DJDIR/bin/texi2pdf'}
+
+# A sane defualt for emacs.
+ac_cv_path_EMACS=${EMACS='/dev/env/DJDIR/gnu/emacs/bin/emacs'}
+
+# These are set here so the generated libtool will be good
+# for every DJGPP installation, not only the one where the
+# package was configured.
+NM=${NM='nm'}
+LD=${LD='ld'}
+
+# Force the test for 'ln -s' to report 'cp -p'.
+ac_cv_prog_LN_S='cp -p'
diff --git a/djgpp/djpwd.h b/djgpp/djpwd.h
new file mode 100644
index 0000000..e87c24d
--- /dev/null
+++ b/djgpp/djpwd.h
@@ -0,0 +1,56 @@
+/*
+ Needed by getpwnam.c
+*/
+
+/* Copyright (C) 1995 DJ Delorie, see COPYING.DJ for details */
+#ifndef __dj_include_pwd_h_
+#define __dj_include_pwd_h_
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#ifndef __dj_ENFORCE_ANSI_FREESTANDING
+
+#ifndef __STRICT_ANSI__
+
+#include <sys/djtypes.h>
+
+__DJ_gid_t
+#undef __DJ_gid_t
+#define __DJ_gid_t
+__DJ_uid_t
+#undef __DJ_uid_t
+#define __DJ_uid_t
+
+struct passwd {
+ char * pw_name; /* Username. */
+ uid_t pw_uid; /* User ID. */
+ gid_t pw_gid; /* Group ID. */
+ char * pw_dir; /* Home directory. */
+ char * pw_shell; /* Shell program. */
+ char * pw_gecos; /* Real name. */
+ char * pw_passwd; /* Password. */
+};
+
+struct passwd * getpwuid(uid_t _uid);
+struct passwd * getpwnam(const char *_name);
+
+#ifndef _POSIX_SOURCE
+
+struct passwd *getpwent(void);
+void setpwent(void);
+void endpwent(void);
+
+#endif /* !_POSIX_SOURCE */
+#endif /* !__STRICT_ANSI__ */
+#endif /* !__dj_ENFORCE_ANSI_FREESTANDING */
+
+#ifndef __dj_ENFORCE_FUNCTION_CALLS
+#endif /* !__dj_ENFORCE_FUNCTION_CALLS */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* !__dj_include_pwd_h_ */
diff --git a/djgpp/edtests.bat b/djgpp/edtests.bat
new file mode 100644
index 0000000..eb3e455
--- /dev/null
+++ b/djgpp/edtests.bat
@@ -0,0 +1,86 @@
+@echo off
+echo Editing test scripts in tests/ subdirectory for DJGPP...
+test -f ./tests/gettext-1
+if not errorlevel 1 mv -f ./tests/gettext-1 ./tests/gettext.1
+test -f ./tests/gettext-2
+if not errorlevel 1 mv -f ./tests/gettext-2 ./tests/gettext.2
+test -f ./tests/msgcmp-1
+if not errorlevel 1 mv -f ./tests/msgcmp-1 ./tests/msgcmp.1
+test -f ./tests/msgcmp-2
+if not errorlevel 1 mv -f ./tests/msgcmp-2 ./tests/msgcmp.2
+test -f ./tests/msgfmt-1
+if not errorlevel 1 mv -f ./tests/msgfmt-1 ./tests/msgfmt.1
+test -f ./tests/msgfmt-2
+if not errorlevel 1 mv -f ./tests/msgfmt-2 ./tests/msgfmt.2
+test -f ./tests/msgfmt-3
+if not errorlevel 1 mv -f ./tests/msgfmt-3 ./tests/msgfmt.3
+test -f ./tests/msgfmt-4
+if not errorlevel 1 mv -f ./tests/msgfmt-4 ./tests/msgfmt.4
+test -f ./tests/msgmerge-1
+if not errorlevel 1 mv -f ./tests/msgmerge-1 ./tests/msgmerge.1
+test -f ./tests/msgmerge-2
+if not errorlevel 1 mv -f ./tests/msgmerge-2 ./tests/msgmerge.2
+test -f ./tests/msgmerge-3
+if not errorlevel 1 mv -f ./tests/msgmerge-3 ./tests/msgmerge.3
+test -f ./tests/msgmerge-4
+if not errorlevel 1 mv -f ./tests/msgmerge-4 ./tests/msgmerge.4
+sed -f ./djgpp/tscript.sed ./tests/msgmerge.4 > msgmerge.4
+update msgmerge.4 ./tests/msgmerge.4
+rm -f msgmerge.4
+test -f ./tests/msgmerge-5
+if not errorlevel 1 mv -f ./tests/msgmerge-5 ./tests/msgmerge.5
+sed -f ./djgpp/tscript.sed ./tests/msgmerge.5 > msgmerge.5
+update msgmerge.5 ./tests/msgmerge.5
+rm -f msgmerge.5
+test -f ./tests/msgunfmt-1
+if not errorlevel 1 mv -f ./tests/msgunfmt-1 ./tests/msgunfmt.1
+test -f ./tests/xgettext-1
+if not errorlevel 1 mv -f ./tests/xgettext-1 ./tests/xgettext.1
+sed -f ./djgpp/tscript.sed ./tests/xgettext.1 > xgettext.1
+update xgettext.1 ./tests/xgettext.1
+rm -f xgettext.1
+test -f ./tests/xgettext-2
+if not errorlevel 1 mv -f ./tests/xgettext-2 ./tests/xgettext.2
+sed -f ./djgpp/tscript.sed ./tests/xgettext.2 > xgettext.2
+update xgettext.2 ./tests/xgettext.2
+rm -f xgettext.2
+test -f ./tests/xgettext-3
+if not errorlevel 1 mv -f ./tests/xgettext-3 ./tests/xgettext.3
+test -f ./tests/xgettext-4
+if not errorlevel 1 mv -f ./tests/xgettext-4 ./tests/xgettext.4
+sed -f ./djgpp/tscript.sed ./tests/xgettext.4 > xgettext.4
+update xgettext.4 ./tests/xgettext.4
+rm -f xgettext.4
+test -f ./tests/xgettext-5
+if not errorlevel 1 mv -f ./tests/xgettext-5 ./tests/xgettext.5
+sed -f ./djgpp/tscript.sed ./tests/xgettext.5 > xgettext.5
+update xgettext.5 ./tests/xgettext.5
+rm -f xgettext.5
+test -f ./tests/xgettext-6
+if not errorlevel 1 mv -f ./tests/xgettext-6 ./tests/xgettext.6
+sed -f ./djgpp/tscript.sed ./tests/xgettext.6 > xgettext.6
+update xgettext.6 ./tests/xgettext.6
+rm -f xgettext.6
+test -f ./tests/xgettext-7
+if not errorlevel 1 mv -f ./tests/xgettext-7 ./tests/xgettext.7
+sed -f ./djgpp/tscript.sed ./tests/xgettext.7 > xgettext.7
+update xgettext.7 ./tests/xgettext.7
+rm -f xgettext.7
+test -f ./tests/xgettext-8
+if not errorlevel 1 mv -f ./tests/xgettext-8 ./tests/xgettext.8
+sed -f ./djgpp/tscript.sed ./tests/xgettext.8 > xgettext.8
+update xgettext.8 ./tests/xgettext.8
+rm -f xgettext.8
+test -f ./tests/xgettext-9
+if not errorlevel 1 mv -f ./tests/xgettext-9 ./tests/xgettext.9
+test -f ./tests/xg-test1.ok.po
+if not errorlevel 1 mv -f ./tests/xg-test1.ok.po ./tests/xg-test1.ok-po
+test -f ./tests/plural-1
+if not errorlevel 1 mv -f ./tests/plural-1 ./tests/plural.1
+sed -f ./djgpp/tscript.sed ./tests/plural.1 > plural.1
+update plural.1 ./tests/plural.1
+rm -f plural.1
+test -f ./tests/plural-2
+if not errorlevel 1 mv -f ./tests/plural-2 ./tests/plural.2
+touch ./tests/stamp-test
+echo Done.
diff --git a/djgpp/fnchange.in b/djgpp/fnchange.in
new file mode 100644
index 0000000..d0c1922
--- /dev/null
+++ b/djgpp/fnchange.in
@@ -0,0 +1,221 @@
+# This is a template from which fnchange.lst is generated.
+@V@/config.h.in @V@/config.h-in
+@V@/intl/COPYING.LIB-2.0 @V@/intl/COPYING_LIB.20
+@V@/intl/COPYING.LIB-2.1 @V@/intl/COPYING_LIB.21
+@V@/doc/gettext_1.html @V@/doc/gettext.1-html
+@V@/doc/gettext_10.html @V@/doc/gettext.10-html
+@V@/doc/gettext_11.html @V@/doc/gettext.11-html
+@V@/doc/gettext_12.html @V@/doc/gettext.12-html
+@V@/doc/gettext_13.html @V@/doc/gettext.13-html
+@V@/doc/gettext_14.html @V@/doc/gettext.14-html
+@V@/doc/gettext_15.html @V@/doc/gettext.15-html
+@V@/doc/gettext_16.html @V@/doc/gettext.16-html
+@V@/doc/gettext_2.html @V@/doc/gettext.2-html
+@V@/doc/gettext_3.html @V@/doc/gettext.3-html
+@V@/doc/gettext_4.html @V@/doc/gettext.4-html
+@V@/doc/gettext_5.html @V@/doc/gettext.5-html
+@V@/doc/gettext_6.html @V@/doc/gettext.6-html
+@V@/doc/gettext_7.html @V@/doc/gettext.7-html
+@V@/doc/gettext_8.html @V@/doc/gettext.8-html
+@V@/doc/gettext_9.html @V@/doc/gettext.9-html
+@V@/doc/gettext_foot.html @V@/doc/gettext.foot-html
+@V@/doc/gettext_toc.html @V@/doc/gettext.toc-html
+@V@/lib/javacomp.sh.in @V@/lib/javacomp.sh-in
+@V@/lib/javaexec.sh.in @V@/lib/javaexec.sh-in
+@V@/lib/stdbool.h.in @V@/lib/stdbool.h-in
+@V@/man/gettext.1.in @V@/man/gettext.1-in
+@V@/man/ngettext.1.in @V@/man/ngettext.1-in
+@V@/man/gettext.3.in @V@/man/gettext.3-in
+@V@/man/ngettext.3.in @V@/man/ngettext.3-in
+@V@/man/textdomain.3.in @V@/man/textdomain.3-in
+@V@/man/bindtextdomain.3.in @V@/man/bindtextdomain.3-in
+@V@/man/bind_textdomain_codeset.3.in @V@/man/bind_textdomain_codeset.3-in
+@V@/man/gettext.1.html.in @V@/man/gettext.1hin
+@V@/man/ngettext.1.html.in @V@/man/ngettext.1hin
+@V@/man/msgcmp.1.html @V@/man/msgcmp.1-html
+@V@/man/msgfmt.1.html @V@/man/msgfmt.1-html
+@V@/man/msgmerge.1.html @V@/man/msgmerge.1-html
+@V@/man/msgunfmt.1.html @V@/man/msgunfmt.1-html
+@V@/man/xgettext.1.html @V@/man/xgettext.1-html
+@V@/man/msgattrib.1.html @V@/man/msgattrib.1-html
+@V@/man/msgcat.1.html @V@/man/msgcat.1-html
+@V@/man/msgcomm.1.html @V@/man/msgcomm.1-html
+@V@/man/msgconv.1.html @V@/man/msgconv.1-html
+@V@/man/msgen.1.html @V@/man/msgen.1-html
+@V@/man/msgexec.1.html @V@/man/msgexec.1-html
+@V@/man/msgfilter.1.html @V@/man/msgfilter.1-html
+@V@/man/msggrep.1.html @V@/man/msggrep.1-html
+@V@/man/msginit.1.html @V@/man/msginit.1-html
+@V@/man/msguniq.1.html @V@/man/msguniq.1-html
+@V@/man/gettext.3.html @V@/man/gettext.3-html
+@V@/man/ngettext.3.html @V@/man/ngettext.3-html
+@V@/man/textdomain.3.html @V@/man/textdomain.3-html
+@V@/man/bindtextdomain.3.html @V@/man/bindtextdomain.3-html
+@V@/man/bind_textdomain_codeset.3.html @V@/man/bind_textdomain_codeset.3-html
+@V@/po/Makefile.in.in @V@/po/Makefile.in-in
+@V@/src/format-librep.c @V@/src/format_librep.c
+@V@/src/format-pascal.c @V@/src/format_pascal.c
+@V@/intl-java/javadoc1/images/blue-ball.gif @V@/intl-java/javadoc1/images/b-ball.gif
+@V@/intl-java/javadoc1/images/cyan-ball.gif @V@/intl-java/javadoc1/images/c-ball.gif
+@V@/intl-java/javadoc1/images/green-ball.gif @V@/intl-java/javadoc1/images/g-ball.gif
+@V@/intl-java/javadoc1/images/magenta-ball.gif @V@/intl-java/javadoc1/images/m-ball.gif
+@V@/intl-java/javadoc1/images/red-ball.gif @V@/intl-java/javadoc1/images/r-ball.gif
+@V@/intl-java/javadoc1/images/yellow-ball.gif @V@/intl-java/javadoc1/images/y-ball.gif
+@V@/intl-java/javadoc1/images/constructors.gif @V@/intl-java/javadoc1/images/ctors.gif
+@V@/intl-java/javadoc1/images/variables.gif @V@/intl-java/javadoc1/images/vars.gif
+@V@/intl-java/javadoc2/gnu/gettext/package-frame.html @V@/intl-java/javadoc2/gnu/gettext/package_frame.html
+@V@/intl-java/javadoc2/gnu/gettext/package-tree.html @V@/intl-java/javadoc2/gnu/gettext/package_tree.html
+@V@/tests/gettext-1 @V@/tests/gettext.1
+@V@/tests/gettext-2 @V@/tests/gettext.2
+@V@/tests/msgattrib-1 @V@/tests/msgattrib.1
+@V@/tests/msgattrib-2 @V@/tests/msgattrib.2
+@V@/tests/msgattrib-3 @V@/tests/msgattrib.3
+@V@/tests/msgattrib-4 @V@/tests/msgattrib.4
+@V@/tests/msgattrib-5 @V@/tests/msgattrib.5
+@V@/tests/msgattrib-6 @V@/tests/msgattrib.6
+@V@/tests/msgattrib-7 @V@/tests/msgattrib.7
+@V@/tests/msgattrib-8 @V@/tests/msgattrib.8
+@V@/tests/msgattrib-9 @V@/tests/msgattrib.9
+@V@/tests/msgattrib-10 @V@/tests/msgattrib.10
+@V@/tests/msgattrib-11 @V@/tests/msgattrib.11
+@V@/tests/msgattrib-12 @V@/tests/msgattrib.12
+@V@/tests/msgattrib-13 @V@/tests/msgattrib.13
+@V@/tests/msgattrib-14 @V@/tests/msgattrib.14
+@V@/tests/msgcat-1 @V@/tests/msgcat.1
+@V@/tests/msgcat-2 @V@/tests/msgcat.2
+@V@/tests/msgcat-3 @V@/tests/msgcat.3
+@V@/tests/msgcat-4 @V@/tests/msgcat.4
+@V@/tests/msgcat-5 @V@/tests/msgcat.5
+@V@/tests/msgcat-6 @V@/tests/msgcat.6
+@V@/tests/msgcat-7 @V@/tests/msgcat.7
+@V@/tests/msgcmp-1 @V@/tests/msgcmp.1
+@V@/tests/msgcmp-2 @V@/tests/msgcmp.2
+@V@/tests/msgcomm-1 @V@/tests/msgcomm.1
+@V@/tests/msgcomm-2 @V@/tests/msgcomm.2
+@V@/tests/msgcomm-3 @V@/tests/msgcomm.3
+@V@/tests/msgcomm-4 @V@/tests/msgcomm.4
+@V@/tests/msgcomm-5 @V@/tests/msgcomm.5
+@V@/tests/msgcomm-6 @V@/tests/msgcomm.6
+@V@/tests/msgcomm-7 @V@/tests/msgcomm.7
+@V@/tests/msgcomm-8 @V@/tests/msgcomm.8
+@V@/tests/msgcomm-9 @V@/tests/msgcomm.9
+@V@/tests/msgcomm-10 @V@/tests/msgcomm.10
+@V@/tests/msgcomm-11 @V@/tests/msgcomm.11
+@V@/tests/msgcomm-12 @V@/tests/msgcomm.12
+@V@/tests/msgcomm-13 @V@/tests/msgcomm.13
+@V@/tests/msgcomm-14 @V@/tests/msgcomm.14
+@V@/tests/msgcomm-15 @V@/tests/msgcomm.15
+@V@/tests/msgcomm-16 @V@/tests/msgcomm.16
+@V@/tests/msgcomm-17 @V@/tests/msgcomm.17
+@V@/tests/msgcomm-18 @V@/tests/msgcomm.18
+@V@/tests/msgcomm-19 @V@/tests/msgcomm.19
+@V@/tests/msgcomm-20 @V@/tests/msgcomm.20
+@V@/tests/msgcomm-21 @V@/tests/msgcomm.21
+@V@/tests/msgcomm-22 @V@/tests/msgcomm.22
+@V@/tests/msgcomm-23 @V@/tests/msgcomm.23
+@V@/tests/msgconv-1 @V@/tests/msgconv.1
+@V@/tests/msgconv-2 @V@/tests/msgconv.2
+@V@/tests/msgconv-3 @V@/tests/msgconv.3
+@V@/tests/msgen-1 @V@/tests/msgen.1
+@V@/tests/msgexec-1 @V@/tests/msgexec.1
+@V@/tests/msgexec-2 @V@/tests/msgexec.2
+@V@/tests/msgfilter-1 @V@/tests/msgfilter.1
+@V@/tests/msgfilter-2 @V@/tests/msgfilter.2
+@V@/tests/msgfmt-1 @V@/tests/msgfmt.1
+@V@/tests/msgfmt-2 @V@/tests/msgfmt.2
+@V@/tests/msgfmt-3 @V@/tests/msgfmt.3
+@V@/tests/msgfmt-4 @V@/tests/msgfmt.4
+@V@/tests/msgfmt-5 @V@/tests/msgfmt.5
+@V@/tests/msgfmt-6 @V@/tests/msgfmt.6
+@V@/tests/msgfmt-7 @V@/tests/msgfmt.7
+@V@/tests/msgfmt-8 @V@/tests/msgfmt.8
+@V@/tests/msgfmt-9 @V@/tests/msgfmt.9
+@V@/tests/msgfmt-10 @V@/tests/msgfmt.10
+@V@/tests/msggrep-1 @V@/tests/msggrep.1
+@V@/tests/msggrep-2 @V@/tests/msggrep.2
+@V@/tests/msggrep-3 @V@/tests/msggrep.3
+@V@/tests/msggrep-4 @V@/tests/msggrep.4
+@V@/tests/msgmerge-1 @V@/tests/msgmerge.1
+@V@/tests/msgmerge-2 @V@/tests/msgmerge.2
+@V@/tests/msgmerge-3 @V@/tests/msgmerge.3
+@V@/tests/msgmerge-4 @V@/tests/msgmerge.4
+@V@/tests/msgmerge-5 @V@/tests/msgmerge.5
+@V@/tests/msgmerge-6 @V@/tests/msgmerge.6
+@V@/tests/msgmerge-7 @V@/tests/msgmerge.7
+@V@/tests/msgmerge-8 @V@/tests/msgmerge.8
+@V@/tests/msgmerge-9 @V@/tests/msgmerge.9
+@V@/tests/msgmerge-10 @V@/tests/msgmerge.10
+@V@/tests/msgmerge-11 @V@/tests/msgmerge.11
+@V@/tests/msgmerge-12 @V@/tests/msgmerge.12
+@V@/tests/msgmerge-13 @V@/tests/msgmerge.13
+@V@/tests/msgmerge-14 @V@/tests/msgmerge.14
+@V@/tests/msgmerge-15 @V@/tests/msgmerge.15
+@V@/tests/msgmerge-16 @V@/tests/msgmerge.16
+@V@/tests/msgmerge-17 @V@/tests/msgmerge.17
+@V@/tests/msgmerge-18 @V@/tests/msgmerge.18
+@V@/tests/msgmerge-19 @V@/tests/msgmerge.19
+@V@/tests/msgmerge-20 @V@/tests/msgmerge.20
+@V@/tests/msgunfmt-1 @V@/tests/msgunfmt.1
+@V@/tests/msguniq-1 @V@/tests/msguniq.1
+@V@/tests/msguniq-2 @V@/tests/msguniq.2
+@V@/tests/msguniq-3 @V@/tests/msguniq.3
+@V@/tests/xgettext-1 @V@/tests/xgettext.1
+@V@/tests/xgettext-2 @V@/tests/xgettext.2
+@V@/tests/xgettext-3 @V@/tests/xgettext.3
+@V@/tests/xgettext-4 @V@/tests/xgettext.4
+@V@/tests/xgettext-5 @V@/tests/xgettext.5
+@V@/tests/xgettext-6 @V@/tests/xgettext.6
+@V@/tests/xgettext-7 @V@/tests/xgettext.7
+@V@/tests/xgettext-8 @V@/tests/xgettext.8
+@V@/tests/xgettext-9 @V@/tests/xgettext.9
+@V@/tests/xgettext-10 @V@/tests/xgettext.10
+@V@/tests/xgettext-11 @V@/tests/xgettext.11
+@V@/tests/xgettext-12 @V@/tests/xgettext.12
+@V@/tests/xgettext-13 @V@/tests/xgettext.13
+@V@/tests/xgettext-14 @V@/tests/xgettext.14
+@V@/tests/xgettext-15 @V@/tests/xgettext.15
+@V@/tests/xgettext-16 @V@/tests/xgettext.16
+@V@/tests/xgettext-17 @V@/tests/xgettext.17
+@V@/tests/format-c-1 @V@/tests/format/c.1
+@V@/tests/format-c-2 @V@/tests/format/c.2
+@V@/tests/format-elisp-1 @V@/tests/format/elisp.1
+@V@/tests/format-elisp-2 @V@/tests/format/elisp.2
+@V@/tests/format-java-1 @V@/tests/format/java.1
+@V@/tests/format-java-2 @V@/tests/format/java.2
+@V@/tests/format-librep-1 @V@/tests/format/librep.1
+@V@/tests/format-librep-2 @V@/tests/format/librep.2
+@V@/tests/format-lisp-1 @V@/tests/format/lisp.1
+@V@/tests/format-lisp-2 @V@/tests/format/lisp.2
+@V@/tests/format-python-1 @V@/tests/format/python.1
+@V@/tests/format-python-2 @V@/tests/format/python.2
+@V@/tests/format-pascal-1 @V@/tests/format/pascal.1
+@V@/tests/format-pascal-2 @V@/tests/format/pascal.2
+@V@/tests/format-ycp-1 @V@/tests/format/ycp.1
+@V@/tests/format-ycp-2 @V@/tests/format/ycp.2
+@V@/tests/plural-1 @V@/tests/plural.1
+@V@/tests/plural-2 @V@/tests/plural.2
+@V@/tests/lang-c++ @V@/tests/lang-cxx
+@V@/tests/rpath-1a @V@/tests/rpath/1a
+@V@/tests/rpath-1b @V@/tests/rpath/1b
+@V@/tests/rpath-2aaa @V@/tests/rpath/2aaa
+@V@/tests/rpath-2aab @V@/tests/rpath/2aab
+@V@/tests/rpath-2aac @V@/tests/rpath/2aac
+@V@/tests/rpath-2aad @V@/tests/rpath/2aad
+@V@/tests/rpath-2aba @V@/tests/rpath/2aba
+@V@/tests/rpath-2abb @V@/tests/rpath/2abb
+@V@/tests/rpath-2abc @V@/tests/rpath/2abc
+@V@/tests/rpath-2abd @V@/tests/rpath/2abd
+@V@/tests/rpath-2baa @V@/tests/rpath/2baa
+@V@/tests/rpath-2bab @V@/tests/rpath/2bab
+@V@/tests/rpath-2bac @V@/tests/rpath/2bac
+@V@/tests/rpath-2bad @V@/tests/rpath/2bad
+@V@/tests/rpath-2bba @V@/tests/rpath/2bba
+@V@/tests/rpath-2bbb @V@/tests/rpath/2bbb
+@V@/tests/rpath-2bbc @V@/tests/rpath/2bbc
+@V@/tests/rpath-2bbd @V@/tests/rpath/2bbd
+@V@/tests/xg-test1.ok.po @V@/tests/xg-test1.ok-po
+@V@/tests/rpath-1 @V@/tests/rpath/1
+@V@/tests/rpath-2_a @V@/tests/rpath/2_a
+@V@/tests/rpath-2_b @V@/tests/rpath/2_b
+@V@/tests/rpath-2.README @V@/tests/rpath/2.README
+@V@/tests/rpathcfg.sh @V@/tests/rpathcfg.sh
diff --git a/djgpp/fnchange.lst b/djgpp/fnchange.lst
new file mode 100644
index 0000000..18a8455
--- /dev/null
+++ b/djgpp/fnchange.lst
@@ -0,0 +1,220 @@
+gettext-0.11.5/config.h.in gettext-0.11.5/config.h-in
+gettext-0.11.5/intl/COPYING.LIB-2.0 gettext-0.11.5/intl/COPYING_LIB.20
+gettext-0.11.5/intl/COPYING.LIB-2.1 gettext-0.11.5/intl/COPYING_LIB.21
+gettext-0.11.5/doc/gettext_1.html gettext-0.11.5/doc/gettext.1-html
+gettext-0.11.5/doc/gettext_10.html gettext-0.11.5/doc/gettext.10-html
+gettext-0.11.5/doc/gettext_11.html gettext-0.11.5/doc/gettext.11-html
+gettext-0.11.5/doc/gettext_12.html gettext-0.11.5/doc/gettext.12-html
+gettext-0.11.5/doc/gettext_13.html gettext-0.11.5/doc/gettext.13-html
+gettext-0.11.5/doc/gettext_14.html gettext-0.11.5/doc/gettext.14-html
+gettext-0.11.5/doc/gettext_15.html gettext-0.11.5/doc/gettext.15-html
+gettext-0.11.5/doc/gettext_16.html gettext-0.11.5/doc/gettext.16-html
+gettext-0.11.5/doc/gettext_2.html gettext-0.11.5/doc/gettext.2-html
+gettext-0.11.5/doc/gettext_3.html gettext-0.11.5/doc/gettext.3-html
+gettext-0.11.5/doc/gettext_4.html gettext-0.11.5/doc/gettext.4-html
+gettext-0.11.5/doc/gettext_5.html gettext-0.11.5/doc/gettext.5-html
+gettext-0.11.5/doc/gettext_6.html gettext-0.11.5/doc/gettext.6-html
+gettext-0.11.5/doc/gettext_7.html gettext-0.11.5/doc/gettext.7-html
+gettext-0.11.5/doc/gettext_8.html gettext-0.11.5/doc/gettext.8-html
+gettext-0.11.5/doc/gettext_9.html gettext-0.11.5/doc/gettext.9-html
+gettext-0.11.5/doc/gettext_foot.html gettext-0.11.5/doc/gettext.foot-html
+gettext-0.11.5/doc/gettext_toc.html gettext-0.11.5/doc/gettext.toc-html
+gettext-0.11.5/lib/javacomp.sh.in gettext-0.11.5/lib/javacomp.sh-in
+gettext-0.11.5/lib/javaexec.sh.in gettext-0.11.5/lib/javaexec.sh-in
+gettext-0.11.5/lib/stdbool.h.in gettext-0.11.5/lib/stdbool.h-in
+gettext-0.11.5/man/gettext.1.in gettext-0.11.5/man/gettext.1-in
+gettext-0.11.5/man/ngettext.1.in gettext-0.11.5/man/ngettext.1-in
+gettext-0.11.5/man/gettext.3.in gettext-0.11.5/man/gettext.3-in
+gettext-0.11.5/man/ngettext.3.in gettext-0.11.5/man/ngettext.3-in
+gettext-0.11.5/man/textdomain.3.in gettext-0.11.5/man/textdomain.3-in
+gettext-0.11.5/man/bindtextdomain.3.in gettext-0.11.5/man/bindtextdomain.3-in
+gettext-0.11.5/man/bind_textdomain_codeset.3.in gettext-0.11.5/man/bind_textdomain_codeset.3-in
+gettext-0.11.5/man/gettext.1.html.in gettext-0.11.5/man/gettext.1hin
+gettext-0.11.5/man/ngettext.1.html.in gettext-0.11.5/man/ngettext.1hin
+gettext-0.11.5/man/msgcmp.1.html gettext-0.11.5/man/msgcmp.1-html
+gettext-0.11.5/man/msgfmt.1.html gettext-0.11.5/man/msgfmt.1-html
+gettext-0.11.5/man/msgmerge.1.html gettext-0.11.5/man/msgmerge.1-html
+gettext-0.11.5/man/msgunfmt.1.html gettext-0.11.5/man/msgunfmt.1-html
+gettext-0.11.5/man/xgettext.1.html gettext-0.11.5/man/xgettext.1-html
+gettext-0.11.5/man/msgattrib.1.html gettext-0.11.5/man/msgattrib.1-html
+gettext-0.11.5/man/msgcat.1.html gettext-0.11.5/man/msgcat.1-html
+gettext-0.11.5/man/msgcomm.1.html gettext-0.11.5/man/msgcomm.1-html
+gettext-0.11.5/man/msgconv.1.html gettext-0.11.5/man/msgconv.1-html
+gettext-0.11.5/man/msgen.1.html gettext-0.11.5/man/msgen.1-html
+gettext-0.11.5/man/msgexec.1.html gettext-0.11.5/man/msgexec.1-html
+gettext-0.11.5/man/msgfilter.1.html gettext-0.11.5/man/msgfilter.1-html
+gettext-0.11.5/man/msggrep.1.html gettext-0.11.5/man/msggrep.1-html
+gettext-0.11.5/man/msginit.1.html gettext-0.11.5/man/msginit.1-html
+gettext-0.11.5/man/msguniq.1.html gettext-0.11.5/man/msguniq.1-html
+gettext-0.11.5/man/gettext.3.html gettext-0.11.5/man/gettext.3-html
+gettext-0.11.5/man/ngettext.3.html gettext-0.11.5/man/ngettext.3-html
+gettext-0.11.5/man/textdomain.3.html gettext-0.11.5/man/textdomain.3-html
+gettext-0.11.5/man/bindtextdomain.3.html gettext-0.11.5/man/bindtextdomain.3-html
+gettext-0.11.5/man/bind_textdomain_codeset.3.html gettext-0.11.5/man/bind_textdomain_codeset.3-html
+gettext-0.11.5/po/Makefile.in.in gettext-0.11.5/po/Makefile.in-in
+gettext-0.11.5/src/format-librep.c gettext-0.11.5/src/format_librep.c
+gettext-0.11.5/src/format-pascal.c gettext-0.11.5/src/format_pascal.c
+gettext-0.11.5/intl-java/javadoc1/images/blue-ball.gif gettext-0.11.5/intl-java/javadoc1/images/b-ball.gif
+gettext-0.11.5/intl-java/javadoc1/images/cyan-ball.gif gettext-0.11.5/intl-java/javadoc1/images/c-ball.gif
+gettext-0.11.5/intl-java/javadoc1/images/green-ball.gif gettext-0.11.5/intl-java/javadoc1/images/g-ball.gif
+gettext-0.11.5/intl-java/javadoc1/images/magenta-ball.gif gettext-0.11.5/intl-java/javadoc1/images/m-ball.gif
+gettext-0.11.5/intl-java/javadoc1/images/red-ball.gif gettext-0.11.5/intl-java/javadoc1/images/r-ball.gif
+gettext-0.11.5/intl-java/javadoc1/images/yellow-ball.gif gettext-0.11.5/intl-java/javadoc1/images/y-ball.gif
+gettext-0.11.5/intl-java/javadoc1/images/constructors.gif gettext-0.11.5/intl-java/javadoc1/images/ctors.gif
+gettext-0.11.5/intl-java/javadoc1/images/variables.gif gettext-0.11.5/intl-java/javadoc1/images/vars.gif
+gettext-0.11.5/intl-java/javadoc2/gnu/gettext/package-frame.html gettext-0.11.5/intl-java/javadoc2/gnu/gettext/package_frame.html
+gettext-0.11.5/intl-java/javadoc2/gnu/gettext/package-tree.html gettext-0.11.5/intl-java/javadoc2/gnu/gettext/package_tree.html
+gettext-0.11.5/tests/gettext-1 gettext-0.11.5/tests/gettext.1
+gettext-0.11.5/tests/gettext-2 gettext-0.11.5/tests/gettext.2
+gettext-0.11.5/tests/msgattrib-1 gettext-0.11.5/tests/msgattrib.1
+gettext-0.11.5/tests/msgattrib-2 gettext-0.11.5/tests/msgattrib.2
+gettext-0.11.5/tests/msgattrib-3 gettext-0.11.5/tests/msgattrib.3
+gettext-0.11.5/tests/msgattrib-4 gettext-0.11.5/tests/msgattrib.4
+gettext-0.11.5/tests/msgattrib-5 gettext-0.11.5/tests/msgattrib.5
+gettext-0.11.5/tests/msgattrib-6 gettext-0.11.5/tests/msgattrib.6
+gettext-0.11.5/tests/msgattrib-7 gettext-0.11.5/tests/msgattrib.7
+gettext-0.11.5/tests/msgattrib-8 gettext-0.11.5/tests/msgattrib.8
+gettext-0.11.5/tests/msgattrib-9 gettext-0.11.5/tests/msgattrib.9
+gettext-0.11.5/tests/msgattrib-10 gettext-0.11.5/tests/msgattrib.10
+gettext-0.11.5/tests/msgattrib-11 gettext-0.11.5/tests/msgattrib.11
+gettext-0.11.5/tests/msgattrib-12 gettext-0.11.5/tests/msgattrib.12
+gettext-0.11.5/tests/msgattrib-13 gettext-0.11.5/tests/msgattrib.13
+gettext-0.11.5/tests/msgattrib-14 gettext-0.11.5/tests/msgattrib.14
+gettext-0.11.5/tests/msgcat-1 gettext-0.11.5/tests/msgcat.1
+gettext-0.11.5/tests/msgcat-2 gettext-0.11.5/tests/msgcat.2
+gettext-0.11.5/tests/msgcat-3 gettext-0.11.5/tests/msgcat.3
+gettext-0.11.5/tests/msgcat-4 gettext-0.11.5/tests/msgcat.4
+gettext-0.11.5/tests/msgcat-5 gettext-0.11.5/tests/msgcat.5
+gettext-0.11.5/tests/msgcat-6 gettext-0.11.5/tests/msgcat.6
+gettext-0.11.5/tests/msgcat-7 gettext-0.11.5/tests/msgcat.7
+gettext-0.11.5/tests/msgcmp-1 gettext-0.11.5/tests/msgcmp.1
+gettext-0.11.5/tests/msgcmp-2 gettext-0.11.5/tests/msgcmp.2
+gettext-0.11.5/tests/msgcomm-1 gettext-0.11.5/tests/msgcomm.1
+gettext-0.11.5/tests/msgcomm-2 gettext-0.11.5/tests/msgcomm.2
+gettext-0.11.5/tests/msgcomm-3 gettext-0.11.5/tests/msgcomm.3
+gettext-0.11.5/tests/msgcomm-4 gettext-0.11.5/tests/msgcomm.4
+gettext-0.11.5/tests/msgcomm-5 gettext-0.11.5/tests/msgcomm.5
+gettext-0.11.5/tests/msgcomm-6 gettext-0.11.5/tests/msgcomm.6
+gettext-0.11.5/tests/msgcomm-7 gettext-0.11.5/tests/msgcomm.7
+gettext-0.11.5/tests/msgcomm-8 gettext-0.11.5/tests/msgcomm.8
+gettext-0.11.5/tests/msgcomm-9 gettext-0.11.5/tests/msgcomm.9
+gettext-0.11.5/tests/msgcomm-10 gettext-0.11.5/tests/msgcomm.10
+gettext-0.11.5/tests/msgcomm-11 gettext-0.11.5/tests/msgcomm.11
+gettext-0.11.5/tests/msgcomm-12 gettext-0.11.5/tests/msgcomm.12
+gettext-0.11.5/tests/msgcomm-13 gettext-0.11.5/tests/msgcomm.13
+gettext-0.11.5/tests/msgcomm-14 gettext-0.11.5/tests/msgcomm.14
+gettext-0.11.5/tests/msgcomm-15 gettext-0.11.5/tests/msgcomm.15
+gettext-0.11.5/tests/msgcomm-16 gettext-0.11.5/tests/msgcomm.16
+gettext-0.11.5/tests/msgcomm-17 gettext-0.11.5/tests/msgcomm.17
+gettext-0.11.5/tests/msgcomm-18 gettext-0.11.5/tests/msgcomm.18
+gettext-0.11.5/tests/msgcomm-19 gettext-0.11.5/tests/msgcomm.19
+gettext-0.11.5/tests/msgcomm-20 gettext-0.11.5/tests/msgcomm.20
+gettext-0.11.5/tests/msgcomm-21 gettext-0.11.5/tests/msgcomm.21
+gettext-0.11.5/tests/msgcomm-22 gettext-0.11.5/tests/msgcomm.22
+gettext-0.11.5/tests/msgcomm-23 gettext-0.11.5/tests/msgcomm.23
+gettext-0.11.5/tests/msgconv-1 gettext-0.11.5/tests/msgconv.1
+gettext-0.11.5/tests/msgconv-2 gettext-0.11.5/tests/msgconv.2
+gettext-0.11.5/tests/msgconv-3 gettext-0.11.5/tests/msgconv.3
+gettext-0.11.5/tests/msgen-1 gettext-0.11.5/tests/msgen.1
+gettext-0.11.5/tests/msgexec-1 gettext-0.11.5/tests/msgexec.1
+gettext-0.11.5/tests/msgexec-2 gettext-0.11.5/tests/msgexec.2
+gettext-0.11.5/tests/msgfilter-1 gettext-0.11.5/tests/msgfilter.1
+gettext-0.11.5/tests/msgfilter-2 gettext-0.11.5/tests/msgfilter.2
+gettext-0.11.5/tests/msgfmt-1 gettext-0.11.5/tests/msgfmt.1
+gettext-0.11.5/tests/msgfmt-2 gettext-0.11.5/tests/msgfmt.2
+gettext-0.11.5/tests/msgfmt-3 gettext-0.11.5/tests/msgfmt.3
+gettext-0.11.5/tests/msgfmt-4 gettext-0.11.5/tests/msgfmt.4
+gettext-0.11.5/tests/msgfmt-5 gettext-0.11.5/tests/msgfmt.5
+gettext-0.11.5/tests/msgfmt-6 gettext-0.11.5/tests/msgfmt.6
+gettext-0.11.5/tests/msgfmt-7 gettext-0.11.5/tests/msgfmt.7
+gettext-0.11.5/tests/msgfmt-8 gettext-0.11.5/tests/msgfmt.8
+gettext-0.11.5/tests/msgfmt-9 gettext-0.11.5/tests/msgfmt.9
+gettext-0.11.5/tests/msgfmt-10 gettext-0.11.5/tests/msgfmt.10
+gettext-0.11.5/tests/msggrep-1 gettext-0.11.5/tests/msggrep.1
+gettext-0.11.5/tests/msggrep-2 gettext-0.11.5/tests/msggrep.2
+gettext-0.11.5/tests/msggrep-3 gettext-0.11.5/tests/msggrep.3
+gettext-0.11.5/tests/msggrep-4 gettext-0.11.5/tests/msggrep.4
+gettext-0.11.5/tests/msgmerge-1 gettext-0.11.5/tests/msgmerge.1
+gettext-0.11.5/tests/msgmerge-2 gettext-0.11.5/tests/msgmerge.2
+gettext-0.11.5/tests/msgmerge-3 gettext-0.11.5/tests/msgmerge.3
+gettext-0.11.5/tests/msgmerge-4 gettext-0.11.5/tests/msgmerge.4
+gettext-0.11.5/tests/msgmerge-5 gettext-0.11.5/tests/msgmerge.5
+gettext-0.11.5/tests/msgmerge-6 gettext-0.11.5/tests/msgmerge.6
+gettext-0.11.5/tests/msgmerge-7 gettext-0.11.5/tests/msgmerge.7
+gettext-0.11.5/tests/msgmerge-8 gettext-0.11.5/tests/msgmerge.8
+gettext-0.11.5/tests/msgmerge-9 gettext-0.11.5/tests/msgmerge.9
+gettext-0.11.5/tests/msgmerge-10 gettext-0.11.5/tests/msgmerge.10
+gettext-0.11.5/tests/msgmerge-11 gettext-0.11.5/tests/msgmerge.11
+gettext-0.11.5/tests/msgmerge-12 gettext-0.11.5/tests/msgmerge.12
+gettext-0.11.5/tests/msgmerge-13 gettext-0.11.5/tests/msgmerge.13
+gettext-0.11.5/tests/msgmerge-14 gettext-0.11.5/tests/msgmerge.14
+gettext-0.11.5/tests/msgmerge-15 gettext-0.11.5/tests/msgmerge.15
+gettext-0.11.5/tests/msgmerge-16 gettext-0.11.5/tests/msgmerge.16
+gettext-0.11.5/tests/msgmerge-17 gettext-0.11.5/tests/msgmerge.17
+gettext-0.11.5/tests/msgmerge-18 gettext-0.11.5/tests/msgmerge.18
+gettext-0.11.5/tests/msgmerge-19 gettext-0.11.5/tests/msgmerge.19
+gettext-0.11.5/tests/msgmerge-20 gettext-0.11.5/tests/msgmerge.20
+gettext-0.11.5/tests/msgunfmt-1 gettext-0.11.5/tests/msgunfmt.1
+gettext-0.11.5/tests/msguniq-1 gettext-0.11.5/tests/msguniq.1
+gettext-0.11.5/tests/msguniq-2 gettext-0.11.5/tests/msguniq.2
+gettext-0.11.5/tests/msguniq-3 gettext-0.11.5/tests/msguniq.3
+gettext-0.11.5/tests/xgettext-1 gettext-0.11.5/tests/xgettext.1
+gettext-0.11.5/tests/xgettext-2 gettext-0.11.5/tests/xgettext.2
+gettext-0.11.5/tests/xgettext-3 gettext-0.11.5/tests/xgettext.3
+gettext-0.11.5/tests/xgettext-4 gettext-0.11.5/tests/xgettext.4
+gettext-0.11.5/tests/xgettext-5 gettext-0.11.5/tests/xgettext.5
+gettext-0.11.5/tests/xgettext-6 gettext-0.11.5/tests/xgettext.6
+gettext-0.11.5/tests/xgettext-7 gettext-0.11.5/tests/xgettext.7
+gettext-0.11.5/tests/xgettext-8 gettext-0.11.5/tests/xgettext.8
+gettext-0.11.5/tests/xgettext-9 gettext-0.11.5/tests/xgettext.9
+gettext-0.11.5/tests/xgettext-10 gettext-0.11.5/tests/xgettext.10
+gettext-0.11.5/tests/xgettext-11 gettext-0.11.5/tests/xgettext.11
+gettext-0.11.5/tests/xgettext-12 gettext-0.11.5/tests/xgettext.12
+gettext-0.11.5/tests/xgettext-13 gettext-0.11.5/tests/xgettext.13
+gettext-0.11.5/tests/xgettext-14 gettext-0.11.5/tests/xgettext.14
+gettext-0.11.5/tests/xgettext-15 gettext-0.11.5/tests/xgettext.15
+gettext-0.11.5/tests/xgettext-16 gettext-0.11.5/tests/xgettext.16
+gettext-0.11.5/tests/xgettext-17 gettext-0.11.5/tests/xgettext.17
+gettext-0.11.5/tests/format-c-1 gettext-0.11.5/tests/format/c.1
+gettext-0.11.5/tests/format-c-2 gettext-0.11.5/tests/format/c.2
+gettext-0.11.5/tests/format-elisp-1 gettext-0.11.5/tests/format/elisp.1
+gettext-0.11.5/tests/format-elisp-2 gettext-0.11.5/tests/format/elisp.2
+gettext-0.11.5/tests/format-java-1 gettext-0.11.5/tests/format/java.1
+gettext-0.11.5/tests/format-java-2 gettext-0.11.5/tests/format/java.2
+gettext-0.11.5/tests/format-librep-1 gettext-0.11.5/tests/format/librep.1
+gettext-0.11.5/tests/format-librep-2 gettext-0.11.5/tests/format/librep.2
+gettext-0.11.5/tests/format-lisp-1 gettext-0.11.5/tests/format/lisp.1
+gettext-0.11.5/tests/format-lisp-2 gettext-0.11.5/tests/format/lisp.2
+gettext-0.11.5/tests/format-python-1 gettext-0.11.5/tests/format/python.1
+gettext-0.11.5/tests/format-python-2 gettext-0.11.5/tests/format/python.2
+gettext-0.11.5/tests/format-pascal-1 gettext-0.11.5/tests/format/pascal.1
+gettext-0.11.5/tests/format-pascal-2 gettext-0.11.5/tests/format/pascal.2
+gettext-0.11.5/tests/format-ycp-1 gettext-0.11.5/tests/format/ycp.1
+gettext-0.11.5/tests/format-ycp-2 gettext-0.11.5/tests/format/ycp.2
+gettext-0.11.5/tests/plural-1 gettext-0.11.5/tests/plural.1
+gettext-0.11.5/tests/plural-2 gettext-0.11.5/tests/plural.2
+gettext-0.11.5/tests/lang-c++ gettext-0.11.5/tests/lang-cxx
+gettext-0.11.5/tests/rpath-1a gettext-0.11.5/tests/rpath/1a
+gettext-0.11.5/tests/rpath-1b gettext-0.11.5/tests/rpath/1b
+gettext-0.11.5/tests/rpath-2aaa gettext-0.11.5/tests/rpath/2aaa
+gettext-0.11.5/tests/rpath-2aab gettext-0.11.5/tests/rpath/2aab
+gettext-0.11.5/tests/rpath-2aac gettext-0.11.5/tests/rpath/2aac
+gettext-0.11.5/tests/rpath-2aad gettext-0.11.5/tests/rpath/2aad
+gettext-0.11.5/tests/rpath-2aba gettext-0.11.5/tests/rpath/2aba
+gettext-0.11.5/tests/rpath-2abb gettext-0.11.5/tests/rpath/2abb
+gettext-0.11.5/tests/rpath-2abc gettext-0.11.5/tests/rpath/2abc
+gettext-0.11.5/tests/rpath-2abd gettext-0.11.5/tests/rpath/2abd
+gettext-0.11.5/tests/rpath-2baa gettext-0.11.5/tests/rpath/2baa
+gettext-0.11.5/tests/rpath-2bab gettext-0.11.5/tests/rpath/2bab
+gettext-0.11.5/tests/rpath-2bac gettext-0.11.5/tests/rpath/2bac
+gettext-0.11.5/tests/rpath-2bad gettext-0.11.5/tests/rpath/2bad
+gettext-0.11.5/tests/rpath-2bba gettext-0.11.5/tests/rpath/2bba
+gettext-0.11.5/tests/rpath-2bbb gettext-0.11.5/tests/rpath/2bbb
+gettext-0.11.5/tests/rpath-2bbc gettext-0.11.5/tests/rpath/2bbc
+gettext-0.11.5/tests/rpath-2bbd gettext-0.11.5/tests/rpath/2bbd
+gettext-0.11.5/tests/xg-test1.ok.po gettext-0.11.5/tests/xg-test1.ok-po
+gettext-0.11.5/tests/rpath-1 gettext-0.11.5/tests/rpath/1
+gettext-0.11.5/tests/rpath-2_a gettext-0.11.5/tests/rpath/2_a
+gettext-0.11.5/tests/rpath-2_b gettext-0.11.5/tests/rpath/2_b
+gettext-0.11.5/tests/rpath-2.README gettext-0.11.5/tests/rpath/2.README
+gettext-0.11.5/tests/rpathcfg.sh gettext-0.11.5/tests/rpathcfg.sh
diff --git a/djgpp/getpwnam.c b/djgpp/getpwnam.c
new file mode 100644
index 0000000..81b48ff
--- /dev/null
+++ b/djgpp/getpwnam.c
@@ -0,0 +1,40 @@
+/*
+ libc of DJGPP 2.03 does not offer a pw_gecos entry,
+ so this version from DJGPP 2.04 CVS tree is supplied.
+ This file will become superflous and will be removed
+ from the distribution as soon as DJGPP 2.04 has been
+ released.
+*/
+
+/* Copyright (C) 1998 DJ Delorie, see COPYING.DJ for details */
+/* Copyright (C) 1995 DJ Delorie, see COPYING.DJ for details */
+#include "djpwd.h"
+#include <unistd.h>
+#include <stdlib.h>
+#include <string.h>
+
+static char passwd[] = "";
+static char slash [] = "/";
+static char shell [] = "sh";
+
+struct passwd *
+getpwnam(const char *name)
+{
+ static struct passwd rv;
+ rv.pw_name = getlogin();
+ if (strcmp(rv.pw_name, name) != 0)
+ return 0;
+ rv.pw_uid = getuid();
+ rv.pw_gid = getgid();
+ rv.pw_dir = getenv("HOME");
+ if (rv.pw_dir == 0)
+ rv.pw_dir = slash;
+ rv.pw_shell = getenv("SHELL");
+ if (rv.pw_shell == 0)
+ rv.pw_shell = getenv("COMSPEC");
+ if (rv.pw_shell == 0)
+ rv.pw_shell = shell;
+ rv.pw_gecos = getlogin();
+ rv.pw_passwd = passwd;
+ return &rv;
+}
diff --git a/djgpp/msginit.sed b/djgpp/msginit.sed
new file mode 100644
index 0000000..278531e
--- /dev/null
+++ b/djgpp/msginit.sed
@@ -0,0 +1 @@
+/^#include/ s|<pwd\.h>|"../lib/djpwd.h"|
diff --git a/djgpp/tscript.sed b/djgpp/tscript.sed
new file mode 100644
index 0000000..a940369
--- /dev/null
+++ b/djgpp/tscript.sed
@@ -0,0 +1,7 @@
+# Sed script for modify the files in tests directory.
+
+s|\.in\([1-2]\{1,1\}\)\.po|.i\1-po|g
+s|\.ok\.po|.ok-po|g
+s|\.in\.po|_in.po|g
+s|\.in\.\([cC]\{1,1\}\)|_in.\1|g
+s|\.po\.|.po-|g
diff --git a/djgpp/unsetenv.c b/djgpp/unsetenv.c
new file mode 100644
index 0000000..f00c5d0
--- /dev/null
+++ b/djgpp/unsetenv.c
@@ -0,0 +1,41 @@
+/*
+ libc of DJGPP 2.03 does not offer function unsetenv,
+ so this version from DJGPP 2.04 CVS tree is supplied.
+ This file will become superflous and will be removed
+ from the distribution as soon as DJGPP 2.04 has been
+ released.
+*/
+
+/* Copyright (C) 2001 DJ Delorie, see COPYING.DJ for details */
+
+#include <libc/stubs.h>
+#include <libc/unconst.h>
+#include <errno.h>
+#include <stdlib.h>
+#include <string.h>
+
+extern char **environ;
+
+int
+unsetenv(const char *name)
+{
+ /* No environment == success */
+ if (environ == 0)
+ return 0;
+
+ /* Check for the failure conditions */
+ if (name == NULL || *name == '\0' || strchr (name, '=') != NULL)
+ {
+ errno = EINVAL;
+ return -1;
+ }
+
+ /* Let putenv() do the work
+ * Note that we can just pass name directly as our putenv() treats
+ * this the same as passing 'name='. */
+ /* The cast is needed because POSIX specifies putenv() to take a non-const
+ * parameter. Our putenv is well-behaved, so this is OK. */
+ putenv (unconst (name, char*));
+
+ return 0;
+}