summaryrefslogtreecommitdiffstats
path: root/Utilities/cmliblzma/liblzma
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'upstream-liblzma' into update-liblzmaBrad King2018-08-0692-1033/+3442
| | | | | * upstream-liblzma: liblzma 2018-04-29 (b5be61cc)
* liblzma: Revert "Port from C99 to C89/90"Brad King2018-08-0661-1075/+700
| | | | | | Revert commit v3.1.0-rc1~255^2~5 (liblzma: Port from C99 to C89/90, 2014-07-13). We now compile as C99 or above except on MSVC where we will use another approach.
* liblzma: Revert "Avoid defining a 'restrict' macro"Brad King2018-08-0630-99/+99
| | | | | | Revert commit v3.1.0-rc1~255^2~2 (liblzma: Avoid defining a 'restrict' macro, 2014-07-24). We will use another approach to deal with the 'restrict' keyword.
* Merge branch 'upstream-liblzma' into update-liblzmaBrad King2016-06-295-7/+11
| | | | | * upstream-liblzma: liblzma 2014-12-21 (265e5ffb)
* liblzma: Avoid possible overflow on signed left shiftBrad King2016-05-251-1/+1
| | | | Use an unsigned value to produce the needed mask.
* liblzma: Disable XL compiler optimizations altogetherBrad King2015-04-081-3/+0
| | | | | | | | Revert commit 82c51a8a (liblzma: Disable XL compiler optimizations in one source to avoid crash, 2015-04-02) and instead add a compiler flag to disable optimizations in every source of liblzma. Somehow the XL compiler optimizations create incorrect behavior in liblzma and lead to crashes or truncated output during compression.
* liblzma: Disable XL compiler optimizations in one source to avoid crashBrad King2015-04-021-0/+3
| | | | | | Somehow optimizations of lzma_lzma_optimum_normal by the IBM XL C compiler cause it to crash. Simply disable optimizations of this source file with a pragma.
* liblzma: Fix compilation with PGI compilerChuck Atkins2014-08-041-4/+0
| | | | | | | | | | | | | | | | | | | | | | - sha265.c is using some C99 specific features, in particular static array dimensions in a function parameter array (see section 6.7.5-7 of the C99 spec). A #ifndef check was in place to prevent compilation under MSVC but it actually needed to check for C99 compliance instead. Even still, the C99 code fails on a few compilers (PGI being one) so for compatibility reasons, the C99 version of the function declaration is removed entirely, leaving only the C89 version. - CHECK_SYMBOL_EXISTS is used to determine the presense of bswap functions from byteswap.h. Most compilers re-dedefine the bswap_N functions as a __bswap_N function implemented by the compiler. Since bswap_N is usually defined as a macro then it's mere presence passes the check. Some versions of the PGI compiler though have shipped broken headers for byteswap.h, in particular 11.3 for x64 linux provides byteswap.h but is missing an associated bits/byteswap.h which causes some of the bswap_N macros to be defined but broken and unusable. The bswap_N checks have been converted to CHECK_SOURCE_COMPILES to ensure that the bswap_N calls are actually usable and not just merely defined.
* liblzma: Avoid defining a 'restrict' macroBrad King2014-07-2930-99/+99
| | | | | | | | | | Any "#define restrict ..." line may conflict with MSVC header files that use "__declspec(restrict)". Define our own LZMA_RESTRICT macro in "Utilities/cmliblzma/config.h.in" and transform liblzma code to use it: git grep -lE '\<restrict\>' Utilities/cmliblzma/liblzma | xargs sed -i 's/\<restrict\>/LZMA_RESTRICT/g'
* liblzma: Port from C99 to C89/90Daniel Pfeifer2014-07-2961-700/+1080
| | | | | Remove use of designated initializers and declarations of variables after statements. Leave "//" comments as-is for now.
* liblzma: Add CMake build systemDaniel Pfeifer2014-07-233-4/+3
| | | | | Modify sources just enough to build without the full xz common directory.
* liblzma: Remove unused Makefile.* filesBrad King2014-07-239-387/+0
| | | | We will provide our own CMake-based build system.
* Merge branch 'liblzma-upstream' into add-liblzmaBrad King2014-07-21144-0/+25434