Mail Archives: djgpp/2000/10/21/20:06:15
This is a port of GNU Gettext 0.10.35 to MSDOS/DJGPP.
The binary, docs and source package can be downloaded
from SimTel.NET and mirrors:
<ftp://ftp.simtel.net/pub/simtelnet/gnu/djgpp/v2gnu/gtxt035b.zip>
<ftp://ftp.simtel.net/pub/simtelnet/gnu/djgpp/v2gnu/gtxt035d.zip>
<ftp://ftp.simtel.net/pub/simtelnet/gnu/djgpp/v2gnu/gtxt035s.zip>
TO USE THE GNU GETTEXT LIBRARY YOU **MUST** MODIFY YOUR C-LIBRARY.
PLEASE, READ POINT #5 CAREFULLY TO LEARN HOW TO INSTALL THE GNU GETTEXT
LIBRARY AND HOW TO CHANGE YOUR C-LIBRARY AND SYSTEM HEADER FILE.
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.
The gettext() stub in intl-comp.c has been defined out and a macro,
that will expand to gettext__, has been introduced in libintl.h.
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) xgettext will recognise gettext__ as new keyword.
3) All other changes concern the BINARY/TEXT file issue, path separator
(semi-colon instead of colon) issue and the mixed slash and backslash
directory separator issue.
All programs that read text files (like the .po files) will read and
write in binary mode. This should prevent possible difficulties with
embedded Cntl-Z and CR characters in multi-byte strings. MSDOS-style EOL
(CR/LF) in text files will be converted internally into UNIX-style EOL.
The user can use what ever text editor he like to modify the .po files
without takeing care about the way the editor stores the file.
Some minor modifications to the files in tests subdirectory
to get them working with plain DOS.
All changes I have done against the original GNU distribution are
documented in the diffs file stored in the DJGPP subdir of the source
package.
4) The binary package gtxt035b.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 (gtxt035s.zip)
fileutils-3.16 (fil316s.zip)
grep-2.4 (grep24s.zip)
id-utils-3.2 (idu32s.zip)
make-3.79.1 (mak3791s.zip)
recode-3.5 (rcode35s.zip)
sed-3.02.80 (sed-3.02.80.tar.gz from ftp://alpha.gnu.org/pub/gnu/sed)
sharutils-4.2c (shar42cs.zip) (sharutils-4.2c.tar.gz from ftp://alpha.gnu.org/pub/gnu/sharutils)
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)
To implement NLS support for one of those packages you will also need
to download the following packages:
gtxt035b.zip (binaries of GNU Gettext 0.10.35)
rcode35b.zip (binaries of GNU Recode 3.5)
fil316b.zip (binaries of GNU Fileutils 3.16 Date: 2000-05-30)
shl112b.zip (binaries of GNU Sh-utils 1.12 Date: 2000-08-11)
5) Changing libc.a and conio.h.
Apart from the ussual directories, the binary package will create the
following directory:
%DJDIR%/gnu/gtxt-010.35/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-010.35/djgpp/djdev-2.03 directory.
First, you should backup your old header and library. For this task,
run the commands:
copy %DJDIR%\include\conio.h %DJDIR%\include\conio.bak
copy %DJDIR%\lib\libc.a %DJDIR%\lib\libc.bak
Substitute %DJDIR% by the path to your DJGPP installation.
Now you can copy the new header into your include directory
running the command:
copy conio.h %DJDIR%\include
Substitute %DJDIR% by the path to your DJGPP installation.
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 %DJDIR%\lib\libc.a conio.o
Substitute %DJDIR% by the path to your DJGPP installation.
You are done.
Send GNU gettext specific bug reports to <bug-gnu-utils AT gnu DOT org>.
Send suggestions and bug reports concerning the DJGPP port to
comp.os.msdos.djgpp or <djgpp AT delorie DOT com>.
Enjoy.
Guerrero, Juan Manuel <st001906 AT hrz1 DOT hrz DOT tu-darmstadt DOT de>
- Raw text -