Message-Id: <200010212355.TAA22595@delorie.com> From: "Juan Manuel Guerrero" Organization: Darmstadt University of Technology To: djgpp-announce AT delorie DOT com Date: Sat, 21 Oct 2000 19:44:15 +0200 Content-type: text/plain; charset=US-ASCII Subject: ANNOUNCE: DJGPP port of GNU gettext-0.10.35 (update) CC: st001906 AT HRZ1 DOT HRZ DOT TU-Darmstadt DOT De Reply-To: djgpp AT delorie DOT com 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: 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 . Send suggestions and bug reports concerning the DJGPP port to comp.os.msdos.djgpp or . Enjoy. Guerrero, Juan Manuel