This is a port of GNU libunistring 0.9.8  to MSDOS/DJGPP.

  This library provides functions for manipulating Unicode strings and
  for manipulating C strings according to the Unicode standard.


  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.  



1.:     DJGPP specific changes.
        =======================

        There are only some minor adjustments required to get the gnulib code
        and test suite compiled with djgpp.  As usual, all files required to
        configure and compile the package are stored in the /djgpp directory.

        You can build and use the libunistring either as static library or as
        a DXE3 loadble module.  Using DXE3 modules has the benefit that the
        size of the binaries that use libunistring will decrease considerably.
        Also it guarantees that all programs use the same ported code.  Please
        note that the port of libunistring has been configured and compiled
        as DXE3 module but it contains both versions of the libraries.  The
        DXE3 modules and binaries compiled with them are stored in the
        gnu/luns-0.9.8/djgpp/dxe3 directory of the binary archive.
        The static version of the libraries and binaries are stored in their
        usual place so they will be used as defaults.  If you want to use DXE3
        modules replace the static version copying the contents of the /dxe3
        directory to your installation tree.  The DXE3 versions of the
        libraries are always pairs of files.  One is the import library used
        during the linking of the application, the other is the DXE3 module
        loaded at runtime.  The names are:
          /lib/libunistring.a
          /lib/libunistring.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
        no matter which libc.a has been installed.  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.



        As usual, all djgpp specific files (config.bat, diffs, README files,
        etc.) are located in the djgpp subdir.

        For further information about GNU libunistring please read the info docs and NEWS file.


2.:     Installing the binary package.
        ==============================

2.1.:   Copy the binary distribution into the top DJGPP installation directory,
        just unzip it preserving the directory structure running *ONE* of the
        following commands:
          unzip32 luns098b.zip      or
          djtarx luns098b.zip       or
          pkunzip -d luns098b.zip


3.:     Building the binaries from sources.
        ===================================

3.1.:   Create a temporary directory and copy the source package into the
        directory.  If you download the source distribution from one of the
        DJGPP sites, just unzip it preserving the directory structure
        running *ONE* of the following commands:
          unzip32 luns098s.zip      or
          djtarx luns098s.zip       or
          pkunzip -d luns098s.zip

3.2.:   To build the binaries you will need the following binary packages:
          djdev205.zip (or a later but NOT a prior version)
          bsh205bbr3.zip (or a later but NOT a prior version)
          gccNNNb.zip, gppNNN.zip, bnuNNNb.zip, makNNNb.zip, filNNNb.zip,
          shlNNNb.zip, txtNNNb.zip, txiNNNb.zip, grepNNNb.zip, sedNNNb.zip,
          pcreNNNb.zip, mktmpNNb.zip, gwkNNNb.zip and licvNNNb.zip

        If you want to run the check you will need also:
          difNNNb.zip and mktmpNNNb.zip

        All this packages can be found in the /v2gnu directory of any
        ftp.delorie.com mirror.  NNN stands for the newest port versions
        available when this port was build but older may do the work as well
        but I have not tested this.

3.3.:   The package has been configured to be build in a separate build directory
        under the top srcdir (aka luns-).  To build the binaries cd
        into /_build directory.  If for some reason you want to reconfigure the
        package cd into the build directory and run the
        following commands:
          del config.cache
          make clean
          ..\djgpp\config ./..

        Please note that you *MUST* delete the config.cache file in the djgpp
        directory or you will not really reconfigure the sources because the
        configuration informations will be read from the cache file instead
        of being newly computed.

        config.bat, among other things, will start the configure script passing
        to it a couple of arguments.  You can control these argument passing the
        following command line arguments to config.bat:
          nls or no-nls, default nls.  NLS support enabled.
          cache or no-cache, default cache.  Cache in build directory.
          dep or no-dep, default no-dep.  No dependency tracking.
          silent or no-silent, default silent.  Controls the verbosity of the
                                                build process.
        All other configure specific options are not set by config.bat so their
        values are left as they are.  If no arguments are passed to config.bat
        then the default values are used.


        To build the programs in a directory other than where the sources are,
        you must add the parameter that specifies the source directory,
        e.g:
          x:\src\gnu\luns-\djgpp\config x:/src/gnu/luns-

        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:
          md \build
          cd \build
          x:\src\gnu\luns-\djgpp\config x:/src/gnu/luns-

        The order of the options and the srcdir option does not matter.  You
        *MUST* use forward slashes to specify the source directory.

        The batch file will set same environment variables, make MSDOS specific
        modifications to the Makefile.in's and supply all other needed options
        to the configure script.

3.4.:   To compile the package run from the directory where you have configured
        the sources the command:
          make
        This will produce static version of the libraries.  If you prefer the
        DXE3 module version of the libraries use the command:
          make MAKE_DXE3

3.5.:   Now you can run the tests if you like.  Start the command:
          make check
        If the package has been compiled to produce DXE3 modules, the test suite
        must be started using the command
          make check MAKE_DXE3

        If MAKE_DXE3 is omitted, the makefile will not set the LD_LIBRARY_PATH
        environment variable and the compiled test programs will not be able to
        find and load the DXE3 modules.

        All checks that involve certain locales (french or chinese) will be
        skipped.  Also some test involving certain multi-threading features
        will fail.

3.6.:   To install the binaries and info docs run the following command from
        the directory where you have configured the sources:
          make install

        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 appropriate
        value:
          make install prefix=z:/some/other/place



        Send GNU libunistring specific bug reports to <bug-libunistring@gnu.org>.
        Send suggestions and bug reports concerning the DJGPP port to
        comp.os.msdos.djgpp or <djgpp@delorie.com>.


Enjoy.

        Guerrero, Juan Manuel <juan.guerrero@gmx.de>
