From 5629c4be07b6c67e79842b2569da1cedc9c0d69a Mon Sep 17 00:00:00 2001 From: Lasse Collin Date: Sat, 9 Oct 2010 19:28:49 +0300 Subject: DOS: Update the Makefile, config.h and README. This is now simpler and builds only xz.exe. --- dos/README | 73 +++++++++++++++++++++----------------------------------------- 1 file changed, 24 insertions(+), 49 deletions(-) (limited to 'dos/README') diff --git a/dos/README b/dos/README index 649c58c4..1ed84934 100644 --- a/dos/README +++ b/dos/README @@ -6,36 +6,40 @@ Introduction 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 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 . 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 @@ Getting and Installing DJGPP 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 @@ Getting and Installing DJGPP 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. - -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" + 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. 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 -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. - - 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. + xz doesn't necessarily work in Dosbox. It should work in DOSEMU. - Report bugs to (in English or Finnish). + 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). Use the Windows build of XZ Utils on Windows. -- cgit v1.2.3