Removed what I believe is an incorrect #ifdef HAVE_* test.
[icculus/xz.git] / dos / README
1
2 XZ Utils on DOS
3 ===============
4
5 Introduction
6
7     This document explains how to build XZ Utils for DOS using DJGPP.
8     The resulting binaries should run at least on various DOS versions
9     and under Windows 95/98/98SE/ME, although the Windows version of
10     XZ Utils is recommended under Windows 95 and later.
11
12     This is currently experimental and has got very little testing.
13
14     Note: Makefile and config.h are updated only now and then. This
15     means that especially if you checked out a development version,
16     building for DOS probably won't work without updating Makefile
17     and config.h first.
18
19
20 Getting and Installing DJGPP
21
22     You may use <http://www.delorie.com/djgpp/zip-picker.html> to help
23     deciding what to download, but as of writing (2010-10-09) that may
24     not be the most convenient way taking into account what components
25     are actually required to build XZ Utils. However, using the
26     zip-picker can still be worth doing to get nice short summary of
27     installation instructions (they can be found from readme.1st too).
28
29     For a more manual method, first select a mirror from
30     <http://www.delorie.com/djgpp/getting.html>. You need
31     the following files:
32
33         unzip32.exe  (if you don't already have a LFN-capable unzipper)
34         beta/v2/djdev204.zip
35         v2gnu/bnu219b.zip
36         v2gnu/gcc444b.zip
37         v2gnu/mak3791b.zip
38         v2misc/csdpmi7b.zip
39
40     If newer versions are available, probably you should try them first.
41     Note that djdev203.zip is too old to build XZ Utils; you need at
42     least djdev204.zip. Also note that you want csdpmi7b.zip even if you
43     run under Windows or DOSEMU, because the XZ Utils Makefile will embed
44     cwsdstub.exe to the resulting binaries.
45
46     See the instructions in readme.1st found from djdev204.zip. Here's
47     a short summary, but you should still read readme.1st.
48
49         C:\> mkdir DJGPP
50         C:\> cd DJGPP
51         C:\DJGPP> c:\download\unzip32 c:\download\djdev204.zip
52         C:\DJGPP> c:\download\unzip32 c:\download\bnu219b.zip
53         C:\DJGPP> c:\download\unzip32 c:\download\gcc444b.zip
54         C:\DJGPP> c:\download\unzip32 c:\download\mak3791b.zip
55         C:\DJGPP> c:\download\unzip32 c:\download\csdpmi7b.zip
56
57         C:\DJGPP> set PATH=C:\DJGPP\BIN;%PATH%
58         C:\DJGPP> set DJGPP=C:\DJGPP\DJGPP.ENV
59
60     You may want to add the last two lines into AUTOEXEC.BAT or have,
61     for example, DJGPP.BAT which you can run before using DJGPP.
62
63     Make sure you use completely upper case path in the DJGPP environment
64     variable. This is not required by DJGPP, but the XZ Utils Makefile is
65     a bit stupid and expects that everything in DJGPP environment variable
66     is uppercase.
67
68
69 Building
70
71     You need to have an environment that supports long filenames (LFN).
72     Once you have built XZ Utils, the resulting binaries can be run
73     without long filename support.
74
75     Run "make" in this directory (the directory containing this README).
76     You should get xz.exe (and a bunch of temporary files). Other tools
77     are not built. Having e.g. xzdec.exe doesn't save much space compared
78     to xz.exe, because the DJGPP runtime makes the .exe quite big anyway.
79
80
81 Bugs
82
83     xz doesn't necessarily work in Dosbox. It should work in DOSEMU.
84
85     Pressing Ctrl-c or Ctrl-Break won't remove the incomplete target file
86     when running under Windows XP Command Prompt (something goes wrong
87     with SIGINT handling). It works correctly under Windows 95/98/98SE/ME.
88