Libidn

From CBLFS
Revision as of 19:22, 16 December 2006 by Jim (talk | contribs)
Jump to navigationJump to search
Download Source: http://josefsson.org/libidn/releases/libidn-1.26.tar.gz

Introduction to Libidn

Libidn is a package designed for internationalized string handling based on the Stringprep, Punycode, IDNA and TLD 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.

Dependencies

Optional

Non-Multilib

Compile the package:

./configure --prefix=/usr &&
make

If you have TeTeX installed and wish to create a text version of the documentation, issue the following commands:

cd doc &&
makeinfo --plaintext -o libidn.txt libidn.texi &&
cd ..

Install the package

make install &&
find doc -name "Makefile*" -exec rm {} \; &&
install -v -m755 -d \
    /usr/share/doc/libidn-1.26/{api,java,specifications,tld} &&
install -v -m644 doc/components* \
                 doc/libidn.{pdf,ps,html} \
    /usr/share/doc/libidn-1.26 &&
install -v -m644 doc/reference/html/* \
    /usr/share/doc/libidn-1.26/api &&
install -v -m644 doc/specifications/* \
    /usr/share/doc/libidn-1.26/specifications &&
install -v -m644 doc/tld/* /usr/share/doc/libidn-1.26/tld &&
cp -v -R doc/java/* /usr/share/doc/libidn-1.26/java

If you created the text documentation, install it using the following command:

install -v -m644 doc/libidn.txt /usr/share/doc/libidn-1.26

Multilib

32Bit

Compile the package:

CC="gcc ${BUILD32}" ./configure --prefix=/usr &&
make

Install the package

make install

N32

Compile the package:

CC="gcc ${BUILDN32}" ./configure --prefix=/usr --libdir=/usr/lib32 &&
make

Install the package

make install

64Bit

Compile the package:

CC="gcc ${BUILD64}" ./configure --prefix=/usr --libdir=/usr/lib64 &&
make

If you have TeTeX installed and wish to create a text version of the documentation, issue the following commands:

cd doc &&
makeinfo --plaintext -o libidn.txt libidn.texi &&
cd ..

Install the package

make install &&
find doc -name "Makefile*" -exec rm {} \; &&
install -v -m755 -d \
    /usr/share/doc/libidn-1.26/{api,java,specifications,tld} &&
install -v -m644 doc/components* \
                 doc/libidn.{pdf,ps,html} \
    /usr/share/doc/libidn-1.26 &&
install -v -m644 doc/reference/html/* \
    /usr/share/doc/libidn-1.26/api &&
install -v -m644 doc/specifications/* \
    /usr/share/doc/libidn-1.26/specifications &&
install -v -m644 doc/tld/* /usr/share/doc/libidn-1.26/tld &&
cp -v -R doc/java/* /usr/share/doc/libidn-1.26/java

If you created the text documentation, install it using the following command:

install -v -m644 doc/libidn.txt /usr/share/doc/libidn-1.26

Contents

Installed Programs: idn
Installed Libraries: libidn.{so,a} and optionally, Java and C# modules
Installed Directories: /usr/share/doc/libidn-1.26

Short Descriptions

idn is a command line interface to the internationalized domain name library.
libidn.{so,a} 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.