@@ -14,6 +14,7 @@ XZ Utils Installation
14
14
1.2.6. Tru64
15
15
1.2.7. Windows
16
16
1.2.8. DOS
17
+ 1.2.9. z/OS
17
18
1.3. Adding support for new platforms
18
19
2. configure options
19
20
2.1. Static vs. dynamic linking of liblzma
@@ -123,8 +124,11 @@ XZ Utils Installation
123
124
as an argument to the configure script.
124
125
125
126
test_scripts.sh in "make check" may fail if good enough tools are
126
- missing from PATH (/usr/xpg4/bin or /usr/xpg6/bin). See sections
127
- 4.5 and 3.2 for more information.
127
+ missing from PATH (/usr/xpg4/bin or /usr/xpg6/bin). Nowadays
128
+ /usr/xpg4/bin is added to the script PATH by default on Solaris
129
+ (see --enable-path-for-scripts=PREFIX in section 2), but old xz
130
+ releases needed extra steps. See sections 4.5 and 3.2 for more
131
+ information.
128
132
129
133
130
134
1.2.6. Tru64
@@ -136,8 +140,22 @@ XZ Utils Installation
136
140
137
141
1.2.7. Windows
138
142
139
- Building XZ Utils on Windows is supported under the following
140
- environments:
143
+ If it is enough to build liblzma (no command line tools):
144
+
145
+ - There is experimental CMake support. As it is, it should be
146
+ good enough to build static liblzma with Visual Studio.
147
+ Building liblzma.dll might work too (if it doesn't, it should
148
+ be fixed). The CMake support may work with MinGW or MinGW-w64.
149
+ Read the comment in the beginning of CMakeLists.txt before
150
+ running CMake!
151
+
152
+ - There are Visual Studio project files under the "windows"
153
+ directory. See windows/INSTALL-MSVC.txt. In the future the
154
+ project files will be removed when CMake support is good
155
+ enough. Thus, please test the CMake version and help fix
156
+ possible issues.
157
+
158
+ To build also the command line tools:
141
159
142
160
- MinGW-w64 + MSYS (32-bit and 64-bit x86): This is used
143
161
for building the official binary packages for Windows.
@@ -153,9 +171,6 @@ XZ Utils Installation
153
171
which is safe under older Cygwin versions. You can check
154
172
the Cygwin version with the command "cygcheck -V".
155
173
156
- - Microsoft Visual Studio 2013 update 2 or later (MSVC for short):
157
- See windows/INSTALL-MSVC.txt for more information.
158
-
159
174
It may be possible to build liblzma with other toolchains too, but
160
175
that will probably require writing a separate makefile. Building
161
176
the command line tools with non-GNU toolchains will be harder than
@@ -168,12 +183,31 @@ XZ Utils Installation
168
183
169
184
1.2.8. DOS
170
185
171
- There is an experimental Makefile in the "dos" directory to build
172
- XZ Utils on DOS using DJGPP. Support for long file names (LFN) is
173
- needed. See dos/README for more information.
186
+ There is a Makefile in the "dos" directory to build XZ Utils on
187
+ DOS using DJGPP. Support for long file names (LFN) is needed at
188
+ build time but the resulting xz.exe works without LFN support too.
189
+ See dos/INSTALL.txt and dos/README.txt for more information.
190
+
191
+
192
+ 1.2.9. z/OS
193
+
194
+ To build XZ Utils on z/OS UNIX System Services using xlc, pass
195
+ these options to the configure script: CC='xlc -qhaltonmsg=CCN3296'
196
+ CPPFLAS='-D_UNIX03_THREADS -D_XOPEN_SOURCE=600'. The first makes
197
+ xlc throw an error if a header file is missing, which is required
198
+ to make the tests in configure work. The CPPFLAGS are needed to
199
+ get pthread support (some other CPPFLAGS may work too; if there
200
+ are problems, try -D_UNIX95_THREADS instead of -D_UNIX03_THREADS).
174
201
175
- GNU Autotools based build hasn't been tried on DOS. If you try, I
176
- would like to hear if it worked.
202
+ test_scripts.sh in "make check" will fail even if the scripts
203
+ actually work because the test data includes compressed files
204
+ with US-ASCII text.
205
+
206
+ No other tests should fail. If test_files.sh fails, check that
207
+ the included .xz test files weren't affected by EBCDIC conversion.
208
+
209
+ XZ Utils doesn't have code to detect the amount of physical RAM and
210
+ number of CPU cores on z/OS.
177
211
178
212
179
213
1.3. Adding support for new platforms
@@ -400,12 +434,6 @@ XZ Utils Installation
400
434
one thread, something bad may happen.
401
435
402
436
--enable-sandbox=METHOD
403
- This feature is EXPERIMENTAL in the XZ Utils 5.2.x and
404
- disabled by default. If you test this, look especially
405
- if message translations and locale-specific decimal and
406
- thousand separators (e.g. xz --list foo.xz) work the
407
- same way as they do without sandboxing.
408
-
409
437
There is limited sandboxing support in the xz tool. If
410
438
built with sandbox support, it's used automatically when
411
439
(de)compressing exactly one file to standard output and
@@ -443,6 +471,23 @@ XZ Utils Installation
443
471
and should work on most systems. This has no effect on the
444
472
resulting binaries.
445
473
474
+ --enable-path-for-scripts=PREFIX
475
+ If PREFIX isn't empty, PATH=PREFIX:$PATH will be set in
476
+ the beginning of the scripts (xzgrep and others).
477
+ The default is empty except on Solaris the default is
478
+ /usr/xpg4/bin.
479
+
480
+ This can be useful if the default PATH doesn't contain
481
+ modern POSIX tools (as can be the case on Solaris) or if
482
+ one wants to ensure that the correct xz binary is in the
483
+ PATH for the scripts. Note that the latter use can break
484
+ "make check" if the prefixed PATH causes a wrong xz binary
485
+ (other than the one that was just built) to be used.
486
+
487
+ Older xz releases support a different method for setting
488
+ the PATH for the scripts. It is described in section 3.2
489
+ and is supported in this xz version too.
490
+
446
491
447
492
2.1. Static vs. dynamic linking of liblzma
448
493
@@ -515,11 +560,17 @@ XZ Utils Installation
515
560
516
561
3.2. PATH
517
562
563
+ The method described below is supported by older xz releases.
564
+ It is supported by the current version too, but the newer
565
+ --enable-path-for-scripts=PREFIX described in section 2 may be
566
+ more convenient.
567
+
518
568
The scripts assume that the required tools (standard POSIX utilities,
519
- mktemp, and xz) are in PATH; the scripts don't set the PATH themselves.
520
- Some people like this while some think this is a bug. Those in the
521
- latter group can easily patch the scripts before running the configure
522
- script by taking advantage of a placeholder line in the scripts.
569
+ mktemp, and xz) are in PATH; the scripts don't set the PATH themselves
570
+ (except as described for --enable-path-for-scripts=PREFIX). Some
571
+ people like this while some think this is a bug. Those in the latter
572
+ group can easily patch the scripts before running the configure script
573
+ by taking advantage of a placeholder line in the scripts.
523
574
524
575
For example, to make the scripts prefix /usr/bin:/bin to PATH:
525
576
@@ -593,8 +644,9 @@ XZ Utils Installation
593
644
some tools are missing from the current PATH or the tools lack
594
645
support for some POSIX features. This can happen at least on
595
646
Solaris where the tools in /bin may be ancient but good enough
596
- tools are available in /usr/xpg4/bin or /usr/xpg6/bin. One fix
597
- for this problem is described in section 3.2 of this file.
647
+ tools are available in /usr/xpg4/bin or /usr/xpg6/bin. For possible
648
+ fixes, see --enable-path-for-scripts=PREFIX in section 2 and the
649
+ older alternative method described in section 3.2 of this file.
598
650
599
651
If tests other than test_scripts.sh fail, a likely reason is that
600
652
libtool links the test programs against an installed version of
0 commit comments