summaryrefslogtreecommitdiff
path: root/djgpp/README.in
diff options
context:
space:
mode:
authorLorry Tar Creator <lorry-tar-importer@baserock.org>2014-12-24 07:38:37 +0000
committer <>2015-02-02 12:02:29 +0000
commit482840e61f86ca321838a91e902c41d40c098bbb (patch)
tree01ea2e242fd2792d19fe192476601587901db794 /djgpp/README.in
downloadgettext-tarball-482840e61f86ca321838a91e902c41d40c098bbb.tar.gz
Imported from /home/lorry/working-area/delta_gettext-tarball/gettext-0.19.4.tar.xz.gettext-0.19.4
Diffstat (limited to 'djgpp/README.in')
-rw-r--r--djgpp/README.in515
1 files changed, 515 insertions, 0 deletions
diff --git a/djgpp/README.in b/djgpp/README.in
new file mode 100644
index 0000000..36bf3e3
--- /dev/null
+++ b/djgpp/README.in
@@ -0,0 +1,515 @@
+This is a port of GNU Gettext @VER@ to MSDOS/DJGPP.
+
+
+ TO USE THE GNU GETTEXT LIBRARY YOU **MUST** MODIFY YOUR C-LIBRARY.
+ PLEASE, READ SECTION #2 (Installing the binary package) CAREFULLY
+ TO LEARN HOW TO INSTALL THE GNU GETTEXT LIBRARY AND HOW TO CHANGE
+ YOUR C-LIBRARY AND SYSTEM HEADER FILE.
+ TO USE THE GNU GETTEXT LIBRARY YOU **MUST** DOWNLOAD AND INSTALL
+ LICV17B.ZIP TOO. THIS IS **NOT** OPTIONAL.
+ IT IS NOT RECOMMED TO DOWNLOAD THE GNU DISTRIBUTION OF GETTEXT
+ BECAUSE ONLY THE DJGPP PORT WILL CONTAIN THE REQUIRED HEADER AND
+ OBJECT FILE TO PATCH THE C LIBRARY.
+
+
+1.: DJGPP specific changes.
+ =======================
+
+ The DJGPP specific changes are the followings:
+ 1) The conflict existing between the BORLAND-compatibility gettext function
+ from DJGPP's libc.a defined in conio.h and the GNU gettext function from
+ libintl.a defined in libintl.h has been removed. But this conflict can not
+ be removed **WITHOUT** changing a system header file and libc.a.
+ 1.1) libc.a and system header changes.
+ In conio.c, the BORLAND-compatibility gettext function has been renamed
+ into _conio_gettext. In conio.h some code has been added to check if
+ libintl.h is included or not by the same source file. If libintl.h is NOT
+ included, the BORLAND-compatibility gettext function will be available as
+ gettext. If libintl.h has been included then the BORLAND-compatibility
+ gettext function will **ONLY** be available as _conio_gettext.
+ The BORLAND-compatibility gettext function is now available as gettext
+ and _conio_gettext.
+ 1.2) GNU gettext library changes.
+ If both headers, libintl.h and conio.h, are included in the same source
+ file the gettext keyword makes **ALWAYS** reference to the GNU gettext
+ function and **NEVER** to the BORLAND-compatibility gettext function.
+
+ 2) The binary package gtxt@packageversion@b.zip contains all needed files to get NLS
+ support for the following DJGPP ports:
+ bison-1.32 (bsn132s.zip)
+ enscript-1.6.2 (ens162s.zip)
+ fileutils-4.0 (fil40s.zip)
+ grep-2.4 (grep24s.zip)
+ id-utils-3.2 (idu32s.zip)
+ make-3.79.1 (mak3791s.zip)
+ recode-3.6 (rcode36s.zip)
+ sed-3.02.80 (sed3028s.zip)
+ sharutils-4.2c (shar42cs.zip)
+ sh-utils-2.0j (shl20js.zip)
+ tar-1.12a (tar112as.zip)
+ texinfo-4.0 (txi40s.zip)
+ textutils-2.0 (txt20s.zip)
+
+ See section #4 for further information about this issue.
+ To implement NLS support for one of those packages you will also need
+ to download the following packages:
+ gtxt@packageversion@b.zip (binaries of GNU Gettext @VER@)
+ licv17b.zip (binaries of GNU libiconv 1.7)
+ fil40b.zip (binaries of GNU Fileutils 4.0)
+ shl20jb.zip (binaries of GNU Sh-utils 2.0j)
+
+
+2.: Installing the binary package.
+ ==============================
+
+2.1.: To use this binary package you **MUST** install licv17b.zip or later
+ first. licv17b.zip provides the required functionality to recode the
+ .mo files at run time from the unix charsets used to create them to the
+ dos codepages used to display them. Copy the binary distribution into
+ the top DJGPP installation directory. If you are installing Gettext on
+ a dual DOS/WINDOWS 9X systems, you *MUST* first turn off the generation
+ of numeric tails for 8.3 aliases Windows creats for long file names.
+ For information about how to do this, please read the DJGPP FAQ List
+ V 2.30, chapter 22.19: "How to Set Up a Dual DOS/Windows Installation".
+ It should be noticed that neither the libintl.a library nor the
+ binaries (xgettext.exe, gettext.exe, etc.) contain any code to handle
+ nuneric tails of short file names. This implies that if you install
+ the binary packages in a DOS box of Win9X (LFN) **WITHOUT** turning
+ off the numeric tail generation you will **NOT** be able to use NLS
+ on plain DOS. Once again: if you want NLS support on both Win9X **AND**
+ on plain DOS you **MUST** turn off the numeric tail generation **BEFORE**
+ installing the binary package. After having installed the package
+ you can turn on numerical tail generation again if you wish.
+ All this also applies to any other package that has been compiled with
+ NLS support. You **MUST** turn off numeric tail generation every time
+ you install a package that has been compiled with NLS or the binaries
+ will **NOT** be able to find their .mo files (translations) when you
+ switch to plain DOS.
+
+2.2.: Copy the binary distribution into the top DJGPP installation directory,
+ just unzip it preserving the directory structure running *ONE* of the
+ following commands:
+ unzip32 gtxt@packageversion@b.zip or
+ djtarx gtxt@packageversion@b.zip or
+ pkunzip -d gtxt@packageversion@b.zip
+
+2.3.: Changing libc.a and conio.h.
+ Apart from the ussual directories, the binary package will create the
+ following directory:
+ %DJDIR%/gnu/gtxt-@treeversion@/djgpp/djdev-2.03
+ where %DJDIR% stands for the root of your DJGPP installation tree.
+ Cd into the djdev-2.03 directory. You will find the following files:
+ conio.diffs
+ conio.h
+ conio.o
+ conio.diffs is a patch file that documents the changes I have done against
+ the files of the original djdev203.zip and djlsr203.zip distributions.
+ This file is not needed by the average user. conio.h is the modified header
+ and conio.o is the recompiled new conio.c file that will replace the old
+ conio.o contained in libc.a.
+
+ For all commands that will follow now I will assume that you have
+ cd'ed into the %DJDIR%/gnu/gtxt-@treeversion@/djgpp/djdev-2.03 directory,
+ where %DJDIR% represents the path to your DJGPP installation. First,
+ you should backup your old header and library. For this task, run the
+ following command sequence (cp is the copy program from fil40b.zip):
+ cp /dev/env/DJDIR/include/conio.h /dev/env/DJDIR/include/conio.bak
+ cp /dev/env/DJDIR/lib/libc.a /dev/env/DJDIR/lib/libc.bak
+
+ Now you can copy the new header into your include directory
+ running the command:
+ cp conio.h /dev/env/DJDIR/include
+
+ Now you can substitute the old conio.o file in libc.a with the new one.
+ For this task you will need the ar program from binutils.
+ Run the command:
+ ar -rv /dev/env/DJDIR/lib/libc.a conio.o
+ You are done.
+
+2.3.: The NLS controling environment variables, LANG and LANGUAGE, must be
+ set to their appropiate values. The exact way how these variables
+ should be set depends on your operating system:
+
+ * For Windows 98 systems:
+ - Click START;
+ - Choose Programs->Accessories->System Tools->System Information;
+ - Click Tools in the menu-bar, then choose "System Configuration";
+ - Use the tab provided there for editing your AUTOEXEC.BAT as
+ explained below.
+
+ * For Windows NT systems:
+ - Right-click "My Computer", then select "Properties";
+ - Click the "Environment" tab;
+ - Add a new variables LANG and LANGUAGE and set their values to the
+ wanted language codes file as explained below.
+
+ * For all other systems (DOS, Windows 3.X and Windows 95): use any
+ text editor, e.g. the standard EDIT, to edit the file AUTOEXEC.BAT
+ in the root directory of the boot drive (usually, C:).
+
+ The values of the two environment variables LANG and LANGUAGE should be
+ set like this:
+
+ set LANG=xx
+ set LANGUAGE=yy:zz
+
+ xx, yy and zz are place holders for the wanted language codes. For
+ posible values, please read below.
+ The LANG entry is obligatory, the LANGUAGE entry may be omited. The
+ LANG variable selects the locale charsets (dos codepage) to be used to
+ display the program's output and the catalog (.mo file) that contains
+ the translated strings to be used. The LANGUAGE variable allows you to
+ select an alternate catalog than the one stipulated by LANG. Replace
+ xx, yy and zz by the language code of the catalogs you want to use. It
+ should be noticed that LANGUAGE has *ALWAYS* higher priority than LANG.
+ The LANG variable not only selects a catalog, it also specifies the dos
+ codepage that will be used as locale charset. All this means that the
+ translation strings contained in the catalogs (.mo files) will be
+ recoded at runtime to the dos codepage stipulated by the value of LANG.
+ This runtime recoding is needed because the .mo files may have been
+ written using a charset that is not compatible with the charset that
+ will be used on the machine and OS where the .mo files contents will be
+ displayed. The .po files of the GNU packages, from which the .mo files
+ are generated, are typical examples of this. Usualy, they have been
+ written using some ISO-8859-nn charset (an unix charset) and shall be
+ displayed on a DOS/WIN95 machine that uses some dos codepage.
+
+ Some examples:
+ If you only want to use the catalog containing the translations for
+ your mother tongue (in my case the spanish translations) the above
+ lines will only use the LANG variable and will look like this:
+
+ set LANG=es
+
+ In this case, LANG defines the locale charset (CP850 in this case) to
+ be used for the on-the-fly recoding of the catalog (.mo file) contents
+ **AND AT THE SAME TIME** the translation/language (.mo file) to be used.
+
+ If you want to use the spanish (es) and german (de) catalogs the above
+ lines will look like this:
+
+ set LANG=es
+ set LANGUAGE=es:de
+
+ In this case a DJGPP binary that has been compiled with NLS support
+ will first search for the spanish translation of a string. If a
+ translation for that particular string can not be found in the spanish
+ .mo file then it will search for a german translation of that string in
+ the german .mo file and if a german translation of that string can also
+ not been found it will default to display the build-in english string.
+ No mather if a spanish, a german or an english build-in string is
+ selected, the string is always recoded to the dos codepage stipulated
+ by LANG. In this case: CP850. In the above example, LANGUAGE defines
+ the set of languages to be used and their priority (from left to right).
+ At the same time, LANG defines the locale charset (dos codepage) to be
+ used to recode **ALL** translated string, no matter which language
+ (.mo file) is used.
+ If you want to reverse this search order the above lines would look
+ like this one:
+
+ set LANG=es
+ set LANGUAGE=de:es
+
+ Now let us assume that an user wants to use the swedish catalogs on
+ a machine that loads codepage CP437 when it is booted. It should be
+ noticed that the locale charset for Sweden is CP850 and not CP437.
+ In this case, the lines must look like this:
+
+ set LANG=en_US
+ set LANGUAGE=sv
+
+ LANG reflects the available codepage/charset and LANGUAGE selects the
+ wanted translation catalog. en_US means CP437. Now, the contents of the
+ catalog are recoded to CP437 instead to CP850 because CP437 is the
+ codepage used to display messages on screen. Of course, not every
+ combination of catalogs and locale charset (dos codepages) makes sense.
+ E.G.: selecting as locale charset chinese (LANG=zh_TW) and the french
+ translations (LANGUAGE=fr) will certainly not generate an usefull
+ screen output.
+
+ The content of LANG is a language code. Examples are fr for french,
+ en_US for US english, etc. This language code is an alias for the
+ locale charset to be used for runtime recoding. The complete list of
+ all available aliases can be found in %DJDIR%/lib/charset.alias. This
+ file is a table with two entries: left entry is the alias (en_US,
+ de_AT, etc.), right entry is the corresponding dos codepage that will
+ be used for that language code (alias). It should be noticed that it is
+ also possible to select a codepage directely. E.G.: Instead of setting:
+
+ set LANG=en_US
+
+ you may directely set:
+
+ set LANG=CP437
+
+ cp437 or 437 are also valid settings for CP437. This overwrites any
+ settings in charset.alias. The settings in the environment always
+ overwrite the settings in charset.alias. Please note that if you omit
+ LANG, LANGUAGE will not be honored at all. Because the information
+ about which locale charset shall be used for recoding is needed,
+ if LANG is omitted by the user this information will not be available
+ and consequently LANGUAGE will be ignored and no translation at all
+ will be done.
+ If for some reason you want to disable NLS, then you should comment
+ out the LANG variable or remove them from your AUTOEXEC.BAT file or
+ select 'C' as your catalog:
+
+ set LANG=C
+
+ or clear it by setting:
+
+ set LANG=
+
+ You can also change during a DOS session in Win9X or on plain DOS the
+ values of the LANG and LANGUAGE variables by setting or clearing them
+ from the DOS prompt.
+
+2.5.: To create an entry for the gettext info docs in your dir file
+ run from the top DJGPP installation directory the command:
+ install-info --info-dir=./info ./info/gettext.info
+
+2.6.: The binaries distributed in this package have NLS support.
+ E.G. run the command:
+ xgettext
+ and the binary should talk to you in your mother tonge, if
+ supported.
+ For futher information about GNU gettext please read the info docs.
+
+
+3.: Building the binaries from sources.
+ ===================================
+
+3.1.: To build the binaries you will need the following binary packages:
+ djdev203.zip (or a later but NOT a prior version)
+ bsh203b.zip (or a later but NOT a prior version)
+ gcc303b.zip, bnu2112b.zip, mak3791b.zip,
+ fil40b.zip, shl20jb.zip, txt20b.zip,
+ txi40b.zip, grep24b.zip, sed3028b.zip,
+ licv17b.zip
+
+ If you want to run the check you will need also:
+ dif272b.zip
+
+ If you want to recreate the html docs you will also need:
+ gro116b.zip (or a later but NOT a prior version)
+ perl561b.zip (or a later but NOT a prior version)
+
+ All this packages can be found in the v2gnu directory of any
+ Simtel.NET mirror.
+ You must have licv17b.zip or a later version installed before
+ configuring or compiling the package or the configuration and build
+ process will fail due to unresolved references to libiconv.a
+ You will need bsh203b.zip or later and *NOT* a prior version or the
+ build will fail. The same applies to djdev203.zip.
+ This updated versions have been recompiled with djdev203.zip and know
+ about the "/dev/env" functionality introduced with djdev203.zip. All the
+ other packages are the ones I have used to build the binaries from this
+ sources. Previuos versions of this packages may do the job as well but
+ I have not tested this.
+
+3.2.: Create a temporary directory and copy the source package into the
+ directory. If you download the source distribution from one of the
+ DJGPP archives, just unzip it preserving the directory structure
+ running *ONE* of the following commands:
+ unzip32 gtxt@packageversion@s.zip or
+ djtarx gtxt@packageversion@s.zip or
+ pkunzip -d gtxt@packageversion@s.zip
+
+ Source distributions downloaded from one of the GNU FTP sites need
+ some more work to unpack. First, you *MUST* use the `djtar' program
+ to unzip the package. That is because some file names in the official
+ distributions need to be changed to avoid problems on the various
+ platforms supported by DJGPP. `djtar' can rename files on the fly given
+ a file with name mappings. The distribution includes a file
+ `djgpp/fnchange.lst' with the necessary mappings. So you need first
+ to retrieve that file, and then invoke `djtar' to unpack the
+ distribution. Here is how:
+
+ djtar -x -p -o @V@/djgpp/fnchange.lst @V@.tar.gz > lst
+ djtar -x -n lst @V@.tar.gz
+
+ (The name of the distribution archive and the top-level directory will
+ be different for versions other than @VER@.)
+
+ It is always recommended to download the DJGPP packages from some
+ Simtel.NET mirror and *NOT* the original GNU distribution because
+ only the binary distribution of the DJGPP port will contain the
+ files needed to patch libc.a. This are: conio.h and conio.o.
+
+3.3.: This package is preconfigured for NLS support and for run time recoding
+ due to the functionality provided by libiconv.a from licv17b.zip.
+ This implies that licv17b.zip *MUST* be installed *before* you try to
+ compile the package or the build process will fail.
+ It should be noticed that when you compile your own binaries with NLS
+ you must also *always* link with libiconv.a
+ If you compile this package with a later version of libc.a or if you
+ prefer no NLS support at all you will have to reconfigure this package.
+ The configuration batch file of this package, located in the djgpp
+ directory, allows you to enable or disable NLS support and to compile
+ from a different partition than from where the sources are located.
+ config.bat always configures the package for NLS support enabled and
+ for in-place compilation if no options are given.
+ The available NLS options are:
+ NLS
+ no-NLS
+
+ If for some reason you want no NLS support you will have to reconfigure
+ the package. For this purpose cd into the top srcdir (gtxt-@treeversion@)
+ and run the following commands:
+ make distclean
+ djgpp\config no-NLS
+
+ This step is **NOT** optional and the "distclean" option must be used.
+ If you do not use the "distclean" option the config.cache file will not
+ be deleted. In this case you are **NOT** reconfiguring because the
+ configuration informations are read from the cache file instead of being
+ newly computed.
+ You **MUST** specify "no-NLS" or config.bat will default to "NLS".
+ To build the programs in a directory other than where the sources are,
+ you must add a parameter that specifies the source directory,
+ e.g:
+ x:\src\gnu\gtxt-@treeversion@\djgpp\config x:/src/gnu/gtxt-@treeversion@ no-NLS
+
+ Lets assume you want to build the binaries in a directory placed on a
+ different drive (z:\build in this case) from where the sources are,
+ then you will run the following commands:
+ z:
+ cd \build
+ x:\src\gnu\gtxt-@treeversion@\djgpp\config x:/src/gnu/gtxt-@treeversion@ no-NLS
+
+ If you want NLS support you will omit "no-NLS" or replace it by
+ "NLS" in the above examples.
+ The order of the "NLS" option and the srcdir option does *NOT* matter.
+ You *MUST* use forward slashes to specify the source directory.
+
+ This batch file will set same environment variables, make MSDOS
+ specific modifications to the Makefile.ins and supply all other
+ needed options to the configure script.
+
+3.4.: To compile the package run from the top srcdir the command:
+ make
+
+3.5.: Now you can run the tests if you like.
+ From the top srcdir run the command:
+ make check
+
+ Non test should fail.
+
+3.6.: To install the binaries, header, library, catalogs, and info docs
+ run the following command from the top srcdir:
+ make install CATALOGS="xx.gmo yy.gmo zz.gmo"
+ or
+ make install CATALOGS="xx.gmo yy.gmo zz.gmo" prefix=z:/some/other/place
+
+ This will install the products into your DJGPP installation tree given
+ by the default prefix "/dev/env/DJDIR". If you prefer to install them
+ into some other directory you will have to set prefix to the appropiate
+ value. Replace xx, yy and zz by the language codes of the catalogs you
+ want to install.
+
+3.7.: Now you have to set the LANG environment variable.
+ Please refer to section 2.3 for further information.
+
+
+4.: NLS support for other DJGPP ports.
+ ==================================
+
+ This package contains all needed files to get NLS support for the
+ following DJGPP ports:
+ bison-1.32 (bsn132s.zip)
+ enscript-1.6.2 (ens162s.zip)
+ fileutils-4.0 (fil40s.zip)
+ grep-2.4 (grep24s.zip)
+ id-utils-3.2 (idu32s.zip)
+ make-3.79.1 (mak3791s.zip)
+ recode-3.6 (rcode36s.zip)
+ sed-3.02.80 (sed3028s.zip)
+ sharutils-4.2c (shar42cs.zip)
+ sh-utils-2.0j (shl20js.zip)
+ tar-1.12a (tar112as.zip)
+ texinfo-4.0 (txi40s.zip)
+ textutils-2.0 (txt20s.zip)
+
+ The files needed are placed in the NLS_for_djgpp_packages tree located
+ in djgpp directory. I will explane this using grep-2.4 as example.
+ This means that file names or command names may change from port to port.
+ The configuration batch files and the sed scripts of every package have
+ the same name as the original ones that this ones will replace. If you
+ are familiar with the original package you shall have no difficulties
+ in reconfigure the package for NLS support.
+ Please inspect the tree NLS_for_djgpp_packages to see what files will
+ be replaced.
+
+4.1.: To reconfigure and recompile a source package with NLS support you
+ *MUST* install the gtxt@packageversion@b.zip and licv17b.zip packages
+ first. NLS support will **NOT** work with any prior version of the above
+ mentioned packages. Before installing gtxt@packageversion@b.zip and licv17b.zip
+ you *MUST* deinstall the old packages if you ever have installed them.
+ For this purpose use the provided manifest files from the old packages.
+ Old packages means previous beta releases of gtxt@packageversion@b.zip and licv17b.zip
+ *AND* also previous versions of gettext like gettext 0.10.32, etc.
+
+4.2.: We will assume that the required sources will be unzipped into
+ a directory called src.
+ Copy grep24s.zip into /src and decompress them preserving the directory
+ structure running the command:
+ unzip32 *.zip
+ This will create the directory:
+ /src/gnu/grep-2.4
+
+ The binary package gtxt@packageversion@b.zip will create the directory:
+ %DJDIR%/gnu/gtxt-@treeversion@/djgpp/NLS_for_djgpp_packages/grep-2.4
+ This directory contains all needed files.
+ The files are:
+ grep-2.4/djgpp/config.bat (new .bat file that replaces the original one.)
+ grep-2.4/djgpp/config.sed (sed script needed to modify configure.)
+ grep-2.4/djgpp/config.site (defaults for configure.)
+
+ Now we will xcopy the needed files into the original grep-2.4 directory.
+ First we will cd into the grep-2.4 directory and then we will run the
+ following command:
+ xcopy %DJDIR%\gnu\gtxt-@treeversion@\djgpp\NLS_for_djgpp_packages\grep-2.4 /v/s/e
+
+4.3.: Before the package can be reconfigured, the old configuration must be
+ cleared. Run the command:
+ make distclean
+
+ This will remove all Makefiles, config.h and config.cache file with old
+ configuration information. This step is *NOT* optional and it must be
+ used the "distclean" target.
+
+4.4.: Now the package can be configured running the command:
+ djgpp\config
+ if you want to build the products in the /src/grep-2.4 directory, or:
+ c:\src\grep-2.4\djgpp\config c:/src/grep-2.4
+ if you want to build the products on a different drive or directory.
+ You can still configure without NLS support if you want. In this case
+ simply add the option "no-NLS" to the above commands.
+
+4.5.: Now the package can be compiled and checked by running the commands:
+ make
+ make check
+ The first command will create also all the available translation
+ catalogs (.gmo files). Before running the tests you should clear
+ the LANGUAGE and/or LANG variable or the tests will probably fail.
+
+4.6.: Now the products can be installed by running the command:
+ make install CATALOGS="xx.gmo yy.gmo"
+
+ Replace xx and yy by the appropiate language codeof the catalogs you
+ want to install. If you omit CATALOGS then all catalogs will be installed.
+ You can install into a temp directory if you want by specifying a prefix:
+ make install prefix=z:/tmp CATALOGS="xx.gmo yy.gmo zz.gmo"
+
+4.7.: Now you have to set the LANG and LANGUAGE environment variable.
+ Please refer to 2.4.
+
+
+ Send GNU gettext specific bug reports to <bug-gnu-gettext@gnu.org>.
+ Send suggestions and bug reports concerning the DJGPP port to
+ comp.os.msdos.djgpp or <djgpp@delorie.com>.
+
+
+Enjoy.
+
+ Guerrero, Juan Manuel <st001906@hrz1.hrz.tu-darmstadt.de>