Introduction to libidn
libidn is a package designed for
internationalized string handling based on the Stringprep,
Punycode and IDNA
specifications defined by the Internet Engineering Task Force
(IETF) Internationalized Domain Names (IDN) working group, used for
internationalized domain names. This is useful for converting data
from the system's native representation into UTF-8, transforming
Unicode strings into ASCII strings, allowing applications to use
certain ASCII name labels (beginning with a special prefix) to
represent non-ASCII name labels, and converting entire domain names
to and from the ASCII Compatible Encoding (ACE) form.
Note
Development versions of BLFS may not build or run some packages
properly if LFS or dependencies have been updated since the most
recent stable versions of the books.
Package Information
libidn Dependencies
Optional
Emacs-29.4, GTK-Doc-1.34.0, OpenJDK-23.0.1, Valgrind-3.24.0, and Mono
Installation of libidn
Install libidn by running the
following commands:
./configure --prefix=/usr --disable-static &&
make
To test the results, run:
pushd tests &&
make check &&
popd
Now, as the root
user:
make install &&
find doc -name "Makefile*" -delete &&
rm -rf -v doc/{gdoc,idn.1,stamp-vti,man,texi} &&
mkdir -v /usr/share/doc/libidn-1.42 &&
cp -r -v doc/* /usr/share/doc/libidn-1.42
Command Explanations
--disable-static
: This
switch prevents installation of static versions of the libraries.
--enable-gtk-doc
: Use this parameter if
GTK-Doc is installed and you wish
to rebuild and install the API documentation.
--enable-java
: Use this switch to
enable building the Java implementation of libidn. Note that OpenJDK-23.0.1 must be
installed to use this option.
Contents
Installed Program:
idn
Installed Library:
libidn.so
Installed Directories:
/usr/share/doc/libidn-1.42 and
/usr/share/gtk-doc/html/libidn
Short Descriptions
idn
|
is a command line interface to the internationalized
domain name library
|
libidn.so
|
contains a generic Stringprep implementation that does
Unicode 3.2 NFKC normalization, mapping and prohibition
of characters, and bidirectional character handling.
Profiles for Nameprep, iSCSI, SASL and XMPP are included
as well as support for Punycode and ASCII Compatible
Encoding (ACE) via IDNA. A mechanism to define Top-Level
Domain (TLD) specific validation tables, and to compare
strings against those tables, as well as default tables
for some TLDs are included
|