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). |
- |