This is a port of XZ utils 5.0.8 to MSDOS/DJGPP.

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

        The sources do not compile with DJGPP 2.03 because inttypes.h and
        snprintf are missed.  This port uses the CVS repository version of
        snprintf.  The required definition for PRIx32 and PRIx64 have been
        taken from the CVS repository version of inttypes.h.
        The library code itself has not been changed.  The code has already
        enough DJGPP support.  But the driver program has no SFN support at
        all.  It simply appends a ".xz" or ".lzma" extension to the original
        file name according to the compression algorithm used.  This will work
        on systems with LFN support but not on plain DOS.  I have applied the
        same schema that I have used for the BZIP2 port.  Unfortunately the
        original file name is not stored in the compressed file header so there
        will be no possibility to restore the original file name extension on
        SFN systems.
        For SFN systems the following rules apply for ".xz" extension:
          compressed name       uncompressed name
            filename.exx    -->   filename.ex
            filename.exz    -->   filename.e
            filename.xz     -->   filename
          uncompressed name     compressed name
            filename.ext    -->   filename.exx
            filename.ex     -->   filename.exx
            filename.e      -->   filename.exz
            filename        -->   filename.xz

        For SFN systems the following rules apply for ".lzma" extension:
          compressed name       uncompressed name
            filename.exl    -->   filename.ex
            filename.elz    -->   filename.e
            filename.lzm    -->   filename
          uncompressed name     compressed name
            filename.ext    -->   filename.exl
            filename.ex     -->   filename.exl
            filename.e      -->   filename.elz
            filename        -->   filename.lzm

        The port will detect at run time if LFN support is available or not and
        will select the method to handle the extension creation accordingly.
        For LFN and SFN systems, ".txz" and ".tlz" extensions are always
        identified as tar archives.  Their file name will always have a ".tar"
        extension.

        The port has been configured and compiled on WinXP SP3.  There is no
        guarantee that this may be possible with any other DOS-like OS.  Due
        to the massive use of long file names it will not be possible to
        configure and compile without LFN support.

        The DJGPP 2.05 version of the port has been compiled using gcc510 and
        bnu225br2.  DJGPP 2.03 and DJGPP 2.04 are no longer supported.  The
        port has been configured to be build in the /_build.205 directory.

        This port provides no NLS support for the version compiled with djdev205.
        It has been configured with NLS support disabled by passing the no-nls
        flag as argument to config.bat.  If you prefer NLS support you will have
        to reconfigure the sources omitting the no-nls flag when calling config.bat.

        The usual configuration files have been added.  They are located in the
        /djgpp directory together with the diffs file that documents my changes
        against the original sources.
          
        Please *read* the docs to become familiar with the products.


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 xz-508b.zip      or
          djtarx xz-508b.zip       or
          pkunzip -d xz-508b.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 xz-508s.zip      or
          djtarx xz-508s.zip       or
          pkunzip -d xz-508s.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 and gwkNNNb.zip.

        If you want to configure and compile this packages with NLS support
        enabled you must install licvNNNb.zip, lunsNNNb.zip and gtxNNNNb.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 djdev205.zip.

3.3.:   The package has been configured for DJGPP 2.05.  There is a separate
        build directory under the top srcdir (aka xz-5.0.8).  To build
        the binaries cd into _build.205 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.
          cache or no-cache, default cache.
          dep or no-dep, default no-dep.  No dependency tracking.
          silent or no-silent, default silent.
          debug or no-debug, default no-debug.
        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\xz-5.0.8\djgpp\config x:/src/gnu/xz-5.0.8

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

        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

3.5.:   Now you can run the tests if you like. From the directory where you have
        configured the sources run the command:
          make check

        No test should fail.

3.6.:   To install the binaries, header, library, catalogs, and man pages
        run the following command from the top srcdir:
          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 appropiate
        value:
          make install prefix=z:/some/other/place



        Send XZ utils specific bug reports to <lasse.collin@tukaani.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>
