• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..07-May-2022-

MakefileH A D10-Feb-20226.7 KiB256173

READMEH A D10-Feb-20224.2 KiB11480

config.hH A D10-Feb-20224.1 KiB15347

README

1
2XZ Utils on DOS
3===============
4
5Introduction
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, which cannot run the Windows version
10    of XZ Utils.
11
12    This is currently experimental and has got very little testing.
13
14
15Getting and Installing DJGPP
16
17    You may use <http://www.delorie.com/djgpp/zip-picker.html> to help
18    deciding what to download, but as of writing (2009-02-13) that may
19    not be the most convenient way taking into account what components
20    are actually required to build XZ Utils. However, using the
21    zip-picker can still be worth doing to get nice short summary of
22    installation instructions (they can be found from readme.1st too).
23
24    For more manual method, first select a mirror from
25    <http://www.delorie.com/djgpp/getting.html>. You need
26    the following files:
27
28        unzip32.exe
29        beta/v2/djdev204.zip
30        v2gnu/bnu219b.zip
31        v2gnu/gcc432b.zip
32        v2gnu/mak3791b.zip
33        v2gnu/sed415b.zip
34        v2misc/csdpmi5b.zip
35
36    If newer versions are available, probably you should try them first.
37    Note that djdev203.zip is too old to build XZ Utils; you need at
38    least djdev204.zip. Also note that you want csdpmi5b.zip even if you
39    run under Windows or DOSEMU, because the XZ Utils Makefile will embed
40    cwsdstub.exe to the resulting binaries.
41
42    See the instructions in readme.1st found from djdev204.zip. Here's
43    a short summary, but you should still read readme.1st.
44
45        C:\> mkdir DJGPP
46        C:\> cd DJGPP
47        C:\DJGPP> c:\download\unzip32 c:\download\djdev204.zip
48        C:\DJGPP> c:\download\unzip32 c:\download\bnu219b.zip
49        C:\DJGPP> c:\download\unzip32 c:\download\gcc432b.zip
50        C:\DJGPP> c:\download\unzip32 c:\download\mak3791b.zip
51        C:\DJGPP> c:\download\unzip32 c:\download\sed415b.zip
52        C:\DJGPP> c:\download\unzip32 c:\download\csdpmi5b.zip
53
54        C:\DJGPP> set PATH=C:\DJGPP\BIN;%PATH%
55        C:\DJGPP> set DJGPP=C:\DJGPP\DJGPP.ENV
56
57    You may want to add the last two lines into AUTOEXEC.BAT or have,
58    for example, DJGPP.BAT which you can run before using DJGPP.
59
60    Make sure you use completely upper case path in the DJGPP environment
61    variable. This is not required by DJGPP, but the XZ Utils Makefile is
62    a bit stupid and expects that everything in DJGPP environment variable
63    is uppercase.
64
65
66Building
67
68    Just run "make" in this directory (the directory containing this
69    README). You should get liblzma.a, xz.exe, xzdec.exe, and
70    lzmadec.exe. Of these, probably xz.exe is the only interesting one.
71
72    Note: You need to have an environment that supports long filenames.
73    Once you have built XZ Utils, the resulting binaries can be run
74    without long filename support.
75
76
77Additional Make Flags and Targets
78
79    You may want to try some additional optimizations, which may or
80    may not make the code faster (and may or may not hit possible
81    compiler bugs more easily):
82
83        make CFLAGS="-O3 -fomit-frame-pointer -funroll-loops"
84
85    If you want to enable assertions (the assert() macro), use DEBUG=1.
86    You may want to disable optimizations too if you plan to actually
87    debug the code. Never use DEBUG=1 for production builds!
88
89        make DEBUG=1 CFLAGS="-g -O0"
90
91
92Bugs
93
94    "make clean" may remove src/xz/hardware.c when it tries to remove
95    src/xz/hardware-fixed.c. This is probably a bug somewhere in the
96    DOS environment I use. Maybe it tries truncated 8.3 name first and
97    since that gives a name of an existing file, it doesn't look for
98    long filename.
99
100    "xz -fc /dev/tty" hangs at least in DOSEMU and cannot be interrupted
101    by pressing C-c. Maybe xz should never accept non-regular files on
102    DOS even when --force is used.
103
104    Using different memory usage limit for encoding and decoding doesn't
105    make sense under pure DOS. Maybe it is still OK when running under
106    Windows.
107
108    The progress indicator of "xz -v" doesn't get updated when running
109    under Dosbox, but it works in DOSEMU. I currently (2009-02-13) don't
110    know if it works in other environments.
111
112    Report bugs to <lasse.collin@tukaani.org> (in English or Finnish).
113
114