diff options
Diffstat (limited to 'contrib/idn/idnkit-1.0-src/INSTALL')
-rw-r--r-- | contrib/idn/idnkit-1.0-src/INSTALL | 309 |
1 files changed, 309 insertions, 0 deletions
diff --git a/contrib/idn/idnkit-1.0-src/INSTALL b/contrib/idn/idnkit-1.0-src/INSTALL new file mode 100644 index 0000000..6257f65 --- /dev/null +++ b/contrib/idn/idnkit-1.0-src/INSTALL @@ -0,0 +1,309 @@ + + idnkit + Compilation and Installation + Japan Network Information Center (JPNIC) + + +This file explains how to compile and install the source package. +These procedures take the following steps: + + + Prerequisite: making iconv() available + + System Configuration: running `configure' script + + Compilation: running `make' + + Test: running `make test' (optional) + + Installation: running `make install' + + Site Configuration: tailoring `idn.conf' + + Configuration Check (optional) + + Clean up (optional) + +See also the following section if you'd like to apply patch and install +BIND9. + + + Applying patches + +0. Prerequisite + +If you want to install generic idnkit library with code conversion +support, and also if your system's library does not have iconv() +function, which is a general codeset conversion utility, install iconv +as an external library. You also need external library if the +system's implementation cannot handle UTF-8 encoding, or it doesn't +support some encodings which your client applications uses. + +You can get a free version of iconv() implementation (under LGPL +license, aka GNU libiconv) from: + + ftp://ftp.gnu.org/gnu/libiconv/ + and mirrors of that site. + +But if you don't want code conversion support and you want to install +idnkitlite library without iconv support alone, you have not install +external library. Instead, set `--enable-liteonly' value to "yes" at +configure script execution. + + +1. Running configure script + +Run `configure' script in the top directory. This checks various +characteristics of your system and it will create Makefiles and +config.h appropriate for your system. + + % ./configure + +`configure' accepts many options. Here is a list of some important +options. + + --prefix=PREFIX + Specifies the prefix of install directories of idnkit. The + default is /usr/local. + + --enable-runidn + Build `runidn' command. The default is "no". + + You cannot set this option "yes" when `--enable-liteonly' is + also set "yes". + + --with-libiconv=LIBICONV_PREFIX + If you have installed GNU libiconv and would like to link it + to idnkit, specify this option. The argument LIBICONV_PREFIX + is install prefix of GNU libiconv. If the argument is omitted, + PREFIX (derived from --prefix=PREFIX option) is assumed. + + --with-libiconv is shorthand option for GNU libiconv. + + --with-libiconv=/usr/local + + This is equivalent to: + + --with-iconv-include='-I/usr/local/include' + --with-iconv='-L/usr/local/lib -R/usr/local/lib -liconv' + + If both the shorthand option (--with-libiconv) and longhand + options (--with-iconv-include and/or --with-iconv) are specified, + the longhand options have priority. + + You cannot set this option when --enable-liteonly is set + "yes", because libidnkitlite library doesn't need iconv + support. + + --with-iconv-include=ICONV_INCDIR + If the header file "iconv.h" resides in a directory where your + C compiler doesn't search by default, specify the directory as + DIR like this: + + --with-iconv-include=/usr/local/include + + You cannot set this option when `--enable-liteonly' is set + "yes", because libidnkitlite library doesn't need iconv + support. + + --with-iconv=ICONV_LIB + If your libc doesn't contain iconv(), specify the library + that contains iconv(). For example, if iconv() is libiconv + in /usr/local/lib, you should specify: + + --with-iconv="-L/usr/local/lib -liconv" + + Note that if the library is a shared one, you might also want + to specify -R option, like: + + --with-iconv="-L/usr/local/lib -R/usr/local/lib -liconv" + + You cannot set this option when `--enable-liteonly' is set + "yes", because libidnkitlite library doesn't need iconv + support. + + --with-iconv-sofile=SOFILE_PATH + The runidn command in this kit needs to know the pathname of + shared library file that contains iconv(), if iconv() is not + part of libc. idnkit tries to find out the pathname from the + informaiton provided by `--with-iconv' option described above. + But when it fails, you have to specify it with this option, + like: + + --with-iconv-sofile=/usr/local/lib/libiconv.so.2.0 + + You cannot set this option when `--enable-liteonly' is set + "yes", because libidnkitlite library doesn't need iconv + support. + + --with-utf8=UTF8_NAME + If your iconv() (precisely, iconv_open()) does not accept + "UTF-8" as the name of UTF-8 encoding, specify the name for + it. For example if your iconv() uses "utf8" instead, you + should specify: + + --with-utf8=utf8 + + +2. Other configure options + +The configure script has many other options though they are not widely +used: + + --exec-prefix=EXEC_PREFIX + Specifies the prefix of install directories for machine-specific + files. The default is PREFIX (derived from `--prefix=PREFIX' + and its default is /usr/local). + + --bindir=BINDIR + Specifies the install directory for idnconv and runidn. + The default is EXEC_PREFIX/bin. + + --libdir=LIBDIR + Specifies the install directory for the libraries (libidnkit + and libidnkitlite). The default is EXEC_PREFIX/lib. + + --includedir=INCDIR + Specifies the install directory for the header files of the + libraries. The default is PREFIX/include. + + --sysconfdir=SYSCONFDIR + Specifies the install directory for sample configuration files + of the libraries. The default is PREFIX/etc. + + --mandir=MANDIR + Specifies the base install directory for online manuals. + The default is PREFIX/man. + + --datadir=DATADIR + Specifies the base install directory for machine independent + data files. The default is PREFIX/share. Some data files for + idnkit will be put under the DATADIR/idnkit directory. + + --enable-debug + Enable debugging codes. The fault is "no". + + --enable-shared + Build shared library. The fault is "yes". + + --enable-static + Build static library. The fault is "yes". + + --enable-liteonly + Build the `libidnlkitite' library only. Do not build the + `libidnkit' library, idnconv and runidn. The fault is "no". + + If you want to set "yes" to this option, you cannot specify it + together with `--enable-runidn', `--with-libiconv', + `--with-iconv-include', `--with-iconv' or `--with-iconv-sofile'. + +To see the list of available options, you should run it with --help +option. + + % ./configure --help + + +3. Compiling + +Run `make' for compilation. + + % make + + +4. Test + +Optionally, type `make test' to compile and run test programs. +Note that Perl 5 is required for comipilation of the test programs. + + % make test + +The test programs assume that iconv() on the system recognizes the +encoding name "EUC-JP" as Japanese EUC, and "SJIS" as Japanese Shift +JIS. If iconv() on the system doesn't support the encoding name, +please edit `lib/tests/codeset.h' before `make test'. + +*Note* + If you use standard iconv which is attached as default on Solaris, + converter's test "idn_converter_convfromucs4()" may fail. But it's + not the problem because the result is derived from the difference of + specification of iconv. So please ignore it if you run the test on + Solaris. + + +5. Installation + +Run `make install' to install binaries and manuals. Don't forget to +become a super-user before the installation. + + % su + # make install + +*Note* + If you have installed pre-release versions of idnkit (such as 1.0pr1), + idnkit-1.0 may not work correctly because of the old configuration + file 'idn.conf'. If this is the case, you should overwrite existing + configuration files with the new ones by executing the following command + after 'make install'. + + # make install-config + + +6. Configuration and usage + +Edit the `idn.conf' configuation file if you'd like to cosutomize +conversion/normalization rules of idnkit. Please refer the manual +for `idn.conf' for details. A sample configuration (`idn.conf.sample') +is also provided for your convenience. + +The sample configuration file has also been installed as `idn.conf' +if it has not exist on your system. + +Also online manuals for `idnconv' and `runidn' commands are available. +Please refer them for the usage and configuration of these commands. + + % man idn.conf + % man idnconv + % man runidn + + +7. Check your configuration + +A simple shell script `idnslookup' is available in the directory +`tools/idnconv', with which you can make queries for internationalized +domain names. It may help you check your configuration. + +The usage of `idnslookup' is: + + % tools/idnconv/idnslookup <domain-name> <dns-server> + +Suppose that <domain-name> is an internationalized domain name written +in the local codeset (see ``LOCAL CODESET'' in the `idn.conf' man page +for details), and <dns-server> is a hostname or IP address of DNS +server. + +`idnslookup' inquires <idn-domain-name> from <dns-server>, using +`idnconv' and `nslookup' commands. If something is wrong, you will +see an error message output by `idnconv', `nslookup' or `idnslookup' +itself. + + +8. Clean up + +Run `make clean' to delete files generated by `make' and `make test' +from the idnkit source directory. (Files installed by `make install' +are not removed.) + + % make clean + +Run `make distclean' instead to also delete files generated by +`configure'. + + % make distclean + +After `make distclean', you can run `configure' and compile idnkit for +another system using the source directory. + + +Appendix A. Applying patches + +This distribution also contains patches for BIND9. +The top of these patch files describe how to apply the patch and +(re)install. + +Note that on Solaris, "patch" command that comes with the system +sometimes doesn't work correctly. You may want to install the GNU +version of the command (http://www.gnu.org/software/patch/) and use +it. + +; $Id: INSTALL,v 1.1.1.1 2003/06/04 00:24:59 marka Exp $ |