head	1.1;
branch	1.1.1;
access;
symbols
	netbsd-11-0-RC4:1.1.1.1.2.2
	netbsd-11:1.1.1.1.0.2
	xz-5-8-3:1.1.1.1
	XZ:1.1.1;
locks; strict;
comment	@# @;


1.1
date	2026.04.08.20.28.17;	author christos;	state Exp;
branches
	1.1.1.1;
next	;
commitid	E7kpWUUfSey5ccBG;

1.1.1.1
date	2026.04.08.20.28.17;	author christos;	state Exp;
branches
	1.1.1.1.2.1;
next	;
commitid	E7kpWUUfSey5ccBG;

1.1.1.1.2.1
date	2026.04.08.20.28.17;	author martin;	state dead;
branches;
next	1.1.1.1.2.2;
commitid	UDYUnD7C1YWLlUEG;

1.1.1.1.2.2
date	2026.05.07.17.41.23;	author martin;	state Exp;
branches;
next	;
commitid	UDYUnD7C1YWLlUEG;


desc
@@


1.1
log
@Initial revision
@
text
@# SPDX-License-Identifier: 0BSD

#############################################################################
#
# tuklib_cpucores.cmake - see tuklib_cpucores.m4 for description and comments
#
# Author: Lasse Collin
#
#############################################################################

include("${CMAKE_CURRENT_LIST_DIR}/tuklib_common.cmake")
include(CMakePushCheckState)
include(CheckCSourceCompiles)
include(CheckIncludeFile)

function(tuklib_cpucores_internal_check)
    if(WIN32 OR CYGWIN)
        # Nothing to do, the tuklib_cpucores.c handles it.
        set(TUKLIB_CPUCORES_DEFINITIONS "" CACHE INTERNAL "")
        return()
    endif()

    # glibc-based systems (GNU/Linux and GNU/kFreeBSD) have
    # sched_getaffinity(). The CPU_COUNT() macro was added in glibc 2.9.
    # glibc 2.9 is old enough that if someone uses the code on older glibc,
    # the fallback to sysconf() should be good enough.
    #
    # NOTE: This required that _GNU_SOURCE is defined. We assume that whatever
    #       feature test macros the caller wants to use are already set in
    #       CMAKE_REQUIRED_DEFINES and in the target defines.
    check_c_source_compiles("
            #include <sched.h>
            int main(void)
            {
                cpu_set_t cpu_mask;
                sched_getaffinity(0, sizeof(cpu_mask), &cpu_mask);
                return CPU_COUNT(&cpu_mask);
            }
        "
        TUKLIB_CPUCORES_SCHED_GETAFFINITY)
    if(TUKLIB_CPUCORES_SCHED_GETAFFINITY)
        set(TUKLIB_CPUCORES_DEFINITIONS
            "TUKLIB_CPUCORES_SCHED_GETAFFINITY"
            CACHE INTERNAL "")
        return()
    endif()

    # FreeBSD has both cpuset and sysctl. Look for cpuset first because
    # it's a better approach.
    #
    # This test would match on GNU/kFreeBSD too but it would require
    # -lfreebsd-glue when linking and thus in the current form this would
    # fail on GNU/kFreeBSD. The above test for sched_getaffinity() matches
    # on GNU/kFreeBSD so the test below should never run on that OS.
    check_c_source_compiles("
            #include <sys/param.h>
            #include <sys/cpuset.h>
            int main(void)
            {
                cpuset_t set;
                cpuset_getaffinity(CPU_LEVEL_WHICH, CPU_WHICH_PID, -1,
                                   sizeof(set), &set);
                return 0;
            }
        "
        TUKLIB_CPUCORES_CPUSET)
    if(TUKLIB_CPUCORES_CPUSET)
        set(TUKLIB_CPUCORES_DEFINITIONS "TUKLIB_CPUCORES_CPUSET"
            CACHE INTERNAL "")
        return()
    endif()

    # On OS/2, both sysconf() and sysctl() pass the tests in this file,
    # but only sysctl() works. On QNX it's the opposite: only sysconf() works
    # (although it assumes that _POSIX_SOURCE, _XOPEN_SOURCE, and
    # _POSIX_C_SOURCE are undefined or alternatively _QNX_SOURCE is defined).
    #
    # We test sysctl() first and intentionally break the sysctl() test on QNX
    # so that sysctl() is never used on QNX.
    cmake_push_check_state()
    check_include_file(sys/param.h HAVE_SYS_PARAM_H)
    if(HAVE_SYS_PARAM_H)
        list(APPEND CMAKE_REQUIRED_DEFINITIONS -DHAVE_SYS_PARAM_H)
    endif()
    check_c_source_compiles("
            #ifdef __QNX__
            compile error
            #endif
            #ifdef HAVE_SYS_PARAM_H
            #   include <sys/param.h>
            #endif
            #include <sys/sysctl.h>
            int main(void)
            {
            #ifdef HW_NCPUONLINE
                /* This is preferred on OpenBSD, see tuklib_cpucores.c. */
                int name[2] = { CTL_HW, HW_NCPUONLINE };
            #else
                int name[2] = { CTL_HW, HW_NCPU };
            #endif
                int cpus;
                size_t cpus_size = sizeof(cpus);
                sysctl(name, 2, &cpus, &cpus_size, NULL, 0);
                return 0;
            }
        "
        TUKLIB_CPUCORES_SYSCTL)
    cmake_pop_check_state()
    if(TUKLIB_CPUCORES_SYSCTL)
        if(HAVE_SYS_PARAM_H)
            set(TUKLIB_CPUCORES_DEFINITIONS
                "HAVE_SYS_PARAM_H;TUKLIB_CPUCORES_SYSCTL"
                CACHE INTERNAL "")
        else()
            set(TUKLIB_CPUCORES_DEFINITIONS
                "TUKLIB_CPUCORES_SYSCTL"
                CACHE INTERNAL "")
        endif()
        return()
    endif()

    # Many platforms support sysconf().
    check_c_source_compiles("
            #include <unistd.h>
            int main(void)
            {
                long i;
            #ifdef _SC_NPROCESSORS_ONLN
                /* Many systems using sysconf() */
                i = sysconf(_SC_NPROCESSORS_ONLN);
            #else
                /* IRIX */
                i = sysconf(_SC_NPROC_ONLN);
            #endif
                return 0;
            }
        "
        TUKLIB_CPUCORES_SYSCONF)
    if(TUKLIB_CPUCORES_SYSCONF)
        set(TUKLIB_CPUCORES_DEFINITIONS "TUKLIB_CPUCORES_SYSCONF"
            CACHE INTERNAL "")
        return()
    endif()

    # HP-UX
    check_c_source_compiles("
            #include <sys/param.h>
            #include <sys/pstat.h>
            int main(void)
            {
                struct pst_dynamic pst;
                pstat_getdynamic(&pst, sizeof(pst), 1, 0);
                (void)pst.psd_proc_cnt;
                return 0;
            }
        "
        TUKLIB_CPUCORES_PSTAT_GETDYNAMIC)
    if(TUKLIB_CPUCORES_PSTAT_GETDYNAMIC)
        set(TUKLIB_CPUCORES_DEFINITIONS "TUKLIB_CPUCORES_PSTAT_GETDYNAMIC"
            CACHE INTERNAL "")
        return()
    endif()
endfunction()

function(tuklib_cpucores TARGET_OR_ALL)
    if(NOT DEFINED TUKLIB_CPUCORES_FOUND)
        message(STATUS
                "Checking how to detect the number of available CPU cores")
        tuklib_cpucores_internal_check()

        if(DEFINED TUKLIB_CPUCORES_DEFINITIONS)
            set(TUKLIB_CPUCORES_FOUND 1 CACHE INTERNAL "")
        else()
            set(TUKLIB_CPUCORES_FOUND 0 CACHE INTERNAL "")
            message(WARNING
                    "No method to detect the number of CPU cores was found")
        endif()
    endif()

    if(TUKLIB_CPUCORES_FOUND)
        tuklib_add_definitions("${TARGET_OR_ALL}"
                               "${TUKLIB_CPUCORES_DEFINITIONS}")
    endif()
endfunction()
@


1.1.1.1
log
@Import xz-5.8.3 (previous was 5.2.4)

5.8.3 (2026-03-31)

    * liblzma:

        - Fix a buffer overflow in lzma_index_append(): If
          lzma_index_decoder() was used to decode an Index that
          contained no Records, the resulting lzma_index was left in
          a state where where a subsequent lzma_index_append() would
          allocate too little memory, and a buffer overflow would occur.

          The lzma_index functions are rarely used by applications
          directly. In the few applications that do use these functions,
          the combination of function calls required to trigger this bug
          are unlikely to exist, because there typically is no reason to
          append Records to a decoded lzma_index. Thus, it's likely that
          this bug cannot be triggered in any real-world application.

          The bug was reported and discovered by Cantina using their
          AppSec agent, Apex.

        - Fix the build on Windows ARM64EC.

        - Add "License: 0BSD" to liblzma.pc.

    * xz:

        - Fix invalid memory access in --files and --files0. All of
          the following must be true to trigger it:

            1. A string being read (which supposedly is a filename) is
               at least SIZE_MAX / 2 bytes long. This size is plausible
               on 32-bit platforms (2 GiB - 1 B).

            2. realloc(ptr, SIZE_MAX / 2 + 1) must succeed.
               On glibc >= 2.30 it shouldn't because the value
               exceeds PTRDIFF_MAX.

            3. An integer overflow results in a realloc(ptr, 0) call.
               If it doesn't return NULL, then invalid memory access
               will occur.

        - On QNX, don't use fsync() on directories because it fails.

    * Autotools: Enable 32-bit x86 assembler on Hurd by default.
      It was already enabled in the CMake-based build.

    * Translations: Add Arabic man page translations.

For the changelog of previous versions please see:

    https://github.com/tukaani-project/xz/releases/tag/vM.m.p

The changes are too big to include here, since this package has not been
updated for a while.
@
text
@@


1.1.1.1.2.1
log
@file tuklib_cpucores.cmake was added on branch netbsd-11 on 2026-05-07 17:41:23 +0000
@
text
@d1 184
@


1.1.1.1.2.2
log
@Pull up the following, requested by christos in ticket #270:

	external/public-domain/xz/dist/doc/examples/11_file_info.c up to 1.1.1.1
	external/public-domain/xz/dist/po/pt_BR.gmo     up to 1.1.1.1
	external/public-domain/xz/dist/po/ca.gmo        up to 1.1.1.1
	external/public-domain/xz/dist/po/ca.po         up to 1.1.1.1
	external/public-domain/xz/dist/po/da.gmo        up to 1.1.1.1
	external/public-domain/xz/dist/po/da.po         up to 1.1.1.1
	external/public-domain/xz/dist/po/eo.gmo        up to 1.1.1.1
	external/public-domain/xz/dist/po/eo.po         up to 1.1.1.1
	external/public-domain/xz/dist/po/es.gmo        up to 1.1.1.1
	external/public-domain/xz/dist/po/es.po         up to 1.1.1.1
	external/public-domain/xz/dist/po/fi.gmo        up to 1.1.1.1
	external/public-domain/xz/dist/po/fi.po         up to 1.1.1.1
	external/public-domain/xz/dist/po/hr.gmo        up to 1.1.1.1
	external/public-domain/xz/dist/po/hr.po         up to 1.1.1.1
	external/public-domain/xz/dist/po/hu.gmo        up to 1.1.1.1
	external/public-domain/xz/dist/po/hu.po         up to 1.1.1.1
	external/public-domain/xz/dist/po/ka.gmo        up to 1.1.1.1
	external/public-domain/xz/dist/po/ka.po         up to 1.1.1.1
	external/public-domain/xz/dist/po/ko.gmo        up to 1.1.1.1
	external/public-domain/xz/dist/po/ko.po         up to 1.1.1.1
	external/public-domain/xz/dist/po/nl.gmo        up to 1.1.1.1
	external/public-domain/xz/dist/po/nl.po         up to 1.1.1.1
	external/public-domain/xz/dist/po/pt.gmo        up to 1.1.1.1
	external/public-domain/xz/dist/po/pt.po         up to 1.1.1.1
	external/public-domain/xz/dist/po/pt_BR.po      up to 1.1.1.1
	external/public-domain/xz/dist/po/ro.gmo        up to 1.1.1.1
	external/public-domain/xz/dist/po/ro.po         up to 1.1.1.1
	external/public-domain/xz/dist/po/sr.gmo        up to 1.1.1.1
	external/public-domain/xz/dist/po/sr.po         up to 1.1.1.1
	external/public-domain/xz/dist/po/sv.gmo        up to 1.1.1.1
	external/public-domain/xz/dist/po/sv.po         up to 1.1.1.1
	external/public-domain/xz/dist/po/tr.gmo        up to 1.1.1.1
	external/public-domain/xz/dist/po/tr.po         up to 1.1.1.1
	external/public-domain/xz/dist/po/uk.gmo        up to 1.1.1.1
	external/public-domain/xz/dist/po/uk.po         up to 1.1.1.1
	external/public-domain/xz/dist/po/zh_CN.gmo     up to 1.1.1.1
	external/public-domain/xz/dist/po/zh_CN.po      up to 1.1.1.1
	external/public-domain/xz/dist/po/zh_TW.gmo     up to 1.1.1.1
	external/public-domain/xz/dist/po/zh_TW.po      up to 1.1.1.1
	external/public-domain/xz/dist/src/common/my_landlock.h up to 1.1.1.1
	external/public-domain/xz/dist/src/common/tuklib_mbstr_nonprint.c up to 1.1.1.1
	external/public-domain/xz/dist/src/common/tuklib_mbstr_nonprint.h up to 1.1.1.1
	external/public-domain/xz/dist/src/common/tuklib_mbstr_wrap.c up to 1.1.1.1
	external/public-domain/xz/dist/src/common/tuklib_mbstr_wrap.h up to 1.1.1.1
	external/public-domain/xz/dist/src/common/w32_application.manifest up to 1.1.1.1
	external/public-domain/xz/dist/src/common/w32_application.manifest.comments.txt up to 1.1.1.1
	external/public-domain/xz/dist/src/liblzma/check/crc_common.h up to 1.1.1.1
	external/public-domain/xz/dist/src/liblzma/check/crc_x86_clmul.h up to 1.1.1.1
	external/public-domain/xz/dist/src/liblzma/check/crc32_arm64.h up to 1.1.1.1
	external/public-domain/xz/dist/src/liblzma/check/crc32_loongarch.h up to 1.1.1.1
	external/public-domain/xz/dist/src/liblzma/check/crc_clmul_consts_gen.c up to 1.1.1.1
	external/public-domain/xz/dist/src/liblzma/common/file_info.c up to 1.1.1.1
	external/public-domain/xz/dist/src/liblzma/common/index_decoder.h up to 1.1.1.1
	external/public-domain/xz/dist/src/liblzma/common/lzip_decoder.c up to 1.1.1.1
	external/public-domain/xz/dist/src/liblzma/common/lzip_decoder.h up to 1.1.1.1
	external/public-domain/xz/dist/src/liblzma/common/microlzma_decoder.c up to 1.1.1.1
	external/public-domain/xz/dist/src/liblzma/common/microlzma_encoder.c up to 1.1.1.1
	external/public-domain/xz/dist/src/liblzma/common/stream_decoder_mt.c up to 1.1.1.1
	external/public-domain/xz/dist/src/liblzma/common/string_conversion.c up to 1.1.1.1
	external/public-domain/xz/dist/src/liblzma/simple/arm64.c up to 1.1.1.1
	external/public-domain/xz/dist/src/liblzma/simple/riscv.c up to 1.1.1.1
	external/public-domain/xz/dist/src/liblzma/liblzma_generic.map up to 1.1.1.1
	external/public-domain/xz/dist/src/liblzma/liblzma_linux.map up to 1.1.1.1
	external/public-domain/xz/dist/src/xz/sandbox.c up to 1.1.1.1
	external/public-domain/xz/dist/src/xz/sandbox.h up to 1.1.1.1
	external/public-domain/xz/dist/tests/files/good-1-v0-trailing-1.lz up to 1.1.1.1
	external/public-domain/xz/dist/tests/files/good-2-v0-v1.lz up to 1.1.1.1
	external/public-domain/xz/dist/tests/files/bad-1-check-crc32-2.xz.base64 up to 1.1.1.1
	external/public-domain/xz/dist/tests/files/bad-1-lzma2-10.xz.base64 up to 1.1.1.1
	external/public-domain/xz/dist/tests/files/bad-1-lzma2-9.xz.base64 up to 1.1.1.1
	external/public-domain/xz/dist/tests/files/bad-1-lzma2-11.xz.base64 up to 1.1.1.1
	external/public-domain/xz/dist/tests/files/bad-1-v0-uncomp-size.lz up to 1.1.1.1
	external/public-domain/xz/dist/tests/files/bad-1-v1-crc32.lz up to 1.1.1.1
	external/public-domain/xz/dist/tests/files/bad-1-v1-dict-1.lz up to 1.1.1.1
	external/public-domain/xz/dist/tests/files/bad-1-v1-dict-2.lz up to 1.1.1.1
	external/public-domain/xz/dist/tests/files/bad-1-v1-magic-1.lz up to 1.1.1.1
	external/public-domain/xz/dist/tests/files/bad-1-v1-magic-2.lz up to 1.1.1.1
	external/public-domain/xz/dist/tests/files/bad-1-v1-member-size.lz up to 1.1.1.1
	external/public-domain/xz/dist/tests/files/bad-1-v1-trailing-magic.lz up to 1.1.1.1
	external/public-domain/xz/dist/tests/files/bad-1-v1-uncomp-size.lz up to 1.1.1.1
	external/public-domain/xz/dist/tests/files/bad-3-index-uncomp-overflow.xz.base64 up to 1.1.1.1
	external/public-domain/xz/dist/tests/files/bad-too_big_size-with_eopm.lzma up to 1.1.1.1
	external/public-domain/xz/dist/tests/files/bad-too_small_size-without_eopm-1.lzma up to 1.1.1.1
	external/public-domain/xz/dist/tests/files/bad-too_small_size-without_eopm-2.lzma up to 1.1.1.1
	external/public-domain/xz/dist/tests/files/bad-too_small_size-without_eopm-3.lzma up to 1.1.1.1
	external/public-domain/xz/dist/tests/files/bad-unknown_size-without_eopm.lzma up to 1.1.1.1
	external/public-domain/xz/dist/tests/files/good-1-arm64-lzma2-1.xz.base64 up to 1.1.1.1
	external/public-domain/xz/dist/tests/files/good-1-arm64-lzma2-2.xz.base64 up to 1.1.1.1
	external/public-domain/xz/dist/tests/files/good-1-empty-bcj-lzma2.xz.base64 up to 1.1.1.1
	external/public-domain/xz/dist/tests/files/good-1-v0.lz up to 1.1.1.1
	external/public-domain/xz/dist/tests/files/good-1-v1-trailing-1.lz up to 1.1.1.1
	external/public-domain/xz/dist/tests/files/good-1-v1-trailing-2.lz up to 1.1.1.1
	external/public-domain/xz/dist/tests/files/good-1-v1.lz up to 1.1.1.1
	external/public-domain/xz/dist/tests/files/good-2-v1-v0.lz up to 1.1.1.1
	external/public-domain/xz/dist/tests/files/good-2-v1-v1.lz up to 1.1.1.1
	external/public-domain/xz/dist/tests/files/good-known_size-with_eopm.lzma up to 1.1.1.1
	external/public-domain/xz/dist/tests/files/good-known_size-without_eopm.lzma up to 1.1.1.1
	external/public-domain/xz/dist/tests/files/good-unknown_size-with_eopm.lzma up to 1.1.1.1
	external/public-domain/xz/dist/tests/files/unsupported-1-v234.lz up to 1.1.1.1
	external/public-domain/xz/dist/tests/ossfuzz/config/fuzz_decode_alone.options up to 1.1.1.1
	external/public-domain/xz/dist/tests/ossfuzz/config/fuzz_decode_stream.options up to 1.1.1.1
	external/public-domain/xz/dist/tests/ossfuzz/config/fuzz_decode_stream_mt.options up to 1.1.1.1
	external/public-domain/xz/dist/tests/ossfuzz/config/fuzz_encode_stream.options up to 1.1.1.1
	external/public-domain/xz/dist/tests/ossfuzz/config/fuzz_lzma.dict up to 1.1.1.1
	external/public-domain/xz/dist/tests/ossfuzz/config/fuzz_xz.dict up to 1.1.1.1
	external/public-domain/xz/dist/tests/ossfuzz/fuzz_common.h up to 1.1.1.1
	external/public-domain/xz/dist/tests/ossfuzz/fuzz_decode_alone.c up to 1.1.1.1
	external/public-domain/xz/dist/tests/ossfuzz/fuzz_decode_stream.c up to 1.1.1.1
	external/public-domain/xz/dist/tests/ossfuzz/fuzz_decode_stream_mt.c up to 1.1.1.1
	external/public-domain/xz/dist/tests/ossfuzz/fuzz_encode_stream.c up to 1.1.1.1
	external/public-domain/xz/dist/tests/test_compress_generated_abc up to 1.1.1.1
	external/public-domain/xz/dist/tests/test_compress_generated_random up to 1.1.1.1
	external/public-domain/xz/dist/tests/test_compress_generated_text up to 1.1.1.1
	external/public-domain/xz/dist/tests/test_filter_str.c up to 1.1.1.1
	external/public-domain/xz/dist/tests/test_hardware.c up to 1.1.1.1
	external/public-domain/xz/dist/tests/test_index_hash.c up to 1.1.1.1
	external/public-domain/xz/dist/tests/test_lzip_decoder.c up to 1.1.1.1
	external/public-domain/xz/dist/tests/test_memlimit.c up to 1.1.1.1
	external/public-domain/xz/dist/tests/test_microlzma.c up to 1.1.1.1
	external/public-domain/xz/dist/tests/test_suffix.sh up to 1.1.1.1
	external/public-domain/xz/dist/tests/test_vli.c up to 1.1.1.1
	external/public-domain/xz/dist/tests/tests.cmake up to 1.1.1.1
	external/public-domain/xz/dist/tests/tests_w32res.rc up to 1.1.1.1
	external/public-domain/xz/dist/tests/tuktest.h  up to 1.1.1.1
	external/public-domain/xz/dist/build-aux/license-check.sh up to 1.1.1.1
	external/public-domain/xz/dist/build-aux/test-driver up to 1.1.1.1
	external/public-domain/xz/dist/cmake/remove-ordinals.cmake up to 1.1.1.1
	external/public-domain/xz/dist/cmake/tuklib_common.cmake up to 1.1.1.1
	external/public-domain/xz/dist/cmake/tuklib_cpucores.cmake up to 1.1.1.1
	external/public-domain/xz/dist/cmake/tuklib_integer.cmake up to 1.1.1.1
	external/public-domain/xz/dist/cmake/tuklib_large_file_support.cmake up to 1.1.1.1
	external/public-domain/xz/dist/cmake/tuklib_mbstr.cmake up to 1.1.1.1
	external/public-domain/xz/dist/cmake/tuklib_physmem.cmake up to 1.1.1.1
	external/public-domain/xz/dist/cmake/tuklib_progname.cmake up to 1.1.1.1
	external/public-domain/xz/dist/CMakeLists.txt   up to 1.1.1.1
	external/public-domain/xz/dist/COPYING.0BSD     up to 1.1.1.1
	external/public-domain/xz/dist/doxygen/Doxyfile up to 1.1.1.1
	external/public-domain/xz/dist/doxygen/update-doxygen up to 1.1.1.1
	external/public-domain/xz/dist/po4a/po4a.conf   up to 1.1.1.1
	external/public-domain/xz/dist/po4a/ar.po       up to 1.1.1.1
	external/public-domain/xz/dist/po4a/de.po       up to 1.1.1.1
	external/public-domain/xz/dist/po4a/fr.po       up to 1.1.1.1
	external/public-domain/xz/dist/po4a/it.po       up to 1.1.1.1
	external/public-domain/xz/dist/po4a/ko.po       up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/ar/lzmainfo.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/ar/xz.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/ar/xzdec.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/ar/xzdiff.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/ar/xzgrep.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/ar/xzless.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/ar/xzmore.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/de/lzmainfo.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/de/xz.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/de/xzdec.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/de/xzdiff.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/de/xzgrep.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/de/xzless.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/de/xzmore.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/fr/lzmainfo.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/fr/xz.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/fr/xzdec.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/fr/xzless.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/it/lzmainfo.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/it/xz.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/it/xzdec.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/it/xzdiff.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/it/xzgrep.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/it/xzless.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/it/xzmore.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/ko/lzmainfo.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/ko/xz.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/ko/xzdec.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/ko/xzdiff.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/ko/xzgrep.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/ko/xzless.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/ko/xzmore.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/pt_BR/lzmainfo.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/pt_BR/xz.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/pt_BR/xzdec.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/pt_BR/xzless.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/ro/lzmainfo.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/ro/xz.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/ro/xzdec.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/ro/xzdiff.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/ro/xzgrep.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/ro/xzless.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/ro/xzmore.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/sr/lzmainfo.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/sr/xz.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/sr/xzdec.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/sr/xzdiff.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/sr/xzgrep.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/sr/xzless.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/sr/xzmore.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/sv/lzmainfo.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/sv/xz.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/sv/xzdec.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/sv/xzdiff.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/sv/xzgrep.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/sv/xzless.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/sv/xzmore.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/uk/lzmainfo.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/uk/xz.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/uk/xzdec.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/uk/xzdiff.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/uk/xzgrep.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/uk/xzless.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/man/uk/xzmore.1 up to 1.1.1.1
	external/public-domain/xz/dist/po4a/pt_BR.po    up to 1.1.1.1
	external/public-domain/xz/dist/po4a/ro.po       up to 1.1.1.1
	external/public-domain/xz/dist/po4a/sr.po       up to 1.1.1.1
	external/public-domain/xz/dist/po4a/sv.po       up to 1.1.1.1
	external/public-domain/xz/dist/po4a/uk.po       up to 1.1.1.1
	external/public-domain/xz/dist/po4a/update-po   up to 1.1.1.1
	external/public-domain/xz/dist/po4a/xz-man.pot  up to 1.1.1.1
	external/public-domain/xz/dist/doc/examples_old/xz_pipe_comp.c delete
	external/public-domain/xz/dist/doc/examples_old/xz_pipe_decomp.c delete
	external/public-domain/xz/dist/macosx/build.sh  delete
	external/public-domain/xz/dist/src/liblzma/liblzma.map delete
	external/public-domain/xz/dist/src/liblzma/check/crc32_table.c delete
	external/public-domain/xz/dist/src/liblzma/check/crc64_table.c delete
	external/public-domain/xz/dist/src/liblzma/check/crc_macros.h delete
	external/public-domain/xz/dist/tests/files/good-1-sparc-lzma2.xz.base64 delete
	external/public-domain/xz/dist/tests/files/good-1-x86-lzma2.xz.base64 delete
	external/public-domain/xz/dist/tests/bcj_test.c delete
	external/public-domain/xz/dist/tests/compress_prepared_bcj_sparc.base64 delete
	external/public-domain/xz/dist/tests/compress_prepared_bcj_x86.base64 delete
	external/public-domain/xz/Makefile.inc          up to 1.7
	external/public-domain/xz/prepare-import.sh     up to 1.6
	external/public-domain/xz/bin/lzmainfo/Makefile up to 1.3
	external/public-domain/xz/bin/xz/Makefile       up to 1.8
	external/public-domain/xz/dist/AUTHORS          up to 1.1.1.3
	external/public-domain/xz/dist/COPYING          up to 1.1.1.3
	external/public-domain/xz/dist/ChangeLog        up to 1.1.1.5
	external/public-domain/xz/dist/INSTALL          up to 1.1.1.5
	external/public-domain/xz/dist/NEWS             up to 1.1.1.5
	external/public-domain/xz/dist/PACKAGERS        up to 1.1.1.2
	external/public-domain/xz/dist/README           up to 1.1.1.4
	external/public-domain/xz/dist/THANKS           up to 1.1.1.5
	external/public-domain/xz/dist/TODO             up to 1.1.1.3
	external/public-domain/xz/dist/config.h.in      up to 1.1.1.4
	external/public-domain/xz/dist/configure        up to 1.3
	external/public-domain/xz/dist/configure.ac     up to 1.6
	external/public-domain/xz/dist/build-aux/compile up to 1.1.1.2
	external/public-domain/xz/dist/build-aux/config.guess up to 1.3
	external/public-domain/xz/dist/build-aux/config.rpath up to 1.1.1.2
	external/public-domain/xz/dist/build-aux/config.sub up to 1.1.1.2
	external/public-domain/xz/dist/build-aux/depcomp up to 1.1.1.2
	external/public-domain/xz/dist/build-aux/install-sh up to 1.1.1.2
	external/public-domain/xz/dist/build-aux/ltmain.sh up to 1.1.1.2
	external/public-domain/xz/dist/build-aux/manconv.sh up to 1.1.1.2
	external/public-domain/xz/dist/build-aux/missing up to 1.1.1.2
	external/public-domain/xz/dist/build-aux/version.sh up to 1.1.1.2
	external/public-domain/xz/dist/doc/faq.txt      up to 1.1.1.4
	external/public-domain/xz/dist/doc/lzma-file-format.txt up to 1.1.1.3
	external/public-domain/xz/dist/doc/xz-file-format.txt up to 1.1.1.2
	external/public-domain/xz/dist/doc/examples/01_compress_easy.c up to 1.1.1.2
	external/public-domain/xz/dist/doc/examples/02_decompress.c up to 1.1.1.3
	external/public-domain/xz/dist/doc/examples/03_compress_custom.c up to 1.1.1.2
	external/public-domain/xz/dist/doc/examples/04_compress_easy_mt.c up to 1.1.1.2
	external/public-domain/xz/dist/m4/tuklib_common.m4 up to 1.1.1.2
	external/public-domain/xz/dist/m4/tuklib_cpucores.m4 up to 1.1.1.4
	external/public-domain/xz/dist/m4/tuklib_integer.m4 up to 1.1.1.3
	external/public-domain/xz/dist/m4/tuklib_mbstr.m4 up to 1.1.1.2
	external/public-domain/xz/dist/m4/tuklib_physmem.m4 up to 1.1.1.4
	external/public-domain/xz/dist/m4/tuklib_progname.m4 up to 1.1.1.2
	external/public-domain/xz/dist/po/cs.gmo        up to 1.1.1.5
	external/public-domain/xz/dist/po/cs.po         up to 1.1.1.5
	external/public-domain/xz/dist/po/de.gmo        up to 1.1.1.5
	external/public-domain/xz/dist/po/de.po         up to 1.1.1.5
	external/public-domain/xz/dist/po/fr.gmo        up to 1.1.1.4
	external/public-domain/xz/dist/po/fr.po         up to 1.1.1.4
	external/public-domain/xz/dist/po/it.gmo        up to 1.1.1.5
	external/public-domain/xz/dist/po/it.po         up to 1.1.1.5
	external/public-domain/xz/dist/po/pl.gmo        up to 1.1.1.4
	external/public-domain/xz/dist/po/pl.po         up to 1.1.1.4
	external/public-domain/xz/dist/po/vi.gmo        up to 1.1.1.3
	external/public-domain/xz/dist/po/vi.po         up to 1.1.1.3
	external/public-domain/xz/dist/src/common/common_w32res.rc up to 1.1.1.3
	external/public-domain/xz/dist/src/common/mythread.h up to 1.1.1.3
	external/public-domain/xz/dist/src/common/sysdefs.h up to 1.1.1.4
	external/public-domain/xz/dist/src/common/tuklib_common.h up to 1.1.1.2
	external/public-domain/xz/dist/src/common/tuklib_config.h up to 1.1.1.2
	external/public-domain/xz/dist/src/common/tuklib_cpucores.c up to 1.1.1.4
	external/public-domain/xz/dist/src/common/tuklib_cpucores.h up to 1.1.1.2
	external/public-domain/xz/dist/src/common/tuklib_exit.c up to 1.1.1.2
	external/public-domain/xz/dist/src/common/tuklib_exit.h up to 1.1.1.2
	external/public-domain/xz/dist/src/common/tuklib_gettext.h up to 1.1.1.2
	external/public-domain/xz/dist/src/common/tuklib_integer.h up to 1.2
	external/public-domain/xz/dist/src/common/tuklib_mbstr.h up to 1.1.1.2
	external/public-domain/xz/dist/src/common/tuklib_mbstr_fw.c up to 1.1.1.2
	external/public-domain/xz/dist/src/common/tuklib_mbstr_width.c up to 1.1.1.2
	external/public-domain/xz/dist/src/common/tuklib_open_stdxxx.c up to 1.1.1.3
	external/public-domain/xz/dist/src/common/tuklib_open_stdxxx.h up to 1.1.1.2
	external/public-domain/xz/dist/src/common/tuklib_physmem.c up to 1.1.1.4
	external/public-domain/xz/dist/src/common/tuklib_physmem.h up to 1.1.1.2
	external/public-domain/xz/dist/src/common/tuklib_progname.c up to 1.1.1.2
	external/public-domain/xz/dist/src/common/tuklib_progname.h up to 1.1.1.2
	external/public-domain/xz/dist/src/liblzma/liblzma.pc.in up to 1.1.1.3
	external/public-domain/xz/dist/src/liblzma/liblzma_w32res.rc up to 1.1.1.2
	external/public-domain/xz/dist/src/liblzma/validate_map.sh up to 1.1.1.2
	external/public-domain/xz/dist/src/liblzma/api/lzma.h up to 1.1.1.4
	external/public-domain/xz/dist/src/liblzma/api/lzma/base.h up to 1.1.1.4
	external/public-domain/xz/dist/src/liblzma/api/lzma/bcj.h up to 1.1.1.2
	external/public-domain/xz/dist/src/liblzma/api/lzma/block.h up to 1.1.1.4
	external/public-domain/xz/dist/src/liblzma/api/lzma/check.h up to 1.1.1.2
	external/public-domain/xz/dist/src/liblzma/api/lzma/container.h up to 1.1.1.5
	external/public-domain/xz/dist/src/liblzma/api/lzma/delta.h up to 1.1.1.2
	external/public-domain/xz/dist/src/liblzma/api/lzma/filter.h up to 1.1.1.4
	external/public-domain/xz/dist/src/liblzma/api/lzma/hardware.h up to 1.1.1.3
	external/public-domain/xz/dist/src/liblzma/api/lzma/index.h up to 1.1.1.4
	external/public-domain/xz/dist/src/liblzma/api/lzma/index_hash.h up to 1.1.1.3
	external/public-domain/xz/dist/src/liblzma/api/lzma/lzma12.h up to 1.1.1.2
	external/public-domain/xz/dist/src/liblzma/api/lzma/stream_flags.h up to 1.1.1.2
	external/public-domain/xz/dist/src/liblzma/api/lzma/version.h up to 1.1.1.5
	external/public-domain/xz/dist/src/liblzma/api/lzma/vli.h up to 1.1.1.2
	external/public-domain/xz/dist/src/liblzma/check/check.c up to 1.1.1.2
	external/public-domain/xz/dist/src/liblzma/check/check.h up to 1.5
	external/public-domain/xz/dist/src/liblzma/check/crc32_fast.c up to 1.1.1.3
	external/public-domain/xz/dist/src/liblzma/check/crc32_small.c up to 1.1.1.2
	external/public-domain/xz/dist/src/liblzma/check/crc32_table_be.h up to 1.1.1.2
	external/public-domain/xz/dist/src/liblzma/check/crc32_table_le.h up to 1.1.1.2
	external/public-domain/xz/dist/src/liblzma/check/crc32_tablegen.c up to 1.1.1.2
	external/public-domain/xz/dist/src/liblzma/check/crc32_x86.S up to 1.1.1.2
	external/public-domain/xz/dist/src/liblzma/check/crc64_fast.c up to 1.1.1.2
	external/public-domain/xz/dist/src/liblzma/check/crc64_small.c up to 1.1.1.2
	external/public-domain/xz/dist/src/liblzma/check/crc64_table_be.h up to 1.1.1.2
	external/public-domain/xz/dist/src/liblzma/check/crc64_table_le.h up to 1.1.1.2
	external/public-domain/xz/dist/src/liblzma/check/crc64_tablegen.c up to 1.1.1.2
	external/public-domain/xz/dist/src/liblzma/check/crc64_x86.S up to 1.1.1.2
	external/public-domain/xz/dist/src/liblzma/check/sha256.c up to 1.1.1.3
	external/public-domain/xz/dist/src/liblzma/common/alone_decoder.c up to 1.1.1.5
	external/public-domain/xz/dist/src/liblzma/common/alone_decoder.h up to 1.1.1.3
	external/public-domain/xz/dist/src/liblzma/common/alone_encoder.c up to 1.1.1.5
	external/public-domain/xz/dist/src/liblzma/common/auto_decoder.c up to 1.1.1.4
	external/public-domain/xz/dist/src/liblzma/common/block_buffer_decoder.c up to 1.1.1.3
	external/public-domain/xz/dist/src/liblzma/common/block_buffer_encoder.c up to 1.1.1.4
	external/public-domain/xz/dist/src/liblzma/common/block_buffer_encoder.h up to 1.1.1.2
	external/public-domain/xz/dist/src/liblzma/common/block_decoder.c up to 1.1.1.4
	external/public-domain/xz/dist/src/liblzma/common/block_decoder.h up to 1.1.1.3
	external/public-domain/xz/dist/src/liblzma/common/block_encoder.c up to 1.1.1.5
	external/public-domain/xz/dist/src/liblzma/common/block_encoder.h up to 1.1.1.3
	external/public-domain/xz/dist/src/liblzma/common/block_header_decoder.c up to 1.1.1.3
	external/public-domain/xz/dist/src/liblzma/common/block_header_encoder.c up to 1.1.1.3
	external/public-domain/xz/dist/src/liblzma/common/block_util.c up to 1.1.1.3
	external/public-domain/xz/dist/src/liblzma/common/common.c up to 1.1.1.5
	external/public-domain/xz/dist/src/liblzma/common/common.h up to 1.1.1.5
	external/public-domain/xz/dist/src/liblzma/common/easy_buffer_encoder.c up to 1.1.1.3
	external/public-domain/xz/dist/src/liblzma/common/easy_decoder_memusage.c up to 1.1.1.2
	external/public-domain/xz/dist/src/liblzma/common/easy_encoder.c up to 1.1.1.3
	external/public-domain/xz/dist/src/liblzma/common/easy_encoder_memusage.c up to 1.1.1.2
	external/public-domain/xz/dist/src/liblzma/common/easy_preset.c up to 1.1.1.2
	external/public-domain/xz/dist/src/liblzma/common/easy_preset.h up to 1.1.1.2
	external/public-domain/xz/dist/src/liblzma/common/filter_buffer_decoder.c up to 1.1.1.3
	external/public-domain/xz/dist/src/liblzma/common/filter_buffer_encoder.c up to 1.1.1.3
	external/public-domain/xz/dist/src/liblzma/common/filter_common.c up to 1.1.1.4
	external/public-domain/xz/dist/src/liblzma/common/filter_common.h up to 1.1.1.3
	external/public-domain/xz/dist/src/liblzma/common/filter_decoder.c up to 1.1.1.3
	external/public-domain/xz/dist/src/liblzma/common/filter_decoder.h up to 1.1.1.3
	external/public-domain/xz/dist/src/liblzma/common/filter_encoder.c up to 1.1.1.3
	external/public-domain/xz/dist/src/liblzma/common/filter_encoder.h up to 1.1.1.3
	external/public-domain/xz/dist/src/liblzma/common/filter_flags_decoder.c up to 1.1.1.3
	external/public-domain/xz/dist/src/liblzma/common/filter_flags_encoder.c up to 1.1.1.2
	external/public-domain/xz/dist/src/liblzma/common/hardware_cputhreads.c up to 1.1.1.2
	external/public-domain/xz/dist/src/liblzma/common/hardware_physmem.c up to 1.1.1.2
	external/public-domain/xz/dist/src/liblzma/common/index.c up to 1.1.1.4
	external/public-domain/xz/dist/src/liblzma/common/index.h up to 1.1.1.2
	external/public-domain/xz/dist/src/liblzma/common/index_decoder.c up to 1.1.1.5
	external/public-domain/xz/dist/src/liblzma/common/index_encoder.c up to 1.1.1.5
	external/public-domain/xz/dist/src/liblzma/common/index_encoder.h up to 1.1.1.3
	external/public-domain/xz/dist/src/liblzma/common/index_hash.c up to 1.1.1.3
	external/public-domain/xz/dist/src/liblzma/common/memcmplen.h up to 1.2
	external/public-domain/xz/dist/src/liblzma/common/outqueue.c up to 1.1.1.2
	external/public-domain/xz/dist/src/liblzma/common/outqueue.h up to 1.1.1.2
	external/public-domain/xz/dist/src/liblzma/common/stream_buffer_decoder.c up to 1.1.1.3
	external/public-domain/xz/dist/src/liblzma/common/stream_buffer_encoder.c up to 1.1.1.4
	external/public-domain/xz/dist/src/liblzma/common/stream_decoder.c up to 1.1.1.4
	external/public-domain/xz/dist/src/liblzma/common/stream_decoder.h up to 1.1.1.3
	external/public-domain/xz/dist/src/liblzma/common/stream_encoder.c up to 1.1.1.5
	external/public-domain/xz/dist/src/liblzma/common/stream_encoder_mt.c up to 1.1.1.3
	external/public-domain/xz/dist/src/liblzma/common/stream_flags_common.c up to 1.1.1.2
	external/public-domain/xz/dist/src/liblzma/common/stream_flags_common.h up to 1.1.1.2
	external/public-domain/xz/dist/src/liblzma/common/stream_flags_decoder.c up to 1.1.1.2
	external/public-domain/xz/dist/src/liblzma/common/stream_flags_encoder.c up to 1.1.1.2
	external/public-domain/xz/dist/src/liblzma/common/vli_decoder.c up to 1.1.1.2
	external/public-domain/xz/dist/src/liblzma/common/vli_encoder.c up to 1.1.1.2
	external/public-domain/xz/dist/src/liblzma/common/vli_size.c up to 1.1.1.2
	external/public-domain/xz/dist/src/liblzma/delta/delta_common.c up to 1.1.1.4
	external/public-domain/xz/dist/src/liblzma/delta/delta_common.h up to 1.1.1.2
	external/public-domain/xz/dist/src/liblzma/delta/delta_decoder.c up to 1.1.1.4
	external/public-domain/xz/dist/src/liblzma/delta/delta_decoder.h up to 1.1.1.3
	external/public-domain/xz/dist/src/liblzma/delta/delta_encoder.c up to 1.1.1.5
	external/public-domain/xz/dist/src/liblzma/delta/delta_encoder.h up to 1.1.1.3
	external/public-domain/xz/dist/src/liblzma/delta/delta_private.h up to 1.1.1.4
	external/public-domain/xz/dist/src/liblzma/lz/lz_decoder.c up to 1.1.1.5
	external/public-domain/xz/dist/src/liblzma/lz/lz_decoder.h up to 1.1.1.4
	external/public-domain/xz/dist/src/liblzma/lz/lz_encoder.c up to 1.1.1.5
	external/public-domain/xz/dist/src/liblzma/lz/lz_encoder.h up to 1.1.1.4
	external/public-domain/xz/dist/src/liblzma/lz/lz_encoder_hash.h up to 1.1.1.3
	external/public-domain/xz/dist/src/liblzma/lz/lz_encoder_hash_table.h up to 1.1.1.2
	external/public-domain/xz/dist/src/liblzma/lz/lz_encoder_mf.c up to 1.1.1.3
	external/public-domain/xz/dist/src/liblzma/lzma/fastpos.h up to 1.1.1.3
	external/public-domain/xz/dist/src/liblzma/lzma/fastpos_table.c up to 1.1.1.2
	external/public-domain/xz/dist/src/liblzma/lzma/fastpos_tablegen.c up to 1.1.1.2
	external/public-domain/xz/dist/src/liblzma/lzma/lzma2_decoder.c up to 1.1.1.5
	external/public-domain/xz/dist/src/liblzma/lzma/lzma2_decoder.h up to 1.1.1.3
	external/public-domain/xz/dist/src/liblzma/lzma/lzma2_encoder.c up to 1.1.1.5
	external/public-domain/xz/dist/src/liblzma/lzma/lzma2_encoder.h up to 1.1.1.3
	external/public-domain/xz/dist/src/liblzma/lzma/lzma_common.h up to 1.1.1.3
	external/public-domain/xz/dist/src/liblzma/lzma/lzma_decoder.c up to 1.1.1.4
	external/public-domain/xz/dist/src/liblzma/lzma/lzma_decoder.h up to 1.1.1.3
	external/public-domain/xz/dist/src/liblzma/lzma/lzma_encoder.c up to 1.1.1.4
	external/public-domain/xz/dist/src/liblzma/lzma/lzma_encoder.h up to 1.1.1.4
	external/public-domain/xz/dist/src/liblzma/lzma/lzma_encoder_optimum_fast.c up to 1.1.1.4
	external/public-domain/xz/dist/src/liblzma/lzma/lzma_encoder_optimum_normal.c up to 1.1.1.4
	external/public-domain/xz/dist/src/liblzma/lzma/lzma_encoder_presets.c up to 1.1.1.4
	external/public-domain/xz/dist/src/liblzma/lzma/lzma_encoder_private.h up to 1.1.1.4
	external/public-domain/xz/dist/src/liblzma/rangecoder/price.h up to 1.1.1.2
	external/public-domain/xz/dist/src/liblzma/rangecoder/price_table.c up to 1.1.1.2
	external/public-domain/xz/dist/src/liblzma/rangecoder/price_tablegen.c up to 1.1.1.2
	external/public-domain/xz/dist/src/liblzma/rangecoder/range_common.h up to 1.1.1.3
	external/public-domain/xz/dist/src/liblzma/rangecoder/range_decoder.h up to 1.1.1.3
	external/public-domain/xz/dist/src/liblzma/rangecoder/range_encoder.h up to 1.1.1.2
	external/public-domain/xz/dist/src/liblzma/simple/arm.c up to 1.1.1.5
	external/public-domain/xz/dist/src/liblzma/simple/armthumb.c up to 1.1.1.5
	external/public-domain/xz/dist/src/liblzma/simple/ia64.c up to 1.1.1.5
	external/public-domain/xz/dist/src/liblzma/simple/powerpc.c up to 1.1.1.5
	external/public-domain/xz/dist/src/liblzma/simple/simple_coder.c up to 1.1.1.5
	external/public-domain/xz/dist/src/liblzma/simple/simple_coder.h up to 1.1.1.3
	external/public-domain/xz/dist/src/liblzma/simple/simple_decoder.c up to 1.1.1.3
	external/public-domain/xz/dist/src/liblzma/simple/simple_decoder.h up to 1.1.1.3
	external/public-domain/xz/dist/src/liblzma/simple/simple_encoder.c up to 1.1.1.2
	external/public-domain/xz/dist/src/liblzma/simple/simple_encoder.h up to 1.1.1.2
	external/public-domain/xz/dist/src/liblzma/simple/simple_private.h up to 1.1.1.4
	external/public-domain/xz/dist/src/liblzma/simple/sparc.c up to 1.1.1.5
	external/public-domain/xz/dist/src/liblzma/simple/x86.c up to 1.1.1.4
	external/public-domain/xz/dist/src/lzmainfo/lzmainfo.1 up to 1.1.1.3
	external/public-domain/xz/dist/src/lzmainfo/lzmainfo.c up to 1.1.1.3
	external/public-domain/xz/dist/src/lzmainfo/lzmainfo_w32res.rc up to 1.1.1.2
	external/public-domain/xz/dist/src/xz/args.c    up to 1.4
	external/public-domain/xz/dist/src/xz/args.h    up to 1.1.1.4
	external/public-domain/xz/dist/src/xz/coder.c   up to 1.1.1.5
	external/public-domain/xz/dist/src/xz/coder.h   up to 1.1.1.3
	external/public-domain/xz/dist/src/xz/file_io.c up to 1.1.1.5
	external/public-domain/xz/dist/src/xz/file_io.h up to 1.1.1.4
	external/public-domain/xz/dist/src/xz/hardware.c up to 1.1.1.3
	external/public-domain/xz/dist/src/xz/hardware.h up to 1.1.1.4
	external/public-domain/xz/dist/src/xz/list.c    up to 1.4
	external/public-domain/xz/dist/src/xz/list.h    up to 1.1.1.2
	external/public-domain/xz/dist/src/xz/main.c    up to 1.1.1.4
	external/public-domain/xz/dist/src/xz/main.h    up to 1.1.1.2
	external/public-domain/xz/dist/src/xz/message.c up to 1.1.1.5
	external/public-domain/xz/dist/src/xz/message.h up to 1.1.1.3
	external/public-domain/xz/dist/src/xz/mytime.c  up to 1.1.1.2
	external/public-domain/xz/dist/src/xz/mytime.h  up to 1.1.1.2
	external/public-domain/xz/dist/src/xz/options.c up to 1.1.1.5
	external/public-domain/xz/dist/src/xz/options.h up to 1.1.1.2
	external/public-domain/xz/dist/src/xz/private.h up to 1.1.1.4
	external/public-domain/xz/dist/src/xz/signals.c up to 1.1.1.4
	external/public-domain/xz/dist/src/xz/signals.h up to 1.1.1.2
	external/public-domain/xz/dist/src/xz/suffix.c  up to 1.1.1.4
	external/public-domain/xz/dist/src/xz/suffix.h  up to 1.1.1.2
	external/public-domain/xz/dist/src/xz/util.c    up to 1.1.1.3
	external/public-domain/xz/dist/src/xz/util.h    up to 1.1.1.3
	external/public-domain/xz/dist/src/xz/xz.1      up to 1.1.1.5
	external/public-domain/xz/dist/src/xz/xz_w32res.rc up to 1.1.1.2
	external/public-domain/xz/dist/src/xzdec/lzmadec_w32res.rc up to 1.1.1.2
	external/public-domain/xz/dist/src/xzdec/xzdec.1 up to 1.1.1.4
	external/public-domain/xz/dist/src/xzdec/xzdec.c up to 1.1.1.4
	external/public-domain/xz/dist/src/xzdec/xzdec_w32res.rc up to 1.1.1.2
	external/public-domain/xz/dist/tests/create_compress_files.c up to 1.1.1.3
	external/public-domain/xz/dist/tests/test_bcj_exact_size.c up to 1.1.1.3
	external/public-domain/xz/dist/tests/test_block_header.c up to 1.1.1.2
	external/public-domain/xz/dist/tests/test_check.c up to 1.1.1.2
	external/public-domain/xz/dist/tests/test_compress.sh up to 1.1.1.2
	external/public-domain/xz/dist/tests/test_files.sh up to 1.1.1.3
	external/public-domain/xz/dist/tests/test_filter_flags.c up to 1.1.1.2
	external/public-domain/xz/dist/tests/test_index.c up to 1.1.1.3
	external/public-domain/xz/dist/tests/test_scripts.sh up to 1.1.1.2
	external/public-domain/xz/dist/tests/test_stream_flags.c up to 1.1.1.2
	external/public-domain/xz/dist/tests/tests.h    up to 1.1.1.2
	external/public-domain/xz/dist/tests/files/README up to 1.1.1.4
	external/public-domain/xz/dist/tests/files/bad-0cat-alone.xz.base64 up to 1.1.1.5
	external/public-domain/xz/dist/tests/files/bad-0cat-header_magic.xz.base64 up to 1.1.1.5
	external/public-domain/xz/dist/tests/files/bad-0catpad-empty.xz.base64 up to 1.1.1.5
	external/public-domain/xz/dist/tests/files/bad-1-block_header-1.xz.base64 up to 1.1.1.5
	external/public-domain/xz/dist/tests/files/bad-1-block_header-2.xz.base64 up to 1.1.1.5
	external/public-domain/xz/dist/tests/files/bad-1-block_header-3.xz.base64 up to 1.1.1.5
	external/public-domain/xz/dist/tests/files/bad-1-block_header-4.xz.base64 up to 1.1.1.5
	external/public-domain/xz/dist/tests/files/bad-1-block_header-5.xz.base64 up to 1.1.1.5
	external/public-domain/xz/dist/tests/files/bad-1-block_header-6.xz.base64 up to 1.1.1.3
	external/public-domain/xz/dist/tests/files/bad-1-check-crc32.xz.base64 up to 1.1.1.5
	external/public-domain/xz/dist/tests/files/bad-1-check-crc64.xz.base64 up to 1.1.1.5
	external/public-domain/xz/dist/tests/files/bad-1-check-sha256.xz.base64 up to 1.1.1.5
	external/public-domain/xz/dist/tests/files/bad-1-lzma2-1.xz.base64 up to 1.1.1.5
	external/public-domain/xz/dist/tests/files/bad-1-lzma2-2.xz.base64 up to 1.1.1.5
	external/public-domain/xz/dist/tests/files/bad-1-lzma2-3.xz.base64 up to 1.1.1.5
	external/public-domain/xz/dist/tests/files/bad-1-lzma2-4.xz.base64 up to 1.1.1.5
	external/public-domain/xz/dist/tests/files/bad-1-lzma2-5.xz.base64 up to 1.1.1.5
	external/public-domain/xz/dist/tests/files/bad-1-lzma2-6.xz.base64 up to 1.1.1.5
	external/public-domain/xz/dist/tests/files/bad-1-lzma2-7.xz.base64 up to 1.1.1.5
	external/public-domain/xz/dist/tests/files/bad-1-lzma2-8.xz.base64 up to 1.1.1.5
	external/public-domain/xz/dist/tests/files/bad-1-stream_flags-1.xz.base64 up to 1.1.1.5
	external/public-domain/xz/dist/tests/files/bad-1-stream_flags-2.xz.base64 up to 1.1.1.5
	external/public-domain/xz/dist/tests/files/bad-1-stream_flags-3.xz.base64 up to 1.1.1.5
	external/public-domain/xz/dist/tests/files/bad-1-vli-1.xz.base64 up to 1.1.1.5
	external/public-domain/xz/dist/tests/files/bad-1-vli-2.xz.base64 up to 1.1.1.5
	external/public-domain/xz/dist/tests/files/bad-2-compressed_data_padding.xz.base64 up to 1.1.1.5
	external/public-domain/xz/dist/tests/files/bad-2-index-1.xz.base64 up to 1.1.1.5
	external/public-domain/xz/dist/tests/files/bad-2-index-2.xz.base64 up to 1.1.1.5
	external/public-domain/xz/dist/tests/files/bad-2-index-3.xz.base64 up to 1.1.1.5
	external/public-domain/xz/dist/tests/files/bad-2-index-4.xz.base64 up to 1.1.1.5
	external/public-domain/xz/dist/tests/files/bad-2-index-5.xz.base64 up to 1.1.1.5
	external/public-domain/xz/dist/tests/files/good-0cat-empty.xz.base64 up to 1.1.1.5
	external/public-domain/xz/dist/tests/files/good-0catpad-empty.xz.base64 up to 1.1.1.5
	external/public-domain/xz/dist/tests/files/good-1-3delta-lzma2.xz.base64 up to 1.1.1.5
	external/public-domain/xz/dist/tests/files/good-1-block_header-1.xz.base64 up to 1.1.1.5
	external/public-domain/xz/dist/tests/files/good-1-block_header-2.xz.base64 up to 1.1.1.5
	external/public-domain/xz/dist/tests/files/good-1-block_header-3.xz.base64 up to 1.1.1.5
	external/public-domain/xz/dist/tests/files/good-1-check-crc32.xz.base64 up to 1.1.1.5
	external/public-domain/xz/dist/tests/files/good-1-check-crc64.xz.base64 up to 1.1.1.5
	external/public-domain/xz/dist/tests/files/good-1-check-none.xz.base64 up to 1.1.1.5
	external/public-domain/xz/dist/tests/files/good-1-check-sha256.xz.base64 up to 1.1.1.5
	external/public-domain/xz/dist/tests/files/good-1-delta-lzma2.tiff.xz.base64 up to 1.1.1.5
	external/public-domain/xz/dist/tests/files/good-1-lzma2-1.xz.base64 up to 1.1.1.5
	external/public-domain/xz/dist/tests/files/good-1-lzma2-2.xz.base64 up to 1.1.1.5
	external/public-domain/xz/dist/tests/files/good-1-lzma2-3.xz.base64 up to 1.1.1.5
	external/public-domain/xz/dist/tests/files/good-1-lzma2-4.xz.base64 up to 1.1.1.5
	external/public-domain/xz/dist/tests/files/good-1-lzma2-5.xz.base64 up to 1.1.1.4
	external/public-domain/xz/dist/tests/files/good-2-lzma2.xz.base64 up to 1.1.1.5
	external/public-domain/xz/dist/tests/files/unsupported-block_header.xz.base64 up to 1.1.1.5
	external/public-domain/xz/dist/tests/files/unsupported-check.xz.base64 up to 1.1.1.5
	external/public-domain/xz/dist/tests/files/unsupported-filter_flags-1.xz.base64 up to 1.1.1.5
	external/public-domain/xz/dist/tests/files/unsupported-filter_flags-2.xz.base64 up to 1.1.1.5
	external/public-domain/xz/dist/tests/files/unsupported-filter_flags-3.xz.base64 up to 1.1.1.5
	external/public-domain/xz/include/config.h      up to 1.10
	external/public-domain/xz/lib/Makefile          up to 1.13
	external/public-domain/xz/lib/lzma.expsym       up to 1.3
	external/public-domain/xz/lib/shlib_version     up to 1.4

Update xz to 5.8.3.
@
text
@a0 184
# SPDX-License-Identifier: 0BSD

#############################################################################
#
# tuklib_cpucores.cmake - see tuklib_cpucores.m4 for description and comments
#
# Author: Lasse Collin
#
#############################################################################

include("${CMAKE_CURRENT_LIST_DIR}/tuklib_common.cmake")
include(CMakePushCheckState)
include(CheckCSourceCompiles)
include(CheckIncludeFile)

function(tuklib_cpucores_internal_check)
    if(WIN32 OR CYGWIN)
        # Nothing to do, the tuklib_cpucores.c handles it.
        set(TUKLIB_CPUCORES_DEFINITIONS "" CACHE INTERNAL "")
        return()
    endif()

    # glibc-based systems (GNU/Linux and GNU/kFreeBSD) have
    # sched_getaffinity(). The CPU_COUNT() macro was added in glibc 2.9.
    # glibc 2.9 is old enough that if someone uses the code on older glibc,
    # the fallback to sysconf() should be good enough.
    #
    # NOTE: This required that _GNU_SOURCE is defined. We assume that whatever
    #       feature test macros the caller wants to use are already set in
    #       CMAKE_REQUIRED_DEFINES and in the target defines.
    check_c_source_compiles("
            #include <sched.h>
            int main(void)
            {
                cpu_set_t cpu_mask;
                sched_getaffinity(0, sizeof(cpu_mask), &cpu_mask);
                return CPU_COUNT(&cpu_mask);
            }
        "
        TUKLIB_CPUCORES_SCHED_GETAFFINITY)
    if(TUKLIB_CPUCORES_SCHED_GETAFFINITY)
        set(TUKLIB_CPUCORES_DEFINITIONS
            "TUKLIB_CPUCORES_SCHED_GETAFFINITY"
            CACHE INTERNAL "")
        return()
    endif()

    # FreeBSD has both cpuset and sysctl. Look for cpuset first because
    # it's a better approach.
    #
    # This test would match on GNU/kFreeBSD too but it would require
    # -lfreebsd-glue when linking and thus in the current form this would
    # fail on GNU/kFreeBSD. The above test for sched_getaffinity() matches
    # on GNU/kFreeBSD so the test below should never run on that OS.
    check_c_source_compiles("
            #include <sys/param.h>
            #include <sys/cpuset.h>
            int main(void)
            {
                cpuset_t set;
                cpuset_getaffinity(CPU_LEVEL_WHICH, CPU_WHICH_PID, -1,
                                   sizeof(set), &set);
                return 0;
            }
        "
        TUKLIB_CPUCORES_CPUSET)
    if(TUKLIB_CPUCORES_CPUSET)
        set(TUKLIB_CPUCORES_DEFINITIONS "TUKLIB_CPUCORES_CPUSET"
            CACHE INTERNAL "")
        return()
    endif()

    # On OS/2, both sysconf() and sysctl() pass the tests in this file,
    # but only sysctl() works. On QNX it's the opposite: only sysconf() works
    # (although it assumes that _POSIX_SOURCE, _XOPEN_SOURCE, and
    # _POSIX_C_SOURCE are undefined or alternatively _QNX_SOURCE is defined).
    #
    # We test sysctl() first and intentionally break the sysctl() test on QNX
    # so that sysctl() is never used on QNX.
    cmake_push_check_state()
    check_include_file(sys/param.h HAVE_SYS_PARAM_H)
    if(HAVE_SYS_PARAM_H)
        list(APPEND CMAKE_REQUIRED_DEFINITIONS -DHAVE_SYS_PARAM_H)
    endif()
    check_c_source_compiles("
            #ifdef __QNX__
            compile error
            #endif
            #ifdef HAVE_SYS_PARAM_H
            #   include <sys/param.h>
            #endif
            #include <sys/sysctl.h>
            int main(void)
            {
            #ifdef HW_NCPUONLINE
                /* This is preferred on OpenBSD, see tuklib_cpucores.c. */
                int name[2] = { CTL_HW, HW_NCPUONLINE };
            #else
                int name[2] = { CTL_HW, HW_NCPU };
            #endif
                int cpus;
                size_t cpus_size = sizeof(cpus);
                sysctl(name, 2, &cpus, &cpus_size, NULL, 0);
                return 0;
            }
        "
        TUKLIB_CPUCORES_SYSCTL)
    cmake_pop_check_state()
    if(TUKLIB_CPUCORES_SYSCTL)
        if(HAVE_SYS_PARAM_H)
            set(TUKLIB_CPUCORES_DEFINITIONS
                "HAVE_SYS_PARAM_H;TUKLIB_CPUCORES_SYSCTL"
                CACHE INTERNAL "")
        else()
            set(TUKLIB_CPUCORES_DEFINITIONS
                "TUKLIB_CPUCORES_SYSCTL"
                CACHE INTERNAL "")
        endif()
        return()
    endif()

    # Many platforms support sysconf().
    check_c_source_compiles("
            #include <unistd.h>
            int main(void)
            {
                long i;
            #ifdef _SC_NPROCESSORS_ONLN
                /* Many systems using sysconf() */
                i = sysconf(_SC_NPROCESSORS_ONLN);
            #else
                /* IRIX */
                i = sysconf(_SC_NPROC_ONLN);
            #endif
                return 0;
            }
        "
        TUKLIB_CPUCORES_SYSCONF)
    if(TUKLIB_CPUCORES_SYSCONF)
        set(TUKLIB_CPUCORES_DEFINITIONS "TUKLIB_CPUCORES_SYSCONF"
            CACHE INTERNAL "")
        return()
    endif()

    # HP-UX
    check_c_source_compiles("
            #include <sys/param.h>
            #include <sys/pstat.h>
            int main(void)
            {
                struct pst_dynamic pst;
                pstat_getdynamic(&pst, sizeof(pst), 1, 0);
                (void)pst.psd_proc_cnt;
                return 0;
            }
        "
        TUKLIB_CPUCORES_PSTAT_GETDYNAMIC)
    if(TUKLIB_CPUCORES_PSTAT_GETDYNAMIC)
        set(TUKLIB_CPUCORES_DEFINITIONS "TUKLIB_CPUCORES_PSTAT_GETDYNAMIC"
            CACHE INTERNAL "")
        return()
    endif()
endfunction()

function(tuklib_cpucores TARGET_OR_ALL)
    if(NOT DEFINED TUKLIB_CPUCORES_FOUND)
        message(STATUS
                "Checking how to detect the number of available CPU cores")
        tuklib_cpucores_internal_check()

        if(DEFINED TUKLIB_CPUCORES_DEFINITIONS)
            set(TUKLIB_CPUCORES_FOUND 1 CACHE INTERNAL "")
        else()
            set(TUKLIB_CPUCORES_FOUND 0 CACHE INTERNAL "")
            message(WARNING
                    "No method to detect the number of CPU cores was found")
        endif()
    endif()

    if(TUKLIB_CPUCORES_FOUND)
        tuklib_add_definitions("${TARGET_OR_ALL}"
                               "${TUKLIB_CPUCORES_DEFINITIONS}")
    endif()
endfunction()
@


