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

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

  ATTENTION:  to compile and use this port with DJGPP 2.03 you will have to
  replace some headers in your installation and replace some object files in
  your libc.a  This is required to update unsetenv and locale support to the
  DJGPP 2.04 level.  This is NOT optional.
  The DJGPP 2.04 version of this port provides the libraries as DXE3 modules
  instead of static libraries.  To be able to produce working DXE3 modules it
  is necessary to use a freshly compiled libc.a from the CVS respository.
  This is NOT optional.



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.

        The port has been configured to be build using DJGPP 2.03 or DJGPP 2.04.
        The port using DJGPP 2.03 provides statically linked libraries only.
        But the port compiled using DJGPP 2.04 may provide either statically
        linked libraries or dynamically linked libraries using DJGPP's DXE3
        feature.  To build statically linked libraries, libc.a from the stock
        djdev204.zip will be enough.  But to be able to build dynamically linked
        libraries using the DXE3 module features you will have to use a freshly
        build libc.a from the CVS repository.  To this purpose you can check out
        the code from the CVS repository or use the daily checkout archive
        provided by Martin Stromberg:
          <http://www.ludd.luth.se/~ams/djgpp/cvs/djgpp.cvs.tar.gz>

        The following applies to DJGPP 2.04 users _ONLY_:
        You can build and use the libunistring either as static library or as
        a DXE3 loadble module.  To build a static library, stock DJGPP 2.04 is
        enough.  But if you prefer a module loaded at run-time, you will need
        to compile and use a freshly compiled libc.a from the CVS repository
        source code.  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 2.04 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/libunistring-0.9.3/djgpp/dxe3 directory of the binary archive.
        The static version of the libraries and binaries compiled with libc.a
        from the stock djdev204 archive 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.  The sources have been configured for the CVS
        repository version of libc.a.  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.
        Again, all this concerns the DJGPP 2.04 users only.

        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 luns93br2.zip      or
          djtarx luns93br2.zip       or
          pkunzip -d luns93br2.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 luns93sr2.zip      or
          djtarx luns93sr2.zip       or
          pkunzip -d luns93sr2.zip

3.2.:   To build the binaries you will need the following binary packages:
          djdev203.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

        NNN represents the latest version number of the binary packages.  All
        this packages can be found in the /v2gnu directory of any
        ftp.delorie.com mirror.
        You will need bsh205bbr3.zip or later and *NOT* a prior version or
        the build will fail.  The same applies to djdev203.zip.

3.3.:   The package has been configured for both DJGPP 2.03 and DJGPP 2.04.
        There is a separate build directory for DJGPP 2.03 and for DJGPP 2.04
        under the top srcdir (aka libunistring-).  To build the binaries
        using the 2.03 version of DJGPP cd into _build.203; if you prefer to
        build the binaries using DJGPP 2.04 cd into _build.204.  If for some
        reason you want to reconfigure the package cd into the corresponding
        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
        subdir 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 no-nls.  No NLS support.
          cache or no-cache, default cache.
          dep or no-dep, default no-dep.  No dependency tracking.
        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\libunistring-\djgpp\config x:/src/gnu/libunistring-

        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\libunistring-\djgpp\config x:/src/gnu/libunistring-

        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 libraries for DJGPP 2.04.  For DJGPP 2.03, the
        produced libraries are always static.  If you use DJGPP 2.04 and you
        prefer DXE3 modules 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 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>
