summaryrefslogtreecommitdiffstats
path: root/djgpp
diff options
context:
space:
mode:
authorBruno Haible <bruno@clisp.org>2002-02-15 17:37:28 +0000
committerBruno Haible <bruno@clisp.org>2009-06-22 01:22:56 +0200
commitb18664fbf3a20ddc8cdedfe74257271065be2ed1 (patch)
tree5e1ee3a20a49f862de5cd581593259aae99d3f1c /djgpp
parentcfa1baa6e8e638f201001f8b97f88bb664485753 (diff)
downloadexternal_gettext-b18664fbf3a20ddc8cdedfe74257271065be2ed1.zip
external_gettext-b18664fbf3a20ddc8cdedfe74257271065be2ed1.tar.gz
external_gettext-b18664fbf3a20ddc8cdedfe74257271065be2ed1.tar.bz2
Update by Juan Manuel Guerrero.
Diffstat (limited to 'djgpp')
-rw-r--r--djgpp/Makefile.maint5
-rw-r--r--djgpp/README224
-rw-r--r--djgpp/README.in224
-rwxr-xr-xdjgpp/config.bat245
-rw-r--r--djgpp/config.in20
-rw-r--r--djgpp/config.sed288
-rwxr-xr-xdjgpp/config.site6
-rw-r--r--djgpp/djpwd.h56
-rw-r--r--djgpp/fnchange.in276
-rw-r--r--djgpp/fnchange.lst274
-rw-r--r--djgpp/getpwnam.c40
-rw-r--r--djgpp/msginit.sed1
-rw-r--r--djgpp/unsetenv.c41
13 files changed, 1323 insertions, 377 deletions
diff --git a/djgpp/Makefile.maint b/djgpp/Makefile.maint
index c9dc958..7ae1d85 100644
--- a/djgpp/Makefile.maint
+++ b/djgpp/Makefile.maint
@@ -12,9 +12,10 @@ config.sed: config.in fnchange.in
-e '/plural-[1-9]\+/ d' \
-e 's|\.h\.in|\\\\\\\\.h\\\\\\\\.in|' \
-e 's|\.in\.in|\\\\\\\\.in\\\\\\\\.in|' \
- -e 's|[ ]\+.*/|,|' \
+ -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|^.*/| s,|' \
-e 's|^#.*$$|/@append_list_of_renamed_files@/ c\\|' \
$(srcdir)/fnchange.in > t-script.sed
sed '$$ s|\\||' t-script.sed > script.sed
diff --git a/djgpp/README b/djgpp/README
index ad2310b..32b0886 100644
--- a/djgpp/README
+++ b/djgpp/README
@@ -6,7 +6,7 @@ This is a port of GNU Gettext 0.11 to MSDOS/DJGPP.
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
- LICV16B.ZIP TOO. THIS IS **NOT** OPTIONAL.
+ 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.
@@ -36,20 +36,15 @@ This is a port of GNU Gettext 0.11 to MSDOS/DJGPP.
2) The binary package gtxt0.11b.zip contains all needed files to get NLS
support for the following DJGPP ports:
- bison-1.28 (bsn128s.zip)
- enscript-1.5.0 (ens150s.zip)
- enscript-1.6.1 (ens161s.zip)
+ bison-1.32 (bsn132s.zip)
enscript-1.6.2 (ens162s.zip)
- fileutils-3.16 (fil316s.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.5 (rcode35s.zip)
recode-3.6 (rcode36s.zip)
sed-3.02.80 (sed3028s.zip)
sharutils-4.2c (shar42cs.zip)
- sh-utils-2.0i (shl20is.zip)
sh-utils-2.0j (shl20js.zip)
tar-1.12a (tar112as.zip)
texinfo-4.0 (txi40s.zip)
@@ -61,7 +56,7 @@ This is a port of GNU Gettext 0.11 to MSDOS/DJGPP.
gtxt0.11b.zip (binaries of GNU Gettext 0.11)
licv17b.zip (binaries of GNU libiconv 1.7)
fil40b.zip (binaries of GNU Fileutils 4.0)
- shl112b.zip (binaries of GNU Sh-utils 1.12 Date: 2000-08-11)
+ shl20jb.zip (binaries of GNU Sh-utils 2.0j)
2.: Installing the binary package.
@@ -131,60 +126,143 @@ This is a port of GNU Gettext 0.11 to MSDOS/DJGPP.
ar -rv /dev/env/DJDIR/lib/libc.a conio.o
You are done.
-2.4.: Edit the djgpp.env file which is located in the top DJGPP installation
- directory. Move to the first or global part of your djgpp.env.
- The global part of your djgpp.env is everything *BEFORE* the *FIRST*
- line that looks like:
-[xxxx]
- where xxxx stands for the name of some DJGPP binary (usually this is bison).
- Add the following line to the first part of your djgpp.env:
-
-+LANG=xx
-+LANGUAGE=yy:zz
-
- The line must be completely shifted to the left in your djgpp.env file.
- Please note the plus sign at the beginning of the line. This plus sign
- should **NOT** be omited or a lot of shell scripts, in this and in
- other packages, that try to reset this value will stop working. The
- LANG entry is obligatory, the LANGUAGE entry may be omited. The
- LANGUAGE variable allows you to select an alternate catalog that the
- one stipulated by LANG. Replace xx, yy and zz by the language code of
- the catalogs you want to use.
+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 containig the translations for
+ 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:
-+LANG=es
+ set LANG=es
- If you want to use the spanish (es) and german (de) catalogs
- the above lines will look like this:
+ 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.
-+LANG=es
-+LANGUAGE=es:de
+ 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 translations. If this translations
- can not be found it will search for the german translations and if
- this can also not been found it will default to the build-in english
- messages. If you want to reverse this search order the above lines
- would look like this one:
-
-+LANG=es
-+LANGUAGE=de:es
-
- Please note that if you omit the LANG environment variable, the
- LANGUAGE variable will not be honored at all. The LANG varaiable must
- always be set to your default catalog. With the aid of LANGUAGE you can
- select other catalogs apart of the default one. If for some reason you
- want to disable NLS, then you should comment out the LANG variable or
+ 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:
-+LANG=C
- Users not familiar with djgpp.env should refer to kb.info.
- This document can be read running the command:
- info -f kb -n DJGPP.ENV
+ 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:
@@ -204,9 +282,9 @@ This is a port of GNU Gettext 0.11 to MSDOS/DJGPP.
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)
- gcc2953b.zip, bnu2112b.zip, mak3791b.zip,
- fil40b.zip, shl112b.zip, txt20b.zip,
- txi40b.zip, grep24b.zip, sed302b.zip,
+ 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:
@@ -222,8 +300,7 @@ This is a port of GNU Gettext 0.11 to MSDOS/DJGPP.
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. You *MUST* use the
- updated version of shl112b.zip (date: 2000-08-11).
+ 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
@@ -339,27 +416,22 @@ This is a port of GNU Gettext 0.11 to MSDOS/DJGPP.
This package contains all needed files to get NLS support for the
following DJGPP ports:
- bison-1.28 (bsn128s.zip)
- enscript-1.5.0 (ens150s.zip)
- enscript-1.6.1 (ens161s.zip)
+ bison-1.32 (bsn132s.zip)
enscript-1.6.2 (ens162s.zip)
- fileutils-3.16 (fil316s.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.5 (rcode35s.zip)
recode-3.6 (rcode36s.zip)
sed-3.02.80 (sed3028s.zip)
sharutils-4.2c (shar42cs.zip)
- sh-utils-2.0i (shl20is.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 bison-1.28 as example.
+ 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
@@ -379,24 +451,24 @@ This is a port of GNU Gettext 0.11 to MSDOS/DJGPP.
4.2.: We will assume that the required sources will be unzipped into
a directory called src.
- Copy bsn128s.zip into /src and decompress them preserving the directory
+ Copy grep24s.zip into /src and decompress them preserving the directory
structure running the command:
unzip32 *.zip
This will create the directory:
- /src/gnu/bison-1.28
+ /src/gnu/grep-2.4
The binary package gtxt0.11b.zip will create the directory:
- %DJDIR%/gnu/gtxt-011/djgpp/NLS_for_djgpp_packages/bison-1.28
+ %DJDIR%/gnu/gtxt-011/djgpp/NLS_for_djgpp_packages/grep-2.4
This directory contains all needed files.
The files are:
- bison-1.28/djconfig.bat (new .bat file that replaces the original one.)
- bison-1.28/djgpp/config.sed (sed script to modify configure.)
- bison-1.28/djgpp/config.site (defaults for configure.)
+ 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 bison-1.28 directory.
- First we will cd into the bison-1.28 directory and then we will run the
+ 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\djgpp\NLS_for_djgpp_packages\bison-1.28 /v/s/e
+ xcopy %DJDIR%\gnu\gtxt-011\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:
@@ -407,9 +479,9 @@ This is a port of GNU Gettext 0.11 to MSDOS/DJGPP.
used the "distclean" target.
4.4.: Now the package can be configured running the command:
- djconfig
- if you want to build the products in the /src/bison-1.28 directory, or:
- c:\src\bison-1.28\djconfig c:/src/bison-1.28
+ 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.
@@ -429,7 +501,7 @@ This is a port of GNU Gettext 0.11 to MSDOS/DJGPP.
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 environment variable.
+4.7.: Now you have to set the LANG and LANGUAGE environment variable.
Please refer to 2.4.
diff --git a/djgpp/README.in b/djgpp/README.in
index a176f09..36bf3e3 100644
--- a/djgpp/README.in
+++ b/djgpp/README.in
@@ -6,7 +6,7 @@ This is a port of GNU Gettext @VER@ to MSDOS/DJGPP.
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
- LICV16B.ZIP TOO. THIS IS **NOT** OPTIONAL.
+ 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.
@@ -36,20 +36,15 @@ This is a port of GNU Gettext @VER@ to MSDOS/DJGPP.
2) The binary package gtxt@packageversion@b.zip contains all needed files to get NLS
support for the following DJGPP ports:
- bison-1.28 (bsn128s.zip)
- enscript-1.5.0 (ens150s.zip)
- enscript-1.6.1 (ens161s.zip)
+ bison-1.32 (bsn132s.zip)
enscript-1.6.2 (ens162s.zip)
- fileutils-3.16 (fil316s.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.5 (rcode35s.zip)
recode-3.6 (rcode36s.zip)
sed-3.02.80 (sed3028s.zip)
sharutils-4.2c (shar42cs.zip)
- sh-utils-2.0i (shl20is.zip)
sh-utils-2.0j (shl20js.zip)
tar-1.12a (tar112as.zip)
texinfo-4.0 (txi40s.zip)
@@ -61,7 +56,7 @@ This is a port of GNU Gettext @VER@ to MSDOS/DJGPP.
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)
- shl112b.zip (binaries of GNU Sh-utils 1.12 Date: 2000-08-11)
+ shl20jb.zip (binaries of GNU Sh-utils 2.0j)
2.: Installing the binary package.
@@ -131,60 +126,143 @@ This is a port of GNU Gettext @VER@ to MSDOS/DJGPP.
ar -rv /dev/env/DJDIR/lib/libc.a conio.o
You are done.
-2.4.: Edit the djgpp.env file which is located in the top DJGPP installation
- directory. Move to the first or global part of your djgpp.env.
- The global part of your djgpp.env is everything *BEFORE* the *FIRST*
- line that looks like:
-[xxxx]
- where xxxx stands for the name of some DJGPP binary (usually this is bison).
- Add the following line to the first part of your djgpp.env:
-
-+LANG=xx
-+LANGUAGE=yy:zz
-
- The line must be completely shifted to the left in your djgpp.env file.
- Please note the plus sign at the beginning of the line. This plus sign
- should **NOT** be omited or a lot of shell scripts, in this and in
- other packages, that try to reset this value will stop working. The
- LANG entry is obligatory, the LANGUAGE entry may be omited. The
- LANGUAGE variable allows you to select an alternate catalog that the
- one stipulated by LANG. Replace xx, yy and zz by the language code of
- the catalogs you want to use.
+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 containig the translations for
+ 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:
-+LANG=es
+ set LANG=es
- If you want to use the spanish (es) and german (de) catalogs
- the above lines will look like this:
+ 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.
-+LANG=es
-+LANGUAGE=es:de
+ 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 translations. If this translations
- can not be found it will search for the german translations and if
- this can also not been found it will default to the build-in english
- messages. If you want to reverse this search order the above lines
- would look like this one:
-
-+LANG=es
-+LANGUAGE=de:es
-
- Please note that if you omit the LANG environment variable, the
- LANGUAGE variable will not be honored at all. The LANG varaiable must
- always be set to your default catalog. With the aid of LANGUAGE you can
- select other catalogs apart of the default one. If for some reason you
- want to disable NLS, then you should comment out the LANG variable or
+ 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:
-+LANG=C
- Users not familiar with djgpp.env should refer to kb.info.
- This document can be read running the command:
- info -f kb -n DJGPP.ENV
+ 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:
@@ -204,9 +282,9 @@ This is a port of GNU Gettext @VER@ to MSDOS/DJGPP.
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)
- gcc2953b.zip, bnu2112b.zip, mak3791b.zip,
- fil40b.zip, shl112b.zip, txt20b.zip,
- txi40b.zip, grep24b.zip, sed302b.zip,
+ 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:
@@ -222,8 +300,7 @@ This is a port of GNU Gettext @VER@ to MSDOS/DJGPP.
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. You *MUST* use the
- updated version of shl112b.zip (date: 2000-08-11).
+ 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
@@ -339,27 +416,22 @@ This is a port of GNU Gettext @VER@ to MSDOS/DJGPP.
This package contains all needed files to get NLS support for the
following DJGPP ports:
- bison-1.28 (bsn128s.zip)
- enscript-1.5.0 (ens150s.zip)
- enscript-1.6.1 (ens161s.zip)
+ bison-1.32 (bsn132s.zip)
enscript-1.6.2 (ens162s.zip)
- fileutils-3.16 (fil316s.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.5 (rcode35s.zip)
recode-3.6 (rcode36s.zip)
sed-3.02.80 (sed3028s.zip)
sharutils-4.2c (shar42cs.zip)
- sh-utils-2.0i (shl20is.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 bison-1.28 as example.
+ 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
@@ -379,24 +451,24 @@ This is a port of GNU Gettext @VER@ to MSDOS/DJGPP.
4.2.: We will assume that the required sources will be unzipped into
a directory called src.
- Copy bsn128s.zip into /src and decompress them preserving the directory
+ Copy grep24s.zip into /src and decompress them preserving the directory
structure running the command:
unzip32 *.zip
This will create the directory:
- /src/gnu/bison-1.28
+ /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/bison-1.28
+ %DJDIR%/gnu/gtxt-@treeversion@/djgpp/NLS_for_djgpp_packages/grep-2.4
This directory contains all needed files.
The files are:
- bison-1.28/djconfig.bat (new .bat file that replaces the original one.)
- bison-1.28/djgpp/config.sed (sed script to modify configure.)
- bison-1.28/djgpp/config.site (defaults for configure.)
+ 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 bison-1.28 directory.
- First we will cd into the bison-1.28 directory and then we will run the
+ 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\bison-1.28 /v/s/e
+ 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:
@@ -407,9 +479,9 @@ This is a port of GNU Gettext @VER@ to MSDOS/DJGPP.
used the "distclean" target.
4.4.: Now the package can be configured running the command:
- djconfig
- if you want to build the products in the /src/bison-1.28 directory, or:
- c:\src\bison-1.28\djconfig c:/src/bison-1.28
+ 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.
@@ -429,7 +501,7 @@ This is a port of GNU Gettext @VER@ to MSDOS/DJGPP.
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 environment variable.
+4.7.: Now you have to set the LANG and LANGUAGE environment variable.
Please refer to 2.4.
diff --git a/djgpp/config.bat b/djgpp/config.bat
index cb37269..b5a1cdf 100755
--- a/djgpp/config.bat
+++ b/djgpp/config.bat
@@ -1,69 +1,143 @@
@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 static libraries, and to in place configuration.
+Rem no dependency tracking, static library
+Rem and to in place configuration.
set ARGS=
set NLS=enabled
if not "%NLS%" == "enabled" goto SmallEnv
-set STATIC_LIBS=enabled
-if not "%STATIC_LIBS%" == "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 and STATIC_LIBS.
-Rem All other arguments are stored unchanged into ARGS.
+Rem Special arguments are: NLS, XSRC, CACHE, STATIC_LIBS, LIBICONV_PREFIX, LIBINTL_PREFIX and DEPS.
+Rem All other arguments are stored into ARGS.
:ArgLoop
-set ARGSFLAG=1
-if not "%ARGSFLAG%" == "1" goto SmallEnv
-if not "%1" == "NLS" if not "%1" == "nls" if not "%1" == "NO-NLS" if not "%1" == "no-NLS" if not "%1" == "no-nls" goto StaticLibsOpt
+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
-set ARGSFLAG=0
-if not "%ARGSFLAG%" == "0" goto SmallEnv
-shift
-:StaticLibsOpt
-set ARGSFLAG=1
-if not "%ARGSFLAG%" == "1" goto SmallEnv
-if not "%1" == "static" if not "%1" == "STATIC" if not "%1" == "shared" if not "%1" == "SHARED" goto SrcDirOpt
-if "%1" == "shared" set STATIC_LIBS=disabled
-if "%1" == "SHARED" set STATIC_LIBS=disabled
-if not "%STATIC_LIBS%" == "disabled" goto SmallEnv
-set ARGSFLAG=0
-if not "%ARGSFLAG%" == "0" goto SmallEnv
-shift
-:SrcDirOpt
-set ARGSFLAG=1
-if not "%ARGSFLAG%" == "1" 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 NextArg
+if errorlevel 1 goto CollectArgument
set XSRC=%1
if not "%XSRC%" == "%1" goto SmallEnv
-set ARGSFLAG=0
-if not "%ARGSFLAG%" == "0" goto SmallEnv
-:NextArg
-if "%ARGSFLAG%" == "1" set _ARGS=%ARGS% %1
-if "%ARGSFLAG%" == "1" if not "%_ARGS%" == "%ARGS% %1" goto SmallEnv
-set ARGS=%_ARGS%
+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
-set ARGSFLAG=
-if "%STATIC_LIBS%" == "enabled" set _ARGS=--enable-static --disable-shared %ARGS%
-if not "%_ARGS%" == "--enable-static --disable-shared %ARGS%" goto SmallEnv
-if "%STATIC_LIBS%" == "disabled" set _ARGS=--disable-static --enable-shared %ARGS%
-if "%STATIC_LIBS%" == "disabled" if not "%_ARGS%" == "--disable-static --enable-shared %ARGS%" goto SmallEnv
-set ARGS=%_ARGS%
-set _ARGS=
+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
@@ -87,6 +161,10 @@ 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
@@ -101,20 +179,56 @@ 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 mv -f INSTALL INSTALL.txt
+if exist INSTALL ren INSTALL INSTALL.txt
-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
+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
@@ -146,17 +260,37 @@ set HOSTNAME=%_HOSTNAME%
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
-echo Running the ./configure script...
-sh ./configure --srcdir=%XSRC% --enable-nls --with-included-gettext %ARGS%
-if errorlevel 1 goto CfgError
-echo Done.
-goto ScriptEditing
+
+: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 --srcdir=%XSRC% --disable-nls %ARGS%
+sh ./configure @arguments
if errorlevel 1 goto CfgError
+rm arguments
echo Done.
:ScriptEditing
@@ -196,8 +330,11 @@ 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
-set ARGS=
+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
index 5423008..9e859ab 100644
--- a/djgpp/config.in
+++ b/djgpp/config.in
@@ -14,11 +14,15 @@ lispdir = \\$(prefix)/gnu/emacs/site-lisp\
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,gettext_\\*\\.,gettext.*-,g\
+ s,\\.sh\\.in,.sh-in,g\
@append_list_of_renamed_files@
- /^TESTS[ ]*=/ s,plural-\\([1-9]\\+\\),plural.\\1,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],\
@@ -46,8 +50,12 @@ lispdir = \\$(prefix)/gnu/emacs/site-lisp\
/^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|
}
@@ -118,3 +126,11 @@ lispdir = \\$(prefix)/gnu/emacs/site-lisp\
# 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
index 1784ce2..7abf739 100644
--- a/djgpp/config.sed
+++ b/djgpp/config.sed
@@ -14,62 +14,232 @@ lispdir = \\$(prefix)/gnu/emacs/site-lisp\
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,config\\.h\\.in,config.h-in,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_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,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,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,Makefile\\.in\\.in,Makefile.in-in,g\
- s,gettext-1,gettext.1,g\
- s,gettext-2,gettext.2,g\
- s,msgcmp-1,msgcmp.1,g\
- s,msgcmp-2,msgcmp.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,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,msgunfmt-1,msgunfmt.1,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,xg-test1.ok.po,xg-test1.ok-po,g\
- /^TESTS[ ]*=/ s,plural-\\([1-9]\\+\\),plural.\\1,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],\
@@ -97,8 +267,12 @@ lispdir = \\$(prefix)/gnu/emacs/site-lisp\
/^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|
}
@@ -169,3 +343,11 @@ lispdir = \\$(prefix)/gnu/emacs/site-lisp\
# 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
index 1e6b21a..d1bd9bd 100755
--- a/djgpp/config.site
+++ b/djgpp/config.site
@@ -23,15 +23,11 @@ test "x$prefix" = xNONE && prefix='/dev/env/DJDIR'
# $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'}
-# The texi2html perl script is usualy not available on stock
-# DJGPP installations, so one will be distributed with the
-# official DJGPP source zip file.
-TEXI2HTML=${TEXI2HTML='/dev/env/DJDIR/bin/perl $(top_srcdir)/djgpp/texi2html'}
-
# A sane defualt for emacs.
ac_cv_path_EMACS=${EMACS='/dev/env/DJDIR/gnu/emacs/bin/emacs'}
diff --git a/djgpp/djpwd.h b/djgpp/djpwd.h
new file mode 100644
index 0000000..78596e5
--- /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/fnchange.in b/djgpp/fnchange.in
index 0406af3..d0c1922 100644
--- a/djgpp/fnchange.in
+++ b/djgpp/fnchange.in
@@ -1,55 +1,221 @@
-# This is a template from which fnchange.lst is generated.
-@V@/config.h.in @V@/config.h-in
-@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_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@/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@/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@/po/Makefile.in.in @V@/po/Makefile.in-in
-@V@/tests/gettext-1 @V@/tests/gettext.1
-@V@/tests/gettext-2 @V@/tests/gettext.2
-@V@/tests/msgcmp-1 @V@/tests/msgcmp.1
-@V@/tests/msgcmp-2 @V@/tests/msgcmp.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/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/msgunfmt-1 @V@/tests/msgunfmt.1
-@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/xg-test1.ok.po @V@/tests/xg-test1.ok-po
-@V@/tests/plural-1 @V@/tests/plural.1
-@V@/tests/plural-2 @V@/tests/plural.2
+# 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
index 1acedc5..5c23562 100644
--- a/djgpp/fnchange.lst
+++ b/djgpp/fnchange.lst
@@ -1,54 +1,220 @@
-gettext-0.11/config.h.in gettext-0.11/config.h-in
-gettext-0.11/doc/gettext_1.html gettext-0.11/doc/gettext.1-html
-gettext-0.11/doc/gettext_10.html gettext-0.11/doc/gettext.10-html
-gettext-0.11/doc/gettext_11.html gettext-0.11/doc/gettext.11-html
-gettext-0.11/doc/gettext_12.html gettext-0.11/doc/gettext.12-html
-gettext-0.11/doc/gettext_13.html gettext-0.11/doc/gettext.13-html
-gettext-0.11/doc/gettext_14.html gettext-0.11/doc/gettext.14-html
-gettext-0.11/doc/gettext_2.html gettext-0.11/doc/gettext.2-html
-gettext-0.11/doc/gettext_3.html gettext-0.11/doc/gettext.3-html
-gettext-0.11/doc/gettext_4.html gettext-0.11/doc/gettext.4-html
-gettext-0.11/doc/gettext_5.html gettext-0.11/doc/gettext.5-html
-gettext-0.11/doc/gettext_6.html gettext-0.11/doc/gettext.6-html
-gettext-0.11/doc/gettext_7.html gettext-0.11/doc/gettext.7-html
-gettext-0.11/doc/gettext_8.html gettext-0.11/doc/gettext.8-html
-gettext-0.11/doc/gettext_9.html gettext-0.11/doc/gettext.9-html
-gettext-0.11/doc/gettext_foot.html gettext-0.11/doc/gettext.foot-html
-gettext-0.11/doc/gettext_toc.html gettext-0.11/doc/gettext.toc-html
-gettext-0.11/man/gettext.3.html gettext-0.11/man/gettext.3-html
-gettext-0.11/man/ngettext.3.html gettext-0.11/man/ngettext.3-html
-gettext-0.11/man/textdomain.3.html gettext-0.11/man/textdomain.3-html
-gettext-0.11/man/bindtextdomain.3.html gettext-0.11/man/bindtextdomain.3-html
-gettext-0.11/man/bind_textdomain_codeset.3.html gettext-0.11/man/bind_textdomain_codeset.3-html
-gettext-0.11/man/gettext.3.in gettext-0.11/man/gettext.3-in
-gettext-0.11/man/ngettext.3.in gettext-0.11/man/ngettext.3-in
-gettext-0.11/man/textdomain.3.in gettext-0.11/man/textdomain.3-in
-gettext-0.11/man/bindtextdomain.3.in gettext-0.11/man/bindtextdomain.3-in
-gettext-0.11/man/bind_textdomain_codeset.3.in gettext-0.11/man/bind_textdomain_codeset.3-in
-gettext-0.11/po/Makefile.in.in gettext-0.11/po/Makefile.in-in
-gettext-0.11/tests/gettext-1 gettext-0.11/tests/gettext.1
-gettext-0.11/tests/gettext-2 gettext-0.11/tests/gettext.2
-gettext-0.11/tests/msgcmp-1 gettext-0.11/tests/msgcmp.1
-gettext-0.11/tests/msgcmp-2 gettext-0.11/tests/msgcmp.2
-gettext-0.11/tests/msgfmt-1 gettext-0.11/tests/msgfmt.1
-gettext-0.11/tests/msgfmt-2 gettext-0.11/tests/msgfmt.2
-gettext-0.11/tests/msgfmt-3 gettext-0.11/tests/msgfmt.3
-gettext-0.11/tests/msgfmt-4 gettext-0.11/tests/msgfmt.4
-gettext-0.11/tests/msgmerge-1 gettext-0.11/tests/msgmerge.1
-gettext-0.11/tests/msgmerge-2 gettext-0.11/tests/msgmerge.2
-gettext-0.11/tests/msgmerge-3 gettext-0.11/tests/msgmerge.3
-gettext-0.11/tests/msgmerge-4 gettext-0.11/tests/msgmerge.4
-gettext-0.11/tests/msgmerge-5 gettext-0.11/tests/msgmerge.5
-gettext-0.11/tests/msgunfmt-1 gettext-0.11/tests/msgunfmt.1
-gettext-0.11/tests/xgettext-1 gettext-0.11/tests/xgettext.1
-gettext-0.11/tests/xgettext-2 gettext-0.11/tests/xgettext.2
-gettext-0.11/tests/xgettext-3 gettext-0.11/tests/xgettext.3
-gettext-0.11/tests/xgettext-4 gettext-0.11/tests/xgettext.4
-gettext-0.11/tests/xgettext-5 gettext-0.11/tests/xgettext.5
-gettext-0.11/tests/xgettext-6 gettext-0.11/tests/xgettext.6
-gettext-0.11/tests/xgettext-7 gettext-0.11/tests/xgettext.7
-gettext-0.11/tests/xgettext-8 gettext-0.11/tests/xgettext.8
-gettext-0.11/tests/xgettext-9 gettext-0.11/tests/xgettext.9
-gettext-0.11/tests/xg-test1.ok.po gettext-0.11/tests/xg-test1.ok-po
-gettext-0.11/tests/plural-1 gettext-0.11/tests/plural.1
-gettext-0.11/tests/plural-2 gettext-0.11/tests/plural.2
+gettext-0.11/config.h.in gettext-0.11/config.h-in
+gettext-0.11/intl/COPYING.LIB-2.0 gettext-0.11/intl/COPYING_LIB.20
+gettext-0.11/intl/COPYING.LIB-2.1 gettext-0.11/intl/COPYING_LIB.21
+gettext-0.11/doc/gettext_1.html gettext-0.11/doc/gettext.1-html
+gettext-0.11/doc/gettext_10.html gettext-0.11/doc/gettext.10-html
+gettext-0.11/doc/gettext_11.html gettext-0.11/doc/gettext.11-html
+gettext-0.11/doc/gettext_12.html gettext-0.11/doc/gettext.12-html
+gettext-0.11/doc/gettext_13.html gettext-0.11/doc/gettext.13-html
+gettext-0.11/doc/gettext_14.html gettext-0.11/doc/gettext.14-html
+gettext-0.11/doc/gettext_15.html gettext-0.11/doc/gettext.15-html
+gettext-0.11/doc/gettext_16.html gettext-0.11/doc/gettext.16-html
+gettext-0.11/doc/gettext_2.html gettext-0.11/doc/gettext.2-html
+gettext-0.11/doc/gettext_3.html gettext-0.11/doc/gettext.3-html
+gettext-0.11/doc/gettext_4.html gettext-0.11/doc/gettext.4-html
+gettext-0.11/doc/gettext_5.html gettext-0.11/doc/gettext.5-html
+gettext-0.11/doc/gettext_6.html gettext-0.11/doc/gettext.6-html
+gettext-0.11/doc/gettext_7.html gettext-0.11/doc/gettext.7-html
+gettext-0.11/doc/gettext_8.html gettext-0.11/doc/gettext.8-html
+gettext-0.11/doc/gettext_9.html gettext-0.11/doc/gettext.9-html
+gettext-0.11/doc/gettext_foot.html gettext-0.11/doc/gettext.foot-html
+gettext-0.11/doc/gettext_toc.html gettext-0.11/doc/gettext.toc-html
+gettext-0.11/lib/javacomp.sh.in gettext-0.11/lib/javacomp.sh-in
+gettext-0.11/lib/javaexec.sh.in gettext-0.11/lib/javaexec.sh-in
+gettext-0.11/lib/stdbool.h.in gettext-0.11/lib/stdbool.h-in
+gettext-0.11/man/gettext.1.in gettext-0.11/man/gettext.1-in
+gettext-0.11/man/ngettext.1.in gettext-0.11/man/ngettext.1-in
+gettext-0.11/man/gettext.3.in gettext-0.11/man/gettext.3-in
+gettext-0.11/man/ngettext.3.in gettext-0.11/man/ngettext.3-in
+gettext-0.11/man/textdomain.3.in gettext-0.11/man/textdomain.3-in
+gettext-0.11/man/bindtextdomain.3.in gettext-0.11/man/bindtextdomain.3-in
+gettext-0.11/man/bind_textdomain_codeset.3.in gettext-0.11/man/bind_textdomain_codeset.3-in
+gettext-0.11/man/gettext.1.html.in gettext-0.11/man/gettext.1hin
+gettext-0.11/man/ngettext.1.html.in gettext-0.11/man/ngettext.1hin
+gettext-0.11/man/msgcmp.1.html gettext-0.11/man/msgcmp.1-html
+gettext-0.11/man/msgfmt.1.html gettext-0.11/man/msgfmt.1-html
+gettext-0.11/man/msgmerge.1.html gettext-0.11/man/msgmerge.1-html
+gettext-0.11/man/msgunfmt.1.html gettext-0.11/man/msgunfmt.1-html
+gettext-0.11/man/xgettext.1.html gettext-0.11/man/xgettext.1-html
+gettext-0.11/man/msgattrib.1.html gettext-0.11/man/msgattrib.1-html
+gettext-0.11/man/msgcat.1.html gettext-0.11/man/msgcat.1-html
+gettext-0.11/man/msgcomm.1.html gettext-0.11/man/msgcomm.1-html
+gettext-0.11/man/msgconv.1.html gettext-0.11/man/msgconv.1-html
+gettext-0.11/man/msgen.1.html gettext-0.11/man/msgen.1-html
+gettext-0.11/man/msgexec.1.html gettext-0.11/man/msgexec.1-html
+gettext-0.11/man/msgfilter.1.html gettext-0.11/man/msgfilter.1-html
+gettext-0.11/man/msggrep.1.html gettext-0.11/man/msggrep.1-html
+gettext-0.11/man/msginit.1.html gettext-0.11/man/msginit.1-html
+gettext-0.11/man/msguniq.1.html gettext-0.11/man/msguniq.1-html
+gettext-0.11/man/gettext.3.html gettext-0.11/man/gettext.3-html
+gettext-0.11/man/ngettext.3.html gettext-0.11/man/ngettext.3-html
+gettext-0.11/man/textdomain.3.html gettext-0.11/man/textdomain.3-html
+gettext-0.11/man/bindtextdomain.3.html gettext-0.11/man/bindtextdomain.3-html
+gettext-0.11/man/bind_textdomain_codeset.3.html gettext-0.11/man/bind_textdomain_codeset.3-html
+gettext-0.11/po/Makefile.in.in gettext-0.11/po/Makefile.in-in
+gettext-0.11/src/format-librep.c gettext-0.11/src/format_librep.c
+gettext-0.11/src/format-pascal.c gettext-0.11/src/format_pascal.c
+gettext-0.11/intl-java/javadoc1/images/blue-ball.gif gettext-0.11/intl-java/javadoc1/images/b-ball.gif
+gettext-0.11/intl-java/javadoc1/images/cyan-ball.gif gettext-0.11/intl-java/javadoc1/images/c-ball.gif
+gettext-0.11/intl-java/javadoc1/images/green-ball.gif gettext-0.11/intl-java/javadoc1/images/g-ball.gif
+gettext-0.11/intl-java/javadoc1/images/magenta-ball.gif gettext-0.11/intl-java/javadoc1/images/m-ball.gif
+gettext-0.11/intl-java/javadoc1/images/red-ball.gif gettext-0.11/intl-java/javadoc1/images/r-ball.gif
+gettext-0.11/intl-java/javadoc1/images/yellow-ball.gif gettext-0.11/intl-java/javadoc1/images/y-ball.gif
+gettext-0.11/intl-java/javadoc1/images/constructors.gif gettext-0.11/intl-java/javadoc1/images/ctors.gif
+gettext-0.11/intl-java/javadoc1/images/variables.gif gettext-0.11/intl-java/javadoc1/images/vars.gif
+gettext-0.11/intl-java/javadoc2/gnu/gettext/package-frame.html gettext-0.11/intl-java/javadoc2/gnu/gettext/package_frame.html
+gettext-0.11/intl-java/javadoc2/gnu/gettext/package-tree.html gettext-0.11/intl-java/javadoc2/gnu/gettext/package_tree.html
+gettext-0.11/tests/gettext-1 gettext-0.11/tests/gettext.1
+gettext-0.11/tests/gettext-2 gettext-0.11/tests/gettext.2
+gettext-0.11/tests/msgattrib-1 gettext-0.11/tests/msgattrib.1
+gettext-0.11/tests/msgattrib-2 gettext-0.11/tests/msgattrib.2
+gettext-0.11/tests/msgattrib-3 gettext-0.11/tests/msgattrib.3
+gettext-0.11/tests/msgattrib-4 gettext-0.11/tests/msgattrib.4
+gettext-0.11/tests/msgattrib-5 gettext-0.11/tests/msgattrib.5
+gettext-0.11/tests/msgattrib-6 gettext-0.11/tests/msgattrib.6
+gettext-0.11/tests/msgattrib-7 gettext-0.11/tests/msgattrib.7
+gettext-0.11/tests/msgattrib-8 gettext-0.11/tests/msgattrib.8
+gettext-0.11/tests/msgattrib-9 gettext-0.11/tests/msgattrib.9
+gettext-0.11/tests/msgattrib-10 gettext-0.11/tests/msgattrib.10
+gettext-0.11/tests/msgattrib-11 gettext-0.11/tests/msgattrib.11
+gettext-0.11/tests/msgattrib-12 gettext-0.11/tests/msgattrib.12
+gettext-0.11/tests/msgattrib-13 gettext-0.11/tests/msgattrib.13
+gettext-0.11/tests/msgattrib-14 gettext-0.11/tests/msgattrib.14
+gettext-0.11/tests/msgcat-1 gettext-0.11/tests/msgcat.1
+gettext-0.11/tests/msgcat-2 gettext-0.11/tests/msgcat.2
+gettext-0.11/tests/msgcat-3 gettext-0.11/tests/msgcat.3
+gettext-0.11/tests/msgcat-4 gettext-0.11/tests/msgcat.4
+gettext-0.11/tests/msgcat-5 gettext-0.11/tests/msgcat.5
+gettext-0.11/tests/msgcat-6 gettext-0.11/tests/msgcat.6
+gettext-0.11/tests/msgcat-7 gettext-0.11/tests/msgcat.7
+gettext-0.11/tests/msgcmp-1 gettext-0.11/tests/msgcmp.1
+gettext-0.11/tests/msgcmp-2 gettext-0.11/tests/msgcmp.2
+gettext-0.11/tests/msgcomm-1 gettext-0.11/tests/msgcomm.1
+gettext-0.11/tests/msgcomm-2 gettext-0.11/tests/msgcomm.2
+gettext-0.11/tests/msgcomm-3 gettext-0.11/tests/msgcomm.3
+gettext-0.11/tests/msgcomm-4 gettext-0.11/tests/msgcomm.4
+gettext-0.11/tests/msgcomm-5 gettext-0.11/tests/msgcomm.5
+gettext-0.11/tests/msgcomm-6 gettext-0.11/tests/msgcomm.6
+gettext-0.11/tests/msgcomm-7 gettext-0.11/tests/msgcomm.7
+gettext-0.11/tests/msgcomm-8 gettext-0.11/tests/msgcomm.8
+gettext-0.11/tests/msgcomm-9 gettext-0.11/tests/msgcomm.9
+gettext-0.11/tests/msgcomm-10 gettext-0.11/tests/msgcomm.10
+gettext-0.11/tests/msgcomm-11 gettext-0.11/tests/msgcomm.11
+gettext-0.11/tests/msgcomm-12 gettext-0.11/tests/msgcomm.12
+gettext-0.11/tests/msgcomm-13 gettext-0.11/tests/msgcomm.13
+gettext-0.11/tests/msgcomm-14 gettext-0.11/tests/msgcomm.14
+gettext-0.11/tests/msgcomm-15 gettext-0.11/tests/msgcomm.15
+gettext-0.11/tests/msgcomm-16 gettext-0.11/tests/msgcomm.16
+gettext-0.11/tests/msgcomm-17 gettext-0.11/tests/msgcomm.17
+gettext-0.11/tests/msgcomm-18 gettext-0.11/tests/msgcomm.18
+gettext-0.11/tests/msgcomm-19 gettext-0.11/tests/msgcomm.19
+gettext-0.11/tests/msgcomm-20 gettext-0.11/tests/msgcomm.20
+gettext-0.11/tests/msgcomm-21 gettext-0.11/tests/msgcomm.21
+gettext-0.11/tests/msgcomm-22 gettext-0.11/tests/msgcomm.22
+gettext-0.11/tests/msgcomm-23 gettext-0.11/tests/msgcomm.23
+gettext-0.11/tests/msgconv-1 gettext-0.11/tests/msgconv.1
+gettext-0.11/tests/msgconv-2 gettext-0.11/tests/msgconv.2
+gettext-0.11/tests/msgconv-3 gettext-0.11/tests/msgconv.3
+gettext-0.11/tests/msgen-1 gettext-0.11/tests/msgen.1
+gettext-0.11/tests/msgexec-1 gettext-0.11/tests/msgexec.1
+gettext-0.11/tests/msgexec-2 gettext-0.11/tests/msgexec.2
+gettext-0.11/tests/msgfilter-1 gettext-0.11/tests/msgfilter.1
+gettext-0.11/tests/msgfilter-2 gettext-0.11/tests/msgfilter.2
+gettext-0.11/tests/msgfmt-1 gettext-0.11/tests/msgfmt.1
+gettext-0.11/tests/msgfmt-2 gettext-0.11/tests/msgfmt.2
+gettext-0.11/tests/msgfmt-3 gettext-0.11/tests/msgfmt.3
+gettext-0.11/tests/msgfmt-4 gettext-0.11/tests/msgfmt.4
+gettext-0.11/tests/msgfmt-5 gettext-0.11/tests/msgfmt.5
+gettext-0.11/tests/msgfmt-6 gettext-0.11/tests/msgfmt.6
+gettext-0.11/tests/msgfmt-7 gettext-0.11/tests/msgfmt.7
+gettext-0.11/tests/msgfmt-8 gettext-0.11/tests/msgfmt.8
+gettext-0.11/tests/msgfmt-9 gettext-0.11/tests/msgfmt.9
+gettext-0.11/tests/msgfmt-10 gettext-0.11/tests/msgfmt.10
+gettext-0.11/tests/msggrep-1 gettext-0.11/tests/msggrep.1
+gettext-0.11/tests/msggrep-2 gettext-0.11/tests/msggrep.2
+gettext-0.11/tests/msggrep-3 gettext-0.11/tests/msggrep.3
+gettext-0.11/tests/msggrep-4 gettext-0.11/tests/msggrep.4
+gettext-0.11/tests/msgmerge-1 gettext-0.11/tests/msgmerge.1
+gettext-0.11/tests/msgmerge-2 gettext-0.11/tests/msgmerge.2
+gettext-0.11/tests/msgmerge-3 gettext-0.11/tests/msgmerge.3
+gettext-0.11/tests/msgmerge-4 gettext-0.11/tests/msgmerge.4
+gettext-0.11/tests/msgmerge-5 gettext-0.11/tests/msgmerge.5
+gettext-0.11/tests/msgmerge-6 gettext-0.11/tests/msgmerge.6
+gettext-0.11/tests/msgmerge-7 gettext-0.11/tests/msgmerge.7
+gettext-0.11/tests/msgmerge-8 gettext-0.11/tests/msgmerge.8
+gettext-0.11/tests/msgmerge-9 gettext-0.11/tests/msgmerge.9
+gettext-0.11/tests/msgmerge-10 gettext-0.11/tests/msgmerge.10
+gettext-0.11/tests/msgmerge-11 gettext-0.11/tests/msgmerge.11
+gettext-0.11/tests/msgmerge-12 gettext-0.11/tests/msgmerge.12
+gettext-0.11/tests/msgmerge-13 gettext-0.11/tests/msgmerge.13
+gettext-0.11/tests/msgmerge-14 gettext-0.11/tests/msgmerge.14
+gettext-0.11/tests/msgmerge-15 gettext-0.11/tests/msgmerge.15
+gettext-0.11/tests/msgmerge-16 gettext-0.11/tests/msgmerge.16
+gettext-0.11/tests/msgmerge-17 gettext-0.11/tests/msgmerge.17
+gettext-0.11/tests/msgmerge-18 gettext-0.11/tests/msgmerge.18
+gettext-0.11/tests/msgmerge-19 gettext-0.11/tests/msgmerge.19
+gettext-0.11/tests/msgmerge-20 gettext-0.11/tests/msgmerge.20
+gettext-0.11/tests/msgunfmt-1 gettext-0.11/tests/msgunfmt.1
+gettext-0.11/tests/msguniq-1 gettext-0.11/tests/msguniq.1
+gettext-0.11/tests/msguniq-2 gettext-0.11/tests/msguniq.2
+gettext-0.11/tests/msguniq-3 gettext-0.11/tests/msguniq.3
+gettext-0.11/tests/xgettext-1 gettext-0.11/tests/xgettext.1
+gettext-0.11/tests/xgettext-2 gettext-0.11/tests/xgettext.2
+gettext-0.11/tests/xgettext-3 gettext-0.11/tests/xgettext.3
+gettext-0.11/tests/xgettext-4 gettext-0.11/tests/xgettext.4
+gettext-0.11/tests/xgettext-5 gettext-0.11/tests/xgettext.5
+gettext-0.11/tests/xgettext-6 gettext-0.11/tests/xgettext.6
+gettext-0.11/tests/xgettext-7 gettext-0.11/tests/xgettext.7
+gettext-0.11/tests/xgettext-8 gettext-0.11/tests/xgettext.8
+gettext-0.11/tests/xgettext-9 gettext-0.11/tests/xgettext.9
+gettext-0.11/tests/xgettext-10 gettext-0.11/tests/xgettext.10
+gettext-0.11/tests/xgettext-11 gettext-0.11/tests/xgettext.11
+gettext-0.11/tests/xgettext-12 gettext-0.11/tests/xgettext.12
+gettext-0.11/tests/xgettext-13 gettext-0.11/tests/xgettext.13
+gettext-0.11/tests/xgettext-14 gettext-0.11/tests/xgettext.14
+gettext-0.11/tests/xgettext-15 gettext-0.11/tests/xgettext.15
+gettext-0.11/tests/xgettext-16 gettext-0.11/tests/xgettext.16
+gettext-0.11/tests/xgettext-17 gettext-0.11/tests/xgettext.17
+gettext-0.11/tests/format-c-1 gettext-0.11/tests/format/c.1
+gettext-0.11/tests/format-c-2 gettext-0.11/tests/format/c.2
+gettext-0.11/tests/format-elisp-1 gettext-0.11/tests/format/elisp.1
+gettext-0.11/tests/format-elisp-2 gettext-0.11/tests/format/elisp.2
+gettext-0.11/tests/format-java-1 gettext-0.11/tests/format/java.1
+gettext-0.11/tests/format-java-2 gettext-0.11/tests/format/java.2
+gettext-0.11/tests/format-librep-1 gettext-0.11/tests/format/librep.1
+gettext-0.11/tests/format-librep-2 gettext-0.11/tests/format/librep.2
+gettext-0.11/tests/format-lisp-1 gettext-0.11/tests/format/lisp.1
+gettext-0.11/tests/format-lisp-2 gettext-0.11/tests/format/lisp.2
+gettext-0.11/tests/format-python-1 gettext-0.11/tests/format/python.1
+gettext-0.11/tests/format-python-2 gettext-0.11/tests/format/python.2
+gettext-0.11/tests/format-pascal-1 gettext-0.11/tests/format/pascal.1
+gettext-0.11/tests/format-pascal-2 gettext-0.11/tests/format/pascal.2
+gettext-0.11/tests/format-ycp-1 gettext-0.11/tests/format/ycp.1
+gettext-0.11/tests/format-ycp-2 gettext-0.11/tests/format/ycp.2
+gettext-0.11/tests/plural-1 gettext-0.11/tests/plural.1
+gettext-0.11/tests/plural-2 gettext-0.11/tests/plural.2
+gettext-0.11/tests/lang-c++ gettext-0.11/tests/lang-cxx
+gettext-0.11/tests/rpath-1a gettext-0.11/tests/rpath/1a
+gettext-0.11/tests/rpath-1b gettext-0.11/tests/rpath/1b
+gettext-0.11/tests/rpath-2aaa gettext-0.11/tests/rpath/2aaa
+gettext-0.11/tests/rpath-2aab gettext-0.11/tests/rpath/2aab
+gettext-0.11/tests/rpath-2aac gettext-0.11/tests/rpath/2aac
+gettext-0.11/tests/rpath-2aad gettext-0.11/tests/rpath/2aad
+gettext-0.11/tests/rpath-2aba gettext-0.11/tests/rpath/2aba
+gettext-0.11/tests/rpath-2abb gettext-0.11/tests/rpath/2abb
+gettext-0.11/tests/rpath-2abc gettext-0.11/tests/rpath/2abc
+gettext-0.11/tests/rpath-2abd gettext-0.11/tests/rpath/2abd
+gettext-0.11/tests/rpath-2baa gettext-0.11/tests/rpath/2baa
+gettext-0.11/tests/rpath-2bab gettext-0.11/tests/rpath/2bab
+gettext-0.11/tests/rpath-2bac gettext-0.11/tests/rpath/2bac
+gettext-0.11/tests/rpath-2bad gettext-0.11/tests/rpath/2bad
+gettext-0.11/tests/rpath-2bba gettext-0.11/tests/rpath/2bba
+gettext-0.11/tests/rpath-2bbb gettext-0.11/tests/rpath/2bbb
+gettext-0.11/tests/rpath-2bbc gettext-0.11/tests/rpath/2bbc
+gettext-0.11/tests/rpath-2bbd gettext-0.11/tests/rpath/2bbd
+gettext-0.11/tests/xg-test1.ok.po gettext-0.11/tests/xg-test1.ok-po
+gettext-0.11/tests/rpath-1 gettext-0.11/tests/rpath/1
+gettext-0.11/tests/rpath-2_a gettext-0.11/tests/rpath/2_a
+gettext-0.11/tests/rpath-2_b gettext-0.11/tests/rpath/2_b
+gettext-0.11/tests/rpath-2.README gettext-0.11/tests/rpath/2.README
+gettext-0.11/tests/rpathcfg.sh gettext-0.11/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/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;
+}