Mail Archives: djgpp/2018/03/04/12:16:42
This is a port of GNU libiconv 1.15 to MSDOS/DJGPP.
LIBICONV is a character set conversion library and provides
an iconv() implementation, for use on systems which don't
have one, or whose implementation cannot convert from/to Unicode.
This library provides the requiered functionality to recode on-the-fly
from UNIX charsets to MSDOS codepages. The mapping from language codes
to DOS codepages is contained in the charset.alias file located in the
/dev/env/DJDIR/lib subdir. Please inspect this file carefully and tell
me if the selected DOS codepage is correct for your language.
ATTENTION: the support for DJGPP 2.03 has been dropped. The DJGPP 2.05
version of this port provides the libraries as DXE3 modules instead of
static libraries.
DJGPP specific changes.
=======================
- There are no DJGPP specific changes to the sources at all. Starting
with version 1.6, the official GNU distribution has build-in DJGPP
support so this package should compile out-of-the-box. Unfortunatly
this is no longer true for the configuration step. This package can
no longer be configured out-of-the-box using the djgpp specific files
provided by the GNU distribution. The djgpp specific configuration
files are no longer maintained and thus useless. I have renamed the
original /djgpp directories into /djgpp.old and kept it for completness
reasons. Their content is completely useless nowadays. Do not use
them. The new configuration files are stored now in the new /djgpp
directory.
- It is important to understand that this port does not have nor will
ever provide code to identify SFN aliases that have numeric tails.
IOW, it is the user's responsability to disable numeric tail generation
on all OS where this is possible before installing packages that have
NLS support or the program compiled with this library will fail when
LFN support has been disabled. E.g.: the port will be able to find
a file like charset.alias if LFN support is enabled and it will be
able to find charset.ali if LFN support is disabled but it will
__NEVER__ be able to find charset~1.ali. On WIN95/98 systems and
plain DOS with DOSLFN, the user _must_ always turn off the generation
of numeric tails for 8.3 aliases the OS creats for long file names
_before_ package installation or the package will not work in a dual
DOS/WIN9X (SFN/LFN) environment (it will work on Win[9X|2K|XP] where
the long file name (charset.alias) is available but it will not work
on plain DOS where an alias like charset~1.ali will be visible instead
of the 8.3 truncated short file name, this is charset.ali).
- You can build and use the iconv library either as static library or
as a DXE3 loadble module. Please note that the port of iconv has
been configured and compiled as DXE3 module but it contains both
versions of the libraries. The static version of the library and
the binaries are stored in the /gnu/libiconv-1.15/djgpp/static
directory of the binary archive. The DXE3 module of the libraries
and binaries compiled with it are stored in their usual place so
they will be used as defaults. If you want to use the static version
instead of the DXE3 modules copy the contents of the /static directory
to your installation tree. The DXE3 versions of the libraries are
always paires of files. One is the import library used during the
linking of the application, the other one is the DXE3 module loaded
at runtime. The names are:
/lib/libcharset.a
/lib/libcharset.dxe
/lib/libiconv.a
/lib/libiconv.dxe
The files with the ".a" extension are the import libraries created
by the dxe3gen tool. The ".a" extension for the import libraries has
been choosed intentionaly so that linking rules in existing Makefiles
do not need to be adjusted. To compile DXE3 modules you must compile
like this:
make MAKE_DXE3=y
If MAKE_DXE3 is omitted then the normal static libraries will be build.
To run the test suite you must start make like this:
make check MAKE_DXE3=y
If MAKE_DXE3 is omitted then LD_LIBRARY_PATH will not be set to point
to the freshly build but still not installed DXE3 modules and the
testsuite will fail because the test binaries cannot load the modules
at run-time. To install the products start make like this:
make install prefix=/some/dir MAKE_DXE3=y
If MAKE_DXE3 is omitted then every thing will be installed except
for the DXE3 modules.
- This port provides NLS support. It has been configured with NLS
support enabled. If you prefer no NLS, then reconfigure the sources
passing the no-nls flag to the config.bat file.
- The port has been configured and compiled on WinXP SP3. There is no
guarantee that this may be possible with any other DOS-like OS. Due
to the massive use of long file names it will not be possible to
configure and compile without LFN support.
All the changes done to the original distribution are documented in the
diffs file and located together with all the files needed to configure
the package (config.bat, config.sed, config.site, etc.) in the /djgpp
directory.
Please read the documentation to become familiar with this product.
This is a verbatim extract of the NEWS file:
-------------------------------------------------------------------------------
New in 1.15:
* The UTF-8 converter now rejects surrogates and out-of-range code points.
* Added ISO-2022-JP-MS converter.
* Updated the CP1255 converter to map one more character.
* The functions now support strings longer than 2 GB.
-------------------------------------------------------------------------------
The port consists of the usual two packages that have been produced
using djdev205 and can be downloaded from ftp.delorie.com and mirrors
as (time stamp 2018-02-12):
Libiconv 1.15 binary and man format documentation:
ftp://ftp.delorie.com/pub/djgpp/current/v2gnu/licv115b.zip
Libiconv 1.15 source:
ftp://ftp.delorie.com/pub/djgpp/current/v2gnu/licv115s.zip
Send suggestions and bug reports concerning the DJGPP port to
comp.os.msdos.djgpp or <djgpp AT delorie DOT com>. Libiconv specific bugs
must be reported to <bug-gnu-libiconv AT gnu DOT org>.
Enjoy.
Guerrero, Juan Manuel <juan DOT guerrero AT gmx DOT de>
- Raw text -