summaryrefslogtreecommitdiffstats
path: root/Utilities/cmlibarchive
Commit message (Collapse)AuthorAgeFilesLines
* Build: Use imported target `ZLIB::ZLIB` instead of variablesAlex Turbov2022-09-221-0/+2
|
* Utilities: Activate POSIX APIs even without compiler extensionsBrad King2022-06-041-0/+10
| | | | | | | | | | | Compile some third-party libraries with preprocessor definitions that activate POSIX APIs even when compiler extensions are not enabled. We already do this in libuv, inherited from the upstream buildsystem. This extends commit f034b0f663 (CMake compilation: do not use compiler extensions, 2020-03-14, v3.18.0-rc1~494^2). Issue: #20454
* libarchive: Remove a system preprocessor macro that conflicts with a local varBrad King2022-06-041-0/+3
| | | | | | On SunOS i386, the system headers sometimes define macro names corresponding to register names, short and with no prefix. Undefine one that conflicts with our code.
* Merge topic 'update-libarchive'Brad King2022-02-1873-1514/+3598
|\ | | | | | | | | | | | | | | | | | | | | | | | | be9ebc104a libarchive: Simplify code selecting CMake-specific build options 4a7a5718c6 libarchive: Update build within CMake after changes in 3.6.0 85cdeefc37 libarchive: include archive_platform.h first in blake2s sources b3644e460f Merge branch 'upstream-LibArchive' into update-libarchive 5d50940288 LibArchive 2022-02-09 (9147def1) 406503f620 libarchive: Update script to get 3.6.0 Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !6988
| * libarchive: Simplify code selecting CMake-specific build optionsBrad King2022-02-171-15/+0
| | | | | | | | | | Reduce differences from upstream libarchive `CMakeLists.txt` code. Remove modifications inside code we disable anyway.
| * libarchive: Update build within CMake after changes in 3.6.0Brad King2022-02-162-1/+2
| |
| * libarchive: include archive_platform.h first in blake2s sourcesBrad King2022-02-162-2/+4
| | | | | | | | | | | | Move the inclusion added in 3.6.0 to be first. This is the libarchive convention in all other `.c` sources. It ensures that the configured `_WIN32_WINNT` value is defined before including any system headers.
| * Merge branch 'upstream-LibArchive' into update-libarchiveBrad King2022-02-1573-1500/+3596
| | | | | | | | | | * upstream-LibArchive: LibArchive 2022-02-09 (9147def1)
* | libarchive: Fix OpenSSL crypto library checks for build inside CMakeBrad King2022-02-171-0/+2
|/ | | | | | | | | | | | | | | | | | | | libarchive's crypto library checks use its `config.h` inside the `try_compile` project. Since commit ade3b16e63 (libarchive: Use KWIML to get fixed-size integer types, 2020-06-01, v3.18.0-rc1~33^2), that header depends on KWIML inside CMake. Add the include directory for KWIML to the crypto library checks. Otherwise, they always fail due to not finding the KWIML headers, and libarchive decides not to link the crypto library. libarchive has other code besides the hash algorithms that depends on the crypto library if its ENABLE_OPENSSL option is enabled (which in CMake is controlled by CMAKE_USE_OPENSSL). It seems to be missing some conditions to link the crypto library in those cases, and instead relies on at least one of the above-mentioned checks to pass. If they all fail, and we are using system curl, we might not link the crypto library. Fixes: #23234
* Utilities: Suppress warnings in third-party code with IBMClangAaron Liu2022-01-271-1/+1
|
* LCC: Add dedicated support for MCST LCC compilermakise-homura2021-10-151-7/+7
| | | | | | | | | | | | | | | | | | | | | Divert LCC compiler as a new one, instead of treating it as GNU. Since old times, Elbrus C/C++/Fortran Compiler (LCC) by MCST has been passing checks for GNU compilers, so it has been identified as GNU. Now, with intent of seriously upstreaming its support, it has been added as a separate LCC compiler, and its version displays not a supported GCC version, but LCC version itself (e.g. LCC 1.25.19 instead of GNU 7.3.0). This commit adds its support for detection, and also converts basically every check like 'is this compiler GNU?' to 'is this compiler GNU or LCC?'. The only places where this check is untouched, is where it regards other platforms where LCC is unavailable (primarily non-Linux), and where it REALLY differs from GNU compiler. Note: this transition may break software that are already ported to Elbrus, but hardly relies that LCC will be detected as GNU; still such software is not known.
* libarchive: Limit xz compression level to 6 on AIXBrad King2021-08-241-0/+4
| | | | | | | | | | | | Since libarchive commit `aff9809c` (Enable compression level up to 9 for xz, xar, 7zip, 2020-07-26, v3.5.0~19^2), libarchive fails to initialize xz compression on AIX with error Internal error initializing compression library: Cannot allocate memory Revert to the old limit of level 6 on AIX. Issue: #22553
* Merge branch 'upstream-LibArchive' into update-libarchiveBrad King2021-08-2466-627/+1238
| | | | | * upstream-LibArchive: LibArchive 2020-12-26 (227a4b97)
* libarchive: Add missing cm3p prefixes on includesBrad King2021-08-202-3/+3
| | | | Issue: #20666
* Utilities: Suppress warnings in third-party code with NVHPCBrad King2021-04-201-1/+1
|
* Merge topic 'libarchive-u_char'Brad King2021-04-061-4/+4
|\ | | | | | | | | | | | | a9fc751e65 libarchive: Use uint8_t instead of u_char Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5981
| * libarchive: Use uint8_t instead of u_charBrad King2021-04-051-4/+4
| | | | | | | | | | | | The latter is not a standard type. Fixes: #22013
* | Utilities: Suppress warnings in third-party code when using IntelLLVMBrad King2021-01-281-1/+1
| |
* | libarchive: Fix lzma_stream_encoder_mt detectionRodolfo Lima2021-01-261-1/+7
|/ | | | | The test for lzma_stream_encoder_mt was always failing because the lzma libraries weren't being used by linker.
* libarchive: Map fixed-size integer types from KWIML as typedefsBrad King2020-06-031-10/+10
| | | | | | | | | Refactoring in commit ade3b16e63 (libarchive: Use KWIML to get fixed-size integer types, 2020-06-01) accidentally changed the method of defining `int#_t` types from `typedef` to `#define`. Change it back to `typedef`. Reported-by: Rolf Eike Beer <eike@sf-mail.de>
* libarchive: Use KWIML to get fixed-size integer typesBrad King2020-06-022-216/+41
|
* libarchive: Avoid configure-time checks for integer range constantsBrad King2020-06-013-89/+15
|
* libarchive: Drop unused code providing uintmax_t and intmax_tBrad King2020-06-012-13/+0
| | | | The libarchive library code we use within CMake does not need these.
* Refactoring: Third-parties public headers are under cm3p prefixMarc Chevrier2020-05-0723-36/+36
| | | | Fixes: #20666
* libarchive: Update to build within CMakeBrad King2020-02-133-22/+9
| | | | | Hard-code more libarchive options as internal cache entries. Doing so makes some of our `IF(0)` conditions unnecessary, so remove those.
* Merge branch 'upstream-LibArchive' into update-libarchiveBrad King2020-02-13151-1319/+11634
| | | | | | | | | | * upstream-LibArchive: LibArchive 2020-02-11 (3288ebb0) Also manually restore content from upstream libarchive's main `CMakeLists.txt` file that was removed by previous commits and exclude it with `IF(0)` blocks. Do this as an evil merge so that `git blame -C` can follow the content to upstream.
* Merge topic 'libarchive-win-codepage'Brad King2020-02-071-2/+5
|\ | | | | | | | | | | | | | | 16e31523ba libarchive: Add support for UTF-8 locale on Windows f7c54d2049 libarchive: Fix WideCharToMultiByte output buffer size Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4332
| * libarchive: Add support for UTF-8 locale on WindowsBrad King2020-02-061-1/+3
| | | | | | | | | | | | | | Backport libarchive upstream commit `c46e7993` (windows: Support UTF-8 locale, 2018-07-23, v3.4.0~105^2). Fixes: #20320
| * libarchive: Fix WideCharToMultiByte output buffer sizeBrad King2020-02-061-1/+2
| | | | | | | | | | | | Fix `archive_string_append_from_wcs_in_codepage` to account for the already-used portion of the buffer when computing the size of the remaining buffer for ``WideCharToMultiByte` output.
* | libarchive: Fix detection of 'major' on Solaris 11.4Brad King2020-01-301-1/+5
| | | | | | | | | | | | In `archive_pack_dev.c` there is code checking the `HAVE_MAJOR` macro, but it is not computed. Port the equivalent logic from `archive_entry.c`.
* | cmake: avoid marking local or unused variables as advancedBen Boeckel2020-01-201-1/+0
|/
* Merge topic 'libarchive-solaris-11.4'Brad King2019-05-221-5/+5
|\ | | | | | | | | | | | | 6c81c6538b libarchive: avoid b64_encode name conflict with Solaris built-in function Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3351
| * libarchive: avoid b64_encode name conflict with Solaris built-in functionBrad King2019-05-211-5/+5
| | | | | | | | | | | | | | Solaris 11.4 has a built-in function named `b64_encode`. Add a `la_` prefix to our internal function to avoid conflict. Fixes: #19268
* | CMake: Enable use of zstd in libarchiveBrad King2019-03-134-7/+5
| | | | | | | | | | | | | | Build zstd as part of CMake or find one on the system. Modify our port of libarchive to use the zstd configured for use with CMake. Issue: #18657
* | Utilities: Suppress warnings in third-party code when using XLClangBrad King2019-02-251-1/+1
| |
* | Remove now-unused code once used for MIPSpro on IRIXBrad King2019-02-211-1/+1
|/ | | | | | In commit beb991110d (Remove now-unused code once used on IRIX, 2019-01-11, v3.14.0-rc1~167^2) we removed remnants of IRIX support. Also remove remnants of MIPSpro compiler support.
* Merge branch 'upstream-LibArchive' into update-libarchiveBrad King2018-09-2652-203/+1002
| | | | | * upstream-LibArchive: LibArchive 2018-09-03 (5fe69dd0)
* libarchive: Backport fix for build with LibreSSL 2.7Brad King2018-09-261-1/+2
| | | | | | | | Backport libarchive commit v3.3.3~16^2 (fix build with LibreSSL 2.7, 2018-04-01). LibreSSL 2.7 adds OpenSSL 1.1 API leading to conflicts on method names. Fixes: #18404
* libarchive: Do not use nanosecond file time APIs on macOS < 10.13Brad King2017-09-201-0/+11
| | | | | | | | | The SDK for macOS 10.13 adds `futimens` and `utimensat` so our checks for these symbols may pass. However, the symbols are not available at runtime on older macOS versions. Instead on macOS we can check for availability based on the deployment target version. Issue: #17101
* libarchive: Fix inclusion of zlib, bzlib, and lzma for build within CMakeBrad King2017-07-201-3/+3
| | | | | Update a new source file imported from libarchive upstream to include the headers for compression libraries using the CMake wrappers.
* Merge branch 'upstream-LibArchive' into update-libarchiveBrad King2017-07-2064-2760/+4371
| | | | | * upstream-LibArchive: LibArchive 2017-07-09 (98a69539)
* Merge topic 'libarchive-backport-rc4-crypto-rec'Brad King2017-03-221-1/+1
|\ | | | | | | | | | | | | 18009aaf libarchive: backport rc4 crypto requirement update Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !598
| * libarchive: backport rc4 crypto requirement updateBrad King2017-03-211-1/+1
| | | | | | | | | | | | Backport upstream libarchive commit 70f497f456 (As per Cryptographic Requirements, 2017-03-19). Discard more bytes of the RC4 keystream to reduce the possibility of non-random bytes.
* | libarchive: Remove liblzma from introspection testsBrad King2017-02-271-2/+0
| | | | | | | | | | | | This was added upstream but does not make sense in CMake because we may replace the library with a logical target name that will not work inside a `try_compile`.
* | Merge branch 'upstream-LibArchive' into update-libarchiveBrad King2017-02-2714-124/+228
| | | | | | | | | | * upstream-LibArchive: LibArchive 2017-02-25 (d6b1bb9f)
* | libarchive: Avoid using isblankBrad King2017-02-231-5/+9
| | | | | | | | It is not available on VS 2012 and below. Use our own impl instead.
* | libarchive: Avoid declaration after statement in C codeBrad King2017-02-231-2/+4
| |
* | libarchive: Fix use of ssize_t in archive_entry.hBrad King2017-02-231-2/+23
| | | | | | | | | | This type is not available on Windows compilers so for clients including this header we need to use `la_ssize_t` instead as we do in `archive.h`.
* | libarchive: Define __LA_DEPRECATED consistentlyBrad King2017-02-231-5/+2
| | | | | | | | | | | | Upstream libarchive now defines this macro in two places with the same logic in both. However, CMake's bundled copy disables this macro, so we need to update the new location of its definition to be consistent.
* | Merge branch 'upstream-LibArchive' into update-libarchiveBrad King2017-02-2086-1969/+4682
|/ | | | | * upstream-LibArchive: LibArchive 2017-02-19 (100ee75a)