| Index: dos/README
|
| ===================================================================
|
| --- dos/README (revision 50504)
|
| +++ dos/README (working copy)
|
| @@ -6,36 +6,40 @@
|
|
|
| This document explains how to build XZ Utils for DOS using DJGPP.
|
| The resulting binaries should run at least on various DOS versions
|
| - and under Windows 95/98/98SE/ME, which cannot run the Windows version
|
| - of XZ Utils.
|
| + and under Windows 95/98/98SE/ME, although the Windows version of
|
| + XZ Utils is recommended under Windows 95 and later.
|
|
|
| This is currently experimental and has got very little testing.
|
|
|
| + Note: Makefile and config.h are updated only now and then. This
|
| + means that especially if you checked out a development version,
|
| + building for DOS probably won't work without updating Makefile
|
| + and config.h first.
|
|
|
| +
|
| Getting and Installing DJGPP
|
|
|
| You may use <http://www.delorie.com/djgpp/zip-picker.html> to help
|
| - deciding what to download, but as of writing (2009-02-13) that may
|
| + deciding what to download, but as of writing (2010-10-09) that may
|
| not be the most convenient way taking into account what components
|
| are actually required to build XZ Utils. However, using the
|
| zip-picker can still be worth doing to get nice short summary of
|
| installation instructions (they can be found from readme.1st too).
|
|
|
| - For more manual method, first select a mirror from
|
| + For a more manual method, first select a mirror from
|
| <http://www.delorie.com/djgpp/getting.html>. You need
|
| the following files:
|
|
|
| - unzip32.exe
|
| + unzip32.exe (if you don't already have a LFN-capable unzipper)
|
| beta/v2/djdev204.zip
|
| v2gnu/bnu219b.zip
|
| - v2gnu/gcc432b.zip
|
| + v2gnu/gcc444b.zip
|
| v2gnu/mak3791b.zip
|
| - v2gnu/sed415b.zip
|
| - v2misc/csdpmi5b.zip
|
| + v2misc/csdpmi7b.zip
|
|
|
| If newer versions are available, probably you should try them first.
|
| Note that djdev203.zip is too old to build XZ Utils; you need at
|
| - least djdev204.zip. Also note that you want csdpmi5b.zip even if you
|
| + least djdev204.zip. Also note that you want csdpmi7b.zip even if you
|
| run under Windows or DOSEMU, because the XZ Utils Makefile will embed
|
| cwsdstub.exe to the resulting binaries.
|
|
|
| @@ -46,10 +50,9 @@
|
| C:\> cd DJGPP
|
| C:\DJGPP> c:\download\unzip32 c:\download\djdev204.zip
|
| C:\DJGPP> c:\download\unzip32 c:\download\bnu219b.zip
|
| - C:\DJGPP> c:\download\unzip32 c:\download\gcc432b.zip
|
| + C:\DJGPP> c:\download\unzip32 c:\download\gcc444b.zip
|
| C:\DJGPP> c:\download\unzip32 c:\download\mak3791b.zip
|
| - C:\DJGPP> c:\download\unzip32 c:\download\sed415b.zip
|
| - C:\DJGPP> c:\download\unzip32 c:\download\csdpmi5b.zip
|
| + C:\DJGPP> c:\download\unzip32 c:\download\csdpmi7b.zip
|
|
|
| C:\DJGPP> set PATH=C:\DJGPP\BIN;%PATH%
|
| C:\DJGPP> set DJGPP=C:\DJGPP\DJGPP.ENV
|
| @@ -65,49 +68,21 @@
|
|
|
| Building
|
|
|
| - Just run "make" in this directory (the directory containing this
|
| - README). You should get liblzma.a, xz.exe, xzdec.exe, and
|
| - lzmadec.exe. Of these, probably xz.exe is the only interesting one.
|
| -
|
| - Note: You need to have an environment that supports long filenames.
|
| + You need to have an environment that supports long filenames (LFN).
|
| Once you have built XZ Utils, the resulting binaries can be run
|
| without long filename support.
|
|
|
| + Run "make" in this directory (the directory containing this README).
|
| + You should get xz.exe (and a bunch of temporary files). Other tools
|
| + are not built. Having e.g. xzdec.exe doesn't save much space compared
|
| + to xz.exe, because the DJGPP runtime makes the .exe quite big anyway.
|
|
|
| -Additional Make Flags and Targets
|
|
|
| - You may want to try some additional optimizations, which may or
|
| - may not make the code faster (and may or may not hit possible
|
| - compiler bugs more easily):
|
| -
|
| - make CFLAGS="-O3 -fomit-frame-pointer -funroll-loops"
|
| -
|
| - If you want to enable assertions (the assert() macro), use DEBUG=1.
|
| - You may want to disable optimizations too if you plan to actually
|
| - debug the code. Never use DEBUG=1 for production builds!
|
| -
|
| - make DEBUG=1 CFLAGS="-g -O0"
|
| -
|
| -
|
| Bugs
|
|
|
| - "make clean" may remove src/xz/hardware.c when it tries to remove
|
| - src/xz/hardware-fixed.c. This is probably a bug somewhere in the
|
| - DOS environment I use. Maybe it tries truncated 8.3 name first and
|
| - since that gives a name of an existing file, it doesn't look for
|
| - long filename.
|
| + xz doesn't necessarily work in Dosbox. It should work in DOSEMU.
|
|
|
| - "xz -fc /dev/tty" hangs at least in DOSEMU and cannot be interrupted
|
| - by pressing C-c. Maybe xz should never accept non-regular files on
|
| - DOS even when --force is used.
|
| + Pressing Ctrl-c or Ctrl-Break won't remove the incomplete target file
|
| + when running under Windows XP Command Prompt (something goes wrong
|
| + with SIGINT handling). It works correctly under Windows 95/98/98SE/ME.
|
|
|
| - Using different memory usage limit for encoding and decoding doesn't
|
| - make sense under pure DOS. Maybe it is still OK when running under
|
| - Windows.
|
| -
|
| - The progress indicator of "xz -v" doesn't get updated when running
|
| - under Dosbox, but it works in DOSEMU. I currently (2009-02-13) don't
|
| - know if it works in other environments.
|
| -
|
| - Report bugs to <lasse.collin@tukaani.org> (in English or Finnish).
|
| -
|
|
|