diff options
author | Lasse Collin <lasse.collin@tukaani.org> | 2014-12-20 20:41:48 +0200 |
---|---|---|
committer | Lasse Collin <lasse.collin@tukaani.org> | 2014-12-20 20:41:48 +0200 |
commit | 0152f72bf6289d744823dc6c849538f3a139ad70 (patch) | |
tree | 0844b51d64117295492b569b5a64fc90e84aec85 /windows/build.bash | |
parent | Windows: Define TUKLIB_SYMBOL_PREFIX in config.h. (diff) | |
download | xz-0152f72bf6289d744823dc6c849538f3a139ad70.tar.xz |
Windows: Update the build script and README-Windows.txt.
The 32-bit build is now for i686 or newer because the
prebuilt MinGW-w64 toolchains include i686 code in the
executables even if one uses -march=i486.
The build script builds 32-bit SSE2 enabled version too.
Run-time detection of SSE2 support would be nice (on any OS)
but it's not implemented in XZ Utils yet.
Diffstat (limited to 'windows/build.bash')
-rw-r--r-- | windows/build.bash | 23 |
1 files changed, 14 insertions, 9 deletions
diff --git a/windows/build.bash b/windows/build.bash index 85e1f4fc..3d8fb559 100644 --- a/windows/build.bash +++ b/windows/build.bash @@ -75,6 +75,8 @@ buildit() # threading. So I don't include a size-optimized liblzma for now. ./configure \ --prefix= \ + --enable-silent-rules \ + --disable-dependency-tracking \ --disable-nls \ --disable-scripts \ --disable-threads \ @@ -89,9 +91,12 @@ buildit() make distclean - # Build the normal speed-optimized binaries. + # Build the normal speed-optimized binaries. The type of threading + # (win95 vs. vista) will be autodetect from the target architecture. ./configure \ --prefix= \ + --enable-silent-rules \ + --disable-dependency-tracking \ --disable-nls \ --disable-scripts \ --build="$BUILD" \ @@ -125,19 +130,19 @@ txtcp() done } -# FIXME: Make sure that we don't get i686 or i586 code from the runtime. -# Or if we do, update the strings here to match the generated code. -# i686 has cmov which can help like maybe 1 % in performance but things -# like SSE don't help, so i486 isn't horrible for performance. -# -# FIXME: Using i486 in the configure triplet may be wrong. if [ -d "$MINGW_W32_DIR" ]; then # 32-bit x86, Win95 or later, using MinGW-w32 PATH=$MINGW_W32_DIR/bin:$MINGW_W32_DIR/i686-w64-mingw32/bin:$PATH \ buildit \ pkg/bin_i486 \ - i486-w64-mingw32 \ - '-march=i486 -mtune=generic' + i686-w64-mingw32 \ + '-march=i686 -mtune=generic' + # 32-bit x86 with SSE2, Win98 or later, using MinGW-w32 + PATH=$MINGW_W32_DIR/bin:$MINGW_W32_DIR/i686-w64-mingw32/bin:$PATH \ + buildit \ + pkg/bin_i686-sse2 \ + i686-w64-mingw32 \ + '-march=i686 -msse2 -mfpmath=sse -mtune=generic' elif [ -d "$MINGW_DIR" ]; then # 32-bit x86, Win95 or later, using MinGW PATH=$MINGW_DIR/bin:$PATH \ |