summaryrefslogtreecommitdiff
path: root/INSTALL
diff options
context:
space:
mode:
authorLasse Collin <lasse.collin@tukaani.org>2013-09-17 11:52:28 +0300
committerLasse Collin <lasse.collin@tukaani.org>2013-09-17 11:52:28 +0300
commit6b44b4a775fe29ecc7bcb7996e086e3bc09e5fd0 (patch)
tree09c42c60abcdf0acde7d83c89d695d3572e17ab7 /INSTALL
parentae0ab74a88d5b9b15845f1d9a24ade4349a54f9f (diff)
downloadxz-6b44b4a775fe29ecc7bcb7996e086e3bc09e5fd0.tar.gz
Add native threading support on Windows.
Now liblzma only uses "mythread" functions and types which are defined in mythread.h matching the desired threading method. Before Windows Vista, there is no direct equivalent to pthread condition variables. Since this package doesn't use pthread_cond_broadcast(), pre-Vista threading can still be kept quite simple. The pre-Vista code doesn't use anything that wasn't already available in Windows 95, so the binaries should run even on Windows 95 if someone happens to care.
Diffstat (limited to 'INSTALL')
-rw-r--r--INSTALL41
1 files changed, 31 insertions, 10 deletions
diff --git a/INSTALL b/INSTALL
index c42a968..34d5426 100644
--- a/INSTALL
+++ b/INSTALL
@@ -307,16 +307,37 @@ XZ Utils Installation
the amount of RAM on the operating system you use. See
src/common/tuklib_physmem.c for details.
- --disable-threads
- Disable threading support. This makes some things
- thread-unsafe, meaning that if multithreaded application
- calls liblzma functions from more than one thread,
- something bad may happen.
-
- Use this option if threading support causes you trouble,
- or if you know that you will use liblzma only from
- single-threaded applications and want to avoid dependency
- on libpthread.
+ --enable-threads=METHOD
+ Threading support is enabled by default so normally there
+ is no need to specify this option.
+
+ Supported values for METHOD:
+
+ yes Autodetect the threading method. If none
+ is found, configure will give an error.
+
+ posix Use POSIX pthreads. This is the default
+ except on Windows outside Cygwin.
+
+ win95 Use Windows 95 compatible threads. This
+ is compatible with Windows XP and later
+ too. This is the default for 32-bit x86
+ Windows builds. The `win95' threading is
+ incompatible with --enable-small.
+
+ vista Use Windows Vista compatible threads. The
+ resulting binaries won't run on Windows XP
+ or older. This is the default for Windows
+ excluding 32-bit x86 builds (that is, on
+ x86-64 the default is `vista').
+
+ no Disable threading support. This is the
+ same as using --disable-threads.
+ NOTE: If combined with --enable-small, the
+ resulting liblzma won't be thread safe,
+ that is, if a multi-threaded application
+ calls any liblzma functions from more than
+ one thread, something bad may happen.
--enable-symbol-versions
Use symbol versioning for liblzma. This is enabled by