55ok
| Direktori : /usr/src/cmake-3.25.0/CMakeFiles/ |
| Current File : //usr/src/cmake-3.25.0/CMakeFiles/CMakeOutput.log |
The system is: Linux - 3.10.0-1160.119.1.el7.tuxcare.els2.x86_64 - x86_64
Compiling the C compiler identification source file "CMakeCCompilerId.c" succeeded.
Compiler: /bin/gcc
Build flags:
Id flags:
The output was:
0
Compilation of the C compiler identification source "CMakeCCompilerId.c" produced "a.out"
The C compiler identification is GNU, found in "/usr/src/cmake-3.25.0/CMakeFiles/3.25.0/CompilerIdC/a.out"
Compiling the CXX compiler identification source file "CMakeCXXCompilerId.cpp" succeeded.
Compiler: /bin/g++
Build flags:
Id flags:
The output was:
0
Compilation of the CXX compiler identification source "CMakeCXXCompilerId.cpp" produced "a.out"
The CXX compiler identification is GNU, found in "/usr/src/cmake-3.25.0/CMakeFiles/3.25.0/CompilerIdCXX/a.out"
Detecting C compiler ABI info compiled with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-Qi3ehv
Run Build Command(s):/bin/gmake -f Makefile cmTC_73c7a/fast && gmake -f CMakeFiles/cmTC_73c7a.dir/build.make CMakeFiles/cmTC_73c7a.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-Qi3ehv'
Building C object CMakeFiles/cmTC_73c7a.dir/CMakeCCompilerABI.c.o
/bin/gcc -v -o CMakeFiles/cmTC_73c7a.dir/CMakeCCompilerABI.c.o -c /usr/src/cmake-3.25.0/Modules/CMakeCCompilerABI.c
Using built-in specs.
COLLECT_GCC=/bin/gcc
Target: x86_64-redhat-linux
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-linker-hash-style=gnu --enable-languages=c,c++,objc,obj-c++,java,fortran,ada,go,lto --enable-plugin --enable-initfini-array --disable-libgcj --with-isl=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/isl-install --with-cloog=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/cloog-install --enable-gnu-indirect-function --with-tune=generic --with-arch_32=x86-64 --build=x86_64-redhat-linux
Thread model: posix
gcc version 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC)
COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_73c7a.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64'
/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/cc1 -quiet -v /usr/src/cmake-3.25.0/Modules/CMakeCCompilerABI.c -quiet -dumpbase CMakeCCompilerABI.c -mtune=generic -march=x86-64 -auxbase-strip CMakeFiles/cmTC_73c7a.dir/CMakeCCompilerABI.c.o -version -o /tmp/ccEYIWGx.s
GNU C (GCC) version 4.8.5 20150623 (Red Hat 4.8.5-44) (x86_64-redhat-linux)
compiled by GNU C version 4.8.5 20150623 (Red Hat 4.8.5-44), GMP version 6.0.0, MPFR version 3.1.1, MPC version 1.0.1
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
ignoring nonexistent directory "/usr/lib/gcc/x86_64-redhat-linux/4.8.5/include-fixed"
ignoring nonexistent directory "/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../x86_64-redhat-linux/include"
#include "..." search starts here:
#include <...> search starts here:
/usr/lib/gcc/x86_64-redhat-linux/4.8.5/include
/usr/local/include
/usr/include
End of search list.
GNU C (GCC) version 4.8.5 20150623 (Red Hat 4.8.5-44) (x86_64-redhat-linux)
compiled by GNU C version 4.8.5 20150623 (Red Hat 4.8.5-44), GMP version 6.0.0, MPFR version 3.1.1, MPC version 1.0.1
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
Compiler executable checksum: 231b3394950636dbfe0428e88716bc73
COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_73c7a.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64'
as -v --64 -o CMakeFiles/cmTC_73c7a.dir/CMakeCCompilerABI.c.o /tmp/ccEYIWGx.s
GNU assembler version 2.27 (x86_64-redhat-linux) using BFD version version 2.27-44.base.el7_9.1.tuxcare.els1
COMPILER_PATH=/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/:/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/:/usr/libexec/gcc/x86_64-redhat-linux/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/:/usr/lib/gcc/x86_64-redhat-linux/
LIBRARY_PATH=/usr/lib/gcc/x86_64-redhat-linux/4.8.5/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/:/lib/../lib64/:/usr/lib/../lib64/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../:/lib/:/usr/lib/
COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_73c7a.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64'
Linking C executable cmTC_73c7a
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_73c7a.dir/link.txt --verbose=1
/bin/gcc -v CMakeFiles/cmTC_73c7a.dir/CMakeCCompilerABI.c.o -o cmTC_73c7a
Using built-in specs.
COLLECT_GCC=/bin/gcc
COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/lto-wrapper
Target: x86_64-redhat-linux
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-linker-hash-style=gnu --enable-languages=c,c++,objc,obj-c++,java,fortran,ada,go,lto --enable-plugin --enable-initfini-array --disable-libgcj --with-isl=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/isl-install --with-cloog=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/cloog-install --enable-gnu-indirect-function --with-tune=generic --with-arch_32=x86-64 --build=x86_64-redhat-linux
Thread model: posix
gcc version 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC)
COMPILER_PATH=/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/:/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/:/usr/libexec/gcc/x86_64-redhat-linux/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/:/usr/lib/gcc/x86_64-redhat-linux/
LIBRARY_PATH=/usr/lib/gcc/x86_64-redhat-linux/4.8.5/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/:/lib/../lib64/:/usr/lib/../lib64/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../:/lib/:/usr/lib/
COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_73c7a' '-mtune=generic' '-march=x86-64'
/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/collect2 --build-id --no-add-needed --eh-frame-hdr --hash-style=gnu -m elf_x86_64 -dynamic-linker /lib64/ld-linux-x86-64.so.2 -o cmTC_73c7a /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/crt1.o /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/crti.o /usr/lib/gcc/x86_64-redhat-linux/4.8.5/crtbegin.o -L/usr/lib/gcc/x86_64-redhat-linux/4.8.5 -L/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64 -L/lib/../lib64 -L/usr/lib/../lib64 -L/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../.. CMakeFiles/cmTC_73c7a.dir/CMakeCCompilerABI.c.o -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/gcc/x86_64-redhat-linux/4.8.5/crtend.o /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/crtn.o
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-Qi3ehv'
Parsed C implicit include dir info from above output: rv=done
found start of include info
found start of implicit include info
add: [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/include]
add: [/usr/local/include]
add: [/usr/include]
end of search list found
collapse include dir [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/include] ==> [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/include]
collapse include dir [/usr/local/include] ==> [/usr/local/include]
collapse include dir [/usr/include] ==> [/usr/include]
implicit include dirs: [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/include;/usr/local/include;/usr/include]
Parsed C implicit link information from above output:
link line regex: [^( *|.*[/\])(ld|CMAKE_LINK_STARTFILE-NOTFOUND|([^/\]+-)?ld|collect2)[^/\]*( |$)]
ignore line: [Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-Qi3ehv]
ignore line: []
ignore line: [Run Build Command(s):/bin/gmake -f Makefile cmTC_73c7a/fast && gmake -f CMakeFiles/cmTC_73c7a.dir/build.make CMakeFiles/cmTC_73c7a.dir/build]
ignore line: [gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-Qi3ehv']
ignore line: [Building C object CMakeFiles/cmTC_73c7a.dir/CMakeCCompilerABI.c.o]
ignore line: [/bin/gcc -v -o CMakeFiles/cmTC_73c7a.dir/CMakeCCompilerABI.c.o -c /usr/src/cmake-3.25.0/Modules/CMakeCCompilerABI.c]
ignore line: [Using built-in specs.]
ignore line: [COLLECT_GCC=/bin/gcc]
ignore line: [Target: x86_64-redhat-linux]
ignore line: [Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-linker-hash-style=gnu --enable-languages=c c++ objc obj-c++ java fortran ada go lto --enable-plugin --enable-initfini-array --disable-libgcj --with-isl=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/isl-install --with-cloog=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/cloog-install --enable-gnu-indirect-function --with-tune=generic --with-arch_32=x86-64 --build=x86_64-redhat-linux]
ignore line: [Thread model: posix]
ignore line: [gcc version 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC) ]
ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_73c7a.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64']
ignore line: [ /usr/libexec/gcc/x86_64-redhat-linux/4.8.5/cc1 -quiet -v /usr/src/cmake-3.25.0/Modules/CMakeCCompilerABI.c -quiet -dumpbase CMakeCCompilerABI.c -mtune=generic -march=x86-64 -auxbase-strip CMakeFiles/cmTC_73c7a.dir/CMakeCCompilerABI.c.o -version -o /tmp/ccEYIWGx.s]
ignore line: [GNU C (GCC) version 4.8.5 20150623 (Red Hat 4.8.5-44) (x86_64-redhat-linux)]
ignore line: [ compiled by GNU C version 4.8.5 20150623 (Red Hat 4.8.5-44) GMP version 6.0.0 MPFR version 3.1.1 MPC version 1.0.1]
ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072]
ignore line: [ignoring nonexistent directory "/usr/lib/gcc/x86_64-redhat-linux/4.8.5/include-fixed"]
ignore line: [ignoring nonexistent directory "/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../x86_64-redhat-linux/include"]
ignore line: [#include "..." search starts here:]
ignore line: [#include <...> search starts here:]
ignore line: [ /usr/lib/gcc/x86_64-redhat-linux/4.8.5/include]
ignore line: [ /usr/local/include]
ignore line: [ /usr/include]
ignore line: [End of search list.]
ignore line: [GNU C (GCC) version 4.8.5 20150623 (Red Hat 4.8.5-44) (x86_64-redhat-linux)]
ignore line: [ compiled by GNU C version 4.8.5 20150623 (Red Hat 4.8.5-44) GMP version 6.0.0 MPFR version 3.1.1 MPC version 1.0.1]
ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072]
ignore line: [Compiler executable checksum: 231b3394950636dbfe0428e88716bc73]
ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_73c7a.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64']
ignore line: [ as -v --64 -o CMakeFiles/cmTC_73c7a.dir/CMakeCCompilerABI.c.o /tmp/ccEYIWGx.s]
ignore line: [GNU assembler version 2.27 (x86_64-redhat-linux) using BFD version version 2.27-44.base.el7_9.1.tuxcare.els1]
ignore line: [COMPILER_PATH=/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/:/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/:/usr/libexec/gcc/x86_64-redhat-linux/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/:/usr/lib/gcc/x86_64-redhat-linux/]
ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-redhat-linux/4.8.5/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/:/lib/../lib64/:/usr/lib/../lib64/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../:/lib/:/usr/lib/]
ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_73c7a.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64']
ignore line: [Linking C executable cmTC_73c7a]
ignore line: [/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_73c7a.dir/link.txt --verbose=1]
ignore line: [/bin/gcc -v CMakeFiles/cmTC_73c7a.dir/CMakeCCompilerABI.c.o -o cmTC_73c7a ]
ignore line: [Using built-in specs.]
ignore line: [COLLECT_GCC=/bin/gcc]
ignore line: [COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/lto-wrapper]
ignore line: [Target: x86_64-redhat-linux]
ignore line: [Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-linker-hash-style=gnu --enable-languages=c c++ objc obj-c++ java fortran ada go lto --enable-plugin --enable-initfini-array --disable-libgcj --with-isl=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/isl-install --with-cloog=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/cloog-install --enable-gnu-indirect-function --with-tune=generic --with-arch_32=x86-64 --build=x86_64-redhat-linux]
ignore line: [Thread model: posix]
ignore line: [gcc version 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC) ]
ignore line: [COMPILER_PATH=/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/:/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/:/usr/libexec/gcc/x86_64-redhat-linux/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/:/usr/lib/gcc/x86_64-redhat-linux/]
ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-redhat-linux/4.8.5/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/:/lib/../lib64/:/usr/lib/../lib64/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../:/lib/:/usr/lib/]
ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_73c7a' '-mtune=generic' '-march=x86-64']
link line: [ /usr/libexec/gcc/x86_64-redhat-linux/4.8.5/collect2 --build-id --no-add-needed --eh-frame-hdr --hash-style=gnu -m elf_x86_64 -dynamic-linker /lib64/ld-linux-x86-64.so.2 -o cmTC_73c7a /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/crt1.o /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/crti.o /usr/lib/gcc/x86_64-redhat-linux/4.8.5/crtbegin.o -L/usr/lib/gcc/x86_64-redhat-linux/4.8.5 -L/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64 -L/lib/../lib64 -L/usr/lib/../lib64 -L/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../.. CMakeFiles/cmTC_73c7a.dir/CMakeCCompilerABI.c.o -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/gcc/x86_64-redhat-linux/4.8.5/crtend.o /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/crtn.o]
arg [/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/collect2] ==> ignore
arg [--build-id] ==> ignore
arg [--no-add-needed] ==> ignore
arg [--eh-frame-hdr] ==> ignore
arg [--hash-style=gnu] ==> ignore
arg [-m] ==> ignore
arg [elf_x86_64] ==> ignore
arg [-dynamic-linker] ==> ignore
arg [/lib64/ld-linux-x86-64.so.2] ==> ignore
arg [-o] ==> ignore
arg [cmTC_73c7a] ==> ignore
arg [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/crt1.o] ==> obj [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/crt1.o]
arg [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/crti.o] ==> obj [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/crti.o]
arg [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/crtbegin.o] ==> obj [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/crtbegin.o]
arg [-L/usr/lib/gcc/x86_64-redhat-linux/4.8.5] ==> dir [/usr/lib/gcc/x86_64-redhat-linux/4.8.5]
arg [-L/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64] ==> dir [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64]
arg [-L/lib/../lib64] ==> dir [/lib/../lib64]
arg [-L/usr/lib/../lib64] ==> dir [/usr/lib/../lib64]
arg [-L/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../..] ==> dir [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../..]
arg [CMakeFiles/cmTC_73c7a.dir/CMakeCCompilerABI.c.o] ==> ignore
arg [-lgcc] ==> lib [gcc]
arg [--as-needed] ==> ignore
arg [-lgcc_s] ==> lib [gcc_s]
arg [--no-as-needed] ==> ignore
arg [-lc] ==> lib [c]
arg [-lgcc] ==> lib [gcc]
arg [--as-needed] ==> ignore
arg [-lgcc_s] ==> lib [gcc_s]
arg [--no-as-needed] ==> ignore
arg [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/crtend.o] ==> obj [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/crtend.o]
arg [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/crtn.o] ==> obj [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/crtn.o]
collapse obj [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/crt1.o] ==> [/usr/lib64/crt1.o]
collapse obj [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/crti.o] ==> [/usr/lib64/crti.o]
collapse obj [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/crtn.o] ==> [/usr/lib64/crtn.o]
collapse library dir [/usr/lib/gcc/x86_64-redhat-linux/4.8.5] ==> [/usr/lib/gcc/x86_64-redhat-linux/4.8.5]
collapse library dir [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64] ==> [/usr/lib64]
collapse library dir [/lib/../lib64] ==> [/lib64]
collapse library dir [/usr/lib/../lib64] ==> [/usr/lib64]
collapse library dir [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../..] ==> [/usr/lib]
implicit libs: [gcc;gcc_s;c;gcc;gcc_s]
implicit objs: [/usr/lib64/crt1.o;/usr/lib64/crti.o;/usr/lib/gcc/x86_64-redhat-linux/4.8.5/crtbegin.o;/usr/lib/gcc/x86_64-redhat-linux/4.8.5/crtend.o;/usr/lib64/crtn.o]
implicit dirs: [/usr/lib/gcc/x86_64-redhat-linux/4.8.5;/usr/lib64;/lib64;/usr/lib]
implicit fwks: []
Detecting CXX compiler ABI info compiled with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-bvFLDx
Run Build Command(s):/bin/gmake -f Makefile cmTC_63a6b/fast && gmake -f CMakeFiles/cmTC_63a6b.dir/build.make CMakeFiles/cmTC_63a6b.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-bvFLDx'
Building CXX object CMakeFiles/cmTC_63a6b.dir/CMakeCXXCompilerABI.cpp.o
/bin/g++ -v -o CMakeFiles/cmTC_63a6b.dir/CMakeCXXCompilerABI.cpp.o -c /usr/src/cmake-3.25.0/Modules/CMakeCXXCompilerABI.cpp
Using built-in specs.
COLLECT_GCC=/bin/g++
Target: x86_64-redhat-linux
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-linker-hash-style=gnu --enable-languages=c,c++,objc,obj-c++,java,fortran,ada,go,lto --enable-plugin --enable-initfini-array --disable-libgcj --with-isl=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/isl-install --with-cloog=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/cloog-install --enable-gnu-indirect-function --with-tune=generic --with-arch_32=x86-64 --build=x86_64-redhat-linux
Thread model: posix
gcc version 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC)
COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_63a6b.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64'
/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/cc1plus -quiet -v -D_GNU_SOURCE /usr/src/cmake-3.25.0/Modules/CMakeCXXCompilerABI.cpp -quiet -dumpbase CMakeCXXCompilerABI.cpp -mtune=generic -march=x86-64 -auxbase-strip CMakeFiles/cmTC_63a6b.dir/CMakeCXXCompilerABI.cpp.o -version -o /tmp/ccNaPuBJ.s
GNU C++ (GCC) version 4.8.5 20150623 (Red Hat 4.8.5-44) (x86_64-redhat-linux)
compiled by GNU C version 4.8.5 20150623 (Red Hat 4.8.5-44), GMP version 6.0.0, MPFR version 3.1.1, MPC version 1.0.1
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
ignoring nonexistent directory "/usr/lib/gcc/x86_64-redhat-linux/4.8.5/include-fixed"
ignoring nonexistent directory "/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../x86_64-redhat-linux/include"
#include "..." search starts here:
#include <...> search starts here:
/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../include/c++/4.8.5
/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../include/c++/4.8.5/x86_64-redhat-linux
/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../include/c++/4.8.5/backward
/usr/lib/gcc/x86_64-redhat-linux/4.8.5/include
/usr/local/include
/usr/include
End of search list.
GNU C++ (GCC) version 4.8.5 20150623 (Red Hat 4.8.5-44) (x86_64-redhat-linux)
compiled by GNU C version 4.8.5 20150623 (Red Hat 4.8.5-44), GMP version 6.0.0, MPFR version 3.1.1, MPC version 1.0.1
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
Compiler executable checksum: 51b2dcccf6085e5bfbbf3932e5685252
COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_63a6b.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64'
as -v --64 -o CMakeFiles/cmTC_63a6b.dir/CMakeCXXCompilerABI.cpp.o /tmp/ccNaPuBJ.s
GNU assembler version 2.27 (x86_64-redhat-linux) using BFD version version 2.27-44.base.el7_9.1.tuxcare.els1
COMPILER_PATH=/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/:/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/:/usr/libexec/gcc/x86_64-redhat-linux/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/:/usr/lib/gcc/x86_64-redhat-linux/
LIBRARY_PATH=/usr/lib/gcc/x86_64-redhat-linux/4.8.5/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/:/lib/../lib64/:/usr/lib/../lib64/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../:/lib/:/usr/lib/
COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_63a6b.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64'
Linking CXX executable cmTC_63a6b
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_63a6b.dir/link.txt --verbose=1
/bin/g++ -v CMakeFiles/cmTC_63a6b.dir/CMakeCXXCompilerABI.cpp.o -o cmTC_63a6b
Using built-in specs.
COLLECT_GCC=/bin/g++
COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/lto-wrapper
Target: x86_64-redhat-linux
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-linker-hash-style=gnu --enable-languages=c,c++,objc,obj-c++,java,fortran,ada,go,lto --enable-plugin --enable-initfini-array --disable-libgcj --with-isl=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/isl-install --with-cloog=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/cloog-install --enable-gnu-indirect-function --with-tune=generic --with-arch_32=x86-64 --build=x86_64-redhat-linux
Thread model: posix
gcc version 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC)
COMPILER_PATH=/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/:/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/:/usr/libexec/gcc/x86_64-redhat-linux/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/:/usr/lib/gcc/x86_64-redhat-linux/
LIBRARY_PATH=/usr/lib/gcc/x86_64-redhat-linux/4.8.5/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/:/lib/../lib64/:/usr/lib/../lib64/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../:/lib/:/usr/lib/
COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_63a6b' '-shared-libgcc' '-mtune=generic' '-march=x86-64'
/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/collect2 --build-id --no-add-needed --eh-frame-hdr --hash-style=gnu -m elf_x86_64 -dynamic-linker /lib64/ld-linux-x86-64.so.2 -o cmTC_63a6b /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/crt1.o /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/crti.o /usr/lib/gcc/x86_64-redhat-linux/4.8.5/crtbegin.o -L/usr/lib/gcc/x86_64-redhat-linux/4.8.5 -L/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64 -L/lib/../lib64 -L/usr/lib/../lib64 -L/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../.. CMakeFiles/cmTC_63a6b.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-redhat-linux/4.8.5/crtend.o /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/crtn.o
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-bvFLDx'
Parsed CXX implicit include dir info from above output: rv=done
found start of include info
found start of implicit include info
add: [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../include/c++/4.8.5]
add: [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../include/c++/4.8.5/x86_64-redhat-linux]
add: [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../include/c++/4.8.5/backward]
add: [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/include]
add: [/usr/local/include]
add: [/usr/include]
end of search list found
collapse include dir [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../include/c++/4.8.5] ==> [/usr/include/c++/4.8.5]
collapse include dir [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../include/c++/4.8.5/x86_64-redhat-linux] ==> [/usr/include/c++/4.8.5/x86_64-redhat-linux]
collapse include dir [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../include/c++/4.8.5/backward] ==> [/usr/include/c++/4.8.5/backward]
collapse include dir [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/include] ==> [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/include]
collapse include dir [/usr/local/include] ==> [/usr/local/include]
collapse include dir [/usr/include] ==> [/usr/include]
implicit include dirs: [/usr/include/c++/4.8.5;/usr/include/c++/4.8.5/x86_64-redhat-linux;/usr/include/c++/4.8.5/backward;/usr/lib/gcc/x86_64-redhat-linux/4.8.5/include;/usr/local/include;/usr/include]
Parsed CXX implicit link information from above output:
link line regex: [^( *|.*[/\])(ld|CMAKE_LINK_STARTFILE-NOTFOUND|([^/\]+-)?ld|collect2)[^/\]*( |$)]
ignore line: [Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-bvFLDx]
ignore line: []
ignore line: [Run Build Command(s):/bin/gmake -f Makefile cmTC_63a6b/fast && gmake -f CMakeFiles/cmTC_63a6b.dir/build.make CMakeFiles/cmTC_63a6b.dir/build]
ignore line: [gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-bvFLDx']
ignore line: [Building CXX object CMakeFiles/cmTC_63a6b.dir/CMakeCXXCompilerABI.cpp.o]
ignore line: [/bin/g++ -v -o CMakeFiles/cmTC_63a6b.dir/CMakeCXXCompilerABI.cpp.o -c /usr/src/cmake-3.25.0/Modules/CMakeCXXCompilerABI.cpp]
ignore line: [Using built-in specs.]
ignore line: [COLLECT_GCC=/bin/g++]
ignore line: [Target: x86_64-redhat-linux]
ignore line: [Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-linker-hash-style=gnu --enable-languages=c c++ objc obj-c++ java fortran ada go lto --enable-plugin --enable-initfini-array --disable-libgcj --with-isl=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/isl-install --with-cloog=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/cloog-install --enable-gnu-indirect-function --with-tune=generic --with-arch_32=x86-64 --build=x86_64-redhat-linux]
ignore line: [Thread model: posix]
ignore line: [gcc version 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC) ]
ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_63a6b.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64']
ignore line: [ /usr/libexec/gcc/x86_64-redhat-linux/4.8.5/cc1plus -quiet -v -D_GNU_SOURCE /usr/src/cmake-3.25.0/Modules/CMakeCXXCompilerABI.cpp -quiet -dumpbase CMakeCXXCompilerABI.cpp -mtune=generic -march=x86-64 -auxbase-strip CMakeFiles/cmTC_63a6b.dir/CMakeCXXCompilerABI.cpp.o -version -o /tmp/ccNaPuBJ.s]
ignore line: [GNU C++ (GCC) version 4.8.5 20150623 (Red Hat 4.8.5-44) (x86_64-redhat-linux)]
ignore line: [ compiled by GNU C version 4.8.5 20150623 (Red Hat 4.8.5-44) GMP version 6.0.0 MPFR version 3.1.1 MPC version 1.0.1]
ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072]
ignore line: [ignoring nonexistent directory "/usr/lib/gcc/x86_64-redhat-linux/4.8.5/include-fixed"]
ignore line: [ignoring nonexistent directory "/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../x86_64-redhat-linux/include"]
ignore line: [#include "..." search starts here:]
ignore line: [#include <...> search starts here:]
ignore line: [ /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../include/c++/4.8.5]
ignore line: [ /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../include/c++/4.8.5/x86_64-redhat-linux]
ignore line: [ /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../include/c++/4.8.5/backward]
ignore line: [ /usr/lib/gcc/x86_64-redhat-linux/4.8.5/include]
ignore line: [ /usr/local/include]
ignore line: [ /usr/include]
ignore line: [End of search list.]
ignore line: [GNU C++ (GCC) version 4.8.5 20150623 (Red Hat 4.8.5-44) (x86_64-redhat-linux)]
ignore line: [ compiled by GNU C version 4.8.5 20150623 (Red Hat 4.8.5-44) GMP version 6.0.0 MPFR version 3.1.1 MPC version 1.0.1]
ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072]
ignore line: [Compiler executable checksum: 51b2dcccf6085e5bfbbf3932e5685252]
ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_63a6b.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64']
ignore line: [ as -v --64 -o CMakeFiles/cmTC_63a6b.dir/CMakeCXXCompilerABI.cpp.o /tmp/ccNaPuBJ.s]
ignore line: [GNU assembler version 2.27 (x86_64-redhat-linux) using BFD version version 2.27-44.base.el7_9.1.tuxcare.els1]
ignore line: [COMPILER_PATH=/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/:/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/:/usr/libexec/gcc/x86_64-redhat-linux/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/:/usr/lib/gcc/x86_64-redhat-linux/]
ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-redhat-linux/4.8.5/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/:/lib/../lib64/:/usr/lib/../lib64/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../:/lib/:/usr/lib/]
ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_63a6b.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64']
ignore line: [Linking CXX executable cmTC_63a6b]
ignore line: [/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_63a6b.dir/link.txt --verbose=1]
ignore line: [/bin/g++ -v CMakeFiles/cmTC_63a6b.dir/CMakeCXXCompilerABI.cpp.o -o cmTC_63a6b ]
ignore line: [Using built-in specs.]
ignore line: [COLLECT_GCC=/bin/g++]
ignore line: [COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/lto-wrapper]
ignore line: [Target: x86_64-redhat-linux]
ignore line: [Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-linker-hash-style=gnu --enable-languages=c c++ objc obj-c++ java fortran ada go lto --enable-plugin --enable-initfini-array --disable-libgcj --with-isl=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/isl-install --with-cloog=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/cloog-install --enable-gnu-indirect-function --with-tune=generic --with-arch_32=x86-64 --build=x86_64-redhat-linux]
ignore line: [Thread model: posix]
ignore line: [gcc version 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC) ]
ignore line: [COMPILER_PATH=/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/:/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/:/usr/libexec/gcc/x86_64-redhat-linux/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/:/usr/lib/gcc/x86_64-redhat-linux/]
ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-redhat-linux/4.8.5/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/:/lib/../lib64/:/usr/lib/../lib64/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../:/lib/:/usr/lib/]
ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_63a6b' '-shared-libgcc' '-mtune=generic' '-march=x86-64']
link line: [ /usr/libexec/gcc/x86_64-redhat-linux/4.8.5/collect2 --build-id --no-add-needed --eh-frame-hdr --hash-style=gnu -m elf_x86_64 -dynamic-linker /lib64/ld-linux-x86-64.so.2 -o cmTC_63a6b /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/crt1.o /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/crti.o /usr/lib/gcc/x86_64-redhat-linux/4.8.5/crtbegin.o -L/usr/lib/gcc/x86_64-redhat-linux/4.8.5 -L/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64 -L/lib/../lib64 -L/usr/lib/../lib64 -L/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../.. CMakeFiles/cmTC_63a6b.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-redhat-linux/4.8.5/crtend.o /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/crtn.o]
arg [/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/collect2] ==> ignore
arg [--build-id] ==> ignore
arg [--no-add-needed] ==> ignore
arg [--eh-frame-hdr] ==> ignore
arg [--hash-style=gnu] ==> ignore
arg [-m] ==> ignore
arg [elf_x86_64] ==> ignore
arg [-dynamic-linker] ==> ignore
arg [/lib64/ld-linux-x86-64.so.2] ==> ignore
arg [-o] ==> ignore
arg [cmTC_63a6b] ==> ignore
arg [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/crt1.o] ==> obj [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/crt1.o]
arg [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/crti.o] ==> obj [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/crti.o]
arg [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/crtbegin.o] ==> obj [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/crtbegin.o]
arg [-L/usr/lib/gcc/x86_64-redhat-linux/4.8.5] ==> dir [/usr/lib/gcc/x86_64-redhat-linux/4.8.5]
arg [-L/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64] ==> dir [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64]
arg [-L/lib/../lib64] ==> dir [/lib/../lib64]
arg [-L/usr/lib/../lib64] ==> dir [/usr/lib/../lib64]
arg [-L/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../..] ==> dir [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../..]
arg [CMakeFiles/cmTC_63a6b.dir/CMakeCXXCompilerABI.cpp.o] ==> ignore
arg [-lstdc++] ==> lib [stdc++]
arg [-lm] ==> lib [m]
arg [-lgcc_s] ==> lib [gcc_s]
arg [-lgcc] ==> lib [gcc]
arg [-lc] ==> lib [c]
arg [-lgcc_s] ==> lib [gcc_s]
arg [-lgcc] ==> lib [gcc]
arg [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/crtend.o] ==> obj [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/crtend.o]
arg [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/crtn.o] ==> obj [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/crtn.o]
collapse obj [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/crt1.o] ==> [/usr/lib64/crt1.o]
collapse obj [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/crti.o] ==> [/usr/lib64/crti.o]
collapse obj [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/crtn.o] ==> [/usr/lib64/crtn.o]
collapse library dir [/usr/lib/gcc/x86_64-redhat-linux/4.8.5] ==> [/usr/lib/gcc/x86_64-redhat-linux/4.8.5]
collapse library dir [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64] ==> [/usr/lib64]
collapse library dir [/lib/../lib64] ==> [/lib64]
collapse library dir [/usr/lib/../lib64] ==> [/usr/lib64]
collapse library dir [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../..] ==> [/usr/lib]
implicit libs: [stdc++;m;gcc_s;gcc;c;gcc_s;gcc]
implicit objs: [/usr/lib64/crt1.o;/usr/lib64/crti.o;/usr/lib/gcc/x86_64-redhat-linux/4.8.5/crtbegin.o;/usr/lib/gcc/x86_64-redhat-linux/4.8.5/crtend.o;/usr/lib64/crtn.o]
implicit dirs: [/usr/lib/gcc/x86_64-redhat-linux/4.8.5;/usr/lib64;/lib64;/usr/lib]
implicit fwks: []
Detecting CXX [-std=c++1y] compiler features compiled with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-d2uitA
Run Build Command(s):/bin/gmake -f Makefile cmTC_17d65/fast && gmake -f CMakeFiles/cmTC_17d65.dir/build.make CMakeFiles/cmTC_17d65.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-d2uitA'
Building CXX object CMakeFiles/cmTC_17d65.dir/feature_tests.cxx.o
/bin/g++ -std=c++1y -o CMakeFiles/cmTC_17d65.dir/feature_tests.cxx.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-d2uitA/feature_tests.cxx
Linking CXX executable cmTC_17d65
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_17d65.dir/link.txt --verbose=1
/bin/g++ CMakeFiles/cmTC_17d65.dir/feature_tests.cxx.o -o cmTC_17d65
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-d2uitA'
Feature record: CXX_FEATURE:1cxx_template_template_parameters
Feature record: CXX_FEATURE:1cxx_alias_templates
Feature record: CXX_FEATURE:1cxx_alignas
Feature record: CXX_FEATURE:1cxx_alignof
Feature record: CXX_FEATURE:1cxx_attributes
Feature record: CXX_FEATURE:1cxx_auto_type
Feature record: CXX_FEATURE:1cxx_constexpr
Feature record: CXX_FEATURE:1cxx_decltype
Feature record: CXX_FEATURE:1cxx_decltype_incomplete_return_types
Feature record: CXX_FEATURE:1cxx_default_function_template_args
Feature record: CXX_FEATURE:1cxx_defaulted_functions
Feature record: CXX_FEATURE:1cxx_defaulted_move_initializers
Feature record: CXX_FEATURE:1cxx_delegating_constructors
Feature record: CXX_FEATURE:1cxx_deleted_functions
Feature record: CXX_FEATURE:1cxx_enum_forward_declarations
Feature record: CXX_FEATURE:1cxx_explicit_conversions
Feature record: CXX_FEATURE:1cxx_extended_friend_declarations
Feature record: CXX_FEATURE:1cxx_extern_templates
Feature record: CXX_FEATURE:1cxx_final
Feature record: CXX_FEATURE:1cxx_func_identifier
Feature record: CXX_FEATURE:1cxx_generalized_initializers
Feature record: CXX_FEATURE:1cxx_inheriting_constructors
Feature record: CXX_FEATURE:1cxx_inline_namespaces
Feature record: CXX_FEATURE:1cxx_lambdas
Feature record: CXX_FEATURE:1cxx_local_type_template_args
Feature record: CXX_FEATURE:1cxx_long_long_type
Feature record: CXX_FEATURE:1cxx_noexcept
Feature record: CXX_FEATURE:1cxx_nonstatic_member_init
Feature record: CXX_FEATURE:1cxx_nullptr
Feature record: CXX_FEATURE:1cxx_override
Feature record: CXX_FEATURE:1cxx_range_for
Feature record: CXX_FEATURE:1cxx_raw_string_literals
Feature record: CXX_FEATURE:1cxx_reference_qualified_functions
Feature record: CXX_FEATURE:1cxx_right_angle_brackets
Feature record: CXX_FEATURE:1cxx_rvalue_references
Feature record: CXX_FEATURE:1cxx_sizeof_member
Feature record: CXX_FEATURE:1cxx_static_assert
Feature record: CXX_FEATURE:1cxx_strong_enums
Feature record: CXX_FEATURE:1cxx_thread_local
Feature record: CXX_FEATURE:1cxx_trailing_return_types
Feature record: CXX_FEATURE:1cxx_unicode_literals
Feature record: CXX_FEATURE:1cxx_uniform_initialization
Feature record: CXX_FEATURE:1cxx_unrestricted_unions
Feature record: CXX_FEATURE:1cxx_user_literals
Feature record: CXX_FEATURE:1cxx_variadic_macros
Feature record: CXX_FEATURE:1cxx_variadic_templates
Feature record: CXX_FEATURE:0cxx_aggregate_default_initializers
Feature record: CXX_FEATURE:0cxx_attribute_deprecated
Feature record: CXX_FEATURE:0cxx_binary_literals
Feature record: CXX_FEATURE:0cxx_contextual_conversions
Feature record: CXX_FEATURE:0cxx_decltype_auto
Feature record: CXX_FEATURE:0cxx_digit_separators
Feature record: CXX_FEATURE:0cxx_generic_lambdas
Feature record: CXX_FEATURE:0cxx_lambda_init_captures
Feature record: CXX_FEATURE:0cxx_relaxed_constexpr
Feature record: CXX_FEATURE:0cxx_return_type_deduction
Feature record: CXX_FEATURE:0cxx_variable_templates
Determining if compiler supports C++ unique_ptr passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeTmp
Run Build Command(s):/bin/gmake -f Makefile cmTC_ec715/fast && gmake -f CMakeFiles/cmTC_ec715.dir/build.make CMakeFiles/cmTC_ec715.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeTmp'
Building CXX object CMakeFiles/cmTC_ec715.dir/cm_cxx_unique_ptr.cxx.o
/bin/g++ -std=gnu++11 -o CMakeFiles/cmTC_ec715.dir/cm_cxx_unique_ptr.cxx.o -c /usr/src/cmake-3.25.0/Source/Checks/cm_cxx_unique_ptr.cxx
Linking CXX executable cmTC_ec715
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_ec715.dir/link.txt --verbose=1
/bin/g++ CMakeFiles/cmTC_ec715.dir/cm_cxx_unique_ptr.cxx.o -o cmTC_ec715
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeTmp'
Determining if the unsetenv exist passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-5CA1fF
Run Build Command(s):/bin/gmake -f Makefile cmTC_8c108/fast && gmake -f CMakeFiles/cmTC_8c108.dir/build.make CMakeFiles/cmTC_8c108.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-5CA1fF'
Building C object CMakeFiles/cmTC_8c108.dir/CheckSymbolExists.c.o
/bin/gcc -std=gnu99 -o CMakeFiles/cmTC_8c108.dir/CheckSymbolExists.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-5CA1fF/CheckSymbolExists.c
Linking C executable cmTC_8c108
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_8c108.dir/link.txt --verbose=1
/bin/gcc CMakeFiles/cmTC_8c108.dir/CheckSymbolExists.c.o -o cmTC_8c108
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-5CA1fF'
File CheckSymbolExists.c:
/* */
#include <stdlib.h>
int main(int argc, char** argv)
{
(void)argv;
#ifndef unsetenv
return ((int*)(&unsetenv))[argc];
#else
(void)argc;
return 0;
#endif
}
Determining if the function pthread_create exists in the pthread passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-BKDQ5Z
Run Build Command(s):/bin/gmake -f Makefile cmTC_a3f5d/fast && gmake -f CMakeFiles/cmTC_a3f5d.dir/build.make CMakeFiles/cmTC_a3f5d.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-BKDQ5Z'
Building C object CMakeFiles/cmTC_a3f5d.dir/CheckFunctionExists.c.o
/bin/gcc -DCHECK_FUNCTION_EXISTS=pthread_create -std=gnu99 -o CMakeFiles/cmTC_a3f5d.dir/CheckFunctionExists.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-BKDQ5Z/CheckFunctionExists.c
Linking C executable cmTC_a3f5d
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_a3f5d.dir/link.txt --verbose=1
/bin/gcc -DCHECK_FUNCTION_EXISTS=pthread_create CMakeFiles/cmTC_a3f5d.dir/CheckFunctionExists.c.o -o cmTC_a3f5d -lpthread
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-BKDQ5Z'
Checking whether wstring is available compiled with the following output:
Change Dir: /usr/src/cmake-3.25.0/Source/kwsys/CMakeFiles/CMakeTmp
Run Build Command(s):/bin/gmake -f Makefile cmTC_d0e59/fast && gmake -f CMakeFiles/cmTC_d0e59.dir/build.make CMakeFiles/cmTC_d0e59.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/Source/kwsys/CMakeFiles/CMakeTmp'
Building CXX object CMakeFiles/cmTC_d0e59.dir/kwsysPlatformTestsCXX.cxx.o
/bin/g++ -DTEST_KWSYS_STL_HAS_WSTRING -std=gnu++11 -o CMakeFiles/cmTC_d0e59.dir/kwsysPlatformTestsCXX.cxx.o -c /usr/src/cmake-3.25.0/Source/kwsys/kwsysPlatformTestsCXX.cxx
Linking CXX executable cmTC_d0e59
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_d0e59.dir/link.txt --verbose=1
/bin/g++ CMakeFiles/cmTC_d0e59.dir/kwsysPlatformTestsCXX.cxx.o -o cmTC_d0e59
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/Source/kwsys/CMakeFiles/CMakeTmp'
Checking whether C compiler has ptrdiff_t in stddef.h compiled with the following output:
Change Dir: /usr/src/cmake-3.25.0/Source/kwsys/CMakeFiles/CMakeTmp
Run Build Command(s):/bin/gmake -f Makefile cmTC_e0cdd/fast && gmake -f CMakeFiles/cmTC_e0cdd.dir/build.make CMakeFiles/cmTC_e0cdd.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/Source/kwsys/CMakeFiles/CMakeTmp'
Building C object CMakeFiles/cmTC_e0cdd.dir/kwsysPlatformTestsC.c.o
/bin/gcc -DTEST_KWSYS_C_HAS_PTRDIFF_T -std=gnu99 -o CMakeFiles/cmTC_e0cdd.dir/kwsysPlatformTestsC.c.o -c /usr/src/cmake-3.25.0/Source/kwsys/kwsysPlatformTestsC.c
Linking C executable cmTC_e0cdd
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_e0cdd.dir/link.txt --verbose=1
/bin/gcc CMakeFiles/cmTC_e0cdd.dir/kwsysPlatformTestsC.c.o -o cmTC_e0cdd
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/Source/kwsys/CMakeFiles/CMakeTmp'
Checking whether C compiler has ssize_t in unistd.h compiled with the following output:
Change Dir: /usr/src/cmake-3.25.0/Source/kwsys/CMakeFiles/CMakeTmp
Run Build Command(s):/bin/gmake -f Makefile cmTC_43a3d/fast && gmake -f CMakeFiles/cmTC_43a3d.dir/build.make CMakeFiles/cmTC_43a3d.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/Source/kwsys/CMakeFiles/CMakeTmp'
Building C object CMakeFiles/cmTC_43a3d.dir/kwsysPlatformTestsC.c.o
/bin/gcc -DTEST_KWSYS_C_HAS_SSIZE_T -std=gnu99 -o CMakeFiles/cmTC_43a3d.dir/kwsysPlatformTestsC.c.o -c /usr/src/cmake-3.25.0/Source/kwsys/kwsysPlatformTestsC.c
Linking C executable cmTC_43a3d
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_43a3d.dir/link.txt --verbose=1
/bin/gcc CMakeFiles/cmTC_43a3d.dir/kwsysPlatformTestsC.c.o -o cmTC_43a3d
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/Source/kwsys/CMakeFiles/CMakeTmp'
Checking whether C compiler has clock_gettime compiled with the following output:
Change Dir: /usr/src/cmake-3.25.0/Source/kwsys/CMakeFiles/CMakeTmp
Run Build Command(s):/bin/gmake -f Makefile cmTC_22ff2/fast && gmake -f CMakeFiles/cmTC_22ff2.dir/build.make CMakeFiles/cmTC_22ff2.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/Source/kwsys/CMakeFiles/CMakeTmp'
Building C object CMakeFiles/cmTC_22ff2.dir/kwsysPlatformTestsC.c.o
/bin/gcc -DTEST_KWSYS_C_HAS_CLOCK_GETTIME_MONOTONIC -std=gnu99 -o CMakeFiles/cmTC_22ff2.dir/kwsysPlatformTestsC.c.o -c /usr/src/cmake-3.25.0/Source/kwsys/kwsysPlatformTestsC.c
Linking C executable cmTC_22ff2
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_22ff2.dir/link.txt --verbose=1
/bin/gcc CMakeFiles/cmTC_22ff2.dir/kwsysPlatformTestsC.c.o -o cmTC_22ff2
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/Source/kwsys/CMakeFiles/CMakeTmp'
Checking whether CXX compiler has setenv compiled with the following output:
Change Dir: /usr/src/cmake-3.25.0/Source/kwsys/CMakeFiles/CMakeTmp
Run Build Command(s):/bin/gmake -f Makefile cmTC_1181b/fast && gmake -f CMakeFiles/cmTC_1181b.dir/build.make CMakeFiles/cmTC_1181b.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/Source/kwsys/CMakeFiles/CMakeTmp'
Building CXX object CMakeFiles/cmTC_1181b.dir/kwsysPlatformTestsCXX.cxx.o
/bin/g++ -DTEST_KWSYS_CXX_HAS_SETENV -std=gnu++11 -o CMakeFiles/cmTC_1181b.dir/kwsysPlatformTestsCXX.cxx.o -c /usr/src/cmake-3.25.0/Source/kwsys/kwsysPlatformTestsCXX.cxx
Linking CXX executable cmTC_1181b
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_1181b.dir/link.txt --verbose=1
/bin/g++ CMakeFiles/cmTC_1181b.dir/kwsysPlatformTestsCXX.cxx.o -o cmTC_1181b
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/Source/kwsys/CMakeFiles/CMakeTmp'
Checking whether CXX compiler has unsetenv compiled with the following output:
Change Dir: /usr/src/cmake-3.25.0/Source/kwsys/CMakeFiles/CMakeTmp
Run Build Command(s):/bin/gmake -f Makefile cmTC_e07f4/fast && gmake -f CMakeFiles/cmTC_e07f4.dir/build.make CMakeFiles/cmTC_e07f4.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/Source/kwsys/CMakeFiles/CMakeTmp'
Building CXX object CMakeFiles/cmTC_e07f4.dir/kwsysPlatformTestsCXX.cxx.o
/bin/g++ -DTEST_KWSYS_CXX_HAS_UNSETENV -std=gnu++11 -o CMakeFiles/cmTC_e07f4.dir/kwsysPlatformTestsCXX.cxx.o -c /usr/src/cmake-3.25.0/Source/kwsys/kwsysPlatformTestsCXX.cxx
Linking CXX executable cmTC_e07f4
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_e07f4.dir/link.txt --verbose=1
/bin/g++ CMakeFiles/cmTC_e07f4.dir/kwsysPlatformTestsCXX.cxx.o -o cmTC_e07f4
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/Source/kwsys/CMakeFiles/CMakeTmp'
Checking whether CXX compiler has utimes compiled with the following output:
Change Dir: /usr/src/cmake-3.25.0/Source/kwsys/CMakeFiles/CMakeTmp
Run Build Command(s):/bin/gmake -f Makefile cmTC_55cc8/fast && gmake -f CMakeFiles/cmTC_55cc8.dir/build.make CMakeFiles/cmTC_55cc8.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/Source/kwsys/CMakeFiles/CMakeTmp'
Building CXX object CMakeFiles/cmTC_55cc8.dir/kwsysPlatformTestsCXX.cxx.o
/bin/g++ -DTEST_KWSYS_CXX_HAS_UTIMES -std=gnu++11 -o CMakeFiles/cmTC_55cc8.dir/kwsysPlatformTestsCXX.cxx.o -c /usr/src/cmake-3.25.0/Source/kwsys/kwsysPlatformTestsCXX.cxx
Linking CXX executable cmTC_55cc8
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_55cc8.dir/link.txt --verbose=1
/bin/g++ CMakeFiles/cmTC_55cc8.dir/kwsysPlatformTestsCXX.cxx.o -o cmTC_55cc8
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/Source/kwsys/CMakeFiles/CMakeTmp'
Checking whether CXX compiler has utimensat compiled with the following output:
Change Dir: /usr/src/cmake-3.25.0/Source/kwsys/CMakeFiles/CMakeTmp
Run Build Command(s):/bin/gmake -f Makefile cmTC_2d113/fast && gmake -f CMakeFiles/cmTC_2d113.dir/build.make CMakeFiles/cmTC_2d113.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/Source/kwsys/CMakeFiles/CMakeTmp'
Building CXX object CMakeFiles/cmTC_2d113.dir/kwsysPlatformTestsCXX.cxx.o
/bin/g++ -DTEST_KWSYS_CXX_HAS_UTIMENSAT -std=gnu++11 -o CMakeFiles/cmTC_2d113.dir/kwsysPlatformTestsCXX.cxx.o -c /usr/src/cmake-3.25.0/Source/kwsys/kwsysPlatformTestsCXX.cxx
Linking CXX executable cmTC_2d113
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_2d113.dir/link.txt --verbose=1
/bin/g++ CMakeFiles/cmTC_2d113.dir/kwsysPlatformTestsCXX.cxx.o -o cmTC_2d113
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/Source/kwsys/CMakeFiles/CMakeTmp'
Checking whether CXX compiler struct stat has st_mtim member compiled with the following output:
Change Dir: /usr/src/cmake-3.25.0/Source/kwsys/CMakeFiles/CMakeTmp
Run Build Command(s):/bin/gmake -f Makefile cmTC_65b8b/fast && gmake -f CMakeFiles/cmTC_65b8b.dir/build.make CMakeFiles/cmTC_65b8b.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/Source/kwsys/CMakeFiles/CMakeTmp'
Building CXX object CMakeFiles/cmTC_65b8b.dir/kwsysPlatformTestsCXX.cxx.o
/bin/g++ -DTEST_KWSYS_CXX_STAT_HAS_ST_MTIM -std=gnu++11 -o CMakeFiles/cmTC_65b8b.dir/kwsysPlatformTestsCXX.cxx.o -c /usr/src/cmake-3.25.0/Source/kwsys/kwsysPlatformTestsCXX.cxx
Linking CXX executable cmTC_65b8b
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_65b8b.dir/link.txt --verbose=1
/bin/g++ CMakeFiles/cmTC_65b8b.dir/kwsysPlatformTestsCXX.cxx.o -o cmTC_65b8b
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/Source/kwsys/CMakeFiles/CMakeTmp'
Determining if files sys/types.h;ifaddrs.h exist passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-sYbtd8
Run Build Command(s):/bin/gmake -f Makefile cmTC_1e773/fast && gmake -f CMakeFiles/cmTC_1e773.dir/build.make CMakeFiles/cmTC_1e773.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-sYbtd8'
Building C object CMakeFiles/cmTC_1e773.dir/KWSYS_SYS_HAS_IFADDRS_H.c.o
/bin/gcc -std=gnu99 -o CMakeFiles/cmTC_1e773.dir/KWSYS_SYS_HAS_IFADDRS_H.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-sYbtd8/KWSYS_SYS_HAS_IFADDRS_H.c
Linking C executable cmTC_1e773
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_1e773.dir/link.txt --verbose=1
/bin/gcc CMakeFiles/cmTC_1e773.dir/KWSYS_SYS_HAS_IFADDRS_H.c.o -o cmTC_1e773
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-sYbtd8'
Checking whether CXX compiler has rlimit64 compiled with the following output:
Change Dir: /usr/src/cmake-3.25.0/Source/kwsys/CMakeFiles/CMakeTmp
Run Build Command(s):/bin/gmake -f Makefile cmTC_4818d/fast && gmake -f CMakeFiles/cmTC_4818d.dir/build.make CMakeFiles/cmTC_4818d.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/Source/kwsys/CMakeFiles/CMakeTmp'
Building CXX object CMakeFiles/cmTC_4818d.dir/kwsysPlatformTestsCXX.cxx.o
/bin/g++ -DTEST_KWSYS_CXX_HAS_RLIMIT64 -std=gnu++11 -o CMakeFiles/cmTC_4818d.dir/kwsysPlatformTestsCXX.cxx.o -c /usr/src/cmake-3.25.0/Source/kwsys/kwsysPlatformTestsCXX.cxx
Linking CXX executable cmTC_4818d
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_4818d.dir/link.txt --verbose=1
/bin/g++ CMakeFiles/cmTC_4818d.dir/kwsysPlatformTestsCXX.cxx.o -o cmTC_4818d
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/Source/kwsys/CMakeFiles/CMakeTmp'
Determining if the include file execinfo.h exists passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-mBuyOg
Run Build Command(s):/bin/gmake -f Makefile cmTC_72b3e/fast && gmake -f CMakeFiles/cmTC_72b3e.dir/build.make CMakeFiles/cmTC_72b3e.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-mBuyOg'
Building CXX object CMakeFiles/cmTC_72b3e.dir/CheckIncludeFile.cxx.o
/bin/g++ -std=gnu++11 -o CMakeFiles/cmTC_72b3e.dir/CheckIncludeFile.cxx.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-mBuyOg/CheckIncludeFile.cxx
Linking CXX executable cmTC_72b3e
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_72b3e.dir/link.txt --verbose=1
/bin/g++ CMakeFiles/cmTC_72b3e.dir/CheckIncludeFile.cxx.o -o cmTC_72b3e
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-mBuyOg'
Checking whether backtrace works with this C++ compiler compiled with the following output:
Change Dir: /usr/src/cmake-3.25.0/Source/kwsys/CMakeFiles/CMakeTmp
Run Build Command(s):/bin/gmake -f Makefile cmTC_fc5a1/fast && gmake -f CMakeFiles/cmTC_fc5a1.dir/build.make CMakeFiles/cmTC_fc5a1.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/Source/kwsys/CMakeFiles/CMakeTmp'
Building CXX object CMakeFiles/cmTC_fc5a1.dir/kwsysPlatformTestsCXX.cxx.o
/bin/g++ -DTEST_KWSYS_CXX_HAS_BACKTRACE -std=gnu++11 -o CMakeFiles/cmTC_fc5a1.dir/kwsysPlatformTestsCXX.cxx.o -c /usr/src/cmake-3.25.0/Source/kwsys/kwsysPlatformTestsCXX.cxx
Linking CXX executable cmTC_fc5a1
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_fc5a1.dir/link.txt --verbose=1
/bin/g++ CMakeFiles/cmTC_fc5a1.dir/kwsysPlatformTestsCXX.cxx.o -o cmTC_fc5a1
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/Source/kwsys/CMakeFiles/CMakeTmp'
Determining if the include file dlfcn.h exists passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-yZYkUp
Run Build Command(s):/bin/gmake -f Makefile cmTC_e1912/fast && gmake -f CMakeFiles/cmTC_e1912.dir/build.make CMakeFiles/cmTC_e1912.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-yZYkUp'
Building CXX object CMakeFiles/cmTC_e1912.dir/CheckIncludeFile.cxx.o
/bin/g++ -std=gnu++11 -o CMakeFiles/cmTC_e1912.dir/CheckIncludeFile.cxx.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-yZYkUp/CheckIncludeFile.cxx
Linking CXX executable cmTC_e1912
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_e1912.dir/link.txt --verbose=1
/bin/g++ CMakeFiles/cmTC_e1912.dir/CheckIncludeFile.cxx.o -o cmTC_e1912
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-yZYkUp'
Checking whether dladdr works with this C++ compiler compiled with the following output:
Change Dir: /usr/src/cmake-3.25.0/Source/kwsys/CMakeFiles/CMakeTmp
Run Build Command(s):/bin/gmake -f Makefile cmTC_ae6bd/fast && gmake -f CMakeFiles/cmTC_ae6bd.dir/build.make CMakeFiles/cmTC_ae6bd.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/Source/kwsys/CMakeFiles/CMakeTmp'
Building CXX object CMakeFiles/cmTC_ae6bd.dir/kwsysPlatformTestsCXX.cxx.o
/bin/g++ -DTEST_KWSYS_CXX_HAS_DLADDR -std=gnu++11 -o CMakeFiles/cmTC_ae6bd.dir/kwsysPlatformTestsCXX.cxx.o -c /usr/src/cmake-3.25.0/Source/kwsys/kwsysPlatformTestsCXX.cxx
Linking CXX executable cmTC_ae6bd
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_ae6bd.dir/link.txt --verbose=1
/bin/g++ CMakeFiles/cmTC_ae6bd.dir/kwsysPlatformTestsCXX.cxx.o -o cmTC_ae6bd -ldl
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/Source/kwsys/CMakeFiles/CMakeTmp'
Determining if the include file cxxabi.h exists passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-Onqapz
Run Build Command(s):/bin/gmake -f Makefile cmTC_e7440/fast && gmake -f CMakeFiles/cmTC_e7440.dir/build.make CMakeFiles/cmTC_e7440.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-Onqapz'
Building CXX object CMakeFiles/cmTC_e7440.dir/CheckIncludeFile.cxx.o
/bin/g++ -std=gnu++11 -o CMakeFiles/cmTC_e7440.dir/CheckIncludeFile.cxx.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-Onqapz/CheckIncludeFile.cxx
Linking CXX executable cmTC_e7440
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_e7440.dir/link.txt --verbose=1
/bin/g++ CMakeFiles/cmTC_e7440.dir/CheckIncludeFile.cxx.o -o cmTC_e7440
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-Onqapz'
Checking whether cxxabi works with this C++ compiler compiled with the following output:
Change Dir: /usr/src/cmake-3.25.0/Source/kwsys/CMakeFiles/CMakeTmp
Run Build Command(s):/bin/gmake -f Makefile cmTC_2beac/fast && gmake -f CMakeFiles/cmTC_2beac.dir/build.make CMakeFiles/cmTC_2beac.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/Source/kwsys/CMakeFiles/CMakeTmp'
Building CXX object CMakeFiles/cmTC_2beac.dir/kwsysPlatformTestsCXX.cxx.o
/bin/g++ -DTEST_KWSYS_CXX_HAS_CXXABI -std=gnu++11 -o CMakeFiles/cmTC_2beac.dir/kwsysPlatformTestsCXX.cxx.o -c /usr/src/cmake-3.25.0/Source/kwsys/kwsysPlatformTestsCXX.cxx
Linking CXX executable cmTC_2beac
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_2beac.dir/link.txt --verbose=1
/bin/g++ CMakeFiles/cmTC_2beac.dir/kwsysPlatformTestsCXX.cxx.o -o cmTC_2beac
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/Source/kwsys/CMakeFiles/CMakeTmp'
Checking whether CXX compiler has getloadavg compiled with the following output:
Change Dir: /usr/src/cmake-3.25.0/Source/kwsys/CMakeFiles/CMakeTmp
Run Build Command(s):/bin/gmake -f Makefile cmTC_2fcf1/fast && gmake -f CMakeFiles/cmTC_2fcf1.dir/build.make CMakeFiles/cmTC_2fcf1.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/Source/kwsys/CMakeFiles/CMakeTmp'
Building CXX object CMakeFiles/cmTC_2fcf1.dir/kwsysPlatformTestsCXX.cxx.o
/bin/g++ -DTEST_KWSYS_CXX_HAS_GETLOADAVG -std=gnu++11 -o CMakeFiles/cmTC_2fcf1.dir/kwsysPlatformTestsCXX.cxx.o -c /usr/src/cmake-3.25.0/Source/kwsys/kwsysPlatformTestsCXX.cxx
Linking CXX executable cmTC_2fcf1
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_2fcf1.dir/link.txt --verbose=1
/bin/g++ CMakeFiles/cmTC_2fcf1.dir/kwsysPlatformTestsCXX.cxx.o -o cmTC_2fcf1
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/Source/kwsys/CMakeFiles/CMakeTmp'
Checking whether <ext/stdio_filebuf.h> is available compiled with the following output:
Change Dir: /usr/src/cmake-3.25.0/Source/kwsys/CMakeFiles/CMakeTmp
Run Build Command(s):/bin/gmake -f Makefile cmTC_b3d75/fast && gmake -f CMakeFiles/cmTC_b3d75.dir/build.make CMakeFiles/cmTC_b3d75.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/Source/kwsys/CMakeFiles/CMakeTmp'
Building CXX object CMakeFiles/cmTC_b3d75.dir/kwsysPlatformTestsCXX.cxx.o
/bin/g++ -DTEST_KWSYS_CXX_HAS_EXT_STDIO_FILEBUF_H -std=gnu++11 -o CMakeFiles/cmTC_b3d75.dir/kwsysPlatformTestsCXX.cxx.o -c /usr/src/cmake-3.25.0/Source/kwsys/kwsysPlatformTestsCXX.cxx
Linking CXX executable cmTC_b3d75
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_b3d75.dir/link.txt --verbose=1
/bin/g++ CMakeFiles/cmTC_b3d75.dir/kwsysPlatformTestsCXX.cxx.o -o cmTC_b3d75
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/Source/kwsys/CMakeFiles/CMakeTmp'
Performing C SOURCE FILE Test HAVE_SOCKADDR_IN6_SIN6_ADDR succeeded with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-BtqbhK
Run Build Command(s):/bin/gmake -f Makefile cmTC_e9e2f/fast && gmake -f CMakeFiles/cmTC_e9e2f.dir/build.make CMakeFiles/cmTC_e9e2f.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-BtqbhK'
Building C object CMakeFiles/cmTC_e9e2f.dir/src.c.o
/bin/gcc -DHAVE_SOCKADDR_IN6_SIN6_ADDR -w -std=gnu99 -o CMakeFiles/cmTC_e9e2f.dir/src.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-BtqbhK/src.c
Linking C executable cmTC_e9e2f
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_e9e2f.dir/link.txt --verbose=1
/bin/gcc -w CMakeFiles/cmTC_e9e2f.dir/src.c.o -o cmTC_e9e2f
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-BtqbhK'
Source file was:
#include <netinet/in.h>
int main()
{
(void)sizeof(((struct sockaddr_in6 *)0)->sin6_addr);
return 0;
}
Performing C SOURCE FILE Test HAVE_SOCKADDR_IN6_SIN6_SCOPE_ID succeeded with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-O331lV
Run Build Command(s):/bin/gmake -f Makefile cmTC_e1eb1/fast && gmake -f CMakeFiles/cmTC_e1eb1.dir/build.make CMakeFiles/cmTC_e1eb1.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-O331lV'
Building C object CMakeFiles/cmTC_e1eb1.dir/src.c.o
/bin/gcc -DHAVE_SOCKADDR_IN6_SIN6_SCOPE_ID -w -std=gnu99 -o CMakeFiles/cmTC_e1eb1.dir/src.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-O331lV/src.c
Linking C executable cmTC_e1eb1
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_e1eb1.dir/link.txt --verbose=1
/bin/gcc -w CMakeFiles/cmTC_e1eb1.dir/src.c.o -o cmTC_e1eb1
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-O331lV'
Source file was:
#include <netinet/in.h>
int main()
{
(void)sizeof(((struct sockaddr_in6 *)0)->sin6_scope_id);
return 0;
}
Determining if the function gethostname exists passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-1Qdt5h
Run Build Command(s):/bin/gmake -f Makefile cmTC_94fc7/fast && gmake -f CMakeFiles/cmTC_94fc7.dir/build.make CMakeFiles/cmTC_94fc7.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-1Qdt5h'
Building C object CMakeFiles/cmTC_94fc7.dir/CheckFunctionExists.c.o
/bin/gcc -w -DCHECK_FUNCTION_EXISTS=gethostname -std=gnu99 -o CMakeFiles/cmTC_94fc7.dir/CheckFunctionExists.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-1Qdt5h/CheckFunctionExists.c
Linking C executable cmTC_94fc7
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_94fc7.dir/link.txt --verbose=1
/bin/gcc -w -DCHECK_FUNCTION_EXISTS=gethostname CMakeFiles/cmTC_94fc7.dir/CheckFunctionExists.c.o -o cmTC_94fc7
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-1Qdt5h'
Determining if files ;inttypes.h exist passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-sMKWbS
Run Build Command(s):/bin/gmake -f Makefile cmTC_6b3b8/fast && gmake -f CMakeFiles/cmTC_6b3b8.dir/build.make CMakeFiles/cmTC_6b3b8.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-sMKWbS'
Building C object CMakeFiles/cmTC_6b3b8.dir/HAVE_INTTYPES_H.c.o
/bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_6b3b8.dir/HAVE_INTTYPES_H.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-sMKWbS/HAVE_INTTYPES_H.c
Linking C executable cmTC_6b3b8
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_6b3b8.dir/link.txt --verbose=1
/bin/gcc -w CMakeFiles/cmTC_6b3b8.dir/HAVE_INTTYPES_H.c.o -o cmTC_6b3b8
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-sMKWbS'
Determining if files inttypes.h;sys/ioctl.h exist passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-4HdZbh
Run Build Command(s):/bin/gmake -f Makefile cmTC_c2c70/fast && gmake -f CMakeFiles/cmTC_c2c70.dir/build.make CMakeFiles/cmTC_c2c70.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-4HdZbh'
Building C object CMakeFiles/cmTC_c2c70.dir/HAVE_SYS_IOCTL_H.c.o
/bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_c2c70.dir/HAVE_SYS_IOCTL_H.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-4HdZbh/HAVE_SYS_IOCTL_H.c
Linking C executable cmTC_c2c70
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_c2c70.dir/link.txt --verbose=1
/bin/gcc -w CMakeFiles/cmTC_c2c70.dir/HAVE_SYS_IOCTL_H.c.o -o cmTC_c2c70
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-4HdZbh'
Determining if files inttypes.h;sys/ioctl.h;sys/param.h exist passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-evSTXt
Run Build Command(s):/bin/gmake -f Makefile cmTC_a894c/fast && gmake -f CMakeFiles/cmTC_a894c.dir/build.make CMakeFiles/cmTC_a894c.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-evSTXt'
Building C object CMakeFiles/cmTC_a894c.dir/HAVE_SYS_PARAM_H.c.o
/bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_a894c.dir/HAVE_SYS_PARAM_H.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-evSTXt/HAVE_SYS_PARAM_H.c
Linking C executable cmTC_a894c
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_a894c.dir/link.txt --verbose=1
/bin/gcc -w CMakeFiles/cmTC_a894c.dir/HAVE_SYS_PARAM_H.c.o -o cmTC_a894c
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-evSTXt'
Determining if files inttypes.h;sys/ioctl.h;sys/param.h;sys/poll.h exist passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-UmHnWG
Run Build Command(s):/bin/gmake -f Makefile cmTC_b305e/fast && gmake -f CMakeFiles/cmTC_b305e.dir/build.make CMakeFiles/cmTC_b305e.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-UmHnWG'
Building C object CMakeFiles/cmTC_b305e.dir/HAVE_SYS_POLL_H.c.o
/bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_b305e.dir/HAVE_SYS_POLL_H.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-UmHnWG/HAVE_SYS_POLL_H.c
Linking C executable cmTC_b305e
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_b305e.dir/link.txt --verbose=1
/bin/gcc -w CMakeFiles/cmTC_b305e.dir/HAVE_SYS_POLL_H.c.o -o cmTC_b305e
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-UmHnWG'
Determining if files inttypes.h;sys/ioctl.h;sys/param.h;sys/poll.h;sys/resource.h exist passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-cV616T
Run Build Command(s):/bin/gmake -f Makefile cmTC_cbe08/fast && gmake -f CMakeFiles/cmTC_cbe08.dir/build.make CMakeFiles/cmTC_cbe08.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-cV616T'
Building C object CMakeFiles/cmTC_cbe08.dir/HAVE_SYS_RESOURCE_H.c.o
/bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_cbe08.dir/HAVE_SYS_RESOURCE_H.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-cV616T/HAVE_SYS_RESOURCE_H.c
Linking C executable cmTC_cbe08
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_cbe08.dir/link.txt --verbose=1
/bin/gcc -w CMakeFiles/cmTC_cbe08.dir/HAVE_SYS_RESOURCE_H.c.o -o cmTC_cbe08
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-cV616T'
Determining if files inttypes.h;sys/ioctl.h;sys/param.h;sys/poll.h;sys/resource.h;sys/select.h exist passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-2KSBt7
Run Build Command(s):/bin/gmake -f Makefile cmTC_b70d5/fast && gmake -f CMakeFiles/cmTC_b70d5.dir/build.make CMakeFiles/cmTC_b70d5.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-2KSBt7'
Building C object CMakeFiles/cmTC_b70d5.dir/HAVE_SYS_SELECT_H.c.o
/bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_b70d5.dir/HAVE_SYS_SELECT_H.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-2KSBt7/HAVE_SYS_SELECT_H.c
Linking C executable cmTC_b70d5
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_b70d5.dir/link.txt --verbose=1
/bin/gcc -w CMakeFiles/cmTC_b70d5.dir/HAVE_SYS_SELECT_H.c.o -o cmTC_b70d5
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-2KSBt7'
Determining if files inttypes.h;sys/ioctl.h;sys/param.h;sys/poll.h;sys/resource.h;sys/select.h;sys/socket.h exist passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-fkC61k
Run Build Command(s):/bin/gmake -f Makefile cmTC_5d43f/fast && gmake -f CMakeFiles/cmTC_5d43f.dir/build.make CMakeFiles/cmTC_5d43f.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-fkC61k'
Building C object CMakeFiles/cmTC_5d43f.dir/HAVE_SYS_SOCKET_H.c.o
/bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_5d43f.dir/HAVE_SYS_SOCKET_H.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-fkC61k/HAVE_SYS_SOCKET_H.c
Linking C executable cmTC_5d43f
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_5d43f.dir/link.txt --verbose=1
/bin/gcc -w CMakeFiles/cmTC_5d43f.dir/HAVE_SYS_SOCKET_H.c.o -o cmTC_5d43f
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-fkC61k'
Determining if files inttypes.h;sys/ioctl.h;sys/param.h;sys/poll.h;sys/resource.h;sys/select.h;sys/socket.h;sys/stat.h exist passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-v06hLM
Run Build Command(s):/bin/gmake -f Makefile cmTC_a3850/fast && gmake -f CMakeFiles/cmTC_a3850.dir/build.make CMakeFiles/cmTC_a3850.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-v06hLM'
Building C object CMakeFiles/cmTC_a3850.dir/HAVE_SYS_STAT_H.c.o
/bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_a3850.dir/HAVE_SYS_STAT_H.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-v06hLM/HAVE_SYS_STAT_H.c
Linking C executable cmTC_a3850
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_a3850.dir/link.txt --verbose=1
/bin/gcc -w CMakeFiles/cmTC_a3850.dir/HAVE_SYS_STAT_H.c.o -o cmTC_a3850
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-v06hLM'
Determining if files inttypes.h;sys/ioctl.h;sys/param.h;sys/poll.h;sys/resource.h;sys/select.h;sys/socket.h;sys/stat.h;sys/time.h exist passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-bItyV0
Run Build Command(s):/bin/gmake -f Makefile cmTC_044fd/fast && gmake -f CMakeFiles/cmTC_044fd.dir/build.make CMakeFiles/cmTC_044fd.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-bItyV0'
Building C object CMakeFiles/cmTC_044fd.dir/HAVE_SYS_TIME_H.c.o
/bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_044fd.dir/HAVE_SYS_TIME_H.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-bItyV0/HAVE_SYS_TIME_H.c
Linking C executable cmTC_044fd
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_044fd.dir/link.txt --verbose=1
/bin/gcc -w CMakeFiles/cmTC_044fd.dir/HAVE_SYS_TIME_H.c.o -o cmTC_044fd
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-bItyV0'
Determining if files inttypes.h;sys/ioctl.h;sys/param.h;sys/poll.h;sys/resource.h;sys/select.h;sys/socket.h;sys/stat.h;sys/time.h;sys/types.h exist passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-ezzJhf
Run Build Command(s):/bin/gmake -f Makefile cmTC_d3272/fast && gmake -f CMakeFiles/cmTC_d3272.dir/build.make CMakeFiles/cmTC_d3272.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-ezzJhf'
Building C object CMakeFiles/cmTC_d3272.dir/HAVE_SYS_TYPES_H.c.o
/bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_d3272.dir/HAVE_SYS_TYPES_H.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-ezzJhf/HAVE_SYS_TYPES_H.c
Linking C executable cmTC_d3272
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_d3272.dir/link.txt --verbose=1
/bin/gcc -w CMakeFiles/cmTC_d3272.dir/HAVE_SYS_TYPES_H.c.o -o cmTC_d3272
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-ezzJhf'
Determining if files inttypes.h;sys/ioctl.h;sys/param.h;sys/poll.h;sys/resource.h;sys/select.h;sys/socket.h;sys/stat.h;sys/time.h;sys/types.h;sys/un.h exist passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-tf0aQt
Run Build Command(s):/bin/gmake -f Makefile cmTC_10d2f/fast && gmake -f CMakeFiles/cmTC_10d2f.dir/build.make CMakeFiles/cmTC_10d2f.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-tf0aQt'
Building C object CMakeFiles/cmTC_10d2f.dir/HAVE_SYS_UN_H.c.o
/bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_10d2f.dir/HAVE_SYS_UN_H.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-tf0aQt/HAVE_SYS_UN_H.c
Linking C executable cmTC_10d2f
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_10d2f.dir/link.txt --verbose=1
/bin/gcc -w CMakeFiles/cmTC_10d2f.dir/HAVE_SYS_UN_H.c.o -o cmTC_10d2f
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-tf0aQt'
Determining if files inttypes.h;sys/ioctl.h;sys/param.h;sys/poll.h;sys/resource.h;sys/select.h;sys/socket.h;sys/stat.h;sys/time.h;sys/types.h;sys/un.h;sys/xattr.h exist passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-TguUzX
Run Build Command(s):/bin/gmake -f Makefile cmTC_a15ac/fast && gmake -f CMakeFiles/cmTC_a15ac.dir/build.make CMakeFiles/cmTC_a15ac.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-TguUzX'
Building C object CMakeFiles/cmTC_a15ac.dir/HAVE_SYS_XATTR_H.c.o
/bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_a15ac.dir/HAVE_SYS_XATTR_H.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-TguUzX/HAVE_SYS_XATTR_H.c
Linking C executable cmTC_a15ac
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_a15ac.dir/link.txt --verbose=1
/bin/gcc -w CMakeFiles/cmTC_a15ac.dir/HAVE_SYS_XATTR_H.c.o -o cmTC_a15ac
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-TguUzX'
Determining if files inttypes.h;sys/ioctl.h;sys/param.h;sys/poll.h;sys/resource.h;sys/select.h;sys/socket.h;sys/stat.h;sys/time.h;sys/types.h;sys/un.h;sys/xattr.h;arpa/inet.h exist passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-cPMIKc
Run Build Command(s):/bin/gmake -f Makefile cmTC_af73d/fast && gmake -f CMakeFiles/cmTC_af73d.dir/build.make CMakeFiles/cmTC_af73d.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-cPMIKc'
Building C object CMakeFiles/cmTC_af73d.dir/HAVE_ARPA_INET_H.c.o
/bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_af73d.dir/HAVE_ARPA_INET_H.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-cPMIKc/HAVE_ARPA_INET_H.c
Linking C executable cmTC_af73d
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_af73d.dir/link.txt --verbose=1
/bin/gcc -w CMakeFiles/cmTC_af73d.dir/HAVE_ARPA_INET_H.c.o -o cmTC_af73d
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-cPMIKc'
Determining if files inttypes.h;sys/ioctl.h;sys/param.h;sys/poll.h;sys/resource.h;sys/select.h;sys/socket.h;sys/stat.h;sys/time.h;sys/types.h;sys/un.h;sys/xattr.h;arpa/inet.h;arpa/tftp.h exist passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-q5yW8r
Run Build Command(s):/bin/gmake -f Makefile cmTC_9eb28/fast && gmake -f CMakeFiles/cmTC_9eb28.dir/build.make CMakeFiles/cmTC_9eb28.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-q5yW8r'
Building C object CMakeFiles/cmTC_9eb28.dir/HAVE_ARPA_TFTP_H.c.o
/bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_9eb28.dir/HAVE_ARPA_TFTP_H.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-q5yW8r/HAVE_ARPA_TFTP_H.c
Linking C executable cmTC_9eb28
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_9eb28.dir/link.txt --verbose=1
/bin/gcc -w CMakeFiles/cmTC_9eb28.dir/HAVE_ARPA_TFTP_H.c.o -o cmTC_9eb28
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-q5yW8r'
Determining if files inttypes.h;sys/ioctl.h;sys/param.h;sys/poll.h;sys/resource.h;sys/select.h;sys/socket.h;sys/stat.h;sys/time.h;sys/types.h;sys/un.h;sys/xattr.h;arpa/inet.h;arpa/tftp.h;assert.h;errno.h exist passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-hpPYKH
Run Build Command(s):/bin/gmake -f Makefile cmTC_041ea/fast && gmake -f CMakeFiles/cmTC_041ea.dir/build.make CMakeFiles/cmTC_041ea.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-hpPYKH'
Building C object CMakeFiles/cmTC_041ea.dir/HAVE_ERRNO_H.c.o
/bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_041ea.dir/HAVE_ERRNO_H.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-hpPYKH/HAVE_ERRNO_H.c
Linking C executable cmTC_041ea
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_041ea.dir/link.txt --verbose=1
/bin/gcc -w CMakeFiles/cmTC_041ea.dir/HAVE_ERRNO_H.c.o -o cmTC_041ea
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-hpPYKH'
Determining if files inttypes.h;sys/ioctl.h;sys/param.h;sys/poll.h;sys/resource.h;sys/select.h;sys/socket.h;sys/stat.h;sys/time.h;sys/types.h;sys/un.h;sys/xattr.h;arpa/inet.h;arpa/tftp.h;assert.h;errno.h;fcntl.h exist passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-L5cWyX
Run Build Command(s):/bin/gmake -f Makefile cmTC_4d2e6/fast && gmake -f CMakeFiles/cmTC_4d2e6.dir/build.make CMakeFiles/cmTC_4d2e6.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-L5cWyX'
Building C object CMakeFiles/cmTC_4d2e6.dir/HAVE_FCNTL_H.c.o
/bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_4d2e6.dir/HAVE_FCNTL_H.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-L5cWyX/HAVE_FCNTL_H.c
Linking C executable cmTC_4d2e6
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_4d2e6.dir/link.txt --verbose=1
/bin/gcc -w CMakeFiles/cmTC_4d2e6.dir/HAVE_FCNTL_H.c.o -o cmTC_4d2e6
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-L5cWyX'
Determining if files inttypes.h;sys/ioctl.h;sys/param.h;sys/poll.h;sys/resource.h;sys/select.h;sys/socket.h;sys/stat.h;sys/time.h;sys/types.h;sys/un.h;sys/xattr.h;arpa/inet.h;arpa/tftp.h;assert.h;errno.h;fcntl.h;ifaddrs.h exist passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-MQWaPt
Run Build Command(s):/bin/gmake -f Makefile cmTC_8397b/fast && gmake -f CMakeFiles/cmTC_8397b.dir/build.make CMakeFiles/cmTC_8397b.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-MQWaPt'
Building C object CMakeFiles/cmTC_8397b.dir/HAVE_IFADDRS_H.c.o
/bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_8397b.dir/HAVE_IFADDRS_H.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-MQWaPt/HAVE_IFADDRS_H.c
Linking C executable cmTC_8397b
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_8397b.dir/link.txt --verbose=1
/bin/gcc -w CMakeFiles/cmTC_8397b.dir/HAVE_IFADDRS_H.c.o -o cmTC_8397b
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-MQWaPt'
Determining if files inttypes.h;sys/ioctl.h;sys/param.h;sys/poll.h;sys/resource.h;sys/select.h;sys/socket.h;sys/stat.h;sys/time.h;sys/types.h;sys/un.h;sys/xattr.h;arpa/inet.h;arpa/tftp.h;assert.h;errno.h;fcntl.h;ifaddrs.h;libgen.h exist passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-qDw9Y0
Run Build Command(s):/bin/gmake -f Makefile cmTC_0bdf5/fast && gmake -f CMakeFiles/cmTC_0bdf5.dir/build.make CMakeFiles/cmTC_0bdf5.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-qDw9Y0'
Building C object CMakeFiles/cmTC_0bdf5.dir/HAVE_LIBGEN_H.c.o
/bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_0bdf5.dir/HAVE_LIBGEN_H.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-qDw9Y0/HAVE_LIBGEN_H.c
Linking C executable cmTC_0bdf5
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_0bdf5.dir/link.txt --verbose=1
/bin/gcc -w CMakeFiles/cmTC_0bdf5.dir/HAVE_LIBGEN_H.c.o -o cmTC_0bdf5
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-qDw9Y0'
Determining if files inttypes.h;sys/ioctl.h;sys/param.h;sys/poll.h;sys/resource.h;sys/select.h;sys/socket.h;sys/stat.h;sys/time.h;sys/types.h;sys/un.h;sys/xattr.h;arpa/inet.h;arpa/tftp.h;assert.h;errno.h;fcntl.h;ifaddrs.h;libgen.h;locale.h;net/if.h exist passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-GaKUSh
Run Build Command(s):/bin/gmake -f Makefile cmTC_97f1c/fast && gmake -f CMakeFiles/cmTC_97f1c.dir/build.make CMakeFiles/cmTC_97f1c.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-GaKUSh'
Building C object CMakeFiles/cmTC_97f1c.dir/HAVE_NET_IF_H.c.o
/bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_97f1c.dir/HAVE_NET_IF_H.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-GaKUSh/HAVE_NET_IF_H.c
Linking C executable cmTC_97f1c
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_97f1c.dir/link.txt --verbose=1
/bin/gcc -w CMakeFiles/cmTC_97f1c.dir/HAVE_NET_IF_H.c.o -o cmTC_97f1c
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-GaKUSh'
Determining if files inttypes.h;sys/ioctl.h;sys/param.h;sys/poll.h;sys/resource.h;sys/select.h;sys/socket.h;sys/stat.h;sys/time.h;sys/types.h;sys/un.h;sys/xattr.h;arpa/inet.h;arpa/tftp.h;assert.h;errno.h;fcntl.h;ifaddrs.h;libgen.h;locale.h;net/if.h;netdb.h exist passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-UDwKYy
Run Build Command(s):/bin/gmake -f Makefile cmTC_a79d4/fast && gmake -f CMakeFiles/cmTC_a79d4.dir/build.make CMakeFiles/cmTC_a79d4.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-UDwKYy'
Building C object CMakeFiles/cmTC_a79d4.dir/HAVE_NETDB_H.c.o
/bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_a79d4.dir/HAVE_NETDB_H.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-UDwKYy/HAVE_NETDB_H.c
Linking C executable cmTC_a79d4
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_a79d4.dir/link.txt --verbose=1
/bin/gcc -w CMakeFiles/cmTC_a79d4.dir/HAVE_NETDB_H.c.o -o cmTC_a79d4
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-UDwKYy'
Determining if files inttypes.h;sys/ioctl.h;sys/param.h;sys/poll.h;sys/resource.h;sys/select.h;sys/socket.h;sys/stat.h;sys/time.h;sys/types.h;sys/un.h;sys/xattr.h;arpa/inet.h;arpa/tftp.h;assert.h;errno.h;fcntl.h;ifaddrs.h;libgen.h;locale.h;net/if.h;netdb.h;netinet/in.h exist passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-9OmjgQ
Run Build Command(s):/bin/gmake -f Makefile cmTC_58823/fast && gmake -f CMakeFiles/cmTC_58823.dir/build.make CMakeFiles/cmTC_58823.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-9OmjgQ'
Building C object CMakeFiles/cmTC_58823.dir/HAVE_NETINET_IN_H.c.o
/bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_58823.dir/HAVE_NETINET_IN_H.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-9OmjgQ/HAVE_NETINET_IN_H.c
Linking C executable cmTC_58823
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_58823.dir/link.txt --verbose=1
/bin/gcc -w CMakeFiles/cmTC_58823.dir/HAVE_NETINET_IN_H.c.o -o cmTC_58823
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-9OmjgQ'
Determining if files inttypes.h;sys/ioctl.h;sys/param.h;sys/poll.h;sys/resource.h;sys/select.h;sys/socket.h;sys/stat.h;sys/time.h;sys/types.h;sys/un.h;sys/xattr.h;arpa/inet.h;arpa/tftp.h;assert.h;errno.h;fcntl.h;ifaddrs.h;libgen.h;locale.h;net/if.h;netdb.h;netinet/in.h;netinet/tcp.h exist passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-x5kDM7
Run Build Command(s):/bin/gmake -f Makefile cmTC_8a35e/fast && gmake -f CMakeFiles/cmTC_8a35e.dir/build.make CMakeFiles/cmTC_8a35e.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-x5kDM7'
Building C object CMakeFiles/cmTC_8a35e.dir/HAVE_NETINET_TCP_H.c.o
/bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_8a35e.dir/HAVE_NETINET_TCP_H.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-x5kDM7/HAVE_NETINET_TCP_H.c
Linking C executable cmTC_8a35e
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_8a35e.dir/link.txt --verbose=1
/bin/gcc -w CMakeFiles/cmTC_8a35e.dir/HAVE_NETINET_TCP_H.c.o -o cmTC_8a35e
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-x5kDM7'
Determining if the include file linux/tcp.h exists passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-oGkNwp
Run Build Command(s):/bin/gmake -f Makefile cmTC_ee4a5/fast && gmake -f CMakeFiles/cmTC_ee4a5.dir/build.make CMakeFiles/cmTC_ee4a5.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-oGkNwp'
Building C object CMakeFiles/cmTC_ee4a5.dir/CheckIncludeFile.c.o
/bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_ee4a5.dir/CheckIncludeFile.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-oGkNwp/CheckIncludeFile.c
Linking C executable cmTC_ee4a5
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_ee4a5.dir/link.txt --verbose=1
/bin/gcc -w CMakeFiles/cmTC_ee4a5.dir/CheckIncludeFile.c.o -o cmTC_ee4a5
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-oGkNwp'
Determining if files inttypes.h;sys/ioctl.h;sys/param.h;sys/poll.h;sys/resource.h;sys/select.h;sys/socket.h;sys/stat.h;sys/time.h;sys/types.h;sys/un.h;sys/xattr.h;arpa/inet.h;arpa/tftp.h;assert.h;errno.h;fcntl.h;ifaddrs.h;libgen.h;locale.h;net/if.h;netdb.h;netinet/in.h;netinet/tcp.h;poll.h exist passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-9m8WsH
Run Build Command(s):/bin/gmake -f Makefile cmTC_5ee2f/fast && gmake -f CMakeFiles/cmTC_5ee2f.dir/build.make CMakeFiles/cmTC_5ee2f.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-9m8WsH'
Building C object CMakeFiles/cmTC_5ee2f.dir/HAVE_POLL_H.c.o
/bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_5ee2f.dir/HAVE_POLL_H.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-9m8WsH/HAVE_POLL_H.c
Linking C executable cmTC_5ee2f
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_5ee2f.dir/link.txt --verbose=1
/bin/gcc -w CMakeFiles/cmTC_5ee2f.dir/HAVE_POLL_H.c.o -o cmTC_5ee2f
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-9m8WsH'
Determining if files inttypes.h;sys/ioctl.h;sys/param.h;sys/poll.h;sys/resource.h;sys/select.h;sys/socket.h;sys/stat.h;sys/time.h;sys/types.h;sys/un.h;sys/xattr.h;arpa/inet.h;arpa/tftp.h;assert.h;errno.h;fcntl.h;ifaddrs.h;libgen.h;locale.h;net/if.h;netdb.h;netinet/in.h;netinet/tcp.h;poll.h;pwd.h exist passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-zanfCZ
Run Build Command(s):/bin/gmake -f Makefile cmTC_01f83/fast && gmake -f CMakeFiles/cmTC_01f83.dir/build.make CMakeFiles/cmTC_01f83.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-zanfCZ'
Building C object CMakeFiles/cmTC_01f83.dir/HAVE_PWD_H.c.o
/bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_01f83.dir/HAVE_PWD_H.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-zanfCZ/HAVE_PWD_H.c
Linking C executable cmTC_01f83
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_01f83.dir/link.txt --verbose=1
/bin/gcc -w CMakeFiles/cmTC_01f83.dir/HAVE_PWD_H.c.o -o cmTC_01f83
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-zanfCZ'
Determining if files inttypes.h;sys/ioctl.h;sys/param.h;sys/poll.h;sys/resource.h;sys/select.h;sys/socket.h;sys/stat.h;sys/time.h;sys/types.h;sys/un.h;sys/xattr.h;arpa/inet.h;arpa/tftp.h;assert.h;errno.h;fcntl.h;ifaddrs.h;libgen.h;locale.h;net/if.h;netdb.h;netinet/in.h;netinet/tcp.h;poll.h;pwd.h;setjmp.h exist passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-XMWqZh
Run Build Command(s):/bin/gmake -f Makefile cmTC_fe59d/fast && gmake -f CMakeFiles/cmTC_fe59d.dir/build.make CMakeFiles/cmTC_fe59d.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-XMWqZh'
Building C object CMakeFiles/cmTC_fe59d.dir/HAVE_SETJMP_H.c.o
/bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_fe59d.dir/HAVE_SETJMP_H.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-XMWqZh/HAVE_SETJMP_H.c
Linking C executable cmTC_fe59d
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_fe59d.dir/link.txt --verbose=1
/bin/gcc -w CMakeFiles/cmTC_fe59d.dir/HAVE_SETJMP_H.c.o -o cmTC_fe59d
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-XMWqZh'
Determining if files inttypes.h;sys/ioctl.h;sys/param.h;sys/poll.h;sys/resource.h;sys/select.h;sys/socket.h;sys/stat.h;sys/time.h;sys/types.h;sys/un.h;sys/xattr.h;arpa/inet.h;arpa/tftp.h;assert.h;errno.h;fcntl.h;ifaddrs.h;libgen.h;locale.h;net/if.h;netdb.h;netinet/in.h;netinet/tcp.h;poll.h;pwd.h;setjmp.h;signal.h exist passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-p7gcAA
Run Build Command(s):/bin/gmake -f Makefile cmTC_efafd/fast && gmake -f CMakeFiles/cmTC_efafd.dir/build.make CMakeFiles/cmTC_efafd.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-p7gcAA'
Building C object CMakeFiles/cmTC_efafd.dir/HAVE_SIGNAL_H.c.o
/bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_efafd.dir/HAVE_SIGNAL_H.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-p7gcAA/HAVE_SIGNAL_H.c
Linking C executable cmTC_efafd
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_efafd.dir/link.txt --verbose=1
/bin/gcc -w CMakeFiles/cmTC_efafd.dir/HAVE_SIGNAL_H.c.o -o cmTC_efafd
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-p7gcAA'
Determining if files inttypes.h;sys/ioctl.h;sys/param.h;sys/poll.h;sys/resource.h;sys/select.h;sys/socket.h;sys/stat.h;sys/time.h;sys/types.h;sys/un.h;sys/xattr.h;arpa/inet.h;arpa/tftp.h;assert.h;errno.h;fcntl.h;ifaddrs.h;libgen.h;locale.h;net/if.h;netdb.h;netinet/in.h;netinet/tcp.h;poll.h;pwd.h;setjmp.h;signal.h;stdbool.h exist passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-qiaZuc
Run Build Command(s):/bin/gmake -f Makefile cmTC_cc156/fast && gmake -f CMakeFiles/cmTC_cc156.dir/build.make CMakeFiles/cmTC_cc156.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-qiaZuc'
Building C object CMakeFiles/cmTC_cc156.dir/HAVE_STDBOOL_H.c.o
/bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_cc156.dir/HAVE_STDBOOL_H.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-qiaZuc/HAVE_STDBOOL_H.c
Linking C executable cmTC_cc156
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_cc156.dir/link.txt --verbose=1
/bin/gcc -w CMakeFiles/cmTC_cc156.dir/HAVE_STDBOOL_H.c.o -o cmTC_cc156
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-qiaZuc'
Determining if files inttypes.h;sys/ioctl.h;sys/param.h;sys/poll.h;sys/resource.h;sys/select.h;sys/socket.h;sys/stat.h;sys/time.h;sys/types.h;sys/un.h;sys/xattr.h;arpa/inet.h;arpa/tftp.h;assert.h;errno.h;fcntl.h;ifaddrs.h;libgen.h;locale.h;net/if.h;netdb.h;netinet/in.h;netinet/tcp.h;poll.h;pwd.h;setjmp.h;signal.h;stdbool.h;stdint.h exist passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-JsDKNv
Run Build Command(s):/bin/gmake -f Makefile cmTC_13b46/fast && gmake -f CMakeFiles/cmTC_13b46.dir/build.make CMakeFiles/cmTC_13b46.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-JsDKNv'
Building C object CMakeFiles/cmTC_13b46.dir/HAVE_STDINT_H.c.o
/bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_13b46.dir/HAVE_STDINT_H.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-JsDKNv/HAVE_STDINT_H.c
Linking C executable cmTC_13b46
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_13b46.dir/link.txt --verbose=1
/bin/gcc -w CMakeFiles/cmTC_13b46.dir/HAVE_STDINT_H.c.o -o cmTC_13b46
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-JsDKNv'
Determining if files inttypes.h;sys/ioctl.h;sys/param.h;sys/poll.h;sys/resource.h;sys/select.h;sys/socket.h;sys/stat.h;sys/time.h;sys/types.h;sys/un.h;sys/xattr.h;arpa/inet.h;arpa/tftp.h;assert.h;errno.h;fcntl.h;ifaddrs.h;libgen.h;locale.h;net/if.h;netdb.h;netinet/in.h;netinet/tcp.h;poll.h;pwd.h;setjmp.h;signal.h;stdbool.h;stdint.h;stdlib.h;string.h;strings.h exist passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-qFNpkP
Run Build Command(s):/bin/gmake -f Makefile cmTC_6c834/fast && gmake -f CMakeFiles/cmTC_6c834.dir/build.make CMakeFiles/cmTC_6c834.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-qFNpkP'
Building C object CMakeFiles/cmTC_6c834.dir/HAVE_STRINGS_H.c.o
/bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_6c834.dir/HAVE_STRINGS_H.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-qFNpkP/HAVE_STRINGS_H.c
Linking C executable cmTC_6c834
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_6c834.dir/link.txt --verbose=1
/bin/gcc -w CMakeFiles/cmTC_6c834.dir/HAVE_STRINGS_H.c.o -o cmTC_6c834
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-qFNpkP'
Determining if files inttypes.h;sys/ioctl.h;sys/param.h;sys/poll.h;sys/resource.h;sys/select.h;sys/socket.h;sys/stat.h;sys/time.h;sys/types.h;sys/un.h;sys/xattr.h;arpa/inet.h;arpa/tftp.h;assert.h;errno.h;fcntl.h;ifaddrs.h;libgen.h;locale.h;net/if.h;netdb.h;netinet/in.h;netinet/tcp.h;poll.h;pwd.h;setjmp.h;signal.h;stdbool.h;stdint.h;stdlib.h;string.h;strings.h;termio.h exist passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-mu6D2s
Run Build Command(s):/bin/gmake -f Makefile cmTC_de394/fast && gmake -f CMakeFiles/cmTC_de394.dir/build.make CMakeFiles/cmTC_de394.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-mu6D2s'
Building C object CMakeFiles/cmTC_de394.dir/HAVE_TERMIO_H.c.o
/bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_de394.dir/HAVE_TERMIO_H.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-mu6D2s/HAVE_TERMIO_H.c
Linking C executable cmTC_de394
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_de394.dir/link.txt --verbose=1
/bin/gcc -w CMakeFiles/cmTC_de394.dir/HAVE_TERMIO_H.c.o -o cmTC_de394
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-mu6D2s'
Determining if files inttypes.h;sys/ioctl.h;sys/param.h;sys/poll.h;sys/resource.h;sys/select.h;sys/socket.h;sys/stat.h;sys/time.h;sys/types.h;sys/un.h;sys/xattr.h;arpa/inet.h;arpa/tftp.h;assert.h;errno.h;fcntl.h;ifaddrs.h;libgen.h;locale.h;net/if.h;netdb.h;netinet/in.h;netinet/tcp.h;poll.h;pwd.h;setjmp.h;signal.h;stdbool.h;stdint.h;stdlib.h;string.h;strings.h;termio.h;termios.h exist passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-COz2eN
Run Build Command(s):/bin/gmake -f Makefile cmTC_d5132/fast && gmake -f CMakeFiles/cmTC_d5132.dir/build.make CMakeFiles/cmTC_d5132.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-COz2eN'
Building C object CMakeFiles/cmTC_d5132.dir/HAVE_TERMIOS_H.c.o
/bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_d5132.dir/HAVE_TERMIOS_H.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-COz2eN/HAVE_TERMIOS_H.c
Linking C executable cmTC_d5132
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_d5132.dir/link.txt --verbose=1
/bin/gcc -w CMakeFiles/cmTC_d5132.dir/HAVE_TERMIOS_H.c.o -o cmTC_d5132
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-COz2eN'
Determining if files inttypes.h;sys/ioctl.h;sys/param.h;sys/poll.h;sys/resource.h;sys/select.h;sys/socket.h;sys/stat.h;sys/time.h;sys/types.h;sys/un.h;sys/xattr.h;arpa/inet.h;arpa/tftp.h;assert.h;errno.h;fcntl.h;ifaddrs.h;libgen.h;locale.h;net/if.h;netdb.h;netinet/in.h;netinet/tcp.h;poll.h;pwd.h;setjmp.h;signal.h;stdbool.h;stdint.h;stdlib.h;string.h;strings.h;termio.h;termios.h;time.h exist passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-nUrhF7
Run Build Command(s):/bin/gmake -f Makefile cmTC_b23ac/fast && gmake -f CMakeFiles/cmTC_b23ac.dir/build.make CMakeFiles/cmTC_b23ac.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-nUrhF7'
Building C object CMakeFiles/cmTC_b23ac.dir/HAVE_TIME_H.c.o
/bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_b23ac.dir/HAVE_TIME_H.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-nUrhF7/HAVE_TIME_H.c
Linking C executable cmTC_b23ac
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_b23ac.dir/link.txt --verbose=1
/bin/gcc -w CMakeFiles/cmTC_b23ac.dir/HAVE_TIME_H.c.o -o cmTC_b23ac
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-nUrhF7'
Determining if files inttypes.h;sys/ioctl.h;sys/param.h;sys/poll.h;sys/resource.h;sys/select.h;sys/socket.h;sys/stat.h;sys/time.h;sys/types.h;sys/un.h;sys/xattr.h;arpa/inet.h;arpa/tftp.h;assert.h;errno.h;fcntl.h;ifaddrs.h;libgen.h;locale.h;net/if.h;netdb.h;netinet/in.h;netinet/tcp.h;poll.h;pwd.h;setjmp.h;signal.h;stdbool.h;stdint.h;stdlib.h;string.h;strings.h;termio.h;termios.h;time.h;unistd.h exist passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-xepais
Run Build Command(s):/bin/gmake -f Makefile cmTC_a8dc8/fast && gmake -f CMakeFiles/cmTC_a8dc8.dir/build.make CMakeFiles/cmTC_a8dc8.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-xepais'
Building C object CMakeFiles/cmTC_a8dc8.dir/HAVE_UNISTD_H.c.o
/bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_a8dc8.dir/HAVE_UNISTD_H.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-xepais/HAVE_UNISTD_H.c
Linking C executable cmTC_a8dc8
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_a8dc8.dir/link.txt --verbose=1
/bin/gcc -w CMakeFiles/cmTC_a8dc8.dir/HAVE_UNISTD_H.c.o -o cmTC_a8dc8
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-xepais'
Determining if files inttypes.h;sys/ioctl.h;sys/param.h;sys/poll.h;sys/resource.h;sys/select.h;sys/socket.h;sys/stat.h;sys/time.h;sys/types.h;sys/un.h;sys/xattr.h;arpa/inet.h;arpa/tftp.h;assert.h;errno.h;fcntl.h;ifaddrs.h;libgen.h;locale.h;net/if.h;netdb.h;netinet/in.h;netinet/tcp.h;poll.h;pwd.h;setjmp.h;signal.h;stdbool.h;stdint.h;stdlib.h;string.h;strings.h;termio.h;termios.h;time.h;unistd.h;utime.h exist passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-kZzW7M
Run Build Command(s):/bin/gmake -f Makefile cmTC_eff76/fast && gmake -f CMakeFiles/cmTC_eff76.dir/build.make CMakeFiles/cmTC_eff76.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-kZzW7M'
Building C object CMakeFiles/cmTC_eff76.dir/HAVE_UTIME_H.c.o
/bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_eff76.dir/HAVE_UTIME_H.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-kZzW7M/HAVE_UTIME_H.c
Linking C executable cmTC_eff76
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_eff76.dir/link.txt --verbose=1
/bin/gcc -w CMakeFiles/cmTC_eff76.dir/HAVE_UTIME_H.c.o -o cmTC_eff76
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-kZzW7M'
Determining if files inttypes.h;sys/ioctl.h;sys/param.h;sys/poll.h;sys/resource.h;sys/select.h;sys/socket.h;sys/stat.h;sys/time.h;sys/types.h;sys/un.h;sys/xattr.h;arpa/inet.h;arpa/tftp.h;assert.h;errno.h;fcntl.h;ifaddrs.h;libgen.h;locale.h;net/if.h;netdb.h;netinet/in.h;netinet/tcp.h;poll.h;pwd.h;setjmp.h;signal.h;stdbool.h;stdint.h;stdlib.h;string.h;strings.h;termio.h;termios.h;time.h;unistd.h;utime.h;stddef.h;stdint.h;sys/utsname.h exist passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-zXRyxt
Run Build Command(s):/bin/gmake -f Makefile cmTC_05b25/fast && gmake -f CMakeFiles/cmTC_05b25.dir/build.make CMakeFiles/cmTC_05b25.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-zXRyxt'
Building C object CMakeFiles/cmTC_05b25.dir/HAVE_SYS_UTSNAME_H.c.o
/bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_05b25.dir/HAVE_SYS_UTSNAME_H.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-zXRyxt/HAVE_SYS_UTSNAME_H.c
Linking C executable cmTC_05b25
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_05b25.dir/link.txt --verbose=1
/bin/gcc -w CMakeFiles/cmTC_05b25.dir/HAVE_SYS_UTSNAME_H.c.o -o cmTC_05b25
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-zXRyxt'
Determining size of size_t passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-pDJF7O
Run Build Command(s):/bin/gmake -f Makefile cmTC_2cfce/fast && gmake -f CMakeFiles/cmTC_2cfce.dir/build.make CMakeFiles/cmTC_2cfce.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-pDJF7O'
Building C object CMakeFiles/cmTC_2cfce.dir/SIZEOF_SIZE_T.c.o
/bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_2cfce.dir/SIZEOF_SIZE_T.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-pDJF7O/SIZEOF_SIZE_T.c
Linking C executable cmTC_2cfce
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_2cfce.dir/link.txt --verbose=1
/bin/gcc -w CMakeFiles/cmTC_2cfce.dir/SIZEOF_SIZE_T.c.o -o cmTC_2cfce
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-pDJF7O'
Determining size of ssize_t passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-lZQqUa
Run Build Command(s):/bin/gmake -f Makefile cmTC_3d5d4/fast && gmake -f CMakeFiles/cmTC_3d5d4.dir/build.make CMakeFiles/cmTC_3d5d4.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-lZQqUa'
Building C object CMakeFiles/cmTC_3d5d4.dir/SIZEOF_SSIZE_T.c.o
/bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_3d5d4.dir/SIZEOF_SSIZE_T.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-lZQqUa/SIZEOF_SSIZE_T.c
Linking C executable cmTC_3d5d4
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_3d5d4.dir/link.txt --verbose=1
/bin/gcc -w CMakeFiles/cmTC_3d5d4.dir/SIZEOF_SSIZE_T.c.o -o cmTC_3d5d4
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-lZQqUa'
Determining size of time_t passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-MIZdUw
Run Build Command(s):/bin/gmake -f Makefile cmTC_13dba/fast && gmake -f CMakeFiles/cmTC_13dba.dir/build.make CMakeFiles/cmTC_13dba.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-MIZdUw'
Building C object CMakeFiles/cmTC_13dba.dir/SIZEOF_TIME_T.c.o
/bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_13dba.dir/SIZEOF_TIME_T.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-MIZdUw/SIZEOF_TIME_T.c
Linking C executable cmTC_13dba
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_13dba.dir/link.txt --verbose=1
/bin/gcc -w CMakeFiles/cmTC_13dba.dir/SIZEOF_TIME_T.c.o -o cmTC_13dba
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-MIZdUw'
Determining if the fchmod exist passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-0tiA8S
Run Build Command(s):/bin/gmake -f Makefile cmTC_311b8/fast && gmake -f CMakeFiles/cmTC_311b8.dir/build.make CMakeFiles/cmTC_311b8.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-0tiA8S'
Building C object CMakeFiles/cmTC_311b8.dir/CheckSymbolExists.c.o
/bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_311b8.dir/CheckSymbolExists.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-0tiA8S/CheckSymbolExists.c
Linking C executable cmTC_311b8
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_311b8.dir/link.txt --verbose=1
/bin/gcc -w CMakeFiles/cmTC_311b8.dir/CheckSymbolExists.c.o -o cmTC_311b8
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-0tiA8S'
File CheckSymbolExists.c:
/* */
#include <inttypes.h>
#include <sys/ioctl.h>
#include <sys/param.h>
#include <sys/poll.h>
#include <sys/resource.h>
#include <sys/select.h>
#include <sys/socket.h>
#include <sys/stat.h>
#include <sys/time.h>
#include <sys/types.h>
#include <sys/un.h>
#include <sys/xattr.h>
#include <arpa/inet.h>
#include <arpa/tftp.h>
#include <assert.h>
#include <errno.h>
#include <fcntl.h>
#include <ifaddrs.h>
#include <libgen.h>
#include <locale.h>
#include <net/if.h>
#include <netdb.h>
#include <netinet/in.h>
#include <netinet/tcp.h>
#include <poll.h>
#include <pwd.h>
#include <setjmp.h>
#include <signal.h>
#include <stdbool.h>
#include <stdint.h>
#include <stdlib.h>
#include <string.h>
#include <strings.h>
#include <termio.h>
#include <termios.h>
#include <time.h>
#include <unistd.h>
#include <utime.h>
#include <stddef.h>
#include <stdint.h>
#include <sys/utsname.h>
int main(int argc, char** argv)
{
(void)argv;
#ifndef fchmod
return ((int*)(&fchmod))[argc];
#else
(void)argc;
return 0;
#endif
}
Determining if the basename exist passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-x4ENBf
Run Build Command(s):/bin/gmake -f Makefile cmTC_59c08/fast && gmake -f CMakeFiles/cmTC_59c08.dir/build.make CMakeFiles/cmTC_59c08.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-x4ENBf'
Building C object CMakeFiles/cmTC_59c08.dir/CheckSymbolExists.c.o
/bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_59c08.dir/CheckSymbolExists.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-x4ENBf/CheckSymbolExists.c
Linking C executable cmTC_59c08
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_59c08.dir/link.txt --verbose=1
/bin/gcc -w CMakeFiles/cmTC_59c08.dir/CheckSymbolExists.c.o -o cmTC_59c08
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-x4ENBf'
File CheckSymbolExists.c:
/* */
#include <inttypes.h>
#include <sys/ioctl.h>
#include <sys/param.h>
#include <sys/poll.h>
#include <sys/resource.h>
#include <sys/select.h>
#include <sys/socket.h>
#include <sys/stat.h>
#include <sys/time.h>
#include <sys/types.h>
#include <sys/un.h>
#include <sys/xattr.h>
#include <arpa/inet.h>
#include <arpa/tftp.h>
#include <assert.h>
#include <errno.h>
#include <fcntl.h>
#include <ifaddrs.h>
#include <libgen.h>
#include <locale.h>
#include <net/if.h>
#include <netdb.h>
#include <netinet/in.h>
#include <netinet/tcp.h>
#include <poll.h>
#include <pwd.h>
#include <setjmp.h>
#include <signal.h>
#include <stdbool.h>
#include <stdint.h>
#include <stdlib.h>
#include <string.h>
#include <strings.h>
#include <termio.h>
#include <termios.h>
#include <time.h>
#include <unistd.h>
#include <utime.h>
#include <stddef.h>
#include <stdint.h>
#include <sys/utsname.h>
int main(int argc, char** argv)
{
(void)argv;
#ifndef basename
return ((int*)(&basename))[argc];
#else
(void)argc;
return 0;
#endif
}
Determining if the socket exist passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-kvIFiC
Run Build Command(s):/bin/gmake -f Makefile cmTC_2bc2e/fast && gmake -f CMakeFiles/cmTC_2bc2e.dir/build.make CMakeFiles/cmTC_2bc2e.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-kvIFiC'
Building C object CMakeFiles/cmTC_2bc2e.dir/CheckSymbolExists.c.o
/bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_2bc2e.dir/CheckSymbolExists.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-kvIFiC/CheckSymbolExists.c
Linking C executable cmTC_2bc2e
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_2bc2e.dir/link.txt --verbose=1
/bin/gcc -w CMakeFiles/cmTC_2bc2e.dir/CheckSymbolExists.c.o -o cmTC_2bc2e
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-kvIFiC'
File CheckSymbolExists.c:
/* */
#include <inttypes.h>
#include <sys/ioctl.h>
#include <sys/param.h>
#include <sys/poll.h>
#include <sys/resource.h>
#include <sys/select.h>
#include <sys/socket.h>
#include <sys/stat.h>
#include <sys/time.h>
#include <sys/types.h>
#include <sys/un.h>
#include <sys/xattr.h>
#include <arpa/inet.h>
#include <arpa/tftp.h>
#include <assert.h>
#include <errno.h>
#include <fcntl.h>
#include <ifaddrs.h>
#include <libgen.h>
#include <locale.h>
#include <net/if.h>
#include <netdb.h>
#include <netinet/in.h>
#include <netinet/tcp.h>
#include <poll.h>
#include <pwd.h>
#include <setjmp.h>
#include <signal.h>
#include <stdbool.h>
#include <stdint.h>
#include <stdlib.h>
#include <string.h>
#include <strings.h>
#include <termio.h>
#include <termios.h>
#include <time.h>
#include <unistd.h>
#include <utime.h>
#include <stddef.h>
#include <stdint.h>
#include <sys/utsname.h>
int main(int argc, char** argv)
{
(void)argv;
#ifndef socket
return ((int*)(&socket))[argc];
#else
(void)argc;
return 0;
#endif
}
Determining if the socketpair exist passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-FDTkeZ
Run Build Command(s):/bin/gmake -f Makefile cmTC_d6bf1/fast && gmake -f CMakeFiles/cmTC_d6bf1.dir/build.make CMakeFiles/cmTC_d6bf1.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-FDTkeZ'
Building C object CMakeFiles/cmTC_d6bf1.dir/CheckSymbolExists.c.o
/bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_d6bf1.dir/CheckSymbolExists.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-FDTkeZ/CheckSymbolExists.c
Linking C executable cmTC_d6bf1
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_d6bf1.dir/link.txt --verbose=1
/bin/gcc -w CMakeFiles/cmTC_d6bf1.dir/CheckSymbolExists.c.o -o cmTC_d6bf1
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-FDTkeZ'
File CheckSymbolExists.c:
/* */
#include <inttypes.h>
#include <sys/ioctl.h>
#include <sys/param.h>
#include <sys/poll.h>
#include <sys/resource.h>
#include <sys/select.h>
#include <sys/socket.h>
#include <sys/stat.h>
#include <sys/time.h>
#include <sys/types.h>
#include <sys/un.h>
#include <sys/xattr.h>
#include <arpa/inet.h>
#include <arpa/tftp.h>
#include <assert.h>
#include <errno.h>
#include <fcntl.h>
#include <ifaddrs.h>
#include <libgen.h>
#include <locale.h>
#include <net/if.h>
#include <netdb.h>
#include <netinet/in.h>
#include <netinet/tcp.h>
#include <poll.h>
#include <pwd.h>
#include <setjmp.h>
#include <signal.h>
#include <stdbool.h>
#include <stdint.h>
#include <stdlib.h>
#include <string.h>
#include <strings.h>
#include <termio.h>
#include <termios.h>
#include <time.h>
#include <unistd.h>
#include <utime.h>
#include <stddef.h>
#include <stdint.h>
#include <sys/utsname.h>
int main(int argc, char** argv)
{
(void)argv;
#ifndef socketpair
return ((int*)(&socketpair))[argc];
#else
(void)argc;
return 0;
#endif
}
Determining if the select exist passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-j5fBom
Run Build Command(s):/bin/gmake -f Makefile cmTC_6ca0f/fast && gmake -f CMakeFiles/cmTC_6ca0f.dir/build.make CMakeFiles/cmTC_6ca0f.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-j5fBom'
Building C object CMakeFiles/cmTC_6ca0f.dir/CheckSymbolExists.c.o
/bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_6ca0f.dir/CheckSymbolExists.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-j5fBom/CheckSymbolExists.c
Linking C executable cmTC_6ca0f
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_6ca0f.dir/link.txt --verbose=1
/bin/gcc -w CMakeFiles/cmTC_6ca0f.dir/CheckSymbolExists.c.o -o cmTC_6ca0f
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-j5fBom'
File CheckSymbolExists.c:
/* */
#include <inttypes.h>
#include <sys/ioctl.h>
#include <sys/param.h>
#include <sys/poll.h>
#include <sys/resource.h>
#include <sys/select.h>
#include <sys/socket.h>
#include <sys/stat.h>
#include <sys/time.h>
#include <sys/types.h>
#include <sys/un.h>
#include <sys/xattr.h>
#include <arpa/inet.h>
#include <arpa/tftp.h>
#include <assert.h>
#include <errno.h>
#include <fcntl.h>
#include <ifaddrs.h>
#include <libgen.h>
#include <locale.h>
#include <net/if.h>
#include <netdb.h>
#include <netinet/in.h>
#include <netinet/tcp.h>
#include <poll.h>
#include <pwd.h>
#include <setjmp.h>
#include <signal.h>
#include <stdbool.h>
#include <stdint.h>
#include <stdlib.h>
#include <string.h>
#include <strings.h>
#include <termio.h>
#include <termios.h>
#include <time.h>
#include <unistd.h>
#include <utime.h>
#include <stddef.h>
#include <stdint.h>
#include <sys/utsname.h>
int main(int argc, char** argv)
{
(void)argv;
#ifndef select
return ((int*)(&select))[argc];
#else
(void)argc;
return 0;
#endif
}
Determining if the strtok_r exist passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-USVxMJ
Run Build Command(s):/bin/gmake -f Makefile cmTC_23ac0/fast && gmake -f CMakeFiles/cmTC_23ac0.dir/build.make CMakeFiles/cmTC_23ac0.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-USVxMJ'
Building C object CMakeFiles/cmTC_23ac0.dir/CheckSymbolExists.c.o
/bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_23ac0.dir/CheckSymbolExists.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-USVxMJ/CheckSymbolExists.c
Linking C executable cmTC_23ac0
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_23ac0.dir/link.txt --verbose=1
/bin/gcc -w CMakeFiles/cmTC_23ac0.dir/CheckSymbolExists.c.o -o cmTC_23ac0
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-USVxMJ'
File CheckSymbolExists.c:
/* */
#include <inttypes.h>
#include <sys/ioctl.h>
#include <sys/param.h>
#include <sys/poll.h>
#include <sys/resource.h>
#include <sys/select.h>
#include <sys/socket.h>
#include <sys/stat.h>
#include <sys/time.h>
#include <sys/types.h>
#include <sys/un.h>
#include <sys/xattr.h>
#include <arpa/inet.h>
#include <arpa/tftp.h>
#include <assert.h>
#include <errno.h>
#include <fcntl.h>
#include <ifaddrs.h>
#include <libgen.h>
#include <locale.h>
#include <net/if.h>
#include <netdb.h>
#include <netinet/in.h>
#include <netinet/tcp.h>
#include <poll.h>
#include <pwd.h>
#include <setjmp.h>
#include <signal.h>
#include <stdbool.h>
#include <stdint.h>
#include <stdlib.h>
#include <string.h>
#include <strings.h>
#include <termio.h>
#include <termios.h>
#include <time.h>
#include <unistd.h>
#include <utime.h>
#include <stddef.h>
#include <stdint.h>
#include <sys/utsname.h>
int main(int argc, char** argv)
{
(void)argv;
#ifndef strtok_r
return ((int*)(&strtok_r))[argc];
#else
(void)argc;
return 0;
#endif
}
Determining if the alarm exist passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-VBYtbT
Run Build Command(s):/bin/gmake -f Makefile cmTC_06ab3/fast && gmake -f CMakeFiles/cmTC_06ab3.dir/build.make CMakeFiles/cmTC_06ab3.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-VBYtbT'
Building C object CMakeFiles/cmTC_06ab3.dir/CheckSymbolExists.c.o
/bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_06ab3.dir/CheckSymbolExists.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-VBYtbT/CheckSymbolExists.c
Linking C executable cmTC_06ab3
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_06ab3.dir/link.txt --verbose=1
/bin/gcc -w CMakeFiles/cmTC_06ab3.dir/CheckSymbolExists.c.o -o cmTC_06ab3
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-VBYtbT'
File CheckSymbolExists.c:
/* */
#include <inttypes.h>
#include <sys/ioctl.h>
#include <sys/param.h>
#include <sys/poll.h>
#include <sys/resource.h>
#include <sys/select.h>
#include <sys/socket.h>
#include <sys/stat.h>
#include <sys/time.h>
#include <sys/types.h>
#include <sys/un.h>
#include <sys/xattr.h>
#include <arpa/inet.h>
#include <arpa/tftp.h>
#include <assert.h>
#include <errno.h>
#include <fcntl.h>
#include <ifaddrs.h>
#include <libgen.h>
#include <locale.h>
#include <net/if.h>
#include <netdb.h>
#include <netinet/in.h>
#include <netinet/tcp.h>
#include <poll.h>
#include <pwd.h>
#include <setjmp.h>
#include <signal.h>
#include <stdbool.h>
#include <stdint.h>
#include <stdlib.h>
#include <string.h>
#include <strings.h>
#include <termio.h>
#include <termios.h>
#include <time.h>
#include <unistd.h>
#include <utime.h>
#include <stddef.h>
#include <stdint.h>
#include <sys/utsname.h>
int main(int argc, char** argv)
{
(void)argv;
#ifndef alarm
return ((int*)(&alarm))[argc];
#else
(void)argc;
return 0;
#endif
}
Determining if the getppid exist passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-zC2enh
Run Build Command(s):/bin/gmake -f Makefile cmTC_b8519/fast && gmake -f CMakeFiles/cmTC_b8519.dir/build.make CMakeFiles/cmTC_b8519.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-zC2enh'
Building C object CMakeFiles/cmTC_b8519.dir/CheckSymbolExists.c.o
/bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_b8519.dir/CheckSymbolExists.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-zC2enh/CheckSymbolExists.c
Linking C executable cmTC_b8519
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_b8519.dir/link.txt --verbose=1
/bin/gcc -w CMakeFiles/cmTC_b8519.dir/CheckSymbolExists.c.o -o cmTC_b8519
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-zC2enh'
File CheckSymbolExists.c:
/* */
#include <inttypes.h>
#include <sys/ioctl.h>
#include <sys/param.h>
#include <sys/poll.h>
#include <sys/resource.h>
#include <sys/select.h>
#include <sys/socket.h>
#include <sys/stat.h>
#include <sys/time.h>
#include <sys/types.h>
#include <sys/un.h>
#include <sys/xattr.h>
#include <arpa/inet.h>
#include <arpa/tftp.h>
#include <assert.h>
#include <errno.h>
#include <fcntl.h>
#include <ifaddrs.h>
#include <libgen.h>
#include <locale.h>
#include <net/if.h>
#include <netdb.h>
#include <netinet/in.h>
#include <netinet/tcp.h>
#include <poll.h>
#include <pwd.h>
#include <setjmp.h>
#include <signal.h>
#include <stdbool.h>
#include <stdint.h>
#include <stdlib.h>
#include <string.h>
#include <strings.h>
#include <termio.h>
#include <termios.h>
#include <time.h>
#include <unistd.h>
#include <utime.h>
#include <stddef.h>
#include <stdint.h>
#include <sys/utsname.h>
int main(int argc, char** argv)
{
(void)argv;
#ifndef getppid
return ((int*)(&getppid))[argc];
#else
(void)argc;
return 0;
#endif
}
Determining if the utimes exist passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-KvQnMF
Run Build Command(s):/bin/gmake -f Makefile cmTC_f8d4e/fast && gmake -f CMakeFiles/cmTC_f8d4e.dir/build.make CMakeFiles/cmTC_f8d4e.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-KvQnMF'
Building C object CMakeFiles/cmTC_f8d4e.dir/CheckSymbolExists.c.o
/bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_f8d4e.dir/CheckSymbolExists.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-KvQnMF/CheckSymbolExists.c
Linking C executable cmTC_f8d4e
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_f8d4e.dir/link.txt --verbose=1
/bin/gcc -w CMakeFiles/cmTC_f8d4e.dir/CheckSymbolExists.c.o -o cmTC_f8d4e
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-KvQnMF'
File CheckSymbolExists.c:
/* */
#include <inttypes.h>
#include <sys/ioctl.h>
#include <sys/param.h>
#include <sys/poll.h>
#include <sys/resource.h>
#include <sys/select.h>
#include <sys/socket.h>
#include <sys/stat.h>
#include <sys/time.h>
#include <sys/types.h>
#include <sys/un.h>
#include <sys/xattr.h>
#include <arpa/inet.h>
#include <arpa/tftp.h>
#include <assert.h>
#include <errno.h>
#include <fcntl.h>
#include <ifaddrs.h>
#include <libgen.h>
#include <locale.h>
#include <net/if.h>
#include <netdb.h>
#include <netinet/in.h>
#include <netinet/tcp.h>
#include <poll.h>
#include <pwd.h>
#include <setjmp.h>
#include <signal.h>
#include <stdbool.h>
#include <stdint.h>
#include <stdlib.h>
#include <string.h>
#include <strings.h>
#include <termio.h>
#include <termios.h>
#include <time.h>
#include <unistd.h>
#include <utime.h>
#include <stddef.h>
#include <stdint.h>
#include <sys/utsname.h>
int main(int argc, char** argv)
{
(void)argv;
#ifndef utimes
return ((int*)(&utimes))[argc];
#else
(void)argc;
return 0;
#endif
}
Determining if the gettimeofday exist passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-OCcUo4
Run Build Command(s):/bin/gmake -f Makefile cmTC_a7c5d/fast && gmake -f CMakeFiles/cmTC_a7c5d.dir/build.make CMakeFiles/cmTC_a7c5d.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-OCcUo4'
Building C object CMakeFiles/cmTC_a7c5d.dir/CheckSymbolExists.c.o
/bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_a7c5d.dir/CheckSymbolExists.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-OCcUo4/CheckSymbolExists.c
Linking C executable cmTC_a7c5d
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_a7c5d.dir/link.txt --verbose=1
/bin/gcc -w CMakeFiles/cmTC_a7c5d.dir/CheckSymbolExists.c.o -o cmTC_a7c5d
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-OCcUo4'
File CheckSymbolExists.c:
/* */
#include <inttypes.h>
#include <sys/ioctl.h>
#include <sys/param.h>
#include <sys/poll.h>
#include <sys/resource.h>
#include <sys/select.h>
#include <sys/socket.h>
#include <sys/stat.h>
#include <sys/time.h>
#include <sys/types.h>
#include <sys/un.h>
#include <sys/xattr.h>
#include <arpa/inet.h>
#include <arpa/tftp.h>
#include <assert.h>
#include <errno.h>
#include <fcntl.h>
#include <ifaddrs.h>
#include <libgen.h>
#include <locale.h>
#include <net/if.h>
#include <netdb.h>
#include <netinet/in.h>
#include <netinet/tcp.h>
#include <poll.h>
#include <pwd.h>
#include <setjmp.h>
#include <signal.h>
#include <stdbool.h>
#include <stdint.h>
#include <stdlib.h>
#include <string.h>
#include <strings.h>
#include <termio.h>
#include <termios.h>
#include <time.h>
#include <unistd.h>
#include <utime.h>
#include <stddef.h>
#include <stdint.h>
#include <sys/utsname.h>
int main(int argc, char** argv)
{
(void)argv;
#ifndef gettimeofday
return ((int*)(&gettimeofday))[argc];
#else
(void)argc;
return 0;
#endif
}
Determining if the sigsetjmp exist passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-1lu0cS
Run Build Command(s):/bin/gmake -f Makefile cmTC_b9c12/fast && gmake -f CMakeFiles/cmTC_b9c12.dir/build.make CMakeFiles/cmTC_b9c12.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-1lu0cS'
Building C object CMakeFiles/cmTC_b9c12.dir/CheckSymbolExists.c.o
/bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_b9c12.dir/CheckSymbolExists.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-1lu0cS/CheckSymbolExists.c
Linking C executable cmTC_b9c12
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_b9c12.dir/link.txt --verbose=1
/bin/gcc -w CMakeFiles/cmTC_b9c12.dir/CheckSymbolExists.c.o -o cmTC_b9c12
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-1lu0cS'
File CheckSymbolExists.c:
/* */
#include <inttypes.h>
#include <sys/ioctl.h>
#include <sys/param.h>
#include <sys/poll.h>
#include <sys/resource.h>
#include <sys/select.h>
#include <sys/socket.h>
#include <sys/stat.h>
#include <sys/time.h>
#include <sys/types.h>
#include <sys/un.h>
#include <sys/xattr.h>
#include <arpa/inet.h>
#include <arpa/tftp.h>
#include <assert.h>
#include <errno.h>
#include <fcntl.h>
#include <ifaddrs.h>
#include <libgen.h>
#include <locale.h>
#include <net/if.h>
#include <netdb.h>
#include <netinet/in.h>
#include <netinet/tcp.h>
#include <poll.h>
#include <pwd.h>
#include <setjmp.h>
#include <signal.h>
#include <stdbool.h>
#include <stdint.h>
#include <stdlib.h>
#include <string.h>
#include <strings.h>
#include <termio.h>
#include <termios.h>
#include <time.h>
#include <unistd.h>
#include <utime.h>
#include <stddef.h>
#include <stdint.h>
#include <sys/utsname.h>
int main(int argc, char** argv)
{
(void)argv;
#ifndef sigsetjmp
return ((int*)(&sigsetjmp))[argc];
#else
(void)argc;
return 0;
#endif
}
Determining if the getpwuid exist passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-M7gLJG
Run Build Command(s):/bin/gmake -f Makefile cmTC_15d4f/fast && gmake -f CMakeFiles/cmTC_15d4f.dir/build.make CMakeFiles/cmTC_15d4f.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-M7gLJG'
Building C object CMakeFiles/cmTC_15d4f.dir/CheckSymbolExists.c.o
/bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_15d4f.dir/CheckSymbolExists.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-M7gLJG/CheckSymbolExists.c
Linking C executable cmTC_15d4f
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_15d4f.dir/link.txt --verbose=1
/bin/gcc -w CMakeFiles/cmTC_15d4f.dir/CheckSymbolExists.c.o -o cmTC_15d4f
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-M7gLJG'
File CheckSymbolExists.c:
/* */
#include <inttypes.h>
#include <sys/ioctl.h>
#include <sys/param.h>
#include <sys/poll.h>
#include <sys/resource.h>
#include <sys/select.h>
#include <sys/socket.h>
#include <sys/stat.h>
#include <sys/time.h>
#include <sys/types.h>
#include <sys/un.h>
#include <sys/xattr.h>
#include <arpa/inet.h>
#include <arpa/tftp.h>
#include <assert.h>
#include <errno.h>
#include <fcntl.h>
#include <ifaddrs.h>
#include <libgen.h>
#include <locale.h>
#include <net/if.h>
#include <netdb.h>
#include <netinet/in.h>
#include <netinet/tcp.h>
#include <poll.h>
#include <pwd.h>
#include <setjmp.h>
#include <signal.h>
#include <stdbool.h>
#include <stdint.h>
#include <stdlib.h>
#include <string.h>
#include <strings.h>
#include <termio.h>
#include <termios.h>
#include <time.h>
#include <unistd.h>
#include <utime.h>
#include <stddef.h>
#include <stdint.h>
#include <sys/utsname.h>
int main(int argc, char** argv)
{
(void)argv;
#ifndef getpwuid
return ((int*)(&getpwuid))[argc];
#else
(void)argc;
return 0;
#endif
}
Determining if the getpwuid_r exist passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-4Skwh6
Run Build Command(s):/bin/gmake -f Makefile cmTC_9689c/fast && gmake -f CMakeFiles/cmTC_9689c.dir/build.make CMakeFiles/cmTC_9689c.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-4Skwh6'
Building C object CMakeFiles/cmTC_9689c.dir/CheckSymbolExists.c.o
/bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_9689c.dir/CheckSymbolExists.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-4Skwh6/CheckSymbolExists.c
Linking C executable cmTC_9689c
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_9689c.dir/link.txt --verbose=1
/bin/gcc -w CMakeFiles/cmTC_9689c.dir/CheckSymbolExists.c.o -o cmTC_9689c
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-4Skwh6'
File CheckSymbolExists.c:
/* */
#include <inttypes.h>
#include <sys/ioctl.h>
#include <sys/param.h>
#include <sys/poll.h>
#include <sys/resource.h>
#include <sys/select.h>
#include <sys/socket.h>
#include <sys/stat.h>
#include <sys/time.h>
#include <sys/types.h>
#include <sys/un.h>
#include <sys/xattr.h>
#include <arpa/inet.h>
#include <arpa/tftp.h>
#include <assert.h>
#include <errno.h>
#include <fcntl.h>
#include <ifaddrs.h>
#include <libgen.h>
#include <locale.h>
#include <net/if.h>
#include <netdb.h>
#include <netinet/in.h>
#include <netinet/tcp.h>
#include <poll.h>
#include <pwd.h>
#include <setjmp.h>
#include <signal.h>
#include <stdbool.h>
#include <stdint.h>
#include <stdlib.h>
#include <string.h>
#include <strings.h>
#include <termio.h>
#include <termios.h>
#include <time.h>
#include <unistd.h>
#include <utime.h>
#include <stddef.h>
#include <stdint.h>
#include <sys/utsname.h>
int main(int argc, char** argv)
{
(void)argv;
#ifndef getpwuid_r
return ((int*)(&getpwuid_r))[argc];
#else
(void)argc;
return 0;
#endif
}
Determining if the geteuid exist passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-oEja2v
Run Build Command(s):/bin/gmake -f Makefile cmTC_f215b/fast && gmake -f CMakeFiles/cmTC_f215b.dir/build.make CMakeFiles/cmTC_f215b.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-oEja2v'
Building C object CMakeFiles/cmTC_f215b.dir/CheckSymbolExists.c.o
/bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_f215b.dir/CheckSymbolExists.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-oEja2v/CheckSymbolExists.c
Linking C executable cmTC_f215b
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_f215b.dir/link.txt --verbose=1
/bin/gcc -w CMakeFiles/cmTC_f215b.dir/CheckSymbolExists.c.o -o cmTC_f215b
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-oEja2v'
File CheckSymbolExists.c:
/* */
#include <inttypes.h>
#include <sys/ioctl.h>
#include <sys/param.h>
#include <sys/poll.h>
#include <sys/resource.h>
#include <sys/select.h>
#include <sys/socket.h>
#include <sys/stat.h>
#include <sys/time.h>
#include <sys/types.h>
#include <sys/un.h>
#include <sys/xattr.h>
#include <arpa/inet.h>
#include <arpa/tftp.h>
#include <assert.h>
#include <errno.h>
#include <fcntl.h>
#include <ifaddrs.h>
#include <libgen.h>
#include <locale.h>
#include <net/if.h>
#include <netdb.h>
#include <netinet/in.h>
#include <netinet/tcp.h>
#include <poll.h>
#include <pwd.h>
#include <setjmp.h>
#include <signal.h>
#include <stdbool.h>
#include <stdint.h>
#include <stdlib.h>
#include <string.h>
#include <strings.h>
#include <termio.h>
#include <termios.h>
#include <time.h>
#include <unistd.h>
#include <utime.h>
#include <stddef.h>
#include <stdint.h>
#include <sys/utsname.h>
int main(int argc, char** argv)
{
(void)argv;
#ifndef geteuid
return ((int*)(&geteuid))[argc];
#else
(void)argc;
return 0;
#endif
}
Determining if the utime exist passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-AK6CZV
Run Build Command(s):/bin/gmake -f Makefile cmTC_a3a86/fast && gmake -f CMakeFiles/cmTC_a3a86.dir/build.make CMakeFiles/cmTC_a3a86.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-AK6CZV'
Building C object CMakeFiles/cmTC_a3a86.dir/CheckSymbolExists.c.o
/bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_a3a86.dir/CheckSymbolExists.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-AK6CZV/CheckSymbolExists.c
Linking C executable cmTC_a3a86
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_a3a86.dir/link.txt --verbose=1
/bin/gcc -w CMakeFiles/cmTC_a3a86.dir/CheckSymbolExists.c.o -o cmTC_a3a86
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-AK6CZV'
File CheckSymbolExists.c:
/* */
#include <inttypes.h>
#include <sys/ioctl.h>
#include <sys/param.h>
#include <sys/poll.h>
#include <sys/resource.h>
#include <sys/select.h>
#include <sys/socket.h>
#include <sys/stat.h>
#include <sys/time.h>
#include <sys/types.h>
#include <sys/un.h>
#include <sys/xattr.h>
#include <arpa/inet.h>
#include <arpa/tftp.h>
#include <assert.h>
#include <errno.h>
#include <fcntl.h>
#include <ifaddrs.h>
#include <libgen.h>
#include <locale.h>
#include <net/if.h>
#include <netdb.h>
#include <netinet/in.h>
#include <netinet/tcp.h>
#include <poll.h>
#include <pwd.h>
#include <setjmp.h>
#include <signal.h>
#include <stdbool.h>
#include <stdint.h>
#include <stdlib.h>
#include <string.h>
#include <strings.h>
#include <termio.h>
#include <termios.h>
#include <time.h>
#include <unistd.h>
#include <utime.h>
#include <stddef.h>
#include <stdint.h>
#include <sys/utsname.h>
int main(int argc, char** argv)
{
(void)argv;
#ifndef utime
return ((int*)(&utime))[argc];
#else
(void)argc;
return 0;
#endif
}
Determining if the gmtime_r exist passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-DfJJam
Run Build Command(s):/bin/gmake -f Makefile cmTC_fc93a/fast && gmake -f CMakeFiles/cmTC_fc93a.dir/build.make CMakeFiles/cmTC_fc93a.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-DfJJam'
Building C object CMakeFiles/cmTC_fc93a.dir/CheckSymbolExists.c.o
/bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_fc93a.dir/CheckSymbolExists.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-DfJJam/CheckSymbolExists.c
Linking C executable cmTC_fc93a
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_fc93a.dir/link.txt --verbose=1
/bin/gcc -w CMakeFiles/cmTC_fc93a.dir/CheckSymbolExists.c.o -o cmTC_fc93a
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-DfJJam'
File CheckSymbolExists.c:
/* */
#include <inttypes.h>
#include <sys/ioctl.h>
#include <sys/param.h>
#include <sys/poll.h>
#include <sys/resource.h>
#include <sys/select.h>
#include <sys/socket.h>
#include <sys/stat.h>
#include <sys/time.h>
#include <sys/types.h>
#include <sys/un.h>
#include <sys/xattr.h>
#include <arpa/inet.h>
#include <arpa/tftp.h>
#include <assert.h>
#include <errno.h>
#include <fcntl.h>
#include <ifaddrs.h>
#include <libgen.h>
#include <locale.h>
#include <net/if.h>
#include <netdb.h>
#include <netinet/in.h>
#include <netinet/tcp.h>
#include <poll.h>
#include <pwd.h>
#include <setjmp.h>
#include <signal.h>
#include <stdbool.h>
#include <stdint.h>
#include <stdlib.h>
#include <string.h>
#include <strings.h>
#include <termio.h>
#include <termios.h>
#include <time.h>
#include <unistd.h>
#include <utime.h>
#include <stddef.h>
#include <stdint.h>
#include <sys/utsname.h>
int main(int argc, char** argv)
{
(void)argv;
#ifndef gmtime_r
return ((int*)(&gmtime_r))[argc];
#else
(void)argc;
return 0;
#endif
}
Determining if the gethostbyname_r exist passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-pChOyM
Run Build Command(s):/bin/gmake -f Makefile cmTC_665a1/fast && gmake -f CMakeFiles/cmTC_665a1.dir/build.make CMakeFiles/cmTC_665a1.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-pChOyM'
Building C object CMakeFiles/cmTC_665a1.dir/CheckSymbolExists.c.o
/bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_665a1.dir/CheckSymbolExists.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-pChOyM/CheckSymbolExists.c
Linking C executable cmTC_665a1
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_665a1.dir/link.txt --verbose=1
/bin/gcc -w CMakeFiles/cmTC_665a1.dir/CheckSymbolExists.c.o -o cmTC_665a1
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-pChOyM'
File CheckSymbolExists.c:
/* */
#include <inttypes.h>
#include <sys/ioctl.h>
#include <sys/param.h>
#include <sys/poll.h>
#include <sys/resource.h>
#include <sys/select.h>
#include <sys/socket.h>
#include <sys/stat.h>
#include <sys/time.h>
#include <sys/types.h>
#include <sys/un.h>
#include <sys/xattr.h>
#include <arpa/inet.h>
#include <arpa/tftp.h>
#include <assert.h>
#include <errno.h>
#include <fcntl.h>
#include <ifaddrs.h>
#include <libgen.h>
#include <locale.h>
#include <net/if.h>
#include <netdb.h>
#include <netinet/in.h>
#include <netinet/tcp.h>
#include <poll.h>
#include <pwd.h>
#include <setjmp.h>
#include <signal.h>
#include <stdbool.h>
#include <stdint.h>
#include <stdlib.h>
#include <string.h>
#include <strings.h>
#include <termio.h>
#include <termios.h>
#include <time.h>
#include <unistd.h>
#include <utime.h>
#include <stddef.h>
#include <stdint.h>
#include <sys/utsname.h>
int main(int argc, char** argv)
{
(void)argv;
#ifndef gethostbyname_r
return ((int*)(&gethostbyname_r))[argc];
#else
(void)argc;
return 0;
#endif
}
Determining if the signal exist passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-fUgz9c
Run Build Command(s):/bin/gmake -f Makefile cmTC_b991b/fast && gmake -f CMakeFiles/cmTC_b991b.dir/build.make CMakeFiles/cmTC_b991b.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-fUgz9c'
Building C object CMakeFiles/cmTC_b991b.dir/CheckSymbolExists.c.o
/bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_b991b.dir/CheckSymbolExists.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-fUgz9c/CheckSymbolExists.c
Linking C executable cmTC_b991b
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_b991b.dir/link.txt --verbose=1
/bin/gcc -w CMakeFiles/cmTC_b991b.dir/CheckSymbolExists.c.o -o cmTC_b991b
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-fUgz9c'
File CheckSymbolExists.c:
/* */
#include <inttypes.h>
#include <sys/ioctl.h>
#include <sys/param.h>
#include <sys/poll.h>
#include <sys/resource.h>
#include <sys/select.h>
#include <sys/socket.h>
#include <sys/stat.h>
#include <sys/time.h>
#include <sys/types.h>
#include <sys/un.h>
#include <sys/xattr.h>
#include <arpa/inet.h>
#include <arpa/tftp.h>
#include <assert.h>
#include <errno.h>
#include <fcntl.h>
#include <ifaddrs.h>
#include <libgen.h>
#include <locale.h>
#include <net/if.h>
#include <netdb.h>
#include <netinet/in.h>
#include <netinet/tcp.h>
#include <poll.h>
#include <pwd.h>
#include <setjmp.h>
#include <signal.h>
#include <stdbool.h>
#include <stdint.h>
#include <stdlib.h>
#include <string.h>
#include <strings.h>
#include <termio.h>
#include <termios.h>
#include <time.h>
#include <unistd.h>
#include <utime.h>
#include <stddef.h>
#include <stdint.h>
#include <sys/utsname.h>
int main(int argc, char** argv)
{
(void)argv;
#ifndef signal
return ((int*)(&signal))[argc];
#else
(void)argc;
return 0;
#endif
}
Determining if the strtoll exist passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-UjFLXD
Run Build Command(s):/bin/gmake -f Makefile cmTC_3bc34/fast && gmake -f CMakeFiles/cmTC_3bc34.dir/build.make CMakeFiles/cmTC_3bc34.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-UjFLXD'
Building C object CMakeFiles/cmTC_3bc34.dir/CheckSymbolExists.c.o
/bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_3bc34.dir/CheckSymbolExists.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-UjFLXD/CheckSymbolExists.c
Linking C executable cmTC_3bc34
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_3bc34.dir/link.txt --verbose=1
/bin/gcc -w CMakeFiles/cmTC_3bc34.dir/CheckSymbolExists.c.o -o cmTC_3bc34
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-UjFLXD'
File CheckSymbolExists.c:
/* */
#include <inttypes.h>
#include <sys/ioctl.h>
#include <sys/param.h>
#include <sys/poll.h>
#include <sys/resource.h>
#include <sys/select.h>
#include <sys/socket.h>
#include <sys/stat.h>
#include <sys/time.h>
#include <sys/types.h>
#include <sys/un.h>
#include <sys/xattr.h>
#include <arpa/inet.h>
#include <arpa/tftp.h>
#include <assert.h>
#include <errno.h>
#include <fcntl.h>
#include <ifaddrs.h>
#include <libgen.h>
#include <locale.h>
#include <net/if.h>
#include <netdb.h>
#include <netinet/in.h>
#include <netinet/tcp.h>
#include <poll.h>
#include <pwd.h>
#include <setjmp.h>
#include <signal.h>
#include <stdbool.h>
#include <stdint.h>
#include <stdlib.h>
#include <string.h>
#include <strings.h>
#include <termio.h>
#include <termios.h>
#include <time.h>
#include <unistd.h>
#include <utime.h>
#include <stddef.h>
#include <stdint.h>
#include <sys/utsname.h>
int main(int argc, char** argv)
{
(void)argv;
#ifndef strtoll
return ((int*)(&strtoll))[argc];
#else
(void)argc;
return 0;
#endif
}
Determining if the strerror_r exist passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-lWFG7v
Run Build Command(s):/bin/gmake -f Makefile cmTC_7a69a/fast && gmake -f CMakeFiles/cmTC_7a69a.dir/build.make CMakeFiles/cmTC_7a69a.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-lWFG7v'
Building C object CMakeFiles/cmTC_7a69a.dir/CheckSymbolExists.c.o
/bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_7a69a.dir/CheckSymbolExists.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-lWFG7v/CheckSymbolExists.c
Linking C executable cmTC_7a69a
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_7a69a.dir/link.txt --verbose=1
/bin/gcc -w CMakeFiles/cmTC_7a69a.dir/CheckSymbolExists.c.o -o cmTC_7a69a
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-lWFG7v'
File CheckSymbolExists.c:
/* */
#include <inttypes.h>
#include <sys/ioctl.h>
#include <sys/param.h>
#include <sys/poll.h>
#include <sys/resource.h>
#include <sys/select.h>
#include <sys/socket.h>
#include <sys/stat.h>
#include <sys/time.h>
#include <sys/types.h>
#include <sys/un.h>
#include <sys/xattr.h>
#include <arpa/inet.h>
#include <arpa/tftp.h>
#include <assert.h>
#include <errno.h>
#include <fcntl.h>
#include <ifaddrs.h>
#include <libgen.h>
#include <locale.h>
#include <net/if.h>
#include <netdb.h>
#include <netinet/in.h>
#include <netinet/tcp.h>
#include <poll.h>
#include <pwd.h>
#include <setjmp.h>
#include <signal.h>
#include <stdbool.h>
#include <stdint.h>
#include <stdlib.h>
#include <string.h>
#include <strings.h>
#include <termio.h>
#include <termios.h>
#include <time.h>
#include <unistd.h>
#include <utime.h>
#include <stddef.h>
#include <stdint.h>
#include <sys/utsname.h>
int main(int argc, char** argv)
{
(void)argv;
#ifndef strerror_r
return ((int*)(&strerror_r))[argc];
#else
(void)argc;
return 0;
#endif
}
Determining if the siginterrupt exist passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-lUIItX
Run Build Command(s):/bin/gmake -f Makefile cmTC_45dee/fast && gmake -f CMakeFiles/cmTC_45dee.dir/build.make CMakeFiles/cmTC_45dee.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-lUIItX'
Building C object CMakeFiles/cmTC_45dee.dir/CheckSymbolExists.c.o
/bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_45dee.dir/CheckSymbolExists.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-lUIItX/CheckSymbolExists.c
Linking C executable cmTC_45dee
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_45dee.dir/link.txt --verbose=1
/bin/gcc -w CMakeFiles/cmTC_45dee.dir/CheckSymbolExists.c.o -o cmTC_45dee
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-lUIItX'
File CheckSymbolExists.c:
/* */
#include <inttypes.h>
#include <sys/ioctl.h>
#include <sys/param.h>
#include <sys/poll.h>
#include <sys/resource.h>
#include <sys/select.h>
#include <sys/socket.h>
#include <sys/stat.h>
#include <sys/time.h>
#include <sys/types.h>
#include <sys/un.h>
#include <sys/xattr.h>
#include <arpa/inet.h>
#include <arpa/tftp.h>
#include <assert.h>
#include <errno.h>
#include <fcntl.h>
#include <ifaddrs.h>
#include <libgen.h>
#include <locale.h>
#include <net/if.h>
#include <netdb.h>
#include <netinet/in.h>
#include <netinet/tcp.h>
#include <poll.h>
#include <pwd.h>
#include <setjmp.h>
#include <signal.h>
#include <stdbool.h>
#include <stdint.h>
#include <stdlib.h>
#include <string.h>
#include <strings.h>
#include <termio.h>
#include <termios.h>
#include <time.h>
#include <unistd.h>
#include <utime.h>
#include <stddef.h>
#include <stdint.h>
#include <sys/utsname.h>
int main(int argc, char** argv)
{
(void)argv;
#ifndef siginterrupt
return ((int*)(&siginterrupt))[argc];
#else
(void)argc;
return 0;
#endif
}
Determining if the getaddrinfo exist passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-7nei5o
Run Build Command(s):/bin/gmake -f Makefile cmTC_58b8b/fast && gmake -f CMakeFiles/cmTC_58b8b.dir/build.make CMakeFiles/cmTC_58b8b.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-7nei5o'
Building C object CMakeFiles/cmTC_58b8b.dir/CheckSymbolExists.c.o
/bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_58b8b.dir/CheckSymbolExists.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-7nei5o/CheckSymbolExists.c
Linking C executable cmTC_58b8b
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_58b8b.dir/link.txt --verbose=1
/bin/gcc -w CMakeFiles/cmTC_58b8b.dir/CheckSymbolExists.c.o -o cmTC_58b8b
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-7nei5o'
File CheckSymbolExists.c:
/* */
#include <inttypes.h>
#include <sys/ioctl.h>
#include <sys/param.h>
#include <sys/poll.h>
#include <sys/resource.h>
#include <sys/select.h>
#include <sys/socket.h>
#include <sys/stat.h>
#include <sys/time.h>
#include <sys/types.h>
#include <sys/un.h>
#include <sys/xattr.h>
#include <arpa/inet.h>
#include <arpa/tftp.h>
#include <assert.h>
#include <errno.h>
#include <fcntl.h>
#include <ifaddrs.h>
#include <libgen.h>
#include <locale.h>
#include <net/if.h>
#include <netdb.h>
#include <netinet/in.h>
#include <netinet/tcp.h>
#include <poll.h>
#include <pwd.h>
#include <setjmp.h>
#include <signal.h>
#include <stdbool.h>
#include <stdint.h>
#include <stdlib.h>
#include <string.h>
#include <strings.h>
#include <termio.h>
#include <termios.h>
#include <time.h>
#include <unistd.h>
#include <utime.h>
#include <stddef.h>
#include <stdint.h>
#include <sys/utsname.h>
int main(int argc, char** argv)
{
(void)argv;
#ifndef getaddrinfo
return ((int*)(&getaddrinfo))[argc];
#else
(void)argc;
return 0;
#endif
}
Determining if the freeaddrinfo exist passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-WlcRVQ
Run Build Command(s):/bin/gmake -f Makefile cmTC_1503e/fast && gmake -f CMakeFiles/cmTC_1503e.dir/build.make CMakeFiles/cmTC_1503e.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-WlcRVQ'
Building C object CMakeFiles/cmTC_1503e.dir/CheckSymbolExists.c.o
/bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_1503e.dir/CheckSymbolExists.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-WlcRVQ/CheckSymbolExists.c
Linking C executable cmTC_1503e
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_1503e.dir/link.txt --verbose=1
/bin/gcc -w CMakeFiles/cmTC_1503e.dir/CheckSymbolExists.c.o -o cmTC_1503e
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-WlcRVQ'
File CheckSymbolExists.c:
/* */
#include <inttypes.h>
#include <sys/ioctl.h>
#include <sys/param.h>
#include <sys/poll.h>
#include <sys/resource.h>
#include <sys/select.h>
#include <sys/socket.h>
#include <sys/stat.h>
#include <sys/time.h>
#include <sys/types.h>
#include <sys/un.h>
#include <sys/xattr.h>
#include <arpa/inet.h>
#include <arpa/tftp.h>
#include <assert.h>
#include <errno.h>
#include <fcntl.h>
#include <ifaddrs.h>
#include <libgen.h>
#include <locale.h>
#include <net/if.h>
#include <netdb.h>
#include <netinet/in.h>
#include <netinet/tcp.h>
#include <poll.h>
#include <pwd.h>
#include <setjmp.h>
#include <signal.h>
#include <stdbool.h>
#include <stdint.h>
#include <stdlib.h>
#include <string.h>
#include <strings.h>
#include <termio.h>
#include <termios.h>
#include <time.h>
#include <unistd.h>
#include <utime.h>
#include <stddef.h>
#include <stdint.h>
#include <sys/utsname.h>
int main(int argc, char** argv)
{
(void)argv;
#ifndef freeaddrinfo
return ((int*)(&freeaddrinfo))[argc];
#else
(void)argc;
return 0;
#endif
}
Determining if the pipe exist passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-rlWj0i
Run Build Command(s):/bin/gmake -f Makefile cmTC_ba1d3/fast && gmake -f CMakeFiles/cmTC_ba1d3.dir/build.make CMakeFiles/cmTC_ba1d3.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-rlWj0i'
Building C object CMakeFiles/cmTC_ba1d3.dir/CheckSymbolExists.c.o
/bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_ba1d3.dir/CheckSymbolExists.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-rlWj0i/CheckSymbolExists.c
Linking C executable cmTC_ba1d3
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_ba1d3.dir/link.txt --verbose=1
/bin/gcc -w CMakeFiles/cmTC_ba1d3.dir/CheckSymbolExists.c.o -o cmTC_ba1d3
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-rlWj0i'
File CheckSymbolExists.c:
/* */
#include <inttypes.h>
#include <sys/ioctl.h>
#include <sys/param.h>
#include <sys/poll.h>
#include <sys/resource.h>
#include <sys/select.h>
#include <sys/socket.h>
#include <sys/stat.h>
#include <sys/time.h>
#include <sys/types.h>
#include <sys/un.h>
#include <sys/xattr.h>
#include <arpa/inet.h>
#include <arpa/tftp.h>
#include <assert.h>
#include <errno.h>
#include <fcntl.h>
#include <ifaddrs.h>
#include <libgen.h>
#include <locale.h>
#include <net/if.h>
#include <netdb.h>
#include <netinet/in.h>
#include <netinet/tcp.h>
#include <poll.h>
#include <pwd.h>
#include <setjmp.h>
#include <signal.h>
#include <stdbool.h>
#include <stdint.h>
#include <stdlib.h>
#include <string.h>
#include <strings.h>
#include <termio.h>
#include <termios.h>
#include <time.h>
#include <unistd.h>
#include <utime.h>
#include <stddef.h>
#include <stdint.h>
#include <sys/utsname.h>
int main(int argc, char** argv)
{
(void)argv;
#ifndef pipe
return ((int*)(&pipe))[argc];
#else
(void)argc;
return 0;
#endif
}
Determining if the ftruncate exist passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-HtuYjL
Run Build Command(s):/bin/gmake -f Makefile cmTC_87dbf/fast && gmake -f CMakeFiles/cmTC_87dbf.dir/build.make CMakeFiles/cmTC_87dbf.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-HtuYjL'
Building C object CMakeFiles/cmTC_87dbf.dir/CheckSymbolExists.c.o
/bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_87dbf.dir/CheckSymbolExists.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-HtuYjL/CheckSymbolExists.c
Linking C executable cmTC_87dbf
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_87dbf.dir/link.txt --verbose=1
/bin/gcc -w CMakeFiles/cmTC_87dbf.dir/CheckSymbolExists.c.o -o cmTC_87dbf
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-HtuYjL'
File CheckSymbolExists.c:
/* */
#include <inttypes.h>
#include <sys/ioctl.h>
#include <sys/param.h>
#include <sys/poll.h>
#include <sys/resource.h>
#include <sys/select.h>
#include <sys/socket.h>
#include <sys/stat.h>
#include <sys/time.h>
#include <sys/types.h>
#include <sys/un.h>
#include <sys/xattr.h>
#include <arpa/inet.h>
#include <arpa/tftp.h>
#include <assert.h>
#include <errno.h>
#include <fcntl.h>
#include <ifaddrs.h>
#include <libgen.h>
#include <locale.h>
#include <net/if.h>
#include <netdb.h>
#include <netinet/in.h>
#include <netinet/tcp.h>
#include <poll.h>
#include <pwd.h>
#include <setjmp.h>
#include <signal.h>
#include <stdbool.h>
#include <stdint.h>
#include <stdlib.h>
#include <string.h>
#include <strings.h>
#include <termio.h>
#include <termios.h>
#include <time.h>
#include <unistd.h>
#include <utime.h>
#include <stddef.h>
#include <stdint.h>
#include <sys/utsname.h>
int main(int argc, char** argv)
{
(void)argv;
#ifndef ftruncate
return ((int*)(&ftruncate))[argc];
#else
(void)argc;
return 0;
#endif
}
Determining if the getpeername exist passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-6FqlSd
Run Build Command(s):/bin/gmake -f Makefile cmTC_0ecc7/fast && gmake -f CMakeFiles/cmTC_0ecc7.dir/build.make CMakeFiles/cmTC_0ecc7.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-6FqlSd'
Building C object CMakeFiles/cmTC_0ecc7.dir/CheckSymbolExists.c.o
/bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_0ecc7.dir/CheckSymbolExists.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-6FqlSd/CheckSymbolExists.c
Linking C executable cmTC_0ecc7
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_0ecc7.dir/link.txt --verbose=1
/bin/gcc -w CMakeFiles/cmTC_0ecc7.dir/CheckSymbolExists.c.o -o cmTC_0ecc7
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-6FqlSd'
File CheckSymbolExists.c:
/* */
#include <inttypes.h>
#include <sys/ioctl.h>
#include <sys/param.h>
#include <sys/poll.h>
#include <sys/resource.h>
#include <sys/select.h>
#include <sys/socket.h>
#include <sys/stat.h>
#include <sys/time.h>
#include <sys/types.h>
#include <sys/un.h>
#include <sys/xattr.h>
#include <arpa/inet.h>
#include <arpa/tftp.h>
#include <assert.h>
#include <errno.h>
#include <fcntl.h>
#include <ifaddrs.h>
#include <libgen.h>
#include <locale.h>
#include <net/if.h>
#include <netdb.h>
#include <netinet/in.h>
#include <netinet/tcp.h>
#include <poll.h>
#include <pwd.h>
#include <setjmp.h>
#include <signal.h>
#include <stdbool.h>
#include <stdint.h>
#include <stdlib.h>
#include <string.h>
#include <strings.h>
#include <termio.h>
#include <termios.h>
#include <time.h>
#include <unistd.h>
#include <utime.h>
#include <stddef.h>
#include <stdint.h>
#include <sys/utsname.h>
int main(int argc, char** argv)
{
(void)argv;
#ifndef getpeername
return ((int*)(&getpeername))[argc];
#else
(void)argc;
return 0;
#endif
}
Determining if the getsockname exist passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-BH9JEG
Run Build Command(s):/bin/gmake -f Makefile cmTC_c9695/fast && gmake -f CMakeFiles/cmTC_c9695.dir/build.make CMakeFiles/cmTC_c9695.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-BH9JEG'
Building C object CMakeFiles/cmTC_c9695.dir/CheckSymbolExists.c.o
/bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_c9695.dir/CheckSymbolExists.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-BH9JEG/CheckSymbolExists.c
Linking C executable cmTC_c9695
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_c9695.dir/link.txt --verbose=1
/bin/gcc -w CMakeFiles/cmTC_c9695.dir/CheckSymbolExists.c.o -o cmTC_c9695
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-BH9JEG'
File CheckSymbolExists.c:
/* */
#include <inttypes.h>
#include <sys/ioctl.h>
#include <sys/param.h>
#include <sys/poll.h>
#include <sys/resource.h>
#include <sys/select.h>
#include <sys/socket.h>
#include <sys/stat.h>
#include <sys/time.h>
#include <sys/types.h>
#include <sys/un.h>
#include <sys/xattr.h>
#include <arpa/inet.h>
#include <arpa/tftp.h>
#include <assert.h>
#include <errno.h>
#include <fcntl.h>
#include <ifaddrs.h>
#include <libgen.h>
#include <locale.h>
#include <net/if.h>
#include <netdb.h>
#include <netinet/in.h>
#include <netinet/tcp.h>
#include <poll.h>
#include <pwd.h>
#include <setjmp.h>
#include <signal.h>
#include <stdbool.h>
#include <stdint.h>
#include <stdlib.h>
#include <string.h>
#include <strings.h>
#include <termio.h>
#include <termios.h>
#include <time.h>
#include <unistd.h>
#include <utime.h>
#include <stddef.h>
#include <stdint.h>
#include <sys/utsname.h>
int main(int argc, char** argv)
{
(void)argv;
#ifndef getsockname
return ((int*)(&getsockname))[argc];
#else
(void)argc;
return 0;
#endif
}
Determining if the if_nametoindex exist passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-jvWAG9
Run Build Command(s):/bin/gmake -f Makefile cmTC_5c676/fast && gmake -f CMakeFiles/cmTC_5c676.dir/build.make CMakeFiles/cmTC_5c676.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-jvWAG9'
Building C object CMakeFiles/cmTC_5c676.dir/CheckSymbolExists.c.o
/bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_5c676.dir/CheckSymbolExists.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-jvWAG9/CheckSymbolExists.c
Linking C executable cmTC_5c676
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_5c676.dir/link.txt --verbose=1
/bin/gcc -w CMakeFiles/cmTC_5c676.dir/CheckSymbolExists.c.o -o cmTC_5c676
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-jvWAG9'
File CheckSymbolExists.c:
/* */
#include <inttypes.h>
#include <sys/ioctl.h>
#include <sys/param.h>
#include <sys/poll.h>
#include <sys/resource.h>
#include <sys/select.h>
#include <sys/socket.h>
#include <sys/stat.h>
#include <sys/time.h>
#include <sys/types.h>
#include <sys/un.h>
#include <sys/xattr.h>
#include <arpa/inet.h>
#include <arpa/tftp.h>
#include <assert.h>
#include <errno.h>
#include <fcntl.h>
#include <ifaddrs.h>
#include <libgen.h>
#include <locale.h>
#include <net/if.h>
#include <netdb.h>
#include <netinet/in.h>
#include <netinet/tcp.h>
#include <poll.h>
#include <pwd.h>
#include <setjmp.h>
#include <signal.h>
#include <stdbool.h>
#include <stdint.h>
#include <stdlib.h>
#include <string.h>
#include <strings.h>
#include <termio.h>
#include <termios.h>
#include <time.h>
#include <unistd.h>
#include <utime.h>
#include <stddef.h>
#include <stdint.h>
#include <sys/utsname.h>
int main(int argc, char** argv)
{
(void)argv;
#ifndef if_nametoindex
return ((int*)(&if_nametoindex))[argc];
#else
(void)argc;
return 0;
#endif
}
Determining if the getrlimit exist passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-EuXQWC
Run Build Command(s):/bin/gmake -f Makefile cmTC_3d81b/fast && gmake -f CMakeFiles/cmTC_3d81b.dir/build.make CMakeFiles/cmTC_3d81b.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-EuXQWC'
Building C object CMakeFiles/cmTC_3d81b.dir/CheckSymbolExists.c.o
/bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_3d81b.dir/CheckSymbolExists.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-EuXQWC/CheckSymbolExists.c
Linking C executable cmTC_3d81b
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_3d81b.dir/link.txt --verbose=1
/bin/gcc -w CMakeFiles/cmTC_3d81b.dir/CheckSymbolExists.c.o -o cmTC_3d81b
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-EuXQWC'
File CheckSymbolExists.c:
/* */
#include <inttypes.h>
#include <sys/ioctl.h>
#include <sys/param.h>
#include <sys/poll.h>
#include <sys/resource.h>
#include <sys/select.h>
#include <sys/socket.h>
#include <sys/stat.h>
#include <sys/time.h>
#include <sys/types.h>
#include <sys/un.h>
#include <sys/xattr.h>
#include <arpa/inet.h>
#include <arpa/tftp.h>
#include <assert.h>
#include <errno.h>
#include <fcntl.h>
#include <ifaddrs.h>
#include <libgen.h>
#include <locale.h>
#include <net/if.h>
#include <netdb.h>
#include <netinet/in.h>
#include <netinet/tcp.h>
#include <poll.h>
#include <pwd.h>
#include <setjmp.h>
#include <signal.h>
#include <stdbool.h>
#include <stdint.h>
#include <stdlib.h>
#include <string.h>
#include <strings.h>
#include <termio.h>
#include <termios.h>
#include <time.h>
#include <unistd.h>
#include <utime.h>
#include <stddef.h>
#include <stdint.h>
#include <sys/utsname.h>
int main(int argc, char** argv)
{
(void)argv;
#ifndef getrlimit
return ((int*)(&getrlimit))[argc];
#else
(void)argc;
return 0;
#endif
}
Determining if the setrlimit exist passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-Z7J85z
Run Build Command(s):/bin/gmake -f Makefile cmTC_ed9a3/fast && gmake -f CMakeFiles/cmTC_ed9a3.dir/build.make CMakeFiles/cmTC_ed9a3.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-Z7J85z'
Building C object CMakeFiles/cmTC_ed9a3.dir/CheckSymbolExists.c.o
/bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_ed9a3.dir/CheckSymbolExists.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-Z7J85z/CheckSymbolExists.c
Linking C executable cmTC_ed9a3
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_ed9a3.dir/link.txt --verbose=1
/bin/gcc -w CMakeFiles/cmTC_ed9a3.dir/CheckSymbolExists.c.o -o cmTC_ed9a3
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-Z7J85z'
File CheckSymbolExists.c:
/* */
#include <inttypes.h>
#include <sys/ioctl.h>
#include <sys/param.h>
#include <sys/poll.h>
#include <sys/resource.h>
#include <sys/select.h>
#include <sys/socket.h>
#include <sys/stat.h>
#include <sys/time.h>
#include <sys/types.h>
#include <sys/un.h>
#include <sys/xattr.h>
#include <arpa/inet.h>
#include <arpa/tftp.h>
#include <assert.h>
#include <errno.h>
#include <fcntl.h>
#include <ifaddrs.h>
#include <libgen.h>
#include <locale.h>
#include <net/if.h>
#include <netdb.h>
#include <netinet/in.h>
#include <netinet/tcp.h>
#include <poll.h>
#include <pwd.h>
#include <setjmp.h>
#include <signal.h>
#include <stdbool.h>
#include <stdint.h>
#include <stdlib.h>
#include <string.h>
#include <strings.h>
#include <termio.h>
#include <termios.h>
#include <time.h>
#include <unistd.h>
#include <utime.h>
#include <stddef.h>
#include <stdint.h>
#include <sys/utsname.h>
int main(int argc, char** argv)
{
(void)argv;
#ifndef setrlimit
return ((int*)(&setrlimit))[argc];
#else
(void)argc;
return 0;
#endif
}
Determining if the inet_ntop exist passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-xzSs1x
Run Build Command(s):/bin/gmake -f Makefile cmTC_09a8a/fast && gmake -f CMakeFiles/cmTC_09a8a.dir/build.make CMakeFiles/cmTC_09a8a.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-xzSs1x'
Building C object CMakeFiles/cmTC_09a8a.dir/CheckSymbolExists.c.o
/bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_09a8a.dir/CheckSymbolExists.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-xzSs1x/CheckSymbolExists.c
Linking C executable cmTC_09a8a
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_09a8a.dir/link.txt --verbose=1
/bin/gcc -w CMakeFiles/cmTC_09a8a.dir/CheckSymbolExists.c.o -o cmTC_09a8a
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-xzSs1x'
File CheckSymbolExists.c:
/* */
#include <inttypes.h>
#include <sys/ioctl.h>
#include <sys/param.h>
#include <sys/poll.h>
#include <sys/resource.h>
#include <sys/select.h>
#include <sys/socket.h>
#include <sys/stat.h>
#include <sys/time.h>
#include <sys/types.h>
#include <sys/un.h>
#include <sys/xattr.h>
#include <arpa/inet.h>
#include <arpa/tftp.h>
#include <assert.h>
#include <errno.h>
#include <fcntl.h>
#include <ifaddrs.h>
#include <libgen.h>
#include <locale.h>
#include <net/if.h>
#include <netdb.h>
#include <netinet/in.h>
#include <netinet/tcp.h>
#include <poll.h>
#include <pwd.h>
#include <setjmp.h>
#include <signal.h>
#include <stdbool.h>
#include <stdint.h>
#include <stdlib.h>
#include <string.h>
#include <strings.h>
#include <termio.h>
#include <termios.h>
#include <time.h>
#include <unistd.h>
#include <utime.h>
#include <stddef.h>
#include <stdint.h>
#include <sys/utsname.h>
int main(int argc, char** argv)
{
(void)argv;
#ifndef inet_ntop
return ((int*)(&inet_ntop))[argc];
#else
(void)argc;
return 0;
#endif
}
Determining if the inet_pton exist passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-1fOsj2
Run Build Command(s):/bin/gmake -f Makefile cmTC_685a5/fast && gmake -f CMakeFiles/cmTC_685a5.dir/build.make CMakeFiles/cmTC_685a5.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-1fOsj2'
Building C object CMakeFiles/cmTC_685a5.dir/CheckSymbolExists.c.o
/bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_685a5.dir/CheckSymbolExists.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-1fOsj2/CheckSymbolExists.c
Linking C executable cmTC_685a5
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_685a5.dir/link.txt --verbose=1
/bin/gcc -w CMakeFiles/cmTC_685a5.dir/CheckSymbolExists.c.o -o cmTC_685a5
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-1fOsj2'
File CheckSymbolExists.c:
/* */
#include <inttypes.h>
#include <sys/ioctl.h>
#include <sys/param.h>
#include <sys/poll.h>
#include <sys/resource.h>
#include <sys/select.h>
#include <sys/socket.h>
#include <sys/stat.h>
#include <sys/time.h>
#include <sys/types.h>
#include <sys/un.h>
#include <sys/xattr.h>
#include <arpa/inet.h>
#include <arpa/tftp.h>
#include <assert.h>
#include <errno.h>
#include <fcntl.h>
#include <ifaddrs.h>
#include <libgen.h>
#include <locale.h>
#include <net/if.h>
#include <netdb.h>
#include <netinet/in.h>
#include <netinet/tcp.h>
#include <poll.h>
#include <pwd.h>
#include <setjmp.h>
#include <signal.h>
#include <stdbool.h>
#include <stdint.h>
#include <stdlib.h>
#include <string.h>
#include <strings.h>
#include <termio.h>
#include <termios.h>
#include <time.h>
#include <unistd.h>
#include <utime.h>
#include <stddef.h>
#include <stdint.h>
#include <sys/utsname.h>
int main(int argc, char** argv)
{
(void)argv;
#ifndef inet_pton
return ((int*)(&inet_pton))[argc];
#else
(void)argc;
return 0;
#endif
}
Determining if the fsetxattr exist passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-R3C4Qw
Run Build Command(s):/bin/gmake -f Makefile cmTC_80e64/fast && gmake -f CMakeFiles/cmTC_80e64.dir/build.make CMakeFiles/cmTC_80e64.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-R3C4Qw'
Building C object CMakeFiles/cmTC_80e64.dir/CheckSymbolExists.c.o
/bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_80e64.dir/CheckSymbolExists.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-R3C4Qw/CheckSymbolExists.c
Linking C executable cmTC_80e64
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_80e64.dir/link.txt --verbose=1
/bin/gcc -w CMakeFiles/cmTC_80e64.dir/CheckSymbolExists.c.o -o cmTC_80e64
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-R3C4Qw'
File CheckSymbolExists.c:
/* */
#include <inttypes.h>
#include <sys/ioctl.h>
#include <sys/param.h>
#include <sys/poll.h>
#include <sys/resource.h>
#include <sys/select.h>
#include <sys/socket.h>
#include <sys/stat.h>
#include <sys/time.h>
#include <sys/types.h>
#include <sys/un.h>
#include <sys/xattr.h>
#include <arpa/inet.h>
#include <arpa/tftp.h>
#include <assert.h>
#include <errno.h>
#include <fcntl.h>
#include <ifaddrs.h>
#include <libgen.h>
#include <locale.h>
#include <net/if.h>
#include <netdb.h>
#include <netinet/in.h>
#include <netinet/tcp.h>
#include <poll.h>
#include <pwd.h>
#include <setjmp.h>
#include <signal.h>
#include <stdbool.h>
#include <stdint.h>
#include <stdlib.h>
#include <string.h>
#include <strings.h>
#include <termio.h>
#include <termios.h>
#include <time.h>
#include <unistd.h>
#include <utime.h>
#include <stddef.h>
#include <stdint.h>
#include <sys/utsname.h>
int main(int argc, char** argv)
{
(void)argv;
#ifndef fsetxattr
return ((int*)(&fsetxattr))[argc];
#else
(void)argc;
return 0;
#endif
}
Performing Curl Test HAVE_FSETXATTR_5 passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeTmp
Run Build Command(s):/bin/gmake -f Makefile cmTC_2539d/fast && gmake -f CMakeFiles/cmTC_2539d.dir/build.make CMakeFiles/cmTC_2539d.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeTmp'
Building C object CMakeFiles/cmTC_2539d.dir/CurlTests.c.o
/bin/gcc -w -DHAVE_FSETXATTR_5 -DHAVE_INTTYPES_H -DHAVE_SYS_IOCTL_H -DHAVE_SYS_PARAM_H -DHAVE_SYS_POLL_H -DHAVE_SYS_RESOURCE_H -DHAVE_SYS_SELECT_H -DHAVE_SYS_SOCKET_H -DHAVE_SYS_STAT_H -DHAVE_SYS_TIME_H -DHAVE_SYS_TYPES_H -DHAVE_SYS_UN_H -DHAVE_SYS_XATTR_H -DHAVE_ARPA_INET_H -DHAVE_ARPA_TFTP_H -DHAVE_ASSERT_H -DHAVE_ERRNO_H -DHAVE_FCNTL_H -DHAVE_IFADDRS_H -DHAVE_LIBGEN_H -DHAVE_LOCALE_H -DHAVE_NET_IF_H -DHAVE_NETDB_H -DHAVE_NETINET_IN_H -DHAVE_NETINET_TCP_H -DHAVE_POLL_H -DHAVE_PWD_H -DHAVE_SETJMP_H -DHAVE_SIGNAL_H -DHAVE_STDBOOL_H -DHAVE_STDINT_H -DHAVE_STDLIB_H -DHAVE_STRING_H -DHAVE_STRINGS_H -DHAVE_TERMIO_H -DHAVE_TERMIOS_H -DHAVE_TIME_H -DHAVE_UNISTD_H -DHAVE_UTIME_H -DHAVE_STDDEF_H -DHAVE_STDINT_H -DHAVE_SYS_UTSNAME_H -std=gnu99 -o CMakeFiles/cmTC_2539d.dir/CurlTests.c.o -c /usr/src/cmake-3.25.0/Utilities/cmcurl/CMake/CurlTests.c
Linking C executable cmTC_2539d
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_2539d.dir/link.txt --verbose=1
/bin/gcc -w -DHAVE_FSETXATTR_5 -DHAVE_INTTYPES_H -DHAVE_SYS_IOCTL_H -DHAVE_SYS_PARAM_H -DHAVE_SYS_POLL_H -DHAVE_SYS_RESOURCE_H -DHAVE_SYS_SELECT_H -DHAVE_SYS_SOCKET_H -DHAVE_SYS_STAT_H -DHAVE_SYS_TIME_H -DHAVE_SYS_TYPES_H -DHAVE_SYS_UN_H -DHAVE_SYS_XATTR_H -DHAVE_ARPA_INET_H -DHAVE_ARPA_TFTP_H -DHAVE_ASSERT_H -DHAVE_ERRNO_H -DHAVE_FCNTL_H -DHAVE_IFADDRS_H -DHAVE_LIBGEN_H -DHAVE_LOCALE_H -DHAVE_NET_IF_H -DHAVE_NETDB_H -DHAVE_NETINET_IN_H -DHAVE_NETINET_TCP_H -DHAVE_POLL_H -DHAVE_PWD_H -DHAVE_SETJMP_H -DHAVE_SIGNAL_H -DHAVE_STDBOOL_H -DHAVE_STDINT_H -DHAVE_STDLIB_H -DHAVE_STRING_H -DHAVE_STRINGS_H -DHAVE_TERMIO_H -DHAVE_TERMIOS_H -DHAVE_TIME_H -DHAVE_UNISTD_H -DHAVE_UTIME_H -DHAVE_STDDEF_H -DHAVE_STDINT_H -DHAVE_SYS_UTSNAME_H CMakeFiles/cmTC_2539d.dir/CurlTests.c.o -o cmTC_2539d
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeTmp'
Determining size of sa_family_t passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-9DNzU1
Run Build Command(s):/bin/gmake -f Makefile cmTC_ac432/fast && gmake -f CMakeFiles/cmTC_ac432.dir/build.make CMakeFiles/cmTC_ac432.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-9DNzU1'
Building C object CMakeFiles/cmTC_ac432.dir/SIZEOF_SA_FAMILY_T.c.o
/bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_ac432.dir/SIZEOF_SA_FAMILY_T.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-9DNzU1/SIZEOF_SA_FAMILY_T.c
Linking C executable cmTC_ac432
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_ac432.dir/link.txt --verbose=1
/bin/gcc -w CMakeFiles/cmTC_ac432.dir/SIZEOF_SA_FAMILY_T.c.o -o cmTC_ac432
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-9DNzU1'
Determining if the sigaction exist passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-pixIx2
Run Build Command(s):/bin/gmake -f Makefile cmTC_1fb72/fast && gmake -f CMakeFiles/cmTC_1fb72.dir/build.make CMakeFiles/cmTC_1fb72.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-pixIx2'
Building C object CMakeFiles/cmTC_1fb72.dir/CheckSymbolExists.c.o
/bin/gcc -w -std=gnu99 -o CMakeFiles/cmTC_1fb72.dir/CheckSymbolExists.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-pixIx2/CheckSymbolExists.c
Linking C executable cmTC_1fb72
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_1fb72.dir/link.txt --verbose=1
/bin/gcc -w CMakeFiles/cmTC_1fb72.dir/CheckSymbolExists.c.o -o cmTC_1fb72
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-pixIx2'
File CheckSymbolExists.c:
/* */
#include <signal.h>
int main(int argc, char** argv)
{
(void)argv;
#ifndef sigaction
return ((int*)(&sigaction))[argc];
#else
(void)argc;
return 0;
#endif
}
Performing Curl Test HAVE_FCNTL_O_NONBLOCK passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeTmp
Run Build Command(s):/bin/gmake -f Makefile cmTC_dc57b/fast && gmake -f CMakeFiles/cmTC_dc57b.dir/build.make CMakeFiles/cmTC_dc57b.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeTmp'
Building C object CMakeFiles/cmTC_dc57b.dir/CurlTests.c.o
/bin/gcc -w -DHAVE_FCNTL_O_NONBLOCK -DHAVE_INTTYPES_H -DHAVE_SYS_IOCTL_H -DHAVE_SYS_PARAM_H -DHAVE_SYS_POLL_H -DHAVE_SYS_RESOURCE_H -DHAVE_SYS_SELECT_H -DHAVE_SYS_SOCKET_H -DHAVE_SYS_STAT_H -DHAVE_SYS_TIME_H -DHAVE_SYS_TYPES_H -DHAVE_SYS_UN_H -DHAVE_SYS_XATTR_H -DHAVE_ARPA_INET_H -DHAVE_ARPA_TFTP_H -DHAVE_ASSERT_H -DHAVE_ERRNO_H -DHAVE_FCNTL_H -DHAVE_IFADDRS_H -DHAVE_LIBGEN_H -DHAVE_LOCALE_H -DHAVE_NET_IF_H -DHAVE_NETDB_H -DHAVE_NETINET_IN_H -DHAVE_NETINET_TCP_H -DHAVE_POLL_H -DHAVE_PWD_H -DHAVE_SETJMP_H -DHAVE_SIGNAL_H -DHAVE_STDBOOL_H -DHAVE_STDINT_H -DHAVE_STDLIB_H -DHAVE_STRING_H -DHAVE_STRINGS_H -DHAVE_TERMIO_H -DHAVE_TERMIOS_H -DHAVE_TIME_H -DHAVE_UNISTD_H -DHAVE_UTIME_H -DHAVE_STDDEF_H -DHAVE_STDINT_H -DHAVE_SYS_UTSNAME_H -std=gnu99 -o CMakeFiles/cmTC_dc57b.dir/CurlTests.c.o -c /usr/src/cmake-3.25.0/Utilities/cmcurl/CMake/CurlTests.c
Linking C executable cmTC_dc57b
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_dc57b.dir/link.txt --verbose=1
/bin/gcc -w -DHAVE_FCNTL_O_NONBLOCK -DHAVE_INTTYPES_H -DHAVE_SYS_IOCTL_H -DHAVE_SYS_PARAM_H -DHAVE_SYS_POLL_H -DHAVE_SYS_RESOURCE_H -DHAVE_SYS_SELECT_H -DHAVE_SYS_SOCKET_H -DHAVE_SYS_STAT_H -DHAVE_SYS_TIME_H -DHAVE_SYS_TYPES_H -DHAVE_SYS_UN_H -DHAVE_SYS_XATTR_H -DHAVE_ARPA_INET_H -DHAVE_ARPA_TFTP_H -DHAVE_ASSERT_H -DHAVE_ERRNO_H -DHAVE_FCNTL_H -DHAVE_IFADDRS_H -DHAVE_LIBGEN_H -DHAVE_LOCALE_H -DHAVE_NET_IF_H -DHAVE_NETDB_H -DHAVE_NETINET_IN_H -DHAVE_NETINET_TCP_H -DHAVE_POLL_H -DHAVE_PWD_H -DHAVE_SETJMP_H -DHAVE_SIGNAL_H -DHAVE_STDBOOL_H -DHAVE_STDINT_H -DHAVE_STDLIB_H -DHAVE_STRING_H -DHAVE_STRINGS_H -DHAVE_TERMIO_H -DHAVE_TERMIOS_H -DHAVE_TIME_H -DHAVE_UNISTD_H -DHAVE_UTIME_H -DHAVE_STDDEF_H -DHAVE_STDINT_H -DHAVE_SYS_UTSNAME_H CMakeFiles/cmTC_dc57b.dir/CurlTests.c.o -o cmTC_dc57b
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeTmp'
Performing Curl Test HAVE_IOCTL_FIONBIO passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeTmp
Run Build Command(s):/bin/gmake -f Makefile cmTC_2c265/fast && gmake -f CMakeFiles/cmTC_2c265.dir/build.make CMakeFiles/cmTC_2c265.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeTmp'
Building C object CMakeFiles/cmTC_2c265.dir/CurlTests.c.o
/bin/gcc -w -DHAVE_IOCTL_FIONBIO -DHAVE_INTTYPES_H -DHAVE_SYS_IOCTL_H -DHAVE_SYS_PARAM_H -DHAVE_SYS_POLL_H -DHAVE_SYS_RESOURCE_H -DHAVE_SYS_SELECT_H -DHAVE_SYS_SOCKET_H -DHAVE_SYS_STAT_H -DHAVE_SYS_TIME_H -DHAVE_SYS_TYPES_H -DHAVE_SYS_UN_H -DHAVE_SYS_XATTR_H -DHAVE_ARPA_INET_H -DHAVE_ARPA_TFTP_H -DHAVE_ASSERT_H -DHAVE_ERRNO_H -DHAVE_FCNTL_H -DHAVE_IFADDRS_H -DHAVE_LIBGEN_H -DHAVE_LOCALE_H -DHAVE_NET_IF_H -DHAVE_NETDB_H -DHAVE_NETINET_IN_H -DHAVE_NETINET_TCP_H -DHAVE_POLL_H -DHAVE_PWD_H -DHAVE_SETJMP_H -DHAVE_SIGNAL_H -DHAVE_STDBOOL_H -DHAVE_STDINT_H -DHAVE_STDLIB_H -DHAVE_STRING_H -DHAVE_STRINGS_H -DHAVE_TERMIO_H -DHAVE_TERMIOS_H -DHAVE_TIME_H -DHAVE_UNISTD_H -DHAVE_UTIME_H -DHAVE_STDDEF_H -DHAVE_STDINT_H -DHAVE_SYS_UTSNAME_H -std=gnu99 -o CMakeFiles/cmTC_2c265.dir/CurlTests.c.o -c /usr/src/cmake-3.25.0/Utilities/cmcurl/CMake/CurlTests.c
Linking C executable cmTC_2c265
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_2c265.dir/link.txt --verbose=1
/bin/gcc -w -DHAVE_IOCTL_FIONBIO -DHAVE_INTTYPES_H -DHAVE_SYS_IOCTL_H -DHAVE_SYS_PARAM_H -DHAVE_SYS_POLL_H -DHAVE_SYS_RESOURCE_H -DHAVE_SYS_SELECT_H -DHAVE_SYS_SOCKET_H -DHAVE_SYS_STAT_H -DHAVE_SYS_TIME_H -DHAVE_SYS_TYPES_H -DHAVE_SYS_UN_H -DHAVE_SYS_XATTR_H -DHAVE_ARPA_INET_H -DHAVE_ARPA_TFTP_H -DHAVE_ASSERT_H -DHAVE_ERRNO_H -DHAVE_FCNTL_H -DHAVE_IFADDRS_H -DHAVE_LIBGEN_H -DHAVE_LOCALE_H -DHAVE_NET_IF_H -DHAVE_NETDB_H -DHAVE_NETINET_IN_H -DHAVE_NETINET_TCP_H -DHAVE_POLL_H -DHAVE_PWD_H -DHAVE_SETJMP_H -DHAVE_SIGNAL_H -DHAVE_STDBOOL_H -DHAVE_STDINT_H -DHAVE_STDLIB_H -DHAVE_STRING_H -DHAVE_STRINGS_H -DHAVE_TERMIO_H -DHAVE_TERMIOS_H -DHAVE_TIME_H -DHAVE_UNISTD_H -DHAVE_UTIME_H -DHAVE_STDDEF_H -DHAVE_STDINT_H -DHAVE_SYS_UTSNAME_H CMakeFiles/cmTC_2c265.dir/CurlTests.c.o -o cmTC_2c265
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeTmp'
Performing Curl Test HAVE_IOCTL_SIOCGIFADDR passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeTmp
Run Build Command(s):/bin/gmake -f Makefile cmTC_28873/fast && gmake -f CMakeFiles/cmTC_28873.dir/build.make CMakeFiles/cmTC_28873.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeTmp'
Building C object CMakeFiles/cmTC_28873.dir/CurlTests.c.o
/bin/gcc -w -DHAVE_IOCTL_SIOCGIFADDR -DHAVE_INTTYPES_H -DHAVE_SYS_IOCTL_H -DHAVE_SYS_PARAM_H -DHAVE_SYS_POLL_H -DHAVE_SYS_RESOURCE_H -DHAVE_SYS_SELECT_H -DHAVE_SYS_SOCKET_H -DHAVE_SYS_STAT_H -DHAVE_SYS_TIME_H -DHAVE_SYS_TYPES_H -DHAVE_SYS_UN_H -DHAVE_SYS_XATTR_H -DHAVE_ARPA_INET_H -DHAVE_ARPA_TFTP_H -DHAVE_ASSERT_H -DHAVE_ERRNO_H -DHAVE_FCNTL_H -DHAVE_IFADDRS_H -DHAVE_LIBGEN_H -DHAVE_LOCALE_H -DHAVE_NET_IF_H -DHAVE_NETDB_H -DHAVE_NETINET_IN_H -DHAVE_NETINET_TCP_H -DHAVE_POLL_H -DHAVE_PWD_H -DHAVE_SETJMP_H -DHAVE_SIGNAL_H -DHAVE_STDBOOL_H -DHAVE_STDINT_H -DHAVE_STDLIB_H -DHAVE_STRING_H -DHAVE_STRINGS_H -DHAVE_TERMIO_H -DHAVE_TERMIOS_H -DHAVE_TIME_H -DHAVE_UNISTD_H -DHAVE_UTIME_H -DHAVE_STDDEF_H -DHAVE_STDINT_H -DHAVE_SYS_UTSNAME_H -std=gnu99 -o CMakeFiles/cmTC_28873.dir/CurlTests.c.o -c /usr/src/cmake-3.25.0/Utilities/cmcurl/CMake/CurlTests.c
Linking C executable cmTC_28873
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_28873.dir/link.txt --verbose=1
/bin/gcc -w -DHAVE_IOCTL_SIOCGIFADDR -DHAVE_INTTYPES_H -DHAVE_SYS_IOCTL_H -DHAVE_SYS_PARAM_H -DHAVE_SYS_POLL_H -DHAVE_SYS_RESOURCE_H -DHAVE_SYS_SELECT_H -DHAVE_SYS_SOCKET_H -DHAVE_SYS_STAT_H -DHAVE_SYS_TIME_H -DHAVE_SYS_TYPES_H -DHAVE_SYS_UN_H -DHAVE_SYS_XATTR_H -DHAVE_ARPA_INET_H -DHAVE_ARPA_TFTP_H -DHAVE_ASSERT_H -DHAVE_ERRNO_H -DHAVE_FCNTL_H -DHAVE_IFADDRS_H -DHAVE_LIBGEN_H -DHAVE_LOCALE_H -DHAVE_NET_IF_H -DHAVE_NETDB_H -DHAVE_NETINET_IN_H -DHAVE_NETINET_TCP_H -DHAVE_POLL_H -DHAVE_PWD_H -DHAVE_SETJMP_H -DHAVE_SIGNAL_H -DHAVE_STDBOOL_H -DHAVE_STDINT_H -DHAVE_STDLIB_H -DHAVE_STRING_H -DHAVE_STRINGS_H -DHAVE_TERMIO_H -DHAVE_TERMIOS_H -DHAVE_TIME_H -DHAVE_UNISTD_H -DHAVE_UTIME_H -DHAVE_STDDEF_H -DHAVE_STDINT_H -DHAVE_SYS_UTSNAME_H CMakeFiles/cmTC_28873.dir/CurlTests.c.o -o cmTC_28873
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeTmp'
Performing Curl Test TIME_WITH_SYS_TIME passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeTmp
Run Build Command(s):/bin/gmake -f Makefile cmTC_7f174/fast && gmake -f CMakeFiles/cmTC_7f174.dir/build.make CMakeFiles/cmTC_7f174.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeTmp'
Building C object CMakeFiles/cmTC_7f174.dir/CurlTests.c.o
/bin/gcc -w -DTIME_WITH_SYS_TIME -DHAVE_INTTYPES_H -DHAVE_SYS_IOCTL_H -DHAVE_SYS_PARAM_H -DHAVE_SYS_POLL_H -DHAVE_SYS_RESOURCE_H -DHAVE_SYS_SELECT_H -DHAVE_SYS_SOCKET_H -DHAVE_SYS_STAT_H -DHAVE_SYS_TIME_H -DHAVE_SYS_TYPES_H -DHAVE_SYS_UN_H -DHAVE_SYS_XATTR_H -DHAVE_ARPA_INET_H -DHAVE_ARPA_TFTP_H -DHAVE_ASSERT_H -DHAVE_ERRNO_H -DHAVE_FCNTL_H -DHAVE_IFADDRS_H -DHAVE_LIBGEN_H -DHAVE_LOCALE_H -DHAVE_NET_IF_H -DHAVE_NETDB_H -DHAVE_NETINET_IN_H -DHAVE_NETINET_TCP_H -DHAVE_POLL_H -DHAVE_PWD_H -DHAVE_SETJMP_H -DHAVE_SIGNAL_H -DHAVE_STDBOOL_H -DHAVE_STDINT_H -DHAVE_STDLIB_H -DHAVE_STRING_H -DHAVE_STRINGS_H -DHAVE_TERMIO_H -DHAVE_TERMIOS_H -DHAVE_TIME_H -DHAVE_UNISTD_H -DHAVE_UTIME_H -DHAVE_STDDEF_H -DHAVE_STDINT_H -DHAVE_SYS_UTSNAME_H -std=gnu99 -o CMakeFiles/cmTC_7f174.dir/CurlTests.c.o -c /usr/src/cmake-3.25.0/Utilities/cmcurl/CMake/CurlTests.c
Linking C executable cmTC_7f174
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_7f174.dir/link.txt --verbose=1
/bin/gcc -w -DTIME_WITH_SYS_TIME -DHAVE_INTTYPES_H -DHAVE_SYS_IOCTL_H -DHAVE_SYS_PARAM_H -DHAVE_SYS_POLL_H -DHAVE_SYS_RESOURCE_H -DHAVE_SYS_SELECT_H -DHAVE_SYS_SOCKET_H -DHAVE_SYS_STAT_H -DHAVE_SYS_TIME_H -DHAVE_SYS_TYPES_H -DHAVE_SYS_UN_H -DHAVE_SYS_XATTR_H -DHAVE_ARPA_INET_H -DHAVE_ARPA_TFTP_H -DHAVE_ASSERT_H -DHAVE_ERRNO_H -DHAVE_FCNTL_H -DHAVE_IFADDRS_H -DHAVE_LIBGEN_H -DHAVE_LOCALE_H -DHAVE_NET_IF_H -DHAVE_NETDB_H -DHAVE_NETINET_IN_H -DHAVE_NETINET_TCP_H -DHAVE_POLL_H -DHAVE_PWD_H -DHAVE_SETJMP_H -DHAVE_SIGNAL_H -DHAVE_STDBOOL_H -DHAVE_STDINT_H -DHAVE_STDLIB_H -DHAVE_STRING_H -DHAVE_STRINGS_H -DHAVE_TERMIO_H -DHAVE_TERMIOS_H -DHAVE_TIME_H -DHAVE_UNISTD_H -DHAVE_UTIME_H -DHAVE_STDDEF_H -DHAVE_STDINT_H -DHAVE_SYS_UTSNAME_H CMakeFiles/cmTC_7f174.dir/CurlTests.c.o -o cmTC_7f174
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeTmp'
Performing Curl Test HAVE_GETHOSTBYNAME_R_6 passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeTmp
Run Build Command(s):/bin/gmake -f Makefile cmTC_778a4/fast && gmake -f CMakeFiles/cmTC_778a4.dir/build.make CMakeFiles/cmTC_778a4.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeTmp'
Building C object CMakeFiles/cmTC_778a4.dir/CurlTests.c.o
/bin/gcc -w -DHAVE_GETHOSTBYNAME_R_6 -DHAVE_INTTYPES_H -DHAVE_SYS_IOCTL_H -DHAVE_SYS_PARAM_H -DHAVE_SYS_POLL_H -DHAVE_SYS_RESOURCE_H -DHAVE_SYS_SELECT_H -DHAVE_SYS_SOCKET_H -DHAVE_SYS_STAT_H -DHAVE_SYS_TIME_H -DHAVE_SYS_TYPES_H -DHAVE_SYS_UN_H -DHAVE_SYS_XATTR_H -DHAVE_ARPA_INET_H -DHAVE_ARPA_TFTP_H -DHAVE_ASSERT_H -DHAVE_ERRNO_H -DHAVE_FCNTL_H -DHAVE_IFADDRS_H -DHAVE_LIBGEN_H -DHAVE_LOCALE_H -DHAVE_NET_IF_H -DHAVE_NETDB_H -DHAVE_NETINET_IN_H -DHAVE_NETINET_TCP_H -DHAVE_POLL_H -DHAVE_PWD_H -DHAVE_SETJMP_H -DHAVE_SIGNAL_H -DHAVE_STDBOOL_H -DHAVE_STDINT_H -DHAVE_STDLIB_H -DHAVE_STRING_H -DHAVE_STRINGS_H -DHAVE_TERMIO_H -DHAVE_TERMIOS_H -DHAVE_TIME_H -DHAVE_UNISTD_H -DHAVE_UTIME_H -DHAVE_STDDEF_H -DHAVE_STDINT_H -DHAVE_SYS_UTSNAME_H -std=gnu99 -o CMakeFiles/cmTC_778a4.dir/CurlTests.c.o -c /usr/src/cmake-3.25.0/Utilities/cmcurl/CMake/CurlTests.c
Linking C executable cmTC_778a4
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_778a4.dir/link.txt --verbose=1
/bin/gcc -w -DHAVE_GETHOSTBYNAME_R_6 -DHAVE_INTTYPES_H -DHAVE_SYS_IOCTL_H -DHAVE_SYS_PARAM_H -DHAVE_SYS_POLL_H -DHAVE_SYS_RESOURCE_H -DHAVE_SYS_SELECT_H -DHAVE_SYS_SOCKET_H -DHAVE_SYS_STAT_H -DHAVE_SYS_TIME_H -DHAVE_SYS_TYPES_H -DHAVE_SYS_UN_H -DHAVE_SYS_XATTR_H -DHAVE_ARPA_INET_H -DHAVE_ARPA_TFTP_H -DHAVE_ASSERT_H -DHAVE_ERRNO_H -DHAVE_FCNTL_H -DHAVE_IFADDRS_H -DHAVE_LIBGEN_H -DHAVE_LOCALE_H -DHAVE_NET_IF_H -DHAVE_NETDB_H -DHAVE_NETINET_IN_H -DHAVE_NETINET_TCP_H -DHAVE_POLL_H -DHAVE_PWD_H -DHAVE_SETJMP_H -DHAVE_SIGNAL_H -DHAVE_STDBOOL_H -DHAVE_STDINT_H -DHAVE_STDLIB_H -DHAVE_STRING_H -DHAVE_STRINGS_H -DHAVE_TERMIO_H -DHAVE_TERMIOS_H -DHAVE_TIME_H -DHAVE_UNISTD_H -DHAVE_UTIME_H -DHAVE_STDDEF_H -DHAVE_STDINT_H -DHAVE_SYS_UTSNAME_H CMakeFiles/cmTC_778a4.dir/CurlTests.c.o -o cmTC_778a4
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeTmp'
Performing Curl Test HAVE_GETHOSTBYNAME_R_6_REENTRANT passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeTmp
Run Build Command(s):/bin/gmake -f Makefile cmTC_df4a9/fast && gmake -f CMakeFiles/cmTC_df4a9.dir/build.make CMakeFiles/cmTC_df4a9.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeTmp'
Building C object CMakeFiles/cmTC_df4a9.dir/CurlTests.c.o
/bin/gcc -w -DHAVE_GETHOSTBYNAME_R_6_REENTRANT -DHAVE_INTTYPES_H -DHAVE_SYS_IOCTL_H -DHAVE_SYS_PARAM_H -DHAVE_SYS_POLL_H -DHAVE_SYS_RESOURCE_H -DHAVE_SYS_SELECT_H -DHAVE_SYS_SOCKET_H -DHAVE_SYS_STAT_H -DHAVE_SYS_TIME_H -DHAVE_SYS_TYPES_H -DHAVE_SYS_UN_H -DHAVE_SYS_XATTR_H -DHAVE_ARPA_INET_H -DHAVE_ARPA_TFTP_H -DHAVE_ASSERT_H -DHAVE_ERRNO_H -DHAVE_FCNTL_H -DHAVE_IFADDRS_H -DHAVE_LIBGEN_H -DHAVE_LOCALE_H -DHAVE_NET_IF_H -DHAVE_NETDB_H -DHAVE_NETINET_IN_H -DHAVE_NETINET_TCP_H -DHAVE_POLL_H -DHAVE_PWD_H -DHAVE_SETJMP_H -DHAVE_SIGNAL_H -DHAVE_STDBOOL_H -DHAVE_STDINT_H -DHAVE_STDLIB_H -DHAVE_STRING_H -DHAVE_STRINGS_H -DHAVE_TERMIO_H -DHAVE_TERMIOS_H -DHAVE_TIME_H -DHAVE_UNISTD_H -DHAVE_UTIME_H -DHAVE_STDDEF_H -DHAVE_STDINT_H -DHAVE_SYS_UTSNAME_H -std=gnu99 -o CMakeFiles/cmTC_df4a9.dir/CurlTests.c.o -c /usr/src/cmake-3.25.0/Utilities/cmcurl/CMake/CurlTests.c
Linking C executable cmTC_df4a9
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_df4a9.dir/link.txt --verbose=1
/bin/gcc -w -DHAVE_GETHOSTBYNAME_R_6_REENTRANT -DHAVE_INTTYPES_H -DHAVE_SYS_IOCTL_H -DHAVE_SYS_PARAM_H -DHAVE_SYS_POLL_H -DHAVE_SYS_RESOURCE_H -DHAVE_SYS_SELECT_H -DHAVE_SYS_SOCKET_H -DHAVE_SYS_STAT_H -DHAVE_SYS_TIME_H -DHAVE_SYS_TYPES_H -DHAVE_SYS_UN_H -DHAVE_SYS_XATTR_H -DHAVE_ARPA_INET_H -DHAVE_ARPA_TFTP_H -DHAVE_ASSERT_H -DHAVE_ERRNO_H -DHAVE_FCNTL_H -DHAVE_IFADDRS_H -DHAVE_LIBGEN_H -DHAVE_LOCALE_H -DHAVE_NET_IF_H -DHAVE_NETDB_H -DHAVE_NETINET_IN_H -DHAVE_NETINET_TCP_H -DHAVE_POLL_H -DHAVE_PWD_H -DHAVE_SETJMP_H -DHAVE_SIGNAL_H -DHAVE_STDBOOL_H -DHAVE_STDINT_H -DHAVE_STDLIB_H -DHAVE_STRING_H -DHAVE_STRINGS_H -DHAVE_TERMIO_H -DHAVE_TERMIOS_H -DHAVE_TIME_H -DHAVE_UNISTD_H -DHAVE_UTIME_H -DHAVE_STDDEF_H -DHAVE_STDINT_H -DHAVE_SYS_UTSNAME_H CMakeFiles/cmTC_df4a9.dir/CurlTests.c.o -o cmTC_df4a9
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeTmp'
Performing Curl Test HAVE_IN_ADDR_T passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeTmp
Run Build Command(s):/bin/gmake -f Makefile cmTC_3687d/fast && gmake -f CMakeFiles/cmTC_3687d.dir/build.make CMakeFiles/cmTC_3687d.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeTmp'
Building C object CMakeFiles/cmTC_3687d.dir/CurlTests.c.o
/bin/gcc -w -DHAVE_IN_ADDR_T -DHAVE_INTTYPES_H -DHAVE_SYS_IOCTL_H -DHAVE_SYS_PARAM_H -DHAVE_SYS_POLL_H -DHAVE_SYS_RESOURCE_H -DHAVE_SYS_SELECT_H -DHAVE_SYS_SOCKET_H -DHAVE_SYS_STAT_H -DHAVE_SYS_TIME_H -DHAVE_SYS_TYPES_H -DHAVE_SYS_UN_H -DHAVE_SYS_XATTR_H -DHAVE_ARPA_INET_H -DHAVE_ARPA_TFTP_H -DHAVE_ASSERT_H -DHAVE_ERRNO_H -DHAVE_FCNTL_H -DHAVE_IFADDRS_H -DHAVE_LIBGEN_H -DHAVE_LOCALE_H -DHAVE_NET_IF_H -DHAVE_NETDB_H -DHAVE_NETINET_IN_H -DHAVE_NETINET_TCP_H -DHAVE_POLL_H -DHAVE_PWD_H -DHAVE_SETJMP_H -DHAVE_SIGNAL_H -DHAVE_STDBOOL_H -DHAVE_STDINT_H -DHAVE_STDLIB_H -DHAVE_STRING_H -DHAVE_STRINGS_H -DHAVE_TERMIO_H -DHAVE_TERMIOS_H -DHAVE_TIME_H -DHAVE_UNISTD_H -DHAVE_UTIME_H -DHAVE_STDDEF_H -DHAVE_STDINT_H -DHAVE_SYS_UTSNAME_H -std=gnu99 -o CMakeFiles/cmTC_3687d.dir/CurlTests.c.o -c /usr/src/cmake-3.25.0/Utilities/cmcurl/CMake/CurlTests.c
Linking C executable cmTC_3687d
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_3687d.dir/link.txt --verbose=1
/bin/gcc -w -DHAVE_IN_ADDR_T -DHAVE_INTTYPES_H -DHAVE_SYS_IOCTL_H -DHAVE_SYS_PARAM_H -DHAVE_SYS_POLL_H -DHAVE_SYS_RESOURCE_H -DHAVE_SYS_SELECT_H -DHAVE_SYS_SOCKET_H -DHAVE_SYS_STAT_H -DHAVE_SYS_TIME_H -DHAVE_SYS_TYPES_H -DHAVE_SYS_UN_H -DHAVE_SYS_XATTR_H -DHAVE_ARPA_INET_H -DHAVE_ARPA_TFTP_H -DHAVE_ASSERT_H -DHAVE_ERRNO_H -DHAVE_FCNTL_H -DHAVE_IFADDRS_H -DHAVE_LIBGEN_H -DHAVE_LOCALE_H -DHAVE_NET_IF_H -DHAVE_NETDB_H -DHAVE_NETINET_IN_H -DHAVE_NETINET_TCP_H -DHAVE_POLL_H -DHAVE_PWD_H -DHAVE_SETJMP_H -DHAVE_SIGNAL_H -DHAVE_STDBOOL_H -DHAVE_STDINT_H -DHAVE_STDLIB_H -DHAVE_STRING_H -DHAVE_STRINGS_H -DHAVE_TERMIO_H -DHAVE_TERMIOS_H -DHAVE_TIME_H -DHAVE_UNISTD_H -DHAVE_UTIME_H -DHAVE_STDDEF_H -DHAVE_STDINT_H -DHAVE_SYS_UTSNAME_H CMakeFiles/cmTC_3687d.dir/CurlTests.c.o -o cmTC_3687d
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeTmp'
Performing Curl Test HAVE_BOOL_T passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeTmp
Run Build Command(s):/bin/gmake -f Makefile cmTC_46555/fast && gmake -f CMakeFiles/cmTC_46555.dir/build.make CMakeFiles/cmTC_46555.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeTmp'
Building C object CMakeFiles/cmTC_46555.dir/CurlTests.c.o
/bin/gcc -w -DHAVE_BOOL_T -DHAVE_INTTYPES_H -DHAVE_SYS_IOCTL_H -DHAVE_SYS_PARAM_H -DHAVE_SYS_POLL_H -DHAVE_SYS_RESOURCE_H -DHAVE_SYS_SELECT_H -DHAVE_SYS_SOCKET_H -DHAVE_SYS_STAT_H -DHAVE_SYS_TIME_H -DHAVE_SYS_TYPES_H -DHAVE_SYS_UN_H -DHAVE_SYS_XATTR_H -DHAVE_ARPA_INET_H -DHAVE_ARPA_TFTP_H -DHAVE_ASSERT_H -DHAVE_ERRNO_H -DHAVE_FCNTL_H -DHAVE_IFADDRS_H -DHAVE_LIBGEN_H -DHAVE_LOCALE_H -DHAVE_NET_IF_H -DHAVE_NETDB_H -DHAVE_NETINET_IN_H -DHAVE_NETINET_TCP_H -DHAVE_POLL_H -DHAVE_PWD_H -DHAVE_SETJMP_H -DHAVE_SIGNAL_H -DHAVE_STDBOOL_H -DHAVE_STDINT_H -DHAVE_STDLIB_H -DHAVE_STRING_H -DHAVE_STRINGS_H -DHAVE_TERMIO_H -DHAVE_TERMIOS_H -DHAVE_TIME_H -DHAVE_UNISTD_H -DHAVE_UTIME_H -DHAVE_STDDEF_H -DHAVE_STDINT_H -DHAVE_SYS_UTSNAME_H -std=gnu99 -o CMakeFiles/cmTC_46555.dir/CurlTests.c.o -c /usr/src/cmake-3.25.0/Utilities/cmcurl/CMake/CurlTests.c
Linking C executable cmTC_46555
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_46555.dir/link.txt --verbose=1
/bin/gcc -w -DHAVE_BOOL_T -DHAVE_INTTYPES_H -DHAVE_SYS_IOCTL_H -DHAVE_SYS_PARAM_H -DHAVE_SYS_POLL_H -DHAVE_SYS_RESOURCE_H -DHAVE_SYS_SELECT_H -DHAVE_SYS_SOCKET_H -DHAVE_SYS_STAT_H -DHAVE_SYS_TIME_H -DHAVE_SYS_TYPES_H -DHAVE_SYS_UN_H -DHAVE_SYS_XATTR_H -DHAVE_ARPA_INET_H -DHAVE_ARPA_TFTP_H -DHAVE_ASSERT_H -DHAVE_ERRNO_H -DHAVE_FCNTL_H -DHAVE_IFADDRS_H -DHAVE_LIBGEN_H -DHAVE_LOCALE_H -DHAVE_NET_IF_H -DHAVE_NETDB_H -DHAVE_NETINET_IN_H -DHAVE_NETINET_TCP_H -DHAVE_POLL_H -DHAVE_PWD_H -DHAVE_SETJMP_H -DHAVE_SIGNAL_H -DHAVE_STDBOOL_H -DHAVE_STDINT_H -DHAVE_STDLIB_H -DHAVE_STRING_H -DHAVE_STRINGS_H -DHAVE_TERMIO_H -DHAVE_TERMIOS_H -DHAVE_TIME_H -DHAVE_UNISTD_H -DHAVE_UTIME_H -DHAVE_STDDEF_H -DHAVE_STDINT_H -DHAVE_SYS_UTSNAME_H CMakeFiles/cmTC_46555.dir/CurlTests.c.o -o cmTC_46555
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeTmp'
Performing Curl Test STDC_HEADERS passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeTmp
Run Build Command(s):/bin/gmake -f Makefile cmTC_c024b/fast && gmake -f CMakeFiles/cmTC_c024b.dir/build.make CMakeFiles/cmTC_c024b.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeTmp'
Building C object CMakeFiles/cmTC_c024b.dir/CurlTests.c.o
/bin/gcc -w -DSTDC_HEADERS -DHAVE_INTTYPES_H -DHAVE_SYS_IOCTL_H -DHAVE_SYS_PARAM_H -DHAVE_SYS_POLL_H -DHAVE_SYS_RESOURCE_H -DHAVE_SYS_SELECT_H -DHAVE_SYS_SOCKET_H -DHAVE_SYS_STAT_H -DHAVE_SYS_TIME_H -DHAVE_SYS_TYPES_H -DHAVE_SYS_UN_H -DHAVE_SYS_XATTR_H -DHAVE_ARPA_INET_H -DHAVE_ARPA_TFTP_H -DHAVE_ASSERT_H -DHAVE_ERRNO_H -DHAVE_FCNTL_H -DHAVE_IFADDRS_H -DHAVE_LIBGEN_H -DHAVE_LOCALE_H -DHAVE_NET_IF_H -DHAVE_NETDB_H -DHAVE_NETINET_IN_H -DHAVE_NETINET_TCP_H -DHAVE_POLL_H -DHAVE_PWD_H -DHAVE_SETJMP_H -DHAVE_SIGNAL_H -DHAVE_STDBOOL_H -DHAVE_STDINT_H -DHAVE_STDLIB_H -DHAVE_STRING_H -DHAVE_STRINGS_H -DHAVE_TERMIO_H -DHAVE_TERMIOS_H -DHAVE_TIME_H -DHAVE_UNISTD_H -DHAVE_UTIME_H -DHAVE_STDDEF_H -DHAVE_STDINT_H -DHAVE_SYS_UTSNAME_H -std=gnu99 -o CMakeFiles/cmTC_c024b.dir/CurlTests.c.o -c /usr/src/cmake-3.25.0/Utilities/cmcurl/CMake/CurlTests.c
Linking C executable cmTC_c024b
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_c024b.dir/link.txt --verbose=1
/bin/gcc -w -DSTDC_HEADERS -DHAVE_INTTYPES_H -DHAVE_SYS_IOCTL_H -DHAVE_SYS_PARAM_H -DHAVE_SYS_POLL_H -DHAVE_SYS_RESOURCE_H -DHAVE_SYS_SELECT_H -DHAVE_SYS_SOCKET_H -DHAVE_SYS_STAT_H -DHAVE_SYS_TIME_H -DHAVE_SYS_TYPES_H -DHAVE_SYS_UN_H -DHAVE_SYS_XATTR_H -DHAVE_ARPA_INET_H -DHAVE_ARPA_TFTP_H -DHAVE_ASSERT_H -DHAVE_ERRNO_H -DHAVE_FCNTL_H -DHAVE_IFADDRS_H -DHAVE_LIBGEN_H -DHAVE_LOCALE_H -DHAVE_NET_IF_H -DHAVE_NETDB_H -DHAVE_NETINET_IN_H -DHAVE_NETINET_TCP_H -DHAVE_POLL_H -DHAVE_PWD_H -DHAVE_SETJMP_H -DHAVE_SIGNAL_H -DHAVE_STDBOOL_H -DHAVE_STDINT_H -DHAVE_STDLIB_H -DHAVE_STRING_H -DHAVE_STRINGS_H -DHAVE_TERMIO_H -DHAVE_TERMIOS_H -DHAVE_TIME_H -DHAVE_UNISTD_H -DHAVE_UTIME_H -DHAVE_STDDEF_H -DHAVE_STDINT_H -DHAVE_SYS_UTSNAME_H CMakeFiles/cmTC_c024b.dir/CurlTests.c.o -o cmTC_c024b
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeTmp'
Performing Curl Test HAVE_FILE_OFFSET_BITS passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeTmp
Run Build Command(s):/bin/gmake -f Makefile cmTC_90125/fast && gmake -f CMakeFiles/cmTC_90125.dir/build.make CMakeFiles/cmTC_90125.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeTmp'
Building C object CMakeFiles/cmTC_90125.dir/CurlTests.c.o
/bin/gcc -w -DHAVE_FILE_OFFSET_BITS -DHAVE_INTTYPES_H -DHAVE_SYS_IOCTL_H -DHAVE_SYS_PARAM_H -DHAVE_SYS_POLL_H -DHAVE_SYS_RESOURCE_H -DHAVE_SYS_SELECT_H -DHAVE_SYS_SOCKET_H -DHAVE_SYS_STAT_H -DHAVE_SYS_TIME_H -DHAVE_SYS_TYPES_H -DHAVE_SYS_UN_H -DHAVE_SYS_XATTR_H -DHAVE_ARPA_INET_H -DHAVE_ARPA_TFTP_H -DHAVE_ASSERT_H -DHAVE_ERRNO_H -DHAVE_FCNTL_H -DHAVE_IFADDRS_H -DHAVE_LIBGEN_H -DHAVE_LOCALE_H -DHAVE_NET_IF_H -DHAVE_NETDB_H -DHAVE_NETINET_IN_H -DHAVE_NETINET_TCP_H -DHAVE_POLL_H -DHAVE_PWD_H -DHAVE_SETJMP_H -DHAVE_SIGNAL_H -DHAVE_STDBOOL_H -DHAVE_STDINT_H -DHAVE_STDLIB_H -DHAVE_STRING_H -DHAVE_STRINGS_H -DHAVE_TERMIO_H -DHAVE_TERMIOS_H -DHAVE_TIME_H -DHAVE_UNISTD_H -DHAVE_UTIME_H -DHAVE_STDDEF_H -DHAVE_STDINT_H -DHAVE_SYS_UTSNAME_H -std=gnu99 -o CMakeFiles/cmTC_90125.dir/CurlTests.c.o -c /usr/src/cmake-3.25.0/Utilities/cmcurl/CMake/CurlTests.c
Linking C executable cmTC_90125
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_90125.dir/link.txt --verbose=1
/bin/gcc -w -DHAVE_FILE_OFFSET_BITS -DHAVE_INTTYPES_H -DHAVE_SYS_IOCTL_H -DHAVE_SYS_PARAM_H -DHAVE_SYS_POLL_H -DHAVE_SYS_RESOURCE_H -DHAVE_SYS_SELECT_H -DHAVE_SYS_SOCKET_H -DHAVE_SYS_STAT_H -DHAVE_SYS_TIME_H -DHAVE_SYS_TYPES_H -DHAVE_SYS_UN_H -DHAVE_SYS_XATTR_H -DHAVE_ARPA_INET_H -DHAVE_ARPA_TFTP_H -DHAVE_ASSERT_H -DHAVE_ERRNO_H -DHAVE_FCNTL_H -DHAVE_IFADDRS_H -DHAVE_LIBGEN_H -DHAVE_LOCALE_H -DHAVE_NET_IF_H -DHAVE_NETDB_H -DHAVE_NETINET_IN_H -DHAVE_NETINET_TCP_H -DHAVE_POLL_H -DHAVE_PWD_H -DHAVE_SETJMP_H -DHAVE_SIGNAL_H -DHAVE_STDBOOL_H -DHAVE_STDINT_H -DHAVE_STDLIB_H -DHAVE_STRING_H -DHAVE_STRINGS_H -DHAVE_TERMIO_H -DHAVE_TERMIOS_H -DHAVE_TIME_H -DHAVE_UNISTD_H -DHAVE_UTIME_H -DHAVE_STDDEF_H -DHAVE_STDINT_H -DHAVE_SYS_UTSNAME_H CMakeFiles/cmTC_90125.dir/CurlTests.c.o -o cmTC_90125
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeTmp'
Performing Curl Test HAVE_VARIADIC_MACROS_C99 passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeTmp
Run Build Command(s):/bin/gmake -f Makefile cmTC_7b453/fast && gmake -f CMakeFiles/cmTC_7b453.dir/build.make CMakeFiles/cmTC_7b453.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeTmp'
Building C object CMakeFiles/cmTC_7b453.dir/CurlTests.c.o
/bin/gcc -w -DHAVE_VARIADIC_MACROS_C99 -DHAVE_INTTYPES_H -DHAVE_SYS_IOCTL_H -DHAVE_SYS_PARAM_H -DHAVE_SYS_POLL_H -DHAVE_SYS_RESOURCE_H -DHAVE_SYS_SELECT_H -DHAVE_SYS_SOCKET_H -DHAVE_SYS_STAT_H -DHAVE_SYS_TIME_H -DHAVE_SYS_TYPES_H -DHAVE_SYS_UN_H -DHAVE_SYS_XATTR_H -DHAVE_ARPA_INET_H -DHAVE_ARPA_TFTP_H -DHAVE_ASSERT_H -DHAVE_ERRNO_H -DHAVE_FCNTL_H -DHAVE_IFADDRS_H -DHAVE_LIBGEN_H -DHAVE_LOCALE_H -DHAVE_NET_IF_H -DHAVE_NETDB_H -DHAVE_NETINET_IN_H -DHAVE_NETINET_TCP_H -DHAVE_POLL_H -DHAVE_PWD_H -DHAVE_SETJMP_H -DHAVE_SIGNAL_H -DHAVE_STDBOOL_H -DHAVE_STDINT_H -DHAVE_STDLIB_H -DHAVE_STRING_H -DHAVE_STRINGS_H -DHAVE_TERMIO_H -DHAVE_TERMIOS_H -DHAVE_TIME_H -DHAVE_UNISTD_H -DHAVE_UTIME_H -DHAVE_STDDEF_H -DHAVE_STDINT_H -DHAVE_SYS_UTSNAME_H -std=gnu99 -o CMakeFiles/cmTC_7b453.dir/CurlTests.c.o -c /usr/src/cmake-3.25.0/Utilities/cmcurl/CMake/CurlTests.c
Linking C executable cmTC_7b453
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_7b453.dir/link.txt --verbose=1
/bin/gcc -w -DHAVE_VARIADIC_MACROS_C99 -DHAVE_INTTYPES_H -DHAVE_SYS_IOCTL_H -DHAVE_SYS_PARAM_H -DHAVE_SYS_POLL_H -DHAVE_SYS_RESOURCE_H -DHAVE_SYS_SELECT_H -DHAVE_SYS_SOCKET_H -DHAVE_SYS_STAT_H -DHAVE_SYS_TIME_H -DHAVE_SYS_TYPES_H -DHAVE_SYS_UN_H -DHAVE_SYS_XATTR_H -DHAVE_ARPA_INET_H -DHAVE_ARPA_TFTP_H -DHAVE_ASSERT_H -DHAVE_ERRNO_H -DHAVE_FCNTL_H -DHAVE_IFADDRS_H -DHAVE_LIBGEN_H -DHAVE_LOCALE_H -DHAVE_NET_IF_H -DHAVE_NETDB_H -DHAVE_NETINET_IN_H -DHAVE_NETINET_TCP_H -DHAVE_POLL_H -DHAVE_PWD_H -DHAVE_SETJMP_H -DHAVE_SIGNAL_H -DHAVE_STDBOOL_H -DHAVE_STDINT_H -DHAVE_STDLIB_H -DHAVE_STRING_H -DHAVE_STRINGS_H -DHAVE_TERMIO_H -DHAVE_TERMIOS_H -DHAVE_TIME_H -DHAVE_UNISTD_H -DHAVE_UTIME_H -DHAVE_STDDEF_H -DHAVE_STDINT_H -DHAVE_SYS_UTSNAME_H CMakeFiles/cmTC_7b453.dir/CurlTests.c.o -o cmTC_7b453
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeTmp'
Performing Curl Test HAVE_VARIADIC_MACROS_GCC passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeTmp
Run Build Command(s):/bin/gmake -f Makefile cmTC_91acd/fast && gmake -f CMakeFiles/cmTC_91acd.dir/build.make CMakeFiles/cmTC_91acd.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeTmp'
Building C object CMakeFiles/cmTC_91acd.dir/CurlTests.c.o
/bin/gcc -w -DHAVE_VARIADIC_MACROS_GCC -DHAVE_INTTYPES_H -DHAVE_SYS_IOCTL_H -DHAVE_SYS_PARAM_H -DHAVE_SYS_POLL_H -DHAVE_SYS_RESOURCE_H -DHAVE_SYS_SELECT_H -DHAVE_SYS_SOCKET_H -DHAVE_SYS_STAT_H -DHAVE_SYS_TIME_H -DHAVE_SYS_TYPES_H -DHAVE_SYS_UN_H -DHAVE_SYS_XATTR_H -DHAVE_ARPA_INET_H -DHAVE_ARPA_TFTP_H -DHAVE_ASSERT_H -DHAVE_ERRNO_H -DHAVE_FCNTL_H -DHAVE_IFADDRS_H -DHAVE_LIBGEN_H -DHAVE_LOCALE_H -DHAVE_NET_IF_H -DHAVE_NETDB_H -DHAVE_NETINET_IN_H -DHAVE_NETINET_TCP_H -DHAVE_POLL_H -DHAVE_PWD_H -DHAVE_SETJMP_H -DHAVE_SIGNAL_H -DHAVE_STDBOOL_H -DHAVE_STDINT_H -DHAVE_STDLIB_H -DHAVE_STRING_H -DHAVE_STRINGS_H -DHAVE_TERMIO_H -DHAVE_TERMIOS_H -DHAVE_TIME_H -DHAVE_UNISTD_H -DHAVE_UTIME_H -DHAVE_STDDEF_H -DHAVE_STDINT_H -DHAVE_SYS_UTSNAME_H -std=gnu99 -o CMakeFiles/cmTC_91acd.dir/CurlTests.c.o -c /usr/src/cmake-3.25.0/Utilities/cmcurl/CMake/CurlTests.c
Linking C executable cmTC_91acd
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_91acd.dir/link.txt --verbose=1
/bin/gcc -w -DHAVE_VARIADIC_MACROS_GCC -DHAVE_INTTYPES_H -DHAVE_SYS_IOCTL_H -DHAVE_SYS_PARAM_H -DHAVE_SYS_POLL_H -DHAVE_SYS_RESOURCE_H -DHAVE_SYS_SELECT_H -DHAVE_SYS_SOCKET_H -DHAVE_SYS_STAT_H -DHAVE_SYS_TIME_H -DHAVE_SYS_TYPES_H -DHAVE_SYS_UN_H -DHAVE_SYS_XATTR_H -DHAVE_ARPA_INET_H -DHAVE_ARPA_TFTP_H -DHAVE_ASSERT_H -DHAVE_ERRNO_H -DHAVE_FCNTL_H -DHAVE_IFADDRS_H -DHAVE_LIBGEN_H -DHAVE_LOCALE_H -DHAVE_NET_IF_H -DHAVE_NETDB_H -DHAVE_NETINET_IN_H -DHAVE_NETINET_TCP_H -DHAVE_POLL_H -DHAVE_PWD_H -DHAVE_SETJMP_H -DHAVE_SIGNAL_H -DHAVE_STDBOOL_H -DHAVE_STDINT_H -DHAVE_STDLIB_H -DHAVE_STRING_H -DHAVE_STRINGS_H -DHAVE_TERMIO_H -DHAVE_TERMIOS_H -DHAVE_TIME_H -DHAVE_UNISTD_H -DHAVE_UTIME_H -DHAVE_STDDEF_H -DHAVE_STDINT_H -DHAVE_SYS_UTSNAME_H CMakeFiles/cmTC_91acd.dir/CurlTests.c.o -o cmTC_91acd
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeTmp'
Determining size of off_t passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-7dUxsB
Run Build Command(s):/bin/gmake -f Makefile cmTC_367f8/fast && gmake -f CMakeFiles/cmTC_367f8.dir/build.make CMakeFiles/cmTC_367f8.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-7dUxsB'
Building C object CMakeFiles/cmTC_367f8.dir/SIZEOF_OFF_T.c.o
/bin/gcc -w -D_FILE_OFFSET_BITS=64 -std=gnu99 -o CMakeFiles/cmTC_367f8.dir/SIZEOF_OFF_T.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-7dUxsB/SIZEOF_OFF_T.c
Linking C executable cmTC_367f8
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_367f8.dir/link.txt --verbose=1
/bin/gcc -w -D_FILE_OFFSET_BITS=64 CMakeFiles/cmTC_367f8.dir/SIZEOF_OFF_T.c.o -o cmTC_367f8
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-7dUxsB'
Determining size of curl_off_t passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-Tg3Eya
Run Build Command(s):/bin/gmake -f Makefile cmTC_ae85f/fast && gmake -f CMakeFiles/cmTC_ae85f.dir/build.make CMakeFiles/cmTC_ae85f.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-Tg3Eya'
Building C object CMakeFiles/cmTC_ae85f.dir/SIZEOF_CURL_OFF_T.c.o
/bin/gcc -I/usr/src/cmake-3.25.0/Utilities/cmcurl/include -w -D_FILE_OFFSET_BITS=64 -std=gnu99 -o CMakeFiles/cmTC_ae85f.dir/SIZEOF_CURL_OFF_T.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-Tg3Eya/SIZEOF_CURL_OFF_T.c
Linking C executable cmTC_ae85f
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_ae85f.dir/link.txt --verbose=1
/bin/gcc -w -D_FILE_OFFSET_BITS=64 CMakeFiles/cmTC_ae85f.dir/SIZEOF_CURL_OFF_T.c.o -o cmTC_ae85f
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-Tg3Eya'
Performing Curl Test HAVE_POSIX_STRERROR_R passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeTmp
Run Build Command(s):/bin/gmake -f Makefile cmTC_7db43/fast && gmake -f CMakeFiles/cmTC_7db43.dir/build.make CMakeFiles/cmTC_7db43.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeTmp'
Building C object CMakeFiles/cmTC_7db43.dir/CurlTests.c.o
/bin/gcc -w -DHAVE_POSIX_STRERROR_R -DHAVE_INTTYPES_H -DHAVE_SYS_IOCTL_H -DHAVE_SYS_PARAM_H -DHAVE_SYS_POLL_H -DHAVE_SYS_RESOURCE_H -DHAVE_SYS_SELECT_H -DHAVE_SYS_SOCKET_H -DHAVE_SYS_STAT_H -DHAVE_SYS_TIME_H -DHAVE_SYS_TYPES_H -DHAVE_SYS_UN_H -DHAVE_SYS_XATTR_H -DHAVE_ARPA_INET_H -DHAVE_ARPA_TFTP_H -DHAVE_ASSERT_H -DHAVE_ERRNO_H -DHAVE_FCNTL_H -DHAVE_IFADDRS_H -DHAVE_LIBGEN_H -DHAVE_LOCALE_H -DHAVE_NET_IF_H -DHAVE_NETDB_H -DHAVE_NETINET_IN_H -DHAVE_NETINET_TCP_H -DHAVE_POLL_H -DHAVE_PWD_H -DHAVE_SETJMP_H -DHAVE_SIGNAL_H -DHAVE_STDBOOL_H -DHAVE_STDINT_H -DHAVE_STDLIB_H -DHAVE_STRING_H -DHAVE_STRINGS_H -DHAVE_TERMIO_H -DHAVE_TERMIOS_H -DHAVE_TIME_H -DHAVE_UNISTD_H -DHAVE_UTIME_H -DHAVE_STDDEF_H -DHAVE_STDINT_H -DHAVE_SYS_UTSNAME_H -std=gnu99 -o CMakeFiles/cmTC_7db43.dir/CurlTests.c.o -c /usr/src/cmake-3.25.0/Utilities/cmcurl/CMake/CurlTests.c
Linking C executable cmTC_7db43
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_7db43.dir/link.txt --verbose=1
/bin/gcc -w -DHAVE_POSIX_STRERROR_R -DHAVE_INTTYPES_H -DHAVE_SYS_IOCTL_H -DHAVE_SYS_PARAM_H -DHAVE_SYS_POLL_H -DHAVE_SYS_RESOURCE_H -DHAVE_SYS_SELECT_H -DHAVE_SYS_SOCKET_H -DHAVE_SYS_STAT_H -DHAVE_SYS_TIME_H -DHAVE_SYS_TYPES_H -DHAVE_SYS_UN_H -DHAVE_SYS_XATTR_H -DHAVE_ARPA_INET_H -DHAVE_ARPA_TFTP_H -DHAVE_ASSERT_H -DHAVE_ERRNO_H -DHAVE_FCNTL_H -DHAVE_IFADDRS_H -DHAVE_LIBGEN_H -DHAVE_LOCALE_H -DHAVE_NET_IF_H -DHAVE_NETDB_H -DHAVE_NETINET_IN_H -DHAVE_NETINET_TCP_H -DHAVE_POLL_H -DHAVE_PWD_H -DHAVE_SETJMP_H -DHAVE_SIGNAL_H -DHAVE_STDBOOL_H -DHAVE_STDINT_H -DHAVE_STDLIB_H -DHAVE_STRING_H -DHAVE_STRINGS_H -DHAVE_TERMIO_H -DHAVE_TERMIOS_H -DHAVE_TIME_H -DHAVE_UNISTD_H -DHAVE_UTIME_H -DHAVE_STDDEF_H -DHAVE_STDINT_H -DHAVE_SYS_UTSNAME_H CMakeFiles/cmTC_7db43.dir/CurlTests.c.o -o cmTC_7db43
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeTmp'
Performing Curl Test HAVE_CLOCK_GETTIME_MONOTONIC passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeTmp
Run Build Command(s):/bin/gmake -f Makefile cmTC_cd2ae/fast && gmake -f CMakeFiles/cmTC_cd2ae.dir/build.make CMakeFiles/cmTC_cd2ae.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeTmp'
Building C object CMakeFiles/cmTC_cd2ae.dir/CurlTests.c.o
/bin/gcc -w -DHAVE_CLOCK_GETTIME_MONOTONIC -DHAVE_INTTYPES_H -DHAVE_SYS_IOCTL_H -DHAVE_SYS_PARAM_H -DHAVE_SYS_POLL_H -DHAVE_SYS_RESOURCE_H -DHAVE_SYS_SELECT_H -DHAVE_SYS_SOCKET_H -DHAVE_SYS_STAT_H -DHAVE_SYS_TIME_H -DHAVE_SYS_TYPES_H -DHAVE_SYS_UN_H -DHAVE_SYS_XATTR_H -DHAVE_ARPA_INET_H -DHAVE_ARPA_TFTP_H -DHAVE_ASSERT_H -DHAVE_ERRNO_H -DHAVE_FCNTL_H -DHAVE_IFADDRS_H -DHAVE_LIBGEN_H -DHAVE_LOCALE_H -DHAVE_NET_IF_H -DHAVE_NETDB_H -DHAVE_NETINET_IN_H -DHAVE_NETINET_TCP_H -DHAVE_POLL_H -DHAVE_PWD_H -DHAVE_SETJMP_H -DHAVE_SIGNAL_H -DHAVE_STDBOOL_H -DHAVE_STDINT_H -DHAVE_STDLIB_H -DHAVE_STRING_H -DHAVE_STRINGS_H -DHAVE_TERMIO_H -DHAVE_TERMIOS_H -DHAVE_TIME_H -DHAVE_UNISTD_H -DHAVE_UTIME_H -DHAVE_STDDEF_H -DHAVE_STDINT_H -DHAVE_SYS_UTSNAME_H -std=gnu99 -o CMakeFiles/cmTC_cd2ae.dir/CurlTests.c.o -c /usr/src/cmake-3.25.0/Utilities/cmcurl/CMake/CurlTests.c
Linking C executable cmTC_cd2ae
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_cd2ae.dir/link.txt --verbose=1
/bin/gcc -w -DHAVE_CLOCK_GETTIME_MONOTONIC -DHAVE_INTTYPES_H -DHAVE_SYS_IOCTL_H -DHAVE_SYS_PARAM_H -DHAVE_SYS_POLL_H -DHAVE_SYS_RESOURCE_H -DHAVE_SYS_SELECT_H -DHAVE_SYS_SOCKET_H -DHAVE_SYS_STAT_H -DHAVE_SYS_TIME_H -DHAVE_SYS_TYPES_H -DHAVE_SYS_UN_H -DHAVE_SYS_XATTR_H -DHAVE_ARPA_INET_H -DHAVE_ARPA_TFTP_H -DHAVE_ASSERT_H -DHAVE_ERRNO_H -DHAVE_FCNTL_H -DHAVE_IFADDRS_H -DHAVE_LIBGEN_H -DHAVE_LOCALE_H -DHAVE_NET_IF_H -DHAVE_NETDB_H -DHAVE_NETINET_IN_H -DHAVE_NETINET_TCP_H -DHAVE_POLL_H -DHAVE_PWD_H -DHAVE_SETJMP_H -DHAVE_SIGNAL_H -DHAVE_STDBOOL_H -DHAVE_STDINT_H -DHAVE_STDLIB_H -DHAVE_STRING_H -DHAVE_STRINGS_H -DHAVE_TERMIO_H -DHAVE_TERMIOS_H -DHAVE_TIME_H -DHAVE_UNISTD_H -DHAVE_UTIME_H -DHAVE_STDDEF_H -DHAVE_STDINT_H -DHAVE_SYS_UTSNAME_H CMakeFiles/cmTC_cd2ae.dir/CurlTests.c.o -o cmTC_cd2ae
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeTmp'
Performing C SOURCE FILE Test HAVE_MSG_NOSIGNAL succeeded with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-6AEFoK
Run Build Command(s):/bin/gmake -f Makefile cmTC_39bf4/fast && gmake -f CMakeFiles/cmTC_39bf4.dir/build.make CMakeFiles/cmTC_39bf4.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-6AEFoK'
Building C object CMakeFiles/cmTC_39bf4.dir/src.c.o
/bin/gcc -DHAVE_MSG_NOSIGNAL -I/usr/src/cmake-3.25.0/Utilities/cmcurl/include -w -std=gnu99 -o CMakeFiles/cmTC_39bf4.dir/src.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-6AEFoK/src.c
Linking C static library libcmTC_39bf4.a
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -P CMakeFiles/cmTC_39bf4.dir/cmake_clean_target.cmake
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_39bf4.dir/link.txt --verbose=1
/bin/ar qc libcmTC_39bf4.a CMakeFiles/cmTC_39bf4.dir/src.c.o
/bin/ranlib libcmTC_39bf4.a
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-6AEFoK'
Source file was:
#undef inline
#include <sys/types.h>
#include <sys/socket.h>
int main(void) {
int flag = MSG_NOSIGNAL;
(void)flag;
return 0;
}
Performing C SOURCE FILE Test HAVE_STRUCT_TIMEVAL succeeded with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-sySwpk
Run Build Command(s):/bin/gmake -f Makefile cmTC_96b3b/fast && gmake -f CMakeFiles/cmTC_96b3b.dir/build.make CMakeFiles/cmTC_96b3b.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-sySwpk'
Building C object CMakeFiles/cmTC_96b3b.dir/src.c.o
/bin/gcc -DHAVE_STRUCT_TIMEVAL -I/usr/src/cmake-3.25.0/Utilities/cmcurl/include -w -std=gnu99 -o CMakeFiles/cmTC_96b3b.dir/src.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-sySwpk/src.c
Linking C static library libcmTC_96b3b.a
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -P CMakeFiles/cmTC_96b3b.dir/cmake_clean_target.cmake
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_96b3b.dir/link.txt --verbose=1
/bin/ar qc libcmTC_96b3b.a CMakeFiles/cmTC_96b3b.dir/src.c.o
/bin/ranlib libcmTC_96b3b.a
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-sySwpk'
Source file was:
#undef inline
#include <sys/types.h>
#include <sys/socket.h>
#include <sys/time.h>
#include <time.h>
#include <time.h>
int main(void) {
struct timeval ts;
ts.tv_sec = 0;
ts.tv_usec = 0;
(void)ts;
return 0;
}
Determining size of struct sockaddr_storage passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-qMuAAU
Run Build Command(s):/bin/gmake -f Makefile cmTC_2f32a/fast && gmake -f CMakeFiles/cmTC_2f32a.dir/build.make CMakeFiles/cmTC_2f32a.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-qMuAAU'
Building C object CMakeFiles/cmTC_2f32a.dir/SIZEOF_STRUCT_SOCKADDR_STORAGE.c.o
/bin/gcc -I/usr/src/cmake-3.25.0/Utilities/cmcurl/include -w -std=gnu99 -o CMakeFiles/cmTC_2f32a.dir/SIZEOF_STRUCT_SOCKADDR_STORAGE.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-qMuAAU/SIZEOF_STRUCT_SOCKADDR_STORAGE.c
Linking C static library libcmTC_2f32a.a
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -P CMakeFiles/cmTC_2f32a.dir/cmake_clean_target.cmake
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_2f32a.dir/link.txt --verbose=1
/bin/ar qc libcmTC_2f32a.a CMakeFiles/cmTC_2f32a.dir/SIZEOF_STRUCT_SOCKADDR_STORAGE.c.o
/bin/ranlib libcmTC_2f32a.a
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-qMuAAU'
Performing C SOURCE FILE Test HAVE_POLL_FINE succeeded with the following compile output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-FFf2Uu
Run Build Command(s):/bin/gmake -f Makefile cmTC_524ac/fast && gmake -f CMakeFiles/cmTC_524ac.dir/build.make CMakeFiles/cmTC_524ac.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-FFf2Uu'
Building C object CMakeFiles/cmTC_524ac.dir/src.c.o
/bin/gcc -DHAVE_POLL_FINE -I/usr/src/cmake-3.25.0/Utilities/cmcurl/include -w -DHAVE_SYS_POLL_H -std=gnu99 -o CMakeFiles/cmTC_524ac.dir/src.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-FFf2Uu/src.c
Linking C executable cmTC_524ac
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_524ac.dir/link.txt --verbose=1
/bin/gcc -w -DHAVE_SYS_POLL_H CMakeFiles/cmTC_524ac.dir/src.c.o -o cmTC_524ac
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-FFf2Uu'
...and run output:
Return value: 1
Source file was:
#include <stdlib.h>
#include <sys/time.h>
#ifdef HAVE_SYS_POLL_H
# include <sys/poll.h>
#elif HAVE_POLL_H
# include <poll.h>
#endif
int main(void)
{
if(0 != poll(0, 0, 10)) {
return 1; /* fail */
}
else {
/* detect the 10.12 poll() breakage */
struct timeval before, after;
int rc;
size_t us;
gettimeofday(&before, NULL);
rc = poll(NULL, 0, 500);
gettimeofday(&after, NULL);
us = (after.tv_sec - before.tv_sec) * 1000000 +
(after.tv_usec - before.tv_usec);
if(us < 400000) {
return 1;
}
}
return 0;
}
Determining if the include file dlfcn.h exists passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-xT9oN6
Run Build Command(s):/bin/gmake -f Makefile cmTC_fec36/fast && gmake -f CMakeFiles/cmTC_fec36.dir/build.make CMakeFiles/cmTC_fec36.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-xT9oN6'
Building C object CMakeFiles/cmTC_fec36.dir/CheckIncludeFile.c.o
/bin/gcc -w -D_DEFAULT_SOURCE -D_BSD_SOURCE -std=gnu99 -o CMakeFiles/cmTC_fec36.dir/CheckIncludeFile.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-xT9oN6/CheckIncludeFile.c
Linking C executable cmTC_fec36
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_fec36.dir/link.txt --verbose=1
/bin/gcc -w CMakeFiles/cmTC_fec36.dir/CheckIncludeFile.c.o -o cmTC_fec36
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-xT9oN6'
Determining if the include file memory.h exists passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-JIVOPI
Run Build Command(s):/bin/gmake -f Makefile cmTC_9bd90/fast && gmake -f CMakeFiles/cmTC_9bd90.dir/build.make CMakeFiles/cmTC_9bd90.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-JIVOPI'
Building C object CMakeFiles/cmTC_9bd90.dir/CheckIncludeFile.c.o
/bin/gcc -w -D_DEFAULT_SOURCE -D_BSD_SOURCE -std=gnu99 -o CMakeFiles/cmTC_9bd90.dir/CheckIncludeFile.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-JIVOPI/CheckIncludeFile.c
Linking C executable cmTC_9bd90
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_9bd90.dir/link.txt --verbose=1
/bin/gcc -w CMakeFiles/cmTC_9bd90.dir/CheckIncludeFile.c.o -o cmTC_9bd90
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-JIVOPI'
Determining if the getpagesize exist passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-u6pp3k
Run Build Command(s):/bin/gmake -f Makefile cmTC_602ba/fast && gmake -f CMakeFiles/cmTC_602ba.dir/build.make CMakeFiles/cmTC_602ba.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-u6pp3k'
Building C object CMakeFiles/cmTC_602ba.dir/CheckSymbolExists.c.o
/bin/gcc -w -D_DEFAULT_SOURCE -D_BSD_SOURCE -std=gnu99 -o CMakeFiles/cmTC_602ba.dir/CheckSymbolExists.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-u6pp3k/CheckSymbolExists.c
Linking C executable cmTC_602ba
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_602ba.dir/link.txt --verbose=1
/bin/gcc -w CMakeFiles/cmTC_602ba.dir/CheckSymbolExists.c.o -o cmTC_602ba
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-u6pp3k'
File CheckSymbolExists.c:
/* */
#include <unistd.h>
int main(int argc, char** argv)
{
(void)argv;
#ifndef getpagesize
return ((int*)(&getpagesize))[argc];
#else
(void)argc;
return 0;
#endif
}
Determining if the mmap exist passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-RlgSrX
Run Build Command(s):/bin/gmake -f Makefile cmTC_738e2/fast && gmake -f CMakeFiles/cmTC_738e2.dir/build.make CMakeFiles/cmTC_738e2.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-RlgSrX'
Building C object CMakeFiles/cmTC_738e2.dir/CheckSymbolExists.c.o
/bin/gcc -w -D_DEFAULT_SOURCE -D_BSD_SOURCE -std=gnu99 -o CMakeFiles/cmTC_738e2.dir/CheckSymbolExists.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-RlgSrX/CheckSymbolExists.c
Linking C executable cmTC_738e2
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_738e2.dir/link.txt --verbose=1
/bin/gcc -w CMakeFiles/cmTC_738e2.dir/CheckSymbolExists.c.o -o cmTC_738e2
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-RlgSrX'
File CheckSymbolExists.c:
/* */
#include <sys/mman.h>
int main(int argc, char** argv)
{
(void)argv;
#ifndef mmap
return ((int*)(&mmap))[argc];
#else
(void)argc;
return 0;
#endif
}
Performing C SOURCE FILE Test HAVE_SYSCALL_GETRANDOM succeeded with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-Z7Lnxs
Run Build Command(s):/bin/gmake -f Makefile cmTC_96251/fast && gmake -f CMakeFiles/cmTC_96251.dir/build.make CMakeFiles/cmTC_96251.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-Z7Lnxs'
Building C object CMakeFiles/cmTC_96251.dir/src.c.o
/bin/gcc -DHAVE_SYSCALL_GETRANDOM -w -D_DEFAULT_SOURCE -D_BSD_SOURCE -std=gnu99 -o CMakeFiles/cmTC_96251.dir/src.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-Z7Lnxs/src.c
Linking C executable cmTC_96251
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_96251.dir/link.txt --verbose=1
/bin/gcc -w CMakeFiles/cmTC_96251.dir/src.c.o -o cmTC_96251
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-Z7Lnxs'
Source file was:
#include <stdlib.h> /* for NULL */
#include <unistd.h> /* for syscall */
#include <sys/syscall.h> /* for SYS_getrandom */
int main() {
syscall(SYS_getrandom, NULL, 0, 0);
return 0;
}
Determining if the include file byteswap.h exists passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-KK9AI5
Run Build Command(s):/bin/gmake -f Makefile cmTC_70a1c/fast && gmake -f CMakeFiles/cmTC_70a1c.dir/build.make CMakeFiles/cmTC_70a1c.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-KK9AI5'
Building C object CMakeFiles/cmTC_70a1c.dir/CheckIncludeFile.c.o
/bin/gcc -std=gnu99 -o CMakeFiles/cmTC_70a1c.dir/CheckIncludeFile.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-KK9AI5/CheckIncludeFile.c
Linking C executable cmTC_70a1c
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_70a1c.dir/link.txt --verbose=1
/bin/gcc CMakeFiles/cmTC_70a1c.dir/CheckIncludeFile.c.o -o cmTC_70a1c
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-KK9AI5'
Determining if the include file limits.h exists passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-j18o4I
Run Build Command(s):/bin/gmake -f Makefile cmTC_b8e8f/fast && gmake -f CMakeFiles/cmTC_b8e8f.dir/build.make CMakeFiles/cmTC_b8e8f.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-j18o4I'
Building C object CMakeFiles/cmTC_b8e8f.dir/CheckIncludeFile.c.o
/bin/gcc -std=gnu99 -o CMakeFiles/cmTC_b8e8f.dir/CheckIncludeFile.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-j18o4I/CheckIncludeFile.c
Linking C executable cmTC_b8e8f
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_b8e8f.dir/link.txt --verbose=1
/bin/gcc CMakeFiles/cmTC_b8e8f.dir/CheckIncludeFile.c.o -o cmTC_b8e8f
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-j18o4I'
Determining if the include file sys/sysctl.h exists passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-toCXAm
Run Build Command(s):/bin/gmake -f Makefile cmTC_c82eb/fast && gmake -f CMakeFiles/cmTC_c82eb.dir/build.make CMakeFiles/cmTC_c82eb.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-toCXAm'
Building C object CMakeFiles/cmTC_c82eb.dir/CheckIncludeFile.c.o
/bin/gcc -std=gnu99 -o CMakeFiles/cmTC_c82eb.dir/CheckIncludeFile.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-toCXAm/CheckIncludeFile.c
Linking C executable cmTC_c82eb
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_c82eb.dir/link.txt --verbose=1
/bin/gcc CMakeFiles/cmTC_c82eb.dir/CheckIncludeFile.c.o -o cmTC_c82eb
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-toCXAm'
Performing C SOURCE FILE Test HAVE_BSWAP_16 succeeded with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-v0Eli0
Run Build Command(s):/bin/gmake -f Makefile cmTC_b4a76/fast && gmake -f CMakeFiles/cmTC_b4a76.dir/build.make CMakeFiles/cmTC_b4a76.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-v0Eli0'
Building C object CMakeFiles/cmTC_b4a76.dir/src.c.o
/bin/gcc -DHAVE_BSWAP_16 -std=gnu99 -o CMakeFiles/cmTC_b4a76.dir/src.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-v0Eli0/src.c
Linking C executable cmTC_b4a76
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_b4a76.dir/link.txt --verbose=1
/bin/gcc CMakeFiles/cmTC_b4a76.dir/src.c.o -o cmTC_b4a76
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-v0Eli0'
Source file was:
#include<byteswap.h>
int main(void){bswap_16(0);return 0;}
Performing C SOURCE FILE Test HAVE_BSWAP_32 succeeded with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-Mfk99D
Run Build Command(s):/bin/gmake -f Makefile cmTC_83300/fast && gmake -f CMakeFiles/cmTC_83300.dir/build.make CMakeFiles/cmTC_83300.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-Mfk99D'
Building C object CMakeFiles/cmTC_83300.dir/src.c.o
/bin/gcc -DHAVE_BSWAP_32 -std=gnu99 -o CMakeFiles/cmTC_83300.dir/src.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-Mfk99D/src.c
Linking C executable cmTC_83300
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_83300.dir/link.txt --verbose=1
/bin/gcc CMakeFiles/cmTC_83300.dir/src.c.o -o cmTC_83300
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-Mfk99D'
Source file was:
#include<byteswap.h>
int main(void){bswap_32(0);return 0;}
Performing C SOURCE FILE Test HAVE_BSWAP_64 succeeded with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-35tvci
Run Build Command(s):/bin/gmake -f Makefile cmTC_852fe/fast && gmake -f CMakeFiles/cmTC_852fe.dir/build.make CMakeFiles/cmTC_852fe.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-35tvci'
Building C object CMakeFiles/cmTC_852fe.dir/src.c.o
/bin/gcc -DHAVE_BSWAP_64 -std=gnu99 -o CMakeFiles/cmTC_852fe.dir/src.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-35tvci/src.c
Linking C executable cmTC_852fe
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_852fe.dir/link.txt --verbose=1
/bin/gcc CMakeFiles/cmTC_852fe.dir/src.c.o -o cmTC_852fe
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-35tvci'
Source file was:
#include<byteswap.h>
int main(void){bswap_64(0);return 0;}
Performing C SOURCE FILE Test HAVE_DIRENT_H succeeded with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-tTNhzW
Run Build Command(s):/bin/gmake -f Makefile cmTC_f4af8/fast && gmake -f CMakeFiles/cmTC_f4af8.dir/build.make CMakeFiles/cmTC_f4af8.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-tTNhzW'
Building C object CMakeFiles/cmTC_f4af8.dir/src.c.o
/bin/gcc -DHAVE_DIRENT_H -w -D_DEFAULT_SOURCE -D_BSD_SOURCE -D_XOPEN_SOURCE=600 -std=gnu99 -o CMakeFiles/cmTC_f4af8.dir/src.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-tTNhzW/src.c
Linking C executable cmTC_f4af8
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_f4af8.dir/link.txt --verbose=1
/bin/gcc -w CMakeFiles/cmTC_f4af8.dir/src.c.o -o cmTC_f4af8
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-tTNhzW'
Source file was:
#include <dirent.h>
int main()
{
static DIR * tmp;
if (sizeof(tmp))
return 0;
return 0;
}
Determining if files sys/types.h;ctype.h;dlfcn.h;errno.h;ext2fs/ext2_fs.h exist passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-FLYFMU
Run Build Command(s):/bin/gmake -f Makefile cmTC_47ae2/fast && gmake -f CMakeFiles/cmTC_47ae2.dir/build.make CMakeFiles/cmTC_47ae2.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-FLYFMU'
Building C object CMakeFiles/cmTC_47ae2.dir/HAVE_EXT2FS_EXT2_FS_H.c.o
/bin/gcc -w -D_DEFAULT_SOURCE -D_BSD_SOURCE -D_XOPEN_SOURCE=600 -std=gnu99 -o CMakeFiles/cmTC_47ae2.dir/HAVE_EXT2FS_EXT2_FS_H.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-FLYFMU/HAVE_EXT2FS_EXT2_FS_H.c
Linking C executable cmTC_47ae2
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_47ae2.dir/link.txt --verbose=1
/bin/gcc -w CMakeFiles/cmTC_47ae2.dir/HAVE_EXT2FS_EXT2_FS_H.c.o -o cmTC_47ae2
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-FLYFMU'
Performing C SOURCE FILE Test HAVE_WORKING_EXT2_IOC_GETFLAGS succeeded with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-9Jv9Sz
Run Build Command(s):/bin/gmake -f Makefile cmTC_2838b/fast && gmake -f CMakeFiles/cmTC_2838b.dir/build.make CMakeFiles/cmTC_2838b.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-9Jv9Sz'
Building C object CMakeFiles/cmTC_2838b.dir/src.c.o
/bin/gcc -DHAVE_WORKING_EXT2_IOC_GETFLAGS -w -D_DEFAULT_SOURCE -D_BSD_SOURCE -D_XOPEN_SOURCE=600 -std=gnu99 -o CMakeFiles/cmTC_2838b.dir/src.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-9Jv9Sz/src.c
Linking C executable cmTC_2838b
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_2838b.dir/link.txt --verbose=1
/bin/gcc -w CMakeFiles/cmTC_2838b.dir/src.c.o -o cmTC_2838b
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-9Jv9Sz'
Source file was:
#include <sys/ioctl.h>
#include <ext2fs/ext2_fs.h>
int main(void) { return EXT2_IOC_GETFLAGS; }
Determining if files sys/types.h;ctype.h;dlfcn.h;errno.h;ext2fs/ext2_fs.h;fcntl.h;grp.h exist passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-Pk9Wbf
Run Build Command(s):/bin/gmake -f Makefile cmTC_694c2/fast && gmake -f CMakeFiles/cmTC_694c2.dir/build.make CMakeFiles/cmTC_694c2.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-Pk9Wbf'
Building C object CMakeFiles/cmTC_694c2.dir/HAVE_GRP_H.c.o
/bin/gcc -w -D_DEFAULT_SOURCE -D_BSD_SOURCE -D_XOPEN_SOURCE=600 -std=gnu99 -o CMakeFiles/cmTC_694c2.dir/HAVE_GRP_H.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-Pk9Wbf/HAVE_GRP_H.c
Linking C executable cmTC_694c2
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_694c2.dir/link.txt --verbose=1
/bin/gcc -w CMakeFiles/cmTC_694c2.dir/HAVE_GRP_H.c.o -o cmTC_694c2
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-Pk9Wbf'
Determining if files sys/types.h;ctype.h;dlfcn.h;errno.h;ext2fs/ext2_fs.h;fcntl.h;grp.h;langinfo.h exist passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-R5rwHU
Run Build Command(s):/bin/gmake -f Makefile cmTC_ce56b/fast && gmake -f CMakeFiles/cmTC_ce56b.dir/build.make CMakeFiles/cmTC_ce56b.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-R5rwHU'
Building C object CMakeFiles/cmTC_ce56b.dir/HAVE_LANGINFO_H.c.o
/bin/gcc -w -D_DEFAULT_SOURCE -D_BSD_SOURCE -D_XOPEN_SOURCE=600 -std=gnu99 -o CMakeFiles/cmTC_ce56b.dir/HAVE_LANGINFO_H.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-R5rwHU/HAVE_LANGINFO_H.c
Linking C executable cmTC_ce56b
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_ce56b.dir/link.txt --verbose=1
/bin/gcc -w CMakeFiles/cmTC_ce56b.dir/HAVE_LANGINFO_H.c.o -o cmTC_ce56b
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-R5rwHU'
Determining if files sys/types.h;ctype.h;dlfcn.h;errno.h;ext2fs/ext2_fs.h;fcntl.h;grp.h;langinfo.h;limits.h;linux/types.h exist passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-NwLyoA
Run Build Command(s):/bin/gmake -f Makefile cmTC_edea6/fast && gmake -f CMakeFiles/cmTC_edea6.dir/build.make CMakeFiles/cmTC_edea6.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-NwLyoA'
Building C object CMakeFiles/cmTC_edea6.dir/HAVE_LINUX_TYPES_H.c.o
/bin/gcc -w -D_DEFAULT_SOURCE -D_BSD_SOURCE -D_XOPEN_SOURCE=600 -std=gnu99 -o CMakeFiles/cmTC_edea6.dir/HAVE_LINUX_TYPES_H.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-NwLyoA/HAVE_LINUX_TYPES_H.c
Linking C executable cmTC_edea6
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_edea6.dir/link.txt --verbose=1
/bin/gcc -w CMakeFiles/cmTC_edea6.dir/HAVE_LINUX_TYPES_H.c.o -o cmTC_edea6
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-NwLyoA'
Determining if files sys/types.h;ctype.h;dlfcn.h;errno.h;ext2fs/ext2_fs.h;fcntl.h;grp.h;langinfo.h;limits.h;linux/types.h;linux/fiemap.h exist passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-5PKugg
Run Build Command(s):/bin/gmake -f Makefile cmTC_57044/fast && gmake -f CMakeFiles/cmTC_57044.dir/build.make CMakeFiles/cmTC_57044.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-5PKugg'
Building C object CMakeFiles/cmTC_57044.dir/HAVE_LINUX_FIEMAP_H.c.o
/bin/gcc -w -D_DEFAULT_SOURCE -D_BSD_SOURCE -D_XOPEN_SOURCE=600 -std=gnu99 -o CMakeFiles/cmTC_57044.dir/HAVE_LINUX_FIEMAP_H.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-5PKugg/HAVE_LINUX_FIEMAP_H.c
Linking C executable cmTC_57044
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_57044.dir/link.txt --verbose=1
/bin/gcc -w CMakeFiles/cmTC_57044.dir/HAVE_LINUX_FIEMAP_H.c.o -o cmTC_57044
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-5PKugg'
Determining if files sys/types.h;ctype.h;dlfcn.h;errno.h;ext2fs/ext2_fs.h;fcntl.h;grp.h;langinfo.h;limits.h;linux/types.h;linux/fiemap.h;linux/fs.h exist passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-5Dx6iW
Run Build Command(s):/bin/gmake -f Makefile cmTC_0fe45/fast && gmake -f CMakeFiles/cmTC_0fe45.dir/build.make CMakeFiles/cmTC_0fe45.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-5Dx6iW'
Building C object CMakeFiles/cmTC_0fe45.dir/HAVE_LINUX_FS_H.c.o
/bin/gcc -w -D_DEFAULT_SOURCE -D_BSD_SOURCE -D_XOPEN_SOURCE=600 -std=gnu99 -o CMakeFiles/cmTC_0fe45.dir/HAVE_LINUX_FS_H.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-5Dx6iW/HAVE_LINUX_FS_H.c
Linking C executable cmTC_0fe45
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_0fe45.dir/link.txt --verbose=1
/bin/gcc -w CMakeFiles/cmTC_0fe45.dir/HAVE_LINUX_FS_H.c.o -o cmTC_0fe45
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-5Dx6iW'
Performing C SOURCE FILE Test HAVE_WORKING_FS_IOC_GETFLAGS succeeded with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-xu31wC
Run Build Command(s):/bin/gmake -f Makefile cmTC_2dfe4/fast && gmake -f CMakeFiles/cmTC_2dfe4.dir/build.make CMakeFiles/cmTC_2dfe4.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-xu31wC'
Building C object CMakeFiles/cmTC_2dfe4.dir/src.c.o
/bin/gcc -DHAVE_WORKING_FS_IOC_GETFLAGS -w -D_DEFAULT_SOURCE -D_BSD_SOURCE -D_XOPEN_SOURCE=600 -std=gnu99 -o CMakeFiles/cmTC_2dfe4.dir/src.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-xu31wC/src.c
Linking C executable cmTC_2dfe4
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_2dfe4.dir/link.txt --verbose=1
/bin/gcc -w CMakeFiles/cmTC_2dfe4.dir/src.c.o -o cmTC_2dfe4
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-xu31wC'
Source file was:
#include <sys/ioctl.h>
#include <linux/fs.h>
int main(void) { return FS_IOC_GETFLAGS; }
Determining if files sys/types.h;ctype.h;dlfcn.h;errno.h;ext2fs/ext2_fs.h;fcntl.h;grp.h;langinfo.h;limits.h;linux/types.h;linux/fiemap.h;linux/fs.h;linux/magic.h exist passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-ngnTVi
Run Build Command(s):/bin/gmake -f Makefile cmTC_52362/fast && gmake -f CMakeFiles/cmTC_52362.dir/build.make CMakeFiles/cmTC_52362.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-ngnTVi'
Building C object CMakeFiles/cmTC_52362.dir/HAVE_LINUX_MAGIC_H.c.o
/bin/gcc -w -D_DEFAULT_SOURCE -D_BSD_SOURCE -D_XOPEN_SOURCE=600 -std=gnu99 -o CMakeFiles/cmTC_52362.dir/HAVE_LINUX_MAGIC_H.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-ngnTVi/HAVE_LINUX_MAGIC_H.c
Linking C executable cmTC_52362
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_52362.dir/link.txt --verbose=1
/bin/gcc -w CMakeFiles/cmTC_52362.dir/HAVE_LINUX_MAGIC_H.c.o -o cmTC_52362
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-ngnTVi'
Determining if files sys/types.h;ctype.h;dlfcn.h;errno.h;ext2fs/ext2_fs.h;fcntl.h;grp.h;langinfo.h;limits.h;linux/types.h;linux/fiemap.h;linux/fs.h;linux/magic.h;locale.h;memory.h;paths.h exist passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-Gxl2kG
Run Build Command(s):/bin/gmake -f Makefile cmTC_ac600/fast && gmake -f CMakeFiles/cmTC_ac600.dir/build.make CMakeFiles/cmTC_ac600.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-Gxl2kG'
Building C object CMakeFiles/cmTC_ac600.dir/HAVE_PATHS_H.c.o
/bin/gcc -w -D_DEFAULT_SOURCE -D_BSD_SOURCE -D_XOPEN_SOURCE=600 -std=gnu99 -o CMakeFiles/cmTC_ac600.dir/HAVE_PATHS_H.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-Gxl2kG/HAVE_PATHS_H.c
Linking C executable cmTC_ac600
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_ac600.dir/link.txt --verbose=1
/bin/gcc -w CMakeFiles/cmTC_ac600.dir/HAVE_PATHS_H.c.o -o cmTC_ac600
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-Gxl2kG'
Determining if files sys/types.h;ctype.h;dlfcn.h;errno.h;ext2fs/ext2_fs.h;fcntl.h;grp.h;langinfo.h;limits.h;linux/types.h;linux/fiemap.h;linux/fs.h;linux/magic.h;locale.h;memory.h;paths.h;poll.h;pthread.h exist passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-TZKOln
Run Build Command(s):/bin/gmake -f Makefile cmTC_df1f0/fast && gmake -f CMakeFiles/cmTC_df1f0.dir/build.make CMakeFiles/cmTC_df1f0.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-TZKOln'
Building C object CMakeFiles/cmTC_df1f0.dir/HAVE_PTHREAD_H.c.o
/bin/gcc -w -D_DEFAULT_SOURCE -D_BSD_SOURCE -D_XOPEN_SOURCE=600 -std=gnu99 -o CMakeFiles/cmTC_df1f0.dir/HAVE_PTHREAD_H.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-TZKOln/HAVE_PTHREAD_H.c
Linking C executable cmTC_df1f0
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_df1f0.dir/link.txt --verbose=1
/bin/gcc -w CMakeFiles/cmTC_df1f0.dir/HAVE_PTHREAD_H.c.o -o cmTC_df1f0
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-TZKOln'
Determining if files sys/types.h;ctype.h;dlfcn.h;errno.h;ext2fs/ext2_fs.h;fcntl.h;grp.h;langinfo.h;limits.h;linux/types.h;linux/fiemap.h;linux/fs.h;linux/magic.h;locale.h;memory.h;paths.h;poll.h;pthread.h;pwd.h;regex.h exist passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-LEtC0L
Run Build Command(s):/bin/gmake -f Makefile cmTC_ed0b5/fast && gmake -f CMakeFiles/cmTC_ed0b5.dir/build.make CMakeFiles/cmTC_ed0b5.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-LEtC0L'
Building C object CMakeFiles/cmTC_ed0b5.dir/HAVE_REGEX_H.c.o
/bin/gcc -w -D_DEFAULT_SOURCE -D_BSD_SOURCE -D_XOPEN_SOURCE=600 -std=gnu99 -o CMakeFiles/cmTC_ed0b5.dir/HAVE_REGEX_H.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-LEtC0L/HAVE_REGEX_H.c
Linking C executable cmTC_ed0b5
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_ed0b5.dir/link.txt --verbose=1
/bin/gcc -w CMakeFiles/cmTC_ed0b5.dir/HAVE_REGEX_H.c.o -o cmTC_ed0b5
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-LEtC0L'
Determining if files sys/types.h;ctype.h;dlfcn.h;errno.h;ext2fs/ext2_fs.h;fcntl.h;grp.h;langinfo.h;limits.h;linux/types.h;linux/fiemap.h;linux/fs.h;linux/magic.h;locale.h;memory.h;paths.h;poll.h;pthread.h;pwd.h;regex.h;signal.h;spawn.h exist passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-ZGvGDt
Run Build Command(s):/bin/gmake -f Makefile cmTC_bf8a0/fast && gmake -f CMakeFiles/cmTC_bf8a0.dir/build.make CMakeFiles/cmTC_bf8a0.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-ZGvGDt'
Building C object CMakeFiles/cmTC_bf8a0.dir/HAVE_SPAWN_H.c.o
/bin/gcc -w -D_DEFAULT_SOURCE -D_BSD_SOURCE -D_XOPEN_SOURCE=600 -std=gnu99 -o CMakeFiles/cmTC_bf8a0.dir/HAVE_SPAWN_H.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-ZGvGDt/HAVE_SPAWN_H.c
Linking C executable cmTC_bf8a0
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_bf8a0.dir/link.txt --verbose=1
/bin/gcc -w CMakeFiles/cmTC_bf8a0.dir/HAVE_SPAWN_H.c.o -o cmTC_bf8a0
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-ZGvGDt'
Determining if files sys/types.h;ctype.h;dlfcn.h;errno.h;ext2fs/ext2_fs.h;fcntl.h;grp.h;langinfo.h;limits.h;linux/types.h;linux/fiemap.h;linux/fs.h;linux/magic.h;locale.h;memory.h;paths.h;poll.h;pthread.h;pwd.h;regex.h;signal.h;spawn.h;stdarg.h exist passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-JLsusb
Run Build Command(s):/bin/gmake -f Makefile cmTC_9f0d3/fast && gmake -f CMakeFiles/cmTC_9f0d3.dir/build.make CMakeFiles/cmTC_9f0d3.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-JLsusb'
Building C object CMakeFiles/cmTC_9f0d3.dir/HAVE_STDARG_H.c.o
/bin/gcc -w -D_DEFAULT_SOURCE -D_BSD_SOURCE -D_XOPEN_SOURCE=600 -std=gnu99 -o CMakeFiles/cmTC_9f0d3.dir/HAVE_STDARG_H.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-JLsusb/HAVE_STDARG_H.c
Linking C executable cmTC_9f0d3
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_9f0d3.dir/link.txt --verbose=1
/bin/gcc -w CMakeFiles/cmTC_9f0d3.dir/HAVE_STDARG_H.c.o -o cmTC_9f0d3
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-JLsusb'
Determining if files sys/types.h;ctype.h;dlfcn.h;errno.h;ext2fs/ext2_fs.h;fcntl.h;grp.h;langinfo.h;limits.h;linux/types.h;linux/fiemap.h;linux/fs.h;linux/magic.h;locale.h;memory.h;paths.h;poll.h;pthread.h;pwd.h;regex.h;signal.h;spawn.h;stdarg.h;stdlib.h;string.h;strings.h;sys/cdefs.h exist passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-NM3xJB
Run Build Command(s):/bin/gmake -f Makefile cmTC_2cb6d/fast && gmake -f CMakeFiles/cmTC_2cb6d.dir/build.make CMakeFiles/cmTC_2cb6d.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-NM3xJB'
Building C object CMakeFiles/cmTC_2cb6d.dir/HAVE_SYS_CDEFS_H.c.o
/bin/gcc -w -D_DEFAULT_SOURCE -D_BSD_SOURCE -D_XOPEN_SOURCE=600 -std=gnu99 -o CMakeFiles/cmTC_2cb6d.dir/HAVE_SYS_CDEFS_H.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-NM3xJB/HAVE_SYS_CDEFS_H.c
Linking C executable cmTC_2cb6d
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_2cb6d.dir/link.txt --verbose=1
/bin/gcc -w CMakeFiles/cmTC_2cb6d.dir/HAVE_SYS_CDEFS_H.c.o -o cmTC_2cb6d
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-NM3xJB'
Determining if files sys/types.h;ctype.h;dlfcn.h;errno.h;ext2fs/ext2_fs.h;fcntl.h;grp.h;langinfo.h;limits.h;linux/types.h;linux/fiemap.h;linux/fs.h;linux/magic.h;locale.h;memory.h;paths.h;poll.h;pthread.h;pwd.h;regex.h;signal.h;spawn.h;stdarg.h;stdlib.h;string.h;strings.h;sys/cdefs.h;sys/ioctl.h;sys/param.h;sys/poll.h;sys/select.h;sys/stat.h;sys/statfs.h exist passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-IPiPre
Run Build Command(s):/bin/gmake -f Makefile cmTC_2f8ef/fast && gmake -f CMakeFiles/cmTC_2f8ef.dir/build.make CMakeFiles/cmTC_2f8ef.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-IPiPre'
Building C object CMakeFiles/cmTC_2f8ef.dir/HAVE_SYS_STATFS_H.c.o
/bin/gcc -w -D_DEFAULT_SOURCE -D_BSD_SOURCE -D_XOPEN_SOURCE=600 -std=gnu99 -o CMakeFiles/cmTC_2f8ef.dir/HAVE_SYS_STATFS_H.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-IPiPre/HAVE_SYS_STATFS_H.c
Linking C executable cmTC_2f8ef
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_2f8ef.dir/link.txt --verbose=1
/bin/gcc -w CMakeFiles/cmTC_2f8ef.dir/HAVE_SYS_STATFS_H.c.o -o cmTC_2f8ef
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-IPiPre'
Determining if files sys/types.h;ctype.h;dlfcn.h;errno.h;ext2fs/ext2_fs.h;fcntl.h;grp.h;langinfo.h;limits.h;linux/types.h;linux/fiemap.h;linux/fs.h;linux/magic.h;locale.h;memory.h;paths.h;poll.h;pthread.h;pwd.h;regex.h;signal.h;spawn.h;stdarg.h;stdlib.h;string.h;strings.h;sys/cdefs.h;sys/ioctl.h;sys/param.h;sys/poll.h;sys/select.h;sys/stat.h;sys/statfs.h;sys/statvfs.h exist passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-jtYF1X
Run Build Command(s):/bin/gmake -f Makefile cmTC_7975a/fast && gmake -f CMakeFiles/cmTC_7975a.dir/build.make CMakeFiles/cmTC_7975a.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-jtYF1X'
Building C object CMakeFiles/cmTC_7975a.dir/HAVE_SYS_STATVFS_H.c.o
/bin/gcc -w -D_DEFAULT_SOURCE -D_BSD_SOURCE -D_XOPEN_SOURCE=600 -std=gnu99 -o CMakeFiles/cmTC_7975a.dir/HAVE_SYS_STATVFS_H.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-jtYF1X/HAVE_SYS_STATVFS_H.c
Linking C executable cmTC_7975a
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_7975a.dir/link.txt --verbose=1
/bin/gcc -w CMakeFiles/cmTC_7975a.dir/HAVE_SYS_STATVFS_H.c.o -o cmTC_7975a
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-jtYF1X'
Determining if files sys/types.h;ctype.h;dlfcn.h;errno.h;ext2fs/ext2_fs.h;fcntl.h;grp.h;langinfo.h;limits.h;linux/types.h;linux/fiemap.h;linux/fs.h;linux/magic.h;locale.h;memory.h;paths.h;poll.h;pthread.h;pwd.h;regex.h;signal.h;spawn.h;stdarg.h;stdlib.h;string.h;strings.h;sys/cdefs.h;sys/ioctl.h;sys/param.h;sys/poll.h;sys/select.h;sys/stat.h;sys/statfs.h;sys/statvfs.h;sys/sysmacros.h exist passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-mAjINH
Run Build Command(s):/bin/gmake -f Makefile cmTC_9a15e/fast && gmake -f CMakeFiles/cmTC_9a15e.dir/build.make CMakeFiles/cmTC_9a15e.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-mAjINH'
Building C object CMakeFiles/cmTC_9a15e.dir/HAVE_SYS_SYSMACROS_H.c.o
/bin/gcc -w -D_DEFAULT_SOURCE -D_BSD_SOURCE -D_XOPEN_SOURCE=600 -std=gnu99 -o CMakeFiles/cmTC_9a15e.dir/HAVE_SYS_SYSMACROS_H.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-mAjINH/HAVE_SYS_SYSMACROS_H.c
Linking C executable cmTC_9a15e
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_9a15e.dir/link.txt --verbose=1
/bin/gcc -w CMakeFiles/cmTC_9a15e.dir/HAVE_SYS_SYSMACROS_H.c.o -o cmTC_9a15e
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-mAjINH'
Determining if files sys/types.h;ctype.h;dlfcn.h;errno.h;ext2fs/ext2_fs.h;fcntl.h;grp.h;langinfo.h;limits.h;linux/types.h;linux/fiemap.h;linux/fs.h;linux/magic.h;locale.h;memory.h;paths.h;poll.h;pthread.h;pwd.h;regex.h;signal.h;spawn.h;stdarg.h;stdlib.h;string.h;strings.h;sys/cdefs.h;sys/ioctl.h;sys/param.h;sys/poll.h;sys/select.h;sys/stat.h;sys/statfs.h;sys/statvfs.h;sys/sysmacros.h;sys/time.h;sys/utsname.h;sys/vfs.h exist passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-SeZILr
Run Build Command(s):/bin/gmake -f Makefile cmTC_c18b9/fast && gmake -f CMakeFiles/cmTC_c18b9.dir/build.make CMakeFiles/cmTC_c18b9.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-SeZILr'
Building C object CMakeFiles/cmTC_c18b9.dir/HAVE_SYS_VFS_H.c.o
/bin/gcc -w -D_DEFAULT_SOURCE -D_BSD_SOURCE -D_XOPEN_SOURCE=600 -std=gnu99 -o CMakeFiles/cmTC_c18b9.dir/HAVE_SYS_VFS_H.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-SeZILr/HAVE_SYS_VFS_H.c
Linking C executable cmTC_c18b9
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_c18b9.dir/link.txt --verbose=1
/bin/gcc -w CMakeFiles/cmTC_c18b9.dir/HAVE_SYS_VFS_H.c.o -o cmTC_c18b9
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-SeZILr'
Determining if files sys/types.h;ctype.h;dlfcn.h;errno.h;ext2fs/ext2_fs.h;fcntl.h;grp.h;langinfo.h;limits.h;linux/types.h;linux/fiemap.h;linux/fs.h;linux/magic.h;locale.h;memory.h;paths.h;poll.h;pthread.h;pwd.h;regex.h;signal.h;spawn.h;stdarg.h;stdlib.h;string.h;strings.h;sys/cdefs.h;sys/ioctl.h;sys/param.h;sys/poll.h;sys/select.h;sys/stat.h;sys/statfs.h;sys/statvfs.h;sys/sysmacros.h;sys/time.h;sys/utsname.h;sys/vfs.h;sys/wait.h exist passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-srjdWb
Run Build Command(s):/bin/gmake -f Makefile cmTC_1b69c/fast && gmake -f CMakeFiles/cmTC_1b69c.dir/build.make CMakeFiles/cmTC_1b69c.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-srjdWb'
Building C object CMakeFiles/cmTC_1b69c.dir/HAVE_SYS_WAIT_H.c.o
/bin/gcc -w -D_DEFAULT_SOURCE -D_BSD_SOURCE -D_XOPEN_SOURCE=600 -std=gnu99 -o CMakeFiles/cmTC_1b69c.dir/HAVE_SYS_WAIT_H.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-srjdWb/HAVE_SYS_WAIT_H.c
Linking C executable cmTC_1b69c
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_1b69c.dir/link.txt --verbose=1
/bin/gcc -w CMakeFiles/cmTC_1b69c.dir/HAVE_SYS_WAIT_H.c.o -o cmTC_1b69c
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-srjdWb'
Determining if files sys/types.h;ctype.h;dlfcn.h;errno.h;ext2fs/ext2_fs.h;fcntl.h;grp.h;langinfo.h;limits.h;linux/types.h;linux/fiemap.h;linux/fs.h;linux/magic.h;locale.h;memory.h;paths.h;poll.h;pthread.h;pwd.h;regex.h;signal.h;spawn.h;stdarg.h;stdlib.h;string.h;strings.h;sys/cdefs.h;sys/ioctl.h;sys/param.h;sys/poll.h;sys/select.h;sys/stat.h;sys/statfs.h;sys/statvfs.h;sys/sysmacros.h;sys/time.h;sys/utsname.h;sys/vfs.h;sys/wait.h;sys/xattr.h;time.h;unistd.h;utime.h;wchar.h;wctype.h exist passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-AL01jW
Run Build Command(s):/bin/gmake -f Makefile cmTC_6c47d/fast && gmake -f CMakeFiles/cmTC_6c47d.dir/build.make CMakeFiles/cmTC_6c47d.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-AL01jW'
Building C object CMakeFiles/cmTC_6c47d.dir/HAVE_WCTYPE_H.c.o
/bin/gcc -w -D_DEFAULT_SOURCE -D_BSD_SOURCE -D_XOPEN_SOURCE=600 -std=gnu99 -o CMakeFiles/cmTC_6c47d.dir/HAVE_WCTYPE_H.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-AL01jW/HAVE_WCTYPE_H.c
Linking C executable cmTC_6c47d
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_6c47d.dir/link.txt --verbose=1
/bin/gcc -w CMakeFiles/cmTC_6c47d.dir/HAVE_WCTYPE_H.c.o -o cmTC_6c47d
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-AL01jW'
Performing C SOURCE FILE Test SAFE_TO_DEFINE_EXTENSIONS succeeded with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-k2d7FY
Run Build Command(s):/bin/gmake -f Makefile cmTC_4fb33/fast && gmake -f CMakeFiles/cmTC_4fb33.dir/build.make CMakeFiles/cmTC_4fb33.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-k2d7FY'
Building C object CMakeFiles/cmTC_4fb33.dir/src.c.o
/bin/gcc -DSAFE_TO_DEFINE_EXTENSIONS -w -D_DEFAULT_SOURCE -D_BSD_SOURCE -D_XOPEN_SOURCE=600 -std=gnu99 -o CMakeFiles/cmTC_4fb33.dir/src.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-k2d7FY/src.c
Linking C executable cmTC_4fb33
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_4fb33.dir/link.txt --verbose=1
/bin/gcc -w CMakeFiles/cmTC_4fb33.dir/src.c.o -o cmTC_4fb33
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-k2d7FY'
Source file was:
#define __EXTENSIONS__ 1
int main() { return 0;}
Determining if the function chown exists passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-E1NYNK
Run Build Command(s):/bin/gmake -f Makefile cmTC_2feca/fast && gmake -f CMakeFiles/cmTC_2feca.dir/build.make CMakeFiles/cmTC_2feca.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-E1NYNK'
Building C object CMakeFiles/cmTC_2feca.dir/CheckFunctionExists.c.o
/bin/gcc -w -DCHECK_FUNCTION_EXISTS=chown -fno-builtin -D_DEFAULT_SOURCE -D_BSD_SOURCE -D_XOPEN_SOURCE=600 -std=gnu99 -o CMakeFiles/cmTC_2feca.dir/CheckFunctionExists.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-E1NYNK/CheckFunctionExists.c
Linking C executable cmTC_2feca
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_2feca.dir/link.txt --verbose=1
/bin/gcc -w -DCHECK_FUNCTION_EXISTS=chown -fno-builtin CMakeFiles/cmTC_2feca.dir/CheckFunctionExists.c.o -o cmTC_2feca
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-E1NYNK'
Determining if the function chroot exists passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-P3fZex
Run Build Command(s):/bin/gmake -f Makefile cmTC_216f2/fast && gmake -f CMakeFiles/cmTC_216f2.dir/build.make CMakeFiles/cmTC_216f2.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-P3fZex'
Building C object CMakeFiles/cmTC_216f2.dir/CheckFunctionExists.c.o
/bin/gcc -w -DCHECK_FUNCTION_EXISTS=chroot -fno-builtin -D_DEFAULT_SOURCE -D_BSD_SOURCE -D_XOPEN_SOURCE=600 -std=gnu99 -o CMakeFiles/cmTC_216f2.dir/CheckFunctionExists.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-P3fZex/CheckFunctionExists.c
Linking C executable cmTC_216f2
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_216f2.dir/link.txt --verbose=1
/bin/gcc -w -DCHECK_FUNCTION_EXISTS=chroot -fno-builtin CMakeFiles/cmTC_216f2.dir/CheckFunctionExists.c.o -o cmTC_216f2
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-P3fZex'
Determining if the function ctime_r exists passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-RQXzXj
Run Build Command(s):/bin/gmake -f Makefile cmTC_c1b15/fast && gmake -f CMakeFiles/cmTC_c1b15.dir/build.make CMakeFiles/cmTC_c1b15.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-RQXzXj'
Building C object CMakeFiles/cmTC_c1b15.dir/CheckFunctionExists.c.o
/bin/gcc -w -DCHECK_FUNCTION_EXISTS=ctime_r -fno-builtin -D_DEFAULT_SOURCE -D_BSD_SOURCE -D_XOPEN_SOURCE=600 -std=gnu99 -o CMakeFiles/cmTC_c1b15.dir/CheckFunctionExists.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-RQXzXj/CheckFunctionExists.c
Linking C executable cmTC_c1b15
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_c1b15.dir/link.txt --verbose=1
/bin/gcc -w -DCHECK_FUNCTION_EXISTS=ctime_r -fno-builtin CMakeFiles/cmTC_c1b15.dir/CheckFunctionExists.c.o -o cmTC_c1b15
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-RQXzXj'
Determining if the function fchdir exists passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-JekjX6
Run Build Command(s):/bin/gmake -f Makefile cmTC_dc580/fast && gmake -f CMakeFiles/cmTC_dc580.dir/build.make CMakeFiles/cmTC_dc580.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-JekjX6'
Building C object CMakeFiles/cmTC_dc580.dir/CheckFunctionExists.c.o
/bin/gcc -w -DCHECK_FUNCTION_EXISTS=fchdir -fno-builtin -D_DEFAULT_SOURCE -D_BSD_SOURCE -D_XOPEN_SOURCE=600 -std=gnu99 -o CMakeFiles/cmTC_dc580.dir/CheckFunctionExists.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-JekjX6/CheckFunctionExists.c
Linking C executable cmTC_dc580
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_dc580.dir/link.txt --verbose=1
/bin/gcc -w -DCHECK_FUNCTION_EXISTS=fchdir -fno-builtin CMakeFiles/cmTC_dc580.dir/CheckFunctionExists.c.o -o cmTC_dc580
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-JekjX6'
Determining if the function fchown exists passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-gWzCpU
Run Build Command(s):/bin/gmake -f Makefile cmTC_51018/fast && gmake -f CMakeFiles/cmTC_51018.dir/build.make CMakeFiles/cmTC_51018.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-gWzCpU'
Building C object CMakeFiles/cmTC_51018.dir/CheckFunctionExists.c.o
/bin/gcc -w -DCHECK_FUNCTION_EXISTS=fchown -fno-builtin -D_DEFAULT_SOURCE -D_BSD_SOURCE -D_XOPEN_SOURCE=600 -std=gnu99 -o CMakeFiles/cmTC_51018.dir/CheckFunctionExists.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-gWzCpU/CheckFunctionExists.c
Linking C executable cmTC_51018
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_51018.dir/link.txt --verbose=1
/bin/gcc -w -DCHECK_FUNCTION_EXISTS=fchown -fno-builtin CMakeFiles/cmTC_51018.dir/CheckFunctionExists.c.o -o cmTC_51018
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-gWzCpU'
Determining if the function fcntl exists passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-LwB59H
Run Build Command(s):/bin/gmake -f Makefile cmTC_005fb/fast && gmake -f CMakeFiles/cmTC_005fb.dir/build.make CMakeFiles/cmTC_005fb.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-LwB59H'
Building C object CMakeFiles/cmTC_005fb.dir/CheckFunctionExists.c.o
/bin/gcc -w -DCHECK_FUNCTION_EXISTS=fcntl -fno-builtin -D_DEFAULT_SOURCE -D_BSD_SOURCE -D_XOPEN_SOURCE=600 -std=gnu99 -o CMakeFiles/cmTC_005fb.dir/CheckFunctionExists.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-LwB59H/CheckFunctionExists.c
Linking C executable cmTC_005fb
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_005fb.dir/link.txt --verbose=1
/bin/gcc -w -DCHECK_FUNCTION_EXISTS=fcntl -fno-builtin CMakeFiles/cmTC_005fb.dir/CheckFunctionExists.c.o -o cmTC_005fb
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-LwB59H'
Determining if the function fdopendir exists passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-1e1Bfw
Run Build Command(s):/bin/gmake -f Makefile cmTC_9d6b3/fast && gmake -f CMakeFiles/cmTC_9d6b3.dir/build.make CMakeFiles/cmTC_9d6b3.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-1e1Bfw'
Building C object CMakeFiles/cmTC_9d6b3.dir/CheckFunctionExists.c.o
/bin/gcc -w -DCHECK_FUNCTION_EXISTS=fdopendir -fno-builtin -D_DEFAULT_SOURCE -D_BSD_SOURCE -D_XOPEN_SOURCE=600 -std=gnu99 -o CMakeFiles/cmTC_9d6b3.dir/CheckFunctionExists.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-1e1Bfw/CheckFunctionExists.c
Linking C executable cmTC_9d6b3
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_9d6b3.dir/link.txt --verbose=1
/bin/gcc -w -DCHECK_FUNCTION_EXISTS=fdopendir -fno-builtin CMakeFiles/cmTC_9d6b3.dir/CheckFunctionExists.c.o -o cmTC_9d6b3
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-1e1Bfw'
Determining if the function fork exists passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-KH7hHk
Run Build Command(s):/bin/gmake -f Makefile cmTC_e08c1/fast && gmake -f CMakeFiles/cmTC_e08c1.dir/build.make CMakeFiles/cmTC_e08c1.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-KH7hHk'
Building C object CMakeFiles/cmTC_e08c1.dir/CheckFunctionExists.c.o
/bin/gcc -w -DCHECK_FUNCTION_EXISTS=fork -fno-builtin -D_DEFAULT_SOURCE -D_BSD_SOURCE -D_XOPEN_SOURCE=600 -std=gnu99 -o CMakeFiles/cmTC_e08c1.dir/CheckFunctionExists.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-KH7hHk/CheckFunctionExists.c
Linking C executable cmTC_e08c1
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_e08c1.dir/link.txt --verbose=1
/bin/gcc -w -DCHECK_FUNCTION_EXISTS=fork -fno-builtin CMakeFiles/cmTC_e08c1.dir/CheckFunctionExists.c.o -o cmTC_e08c1
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-KH7hHk'
Determining if the function fstat exists passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-eUglr9
Run Build Command(s):/bin/gmake -f Makefile cmTC_4a7b3/fast && gmake -f CMakeFiles/cmTC_4a7b3.dir/build.make CMakeFiles/cmTC_4a7b3.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-eUglr9'
Building C object CMakeFiles/cmTC_4a7b3.dir/CheckFunctionExists.c.o
/bin/gcc -w -DCHECK_FUNCTION_EXISTS=fstat -fno-builtin -D_DEFAULT_SOURCE -D_BSD_SOURCE -D_XOPEN_SOURCE=600 -std=gnu99 -o CMakeFiles/cmTC_4a7b3.dir/CheckFunctionExists.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-eUglr9/CheckFunctionExists.c
Linking C executable cmTC_4a7b3
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_4a7b3.dir/link.txt --verbose=1
/bin/gcc -w -DCHECK_FUNCTION_EXISTS=fstat -fno-builtin CMakeFiles/cmTC_4a7b3.dir/CheckFunctionExists.c.o -o cmTC_4a7b3
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-eUglr9'
Determining if the function fstatat exists passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-zwfLvY
Run Build Command(s):/bin/gmake -f Makefile cmTC_a5e63/fast && gmake -f CMakeFiles/cmTC_a5e63.dir/build.make CMakeFiles/cmTC_a5e63.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-zwfLvY'
Building C object CMakeFiles/cmTC_a5e63.dir/CheckFunctionExists.c.o
/bin/gcc -w -DCHECK_FUNCTION_EXISTS=fstatat -fno-builtin -D_DEFAULT_SOURCE -D_BSD_SOURCE -D_XOPEN_SOURCE=600 -std=gnu99 -o CMakeFiles/cmTC_a5e63.dir/CheckFunctionExists.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-zwfLvY/CheckFunctionExists.c
Linking C executable cmTC_a5e63
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_a5e63.dir/link.txt --verbose=1
/bin/gcc -w -DCHECK_FUNCTION_EXISTS=fstatat -fno-builtin CMakeFiles/cmTC_a5e63.dir/CheckFunctionExists.c.o -o cmTC_a5e63
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-zwfLvY'
Determining if the function fstatfs exists passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-3I7PWN
Run Build Command(s):/bin/gmake -f Makefile cmTC_d19ad/fast && gmake -f CMakeFiles/cmTC_d19ad.dir/build.make CMakeFiles/cmTC_d19ad.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-3I7PWN'
Building C object CMakeFiles/cmTC_d19ad.dir/CheckFunctionExists.c.o
/bin/gcc -w -DCHECK_FUNCTION_EXISTS=fstatfs -fno-builtin -D_DEFAULT_SOURCE -D_BSD_SOURCE -D_XOPEN_SOURCE=600 -std=gnu99 -o CMakeFiles/cmTC_d19ad.dir/CheckFunctionExists.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-3I7PWN/CheckFunctionExists.c
Linking C executable cmTC_d19ad
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_d19ad.dir/link.txt --verbose=1
/bin/gcc -w -DCHECK_FUNCTION_EXISTS=fstatfs -fno-builtin CMakeFiles/cmTC_d19ad.dir/CheckFunctionExists.c.o -o cmTC_d19ad
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-3I7PWN'
Determining if the function fstatvfs exists passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-Ha6SHD
Run Build Command(s):/bin/gmake -f Makefile cmTC_b4697/fast && gmake -f CMakeFiles/cmTC_b4697.dir/build.make CMakeFiles/cmTC_b4697.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-Ha6SHD'
Building C object CMakeFiles/cmTC_b4697.dir/CheckFunctionExists.c.o
/bin/gcc -w -DCHECK_FUNCTION_EXISTS=fstatvfs -fno-builtin -D_DEFAULT_SOURCE -D_BSD_SOURCE -D_XOPEN_SOURCE=600 -std=gnu99 -o CMakeFiles/cmTC_b4697.dir/CheckFunctionExists.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-Ha6SHD/CheckFunctionExists.c
Linking C executable cmTC_b4697
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_b4697.dir/link.txt --verbose=1
/bin/gcc -w -DCHECK_FUNCTION_EXISTS=fstatvfs -fno-builtin CMakeFiles/cmTC_b4697.dir/CheckFunctionExists.c.o -o cmTC_b4697
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-Ha6SHD'
Determining if the function futimens exists passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-jAkYMt
Run Build Command(s):/bin/gmake -f Makefile cmTC_9f37b/fast && gmake -f CMakeFiles/cmTC_9f37b.dir/build.make CMakeFiles/cmTC_9f37b.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-jAkYMt'
Building C object CMakeFiles/cmTC_9f37b.dir/CheckFunctionExists.c.o
/bin/gcc -w -DCHECK_FUNCTION_EXISTS=futimens -fno-builtin -D_DEFAULT_SOURCE -D_BSD_SOURCE -D_XOPEN_SOURCE=600 -std=gnu99 -o CMakeFiles/cmTC_9f37b.dir/CheckFunctionExists.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-jAkYMt/CheckFunctionExists.c
Linking C executable cmTC_9f37b
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_9f37b.dir/link.txt --verbose=1
/bin/gcc -w -DCHECK_FUNCTION_EXISTS=futimens -fno-builtin CMakeFiles/cmTC_9f37b.dir/CheckFunctionExists.c.o -o cmTC_9f37b
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-jAkYMt'
Determining if the function futimes exists passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-AhDybk
Run Build Command(s):/bin/gmake -f Makefile cmTC_f9080/fast && gmake -f CMakeFiles/cmTC_f9080.dir/build.make CMakeFiles/cmTC_f9080.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-AhDybk'
Building C object CMakeFiles/cmTC_f9080.dir/CheckFunctionExists.c.o
/bin/gcc -w -DCHECK_FUNCTION_EXISTS=futimes -fno-builtin -D_DEFAULT_SOURCE -D_BSD_SOURCE -D_XOPEN_SOURCE=600 -std=gnu99 -o CMakeFiles/cmTC_f9080.dir/CheckFunctionExists.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-AhDybk/CheckFunctionExists.c
Linking C executable cmTC_f9080
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_f9080.dir/link.txt --verbose=1
/bin/gcc -w -DCHECK_FUNCTION_EXISTS=futimes -fno-builtin CMakeFiles/cmTC_f9080.dir/CheckFunctionExists.c.o -o cmTC_f9080
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-AhDybk'
Determining if the function futimesat exists passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-LUJAUa
Run Build Command(s):/bin/gmake -f Makefile cmTC_4e1b0/fast && gmake -f CMakeFiles/cmTC_4e1b0.dir/build.make CMakeFiles/cmTC_4e1b0.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-LUJAUa'
Building C object CMakeFiles/cmTC_4e1b0.dir/CheckFunctionExists.c.o
/bin/gcc -w -DCHECK_FUNCTION_EXISTS=futimesat -fno-builtin -D_DEFAULT_SOURCE -D_BSD_SOURCE -D_XOPEN_SOURCE=600 -std=gnu99 -o CMakeFiles/cmTC_4e1b0.dir/CheckFunctionExists.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-LUJAUa/CheckFunctionExists.c
Linking C executable cmTC_4e1b0
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_4e1b0.dir/link.txt --verbose=1
/bin/gcc -w -DCHECK_FUNCTION_EXISTS=futimesat -fno-builtin CMakeFiles/cmTC_4e1b0.dir/CheckFunctionExists.c.o -o cmTC_4e1b0
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-LUJAUa'
Determining if the function getgrgid_r exists passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-8CVyY1
Run Build Command(s):/bin/gmake -f Makefile cmTC_ea1be/fast && gmake -f CMakeFiles/cmTC_ea1be.dir/build.make CMakeFiles/cmTC_ea1be.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-8CVyY1'
Building C object CMakeFiles/cmTC_ea1be.dir/CheckFunctionExists.c.o
/bin/gcc -w -DCHECK_FUNCTION_EXISTS=getgrgid_r -fno-builtin -D_DEFAULT_SOURCE -D_BSD_SOURCE -D_XOPEN_SOURCE=600 -std=gnu99 -o CMakeFiles/cmTC_ea1be.dir/CheckFunctionExists.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-8CVyY1/CheckFunctionExists.c
Linking C executable cmTC_ea1be
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_ea1be.dir/link.txt --verbose=1
/bin/gcc -w -DCHECK_FUNCTION_EXISTS=getgrgid_r -fno-builtin CMakeFiles/cmTC_ea1be.dir/CheckFunctionExists.c.o -o cmTC_ea1be
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-8CVyY1'
Determining if the function getgrnam_r exists passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-njf0mT
Run Build Command(s):/bin/gmake -f Makefile cmTC_77b58/fast && gmake -f CMakeFiles/cmTC_77b58.dir/build.make CMakeFiles/cmTC_77b58.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-njf0mT'
Building C object CMakeFiles/cmTC_77b58.dir/CheckFunctionExists.c.o
/bin/gcc -w -DCHECK_FUNCTION_EXISTS=getgrnam_r -fno-builtin -D_DEFAULT_SOURCE -D_BSD_SOURCE -D_XOPEN_SOURCE=600 -std=gnu99 -o CMakeFiles/cmTC_77b58.dir/CheckFunctionExists.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-njf0mT/CheckFunctionExists.c
Linking C executable cmTC_77b58
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_77b58.dir/link.txt --verbose=1
/bin/gcc -w -DCHECK_FUNCTION_EXISTS=getgrnam_r -fno-builtin CMakeFiles/cmTC_77b58.dir/CheckFunctionExists.c.o -o cmTC_77b58
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-njf0mT'
Determining if the function getpwnam_r exists passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-InKk6K
Run Build Command(s):/bin/gmake -f Makefile cmTC_445d4/fast && gmake -f CMakeFiles/cmTC_445d4.dir/build.make CMakeFiles/cmTC_445d4.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-InKk6K'
Building C object CMakeFiles/cmTC_445d4.dir/CheckFunctionExists.c.o
/bin/gcc -w -DCHECK_FUNCTION_EXISTS=getpwnam_r -fno-builtin -D_DEFAULT_SOURCE -D_BSD_SOURCE -D_XOPEN_SOURCE=600 -std=gnu99 -o CMakeFiles/cmTC_445d4.dir/CheckFunctionExists.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-InKk6K/CheckFunctionExists.c
Linking C executable cmTC_445d4
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_445d4.dir/link.txt --verbose=1
/bin/gcc -w -DCHECK_FUNCTION_EXISTS=getpwnam_r -fno-builtin CMakeFiles/cmTC_445d4.dir/CheckFunctionExists.c.o -o cmTC_445d4
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-InKk6K'
Determining if the function getpid exists passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-gpE0aD
Run Build Command(s):/bin/gmake -f Makefile cmTC_79507/fast && gmake -f CMakeFiles/cmTC_79507.dir/build.make CMakeFiles/cmTC_79507.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-gpE0aD'
Building C object CMakeFiles/cmTC_79507.dir/CheckFunctionExists.c.o
/bin/gcc -w -DCHECK_FUNCTION_EXISTS=getpid -fno-builtin -D_DEFAULT_SOURCE -D_BSD_SOURCE -D_XOPEN_SOURCE=600 -std=gnu99 -o CMakeFiles/cmTC_79507.dir/CheckFunctionExists.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-gpE0aD/CheckFunctionExists.c
Linking C executable cmTC_79507
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_79507.dir/link.txt --verbose=1
/bin/gcc -w -DCHECK_FUNCTION_EXISTS=getpid -fno-builtin CMakeFiles/cmTC_79507.dir/CheckFunctionExists.c.o -o cmTC_79507
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-gpE0aD'
Determining if the function lchown exists passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-AC1Ewh
Run Build Command(s):/bin/gmake -f Makefile cmTC_6480f/fast && gmake -f CMakeFiles/cmTC_6480f.dir/build.make CMakeFiles/cmTC_6480f.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-AC1Ewh'
Building C object CMakeFiles/cmTC_6480f.dir/CheckFunctionExists.c.o
/bin/gcc -w -DCHECK_FUNCTION_EXISTS=lchown -fno-builtin -D_DEFAULT_SOURCE -D_BSD_SOURCE -D_XOPEN_SOURCE=600 -std=gnu99 -o CMakeFiles/cmTC_6480f.dir/CheckFunctionExists.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-AC1Ewh/CheckFunctionExists.c
Linking C executable cmTC_6480f
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_6480f.dir/link.txt --verbose=1
/bin/gcc -w -DCHECK_FUNCTION_EXISTS=lchown -fno-builtin CMakeFiles/cmTC_6480f.dir/CheckFunctionExists.c.o -o cmTC_6480f
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-AC1Ewh'
Determining if the function link exists passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-gr7S4a
Run Build Command(s):/bin/gmake -f Makefile cmTC_d975a/fast && gmake -f CMakeFiles/cmTC_d975a.dir/build.make CMakeFiles/cmTC_d975a.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-gr7S4a'
Building C object CMakeFiles/cmTC_d975a.dir/CheckFunctionExists.c.o
/bin/gcc -w -DCHECK_FUNCTION_EXISTS=link -fno-builtin -D_DEFAULT_SOURCE -D_BSD_SOURCE -D_XOPEN_SOURCE=600 -std=gnu99 -o CMakeFiles/cmTC_d975a.dir/CheckFunctionExists.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-gr7S4a/CheckFunctionExists.c
Linking C executable cmTC_d975a
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_d975a.dir/link.txt --verbose=1
/bin/gcc -w -DCHECK_FUNCTION_EXISTS=link -fno-builtin CMakeFiles/cmTC_d975a.dir/CheckFunctionExists.c.o -o cmTC_d975a
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-gr7S4a'
Determining if the function linkat exists passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-MxmLW4
Run Build Command(s):/bin/gmake -f Makefile cmTC_de4ee/fast && gmake -f CMakeFiles/cmTC_de4ee.dir/build.make CMakeFiles/cmTC_de4ee.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-MxmLW4'
Building C object CMakeFiles/cmTC_de4ee.dir/CheckFunctionExists.c.o
/bin/gcc -w -DCHECK_FUNCTION_EXISTS=linkat -fno-builtin -D_DEFAULT_SOURCE -D_BSD_SOURCE -D_XOPEN_SOURCE=600 -std=gnu99 -o CMakeFiles/cmTC_de4ee.dir/CheckFunctionExists.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-MxmLW4/CheckFunctionExists.c
Linking C executable cmTC_de4ee
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_de4ee.dir/link.txt --verbose=1
/bin/gcc -w -DCHECK_FUNCTION_EXISTS=linkat -fno-builtin CMakeFiles/cmTC_de4ee.dir/CheckFunctionExists.c.o -o cmTC_de4ee
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-MxmLW4'
Determining if the function localtime_r exists passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-sJye9Y
Run Build Command(s):/bin/gmake -f Makefile cmTC_f4766/fast && gmake -f CMakeFiles/cmTC_f4766.dir/build.make CMakeFiles/cmTC_f4766.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-sJye9Y'
Building C object CMakeFiles/cmTC_f4766.dir/CheckFunctionExists.c.o
/bin/gcc -w -DCHECK_FUNCTION_EXISTS=localtime_r -fno-builtin -D_DEFAULT_SOURCE -D_BSD_SOURCE -D_XOPEN_SOURCE=600 -std=gnu99 -o CMakeFiles/cmTC_f4766.dir/CheckFunctionExists.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-sJye9Y/CheckFunctionExists.c
Linking C executable cmTC_f4766
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_f4766.dir/link.txt --verbose=1
/bin/gcc -w -DCHECK_FUNCTION_EXISTS=localtime_r -fno-builtin CMakeFiles/cmTC_f4766.dir/CheckFunctionExists.c.o -o cmTC_f4766
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-sJye9Y'
Determining if the function lstat exists passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-D8CpGT
Run Build Command(s):/bin/gmake -f Makefile cmTC_0e382/fast && gmake -f CMakeFiles/cmTC_0e382.dir/build.make CMakeFiles/cmTC_0e382.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-D8CpGT'
Building C object CMakeFiles/cmTC_0e382.dir/CheckFunctionExists.c.o
/bin/gcc -w -DCHECK_FUNCTION_EXISTS=lstat -fno-builtin -D_DEFAULT_SOURCE -D_BSD_SOURCE -D_XOPEN_SOURCE=600 -std=gnu99 -o CMakeFiles/cmTC_0e382.dir/CheckFunctionExists.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-D8CpGT/CheckFunctionExists.c
Linking C executable cmTC_0e382
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_0e382.dir/link.txt --verbose=1
/bin/gcc -w -DCHECK_FUNCTION_EXISTS=lstat -fno-builtin CMakeFiles/cmTC_0e382.dir/CheckFunctionExists.c.o -o cmTC_0e382
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-D8CpGT'
Determining if the function lutimes exists passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-95VUxO
Run Build Command(s):/bin/gmake -f Makefile cmTC_69e25/fast && gmake -f CMakeFiles/cmTC_69e25.dir/build.make CMakeFiles/cmTC_69e25.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-95VUxO'
Building C object CMakeFiles/cmTC_69e25.dir/CheckFunctionExists.c.o
/bin/gcc -w -DCHECK_FUNCTION_EXISTS=lutimes -fno-builtin -D_DEFAULT_SOURCE -D_BSD_SOURCE -D_XOPEN_SOURCE=600 -std=gnu99 -o CMakeFiles/cmTC_69e25.dir/CheckFunctionExists.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-95VUxO/CheckFunctionExists.c
Linking C executable cmTC_69e25
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_69e25.dir/link.txt --verbose=1
/bin/gcc -w -DCHECK_FUNCTION_EXISTS=lutimes -fno-builtin CMakeFiles/cmTC_69e25.dir/CheckFunctionExists.c.o -o cmTC_69e25
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-95VUxO'
Determining if the function mbrtowc exists passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-sFvpHJ
Run Build Command(s):/bin/gmake -f Makefile cmTC_71108/fast && gmake -f CMakeFiles/cmTC_71108.dir/build.make CMakeFiles/cmTC_71108.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-sFvpHJ'
Building C object CMakeFiles/cmTC_71108.dir/CheckFunctionExists.c.o
/bin/gcc -w -DCHECK_FUNCTION_EXISTS=mbrtowc -fno-builtin -D_DEFAULT_SOURCE -D_BSD_SOURCE -D_XOPEN_SOURCE=600 -std=gnu99 -o CMakeFiles/cmTC_71108.dir/CheckFunctionExists.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-sFvpHJ/CheckFunctionExists.c
Linking C executable cmTC_71108
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_71108.dir/link.txt --verbose=1
/bin/gcc -w -DCHECK_FUNCTION_EXISTS=mbrtowc -fno-builtin CMakeFiles/cmTC_71108.dir/CheckFunctionExists.c.o -o cmTC_71108
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-sFvpHJ'
Determining if the function mkdir exists passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-zcTe9E
Run Build Command(s):/bin/gmake -f Makefile cmTC_ad697/fast && gmake -f CMakeFiles/cmTC_ad697.dir/build.make CMakeFiles/cmTC_ad697.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-zcTe9E'
Building C object CMakeFiles/cmTC_ad697.dir/CheckFunctionExists.c.o
/bin/gcc -w -DCHECK_FUNCTION_EXISTS=mkdir -fno-builtin -D_DEFAULT_SOURCE -D_BSD_SOURCE -D_XOPEN_SOURCE=600 -std=gnu99 -o CMakeFiles/cmTC_ad697.dir/CheckFunctionExists.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-zcTe9E/CheckFunctionExists.c
Linking C executable cmTC_ad697
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_ad697.dir/link.txt --verbose=1
/bin/gcc -w -DCHECK_FUNCTION_EXISTS=mkdir -fno-builtin CMakeFiles/cmTC_ad697.dir/CheckFunctionExists.c.o -o cmTC_ad697
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-zcTe9E'
Determining if the function mkfifo exists passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-m1l9TA
Run Build Command(s):/bin/gmake -f Makefile cmTC_bc28e/fast && gmake -f CMakeFiles/cmTC_bc28e.dir/build.make CMakeFiles/cmTC_bc28e.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-m1l9TA'
Building C object CMakeFiles/cmTC_bc28e.dir/CheckFunctionExists.c.o
/bin/gcc -w -DCHECK_FUNCTION_EXISTS=mkfifo -fno-builtin -D_DEFAULT_SOURCE -D_BSD_SOURCE -D_XOPEN_SOURCE=600 -std=gnu99 -o CMakeFiles/cmTC_bc28e.dir/CheckFunctionExists.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-m1l9TA/CheckFunctionExists.c
Linking C executable cmTC_bc28e
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_bc28e.dir/link.txt --verbose=1
/bin/gcc -w -DCHECK_FUNCTION_EXISTS=mkfifo -fno-builtin CMakeFiles/cmTC_bc28e.dir/CheckFunctionExists.c.o -o cmTC_bc28e
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-m1l9TA'
Determining if the function mknod exists passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-pONNWw
Run Build Command(s):/bin/gmake -f Makefile cmTC_404d0/fast && gmake -f CMakeFiles/cmTC_404d0.dir/build.make CMakeFiles/cmTC_404d0.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-pONNWw'
Building C object CMakeFiles/cmTC_404d0.dir/CheckFunctionExists.c.o
/bin/gcc -w -DCHECK_FUNCTION_EXISTS=mknod -fno-builtin -D_DEFAULT_SOURCE -D_BSD_SOURCE -D_XOPEN_SOURCE=600 -std=gnu99 -o CMakeFiles/cmTC_404d0.dir/CheckFunctionExists.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-pONNWw/CheckFunctionExists.c
Linking C executable cmTC_404d0
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_404d0.dir/link.txt --verbose=1
/bin/gcc -w -DCHECK_FUNCTION_EXISTS=mknod -fno-builtin CMakeFiles/cmTC_404d0.dir/CheckFunctionExists.c.o -o cmTC_404d0
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-pONNWw'
Determining if the function mkstemp exists passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-8Fqajt
Run Build Command(s):/bin/gmake -f Makefile cmTC_5eec8/fast && gmake -f CMakeFiles/cmTC_5eec8.dir/build.make CMakeFiles/cmTC_5eec8.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-8Fqajt'
Building C object CMakeFiles/cmTC_5eec8.dir/CheckFunctionExists.c.o
/bin/gcc -w -DCHECK_FUNCTION_EXISTS=mkstemp -fno-builtin -D_DEFAULT_SOURCE -D_BSD_SOURCE -D_XOPEN_SOURCE=600 -std=gnu99 -o CMakeFiles/cmTC_5eec8.dir/CheckFunctionExists.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-8Fqajt/CheckFunctionExists.c
Linking C executable cmTC_5eec8
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_5eec8.dir/link.txt --verbose=1
/bin/gcc -w -DCHECK_FUNCTION_EXISTS=mkstemp -fno-builtin CMakeFiles/cmTC_5eec8.dir/CheckFunctionExists.c.o -o cmTC_5eec8
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-8Fqajt'
Determining if the function nl_langinfo exists passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-6u0QXp
Run Build Command(s):/bin/gmake -f Makefile cmTC_d6b16/fast && gmake -f CMakeFiles/cmTC_d6b16.dir/build.make CMakeFiles/cmTC_d6b16.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-6u0QXp'
Building C object CMakeFiles/cmTC_d6b16.dir/CheckFunctionExists.c.o
/bin/gcc -w -DCHECK_FUNCTION_EXISTS=nl_langinfo -fno-builtin -D_DEFAULT_SOURCE -D_BSD_SOURCE -D_XOPEN_SOURCE=600 -std=gnu99 -o CMakeFiles/cmTC_d6b16.dir/CheckFunctionExists.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-6u0QXp/CheckFunctionExists.c
Linking C executable cmTC_d6b16
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_d6b16.dir/link.txt --verbose=1
/bin/gcc -w -DCHECK_FUNCTION_EXISTS=nl_langinfo -fno-builtin CMakeFiles/cmTC_d6b16.dir/CheckFunctionExists.c.o -o cmTC_d6b16
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-6u0QXp'
Determining if the function openat exists passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-zGGETm
Run Build Command(s):/bin/gmake -f Makefile cmTC_afedd/fast && gmake -f CMakeFiles/cmTC_afedd.dir/build.make CMakeFiles/cmTC_afedd.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-zGGETm'
Building C object CMakeFiles/cmTC_afedd.dir/CheckFunctionExists.c.o
/bin/gcc -w -DCHECK_FUNCTION_EXISTS=openat -fno-builtin -D_DEFAULT_SOURCE -D_BSD_SOURCE -D_XOPEN_SOURCE=600 -std=gnu99 -o CMakeFiles/cmTC_afedd.dir/CheckFunctionExists.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-zGGETm/CheckFunctionExists.c
Linking C executable cmTC_afedd
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_afedd.dir/link.txt --verbose=1
/bin/gcc -w -DCHECK_FUNCTION_EXISTS=openat -fno-builtin CMakeFiles/cmTC_afedd.dir/CheckFunctionExists.c.o -o cmTC_afedd
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-zGGETm'
Determining if the function poll exists passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-gNyk6j
Run Build Command(s):/bin/gmake -f Makefile cmTC_f71ef/fast && gmake -f CMakeFiles/cmTC_f71ef.dir/build.make CMakeFiles/cmTC_f71ef.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-gNyk6j'
Building C object CMakeFiles/cmTC_f71ef.dir/CheckFunctionExists.c.o
/bin/gcc -w -DCHECK_FUNCTION_EXISTS=poll -fno-builtin -D_DEFAULT_SOURCE -D_BSD_SOURCE -D_XOPEN_SOURCE=600 -std=gnu99 -o CMakeFiles/cmTC_f71ef.dir/CheckFunctionExists.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-gNyk6j/CheckFunctionExists.c
Linking C executable cmTC_f71ef
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_f71ef.dir/link.txt --verbose=1
/bin/gcc -w -DCHECK_FUNCTION_EXISTS=poll -fno-builtin CMakeFiles/cmTC_f71ef.dir/CheckFunctionExists.c.o -o cmTC_f71ef
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-gNyk6j'
Determining if the function posix_spawnp exists passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-IkQQAh
Run Build Command(s):/bin/gmake -f Makefile cmTC_e6b1e/fast && gmake -f CMakeFiles/cmTC_e6b1e.dir/build.make CMakeFiles/cmTC_e6b1e.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-IkQQAh'
Building C object CMakeFiles/cmTC_e6b1e.dir/CheckFunctionExists.c.o
/bin/gcc -w -DCHECK_FUNCTION_EXISTS=posix_spawnp -fno-builtin -D_DEFAULT_SOURCE -D_BSD_SOURCE -D_XOPEN_SOURCE=600 -std=gnu99 -o CMakeFiles/cmTC_e6b1e.dir/CheckFunctionExists.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-IkQQAh/CheckFunctionExists.c
Linking C executable cmTC_e6b1e
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_e6b1e.dir/link.txt --verbose=1
/bin/gcc -w -DCHECK_FUNCTION_EXISTS=posix_spawnp -fno-builtin CMakeFiles/cmTC_e6b1e.dir/CheckFunctionExists.c.o -o cmTC_e6b1e
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-IkQQAh'
Determining if the function readlink exists passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-x9H5lf
Run Build Command(s):/bin/gmake -f Makefile cmTC_26eb4/fast && gmake -f CMakeFiles/cmTC_26eb4.dir/build.make CMakeFiles/cmTC_26eb4.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-x9H5lf'
Building C object CMakeFiles/cmTC_26eb4.dir/CheckFunctionExists.c.o
/bin/gcc -w -DCHECK_FUNCTION_EXISTS=readlink -fno-builtin -D_DEFAULT_SOURCE -D_BSD_SOURCE -D_XOPEN_SOURCE=600 -std=gnu99 -o CMakeFiles/cmTC_26eb4.dir/CheckFunctionExists.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-x9H5lf/CheckFunctionExists.c
Linking C executable cmTC_26eb4
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_26eb4.dir/link.txt --verbose=1
/bin/gcc -w -DCHECK_FUNCTION_EXISTS=readlink -fno-builtin CMakeFiles/cmTC_26eb4.dir/CheckFunctionExists.c.o -o cmTC_26eb4
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-x9H5lf'
Determining if the function setenv exists passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-VjMUFb
Run Build Command(s):/bin/gmake -f Makefile cmTC_86f52/fast && gmake -f CMakeFiles/cmTC_86f52.dir/build.make CMakeFiles/cmTC_86f52.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-VjMUFb'
Building C object CMakeFiles/cmTC_86f52.dir/CheckFunctionExists.c.o
/bin/gcc -w -DCHECK_FUNCTION_EXISTS=setenv -fno-builtin -D_DEFAULT_SOURCE -D_BSD_SOURCE -D_XOPEN_SOURCE=600 -std=gnu99 -o CMakeFiles/cmTC_86f52.dir/CheckFunctionExists.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-VjMUFb/CheckFunctionExists.c
Linking C executable cmTC_86f52
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_86f52.dir/link.txt --verbose=1
/bin/gcc -w -DCHECK_FUNCTION_EXISTS=setenv -fno-builtin CMakeFiles/cmTC_86f52.dir/CheckFunctionExists.c.o -o cmTC_86f52
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-VjMUFb'
Determining if the function statfs exists passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-jB6Nea
Run Build Command(s):/bin/gmake -f Makefile cmTC_51e78/fast && gmake -f CMakeFiles/cmTC_51e78.dir/build.make CMakeFiles/cmTC_51e78.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-jB6Nea'
Building C object CMakeFiles/cmTC_51e78.dir/CheckFunctionExists.c.o
/bin/gcc -w -DCHECK_FUNCTION_EXISTS=statfs -fno-builtin -D_DEFAULT_SOURCE -D_BSD_SOURCE -D_XOPEN_SOURCE=600 -std=gnu99 -o CMakeFiles/cmTC_51e78.dir/CheckFunctionExists.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-jB6Nea/CheckFunctionExists.c
Linking C executable cmTC_51e78
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_51e78.dir/link.txt --verbose=1
/bin/gcc -w -DCHECK_FUNCTION_EXISTS=statfs -fno-builtin CMakeFiles/cmTC_51e78.dir/CheckFunctionExists.c.o -o cmTC_51e78
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-jB6Nea'
Determining if the function statvfs exists passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-3buy38
Run Build Command(s):/bin/gmake -f Makefile cmTC_eeff4/fast && gmake -f CMakeFiles/cmTC_eeff4.dir/build.make CMakeFiles/cmTC_eeff4.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-3buy38'
Building C object CMakeFiles/cmTC_eeff4.dir/CheckFunctionExists.c.o
/bin/gcc -w -DCHECK_FUNCTION_EXISTS=statvfs -fno-builtin -D_DEFAULT_SOURCE -D_BSD_SOURCE -D_XOPEN_SOURCE=600 -std=gnu99 -o CMakeFiles/cmTC_eeff4.dir/CheckFunctionExists.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-3buy38/CheckFunctionExists.c
Linking C executable cmTC_eeff4
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_eeff4.dir/link.txt --verbose=1
/bin/gcc -w -DCHECK_FUNCTION_EXISTS=statvfs -fno-builtin CMakeFiles/cmTC_eeff4.dir/CheckFunctionExists.c.o -o cmTC_eeff4
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-3buy38'
Determining if the function strerror exists passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-ryp077
Run Build Command(s):/bin/gmake -f Makefile cmTC_87220/fast && gmake -f CMakeFiles/cmTC_87220.dir/build.make CMakeFiles/cmTC_87220.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-ryp077'
Building C object CMakeFiles/cmTC_87220.dir/CheckFunctionExists.c.o
/bin/gcc -w -DCHECK_FUNCTION_EXISTS=strerror -fno-builtin -D_DEFAULT_SOURCE -D_BSD_SOURCE -D_XOPEN_SOURCE=600 -std=gnu99 -o CMakeFiles/cmTC_87220.dir/CheckFunctionExists.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-ryp077/CheckFunctionExists.c
Linking C executable cmTC_87220
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_87220.dir/link.txt --verbose=1
/bin/gcc -w -DCHECK_FUNCTION_EXISTS=strerror -fno-builtin CMakeFiles/cmTC_87220.dir/CheckFunctionExists.c.o -o cmTC_87220
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-ryp077'
Determining if the function strnlen exists passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-hF5Z36
Run Build Command(s):/bin/gmake -f Makefile cmTC_b95b3/fast && gmake -f CMakeFiles/cmTC_b95b3.dir/build.make CMakeFiles/cmTC_b95b3.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-hF5Z36'
Building C object CMakeFiles/cmTC_b95b3.dir/CheckFunctionExists.c.o
/bin/gcc -w -DCHECK_FUNCTION_EXISTS=strnlen -fno-builtin -D_DEFAULT_SOURCE -D_BSD_SOURCE -D_XOPEN_SOURCE=600 -std=gnu99 -o CMakeFiles/cmTC_b95b3.dir/CheckFunctionExists.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-hF5Z36/CheckFunctionExists.c
Linking C executable cmTC_b95b3
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_b95b3.dir/link.txt --verbose=1
/bin/gcc -w -DCHECK_FUNCTION_EXISTS=strnlen -fno-builtin CMakeFiles/cmTC_b95b3.dir/CheckFunctionExists.c.o -o cmTC_b95b3
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-hF5Z36'
Determining if the function symlink exists passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-Bz2IU6
Run Build Command(s):/bin/gmake -f Makefile cmTC_f8bf3/fast && gmake -f CMakeFiles/cmTC_f8bf3.dir/build.make CMakeFiles/cmTC_f8bf3.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-Bz2IU6'
Building C object CMakeFiles/cmTC_f8bf3.dir/CheckFunctionExists.c.o
/bin/gcc -w -DCHECK_FUNCTION_EXISTS=symlink -fno-builtin -D_DEFAULT_SOURCE -D_BSD_SOURCE -D_XOPEN_SOURCE=600 -std=gnu99 -o CMakeFiles/cmTC_f8bf3.dir/CheckFunctionExists.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-Bz2IU6/CheckFunctionExists.c
Linking C executable cmTC_f8bf3
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_f8bf3.dir/link.txt --verbose=1
/bin/gcc -w -DCHECK_FUNCTION_EXISTS=symlink -fno-builtin CMakeFiles/cmTC_f8bf3.dir/CheckFunctionExists.c.o -o cmTC_f8bf3
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-Bz2IU6'
Determining if the function timegm exists passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-290m16
Run Build Command(s):/bin/gmake -f Makefile cmTC_62ef0/fast && gmake -f CMakeFiles/cmTC_62ef0.dir/build.make CMakeFiles/cmTC_62ef0.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-290m16'
Building C object CMakeFiles/cmTC_62ef0.dir/CheckFunctionExists.c.o
/bin/gcc -w -DCHECK_FUNCTION_EXISTS=timegm -fno-builtin -D_DEFAULT_SOURCE -D_BSD_SOURCE -D_XOPEN_SOURCE=600 -std=gnu99 -o CMakeFiles/cmTC_62ef0.dir/CheckFunctionExists.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-290m16/CheckFunctionExists.c
Linking C executable cmTC_62ef0
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_62ef0.dir/link.txt --verbose=1
/bin/gcc -w -DCHECK_FUNCTION_EXISTS=timegm -fno-builtin CMakeFiles/cmTC_62ef0.dir/CheckFunctionExists.c.o -o cmTC_62ef0
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-290m16'
Determining if the function tzset exists passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-GeAjo7
Run Build Command(s):/bin/gmake -f Makefile cmTC_80a08/fast && gmake -f CMakeFiles/cmTC_80a08.dir/build.make CMakeFiles/cmTC_80a08.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-GeAjo7'
Building C object CMakeFiles/cmTC_80a08.dir/CheckFunctionExists.c.o
/bin/gcc -w -DCHECK_FUNCTION_EXISTS=tzset -fno-builtin -D_DEFAULT_SOURCE -D_BSD_SOURCE -D_XOPEN_SOURCE=600 -std=gnu99 -o CMakeFiles/cmTC_80a08.dir/CheckFunctionExists.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-GeAjo7/CheckFunctionExists.c
Linking C executable cmTC_80a08
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_80a08.dir/link.txt --verbose=1
/bin/gcc -w -DCHECK_FUNCTION_EXISTS=tzset -fno-builtin CMakeFiles/cmTC_80a08.dir/CheckFunctionExists.c.o -o cmTC_80a08
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-GeAjo7'
Determining if the function unlinkat exists passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-oHb817
Run Build Command(s):/bin/gmake -f Makefile cmTC_46b46/fast && gmake -f CMakeFiles/cmTC_46b46.dir/build.make CMakeFiles/cmTC_46b46.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-oHb817'
Building C object CMakeFiles/cmTC_46b46.dir/CheckFunctionExists.c.o
/bin/gcc -w -DCHECK_FUNCTION_EXISTS=unlinkat -fno-builtin -D_DEFAULT_SOURCE -D_BSD_SOURCE -D_XOPEN_SOURCE=600 -std=gnu99 -o CMakeFiles/cmTC_46b46.dir/CheckFunctionExists.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-oHb817/CheckFunctionExists.c
Linking C executable cmTC_46b46
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_46b46.dir/link.txt --verbose=1
/bin/gcc -w -DCHECK_FUNCTION_EXISTS=unlinkat -fno-builtin CMakeFiles/cmTC_46b46.dir/CheckFunctionExists.c.o -o cmTC_46b46
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-oHb817'
Determining if the function utimensat exists passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-waevX8
Run Build Command(s):/bin/gmake -f Makefile cmTC_27b88/fast && gmake -f CMakeFiles/cmTC_27b88.dir/build.make CMakeFiles/cmTC_27b88.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-waevX8'
Building C object CMakeFiles/cmTC_27b88.dir/CheckFunctionExists.c.o
/bin/gcc -w -DCHECK_FUNCTION_EXISTS=utimensat -fno-builtin -D_DEFAULT_SOURCE -D_BSD_SOURCE -D_XOPEN_SOURCE=600 -std=gnu99 -o CMakeFiles/cmTC_27b88.dir/CheckFunctionExists.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-waevX8/CheckFunctionExists.c
Linking C executable cmTC_27b88
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_27b88.dir/link.txt --verbose=1
/bin/gcc -w -DCHECK_FUNCTION_EXISTS=utimensat -fno-builtin CMakeFiles/cmTC_27b88.dir/CheckFunctionExists.c.o -o cmTC_27b88
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-waevX8'
Determining if the function vfork exists passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-rLKA99
Run Build Command(s):/bin/gmake -f Makefile cmTC_46e74/fast && gmake -f CMakeFiles/cmTC_46e74.dir/build.make CMakeFiles/cmTC_46e74.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-rLKA99'
Building C object CMakeFiles/cmTC_46e74.dir/CheckFunctionExists.c.o
/bin/gcc -w -DCHECK_FUNCTION_EXISTS=vfork -fno-builtin -D_DEFAULT_SOURCE -D_BSD_SOURCE -D_XOPEN_SOURCE=600 -std=gnu99 -o CMakeFiles/cmTC_46e74.dir/CheckFunctionExists.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-rLKA99/CheckFunctionExists.c
Linking C executable cmTC_46e74
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_46e74.dir/link.txt --verbose=1
/bin/gcc -w -DCHECK_FUNCTION_EXISTS=vfork -fno-builtin CMakeFiles/cmTC_46e74.dir/CheckFunctionExists.c.o -o cmTC_46e74
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-rLKA99'
Determining if the function wcrtomb exists passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-SJ4MBb
Run Build Command(s):/bin/gmake -f Makefile cmTC_b3431/fast && gmake -f CMakeFiles/cmTC_b3431.dir/build.make CMakeFiles/cmTC_b3431.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-SJ4MBb'
Building C object CMakeFiles/cmTC_b3431.dir/CheckFunctionExists.c.o
/bin/gcc -w -DCHECK_FUNCTION_EXISTS=wcrtomb -fno-builtin -D_DEFAULT_SOURCE -D_BSD_SOURCE -D_XOPEN_SOURCE=600 -std=gnu99 -o CMakeFiles/cmTC_b3431.dir/CheckFunctionExists.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-SJ4MBb/CheckFunctionExists.c
Linking C executable cmTC_b3431
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_b3431.dir/link.txt --verbose=1
/bin/gcc -w -DCHECK_FUNCTION_EXISTS=wcrtomb -fno-builtin CMakeFiles/cmTC_b3431.dir/CheckFunctionExists.c.o -o cmTC_b3431
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-SJ4MBb'
Determining if the function wcscmp exists passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-4HO9kd
Run Build Command(s):/bin/gmake -f Makefile cmTC_34477/fast && gmake -f CMakeFiles/cmTC_34477.dir/build.make CMakeFiles/cmTC_34477.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-4HO9kd'
Building C object CMakeFiles/cmTC_34477.dir/CheckFunctionExists.c.o
/bin/gcc -w -DCHECK_FUNCTION_EXISTS=wcscmp -fno-builtin -D_DEFAULT_SOURCE -D_BSD_SOURCE -D_XOPEN_SOURCE=600 -std=gnu99 -o CMakeFiles/cmTC_34477.dir/CheckFunctionExists.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-4HO9kd/CheckFunctionExists.c
Linking C executable cmTC_34477
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_34477.dir/link.txt --verbose=1
/bin/gcc -w -DCHECK_FUNCTION_EXISTS=wcscmp -fno-builtin CMakeFiles/cmTC_34477.dir/CheckFunctionExists.c.o -o cmTC_34477
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-4HO9kd'
Determining if the function wcscpy exists passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-eJ8nkf
Run Build Command(s):/bin/gmake -f Makefile cmTC_c0448/fast && gmake -f CMakeFiles/cmTC_c0448.dir/build.make CMakeFiles/cmTC_c0448.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-eJ8nkf'
Building C object CMakeFiles/cmTC_c0448.dir/CheckFunctionExists.c.o
/bin/gcc -w -DCHECK_FUNCTION_EXISTS=wcscpy -fno-builtin -D_DEFAULT_SOURCE -D_BSD_SOURCE -D_XOPEN_SOURCE=600 -std=gnu99 -o CMakeFiles/cmTC_c0448.dir/CheckFunctionExists.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-eJ8nkf/CheckFunctionExists.c
Linking C executable cmTC_c0448
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_c0448.dir/link.txt --verbose=1
/bin/gcc -w -DCHECK_FUNCTION_EXISTS=wcscpy -fno-builtin CMakeFiles/cmTC_c0448.dir/CheckFunctionExists.c.o -o cmTC_c0448
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-eJ8nkf'
Determining if the function wcslen exists passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-fZenzh
Run Build Command(s):/bin/gmake -f Makefile cmTC_c04e6/fast && gmake -f CMakeFiles/cmTC_c04e6.dir/build.make CMakeFiles/cmTC_c04e6.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-fZenzh'
Building C object CMakeFiles/cmTC_c04e6.dir/CheckFunctionExists.c.o
/bin/gcc -w -DCHECK_FUNCTION_EXISTS=wcslen -fno-builtin -D_DEFAULT_SOURCE -D_BSD_SOURCE -D_XOPEN_SOURCE=600 -std=gnu99 -o CMakeFiles/cmTC_c04e6.dir/CheckFunctionExists.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-fZenzh/CheckFunctionExists.c
Linking C executable cmTC_c04e6
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_c04e6.dir/link.txt --verbose=1
/bin/gcc -w -DCHECK_FUNCTION_EXISTS=wcslen -fno-builtin CMakeFiles/cmTC_c04e6.dir/CheckFunctionExists.c.o -o cmTC_c04e6
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-fZenzh'
Determining if the function wctomb exists passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-lEEk4j
Run Build Command(s):/bin/gmake -f Makefile cmTC_541d3/fast && gmake -f CMakeFiles/cmTC_541d3.dir/build.make CMakeFiles/cmTC_541d3.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-lEEk4j'
Building C object CMakeFiles/cmTC_541d3.dir/CheckFunctionExists.c.o
/bin/gcc -w -DCHECK_FUNCTION_EXISTS=wctomb -fno-builtin -D_DEFAULT_SOURCE -D_BSD_SOURCE -D_XOPEN_SOURCE=600 -std=gnu99 -o CMakeFiles/cmTC_541d3.dir/CheckFunctionExists.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-lEEk4j/CheckFunctionExists.c
Linking C executable cmTC_541d3
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_541d3.dir/link.txt --verbose=1
/bin/gcc -w -DCHECK_FUNCTION_EXISTS=wctomb -fno-builtin CMakeFiles/cmTC_541d3.dir/CheckFunctionExists.c.o -o cmTC_541d3
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-lEEk4j'
Determining if the function fseeko exists passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-LRlc4N
Run Build Command(s):/bin/gmake -f Makefile cmTC_f64d8/fast && gmake -f CMakeFiles/cmTC_f64d8.dir/build.make CMakeFiles/cmTC_f64d8.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-LRlc4N'
Building C object CMakeFiles/cmTC_f64d8.dir/CheckFunctionExists.c.o
/bin/gcc -w -DCHECK_FUNCTION_EXISTS=fseeko -fno-builtin -D_DEFAULT_SOURCE -D_BSD_SOURCE -D_XOPEN_SOURCE=600 -std=gnu99 -o CMakeFiles/cmTC_f64d8.dir/CheckFunctionExists.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-LRlc4N/CheckFunctionExists.c
Linking C executable cmTC_f64d8
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_f64d8.dir/link.txt --verbose=1
/bin/gcc -w -DCHECK_FUNCTION_EXISTS=fseeko -fno-builtin CMakeFiles/cmTC_f64d8.dir/CheckFunctionExists.c.o -o cmTC_f64d8
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-LRlc4N'
Determining if the function vprintf exists passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-7mWfMS
Run Build Command(s):/bin/gmake -f Makefile cmTC_4606d/fast && gmake -f CMakeFiles/cmTC_4606d.dir/build.make CMakeFiles/cmTC_4606d.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-7mWfMS'
Building C object CMakeFiles/cmTC_4606d.dir/CheckFunctionExists.c.o
/bin/gcc -w -DCHECK_FUNCTION_EXISTS=vprintf -fno-builtin -D_DEFAULT_SOURCE -D_BSD_SOURCE -D_XOPEN_SOURCE=600 -std=gnu99 -o CMakeFiles/cmTC_4606d.dir/CheckFunctionExists.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-7mWfMS/CheckFunctionExists.c
Linking C executable cmTC_4606d
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_4606d.dir/link.txt --verbose=1
/bin/gcc -w -DCHECK_FUNCTION_EXISTS=vprintf -fno-builtin CMakeFiles/cmTC_4606d.dir/CheckFunctionExists.c.o -o cmTC_4606d
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-7mWfMS'
Determining if the function wmemcmp exists passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-B2RiFX
Run Build Command(s):/bin/gmake -f Makefile cmTC_87d91/fast && gmake -f CMakeFiles/cmTC_87d91.dir/build.make CMakeFiles/cmTC_87d91.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-B2RiFX'
Building C object CMakeFiles/cmTC_87d91.dir/CheckFunctionExists.c.o
/bin/gcc -w -DCHECK_FUNCTION_EXISTS=wmemcmp -fno-builtin -D_DEFAULT_SOURCE -D_BSD_SOURCE -D_XOPEN_SOURCE=600 -std=gnu99 -o CMakeFiles/cmTC_87d91.dir/CheckFunctionExists.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-B2RiFX/CheckFunctionExists.c
Linking C executable cmTC_87d91
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_87d91.dir/link.txt --verbose=1
/bin/gcc -w -DCHECK_FUNCTION_EXISTS=wmemcmp -fno-builtin CMakeFiles/cmTC_87d91.dir/CheckFunctionExists.c.o -o cmTC_87d91
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-B2RiFX'
Determining if the function wmemcpy exists passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-rlgcI2
Run Build Command(s):/bin/gmake -f Makefile cmTC_29d64/fast && gmake -f CMakeFiles/cmTC_29d64.dir/build.make CMakeFiles/cmTC_29d64.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-rlgcI2'
Building C object CMakeFiles/cmTC_29d64.dir/CheckFunctionExists.c.o
/bin/gcc -w -DCHECK_FUNCTION_EXISTS=wmemcpy -fno-builtin -D_DEFAULT_SOURCE -D_BSD_SOURCE -D_XOPEN_SOURCE=600 -std=gnu99 -o CMakeFiles/cmTC_29d64.dir/CheckFunctionExists.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-rlgcI2/CheckFunctionExists.c
Linking C executable cmTC_29d64
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_29d64.dir/link.txt --verbose=1
/bin/gcc -w -DCHECK_FUNCTION_EXISTS=wmemcpy -fno-builtin CMakeFiles/cmTC_29d64.dir/CheckFunctionExists.c.o -o cmTC_29d64
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-rlgcI2'
Determining if the function wmemmove exists passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-CQtDU7
Run Build Command(s):/bin/gmake -f Makefile cmTC_360d9/fast && gmake -f CMakeFiles/cmTC_360d9.dir/build.make CMakeFiles/cmTC_360d9.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-CQtDU7'
Building C object CMakeFiles/cmTC_360d9.dir/CheckFunctionExists.c.o
/bin/gcc -w -DCHECK_FUNCTION_EXISTS=wmemmove -fno-builtin -D_DEFAULT_SOURCE -D_BSD_SOURCE -D_XOPEN_SOURCE=600 -std=gnu99 -o CMakeFiles/cmTC_360d9.dir/CheckFunctionExists.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-CQtDU7/CheckFunctionExists.c
Linking C executable cmTC_360d9
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_360d9.dir/link.txt --verbose=1
/bin/gcc -w -DCHECK_FUNCTION_EXISTS=wmemmove -fno-builtin CMakeFiles/cmTC_360d9.dir/CheckFunctionExists.c.o -o cmTC_360d9
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-CQtDU7'
Performing C SOURCE FILE Test HAVE_READDIR_R succeeded with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-boZL2t
Run Build Command(s):/bin/gmake -f Makefile cmTC_0fd0f/fast && gmake -f CMakeFiles/cmTC_0fd0f.dir/build.make CMakeFiles/cmTC_0fd0f.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-boZL2t'
Building C object CMakeFiles/cmTC_0fd0f.dir/src.c.o
/bin/gcc -DHAVE_READDIR_R -w -D_DEFAULT_SOURCE -D_BSD_SOURCE -D_XOPEN_SOURCE=600 -std=gnu99 -o CMakeFiles/cmTC_0fd0f.dir/src.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-boZL2t/src.c
Linking C executable cmTC_0fd0f
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_0fd0f.dir/link.txt --verbose=1
/bin/gcc -w CMakeFiles/cmTC_0fd0f.dir/src.c.o -o cmTC_0fd0f
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-boZL2t'
Source file was:
#include <dirent.h>
int main() {DIR *d = opendir("."); struct dirent e,*r; return readdir_r(d,&e,&r);}
Performing C SOURCE FILE Test HAVE_DIRFD succeeded with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-Qln6Tz
Run Build Command(s):/bin/gmake -f Makefile cmTC_c2223/fast && gmake -f CMakeFiles/cmTC_c2223.dir/build.make CMakeFiles/cmTC_c2223.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-Qln6Tz'
Building C object CMakeFiles/cmTC_c2223.dir/src.c.o
/bin/gcc -DHAVE_DIRFD -w -D_DEFAULT_SOURCE -D_BSD_SOURCE -D_XOPEN_SOURCE=600 -std=gnu99 -o CMakeFiles/cmTC_c2223.dir/src.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-Qln6Tz/src.c
Linking C executable cmTC_c2223
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_c2223.dir/link.txt --verbose=1
/bin/gcc -w CMakeFiles/cmTC_c2223.dir/src.c.o -o cmTC_c2223
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-Qln6Tz'
Source file was:
#include <dirent.h>
int main() {DIR *d = opendir("."); return dirfd(d);}
Performing C SOURCE FILE Test MAJOR_IN_SYSMACROS succeeded with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-LwSElS
Run Build Command(s):/bin/gmake -f Makefile cmTC_5169b/fast && gmake -f CMakeFiles/cmTC_5169b.dir/build.make CMakeFiles/cmTC_5169b.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-LwSElS'
Building C object CMakeFiles/cmTC_5169b.dir/src.c.o
/bin/gcc -DMAJOR_IN_SYSMACROS -w -D_DEFAULT_SOURCE -D_BSD_SOURCE -D_XOPEN_SOURCE=600 -std=gnu99 -o CMakeFiles/cmTC_5169b.dir/src.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-LwSElS/src.c
Linking C executable cmTC_5169b
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_5169b.dir/link.txt --verbose=1
/bin/gcc -w CMakeFiles/cmTC_5169b.dir/src.c.o -o cmTC_5169b
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-LwSElS'
Source file was:
#include <sys/sysmacros.h>
int main() { return major(256); }
Determining if the EILSEQ exist passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-YBqAm5
Run Build Command(s):/bin/gmake -f Makefile cmTC_f46b5/fast && gmake -f CMakeFiles/cmTC_f46b5.dir/build.make CMakeFiles/cmTC_f46b5.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-YBqAm5'
Building C object CMakeFiles/cmTC_f46b5.dir/CheckSymbolExists.c.o
/bin/gcc -w -D_DEFAULT_SOURCE -D_BSD_SOURCE -D_XOPEN_SOURCE=600 -std=gnu99 -o CMakeFiles/cmTC_f46b5.dir/CheckSymbolExists.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-YBqAm5/CheckSymbolExists.c
Linking C executable cmTC_f46b5
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_f46b5.dir/link.txt --verbose=1
/bin/gcc -w CMakeFiles/cmTC_f46b5.dir/CheckSymbolExists.c.o -o cmTC_f46b5
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-YBqAm5'
File CheckSymbolExists.c:
/* */
#include <errno.h>
int main(int argc, char** argv)
{
(void)argv;
#ifndef EILSEQ
return ((int*)(&EILSEQ))[argc];
#else
(void)argc;
return 0;
#endif
}
Performing C SOURCE FILE Test HAVE_STRUCT_TM_TM_GMTOFF succeeded with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-nGRHTi
Run Build Command(s):/bin/gmake -f Makefile cmTC_6e974/fast && gmake -f CMakeFiles/cmTC_6e974.dir/build.make CMakeFiles/cmTC_6e974.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-nGRHTi'
Building C object CMakeFiles/cmTC_6e974.dir/src.c.o
/bin/gcc -DHAVE_STRUCT_TM_TM_GMTOFF -w -D_DEFAULT_SOURCE -D_BSD_SOURCE -D_XOPEN_SOURCE=600 -std=gnu99 -o CMakeFiles/cmTC_6e974.dir/src.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-nGRHTi/src.c
Linking C executable cmTC_6e974
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_6e974.dir/link.txt --verbose=1
/bin/gcc -w CMakeFiles/cmTC_6e974.dir/src.c.o -o cmTC_6e974
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-nGRHTi'
Source file was:
#include <time.h>
int main()
{
(void)sizeof(((struct tm *)0)->tm_gmtoff);
return 0;
}
Performing C SOURCE FILE Test HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC succeeded with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-4y4z1S
Run Build Command(s):/bin/gmake -f Makefile cmTC_69d86/fast && gmake -f CMakeFiles/cmTC_69d86.dir/build.make CMakeFiles/cmTC_69d86.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-4y4z1S'
Building C object CMakeFiles/cmTC_69d86.dir/src.c.o
/bin/gcc -DHAVE_STRUCT_STAT_ST_MTIM_TV_NSEC -w -D_DEFAULT_SOURCE -D_BSD_SOURCE -D_XOPEN_SOURCE=600 -std=gnu99 -o CMakeFiles/cmTC_69d86.dir/src.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-4y4z1S/src.c
Linking C executable cmTC_69d86
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_69d86.dir/link.txt --verbose=1
/bin/gcc -w CMakeFiles/cmTC_69d86.dir/src.c.o -o cmTC_69d86
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-4y4z1S'
Source file was:
#include <sys/types.h>
#include <sys/stat.h>
int main()
{
(void)sizeof(((struct stat *)0)->st_mtim.tv_nsec);
return 0;
}
Performing C SOURCE FILE Test HAVE_STRUCT_STAT_ST_BLKSIZE succeeded with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-dZ8q9n
Run Build Command(s):/bin/gmake -f Makefile cmTC_a2286/fast && gmake -f CMakeFiles/cmTC_a2286.dir/build.make CMakeFiles/cmTC_a2286.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-dZ8q9n'
Building C object CMakeFiles/cmTC_a2286.dir/src.c.o
/bin/gcc -DHAVE_STRUCT_STAT_ST_BLKSIZE -w -D_DEFAULT_SOURCE -D_BSD_SOURCE -D_XOPEN_SOURCE=600 -std=gnu99 -o CMakeFiles/cmTC_a2286.dir/src.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-dZ8q9n/src.c
Linking C executable cmTC_a2286
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_a2286.dir/link.txt --verbose=1
/bin/gcc -w CMakeFiles/cmTC_a2286.dir/src.c.o -o cmTC_a2286
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-dZ8q9n'
Source file was:
#include <sys/types.h>
#include <sys/stat.h>
int main()
{
(void)sizeof(((struct stat *)0)->st_blksize);
return 0;
}
Determining size of dev_t passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-nrh0PM
Run Build Command(s):/bin/gmake -f Makefile cmTC_72135/fast && gmake -f CMakeFiles/cmTC_72135.dir/build.make CMakeFiles/cmTC_72135.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-nrh0PM'
Building C object CMakeFiles/cmTC_72135.dir/DEV_T.c.o
/bin/gcc -w -D_DEFAULT_SOURCE -D_BSD_SOURCE -D_XOPEN_SOURCE=600 -std=gnu99 -o CMakeFiles/cmTC_72135.dir/DEV_T.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-nrh0PM/DEV_T.c
Linking C executable cmTC_72135
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_72135.dir/link.txt --verbose=1
/bin/gcc -w CMakeFiles/cmTC_72135.dir/DEV_T.c.o -o cmTC_72135
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-nrh0PM'
Determining size of gid_t passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-j6xhlV
Run Build Command(s):/bin/gmake -f Makefile cmTC_e6d21/fast && gmake -f CMakeFiles/cmTC_e6d21.dir/build.make CMakeFiles/cmTC_e6d21.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-j6xhlV'
Building C object CMakeFiles/cmTC_e6d21.dir/GID_T.c.o
/bin/gcc -w -D_DEFAULT_SOURCE -D_BSD_SOURCE -D_XOPEN_SOURCE=600 -std=gnu99 -o CMakeFiles/cmTC_e6d21.dir/GID_T.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-j6xhlV/GID_T.c
Linking C executable cmTC_e6d21
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_e6d21.dir/link.txt --verbose=1
/bin/gcc -w CMakeFiles/cmTC_e6d21.dir/GID_T.c.o -o cmTC_e6d21
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-j6xhlV'
Determining size of id_t passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-26v303
Run Build Command(s):/bin/gmake -f Makefile cmTC_4aae4/fast && gmake -f CMakeFiles/cmTC_4aae4.dir/build.make CMakeFiles/cmTC_4aae4.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-26v303'
Building C object CMakeFiles/cmTC_4aae4.dir/ID_T.c.o
/bin/gcc -w -D_DEFAULT_SOURCE -D_BSD_SOURCE -D_XOPEN_SOURCE=600 -std=gnu99 -o CMakeFiles/cmTC_4aae4.dir/ID_T.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-26v303/ID_T.c
Linking C executable cmTC_4aae4
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_4aae4.dir/link.txt --verbose=1
/bin/gcc -w CMakeFiles/cmTC_4aae4.dir/ID_T.c.o -o cmTC_4aae4
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-26v303'
Determining size of mode_t passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-K927Qc
Run Build Command(s):/bin/gmake -f Makefile cmTC_d4cc4/fast && gmake -f CMakeFiles/cmTC_d4cc4.dir/build.make CMakeFiles/cmTC_d4cc4.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-K927Qc'
Building C object CMakeFiles/cmTC_d4cc4.dir/MODE_T.c.o
/bin/gcc -w -D_DEFAULT_SOURCE -D_BSD_SOURCE -D_XOPEN_SOURCE=600 -std=gnu99 -o CMakeFiles/cmTC_d4cc4.dir/MODE_T.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-K927Qc/MODE_T.c
Linking C executable cmTC_d4cc4
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_d4cc4.dir/link.txt --verbose=1
/bin/gcc -w CMakeFiles/cmTC_d4cc4.dir/MODE_T.c.o -o cmTC_d4cc4
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-K927Qc'
Determining size of off_t passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-AjZjRl
Run Build Command(s):/bin/gmake -f Makefile cmTC_8ed84/fast && gmake -f CMakeFiles/cmTC_8ed84.dir/build.make CMakeFiles/cmTC_8ed84.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-AjZjRl'
Building C object CMakeFiles/cmTC_8ed84.dir/OFF_T.c.o
/bin/gcc -w -D_DEFAULT_SOURCE -D_BSD_SOURCE -D_XOPEN_SOURCE=600 -std=gnu99 -o CMakeFiles/cmTC_8ed84.dir/OFF_T.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-AjZjRl/OFF_T.c
Linking C executable cmTC_8ed84
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_8ed84.dir/link.txt --verbose=1
/bin/gcc -w CMakeFiles/cmTC_8ed84.dir/OFF_T.c.o -o cmTC_8ed84
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-AjZjRl'
Determining size of size_t passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-loAk2u
Run Build Command(s):/bin/gmake -f Makefile cmTC_c0d06/fast && gmake -f CMakeFiles/cmTC_c0d06.dir/build.make CMakeFiles/cmTC_c0d06.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-loAk2u'
Building C object CMakeFiles/cmTC_c0d06.dir/SIZE_T.c.o
/bin/gcc -w -D_DEFAULT_SOURCE -D_BSD_SOURCE -D_XOPEN_SOURCE=600 -std=gnu99 -o CMakeFiles/cmTC_c0d06.dir/SIZE_T.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-loAk2u/SIZE_T.c
Linking C executable cmTC_c0d06
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_c0d06.dir/link.txt --verbose=1
/bin/gcc -w CMakeFiles/cmTC_c0d06.dir/SIZE_T.c.o -o cmTC_c0d06
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-loAk2u'
Determining size of ssize_t passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-5yRppE
Run Build Command(s):/bin/gmake -f Makefile cmTC_09118/fast && gmake -f CMakeFiles/cmTC_09118.dir/build.make CMakeFiles/cmTC_09118.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-5yRppE'
Building C object CMakeFiles/cmTC_09118.dir/SSIZE_T.c.o
/bin/gcc -w -D_DEFAULT_SOURCE -D_BSD_SOURCE -D_XOPEN_SOURCE=600 -std=gnu99 -o CMakeFiles/cmTC_09118.dir/SSIZE_T.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-5yRppE/SSIZE_T.c
Linking C executable cmTC_09118
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_09118.dir/link.txt --verbose=1
/bin/gcc -w CMakeFiles/cmTC_09118.dir/SSIZE_T.c.o -o cmTC_09118
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-5yRppE'
Determining size of uid_t passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-HTxXYN
Run Build Command(s):/bin/gmake -f Makefile cmTC_b58a9/fast && gmake -f CMakeFiles/cmTC_b58a9.dir/build.make CMakeFiles/cmTC_b58a9.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-HTxXYN'
Building C object CMakeFiles/cmTC_b58a9.dir/UID_T.c.o
/bin/gcc -w -D_DEFAULT_SOURCE -D_BSD_SOURCE -D_XOPEN_SOURCE=600 -std=gnu99 -o CMakeFiles/cmTC_b58a9.dir/UID_T.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-HTxXYN/UID_T.c
Linking C executable cmTC_b58a9
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_b58a9.dir/link.txt --verbose=1
/bin/gcc -w CMakeFiles/cmTC_b58a9.dir/UID_T.c.o -o cmTC_b58a9
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-HTxXYN'
Determining size of pid_t passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-3WtTJX
Run Build Command(s):/bin/gmake -f Makefile cmTC_0bac3/fast && gmake -f CMakeFiles/cmTC_0bac3.dir/build.make CMakeFiles/cmTC_0bac3.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-3WtTJX'
Building C object CMakeFiles/cmTC_0bac3.dir/PID_T.c.o
/bin/gcc -w -D_DEFAULT_SOURCE -D_BSD_SOURCE -D_XOPEN_SOURCE=600 -std=gnu99 -o CMakeFiles/cmTC_0bac3.dir/PID_T.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-3WtTJX/PID_T.c
Linking C executable cmTC_0bac3
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_0bac3.dir/link.txt --verbose=1
/bin/gcc -w CMakeFiles/cmTC_0bac3.dir/PID_T.c.o -o cmTC_0bac3
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-3WtTJX'
Determining size of wchar_t passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-ZvxiF7
Run Build Command(s):/bin/gmake -f Makefile cmTC_25f52/fast && gmake -f CMakeFiles/cmTC_25f52.dir/build.make CMakeFiles/cmTC_25f52.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-ZvxiF7'
Building C object CMakeFiles/cmTC_25f52.dir/SIZEOF_WCHAR_T.c.o
/bin/gcc -w -D_DEFAULT_SOURCE -D_BSD_SOURCE -D_XOPEN_SOURCE=600 -std=gnu99 -o CMakeFiles/cmTC_25f52.dir/SIZEOF_WCHAR_T.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-ZvxiF7/SIZEOF_WCHAR_T.c
Linking C executable cmTC_25f52
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_25f52.dir/link.txt --verbose=1
/bin/gcc -w CMakeFiles/cmTC_25f52.dir/SIZEOF_WCHAR_T.c.o -o cmTC_25f52
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-ZvxiF7'
Checking support for ARCHIVE_CRYPTO_MD5_LIBC failed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeTmp
Run Build Command(s):/bin/gmake -f Makefile cmTC_08db6/fast && gmake -f CMakeFiles/cmTC_08db6.dir/build.make CMakeFiles/cmTC_08db6.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeTmp'
Building C object CMakeFiles/cmTC_08db6.dir/check_crypto_md.c.o
/bin/gcc -I/usr/src/cmake-3.25.0 -I/usr/src/cmake-3.25.0/Utilities/cmlibarchive/libarchive -I/usr/src/cmake-3.25.0/CMakeFiles/CMakeTmp -I/usr/src/cmake-3.25.0/Utilities -w -std=gnu99 -o CMakeFiles/cmTC_08db6.dir/check_crypto_md.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeTmp/check_crypto_md.c
In file included from /usr/src/cmake-3.25.0/CMakeFiles/CMakeTmp/check_crypto_md.c:1204:0:
/usr/src/cmake-3.25.0/Utilities/cmlibarchive/libarchive/archive_digest_private.h:64:17: fatal error: md5.h: No such file or directory
#include <md5.h>
^
compilation terminated.
gmake[1]: *** [CMakeFiles/cmTC_08db6.dir/check_crypto_md.c.o] Error 1
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeTmp'
gmake: *** [cmTC_08db6/fast] Error 2
Source file was:
/* config.h. Generated from build/cmake/config.h.in by cmake configure */
#define __LIBARCHIVE_CONFIG_H_INCLUDED 1
#if defined(__osf__)
# define _OSF_SOURCE
#endif
/*
* Ensure we have C99-style int64_t, etc, all defined.
*/
/* Define ZLIB_WINAPI if zlib was built on Visual Studio. */
/* #undef ZLIB_WINAPI */
/* Darwin ACL support */
/* #undef ARCHIVE_ACL_DARWIN */
/* FreeBSD ACL support */
/* #undef ARCHIVE_ACL_FREEBSD */
/* FreeBSD NFSv4 ACL support */
/* #undef ARCHIVE_ACL_FREEBSD_NFS4 */
/* Linux POSIX.1e ACL support via libacl */
/* #undef ARCHIVE_ACL_LIBACL */
/* Linux NFSv4 ACL support via librichacl */
/* #undef ARCHIVE_ACL_LIBRICHACL */
/* Solaris ACL support */
/* #undef ARCHIVE_ACL_SUNOS */
/* Solaris NFSv4 ACL support */
/* #undef ARCHIVE_ACL_SUNOS_NFS4 */
/* MD5 via ARCHIVE_CRYPTO_MD5_LIBC supported. */
/* #undef ARCHIVE_CRYPTO_MD5_LIBC */
/* MD5 via ARCHIVE_CRYPTO_MD5_LIBSYSTEM supported. */
/* #undef ARCHIVE_CRYPTO_MD5_LIBSYSTEM */
/* MD5 via ARCHIVE_CRYPTO_MD5_NETTLE supported. */
/* #undef ARCHIVE_CRYPTO_MD5_NETTLE */
/* MD5 via ARCHIVE_CRYPTO_MD5_OPENSSL supported. */
/* #undef ARCHIVE_CRYPTO_MD5_OPENSSL */
/* MD5 via ARCHIVE_CRYPTO_MD5_WIN supported. */
/* #undef ARCHIVE_CRYPTO_MD5_WIN */
/* RMD160 via ARCHIVE_CRYPTO_RMD160_LIBC supported. */
/* #undef ARCHIVE_CRYPTO_RMD160_LIBC */
/* RMD160 via ARCHIVE_CRYPTO_RMD160_NETTLE supported. */
/* #undef ARCHIVE_CRYPTO_RMD160_NETTLE */
/* RMD160 via ARCHIVE_CRYPTO_RMD160_OPENSSL supported. */
/* #undef ARCHIVE_CRYPTO_RMD160_OPENSSL */
/* SHA1 via ARCHIVE_CRYPTO_SHA1_LIBC supported. */
/* #undef ARCHIVE_CRYPTO_SHA1_LIBC */
/* SHA1 via ARCHIVE_CRYPTO_SHA1_LIBSYSTEM supported. */
/* #undef ARCHIVE_CRYPTO_SHA1_LIBSYSTEM */
/* SHA1 via ARCHIVE_CRYPTO_SHA1_NETTLE supported. */
/* #undef ARCHIVE_CRYPTO_SHA1_NETTLE */
/* SHA1 via ARCHIVE_CRYPTO_SHA1_OPENSSL supported. */
/* #undef ARCHIVE_CRYPTO_SHA1_OPENSSL */
/* SHA1 via ARCHIVE_CRYPTO_SHA1_WIN supported. */
/* #undef ARCHIVE_CRYPTO_SHA1_WIN */
/* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBC supported. */
/* #undef ARCHIVE_CRYPTO_SHA256_LIBC */
/* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBC2 supported. */
/* #undef ARCHIVE_CRYPTO_SHA256_LIBC2 */
/* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBC3 supported. */
/* #undef ARCHIVE_CRYPTO_SHA256_LIBC3 */
/* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBSYSTEM supported. */
/* #undef ARCHIVE_CRYPTO_SHA256_LIBSYSTEM */
/* SHA256 via ARCHIVE_CRYPTO_SHA256_NETTLE supported. */
/* #undef ARCHIVE_CRYPTO_SHA256_NETTLE */
/* SHA256 via ARCHIVE_CRYPTO_SHA256_OPENSSL supported. */
/* #undef ARCHIVE_CRYPTO_SHA256_OPENSSL */
/* SHA256 via ARCHIVE_CRYPTO_SHA256_WIN supported. */
/* #undef ARCHIVE_CRYPTO_SHA256_WIN */
/* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBC supported. */
/* #undef ARCHIVE_CRYPTO_SHA384_LIBC */
/* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBC2 supported. */
/* #undef ARCHIVE_CRYPTO_SHA384_LIBC2 */
/* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBC3 supported. */
/* #undef ARCHIVE_CRYPTO_SHA384_LIBC3 */
/* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBSYSTEM supported. */
/* #undef ARCHIVE_CRYPTO_SHA384_LIBSYSTEM */
/* SHA384 via ARCHIVE_CRYPTO_SHA384_NETTLE supported. */
/* #undef ARCHIVE_CRYPTO_SHA384_NETTLE */
/* SHA384 via ARCHIVE_CRYPTO_SHA384_OPENSSL supported. */
/* #undef ARCHIVE_CRYPTO_SHA384_OPENSSL */
/* SHA384 via ARCHIVE_CRYPTO_SHA384_WIN supported. */
/* #undef ARCHIVE_CRYPTO_SHA384_WIN */
/* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBC supported. */
/* #undef ARCHIVE_CRYPTO_SHA512_LIBC */
/* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBC2 supported. */
/* #undef ARCHIVE_CRYPTO_SHA512_LIBC2 */
/* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBC3 supported. */
/* #undef ARCHIVE_CRYPTO_SHA512_LIBC3 */
/* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBSYSTEM supported. */
/* #undef ARCHIVE_CRYPTO_SHA512_LIBSYSTEM */
/* SHA512 via ARCHIVE_CRYPTO_SHA512_NETTLE supported. */
/* #undef ARCHIVE_CRYPTO_SHA512_NETTLE */
/* SHA512 via ARCHIVE_CRYPTO_SHA512_OPENSSL supported. */
/* #undef ARCHIVE_CRYPTO_SHA512_OPENSSL */
/* SHA512 via ARCHIVE_CRYPTO_SHA512_WIN supported. */
/* #undef ARCHIVE_CRYPTO_SHA512_WIN */
/* AIX xattr support */
/* #undef ARCHIVE_XATTR_AIX */
/* Darwin xattr support */
/* #undef ARCHIVE_XATTR_DARWIN */
/* FreeBSD xattr support */
/* #undef ARCHIVE_XATTR_FREEBSD */
/* Linux xattr support */
/* #undef ARCHIVE_XATTR_LINUX */
/* Version number of bsdcpio */
#define BSDCPIO_VERSION_STRING "3.6.0"
/* Version number of bsdtar */
#define BSDTAR_VERSION_STRING "3.6.0"
/* Version number of bsdcat */
#define BSDCAT_VERSION_STRING "3.6.0"
/* Define to 1 if you have the `acl_create_entry' function. */
/* #undef HAVE_ACL_CREATE_ENTRY */
/* Define to 1 if you have the `acl_get_fd_np' function. */
/* #undef HAVE_ACL_GET_FD_NP */
/* Define to 1 if you have the `acl_get_link' function. */
/* #undef HAVE_ACL_GET_LINK */
/* Define to 1 if you have the `acl_get_link_np' function. */
/* #undef HAVE_ACL_GET_LINK_NP */
/* Define to 1 if you have the `acl_get_perm' function. */
/* #undef HAVE_ACL_GET_PERM */
/* Define to 1 if you have the `acl_get_perm_np' function. */
/* #undef HAVE_ACL_GET_PERM_NP */
/* Define to 1 if you have the `acl_init' function. */
/* #undef HAVE_ACL_INIT */
/* Define to 1 if you have the <acl/libacl.h> header file. */
/* #undef HAVE_ACL_LIBACL_H */
/* Define to 1 if the system has the type `acl_permset_t'. */
/* #undef HAVE_ACL_PERMSET_T */
/* Define to 1 if you have the `acl_set_fd' function. */
/* #undef HAVE_ACL_SET_FD */
/* Define to 1 if you have the `acl_set_fd_np' function. */
/* #undef HAVE_ACL_SET_FD_NP */
/* Define to 1 if you have the `acl_set_file' function. */
/* #undef HAVE_ACL_SET_FILE */
/* Define to 1 if you have the `arc4random_buf' function. */
/* #undef HAVE_ARC4RANDOM_BUF */
/* Define to 1 if you have the <attr/xattr.h> header file. */
/* #undef HAVE_ATTR_XATTR_H */
/* Define to 1 if you have the <Bcrypt.h> header file. */
/* #undef HAVE_BCRYPT_H */
/* Define to 1 if you have the <bsdxml.h> header file. */
/* #undef HAVE_BSDXML_H */
/* Define to 1 if you have the <bzlib.h> header file. */
#define HAVE_BZLIB_H 1
/* Define to 1 if you have the `chflags' function. */
/* #undef HAVE_CHFLAGS */
/* Define to 1 if you have the `chown' function. */
#define HAVE_CHOWN 1
/* Define to 1 if you have the `chroot' function. */
#define HAVE_CHROOT 1
/* Define to 1 if you have the <copyfile.h> header file. */
/* #undef HAVE_COPYFILE_H */
/* Define to 1 if you have the `ctime_r' function. */
#define HAVE_CTIME_R 1
/* Define to 1 if you have the <ctype.h> header file. */
#define HAVE_CTYPE_H 1
/* Define to 1 if you have the `cygwin_conv_path' function. */
/* #undef HAVE_CYGWIN_CONV_PATH */
/* Define to 1 if you have the declaration of `ACE_GETACL', and to 0 if you
don't. */
/* #undef HAVE_DECL_ACE_GETACL */
/* Define to 1 if you have the declaration of `ACE_GETACLCNT', and to 0 if you
don't. */
/* #undef HAVE_DECL_ACE_GETACLCNT */
/* Define to 1 if you have the declaration of `ACE_SETACL', and to 0 if you
don't. */
/* #undef HAVE_DECL_ACE_SETACL */
/* Define to 1 if you have the declaration of `ACL_SYNCHRONIZE', and to 0 if
you don't. */
/* #undef HAVE_DECL_ACL_SYNCHRONIZE */
/* Define to 1 if you have the declaration of `ACL_TYPE_EXTENDED', and to 0 if
you don't. */
/* #undef HAVE_DECL_ACL_TYPE_EXTENDED */
/* Define to 1 if you have the declaration of `ACL_TYPE_NFS4', and to 0 if you
don't. */
/* #undef HAVE_DECL_ACL_TYPE_NFS4 */
/* Define to 1 if you have the declaration of `ACL_USER', and to 0 if you
don't. */
/* #undef HAVE_DECL_ACL_USER */
/* Define to 1 if you have the declaration of `SETACL', and to 0 if you don't.
*/
/* #undef HAVE_DECL_SETACL */
/* Define to 1 if you have the declaration of `strerror_r', and to 0 if you
don't. */
#define HAVE_DECL_STRERROR_R 1
/* Define to 1 if you have the declaration of `XATTR_NOFOLLOW', and to 0 if
you don't. */
/* #undef HAVE_DECL_XATTR_NOFOLLOW */
/* Define to 1 if you have the <direct.h> header file. */
/* #undef HAVE_DIRECT_H */
/* Define to 1 if you have the <dirent.h> header file, and it defines `DIR'.
*/
#define HAVE_DIRENT_H 1
/* Define to 1 if you have the `dirfd' function. */
#define HAVE_DIRFD 1
/* Define to 1 if you have the <dlfcn.h> header file. */
#define HAVE_DLFCN_H 1
/* Define to 1 if you don't have `vprintf' but do have `_doprnt.' */
/* #undef HAVE_DOPRNT */
/* Define to 1 if nl_langinfo supports D_MD_ORDER */
/* #undef HAVE_D_MD_ORDER */
/* A possible errno value for invalid file format errors */
/* #undef HAVE_EFTYPE */
/* A possible errno value for invalid file format errors */
#define HAVE_EILSEQ 1
/* Define to 1 if you have the <errno.h> header file. */
#define HAVE_ERRNO_H 1
/* Define to 1 if you have the <expat.h> header file. */
/* #undef HAVE_EXPAT_H */
/* Define to 1 if you have the <ext2fs/ext2_fs.h> header file. */
#define HAVE_EXT2FS_EXT2_FS_H 1
/* Define to 1 if you have the `extattr_get_file' function. */
/* #undef HAVE_EXTATTR_GET_FILE */
/* Define to 1 if you have the `extattr_list_file' function. */
/* #undef HAVE_EXTATTR_LIST_FILE */
/* Define to 1 if you have the `extattr_set_fd' function. */
/* #undef HAVE_EXTATTR_SET_FD */
/* Define to 1 if you have the `extattr_set_file' function. */
/* #undef HAVE_EXTATTR_SET_FILE */
/* Define to 1 if EXTATTR_NAMESPACE_USER is defined in sys/extattr.h. */
/* #undef HAVE_DECL_EXTATTR_NAMESPACE_USER */
/* Define to 1 if you have the declaration of `GETACL', and to 0 if you don't.
*/
/* #undef HAVE_DECL_GETACL */
/* Define to 1 if you have the declaration of `GETACLCNT', and to 0 if you
don't. */
/* #undef HAVE_DECL_GETACLCNT */
/* Define to 1 if you have the `fchdir' function. */
#define HAVE_FCHDIR 1
/* Define to 1 if you have the `fchflags' function. */
/* #undef HAVE_FCHFLAGS */
/* Define to 1 if you have the `fchmod' function. */
#define HAVE_FCHMOD 1
/* Define to 1 if you have the `fchown' function. */
#define HAVE_FCHOWN 1
/* Define to 1 if you have the `fcntl' function. */
#define HAVE_FCNTL 1
/* Define to 1 if you have the <fcntl.h> header file. */
#define HAVE_FCNTL_H 1
/* Define to 1 if you have the `fdopendir' function. */
#define HAVE_FDOPENDIR 1
/* Define to 1 if you have the `fgetea' function. */
/* #undef HAVE_FGETEA */
/* Define to 1 if you have the `fgetxattr' function. */
/* #undef HAVE_FGETXATTR */
/* Define to 1 if you have the `flistea' function. */
/* #undef HAVE_FLISTEA */
/* Define to 1 if you have the `flistxattr' function. */
/* #undef HAVE_FLISTXATTR */
/* Define to 1 if you have the `fork' function. */
#define HAVE_FORK 1
/* Define to 1 if fseeko (and presumably ftello) exists and is declared. */
#define HAVE_FSEEKO 1
/* Define to 1 if you have the `fsetea' function. */
/* #undef HAVE_FSETEA */
/* Define to 1 if you have the `fsetxattr' function. */
#define HAVE_FSETXATTR 1
/* Define to 1 if you have the `fstat' function. */
#define HAVE_FSTAT 1
/* Define to 1 if you have the `fstatat' function. */
#define HAVE_FSTATAT 1
/* Define to 1 if you have the `fstatfs' function. */
#define HAVE_FSTATFS 1
/* Define to 1 if you have the `fstatvfs' function. */
#define HAVE_FSTATVFS 1
/* Define to 1 if you have the `ftruncate' function. */
#define HAVE_FTRUNCATE 1
/* Define to 1 if you have the `futimens' function. */
#define HAVE_FUTIMENS 1
/* Define to 1 if you have the `futimes' function. */
#define HAVE_FUTIMES 1
/* Define to 1 if you have the `futimesat' function. */
#define HAVE_FUTIMESAT 1
/* Define to 1 if you have the `getea' function. */
/* #undef HAVE_GETEA */
/* Define to 1 if you have the `geteuid' function. */
#define HAVE_GETEUID 1
/* Define to 1 if you have the `getgrgid_r' function. */
#define HAVE_GETGRGID_R 1
/* Define to 1 if you have the `getgrnam_r' function. */
#define HAVE_GETGRNAM_R 1
/* Define to 1 if you have the `getpid' function. */
#define HAVE_GETPID 1
/* Define to 1 if you have the `getpwnam_r' function. */
#define HAVE_GETPWNAM_R 1
/* Define to 1 if you have the `getpwuid_r' function. */
#define HAVE_GETPWUID_R 1
/* Define to 1 if you have the `getvfsbyname' function. */
/* #undef HAVE_GETVFSBYNAME */
/* Define to 1 if you have the `getxattr' function. */
/* #undef HAVE_GETXATTR */
/* Define to 1 if you have the `gmtime_r' function. */
#define HAVE_GMTIME_R 1
/* Define to 1 if you have the <grp.h> header file. */
#define HAVE_GRP_H 1
/* Define to 1 if you have the `iconv' function. */
/* #undef HAVE_ICONV */
/* Define to 1 if you have the <iconv.h> header file. */
/* #undef HAVE_ICONV_H */
/* Define to 1 if you have the <io.h> header file. */
/* #undef HAVE_IO_H */
/* Define to 1 if you have the <langinfo.h> header file. */
#define HAVE_LANGINFO_H 1
/* Define to 1 if you have the `lchflags' function. */
/* #undef HAVE_LCHFLAGS */
/* Define to 1 if you have the `lchmod' function. */
/* #undef HAVE_LCHMOD */
/* Define to 1 if you have the `lchown' function. */
#define HAVE_LCHOWN 1
/* Define to 1 if you have the `lgetea' function. */
/* #undef HAVE_LGETEA */
/* Define to 1 if you have the `lgetxattr' function. */
/* #undef HAVE_LGETXATTR */
/* Define to 1 if you have the `acl' library (-lacl). */
/* #undef HAVE_LIBACL */
/* Define to 1 if you have the `attr' library (-lattr). */
/* #undef HAVE_LIBATTR */
/* Define to 1 if you have the `bsdxml' library (-lbsdxml). */
/* #undef HAVE_LIBBSDXML */
/* Define to 1 if you have the `bz2' library (-lbz2). */
#define HAVE_LIBBZ2 1
/* Define to 1 if you have the `b2' library (-lb2). */
/* #undef HAVE_LIBB2 */
/* Define to 1 if you have the <blake2.h> header file. */
/* #undef HAVE_BLAKE2_H */
/* Define to 1 if you have the `charset' library (-lcharset). */
/* #undef HAVE_LIBCHARSET */
/* Define to 1 if you have the `crypto' library (-lcrypto). */
#define HAVE_LIBCRYPTO 1
/* Define to 1 if you have the `expat' library (-lexpat). */
/* #undef HAVE_LIBEXPAT */
/* Define to 1 if you have the `gcc' library (-lgcc). */
/* #undef HAVE_LIBGCC */
/* Define to 1 if you have the `lz4' library (-llz4). */
/* #undef HAVE_LIBLZ4 */
/* Define to 1 if you have the `lzma' library (-llzma). */
#define HAVE_LIBLZMA 1
/* Define to 1 if you have the `lzmadec' library (-llzmadec). */
/* #undef HAVE_LIBLZMADEC */
/* Define to 1 if you have the `lzo2' library (-llzo2). */
/* #undef HAVE_LIBLZO2 */
/* Define to 1 if you have the `mbedcrypto' library (-lmbedcrypto). */
/* #undef HAVE_LIBMBEDCRYPTO */
/* Define to 1 if you have the `nettle' library (-lnettle). */
/* #undef HAVE_LIBNETTLE */
/* Define to 1 if you have the `pcre' library (-lpcre). */
/* #undef HAVE_LIBPCRE */
/* Define to 1 if you have the `pcreposix' library (-lpcreposix). */
/* #undef HAVE_LIBPCREPOSIX */
/* Define to 1 if you have the `xml2' library (-lxml2). */
/* #undef HAVE_LIBXML2 */
/* Define to 1 if you have the <libxml/xmlreader.h> header file. */
/* #undef HAVE_LIBXML_XMLREADER_H */
/* Define to 1 if you have the <libxml/xmlwriter.h> header file. */
/* #undef HAVE_LIBXML_XMLWRITER_H */
/* Define to 1 if you have the `z' library (-lz). */
#define HAVE_LIBZ 1
/* Define to 1 if you have the `zstd' library (-lzstd). */
#define HAVE_LIBZSTD 1
/* Define to 1 if you have the `zstd' library (-lzstd) with compression
support. */
#define HAVE_LIBZSTD_COMPRESSOR 1
/* Define to 1 if you have the <limits.h> header file. */
#define HAVE_LIMITS_H 1
/* Define to 1 if you have the `link' function. */
#define HAVE_LINK 1
/* Define to 1 if you have the `linkat' function. */
#define HAVE_LINKAT 1
/* Define to 1 if you have the <linux/fiemap.h> header file. */
#define HAVE_LINUX_FIEMAP_H 1
/* Define to 1 if you have the <linux/fs.h> header file. */
#define HAVE_LINUX_FS_H 1
/* Define to 1 if you have the <linux/magic.h> header file. */
#define HAVE_LINUX_MAGIC_H 1
/* Define to 1 if you have the <linux/types.h> header file. */
#define HAVE_LINUX_TYPES_H 1
/* Define to 1 if you have the `listea' function. */
/* #undef HAVE_LISTEA */
/* Define to 1 if you have the `listxattr' function. */
/* #undef HAVE_LISTXATTR */
/* Define to 1 if you have the `llistea' function. */
/* #undef HAVE_LLISTEA */
/* Define to 1 if you have the `llistxattr' function. */
/* #undef HAVE_LLISTXATTR */
/* Define to 1 if you have the <localcharset.h> header file. */
/* #undef HAVE_LOCALCHARSET_H */
/* Define to 1 if you have the `locale_charset' function. */
/* #undef HAVE_LOCALE_CHARSET */
/* Define to 1 if you have the <locale.h> header file. */
#define HAVE_LOCALE_H 1
/* Define to 1 if you have the `localtime_r' function. */
#define HAVE_LOCALTIME_R 1
/* Define to 1 if the system has the type `long long int'. */
/* #undef HAVE_LONG_LONG_INT */
/* Define to 1 if you have the `lsetea' function. */
/* #undef HAVE_LSETEA */
/* Define to 1 if you have the `lsetxattr' function. */
/* #undef HAVE_LSETXATTR */
/* Define to 1 if you have the `lstat' function. */
#define HAVE_LSTAT 1
/* Define to 1 if `lstat' has the bug that it succeeds when given the
zero-length file name argument. */
/* #undef HAVE_LSTAT_EMPTY_STRING_BUG */
/* Define to 1 if you have the `lutimes' function. */
#define HAVE_LUTIMES 1
/* Define to 1 if you have the <lz4hc.h> header file. */
/* #undef HAVE_LZ4HC_H */
/* Define to 1 if you have the <lz4.h> header file. */
/* #undef HAVE_LZ4_H */
/* Define to 1 if you have the <lzmadec.h> header file. */
/* #undef HAVE_LZMADEC_H */
/* Define to 1 if you have the <lzma.h> header file. */
#define HAVE_LZMA_H 1
/* Define to 1 if you have a working `lzma_stream_encoder_mt' function. */
#define HAVE_LZMA_STREAM_ENCODER_MT 1
/* Define to 1 if you have the <lzo/lzo1x.h> header file. */
/* #undef HAVE_LZO_LZO1X_H */
/* Define to 1 if you have the <lzo/lzoconf.h> header file. */
/* #undef HAVE_LZO_LZOCONF_H */
/* Define to 1 if you have the `mbrtowc' function. */
#define HAVE_MBRTOWC 1
/* Define to 1 if you have the <membership.h> header file. */
/* #undef HAVE_MEMBERSHIP_H */
/* Define to 1 if you have the `memmove' function. */
#define HAVE_MEMMOVE 1
/* Define to 1 if you have the <memory.h> header file. */
#define HAVE_MEMORY_H 1
/* Define to 1 if you have the `mkdir' function. */
#define HAVE_MKDIR 1
/* Define to 1 if you have the `mkfifo' function. */
#define HAVE_MKFIFO 1
/* Define to 1 if you have the `mknod' function. */
#define HAVE_MKNOD 1
/* Define to 1 if you have the `mkstemp' function. */
#define HAVE_MKSTEMP 1
/* Define to 1 if you have the <ndir.h> header file, and it defines `DIR'. */
/* #undef HAVE_NDIR_H */
/* Define to 1 if you have the <nettle/aes.h> header file. */
/* #undef HAVE_NETTLE_AES_H */
/* Define to 1 if you have the <nettle/hmac.h> header file. */
/* #undef HAVE_NETTLE_HMAC_H */
/* Define to 1 if you have the <nettle/md5.h> header file. */
/* #undef HAVE_NETTLE_MD5_H */
/* Define to 1 if you have the <nettle/pbkdf2.h> header file. */
/* #undef HAVE_NETTLE_PBKDF2_H */
/* Define to 1 if you have the <nettle/ripemd160.h> header file. */
/* #undef HAVE_NETTLE_RIPEMD160_H */
/* Define to 1 if you have the <nettle/sha.h> header file. */
/* #undef HAVE_NETTLE_SHA_H */
/* Define to 1 if you have the `nl_langinfo' function. */
#define HAVE_NL_LANGINFO 1
/* Define to 1 if you have the `openat' function. */
#define HAVE_OPENAT 1
/* Define to 1 if you have the <paths.h> header file. */
#define HAVE_PATHS_H 1
/* Define to 1 if you have the <pcreposix.h> header file. */
/* #undef HAVE_PCREPOSIX_H */
/* Define to 1 if you have the `pipe' function. */
#define HAVE_PIPE 1
/* Define to 1 if you have the `PKCS5_PBKDF2_HMAC_SHA1' function. */
/* #undef HAVE_PKCS5_PBKDF2_HMAC_SHA1 */
/* Define to 1 if you have the `poll' function. */
#define HAVE_POLL 1
/* Define to 1 if you have the <poll.h> header file. */
#define HAVE_POLL_H 1
/* Define to 1 if you have the `posix_spawnp' function. */
#define HAVE_POSIX_SPAWNP 1
/* Define to 1 if you have the <process.h> header file. */
/* #undef HAVE_PROCESS_H */
/* Define to 1 if you have the <pthread.h> header file. */
#define HAVE_PTHREAD_H 1
/* Define to 1 if you have the <pwd.h> header file. */
#define HAVE_PWD_H 1
/* Define to 1 if you have the `readdir_r' function. */
#define HAVE_READDIR_R 1
/* Define to 1 if you have the `readlink' function. */
#define HAVE_READLINK 1
/* Define to 1 if you have the `readlinkat' function. */
/* #undef HAVE_READLINKAT */
/* Define to 1 if you have the `readpassphrase' function. */
/* #undef HAVE_READPASSPHRASE */
/* Define to 1 if you have the <readpassphrase.h> header file. */
/* #undef HAVE_READPASSPHRASE_H */
/* Define to 1 if you have the <regex.h> header file. */
#define HAVE_REGEX_H 1
/* Define to 1 if you have the `select' function. */
#define HAVE_SELECT 1
/* Define to 1 if you have the `setenv' function. */
#define HAVE_SETENV 1
/* Define to 1 if you have the `setlocale' function. */
#define HAVE_SETLOCALE 1
/* Define to 1 if you have the `sigaction' function. */
#define HAVE_SIGACTION 1
/* Define to 1 if you have the <signal.h> header file. */
#define HAVE_SIGNAL_H 1
/* Define to 1 if you have the <spawn.h> header file. */
#define HAVE_SPAWN_H 1
/* Define to 1 if you have the `statfs' function. */
#define HAVE_STATFS 1
/* Define to 1 if you have the `statvfs' function. */
#define HAVE_STATVFS 1
/* Define to 1 if `stat' has the bug that it succeeds when given the
zero-length file name argument. */
/* #undef HAVE_STAT_EMPTY_STRING_BUG */
/* Define to 1 if you have the <stdarg.h> header file. */
#define HAVE_STDARG_H 1
/* Define to 1 if you have the <stdlib.h> header file. */
#define HAVE_STDLIB_H 1
/* Define to 1 if you have the `strchr' function. */
#define HAVE_STRCHR 1
/* Define to 1 if you have the `strnlen' function. */
#define HAVE_STRNLEN 1
/* Define to 1 if you have the `strdup' function. */
#define HAVE_STRDUP 1
/* Define to 1 if you have the `strerror' function. */
#define HAVE_STRERROR 1
/* Define to 1 if you have the `strerror_r' function. */
#define HAVE_STRERROR_R 1
/* Define to 1 if you have the `strftime' function. */
#define HAVE_STRFTIME 1
/* Define to 1 if you have the <strings.h> header file. */
#define HAVE_STRINGS_H 1
/* Define to 1 if you have the <string.h> header file. */
#define HAVE_STRING_H 1
/* Define to 1 if you have the `strrchr' function. */
#define HAVE_STRRCHR 1
/* Define to 1 if `f_namemax' is a member of `struct statfs'. */
/* #undef HAVE_STRUCT_STATFS_F_NAMEMAX */
/* Define to 1 if `f_iosize' is a member of `struct statvfs'. */
/* #undef HAVE_STRUCT_STATVFS_F_IOSIZE */
/* Define to 1 if `st_birthtime' is a member of `struct stat'. */
/* #undef HAVE_STRUCT_STAT_ST_BIRTHTIME */
/* Define to 1 if `st_birthtimespec.tv_nsec' is a member of `struct stat'. */
/* #undef HAVE_STRUCT_STAT_ST_BIRTHTIMESPEC_TV_NSEC */
/* Define to 1 if `st_blksize' is a member of `struct stat'. */
#define HAVE_STRUCT_STAT_ST_BLKSIZE 1
/* Define to 1 if `st_flags' is a member of `struct stat'. */
/* #undef HAVE_STRUCT_STAT_ST_FLAGS */
/* Define to 1 if `st_mtimespec.tv_nsec' is a member of `struct stat'. */
/* #undef HAVE_STRUCT_STAT_ST_MTIMESPEC_TV_NSEC */
/* Define to 1 if `st_mtime_n' is a member of `struct stat'. */
/* #undef HAVE_STRUCT_STAT_ST_MTIME_N */
/* Define to 1 if `st_mtime_usec' is a member of `struct stat'. */
/* #undef HAVE_STRUCT_STAT_ST_MTIME_USEC */
/* Define to 1 if `st_mtim.tv_nsec' is a member of `struct stat'. */
#define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1
/* Define to 1 if `st_umtime' is a member of `struct stat'. */
/* #undef HAVE_STRUCT_STAT_ST_UMTIME */
/* Define to 1 if `tm_gmtoff' is a member of `struct tm'. */
#define HAVE_STRUCT_TM_TM_GMTOFF 1
/* Define to 1 if `__tm_gmtoff' is a member of `struct tm'. */
/* #undef HAVE_STRUCT_TM___TM_GMTOFF */
/* Define to 1 if you have `struct vfsconf'. */
/* #undef HAVE_STRUCT_VFSCONF */
/* Define to 1 if you have `struct xvfsconf'. */
/* #undef HAVE_STRUCT_XVFSCONF */
/* Define to 1 if you have the `symlink' function. */
#define HAVE_SYMLINK 1
/* Define to 1 if you have the <sys/acl.h> header file. */
/* #undef HAVE_SYS_ACL_H */
/* Define to 1 if you have the <sys/cdefs.h> header file. */
#define HAVE_SYS_CDEFS_H 1
/* Define to 1 if you have the <sys/dir.h> header file, and it defines `DIR'.
*/
/* #undef HAVE_SYS_DIR_H */
/* Define to 1 if you have the <sys/ea.h> header file. */
/* #undef HAVE_SYS_EA_H */
/* Define to 1 if you have the <sys/extattr.h> header file. */
/* #undef HAVE_SYS_EXTATTR_H */
/* Define to 1 if you have the <sys/ioctl.h> header file. */
#define HAVE_SYS_IOCTL_H 1
/* Define to 1 if you have the <sys/mkdev.h> header file. */
/* #undef HAVE_SYS_MKDEV_H */
/* Define to 1 if you have the <sys/mount.h> header file. */
/* #undef HAVE_SYS_MOUNT_H */
/* Define to 1 if you have the <sys/ndir.h> header file, and it defines `DIR'.
*/
/* #undef HAVE_SYS_NDIR_H */
/* Define to 1 if you have the <sys/param.h> header file. */
#define HAVE_SYS_PARAM_H 1
/* Define to 1 if you have the <sys/poll.h> header file. */
#define HAVE_SYS_POLL_H 1
/* Define to 1 if you have the <sys/richacl.h> header file. */
/* #undef HAVE_SYS_RICHACL_H */
/* Define to 1 if you have the <sys/select.h> header file. */
#define HAVE_SYS_SELECT_H 1
/* Define to 1 if you have the <sys/statfs.h> header file. */
#define HAVE_SYS_STATFS_H 1
/* Define to 1 if you have the <sys/statvfs.h> header file. */
#define HAVE_SYS_STATVFS_H 1
/* Define to 1 if you have the <sys/stat.h> header file. */
#define HAVE_SYS_STAT_H 1
/* Define to 1 if you have the <sys/sysmacros.h> header file. */
#define HAVE_SYS_SYSMACROS_H 1
/* Define to 1 if you have the <sys/time.h> header file. */
#define HAVE_SYS_TIME_H 1
/* Define to 1 if you have the <sys/types.h> header file. */
#define HAVE_SYS_TYPES_H 1
/* Define to 1 if you have the <sys/utime.h> header file. */
/* #undef HAVE_SYS_UTIME_H */
/* Define to 1 if you have the <sys/utsname.h> header file. */
#define HAVE_SYS_UTSNAME_H 1
/* Define to 1 if you have the <sys/vfs.h> header file. */
#define HAVE_SYS_VFS_H 1
/* Define to 1 if you have <sys/wait.h> that is POSIX.1 compatible. */
#define HAVE_SYS_WAIT_H 1
/* Define to 1 if you have the <sys/xattr.h> header file. */
#define HAVE_SYS_XATTR_H 1
/* Define to 1 if you have the `timegm' function. */
#define HAVE_TIMEGM 1
/* Define to 1 if you have the <time.h> header file. */
#define HAVE_TIME_H 1
/* Define to 1 if you have the `tzset' function. */
#define HAVE_TZSET 1
/* Define to 1 if you have the <unistd.h> header file. */
#define HAVE_UNISTD_H 1
/* Define to 1 if you have the `unlinkat' function. */
#define HAVE_UNLINKAT 1
/* Define to 1 if you have the `unsetenv' function. */
#define HAVE_UNSETENV 1
/* Define to 1 if the system has the type `unsigned long long'. */
/* #undef HAVE_UNSIGNED_LONG_LONG */
/* Define to 1 if the system has the type `unsigned long long int'. */
/* #undef HAVE_UNSIGNED_LONG_LONG_INT */
/* Define to 1 if you have the `utime' function. */
#define HAVE_UTIME 1
/* Define to 1 if you have the `utimensat' function. */
#define HAVE_UTIMENSAT 1
/* Define to 1 if you have the `utimes' function. */
#define HAVE_UTIMES 1
/* Define to 1 if you have the <utime.h> header file. */
#define HAVE_UTIME_H 1
/* Define to 1 if you have the `vfork' function. */
#define HAVE_VFORK 1
/* Define to 1 if you have the `vprintf' function. */
#define HAVE_VPRINTF 1
/* Define to 1 if you have the <wchar.h> header file. */
#define HAVE_WCHAR_H 1
/* Define to 1 if the system has the type `wchar_t'. */
#define HAVE_WCHAR_T 1
/* Define to 1 if you have the `wcrtomb' function. */
#define HAVE_WCRTOMB 1
/* Define to 1 if you have the `wcscmp' function. */
#define HAVE_WCSCMP 1
/* Define to 1 if you have the `wcscpy' function. */
#define HAVE_WCSCPY 1
/* Define to 1 if you have the `wcslen' function. */
#define HAVE_WCSLEN 1
/* Define to 1 if you have the `wctomb' function. */
#define HAVE_WCTOMB 1
/* Define to 1 if you have the <wctype.h> header file. */
#define HAVE_WCTYPE_H 1
/* Define to 1 if you have the <wincrypt.h> header file. */
/* #undef HAVE_WINCRYPT_H */
/* Define to 1 if you have the <windows.h> header file. */
/* #undef HAVE_WINDOWS_H */
/* Define to 1 if you have the <winioctl.h> header file. */
/* #undef HAVE_WINIOCTL_H */
/* Define to 1 if you have _CrtSetReportMode in <crtdbg.h> */
/* #undef HAVE__CrtSetReportMode */
/* Define to 1 if you have the `wmemcmp' function. */
#define HAVE_WMEMCMP 1
/* Define to 1 if you have the `wmemcpy' function. */
#define HAVE_WMEMCPY 1
/* Define to 1 if you have the `wmemmove' function. */
#define HAVE_WMEMMOVE 1
/* Define to 1 if you have a working EXT2_IOC_GETFLAGS */
#define HAVE_WORKING_EXT2_IOC_GETFLAGS 1
/* Define to 1 if you have a working FS_IOC_GETFLAGS */
#define HAVE_WORKING_FS_IOC_GETFLAGS 1
/* Define to 1 if you have the <zlib.h> header file. */
#define HAVE_ZLIB_H 1
/* Define to 1 if you have the <zstd.h> header file. */
#define HAVE_ZSTD_H 1
/* Define to 1 if you have the `_ctime64_s' function. */
/* #undef HAVE__CTIME64_S */
/* Define to 1 if you have the `_fseeki64' function. */
/* #undef HAVE__FSEEKI64 */
/* Define to 1 if you have the `_get_timezone' function. */
/* #undef HAVE__GET_TIMEZONE */
/* Define to 1 if you have the `_gmtime64_s' function. */
/* #undef HAVE__GMTIME64_S */
/* Define to 1 if you have the `_localtime64_s' function. */
/* #undef HAVE__LOCALTIME64_S */
/* Define to 1 if you have the `_mkgmtime64' function. */
/* #undef HAVE__MKGMTIME64 */
/* Define as const if the declaration of iconv() needs const. */
#define ICONV_CONST
/* Version number of libarchive as a single integer */
#define LIBARCHIVE_VERSION_NUMBER "3006000"
/* Version number of libarchive */
#define LIBARCHIVE_VERSION_STRING "3.6.0"
/* Define to 1 if `lstat' dereferences a symlink specified with a trailing
slash. */
/* #undef LSTAT_FOLLOWS_SLASHED_SYMLINK */
/* Define to 1 if `major', `minor', and `makedev' are declared in <mkdev.h>.
*/
/* #undef MAJOR_IN_MKDEV */
/* Define to 1 if `major', `minor', and `makedev' are declared in
<sysmacros.h>. */
#define MAJOR_IN_SYSMACROS 1
/* Define to 1 if your C compiler doesn't accept -c and -o together. */
/* #undef NO_MINUS_C_MINUS_O */
/* The size of `wchar_t', as computed by sizeof. */
#define SIZEOF_WCHAR_T 4
/* Define to 1 if strerror_r returns char *. */
/* #undef STRERROR_R_CHAR_P */
/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
#define TIME_WITH_SYS_TIME 1
/*
* Some platform requires a macro to use extension functions.
*/
#define SAFE_TO_DEFINE_EXTENSIONS 1
#ifdef SAFE_TO_DEFINE_EXTENSIONS
/* Enable extensions on AIX 3, Interix. */
#ifndef _ALL_SOURCE
# define _ALL_SOURCE 1
#endif
/* Enable GNU extensions on systems that have them. */
#ifndef _GNU_SOURCE
# define _GNU_SOURCE 1
#endif
/* Enable threading extensions on Solaris. */
#ifndef _POSIX_PTHREAD_SEMANTICS
# define _POSIX_PTHREAD_SEMANTICS 1
#endif
/* Enable extensions on HP NonStop. */
#ifndef _TANDEM_SOURCE
# define _TANDEM_SOURCE 1
#endif
/* Enable general extensions on Solaris. */
#ifndef __EXTENSIONS__
# define __EXTENSIONS__ 1
#endif
#endif /* SAFE_TO_DEFINE_EXTENSIONS */
/* Version number of package */
#define VERSION "3.6.0"
/* Number of bits in a file offset, on hosts where this is settable. */
/* #undef _FILE_OFFSET_BITS */
/* Define to 1 to make fseeko visible on some hosts (e.g. glibc 2.2). */
/* #undef _LARGEFILE_SOURCE */
/* Define for large files, on AIX-style hosts. */
/* #undef _LARGE_FILES */
/* Define to control Windows SDK version */
#ifndef NTDDI_VERSION
/* #undef NTDDI_VERSION */
#endif // NTDDI_VERSION
#ifndef _WIN32_WINNT
/* #undef _WIN32_WINNT */
#endif // _WIN32_WINNT
#ifndef WINVER
/* #undef WINVER */
#endif // WINVER
/* Define to empty if `const' does not conform to ANSI C. */
/* #undef const */
/* Define to `int' if <sys/types.h> doesn't define. */
/* #undef gid_t */
/* Define to `unsigned long' if <sys/types.h> does not define. */
/* #undef id_t */
/* Define to `int' if <sys/types.h> does not define. */
/* #undef mode_t */
/* Define to `long long' if <sys/types.h> does not define. */
/* #undef off_t */
/* Define to `int' if <sys/types.h> doesn't define. */
/* #undef pid_t */
/* Define to `unsigned int' if <sys/types.h> does not define. */
/* #undef size_t */
/* Define to `int' if <sys/types.h> does not define. */
/* #undef ssize_t */
/* Define to `int' if <sys/types.h> doesn't define. */
/* #undef uid_t */
#include <cm3p/kwiml/int.h>
#ifndef KWIML_INT_HAVE_INT64_T
typedef KWIML_INT_int64_t int64_t;
#endif
#ifndef KWIML_INT_HAVE_INT32_T
typedef KWIML_INT_int32_t int32_t;
#endif
#ifndef KWIML_INT_HAVE_INT16_T
typedef KWIML_INT_int16_t int16_t;
#endif
#ifndef KWIML_INT_HAVE_INT8_T
typedef KWIML_INT_int8_t int8_t;
#endif
#ifndef KWIML_INT_HAVE_INTPTR_T
typedef KWIML_INT_intptr_t intptr_t;
#endif
#ifndef KWIML_INT_HAVE_UINT64_T
typedef KWIML_INT_uint64_t uint64_t;
#endif
#ifndef KWIML_INT_HAVE_UINT32_T
typedef KWIML_INT_uint32_t uint32_t;
#endif
#ifndef KWIML_INT_HAVE_UINT16_T
typedef KWIML_INT_uint16_t uint16_t;
#endif
#ifndef KWIML_INT_HAVE_UINT8_T
typedef KWIML_INT_uint8_t uint8_t;
#endif
#ifndef KWIML_INT_HAVE_UINTPTR_T
typedef KWIML_INT_uintptr_t uintptr_t;
#endif
/* Define to 1 if you have the <stdint.h> header file. */
#ifdef KWIML_INT_HAVE_STDINT_H
# define HAVE_STDINT_H 1
#endif
/* Define to 1 if you have the <inttypes.h> header file. */
#ifdef KWIML_INT_HAVE_INTTYPES_H
# define HAVE_INTTYPES_H 1
#endif
#define ARCHIVE_MD5_COMPILE_TEST
#define ARCHIVE_CRYPTO_MD5_LIBC
#define PLATFORM_CONFIG_H "check_crypto_md.h"
/*-
* Copyright (c) 2003-2007 Tim Kientzle
* Copyright (c) 2011 Andres Mejia
* Copyright (c) 2011 Michihiro NAKAJIMA
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR(S) ``AS IS'' AND ANY EXPRESS OR
* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
* IN NO EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
#include "archive_platform.h"
#include "archive.h"
#include "archive_digest_private.h"
/* In particular, force the configure probe to break if it tries
* to test a combination of OpenSSL and libmd. */
#if defined(ARCHIVE_CRYPTO_OPENSSL) && defined(ARCHIVE_CRYPTO_LIBMD)
#error Cannot use both OpenSSL and libmd.
#endif
/*
* Message digest functions for Windows platform.
*/
#if defined(ARCHIVE_CRYPTO_MD5_WIN) ||\
defined(ARCHIVE_CRYPTO_SHA1_WIN) ||\
defined(ARCHIVE_CRYPTO_SHA256_WIN) ||\
defined(ARCHIVE_CRYPTO_SHA384_WIN) ||\
defined(ARCHIVE_CRYPTO_SHA512_WIN)
/*
* Initialize a Message digest.
*/
static int
win_crypto_init(Digest_CTX *ctx, ALG_ID algId)
{
ctx->valid = 0;
if (!CryptAcquireContext(&ctx->cryptProv, NULL, NULL,
PROV_RSA_FULL, CRYPT_VERIFYCONTEXT)) {
if (GetLastError() != (DWORD)NTE_BAD_KEYSET)
return (ARCHIVE_FAILED);
if (!CryptAcquireContext(&ctx->cryptProv, NULL, NULL,
PROV_RSA_FULL, CRYPT_NEWKEYSET))
return (ARCHIVE_FAILED);
}
if (!CryptCreateHash(ctx->cryptProv, algId, 0, 0, &ctx->hash)) {
CryptReleaseContext(ctx->cryptProv, 0);
return (ARCHIVE_FAILED);
}
ctx->valid = 1;
return (ARCHIVE_OK);
}
/*
* Update a Message digest.
*/
static int
win_crypto_Update(Digest_CTX *ctx, const unsigned char *buf, size_t len)
{
if (!ctx->valid)
return (ARCHIVE_FAILED);
CryptHashData(ctx->hash,
(unsigned char *)(uintptr_t)buf,
(DWORD)len, 0);
return (ARCHIVE_OK);
}
static int
win_crypto_Final(unsigned char *buf, size_t bufsize, Digest_CTX *ctx)
{
DWORD siglen = (DWORD)bufsize;
if (!ctx->valid)
return (ARCHIVE_FAILED);
CryptGetHashParam(ctx->hash, HP_HASHVAL, buf, &siglen, 0);
CryptDestroyHash(ctx->hash);
CryptReleaseContext(ctx->cryptProv, 0);
ctx->valid = 0;
return (ARCHIVE_OK);
}
#endif /* defined(ARCHIVE_CRYPTO_*_WIN) */
/* MD5 implementations */
#if defined(ARCHIVE_CRYPTO_MD5_LIBC)
static int
__archive_md5init(archive_md5_ctx *ctx)
{
MD5Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_md5update(archive_md5_ctx *ctx, const void *indata,
size_t insize)
{
MD5Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_md5final(archive_md5_ctx *ctx, void *md)
{
MD5Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_MD5_LIBMD)
static int
__archive_md5init(archive_md5_ctx *ctx)
{
MD5Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_md5update(archive_md5_ctx *ctx, const void *indata,
size_t insize)
{
MD5Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_md5final(archive_md5_ctx *ctx, void *md)
{
MD5Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_MD5_LIBSYSTEM)
static int
__archive_md5init(archive_md5_ctx *ctx)
{
CC_MD5_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_md5update(archive_md5_ctx *ctx, const void *indata,
size_t insize)
{
CC_MD5_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_md5final(archive_md5_ctx *ctx, void *md)
{
CC_MD5_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_MD5_MBEDTLS)
static int
__archive_md5init(archive_md5_ctx *ctx)
{
mbedtls_md5_init(ctx);
if (mbedtls_md5_starts_ret(ctx) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_md5update(archive_md5_ctx *ctx, const void *indata,
size_t insize)
{
if (mbedtls_md5_update_ret(ctx, indata, insize) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_md5final(archive_md5_ctx *ctx, void *md)
{
if (mbedtls_md5_finish_ret(ctx, md) == 0) {
mbedtls_md5_free(ctx);
return (ARCHIVE_OK);
} else {
mbedtls_md5_free(ctx);
return (ARCHIVE_FATAL);
}
}
#elif defined(ARCHIVE_CRYPTO_MD5_NETTLE)
static int
__archive_md5init(archive_md5_ctx *ctx)
{
md5_init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_md5update(archive_md5_ctx *ctx, const void *indata,
size_t insize)
{
md5_update(ctx, insize, indata);
return (ARCHIVE_OK);
}
static int
__archive_md5final(archive_md5_ctx *ctx, void *md)
{
md5_digest(ctx, MD5_DIGEST_SIZE, md);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_MD5_OPENSSL)
static int
__archive_md5init(archive_md5_ctx *ctx)
{
if ((*ctx = EVP_MD_CTX_new()) == NULL)
return (ARCHIVE_FAILED);
EVP_DigestInit(*ctx, EVP_md5());
return (ARCHIVE_OK);
}
static int
__archive_md5update(archive_md5_ctx *ctx, const void *indata,
size_t insize)
{
EVP_DigestUpdate(*ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_md5final(archive_md5_ctx *ctx, void *md)
{
/* HACK: archive_write_set_format_xar.c is finalizing empty contexts, so
* this is meant to cope with that. Real fix is probably to fix
* archive_write_set_format_xar.c
*/
if (*ctx) {
EVP_DigestFinal(*ctx, md, NULL);
EVP_MD_CTX_free(*ctx);
*ctx = NULL;
}
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_MD5_WIN)
static int
__archive_md5init(archive_md5_ctx *ctx)
{
return (win_crypto_init(ctx, CALG_MD5));
}
static int
__archive_md5update(archive_md5_ctx *ctx, const void *indata,
size_t insize)
{
return (win_crypto_Update(ctx, indata, insize));
}
static int
__archive_md5final(archive_md5_ctx *ctx, void *md)
{
return (win_crypto_Final(md, 16, ctx));
}
#else
static int
__archive_md5init(archive_md5_ctx *ctx)
{
(void)ctx; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_md5update(archive_md5_ctx *ctx, const void *indata,
size_t insize)
{
(void)ctx; /* UNUSED */
(void)indata; /* UNUSED */
(void)insize; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_md5final(archive_md5_ctx *ctx, void *md)
{
(void)ctx; /* UNUSED */
(void)md; /* UNUSED */
return (ARCHIVE_FAILED);
}
#endif
/* RIPEMD160 implementations */
#if defined(ARCHIVE_CRYPTO_RMD160_LIBC)
static int
__archive_ripemd160init(archive_rmd160_ctx *ctx)
{
RMD160Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata,
size_t insize)
{
RMD160Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_ripemd160final(archive_rmd160_ctx *ctx, void *md)
{
RMD160Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_RMD160_LIBMD)
static int
__archive_ripemd160init(archive_rmd160_ctx *ctx)
{
RIPEMD160_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata,
size_t insize)
{
RIPEMD160_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_ripemd160final(archive_rmd160_ctx *ctx, void *md)
{
RIPEMD160_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_RMD160_MBEDTLS)
static int
__archive_ripemd160init(archive_rmd160_ctx *ctx)
{
mbedtls_ripemd160_init(ctx);
if (mbedtls_ripemd160_starts_ret(ctx) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata,
size_t insize)
{
if (mbedtls_ripemd160_update_ret(ctx, indata, insize) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_ripemd160final(archive_rmd160_ctx *ctx, void *md)
{
if (mbedtls_ripemd160_finish_ret(ctx, md) == 0) {
mbedtls_ripemd160_free(ctx);
return (ARCHIVE_OK);
} else {
mbedtls_ripemd160_free(ctx);
return (ARCHIVE_FATAL);
}
}
#elif defined(ARCHIVE_CRYPTO_RMD160_NETTLE)
static int
__archive_ripemd160init(archive_rmd160_ctx *ctx)
{
ripemd160_init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata,
size_t insize)
{
ripemd160_update(ctx, insize, indata);
return (ARCHIVE_OK);
}
static int
__archive_ripemd160final(archive_rmd160_ctx *ctx, void *md)
{
ripemd160_digest(ctx, RIPEMD160_DIGEST_SIZE, md);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_RMD160_OPENSSL)
static int
__archive_ripemd160init(archive_rmd160_ctx *ctx)
{
if ((*ctx = EVP_MD_CTX_new()) == NULL)
return (ARCHIVE_FAILED);
EVP_DigestInit(*ctx, EVP_ripemd160());
return (ARCHIVE_OK);
}
static int
__archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata,
size_t insize)
{
EVP_DigestUpdate(*ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_ripemd160final(archive_rmd160_ctx *ctx, void *md)
{
if (*ctx) {
EVP_DigestFinal(*ctx, md, NULL);
EVP_MD_CTX_free(*ctx);
*ctx = NULL;
}
return (ARCHIVE_OK);
}
#else
static int
__archive_ripemd160init(archive_rmd160_ctx *ctx)
{
(void)ctx; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata,
size_t insize)
{
(void)ctx; /* UNUSED */
(void)indata; /* UNUSED */
(void)insize; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_ripemd160final(archive_rmd160_ctx *ctx, void *md)
{
(void)ctx; /* UNUSED */
(void)md; /* UNUSED */
return (ARCHIVE_FAILED);
}
#endif
/* SHA1 implementations */
#if defined(ARCHIVE_CRYPTO_SHA1_LIBC)
static int
__archive_sha1init(archive_sha1_ctx *ctx)
{
SHA1Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha1update(archive_sha1_ctx *ctx, const void *indata,
size_t insize)
{
SHA1Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha1final(archive_sha1_ctx *ctx, void *md)
{
SHA1Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA1_LIBMD)
static int
__archive_sha1init(archive_sha1_ctx *ctx)
{
SHA1_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha1update(archive_sha1_ctx *ctx, const void *indata,
size_t insize)
{
SHA1_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha1final(archive_sha1_ctx *ctx, void *md)
{
SHA1_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA1_LIBSYSTEM)
static int
__archive_sha1init(archive_sha1_ctx *ctx)
{
CC_SHA1_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha1update(archive_sha1_ctx *ctx, const void *indata,
size_t insize)
{
CC_SHA1_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha1final(archive_sha1_ctx *ctx, void *md)
{
CC_SHA1_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA1_MBEDTLS)
static int
__archive_sha1init(archive_sha1_ctx *ctx)
{
mbedtls_sha1_init(ctx);
if (mbedtls_sha1_starts_ret(ctx) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_sha1update(archive_sha1_ctx *ctx, const void *indata,
size_t insize)
{
if (mbedtls_sha1_update_ret(ctx, indata, insize) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_sha1final(archive_sha1_ctx *ctx, void *md)
{
if (mbedtls_sha1_finish_ret(ctx, md) == 0) {
mbedtls_sha1_free(ctx);
return (ARCHIVE_OK);
} else {
mbedtls_sha1_free(ctx);
return (ARCHIVE_FATAL);
}
}
#elif defined(ARCHIVE_CRYPTO_SHA1_NETTLE)
static int
__archive_sha1init(archive_sha1_ctx *ctx)
{
sha1_init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha1update(archive_sha1_ctx *ctx, const void *indata,
size_t insize)
{
sha1_update(ctx, insize, indata);
return (ARCHIVE_OK);
}
static int
__archive_sha1final(archive_sha1_ctx *ctx, void *md)
{
sha1_digest(ctx, SHA1_DIGEST_SIZE, md);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA1_OPENSSL)
static int
__archive_sha1init(archive_sha1_ctx *ctx)
{
if ((*ctx = EVP_MD_CTX_new()) == NULL)
return (ARCHIVE_FAILED);
EVP_DigestInit(*ctx, EVP_sha1());
return (ARCHIVE_OK);
}
static int
__archive_sha1update(archive_sha1_ctx *ctx, const void *indata,
size_t insize)
{
EVP_DigestUpdate(*ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha1final(archive_sha1_ctx *ctx, void *md)
{
/* HACK: archive_write_set_format_xar.c is finalizing empty contexts, so
* this is meant to cope with that. Real fix is probably to fix
* archive_write_set_format_xar.c
*/
if (*ctx) {
EVP_DigestFinal(*ctx, md, NULL);
EVP_MD_CTX_free(*ctx);
*ctx = NULL;
}
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA1_WIN)
static int
__archive_sha1init(archive_sha1_ctx *ctx)
{
return (win_crypto_init(ctx, CALG_SHA1));
}
static int
__archive_sha1update(archive_sha1_ctx *ctx, const void *indata,
size_t insize)
{
return (win_crypto_Update(ctx, indata, insize));
}
static int
__archive_sha1final(archive_sha1_ctx *ctx, void *md)
{
return (win_crypto_Final(md, 20, ctx));
}
#else
static int
__archive_sha1init(archive_sha1_ctx *ctx)
{
(void)ctx; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_sha1update(archive_sha1_ctx *ctx, const void *indata,
size_t insize)
{
(void)ctx; /* UNUSED */
(void)indata; /* UNUSED */
(void)insize; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_sha1final(archive_sha1_ctx *ctx, void *md)
{
(void)ctx; /* UNUSED */
(void)md; /* UNUSED */
return (ARCHIVE_FAILED);
}
#endif
/* SHA256 implementations */
#if defined(ARCHIVE_CRYPTO_SHA256_LIBC)
static int
__archive_sha256init(archive_sha256_ctx *ctx)
{
SHA256_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha256update(archive_sha256_ctx *ctx, const void *indata,
size_t insize)
{
SHA256_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha256final(archive_sha256_ctx *ctx, void *md)
{
SHA256_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA256_LIBC2)
static int
__archive_sha256init(archive_sha256_ctx *ctx)
{
SHA256Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha256update(archive_sha256_ctx *ctx, const void *indata,
size_t insize)
{
SHA256Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha256final(archive_sha256_ctx *ctx, void *md)
{
SHA256Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA256_LIBC3)
static int
__archive_sha256init(archive_sha256_ctx *ctx)
{
SHA256Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha256update(archive_sha256_ctx *ctx, const void *indata,
size_t insize)
{
SHA256Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha256final(archive_sha256_ctx *ctx, void *md)
{
SHA256Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA256_LIBMD)
static int
__archive_sha256init(archive_sha256_ctx *ctx)
{
SHA256_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha256update(archive_sha256_ctx *ctx, const void *indata,
size_t insize)
{
SHA256_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha256final(archive_sha256_ctx *ctx, void *md)
{
SHA256_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA256_LIBSYSTEM)
static int
__archive_sha256init(archive_sha256_ctx *ctx)
{
CC_SHA256_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha256update(archive_sha256_ctx *ctx, const void *indata,
size_t insize)
{
CC_SHA256_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha256final(archive_sha256_ctx *ctx, void *md)
{
CC_SHA256_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA256_MBEDTLS)
static int
__archive_sha256init(archive_sha256_ctx *ctx)
{
mbedtls_sha256_init(ctx);
if (mbedtls_sha256_starts_ret(ctx, 0) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_sha256update(archive_sha256_ctx *ctx, const void *indata,
size_t insize)
{
if (mbedtls_sha256_update_ret(ctx, indata, insize) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_sha256final(archive_sha256_ctx *ctx, void *md)
{
if (mbedtls_sha256_finish_ret(ctx, md) == 0) {
mbedtls_sha256_free(ctx);
return (ARCHIVE_OK);
} else {
mbedtls_sha256_free(ctx);
return (ARCHIVE_FATAL);
}
}
#elif defined(ARCHIVE_CRYPTO_SHA256_NETTLE)
static int
__archive_sha256init(archive_sha256_ctx *ctx)
{
sha256_init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha256update(archive_sha256_ctx *ctx, const void *indata,
size_t insize)
{
sha256_update(ctx, insize, indata);
return (ARCHIVE_OK);
}
static int
__archive_sha256final(archive_sha256_ctx *ctx, void *md)
{
sha256_digest(ctx, SHA256_DIGEST_SIZE, md);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA256_OPENSSL)
static int
__archive_sha256init(archive_sha256_ctx *ctx)
{
if ((*ctx = EVP_MD_CTX_new()) == NULL)
return (ARCHIVE_FAILED);
EVP_DigestInit(*ctx, EVP_sha256());
return (ARCHIVE_OK);
}
static int
__archive_sha256update(archive_sha256_ctx *ctx, const void *indata,
size_t insize)
{
EVP_DigestUpdate(*ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha256final(archive_sha256_ctx *ctx, void *md)
{
if (*ctx) {
EVP_DigestFinal(*ctx, md, NULL);
EVP_MD_CTX_free(*ctx);
*ctx = NULL;
}
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA256_WIN)
static int
__archive_sha256init(archive_sha256_ctx *ctx)
{
return (win_crypto_init(ctx, CALG_SHA_256));
}
static int
__archive_sha256update(archive_sha256_ctx *ctx, const void *indata,
size_t insize)
{
return (win_crypto_Update(ctx, indata, insize));
}
static int
__archive_sha256final(archive_sha256_ctx *ctx, void *md)
{
return (win_crypto_Final(md, 32, ctx));
}
#else
static int
__archive_sha256init(archive_sha256_ctx *ctx)
{
(void)ctx; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_sha256update(archive_sha256_ctx *ctx, const void *indata,
size_t insize)
{
(void)ctx; /* UNUSED */
(void)indata; /* UNUSED */
(void)insize; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_sha256final(archive_sha256_ctx *ctx, void *md)
{
(void)ctx; /* UNUSED */
(void)md; /* UNUSED */
return (ARCHIVE_FAILED);
}
#endif
/* SHA384 implementations */
#if defined(ARCHIVE_CRYPTO_SHA384_LIBC)
static int
__archive_sha384init(archive_sha384_ctx *ctx)
{
SHA384_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha384update(archive_sha384_ctx *ctx, const void *indata,
size_t insize)
{
SHA384_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha384final(archive_sha384_ctx *ctx, void *md)
{
SHA384_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA384_LIBC2)
static int
__archive_sha384init(archive_sha384_ctx *ctx)
{
SHA384Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha384update(archive_sha384_ctx *ctx, const void *indata,
size_t insize)
{
SHA384Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha384final(archive_sha384_ctx *ctx, void *md)
{
SHA384Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA384_LIBC3)
static int
__archive_sha384init(archive_sha384_ctx *ctx)
{
SHA384Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha384update(archive_sha384_ctx *ctx, const void *indata,
size_t insize)
{
SHA384Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha384final(archive_sha384_ctx *ctx, void *md)
{
SHA384Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA384_LIBSYSTEM)
static int
__archive_sha384init(archive_sha384_ctx *ctx)
{
CC_SHA384_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha384update(archive_sha384_ctx *ctx, const void *indata,
size_t insize)
{
CC_SHA384_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha384final(archive_sha384_ctx *ctx, void *md)
{
CC_SHA384_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA384_MBEDTLS)
static int
__archive_sha384init(archive_sha384_ctx *ctx)
{
mbedtls_sha512_init(ctx);
if (mbedtls_sha512_starts_ret(ctx, 1) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_sha384update(archive_sha384_ctx *ctx, const void *indata,
size_t insize)
{
if (mbedtls_sha512_update_ret(ctx, indata, insize) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_sha384final(archive_sha384_ctx *ctx, void *md)
{
if (mbedtls_sha512_finish_ret(ctx, md) == 0) {
mbedtls_sha512_free(ctx);
return (ARCHIVE_OK);
} else {
mbedtls_sha512_free(ctx);
return (ARCHIVE_FATAL);
}
}
#elif defined(ARCHIVE_CRYPTO_SHA384_NETTLE)
static int
__archive_sha384init(archive_sha384_ctx *ctx)
{
sha384_init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha384update(archive_sha384_ctx *ctx, const void *indata,
size_t insize)
{
sha384_update(ctx, insize, indata);
return (ARCHIVE_OK);
}
static int
__archive_sha384final(archive_sha384_ctx *ctx, void *md)
{
sha384_digest(ctx, SHA384_DIGEST_SIZE, md);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA384_OPENSSL)
static int
__archive_sha384init(archive_sha384_ctx *ctx)
{
if ((*ctx = EVP_MD_CTX_new()) == NULL)
return (ARCHIVE_FAILED);
EVP_DigestInit(*ctx, EVP_sha384());
return (ARCHIVE_OK);
}
static int
__archive_sha384update(archive_sha384_ctx *ctx, const void *indata,
size_t insize)
{
EVP_DigestUpdate(*ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha384final(archive_sha384_ctx *ctx, void *md)
{
if (*ctx) {
EVP_DigestFinal(*ctx, md, NULL);
EVP_MD_CTX_free(*ctx);
*ctx = NULL;
}
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA384_WIN)
static int
__archive_sha384init(archive_sha384_ctx *ctx)
{
return (win_crypto_init(ctx, CALG_SHA_384));
}
static int
__archive_sha384update(archive_sha384_ctx *ctx, const void *indata,
size_t insize)
{
return (win_crypto_Update(ctx, indata, insize));
}
static int
__archive_sha384final(archive_sha384_ctx *ctx, void *md)
{
return (win_crypto_Final(md, 48, ctx));
}
#else
static int
__archive_sha384init(archive_sha384_ctx *ctx)
{
(void)ctx; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_sha384update(archive_sha384_ctx *ctx, const void *indata,
size_t insize)
{
(void)ctx; /* UNUSED */
(void)indata; /* UNUSED */
(void)insize; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_sha384final(archive_sha384_ctx *ctx, void *md)
{
(void)ctx; /* UNUSED */
(void)md; /* UNUSED */
return (ARCHIVE_FAILED);
}
#endif
/* SHA512 implementations */
#if defined(ARCHIVE_CRYPTO_SHA512_LIBC)
static int
__archive_sha512init(archive_sha512_ctx *ctx)
{
SHA512_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha512update(archive_sha512_ctx *ctx, const void *indata,
size_t insize)
{
SHA512_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha512final(archive_sha512_ctx *ctx, void *md)
{
SHA512_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA512_LIBC2)
static int
__archive_sha512init(archive_sha512_ctx *ctx)
{
SHA512Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha512update(archive_sha512_ctx *ctx, const void *indata,
size_t insize)
{
SHA512Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha512final(archive_sha512_ctx *ctx, void *md)
{
SHA512Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA512_LIBC3)
static int
__archive_sha512init(archive_sha512_ctx *ctx)
{
SHA512Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha512update(archive_sha512_ctx *ctx, const void *indata,
size_t insize)
{
SHA512Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha512final(archive_sha512_ctx *ctx, void *md)
{
SHA512Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA512_LIBMD)
static int
__archive_sha512init(archive_sha512_ctx *ctx)
{
SHA512_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha512update(archive_sha512_ctx *ctx, const void *indata,
size_t insize)
{
SHA512_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha512final(archive_sha512_ctx *ctx, void *md)
{
SHA512_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA512_LIBSYSTEM)
static int
__archive_sha512init(archive_sha512_ctx *ctx)
{
CC_SHA512_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha512update(archive_sha512_ctx *ctx, const void *indata,
size_t insize)
{
CC_SHA512_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha512final(archive_sha512_ctx *ctx, void *md)
{
CC_SHA512_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA512_MBEDTLS)
static int
__archive_sha512init(archive_sha512_ctx *ctx)
{
mbedtls_sha512_init(ctx);
if (mbedtls_sha512_starts_ret(ctx, 0) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_sha512update(archive_sha512_ctx *ctx, const void *indata,
size_t insize)
{
if (mbedtls_sha512_update_ret(ctx, indata, insize) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_sha512final(archive_sha512_ctx *ctx, void *md)
{
if (mbedtls_sha512_finish_ret(ctx, md) == 0) {
mbedtls_sha512_free(ctx);
return (ARCHIVE_OK);
} else {
mbedtls_sha512_free(ctx);
return (ARCHIVE_FATAL);
}
}
#elif defined(ARCHIVE_CRYPTO_SHA512_NETTLE)
static int
__archive_sha512init(archive_sha512_ctx *ctx)
{
sha512_init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha512update(archive_sha512_ctx *ctx, const void *indata,
size_t insize)
{
sha512_update(ctx, insize, indata);
return (ARCHIVE_OK);
}
static int
__archive_sha512final(archive_sha512_ctx *ctx, void *md)
{
sha512_digest(ctx, SHA512_DIGEST_SIZE, md);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA512_OPENSSL)
static int
__archive_sha512init(archive_sha512_ctx *ctx)
{
if ((*ctx = EVP_MD_CTX_new()) == NULL)
return (ARCHIVE_FAILED);
EVP_DigestInit(*ctx, EVP_sha512());
return (ARCHIVE_OK);
}
static int
__archive_sha512update(archive_sha512_ctx *ctx, const void *indata,
size_t insize)
{
EVP_DigestUpdate(*ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha512final(archive_sha512_ctx *ctx, void *md)
{
if (*ctx) {
EVP_DigestFinal(*ctx, md, NULL);
EVP_MD_CTX_free(*ctx);
*ctx = NULL;
}
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA512_WIN)
static int
__archive_sha512init(archive_sha512_ctx *ctx)
{
return (win_crypto_init(ctx, CALG_SHA_512));
}
static int
__archive_sha512update(archive_sha512_ctx *ctx, const void *indata,
size_t insize)
{
return (win_crypto_Update(ctx, indata, insize));
}
static int
__archive_sha512final(archive_sha512_ctx *ctx, void *md)
{
return (win_crypto_Final(md, 64, ctx));
}
#else
static int
__archive_sha512init(archive_sha512_ctx *ctx)
{
(void)ctx; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_sha512update(archive_sha512_ctx *ctx, const void *indata,
size_t insize)
{
(void)ctx; /* UNUSED */
(void)indata; /* UNUSED */
(void)insize; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_sha512final(archive_sha512_ctx *ctx, void *md)
{
(void)ctx; /* UNUSED */
(void)md; /* UNUSED */
return (ARCHIVE_FAILED);
}
#endif
/* NOTE: Message Digest functions are set based on availability and by the
* following order of preference.
* 1. libc
* 2. libc2
* 3. libc3
* 4. libSystem
* 5. Nettle
* 6. OpenSSL
* 7. libmd
* 8. Windows API
*/
const struct archive_digest __archive_digest =
{
/* MD5 */
&__archive_md5init,
&__archive_md5update,
&__archive_md5final,
/* RIPEMD160 */
&__archive_ripemd160init,
&__archive_ripemd160update,
&__archive_ripemd160final,
/* SHA1 */
&__archive_sha1init,
&__archive_sha1update,
&__archive_sha1final,
/* SHA256 */
&__archive_sha256init,
&__archive_sha256update,
&__archive_sha256final,
/* SHA384 */
&__archive_sha384init,
&__archive_sha384update,
&__archive_sha384final,
/* SHA512 */
&__archive_sha512init,
&__archive_sha512update,
&__archive_sha512final
};
int
main(int argc, char **argv)
{
archive_md5_ctx ctx;
archive_md5_init(&ctx);
archive_md5_update(&ctx, *argv, argc);
archive_md5_final(&ctx, NULL);
return 0;
}
Checking support for ARCHIVE_CRYPTO_RMD160_LIBC failed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeTmp
Run Build Command(s):/bin/gmake -f Makefile cmTC_1ccc3/fast && gmake -f CMakeFiles/cmTC_1ccc3.dir/build.make CMakeFiles/cmTC_1ccc3.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeTmp'
Building C object CMakeFiles/cmTC_1ccc3.dir/check_crypto_md.c.o
/bin/gcc -I/usr/src/cmake-3.25.0 -I/usr/src/cmake-3.25.0/Utilities/cmlibarchive/libarchive -I/usr/src/cmake-3.25.0/CMakeFiles/CMakeTmp -I/usr/src/cmake-3.25.0/Utilities -w -std=gnu99 -o CMakeFiles/cmTC_1ccc3.dir/check_crypto_md.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeTmp/check_crypto_md.c
In file included from /usr/src/cmake-3.25.0/CMakeFiles/CMakeTmp/check_crypto_md.c:1204:0:
/usr/src/cmake-3.25.0/Utilities/cmlibarchive/libarchive/archive_digest_private.h:67:20: fatal error: rmd160.h: No such file or directory
#include <rmd160.h>
^
compilation terminated.
gmake[1]: *** [CMakeFiles/cmTC_1ccc3.dir/check_crypto_md.c.o] Error 1
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeTmp'
gmake: *** [cmTC_1ccc3/fast] Error 2
Source file was:
/* config.h. Generated from build/cmake/config.h.in by cmake configure */
#define __LIBARCHIVE_CONFIG_H_INCLUDED 1
#if defined(__osf__)
# define _OSF_SOURCE
#endif
/*
* Ensure we have C99-style int64_t, etc, all defined.
*/
/* Define ZLIB_WINAPI if zlib was built on Visual Studio. */
/* #undef ZLIB_WINAPI */
/* Darwin ACL support */
/* #undef ARCHIVE_ACL_DARWIN */
/* FreeBSD ACL support */
/* #undef ARCHIVE_ACL_FREEBSD */
/* FreeBSD NFSv4 ACL support */
/* #undef ARCHIVE_ACL_FREEBSD_NFS4 */
/* Linux POSIX.1e ACL support via libacl */
/* #undef ARCHIVE_ACL_LIBACL */
/* Linux NFSv4 ACL support via librichacl */
/* #undef ARCHIVE_ACL_LIBRICHACL */
/* Solaris ACL support */
/* #undef ARCHIVE_ACL_SUNOS */
/* Solaris NFSv4 ACL support */
/* #undef ARCHIVE_ACL_SUNOS_NFS4 */
/* MD5 via ARCHIVE_CRYPTO_MD5_LIBC supported. */
/* #undef ARCHIVE_CRYPTO_MD5_LIBC */
/* MD5 via ARCHIVE_CRYPTO_MD5_LIBSYSTEM supported. */
/* #undef ARCHIVE_CRYPTO_MD5_LIBSYSTEM */
/* MD5 via ARCHIVE_CRYPTO_MD5_NETTLE supported. */
/* #undef ARCHIVE_CRYPTO_MD5_NETTLE */
/* MD5 via ARCHIVE_CRYPTO_MD5_OPENSSL supported. */
/* #undef ARCHIVE_CRYPTO_MD5_OPENSSL */
/* MD5 via ARCHIVE_CRYPTO_MD5_WIN supported. */
/* #undef ARCHIVE_CRYPTO_MD5_WIN */
/* RMD160 via ARCHIVE_CRYPTO_RMD160_LIBC supported. */
/* #undef ARCHIVE_CRYPTO_RMD160_LIBC */
/* RMD160 via ARCHIVE_CRYPTO_RMD160_NETTLE supported. */
/* #undef ARCHIVE_CRYPTO_RMD160_NETTLE */
/* RMD160 via ARCHIVE_CRYPTO_RMD160_OPENSSL supported. */
/* #undef ARCHIVE_CRYPTO_RMD160_OPENSSL */
/* SHA1 via ARCHIVE_CRYPTO_SHA1_LIBC supported. */
/* #undef ARCHIVE_CRYPTO_SHA1_LIBC */
/* SHA1 via ARCHIVE_CRYPTO_SHA1_LIBSYSTEM supported. */
/* #undef ARCHIVE_CRYPTO_SHA1_LIBSYSTEM */
/* SHA1 via ARCHIVE_CRYPTO_SHA1_NETTLE supported. */
/* #undef ARCHIVE_CRYPTO_SHA1_NETTLE */
/* SHA1 via ARCHIVE_CRYPTO_SHA1_OPENSSL supported. */
/* #undef ARCHIVE_CRYPTO_SHA1_OPENSSL */
/* SHA1 via ARCHIVE_CRYPTO_SHA1_WIN supported. */
/* #undef ARCHIVE_CRYPTO_SHA1_WIN */
/* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBC supported. */
/* #undef ARCHIVE_CRYPTO_SHA256_LIBC */
/* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBC2 supported. */
/* #undef ARCHIVE_CRYPTO_SHA256_LIBC2 */
/* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBC3 supported. */
/* #undef ARCHIVE_CRYPTO_SHA256_LIBC3 */
/* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBSYSTEM supported. */
/* #undef ARCHIVE_CRYPTO_SHA256_LIBSYSTEM */
/* SHA256 via ARCHIVE_CRYPTO_SHA256_NETTLE supported. */
/* #undef ARCHIVE_CRYPTO_SHA256_NETTLE */
/* SHA256 via ARCHIVE_CRYPTO_SHA256_OPENSSL supported. */
/* #undef ARCHIVE_CRYPTO_SHA256_OPENSSL */
/* SHA256 via ARCHIVE_CRYPTO_SHA256_WIN supported. */
/* #undef ARCHIVE_CRYPTO_SHA256_WIN */
/* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBC supported. */
/* #undef ARCHIVE_CRYPTO_SHA384_LIBC */
/* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBC2 supported. */
/* #undef ARCHIVE_CRYPTO_SHA384_LIBC2 */
/* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBC3 supported. */
/* #undef ARCHIVE_CRYPTO_SHA384_LIBC3 */
/* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBSYSTEM supported. */
/* #undef ARCHIVE_CRYPTO_SHA384_LIBSYSTEM */
/* SHA384 via ARCHIVE_CRYPTO_SHA384_NETTLE supported. */
/* #undef ARCHIVE_CRYPTO_SHA384_NETTLE */
/* SHA384 via ARCHIVE_CRYPTO_SHA384_OPENSSL supported. */
/* #undef ARCHIVE_CRYPTO_SHA384_OPENSSL */
/* SHA384 via ARCHIVE_CRYPTO_SHA384_WIN supported. */
/* #undef ARCHIVE_CRYPTO_SHA384_WIN */
/* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBC supported. */
/* #undef ARCHIVE_CRYPTO_SHA512_LIBC */
/* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBC2 supported. */
/* #undef ARCHIVE_CRYPTO_SHA512_LIBC2 */
/* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBC3 supported. */
/* #undef ARCHIVE_CRYPTO_SHA512_LIBC3 */
/* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBSYSTEM supported. */
/* #undef ARCHIVE_CRYPTO_SHA512_LIBSYSTEM */
/* SHA512 via ARCHIVE_CRYPTO_SHA512_NETTLE supported. */
/* #undef ARCHIVE_CRYPTO_SHA512_NETTLE */
/* SHA512 via ARCHIVE_CRYPTO_SHA512_OPENSSL supported. */
/* #undef ARCHIVE_CRYPTO_SHA512_OPENSSL */
/* SHA512 via ARCHIVE_CRYPTO_SHA512_WIN supported. */
/* #undef ARCHIVE_CRYPTO_SHA512_WIN */
/* AIX xattr support */
/* #undef ARCHIVE_XATTR_AIX */
/* Darwin xattr support */
/* #undef ARCHIVE_XATTR_DARWIN */
/* FreeBSD xattr support */
/* #undef ARCHIVE_XATTR_FREEBSD */
/* Linux xattr support */
/* #undef ARCHIVE_XATTR_LINUX */
/* Version number of bsdcpio */
#define BSDCPIO_VERSION_STRING "3.6.0"
/* Version number of bsdtar */
#define BSDTAR_VERSION_STRING "3.6.0"
/* Version number of bsdcat */
#define BSDCAT_VERSION_STRING "3.6.0"
/* Define to 1 if you have the `acl_create_entry' function. */
/* #undef HAVE_ACL_CREATE_ENTRY */
/* Define to 1 if you have the `acl_get_fd_np' function. */
/* #undef HAVE_ACL_GET_FD_NP */
/* Define to 1 if you have the `acl_get_link' function. */
/* #undef HAVE_ACL_GET_LINK */
/* Define to 1 if you have the `acl_get_link_np' function. */
/* #undef HAVE_ACL_GET_LINK_NP */
/* Define to 1 if you have the `acl_get_perm' function. */
/* #undef HAVE_ACL_GET_PERM */
/* Define to 1 if you have the `acl_get_perm_np' function. */
/* #undef HAVE_ACL_GET_PERM_NP */
/* Define to 1 if you have the `acl_init' function. */
/* #undef HAVE_ACL_INIT */
/* Define to 1 if you have the <acl/libacl.h> header file. */
/* #undef HAVE_ACL_LIBACL_H */
/* Define to 1 if the system has the type `acl_permset_t'. */
/* #undef HAVE_ACL_PERMSET_T */
/* Define to 1 if you have the `acl_set_fd' function. */
/* #undef HAVE_ACL_SET_FD */
/* Define to 1 if you have the `acl_set_fd_np' function. */
/* #undef HAVE_ACL_SET_FD_NP */
/* Define to 1 if you have the `acl_set_file' function. */
/* #undef HAVE_ACL_SET_FILE */
/* Define to 1 if you have the `arc4random_buf' function. */
/* #undef HAVE_ARC4RANDOM_BUF */
/* Define to 1 if you have the <attr/xattr.h> header file. */
/* #undef HAVE_ATTR_XATTR_H */
/* Define to 1 if you have the <Bcrypt.h> header file. */
/* #undef HAVE_BCRYPT_H */
/* Define to 1 if you have the <bsdxml.h> header file. */
/* #undef HAVE_BSDXML_H */
/* Define to 1 if you have the <bzlib.h> header file. */
#define HAVE_BZLIB_H 1
/* Define to 1 if you have the `chflags' function. */
/* #undef HAVE_CHFLAGS */
/* Define to 1 if you have the `chown' function. */
#define HAVE_CHOWN 1
/* Define to 1 if you have the `chroot' function. */
#define HAVE_CHROOT 1
/* Define to 1 if you have the <copyfile.h> header file. */
/* #undef HAVE_COPYFILE_H */
/* Define to 1 if you have the `ctime_r' function. */
#define HAVE_CTIME_R 1
/* Define to 1 if you have the <ctype.h> header file. */
#define HAVE_CTYPE_H 1
/* Define to 1 if you have the `cygwin_conv_path' function. */
/* #undef HAVE_CYGWIN_CONV_PATH */
/* Define to 1 if you have the declaration of `ACE_GETACL', and to 0 if you
don't. */
/* #undef HAVE_DECL_ACE_GETACL */
/* Define to 1 if you have the declaration of `ACE_GETACLCNT', and to 0 if you
don't. */
/* #undef HAVE_DECL_ACE_GETACLCNT */
/* Define to 1 if you have the declaration of `ACE_SETACL', and to 0 if you
don't. */
/* #undef HAVE_DECL_ACE_SETACL */
/* Define to 1 if you have the declaration of `ACL_SYNCHRONIZE', and to 0 if
you don't. */
/* #undef HAVE_DECL_ACL_SYNCHRONIZE */
/* Define to 1 if you have the declaration of `ACL_TYPE_EXTENDED', and to 0 if
you don't. */
/* #undef HAVE_DECL_ACL_TYPE_EXTENDED */
/* Define to 1 if you have the declaration of `ACL_TYPE_NFS4', and to 0 if you
don't. */
/* #undef HAVE_DECL_ACL_TYPE_NFS4 */
/* Define to 1 if you have the declaration of `ACL_USER', and to 0 if you
don't. */
/* #undef HAVE_DECL_ACL_USER */
/* Define to 1 if you have the declaration of `SETACL', and to 0 if you don't.
*/
/* #undef HAVE_DECL_SETACL */
/* Define to 1 if you have the declaration of `strerror_r', and to 0 if you
don't. */
#define HAVE_DECL_STRERROR_R 1
/* Define to 1 if you have the declaration of `XATTR_NOFOLLOW', and to 0 if
you don't. */
/* #undef HAVE_DECL_XATTR_NOFOLLOW */
/* Define to 1 if you have the <direct.h> header file. */
/* #undef HAVE_DIRECT_H */
/* Define to 1 if you have the <dirent.h> header file, and it defines `DIR'.
*/
#define HAVE_DIRENT_H 1
/* Define to 1 if you have the `dirfd' function. */
#define HAVE_DIRFD 1
/* Define to 1 if you have the <dlfcn.h> header file. */
#define HAVE_DLFCN_H 1
/* Define to 1 if you don't have `vprintf' but do have `_doprnt.' */
/* #undef HAVE_DOPRNT */
/* Define to 1 if nl_langinfo supports D_MD_ORDER */
/* #undef HAVE_D_MD_ORDER */
/* A possible errno value for invalid file format errors */
/* #undef HAVE_EFTYPE */
/* A possible errno value for invalid file format errors */
#define HAVE_EILSEQ 1
/* Define to 1 if you have the <errno.h> header file. */
#define HAVE_ERRNO_H 1
/* Define to 1 if you have the <expat.h> header file. */
/* #undef HAVE_EXPAT_H */
/* Define to 1 if you have the <ext2fs/ext2_fs.h> header file. */
#define HAVE_EXT2FS_EXT2_FS_H 1
/* Define to 1 if you have the `extattr_get_file' function. */
/* #undef HAVE_EXTATTR_GET_FILE */
/* Define to 1 if you have the `extattr_list_file' function. */
/* #undef HAVE_EXTATTR_LIST_FILE */
/* Define to 1 if you have the `extattr_set_fd' function. */
/* #undef HAVE_EXTATTR_SET_FD */
/* Define to 1 if you have the `extattr_set_file' function. */
/* #undef HAVE_EXTATTR_SET_FILE */
/* Define to 1 if EXTATTR_NAMESPACE_USER is defined in sys/extattr.h. */
/* #undef HAVE_DECL_EXTATTR_NAMESPACE_USER */
/* Define to 1 if you have the declaration of `GETACL', and to 0 if you don't.
*/
/* #undef HAVE_DECL_GETACL */
/* Define to 1 if you have the declaration of `GETACLCNT', and to 0 if you
don't. */
/* #undef HAVE_DECL_GETACLCNT */
/* Define to 1 if you have the `fchdir' function. */
#define HAVE_FCHDIR 1
/* Define to 1 if you have the `fchflags' function. */
/* #undef HAVE_FCHFLAGS */
/* Define to 1 if you have the `fchmod' function. */
#define HAVE_FCHMOD 1
/* Define to 1 if you have the `fchown' function. */
#define HAVE_FCHOWN 1
/* Define to 1 if you have the `fcntl' function. */
#define HAVE_FCNTL 1
/* Define to 1 if you have the <fcntl.h> header file. */
#define HAVE_FCNTL_H 1
/* Define to 1 if you have the `fdopendir' function. */
#define HAVE_FDOPENDIR 1
/* Define to 1 if you have the `fgetea' function. */
/* #undef HAVE_FGETEA */
/* Define to 1 if you have the `fgetxattr' function. */
/* #undef HAVE_FGETXATTR */
/* Define to 1 if you have the `flistea' function. */
/* #undef HAVE_FLISTEA */
/* Define to 1 if you have the `flistxattr' function. */
/* #undef HAVE_FLISTXATTR */
/* Define to 1 if you have the `fork' function. */
#define HAVE_FORK 1
/* Define to 1 if fseeko (and presumably ftello) exists and is declared. */
#define HAVE_FSEEKO 1
/* Define to 1 if you have the `fsetea' function. */
/* #undef HAVE_FSETEA */
/* Define to 1 if you have the `fsetxattr' function. */
#define HAVE_FSETXATTR 1
/* Define to 1 if you have the `fstat' function. */
#define HAVE_FSTAT 1
/* Define to 1 if you have the `fstatat' function. */
#define HAVE_FSTATAT 1
/* Define to 1 if you have the `fstatfs' function. */
#define HAVE_FSTATFS 1
/* Define to 1 if you have the `fstatvfs' function. */
#define HAVE_FSTATVFS 1
/* Define to 1 if you have the `ftruncate' function. */
#define HAVE_FTRUNCATE 1
/* Define to 1 if you have the `futimens' function. */
#define HAVE_FUTIMENS 1
/* Define to 1 if you have the `futimes' function. */
#define HAVE_FUTIMES 1
/* Define to 1 if you have the `futimesat' function. */
#define HAVE_FUTIMESAT 1
/* Define to 1 if you have the `getea' function. */
/* #undef HAVE_GETEA */
/* Define to 1 if you have the `geteuid' function. */
#define HAVE_GETEUID 1
/* Define to 1 if you have the `getgrgid_r' function. */
#define HAVE_GETGRGID_R 1
/* Define to 1 if you have the `getgrnam_r' function. */
#define HAVE_GETGRNAM_R 1
/* Define to 1 if you have the `getpid' function. */
#define HAVE_GETPID 1
/* Define to 1 if you have the `getpwnam_r' function. */
#define HAVE_GETPWNAM_R 1
/* Define to 1 if you have the `getpwuid_r' function. */
#define HAVE_GETPWUID_R 1
/* Define to 1 if you have the `getvfsbyname' function. */
/* #undef HAVE_GETVFSBYNAME */
/* Define to 1 if you have the `getxattr' function. */
/* #undef HAVE_GETXATTR */
/* Define to 1 if you have the `gmtime_r' function. */
#define HAVE_GMTIME_R 1
/* Define to 1 if you have the <grp.h> header file. */
#define HAVE_GRP_H 1
/* Define to 1 if you have the `iconv' function. */
/* #undef HAVE_ICONV */
/* Define to 1 if you have the <iconv.h> header file. */
/* #undef HAVE_ICONV_H */
/* Define to 1 if you have the <io.h> header file. */
/* #undef HAVE_IO_H */
/* Define to 1 if you have the <langinfo.h> header file. */
#define HAVE_LANGINFO_H 1
/* Define to 1 if you have the `lchflags' function. */
/* #undef HAVE_LCHFLAGS */
/* Define to 1 if you have the `lchmod' function. */
/* #undef HAVE_LCHMOD */
/* Define to 1 if you have the `lchown' function. */
#define HAVE_LCHOWN 1
/* Define to 1 if you have the `lgetea' function. */
/* #undef HAVE_LGETEA */
/* Define to 1 if you have the `lgetxattr' function. */
/* #undef HAVE_LGETXATTR */
/* Define to 1 if you have the `acl' library (-lacl). */
/* #undef HAVE_LIBACL */
/* Define to 1 if you have the `attr' library (-lattr). */
/* #undef HAVE_LIBATTR */
/* Define to 1 if you have the `bsdxml' library (-lbsdxml). */
/* #undef HAVE_LIBBSDXML */
/* Define to 1 if you have the `bz2' library (-lbz2). */
#define HAVE_LIBBZ2 1
/* Define to 1 if you have the `b2' library (-lb2). */
/* #undef HAVE_LIBB2 */
/* Define to 1 if you have the <blake2.h> header file. */
/* #undef HAVE_BLAKE2_H */
/* Define to 1 if you have the `charset' library (-lcharset). */
/* #undef HAVE_LIBCHARSET */
/* Define to 1 if you have the `crypto' library (-lcrypto). */
#define HAVE_LIBCRYPTO 1
/* Define to 1 if you have the `expat' library (-lexpat). */
/* #undef HAVE_LIBEXPAT */
/* Define to 1 if you have the `gcc' library (-lgcc). */
/* #undef HAVE_LIBGCC */
/* Define to 1 if you have the `lz4' library (-llz4). */
/* #undef HAVE_LIBLZ4 */
/* Define to 1 if you have the `lzma' library (-llzma). */
#define HAVE_LIBLZMA 1
/* Define to 1 if you have the `lzmadec' library (-llzmadec). */
/* #undef HAVE_LIBLZMADEC */
/* Define to 1 if you have the `lzo2' library (-llzo2). */
/* #undef HAVE_LIBLZO2 */
/* Define to 1 if you have the `mbedcrypto' library (-lmbedcrypto). */
/* #undef HAVE_LIBMBEDCRYPTO */
/* Define to 1 if you have the `nettle' library (-lnettle). */
/* #undef HAVE_LIBNETTLE */
/* Define to 1 if you have the `pcre' library (-lpcre). */
/* #undef HAVE_LIBPCRE */
/* Define to 1 if you have the `pcreposix' library (-lpcreposix). */
/* #undef HAVE_LIBPCREPOSIX */
/* Define to 1 if you have the `xml2' library (-lxml2). */
/* #undef HAVE_LIBXML2 */
/* Define to 1 if you have the <libxml/xmlreader.h> header file. */
/* #undef HAVE_LIBXML_XMLREADER_H */
/* Define to 1 if you have the <libxml/xmlwriter.h> header file. */
/* #undef HAVE_LIBXML_XMLWRITER_H */
/* Define to 1 if you have the `z' library (-lz). */
#define HAVE_LIBZ 1
/* Define to 1 if you have the `zstd' library (-lzstd). */
#define HAVE_LIBZSTD 1
/* Define to 1 if you have the `zstd' library (-lzstd) with compression
support. */
#define HAVE_LIBZSTD_COMPRESSOR 1
/* Define to 1 if you have the <limits.h> header file. */
#define HAVE_LIMITS_H 1
/* Define to 1 if you have the `link' function. */
#define HAVE_LINK 1
/* Define to 1 if you have the `linkat' function. */
#define HAVE_LINKAT 1
/* Define to 1 if you have the <linux/fiemap.h> header file. */
#define HAVE_LINUX_FIEMAP_H 1
/* Define to 1 if you have the <linux/fs.h> header file. */
#define HAVE_LINUX_FS_H 1
/* Define to 1 if you have the <linux/magic.h> header file. */
#define HAVE_LINUX_MAGIC_H 1
/* Define to 1 if you have the <linux/types.h> header file. */
#define HAVE_LINUX_TYPES_H 1
/* Define to 1 if you have the `listea' function. */
/* #undef HAVE_LISTEA */
/* Define to 1 if you have the `listxattr' function. */
/* #undef HAVE_LISTXATTR */
/* Define to 1 if you have the `llistea' function. */
/* #undef HAVE_LLISTEA */
/* Define to 1 if you have the `llistxattr' function. */
/* #undef HAVE_LLISTXATTR */
/* Define to 1 if you have the <localcharset.h> header file. */
/* #undef HAVE_LOCALCHARSET_H */
/* Define to 1 if you have the `locale_charset' function. */
/* #undef HAVE_LOCALE_CHARSET */
/* Define to 1 if you have the <locale.h> header file. */
#define HAVE_LOCALE_H 1
/* Define to 1 if you have the `localtime_r' function. */
#define HAVE_LOCALTIME_R 1
/* Define to 1 if the system has the type `long long int'. */
/* #undef HAVE_LONG_LONG_INT */
/* Define to 1 if you have the `lsetea' function. */
/* #undef HAVE_LSETEA */
/* Define to 1 if you have the `lsetxattr' function. */
/* #undef HAVE_LSETXATTR */
/* Define to 1 if you have the `lstat' function. */
#define HAVE_LSTAT 1
/* Define to 1 if `lstat' has the bug that it succeeds when given the
zero-length file name argument. */
/* #undef HAVE_LSTAT_EMPTY_STRING_BUG */
/* Define to 1 if you have the `lutimes' function. */
#define HAVE_LUTIMES 1
/* Define to 1 if you have the <lz4hc.h> header file. */
/* #undef HAVE_LZ4HC_H */
/* Define to 1 if you have the <lz4.h> header file. */
/* #undef HAVE_LZ4_H */
/* Define to 1 if you have the <lzmadec.h> header file. */
/* #undef HAVE_LZMADEC_H */
/* Define to 1 if you have the <lzma.h> header file. */
#define HAVE_LZMA_H 1
/* Define to 1 if you have a working `lzma_stream_encoder_mt' function. */
#define HAVE_LZMA_STREAM_ENCODER_MT 1
/* Define to 1 if you have the <lzo/lzo1x.h> header file. */
/* #undef HAVE_LZO_LZO1X_H */
/* Define to 1 if you have the <lzo/lzoconf.h> header file. */
/* #undef HAVE_LZO_LZOCONF_H */
/* Define to 1 if you have the `mbrtowc' function. */
#define HAVE_MBRTOWC 1
/* Define to 1 if you have the <membership.h> header file. */
/* #undef HAVE_MEMBERSHIP_H */
/* Define to 1 if you have the `memmove' function. */
#define HAVE_MEMMOVE 1
/* Define to 1 if you have the <memory.h> header file. */
#define HAVE_MEMORY_H 1
/* Define to 1 if you have the `mkdir' function. */
#define HAVE_MKDIR 1
/* Define to 1 if you have the `mkfifo' function. */
#define HAVE_MKFIFO 1
/* Define to 1 if you have the `mknod' function. */
#define HAVE_MKNOD 1
/* Define to 1 if you have the `mkstemp' function. */
#define HAVE_MKSTEMP 1
/* Define to 1 if you have the <ndir.h> header file, and it defines `DIR'. */
/* #undef HAVE_NDIR_H */
/* Define to 1 if you have the <nettle/aes.h> header file. */
/* #undef HAVE_NETTLE_AES_H */
/* Define to 1 if you have the <nettle/hmac.h> header file. */
/* #undef HAVE_NETTLE_HMAC_H */
/* Define to 1 if you have the <nettle/md5.h> header file. */
/* #undef HAVE_NETTLE_MD5_H */
/* Define to 1 if you have the <nettle/pbkdf2.h> header file. */
/* #undef HAVE_NETTLE_PBKDF2_H */
/* Define to 1 if you have the <nettle/ripemd160.h> header file. */
/* #undef HAVE_NETTLE_RIPEMD160_H */
/* Define to 1 if you have the <nettle/sha.h> header file. */
/* #undef HAVE_NETTLE_SHA_H */
/* Define to 1 if you have the `nl_langinfo' function. */
#define HAVE_NL_LANGINFO 1
/* Define to 1 if you have the `openat' function. */
#define HAVE_OPENAT 1
/* Define to 1 if you have the <paths.h> header file. */
#define HAVE_PATHS_H 1
/* Define to 1 if you have the <pcreposix.h> header file. */
/* #undef HAVE_PCREPOSIX_H */
/* Define to 1 if you have the `pipe' function. */
#define HAVE_PIPE 1
/* Define to 1 if you have the `PKCS5_PBKDF2_HMAC_SHA1' function. */
/* #undef HAVE_PKCS5_PBKDF2_HMAC_SHA1 */
/* Define to 1 if you have the `poll' function. */
#define HAVE_POLL 1
/* Define to 1 if you have the <poll.h> header file. */
#define HAVE_POLL_H 1
/* Define to 1 if you have the `posix_spawnp' function. */
#define HAVE_POSIX_SPAWNP 1
/* Define to 1 if you have the <process.h> header file. */
/* #undef HAVE_PROCESS_H */
/* Define to 1 if you have the <pthread.h> header file. */
#define HAVE_PTHREAD_H 1
/* Define to 1 if you have the <pwd.h> header file. */
#define HAVE_PWD_H 1
/* Define to 1 if you have the `readdir_r' function. */
#define HAVE_READDIR_R 1
/* Define to 1 if you have the `readlink' function. */
#define HAVE_READLINK 1
/* Define to 1 if you have the `readlinkat' function. */
/* #undef HAVE_READLINKAT */
/* Define to 1 if you have the `readpassphrase' function. */
/* #undef HAVE_READPASSPHRASE */
/* Define to 1 if you have the <readpassphrase.h> header file. */
/* #undef HAVE_READPASSPHRASE_H */
/* Define to 1 if you have the <regex.h> header file. */
#define HAVE_REGEX_H 1
/* Define to 1 if you have the `select' function. */
#define HAVE_SELECT 1
/* Define to 1 if you have the `setenv' function. */
#define HAVE_SETENV 1
/* Define to 1 if you have the `setlocale' function. */
#define HAVE_SETLOCALE 1
/* Define to 1 if you have the `sigaction' function. */
#define HAVE_SIGACTION 1
/* Define to 1 if you have the <signal.h> header file. */
#define HAVE_SIGNAL_H 1
/* Define to 1 if you have the <spawn.h> header file. */
#define HAVE_SPAWN_H 1
/* Define to 1 if you have the `statfs' function. */
#define HAVE_STATFS 1
/* Define to 1 if you have the `statvfs' function. */
#define HAVE_STATVFS 1
/* Define to 1 if `stat' has the bug that it succeeds when given the
zero-length file name argument. */
/* #undef HAVE_STAT_EMPTY_STRING_BUG */
/* Define to 1 if you have the <stdarg.h> header file. */
#define HAVE_STDARG_H 1
/* Define to 1 if you have the <stdlib.h> header file. */
#define HAVE_STDLIB_H 1
/* Define to 1 if you have the `strchr' function. */
#define HAVE_STRCHR 1
/* Define to 1 if you have the `strnlen' function. */
#define HAVE_STRNLEN 1
/* Define to 1 if you have the `strdup' function. */
#define HAVE_STRDUP 1
/* Define to 1 if you have the `strerror' function. */
#define HAVE_STRERROR 1
/* Define to 1 if you have the `strerror_r' function. */
#define HAVE_STRERROR_R 1
/* Define to 1 if you have the `strftime' function. */
#define HAVE_STRFTIME 1
/* Define to 1 if you have the <strings.h> header file. */
#define HAVE_STRINGS_H 1
/* Define to 1 if you have the <string.h> header file. */
#define HAVE_STRING_H 1
/* Define to 1 if you have the `strrchr' function. */
#define HAVE_STRRCHR 1
/* Define to 1 if `f_namemax' is a member of `struct statfs'. */
/* #undef HAVE_STRUCT_STATFS_F_NAMEMAX */
/* Define to 1 if `f_iosize' is a member of `struct statvfs'. */
/* #undef HAVE_STRUCT_STATVFS_F_IOSIZE */
/* Define to 1 if `st_birthtime' is a member of `struct stat'. */
/* #undef HAVE_STRUCT_STAT_ST_BIRTHTIME */
/* Define to 1 if `st_birthtimespec.tv_nsec' is a member of `struct stat'. */
/* #undef HAVE_STRUCT_STAT_ST_BIRTHTIMESPEC_TV_NSEC */
/* Define to 1 if `st_blksize' is a member of `struct stat'. */
#define HAVE_STRUCT_STAT_ST_BLKSIZE 1
/* Define to 1 if `st_flags' is a member of `struct stat'. */
/* #undef HAVE_STRUCT_STAT_ST_FLAGS */
/* Define to 1 if `st_mtimespec.tv_nsec' is a member of `struct stat'. */
/* #undef HAVE_STRUCT_STAT_ST_MTIMESPEC_TV_NSEC */
/* Define to 1 if `st_mtime_n' is a member of `struct stat'. */
/* #undef HAVE_STRUCT_STAT_ST_MTIME_N */
/* Define to 1 if `st_mtime_usec' is a member of `struct stat'. */
/* #undef HAVE_STRUCT_STAT_ST_MTIME_USEC */
/* Define to 1 if `st_mtim.tv_nsec' is a member of `struct stat'. */
#define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1
/* Define to 1 if `st_umtime' is a member of `struct stat'. */
/* #undef HAVE_STRUCT_STAT_ST_UMTIME */
/* Define to 1 if `tm_gmtoff' is a member of `struct tm'. */
#define HAVE_STRUCT_TM_TM_GMTOFF 1
/* Define to 1 if `__tm_gmtoff' is a member of `struct tm'. */
/* #undef HAVE_STRUCT_TM___TM_GMTOFF */
/* Define to 1 if you have `struct vfsconf'. */
/* #undef HAVE_STRUCT_VFSCONF */
/* Define to 1 if you have `struct xvfsconf'. */
/* #undef HAVE_STRUCT_XVFSCONF */
/* Define to 1 if you have the `symlink' function. */
#define HAVE_SYMLINK 1
/* Define to 1 if you have the <sys/acl.h> header file. */
/* #undef HAVE_SYS_ACL_H */
/* Define to 1 if you have the <sys/cdefs.h> header file. */
#define HAVE_SYS_CDEFS_H 1
/* Define to 1 if you have the <sys/dir.h> header file, and it defines `DIR'.
*/
/* #undef HAVE_SYS_DIR_H */
/* Define to 1 if you have the <sys/ea.h> header file. */
/* #undef HAVE_SYS_EA_H */
/* Define to 1 if you have the <sys/extattr.h> header file. */
/* #undef HAVE_SYS_EXTATTR_H */
/* Define to 1 if you have the <sys/ioctl.h> header file. */
#define HAVE_SYS_IOCTL_H 1
/* Define to 1 if you have the <sys/mkdev.h> header file. */
/* #undef HAVE_SYS_MKDEV_H */
/* Define to 1 if you have the <sys/mount.h> header file. */
/* #undef HAVE_SYS_MOUNT_H */
/* Define to 1 if you have the <sys/ndir.h> header file, and it defines `DIR'.
*/
/* #undef HAVE_SYS_NDIR_H */
/* Define to 1 if you have the <sys/param.h> header file. */
#define HAVE_SYS_PARAM_H 1
/* Define to 1 if you have the <sys/poll.h> header file. */
#define HAVE_SYS_POLL_H 1
/* Define to 1 if you have the <sys/richacl.h> header file. */
/* #undef HAVE_SYS_RICHACL_H */
/* Define to 1 if you have the <sys/select.h> header file. */
#define HAVE_SYS_SELECT_H 1
/* Define to 1 if you have the <sys/statfs.h> header file. */
#define HAVE_SYS_STATFS_H 1
/* Define to 1 if you have the <sys/statvfs.h> header file. */
#define HAVE_SYS_STATVFS_H 1
/* Define to 1 if you have the <sys/stat.h> header file. */
#define HAVE_SYS_STAT_H 1
/* Define to 1 if you have the <sys/sysmacros.h> header file. */
#define HAVE_SYS_SYSMACROS_H 1
/* Define to 1 if you have the <sys/time.h> header file. */
#define HAVE_SYS_TIME_H 1
/* Define to 1 if you have the <sys/types.h> header file. */
#define HAVE_SYS_TYPES_H 1
/* Define to 1 if you have the <sys/utime.h> header file. */
/* #undef HAVE_SYS_UTIME_H */
/* Define to 1 if you have the <sys/utsname.h> header file. */
#define HAVE_SYS_UTSNAME_H 1
/* Define to 1 if you have the <sys/vfs.h> header file. */
#define HAVE_SYS_VFS_H 1
/* Define to 1 if you have <sys/wait.h> that is POSIX.1 compatible. */
#define HAVE_SYS_WAIT_H 1
/* Define to 1 if you have the <sys/xattr.h> header file. */
#define HAVE_SYS_XATTR_H 1
/* Define to 1 if you have the `timegm' function. */
#define HAVE_TIMEGM 1
/* Define to 1 if you have the <time.h> header file. */
#define HAVE_TIME_H 1
/* Define to 1 if you have the `tzset' function. */
#define HAVE_TZSET 1
/* Define to 1 if you have the <unistd.h> header file. */
#define HAVE_UNISTD_H 1
/* Define to 1 if you have the `unlinkat' function. */
#define HAVE_UNLINKAT 1
/* Define to 1 if you have the `unsetenv' function. */
#define HAVE_UNSETENV 1
/* Define to 1 if the system has the type `unsigned long long'. */
/* #undef HAVE_UNSIGNED_LONG_LONG */
/* Define to 1 if the system has the type `unsigned long long int'. */
/* #undef HAVE_UNSIGNED_LONG_LONG_INT */
/* Define to 1 if you have the `utime' function. */
#define HAVE_UTIME 1
/* Define to 1 if you have the `utimensat' function. */
#define HAVE_UTIMENSAT 1
/* Define to 1 if you have the `utimes' function. */
#define HAVE_UTIMES 1
/* Define to 1 if you have the <utime.h> header file. */
#define HAVE_UTIME_H 1
/* Define to 1 if you have the `vfork' function. */
#define HAVE_VFORK 1
/* Define to 1 if you have the `vprintf' function. */
#define HAVE_VPRINTF 1
/* Define to 1 if you have the <wchar.h> header file. */
#define HAVE_WCHAR_H 1
/* Define to 1 if the system has the type `wchar_t'. */
#define HAVE_WCHAR_T 1
/* Define to 1 if you have the `wcrtomb' function. */
#define HAVE_WCRTOMB 1
/* Define to 1 if you have the `wcscmp' function. */
#define HAVE_WCSCMP 1
/* Define to 1 if you have the `wcscpy' function. */
#define HAVE_WCSCPY 1
/* Define to 1 if you have the `wcslen' function. */
#define HAVE_WCSLEN 1
/* Define to 1 if you have the `wctomb' function. */
#define HAVE_WCTOMB 1
/* Define to 1 if you have the <wctype.h> header file. */
#define HAVE_WCTYPE_H 1
/* Define to 1 if you have the <wincrypt.h> header file. */
/* #undef HAVE_WINCRYPT_H */
/* Define to 1 if you have the <windows.h> header file. */
/* #undef HAVE_WINDOWS_H */
/* Define to 1 if you have the <winioctl.h> header file. */
/* #undef HAVE_WINIOCTL_H */
/* Define to 1 if you have _CrtSetReportMode in <crtdbg.h> */
/* #undef HAVE__CrtSetReportMode */
/* Define to 1 if you have the `wmemcmp' function. */
#define HAVE_WMEMCMP 1
/* Define to 1 if you have the `wmemcpy' function. */
#define HAVE_WMEMCPY 1
/* Define to 1 if you have the `wmemmove' function. */
#define HAVE_WMEMMOVE 1
/* Define to 1 if you have a working EXT2_IOC_GETFLAGS */
#define HAVE_WORKING_EXT2_IOC_GETFLAGS 1
/* Define to 1 if you have a working FS_IOC_GETFLAGS */
#define HAVE_WORKING_FS_IOC_GETFLAGS 1
/* Define to 1 if you have the <zlib.h> header file. */
#define HAVE_ZLIB_H 1
/* Define to 1 if you have the <zstd.h> header file. */
#define HAVE_ZSTD_H 1
/* Define to 1 if you have the `_ctime64_s' function. */
/* #undef HAVE__CTIME64_S */
/* Define to 1 if you have the `_fseeki64' function. */
/* #undef HAVE__FSEEKI64 */
/* Define to 1 if you have the `_get_timezone' function. */
/* #undef HAVE__GET_TIMEZONE */
/* Define to 1 if you have the `_gmtime64_s' function. */
/* #undef HAVE__GMTIME64_S */
/* Define to 1 if you have the `_localtime64_s' function. */
/* #undef HAVE__LOCALTIME64_S */
/* Define to 1 if you have the `_mkgmtime64' function. */
/* #undef HAVE__MKGMTIME64 */
/* Define as const if the declaration of iconv() needs const. */
#define ICONV_CONST
/* Version number of libarchive as a single integer */
#define LIBARCHIVE_VERSION_NUMBER "3006000"
/* Version number of libarchive */
#define LIBARCHIVE_VERSION_STRING "3.6.0"
/* Define to 1 if `lstat' dereferences a symlink specified with a trailing
slash. */
/* #undef LSTAT_FOLLOWS_SLASHED_SYMLINK */
/* Define to 1 if `major', `minor', and `makedev' are declared in <mkdev.h>.
*/
/* #undef MAJOR_IN_MKDEV */
/* Define to 1 if `major', `minor', and `makedev' are declared in
<sysmacros.h>. */
#define MAJOR_IN_SYSMACROS 1
/* Define to 1 if your C compiler doesn't accept -c and -o together. */
/* #undef NO_MINUS_C_MINUS_O */
/* The size of `wchar_t', as computed by sizeof. */
#define SIZEOF_WCHAR_T 4
/* Define to 1 if strerror_r returns char *. */
/* #undef STRERROR_R_CHAR_P */
/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
#define TIME_WITH_SYS_TIME 1
/*
* Some platform requires a macro to use extension functions.
*/
#define SAFE_TO_DEFINE_EXTENSIONS 1
#ifdef SAFE_TO_DEFINE_EXTENSIONS
/* Enable extensions on AIX 3, Interix. */
#ifndef _ALL_SOURCE
# define _ALL_SOURCE 1
#endif
/* Enable GNU extensions on systems that have them. */
#ifndef _GNU_SOURCE
# define _GNU_SOURCE 1
#endif
/* Enable threading extensions on Solaris. */
#ifndef _POSIX_PTHREAD_SEMANTICS
# define _POSIX_PTHREAD_SEMANTICS 1
#endif
/* Enable extensions on HP NonStop. */
#ifndef _TANDEM_SOURCE
# define _TANDEM_SOURCE 1
#endif
/* Enable general extensions on Solaris. */
#ifndef __EXTENSIONS__
# define __EXTENSIONS__ 1
#endif
#endif /* SAFE_TO_DEFINE_EXTENSIONS */
/* Version number of package */
#define VERSION "3.6.0"
/* Number of bits in a file offset, on hosts where this is settable. */
/* #undef _FILE_OFFSET_BITS */
/* Define to 1 to make fseeko visible on some hosts (e.g. glibc 2.2). */
/* #undef _LARGEFILE_SOURCE */
/* Define for large files, on AIX-style hosts. */
/* #undef _LARGE_FILES */
/* Define to control Windows SDK version */
#ifndef NTDDI_VERSION
/* #undef NTDDI_VERSION */
#endif // NTDDI_VERSION
#ifndef _WIN32_WINNT
/* #undef _WIN32_WINNT */
#endif // _WIN32_WINNT
#ifndef WINVER
/* #undef WINVER */
#endif // WINVER
/* Define to empty if `const' does not conform to ANSI C. */
/* #undef const */
/* Define to `int' if <sys/types.h> doesn't define. */
/* #undef gid_t */
/* Define to `unsigned long' if <sys/types.h> does not define. */
/* #undef id_t */
/* Define to `int' if <sys/types.h> does not define. */
/* #undef mode_t */
/* Define to `long long' if <sys/types.h> does not define. */
/* #undef off_t */
/* Define to `int' if <sys/types.h> doesn't define. */
/* #undef pid_t */
/* Define to `unsigned int' if <sys/types.h> does not define. */
/* #undef size_t */
/* Define to `int' if <sys/types.h> does not define. */
/* #undef ssize_t */
/* Define to `int' if <sys/types.h> doesn't define. */
/* #undef uid_t */
#include <cm3p/kwiml/int.h>
#ifndef KWIML_INT_HAVE_INT64_T
typedef KWIML_INT_int64_t int64_t;
#endif
#ifndef KWIML_INT_HAVE_INT32_T
typedef KWIML_INT_int32_t int32_t;
#endif
#ifndef KWIML_INT_HAVE_INT16_T
typedef KWIML_INT_int16_t int16_t;
#endif
#ifndef KWIML_INT_HAVE_INT8_T
typedef KWIML_INT_int8_t int8_t;
#endif
#ifndef KWIML_INT_HAVE_INTPTR_T
typedef KWIML_INT_intptr_t intptr_t;
#endif
#ifndef KWIML_INT_HAVE_UINT64_T
typedef KWIML_INT_uint64_t uint64_t;
#endif
#ifndef KWIML_INT_HAVE_UINT32_T
typedef KWIML_INT_uint32_t uint32_t;
#endif
#ifndef KWIML_INT_HAVE_UINT16_T
typedef KWIML_INT_uint16_t uint16_t;
#endif
#ifndef KWIML_INT_HAVE_UINT8_T
typedef KWIML_INT_uint8_t uint8_t;
#endif
#ifndef KWIML_INT_HAVE_UINTPTR_T
typedef KWIML_INT_uintptr_t uintptr_t;
#endif
/* Define to 1 if you have the <stdint.h> header file. */
#ifdef KWIML_INT_HAVE_STDINT_H
# define HAVE_STDINT_H 1
#endif
/* Define to 1 if you have the <inttypes.h> header file. */
#ifdef KWIML_INT_HAVE_INTTYPES_H
# define HAVE_INTTYPES_H 1
#endif
#define ARCHIVE_RMD160_COMPILE_TEST
#define ARCHIVE_CRYPTO_RMD160_LIBC
#define PLATFORM_CONFIG_H "check_crypto_md.h"
/*-
* Copyright (c) 2003-2007 Tim Kientzle
* Copyright (c) 2011 Andres Mejia
* Copyright (c) 2011 Michihiro NAKAJIMA
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR(S) ``AS IS'' AND ANY EXPRESS OR
* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
* IN NO EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
#include "archive_platform.h"
#include "archive.h"
#include "archive_digest_private.h"
/* In particular, force the configure probe to break if it tries
* to test a combination of OpenSSL and libmd. */
#if defined(ARCHIVE_CRYPTO_OPENSSL) && defined(ARCHIVE_CRYPTO_LIBMD)
#error Cannot use both OpenSSL and libmd.
#endif
/*
* Message digest functions for Windows platform.
*/
#if defined(ARCHIVE_CRYPTO_MD5_WIN) ||\
defined(ARCHIVE_CRYPTO_SHA1_WIN) ||\
defined(ARCHIVE_CRYPTO_SHA256_WIN) ||\
defined(ARCHIVE_CRYPTO_SHA384_WIN) ||\
defined(ARCHIVE_CRYPTO_SHA512_WIN)
/*
* Initialize a Message digest.
*/
static int
win_crypto_init(Digest_CTX *ctx, ALG_ID algId)
{
ctx->valid = 0;
if (!CryptAcquireContext(&ctx->cryptProv, NULL, NULL,
PROV_RSA_FULL, CRYPT_VERIFYCONTEXT)) {
if (GetLastError() != (DWORD)NTE_BAD_KEYSET)
return (ARCHIVE_FAILED);
if (!CryptAcquireContext(&ctx->cryptProv, NULL, NULL,
PROV_RSA_FULL, CRYPT_NEWKEYSET))
return (ARCHIVE_FAILED);
}
if (!CryptCreateHash(ctx->cryptProv, algId, 0, 0, &ctx->hash)) {
CryptReleaseContext(ctx->cryptProv, 0);
return (ARCHIVE_FAILED);
}
ctx->valid = 1;
return (ARCHIVE_OK);
}
/*
* Update a Message digest.
*/
static int
win_crypto_Update(Digest_CTX *ctx, const unsigned char *buf, size_t len)
{
if (!ctx->valid)
return (ARCHIVE_FAILED);
CryptHashData(ctx->hash,
(unsigned char *)(uintptr_t)buf,
(DWORD)len, 0);
return (ARCHIVE_OK);
}
static int
win_crypto_Final(unsigned char *buf, size_t bufsize, Digest_CTX *ctx)
{
DWORD siglen = (DWORD)bufsize;
if (!ctx->valid)
return (ARCHIVE_FAILED);
CryptGetHashParam(ctx->hash, HP_HASHVAL, buf, &siglen, 0);
CryptDestroyHash(ctx->hash);
CryptReleaseContext(ctx->cryptProv, 0);
ctx->valid = 0;
return (ARCHIVE_OK);
}
#endif /* defined(ARCHIVE_CRYPTO_*_WIN) */
/* MD5 implementations */
#if defined(ARCHIVE_CRYPTO_MD5_LIBC)
static int
__archive_md5init(archive_md5_ctx *ctx)
{
MD5Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_md5update(archive_md5_ctx *ctx, const void *indata,
size_t insize)
{
MD5Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_md5final(archive_md5_ctx *ctx, void *md)
{
MD5Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_MD5_LIBMD)
static int
__archive_md5init(archive_md5_ctx *ctx)
{
MD5Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_md5update(archive_md5_ctx *ctx, const void *indata,
size_t insize)
{
MD5Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_md5final(archive_md5_ctx *ctx, void *md)
{
MD5Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_MD5_LIBSYSTEM)
static int
__archive_md5init(archive_md5_ctx *ctx)
{
CC_MD5_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_md5update(archive_md5_ctx *ctx, const void *indata,
size_t insize)
{
CC_MD5_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_md5final(archive_md5_ctx *ctx, void *md)
{
CC_MD5_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_MD5_MBEDTLS)
static int
__archive_md5init(archive_md5_ctx *ctx)
{
mbedtls_md5_init(ctx);
if (mbedtls_md5_starts_ret(ctx) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_md5update(archive_md5_ctx *ctx, const void *indata,
size_t insize)
{
if (mbedtls_md5_update_ret(ctx, indata, insize) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_md5final(archive_md5_ctx *ctx, void *md)
{
if (mbedtls_md5_finish_ret(ctx, md) == 0) {
mbedtls_md5_free(ctx);
return (ARCHIVE_OK);
} else {
mbedtls_md5_free(ctx);
return (ARCHIVE_FATAL);
}
}
#elif defined(ARCHIVE_CRYPTO_MD5_NETTLE)
static int
__archive_md5init(archive_md5_ctx *ctx)
{
md5_init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_md5update(archive_md5_ctx *ctx, const void *indata,
size_t insize)
{
md5_update(ctx, insize, indata);
return (ARCHIVE_OK);
}
static int
__archive_md5final(archive_md5_ctx *ctx, void *md)
{
md5_digest(ctx, MD5_DIGEST_SIZE, md);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_MD5_OPENSSL)
static int
__archive_md5init(archive_md5_ctx *ctx)
{
if ((*ctx = EVP_MD_CTX_new()) == NULL)
return (ARCHIVE_FAILED);
EVP_DigestInit(*ctx, EVP_md5());
return (ARCHIVE_OK);
}
static int
__archive_md5update(archive_md5_ctx *ctx, const void *indata,
size_t insize)
{
EVP_DigestUpdate(*ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_md5final(archive_md5_ctx *ctx, void *md)
{
/* HACK: archive_write_set_format_xar.c is finalizing empty contexts, so
* this is meant to cope with that. Real fix is probably to fix
* archive_write_set_format_xar.c
*/
if (*ctx) {
EVP_DigestFinal(*ctx, md, NULL);
EVP_MD_CTX_free(*ctx);
*ctx = NULL;
}
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_MD5_WIN)
static int
__archive_md5init(archive_md5_ctx *ctx)
{
return (win_crypto_init(ctx, CALG_MD5));
}
static int
__archive_md5update(archive_md5_ctx *ctx, const void *indata,
size_t insize)
{
return (win_crypto_Update(ctx, indata, insize));
}
static int
__archive_md5final(archive_md5_ctx *ctx, void *md)
{
return (win_crypto_Final(md, 16, ctx));
}
#else
static int
__archive_md5init(archive_md5_ctx *ctx)
{
(void)ctx; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_md5update(archive_md5_ctx *ctx, const void *indata,
size_t insize)
{
(void)ctx; /* UNUSED */
(void)indata; /* UNUSED */
(void)insize; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_md5final(archive_md5_ctx *ctx, void *md)
{
(void)ctx; /* UNUSED */
(void)md; /* UNUSED */
return (ARCHIVE_FAILED);
}
#endif
/* RIPEMD160 implementations */
#if defined(ARCHIVE_CRYPTO_RMD160_LIBC)
static int
__archive_ripemd160init(archive_rmd160_ctx *ctx)
{
RMD160Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata,
size_t insize)
{
RMD160Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_ripemd160final(archive_rmd160_ctx *ctx, void *md)
{
RMD160Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_RMD160_LIBMD)
static int
__archive_ripemd160init(archive_rmd160_ctx *ctx)
{
RIPEMD160_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata,
size_t insize)
{
RIPEMD160_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_ripemd160final(archive_rmd160_ctx *ctx, void *md)
{
RIPEMD160_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_RMD160_MBEDTLS)
static int
__archive_ripemd160init(archive_rmd160_ctx *ctx)
{
mbedtls_ripemd160_init(ctx);
if (mbedtls_ripemd160_starts_ret(ctx) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata,
size_t insize)
{
if (mbedtls_ripemd160_update_ret(ctx, indata, insize) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_ripemd160final(archive_rmd160_ctx *ctx, void *md)
{
if (mbedtls_ripemd160_finish_ret(ctx, md) == 0) {
mbedtls_ripemd160_free(ctx);
return (ARCHIVE_OK);
} else {
mbedtls_ripemd160_free(ctx);
return (ARCHIVE_FATAL);
}
}
#elif defined(ARCHIVE_CRYPTO_RMD160_NETTLE)
static int
__archive_ripemd160init(archive_rmd160_ctx *ctx)
{
ripemd160_init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata,
size_t insize)
{
ripemd160_update(ctx, insize, indata);
return (ARCHIVE_OK);
}
static int
__archive_ripemd160final(archive_rmd160_ctx *ctx, void *md)
{
ripemd160_digest(ctx, RIPEMD160_DIGEST_SIZE, md);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_RMD160_OPENSSL)
static int
__archive_ripemd160init(archive_rmd160_ctx *ctx)
{
if ((*ctx = EVP_MD_CTX_new()) == NULL)
return (ARCHIVE_FAILED);
EVP_DigestInit(*ctx, EVP_ripemd160());
return (ARCHIVE_OK);
}
static int
__archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata,
size_t insize)
{
EVP_DigestUpdate(*ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_ripemd160final(archive_rmd160_ctx *ctx, void *md)
{
if (*ctx) {
EVP_DigestFinal(*ctx, md, NULL);
EVP_MD_CTX_free(*ctx);
*ctx = NULL;
}
return (ARCHIVE_OK);
}
#else
static int
__archive_ripemd160init(archive_rmd160_ctx *ctx)
{
(void)ctx; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata,
size_t insize)
{
(void)ctx; /* UNUSED */
(void)indata; /* UNUSED */
(void)insize; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_ripemd160final(archive_rmd160_ctx *ctx, void *md)
{
(void)ctx; /* UNUSED */
(void)md; /* UNUSED */
return (ARCHIVE_FAILED);
}
#endif
/* SHA1 implementations */
#if defined(ARCHIVE_CRYPTO_SHA1_LIBC)
static int
__archive_sha1init(archive_sha1_ctx *ctx)
{
SHA1Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha1update(archive_sha1_ctx *ctx, const void *indata,
size_t insize)
{
SHA1Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha1final(archive_sha1_ctx *ctx, void *md)
{
SHA1Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA1_LIBMD)
static int
__archive_sha1init(archive_sha1_ctx *ctx)
{
SHA1_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha1update(archive_sha1_ctx *ctx, const void *indata,
size_t insize)
{
SHA1_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha1final(archive_sha1_ctx *ctx, void *md)
{
SHA1_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA1_LIBSYSTEM)
static int
__archive_sha1init(archive_sha1_ctx *ctx)
{
CC_SHA1_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha1update(archive_sha1_ctx *ctx, const void *indata,
size_t insize)
{
CC_SHA1_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha1final(archive_sha1_ctx *ctx, void *md)
{
CC_SHA1_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA1_MBEDTLS)
static int
__archive_sha1init(archive_sha1_ctx *ctx)
{
mbedtls_sha1_init(ctx);
if (mbedtls_sha1_starts_ret(ctx) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_sha1update(archive_sha1_ctx *ctx, const void *indata,
size_t insize)
{
if (mbedtls_sha1_update_ret(ctx, indata, insize) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_sha1final(archive_sha1_ctx *ctx, void *md)
{
if (mbedtls_sha1_finish_ret(ctx, md) == 0) {
mbedtls_sha1_free(ctx);
return (ARCHIVE_OK);
} else {
mbedtls_sha1_free(ctx);
return (ARCHIVE_FATAL);
}
}
#elif defined(ARCHIVE_CRYPTO_SHA1_NETTLE)
static int
__archive_sha1init(archive_sha1_ctx *ctx)
{
sha1_init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha1update(archive_sha1_ctx *ctx, const void *indata,
size_t insize)
{
sha1_update(ctx, insize, indata);
return (ARCHIVE_OK);
}
static int
__archive_sha1final(archive_sha1_ctx *ctx, void *md)
{
sha1_digest(ctx, SHA1_DIGEST_SIZE, md);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA1_OPENSSL)
static int
__archive_sha1init(archive_sha1_ctx *ctx)
{
if ((*ctx = EVP_MD_CTX_new()) == NULL)
return (ARCHIVE_FAILED);
EVP_DigestInit(*ctx, EVP_sha1());
return (ARCHIVE_OK);
}
static int
__archive_sha1update(archive_sha1_ctx *ctx, const void *indata,
size_t insize)
{
EVP_DigestUpdate(*ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha1final(archive_sha1_ctx *ctx, void *md)
{
/* HACK: archive_write_set_format_xar.c is finalizing empty contexts, so
* this is meant to cope with that. Real fix is probably to fix
* archive_write_set_format_xar.c
*/
if (*ctx) {
EVP_DigestFinal(*ctx, md, NULL);
EVP_MD_CTX_free(*ctx);
*ctx = NULL;
}
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA1_WIN)
static int
__archive_sha1init(archive_sha1_ctx *ctx)
{
return (win_crypto_init(ctx, CALG_SHA1));
}
static int
__archive_sha1update(archive_sha1_ctx *ctx, const void *indata,
size_t insize)
{
return (win_crypto_Update(ctx, indata, insize));
}
static int
__archive_sha1final(archive_sha1_ctx *ctx, void *md)
{
return (win_crypto_Final(md, 20, ctx));
}
#else
static int
__archive_sha1init(archive_sha1_ctx *ctx)
{
(void)ctx; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_sha1update(archive_sha1_ctx *ctx, const void *indata,
size_t insize)
{
(void)ctx; /* UNUSED */
(void)indata; /* UNUSED */
(void)insize; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_sha1final(archive_sha1_ctx *ctx, void *md)
{
(void)ctx; /* UNUSED */
(void)md; /* UNUSED */
return (ARCHIVE_FAILED);
}
#endif
/* SHA256 implementations */
#if defined(ARCHIVE_CRYPTO_SHA256_LIBC)
static int
__archive_sha256init(archive_sha256_ctx *ctx)
{
SHA256_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha256update(archive_sha256_ctx *ctx, const void *indata,
size_t insize)
{
SHA256_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha256final(archive_sha256_ctx *ctx, void *md)
{
SHA256_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA256_LIBC2)
static int
__archive_sha256init(archive_sha256_ctx *ctx)
{
SHA256Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha256update(archive_sha256_ctx *ctx, const void *indata,
size_t insize)
{
SHA256Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha256final(archive_sha256_ctx *ctx, void *md)
{
SHA256Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA256_LIBC3)
static int
__archive_sha256init(archive_sha256_ctx *ctx)
{
SHA256Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha256update(archive_sha256_ctx *ctx, const void *indata,
size_t insize)
{
SHA256Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha256final(archive_sha256_ctx *ctx, void *md)
{
SHA256Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA256_LIBMD)
static int
__archive_sha256init(archive_sha256_ctx *ctx)
{
SHA256_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha256update(archive_sha256_ctx *ctx, const void *indata,
size_t insize)
{
SHA256_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha256final(archive_sha256_ctx *ctx, void *md)
{
SHA256_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA256_LIBSYSTEM)
static int
__archive_sha256init(archive_sha256_ctx *ctx)
{
CC_SHA256_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha256update(archive_sha256_ctx *ctx, const void *indata,
size_t insize)
{
CC_SHA256_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha256final(archive_sha256_ctx *ctx, void *md)
{
CC_SHA256_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA256_MBEDTLS)
static int
__archive_sha256init(archive_sha256_ctx *ctx)
{
mbedtls_sha256_init(ctx);
if (mbedtls_sha256_starts_ret(ctx, 0) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_sha256update(archive_sha256_ctx *ctx, const void *indata,
size_t insize)
{
if (mbedtls_sha256_update_ret(ctx, indata, insize) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_sha256final(archive_sha256_ctx *ctx, void *md)
{
if (mbedtls_sha256_finish_ret(ctx, md) == 0) {
mbedtls_sha256_free(ctx);
return (ARCHIVE_OK);
} else {
mbedtls_sha256_free(ctx);
return (ARCHIVE_FATAL);
}
}
#elif defined(ARCHIVE_CRYPTO_SHA256_NETTLE)
static int
__archive_sha256init(archive_sha256_ctx *ctx)
{
sha256_init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha256update(archive_sha256_ctx *ctx, const void *indata,
size_t insize)
{
sha256_update(ctx, insize, indata);
return (ARCHIVE_OK);
}
static int
__archive_sha256final(archive_sha256_ctx *ctx, void *md)
{
sha256_digest(ctx, SHA256_DIGEST_SIZE, md);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA256_OPENSSL)
static int
__archive_sha256init(archive_sha256_ctx *ctx)
{
if ((*ctx = EVP_MD_CTX_new()) == NULL)
return (ARCHIVE_FAILED);
EVP_DigestInit(*ctx, EVP_sha256());
return (ARCHIVE_OK);
}
static int
__archive_sha256update(archive_sha256_ctx *ctx, const void *indata,
size_t insize)
{
EVP_DigestUpdate(*ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha256final(archive_sha256_ctx *ctx, void *md)
{
if (*ctx) {
EVP_DigestFinal(*ctx, md, NULL);
EVP_MD_CTX_free(*ctx);
*ctx = NULL;
}
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA256_WIN)
static int
__archive_sha256init(archive_sha256_ctx *ctx)
{
return (win_crypto_init(ctx, CALG_SHA_256));
}
static int
__archive_sha256update(archive_sha256_ctx *ctx, const void *indata,
size_t insize)
{
return (win_crypto_Update(ctx, indata, insize));
}
static int
__archive_sha256final(archive_sha256_ctx *ctx, void *md)
{
return (win_crypto_Final(md, 32, ctx));
}
#else
static int
__archive_sha256init(archive_sha256_ctx *ctx)
{
(void)ctx; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_sha256update(archive_sha256_ctx *ctx, const void *indata,
size_t insize)
{
(void)ctx; /* UNUSED */
(void)indata; /* UNUSED */
(void)insize; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_sha256final(archive_sha256_ctx *ctx, void *md)
{
(void)ctx; /* UNUSED */
(void)md; /* UNUSED */
return (ARCHIVE_FAILED);
}
#endif
/* SHA384 implementations */
#if defined(ARCHIVE_CRYPTO_SHA384_LIBC)
static int
__archive_sha384init(archive_sha384_ctx *ctx)
{
SHA384_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha384update(archive_sha384_ctx *ctx, const void *indata,
size_t insize)
{
SHA384_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha384final(archive_sha384_ctx *ctx, void *md)
{
SHA384_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA384_LIBC2)
static int
__archive_sha384init(archive_sha384_ctx *ctx)
{
SHA384Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha384update(archive_sha384_ctx *ctx, const void *indata,
size_t insize)
{
SHA384Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha384final(archive_sha384_ctx *ctx, void *md)
{
SHA384Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA384_LIBC3)
static int
__archive_sha384init(archive_sha384_ctx *ctx)
{
SHA384Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha384update(archive_sha384_ctx *ctx, const void *indata,
size_t insize)
{
SHA384Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha384final(archive_sha384_ctx *ctx, void *md)
{
SHA384Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA384_LIBSYSTEM)
static int
__archive_sha384init(archive_sha384_ctx *ctx)
{
CC_SHA384_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha384update(archive_sha384_ctx *ctx, const void *indata,
size_t insize)
{
CC_SHA384_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha384final(archive_sha384_ctx *ctx, void *md)
{
CC_SHA384_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA384_MBEDTLS)
static int
__archive_sha384init(archive_sha384_ctx *ctx)
{
mbedtls_sha512_init(ctx);
if (mbedtls_sha512_starts_ret(ctx, 1) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_sha384update(archive_sha384_ctx *ctx, const void *indata,
size_t insize)
{
if (mbedtls_sha512_update_ret(ctx, indata, insize) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_sha384final(archive_sha384_ctx *ctx, void *md)
{
if (mbedtls_sha512_finish_ret(ctx, md) == 0) {
mbedtls_sha512_free(ctx);
return (ARCHIVE_OK);
} else {
mbedtls_sha512_free(ctx);
return (ARCHIVE_FATAL);
}
}
#elif defined(ARCHIVE_CRYPTO_SHA384_NETTLE)
static int
__archive_sha384init(archive_sha384_ctx *ctx)
{
sha384_init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha384update(archive_sha384_ctx *ctx, const void *indata,
size_t insize)
{
sha384_update(ctx, insize, indata);
return (ARCHIVE_OK);
}
static int
__archive_sha384final(archive_sha384_ctx *ctx, void *md)
{
sha384_digest(ctx, SHA384_DIGEST_SIZE, md);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA384_OPENSSL)
static int
__archive_sha384init(archive_sha384_ctx *ctx)
{
if ((*ctx = EVP_MD_CTX_new()) == NULL)
return (ARCHIVE_FAILED);
EVP_DigestInit(*ctx, EVP_sha384());
return (ARCHIVE_OK);
}
static int
__archive_sha384update(archive_sha384_ctx *ctx, const void *indata,
size_t insize)
{
EVP_DigestUpdate(*ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha384final(archive_sha384_ctx *ctx, void *md)
{
if (*ctx) {
EVP_DigestFinal(*ctx, md, NULL);
EVP_MD_CTX_free(*ctx);
*ctx = NULL;
}
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA384_WIN)
static int
__archive_sha384init(archive_sha384_ctx *ctx)
{
return (win_crypto_init(ctx, CALG_SHA_384));
}
static int
__archive_sha384update(archive_sha384_ctx *ctx, const void *indata,
size_t insize)
{
return (win_crypto_Update(ctx, indata, insize));
}
static int
__archive_sha384final(archive_sha384_ctx *ctx, void *md)
{
return (win_crypto_Final(md, 48, ctx));
}
#else
static int
__archive_sha384init(archive_sha384_ctx *ctx)
{
(void)ctx; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_sha384update(archive_sha384_ctx *ctx, const void *indata,
size_t insize)
{
(void)ctx; /* UNUSED */
(void)indata; /* UNUSED */
(void)insize; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_sha384final(archive_sha384_ctx *ctx, void *md)
{
(void)ctx; /* UNUSED */
(void)md; /* UNUSED */
return (ARCHIVE_FAILED);
}
#endif
/* SHA512 implementations */
#if defined(ARCHIVE_CRYPTO_SHA512_LIBC)
static int
__archive_sha512init(archive_sha512_ctx *ctx)
{
SHA512_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha512update(archive_sha512_ctx *ctx, const void *indata,
size_t insize)
{
SHA512_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha512final(archive_sha512_ctx *ctx, void *md)
{
SHA512_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA512_LIBC2)
static int
__archive_sha512init(archive_sha512_ctx *ctx)
{
SHA512Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha512update(archive_sha512_ctx *ctx, const void *indata,
size_t insize)
{
SHA512Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha512final(archive_sha512_ctx *ctx, void *md)
{
SHA512Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA512_LIBC3)
static int
__archive_sha512init(archive_sha512_ctx *ctx)
{
SHA512Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha512update(archive_sha512_ctx *ctx, const void *indata,
size_t insize)
{
SHA512Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha512final(archive_sha512_ctx *ctx, void *md)
{
SHA512Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA512_LIBMD)
static int
__archive_sha512init(archive_sha512_ctx *ctx)
{
SHA512_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha512update(archive_sha512_ctx *ctx, const void *indata,
size_t insize)
{
SHA512_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha512final(archive_sha512_ctx *ctx, void *md)
{
SHA512_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA512_LIBSYSTEM)
static int
__archive_sha512init(archive_sha512_ctx *ctx)
{
CC_SHA512_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha512update(archive_sha512_ctx *ctx, const void *indata,
size_t insize)
{
CC_SHA512_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha512final(archive_sha512_ctx *ctx, void *md)
{
CC_SHA512_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA512_MBEDTLS)
static int
__archive_sha512init(archive_sha512_ctx *ctx)
{
mbedtls_sha512_init(ctx);
if (mbedtls_sha512_starts_ret(ctx, 0) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_sha512update(archive_sha512_ctx *ctx, const void *indata,
size_t insize)
{
if (mbedtls_sha512_update_ret(ctx, indata, insize) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_sha512final(archive_sha512_ctx *ctx, void *md)
{
if (mbedtls_sha512_finish_ret(ctx, md) == 0) {
mbedtls_sha512_free(ctx);
return (ARCHIVE_OK);
} else {
mbedtls_sha512_free(ctx);
return (ARCHIVE_FATAL);
}
}
#elif defined(ARCHIVE_CRYPTO_SHA512_NETTLE)
static int
__archive_sha512init(archive_sha512_ctx *ctx)
{
sha512_init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha512update(archive_sha512_ctx *ctx, const void *indata,
size_t insize)
{
sha512_update(ctx, insize, indata);
return (ARCHIVE_OK);
}
static int
__archive_sha512final(archive_sha512_ctx *ctx, void *md)
{
sha512_digest(ctx, SHA512_DIGEST_SIZE, md);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA512_OPENSSL)
static int
__archive_sha512init(archive_sha512_ctx *ctx)
{
if ((*ctx = EVP_MD_CTX_new()) == NULL)
return (ARCHIVE_FAILED);
EVP_DigestInit(*ctx, EVP_sha512());
return (ARCHIVE_OK);
}
static int
__archive_sha512update(archive_sha512_ctx *ctx, const void *indata,
size_t insize)
{
EVP_DigestUpdate(*ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha512final(archive_sha512_ctx *ctx, void *md)
{
if (*ctx) {
EVP_DigestFinal(*ctx, md, NULL);
EVP_MD_CTX_free(*ctx);
*ctx = NULL;
}
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA512_WIN)
static int
__archive_sha512init(archive_sha512_ctx *ctx)
{
return (win_crypto_init(ctx, CALG_SHA_512));
}
static int
__archive_sha512update(archive_sha512_ctx *ctx, const void *indata,
size_t insize)
{
return (win_crypto_Update(ctx, indata, insize));
}
static int
__archive_sha512final(archive_sha512_ctx *ctx, void *md)
{
return (win_crypto_Final(md, 64, ctx));
}
#else
static int
__archive_sha512init(archive_sha512_ctx *ctx)
{
(void)ctx; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_sha512update(archive_sha512_ctx *ctx, const void *indata,
size_t insize)
{
(void)ctx; /* UNUSED */
(void)indata; /* UNUSED */
(void)insize; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_sha512final(archive_sha512_ctx *ctx, void *md)
{
(void)ctx; /* UNUSED */
(void)md; /* UNUSED */
return (ARCHIVE_FAILED);
}
#endif
/* NOTE: Message Digest functions are set based on availability and by the
* following order of preference.
* 1. libc
* 2. libc2
* 3. libc3
* 4. libSystem
* 5. Nettle
* 6. OpenSSL
* 7. libmd
* 8. Windows API
*/
const struct archive_digest __archive_digest =
{
/* MD5 */
&__archive_md5init,
&__archive_md5update,
&__archive_md5final,
/* RIPEMD160 */
&__archive_ripemd160init,
&__archive_ripemd160update,
&__archive_ripemd160final,
/* SHA1 */
&__archive_sha1init,
&__archive_sha1update,
&__archive_sha1final,
/* SHA256 */
&__archive_sha256init,
&__archive_sha256update,
&__archive_sha256final,
/* SHA384 */
&__archive_sha384init,
&__archive_sha384update,
&__archive_sha384final,
/* SHA512 */
&__archive_sha512init,
&__archive_sha512update,
&__archive_sha512final
};
int
main(int argc, char **argv)
{
archive_rmd160_ctx ctx;
archive_rmd160_init(&ctx);
archive_rmd160_update(&ctx, *argv, argc);
archive_rmd160_final(&ctx, NULL);
return 0;
}
Checking support for ARCHIVE_CRYPTO_SHA1_LIBC failed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeTmp
Run Build Command(s):/bin/gmake -f Makefile cmTC_a934a/fast && gmake -f CMakeFiles/cmTC_a934a.dir/build.make CMakeFiles/cmTC_a934a.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeTmp'
Building C object CMakeFiles/cmTC_a934a.dir/check_crypto_md.c.o
/bin/gcc -I/usr/src/cmake-3.25.0 -I/usr/src/cmake-3.25.0/Utilities/cmlibarchive/libarchive -I/usr/src/cmake-3.25.0/CMakeFiles/CMakeTmp -I/usr/src/cmake-3.25.0/Utilities -w -std=gnu99 -o CMakeFiles/cmTC_a934a.dir/check_crypto_md.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeTmp/check_crypto_md.c
In file included from /usr/src/cmake-3.25.0/CMakeFiles/CMakeTmp/check_crypto_md.c:1204:0:
/usr/src/cmake-3.25.0/Utilities/cmlibarchive/libarchive/archive_digest_private.h:70:18: fatal error: sha1.h: No such file or directory
#include <sha1.h>
^
compilation terminated.
gmake[1]: *** [CMakeFiles/cmTC_a934a.dir/check_crypto_md.c.o] Error 1
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeTmp'
gmake: *** [cmTC_a934a/fast] Error 2
Source file was:
/* config.h. Generated from build/cmake/config.h.in by cmake configure */
#define __LIBARCHIVE_CONFIG_H_INCLUDED 1
#if defined(__osf__)
# define _OSF_SOURCE
#endif
/*
* Ensure we have C99-style int64_t, etc, all defined.
*/
/* Define ZLIB_WINAPI if zlib was built on Visual Studio. */
/* #undef ZLIB_WINAPI */
/* Darwin ACL support */
/* #undef ARCHIVE_ACL_DARWIN */
/* FreeBSD ACL support */
/* #undef ARCHIVE_ACL_FREEBSD */
/* FreeBSD NFSv4 ACL support */
/* #undef ARCHIVE_ACL_FREEBSD_NFS4 */
/* Linux POSIX.1e ACL support via libacl */
/* #undef ARCHIVE_ACL_LIBACL */
/* Linux NFSv4 ACL support via librichacl */
/* #undef ARCHIVE_ACL_LIBRICHACL */
/* Solaris ACL support */
/* #undef ARCHIVE_ACL_SUNOS */
/* Solaris NFSv4 ACL support */
/* #undef ARCHIVE_ACL_SUNOS_NFS4 */
/* MD5 via ARCHIVE_CRYPTO_MD5_LIBC supported. */
/* #undef ARCHIVE_CRYPTO_MD5_LIBC */
/* MD5 via ARCHIVE_CRYPTO_MD5_LIBSYSTEM supported. */
/* #undef ARCHIVE_CRYPTO_MD5_LIBSYSTEM */
/* MD5 via ARCHIVE_CRYPTO_MD5_NETTLE supported. */
/* #undef ARCHIVE_CRYPTO_MD5_NETTLE */
/* MD5 via ARCHIVE_CRYPTO_MD5_OPENSSL supported. */
/* #undef ARCHIVE_CRYPTO_MD5_OPENSSL */
/* MD5 via ARCHIVE_CRYPTO_MD5_WIN supported. */
/* #undef ARCHIVE_CRYPTO_MD5_WIN */
/* RMD160 via ARCHIVE_CRYPTO_RMD160_LIBC supported. */
/* #undef ARCHIVE_CRYPTO_RMD160_LIBC */
/* RMD160 via ARCHIVE_CRYPTO_RMD160_NETTLE supported. */
/* #undef ARCHIVE_CRYPTO_RMD160_NETTLE */
/* RMD160 via ARCHIVE_CRYPTO_RMD160_OPENSSL supported. */
/* #undef ARCHIVE_CRYPTO_RMD160_OPENSSL */
/* SHA1 via ARCHIVE_CRYPTO_SHA1_LIBC supported. */
/* #undef ARCHIVE_CRYPTO_SHA1_LIBC */
/* SHA1 via ARCHIVE_CRYPTO_SHA1_LIBSYSTEM supported. */
/* #undef ARCHIVE_CRYPTO_SHA1_LIBSYSTEM */
/* SHA1 via ARCHIVE_CRYPTO_SHA1_NETTLE supported. */
/* #undef ARCHIVE_CRYPTO_SHA1_NETTLE */
/* SHA1 via ARCHIVE_CRYPTO_SHA1_OPENSSL supported. */
/* #undef ARCHIVE_CRYPTO_SHA1_OPENSSL */
/* SHA1 via ARCHIVE_CRYPTO_SHA1_WIN supported. */
/* #undef ARCHIVE_CRYPTO_SHA1_WIN */
/* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBC supported. */
/* #undef ARCHIVE_CRYPTO_SHA256_LIBC */
/* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBC2 supported. */
/* #undef ARCHIVE_CRYPTO_SHA256_LIBC2 */
/* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBC3 supported. */
/* #undef ARCHIVE_CRYPTO_SHA256_LIBC3 */
/* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBSYSTEM supported. */
/* #undef ARCHIVE_CRYPTO_SHA256_LIBSYSTEM */
/* SHA256 via ARCHIVE_CRYPTO_SHA256_NETTLE supported. */
/* #undef ARCHIVE_CRYPTO_SHA256_NETTLE */
/* SHA256 via ARCHIVE_CRYPTO_SHA256_OPENSSL supported. */
/* #undef ARCHIVE_CRYPTO_SHA256_OPENSSL */
/* SHA256 via ARCHIVE_CRYPTO_SHA256_WIN supported. */
/* #undef ARCHIVE_CRYPTO_SHA256_WIN */
/* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBC supported. */
/* #undef ARCHIVE_CRYPTO_SHA384_LIBC */
/* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBC2 supported. */
/* #undef ARCHIVE_CRYPTO_SHA384_LIBC2 */
/* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBC3 supported. */
/* #undef ARCHIVE_CRYPTO_SHA384_LIBC3 */
/* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBSYSTEM supported. */
/* #undef ARCHIVE_CRYPTO_SHA384_LIBSYSTEM */
/* SHA384 via ARCHIVE_CRYPTO_SHA384_NETTLE supported. */
/* #undef ARCHIVE_CRYPTO_SHA384_NETTLE */
/* SHA384 via ARCHIVE_CRYPTO_SHA384_OPENSSL supported. */
/* #undef ARCHIVE_CRYPTO_SHA384_OPENSSL */
/* SHA384 via ARCHIVE_CRYPTO_SHA384_WIN supported. */
/* #undef ARCHIVE_CRYPTO_SHA384_WIN */
/* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBC supported. */
/* #undef ARCHIVE_CRYPTO_SHA512_LIBC */
/* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBC2 supported. */
/* #undef ARCHIVE_CRYPTO_SHA512_LIBC2 */
/* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBC3 supported. */
/* #undef ARCHIVE_CRYPTO_SHA512_LIBC3 */
/* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBSYSTEM supported. */
/* #undef ARCHIVE_CRYPTO_SHA512_LIBSYSTEM */
/* SHA512 via ARCHIVE_CRYPTO_SHA512_NETTLE supported. */
/* #undef ARCHIVE_CRYPTO_SHA512_NETTLE */
/* SHA512 via ARCHIVE_CRYPTO_SHA512_OPENSSL supported. */
/* #undef ARCHIVE_CRYPTO_SHA512_OPENSSL */
/* SHA512 via ARCHIVE_CRYPTO_SHA512_WIN supported. */
/* #undef ARCHIVE_CRYPTO_SHA512_WIN */
/* AIX xattr support */
/* #undef ARCHIVE_XATTR_AIX */
/* Darwin xattr support */
/* #undef ARCHIVE_XATTR_DARWIN */
/* FreeBSD xattr support */
/* #undef ARCHIVE_XATTR_FREEBSD */
/* Linux xattr support */
/* #undef ARCHIVE_XATTR_LINUX */
/* Version number of bsdcpio */
#define BSDCPIO_VERSION_STRING "3.6.0"
/* Version number of bsdtar */
#define BSDTAR_VERSION_STRING "3.6.0"
/* Version number of bsdcat */
#define BSDCAT_VERSION_STRING "3.6.0"
/* Define to 1 if you have the `acl_create_entry' function. */
/* #undef HAVE_ACL_CREATE_ENTRY */
/* Define to 1 if you have the `acl_get_fd_np' function. */
/* #undef HAVE_ACL_GET_FD_NP */
/* Define to 1 if you have the `acl_get_link' function. */
/* #undef HAVE_ACL_GET_LINK */
/* Define to 1 if you have the `acl_get_link_np' function. */
/* #undef HAVE_ACL_GET_LINK_NP */
/* Define to 1 if you have the `acl_get_perm' function. */
/* #undef HAVE_ACL_GET_PERM */
/* Define to 1 if you have the `acl_get_perm_np' function. */
/* #undef HAVE_ACL_GET_PERM_NP */
/* Define to 1 if you have the `acl_init' function. */
/* #undef HAVE_ACL_INIT */
/* Define to 1 if you have the <acl/libacl.h> header file. */
/* #undef HAVE_ACL_LIBACL_H */
/* Define to 1 if the system has the type `acl_permset_t'. */
/* #undef HAVE_ACL_PERMSET_T */
/* Define to 1 if you have the `acl_set_fd' function. */
/* #undef HAVE_ACL_SET_FD */
/* Define to 1 if you have the `acl_set_fd_np' function. */
/* #undef HAVE_ACL_SET_FD_NP */
/* Define to 1 if you have the `acl_set_file' function. */
/* #undef HAVE_ACL_SET_FILE */
/* Define to 1 if you have the `arc4random_buf' function. */
/* #undef HAVE_ARC4RANDOM_BUF */
/* Define to 1 if you have the <attr/xattr.h> header file. */
/* #undef HAVE_ATTR_XATTR_H */
/* Define to 1 if you have the <Bcrypt.h> header file. */
/* #undef HAVE_BCRYPT_H */
/* Define to 1 if you have the <bsdxml.h> header file. */
/* #undef HAVE_BSDXML_H */
/* Define to 1 if you have the <bzlib.h> header file. */
#define HAVE_BZLIB_H 1
/* Define to 1 if you have the `chflags' function. */
/* #undef HAVE_CHFLAGS */
/* Define to 1 if you have the `chown' function. */
#define HAVE_CHOWN 1
/* Define to 1 if you have the `chroot' function. */
#define HAVE_CHROOT 1
/* Define to 1 if you have the <copyfile.h> header file. */
/* #undef HAVE_COPYFILE_H */
/* Define to 1 if you have the `ctime_r' function. */
#define HAVE_CTIME_R 1
/* Define to 1 if you have the <ctype.h> header file. */
#define HAVE_CTYPE_H 1
/* Define to 1 if you have the `cygwin_conv_path' function. */
/* #undef HAVE_CYGWIN_CONV_PATH */
/* Define to 1 if you have the declaration of `ACE_GETACL', and to 0 if you
don't. */
/* #undef HAVE_DECL_ACE_GETACL */
/* Define to 1 if you have the declaration of `ACE_GETACLCNT', and to 0 if you
don't. */
/* #undef HAVE_DECL_ACE_GETACLCNT */
/* Define to 1 if you have the declaration of `ACE_SETACL', and to 0 if you
don't. */
/* #undef HAVE_DECL_ACE_SETACL */
/* Define to 1 if you have the declaration of `ACL_SYNCHRONIZE', and to 0 if
you don't. */
/* #undef HAVE_DECL_ACL_SYNCHRONIZE */
/* Define to 1 if you have the declaration of `ACL_TYPE_EXTENDED', and to 0 if
you don't. */
/* #undef HAVE_DECL_ACL_TYPE_EXTENDED */
/* Define to 1 if you have the declaration of `ACL_TYPE_NFS4', and to 0 if you
don't. */
/* #undef HAVE_DECL_ACL_TYPE_NFS4 */
/* Define to 1 if you have the declaration of `ACL_USER', and to 0 if you
don't. */
/* #undef HAVE_DECL_ACL_USER */
/* Define to 1 if you have the declaration of `SETACL', and to 0 if you don't.
*/
/* #undef HAVE_DECL_SETACL */
/* Define to 1 if you have the declaration of `strerror_r', and to 0 if you
don't. */
#define HAVE_DECL_STRERROR_R 1
/* Define to 1 if you have the declaration of `XATTR_NOFOLLOW', and to 0 if
you don't. */
/* #undef HAVE_DECL_XATTR_NOFOLLOW */
/* Define to 1 if you have the <direct.h> header file. */
/* #undef HAVE_DIRECT_H */
/* Define to 1 if you have the <dirent.h> header file, and it defines `DIR'.
*/
#define HAVE_DIRENT_H 1
/* Define to 1 if you have the `dirfd' function. */
#define HAVE_DIRFD 1
/* Define to 1 if you have the <dlfcn.h> header file. */
#define HAVE_DLFCN_H 1
/* Define to 1 if you don't have `vprintf' but do have `_doprnt.' */
/* #undef HAVE_DOPRNT */
/* Define to 1 if nl_langinfo supports D_MD_ORDER */
/* #undef HAVE_D_MD_ORDER */
/* A possible errno value for invalid file format errors */
/* #undef HAVE_EFTYPE */
/* A possible errno value for invalid file format errors */
#define HAVE_EILSEQ 1
/* Define to 1 if you have the <errno.h> header file. */
#define HAVE_ERRNO_H 1
/* Define to 1 if you have the <expat.h> header file. */
/* #undef HAVE_EXPAT_H */
/* Define to 1 if you have the <ext2fs/ext2_fs.h> header file. */
#define HAVE_EXT2FS_EXT2_FS_H 1
/* Define to 1 if you have the `extattr_get_file' function. */
/* #undef HAVE_EXTATTR_GET_FILE */
/* Define to 1 if you have the `extattr_list_file' function. */
/* #undef HAVE_EXTATTR_LIST_FILE */
/* Define to 1 if you have the `extattr_set_fd' function. */
/* #undef HAVE_EXTATTR_SET_FD */
/* Define to 1 if you have the `extattr_set_file' function. */
/* #undef HAVE_EXTATTR_SET_FILE */
/* Define to 1 if EXTATTR_NAMESPACE_USER is defined in sys/extattr.h. */
/* #undef HAVE_DECL_EXTATTR_NAMESPACE_USER */
/* Define to 1 if you have the declaration of `GETACL', and to 0 if you don't.
*/
/* #undef HAVE_DECL_GETACL */
/* Define to 1 if you have the declaration of `GETACLCNT', and to 0 if you
don't. */
/* #undef HAVE_DECL_GETACLCNT */
/* Define to 1 if you have the `fchdir' function. */
#define HAVE_FCHDIR 1
/* Define to 1 if you have the `fchflags' function. */
/* #undef HAVE_FCHFLAGS */
/* Define to 1 if you have the `fchmod' function. */
#define HAVE_FCHMOD 1
/* Define to 1 if you have the `fchown' function. */
#define HAVE_FCHOWN 1
/* Define to 1 if you have the `fcntl' function. */
#define HAVE_FCNTL 1
/* Define to 1 if you have the <fcntl.h> header file. */
#define HAVE_FCNTL_H 1
/* Define to 1 if you have the `fdopendir' function. */
#define HAVE_FDOPENDIR 1
/* Define to 1 if you have the `fgetea' function. */
/* #undef HAVE_FGETEA */
/* Define to 1 if you have the `fgetxattr' function. */
/* #undef HAVE_FGETXATTR */
/* Define to 1 if you have the `flistea' function. */
/* #undef HAVE_FLISTEA */
/* Define to 1 if you have the `flistxattr' function. */
/* #undef HAVE_FLISTXATTR */
/* Define to 1 if you have the `fork' function. */
#define HAVE_FORK 1
/* Define to 1 if fseeko (and presumably ftello) exists and is declared. */
#define HAVE_FSEEKO 1
/* Define to 1 if you have the `fsetea' function. */
/* #undef HAVE_FSETEA */
/* Define to 1 if you have the `fsetxattr' function. */
#define HAVE_FSETXATTR 1
/* Define to 1 if you have the `fstat' function. */
#define HAVE_FSTAT 1
/* Define to 1 if you have the `fstatat' function. */
#define HAVE_FSTATAT 1
/* Define to 1 if you have the `fstatfs' function. */
#define HAVE_FSTATFS 1
/* Define to 1 if you have the `fstatvfs' function. */
#define HAVE_FSTATVFS 1
/* Define to 1 if you have the `ftruncate' function. */
#define HAVE_FTRUNCATE 1
/* Define to 1 if you have the `futimens' function. */
#define HAVE_FUTIMENS 1
/* Define to 1 if you have the `futimes' function. */
#define HAVE_FUTIMES 1
/* Define to 1 if you have the `futimesat' function. */
#define HAVE_FUTIMESAT 1
/* Define to 1 if you have the `getea' function. */
/* #undef HAVE_GETEA */
/* Define to 1 if you have the `geteuid' function. */
#define HAVE_GETEUID 1
/* Define to 1 if you have the `getgrgid_r' function. */
#define HAVE_GETGRGID_R 1
/* Define to 1 if you have the `getgrnam_r' function. */
#define HAVE_GETGRNAM_R 1
/* Define to 1 if you have the `getpid' function. */
#define HAVE_GETPID 1
/* Define to 1 if you have the `getpwnam_r' function. */
#define HAVE_GETPWNAM_R 1
/* Define to 1 if you have the `getpwuid_r' function. */
#define HAVE_GETPWUID_R 1
/* Define to 1 if you have the `getvfsbyname' function. */
/* #undef HAVE_GETVFSBYNAME */
/* Define to 1 if you have the `getxattr' function. */
/* #undef HAVE_GETXATTR */
/* Define to 1 if you have the `gmtime_r' function. */
#define HAVE_GMTIME_R 1
/* Define to 1 if you have the <grp.h> header file. */
#define HAVE_GRP_H 1
/* Define to 1 if you have the `iconv' function. */
/* #undef HAVE_ICONV */
/* Define to 1 if you have the <iconv.h> header file. */
/* #undef HAVE_ICONV_H */
/* Define to 1 if you have the <io.h> header file. */
/* #undef HAVE_IO_H */
/* Define to 1 if you have the <langinfo.h> header file. */
#define HAVE_LANGINFO_H 1
/* Define to 1 if you have the `lchflags' function. */
/* #undef HAVE_LCHFLAGS */
/* Define to 1 if you have the `lchmod' function. */
/* #undef HAVE_LCHMOD */
/* Define to 1 if you have the `lchown' function. */
#define HAVE_LCHOWN 1
/* Define to 1 if you have the `lgetea' function. */
/* #undef HAVE_LGETEA */
/* Define to 1 if you have the `lgetxattr' function. */
/* #undef HAVE_LGETXATTR */
/* Define to 1 if you have the `acl' library (-lacl). */
/* #undef HAVE_LIBACL */
/* Define to 1 if you have the `attr' library (-lattr). */
/* #undef HAVE_LIBATTR */
/* Define to 1 if you have the `bsdxml' library (-lbsdxml). */
/* #undef HAVE_LIBBSDXML */
/* Define to 1 if you have the `bz2' library (-lbz2). */
#define HAVE_LIBBZ2 1
/* Define to 1 if you have the `b2' library (-lb2). */
/* #undef HAVE_LIBB2 */
/* Define to 1 if you have the <blake2.h> header file. */
/* #undef HAVE_BLAKE2_H */
/* Define to 1 if you have the `charset' library (-lcharset). */
/* #undef HAVE_LIBCHARSET */
/* Define to 1 if you have the `crypto' library (-lcrypto). */
#define HAVE_LIBCRYPTO 1
/* Define to 1 if you have the `expat' library (-lexpat). */
/* #undef HAVE_LIBEXPAT */
/* Define to 1 if you have the `gcc' library (-lgcc). */
/* #undef HAVE_LIBGCC */
/* Define to 1 if you have the `lz4' library (-llz4). */
/* #undef HAVE_LIBLZ4 */
/* Define to 1 if you have the `lzma' library (-llzma). */
#define HAVE_LIBLZMA 1
/* Define to 1 if you have the `lzmadec' library (-llzmadec). */
/* #undef HAVE_LIBLZMADEC */
/* Define to 1 if you have the `lzo2' library (-llzo2). */
/* #undef HAVE_LIBLZO2 */
/* Define to 1 if you have the `mbedcrypto' library (-lmbedcrypto). */
/* #undef HAVE_LIBMBEDCRYPTO */
/* Define to 1 if you have the `nettle' library (-lnettle). */
/* #undef HAVE_LIBNETTLE */
/* Define to 1 if you have the `pcre' library (-lpcre). */
/* #undef HAVE_LIBPCRE */
/* Define to 1 if you have the `pcreposix' library (-lpcreposix). */
/* #undef HAVE_LIBPCREPOSIX */
/* Define to 1 if you have the `xml2' library (-lxml2). */
/* #undef HAVE_LIBXML2 */
/* Define to 1 if you have the <libxml/xmlreader.h> header file. */
/* #undef HAVE_LIBXML_XMLREADER_H */
/* Define to 1 if you have the <libxml/xmlwriter.h> header file. */
/* #undef HAVE_LIBXML_XMLWRITER_H */
/* Define to 1 if you have the `z' library (-lz). */
#define HAVE_LIBZ 1
/* Define to 1 if you have the `zstd' library (-lzstd). */
#define HAVE_LIBZSTD 1
/* Define to 1 if you have the `zstd' library (-lzstd) with compression
support. */
#define HAVE_LIBZSTD_COMPRESSOR 1
/* Define to 1 if you have the <limits.h> header file. */
#define HAVE_LIMITS_H 1
/* Define to 1 if you have the `link' function. */
#define HAVE_LINK 1
/* Define to 1 if you have the `linkat' function. */
#define HAVE_LINKAT 1
/* Define to 1 if you have the <linux/fiemap.h> header file. */
#define HAVE_LINUX_FIEMAP_H 1
/* Define to 1 if you have the <linux/fs.h> header file. */
#define HAVE_LINUX_FS_H 1
/* Define to 1 if you have the <linux/magic.h> header file. */
#define HAVE_LINUX_MAGIC_H 1
/* Define to 1 if you have the <linux/types.h> header file. */
#define HAVE_LINUX_TYPES_H 1
/* Define to 1 if you have the `listea' function. */
/* #undef HAVE_LISTEA */
/* Define to 1 if you have the `listxattr' function. */
/* #undef HAVE_LISTXATTR */
/* Define to 1 if you have the `llistea' function. */
/* #undef HAVE_LLISTEA */
/* Define to 1 if you have the `llistxattr' function. */
/* #undef HAVE_LLISTXATTR */
/* Define to 1 if you have the <localcharset.h> header file. */
/* #undef HAVE_LOCALCHARSET_H */
/* Define to 1 if you have the `locale_charset' function. */
/* #undef HAVE_LOCALE_CHARSET */
/* Define to 1 if you have the <locale.h> header file. */
#define HAVE_LOCALE_H 1
/* Define to 1 if you have the `localtime_r' function. */
#define HAVE_LOCALTIME_R 1
/* Define to 1 if the system has the type `long long int'. */
/* #undef HAVE_LONG_LONG_INT */
/* Define to 1 if you have the `lsetea' function. */
/* #undef HAVE_LSETEA */
/* Define to 1 if you have the `lsetxattr' function. */
/* #undef HAVE_LSETXATTR */
/* Define to 1 if you have the `lstat' function. */
#define HAVE_LSTAT 1
/* Define to 1 if `lstat' has the bug that it succeeds when given the
zero-length file name argument. */
/* #undef HAVE_LSTAT_EMPTY_STRING_BUG */
/* Define to 1 if you have the `lutimes' function. */
#define HAVE_LUTIMES 1
/* Define to 1 if you have the <lz4hc.h> header file. */
/* #undef HAVE_LZ4HC_H */
/* Define to 1 if you have the <lz4.h> header file. */
/* #undef HAVE_LZ4_H */
/* Define to 1 if you have the <lzmadec.h> header file. */
/* #undef HAVE_LZMADEC_H */
/* Define to 1 if you have the <lzma.h> header file. */
#define HAVE_LZMA_H 1
/* Define to 1 if you have a working `lzma_stream_encoder_mt' function. */
#define HAVE_LZMA_STREAM_ENCODER_MT 1
/* Define to 1 if you have the <lzo/lzo1x.h> header file. */
/* #undef HAVE_LZO_LZO1X_H */
/* Define to 1 if you have the <lzo/lzoconf.h> header file. */
/* #undef HAVE_LZO_LZOCONF_H */
/* Define to 1 if you have the `mbrtowc' function. */
#define HAVE_MBRTOWC 1
/* Define to 1 if you have the <membership.h> header file. */
/* #undef HAVE_MEMBERSHIP_H */
/* Define to 1 if you have the `memmove' function. */
#define HAVE_MEMMOVE 1
/* Define to 1 if you have the <memory.h> header file. */
#define HAVE_MEMORY_H 1
/* Define to 1 if you have the `mkdir' function. */
#define HAVE_MKDIR 1
/* Define to 1 if you have the `mkfifo' function. */
#define HAVE_MKFIFO 1
/* Define to 1 if you have the `mknod' function. */
#define HAVE_MKNOD 1
/* Define to 1 if you have the `mkstemp' function. */
#define HAVE_MKSTEMP 1
/* Define to 1 if you have the <ndir.h> header file, and it defines `DIR'. */
/* #undef HAVE_NDIR_H */
/* Define to 1 if you have the <nettle/aes.h> header file. */
/* #undef HAVE_NETTLE_AES_H */
/* Define to 1 if you have the <nettle/hmac.h> header file. */
/* #undef HAVE_NETTLE_HMAC_H */
/* Define to 1 if you have the <nettle/md5.h> header file. */
/* #undef HAVE_NETTLE_MD5_H */
/* Define to 1 if you have the <nettle/pbkdf2.h> header file. */
/* #undef HAVE_NETTLE_PBKDF2_H */
/* Define to 1 if you have the <nettle/ripemd160.h> header file. */
/* #undef HAVE_NETTLE_RIPEMD160_H */
/* Define to 1 if you have the <nettle/sha.h> header file. */
/* #undef HAVE_NETTLE_SHA_H */
/* Define to 1 if you have the `nl_langinfo' function. */
#define HAVE_NL_LANGINFO 1
/* Define to 1 if you have the `openat' function. */
#define HAVE_OPENAT 1
/* Define to 1 if you have the <paths.h> header file. */
#define HAVE_PATHS_H 1
/* Define to 1 if you have the <pcreposix.h> header file. */
/* #undef HAVE_PCREPOSIX_H */
/* Define to 1 if you have the `pipe' function. */
#define HAVE_PIPE 1
/* Define to 1 if you have the `PKCS5_PBKDF2_HMAC_SHA1' function. */
/* #undef HAVE_PKCS5_PBKDF2_HMAC_SHA1 */
/* Define to 1 if you have the `poll' function. */
#define HAVE_POLL 1
/* Define to 1 if you have the <poll.h> header file. */
#define HAVE_POLL_H 1
/* Define to 1 if you have the `posix_spawnp' function. */
#define HAVE_POSIX_SPAWNP 1
/* Define to 1 if you have the <process.h> header file. */
/* #undef HAVE_PROCESS_H */
/* Define to 1 if you have the <pthread.h> header file. */
#define HAVE_PTHREAD_H 1
/* Define to 1 if you have the <pwd.h> header file. */
#define HAVE_PWD_H 1
/* Define to 1 if you have the `readdir_r' function. */
#define HAVE_READDIR_R 1
/* Define to 1 if you have the `readlink' function. */
#define HAVE_READLINK 1
/* Define to 1 if you have the `readlinkat' function. */
/* #undef HAVE_READLINKAT */
/* Define to 1 if you have the `readpassphrase' function. */
/* #undef HAVE_READPASSPHRASE */
/* Define to 1 if you have the <readpassphrase.h> header file. */
/* #undef HAVE_READPASSPHRASE_H */
/* Define to 1 if you have the <regex.h> header file. */
#define HAVE_REGEX_H 1
/* Define to 1 if you have the `select' function. */
#define HAVE_SELECT 1
/* Define to 1 if you have the `setenv' function. */
#define HAVE_SETENV 1
/* Define to 1 if you have the `setlocale' function. */
#define HAVE_SETLOCALE 1
/* Define to 1 if you have the `sigaction' function. */
#define HAVE_SIGACTION 1
/* Define to 1 if you have the <signal.h> header file. */
#define HAVE_SIGNAL_H 1
/* Define to 1 if you have the <spawn.h> header file. */
#define HAVE_SPAWN_H 1
/* Define to 1 if you have the `statfs' function. */
#define HAVE_STATFS 1
/* Define to 1 if you have the `statvfs' function. */
#define HAVE_STATVFS 1
/* Define to 1 if `stat' has the bug that it succeeds when given the
zero-length file name argument. */
/* #undef HAVE_STAT_EMPTY_STRING_BUG */
/* Define to 1 if you have the <stdarg.h> header file. */
#define HAVE_STDARG_H 1
/* Define to 1 if you have the <stdlib.h> header file. */
#define HAVE_STDLIB_H 1
/* Define to 1 if you have the `strchr' function. */
#define HAVE_STRCHR 1
/* Define to 1 if you have the `strnlen' function. */
#define HAVE_STRNLEN 1
/* Define to 1 if you have the `strdup' function. */
#define HAVE_STRDUP 1
/* Define to 1 if you have the `strerror' function. */
#define HAVE_STRERROR 1
/* Define to 1 if you have the `strerror_r' function. */
#define HAVE_STRERROR_R 1
/* Define to 1 if you have the `strftime' function. */
#define HAVE_STRFTIME 1
/* Define to 1 if you have the <strings.h> header file. */
#define HAVE_STRINGS_H 1
/* Define to 1 if you have the <string.h> header file. */
#define HAVE_STRING_H 1
/* Define to 1 if you have the `strrchr' function. */
#define HAVE_STRRCHR 1
/* Define to 1 if `f_namemax' is a member of `struct statfs'. */
/* #undef HAVE_STRUCT_STATFS_F_NAMEMAX */
/* Define to 1 if `f_iosize' is a member of `struct statvfs'. */
/* #undef HAVE_STRUCT_STATVFS_F_IOSIZE */
/* Define to 1 if `st_birthtime' is a member of `struct stat'. */
/* #undef HAVE_STRUCT_STAT_ST_BIRTHTIME */
/* Define to 1 if `st_birthtimespec.tv_nsec' is a member of `struct stat'. */
/* #undef HAVE_STRUCT_STAT_ST_BIRTHTIMESPEC_TV_NSEC */
/* Define to 1 if `st_blksize' is a member of `struct stat'. */
#define HAVE_STRUCT_STAT_ST_BLKSIZE 1
/* Define to 1 if `st_flags' is a member of `struct stat'. */
/* #undef HAVE_STRUCT_STAT_ST_FLAGS */
/* Define to 1 if `st_mtimespec.tv_nsec' is a member of `struct stat'. */
/* #undef HAVE_STRUCT_STAT_ST_MTIMESPEC_TV_NSEC */
/* Define to 1 if `st_mtime_n' is a member of `struct stat'. */
/* #undef HAVE_STRUCT_STAT_ST_MTIME_N */
/* Define to 1 if `st_mtime_usec' is a member of `struct stat'. */
/* #undef HAVE_STRUCT_STAT_ST_MTIME_USEC */
/* Define to 1 if `st_mtim.tv_nsec' is a member of `struct stat'. */
#define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1
/* Define to 1 if `st_umtime' is a member of `struct stat'. */
/* #undef HAVE_STRUCT_STAT_ST_UMTIME */
/* Define to 1 if `tm_gmtoff' is a member of `struct tm'. */
#define HAVE_STRUCT_TM_TM_GMTOFF 1
/* Define to 1 if `__tm_gmtoff' is a member of `struct tm'. */
/* #undef HAVE_STRUCT_TM___TM_GMTOFF */
/* Define to 1 if you have `struct vfsconf'. */
/* #undef HAVE_STRUCT_VFSCONF */
/* Define to 1 if you have `struct xvfsconf'. */
/* #undef HAVE_STRUCT_XVFSCONF */
/* Define to 1 if you have the `symlink' function. */
#define HAVE_SYMLINK 1
/* Define to 1 if you have the <sys/acl.h> header file. */
/* #undef HAVE_SYS_ACL_H */
/* Define to 1 if you have the <sys/cdefs.h> header file. */
#define HAVE_SYS_CDEFS_H 1
/* Define to 1 if you have the <sys/dir.h> header file, and it defines `DIR'.
*/
/* #undef HAVE_SYS_DIR_H */
/* Define to 1 if you have the <sys/ea.h> header file. */
/* #undef HAVE_SYS_EA_H */
/* Define to 1 if you have the <sys/extattr.h> header file. */
/* #undef HAVE_SYS_EXTATTR_H */
/* Define to 1 if you have the <sys/ioctl.h> header file. */
#define HAVE_SYS_IOCTL_H 1
/* Define to 1 if you have the <sys/mkdev.h> header file. */
/* #undef HAVE_SYS_MKDEV_H */
/* Define to 1 if you have the <sys/mount.h> header file. */
/* #undef HAVE_SYS_MOUNT_H */
/* Define to 1 if you have the <sys/ndir.h> header file, and it defines `DIR'.
*/
/* #undef HAVE_SYS_NDIR_H */
/* Define to 1 if you have the <sys/param.h> header file. */
#define HAVE_SYS_PARAM_H 1
/* Define to 1 if you have the <sys/poll.h> header file. */
#define HAVE_SYS_POLL_H 1
/* Define to 1 if you have the <sys/richacl.h> header file. */
/* #undef HAVE_SYS_RICHACL_H */
/* Define to 1 if you have the <sys/select.h> header file. */
#define HAVE_SYS_SELECT_H 1
/* Define to 1 if you have the <sys/statfs.h> header file. */
#define HAVE_SYS_STATFS_H 1
/* Define to 1 if you have the <sys/statvfs.h> header file. */
#define HAVE_SYS_STATVFS_H 1
/* Define to 1 if you have the <sys/stat.h> header file. */
#define HAVE_SYS_STAT_H 1
/* Define to 1 if you have the <sys/sysmacros.h> header file. */
#define HAVE_SYS_SYSMACROS_H 1
/* Define to 1 if you have the <sys/time.h> header file. */
#define HAVE_SYS_TIME_H 1
/* Define to 1 if you have the <sys/types.h> header file. */
#define HAVE_SYS_TYPES_H 1
/* Define to 1 if you have the <sys/utime.h> header file. */
/* #undef HAVE_SYS_UTIME_H */
/* Define to 1 if you have the <sys/utsname.h> header file. */
#define HAVE_SYS_UTSNAME_H 1
/* Define to 1 if you have the <sys/vfs.h> header file. */
#define HAVE_SYS_VFS_H 1
/* Define to 1 if you have <sys/wait.h> that is POSIX.1 compatible. */
#define HAVE_SYS_WAIT_H 1
/* Define to 1 if you have the <sys/xattr.h> header file. */
#define HAVE_SYS_XATTR_H 1
/* Define to 1 if you have the `timegm' function. */
#define HAVE_TIMEGM 1
/* Define to 1 if you have the <time.h> header file. */
#define HAVE_TIME_H 1
/* Define to 1 if you have the `tzset' function. */
#define HAVE_TZSET 1
/* Define to 1 if you have the <unistd.h> header file. */
#define HAVE_UNISTD_H 1
/* Define to 1 if you have the `unlinkat' function. */
#define HAVE_UNLINKAT 1
/* Define to 1 if you have the `unsetenv' function. */
#define HAVE_UNSETENV 1
/* Define to 1 if the system has the type `unsigned long long'. */
/* #undef HAVE_UNSIGNED_LONG_LONG */
/* Define to 1 if the system has the type `unsigned long long int'. */
/* #undef HAVE_UNSIGNED_LONG_LONG_INT */
/* Define to 1 if you have the `utime' function. */
#define HAVE_UTIME 1
/* Define to 1 if you have the `utimensat' function. */
#define HAVE_UTIMENSAT 1
/* Define to 1 if you have the `utimes' function. */
#define HAVE_UTIMES 1
/* Define to 1 if you have the <utime.h> header file. */
#define HAVE_UTIME_H 1
/* Define to 1 if you have the `vfork' function. */
#define HAVE_VFORK 1
/* Define to 1 if you have the `vprintf' function. */
#define HAVE_VPRINTF 1
/* Define to 1 if you have the <wchar.h> header file. */
#define HAVE_WCHAR_H 1
/* Define to 1 if the system has the type `wchar_t'. */
#define HAVE_WCHAR_T 1
/* Define to 1 if you have the `wcrtomb' function. */
#define HAVE_WCRTOMB 1
/* Define to 1 if you have the `wcscmp' function. */
#define HAVE_WCSCMP 1
/* Define to 1 if you have the `wcscpy' function. */
#define HAVE_WCSCPY 1
/* Define to 1 if you have the `wcslen' function. */
#define HAVE_WCSLEN 1
/* Define to 1 if you have the `wctomb' function. */
#define HAVE_WCTOMB 1
/* Define to 1 if you have the <wctype.h> header file. */
#define HAVE_WCTYPE_H 1
/* Define to 1 if you have the <wincrypt.h> header file. */
/* #undef HAVE_WINCRYPT_H */
/* Define to 1 if you have the <windows.h> header file. */
/* #undef HAVE_WINDOWS_H */
/* Define to 1 if you have the <winioctl.h> header file. */
/* #undef HAVE_WINIOCTL_H */
/* Define to 1 if you have _CrtSetReportMode in <crtdbg.h> */
/* #undef HAVE__CrtSetReportMode */
/* Define to 1 if you have the `wmemcmp' function. */
#define HAVE_WMEMCMP 1
/* Define to 1 if you have the `wmemcpy' function. */
#define HAVE_WMEMCPY 1
/* Define to 1 if you have the `wmemmove' function. */
#define HAVE_WMEMMOVE 1
/* Define to 1 if you have a working EXT2_IOC_GETFLAGS */
#define HAVE_WORKING_EXT2_IOC_GETFLAGS 1
/* Define to 1 if you have a working FS_IOC_GETFLAGS */
#define HAVE_WORKING_FS_IOC_GETFLAGS 1
/* Define to 1 if you have the <zlib.h> header file. */
#define HAVE_ZLIB_H 1
/* Define to 1 if you have the <zstd.h> header file. */
#define HAVE_ZSTD_H 1
/* Define to 1 if you have the `_ctime64_s' function. */
/* #undef HAVE__CTIME64_S */
/* Define to 1 if you have the `_fseeki64' function. */
/* #undef HAVE__FSEEKI64 */
/* Define to 1 if you have the `_get_timezone' function. */
/* #undef HAVE__GET_TIMEZONE */
/* Define to 1 if you have the `_gmtime64_s' function. */
/* #undef HAVE__GMTIME64_S */
/* Define to 1 if you have the `_localtime64_s' function. */
/* #undef HAVE__LOCALTIME64_S */
/* Define to 1 if you have the `_mkgmtime64' function. */
/* #undef HAVE__MKGMTIME64 */
/* Define as const if the declaration of iconv() needs const. */
#define ICONV_CONST
/* Version number of libarchive as a single integer */
#define LIBARCHIVE_VERSION_NUMBER "3006000"
/* Version number of libarchive */
#define LIBARCHIVE_VERSION_STRING "3.6.0"
/* Define to 1 if `lstat' dereferences a symlink specified with a trailing
slash. */
/* #undef LSTAT_FOLLOWS_SLASHED_SYMLINK */
/* Define to 1 if `major', `minor', and `makedev' are declared in <mkdev.h>.
*/
/* #undef MAJOR_IN_MKDEV */
/* Define to 1 if `major', `minor', and `makedev' are declared in
<sysmacros.h>. */
#define MAJOR_IN_SYSMACROS 1
/* Define to 1 if your C compiler doesn't accept -c and -o together. */
/* #undef NO_MINUS_C_MINUS_O */
/* The size of `wchar_t', as computed by sizeof. */
#define SIZEOF_WCHAR_T 4
/* Define to 1 if strerror_r returns char *. */
/* #undef STRERROR_R_CHAR_P */
/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
#define TIME_WITH_SYS_TIME 1
/*
* Some platform requires a macro to use extension functions.
*/
#define SAFE_TO_DEFINE_EXTENSIONS 1
#ifdef SAFE_TO_DEFINE_EXTENSIONS
/* Enable extensions on AIX 3, Interix. */
#ifndef _ALL_SOURCE
# define _ALL_SOURCE 1
#endif
/* Enable GNU extensions on systems that have them. */
#ifndef _GNU_SOURCE
# define _GNU_SOURCE 1
#endif
/* Enable threading extensions on Solaris. */
#ifndef _POSIX_PTHREAD_SEMANTICS
# define _POSIX_PTHREAD_SEMANTICS 1
#endif
/* Enable extensions on HP NonStop. */
#ifndef _TANDEM_SOURCE
# define _TANDEM_SOURCE 1
#endif
/* Enable general extensions on Solaris. */
#ifndef __EXTENSIONS__
# define __EXTENSIONS__ 1
#endif
#endif /* SAFE_TO_DEFINE_EXTENSIONS */
/* Version number of package */
#define VERSION "3.6.0"
/* Number of bits in a file offset, on hosts where this is settable. */
/* #undef _FILE_OFFSET_BITS */
/* Define to 1 to make fseeko visible on some hosts (e.g. glibc 2.2). */
/* #undef _LARGEFILE_SOURCE */
/* Define for large files, on AIX-style hosts. */
/* #undef _LARGE_FILES */
/* Define to control Windows SDK version */
#ifndef NTDDI_VERSION
/* #undef NTDDI_VERSION */
#endif // NTDDI_VERSION
#ifndef _WIN32_WINNT
/* #undef _WIN32_WINNT */
#endif // _WIN32_WINNT
#ifndef WINVER
/* #undef WINVER */
#endif // WINVER
/* Define to empty if `const' does not conform to ANSI C. */
/* #undef const */
/* Define to `int' if <sys/types.h> doesn't define. */
/* #undef gid_t */
/* Define to `unsigned long' if <sys/types.h> does not define. */
/* #undef id_t */
/* Define to `int' if <sys/types.h> does not define. */
/* #undef mode_t */
/* Define to `long long' if <sys/types.h> does not define. */
/* #undef off_t */
/* Define to `int' if <sys/types.h> doesn't define. */
/* #undef pid_t */
/* Define to `unsigned int' if <sys/types.h> does not define. */
/* #undef size_t */
/* Define to `int' if <sys/types.h> does not define. */
/* #undef ssize_t */
/* Define to `int' if <sys/types.h> doesn't define. */
/* #undef uid_t */
#include <cm3p/kwiml/int.h>
#ifndef KWIML_INT_HAVE_INT64_T
typedef KWIML_INT_int64_t int64_t;
#endif
#ifndef KWIML_INT_HAVE_INT32_T
typedef KWIML_INT_int32_t int32_t;
#endif
#ifndef KWIML_INT_HAVE_INT16_T
typedef KWIML_INT_int16_t int16_t;
#endif
#ifndef KWIML_INT_HAVE_INT8_T
typedef KWIML_INT_int8_t int8_t;
#endif
#ifndef KWIML_INT_HAVE_INTPTR_T
typedef KWIML_INT_intptr_t intptr_t;
#endif
#ifndef KWIML_INT_HAVE_UINT64_T
typedef KWIML_INT_uint64_t uint64_t;
#endif
#ifndef KWIML_INT_HAVE_UINT32_T
typedef KWIML_INT_uint32_t uint32_t;
#endif
#ifndef KWIML_INT_HAVE_UINT16_T
typedef KWIML_INT_uint16_t uint16_t;
#endif
#ifndef KWIML_INT_HAVE_UINT8_T
typedef KWIML_INT_uint8_t uint8_t;
#endif
#ifndef KWIML_INT_HAVE_UINTPTR_T
typedef KWIML_INT_uintptr_t uintptr_t;
#endif
/* Define to 1 if you have the <stdint.h> header file. */
#ifdef KWIML_INT_HAVE_STDINT_H
# define HAVE_STDINT_H 1
#endif
/* Define to 1 if you have the <inttypes.h> header file. */
#ifdef KWIML_INT_HAVE_INTTYPES_H
# define HAVE_INTTYPES_H 1
#endif
#define ARCHIVE_SHA1_COMPILE_TEST
#define ARCHIVE_CRYPTO_SHA1_LIBC
#define PLATFORM_CONFIG_H "check_crypto_md.h"
/*-
* Copyright (c) 2003-2007 Tim Kientzle
* Copyright (c) 2011 Andres Mejia
* Copyright (c) 2011 Michihiro NAKAJIMA
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR(S) ``AS IS'' AND ANY EXPRESS OR
* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
* IN NO EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
#include "archive_platform.h"
#include "archive.h"
#include "archive_digest_private.h"
/* In particular, force the configure probe to break if it tries
* to test a combination of OpenSSL and libmd. */
#if defined(ARCHIVE_CRYPTO_OPENSSL) && defined(ARCHIVE_CRYPTO_LIBMD)
#error Cannot use both OpenSSL and libmd.
#endif
/*
* Message digest functions for Windows platform.
*/
#if defined(ARCHIVE_CRYPTO_MD5_WIN) ||\
defined(ARCHIVE_CRYPTO_SHA1_WIN) ||\
defined(ARCHIVE_CRYPTO_SHA256_WIN) ||\
defined(ARCHIVE_CRYPTO_SHA384_WIN) ||\
defined(ARCHIVE_CRYPTO_SHA512_WIN)
/*
* Initialize a Message digest.
*/
static int
win_crypto_init(Digest_CTX *ctx, ALG_ID algId)
{
ctx->valid = 0;
if (!CryptAcquireContext(&ctx->cryptProv, NULL, NULL,
PROV_RSA_FULL, CRYPT_VERIFYCONTEXT)) {
if (GetLastError() != (DWORD)NTE_BAD_KEYSET)
return (ARCHIVE_FAILED);
if (!CryptAcquireContext(&ctx->cryptProv, NULL, NULL,
PROV_RSA_FULL, CRYPT_NEWKEYSET))
return (ARCHIVE_FAILED);
}
if (!CryptCreateHash(ctx->cryptProv, algId, 0, 0, &ctx->hash)) {
CryptReleaseContext(ctx->cryptProv, 0);
return (ARCHIVE_FAILED);
}
ctx->valid = 1;
return (ARCHIVE_OK);
}
/*
* Update a Message digest.
*/
static int
win_crypto_Update(Digest_CTX *ctx, const unsigned char *buf, size_t len)
{
if (!ctx->valid)
return (ARCHIVE_FAILED);
CryptHashData(ctx->hash,
(unsigned char *)(uintptr_t)buf,
(DWORD)len, 0);
return (ARCHIVE_OK);
}
static int
win_crypto_Final(unsigned char *buf, size_t bufsize, Digest_CTX *ctx)
{
DWORD siglen = (DWORD)bufsize;
if (!ctx->valid)
return (ARCHIVE_FAILED);
CryptGetHashParam(ctx->hash, HP_HASHVAL, buf, &siglen, 0);
CryptDestroyHash(ctx->hash);
CryptReleaseContext(ctx->cryptProv, 0);
ctx->valid = 0;
return (ARCHIVE_OK);
}
#endif /* defined(ARCHIVE_CRYPTO_*_WIN) */
/* MD5 implementations */
#if defined(ARCHIVE_CRYPTO_MD5_LIBC)
static int
__archive_md5init(archive_md5_ctx *ctx)
{
MD5Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_md5update(archive_md5_ctx *ctx, const void *indata,
size_t insize)
{
MD5Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_md5final(archive_md5_ctx *ctx, void *md)
{
MD5Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_MD5_LIBMD)
static int
__archive_md5init(archive_md5_ctx *ctx)
{
MD5Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_md5update(archive_md5_ctx *ctx, const void *indata,
size_t insize)
{
MD5Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_md5final(archive_md5_ctx *ctx, void *md)
{
MD5Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_MD5_LIBSYSTEM)
static int
__archive_md5init(archive_md5_ctx *ctx)
{
CC_MD5_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_md5update(archive_md5_ctx *ctx, const void *indata,
size_t insize)
{
CC_MD5_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_md5final(archive_md5_ctx *ctx, void *md)
{
CC_MD5_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_MD5_MBEDTLS)
static int
__archive_md5init(archive_md5_ctx *ctx)
{
mbedtls_md5_init(ctx);
if (mbedtls_md5_starts_ret(ctx) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_md5update(archive_md5_ctx *ctx, const void *indata,
size_t insize)
{
if (mbedtls_md5_update_ret(ctx, indata, insize) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_md5final(archive_md5_ctx *ctx, void *md)
{
if (mbedtls_md5_finish_ret(ctx, md) == 0) {
mbedtls_md5_free(ctx);
return (ARCHIVE_OK);
} else {
mbedtls_md5_free(ctx);
return (ARCHIVE_FATAL);
}
}
#elif defined(ARCHIVE_CRYPTO_MD5_NETTLE)
static int
__archive_md5init(archive_md5_ctx *ctx)
{
md5_init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_md5update(archive_md5_ctx *ctx, const void *indata,
size_t insize)
{
md5_update(ctx, insize, indata);
return (ARCHIVE_OK);
}
static int
__archive_md5final(archive_md5_ctx *ctx, void *md)
{
md5_digest(ctx, MD5_DIGEST_SIZE, md);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_MD5_OPENSSL)
static int
__archive_md5init(archive_md5_ctx *ctx)
{
if ((*ctx = EVP_MD_CTX_new()) == NULL)
return (ARCHIVE_FAILED);
EVP_DigestInit(*ctx, EVP_md5());
return (ARCHIVE_OK);
}
static int
__archive_md5update(archive_md5_ctx *ctx, const void *indata,
size_t insize)
{
EVP_DigestUpdate(*ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_md5final(archive_md5_ctx *ctx, void *md)
{
/* HACK: archive_write_set_format_xar.c is finalizing empty contexts, so
* this is meant to cope with that. Real fix is probably to fix
* archive_write_set_format_xar.c
*/
if (*ctx) {
EVP_DigestFinal(*ctx, md, NULL);
EVP_MD_CTX_free(*ctx);
*ctx = NULL;
}
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_MD5_WIN)
static int
__archive_md5init(archive_md5_ctx *ctx)
{
return (win_crypto_init(ctx, CALG_MD5));
}
static int
__archive_md5update(archive_md5_ctx *ctx, const void *indata,
size_t insize)
{
return (win_crypto_Update(ctx, indata, insize));
}
static int
__archive_md5final(archive_md5_ctx *ctx, void *md)
{
return (win_crypto_Final(md, 16, ctx));
}
#else
static int
__archive_md5init(archive_md5_ctx *ctx)
{
(void)ctx; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_md5update(archive_md5_ctx *ctx, const void *indata,
size_t insize)
{
(void)ctx; /* UNUSED */
(void)indata; /* UNUSED */
(void)insize; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_md5final(archive_md5_ctx *ctx, void *md)
{
(void)ctx; /* UNUSED */
(void)md; /* UNUSED */
return (ARCHIVE_FAILED);
}
#endif
/* RIPEMD160 implementations */
#if defined(ARCHIVE_CRYPTO_RMD160_LIBC)
static int
__archive_ripemd160init(archive_rmd160_ctx *ctx)
{
RMD160Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata,
size_t insize)
{
RMD160Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_ripemd160final(archive_rmd160_ctx *ctx, void *md)
{
RMD160Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_RMD160_LIBMD)
static int
__archive_ripemd160init(archive_rmd160_ctx *ctx)
{
RIPEMD160_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata,
size_t insize)
{
RIPEMD160_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_ripemd160final(archive_rmd160_ctx *ctx, void *md)
{
RIPEMD160_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_RMD160_MBEDTLS)
static int
__archive_ripemd160init(archive_rmd160_ctx *ctx)
{
mbedtls_ripemd160_init(ctx);
if (mbedtls_ripemd160_starts_ret(ctx) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata,
size_t insize)
{
if (mbedtls_ripemd160_update_ret(ctx, indata, insize) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_ripemd160final(archive_rmd160_ctx *ctx, void *md)
{
if (mbedtls_ripemd160_finish_ret(ctx, md) == 0) {
mbedtls_ripemd160_free(ctx);
return (ARCHIVE_OK);
} else {
mbedtls_ripemd160_free(ctx);
return (ARCHIVE_FATAL);
}
}
#elif defined(ARCHIVE_CRYPTO_RMD160_NETTLE)
static int
__archive_ripemd160init(archive_rmd160_ctx *ctx)
{
ripemd160_init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata,
size_t insize)
{
ripemd160_update(ctx, insize, indata);
return (ARCHIVE_OK);
}
static int
__archive_ripemd160final(archive_rmd160_ctx *ctx, void *md)
{
ripemd160_digest(ctx, RIPEMD160_DIGEST_SIZE, md);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_RMD160_OPENSSL)
static int
__archive_ripemd160init(archive_rmd160_ctx *ctx)
{
if ((*ctx = EVP_MD_CTX_new()) == NULL)
return (ARCHIVE_FAILED);
EVP_DigestInit(*ctx, EVP_ripemd160());
return (ARCHIVE_OK);
}
static int
__archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata,
size_t insize)
{
EVP_DigestUpdate(*ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_ripemd160final(archive_rmd160_ctx *ctx, void *md)
{
if (*ctx) {
EVP_DigestFinal(*ctx, md, NULL);
EVP_MD_CTX_free(*ctx);
*ctx = NULL;
}
return (ARCHIVE_OK);
}
#else
static int
__archive_ripemd160init(archive_rmd160_ctx *ctx)
{
(void)ctx; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata,
size_t insize)
{
(void)ctx; /* UNUSED */
(void)indata; /* UNUSED */
(void)insize; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_ripemd160final(archive_rmd160_ctx *ctx, void *md)
{
(void)ctx; /* UNUSED */
(void)md; /* UNUSED */
return (ARCHIVE_FAILED);
}
#endif
/* SHA1 implementations */
#if defined(ARCHIVE_CRYPTO_SHA1_LIBC)
static int
__archive_sha1init(archive_sha1_ctx *ctx)
{
SHA1Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha1update(archive_sha1_ctx *ctx, const void *indata,
size_t insize)
{
SHA1Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha1final(archive_sha1_ctx *ctx, void *md)
{
SHA1Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA1_LIBMD)
static int
__archive_sha1init(archive_sha1_ctx *ctx)
{
SHA1_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha1update(archive_sha1_ctx *ctx, const void *indata,
size_t insize)
{
SHA1_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha1final(archive_sha1_ctx *ctx, void *md)
{
SHA1_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA1_LIBSYSTEM)
static int
__archive_sha1init(archive_sha1_ctx *ctx)
{
CC_SHA1_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha1update(archive_sha1_ctx *ctx, const void *indata,
size_t insize)
{
CC_SHA1_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha1final(archive_sha1_ctx *ctx, void *md)
{
CC_SHA1_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA1_MBEDTLS)
static int
__archive_sha1init(archive_sha1_ctx *ctx)
{
mbedtls_sha1_init(ctx);
if (mbedtls_sha1_starts_ret(ctx) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_sha1update(archive_sha1_ctx *ctx, const void *indata,
size_t insize)
{
if (mbedtls_sha1_update_ret(ctx, indata, insize) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_sha1final(archive_sha1_ctx *ctx, void *md)
{
if (mbedtls_sha1_finish_ret(ctx, md) == 0) {
mbedtls_sha1_free(ctx);
return (ARCHIVE_OK);
} else {
mbedtls_sha1_free(ctx);
return (ARCHIVE_FATAL);
}
}
#elif defined(ARCHIVE_CRYPTO_SHA1_NETTLE)
static int
__archive_sha1init(archive_sha1_ctx *ctx)
{
sha1_init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha1update(archive_sha1_ctx *ctx, const void *indata,
size_t insize)
{
sha1_update(ctx, insize, indata);
return (ARCHIVE_OK);
}
static int
__archive_sha1final(archive_sha1_ctx *ctx, void *md)
{
sha1_digest(ctx, SHA1_DIGEST_SIZE, md);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA1_OPENSSL)
static int
__archive_sha1init(archive_sha1_ctx *ctx)
{
if ((*ctx = EVP_MD_CTX_new()) == NULL)
return (ARCHIVE_FAILED);
EVP_DigestInit(*ctx, EVP_sha1());
return (ARCHIVE_OK);
}
static int
__archive_sha1update(archive_sha1_ctx *ctx, const void *indata,
size_t insize)
{
EVP_DigestUpdate(*ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha1final(archive_sha1_ctx *ctx, void *md)
{
/* HACK: archive_write_set_format_xar.c is finalizing empty contexts, so
* this is meant to cope with that. Real fix is probably to fix
* archive_write_set_format_xar.c
*/
if (*ctx) {
EVP_DigestFinal(*ctx, md, NULL);
EVP_MD_CTX_free(*ctx);
*ctx = NULL;
}
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA1_WIN)
static int
__archive_sha1init(archive_sha1_ctx *ctx)
{
return (win_crypto_init(ctx, CALG_SHA1));
}
static int
__archive_sha1update(archive_sha1_ctx *ctx, const void *indata,
size_t insize)
{
return (win_crypto_Update(ctx, indata, insize));
}
static int
__archive_sha1final(archive_sha1_ctx *ctx, void *md)
{
return (win_crypto_Final(md, 20, ctx));
}
#else
static int
__archive_sha1init(archive_sha1_ctx *ctx)
{
(void)ctx; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_sha1update(archive_sha1_ctx *ctx, const void *indata,
size_t insize)
{
(void)ctx; /* UNUSED */
(void)indata; /* UNUSED */
(void)insize; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_sha1final(archive_sha1_ctx *ctx, void *md)
{
(void)ctx; /* UNUSED */
(void)md; /* UNUSED */
return (ARCHIVE_FAILED);
}
#endif
/* SHA256 implementations */
#if defined(ARCHIVE_CRYPTO_SHA256_LIBC)
static int
__archive_sha256init(archive_sha256_ctx *ctx)
{
SHA256_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha256update(archive_sha256_ctx *ctx, const void *indata,
size_t insize)
{
SHA256_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha256final(archive_sha256_ctx *ctx, void *md)
{
SHA256_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA256_LIBC2)
static int
__archive_sha256init(archive_sha256_ctx *ctx)
{
SHA256Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha256update(archive_sha256_ctx *ctx, const void *indata,
size_t insize)
{
SHA256Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha256final(archive_sha256_ctx *ctx, void *md)
{
SHA256Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA256_LIBC3)
static int
__archive_sha256init(archive_sha256_ctx *ctx)
{
SHA256Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha256update(archive_sha256_ctx *ctx, const void *indata,
size_t insize)
{
SHA256Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha256final(archive_sha256_ctx *ctx, void *md)
{
SHA256Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA256_LIBMD)
static int
__archive_sha256init(archive_sha256_ctx *ctx)
{
SHA256_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha256update(archive_sha256_ctx *ctx, const void *indata,
size_t insize)
{
SHA256_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha256final(archive_sha256_ctx *ctx, void *md)
{
SHA256_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA256_LIBSYSTEM)
static int
__archive_sha256init(archive_sha256_ctx *ctx)
{
CC_SHA256_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha256update(archive_sha256_ctx *ctx, const void *indata,
size_t insize)
{
CC_SHA256_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha256final(archive_sha256_ctx *ctx, void *md)
{
CC_SHA256_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA256_MBEDTLS)
static int
__archive_sha256init(archive_sha256_ctx *ctx)
{
mbedtls_sha256_init(ctx);
if (mbedtls_sha256_starts_ret(ctx, 0) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_sha256update(archive_sha256_ctx *ctx, const void *indata,
size_t insize)
{
if (mbedtls_sha256_update_ret(ctx, indata, insize) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_sha256final(archive_sha256_ctx *ctx, void *md)
{
if (mbedtls_sha256_finish_ret(ctx, md) == 0) {
mbedtls_sha256_free(ctx);
return (ARCHIVE_OK);
} else {
mbedtls_sha256_free(ctx);
return (ARCHIVE_FATAL);
}
}
#elif defined(ARCHIVE_CRYPTO_SHA256_NETTLE)
static int
__archive_sha256init(archive_sha256_ctx *ctx)
{
sha256_init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha256update(archive_sha256_ctx *ctx, const void *indata,
size_t insize)
{
sha256_update(ctx, insize, indata);
return (ARCHIVE_OK);
}
static int
__archive_sha256final(archive_sha256_ctx *ctx, void *md)
{
sha256_digest(ctx, SHA256_DIGEST_SIZE, md);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA256_OPENSSL)
static int
__archive_sha256init(archive_sha256_ctx *ctx)
{
if ((*ctx = EVP_MD_CTX_new()) == NULL)
return (ARCHIVE_FAILED);
EVP_DigestInit(*ctx, EVP_sha256());
return (ARCHIVE_OK);
}
static int
__archive_sha256update(archive_sha256_ctx *ctx, const void *indata,
size_t insize)
{
EVP_DigestUpdate(*ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha256final(archive_sha256_ctx *ctx, void *md)
{
if (*ctx) {
EVP_DigestFinal(*ctx, md, NULL);
EVP_MD_CTX_free(*ctx);
*ctx = NULL;
}
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA256_WIN)
static int
__archive_sha256init(archive_sha256_ctx *ctx)
{
return (win_crypto_init(ctx, CALG_SHA_256));
}
static int
__archive_sha256update(archive_sha256_ctx *ctx, const void *indata,
size_t insize)
{
return (win_crypto_Update(ctx, indata, insize));
}
static int
__archive_sha256final(archive_sha256_ctx *ctx, void *md)
{
return (win_crypto_Final(md, 32, ctx));
}
#else
static int
__archive_sha256init(archive_sha256_ctx *ctx)
{
(void)ctx; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_sha256update(archive_sha256_ctx *ctx, const void *indata,
size_t insize)
{
(void)ctx; /* UNUSED */
(void)indata; /* UNUSED */
(void)insize; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_sha256final(archive_sha256_ctx *ctx, void *md)
{
(void)ctx; /* UNUSED */
(void)md; /* UNUSED */
return (ARCHIVE_FAILED);
}
#endif
/* SHA384 implementations */
#if defined(ARCHIVE_CRYPTO_SHA384_LIBC)
static int
__archive_sha384init(archive_sha384_ctx *ctx)
{
SHA384_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha384update(archive_sha384_ctx *ctx, const void *indata,
size_t insize)
{
SHA384_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha384final(archive_sha384_ctx *ctx, void *md)
{
SHA384_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA384_LIBC2)
static int
__archive_sha384init(archive_sha384_ctx *ctx)
{
SHA384Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha384update(archive_sha384_ctx *ctx, const void *indata,
size_t insize)
{
SHA384Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha384final(archive_sha384_ctx *ctx, void *md)
{
SHA384Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA384_LIBC3)
static int
__archive_sha384init(archive_sha384_ctx *ctx)
{
SHA384Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha384update(archive_sha384_ctx *ctx, const void *indata,
size_t insize)
{
SHA384Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha384final(archive_sha384_ctx *ctx, void *md)
{
SHA384Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA384_LIBSYSTEM)
static int
__archive_sha384init(archive_sha384_ctx *ctx)
{
CC_SHA384_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha384update(archive_sha384_ctx *ctx, const void *indata,
size_t insize)
{
CC_SHA384_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha384final(archive_sha384_ctx *ctx, void *md)
{
CC_SHA384_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA384_MBEDTLS)
static int
__archive_sha384init(archive_sha384_ctx *ctx)
{
mbedtls_sha512_init(ctx);
if (mbedtls_sha512_starts_ret(ctx, 1) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_sha384update(archive_sha384_ctx *ctx, const void *indata,
size_t insize)
{
if (mbedtls_sha512_update_ret(ctx, indata, insize) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_sha384final(archive_sha384_ctx *ctx, void *md)
{
if (mbedtls_sha512_finish_ret(ctx, md) == 0) {
mbedtls_sha512_free(ctx);
return (ARCHIVE_OK);
} else {
mbedtls_sha512_free(ctx);
return (ARCHIVE_FATAL);
}
}
#elif defined(ARCHIVE_CRYPTO_SHA384_NETTLE)
static int
__archive_sha384init(archive_sha384_ctx *ctx)
{
sha384_init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha384update(archive_sha384_ctx *ctx, const void *indata,
size_t insize)
{
sha384_update(ctx, insize, indata);
return (ARCHIVE_OK);
}
static int
__archive_sha384final(archive_sha384_ctx *ctx, void *md)
{
sha384_digest(ctx, SHA384_DIGEST_SIZE, md);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA384_OPENSSL)
static int
__archive_sha384init(archive_sha384_ctx *ctx)
{
if ((*ctx = EVP_MD_CTX_new()) == NULL)
return (ARCHIVE_FAILED);
EVP_DigestInit(*ctx, EVP_sha384());
return (ARCHIVE_OK);
}
static int
__archive_sha384update(archive_sha384_ctx *ctx, const void *indata,
size_t insize)
{
EVP_DigestUpdate(*ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha384final(archive_sha384_ctx *ctx, void *md)
{
if (*ctx) {
EVP_DigestFinal(*ctx, md, NULL);
EVP_MD_CTX_free(*ctx);
*ctx = NULL;
}
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA384_WIN)
static int
__archive_sha384init(archive_sha384_ctx *ctx)
{
return (win_crypto_init(ctx, CALG_SHA_384));
}
static int
__archive_sha384update(archive_sha384_ctx *ctx, const void *indata,
size_t insize)
{
return (win_crypto_Update(ctx, indata, insize));
}
static int
__archive_sha384final(archive_sha384_ctx *ctx, void *md)
{
return (win_crypto_Final(md, 48, ctx));
}
#else
static int
__archive_sha384init(archive_sha384_ctx *ctx)
{
(void)ctx; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_sha384update(archive_sha384_ctx *ctx, const void *indata,
size_t insize)
{
(void)ctx; /* UNUSED */
(void)indata; /* UNUSED */
(void)insize; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_sha384final(archive_sha384_ctx *ctx, void *md)
{
(void)ctx; /* UNUSED */
(void)md; /* UNUSED */
return (ARCHIVE_FAILED);
}
#endif
/* SHA512 implementations */
#if defined(ARCHIVE_CRYPTO_SHA512_LIBC)
static int
__archive_sha512init(archive_sha512_ctx *ctx)
{
SHA512_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha512update(archive_sha512_ctx *ctx, const void *indata,
size_t insize)
{
SHA512_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha512final(archive_sha512_ctx *ctx, void *md)
{
SHA512_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA512_LIBC2)
static int
__archive_sha512init(archive_sha512_ctx *ctx)
{
SHA512Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha512update(archive_sha512_ctx *ctx, const void *indata,
size_t insize)
{
SHA512Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha512final(archive_sha512_ctx *ctx, void *md)
{
SHA512Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA512_LIBC3)
static int
__archive_sha512init(archive_sha512_ctx *ctx)
{
SHA512Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha512update(archive_sha512_ctx *ctx, const void *indata,
size_t insize)
{
SHA512Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha512final(archive_sha512_ctx *ctx, void *md)
{
SHA512Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA512_LIBMD)
static int
__archive_sha512init(archive_sha512_ctx *ctx)
{
SHA512_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha512update(archive_sha512_ctx *ctx, const void *indata,
size_t insize)
{
SHA512_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha512final(archive_sha512_ctx *ctx, void *md)
{
SHA512_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA512_LIBSYSTEM)
static int
__archive_sha512init(archive_sha512_ctx *ctx)
{
CC_SHA512_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha512update(archive_sha512_ctx *ctx, const void *indata,
size_t insize)
{
CC_SHA512_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha512final(archive_sha512_ctx *ctx, void *md)
{
CC_SHA512_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA512_MBEDTLS)
static int
__archive_sha512init(archive_sha512_ctx *ctx)
{
mbedtls_sha512_init(ctx);
if (mbedtls_sha512_starts_ret(ctx, 0) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_sha512update(archive_sha512_ctx *ctx, const void *indata,
size_t insize)
{
if (mbedtls_sha512_update_ret(ctx, indata, insize) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_sha512final(archive_sha512_ctx *ctx, void *md)
{
if (mbedtls_sha512_finish_ret(ctx, md) == 0) {
mbedtls_sha512_free(ctx);
return (ARCHIVE_OK);
} else {
mbedtls_sha512_free(ctx);
return (ARCHIVE_FATAL);
}
}
#elif defined(ARCHIVE_CRYPTO_SHA512_NETTLE)
static int
__archive_sha512init(archive_sha512_ctx *ctx)
{
sha512_init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha512update(archive_sha512_ctx *ctx, const void *indata,
size_t insize)
{
sha512_update(ctx, insize, indata);
return (ARCHIVE_OK);
}
static int
__archive_sha512final(archive_sha512_ctx *ctx, void *md)
{
sha512_digest(ctx, SHA512_DIGEST_SIZE, md);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA512_OPENSSL)
static int
__archive_sha512init(archive_sha512_ctx *ctx)
{
if ((*ctx = EVP_MD_CTX_new()) == NULL)
return (ARCHIVE_FAILED);
EVP_DigestInit(*ctx, EVP_sha512());
return (ARCHIVE_OK);
}
static int
__archive_sha512update(archive_sha512_ctx *ctx, const void *indata,
size_t insize)
{
EVP_DigestUpdate(*ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha512final(archive_sha512_ctx *ctx, void *md)
{
if (*ctx) {
EVP_DigestFinal(*ctx, md, NULL);
EVP_MD_CTX_free(*ctx);
*ctx = NULL;
}
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA512_WIN)
static int
__archive_sha512init(archive_sha512_ctx *ctx)
{
return (win_crypto_init(ctx, CALG_SHA_512));
}
static int
__archive_sha512update(archive_sha512_ctx *ctx, const void *indata,
size_t insize)
{
return (win_crypto_Update(ctx, indata, insize));
}
static int
__archive_sha512final(archive_sha512_ctx *ctx, void *md)
{
return (win_crypto_Final(md, 64, ctx));
}
#else
static int
__archive_sha512init(archive_sha512_ctx *ctx)
{
(void)ctx; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_sha512update(archive_sha512_ctx *ctx, const void *indata,
size_t insize)
{
(void)ctx; /* UNUSED */
(void)indata; /* UNUSED */
(void)insize; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_sha512final(archive_sha512_ctx *ctx, void *md)
{
(void)ctx; /* UNUSED */
(void)md; /* UNUSED */
return (ARCHIVE_FAILED);
}
#endif
/* NOTE: Message Digest functions are set based on availability and by the
* following order of preference.
* 1. libc
* 2. libc2
* 3. libc3
* 4. libSystem
* 5. Nettle
* 6. OpenSSL
* 7. libmd
* 8. Windows API
*/
const struct archive_digest __archive_digest =
{
/* MD5 */
&__archive_md5init,
&__archive_md5update,
&__archive_md5final,
/* RIPEMD160 */
&__archive_ripemd160init,
&__archive_ripemd160update,
&__archive_ripemd160final,
/* SHA1 */
&__archive_sha1init,
&__archive_sha1update,
&__archive_sha1final,
/* SHA256 */
&__archive_sha256init,
&__archive_sha256update,
&__archive_sha256final,
/* SHA384 */
&__archive_sha384init,
&__archive_sha384update,
&__archive_sha384final,
/* SHA512 */
&__archive_sha512init,
&__archive_sha512update,
&__archive_sha512final
};
int
main(int argc, char **argv)
{
archive_sha1_ctx ctx;
archive_sha1_init(&ctx);
archive_sha1_update(&ctx, *argv, argc);
archive_sha1_final(&ctx, NULL);
return 0;
}
Checking support for ARCHIVE_CRYPTO_SHA256_LIBC failed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeTmp
Run Build Command(s):/bin/gmake -f Makefile cmTC_547f0/fast && gmake -f CMakeFiles/cmTC_547f0.dir/build.make CMakeFiles/cmTC_547f0.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeTmp'
Building C object CMakeFiles/cmTC_547f0.dir/check_crypto_md.c.o
/bin/gcc -I/usr/src/cmake-3.25.0 -I/usr/src/cmake-3.25.0/Utilities/cmlibarchive/libarchive -I/usr/src/cmake-3.25.0/CMakeFiles/CMakeTmp -I/usr/src/cmake-3.25.0/Utilities -w -std=gnu99 -o CMakeFiles/cmTC_547f0.dir/check_crypto_md.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeTmp/check_crypto_md.c
In file included from /usr/src/cmake-3.25.0/CMakeFiles/CMakeTmp/check_crypto_md.c:1204:0:
/usr/src/cmake-3.25.0/Utilities/cmlibarchive/libarchive/archive_digest_private.h:81:18: fatal error: sha2.h: No such file or directory
#include <sha2.h>
^
compilation terminated.
gmake[1]: *** [CMakeFiles/cmTC_547f0.dir/check_crypto_md.c.o] Error 1
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeTmp'
gmake: *** [cmTC_547f0/fast] Error 2
Source file was:
/* config.h. Generated from build/cmake/config.h.in by cmake configure */
#define __LIBARCHIVE_CONFIG_H_INCLUDED 1
#if defined(__osf__)
# define _OSF_SOURCE
#endif
/*
* Ensure we have C99-style int64_t, etc, all defined.
*/
/* Define ZLIB_WINAPI if zlib was built on Visual Studio. */
/* #undef ZLIB_WINAPI */
/* Darwin ACL support */
/* #undef ARCHIVE_ACL_DARWIN */
/* FreeBSD ACL support */
/* #undef ARCHIVE_ACL_FREEBSD */
/* FreeBSD NFSv4 ACL support */
/* #undef ARCHIVE_ACL_FREEBSD_NFS4 */
/* Linux POSIX.1e ACL support via libacl */
/* #undef ARCHIVE_ACL_LIBACL */
/* Linux NFSv4 ACL support via librichacl */
/* #undef ARCHIVE_ACL_LIBRICHACL */
/* Solaris ACL support */
/* #undef ARCHIVE_ACL_SUNOS */
/* Solaris NFSv4 ACL support */
/* #undef ARCHIVE_ACL_SUNOS_NFS4 */
/* MD5 via ARCHIVE_CRYPTO_MD5_LIBC supported. */
/* #undef ARCHIVE_CRYPTO_MD5_LIBC */
/* MD5 via ARCHIVE_CRYPTO_MD5_LIBSYSTEM supported. */
/* #undef ARCHIVE_CRYPTO_MD5_LIBSYSTEM */
/* MD5 via ARCHIVE_CRYPTO_MD5_NETTLE supported. */
/* #undef ARCHIVE_CRYPTO_MD5_NETTLE */
/* MD5 via ARCHIVE_CRYPTO_MD5_OPENSSL supported. */
/* #undef ARCHIVE_CRYPTO_MD5_OPENSSL */
/* MD5 via ARCHIVE_CRYPTO_MD5_WIN supported. */
/* #undef ARCHIVE_CRYPTO_MD5_WIN */
/* RMD160 via ARCHIVE_CRYPTO_RMD160_LIBC supported. */
/* #undef ARCHIVE_CRYPTO_RMD160_LIBC */
/* RMD160 via ARCHIVE_CRYPTO_RMD160_NETTLE supported. */
/* #undef ARCHIVE_CRYPTO_RMD160_NETTLE */
/* RMD160 via ARCHIVE_CRYPTO_RMD160_OPENSSL supported. */
/* #undef ARCHIVE_CRYPTO_RMD160_OPENSSL */
/* SHA1 via ARCHIVE_CRYPTO_SHA1_LIBC supported. */
/* #undef ARCHIVE_CRYPTO_SHA1_LIBC */
/* SHA1 via ARCHIVE_CRYPTO_SHA1_LIBSYSTEM supported. */
/* #undef ARCHIVE_CRYPTO_SHA1_LIBSYSTEM */
/* SHA1 via ARCHIVE_CRYPTO_SHA1_NETTLE supported. */
/* #undef ARCHIVE_CRYPTO_SHA1_NETTLE */
/* SHA1 via ARCHIVE_CRYPTO_SHA1_OPENSSL supported. */
/* #undef ARCHIVE_CRYPTO_SHA1_OPENSSL */
/* SHA1 via ARCHIVE_CRYPTO_SHA1_WIN supported. */
/* #undef ARCHIVE_CRYPTO_SHA1_WIN */
/* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBC supported. */
/* #undef ARCHIVE_CRYPTO_SHA256_LIBC */
/* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBC2 supported. */
/* #undef ARCHIVE_CRYPTO_SHA256_LIBC2 */
/* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBC3 supported. */
/* #undef ARCHIVE_CRYPTO_SHA256_LIBC3 */
/* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBSYSTEM supported. */
/* #undef ARCHIVE_CRYPTO_SHA256_LIBSYSTEM */
/* SHA256 via ARCHIVE_CRYPTO_SHA256_NETTLE supported. */
/* #undef ARCHIVE_CRYPTO_SHA256_NETTLE */
/* SHA256 via ARCHIVE_CRYPTO_SHA256_OPENSSL supported. */
/* #undef ARCHIVE_CRYPTO_SHA256_OPENSSL */
/* SHA256 via ARCHIVE_CRYPTO_SHA256_WIN supported. */
/* #undef ARCHIVE_CRYPTO_SHA256_WIN */
/* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBC supported. */
/* #undef ARCHIVE_CRYPTO_SHA384_LIBC */
/* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBC2 supported. */
/* #undef ARCHIVE_CRYPTO_SHA384_LIBC2 */
/* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBC3 supported. */
/* #undef ARCHIVE_CRYPTO_SHA384_LIBC3 */
/* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBSYSTEM supported. */
/* #undef ARCHIVE_CRYPTO_SHA384_LIBSYSTEM */
/* SHA384 via ARCHIVE_CRYPTO_SHA384_NETTLE supported. */
/* #undef ARCHIVE_CRYPTO_SHA384_NETTLE */
/* SHA384 via ARCHIVE_CRYPTO_SHA384_OPENSSL supported. */
/* #undef ARCHIVE_CRYPTO_SHA384_OPENSSL */
/* SHA384 via ARCHIVE_CRYPTO_SHA384_WIN supported. */
/* #undef ARCHIVE_CRYPTO_SHA384_WIN */
/* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBC supported. */
/* #undef ARCHIVE_CRYPTO_SHA512_LIBC */
/* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBC2 supported. */
/* #undef ARCHIVE_CRYPTO_SHA512_LIBC2 */
/* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBC3 supported. */
/* #undef ARCHIVE_CRYPTO_SHA512_LIBC3 */
/* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBSYSTEM supported. */
/* #undef ARCHIVE_CRYPTO_SHA512_LIBSYSTEM */
/* SHA512 via ARCHIVE_CRYPTO_SHA512_NETTLE supported. */
/* #undef ARCHIVE_CRYPTO_SHA512_NETTLE */
/* SHA512 via ARCHIVE_CRYPTO_SHA512_OPENSSL supported. */
/* #undef ARCHIVE_CRYPTO_SHA512_OPENSSL */
/* SHA512 via ARCHIVE_CRYPTO_SHA512_WIN supported. */
/* #undef ARCHIVE_CRYPTO_SHA512_WIN */
/* AIX xattr support */
/* #undef ARCHIVE_XATTR_AIX */
/* Darwin xattr support */
/* #undef ARCHIVE_XATTR_DARWIN */
/* FreeBSD xattr support */
/* #undef ARCHIVE_XATTR_FREEBSD */
/* Linux xattr support */
/* #undef ARCHIVE_XATTR_LINUX */
/* Version number of bsdcpio */
#define BSDCPIO_VERSION_STRING "3.6.0"
/* Version number of bsdtar */
#define BSDTAR_VERSION_STRING "3.6.0"
/* Version number of bsdcat */
#define BSDCAT_VERSION_STRING "3.6.0"
/* Define to 1 if you have the `acl_create_entry' function. */
/* #undef HAVE_ACL_CREATE_ENTRY */
/* Define to 1 if you have the `acl_get_fd_np' function. */
/* #undef HAVE_ACL_GET_FD_NP */
/* Define to 1 if you have the `acl_get_link' function. */
/* #undef HAVE_ACL_GET_LINK */
/* Define to 1 if you have the `acl_get_link_np' function. */
/* #undef HAVE_ACL_GET_LINK_NP */
/* Define to 1 if you have the `acl_get_perm' function. */
/* #undef HAVE_ACL_GET_PERM */
/* Define to 1 if you have the `acl_get_perm_np' function. */
/* #undef HAVE_ACL_GET_PERM_NP */
/* Define to 1 if you have the `acl_init' function. */
/* #undef HAVE_ACL_INIT */
/* Define to 1 if you have the <acl/libacl.h> header file. */
/* #undef HAVE_ACL_LIBACL_H */
/* Define to 1 if the system has the type `acl_permset_t'. */
/* #undef HAVE_ACL_PERMSET_T */
/* Define to 1 if you have the `acl_set_fd' function. */
/* #undef HAVE_ACL_SET_FD */
/* Define to 1 if you have the `acl_set_fd_np' function. */
/* #undef HAVE_ACL_SET_FD_NP */
/* Define to 1 if you have the `acl_set_file' function. */
/* #undef HAVE_ACL_SET_FILE */
/* Define to 1 if you have the `arc4random_buf' function. */
/* #undef HAVE_ARC4RANDOM_BUF */
/* Define to 1 if you have the <attr/xattr.h> header file. */
/* #undef HAVE_ATTR_XATTR_H */
/* Define to 1 if you have the <Bcrypt.h> header file. */
/* #undef HAVE_BCRYPT_H */
/* Define to 1 if you have the <bsdxml.h> header file. */
/* #undef HAVE_BSDXML_H */
/* Define to 1 if you have the <bzlib.h> header file. */
#define HAVE_BZLIB_H 1
/* Define to 1 if you have the `chflags' function. */
/* #undef HAVE_CHFLAGS */
/* Define to 1 if you have the `chown' function. */
#define HAVE_CHOWN 1
/* Define to 1 if you have the `chroot' function. */
#define HAVE_CHROOT 1
/* Define to 1 if you have the <copyfile.h> header file. */
/* #undef HAVE_COPYFILE_H */
/* Define to 1 if you have the `ctime_r' function. */
#define HAVE_CTIME_R 1
/* Define to 1 if you have the <ctype.h> header file. */
#define HAVE_CTYPE_H 1
/* Define to 1 if you have the `cygwin_conv_path' function. */
/* #undef HAVE_CYGWIN_CONV_PATH */
/* Define to 1 if you have the declaration of `ACE_GETACL', and to 0 if you
don't. */
/* #undef HAVE_DECL_ACE_GETACL */
/* Define to 1 if you have the declaration of `ACE_GETACLCNT', and to 0 if you
don't. */
/* #undef HAVE_DECL_ACE_GETACLCNT */
/* Define to 1 if you have the declaration of `ACE_SETACL', and to 0 if you
don't. */
/* #undef HAVE_DECL_ACE_SETACL */
/* Define to 1 if you have the declaration of `ACL_SYNCHRONIZE', and to 0 if
you don't. */
/* #undef HAVE_DECL_ACL_SYNCHRONIZE */
/* Define to 1 if you have the declaration of `ACL_TYPE_EXTENDED', and to 0 if
you don't. */
/* #undef HAVE_DECL_ACL_TYPE_EXTENDED */
/* Define to 1 if you have the declaration of `ACL_TYPE_NFS4', and to 0 if you
don't. */
/* #undef HAVE_DECL_ACL_TYPE_NFS4 */
/* Define to 1 if you have the declaration of `ACL_USER', and to 0 if you
don't. */
/* #undef HAVE_DECL_ACL_USER */
/* Define to 1 if you have the declaration of `SETACL', and to 0 if you don't.
*/
/* #undef HAVE_DECL_SETACL */
/* Define to 1 if you have the declaration of `strerror_r', and to 0 if you
don't. */
#define HAVE_DECL_STRERROR_R 1
/* Define to 1 if you have the declaration of `XATTR_NOFOLLOW', and to 0 if
you don't. */
/* #undef HAVE_DECL_XATTR_NOFOLLOW */
/* Define to 1 if you have the <direct.h> header file. */
/* #undef HAVE_DIRECT_H */
/* Define to 1 if you have the <dirent.h> header file, and it defines `DIR'.
*/
#define HAVE_DIRENT_H 1
/* Define to 1 if you have the `dirfd' function. */
#define HAVE_DIRFD 1
/* Define to 1 if you have the <dlfcn.h> header file. */
#define HAVE_DLFCN_H 1
/* Define to 1 if you don't have `vprintf' but do have `_doprnt.' */
/* #undef HAVE_DOPRNT */
/* Define to 1 if nl_langinfo supports D_MD_ORDER */
/* #undef HAVE_D_MD_ORDER */
/* A possible errno value for invalid file format errors */
/* #undef HAVE_EFTYPE */
/* A possible errno value for invalid file format errors */
#define HAVE_EILSEQ 1
/* Define to 1 if you have the <errno.h> header file. */
#define HAVE_ERRNO_H 1
/* Define to 1 if you have the <expat.h> header file. */
/* #undef HAVE_EXPAT_H */
/* Define to 1 if you have the <ext2fs/ext2_fs.h> header file. */
#define HAVE_EXT2FS_EXT2_FS_H 1
/* Define to 1 if you have the `extattr_get_file' function. */
/* #undef HAVE_EXTATTR_GET_FILE */
/* Define to 1 if you have the `extattr_list_file' function. */
/* #undef HAVE_EXTATTR_LIST_FILE */
/* Define to 1 if you have the `extattr_set_fd' function. */
/* #undef HAVE_EXTATTR_SET_FD */
/* Define to 1 if you have the `extattr_set_file' function. */
/* #undef HAVE_EXTATTR_SET_FILE */
/* Define to 1 if EXTATTR_NAMESPACE_USER is defined in sys/extattr.h. */
/* #undef HAVE_DECL_EXTATTR_NAMESPACE_USER */
/* Define to 1 if you have the declaration of `GETACL', and to 0 if you don't.
*/
/* #undef HAVE_DECL_GETACL */
/* Define to 1 if you have the declaration of `GETACLCNT', and to 0 if you
don't. */
/* #undef HAVE_DECL_GETACLCNT */
/* Define to 1 if you have the `fchdir' function. */
#define HAVE_FCHDIR 1
/* Define to 1 if you have the `fchflags' function. */
/* #undef HAVE_FCHFLAGS */
/* Define to 1 if you have the `fchmod' function. */
#define HAVE_FCHMOD 1
/* Define to 1 if you have the `fchown' function. */
#define HAVE_FCHOWN 1
/* Define to 1 if you have the `fcntl' function. */
#define HAVE_FCNTL 1
/* Define to 1 if you have the <fcntl.h> header file. */
#define HAVE_FCNTL_H 1
/* Define to 1 if you have the `fdopendir' function. */
#define HAVE_FDOPENDIR 1
/* Define to 1 if you have the `fgetea' function. */
/* #undef HAVE_FGETEA */
/* Define to 1 if you have the `fgetxattr' function. */
/* #undef HAVE_FGETXATTR */
/* Define to 1 if you have the `flistea' function. */
/* #undef HAVE_FLISTEA */
/* Define to 1 if you have the `flistxattr' function. */
/* #undef HAVE_FLISTXATTR */
/* Define to 1 if you have the `fork' function. */
#define HAVE_FORK 1
/* Define to 1 if fseeko (and presumably ftello) exists and is declared. */
#define HAVE_FSEEKO 1
/* Define to 1 if you have the `fsetea' function. */
/* #undef HAVE_FSETEA */
/* Define to 1 if you have the `fsetxattr' function. */
#define HAVE_FSETXATTR 1
/* Define to 1 if you have the `fstat' function. */
#define HAVE_FSTAT 1
/* Define to 1 if you have the `fstatat' function. */
#define HAVE_FSTATAT 1
/* Define to 1 if you have the `fstatfs' function. */
#define HAVE_FSTATFS 1
/* Define to 1 if you have the `fstatvfs' function. */
#define HAVE_FSTATVFS 1
/* Define to 1 if you have the `ftruncate' function. */
#define HAVE_FTRUNCATE 1
/* Define to 1 if you have the `futimens' function. */
#define HAVE_FUTIMENS 1
/* Define to 1 if you have the `futimes' function. */
#define HAVE_FUTIMES 1
/* Define to 1 if you have the `futimesat' function. */
#define HAVE_FUTIMESAT 1
/* Define to 1 if you have the `getea' function. */
/* #undef HAVE_GETEA */
/* Define to 1 if you have the `geteuid' function. */
#define HAVE_GETEUID 1
/* Define to 1 if you have the `getgrgid_r' function. */
#define HAVE_GETGRGID_R 1
/* Define to 1 if you have the `getgrnam_r' function. */
#define HAVE_GETGRNAM_R 1
/* Define to 1 if you have the `getpid' function. */
#define HAVE_GETPID 1
/* Define to 1 if you have the `getpwnam_r' function. */
#define HAVE_GETPWNAM_R 1
/* Define to 1 if you have the `getpwuid_r' function. */
#define HAVE_GETPWUID_R 1
/* Define to 1 if you have the `getvfsbyname' function. */
/* #undef HAVE_GETVFSBYNAME */
/* Define to 1 if you have the `getxattr' function. */
/* #undef HAVE_GETXATTR */
/* Define to 1 if you have the `gmtime_r' function. */
#define HAVE_GMTIME_R 1
/* Define to 1 if you have the <grp.h> header file. */
#define HAVE_GRP_H 1
/* Define to 1 if you have the `iconv' function. */
/* #undef HAVE_ICONV */
/* Define to 1 if you have the <iconv.h> header file. */
/* #undef HAVE_ICONV_H */
/* Define to 1 if you have the <io.h> header file. */
/* #undef HAVE_IO_H */
/* Define to 1 if you have the <langinfo.h> header file. */
#define HAVE_LANGINFO_H 1
/* Define to 1 if you have the `lchflags' function. */
/* #undef HAVE_LCHFLAGS */
/* Define to 1 if you have the `lchmod' function. */
/* #undef HAVE_LCHMOD */
/* Define to 1 if you have the `lchown' function. */
#define HAVE_LCHOWN 1
/* Define to 1 if you have the `lgetea' function. */
/* #undef HAVE_LGETEA */
/* Define to 1 if you have the `lgetxattr' function. */
/* #undef HAVE_LGETXATTR */
/* Define to 1 if you have the `acl' library (-lacl). */
/* #undef HAVE_LIBACL */
/* Define to 1 if you have the `attr' library (-lattr). */
/* #undef HAVE_LIBATTR */
/* Define to 1 if you have the `bsdxml' library (-lbsdxml). */
/* #undef HAVE_LIBBSDXML */
/* Define to 1 if you have the `bz2' library (-lbz2). */
#define HAVE_LIBBZ2 1
/* Define to 1 if you have the `b2' library (-lb2). */
/* #undef HAVE_LIBB2 */
/* Define to 1 if you have the <blake2.h> header file. */
/* #undef HAVE_BLAKE2_H */
/* Define to 1 if you have the `charset' library (-lcharset). */
/* #undef HAVE_LIBCHARSET */
/* Define to 1 if you have the `crypto' library (-lcrypto). */
#define HAVE_LIBCRYPTO 1
/* Define to 1 if you have the `expat' library (-lexpat). */
/* #undef HAVE_LIBEXPAT */
/* Define to 1 if you have the `gcc' library (-lgcc). */
/* #undef HAVE_LIBGCC */
/* Define to 1 if you have the `lz4' library (-llz4). */
/* #undef HAVE_LIBLZ4 */
/* Define to 1 if you have the `lzma' library (-llzma). */
#define HAVE_LIBLZMA 1
/* Define to 1 if you have the `lzmadec' library (-llzmadec). */
/* #undef HAVE_LIBLZMADEC */
/* Define to 1 if you have the `lzo2' library (-llzo2). */
/* #undef HAVE_LIBLZO2 */
/* Define to 1 if you have the `mbedcrypto' library (-lmbedcrypto). */
/* #undef HAVE_LIBMBEDCRYPTO */
/* Define to 1 if you have the `nettle' library (-lnettle). */
/* #undef HAVE_LIBNETTLE */
/* Define to 1 if you have the `pcre' library (-lpcre). */
/* #undef HAVE_LIBPCRE */
/* Define to 1 if you have the `pcreposix' library (-lpcreposix). */
/* #undef HAVE_LIBPCREPOSIX */
/* Define to 1 if you have the `xml2' library (-lxml2). */
/* #undef HAVE_LIBXML2 */
/* Define to 1 if you have the <libxml/xmlreader.h> header file. */
/* #undef HAVE_LIBXML_XMLREADER_H */
/* Define to 1 if you have the <libxml/xmlwriter.h> header file. */
/* #undef HAVE_LIBXML_XMLWRITER_H */
/* Define to 1 if you have the `z' library (-lz). */
#define HAVE_LIBZ 1
/* Define to 1 if you have the `zstd' library (-lzstd). */
#define HAVE_LIBZSTD 1
/* Define to 1 if you have the `zstd' library (-lzstd) with compression
support. */
#define HAVE_LIBZSTD_COMPRESSOR 1
/* Define to 1 if you have the <limits.h> header file. */
#define HAVE_LIMITS_H 1
/* Define to 1 if you have the `link' function. */
#define HAVE_LINK 1
/* Define to 1 if you have the `linkat' function. */
#define HAVE_LINKAT 1
/* Define to 1 if you have the <linux/fiemap.h> header file. */
#define HAVE_LINUX_FIEMAP_H 1
/* Define to 1 if you have the <linux/fs.h> header file. */
#define HAVE_LINUX_FS_H 1
/* Define to 1 if you have the <linux/magic.h> header file. */
#define HAVE_LINUX_MAGIC_H 1
/* Define to 1 if you have the <linux/types.h> header file. */
#define HAVE_LINUX_TYPES_H 1
/* Define to 1 if you have the `listea' function. */
/* #undef HAVE_LISTEA */
/* Define to 1 if you have the `listxattr' function. */
/* #undef HAVE_LISTXATTR */
/* Define to 1 if you have the `llistea' function. */
/* #undef HAVE_LLISTEA */
/* Define to 1 if you have the `llistxattr' function. */
/* #undef HAVE_LLISTXATTR */
/* Define to 1 if you have the <localcharset.h> header file. */
/* #undef HAVE_LOCALCHARSET_H */
/* Define to 1 if you have the `locale_charset' function. */
/* #undef HAVE_LOCALE_CHARSET */
/* Define to 1 if you have the <locale.h> header file. */
#define HAVE_LOCALE_H 1
/* Define to 1 if you have the `localtime_r' function. */
#define HAVE_LOCALTIME_R 1
/* Define to 1 if the system has the type `long long int'. */
/* #undef HAVE_LONG_LONG_INT */
/* Define to 1 if you have the `lsetea' function. */
/* #undef HAVE_LSETEA */
/* Define to 1 if you have the `lsetxattr' function. */
/* #undef HAVE_LSETXATTR */
/* Define to 1 if you have the `lstat' function. */
#define HAVE_LSTAT 1
/* Define to 1 if `lstat' has the bug that it succeeds when given the
zero-length file name argument. */
/* #undef HAVE_LSTAT_EMPTY_STRING_BUG */
/* Define to 1 if you have the `lutimes' function. */
#define HAVE_LUTIMES 1
/* Define to 1 if you have the <lz4hc.h> header file. */
/* #undef HAVE_LZ4HC_H */
/* Define to 1 if you have the <lz4.h> header file. */
/* #undef HAVE_LZ4_H */
/* Define to 1 if you have the <lzmadec.h> header file. */
/* #undef HAVE_LZMADEC_H */
/* Define to 1 if you have the <lzma.h> header file. */
#define HAVE_LZMA_H 1
/* Define to 1 if you have a working `lzma_stream_encoder_mt' function. */
#define HAVE_LZMA_STREAM_ENCODER_MT 1
/* Define to 1 if you have the <lzo/lzo1x.h> header file. */
/* #undef HAVE_LZO_LZO1X_H */
/* Define to 1 if you have the <lzo/lzoconf.h> header file. */
/* #undef HAVE_LZO_LZOCONF_H */
/* Define to 1 if you have the `mbrtowc' function. */
#define HAVE_MBRTOWC 1
/* Define to 1 if you have the <membership.h> header file. */
/* #undef HAVE_MEMBERSHIP_H */
/* Define to 1 if you have the `memmove' function. */
#define HAVE_MEMMOVE 1
/* Define to 1 if you have the <memory.h> header file. */
#define HAVE_MEMORY_H 1
/* Define to 1 if you have the `mkdir' function. */
#define HAVE_MKDIR 1
/* Define to 1 if you have the `mkfifo' function. */
#define HAVE_MKFIFO 1
/* Define to 1 if you have the `mknod' function. */
#define HAVE_MKNOD 1
/* Define to 1 if you have the `mkstemp' function. */
#define HAVE_MKSTEMP 1
/* Define to 1 if you have the <ndir.h> header file, and it defines `DIR'. */
/* #undef HAVE_NDIR_H */
/* Define to 1 if you have the <nettle/aes.h> header file. */
/* #undef HAVE_NETTLE_AES_H */
/* Define to 1 if you have the <nettle/hmac.h> header file. */
/* #undef HAVE_NETTLE_HMAC_H */
/* Define to 1 if you have the <nettle/md5.h> header file. */
/* #undef HAVE_NETTLE_MD5_H */
/* Define to 1 if you have the <nettle/pbkdf2.h> header file. */
/* #undef HAVE_NETTLE_PBKDF2_H */
/* Define to 1 if you have the <nettle/ripemd160.h> header file. */
/* #undef HAVE_NETTLE_RIPEMD160_H */
/* Define to 1 if you have the <nettle/sha.h> header file. */
/* #undef HAVE_NETTLE_SHA_H */
/* Define to 1 if you have the `nl_langinfo' function. */
#define HAVE_NL_LANGINFO 1
/* Define to 1 if you have the `openat' function. */
#define HAVE_OPENAT 1
/* Define to 1 if you have the <paths.h> header file. */
#define HAVE_PATHS_H 1
/* Define to 1 if you have the <pcreposix.h> header file. */
/* #undef HAVE_PCREPOSIX_H */
/* Define to 1 if you have the `pipe' function. */
#define HAVE_PIPE 1
/* Define to 1 if you have the `PKCS5_PBKDF2_HMAC_SHA1' function. */
/* #undef HAVE_PKCS5_PBKDF2_HMAC_SHA1 */
/* Define to 1 if you have the `poll' function. */
#define HAVE_POLL 1
/* Define to 1 if you have the <poll.h> header file. */
#define HAVE_POLL_H 1
/* Define to 1 if you have the `posix_spawnp' function. */
#define HAVE_POSIX_SPAWNP 1
/* Define to 1 if you have the <process.h> header file. */
/* #undef HAVE_PROCESS_H */
/* Define to 1 if you have the <pthread.h> header file. */
#define HAVE_PTHREAD_H 1
/* Define to 1 if you have the <pwd.h> header file. */
#define HAVE_PWD_H 1
/* Define to 1 if you have the `readdir_r' function. */
#define HAVE_READDIR_R 1
/* Define to 1 if you have the `readlink' function. */
#define HAVE_READLINK 1
/* Define to 1 if you have the `readlinkat' function. */
/* #undef HAVE_READLINKAT */
/* Define to 1 if you have the `readpassphrase' function. */
/* #undef HAVE_READPASSPHRASE */
/* Define to 1 if you have the <readpassphrase.h> header file. */
/* #undef HAVE_READPASSPHRASE_H */
/* Define to 1 if you have the <regex.h> header file. */
#define HAVE_REGEX_H 1
/* Define to 1 if you have the `select' function. */
#define HAVE_SELECT 1
/* Define to 1 if you have the `setenv' function. */
#define HAVE_SETENV 1
/* Define to 1 if you have the `setlocale' function. */
#define HAVE_SETLOCALE 1
/* Define to 1 if you have the `sigaction' function. */
#define HAVE_SIGACTION 1
/* Define to 1 if you have the <signal.h> header file. */
#define HAVE_SIGNAL_H 1
/* Define to 1 if you have the <spawn.h> header file. */
#define HAVE_SPAWN_H 1
/* Define to 1 if you have the `statfs' function. */
#define HAVE_STATFS 1
/* Define to 1 if you have the `statvfs' function. */
#define HAVE_STATVFS 1
/* Define to 1 if `stat' has the bug that it succeeds when given the
zero-length file name argument. */
/* #undef HAVE_STAT_EMPTY_STRING_BUG */
/* Define to 1 if you have the <stdarg.h> header file. */
#define HAVE_STDARG_H 1
/* Define to 1 if you have the <stdlib.h> header file. */
#define HAVE_STDLIB_H 1
/* Define to 1 if you have the `strchr' function. */
#define HAVE_STRCHR 1
/* Define to 1 if you have the `strnlen' function. */
#define HAVE_STRNLEN 1
/* Define to 1 if you have the `strdup' function. */
#define HAVE_STRDUP 1
/* Define to 1 if you have the `strerror' function. */
#define HAVE_STRERROR 1
/* Define to 1 if you have the `strerror_r' function. */
#define HAVE_STRERROR_R 1
/* Define to 1 if you have the `strftime' function. */
#define HAVE_STRFTIME 1
/* Define to 1 if you have the <strings.h> header file. */
#define HAVE_STRINGS_H 1
/* Define to 1 if you have the <string.h> header file. */
#define HAVE_STRING_H 1
/* Define to 1 if you have the `strrchr' function. */
#define HAVE_STRRCHR 1
/* Define to 1 if `f_namemax' is a member of `struct statfs'. */
/* #undef HAVE_STRUCT_STATFS_F_NAMEMAX */
/* Define to 1 if `f_iosize' is a member of `struct statvfs'. */
/* #undef HAVE_STRUCT_STATVFS_F_IOSIZE */
/* Define to 1 if `st_birthtime' is a member of `struct stat'. */
/* #undef HAVE_STRUCT_STAT_ST_BIRTHTIME */
/* Define to 1 if `st_birthtimespec.tv_nsec' is a member of `struct stat'. */
/* #undef HAVE_STRUCT_STAT_ST_BIRTHTIMESPEC_TV_NSEC */
/* Define to 1 if `st_blksize' is a member of `struct stat'. */
#define HAVE_STRUCT_STAT_ST_BLKSIZE 1
/* Define to 1 if `st_flags' is a member of `struct stat'. */
/* #undef HAVE_STRUCT_STAT_ST_FLAGS */
/* Define to 1 if `st_mtimespec.tv_nsec' is a member of `struct stat'. */
/* #undef HAVE_STRUCT_STAT_ST_MTIMESPEC_TV_NSEC */
/* Define to 1 if `st_mtime_n' is a member of `struct stat'. */
/* #undef HAVE_STRUCT_STAT_ST_MTIME_N */
/* Define to 1 if `st_mtime_usec' is a member of `struct stat'. */
/* #undef HAVE_STRUCT_STAT_ST_MTIME_USEC */
/* Define to 1 if `st_mtim.tv_nsec' is a member of `struct stat'. */
#define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1
/* Define to 1 if `st_umtime' is a member of `struct stat'. */
/* #undef HAVE_STRUCT_STAT_ST_UMTIME */
/* Define to 1 if `tm_gmtoff' is a member of `struct tm'. */
#define HAVE_STRUCT_TM_TM_GMTOFF 1
/* Define to 1 if `__tm_gmtoff' is a member of `struct tm'. */
/* #undef HAVE_STRUCT_TM___TM_GMTOFF */
/* Define to 1 if you have `struct vfsconf'. */
/* #undef HAVE_STRUCT_VFSCONF */
/* Define to 1 if you have `struct xvfsconf'. */
/* #undef HAVE_STRUCT_XVFSCONF */
/* Define to 1 if you have the `symlink' function. */
#define HAVE_SYMLINK 1
/* Define to 1 if you have the <sys/acl.h> header file. */
/* #undef HAVE_SYS_ACL_H */
/* Define to 1 if you have the <sys/cdefs.h> header file. */
#define HAVE_SYS_CDEFS_H 1
/* Define to 1 if you have the <sys/dir.h> header file, and it defines `DIR'.
*/
/* #undef HAVE_SYS_DIR_H */
/* Define to 1 if you have the <sys/ea.h> header file. */
/* #undef HAVE_SYS_EA_H */
/* Define to 1 if you have the <sys/extattr.h> header file. */
/* #undef HAVE_SYS_EXTATTR_H */
/* Define to 1 if you have the <sys/ioctl.h> header file. */
#define HAVE_SYS_IOCTL_H 1
/* Define to 1 if you have the <sys/mkdev.h> header file. */
/* #undef HAVE_SYS_MKDEV_H */
/* Define to 1 if you have the <sys/mount.h> header file. */
/* #undef HAVE_SYS_MOUNT_H */
/* Define to 1 if you have the <sys/ndir.h> header file, and it defines `DIR'.
*/
/* #undef HAVE_SYS_NDIR_H */
/* Define to 1 if you have the <sys/param.h> header file. */
#define HAVE_SYS_PARAM_H 1
/* Define to 1 if you have the <sys/poll.h> header file. */
#define HAVE_SYS_POLL_H 1
/* Define to 1 if you have the <sys/richacl.h> header file. */
/* #undef HAVE_SYS_RICHACL_H */
/* Define to 1 if you have the <sys/select.h> header file. */
#define HAVE_SYS_SELECT_H 1
/* Define to 1 if you have the <sys/statfs.h> header file. */
#define HAVE_SYS_STATFS_H 1
/* Define to 1 if you have the <sys/statvfs.h> header file. */
#define HAVE_SYS_STATVFS_H 1
/* Define to 1 if you have the <sys/stat.h> header file. */
#define HAVE_SYS_STAT_H 1
/* Define to 1 if you have the <sys/sysmacros.h> header file. */
#define HAVE_SYS_SYSMACROS_H 1
/* Define to 1 if you have the <sys/time.h> header file. */
#define HAVE_SYS_TIME_H 1
/* Define to 1 if you have the <sys/types.h> header file. */
#define HAVE_SYS_TYPES_H 1
/* Define to 1 if you have the <sys/utime.h> header file. */
/* #undef HAVE_SYS_UTIME_H */
/* Define to 1 if you have the <sys/utsname.h> header file. */
#define HAVE_SYS_UTSNAME_H 1
/* Define to 1 if you have the <sys/vfs.h> header file. */
#define HAVE_SYS_VFS_H 1
/* Define to 1 if you have <sys/wait.h> that is POSIX.1 compatible. */
#define HAVE_SYS_WAIT_H 1
/* Define to 1 if you have the <sys/xattr.h> header file. */
#define HAVE_SYS_XATTR_H 1
/* Define to 1 if you have the `timegm' function. */
#define HAVE_TIMEGM 1
/* Define to 1 if you have the <time.h> header file. */
#define HAVE_TIME_H 1
/* Define to 1 if you have the `tzset' function. */
#define HAVE_TZSET 1
/* Define to 1 if you have the <unistd.h> header file. */
#define HAVE_UNISTD_H 1
/* Define to 1 if you have the `unlinkat' function. */
#define HAVE_UNLINKAT 1
/* Define to 1 if you have the `unsetenv' function. */
#define HAVE_UNSETENV 1
/* Define to 1 if the system has the type `unsigned long long'. */
/* #undef HAVE_UNSIGNED_LONG_LONG */
/* Define to 1 if the system has the type `unsigned long long int'. */
/* #undef HAVE_UNSIGNED_LONG_LONG_INT */
/* Define to 1 if you have the `utime' function. */
#define HAVE_UTIME 1
/* Define to 1 if you have the `utimensat' function. */
#define HAVE_UTIMENSAT 1
/* Define to 1 if you have the `utimes' function. */
#define HAVE_UTIMES 1
/* Define to 1 if you have the <utime.h> header file. */
#define HAVE_UTIME_H 1
/* Define to 1 if you have the `vfork' function. */
#define HAVE_VFORK 1
/* Define to 1 if you have the `vprintf' function. */
#define HAVE_VPRINTF 1
/* Define to 1 if you have the <wchar.h> header file. */
#define HAVE_WCHAR_H 1
/* Define to 1 if the system has the type `wchar_t'. */
#define HAVE_WCHAR_T 1
/* Define to 1 if you have the `wcrtomb' function. */
#define HAVE_WCRTOMB 1
/* Define to 1 if you have the `wcscmp' function. */
#define HAVE_WCSCMP 1
/* Define to 1 if you have the `wcscpy' function. */
#define HAVE_WCSCPY 1
/* Define to 1 if you have the `wcslen' function. */
#define HAVE_WCSLEN 1
/* Define to 1 if you have the `wctomb' function. */
#define HAVE_WCTOMB 1
/* Define to 1 if you have the <wctype.h> header file. */
#define HAVE_WCTYPE_H 1
/* Define to 1 if you have the <wincrypt.h> header file. */
/* #undef HAVE_WINCRYPT_H */
/* Define to 1 if you have the <windows.h> header file. */
/* #undef HAVE_WINDOWS_H */
/* Define to 1 if you have the <winioctl.h> header file. */
/* #undef HAVE_WINIOCTL_H */
/* Define to 1 if you have _CrtSetReportMode in <crtdbg.h> */
/* #undef HAVE__CrtSetReportMode */
/* Define to 1 if you have the `wmemcmp' function. */
#define HAVE_WMEMCMP 1
/* Define to 1 if you have the `wmemcpy' function. */
#define HAVE_WMEMCPY 1
/* Define to 1 if you have the `wmemmove' function. */
#define HAVE_WMEMMOVE 1
/* Define to 1 if you have a working EXT2_IOC_GETFLAGS */
#define HAVE_WORKING_EXT2_IOC_GETFLAGS 1
/* Define to 1 if you have a working FS_IOC_GETFLAGS */
#define HAVE_WORKING_FS_IOC_GETFLAGS 1
/* Define to 1 if you have the <zlib.h> header file. */
#define HAVE_ZLIB_H 1
/* Define to 1 if you have the <zstd.h> header file. */
#define HAVE_ZSTD_H 1
/* Define to 1 if you have the `_ctime64_s' function. */
/* #undef HAVE__CTIME64_S */
/* Define to 1 if you have the `_fseeki64' function. */
/* #undef HAVE__FSEEKI64 */
/* Define to 1 if you have the `_get_timezone' function. */
/* #undef HAVE__GET_TIMEZONE */
/* Define to 1 if you have the `_gmtime64_s' function. */
/* #undef HAVE__GMTIME64_S */
/* Define to 1 if you have the `_localtime64_s' function. */
/* #undef HAVE__LOCALTIME64_S */
/* Define to 1 if you have the `_mkgmtime64' function. */
/* #undef HAVE__MKGMTIME64 */
/* Define as const if the declaration of iconv() needs const. */
#define ICONV_CONST
/* Version number of libarchive as a single integer */
#define LIBARCHIVE_VERSION_NUMBER "3006000"
/* Version number of libarchive */
#define LIBARCHIVE_VERSION_STRING "3.6.0"
/* Define to 1 if `lstat' dereferences a symlink specified with a trailing
slash. */
/* #undef LSTAT_FOLLOWS_SLASHED_SYMLINK */
/* Define to 1 if `major', `minor', and `makedev' are declared in <mkdev.h>.
*/
/* #undef MAJOR_IN_MKDEV */
/* Define to 1 if `major', `minor', and `makedev' are declared in
<sysmacros.h>. */
#define MAJOR_IN_SYSMACROS 1
/* Define to 1 if your C compiler doesn't accept -c and -o together. */
/* #undef NO_MINUS_C_MINUS_O */
/* The size of `wchar_t', as computed by sizeof. */
#define SIZEOF_WCHAR_T 4
/* Define to 1 if strerror_r returns char *. */
/* #undef STRERROR_R_CHAR_P */
/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
#define TIME_WITH_SYS_TIME 1
/*
* Some platform requires a macro to use extension functions.
*/
#define SAFE_TO_DEFINE_EXTENSIONS 1
#ifdef SAFE_TO_DEFINE_EXTENSIONS
/* Enable extensions on AIX 3, Interix. */
#ifndef _ALL_SOURCE
# define _ALL_SOURCE 1
#endif
/* Enable GNU extensions on systems that have them. */
#ifndef _GNU_SOURCE
# define _GNU_SOURCE 1
#endif
/* Enable threading extensions on Solaris. */
#ifndef _POSIX_PTHREAD_SEMANTICS
# define _POSIX_PTHREAD_SEMANTICS 1
#endif
/* Enable extensions on HP NonStop. */
#ifndef _TANDEM_SOURCE
# define _TANDEM_SOURCE 1
#endif
/* Enable general extensions on Solaris. */
#ifndef __EXTENSIONS__
# define __EXTENSIONS__ 1
#endif
#endif /* SAFE_TO_DEFINE_EXTENSIONS */
/* Version number of package */
#define VERSION "3.6.0"
/* Number of bits in a file offset, on hosts where this is settable. */
/* #undef _FILE_OFFSET_BITS */
/* Define to 1 to make fseeko visible on some hosts (e.g. glibc 2.2). */
/* #undef _LARGEFILE_SOURCE */
/* Define for large files, on AIX-style hosts. */
/* #undef _LARGE_FILES */
/* Define to control Windows SDK version */
#ifndef NTDDI_VERSION
/* #undef NTDDI_VERSION */
#endif // NTDDI_VERSION
#ifndef _WIN32_WINNT
/* #undef _WIN32_WINNT */
#endif // _WIN32_WINNT
#ifndef WINVER
/* #undef WINVER */
#endif // WINVER
/* Define to empty if `const' does not conform to ANSI C. */
/* #undef const */
/* Define to `int' if <sys/types.h> doesn't define. */
/* #undef gid_t */
/* Define to `unsigned long' if <sys/types.h> does not define. */
/* #undef id_t */
/* Define to `int' if <sys/types.h> does not define. */
/* #undef mode_t */
/* Define to `long long' if <sys/types.h> does not define. */
/* #undef off_t */
/* Define to `int' if <sys/types.h> doesn't define. */
/* #undef pid_t */
/* Define to `unsigned int' if <sys/types.h> does not define. */
/* #undef size_t */
/* Define to `int' if <sys/types.h> does not define. */
/* #undef ssize_t */
/* Define to `int' if <sys/types.h> doesn't define. */
/* #undef uid_t */
#include <cm3p/kwiml/int.h>
#ifndef KWIML_INT_HAVE_INT64_T
typedef KWIML_INT_int64_t int64_t;
#endif
#ifndef KWIML_INT_HAVE_INT32_T
typedef KWIML_INT_int32_t int32_t;
#endif
#ifndef KWIML_INT_HAVE_INT16_T
typedef KWIML_INT_int16_t int16_t;
#endif
#ifndef KWIML_INT_HAVE_INT8_T
typedef KWIML_INT_int8_t int8_t;
#endif
#ifndef KWIML_INT_HAVE_INTPTR_T
typedef KWIML_INT_intptr_t intptr_t;
#endif
#ifndef KWIML_INT_HAVE_UINT64_T
typedef KWIML_INT_uint64_t uint64_t;
#endif
#ifndef KWIML_INT_HAVE_UINT32_T
typedef KWIML_INT_uint32_t uint32_t;
#endif
#ifndef KWIML_INT_HAVE_UINT16_T
typedef KWIML_INT_uint16_t uint16_t;
#endif
#ifndef KWIML_INT_HAVE_UINT8_T
typedef KWIML_INT_uint8_t uint8_t;
#endif
#ifndef KWIML_INT_HAVE_UINTPTR_T
typedef KWIML_INT_uintptr_t uintptr_t;
#endif
/* Define to 1 if you have the <stdint.h> header file. */
#ifdef KWIML_INT_HAVE_STDINT_H
# define HAVE_STDINT_H 1
#endif
/* Define to 1 if you have the <inttypes.h> header file. */
#ifdef KWIML_INT_HAVE_INTTYPES_H
# define HAVE_INTTYPES_H 1
#endif
#define ARCHIVE_SHA256_COMPILE_TEST
#define ARCHIVE_CRYPTO_SHA256_LIBC
#define PLATFORM_CONFIG_H "check_crypto_md.h"
/*-
* Copyright (c) 2003-2007 Tim Kientzle
* Copyright (c) 2011 Andres Mejia
* Copyright (c) 2011 Michihiro NAKAJIMA
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR(S) ``AS IS'' AND ANY EXPRESS OR
* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
* IN NO EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
#include "archive_platform.h"
#include "archive.h"
#include "archive_digest_private.h"
/* In particular, force the configure probe to break if it tries
* to test a combination of OpenSSL and libmd. */
#if defined(ARCHIVE_CRYPTO_OPENSSL) && defined(ARCHIVE_CRYPTO_LIBMD)
#error Cannot use both OpenSSL and libmd.
#endif
/*
* Message digest functions for Windows platform.
*/
#if defined(ARCHIVE_CRYPTO_MD5_WIN) ||\
defined(ARCHIVE_CRYPTO_SHA1_WIN) ||\
defined(ARCHIVE_CRYPTO_SHA256_WIN) ||\
defined(ARCHIVE_CRYPTO_SHA384_WIN) ||\
defined(ARCHIVE_CRYPTO_SHA512_WIN)
/*
* Initialize a Message digest.
*/
static int
win_crypto_init(Digest_CTX *ctx, ALG_ID algId)
{
ctx->valid = 0;
if (!CryptAcquireContext(&ctx->cryptProv, NULL, NULL,
PROV_RSA_FULL, CRYPT_VERIFYCONTEXT)) {
if (GetLastError() != (DWORD)NTE_BAD_KEYSET)
return (ARCHIVE_FAILED);
if (!CryptAcquireContext(&ctx->cryptProv, NULL, NULL,
PROV_RSA_FULL, CRYPT_NEWKEYSET))
return (ARCHIVE_FAILED);
}
if (!CryptCreateHash(ctx->cryptProv, algId, 0, 0, &ctx->hash)) {
CryptReleaseContext(ctx->cryptProv, 0);
return (ARCHIVE_FAILED);
}
ctx->valid = 1;
return (ARCHIVE_OK);
}
/*
* Update a Message digest.
*/
static int
win_crypto_Update(Digest_CTX *ctx, const unsigned char *buf, size_t len)
{
if (!ctx->valid)
return (ARCHIVE_FAILED);
CryptHashData(ctx->hash,
(unsigned char *)(uintptr_t)buf,
(DWORD)len, 0);
return (ARCHIVE_OK);
}
static int
win_crypto_Final(unsigned char *buf, size_t bufsize, Digest_CTX *ctx)
{
DWORD siglen = (DWORD)bufsize;
if (!ctx->valid)
return (ARCHIVE_FAILED);
CryptGetHashParam(ctx->hash, HP_HASHVAL, buf, &siglen, 0);
CryptDestroyHash(ctx->hash);
CryptReleaseContext(ctx->cryptProv, 0);
ctx->valid = 0;
return (ARCHIVE_OK);
}
#endif /* defined(ARCHIVE_CRYPTO_*_WIN) */
/* MD5 implementations */
#if defined(ARCHIVE_CRYPTO_MD5_LIBC)
static int
__archive_md5init(archive_md5_ctx *ctx)
{
MD5Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_md5update(archive_md5_ctx *ctx, const void *indata,
size_t insize)
{
MD5Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_md5final(archive_md5_ctx *ctx, void *md)
{
MD5Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_MD5_LIBMD)
static int
__archive_md5init(archive_md5_ctx *ctx)
{
MD5Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_md5update(archive_md5_ctx *ctx, const void *indata,
size_t insize)
{
MD5Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_md5final(archive_md5_ctx *ctx, void *md)
{
MD5Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_MD5_LIBSYSTEM)
static int
__archive_md5init(archive_md5_ctx *ctx)
{
CC_MD5_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_md5update(archive_md5_ctx *ctx, const void *indata,
size_t insize)
{
CC_MD5_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_md5final(archive_md5_ctx *ctx, void *md)
{
CC_MD5_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_MD5_MBEDTLS)
static int
__archive_md5init(archive_md5_ctx *ctx)
{
mbedtls_md5_init(ctx);
if (mbedtls_md5_starts_ret(ctx) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_md5update(archive_md5_ctx *ctx, const void *indata,
size_t insize)
{
if (mbedtls_md5_update_ret(ctx, indata, insize) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_md5final(archive_md5_ctx *ctx, void *md)
{
if (mbedtls_md5_finish_ret(ctx, md) == 0) {
mbedtls_md5_free(ctx);
return (ARCHIVE_OK);
} else {
mbedtls_md5_free(ctx);
return (ARCHIVE_FATAL);
}
}
#elif defined(ARCHIVE_CRYPTO_MD5_NETTLE)
static int
__archive_md5init(archive_md5_ctx *ctx)
{
md5_init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_md5update(archive_md5_ctx *ctx, const void *indata,
size_t insize)
{
md5_update(ctx, insize, indata);
return (ARCHIVE_OK);
}
static int
__archive_md5final(archive_md5_ctx *ctx, void *md)
{
md5_digest(ctx, MD5_DIGEST_SIZE, md);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_MD5_OPENSSL)
static int
__archive_md5init(archive_md5_ctx *ctx)
{
if ((*ctx = EVP_MD_CTX_new()) == NULL)
return (ARCHIVE_FAILED);
EVP_DigestInit(*ctx, EVP_md5());
return (ARCHIVE_OK);
}
static int
__archive_md5update(archive_md5_ctx *ctx, const void *indata,
size_t insize)
{
EVP_DigestUpdate(*ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_md5final(archive_md5_ctx *ctx, void *md)
{
/* HACK: archive_write_set_format_xar.c is finalizing empty contexts, so
* this is meant to cope with that. Real fix is probably to fix
* archive_write_set_format_xar.c
*/
if (*ctx) {
EVP_DigestFinal(*ctx, md, NULL);
EVP_MD_CTX_free(*ctx);
*ctx = NULL;
}
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_MD5_WIN)
static int
__archive_md5init(archive_md5_ctx *ctx)
{
return (win_crypto_init(ctx, CALG_MD5));
}
static int
__archive_md5update(archive_md5_ctx *ctx, const void *indata,
size_t insize)
{
return (win_crypto_Update(ctx, indata, insize));
}
static int
__archive_md5final(archive_md5_ctx *ctx, void *md)
{
return (win_crypto_Final(md, 16, ctx));
}
#else
static int
__archive_md5init(archive_md5_ctx *ctx)
{
(void)ctx; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_md5update(archive_md5_ctx *ctx, const void *indata,
size_t insize)
{
(void)ctx; /* UNUSED */
(void)indata; /* UNUSED */
(void)insize; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_md5final(archive_md5_ctx *ctx, void *md)
{
(void)ctx; /* UNUSED */
(void)md; /* UNUSED */
return (ARCHIVE_FAILED);
}
#endif
/* RIPEMD160 implementations */
#if defined(ARCHIVE_CRYPTO_RMD160_LIBC)
static int
__archive_ripemd160init(archive_rmd160_ctx *ctx)
{
RMD160Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata,
size_t insize)
{
RMD160Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_ripemd160final(archive_rmd160_ctx *ctx, void *md)
{
RMD160Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_RMD160_LIBMD)
static int
__archive_ripemd160init(archive_rmd160_ctx *ctx)
{
RIPEMD160_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata,
size_t insize)
{
RIPEMD160_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_ripemd160final(archive_rmd160_ctx *ctx, void *md)
{
RIPEMD160_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_RMD160_MBEDTLS)
static int
__archive_ripemd160init(archive_rmd160_ctx *ctx)
{
mbedtls_ripemd160_init(ctx);
if (mbedtls_ripemd160_starts_ret(ctx) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata,
size_t insize)
{
if (mbedtls_ripemd160_update_ret(ctx, indata, insize) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_ripemd160final(archive_rmd160_ctx *ctx, void *md)
{
if (mbedtls_ripemd160_finish_ret(ctx, md) == 0) {
mbedtls_ripemd160_free(ctx);
return (ARCHIVE_OK);
} else {
mbedtls_ripemd160_free(ctx);
return (ARCHIVE_FATAL);
}
}
#elif defined(ARCHIVE_CRYPTO_RMD160_NETTLE)
static int
__archive_ripemd160init(archive_rmd160_ctx *ctx)
{
ripemd160_init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata,
size_t insize)
{
ripemd160_update(ctx, insize, indata);
return (ARCHIVE_OK);
}
static int
__archive_ripemd160final(archive_rmd160_ctx *ctx, void *md)
{
ripemd160_digest(ctx, RIPEMD160_DIGEST_SIZE, md);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_RMD160_OPENSSL)
static int
__archive_ripemd160init(archive_rmd160_ctx *ctx)
{
if ((*ctx = EVP_MD_CTX_new()) == NULL)
return (ARCHIVE_FAILED);
EVP_DigestInit(*ctx, EVP_ripemd160());
return (ARCHIVE_OK);
}
static int
__archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata,
size_t insize)
{
EVP_DigestUpdate(*ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_ripemd160final(archive_rmd160_ctx *ctx, void *md)
{
if (*ctx) {
EVP_DigestFinal(*ctx, md, NULL);
EVP_MD_CTX_free(*ctx);
*ctx = NULL;
}
return (ARCHIVE_OK);
}
#else
static int
__archive_ripemd160init(archive_rmd160_ctx *ctx)
{
(void)ctx; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata,
size_t insize)
{
(void)ctx; /* UNUSED */
(void)indata; /* UNUSED */
(void)insize; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_ripemd160final(archive_rmd160_ctx *ctx, void *md)
{
(void)ctx; /* UNUSED */
(void)md; /* UNUSED */
return (ARCHIVE_FAILED);
}
#endif
/* SHA1 implementations */
#if defined(ARCHIVE_CRYPTO_SHA1_LIBC)
static int
__archive_sha1init(archive_sha1_ctx *ctx)
{
SHA1Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha1update(archive_sha1_ctx *ctx, const void *indata,
size_t insize)
{
SHA1Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha1final(archive_sha1_ctx *ctx, void *md)
{
SHA1Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA1_LIBMD)
static int
__archive_sha1init(archive_sha1_ctx *ctx)
{
SHA1_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha1update(archive_sha1_ctx *ctx, const void *indata,
size_t insize)
{
SHA1_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha1final(archive_sha1_ctx *ctx, void *md)
{
SHA1_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA1_LIBSYSTEM)
static int
__archive_sha1init(archive_sha1_ctx *ctx)
{
CC_SHA1_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha1update(archive_sha1_ctx *ctx, const void *indata,
size_t insize)
{
CC_SHA1_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha1final(archive_sha1_ctx *ctx, void *md)
{
CC_SHA1_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA1_MBEDTLS)
static int
__archive_sha1init(archive_sha1_ctx *ctx)
{
mbedtls_sha1_init(ctx);
if (mbedtls_sha1_starts_ret(ctx) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_sha1update(archive_sha1_ctx *ctx, const void *indata,
size_t insize)
{
if (mbedtls_sha1_update_ret(ctx, indata, insize) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_sha1final(archive_sha1_ctx *ctx, void *md)
{
if (mbedtls_sha1_finish_ret(ctx, md) == 0) {
mbedtls_sha1_free(ctx);
return (ARCHIVE_OK);
} else {
mbedtls_sha1_free(ctx);
return (ARCHIVE_FATAL);
}
}
#elif defined(ARCHIVE_CRYPTO_SHA1_NETTLE)
static int
__archive_sha1init(archive_sha1_ctx *ctx)
{
sha1_init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha1update(archive_sha1_ctx *ctx, const void *indata,
size_t insize)
{
sha1_update(ctx, insize, indata);
return (ARCHIVE_OK);
}
static int
__archive_sha1final(archive_sha1_ctx *ctx, void *md)
{
sha1_digest(ctx, SHA1_DIGEST_SIZE, md);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA1_OPENSSL)
static int
__archive_sha1init(archive_sha1_ctx *ctx)
{
if ((*ctx = EVP_MD_CTX_new()) == NULL)
return (ARCHIVE_FAILED);
EVP_DigestInit(*ctx, EVP_sha1());
return (ARCHIVE_OK);
}
static int
__archive_sha1update(archive_sha1_ctx *ctx, const void *indata,
size_t insize)
{
EVP_DigestUpdate(*ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha1final(archive_sha1_ctx *ctx, void *md)
{
/* HACK: archive_write_set_format_xar.c is finalizing empty contexts, so
* this is meant to cope with that. Real fix is probably to fix
* archive_write_set_format_xar.c
*/
if (*ctx) {
EVP_DigestFinal(*ctx, md, NULL);
EVP_MD_CTX_free(*ctx);
*ctx = NULL;
}
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA1_WIN)
static int
__archive_sha1init(archive_sha1_ctx *ctx)
{
return (win_crypto_init(ctx, CALG_SHA1));
}
static int
__archive_sha1update(archive_sha1_ctx *ctx, const void *indata,
size_t insize)
{
return (win_crypto_Update(ctx, indata, insize));
}
static int
__archive_sha1final(archive_sha1_ctx *ctx, void *md)
{
return (win_crypto_Final(md, 20, ctx));
}
#else
static int
__archive_sha1init(archive_sha1_ctx *ctx)
{
(void)ctx; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_sha1update(archive_sha1_ctx *ctx, const void *indata,
size_t insize)
{
(void)ctx; /* UNUSED */
(void)indata; /* UNUSED */
(void)insize; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_sha1final(archive_sha1_ctx *ctx, void *md)
{
(void)ctx; /* UNUSED */
(void)md; /* UNUSED */
return (ARCHIVE_FAILED);
}
#endif
/* SHA256 implementations */
#if defined(ARCHIVE_CRYPTO_SHA256_LIBC)
static int
__archive_sha256init(archive_sha256_ctx *ctx)
{
SHA256_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha256update(archive_sha256_ctx *ctx, const void *indata,
size_t insize)
{
SHA256_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha256final(archive_sha256_ctx *ctx, void *md)
{
SHA256_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA256_LIBC2)
static int
__archive_sha256init(archive_sha256_ctx *ctx)
{
SHA256Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha256update(archive_sha256_ctx *ctx, const void *indata,
size_t insize)
{
SHA256Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha256final(archive_sha256_ctx *ctx, void *md)
{
SHA256Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA256_LIBC3)
static int
__archive_sha256init(archive_sha256_ctx *ctx)
{
SHA256Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha256update(archive_sha256_ctx *ctx, const void *indata,
size_t insize)
{
SHA256Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha256final(archive_sha256_ctx *ctx, void *md)
{
SHA256Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA256_LIBMD)
static int
__archive_sha256init(archive_sha256_ctx *ctx)
{
SHA256_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha256update(archive_sha256_ctx *ctx, const void *indata,
size_t insize)
{
SHA256_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha256final(archive_sha256_ctx *ctx, void *md)
{
SHA256_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA256_LIBSYSTEM)
static int
__archive_sha256init(archive_sha256_ctx *ctx)
{
CC_SHA256_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha256update(archive_sha256_ctx *ctx, const void *indata,
size_t insize)
{
CC_SHA256_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha256final(archive_sha256_ctx *ctx, void *md)
{
CC_SHA256_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA256_MBEDTLS)
static int
__archive_sha256init(archive_sha256_ctx *ctx)
{
mbedtls_sha256_init(ctx);
if (mbedtls_sha256_starts_ret(ctx, 0) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_sha256update(archive_sha256_ctx *ctx, const void *indata,
size_t insize)
{
if (mbedtls_sha256_update_ret(ctx, indata, insize) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_sha256final(archive_sha256_ctx *ctx, void *md)
{
if (mbedtls_sha256_finish_ret(ctx, md) == 0) {
mbedtls_sha256_free(ctx);
return (ARCHIVE_OK);
} else {
mbedtls_sha256_free(ctx);
return (ARCHIVE_FATAL);
}
}
#elif defined(ARCHIVE_CRYPTO_SHA256_NETTLE)
static int
__archive_sha256init(archive_sha256_ctx *ctx)
{
sha256_init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha256update(archive_sha256_ctx *ctx, const void *indata,
size_t insize)
{
sha256_update(ctx, insize, indata);
return (ARCHIVE_OK);
}
static int
__archive_sha256final(archive_sha256_ctx *ctx, void *md)
{
sha256_digest(ctx, SHA256_DIGEST_SIZE, md);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA256_OPENSSL)
static int
__archive_sha256init(archive_sha256_ctx *ctx)
{
if ((*ctx = EVP_MD_CTX_new()) == NULL)
return (ARCHIVE_FAILED);
EVP_DigestInit(*ctx, EVP_sha256());
return (ARCHIVE_OK);
}
static int
__archive_sha256update(archive_sha256_ctx *ctx, const void *indata,
size_t insize)
{
EVP_DigestUpdate(*ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha256final(archive_sha256_ctx *ctx, void *md)
{
if (*ctx) {
EVP_DigestFinal(*ctx, md, NULL);
EVP_MD_CTX_free(*ctx);
*ctx = NULL;
}
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA256_WIN)
static int
__archive_sha256init(archive_sha256_ctx *ctx)
{
return (win_crypto_init(ctx, CALG_SHA_256));
}
static int
__archive_sha256update(archive_sha256_ctx *ctx, const void *indata,
size_t insize)
{
return (win_crypto_Update(ctx, indata, insize));
}
static int
__archive_sha256final(archive_sha256_ctx *ctx, void *md)
{
return (win_crypto_Final(md, 32, ctx));
}
#else
static int
__archive_sha256init(archive_sha256_ctx *ctx)
{
(void)ctx; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_sha256update(archive_sha256_ctx *ctx, const void *indata,
size_t insize)
{
(void)ctx; /* UNUSED */
(void)indata; /* UNUSED */
(void)insize; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_sha256final(archive_sha256_ctx *ctx, void *md)
{
(void)ctx; /* UNUSED */
(void)md; /* UNUSED */
return (ARCHIVE_FAILED);
}
#endif
/* SHA384 implementations */
#if defined(ARCHIVE_CRYPTO_SHA384_LIBC)
static int
__archive_sha384init(archive_sha384_ctx *ctx)
{
SHA384_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha384update(archive_sha384_ctx *ctx, const void *indata,
size_t insize)
{
SHA384_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha384final(archive_sha384_ctx *ctx, void *md)
{
SHA384_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA384_LIBC2)
static int
__archive_sha384init(archive_sha384_ctx *ctx)
{
SHA384Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha384update(archive_sha384_ctx *ctx, const void *indata,
size_t insize)
{
SHA384Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha384final(archive_sha384_ctx *ctx, void *md)
{
SHA384Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA384_LIBC3)
static int
__archive_sha384init(archive_sha384_ctx *ctx)
{
SHA384Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha384update(archive_sha384_ctx *ctx, const void *indata,
size_t insize)
{
SHA384Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha384final(archive_sha384_ctx *ctx, void *md)
{
SHA384Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA384_LIBSYSTEM)
static int
__archive_sha384init(archive_sha384_ctx *ctx)
{
CC_SHA384_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha384update(archive_sha384_ctx *ctx, const void *indata,
size_t insize)
{
CC_SHA384_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha384final(archive_sha384_ctx *ctx, void *md)
{
CC_SHA384_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA384_MBEDTLS)
static int
__archive_sha384init(archive_sha384_ctx *ctx)
{
mbedtls_sha512_init(ctx);
if (mbedtls_sha512_starts_ret(ctx, 1) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_sha384update(archive_sha384_ctx *ctx, const void *indata,
size_t insize)
{
if (mbedtls_sha512_update_ret(ctx, indata, insize) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_sha384final(archive_sha384_ctx *ctx, void *md)
{
if (mbedtls_sha512_finish_ret(ctx, md) == 0) {
mbedtls_sha512_free(ctx);
return (ARCHIVE_OK);
} else {
mbedtls_sha512_free(ctx);
return (ARCHIVE_FATAL);
}
}
#elif defined(ARCHIVE_CRYPTO_SHA384_NETTLE)
static int
__archive_sha384init(archive_sha384_ctx *ctx)
{
sha384_init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha384update(archive_sha384_ctx *ctx, const void *indata,
size_t insize)
{
sha384_update(ctx, insize, indata);
return (ARCHIVE_OK);
}
static int
__archive_sha384final(archive_sha384_ctx *ctx, void *md)
{
sha384_digest(ctx, SHA384_DIGEST_SIZE, md);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA384_OPENSSL)
static int
__archive_sha384init(archive_sha384_ctx *ctx)
{
if ((*ctx = EVP_MD_CTX_new()) == NULL)
return (ARCHIVE_FAILED);
EVP_DigestInit(*ctx, EVP_sha384());
return (ARCHIVE_OK);
}
static int
__archive_sha384update(archive_sha384_ctx *ctx, const void *indata,
size_t insize)
{
EVP_DigestUpdate(*ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha384final(archive_sha384_ctx *ctx, void *md)
{
if (*ctx) {
EVP_DigestFinal(*ctx, md, NULL);
EVP_MD_CTX_free(*ctx);
*ctx = NULL;
}
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA384_WIN)
static int
__archive_sha384init(archive_sha384_ctx *ctx)
{
return (win_crypto_init(ctx, CALG_SHA_384));
}
static int
__archive_sha384update(archive_sha384_ctx *ctx, const void *indata,
size_t insize)
{
return (win_crypto_Update(ctx, indata, insize));
}
static int
__archive_sha384final(archive_sha384_ctx *ctx, void *md)
{
return (win_crypto_Final(md, 48, ctx));
}
#else
static int
__archive_sha384init(archive_sha384_ctx *ctx)
{
(void)ctx; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_sha384update(archive_sha384_ctx *ctx, const void *indata,
size_t insize)
{
(void)ctx; /* UNUSED */
(void)indata; /* UNUSED */
(void)insize; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_sha384final(archive_sha384_ctx *ctx, void *md)
{
(void)ctx; /* UNUSED */
(void)md; /* UNUSED */
return (ARCHIVE_FAILED);
}
#endif
/* SHA512 implementations */
#if defined(ARCHIVE_CRYPTO_SHA512_LIBC)
static int
__archive_sha512init(archive_sha512_ctx *ctx)
{
SHA512_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha512update(archive_sha512_ctx *ctx, const void *indata,
size_t insize)
{
SHA512_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha512final(archive_sha512_ctx *ctx, void *md)
{
SHA512_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA512_LIBC2)
static int
__archive_sha512init(archive_sha512_ctx *ctx)
{
SHA512Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha512update(archive_sha512_ctx *ctx, const void *indata,
size_t insize)
{
SHA512Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha512final(archive_sha512_ctx *ctx, void *md)
{
SHA512Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA512_LIBC3)
static int
__archive_sha512init(archive_sha512_ctx *ctx)
{
SHA512Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha512update(archive_sha512_ctx *ctx, const void *indata,
size_t insize)
{
SHA512Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha512final(archive_sha512_ctx *ctx, void *md)
{
SHA512Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA512_LIBMD)
static int
__archive_sha512init(archive_sha512_ctx *ctx)
{
SHA512_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha512update(archive_sha512_ctx *ctx, const void *indata,
size_t insize)
{
SHA512_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha512final(archive_sha512_ctx *ctx, void *md)
{
SHA512_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA512_LIBSYSTEM)
static int
__archive_sha512init(archive_sha512_ctx *ctx)
{
CC_SHA512_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha512update(archive_sha512_ctx *ctx, const void *indata,
size_t insize)
{
CC_SHA512_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha512final(archive_sha512_ctx *ctx, void *md)
{
CC_SHA512_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA512_MBEDTLS)
static int
__archive_sha512init(archive_sha512_ctx *ctx)
{
mbedtls_sha512_init(ctx);
if (mbedtls_sha512_starts_ret(ctx, 0) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_sha512update(archive_sha512_ctx *ctx, const void *indata,
size_t insize)
{
if (mbedtls_sha512_update_ret(ctx, indata, insize) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_sha512final(archive_sha512_ctx *ctx, void *md)
{
if (mbedtls_sha512_finish_ret(ctx, md) == 0) {
mbedtls_sha512_free(ctx);
return (ARCHIVE_OK);
} else {
mbedtls_sha512_free(ctx);
return (ARCHIVE_FATAL);
}
}
#elif defined(ARCHIVE_CRYPTO_SHA512_NETTLE)
static int
__archive_sha512init(archive_sha512_ctx *ctx)
{
sha512_init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha512update(archive_sha512_ctx *ctx, const void *indata,
size_t insize)
{
sha512_update(ctx, insize, indata);
return (ARCHIVE_OK);
}
static int
__archive_sha512final(archive_sha512_ctx *ctx, void *md)
{
sha512_digest(ctx, SHA512_DIGEST_SIZE, md);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA512_OPENSSL)
static int
__archive_sha512init(archive_sha512_ctx *ctx)
{
if ((*ctx = EVP_MD_CTX_new()) == NULL)
return (ARCHIVE_FAILED);
EVP_DigestInit(*ctx, EVP_sha512());
return (ARCHIVE_OK);
}
static int
__archive_sha512update(archive_sha512_ctx *ctx, const void *indata,
size_t insize)
{
EVP_DigestUpdate(*ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha512final(archive_sha512_ctx *ctx, void *md)
{
if (*ctx) {
EVP_DigestFinal(*ctx, md, NULL);
EVP_MD_CTX_free(*ctx);
*ctx = NULL;
}
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA512_WIN)
static int
__archive_sha512init(archive_sha512_ctx *ctx)
{
return (win_crypto_init(ctx, CALG_SHA_512));
}
static int
__archive_sha512update(archive_sha512_ctx *ctx, const void *indata,
size_t insize)
{
return (win_crypto_Update(ctx, indata, insize));
}
static int
__archive_sha512final(archive_sha512_ctx *ctx, void *md)
{
return (win_crypto_Final(md, 64, ctx));
}
#else
static int
__archive_sha512init(archive_sha512_ctx *ctx)
{
(void)ctx; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_sha512update(archive_sha512_ctx *ctx, const void *indata,
size_t insize)
{
(void)ctx; /* UNUSED */
(void)indata; /* UNUSED */
(void)insize; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_sha512final(archive_sha512_ctx *ctx, void *md)
{
(void)ctx; /* UNUSED */
(void)md; /* UNUSED */
return (ARCHIVE_FAILED);
}
#endif
/* NOTE: Message Digest functions are set based on availability and by the
* following order of preference.
* 1. libc
* 2. libc2
* 3. libc3
* 4. libSystem
* 5. Nettle
* 6. OpenSSL
* 7. libmd
* 8. Windows API
*/
const struct archive_digest __archive_digest =
{
/* MD5 */
&__archive_md5init,
&__archive_md5update,
&__archive_md5final,
/* RIPEMD160 */
&__archive_ripemd160init,
&__archive_ripemd160update,
&__archive_ripemd160final,
/* SHA1 */
&__archive_sha1init,
&__archive_sha1update,
&__archive_sha1final,
/* SHA256 */
&__archive_sha256init,
&__archive_sha256update,
&__archive_sha256final,
/* SHA384 */
&__archive_sha384init,
&__archive_sha384update,
&__archive_sha384final,
/* SHA512 */
&__archive_sha512init,
&__archive_sha512update,
&__archive_sha512final
};
int
main(int argc, char **argv)
{
archive_sha256_ctx ctx;
archive_sha256_init(&ctx);
archive_sha256_update(&ctx, *argv, argc);
archive_sha256_final(&ctx, NULL);
return 0;
}
Checking support for ARCHIVE_CRYPTO_SHA384_LIBC failed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeTmp
Run Build Command(s):/bin/gmake -f Makefile cmTC_5f0eb/fast && gmake -f CMakeFiles/cmTC_5f0eb.dir/build.make CMakeFiles/cmTC_5f0eb.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeTmp'
Building C object CMakeFiles/cmTC_5f0eb.dir/check_crypto_md.c.o
/bin/gcc -I/usr/src/cmake-3.25.0 -I/usr/src/cmake-3.25.0/Utilities/cmlibarchive/libarchive -I/usr/src/cmake-3.25.0/CMakeFiles/CMakeTmp -I/usr/src/cmake-3.25.0/Utilities -w -std=gnu99 -o CMakeFiles/cmTC_5f0eb.dir/check_crypto_md.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeTmp/check_crypto_md.c
In file included from /usr/src/cmake-3.25.0/CMakeFiles/CMakeTmp/check_crypto_md.c:1204:0:
/usr/src/cmake-3.25.0/Utilities/cmlibarchive/libarchive/archive_digest_private.h:81:18: fatal error: sha2.h: No such file or directory
#include <sha2.h>
^
compilation terminated.
gmake[1]: *** [CMakeFiles/cmTC_5f0eb.dir/check_crypto_md.c.o] Error 1
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeTmp'
gmake: *** [cmTC_5f0eb/fast] Error 2
Source file was:
/* config.h. Generated from build/cmake/config.h.in by cmake configure */
#define __LIBARCHIVE_CONFIG_H_INCLUDED 1
#if defined(__osf__)
# define _OSF_SOURCE
#endif
/*
* Ensure we have C99-style int64_t, etc, all defined.
*/
/* Define ZLIB_WINAPI if zlib was built on Visual Studio. */
/* #undef ZLIB_WINAPI */
/* Darwin ACL support */
/* #undef ARCHIVE_ACL_DARWIN */
/* FreeBSD ACL support */
/* #undef ARCHIVE_ACL_FREEBSD */
/* FreeBSD NFSv4 ACL support */
/* #undef ARCHIVE_ACL_FREEBSD_NFS4 */
/* Linux POSIX.1e ACL support via libacl */
/* #undef ARCHIVE_ACL_LIBACL */
/* Linux NFSv4 ACL support via librichacl */
/* #undef ARCHIVE_ACL_LIBRICHACL */
/* Solaris ACL support */
/* #undef ARCHIVE_ACL_SUNOS */
/* Solaris NFSv4 ACL support */
/* #undef ARCHIVE_ACL_SUNOS_NFS4 */
/* MD5 via ARCHIVE_CRYPTO_MD5_LIBC supported. */
/* #undef ARCHIVE_CRYPTO_MD5_LIBC */
/* MD5 via ARCHIVE_CRYPTO_MD5_LIBSYSTEM supported. */
/* #undef ARCHIVE_CRYPTO_MD5_LIBSYSTEM */
/* MD5 via ARCHIVE_CRYPTO_MD5_NETTLE supported. */
/* #undef ARCHIVE_CRYPTO_MD5_NETTLE */
/* MD5 via ARCHIVE_CRYPTO_MD5_OPENSSL supported. */
/* #undef ARCHIVE_CRYPTO_MD5_OPENSSL */
/* MD5 via ARCHIVE_CRYPTO_MD5_WIN supported. */
/* #undef ARCHIVE_CRYPTO_MD5_WIN */
/* RMD160 via ARCHIVE_CRYPTO_RMD160_LIBC supported. */
/* #undef ARCHIVE_CRYPTO_RMD160_LIBC */
/* RMD160 via ARCHIVE_CRYPTO_RMD160_NETTLE supported. */
/* #undef ARCHIVE_CRYPTO_RMD160_NETTLE */
/* RMD160 via ARCHIVE_CRYPTO_RMD160_OPENSSL supported. */
/* #undef ARCHIVE_CRYPTO_RMD160_OPENSSL */
/* SHA1 via ARCHIVE_CRYPTO_SHA1_LIBC supported. */
/* #undef ARCHIVE_CRYPTO_SHA1_LIBC */
/* SHA1 via ARCHIVE_CRYPTO_SHA1_LIBSYSTEM supported. */
/* #undef ARCHIVE_CRYPTO_SHA1_LIBSYSTEM */
/* SHA1 via ARCHIVE_CRYPTO_SHA1_NETTLE supported. */
/* #undef ARCHIVE_CRYPTO_SHA1_NETTLE */
/* SHA1 via ARCHIVE_CRYPTO_SHA1_OPENSSL supported. */
/* #undef ARCHIVE_CRYPTO_SHA1_OPENSSL */
/* SHA1 via ARCHIVE_CRYPTO_SHA1_WIN supported. */
/* #undef ARCHIVE_CRYPTO_SHA1_WIN */
/* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBC supported. */
/* #undef ARCHIVE_CRYPTO_SHA256_LIBC */
/* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBC2 supported. */
/* #undef ARCHIVE_CRYPTO_SHA256_LIBC2 */
/* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBC3 supported. */
/* #undef ARCHIVE_CRYPTO_SHA256_LIBC3 */
/* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBSYSTEM supported. */
/* #undef ARCHIVE_CRYPTO_SHA256_LIBSYSTEM */
/* SHA256 via ARCHIVE_CRYPTO_SHA256_NETTLE supported. */
/* #undef ARCHIVE_CRYPTO_SHA256_NETTLE */
/* SHA256 via ARCHIVE_CRYPTO_SHA256_OPENSSL supported. */
/* #undef ARCHIVE_CRYPTO_SHA256_OPENSSL */
/* SHA256 via ARCHIVE_CRYPTO_SHA256_WIN supported. */
/* #undef ARCHIVE_CRYPTO_SHA256_WIN */
/* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBC supported. */
/* #undef ARCHIVE_CRYPTO_SHA384_LIBC */
/* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBC2 supported. */
/* #undef ARCHIVE_CRYPTO_SHA384_LIBC2 */
/* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBC3 supported. */
/* #undef ARCHIVE_CRYPTO_SHA384_LIBC3 */
/* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBSYSTEM supported. */
/* #undef ARCHIVE_CRYPTO_SHA384_LIBSYSTEM */
/* SHA384 via ARCHIVE_CRYPTO_SHA384_NETTLE supported. */
/* #undef ARCHIVE_CRYPTO_SHA384_NETTLE */
/* SHA384 via ARCHIVE_CRYPTO_SHA384_OPENSSL supported. */
/* #undef ARCHIVE_CRYPTO_SHA384_OPENSSL */
/* SHA384 via ARCHIVE_CRYPTO_SHA384_WIN supported. */
/* #undef ARCHIVE_CRYPTO_SHA384_WIN */
/* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBC supported. */
/* #undef ARCHIVE_CRYPTO_SHA512_LIBC */
/* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBC2 supported. */
/* #undef ARCHIVE_CRYPTO_SHA512_LIBC2 */
/* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBC3 supported. */
/* #undef ARCHIVE_CRYPTO_SHA512_LIBC3 */
/* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBSYSTEM supported. */
/* #undef ARCHIVE_CRYPTO_SHA512_LIBSYSTEM */
/* SHA512 via ARCHIVE_CRYPTO_SHA512_NETTLE supported. */
/* #undef ARCHIVE_CRYPTO_SHA512_NETTLE */
/* SHA512 via ARCHIVE_CRYPTO_SHA512_OPENSSL supported. */
/* #undef ARCHIVE_CRYPTO_SHA512_OPENSSL */
/* SHA512 via ARCHIVE_CRYPTO_SHA512_WIN supported. */
/* #undef ARCHIVE_CRYPTO_SHA512_WIN */
/* AIX xattr support */
/* #undef ARCHIVE_XATTR_AIX */
/* Darwin xattr support */
/* #undef ARCHIVE_XATTR_DARWIN */
/* FreeBSD xattr support */
/* #undef ARCHIVE_XATTR_FREEBSD */
/* Linux xattr support */
/* #undef ARCHIVE_XATTR_LINUX */
/* Version number of bsdcpio */
#define BSDCPIO_VERSION_STRING "3.6.0"
/* Version number of bsdtar */
#define BSDTAR_VERSION_STRING "3.6.0"
/* Version number of bsdcat */
#define BSDCAT_VERSION_STRING "3.6.0"
/* Define to 1 if you have the `acl_create_entry' function. */
/* #undef HAVE_ACL_CREATE_ENTRY */
/* Define to 1 if you have the `acl_get_fd_np' function. */
/* #undef HAVE_ACL_GET_FD_NP */
/* Define to 1 if you have the `acl_get_link' function. */
/* #undef HAVE_ACL_GET_LINK */
/* Define to 1 if you have the `acl_get_link_np' function. */
/* #undef HAVE_ACL_GET_LINK_NP */
/* Define to 1 if you have the `acl_get_perm' function. */
/* #undef HAVE_ACL_GET_PERM */
/* Define to 1 if you have the `acl_get_perm_np' function. */
/* #undef HAVE_ACL_GET_PERM_NP */
/* Define to 1 if you have the `acl_init' function. */
/* #undef HAVE_ACL_INIT */
/* Define to 1 if you have the <acl/libacl.h> header file. */
/* #undef HAVE_ACL_LIBACL_H */
/* Define to 1 if the system has the type `acl_permset_t'. */
/* #undef HAVE_ACL_PERMSET_T */
/* Define to 1 if you have the `acl_set_fd' function. */
/* #undef HAVE_ACL_SET_FD */
/* Define to 1 if you have the `acl_set_fd_np' function. */
/* #undef HAVE_ACL_SET_FD_NP */
/* Define to 1 if you have the `acl_set_file' function. */
/* #undef HAVE_ACL_SET_FILE */
/* Define to 1 if you have the `arc4random_buf' function. */
/* #undef HAVE_ARC4RANDOM_BUF */
/* Define to 1 if you have the <attr/xattr.h> header file. */
/* #undef HAVE_ATTR_XATTR_H */
/* Define to 1 if you have the <Bcrypt.h> header file. */
/* #undef HAVE_BCRYPT_H */
/* Define to 1 if you have the <bsdxml.h> header file. */
/* #undef HAVE_BSDXML_H */
/* Define to 1 if you have the <bzlib.h> header file. */
#define HAVE_BZLIB_H 1
/* Define to 1 if you have the `chflags' function. */
/* #undef HAVE_CHFLAGS */
/* Define to 1 if you have the `chown' function. */
#define HAVE_CHOWN 1
/* Define to 1 if you have the `chroot' function. */
#define HAVE_CHROOT 1
/* Define to 1 if you have the <copyfile.h> header file. */
/* #undef HAVE_COPYFILE_H */
/* Define to 1 if you have the `ctime_r' function. */
#define HAVE_CTIME_R 1
/* Define to 1 if you have the <ctype.h> header file. */
#define HAVE_CTYPE_H 1
/* Define to 1 if you have the `cygwin_conv_path' function. */
/* #undef HAVE_CYGWIN_CONV_PATH */
/* Define to 1 if you have the declaration of `ACE_GETACL', and to 0 if you
don't. */
/* #undef HAVE_DECL_ACE_GETACL */
/* Define to 1 if you have the declaration of `ACE_GETACLCNT', and to 0 if you
don't. */
/* #undef HAVE_DECL_ACE_GETACLCNT */
/* Define to 1 if you have the declaration of `ACE_SETACL', and to 0 if you
don't. */
/* #undef HAVE_DECL_ACE_SETACL */
/* Define to 1 if you have the declaration of `ACL_SYNCHRONIZE', and to 0 if
you don't. */
/* #undef HAVE_DECL_ACL_SYNCHRONIZE */
/* Define to 1 if you have the declaration of `ACL_TYPE_EXTENDED', and to 0 if
you don't. */
/* #undef HAVE_DECL_ACL_TYPE_EXTENDED */
/* Define to 1 if you have the declaration of `ACL_TYPE_NFS4', and to 0 if you
don't. */
/* #undef HAVE_DECL_ACL_TYPE_NFS4 */
/* Define to 1 if you have the declaration of `ACL_USER', and to 0 if you
don't. */
/* #undef HAVE_DECL_ACL_USER */
/* Define to 1 if you have the declaration of `SETACL', and to 0 if you don't.
*/
/* #undef HAVE_DECL_SETACL */
/* Define to 1 if you have the declaration of `strerror_r', and to 0 if you
don't. */
#define HAVE_DECL_STRERROR_R 1
/* Define to 1 if you have the declaration of `XATTR_NOFOLLOW', and to 0 if
you don't. */
/* #undef HAVE_DECL_XATTR_NOFOLLOW */
/* Define to 1 if you have the <direct.h> header file. */
/* #undef HAVE_DIRECT_H */
/* Define to 1 if you have the <dirent.h> header file, and it defines `DIR'.
*/
#define HAVE_DIRENT_H 1
/* Define to 1 if you have the `dirfd' function. */
#define HAVE_DIRFD 1
/* Define to 1 if you have the <dlfcn.h> header file. */
#define HAVE_DLFCN_H 1
/* Define to 1 if you don't have `vprintf' but do have `_doprnt.' */
/* #undef HAVE_DOPRNT */
/* Define to 1 if nl_langinfo supports D_MD_ORDER */
/* #undef HAVE_D_MD_ORDER */
/* A possible errno value for invalid file format errors */
/* #undef HAVE_EFTYPE */
/* A possible errno value for invalid file format errors */
#define HAVE_EILSEQ 1
/* Define to 1 if you have the <errno.h> header file. */
#define HAVE_ERRNO_H 1
/* Define to 1 if you have the <expat.h> header file. */
/* #undef HAVE_EXPAT_H */
/* Define to 1 if you have the <ext2fs/ext2_fs.h> header file. */
#define HAVE_EXT2FS_EXT2_FS_H 1
/* Define to 1 if you have the `extattr_get_file' function. */
/* #undef HAVE_EXTATTR_GET_FILE */
/* Define to 1 if you have the `extattr_list_file' function. */
/* #undef HAVE_EXTATTR_LIST_FILE */
/* Define to 1 if you have the `extattr_set_fd' function. */
/* #undef HAVE_EXTATTR_SET_FD */
/* Define to 1 if you have the `extattr_set_file' function. */
/* #undef HAVE_EXTATTR_SET_FILE */
/* Define to 1 if EXTATTR_NAMESPACE_USER is defined in sys/extattr.h. */
/* #undef HAVE_DECL_EXTATTR_NAMESPACE_USER */
/* Define to 1 if you have the declaration of `GETACL', and to 0 if you don't.
*/
/* #undef HAVE_DECL_GETACL */
/* Define to 1 if you have the declaration of `GETACLCNT', and to 0 if you
don't. */
/* #undef HAVE_DECL_GETACLCNT */
/* Define to 1 if you have the `fchdir' function. */
#define HAVE_FCHDIR 1
/* Define to 1 if you have the `fchflags' function. */
/* #undef HAVE_FCHFLAGS */
/* Define to 1 if you have the `fchmod' function. */
#define HAVE_FCHMOD 1
/* Define to 1 if you have the `fchown' function. */
#define HAVE_FCHOWN 1
/* Define to 1 if you have the `fcntl' function. */
#define HAVE_FCNTL 1
/* Define to 1 if you have the <fcntl.h> header file. */
#define HAVE_FCNTL_H 1
/* Define to 1 if you have the `fdopendir' function. */
#define HAVE_FDOPENDIR 1
/* Define to 1 if you have the `fgetea' function. */
/* #undef HAVE_FGETEA */
/* Define to 1 if you have the `fgetxattr' function. */
/* #undef HAVE_FGETXATTR */
/* Define to 1 if you have the `flistea' function. */
/* #undef HAVE_FLISTEA */
/* Define to 1 if you have the `flistxattr' function. */
/* #undef HAVE_FLISTXATTR */
/* Define to 1 if you have the `fork' function. */
#define HAVE_FORK 1
/* Define to 1 if fseeko (and presumably ftello) exists and is declared. */
#define HAVE_FSEEKO 1
/* Define to 1 if you have the `fsetea' function. */
/* #undef HAVE_FSETEA */
/* Define to 1 if you have the `fsetxattr' function. */
#define HAVE_FSETXATTR 1
/* Define to 1 if you have the `fstat' function. */
#define HAVE_FSTAT 1
/* Define to 1 if you have the `fstatat' function. */
#define HAVE_FSTATAT 1
/* Define to 1 if you have the `fstatfs' function. */
#define HAVE_FSTATFS 1
/* Define to 1 if you have the `fstatvfs' function. */
#define HAVE_FSTATVFS 1
/* Define to 1 if you have the `ftruncate' function. */
#define HAVE_FTRUNCATE 1
/* Define to 1 if you have the `futimens' function. */
#define HAVE_FUTIMENS 1
/* Define to 1 if you have the `futimes' function. */
#define HAVE_FUTIMES 1
/* Define to 1 if you have the `futimesat' function. */
#define HAVE_FUTIMESAT 1
/* Define to 1 if you have the `getea' function. */
/* #undef HAVE_GETEA */
/* Define to 1 if you have the `geteuid' function. */
#define HAVE_GETEUID 1
/* Define to 1 if you have the `getgrgid_r' function. */
#define HAVE_GETGRGID_R 1
/* Define to 1 if you have the `getgrnam_r' function. */
#define HAVE_GETGRNAM_R 1
/* Define to 1 if you have the `getpid' function. */
#define HAVE_GETPID 1
/* Define to 1 if you have the `getpwnam_r' function. */
#define HAVE_GETPWNAM_R 1
/* Define to 1 if you have the `getpwuid_r' function. */
#define HAVE_GETPWUID_R 1
/* Define to 1 if you have the `getvfsbyname' function. */
/* #undef HAVE_GETVFSBYNAME */
/* Define to 1 if you have the `getxattr' function. */
/* #undef HAVE_GETXATTR */
/* Define to 1 if you have the `gmtime_r' function. */
#define HAVE_GMTIME_R 1
/* Define to 1 if you have the <grp.h> header file. */
#define HAVE_GRP_H 1
/* Define to 1 if you have the `iconv' function. */
/* #undef HAVE_ICONV */
/* Define to 1 if you have the <iconv.h> header file. */
/* #undef HAVE_ICONV_H */
/* Define to 1 if you have the <io.h> header file. */
/* #undef HAVE_IO_H */
/* Define to 1 if you have the <langinfo.h> header file. */
#define HAVE_LANGINFO_H 1
/* Define to 1 if you have the `lchflags' function. */
/* #undef HAVE_LCHFLAGS */
/* Define to 1 if you have the `lchmod' function. */
/* #undef HAVE_LCHMOD */
/* Define to 1 if you have the `lchown' function. */
#define HAVE_LCHOWN 1
/* Define to 1 if you have the `lgetea' function. */
/* #undef HAVE_LGETEA */
/* Define to 1 if you have the `lgetxattr' function. */
/* #undef HAVE_LGETXATTR */
/* Define to 1 if you have the `acl' library (-lacl). */
/* #undef HAVE_LIBACL */
/* Define to 1 if you have the `attr' library (-lattr). */
/* #undef HAVE_LIBATTR */
/* Define to 1 if you have the `bsdxml' library (-lbsdxml). */
/* #undef HAVE_LIBBSDXML */
/* Define to 1 if you have the `bz2' library (-lbz2). */
#define HAVE_LIBBZ2 1
/* Define to 1 if you have the `b2' library (-lb2). */
/* #undef HAVE_LIBB2 */
/* Define to 1 if you have the <blake2.h> header file. */
/* #undef HAVE_BLAKE2_H */
/* Define to 1 if you have the `charset' library (-lcharset). */
/* #undef HAVE_LIBCHARSET */
/* Define to 1 if you have the `crypto' library (-lcrypto). */
#define HAVE_LIBCRYPTO 1
/* Define to 1 if you have the `expat' library (-lexpat). */
/* #undef HAVE_LIBEXPAT */
/* Define to 1 if you have the `gcc' library (-lgcc). */
/* #undef HAVE_LIBGCC */
/* Define to 1 if you have the `lz4' library (-llz4). */
/* #undef HAVE_LIBLZ4 */
/* Define to 1 if you have the `lzma' library (-llzma). */
#define HAVE_LIBLZMA 1
/* Define to 1 if you have the `lzmadec' library (-llzmadec). */
/* #undef HAVE_LIBLZMADEC */
/* Define to 1 if you have the `lzo2' library (-llzo2). */
/* #undef HAVE_LIBLZO2 */
/* Define to 1 if you have the `mbedcrypto' library (-lmbedcrypto). */
/* #undef HAVE_LIBMBEDCRYPTO */
/* Define to 1 if you have the `nettle' library (-lnettle). */
/* #undef HAVE_LIBNETTLE */
/* Define to 1 if you have the `pcre' library (-lpcre). */
/* #undef HAVE_LIBPCRE */
/* Define to 1 if you have the `pcreposix' library (-lpcreposix). */
/* #undef HAVE_LIBPCREPOSIX */
/* Define to 1 if you have the `xml2' library (-lxml2). */
/* #undef HAVE_LIBXML2 */
/* Define to 1 if you have the <libxml/xmlreader.h> header file. */
/* #undef HAVE_LIBXML_XMLREADER_H */
/* Define to 1 if you have the <libxml/xmlwriter.h> header file. */
/* #undef HAVE_LIBXML_XMLWRITER_H */
/* Define to 1 if you have the `z' library (-lz). */
#define HAVE_LIBZ 1
/* Define to 1 if you have the `zstd' library (-lzstd). */
#define HAVE_LIBZSTD 1
/* Define to 1 if you have the `zstd' library (-lzstd) with compression
support. */
#define HAVE_LIBZSTD_COMPRESSOR 1
/* Define to 1 if you have the <limits.h> header file. */
#define HAVE_LIMITS_H 1
/* Define to 1 if you have the `link' function. */
#define HAVE_LINK 1
/* Define to 1 if you have the `linkat' function. */
#define HAVE_LINKAT 1
/* Define to 1 if you have the <linux/fiemap.h> header file. */
#define HAVE_LINUX_FIEMAP_H 1
/* Define to 1 if you have the <linux/fs.h> header file. */
#define HAVE_LINUX_FS_H 1
/* Define to 1 if you have the <linux/magic.h> header file. */
#define HAVE_LINUX_MAGIC_H 1
/* Define to 1 if you have the <linux/types.h> header file. */
#define HAVE_LINUX_TYPES_H 1
/* Define to 1 if you have the `listea' function. */
/* #undef HAVE_LISTEA */
/* Define to 1 if you have the `listxattr' function. */
/* #undef HAVE_LISTXATTR */
/* Define to 1 if you have the `llistea' function. */
/* #undef HAVE_LLISTEA */
/* Define to 1 if you have the `llistxattr' function. */
/* #undef HAVE_LLISTXATTR */
/* Define to 1 if you have the <localcharset.h> header file. */
/* #undef HAVE_LOCALCHARSET_H */
/* Define to 1 if you have the `locale_charset' function. */
/* #undef HAVE_LOCALE_CHARSET */
/* Define to 1 if you have the <locale.h> header file. */
#define HAVE_LOCALE_H 1
/* Define to 1 if you have the `localtime_r' function. */
#define HAVE_LOCALTIME_R 1
/* Define to 1 if the system has the type `long long int'. */
/* #undef HAVE_LONG_LONG_INT */
/* Define to 1 if you have the `lsetea' function. */
/* #undef HAVE_LSETEA */
/* Define to 1 if you have the `lsetxattr' function. */
/* #undef HAVE_LSETXATTR */
/* Define to 1 if you have the `lstat' function. */
#define HAVE_LSTAT 1
/* Define to 1 if `lstat' has the bug that it succeeds when given the
zero-length file name argument. */
/* #undef HAVE_LSTAT_EMPTY_STRING_BUG */
/* Define to 1 if you have the `lutimes' function. */
#define HAVE_LUTIMES 1
/* Define to 1 if you have the <lz4hc.h> header file. */
/* #undef HAVE_LZ4HC_H */
/* Define to 1 if you have the <lz4.h> header file. */
/* #undef HAVE_LZ4_H */
/* Define to 1 if you have the <lzmadec.h> header file. */
/* #undef HAVE_LZMADEC_H */
/* Define to 1 if you have the <lzma.h> header file. */
#define HAVE_LZMA_H 1
/* Define to 1 if you have a working `lzma_stream_encoder_mt' function. */
#define HAVE_LZMA_STREAM_ENCODER_MT 1
/* Define to 1 if you have the <lzo/lzo1x.h> header file. */
/* #undef HAVE_LZO_LZO1X_H */
/* Define to 1 if you have the <lzo/lzoconf.h> header file. */
/* #undef HAVE_LZO_LZOCONF_H */
/* Define to 1 if you have the `mbrtowc' function. */
#define HAVE_MBRTOWC 1
/* Define to 1 if you have the <membership.h> header file. */
/* #undef HAVE_MEMBERSHIP_H */
/* Define to 1 if you have the `memmove' function. */
#define HAVE_MEMMOVE 1
/* Define to 1 if you have the <memory.h> header file. */
#define HAVE_MEMORY_H 1
/* Define to 1 if you have the `mkdir' function. */
#define HAVE_MKDIR 1
/* Define to 1 if you have the `mkfifo' function. */
#define HAVE_MKFIFO 1
/* Define to 1 if you have the `mknod' function. */
#define HAVE_MKNOD 1
/* Define to 1 if you have the `mkstemp' function. */
#define HAVE_MKSTEMP 1
/* Define to 1 if you have the <ndir.h> header file, and it defines `DIR'. */
/* #undef HAVE_NDIR_H */
/* Define to 1 if you have the <nettle/aes.h> header file. */
/* #undef HAVE_NETTLE_AES_H */
/* Define to 1 if you have the <nettle/hmac.h> header file. */
/* #undef HAVE_NETTLE_HMAC_H */
/* Define to 1 if you have the <nettle/md5.h> header file. */
/* #undef HAVE_NETTLE_MD5_H */
/* Define to 1 if you have the <nettle/pbkdf2.h> header file. */
/* #undef HAVE_NETTLE_PBKDF2_H */
/* Define to 1 if you have the <nettle/ripemd160.h> header file. */
/* #undef HAVE_NETTLE_RIPEMD160_H */
/* Define to 1 if you have the <nettle/sha.h> header file. */
/* #undef HAVE_NETTLE_SHA_H */
/* Define to 1 if you have the `nl_langinfo' function. */
#define HAVE_NL_LANGINFO 1
/* Define to 1 if you have the `openat' function. */
#define HAVE_OPENAT 1
/* Define to 1 if you have the <paths.h> header file. */
#define HAVE_PATHS_H 1
/* Define to 1 if you have the <pcreposix.h> header file. */
/* #undef HAVE_PCREPOSIX_H */
/* Define to 1 if you have the `pipe' function. */
#define HAVE_PIPE 1
/* Define to 1 if you have the `PKCS5_PBKDF2_HMAC_SHA1' function. */
/* #undef HAVE_PKCS5_PBKDF2_HMAC_SHA1 */
/* Define to 1 if you have the `poll' function. */
#define HAVE_POLL 1
/* Define to 1 if you have the <poll.h> header file. */
#define HAVE_POLL_H 1
/* Define to 1 if you have the `posix_spawnp' function. */
#define HAVE_POSIX_SPAWNP 1
/* Define to 1 if you have the <process.h> header file. */
/* #undef HAVE_PROCESS_H */
/* Define to 1 if you have the <pthread.h> header file. */
#define HAVE_PTHREAD_H 1
/* Define to 1 if you have the <pwd.h> header file. */
#define HAVE_PWD_H 1
/* Define to 1 if you have the `readdir_r' function. */
#define HAVE_READDIR_R 1
/* Define to 1 if you have the `readlink' function. */
#define HAVE_READLINK 1
/* Define to 1 if you have the `readlinkat' function. */
/* #undef HAVE_READLINKAT */
/* Define to 1 if you have the `readpassphrase' function. */
/* #undef HAVE_READPASSPHRASE */
/* Define to 1 if you have the <readpassphrase.h> header file. */
/* #undef HAVE_READPASSPHRASE_H */
/* Define to 1 if you have the <regex.h> header file. */
#define HAVE_REGEX_H 1
/* Define to 1 if you have the `select' function. */
#define HAVE_SELECT 1
/* Define to 1 if you have the `setenv' function. */
#define HAVE_SETENV 1
/* Define to 1 if you have the `setlocale' function. */
#define HAVE_SETLOCALE 1
/* Define to 1 if you have the `sigaction' function. */
#define HAVE_SIGACTION 1
/* Define to 1 if you have the <signal.h> header file. */
#define HAVE_SIGNAL_H 1
/* Define to 1 if you have the <spawn.h> header file. */
#define HAVE_SPAWN_H 1
/* Define to 1 if you have the `statfs' function. */
#define HAVE_STATFS 1
/* Define to 1 if you have the `statvfs' function. */
#define HAVE_STATVFS 1
/* Define to 1 if `stat' has the bug that it succeeds when given the
zero-length file name argument. */
/* #undef HAVE_STAT_EMPTY_STRING_BUG */
/* Define to 1 if you have the <stdarg.h> header file. */
#define HAVE_STDARG_H 1
/* Define to 1 if you have the <stdlib.h> header file. */
#define HAVE_STDLIB_H 1
/* Define to 1 if you have the `strchr' function. */
#define HAVE_STRCHR 1
/* Define to 1 if you have the `strnlen' function. */
#define HAVE_STRNLEN 1
/* Define to 1 if you have the `strdup' function. */
#define HAVE_STRDUP 1
/* Define to 1 if you have the `strerror' function. */
#define HAVE_STRERROR 1
/* Define to 1 if you have the `strerror_r' function. */
#define HAVE_STRERROR_R 1
/* Define to 1 if you have the `strftime' function. */
#define HAVE_STRFTIME 1
/* Define to 1 if you have the <strings.h> header file. */
#define HAVE_STRINGS_H 1
/* Define to 1 if you have the <string.h> header file. */
#define HAVE_STRING_H 1
/* Define to 1 if you have the `strrchr' function. */
#define HAVE_STRRCHR 1
/* Define to 1 if `f_namemax' is a member of `struct statfs'. */
/* #undef HAVE_STRUCT_STATFS_F_NAMEMAX */
/* Define to 1 if `f_iosize' is a member of `struct statvfs'. */
/* #undef HAVE_STRUCT_STATVFS_F_IOSIZE */
/* Define to 1 if `st_birthtime' is a member of `struct stat'. */
/* #undef HAVE_STRUCT_STAT_ST_BIRTHTIME */
/* Define to 1 if `st_birthtimespec.tv_nsec' is a member of `struct stat'. */
/* #undef HAVE_STRUCT_STAT_ST_BIRTHTIMESPEC_TV_NSEC */
/* Define to 1 if `st_blksize' is a member of `struct stat'. */
#define HAVE_STRUCT_STAT_ST_BLKSIZE 1
/* Define to 1 if `st_flags' is a member of `struct stat'. */
/* #undef HAVE_STRUCT_STAT_ST_FLAGS */
/* Define to 1 if `st_mtimespec.tv_nsec' is a member of `struct stat'. */
/* #undef HAVE_STRUCT_STAT_ST_MTIMESPEC_TV_NSEC */
/* Define to 1 if `st_mtime_n' is a member of `struct stat'. */
/* #undef HAVE_STRUCT_STAT_ST_MTIME_N */
/* Define to 1 if `st_mtime_usec' is a member of `struct stat'. */
/* #undef HAVE_STRUCT_STAT_ST_MTIME_USEC */
/* Define to 1 if `st_mtim.tv_nsec' is a member of `struct stat'. */
#define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1
/* Define to 1 if `st_umtime' is a member of `struct stat'. */
/* #undef HAVE_STRUCT_STAT_ST_UMTIME */
/* Define to 1 if `tm_gmtoff' is a member of `struct tm'. */
#define HAVE_STRUCT_TM_TM_GMTOFF 1
/* Define to 1 if `__tm_gmtoff' is a member of `struct tm'. */
/* #undef HAVE_STRUCT_TM___TM_GMTOFF */
/* Define to 1 if you have `struct vfsconf'. */
/* #undef HAVE_STRUCT_VFSCONF */
/* Define to 1 if you have `struct xvfsconf'. */
/* #undef HAVE_STRUCT_XVFSCONF */
/* Define to 1 if you have the `symlink' function. */
#define HAVE_SYMLINK 1
/* Define to 1 if you have the <sys/acl.h> header file. */
/* #undef HAVE_SYS_ACL_H */
/* Define to 1 if you have the <sys/cdefs.h> header file. */
#define HAVE_SYS_CDEFS_H 1
/* Define to 1 if you have the <sys/dir.h> header file, and it defines `DIR'.
*/
/* #undef HAVE_SYS_DIR_H */
/* Define to 1 if you have the <sys/ea.h> header file. */
/* #undef HAVE_SYS_EA_H */
/* Define to 1 if you have the <sys/extattr.h> header file. */
/* #undef HAVE_SYS_EXTATTR_H */
/* Define to 1 if you have the <sys/ioctl.h> header file. */
#define HAVE_SYS_IOCTL_H 1
/* Define to 1 if you have the <sys/mkdev.h> header file. */
/* #undef HAVE_SYS_MKDEV_H */
/* Define to 1 if you have the <sys/mount.h> header file. */
/* #undef HAVE_SYS_MOUNT_H */
/* Define to 1 if you have the <sys/ndir.h> header file, and it defines `DIR'.
*/
/* #undef HAVE_SYS_NDIR_H */
/* Define to 1 if you have the <sys/param.h> header file. */
#define HAVE_SYS_PARAM_H 1
/* Define to 1 if you have the <sys/poll.h> header file. */
#define HAVE_SYS_POLL_H 1
/* Define to 1 if you have the <sys/richacl.h> header file. */
/* #undef HAVE_SYS_RICHACL_H */
/* Define to 1 if you have the <sys/select.h> header file. */
#define HAVE_SYS_SELECT_H 1
/* Define to 1 if you have the <sys/statfs.h> header file. */
#define HAVE_SYS_STATFS_H 1
/* Define to 1 if you have the <sys/statvfs.h> header file. */
#define HAVE_SYS_STATVFS_H 1
/* Define to 1 if you have the <sys/stat.h> header file. */
#define HAVE_SYS_STAT_H 1
/* Define to 1 if you have the <sys/sysmacros.h> header file. */
#define HAVE_SYS_SYSMACROS_H 1
/* Define to 1 if you have the <sys/time.h> header file. */
#define HAVE_SYS_TIME_H 1
/* Define to 1 if you have the <sys/types.h> header file. */
#define HAVE_SYS_TYPES_H 1
/* Define to 1 if you have the <sys/utime.h> header file. */
/* #undef HAVE_SYS_UTIME_H */
/* Define to 1 if you have the <sys/utsname.h> header file. */
#define HAVE_SYS_UTSNAME_H 1
/* Define to 1 if you have the <sys/vfs.h> header file. */
#define HAVE_SYS_VFS_H 1
/* Define to 1 if you have <sys/wait.h> that is POSIX.1 compatible. */
#define HAVE_SYS_WAIT_H 1
/* Define to 1 if you have the <sys/xattr.h> header file. */
#define HAVE_SYS_XATTR_H 1
/* Define to 1 if you have the `timegm' function. */
#define HAVE_TIMEGM 1
/* Define to 1 if you have the <time.h> header file. */
#define HAVE_TIME_H 1
/* Define to 1 if you have the `tzset' function. */
#define HAVE_TZSET 1
/* Define to 1 if you have the <unistd.h> header file. */
#define HAVE_UNISTD_H 1
/* Define to 1 if you have the `unlinkat' function. */
#define HAVE_UNLINKAT 1
/* Define to 1 if you have the `unsetenv' function. */
#define HAVE_UNSETENV 1
/* Define to 1 if the system has the type `unsigned long long'. */
/* #undef HAVE_UNSIGNED_LONG_LONG */
/* Define to 1 if the system has the type `unsigned long long int'. */
/* #undef HAVE_UNSIGNED_LONG_LONG_INT */
/* Define to 1 if you have the `utime' function. */
#define HAVE_UTIME 1
/* Define to 1 if you have the `utimensat' function. */
#define HAVE_UTIMENSAT 1
/* Define to 1 if you have the `utimes' function. */
#define HAVE_UTIMES 1
/* Define to 1 if you have the <utime.h> header file. */
#define HAVE_UTIME_H 1
/* Define to 1 if you have the `vfork' function. */
#define HAVE_VFORK 1
/* Define to 1 if you have the `vprintf' function. */
#define HAVE_VPRINTF 1
/* Define to 1 if you have the <wchar.h> header file. */
#define HAVE_WCHAR_H 1
/* Define to 1 if the system has the type `wchar_t'. */
#define HAVE_WCHAR_T 1
/* Define to 1 if you have the `wcrtomb' function. */
#define HAVE_WCRTOMB 1
/* Define to 1 if you have the `wcscmp' function. */
#define HAVE_WCSCMP 1
/* Define to 1 if you have the `wcscpy' function. */
#define HAVE_WCSCPY 1
/* Define to 1 if you have the `wcslen' function. */
#define HAVE_WCSLEN 1
/* Define to 1 if you have the `wctomb' function. */
#define HAVE_WCTOMB 1
/* Define to 1 if you have the <wctype.h> header file. */
#define HAVE_WCTYPE_H 1
/* Define to 1 if you have the <wincrypt.h> header file. */
/* #undef HAVE_WINCRYPT_H */
/* Define to 1 if you have the <windows.h> header file. */
/* #undef HAVE_WINDOWS_H */
/* Define to 1 if you have the <winioctl.h> header file. */
/* #undef HAVE_WINIOCTL_H */
/* Define to 1 if you have _CrtSetReportMode in <crtdbg.h> */
/* #undef HAVE__CrtSetReportMode */
/* Define to 1 if you have the `wmemcmp' function. */
#define HAVE_WMEMCMP 1
/* Define to 1 if you have the `wmemcpy' function. */
#define HAVE_WMEMCPY 1
/* Define to 1 if you have the `wmemmove' function. */
#define HAVE_WMEMMOVE 1
/* Define to 1 if you have a working EXT2_IOC_GETFLAGS */
#define HAVE_WORKING_EXT2_IOC_GETFLAGS 1
/* Define to 1 if you have a working FS_IOC_GETFLAGS */
#define HAVE_WORKING_FS_IOC_GETFLAGS 1
/* Define to 1 if you have the <zlib.h> header file. */
#define HAVE_ZLIB_H 1
/* Define to 1 if you have the <zstd.h> header file. */
#define HAVE_ZSTD_H 1
/* Define to 1 if you have the `_ctime64_s' function. */
/* #undef HAVE__CTIME64_S */
/* Define to 1 if you have the `_fseeki64' function. */
/* #undef HAVE__FSEEKI64 */
/* Define to 1 if you have the `_get_timezone' function. */
/* #undef HAVE__GET_TIMEZONE */
/* Define to 1 if you have the `_gmtime64_s' function. */
/* #undef HAVE__GMTIME64_S */
/* Define to 1 if you have the `_localtime64_s' function. */
/* #undef HAVE__LOCALTIME64_S */
/* Define to 1 if you have the `_mkgmtime64' function. */
/* #undef HAVE__MKGMTIME64 */
/* Define as const if the declaration of iconv() needs const. */
#define ICONV_CONST
/* Version number of libarchive as a single integer */
#define LIBARCHIVE_VERSION_NUMBER "3006000"
/* Version number of libarchive */
#define LIBARCHIVE_VERSION_STRING "3.6.0"
/* Define to 1 if `lstat' dereferences a symlink specified with a trailing
slash. */
/* #undef LSTAT_FOLLOWS_SLASHED_SYMLINK */
/* Define to 1 if `major', `minor', and `makedev' are declared in <mkdev.h>.
*/
/* #undef MAJOR_IN_MKDEV */
/* Define to 1 if `major', `minor', and `makedev' are declared in
<sysmacros.h>. */
#define MAJOR_IN_SYSMACROS 1
/* Define to 1 if your C compiler doesn't accept -c and -o together. */
/* #undef NO_MINUS_C_MINUS_O */
/* The size of `wchar_t', as computed by sizeof. */
#define SIZEOF_WCHAR_T 4
/* Define to 1 if strerror_r returns char *. */
/* #undef STRERROR_R_CHAR_P */
/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
#define TIME_WITH_SYS_TIME 1
/*
* Some platform requires a macro to use extension functions.
*/
#define SAFE_TO_DEFINE_EXTENSIONS 1
#ifdef SAFE_TO_DEFINE_EXTENSIONS
/* Enable extensions on AIX 3, Interix. */
#ifndef _ALL_SOURCE
# define _ALL_SOURCE 1
#endif
/* Enable GNU extensions on systems that have them. */
#ifndef _GNU_SOURCE
# define _GNU_SOURCE 1
#endif
/* Enable threading extensions on Solaris. */
#ifndef _POSIX_PTHREAD_SEMANTICS
# define _POSIX_PTHREAD_SEMANTICS 1
#endif
/* Enable extensions on HP NonStop. */
#ifndef _TANDEM_SOURCE
# define _TANDEM_SOURCE 1
#endif
/* Enable general extensions on Solaris. */
#ifndef __EXTENSIONS__
# define __EXTENSIONS__ 1
#endif
#endif /* SAFE_TO_DEFINE_EXTENSIONS */
/* Version number of package */
#define VERSION "3.6.0"
/* Number of bits in a file offset, on hosts where this is settable. */
/* #undef _FILE_OFFSET_BITS */
/* Define to 1 to make fseeko visible on some hosts (e.g. glibc 2.2). */
/* #undef _LARGEFILE_SOURCE */
/* Define for large files, on AIX-style hosts. */
/* #undef _LARGE_FILES */
/* Define to control Windows SDK version */
#ifndef NTDDI_VERSION
/* #undef NTDDI_VERSION */
#endif // NTDDI_VERSION
#ifndef _WIN32_WINNT
/* #undef _WIN32_WINNT */
#endif // _WIN32_WINNT
#ifndef WINVER
/* #undef WINVER */
#endif // WINVER
/* Define to empty if `const' does not conform to ANSI C. */
/* #undef const */
/* Define to `int' if <sys/types.h> doesn't define. */
/* #undef gid_t */
/* Define to `unsigned long' if <sys/types.h> does not define. */
/* #undef id_t */
/* Define to `int' if <sys/types.h> does not define. */
/* #undef mode_t */
/* Define to `long long' if <sys/types.h> does not define. */
/* #undef off_t */
/* Define to `int' if <sys/types.h> doesn't define. */
/* #undef pid_t */
/* Define to `unsigned int' if <sys/types.h> does not define. */
/* #undef size_t */
/* Define to `int' if <sys/types.h> does not define. */
/* #undef ssize_t */
/* Define to `int' if <sys/types.h> doesn't define. */
/* #undef uid_t */
#include <cm3p/kwiml/int.h>
#ifndef KWIML_INT_HAVE_INT64_T
typedef KWIML_INT_int64_t int64_t;
#endif
#ifndef KWIML_INT_HAVE_INT32_T
typedef KWIML_INT_int32_t int32_t;
#endif
#ifndef KWIML_INT_HAVE_INT16_T
typedef KWIML_INT_int16_t int16_t;
#endif
#ifndef KWIML_INT_HAVE_INT8_T
typedef KWIML_INT_int8_t int8_t;
#endif
#ifndef KWIML_INT_HAVE_INTPTR_T
typedef KWIML_INT_intptr_t intptr_t;
#endif
#ifndef KWIML_INT_HAVE_UINT64_T
typedef KWIML_INT_uint64_t uint64_t;
#endif
#ifndef KWIML_INT_HAVE_UINT32_T
typedef KWIML_INT_uint32_t uint32_t;
#endif
#ifndef KWIML_INT_HAVE_UINT16_T
typedef KWIML_INT_uint16_t uint16_t;
#endif
#ifndef KWIML_INT_HAVE_UINT8_T
typedef KWIML_INT_uint8_t uint8_t;
#endif
#ifndef KWIML_INT_HAVE_UINTPTR_T
typedef KWIML_INT_uintptr_t uintptr_t;
#endif
/* Define to 1 if you have the <stdint.h> header file. */
#ifdef KWIML_INT_HAVE_STDINT_H
# define HAVE_STDINT_H 1
#endif
/* Define to 1 if you have the <inttypes.h> header file. */
#ifdef KWIML_INT_HAVE_INTTYPES_H
# define HAVE_INTTYPES_H 1
#endif
#define ARCHIVE_SHA384_COMPILE_TEST
#define ARCHIVE_CRYPTO_SHA384_LIBC
#define PLATFORM_CONFIG_H "check_crypto_md.h"
/*-
* Copyright (c) 2003-2007 Tim Kientzle
* Copyright (c) 2011 Andres Mejia
* Copyright (c) 2011 Michihiro NAKAJIMA
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR(S) ``AS IS'' AND ANY EXPRESS OR
* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
* IN NO EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
#include "archive_platform.h"
#include "archive.h"
#include "archive_digest_private.h"
/* In particular, force the configure probe to break if it tries
* to test a combination of OpenSSL and libmd. */
#if defined(ARCHIVE_CRYPTO_OPENSSL) && defined(ARCHIVE_CRYPTO_LIBMD)
#error Cannot use both OpenSSL and libmd.
#endif
/*
* Message digest functions for Windows platform.
*/
#if defined(ARCHIVE_CRYPTO_MD5_WIN) ||\
defined(ARCHIVE_CRYPTO_SHA1_WIN) ||\
defined(ARCHIVE_CRYPTO_SHA256_WIN) ||\
defined(ARCHIVE_CRYPTO_SHA384_WIN) ||\
defined(ARCHIVE_CRYPTO_SHA512_WIN)
/*
* Initialize a Message digest.
*/
static int
win_crypto_init(Digest_CTX *ctx, ALG_ID algId)
{
ctx->valid = 0;
if (!CryptAcquireContext(&ctx->cryptProv, NULL, NULL,
PROV_RSA_FULL, CRYPT_VERIFYCONTEXT)) {
if (GetLastError() != (DWORD)NTE_BAD_KEYSET)
return (ARCHIVE_FAILED);
if (!CryptAcquireContext(&ctx->cryptProv, NULL, NULL,
PROV_RSA_FULL, CRYPT_NEWKEYSET))
return (ARCHIVE_FAILED);
}
if (!CryptCreateHash(ctx->cryptProv, algId, 0, 0, &ctx->hash)) {
CryptReleaseContext(ctx->cryptProv, 0);
return (ARCHIVE_FAILED);
}
ctx->valid = 1;
return (ARCHIVE_OK);
}
/*
* Update a Message digest.
*/
static int
win_crypto_Update(Digest_CTX *ctx, const unsigned char *buf, size_t len)
{
if (!ctx->valid)
return (ARCHIVE_FAILED);
CryptHashData(ctx->hash,
(unsigned char *)(uintptr_t)buf,
(DWORD)len, 0);
return (ARCHIVE_OK);
}
static int
win_crypto_Final(unsigned char *buf, size_t bufsize, Digest_CTX *ctx)
{
DWORD siglen = (DWORD)bufsize;
if (!ctx->valid)
return (ARCHIVE_FAILED);
CryptGetHashParam(ctx->hash, HP_HASHVAL, buf, &siglen, 0);
CryptDestroyHash(ctx->hash);
CryptReleaseContext(ctx->cryptProv, 0);
ctx->valid = 0;
return (ARCHIVE_OK);
}
#endif /* defined(ARCHIVE_CRYPTO_*_WIN) */
/* MD5 implementations */
#if defined(ARCHIVE_CRYPTO_MD5_LIBC)
static int
__archive_md5init(archive_md5_ctx *ctx)
{
MD5Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_md5update(archive_md5_ctx *ctx, const void *indata,
size_t insize)
{
MD5Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_md5final(archive_md5_ctx *ctx, void *md)
{
MD5Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_MD5_LIBMD)
static int
__archive_md5init(archive_md5_ctx *ctx)
{
MD5Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_md5update(archive_md5_ctx *ctx, const void *indata,
size_t insize)
{
MD5Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_md5final(archive_md5_ctx *ctx, void *md)
{
MD5Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_MD5_LIBSYSTEM)
static int
__archive_md5init(archive_md5_ctx *ctx)
{
CC_MD5_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_md5update(archive_md5_ctx *ctx, const void *indata,
size_t insize)
{
CC_MD5_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_md5final(archive_md5_ctx *ctx, void *md)
{
CC_MD5_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_MD5_MBEDTLS)
static int
__archive_md5init(archive_md5_ctx *ctx)
{
mbedtls_md5_init(ctx);
if (mbedtls_md5_starts_ret(ctx) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_md5update(archive_md5_ctx *ctx, const void *indata,
size_t insize)
{
if (mbedtls_md5_update_ret(ctx, indata, insize) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_md5final(archive_md5_ctx *ctx, void *md)
{
if (mbedtls_md5_finish_ret(ctx, md) == 0) {
mbedtls_md5_free(ctx);
return (ARCHIVE_OK);
} else {
mbedtls_md5_free(ctx);
return (ARCHIVE_FATAL);
}
}
#elif defined(ARCHIVE_CRYPTO_MD5_NETTLE)
static int
__archive_md5init(archive_md5_ctx *ctx)
{
md5_init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_md5update(archive_md5_ctx *ctx, const void *indata,
size_t insize)
{
md5_update(ctx, insize, indata);
return (ARCHIVE_OK);
}
static int
__archive_md5final(archive_md5_ctx *ctx, void *md)
{
md5_digest(ctx, MD5_DIGEST_SIZE, md);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_MD5_OPENSSL)
static int
__archive_md5init(archive_md5_ctx *ctx)
{
if ((*ctx = EVP_MD_CTX_new()) == NULL)
return (ARCHIVE_FAILED);
EVP_DigestInit(*ctx, EVP_md5());
return (ARCHIVE_OK);
}
static int
__archive_md5update(archive_md5_ctx *ctx, const void *indata,
size_t insize)
{
EVP_DigestUpdate(*ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_md5final(archive_md5_ctx *ctx, void *md)
{
/* HACK: archive_write_set_format_xar.c is finalizing empty contexts, so
* this is meant to cope with that. Real fix is probably to fix
* archive_write_set_format_xar.c
*/
if (*ctx) {
EVP_DigestFinal(*ctx, md, NULL);
EVP_MD_CTX_free(*ctx);
*ctx = NULL;
}
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_MD5_WIN)
static int
__archive_md5init(archive_md5_ctx *ctx)
{
return (win_crypto_init(ctx, CALG_MD5));
}
static int
__archive_md5update(archive_md5_ctx *ctx, const void *indata,
size_t insize)
{
return (win_crypto_Update(ctx, indata, insize));
}
static int
__archive_md5final(archive_md5_ctx *ctx, void *md)
{
return (win_crypto_Final(md, 16, ctx));
}
#else
static int
__archive_md5init(archive_md5_ctx *ctx)
{
(void)ctx; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_md5update(archive_md5_ctx *ctx, const void *indata,
size_t insize)
{
(void)ctx; /* UNUSED */
(void)indata; /* UNUSED */
(void)insize; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_md5final(archive_md5_ctx *ctx, void *md)
{
(void)ctx; /* UNUSED */
(void)md; /* UNUSED */
return (ARCHIVE_FAILED);
}
#endif
/* RIPEMD160 implementations */
#if defined(ARCHIVE_CRYPTO_RMD160_LIBC)
static int
__archive_ripemd160init(archive_rmd160_ctx *ctx)
{
RMD160Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata,
size_t insize)
{
RMD160Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_ripemd160final(archive_rmd160_ctx *ctx, void *md)
{
RMD160Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_RMD160_LIBMD)
static int
__archive_ripemd160init(archive_rmd160_ctx *ctx)
{
RIPEMD160_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata,
size_t insize)
{
RIPEMD160_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_ripemd160final(archive_rmd160_ctx *ctx, void *md)
{
RIPEMD160_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_RMD160_MBEDTLS)
static int
__archive_ripemd160init(archive_rmd160_ctx *ctx)
{
mbedtls_ripemd160_init(ctx);
if (mbedtls_ripemd160_starts_ret(ctx) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata,
size_t insize)
{
if (mbedtls_ripemd160_update_ret(ctx, indata, insize) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_ripemd160final(archive_rmd160_ctx *ctx, void *md)
{
if (mbedtls_ripemd160_finish_ret(ctx, md) == 0) {
mbedtls_ripemd160_free(ctx);
return (ARCHIVE_OK);
} else {
mbedtls_ripemd160_free(ctx);
return (ARCHIVE_FATAL);
}
}
#elif defined(ARCHIVE_CRYPTO_RMD160_NETTLE)
static int
__archive_ripemd160init(archive_rmd160_ctx *ctx)
{
ripemd160_init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata,
size_t insize)
{
ripemd160_update(ctx, insize, indata);
return (ARCHIVE_OK);
}
static int
__archive_ripemd160final(archive_rmd160_ctx *ctx, void *md)
{
ripemd160_digest(ctx, RIPEMD160_DIGEST_SIZE, md);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_RMD160_OPENSSL)
static int
__archive_ripemd160init(archive_rmd160_ctx *ctx)
{
if ((*ctx = EVP_MD_CTX_new()) == NULL)
return (ARCHIVE_FAILED);
EVP_DigestInit(*ctx, EVP_ripemd160());
return (ARCHIVE_OK);
}
static int
__archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata,
size_t insize)
{
EVP_DigestUpdate(*ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_ripemd160final(archive_rmd160_ctx *ctx, void *md)
{
if (*ctx) {
EVP_DigestFinal(*ctx, md, NULL);
EVP_MD_CTX_free(*ctx);
*ctx = NULL;
}
return (ARCHIVE_OK);
}
#else
static int
__archive_ripemd160init(archive_rmd160_ctx *ctx)
{
(void)ctx; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata,
size_t insize)
{
(void)ctx; /* UNUSED */
(void)indata; /* UNUSED */
(void)insize; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_ripemd160final(archive_rmd160_ctx *ctx, void *md)
{
(void)ctx; /* UNUSED */
(void)md; /* UNUSED */
return (ARCHIVE_FAILED);
}
#endif
/* SHA1 implementations */
#if defined(ARCHIVE_CRYPTO_SHA1_LIBC)
static int
__archive_sha1init(archive_sha1_ctx *ctx)
{
SHA1Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha1update(archive_sha1_ctx *ctx, const void *indata,
size_t insize)
{
SHA1Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha1final(archive_sha1_ctx *ctx, void *md)
{
SHA1Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA1_LIBMD)
static int
__archive_sha1init(archive_sha1_ctx *ctx)
{
SHA1_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha1update(archive_sha1_ctx *ctx, const void *indata,
size_t insize)
{
SHA1_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha1final(archive_sha1_ctx *ctx, void *md)
{
SHA1_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA1_LIBSYSTEM)
static int
__archive_sha1init(archive_sha1_ctx *ctx)
{
CC_SHA1_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha1update(archive_sha1_ctx *ctx, const void *indata,
size_t insize)
{
CC_SHA1_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha1final(archive_sha1_ctx *ctx, void *md)
{
CC_SHA1_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA1_MBEDTLS)
static int
__archive_sha1init(archive_sha1_ctx *ctx)
{
mbedtls_sha1_init(ctx);
if (mbedtls_sha1_starts_ret(ctx) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_sha1update(archive_sha1_ctx *ctx, const void *indata,
size_t insize)
{
if (mbedtls_sha1_update_ret(ctx, indata, insize) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_sha1final(archive_sha1_ctx *ctx, void *md)
{
if (mbedtls_sha1_finish_ret(ctx, md) == 0) {
mbedtls_sha1_free(ctx);
return (ARCHIVE_OK);
} else {
mbedtls_sha1_free(ctx);
return (ARCHIVE_FATAL);
}
}
#elif defined(ARCHIVE_CRYPTO_SHA1_NETTLE)
static int
__archive_sha1init(archive_sha1_ctx *ctx)
{
sha1_init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha1update(archive_sha1_ctx *ctx, const void *indata,
size_t insize)
{
sha1_update(ctx, insize, indata);
return (ARCHIVE_OK);
}
static int
__archive_sha1final(archive_sha1_ctx *ctx, void *md)
{
sha1_digest(ctx, SHA1_DIGEST_SIZE, md);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA1_OPENSSL)
static int
__archive_sha1init(archive_sha1_ctx *ctx)
{
if ((*ctx = EVP_MD_CTX_new()) == NULL)
return (ARCHIVE_FAILED);
EVP_DigestInit(*ctx, EVP_sha1());
return (ARCHIVE_OK);
}
static int
__archive_sha1update(archive_sha1_ctx *ctx, const void *indata,
size_t insize)
{
EVP_DigestUpdate(*ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha1final(archive_sha1_ctx *ctx, void *md)
{
/* HACK: archive_write_set_format_xar.c is finalizing empty contexts, so
* this is meant to cope with that. Real fix is probably to fix
* archive_write_set_format_xar.c
*/
if (*ctx) {
EVP_DigestFinal(*ctx, md, NULL);
EVP_MD_CTX_free(*ctx);
*ctx = NULL;
}
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA1_WIN)
static int
__archive_sha1init(archive_sha1_ctx *ctx)
{
return (win_crypto_init(ctx, CALG_SHA1));
}
static int
__archive_sha1update(archive_sha1_ctx *ctx, const void *indata,
size_t insize)
{
return (win_crypto_Update(ctx, indata, insize));
}
static int
__archive_sha1final(archive_sha1_ctx *ctx, void *md)
{
return (win_crypto_Final(md, 20, ctx));
}
#else
static int
__archive_sha1init(archive_sha1_ctx *ctx)
{
(void)ctx; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_sha1update(archive_sha1_ctx *ctx, const void *indata,
size_t insize)
{
(void)ctx; /* UNUSED */
(void)indata; /* UNUSED */
(void)insize; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_sha1final(archive_sha1_ctx *ctx, void *md)
{
(void)ctx; /* UNUSED */
(void)md; /* UNUSED */
return (ARCHIVE_FAILED);
}
#endif
/* SHA256 implementations */
#if defined(ARCHIVE_CRYPTO_SHA256_LIBC)
static int
__archive_sha256init(archive_sha256_ctx *ctx)
{
SHA256_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha256update(archive_sha256_ctx *ctx, const void *indata,
size_t insize)
{
SHA256_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha256final(archive_sha256_ctx *ctx, void *md)
{
SHA256_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA256_LIBC2)
static int
__archive_sha256init(archive_sha256_ctx *ctx)
{
SHA256Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha256update(archive_sha256_ctx *ctx, const void *indata,
size_t insize)
{
SHA256Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha256final(archive_sha256_ctx *ctx, void *md)
{
SHA256Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA256_LIBC3)
static int
__archive_sha256init(archive_sha256_ctx *ctx)
{
SHA256Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha256update(archive_sha256_ctx *ctx, const void *indata,
size_t insize)
{
SHA256Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha256final(archive_sha256_ctx *ctx, void *md)
{
SHA256Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA256_LIBMD)
static int
__archive_sha256init(archive_sha256_ctx *ctx)
{
SHA256_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha256update(archive_sha256_ctx *ctx, const void *indata,
size_t insize)
{
SHA256_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha256final(archive_sha256_ctx *ctx, void *md)
{
SHA256_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA256_LIBSYSTEM)
static int
__archive_sha256init(archive_sha256_ctx *ctx)
{
CC_SHA256_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha256update(archive_sha256_ctx *ctx, const void *indata,
size_t insize)
{
CC_SHA256_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha256final(archive_sha256_ctx *ctx, void *md)
{
CC_SHA256_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA256_MBEDTLS)
static int
__archive_sha256init(archive_sha256_ctx *ctx)
{
mbedtls_sha256_init(ctx);
if (mbedtls_sha256_starts_ret(ctx, 0) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_sha256update(archive_sha256_ctx *ctx, const void *indata,
size_t insize)
{
if (mbedtls_sha256_update_ret(ctx, indata, insize) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_sha256final(archive_sha256_ctx *ctx, void *md)
{
if (mbedtls_sha256_finish_ret(ctx, md) == 0) {
mbedtls_sha256_free(ctx);
return (ARCHIVE_OK);
} else {
mbedtls_sha256_free(ctx);
return (ARCHIVE_FATAL);
}
}
#elif defined(ARCHIVE_CRYPTO_SHA256_NETTLE)
static int
__archive_sha256init(archive_sha256_ctx *ctx)
{
sha256_init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha256update(archive_sha256_ctx *ctx, const void *indata,
size_t insize)
{
sha256_update(ctx, insize, indata);
return (ARCHIVE_OK);
}
static int
__archive_sha256final(archive_sha256_ctx *ctx, void *md)
{
sha256_digest(ctx, SHA256_DIGEST_SIZE, md);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA256_OPENSSL)
static int
__archive_sha256init(archive_sha256_ctx *ctx)
{
if ((*ctx = EVP_MD_CTX_new()) == NULL)
return (ARCHIVE_FAILED);
EVP_DigestInit(*ctx, EVP_sha256());
return (ARCHIVE_OK);
}
static int
__archive_sha256update(archive_sha256_ctx *ctx, const void *indata,
size_t insize)
{
EVP_DigestUpdate(*ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha256final(archive_sha256_ctx *ctx, void *md)
{
if (*ctx) {
EVP_DigestFinal(*ctx, md, NULL);
EVP_MD_CTX_free(*ctx);
*ctx = NULL;
}
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA256_WIN)
static int
__archive_sha256init(archive_sha256_ctx *ctx)
{
return (win_crypto_init(ctx, CALG_SHA_256));
}
static int
__archive_sha256update(archive_sha256_ctx *ctx, const void *indata,
size_t insize)
{
return (win_crypto_Update(ctx, indata, insize));
}
static int
__archive_sha256final(archive_sha256_ctx *ctx, void *md)
{
return (win_crypto_Final(md, 32, ctx));
}
#else
static int
__archive_sha256init(archive_sha256_ctx *ctx)
{
(void)ctx; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_sha256update(archive_sha256_ctx *ctx, const void *indata,
size_t insize)
{
(void)ctx; /* UNUSED */
(void)indata; /* UNUSED */
(void)insize; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_sha256final(archive_sha256_ctx *ctx, void *md)
{
(void)ctx; /* UNUSED */
(void)md; /* UNUSED */
return (ARCHIVE_FAILED);
}
#endif
/* SHA384 implementations */
#if defined(ARCHIVE_CRYPTO_SHA384_LIBC)
static int
__archive_sha384init(archive_sha384_ctx *ctx)
{
SHA384_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha384update(archive_sha384_ctx *ctx, const void *indata,
size_t insize)
{
SHA384_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha384final(archive_sha384_ctx *ctx, void *md)
{
SHA384_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA384_LIBC2)
static int
__archive_sha384init(archive_sha384_ctx *ctx)
{
SHA384Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha384update(archive_sha384_ctx *ctx, const void *indata,
size_t insize)
{
SHA384Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha384final(archive_sha384_ctx *ctx, void *md)
{
SHA384Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA384_LIBC3)
static int
__archive_sha384init(archive_sha384_ctx *ctx)
{
SHA384Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha384update(archive_sha384_ctx *ctx, const void *indata,
size_t insize)
{
SHA384Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha384final(archive_sha384_ctx *ctx, void *md)
{
SHA384Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA384_LIBSYSTEM)
static int
__archive_sha384init(archive_sha384_ctx *ctx)
{
CC_SHA384_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha384update(archive_sha384_ctx *ctx, const void *indata,
size_t insize)
{
CC_SHA384_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha384final(archive_sha384_ctx *ctx, void *md)
{
CC_SHA384_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA384_MBEDTLS)
static int
__archive_sha384init(archive_sha384_ctx *ctx)
{
mbedtls_sha512_init(ctx);
if (mbedtls_sha512_starts_ret(ctx, 1) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_sha384update(archive_sha384_ctx *ctx, const void *indata,
size_t insize)
{
if (mbedtls_sha512_update_ret(ctx, indata, insize) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_sha384final(archive_sha384_ctx *ctx, void *md)
{
if (mbedtls_sha512_finish_ret(ctx, md) == 0) {
mbedtls_sha512_free(ctx);
return (ARCHIVE_OK);
} else {
mbedtls_sha512_free(ctx);
return (ARCHIVE_FATAL);
}
}
#elif defined(ARCHIVE_CRYPTO_SHA384_NETTLE)
static int
__archive_sha384init(archive_sha384_ctx *ctx)
{
sha384_init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha384update(archive_sha384_ctx *ctx, const void *indata,
size_t insize)
{
sha384_update(ctx, insize, indata);
return (ARCHIVE_OK);
}
static int
__archive_sha384final(archive_sha384_ctx *ctx, void *md)
{
sha384_digest(ctx, SHA384_DIGEST_SIZE, md);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA384_OPENSSL)
static int
__archive_sha384init(archive_sha384_ctx *ctx)
{
if ((*ctx = EVP_MD_CTX_new()) == NULL)
return (ARCHIVE_FAILED);
EVP_DigestInit(*ctx, EVP_sha384());
return (ARCHIVE_OK);
}
static int
__archive_sha384update(archive_sha384_ctx *ctx, const void *indata,
size_t insize)
{
EVP_DigestUpdate(*ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha384final(archive_sha384_ctx *ctx, void *md)
{
if (*ctx) {
EVP_DigestFinal(*ctx, md, NULL);
EVP_MD_CTX_free(*ctx);
*ctx = NULL;
}
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA384_WIN)
static int
__archive_sha384init(archive_sha384_ctx *ctx)
{
return (win_crypto_init(ctx, CALG_SHA_384));
}
static int
__archive_sha384update(archive_sha384_ctx *ctx, const void *indata,
size_t insize)
{
return (win_crypto_Update(ctx, indata, insize));
}
static int
__archive_sha384final(archive_sha384_ctx *ctx, void *md)
{
return (win_crypto_Final(md, 48, ctx));
}
#else
static int
__archive_sha384init(archive_sha384_ctx *ctx)
{
(void)ctx; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_sha384update(archive_sha384_ctx *ctx, const void *indata,
size_t insize)
{
(void)ctx; /* UNUSED */
(void)indata; /* UNUSED */
(void)insize; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_sha384final(archive_sha384_ctx *ctx, void *md)
{
(void)ctx; /* UNUSED */
(void)md; /* UNUSED */
return (ARCHIVE_FAILED);
}
#endif
/* SHA512 implementations */
#if defined(ARCHIVE_CRYPTO_SHA512_LIBC)
static int
__archive_sha512init(archive_sha512_ctx *ctx)
{
SHA512_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha512update(archive_sha512_ctx *ctx, const void *indata,
size_t insize)
{
SHA512_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha512final(archive_sha512_ctx *ctx, void *md)
{
SHA512_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA512_LIBC2)
static int
__archive_sha512init(archive_sha512_ctx *ctx)
{
SHA512Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha512update(archive_sha512_ctx *ctx, const void *indata,
size_t insize)
{
SHA512Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha512final(archive_sha512_ctx *ctx, void *md)
{
SHA512Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA512_LIBC3)
static int
__archive_sha512init(archive_sha512_ctx *ctx)
{
SHA512Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha512update(archive_sha512_ctx *ctx, const void *indata,
size_t insize)
{
SHA512Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha512final(archive_sha512_ctx *ctx, void *md)
{
SHA512Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA512_LIBMD)
static int
__archive_sha512init(archive_sha512_ctx *ctx)
{
SHA512_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha512update(archive_sha512_ctx *ctx, const void *indata,
size_t insize)
{
SHA512_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha512final(archive_sha512_ctx *ctx, void *md)
{
SHA512_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA512_LIBSYSTEM)
static int
__archive_sha512init(archive_sha512_ctx *ctx)
{
CC_SHA512_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha512update(archive_sha512_ctx *ctx, const void *indata,
size_t insize)
{
CC_SHA512_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha512final(archive_sha512_ctx *ctx, void *md)
{
CC_SHA512_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA512_MBEDTLS)
static int
__archive_sha512init(archive_sha512_ctx *ctx)
{
mbedtls_sha512_init(ctx);
if (mbedtls_sha512_starts_ret(ctx, 0) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_sha512update(archive_sha512_ctx *ctx, const void *indata,
size_t insize)
{
if (mbedtls_sha512_update_ret(ctx, indata, insize) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_sha512final(archive_sha512_ctx *ctx, void *md)
{
if (mbedtls_sha512_finish_ret(ctx, md) == 0) {
mbedtls_sha512_free(ctx);
return (ARCHIVE_OK);
} else {
mbedtls_sha512_free(ctx);
return (ARCHIVE_FATAL);
}
}
#elif defined(ARCHIVE_CRYPTO_SHA512_NETTLE)
static int
__archive_sha512init(archive_sha512_ctx *ctx)
{
sha512_init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha512update(archive_sha512_ctx *ctx, const void *indata,
size_t insize)
{
sha512_update(ctx, insize, indata);
return (ARCHIVE_OK);
}
static int
__archive_sha512final(archive_sha512_ctx *ctx, void *md)
{
sha512_digest(ctx, SHA512_DIGEST_SIZE, md);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA512_OPENSSL)
static int
__archive_sha512init(archive_sha512_ctx *ctx)
{
if ((*ctx = EVP_MD_CTX_new()) == NULL)
return (ARCHIVE_FAILED);
EVP_DigestInit(*ctx, EVP_sha512());
return (ARCHIVE_OK);
}
static int
__archive_sha512update(archive_sha512_ctx *ctx, const void *indata,
size_t insize)
{
EVP_DigestUpdate(*ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha512final(archive_sha512_ctx *ctx, void *md)
{
if (*ctx) {
EVP_DigestFinal(*ctx, md, NULL);
EVP_MD_CTX_free(*ctx);
*ctx = NULL;
}
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA512_WIN)
static int
__archive_sha512init(archive_sha512_ctx *ctx)
{
return (win_crypto_init(ctx, CALG_SHA_512));
}
static int
__archive_sha512update(archive_sha512_ctx *ctx, const void *indata,
size_t insize)
{
return (win_crypto_Update(ctx, indata, insize));
}
static int
__archive_sha512final(archive_sha512_ctx *ctx, void *md)
{
return (win_crypto_Final(md, 64, ctx));
}
#else
static int
__archive_sha512init(archive_sha512_ctx *ctx)
{
(void)ctx; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_sha512update(archive_sha512_ctx *ctx, const void *indata,
size_t insize)
{
(void)ctx; /* UNUSED */
(void)indata; /* UNUSED */
(void)insize; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_sha512final(archive_sha512_ctx *ctx, void *md)
{
(void)ctx; /* UNUSED */
(void)md; /* UNUSED */
return (ARCHIVE_FAILED);
}
#endif
/* NOTE: Message Digest functions are set based on availability and by the
* following order of preference.
* 1. libc
* 2. libc2
* 3. libc3
* 4. libSystem
* 5. Nettle
* 6. OpenSSL
* 7. libmd
* 8. Windows API
*/
const struct archive_digest __archive_digest =
{
/* MD5 */
&__archive_md5init,
&__archive_md5update,
&__archive_md5final,
/* RIPEMD160 */
&__archive_ripemd160init,
&__archive_ripemd160update,
&__archive_ripemd160final,
/* SHA1 */
&__archive_sha1init,
&__archive_sha1update,
&__archive_sha1final,
/* SHA256 */
&__archive_sha256init,
&__archive_sha256update,
&__archive_sha256final,
/* SHA384 */
&__archive_sha384init,
&__archive_sha384update,
&__archive_sha384final,
/* SHA512 */
&__archive_sha512init,
&__archive_sha512update,
&__archive_sha512final
};
int
main(int argc, char **argv)
{
archive_sha384_ctx ctx;
archive_sha384_init(&ctx);
archive_sha384_update(&ctx, *argv, argc);
archive_sha384_final(&ctx, NULL);
return 0;
}
Checking support for ARCHIVE_CRYPTO_SHA512_LIBC failed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeTmp
Run Build Command(s):/bin/gmake -f Makefile cmTC_26d9d/fast && gmake -f CMakeFiles/cmTC_26d9d.dir/build.make CMakeFiles/cmTC_26d9d.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeTmp'
Building C object CMakeFiles/cmTC_26d9d.dir/check_crypto_md.c.o
/bin/gcc -I/usr/src/cmake-3.25.0 -I/usr/src/cmake-3.25.0/Utilities/cmlibarchive/libarchive -I/usr/src/cmake-3.25.0/CMakeFiles/CMakeTmp -I/usr/src/cmake-3.25.0/Utilities -w -std=gnu99 -o CMakeFiles/cmTC_26d9d.dir/check_crypto_md.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeTmp/check_crypto_md.c
In file included from /usr/src/cmake-3.25.0/CMakeFiles/CMakeTmp/check_crypto_md.c:1204:0:
/usr/src/cmake-3.25.0/Utilities/cmlibarchive/libarchive/archive_digest_private.h:81:18: fatal error: sha2.h: No such file or directory
#include <sha2.h>
^
compilation terminated.
gmake[1]: *** [CMakeFiles/cmTC_26d9d.dir/check_crypto_md.c.o] Error 1
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeTmp'
gmake: *** [cmTC_26d9d/fast] Error 2
Source file was:
/* config.h. Generated from build/cmake/config.h.in by cmake configure */
#define __LIBARCHIVE_CONFIG_H_INCLUDED 1
#if defined(__osf__)
# define _OSF_SOURCE
#endif
/*
* Ensure we have C99-style int64_t, etc, all defined.
*/
/* Define ZLIB_WINAPI if zlib was built on Visual Studio. */
/* #undef ZLIB_WINAPI */
/* Darwin ACL support */
/* #undef ARCHIVE_ACL_DARWIN */
/* FreeBSD ACL support */
/* #undef ARCHIVE_ACL_FREEBSD */
/* FreeBSD NFSv4 ACL support */
/* #undef ARCHIVE_ACL_FREEBSD_NFS4 */
/* Linux POSIX.1e ACL support via libacl */
/* #undef ARCHIVE_ACL_LIBACL */
/* Linux NFSv4 ACL support via librichacl */
/* #undef ARCHIVE_ACL_LIBRICHACL */
/* Solaris ACL support */
/* #undef ARCHIVE_ACL_SUNOS */
/* Solaris NFSv4 ACL support */
/* #undef ARCHIVE_ACL_SUNOS_NFS4 */
/* MD5 via ARCHIVE_CRYPTO_MD5_LIBC supported. */
/* #undef ARCHIVE_CRYPTO_MD5_LIBC */
/* MD5 via ARCHIVE_CRYPTO_MD5_LIBSYSTEM supported. */
/* #undef ARCHIVE_CRYPTO_MD5_LIBSYSTEM */
/* MD5 via ARCHIVE_CRYPTO_MD5_NETTLE supported. */
/* #undef ARCHIVE_CRYPTO_MD5_NETTLE */
/* MD5 via ARCHIVE_CRYPTO_MD5_OPENSSL supported. */
/* #undef ARCHIVE_CRYPTO_MD5_OPENSSL */
/* MD5 via ARCHIVE_CRYPTO_MD5_WIN supported. */
/* #undef ARCHIVE_CRYPTO_MD5_WIN */
/* RMD160 via ARCHIVE_CRYPTO_RMD160_LIBC supported. */
/* #undef ARCHIVE_CRYPTO_RMD160_LIBC */
/* RMD160 via ARCHIVE_CRYPTO_RMD160_NETTLE supported. */
/* #undef ARCHIVE_CRYPTO_RMD160_NETTLE */
/* RMD160 via ARCHIVE_CRYPTO_RMD160_OPENSSL supported. */
/* #undef ARCHIVE_CRYPTO_RMD160_OPENSSL */
/* SHA1 via ARCHIVE_CRYPTO_SHA1_LIBC supported. */
/* #undef ARCHIVE_CRYPTO_SHA1_LIBC */
/* SHA1 via ARCHIVE_CRYPTO_SHA1_LIBSYSTEM supported. */
/* #undef ARCHIVE_CRYPTO_SHA1_LIBSYSTEM */
/* SHA1 via ARCHIVE_CRYPTO_SHA1_NETTLE supported. */
/* #undef ARCHIVE_CRYPTO_SHA1_NETTLE */
/* SHA1 via ARCHIVE_CRYPTO_SHA1_OPENSSL supported. */
/* #undef ARCHIVE_CRYPTO_SHA1_OPENSSL */
/* SHA1 via ARCHIVE_CRYPTO_SHA1_WIN supported. */
/* #undef ARCHIVE_CRYPTO_SHA1_WIN */
/* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBC supported. */
/* #undef ARCHIVE_CRYPTO_SHA256_LIBC */
/* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBC2 supported. */
/* #undef ARCHIVE_CRYPTO_SHA256_LIBC2 */
/* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBC3 supported. */
/* #undef ARCHIVE_CRYPTO_SHA256_LIBC3 */
/* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBSYSTEM supported. */
/* #undef ARCHIVE_CRYPTO_SHA256_LIBSYSTEM */
/* SHA256 via ARCHIVE_CRYPTO_SHA256_NETTLE supported. */
/* #undef ARCHIVE_CRYPTO_SHA256_NETTLE */
/* SHA256 via ARCHIVE_CRYPTO_SHA256_OPENSSL supported. */
/* #undef ARCHIVE_CRYPTO_SHA256_OPENSSL */
/* SHA256 via ARCHIVE_CRYPTO_SHA256_WIN supported. */
/* #undef ARCHIVE_CRYPTO_SHA256_WIN */
/* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBC supported. */
/* #undef ARCHIVE_CRYPTO_SHA384_LIBC */
/* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBC2 supported. */
/* #undef ARCHIVE_CRYPTO_SHA384_LIBC2 */
/* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBC3 supported. */
/* #undef ARCHIVE_CRYPTO_SHA384_LIBC3 */
/* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBSYSTEM supported. */
/* #undef ARCHIVE_CRYPTO_SHA384_LIBSYSTEM */
/* SHA384 via ARCHIVE_CRYPTO_SHA384_NETTLE supported. */
/* #undef ARCHIVE_CRYPTO_SHA384_NETTLE */
/* SHA384 via ARCHIVE_CRYPTO_SHA384_OPENSSL supported. */
/* #undef ARCHIVE_CRYPTO_SHA384_OPENSSL */
/* SHA384 via ARCHIVE_CRYPTO_SHA384_WIN supported. */
/* #undef ARCHIVE_CRYPTO_SHA384_WIN */
/* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBC supported. */
/* #undef ARCHIVE_CRYPTO_SHA512_LIBC */
/* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBC2 supported. */
/* #undef ARCHIVE_CRYPTO_SHA512_LIBC2 */
/* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBC3 supported. */
/* #undef ARCHIVE_CRYPTO_SHA512_LIBC3 */
/* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBSYSTEM supported. */
/* #undef ARCHIVE_CRYPTO_SHA512_LIBSYSTEM */
/* SHA512 via ARCHIVE_CRYPTO_SHA512_NETTLE supported. */
/* #undef ARCHIVE_CRYPTO_SHA512_NETTLE */
/* SHA512 via ARCHIVE_CRYPTO_SHA512_OPENSSL supported. */
/* #undef ARCHIVE_CRYPTO_SHA512_OPENSSL */
/* SHA512 via ARCHIVE_CRYPTO_SHA512_WIN supported. */
/* #undef ARCHIVE_CRYPTO_SHA512_WIN */
/* AIX xattr support */
/* #undef ARCHIVE_XATTR_AIX */
/* Darwin xattr support */
/* #undef ARCHIVE_XATTR_DARWIN */
/* FreeBSD xattr support */
/* #undef ARCHIVE_XATTR_FREEBSD */
/* Linux xattr support */
/* #undef ARCHIVE_XATTR_LINUX */
/* Version number of bsdcpio */
#define BSDCPIO_VERSION_STRING "3.6.0"
/* Version number of bsdtar */
#define BSDTAR_VERSION_STRING "3.6.0"
/* Version number of bsdcat */
#define BSDCAT_VERSION_STRING "3.6.0"
/* Define to 1 if you have the `acl_create_entry' function. */
/* #undef HAVE_ACL_CREATE_ENTRY */
/* Define to 1 if you have the `acl_get_fd_np' function. */
/* #undef HAVE_ACL_GET_FD_NP */
/* Define to 1 if you have the `acl_get_link' function. */
/* #undef HAVE_ACL_GET_LINK */
/* Define to 1 if you have the `acl_get_link_np' function. */
/* #undef HAVE_ACL_GET_LINK_NP */
/* Define to 1 if you have the `acl_get_perm' function. */
/* #undef HAVE_ACL_GET_PERM */
/* Define to 1 if you have the `acl_get_perm_np' function. */
/* #undef HAVE_ACL_GET_PERM_NP */
/* Define to 1 if you have the `acl_init' function. */
/* #undef HAVE_ACL_INIT */
/* Define to 1 if you have the <acl/libacl.h> header file. */
/* #undef HAVE_ACL_LIBACL_H */
/* Define to 1 if the system has the type `acl_permset_t'. */
/* #undef HAVE_ACL_PERMSET_T */
/* Define to 1 if you have the `acl_set_fd' function. */
/* #undef HAVE_ACL_SET_FD */
/* Define to 1 if you have the `acl_set_fd_np' function. */
/* #undef HAVE_ACL_SET_FD_NP */
/* Define to 1 if you have the `acl_set_file' function. */
/* #undef HAVE_ACL_SET_FILE */
/* Define to 1 if you have the `arc4random_buf' function. */
/* #undef HAVE_ARC4RANDOM_BUF */
/* Define to 1 if you have the <attr/xattr.h> header file. */
/* #undef HAVE_ATTR_XATTR_H */
/* Define to 1 if you have the <Bcrypt.h> header file. */
/* #undef HAVE_BCRYPT_H */
/* Define to 1 if you have the <bsdxml.h> header file. */
/* #undef HAVE_BSDXML_H */
/* Define to 1 if you have the <bzlib.h> header file. */
#define HAVE_BZLIB_H 1
/* Define to 1 if you have the `chflags' function. */
/* #undef HAVE_CHFLAGS */
/* Define to 1 if you have the `chown' function. */
#define HAVE_CHOWN 1
/* Define to 1 if you have the `chroot' function. */
#define HAVE_CHROOT 1
/* Define to 1 if you have the <copyfile.h> header file. */
/* #undef HAVE_COPYFILE_H */
/* Define to 1 if you have the `ctime_r' function. */
#define HAVE_CTIME_R 1
/* Define to 1 if you have the <ctype.h> header file. */
#define HAVE_CTYPE_H 1
/* Define to 1 if you have the `cygwin_conv_path' function. */
/* #undef HAVE_CYGWIN_CONV_PATH */
/* Define to 1 if you have the declaration of `ACE_GETACL', and to 0 if you
don't. */
/* #undef HAVE_DECL_ACE_GETACL */
/* Define to 1 if you have the declaration of `ACE_GETACLCNT', and to 0 if you
don't. */
/* #undef HAVE_DECL_ACE_GETACLCNT */
/* Define to 1 if you have the declaration of `ACE_SETACL', and to 0 if you
don't. */
/* #undef HAVE_DECL_ACE_SETACL */
/* Define to 1 if you have the declaration of `ACL_SYNCHRONIZE', and to 0 if
you don't. */
/* #undef HAVE_DECL_ACL_SYNCHRONIZE */
/* Define to 1 if you have the declaration of `ACL_TYPE_EXTENDED', and to 0 if
you don't. */
/* #undef HAVE_DECL_ACL_TYPE_EXTENDED */
/* Define to 1 if you have the declaration of `ACL_TYPE_NFS4', and to 0 if you
don't. */
/* #undef HAVE_DECL_ACL_TYPE_NFS4 */
/* Define to 1 if you have the declaration of `ACL_USER', and to 0 if you
don't. */
/* #undef HAVE_DECL_ACL_USER */
/* Define to 1 if you have the declaration of `SETACL', and to 0 if you don't.
*/
/* #undef HAVE_DECL_SETACL */
/* Define to 1 if you have the declaration of `strerror_r', and to 0 if you
don't. */
#define HAVE_DECL_STRERROR_R 1
/* Define to 1 if you have the declaration of `XATTR_NOFOLLOW', and to 0 if
you don't. */
/* #undef HAVE_DECL_XATTR_NOFOLLOW */
/* Define to 1 if you have the <direct.h> header file. */
/* #undef HAVE_DIRECT_H */
/* Define to 1 if you have the <dirent.h> header file, and it defines `DIR'.
*/
#define HAVE_DIRENT_H 1
/* Define to 1 if you have the `dirfd' function. */
#define HAVE_DIRFD 1
/* Define to 1 if you have the <dlfcn.h> header file. */
#define HAVE_DLFCN_H 1
/* Define to 1 if you don't have `vprintf' but do have `_doprnt.' */
/* #undef HAVE_DOPRNT */
/* Define to 1 if nl_langinfo supports D_MD_ORDER */
/* #undef HAVE_D_MD_ORDER */
/* A possible errno value for invalid file format errors */
/* #undef HAVE_EFTYPE */
/* A possible errno value for invalid file format errors */
#define HAVE_EILSEQ 1
/* Define to 1 if you have the <errno.h> header file. */
#define HAVE_ERRNO_H 1
/* Define to 1 if you have the <expat.h> header file. */
/* #undef HAVE_EXPAT_H */
/* Define to 1 if you have the <ext2fs/ext2_fs.h> header file. */
#define HAVE_EXT2FS_EXT2_FS_H 1
/* Define to 1 if you have the `extattr_get_file' function. */
/* #undef HAVE_EXTATTR_GET_FILE */
/* Define to 1 if you have the `extattr_list_file' function. */
/* #undef HAVE_EXTATTR_LIST_FILE */
/* Define to 1 if you have the `extattr_set_fd' function. */
/* #undef HAVE_EXTATTR_SET_FD */
/* Define to 1 if you have the `extattr_set_file' function. */
/* #undef HAVE_EXTATTR_SET_FILE */
/* Define to 1 if EXTATTR_NAMESPACE_USER is defined in sys/extattr.h. */
/* #undef HAVE_DECL_EXTATTR_NAMESPACE_USER */
/* Define to 1 if you have the declaration of `GETACL', and to 0 if you don't.
*/
/* #undef HAVE_DECL_GETACL */
/* Define to 1 if you have the declaration of `GETACLCNT', and to 0 if you
don't. */
/* #undef HAVE_DECL_GETACLCNT */
/* Define to 1 if you have the `fchdir' function. */
#define HAVE_FCHDIR 1
/* Define to 1 if you have the `fchflags' function. */
/* #undef HAVE_FCHFLAGS */
/* Define to 1 if you have the `fchmod' function. */
#define HAVE_FCHMOD 1
/* Define to 1 if you have the `fchown' function. */
#define HAVE_FCHOWN 1
/* Define to 1 if you have the `fcntl' function. */
#define HAVE_FCNTL 1
/* Define to 1 if you have the <fcntl.h> header file. */
#define HAVE_FCNTL_H 1
/* Define to 1 if you have the `fdopendir' function. */
#define HAVE_FDOPENDIR 1
/* Define to 1 if you have the `fgetea' function. */
/* #undef HAVE_FGETEA */
/* Define to 1 if you have the `fgetxattr' function. */
/* #undef HAVE_FGETXATTR */
/* Define to 1 if you have the `flistea' function. */
/* #undef HAVE_FLISTEA */
/* Define to 1 if you have the `flistxattr' function. */
/* #undef HAVE_FLISTXATTR */
/* Define to 1 if you have the `fork' function. */
#define HAVE_FORK 1
/* Define to 1 if fseeko (and presumably ftello) exists and is declared. */
#define HAVE_FSEEKO 1
/* Define to 1 if you have the `fsetea' function. */
/* #undef HAVE_FSETEA */
/* Define to 1 if you have the `fsetxattr' function. */
#define HAVE_FSETXATTR 1
/* Define to 1 if you have the `fstat' function. */
#define HAVE_FSTAT 1
/* Define to 1 if you have the `fstatat' function. */
#define HAVE_FSTATAT 1
/* Define to 1 if you have the `fstatfs' function. */
#define HAVE_FSTATFS 1
/* Define to 1 if you have the `fstatvfs' function. */
#define HAVE_FSTATVFS 1
/* Define to 1 if you have the `ftruncate' function. */
#define HAVE_FTRUNCATE 1
/* Define to 1 if you have the `futimens' function. */
#define HAVE_FUTIMENS 1
/* Define to 1 if you have the `futimes' function. */
#define HAVE_FUTIMES 1
/* Define to 1 if you have the `futimesat' function. */
#define HAVE_FUTIMESAT 1
/* Define to 1 if you have the `getea' function. */
/* #undef HAVE_GETEA */
/* Define to 1 if you have the `geteuid' function. */
#define HAVE_GETEUID 1
/* Define to 1 if you have the `getgrgid_r' function. */
#define HAVE_GETGRGID_R 1
/* Define to 1 if you have the `getgrnam_r' function. */
#define HAVE_GETGRNAM_R 1
/* Define to 1 if you have the `getpid' function. */
#define HAVE_GETPID 1
/* Define to 1 if you have the `getpwnam_r' function. */
#define HAVE_GETPWNAM_R 1
/* Define to 1 if you have the `getpwuid_r' function. */
#define HAVE_GETPWUID_R 1
/* Define to 1 if you have the `getvfsbyname' function. */
/* #undef HAVE_GETVFSBYNAME */
/* Define to 1 if you have the `getxattr' function. */
/* #undef HAVE_GETXATTR */
/* Define to 1 if you have the `gmtime_r' function. */
#define HAVE_GMTIME_R 1
/* Define to 1 if you have the <grp.h> header file. */
#define HAVE_GRP_H 1
/* Define to 1 if you have the `iconv' function. */
/* #undef HAVE_ICONV */
/* Define to 1 if you have the <iconv.h> header file. */
/* #undef HAVE_ICONV_H */
/* Define to 1 if you have the <io.h> header file. */
/* #undef HAVE_IO_H */
/* Define to 1 if you have the <langinfo.h> header file. */
#define HAVE_LANGINFO_H 1
/* Define to 1 if you have the `lchflags' function. */
/* #undef HAVE_LCHFLAGS */
/* Define to 1 if you have the `lchmod' function. */
/* #undef HAVE_LCHMOD */
/* Define to 1 if you have the `lchown' function. */
#define HAVE_LCHOWN 1
/* Define to 1 if you have the `lgetea' function. */
/* #undef HAVE_LGETEA */
/* Define to 1 if you have the `lgetxattr' function. */
/* #undef HAVE_LGETXATTR */
/* Define to 1 if you have the `acl' library (-lacl). */
/* #undef HAVE_LIBACL */
/* Define to 1 if you have the `attr' library (-lattr). */
/* #undef HAVE_LIBATTR */
/* Define to 1 if you have the `bsdxml' library (-lbsdxml). */
/* #undef HAVE_LIBBSDXML */
/* Define to 1 if you have the `bz2' library (-lbz2). */
#define HAVE_LIBBZ2 1
/* Define to 1 if you have the `b2' library (-lb2). */
/* #undef HAVE_LIBB2 */
/* Define to 1 if you have the <blake2.h> header file. */
/* #undef HAVE_BLAKE2_H */
/* Define to 1 if you have the `charset' library (-lcharset). */
/* #undef HAVE_LIBCHARSET */
/* Define to 1 if you have the `crypto' library (-lcrypto). */
#define HAVE_LIBCRYPTO 1
/* Define to 1 if you have the `expat' library (-lexpat). */
/* #undef HAVE_LIBEXPAT */
/* Define to 1 if you have the `gcc' library (-lgcc). */
/* #undef HAVE_LIBGCC */
/* Define to 1 if you have the `lz4' library (-llz4). */
/* #undef HAVE_LIBLZ4 */
/* Define to 1 if you have the `lzma' library (-llzma). */
#define HAVE_LIBLZMA 1
/* Define to 1 if you have the `lzmadec' library (-llzmadec). */
/* #undef HAVE_LIBLZMADEC */
/* Define to 1 if you have the `lzo2' library (-llzo2). */
/* #undef HAVE_LIBLZO2 */
/* Define to 1 if you have the `mbedcrypto' library (-lmbedcrypto). */
/* #undef HAVE_LIBMBEDCRYPTO */
/* Define to 1 if you have the `nettle' library (-lnettle). */
/* #undef HAVE_LIBNETTLE */
/* Define to 1 if you have the `pcre' library (-lpcre). */
/* #undef HAVE_LIBPCRE */
/* Define to 1 if you have the `pcreposix' library (-lpcreposix). */
/* #undef HAVE_LIBPCREPOSIX */
/* Define to 1 if you have the `xml2' library (-lxml2). */
/* #undef HAVE_LIBXML2 */
/* Define to 1 if you have the <libxml/xmlreader.h> header file. */
/* #undef HAVE_LIBXML_XMLREADER_H */
/* Define to 1 if you have the <libxml/xmlwriter.h> header file. */
/* #undef HAVE_LIBXML_XMLWRITER_H */
/* Define to 1 if you have the `z' library (-lz). */
#define HAVE_LIBZ 1
/* Define to 1 if you have the `zstd' library (-lzstd). */
#define HAVE_LIBZSTD 1
/* Define to 1 if you have the `zstd' library (-lzstd) with compression
support. */
#define HAVE_LIBZSTD_COMPRESSOR 1
/* Define to 1 if you have the <limits.h> header file. */
#define HAVE_LIMITS_H 1
/* Define to 1 if you have the `link' function. */
#define HAVE_LINK 1
/* Define to 1 if you have the `linkat' function. */
#define HAVE_LINKAT 1
/* Define to 1 if you have the <linux/fiemap.h> header file. */
#define HAVE_LINUX_FIEMAP_H 1
/* Define to 1 if you have the <linux/fs.h> header file. */
#define HAVE_LINUX_FS_H 1
/* Define to 1 if you have the <linux/magic.h> header file. */
#define HAVE_LINUX_MAGIC_H 1
/* Define to 1 if you have the <linux/types.h> header file. */
#define HAVE_LINUX_TYPES_H 1
/* Define to 1 if you have the `listea' function. */
/* #undef HAVE_LISTEA */
/* Define to 1 if you have the `listxattr' function. */
/* #undef HAVE_LISTXATTR */
/* Define to 1 if you have the `llistea' function. */
/* #undef HAVE_LLISTEA */
/* Define to 1 if you have the `llistxattr' function. */
/* #undef HAVE_LLISTXATTR */
/* Define to 1 if you have the <localcharset.h> header file. */
/* #undef HAVE_LOCALCHARSET_H */
/* Define to 1 if you have the `locale_charset' function. */
/* #undef HAVE_LOCALE_CHARSET */
/* Define to 1 if you have the <locale.h> header file. */
#define HAVE_LOCALE_H 1
/* Define to 1 if you have the `localtime_r' function. */
#define HAVE_LOCALTIME_R 1
/* Define to 1 if the system has the type `long long int'. */
/* #undef HAVE_LONG_LONG_INT */
/* Define to 1 if you have the `lsetea' function. */
/* #undef HAVE_LSETEA */
/* Define to 1 if you have the `lsetxattr' function. */
/* #undef HAVE_LSETXATTR */
/* Define to 1 if you have the `lstat' function. */
#define HAVE_LSTAT 1
/* Define to 1 if `lstat' has the bug that it succeeds when given the
zero-length file name argument. */
/* #undef HAVE_LSTAT_EMPTY_STRING_BUG */
/* Define to 1 if you have the `lutimes' function. */
#define HAVE_LUTIMES 1
/* Define to 1 if you have the <lz4hc.h> header file. */
/* #undef HAVE_LZ4HC_H */
/* Define to 1 if you have the <lz4.h> header file. */
/* #undef HAVE_LZ4_H */
/* Define to 1 if you have the <lzmadec.h> header file. */
/* #undef HAVE_LZMADEC_H */
/* Define to 1 if you have the <lzma.h> header file. */
#define HAVE_LZMA_H 1
/* Define to 1 if you have a working `lzma_stream_encoder_mt' function. */
#define HAVE_LZMA_STREAM_ENCODER_MT 1
/* Define to 1 if you have the <lzo/lzo1x.h> header file. */
/* #undef HAVE_LZO_LZO1X_H */
/* Define to 1 if you have the <lzo/lzoconf.h> header file. */
/* #undef HAVE_LZO_LZOCONF_H */
/* Define to 1 if you have the `mbrtowc' function. */
#define HAVE_MBRTOWC 1
/* Define to 1 if you have the <membership.h> header file. */
/* #undef HAVE_MEMBERSHIP_H */
/* Define to 1 if you have the `memmove' function. */
#define HAVE_MEMMOVE 1
/* Define to 1 if you have the <memory.h> header file. */
#define HAVE_MEMORY_H 1
/* Define to 1 if you have the `mkdir' function. */
#define HAVE_MKDIR 1
/* Define to 1 if you have the `mkfifo' function. */
#define HAVE_MKFIFO 1
/* Define to 1 if you have the `mknod' function. */
#define HAVE_MKNOD 1
/* Define to 1 if you have the `mkstemp' function. */
#define HAVE_MKSTEMP 1
/* Define to 1 if you have the <ndir.h> header file, and it defines `DIR'. */
/* #undef HAVE_NDIR_H */
/* Define to 1 if you have the <nettle/aes.h> header file. */
/* #undef HAVE_NETTLE_AES_H */
/* Define to 1 if you have the <nettle/hmac.h> header file. */
/* #undef HAVE_NETTLE_HMAC_H */
/* Define to 1 if you have the <nettle/md5.h> header file. */
/* #undef HAVE_NETTLE_MD5_H */
/* Define to 1 if you have the <nettle/pbkdf2.h> header file. */
/* #undef HAVE_NETTLE_PBKDF2_H */
/* Define to 1 if you have the <nettle/ripemd160.h> header file. */
/* #undef HAVE_NETTLE_RIPEMD160_H */
/* Define to 1 if you have the <nettle/sha.h> header file. */
/* #undef HAVE_NETTLE_SHA_H */
/* Define to 1 if you have the `nl_langinfo' function. */
#define HAVE_NL_LANGINFO 1
/* Define to 1 if you have the `openat' function. */
#define HAVE_OPENAT 1
/* Define to 1 if you have the <paths.h> header file. */
#define HAVE_PATHS_H 1
/* Define to 1 if you have the <pcreposix.h> header file. */
/* #undef HAVE_PCREPOSIX_H */
/* Define to 1 if you have the `pipe' function. */
#define HAVE_PIPE 1
/* Define to 1 if you have the `PKCS5_PBKDF2_HMAC_SHA1' function. */
/* #undef HAVE_PKCS5_PBKDF2_HMAC_SHA1 */
/* Define to 1 if you have the `poll' function. */
#define HAVE_POLL 1
/* Define to 1 if you have the <poll.h> header file. */
#define HAVE_POLL_H 1
/* Define to 1 if you have the `posix_spawnp' function. */
#define HAVE_POSIX_SPAWNP 1
/* Define to 1 if you have the <process.h> header file. */
/* #undef HAVE_PROCESS_H */
/* Define to 1 if you have the <pthread.h> header file. */
#define HAVE_PTHREAD_H 1
/* Define to 1 if you have the <pwd.h> header file. */
#define HAVE_PWD_H 1
/* Define to 1 if you have the `readdir_r' function. */
#define HAVE_READDIR_R 1
/* Define to 1 if you have the `readlink' function. */
#define HAVE_READLINK 1
/* Define to 1 if you have the `readlinkat' function. */
/* #undef HAVE_READLINKAT */
/* Define to 1 if you have the `readpassphrase' function. */
/* #undef HAVE_READPASSPHRASE */
/* Define to 1 if you have the <readpassphrase.h> header file. */
/* #undef HAVE_READPASSPHRASE_H */
/* Define to 1 if you have the <regex.h> header file. */
#define HAVE_REGEX_H 1
/* Define to 1 if you have the `select' function. */
#define HAVE_SELECT 1
/* Define to 1 if you have the `setenv' function. */
#define HAVE_SETENV 1
/* Define to 1 if you have the `setlocale' function. */
#define HAVE_SETLOCALE 1
/* Define to 1 if you have the `sigaction' function. */
#define HAVE_SIGACTION 1
/* Define to 1 if you have the <signal.h> header file. */
#define HAVE_SIGNAL_H 1
/* Define to 1 if you have the <spawn.h> header file. */
#define HAVE_SPAWN_H 1
/* Define to 1 if you have the `statfs' function. */
#define HAVE_STATFS 1
/* Define to 1 if you have the `statvfs' function. */
#define HAVE_STATVFS 1
/* Define to 1 if `stat' has the bug that it succeeds when given the
zero-length file name argument. */
/* #undef HAVE_STAT_EMPTY_STRING_BUG */
/* Define to 1 if you have the <stdarg.h> header file. */
#define HAVE_STDARG_H 1
/* Define to 1 if you have the <stdlib.h> header file. */
#define HAVE_STDLIB_H 1
/* Define to 1 if you have the `strchr' function. */
#define HAVE_STRCHR 1
/* Define to 1 if you have the `strnlen' function. */
#define HAVE_STRNLEN 1
/* Define to 1 if you have the `strdup' function. */
#define HAVE_STRDUP 1
/* Define to 1 if you have the `strerror' function. */
#define HAVE_STRERROR 1
/* Define to 1 if you have the `strerror_r' function. */
#define HAVE_STRERROR_R 1
/* Define to 1 if you have the `strftime' function. */
#define HAVE_STRFTIME 1
/* Define to 1 if you have the <strings.h> header file. */
#define HAVE_STRINGS_H 1
/* Define to 1 if you have the <string.h> header file. */
#define HAVE_STRING_H 1
/* Define to 1 if you have the `strrchr' function. */
#define HAVE_STRRCHR 1
/* Define to 1 if `f_namemax' is a member of `struct statfs'. */
/* #undef HAVE_STRUCT_STATFS_F_NAMEMAX */
/* Define to 1 if `f_iosize' is a member of `struct statvfs'. */
/* #undef HAVE_STRUCT_STATVFS_F_IOSIZE */
/* Define to 1 if `st_birthtime' is a member of `struct stat'. */
/* #undef HAVE_STRUCT_STAT_ST_BIRTHTIME */
/* Define to 1 if `st_birthtimespec.tv_nsec' is a member of `struct stat'. */
/* #undef HAVE_STRUCT_STAT_ST_BIRTHTIMESPEC_TV_NSEC */
/* Define to 1 if `st_blksize' is a member of `struct stat'. */
#define HAVE_STRUCT_STAT_ST_BLKSIZE 1
/* Define to 1 if `st_flags' is a member of `struct stat'. */
/* #undef HAVE_STRUCT_STAT_ST_FLAGS */
/* Define to 1 if `st_mtimespec.tv_nsec' is a member of `struct stat'. */
/* #undef HAVE_STRUCT_STAT_ST_MTIMESPEC_TV_NSEC */
/* Define to 1 if `st_mtime_n' is a member of `struct stat'. */
/* #undef HAVE_STRUCT_STAT_ST_MTIME_N */
/* Define to 1 if `st_mtime_usec' is a member of `struct stat'. */
/* #undef HAVE_STRUCT_STAT_ST_MTIME_USEC */
/* Define to 1 if `st_mtim.tv_nsec' is a member of `struct stat'. */
#define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1
/* Define to 1 if `st_umtime' is a member of `struct stat'. */
/* #undef HAVE_STRUCT_STAT_ST_UMTIME */
/* Define to 1 if `tm_gmtoff' is a member of `struct tm'. */
#define HAVE_STRUCT_TM_TM_GMTOFF 1
/* Define to 1 if `__tm_gmtoff' is a member of `struct tm'. */
/* #undef HAVE_STRUCT_TM___TM_GMTOFF */
/* Define to 1 if you have `struct vfsconf'. */
/* #undef HAVE_STRUCT_VFSCONF */
/* Define to 1 if you have `struct xvfsconf'. */
/* #undef HAVE_STRUCT_XVFSCONF */
/* Define to 1 if you have the `symlink' function. */
#define HAVE_SYMLINK 1
/* Define to 1 if you have the <sys/acl.h> header file. */
/* #undef HAVE_SYS_ACL_H */
/* Define to 1 if you have the <sys/cdefs.h> header file. */
#define HAVE_SYS_CDEFS_H 1
/* Define to 1 if you have the <sys/dir.h> header file, and it defines `DIR'.
*/
/* #undef HAVE_SYS_DIR_H */
/* Define to 1 if you have the <sys/ea.h> header file. */
/* #undef HAVE_SYS_EA_H */
/* Define to 1 if you have the <sys/extattr.h> header file. */
/* #undef HAVE_SYS_EXTATTR_H */
/* Define to 1 if you have the <sys/ioctl.h> header file. */
#define HAVE_SYS_IOCTL_H 1
/* Define to 1 if you have the <sys/mkdev.h> header file. */
/* #undef HAVE_SYS_MKDEV_H */
/* Define to 1 if you have the <sys/mount.h> header file. */
/* #undef HAVE_SYS_MOUNT_H */
/* Define to 1 if you have the <sys/ndir.h> header file, and it defines `DIR'.
*/
/* #undef HAVE_SYS_NDIR_H */
/* Define to 1 if you have the <sys/param.h> header file. */
#define HAVE_SYS_PARAM_H 1
/* Define to 1 if you have the <sys/poll.h> header file. */
#define HAVE_SYS_POLL_H 1
/* Define to 1 if you have the <sys/richacl.h> header file. */
/* #undef HAVE_SYS_RICHACL_H */
/* Define to 1 if you have the <sys/select.h> header file. */
#define HAVE_SYS_SELECT_H 1
/* Define to 1 if you have the <sys/statfs.h> header file. */
#define HAVE_SYS_STATFS_H 1
/* Define to 1 if you have the <sys/statvfs.h> header file. */
#define HAVE_SYS_STATVFS_H 1
/* Define to 1 if you have the <sys/stat.h> header file. */
#define HAVE_SYS_STAT_H 1
/* Define to 1 if you have the <sys/sysmacros.h> header file. */
#define HAVE_SYS_SYSMACROS_H 1
/* Define to 1 if you have the <sys/time.h> header file. */
#define HAVE_SYS_TIME_H 1
/* Define to 1 if you have the <sys/types.h> header file. */
#define HAVE_SYS_TYPES_H 1
/* Define to 1 if you have the <sys/utime.h> header file. */
/* #undef HAVE_SYS_UTIME_H */
/* Define to 1 if you have the <sys/utsname.h> header file. */
#define HAVE_SYS_UTSNAME_H 1
/* Define to 1 if you have the <sys/vfs.h> header file. */
#define HAVE_SYS_VFS_H 1
/* Define to 1 if you have <sys/wait.h> that is POSIX.1 compatible. */
#define HAVE_SYS_WAIT_H 1
/* Define to 1 if you have the <sys/xattr.h> header file. */
#define HAVE_SYS_XATTR_H 1
/* Define to 1 if you have the `timegm' function. */
#define HAVE_TIMEGM 1
/* Define to 1 if you have the <time.h> header file. */
#define HAVE_TIME_H 1
/* Define to 1 if you have the `tzset' function. */
#define HAVE_TZSET 1
/* Define to 1 if you have the <unistd.h> header file. */
#define HAVE_UNISTD_H 1
/* Define to 1 if you have the `unlinkat' function. */
#define HAVE_UNLINKAT 1
/* Define to 1 if you have the `unsetenv' function. */
#define HAVE_UNSETENV 1
/* Define to 1 if the system has the type `unsigned long long'. */
/* #undef HAVE_UNSIGNED_LONG_LONG */
/* Define to 1 if the system has the type `unsigned long long int'. */
/* #undef HAVE_UNSIGNED_LONG_LONG_INT */
/* Define to 1 if you have the `utime' function. */
#define HAVE_UTIME 1
/* Define to 1 if you have the `utimensat' function. */
#define HAVE_UTIMENSAT 1
/* Define to 1 if you have the `utimes' function. */
#define HAVE_UTIMES 1
/* Define to 1 if you have the <utime.h> header file. */
#define HAVE_UTIME_H 1
/* Define to 1 if you have the `vfork' function. */
#define HAVE_VFORK 1
/* Define to 1 if you have the `vprintf' function. */
#define HAVE_VPRINTF 1
/* Define to 1 if you have the <wchar.h> header file. */
#define HAVE_WCHAR_H 1
/* Define to 1 if the system has the type `wchar_t'. */
#define HAVE_WCHAR_T 1
/* Define to 1 if you have the `wcrtomb' function. */
#define HAVE_WCRTOMB 1
/* Define to 1 if you have the `wcscmp' function. */
#define HAVE_WCSCMP 1
/* Define to 1 if you have the `wcscpy' function. */
#define HAVE_WCSCPY 1
/* Define to 1 if you have the `wcslen' function. */
#define HAVE_WCSLEN 1
/* Define to 1 if you have the `wctomb' function. */
#define HAVE_WCTOMB 1
/* Define to 1 if you have the <wctype.h> header file. */
#define HAVE_WCTYPE_H 1
/* Define to 1 if you have the <wincrypt.h> header file. */
/* #undef HAVE_WINCRYPT_H */
/* Define to 1 if you have the <windows.h> header file. */
/* #undef HAVE_WINDOWS_H */
/* Define to 1 if you have the <winioctl.h> header file. */
/* #undef HAVE_WINIOCTL_H */
/* Define to 1 if you have _CrtSetReportMode in <crtdbg.h> */
/* #undef HAVE__CrtSetReportMode */
/* Define to 1 if you have the `wmemcmp' function. */
#define HAVE_WMEMCMP 1
/* Define to 1 if you have the `wmemcpy' function. */
#define HAVE_WMEMCPY 1
/* Define to 1 if you have the `wmemmove' function. */
#define HAVE_WMEMMOVE 1
/* Define to 1 if you have a working EXT2_IOC_GETFLAGS */
#define HAVE_WORKING_EXT2_IOC_GETFLAGS 1
/* Define to 1 if you have a working FS_IOC_GETFLAGS */
#define HAVE_WORKING_FS_IOC_GETFLAGS 1
/* Define to 1 if you have the <zlib.h> header file. */
#define HAVE_ZLIB_H 1
/* Define to 1 if you have the <zstd.h> header file. */
#define HAVE_ZSTD_H 1
/* Define to 1 if you have the `_ctime64_s' function. */
/* #undef HAVE__CTIME64_S */
/* Define to 1 if you have the `_fseeki64' function. */
/* #undef HAVE__FSEEKI64 */
/* Define to 1 if you have the `_get_timezone' function. */
/* #undef HAVE__GET_TIMEZONE */
/* Define to 1 if you have the `_gmtime64_s' function. */
/* #undef HAVE__GMTIME64_S */
/* Define to 1 if you have the `_localtime64_s' function. */
/* #undef HAVE__LOCALTIME64_S */
/* Define to 1 if you have the `_mkgmtime64' function. */
/* #undef HAVE__MKGMTIME64 */
/* Define as const if the declaration of iconv() needs const. */
#define ICONV_CONST
/* Version number of libarchive as a single integer */
#define LIBARCHIVE_VERSION_NUMBER "3006000"
/* Version number of libarchive */
#define LIBARCHIVE_VERSION_STRING "3.6.0"
/* Define to 1 if `lstat' dereferences a symlink specified with a trailing
slash. */
/* #undef LSTAT_FOLLOWS_SLASHED_SYMLINK */
/* Define to 1 if `major', `minor', and `makedev' are declared in <mkdev.h>.
*/
/* #undef MAJOR_IN_MKDEV */
/* Define to 1 if `major', `minor', and `makedev' are declared in
<sysmacros.h>. */
#define MAJOR_IN_SYSMACROS 1
/* Define to 1 if your C compiler doesn't accept -c and -o together. */
/* #undef NO_MINUS_C_MINUS_O */
/* The size of `wchar_t', as computed by sizeof. */
#define SIZEOF_WCHAR_T 4
/* Define to 1 if strerror_r returns char *. */
/* #undef STRERROR_R_CHAR_P */
/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
#define TIME_WITH_SYS_TIME 1
/*
* Some platform requires a macro to use extension functions.
*/
#define SAFE_TO_DEFINE_EXTENSIONS 1
#ifdef SAFE_TO_DEFINE_EXTENSIONS
/* Enable extensions on AIX 3, Interix. */
#ifndef _ALL_SOURCE
# define _ALL_SOURCE 1
#endif
/* Enable GNU extensions on systems that have them. */
#ifndef _GNU_SOURCE
# define _GNU_SOURCE 1
#endif
/* Enable threading extensions on Solaris. */
#ifndef _POSIX_PTHREAD_SEMANTICS
# define _POSIX_PTHREAD_SEMANTICS 1
#endif
/* Enable extensions on HP NonStop. */
#ifndef _TANDEM_SOURCE
# define _TANDEM_SOURCE 1
#endif
/* Enable general extensions on Solaris. */
#ifndef __EXTENSIONS__
# define __EXTENSIONS__ 1
#endif
#endif /* SAFE_TO_DEFINE_EXTENSIONS */
/* Version number of package */
#define VERSION "3.6.0"
/* Number of bits in a file offset, on hosts where this is settable. */
/* #undef _FILE_OFFSET_BITS */
/* Define to 1 to make fseeko visible on some hosts (e.g. glibc 2.2). */
/* #undef _LARGEFILE_SOURCE */
/* Define for large files, on AIX-style hosts. */
/* #undef _LARGE_FILES */
/* Define to control Windows SDK version */
#ifndef NTDDI_VERSION
/* #undef NTDDI_VERSION */
#endif // NTDDI_VERSION
#ifndef _WIN32_WINNT
/* #undef _WIN32_WINNT */
#endif // _WIN32_WINNT
#ifndef WINVER
/* #undef WINVER */
#endif // WINVER
/* Define to empty if `const' does not conform to ANSI C. */
/* #undef const */
/* Define to `int' if <sys/types.h> doesn't define. */
/* #undef gid_t */
/* Define to `unsigned long' if <sys/types.h> does not define. */
/* #undef id_t */
/* Define to `int' if <sys/types.h> does not define. */
/* #undef mode_t */
/* Define to `long long' if <sys/types.h> does not define. */
/* #undef off_t */
/* Define to `int' if <sys/types.h> doesn't define. */
/* #undef pid_t */
/* Define to `unsigned int' if <sys/types.h> does not define. */
/* #undef size_t */
/* Define to `int' if <sys/types.h> does not define. */
/* #undef ssize_t */
/* Define to `int' if <sys/types.h> doesn't define. */
/* #undef uid_t */
#include <cm3p/kwiml/int.h>
#ifndef KWIML_INT_HAVE_INT64_T
typedef KWIML_INT_int64_t int64_t;
#endif
#ifndef KWIML_INT_HAVE_INT32_T
typedef KWIML_INT_int32_t int32_t;
#endif
#ifndef KWIML_INT_HAVE_INT16_T
typedef KWIML_INT_int16_t int16_t;
#endif
#ifndef KWIML_INT_HAVE_INT8_T
typedef KWIML_INT_int8_t int8_t;
#endif
#ifndef KWIML_INT_HAVE_INTPTR_T
typedef KWIML_INT_intptr_t intptr_t;
#endif
#ifndef KWIML_INT_HAVE_UINT64_T
typedef KWIML_INT_uint64_t uint64_t;
#endif
#ifndef KWIML_INT_HAVE_UINT32_T
typedef KWIML_INT_uint32_t uint32_t;
#endif
#ifndef KWIML_INT_HAVE_UINT16_T
typedef KWIML_INT_uint16_t uint16_t;
#endif
#ifndef KWIML_INT_HAVE_UINT8_T
typedef KWIML_INT_uint8_t uint8_t;
#endif
#ifndef KWIML_INT_HAVE_UINTPTR_T
typedef KWIML_INT_uintptr_t uintptr_t;
#endif
/* Define to 1 if you have the <stdint.h> header file. */
#ifdef KWIML_INT_HAVE_STDINT_H
# define HAVE_STDINT_H 1
#endif
/* Define to 1 if you have the <inttypes.h> header file. */
#ifdef KWIML_INT_HAVE_INTTYPES_H
# define HAVE_INTTYPES_H 1
#endif
#define ARCHIVE_SHA512_COMPILE_TEST
#define ARCHIVE_CRYPTO_SHA512_LIBC
#define PLATFORM_CONFIG_H "check_crypto_md.h"
/*-
* Copyright (c) 2003-2007 Tim Kientzle
* Copyright (c) 2011 Andres Mejia
* Copyright (c) 2011 Michihiro NAKAJIMA
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR(S) ``AS IS'' AND ANY EXPRESS OR
* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
* IN NO EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
#include "archive_platform.h"
#include "archive.h"
#include "archive_digest_private.h"
/* In particular, force the configure probe to break if it tries
* to test a combination of OpenSSL and libmd. */
#if defined(ARCHIVE_CRYPTO_OPENSSL) && defined(ARCHIVE_CRYPTO_LIBMD)
#error Cannot use both OpenSSL and libmd.
#endif
/*
* Message digest functions for Windows platform.
*/
#if defined(ARCHIVE_CRYPTO_MD5_WIN) ||\
defined(ARCHIVE_CRYPTO_SHA1_WIN) ||\
defined(ARCHIVE_CRYPTO_SHA256_WIN) ||\
defined(ARCHIVE_CRYPTO_SHA384_WIN) ||\
defined(ARCHIVE_CRYPTO_SHA512_WIN)
/*
* Initialize a Message digest.
*/
static int
win_crypto_init(Digest_CTX *ctx, ALG_ID algId)
{
ctx->valid = 0;
if (!CryptAcquireContext(&ctx->cryptProv, NULL, NULL,
PROV_RSA_FULL, CRYPT_VERIFYCONTEXT)) {
if (GetLastError() != (DWORD)NTE_BAD_KEYSET)
return (ARCHIVE_FAILED);
if (!CryptAcquireContext(&ctx->cryptProv, NULL, NULL,
PROV_RSA_FULL, CRYPT_NEWKEYSET))
return (ARCHIVE_FAILED);
}
if (!CryptCreateHash(ctx->cryptProv, algId, 0, 0, &ctx->hash)) {
CryptReleaseContext(ctx->cryptProv, 0);
return (ARCHIVE_FAILED);
}
ctx->valid = 1;
return (ARCHIVE_OK);
}
/*
* Update a Message digest.
*/
static int
win_crypto_Update(Digest_CTX *ctx, const unsigned char *buf, size_t len)
{
if (!ctx->valid)
return (ARCHIVE_FAILED);
CryptHashData(ctx->hash,
(unsigned char *)(uintptr_t)buf,
(DWORD)len, 0);
return (ARCHIVE_OK);
}
static int
win_crypto_Final(unsigned char *buf, size_t bufsize, Digest_CTX *ctx)
{
DWORD siglen = (DWORD)bufsize;
if (!ctx->valid)
return (ARCHIVE_FAILED);
CryptGetHashParam(ctx->hash, HP_HASHVAL, buf, &siglen, 0);
CryptDestroyHash(ctx->hash);
CryptReleaseContext(ctx->cryptProv, 0);
ctx->valid = 0;
return (ARCHIVE_OK);
}
#endif /* defined(ARCHIVE_CRYPTO_*_WIN) */
/* MD5 implementations */
#if defined(ARCHIVE_CRYPTO_MD5_LIBC)
static int
__archive_md5init(archive_md5_ctx *ctx)
{
MD5Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_md5update(archive_md5_ctx *ctx, const void *indata,
size_t insize)
{
MD5Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_md5final(archive_md5_ctx *ctx, void *md)
{
MD5Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_MD5_LIBMD)
static int
__archive_md5init(archive_md5_ctx *ctx)
{
MD5Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_md5update(archive_md5_ctx *ctx, const void *indata,
size_t insize)
{
MD5Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_md5final(archive_md5_ctx *ctx, void *md)
{
MD5Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_MD5_LIBSYSTEM)
static int
__archive_md5init(archive_md5_ctx *ctx)
{
CC_MD5_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_md5update(archive_md5_ctx *ctx, const void *indata,
size_t insize)
{
CC_MD5_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_md5final(archive_md5_ctx *ctx, void *md)
{
CC_MD5_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_MD5_MBEDTLS)
static int
__archive_md5init(archive_md5_ctx *ctx)
{
mbedtls_md5_init(ctx);
if (mbedtls_md5_starts_ret(ctx) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_md5update(archive_md5_ctx *ctx, const void *indata,
size_t insize)
{
if (mbedtls_md5_update_ret(ctx, indata, insize) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_md5final(archive_md5_ctx *ctx, void *md)
{
if (mbedtls_md5_finish_ret(ctx, md) == 0) {
mbedtls_md5_free(ctx);
return (ARCHIVE_OK);
} else {
mbedtls_md5_free(ctx);
return (ARCHIVE_FATAL);
}
}
#elif defined(ARCHIVE_CRYPTO_MD5_NETTLE)
static int
__archive_md5init(archive_md5_ctx *ctx)
{
md5_init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_md5update(archive_md5_ctx *ctx, const void *indata,
size_t insize)
{
md5_update(ctx, insize, indata);
return (ARCHIVE_OK);
}
static int
__archive_md5final(archive_md5_ctx *ctx, void *md)
{
md5_digest(ctx, MD5_DIGEST_SIZE, md);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_MD5_OPENSSL)
static int
__archive_md5init(archive_md5_ctx *ctx)
{
if ((*ctx = EVP_MD_CTX_new()) == NULL)
return (ARCHIVE_FAILED);
EVP_DigestInit(*ctx, EVP_md5());
return (ARCHIVE_OK);
}
static int
__archive_md5update(archive_md5_ctx *ctx, const void *indata,
size_t insize)
{
EVP_DigestUpdate(*ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_md5final(archive_md5_ctx *ctx, void *md)
{
/* HACK: archive_write_set_format_xar.c is finalizing empty contexts, so
* this is meant to cope with that. Real fix is probably to fix
* archive_write_set_format_xar.c
*/
if (*ctx) {
EVP_DigestFinal(*ctx, md, NULL);
EVP_MD_CTX_free(*ctx);
*ctx = NULL;
}
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_MD5_WIN)
static int
__archive_md5init(archive_md5_ctx *ctx)
{
return (win_crypto_init(ctx, CALG_MD5));
}
static int
__archive_md5update(archive_md5_ctx *ctx, const void *indata,
size_t insize)
{
return (win_crypto_Update(ctx, indata, insize));
}
static int
__archive_md5final(archive_md5_ctx *ctx, void *md)
{
return (win_crypto_Final(md, 16, ctx));
}
#else
static int
__archive_md5init(archive_md5_ctx *ctx)
{
(void)ctx; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_md5update(archive_md5_ctx *ctx, const void *indata,
size_t insize)
{
(void)ctx; /* UNUSED */
(void)indata; /* UNUSED */
(void)insize; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_md5final(archive_md5_ctx *ctx, void *md)
{
(void)ctx; /* UNUSED */
(void)md; /* UNUSED */
return (ARCHIVE_FAILED);
}
#endif
/* RIPEMD160 implementations */
#if defined(ARCHIVE_CRYPTO_RMD160_LIBC)
static int
__archive_ripemd160init(archive_rmd160_ctx *ctx)
{
RMD160Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata,
size_t insize)
{
RMD160Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_ripemd160final(archive_rmd160_ctx *ctx, void *md)
{
RMD160Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_RMD160_LIBMD)
static int
__archive_ripemd160init(archive_rmd160_ctx *ctx)
{
RIPEMD160_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata,
size_t insize)
{
RIPEMD160_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_ripemd160final(archive_rmd160_ctx *ctx, void *md)
{
RIPEMD160_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_RMD160_MBEDTLS)
static int
__archive_ripemd160init(archive_rmd160_ctx *ctx)
{
mbedtls_ripemd160_init(ctx);
if (mbedtls_ripemd160_starts_ret(ctx) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata,
size_t insize)
{
if (mbedtls_ripemd160_update_ret(ctx, indata, insize) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_ripemd160final(archive_rmd160_ctx *ctx, void *md)
{
if (mbedtls_ripemd160_finish_ret(ctx, md) == 0) {
mbedtls_ripemd160_free(ctx);
return (ARCHIVE_OK);
} else {
mbedtls_ripemd160_free(ctx);
return (ARCHIVE_FATAL);
}
}
#elif defined(ARCHIVE_CRYPTO_RMD160_NETTLE)
static int
__archive_ripemd160init(archive_rmd160_ctx *ctx)
{
ripemd160_init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata,
size_t insize)
{
ripemd160_update(ctx, insize, indata);
return (ARCHIVE_OK);
}
static int
__archive_ripemd160final(archive_rmd160_ctx *ctx, void *md)
{
ripemd160_digest(ctx, RIPEMD160_DIGEST_SIZE, md);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_RMD160_OPENSSL)
static int
__archive_ripemd160init(archive_rmd160_ctx *ctx)
{
if ((*ctx = EVP_MD_CTX_new()) == NULL)
return (ARCHIVE_FAILED);
EVP_DigestInit(*ctx, EVP_ripemd160());
return (ARCHIVE_OK);
}
static int
__archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata,
size_t insize)
{
EVP_DigestUpdate(*ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_ripemd160final(archive_rmd160_ctx *ctx, void *md)
{
if (*ctx) {
EVP_DigestFinal(*ctx, md, NULL);
EVP_MD_CTX_free(*ctx);
*ctx = NULL;
}
return (ARCHIVE_OK);
}
#else
static int
__archive_ripemd160init(archive_rmd160_ctx *ctx)
{
(void)ctx; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata,
size_t insize)
{
(void)ctx; /* UNUSED */
(void)indata; /* UNUSED */
(void)insize; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_ripemd160final(archive_rmd160_ctx *ctx, void *md)
{
(void)ctx; /* UNUSED */
(void)md; /* UNUSED */
return (ARCHIVE_FAILED);
}
#endif
/* SHA1 implementations */
#if defined(ARCHIVE_CRYPTO_SHA1_LIBC)
static int
__archive_sha1init(archive_sha1_ctx *ctx)
{
SHA1Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha1update(archive_sha1_ctx *ctx, const void *indata,
size_t insize)
{
SHA1Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha1final(archive_sha1_ctx *ctx, void *md)
{
SHA1Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA1_LIBMD)
static int
__archive_sha1init(archive_sha1_ctx *ctx)
{
SHA1_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha1update(archive_sha1_ctx *ctx, const void *indata,
size_t insize)
{
SHA1_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha1final(archive_sha1_ctx *ctx, void *md)
{
SHA1_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA1_LIBSYSTEM)
static int
__archive_sha1init(archive_sha1_ctx *ctx)
{
CC_SHA1_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha1update(archive_sha1_ctx *ctx, const void *indata,
size_t insize)
{
CC_SHA1_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha1final(archive_sha1_ctx *ctx, void *md)
{
CC_SHA1_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA1_MBEDTLS)
static int
__archive_sha1init(archive_sha1_ctx *ctx)
{
mbedtls_sha1_init(ctx);
if (mbedtls_sha1_starts_ret(ctx) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_sha1update(archive_sha1_ctx *ctx, const void *indata,
size_t insize)
{
if (mbedtls_sha1_update_ret(ctx, indata, insize) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_sha1final(archive_sha1_ctx *ctx, void *md)
{
if (mbedtls_sha1_finish_ret(ctx, md) == 0) {
mbedtls_sha1_free(ctx);
return (ARCHIVE_OK);
} else {
mbedtls_sha1_free(ctx);
return (ARCHIVE_FATAL);
}
}
#elif defined(ARCHIVE_CRYPTO_SHA1_NETTLE)
static int
__archive_sha1init(archive_sha1_ctx *ctx)
{
sha1_init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha1update(archive_sha1_ctx *ctx, const void *indata,
size_t insize)
{
sha1_update(ctx, insize, indata);
return (ARCHIVE_OK);
}
static int
__archive_sha1final(archive_sha1_ctx *ctx, void *md)
{
sha1_digest(ctx, SHA1_DIGEST_SIZE, md);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA1_OPENSSL)
static int
__archive_sha1init(archive_sha1_ctx *ctx)
{
if ((*ctx = EVP_MD_CTX_new()) == NULL)
return (ARCHIVE_FAILED);
EVP_DigestInit(*ctx, EVP_sha1());
return (ARCHIVE_OK);
}
static int
__archive_sha1update(archive_sha1_ctx *ctx, const void *indata,
size_t insize)
{
EVP_DigestUpdate(*ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha1final(archive_sha1_ctx *ctx, void *md)
{
/* HACK: archive_write_set_format_xar.c is finalizing empty contexts, so
* this is meant to cope with that. Real fix is probably to fix
* archive_write_set_format_xar.c
*/
if (*ctx) {
EVP_DigestFinal(*ctx, md, NULL);
EVP_MD_CTX_free(*ctx);
*ctx = NULL;
}
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA1_WIN)
static int
__archive_sha1init(archive_sha1_ctx *ctx)
{
return (win_crypto_init(ctx, CALG_SHA1));
}
static int
__archive_sha1update(archive_sha1_ctx *ctx, const void *indata,
size_t insize)
{
return (win_crypto_Update(ctx, indata, insize));
}
static int
__archive_sha1final(archive_sha1_ctx *ctx, void *md)
{
return (win_crypto_Final(md, 20, ctx));
}
#else
static int
__archive_sha1init(archive_sha1_ctx *ctx)
{
(void)ctx; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_sha1update(archive_sha1_ctx *ctx, const void *indata,
size_t insize)
{
(void)ctx; /* UNUSED */
(void)indata; /* UNUSED */
(void)insize; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_sha1final(archive_sha1_ctx *ctx, void *md)
{
(void)ctx; /* UNUSED */
(void)md; /* UNUSED */
return (ARCHIVE_FAILED);
}
#endif
/* SHA256 implementations */
#if defined(ARCHIVE_CRYPTO_SHA256_LIBC)
static int
__archive_sha256init(archive_sha256_ctx *ctx)
{
SHA256_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha256update(archive_sha256_ctx *ctx, const void *indata,
size_t insize)
{
SHA256_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha256final(archive_sha256_ctx *ctx, void *md)
{
SHA256_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA256_LIBC2)
static int
__archive_sha256init(archive_sha256_ctx *ctx)
{
SHA256Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha256update(archive_sha256_ctx *ctx, const void *indata,
size_t insize)
{
SHA256Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha256final(archive_sha256_ctx *ctx, void *md)
{
SHA256Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA256_LIBC3)
static int
__archive_sha256init(archive_sha256_ctx *ctx)
{
SHA256Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha256update(archive_sha256_ctx *ctx, const void *indata,
size_t insize)
{
SHA256Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha256final(archive_sha256_ctx *ctx, void *md)
{
SHA256Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA256_LIBMD)
static int
__archive_sha256init(archive_sha256_ctx *ctx)
{
SHA256_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha256update(archive_sha256_ctx *ctx, const void *indata,
size_t insize)
{
SHA256_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha256final(archive_sha256_ctx *ctx, void *md)
{
SHA256_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA256_LIBSYSTEM)
static int
__archive_sha256init(archive_sha256_ctx *ctx)
{
CC_SHA256_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha256update(archive_sha256_ctx *ctx, const void *indata,
size_t insize)
{
CC_SHA256_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha256final(archive_sha256_ctx *ctx, void *md)
{
CC_SHA256_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA256_MBEDTLS)
static int
__archive_sha256init(archive_sha256_ctx *ctx)
{
mbedtls_sha256_init(ctx);
if (mbedtls_sha256_starts_ret(ctx, 0) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_sha256update(archive_sha256_ctx *ctx, const void *indata,
size_t insize)
{
if (mbedtls_sha256_update_ret(ctx, indata, insize) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_sha256final(archive_sha256_ctx *ctx, void *md)
{
if (mbedtls_sha256_finish_ret(ctx, md) == 0) {
mbedtls_sha256_free(ctx);
return (ARCHIVE_OK);
} else {
mbedtls_sha256_free(ctx);
return (ARCHIVE_FATAL);
}
}
#elif defined(ARCHIVE_CRYPTO_SHA256_NETTLE)
static int
__archive_sha256init(archive_sha256_ctx *ctx)
{
sha256_init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha256update(archive_sha256_ctx *ctx, const void *indata,
size_t insize)
{
sha256_update(ctx, insize, indata);
return (ARCHIVE_OK);
}
static int
__archive_sha256final(archive_sha256_ctx *ctx, void *md)
{
sha256_digest(ctx, SHA256_DIGEST_SIZE, md);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA256_OPENSSL)
static int
__archive_sha256init(archive_sha256_ctx *ctx)
{
if ((*ctx = EVP_MD_CTX_new()) == NULL)
return (ARCHIVE_FAILED);
EVP_DigestInit(*ctx, EVP_sha256());
return (ARCHIVE_OK);
}
static int
__archive_sha256update(archive_sha256_ctx *ctx, const void *indata,
size_t insize)
{
EVP_DigestUpdate(*ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha256final(archive_sha256_ctx *ctx, void *md)
{
if (*ctx) {
EVP_DigestFinal(*ctx, md, NULL);
EVP_MD_CTX_free(*ctx);
*ctx = NULL;
}
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA256_WIN)
static int
__archive_sha256init(archive_sha256_ctx *ctx)
{
return (win_crypto_init(ctx, CALG_SHA_256));
}
static int
__archive_sha256update(archive_sha256_ctx *ctx, const void *indata,
size_t insize)
{
return (win_crypto_Update(ctx, indata, insize));
}
static int
__archive_sha256final(archive_sha256_ctx *ctx, void *md)
{
return (win_crypto_Final(md, 32, ctx));
}
#else
static int
__archive_sha256init(archive_sha256_ctx *ctx)
{
(void)ctx; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_sha256update(archive_sha256_ctx *ctx, const void *indata,
size_t insize)
{
(void)ctx; /* UNUSED */
(void)indata; /* UNUSED */
(void)insize; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_sha256final(archive_sha256_ctx *ctx, void *md)
{
(void)ctx; /* UNUSED */
(void)md; /* UNUSED */
return (ARCHIVE_FAILED);
}
#endif
/* SHA384 implementations */
#if defined(ARCHIVE_CRYPTO_SHA384_LIBC)
static int
__archive_sha384init(archive_sha384_ctx *ctx)
{
SHA384_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha384update(archive_sha384_ctx *ctx, const void *indata,
size_t insize)
{
SHA384_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha384final(archive_sha384_ctx *ctx, void *md)
{
SHA384_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA384_LIBC2)
static int
__archive_sha384init(archive_sha384_ctx *ctx)
{
SHA384Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha384update(archive_sha384_ctx *ctx, const void *indata,
size_t insize)
{
SHA384Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha384final(archive_sha384_ctx *ctx, void *md)
{
SHA384Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA384_LIBC3)
static int
__archive_sha384init(archive_sha384_ctx *ctx)
{
SHA384Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha384update(archive_sha384_ctx *ctx, const void *indata,
size_t insize)
{
SHA384Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha384final(archive_sha384_ctx *ctx, void *md)
{
SHA384Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA384_LIBSYSTEM)
static int
__archive_sha384init(archive_sha384_ctx *ctx)
{
CC_SHA384_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha384update(archive_sha384_ctx *ctx, const void *indata,
size_t insize)
{
CC_SHA384_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha384final(archive_sha384_ctx *ctx, void *md)
{
CC_SHA384_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA384_MBEDTLS)
static int
__archive_sha384init(archive_sha384_ctx *ctx)
{
mbedtls_sha512_init(ctx);
if (mbedtls_sha512_starts_ret(ctx, 1) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_sha384update(archive_sha384_ctx *ctx, const void *indata,
size_t insize)
{
if (mbedtls_sha512_update_ret(ctx, indata, insize) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_sha384final(archive_sha384_ctx *ctx, void *md)
{
if (mbedtls_sha512_finish_ret(ctx, md) == 0) {
mbedtls_sha512_free(ctx);
return (ARCHIVE_OK);
} else {
mbedtls_sha512_free(ctx);
return (ARCHIVE_FATAL);
}
}
#elif defined(ARCHIVE_CRYPTO_SHA384_NETTLE)
static int
__archive_sha384init(archive_sha384_ctx *ctx)
{
sha384_init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha384update(archive_sha384_ctx *ctx, const void *indata,
size_t insize)
{
sha384_update(ctx, insize, indata);
return (ARCHIVE_OK);
}
static int
__archive_sha384final(archive_sha384_ctx *ctx, void *md)
{
sha384_digest(ctx, SHA384_DIGEST_SIZE, md);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA384_OPENSSL)
static int
__archive_sha384init(archive_sha384_ctx *ctx)
{
if ((*ctx = EVP_MD_CTX_new()) == NULL)
return (ARCHIVE_FAILED);
EVP_DigestInit(*ctx, EVP_sha384());
return (ARCHIVE_OK);
}
static int
__archive_sha384update(archive_sha384_ctx *ctx, const void *indata,
size_t insize)
{
EVP_DigestUpdate(*ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha384final(archive_sha384_ctx *ctx, void *md)
{
if (*ctx) {
EVP_DigestFinal(*ctx, md, NULL);
EVP_MD_CTX_free(*ctx);
*ctx = NULL;
}
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA384_WIN)
static int
__archive_sha384init(archive_sha384_ctx *ctx)
{
return (win_crypto_init(ctx, CALG_SHA_384));
}
static int
__archive_sha384update(archive_sha384_ctx *ctx, const void *indata,
size_t insize)
{
return (win_crypto_Update(ctx, indata, insize));
}
static int
__archive_sha384final(archive_sha384_ctx *ctx, void *md)
{
return (win_crypto_Final(md, 48, ctx));
}
#else
static int
__archive_sha384init(archive_sha384_ctx *ctx)
{
(void)ctx; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_sha384update(archive_sha384_ctx *ctx, const void *indata,
size_t insize)
{
(void)ctx; /* UNUSED */
(void)indata; /* UNUSED */
(void)insize; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_sha384final(archive_sha384_ctx *ctx, void *md)
{
(void)ctx; /* UNUSED */
(void)md; /* UNUSED */
return (ARCHIVE_FAILED);
}
#endif
/* SHA512 implementations */
#if defined(ARCHIVE_CRYPTO_SHA512_LIBC)
static int
__archive_sha512init(archive_sha512_ctx *ctx)
{
SHA512_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha512update(archive_sha512_ctx *ctx, const void *indata,
size_t insize)
{
SHA512_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha512final(archive_sha512_ctx *ctx, void *md)
{
SHA512_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA512_LIBC2)
static int
__archive_sha512init(archive_sha512_ctx *ctx)
{
SHA512Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha512update(archive_sha512_ctx *ctx, const void *indata,
size_t insize)
{
SHA512Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha512final(archive_sha512_ctx *ctx, void *md)
{
SHA512Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA512_LIBC3)
static int
__archive_sha512init(archive_sha512_ctx *ctx)
{
SHA512Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha512update(archive_sha512_ctx *ctx, const void *indata,
size_t insize)
{
SHA512Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha512final(archive_sha512_ctx *ctx, void *md)
{
SHA512Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA512_LIBMD)
static int
__archive_sha512init(archive_sha512_ctx *ctx)
{
SHA512_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha512update(archive_sha512_ctx *ctx, const void *indata,
size_t insize)
{
SHA512_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha512final(archive_sha512_ctx *ctx, void *md)
{
SHA512_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA512_LIBSYSTEM)
static int
__archive_sha512init(archive_sha512_ctx *ctx)
{
CC_SHA512_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha512update(archive_sha512_ctx *ctx, const void *indata,
size_t insize)
{
CC_SHA512_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha512final(archive_sha512_ctx *ctx, void *md)
{
CC_SHA512_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA512_MBEDTLS)
static int
__archive_sha512init(archive_sha512_ctx *ctx)
{
mbedtls_sha512_init(ctx);
if (mbedtls_sha512_starts_ret(ctx, 0) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_sha512update(archive_sha512_ctx *ctx, const void *indata,
size_t insize)
{
if (mbedtls_sha512_update_ret(ctx, indata, insize) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_sha512final(archive_sha512_ctx *ctx, void *md)
{
if (mbedtls_sha512_finish_ret(ctx, md) == 0) {
mbedtls_sha512_free(ctx);
return (ARCHIVE_OK);
} else {
mbedtls_sha512_free(ctx);
return (ARCHIVE_FATAL);
}
}
#elif defined(ARCHIVE_CRYPTO_SHA512_NETTLE)
static int
__archive_sha512init(archive_sha512_ctx *ctx)
{
sha512_init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha512update(archive_sha512_ctx *ctx, const void *indata,
size_t insize)
{
sha512_update(ctx, insize, indata);
return (ARCHIVE_OK);
}
static int
__archive_sha512final(archive_sha512_ctx *ctx, void *md)
{
sha512_digest(ctx, SHA512_DIGEST_SIZE, md);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA512_OPENSSL)
static int
__archive_sha512init(archive_sha512_ctx *ctx)
{
if ((*ctx = EVP_MD_CTX_new()) == NULL)
return (ARCHIVE_FAILED);
EVP_DigestInit(*ctx, EVP_sha512());
return (ARCHIVE_OK);
}
static int
__archive_sha512update(archive_sha512_ctx *ctx, const void *indata,
size_t insize)
{
EVP_DigestUpdate(*ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha512final(archive_sha512_ctx *ctx, void *md)
{
if (*ctx) {
EVP_DigestFinal(*ctx, md, NULL);
EVP_MD_CTX_free(*ctx);
*ctx = NULL;
}
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA512_WIN)
static int
__archive_sha512init(archive_sha512_ctx *ctx)
{
return (win_crypto_init(ctx, CALG_SHA_512));
}
static int
__archive_sha512update(archive_sha512_ctx *ctx, const void *indata,
size_t insize)
{
return (win_crypto_Update(ctx, indata, insize));
}
static int
__archive_sha512final(archive_sha512_ctx *ctx, void *md)
{
return (win_crypto_Final(md, 64, ctx));
}
#else
static int
__archive_sha512init(archive_sha512_ctx *ctx)
{
(void)ctx; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_sha512update(archive_sha512_ctx *ctx, const void *indata,
size_t insize)
{
(void)ctx; /* UNUSED */
(void)indata; /* UNUSED */
(void)insize; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_sha512final(archive_sha512_ctx *ctx, void *md)
{
(void)ctx; /* UNUSED */
(void)md; /* UNUSED */
return (ARCHIVE_FAILED);
}
#endif
/* NOTE: Message Digest functions are set based on availability and by the
* following order of preference.
* 1. libc
* 2. libc2
* 3. libc3
* 4. libSystem
* 5. Nettle
* 6. OpenSSL
* 7. libmd
* 8. Windows API
*/
const struct archive_digest __archive_digest =
{
/* MD5 */
&__archive_md5init,
&__archive_md5update,
&__archive_md5final,
/* RIPEMD160 */
&__archive_ripemd160init,
&__archive_ripemd160update,
&__archive_ripemd160final,
/* SHA1 */
&__archive_sha1init,
&__archive_sha1update,
&__archive_sha1final,
/* SHA256 */
&__archive_sha256init,
&__archive_sha256update,
&__archive_sha256final,
/* SHA384 */
&__archive_sha384init,
&__archive_sha384update,
&__archive_sha384final,
/* SHA512 */
&__archive_sha512init,
&__archive_sha512update,
&__archive_sha512final
};
int
main(int argc, char **argv)
{
archive_sha512_ctx ctx;
archive_sha512_init(&ctx);
archive_sha512_update(&ctx, *argv, argc);
archive_sha512_final(&ctx, NULL);
return 0;
}
Checking support for ARCHIVE_CRYPTO_SHA256_LIBC2 failed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeTmp
Run Build Command(s):/bin/gmake -f Makefile cmTC_ebc58/fast && gmake -f CMakeFiles/cmTC_ebc58.dir/build.make CMakeFiles/cmTC_ebc58.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeTmp'
Building C object CMakeFiles/cmTC_ebc58.dir/check_crypto_md.c.o
/bin/gcc -I/usr/src/cmake-3.25.0 -I/usr/src/cmake-3.25.0/Utilities/cmlibarchive/libarchive -I/usr/src/cmake-3.25.0/CMakeFiles/CMakeTmp -I/usr/src/cmake-3.25.0/Utilities -w -std=gnu99 -o CMakeFiles/cmTC_ebc58.dir/check_crypto_md.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeTmp/check_crypto_md.c
In file included from /usr/src/cmake-3.25.0/CMakeFiles/CMakeTmp/check_crypto_md.c:1204:0:
/usr/src/cmake-3.25.0/Utilities/cmlibarchive/libarchive/archive_digest_private.h:81:18: fatal error: sha2.h: No such file or directory
#include <sha2.h>
^
compilation terminated.
gmake[1]: *** [CMakeFiles/cmTC_ebc58.dir/check_crypto_md.c.o] Error 1
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeTmp'
gmake: *** [cmTC_ebc58/fast] Error 2
Source file was:
/* config.h. Generated from build/cmake/config.h.in by cmake configure */
#define __LIBARCHIVE_CONFIG_H_INCLUDED 1
#if defined(__osf__)
# define _OSF_SOURCE
#endif
/*
* Ensure we have C99-style int64_t, etc, all defined.
*/
/* Define ZLIB_WINAPI if zlib was built on Visual Studio. */
/* #undef ZLIB_WINAPI */
/* Darwin ACL support */
/* #undef ARCHIVE_ACL_DARWIN */
/* FreeBSD ACL support */
/* #undef ARCHIVE_ACL_FREEBSD */
/* FreeBSD NFSv4 ACL support */
/* #undef ARCHIVE_ACL_FREEBSD_NFS4 */
/* Linux POSIX.1e ACL support via libacl */
/* #undef ARCHIVE_ACL_LIBACL */
/* Linux NFSv4 ACL support via librichacl */
/* #undef ARCHIVE_ACL_LIBRICHACL */
/* Solaris ACL support */
/* #undef ARCHIVE_ACL_SUNOS */
/* Solaris NFSv4 ACL support */
/* #undef ARCHIVE_ACL_SUNOS_NFS4 */
/* MD5 via ARCHIVE_CRYPTO_MD5_LIBC supported. */
/* #undef ARCHIVE_CRYPTO_MD5_LIBC */
/* MD5 via ARCHIVE_CRYPTO_MD5_LIBSYSTEM supported. */
/* #undef ARCHIVE_CRYPTO_MD5_LIBSYSTEM */
/* MD5 via ARCHIVE_CRYPTO_MD5_NETTLE supported. */
/* #undef ARCHIVE_CRYPTO_MD5_NETTLE */
/* MD5 via ARCHIVE_CRYPTO_MD5_OPENSSL supported. */
/* #undef ARCHIVE_CRYPTO_MD5_OPENSSL */
/* MD5 via ARCHIVE_CRYPTO_MD5_WIN supported. */
/* #undef ARCHIVE_CRYPTO_MD5_WIN */
/* RMD160 via ARCHIVE_CRYPTO_RMD160_LIBC supported. */
/* #undef ARCHIVE_CRYPTO_RMD160_LIBC */
/* RMD160 via ARCHIVE_CRYPTO_RMD160_NETTLE supported. */
/* #undef ARCHIVE_CRYPTO_RMD160_NETTLE */
/* RMD160 via ARCHIVE_CRYPTO_RMD160_OPENSSL supported. */
/* #undef ARCHIVE_CRYPTO_RMD160_OPENSSL */
/* SHA1 via ARCHIVE_CRYPTO_SHA1_LIBC supported. */
/* #undef ARCHIVE_CRYPTO_SHA1_LIBC */
/* SHA1 via ARCHIVE_CRYPTO_SHA1_LIBSYSTEM supported. */
/* #undef ARCHIVE_CRYPTO_SHA1_LIBSYSTEM */
/* SHA1 via ARCHIVE_CRYPTO_SHA1_NETTLE supported. */
/* #undef ARCHIVE_CRYPTO_SHA1_NETTLE */
/* SHA1 via ARCHIVE_CRYPTO_SHA1_OPENSSL supported. */
/* #undef ARCHIVE_CRYPTO_SHA1_OPENSSL */
/* SHA1 via ARCHIVE_CRYPTO_SHA1_WIN supported. */
/* #undef ARCHIVE_CRYPTO_SHA1_WIN */
/* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBC supported. */
/* #undef ARCHIVE_CRYPTO_SHA256_LIBC */
/* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBC2 supported. */
/* #undef ARCHIVE_CRYPTO_SHA256_LIBC2 */
/* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBC3 supported. */
/* #undef ARCHIVE_CRYPTO_SHA256_LIBC3 */
/* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBSYSTEM supported. */
/* #undef ARCHIVE_CRYPTO_SHA256_LIBSYSTEM */
/* SHA256 via ARCHIVE_CRYPTO_SHA256_NETTLE supported. */
/* #undef ARCHIVE_CRYPTO_SHA256_NETTLE */
/* SHA256 via ARCHIVE_CRYPTO_SHA256_OPENSSL supported. */
/* #undef ARCHIVE_CRYPTO_SHA256_OPENSSL */
/* SHA256 via ARCHIVE_CRYPTO_SHA256_WIN supported. */
/* #undef ARCHIVE_CRYPTO_SHA256_WIN */
/* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBC supported. */
/* #undef ARCHIVE_CRYPTO_SHA384_LIBC */
/* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBC2 supported. */
/* #undef ARCHIVE_CRYPTO_SHA384_LIBC2 */
/* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBC3 supported. */
/* #undef ARCHIVE_CRYPTO_SHA384_LIBC3 */
/* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBSYSTEM supported. */
/* #undef ARCHIVE_CRYPTO_SHA384_LIBSYSTEM */
/* SHA384 via ARCHIVE_CRYPTO_SHA384_NETTLE supported. */
/* #undef ARCHIVE_CRYPTO_SHA384_NETTLE */
/* SHA384 via ARCHIVE_CRYPTO_SHA384_OPENSSL supported. */
/* #undef ARCHIVE_CRYPTO_SHA384_OPENSSL */
/* SHA384 via ARCHIVE_CRYPTO_SHA384_WIN supported. */
/* #undef ARCHIVE_CRYPTO_SHA384_WIN */
/* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBC supported. */
/* #undef ARCHIVE_CRYPTO_SHA512_LIBC */
/* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBC2 supported. */
/* #undef ARCHIVE_CRYPTO_SHA512_LIBC2 */
/* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBC3 supported. */
/* #undef ARCHIVE_CRYPTO_SHA512_LIBC3 */
/* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBSYSTEM supported. */
/* #undef ARCHIVE_CRYPTO_SHA512_LIBSYSTEM */
/* SHA512 via ARCHIVE_CRYPTO_SHA512_NETTLE supported. */
/* #undef ARCHIVE_CRYPTO_SHA512_NETTLE */
/* SHA512 via ARCHIVE_CRYPTO_SHA512_OPENSSL supported. */
/* #undef ARCHIVE_CRYPTO_SHA512_OPENSSL */
/* SHA512 via ARCHIVE_CRYPTO_SHA512_WIN supported. */
/* #undef ARCHIVE_CRYPTO_SHA512_WIN */
/* AIX xattr support */
/* #undef ARCHIVE_XATTR_AIX */
/* Darwin xattr support */
/* #undef ARCHIVE_XATTR_DARWIN */
/* FreeBSD xattr support */
/* #undef ARCHIVE_XATTR_FREEBSD */
/* Linux xattr support */
/* #undef ARCHIVE_XATTR_LINUX */
/* Version number of bsdcpio */
#define BSDCPIO_VERSION_STRING "3.6.0"
/* Version number of bsdtar */
#define BSDTAR_VERSION_STRING "3.6.0"
/* Version number of bsdcat */
#define BSDCAT_VERSION_STRING "3.6.0"
/* Define to 1 if you have the `acl_create_entry' function. */
/* #undef HAVE_ACL_CREATE_ENTRY */
/* Define to 1 if you have the `acl_get_fd_np' function. */
/* #undef HAVE_ACL_GET_FD_NP */
/* Define to 1 if you have the `acl_get_link' function. */
/* #undef HAVE_ACL_GET_LINK */
/* Define to 1 if you have the `acl_get_link_np' function. */
/* #undef HAVE_ACL_GET_LINK_NP */
/* Define to 1 if you have the `acl_get_perm' function. */
/* #undef HAVE_ACL_GET_PERM */
/* Define to 1 if you have the `acl_get_perm_np' function. */
/* #undef HAVE_ACL_GET_PERM_NP */
/* Define to 1 if you have the `acl_init' function. */
/* #undef HAVE_ACL_INIT */
/* Define to 1 if you have the <acl/libacl.h> header file. */
/* #undef HAVE_ACL_LIBACL_H */
/* Define to 1 if the system has the type `acl_permset_t'. */
/* #undef HAVE_ACL_PERMSET_T */
/* Define to 1 if you have the `acl_set_fd' function. */
/* #undef HAVE_ACL_SET_FD */
/* Define to 1 if you have the `acl_set_fd_np' function. */
/* #undef HAVE_ACL_SET_FD_NP */
/* Define to 1 if you have the `acl_set_file' function. */
/* #undef HAVE_ACL_SET_FILE */
/* Define to 1 if you have the `arc4random_buf' function. */
/* #undef HAVE_ARC4RANDOM_BUF */
/* Define to 1 if you have the <attr/xattr.h> header file. */
/* #undef HAVE_ATTR_XATTR_H */
/* Define to 1 if you have the <Bcrypt.h> header file. */
/* #undef HAVE_BCRYPT_H */
/* Define to 1 if you have the <bsdxml.h> header file. */
/* #undef HAVE_BSDXML_H */
/* Define to 1 if you have the <bzlib.h> header file. */
#define HAVE_BZLIB_H 1
/* Define to 1 if you have the `chflags' function. */
/* #undef HAVE_CHFLAGS */
/* Define to 1 if you have the `chown' function. */
#define HAVE_CHOWN 1
/* Define to 1 if you have the `chroot' function. */
#define HAVE_CHROOT 1
/* Define to 1 if you have the <copyfile.h> header file. */
/* #undef HAVE_COPYFILE_H */
/* Define to 1 if you have the `ctime_r' function. */
#define HAVE_CTIME_R 1
/* Define to 1 if you have the <ctype.h> header file. */
#define HAVE_CTYPE_H 1
/* Define to 1 if you have the `cygwin_conv_path' function. */
/* #undef HAVE_CYGWIN_CONV_PATH */
/* Define to 1 if you have the declaration of `ACE_GETACL', and to 0 if you
don't. */
/* #undef HAVE_DECL_ACE_GETACL */
/* Define to 1 if you have the declaration of `ACE_GETACLCNT', and to 0 if you
don't. */
/* #undef HAVE_DECL_ACE_GETACLCNT */
/* Define to 1 if you have the declaration of `ACE_SETACL', and to 0 if you
don't. */
/* #undef HAVE_DECL_ACE_SETACL */
/* Define to 1 if you have the declaration of `ACL_SYNCHRONIZE', and to 0 if
you don't. */
/* #undef HAVE_DECL_ACL_SYNCHRONIZE */
/* Define to 1 if you have the declaration of `ACL_TYPE_EXTENDED', and to 0 if
you don't. */
/* #undef HAVE_DECL_ACL_TYPE_EXTENDED */
/* Define to 1 if you have the declaration of `ACL_TYPE_NFS4', and to 0 if you
don't. */
/* #undef HAVE_DECL_ACL_TYPE_NFS4 */
/* Define to 1 if you have the declaration of `ACL_USER', and to 0 if you
don't. */
/* #undef HAVE_DECL_ACL_USER */
/* Define to 1 if you have the declaration of `SETACL', and to 0 if you don't.
*/
/* #undef HAVE_DECL_SETACL */
/* Define to 1 if you have the declaration of `strerror_r', and to 0 if you
don't. */
#define HAVE_DECL_STRERROR_R 1
/* Define to 1 if you have the declaration of `XATTR_NOFOLLOW', and to 0 if
you don't. */
/* #undef HAVE_DECL_XATTR_NOFOLLOW */
/* Define to 1 if you have the <direct.h> header file. */
/* #undef HAVE_DIRECT_H */
/* Define to 1 if you have the <dirent.h> header file, and it defines `DIR'.
*/
#define HAVE_DIRENT_H 1
/* Define to 1 if you have the `dirfd' function. */
#define HAVE_DIRFD 1
/* Define to 1 if you have the <dlfcn.h> header file. */
#define HAVE_DLFCN_H 1
/* Define to 1 if you don't have `vprintf' but do have `_doprnt.' */
/* #undef HAVE_DOPRNT */
/* Define to 1 if nl_langinfo supports D_MD_ORDER */
/* #undef HAVE_D_MD_ORDER */
/* A possible errno value for invalid file format errors */
/* #undef HAVE_EFTYPE */
/* A possible errno value for invalid file format errors */
#define HAVE_EILSEQ 1
/* Define to 1 if you have the <errno.h> header file. */
#define HAVE_ERRNO_H 1
/* Define to 1 if you have the <expat.h> header file. */
/* #undef HAVE_EXPAT_H */
/* Define to 1 if you have the <ext2fs/ext2_fs.h> header file. */
#define HAVE_EXT2FS_EXT2_FS_H 1
/* Define to 1 if you have the `extattr_get_file' function. */
/* #undef HAVE_EXTATTR_GET_FILE */
/* Define to 1 if you have the `extattr_list_file' function. */
/* #undef HAVE_EXTATTR_LIST_FILE */
/* Define to 1 if you have the `extattr_set_fd' function. */
/* #undef HAVE_EXTATTR_SET_FD */
/* Define to 1 if you have the `extattr_set_file' function. */
/* #undef HAVE_EXTATTR_SET_FILE */
/* Define to 1 if EXTATTR_NAMESPACE_USER is defined in sys/extattr.h. */
/* #undef HAVE_DECL_EXTATTR_NAMESPACE_USER */
/* Define to 1 if you have the declaration of `GETACL', and to 0 if you don't.
*/
/* #undef HAVE_DECL_GETACL */
/* Define to 1 if you have the declaration of `GETACLCNT', and to 0 if you
don't. */
/* #undef HAVE_DECL_GETACLCNT */
/* Define to 1 if you have the `fchdir' function. */
#define HAVE_FCHDIR 1
/* Define to 1 if you have the `fchflags' function. */
/* #undef HAVE_FCHFLAGS */
/* Define to 1 if you have the `fchmod' function. */
#define HAVE_FCHMOD 1
/* Define to 1 if you have the `fchown' function. */
#define HAVE_FCHOWN 1
/* Define to 1 if you have the `fcntl' function. */
#define HAVE_FCNTL 1
/* Define to 1 if you have the <fcntl.h> header file. */
#define HAVE_FCNTL_H 1
/* Define to 1 if you have the `fdopendir' function. */
#define HAVE_FDOPENDIR 1
/* Define to 1 if you have the `fgetea' function. */
/* #undef HAVE_FGETEA */
/* Define to 1 if you have the `fgetxattr' function. */
/* #undef HAVE_FGETXATTR */
/* Define to 1 if you have the `flistea' function. */
/* #undef HAVE_FLISTEA */
/* Define to 1 if you have the `flistxattr' function. */
/* #undef HAVE_FLISTXATTR */
/* Define to 1 if you have the `fork' function. */
#define HAVE_FORK 1
/* Define to 1 if fseeko (and presumably ftello) exists and is declared. */
#define HAVE_FSEEKO 1
/* Define to 1 if you have the `fsetea' function. */
/* #undef HAVE_FSETEA */
/* Define to 1 if you have the `fsetxattr' function. */
#define HAVE_FSETXATTR 1
/* Define to 1 if you have the `fstat' function. */
#define HAVE_FSTAT 1
/* Define to 1 if you have the `fstatat' function. */
#define HAVE_FSTATAT 1
/* Define to 1 if you have the `fstatfs' function. */
#define HAVE_FSTATFS 1
/* Define to 1 if you have the `fstatvfs' function. */
#define HAVE_FSTATVFS 1
/* Define to 1 if you have the `ftruncate' function. */
#define HAVE_FTRUNCATE 1
/* Define to 1 if you have the `futimens' function. */
#define HAVE_FUTIMENS 1
/* Define to 1 if you have the `futimes' function. */
#define HAVE_FUTIMES 1
/* Define to 1 if you have the `futimesat' function. */
#define HAVE_FUTIMESAT 1
/* Define to 1 if you have the `getea' function. */
/* #undef HAVE_GETEA */
/* Define to 1 if you have the `geteuid' function. */
#define HAVE_GETEUID 1
/* Define to 1 if you have the `getgrgid_r' function. */
#define HAVE_GETGRGID_R 1
/* Define to 1 if you have the `getgrnam_r' function. */
#define HAVE_GETGRNAM_R 1
/* Define to 1 if you have the `getpid' function. */
#define HAVE_GETPID 1
/* Define to 1 if you have the `getpwnam_r' function. */
#define HAVE_GETPWNAM_R 1
/* Define to 1 if you have the `getpwuid_r' function. */
#define HAVE_GETPWUID_R 1
/* Define to 1 if you have the `getvfsbyname' function. */
/* #undef HAVE_GETVFSBYNAME */
/* Define to 1 if you have the `getxattr' function. */
/* #undef HAVE_GETXATTR */
/* Define to 1 if you have the `gmtime_r' function. */
#define HAVE_GMTIME_R 1
/* Define to 1 if you have the <grp.h> header file. */
#define HAVE_GRP_H 1
/* Define to 1 if you have the `iconv' function. */
/* #undef HAVE_ICONV */
/* Define to 1 if you have the <iconv.h> header file. */
/* #undef HAVE_ICONV_H */
/* Define to 1 if you have the <io.h> header file. */
/* #undef HAVE_IO_H */
/* Define to 1 if you have the <langinfo.h> header file. */
#define HAVE_LANGINFO_H 1
/* Define to 1 if you have the `lchflags' function. */
/* #undef HAVE_LCHFLAGS */
/* Define to 1 if you have the `lchmod' function. */
/* #undef HAVE_LCHMOD */
/* Define to 1 if you have the `lchown' function. */
#define HAVE_LCHOWN 1
/* Define to 1 if you have the `lgetea' function. */
/* #undef HAVE_LGETEA */
/* Define to 1 if you have the `lgetxattr' function. */
/* #undef HAVE_LGETXATTR */
/* Define to 1 if you have the `acl' library (-lacl). */
/* #undef HAVE_LIBACL */
/* Define to 1 if you have the `attr' library (-lattr). */
/* #undef HAVE_LIBATTR */
/* Define to 1 if you have the `bsdxml' library (-lbsdxml). */
/* #undef HAVE_LIBBSDXML */
/* Define to 1 if you have the `bz2' library (-lbz2). */
#define HAVE_LIBBZ2 1
/* Define to 1 if you have the `b2' library (-lb2). */
/* #undef HAVE_LIBB2 */
/* Define to 1 if you have the <blake2.h> header file. */
/* #undef HAVE_BLAKE2_H */
/* Define to 1 if you have the `charset' library (-lcharset). */
/* #undef HAVE_LIBCHARSET */
/* Define to 1 if you have the `crypto' library (-lcrypto). */
#define HAVE_LIBCRYPTO 1
/* Define to 1 if you have the `expat' library (-lexpat). */
/* #undef HAVE_LIBEXPAT */
/* Define to 1 if you have the `gcc' library (-lgcc). */
/* #undef HAVE_LIBGCC */
/* Define to 1 if you have the `lz4' library (-llz4). */
/* #undef HAVE_LIBLZ4 */
/* Define to 1 if you have the `lzma' library (-llzma). */
#define HAVE_LIBLZMA 1
/* Define to 1 if you have the `lzmadec' library (-llzmadec). */
/* #undef HAVE_LIBLZMADEC */
/* Define to 1 if you have the `lzo2' library (-llzo2). */
/* #undef HAVE_LIBLZO2 */
/* Define to 1 if you have the `mbedcrypto' library (-lmbedcrypto). */
/* #undef HAVE_LIBMBEDCRYPTO */
/* Define to 1 if you have the `nettle' library (-lnettle). */
/* #undef HAVE_LIBNETTLE */
/* Define to 1 if you have the `pcre' library (-lpcre). */
/* #undef HAVE_LIBPCRE */
/* Define to 1 if you have the `pcreposix' library (-lpcreposix). */
/* #undef HAVE_LIBPCREPOSIX */
/* Define to 1 if you have the `xml2' library (-lxml2). */
/* #undef HAVE_LIBXML2 */
/* Define to 1 if you have the <libxml/xmlreader.h> header file. */
/* #undef HAVE_LIBXML_XMLREADER_H */
/* Define to 1 if you have the <libxml/xmlwriter.h> header file. */
/* #undef HAVE_LIBXML_XMLWRITER_H */
/* Define to 1 if you have the `z' library (-lz). */
#define HAVE_LIBZ 1
/* Define to 1 if you have the `zstd' library (-lzstd). */
#define HAVE_LIBZSTD 1
/* Define to 1 if you have the `zstd' library (-lzstd) with compression
support. */
#define HAVE_LIBZSTD_COMPRESSOR 1
/* Define to 1 if you have the <limits.h> header file. */
#define HAVE_LIMITS_H 1
/* Define to 1 if you have the `link' function. */
#define HAVE_LINK 1
/* Define to 1 if you have the `linkat' function. */
#define HAVE_LINKAT 1
/* Define to 1 if you have the <linux/fiemap.h> header file. */
#define HAVE_LINUX_FIEMAP_H 1
/* Define to 1 if you have the <linux/fs.h> header file. */
#define HAVE_LINUX_FS_H 1
/* Define to 1 if you have the <linux/magic.h> header file. */
#define HAVE_LINUX_MAGIC_H 1
/* Define to 1 if you have the <linux/types.h> header file. */
#define HAVE_LINUX_TYPES_H 1
/* Define to 1 if you have the `listea' function. */
/* #undef HAVE_LISTEA */
/* Define to 1 if you have the `listxattr' function. */
/* #undef HAVE_LISTXATTR */
/* Define to 1 if you have the `llistea' function. */
/* #undef HAVE_LLISTEA */
/* Define to 1 if you have the `llistxattr' function. */
/* #undef HAVE_LLISTXATTR */
/* Define to 1 if you have the <localcharset.h> header file. */
/* #undef HAVE_LOCALCHARSET_H */
/* Define to 1 if you have the `locale_charset' function. */
/* #undef HAVE_LOCALE_CHARSET */
/* Define to 1 if you have the <locale.h> header file. */
#define HAVE_LOCALE_H 1
/* Define to 1 if you have the `localtime_r' function. */
#define HAVE_LOCALTIME_R 1
/* Define to 1 if the system has the type `long long int'. */
/* #undef HAVE_LONG_LONG_INT */
/* Define to 1 if you have the `lsetea' function. */
/* #undef HAVE_LSETEA */
/* Define to 1 if you have the `lsetxattr' function. */
/* #undef HAVE_LSETXATTR */
/* Define to 1 if you have the `lstat' function. */
#define HAVE_LSTAT 1
/* Define to 1 if `lstat' has the bug that it succeeds when given the
zero-length file name argument. */
/* #undef HAVE_LSTAT_EMPTY_STRING_BUG */
/* Define to 1 if you have the `lutimes' function. */
#define HAVE_LUTIMES 1
/* Define to 1 if you have the <lz4hc.h> header file. */
/* #undef HAVE_LZ4HC_H */
/* Define to 1 if you have the <lz4.h> header file. */
/* #undef HAVE_LZ4_H */
/* Define to 1 if you have the <lzmadec.h> header file. */
/* #undef HAVE_LZMADEC_H */
/* Define to 1 if you have the <lzma.h> header file. */
#define HAVE_LZMA_H 1
/* Define to 1 if you have a working `lzma_stream_encoder_mt' function. */
#define HAVE_LZMA_STREAM_ENCODER_MT 1
/* Define to 1 if you have the <lzo/lzo1x.h> header file. */
/* #undef HAVE_LZO_LZO1X_H */
/* Define to 1 if you have the <lzo/lzoconf.h> header file. */
/* #undef HAVE_LZO_LZOCONF_H */
/* Define to 1 if you have the `mbrtowc' function. */
#define HAVE_MBRTOWC 1
/* Define to 1 if you have the <membership.h> header file. */
/* #undef HAVE_MEMBERSHIP_H */
/* Define to 1 if you have the `memmove' function. */
#define HAVE_MEMMOVE 1
/* Define to 1 if you have the <memory.h> header file. */
#define HAVE_MEMORY_H 1
/* Define to 1 if you have the `mkdir' function. */
#define HAVE_MKDIR 1
/* Define to 1 if you have the `mkfifo' function. */
#define HAVE_MKFIFO 1
/* Define to 1 if you have the `mknod' function. */
#define HAVE_MKNOD 1
/* Define to 1 if you have the `mkstemp' function. */
#define HAVE_MKSTEMP 1
/* Define to 1 if you have the <ndir.h> header file, and it defines `DIR'. */
/* #undef HAVE_NDIR_H */
/* Define to 1 if you have the <nettle/aes.h> header file. */
/* #undef HAVE_NETTLE_AES_H */
/* Define to 1 if you have the <nettle/hmac.h> header file. */
/* #undef HAVE_NETTLE_HMAC_H */
/* Define to 1 if you have the <nettle/md5.h> header file. */
/* #undef HAVE_NETTLE_MD5_H */
/* Define to 1 if you have the <nettle/pbkdf2.h> header file. */
/* #undef HAVE_NETTLE_PBKDF2_H */
/* Define to 1 if you have the <nettle/ripemd160.h> header file. */
/* #undef HAVE_NETTLE_RIPEMD160_H */
/* Define to 1 if you have the <nettle/sha.h> header file. */
/* #undef HAVE_NETTLE_SHA_H */
/* Define to 1 if you have the `nl_langinfo' function. */
#define HAVE_NL_LANGINFO 1
/* Define to 1 if you have the `openat' function. */
#define HAVE_OPENAT 1
/* Define to 1 if you have the <paths.h> header file. */
#define HAVE_PATHS_H 1
/* Define to 1 if you have the <pcreposix.h> header file. */
/* #undef HAVE_PCREPOSIX_H */
/* Define to 1 if you have the `pipe' function. */
#define HAVE_PIPE 1
/* Define to 1 if you have the `PKCS5_PBKDF2_HMAC_SHA1' function. */
/* #undef HAVE_PKCS5_PBKDF2_HMAC_SHA1 */
/* Define to 1 if you have the `poll' function. */
#define HAVE_POLL 1
/* Define to 1 if you have the <poll.h> header file. */
#define HAVE_POLL_H 1
/* Define to 1 if you have the `posix_spawnp' function. */
#define HAVE_POSIX_SPAWNP 1
/* Define to 1 if you have the <process.h> header file. */
/* #undef HAVE_PROCESS_H */
/* Define to 1 if you have the <pthread.h> header file. */
#define HAVE_PTHREAD_H 1
/* Define to 1 if you have the <pwd.h> header file. */
#define HAVE_PWD_H 1
/* Define to 1 if you have the `readdir_r' function. */
#define HAVE_READDIR_R 1
/* Define to 1 if you have the `readlink' function. */
#define HAVE_READLINK 1
/* Define to 1 if you have the `readlinkat' function. */
/* #undef HAVE_READLINKAT */
/* Define to 1 if you have the `readpassphrase' function. */
/* #undef HAVE_READPASSPHRASE */
/* Define to 1 if you have the <readpassphrase.h> header file. */
/* #undef HAVE_READPASSPHRASE_H */
/* Define to 1 if you have the <regex.h> header file. */
#define HAVE_REGEX_H 1
/* Define to 1 if you have the `select' function. */
#define HAVE_SELECT 1
/* Define to 1 if you have the `setenv' function. */
#define HAVE_SETENV 1
/* Define to 1 if you have the `setlocale' function. */
#define HAVE_SETLOCALE 1
/* Define to 1 if you have the `sigaction' function. */
#define HAVE_SIGACTION 1
/* Define to 1 if you have the <signal.h> header file. */
#define HAVE_SIGNAL_H 1
/* Define to 1 if you have the <spawn.h> header file. */
#define HAVE_SPAWN_H 1
/* Define to 1 if you have the `statfs' function. */
#define HAVE_STATFS 1
/* Define to 1 if you have the `statvfs' function. */
#define HAVE_STATVFS 1
/* Define to 1 if `stat' has the bug that it succeeds when given the
zero-length file name argument. */
/* #undef HAVE_STAT_EMPTY_STRING_BUG */
/* Define to 1 if you have the <stdarg.h> header file. */
#define HAVE_STDARG_H 1
/* Define to 1 if you have the <stdlib.h> header file. */
#define HAVE_STDLIB_H 1
/* Define to 1 if you have the `strchr' function. */
#define HAVE_STRCHR 1
/* Define to 1 if you have the `strnlen' function. */
#define HAVE_STRNLEN 1
/* Define to 1 if you have the `strdup' function. */
#define HAVE_STRDUP 1
/* Define to 1 if you have the `strerror' function. */
#define HAVE_STRERROR 1
/* Define to 1 if you have the `strerror_r' function. */
#define HAVE_STRERROR_R 1
/* Define to 1 if you have the `strftime' function. */
#define HAVE_STRFTIME 1
/* Define to 1 if you have the <strings.h> header file. */
#define HAVE_STRINGS_H 1
/* Define to 1 if you have the <string.h> header file. */
#define HAVE_STRING_H 1
/* Define to 1 if you have the `strrchr' function. */
#define HAVE_STRRCHR 1
/* Define to 1 if `f_namemax' is a member of `struct statfs'. */
/* #undef HAVE_STRUCT_STATFS_F_NAMEMAX */
/* Define to 1 if `f_iosize' is a member of `struct statvfs'. */
/* #undef HAVE_STRUCT_STATVFS_F_IOSIZE */
/* Define to 1 if `st_birthtime' is a member of `struct stat'. */
/* #undef HAVE_STRUCT_STAT_ST_BIRTHTIME */
/* Define to 1 if `st_birthtimespec.tv_nsec' is a member of `struct stat'. */
/* #undef HAVE_STRUCT_STAT_ST_BIRTHTIMESPEC_TV_NSEC */
/* Define to 1 if `st_blksize' is a member of `struct stat'. */
#define HAVE_STRUCT_STAT_ST_BLKSIZE 1
/* Define to 1 if `st_flags' is a member of `struct stat'. */
/* #undef HAVE_STRUCT_STAT_ST_FLAGS */
/* Define to 1 if `st_mtimespec.tv_nsec' is a member of `struct stat'. */
/* #undef HAVE_STRUCT_STAT_ST_MTIMESPEC_TV_NSEC */
/* Define to 1 if `st_mtime_n' is a member of `struct stat'. */
/* #undef HAVE_STRUCT_STAT_ST_MTIME_N */
/* Define to 1 if `st_mtime_usec' is a member of `struct stat'. */
/* #undef HAVE_STRUCT_STAT_ST_MTIME_USEC */
/* Define to 1 if `st_mtim.tv_nsec' is a member of `struct stat'. */
#define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1
/* Define to 1 if `st_umtime' is a member of `struct stat'. */
/* #undef HAVE_STRUCT_STAT_ST_UMTIME */
/* Define to 1 if `tm_gmtoff' is a member of `struct tm'. */
#define HAVE_STRUCT_TM_TM_GMTOFF 1
/* Define to 1 if `__tm_gmtoff' is a member of `struct tm'. */
/* #undef HAVE_STRUCT_TM___TM_GMTOFF */
/* Define to 1 if you have `struct vfsconf'. */
/* #undef HAVE_STRUCT_VFSCONF */
/* Define to 1 if you have `struct xvfsconf'. */
/* #undef HAVE_STRUCT_XVFSCONF */
/* Define to 1 if you have the `symlink' function. */
#define HAVE_SYMLINK 1
/* Define to 1 if you have the <sys/acl.h> header file. */
/* #undef HAVE_SYS_ACL_H */
/* Define to 1 if you have the <sys/cdefs.h> header file. */
#define HAVE_SYS_CDEFS_H 1
/* Define to 1 if you have the <sys/dir.h> header file, and it defines `DIR'.
*/
/* #undef HAVE_SYS_DIR_H */
/* Define to 1 if you have the <sys/ea.h> header file. */
/* #undef HAVE_SYS_EA_H */
/* Define to 1 if you have the <sys/extattr.h> header file. */
/* #undef HAVE_SYS_EXTATTR_H */
/* Define to 1 if you have the <sys/ioctl.h> header file. */
#define HAVE_SYS_IOCTL_H 1
/* Define to 1 if you have the <sys/mkdev.h> header file. */
/* #undef HAVE_SYS_MKDEV_H */
/* Define to 1 if you have the <sys/mount.h> header file. */
/* #undef HAVE_SYS_MOUNT_H */
/* Define to 1 if you have the <sys/ndir.h> header file, and it defines `DIR'.
*/
/* #undef HAVE_SYS_NDIR_H */
/* Define to 1 if you have the <sys/param.h> header file. */
#define HAVE_SYS_PARAM_H 1
/* Define to 1 if you have the <sys/poll.h> header file. */
#define HAVE_SYS_POLL_H 1
/* Define to 1 if you have the <sys/richacl.h> header file. */
/* #undef HAVE_SYS_RICHACL_H */
/* Define to 1 if you have the <sys/select.h> header file. */
#define HAVE_SYS_SELECT_H 1
/* Define to 1 if you have the <sys/statfs.h> header file. */
#define HAVE_SYS_STATFS_H 1
/* Define to 1 if you have the <sys/statvfs.h> header file. */
#define HAVE_SYS_STATVFS_H 1
/* Define to 1 if you have the <sys/stat.h> header file. */
#define HAVE_SYS_STAT_H 1
/* Define to 1 if you have the <sys/sysmacros.h> header file. */
#define HAVE_SYS_SYSMACROS_H 1
/* Define to 1 if you have the <sys/time.h> header file. */
#define HAVE_SYS_TIME_H 1
/* Define to 1 if you have the <sys/types.h> header file. */
#define HAVE_SYS_TYPES_H 1
/* Define to 1 if you have the <sys/utime.h> header file. */
/* #undef HAVE_SYS_UTIME_H */
/* Define to 1 if you have the <sys/utsname.h> header file. */
#define HAVE_SYS_UTSNAME_H 1
/* Define to 1 if you have the <sys/vfs.h> header file. */
#define HAVE_SYS_VFS_H 1
/* Define to 1 if you have <sys/wait.h> that is POSIX.1 compatible. */
#define HAVE_SYS_WAIT_H 1
/* Define to 1 if you have the <sys/xattr.h> header file. */
#define HAVE_SYS_XATTR_H 1
/* Define to 1 if you have the `timegm' function. */
#define HAVE_TIMEGM 1
/* Define to 1 if you have the <time.h> header file. */
#define HAVE_TIME_H 1
/* Define to 1 if you have the `tzset' function. */
#define HAVE_TZSET 1
/* Define to 1 if you have the <unistd.h> header file. */
#define HAVE_UNISTD_H 1
/* Define to 1 if you have the `unlinkat' function. */
#define HAVE_UNLINKAT 1
/* Define to 1 if you have the `unsetenv' function. */
#define HAVE_UNSETENV 1
/* Define to 1 if the system has the type `unsigned long long'. */
/* #undef HAVE_UNSIGNED_LONG_LONG */
/* Define to 1 if the system has the type `unsigned long long int'. */
/* #undef HAVE_UNSIGNED_LONG_LONG_INT */
/* Define to 1 if you have the `utime' function. */
#define HAVE_UTIME 1
/* Define to 1 if you have the `utimensat' function. */
#define HAVE_UTIMENSAT 1
/* Define to 1 if you have the `utimes' function. */
#define HAVE_UTIMES 1
/* Define to 1 if you have the <utime.h> header file. */
#define HAVE_UTIME_H 1
/* Define to 1 if you have the `vfork' function. */
#define HAVE_VFORK 1
/* Define to 1 if you have the `vprintf' function. */
#define HAVE_VPRINTF 1
/* Define to 1 if you have the <wchar.h> header file. */
#define HAVE_WCHAR_H 1
/* Define to 1 if the system has the type `wchar_t'. */
#define HAVE_WCHAR_T 1
/* Define to 1 if you have the `wcrtomb' function. */
#define HAVE_WCRTOMB 1
/* Define to 1 if you have the `wcscmp' function. */
#define HAVE_WCSCMP 1
/* Define to 1 if you have the `wcscpy' function. */
#define HAVE_WCSCPY 1
/* Define to 1 if you have the `wcslen' function. */
#define HAVE_WCSLEN 1
/* Define to 1 if you have the `wctomb' function. */
#define HAVE_WCTOMB 1
/* Define to 1 if you have the <wctype.h> header file. */
#define HAVE_WCTYPE_H 1
/* Define to 1 if you have the <wincrypt.h> header file. */
/* #undef HAVE_WINCRYPT_H */
/* Define to 1 if you have the <windows.h> header file. */
/* #undef HAVE_WINDOWS_H */
/* Define to 1 if you have the <winioctl.h> header file. */
/* #undef HAVE_WINIOCTL_H */
/* Define to 1 if you have _CrtSetReportMode in <crtdbg.h> */
/* #undef HAVE__CrtSetReportMode */
/* Define to 1 if you have the `wmemcmp' function. */
#define HAVE_WMEMCMP 1
/* Define to 1 if you have the `wmemcpy' function. */
#define HAVE_WMEMCPY 1
/* Define to 1 if you have the `wmemmove' function. */
#define HAVE_WMEMMOVE 1
/* Define to 1 if you have a working EXT2_IOC_GETFLAGS */
#define HAVE_WORKING_EXT2_IOC_GETFLAGS 1
/* Define to 1 if you have a working FS_IOC_GETFLAGS */
#define HAVE_WORKING_FS_IOC_GETFLAGS 1
/* Define to 1 if you have the <zlib.h> header file. */
#define HAVE_ZLIB_H 1
/* Define to 1 if you have the <zstd.h> header file. */
#define HAVE_ZSTD_H 1
/* Define to 1 if you have the `_ctime64_s' function. */
/* #undef HAVE__CTIME64_S */
/* Define to 1 if you have the `_fseeki64' function. */
/* #undef HAVE__FSEEKI64 */
/* Define to 1 if you have the `_get_timezone' function. */
/* #undef HAVE__GET_TIMEZONE */
/* Define to 1 if you have the `_gmtime64_s' function. */
/* #undef HAVE__GMTIME64_S */
/* Define to 1 if you have the `_localtime64_s' function. */
/* #undef HAVE__LOCALTIME64_S */
/* Define to 1 if you have the `_mkgmtime64' function. */
/* #undef HAVE__MKGMTIME64 */
/* Define as const if the declaration of iconv() needs const. */
#define ICONV_CONST
/* Version number of libarchive as a single integer */
#define LIBARCHIVE_VERSION_NUMBER "3006000"
/* Version number of libarchive */
#define LIBARCHIVE_VERSION_STRING "3.6.0"
/* Define to 1 if `lstat' dereferences a symlink specified with a trailing
slash. */
/* #undef LSTAT_FOLLOWS_SLASHED_SYMLINK */
/* Define to 1 if `major', `minor', and `makedev' are declared in <mkdev.h>.
*/
/* #undef MAJOR_IN_MKDEV */
/* Define to 1 if `major', `minor', and `makedev' are declared in
<sysmacros.h>. */
#define MAJOR_IN_SYSMACROS 1
/* Define to 1 if your C compiler doesn't accept -c and -o together. */
/* #undef NO_MINUS_C_MINUS_O */
/* The size of `wchar_t', as computed by sizeof. */
#define SIZEOF_WCHAR_T 4
/* Define to 1 if strerror_r returns char *. */
/* #undef STRERROR_R_CHAR_P */
/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
#define TIME_WITH_SYS_TIME 1
/*
* Some platform requires a macro to use extension functions.
*/
#define SAFE_TO_DEFINE_EXTENSIONS 1
#ifdef SAFE_TO_DEFINE_EXTENSIONS
/* Enable extensions on AIX 3, Interix. */
#ifndef _ALL_SOURCE
# define _ALL_SOURCE 1
#endif
/* Enable GNU extensions on systems that have them. */
#ifndef _GNU_SOURCE
# define _GNU_SOURCE 1
#endif
/* Enable threading extensions on Solaris. */
#ifndef _POSIX_PTHREAD_SEMANTICS
# define _POSIX_PTHREAD_SEMANTICS 1
#endif
/* Enable extensions on HP NonStop. */
#ifndef _TANDEM_SOURCE
# define _TANDEM_SOURCE 1
#endif
/* Enable general extensions on Solaris. */
#ifndef __EXTENSIONS__
# define __EXTENSIONS__ 1
#endif
#endif /* SAFE_TO_DEFINE_EXTENSIONS */
/* Version number of package */
#define VERSION "3.6.0"
/* Number of bits in a file offset, on hosts where this is settable. */
/* #undef _FILE_OFFSET_BITS */
/* Define to 1 to make fseeko visible on some hosts (e.g. glibc 2.2). */
/* #undef _LARGEFILE_SOURCE */
/* Define for large files, on AIX-style hosts. */
/* #undef _LARGE_FILES */
/* Define to control Windows SDK version */
#ifndef NTDDI_VERSION
/* #undef NTDDI_VERSION */
#endif // NTDDI_VERSION
#ifndef _WIN32_WINNT
/* #undef _WIN32_WINNT */
#endif // _WIN32_WINNT
#ifndef WINVER
/* #undef WINVER */
#endif // WINVER
/* Define to empty if `const' does not conform to ANSI C. */
/* #undef const */
/* Define to `int' if <sys/types.h> doesn't define. */
/* #undef gid_t */
/* Define to `unsigned long' if <sys/types.h> does not define. */
/* #undef id_t */
/* Define to `int' if <sys/types.h> does not define. */
/* #undef mode_t */
/* Define to `long long' if <sys/types.h> does not define. */
/* #undef off_t */
/* Define to `int' if <sys/types.h> doesn't define. */
/* #undef pid_t */
/* Define to `unsigned int' if <sys/types.h> does not define. */
/* #undef size_t */
/* Define to `int' if <sys/types.h> does not define. */
/* #undef ssize_t */
/* Define to `int' if <sys/types.h> doesn't define. */
/* #undef uid_t */
#include <cm3p/kwiml/int.h>
#ifndef KWIML_INT_HAVE_INT64_T
typedef KWIML_INT_int64_t int64_t;
#endif
#ifndef KWIML_INT_HAVE_INT32_T
typedef KWIML_INT_int32_t int32_t;
#endif
#ifndef KWIML_INT_HAVE_INT16_T
typedef KWIML_INT_int16_t int16_t;
#endif
#ifndef KWIML_INT_HAVE_INT8_T
typedef KWIML_INT_int8_t int8_t;
#endif
#ifndef KWIML_INT_HAVE_INTPTR_T
typedef KWIML_INT_intptr_t intptr_t;
#endif
#ifndef KWIML_INT_HAVE_UINT64_T
typedef KWIML_INT_uint64_t uint64_t;
#endif
#ifndef KWIML_INT_HAVE_UINT32_T
typedef KWIML_INT_uint32_t uint32_t;
#endif
#ifndef KWIML_INT_HAVE_UINT16_T
typedef KWIML_INT_uint16_t uint16_t;
#endif
#ifndef KWIML_INT_HAVE_UINT8_T
typedef KWIML_INT_uint8_t uint8_t;
#endif
#ifndef KWIML_INT_HAVE_UINTPTR_T
typedef KWIML_INT_uintptr_t uintptr_t;
#endif
/* Define to 1 if you have the <stdint.h> header file. */
#ifdef KWIML_INT_HAVE_STDINT_H
# define HAVE_STDINT_H 1
#endif
/* Define to 1 if you have the <inttypes.h> header file. */
#ifdef KWIML_INT_HAVE_INTTYPES_H
# define HAVE_INTTYPES_H 1
#endif
#define ARCHIVE_SHA256_COMPILE_TEST
#define ARCHIVE_CRYPTO_SHA256_LIBC2
#define PLATFORM_CONFIG_H "check_crypto_md.h"
/*-
* Copyright (c) 2003-2007 Tim Kientzle
* Copyright (c) 2011 Andres Mejia
* Copyright (c) 2011 Michihiro NAKAJIMA
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR(S) ``AS IS'' AND ANY EXPRESS OR
* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
* IN NO EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
#include "archive_platform.h"
#include "archive.h"
#include "archive_digest_private.h"
/* In particular, force the configure probe to break if it tries
* to test a combination of OpenSSL and libmd. */
#if defined(ARCHIVE_CRYPTO_OPENSSL) && defined(ARCHIVE_CRYPTO_LIBMD)
#error Cannot use both OpenSSL and libmd.
#endif
/*
* Message digest functions for Windows platform.
*/
#if defined(ARCHIVE_CRYPTO_MD5_WIN) ||\
defined(ARCHIVE_CRYPTO_SHA1_WIN) ||\
defined(ARCHIVE_CRYPTO_SHA256_WIN) ||\
defined(ARCHIVE_CRYPTO_SHA384_WIN) ||\
defined(ARCHIVE_CRYPTO_SHA512_WIN)
/*
* Initialize a Message digest.
*/
static int
win_crypto_init(Digest_CTX *ctx, ALG_ID algId)
{
ctx->valid = 0;
if (!CryptAcquireContext(&ctx->cryptProv, NULL, NULL,
PROV_RSA_FULL, CRYPT_VERIFYCONTEXT)) {
if (GetLastError() != (DWORD)NTE_BAD_KEYSET)
return (ARCHIVE_FAILED);
if (!CryptAcquireContext(&ctx->cryptProv, NULL, NULL,
PROV_RSA_FULL, CRYPT_NEWKEYSET))
return (ARCHIVE_FAILED);
}
if (!CryptCreateHash(ctx->cryptProv, algId, 0, 0, &ctx->hash)) {
CryptReleaseContext(ctx->cryptProv, 0);
return (ARCHIVE_FAILED);
}
ctx->valid = 1;
return (ARCHIVE_OK);
}
/*
* Update a Message digest.
*/
static int
win_crypto_Update(Digest_CTX *ctx, const unsigned char *buf, size_t len)
{
if (!ctx->valid)
return (ARCHIVE_FAILED);
CryptHashData(ctx->hash,
(unsigned char *)(uintptr_t)buf,
(DWORD)len, 0);
return (ARCHIVE_OK);
}
static int
win_crypto_Final(unsigned char *buf, size_t bufsize, Digest_CTX *ctx)
{
DWORD siglen = (DWORD)bufsize;
if (!ctx->valid)
return (ARCHIVE_FAILED);
CryptGetHashParam(ctx->hash, HP_HASHVAL, buf, &siglen, 0);
CryptDestroyHash(ctx->hash);
CryptReleaseContext(ctx->cryptProv, 0);
ctx->valid = 0;
return (ARCHIVE_OK);
}
#endif /* defined(ARCHIVE_CRYPTO_*_WIN) */
/* MD5 implementations */
#if defined(ARCHIVE_CRYPTO_MD5_LIBC)
static int
__archive_md5init(archive_md5_ctx *ctx)
{
MD5Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_md5update(archive_md5_ctx *ctx, const void *indata,
size_t insize)
{
MD5Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_md5final(archive_md5_ctx *ctx, void *md)
{
MD5Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_MD5_LIBMD)
static int
__archive_md5init(archive_md5_ctx *ctx)
{
MD5Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_md5update(archive_md5_ctx *ctx, const void *indata,
size_t insize)
{
MD5Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_md5final(archive_md5_ctx *ctx, void *md)
{
MD5Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_MD5_LIBSYSTEM)
static int
__archive_md5init(archive_md5_ctx *ctx)
{
CC_MD5_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_md5update(archive_md5_ctx *ctx, const void *indata,
size_t insize)
{
CC_MD5_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_md5final(archive_md5_ctx *ctx, void *md)
{
CC_MD5_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_MD5_MBEDTLS)
static int
__archive_md5init(archive_md5_ctx *ctx)
{
mbedtls_md5_init(ctx);
if (mbedtls_md5_starts_ret(ctx) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_md5update(archive_md5_ctx *ctx, const void *indata,
size_t insize)
{
if (mbedtls_md5_update_ret(ctx, indata, insize) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_md5final(archive_md5_ctx *ctx, void *md)
{
if (mbedtls_md5_finish_ret(ctx, md) == 0) {
mbedtls_md5_free(ctx);
return (ARCHIVE_OK);
} else {
mbedtls_md5_free(ctx);
return (ARCHIVE_FATAL);
}
}
#elif defined(ARCHIVE_CRYPTO_MD5_NETTLE)
static int
__archive_md5init(archive_md5_ctx *ctx)
{
md5_init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_md5update(archive_md5_ctx *ctx, const void *indata,
size_t insize)
{
md5_update(ctx, insize, indata);
return (ARCHIVE_OK);
}
static int
__archive_md5final(archive_md5_ctx *ctx, void *md)
{
md5_digest(ctx, MD5_DIGEST_SIZE, md);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_MD5_OPENSSL)
static int
__archive_md5init(archive_md5_ctx *ctx)
{
if ((*ctx = EVP_MD_CTX_new()) == NULL)
return (ARCHIVE_FAILED);
EVP_DigestInit(*ctx, EVP_md5());
return (ARCHIVE_OK);
}
static int
__archive_md5update(archive_md5_ctx *ctx, const void *indata,
size_t insize)
{
EVP_DigestUpdate(*ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_md5final(archive_md5_ctx *ctx, void *md)
{
/* HACK: archive_write_set_format_xar.c is finalizing empty contexts, so
* this is meant to cope with that. Real fix is probably to fix
* archive_write_set_format_xar.c
*/
if (*ctx) {
EVP_DigestFinal(*ctx, md, NULL);
EVP_MD_CTX_free(*ctx);
*ctx = NULL;
}
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_MD5_WIN)
static int
__archive_md5init(archive_md5_ctx *ctx)
{
return (win_crypto_init(ctx, CALG_MD5));
}
static int
__archive_md5update(archive_md5_ctx *ctx, const void *indata,
size_t insize)
{
return (win_crypto_Update(ctx, indata, insize));
}
static int
__archive_md5final(archive_md5_ctx *ctx, void *md)
{
return (win_crypto_Final(md, 16, ctx));
}
#else
static int
__archive_md5init(archive_md5_ctx *ctx)
{
(void)ctx; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_md5update(archive_md5_ctx *ctx, const void *indata,
size_t insize)
{
(void)ctx; /* UNUSED */
(void)indata; /* UNUSED */
(void)insize; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_md5final(archive_md5_ctx *ctx, void *md)
{
(void)ctx; /* UNUSED */
(void)md; /* UNUSED */
return (ARCHIVE_FAILED);
}
#endif
/* RIPEMD160 implementations */
#if defined(ARCHIVE_CRYPTO_RMD160_LIBC)
static int
__archive_ripemd160init(archive_rmd160_ctx *ctx)
{
RMD160Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata,
size_t insize)
{
RMD160Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_ripemd160final(archive_rmd160_ctx *ctx, void *md)
{
RMD160Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_RMD160_LIBMD)
static int
__archive_ripemd160init(archive_rmd160_ctx *ctx)
{
RIPEMD160_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata,
size_t insize)
{
RIPEMD160_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_ripemd160final(archive_rmd160_ctx *ctx, void *md)
{
RIPEMD160_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_RMD160_MBEDTLS)
static int
__archive_ripemd160init(archive_rmd160_ctx *ctx)
{
mbedtls_ripemd160_init(ctx);
if (mbedtls_ripemd160_starts_ret(ctx) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata,
size_t insize)
{
if (mbedtls_ripemd160_update_ret(ctx, indata, insize) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_ripemd160final(archive_rmd160_ctx *ctx, void *md)
{
if (mbedtls_ripemd160_finish_ret(ctx, md) == 0) {
mbedtls_ripemd160_free(ctx);
return (ARCHIVE_OK);
} else {
mbedtls_ripemd160_free(ctx);
return (ARCHIVE_FATAL);
}
}
#elif defined(ARCHIVE_CRYPTO_RMD160_NETTLE)
static int
__archive_ripemd160init(archive_rmd160_ctx *ctx)
{
ripemd160_init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata,
size_t insize)
{
ripemd160_update(ctx, insize, indata);
return (ARCHIVE_OK);
}
static int
__archive_ripemd160final(archive_rmd160_ctx *ctx, void *md)
{
ripemd160_digest(ctx, RIPEMD160_DIGEST_SIZE, md);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_RMD160_OPENSSL)
static int
__archive_ripemd160init(archive_rmd160_ctx *ctx)
{
if ((*ctx = EVP_MD_CTX_new()) == NULL)
return (ARCHIVE_FAILED);
EVP_DigestInit(*ctx, EVP_ripemd160());
return (ARCHIVE_OK);
}
static int
__archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata,
size_t insize)
{
EVP_DigestUpdate(*ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_ripemd160final(archive_rmd160_ctx *ctx, void *md)
{
if (*ctx) {
EVP_DigestFinal(*ctx, md, NULL);
EVP_MD_CTX_free(*ctx);
*ctx = NULL;
}
return (ARCHIVE_OK);
}
#else
static int
__archive_ripemd160init(archive_rmd160_ctx *ctx)
{
(void)ctx; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata,
size_t insize)
{
(void)ctx; /* UNUSED */
(void)indata; /* UNUSED */
(void)insize; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_ripemd160final(archive_rmd160_ctx *ctx, void *md)
{
(void)ctx; /* UNUSED */
(void)md; /* UNUSED */
return (ARCHIVE_FAILED);
}
#endif
/* SHA1 implementations */
#if defined(ARCHIVE_CRYPTO_SHA1_LIBC)
static int
__archive_sha1init(archive_sha1_ctx *ctx)
{
SHA1Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha1update(archive_sha1_ctx *ctx, const void *indata,
size_t insize)
{
SHA1Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha1final(archive_sha1_ctx *ctx, void *md)
{
SHA1Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA1_LIBMD)
static int
__archive_sha1init(archive_sha1_ctx *ctx)
{
SHA1_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha1update(archive_sha1_ctx *ctx, const void *indata,
size_t insize)
{
SHA1_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha1final(archive_sha1_ctx *ctx, void *md)
{
SHA1_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA1_LIBSYSTEM)
static int
__archive_sha1init(archive_sha1_ctx *ctx)
{
CC_SHA1_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha1update(archive_sha1_ctx *ctx, const void *indata,
size_t insize)
{
CC_SHA1_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha1final(archive_sha1_ctx *ctx, void *md)
{
CC_SHA1_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA1_MBEDTLS)
static int
__archive_sha1init(archive_sha1_ctx *ctx)
{
mbedtls_sha1_init(ctx);
if (mbedtls_sha1_starts_ret(ctx) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_sha1update(archive_sha1_ctx *ctx, const void *indata,
size_t insize)
{
if (mbedtls_sha1_update_ret(ctx, indata, insize) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_sha1final(archive_sha1_ctx *ctx, void *md)
{
if (mbedtls_sha1_finish_ret(ctx, md) == 0) {
mbedtls_sha1_free(ctx);
return (ARCHIVE_OK);
} else {
mbedtls_sha1_free(ctx);
return (ARCHIVE_FATAL);
}
}
#elif defined(ARCHIVE_CRYPTO_SHA1_NETTLE)
static int
__archive_sha1init(archive_sha1_ctx *ctx)
{
sha1_init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha1update(archive_sha1_ctx *ctx, const void *indata,
size_t insize)
{
sha1_update(ctx, insize, indata);
return (ARCHIVE_OK);
}
static int
__archive_sha1final(archive_sha1_ctx *ctx, void *md)
{
sha1_digest(ctx, SHA1_DIGEST_SIZE, md);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA1_OPENSSL)
static int
__archive_sha1init(archive_sha1_ctx *ctx)
{
if ((*ctx = EVP_MD_CTX_new()) == NULL)
return (ARCHIVE_FAILED);
EVP_DigestInit(*ctx, EVP_sha1());
return (ARCHIVE_OK);
}
static int
__archive_sha1update(archive_sha1_ctx *ctx, const void *indata,
size_t insize)
{
EVP_DigestUpdate(*ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha1final(archive_sha1_ctx *ctx, void *md)
{
/* HACK: archive_write_set_format_xar.c is finalizing empty contexts, so
* this is meant to cope with that. Real fix is probably to fix
* archive_write_set_format_xar.c
*/
if (*ctx) {
EVP_DigestFinal(*ctx, md, NULL);
EVP_MD_CTX_free(*ctx);
*ctx = NULL;
}
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA1_WIN)
static int
__archive_sha1init(archive_sha1_ctx *ctx)
{
return (win_crypto_init(ctx, CALG_SHA1));
}
static int
__archive_sha1update(archive_sha1_ctx *ctx, const void *indata,
size_t insize)
{
return (win_crypto_Update(ctx, indata, insize));
}
static int
__archive_sha1final(archive_sha1_ctx *ctx, void *md)
{
return (win_crypto_Final(md, 20, ctx));
}
#else
static int
__archive_sha1init(archive_sha1_ctx *ctx)
{
(void)ctx; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_sha1update(archive_sha1_ctx *ctx, const void *indata,
size_t insize)
{
(void)ctx; /* UNUSED */
(void)indata; /* UNUSED */
(void)insize; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_sha1final(archive_sha1_ctx *ctx, void *md)
{
(void)ctx; /* UNUSED */
(void)md; /* UNUSED */
return (ARCHIVE_FAILED);
}
#endif
/* SHA256 implementations */
#if defined(ARCHIVE_CRYPTO_SHA256_LIBC)
static int
__archive_sha256init(archive_sha256_ctx *ctx)
{
SHA256_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha256update(archive_sha256_ctx *ctx, const void *indata,
size_t insize)
{
SHA256_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha256final(archive_sha256_ctx *ctx, void *md)
{
SHA256_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA256_LIBC2)
static int
__archive_sha256init(archive_sha256_ctx *ctx)
{
SHA256Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha256update(archive_sha256_ctx *ctx, const void *indata,
size_t insize)
{
SHA256Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha256final(archive_sha256_ctx *ctx, void *md)
{
SHA256Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA256_LIBC3)
static int
__archive_sha256init(archive_sha256_ctx *ctx)
{
SHA256Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha256update(archive_sha256_ctx *ctx, const void *indata,
size_t insize)
{
SHA256Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha256final(archive_sha256_ctx *ctx, void *md)
{
SHA256Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA256_LIBMD)
static int
__archive_sha256init(archive_sha256_ctx *ctx)
{
SHA256_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha256update(archive_sha256_ctx *ctx, const void *indata,
size_t insize)
{
SHA256_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha256final(archive_sha256_ctx *ctx, void *md)
{
SHA256_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA256_LIBSYSTEM)
static int
__archive_sha256init(archive_sha256_ctx *ctx)
{
CC_SHA256_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha256update(archive_sha256_ctx *ctx, const void *indata,
size_t insize)
{
CC_SHA256_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha256final(archive_sha256_ctx *ctx, void *md)
{
CC_SHA256_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA256_MBEDTLS)
static int
__archive_sha256init(archive_sha256_ctx *ctx)
{
mbedtls_sha256_init(ctx);
if (mbedtls_sha256_starts_ret(ctx, 0) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_sha256update(archive_sha256_ctx *ctx, const void *indata,
size_t insize)
{
if (mbedtls_sha256_update_ret(ctx, indata, insize) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_sha256final(archive_sha256_ctx *ctx, void *md)
{
if (mbedtls_sha256_finish_ret(ctx, md) == 0) {
mbedtls_sha256_free(ctx);
return (ARCHIVE_OK);
} else {
mbedtls_sha256_free(ctx);
return (ARCHIVE_FATAL);
}
}
#elif defined(ARCHIVE_CRYPTO_SHA256_NETTLE)
static int
__archive_sha256init(archive_sha256_ctx *ctx)
{
sha256_init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha256update(archive_sha256_ctx *ctx, const void *indata,
size_t insize)
{
sha256_update(ctx, insize, indata);
return (ARCHIVE_OK);
}
static int
__archive_sha256final(archive_sha256_ctx *ctx, void *md)
{
sha256_digest(ctx, SHA256_DIGEST_SIZE, md);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA256_OPENSSL)
static int
__archive_sha256init(archive_sha256_ctx *ctx)
{
if ((*ctx = EVP_MD_CTX_new()) == NULL)
return (ARCHIVE_FAILED);
EVP_DigestInit(*ctx, EVP_sha256());
return (ARCHIVE_OK);
}
static int
__archive_sha256update(archive_sha256_ctx *ctx, const void *indata,
size_t insize)
{
EVP_DigestUpdate(*ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha256final(archive_sha256_ctx *ctx, void *md)
{
if (*ctx) {
EVP_DigestFinal(*ctx, md, NULL);
EVP_MD_CTX_free(*ctx);
*ctx = NULL;
}
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA256_WIN)
static int
__archive_sha256init(archive_sha256_ctx *ctx)
{
return (win_crypto_init(ctx, CALG_SHA_256));
}
static int
__archive_sha256update(archive_sha256_ctx *ctx, const void *indata,
size_t insize)
{
return (win_crypto_Update(ctx, indata, insize));
}
static int
__archive_sha256final(archive_sha256_ctx *ctx, void *md)
{
return (win_crypto_Final(md, 32, ctx));
}
#else
static int
__archive_sha256init(archive_sha256_ctx *ctx)
{
(void)ctx; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_sha256update(archive_sha256_ctx *ctx, const void *indata,
size_t insize)
{
(void)ctx; /* UNUSED */
(void)indata; /* UNUSED */
(void)insize; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_sha256final(archive_sha256_ctx *ctx, void *md)
{
(void)ctx; /* UNUSED */
(void)md; /* UNUSED */
return (ARCHIVE_FAILED);
}
#endif
/* SHA384 implementations */
#if defined(ARCHIVE_CRYPTO_SHA384_LIBC)
static int
__archive_sha384init(archive_sha384_ctx *ctx)
{
SHA384_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha384update(archive_sha384_ctx *ctx, const void *indata,
size_t insize)
{
SHA384_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha384final(archive_sha384_ctx *ctx, void *md)
{
SHA384_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA384_LIBC2)
static int
__archive_sha384init(archive_sha384_ctx *ctx)
{
SHA384Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha384update(archive_sha384_ctx *ctx, const void *indata,
size_t insize)
{
SHA384Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha384final(archive_sha384_ctx *ctx, void *md)
{
SHA384Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA384_LIBC3)
static int
__archive_sha384init(archive_sha384_ctx *ctx)
{
SHA384Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha384update(archive_sha384_ctx *ctx, const void *indata,
size_t insize)
{
SHA384Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha384final(archive_sha384_ctx *ctx, void *md)
{
SHA384Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA384_LIBSYSTEM)
static int
__archive_sha384init(archive_sha384_ctx *ctx)
{
CC_SHA384_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha384update(archive_sha384_ctx *ctx, const void *indata,
size_t insize)
{
CC_SHA384_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha384final(archive_sha384_ctx *ctx, void *md)
{
CC_SHA384_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA384_MBEDTLS)
static int
__archive_sha384init(archive_sha384_ctx *ctx)
{
mbedtls_sha512_init(ctx);
if (mbedtls_sha512_starts_ret(ctx, 1) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_sha384update(archive_sha384_ctx *ctx, const void *indata,
size_t insize)
{
if (mbedtls_sha512_update_ret(ctx, indata, insize) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_sha384final(archive_sha384_ctx *ctx, void *md)
{
if (mbedtls_sha512_finish_ret(ctx, md) == 0) {
mbedtls_sha512_free(ctx);
return (ARCHIVE_OK);
} else {
mbedtls_sha512_free(ctx);
return (ARCHIVE_FATAL);
}
}
#elif defined(ARCHIVE_CRYPTO_SHA384_NETTLE)
static int
__archive_sha384init(archive_sha384_ctx *ctx)
{
sha384_init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha384update(archive_sha384_ctx *ctx, const void *indata,
size_t insize)
{
sha384_update(ctx, insize, indata);
return (ARCHIVE_OK);
}
static int
__archive_sha384final(archive_sha384_ctx *ctx, void *md)
{
sha384_digest(ctx, SHA384_DIGEST_SIZE, md);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA384_OPENSSL)
static int
__archive_sha384init(archive_sha384_ctx *ctx)
{
if ((*ctx = EVP_MD_CTX_new()) == NULL)
return (ARCHIVE_FAILED);
EVP_DigestInit(*ctx, EVP_sha384());
return (ARCHIVE_OK);
}
static int
__archive_sha384update(archive_sha384_ctx *ctx, const void *indata,
size_t insize)
{
EVP_DigestUpdate(*ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha384final(archive_sha384_ctx *ctx, void *md)
{
if (*ctx) {
EVP_DigestFinal(*ctx, md, NULL);
EVP_MD_CTX_free(*ctx);
*ctx = NULL;
}
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA384_WIN)
static int
__archive_sha384init(archive_sha384_ctx *ctx)
{
return (win_crypto_init(ctx, CALG_SHA_384));
}
static int
__archive_sha384update(archive_sha384_ctx *ctx, const void *indata,
size_t insize)
{
return (win_crypto_Update(ctx, indata, insize));
}
static int
__archive_sha384final(archive_sha384_ctx *ctx, void *md)
{
return (win_crypto_Final(md, 48, ctx));
}
#else
static int
__archive_sha384init(archive_sha384_ctx *ctx)
{
(void)ctx; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_sha384update(archive_sha384_ctx *ctx, const void *indata,
size_t insize)
{
(void)ctx; /* UNUSED */
(void)indata; /* UNUSED */
(void)insize; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_sha384final(archive_sha384_ctx *ctx, void *md)
{
(void)ctx; /* UNUSED */
(void)md; /* UNUSED */
return (ARCHIVE_FAILED);
}
#endif
/* SHA512 implementations */
#if defined(ARCHIVE_CRYPTO_SHA512_LIBC)
static int
__archive_sha512init(archive_sha512_ctx *ctx)
{
SHA512_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha512update(archive_sha512_ctx *ctx, const void *indata,
size_t insize)
{
SHA512_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha512final(archive_sha512_ctx *ctx, void *md)
{
SHA512_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA512_LIBC2)
static int
__archive_sha512init(archive_sha512_ctx *ctx)
{
SHA512Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha512update(archive_sha512_ctx *ctx, const void *indata,
size_t insize)
{
SHA512Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha512final(archive_sha512_ctx *ctx, void *md)
{
SHA512Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA512_LIBC3)
static int
__archive_sha512init(archive_sha512_ctx *ctx)
{
SHA512Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha512update(archive_sha512_ctx *ctx, const void *indata,
size_t insize)
{
SHA512Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha512final(archive_sha512_ctx *ctx, void *md)
{
SHA512Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA512_LIBMD)
static int
__archive_sha512init(archive_sha512_ctx *ctx)
{
SHA512_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha512update(archive_sha512_ctx *ctx, const void *indata,
size_t insize)
{
SHA512_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha512final(archive_sha512_ctx *ctx, void *md)
{
SHA512_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA512_LIBSYSTEM)
static int
__archive_sha512init(archive_sha512_ctx *ctx)
{
CC_SHA512_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha512update(archive_sha512_ctx *ctx, const void *indata,
size_t insize)
{
CC_SHA512_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha512final(archive_sha512_ctx *ctx, void *md)
{
CC_SHA512_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA512_MBEDTLS)
static int
__archive_sha512init(archive_sha512_ctx *ctx)
{
mbedtls_sha512_init(ctx);
if (mbedtls_sha512_starts_ret(ctx, 0) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_sha512update(archive_sha512_ctx *ctx, const void *indata,
size_t insize)
{
if (mbedtls_sha512_update_ret(ctx, indata, insize) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_sha512final(archive_sha512_ctx *ctx, void *md)
{
if (mbedtls_sha512_finish_ret(ctx, md) == 0) {
mbedtls_sha512_free(ctx);
return (ARCHIVE_OK);
} else {
mbedtls_sha512_free(ctx);
return (ARCHIVE_FATAL);
}
}
#elif defined(ARCHIVE_CRYPTO_SHA512_NETTLE)
static int
__archive_sha512init(archive_sha512_ctx *ctx)
{
sha512_init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha512update(archive_sha512_ctx *ctx, const void *indata,
size_t insize)
{
sha512_update(ctx, insize, indata);
return (ARCHIVE_OK);
}
static int
__archive_sha512final(archive_sha512_ctx *ctx, void *md)
{
sha512_digest(ctx, SHA512_DIGEST_SIZE, md);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA512_OPENSSL)
static int
__archive_sha512init(archive_sha512_ctx *ctx)
{
if ((*ctx = EVP_MD_CTX_new()) == NULL)
return (ARCHIVE_FAILED);
EVP_DigestInit(*ctx, EVP_sha512());
return (ARCHIVE_OK);
}
static int
__archive_sha512update(archive_sha512_ctx *ctx, const void *indata,
size_t insize)
{
EVP_DigestUpdate(*ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha512final(archive_sha512_ctx *ctx, void *md)
{
if (*ctx) {
EVP_DigestFinal(*ctx, md, NULL);
EVP_MD_CTX_free(*ctx);
*ctx = NULL;
}
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA512_WIN)
static int
__archive_sha512init(archive_sha512_ctx *ctx)
{
return (win_crypto_init(ctx, CALG_SHA_512));
}
static int
__archive_sha512update(archive_sha512_ctx *ctx, const void *indata,
size_t insize)
{
return (win_crypto_Update(ctx, indata, insize));
}
static int
__archive_sha512final(archive_sha512_ctx *ctx, void *md)
{
return (win_crypto_Final(md, 64, ctx));
}
#else
static int
__archive_sha512init(archive_sha512_ctx *ctx)
{
(void)ctx; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_sha512update(archive_sha512_ctx *ctx, const void *indata,
size_t insize)
{
(void)ctx; /* UNUSED */
(void)indata; /* UNUSED */
(void)insize; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_sha512final(archive_sha512_ctx *ctx, void *md)
{
(void)ctx; /* UNUSED */
(void)md; /* UNUSED */
return (ARCHIVE_FAILED);
}
#endif
/* NOTE: Message Digest functions are set based on availability and by the
* following order of preference.
* 1. libc
* 2. libc2
* 3. libc3
* 4. libSystem
* 5. Nettle
* 6. OpenSSL
* 7. libmd
* 8. Windows API
*/
const struct archive_digest __archive_digest =
{
/* MD5 */
&__archive_md5init,
&__archive_md5update,
&__archive_md5final,
/* RIPEMD160 */
&__archive_ripemd160init,
&__archive_ripemd160update,
&__archive_ripemd160final,
/* SHA1 */
&__archive_sha1init,
&__archive_sha1update,
&__archive_sha1final,
/* SHA256 */
&__archive_sha256init,
&__archive_sha256update,
&__archive_sha256final,
/* SHA384 */
&__archive_sha384init,
&__archive_sha384update,
&__archive_sha384final,
/* SHA512 */
&__archive_sha512init,
&__archive_sha512update,
&__archive_sha512final
};
int
main(int argc, char **argv)
{
archive_sha256_ctx ctx;
archive_sha256_init(&ctx);
archive_sha256_update(&ctx, *argv, argc);
archive_sha256_final(&ctx, NULL);
return 0;
}
Checking support for ARCHIVE_CRYPTO_SHA384_LIBC2 failed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeTmp
Run Build Command(s):/bin/gmake -f Makefile cmTC_d43e4/fast && gmake -f CMakeFiles/cmTC_d43e4.dir/build.make CMakeFiles/cmTC_d43e4.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeTmp'
Building C object CMakeFiles/cmTC_d43e4.dir/check_crypto_md.c.o
/bin/gcc -I/usr/src/cmake-3.25.0 -I/usr/src/cmake-3.25.0/Utilities/cmlibarchive/libarchive -I/usr/src/cmake-3.25.0/CMakeFiles/CMakeTmp -I/usr/src/cmake-3.25.0/Utilities -w -std=gnu99 -o CMakeFiles/cmTC_d43e4.dir/check_crypto_md.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeTmp/check_crypto_md.c
In file included from /usr/src/cmake-3.25.0/CMakeFiles/CMakeTmp/check_crypto_md.c:1204:0:
/usr/src/cmake-3.25.0/Utilities/cmlibarchive/libarchive/archive_digest_private.h:81:18: fatal error: sha2.h: No such file or directory
#include <sha2.h>
^
compilation terminated.
gmake[1]: *** [CMakeFiles/cmTC_d43e4.dir/check_crypto_md.c.o] Error 1
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeTmp'
gmake: *** [cmTC_d43e4/fast] Error 2
Source file was:
/* config.h. Generated from build/cmake/config.h.in by cmake configure */
#define __LIBARCHIVE_CONFIG_H_INCLUDED 1
#if defined(__osf__)
# define _OSF_SOURCE
#endif
/*
* Ensure we have C99-style int64_t, etc, all defined.
*/
/* Define ZLIB_WINAPI if zlib was built on Visual Studio. */
/* #undef ZLIB_WINAPI */
/* Darwin ACL support */
/* #undef ARCHIVE_ACL_DARWIN */
/* FreeBSD ACL support */
/* #undef ARCHIVE_ACL_FREEBSD */
/* FreeBSD NFSv4 ACL support */
/* #undef ARCHIVE_ACL_FREEBSD_NFS4 */
/* Linux POSIX.1e ACL support via libacl */
/* #undef ARCHIVE_ACL_LIBACL */
/* Linux NFSv4 ACL support via librichacl */
/* #undef ARCHIVE_ACL_LIBRICHACL */
/* Solaris ACL support */
/* #undef ARCHIVE_ACL_SUNOS */
/* Solaris NFSv4 ACL support */
/* #undef ARCHIVE_ACL_SUNOS_NFS4 */
/* MD5 via ARCHIVE_CRYPTO_MD5_LIBC supported. */
/* #undef ARCHIVE_CRYPTO_MD5_LIBC */
/* MD5 via ARCHIVE_CRYPTO_MD5_LIBSYSTEM supported. */
/* #undef ARCHIVE_CRYPTO_MD5_LIBSYSTEM */
/* MD5 via ARCHIVE_CRYPTO_MD5_NETTLE supported. */
/* #undef ARCHIVE_CRYPTO_MD5_NETTLE */
/* MD5 via ARCHIVE_CRYPTO_MD5_OPENSSL supported. */
/* #undef ARCHIVE_CRYPTO_MD5_OPENSSL */
/* MD5 via ARCHIVE_CRYPTO_MD5_WIN supported. */
/* #undef ARCHIVE_CRYPTO_MD5_WIN */
/* RMD160 via ARCHIVE_CRYPTO_RMD160_LIBC supported. */
/* #undef ARCHIVE_CRYPTO_RMD160_LIBC */
/* RMD160 via ARCHIVE_CRYPTO_RMD160_NETTLE supported. */
/* #undef ARCHIVE_CRYPTO_RMD160_NETTLE */
/* RMD160 via ARCHIVE_CRYPTO_RMD160_OPENSSL supported. */
/* #undef ARCHIVE_CRYPTO_RMD160_OPENSSL */
/* SHA1 via ARCHIVE_CRYPTO_SHA1_LIBC supported. */
/* #undef ARCHIVE_CRYPTO_SHA1_LIBC */
/* SHA1 via ARCHIVE_CRYPTO_SHA1_LIBSYSTEM supported. */
/* #undef ARCHIVE_CRYPTO_SHA1_LIBSYSTEM */
/* SHA1 via ARCHIVE_CRYPTO_SHA1_NETTLE supported. */
/* #undef ARCHIVE_CRYPTO_SHA1_NETTLE */
/* SHA1 via ARCHIVE_CRYPTO_SHA1_OPENSSL supported. */
/* #undef ARCHIVE_CRYPTO_SHA1_OPENSSL */
/* SHA1 via ARCHIVE_CRYPTO_SHA1_WIN supported. */
/* #undef ARCHIVE_CRYPTO_SHA1_WIN */
/* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBC supported. */
/* #undef ARCHIVE_CRYPTO_SHA256_LIBC */
/* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBC2 supported. */
/* #undef ARCHIVE_CRYPTO_SHA256_LIBC2 */
/* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBC3 supported. */
/* #undef ARCHIVE_CRYPTO_SHA256_LIBC3 */
/* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBSYSTEM supported. */
/* #undef ARCHIVE_CRYPTO_SHA256_LIBSYSTEM */
/* SHA256 via ARCHIVE_CRYPTO_SHA256_NETTLE supported. */
/* #undef ARCHIVE_CRYPTO_SHA256_NETTLE */
/* SHA256 via ARCHIVE_CRYPTO_SHA256_OPENSSL supported. */
/* #undef ARCHIVE_CRYPTO_SHA256_OPENSSL */
/* SHA256 via ARCHIVE_CRYPTO_SHA256_WIN supported. */
/* #undef ARCHIVE_CRYPTO_SHA256_WIN */
/* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBC supported. */
/* #undef ARCHIVE_CRYPTO_SHA384_LIBC */
/* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBC2 supported. */
/* #undef ARCHIVE_CRYPTO_SHA384_LIBC2 */
/* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBC3 supported. */
/* #undef ARCHIVE_CRYPTO_SHA384_LIBC3 */
/* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBSYSTEM supported. */
/* #undef ARCHIVE_CRYPTO_SHA384_LIBSYSTEM */
/* SHA384 via ARCHIVE_CRYPTO_SHA384_NETTLE supported. */
/* #undef ARCHIVE_CRYPTO_SHA384_NETTLE */
/* SHA384 via ARCHIVE_CRYPTO_SHA384_OPENSSL supported. */
/* #undef ARCHIVE_CRYPTO_SHA384_OPENSSL */
/* SHA384 via ARCHIVE_CRYPTO_SHA384_WIN supported. */
/* #undef ARCHIVE_CRYPTO_SHA384_WIN */
/* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBC supported. */
/* #undef ARCHIVE_CRYPTO_SHA512_LIBC */
/* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBC2 supported. */
/* #undef ARCHIVE_CRYPTO_SHA512_LIBC2 */
/* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBC3 supported. */
/* #undef ARCHIVE_CRYPTO_SHA512_LIBC3 */
/* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBSYSTEM supported. */
/* #undef ARCHIVE_CRYPTO_SHA512_LIBSYSTEM */
/* SHA512 via ARCHIVE_CRYPTO_SHA512_NETTLE supported. */
/* #undef ARCHIVE_CRYPTO_SHA512_NETTLE */
/* SHA512 via ARCHIVE_CRYPTO_SHA512_OPENSSL supported. */
/* #undef ARCHIVE_CRYPTO_SHA512_OPENSSL */
/* SHA512 via ARCHIVE_CRYPTO_SHA512_WIN supported. */
/* #undef ARCHIVE_CRYPTO_SHA512_WIN */
/* AIX xattr support */
/* #undef ARCHIVE_XATTR_AIX */
/* Darwin xattr support */
/* #undef ARCHIVE_XATTR_DARWIN */
/* FreeBSD xattr support */
/* #undef ARCHIVE_XATTR_FREEBSD */
/* Linux xattr support */
/* #undef ARCHIVE_XATTR_LINUX */
/* Version number of bsdcpio */
#define BSDCPIO_VERSION_STRING "3.6.0"
/* Version number of bsdtar */
#define BSDTAR_VERSION_STRING "3.6.0"
/* Version number of bsdcat */
#define BSDCAT_VERSION_STRING "3.6.0"
/* Define to 1 if you have the `acl_create_entry' function. */
/* #undef HAVE_ACL_CREATE_ENTRY */
/* Define to 1 if you have the `acl_get_fd_np' function. */
/* #undef HAVE_ACL_GET_FD_NP */
/* Define to 1 if you have the `acl_get_link' function. */
/* #undef HAVE_ACL_GET_LINK */
/* Define to 1 if you have the `acl_get_link_np' function. */
/* #undef HAVE_ACL_GET_LINK_NP */
/* Define to 1 if you have the `acl_get_perm' function. */
/* #undef HAVE_ACL_GET_PERM */
/* Define to 1 if you have the `acl_get_perm_np' function. */
/* #undef HAVE_ACL_GET_PERM_NP */
/* Define to 1 if you have the `acl_init' function. */
/* #undef HAVE_ACL_INIT */
/* Define to 1 if you have the <acl/libacl.h> header file. */
/* #undef HAVE_ACL_LIBACL_H */
/* Define to 1 if the system has the type `acl_permset_t'. */
/* #undef HAVE_ACL_PERMSET_T */
/* Define to 1 if you have the `acl_set_fd' function. */
/* #undef HAVE_ACL_SET_FD */
/* Define to 1 if you have the `acl_set_fd_np' function. */
/* #undef HAVE_ACL_SET_FD_NP */
/* Define to 1 if you have the `acl_set_file' function. */
/* #undef HAVE_ACL_SET_FILE */
/* Define to 1 if you have the `arc4random_buf' function. */
/* #undef HAVE_ARC4RANDOM_BUF */
/* Define to 1 if you have the <attr/xattr.h> header file. */
/* #undef HAVE_ATTR_XATTR_H */
/* Define to 1 if you have the <Bcrypt.h> header file. */
/* #undef HAVE_BCRYPT_H */
/* Define to 1 if you have the <bsdxml.h> header file. */
/* #undef HAVE_BSDXML_H */
/* Define to 1 if you have the <bzlib.h> header file. */
#define HAVE_BZLIB_H 1
/* Define to 1 if you have the `chflags' function. */
/* #undef HAVE_CHFLAGS */
/* Define to 1 if you have the `chown' function. */
#define HAVE_CHOWN 1
/* Define to 1 if you have the `chroot' function. */
#define HAVE_CHROOT 1
/* Define to 1 if you have the <copyfile.h> header file. */
/* #undef HAVE_COPYFILE_H */
/* Define to 1 if you have the `ctime_r' function. */
#define HAVE_CTIME_R 1
/* Define to 1 if you have the <ctype.h> header file. */
#define HAVE_CTYPE_H 1
/* Define to 1 if you have the `cygwin_conv_path' function. */
/* #undef HAVE_CYGWIN_CONV_PATH */
/* Define to 1 if you have the declaration of `ACE_GETACL', and to 0 if you
don't. */
/* #undef HAVE_DECL_ACE_GETACL */
/* Define to 1 if you have the declaration of `ACE_GETACLCNT', and to 0 if you
don't. */
/* #undef HAVE_DECL_ACE_GETACLCNT */
/* Define to 1 if you have the declaration of `ACE_SETACL', and to 0 if you
don't. */
/* #undef HAVE_DECL_ACE_SETACL */
/* Define to 1 if you have the declaration of `ACL_SYNCHRONIZE', and to 0 if
you don't. */
/* #undef HAVE_DECL_ACL_SYNCHRONIZE */
/* Define to 1 if you have the declaration of `ACL_TYPE_EXTENDED', and to 0 if
you don't. */
/* #undef HAVE_DECL_ACL_TYPE_EXTENDED */
/* Define to 1 if you have the declaration of `ACL_TYPE_NFS4', and to 0 if you
don't. */
/* #undef HAVE_DECL_ACL_TYPE_NFS4 */
/* Define to 1 if you have the declaration of `ACL_USER', and to 0 if you
don't. */
/* #undef HAVE_DECL_ACL_USER */
/* Define to 1 if you have the declaration of `SETACL', and to 0 if you don't.
*/
/* #undef HAVE_DECL_SETACL */
/* Define to 1 if you have the declaration of `strerror_r', and to 0 if you
don't. */
#define HAVE_DECL_STRERROR_R 1
/* Define to 1 if you have the declaration of `XATTR_NOFOLLOW', and to 0 if
you don't. */
/* #undef HAVE_DECL_XATTR_NOFOLLOW */
/* Define to 1 if you have the <direct.h> header file. */
/* #undef HAVE_DIRECT_H */
/* Define to 1 if you have the <dirent.h> header file, and it defines `DIR'.
*/
#define HAVE_DIRENT_H 1
/* Define to 1 if you have the `dirfd' function. */
#define HAVE_DIRFD 1
/* Define to 1 if you have the <dlfcn.h> header file. */
#define HAVE_DLFCN_H 1
/* Define to 1 if you don't have `vprintf' but do have `_doprnt.' */
/* #undef HAVE_DOPRNT */
/* Define to 1 if nl_langinfo supports D_MD_ORDER */
/* #undef HAVE_D_MD_ORDER */
/* A possible errno value for invalid file format errors */
/* #undef HAVE_EFTYPE */
/* A possible errno value for invalid file format errors */
#define HAVE_EILSEQ 1
/* Define to 1 if you have the <errno.h> header file. */
#define HAVE_ERRNO_H 1
/* Define to 1 if you have the <expat.h> header file. */
/* #undef HAVE_EXPAT_H */
/* Define to 1 if you have the <ext2fs/ext2_fs.h> header file. */
#define HAVE_EXT2FS_EXT2_FS_H 1
/* Define to 1 if you have the `extattr_get_file' function. */
/* #undef HAVE_EXTATTR_GET_FILE */
/* Define to 1 if you have the `extattr_list_file' function. */
/* #undef HAVE_EXTATTR_LIST_FILE */
/* Define to 1 if you have the `extattr_set_fd' function. */
/* #undef HAVE_EXTATTR_SET_FD */
/* Define to 1 if you have the `extattr_set_file' function. */
/* #undef HAVE_EXTATTR_SET_FILE */
/* Define to 1 if EXTATTR_NAMESPACE_USER is defined in sys/extattr.h. */
/* #undef HAVE_DECL_EXTATTR_NAMESPACE_USER */
/* Define to 1 if you have the declaration of `GETACL', and to 0 if you don't.
*/
/* #undef HAVE_DECL_GETACL */
/* Define to 1 if you have the declaration of `GETACLCNT', and to 0 if you
don't. */
/* #undef HAVE_DECL_GETACLCNT */
/* Define to 1 if you have the `fchdir' function. */
#define HAVE_FCHDIR 1
/* Define to 1 if you have the `fchflags' function. */
/* #undef HAVE_FCHFLAGS */
/* Define to 1 if you have the `fchmod' function. */
#define HAVE_FCHMOD 1
/* Define to 1 if you have the `fchown' function. */
#define HAVE_FCHOWN 1
/* Define to 1 if you have the `fcntl' function. */
#define HAVE_FCNTL 1
/* Define to 1 if you have the <fcntl.h> header file. */
#define HAVE_FCNTL_H 1
/* Define to 1 if you have the `fdopendir' function. */
#define HAVE_FDOPENDIR 1
/* Define to 1 if you have the `fgetea' function. */
/* #undef HAVE_FGETEA */
/* Define to 1 if you have the `fgetxattr' function. */
/* #undef HAVE_FGETXATTR */
/* Define to 1 if you have the `flistea' function. */
/* #undef HAVE_FLISTEA */
/* Define to 1 if you have the `flistxattr' function. */
/* #undef HAVE_FLISTXATTR */
/* Define to 1 if you have the `fork' function. */
#define HAVE_FORK 1
/* Define to 1 if fseeko (and presumably ftello) exists and is declared. */
#define HAVE_FSEEKO 1
/* Define to 1 if you have the `fsetea' function. */
/* #undef HAVE_FSETEA */
/* Define to 1 if you have the `fsetxattr' function. */
#define HAVE_FSETXATTR 1
/* Define to 1 if you have the `fstat' function. */
#define HAVE_FSTAT 1
/* Define to 1 if you have the `fstatat' function. */
#define HAVE_FSTATAT 1
/* Define to 1 if you have the `fstatfs' function. */
#define HAVE_FSTATFS 1
/* Define to 1 if you have the `fstatvfs' function. */
#define HAVE_FSTATVFS 1
/* Define to 1 if you have the `ftruncate' function. */
#define HAVE_FTRUNCATE 1
/* Define to 1 if you have the `futimens' function. */
#define HAVE_FUTIMENS 1
/* Define to 1 if you have the `futimes' function. */
#define HAVE_FUTIMES 1
/* Define to 1 if you have the `futimesat' function. */
#define HAVE_FUTIMESAT 1
/* Define to 1 if you have the `getea' function. */
/* #undef HAVE_GETEA */
/* Define to 1 if you have the `geteuid' function. */
#define HAVE_GETEUID 1
/* Define to 1 if you have the `getgrgid_r' function. */
#define HAVE_GETGRGID_R 1
/* Define to 1 if you have the `getgrnam_r' function. */
#define HAVE_GETGRNAM_R 1
/* Define to 1 if you have the `getpid' function. */
#define HAVE_GETPID 1
/* Define to 1 if you have the `getpwnam_r' function. */
#define HAVE_GETPWNAM_R 1
/* Define to 1 if you have the `getpwuid_r' function. */
#define HAVE_GETPWUID_R 1
/* Define to 1 if you have the `getvfsbyname' function. */
/* #undef HAVE_GETVFSBYNAME */
/* Define to 1 if you have the `getxattr' function. */
/* #undef HAVE_GETXATTR */
/* Define to 1 if you have the `gmtime_r' function. */
#define HAVE_GMTIME_R 1
/* Define to 1 if you have the <grp.h> header file. */
#define HAVE_GRP_H 1
/* Define to 1 if you have the `iconv' function. */
/* #undef HAVE_ICONV */
/* Define to 1 if you have the <iconv.h> header file. */
/* #undef HAVE_ICONV_H */
/* Define to 1 if you have the <io.h> header file. */
/* #undef HAVE_IO_H */
/* Define to 1 if you have the <langinfo.h> header file. */
#define HAVE_LANGINFO_H 1
/* Define to 1 if you have the `lchflags' function. */
/* #undef HAVE_LCHFLAGS */
/* Define to 1 if you have the `lchmod' function. */
/* #undef HAVE_LCHMOD */
/* Define to 1 if you have the `lchown' function. */
#define HAVE_LCHOWN 1
/* Define to 1 if you have the `lgetea' function. */
/* #undef HAVE_LGETEA */
/* Define to 1 if you have the `lgetxattr' function. */
/* #undef HAVE_LGETXATTR */
/* Define to 1 if you have the `acl' library (-lacl). */
/* #undef HAVE_LIBACL */
/* Define to 1 if you have the `attr' library (-lattr). */
/* #undef HAVE_LIBATTR */
/* Define to 1 if you have the `bsdxml' library (-lbsdxml). */
/* #undef HAVE_LIBBSDXML */
/* Define to 1 if you have the `bz2' library (-lbz2). */
#define HAVE_LIBBZ2 1
/* Define to 1 if you have the `b2' library (-lb2). */
/* #undef HAVE_LIBB2 */
/* Define to 1 if you have the <blake2.h> header file. */
/* #undef HAVE_BLAKE2_H */
/* Define to 1 if you have the `charset' library (-lcharset). */
/* #undef HAVE_LIBCHARSET */
/* Define to 1 if you have the `crypto' library (-lcrypto). */
#define HAVE_LIBCRYPTO 1
/* Define to 1 if you have the `expat' library (-lexpat). */
/* #undef HAVE_LIBEXPAT */
/* Define to 1 if you have the `gcc' library (-lgcc). */
/* #undef HAVE_LIBGCC */
/* Define to 1 if you have the `lz4' library (-llz4). */
/* #undef HAVE_LIBLZ4 */
/* Define to 1 if you have the `lzma' library (-llzma). */
#define HAVE_LIBLZMA 1
/* Define to 1 if you have the `lzmadec' library (-llzmadec). */
/* #undef HAVE_LIBLZMADEC */
/* Define to 1 if you have the `lzo2' library (-llzo2). */
/* #undef HAVE_LIBLZO2 */
/* Define to 1 if you have the `mbedcrypto' library (-lmbedcrypto). */
/* #undef HAVE_LIBMBEDCRYPTO */
/* Define to 1 if you have the `nettle' library (-lnettle). */
/* #undef HAVE_LIBNETTLE */
/* Define to 1 if you have the `pcre' library (-lpcre). */
/* #undef HAVE_LIBPCRE */
/* Define to 1 if you have the `pcreposix' library (-lpcreposix). */
/* #undef HAVE_LIBPCREPOSIX */
/* Define to 1 if you have the `xml2' library (-lxml2). */
/* #undef HAVE_LIBXML2 */
/* Define to 1 if you have the <libxml/xmlreader.h> header file. */
/* #undef HAVE_LIBXML_XMLREADER_H */
/* Define to 1 if you have the <libxml/xmlwriter.h> header file. */
/* #undef HAVE_LIBXML_XMLWRITER_H */
/* Define to 1 if you have the `z' library (-lz). */
#define HAVE_LIBZ 1
/* Define to 1 if you have the `zstd' library (-lzstd). */
#define HAVE_LIBZSTD 1
/* Define to 1 if you have the `zstd' library (-lzstd) with compression
support. */
#define HAVE_LIBZSTD_COMPRESSOR 1
/* Define to 1 if you have the <limits.h> header file. */
#define HAVE_LIMITS_H 1
/* Define to 1 if you have the `link' function. */
#define HAVE_LINK 1
/* Define to 1 if you have the `linkat' function. */
#define HAVE_LINKAT 1
/* Define to 1 if you have the <linux/fiemap.h> header file. */
#define HAVE_LINUX_FIEMAP_H 1
/* Define to 1 if you have the <linux/fs.h> header file. */
#define HAVE_LINUX_FS_H 1
/* Define to 1 if you have the <linux/magic.h> header file. */
#define HAVE_LINUX_MAGIC_H 1
/* Define to 1 if you have the <linux/types.h> header file. */
#define HAVE_LINUX_TYPES_H 1
/* Define to 1 if you have the `listea' function. */
/* #undef HAVE_LISTEA */
/* Define to 1 if you have the `listxattr' function. */
/* #undef HAVE_LISTXATTR */
/* Define to 1 if you have the `llistea' function. */
/* #undef HAVE_LLISTEA */
/* Define to 1 if you have the `llistxattr' function. */
/* #undef HAVE_LLISTXATTR */
/* Define to 1 if you have the <localcharset.h> header file. */
/* #undef HAVE_LOCALCHARSET_H */
/* Define to 1 if you have the `locale_charset' function. */
/* #undef HAVE_LOCALE_CHARSET */
/* Define to 1 if you have the <locale.h> header file. */
#define HAVE_LOCALE_H 1
/* Define to 1 if you have the `localtime_r' function. */
#define HAVE_LOCALTIME_R 1
/* Define to 1 if the system has the type `long long int'. */
/* #undef HAVE_LONG_LONG_INT */
/* Define to 1 if you have the `lsetea' function. */
/* #undef HAVE_LSETEA */
/* Define to 1 if you have the `lsetxattr' function. */
/* #undef HAVE_LSETXATTR */
/* Define to 1 if you have the `lstat' function. */
#define HAVE_LSTAT 1
/* Define to 1 if `lstat' has the bug that it succeeds when given the
zero-length file name argument. */
/* #undef HAVE_LSTAT_EMPTY_STRING_BUG */
/* Define to 1 if you have the `lutimes' function. */
#define HAVE_LUTIMES 1
/* Define to 1 if you have the <lz4hc.h> header file. */
/* #undef HAVE_LZ4HC_H */
/* Define to 1 if you have the <lz4.h> header file. */
/* #undef HAVE_LZ4_H */
/* Define to 1 if you have the <lzmadec.h> header file. */
/* #undef HAVE_LZMADEC_H */
/* Define to 1 if you have the <lzma.h> header file. */
#define HAVE_LZMA_H 1
/* Define to 1 if you have a working `lzma_stream_encoder_mt' function. */
#define HAVE_LZMA_STREAM_ENCODER_MT 1
/* Define to 1 if you have the <lzo/lzo1x.h> header file. */
/* #undef HAVE_LZO_LZO1X_H */
/* Define to 1 if you have the <lzo/lzoconf.h> header file. */
/* #undef HAVE_LZO_LZOCONF_H */
/* Define to 1 if you have the `mbrtowc' function. */
#define HAVE_MBRTOWC 1
/* Define to 1 if you have the <membership.h> header file. */
/* #undef HAVE_MEMBERSHIP_H */
/* Define to 1 if you have the `memmove' function. */
#define HAVE_MEMMOVE 1
/* Define to 1 if you have the <memory.h> header file. */
#define HAVE_MEMORY_H 1
/* Define to 1 if you have the `mkdir' function. */
#define HAVE_MKDIR 1
/* Define to 1 if you have the `mkfifo' function. */
#define HAVE_MKFIFO 1
/* Define to 1 if you have the `mknod' function. */
#define HAVE_MKNOD 1
/* Define to 1 if you have the `mkstemp' function. */
#define HAVE_MKSTEMP 1
/* Define to 1 if you have the <ndir.h> header file, and it defines `DIR'. */
/* #undef HAVE_NDIR_H */
/* Define to 1 if you have the <nettle/aes.h> header file. */
/* #undef HAVE_NETTLE_AES_H */
/* Define to 1 if you have the <nettle/hmac.h> header file. */
/* #undef HAVE_NETTLE_HMAC_H */
/* Define to 1 if you have the <nettle/md5.h> header file. */
/* #undef HAVE_NETTLE_MD5_H */
/* Define to 1 if you have the <nettle/pbkdf2.h> header file. */
/* #undef HAVE_NETTLE_PBKDF2_H */
/* Define to 1 if you have the <nettle/ripemd160.h> header file. */
/* #undef HAVE_NETTLE_RIPEMD160_H */
/* Define to 1 if you have the <nettle/sha.h> header file. */
/* #undef HAVE_NETTLE_SHA_H */
/* Define to 1 if you have the `nl_langinfo' function. */
#define HAVE_NL_LANGINFO 1
/* Define to 1 if you have the `openat' function. */
#define HAVE_OPENAT 1
/* Define to 1 if you have the <paths.h> header file. */
#define HAVE_PATHS_H 1
/* Define to 1 if you have the <pcreposix.h> header file. */
/* #undef HAVE_PCREPOSIX_H */
/* Define to 1 if you have the `pipe' function. */
#define HAVE_PIPE 1
/* Define to 1 if you have the `PKCS5_PBKDF2_HMAC_SHA1' function. */
/* #undef HAVE_PKCS5_PBKDF2_HMAC_SHA1 */
/* Define to 1 if you have the `poll' function. */
#define HAVE_POLL 1
/* Define to 1 if you have the <poll.h> header file. */
#define HAVE_POLL_H 1
/* Define to 1 if you have the `posix_spawnp' function. */
#define HAVE_POSIX_SPAWNP 1
/* Define to 1 if you have the <process.h> header file. */
/* #undef HAVE_PROCESS_H */
/* Define to 1 if you have the <pthread.h> header file. */
#define HAVE_PTHREAD_H 1
/* Define to 1 if you have the <pwd.h> header file. */
#define HAVE_PWD_H 1
/* Define to 1 if you have the `readdir_r' function. */
#define HAVE_READDIR_R 1
/* Define to 1 if you have the `readlink' function. */
#define HAVE_READLINK 1
/* Define to 1 if you have the `readlinkat' function. */
/* #undef HAVE_READLINKAT */
/* Define to 1 if you have the `readpassphrase' function. */
/* #undef HAVE_READPASSPHRASE */
/* Define to 1 if you have the <readpassphrase.h> header file. */
/* #undef HAVE_READPASSPHRASE_H */
/* Define to 1 if you have the <regex.h> header file. */
#define HAVE_REGEX_H 1
/* Define to 1 if you have the `select' function. */
#define HAVE_SELECT 1
/* Define to 1 if you have the `setenv' function. */
#define HAVE_SETENV 1
/* Define to 1 if you have the `setlocale' function. */
#define HAVE_SETLOCALE 1
/* Define to 1 if you have the `sigaction' function. */
#define HAVE_SIGACTION 1
/* Define to 1 if you have the <signal.h> header file. */
#define HAVE_SIGNAL_H 1
/* Define to 1 if you have the <spawn.h> header file. */
#define HAVE_SPAWN_H 1
/* Define to 1 if you have the `statfs' function. */
#define HAVE_STATFS 1
/* Define to 1 if you have the `statvfs' function. */
#define HAVE_STATVFS 1
/* Define to 1 if `stat' has the bug that it succeeds when given the
zero-length file name argument. */
/* #undef HAVE_STAT_EMPTY_STRING_BUG */
/* Define to 1 if you have the <stdarg.h> header file. */
#define HAVE_STDARG_H 1
/* Define to 1 if you have the <stdlib.h> header file. */
#define HAVE_STDLIB_H 1
/* Define to 1 if you have the `strchr' function. */
#define HAVE_STRCHR 1
/* Define to 1 if you have the `strnlen' function. */
#define HAVE_STRNLEN 1
/* Define to 1 if you have the `strdup' function. */
#define HAVE_STRDUP 1
/* Define to 1 if you have the `strerror' function. */
#define HAVE_STRERROR 1
/* Define to 1 if you have the `strerror_r' function. */
#define HAVE_STRERROR_R 1
/* Define to 1 if you have the `strftime' function. */
#define HAVE_STRFTIME 1
/* Define to 1 if you have the <strings.h> header file. */
#define HAVE_STRINGS_H 1
/* Define to 1 if you have the <string.h> header file. */
#define HAVE_STRING_H 1
/* Define to 1 if you have the `strrchr' function. */
#define HAVE_STRRCHR 1
/* Define to 1 if `f_namemax' is a member of `struct statfs'. */
/* #undef HAVE_STRUCT_STATFS_F_NAMEMAX */
/* Define to 1 if `f_iosize' is a member of `struct statvfs'. */
/* #undef HAVE_STRUCT_STATVFS_F_IOSIZE */
/* Define to 1 if `st_birthtime' is a member of `struct stat'. */
/* #undef HAVE_STRUCT_STAT_ST_BIRTHTIME */
/* Define to 1 if `st_birthtimespec.tv_nsec' is a member of `struct stat'. */
/* #undef HAVE_STRUCT_STAT_ST_BIRTHTIMESPEC_TV_NSEC */
/* Define to 1 if `st_blksize' is a member of `struct stat'. */
#define HAVE_STRUCT_STAT_ST_BLKSIZE 1
/* Define to 1 if `st_flags' is a member of `struct stat'. */
/* #undef HAVE_STRUCT_STAT_ST_FLAGS */
/* Define to 1 if `st_mtimespec.tv_nsec' is a member of `struct stat'. */
/* #undef HAVE_STRUCT_STAT_ST_MTIMESPEC_TV_NSEC */
/* Define to 1 if `st_mtime_n' is a member of `struct stat'. */
/* #undef HAVE_STRUCT_STAT_ST_MTIME_N */
/* Define to 1 if `st_mtime_usec' is a member of `struct stat'. */
/* #undef HAVE_STRUCT_STAT_ST_MTIME_USEC */
/* Define to 1 if `st_mtim.tv_nsec' is a member of `struct stat'. */
#define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1
/* Define to 1 if `st_umtime' is a member of `struct stat'. */
/* #undef HAVE_STRUCT_STAT_ST_UMTIME */
/* Define to 1 if `tm_gmtoff' is a member of `struct tm'. */
#define HAVE_STRUCT_TM_TM_GMTOFF 1
/* Define to 1 if `__tm_gmtoff' is a member of `struct tm'. */
/* #undef HAVE_STRUCT_TM___TM_GMTOFF */
/* Define to 1 if you have `struct vfsconf'. */
/* #undef HAVE_STRUCT_VFSCONF */
/* Define to 1 if you have `struct xvfsconf'. */
/* #undef HAVE_STRUCT_XVFSCONF */
/* Define to 1 if you have the `symlink' function. */
#define HAVE_SYMLINK 1
/* Define to 1 if you have the <sys/acl.h> header file. */
/* #undef HAVE_SYS_ACL_H */
/* Define to 1 if you have the <sys/cdefs.h> header file. */
#define HAVE_SYS_CDEFS_H 1
/* Define to 1 if you have the <sys/dir.h> header file, and it defines `DIR'.
*/
/* #undef HAVE_SYS_DIR_H */
/* Define to 1 if you have the <sys/ea.h> header file. */
/* #undef HAVE_SYS_EA_H */
/* Define to 1 if you have the <sys/extattr.h> header file. */
/* #undef HAVE_SYS_EXTATTR_H */
/* Define to 1 if you have the <sys/ioctl.h> header file. */
#define HAVE_SYS_IOCTL_H 1
/* Define to 1 if you have the <sys/mkdev.h> header file. */
/* #undef HAVE_SYS_MKDEV_H */
/* Define to 1 if you have the <sys/mount.h> header file. */
/* #undef HAVE_SYS_MOUNT_H */
/* Define to 1 if you have the <sys/ndir.h> header file, and it defines `DIR'.
*/
/* #undef HAVE_SYS_NDIR_H */
/* Define to 1 if you have the <sys/param.h> header file. */
#define HAVE_SYS_PARAM_H 1
/* Define to 1 if you have the <sys/poll.h> header file. */
#define HAVE_SYS_POLL_H 1
/* Define to 1 if you have the <sys/richacl.h> header file. */
/* #undef HAVE_SYS_RICHACL_H */
/* Define to 1 if you have the <sys/select.h> header file. */
#define HAVE_SYS_SELECT_H 1
/* Define to 1 if you have the <sys/statfs.h> header file. */
#define HAVE_SYS_STATFS_H 1
/* Define to 1 if you have the <sys/statvfs.h> header file. */
#define HAVE_SYS_STATVFS_H 1
/* Define to 1 if you have the <sys/stat.h> header file. */
#define HAVE_SYS_STAT_H 1
/* Define to 1 if you have the <sys/sysmacros.h> header file. */
#define HAVE_SYS_SYSMACROS_H 1
/* Define to 1 if you have the <sys/time.h> header file. */
#define HAVE_SYS_TIME_H 1
/* Define to 1 if you have the <sys/types.h> header file. */
#define HAVE_SYS_TYPES_H 1
/* Define to 1 if you have the <sys/utime.h> header file. */
/* #undef HAVE_SYS_UTIME_H */
/* Define to 1 if you have the <sys/utsname.h> header file. */
#define HAVE_SYS_UTSNAME_H 1
/* Define to 1 if you have the <sys/vfs.h> header file. */
#define HAVE_SYS_VFS_H 1
/* Define to 1 if you have <sys/wait.h> that is POSIX.1 compatible. */
#define HAVE_SYS_WAIT_H 1
/* Define to 1 if you have the <sys/xattr.h> header file. */
#define HAVE_SYS_XATTR_H 1
/* Define to 1 if you have the `timegm' function. */
#define HAVE_TIMEGM 1
/* Define to 1 if you have the <time.h> header file. */
#define HAVE_TIME_H 1
/* Define to 1 if you have the `tzset' function. */
#define HAVE_TZSET 1
/* Define to 1 if you have the <unistd.h> header file. */
#define HAVE_UNISTD_H 1
/* Define to 1 if you have the `unlinkat' function. */
#define HAVE_UNLINKAT 1
/* Define to 1 if you have the `unsetenv' function. */
#define HAVE_UNSETENV 1
/* Define to 1 if the system has the type `unsigned long long'. */
/* #undef HAVE_UNSIGNED_LONG_LONG */
/* Define to 1 if the system has the type `unsigned long long int'. */
/* #undef HAVE_UNSIGNED_LONG_LONG_INT */
/* Define to 1 if you have the `utime' function. */
#define HAVE_UTIME 1
/* Define to 1 if you have the `utimensat' function. */
#define HAVE_UTIMENSAT 1
/* Define to 1 if you have the `utimes' function. */
#define HAVE_UTIMES 1
/* Define to 1 if you have the <utime.h> header file. */
#define HAVE_UTIME_H 1
/* Define to 1 if you have the `vfork' function. */
#define HAVE_VFORK 1
/* Define to 1 if you have the `vprintf' function. */
#define HAVE_VPRINTF 1
/* Define to 1 if you have the <wchar.h> header file. */
#define HAVE_WCHAR_H 1
/* Define to 1 if the system has the type `wchar_t'. */
#define HAVE_WCHAR_T 1
/* Define to 1 if you have the `wcrtomb' function. */
#define HAVE_WCRTOMB 1
/* Define to 1 if you have the `wcscmp' function. */
#define HAVE_WCSCMP 1
/* Define to 1 if you have the `wcscpy' function. */
#define HAVE_WCSCPY 1
/* Define to 1 if you have the `wcslen' function. */
#define HAVE_WCSLEN 1
/* Define to 1 if you have the `wctomb' function. */
#define HAVE_WCTOMB 1
/* Define to 1 if you have the <wctype.h> header file. */
#define HAVE_WCTYPE_H 1
/* Define to 1 if you have the <wincrypt.h> header file. */
/* #undef HAVE_WINCRYPT_H */
/* Define to 1 if you have the <windows.h> header file. */
/* #undef HAVE_WINDOWS_H */
/* Define to 1 if you have the <winioctl.h> header file. */
/* #undef HAVE_WINIOCTL_H */
/* Define to 1 if you have _CrtSetReportMode in <crtdbg.h> */
/* #undef HAVE__CrtSetReportMode */
/* Define to 1 if you have the `wmemcmp' function. */
#define HAVE_WMEMCMP 1
/* Define to 1 if you have the `wmemcpy' function. */
#define HAVE_WMEMCPY 1
/* Define to 1 if you have the `wmemmove' function. */
#define HAVE_WMEMMOVE 1
/* Define to 1 if you have a working EXT2_IOC_GETFLAGS */
#define HAVE_WORKING_EXT2_IOC_GETFLAGS 1
/* Define to 1 if you have a working FS_IOC_GETFLAGS */
#define HAVE_WORKING_FS_IOC_GETFLAGS 1
/* Define to 1 if you have the <zlib.h> header file. */
#define HAVE_ZLIB_H 1
/* Define to 1 if you have the <zstd.h> header file. */
#define HAVE_ZSTD_H 1
/* Define to 1 if you have the `_ctime64_s' function. */
/* #undef HAVE__CTIME64_S */
/* Define to 1 if you have the `_fseeki64' function. */
/* #undef HAVE__FSEEKI64 */
/* Define to 1 if you have the `_get_timezone' function. */
/* #undef HAVE__GET_TIMEZONE */
/* Define to 1 if you have the `_gmtime64_s' function. */
/* #undef HAVE__GMTIME64_S */
/* Define to 1 if you have the `_localtime64_s' function. */
/* #undef HAVE__LOCALTIME64_S */
/* Define to 1 if you have the `_mkgmtime64' function. */
/* #undef HAVE__MKGMTIME64 */
/* Define as const if the declaration of iconv() needs const. */
#define ICONV_CONST
/* Version number of libarchive as a single integer */
#define LIBARCHIVE_VERSION_NUMBER "3006000"
/* Version number of libarchive */
#define LIBARCHIVE_VERSION_STRING "3.6.0"
/* Define to 1 if `lstat' dereferences a symlink specified with a trailing
slash. */
/* #undef LSTAT_FOLLOWS_SLASHED_SYMLINK */
/* Define to 1 if `major', `minor', and `makedev' are declared in <mkdev.h>.
*/
/* #undef MAJOR_IN_MKDEV */
/* Define to 1 if `major', `minor', and `makedev' are declared in
<sysmacros.h>. */
#define MAJOR_IN_SYSMACROS 1
/* Define to 1 if your C compiler doesn't accept -c and -o together. */
/* #undef NO_MINUS_C_MINUS_O */
/* The size of `wchar_t', as computed by sizeof. */
#define SIZEOF_WCHAR_T 4
/* Define to 1 if strerror_r returns char *. */
/* #undef STRERROR_R_CHAR_P */
/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
#define TIME_WITH_SYS_TIME 1
/*
* Some platform requires a macro to use extension functions.
*/
#define SAFE_TO_DEFINE_EXTENSIONS 1
#ifdef SAFE_TO_DEFINE_EXTENSIONS
/* Enable extensions on AIX 3, Interix. */
#ifndef _ALL_SOURCE
# define _ALL_SOURCE 1
#endif
/* Enable GNU extensions on systems that have them. */
#ifndef _GNU_SOURCE
# define _GNU_SOURCE 1
#endif
/* Enable threading extensions on Solaris. */
#ifndef _POSIX_PTHREAD_SEMANTICS
# define _POSIX_PTHREAD_SEMANTICS 1
#endif
/* Enable extensions on HP NonStop. */
#ifndef _TANDEM_SOURCE
# define _TANDEM_SOURCE 1
#endif
/* Enable general extensions on Solaris. */
#ifndef __EXTENSIONS__
# define __EXTENSIONS__ 1
#endif
#endif /* SAFE_TO_DEFINE_EXTENSIONS */
/* Version number of package */
#define VERSION "3.6.0"
/* Number of bits in a file offset, on hosts where this is settable. */
/* #undef _FILE_OFFSET_BITS */
/* Define to 1 to make fseeko visible on some hosts (e.g. glibc 2.2). */
/* #undef _LARGEFILE_SOURCE */
/* Define for large files, on AIX-style hosts. */
/* #undef _LARGE_FILES */
/* Define to control Windows SDK version */
#ifndef NTDDI_VERSION
/* #undef NTDDI_VERSION */
#endif // NTDDI_VERSION
#ifndef _WIN32_WINNT
/* #undef _WIN32_WINNT */
#endif // _WIN32_WINNT
#ifndef WINVER
/* #undef WINVER */
#endif // WINVER
/* Define to empty if `const' does not conform to ANSI C. */
/* #undef const */
/* Define to `int' if <sys/types.h> doesn't define. */
/* #undef gid_t */
/* Define to `unsigned long' if <sys/types.h> does not define. */
/* #undef id_t */
/* Define to `int' if <sys/types.h> does not define. */
/* #undef mode_t */
/* Define to `long long' if <sys/types.h> does not define. */
/* #undef off_t */
/* Define to `int' if <sys/types.h> doesn't define. */
/* #undef pid_t */
/* Define to `unsigned int' if <sys/types.h> does not define. */
/* #undef size_t */
/* Define to `int' if <sys/types.h> does not define. */
/* #undef ssize_t */
/* Define to `int' if <sys/types.h> doesn't define. */
/* #undef uid_t */
#include <cm3p/kwiml/int.h>
#ifndef KWIML_INT_HAVE_INT64_T
typedef KWIML_INT_int64_t int64_t;
#endif
#ifndef KWIML_INT_HAVE_INT32_T
typedef KWIML_INT_int32_t int32_t;
#endif
#ifndef KWIML_INT_HAVE_INT16_T
typedef KWIML_INT_int16_t int16_t;
#endif
#ifndef KWIML_INT_HAVE_INT8_T
typedef KWIML_INT_int8_t int8_t;
#endif
#ifndef KWIML_INT_HAVE_INTPTR_T
typedef KWIML_INT_intptr_t intptr_t;
#endif
#ifndef KWIML_INT_HAVE_UINT64_T
typedef KWIML_INT_uint64_t uint64_t;
#endif
#ifndef KWIML_INT_HAVE_UINT32_T
typedef KWIML_INT_uint32_t uint32_t;
#endif
#ifndef KWIML_INT_HAVE_UINT16_T
typedef KWIML_INT_uint16_t uint16_t;
#endif
#ifndef KWIML_INT_HAVE_UINT8_T
typedef KWIML_INT_uint8_t uint8_t;
#endif
#ifndef KWIML_INT_HAVE_UINTPTR_T
typedef KWIML_INT_uintptr_t uintptr_t;
#endif
/* Define to 1 if you have the <stdint.h> header file. */
#ifdef KWIML_INT_HAVE_STDINT_H
# define HAVE_STDINT_H 1
#endif
/* Define to 1 if you have the <inttypes.h> header file. */
#ifdef KWIML_INT_HAVE_INTTYPES_H
# define HAVE_INTTYPES_H 1
#endif
#define ARCHIVE_SHA384_COMPILE_TEST
#define ARCHIVE_CRYPTO_SHA384_LIBC2
#define PLATFORM_CONFIG_H "check_crypto_md.h"
/*-
* Copyright (c) 2003-2007 Tim Kientzle
* Copyright (c) 2011 Andres Mejia
* Copyright (c) 2011 Michihiro NAKAJIMA
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR(S) ``AS IS'' AND ANY EXPRESS OR
* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
* IN NO EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
#include "archive_platform.h"
#include "archive.h"
#include "archive_digest_private.h"
/* In particular, force the configure probe to break if it tries
* to test a combination of OpenSSL and libmd. */
#if defined(ARCHIVE_CRYPTO_OPENSSL) && defined(ARCHIVE_CRYPTO_LIBMD)
#error Cannot use both OpenSSL and libmd.
#endif
/*
* Message digest functions for Windows platform.
*/
#if defined(ARCHIVE_CRYPTO_MD5_WIN) ||\
defined(ARCHIVE_CRYPTO_SHA1_WIN) ||\
defined(ARCHIVE_CRYPTO_SHA256_WIN) ||\
defined(ARCHIVE_CRYPTO_SHA384_WIN) ||\
defined(ARCHIVE_CRYPTO_SHA512_WIN)
/*
* Initialize a Message digest.
*/
static int
win_crypto_init(Digest_CTX *ctx, ALG_ID algId)
{
ctx->valid = 0;
if (!CryptAcquireContext(&ctx->cryptProv, NULL, NULL,
PROV_RSA_FULL, CRYPT_VERIFYCONTEXT)) {
if (GetLastError() != (DWORD)NTE_BAD_KEYSET)
return (ARCHIVE_FAILED);
if (!CryptAcquireContext(&ctx->cryptProv, NULL, NULL,
PROV_RSA_FULL, CRYPT_NEWKEYSET))
return (ARCHIVE_FAILED);
}
if (!CryptCreateHash(ctx->cryptProv, algId, 0, 0, &ctx->hash)) {
CryptReleaseContext(ctx->cryptProv, 0);
return (ARCHIVE_FAILED);
}
ctx->valid = 1;
return (ARCHIVE_OK);
}
/*
* Update a Message digest.
*/
static int
win_crypto_Update(Digest_CTX *ctx, const unsigned char *buf, size_t len)
{
if (!ctx->valid)
return (ARCHIVE_FAILED);
CryptHashData(ctx->hash,
(unsigned char *)(uintptr_t)buf,
(DWORD)len, 0);
return (ARCHIVE_OK);
}
static int
win_crypto_Final(unsigned char *buf, size_t bufsize, Digest_CTX *ctx)
{
DWORD siglen = (DWORD)bufsize;
if (!ctx->valid)
return (ARCHIVE_FAILED);
CryptGetHashParam(ctx->hash, HP_HASHVAL, buf, &siglen, 0);
CryptDestroyHash(ctx->hash);
CryptReleaseContext(ctx->cryptProv, 0);
ctx->valid = 0;
return (ARCHIVE_OK);
}
#endif /* defined(ARCHIVE_CRYPTO_*_WIN) */
/* MD5 implementations */
#if defined(ARCHIVE_CRYPTO_MD5_LIBC)
static int
__archive_md5init(archive_md5_ctx *ctx)
{
MD5Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_md5update(archive_md5_ctx *ctx, const void *indata,
size_t insize)
{
MD5Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_md5final(archive_md5_ctx *ctx, void *md)
{
MD5Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_MD5_LIBMD)
static int
__archive_md5init(archive_md5_ctx *ctx)
{
MD5Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_md5update(archive_md5_ctx *ctx, const void *indata,
size_t insize)
{
MD5Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_md5final(archive_md5_ctx *ctx, void *md)
{
MD5Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_MD5_LIBSYSTEM)
static int
__archive_md5init(archive_md5_ctx *ctx)
{
CC_MD5_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_md5update(archive_md5_ctx *ctx, const void *indata,
size_t insize)
{
CC_MD5_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_md5final(archive_md5_ctx *ctx, void *md)
{
CC_MD5_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_MD5_MBEDTLS)
static int
__archive_md5init(archive_md5_ctx *ctx)
{
mbedtls_md5_init(ctx);
if (mbedtls_md5_starts_ret(ctx) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_md5update(archive_md5_ctx *ctx, const void *indata,
size_t insize)
{
if (mbedtls_md5_update_ret(ctx, indata, insize) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_md5final(archive_md5_ctx *ctx, void *md)
{
if (mbedtls_md5_finish_ret(ctx, md) == 0) {
mbedtls_md5_free(ctx);
return (ARCHIVE_OK);
} else {
mbedtls_md5_free(ctx);
return (ARCHIVE_FATAL);
}
}
#elif defined(ARCHIVE_CRYPTO_MD5_NETTLE)
static int
__archive_md5init(archive_md5_ctx *ctx)
{
md5_init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_md5update(archive_md5_ctx *ctx, const void *indata,
size_t insize)
{
md5_update(ctx, insize, indata);
return (ARCHIVE_OK);
}
static int
__archive_md5final(archive_md5_ctx *ctx, void *md)
{
md5_digest(ctx, MD5_DIGEST_SIZE, md);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_MD5_OPENSSL)
static int
__archive_md5init(archive_md5_ctx *ctx)
{
if ((*ctx = EVP_MD_CTX_new()) == NULL)
return (ARCHIVE_FAILED);
EVP_DigestInit(*ctx, EVP_md5());
return (ARCHIVE_OK);
}
static int
__archive_md5update(archive_md5_ctx *ctx, const void *indata,
size_t insize)
{
EVP_DigestUpdate(*ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_md5final(archive_md5_ctx *ctx, void *md)
{
/* HACK: archive_write_set_format_xar.c is finalizing empty contexts, so
* this is meant to cope with that. Real fix is probably to fix
* archive_write_set_format_xar.c
*/
if (*ctx) {
EVP_DigestFinal(*ctx, md, NULL);
EVP_MD_CTX_free(*ctx);
*ctx = NULL;
}
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_MD5_WIN)
static int
__archive_md5init(archive_md5_ctx *ctx)
{
return (win_crypto_init(ctx, CALG_MD5));
}
static int
__archive_md5update(archive_md5_ctx *ctx, const void *indata,
size_t insize)
{
return (win_crypto_Update(ctx, indata, insize));
}
static int
__archive_md5final(archive_md5_ctx *ctx, void *md)
{
return (win_crypto_Final(md, 16, ctx));
}
#else
static int
__archive_md5init(archive_md5_ctx *ctx)
{
(void)ctx; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_md5update(archive_md5_ctx *ctx, const void *indata,
size_t insize)
{
(void)ctx; /* UNUSED */
(void)indata; /* UNUSED */
(void)insize; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_md5final(archive_md5_ctx *ctx, void *md)
{
(void)ctx; /* UNUSED */
(void)md; /* UNUSED */
return (ARCHIVE_FAILED);
}
#endif
/* RIPEMD160 implementations */
#if defined(ARCHIVE_CRYPTO_RMD160_LIBC)
static int
__archive_ripemd160init(archive_rmd160_ctx *ctx)
{
RMD160Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata,
size_t insize)
{
RMD160Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_ripemd160final(archive_rmd160_ctx *ctx, void *md)
{
RMD160Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_RMD160_LIBMD)
static int
__archive_ripemd160init(archive_rmd160_ctx *ctx)
{
RIPEMD160_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata,
size_t insize)
{
RIPEMD160_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_ripemd160final(archive_rmd160_ctx *ctx, void *md)
{
RIPEMD160_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_RMD160_MBEDTLS)
static int
__archive_ripemd160init(archive_rmd160_ctx *ctx)
{
mbedtls_ripemd160_init(ctx);
if (mbedtls_ripemd160_starts_ret(ctx) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata,
size_t insize)
{
if (mbedtls_ripemd160_update_ret(ctx, indata, insize) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_ripemd160final(archive_rmd160_ctx *ctx, void *md)
{
if (mbedtls_ripemd160_finish_ret(ctx, md) == 0) {
mbedtls_ripemd160_free(ctx);
return (ARCHIVE_OK);
} else {
mbedtls_ripemd160_free(ctx);
return (ARCHIVE_FATAL);
}
}
#elif defined(ARCHIVE_CRYPTO_RMD160_NETTLE)
static int
__archive_ripemd160init(archive_rmd160_ctx *ctx)
{
ripemd160_init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata,
size_t insize)
{
ripemd160_update(ctx, insize, indata);
return (ARCHIVE_OK);
}
static int
__archive_ripemd160final(archive_rmd160_ctx *ctx, void *md)
{
ripemd160_digest(ctx, RIPEMD160_DIGEST_SIZE, md);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_RMD160_OPENSSL)
static int
__archive_ripemd160init(archive_rmd160_ctx *ctx)
{
if ((*ctx = EVP_MD_CTX_new()) == NULL)
return (ARCHIVE_FAILED);
EVP_DigestInit(*ctx, EVP_ripemd160());
return (ARCHIVE_OK);
}
static int
__archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata,
size_t insize)
{
EVP_DigestUpdate(*ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_ripemd160final(archive_rmd160_ctx *ctx, void *md)
{
if (*ctx) {
EVP_DigestFinal(*ctx, md, NULL);
EVP_MD_CTX_free(*ctx);
*ctx = NULL;
}
return (ARCHIVE_OK);
}
#else
static int
__archive_ripemd160init(archive_rmd160_ctx *ctx)
{
(void)ctx; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata,
size_t insize)
{
(void)ctx; /* UNUSED */
(void)indata; /* UNUSED */
(void)insize; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_ripemd160final(archive_rmd160_ctx *ctx, void *md)
{
(void)ctx; /* UNUSED */
(void)md; /* UNUSED */
return (ARCHIVE_FAILED);
}
#endif
/* SHA1 implementations */
#if defined(ARCHIVE_CRYPTO_SHA1_LIBC)
static int
__archive_sha1init(archive_sha1_ctx *ctx)
{
SHA1Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha1update(archive_sha1_ctx *ctx, const void *indata,
size_t insize)
{
SHA1Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha1final(archive_sha1_ctx *ctx, void *md)
{
SHA1Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA1_LIBMD)
static int
__archive_sha1init(archive_sha1_ctx *ctx)
{
SHA1_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha1update(archive_sha1_ctx *ctx, const void *indata,
size_t insize)
{
SHA1_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha1final(archive_sha1_ctx *ctx, void *md)
{
SHA1_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA1_LIBSYSTEM)
static int
__archive_sha1init(archive_sha1_ctx *ctx)
{
CC_SHA1_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha1update(archive_sha1_ctx *ctx, const void *indata,
size_t insize)
{
CC_SHA1_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha1final(archive_sha1_ctx *ctx, void *md)
{
CC_SHA1_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA1_MBEDTLS)
static int
__archive_sha1init(archive_sha1_ctx *ctx)
{
mbedtls_sha1_init(ctx);
if (mbedtls_sha1_starts_ret(ctx) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_sha1update(archive_sha1_ctx *ctx, const void *indata,
size_t insize)
{
if (mbedtls_sha1_update_ret(ctx, indata, insize) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_sha1final(archive_sha1_ctx *ctx, void *md)
{
if (mbedtls_sha1_finish_ret(ctx, md) == 0) {
mbedtls_sha1_free(ctx);
return (ARCHIVE_OK);
} else {
mbedtls_sha1_free(ctx);
return (ARCHIVE_FATAL);
}
}
#elif defined(ARCHIVE_CRYPTO_SHA1_NETTLE)
static int
__archive_sha1init(archive_sha1_ctx *ctx)
{
sha1_init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha1update(archive_sha1_ctx *ctx, const void *indata,
size_t insize)
{
sha1_update(ctx, insize, indata);
return (ARCHIVE_OK);
}
static int
__archive_sha1final(archive_sha1_ctx *ctx, void *md)
{
sha1_digest(ctx, SHA1_DIGEST_SIZE, md);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA1_OPENSSL)
static int
__archive_sha1init(archive_sha1_ctx *ctx)
{
if ((*ctx = EVP_MD_CTX_new()) == NULL)
return (ARCHIVE_FAILED);
EVP_DigestInit(*ctx, EVP_sha1());
return (ARCHIVE_OK);
}
static int
__archive_sha1update(archive_sha1_ctx *ctx, const void *indata,
size_t insize)
{
EVP_DigestUpdate(*ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha1final(archive_sha1_ctx *ctx, void *md)
{
/* HACK: archive_write_set_format_xar.c is finalizing empty contexts, so
* this is meant to cope with that. Real fix is probably to fix
* archive_write_set_format_xar.c
*/
if (*ctx) {
EVP_DigestFinal(*ctx, md, NULL);
EVP_MD_CTX_free(*ctx);
*ctx = NULL;
}
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA1_WIN)
static int
__archive_sha1init(archive_sha1_ctx *ctx)
{
return (win_crypto_init(ctx, CALG_SHA1));
}
static int
__archive_sha1update(archive_sha1_ctx *ctx, const void *indata,
size_t insize)
{
return (win_crypto_Update(ctx, indata, insize));
}
static int
__archive_sha1final(archive_sha1_ctx *ctx, void *md)
{
return (win_crypto_Final(md, 20, ctx));
}
#else
static int
__archive_sha1init(archive_sha1_ctx *ctx)
{
(void)ctx; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_sha1update(archive_sha1_ctx *ctx, const void *indata,
size_t insize)
{
(void)ctx; /* UNUSED */
(void)indata; /* UNUSED */
(void)insize; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_sha1final(archive_sha1_ctx *ctx, void *md)
{
(void)ctx; /* UNUSED */
(void)md; /* UNUSED */
return (ARCHIVE_FAILED);
}
#endif
/* SHA256 implementations */
#if defined(ARCHIVE_CRYPTO_SHA256_LIBC)
static int
__archive_sha256init(archive_sha256_ctx *ctx)
{
SHA256_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha256update(archive_sha256_ctx *ctx, const void *indata,
size_t insize)
{
SHA256_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha256final(archive_sha256_ctx *ctx, void *md)
{
SHA256_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA256_LIBC2)
static int
__archive_sha256init(archive_sha256_ctx *ctx)
{
SHA256Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha256update(archive_sha256_ctx *ctx, const void *indata,
size_t insize)
{
SHA256Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha256final(archive_sha256_ctx *ctx, void *md)
{
SHA256Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA256_LIBC3)
static int
__archive_sha256init(archive_sha256_ctx *ctx)
{
SHA256Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha256update(archive_sha256_ctx *ctx, const void *indata,
size_t insize)
{
SHA256Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha256final(archive_sha256_ctx *ctx, void *md)
{
SHA256Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA256_LIBMD)
static int
__archive_sha256init(archive_sha256_ctx *ctx)
{
SHA256_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha256update(archive_sha256_ctx *ctx, const void *indata,
size_t insize)
{
SHA256_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha256final(archive_sha256_ctx *ctx, void *md)
{
SHA256_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA256_LIBSYSTEM)
static int
__archive_sha256init(archive_sha256_ctx *ctx)
{
CC_SHA256_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha256update(archive_sha256_ctx *ctx, const void *indata,
size_t insize)
{
CC_SHA256_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha256final(archive_sha256_ctx *ctx, void *md)
{
CC_SHA256_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA256_MBEDTLS)
static int
__archive_sha256init(archive_sha256_ctx *ctx)
{
mbedtls_sha256_init(ctx);
if (mbedtls_sha256_starts_ret(ctx, 0) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_sha256update(archive_sha256_ctx *ctx, const void *indata,
size_t insize)
{
if (mbedtls_sha256_update_ret(ctx, indata, insize) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_sha256final(archive_sha256_ctx *ctx, void *md)
{
if (mbedtls_sha256_finish_ret(ctx, md) == 0) {
mbedtls_sha256_free(ctx);
return (ARCHIVE_OK);
} else {
mbedtls_sha256_free(ctx);
return (ARCHIVE_FATAL);
}
}
#elif defined(ARCHIVE_CRYPTO_SHA256_NETTLE)
static int
__archive_sha256init(archive_sha256_ctx *ctx)
{
sha256_init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha256update(archive_sha256_ctx *ctx, const void *indata,
size_t insize)
{
sha256_update(ctx, insize, indata);
return (ARCHIVE_OK);
}
static int
__archive_sha256final(archive_sha256_ctx *ctx, void *md)
{
sha256_digest(ctx, SHA256_DIGEST_SIZE, md);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA256_OPENSSL)
static int
__archive_sha256init(archive_sha256_ctx *ctx)
{
if ((*ctx = EVP_MD_CTX_new()) == NULL)
return (ARCHIVE_FAILED);
EVP_DigestInit(*ctx, EVP_sha256());
return (ARCHIVE_OK);
}
static int
__archive_sha256update(archive_sha256_ctx *ctx, const void *indata,
size_t insize)
{
EVP_DigestUpdate(*ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha256final(archive_sha256_ctx *ctx, void *md)
{
if (*ctx) {
EVP_DigestFinal(*ctx, md, NULL);
EVP_MD_CTX_free(*ctx);
*ctx = NULL;
}
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA256_WIN)
static int
__archive_sha256init(archive_sha256_ctx *ctx)
{
return (win_crypto_init(ctx, CALG_SHA_256));
}
static int
__archive_sha256update(archive_sha256_ctx *ctx, const void *indata,
size_t insize)
{
return (win_crypto_Update(ctx, indata, insize));
}
static int
__archive_sha256final(archive_sha256_ctx *ctx, void *md)
{
return (win_crypto_Final(md, 32, ctx));
}
#else
static int
__archive_sha256init(archive_sha256_ctx *ctx)
{
(void)ctx; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_sha256update(archive_sha256_ctx *ctx, const void *indata,
size_t insize)
{
(void)ctx; /* UNUSED */
(void)indata; /* UNUSED */
(void)insize; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_sha256final(archive_sha256_ctx *ctx, void *md)
{
(void)ctx; /* UNUSED */
(void)md; /* UNUSED */
return (ARCHIVE_FAILED);
}
#endif
/* SHA384 implementations */
#if defined(ARCHIVE_CRYPTO_SHA384_LIBC)
static int
__archive_sha384init(archive_sha384_ctx *ctx)
{
SHA384_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha384update(archive_sha384_ctx *ctx, const void *indata,
size_t insize)
{
SHA384_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha384final(archive_sha384_ctx *ctx, void *md)
{
SHA384_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA384_LIBC2)
static int
__archive_sha384init(archive_sha384_ctx *ctx)
{
SHA384Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha384update(archive_sha384_ctx *ctx, const void *indata,
size_t insize)
{
SHA384Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha384final(archive_sha384_ctx *ctx, void *md)
{
SHA384Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA384_LIBC3)
static int
__archive_sha384init(archive_sha384_ctx *ctx)
{
SHA384Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha384update(archive_sha384_ctx *ctx, const void *indata,
size_t insize)
{
SHA384Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha384final(archive_sha384_ctx *ctx, void *md)
{
SHA384Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA384_LIBSYSTEM)
static int
__archive_sha384init(archive_sha384_ctx *ctx)
{
CC_SHA384_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha384update(archive_sha384_ctx *ctx, const void *indata,
size_t insize)
{
CC_SHA384_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha384final(archive_sha384_ctx *ctx, void *md)
{
CC_SHA384_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA384_MBEDTLS)
static int
__archive_sha384init(archive_sha384_ctx *ctx)
{
mbedtls_sha512_init(ctx);
if (mbedtls_sha512_starts_ret(ctx, 1) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_sha384update(archive_sha384_ctx *ctx, const void *indata,
size_t insize)
{
if (mbedtls_sha512_update_ret(ctx, indata, insize) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_sha384final(archive_sha384_ctx *ctx, void *md)
{
if (mbedtls_sha512_finish_ret(ctx, md) == 0) {
mbedtls_sha512_free(ctx);
return (ARCHIVE_OK);
} else {
mbedtls_sha512_free(ctx);
return (ARCHIVE_FATAL);
}
}
#elif defined(ARCHIVE_CRYPTO_SHA384_NETTLE)
static int
__archive_sha384init(archive_sha384_ctx *ctx)
{
sha384_init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha384update(archive_sha384_ctx *ctx, const void *indata,
size_t insize)
{
sha384_update(ctx, insize, indata);
return (ARCHIVE_OK);
}
static int
__archive_sha384final(archive_sha384_ctx *ctx, void *md)
{
sha384_digest(ctx, SHA384_DIGEST_SIZE, md);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA384_OPENSSL)
static int
__archive_sha384init(archive_sha384_ctx *ctx)
{
if ((*ctx = EVP_MD_CTX_new()) == NULL)
return (ARCHIVE_FAILED);
EVP_DigestInit(*ctx, EVP_sha384());
return (ARCHIVE_OK);
}
static int
__archive_sha384update(archive_sha384_ctx *ctx, const void *indata,
size_t insize)
{
EVP_DigestUpdate(*ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha384final(archive_sha384_ctx *ctx, void *md)
{
if (*ctx) {
EVP_DigestFinal(*ctx, md, NULL);
EVP_MD_CTX_free(*ctx);
*ctx = NULL;
}
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA384_WIN)
static int
__archive_sha384init(archive_sha384_ctx *ctx)
{
return (win_crypto_init(ctx, CALG_SHA_384));
}
static int
__archive_sha384update(archive_sha384_ctx *ctx, const void *indata,
size_t insize)
{
return (win_crypto_Update(ctx, indata, insize));
}
static int
__archive_sha384final(archive_sha384_ctx *ctx, void *md)
{
return (win_crypto_Final(md, 48, ctx));
}
#else
static int
__archive_sha384init(archive_sha384_ctx *ctx)
{
(void)ctx; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_sha384update(archive_sha384_ctx *ctx, const void *indata,
size_t insize)
{
(void)ctx; /* UNUSED */
(void)indata; /* UNUSED */
(void)insize; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_sha384final(archive_sha384_ctx *ctx, void *md)
{
(void)ctx; /* UNUSED */
(void)md; /* UNUSED */
return (ARCHIVE_FAILED);
}
#endif
/* SHA512 implementations */
#if defined(ARCHIVE_CRYPTO_SHA512_LIBC)
static int
__archive_sha512init(archive_sha512_ctx *ctx)
{
SHA512_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha512update(archive_sha512_ctx *ctx, const void *indata,
size_t insize)
{
SHA512_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha512final(archive_sha512_ctx *ctx, void *md)
{
SHA512_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA512_LIBC2)
static int
__archive_sha512init(archive_sha512_ctx *ctx)
{
SHA512Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha512update(archive_sha512_ctx *ctx, const void *indata,
size_t insize)
{
SHA512Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha512final(archive_sha512_ctx *ctx, void *md)
{
SHA512Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA512_LIBC3)
static int
__archive_sha512init(archive_sha512_ctx *ctx)
{
SHA512Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha512update(archive_sha512_ctx *ctx, const void *indata,
size_t insize)
{
SHA512Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha512final(archive_sha512_ctx *ctx, void *md)
{
SHA512Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA512_LIBMD)
static int
__archive_sha512init(archive_sha512_ctx *ctx)
{
SHA512_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha512update(archive_sha512_ctx *ctx, const void *indata,
size_t insize)
{
SHA512_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha512final(archive_sha512_ctx *ctx, void *md)
{
SHA512_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA512_LIBSYSTEM)
static int
__archive_sha512init(archive_sha512_ctx *ctx)
{
CC_SHA512_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha512update(archive_sha512_ctx *ctx, const void *indata,
size_t insize)
{
CC_SHA512_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha512final(archive_sha512_ctx *ctx, void *md)
{
CC_SHA512_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA512_MBEDTLS)
static int
__archive_sha512init(archive_sha512_ctx *ctx)
{
mbedtls_sha512_init(ctx);
if (mbedtls_sha512_starts_ret(ctx, 0) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_sha512update(archive_sha512_ctx *ctx, const void *indata,
size_t insize)
{
if (mbedtls_sha512_update_ret(ctx, indata, insize) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_sha512final(archive_sha512_ctx *ctx, void *md)
{
if (mbedtls_sha512_finish_ret(ctx, md) == 0) {
mbedtls_sha512_free(ctx);
return (ARCHIVE_OK);
} else {
mbedtls_sha512_free(ctx);
return (ARCHIVE_FATAL);
}
}
#elif defined(ARCHIVE_CRYPTO_SHA512_NETTLE)
static int
__archive_sha512init(archive_sha512_ctx *ctx)
{
sha512_init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha512update(archive_sha512_ctx *ctx, const void *indata,
size_t insize)
{
sha512_update(ctx, insize, indata);
return (ARCHIVE_OK);
}
static int
__archive_sha512final(archive_sha512_ctx *ctx, void *md)
{
sha512_digest(ctx, SHA512_DIGEST_SIZE, md);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA512_OPENSSL)
static int
__archive_sha512init(archive_sha512_ctx *ctx)
{
if ((*ctx = EVP_MD_CTX_new()) == NULL)
return (ARCHIVE_FAILED);
EVP_DigestInit(*ctx, EVP_sha512());
return (ARCHIVE_OK);
}
static int
__archive_sha512update(archive_sha512_ctx *ctx, const void *indata,
size_t insize)
{
EVP_DigestUpdate(*ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha512final(archive_sha512_ctx *ctx, void *md)
{
if (*ctx) {
EVP_DigestFinal(*ctx, md, NULL);
EVP_MD_CTX_free(*ctx);
*ctx = NULL;
}
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA512_WIN)
static int
__archive_sha512init(archive_sha512_ctx *ctx)
{
return (win_crypto_init(ctx, CALG_SHA_512));
}
static int
__archive_sha512update(archive_sha512_ctx *ctx, const void *indata,
size_t insize)
{
return (win_crypto_Update(ctx, indata, insize));
}
static int
__archive_sha512final(archive_sha512_ctx *ctx, void *md)
{
return (win_crypto_Final(md, 64, ctx));
}
#else
static int
__archive_sha512init(archive_sha512_ctx *ctx)
{
(void)ctx; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_sha512update(archive_sha512_ctx *ctx, const void *indata,
size_t insize)
{
(void)ctx; /* UNUSED */
(void)indata; /* UNUSED */
(void)insize; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_sha512final(archive_sha512_ctx *ctx, void *md)
{
(void)ctx; /* UNUSED */
(void)md; /* UNUSED */
return (ARCHIVE_FAILED);
}
#endif
/* NOTE: Message Digest functions are set based on availability and by the
* following order of preference.
* 1. libc
* 2. libc2
* 3. libc3
* 4. libSystem
* 5. Nettle
* 6. OpenSSL
* 7. libmd
* 8. Windows API
*/
const struct archive_digest __archive_digest =
{
/* MD5 */
&__archive_md5init,
&__archive_md5update,
&__archive_md5final,
/* RIPEMD160 */
&__archive_ripemd160init,
&__archive_ripemd160update,
&__archive_ripemd160final,
/* SHA1 */
&__archive_sha1init,
&__archive_sha1update,
&__archive_sha1final,
/* SHA256 */
&__archive_sha256init,
&__archive_sha256update,
&__archive_sha256final,
/* SHA384 */
&__archive_sha384init,
&__archive_sha384update,
&__archive_sha384final,
/* SHA512 */
&__archive_sha512init,
&__archive_sha512update,
&__archive_sha512final
};
int
main(int argc, char **argv)
{
archive_sha384_ctx ctx;
archive_sha384_init(&ctx);
archive_sha384_update(&ctx, *argv, argc);
archive_sha384_final(&ctx, NULL);
return 0;
}
Checking support for ARCHIVE_CRYPTO_SHA512_LIBC2 failed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeTmp
Run Build Command(s):/bin/gmake -f Makefile cmTC_8b8f3/fast && gmake -f CMakeFiles/cmTC_8b8f3.dir/build.make CMakeFiles/cmTC_8b8f3.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeTmp'
Building C object CMakeFiles/cmTC_8b8f3.dir/check_crypto_md.c.o
/bin/gcc -I/usr/src/cmake-3.25.0 -I/usr/src/cmake-3.25.0/Utilities/cmlibarchive/libarchive -I/usr/src/cmake-3.25.0/CMakeFiles/CMakeTmp -I/usr/src/cmake-3.25.0/Utilities -w -std=gnu99 -o CMakeFiles/cmTC_8b8f3.dir/check_crypto_md.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeTmp/check_crypto_md.c
In file included from /usr/src/cmake-3.25.0/CMakeFiles/CMakeTmp/check_crypto_md.c:1204:0:
/usr/src/cmake-3.25.0/Utilities/cmlibarchive/libarchive/archive_digest_private.h:81:18: fatal error: sha2.h: No such file or directory
#include <sha2.h>
^
compilation terminated.
gmake[1]: *** [CMakeFiles/cmTC_8b8f3.dir/check_crypto_md.c.o] Error 1
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeTmp'
gmake: *** [cmTC_8b8f3/fast] Error 2
Source file was:
/* config.h. Generated from build/cmake/config.h.in by cmake configure */
#define __LIBARCHIVE_CONFIG_H_INCLUDED 1
#if defined(__osf__)
# define _OSF_SOURCE
#endif
/*
* Ensure we have C99-style int64_t, etc, all defined.
*/
/* Define ZLIB_WINAPI if zlib was built on Visual Studio. */
/* #undef ZLIB_WINAPI */
/* Darwin ACL support */
/* #undef ARCHIVE_ACL_DARWIN */
/* FreeBSD ACL support */
/* #undef ARCHIVE_ACL_FREEBSD */
/* FreeBSD NFSv4 ACL support */
/* #undef ARCHIVE_ACL_FREEBSD_NFS4 */
/* Linux POSIX.1e ACL support via libacl */
/* #undef ARCHIVE_ACL_LIBACL */
/* Linux NFSv4 ACL support via librichacl */
/* #undef ARCHIVE_ACL_LIBRICHACL */
/* Solaris ACL support */
/* #undef ARCHIVE_ACL_SUNOS */
/* Solaris NFSv4 ACL support */
/* #undef ARCHIVE_ACL_SUNOS_NFS4 */
/* MD5 via ARCHIVE_CRYPTO_MD5_LIBC supported. */
/* #undef ARCHIVE_CRYPTO_MD5_LIBC */
/* MD5 via ARCHIVE_CRYPTO_MD5_LIBSYSTEM supported. */
/* #undef ARCHIVE_CRYPTO_MD5_LIBSYSTEM */
/* MD5 via ARCHIVE_CRYPTO_MD5_NETTLE supported. */
/* #undef ARCHIVE_CRYPTO_MD5_NETTLE */
/* MD5 via ARCHIVE_CRYPTO_MD5_OPENSSL supported. */
/* #undef ARCHIVE_CRYPTO_MD5_OPENSSL */
/* MD5 via ARCHIVE_CRYPTO_MD5_WIN supported. */
/* #undef ARCHIVE_CRYPTO_MD5_WIN */
/* RMD160 via ARCHIVE_CRYPTO_RMD160_LIBC supported. */
/* #undef ARCHIVE_CRYPTO_RMD160_LIBC */
/* RMD160 via ARCHIVE_CRYPTO_RMD160_NETTLE supported. */
/* #undef ARCHIVE_CRYPTO_RMD160_NETTLE */
/* RMD160 via ARCHIVE_CRYPTO_RMD160_OPENSSL supported. */
/* #undef ARCHIVE_CRYPTO_RMD160_OPENSSL */
/* SHA1 via ARCHIVE_CRYPTO_SHA1_LIBC supported. */
/* #undef ARCHIVE_CRYPTO_SHA1_LIBC */
/* SHA1 via ARCHIVE_CRYPTO_SHA1_LIBSYSTEM supported. */
/* #undef ARCHIVE_CRYPTO_SHA1_LIBSYSTEM */
/* SHA1 via ARCHIVE_CRYPTO_SHA1_NETTLE supported. */
/* #undef ARCHIVE_CRYPTO_SHA1_NETTLE */
/* SHA1 via ARCHIVE_CRYPTO_SHA1_OPENSSL supported. */
/* #undef ARCHIVE_CRYPTO_SHA1_OPENSSL */
/* SHA1 via ARCHIVE_CRYPTO_SHA1_WIN supported. */
/* #undef ARCHIVE_CRYPTO_SHA1_WIN */
/* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBC supported. */
/* #undef ARCHIVE_CRYPTO_SHA256_LIBC */
/* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBC2 supported. */
/* #undef ARCHIVE_CRYPTO_SHA256_LIBC2 */
/* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBC3 supported. */
/* #undef ARCHIVE_CRYPTO_SHA256_LIBC3 */
/* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBSYSTEM supported. */
/* #undef ARCHIVE_CRYPTO_SHA256_LIBSYSTEM */
/* SHA256 via ARCHIVE_CRYPTO_SHA256_NETTLE supported. */
/* #undef ARCHIVE_CRYPTO_SHA256_NETTLE */
/* SHA256 via ARCHIVE_CRYPTO_SHA256_OPENSSL supported. */
/* #undef ARCHIVE_CRYPTO_SHA256_OPENSSL */
/* SHA256 via ARCHIVE_CRYPTO_SHA256_WIN supported. */
/* #undef ARCHIVE_CRYPTO_SHA256_WIN */
/* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBC supported. */
/* #undef ARCHIVE_CRYPTO_SHA384_LIBC */
/* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBC2 supported. */
/* #undef ARCHIVE_CRYPTO_SHA384_LIBC2 */
/* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBC3 supported. */
/* #undef ARCHIVE_CRYPTO_SHA384_LIBC3 */
/* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBSYSTEM supported. */
/* #undef ARCHIVE_CRYPTO_SHA384_LIBSYSTEM */
/* SHA384 via ARCHIVE_CRYPTO_SHA384_NETTLE supported. */
/* #undef ARCHIVE_CRYPTO_SHA384_NETTLE */
/* SHA384 via ARCHIVE_CRYPTO_SHA384_OPENSSL supported. */
/* #undef ARCHIVE_CRYPTO_SHA384_OPENSSL */
/* SHA384 via ARCHIVE_CRYPTO_SHA384_WIN supported. */
/* #undef ARCHIVE_CRYPTO_SHA384_WIN */
/* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBC supported. */
/* #undef ARCHIVE_CRYPTO_SHA512_LIBC */
/* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBC2 supported. */
/* #undef ARCHIVE_CRYPTO_SHA512_LIBC2 */
/* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBC3 supported. */
/* #undef ARCHIVE_CRYPTO_SHA512_LIBC3 */
/* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBSYSTEM supported. */
/* #undef ARCHIVE_CRYPTO_SHA512_LIBSYSTEM */
/* SHA512 via ARCHIVE_CRYPTO_SHA512_NETTLE supported. */
/* #undef ARCHIVE_CRYPTO_SHA512_NETTLE */
/* SHA512 via ARCHIVE_CRYPTO_SHA512_OPENSSL supported. */
/* #undef ARCHIVE_CRYPTO_SHA512_OPENSSL */
/* SHA512 via ARCHIVE_CRYPTO_SHA512_WIN supported. */
/* #undef ARCHIVE_CRYPTO_SHA512_WIN */
/* AIX xattr support */
/* #undef ARCHIVE_XATTR_AIX */
/* Darwin xattr support */
/* #undef ARCHIVE_XATTR_DARWIN */
/* FreeBSD xattr support */
/* #undef ARCHIVE_XATTR_FREEBSD */
/* Linux xattr support */
/* #undef ARCHIVE_XATTR_LINUX */
/* Version number of bsdcpio */
#define BSDCPIO_VERSION_STRING "3.6.0"
/* Version number of bsdtar */
#define BSDTAR_VERSION_STRING "3.6.0"
/* Version number of bsdcat */
#define BSDCAT_VERSION_STRING "3.6.0"
/* Define to 1 if you have the `acl_create_entry' function. */
/* #undef HAVE_ACL_CREATE_ENTRY */
/* Define to 1 if you have the `acl_get_fd_np' function. */
/* #undef HAVE_ACL_GET_FD_NP */
/* Define to 1 if you have the `acl_get_link' function. */
/* #undef HAVE_ACL_GET_LINK */
/* Define to 1 if you have the `acl_get_link_np' function. */
/* #undef HAVE_ACL_GET_LINK_NP */
/* Define to 1 if you have the `acl_get_perm' function. */
/* #undef HAVE_ACL_GET_PERM */
/* Define to 1 if you have the `acl_get_perm_np' function. */
/* #undef HAVE_ACL_GET_PERM_NP */
/* Define to 1 if you have the `acl_init' function. */
/* #undef HAVE_ACL_INIT */
/* Define to 1 if you have the <acl/libacl.h> header file. */
/* #undef HAVE_ACL_LIBACL_H */
/* Define to 1 if the system has the type `acl_permset_t'. */
/* #undef HAVE_ACL_PERMSET_T */
/* Define to 1 if you have the `acl_set_fd' function. */
/* #undef HAVE_ACL_SET_FD */
/* Define to 1 if you have the `acl_set_fd_np' function. */
/* #undef HAVE_ACL_SET_FD_NP */
/* Define to 1 if you have the `acl_set_file' function. */
/* #undef HAVE_ACL_SET_FILE */
/* Define to 1 if you have the `arc4random_buf' function. */
/* #undef HAVE_ARC4RANDOM_BUF */
/* Define to 1 if you have the <attr/xattr.h> header file. */
/* #undef HAVE_ATTR_XATTR_H */
/* Define to 1 if you have the <Bcrypt.h> header file. */
/* #undef HAVE_BCRYPT_H */
/* Define to 1 if you have the <bsdxml.h> header file. */
/* #undef HAVE_BSDXML_H */
/* Define to 1 if you have the <bzlib.h> header file. */
#define HAVE_BZLIB_H 1
/* Define to 1 if you have the `chflags' function. */
/* #undef HAVE_CHFLAGS */
/* Define to 1 if you have the `chown' function. */
#define HAVE_CHOWN 1
/* Define to 1 if you have the `chroot' function. */
#define HAVE_CHROOT 1
/* Define to 1 if you have the <copyfile.h> header file. */
/* #undef HAVE_COPYFILE_H */
/* Define to 1 if you have the `ctime_r' function. */
#define HAVE_CTIME_R 1
/* Define to 1 if you have the <ctype.h> header file. */
#define HAVE_CTYPE_H 1
/* Define to 1 if you have the `cygwin_conv_path' function. */
/* #undef HAVE_CYGWIN_CONV_PATH */
/* Define to 1 if you have the declaration of `ACE_GETACL', and to 0 if you
don't. */
/* #undef HAVE_DECL_ACE_GETACL */
/* Define to 1 if you have the declaration of `ACE_GETACLCNT', and to 0 if you
don't. */
/* #undef HAVE_DECL_ACE_GETACLCNT */
/* Define to 1 if you have the declaration of `ACE_SETACL', and to 0 if you
don't. */
/* #undef HAVE_DECL_ACE_SETACL */
/* Define to 1 if you have the declaration of `ACL_SYNCHRONIZE', and to 0 if
you don't. */
/* #undef HAVE_DECL_ACL_SYNCHRONIZE */
/* Define to 1 if you have the declaration of `ACL_TYPE_EXTENDED', and to 0 if
you don't. */
/* #undef HAVE_DECL_ACL_TYPE_EXTENDED */
/* Define to 1 if you have the declaration of `ACL_TYPE_NFS4', and to 0 if you
don't. */
/* #undef HAVE_DECL_ACL_TYPE_NFS4 */
/* Define to 1 if you have the declaration of `ACL_USER', and to 0 if you
don't. */
/* #undef HAVE_DECL_ACL_USER */
/* Define to 1 if you have the declaration of `SETACL', and to 0 if you don't.
*/
/* #undef HAVE_DECL_SETACL */
/* Define to 1 if you have the declaration of `strerror_r', and to 0 if you
don't. */
#define HAVE_DECL_STRERROR_R 1
/* Define to 1 if you have the declaration of `XATTR_NOFOLLOW', and to 0 if
you don't. */
/* #undef HAVE_DECL_XATTR_NOFOLLOW */
/* Define to 1 if you have the <direct.h> header file. */
/* #undef HAVE_DIRECT_H */
/* Define to 1 if you have the <dirent.h> header file, and it defines `DIR'.
*/
#define HAVE_DIRENT_H 1
/* Define to 1 if you have the `dirfd' function. */
#define HAVE_DIRFD 1
/* Define to 1 if you have the <dlfcn.h> header file. */
#define HAVE_DLFCN_H 1
/* Define to 1 if you don't have `vprintf' but do have `_doprnt.' */
/* #undef HAVE_DOPRNT */
/* Define to 1 if nl_langinfo supports D_MD_ORDER */
/* #undef HAVE_D_MD_ORDER */
/* A possible errno value for invalid file format errors */
/* #undef HAVE_EFTYPE */
/* A possible errno value for invalid file format errors */
#define HAVE_EILSEQ 1
/* Define to 1 if you have the <errno.h> header file. */
#define HAVE_ERRNO_H 1
/* Define to 1 if you have the <expat.h> header file. */
/* #undef HAVE_EXPAT_H */
/* Define to 1 if you have the <ext2fs/ext2_fs.h> header file. */
#define HAVE_EXT2FS_EXT2_FS_H 1
/* Define to 1 if you have the `extattr_get_file' function. */
/* #undef HAVE_EXTATTR_GET_FILE */
/* Define to 1 if you have the `extattr_list_file' function. */
/* #undef HAVE_EXTATTR_LIST_FILE */
/* Define to 1 if you have the `extattr_set_fd' function. */
/* #undef HAVE_EXTATTR_SET_FD */
/* Define to 1 if you have the `extattr_set_file' function. */
/* #undef HAVE_EXTATTR_SET_FILE */
/* Define to 1 if EXTATTR_NAMESPACE_USER is defined in sys/extattr.h. */
/* #undef HAVE_DECL_EXTATTR_NAMESPACE_USER */
/* Define to 1 if you have the declaration of `GETACL', and to 0 if you don't.
*/
/* #undef HAVE_DECL_GETACL */
/* Define to 1 if you have the declaration of `GETACLCNT', and to 0 if you
don't. */
/* #undef HAVE_DECL_GETACLCNT */
/* Define to 1 if you have the `fchdir' function. */
#define HAVE_FCHDIR 1
/* Define to 1 if you have the `fchflags' function. */
/* #undef HAVE_FCHFLAGS */
/* Define to 1 if you have the `fchmod' function. */
#define HAVE_FCHMOD 1
/* Define to 1 if you have the `fchown' function. */
#define HAVE_FCHOWN 1
/* Define to 1 if you have the `fcntl' function. */
#define HAVE_FCNTL 1
/* Define to 1 if you have the <fcntl.h> header file. */
#define HAVE_FCNTL_H 1
/* Define to 1 if you have the `fdopendir' function. */
#define HAVE_FDOPENDIR 1
/* Define to 1 if you have the `fgetea' function. */
/* #undef HAVE_FGETEA */
/* Define to 1 if you have the `fgetxattr' function. */
/* #undef HAVE_FGETXATTR */
/* Define to 1 if you have the `flistea' function. */
/* #undef HAVE_FLISTEA */
/* Define to 1 if you have the `flistxattr' function. */
/* #undef HAVE_FLISTXATTR */
/* Define to 1 if you have the `fork' function. */
#define HAVE_FORK 1
/* Define to 1 if fseeko (and presumably ftello) exists and is declared. */
#define HAVE_FSEEKO 1
/* Define to 1 if you have the `fsetea' function. */
/* #undef HAVE_FSETEA */
/* Define to 1 if you have the `fsetxattr' function. */
#define HAVE_FSETXATTR 1
/* Define to 1 if you have the `fstat' function. */
#define HAVE_FSTAT 1
/* Define to 1 if you have the `fstatat' function. */
#define HAVE_FSTATAT 1
/* Define to 1 if you have the `fstatfs' function. */
#define HAVE_FSTATFS 1
/* Define to 1 if you have the `fstatvfs' function. */
#define HAVE_FSTATVFS 1
/* Define to 1 if you have the `ftruncate' function. */
#define HAVE_FTRUNCATE 1
/* Define to 1 if you have the `futimens' function. */
#define HAVE_FUTIMENS 1
/* Define to 1 if you have the `futimes' function. */
#define HAVE_FUTIMES 1
/* Define to 1 if you have the `futimesat' function. */
#define HAVE_FUTIMESAT 1
/* Define to 1 if you have the `getea' function. */
/* #undef HAVE_GETEA */
/* Define to 1 if you have the `geteuid' function. */
#define HAVE_GETEUID 1
/* Define to 1 if you have the `getgrgid_r' function. */
#define HAVE_GETGRGID_R 1
/* Define to 1 if you have the `getgrnam_r' function. */
#define HAVE_GETGRNAM_R 1
/* Define to 1 if you have the `getpid' function. */
#define HAVE_GETPID 1
/* Define to 1 if you have the `getpwnam_r' function. */
#define HAVE_GETPWNAM_R 1
/* Define to 1 if you have the `getpwuid_r' function. */
#define HAVE_GETPWUID_R 1
/* Define to 1 if you have the `getvfsbyname' function. */
/* #undef HAVE_GETVFSBYNAME */
/* Define to 1 if you have the `getxattr' function. */
/* #undef HAVE_GETXATTR */
/* Define to 1 if you have the `gmtime_r' function. */
#define HAVE_GMTIME_R 1
/* Define to 1 if you have the <grp.h> header file. */
#define HAVE_GRP_H 1
/* Define to 1 if you have the `iconv' function. */
/* #undef HAVE_ICONV */
/* Define to 1 if you have the <iconv.h> header file. */
/* #undef HAVE_ICONV_H */
/* Define to 1 if you have the <io.h> header file. */
/* #undef HAVE_IO_H */
/* Define to 1 if you have the <langinfo.h> header file. */
#define HAVE_LANGINFO_H 1
/* Define to 1 if you have the `lchflags' function. */
/* #undef HAVE_LCHFLAGS */
/* Define to 1 if you have the `lchmod' function. */
/* #undef HAVE_LCHMOD */
/* Define to 1 if you have the `lchown' function. */
#define HAVE_LCHOWN 1
/* Define to 1 if you have the `lgetea' function. */
/* #undef HAVE_LGETEA */
/* Define to 1 if you have the `lgetxattr' function. */
/* #undef HAVE_LGETXATTR */
/* Define to 1 if you have the `acl' library (-lacl). */
/* #undef HAVE_LIBACL */
/* Define to 1 if you have the `attr' library (-lattr). */
/* #undef HAVE_LIBATTR */
/* Define to 1 if you have the `bsdxml' library (-lbsdxml). */
/* #undef HAVE_LIBBSDXML */
/* Define to 1 if you have the `bz2' library (-lbz2). */
#define HAVE_LIBBZ2 1
/* Define to 1 if you have the `b2' library (-lb2). */
/* #undef HAVE_LIBB2 */
/* Define to 1 if you have the <blake2.h> header file. */
/* #undef HAVE_BLAKE2_H */
/* Define to 1 if you have the `charset' library (-lcharset). */
/* #undef HAVE_LIBCHARSET */
/* Define to 1 if you have the `crypto' library (-lcrypto). */
#define HAVE_LIBCRYPTO 1
/* Define to 1 if you have the `expat' library (-lexpat). */
/* #undef HAVE_LIBEXPAT */
/* Define to 1 if you have the `gcc' library (-lgcc). */
/* #undef HAVE_LIBGCC */
/* Define to 1 if you have the `lz4' library (-llz4). */
/* #undef HAVE_LIBLZ4 */
/* Define to 1 if you have the `lzma' library (-llzma). */
#define HAVE_LIBLZMA 1
/* Define to 1 if you have the `lzmadec' library (-llzmadec). */
/* #undef HAVE_LIBLZMADEC */
/* Define to 1 if you have the `lzo2' library (-llzo2). */
/* #undef HAVE_LIBLZO2 */
/* Define to 1 if you have the `mbedcrypto' library (-lmbedcrypto). */
/* #undef HAVE_LIBMBEDCRYPTO */
/* Define to 1 if you have the `nettle' library (-lnettle). */
/* #undef HAVE_LIBNETTLE */
/* Define to 1 if you have the `pcre' library (-lpcre). */
/* #undef HAVE_LIBPCRE */
/* Define to 1 if you have the `pcreposix' library (-lpcreposix). */
/* #undef HAVE_LIBPCREPOSIX */
/* Define to 1 if you have the `xml2' library (-lxml2). */
/* #undef HAVE_LIBXML2 */
/* Define to 1 if you have the <libxml/xmlreader.h> header file. */
/* #undef HAVE_LIBXML_XMLREADER_H */
/* Define to 1 if you have the <libxml/xmlwriter.h> header file. */
/* #undef HAVE_LIBXML_XMLWRITER_H */
/* Define to 1 if you have the `z' library (-lz). */
#define HAVE_LIBZ 1
/* Define to 1 if you have the `zstd' library (-lzstd). */
#define HAVE_LIBZSTD 1
/* Define to 1 if you have the `zstd' library (-lzstd) with compression
support. */
#define HAVE_LIBZSTD_COMPRESSOR 1
/* Define to 1 if you have the <limits.h> header file. */
#define HAVE_LIMITS_H 1
/* Define to 1 if you have the `link' function. */
#define HAVE_LINK 1
/* Define to 1 if you have the `linkat' function. */
#define HAVE_LINKAT 1
/* Define to 1 if you have the <linux/fiemap.h> header file. */
#define HAVE_LINUX_FIEMAP_H 1
/* Define to 1 if you have the <linux/fs.h> header file. */
#define HAVE_LINUX_FS_H 1
/* Define to 1 if you have the <linux/magic.h> header file. */
#define HAVE_LINUX_MAGIC_H 1
/* Define to 1 if you have the <linux/types.h> header file. */
#define HAVE_LINUX_TYPES_H 1
/* Define to 1 if you have the `listea' function. */
/* #undef HAVE_LISTEA */
/* Define to 1 if you have the `listxattr' function. */
/* #undef HAVE_LISTXATTR */
/* Define to 1 if you have the `llistea' function. */
/* #undef HAVE_LLISTEA */
/* Define to 1 if you have the `llistxattr' function. */
/* #undef HAVE_LLISTXATTR */
/* Define to 1 if you have the <localcharset.h> header file. */
/* #undef HAVE_LOCALCHARSET_H */
/* Define to 1 if you have the `locale_charset' function. */
/* #undef HAVE_LOCALE_CHARSET */
/* Define to 1 if you have the <locale.h> header file. */
#define HAVE_LOCALE_H 1
/* Define to 1 if you have the `localtime_r' function. */
#define HAVE_LOCALTIME_R 1
/* Define to 1 if the system has the type `long long int'. */
/* #undef HAVE_LONG_LONG_INT */
/* Define to 1 if you have the `lsetea' function. */
/* #undef HAVE_LSETEA */
/* Define to 1 if you have the `lsetxattr' function. */
/* #undef HAVE_LSETXATTR */
/* Define to 1 if you have the `lstat' function. */
#define HAVE_LSTAT 1
/* Define to 1 if `lstat' has the bug that it succeeds when given the
zero-length file name argument. */
/* #undef HAVE_LSTAT_EMPTY_STRING_BUG */
/* Define to 1 if you have the `lutimes' function. */
#define HAVE_LUTIMES 1
/* Define to 1 if you have the <lz4hc.h> header file. */
/* #undef HAVE_LZ4HC_H */
/* Define to 1 if you have the <lz4.h> header file. */
/* #undef HAVE_LZ4_H */
/* Define to 1 if you have the <lzmadec.h> header file. */
/* #undef HAVE_LZMADEC_H */
/* Define to 1 if you have the <lzma.h> header file. */
#define HAVE_LZMA_H 1
/* Define to 1 if you have a working `lzma_stream_encoder_mt' function. */
#define HAVE_LZMA_STREAM_ENCODER_MT 1
/* Define to 1 if you have the <lzo/lzo1x.h> header file. */
/* #undef HAVE_LZO_LZO1X_H */
/* Define to 1 if you have the <lzo/lzoconf.h> header file. */
/* #undef HAVE_LZO_LZOCONF_H */
/* Define to 1 if you have the `mbrtowc' function. */
#define HAVE_MBRTOWC 1
/* Define to 1 if you have the <membership.h> header file. */
/* #undef HAVE_MEMBERSHIP_H */
/* Define to 1 if you have the `memmove' function. */
#define HAVE_MEMMOVE 1
/* Define to 1 if you have the <memory.h> header file. */
#define HAVE_MEMORY_H 1
/* Define to 1 if you have the `mkdir' function. */
#define HAVE_MKDIR 1
/* Define to 1 if you have the `mkfifo' function. */
#define HAVE_MKFIFO 1
/* Define to 1 if you have the `mknod' function. */
#define HAVE_MKNOD 1
/* Define to 1 if you have the `mkstemp' function. */
#define HAVE_MKSTEMP 1
/* Define to 1 if you have the <ndir.h> header file, and it defines `DIR'. */
/* #undef HAVE_NDIR_H */
/* Define to 1 if you have the <nettle/aes.h> header file. */
/* #undef HAVE_NETTLE_AES_H */
/* Define to 1 if you have the <nettle/hmac.h> header file. */
/* #undef HAVE_NETTLE_HMAC_H */
/* Define to 1 if you have the <nettle/md5.h> header file. */
/* #undef HAVE_NETTLE_MD5_H */
/* Define to 1 if you have the <nettle/pbkdf2.h> header file. */
/* #undef HAVE_NETTLE_PBKDF2_H */
/* Define to 1 if you have the <nettle/ripemd160.h> header file. */
/* #undef HAVE_NETTLE_RIPEMD160_H */
/* Define to 1 if you have the <nettle/sha.h> header file. */
/* #undef HAVE_NETTLE_SHA_H */
/* Define to 1 if you have the `nl_langinfo' function. */
#define HAVE_NL_LANGINFO 1
/* Define to 1 if you have the `openat' function. */
#define HAVE_OPENAT 1
/* Define to 1 if you have the <paths.h> header file. */
#define HAVE_PATHS_H 1
/* Define to 1 if you have the <pcreposix.h> header file. */
/* #undef HAVE_PCREPOSIX_H */
/* Define to 1 if you have the `pipe' function. */
#define HAVE_PIPE 1
/* Define to 1 if you have the `PKCS5_PBKDF2_HMAC_SHA1' function. */
/* #undef HAVE_PKCS5_PBKDF2_HMAC_SHA1 */
/* Define to 1 if you have the `poll' function. */
#define HAVE_POLL 1
/* Define to 1 if you have the <poll.h> header file. */
#define HAVE_POLL_H 1
/* Define to 1 if you have the `posix_spawnp' function. */
#define HAVE_POSIX_SPAWNP 1
/* Define to 1 if you have the <process.h> header file. */
/* #undef HAVE_PROCESS_H */
/* Define to 1 if you have the <pthread.h> header file. */
#define HAVE_PTHREAD_H 1
/* Define to 1 if you have the <pwd.h> header file. */
#define HAVE_PWD_H 1
/* Define to 1 if you have the `readdir_r' function. */
#define HAVE_READDIR_R 1
/* Define to 1 if you have the `readlink' function. */
#define HAVE_READLINK 1
/* Define to 1 if you have the `readlinkat' function. */
/* #undef HAVE_READLINKAT */
/* Define to 1 if you have the `readpassphrase' function. */
/* #undef HAVE_READPASSPHRASE */
/* Define to 1 if you have the <readpassphrase.h> header file. */
/* #undef HAVE_READPASSPHRASE_H */
/* Define to 1 if you have the <regex.h> header file. */
#define HAVE_REGEX_H 1
/* Define to 1 if you have the `select' function. */
#define HAVE_SELECT 1
/* Define to 1 if you have the `setenv' function. */
#define HAVE_SETENV 1
/* Define to 1 if you have the `setlocale' function. */
#define HAVE_SETLOCALE 1
/* Define to 1 if you have the `sigaction' function. */
#define HAVE_SIGACTION 1
/* Define to 1 if you have the <signal.h> header file. */
#define HAVE_SIGNAL_H 1
/* Define to 1 if you have the <spawn.h> header file. */
#define HAVE_SPAWN_H 1
/* Define to 1 if you have the `statfs' function. */
#define HAVE_STATFS 1
/* Define to 1 if you have the `statvfs' function. */
#define HAVE_STATVFS 1
/* Define to 1 if `stat' has the bug that it succeeds when given the
zero-length file name argument. */
/* #undef HAVE_STAT_EMPTY_STRING_BUG */
/* Define to 1 if you have the <stdarg.h> header file. */
#define HAVE_STDARG_H 1
/* Define to 1 if you have the <stdlib.h> header file. */
#define HAVE_STDLIB_H 1
/* Define to 1 if you have the `strchr' function. */
#define HAVE_STRCHR 1
/* Define to 1 if you have the `strnlen' function. */
#define HAVE_STRNLEN 1
/* Define to 1 if you have the `strdup' function. */
#define HAVE_STRDUP 1
/* Define to 1 if you have the `strerror' function. */
#define HAVE_STRERROR 1
/* Define to 1 if you have the `strerror_r' function. */
#define HAVE_STRERROR_R 1
/* Define to 1 if you have the `strftime' function. */
#define HAVE_STRFTIME 1
/* Define to 1 if you have the <strings.h> header file. */
#define HAVE_STRINGS_H 1
/* Define to 1 if you have the <string.h> header file. */
#define HAVE_STRING_H 1
/* Define to 1 if you have the `strrchr' function. */
#define HAVE_STRRCHR 1
/* Define to 1 if `f_namemax' is a member of `struct statfs'. */
/* #undef HAVE_STRUCT_STATFS_F_NAMEMAX */
/* Define to 1 if `f_iosize' is a member of `struct statvfs'. */
/* #undef HAVE_STRUCT_STATVFS_F_IOSIZE */
/* Define to 1 if `st_birthtime' is a member of `struct stat'. */
/* #undef HAVE_STRUCT_STAT_ST_BIRTHTIME */
/* Define to 1 if `st_birthtimespec.tv_nsec' is a member of `struct stat'. */
/* #undef HAVE_STRUCT_STAT_ST_BIRTHTIMESPEC_TV_NSEC */
/* Define to 1 if `st_blksize' is a member of `struct stat'. */
#define HAVE_STRUCT_STAT_ST_BLKSIZE 1
/* Define to 1 if `st_flags' is a member of `struct stat'. */
/* #undef HAVE_STRUCT_STAT_ST_FLAGS */
/* Define to 1 if `st_mtimespec.tv_nsec' is a member of `struct stat'. */
/* #undef HAVE_STRUCT_STAT_ST_MTIMESPEC_TV_NSEC */
/* Define to 1 if `st_mtime_n' is a member of `struct stat'. */
/* #undef HAVE_STRUCT_STAT_ST_MTIME_N */
/* Define to 1 if `st_mtime_usec' is a member of `struct stat'. */
/* #undef HAVE_STRUCT_STAT_ST_MTIME_USEC */
/* Define to 1 if `st_mtim.tv_nsec' is a member of `struct stat'. */
#define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1
/* Define to 1 if `st_umtime' is a member of `struct stat'. */
/* #undef HAVE_STRUCT_STAT_ST_UMTIME */
/* Define to 1 if `tm_gmtoff' is a member of `struct tm'. */
#define HAVE_STRUCT_TM_TM_GMTOFF 1
/* Define to 1 if `__tm_gmtoff' is a member of `struct tm'. */
/* #undef HAVE_STRUCT_TM___TM_GMTOFF */
/* Define to 1 if you have `struct vfsconf'. */
/* #undef HAVE_STRUCT_VFSCONF */
/* Define to 1 if you have `struct xvfsconf'. */
/* #undef HAVE_STRUCT_XVFSCONF */
/* Define to 1 if you have the `symlink' function. */
#define HAVE_SYMLINK 1
/* Define to 1 if you have the <sys/acl.h> header file. */
/* #undef HAVE_SYS_ACL_H */
/* Define to 1 if you have the <sys/cdefs.h> header file. */
#define HAVE_SYS_CDEFS_H 1
/* Define to 1 if you have the <sys/dir.h> header file, and it defines `DIR'.
*/
/* #undef HAVE_SYS_DIR_H */
/* Define to 1 if you have the <sys/ea.h> header file. */
/* #undef HAVE_SYS_EA_H */
/* Define to 1 if you have the <sys/extattr.h> header file. */
/* #undef HAVE_SYS_EXTATTR_H */
/* Define to 1 if you have the <sys/ioctl.h> header file. */
#define HAVE_SYS_IOCTL_H 1
/* Define to 1 if you have the <sys/mkdev.h> header file. */
/* #undef HAVE_SYS_MKDEV_H */
/* Define to 1 if you have the <sys/mount.h> header file. */
/* #undef HAVE_SYS_MOUNT_H */
/* Define to 1 if you have the <sys/ndir.h> header file, and it defines `DIR'.
*/
/* #undef HAVE_SYS_NDIR_H */
/* Define to 1 if you have the <sys/param.h> header file. */
#define HAVE_SYS_PARAM_H 1
/* Define to 1 if you have the <sys/poll.h> header file. */
#define HAVE_SYS_POLL_H 1
/* Define to 1 if you have the <sys/richacl.h> header file. */
/* #undef HAVE_SYS_RICHACL_H */
/* Define to 1 if you have the <sys/select.h> header file. */
#define HAVE_SYS_SELECT_H 1
/* Define to 1 if you have the <sys/statfs.h> header file. */
#define HAVE_SYS_STATFS_H 1
/* Define to 1 if you have the <sys/statvfs.h> header file. */
#define HAVE_SYS_STATVFS_H 1
/* Define to 1 if you have the <sys/stat.h> header file. */
#define HAVE_SYS_STAT_H 1
/* Define to 1 if you have the <sys/sysmacros.h> header file. */
#define HAVE_SYS_SYSMACROS_H 1
/* Define to 1 if you have the <sys/time.h> header file. */
#define HAVE_SYS_TIME_H 1
/* Define to 1 if you have the <sys/types.h> header file. */
#define HAVE_SYS_TYPES_H 1
/* Define to 1 if you have the <sys/utime.h> header file. */
/* #undef HAVE_SYS_UTIME_H */
/* Define to 1 if you have the <sys/utsname.h> header file. */
#define HAVE_SYS_UTSNAME_H 1
/* Define to 1 if you have the <sys/vfs.h> header file. */
#define HAVE_SYS_VFS_H 1
/* Define to 1 if you have <sys/wait.h> that is POSIX.1 compatible. */
#define HAVE_SYS_WAIT_H 1
/* Define to 1 if you have the <sys/xattr.h> header file. */
#define HAVE_SYS_XATTR_H 1
/* Define to 1 if you have the `timegm' function. */
#define HAVE_TIMEGM 1
/* Define to 1 if you have the <time.h> header file. */
#define HAVE_TIME_H 1
/* Define to 1 if you have the `tzset' function. */
#define HAVE_TZSET 1
/* Define to 1 if you have the <unistd.h> header file. */
#define HAVE_UNISTD_H 1
/* Define to 1 if you have the `unlinkat' function. */
#define HAVE_UNLINKAT 1
/* Define to 1 if you have the `unsetenv' function. */
#define HAVE_UNSETENV 1
/* Define to 1 if the system has the type `unsigned long long'. */
/* #undef HAVE_UNSIGNED_LONG_LONG */
/* Define to 1 if the system has the type `unsigned long long int'. */
/* #undef HAVE_UNSIGNED_LONG_LONG_INT */
/* Define to 1 if you have the `utime' function. */
#define HAVE_UTIME 1
/* Define to 1 if you have the `utimensat' function. */
#define HAVE_UTIMENSAT 1
/* Define to 1 if you have the `utimes' function. */
#define HAVE_UTIMES 1
/* Define to 1 if you have the <utime.h> header file. */
#define HAVE_UTIME_H 1
/* Define to 1 if you have the `vfork' function. */
#define HAVE_VFORK 1
/* Define to 1 if you have the `vprintf' function. */
#define HAVE_VPRINTF 1
/* Define to 1 if you have the <wchar.h> header file. */
#define HAVE_WCHAR_H 1
/* Define to 1 if the system has the type `wchar_t'. */
#define HAVE_WCHAR_T 1
/* Define to 1 if you have the `wcrtomb' function. */
#define HAVE_WCRTOMB 1
/* Define to 1 if you have the `wcscmp' function. */
#define HAVE_WCSCMP 1
/* Define to 1 if you have the `wcscpy' function. */
#define HAVE_WCSCPY 1
/* Define to 1 if you have the `wcslen' function. */
#define HAVE_WCSLEN 1
/* Define to 1 if you have the `wctomb' function. */
#define HAVE_WCTOMB 1
/* Define to 1 if you have the <wctype.h> header file. */
#define HAVE_WCTYPE_H 1
/* Define to 1 if you have the <wincrypt.h> header file. */
/* #undef HAVE_WINCRYPT_H */
/* Define to 1 if you have the <windows.h> header file. */
/* #undef HAVE_WINDOWS_H */
/* Define to 1 if you have the <winioctl.h> header file. */
/* #undef HAVE_WINIOCTL_H */
/* Define to 1 if you have _CrtSetReportMode in <crtdbg.h> */
/* #undef HAVE__CrtSetReportMode */
/* Define to 1 if you have the `wmemcmp' function. */
#define HAVE_WMEMCMP 1
/* Define to 1 if you have the `wmemcpy' function. */
#define HAVE_WMEMCPY 1
/* Define to 1 if you have the `wmemmove' function. */
#define HAVE_WMEMMOVE 1
/* Define to 1 if you have a working EXT2_IOC_GETFLAGS */
#define HAVE_WORKING_EXT2_IOC_GETFLAGS 1
/* Define to 1 if you have a working FS_IOC_GETFLAGS */
#define HAVE_WORKING_FS_IOC_GETFLAGS 1
/* Define to 1 if you have the <zlib.h> header file. */
#define HAVE_ZLIB_H 1
/* Define to 1 if you have the <zstd.h> header file. */
#define HAVE_ZSTD_H 1
/* Define to 1 if you have the `_ctime64_s' function. */
/* #undef HAVE__CTIME64_S */
/* Define to 1 if you have the `_fseeki64' function. */
/* #undef HAVE__FSEEKI64 */
/* Define to 1 if you have the `_get_timezone' function. */
/* #undef HAVE__GET_TIMEZONE */
/* Define to 1 if you have the `_gmtime64_s' function. */
/* #undef HAVE__GMTIME64_S */
/* Define to 1 if you have the `_localtime64_s' function. */
/* #undef HAVE__LOCALTIME64_S */
/* Define to 1 if you have the `_mkgmtime64' function. */
/* #undef HAVE__MKGMTIME64 */
/* Define as const if the declaration of iconv() needs const. */
#define ICONV_CONST
/* Version number of libarchive as a single integer */
#define LIBARCHIVE_VERSION_NUMBER "3006000"
/* Version number of libarchive */
#define LIBARCHIVE_VERSION_STRING "3.6.0"
/* Define to 1 if `lstat' dereferences a symlink specified with a trailing
slash. */
/* #undef LSTAT_FOLLOWS_SLASHED_SYMLINK */
/* Define to 1 if `major', `minor', and `makedev' are declared in <mkdev.h>.
*/
/* #undef MAJOR_IN_MKDEV */
/* Define to 1 if `major', `minor', and `makedev' are declared in
<sysmacros.h>. */
#define MAJOR_IN_SYSMACROS 1
/* Define to 1 if your C compiler doesn't accept -c and -o together. */
/* #undef NO_MINUS_C_MINUS_O */
/* The size of `wchar_t', as computed by sizeof. */
#define SIZEOF_WCHAR_T 4
/* Define to 1 if strerror_r returns char *. */
/* #undef STRERROR_R_CHAR_P */
/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
#define TIME_WITH_SYS_TIME 1
/*
* Some platform requires a macro to use extension functions.
*/
#define SAFE_TO_DEFINE_EXTENSIONS 1
#ifdef SAFE_TO_DEFINE_EXTENSIONS
/* Enable extensions on AIX 3, Interix. */
#ifndef _ALL_SOURCE
# define _ALL_SOURCE 1
#endif
/* Enable GNU extensions on systems that have them. */
#ifndef _GNU_SOURCE
# define _GNU_SOURCE 1
#endif
/* Enable threading extensions on Solaris. */
#ifndef _POSIX_PTHREAD_SEMANTICS
# define _POSIX_PTHREAD_SEMANTICS 1
#endif
/* Enable extensions on HP NonStop. */
#ifndef _TANDEM_SOURCE
# define _TANDEM_SOURCE 1
#endif
/* Enable general extensions on Solaris. */
#ifndef __EXTENSIONS__
# define __EXTENSIONS__ 1
#endif
#endif /* SAFE_TO_DEFINE_EXTENSIONS */
/* Version number of package */
#define VERSION "3.6.0"
/* Number of bits in a file offset, on hosts where this is settable. */
/* #undef _FILE_OFFSET_BITS */
/* Define to 1 to make fseeko visible on some hosts (e.g. glibc 2.2). */
/* #undef _LARGEFILE_SOURCE */
/* Define for large files, on AIX-style hosts. */
/* #undef _LARGE_FILES */
/* Define to control Windows SDK version */
#ifndef NTDDI_VERSION
/* #undef NTDDI_VERSION */
#endif // NTDDI_VERSION
#ifndef _WIN32_WINNT
/* #undef _WIN32_WINNT */
#endif // _WIN32_WINNT
#ifndef WINVER
/* #undef WINVER */
#endif // WINVER
/* Define to empty if `const' does not conform to ANSI C. */
/* #undef const */
/* Define to `int' if <sys/types.h> doesn't define. */
/* #undef gid_t */
/* Define to `unsigned long' if <sys/types.h> does not define. */
/* #undef id_t */
/* Define to `int' if <sys/types.h> does not define. */
/* #undef mode_t */
/* Define to `long long' if <sys/types.h> does not define. */
/* #undef off_t */
/* Define to `int' if <sys/types.h> doesn't define. */
/* #undef pid_t */
/* Define to `unsigned int' if <sys/types.h> does not define. */
/* #undef size_t */
/* Define to `int' if <sys/types.h> does not define. */
/* #undef ssize_t */
/* Define to `int' if <sys/types.h> doesn't define. */
/* #undef uid_t */
#include <cm3p/kwiml/int.h>
#ifndef KWIML_INT_HAVE_INT64_T
typedef KWIML_INT_int64_t int64_t;
#endif
#ifndef KWIML_INT_HAVE_INT32_T
typedef KWIML_INT_int32_t int32_t;
#endif
#ifndef KWIML_INT_HAVE_INT16_T
typedef KWIML_INT_int16_t int16_t;
#endif
#ifndef KWIML_INT_HAVE_INT8_T
typedef KWIML_INT_int8_t int8_t;
#endif
#ifndef KWIML_INT_HAVE_INTPTR_T
typedef KWIML_INT_intptr_t intptr_t;
#endif
#ifndef KWIML_INT_HAVE_UINT64_T
typedef KWIML_INT_uint64_t uint64_t;
#endif
#ifndef KWIML_INT_HAVE_UINT32_T
typedef KWIML_INT_uint32_t uint32_t;
#endif
#ifndef KWIML_INT_HAVE_UINT16_T
typedef KWIML_INT_uint16_t uint16_t;
#endif
#ifndef KWIML_INT_HAVE_UINT8_T
typedef KWIML_INT_uint8_t uint8_t;
#endif
#ifndef KWIML_INT_HAVE_UINTPTR_T
typedef KWIML_INT_uintptr_t uintptr_t;
#endif
/* Define to 1 if you have the <stdint.h> header file. */
#ifdef KWIML_INT_HAVE_STDINT_H
# define HAVE_STDINT_H 1
#endif
/* Define to 1 if you have the <inttypes.h> header file. */
#ifdef KWIML_INT_HAVE_INTTYPES_H
# define HAVE_INTTYPES_H 1
#endif
#define ARCHIVE_SHA512_COMPILE_TEST
#define ARCHIVE_CRYPTO_SHA512_LIBC2
#define PLATFORM_CONFIG_H "check_crypto_md.h"
/*-
* Copyright (c) 2003-2007 Tim Kientzle
* Copyright (c) 2011 Andres Mejia
* Copyright (c) 2011 Michihiro NAKAJIMA
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR(S) ``AS IS'' AND ANY EXPRESS OR
* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
* IN NO EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
#include "archive_platform.h"
#include "archive.h"
#include "archive_digest_private.h"
/* In particular, force the configure probe to break if it tries
* to test a combination of OpenSSL and libmd. */
#if defined(ARCHIVE_CRYPTO_OPENSSL) && defined(ARCHIVE_CRYPTO_LIBMD)
#error Cannot use both OpenSSL and libmd.
#endif
/*
* Message digest functions for Windows platform.
*/
#if defined(ARCHIVE_CRYPTO_MD5_WIN) ||\
defined(ARCHIVE_CRYPTO_SHA1_WIN) ||\
defined(ARCHIVE_CRYPTO_SHA256_WIN) ||\
defined(ARCHIVE_CRYPTO_SHA384_WIN) ||\
defined(ARCHIVE_CRYPTO_SHA512_WIN)
/*
* Initialize a Message digest.
*/
static int
win_crypto_init(Digest_CTX *ctx, ALG_ID algId)
{
ctx->valid = 0;
if (!CryptAcquireContext(&ctx->cryptProv, NULL, NULL,
PROV_RSA_FULL, CRYPT_VERIFYCONTEXT)) {
if (GetLastError() != (DWORD)NTE_BAD_KEYSET)
return (ARCHIVE_FAILED);
if (!CryptAcquireContext(&ctx->cryptProv, NULL, NULL,
PROV_RSA_FULL, CRYPT_NEWKEYSET))
return (ARCHIVE_FAILED);
}
if (!CryptCreateHash(ctx->cryptProv, algId, 0, 0, &ctx->hash)) {
CryptReleaseContext(ctx->cryptProv, 0);
return (ARCHIVE_FAILED);
}
ctx->valid = 1;
return (ARCHIVE_OK);
}
/*
* Update a Message digest.
*/
static int
win_crypto_Update(Digest_CTX *ctx, const unsigned char *buf, size_t len)
{
if (!ctx->valid)
return (ARCHIVE_FAILED);
CryptHashData(ctx->hash,
(unsigned char *)(uintptr_t)buf,
(DWORD)len, 0);
return (ARCHIVE_OK);
}
static int
win_crypto_Final(unsigned char *buf, size_t bufsize, Digest_CTX *ctx)
{
DWORD siglen = (DWORD)bufsize;
if (!ctx->valid)
return (ARCHIVE_FAILED);
CryptGetHashParam(ctx->hash, HP_HASHVAL, buf, &siglen, 0);
CryptDestroyHash(ctx->hash);
CryptReleaseContext(ctx->cryptProv, 0);
ctx->valid = 0;
return (ARCHIVE_OK);
}
#endif /* defined(ARCHIVE_CRYPTO_*_WIN) */
/* MD5 implementations */
#if defined(ARCHIVE_CRYPTO_MD5_LIBC)
static int
__archive_md5init(archive_md5_ctx *ctx)
{
MD5Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_md5update(archive_md5_ctx *ctx, const void *indata,
size_t insize)
{
MD5Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_md5final(archive_md5_ctx *ctx, void *md)
{
MD5Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_MD5_LIBMD)
static int
__archive_md5init(archive_md5_ctx *ctx)
{
MD5Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_md5update(archive_md5_ctx *ctx, const void *indata,
size_t insize)
{
MD5Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_md5final(archive_md5_ctx *ctx, void *md)
{
MD5Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_MD5_LIBSYSTEM)
static int
__archive_md5init(archive_md5_ctx *ctx)
{
CC_MD5_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_md5update(archive_md5_ctx *ctx, const void *indata,
size_t insize)
{
CC_MD5_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_md5final(archive_md5_ctx *ctx, void *md)
{
CC_MD5_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_MD5_MBEDTLS)
static int
__archive_md5init(archive_md5_ctx *ctx)
{
mbedtls_md5_init(ctx);
if (mbedtls_md5_starts_ret(ctx) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_md5update(archive_md5_ctx *ctx, const void *indata,
size_t insize)
{
if (mbedtls_md5_update_ret(ctx, indata, insize) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_md5final(archive_md5_ctx *ctx, void *md)
{
if (mbedtls_md5_finish_ret(ctx, md) == 0) {
mbedtls_md5_free(ctx);
return (ARCHIVE_OK);
} else {
mbedtls_md5_free(ctx);
return (ARCHIVE_FATAL);
}
}
#elif defined(ARCHIVE_CRYPTO_MD5_NETTLE)
static int
__archive_md5init(archive_md5_ctx *ctx)
{
md5_init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_md5update(archive_md5_ctx *ctx, const void *indata,
size_t insize)
{
md5_update(ctx, insize, indata);
return (ARCHIVE_OK);
}
static int
__archive_md5final(archive_md5_ctx *ctx, void *md)
{
md5_digest(ctx, MD5_DIGEST_SIZE, md);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_MD5_OPENSSL)
static int
__archive_md5init(archive_md5_ctx *ctx)
{
if ((*ctx = EVP_MD_CTX_new()) == NULL)
return (ARCHIVE_FAILED);
EVP_DigestInit(*ctx, EVP_md5());
return (ARCHIVE_OK);
}
static int
__archive_md5update(archive_md5_ctx *ctx, const void *indata,
size_t insize)
{
EVP_DigestUpdate(*ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_md5final(archive_md5_ctx *ctx, void *md)
{
/* HACK: archive_write_set_format_xar.c is finalizing empty contexts, so
* this is meant to cope with that. Real fix is probably to fix
* archive_write_set_format_xar.c
*/
if (*ctx) {
EVP_DigestFinal(*ctx, md, NULL);
EVP_MD_CTX_free(*ctx);
*ctx = NULL;
}
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_MD5_WIN)
static int
__archive_md5init(archive_md5_ctx *ctx)
{
return (win_crypto_init(ctx, CALG_MD5));
}
static int
__archive_md5update(archive_md5_ctx *ctx, const void *indata,
size_t insize)
{
return (win_crypto_Update(ctx, indata, insize));
}
static int
__archive_md5final(archive_md5_ctx *ctx, void *md)
{
return (win_crypto_Final(md, 16, ctx));
}
#else
static int
__archive_md5init(archive_md5_ctx *ctx)
{
(void)ctx; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_md5update(archive_md5_ctx *ctx, const void *indata,
size_t insize)
{
(void)ctx; /* UNUSED */
(void)indata; /* UNUSED */
(void)insize; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_md5final(archive_md5_ctx *ctx, void *md)
{
(void)ctx; /* UNUSED */
(void)md; /* UNUSED */
return (ARCHIVE_FAILED);
}
#endif
/* RIPEMD160 implementations */
#if defined(ARCHIVE_CRYPTO_RMD160_LIBC)
static int
__archive_ripemd160init(archive_rmd160_ctx *ctx)
{
RMD160Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata,
size_t insize)
{
RMD160Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_ripemd160final(archive_rmd160_ctx *ctx, void *md)
{
RMD160Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_RMD160_LIBMD)
static int
__archive_ripemd160init(archive_rmd160_ctx *ctx)
{
RIPEMD160_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata,
size_t insize)
{
RIPEMD160_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_ripemd160final(archive_rmd160_ctx *ctx, void *md)
{
RIPEMD160_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_RMD160_MBEDTLS)
static int
__archive_ripemd160init(archive_rmd160_ctx *ctx)
{
mbedtls_ripemd160_init(ctx);
if (mbedtls_ripemd160_starts_ret(ctx) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata,
size_t insize)
{
if (mbedtls_ripemd160_update_ret(ctx, indata, insize) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_ripemd160final(archive_rmd160_ctx *ctx, void *md)
{
if (mbedtls_ripemd160_finish_ret(ctx, md) == 0) {
mbedtls_ripemd160_free(ctx);
return (ARCHIVE_OK);
} else {
mbedtls_ripemd160_free(ctx);
return (ARCHIVE_FATAL);
}
}
#elif defined(ARCHIVE_CRYPTO_RMD160_NETTLE)
static int
__archive_ripemd160init(archive_rmd160_ctx *ctx)
{
ripemd160_init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata,
size_t insize)
{
ripemd160_update(ctx, insize, indata);
return (ARCHIVE_OK);
}
static int
__archive_ripemd160final(archive_rmd160_ctx *ctx, void *md)
{
ripemd160_digest(ctx, RIPEMD160_DIGEST_SIZE, md);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_RMD160_OPENSSL)
static int
__archive_ripemd160init(archive_rmd160_ctx *ctx)
{
if ((*ctx = EVP_MD_CTX_new()) == NULL)
return (ARCHIVE_FAILED);
EVP_DigestInit(*ctx, EVP_ripemd160());
return (ARCHIVE_OK);
}
static int
__archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata,
size_t insize)
{
EVP_DigestUpdate(*ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_ripemd160final(archive_rmd160_ctx *ctx, void *md)
{
if (*ctx) {
EVP_DigestFinal(*ctx, md, NULL);
EVP_MD_CTX_free(*ctx);
*ctx = NULL;
}
return (ARCHIVE_OK);
}
#else
static int
__archive_ripemd160init(archive_rmd160_ctx *ctx)
{
(void)ctx; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata,
size_t insize)
{
(void)ctx; /* UNUSED */
(void)indata; /* UNUSED */
(void)insize; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_ripemd160final(archive_rmd160_ctx *ctx, void *md)
{
(void)ctx; /* UNUSED */
(void)md; /* UNUSED */
return (ARCHIVE_FAILED);
}
#endif
/* SHA1 implementations */
#if defined(ARCHIVE_CRYPTO_SHA1_LIBC)
static int
__archive_sha1init(archive_sha1_ctx *ctx)
{
SHA1Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha1update(archive_sha1_ctx *ctx, const void *indata,
size_t insize)
{
SHA1Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha1final(archive_sha1_ctx *ctx, void *md)
{
SHA1Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA1_LIBMD)
static int
__archive_sha1init(archive_sha1_ctx *ctx)
{
SHA1_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha1update(archive_sha1_ctx *ctx, const void *indata,
size_t insize)
{
SHA1_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha1final(archive_sha1_ctx *ctx, void *md)
{
SHA1_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA1_LIBSYSTEM)
static int
__archive_sha1init(archive_sha1_ctx *ctx)
{
CC_SHA1_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha1update(archive_sha1_ctx *ctx, const void *indata,
size_t insize)
{
CC_SHA1_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha1final(archive_sha1_ctx *ctx, void *md)
{
CC_SHA1_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA1_MBEDTLS)
static int
__archive_sha1init(archive_sha1_ctx *ctx)
{
mbedtls_sha1_init(ctx);
if (mbedtls_sha1_starts_ret(ctx) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_sha1update(archive_sha1_ctx *ctx, const void *indata,
size_t insize)
{
if (mbedtls_sha1_update_ret(ctx, indata, insize) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_sha1final(archive_sha1_ctx *ctx, void *md)
{
if (mbedtls_sha1_finish_ret(ctx, md) == 0) {
mbedtls_sha1_free(ctx);
return (ARCHIVE_OK);
} else {
mbedtls_sha1_free(ctx);
return (ARCHIVE_FATAL);
}
}
#elif defined(ARCHIVE_CRYPTO_SHA1_NETTLE)
static int
__archive_sha1init(archive_sha1_ctx *ctx)
{
sha1_init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha1update(archive_sha1_ctx *ctx, const void *indata,
size_t insize)
{
sha1_update(ctx, insize, indata);
return (ARCHIVE_OK);
}
static int
__archive_sha1final(archive_sha1_ctx *ctx, void *md)
{
sha1_digest(ctx, SHA1_DIGEST_SIZE, md);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA1_OPENSSL)
static int
__archive_sha1init(archive_sha1_ctx *ctx)
{
if ((*ctx = EVP_MD_CTX_new()) == NULL)
return (ARCHIVE_FAILED);
EVP_DigestInit(*ctx, EVP_sha1());
return (ARCHIVE_OK);
}
static int
__archive_sha1update(archive_sha1_ctx *ctx, const void *indata,
size_t insize)
{
EVP_DigestUpdate(*ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha1final(archive_sha1_ctx *ctx, void *md)
{
/* HACK: archive_write_set_format_xar.c is finalizing empty contexts, so
* this is meant to cope with that. Real fix is probably to fix
* archive_write_set_format_xar.c
*/
if (*ctx) {
EVP_DigestFinal(*ctx, md, NULL);
EVP_MD_CTX_free(*ctx);
*ctx = NULL;
}
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA1_WIN)
static int
__archive_sha1init(archive_sha1_ctx *ctx)
{
return (win_crypto_init(ctx, CALG_SHA1));
}
static int
__archive_sha1update(archive_sha1_ctx *ctx, const void *indata,
size_t insize)
{
return (win_crypto_Update(ctx, indata, insize));
}
static int
__archive_sha1final(archive_sha1_ctx *ctx, void *md)
{
return (win_crypto_Final(md, 20, ctx));
}
#else
static int
__archive_sha1init(archive_sha1_ctx *ctx)
{
(void)ctx; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_sha1update(archive_sha1_ctx *ctx, const void *indata,
size_t insize)
{
(void)ctx; /* UNUSED */
(void)indata; /* UNUSED */
(void)insize; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_sha1final(archive_sha1_ctx *ctx, void *md)
{
(void)ctx; /* UNUSED */
(void)md; /* UNUSED */
return (ARCHIVE_FAILED);
}
#endif
/* SHA256 implementations */
#if defined(ARCHIVE_CRYPTO_SHA256_LIBC)
static int
__archive_sha256init(archive_sha256_ctx *ctx)
{
SHA256_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha256update(archive_sha256_ctx *ctx, const void *indata,
size_t insize)
{
SHA256_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha256final(archive_sha256_ctx *ctx, void *md)
{
SHA256_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA256_LIBC2)
static int
__archive_sha256init(archive_sha256_ctx *ctx)
{
SHA256Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha256update(archive_sha256_ctx *ctx, const void *indata,
size_t insize)
{
SHA256Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha256final(archive_sha256_ctx *ctx, void *md)
{
SHA256Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA256_LIBC3)
static int
__archive_sha256init(archive_sha256_ctx *ctx)
{
SHA256Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha256update(archive_sha256_ctx *ctx, const void *indata,
size_t insize)
{
SHA256Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha256final(archive_sha256_ctx *ctx, void *md)
{
SHA256Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA256_LIBMD)
static int
__archive_sha256init(archive_sha256_ctx *ctx)
{
SHA256_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha256update(archive_sha256_ctx *ctx, const void *indata,
size_t insize)
{
SHA256_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha256final(archive_sha256_ctx *ctx, void *md)
{
SHA256_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA256_LIBSYSTEM)
static int
__archive_sha256init(archive_sha256_ctx *ctx)
{
CC_SHA256_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha256update(archive_sha256_ctx *ctx, const void *indata,
size_t insize)
{
CC_SHA256_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha256final(archive_sha256_ctx *ctx, void *md)
{
CC_SHA256_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA256_MBEDTLS)
static int
__archive_sha256init(archive_sha256_ctx *ctx)
{
mbedtls_sha256_init(ctx);
if (mbedtls_sha256_starts_ret(ctx, 0) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_sha256update(archive_sha256_ctx *ctx, const void *indata,
size_t insize)
{
if (mbedtls_sha256_update_ret(ctx, indata, insize) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_sha256final(archive_sha256_ctx *ctx, void *md)
{
if (mbedtls_sha256_finish_ret(ctx, md) == 0) {
mbedtls_sha256_free(ctx);
return (ARCHIVE_OK);
} else {
mbedtls_sha256_free(ctx);
return (ARCHIVE_FATAL);
}
}
#elif defined(ARCHIVE_CRYPTO_SHA256_NETTLE)
static int
__archive_sha256init(archive_sha256_ctx *ctx)
{
sha256_init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha256update(archive_sha256_ctx *ctx, const void *indata,
size_t insize)
{
sha256_update(ctx, insize, indata);
return (ARCHIVE_OK);
}
static int
__archive_sha256final(archive_sha256_ctx *ctx, void *md)
{
sha256_digest(ctx, SHA256_DIGEST_SIZE, md);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA256_OPENSSL)
static int
__archive_sha256init(archive_sha256_ctx *ctx)
{
if ((*ctx = EVP_MD_CTX_new()) == NULL)
return (ARCHIVE_FAILED);
EVP_DigestInit(*ctx, EVP_sha256());
return (ARCHIVE_OK);
}
static int
__archive_sha256update(archive_sha256_ctx *ctx, const void *indata,
size_t insize)
{
EVP_DigestUpdate(*ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha256final(archive_sha256_ctx *ctx, void *md)
{
if (*ctx) {
EVP_DigestFinal(*ctx, md, NULL);
EVP_MD_CTX_free(*ctx);
*ctx = NULL;
}
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA256_WIN)
static int
__archive_sha256init(archive_sha256_ctx *ctx)
{
return (win_crypto_init(ctx, CALG_SHA_256));
}
static int
__archive_sha256update(archive_sha256_ctx *ctx, const void *indata,
size_t insize)
{
return (win_crypto_Update(ctx, indata, insize));
}
static int
__archive_sha256final(archive_sha256_ctx *ctx, void *md)
{
return (win_crypto_Final(md, 32, ctx));
}
#else
static int
__archive_sha256init(archive_sha256_ctx *ctx)
{
(void)ctx; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_sha256update(archive_sha256_ctx *ctx, const void *indata,
size_t insize)
{
(void)ctx; /* UNUSED */
(void)indata; /* UNUSED */
(void)insize; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_sha256final(archive_sha256_ctx *ctx, void *md)
{
(void)ctx; /* UNUSED */
(void)md; /* UNUSED */
return (ARCHIVE_FAILED);
}
#endif
/* SHA384 implementations */
#if defined(ARCHIVE_CRYPTO_SHA384_LIBC)
static int
__archive_sha384init(archive_sha384_ctx *ctx)
{
SHA384_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha384update(archive_sha384_ctx *ctx, const void *indata,
size_t insize)
{
SHA384_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha384final(archive_sha384_ctx *ctx, void *md)
{
SHA384_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA384_LIBC2)
static int
__archive_sha384init(archive_sha384_ctx *ctx)
{
SHA384Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha384update(archive_sha384_ctx *ctx, const void *indata,
size_t insize)
{
SHA384Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha384final(archive_sha384_ctx *ctx, void *md)
{
SHA384Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA384_LIBC3)
static int
__archive_sha384init(archive_sha384_ctx *ctx)
{
SHA384Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha384update(archive_sha384_ctx *ctx, const void *indata,
size_t insize)
{
SHA384Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha384final(archive_sha384_ctx *ctx, void *md)
{
SHA384Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA384_LIBSYSTEM)
static int
__archive_sha384init(archive_sha384_ctx *ctx)
{
CC_SHA384_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha384update(archive_sha384_ctx *ctx, const void *indata,
size_t insize)
{
CC_SHA384_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha384final(archive_sha384_ctx *ctx, void *md)
{
CC_SHA384_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA384_MBEDTLS)
static int
__archive_sha384init(archive_sha384_ctx *ctx)
{
mbedtls_sha512_init(ctx);
if (mbedtls_sha512_starts_ret(ctx, 1) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_sha384update(archive_sha384_ctx *ctx, const void *indata,
size_t insize)
{
if (mbedtls_sha512_update_ret(ctx, indata, insize) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_sha384final(archive_sha384_ctx *ctx, void *md)
{
if (mbedtls_sha512_finish_ret(ctx, md) == 0) {
mbedtls_sha512_free(ctx);
return (ARCHIVE_OK);
} else {
mbedtls_sha512_free(ctx);
return (ARCHIVE_FATAL);
}
}
#elif defined(ARCHIVE_CRYPTO_SHA384_NETTLE)
static int
__archive_sha384init(archive_sha384_ctx *ctx)
{
sha384_init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha384update(archive_sha384_ctx *ctx, const void *indata,
size_t insize)
{
sha384_update(ctx, insize, indata);
return (ARCHIVE_OK);
}
static int
__archive_sha384final(archive_sha384_ctx *ctx, void *md)
{
sha384_digest(ctx, SHA384_DIGEST_SIZE, md);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA384_OPENSSL)
static int
__archive_sha384init(archive_sha384_ctx *ctx)
{
if ((*ctx = EVP_MD_CTX_new()) == NULL)
return (ARCHIVE_FAILED);
EVP_DigestInit(*ctx, EVP_sha384());
return (ARCHIVE_OK);
}
static int
__archive_sha384update(archive_sha384_ctx *ctx, const void *indata,
size_t insize)
{
EVP_DigestUpdate(*ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha384final(archive_sha384_ctx *ctx, void *md)
{
if (*ctx) {
EVP_DigestFinal(*ctx, md, NULL);
EVP_MD_CTX_free(*ctx);
*ctx = NULL;
}
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA384_WIN)
static int
__archive_sha384init(archive_sha384_ctx *ctx)
{
return (win_crypto_init(ctx, CALG_SHA_384));
}
static int
__archive_sha384update(archive_sha384_ctx *ctx, const void *indata,
size_t insize)
{
return (win_crypto_Update(ctx, indata, insize));
}
static int
__archive_sha384final(archive_sha384_ctx *ctx, void *md)
{
return (win_crypto_Final(md, 48, ctx));
}
#else
static int
__archive_sha384init(archive_sha384_ctx *ctx)
{
(void)ctx; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_sha384update(archive_sha384_ctx *ctx, const void *indata,
size_t insize)
{
(void)ctx; /* UNUSED */
(void)indata; /* UNUSED */
(void)insize; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_sha384final(archive_sha384_ctx *ctx, void *md)
{
(void)ctx; /* UNUSED */
(void)md; /* UNUSED */
return (ARCHIVE_FAILED);
}
#endif
/* SHA512 implementations */
#if defined(ARCHIVE_CRYPTO_SHA512_LIBC)
static int
__archive_sha512init(archive_sha512_ctx *ctx)
{
SHA512_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha512update(archive_sha512_ctx *ctx, const void *indata,
size_t insize)
{
SHA512_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha512final(archive_sha512_ctx *ctx, void *md)
{
SHA512_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA512_LIBC2)
static int
__archive_sha512init(archive_sha512_ctx *ctx)
{
SHA512Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha512update(archive_sha512_ctx *ctx, const void *indata,
size_t insize)
{
SHA512Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha512final(archive_sha512_ctx *ctx, void *md)
{
SHA512Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA512_LIBC3)
static int
__archive_sha512init(archive_sha512_ctx *ctx)
{
SHA512Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha512update(archive_sha512_ctx *ctx, const void *indata,
size_t insize)
{
SHA512Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha512final(archive_sha512_ctx *ctx, void *md)
{
SHA512Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA512_LIBMD)
static int
__archive_sha512init(archive_sha512_ctx *ctx)
{
SHA512_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha512update(archive_sha512_ctx *ctx, const void *indata,
size_t insize)
{
SHA512_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha512final(archive_sha512_ctx *ctx, void *md)
{
SHA512_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA512_LIBSYSTEM)
static int
__archive_sha512init(archive_sha512_ctx *ctx)
{
CC_SHA512_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha512update(archive_sha512_ctx *ctx, const void *indata,
size_t insize)
{
CC_SHA512_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha512final(archive_sha512_ctx *ctx, void *md)
{
CC_SHA512_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA512_MBEDTLS)
static int
__archive_sha512init(archive_sha512_ctx *ctx)
{
mbedtls_sha512_init(ctx);
if (mbedtls_sha512_starts_ret(ctx, 0) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_sha512update(archive_sha512_ctx *ctx, const void *indata,
size_t insize)
{
if (mbedtls_sha512_update_ret(ctx, indata, insize) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_sha512final(archive_sha512_ctx *ctx, void *md)
{
if (mbedtls_sha512_finish_ret(ctx, md) == 0) {
mbedtls_sha512_free(ctx);
return (ARCHIVE_OK);
} else {
mbedtls_sha512_free(ctx);
return (ARCHIVE_FATAL);
}
}
#elif defined(ARCHIVE_CRYPTO_SHA512_NETTLE)
static int
__archive_sha512init(archive_sha512_ctx *ctx)
{
sha512_init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha512update(archive_sha512_ctx *ctx, const void *indata,
size_t insize)
{
sha512_update(ctx, insize, indata);
return (ARCHIVE_OK);
}
static int
__archive_sha512final(archive_sha512_ctx *ctx, void *md)
{
sha512_digest(ctx, SHA512_DIGEST_SIZE, md);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA512_OPENSSL)
static int
__archive_sha512init(archive_sha512_ctx *ctx)
{
if ((*ctx = EVP_MD_CTX_new()) == NULL)
return (ARCHIVE_FAILED);
EVP_DigestInit(*ctx, EVP_sha512());
return (ARCHIVE_OK);
}
static int
__archive_sha512update(archive_sha512_ctx *ctx, const void *indata,
size_t insize)
{
EVP_DigestUpdate(*ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha512final(archive_sha512_ctx *ctx, void *md)
{
if (*ctx) {
EVP_DigestFinal(*ctx, md, NULL);
EVP_MD_CTX_free(*ctx);
*ctx = NULL;
}
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA512_WIN)
static int
__archive_sha512init(archive_sha512_ctx *ctx)
{
return (win_crypto_init(ctx, CALG_SHA_512));
}
static int
__archive_sha512update(archive_sha512_ctx *ctx, const void *indata,
size_t insize)
{
return (win_crypto_Update(ctx, indata, insize));
}
static int
__archive_sha512final(archive_sha512_ctx *ctx, void *md)
{
return (win_crypto_Final(md, 64, ctx));
}
#else
static int
__archive_sha512init(archive_sha512_ctx *ctx)
{
(void)ctx; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_sha512update(archive_sha512_ctx *ctx, const void *indata,
size_t insize)
{
(void)ctx; /* UNUSED */
(void)indata; /* UNUSED */
(void)insize; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_sha512final(archive_sha512_ctx *ctx, void *md)
{
(void)ctx; /* UNUSED */
(void)md; /* UNUSED */
return (ARCHIVE_FAILED);
}
#endif
/* NOTE: Message Digest functions are set based on availability and by the
* following order of preference.
* 1. libc
* 2. libc2
* 3. libc3
* 4. libSystem
* 5. Nettle
* 6. OpenSSL
* 7. libmd
* 8. Windows API
*/
const struct archive_digest __archive_digest =
{
/* MD5 */
&__archive_md5init,
&__archive_md5update,
&__archive_md5final,
/* RIPEMD160 */
&__archive_ripemd160init,
&__archive_ripemd160update,
&__archive_ripemd160final,
/* SHA1 */
&__archive_sha1init,
&__archive_sha1update,
&__archive_sha1final,
/* SHA256 */
&__archive_sha256init,
&__archive_sha256update,
&__archive_sha256final,
/* SHA384 */
&__archive_sha384init,
&__archive_sha384update,
&__archive_sha384final,
/* SHA512 */
&__archive_sha512init,
&__archive_sha512update,
&__archive_sha512final
};
int
main(int argc, char **argv)
{
archive_sha512_ctx ctx;
archive_sha512_init(&ctx);
archive_sha512_update(&ctx, *argv, argc);
archive_sha512_final(&ctx, NULL);
return 0;
}
Checking support for ARCHIVE_CRYPTO_SHA256_LIBC3 failed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeTmp
Run Build Command(s):/bin/gmake -f Makefile cmTC_5dccd/fast && gmake -f CMakeFiles/cmTC_5dccd.dir/build.make CMakeFiles/cmTC_5dccd.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeTmp'
Building C object CMakeFiles/cmTC_5dccd.dir/check_crypto_md.c.o
/bin/gcc -I/usr/src/cmake-3.25.0 -I/usr/src/cmake-3.25.0/Utilities/cmlibarchive/libarchive -I/usr/src/cmake-3.25.0/CMakeFiles/CMakeTmp -I/usr/src/cmake-3.25.0/Utilities -w -std=gnu99 -o CMakeFiles/cmTC_5dccd.dir/check_crypto_md.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeTmp/check_crypto_md.c
In file included from /usr/src/cmake-3.25.0/CMakeFiles/CMakeTmp/check_crypto_md.c:1204:0:
/usr/src/cmake-3.25.0/Utilities/cmlibarchive/libarchive/archive_digest_private.h:81:18: fatal error: sha2.h: No such file or directory
#include <sha2.h>
^
compilation terminated.
gmake[1]: *** [CMakeFiles/cmTC_5dccd.dir/check_crypto_md.c.o] Error 1
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeTmp'
gmake: *** [cmTC_5dccd/fast] Error 2
Source file was:
/* config.h. Generated from build/cmake/config.h.in by cmake configure */
#define __LIBARCHIVE_CONFIG_H_INCLUDED 1
#if defined(__osf__)
# define _OSF_SOURCE
#endif
/*
* Ensure we have C99-style int64_t, etc, all defined.
*/
/* Define ZLIB_WINAPI if zlib was built on Visual Studio. */
/* #undef ZLIB_WINAPI */
/* Darwin ACL support */
/* #undef ARCHIVE_ACL_DARWIN */
/* FreeBSD ACL support */
/* #undef ARCHIVE_ACL_FREEBSD */
/* FreeBSD NFSv4 ACL support */
/* #undef ARCHIVE_ACL_FREEBSD_NFS4 */
/* Linux POSIX.1e ACL support via libacl */
/* #undef ARCHIVE_ACL_LIBACL */
/* Linux NFSv4 ACL support via librichacl */
/* #undef ARCHIVE_ACL_LIBRICHACL */
/* Solaris ACL support */
/* #undef ARCHIVE_ACL_SUNOS */
/* Solaris NFSv4 ACL support */
/* #undef ARCHIVE_ACL_SUNOS_NFS4 */
/* MD5 via ARCHIVE_CRYPTO_MD5_LIBC supported. */
/* #undef ARCHIVE_CRYPTO_MD5_LIBC */
/* MD5 via ARCHIVE_CRYPTO_MD5_LIBSYSTEM supported. */
/* #undef ARCHIVE_CRYPTO_MD5_LIBSYSTEM */
/* MD5 via ARCHIVE_CRYPTO_MD5_NETTLE supported. */
/* #undef ARCHIVE_CRYPTO_MD5_NETTLE */
/* MD5 via ARCHIVE_CRYPTO_MD5_OPENSSL supported. */
/* #undef ARCHIVE_CRYPTO_MD5_OPENSSL */
/* MD5 via ARCHIVE_CRYPTO_MD5_WIN supported. */
/* #undef ARCHIVE_CRYPTO_MD5_WIN */
/* RMD160 via ARCHIVE_CRYPTO_RMD160_LIBC supported. */
/* #undef ARCHIVE_CRYPTO_RMD160_LIBC */
/* RMD160 via ARCHIVE_CRYPTO_RMD160_NETTLE supported. */
/* #undef ARCHIVE_CRYPTO_RMD160_NETTLE */
/* RMD160 via ARCHIVE_CRYPTO_RMD160_OPENSSL supported. */
/* #undef ARCHIVE_CRYPTO_RMD160_OPENSSL */
/* SHA1 via ARCHIVE_CRYPTO_SHA1_LIBC supported. */
/* #undef ARCHIVE_CRYPTO_SHA1_LIBC */
/* SHA1 via ARCHIVE_CRYPTO_SHA1_LIBSYSTEM supported. */
/* #undef ARCHIVE_CRYPTO_SHA1_LIBSYSTEM */
/* SHA1 via ARCHIVE_CRYPTO_SHA1_NETTLE supported. */
/* #undef ARCHIVE_CRYPTO_SHA1_NETTLE */
/* SHA1 via ARCHIVE_CRYPTO_SHA1_OPENSSL supported. */
/* #undef ARCHIVE_CRYPTO_SHA1_OPENSSL */
/* SHA1 via ARCHIVE_CRYPTO_SHA1_WIN supported. */
/* #undef ARCHIVE_CRYPTO_SHA1_WIN */
/* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBC supported. */
/* #undef ARCHIVE_CRYPTO_SHA256_LIBC */
/* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBC2 supported. */
/* #undef ARCHIVE_CRYPTO_SHA256_LIBC2 */
/* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBC3 supported. */
/* #undef ARCHIVE_CRYPTO_SHA256_LIBC3 */
/* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBSYSTEM supported. */
/* #undef ARCHIVE_CRYPTO_SHA256_LIBSYSTEM */
/* SHA256 via ARCHIVE_CRYPTO_SHA256_NETTLE supported. */
/* #undef ARCHIVE_CRYPTO_SHA256_NETTLE */
/* SHA256 via ARCHIVE_CRYPTO_SHA256_OPENSSL supported. */
/* #undef ARCHIVE_CRYPTO_SHA256_OPENSSL */
/* SHA256 via ARCHIVE_CRYPTO_SHA256_WIN supported. */
/* #undef ARCHIVE_CRYPTO_SHA256_WIN */
/* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBC supported. */
/* #undef ARCHIVE_CRYPTO_SHA384_LIBC */
/* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBC2 supported. */
/* #undef ARCHIVE_CRYPTO_SHA384_LIBC2 */
/* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBC3 supported. */
/* #undef ARCHIVE_CRYPTO_SHA384_LIBC3 */
/* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBSYSTEM supported. */
/* #undef ARCHIVE_CRYPTO_SHA384_LIBSYSTEM */
/* SHA384 via ARCHIVE_CRYPTO_SHA384_NETTLE supported. */
/* #undef ARCHIVE_CRYPTO_SHA384_NETTLE */
/* SHA384 via ARCHIVE_CRYPTO_SHA384_OPENSSL supported. */
/* #undef ARCHIVE_CRYPTO_SHA384_OPENSSL */
/* SHA384 via ARCHIVE_CRYPTO_SHA384_WIN supported. */
/* #undef ARCHIVE_CRYPTO_SHA384_WIN */
/* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBC supported. */
/* #undef ARCHIVE_CRYPTO_SHA512_LIBC */
/* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBC2 supported. */
/* #undef ARCHIVE_CRYPTO_SHA512_LIBC2 */
/* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBC3 supported. */
/* #undef ARCHIVE_CRYPTO_SHA512_LIBC3 */
/* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBSYSTEM supported. */
/* #undef ARCHIVE_CRYPTO_SHA512_LIBSYSTEM */
/* SHA512 via ARCHIVE_CRYPTO_SHA512_NETTLE supported. */
/* #undef ARCHIVE_CRYPTO_SHA512_NETTLE */
/* SHA512 via ARCHIVE_CRYPTO_SHA512_OPENSSL supported. */
/* #undef ARCHIVE_CRYPTO_SHA512_OPENSSL */
/* SHA512 via ARCHIVE_CRYPTO_SHA512_WIN supported. */
/* #undef ARCHIVE_CRYPTO_SHA512_WIN */
/* AIX xattr support */
/* #undef ARCHIVE_XATTR_AIX */
/* Darwin xattr support */
/* #undef ARCHIVE_XATTR_DARWIN */
/* FreeBSD xattr support */
/* #undef ARCHIVE_XATTR_FREEBSD */
/* Linux xattr support */
/* #undef ARCHIVE_XATTR_LINUX */
/* Version number of bsdcpio */
#define BSDCPIO_VERSION_STRING "3.6.0"
/* Version number of bsdtar */
#define BSDTAR_VERSION_STRING "3.6.0"
/* Version number of bsdcat */
#define BSDCAT_VERSION_STRING "3.6.0"
/* Define to 1 if you have the `acl_create_entry' function. */
/* #undef HAVE_ACL_CREATE_ENTRY */
/* Define to 1 if you have the `acl_get_fd_np' function. */
/* #undef HAVE_ACL_GET_FD_NP */
/* Define to 1 if you have the `acl_get_link' function. */
/* #undef HAVE_ACL_GET_LINK */
/* Define to 1 if you have the `acl_get_link_np' function. */
/* #undef HAVE_ACL_GET_LINK_NP */
/* Define to 1 if you have the `acl_get_perm' function. */
/* #undef HAVE_ACL_GET_PERM */
/* Define to 1 if you have the `acl_get_perm_np' function. */
/* #undef HAVE_ACL_GET_PERM_NP */
/* Define to 1 if you have the `acl_init' function. */
/* #undef HAVE_ACL_INIT */
/* Define to 1 if you have the <acl/libacl.h> header file. */
/* #undef HAVE_ACL_LIBACL_H */
/* Define to 1 if the system has the type `acl_permset_t'. */
/* #undef HAVE_ACL_PERMSET_T */
/* Define to 1 if you have the `acl_set_fd' function. */
/* #undef HAVE_ACL_SET_FD */
/* Define to 1 if you have the `acl_set_fd_np' function. */
/* #undef HAVE_ACL_SET_FD_NP */
/* Define to 1 if you have the `acl_set_file' function. */
/* #undef HAVE_ACL_SET_FILE */
/* Define to 1 if you have the `arc4random_buf' function. */
/* #undef HAVE_ARC4RANDOM_BUF */
/* Define to 1 if you have the <attr/xattr.h> header file. */
/* #undef HAVE_ATTR_XATTR_H */
/* Define to 1 if you have the <Bcrypt.h> header file. */
/* #undef HAVE_BCRYPT_H */
/* Define to 1 if you have the <bsdxml.h> header file. */
/* #undef HAVE_BSDXML_H */
/* Define to 1 if you have the <bzlib.h> header file. */
#define HAVE_BZLIB_H 1
/* Define to 1 if you have the `chflags' function. */
/* #undef HAVE_CHFLAGS */
/* Define to 1 if you have the `chown' function. */
#define HAVE_CHOWN 1
/* Define to 1 if you have the `chroot' function. */
#define HAVE_CHROOT 1
/* Define to 1 if you have the <copyfile.h> header file. */
/* #undef HAVE_COPYFILE_H */
/* Define to 1 if you have the `ctime_r' function. */
#define HAVE_CTIME_R 1
/* Define to 1 if you have the <ctype.h> header file. */
#define HAVE_CTYPE_H 1
/* Define to 1 if you have the `cygwin_conv_path' function. */
/* #undef HAVE_CYGWIN_CONV_PATH */
/* Define to 1 if you have the declaration of `ACE_GETACL', and to 0 if you
don't. */
/* #undef HAVE_DECL_ACE_GETACL */
/* Define to 1 if you have the declaration of `ACE_GETACLCNT', and to 0 if you
don't. */
/* #undef HAVE_DECL_ACE_GETACLCNT */
/* Define to 1 if you have the declaration of `ACE_SETACL', and to 0 if you
don't. */
/* #undef HAVE_DECL_ACE_SETACL */
/* Define to 1 if you have the declaration of `ACL_SYNCHRONIZE', and to 0 if
you don't. */
/* #undef HAVE_DECL_ACL_SYNCHRONIZE */
/* Define to 1 if you have the declaration of `ACL_TYPE_EXTENDED', and to 0 if
you don't. */
/* #undef HAVE_DECL_ACL_TYPE_EXTENDED */
/* Define to 1 if you have the declaration of `ACL_TYPE_NFS4', and to 0 if you
don't. */
/* #undef HAVE_DECL_ACL_TYPE_NFS4 */
/* Define to 1 if you have the declaration of `ACL_USER', and to 0 if you
don't. */
/* #undef HAVE_DECL_ACL_USER */
/* Define to 1 if you have the declaration of `SETACL', and to 0 if you don't.
*/
/* #undef HAVE_DECL_SETACL */
/* Define to 1 if you have the declaration of `strerror_r', and to 0 if you
don't. */
#define HAVE_DECL_STRERROR_R 1
/* Define to 1 if you have the declaration of `XATTR_NOFOLLOW', and to 0 if
you don't. */
/* #undef HAVE_DECL_XATTR_NOFOLLOW */
/* Define to 1 if you have the <direct.h> header file. */
/* #undef HAVE_DIRECT_H */
/* Define to 1 if you have the <dirent.h> header file, and it defines `DIR'.
*/
#define HAVE_DIRENT_H 1
/* Define to 1 if you have the `dirfd' function. */
#define HAVE_DIRFD 1
/* Define to 1 if you have the <dlfcn.h> header file. */
#define HAVE_DLFCN_H 1
/* Define to 1 if you don't have `vprintf' but do have `_doprnt.' */
/* #undef HAVE_DOPRNT */
/* Define to 1 if nl_langinfo supports D_MD_ORDER */
/* #undef HAVE_D_MD_ORDER */
/* A possible errno value for invalid file format errors */
/* #undef HAVE_EFTYPE */
/* A possible errno value for invalid file format errors */
#define HAVE_EILSEQ 1
/* Define to 1 if you have the <errno.h> header file. */
#define HAVE_ERRNO_H 1
/* Define to 1 if you have the <expat.h> header file. */
/* #undef HAVE_EXPAT_H */
/* Define to 1 if you have the <ext2fs/ext2_fs.h> header file. */
#define HAVE_EXT2FS_EXT2_FS_H 1
/* Define to 1 if you have the `extattr_get_file' function. */
/* #undef HAVE_EXTATTR_GET_FILE */
/* Define to 1 if you have the `extattr_list_file' function. */
/* #undef HAVE_EXTATTR_LIST_FILE */
/* Define to 1 if you have the `extattr_set_fd' function. */
/* #undef HAVE_EXTATTR_SET_FD */
/* Define to 1 if you have the `extattr_set_file' function. */
/* #undef HAVE_EXTATTR_SET_FILE */
/* Define to 1 if EXTATTR_NAMESPACE_USER is defined in sys/extattr.h. */
/* #undef HAVE_DECL_EXTATTR_NAMESPACE_USER */
/* Define to 1 if you have the declaration of `GETACL', and to 0 if you don't.
*/
/* #undef HAVE_DECL_GETACL */
/* Define to 1 if you have the declaration of `GETACLCNT', and to 0 if you
don't. */
/* #undef HAVE_DECL_GETACLCNT */
/* Define to 1 if you have the `fchdir' function. */
#define HAVE_FCHDIR 1
/* Define to 1 if you have the `fchflags' function. */
/* #undef HAVE_FCHFLAGS */
/* Define to 1 if you have the `fchmod' function. */
#define HAVE_FCHMOD 1
/* Define to 1 if you have the `fchown' function. */
#define HAVE_FCHOWN 1
/* Define to 1 if you have the `fcntl' function. */
#define HAVE_FCNTL 1
/* Define to 1 if you have the <fcntl.h> header file. */
#define HAVE_FCNTL_H 1
/* Define to 1 if you have the `fdopendir' function. */
#define HAVE_FDOPENDIR 1
/* Define to 1 if you have the `fgetea' function. */
/* #undef HAVE_FGETEA */
/* Define to 1 if you have the `fgetxattr' function. */
/* #undef HAVE_FGETXATTR */
/* Define to 1 if you have the `flistea' function. */
/* #undef HAVE_FLISTEA */
/* Define to 1 if you have the `flistxattr' function. */
/* #undef HAVE_FLISTXATTR */
/* Define to 1 if you have the `fork' function. */
#define HAVE_FORK 1
/* Define to 1 if fseeko (and presumably ftello) exists and is declared. */
#define HAVE_FSEEKO 1
/* Define to 1 if you have the `fsetea' function. */
/* #undef HAVE_FSETEA */
/* Define to 1 if you have the `fsetxattr' function. */
#define HAVE_FSETXATTR 1
/* Define to 1 if you have the `fstat' function. */
#define HAVE_FSTAT 1
/* Define to 1 if you have the `fstatat' function. */
#define HAVE_FSTATAT 1
/* Define to 1 if you have the `fstatfs' function. */
#define HAVE_FSTATFS 1
/* Define to 1 if you have the `fstatvfs' function. */
#define HAVE_FSTATVFS 1
/* Define to 1 if you have the `ftruncate' function. */
#define HAVE_FTRUNCATE 1
/* Define to 1 if you have the `futimens' function. */
#define HAVE_FUTIMENS 1
/* Define to 1 if you have the `futimes' function. */
#define HAVE_FUTIMES 1
/* Define to 1 if you have the `futimesat' function. */
#define HAVE_FUTIMESAT 1
/* Define to 1 if you have the `getea' function. */
/* #undef HAVE_GETEA */
/* Define to 1 if you have the `geteuid' function. */
#define HAVE_GETEUID 1
/* Define to 1 if you have the `getgrgid_r' function. */
#define HAVE_GETGRGID_R 1
/* Define to 1 if you have the `getgrnam_r' function. */
#define HAVE_GETGRNAM_R 1
/* Define to 1 if you have the `getpid' function. */
#define HAVE_GETPID 1
/* Define to 1 if you have the `getpwnam_r' function. */
#define HAVE_GETPWNAM_R 1
/* Define to 1 if you have the `getpwuid_r' function. */
#define HAVE_GETPWUID_R 1
/* Define to 1 if you have the `getvfsbyname' function. */
/* #undef HAVE_GETVFSBYNAME */
/* Define to 1 if you have the `getxattr' function. */
/* #undef HAVE_GETXATTR */
/* Define to 1 if you have the `gmtime_r' function. */
#define HAVE_GMTIME_R 1
/* Define to 1 if you have the <grp.h> header file. */
#define HAVE_GRP_H 1
/* Define to 1 if you have the `iconv' function. */
/* #undef HAVE_ICONV */
/* Define to 1 if you have the <iconv.h> header file. */
/* #undef HAVE_ICONV_H */
/* Define to 1 if you have the <io.h> header file. */
/* #undef HAVE_IO_H */
/* Define to 1 if you have the <langinfo.h> header file. */
#define HAVE_LANGINFO_H 1
/* Define to 1 if you have the `lchflags' function. */
/* #undef HAVE_LCHFLAGS */
/* Define to 1 if you have the `lchmod' function. */
/* #undef HAVE_LCHMOD */
/* Define to 1 if you have the `lchown' function. */
#define HAVE_LCHOWN 1
/* Define to 1 if you have the `lgetea' function. */
/* #undef HAVE_LGETEA */
/* Define to 1 if you have the `lgetxattr' function. */
/* #undef HAVE_LGETXATTR */
/* Define to 1 if you have the `acl' library (-lacl). */
/* #undef HAVE_LIBACL */
/* Define to 1 if you have the `attr' library (-lattr). */
/* #undef HAVE_LIBATTR */
/* Define to 1 if you have the `bsdxml' library (-lbsdxml). */
/* #undef HAVE_LIBBSDXML */
/* Define to 1 if you have the `bz2' library (-lbz2). */
#define HAVE_LIBBZ2 1
/* Define to 1 if you have the `b2' library (-lb2). */
/* #undef HAVE_LIBB2 */
/* Define to 1 if you have the <blake2.h> header file. */
/* #undef HAVE_BLAKE2_H */
/* Define to 1 if you have the `charset' library (-lcharset). */
/* #undef HAVE_LIBCHARSET */
/* Define to 1 if you have the `crypto' library (-lcrypto). */
#define HAVE_LIBCRYPTO 1
/* Define to 1 if you have the `expat' library (-lexpat). */
/* #undef HAVE_LIBEXPAT */
/* Define to 1 if you have the `gcc' library (-lgcc). */
/* #undef HAVE_LIBGCC */
/* Define to 1 if you have the `lz4' library (-llz4). */
/* #undef HAVE_LIBLZ4 */
/* Define to 1 if you have the `lzma' library (-llzma). */
#define HAVE_LIBLZMA 1
/* Define to 1 if you have the `lzmadec' library (-llzmadec). */
/* #undef HAVE_LIBLZMADEC */
/* Define to 1 if you have the `lzo2' library (-llzo2). */
/* #undef HAVE_LIBLZO2 */
/* Define to 1 if you have the `mbedcrypto' library (-lmbedcrypto). */
/* #undef HAVE_LIBMBEDCRYPTO */
/* Define to 1 if you have the `nettle' library (-lnettle). */
/* #undef HAVE_LIBNETTLE */
/* Define to 1 if you have the `pcre' library (-lpcre). */
/* #undef HAVE_LIBPCRE */
/* Define to 1 if you have the `pcreposix' library (-lpcreposix). */
/* #undef HAVE_LIBPCREPOSIX */
/* Define to 1 if you have the `xml2' library (-lxml2). */
/* #undef HAVE_LIBXML2 */
/* Define to 1 if you have the <libxml/xmlreader.h> header file. */
/* #undef HAVE_LIBXML_XMLREADER_H */
/* Define to 1 if you have the <libxml/xmlwriter.h> header file. */
/* #undef HAVE_LIBXML_XMLWRITER_H */
/* Define to 1 if you have the `z' library (-lz). */
#define HAVE_LIBZ 1
/* Define to 1 if you have the `zstd' library (-lzstd). */
#define HAVE_LIBZSTD 1
/* Define to 1 if you have the `zstd' library (-lzstd) with compression
support. */
#define HAVE_LIBZSTD_COMPRESSOR 1
/* Define to 1 if you have the <limits.h> header file. */
#define HAVE_LIMITS_H 1
/* Define to 1 if you have the `link' function. */
#define HAVE_LINK 1
/* Define to 1 if you have the `linkat' function. */
#define HAVE_LINKAT 1
/* Define to 1 if you have the <linux/fiemap.h> header file. */
#define HAVE_LINUX_FIEMAP_H 1
/* Define to 1 if you have the <linux/fs.h> header file. */
#define HAVE_LINUX_FS_H 1
/* Define to 1 if you have the <linux/magic.h> header file. */
#define HAVE_LINUX_MAGIC_H 1
/* Define to 1 if you have the <linux/types.h> header file. */
#define HAVE_LINUX_TYPES_H 1
/* Define to 1 if you have the `listea' function. */
/* #undef HAVE_LISTEA */
/* Define to 1 if you have the `listxattr' function. */
/* #undef HAVE_LISTXATTR */
/* Define to 1 if you have the `llistea' function. */
/* #undef HAVE_LLISTEA */
/* Define to 1 if you have the `llistxattr' function. */
/* #undef HAVE_LLISTXATTR */
/* Define to 1 if you have the <localcharset.h> header file. */
/* #undef HAVE_LOCALCHARSET_H */
/* Define to 1 if you have the `locale_charset' function. */
/* #undef HAVE_LOCALE_CHARSET */
/* Define to 1 if you have the <locale.h> header file. */
#define HAVE_LOCALE_H 1
/* Define to 1 if you have the `localtime_r' function. */
#define HAVE_LOCALTIME_R 1
/* Define to 1 if the system has the type `long long int'. */
/* #undef HAVE_LONG_LONG_INT */
/* Define to 1 if you have the `lsetea' function. */
/* #undef HAVE_LSETEA */
/* Define to 1 if you have the `lsetxattr' function. */
/* #undef HAVE_LSETXATTR */
/* Define to 1 if you have the `lstat' function. */
#define HAVE_LSTAT 1
/* Define to 1 if `lstat' has the bug that it succeeds when given the
zero-length file name argument. */
/* #undef HAVE_LSTAT_EMPTY_STRING_BUG */
/* Define to 1 if you have the `lutimes' function. */
#define HAVE_LUTIMES 1
/* Define to 1 if you have the <lz4hc.h> header file. */
/* #undef HAVE_LZ4HC_H */
/* Define to 1 if you have the <lz4.h> header file. */
/* #undef HAVE_LZ4_H */
/* Define to 1 if you have the <lzmadec.h> header file. */
/* #undef HAVE_LZMADEC_H */
/* Define to 1 if you have the <lzma.h> header file. */
#define HAVE_LZMA_H 1
/* Define to 1 if you have a working `lzma_stream_encoder_mt' function. */
#define HAVE_LZMA_STREAM_ENCODER_MT 1
/* Define to 1 if you have the <lzo/lzo1x.h> header file. */
/* #undef HAVE_LZO_LZO1X_H */
/* Define to 1 if you have the <lzo/lzoconf.h> header file. */
/* #undef HAVE_LZO_LZOCONF_H */
/* Define to 1 if you have the `mbrtowc' function. */
#define HAVE_MBRTOWC 1
/* Define to 1 if you have the <membership.h> header file. */
/* #undef HAVE_MEMBERSHIP_H */
/* Define to 1 if you have the `memmove' function. */
#define HAVE_MEMMOVE 1
/* Define to 1 if you have the <memory.h> header file. */
#define HAVE_MEMORY_H 1
/* Define to 1 if you have the `mkdir' function. */
#define HAVE_MKDIR 1
/* Define to 1 if you have the `mkfifo' function. */
#define HAVE_MKFIFO 1
/* Define to 1 if you have the `mknod' function. */
#define HAVE_MKNOD 1
/* Define to 1 if you have the `mkstemp' function. */
#define HAVE_MKSTEMP 1
/* Define to 1 if you have the <ndir.h> header file, and it defines `DIR'. */
/* #undef HAVE_NDIR_H */
/* Define to 1 if you have the <nettle/aes.h> header file. */
/* #undef HAVE_NETTLE_AES_H */
/* Define to 1 if you have the <nettle/hmac.h> header file. */
/* #undef HAVE_NETTLE_HMAC_H */
/* Define to 1 if you have the <nettle/md5.h> header file. */
/* #undef HAVE_NETTLE_MD5_H */
/* Define to 1 if you have the <nettle/pbkdf2.h> header file. */
/* #undef HAVE_NETTLE_PBKDF2_H */
/* Define to 1 if you have the <nettle/ripemd160.h> header file. */
/* #undef HAVE_NETTLE_RIPEMD160_H */
/* Define to 1 if you have the <nettle/sha.h> header file. */
/* #undef HAVE_NETTLE_SHA_H */
/* Define to 1 if you have the `nl_langinfo' function. */
#define HAVE_NL_LANGINFO 1
/* Define to 1 if you have the `openat' function. */
#define HAVE_OPENAT 1
/* Define to 1 if you have the <paths.h> header file. */
#define HAVE_PATHS_H 1
/* Define to 1 if you have the <pcreposix.h> header file. */
/* #undef HAVE_PCREPOSIX_H */
/* Define to 1 if you have the `pipe' function. */
#define HAVE_PIPE 1
/* Define to 1 if you have the `PKCS5_PBKDF2_HMAC_SHA1' function. */
/* #undef HAVE_PKCS5_PBKDF2_HMAC_SHA1 */
/* Define to 1 if you have the `poll' function. */
#define HAVE_POLL 1
/* Define to 1 if you have the <poll.h> header file. */
#define HAVE_POLL_H 1
/* Define to 1 if you have the `posix_spawnp' function. */
#define HAVE_POSIX_SPAWNP 1
/* Define to 1 if you have the <process.h> header file. */
/* #undef HAVE_PROCESS_H */
/* Define to 1 if you have the <pthread.h> header file. */
#define HAVE_PTHREAD_H 1
/* Define to 1 if you have the <pwd.h> header file. */
#define HAVE_PWD_H 1
/* Define to 1 if you have the `readdir_r' function. */
#define HAVE_READDIR_R 1
/* Define to 1 if you have the `readlink' function. */
#define HAVE_READLINK 1
/* Define to 1 if you have the `readlinkat' function. */
/* #undef HAVE_READLINKAT */
/* Define to 1 if you have the `readpassphrase' function. */
/* #undef HAVE_READPASSPHRASE */
/* Define to 1 if you have the <readpassphrase.h> header file. */
/* #undef HAVE_READPASSPHRASE_H */
/* Define to 1 if you have the <regex.h> header file. */
#define HAVE_REGEX_H 1
/* Define to 1 if you have the `select' function. */
#define HAVE_SELECT 1
/* Define to 1 if you have the `setenv' function. */
#define HAVE_SETENV 1
/* Define to 1 if you have the `setlocale' function. */
#define HAVE_SETLOCALE 1
/* Define to 1 if you have the `sigaction' function. */
#define HAVE_SIGACTION 1
/* Define to 1 if you have the <signal.h> header file. */
#define HAVE_SIGNAL_H 1
/* Define to 1 if you have the <spawn.h> header file. */
#define HAVE_SPAWN_H 1
/* Define to 1 if you have the `statfs' function. */
#define HAVE_STATFS 1
/* Define to 1 if you have the `statvfs' function. */
#define HAVE_STATVFS 1
/* Define to 1 if `stat' has the bug that it succeeds when given the
zero-length file name argument. */
/* #undef HAVE_STAT_EMPTY_STRING_BUG */
/* Define to 1 if you have the <stdarg.h> header file. */
#define HAVE_STDARG_H 1
/* Define to 1 if you have the <stdlib.h> header file. */
#define HAVE_STDLIB_H 1
/* Define to 1 if you have the `strchr' function. */
#define HAVE_STRCHR 1
/* Define to 1 if you have the `strnlen' function. */
#define HAVE_STRNLEN 1
/* Define to 1 if you have the `strdup' function. */
#define HAVE_STRDUP 1
/* Define to 1 if you have the `strerror' function. */
#define HAVE_STRERROR 1
/* Define to 1 if you have the `strerror_r' function. */
#define HAVE_STRERROR_R 1
/* Define to 1 if you have the `strftime' function. */
#define HAVE_STRFTIME 1
/* Define to 1 if you have the <strings.h> header file. */
#define HAVE_STRINGS_H 1
/* Define to 1 if you have the <string.h> header file. */
#define HAVE_STRING_H 1
/* Define to 1 if you have the `strrchr' function. */
#define HAVE_STRRCHR 1
/* Define to 1 if `f_namemax' is a member of `struct statfs'. */
/* #undef HAVE_STRUCT_STATFS_F_NAMEMAX */
/* Define to 1 if `f_iosize' is a member of `struct statvfs'. */
/* #undef HAVE_STRUCT_STATVFS_F_IOSIZE */
/* Define to 1 if `st_birthtime' is a member of `struct stat'. */
/* #undef HAVE_STRUCT_STAT_ST_BIRTHTIME */
/* Define to 1 if `st_birthtimespec.tv_nsec' is a member of `struct stat'. */
/* #undef HAVE_STRUCT_STAT_ST_BIRTHTIMESPEC_TV_NSEC */
/* Define to 1 if `st_blksize' is a member of `struct stat'. */
#define HAVE_STRUCT_STAT_ST_BLKSIZE 1
/* Define to 1 if `st_flags' is a member of `struct stat'. */
/* #undef HAVE_STRUCT_STAT_ST_FLAGS */
/* Define to 1 if `st_mtimespec.tv_nsec' is a member of `struct stat'. */
/* #undef HAVE_STRUCT_STAT_ST_MTIMESPEC_TV_NSEC */
/* Define to 1 if `st_mtime_n' is a member of `struct stat'. */
/* #undef HAVE_STRUCT_STAT_ST_MTIME_N */
/* Define to 1 if `st_mtime_usec' is a member of `struct stat'. */
/* #undef HAVE_STRUCT_STAT_ST_MTIME_USEC */
/* Define to 1 if `st_mtim.tv_nsec' is a member of `struct stat'. */
#define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1
/* Define to 1 if `st_umtime' is a member of `struct stat'. */
/* #undef HAVE_STRUCT_STAT_ST_UMTIME */
/* Define to 1 if `tm_gmtoff' is a member of `struct tm'. */
#define HAVE_STRUCT_TM_TM_GMTOFF 1
/* Define to 1 if `__tm_gmtoff' is a member of `struct tm'. */
/* #undef HAVE_STRUCT_TM___TM_GMTOFF */
/* Define to 1 if you have `struct vfsconf'. */
/* #undef HAVE_STRUCT_VFSCONF */
/* Define to 1 if you have `struct xvfsconf'. */
/* #undef HAVE_STRUCT_XVFSCONF */
/* Define to 1 if you have the `symlink' function. */
#define HAVE_SYMLINK 1
/* Define to 1 if you have the <sys/acl.h> header file. */
/* #undef HAVE_SYS_ACL_H */
/* Define to 1 if you have the <sys/cdefs.h> header file. */
#define HAVE_SYS_CDEFS_H 1
/* Define to 1 if you have the <sys/dir.h> header file, and it defines `DIR'.
*/
/* #undef HAVE_SYS_DIR_H */
/* Define to 1 if you have the <sys/ea.h> header file. */
/* #undef HAVE_SYS_EA_H */
/* Define to 1 if you have the <sys/extattr.h> header file. */
/* #undef HAVE_SYS_EXTATTR_H */
/* Define to 1 if you have the <sys/ioctl.h> header file. */
#define HAVE_SYS_IOCTL_H 1
/* Define to 1 if you have the <sys/mkdev.h> header file. */
/* #undef HAVE_SYS_MKDEV_H */
/* Define to 1 if you have the <sys/mount.h> header file. */
/* #undef HAVE_SYS_MOUNT_H */
/* Define to 1 if you have the <sys/ndir.h> header file, and it defines `DIR'.
*/
/* #undef HAVE_SYS_NDIR_H */
/* Define to 1 if you have the <sys/param.h> header file. */
#define HAVE_SYS_PARAM_H 1
/* Define to 1 if you have the <sys/poll.h> header file. */
#define HAVE_SYS_POLL_H 1
/* Define to 1 if you have the <sys/richacl.h> header file. */
/* #undef HAVE_SYS_RICHACL_H */
/* Define to 1 if you have the <sys/select.h> header file. */
#define HAVE_SYS_SELECT_H 1
/* Define to 1 if you have the <sys/statfs.h> header file. */
#define HAVE_SYS_STATFS_H 1
/* Define to 1 if you have the <sys/statvfs.h> header file. */
#define HAVE_SYS_STATVFS_H 1
/* Define to 1 if you have the <sys/stat.h> header file. */
#define HAVE_SYS_STAT_H 1
/* Define to 1 if you have the <sys/sysmacros.h> header file. */
#define HAVE_SYS_SYSMACROS_H 1
/* Define to 1 if you have the <sys/time.h> header file. */
#define HAVE_SYS_TIME_H 1
/* Define to 1 if you have the <sys/types.h> header file. */
#define HAVE_SYS_TYPES_H 1
/* Define to 1 if you have the <sys/utime.h> header file. */
/* #undef HAVE_SYS_UTIME_H */
/* Define to 1 if you have the <sys/utsname.h> header file. */
#define HAVE_SYS_UTSNAME_H 1
/* Define to 1 if you have the <sys/vfs.h> header file. */
#define HAVE_SYS_VFS_H 1
/* Define to 1 if you have <sys/wait.h> that is POSIX.1 compatible. */
#define HAVE_SYS_WAIT_H 1
/* Define to 1 if you have the <sys/xattr.h> header file. */
#define HAVE_SYS_XATTR_H 1
/* Define to 1 if you have the `timegm' function. */
#define HAVE_TIMEGM 1
/* Define to 1 if you have the <time.h> header file. */
#define HAVE_TIME_H 1
/* Define to 1 if you have the `tzset' function. */
#define HAVE_TZSET 1
/* Define to 1 if you have the <unistd.h> header file. */
#define HAVE_UNISTD_H 1
/* Define to 1 if you have the `unlinkat' function. */
#define HAVE_UNLINKAT 1
/* Define to 1 if you have the `unsetenv' function. */
#define HAVE_UNSETENV 1
/* Define to 1 if the system has the type `unsigned long long'. */
/* #undef HAVE_UNSIGNED_LONG_LONG */
/* Define to 1 if the system has the type `unsigned long long int'. */
/* #undef HAVE_UNSIGNED_LONG_LONG_INT */
/* Define to 1 if you have the `utime' function. */
#define HAVE_UTIME 1
/* Define to 1 if you have the `utimensat' function. */
#define HAVE_UTIMENSAT 1
/* Define to 1 if you have the `utimes' function. */
#define HAVE_UTIMES 1
/* Define to 1 if you have the <utime.h> header file. */
#define HAVE_UTIME_H 1
/* Define to 1 if you have the `vfork' function. */
#define HAVE_VFORK 1
/* Define to 1 if you have the `vprintf' function. */
#define HAVE_VPRINTF 1
/* Define to 1 if you have the <wchar.h> header file. */
#define HAVE_WCHAR_H 1
/* Define to 1 if the system has the type `wchar_t'. */
#define HAVE_WCHAR_T 1
/* Define to 1 if you have the `wcrtomb' function. */
#define HAVE_WCRTOMB 1
/* Define to 1 if you have the `wcscmp' function. */
#define HAVE_WCSCMP 1
/* Define to 1 if you have the `wcscpy' function. */
#define HAVE_WCSCPY 1
/* Define to 1 if you have the `wcslen' function. */
#define HAVE_WCSLEN 1
/* Define to 1 if you have the `wctomb' function. */
#define HAVE_WCTOMB 1
/* Define to 1 if you have the <wctype.h> header file. */
#define HAVE_WCTYPE_H 1
/* Define to 1 if you have the <wincrypt.h> header file. */
/* #undef HAVE_WINCRYPT_H */
/* Define to 1 if you have the <windows.h> header file. */
/* #undef HAVE_WINDOWS_H */
/* Define to 1 if you have the <winioctl.h> header file. */
/* #undef HAVE_WINIOCTL_H */
/* Define to 1 if you have _CrtSetReportMode in <crtdbg.h> */
/* #undef HAVE__CrtSetReportMode */
/* Define to 1 if you have the `wmemcmp' function. */
#define HAVE_WMEMCMP 1
/* Define to 1 if you have the `wmemcpy' function. */
#define HAVE_WMEMCPY 1
/* Define to 1 if you have the `wmemmove' function. */
#define HAVE_WMEMMOVE 1
/* Define to 1 if you have a working EXT2_IOC_GETFLAGS */
#define HAVE_WORKING_EXT2_IOC_GETFLAGS 1
/* Define to 1 if you have a working FS_IOC_GETFLAGS */
#define HAVE_WORKING_FS_IOC_GETFLAGS 1
/* Define to 1 if you have the <zlib.h> header file. */
#define HAVE_ZLIB_H 1
/* Define to 1 if you have the <zstd.h> header file. */
#define HAVE_ZSTD_H 1
/* Define to 1 if you have the `_ctime64_s' function. */
/* #undef HAVE__CTIME64_S */
/* Define to 1 if you have the `_fseeki64' function. */
/* #undef HAVE__FSEEKI64 */
/* Define to 1 if you have the `_get_timezone' function. */
/* #undef HAVE__GET_TIMEZONE */
/* Define to 1 if you have the `_gmtime64_s' function. */
/* #undef HAVE__GMTIME64_S */
/* Define to 1 if you have the `_localtime64_s' function. */
/* #undef HAVE__LOCALTIME64_S */
/* Define to 1 if you have the `_mkgmtime64' function. */
/* #undef HAVE__MKGMTIME64 */
/* Define as const if the declaration of iconv() needs const. */
#define ICONV_CONST
/* Version number of libarchive as a single integer */
#define LIBARCHIVE_VERSION_NUMBER "3006000"
/* Version number of libarchive */
#define LIBARCHIVE_VERSION_STRING "3.6.0"
/* Define to 1 if `lstat' dereferences a symlink specified with a trailing
slash. */
/* #undef LSTAT_FOLLOWS_SLASHED_SYMLINK */
/* Define to 1 if `major', `minor', and `makedev' are declared in <mkdev.h>.
*/
/* #undef MAJOR_IN_MKDEV */
/* Define to 1 if `major', `minor', and `makedev' are declared in
<sysmacros.h>. */
#define MAJOR_IN_SYSMACROS 1
/* Define to 1 if your C compiler doesn't accept -c and -o together. */
/* #undef NO_MINUS_C_MINUS_O */
/* The size of `wchar_t', as computed by sizeof. */
#define SIZEOF_WCHAR_T 4
/* Define to 1 if strerror_r returns char *. */
/* #undef STRERROR_R_CHAR_P */
/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
#define TIME_WITH_SYS_TIME 1
/*
* Some platform requires a macro to use extension functions.
*/
#define SAFE_TO_DEFINE_EXTENSIONS 1
#ifdef SAFE_TO_DEFINE_EXTENSIONS
/* Enable extensions on AIX 3, Interix. */
#ifndef _ALL_SOURCE
# define _ALL_SOURCE 1
#endif
/* Enable GNU extensions on systems that have them. */
#ifndef _GNU_SOURCE
# define _GNU_SOURCE 1
#endif
/* Enable threading extensions on Solaris. */
#ifndef _POSIX_PTHREAD_SEMANTICS
# define _POSIX_PTHREAD_SEMANTICS 1
#endif
/* Enable extensions on HP NonStop. */
#ifndef _TANDEM_SOURCE
# define _TANDEM_SOURCE 1
#endif
/* Enable general extensions on Solaris. */
#ifndef __EXTENSIONS__
# define __EXTENSIONS__ 1
#endif
#endif /* SAFE_TO_DEFINE_EXTENSIONS */
/* Version number of package */
#define VERSION "3.6.0"
/* Number of bits in a file offset, on hosts where this is settable. */
/* #undef _FILE_OFFSET_BITS */
/* Define to 1 to make fseeko visible on some hosts (e.g. glibc 2.2). */
/* #undef _LARGEFILE_SOURCE */
/* Define for large files, on AIX-style hosts. */
/* #undef _LARGE_FILES */
/* Define to control Windows SDK version */
#ifndef NTDDI_VERSION
/* #undef NTDDI_VERSION */
#endif // NTDDI_VERSION
#ifndef _WIN32_WINNT
/* #undef _WIN32_WINNT */
#endif // _WIN32_WINNT
#ifndef WINVER
/* #undef WINVER */
#endif // WINVER
/* Define to empty if `const' does not conform to ANSI C. */
/* #undef const */
/* Define to `int' if <sys/types.h> doesn't define. */
/* #undef gid_t */
/* Define to `unsigned long' if <sys/types.h> does not define. */
/* #undef id_t */
/* Define to `int' if <sys/types.h> does not define. */
/* #undef mode_t */
/* Define to `long long' if <sys/types.h> does not define. */
/* #undef off_t */
/* Define to `int' if <sys/types.h> doesn't define. */
/* #undef pid_t */
/* Define to `unsigned int' if <sys/types.h> does not define. */
/* #undef size_t */
/* Define to `int' if <sys/types.h> does not define. */
/* #undef ssize_t */
/* Define to `int' if <sys/types.h> doesn't define. */
/* #undef uid_t */
#include <cm3p/kwiml/int.h>
#ifndef KWIML_INT_HAVE_INT64_T
typedef KWIML_INT_int64_t int64_t;
#endif
#ifndef KWIML_INT_HAVE_INT32_T
typedef KWIML_INT_int32_t int32_t;
#endif
#ifndef KWIML_INT_HAVE_INT16_T
typedef KWIML_INT_int16_t int16_t;
#endif
#ifndef KWIML_INT_HAVE_INT8_T
typedef KWIML_INT_int8_t int8_t;
#endif
#ifndef KWIML_INT_HAVE_INTPTR_T
typedef KWIML_INT_intptr_t intptr_t;
#endif
#ifndef KWIML_INT_HAVE_UINT64_T
typedef KWIML_INT_uint64_t uint64_t;
#endif
#ifndef KWIML_INT_HAVE_UINT32_T
typedef KWIML_INT_uint32_t uint32_t;
#endif
#ifndef KWIML_INT_HAVE_UINT16_T
typedef KWIML_INT_uint16_t uint16_t;
#endif
#ifndef KWIML_INT_HAVE_UINT8_T
typedef KWIML_INT_uint8_t uint8_t;
#endif
#ifndef KWIML_INT_HAVE_UINTPTR_T
typedef KWIML_INT_uintptr_t uintptr_t;
#endif
/* Define to 1 if you have the <stdint.h> header file. */
#ifdef KWIML_INT_HAVE_STDINT_H
# define HAVE_STDINT_H 1
#endif
/* Define to 1 if you have the <inttypes.h> header file. */
#ifdef KWIML_INT_HAVE_INTTYPES_H
# define HAVE_INTTYPES_H 1
#endif
#define ARCHIVE_SHA256_COMPILE_TEST
#define ARCHIVE_CRYPTO_SHA256_LIBC3
#define PLATFORM_CONFIG_H "check_crypto_md.h"
/*-
* Copyright (c) 2003-2007 Tim Kientzle
* Copyright (c) 2011 Andres Mejia
* Copyright (c) 2011 Michihiro NAKAJIMA
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR(S) ``AS IS'' AND ANY EXPRESS OR
* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
* IN NO EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
#include "archive_platform.h"
#include "archive.h"
#include "archive_digest_private.h"
/* In particular, force the configure probe to break if it tries
* to test a combination of OpenSSL and libmd. */
#if defined(ARCHIVE_CRYPTO_OPENSSL) && defined(ARCHIVE_CRYPTO_LIBMD)
#error Cannot use both OpenSSL and libmd.
#endif
/*
* Message digest functions for Windows platform.
*/
#if defined(ARCHIVE_CRYPTO_MD5_WIN) ||\
defined(ARCHIVE_CRYPTO_SHA1_WIN) ||\
defined(ARCHIVE_CRYPTO_SHA256_WIN) ||\
defined(ARCHIVE_CRYPTO_SHA384_WIN) ||\
defined(ARCHIVE_CRYPTO_SHA512_WIN)
/*
* Initialize a Message digest.
*/
static int
win_crypto_init(Digest_CTX *ctx, ALG_ID algId)
{
ctx->valid = 0;
if (!CryptAcquireContext(&ctx->cryptProv, NULL, NULL,
PROV_RSA_FULL, CRYPT_VERIFYCONTEXT)) {
if (GetLastError() != (DWORD)NTE_BAD_KEYSET)
return (ARCHIVE_FAILED);
if (!CryptAcquireContext(&ctx->cryptProv, NULL, NULL,
PROV_RSA_FULL, CRYPT_NEWKEYSET))
return (ARCHIVE_FAILED);
}
if (!CryptCreateHash(ctx->cryptProv, algId, 0, 0, &ctx->hash)) {
CryptReleaseContext(ctx->cryptProv, 0);
return (ARCHIVE_FAILED);
}
ctx->valid = 1;
return (ARCHIVE_OK);
}
/*
* Update a Message digest.
*/
static int
win_crypto_Update(Digest_CTX *ctx, const unsigned char *buf, size_t len)
{
if (!ctx->valid)
return (ARCHIVE_FAILED);
CryptHashData(ctx->hash,
(unsigned char *)(uintptr_t)buf,
(DWORD)len, 0);
return (ARCHIVE_OK);
}
static int
win_crypto_Final(unsigned char *buf, size_t bufsize, Digest_CTX *ctx)
{
DWORD siglen = (DWORD)bufsize;
if (!ctx->valid)
return (ARCHIVE_FAILED);
CryptGetHashParam(ctx->hash, HP_HASHVAL, buf, &siglen, 0);
CryptDestroyHash(ctx->hash);
CryptReleaseContext(ctx->cryptProv, 0);
ctx->valid = 0;
return (ARCHIVE_OK);
}
#endif /* defined(ARCHIVE_CRYPTO_*_WIN) */
/* MD5 implementations */
#if defined(ARCHIVE_CRYPTO_MD5_LIBC)
static int
__archive_md5init(archive_md5_ctx *ctx)
{
MD5Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_md5update(archive_md5_ctx *ctx, const void *indata,
size_t insize)
{
MD5Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_md5final(archive_md5_ctx *ctx, void *md)
{
MD5Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_MD5_LIBMD)
static int
__archive_md5init(archive_md5_ctx *ctx)
{
MD5Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_md5update(archive_md5_ctx *ctx, const void *indata,
size_t insize)
{
MD5Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_md5final(archive_md5_ctx *ctx, void *md)
{
MD5Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_MD5_LIBSYSTEM)
static int
__archive_md5init(archive_md5_ctx *ctx)
{
CC_MD5_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_md5update(archive_md5_ctx *ctx, const void *indata,
size_t insize)
{
CC_MD5_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_md5final(archive_md5_ctx *ctx, void *md)
{
CC_MD5_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_MD5_MBEDTLS)
static int
__archive_md5init(archive_md5_ctx *ctx)
{
mbedtls_md5_init(ctx);
if (mbedtls_md5_starts_ret(ctx) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_md5update(archive_md5_ctx *ctx, const void *indata,
size_t insize)
{
if (mbedtls_md5_update_ret(ctx, indata, insize) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_md5final(archive_md5_ctx *ctx, void *md)
{
if (mbedtls_md5_finish_ret(ctx, md) == 0) {
mbedtls_md5_free(ctx);
return (ARCHIVE_OK);
} else {
mbedtls_md5_free(ctx);
return (ARCHIVE_FATAL);
}
}
#elif defined(ARCHIVE_CRYPTO_MD5_NETTLE)
static int
__archive_md5init(archive_md5_ctx *ctx)
{
md5_init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_md5update(archive_md5_ctx *ctx, const void *indata,
size_t insize)
{
md5_update(ctx, insize, indata);
return (ARCHIVE_OK);
}
static int
__archive_md5final(archive_md5_ctx *ctx, void *md)
{
md5_digest(ctx, MD5_DIGEST_SIZE, md);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_MD5_OPENSSL)
static int
__archive_md5init(archive_md5_ctx *ctx)
{
if ((*ctx = EVP_MD_CTX_new()) == NULL)
return (ARCHIVE_FAILED);
EVP_DigestInit(*ctx, EVP_md5());
return (ARCHIVE_OK);
}
static int
__archive_md5update(archive_md5_ctx *ctx, const void *indata,
size_t insize)
{
EVP_DigestUpdate(*ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_md5final(archive_md5_ctx *ctx, void *md)
{
/* HACK: archive_write_set_format_xar.c is finalizing empty contexts, so
* this is meant to cope with that. Real fix is probably to fix
* archive_write_set_format_xar.c
*/
if (*ctx) {
EVP_DigestFinal(*ctx, md, NULL);
EVP_MD_CTX_free(*ctx);
*ctx = NULL;
}
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_MD5_WIN)
static int
__archive_md5init(archive_md5_ctx *ctx)
{
return (win_crypto_init(ctx, CALG_MD5));
}
static int
__archive_md5update(archive_md5_ctx *ctx, const void *indata,
size_t insize)
{
return (win_crypto_Update(ctx, indata, insize));
}
static int
__archive_md5final(archive_md5_ctx *ctx, void *md)
{
return (win_crypto_Final(md, 16, ctx));
}
#else
static int
__archive_md5init(archive_md5_ctx *ctx)
{
(void)ctx; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_md5update(archive_md5_ctx *ctx, const void *indata,
size_t insize)
{
(void)ctx; /* UNUSED */
(void)indata; /* UNUSED */
(void)insize; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_md5final(archive_md5_ctx *ctx, void *md)
{
(void)ctx; /* UNUSED */
(void)md; /* UNUSED */
return (ARCHIVE_FAILED);
}
#endif
/* RIPEMD160 implementations */
#if defined(ARCHIVE_CRYPTO_RMD160_LIBC)
static int
__archive_ripemd160init(archive_rmd160_ctx *ctx)
{
RMD160Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata,
size_t insize)
{
RMD160Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_ripemd160final(archive_rmd160_ctx *ctx, void *md)
{
RMD160Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_RMD160_LIBMD)
static int
__archive_ripemd160init(archive_rmd160_ctx *ctx)
{
RIPEMD160_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata,
size_t insize)
{
RIPEMD160_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_ripemd160final(archive_rmd160_ctx *ctx, void *md)
{
RIPEMD160_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_RMD160_MBEDTLS)
static int
__archive_ripemd160init(archive_rmd160_ctx *ctx)
{
mbedtls_ripemd160_init(ctx);
if (mbedtls_ripemd160_starts_ret(ctx) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata,
size_t insize)
{
if (mbedtls_ripemd160_update_ret(ctx, indata, insize) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_ripemd160final(archive_rmd160_ctx *ctx, void *md)
{
if (mbedtls_ripemd160_finish_ret(ctx, md) == 0) {
mbedtls_ripemd160_free(ctx);
return (ARCHIVE_OK);
} else {
mbedtls_ripemd160_free(ctx);
return (ARCHIVE_FATAL);
}
}
#elif defined(ARCHIVE_CRYPTO_RMD160_NETTLE)
static int
__archive_ripemd160init(archive_rmd160_ctx *ctx)
{
ripemd160_init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata,
size_t insize)
{
ripemd160_update(ctx, insize, indata);
return (ARCHIVE_OK);
}
static int
__archive_ripemd160final(archive_rmd160_ctx *ctx, void *md)
{
ripemd160_digest(ctx, RIPEMD160_DIGEST_SIZE, md);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_RMD160_OPENSSL)
static int
__archive_ripemd160init(archive_rmd160_ctx *ctx)
{
if ((*ctx = EVP_MD_CTX_new()) == NULL)
return (ARCHIVE_FAILED);
EVP_DigestInit(*ctx, EVP_ripemd160());
return (ARCHIVE_OK);
}
static int
__archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata,
size_t insize)
{
EVP_DigestUpdate(*ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_ripemd160final(archive_rmd160_ctx *ctx, void *md)
{
if (*ctx) {
EVP_DigestFinal(*ctx, md, NULL);
EVP_MD_CTX_free(*ctx);
*ctx = NULL;
}
return (ARCHIVE_OK);
}
#else
static int
__archive_ripemd160init(archive_rmd160_ctx *ctx)
{
(void)ctx; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata,
size_t insize)
{
(void)ctx; /* UNUSED */
(void)indata; /* UNUSED */
(void)insize; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_ripemd160final(archive_rmd160_ctx *ctx, void *md)
{
(void)ctx; /* UNUSED */
(void)md; /* UNUSED */
return (ARCHIVE_FAILED);
}
#endif
/* SHA1 implementations */
#if defined(ARCHIVE_CRYPTO_SHA1_LIBC)
static int
__archive_sha1init(archive_sha1_ctx *ctx)
{
SHA1Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha1update(archive_sha1_ctx *ctx, const void *indata,
size_t insize)
{
SHA1Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha1final(archive_sha1_ctx *ctx, void *md)
{
SHA1Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA1_LIBMD)
static int
__archive_sha1init(archive_sha1_ctx *ctx)
{
SHA1_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha1update(archive_sha1_ctx *ctx, const void *indata,
size_t insize)
{
SHA1_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha1final(archive_sha1_ctx *ctx, void *md)
{
SHA1_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA1_LIBSYSTEM)
static int
__archive_sha1init(archive_sha1_ctx *ctx)
{
CC_SHA1_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha1update(archive_sha1_ctx *ctx, const void *indata,
size_t insize)
{
CC_SHA1_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha1final(archive_sha1_ctx *ctx, void *md)
{
CC_SHA1_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA1_MBEDTLS)
static int
__archive_sha1init(archive_sha1_ctx *ctx)
{
mbedtls_sha1_init(ctx);
if (mbedtls_sha1_starts_ret(ctx) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_sha1update(archive_sha1_ctx *ctx, const void *indata,
size_t insize)
{
if (mbedtls_sha1_update_ret(ctx, indata, insize) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_sha1final(archive_sha1_ctx *ctx, void *md)
{
if (mbedtls_sha1_finish_ret(ctx, md) == 0) {
mbedtls_sha1_free(ctx);
return (ARCHIVE_OK);
} else {
mbedtls_sha1_free(ctx);
return (ARCHIVE_FATAL);
}
}
#elif defined(ARCHIVE_CRYPTO_SHA1_NETTLE)
static int
__archive_sha1init(archive_sha1_ctx *ctx)
{
sha1_init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha1update(archive_sha1_ctx *ctx, const void *indata,
size_t insize)
{
sha1_update(ctx, insize, indata);
return (ARCHIVE_OK);
}
static int
__archive_sha1final(archive_sha1_ctx *ctx, void *md)
{
sha1_digest(ctx, SHA1_DIGEST_SIZE, md);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA1_OPENSSL)
static int
__archive_sha1init(archive_sha1_ctx *ctx)
{
if ((*ctx = EVP_MD_CTX_new()) == NULL)
return (ARCHIVE_FAILED);
EVP_DigestInit(*ctx, EVP_sha1());
return (ARCHIVE_OK);
}
static int
__archive_sha1update(archive_sha1_ctx *ctx, const void *indata,
size_t insize)
{
EVP_DigestUpdate(*ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha1final(archive_sha1_ctx *ctx, void *md)
{
/* HACK: archive_write_set_format_xar.c is finalizing empty contexts, so
* this is meant to cope with that. Real fix is probably to fix
* archive_write_set_format_xar.c
*/
if (*ctx) {
EVP_DigestFinal(*ctx, md, NULL);
EVP_MD_CTX_free(*ctx);
*ctx = NULL;
}
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA1_WIN)
static int
__archive_sha1init(archive_sha1_ctx *ctx)
{
return (win_crypto_init(ctx, CALG_SHA1));
}
static int
__archive_sha1update(archive_sha1_ctx *ctx, const void *indata,
size_t insize)
{
return (win_crypto_Update(ctx, indata, insize));
}
static int
__archive_sha1final(archive_sha1_ctx *ctx, void *md)
{
return (win_crypto_Final(md, 20, ctx));
}
#else
static int
__archive_sha1init(archive_sha1_ctx *ctx)
{
(void)ctx; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_sha1update(archive_sha1_ctx *ctx, const void *indata,
size_t insize)
{
(void)ctx; /* UNUSED */
(void)indata; /* UNUSED */
(void)insize; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_sha1final(archive_sha1_ctx *ctx, void *md)
{
(void)ctx; /* UNUSED */
(void)md; /* UNUSED */
return (ARCHIVE_FAILED);
}
#endif
/* SHA256 implementations */
#if defined(ARCHIVE_CRYPTO_SHA256_LIBC)
static int
__archive_sha256init(archive_sha256_ctx *ctx)
{
SHA256_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha256update(archive_sha256_ctx *ctx, const void *indata,
size_t insize)
{
SHA256_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha256final(archive_sha256_ctx *ctx, void *md)
{
SHA256_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA256_LIBC2)
static int
__archive_sha256init(archive_sha256_ctx *ctx)
{
SHA256Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha256update(archive_sha256_ctx *ctx, const void *indata,
size_t insize)
{
SHA256Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha256final(archive_sha256_ctx *ctx, void *md)
{
SHA256Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA256_LIBC3)
static int
__archive_sha256init(archive_sha256_ctx *ctx)
{
SHA256Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha256update(archive_sha256_ctx *ctx, const void *indata,
size_t insize)
{
SHA256Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha256final(archive_sha256_ctx *ctx, void *md)
{
SHA256Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA256_LIBMD)
static int
__archive_sha256init(archive_sha256_ctx *ctx)
{
SHA256_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha256update(archive_sha256_ctx *ctx, const void *indata,
size_t insize)
{
SHA256_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha256final(archive_sha256_ctx *ctx, void *md)
{
SHA256_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA256_LIBSYSTEM)
static int
__archive_sha256init(archive_sha256_ctx *ctx)
{
CC_SHA256_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha256update(archive_sha256_ctx *ctx, const void *indata,
size_t insize)
{
CC_SHA256_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha256final(archive_sha256_ctx *ctx, void *md)
{
CC_SHA256_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA256_MBEDTLS)
static int
__archive_sha256init(archive_sha256_ctx *ctx)
{
mbedtls_sha256_init(ctx);
if (mbedtls_sha256_starts_ret(ctx, 0) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_sha256update(archive_sha256_ctx *ctx, const void *indata,
size_t insize)
{
if (mbedtls_sha256_update_ret(ctx, indata, insize) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_sha256final(archive_sha256_ctx *ctx, void *md)
{
if (mbedtls_sha256_finish_ret(ctx, md) == 0) {
mbedtls_sha256_free(ctx);
return (ARCHIVE_OK);
} else {
mbedtls_sha256_free(ctx);
return (ARCHIVE_FATAL);
}
}
#elif defined(ARCHIVE_CRYPTO_SHA256_NETTLE)
static int
__archive_sha256init(archive_sha256_ctx *ctx)
{
sha256_init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha256update(archive_sha256_ctx *ctx, const void *indata,
size_t insize)
{
sha256_update(ctx, insize, indata);
return (ARCHIVE_OK);
}
static int
__archive_sha256final(archive_sha256_ctx *ctx, void *md)
{
sha256_digest(ctx, SHA256_DIGEST_SIZE, md);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA256_OPENSSL)
static int
__archive_sha256init(archive_sha256_ctx *ctx)
{
if ((*ctx = EVP_MD_CTX_new()) == NULL)
return (ARCHIVE_FAILED);
EVP_DigestInit(*ctx, EVP_sha256());
return (ARCHIVE_OK);
}
static int
__archive_sha256update(archive_sha256_ctx *ctx, const void *indata,
size_t insize)
{
EVP_DigestUpdate(*ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha256final(archive_sha256_ctx *ctx, void *md)
{
if (*ctx) {
EVP_DigestFinal(*ctx, md, NULL);
EVP_MD_CTX_free(*ctx);
*ctx = NULL;
}
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA256_WIN)
static int
__archive_sha256init(archive_sha256_ctx *ctx)
{
return (win_crypto_init(ctx, CALG_SHA_256));
}
static int
__archive_sha256update(archive_sha256_ctx *ctx, const void *indata,
size_t insize)
{
return (win_crypto_Update(ctx, indata, insize));
}
static int
__archive_sha256final(archive_sha256_ctx *ctx, void *md)
{
return (win_crypto_Final(md, 32, ctx));
}
#else
static int
__archive_sha256init(archive_sha256_ctx *ctx)
{
(void)ctx; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_sha256update(archive_sha256_ctx *ctx, const void *indata,
size_t insize)
{
(void)ctx; /* UNUSED */
(void)indata; /* UNUSED */
(void)insize; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_sha256final(archive_sha256_ctx *ctx, void *md)
{
(void)ctx; /* UNUSED */
(void)md; /* UNUSED */
return (ARCHIVE_FAILED);
}
#endif
/* SHA384 implementations */
#if defined(ARCHIVE_CRYPTO_SHA384_LIBC)
static int
__archive_sha384init(archive_sha384_ctx *ctx)
{
SHA384_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha384update(archive_sha384_ctx *ctx, const void *indata,
size_t insize)
{
SHA384_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha384final(archive_sha384_ctx *ctx, void *md)
{
SHA384_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA384_LIBC2)
static int
__archive_sha384init(archive_sha384_ctx *ctx)
{
SHA384Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha384update(archive_sha384_ctx *ctx, const void *indata,
size_t insize)
{
SHA384Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha384final(archive_sha384_ctx *ctx, void *md)
{
SHA384Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA384_LIBC3)
static int
__archive_sha384init(archive_sha384_ctx *ctx)
{
SHA384Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha384update(archive_sha384_ctx *ctx, const void *indata,
size_t insize)
{
SHA384Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha384final(archive_sha384_ctx *ctx, void *md)
{
SHA384Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA384_LIBSYSTEM)
static int
__archive_sha384init(archive_sha384_ctx *ctx)
{
CC_SHA384_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha384update(archive_sha384_ctx *ctx, const void *indata,
size_t insize)
{
CC_SHA384_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha384final(archive_sha384_ctx *ctx, void *md)
{
CC_SHA384_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA384_MBEDTLS)
static int
__archive_sha384init(archive_sha384_ctx *ctx)
{
mbedtls_sha512_init(ctx);
if (mbedtls_sha512_starts_ret(ctx, 1) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_sha384update(archive_sha384_ctx *ctx, const void *indata,
size_t insize)
{
if (mbedtls_sha512_update_ret(ctx, indata, insize) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_sha384final(archive_sha384_ctx *ctx, void *md)
{
if (mbedtls_sha512_finish_ret(ctx, md) == 0) {
mbedtls_sha512_free(ctx);
return (ARCHIVE_OK);
} else {
mbedtls_sha512_free(ctx);
return (ARCHIVE_FATAL);
}
}
#elif defined(ARCHIVE_CRYPTO_SHA384_NETTLE)
static int
__archive_sha384init(archive_sha384_ctx *ctx)
{
sha384_init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha384update(archive_sha384_ctx *ctx, const void *indata,
size_t insize)
{
sha384_update(ctx, insize, indata);
return (ARCHIVE_OK);
}
static int
__archive_sha384final(archive_sha384_ctx *ctx, void *md)
{
sha384_digest(ctx, SHA384_DIGEST_SIZE, md);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA384_OPENSSL)
static int
__archive_sha384init(archive_sha384_ctx *ctx)
{
if ((*ctx = EVP_MD_CTX_new()) == NULL)
return (ARCHIVE_FAILED);
EVP_DigestInit(*ctx, EVP_sha384());
return (ARCHIVE_OK);
}
static int
__archive_sha384update(archive_sha384_ctx *ctx, const void *indata,
size_t insize)
{
EVP_DigestUpdate(*ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha384final(archive_sha384_ctx *ctx, void *md)
{
if (*ctx) {
EVP_DigestFinal(*ctx, md, NULL);
EVP_MD_CTX_free(*ctx);
*ctx = NULL;
}
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA384_WIN)
static int
__archive_sha384init(archive_sha384_ctx *ctx)
{
return (win_crypto_init(ctx, CALG_SHA_384));
}
static int
__archive_sha384update(archive_sha384_ctx *ctx, const void *indata,
size_t insize)
{
return (win_crypto_Update(ctx, indata, insize));
}
static int
__archive_sha384final(archive_sha384_ctx *ctx, void *md)
{
return (win_crypto_Final(md, 48, ctx));
}
#else
static int
__archive_sha384init(archive_sha384_ctx *ctx)
{
(void)ctx; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_sha384update(archive_sha384_ctx *ctx, const void *indata,
size_t insize)
{
(void)ctx; /* UNUSED */
(void)indata; /* UNUSED */
(void)insize; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_sha384final(archive_sha384_ctx *ctx, void *md)
{
(void)ctx; /* UNUSED */
(void)md; /* UNUSED */
return (ARCHIVE_FAILED);
}
#endif
/* SHA512 implementations */
#if defined(ARCHIVE_CRYPTO_SHA512_LIBC)
static int
__archive_sha512init(archive_sha512_ctx *ctx)
{
SHA512_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha512update(archive_sha512_ctx *ctx, const void *indata,
size_t insize)
{
SHA512_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha512final(archive_sha512_ctx *ctx, void *md)
{
SHA512_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA512_LIBC2)
static int
__archive_sha512init(archive_sha512_ctx *ctx)
{
SHA512Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha512update(archive_sha512_ctx *ctx, const void *indata,
size_t insize)
{
SHA512Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha512final(archive_sha512_ctx *ctx, void *md)
{
SHA512Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA512_LIBC3)
static int
__archive_sha512init(archive_sha512_ctx *ctx)
{
SHA512Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha512update(archive_sha512_ctx *ctx, const void *indata,
size_t insize)
{
SHA512Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha512final(archive_sha512_ctx *ctx, void *md)
{
SHA512Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA512_LIBMD)
static int
__archive_sha512init(archive_sha512_ctx *ctx)
{
SHA512_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha512update(archive_sha512_ctx *ctx, const void *indata,
size_t insize)
{
SHA512_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha512final(archive_sha512_ctx *ctx, void *md)
{
SHA512_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA512_LIBSYSTEM)
static int
__archive_sha512init(archive_sha512_ctx *ctx)
{
CC_SHA512_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha512update(archive_sha512_ctx *ctx, const void *indata,
size_t insize)
{
CC_SHA512_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha512final(archive_sha512_ctx *ctx, void *md)
{
CC_SHA512_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA512_MBEDTLS)
static int
__archive_sha512init(archive_sha512_ctx *ctx)
{
mbedtls_sha512_init(ctx);
if (mbedtls_sha512_starts_ret(ctx, 0) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_sha512update(archive_sha512_ctx *ctx, const void *indata,
size_t insize)
{
if (mbedtls_sha512_update_ret(ctx, indata, insize) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_sha512final(archive_sha512_ctx *ctx, void *md)
{
if (mbedtls_sha512_finish_ret(ctx, md) == 0) {
mbedtls_sha512_free(ctx);
return (ARCHIVE_OK);
} else {
mbedtls_sha512_free(ctx);
return (ARCHIVE_FATAL);
}
}
#elif defined(ARCHIVE_CRYPTO_SHA512_NETTLE)
static int
__archive_sha512init(archive_sha512_ctx *ctx)
{
sha512_init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha512update(archive_sha512_ctx *ctx, const void *indata,
size_t insize)
{
sha512_update(ctx, insize, indata);
return (ARCHIVE_OK);
}
static int
__archive_sha512final(archive_sha512_ctx *ctx, void *md)
{
sha512_digest(ctx, SHA512_DIGEST_SIZE, md);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA512_OPENSSL)
static int
__archive_sha512init(archive_sha512_ctx *ctx)
{
if ((*ctx = EVP_MD_CTX_new()) == NULL)
return (ARCHIVE_FAILED);
EVP_DigestInit(*ctx, EVP_sha512());
return (ARCHIVE_OK);
}
static int
__archive_sha512update(archive_sha512_ctx *ctx, const void *indata,
size_t insize)
{
EVP_DigestUpdate(*ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha512final(archive_sha512_ctx *ctx, void *md)
{
if (*ctx) {
EVP_DigestFinal(*ctx, md, NULL);
EVP_MD_CTX_free(*ctx);
*ctx = NULL;
}
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA512_WIN)
static int
__archive_sha512init(archive_sha512_ctx *ctx)
{
return (win_crypto_init(ctx, CALG_SHA_512));
}
static int
__archive_sha512update(archive_sha512_ctx *ctx, const void *indata,
size_t insize)
{
return (win_crypto_Update(ctx, indata, insize));
}
static int
__archive_sha512final(archive_sha512_ctx *ctx, void *md)
{
return (win_crypto_Final(md, 64, ctx));
}
#else
static int
__archive_sha512init(archive_sha512_ctx *ctx)
{
(void)ctx; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_sha512update(archive_sha512_ctx *ctx, const void *indata,
size_t insize)
{
(void)ctx; /* UNUSED */
(void)indata; /* UNUSED */
(void)insize; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_sha512final(archive_sha512_ctx *ctx, void *md)
{
(void)ctx; /* UNUSED */
(void)md; /* UNUSED */
return (ARCHIVE_FAILED);
}
#endif
/* NOTE: Message Digest functions are set based on availability and by the
* following order of preference.
* 1. libc
* 2. libc2
* 3. libc3
* 4. libSystem
* 5. Nettle
* 6. OpenSSL
* 7. libmd
* 8. Windows API
*/
const struct archive_digest __archive_digest =
{
/* MD5 */
&__archive_md5init,
&__archive_md5update,
&__archive_md5final,
/* RIPEMD160 */
&__archive_ripemd160init,
&__archive_ripemd160update,
&__archive_ripemd160final,
/* SHA1 */
&__archive_sha1init,
&__archive_sha1update,
&__archive_sha1final,
/* SHA256 */
&__archive_sha256init,
&__archive_sha256update,
&__archive_sha256final,
/* SHA384 */
&__archive_sha384init,
&__archive_sha384update,
&__archive_sha384final,
/* SHA512 */
&__archive_sha512init,
&__archive_sha512update,
&__archive_sha512final
};
int
main(int argc, char **argv)
{
archive_sha256_ctx ctx;
archive_sha256_init(&ctx);
archive_sha256_update(&ctx, *argv, argc);
archive_sha256_final(&ctx, NULL);
return 0;
}
Checking support for ARCHIVE_CRYPTO_SHA384_LIBC3 failed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeTmp
Run Build Command(s):/bin/gmake -f Makefile cmTC_f8644/fast && gmake -f CMakeFiles/cmTC_f8644.dir/build.make CMakeFiles/cmTC_f8644.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeTmp'
Building C object CMakeFiles/cmTC_f8644.dir/check_crypto_md.c.o
/bin/gcc -I/usr/src/cmake-3.25.0 -I/usr/src/cmake-3.25.0/Utilities/cmlibarchive/libarchive -I/usr/src/cmake-3.25.0/CMakeFiles/CMakeTmp -I/usr/src/cmake-3.25.0/Utilities -w -std=gnu99 -o CMakeFiles/cmTC_f8644.dir/check_crypto_md.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeTmp/check_crypto_md.c
In file included from /usr/src/cmake-3.25.0/CMakeFiles/CMakeTmp/check_crypto_md.c:1204:0:
/usr/src/cmake-3.25.0/Utilities/cmlibarchive/libarchive/archive_digest_private.h:81:18: fatal error: sha2.h: No such file or directory
#include <sha2.h>
^
compilation terminated.
gmake[1]: *** [CMakeFiles/cmTC_f8644.dir/check_crypto_md.c.o] Error 1
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeTmp'
gmake: *** [cmTC_f8644/fast] Error 2
Source file was:
/* config.h. Generated from build/cmake/config.h.in by cmake configure */
#define __LIBARCHIVE_CONFIG_H_INCLUDED 1
#if defined(__osf__)
# define _OSF_SOURCE
#endif
/*
* Ensure we have C99-style int64_t, etc, all defined.
*/
/* Define ZLIB_WINAPI if zlib was built on Visual Studio. */
/* #undef ZLIB_WINAPI */
/* Darwin ACL support */
/* #undef ARCHIVE_ACL_DARWIN */
/* FreeBSD ACL support */
/* #undef ARCHIVE_ACL_FREEBSD */
/* FreeBSD NFSv4 ACL support */
/* #undef ARCHIVE_ACL_FREEBSD_NFS4 */
/* Linux POSIX.1e ACL support via libacl */
/* #undef ARCHIVE_ACL_LIBACL */
/* Linux NFSv4 ACL support via librichacl */
/* #undef ARCHIVE_ACL_LIBRICHACL */
/* Solaris ACL support */
/* #undef ARCHIVE_ACL_SUNOS */
/* Solaris NFSv4 ACL support */
/* #undef ARCHIVE_ACL_SUNOS_NFS4 */
/* MD5 via ARCHIVE_CRYPTO_MD5_LIBC supported. */
/* #undef ARCHIVE_CRYPTO_MD5_LIBC */
/* MD5 via ARCHIVE_CRYPTO_MD5_LIBSYSTEM supported. */
/* #undef ARCHIVE_CRYPTO_MD5_LIBSYSTEM */
/* MD5 via ARCHIVE_CRYPTO_MD5_NETTLE supported. */
/* #undef ARCHIVE_CRYPTO_MD5_NETTLE */
/* MD5 via ARCHIVE_CRYPTO_MD5_OPENSSL supported. */
/* #undef ARCHIVE_CRYPTO_MD5_OPENSSL */
/* MD5 via ARCHIVE_CRYPTO_MD5_WIN supported. */
/* #undef ARCHIVE_CRYPTO_MD5_WIN */
/* RMD160 via ARCHIVE_CRYPTO_RMD160_LIBC supported. */
/* #undef ARCHIVE_CRYPTO_RMD160_LIBC */
/* RMD160 via ARCHIVE_CRYPTO_RMD160_NETTLE supported. */
/* #undef ARCHIVE_CRYPTO_RMD160_NETTLE */
/* RMD160 via ARCHIVE_CRYPTO_RMD160_OPENSSL supported. */
/* #undef ARCHIVE_CRYPTO_RMD160_OPENSSL */
/* SHA1 via ARCHIVE_CRYPTO_SHA1_LIBC supported. */
/* #undef ARCHIVE_CRYPTO_SHA1_LIBC */
/* SHA1 via ARCHIVE_CRYPTO_SHA1_LIBSYSTEM supported. */
/* #undef ARCHIVE_CRYPTO_SHA1_LIBSYSTEM */
/* SHA1 via ARCHIVE_CRYPTO_SHA1_NETTLE supported. */
/* #undef ARCHIVE_CRYPTO_SHA1_NETTLE */
/* SHA1 via ARCHIVE_CRYPTO_SHA1_OPENSSL supported. */
/* #undef ARCHIVE_CRYPTO_SHA1_OPENSSL */
/* SHA1 via ARCHIVE_CRYPTO_SHA1_WIN supported. */
/* #undef ARCHIVE_CRYPTO_SHA1_WIN */
/* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBC supported. */
/* #undef ARCHIVE_CRYPTO_SHA256_LIBC */
/* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBC2 supported. */
/* #undef ARCHIVE_CRYPTO_SHA256_LIBC2 */
/* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBC3 supported. */
/* #undef ARCHIVE_CRYPTO_SHA256_LIBC3 */
/* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBSYSTEM supported. */
/* #undef ARCHIVE_CRYPTO_SHA256_LIBSYSTEM */
/* SHA256 via ARCHIVE_CRYPTO_SHA256_NETTLE supported. */
/* #undef ARCHIVE_CRYPTO_SHA256_NETTLE */
/* SHA256 via ARCHIVE_CRYPTO_SHA256_OPENSSL supported. */
/* #undef ARCHIVE_CRYPTO_SHA256_OPENSSL */
/* SHA256 via ARCHIVE_CRYPTO_SHA256_WIN supported. */
/* #undef ARCHIVE_CRYPTO_SHA256_WIN */
/* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBC supported. */
/* #undef ARCHIVE_CRYPTO_SHA384_LIBC */
/* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBC2 supported. */
/* #undef ARCHIVE_CRYPTO_SHA384_LIBC2 */
/* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBC3 supported. */
/* #undef ARCHIVE_CRYPTO_SHA384_LIBC3 */
/* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBSYSTEM supported. */
/* #undef ARCHIVE_CRYPTO_SHA384_LIBSYSTEM */
/* SHA384 via ARCHIVE_CRYPTO_SHA384_NETTLE supported. */
/* #undef ARCHIVE_CRYPTO_SHA384_NETTLE */
/* SHA384 via ARCHIVE_CRYPTO_SHA384_OPENSSL supported. */
/* #undef ARCHIVE_CRYPTO_SHA384_OPENSSL */
/* SHA384 via ARCHIVE_CRYPTO_SHA384_WIN supported. */
/* #undef ARCHIVE_CRYPTO_SHA384_WIN */
/* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBC supported. */
/* #undef ARCHIVE_CRYPTO_SHA512_LIBC */
/* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBC2 supported. */
/* #undef ARCHIVE_CRYPTO_SHA512_LIBC2 */
/* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBC3 supported. */
/* #undef ARCHIVE_CRYPTO_SHA512_LIBC3 */
/* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBSYSTEM supported. */
/* #undef ARCHIVE_CRYPTO_SHA512_LIBSYSTEM */
/* SHA512 via ARCHIVE_CRYPTO_SHA512_NETTLE supported. */
/* #undef ARCHIVE_CRYPTO_SHA512_NETTLE */
/* SHA512 via ARCHIVE_CRYPTO_SHA512_OPENSSL supported. */
/* #undef ARCHIVE_CRYPTO_SHA512_OPENSSL */
/* SHA512 via ARCHIVE_CRYPTO_SHA512_WIN supported. */
/* #undef ARCHIVE_CRYPTO_SHA512_WIN */
/* AIX xattr support */
/* #undef ARCHIVE_XATTR_AIX */
/* Darwin xattr support */
/* #undef ARCHIVE_XATTR_DARWIN */
/* FreeBSD xattr support */
/* #undef ARCHIVE_XATTR_FREEBSD */
/* Linux xattr support */
/* #undef ARCHIVE_XATTR_LINUX */
/* Version number of bsdcpio */
#define BSDCPIO_VERSION_STRING "3.6.0"
/* Version number of bsdtar */
#define BSDTAR_VERSION_STRING "3.6.0"
/* Version number of bsdcat */
#define BSDCAT_VERSION_STRING "3.6.0"
/* Define to 1 if you have the `acl_create_entry' function. */
/* #undef HAVE_ACL_CREATE_ENTRY */
/* Define to 1 if you have the `acl_get_fd_np' function. */
/* #undef HAVE_ACL_GET_FD_NP */
/* Define to 1 if you have the `acl_get_link' function. */
/* #undef HAVE_ACL_GET_LINK */
/* Define to 1 if you have the `acl_get_link_np' function. */
/* #undef HAVE_ACL_GET_LINK_NP */
/* Define to 1 if you have the `acl_get_perm' function. */
/* #undef HAVE_ACL_GET_PERM */
/* Define to 1 if you have the `acl_get_perm_np' function. */
/* #undef HAVE_ACL_GET_PERM_NP */
/* Define to 1 if you have the `acl_init' function. */
/* #undef HAVE_ACL_INIT */
/* Define to 1 if you have the <acl/libacl.h> header file. */
/* #undef HAVE_ACL_LIBACL_H */
/* Define to 1 if the system has the type `acl_permset_t'. */
/* #undef HAVE_ACL_PERMSET_T */
/* Define to 1 if you have the `acl_set_fd' function. */
/* #undef HAVE_ACL_SET_FD */
/* Define to 1 if you have the `acl_set_fd_np' function. */
/* #undef HAVE_ACL_SET_FD_NP */
/* Define to 1 if you have the `acl_set_file' function. */
/* #undef HAVE_ACL_SET_FILE */
/* Define to 1 if you have the `arc4random_buf' function. */
/* #undef HAVE_ARC4RANDOM_BUF */
/* Define to 1 if you have the <attr/xattr.h> header file. */
/* #undef HAVE_ATTR_XATTR_H */
/* Define to 1 if you have the <Bcrypt.h> header file. */
/* #undef HAVE_BCRYPT_H */
/* Define to 1 if you have the <bsdxml.h> header file. */
/* #undef HAVE_BSDXML_H */
/* Define to 1 if you have the <bzlib.h> header file. */
#define HAVE_BZLIB_H 1
/* Define to 1 if you have the `chflags' function. */
/* #undef HAVE_CHFLAGS */
/* Define to 1 if you have the `chown' function. */
#define HAVE_CHOWN 1
/* Define to 1 if you have the `chroot' function. */
#define HAVE_CHROOT 1
/* Define to 1 if you have the <copyfile.h> header file. */
/* #undef HAVE_COPYFILE_H */
/* Define to 1 if you have the `ctime_r' function. */
#define HAVE_CTIME_R 1
/* Define to 1 if you have the <ctype.h> header file. */
#define HAVE_CTYPE_H 1
/* Define to 1 if you have the `cygwin_conv_path' function. */
/* #undef HAVE_CYGWIN_CONV_PATH */
/* Define to 1 if you have the declaration of `ACE_GETACL', and to 0 if you
don't. */
/* #undef HAVE_DECL_ACE_GETACL */
/* Define to 1 if you have the declaration of `ACE_GETACLCNT', and to 0 if you
don't. */
/* #undef HAVE_DECL_ACE_GETACLCNT */
/* Define to 1 if you have the declaration of `ACE_SETACL', and to 0 if you
don't. */
/* #undef HAVE_DECL_ACE_SETACL */
/* Define to 1 if you have the declaration of `ACL_SYNCHRONIZE', and to 0 if
you don't. */
/* #undef HAVE_DECL_ACL_SYNCHRONIZE */
/* Define to 1 if you have the declaration of `ACL_TYPE_EXTENDED', and to 0 if
you don't. */
/* #undef HAVE_DECL_ACL_TYPE_EXTENDED */
/* Define to 1 if you have the declaration of `ACL_TYPE_NFS4', and to 0 if you
don't. */
/* #undef HAVE_DECL_ACL_TYPE_NFS4 */
/* Define to 1 if you have the declaration of `ACL_USER', and to 0 if you
don't. */
/* #undef HAVE_DECL_ACL_USER */
/* Define to 1 if you have the declaration of `SETACL', and to 0 if you don't.
*/
/* #undef HAVE_DECL_SETACL */
/* Define to 1 if you have the declaration of `strerror_r', and to 0 if you
don't. */
#define HAVE_DECL_STRERROR_R 1
/* Define to 1 if you have the declaration of `XATTR_NOFOLLOW', and to 0 if
you don't. */
/* #undef HAVE_DECL_XATTR_NOFOLLOW */
/* Define to 1 if you have the <direct.h> header file. */
/* #undef HAVE_DIRECT_H */
/* Define to 1 if you have the <dirent.h> header file, and it defines `DIR'.
*/
#define HAVE_DIRENT_H 1
/* Define to 1 if you have the `dirfd' function. */
#define HAVE_DIRFD 1
/* Define to 1 if you have the <dlfcn.h> header file. */
#define HAVE_DLFCN_H 1
/* Define to 1 if you don't have `vprintf' but do have `_doprnt.' */
/* #undef HAVE_DOPRNT */
/* Define to 1 if nl_langinfo supports D_MD_ORDER */
/* #undef HAVE_D_MD_ORDER */
/* A possible errno value for invalid file format errors */
/* #undef HAVE_EFTYPE */
/* A possible errno value for invalid file format errors */
#define HAVE_EILSEQ 1
/* Define to 1 if you have the <errno.h> header file. */
#define HAVE_ERRNO_H 1
/* Define to 1 if you have the <expat.h> header file. */
/* #undef HAVE_EXPAT_H */
/* Define to 1 if you have the <ext2fs/ext2_fs.h> header file. */
#define HAVE_EXT2FS_EXT2_FS_H 1
/* Define to 1 if you have the `extattr_get_file' function. */
/* #undef HAVE_EXTATTR_GET_FILE */
/* Define to 1 if you have the `extattr_list_file' function. */
/* #undef HAVE_EXTATTR_LIST_FILE */
/* Define to 1 if you have the `extattr_set_fd' function. */
/* #undef HAVE_EXTATTR_SET_FD */
/* Define to 1 if you have the `extattr_set_file' function. */
/* #undef HAVE_EXTATTR_SET_FILE */
/* Define to 1 if EXTATTR_NAMESPACE_USER is defined in sys/extattr.h. */
/* #undef HAVE_DECL_EXTATTR_NAMESPACE_USER */
/* Define to 1 if you have the declaration of `GETACL', and to 0 if you don't.
*/
/* #undef HAVE_DECL_GETACL */
/* Define to 1 if you have the declaration of `GETACLCNT', and to 0 if you
don't. */
/* #undef HAVE_DECL_GETACLCNT */
/* Define to 1 if you have the `fchdir' function. */
#define HAVE_FCHDIR 1
/* Define to 1 if you have the `fchflags' function. */
/* #undef HAVE_FCHFLAGS */
/* Define to 1 if you have the `fchmod' function. */
#define HAVE_FCHMOD 1
/* Define to 1 if you have the `fchown' function. */
#define HAVE_FCHOWN 1
/* Define to 1 if you have the `fcntl' function. */
#define HAVE_FCNTL 1
/* Define to 1 if you have the <fcntl.h> header file. */
#define HAVE_FCNTL_H 1
/* Define to 1 if you have the `fdopendir' function. */
#define HAVE_FDOPENDIR 1
/* Define to 1 if you have the `fgetea' function. */
/* #undef HAVE_FGETEA */
/* Define to 1 if you have the `fgetxattr' function. */
/* #undef HAVE_FGETXATTR */
/* Define to 1 if you have the `flistea' function. */
/* #undef HAVE_FLISTEA */
/* Define to 1 if you have the `flistxattr' function. */
/* #undef HAVE_FLISTXATTR */
/* Define to 1 if you have the `fork' function. */
#define HAVE_FORK 1
/* Define to 1 if fseeko (and presumably ftello) exists and is declared. */
#define HAVE_FSEEKO 1
/* Define to 1 if you have the `fsetea' function. */
/* #undef HAVE_FSETEA */
/* Define to 1 if you have the `fsetxattr' function. */
#define HAVE_FSETXATTR 1
/* Define to 1 if you have the `fstat' function. */
#define HAVE_FSTAT 1
/* Define to 1 if you have the `fstatat' function. */
#define HAVE_FSTATAT 1
/* Define to 1 if you have the `fstatfs' function. */
#define HAVE_FSTATFS 1
/* Define to 1 if you have the `fstatvfs' function. */
#define HAVE_FSTATVFS 1
/* Define to 1 if you have the `ftruncate' function. */
#define HAVE_FTRUNCATE 1
/* Define to 1 if you have the `futimens' function. */
#define HAVE_FUTIMENS 1
/* Define to 1 if you have the `futimes' function. */
#define HAVE_FUTIMES 1
/* Define to 1 if you have the `futimesat' function. */
#define HAVE_FUTIMESAT 1
/* Define to 1 if you have the `getea' function. */
/* #undef HAVE_GETEA */
/* Define to 1 if you have the `geteuid' function. */
#define HAVE_GETEUID 1
/* Define to 1 if you have the `getgrgid_r' function. */
#define HAVE_GETGRGID_R 1
/* Define to 1 if you have the `getgrnam_r' function. */
#define HAVE_GETGRNAM_R 1
/* Define to 1 if you have the `getpid' function. */
#define HAVE_GETPID 1
/* Define to 1 if you have the `getpwnam_r' function. */
#define HAVE_GETPWNAM_R 1
/* Define to 1 if you have the `getpwuid_r' function. */
#define HAVE_GETPWUID_R 1
/* Define to 1 if you have the `getvfsbyname' function. */
/* #undef HAVE_GETVFSBYNAME */
/* Define to 1 if you have the `getxattr' function. */
/* #undef HAVE_GETXATTR */
/* Define to 1 if you have the `gmtime_r' function. */
#define HAVE_GMTIME_R 1
/* Define to 1 if you have the <grp.h> header file. */
#define HAVE_GRP_H 1
/* Define to 1 if you have the `iconv' function. */
/* #undef HAVE_ICONV */
/* Define to 1 if you have the <iconv.h> header file. */
/* #undef HAVE_ICONV_H */
/* Define to 1 if you have the <io.h> header file. */
/* #undef HAVE_IO_H */
/* Define to 1 if you have the <langinfo.h> header file. */
#define HAVE_LANGINFO_H 1
/* Define to 1 if you have the `lchflags' function. */
/* #undef HAVE_LCHFLAGS */
/* Define to 1 if you have the `lchmod' function. */
/* #undef HAVE_LCHMOD */
/* Define to 1 if you have the `lchown' function. */
#define HAVE_LCHOWN 1
/* Define to 1 if you have the `lgetea' function. */
/* #undef HAVE_LGETEA */
/* Define to 1 if you have the `lgetxattr' function. */
/* #undef HAVE_LGETXATTR */
/* Define to 1 if you have the `acl' library (-lacl). */
/* #undef HAVE_LIBACL */
/* Define to 1 if you have the `attr' library (-lattr). */
/* #undef HAVE_LIBATTR */
/* Define to 1 if you have the `bsdxml' library (-lbsdxml). */
/* #undef HAVE_LIBBSDXML */
/* Define to 1 if you have the `bz2' library (-lbz2). */
#define HAVE_LIBBZ2 1
/* Define to 1 if you have the `b2' library (-lb2). */
/* #undef HAVE_LIBB2 */
/* Define to 1 if you have the <blake2.h> header file. */
/* #undef HAVE_BLAKE2_H */
/* Define to 1 if you have the `charset' library (-lcharset). */
/* #undef HAVE_LIBCHARSET */
/* Define to 1 if you have the `crypto' library (-lcrypto). */
#define HAVE_LIBCRYPTO 1
/* Define to 1 if you have the `expat' library (-lexpat). */
/* #undef HAVE_LIBEXPAT */
/* Define to 1 if you have the `gcc' library (-lgcc). */
/* #undef HAVE_LIBGCC */
/* Define to 1 if you have the `lz4' library (-llz4). */
/* #undef HAVE_LIBLZ4 */
/* Define to 1 if you have the `lzma' library (-llzma). */
#define HAVE_LIBLZMA 1
/* Define to 1 if you have the `lzmadec' library (-llzmadec). */
/* #undef HAVE_LIBLZMADEC */
/* Define to 1 if you have the `lzo2' library (-llzo2). */
/* #undef HAVE_LIBLZO2 */
/* Define to 1 if you have the `mbedcrypto' library (-lmbedcrypto). */
/* #undef HAVE_LIBMBEDCRYPTO */
/* Define to 1 if you have the `nettle' library (-lnettle). */
/* #undef HAVE_LIBNETTLE */
/* Define to 1 if you have the `pcre' library (-lpcre). */
/* #undef HAVE_LIBPCRE */
/* Define to 1 if you have the `pcreposix' library (-lpcreposix). */
/* #undef HAVE_LIBPCREPOSIX */
/* Define to 1 if you have the `xml2' library (-lxml2). */
/* #undef HAVE_LIBXML2 */
/* Define to 1 if you have the <libxml/xmlreader.h> header file. */
/* #undef HAVE_LIBXML_XMLREADER_H */
/* Define to 1 if you have the <libxml/xmlwriter.h> header file. */
/* #undef HAVE_LIBXML_XMLWRITER_H */
/* Define to 1 if you have the `z' library (-lz). */
#define HAVE_LIBZ 1
/* Define to 1 if you have the `zstd' library (-lzstd). */
#define HAVE_LIBZSTD 1
/* Define to 1 if you have the `zstd' library (-lzstd) with compression
support. */
#define HAVE_LIBZSTD_COMPRESSOR 1
/* Define to 1 if you have the <limits.h> header file. */
#define HAVE_LIMITS_H 1
/* Define to 1 if you have the `link' function. */
#define HAVE_LINK 1
/* Define to 1 if you have the `linkat' function. */
#define HAVE_LINKAT 1
/* Define to 1 if you have the <linux/fiemap.h> header file. */
#define HAVE_LINUX_FIEMAP_H 1
/* Define to 1 if you have the <linux/fs.h> header file. */
#define HAVE_LINUX_FS_H 1
/* Define to 1 if you have the <linux/magic.h> header file. */
#define HAVE_LINUX_MAGIC_H 1
/* Define to 1 if you have the <linux/types.h> header file. */
#define HAVE_LINUX_TYPES_H 1
/* Define to 1 if you have the `listea' function. */
/* #undef HAVE_LISTEA */
/* Define to 1 if you have the `listxattr' function. */
/* #undef HAVE_LISTXATTR */
/* Define to 1 if you have the `llistea' function. */
/* #undef HAVE_LLISTEA */
/* Define to 1 if you have the `llistxattr' function. */
/* #undef HAVE_LLISTXATTR */
/* Define to 1 if you have the <localcharset.h> header file. */
/* #undef HAVE_LOCALCHARSET_H */
/* Define to 1 if you have the `locale_charset' function. */
/* #undef HAVE_LOCALE_CHARSET */
/* Define to 1 if you have the <locale.h> header file. */
#define HAVE_LOCALE_H 1
/* Define to 1 if you have the `localtime_r' function. */
#define HAVE_LOCALTIME_R 1
/* Define to 1 if the system has the type `long long int'. */
/* #undef HAVE_LONG_LONG_INT */
/* Define to 1 if you have the `lsetea' function. */
/* #undef HAVE_LSETEA */
/* Define to 1 if you have the `lsetxattr' function. */
/* #undef HAVE_LSETXATTR */
/* Define to 1 if you have the `lstat' function. */
#define HAVE_LSTAT 1
/* Define to 1 if `lstat' has the bug that it succeeds when given the
zero-length file name argument. */
/* #undef HAVE_LSTAT_EMPTY_STRING_BUG */
/* Define to 1 if you have the `lutimes' function. */
#define HAVE_LUTIMES 1
/* Define to 1 if you have the <lz4hc.h> header file. */
/* #undef HAVE_LZ4HC_H */
/* Define to 1 if you have the <lz4.h> header file. */
/* #undef HAVE_LZ4_H */
/* Define to 1 if you have the <lzmadec.h> header file. */
/* #undef HAVE_LZMADEC_H */
/* Define to 1 if you have the <lzma.h> header file. */
#define HAVE_LZMA_H 1
/* Define to 1 if you have a working `lzma_stream_encoder_mt' function. */
#define HAVE_LZMA_STREAM_ENCODER_MT 1
/* Define to 1 if you have the <lzo/lzo1x.h> header file. */
/* #undef HAVE_LZO_LZO1X_H */
/* Define to 1 if you have the <lzo/lzoconf.h> header file. */
/* #undef HAVE_LZO_LZOCONF_H */
/* Define to 1 if you have the `mbrtowc' function. */
#define HAVE_MBRTOWC 1
/* Define to 1 if you have the <membership.h> header file. */
/* #undef HAVE_MEMBERSHIP_H */
/* Define to 1 if you have the `memmove' function. */
#define HAVE_MEMMOVE 1
/* Define to 1 if you have the <memory.h> header file. */
#define HAVE_MEMORY_H 1
/* Define to 1 if you have the `mkdir' function. */
#define HAVE_MKDIR 1
/* Define to 1 if you have the `mkfifo' function. */
#define HAVE_MKFIFO 1
/* Define to 1 if you have the `mknod' function. */
#define HAVE_MKNOD 1
/* Define to 1 if you have the `mkstemp' function. */
#define HAVE_MKSTEMP 1
/* Define to 1 if you have the <ndir.h> header file, and it defines `DIR'. */
/* #undef HAVE_NDIR_H */
/* Define to 1 if you have the <nettle/aes.h> header file. */
/* #undef HAVE_NETTLE_AES_H */
/* Define to 1 if you have the <nettle/hmac.h> header file. */
/* #undef HAVE_NETTLE_HMAC_H */
/* Define to 1 if you have the <nettle/md5.h> header file. */
/* #undef HAVE_NETTLE_MD5_H */
/* Define to 1 if you have the <nettle/pbkdf2.h> header file. */
/* #undef HAVE_NETTLE_PBKDF2_H */
/* Define to 1 if you have the <nettle/ripemd160.h> header file. */
/* #undef HAVE_NETTLE_RIPEMD160_H */
/* Define to 1 if you have the <nettle/sha.h> header file. */
/* #undef HAVE_NETTLE_SHA_H */
/* Define to 1 if you have the `nl_langinfo' function. */
#define HAVE_NL_LANGINFO 1
/* Define to 1 if you have the `openat' function. */
#define HAVE_OPENAT 1
/* Define to 1 if you have the <paths.h> header file. */
#define HAVE_PATHS_H 1
/* Define to 1 if you have the <pcreposix.h> header file. */
/* #undef HAVE_PCREPOSIX_H */
/* Define to 1 if you have the `pipe' function. */
#define HAVE_PIPE 1
/* Define to 1 if you have the `PKCS5_PBKDF2_HMAC_SHA1' function. */
/* #undef HAVE_PKCS5_PBKDF2_HMAC_SHA1 */
/* Define to 1 if you have the `poll' function. */
#define HAVE_POLL 1
/* Define to 1 if you have the <poll.h> header file. */
#define HAVE_POLL_H 1
/* Define to 1 if you have the `posix_spawnp' function. */
#define HAVE_POSIX_SPAWNP 1
/* Define to 1 if you have the <process.h> header file. */
/* #undef HAVE_PROCESS_H */
/* Define to 1 if you have the <pthread.h> header file. */
#define HAVE_PTHREAD_H 1
/* Define to 1 if you have the <pwd.h> header file. */
#define HAVE_PWD_H 1
/* Define to 1 if you have the `readdir_r' function. */
#define HAVE_READDIR_R 1
/* Define to 1 if you have the `readlink' function. */
#define HAVE_READLINK 1
/* Define to 1 if you have the `readlinkat' function. */
/* #undef HAVE_READLINKAT */
/* Define to 1 if you have the `readpassphrase' function. */
/* #undef HAVE_READPASSPHRASE */
/* Define to 1 if you have the <readpassphrase.h> header file. */
/* #undef HAVE_READPASSPHRASE_H */
/* Define to 1 if you have the <regex.h> header file. */
#define HAVE_REGEX_H 1
/* Define to 1 if you have the `select' function. */
#define HAVE_SELECT 1
/* Define to 1 if you have the `setenv' function. */
#define HAVE_SETENV 1
/* Define to 1 if you have the `setlocale' function. */
#define HAVE_SETLOCALE 1
/* Define to 1 if you have the `sigaction' function. */
#define HAVE_SIGACTION 1
/* Define to 1 if you have the <signal.h> header file. */
#define HAVE_SIGNAL_H 1
/* Define to 1 if you have the <spawn.h> header file. */
#define HAVE_SPAWN_H 1
/* Define to 1 if you have the `statfs' function. */
#define HAVE_STATFS 1
/* Define to 1 if you have the `statvfs' function. */
#define HAVE_STATVFS 1
/* Define to 1 if `stat' has the bug that it succeeds when given the
zero-length file name argument. */
/* #undef HAVE_STAT_EMPTY_STRING_BUG */
/* Define to 1 if you have the <stdarg.h> header file. */
#define HAVE_STDARG_H 1
/* Define to 1 if you have the <stdlib.h> header file. */
#define HAVE_STDLIB_H 1
/* Define to 1 if you have the `strchr' function. */
#define HAVE_STRCHR 1
/* Define to 1 if you have the `strnlen' function. */
#define HAVE_STRNLEN 1
/* Define to 1 if you have the `strdup' function. */
#define HAVE_STRDUP 1
/* Define to 1 if you have the `strerror' function. */
#define HAVE_STRERROR 1
/* Define to 1 if you have the `strerror_r' function. */
#define HAVE_STRERROR_R 1
/* Define to 1 if you have the `strftime' function. */
#define HAVE_STRFTIME 1
/* Define to 1 if you have the <strings.h> header file. */
#define HAVE_STRINGS_H 1
/* Define to 1 if you have the <string.h> header file. */
#define HAVE_STRING_H 1
/* Define to 1 if you have the `strrchr' function. */
#define HAVE_STRRCHR 1
/* Define to 1 if `f_namemax' is a member of `struct statfs'. */
/* #undef HAVE_STRUCT_STATFS_F_NAMEMAX */
/* Define to 1 if `f_iosize' is a member of `struct statvfs'. */
/* #undef HAVE_STRUCT_STATVFS_F_IOSIZE */
/* Define to 1 if `st_birthtime' is a member of `struct stat'. */
/* #undef HAVE_STRUCT_STAT_ST_BIRTHTIME */
/* Define to 1 if `st_birthtimespec.tv_nsec' is a member of `struct stat'. */
/* #undef HAVE_STRUCT_STAT_ST_BIRTHTIMESPEC_TV_NSEC */
/* Define to 1 if `st_blksize' is a member of `struct stat'. */
#define HAVE_STRUCT_STAT_ST_BLKSIZE 1
/* Define to 1 if `st_flags' is a member of `struct stat'. */
/* #undef HAVE_STRUCT_STAT_ST_FLAGS */
/* Define to 1 if `st_mtimespec.tv_nsec' is a member of `struct stat'. */
/* #undef HAVE_STRUCT_STAT_ST_MTIMESPEC_TV_NSEC */
/* Define to 1 if `st_mtime_n' is a member of `struct stat'. */
/* #undef HAVE_STRUCT_STAT_ST_MTIME_N */
/* Define to 1 if `st_mtime_usec' is a member of `struct stat'. */
/* #undef HAVE_STRUCT_STAT_ST_MTIME_USEC */
/* Define to 1 if `st_mtim.tv_nsec' is a member of `struct stat'. */
#define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1
/* Define to 1 if `st_umtime' is a member of `struct stat'. */
/* #undef HAVE_STRUCT_STAT_ST_UMTIME */
/* Define to 1 if `tm_gmtoff' is a member of `struct tm'. */
#define HAVE_STRUCT_TM_TM_GMTOFF 1
/* Define to 1 if `__tm_gmtoff' is a member of `struct tm'. */
/* #undef HAVE_STRUCT_TM___TM_GMTOFF */
/* Define to 1 if you have `struct vfsconf'. */
/* #undef HAVE_STRUCT_VFSCONF */
/* Define to 1 if you have `struct xvfsconf'. */
/* #undef HAVE_STRUCT_XVFSCONF */
/* Define to 1 if you have the `symlink' function. */
#define HAVE_SYMLINK 1
/* Define to 1 if you have the <sys/acl.h> header file. */
/* #undef HAVE_SYS_ACL_H */
/* Define to 1 if you have the <sys/cdefs.h> header file. */
#define HAVE_SYS_CDEFS_H 1
/* Define to 1 if you have the <sys/dir.h> header file, and it defines `DIR'.
*/
/* #undef HAVE_SYS_DIR_H */
/* Define to 1 if you have the <sys/ea.h> header file. */
/* #undef HAVE_SYS_EA_H */
/* Define to 1 if you have the <sys/extattr.h> header file. */
/* #undef HAVE_SYS_EXTATTR_H */
/* Define to 1 if you have the <sys/ioctl.h> header file. */
#define HAVE_SYS_IOCTL_H 1
/* Define to 1 if you have the <sys/mkdev.h> header file. */
/* #undef HAVE_SYS_MKDEV_H */
/* Define to 1 if you have the <sys/mount.h> header file. */
/* #undef HAVE_SYS_MOUNT_H */
/* Define to 1 if you have the <sys/ndir.h> header file, and it defines `DIR'.
*/
/* #undef HAVE_SYS_NDIR_H */
/* Define to 1 if you have the <sys/param.h> header file. */
#define HAVE_SYS_PARAM_H 1
/* Define to 1 if you have the <sys/poll.h> header file. */
#define HAVE_SYS_POLL_H 1
/* Define to 1 if you have the <sys/richacl.h> header file. */
/* #undef HAVE_SYS_RICHACL_H */
/* Define to 1 if you have the <sys/select.h> header file. */
#define HAVE_SYS_SELECT_H 1
/* Define to 1 if you have the <sys/statfs.h> header file. */
#define HAVE_SYS_STATFS_H 1
/* Define to 1 if you have the <sys/statvfs.h> header file. */
#define HAVE_SYS_STATVFS_H 1
/* Define to 1 if you have the <sys/stat.h> header file. */
#define HAVE_SYS_STAT_H 1
/* Define to 1 if you have the <sys/sysmacros.h> header file. */
#define HAVE_SYS_SYSMACROS_H 1
/* Define to 1 if you have the <sys/time.h> header file. */
#define HAVE_SYS_TIME_H 1
/* Define to 1 if you have the <sys/types.h> header file. */
#define HAVE_SYS_TYPES_H 1
/* Define to 1 if you have the <sys/utime.h> header file. */
/* #undef HAVE_SYS_UTIME_H */
/* Define to 1 if you have the <sys/utsname.h> header file. */
#define HAVE_SYS_UTSNAME_H 1
/* Define to 1 if you have the <sys/vfs.h> header file. */
#define HAVE_SYS_VFS_H 1
/* Define to 1 if you have <sys/wait.h> that is POSIX.1 compatible. */
#define HAVE_SYS_WAIT_H 1
/* Define to 1 if you have the <sys/xattr.h> header file. */
#define HAVE_SYS_XATTR_H 1
/* Define to 1 if you have the `timegm' function. */
#define HAVE_TIMEGM 1
/* Define to 1 if you have the <time.h> header file. */
#define HAVE_TIME_H 1
/* Define to 1 if you have the `tzset' function. */
#define HAVE_TZSET 1
/* Define to 1 if you have the <unistd.h> header file. */
#define HAVE_UNISTD_H 1
/* Define to 1 if you have the `unlinkat' function. */
#define HAVE_UNLINKAT 1
/* Define to 1 if you have the `unsetenv' function. */
#define HAVE_UNSETENV 1
/* Define to 1 if the system has the type `unsigned long long'. */
/* #undef HAVE_UNSIGNED_LONG_LONG */
/* Define to 1 if the system has the type `unsigned long long int'. */
/* #undef HAVE_UNSIGNED_LONG_LONG_INT */
/* Define to 1 if you have the `utime' function. */
#define HAVE_UTIME 1
/* Define to 1 if you have the `utimensat' function. */
#define HAVE_UTIMENSAT 1
/* Define to 1 if you have the `utimes' function. */
#define HAVE_UTIMES 1
/* Define to 1 if you have the <utime.h> header file. */
#define HAVE_UTIME_H 1
/* Define to 1 if you have the `vfork' function. */
#define HAVE_VFORK 1
/* Define to 1 if you have the `vprintf' function. */
#define HAVE_VPRINTF 1
/* Define to 1 if you have the <wchar.h> header file. */
#define HAVE_WCHAR_H 1
/* Define to 1 if the system has the type `wchar_t'. */
#define HAVE_WCHAR_T 1
/* Define to 1 if you have the `wcrtomb' function. */
#define HAVE_WCRTOMB 1
/* Define to 1 if you have the `wcscmp' function. */
#define HAVE_WCSCMP 1
/* Define to 1 if you have the `wcscpy' function. */
#define HAVE_WCSCPY 1
/* Define to 1 if you have the `wcslen' function. */
#define HAVE_WCSLEN 1
/* Define to 1 if you have the `wctomb' function. */
#define HAVE_WCTOMB 1
/* Define to 1 if you have the <wctype.h> header file. */
#define HAVE_WCTYPE_H 1
/* Define to 1 if you have the <wincrypt.h> header file. */
/* #undef HAVE_WINCRYPT_H */
/* Define to 1 if you have the <windows.h> header file. */
/* #undef HAVE_WINDOWS_H */
/* Define to 1 if you have the <winioctl.h> header file. */
/* #undef HAVE_WINIOCTL_H */
/* Define to 1 if you have _CrtSetReportMode in <crtdbg.h> */
/* #undef HAVE__CrtSetReportMode */
/* Define to 1 if you have the `wmemcmp' function. */
#define HAVE_WMEMCMP 1
/* Define to 1 if you have the `wmemcpy' function. */
#define HAVE_WMEMCPY 1
/* Define to 1 if you have the `wmemmove' function. */
#define HAVE_WMEMMOVE 1
/* Define to 1 if you have a working EXT2_IOC_GETFLAGS */
#define HAVE_WORKING_EXT2_IOC_GETFLAGS 1
/* Define to 1 if you have a working FS_IOC_GETFLAGS */
#define HAVE_WORKING_FS_IOC_GETFLAGS 1
/* Define to 1 if you have the <zlib.h> header file. */
#define HAVE_ZLIB_H 1
/* Define to 1 if you have the <zstd.h> header file. */
#define HAVE_ZSTD_H 1
/* Define to 1 if you have the `_ctime64_s' function. */
/* #undef HAVE__CTIME64_S */
/* Define to 1 if you have the `_fseeki64' function. */
/* #undef HAVE__FSEEKI64 */
/* Define to 1 if you have the `_get_timezone' function. */
/* #undef HAVE__GET_TIMEZONE */
/* Define to 1 if you have the `_gmtime64_s' function. */
/* #undef HAVE__GMTIME64_S */
/* Define to 1 if you have the `_localtime64_s' function. */
/* #undef HAVE__LOCALTIME64_S */
/* Define to 1 if you have the `_mkgmtime64' function. */
/* #undef HAVE__MKGMTIME64 */
/* Define as const if the declaration of iconv() needs const. */
#define ICONV_CONST
/* Version number of libarchive as a single integer */
#define LIBARCHIVE_VERSION_NUMBER "3006000"
/* Version number of libarchive */
#define LIBARCHIVE_VERSION_STRING "3.6.0"
/* Define to 1 if `lstat' dereferences a symlink specified with a trailing
slash. */
/* #undef LSTAT_FOLLOWS_SLASHED_SYMLINK */
/* Define to 1 if `major', `minor', and `makedev' are declared in <mkdev.h>.
*/
/* #undef MAJOR_IN_MKDEV */
/* Define to 1 if `major', `minor', and `makedev' are declared in
<sysmacros.h>. */
#define MAJOR_IN_SYSMACROS 1
/* Define to 1 if your C compiler doesn't accept -c and -o together. */
/* #undef NO_MINUS_C_MINUS_O */
/* The size of `wchar_t', as computed by sizeof. */
#define SIZEOF_WCHAR_T 4
/* Define to 1 if strerror_r returns char *. */
/* #undef STRERROR_R_CHAR_P */
/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
#define TIME_WITH_SYS_TIME 1
/*
* Some platform requires a macro to use extension functions.
*/
#define SAFE_TO_DEFINE_EXTENSIONS 1
#ifdef SAFE_TO_DEFINE_EXTENSIONS
/* Enable extensions on AIX 3, Interix. */
#ifndef _ALL_SOURCE
# define _ALL_SOURCE 1
#endif
/* Enable GNU extensions on systems that have them. */
#ifndef _GNU_SOURCE
# define _GNU_SOURCE 1
#endif
/* Enable threading extensions on Solaris. */
#ifndef _POSIX_PTHREAD_SEMANTICS
# define _POSIX_PTHREAD_SEMANTICS 1
#endif
/* Enable extensions on HP NonStop. */
#ifndef _TANDEM_SOURCE
# define _TANDEM_SOURCE 1
#endif
/* Enable general extensions on Solaris. */
#ifndef __EXTENSIONS__
# define __EXTENSIONS__ 1
#endif
#endif /* SAFE_TO_DEFINE_EXTENSIONS */
/* Version number of package */
#define VERSION "3.6.0"
/* Number of bits in a file offset, on hosts where this is settable. */
/* #undef _FILE_OFFSET_BITS */
/* Define to 1 to make fseeko visible on some hosts (e.g. glibc 2.2). */
/* #undef _LARGEFILE_SOURCE */
/* Define for large files, on AIX-style hosts. */
/* #undef _LARGE_FILES */
/* Define to control Windows SDK version */
#ifndef NTDDI_VERSION
/* #undef NTDDI_VERSION */
#endif // NTDDI_VERSION
#ifndef _WIN32_WINNT
/* #undef _WIN32_WINNT */
#endif // _WIN32_WINNT
#ifndef WINVER
/* #undef WINVER */
#endif // WINVER
/* Define to empty if `const' does not conform to ANSI C. */
/* #undef const */
/* Define to `int' if <sys/types.h> doesn't define. */
/* #undef gid_t */
/* Define to `unsigned long' if <sys/types.h> does not define. */
/* #undef id_t */
/* Define to `int' if <sys/types.h> does not define. */
/* #undef mode_t */
/* Define to `long long' if <sys/types.h> does not define. */
/* #undef off_t */
/* Define to `int' if <sys/types.h> doesn't define. */
/* #undef pid_t */
/* Define to `unsigned int' if <sys/types.h> does not define. */
/* #undef size_t */
/* Define to `int' if <sys/types.h> does not define. */
/* #undef ssize_t */
/* Define to `int' if <sys/types.h> doesn't define. */
/* #undef uid_t */
#include <cm3p/kwiml/int.h>
#ifndef KWIML_INT_HAVE_INT64_T
typedef KWIML_INT_int64_t int64_t;
#endif
#ifndef KWIML_INT_HAVE_INT32_T
typedef KWIML_INT_int32_t int32_t;
#endif
#ifndef KWIML_INT_HAVE_INT16_T
typedef KWIML_INT_int16_t int16_t;
#endif
#ifndef KWIML_INT_HAVE_INT8_T
typedef KWIML_INT_int8_t int8_t;
#endif
#ifndef KWIML_INT_HAVE_INTPTR_T
typedef KWIML_INT_intptr_t intptr_t;
#endif
#ifndef KWIML_INT_HAVE_UINT64_T
typedef KWIML_INT_uint64_t uint64_t;
#endif
#ifndef KWIML_INT_HAVE_UINT32_T
typedef KWIML_INT_uint32_t uint32_t;
#endif
#ifndef KWIML_INT_HAVE_UINT16_T
typedef KWIML_INT_uint16_t uint16_t;
#endif
#ifndef KWIML_INT_HAVE_UINT8_T
typedef KWIML_INT_uint8_t uint8_t;
#endif
#ifndef KWIML_INT_HAVE_UINTPTR_T
typedef KWIML_INT_uintptr_t uintptr_t;
#endif
/* Define to 1 if you have the <stdint.h> header file. */
#ifdef KWIML_INT_HAVE_STDINT_H
# define HAVE_STDINT_H 1
#endif
/* Define to 1 if you have the <inttypes.h> header file. */
#ifdef KWIML_INT_HAVE_INTTYPES_H
# define HAVE_INTTYPES_H 1
#endif
#define ARCHIVE_SHA384_COMPILE_TEST
#define ARCHIVE_CRYPTO_SHA384_LIBC3
#define PLATFORM_CONFIG_H "check_crypto_md.h"
/*-
* Copyright (c) 2003-2007 Tim Kientzle
* Copyright (c) 2011 Andres Mejia
* Copyright (c) 2011 Michihiro NAKAJIMA
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR(S) ``AS IS'' AND ANY EXPRESS OR
* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
* IN NO EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
#include "archive_platform.h"
#include "archive.h"
#include "archive_digest_private.h"
/* In particular, force the configure probe to break if it tries
* to test a combination of OpenSSL and libmd. */
#if defined(ARCHIVE_CRYPTO_OPENSSL) && defined(ARCHIVE_CRYPTO_LIBMD)
#error Cannot use both OpenSSL and libmd.
#endif
/*
* Message digest functions for Windows platform.
*/
#if defined(ARCHIVE_CRYPTO_MD5_WIN) ||\
defined(ARCHIVE_CRYPTO_SHA1_WIN) ||\
defined(ARCHIVE_CRYPTO_SHA256_WIN) ||\
defined(ARCHIVE_CRYPTO_SHA384_WIN) ||\
defined(ARCHIVE_CRYPTO_SHA512_WIN)
/*
* Initialize a Message digest.
*/
static int
win_crypto_init(Digest_CTX *ctx, ALG_ID algId)
{
ctx->valid = 0;
if (!CryptAcquireContext(&ctx->cryptProv, NULL, NULL,
PROV_RSA_FULL, CRYPT_VERIFYCONTEXT)) {
if (GetLastError() != (DWORD)NTE_BAD_KEYSET)
return (ARCHIVE_FAILED);
if (!CryptAcquireContext(&ctx->cryptProv, NULL, NULL,
PROV_RSA_FULL, CRYPT_NEWKEYSET))
return (ARCHIVE_FAILED);
}
if (!CryptCreateHash(ctx->cryptProv, algId, 0, 0, &ctx->hash)) {
CryptReleaseContext(ctx->cryptProv, 0);
return (ARCHIVE_FAILED);
}
ctx->valid = 1;
return (ARCHIVE_OK);
}
/*
* Update a Message digest.
*/
static int
win_crypto_Update(Digest_CTX *ctx, const unsigned char *buf, size_t len)
{
if (!ctx->valid)
return (ARCHIVE_FAILED);
CryptHashData(ctx->hash,
(unsigned char *)(uintptr_t)buf,
(DWORD)len, 0);
return (ARCHIVE_OK);
}
static int
win_crypto_Final(unsigned char *buf, size_t bufsize, Digest_CTX *ctx)
{
DWORD siglen = (DWORD)bufsize;
if (!ctx->valid)
return (ARCHIVE_FAILED);
CryptGetHashParam(ctx->hash, HP_HASHVAL, buf, &siglen, 0);
CryptDestroyHash(ctx->hash);
CryptReleaseContext(ctx->cryptProv, 0);
ctx->valid = 0;
return (ARCHIVE_OK);
}
#endif /* defined(ARCHIVE_CRYPTO_*_WIN) */
/* MD5 implementations */
#if defined(ARCHIVE_CRYPTO_MD5_LIBC)
static int
__archive_md5init(archive_md5_ctx *ctx)
{
MD5Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_md5update(archive_md5_ctx *ctx, const void *indata,
size_t insize)
{
MD5Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_md5final(archive_md5_ctx *ctx, void *md)
{
MD5Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_MD5_LIBMD)
static int
__archive_md5init(archive_md5_ctx *ctx)
{
MD5Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_md5update(archive_md5_ctx *ctx, const void *indata,
size_t insize)
{
MD5Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_md5final(archive_md5_ctx *ctx, void *md)
{
MD5Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_MD5_LIBSYSTEM)
static int
__archive_md5init(archive_md5_ctx *ctx)
{
CC_MD5_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_md5update(archive_md5_ctx *ctx, const void *indata,
size_t insize)
{
CC_MD5_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_md5final(archive_md5_ctx *ctx, void *md)
{
CC_MD5_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_MD5_MBEDTLS)
static int
__archive_md5init(archive_md5_ctx *ctx)
{
mbedtls_md5_init(ctx);
if (mbedtls_md5_starts_ret(ctx) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_md5update(archive_md5_ctx *ctx, const void *indata,
size_t insize)
{
if (mbedtls_md5_update_ret(ctx, indata, insize) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_md5final(archive_md5_ctx *ctx, void *md)
{
if (mbedtls_md5_finish_ret(ctx, md) == 0) {
mbedtls_md5_free(ctx);
return (ARCHIVE_OK);
} else {
mbedtls_md5_free(ctx);
return (ARCHIVE_FATAL);
}
}
#elif defined(ARCHIVE_CRYPTO_MD5_NETTLE)
static int
__archive_md5init(archive_md5_ctx *ctx)
{
md5_init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_md5update(archive_md5_ctx *ctx, const void *indata,
size_t insize)
{
md5_update(ctx, insize, indata);
return (ARCHIVE_OK);
}
static int
__archive_md5final(archive_md5_ctx *ctx, void *md)
{
md5_digest(ctx, MD5_DIGEST_SIZE, md);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_MD5_OPENSSL)
static int
__archive_md5init(archive_md5_ctx *ctx)
{
if ((*ctx = EVP_MD_CTX_new()) == NULL)
return (ARCHIVE_FAILED);
EVP_DigestInit(*ctx, EVP_md5());
return (ARCHIVE_OK);
}
static int
__archive_md5update(archive_md5_ctx *ctx, const void *indata,
size_t insize)
{
EVP_DigestUpdate(*ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_md5final(archive_md5_ctx *ctx, void *md)
{
/* HACK: archive_write_set_format_xar.c is finalizing empty contexts, so
* this is meant to cope with that. Real fix is probably to fix
* archive_write_set_format_xar.c
*/
if (*ctx) {
EVP_DigestFinal(*ctx, md, NULL);
EVP_MD_CTX_free(*ctx);
*ctx = NULL;
}
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_MD5_WIN)
static int
__archive_md5init(archive_md5_ctx *ctx)
{
return (win_crypto_init(ctx, CALG_MD5));
}
static int
__archive_md5update(archive_md5_ctx *ctx, const void *indata,
size_t insize)
{
return (win_crypto_Update(ctx, indata, insize));
}
static int
__archive_md5final(archive_md5_ctx *ctx, void *md)
{
return (win_crypto_Final(md, 16, ctx));
}
#else
static int
__archive_md5init(archive_md5_ctx *ctx)
{
(void)ctx; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_md5update(archive_md5_ctx *ctx, const void *indata,
size_t insize)
{
(void)ctx; /* UNUSED */
(void)indata; /* UNUSED */
(void)insize; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_md5final(archive_md5_ctx *ctx, void *md)
{
(void)ctx; /* UNUSED */
(void)md; /* UNUSED */
return (ARCHIVE_FAILED);
}
#endif
/* RIPEMD160 implementations */
#if defined(ARCHIVE_CRYPTO_RMD160_LIBC)
static int
__archive_ripemd160init(archive_rmd160_ctx *ctx)
{
RMD160Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata,
size_t insize)
{
RMD160Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_ripemd160final(archive_rmd160_ctx *ctx, void *md)
{
RMD160Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_RMD160_LIBMD)
static int
__archive_ripemd160init(archive_rmd160_ctx *ctx)
{
RIPEMD160_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata,
size_t insize)
{
RIPEMD160_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_ripemd160final(archive_rmd160_ctx *ctx, void *md)
{
RIPEMD160_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_RMD160_MBEDTLS)
static int
__archive_ripemd160init(archive_rmd160_ctx *ctx)
{
mbedtls_ripemd160_init(ctx);
if (mbedtls_ripemd160_starts_ret(ctx) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata,
size_t insize)
{
if (mbedtls_ripemd160_update_ret(ctx, indata, insize) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_ripemd160final(archive_rmd160_ctx *ctx, void *md)
{
if (mbedtls_ripemd160_finish_ret(ctx, md) == 0) {
mbedtls_ripemd160_free(ctx);
return (ARCHIVE_OK);
} else {
mbedtls_ripemd160_free(ctx);
return (ARCHIVE_FATAL);
}
}
#elif defined(ARCHIVE_CRYPTO_RMD160_NETTLE)
static int
__archive_ripemd160init(archive_rmd160_ctx *ctx)
{
ripemd160_init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata,
size_t insize)
{
ripemd160_update(ctx, insize, indata);
return (ARCHIVE_OK);
}
static int
__archive_ripemd160final(archive_rmd160_ctx *ctx, void *md)
{
ripemd160_digest(ctx, RIPEMD160_DIGEST_SIZE, md);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_RMD160_OPENSSL)
static int
__archive_ripemd160init(archive_rmd160_ctx *ctx)
{
if ((*ctx = EVP_MD_CTX_new()) == NULL)
return (ARCHIVE_FAILED);
EVP_DigestInit(*ctx, EVP_ripemd160());
return (ARCHIVE_OK);
}
static int
__archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata,
size_t insize)
{
EVP_DigestUpdate(*ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_ripemd160final(archive_rmd160_ctx *ctx, void *md)
{
if (*ctx) {
EVP_DigestFinal(*ctx, md, NULL);
EVP_MD_CTX_free(*ctx);
*ctx = NULL;
}
return (ARCHIVE_OK);
}
#else
static int
__archive_ripemd160init(archive_rmd160_ctx *ctx)
{
(void)ctx; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata,
size_t insize)
{
(void)ctx; /* UNUSED */
(void)indata; /* UNUSED */
(void)insize; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_ripemd160final(archive_rmd160_ctx *ctx, void *md)
{
(void)ctx; /* UNUSED */
(void)md; /* UNUSED */
return (ARCHIVE_FAILED);
}
#endif
/* SHA1 implementations */
#if defined(ARCHIVE_CRYPTO_SHA1_LIBC)
static int
__archive_sha1init(archive_sha1_ctx *ctx)
{
SHA1Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha1update(archive_sha1_ctx *ctx, const void *indata,
size_t insize)
{
SHA1Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha1final(archive_sha1_ctx *ctx, void *md)
{
SHA1Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA1_LIBMD)
static int
__archive_sha1init(archive_sha1_ctx *ctx)
{
SHA1_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha1update(archive_sha1_ctx *ctx, const void *indata,
size_t insize)
{
SHA1_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha1final(archive_sha1_ctx *ctx, void *md)
{
SHA1_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA1_LIBSYSTEM)
static int
__archive_sha1init(archive_sha1_ctx *ctx)
{
CC_SHA1_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha1update(archive_sha1_ctx *ctx, const void *indata,
size_t insize)
{
CC_SHA1_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha1final(archive_sha1_ctx *ctx, void *md)
{
CC_SHA1_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA1_MBEDTLS)
static int
__archive_sha1init(archive_sha1_ctx *ctx)
{
mbedtls_sha1_init(ctx);
if (mbedtls_sha1_starts_ret(ctx) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_sha1update(archive_sha1_ctx *ctx, const void *indata,
size_t insize)
{
if (mbedtls_sha1_update_ret(ctx, indata, insize) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_sha1final(archive_sha1_ctx *ctx, void *md)
{
if (mbedtls_sha1_finish_ret(ctx, md) == 0) {
mbedtls_sha1_free(ctx);
return (ARCHIVE_OK);
} else {
mbedtls_sha1_free(ctx);
return (ARCHIVE_FATAL);
}
}
#elif defined(ARCHIVE_CRYPTO_SHA1_NETTLE)
static int
__archive_sha1init(archive_sha1_ctx *ctx)
{
sha1_init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha1update(archive_sha1_ctx *ctx, const void *indata,
size_t insize)
{
sha1_update(ctx, insize, indata);
return (ARCHIVE_OK);
}
static int
__archive_sha1final(archive_sha1_ctx *ctx, void *md)
{
sha1_digest(ctx, SHA1_DIGEST_SIZE, md);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA1_OPENSSL)
static int
__archive_sha1init(archive_sha1_ctx *ctx)
{
if ((*ctx = EVP_MD_CTX_new()) == NULL)
return (ARCHIVE_FAILED);
EVP_DigestInit(*ctx, EVP_sha1());
return (ARCHIVE_OK);
}
static int
__archive_sha1update(archive_sha1_ctx *ctx, const void *indata,
size_t insize)
{
EVP_DigestUpdate(*ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha1final(archive_sha1_ctx *ctx, void *md)
{
/* HACK: archive_write_set_format_xar.c is finalizing empty contexts, so
* this is meant to cope with that. Real fix is probably to fix
* archive_write_set_format_xar.c
*/
if (*ctx) {
EVP_DigestFinal(*ctx, md, NULL);
EVP_MD_CTX_free(*ctx);
*ctx = NULL;
}
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA1_WIN)
static int
__archive_sha1init(archive_sha1_ctx *ctx)
{
return (win_crypto_init(ctx, CALG_SHA1));
}
static int
__archive_sha1update(archive_sha1_ctx *ctx, const void *indata,
size_t insize)
{
return (win_crypto_Update(ctx, indata, insize));
}
static int
__archive_sha1final(archive_sha1_ctx *ctx, void *md)
{
return (win_crypto_Final(md, 20, ctx));
}
#else
static int
__archive_sha1init(archive_sha1_ctx *ctx)
{
(void)ctx; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_sha1update(archive_sha1_ctx *ctx, const void *indata,
size_t insize)
{
(void)ctx; /* UNUSED */
(void)indata; /* UNUSED */
(void)insize; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_sha1final(archive_sha1_ctx *ctx, void *md)
{
(void)ctx; /* UNUSED */
(void)md; /* UNUSED */
return (ARCHIVE_FAILED);
}
#endif
/* SHA256 implementations */
#if defined(ARCHIVE_CRYPTO_SHA256_LIBC)
static int
__archive_sha256init(archive_sha256_ctx *ctx)
{
SHA256_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha256update(archive_sha256_ctx *ctx, const void *indata,
size_t insize)
{
SHA256_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha256final(archive_sha256_ctx *ctx, void *md)
{
SHA256_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA256_LIBC2)
static int
__archive_sha256init(archive_sha256_ctx *ctx)
{
SHA256Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha256update(archive_sha256_ctx *ctx, const void *indata,
size_t insize)
{
SHA256Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha256final(archive_sha256_ctx *ctx, void *md)
{
SHA256Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA256_LIBC3)
static int
__archive_sha256init(archive_sha256_ctx *ctx)
{
SHA256Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha256update(archive_sha256_ctx *ctx, const void *indata,
size_t insize)
{
SHA256Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha256final(archive_sha256_ctx *ctx, void *md)
{
SHA256Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA256_LIBMD)
static int
__archive_sha256init(archive_sha256_ctx *ctx)
{
SHA256_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha256update(archive_sha256_ctx *ctx, const void *indata,
size_t insize)
{
SHA256_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha256final(archive_sha256_ctx *ctx, void *md)
{
SHA256_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA256_LIBSYSTEM)
static int
__archive_sha256init(archive_sha256_ctx *ctx)
{
CC_SHA256_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha256update(archive_sha256_ctx *ctx, const void *indata,
size_t insize)
{
CC_SHA256_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha256final(archive_sha256_ctx *ctx, void *md)
{
CC_SHA256_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA256_MBEDTLS)
static int
__archive_sha256init(archive_sha256_ctx *ctx)
{
mbedtls_sha256_init(ctx);
if (mbedtls_sha256_starts_ret(ctx, 0) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_sha256update(archive_sha256_ctx *ctx, const void *indata,
size_t insize)
{
if (mbedtls_sha256_update_ret(ctx, indata, insize) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_sha256final(archive_sha256_ctx *ctx, void *md)
{
if (mbedtls_sha256_finish_ret(ctx, md) == 0) {
mbedtls_sha256_free(ctx);
return (ARCHIVE_OK);
} else {
mbedtls_sha256_free(ctx);
return (ARCHIVE_FATAL);
}
}
#elif defined(ARCHIVE_CRYPTO_SHA256_NETTLE)
static int
__archive_sha256init(archive_sha256_ctx *ctx)
{
sha256_init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha256update(archive_sha256_ctx *ctx, const void *indata,
size_t insize)
{
sha256_update(ctx, insize, indata);
return (ARCHIVE_OK);
}
static int
__archive_sha256final(archive_sha256_ctx *ctx, void *md)
{
sha256_digest(ctx, SHA256_DIGEST_SIZE, md);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA256_OPENSSL)
static int
__archive_sha256init(archive_sha256_ctx *ctx)
{
if ((*ctx = EVP_MD_CTX_new()) == NULL)
return (ARCHIVE_FAILED);
EVP_DigestInit(*ctx, EVP_sha256());
return (ARCHIVE_OK);
}
static int
__archive_sha256update(archive_sha256_ctx *ctx, const void *indata,
size_t insize)
{
EVP_DigestUpdate(*ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha256final(archive_sha256_ctx *ctx, void *md)
{
if (*ctx) {
EVP_DigestFinal(*ctx, md, NULL);
EVP_MD_CTX_free(*ctx);
*ctx = NULL;
}
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA256_WIN)
static int
__archive_sha256init(archive_sha256_ctx *ctx)
{
return (win_crypto_init(ctx, CALG_SHA_256));
}
static int
__archive_sha256update(archive_sha256_ctx *ctx, const void *indata,
size_t insize)
{
return (win_crypto_Update(ctx, indata, insize));
}
static int
__archive_sha256final(archive_sha256_ctx *ctx, void *md)
{
return (win_crypto_Final(md, 32, ctx));
}
#else
static int
__archive_sha256init(archive_sha256_ctx *ctx)
{
(void)ctx; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_sha256update(archive_sha256_ctx *ctx, const void *indata,
size_t insize)
{
(void)ctx; /* UNUSED */
(void)indata; /* UNUSED */
(void)insize; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_sha256final(archive_sha256_ctx *ctx, void *md)
{
(void)ctx; /* UNUSED */
(void)md; /* UNUSED */
return (ARCHIVE_FAILED);
}
#endif
/* SHA384 implementations */
#if defined(ARCHIVE_CRYPTO_SHA384_LIBC)
static int
__archive_sha384init(archive_sha384_ctx *ctx)
{
SHA384_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha384update(archive_sha384_ctx *ctx, const void *indata,
size_t insize)
{
SHA384_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha384final(archive_sha384_ctx *ctx, void *md)
{
SHA384_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA384_LIBC2)
static int
__archive_sha384init(archive_sha384_ctx *ctx)
{
SHA384Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha384update(archive_sha384_ctx *ctx, const void *indata,
size_t insize)
{
SHA384Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha384final(archive_sha384_ctx *ctx, void *md)
{
SHA384Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA384_LIBC3)
static int
__archive_sha384init(archive_sha384_ctx *ctx)
{
SHA384Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha384update(archive_sha384_ctx *ctx, const void *indata,
size_t insize)
{
SHA384Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha384final(archive_sha384_ctx *ctx, void *md)
{
SHA384Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA384_LIBSYSTEM)
static int
__archive_sha384init(archive_sha384_ctx *ctx)
{
CC_SHA384_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha384update(archive_sha384_ctx *ctx, const void *indata,
size_t insize)
{
CC_SHA384_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha384final(archive_sha384_ctx *ctx, void *md)
{
CC_SHA384_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA384_MBEDTLS)
static int
__archive_sha384init(archive_sha384_ctx *ctx)
{
mbedtls_sha512_init(ctx);
if (mbedtls_sha512_starts_ret(ctx, 1) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_sha384update(archive_sha384_ctx *ctx, const void *indata,
size_t insize)
{
if (mbedtls_sha512_update_ret(ctx, indata, insize) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_sha384final(archive_sha384_ctx *ctx, void *md)
{
if (mbedtls_sha512_finish_ret(ctx, md) == 0) {
mbedtls_sha512_free(ctx);
return (ARCHIVE_OK);
} else {
mbedtls_sha512_free(ctx);
return (ARCHIVE_FATAL);
}
}
#elif defined(ARCHIVE_CRYPTO_SHA384_NETTLE)
static int
__archive_sha384init(archive_sha384_ctx *ctx)
{
sha384_init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha384update(archive_sha384_ctx *ctx, const void *indata,
size_t insize)
{
sha384_update(ctx, insize, indata);
return (ARCHIVE_OK);
}
static int
__archive_sha384final(archive_sha384_ctx *ctx, void *md)
{
sha384_digest(ctx, SHA384_DIGEST_SIZE, md);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA384_OPENSSL)
static int
__archive_sha384init(archive_sha384_ctx *ctx)
{
if ((*ctx = EVP_MD_CTX_new()) == NULL)
return (ARCHIVE_FAILED);
EVP_DigestInit(*ctx, EVP_sha384());
return (ARCHIVE_OK);
}
static int
__archive_sha384update(archive_sha384_ctx *ctx, const void *indata,
size_t insize)
{
EVP_DigestUpdate(*ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha384final(archive_sha384_ctx *ctx, void *md)
{
if (*ctx) {
EVP_DigestFinal(*ctx, md, NULL);
EVP_MD_CTX_free(*ctx);
*ctx = NULL;
}
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA384_WIN)
static int
__archive_sha384init(archive_sha384_ctx *ctx)
{
return (win_crypto_init(ctx, CALG_SHA_384));
}
static int
__archive_sha384update(archive_sha384_ctx *ctx, const void *indata,
size_t insize)
{
return (win_crypto_Update(ctx, indata, insize));
}
static int
__archive_sha384final(archive_sha384_ctx *ctx, void *md)
{
return (win_crypto_Final(md, 48, ctx));
}
#else
static int
__archive_sha384init(archive_sha384_ctx *ctx)
{
(void)ctx; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_sha384update(archive_sha384_ctx *ctx, const void *indata,
size_t insize)
{
(void)ctx; /* UNUSED */
(void)indata; /* UNUSED */
(void)insize; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_sha384final(archive_sha384_ctx *ctx, void *md)
{
(void)ctx; /* UNUSED */
(void)md; /* UNUSED */
return (ARCHIVE_FAILED);
}
#endif
/* SHA512 implementations */
#if defined(ARCHIVE_CRYPTO_SHA512_LIBC)
static int
__archive_sha512init(archive_sha512_ctx *ctx)
{
SHA512_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha512update(archive_sha512_ctx *ctx, const void *indata,
size_t insize)
{
SHA512_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha512final(archive_sha512_ctx *ctx, void *md)
{
SHA512_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA512_LIBC2)
static int
__archive_sha512init(archive_sha512_ctx *ctx)
{
SHA512Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha512update(archive_sha512_ctx *ctx, const void *indata,
size_t insize)
{
SHA512Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha512final(archive_sha512_ctx *ctx, void *md)
{
SHA512Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA512_LIBC3)
static int
__archive_sha512init(archive_sha512_ctx *ctx)
{
SHA512Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha512update(archive_sha512_ctx *ctx, const void *indata,
size_t insize)
{
SHA512Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha512final(archive_sha512_ctx *ctx, void *md)
{
SHA512Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA512_LIBMD)
static int
__archive_sha512init(archive_sha512_ctx *ctx)
{
SHA512_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha512update(archive_sha512_ctx *ctx, const void *indata,
size_t insize)
{
SHA512_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha512final(archive_sha512_ctx *ctx, void *md)
{
SHA512_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA512_LIBSYSTEM)
static int
__archive_sha512init(archive_sha512_ctx *ctx)
{
CC_SHA512_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha512update(archive_sha512_ctx *ctx, const void *indata,
size_t insize)
{
CC_SHA512_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha512final(archive_sha512_ctx *ctx, void *md)
{
CC_SHA512_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA512_MBEDTLS)
static int
__archive_sha512init(archive_sha512_ctx *ctx)
{
mbedtls_sha512_init(ctx);
if (mbedtls_sha512_starts_ret(ctx, 0) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_sha512update(archive_sha512_ctx *ctx, const void *indata,
size_t insize)
{
if (mbedtls_sha512_update_ret(ctx, indata, insize) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_sha512final(archive_sha512_ctx *ctx, void *md)
{
if (mbedtls_sha512_finish_ret(ctx, md) == 0) {
mbedtls_sha512_free(ctx);
return (ARCHIVE_OK);
} else {
mbedtls_sha512_free(ctx);
return (ARCHIVE_FATAL);
}
}
#elif defined(ARCHIVE_CRYPTO_SHA512_NETTLE)
static int
__archive_sha512init(archive_sha512_ctx *ctx)
{
sha512_init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha512update(archive_sha512_ctx *ctx, const void *indata,
size_t insize)
{
sha512_update(ctx, insize, indata);
return (ARCHIVE_OK);
}
static int
__archive_sha512final(archive_sha512_ctx *ctx, void *md)
{
sha512_digest(ctx, SHA512_DIGEST_SIZE, md);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA512_OPENSSL)
static int
__archive_sha512init(archive_sha512_ctx *ctx)
{
if ((*ctx = EVP_MD_CTX_new()) == NULL)
return (ARCHIVE_FAILED);
EVP_DigestInit(*ctx, EVP_sha512());
return (ARCHIVE_OK);
}
static int
__archive_sha512update(archive_sha512_ctx *ctx, const void *indata,
size_t insize)
{
EVP_DigestUpdate(*ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha512final(archive_sha512_ctx *ctx, void *md)
{
if (*ctx) {
EVP_DigestFinal(*ctx, md, NULL);
EVP_MD_CTX_free(*ctx);
*ctx = NULL;
}
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA512_WIN)
static int
__archive_sha512init(archive_sha512_ctx *ctx)
{
return (win_crypto_init(ctx, CALG_SHA_512));
}
static int
__archive_sha512update(archive_sha512_ctx *ctx, const void *indata,
size_t insize)
{
return (win_crypto_Update(ctx, indata, insize));
}
static int
__archive_sha512final(archive_sha512_ctx *ctx, void *md)
{
return (win_crypto_Final(md, 64, ctx));
}
#else
static int
__archive_sha512init(archive_sha512_ctx *ctx)
{
(void)ctx; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_sha512update(archive_sha512_ctx *ctx, const void *indata,
size_t insize)
{
(void)ctx; /* UNUSED */
(void)indata; /* UNUSED */
(void)insize; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_sha512final(archive_sha512_ctx *ctx, void *md)
{
(void)ctx; /* UNUSED */
(void)md; /* UNUSED */
return (ARCHIVE_FAILED);
}
#endif
/* NOTE: Message Digest functions are set based on availability and by the
* following order of preference.
* 1. libc
* 2. libc2
* 3. libc3
* 4. libSystem
* 5. Nettle
* 6. OpenSSL
* 7. libmd
* 8. Windows API
*/
const struct archive_digest __archive_digest =
{
/* MD5 */
&__archive_md5init,
&__archive_md5update,
&__archive_md5final,
/* RIPEMD160 */
&__archive_ripemd160init,
&__archive_ripemd160update,
&__archive_ripemd160final,
/* SHA1 */
&__archive_sha1init,
&__archive_sha1update,
&__archive_sha1final,
/* SHA256 */
&__archive_sha256init,
&__archive_sha256update,
&__archive_sha256final,
/* SHA384 */
&__archive_sha384init,
&__archive_sha384update,
&__archive_sha384final,
/* SHA512 */
&__archive_sha512init,
&__archive_sha512update,
&__archive_sha512final
};
int
main(int argc, char **argv)
{
archive_sha384_ctx ctx;
archive_sha384_init(&ctx);
archive_sha384_update(&ctx, *argv, argc);
archive_sha384_final(&ctx, NULL);
return 0;
}
Checking support for ARCHIVE_CRYPTO_SHA512_LIBC3 failed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeTmp
Run Build Command(s):/bin/gmake -f Makefile cmTC_04279/fast && gmake -f CMakeFiles/cmTC_04279.dir/build.make CMakeFiles/cmTC_04279.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeTmp'
Building C object CMakeFiles/cmTC_04279.dir/check_crypto_md.c.o
/bin/gcc -I/usr/src/cmake-3.25.0 -I/usr/src/cmake-3.25.0/Utilities/cmlibarchive/libarchive -I/usr/src/cmake-3.25.0/CMakeFiles/CMakeTmp -I/usr/src/cmake-3.25.0/Utilities -w -std=gnu99 -o CMakeFiles/cmTC_04279.dir/check_crypto_md.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeTmp/check_crypto_md.c
In file included from /usr/src/cmake-3.25.0/CMakeFiles/CMakeTmp/check_crypto_md.c:1204:0:
/usr/src/cmake-3.25.0/Utilities/cmlibarchive/libarchive/archive_digest_private.h:81:18: fatal error: sha2.h: No such file or directory
#include <sha2.h>
^
compilation terminated.
gmake[1]: *** [CMakeFiles/cmTC_04279.dir/check_crypto_md.c.o] Error 1
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeTmp'
gmake: *** [cmTC_04279/fast] Error 2
Source file was:
/* config.h. Generated from build/cmake/config.h.in by cmake configure */
#define __LIBARCHIVE_CONFIG_H_INCLUDED 1
#if defined(__osf__)
# define _OSF_SOURCE
#endif
/*
* Ensure we have C99-style int64_t, etc, all defined.
*/
/* Define ZLIB_WINAPI if zlib was built on Visual Studio. */
/* #undef ZLIB_WINAPI */
/* Darwin ACL support */
/* #undef ARCHIVE_ACL_DARWIN */
/* FreeBSD ACL support */
/* #undef ARCHIVE_ACL_FREEBSD */
/* FreeBSD NFSv4 ACL support */
/* #undef ARCHIVE_ACL_FREEBSD_NFS4 */
/* Linux POSIX.1e ACL support via libacl */
/* #undef ARCHIVE_ACL_LIBACL */
/* Linux NFSv4 ACL support via librichacl */
/* #undef ARCHIVE_ACL_LIBRICHACL */
/* Solaris ACL support */
/* #undef ARCHIVE_ACL_SUNOS */
/* Solaris NFSv4 ACL support */
/* #undef ARCHIVE_ACL_SUNOS_NFS4 */
/* MD5 via ARCHIVE_CRYPTO_MD5_LIBC supported. */
/* #undef ARCHIVE_CRYPTO_MD5_LIBC */
/* MD5 via ARCHIVE_CRYPTO_MD5_LIBSYSTEM supported. */
/* #undef ARCHIVE_CRYPTO_MD5_LIBSYSTEM */
/* MD5 via ARCHIVE_CRYPTO_MD5_NETTLE supported. */
/* #undef ARCHIVE_CRYPTO_MD5_NETTLE */
/* MD5 via ARCHIVE_CRYPTO_MD5_OPENSSL supported. */
/* #undef ARCHIVE_CRYPTO_MD5_OPENSSL */
/* MD5 via ARCHIVE_CRYPTO_MD5_WIN supported. */
/* #undef ARCHIVE_CRYPTO_MD5_WIN */
/* RMD160 via ARCHIVE_CRYPTO_RMD160_LIBC supported. */
/* #undef ARCHIVE_CRYPTO_RMD160_LIBC */
/* RMD160 via ARCHIVE_CRYPTO_RMD160_NETTLE supported. */
/* #undef ARCHIVE_CRYPTO_RMD160_NETTLE */
/* RMD160 via ARCHIVE_CRYPTO_RMD160_OPENSSL supported. */
/* #undef ARCHIVE_CRYPTO_RMD160_OPENSSL */
/* SHA1 via ARCHIVE_CRYPTO_SHA1_LIBC supported. */
/* #undef ARCHIVE_CRYPTO_SHA1_LIBC */
/* SHA1 via ARCHIVE_CRYPTO_SHA1_LIBSYSTEM supported. */
/* #undef ARCHIVE_CRYPTO_SHA1_LIBSYSTEM */
/* SHA1 via ARCHIVE_CRYPTO_SHA1_NETTLE supported. */
/* #undef ARCHIVE_CRYPTO_SHA1_NETTLE */
/* SHA1 via ARCHIVE_CRYPTO_SHA1_OPENSSL supported. */
/* #undef ARCHIVE_CRYPTO_SHA1_OPENSSL */
/* SHA1 via ARCHIVE_CRYPTO_SHA1_WIN supported. */
/* #undef ARCHIVE_CRYPTO_SHA1_WIN */
/* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBC supported. */
/* #undef ARCHIVE_CRYPTO_SHA256_LIBC */
/* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBC2 supported. */
/* #undef ARCHIVE_CRYPTO_SHA256_LIBC2 */
/* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBC3 supported. */
/* #undef ARCHIVE_CRYPTO_SHA256_LIBC3 */
/* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBSYSTEM supported. */
/* #undef ARCHIVE_CRYPTO_SHA256_LIBSYSTEM */
/* SHA256 via ARCHIVE_CRYPTO_SHA256_NETTLE supported. */
/* #undef ARCHIVE_CRYPTO_SHA256_NETTLE */
/* SHA256 via ARCHIVE_CRYPTO_SHA256_OPENSSL supported. */
/* #undef ARCHIVE_CRYPTO_SHA256_OPENSSL */
/* SHA256 via ARCHIVE_CRYPTO_SHA256_WIN supported. */
/* #undef ARCHIVE_CRYPTO_SHA256_WIN */
/* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBC supported. */
/* #undef ARCHIVE_CRYPTO_SHA384_LIBC */
/* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBC2 supported. */
/* #undef ARCHIVE_CRYPTO_SHA384_LIBC2 */
/* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBC3 supported. */
/* #undef ARCHIVE_CRYPTO_SHA384_LIBC3 */
/* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBSYSTEM supported. */
/* #undef ARCHIVE_CRYPTO_SHA384_LIBSYSTEM */
/* SHA384 via ARCHIVE_CRYPTO_SHA384_NETTLE supported. */
/* #undef ARCHIVE_CRYPTO_SHA384_NETTLE */
/* SHA384 via ARCHIVE_CRYPTO_SHA384_OPENSSL supported. */
/* #undef ARCHIVE_CRYPTO_SHA384_OPENSSL */
/* SHA384 via ARCHIVE_CRYPTO_SHA384_WIN supported. */
/* #undef ARCHIVE_CRYPTO_SHA384_WIN */
/* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBC supported. */
/* #undef ARCHIVE_CRYPTO_SHA512_LIBC */
/* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBC2 supported. */
/* #undef ARCHIVE_CRYPTO_SHA512_LIBC2 */
/* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBC3 supported. */
/* #undef ARCHIVE_CRYPTO_SHA512_LIBC3 */
/* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBSYSTEM supported. */
/* #undef ARCHIVE_CRYPTO_SHA512_LIBSYSTEM */
/* SHA512 via ARCHIVE_CRYPTO_SHA512_NETTLE supported. */
/* #undef ARCHIVE_CRYPTO_SHA512_NETTLE */
/* SHA512 via ARCHIVE_CRYPTO_SHA512_OPENSSL supported. */
/* #undef ARCHIVE_CRYPTO_SHA512_OPENSSL */
/* SHA512 via ARCHIVE_CRYPTO_SHA512_WIN supported. */
/* #undef ARCHIVE_CRYPTO_SHA512_WIN */
/* AIX xattr support */
/* #undef ARCHIVE_XATTR_AIX */
/* Darwin xattr support */
/* #undef ARCHIVE_XATTR_DARWIN */
/* FreeBSD xattr support */
/* #undef ARCHIVE_XATTR_FREEBSD */
/* Linux xattr support */
/* #undef ARCHIVE_XATTR_LINUX */
/* Version number of bsdcpio */
#define BSDCPIO_VERSION_STRING "3.6.0"
/* Version number of bsdtar */
#define BSDTAR_VERSION_STRING "3.6.0"
/* Version number of bsdcat */
#define BSDCAT_VERSION_STRING "3.6.0"
/* Define to 1 if you have the `acl_create_entry' function. */
/* #undef HAVE_ACL_CREATE_ENTRY */
/* Define to 1 if you have the `acl_get_fd_np' function. */
/* #undef HAVE_ACL_GET_FD_NP */
/* Define to 1 if you have the `acl_get_link' function. */
/* #undef HAVE_ACL_GET_LINK */
/* Define to 1 if you have the `acl_get_link_np' function. */
/* #undef HAVE_ACL_GET_LINK_NP */
/* Define to 1 if you have the `acl_get_perm' function. */
/* #undef HAVE_ACL_GET_PERM */
/* Define to 1 if you have the `acl_get_perm_np' function. */
/* #undef HAVE_ACL_GET_PERM_NP */
/* Define to 1 if you have the `acl_init' function. */
/* #undef HAVE_ACL_INIT */
/* Define to 1 if you have the <acl/libacl.h> header file. */
/* #undef HAVE_ACL_LIBACL_H */
/* Define to 1 if the system has the type `acl_permset_t'. */
/* #undef HAVE_ACL_PERMSET_T */
/* Define to 1 if you have the `acl_set_fd' function. */
/* #undef HAVE_ACL_SET_FD */
/* Define to 1 if you have the `acl_set_fd_np' function. */
/* #undef HAVE_ACL_SET_FD_NP */
/* Define to 1 if you have the `acl_set_file' function. */
/* #undef HAVE_ACL_SET_FILE */
/* Define to 1 if you have the `arc4random_buf' function. */
/* #undef HAVE_ARC4RANDOM_BUF */
/* Define to 1 if you have the <attr/xattr.h> header file. */
/* #undef HAVE_ATTR_XATTR_H */
/* Define to 1 if you have the <Bcrypt.h> header file. */
/* #undef HAVE_BCRYPT_H */
/* Define to 1 if you have the <bsdxml.h> header file. */
/* #undef HAVE_BSDXML_H */
/* Define to 1 if you have the <bzlib.h> header file. */
#define HAVE_BZLIB_H 1
/* Define to 1 if you have the `chflags' function. */
/* #undef HAVE_CHFLAGS */
/* Define to 1 if you have the `chown' function. */
#define HAVE_CHOWN 1
/* Define to 1 if you have the `chroot' function. */
#define HAVE_CHROOT 1
/* Define to 1 if you have the <copyfile.h> header file. */
/* #undef HAVE_COPYFILE_H */
/* Define to 1 if you have the `ctime_r' function. */
#define HAVE_CTIME_R 1
/* Define to 1 if you have the <ctype.h> header file. */
#define HAVE_CTYPE_H 1
/* Define to 1 if you have the `cygwin_conv_path' function. */
/* #undef HAVE_CYGWIN_CONV_PATH */
/* Define to 1 if you have the declaration of `ACE_GETACL', and to 0 if you
don't. */
/* #undef HAVE_DECL_ACE_GETACL */
/* Define to 1 if you have the declaration of `ACE_GETACLCNT', and to 0 if you
don't. */
/* #undef HAVE_DECL_ACE_GETACLCNT */
/* Define to 1 if you have the declaration of `ACE_SETACL', and to 0 if you
don't. */
/* #undef HAVE_DECL_ACE_SETACL */
/* Define to 1 if you have the declaration of `ACL_SYNCHRONIZE', and to 0 if
you don't. */
/* #undef HAVE_DECL_ACL_SYNCHRONIZE */
/* Define to 1 if you have the declaration of `ACL_TYPE_EXTENDED', and to 0 if
you don't. */
/* #undef HAVE_DECL_ACL_TYPE_EXTENDED */
/* Define to 1 if you have the declaration of `ACL_TYPE_NFS4', and to 0 if you
don't. */
/* #undef HAVE_DECL_ACL_TYPE_NFS4 */
/* Define to 1 if you have the declaration of `ACL_USER', and to 0 if you
don't. */
/* #undef HAVE_DECL_ACL_USER */
/* Define to 1 if you have the declaration of `SETACL', and to 0 if you don't.
*/
/* #undef HAVE_DECL_SETACL */
/* Define to 1 if you have the declaration of `strerror_r', and to 0 if you
don't. */
#define HAVE_DECL_STRERROR_R 1
/* Define to 1 if you have the declaration of `XATTR_NOFOLLOW', and to 0 if
you don't. */
/* #undef HAVE_DECL_XATTR_NOFOLLOW */
/* Define to 1 if you have the <direct.h> header file. */
/* #undef HAVE_DIRECT_H */
/* Define to 1 if you have the <dirent.h> header file, and it defines `DIR'.
*/
#define HAVE_DIRENT_H 1
/* Define to 1 if you have the `dirfd' function. */
#define HAVE_DIRFD 1
/* Define to 1 if you have the <dlfcn.h> header file. */
#define HAVE_DLFCN_H 1
/* Define to 1 if you don't have `vprintf' but do have `_doprnt.' */
/* #undef HAVE_DOPRNT */
/* Define to 1 if nl_langinfo supports D_MD_ORDER */
/* #undef HAVE_D_MD_ORDER */
/* A possible errno value for invalid file format errors */
/* #undef HAVE_EFTYPE */
/* A possible errno value for invalid file format errors */
#define HAVE_EILSEQ 1
/* Define to 1 if you have the <errno.h> header file. */
#define HAVE_ERRNO_H 1
/* Define to 1 if you have the <expat.h> header file. */
/* #undef HAVE_EXPAT_H */
/* Define to 1 if you have the <ext2fs/ext2_fs.h> header file. */
#define HAVE_EXT2FS_EXT2_FS_H 1
/* Define to 1 if you have the `extattr_get_file' function. */
/* #undef HAVE_EXTATTR_GET_FILE */
/* Define to 1 if you have the `extattr_list_file' function. */
/* #undef HAVE_EXTATTR_LIST_FILE */
/* Define to 1 if you have the `extattr_set_fd' function. */
/* #undef HAVE_EXTATTR_SET_FD */
/* Define to 1 if you have the `extattr_set_file' function. */
/* #undef HAVE_EXTATTR_SET_FILE */
/* Define to 1 if EXTATTR_NAMESPACE_USER is defined in sys/extattr.h. */
/* #undef HAVE_DECL_EXTATTR_NAMESPACE_USER */
/* Define to 1 if you have the declaration of `GETACL', and to 0 if you don't.
*/
/* #undef HAVE_DECL_GETACL */
/* Define to 1 if you have the declaration of `GETACLCNT', and to 0 if you
don't. */
/* #undef HAVE_DECL_GETACLCNT */
/* Define to 1 if you have the `fchdir' function. */
#define HAVE_FCHDIR 1
/* Define to 1 if you have the `fchflags' function. */
/* #undef HAVE_FCHFLAGS */
/* Define to 1 if you have the `fchmod' function. */
#define HAVE_FCHMOD 1
/* Define to 1 if you have the `fchown' function. */
#define HAVE_FCHOWN 1
/* Define to 1 if you have the `fcntl' function. */
#define HAVE_FCNTL 1
/* Define to 1 if you have the <fcntl.h> header file. */
#define HAVE_FCNTL_H 1
/* Define to 1 if you have the `fdopendir' function. */
#define HAVE_FDOPENDIR 1
/* Define to 1 if you have the `fgetea' function. */
/* #undef HAVE_FGETEA */
/* Define to 1 if you have the `fgetxattr' function. */
/* #undef HAVE_FGETXATTR */
/* Define to 1 if you have the `flistea' function. */
/* #undef HAVE_FLISTEA */
/* Define to 1 if you have the `flistxattr' function. */
/* #undef HAVE_FLISTXATTR */
/* Define to 1 if you have the `fork' function. */
#define HAVE_FORK 1
/* Define to 1 if fseeko (and presumably ftello) exists and is declared. */
#define HAVE_FSEEKO 1
/* Define to 1 if you have the `fsetea' function. */
/* #undef HAVE_FSETEA */
/* Define to 1 if you have the `fsetxattr' function. */
#define HAVE_FSETXATTR 1
/* Define to 1 if you have the `fstat' function. */
#define HAVE_FSTAT 1
/* Define to 1 if you have the `fstatat' function. */
#define HAVE_FSTATAT 1
/* Define to 1 if you have the `fstatfs' function. */
#define HAVE_FSTATFS 1
/* Define to 1 if you have the `fstatvfs' function. */
#define HAVE_FSTATVFS 1
/* Define to 1 if you have the `ftruncate' function. */
#define HAVE_FTRUNCATE 1
/* Define to 1 if you have the `futimens' function. */
#define HAVE_FUTIMENS 1
/* Define to 1 if you have the `futimes' function. */
#define HAVE_FUTIMES 1
/* Define to 1 if you have the `futimesat' function. */
#define HAVE_FUTIMESAT 1
/* Define to 1 if you have the `getea' function. */
/* #undef HAVE_GETEA */
/* Define to 1 if you have the `geteuid' function. */
#define HAVE_GETEUID 1
/* Define to 1 if you have the `getgrgid_r' function. */
#define HAVE_GETGRGID_R 1
/* Define to 1 if you have the `getgrnam_r' function. */
#define HAVE_GETGRNAM_R 1
/* Define to 1 if you have the `getpid' function. */
#define HAVE_GETPID 1
/* Define to 1 if you have the `getpwnam_r' function. */
#define HAVE_GETPWNAM_R 1
/* Define to 1 if you have the `getpwuid_r' function. */
#define HAVE_GETPWUID_R 1
/* Define to 1 if you have the `getvfsbyname' function. */
/* #undef HAVE_GETVFSBYNAME */
/* Define to 1 if you have the `getxattr' function. */
/* #undef HAVE_GETXATTR */
/* Define to 1 if you have the `gmtime_r' function. */
#define HAVE_GMTIME_R 1
/* Define to 1 if you have the <grp.h> header file. */
#define HAVE_GRP_H 1
/* Define to 1 if you have the `iconv' function. */
/* #undef HAVE_ICONV */
/* Define to 1 if you have the <iconv.h> header file. */
/* #undef HAVE_ICONV_H */
/* Define to 1 if you have the <io.h> header file. */
/* #undef HAVE_IO_H */
/* Define to 1 if you have the <langinfo.h> header file. */
#define HAVE_LANGINFO_H 1
/* Define to 1 if you have the `lchflags' function. */
/* #undef HAVE_LCHFLAGS */
/* Define to 1 if you have the `lchmod' function. */
/* #undef HAVE_LCHMOD */
/* Define to 1 if you have the `lchown' function. */
#define HAVE_LCHOWN 1
/* Define to 1 if you have the `lgetea' function. */
/* #undef HAVE_LGETEA */
/* Define to 1 if you have the `lgetxattr' function. */
/* #undef HAVE_LGETXATTR */
/* Define to 1 if you have the `acl' library (-lacl). */
/* #undef HAVE_LIBACL */
/* Define to 1 if you have the `attr' library (-lattr). */
/* #undef HAVE_LIBATTR */
/* Define to 1 if you have the `bsdxml' library (-lbsdxml). */
/* #undef HAVE_LIBBSDXML */
/* Define to 1 if you have the `bz2' library (-lbz2). */
#define HAVE_LIBBZ2 1
/* Define to 1 if you have the `b2' library (-lb2). */
/* #undef HAVE_LIBB2 */
/* Define to 1 if you have the <blake2.h> header file. */
/* #undef HAVE_BLAKE2_H */
/* Define to 1 if you have the `charset' library (-lcharset). */
/* #undef HAVE_LIBCHARSET */
/* Define to 1 if you have the `crypto' library (-lcrypto). */
#define HAVE_LIBCRYPTO 1
/* Define to 1 if you have the `expat' library (-lexpat). */
/* #undef HAVE_LIBEXPAT */
/* Define to 1 if you have the `gcc' library (-lgcc). */
/* #undef HAVE_LIBGCC */
/* Define to 1 if you have the `lz4' library (-llz4). */
/* #undef HAVE_LIBLZ4 */
/* Define to 1 if you have the `lzma' library (-llzma). */
#define HAVE_LIBLZMA 1
/* Define to 1 if you have the `lzmadec' library (-llzmadec). */
/* #undef HAVE_LIBLZMADEC */
/* Define to 1 if you have the `lzo2' library (-llzo2). */
/* #undef HAVE_LIBLZO2 */
/* Define to 1 if you have the `mbedcrypto' library (-lmbedcrypto). */
/* #undef HAVE_LIBMBEDCRYPTO */
/* Define to 1 if you have the `nettle' library (-lnettle). */
/* #undef HAVE_LIBNETTLE */
/* Define to 1 if you have the `pcre' library (-lpcre). */
/* #undef HAVE_LIBPCRE */
/* Define to 1 if you have the `pcreposix' library (-lpcreposix). */
/* #undef HAVE_LIBPCREPOSIX */
/* Define to 1 if you have the `xml2' library (-lxml2). */
/* #undef HAVE_LIBXML2 */
/* Define to 1 if you have the <libxml/xmlreader.h> header file. */
/* #undef HAVE_LIBXML_XMLREADER_H */
/* Define to 1 if you have the <libxml/xmlwriter.h> header file. */
/* #undef HAVE_LIBXML_XMLWRITER_H */
/* Define to 1 if you have the `z' library (-lz). */
#define HAVE_LIBZ 1
/* Define to 1 if you have the `zstd' library (-lzstd). */
#define HAVE_LIBZSTD 1
/* Define to 1 if you have the `zstd' library (-lzstd) with compression
support. */
#define HAVE_LIBZSTD_COMPRESSOR 1
/* Define to 1 if you have the <limits.h> header file. */
#define HAVE_LIMITS_H 1
/* Define to 1 if you have the `link' function. */
#define HAVE_LINK 1
/* Define to 1 if you have the `linkat' function. */
#define HAVE_LINKAT 1
/* Define to 1 if you have the <linux/fiemap.h> header file. */
#define HAVE_LINUX_FIEMAP_H 1
/* Define to 1 if you have the <linux/fs.h> header file. */
#define HAVE_LINUX_FS_H 1
/* Define to 1 if you have the <linux/magic.h> header file. */
#define HAVE_LINUX_MAGIC_H 1
/* Define to 1 if you have the <linux/types.h> header file. */
#define HAVE_LINUX_TYPES_H 1
/* Define to 1 if you have the `listea' function. */
/* #undef HAVE_LISTEA */
/* Define to 1 if you have the `listxattr' function. */
/* #undef HAVE_LISTXATTR */
/* Define to 1 if you have the `llistea' function. */
/* #undef HAVE_LLISTEA */
/* Define to 1 if you have the `llistxattr' function. */
/* #undef HAVE_LLISTXATTR */
/* Define to 1 if you have the <localcharset.h> header file. */
/* #undef HAVE_LOCALCHARSET_H */
/* Define to 1 if you have the `locale_charset' function. */
/* #undef HAVE_LOCALE_CHARSET */
/* Define to 1 if you have the <locale.h> header file. */
#define HAVE_LOCALE_H 1
/* Define to 1 if you have the `localtime_r' function. */
#define HAVE_LOCALTIME_R 1
/* Define to 1 if the system has the type `long long int'. */
/* #undef HAVE_LONG_LONG_INT */
/* Define to 1 if you have the `lsetea' function. */
/* #undef HAVE_LSETEA */
/* Define to 1 if you have the `lsetxattr' function. */
/* #undef HAVE_LSETXATTR */
/* Define to 1 if you have the `lstat' function. */
#define HAVE_LSTAT 1
/* Define to 1 if `lstat' has the bug that it succeeds when given the
zero-length file name argument. */
/* #undef HAVE_LSTAT_EMPTY_STRING_BUG */
/* Define to 1 if you have the `lutimes' function. */
#define HAVE_LUTIMES 1
/* Define to 1 if you have the <lz4hc.h> header file. */
/* #undef HAVE_LZ4HC_H */
/* Define to 1 if you have the <lz4.h> header file. */
/* #undef HAVE_LZ4_H */
/* Define to 1 if you have the <lzmadec.h> header file. */
/* #undef HAVE_LZMADEC_H */
/* Define to 1 if you have the <lzma.h> header file. */
#define HAVE_LZMA_H 1
/* Define to 1 if you have a working `lzma_stream_encoder_mt' function. */
#define HAVE_LZMA_STREAM_ENCODER_MT 1
/* Define to 1 if you have the <lzo/lzo1x.h> header file. */
/* #undef HAVE_LZO_LZO1X_H */
/* Define to 1 if you have the <lzo/lzoconf.h> header file. */
/* #undef HAVE_LZO_LZOCONF_H */
/* Define to 1 if you have the `mbrtowc' function. */
#define HAVE_MBRTOWC 1
/* Define to 1 if you have the <membership.h> header file. */
/* #undef HAVE_MEMBERSHIP_H */
/* Define to 1 if you have the `memmove' function. */
#define HAVE_MEMMOVE 1
/* Define to 1 if you have the <memory.h> header file. */
#define HAVE_MEMORY_H 1
/* Define to 1 if you have the `mkdir' function. */
#define HAVE_MKDIR 1
/* Define to 1 if you have the `mkfifo' function. */
#define HAVE_MKFIFO 1
/* Define to 1 if you have the `mknod' function. */
#define HAVE_MKNOD 1
/* Define to 1 if you have the `mkstemp' function. */
#define HAVE_MKSTEMP 1
/* Define to 1 if you have the <ndir.h> header file, and it defines `DIR'. */
/* #undef HAVE_NDIR_H */
/* Define to 1 if you have the <nettle/aes.h> header file. */
/* #undef HAVE_NETTLE_AES_H */
/* Define to 1 if you have the <nettle/hmac.h> header file. */
/* #undef HAVE_NETTLE_HMAC_H */
/* Define to 1 if you have the <nettle/md5.h> header file. */
/* #undef HAVE_NETTLE_MD5_H */
/* Define to 1 if you have the <nettle/pbkdf2.h> header file. */
/* #undef HAVE_NETTLE_PBKDF2_H */
/* Define to 1 if you have the <nettle/ripemd160.h> header file. */
/* #undef HAVE_NETTLE_RIPEMD160_H */
/* Define to 1 if you have the <nettle/sha.h> header file. */
/* #undef HAVE_NETTLE_SHA_H */
/* Define to 1 if you have the `nl_langinfo' function. */
#define HAVE_NL_LANGINFO 1
/* Define to 1 if you have the `openat' function. */
#define HAVE_OPENAT 1
/* Define to 1 if you have the <paths.h> header file. */
#define HAVE_PATHS_H 1
/* Define to 1 if you have the <pcreposix.h> header file. */
/* #undef HAVE_PCREPOSIX_H */
/* Define to 1 if you have the `pipe' function. */
#define HAVE_PIPE 1
/* Define to 1 if you have the `PKCS5_PBKDF2_HMAC_SHA1' function. */
/* #undef HAVE_PKCS5_PBKDF2_HMAC_SHA1 */
/* Define to 1 if you have the `poll' function. */
#define HAVE_POLL 1
/* Define to 1 if you have the <poll.h> header file. */
#define HAVE_POLL_H 1
/* Define to 1 if you have the `posix_spawnp' function. */
#define HAVE_POSIX_SPAWNP 1
/* Define to 1 if you have the <process.h> header file. */
/* #undef HAVE_PROCESS_H */
/* Define to 1 if you have the <pthread.h> header file. */
#define HAVE_PTHREAD_H 1
/* Define to 1 if you have the <pwd.h> header file. */
#define HAVE_PWD_H 1
/* Define to 1 if you have the `readdir_r' function. */
#define HAVE_READDIR_R 1
/* Define to 1 if you have the `readlink' function. */
#define HAVE_READLINK 1
/* Define to 1 if you have the `readlinkat' function. */
/* #undef HAVE_READLINKAT */
/* Define to 1 if you have the `readpassphrase' function. */
/* #undef HAVE_READPASSPHRASE */
/* Define to 1 if you have the <readpassphrase.h> header file. */
/* #undef HAVE_READPASSPHRASE_H */
/* Define to 1 if you have the <regex.h> header file. */
#define HAVE_REGEX_H 1
/* Define to 1 if you have the `select' function. */
#define HAVE_SELECT 1
/* Define to 1 if you have the `setenv' function. */
#define HAVE_SETENV 1
/* Define to 1 if you have the `setlocale' function. */
#define HAVE_SETLOCALE 1
/* Define to 1 if you have the `sigaction' function. */
#define HAVE_SIGACTION 1
/* Define to 1 if you have the <signal.h> header file. */
#define HAVE_SIGNAL_H 1
/* Define to 1 if you have the <spawn.h> header file. */
#define HAVE_SPAWN_H 1
/* Define to 1 if you have the `statfs' function. */
#define HAVE_STATFS 1
/* Define to 1 if you have the `statvfs' function. */
#define HAVE_STATVFS 1
/* Define to 1 if `stat' has the bug that it succeeds when given the
zero-length file name argument. */
/* #undef HAVE_STAT_EMPTY_STRING_BUG */
/* Define to 1 if you have the <stdarg.h> header file. */
#define HAVE_STDARG_H 1
/* Define to 1 if you have the <stdlib.h> header file. */
#define HAVE_STDLIB_H 1
/* Define to 1 if you have the `strchr' function. */
#define HAVE_STRCHR 1
/* Define to 1 if you have the `strnlen' function. */
#define HAVE_STRNLEN 1
/* Define to 1 if you have the `strdup' function. */
#define HAVE_STRDUP 1
/* Define to 1 if you have the `strerror' function. */
#define HAVE_STRERROR 1
/* Define to 1 if you have the `strerror_r' function. */
#define HAVE_STRERROR_R 1
/* Define to 1 if you have the `strftime' function. */
#define HAVE_STRFTIME 1
/* Define to 1 if you have the <strings.h> header file. */
#define HAVE_STRINGS_H 1
/* Define to 1 if you have the <string.h> header file. */
#define HAVE_STRING_H 1
/* Define to 1 if you have the `strrchr' function. */
#define HAVE_STRRCHR 1
/* Define to 1 if `f_namemax' is a member of `struct statfs'. */
/* #undef HAVE_STRUCT_STATFS_F_NAMEMAX */
/* Define to 1 if `f_iosize' is a member of `struct statvfs'. */
/* #undef HAVE_STRUCT_STATVFS_F_IOSIZE */
/* Define to 1 if `st_birthtime' is a member of `struct stat'. */
/* #undef HAVE_STRUCT_STAT_ST_BIRTHTIME */
/* Define to 1 if `st_birthtimespec.tv_nsec' is a member of `struct stat'. */
/* #undef HAVE_STRUCT_STAT_ST_BIRTHTIMESPEC_TV_NSEC */
/* Define to 1 if `st_blksize' is a member of `struct stat'. */
#define HAVE_STRUCT_STAT_ST_BLKSIZE 1
/* Define to 1 if `st_flags' is a member of `struct stat'. */
/* #undef HAVE_STRUCT_STAT_ST_FLAGS */
/* Define to 1 if `st_mtimespec.tv_nsec' is a member of `struct stat'. */
/* #undef HAVE_STRUCT_STAT_ST_MTIMESPEC_TV_NSEC */
/* Define to 1 if `st_mtime_n' is a member of `struct stat'. */
/* #undef HAVE_STRUCT_STAT_ST_MTIME_N */
/* Define to 1 if `st_mtime_usec' is a member of `struct stat'. */
/* #undef HAVE_STRUCT_STAT_ST_MTIME_USEC */
/* Define to 1 if `st_mtim.tv_nsec' is a member of `struct stat'. */
#define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1
/* Define to 1 if `st_umtime' is a member of `struct stat'. */
/* #undef HAVE_STRUCT_STAT_ST_UMTIME */
/* Define to 1 if `tm_gmtoff' is a member of `struct tm'. */
#define HAVE_STRUCT_TM_TM_GMTOFF 1
/* Define to 1 if `__tm_gmtoff' is a member of `struct tm'. */
/* #undef HAVE_STRUCT_TM___TM_GMTOFF */
/* Define to 1 if you have `struct vfsconf'. */
/* #undef HAVE_STRUCT_VFSCONF */
/* Define to 1 if you have `struct xvfsconf'. */
/* #undef HAVE_STRUCT_XVFSCONF */
/* Define to 1 if you have the `symlink' function. */
#define HAVE_SYMLINK 1
/* Define to 1 if you have the <sys/acl.h> header file. */
/* #undef HAVE_SYS_ACL_H */
/* Define to 1 if you have the <sys/cdefs.h> header file. */
#define HAVE_SYS_CDEFS_H 1
/* Define to 1 if you have the <sys/dir.h> header file, and it defines `DIR'.
*/
/* #undef HAVE_SYS_DIR_H */
/* Define to 1 if you have the <sys/ea.h> header file. */
/* #undef HAVE_SYS_EA_H */
/* Define to 1 if you have the <sys/extattr.h> header file. */
/* #undef HAVE_SYS_EXTATTR_H */
/* Define to 1 if you have the <sys/ioctl.h> header file. */
#define HAVE_SYS_IOCTL_H 1
/* Define to 1 if you have the <sys/mkdev.h> header file. */
/* #undef HAVE_SYS_MKDEV_H */
/* Define to 1 if you have the <sys/mount.h> header file. */
/* #undef HAVE_SYS_MOUNT_H */
/* Define to 1 if you have the <sys/ndir.h> header file, and it defines `DIR'.
*/
/* #undef HAVE_SYS_NDIR_H */
/* Define to 1 if you have the <sys/param.h> header file. */
#define HAVE_SYS_PARAM_H 1
/* Define to 1 if you have the <sys/poll.h> header file. */
#define HAVE_SYS_POLL_H 1
/* Define to 1 if you have the <sys/richacl.h> header file. */
/* #undef HAVE_SYS_RICHACL_H */
/* Define to 1 if you have the <sys/select.h> header file. */
#define HAVE_SYS_SELECT_H 1
/* Define to 1 if you have the <sys/statfs.h> header file. */
#define HAVE_SYS_STATFS_H 1
/* Define to 1 if you have the <sys/statvfs.h> header file. */
#define HAVE_SYS_STATVFS_H 1
/* Define to 1 if you have the <sys/stat.h> header file. */
#define HAVE_SYS_STAT_H 1
/* Define to 1 if you have the <sys/sysmacros.h> header file. */
#define HAVE_SYS_SYSMACROS_H 1
/* Define to 1 if you have the <sys/time.h> header file. */
#define HAVE_SYS_TIME_H 1
/* Define to 1 if you have the <sys/types.h> header file. */
#define HAVE_SYS_TYPES_H 1
/* Define to 1 if you have the <sys/utime.h> header file. */
/* #undef HAVE_SYS_UTIME_H */
/* Define to 1 if you have the <sys/utsname.h> header file. */
#define HAVE_SYS_UTSNAME_H 1
/* Define to 1 if you have the <sys/vfs.h> header file. */
#define HAVE_SYS_VFS_H 1
/* Define to 1 if you have <sys/wait.h> that is POSIX.1 compatible. */
#define HAVE_SYS_WAIT_H 1
/* Define to 1 if you have the <sys/xattr.h> header file. */
#define HAVE_SYS_XATTR_H 1
/* Define to 1 if you have the `timegm' function. */
#define HAVE_TIMEGM 1
/* Define to 1 if you have the <time.h> header file. */
#define HAVE_TIME_H 1
/* Define to 1 if you have the `tzset' function. */
#define HAVE_TZSET 1
/* Define to 1 if you have the <unistd.h> header file. */
#define HAVE_UNISTD_H 1
/* Define to 1 if you have the `unlinkat' function. */
#define HAVE_UNLINKAT 1
/* Define to 1 if you have the `unsetenv' function. */
#define HAVE_UNSETENV 1
/* Define to 1 if the system has the type `unsigned long long'. */
/* #undef HAVE_UNSIGNED_LONG_LONG */
/* Define to 1 if the system has the type `unsigned long long int'. */
/* #undef HAVE_UNSIGNED_LONG_LONG_INT */
/* Define to 1 if you have the `utime' function. */
#define HAVE_UTIME 1
/* Define to 1 if you have the `utimensat' function. */
#define HAVE_UTIMENSAT 1
/* Define to 1 if you have the `utimes' function. */
#define HAVE_UTIMES 1
/* Define to 1 if you have the <utime.h> header file. */
#define HAVE_UTIME_H 1
/* Define to 1 if you have the `vfork' function. */
#define HAVE_VFORK 1
/* Define to 1 if you have the `vprintf' function. */
#define HAVE_VPRINTF 1
/* Define to 1 if you have the <wchar.h> header file. */
#define HAVE_WCHAR_H 1
/* Define to 1 if the system has the type `wchar_t'. */
#define HAVE_WCHAR_T 1
/* Define to 1 if you have the `wcrtomb' function. */
#define HAVE_WCRTOMB 1
/* Define to 1 if you have the `wcscmp' function. */
#define HAVE_WCSCMP 1
/* Define to 1 if you have the `wcscpy' function. */
#define HAVE_WCSCPY 1
/* Define to 1 if you have the `wcslen' function. */
#define HAVE_WCSLEN 1
/* Define to 1 if you have the `wctomb' function. */
#define HAVE_WCTOMB 1
/* Define to 1 if you have the <wctype.h> header file. */
#define HAVE_WCTYPE_H 1
/* Define to 1 if you have the <wincrypt.h> header file. */
/* #undef HAVE_WINCRYPT_H */
/* Define to 1 if you have the <windows.h> header file. */
/* #undef HAVE_WINDOWS_H */
/* Define to 1 if you have the <winioctl.h> header file. */
/* #undef HAVE_WINIOCTL_H */
/* Define to 1 if you have _CrtSetReportMode in <crtdbg.h> */
/* #undef HAVE__CrtSetReportMode */
/* Define to 1 if you have the `wmemcmp' function. */
#define HAVE_WMEMCMP 1
/* Define to 1 if you have the `wmemcpy' function. */
#define HAVE_WMEMCPY 1
/* Define to 1 if you have the `wmemmove' function. */
#define HAVE_WMEMMOVE 1
/* Define to 1 if you have a working EXT2_IOC_GETFLAGS */
#define HAVE_WORKING_EXT2_IOC_GETFLAGS 1
/* Define to 1 if you have a working FS_IOC_GETFLAGS */
#define HAVE_WORKING_FS_IOC_GETFLAGS 1
/* Define to 1 if you have the <zlib.h> header file. */
#define HAVE_ZLIB_H 1
/* Define to 1 if you have the <zstd.h> header file. */
#define HAVE_ZSTD_H 1
/* Define to 1 if you have the `_ctime64_s' function. */
/* #undef HAVE__CTIME64_S */
/* Define to 1 if you have the `_fseeki64' function. */
/* #undef HAVE__FSEEKI64 */
/* Define to 1 if you have the `_get_timezone' function. */
/* #undef HAVE__GET_TIMEZONE */
/* Define to 1 if you have the `_gmtime64_s' function. */
/* #undef HAVE__GMTIME64_S */
/* Define to 1 if you have the `_localtime64_s' function. */
/* #undef HAVE__LOCALTIME64_S */
/* Define to 1 if you have the `_mkgmtime64' function. */
/* #undef HAVE__MKGMTIME64 */
/* Define as const if the declaration of iconv() needs const. */
#define ICONV_CONST
/* Version number of libarchive as a single integer */
#define LIBARCHIVE_VERSION_NUMBER "3006000"
/* Version number of libarchive */
#define LIBARCHIVE_VERSION_STRING "3.6.0"
/* Define to 1 if `lstat' dereferences a symlink specified with a trailing
slash. */
/* #undef LSTAT_FOLLOWS_SLASHED_SYMLINK */
/* Define to 1 if `major', `minor', and `makedev' are declared in <mkdev.h>.
*/
/* #undef MAJOR_IN_MKDEV */
/* Define to 1 if `major', `minor', and `makedev' are declared in
<sysmacros.h>. */
#define MAJOR_IN_SYSMACROS 1
/* Define to 1 if your C compiler doesn't accept -c and -o together. */
/* #undef NO_MINUS_C_MINUS_O */
/* The size of `wchar_t', as computed by sizeof. */
#define SIZEOF_WCHAR_T 4
/* Define to 1 if strerror_r returns char *. */
/* #undef STRERROR_R_CHAR_P */
/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
#define TIME_WITH_SYS_TIME 1
/*
* Some platform requires a macro to use extension functions.
*/
#define SAFE_TO_DEFINE_EXTENSIONS 1
#ifdef SAFE_TO_DEFINE_EXTENSIONS
/* Enable extensions on AIX 3, Interix. */
#ifndef _ALL_SOURCE
# define _ALL_SOURCE 1
#endif
/* Enable GNU extensions on systems that have them. */
#ifndef _GNU_SOURCE
# define _GNU_SOURCE 1
#endif
/* Enable threading extensions on Solaris. */
#ifndef _POSIX_PTHREAD_SEMANTICS
# define _POSIX_PTHREAD_SEMANTICS 1
#endif
/* Enable extensions on HP NonStop. */
#ifndef _TANDEM_SOURCE
# define _TANDEM_SOURCE 1
#endif
/* Enable general extensions on Solaris. */
#ifndef __EXTENSIONS__
# define __EXTENSIONS__ 1
#endif
#endif /* SAFE_TO_DEFINE_EXTENSIONS */
/* Version number of package */
#define VERSION "3.6.0"
/* Number of bits in a file offset, on hosts where this is settable. */
/* #undef _FILE_OFFSET_BITS */
/* Define to 1 to make fseeko visible on some hosts (e.g. glibc 2.2). */
/* #undef _LARGEFILE_SOURCE */
/* Define for large files, on AIX-style hosts. */
/* #undef _LARGE_FILES */
/* Define to control Windows SDK version */
#ifndef NTDDI_VERSION
/* #undef NTDDI_VERSION */
#endif // NTDDI_VERSION
#ifndef _WIN32_WINNT
/* #undef _WIN32_WINNT */
#endif // _WIN32_WINNT
#ifndef WINVER
/* #undef WINVER */
#endif // WINVER
/* Define to empty if `const' does not conform to ANSI C. */
/* #undef const */
/* Define to `int' if <sys/types.h> doesn't define. */
/* #undef gid_t */
/* Define to `unsigned long' if <sys/types.h> does not define. */
/* #undef id_t */
/* Define to `int' if <sys/types.h> does not define. */
/* #undef mode_t */
/* Define to `long long' if <sys/types.h> does not define. */
/* #undef off_t */
/* Define to `int' if <sys/types.h> doesn't define. */
/* #undef pid_t */
/* Define to `unsigned int' if <sys/types.h> does not define. */
/* #undef size_t */
/* Define to `int' if <sys/types.h> does not define. */
/* #undef ssize_t */
/* Define to `int' if <sys/types.h> doesn't define. */
/* #undef uid_t */
#include <cm3p/kwiml/int.h>
#ifndef KWIML_INT_HAVE_INT64_T
typedef KWIML_INT_int64_t int64_t;
#endif
#ifndef KWIML_INT_HAVE_INT32_T
typedef KWIML_INT_int32_t int32_t;
#endif
#ifndef KWIML_INT_HAVE_INT16_T
typedef KWIML_INT_int16_t int16_t;
#endif
#ifndef KWIML_INT_HAVE_INT8_T
typedef KWIML_INT_int8_t int8_t;
#endif
#ifndef KWIML_INT_HAVE_INTPTR_T
typedef KWIML_INT_intptr_t intptr_t;
#endif
#ifndef KWIML_INT_HAVE_UINT64_T
typedef KWIML_INT_uint64_t uint64_t;
#endif
#ifndef KWIML_INT_HAVE_UINT32_T
typedef KWIML_INT_uint32_t uint32_t;
#endif
#ifndef KWIML_INT_HAVE_UINT16_T
typedef KWIML_INT_uint16_t uint16_t;
#endif
#ifndef KWIML_INT_HAVE_UINT8_T
typedef KWIML_INT_uint8_t uint8_t;
#endif
#ifndef KWIML_INT_HAVE_UINTPTR_T
typedef KWIML_INT_uintptr_t uintptr_t;
#endif
/* Define to 1 if you have the <stdint.h> header file. */
#ifdef KWIML_INT_HAVE_STDINT_H
# define HAVE_STDINT_H 1
#endif
/* Define to 1 if you have the <inttypes.h> header file. */
#ifdef KWIML_INT_HAVE_INTTYPES_H
# define HAVE_INTTYPES_H 1
#endif
#define ARCHIVE_SHA512_COMPILE_TEST
#define ARCHIVE_CRYPTO_SHA512_LIBC3
#define PLATFORM_CONFIG_H "check_crypto_md.h"
/*-
* Copyright (c) 2003-2007 Tim Kientzle
* Copyright (c) 2011 Andres Mejia
* Copyright (c) 2011 Michihiro NAKAJIMA
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR(S) ``AS IS'' AND ANY EXPRESS OR
* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
* IN NO EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
#include "archive_platform.h"
#include "archive.h"
#include "archive_digest_private.h"
/* In particular, force the configure probe to break if it tries
* to test a combination of OpenSSL and libmd. */
#if defined(ARCHIVE_CRYPTO_OPENSSL) && defined(ARCHIVE_CRYPTO_LIBMD)
#error Cannot use both OpenSSL and libmd.
#endif
/*
* Message digest functions for Windows platform.
*/
#if defined(ARCHIVE_CRYPTO_MD5_WIN) ||\
defined(ARCHIVE_CRYPTO_SHA1_WIN) ||\
defined(ARCHIVE_CRYPTO_SHA256_WIN) ||\
defined(ARCHIVE_CRYPTO_SHA384_WIN) ||\
defined(ARCHIVE_CRYPTO_SHA512_WIN)
/*
* Initialize a Message digest.
*/
static int
win_crypto_init(Digest_CTX *ctx, ALG_ID algId)
{
ctx->valid = 0;
if (!CryptAcquireContext(&ctx->cryptProv, NULL, NULL,
PROV_RSA_FULL, CRYPT_VERIFYCONTEXT)) {
if (GetLastError() != (DWORD)NTE_BAD_KEYSET)
return (ARCHIVE_FAILED);
if (!CryptAcquireContext(&ctx->cryptProv, NULL, NULL,
PROV_RSA_FULL, CRYPT_NEWKEYSET))
return (ARCHIVE_FAILED);
}
if (!CryptCreateHash(ctx->cryptProv, algId, 0, 0, &ctx->hash)) {
CryptReleaseContext(ctx->cryptProv, 0);
return (ARCHIVE_FAILED);
}
ctx->valid = 1;
return (ARCHIVE_OK);
}
/*
* Update a Message digest.
*/
static int
win_crypto_Update(Digest_CTX *ctx, const unsigned char *buf, size_t len)
{
if (!ctx->valid)
return (ARCHIVE_FAILED);
CryptHashData(ctx->hash,
(unsigned char *)(uintptr_t)buf,
(DWORD)len, 0);
return (ARCHIVE_OK);
}
static int
win_crypto_Final(unsigned char *buf, size_t bufsize, Digest_CTX *ctx)
{
DWORD siglen = (DWORD)bufsize;
if (!ctx->valid)
return (ARCHIVE_FAILED);
CryptGetHashParam(ctx->hash, HP_HASHVAL, buf, &siglen, 0);
CryptDestroyHash(ctx->hash);
CryptReleaseContext(ctx->cryptProv, 0);
ctx->valid = 0;
return (ARCHIVE_OK);
}
#endif /* defined(ARCHIVE_CRYPTO_*_WIN) */
/* MD5 implementations */
#if defined(ARCHIVE_CRYPTO_MD5_LIBC)
static int
__archive_md5init(archive_md5_ctx *ctx)
{
MD5Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_md5update(archive_md5_ctx *ctx, const void *indata,
size_t insize)
{
MD5Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_md5final(archive_md5_ctx *ctx, void *md)
{
MD5Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_MD5_LIBMD)
static int
__archive_md5init(archive_md5_ctx *ctx)
{
MD5Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_md5update(archive_md5_ctx *ctx, const void *indata,
size_t insize)
{
MD5Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_md5final(archive_md5_ctx *ctx, void *md)
{
MD5Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_MD5_LIBSYSTEM)
static int
__archive_md5init(archive_md5_ctx *ctx)
{
CC_MD5_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_md5update(archive_md5_ctx *ctx, const void *indata,
size_t insize)
{
CC_MD5_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_md5final(archive_md5_ctx *ctx, void *md)
{
CC_MD5_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_MD5_MBEDTLS)
static int
__archive_md5init(archive_md5_ctx *ctx)
{
mbedtls_md5_init(ctx);
if (mbedtls_md5_starts_ret(ctx) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_md5update(archive_md5_ctx *ctx, const void *indata,
size_t insize)
{
if (mbedtls_md5_update_ret(ctx, indata, insize) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_md5final(archive_md5_ctx *ctx, void *md)
{
if (mbedtls_md5_finish_ret(ctx, md) == 0) {
mbedtls_md5_free(ctx);
return (ARCHIVE_OK);
} else {
mbedtls_md5_free(ctx);
return (ARCHIVE_FATAL);
}
}
#elif defined(ARCHIVE_CRYPTO_MD5_NETTLE)
static int
__archive_md5init(archive_md5_ctx *ctx)
{
md5_init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_md5update(archive_md5_ctx *ctx, const void *indata,
size_t insize)
{
md5_update(ctx, insize, indata);
return (ARCHIVE_OK);
}
static int
__archive_md5final(archive_md5_ctx *ctx, void *md)
{
md5_digest(ctx, MD5_DIGEST_SIZE, md);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_MD5_OPENSSL)
static int
__archive_md5init(archive_md5_ctx *ctx)
{
if ((*ctx = EVP_MD_CTX_new()) == NULL)
return (ARCHIVE_FAILED);
EVP_DigestInit(*ctx, EVP_md5());
return (ARCHIVE_OK);
}
static int
__archive_md5update(archive_md5_ctx *ctx, const void *indata,
size_t insize)
{
EVP_DigestUpdate(*ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_md5final(archive_md5_ctx *ctx, void *md)
{
/* HACK: archive_write_set_format_xar.c is finalizing empty contexts, so
* this is meant to cope with that. Real fix is probably to fix
* archive_write_set_format_xar.c
*/
if (*ctx) {
EVP_DigestFinal(*ctx, md, NULL);
EVP_MD_CTX_free(*ctx);
*ctx = NULL;
}
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_MD5_WIN)
static int
__archive_md5init(archive_md5_ctx *ctx)
{
return (win_crypto_init(ctx, CALG_MD5));
}
static int
__archive_md5update(archive_md5_ctx *ctx, const void *indata,
size_t insize)
{
return (win_crypto_Update(ctx, indata, insize));
}
static int
__archive_md5final(archive_md5_ctx *ctx, void *md)
{
return (win_crypto_Final(md, 16, ctx));
}
#else
static int
__archive_md5init(archive_md5_ctx *ctx)
{
(void)ctx; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_md5update(archive_md5_ctx *ctx, const void *indata,
size_t insize)
{
(void)ctx; /* UNUSED */
(void)indata; /* UNUSED */
(void)insize; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_md5final(archive_md5_ctx *ctx, void *md)
{
(void)ctx; /* UNUSED */
(void)md; /* UNUSED */
return (ARCHIVE_FAILED);
}
#endif
/* RIPEMD160 implementations */
#if defined(ARCHIVE_CRYPTO_RMD160_LIBC)
static int
__archive_ripemd160init(archive_rmd160_ctx *ctx)
{
RMD160Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata,
size_t insize)
{
RMD160Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_ripemd160final(archive_rmd160_ctx *ctx, void *md)
{
RMD160Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_RMD160_LIBMD)
static int
__archive_ripemd160init(archive_rmd160_ctx *ctx)
{
RIPEMD160_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata,
size_t insize)
{
RIPEMD160_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_ripemd160final(archive_rmd160_ctx *ctx, void *md)
{
RIPEMD160_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_RMD160_MBEDTLS)
static int
__archive_ripemd160init(archive_rmd160_ctx *ctx)
{
mbedtls_ripemd160_init(ctx);
if (mbedtls_ripemd160_starts_ret(ctx) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata,
size_t insize)
{
if (mbedtls_ripemd160_update_ret(ctx, indata, insize) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_ripemd160final(archive_rmd160_ctx *ctx, void *md)
{
if (mbedtls_ripemd160_finish_ret(ctx, md) == 0) {
mbedtls_ripemd160_free(ctx);
return (ARCHIVE_OK);
} else {
mbedtls_ripemd160_free(ctx);
return (ARCHIVE_FATAL);
}
}
#elif defined(ARCHIVE_CRYPTO_RMD160_NETTLE)
static int
__archive_ripemd160init(archive_rmd160_ctx *ctx)
{
ripemd160_init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata,
size_t insize)
{
ripemd160_update(ctx, insize, indata);
return (ARCHIVE_OK);
}
static int
__archive_ripemd160final(archive_rmd160_ctx *ctx, void *md)
{
ripemd160_digest(ctx, RIPEMD160_DIGEST_SIZE, md);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_RMD160_OPENSSL)
static int
__archive_ripemd160init(archive_rmd160_ctx *ctx)
{
if ((*ctx = EVP_MD_CTX_new()) == NULL)
return (ARCHIVE_FAILED);
EVP_DigestInit(*ctx, EVP_ripemd160());
return (ARCHIVE_OK);
}
static int
__archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata,
size_t insize)
{
EVP_DigestUpdate(*ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_ripemd160final(archive_rmd160_ctx *ctx, void *md)
{
if (*ctx) {
EVP_DigestFinal(*ctx, md, NULL);
EVP_MD_CTX_free(*ctx);
*ctx = NULL;
}
return (ARCHIVE_OK);
}
#else
static int
__archive_ripemd160init(archive_rmd160_ctx *ctx)
{
(void)ctx; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata,
size_t insize)
{
(void)ctx; /* UNUSED */
(void)indata; /* UNUSED */
(void)insize; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_ripemd160final(archive_rmd160_ctx *ctx, void *md)
{
(void)ctx; /* UNUSED */
(void)md; /* UNUSED */
return (ARCHIVE_FAILED);
}
#endif
/* SHA1 implementations */
#if defined(ARCHIVE_CRYPTO_SHA1_LIBC)
static int
__archive_sha1init(archive_sha1_ctx *ctx)
{
SHA1Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha1update(archive_sha1_ctx *ctx, const void *indata,
size_t insize)
{
SHA1Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha1final(archive_sha1_ctx *ctx, void *md)
{
SHA1Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA1_LIBMD)
static int
__archive_sha1init(archive_sha1_ctx *ctx)
{
SHA1_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha1update(archive_sha1_ctx *ctx, const void *indata,
size_t insize)
{
SHA1_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha1final(archive_sha1_ctx *ctx, void *md)
{
SHA1_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA1_LIBSYSTEM)
static int
__archive_sha1init(archive_sha1_ctx *ctx)
{
CC_SHA1_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha1update(archive_sha1_ctx *ctx, const void *indata,
size_t insize)
{
CC_SHA1_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha1final(archive_sha1_ctx *ctx, void *md)
{
CC_SHA1_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA1_MBEDTLS)
static int
__archive_sha1init(archive_sha1_ctx *ctx)
{
mbedtls_sha1_init(ctx);
if (mbedtls_sha1_starts_ret(ctx) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_sha1update(archive_sha1_ctx *ctx, const void *indata,
size_t insize)
{
if (mbedtls_sha1_update_ret(ctx, indata, insize) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_sha1final(archive_sha1_ctx *ctx, void *md)
{
if (mbedtls_sha1_finish_ret(ctx, md) == 0) {
mbedtls_sha1_free(ctx);
return (ARCHIVE_OK);
} else {
mbedtls_sha1_free(ctx);
return (ARCHIVE_FATAL);
}
}
#elif defined(ARCHIVE_CRYPTO_SHA1_NETTLE)
static int
__archive_sha1init(archive_sha1_ctx *ctx)
{
sha1_init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha1update(archive_sha1_ctx *ctx, const void *indata,
size_t insize)
{
sha1_update(ctx, insize, indata);
return (ARCHIVE_OK);
}
static int
__archive_sha1final(archive_sha1_ctx *ctx, void *md)
{
sha1_digest(ctx, SHA1_DIGEST_SIZE, md);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA1_OPENSSL)
static int
__archive_sha1init(archive_sha1_ctx *ctx)
{
if ((*ctx = EVP_MD_CTX_new()) == NULL)
return (ARCHIVE_FAILED);
EVP_DigestInit(*ctx, EVP_sha1());
return (ARCHIVE_OK);
}
static int
__archive_sha1update(archive_sha1_ctx *ctx, const void *indata,
size_t insize)
{
EVP_DigestUpdate(*ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha1final(archive_sha1_ctx *ctx, void *md)
{
/* HACK: archive_write_set_format_xar.c is finalizing empty contexts, so
* this is meant to cope with that. Real fix is probably to fix
* archive_write_set_format_xar.c
*/
if (*ctx) {
EVP_DigestFinal(*ctx, md, NULL);
EVP_MD_CTX_free(*ctx);
*ctx = NULL;
}
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA1_WIN)
static int
__archive_sha1init(archive_sha1_ctx *ctx)
{
return (win_crypto_init(ctx, CALG_SHA1));
}
static int
__archive_sha1update(archive_sha1_ctx *ctx, const void *indata,
size_t insize)
{
return (win_crypto_Update(ctx, indata, insize));
}
static int
__archive_sha1final(archive_sha1_ctx *ctx, void *md)
{
return (win_crypto_Final(md, 20, ctx));
}
#else
static int
__archive_sha1init(archive_sha1_ctx *ctx)
{
(void)ctx; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_sha1update(archive_sha1_ctx *ctx, const void *indata,
size_t insize)
{
(void)ctx; /* UNUSED */
(void)indata; /* UNUSED */
(void)insize; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_sha1final(archive_sha1_ctx *ctx, void *md)
{
(void)ctx; /* UNUSED */
(void)md; /* UNUSED */
return (ARCHIVE_FAILED);
}
#endif
/* SHA256 implementations */
#if defined(ARCHIVE_CRYPTO_SHA256_LIBC)
static int
__archive_sha256init(archive_sha256_ctx *ctx)
{
SHA256_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha256update(archive_sha256_ctx *ctx, const void *indata,
size_t insize)
{
SHA256_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha256final(archive_sha256_ctx *ctx, void *md)
{
SHA256_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA256_LIBC2)
static int
__archive_sha256init(archive_sha256_ctx *ctx)
{
SHA256Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha256update(archive_sha256_ctx *ctx, const void *indata,
size_t insize)
{
SHA256Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha256final(archive_sha256_ctx *ctx, void *md)
{
SHA256Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA256_LIBC3)
static int
__archive_sha256init(archive_sha256_ctx *ctx)
{
SHA256Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha256update(archive_sha256_ctx *ctx, const void *indata,
size_t insize)
{
SHA256Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha256final(archive_sha256_ctx *ctx, void *md)
{
SHA256Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA256_LIBMD)
static int
__archive_sha256init(archive_sha256_ctx *ctx)
{
SHA256_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha256update(archive_sha256_ctx *ctx, const void *indata,
size_t insize)
{
SHA256_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha256final(archive_sha256_ctx *ctx, void *md)
{
SHA256_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA256_LIBSYSTEM)
static int
__archive_sha256init(archive_sha256_ctx *ctx)
{
CC_SHA256_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha256update(archive_sha256_ctx *ctx, const void *indata,
size_t insize)
{
CC_SHA256_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha256final(archive_sha256_ctx *ctx, void *md)
{
CC_SHA256_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA256_MBEDTLS)
static int
__archive_sha256init(archive_sha256_ctx *ctx)
{
mbedtls_sha256_init(ctx);
if (mbedtls_sha256_starts_ret(ctx, 0) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_sha256update(archive_sha256_ctx *ctx, const void *indata,
size_t insize)
{
if (mbedtls_sha256_update_ret(ctx, indata, insize) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_sha256final(archive_sha256_ctx *ctx, void *md)
{
if (mbedtls_sha256_finish_ret(ctx, md) == 0) {
mbedtls_sha256_free(ctx);
return (ARCHIVE_OK);
} else {
mbedtls_sha256_free(ctx);
return (ARCHIVE_FATAL);
}
}
#elif defined(ARCHIVE_CRYPTO_SHA256_NETTLE)
static int
__archive_sha256init(archive_sha256_ctx *ctx)
{
sha256_init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha256update(archive_sha256_ctx *ctx, const void *indata,
size_t insize)
{
sha256_update(ctx, insize, indata);
return (ARCHIVE_OK);
}
static int
__archive_sha256final(archive_sha256_ctx *ctx, void *md)
{
sha256_digest(ctx, SHA256_DIGEST_SIZE, md);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA256_OPENSSL)
static int
__archive_sha256init(archive_sha256_ctx *ctx)
{
if ((*ctx = EVP_MD_CTX_new()) == NULL)
return (ARCHIVE_FAILED);
EVP_DigestInit(*ctx, EVP_sha256());
return (ARCHIVE_OK);
}
static int
__archive_sha256update(archive_sha256_ctx *ctx, const void *indata,
size_t insize)
{
EVP_DigestUpdate(*ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha256final(archive_sha256_ctx *ctx, void *md)
{
if (*ctx) {
EVP_DigestFinal(*ctx, md, NULL);
EVP_MD_CTX_free(*ctx);
*ctx = NULL;
}
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA256_WIN)
static int
__archive_sha256init(archive_sha256_ctx *ctx)
{
return (win_crypto_init(ctx, CALG_SHA_256));
}
static int
__archive_sha256update(archive_sha256_ctx *ctx, const void *indata,
size_t insize)
{
return (win_crypto_Update(ctx, indata, insize));
}
static int
__archive_sha256final(archive_sha256_ctx *ctx, void *md)
{
return (win_crypto_Final(md, 32, ctx));
}
#else
static int
__archive_sha256init(archive_sha256_ctx *ctx)
{
(void)ctx; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_sha256update(archive_sha256_ctx *ctx, const void *indata,
size_t insize)
{
(void)ctx; /* UNUSED */
(void)indata; /* UNUSED */
(void)insize; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_sha256final(archive_sha256_ctx *ctx, void *md)
{
(void)ctx; /* UNUSED */
(void)md; /* UNUSED */
return (ARCHIVE_FAILED);
}
#endif
/* SHA384 implementations */
#if defined(ARCHIVE_CRYPTO_SHA384_LIBC)
static int
__archive_sha384init(archive_sha384_ctx *ctx)
{
SHA384_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha384update(archive_sha384_ctx *ctx, const void *indata,
size_t insize)
{
SHA384_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha384final(archive_sha384_ctx *ctx, void *md)
{
SHA384_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA384_LIBC2)
static int
__archive_sha384init(archive_sha384_ctx *ctx)
{
SHA384Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha384update(archive_sha384_ctx *ctx, const void *indata,
size_t insize)
{
SHA384Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha384final(archive_sha384_ctx *ctx, void *md)
{
SHA384Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA384_LIBC3)
static int
__archive_sha384init(archive_sha384_ctx *ctx)
{
SHA384Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha384update(archive_sha384_ctx *ctx, const void *indata,
size_t insize)
{
SHA384Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha384final(archive_sha384_ctx *ctx, void *md)
{
SHA384Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA384_LIBSYSTEM)
static int
__archive_sha384init(archive_sha384_ctx *ctx)
{
CC_SHA384_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha384update(archive_sha384_ctx *ctx, const void *indata,
size_t insize)
{
CC_SHA384_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha384final(archive_sha384_ctx *ctx, void *md)
{
CC_SHA384_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA384_MBEDTLS)
static int
__archive_sha384init(archive_sha384_ctx *ctx)
{
mbedtls_sha512_init(ctx);
if (mbedtls_sha512_starts_ret(ctx, 1) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_sha384update(archive_sha384_ctx *ctx, const void *indata,
size_t insize)
{
if (mbedtls_sha512_update_ret(ctx, indata, insize) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_sha384final(archive_sha384_ctx *ctx, void *md)
{
if (mbedtls_sha512_finish_ret(ctx, md) == 0) {
mbedtls_sha512_free(ctx);
return (ARCHIVE_OK);
} else {
mbedtls_sha512_free(ctx);
return (ARCHIVE_FATAL);
}
}
#elif defined(ARCHIVE_CRYPTO_SHA384_NETTLE)
static int
__archive_sha384init(archive_sha384_ctx *ctx)
{
sha384_init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha384update(archive_sha384_ctx *ctx, const void *indata,
size_t insize)
{
sha384_update(ctx, insize, indata);
return (ARCHIVE_OK);
}
static int
__archive_sha384final(archive_sha384_ctx *ctx, void *md)
{
sha384_digest(ctx, SHA384_DIGEST_SIZE, md);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA384_OPENSSL)
static int
__archive_sha384init(archive_sha384_ctx *ctx)
{
if ((*ctx = EVP_MD_CTX_new()) == NULL)
return (ARCHIVE_FAILED);
EVP_DigestInit(*ctx, EVP_sha384());
return (ARCHIVE_OK);
}
static int
__archive_sha384update(archive_sha384_ctx *ctx, const void *indata,
size_t insize)
{
EVP_DigestUpdate(*ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha384final(archive_sha384_ctx *ctx, void *md)
{
if (*ctx) {
EVP_DigestFinal(*ctx, md, NULL);
EVP_MD_CTX_free(*ctx);
*ctx = NULL;
}
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA384_WIN)
static int
__archive_sha384init(archive_sha384_ctx *ctx)
{
return (win_crypto_init(ctx, CALG_SHA_384));
}
static int
__archive_sha384update(archive_sha384_ctx *ctx, const void *indata,
size_t insize)
{
return (win_crypto_Update(ctx, indata, insize));
}
static int
__archive_sha384final(archive_sha384_ctx *ctx, void *md)
{
return (win_crypto_Final(md, 48, ctx));
}
#else
static int
__archive_sha384init(archive_sha384_ctx *ctx)
{
(void)ctx; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_sha384update(archive_sha384_ctx *ctx, const void *indata,
size_t insize)
{
(void)ctx; /* UNUSED */
(void)indata; /* UNUSED */
(void)insize; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_sha384final(archive_sha384_ctx *ctx, void *md)
{
(void)ctx; /* UNUSED */
(void)md; /* UNUSED */
return (ARCHIVE_FAILED);
}
#endif
/* SHA512 implementations */
#if defined(ARCHIVE_CRYPTO_SHA512_LIBC)
static int
__archive_sha512init(archive_sha512_ctx *ctx)
{
SHA512_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha512update(archive_sha512_ctx *ctx, const void *indata,
size_t insize)
{
SHA512_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha512final(archive_sha512_ctx *ctx, void *md)
{
SHA512_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA512_LIBC2)
static int
__archive_sha512init(archive_sha512_ctx *ctx)
{
SHA512Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha512update(archive_sha512_ctx *ctx, const void *indata,
size_t insize)
{
SHA512Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha512final(archive_sha512_ctx *ctx, void *md)
{
SHA512Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA512_LIBC3)
static int
__archive_sha512init(archive_sha512_ctx *ctx)
{
SHA512Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha512update(archive_sha512_ctx *ctx, const void *indata,
size_t insize)
{
SHA512Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha512final(archive_sha512_ctx *ctx, void *md)
{
SHA512Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA512_LIBMD)
static int
__archive_sha512init(archive_sha512_ctx *ctx)
{
SHA512_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha512update(archive_sha512_ctx *ctx, const void *indata,
size_t insize)
{
SHA512_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha512final(archive_sha512_ctx *ctx, void *md)
{
SHA512_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA512_LIBSYSTEM)
static int
__archive_sha512init(archive_sha512_ctx *ctx)
{
CC_SHA512_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha512update(archive_sha512_ctx *ctx, const void *indata,
size_t insize)
{
CC_SHA512_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha512final(archive_sha512_ctx *ctx, void *md)
{
CC_SHA512_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA512_MBEDTLS)
static int
__archive_sha512init(archive_sha512_ctx *ctx)
{
mbedtls_sha512_init(ctx);
if (mbedtls_sha512_starts_ret(ctx, 0) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_sha512update(archive_sha512_ctx *ctx, const void *indata,
size_t insize)
{
if (mbedtls_sha512_update_ret(ctx, indata, insize) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_sha512final(archive_sha512_ctx *ctx, void *md)
{
if (mbedtls_sha512_finish_ret(ctx, md) == 0) {
mbedtls_sha512_free(ctx);
return (ARCHIVE_OK);
} else {
mbedtls_sha512_free(ctx);
return (ARCHIVE_FATAL);
}
}
#elif defined(ARCHIVE_CRYPTO_SHA512_NETTLE)
static int
__archive_sha512init(archive_sha512_ctx *ctx)
{
sha512_init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha512update(archive_sha512_ctx *ctx, const void *indata,
size_t insize)
{
sha512_update(ctx, insize, indata);
return (ARCHIVE_OK);
}
static int
__archive_sha512final(archive_sha512_ctx *ctx, void *md)
{
sha512_digest(ctx, SHA512_DIGEST_SIZE, md);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA512_OPENSSL)
static int
__archive_sha512init(archive_sha512_ctx *ctx)
{
if ((*ctx = EVP_MD_CTX_new()) == NULL)
return (ARCHIVE_FAILED);
EVP_DigestInit(*ctx, EVP_sha512());
return (ARCHIVE_OK);
}
static int
__archive_sha512update(archive_sha512_ctx *ctx, const void *indata,
size_t insize)
{
EVP_DigestUpdate(*ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha512final(archive_sha512_ctx *ctx, void *md)
{
if (*ctx) {
EVP_DigestFinal(*ctx, md, NULL);
EVP_MD_CTX_free(*ctx);
*ctx = NULL;
}
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA512_WIN)
static int
__archive_sha512init(archive_sha512_ctx *ctx)
{
return (win_crypto_init(ctx, CALG_SHA_512));
}
static int
__archive_sha512update(archive_sha512_ctx *ctx, const void *indata,
size_t insize)
{
return (win_crypto_Update(ctx, indata, insize));
}
static int
__archive_sha512final(archive_sha512_ctx *ctx, void *md)
{
return (win_crypto_Final(md, 64, ctx));
}
#else
static int
__archive_sha512init(archive_sha512_ctx *ctx)
{
(void)ctx; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_sha512update(archive_sha512_ctx *ctx, const void *indata,
size_t insize)
{
(void)ctx; /* UNUSED */
(void)indata; /* UNUSED */
(void)insize; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_sha512final(archive_sha512_ctx *ctx, void *md)
{
(void)ctx; /* UNUSED */
(void)md; /* UNUSED */
return (ARCHIVE_FAILED);
}
#endif
/* NOTE: Message Digest functions are set based on availability and by the
* following order of preference.
* 1. libc
* 2. libc2
* 3. libc3
* 4. libSystem
* 5. Nettle
* 6. OpenSSL
* 7. libmd
* 8. Windows API
*/
const struct archive_digest __archive_digest =
{
/* MD5 */
&__archive_md5init,
&__archive_md5update,
&__archive_md5final,
/* RIPEMD160 */
&__archive_ripemd160init,
&__archive_ripemd160update,
&__archive_ripemd160final,
/* SHA1 */
&__archive_sha1init,
&__archive_sha1update,
&__archive_sha1final,
/* SHA256 */
&__archive_sha256init,
&__archive_sha256update,
&__archive_sha256final,
/* SHA384 */
&__archive_sha384init,
&__archive_sha384update,
&__archive_sha384final,
/* SHA512 */
&__archive_sha512init,
&__archive_sha512update,
&__archive_sha512final
};
int
main(int argc, char **argv)
{
archive_sha512_ctx ctx;
archive_sha512_init(&ctx);
archive_sha512_update(&ctx, *argv, argc);
archive_sha512_final(&ctx, NULL);
return 0;
}
Checking support for ARCHIVE_CRYPTO_MD5_LIBSYSTEM failed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeTmp
Run Build Command(s):/bin/gmake -f Makefile cmTC_ca7f9/fast && gmake -f CMakeFiles/cmTC_ca7f9.dir/build.make CMakeFiles/cmTC_ca7f9.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeTmp'
Building C object CMakeFiles/cmTC_ca7f9.dir/check_crypto_md.c.o
/bin/gcc -I/usr/src/cmake-3.25.0 -I/usr/src/cmake-3.25.0/Utilities/cmlibarchive/libarchive -I/usr/src/cmake-3.25.0/CMakeFiles/CMakeTmp -I/usr/src/cmake-3.25.0/Utilities -w -std=gnu99 -o CMakeFiles/cmTC_ca7f9.dir/check_crypto_md.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeTmp/check_crypto_md.c
In file included from /usr/src/cmake-3.25.0/CMakeFiles/CMakeTmp/check_crypto_md.c:1204:0:
/usr/src/cmake-3.25.0/Utilities/cmlibarchive/libarchive/archive_digest_private.h:115:39: fatal error: CommonCrypto/CommonDigest.h: No such file or directory
#include <CommonCrypto/CommonDigest.h>
^
compilation terminated.
gmake[1]: *** [CMakeFiles/cmTC_ca7f9.dir/check_crypto_md.c.o] Error 1
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeTmp'
gmake: *** [cmTC_ca7f9/fast] Error 2
Source file was:
/* config.h. Generated from build/cmake/config.h.in by cmake configure */
#define __LIBARCHIVE_CONFIG_H_INCLUDED 1
#if defined(__osf__)
# define _OSF_SOURCE
#endif
/*
* Ensure we have C99-style int64_t, etc, all defined.
*/
/* Define ZLIB_WINAPI if zlib was built on Visual Studio. */
/* #undef ZLIB_WINAPI */
/* Darwin ACL support */
/* #undef ARCHIVE_ACL_DARWIN */
/* FreeBSD ACL support */
/* #undef ARCHIVE_ACL_FREEBSD */
/* FreeBSD NFSv4 ACL support */
/* #undef ARCHIVE_ACL_FREEBSD_NFS4 */
/* Linux POSIX.1e ACL support via libacl */
/* #undef ARCHIVE_ACL_LIBACL */
/* Linux NFSv4 ACL support via librichacl */
/* #undef ARCHIVE_ACL_LIBRICHACL */
/* Solaris ACL support */
/* #undef ARCHIVE_ACL_SUNOS */
/* Solaris NFSv4 ACL support */
/* #undef ARCHIVE_ACL_SUNOS_NFS4 */
/* MD5 via ARCHIVE_CRYPTO_MD5_LIBC supported. */
/* #undef ARCHIVE_CRYPTO_MD5_LIBC */
/* MD5 via ARCHIVE_CRYPTO_MD5_LIBSYSTEM supported. */
/* #undef ARCHIVE_CRYPTO_MD5_LIBSYSTEM */
/* MD5 via ARCHIVE_CRYPTO_MD5_NETTLE supported. */
/* #undef ARCHIVE_CRYPTO_MD5_NETTLE */
/* MD5 via ARCHIVE_CRYPTO_MD5_OPENSSL supported. */
/* #undef ARCHIVE_CRYPTO_MD5_OPENSSL */
/* MD5 via ARCHIVE_CRYPTO_MD5_WIN supported. */
/* #undef ARCHIVE_CRYPTO_MD5_WIN */
/* RMD160 via ARCHIVE_CRYPTO_RMD160_LIBC supported. */
/* #undef ARCHIVE_CRYPTO_RMD160_LIBC */
/* RMD160 via ARCHIVE_CRYPTO_RMD160_NETTLE supported. */
/* #undef ARCHIVE_CRYPTO_RMD160_NETTLE */
/* RMD160 via ARCHIVE_CRYPTO_RMD160_OPENSSL supported. */
/* #undef ARCHIVE_CRYPTO_RMD160_OPENSSL */
/* SHA1 via ARCHIVE_CRYPTO_SHA1_LIBC supported. */
/* #undef ARCHIVE_CRYPTO_SHA1_LIBC */
/* SHA1 via ARCHIVE_CRYPTO_SHA1_LIBSYSTEM supported. */
/* #undef ARCHIVE_CRYPTO_SHA1_LIBSYSTEM */
/* SHA1 via ARCHIVE_CRYPTO_SHA1_NETTLE supported. */
/* #undef ARCHIVE_CRYPTO_SHA1_NETTLE */
/* SHA1 via ARCHIVE_CRYPTO_SHA1_OPENSSL supported. */
/* #undef ARCHIVE_CRYPTO_SHA1_OPENSSL */
/* SHA1 via ARCHIVE_CRYPTO_SHA1_WIN supported. */
/* #undef ARCHIVE_CRYPTO_SHA1_WIN */
/* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBC supported. */
/* #undef ARCHIVE_CRYPTO_SHA256_LIBC */
/* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBC2 supported. */
/* #undef ARCHIVE_CRYPTO_SHA256_LIBC2 */
/* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBC3 supported. */
/* #undef ARCHIVE_CRYPTO_SHA256_LIBC3 */
/* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBSYSTEM supported. */
/* #undef ARCHIVE_CRYPTO_SHA256_LIBSYSTEM */
/* SHA256 via ARCHIVE_CRYPTO_SHA256_NETTLE supported. */
/* #undef ARCHIVE_CRYPTO_SHA256_NETTLE */
/* SHA256 via ARCHIVE_CRYPTO_SHA256_OPENSSL supported. */
/* #undef ARCHIVE_CRYPTO_SHA256_OPENSSL */
/* SHA256 via ARCHIVE_CRYPTO_SHA256_WIN supported. */
/* #undef ARCHIVE_CRYPTO_SHA256_WIN */
/* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBC supported. */
/* #undef ARCHIVE_CRYPTO_SHA384_LIBC */
/* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBC2 supported. */
/* #undef ARCHIVE_CRYPTO_SHA384_LIBC2 */
/* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBC3 supported. */
/* #undef ARCHIVE_CRYPTO_SHA384_LIBC3 */
/* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBSYSTEM supported. */
/* #undef ARCHIVE_CRYPTO_SHA384_LIBSYSTEM */
/* SHA384 via ARCHIVE_CRYPTO_SHA384_NETTLE supported. */
/* #undef ARCHIVE_CRYPTO_SHA384_NETTLE */
/* SHA384 via ARCHIVE_CRYPTO_SHA384_OPENSSL supported. */
/* #undef ARCHIVE_CRYPTO_SHA384_OPENSSL */
/* SHA384 via ARCHIVE_CRYPTO_SHA384_WIN supported. */
/* #undef ARCHIVE_CRYPTO_SHA384_WIN */
/* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBC supported. */
/* #undef ARCHIVE_CRYPTO_SHA512_LIBC */
/* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBC2 supported. */
/* #undef ARCHIVE_CRYPTO_SHA512_LIBC2 */
/* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBC3 supported. */
/* #undef ARCHIVE_CRYPTO_SHA512_LIBC3 */
/* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBSYSTEM supported. */
/* #undef ARCHIVE_CRYPTO_SHA512_LIBSYSTEM */
/* SHA512 via ARCHIVE_CRYPTO_SHA512_NETTLE supported. */
/* #undef ARCHIVE_CRYPTO_SHA512_NETTLE */
/* SHA512 via ARCHIVE_CRYPTO_SHA512_OPENSSL supported. */
/* #undef ARCHIVE_CRYPTO_SHA512_OPENSSL */
/* SHA512 via ARCHIVE_CRYPTO_SHA512_WIN supported. */
/* #undef ARCHIVE_CRYPTO_SHA512_WIN */
/* AIX xattr support */
/* #undef ARCHIVE_XATTR_AIX */
/* Darwin xattr support */
/* #undef ARCHIVE_XATTR_DARWIN */
/* FreeBSD xattr support */
/* #undef ARCHIVE_XATTR_FREEBSD */
/* Linux xattr support */
/* #undef ARCHIVE_XATTR_LINUX */
/* Version number of bsdcpio */
#define BSDCPIO_VERSION_STRING "3.6.0"
/* Version number of bsdtar */
#define BSDTAR_VERSION_STRING "3.6.0"
/* Version number of bsdcat */
#define BSDCAT_VERSION_STRING "3.6.0"
/* Define to 1 if you have the `acl_create_entry' function. */
/* #undef HAVE_ACL_CREATE_ENTRY */
/* Define to 1 if you have the `acl_get_fd_np' function. */
/* #undef HAVE_ACL_GET_FD_NP */
/* Define to 1 if you have the `acl_get_link' function. */
/* #undef HAVE_ACL_GET_LINK */
/* Define to 1 if you have the `acl_get_link_np' function. */
/* #undef HAVE_ACL_GET_LINK_NP */
/* Define to 1 if you have the `acl_get_perm' function. */
/* #undef HAVE_ACL_GET_PERM */
/* Define to 1 if you have the `acl_get_perm_np' function. */
/* #undef HAVE_ACL_GET_PERM_NP */
/* Define to 1 if you have the `acl_init' function. */
/* #undef HAVE_ACL_INIT */
/* Define to 1 if you have the <acl/libacl.h> header file. */
/* #undef HAVE_ACL_LIBACL_H */
/* Define to 1 if the system has the type `acl_permset_t'. */
/* #undef HAVE_ACL_PERMSET_T */
/* Define to 1 if you have the `acl_set_fd' function. */
/* #undef HAVE_ACL_SET_FD */
/* Define to 1 if you have the `acl_set_fd_np' function. */
/* #undef HAVE_ACL_SET_FD_NP */
/* Define to 1 if you have the `acl_set_file' function. */
/* #undef HAVE_ACL_SET_FILE */
/* Define to 1 if you have the `arc4random_buf' function. */
/* #undef HAVE_ARC4RANDOM_BUF */
/* Define to 1 if you have the <attr/xattr.h> header file. */
/* #undef HAVE_ATTR_XATTR_H */
/* Define to 1 if you have the <Bcrypt.h> header file. */
/* #undef HAVE_BCRYPT_H */
/* Define to 1 if you have the <bsdxml.h> header file. */
/* #undef HAVE_BSDXML_H */
/* Define to 1 if you have the <bzlib.h> header file. */
#define HAVE_BZLIB_H 1
/* Define to 1 if you have the `chflags' function. */
/* #undef HAVE_CHFLAGS */
/* Define to 1 if you have the `chown' function. */
#define HAVE_CHOWN 1
/* Define to 1 if you have the `chroot' function. */
#define HAVE_CHROOT 1
/* Define to 1 if you have the <copyfile.h> header file. */
/* #undef HAVE_COPYFILE_H */
/* Define to 1 if you have the `ctime_r' function. */
#define HAVE_CTIME_R 1
/* Define to 1 if you have the <ctype.h> header file. */
#define HAVE_CTYPE_H 1
/* Define to 1 if you have the `cygwin_conv_path' function. */
/* #undef HAVE_CYGWIN_CONV_PATH */
/* Define to 1 if you have the declaration of `ACE_GETACL', and to 0 if you
don't. */
/* #undef HAVE_DECL_ACE_GETACL */
/* Define to 1 if you have the declaration of `ACE_GETACLCNT', and to 0 if you
don't. */
/* #undef HAVE_DECL_ACE_GETACLCNT */
/* Define to 1 if you have the declaration of `ACE_SETACL', and to 0 if you
don't. */
/* #undef HAVE_DECL_ACE_SETACL */
/* Define to 1 if you have the declaration of `ACL_SYNCHRONIZE', and to 0 if
you don't. */
/* #undef HAVE_DECL_ACL_SYNCHRONIZE */
/* Define to 1 if you have the declaration of `ACL_TYPE_EXTENDED', and to 0 if
you don't. */
/* #undef HAVE_DECL_ACL_TYPE_EXTENDED */
/* Define to 1 if you have the declaration of `ACL_TYPE_NFS4', and to 0 if you
don't. */
/* #undef HAVE_DECL_ACL_TYPE_NFS4 */
/* Define to 1 if you have the declaration of `ACL_USER', and to 0 if you
don't. */
/* #undef HAVE_DECL_ACL_USER */
/* Define to 1 if you have the declaration of `SETACL', and to 0 if you don't.
*/
/* #undef HAVE_DECL_SETACL */
/* Define to 1 if you have the declaration of `strerror_r', and to 0 if you
don't. */
#define HAVE_DECL_STRERROR_R 1
/* Define to 1 if you have the declaration of `XATTR_NOFOLLOW', and to 0 if
you don't. */
/* #undef HAVE_DECL_XATTR_NOFOLLOW */
/* Define to 1 if you have the <direct.h> header file. */
/* #undef HAVE_DIRECT_H */
/* Define to 1 if you have the <dirent.h> header file, and it defines `DIR'.
*/
#define HAVE_DIRENT_H 1
/* Define to 1 if you have the `dirfd' function. */
#define HAVE_DIRFD 1
/* Define to 1 if you have the <dlfcn.h> header file. */
#define HAVE_DLFCN_H 1
/* Define to 1 if you don't have `vprintf' but do have `_doprnt.' */
/* #undef HAVE_DOPRNT */
/* Define to 1 if nl_langinfo supports D_MD_ORDER */
/* #undef HAVE_D_MD_ORDER */
/* A possible errno value for invalid file format errors */
/* #undef HAVE_EFTYPE */
/* A possible errno value for invalid file format errors */
#define HAVE_EILSEQ 1
/* Define to 1 if you have the <errno.h> header file. */
#define HAVE_ERRNO_H 1
/* Define to 1 if you have the <expat.h> header file. */
/* #undef HAVE_EXPAT_H */
/* Define to 1 if you have the <ext2fs/ext2_fs.h> header file. */
#define HAVE_EXT2FS_EXT2_FS_H 1
/* Define to 1 if you have the `extattr_get_file' function. */
/* #undef HAVE_EXTATTR_GET_FILE */
/* Define to 1 if you have the `extattr_list_file' function. */
/* #undef HAVE_EXTATTR_LIST_FILE */
/* Define to 1 if you have the `extattr_set_fd' function. */
/* #undef HAVE_EXTATTR_SET_FD */
/* Define to 1 if you have the `extattr_set_file' function. */
/* #undef HAVE_EXTATTR_SET_FILE */
/* Define to 1 if EXTATTR_NAMESPACE_USER is defined in sys/extattr.h. */
/* #undef HAVE_DECL_EXTATTR_NAMESPACE_USER */
/* Define to 1 if you have the declaration of `GETACL', and to 0 if you don't.
*/
/* #undef HAVE_DECL_GETACL */
/* Define to 1 if you have the declaration of `GETACLCNT', and to 0 if you
don't. */
/* #undef HAVE_DECL_GETACLCNT */
/* Define to 1 if you have the `fchdir' function. */
#define HAVE_FCHDIR 1
/* Define to 1 if you have the `fchflags' function. */
/* #undef HAVE_FCHFLAGS */
/* Define to 1 if you have the `fchmod' function. */
#define HAVE_FCHMOD 1
/* Define to 1 if you have the `fchown' function. */
#define HAVE_FCHOWN 1
/* Define to 1 if you have the `fcntl' function. */
#define HAVE_FCNTL 1
/* Define to 1 if you have the <fcntl.h> header file. */
#define HAVE_FCNTL_H 1
/* Define to 1 if you have the `fdopendir' function. */
#define HAVE_FDOPENDIR 1
/* Define to 1 if you have the `fgetea' function. */
/* #undef HAVE_FGETEA */
/* Define to 1 if you have the `fgetxattr' function. */
/* #undef HAVE_FGETXATTR */
/* Define to 1 if you have the `flistea' function. */
/* #undef HAVE_FLISTEA */
/* Define to 1 if you have the `flistxattr' function. */
/* #undef HAVE_FLISTXATTR */
/* Define to 1 if you have the `fork' function. */
#define HAVE_FORK 1
/* Define to 1 if fseeko (and presumably ftello) exists and is declared. */
#define HAVE_FSEEKO 1
/* Define to 1 if you have the `fsetea' function. */
/* #undef HAVE_FSETEA */
/* Define to 1 if you have the `fsetxattr' function. */
#define HAVE_FSETXATTR 1
/* Define to 1 if you have the `fstat' function. */
#define HAVE_FSTAT 1
/* Define to 1 if you have the `fstatat' function. */
#define HAVE_FSTATAT 1
/* Define to 1 if you have the `fstatfs' function. */
#define HAVE_FSTATFS 1
/* Define to 1 if you have the `fstatvfs' function. */
#define HAVE_FSTATVFS 1
/* Define to 1 if you have the `ftruncate' function. */
#define HAVE_FTRUNCATE 1
/* Define to 1 if you have the `futimens' function. */
#define HAVE_FUTIMENS 1
/* Define to 1 if you have the `futimes' function. */
#define HAVE_FUTIMES 1
/* Define to 1 if you have the `futimesat' function. */
#define HAVE_FUTIMESAT 1
/* Define to 1 if you have the `getea' function. */
/* #undef HAVE_GETEA */
/* Define to 1 if you have the `geteuid' function. */
#define HAVE_GETEUID 1
/* Define to 1 if you have the `getgrgid_r' function. */
#define HAVE_GETGRGID_R 1
/* Define to 1 if you have the `getgrnam_r' function. */
#define HAVE_GETGRNAM_R 1
/* Define to 1 if you have the `getpid' function. */
#define HAVE_GETPID 1
/* Define to 1 if you have the `getpwnam_r' function. */
#define HAVE_GETPWNAM_R 1
/* Define to 1 if you have the `getpwuid_r' function. */
#define HAVE_GETPWUID_R 1
/* Define to 1 if you have the `getvfsbyname' function. */
/* #undef HAVE_GETVFSBYNAME */
/* Define to 1 if you have the `getxattr' function. */
/* #undef HAVE_GETXATTR */
/* Define to 1 if you have the `gmtime_r' function. */
#define HAVE_GMTIME_R 1
/* Define to 1 if you have the <grp.h> header file. */
#define HAVE_GRP_H 1
/* Define to 1 if you have the `iconv' function. */
/* #undef HAVE_ICONV */
/* Define to 1 if you have the <iconv.h> header file. */
/* #undef HAVE_ICONV_H */
/* Define to 1 if you have the <io.h> header file. */
/* #undef HAVE_IO_H */
/* Define to 1 if you have the <langinfo.h> header file. */
#define HAVE_LANGINFO_H 1
/* Define to 1 if you have the `lchflags' function. */
/* #undef HAVE_LCHFLAGS */
/* Define to 1 if you have the `lchmod' function. */
/* #undef HAVE_LCHMOD */
/* Define to 1 if you have the `lchown' function. */
#define HAVE_LCHOWN 1
/* Define to 1 if you have the `lgetea' function. */
/* #undef HAVE_LGETEA */
/* Define to 1 if you have the `lgetxattr' function. */
/* #undef HAVE_LGETXATTR */
/* Define to 1 if you have the `acl' library (-lacl). */
/* #undef HAVE_LIBACL */
/* Define to 1 if you have the `attr' library (-lattr). */
/* #undef HAVE_LIBATTR */
/* Define to 1 if you have the `bsdxml' library (-lbsdxml). */
/* #undef HAVE_LIBBSDXML */
/* Define to 1 if you have the `bz2' library (-lbz2). */
#define HAVE_LIBBZ2 1
/* Define to 1 if you have the `b2' library (-lb2). */
/* #undef HAVE_LIBB2 */
/* Define to 1 if you have the <blake2.h> header file. */
/* #undef HAVE_BLAKE2_H */
/* Define to 1 if you have the `charset' library (-lcharset). */
/* #undef HAVE_LIBCHARSET */
/* Define to 1 if you have the `crypto' library (-lcrypto). */
#define HAVE_LIBCRYPTO 1
/* Define to 1 if you have the `expat' library (-lexpat). */
/* #undef HAVE_LIBEXPAT */
/* Define to 1 if you have the `gcc' library (-lgcc). */
/* #undef HAVE_LIBGCC */
/* Define to 1 if you have the `lz4' library (-llz4). */
/* #undef HAVE_LIBLZ4 */
/* Define to 1 if you have the `lzma' library (-llzma). */
#define HAVE_LIBLZMA 1
/* Define to 1 if you have the `lzmadec' library (-llzmadec). */
/* #undef HAVE_LIBLZMADEC */
/* Define to 1 if you have the `lzo2' library (-llzo2). */
/* #undef HAVE_LIBLZO2 */
/* Define to 1 if you have the `mbedcrypto' library (-lmbedcrypto). */
/* #undef HAVE_LIBMBEDCRYPTO */
/* Define to 1 if you have the `nettle' library (-lnettle). */
/* #undef HAVE_LIBNETTLE */
/* Define to 1 if you have the `pcre' library (-lpcre). */
/* #undef HAVE_LIBPCRE */
/* Define to 1 if you have the `pcreposix' library (-lpcreposix). */
/* #undef HAVE_LIBPCREPOSIX */
/* Define to 1 if you have the `xml2' library (-lxml2). */
/* #undef HAVE_LIBXML2 */
/* Define to 1 if you have the <libxml/xmlreader.h> header file. */
/* #undef HAVE_LIBXML_XMLREADER_H */
/* Define to 1 if you have the <libxml/xmlwriter.h> header file. */
/* #undef HAVE_LIBXML_XMLWRITER_H */
/* Define to 1 if you have the `z' library (-lz). */
#define HAVE_LIBZ 1
/* Define to 1 if you have the `zstd' library (-lzstd). */
#define HAVE_LIBZSTD 1
/* Define to 1 if you have the `zstd' library (-lzstd) with compression
support. */
#define HAVE_LIBZSTD_COMPRESSOR 1
/* Define to 1 if you have the <limits.h> header file. */
#define HAVE_LIMITS_H 1
/* Define to 1 if you have the `link' function. */
#define HAVE_LINK 1
/* Define to 1 if you have the `linkat' function. */
#define HAVE_LINKAT 1
/* Define to 1 if you have the <linux/fiemap.h> header file. */
#define HAVE_LINUX_FIEMAP_H 1
/* Define to 1 if you have the <linux/fs.h> header file. */
#define HAVE_LINUX_FS_H 1
/* Define to 1 if you have the <linux/magic.h> header file. */
#define HAVE_LINUX_MAGIC_H 1
/* Define to 1 if you have the <linux/types.h> header file. */
#define HAVE_LINUX_TYPES_H 1
/* Define to 1 if you have the `listea' function. */
/* #undef HAVE_LISTEA */
/* Define to 1 if you have the `listxattr' function. */
/* #undef HAVE_LISTXATTR */
/* Define to 1 if you have the `llistea' function. */
/* #undef HAVE_LLISTEA */
/* Define to 1 if you have the `llistxattr' function. */
/* #undef HAVE_LLISTXATTR */
/* Define to 1 if you have the <localcharset.h> header file. */
/* #undef HAVE_LOCALCHARSET_H */
/* Define to 1 if you have the `locale_charset' function. */
/* #undef HAVE_LOCALE_CHARSET */
/* Define to 1 if you have the <locale.h> header file. */
#define HAVE_LOCALE_H 1
/* Define to 1 if you have the `localtime_r' function. */
#define HAVE_LOCALTIME_R 1
/* Define to 1 if the system has the type `long long int'. */
/* #undef HAVE_LONG_LONG_INT */
/* Define to 1 if you have the `lsetea' function. */
/* #undef HAVE_LSETEA */
/* Define to 1 if you have the `lsetxattr' function. */
/* #undef HAVE_LSETXATTR */
/* Define to 1 if you have the `lstat' function. */
#define HAVE_LSTAT 1
/* Define to 1 if `lstat' has the bug that it succeeds when given the
zero-length file name argument. */
/* #undef HAVE_LSTAT_EMPTY_STRING_BUG */
/* Define to 1 if you have the `lutimes' function. */
#define HAVE_LUTIMES 1
/* Define to 1 if you have the <lz4hc.h> header file. */
/* #undef HAVE_LZ4HC_H */
/* Define to 1 if you have the <lz4.h> header file. */
/* #undef HAVE_LZ4_H */
/* Define to 1 if you have the <lzmadec.h> header file. */
/* #undef HAVE_LZMADEC_H */
/* Define to 1 if you have the <lzma.h> header file. */
#define HAVE_LZMA_H 1
/* Define to 1 if you have a working `lzma_stream_encoder_mt' function. */
#define HAVE_LZMA_STREAM_ENCODER_MT 1
/* Define to 1 if you have the <lzo/lzo1x.h> header file. */
/* #undef HAVE_LZO_LZO1X_H */
/* Define to 1 if you have the <lzo/lzoconf.h> header file. */
/* #undef HAVE_LZO_LZOCONF_H */
/* Define to 1 if you have the `mbrtowc' function. */
#define HAVE_MBRTOWC 1
/* Define to 1 if you have the <membership.h> header file. */
/* #undef HAVE_MEMBERSHIP_H */
/* Define to 1 if you have the `memmove' function. */
#define HAVE_MEMMOVE 1
/* Define to 1 if you have the <memory.h> header file. */
#define HAVE_MEMORY_H 1
/* Define to 1 if you have the `mkdir' function. */
#define HAVE_MKDIR 1
/* Define to 1 if you have the `mkfifo' function. */
#define HAVE_MKFIFO 1
/* Define to 1 if you have the `mknod' function. */
#define HAVE_MKNOD 1
/* Define to 1 if you have the `mkstemp' function. */
#define HAVE_MKSTEMP 1
/* Define to 1 if you have the <ndir.h> header file, and it defines `DIR'. */
/* #undef HAVE_NDIR_H */
/* Define to 1 if you have the <nettle/aes.h> header file. */
/* #undef HAVE_NETTLE_AES_H */
/* Define to 1 if you have the <nettle/hmac.h> header file. */
/* #undef HAVE_NETTLE_HMAC_H */
/* Define to 1 if you have the <nettle/md5.h> header file. */
/* #undef HAVE_NETTLE_MD5_H */
/* Define to 1 if you have the <nettle/pbkdf2.h> header file. */
/* #undef HAVE_NETTLE_PBKDF2_H */
/* Define to 1 if you have the <nettle/ripemd160.h> header file. */
/* #undef HAVE_NETTLE_RIPEMD160_H */
/* Define to 1 if you have the <nettle/sha.h> header file. */
/* #undef HAVE_NETTLE_SHA_H */
/* Define to 1 if you have the `nl_langinfo' function. */
#define HAVE_NL_LANGINFO 1
/* Define to 1 if you have the `openat' function. */
#define HAVE_OPENAT 1
/* Define to 1 if you have the <paths.h> header file. */
#define HAVE_PATHS_H 1
/* Define to 1 if you have the <pcreposix.h> header file. */
/* #undef HAVE_PCREPOSIX_H */
/* Define to 1 if you have the `pipe' function. */
#define HAVE_PIPE 1
/* Define to 1 if you have the `PKCS5_PBKDF2_HMAC_SHA1' function. */
/* #undef HAVE_PKCS5_PBKDF2_HMAC_SHA1 */
/* Define to 1 if you have the `poll' function. */
#define HAVE_POLL 1
/* Define to 1 if you have the <poll.h> header file. */
#define HAVE_POLL_H 1
/* Define to 1 if you have the `posix_spawnp' function. */
#define HAVE_POSIX_SPAWNP 1
/* Define to 1 if you have the <process.h> header file. */
/* #undef HAVE_PROCESS_H */
/* Define to 1 if you have the <pthread.h> header file. */
#define HAVE_PTHREAD_H 1
/* Define to 1 if you have the <pwd.h> header file. */
#define HAVE_PWD_H 1
/* Define to 1 if you have the `readdir_r' function. */
#define HAVE_READDIR_R 1
/* Define to 1 if you have the `readlink' function. */
#define HAVE_READLINK 1
/* Define to 1 if you have the `readlinkat' function. */
/* #undef HAVE_READLINKAT */
/* Define to 1 if you have the `readpassphrase' function. */
/* #undef HAVE_READPASSPHRASE */
/* Define to 1 if you have the <readpassphrase.h> header file. */
/* #undef HAVE_READPASSPHRASE_H */
/* Define to 1 if you have the <regex.h> header file. */
#define HAVE_REGEX_H 1
/* Define to 1 if you have the `select' function. */
#define HAVE_SELECT 1
/* Define to 1 if you have the `setenv' function. */
#define HAVE_SETENV 1
/* Define to 1 if you have the `setlocale' function. */
#define HAVE_SETLOCALE 1
/* Define to 1 if you have the `sigaction' function. */
#define HAVE_SIGACTION 1
/* Define to 1 if you have the <signal.h> header file. */
#define HAVE_SIGNAL_H 1
/* Define to 1 if you have the <spawn.h> header file. */
#define HAVE_SPAWN_H 1
/* Define to 1 if you have the `statfs' function. */
#define HAVE_STATFS 1
/* Define to 1 if you have the `statvfs' function. */
#define HAVE_STATVFS 1
/* Define to 1 if `stat' has the bug that it succeeds when given the
zero-length file name argument. */
/* #undef HAVE_STAT_EMPTY_STRING_BUG */
/* Define to 1 if you have the <stdarg.h> header file. */
#define HAVE_STDARG_H 1
/* Define to 1 if you have the <stdlib.h> header file. */
#define HAVE_STDLIB_H 1
/* Define to 1 if you have the `strchr' function. */
#define HAVE_STRCHR 1
/* Define to 1 if you have the `strnlen' function. */
#define HAVE_STRNLEN 1
/* Define to 1 if you have the `strdup' function. */
#define HAVE_STRDUP 1
/* Define to 1 if you have the `strerror' function. */
#define HAVE_STRERROR 1
/* Define to 1 if you have the `strerror_r' function. */
#define HAVE_STRERROR_R 1
/* Define to 1 if you have the `strftime' function. */
#define HAVE_STRFTIME 1
/* Define to 1 if you have the <strings.h> header file. */
#define HAVE_STRINGS_H 1
/* Define to 1 if you have the <string.h> header file. */
#define HAVE_STRING_H 1
/* Define to 1 if you have the `strrchr' function. */
#define HAVE_STRRCHR 1
/* Define to 1 if `f_namemax' is a member of `struct statfs'. */
/* #undef HAVE_STRUCT_STATFS_F_NAMEMAX */
/* Define to 1 if `f_iosize' is a member of `struct statvfs'. */
/* #undef HAVE_STRUCT_STATVFS_F_IOSIZE */
/* Define to 1 if `st_birthtime' is a member of `struct stat'. */
/* #undef HAVE_STRUCT_STAT_ST_BIRTHTIME */
/* Define to 1 if `st_birthtimespec.tv_nsec' is a member of `struct stat'. */
/* #undef HAVE_STRUCT_STAT_ST_BIRTHTIMESPEC_TV_NSEC */
/* Define to 1 if `st_blksize' is a member of `struct stat'. */
#define HAVE_STRUCT_STAT_ST_BLKSIZE 1
/* Define to 1 if `st_flags' is a member of `struct stat'. */
/* #undef HAVE_STRUCT_STAT_ST_FLAGS */
/* Define to 1 if `st_mtimespec.tv_nsec' is a member of `struct stat'. */
/* #undef HAVE_STRUCT_STAT_ST_MTIMESPEC_TV_NSEC */
/* Define to 1 if `st_mtime_n' is a member of `struct stat'. */
/* #undef HAVE_STRUCT_STAT_ST_MTIME_N */
/* Define to 1 if `st_mtime_usec' is a member of `struct stat'. */
/* #undef HAVE_STRUCT_STAT_ST_MTIME_USEC */
/* Define to 1 if `st_mtim.tv_nsec' is a member of `struct stat'. */
#define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1
/* Define to 1 if `st_umtime' is a member of `struct stat'. */
/* #undef HAVE_STRUCT_STAT_ST_UMTIME */
/* Define to 1 if `tm_gmtoff' is a member of `struct tm'. */
#define HAVE_STRUCT_TM_TM_GMTOFF 1
/* Define to 1 if `__tm_gmtoff' is a member of `struct tm'. */
/* #undef HAVE_STRUCT_TM___TM_GMTOFF */
/* Define to 1 if you have `struct vfsconf'. */
/* #undef HAVE_STRUCT_VFSCONF */
/* Define to 1 if you have `struct xvfsconf'. */
/* #undef HAVE_STRUCT_XVFSCONF */
/* Define to 1 if you have the `symlink' function. */
#define HAVE_SYMLINK 1
/* Define to 1 if you have the <sys/acl.h> header file. */
/* #undef HAVE_SYS_ACL_H */
/* Define to 1 if you have the <sys/cdefs.h> header file. */
#define HAVE_SYS_CDEFS_H 1
/* Define to 1 if you have the <sys/dir.h> header file, and it defines `DIR'.
*/
/* #undef HAVE_SYS_DIR_H */
/* Define to 1 if you have the <sys/ea.h> header file. */
/* #undef HAVE_SYS_EA_H */
/* Define to 1 if you have the <sys/extattr.h> header file. */
/* #undef HAVE_SYS_EXTATTR_H */
/* Define to 1 if you have the <sys/ioctl.h> header file. */
#define HAVE_SYS_IOCTL_H 1
/* Define to 1 if you have the <sys/mkdev.h> header file. */
/* #undef HAVE_SYS_MKDEV_H */
/* Define to 1 if you have the <sys/mount.h> header file. */
/* #undef HAVE_SYS_MOUNT_H */
/* Define to 1 if you have the <sys/ndir.h> header file, and it defines `DIR'.
*/
/* #undef HAVE_SYS_NDIR_H */
/* Define to 1 if you have the <sys/param.h> header file. */
#define HAVE_SYS_PARAM_H 1
/* Define to 1 if you have the <sys/poll.h> header file. */
#define HAVE_SYS_POLL_H 1
/* Define to 1 if you have the <sys/richacl.h> header file. */
/* #undef HAVE_SYS_RICHACL_H */
/* Define to 1 if you have the <sys/select.h> header file. */
#define HAVE_SYS_SELECT_H 1
/* Define to 1 if you have the <sys/statfs.h> header file. */
#define HAVE_SYS_STATFS_H 1
/* Define to 1 if you have the <sys/statvfs.h> header file. */
#define HAVE_SYS_STATVFS_H 1
/* Define to 1 if you have the <sys/stat.h> header file. */
#define HAVE_SYS_STAT_H 1
/* Define to 1 if you have the <sys/sysmacros.h> header file. */
#define HAVE_SYS_SYSMACROS_H 1
/* Define to 1 if you have the <sys/time.h> header file. */
#define HAVE_SYS_TIME_H 1
/* Define to 1 if you have the <sys/types.h> header file. */
#define HAVE_SYS_TYPES_H 1
/* Define to 1 if you have the <sys/utime.h> header file. */
/* #undef HAVE_SYS_UTIME_H */
/* Define to 1 if you have the <sys/utsname.h> header file. */
#define HAVE_SYS_UTSNAME_H 1
/* Define to 1 if you have the <sys/vfs.h> header file. */
#define HAVE_SYS_VFS_H 1
/* Define to 1 if you have <sys/wait.h> that is POSIX.1 compatible. */
#define HAVE_SYS_WAIT_H 1
/* Define to 1 if you have the <sys/xattr.h> header file. */
#define HAVE_SYS_XATTR_H 1
/* Define to 1 if you have the `timegm' function. */
#define HAVE_TIMEGM 1
/* Define to 1 if you have the <time.h> header file. */
#define HAVE_TIME_H 1
/* Define to 1 if you have the `tzset' function. */
#define HAVE_TZSET 1
/* Define to 1 if you have the <unistd.h> header file. */
#define HAVE_UNISTD_H 1
/* Define to 1 if you have the `unlinkat' function. */
#define HAVE_UNLINKAT 1
/* Define to 1 if you have the `unsetenv' function. */
#define HAVE_UNSETENV 1
/* Define to 1 if the system has the type `unsigned long long'. */
/* #undef HAVE_UNSIGNED_LONG_LONG */
/* Define to 1 if the system has the type `unsigned long long int'. */
/* #undef HAVE_UNSIGNED_LONG_LONG_INT */
/* Define to 1 if you have the `utime' function. */
#define HAVE_UTIME 1
/* Define to 1 if you have the `utimensat' function. */
#define HAVE_UTIMENSAT 1
/* Define to 1 if you have the `utimes' function. */
#define HAVE_UTIMES 1
/* Define to 1 if you have the <utime.h> header file. */
#define HAVE_UTIME_H 1
/* Define to 1 if you have the `vfork' function. */
#define HAVE_VFORK 1
/* Define to 1 if you have the `vprintf' function. */
#define HAVE_VPRINTF 1
/* Define to 1 if you have the <wchar.h> header file. */
#define HAVE_WCHAR_H 1
/* Define to 1 if the system has the type `wchar_t'. */
#define HAVE_WCHAR_T 1
/* Define to 1 if you have the `wcrtomb' function. */
#define HAVE_WCRTOMB 1
/* Define to 1 if you have the `wcscmp' function. */
#define HAVE_WCSCMP 1
/* Define to 1 if you have the `wcscpy' function. */
#define HAVE_WCSCPY 1
/* Define to 1 if you have the `wcslen' function. */
#define HAVE_WCSLEN 1
/* Define to 1 if you have the `wctomb' function. */
#define HAVE_WCTOMB 1
/* Define to 1 if you have the <wctype.h> header file. */
#define HAVE_WCTYPE_H 1
/* Define to 1 if you have the <wincrypt.h> header file. */
/* #undef HAVE_WINCRYPT_H */
/* Define to 1 if you have the <windows.h> header file. */
/* #undef HAVE_WINDOWS_H */
/* Define to 1 if you have the <winioctl.h> header file. */
/* #undef HAVE_WINIOCTL_H */
/* Define to 1 if you have _CrtSetReportMode in <crtdbg.h> */
/* #undef HAVE__CrtSetReportMode */
/* Define to 1 if you have the `wmemcmp' function. */
#define HAVE_WMEMCMP 1
/* Define to 1 if you have the `wmemcpy' function. */
#define HAVE_WMEMCPY 1
/* Define to 1 if you have the `wmemmove' function. */
#define HAVE_WMEMMOVE 1
/* Define to 1 if you have a working EXT2_IOC_GETFLAGS */
#define HAVE_WORKING_EXT2_IOC_GETFLAGS 1
/* Define to 1 if you have a working FS_IOC_GETFLAGS */
#define HAVE_WORKING_FS_IOC_GETFLAGS 1
/* Define to 1 if you have the <zlib.h> header file. */
#define HAVE_ZLIB_H 1
/* Define to 1 if you have the <zstd.h> header file. */
#define HAVE_ZSTD_H 1
/* Define to 1 if you have the `_ctime64_s' function. */
/* #undef HAVE__CTIME64_S */
/* Define to 1 if you have the `_fseeki64' function. */
/* #undef HAVE__FSEEKI64 */
/* Define to 1 if you have the `_get_timezone' function. */
/* #undef HAVE__GET_TIMEZONE */
/* Define to 1 if you have the `_gmtime64_s' function. */
/* #undef HAVE__GMTIME64_S */
/* Define to 1 if you have the `_localtime64_s' function. */
/* #undef HAVE__LOCALTIME64_S */
/* Define to 1 if you have the `_mkgmtime64' function. */
/* #undef HAVE__MKGMTIME64 */
/* Define as const if the declaration of iconv() needs const. */
#define ICONV_CONST
/* Version number of libarchive as a single integer */
#define LIBARCHIVE_VERSION_NUMBER "3006000"
/* Version number of libarchive */
#define LIBARCHIVE_VERSION_STRING "3.6.0"
/* Define to 1 if `lstat' dereferences a symlink specified with a trailing
slash. */
/* #undef LSTAT_FOLLOWS_SLASHED_SYMLINK */
/* Define to 1 if `major', `minor', and `makedev' are declared in <mkdev.h>.
*/
/* #undef MAJOR_IN_MKDEV */
/* Define to 1 if `major', `minor', and `makedev' are declared in
<sysmacros.h>. */
#define MAJOR_IN_SYSMACROS 1
/* Define to 1 if your C compiler doesn't accept -c and -o together. */
/* #undef NO_MINUS_C_MINUS_O */
/* The size of `wchar_t', as computed by sizeof. */
#define SIZEOF_WCHAR_T 4
/* Define to 1 if strerror_r returns char *. */
/* #undef STRERROR_R_CHAR_P */
/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
#define TIME_WITH_SYS_TIME 1
/*
* Some platform requires a macro to use extension functions.
*/
#define SAFE_TO_DEFINE_EXTENSIONS 1
#ifdef SAFE_TO_DEFINE_EXTENSIONS
/* Enable extensions on AIX 3, Interix. */
#ifndef _ALL_SOURCE
# define _ALL_SOURCE 1
#endif
/* Enable GNU extensions on systems that have them. */
#ifndef _GNU_SOURCE
# define _GNU_SOURCE 1
#endif
/* Enable threading extensions on Solaris. */
#ifndef _POSIX_PTHREAD_SEMANTICS
# define _POSIX_PTHREAD_SEMANTICS 1
#endif
/* Enable extensions on HP NonStop. */
#ifndef _TANDEM_SOURCE
# define _TANDEM_SOURCE 1
#endif
/* Enable general extensions on Solaris. */
#ifndef __EXTENSIONS__
# define __EXTENSIONS__ 1
#endif
#endif /* SAFE_TO_DEFINE_EXTENSIONS */
/* Version number of package */
#define VERSION "3.6.0"
/* Number of bits in a file offset, on hosts where this is settable. */
/* #undef _FILE_OFFSET_BITS */
/* Define to 1 to make fseeko visible on some hosts (e.g. glibc 2.2). */
/* #undef _LARGEFILE_SOURCE */
/* Define for large files, on AIX-style hosts. */
/* #undef _LARGE_FILES */
/* Define to control Windows SDK version */
#ifndef NTDDI_VERSION
/* #undef NTDDI_VERSION */
#endif // NTDDI_VERSION
#ifndef _WIN32_WINNT
/* #undef _WIN32_WINNT */
#endif // _WIN32_WINNT
#ifndef WINVER
/* #undef WINVER */
#endif // WINVER
/* Define to empty if `const' does not conform to ANSI C. */
/* #undef const */
/* Define to `int' if <sys/types.h> doesn't define. */
/* #undef gid_t */
/* Define to `unsigned long' if <sys/types.h> does not define. */
/* #undef id_t */
/* Define to `int' if <sys/types.h> does not define. */
/* #undef mode_t */
/* Define to `long long' if <sys/types.h> does not define. */
/* #undef off_t */
/* Define to `int' if <sys/types.h> doesn't define. */
/* #undef pid_t */
/* Define to `unsigned int' if <sys/types.h> does not define. */
/* #undef size_t */
/* Define to `int' if <sys/types.h> does not define. */
/* #undef ssize_t */
/* Define to `int' if <sys/types.h> doesn't define. */
/* #undef uid_t */
#include <cm3p/kwiml/int.h>
#ifndef KWIML_INT_HAVE_INT64_T
typedef KWIML_INT_int64_t int64_t;
#endif
#ifndef KWIML_INT_HAVE_INT32_T
typedef KWIML_INT_int32_t int32_t;
#endif
#ifndef KWIML_INT_HAVE_INT16_T
typedef KWIML_INT_int16_t int16_t;
#endif
#ifndef KWIML_INT_HAVE_INT8_T
typedef KWIML_INT_int8_t int8_t;
#endif
#ifndef KWIML_INT_HAVE_INTPTR_T
typedef KWIML_INT_intptr_t intptr_t;
#endif
#ifndef KWIML_INT_HAVE_UINT64_T
typedef KWIML_INT_uint64_t uint64_t;
#endif
#ifndef KWIML_INT_HAVE_UINT32_T
typedef KWIML_INT_uint32_t uint32_t;
#endif
#ifndef KWIML_INT_HAVE_UINT16_T
typedef KWIML_INT_uint16_t uint16_t;
#endif
#ifndef KWIML_INT_HAVE_UINT8_T
typedef KWIML_INT_uint8_t uint8_t;
#endif
#ifndef KWIML_INT_HAVE_UINTPTR_T
typedef KWIML_INT_uintptr_t uintptr_t;
#endif
/* Define to 1 if you have the <stdint.h> header file. */
#ifdef KWIML_INT_HAVE_STDINT_H
# define HAVE_STDINT_H 1
#endif
/* Define to 1 if you have the <inttypes.h> header file. */
#ifdef KWIML_INT_HAVE_INTTYPES_H
# define HAVE_INTTYPES_H 1
#endif
#define ARCHIVE_MD5_COMPILE_TEST
#define ARCHIVE_CRYPTO_MD5_LIBSYSTEM
#define PLATFORM_CONFIG_H "check_crypto_md.h"
/*-
* Copyright (c) 2003-2007 Tim Kientzle
* Copyright (c) 2011 Andres Mejia
* Copyright (c) 2011 Michihiro NAKAJIMA
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR(S) ``AS IS'' AND ANY EXPRESS OR
* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
* IN NO EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
#include "archive_platform.h"
#include "archive.h"
#include "archive_digest_private.h"
/* In particular, force the configure probe to break if it tries
* to test a combination of OpenSSL and libmd. */
#if defined(ARCHIVE_CRYPTO_OPENSSL) && defined(ARCHIVE_CRYPTO_LIBMD)
#error Cannot use both OpenSSL and libmd.
#endif
/*
* Message digest functions for Windows platform.
*/
#if defined(ARCHIVE_CRYPTO_MD5_WIN) ||\
defined(ARCHIVE_CRYPTO_SHA1_WIN) ||\
defined(ARCHIVE_CRYPTO_SHA256_WIN) ||\
defined(ARCHIVE_CRYPTO_SHA384_WIN) ||\
defined(ARCHIVE_CRYPTO_SHA512_WIN)
/*
* Initialize a Message digest.
*/
static int
win_crypto_init(Digest_CTX *ctx, ALG_ID algId)
{
ctx->valid = 0;
if (!CryptAcquireContext(&ctx->cryptProv, NULL, NULL,
PROV_RSA_FULL, CRYPT_VERIFYCONTEXT)) {
if (GetLastError() != (DWORD)NTE_BAD_KEYSET)
return (ARCHIVE_FAILED);
if (!CryptAcquireContext(&ctx->cryptProv, NULL, NULL,
PROV_RSA_FULL, CRYPT_NEWKEYSET))
return (ARCHIVE_FAILED);
}
if (!CryptCreateHash(ctx->cryptProv, algId, 0, 0, &ctx->hash)) {
CryptReleaseContext(ctx->cryptProv, 0);
return (ARCHIVE_FAILED);
}
ctx->valid = 1;
return (ARCHIVE_OK);
}
/*
* Update a Message digest.
*/
static int
win_crypto_Update(Digest_CTX *ctx, const unsigned char *buf, size_t len)
{
if (!ctx->valid)
return (ARCHIVE_FAILED);
CryptHashData(ctx->hash,
(unsigned char *)(uintptr_t)buf,
(DWORD)len, 0);
return (ARCHIVE_OK);
}
static int
win_crypto_Final(unsigned char *buf, size_t bufsize, Digest_CTX *ctx)
{
DWORD siglen = (DWORD)bufsize;
if (!ctx->valid)
return (ARCHIVE_FAILED);
CryptGetHashParam(ctx->hash, HP_HASHVAL, buf, &siglen, 0);
CryptDestroyHash(ctx->hash);
CryptReleaseContext(ctx->cryptProv, 0);
ctx->valid = 0;
return (ARCHIVE_OK);
}
#endif /* defined(ARCHIVE_CRYPTO_*_WIN) */
/* MD5 implementations */
#if defined(ARCHIVE_CRYPTO_MD5_LIBC)
static int
__archive_md5init(archive_md5_ctx *ctx)
{
MD5Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_md5update(archive_md5_ctx *ctx, const void *indata,
size_t insize)
{
MD5Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_md5final(archive_md5_ctx *ctx, void *md)
{
MD5Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_MD5_LIBMD)
static int
__archive_md5init(archive_md5_ctx *ctx)
{
MD5Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_md5update(archive_md5_ctx *ctx, const void *indata,
size_t insize)
{
MD5Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_md5final(archive_md5_ctx *ctx, void *md)
{
MD5Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_MD5_LIBSYSTEM)
static int
__archive_md5init(archive_md5_ctx *ctx)
{
CC_MD5_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_md5update(archive_md5_ctx *ctx, const void *indata,
size_t insize)
{
CC_MD5_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_md5final(archive_md5_ctx *ctx, void *md)
{
CC_MD5_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_MD5_MBEDTLS)
static int
__archive_md5init(archive_md5_ctx *ctx)
{
mbedtls_md5_init(ctx);
if (mbedtls_md5_starts_ret(ctx) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_md5update(archive_md5_ctx *ctx, const void *indata,
size_t insize)
{
if (mbedtls_md5_update_ret(ctx, indata, insize) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_md5final(archive_md5_ctx *ctx, void *md)
{
if (mbedtls_md5_finish_ret(ctx, md) == 0) {
mbedtls_md5_free(ctx);
return (ARCHIVE_OK);
} else {
mbedtls_md5_free(ctx);
return (ARCHIVE_FATAL);
}
}
#elif defined(ARCHIVE_CRYPTO_MD5_NETTLE)
static int
__archive_md5init(archive_md5_ctx *ctx)
{
md5_init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_md5update(archive_md5_ctx *ctx, const void *indata,
size_t insize)
{
md5_update(ctx, insize, indata);
return (ARCHIVE_OK);
}
static int
__archive_md5final(archive_md5_ctx *ctx, void *md)
{
md5_digest(ctx, MD5_DIGEST_SIZE, md);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_MD5_OPENSSL)
static int
__archive_md5init(archive_md5_ctx *ctx)
{
if ((*ctx = EVP_MD_CTX_new()) == NULL)
return (ARCHIVE_FAILED);
EVP_DigestInit(*ctx, EVP_md5());
return (ARCHIVE_OK);
}
static int
__archive_md5update(archive_md5_ctx *ctx, const void *indata,
size_t insize)
{
EVP_DigestUpdate(*ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_md5final(archive_md5_ctx *ctx, void *md)
{
/* HACK: archive_write_set_format_xar.c is finalizing empty contexts, so
* this is meant to cope with that. Real fix is probably to fix
* archive_write_set_format_xar.c
*/
if (*ctx) {
EVP_DigestFinal(*ctx, md, NULL);
EVP_MD_CTX_free(*ctx);
*ctx = NULL;
}
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_MD5_WIN)
static int
__archive_md5init(archive_md5_ctx *ctx)
{
return (win_crypto_init(ctx, CALG_MD5));
}
static int
__archive_md5update(archive_md5_ctx *ctx, const void *indata,
size_t insize)
{
return (win_crypto_Update(ctx, indata, insize));
}
static int
__archive_md5final(archive_md5_ctx *ctx, void *md)
{
return (win_crypto_Final(md, 16, ctx));
}
#else
static int
__archive_md5init(archive_md5_ctx *ctx)
{
(void)ctx; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_md5update(archive_md5_ctx *ctx, const void *indata,
size_t insize)
{
(void)ctx; /* UNUSED */
(void)indata; /* UNUSED */
(void)insize; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_md5final(archive_md5_ctx *ctx, void *md)
{
(void)ctx; /* UNUSED */
(void)md; /* UNUSED */
return (ARCHIVE_FAILED);
}
#endif
/* RIPEMD160 implementations */
#if defined(ARCHIVE_CRYPTO_RMD160_LIBC)
static int
__archive_ripemd160init(archive_rmd160_ctx *ctx)
{
RMD160Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata,
size_t insize)
{
RMD160Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_ripemd160final(archive_rmd160_ctx *ctx, void *md)
{
RMD160Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_RMD160_LIBMD)
static int
__archive_ripemd160init(archive_rmd160_ctx *ctx)
{
RIPEMD160_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata,
size_t insize)
{
RIPEMD160_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_ripemd160final(archive_rmd160_ctx *ctx, void *md)
{
RIPEMD160_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_RMD160_MBEDTLS)
static int
__archive_ripemd160init(archive_rmd160_ctx *ctx)
{
mbedtls_ripemd160_init(ctx);
if (mbedtls_ripemd160_starts_ret(ctx) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata,
size_t insize)
{
if (mbedtls_ripemd160_update_ret(ctx, indata, insize) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_ripemd160final(archive_rmd160_ctx *ctx, void *md)
{
if (mbedtls_ripemd160_finish_ret(ctx, md) == 0) {
mbedtls_ripemd160_free(ctx);
return (ARCHIVE_OK);
} else {
mbedtls_ripemd160_free(ctx);
return (ARCHIVE_FATAL);
}
}
#elif defined(ARCHIVE_CRYPTO_RMD160_NETTLE)
static int
__archive_ripemd160init(archive_rmd160_ctx *ctx)
{
ripemd160_init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata,
size_t insize)
{
ripemd160_update(ctx, insize, indata);
return (ARCHIVE_OK);
}
static int
__archive_ripemd160final(archive_rmd160_ctx *ctx, void *md)
{
ripemd160_digest(ctx, RIPEMD160_DIGEST_SIZE, md);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_RMD160_OPENSSL)
static int
__archive_ripemd160init(archive_rmd160_ctx *ctx)
{
if ((*ctx = EVP_MD_CTX_new()) == NULL)
return (ARCHIVE_FAILED);
EVP_DigestInit(*ctx, EVP_ripemd160());
return (ARCHIVE_OK);
}
static int
__archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata,
size_t insize)
{
EVP_DigestUpdate(*ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_ripemd160final(archive_rmd160_ctx *ctx, void *md)
{
if (*ctx) {
EVP_DigestFinal(*ctx, md, NULL);
EVP_MD_CTX_free(*ctx);
*ctx = NULL;
}
return (ARCHIVE_OK);
}
#else
static int
__archive_ripemd160init(archive_rmd160_ctx *ctx)
{
(void)ctx; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata,
size_t insize)
{
(void)ctx; /* UNUSED */
(void)indata; /* UNUSED */
(void)insize; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_ripemd160final(archive_rmd160_ctx *ctx, void *md)
{
(void)ctx; /* UNUSED */
(void)md; /* UNUSED */
return (ARCHIVE_FAILED);
}
#endif
/* SHA1 implementations */
#if defined(ARCHIVE_CRYPTO_SHA1_LIBC)
static int
__archive_sha1init(archive_sha1_ctx *ctx)
{
SHA1Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha1update(archive_sha1_ctx *ctx, const void *indata,
size_t insize)
{
SHA1Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha1final(archive_sha1_ctx *ctx, void *md)
{
SHA1Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA1_LIBMD)
static int
__archive_sha1init(archive_sha1_ctx *ctx)
{
SHA1_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha1update(archive_sha1_ctx *ctx, const void *indata,
size_t insize)
{
SHA1_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha1final(archive_sha1_ctx *ctx, void *md)
{
SHA1_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA1_LIBSYSTEM)
static int
__archive_sha1init(archive_sha1_ctx *ctx)
{
CC_SHA1_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha1update(archive_sha1_ctx *ctx, const void *indata,
size_t insize)
{
CC_SHA1_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha1final(archive_sha1_ctx *ctx, void *md)
{
CC_SHA1_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA1_MBEDTLS)
static int
__archive_sha1init(archive_sha1_ctx *ctx)
{
mbedtls_sha1_init(ctx);
if (mbedtls_sha1_starts_ret(ctx) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_sha1update(archive_sha1_ctx *ctx, const void *indata,
size_t insize)
{
if (mbedtls_sha1_update_ret(ctx, indata, insize) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_sha1final(archive_sha1_ctx *ctx, void *md)
{
if (mbedtls_sha1_finish_ret(ctx, md) == 0) {
mbedtls_sha1_free(ctx);
return (ARCHIVE_OK);
} else {
mbedtls_sha1_free(ctx);
return (ARCHIVE_FATAL);
}
}
#elif defined(ARCHIVE_CRYPTO_SHA1_NETTLE)
static int
__archive_sha1init(archive_sha1_ctx *ctx)
{
sha1_init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha1update(archive_sha1_ctx *ctx, const void *indata,
size_t insize)
{
sha1_update(ctx, insize, indata);
return (ARCHIVE_OK);
}
static int
__archive_sha1final(archive_sha1_ctx *ctx, void *md)
{
sha1_digest(ctx, SHA1_DIGEST_SIZE, md);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA1_OPENSSL)
static int
__archive_sha1init(archive_sha1_ctx *ctx)
{
if ((*ctx = EVP_MD_CTX_new()) == NULL)
return (ARCHIVE_FAILED);
EVP_DigestInit(*ctx, EVP_sha1());
return (ARCHIVE_OK);
}
static int
__archive_sha1update(archive_sha1_ctx *ctx, const void *indata,
size_t insize)
{
EVP_DigestUpdate(*ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha1final(archive_sha1_ctx *ctx, void *md)
{
/* HACK: archive_write_set_format_xar.c is finalizing empty contexts, so
* this is meant to cope with that. Real fix is probably to fix
* archive_write_set_format_xar.c
*/
if (*ctx) {
EVP_DigestFinal(*ctx, md, NULL);
EVP_MD_CTX_free(*ctx);
*ctx = NULL;
}
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA1_WIN)
static int
__archive_sha1init(archive_sha1_ctx *ctx)
{
return (win_crypto_init(ctx, CALG_SHA1));
}
static int
__archive_sha1update(archive_sha1_ctx *ctx, const void *indata,
size_t insize)
{
return (win_crypto_Update(ctx, indata, insize));
}
static int
__archive_sha1final(archive_sha1_ctx *ctx, void *md)
{
return (win_crypto_Final(md, 20, ctx));
}
#else
static int
__archive_sha1init(archive_sha1_ctx *ctx)
{
(void)ctx; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_sha1update(archive_sha1_ctx *ctx, const void *indata,
size_t insize)
{
(void)ctx; /* UNUSED */
(void)indata; /* UNUSED */
(void)insize; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_sha1final(archive_sha1_ctx *ctx, void *md)
{
(void)ctx; /* UNUSED */
(void)md; /* UNUSED */
return (ARCHIVE_FAILED);
}
#endif
/* SHA256 implementations */
#if defined(ARCHIVE_CRYPTO_SHA256_LIBC)
static int
__archive_sha256init(archive_sha256_ctx *ctx)
{
SHA256_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha256update(archive_sha256_ctx *ctx, const void *indata,
size_t insize)
{
SHA256_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha256final(archive_sha256_ctx *ctx, void *md)
{
SHA256_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA256_LIBC2)
static int
__archive_sha256init(archive_sha256_ctx *ctx)
{
SHA256Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha256update(archive_sha256_ctx *ctx, const void *indata,
size_t insize)
{
SHA256Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha256final(archive_sha256_ctx *ctx, void *md)
{
SHA256Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA256_LIBC3)
static int
__archive_sha256init(archive_sha256_ctx *ctx)
{
SHA256Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha256update(archive_sha256_ctx *ctx, const void *indata,
size_t insize)
{
SHA256Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha256final(archive_sha256_ctx *ctx, void *md)
{
SHA256Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA256_LIBMD)
static int
__archive_sha256init(archive_sha256_ctx *ctx)
{
SHA256_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha256update(archive_sha256_ctx *ctx, const void *indata,
size_t insize)
{
SHA256_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha256final(archive_sha256_ctx *ctx, void *md)
{
SHA256_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA256_LIBSYSTEM)
static int
__archive_sha256init(archive_sha256_ctx *ctx)
{
CC_SHA256_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha256update(archive_sha256_ctx *ctx, const void *indata,
size_t insize)
{
CC_SHA256_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha256final(archive_sha256_ctx *ctx, void *md)
{
CC_SHA256_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA256_MBEDTLS)
static int
__archive_sha256init(archive_sha256_ctx *ctx)
{
mbedtls_sha256_init(ctx);
if (mbedtls_sha256_starts_ret(ctx, 0) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_sha256update(archive_sha256_ctx *ctx, const void *indata,
size_t insize)
{
if (mbedtls_sha256_update_ret(ctx, indata, insize) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_sha256final(archive_sha256_ctx *ctx, void *md)
{
if (mbedtls_sha256_finish_ret(ctx, md) == 0) {
mbedtls_sha256_free(ctx);
return (ARCHIVE_OK);
} else {
mbedtls_sha256_free(ctx);
return (ARCHIVE_FATAL);
}
}
#elif defined(ARCHIVE_CRYPTO_SHA256_NETTLE)
static int
__archive_sha256init(archive_sha256_ctx *ctx)
{
sha256_init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha256update(archive_sha256_ctx *ctx, const void *indata,
size_t insize)
{
sha256_update(ctx, insize, indata);
return (ARCHIVE_OK);
}
static int
__archive_sha256final(archive_sha256_ctx *ctx, void *md)
{
sha256_digest(ctx, SHA256_DIGEST_SIZE, md);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA256_OPENSSL)
static int
__archive_sha256init(archive_sha256_ctx *ctx)
{
if ((*ctx = EVP_MD_CTX_new()) == NULL)
return (ARCHIVE_FAILED);
EVP_DigestInit(*ctx, EVP_sha256());
return (ARCHIVE_OK);
}
static int
__archive_sha256update(archive_sha256_ctx *ctx, const void *indata,
size_t insize)
{
EVP_DigestUpdate(*ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha256final(archive_sha256_ctx *ctx, void *md)
{
if (*ctx) {
EVP_DigestFinal(*ctx, md, NULL);
EVP_MD_CTX_free(*ctx);
*ctx = NULL;
}
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA256_WIN)
static int
__archive_sha256init(archive_sha256_ctx *ctx)
{
return (win_crypto_init(ctx, CALG_SHA_256));
}
static int
__archive_sha256update(archive_sha256_ctx *ctx, const void *indata,
size_t insize)
{
return (win_crypto_Update(ctx, indata, insize));
}
static int
__archive_sha256final(archive_sha256_ctx *ctx, void *md)
{
return (win_crypto_Final(md, 32, ctx));
}
#else
static int
__archive_sha256init(archive_sha256_ctx *ctx)
{
(void)ctx; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_sha256update(archive_sha256_ctx *ctx, const void *indata,
size_t insize)
{
(void)ctx; /* UNUSED */
(void)indata; /* UNUSED */
(void)insize; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_sha256final(archive_sha256_ctx *ctx, void *md)
{
(void)ctx; /* UNUSED */
(void)md; /* UNUSED */
return (ARCHIVE_FAILED);
}
#endif
/* SHA384 implementations */
#if defined(ARCHIVE_CRYPTO_SHA384_LIBC)
static int
__archive_sha384init(archive_sha384_ctx *ctx)
{
SHA384_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha384update(archive_sha384_ctx *ctx, const void *indata,
size_t insize)
{
SHA384_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha384final(archive_sha384_ctx *ctx, void *md)
{
SHA384_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA384_LIBC2)
static int
__archive_sha384init(archive_sha384_ctx *ctx)
{
SHA384Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha384update(archive_sha384_ctx *ctx, const void *indata,
size_t insize)
{
SHA384Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha384final(archive_sha384_ctx *ctx, void *md)
{
SHA384Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA384_LIBC3)
static int
__archive_sha384init(archive_sha384_ctx *ctx)
{
SHA384Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha384update(archive_sha384_ctx *ctx, const void *indata,
size_t insize)
{
SHA384Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha384final(archive_sha384_ctx *ctx, void *md)
{
SHA384Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA384_LIBSYSTEM)
static int
__archive_sha384init(archive_sha384_ctx *ctx)
{
CC_SHA384_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha384update(archive_sha384_ctx *ctx, const void *indata,
size_t insize)
{
CC_SHA384_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha384final(archive_sha384_ctx *ctx, void *md)
{
CC_SHA384_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA384_MBEDTLS)
static int
__archive_sha384init(archive_sha384_ctx *ctx)
{
mbedtls_sha512_init(ctx);
if (mbedtls_sha512_starts_ret(ctx, 1) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_sha384update(archive_sha384_ctx *ctx, const void *indata,
size_t insize)
{
if (mbedtls_sha512_update_ret(ctx, indata, insize) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_sha384final(archive_sha384_ctx *ctx, void *md)
{
if (mbedtls_sha512_finish_ret(ctx, md) == 0) {
mbedtls_sha512_free(ctx);
return (ARCHIVE_OK);
} else {
mbedtls_sha512_free(ctx);
return (ARCHIVE_FATAL);
}
}
#elif defined(ARCHIVE_CRYPTO_SHA384_NETTLE)
static int
__archive_sha384init(archive_sha384_ctx *ctx)
{
sha384_init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha384update(archive_sha384_ctx *ctx, const void *indata,
size_t insize)
{
sha384_update(ctx, insize, indata);
return (ARCHIVE_OK);
}
static int
__archive_sha384final(archive_sha384_ctx *ctx, void *md)
{
sha384_digest(ctx, SHA384_DIGEST_SIZE, md);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA384_OPENSSL)
static int
__archive_sha384init(archive_sha384_ctx *ctx)
{
if ((*ctx = EVP_MD_CTX_new()) == NULL)
return (ARCHIVE_FAILED);
EVP_DigestInit(*ctx, EVP_sha384());
return (ARCHIVE_OK);
}
static int
__archive_sha384update(archive_sha384_ctx *ctx, const void *indata,
size_t insize)
{
EVP_DigestUpdate(*ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha384final(archive_sha384_ctx *ctx, void *md)
{
if (*ctx) {
EVP_DigestFinal(*ctx, md, NULL);
EVP_MD_CTX_free(*ctx);
*ctx = NULL;
}
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA384_WIN)
static int
__archive_sha384init(archive_sha384_ctx *ctx)
{
return (win_crypto_init(ctx, CALG_SHA_384));
}
static int
__archive_sha384update(archive_sha384_ctx *ctx, const void *indata,
size_t insize)
{
return (win_crypto_Update(ctx, indata, insize));
}
static int
__archive_sha384final(archive_sha384_ctx *ctx, void *md)
{
return (win_crypto_Final(md, 48, ctx));
}
#else
static int
__archive_sha384init(archive_sha384_ctx *ctx)
{
(void)ctx; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_sha384update(archive_sha384_ctx *ctx, const void *indata,
size_t insize)
{
(void)ctx; /* UNUSED */
(void)indata; /* UNUSED */
(void)insize; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_sha384final(archive_sha384_ctx *ctx, void *md)
{
(void)ctx; /* UNUSED */
(void)md; /* UNUSED */
return (ARCHIVE_FAILED);
}
#endif
/* SHA512 implementations */
#if defined(ARCHIVE_CRYPTO_SHA512_LIBC)
static int
__archive_sha512init(archive_sha512_ctx *ctx)
{
SHA512_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha512update(archive_sha512_ctx *ctx, const void *indata,
size_t insize)
{
SHA512_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha512final(archive_sha512_ctx *ctx, void *md)
{
SHA512_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA512_LIBC2)
static int
__archive_sha512init(archive_sha512_ctx *ctx)
{
SHA512Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha512update(archive_sha512_ctx *ctx, const void *indata,
size_t insize)
{
SHA512Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha512final(archive_sha512_ctx *ctx, void *md)
{
SHA512Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA512_LIBC3)
static int
__archive_sha512init(archive_sha512_ctx *ctx)
{
SHA512Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha512update(archive_sha512_ctx *ctx, const void *indata,
size_t insize)
{
SHA512Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha512final(archive_sha512_ctx *ctx, void *md)
{
SHA512Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA512_LIBMD)
static int
__archive_sha512init(archive_sha512_ctx *ctx)
{
SHA512_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha512update(archive_sha512_ctx *ctx, const void *indata,
size_t insize)
{
SHA512_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha512final(archive_sha512_ctx *ctx, void *md)
{
SHA512_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA512_LIBSYSTEM)
static int
__archive_sha512init(archive_sha512_ctx *ctx)
{
CC_SHA512_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha512update(archive_sha512_ctx *ctx, const void *indata,
size_t insize)
{
CC_SHA512_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha512final(archive_sha512_ctx *ctx, void *md)
{
CC_SHA512_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA512_MBEDTLS)
static int
__archive_sha512init(archive_sha512_ctx *ctx)
{
mbedtls_sha512_init(ctx);
if (mbedtls_sha512_starts_ret(ctx, 0) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_sha512update(archive_sha512_ctx *ctx, const void *indata,
size_t insize)
{
if (mbedtls_sha512_update_ret(ctx, indata, insize) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_sha512final(archive_sha512_ctx *ctx, void *md)
{
if (mbedtls_sha512_finish_ret(ctx, md) == 0) {
mbedtls_sha512_free(ctx);
return (ARCHIVE_OK);
} else {
mbedtls_sha512_free(ctx);
return (ARCHIVE_FATAL);
}
}
#elif defined(ARCHIVE_CRYPTO_SHA512_NETTLE)
static int
__archive_sha512init(archive_sha512_ctx *ctx)
{
sha512_init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha512update(archive_sha512_ctx *ctx, const void *indata,
size_t insize)
{
sha512_update(ctx, insize, indata);
return (ARCHIVE_OK);
}
static int
__archive_sha512final(archive_sha512_ctx *ctx, void *md)
{
sha512_digest(ctx, SHA512_DIGEST_SIZE, md);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA512_OPENSSL)
static int
__archive_sha512init(archive_sha512_ctx *ctx)
{
if ((*ctx = EVP_MD_CTX_new()) == NULL)
return (ARCHIVE_FAILED);
EVP_DigestInit(*ctx, EVP_sha512());
return (ARCHIVE_OK);
}
static int
__archive_sha512update(archive_sha512_ctx *ctx, const void *indata,
size_t insize)
{
EVP_DigestUpdate(*ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha512final(archive_sha512_ctx *ctx, void *md)
{
if (*ctx) {
EVP_DigestFinal(*ctx, md, NULL);
EVP_MD_CTX_free(*ctx);
*ctx = NULL;
}
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA512_WIN)
static int
__archive_sha512init(archive_sha512_ctx *ctx)
{
return (win_crypto_init(ctx, CALG_SHA_512));
}
static int
__archive_sha512update(archive_sha512_ctx *ctx, const void *indata,
size_t insize)
{
return (win_crypto_Update(ctx, indata, insize));
}
static int
__archive_sha512final(archive_sha512_ctx *ctx, void *md)
{
return (win_crypto_Final(md, 64, ctx));
}
#else
static int
__archive_sha512init(archive_sha512_ctx *ctx)
{
(void)ctx; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_sha512update(archive_sha512_ctx *ctx, const void *indata,
size_t insize)
{
(void)ctx; /* UNUSED */
(void)indata; /* UNUSED */
(void)insize; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_sha512final(archive_sha512_ctx *ctx, void *md)
{
(void)ctx; /* UNUSED */
(void)md; /* UNUSED */
return (ARCHIVE_FAILED);
}
#endif
/* NOTE: Message Digest functions are set based on availability and by the
* following order of preference.
* 1. libc
* 2. libc2
* 3. libc3
* 4. libSystem
* 5. Nettle
* 6. OpenSSL
* 7. libmd
* 8. Windows API
*/
const struct archive_digest __archive_digest =
{
/* MD5 */
&__archive_md5init,
&__archive_md5update,
&__archive_md5final,
/* RIPEMD160 */
&__archive_ripemd160init,
&__archive_ripemd160update,
&__archive_ripemd160final,
/* SHA1 */
&__archive_sha1init,
&__archive_sha1update,
&__archive_sha1final,
/* SHA256 */
&__archive_sha256init,
&__archive_sha256update,
&__archive_sha256final,
/* SHA384 */
&__archive_sha384init,
&__archive_sha384update,
&__archive_sha384final,
/* SHA512 */
&__archive_sha512init,
&__archive_sha512update,
&__archive_sha512final
};
int
main(int argc, char **argv)
{
archive_md5_ctx ctx;
archive_md5_init(&ctx);
archive_md5_update(&ctx, *argv, argc);
archive_md5_final(&ctx, NULL);
return 0;
}
Checking support for ARCHIVE_CRYPTO_SHA1_LIBSYSTEM failed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeTmp
Run Build Command(s):/bin/gmake -f Makefile cmTC_611e7/fast && gmake -f CMakeFiles/cmTC_611e7.dir/build.make CMakeFiles/cmTC_611e7.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeTmp'
Building C object CMakeFiles/cmTC_611e7.dir/check_crypto_md.c.o
/bin/gcc -I/usr/src/cmake-3.25.0 -I/usr/src/cmake-3.25.0/Utilities/cmlibarchive/libarchive -I/usr/src/cmake-3.25.0/CMakeFiles/CMakeTmp -I/usr/src/cmake-3.25.0/Utilities -w -std=gnu99 -o CMakeFiles/cmTC_611e7.dir/check_crypto_md.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeTmp/check_crypto_md.c
In file included from /usr/src/cmake-3.25.0/CMakeFiles/CMakeTmp/check_crypto_md.c:1204:0:
/usr/src/cmake-3.25.0/Utilities/cmlibarchive/libarchive/archive_digest_private.h:115:39: fatal error: CommonCrypto/CommonDigest.h: No such file or directory
#include <CommonCrypto/CommonDigest.h>
^
compilation terminated.
gmake[1]: *** [CMakeFiles/cmTC_611e7.dir/check_crypto_md.c.o] Error 1
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeTmp'
gmake: *** [cmTC_611e7/fast] Error 2
Source file was:
/* config.h. Generated from build/cmake/config.h.in by cmake configure */
#define __LIBARCHIVE_CONFIG_H_INCLUDED 1
#if defined(__osf__)
# define _OSF_SOURCE
#endif
/*
* Ensure we have C99-style int64_t, etc, all defined.
*/
/* Define ZLIB_WINAPI if zlib was built on Visual Studio. */
/* #undef ZLIB_WINAPI */
/* Darwin ACL support */
/* #undef ARCHIVE_ACL_DARWIN */
/* FreeBSD ACL support */
/* #undef ARCHIVE_ACL_FREEBSD */
/* FreeBSD NFSv4 ACL support */
/* #undef ARCHIVE_ACL_FREEBSD_NFS4 */
/* Linux POSIX.1e ACL support via libacl */
/* #undef ARCHIVE_ACL_LIBACL */
/* Linux NFSv4 ACL support via librichacl */
/* #undef ARCHIVE_ACL_LIBRICHACL */
/* Solaris ACL support */
/* #undef ARCHIVE_ACL_SUNOS */
/* Solaris NFSv4 ACL support */
/* #undef ARCHIVE_ACL_SUNOS_NFS4 */
/* MD5 via ARCHIVE_CRYPTO_MD5_LIBC supported. */
/* #undef ARCHIVE_CRYPTO_MD5_LIBC */
/* MD5 via ARCHIVE_CRYPTO_MD5_LIBSYSTEM supported. */
/* #undef ARCHIVE_CRYPTO_MD5_LIBSYSTEM */
/* MD5 via ARCHIVE_CRYPTO_MD5_NETTLE supported. */
/* #undef ARCHIVE_CRYPTO_MD5_NETTLE */
/* MD5 via ARCHIVE_CRYPTO_MD5_OPENSSL supported. */
/* #undef ARCHIVE_CRYPTO_MD5_OPENSSL */
/* MD5 via ARCHIVE_CRYPTO_MD5_WIN supported. */
/* #undef ARCHIVE_CRYPTO_MD5_WIN */
/* RMD160 via ARCHIVE_CRYPTO_RMD160_LIBC supported. */
/* #undef ARCHIVE_CRYPTO_RMD160_LIBC */
/* RMD160 via ARCHIVE_CRYPTO_RMD160_NETTLE supported. */
/* #undef ARCHIVE_CRYPTO_RMD160_NETTLE */
/* RMD160 via ARCHIVE_CRYPTO_RMD160_OPENSSL supported. */
/* #undef ARCHIVE_CRYPTO_RMD160_OPENSSL */
/* SHA1 via ARCHIVE_CRYPTO_SHA1_LIBC supported. */
/* #undef ARCHIVE_CRYPTO_SHA1_LIBC */
/* SHA1 via ARCHIVE_CRYPTO_SHA1_LIBSYSTEM supported. */
/* #undef ARCHIVE_CRYPTO_SHA1_LIBSYSTEM */
/* SHA1 via ARCHIVE_CRYPTO_SHA1_NETTLE supported. */
/* #undef ARCHIVE_CRYPTO_SHA1_NETTLE */
/* SHA1 via ARCHIVE_CRYPTO_SHA1_OPENSSL supported. */
/* #undef ARCHIVE_CRYPTO_SHA1_OPENSSL */
/* SHA1 via ARCHIVE_CRYPTO_SHA1_WIN supported. */
/* #undef ARCHIVE_CRYPTO_SHA1_WIN */
/* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBC supported. */
/* #undef ARCHIVE_CRYPTO_SHA256_LIBC */
/* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBC2 supported. */
/* #undef ARCHIVE_CRYPTO_SHA256_LIBC2 */
/* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBC3 supported. */
/* #undef ARCHIVE_CRYPTO_SHA256_LIBC3 */
/* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBSYSTEM supported. */
/* #undef ARCHIVE_CRYPTO_SHA256_LIBSYSTEM */
/* SHA256 via ARCHIVE_CRYPTO_SHA256_NETTLE supported. */
/* #undef ARCHIVE_CRYPTO_SHA256_NETTLE */
/* SHA256 via ARCHIVE_CRYPTO_SHA256_OPENSSL supported. */
/* #undef ARCHIVE_CRYPTO_SHA256_OPENSSL */
/* SHA256 via ARCHIVE_CRYPTO_SHA256_WIN supported. */
/* #undef ARCHIVE_CRYPTO_SHA256_WIN */
/* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBC supported. */
/* #undef ARCHIVE_CRYPTO_SHA384_LIBC */
/* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBC2 supported. */
/* #undef ARCHIVE_CRYPTO_SHA384_LIBC2 */
/* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBC3 supported. */
/* #undef ARCHIVE_CRYPTO_SHA384_LIBC3 */
/* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBSYSTEM supported. */
/* #undef ARCHIVE_CRYPTO_SHA384_LIBSYSTEM */
/* SHA384 via ARCHIVE_CRYPTO_SHA384_NETTLE supported. */
/* #undef ARCHIVE_CRYPTO_SHA384_NETTLE */
/* SHA384 via ARCHIVE_CRYPTO_SHA384_OPENSSL supported. */
/* #undef ARCHIVE_CRYPTO_SHA384_OPENSSL */
/* SHA384 via ARCHIVE_CRYPTO_SHA384_WIN supported. */
/* #undef ARCHIVE_CRYPTO_SHA384_WIN */
/* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBC supported. */
/* #undef ARCHIVE_CRYPTO_SHA512_LIBC */
/* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBC2 supported. */
/* #undef ARCHIVE_CRYPTO_SHA512_LIBC2 */
/* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBC3 supported. */
/* #undef ARCHIVE_CRYPTO_SHA512_LIBC3 */
/* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBSYSTEM supported. */
/* #undef ARCHIVE_CRYPTO_SHA512_LIBSYSTEM */
/* SHA512 via ARCHIVE_CRYPTO_SHA512_NETTLE supported. */
/* #undef ARCHIVE_CRYPTO_SHA512_NETTLE */
/* SHA512 via ARCHIVE_CRYPTO_SHA512_OPENSSL supported. */
/* #undef ARCHIVE_CRYPTO_SHA512_OPENSSL */
/* SHA512 via ARCHIVE_CRYPTO_SHA512_WIN supported. */
/* #undef ARCHIVE_CRYPTO_SHA512_WIN */
/* AIX xattr support */
/* #undef ARCHIVE_XATTR_AIX */
/* Darwin xattr support */
/* #undef ARCHIVE_XATTR_DARWIN */
/* FreeBSD xattr support */
/* #undef ARCHIVE_XATTR_FREEBSD */
/* Linux xattr support */
/* #undef ARCHIVE_XATTR_LINUX */
/* Version number of bsdcpio */
#define BSDCPIO_VERSION_STRING "3.6.0"
/* Version number of bsdtar */
#define BSDTAR_VERSION_STRING "3.6.0"
/* Version number of bsdcat */
#define BSDCAT_VERSION_STRING "3.6.0"
/* Define to 1 if you have the `acl_create_entry' function. */
/* #undef HAVE_ACL_CREATE_ENTRY */
/* Define to 1 if you have the `acl_get_fd_np' function. */
/* #undef HAVE_ACL_GET_FD_NP */
/* Define to 1 if you have the `acl_get_link' function. */
/* #undef HAVE_ACL_GET_LINK */
/* Define to 1 if you have the `acl_get_link_np' function. */
/* #undef HAVE_ACL_GET_LINK_NP */
/* Define to 1 if you have the `acl_get_perm' function. */
/* #undef HAVE_ACL_GET_PERM */
/* Define to 1 if you have the `acl_get_perm_np' function. */
/* #undef HAVE_ACL_GET_PERM_NP */
/* Define to 1 if you have the `acl_init' function. */
/* #undef HAVE_ACL_INIT */
/* Define to 1 if you have the <acl/libacl.h> header file. */
/* #undef HAVE_ACL_LIBACL_H */
/* Define to 1 if the system has the type `acl_permset_t'. */
/* #undef HAVE_ACL_PERMSET_T */
/* Define to 1 if you have the `acl_set_fd' function. */
/* #undef HAVE_ACL_SET_FD */
/* Define to 1 if you have the `acl_set_fd_np' function. */
/* #undef HAVE_ACL_SET_FD_NP */
/* Define to 1 if you have the `acl_set_file' function. */
/* #undef HAVE_ACL_SET_FILE */
/* Define to 1 if you have the `arc4random_buf' function. */
/* #undef HAVE_ARC4RANDOM_BUF */
/* Define to 1 if you have the <attr/xattr.h> header file. */
/* #undef HAVE_ATTR_XATTR_H */
/* Define to 1 if you have the <Bcrypt.h> header file. */
/* #undef HAVE_BCRYPT_H */
/* Define to 1 if you have the <bsdxml.h> header file. */
/* #undef HAVE_BSDXML_H */
/* Define to 1 if you have the <bzlib.h> header file. */
#define HAVE_BZLIB_H 1
/* Define to 1 if you have the `chflags' function. */
/* #undef HAVE_CHFLAGS */
/* Define to 1 if you have the `chown' function. */
#define HAVE_CHOWN 1
/* Define to 1 if you have the `chroot' function. */
#define HAVE_CHROOT 1
/* Define to 1 if you have the <copyfile.h> header file. */
/* #undef HAVE_COPYFILE_H */
/* Define to 1 if you have the `ctime_r' function. */
#define HAVE_CTIME_R 1
/* Define to 1 if you have the <ctype.h> header file. */
#define HAVE_CTYPE_H 1
/* Define to 1 if you have the `cygwin_conv_path' function. */
/* #undef HAVE_CYGWIN_CONV_PATH */
/* Define to 1 if you have the declaration of `ACE_GETACL', and to 0 if you
don't. */
/* #undef HAVE_DECL_ACE_GETACL */
/* Define to 1 if you have the declaration of `ACE_GETACLCNT', and to 0 if you
don't. */
/* #undef HAVE_DECL_ACE_GETACLCNT */
/* Define to 1 if you have the declaration of `ACE_SETACL', and to 0 if you
don't. */
/* #undef HAVE_DECL_ACE_SETACL */
/* Define to 1 if you have the declaration of `ACL_SYNCHRONIZE', and to 0 if
you don't. */
/* #undef HAVE_DECL_ACL_SYNCHRONIZE */
/* Define to 1 if you have the declaration of `ACL_TYPE_EXTENDED', and to 0 if
you don't. */
/* #undef HAVE_DECL_ACL_TYPE_EXTENDED */
/* Define to 1 if you have the declaration of `ACL_TYPE_NFS4', and to 0 if you
don't. */
/* #undef HAVE_DECL_ACL_TYPE_NFS4 */
/* Define to 1 if you have the declaration of `ACL_USER', and to 0 if you
don't. */
/* #undef HAVE_DECL_ACL_USER */
/* Define to 1 if you have the declaration of `SETACL', and to 0 if you don't.
*/
/* #undef HAVE_DECL_SETACL */
/* Define to 1 if you have the declaration of `strerror_r', and to 0 if you
don't. */
#define HAVE_DECL_STRERROR_R 1
/* Define to 1 if you have the declaration of `XATTR_NOFOLLOW', and to 0 if
you don't. */
/* #undef HAVE_DECL_XATTR_NOFOLLOW */
/* Define to 1 if you have the <direct.h> header file. */
/* #undef HAVE_DIRECT_H */
/* Define to 1 if you have the <dirent.h> header file, and it defines `DIR'.
*/
#define HAVE_DIRENT_H 1
/* Define to 1 if you have the `dirfd' function. */
#define HAVE_DIRFD 1
/* Define to 1 if you have the <dlfcn.h> header file. */
#define HAVE_DLFCN_H 1
/* Define to 1 if you don't have `vprintf' but do have `_doprnt.' */
/* #undef HAVE_DOPRNT */
/* Define to 1 if nl_langinfo supports D_MD_ORDER */
/* #undef HAVE_D_MD_ORDER */
/* A possible errno value for invalid file format errors */
/* #undef HAVE_EFTYPE */
/* A possible errno value for invalid file format errors */
#define HAVE_EILSEQ 1
/* Define to 1 if you have the <errno.h> header file. */
#define HAVE_ERRNO_H 1
/* Define to 1 if you have the <expat.h> header file. */
/* #undef HAVE_EXPAT_H */
/* Define to 1 if you have the <ext2fs/ext2_fs.h> header file. */
#define HAVE_EXT2FS_EXT2_FS_H 1
/* Define to 1 if you have the `extattr_get_file' function. */
/* #undef HAVE_EXTATTR_GET_FILE */
/* Define to 1 if you have the `extattr_list_file' function. */
/* #undef HAVE_EXTATTR_LIST_FILE */
/* Define to 1 if you have the `extattr_set_fd' function. */
/* #undef HAVE_EXTATTR_SET_FD */
/* Define to 1 if you have the `extattr_set_file' function. */
/* #undef HAVE_EXTATTR_SET_FILE */
/* Define to 1 if EXTATTR_NAMESPACE_USER is defined in sys/extattr.h. */
/* #undef HAVE_DECL_EXTATTR_NAMESPACE_USER */
/* Define to 1 if you have the declaration of `GETACL', and to 0 if you don't.
*/
/* #undef HAVE_DECL_GETACL */
/* Define to 1 if you have the declaration of `GETACLCNT', and to 0 if you
don't. */
/* #undef HAVE_DECL_GETACLCNT */
/* Define to 1 if you have the `fchdir' function. */
#define HAVE_FCHDIR 1
/* Define to 1 if you have the `fchflags' function. */
/* #undef HAVE_FCHFLAGS */
/* Define to 1 if you have the `fchmod' function. */
#define HAVE_FCHMOD 1
/* Define to 1 if you have the `fchown' function. */
#define HAVE_FCHOWN 1
/* Define to 1 if you have the `fcntl' function. */
#define HAVE_FCNTL 1
/* Define to 1 if you have the <fcntl.h> header file. */
#define HAVE_FCNTL_H 1
/* Define to 1 if you have the `fdopendir' function. */
#define HAVE_FDOPENDIR 1
/* Define to 1 if you have the `fgetea' function. */
/* #undef HAVE_FGETEA */
/* Define to 1 if you have the `fgetxattr' function. */
/* #undef HAVE_FGETXATTR */
/* Define to 1 if you have the `flistea' function. */
/* #undef HAVE_FLISTEA */
/* Define to 1 if you have the `flistxattr' function. */
/* #undef HAVE_FLISTXATTR */
/* Define to 1 if you have the `fork' function. */
#define HAVE_FORK 1
/* Define to 1 if fseeko (and presumably ftello) exists and is declared. */
#define HAVE_FSEEKO 1
/* Define to 1 if you have the `fsetea' function. */
/* #undef HAVE_FSETEA */
/* Define to 1 if you have the `fsetxattr' function. */
#define HAVE_FSETXATTR 1
/* Define to 1 if you have the `fstat' function. */
#define HAVE_FSTAT 1
/* Define to 1 if you have the `fstatat' function. */
#define HAVE_FSTATAT 1
/* Define to 1 if you have the `fstatfs' function. */
#define HAVE_FSTATFS 1
/* Define to 1 if you have the `fstatvfs' function. */
#define HAVE_FSTATVFS 1
/* Define to 1 if you have the `ftruncate' function. */
#define HAVE_FTRUNCATE 1
/* Define to 1 if you have the `futimens' function. */
#define HAVE_FUTIMENS 1
/* Define to 1 if you have the `futimes' function. */
#define HAVE_FUTIMES 1
/* Define to 1 if you have the `futimesat' function. */
#define HAVE_FUTIMESAT 1
/* Define to 1 if you have the `getea' function. */
/* #undef HAVE_GETEA */
/* Define to 1 if you have the `geteuid' function. */
#define HAVE_GETEUID 1
/* Define to 1 if you have the `getgrgid_r' function. */
#define HAVE_GETGRGID_R 1
/* Define to 1 if you have the `getgrnam_r' function. */
#define HAVE_GETGRNAM_R 1
/* Define to 1 if you have the `getpid' function. */
#define HAVE_GETPID 1
/* Define to 1 if you have the `getpwnam_r' function. */
#define HAVE_GETPWNAM_R 1
/* Define to 1 if you have the `getpwuid_r' function. */
#define HAVE_GETPWUID_R 1
/* Define to 1 if you have the `getvfsbyname' function. */
/* #undef HAVE_GETVFSBYNAME */
/* Define to 1 if you have the `getxattr' function. */
/* #undef HAVE_GETXATTR */
/* Define to 1 if you have the `gmtime_r' function. */
#define HAVE_GMTIME_R 1
/* Define to 1 if you have the <grp.h> header file. */
#define HAVE_GRP_H 1
/* Define to 1 if you have the `iconv' function. */
/* #undef HAVE_ICONV */
/* Define to 1 if you have the <iconv.h> header file. */
/* #undef HAVE_ICONV_H */
/* Define to 1 if you have the <io.h> header file. */
/* #undef HAVE_IO_H */
/* Define to 1 if you have the <langinfo.h> header file. */
#define HAVE_LANGINFO_H 1
/* Define to 1 if you have the `lchflags' function. */
/* #undef HAVE_LCHFLAGS */
/* Define to 1 if you have the `lchmod' function. */
/* #undef HAVE_LCHMOD */
/* Define to 1 if you have the `lchown' function. */
#define HAVE_LCHOWN 1
/* Define to 1 if you have the `lgetea' function. */
/* #undef HAVE_LGETEA */
/* Define to 1 if you have the `lgetxattr' function. */
/* #undef HAVE_LGETXATTR */
/* Define to 1 if you have the `acl' library (-lacl). */
/* #undef HAVE_LIBACL */
/* Define to 1 if you have the `attr' library (-lattr). */
/* #undef HAVE_LIBATTR */
/* Define to 1 if you have the `bsdxml' library (-lbsdxml). */
/* #undef HAVE_LIBBSDXML */
/* Define to 1 if you have the `bz2' library (-lbz2). */
#define HAVE_LIBBZ2 1
/* Define to 1 if you have the `b2' library (-lb2). */
/* #undef HAVE_LIBB2 */
/* Define to 1 if you have the <blake2.h> header file. */
/* #undef HAVE_BLAKE2_H */
/* Define to 1 if you have the `charset' library (-lcharset). */
/* #undef HAVE_LIBCHARSET */
/* Define to 1 if you have the `crypto' library (-lcrypto). */
#define HAVE_LIBCRYPTO 1
/* Define to 1 if you have the `expat' library (-lexpat). */
/* #undef HAVE_LIBEXPAT */
/* Define to 1 if you have the `gcc' library (-lgcc). */
/* #undef HAVE_LIBGCC */
/* Define to 1 if you have the `lz4' library (-llz4). */
/* #undef HAVE_LIBLZ4 */
/* Define to 1 if you have the `lzma' library (-llzma). */
#define HAVE_LIBLZMA 1
/* Define to 1 if you have the `lzmadec' library (-llzmadec). */
/* #undef HAVE_LIBLZMADEC */
/* Define to 1 if you have the `lzo2' library (-llzo2). */
/* #undef HAVE_LIBLZO2 */
/* Define to 1 if you have the `mbedcrypto' library (-lmbedcrypto). */
/* #undef HAVE_LIBMBEDCRYPTO */
/* Define to 1 if you have the `nettle' library (-lnettle). */
/* #undef HAVE_LIBNETTLE */
/* Define to 1 if you have the `pcre' library (-lpcre). */
/* #undef HAVE_LIBPCRE */
/* Define to 1 if you have the `pcreposix' library (-lpcreposix). */
/* #undef HAVE_LIBPCREPOSIX */
/* Define to 1 if you have the `xml2' library (-lxml2). */
/* #undef HAVE_LIBXML2 */
/* Define to 1 if you have the <libxml/xmlreader.h> header file. */
/* #undef HAVE_LIBXML_XMLREADER_H */
/* Define to 1 if you have the <libxml/xmlwriter.h> header file. */
/* #undef HAVE_LIBXML_XMLWRITER_H */
/* Define to 1 if you have the `z' library (-lz). */
#define HAVE_LIBZ 1
/* Define to 1 if you have the `zstd' library (-lzstd). */
#define HAVE_LIBZSTD 1
/* Define to 1 if you have the `zstd' library (-lzstd) with compression
support. */
#define HAVE_LIBZSTD_COMPRESSOR 1
/* Define to 1 if you have the <limits.h> header file. */
#define HAVE_LIMITS_H 1
/* Define to 1 if you have the `link' function. */
#define HAVE_LINK 1
/* Define to 1 if you have the `linkat' function. */
#define HAVE_LINKAT 1
/* Define to 1 if you have the <linux/fiemap.h> header file. */
#define HAVE_LINUX_FIEMAP_H 1
/* Define to 1 if you have the <linux/fs.h> header file. */
#define HAVE_LINUX_FS_H 1
/* Define to 1 if you have the <linux/magic.h> header file. */
#define HAVE_LINUX_MAGIC_H 1
/* Define to 1 if you have the <linux/types.h> header file. */
#define HAVE_LINUX_TYPES_H 1
/* Define to 1 if you have the `listea' function. */
/* #undef HAVE_LISTEA */
/* Define to 1 if you have the `listxattr' function. */
/* #undef HAVE_LISTXATTR */
/* Define to 1 if you have the `llistea' function. */
/* #undef HAVE_LLISTEA */
/* Define to 1 if you have the `llistxattr' function. */
/* #undef HAVE_LLISTXATTR */
/* Define to 1 if you have the <localcharset.h> header file. */
/* #undef HAVE_LOCALCHARSET_H */
/* Define to 1 if you have the `locale_charset' function. */
/* #undef HAVE_LOCALE_CHARSET */
/* Define to 1 if you have the <locale.h> header file. */
#define HAVE_LOCALE_H 1
/* Define to 1 if you have the `localtime_r' function. */
#define HAVE_LOCALTIME_R 1
/* Define to 1 if the system has the type `long long int'. */
/* #undef HAVE_LONG_LONG_INT */
/* Define to 1 if you have the `lsetea' function. */
/* #undef HAVE_LSETEA */
/* Define to 1 if you have the `lsetxattr' function. */
/* #undef HAVE_LSETXATTR */
/* Define to 1 if you have the `lstat' function. */
#define HAVE_LSTAT 1
/* Define to 1 if `lstat' has the bug that it succeeds when given the
zero-length file name argument. */
/* #undef HAVE_LSTAT_EMPTY_STRING_BUG */
/* Define to 1 if you have the `lutimes' function. */
#define HAVE_LUTIMES 1
/* Define to 1 if you have the <lz4hc.h> header file. */
/* #undef HAVE_LZ4HC_H */
/* Define to 1 if you have the <lz4.h> header file. */
/* #undef HAVE_LZ4_H */
/* Define to 1 if you have the <lzmadec.h> header file. */
/* #undef HAVE_LZMADEC_H */
/* Define to 1 if you have the <lzma.h> header file. */
#define HAVE_LZMA_H 1
/* Define to 1 if you have a working `lzma_stream_encoder_mt' function. */
#define HAVE_LZMA_STREAM_ENCODER_MT 1
/* Define to 1 if you have the <lzo/lzo1x.h> header file. */
/* #undef HAVE_LZO_LZO1X_H */
/* Define to 1 if you have the <lzo/lzoconf.h> header file. */
/* #undef HAVE_LZO_LZOCONF_H */
/* Define to 1 if you have the `mbrtowc' function. */
#define HAVE_MBRTOWC 1
/* Define to 1 if you have the <membership.h> header file. */
/* #undef HAVE_MEMBERSHIP_H */
/* Define to 1 if you have the `memmove' function. */
#define HAVE_MEMMOVE 1
/* Define to 1 if you have the <memory.h> header file. */
#define HAVE_MEMORY_H 1
/* Define to 1 if you have the `mkdir' function. */
#define HAVE_MKDIR 1
/* Define to 1 if you have the `mkfifo' function. */
#define HAVE_MKFIFO 1
/* Define to 1 if you have the `mknod' function. */
#define HAVE_MKNOD 1
/* Define to 1 if you have the `mkstemp' function. */
#define HAVE_MKSTEMP 1
/* Define to 1 if you have the <ndir.h> header file, and it defines `DIR'. */
/* #undef HAVE_NDIR_H */
/* Define to 1 if you have the <nettle/aes.h> header file. */
/* #undef HAVE_NETTLE_AES_H */
/* Define to 1 if you have the <nettle/hmac.h> header file. */
/* #undef HAVE_NETTLE_HMAC_H */
/* Define to 1 if you have the <nettle/md5.h> header file. */
/* #undef HAVE_NETTLE_MD5_H */
/* Define to 1 if you have the <nettle/pbkdf2.h> header file. */
/* #undef HAVE_NETTLE_PBKDF2_H */
/* Define to 1 if you have the <nettle/ripemd160.h> header file. */
/* #undef HAVE_NETTLE_RIPEMD160_H */
/* Define to 1 if you have the <nettle/sha.h> header file. */
/* #undef HAVE_NETTLE_SHA_H */
/* Define to 1 if you have the `nl_langinfo' function. */
#define HAVE_NL_LANGINFO 1
/* Define to 1 if you have the `openat' function. */
#define HAVE_OPENAT 1
/* Define to 1 if you have the <paths.h> header file. */
#define HAVE_PATHS_H 1
/* Define to 1 if you have the <pcreposix.h> header file. */
/* #undef HAVE_PCREPOSIX_H */
/* Define to 1 if you have the `pipe' function. */
#define HAVE_PIPE 1
/* Define to 1 if you have the `PKCS5_PBKDF2_HMAC_SHA1' function. */
/* #undef HAVE_PKCS5_PBKDF2_HMAC_SHA1 */
/* Define to 1 if you have the `poll' function. */
#define HAVE_POLL 1
/* Define to 1 if you have the <poll.h> header file. */
#define HAVE_POLL_H 1
/* Define to 1 if you have the `posix_spawnp' function. */
#define HAVE_POSIX_SPAWNP 1
/* Define to 1 if you have the <process.h> header file. */
/* #undef HAVE_PROCESS_H */
/* Define to 1 if you have the <pthread.h> header file. */
#define HAVE_PTHREAD_H 1
/* Define to 1 if you have the <pwd.h> header file. */
#define HAVE_PWD_H 1
/* Define to 1 if you have the `readdir_r' function. */
#define HAVE_READDIR_R 1
/* Define to 1 if you have the `readlink' function. */
#define HAVE_READLINK 1
/* Define to 1 if you have the `readlinkat' function. */
/* #undef HAVE_READLINKAT */
/* Define to 1 if you have the `readpassphrase' function. */
/* #undef HAVE_READPASSPHRASE */
/* Define to 1 if you have the <readpassphrase.h> header file. */
/* #undef HAVE_READPASSPHRASE_H */
/* Define to 1 if you have the <regex.h> header file. */
#define HAVE_REGEX_H 1
/* Define to 1 if you have the `select' function. */
#define HAVE_SELECT 1
/* Define to 1 if you have the `setenv' function. */
#define HAVE_SETENV 1
/* Define to 1 if you have the `setlocale' function. */
#define HAVE_SETLOCALE 1
/* Define to 1 if you have the `sigaction' function. */
#define HAVE_SIGACTION 1
/* Define to 1 if you have the <signal.h> header file. */
#define HAVE_SIGNAL_H 1
/* Define to 1 if you have the <spawn.h> header file. */
#define HAVE_SPAWN_H 1
/* Define to 1 if you have the `statfs' function. */
#define HAVE_STATFS 1
/* Define to 1 if you have the `statvfs' function. */
#define HAVE_STATVFS 1
/* Define to 1 if `stat' has the bug that it succeeds when given the
zero-length file name argument. */
/* #undef HAVE_STAT_EMPTY_STRING_BUG */
/* Define to 1 if you have the <stdarg.h> header file. */
#define HAVE_STDARG_H 1
/* Define to 1 if you have the <stdlib.h> header file. */
#define HAVE_STDLIB_H 1
/* Define to 1 if you have the `strchr' function. */
#define HAVE_STRCHR 1
/* Define to 1 if you have the `strnlen' function. */
#define HAVE_STRNLEN 1
/* Define to 1 if you have the `strdup' function. */
#define HAVE_STRDUP 1
/* Define to 1 if you have the `strerror' function. */
#define HAVE_STRERROR 1
/* Define to 1 if you have the `strerror_r' function. */
#define HAVE_STRERROR_R 1
/* Define to 1 if you have the `strftime' function. */
#define HAVE_STRFTIME 1
/* Define to 1 if you have the <strings.h> header file. */
#define HAVE_STRINGS_H 1
/* Define to 1 if you have the <string.h> header file. */
#define HAVE_STRING_H 1
/* Define to 1 if you have the `strrchr' function. */
#define HAVE_STRRCHR 1
/* Define to 1 if `f_namemax' is a member of `struct statfs'. */
/* #undef HAVE_STRUCT_STATFS_F_NAMEMAX */
/* Define to 1 if `f_iosize' is a member of `struct statvfs'. */
/* #undef HAVE_STRUCT_STATVFS_F_IOSIZE */
/* Define to 1 if `st_birthtime' is a member of `struct stat'. */
/* #undef HAVE_STRUCT_STAT_ST_BIRTHTIME */
/* Define to 1 if `st_birthtimespec.tv_nsec' is a member of `struct stat'. */
/* #undef HAVE_STRUCT_STAT_ST_BIRTHTIMESPEC_TV_NSEC */
/* Define to 1 if `st_blksize' is a member of `struct stat'. */
#define HAVE_STRUCT_STAT_ST_BLKSIZE 1
/* Define to 1 if `st_flags' is a member of `struct stat'. */
/* #undef HAVE_STRUCT_STAT_ST_FLAGS */
/* Define to 1 if `st_mtimespec.tv_nsec' is a member of `struct stat'. */
/* #undef HAVE_STRUCT_STAT_ST_MTIMESPEC_TV_NSEC */
/* Define to 1 if `st_mtime_n' is a member of `struct stat'. */
/* #undef HAVE_STRUCT_STAT_ST_MTIME_N */
/* Define to 1 if `st_mtime_usec' is a member of `struct stat'. */
/* #undef HAVE_STRUCT_STAT_ST_MTIME_USEC */
/* Define to 1 if `st_mtim.tv_nsec' is a member of `struct stat'. */
#define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1
/* Define to 1 if `st_umtime' is a member of `struct stat'. */
/* #undef HAVE_STRUCT_STAT_ST_UMTIME */
/* Define to 1 if `tm_gmtoff' is a member of `struct tm'. */
#define HAVE_STRUCT_TM_TM_GMTOFF 1
/* Define to 1 if `__tm_gmtoff' is a member of `struct tm'. */
/* #undef HAVE_STRUCT_TM___TM_GMTOFF */
/* Define to 1 if you have `struct vfsconf'. */
/* #undef HAVE_STRUCT_VFSCONF */
/* Define to 1 if you have `struct xvfsconf'. */
/* #undef HAVE_STRUCT_XVFSCONF */
/* Define to 1 if you have the `symlink' function. */
#define HAVE_SYMLINK 1
/* Define to 1 if you have the <sys/acl.h> header file. */
/* #undef HAVE_SYS_ACL_H */
/* Define to 1 if you have the <sys/cdefs.h> header file. */
#define HAVE_SYS_CDEFS_H 1
/* Define to 1 if you have the <sys/dir.h> header file, and it defines `DIR'.
*/
/* #undef HAVE_SYS_DIR_H */
/* Define to 1 if you have the <sys/ea.h> header file. */
/* #undef HAVE_SYS_EA_H */
/* Define to 1 if you have the <sys/extattr.h> header file. */
/* #undef HAVE_SYS_EXTATTR_H */
/* Define to 1 if you have the <sys/ioctl.h> header file. */
#define HAVE_SYS_IOCTL_H 1
/* Define to 1 if you have the <sys/mkdev.h> header file. */
/* #undef HAVE_SYS_MKDEV_H */
/* Define to 1 if you have the <sys/mount.h> header file. */
/* #undef HAVE_SYS_MOUNT_H */
/* Define to 1 if you have the <sys/ndir.h> header file, and it defines `DIR'.
*/
/* #undef HAVE_SYS_NDIR_H */
/* Define to 1 if you have the <sys/param.h> header file. */
#define HAVE_SYS_PARAM_H 1
/* Define to 1 if you have the <sys/poll.h> header file. */
#define HAVE_SYS_POLL_H 1
/* Define to 1 if you have the <sys/richacl.h> header file. */
/* #undef HAVE_SYS_RICHACL_H */
/* Define to 1 if you have the <sys/select.h> header file. */
#define HAVE_SYS_SELECT_H 1
/* Define to 1 if you have the <sys/statfs.h> header file. */
#define HAVE_SYS_STATFS_H 1
/* Define to 1 if you have the <sys/statvfs.h> header file. */
#define HAVE_SYS_STATVFS_H 1
/* Define to 1 if you have the <sys/stat.h> header file. */
#define HAVE_SYS_STAT_H 1
/* Define to 1 if you have the <sys/sysmacros.h> header file. */
#define HAVE_SYS_SYSMACROS_H 1
/* Define to 1 if you have the <sys/time.h> header file. */
#define HAVE_SYS_TIME_H 1
/* Define to 1 if you have the <sys/types.h> header file. */
#define HAVE_SYS_TYPES_H 1
/* Define to 1 if you have the <sys/utime.h> header file. */
/* #undef HAVE_SYS_UTIME_H */
/* Define to 1 if you have the <sys/utsname.h> header file. */
#define HAVE_SYS_UTSNAME_H 1
/* Define to 1 if you have the <sys/vfs.h> header file. */
#define HAVE_SYS_VFS_H 1
/* Define to 1 if you have <sys/wait.h> that is POSIX.1 compatible. */
#define HAVE_SYS_WAIT_H 1
/* Define to 1 if you have the <sys/xattr.h> header file. */
#define HAVE_SYS_XATTR_H 1
/* Define to 1 if you have the `timegm' function. */
#define HAVE_TIMEGM 1
/* Define to 1 if you have the <time.h> header file. */
#define HAVE_TIME_H 1
/* Define to 1 if you have the `tzset' function. */
#define HAVE_TZSET 1
/* Define to 1 if you have the <unistd.h> header file. */
#define HAVE_UNISTD_H 1
/* Define to 1 if you have the `unlinkat' function. */
#define HAVE_UNLINKAT 1
/* Define to 1 if you have the `unsetenv' function. */
#define HAVE_UNSETENV 1
/* Define to 1 if the system has the type `unsigned long long'. */
/* #undef HAVE_UNSIGNED_LONG_LONG */
/* Define to 1 if the system has the type `unsigned long long int'. */
/* #undef HAVE_UNSIGNED_LONG_LONG_INT */
/* Define to 1 if you have the `utime' function. */
#define HAVE_UTIME 1
/* Define to 1 if you have the `utimensat' function. */
#define HAVE_UTIMENSAT 1
/* Define to 1 if you have the `utimes' function. */
#define HAVE_UTIMES 1
/* Define to 1 if you have the <utime.h> header file. */
#define HAVE_UTIME_H 1
/* Define to 1 if you have the `vfork' function. */
#define HAVE_VFORK 1
/* Define to 1 if you have the `vprintf' function. */
#define HAVE_VPRINTF 1
/* Define to 1 if you have the <wchar.h> header file. */
#define HAVE_WCHAR_H 1
/* Define to 1 if the system has the type `wchar_t'. */
#define HAVE_WCHAR_T 1
/* Define to 1 if you have the `wcrtomb' function. */
#define HAVE_WCRTOMB 1
/* Define to 1 if you have the `wcscmp' function. */
#define HAVE_WCSCMP 1
/* Define to 1 if you have the `wcscpy' function. */
#define HAVE_WCSCPY 1
/* Define to 1 if you have the `wcslen' function. */
#define HAVE_WCSLEN 1
/* Define to 1 if you have the `wctomb' function. */
#define HAVE_WCTOMB 1
/* Define to 1 if you have the <wctype.h> header file. */
#define HAVE_WCTYPE_H 1
/* Define to 1 if you have the <wincrypt.h> header file. */
/* #undef HAVE_WINCRYPT_H */
/* Define to 1 if you have the <windows.h> header file. */
/* #undef HAVE_WINDOWS_H */
/* Define to 1 if you have the <winioctl.h> header file. */
/* #undef HAVE_WINIOCTL_H */
/* Define to 1 if you have _CrtSetReportMode in <crtdbg.h> */
/* #undef HAVE__CrtSetReportMode */
/* Define to 1 if you have the `wmemcmp' function. */
#define HAVE_WMEMCMP 1
/* Define to 1 if you have the `wmemcpy' function. */
#define HAVE_WMEMCPY 1
/* Define to 1 if you have the `wmemmove' function. */
#define HAVE_WMEMMOVE 1
/* Define to 1 if you have a working EXT2_IOC_GETFLAGS */
#define HAVE_WORKING_EXT2_IOC_GETFLAGS 1
/* Define to 1 if you have a working FS_IOC_GETFLAGS */
#define HAVE_WORKING_FS_IOC_GETFLAGS 1
/* Define to 1 if you have the <zlib.h> header file. */
#define HAVE_ZLIB_H 1
/* Define to 1 if you have the <zstd.h> header file. */
#define HAVE_ZSTD_H 1
/* Define to 1 if you have the `_ctime64_s' function. */
/* #undef HAVE__CTIME64_S */
/* Define to 1 if you have the `_fseeki64' function. */
/* #undef HAVE__FSEEKI64 */
/* Define to 1 if you have the `_get_timezone' function. */
/* #undef HAVE__GET_TIMEZONE */
/* Define to 1 if you have the `_gmtime64_s' function. */
/* #undef HAVE__GMTIME64_S */
/* Define to 1 if you have the `_localtime64_s' function. */
/* #undef HAVE__LOCALTIME64_S */
/* Define to 1 if you have the `_mkgmtime64' function. */
/* #undef HAVE__MKGMTIME64 */
/* Define as const if the declaration of iconv() needs const. */
#define ICONV_CONST
/* Version number of libarchive as a single integer */
#define LIBARCHIVE_VERSION_NUMBER "3006000"
/* Version number of libarchive */
#define LIBARCHIVE_VERSION_STRING "3.6.0"
/* Define to 1 if `lstat' dereferences a symlink specified with a trailing
slash. */
/* #undef LSTAT_FOLLOWS_SLASHED_SYMLINK */
/* Define to 1 if `major', `minor', and `makedev' are declared in <mkdev.h>.
*/
/* #undef MAJOR_IN_MKDEV */
/* Define to 1 if `major', `minor', and `makedev' are declared in
<sysmacros.h>. */
#define MAJOR_IN_SYSMACROS 1
/* Define to 1 if your C compiler doesn't accept -c and -o together. */
/* #undef NO_MINUS_C_MINUS_O */
/* The size of `wchar_t', as computed by sizeof. */
#define SIZEOF_WCHAR_T 4
/* Define to 1 if strerror_r returns char *. */
/* #undef STRERROR_R_CHAR_P */
/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
#define TIME_WITH_SYS_TIME 1
/*
* Some platform requires a macro to use extension functions.
*/
#define SAFE_TO_DEFINE_EXTENSIONS 1
#ifdef SAFE_TO_DEFINE_EXTENSIONS
/* Enable extensions on AIX 3, Interix. */
#ifndef _ALL_SOURCE
# define _ALL_SOURCE 1
#endif
/* Enable GNU extensions on systems that have them. */
#ifndef _GNU_SOURCE
# define _GNU_SOURCE 1
#endif
/* Enable threading extensions on Solaris. */
#ifndef _POSIX_PTHREAD_SEMANTICS
# define _POSIX_PTHREAD_SEMANTICS 1
#endif
/* Enable extensions on HP NonStop. */
#ifndef _TANDEM_SOURCE
# define _TANDEM_SOURCE 1
#endif
/* Enable general extensions on Solaris. */
#ifndef __EXTENSIONS__
# define __EXTENSIONS__ 1
#endif
#endif /* SAFE_TO_DEFINE_EXTENSIONS */
/* Version number of package */
#define VERSION "3.6.0"
/* Number of bits in a file offset, on hosts where this is settable. */
/* #undef _FILE_OFFSET_BITS */
/* Define to 1 to make fseeko visible on some hosts (e.g. glibc 2.2). */
/* #undef _LARGEFILE_SOURCE */
/* Define for large files, on AIX-style hosts. */
/* #undef _LARGE_FILES */
/* Define to control Windows SDK version */
#ifndef NTDDI_VERSION
/* #undef NTDDI_VERSION */
#endif // NTDDI_VERSION
#ifndef _WIN32_WINNT
/* #undef _WIN32_WINNT */
#endif // _WIN32_WINNT
#ifndef WINVER
/* #undef WINVER */
#endif // WINVER
/* Define to empty if `const' does not conform to ANSI C. */
/* #undef const */
/* Define to `int' if <sys/types.h> doesn't define. */
/* #undef gid_t */
/* Define to `unsigned long' if <sys/types.h> does not define. */
/* #undef id_t */
/* Define to `int' if <sys/types.h> does not define. */
/* #undef mode_t */
/* Define to `long long' if <sys/types.h> does not define. */
/* #undef off_t */
/* Define to `int' if <sys/types.h> doesn't define. */
/* #undef pid_t */
/* Define to `unsigned int' if <sys/types.h> does not define. */
/* #undef size_t */
/* Define to `int' if <sys/types.h> does not define. */
/* #undef ssize_t */
/* Define to `int' if <sys/types.h> doesn't define. */
/* #undef uid_t */
#include <cm3p/kwiml/int.h>
#ifndef KWIML_INT_HAVE_INT64_T
typedef KWIML_INT_int64_t int64_t;
#endif
#ifndef KWIML_INT_HAVE_INT32_T
typedef KWIML_INT_int32_t int32_t;
#endif
#ifndef KWIML_INT_HAVE_INT16_T
typedef KWIML_INT_int16_t int16_t;
#endif
#ifndef KWIML_INT_HAVE_INT8_T
typedef KWIML_INT_int8_t int8_t;
#endif
#ifndef KWIML_INT_HAVE_INTPTR_T
typedef KWIML_INT_intptr_t intptr_t;
#endif
#ifndef KWIML_INT_HAVE_UINT64_T
typedef KWIML_INT_uint64_t uint64_t;
#endif
#ifndef KWIML_INT_HAVE_UINT32_T
typedef KWIML_INT_uint32_t uint32_t;
#endif
#ifndef KWIML_INT_HAVE_UINT16_T
typedef KWIML_INT_uint16_t uint16_t;
#endif
#ifndef KWIML_INT_HAVE_UINT8_T
typedef KWIML_INT_uint8_t uint8_t;
#endif
#ifndef KWIML_INT_HAVE_UINTPTR_T
typedef KWIML_INT_uintptr_t uintptr_t;
#endif
/* Define to 1 if you have the <stdint.h> header file. */
#ifdef KWIML_INT_HAVE_STDINT_H
# define HAVE_STDINT_H 1
#endif
/* Define to 1 if you have the <inttypes.h> header file. */
#ifdef KWIML_INT_HAVE_INTTYPES_H
# define HAVE_INTTYPES_H 1
#endif
#define ARCHIVE_SHA1_COMPILE_TEST
#define ARCHIVE_CRYPTO_SHA1_LIBSYSTEM
#define PLATFORM_CONFIG_H "check_crypto_md.h"
/*-
* Copyright (c) 2003-2007 Tim Kientzle
* Copyright (c) 2011 Andres Mejia
* Copyright (c) 2011 Michihiro NAKAJIMA
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR(S) ``AS IS'' AND ANY EXPRESS OR
* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
* IN NO EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
#include "archive_platform.h"
#include "archive.h"
#include "archive_digest_private.h"
/* In particular, force the configure probe to break if it tries
* to test a combination of OpenSSL and libmd. */
#if defined(ARCHIVE_CRYPTO_OPENSSL) && defined(ARCHIVE_CRYPTO_LIBMD)
#error Cannot use both OpenSSL and libmd.
#endif
/*
* Message digest functions for Windows platform.
*/
#if defined(ARCHIVE_CRYPTO_MD5_WIN) ||\
defined(ARCHIVE_CRYPTO_SHA1_WIN) ||\
defined(ARCHIVE_CRYPTO_SHA256_WIN) ||\
defined(ARCHIVE_CRYPTO_SHA384_WIN) ||\
defined(ARCHIVE_CRYPTO_SHA512_WIN)
/*
* Initialize a Message digest.
*/
static int
win_crypto_init(Digest_CTX *ctx, ALG_ID algId)
{
ctx->valid = 0;
if (!CryptAcquireContext(&ctx->cryptProv, NULL, NULL,
PROV_RSA_FULL, CRYPT_VERIFYCONTEXT)) {
if (GetLastError() != (DWORD)NTE_BAD_KEYSET)
return (ARCHIVE_FAILED);
if (!CryptAcquireContext(&ctx->cryptProv, NULL, NULL,
PROV_RSA_FULL, CRYPT_NEWKEYSET))
return (ARCHIVE_FAILED);
}
if (!CryptCreateHash(ctx->cryptProv, algId, 0, 0, &ctx->hash)) {
CryptReleaseContext(ctx->cryptProv, 0);
return (ARCHIVE_FAILED);
}
ctx->valid = 1;
return (ARCHIVE_OK);
}
/*
* Update a Message digest.
*/
static int
win_crypto_Update(Digest_CTX *ctx, const unsigned char *buf, size_t len)
{
if (!ctx->valid)
return (ARCHIVE_FAILED);
CryptHashData(ctx->hash,
(unsigned char *)(uintptr_t)buf,
(DWORD)len, 0);
return (ARCHIVE_OK);
}
static int
win_crypto_Final(unsigned char *buf, size_t bufsize, Digest_CTX *ctx)
{
DWORD siglen = (DWORD)bufsize;
if (!ctx->valid)
return (ARCHIVE_FAILED);
CryptGetHashParam(ctx->hash, HP_HASHVAL, buf, &siglen, 0);
CryptDestroyHash(ctx->hash);
CryptReleaseContext(ctx->cryptProv, 0);
ctx->valid = 0;
return (ARCHIVE_OK);
}
#endif /* defined(ARCHIVE_CRYPTO_*_WIN) */
/* MD5 implementations */
#if defined(ARCHIVE_CRYPTO_MD5_LIBC)
static int
__archive_md5init(archive_md5_ctx *ctx)
{
MD5Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_md5update(archive_md5_ctx *ctx, const void *indata,
size_t insize)
{
MD5Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_md5final(archive_md5_ctx *ctx, void *md)
{
MD5Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_MD5_LIBMD)
static int
__archive_md5init(archive_md5_ctx *ctx)
{
MD5Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_md5update(archive_md5_ctx *ctx, const void *indata,
size_t insize)
{
MD5Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_md5final(archive_md5_ctx *ctx, void *md)
{
MD5Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_MD5_LIBSYSTEM)
static int
__archive_md5init(archive_md5_ctx *ctx)
{
CC_MD5_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_md5update(archive_md5_ctx *ctx, const void *indata,
size_t insize)
{
CC_MD5_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_md5final(archive_md5_ctx *ctx, void *md)
{
CC_MD5_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_MD5_MBEDTLS)
static int
__archive_md5init(archive_md5_ctx *ctx)
{
mbedtls_md5_init(ctx);
if (mbedtls_md5_starts_ret(ctx) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_md5update(archive_md5_ctx *ctx, const void *indata,
size_t insize)
{
if (mbedtls_md5_update_ret(ctx, indata, insize) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_md5final(archive_md5_ctx *ctx, void *md)
{
if (mbedtls_md5_finish_ret(ctx, md) == 0) {
mbedtls_md5_free(ctx);
return (ARCHIVE_OK);
} else {
mbedtls_md5_free(ctx);
return (ARCHIVE_FATAL);
}
}
#elif defined(ARCHIVE_CRYPTO_MD5_NETTLE)
static int
__archive_md5init(archive_md5_ctx *ctx)
{
md5_init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_md5update(archive_md5_ctx *ctx, const void *indata,
size_t insize)
{
md5_update(ctx, insize, indata);
return (ARCHIVE_OK);
}
static int
__archive_md5final(archive_md5_ctx *ctx, void *md)
{
md5_digest(ctx, MD5_DIGEST_SIZE, md);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_MD5_OPENSSL)
static int
__archive_md5init(archive_md5_ctx *ctx)
{
if ((*ctx = EVP_MD_CTX_new()) == NULL)
return (ARCHIVE_FAILED);
EVP_DigestInit(*ctx, EVP_md5());
return (ARCHIVE_OK);
}
static int
__archive_md5update(archive_md5_ctx *ctx, const void *indata,
size_t insize)
{
EVP_DigestUpdate(*ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_md5final(archive_md5_ctx *ctx, void *md)
{
/* HACK: archive_write_set_format_xar.c is finalizing empty contexts, so
* this is meant to cope with that. Real fix is probably to fix
* archive_write_set_format_xar.c
*/
if (*ctx) {
EVP_DigestFinal(*ctx, md, NULL);
EVP_MD_CTX_free(*ctx);
*ctx = NULL;
}
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_MD5_WIN)
static int
__archive_md5init(archive_md5_ctx *ctx)
{
return (win_crypto_init(ctx, CALG_MD5));
}
static int
__archive_md5update(archive_md5_ctx *ctx, const void *indata,
size_t insize)
{
return (win_crypto_Update(ctx, indata, insize));
}
static int
__archive_md5final(archive_md5_ctx *ctx, void *md)
{
return (win_crypto_Final(md, 16, ctx));
}
#else
static int
__archive_md5init(archive_md5_ctx *ctx)
{
(void)ctx; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_md5update(archive_md5_ctx *ctx, const void *indata,
size_t insize)
{
(void)ctx; /* UNUSED */
(void)indata; /* UNUSED */
(void)insize; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_md5final(archive_md5_ctx *ctx, void *md)
{
(void)ctx; /* UNUSED */
(void)md; /* UNUSED */
return (ARCHIVE_FAILED);
}
#endif
/* RIPEMD160 implementations */
#if defined(ARCHIVE_CRYPTO_RMD160_LIBC)
static int
__archive_ripemd160init(archive_rmd160_ctx *ctx)
{
RMD160Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata,
size_t insize)
{
RMD160Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_ripemd160final(archive_rmd160_ctx *ctx, void *md)
{
RMD160Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_RMD160_LIBMD)
static int
__archive_ripemd160init(archive_rmd160_ctx *ctx)
{
RIPEMD160_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata,
size_t insize)
{
RIPEMD160_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_ripemd160final(archive_rmd160_ctx *ctx, void *md)
{
RIPEMD160_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_RMD160_MBEDTLS)
static int
__archive_ripemd160init(archive_rmd160_ctx *ctx)
{
mbedtls_ripemd160_init(ctx);
if (mbedtls_ripemd160_starts_ret(ctx) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata,
size_t insize)
{
if (mbedtls_ripemd160_update_ret(ctx, indata, insize) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_ripemd160final(archive_rmd160_ctx *ctx, void *md)
{
if (mbedtls_ripemd160_finish_ret(ctx, md) == 0) {
mbedtls_ripemd160_free(ctx);
return (ARCHIVE_OK);
} else {
mbedtls_ripemd160_free(ctx);
return (ARCHIVE_FATAL);
}
}
#elif defined(ARCHIVE_CRYPTO_RMD160_NETTLE)
static int
__archive_ripemd160init(archive_rmd160_ctx *ctx)
{
ripemd160_init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata,
size_t insize)
{
ripemd160_update(ctx, insize, indata);
return (ARCHIVE_OK);
}
static int
__archive_ripemd160final(archive_rmd160_ctx *ctx, void *md)
{
ripemd160_digest(ctx, RIPEMD160_DIGEST_SIZE, md);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_RMD160_OPENSSL)
static int
__archive_ripemd160init(archive_rmd160_ctx *ctx)
{
if ((*ctx = EVP_MD_CTX_new()) == NULL)
return (ARCHIVE_FAILED);
EVP_DigestInit(*ctx, EVP_ripemd160());
return (ARCHIVE_OK);
}
static int
__archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata,
size_t insize)
{
EVP_DigestUpdate(*ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_ripemd160final(archive_rmd160_ctx *ctx, void *md)
{
if (*ctx) {
EVP_DigestFinal(*ctx, md, NULL);
EVP_MD_CTX_free(*ctx);
*ctx = NULL;
}
return (ARCHIVE_OK);
}
#else
static int
__archive_ripemd160init(archive_rmd160_ctx *ctx)
{
(void)ctx; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata,
size_t insize)
{
(void)ctx; /* UNUSED */
(void)indata; /* UNUSED */
(void)insize; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_ripemd160final(archive_rmd160_ctx *ctx, void *md)
{
(void)ctx; /* UNUSED */
(void)md; /* UNUSED */
return (ARCHIVE_FAILED);
}
#endif
/* SHA1 implementations */
#if defined(ARCHIVE_CRYPTO_SHA1_LIBC)
static int
__archive_sha1init(archive_sha1_ctx *ctx)
{
SHA1Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha1update(archive_sha1_ctx *ctx, const void *indata,
size_t insize)
{
SHA1Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha1final(archive_sha1_ctx *ctx, void *md)
{
SHA1Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA1_LIBMD)
static int
__archive_sha1init(archive_sha1_ctx *ctx)
{
SHA1_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha1update(archive_sha1_ctx *ctx, const void *indata,
size_t insize)
{
SHA1_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha1final(archive_sha1_ctx *ctx, void *md)
{
SHA1_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA1_LIBSYSTEM)
static int
__archive_sha1init(archive_sha1_ctx *ctx)
{
CC_SHA1_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha1update(archive_sha1_ctx *ctx, const void *indata,
size_t insize)
{
CC_SHA1_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha1final(archive_sha1_ctx *ctx, void *md)
{
CC_SHA1_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA1_MBEDTLS)
static int
__archive_sha1init(archive_sha1_ctx *ctx)
{
mbedtls_sha1_init(ctx);
if (mbedtls_sha1_starts_ret(ctx) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_sha1update(archive_sha1_ctx *ctx, const void *indata,
size_t insize)
{
if (mbedtls_sha1_update_ret(ctx, indata, insize) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_sha1final(archive_sha1_ctx *ctx, void *md)
{
if (mbedtls_sha1_finish_ret(ctx, md) == 0) {
mbedtls_sha1_free(ctx);
return (ARCHIVE_OK);
} else {
mbedtls_sha1_free(ctx);
return (ARCHIVE_FATAL);
}
}
#elif defined(ARCHIVE_CRYPTO_SHA1_NETTLE)
static int
__archive_sha1init(archive_sha1_ctx *ctx)
{
sha1_init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha1update(archive_sha1_ctx *ctx, const void *indata,
size_t insize)
{
sha1_update(ctx, insize, indata);
return (ARCHIVE_OK);
}
static int
__archive_sha1final(archive_sha1_ctx *ctx, void *md)
{
sha1_digest(ctx, SHA1_DIGEST_SIZE, md);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA1_OPENSSL)
static int
__archive_sha1init(archive_sha1_ctx *ctx)
{
if ((*ctx = EVP_MD_CTX_new()) == NULL)
return (ARCHIVE_FAILED);
EVP_DigestInit(*ctx, EVP_sha1());
return (ARCHIVE_OK);
}
static int
__archive_sha1update(archive_sha1_ctx *ctx, const void *indata,
size_t insize)
{
EVP_DigestUpdate(*ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha1final(archive_sha1_ctx *ctx, void *md)
{
/* HACK: archive_write_set_format_xar.c is finalizing empty contexts, so
* this is meant to cope with that. Real fix is probably to fix
* archive_write_set_format_xar.c
*/
if (*ctx) {
EVP_DigestFinal(*ctx, md, NULL);
EVP_MD_CTX_free(*ctx);
*ctx = NULL;
}
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA1_WIN)
static int
__archive_sha1init(archive_sha1_ctx *ctx)
{
return (win_crypto_init(ctx, CALG_SHA1));
}
static int
__archive_sha1update(archive_sha1_ctx *ctx, const void *indata,
size_t insize)
{
return (win_crypto_Update(ctx, indata, insize));
}
static int
__archive_sha1final(archive_sha1_ctx *ctx, void *md)
{
return (win_crypto_Final(md, 20, ctx));
}
#else
static int
__archive_sha1init(archive_sha1_ctx *ctx)
{
(void)ctx; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_sha1update(archive_sha1_ctx *ctx, const void *indata,
size_t insize)
{
(void)ctx; /* UNUSED */
(void)indata; /* UNUSED */
(void)insize; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_sha1final(archive_sha1_ctx *ctx, void *md)
{
(void)ctx; /* UNUSED */
(void)md; /* UNUSED */
return (ARCHIVE_FAILED);
}
#endif
/* SHA256 implementations */
#if defined(ARCHIVE_CRYPTO_SHA256_LIBC)
static int
__archive_sha256init(archive_sha256_ctx *ctx)
{
SHA256_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha256update(archive_sha256_ctx *ctx, const void *indata,
size_t insize)
{
SHA256_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha256final(archive_sha256_ctx *ctx, void *md)
{
SHA256_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA256_LIBC2)
static int
__archive_sha256init(archive_sha256_ctx *ctx)
{
SHA256Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha256update(archive_sha256_ctx *ctx, const void *indata,
size_t insize)
{
SHA256Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha256final(archive_sha256_ctx *ctx, void *md)
{
SHA256Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA256_LIBC3)
static int
__archive_sha256init(archive_sha256_ctx *ctx)
{
SHA256Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha256update(archive_sha256_ctx *ctx, const void *indata,
size_t insize)
{
SHA256Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha256final(archive_sha256_ctx *ctx, void *md)
{
SHA256Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA256_LIBMD)
static int
__archive_sha256init(archive_sha256_ctx *ctx)
{
SHA256_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha256update(archive_sha256_ctx *ctx, const void *indata,
size_t insize)
{
SHA256_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha256final(archive_sha256_ctx *ctx, void *md)
{
SHA256_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA256_LIBSYSTEM)
static int
__archive_sha256init(archive_sha256_ctx *ctx)
{
CC_SHA256_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha256update(archive_sha256_ctx *ctx, const void *indata,
size_t insize)
{
CC_SHA256_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha256final(archive_sha256_ctx *ctx, void *md)
{
CC_SHA256_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA256_MBEDTLS)
static int
__archive_sha256init(archive_sha256_ctx *ctx)
{
mbedtls_sha256_init(ctx);
if (mbedtls_sha256_starts_ret(ctx, 0) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_sha256update(archive_sha256_ctx *ctx, const void *indata,
size_t insize)
{
if (mbedtls_sha256_update_ret(ctx, indata, insize) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_sha256final(archive_sha256_ctx *ctx, void *md)
{
if (mbedtls_sha256_finish_ret(ctx, md) == 0) {
mbedtls_sha256_free(ctx);
return (ARCHIVE_OK);
} else {
mbedtls_sha256_free(ctx);
return (ARCHIVE_FATAL);
}
}
#elif defined(ARCHIVE_CRYPTO_SHA256_NETTLE)
static int
__archive_sha256init(archive_sha256_ctx *ctx)
{
sha256_init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha256update(archive_sha256_ctx *ctx, const void *indata,
size_t insize)
{
sha256_update(ctx, insize, indata);
return (ARCHIVE_OK);
}
static int
__archive_sha256final(archive_sha256_ctx *ctx, void *md)
{
sha256_digest(ctx, SHA256_DIGEST_SIZE, md);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA256_OPENSSL)
static int
__archive_sha256init(archive_sha256_ctx *ctx)
{
if ((*ctx = EVP_MD_CTX_new()) == NULL)
return (ARCHIVE_FAILED);
EVP_DigestInit(*ctx, EVP_sha256());
return (ARCHIVE_OK);
}
static int
__archive_sha256update(archive_sha256_ctx *ctx, const void *indata,
size_t insize)
{
EVP_DigestUpdate(*ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha256final(archive_sha256_ctx *ctx, void *md)
{
if (*ctx) {
EVP_DigestFinal(*ctx, md, NULL);
EVP_MD_CTX_free(*ctx);
*ctx = NULL;
}
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA256_WIN)
static int
__archive_sha256init(archive_sha256_ctx *ctx)
{
return (win_crypto_init(ctx, CALG_SHA_256));
}
static int
__archive_sha256update(archive_sha256_ctx *ctx, const void *indata,
size_t insize)
{
return (win_crypto_Update(ctx, indata, insize));
}
static int
__archive_sha256final(archive_sha256_ctx *ctx, void *md)
{
return (win_crypto_Final(md, 32, ctx));
}
#else
static int
__archive_sha256init(archive_sha256_ctx *ctx)
{
(void)ctx; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_sha256update(archive_sha256_ctx *ctx, const void *indata,
size_t insize)
{
(void)ctx; /* UNUSED */
(void)indata; /* UNUSED */
(void)insize; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_sha256final(archive_sha256_ctx *ctx, void *md)
{
(void)ctx; /* UNUSED */
(void)md; /* UNUSED */
return (ARCHIVE_FAILED);
}
#endif
/* SHA384 implementations */
#if defined(ARCHIVE_CRYPTO_SHA384_LIBC)
static int
__archive_sha384init(archive_sha384_ctx *ctx)
{
SHA384_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha384update(archive_sha384_ctx *ctx, const void *indata,
size_t insize)
{
SHA384_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha384final(archive_sha384_ctx *ctx, void *md)
{
SHA384_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA384_LIBC2)
static int
__archive_sha384init(archive_sha384_ctx *ctx)
{
SHA384Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha384update(archive_sha384_ctx *ctx, const void *indata,
size_t insize)
{
SHA384Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha384final(archive_sha384_ctx *ctx, void *md)
{
SHA384Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA384_LIBC3)
static int
__archive_sha384init(archive_sha384_ctx *ctx)
{
SHA384Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha384update(archive_sha384_ctx *ctx, const void *indata,
size_t insize)
{
SHA384Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha384final(archive_sha384_ctx *ctx, void *md)
{
SHA384Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA384_LIBSYSTEM)
static int
__archive_sha384init(archive_sha384_ctx *ctx)
{
CC_SHA384_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha384update(archive_sha384_ctx *ctx, const void *indata,
size_t insize)
{
CC_SHA384_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha384final(archive_sha384_ctx *ctx, void *md)
{
CC_SHA384_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA384_MBEDTLS)
static int
__archive_sha384init(archive_sha384_ctx *ctx)
{
mbedtls_sha512_init(ctx);
if (mbedtls_sha512_starts_ret(ctx, 1) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_sha384update(archive_sha384_ctx *ctx, const void *indata,
size_t insize)
{
if (mbedtls_sha512_update_ret(ctx, indata, insize) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_sha384final(archive_sha384_ctx *ctx, void *md)
{
if (mbedtls_sha512_finish_ret(ctx, md) == 0) {
mbedtls_sha512_free(ctx);
return (ARCHIVE_OK);
} else {
mbedtls_sha512_free(ctx);
return (ARCHIVE_FATAL);
}
}
#elif defined(ARCHIVE_CRYPTO_SHA384_NETTLE)
static int
__archive_sha384init(archive_sha384_ctx *ctx)
{
sha384_init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha384update(archive_sha384_ctx *ctx, const void *indata,
size_t insize)
{
sha384_update(ctx, insize, indata);
return (ARCHIVE_OK);
}
static int
__archive_sha384final(archive_sha384_ctx *ctx, void *md)
{
sha384_digest(ctx, SHA384_DIGEST_SIZE, md);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA384_OPENSSL)
static int
__archive_sha384init(archive_sha384_ctx *ctx)
{
if ((*ctx = EVP_MD_CTX_new()) == NULL)
return (ARCHIVE_FAILED);
EVP_DigestInit(*ctx, EVP_sha384());
return (ARCHIVE_OK);
}
static int
__archive_sha384update(archive_sha384_ctx *ctx, const void *indata,
size_t insize)
{
EVP_DigestUpdate(*ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha384final(archive_sha384_ctx *ctx, void *md)
{
if (*ctx) {
EVP_DigestFinal(*ctx, md, NULL);
EVP_MD_CTX_free(*ctx);
*ctx = NULL;
}
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA384_WIN)
static int
__archive_sha384init(archive_sha384_ctx *ctx)
{
return (win_crypto_init(ctx, CALG_SHA_384));
}
static int
__archive_sha384update(archive_sha384_ctx *ctx, const void *indata,
size_t insize)
{
return (win_crypto_Update(ctx, indata, insize));
}
static int
__archive_sha384final(archive_sha384_ctx *ctx, void *md)
{
return (win_crypto_Final(md, 48, ctx));
}
#else
static int
__archive_sha384init(archive_sha384_ctx *ctx)
{
(void)ctx; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_sha384update(archive_sha384_ctx *ctx, const void *indata,
size_t insize)
{
(void)ctx; /* UNUSED */
(void)indata; /* UNUSED */
(void)insize; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_sha384final(archive_sha384_ctx *ctx, void *md)
{
(void)ctx; /* UNUSED */
(void)md; /* UNUSED */
return (ARCHIVE_FAILED);
}
#endif
/* SHA512 implementations */
#if defined(ARCHIVE_CRYPTO_SHA512_LIBC)
static int
__archive_sha512init(archive_sha512_ctx *ctx)
{
SHA512_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha512update(archive_sha512_ctx *ctx, const void *indata,
size_t insize)
{
SHA512_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha512final(archive_sha512_ctx *ctx, void *md)
{
SHA512_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA512_LIBC2)
static int
__archive_sha512init(archive_sha512_ctx *ctx)
{
SHA512Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha512update(archive_sha512_ctx *ctx, const void *indata,
size_t insize)
{
SHA512Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha512final(archive_sha512_ctx *ctx, void *md)
{
SHA512Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA512_LIBC3)
static int
__archive_sha512init(archive_sha512_ctx *ctx)
{
SHA512Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha512update(archive_sha512_ctx *ctx, const void *indata,
size_t insize)
{
SHA512Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha512final(archive_sha512_ctx *ctx, void *md)
{
SHA512Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA512_LIBMD)
static int
__archive_sha512init(archive_sha512_ctx *ctx)
{
SHA512_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha512update(archive_sha512_ctx *ctx, const void *indata,
size_t insize)
{
SHA512_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha512final(archive_sha512_ctx *ctx, void *md)
{
SHA512_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA512_LIBSYSTEM)
static int
__archive_sha512init(archive_sha512_ctx *ctx)
{
CC_SHA512_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha512update(archive_sha512_ctx *ctx, const void *indata,
size_t insize)
{
CC_SHA512_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha512final(archive_sha512_ctx *ctx, void *md)
{
CC_SHA512_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA512_MBEDTLS)
static int
__archive_sha512init(archive_sha512_ctx *ctx)
{
mbedtls_sha512_init(ctx);
if (mbedtls_sha512_starts_ret(ctx, 0) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_sha512update(archive_sha512_ctx *ctx, const void *indata,
size_t insize)
{
if (mbedtls_sha512_update_ret(ctx, indata, insize) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_sha512final(archive_sha512_ctx *ctx, void *md)
{
if (mbedtls_sha512_finish_ret(ctx, md) == 0) {
mbedtls_sha512_free(ctx);
return (ARCHIVE_OK);
} else {
mbedtls_sha512_free(ctx);
return (ARCHIVE_FATAL);
}
}
#elif defined(ARCHIVE_CRYPTO_SHA512_NETTLE)
static int
__archive_sha512init(archive_sha512_ctx *ctx)
{
sha512_init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha512update(archive_sha512_ctx *ctx, const void *indata,
size_t insize)
{
sha512_update(ctx, insize, indata);
return (ARCHIVE_OK);
}
static int
__archive_sha512final(archive_sha512_ctx *ctx, void *md)
{
sha512_digest(ctx, SHA512_DIGEST_SIZE, md);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA512_OPENSSL)
static int
__archive_sha512init(archive_sha512_ctx *ctx)
{
if ((*ctx = EVP_MD_CTX_new()) == NULL)
return (ARCHIVE_FAILED);
EVP_DigestInit(*ctx, EVP_sha512());
return (ARCHIVE_OK);
}
static int
__archive_sha512update(archive_sha512_ctx *ctx, const void *indata,
size_t insize)
{
EVP_DigestUpdate(*ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha512final(archive_sha512_ctx *ctx, void *md)
{
if (*ctx) {
EVP_DigestFinal(*ctx, md, NULL);
EVP_MD_CTX_free(*ctx);
*ctx = NULL;
}
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA512_WIN)
static int
__archive_sha512init(archive_sha512_ctx *ctx)
{
return (win_crypto_init(ctx, CALG_SHA_512));
}
static int
__archive_sha512update(archive_sha512_ctx *ctx, const void *indata,
size_t insize)
{
return (win_crypto_Update(ctx, indata, insize));
}
static int
__archive_sha512final(archive_sha512_ctx *ctx, void *md)
{
return (win_crypto_Final(md, 64, ctx));
}
#else
static int
__archive_sha512init(archive_sha512_ctx *ctx)
{
(void)ctx; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_sha512update(archive_sha512_ctx *ctx, const void *indata,
size_t insize)
{
(void)ctx; /* UNUSED */
(void)indata; /* UNUSED */
(void)insize; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_sha512final(archive_sha512_ctx *ctx, void *md)
{
(void)ctx; /* UNUSED */
(void)md; /* UNUSED */
return (ARCHIVE_FAILED);
}
#endif
/* NOTE: Message Digest functions are set based on availability and by the
* following order of preference.
* 1. libc
* 2. libc2
* 3. libc3
* 4. libSystem
* 5. Nettle
* 6. OpenSSL
* 7. libmd
* 8. Windows API
*/
const struct archive_digest __archive_digest =
{
/* MD5 */
&__archive_md5init,
&__archive_md5update,
&__archive_md5final,
/* RIPEMD160 */
&__archive_ripemd160init,
&__archive_ripemd160update,
&__archive_ripemd160final,
/* SHA1 */
&__archive_sha1init,
&__archive_sha1update,
&__archive_sha1final,
/* SHA256 */
&__archive_sha256init,
&__archive_sha256update,
&__archive_sha256final,
/* SHA384 */
&__archive_sha384init,
&__archive_sha384update,
&__archive_sha384final,
/* SHA512 */
&__archive_sha512init,
&__archive_sha512update,
&__archive_sha512final
};
int
main(int argc, char **argv)
{
archive_sha1_ctx ctx;
archive_sha1_init(&ctx);
archive_sha1_update(&ctx, *argv, argc);
archive_sha1_final(&ctx, NULL);
return 0;
}
Checking support for ARCHIVE_CRYPTO_SHA256_LIBSYSTEM failed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeTmp
Run Build Command(s):/bin/gmake -f Makefile cmTC_7f8b8/fast && gmake -f CMakeFiles/cmTC_7f8b8.dir/build.make CMakeFiles/cmTC_7f8b8.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeTmp'
Building C object CMakeFiles/cmTC_7f8b8.dir/check_crypto_md.c.o
/bin/gcc -I/usr/src/cmake-3.25.0 -I/usr/src/cmake-3.25.0/Utilities/cmlibarchive/libarchive -I/usr/src/cmake-3.25.0/CMakeFiles/CMakeTmp -I/usr/src/cmake-3.25.0/Utilities -w -std=gnu99 -o CMakeFiles/cmTC_7f8b8.dir/check_crypto_md.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeTmp/check_crypto_md.c
In file included from /usr/src/cmake-3.25.0/CMakeFiles/CMakeTmp/check_crypto_md.c:1204:0:
/usr/src/cmake-3.25.0/Utilities/cmlibarchive/libarchive/archive_digest_private.h:115:39: fatal error: CommonCrypto/CommonDigest.h: No such file or directory
#include <CommonCrypto/CommonDigest.h>
^
compilation terminated.
gmake[1]: *** [CMakeFiles/cmTC_7f8b8.dir/check_crypto_md.c.o] Error 1
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeTmp'
gmake: *** [cmTC_7f8b8/fast] Error 2
Source file was:
/* config.h. Generated from build/cmake/config.h.in by cmake configure */
#define __LIBARCHIVE_CONFIG_H_INCLUDED 1
#if defined(__osf__)
# define _OSF_SOURCE
#endif
/*
* Ensure we have C99-style int64_t, etc, all defined.
*/
/* Define ZLIB_WINAPI if zlib was built on Visual Studio. */
/* #undef ZLIB_WINAPI */
/* Darwin ACL support */
/* #undef ARCHIVE_ACL_DARWIN */
/* FreeBSD ACL support */
/* #undef ARCHIVE_ACL_FREEBSD */
/* FreeBSD NFSv4 ACL support */
/* #undef ARCHIVE_ACL_FREEBSD_NFS4 */
/* Linux POSIX.1e ACL support via libacl */
/* #undef ARCHIVE_ACL_LIBACL */
/* Linux NFSv4 ACL support via librichacl */
/* #undef ARCHIVE_ACL_LIBRICHACL */
/* Solaris ACL support */
/* #undef ARCHIVE_ACL_SUNOS */
/* Solaris NFSv4 ACL support */
/* #undef ARCHIVE_ACL_SUNOS_NFS4 */
/* MD5 via ARCHIVE_CRYPTO_MD5_LIBC supported. */
/* #undef ARCHIVE_CRYPTO_MD5_LIBC */
/* MD5 via ARCHIVE_CRYPTO_MD5_LIBSYSTEM supported. */
/* #undef ARCHIVE_CRYPTO_MD5_LIBSYSTEM */
/* MD5 via ARCHIVE_CRYPTO_MD5_NETTLE supported. */
/* #undef ARCHIVE_CRYPTO_MD5_NETTLE */
/* MD5 via ARCHIVE_CRYPTO_MD5_OPENSSL supported. */
/* #undef ARCHIVE_CRYPTO_MD5_OPENSSL */
/* MD5 via ARCHIVE_CRYPTO_MD5_WIN supported. */
/* #undef ARCHIVE_CRYPTO_MD5_WIN */
/* RMD160 via ARCHIVE_CRYPTO_RMD160_LIBC supported. */
/* #undef ARCHIVE_CRYPTO_RMD160_LIBC */
/* RMD160 via ARCHIVE_CRYPTO_RMD160_NETTLE supported. */
/* #undef ARCHIVE_CRYPTO_RMD160_NETTLE */
/* RMD160 via ARCHIVE_CRYPTO_RMD160_OPENSSL supported. */
/* #undef ARCHIVE_CRYPTO_RMD160_OPENSSL */
/* SHA1 via ARCHIVE_CRYPTO_SHA1_LIBC supported. */
/* #undef ARCHIVE_CRYPTO_SHA1_LIBC */
/* SHA1 via ARCHIVE_CRYPTO_SHA1_LIBSYSTEM supported. */
/* #undef ARCHIVE_CRYPTO_SHA1_LIBSYSTEM */
/* SHA1 via ARCHIVE_CRYPTO_SHA1_NETTLE supported. */
/* #undef ARCHIVE_CRYPTO_SHA1_NETTLE */
/* SHA1 via ARCHIVE_CRYPTO_SHA1_OPENSSL supported. */
/* #undef ARCHIVE_CRYPTO_SHA1_OPENSSL */
/* SHA1 via ARCHIVE_CRYPTO_SHA1_WIN supported. */
/* #undef ARCHIVE_CRYPTO_SHA1_WIN */
/* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBC supported. */
/* #undef ARCHIVE_CRYPTO_SHA256_LIBC */
/* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBC2 supported. */
/* #undef ARCHIVE_CRYPTO_SHA256_LIBC2 */
/* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBC3 supported. */
/* #undef ARCHIVE_CRYPTO_SHA256_LIBC3 */
/* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBSYSTEM supported. */
/* #undef ARCHIVE_CRYPTO_SHA256_LIBSYSTEM */
/* SHA256 via ARCHIVE_CRYPTO_SHA256_NETTLE supported. */
/* #undef ARCHIVE_CRYPTO_SHA256_NETTLE */
/* SHA256 via ARCHIVE_CRYPTO_SHA256_OPENSSL supported. */
/* #undef ARCHIVE_CRYPTO_SHA256_OPENSSL */
/* SHA256 via ARCHIVE_CRYPTO_SHA256_WIN supported. */
/* #undef ARCHIVE_CRYPTO_SHA256_WIN */
/* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBC supported. */
/* #undef ARCHIVE_CRYPTO_SHA384_LIBC */
/* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBC2 supported. */
/* #undef ARCHIVE_CRYPTO_SHA384_LIBC2 */
/* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBC3 supported. */
/* #undef ARCHIVE_CRYPTO_SHA384_LIBC3 */
/* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBSYSTEM supported. */
/* #undef ARCHIVE_CRYPTO_SHA384_LIBSYSTEM */
/* SHA384 via ARCHIVE_CRYPTO_SHA384_NETTLE supported. */
/* #undef ARCHIVE_CRYPTO_SHA384_NETTLE */
/* SHA384 via ARCHIVE_CRYPTO_SHA384_OPENSSL supported. */
/* #undef ARCHIVE_CRYPTO_SHA384_OPENSSL */
/* SHA384 via ARCHIVE_CRYPTO_SHA384_WIN supported. */
/* #undef ARCHIVE_CRYPTO_SHA384_WIN */
/* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBC supported. */
/* #undef ARCHIVE_CRYPTO_SHA512_LIBC */
/* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBC2 supported. */
/* #undef ARCHIVE_CRYPTO_SHA512_LIBC2 */
/* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBC3 supported. */
/* #undef ARCHIVE_CRYPTO_SHA512_LIBC3 */
/* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBSYSTEM supported. */
/* #undef ARCHIVE_CRYPTO_SHA512_LIBSYSTEM */
/* SHA512 via ARCHIVE_CRYPTO_SHA512_NETTLE supported. */
/* #undef ARCHIVE_CRYPTO_SHA512_NETTLE */
/* SHA512 via ARCHIVE_CRYPTO_SHA512_OPENSSL supported. */
/* #undef ARCHIVE_CRYPTO_SHA512_OPENSSL */
/* SHA512 via ARCHIVE_CRYPTO_SHA512_WIN supported. */
/* #undef ARCHIVE_CRYPTO_SHA512_WIN */
/* AIX xattr support */
/* #undef ARCHIVE_XATTR_AIX */
/* Darwin xattr support */
/* #undef ARCHIVE_XATTR_DARWIN */
/* FreeBSD xattr support */
/* #undef ARCHIVE_XATTR_FREEBSD */
/* Linux xattr support */
/* #undef ARCHIVE_XATTR_LINUX */
/* Version number of bsdcpio */
#define BSDCPIO_VERSION_STRING "3.6.0"
/* Version number of bsdtar */
#define BSDTAR_VERSION_STRING "3.6.0"
/* Version number of bsdcat */
#define BSDCAT_VERSION_STRING "3.6.0"
/* Define to 1 if you have the `acl_create_entry' function. */
/* #undef HAVE_ACL_CREATE_ENTRY */
/* Define to 1 if you have the `acl_get_fd_np' function. */
/* #undef HAVE_ACL_GET_FD_NP */
/* Define to 1 if you have the `acl_get_link' function. */
/* #undef HAVE_ACL_GET_LINK */
/* Define to 1 if you have the `acl_get_link_np' function. */
/* #undef HAVE_ACL_GET_LINK_NP */
/* Define to 1 if you have the `acl_get_perm' function. */
/* #undef HAVE_ACL_GET_PERM */
/* Define to 1 if you have the `acl_get_perm_np' function. */
/* #undef HAVE_ACL_GET_PERM_NP */
/* Define to 1 if you have the `acl_init' function. */
/* #undef HAVE_ACL_INIT */
/* Define to 1 if you have the <acl/libacl.h> header file. */
/* #undef HAVE_ACL_LIBACL_H */
/* Define to 1 if the system has the type `acl_permset_t'. */
/* #undef HAVE_ACL_PERMSET_T */
/* Define to 1 if you have the `acl_set_fd' function. */
/* #undef HAVE_ACL_SET_FD */
/* Define to 1 if you have the `acl_set_fd_np' function. */
/* #undef HAVE_ACL_SET_FD_NP */
/* Define to 1 if you have the `acl_set_file' function. */
/* #undef HAVE_ACL_SET_FILE */
/* Define to 1 if you have the `arc4random_buf' function. */
/* #undef HAVE_ARC4RANDOM_BUF */
/* Define to 1 if you have the <attr/xattr.h> header file. */
/* #undef HAVE_ATTR_XATTR_H */
/* Define to 1 if you have the <Bcrypt.h> header file. */
/* #undef HAVE_BCRYPT_H */
/* Define to 1 if you have the <bsdxml.h> header file. */
/* #undef HAVE_BSDXML_H */
/* Define to 1 if you have the <bzlib.h> header file. */
#define HAVE_BZLIB_H 1
/* Define to 1 if you have the `chflags' function. */
/* #undef HAVE_CHFLAGS */
/* Define to 1 if you have the `chown' function. */
#define HAVE_CHOWN 1
/* Define to 1 if you have the `chroot' function. */
#define HAVE_CHROOT 1
/* Define to 1 if you have the <copyfile.h> header file. */
/* #undef HAVE_COPYFILE_H */
/* Define to 1 if you have the `ctime_r' function. */
#define HAVE_CTIME_R 1
/* Define to 1 if you have the <ctype.h> header file. */
#define HAVE_CTYPE_H 1
/* Define to 1 if you have the `cygwin_conv_path' function. */
/* #undef HAVE_CYGWIN_CONV_PATH */
/* Define to 1 if you have the declaration of `ACE_GETACL', and to 0 if you
don't. */
/* #undef HAVE_DECL_ACE_GETACL */
/* Define to 1 if you have the declaration of `ACE_GETACLCNT', and to 0 if you
don't. */
/* #undef HAVE_DECL_ACE_GETACLCNT */
/* Define to 1 if you have the declaration of `ACE_SETACL', and to 0 if you
don't. */
/* #undef HAVE_DECL_ACE_SETACL */
/* Define to 1 if you have the declaration of `ACL_SYNCHRONIZE', and to 0 if
you don't. */
/* #undef HAVE_DECL_ACL_SYNCHRONIZE */
/* Define to 1 if you have the declaration of `ACL_TYPE_EXTENDED', and to 0 if
you don't. */
/* #undef HAVE_DECL_ACL_TYPE_EXTENDED */
/* Define to 1 if you have the declaration of `ACL_TYPE_NFS4', and to 0 if you
don't. */
/* #undef HAVE_DECL_ACL_TYPE_NFS4 */
/* Define to 1 if you have the declaration of `ACL_USER', and to 0 if you
don't. */
/* #undef HAVE_DECL_ACL_USER */
/* Define to 1 if you have the declaration of `SETACL', and to 0 if you don't.
*/
/* #undef HAVE_DECL_SETACL */
/* Define to 1 if you have the declaration of `strerror_r', and to 0 if you
don't. */
#define HAVE_DECL_STRERROR_R 1
/* Define to 1 if you have the declaration of `XATTR_NOFOLLOW', and to 0 if
you don't. */
/* #undef HAVE_DECL_XATTR_NOFOLLOW */
/* Define to 1 if you have the <direct.h> header file. */
/* #undef HAVE_DIRECT_H */
/* Define to 1 if you have the <dirent.h> header file, and it defines `DIR'.
*/
#define HAVE_DIRENT_H 1
/* Define to 1 if you have the `dirfd' function. */
#define HAVE_DIRFD 1
/* Define to 1 if you have the <dlfcn.h> header file. */
#define HAVE_DLFCN_H 1
/* Define to 1 if you don't have `vprintf' but do have `_doprnt.' */
/* #undef HAVE_DOPRNT */
/* Define to 1 if nl_langinfo supports D_MD_ORDER */
/* #undef HAVE_D_MD_ORDER */
/* A possible errno value for invalid file format errors */
/* #undef HAVE_EFTYPE */
/* A possible errno value for invalid file format errors */
#define HAVE_EILSEQ 1
/* Define to 1 if you have the <errno.h> header file. */
#define HAVE_ERRNO_H 1
/* Define to 1 if you have the <expat.h> header file. */
/* #undef HAVE_EXPAT_H */
/* Define to 1 if you have the <ext2fs/ext2_fs.h> header file. */
#define HAVE_EXT2FS_EXT2_FS_H 1
/* Define to 1 if you have the `extattr_get_file' function. */
/* #undef HAVE_EXTATTR_GET_FILE */
/* Define to 1 if you have the `extattr_list_file' function. */
/* #undef HAVE_EXTATTR_LIST_FILE */
/* Define to 1 if you have the `extattr_set_fd' function. */
/* #undef HAVE_EXTATTR_SET_FD */
/* Define to 1 if you have the `extattr_set_file' function. */
/* #undef HAVE_EXTATTR_SET_FILE */
/* Define to 1 if EXTATTR_NAMESPACE_USER is defined in sys/extattr.h. */
/* #undef HAVE_DECL_EXTATTR_NAMESPACE_USER */
/* Define to 1 if you have the declaration of `GETACL', and to 0 if you don't.
*/
/* #undef HAVE_DECL_GETACL */
/* Define to 1 if you have the declaration of `GETACLCNT', and to 0 if you
don't. */
/* #undef HAVE_DECL_GETACLCNT */
/* Define to 1 if you have the `fchdir' function. */
#define HAVE_FCHDIR 1
/* Define to 1 if you have the `fchflags' function. */
/* #undef HAVE_FCHFLAGS */
/* Define to 1 if you have the `fchmod' function. */
#define HAVE_FCHMOD 1
/* Define to 1 if you have the `fchown' function. */
#define HAVE_FCHOWN 1
/* Define to 1 if you have the `fcntl' function. */
#define HAVE_FCNTL 1
/* Define to 1 if you have the <fcntl.h> header file. */
#define HAVE_FCNTL_H 1
/* Define to 1 if you have the `fdopendir' function. */
#define HAVE_FDOPENDIR 1
/* Define to 1 if you have the `fgetea' function. */
/* #undef HAVE_FGETEA */
/* Define to 1 if you have the `fgetxattr' function. */
/* #undef HAVE_FGETXATTR */
/* Define to 1 if you have the `flistea' function. */
/* #undef HAVE_FLISTEA */
/* Define to 1 if you have the `flistxattr' function. */
/* #undef HAVE_FLISTXATTR */
/* Define to 1 if you have the `fork' function. */
#define HAVE_FORK 1
/* Define to 1 if fseeko (and presumably ftello) exists and is declared. */
#define HAVE_FSEEKO 1
/* Define to 1 if you have the `fsetea' function. */
/* #undef HAVE_FSETEA */
/* Define to 1 if you have the `fsetxattr' function. */
#define HAVE_FSETXATTR 1
/* Define to 1 if you have the `fstat' function. */
#define HAVE_FSTAT 1
/* Define to 1 if you have the `fstatat' function. */
#define HAVE_FSTATAT 1
/* Define to 1 if you have the `fstatfs' function. */
#define HAVE_FSTATFS 1
/* Define to 1 if you have the `fstatvfs' function. */
#define HAVE_FSTATVFS 1
/* Define to 1 if you have the `ftruncate' function. */
#define HAVE_FTRUNCATE 1
/* Define to 1 if you have the `futimens' function. */
#define HAVE_FUTIMENS 1
/* Define to 1 if you have the `futimes' function. */
#define HAVE_FUTIMES 1
/* Define to 1 if you have the `futimesat' function. */
#define HAVE_FUTIMESAT 1
/* Define to 1 if you have the `getea' function. */
/* #undef HAVE_GETEA */
/* Define to 1 if you have the `geteuid' function. */
#define HAVE_GETEUID 1
/* Define to 1 if you have the `getgrgid_r' function. */
#define HAVE_GETGRGID_R 1
/* Define to 1 if you have the `getgrnam_r' function. */
#define HAVE_GETGRNAM_R 1
/* Define to 1 if you have the `getpid' function. */
#define HAVE_GETPID 1
/* Define to 1 if you have the `getpwnam_r' function. */
#define HAVE_GETPWNAM_R 1
/* Define to 1 if you have the `getpwuid_r' function. */
#define HAVE_GETPWUID_R 1
/* Define to 1 if you have the `getvfsbyname' function. */
/* #undef HAVE_GETVFSBYNAME */
/* Define to 1 if you have the `getxattr' function. */
/* #undef HAVE_GETXATTR */
/* Define to 1 if you have the `gmtime_r' function. */
#define HAVE_GMTIME_R 1
/* Define to 1 if you have the <grp.h> header file. */
#define HAVE_GRP_H 1
/* Define to 1 if you have the `iconv' function. */
/* #undef HAVE_ICONV */
/* Define to 1 if you have the <iconv.h> header file. */
/* #undef HAVE_ICONV_H */
/* Define to 1 if you have the <io.h> header file. */
/* #undef HAVE_IO_H */
/* Define to 1 if you have the <langinfo.h> header file. */
#define HAVE_LANGINFO_H 1
/* Define to 1 if you have the `lchflags' function. */
/* #undef HAVE_LCHFLAGS */
/* Define to 1 if you have the `lchmod' function. */
/* #undef HAVE_LCHMOD */
/* Define to 1 if you have the `lchown' function. */
#define HAVE_LCHOWN 1
/* Define to 1 if you have the `lgetea' function. */
/* #undef HAVE_LGETEA */
/* Define to 1 if you have the `lgetxattr' function. */
/* #undef HAVE_LGETXATTR */
/* Define to 1 if you have the `acl' library (-lacl). */
/* #undef HAVE_LIBACL */
/* Define to 1 if you have the `attr' library (-lattr). */
/* #undef HAVE_LIBATTR */
/* Define to 1 if you have the `bsdxml' library (-lbsdxml). */
/* #undef HAVE_LIBBSDXML */
/* Define to 1 if you have the `bz2' library (-lbz2). */
#define HAVE_LIBBZ2 1
/* Define to 1 if you have the `b2' library (-lb2). */
/* #undef HAVE_LIBB2 */
/* Define to 1 if you have the <blake2.h> header file. */
/* #undef HAVE_BLAKE2_H */
/* Define to 1 if you have the `charset' library (-lcharset). */
/* #undef HAVE_LIBCHARSET */
/* Define to 1 if you have the `crypto' library (-lcrypto). */
#define HAVE_LIBCRYPTO 1
/* Define to 1 if you have the `expat' library (-lexpat). */
/* #undef HAVE_LIBEXPAT */
/* Define to 1 if you have the `gcc' library (-lgcc). */
/* #undef HAVE_LIBGCC */
/* Define to 1 if you have the `lz4' library (-llz4). */
/* #undef HAVE_LIBLZ4 */
/* Define to 1 if you have the `lzma' library (-llzma). */
#define HAVE_LIBLZMA 1
/* Define to 1 if you have the `lzmadec' library (-llzmadec). */
/* #undef HAVE_LIBLZMADEC */
/* Define to 1 if you have the `lzo2' library (-llzo2). */
/* #undef HAVE_LIBLZO2 */
/* Define to 1 if you have the `mbedcrypto' library (-lmbedcrypto). */
/* #undef HAVE_LIBMBEDCRYPTO */
/* Define to 1 if you have the `nettle' library (-lnettle). */
/* #undef HAVE_LIBNETTLE */
/* Define to 1 if you have the `pcre' library (-lpcre). */
/* #undef HAVE_LIBPCRE */
/* Define to 1 if you have the `pcreposix' library (-lpcreposix). */
/* #undef HAVE_LIBPCREPOSIX */
/* Define to 1 if you have the `xml2' library (-lxml2). */
/* #undef HAVE_LIBXML2 */
/* Define to 1 if you have the <libxml/xmlreader.h> header file. */
/* #undef HAVE_LIBXML_XMLREADER_H */
/* Define to 1 if you have the <libxml/xmlwriter.h> header file. */
/* #undef HAVE_LIBXML_XMLWRITER_H */
/* Define to 1 if you have the `z' library (-lz). */
#define HAVE_LIBZ 1
/* Define to 1 if you have the `zstd' library (-lzstd). */
#define HAVE_LIBZSTD 1
/* Define to 1 if you have the `zstd' library (-lzstd) with compression
support. */
#define HAVE_LIBZSTD_COMPRESSOR 1
/* Define to 1 if you have the <limits.h> header file. */
#define HAVE_LIMITS_H 1
/* Define to 1 if you have the `link' function. */
#define HAVE_LINK 1
/* Define to 1 if you have the `linkat' function. */
#define HAVE_LINKAT 1
/* Define to 1 if you have the <linux/fiemap.h> header file. */
#define HAVE_LINUX_FIEMAP_H 1
/* Define to 1 if you have the <linux/fs.h> header file. */
#define HAVE_LINUX_FS_H 1
/* Define to 1 if you have the <linux/magic.h> header file. */
#define HAVE_LINUX_MAGIC_H 1
/* Define to 1 if you have the <linux/types.h> header file. */
#define HAVE_LINUX_TYPES_H 1
/* Define to 1 if you have the `listea' function. */
/* #undef HAVE_LISTEA */
/* Define to 1 if you have the `listxattr' function. */
/* #undef HAVE_LISTXATTR */
/* Define to 1 if you have the `llistea' function. */
/* #undef HAVE_LLISTEA */
/* Define to 1 if you have the `llistxattr' function. */
/* #undef HAVE_LLISTXATTR */
/* Define to 1 if you have the <localcharset.h> header file. */
/* #undef HAVE_LOCALCHARSET_H */
/* Define to 1 if you have the `locale_charset' function. */
/* #undef HAVE_LOCALE_CHARSET */
/* Define to 1 if you have the <locale.h> header file. */
#define HAVE_LOCALE_H 1
/* Define to 1 if you have the `localtime_r' function. */
#define HAVE_LOCALTIME_R 1
/* Define to 1 if the system has the type `long long int'. */
/* #undef HAVE_LONG_LONG_INT */
/* Define to 1 if you have the `lsetea' function. */
/* #undef HAVE_LSETEA */
/* Define to 1 if you have the `lsetxattr' function. */
/* #undef HAVE_LSETXATTR */
/* Define to 1 if you have the `lstat' function. */
#define HAVE_LSTAT 1
/* Define to 1 if `lstat' has the bug that it succeeds when given the
zero-length file name argument. */
/* #undef HAVE_LSTAT_EMPTY_STRING_BUG */
/* Define to 1 if you have the `lutimes' function. */
#define HAVE_LUTIMES 1
/* Define to 1 if you have the <lz4hc.h> header file. */
/* #undef HAVE_LZ4HC_H */
/* Define to 1 if you have the <lz4.h> header file. */
/* #undef HAVE_LZ4_H */
/* Define to 1 if you have the <lzmadec.h> header file. */
/* #undef HAVE_LZMADEC_H */
/* Define to 1 if you have the <lzma.h> header file. */
#define HAVE_LZMA_H 1
/* Define to 1 if you have a working `lzma_stream_encoder_mt' function. */
#define HAVE_LZMA_STREAM_ENCODER_MT 1
/* Define to 1 if you have the <lzo/lzo1x.h> header file. */
/* #undef HAVE_LZO_LZO1X_H */
/* Define to 1 if you have the <lzo/lzoconf.h> header file. */
/* #undef HAVE_LZO_LZOCONF_H */
/* Define to 1 if you have the `mbrtowc' function. */
#define HAVE_MBRTOWC 1
/* Define to 1 if you have the <membership.h> header file. */
/* #undef HAVE_MEMBERSHIP_H */
/* Define to 1 if you have the `memmove' function. */
#define HAVE_MEMMOVE 1
/* Define to 1 if you have the <memory.h> header file. */
#define HAVE_MEMORY_H 1
/* Define to 1 if you have the `mkdir' function. */
#define HAVE_MKDIR 1
/* Define to 1 if you have the `mkfifo' function. */
#define HAVE_MKFIFO 1
/* Define to 1 if you have the `mknod' function. */
#define HAVE_MKNOD 1
/* Define to 1 if you have the `mkstemp' function. */
#define HAVE_MKSTEMP 1
/* Define to 1 if you have the <ndir.h> header file, and it defines `DIR'. */
/* #undef HAVE_NDIR_H */
/* Define to 1 if you have the <nettle/aes.h> header file. */
/* #undef HAVE_NETTLE_AES_H */
/* Define to 1 if you have the <nettle/hmac.h> header file. */
/* #undef HAVE_NETTLE_HMAC_H */
/* Define to 1 if you have the <nettle/md5.h> header file. */
/* #undef HAVE_NETTLE_MD5_H */
/* Define to 1 if you have the <nettle/pbkdf2.h> header file. */
/* #undef HAVE_NETTLE_PBKDF2_H */
/* Define to 1 if you have the <nettle/ripemd160.h> header file. */
/* #undef HAVE_NETTLE_RIPEMD160_H */
/* Define to 1 if you have the <nettle/sha.h> header file. */
/* #undef HAVE_NETTLE_SHA_H */
/* Define to 1 if you have the `nl_langinfo' function. */
#define HAVE_NL_LANGINFO 1
/* Define to 1 if you have the `openat' function. */
#define HAVE_OPENAT 1
/* Define to 1 if you have the <paths.h> header file. */
#define HAVE_PATHS_H 1
/* Define to 1 if you have the <pcreposix.h> header file. */
/* #undef HAVE_PCREPOSIX_H */
/* Define to 1 if you have the `pipe' function. */
#define HAVE_PIPE 1
/* Define to 1 if you have the `PKCS5_PBKDF2_HMAC_SHA1' function. */
/* #undef HAVE_PKCS5_PBKDF2_HMAC_SHA1 */
/* Define to 1 if you have the `poll' function. */
#define HAVE_POLL 1
/* Define to 1 if you have the <poll.h> header file. */
#define HAVE_POLL_H 1
/* Define to 1 if you have the `posix_spawnp' function. */
#define HAVE_POSIX_SPAWNP 1
/* Define to 1 if you have the <process.h> header file. */
/* #undef HAVE_PROCESS_H */
/* Define to 1 if you have the <pthread.h> header file. */
#define HAVE_PTHREAD_H 1
/* Define to 1 if you have the <pwd.h> header file. */
#define HAVE_PWD_H 1
/* Define to 1 if you have the `readdir_r' function. */
#define HAVE_READDIR_R 1
/* Define to 1 if you have the `readlink' function. */
#define HAVE_READLINK 1
/* Define to 1 if you have the `readlinkat' function. */
/* #undef HAVE_READLINKAT */
/* Define to 1 if you have the `readpassphrase' function. */
/* #undef HAVE_READPASSPHRASE */
/* Define to 1 if you have the <readpassphrase.h> header file. */
/* #undef HAVE_READPASSPHRASE_H */
/* Define to 1 if you have the <regex.h> header file. */
#define HAVE_REGEX_H 1
/* Define to 1 if you have the `select' function. */
#define HAVE_SELECT 1
/* Define to 1 if you have the `setenv' function. */
#define HAVE_SETENV 1
/* Define to 1 if you have the `setlocale' function. */
#define HAVE_SETLOCALE 1
/* Define to 1 if you have the `sigaction' function. */
#define HAVE_SIGACTION 1
/* Define to 1 if you have the <signal.h> header file. */
#define HAVE_SIGNAL_H 1
/* Define to 1 if you have the <spawn.h> header file. */
#define HAVE_SPAWN_H 1
/* Define to 1 if you have the `statfs' function. */
#define HAVE_STATFS 1
/* Define to 1 if you have the `statvfs' function. */
#define HAVE_STATVFS 1
/* Define to 1 if `stat' has the bug that it succeeds when given the
zero-length file name argument. */
/* #undef HAVE_STAT_EMPTY_STRING_BUG */
/* Define to 1 if you have the <stdarg.h> header file. */
#define HAVE_STDARG_H 1
/* Define to 1 if you have the <stdlib.h> header file. */
#define HAVE_STDLIB_H 1
/* Define to 1 if you have the `strchr' function. */
#define HAVE_STRCHR 1
/* Define to 1 if you have the `strnlen' function. */
#define HAVE_STRNLEN 1
/* Define to 1 if you have the `strdup' function. */
#define HAVE_STRDUP 1
/* Define to 1 if you have the `strerror' function. */
#define HAVE_STRERROR 1
/* Define to 1 if you have the `strerror_r' function. */
#define HAVE_STRERROR_R 1
/* Define to 1 if you have the `strftime' function. */
#define HAVE_STRFTIME 1
/* Define to 1 if you have the <strings.h> header file. */
#define HAVE_STRINGS_H 1
/* Define to 1 if you have the <string.h> header file. */
#define HAVE_STRING_H 1
/* Define to 1 if you have the `strrchr' function. */
#define HAVE_STRRCHR 1
/* Define to 1 if `f_namemax' is a member of `struct statfs'. */
/* #undef HAVE_STRUCT_STATFS_F_NAMEMAX */
/* Define to 1 if `f_iosize' is a member of `struct statvfs'. */
/* #undef HAVE_STRUCT_STATVFS_F_IOSIZE */
/* Define to 1 if `st_birthtime' is a member of `struct stat'. */
/* #undef HAVE_STRUCT_STAT_ST_BIRTHTIME */
/* Define to 1 if `st_birthtimespec.tv_nsec' is a member of `struct stat'. */
/* #undef HAVE_STRUCT_STAT_ST_BIRTHTIMESPEC_TV_NSEC */
/* Define to 1 if `st_blksize' is a member of `struct stat'. */
#define HAVE_STRUCT_STAT_ST_BLKSIZE 1
/* Define to 1 if `st_flags' is a member of `struct stat'. */
/* #undef HAVE_STRUCT_STAT_ST_FLAGS */
/* Define to 1 if `st_mtimespec.tv_nsec' is a member of `struct stat'. */
/* #undef HAVE_STRUCT_STAT_ST_MTIMESPEC_TV_NSEC */
/* Define to 1 if `st_mtime_n' is a member of `struct stat'. */
/* #undef HAVE_STRUCT_STAT_ST_MTIME_N */
/* Define to 1 if `st_mtime_usec' is a member of `struct stat'. */
/* #undef HAVE_STRUCT_STAT_ST_MTIME_USEC */
/* Define to 1 if `st_mtim.tv_nsec' is a member of `struct stat'. */
#define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1
/* Define to 1 if `st_umtime' is a member of `struct stat'. */
/* #undef HAVE_STRUCT_STAT_ST_UMTIME */
/* Define to 1 if `tm_gmtoff' is a member of `struct tm'. */
#define HAVE_STRUCT_TM_TM_GMTOFF 1
/* Define to 1 if `__tm_gmtoff' is a member of `struct tm'. */
/* #undef HAVE_STRUCT_TM___TM_GMTOFF */
/* Define to 1 if you have `struct vfsconf'. */
/* #undef HAVE_STRUCT_VFSCONF */
/* Define to 1 if you have `struct xvfsconf'. */
/* #undef HAVE_STRUCT_XVFSCONF */
/* Define to 1 if you have the `symlink' function. */
#define HAVE_SYMLINK 1
/* Define to 1 if you have the <sys/acl.h> header file. */
/* #undef HAVE_SYS_ACL_H */
/* Define to 1 if you have the <sys/cdefs.h> header file. */
#define HAVE_SYS_CDEFS_H 1
/* Define to 1 if you have the <sys/dir.h> header file, and it defines `DIR'.
*/
/* #undef HAVE_SYS_DIR_H */
/* Define to 1 if you have the <sys/ea.h> header file. */
/* #undef HAVE_SYS_EA_H */
/* Define to 1 if you have the <sys/extattr.h> header file. */
/* #undef HAVE_SYS_EXTATTR_H */
/* Define to 1 if you have the <sys/ioctl.h> header file. */
#define HAVE_SYS_IOCTL_H 1
/* Define to 1 if you have the <sys/mkdev.h> header file. */
/* #undef HAVE_SYS_MKDEV_H */
/* Define to 1 if you have the <sys/mount.h> header file. */
/* #undef HAVE_SYS_MOUNT_H */
/* Define to 1 if you have the <sys/ndir.h> header file, and it defines `DIR'.
*/
/* #undef HAVE_SYS_NDIR_H */
/* Define to 1 if you have the <sys/param.h> header file. */
#define HAVE_SYS_PARAM_H 1
/* Define to 1 if you have the <sys/poll.h> header file. */
#define HAVE_SYS_POLL_H 1
/* Define to 1 if you have the <sys/richacl.h> header file. */
/* #undef HAVE_SYS_RICHACL_H */
/* Define to 1 if you have the <sys/select.h> header file. */
#define HAVE_SYS_SELECT_H 1
/* Define to 1 if you have the <sys/statfs.h> header file. */
#define HAVE_SYS_STATFS_H 1
/* Define to 1 if you have the <sys/statvfs.h> header file. */
#define HAVE_SYS_STATVFS_H 1
/* Define to 1 if you have the <sys/stat.h> header file. */
#define HAVE_SYS_STAT_H 1
/* Define to 1 if you have the <sys/sysmacros.h> header file. */
#define HAVE_SYS_SYSMACROS_H 1
/* Define to 1 if you have the <sys/time.h> header file. */
#define HAVE_SYS_TIME_H 1
/* Define to 1 if you have the <sys/types.h> header file. */
#define HAVE_SYS_TYPES_H 1
/* Define to 1 if you have the <sys/utime.h> header file. */
/* #undef HAVE_SYS_UTIME_H */
/* Define to 1 if you have the <sys/utsname.h> header file. */
#define HAVE_SYS_UTSNAME_H 1
/* Define to 1 if you have the <sys/vfs.h> header file. */
#define HAVE_SYS_VFS_H 1
/* Define to 1 if you have <sys/wait.h> that is POSIX.1 compatible. */
#define HAVE_SYS_WAIT_H 1
/* Define to 1 if you have the <sys/xattr.h> header file. */
#define HAVE_SYS_XATTR_H 1
/* Define to 1 if you have the `timegm' function. */
#define HAVE_TIMEGM 1
/* Define to 1 if you have the <time.h> header file. */
#define HAVE_TIME_H 1
/* Define to 1 if you have the `tzset' function. */
#define HAVE_TZSET 1
/* Define to 1 if you have the <unistd.h> header file. */
#define HAVE_UNISTD_H 1
/* Define to 1 if you have the `unlinkat' function. */
#define HAVE_UNLINKAT 1
/* Define to 1 if you have the `unsetenv' function. */
#define HAVE_UNSETENV 1
/* Define to 1 if the system has the type `unsigned long long'. */
/* #undef HAVE_UNSIGNED_LONG_LONG */
/* Define to 1 if the system has the type `unsigned long long int'. */
/* #undef HAVE_UNSIGNED_LONG_LONG_INT */
/* Define to 1 if you have the `utime' function. */
#define HAVE_UTIME 1
/* Define to 1 if you have the `utimensat' function. */
#define HAVE_UTIMENSAT 1
/* Define to 1 if you have the `utimes' function. */
#define HAVE_UTIMES 1
/* Define to 1 if you have the <utime.h> header file. */
#define HAVE_UTIME_H 1
/* Define to 1 if you have the `vfork' function. */
#define HAVE_VFORK 1
/* Define to 1 if you have the `vprintf' function. */
#define HAVE_VPRINTF 1
/* Define to 1 if you have the <wchar.h> header file. */
#define HAVE_WCHAR_H 1
/* Define to 1 if the system has the type `wchar_t'. */
#define HAVE_WCHAR_T 1
/* Define to 1 if you have the `wcrtomb' function. */
#define HAVE_WCRTOMB 1
/* Define to 1 if you have the `wcscmp' function. */
#define HAVE_WCSCMP 1
/* Define to 1 if you have the `wcscpy' function. */
#define HAVE_WCSCPY 1
/* Define to 1 if you have the `wcslen' function. */
#define HAVE_WCSLEN 1
/* Define to 1 if you have the `wctomb' function. */
#define HAVE_WCTOMB 1
/* Define to 1 if you have the <wctype.h> header file. */
#define HAVE_WCTYPE_H 1
/* Define to 1 if you have the <wincrypt.h> header file. */
/* #undef HAVE_WINCRYPT_H */
/* Define to 1 if you have the <windows.h> header file. */
/* #undef HAVE_WINDOWS_H */
/* Define to 1 if you have the <winioctl.h> header file. */
/* #undef HAVE_WINIOCTL_H */
/* Define to 1 if you have _CrtSetReportMode in <crtdbg.h> */
/* #undef HAVE__CrtSetReportMode */
/* Define to 1 if you have the `wmemcmp' function. */
#define HAVE_WMEMCMP 1
/* Define to 1 if you have the `wmemcpy' function. */
#define HAVE_WMEMCPY 1
/* Define to 1 if you have the `wmemmove' function. */
#define HAVE_WMEMMOVE 1
/* Define to 1 if you have a working EXT2_IOC_GETFLAGS */
#define HAVE_WORKING_EXT2_IOC_GETFLAGS 1
/* Define to 1 if you have a working FS_IOC_GETFLAGS */
#define HAVE_WORKING_FS_IOC_GETFLAGS 1
/* Define to 1 if you have the <zlib.h> header file. */
#define HAVE_ZLIB_H 1
/* Define to 1 if you have the <zstd.h> header file. */
#define HAVE_ZSTD_H 1
/* Define to 1 if you have the `_ctime64_s' function. */
/* #undef HAVE__CTIME64_S */
/* Define to 1 if you have the `_fseeki64' function. */
/* #undef HAVE__FSEEKI64 */
/* Define to 1 if you have the `_get_timezone' function. */
/* #undef HAVE__GET_TIMEZONE */
/* Define to 1 if you have the `_gmtime64_s' function. */
/* #undef HAVE__GMTIME64_S */
/* Define to 1 if you have the `_localtime64_s' function. */
/* #undef HAVE__LOCALTIME64_S */
/* Define to 1 if you have the `_mkgmtime64' function. */
/* #undef HAVE__MKGMTIME64 */
/* Define as const if the declaration of iconv() needs const. */
#define ICONV_CONST
/* Version number of libarchive as a single integer */
#define LIBARCHIVE_VERSION_NUMBER "3006000"
/* Version number of libarchive */
#define LIBARCHIVE_VERSION_STRING "3.6.0"
/* Define to 1 if `lstat' dereferences a symlink specified with a trailing
slash. */
/* #undef LSTAT_FOLLOWS_SLASHED_SYMLINK */
/* Define to 1 if `major', `minor', and `makedev' are declared in <mkdev.h>.
*/
/* #undef MAJOR_IN_MKDEV */
/* Define to 1 if `major', `minor', and `makedev' are declared in
<sysmacros.h>. */
#define MAJOR_IN_SYSMACROS 1
/* Define to 1 if your C compiler doesn't accept -c and -o together. */
/* #undef NO_MINUS_C_MINUS_O */
/* The size of `wchar_t', as computed by sizeof. */
#define SIZEOF_WCHAR_T 4
/* Define to 1 if strerror_r returns char *. */
/* #undef STRERROR_R_CHAR_P */
/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
#define TIME_WITH_SYS_TIME 1
/*
* Some platform requires a macro to use extension functions.
*/
#define SAFE_TO_DEFINE_EXTENSIONS 1
#ifdef SAFE_TO_DEFINE_EXTENSIONS
/* Enable extensions on AIX 3, Interix. */
#ifndef _ALL_SOURCE
# define _ALL_SOURCE 1
#endif
/* Enable GNU extensions on systems that have them. */
#ifndef _GNU_SOURCE
# define _GNU_SOURCE 1
#endif
/* Enable threading extensions on Solaris. */
#ifndef _POSIX_PTHREAD_SEMANTICS
# define _POSIX_PTHREAD_SEMANTICS 1
#endif
/* Enable extensions on HP NonStop. */
#ifndef _TANDEM_SOURCE
# define _TANDEM_SOURCE 1
#endif
/* Enable general extensions on Solaris. */
#ifndef __EXTENSIONS__
# define __EXTENSIONS__ 1
#endif
#endif /* SAFE_TO_DEFINE_EXTENSIONS */
/* Version number of package */
#define VERSION "3.6.0"
/* Number of bits in a file offset, on hosts where this is settable. */
/* #undef _FILE_OFFSET_BITS */
/* Define to 1 to make fseeko visible on some hosts (e.g. glibc 2.2). */
/* #undef _LARGEFILE_SOURCE */
/* Define for large files, on AIX-style hosts. */
/* #undef _LARGE_FILES */
/* Define to control Windows SDK version */
#ifndef NTDDI_VERSION
/* #undef NTDDI_VERSION */
#endif // NTDDI_VERSION
#ifndef _WIN32_WINNT
/* #undef _WIN32_WINNT */
#endif // _WIN32_WINNT
#ifndef WINVER
/* #undef WINVER */
#endif // WINVER
/* Define to empty if `const' does not conform to ANSI C. */
/* #undef const */
/* Define to `int' if <sys/types.h> doesn't define. */
/* #undef gid_t */
/* Define to `unsigned long' if <sys/types.h> does not define. */
/* #undef id_t */
/* Define to `int' if <sys/types.h> does not define. */
/* #undef mode_t */
/* Define to `long long' if <sys/types.h> does not define. */
/* #undef off_t */
/* Define to `int' if <sys/types.h> doesn't define. */
/* #undef pid_t */
/* Define to `unsigned int' if <sys/types.h> does not define. */
/* #undef size_t */
/* Define to `int' if <sys/types.h> does not define. */
/* #undef ssize_t */
/* Define to `int' if <sys/types.h> doesn't define. */
/* #undef uid_t */
#include <cm3p/kwiml/int.h>
#ifndef KWIML_INT_HAVE_INT64_T
typedef KWIML_INT_int64_t int64_t;
#endif
#ifndef KWIML_INT_HAVE_INT32_T
typedef KWIML_INT_int32_t int32_t;
#endif
#ifndef KWIML_INT_HAVE_INT16_T
typedef KWIML_INT_int16_t int16_t;
#endif
#ifndef KWIML_INT_HAVE_INT8_T
typedef KWIML_INT_int8_t int8_t;
#endif
#ifndef KWIML_INT_HAVE_INTPTR_T
typedef KWIML_INT_intptr_t intptr_t;
#endif
#ifndef KWIML_INT_HAVE_UINT64_T
typedef KWIML_INT_uint64_t uint64_t;
#endif
#ifndef KWIML_INT_HAVE_UINT32_T
typedef KWIML_INT_uint32_t uint32_t;
#endif
#ifndef KWIML_INT_HAVE_UINT16_T
typedef KWIML_INT_uint16_t uint16_t;
#endif
#ifndef KWIML_INT_HAVE_UINT8_T
typedef KWIML_INT_uint8_t uint8_t;
#endif
#ifndef KWIML_INT_HAVE_UINTPTR_T
typedef KWIML_INT_uintptr_t uintptr_t;
#endif
/* Define to 1 if you have the <stdint.h> header file. */
#ifdef KWIML_INT_HAVE_STDINT_H
# define HAVE_STDINT_H 1
#endif
/* Define to 1 if you have the <inttypes.h> header file. */
#ifdef KWIML_INT_HAVE_INTTYPES_H
# define HAVE_INTTYPES_H 1
#endif
#define ARCHIVE_SHA256_COMPILE_TEST
#define ARCHIVE_CRYPTO_SHA256_LIBSYSTEM
#define PLATFORM_CONFIG_H "check_crypto_md.h"
/*-
* Copyright (c) 2003-2007 Tim Kientzle
* Copyright (c) 2011 Andres Mejia
* Copyright (c) 2011 Michihiro NAKAJIMA
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR(S) ``AS IS'' AND ANY EXPRESS OR
* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
* IN NO EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
#include "archive_platform.h"
#include "archive.h"
#include "archive_digest_private.h"
/* In particular, force the configure probe to break if it tries
* to test a combination of OpenSSL and libmd. */
#if defined(ARCHIVE_CRYPTO_OPENSSL) && defined(ARCHIVE_CRYPTO_LIBMD)
#error Cannot use both OpenSSL and libmd.
#endif
/*
* Message digest functions for Windows platform.
*/
#if defined(ARCHIVE_CRYPTO_MD5_WIN) ||\
defined(ARCHIVE_CRYPTO_SHA1_WIN) ||\
defined(ARCHIVE_CRYPTO_SHA256_WIN) ||\
defined(ARCHIVE_CRYPTO_SHA384_WIN) ||\
defined(ARCHIVE_CRYPTO_SHA512_WIN)
/*
* Initialize a Message digest.
*/
static int
win_crypto_init(Digest_CTX *ctx, ALG_ID algId)
{
ctx->valid = 0;
if (!CryptAcquireContext(&ctx->cryptProv, NULL, NULL,
PROV_RSA_FULL, CRYPT_VERIFYCONTEXT)) {
if (GetLastError() != (DWORD)NTE_BAD_KEYSET)
return (ARCHIVE_FAILED);
if (!CryptAcquireContext(&ctx->cryptProv, NULL, NULL,
PROV_RSA_FULL, CRYPT_NEWKEYSET))
return (ARCHIVE_FAILED);
}
if (!CryptCreateHash(ctx->cryptProv, algId, 0, 0, &ctx->hash)) {
CryptReleaseContext(ctx->cryptProv, 0);
return (ARCHIVE_FAILED);
}
ctx->valid = 1;
return (ARCHIVE_OK);
}
/*
* Update a Message digest.
*/
static int
win_crypto_Update(Digest_CTX *ctx, const unsigned char *buf, size_t len)
{
if (!ctx->valid)
return (ARCHIVE_FAILED);
CryptHashData(ctx->hash,
(unsigned char *)(uintptr_t)buf,
(DWORD)len, 0);
return (ARCHIVE_OK);
}
static int
win_crypto_Final(unsigned char *buf, size_t bufsize, Digest_CTX *ctx)
{
DWORD siglen = (DWORD)bufsize;
if (!ctx->valid)
return (ARCHIVE_FAILED);
CryptGetHashParam(ctx->hash, HP_HASHVAL, buf, &siglen, 0);
CryptDestroyHash(ctx->hash);
CryptReleaseContext(ctx->cryptProv, 0);
ctx->valid = 0;
return (ARCHIVE_OK);
}
#endif /* defined(ARCHIVE_CRYPTO_*_WIN) */
/* MD5 implementations */
#if defined(ARCHIVE_CRYPTO_MD5_LIBC)
static int
__archive_md5init(archive_md5_ctx *ctx)
{
MD5Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_md5update(archive_md5_ctx *ctx, const void *indata,
size_t insize)
{
MD5Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_md5final(archive_md5_ctx *ctx, void *md)
{
MD5Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_MD5_LIBMD)
static int
__archive_md5init(archive_md5_ctx *ctx)
{
MD5Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_md5update(archive_md5_ctx *ctx, const void *indata,
size_t insize)
{
MD5Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_md5final(archive_md5_ctx *ctx, void *md)
{
MD5Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_MD5_LIBSYSTEM)
static int
__archive_md5init(archive_md5_ctx *ctx)
{
CC_MD5_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_md5update(archive_md5_ctx *ctx, const void *indata,
size_t insize)
{
CC_MD5_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_md5final(archive_md5_ctx *ctx, void *md)
{
CC_MD5_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_MD5_MBEDTLS)
static int
__archive_md5init(archive_md5_ctx *ctx)
{
mbedtls_md5_init(ctx);
if (mbedtls_md5_starts_ret(ctx) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_md5update(archive_md5_ctx *ctx, const void *indata,
size_t insize)
{
if (mbedtls_md5_update_ret(ctx, indata, insize) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_md5final(archive_md5_ctx *ctx, void *md)
{
if (mbedtls_md5_finish_ret(ctx, md) == 0) {
mbedtls_md5_free(ctx);
return (ARCHIVE_OK);
} else {
mbedtls_md5_free(ctx);
return (ARCHIVE_FATAL);
}
}
#elif defined(ARCHIVE_CRYPTO_MD5_NETTLE)
static int
__archive_md5init(archive_md5_ctx *ctx)
{
md5_init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_md5update(archive_md5_ctx *ctx, const void *indata,
size_t insize)
{
md5_update(ctx, insize, indata);
return (ARCHIVE_OK);
}
static int
__archive_md5final(archive_md5_ctx *ctx, void *md)
{
md5_digest(ctx, MD5_DIGEST_SIZE, md);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_MD5_OPENSSL)
static int
__archive_md5init(archive_md5_ctx *ctx)
{
if ((*ctx = EVP_MD_CTX_new()) == NULL)
return (ARCHIVE_FAILED);
EVP_DigestInit(*ctx, EVP_md5());
return (ARCHIVE_OK);
}
static int
__archive_md5update(archive_md5_ctx *ctx, const void *indata,
size_t insize)
{
EVP_DigestUpdate(*ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_md5final(archive_md5_ctx *ctx, void *md)
{
/* HACK: archive_write_set_format_xar.c is finalizing empty contexts, so
* this is meant to cope with that. Real fix is probably to fix
* archive_write_set_format_xar.c
*/
if (*ctx) {
EVP_DigestFinal(*ctx, md, NULL);
EVP_MD_CTX_free(*ctx);
*ctx = NULL;
}
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_MD5_WIN)
static int
__archive_md5init(archive_md5_ctx *ctx)
{
return (win_crypto_init(ctx, CALG_MD5));
}
static int
__archive_md5update(archive_md5_ctx *ctx, const void *indata,
size_t insize)
{
return (win_crypto_Update(ctx, indata, insize));
}
static int
__archive_md5final(archive_md5_ctx *ctx, void *md)
{
return (win_crypto_Final(md, 16, ctx));
}
#else
static int
__archive_md5init(archive_md5_ctx *ctx)
{
(void)ctx; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_md5update(archive_md5_ctx *ctx, const void *indata,
size_t insize)
{
(void)ctx; /* UNUSED */
(void)indata; /* UNUSED */
(void)insize; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_md5final(archive_md5_ctx *ctx, void *md)
{
(void)ctx; /* UNUSED */
(void)md; /* UNUSED */
return (ARCHIVE_FAILED);
}
#endif
/* RIPEMD160 implementations */
#if defined(ARCHIVE_CRYPTO_RMD160_LIBC)
static int
__archive_ripemd160init(archive_rmd160_ctx *ctx)
{
RMD160Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata,
size_t insize)
{
RMD160Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_ripemd160final(archive_rmd160_ctx *ctx, void *md)
{
RMD160Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_RMD160_LIBMD)
static int
__archive_ripemd160init(archive_rmd160_ctx *ctx)
{
RIPEMD160_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata,
size_t insize)
{
RIPEMD160_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_ripemd160final(archive_rmd160_ctx *ctx, void *md)
{
RIPEMD160_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_RMD160_MBEDTLS)
static int
__archive_ripemd160init(archive_rmd160_ctx *ctx)
{
mbedtls_ripemd160_init(ctx);
if (mbedtls_ripemd160_starts_ret(ctx) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata,
size_t insize)
{
if (mbedtls_ripemd160_update_ret(ctx, indata, insize) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_ripemd160final(archive_rmd160_ctx *ctx, void *md)
{
if (mbedtls_ripemd160_finish_ret(ctx, md) == 0) {
mbedtls_ripemd160_free(ctx);
return (ARCHIVE_OK);
} else {
mbedtls_ripemd160_free(ctx);
return (ARCHIVE_FATAL);
}
}
#elif defined(ARCHIVE_CRYPTO_RMD160_NETTLE)
static int
__archive_ripemd160init(archive_rmd160_ctx *ctx)
{
ripemd160_init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata,
size_t insize)
{
ripemd160_update(ctx, insize, indata);
return (ARCHIVE_OK);
}
static int
__archive_ripemd160final(archive_rmd160_ctx *ctx, void *md)
{
ripemd160_digest(ctx, RIPEMD160_DIGEST_SIZE, md);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_RMD160_OPENSSL)
static int
__archive_ripemd160init(archive_rmd160_ctx *ctx)
{
if ((*ctx = EVP_MD_CTX_new()) == NULL)
return (ARCHIVE_FAILED);
EVP_DigestInit(*ctx, EVP_ripemd160());
return (ARCHIVE_OK);
}
static int
__archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata,
size_t insize)
{
EVP_DigestUpdate(*ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_ripemd160final(archive_rmd160_ctx *ctx, void *md)
{
if (*ctx) {
EVP_DigestFinal(*ctx, md, NULL);
EVP_MD_CTX_free(*ctx);
*ctx = NULL;
}
return (ARCHIVE_OK);
}
#else
static int
__archive_ripemd160init(archive_rmd160_ctx *ctx)
{
(void)ctx; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata,
size_t insize)
{
(void)ctx; /* UNUSED */
(void)indata; /* UNUSED */
(void)insize; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_ripemd160final(archive_rmd160_ctx *ctx, void *md)
{
(void)ctx; /* UNUSED */
(void)md; /* UNUSED */
return (ARCHIVE_FAILED);
}
#endif
/* SHA1 implementations */
#if defined(ARCHIVE_CRYPTO_SHA1_LIBC)
static int
__archive_sha1init(archive_sha1_ctx *ctx)
{
SHA1Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha1update(archive_sha1_ctx *ctx, const void *indata,
size_t insize)
{
SHA1Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha1final(archive_sha1_ctx *ctx, void *md)
{
SHA1Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA1_LIBMD)
static int
__archive_sha1init(archive_sha1_ctx *ctx)
{
SHA1_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha1update(archive_sha1_ctx *ctx, const void *indata,
size_t insize)
{
SHA1_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha1final(archive_sha1_ctx *ctx, void *md)
{
SHA1_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA1_LIBSYSTEM)
static int
__archive_sha1init(archive_sha1_ctx *ctx)
{
CC_SHA1_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha1update(archive_sha1_ctx *ctx, const void *indata,
size_t insize)
{
CC_SHA1_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha1final(archive_sha1_ctx *ctx, void *md)
{
CC_SHA1_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA1_MBEDTLS)
static int
__archive_sha1init(archive_sha1_ctx *ctx)
{
mbedtls_sha1_init(ctx);
if (mbedtls_sha1_starts_ret(ctx) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_sha1update(archive_sha1_ctx *ctx, const void *indata,
size_t insize)
{
if (mbedtls_sha1_update_ret(ctx, indata, insize) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_sha1final(archive_sha1_ctx *ctx, void *md)
{
if (mbedtls_sha1_finish_ret(ctx, md) == 0) {
mbedtls_sha1_free(ctx);
return (ARCHIVE_OK);
} else {
mbedtls_sha1_free(ctx);
return (ARCHIVE_FATAL);
}
}
#elif defined(ARCHIVE_CRYPTO_SHA1_NETTLE)
static int
__archive_sha1init(archive_sha1_ctx *ctx)
{
sha1_init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha1update(archive_sha1_ctx *ctx, const void *indata,
size_t insize)
{
sha1_update(ctx, insize, indata);
return (ARCHIVE_OK);
}
static int
__archive_sha1final(archive_sha1_ctx *ctx, void *md)
{
sha1_digest(ctx, SHA1_DIGEST_SIZE, md);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA1_OPENSSL)
static int
__archive_sha1init(archive_sha1_ctx *ctx)
{
if ((*ctx = EVP_MD_CTX_new()) == NULL)
return (ARCHIVE_FAILED);
EVP_DigestInit(*ctx, EVP_sha1());
return (ARCHIVE_OK);
}
static int
__archive_sha1update(archive_sha1_ctx *ctx, const void *indata,
size_t insize)
{
EVP_DigestUpdate(*ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha1final(archive_sha1_ctx *ctx, void *md)
{
/* HACK: archive_write_set_format_xar.c is finalizing empty contexts, so
* this is meant to cope with that. Real fix is probably to fix
* archive_write_set_format_xar.c
*/
if (*ctx) {
EVP_DigestFinal(*ctx, md, NULL);
EVP_MD_CTX_free(*ctx);
*ctx = NULL;
}
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA1_WIN)
static int
__archive_sha1init(archive_sha1_ctx *ctx)
{
return (win_crypto_init(ctx, CALG_SHA1));
}
static int
__archive_sha1update(archive_sha1_ctx *ctx, const void *indata,
size_t insize)
{
return (win_crypto_Update(ctx, indata, insize));
}
static int
__archive_sha1final(archive_sha1_ctx *ctx, void *md)
{
return (win_crypto_Final(md, 20, ctx));
}
#else
static int
__archive_sha1init(archive_sha1_ctx *ctx)
{
(void)ctx; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_sha1update(archive_sha1_ctx *ctx, const void *indata,
size_t insize)
{
(void)ctx; /* UNUSED */
(void)indata; /* UNUSED */
(void)insize; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_sha1final(archive_sha1_ctx *ctx, void *md)
{
(void)ctx; /* UNUSED */
(void)md; /* UNUSED */
return (ARCHIVE_FAILED);
}
#endif
/* SHA256 implementations */
#if defined(ARCHIVE_CRYPTO_SHA256_LIBC)
static int
__archive_sha256init(archive_sha256_ctx *ctx)
{
SHA256_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha256update(archive_sha256_ctx *ctx, const void *indata,
size_t insize)
{
SHA256_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha256final(archive_sha256_ctx *ctx, void *md)
{
SHA256_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA256_LIBC2)
static int
__archive_sha256init(archive_sha256_ctx *ctx)
{
SHA256Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha256update(archive_sha256_ctx *ctx, const void *indata,
size_t insize)
{
SHA256Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha256final(archive_sha256_ctx *ctx, void *md)
{
SHA256Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA256_LIBC3)
static int
__archive_sha256init(archive_sha256_ctx *ctx)
{
SHA256Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha256update(archive_sha256_ctx *ctx, const void *indata,
size_t insize)
{
SHA256Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha256final(archive_sha256_ctx *ctx, void *md)
{
SHA256Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA256_LIBMD)
static int
__archive_sha256init(archive_sha256_ctx *ctx)
{
SHA256_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha256update(archive_sha256_ctx *ctx, const void *indata,
size_t insize)
{
SHA256_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha256final(archive_sha256_ctx *ctx, void *md)
{
SHA256_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA256_LIBSYSTEM)
static int
__archive_sha256init(archive_sha256_ctx *ctx)
{
CC_SHA256_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha256update(archive_sha256_ctx *ctx, const void *indata,
size_t insize)
{
CC_SHA256_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha256final(archive_sha256_ctx *ctx, void *md)
{
CC_SHA256_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA256_MBEDTLS)
static int
__archive_sha256init(archive_sha256_ctx *ctx)
{
mbedtls_sha256_init(ctx);
if (mbedtls_sha256_starts_ret(ctx, 0) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_sha256update(archive_sha256_ctx *ctx, const void *indata,
size_t insize)
{
if (mbedtls_sha256_update_ret(ctx, indata, insize) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_sha256final(archive_sha256_ctx *ctx, void *md)
{
if (mbedtls_sha256_finish_ret(ctx, md) == 0) {
mbedtls_sha256_free(ctx);
return (ARCHIVE_OK);
} else {
mbedtls_sha256_free(ctx);
return (ARCHIVE_FATAL);
}
}
#elif defined(ARCHIVE_CRYPTO_SHA256_NETTLE)
static int
__archive_sha256init(archive_sha256_ctx *ctx)
{
sha256_init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha256update(archive_sha256_ctx *ctx, const void *indata,
size_t insize)
{
sha256_update(ctx, insize, indata);
return (ARCHIVE_OK);
}
static int
__archive_sha256final(archive_sha256_ctx *ctx, void *md)
{
sha256_digest(ctx, SHA256_DIGEST_SIZE, md);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA256_OPENSSL)
static int
__archive_sha256init(archive_sha256_ctx *ctx)
{
if ((*ctx = EVP_MD_CTX_new()) == NULL)
return (ARCHIVE_FAILED);
EVP_DigestInit(*ctx, EVP_sha256());
return (ARCHIVE_OK);
}
static int
__archive_sha256update(archive_sha256_ctx *ctx, const void *indata,
size_t insize)
{
EVP_DigestUpdate(*ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha256final(archive_sha256_ctx *ctx, void *md)
{
if (*ctx) {
EVP_DigestFinal(*ctx, md, NULL);
EVP_MD_CTX_free(*ctx);
*ctx = NULL;
}
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA256_WIN)
static int
__archive_sha256init(archive_sha256_ctx *ctx)
{
return (win_crypto_init(ctx, CALG_SHA_256));
}
static int
__archive_sha256update(archive_sha256_ctx *ctx, const void *indata,
size_t insize)
{
return (win_crypto_Update(ctx, indata, insize));
}
static int
__archive_sha256final(archive_sha256_ctx *ctx, void *md)
{
return (win_crypto_Final(md, 32, ctx));
}
#else
static int
__archive_sha256init(archive_sha256_ctx *ctx)
{
(void)ctx; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_sha256update(archive_sha256_ctx *ctx, const void *indata,
size_t insize)
{
(void)ctx; /* UNUSED */
(void)indata; /* UNUSED */
(void)insize; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_sha256final(archive_sha256_ctx *ctx, void *md)
{
(void)ctx; /* UNUSED */
(void)md; /* UNUSED */
return (ARCHIVE_FAILED);
}
#endif
/* SHA384 implementations */
#if defined(ARCHIVE_CRYPTO_SHA384_LIBC)
static int
__archive_sha384init(archive_sha384_ctx *ctx)
{
SHA384_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha384update(archive_sha384_ctx *ctx, const void *indata,
size_t insize)
{
SHA384_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha384final(archive_sha384_ctx *ctx, void *md)
{
SHA384_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA384_LIBC2)
static int
__archive_sha384init(archive_sha384_ctx *ctx)
{
SHA384Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha384update(archive_sha384_ctx *ctx, const void *indata,
size_t insize)
{
SHA384Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha384final(archive_sha384_ctx *ctx, void *md)
{
SHA384Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA384_LIBC3)
static int
__archive_sha384init(archive_sha384_ctx *ctx)
{
SHA384Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha384update(archive_sha384_ctx *ctx, const void *indata,
size_t insize)
{
SHA384Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha384final(archive_sha384_ctx *ctx, void *md)
{
SHA384Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA384_LIBSYSTEM)
static int
__archive_sha384init(archive_sha384_ctx *ctx)
{
CC_SHA384_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha384update(archive_sha384_ctx *ctx, const void *indata,
size_t insize)
{
CC_SHA384_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha384final(archive_sha384_ctx *ctx, void *md)
{
CC_SHA384_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA384_MBEDTLS)
static int
__archive_sha384init(archive_sha384_ctx *ctx)
{
mbedtls_sha512_init(ctx);
if (mbedtls_sha512_starts_ret(ctx, 1) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_sha384update(archive_sha384_ctx *ctx, const void *indata,
size_t insize)
{
if (mbedtls_sha512_update_ret(ctx, indata, insize) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_sha384final(archive_sha384_ctx *ctx, void *md)
{
if (mbedtls_sha512_finish_ret(ctx, md) == 0) {
mbedtls_sha512_free(ctx);
return (ARCHIVE_OK);
} else {
mbedtls_sha512_free(ctx);
return (ARCHIVE_FATAL);
}
}
#elif defined(ARCHIVE_CRYPTO_SHA384_NETTLE)
static int
__archive_sha384init(archive_sha384_ctx *ctx)
{
sha384_init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha384update(archive_sha384_ctx *ctx, const void *indata,
size_t insize)
{
sha384_update(ctx, insize, indata);
return (ARCHIVE_OK);
}
static int
__archive_sha384final(archive_sha384_ctx *ctx, void *md)
{
sha384_digest(ctx, SHA384_DIGEST_SIZE, md);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA384_OPENSSL)
static int
__archive_sha384init(archive_sha384_ctx *ctx)
{
if ((*ctx = EVP_MD_CTX_new()) == NULL)
return (ARCHIVE_FAILED);
EVP_DigestInit(*ctx, EVP_sha384());
return (ARCHIVE_OK);
}
static int
__archive_sha384update(archive_sha384_ctx *ctx, const void *indata,
size_t insize)
{
EVP_DigestUpdate(*ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha384final(archive_sha384_ctx *ctx, void *md)
{
if (*ctx) {
EVP_DigestFinal(*ctx, md, NULL);
EVP_MD_CTX_free(*ctx);
*ctx = NULL;
}
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA384_WIN)
static int
__archive_sha384init(archive_sha384_ctx *ctx)
{
return (win_crypto_init(ctx, CALG_SHA_384));
}
static int
__archive_sha384update(archive_sha384_ctx *ctx, const void *indata,
size_t insize)
{
return (win_crypto_Update(ctx, indata, insize));
}
static int
__archive_sha384final(archive_sha384_ctx *ctx, void *md)
{
return (win_crypto_Final(md, 48, ctx));
}
#else
static int
__archive_sha384init(archive_sha384_ctx *ctx)
{
(void)ctx; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_sha384update(archive_sha384_ctx *ctx, const void *indata,
size_t insize)
{
(void)ctx; /* UNUSED */
(void)indata; /* UNUSED */
(void)insize; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_sha384final(archive_sha384_ctx *ctx, void *md)
{
(void)ctx; /* UNUSED */
(void)md; /* UNUSED */
return (ARCHIVE_FAILED);
}
#endif
/* SHA512 implementations */
#if defined(ARCHIVE_CRYPTO_SHA512_LIBC)
static int
__archive_sha512init(archive_sha512_ctx *ctx)
{
SHA512_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha512update(archive_sha512_ctx *ctx, const void *indata,
size_t insize)
{
SHA512_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha512final(archive_sha512_ctx *ctx, void *md)
{
SHA512_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA512_LIBC2)
static int
__archive_sha512init(archive_sha512_ctx *ctx)
{
SHA512Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha512update(archive_sha512_ctx *ctx, const void *indata,
size_t insize)
{
SHA512Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha512final(archive_sha512_ctx *ctx, void *md)
{
SHA512Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA512_LIBC3)
static int
__archive_sha512init(archive_sha512_ctx *ctx)
{
SHA512Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha512update(archive_sha512_ctx *ctx, const void *indata,
size_t insize)
{
SHA512Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha512final(archive_sha512_ctx *ctx, void *md)
{
SHA512Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA512_LIBMD)
static int
__archive_sha512init(archive_sha512_ctx *ctx)
{
SHA512_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha512update(archive_sha512_ctx *ctx, const void *indata,
size_t insize)
{
SHA512_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha512final(archive_sha512_ctx *ctx, void *md)
{
SHA512_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA512_LIBSYSTEM)
static int
__archive_sha512init(archive_sha512_ctx *ctx)
{
CC_SHA512_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha512update(archive_sha512_ctx *ctx, const void *indata,
size_t insize)
{
CC_SHA512_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha512final(archive_sha512_ctx *ctx, void *md)
{
CC_SHA512_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA512_MBEDTLS)
static int
__archive_sha512init(archive_sha512_ctx *ctx)
{
mbedtls_sha512_init(ctx);
if (mbedtls_sha512_starts_ret(ctx, 0) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_sha512update(archive_sha512_ctx *ctx, const void *indata,
size_t insize)
{
if (mbedtls_sha512_update_ret(ctx, indata, insize) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_sha512final(archive_sha512_ctx *ctx, void *md)
{
if (mbedtls_sha512_finish_ret(ctx, md) == 0) {
mbedtls_sha512_free(ctx);
return (ARCHIVE_OK);
} else {
mbedtls_sha512_free(ctx);
return (ARCHIVE_FATAL);
}
}
#elif defined(ARCHIVE_CRYPTO_SHA512_NETTLE)
static int
__archive_sha512init(archive_sha512_ctx *ctx)
{
sha512_init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha512update(archive_sha512_ctx *ctx, const void *indata,
size_t insize)
{
sha512_update(ctx, insize, indata);
return (ARCHIVE_OK);
}
static int
__archive_sha512final(archive_sha512_ctx *ctx, void *md)
{
sha512_digest(ctx, SHA512_DIGEST_SIZE, md);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA512_OPENSSL)
static int
__archive_sha512init(archive_sha512_ctx *ctx)
{
if ((*ctx = EVP_MD_CTX_new()) == NULL)
return (ARCHIVE_FAILED);
EVP_DigestInit(*ctx, EVP_sha512());
return (ARCHIVE_OK);
}
static int
__archive_sha512update(archive_sha512_ctx *ctx, const void *indata,
size_t insize)
{
EVP_DigestUpdate(*ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha512final(archive_sha512_ctx *ctx, void *md)
{
if (*ctx) {
EVP_DigestFinal(*ctx, md, NULL);
EVP_MD_CTX_free(*ctx);
*ctx = NULL;
}
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA512_WIN)
static int
__archive_sha512init(archive_sha512_ctx *ctx)
{
return (win_crypto_init(ctx, CALG_SHA_512));
}
static int
__archive_sha512update(archive_sha512_ctx *ctx, const void *indata,
size_t insize)
{
return (win_crypto_Update(ctx, indata, insize));
}
static int
__archive_sha512final(archive_sha512_ctx *ctx, void *md)
{
return (win_crypto_Final(md, 64, ctx));
}
#else
static int
__archive_sha512init(archive_sha512_ctx *ctx)
{
(void)ctx; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_sha512update(archive_sha512_ctx *ctx, const void *indata,
size_t insize)
{
(void)ctx; /* UNUSED */
(void)indata; /* UNUSED */
(void)insize; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_sha512final(archive_sha512_ctx *ctx, void *md)
{
(void)ctx; /* UNUSED */
(void)md; /* UNUSED */
return (ARCHIVE_FAILED);
}
#endif
/* NOTE: Message Digest functions are set based on availability and by the
* following order of preference.
* 1. libc
* 2. libc2
* 3. libc3
* 4. libSystem
* 5. Nettle
* 6. OpenSSL
* 7. libmd
* 8. Windows API
*/
const struct archive_digest __archive_digest =
{
/* MD5 */
&__archive_md5init,
&__archive_md5update,
&__archive_md5final,
/* RIPEMD160 */
&__archive_ripemd160init,
&__archive_ripemd160update,
&__archive_ripemd160final,
/* SHA1 */
&__archive_sha1init,
&__archive_sha1update,
&__archive_sha1final,
/* SHA256 */
&__archive_sha256init,
&__archive_sha256update,
&__archive_sha256final,
/* SHA384 */
&__archive_sha384init,
&__archive_sha384update,
&__archive_sha384final,
/* SHA512 */
&__archive_sha512init,
&__archive_sha512update,
&__archive_sha512final
};
int
main(int argc, char **argv)
{
archive_sha256_ctx ctx;
archive_sha256_init(&ctx);
archive_sha256_update(&ctx, *argv, argc);
archive_sha256_final(&ctx, NULL);
return 0;
}
Checking support for ARCHIVE_CRYPTO_SHA384_LIBSYSTEM failed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeTmp
Run Build Command(s):/bin/gmake -f Makefile cmTC_00e01/fast && gmake -f CMakeFiles/cmTC_00e01.dir/build.make CMakeFiles/cmTC_00e01.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeTmp'
Building C object CMakeFiles/cmTC_00e01.dir/check_crypto_md.c.o
/bin/gcc -I/usr/src/cmake-3.25.0 -I/usr/src/cmake-3.25.0/Utilities/cmlibarchive/libarchive -I/usr/src/cmake-3.25.0/CMakeFiles/CMakeTmp -I/usr/src/cmake-3.25.0/Utilities -w -std=gnu99 -o CMakeFiles/cmTC_00e01.dir/check_crypto_md.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeTmp/check_crypto_md.c
In file included from /usr/src/cmake-3.25.0/CMakeFiles/CMakeTmp/check_crypto_md.c:1204:0:
/usr/src/cmake-3.25.0/Utilities/cmlibarchive/libarchive/archive_digest_private.h:115:39: fatal error: CommonCrypto/CommonDigest.h: No such file or directory
#include <CommonCrypto/CommonDigest.h>
^
compilation terminated.
gmake[1]: *** [CMakeFiles/cmTC_00e01.dir/check_crypto_md.c.o] Error 1
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeTmp'
gmake: *** [cmTC_00e01/fast] Error 2
Source file was:
/* config.h. Generated from build/cmake/config.h.in by cmake configure */
#define __LIBARCHIVE_CONFIG_H_INCLUDED 1
#if defined(__osf__)
# define _OSF_SOURCE
#endif
/*
* Ensure we have C99-style int64_t, etc, all defined.
*/
/* Define ZLIB_WINAPI if zlib was built on Visual Studio. */
/* #undef ZLIB_WINAPI */
/* Darwin ACL support */
/* #undef ARCHIVE_ACL_DARWIN */
/* FreeBSD ACL support */
/* #undef ARCHIVE_ACL_FREEBSD */
/* FreeBSD NFSv4 ACL support */
/* #undef ARCHIVE_ACL_FREEBSD_NFS4 */
/* Linux POSIX.1e ACL support via libacl */
/* #undef ARCHIVE_ACL_LIBACL */
/* Linux NFSv4 ACL support via librichacl */
/* #undef ARCHIVE_ACL_LIBRICHACL */
/* Solaris ACL support */
/* #undef ARCHIVE_ACL_SUNOS */
/* Solaris NFSv4 ACL support */
/* #undef ARCHIVE_ACL_SUNOS_NFS4 */
/* MD5 via ARCHIVE_CRYPTO_MD5_LIBC supported. */
/* #undef ARCHIVE_CRYPTO_MD5_LIBC */
/* MD5 via ARCHIVE_CRYPTO_MD5_LIBSYSTEM supported. */
/* #undef ARCHIVE_CRYPTO_MD5_LIBSYSTEM */
/* MD5 via ARCHIVE_CRYPTO_MD5_NETTLE supported. */
/* #undef ARCHIVE_CRYPTO_MD5_NETTLE */
/* MD5 via ARCHIVE_CRYPTO_MD5_OPENSSL supported. */
/* #undef ARCHIVE_CRYPTO_MD5_OPENSSL */
/* MD5 via ARCHIVE_CRYPTO_MD5_WIN supported. */
/* #undef ARCHIVE_CRYPTO_MD5_WIN */
/* RMD160 via ARCHIVE_CRYPTO_RMD160_LIBC supported. */
/* #undef ARCHIVE_CRYPTO_RMD160_LIBC */
/* RMD160 via ARCHIVE_CRYPTO_RMD160_NETTLE supported. */
/* #undef ARCHIVE_CRYPTO_RMD160_NETTLE */
/* RMD160 via ARCHIVE_CRYPTO_RMD160_OPENSSL supported. */
/* #undef ARCHIVE_CRYPTO_RMD160_OPENSSL */
/* SHA1 via ARCHIVE_CRYPTO_SHA1_LIBC supported. */
/* #undef ARCHIVE_CRYPTO_SHA1_LIBC */
/* SHA1 via ARCHIVE_CRYPTO_SHA1_LIBSYSTEM supported. */
/* #undef ARCHIVE_CRYPTO_SHA1_LIBSYSTEM */
/* SHA1 via ARCHIVE_CRYPTO_SHA1_NETTLE supported. */
/* #undef ARCHIVE_CRYPTO_SHA1_NETTLE */
/* SHA1 via ARCHIVE_CRYPTO_SHA1_OPENSSL supported. */
/* #undef ARCHIVE_CRYPTO_SHA1_OPENSSL */
/* SHA1 via ARCHIVE_CRYPTO_SHA1_WIN supported. */
/* #undef ARCHIVE_CRYPTO_SHA1_WIN */
/* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBC supported. */
/* #undef ARCHIVE_CRYPTO_SHA256_LIBC */
/* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBC2 supported. */
/* #undef ARCHIVE_CRYPTO_SHA256_LIBC2 */
/* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBC3 supported. */
/* #undef ARCHIVE_CRYPTO_SHA256_LIBC3 */
/* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBSYSTEM supported. */
/* #undef ARCHIVE_CRYPTO_SHA256_LIBSYSTEM */
/* SHA256 via ARCHIVE_CRYPTO_SHA256_NETTLE supported. */
/* #undef ARCHIVE_CRYPTO_SHA256_NETTLE */
/* SHA256 via ARCHIVE_CRYPTO_SHA256_OPENSSL supported. */
/* #undef ARCHIVE_CRYPTO_SHA256_OPENSSL */
/* SHA256 via ARCHIVE_CRYPTO_SHA256_WIN supported. */
/* #undef ARCHIVE_CRYPTO_SHA256_WIN */
/* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBC supported. */
/* #undef ARCHIVE_CRYPTO_SHA384_LIBC */
/* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBC2 supported. */
/* #undef ARCHIVE_CRYPTO_SHA384_LIBC2 */
/* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBC3 supported. */
/* #undef ARCHIVE_CRYPTO_SHA384_LIBC3 */
/* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBSYSTEM supported. */
/* #undef ARCHIVE_CRYPTO_SHA384_LIBSYSTEM */
/* SHA384 via ARCHIVE_CRYPTO_SHA384_NETTLE supported. */
/* #undef ARCHIVE_CRYPTO_SHA384_NETTLE */
/* SHA384 via ARCHIVE_CRYPTO_SHA384_OPENSSL supported. */
/* #undef ARCHIVE_CRYPTO_SHA384_OPENSSL */
/* SHA384 via ARCHIVE_CRYPTO_SHA384_WIN supported. */
/* #undef ARCHIVE_CRYPTO_SHA384_WIN */
/* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBC supported. */
/* #undef ARCHIVE_CRYPTO_SHA512_LIBC */
/* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBC2 supported. */
/* #undef ARCHIVE_CRYPTO_SHA512_LIBC2 */
/* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBC3 supported. */
/* #undef ARCHIVE_CRYPTO_SHA512_LIBC3 */
/* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBSYSTEM supported. */
/* #undef ARCHIVE_CRYPTO_SHA512_LIBSYSTEM */
/* SHA512 via ARCHIVE_CRYPTO_SHA512_NETTLE supported. */
/* #undef ARCHIVE_CRYPTO_SHA512_NETTLE */
/* SHA512 via ARCHIVE_CRYPTO_SHA512_OPENSSL supported. */
/* #undef ARCHIVE_CRYPTO_SHA512_OPENSSL */
/* SHA512 via ARCHIVE_CRYPTO_SHA512_WIN supported. */
/* #undef ARCHIVE_CRYPTO_SHA512_WIN */
/* AIX xattr support */
/* #undef ARCHIVE_XATTR_AIX */
/* Darwin xattr support */
/* #undef ARCHIVE_XATTR_DARWIN */
/* FreeBSD xattr support */
/* #undef ARCHIVE_XATTR_FREEBSD */
/* Linux xattr support */
/* #undef ARCHIVE_XATTR_LINUX */
/* Version number of bsdcpio */
#define BSDCPIO_VERSION_STRING "3.6.0"
/* Version number of bsdtar */
#define BSDTAR_VERSION_STRING "3.6.0"
/* Version number of bsdcat */
#define BSDCAT_VERSION_STRING "3.6.0"
/* Define to 1 if you have the `acl_create_entry' function. */
/* #undef HAVE_ACL_CREATE_ENTRY */
/* Define to 1 if you have the `acl_get_fd_np' function. */
/* #undef HAVE_ACL_GET_FD_NP */
/* Define to 1 if you have the `acl_get_link' function. */
/* #undef HAVE_ACL_GET_LINK */
/* Define to 1 if you have the `acl_get_link_np' function. */
/* #undef HAVE_ACL_GET_LINK_NP */
/* Define to 1 if you have the `acl_get_perm' function. */
/* #undef HAVE_ACL_GET_PERM */
/* Define to 1 if you have the `acl_get_perm_np' function. */
/* #undef HAVE_ACL_GET_PERM_NP */
/* Define to 1 if you have the `acl_init' function. */
/* #undef HAVE_ACL_INIT */
/* Define to 1 if you have the <acl/libacl.h> header file. */
/* #undef HAVE_ACL_LIBACL_H */
/* Define to 1 if the system has the type `acl_permset_t'. */
/* #undef HAVE_ACL_PERMSET_T */
/* Define to 1 if you have the `acl_set_fd' function. */
/* #undef HAVE_ACL_SET_FD */
/* Define to 1 if you have the `acl_set_fd_np' function. */
/* #undef HAVE_ACL_SET_FD_NP */
/* Define to 1 if you have the `acl_set_file' function. */
/* #undef HAVE_ACL_SET_FILE */
/* Define to 1 if you have the `arc4random_buf' function. */
/* #undef HAVE_ARC4RANDOM_BUF */
/* Define to 1 if you have the <attr/xattr.h> header file. */
/* #undef HAVE_ATTR_XATTR_H */
/* Define to 1 if you have the <Bcrypt.h> header file. */
/* #undef HAVE_BCRYPT_H */
/* Define to 1 if you have the <bsdxml.h> header file. */
/* #undef HAVE_BSDXML_H */
/* Define to 1 if you have the <bzlib.h> header file. */
#define HAVE_BZLIB_H 1
/* Define to 1 if you have the `chflags' function. */
/* #undef HAVE_CHFLAGS */
/* Define to 1 if you have the `chown' function. */
#define HAVE_CHOWN 1
/* Define to 1 if you have the `chroot' function. */
#define HAVE_CHROOT 1
/* Define to 1 if you have the <copyfile.h> header file. */
/* #undef HAVE_COPYFILE_H */
/* Define to 1 if you have the `ctime_r' function. */
#define HAVE_CTIME_R 1
/* Define to 1 if you have the <ctype.h> header file. */
#define HAVE_CTYPE_H 1
/* Define to 1 if you have the `cygwin_conv_path' function. */
/* #undef HAVE_CYGWIN_CONV_PATH */
/* Define to 1 if you have the declaration of `ACE_GETACL', and to 0 if you
don't. */
/* #undef HAVE_DECL_ACE_GETACL */
/* Define to 1 if you have the declaration of `ACE_GETACLCNT', and to 0 if you
don't. */
/* #undef HAVE_DECL_ACE_GETACLCNT */
/* Define to 1 if you have the declaration of `ACE_SETACL', and to 0 if you
don't. */
/* #undef HAVE_DECL_ACE_SETACL */
/* Define to 1 if you have the declaration of `ACL_SYNCHRONIZE', and to 0 if
you don't. */
/* #undef HAVE_DECL_ACL_SYNCHRONIZE */
/* Define to 1 if you have the declaration of `ACL_TYPE_EXTENDED', and to 0 if
you don't. */
/* #undef HAVE_DECL_ACL_TYPE_EXTENDED */
/* Define to 1 if you have the declaration of `ACL_TYPE_NFS4', and to 0 if you
don't. */
/* #undef HAVE_DECL_ACL_TYPE_NFS4 */
/* Define to 1 if you have the declaration of `ACL_USER', and to 0 if you
don't. */
/* #undef HAVE_DECL_ACL_USER */
/* Define to 1 if you have the declaration of `SETACL', and to 0 if you don't.
*/
/* #undef HAVE_DECL_SETACL */
/* Define to 1 if you have the declaration of `strerror_r', and to 0 if you
don't. */
#define HAVE_DECL_STRERROR_R 1
/* Define to 1 if you have the declaration of `XATTR_NOFOLLOW', and to 0 if
you don't. */
/* #undef HAVE_DECL_XATTR_NOFOLLOW */
/* Define to 1 if you have the <direct.h> header file. */
/* #undef HAVE_DIRECT_H */
/* Define to 1 if you have the <dirent.h> header file, and it defines `DIR'.
*/
#define HAVE_DIRENT_H 1
/* Define to 1 if you have the `dirfd' function. */
#define HAVE_DIRFD 1
/* Define to 1 if you have the <dlfcn.h> header file. */
#define HAVE_DLFCN_H 1
/* Define to 1 if you don't have `vprintf' but do have `_doprnt.' */
/* #undef HAVE_DOPRNT */
/* Define to 1 if nl_langinfo supports D_MD_ORDER */
/* #undef HAVE_D_MD_ORDER */
/* A possible errno value for invalid file format errors */
/* #undef HAVE_EFTYPE */
/* A possible errno value for invalid file format errors */
#define HAVE_EILSEQ 1
/* Define to 1 if you have the <errno.h> header file. */
#define HAVE_ERRNO_H 1
/* Define to 1 if you have the <expat.h> header file. */
/* #undef HAVE_EXPAT_H */
/* Define to 1 if you have the <ext2fs/ext2_fs.h> header file. */
#define HAVE_EXT2FS_EXT2_FS_H 1
/* Define to 1 if you have the `extattr_get_file' function. */
/* #undef HAVE_EXTATTR_GET_FILE */
/* Define to 1 if you have the `extattr_list_file' function. */
/* #undef HAVE_EXTATTR_LIST_FILE */
/* Define to 1 if you have the `extattr_set_fd' function. */
/* #undef HAVE_EXTATTR_SET_FD */
/* Define to 1 if you have the `extattr_set_file' function. */
/* #undef HAVE_EXTATTR_SET_FILE */
/* Define to 1 if EXTATTR_NAMESPACE_USER is defined in sys/extattr.h. */
/* #undef HAVE_DECL_EXTATTR_NAMESPACE_USER */
/* Define to 1 if you have the declaration of `GETACL', and to 0 if you don't.
*/
/* #undef HAVE_DECL_GETACL */
/* Define to 1 if you have the declaration of `GETACLCNT', and to 0 if you
don't. */
/* #undef HAVE_DECL_GETACLCNT */
/* Define to 1 if you have the `fchdir' function. */
#define HAVE_FCHDIR 1
/* Define to 1 if you have the `fchflags' function. */
/* #undef HAVE_FCHFLAGS */
/* Define to 1 if you have the `fchmod' function. */
#define HAVE_FCHMOD 1
/* Define to 1 if you have the `fchown' function. */
#define HAVE_FCHOWN 1
/* Define to 1 if you have the `fcntl' function. */
#define HAVE_FCNTL 1
/* Define to 1 if you have the <fcntl.h> header file. */
#define HAVE_FCNTL_H 1
/* Define to 1 if you have the `fdopendir' function. */
#define HAVE_FDOPENDIR 1
/* Define to 1 if you have the `fgetea' function. */
/* #undef HAVE_FGETEA */
/* Define to 1 if you have the `fgetxattr' function. */
/* #undef HAVE_FGETXATTR */
/* Define to 1 if you have the `flistea' function. */
/* #undef HAVE_FLISTEA */
/* Define to 1 if you have the `flistxattr' function. */
/* #undef HAVE_FLISTXATTR */
/* Define to 1 if you have the `fork' function. */
#define HAVE_FORK 1
/* Define to 1 if fseeko (and presumably ftello) exists and is declared. */
#define HAVE_FSEEKO 1
/* Define to 1 if you have the `fsetea' function. */
/* #undef HAVE_FSETEA */
/* Define to 1 if you have the `fsetxattr' function. */
#define HAVE_FSETXATTR 1
/* Define to 1 if you have the `fstat' function. */
#define HAVE_FSTAT 1
/* Define to 1 if you have the `fstatat' function. */
#define HAVE_FSTATAT 1
/* Define to 1 if you have the `fstatfs' function. */
#define HAVE_FSTATFS 1
/* Define to 1 if you have the `fstatvfs' function. */
#define HAVE_FSTATVFS 1
/* Define to 1 if you have the `ftruncate' function. */
#define HAVE_FTRUNCATE 1
/* Define to 1 if you have the `futimens' function. */
#define HAVE_FUTIMENS 1
/* Define to 1 if you have the `futimes' function. */
#define HAVE_FUTIMES 1
/* Define to 1 if you have the `futimesat' function. */
#define HAVE_FUTIMESAT 1
/* Define to 1 if you have the `getea' function. */
/* #undef HAVE_GETEA */
/* Define to 1 if you have the `geteuid' function. */
#define HAVE_GETEUID 1
/* Define to 1 if you have the `getgrgid_r' function. */
#define HAVE_GETGRGID_R 1
/* Define to 1 if you have the `getgrnam_r' function. */
#define HAVE_GETGRNAM_R 1
/* Define to 1 if you have the `getpid' function. */
#define HAVE_GETPID 1
/* Define to 1 if you have the `getpwnam_r' function. */
#define HAVE_GETPWNAM_R 1
/* Define to 1 if you have the `getpwuid_r' function. */
#define HAVE_GETPWUID_R 1
/* Define to 1 if you have the `getvfsbyname' function. */
/* #undef HAVE_GETVFSBYNAME */
/* Define to 1 if you have the `getxattr' function. */
/* #undef HAVE_GETXATTR */
/* Define to 1 if you have the `gmtime_r' function. */
#define HAVE_GMTIME_R 1
/* Define to 1 if you have the <grp.h> header file. */
#define HAVE_GRP_H 1
/* Define to 1 if you have the `iconv' function. */
/* #undef HAVE_ICONV */
/* Define to 1 if you have the <iconv.h> header file. */
/* #undef HAVE_ICONV_H */
/* Define to 1 if you have the <io.h> header file. */
/* #undef HAVE_IO_H */
/* Define to 1 if you have the <langinfo.h> header file. */
#define HAVE_LANGINFO_H 1
/* Define to 1 if you have the `lchflags' function. */
/* #undef HAVE_LCHFLAGS */
/* Define to 1 if you have the `lchmod' function. */
/* #undef HAVE_LCHMOD */
/* Define to 1 if you have the `lchown' function. */
#define HAVE_LCHOWN 1
/* Define to 1 if you have the `lgetea' function. */
/* #undef HAVE_LGETEA */
/* Define to 1 if you have the `lgetxattr' function. */
/* #undef HAVE_LGETXATTR */
/* Define to 1 if you have the `acl' library (-lacl). */
/* #undef HAVE_LIBACL */
/* Define to 1 if you have the `attr' library (-lattr). */
/* #undef HAVE_LIBATTR */
/* Define to 1 if you have the `bsdxml' library (-lbsdxml). */
/* #undef HAVE_LIBBSDXML */
/* Define to 1 if you have the `bz2' library (-lbz2). */
#define HAVE_LIBBZ2 1
/* Define to 1 if you have the `b2' library (-lb2). */
/* #undef HAVE_LIBB2 */
/* Define to 1 if you have the <blake2.h> header file. */
/* #undef HAVE_BLAKE2_H */
/* Define to 1 if you have the `charset' library (-lcharset). */
/* #undef HAVE_LIBCHARSET */
/* Define to 1 if you have the `crypto' library (-lcrypto). */
#define HAVE_LIBCRYPTO 1
/* Define to 1 if you have the `expat' library (-lexpat). */
/* #undef HAVE_LIBEXPAT */
/* Define to 1 if you have the `gcc' library (-lgcc). */
/* #undef HAVE_LIBGCC */
/* Define to 1 if you have the `lz4' library (-llz4). */
/* #undef HAVE_LIBLZ4 */
/* Define to 1 if you have the `lzma' library (-llzma). */
#define HAVE_LIBLZMA 1
/* Define to 1 if you have the `lzmadec' library (-llzmadec). */
/* #undef HAVE_LIBLZMADEC */
/* Define to 1 if you have the `lzo2' library (-llzo2). */
/* #undef HAVE_LIBLZO2 */
/* Define to 1 if you have the `mbedcrypto' library (-lmbedcrypto). */
/* #undef HAVE_LIBMBEDCRYPTO */
/* Define to 1 if you have the `nettle' library (-lnettle). */
/* #undef HAVE_LIBNETTLE */
/* Define to 1 if you have the `pcre' library (-lpcre). */
/* #undef HAVE_LIBPCRE */
/* Define to 1 if you have the `pcreposix' library (-lpcreposix). */
/* #undef HAVE_LIBPCREPOSIX */
/* Define to 1 if you have the `xml2' library (-lxml2). */
/* #undef HAVE_LIBXML2 */
/* Define to 1 if you have the <libxml/xmlreader.h> header file. */
/* #undef HAVE_LIBXML_XMLREADER_H */
/* Define to 1 if you have the <libxml/xmlwriter.h> header file. */
/* #undef HAVE_LIBXML_XMLWRITER_H */
/* Define to 1 if you have the `z' library (-lz). */
#define HAVE_LIBZ 1
/* Define to 1 if you have the `zstd' library (-lzstd). */
#define HAVE_LIBZSTD 1
/* Define to 1 if you have the `zstd' library (-lzstd) with compression
support. */
#define HAVE_LIBZSTD_COMPRESSOR 1
/* Define to 1 if you have the <limits.h> header file. */
#define HAVE_LIMITS_H 1
/* Define to 1 if you have the `link' function. */
#define HAVE_LINK 1
/* Define to 1 if you have the `linkat' function. */
#define HAVE_LINKAT 1
/* Define to 1 if you have the <linux/fiemap.h> header file. */
#define HAVE_LINUX_FIEMAP_H 1
/* Define to 1 if you have the <linux/fs.h> header file. */
#define HAVE_LINUX_FS_H 1
/* Define to 1 if you have the <linux/magic.h> header file. */
#define HAVE_LINUX_MAGIC_H 1
/* Define to 1 if you have the <linux/types.h> header file. */
#define HAVE_LINUX_TYPES_H 1
/* Define to 1 if you have the `listea' function. */
/* #undef HAVE_LISTEA */
/* Define to 1 if you have the `listxattr' function. */
/* #undef HAVE_LISTXATTR */
/* Define to 1 if you have the `llistea' function. */
/* #undef HAVE_LLISTEA */
/* Define to 1 if you have the `llistxattr' function. */
/* #undef HAVE_LLISTXATTR */
/* Define to 1 if you have the <localcharset.h> header file. */
/* #undef HAVE_LOCALCHARSET_H */
/* Define to 1 if you have the `locale_charset' function. */
/* #undef HAVE_LOCALE_CHARSET */
/* Define to 1 if you have the <locale.h> header file. */
#define HAVE_LOCALE_H 1
/* Define to 1 if you have the `localtime_r' function. */
#define HAVE_LOCALTIME_R 1
/* Define to 1 if the system has the type `long long int'. */
/* #undef HAVE_LONG_LONG_INT */
/* Define to 1 if you have the `lsetea' function. */
/* #undef HAVE_LSETEA */
/* Define to 1 if you have the `lsetxattr' function. */
/* #undef HAVE_LSETXATTR */
/* Define to 1 if you have the `lstat' function. */
#define HAVE_LSTAT 1
/* Define to 1 if `lstat' has the bug that it succeeds when given the
zero-length file name argument. */
/* #undef HAVE_LSTAT_EMPTY_STRING_BUG */
/* Define to 1 if you have the `lutimes' function. */
#define HAVE_LUTIMES 1
/* Define to 1 if you have the <lz4hc.h> header file. */
/* #undef HAVE_LZ4HC_H */
/* Define to 1 if you have the <lz4.h> header file. */
/* #undef HAVE_LZ4_H */
/* Define to 1 if you have the <lzmadec.h> header file. */
/* #undef HAVE_LZMADEC_H */
/* Define to 1 if you have the <lzma.h> header file. */
#define HAVE_LZMA_H 1
/* Define to 1 if you have a working `lzma_stream_encoder_mt' function. */
#define HAVE_LZMA_STREAM_ENCODER_MT 1
/* Define to 1 if you have the <lzo/lzo1x.h> header file. */
/* #undef HAVE_LZO_LZO1X_H */
/* Define to 1 if you have the <lzo/lzoconf.h> header file. */
/* #undef HAVE_LZO_LZOCONF_H */
/* Define to 1 if you have the `mbrtowc' function. */
#define HAVE_MBRTOWC 1
/* Define to 1 if you have the <membership.h> header file. */
/* #undef HAVE_MEMBERSHIP_H */
/* Define to 1 if you have the `memmove' function. */
#define HAVE_MEMMOVE 1
/* Define to 1 if you have the <memory.h> header file. */
#define HAVE_MEMORY_H 1
/* Define to 1 if you have the `mkdir' function. */
#define HAVE_MKDIR 1
/* Define to 1 if you have the `mkfifo' function. */
#define HAVE_MKFIFO 1
/* Define to 1 if you have the `mknod' function. */
#define HAVE_MKNOD 1
/* Define to 1 if you have the `mkstemp' function. */
#define HAVE_MKSTEMP 1
/* Define to 1 if you have the <ndir.h> header file, and it defines `DIR'. */
/* #undef HAVE_NDIR_H */
/* Define to 1 if you have the <nettle/aes.h> header file. */
/* #undef HAVE_NETTLE_AES_H */
/* Define to 1 if you have the <nettle/hmac.h> header file. */
/* #undef HAVE_NETTLE_HMAC_H */
/* Define to 1 if you have the <nettle/md5.h> header file. */
/* #undef HAVE_NETTLE_MD5_H */
/* Define to 1 if you have the <nettle/pbkdf2.h> header file. */
/* #undef HAVE_NETTLE_PBKDF2_H */
/* Define to 1 if you have the <nettle/ripemd160.h> header file. */
/* #undef HAVE_NETTLE_RIPEMD160_H */
/* Define to 1 if you have the <nettle/sha.h> header file. */
/* #undef HAVE_NETTLE_SHA_H */
/* Define to 1 if you have the `nl_langinfo' function. */
#define HAVE_NL_LANGINFO 1
/* Define to 1 if you have the `openat' function. */
#define HAVE_OPENAT 1
/* Define to 1 if you have the <paths.h> header file. */
#define HAVE_PATHS_H 1
/* Define to 1 if you have the <pcreposix.h> header file. */
/* #undef HAVE_PCREPOSIX_H */
/* Define to 1 if you have the `pipe' function. */
#define HAVE_PIPE 1
/* Define to 1 if you have the `PKCS5_PBKDF2_HMAC_SHA1' function. */
/* #undef HAVE_PKCS5_PBKDF2_HMAC_SHA1 */
/* Define to 1 if you have the `poll' function. */
#define HAVE_POLL 1
/* Define to 1 if you have the <poll.h> header file. */
#define HAVE_POLL_H 1
/* Define to 1 if you have the `posix_spawnp' function. */
#define HAVE_POSIX_SPAWNP 1
/* Define to 1 if you have the <process.h> header file. */
/* #undef HAVE_PROCESS_H */
/* Define to 1 if you have the <pthread.h> header file. */
#define HAVE_PTHREAD_H 1
/* Define to 1 if you have the <pwd.h> header file. */
#define HAVE_PWD_H 1
/* Define to 1 if you have the `readdir_r' function. */
#define HAVE_READDIR_R 1
/* Define to 1 if you have the `readlink' function. */
#define HAVE_READLINK 1
/* Define to 1 if you have the `readlinkat' function. */
/* #undef HAVE_READLINKAT */
/* Define to 1 if you have the `readpassphrase' function. */
/* #undef HAVE_READPASSPHRASE */
/* Define to 1 if you have the <readpassphrase.h> header file. */
/* #undef HAVE_READPASSPHRASE_H */
/* Define to 1 if you have the <regex.h> header file. */
#define HAVE_REGEX_H 1
/* Define to 1 if you have the `select' function. */
#define HAVE_SELECT 1
/* Define to 1 if you have the `setenv' function. */
#define HAVE_SETENV 1
/* Define to 1 if you have the `setlocale' function. */
#define HAVE_SETLOCALE 1
/* Define to 1 if you have the `sigaction' function. */
#define HAVE_SIGACTION 1
/* Define to 1 if you have the <signal.h> header file. */
#define HAVE_SIGNAL_H 1
/* Define to 1 if you have the <spawn.h> header file. */
#define HAVE_SPAWN_H 1
/* Define to 1 if you have the `statfs' function. */
#define HAVE_STATFS 1
/* Define to 1 if you have the `statvfs' function. */
#define HAVE_STATVFS 1
/* Define to 1 if `stat' has the bug that it succeeds when given the
zero-length file name argument. */
/* #undef HAVE_STAT_EMPTY_STRING_BUG */
/* Define to 1 if you have the <stdarg.h> header file. */
#define HAVE_STDARG_H 1
/* Define to 1 if you have the <stdlib.h> header file. */
#define HAVE_STDLIB_H 1
/* Define to 1 if you have the `strchr' function. */
#define HAVE_STRCHR 1
/* Define to 1 if you have the `strnlen' function. */
#define HAVE_STRNLEN 1
/* Define to 1 if you have the `strdup' function. */
#define HAVE_STRDUP 1
/* Define to 1 if you have the `strerror' function. */
#define HAVE_STRERROR 1
/* Define to 1 if you have the `strerror_r' function. */
#define HAVE_STRERROR_R 1
/* Define to 1 if you have the `strftime' function. */
#define HAVE_STRFTIME 1
/* Define to 1 if you have the <strings.h> header file. */
#define HAVE_STRINGS_H 1
/* Define to 1 if you have the <string.h> header file. */
#define HAVE_STRING_H 1
/* Define to 1 if you have the `strrchr' function. */
#define HAVE_STRRCHR 1
/* Define to 1 if `f_namemax' is a member of `struct statfs'. */
/* #undef HAVE_STRUCT_STATFS_F_NAMEMAX */
/* Define to 1 if `f_iosize' is a member of `struct statvfs'. */
/* #undef HAVE_STRUCT_STATVFS_F_IOSIZE */
/* Define to 1 if `st_birthtime' is a member of `struct stat'. */
/* #undef HAVE_STRUCT_STAT_ST_BIRTHTIME */
/* Define to 1 if `st_birthtimespec.tv_nsec' is a member of `struct stat'. */
/* #undef HAVE_STRUCT_STAT_ST_BIRTHTIMESPEC_TV_NSEC */
/* Define to 1 if `st_blksize' is a member of `struct stat'. */
#define HAVE_STRUCT_STAT_ST_BLKSIZE 1
/* Define to 1 if `st_flags' is a member of `struct stat'. */
/* #undef HAVE_STRUCT_STAT_ST_FLAGS */
/* Define to 1 if `st_mtimespec.tv_nsec' is a member of `struct stat'. */
/* #undef HAVE_STRUCT_STAT_ST_MTIMESPEC_TV_NSEC */
/* Define to 1 if `st_mtime_n' is a member of `struct stat'. */
/* #undef HAVE_STRUCT_STAT_ST_MTIME_N */
/* Define to 1 if `st_mtime_usec' is a member of `struct stat'. */
/* #undef HAVE_STRUCT_STAT_ST_MTIME_USEC */
/* Define to 1 if `st_mtim.tv_nsec' is a member of `struct stat'. */
#define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1
/* Define to 1 if `st_umtime' is a member of `struct stat'. */
/* #undef HAVE_STRUCT_STAT_ST_UMTIME */
/* Define to 1 if `tm_gmtoff' is a member of `struct tm'. */
#define HAVE_STRUCT_TM_TM_GMTOFF 1
/* Define to 1 if `__tm_gmtoff' is a member of `struct tm'. */
/* #undef HAVE_STRUCT_TM___TM_GMTOFF */
/* Define to 1 if you have `struct vfsconf'. */
/* #undef HAVE_STRUCT_VFSCONF */
/* Define to 1 if you have `struct xvfsconf'. */
/* #undef HAVE_STRUCT_XVFSCONF */
/* Define to 1 if you have the `symlink' function. */
#define HAVE_SYMLINK 1
/* Define to 1 if you have the <sys/acl.h> header file. */
/* #undef HAVE_SYS_ACL_H */
/* Define to 1 if you have the <sys/cdefs.h> header file. */
#define HAVE_SYS_CDEFS_H 1
/* Define to 1 if you have the <sys/dir.h> header file, and it defines `DIR'.
*/
/* #undef HAVE_SYS_DIR_H */
/* Define to 1 if you have the <sys/ea.h> header file. */
/* #undef HAVE_SYS_EA_H */
/* Define to 1 if you have the <sys/extattr.h> header file. */
/* #undef HAVE_SYS_EXTATTR_H */
/* Define to 1 if you have the <sys/ioctl.h> header file. */
#define HAVE_SYS_IOCTL_H 1
/* Define to 1 if you have the <sys/mkdev.h> header file. */
/* #undef HAVE_SYS_MKDEV_H */
/* Define to 1 if you have the <sys/mount.h> header file. */
/* #undef HAVE_SYS_MOUNT_H */
/* Define to 1 if you have the <sys/ndir.h> header file, and it defines `DIR'.
*/
/* #undef HAVE_SYS_NDIR_H */
/* Define to 1 if you have the <sys/param.h> header file. */
#define HAVE_SYS_PARAM_H 1
/* Define to 1 if you have the <sys/poll.h> header file. */
#define HAVE_SYS_POLL_H 1
/* Define to 1 if you have the <sys/richacl.h> header file. */
/* #undef HAVE_SYS_RICHACL_H */
/* Define to 1 if you have the <sys/select.h> header file. */
#define HAVE_SYS_SELECT_H 1
/* Define to 1 if you have the <sys/statfs.h> header file. */
#define HAVE_SYS_STATFS_H 1
/* Define to 1 if you have the <sys/statvfs.h> header file. */
#define HAVE_SYS_STATVFS_H 1
/* Define to 1 if you have the <sys/stat.h> header file. */
#define HAVE_SYS_STAT_H 1
/* Define to 1 if you have the <sys/sysmacros.h> header file. */
#define HAVE_SYS_SYSMACROS_H 1
/* Define to 1 if you have the <sys/time.h> header file. */
#define HAVE_SYS_TIME_H 1
/* Define to 1 if you have the <sys/types.h> header file. */
#define HAVE_SYS_TYPES_H 1
/* Define to 1 if you have the <sys/utime.h> header file. */
/* #undef HAVE_SYS_UTIME_H */
/* Define to 1 if you have the <sys/utsname.h> header file. */
#define HAVE_SYS_UTSNAME_H 1
/* Define to 1 if you have the <sys/vfs.h> header file. */
#define HAVE_SYS_VFS_H 1
/* Define to 1 if you have <sys/wait.h> that is POSIX.1 compatible. */
#define HAVE_SYS_WAIT_H 1
/* Define to 1 if you have the <sys/xattr.h> header file. */
#define HAVE_SYS_XATTR_H 1
/* Define to 1 if you have the `timegm' function. */
#define HAVE_TIMEGM 1
/* Define to 1 if you have the <time.h> header file. */
#define HAVE_TIME_H 1
/* Define to 1 if you have the `tzset' function. */
#define HAVE_TZSET 1
/* Define to 1 if you have the <unistd.h> header file. */
#define HAVE_UNISTD_H 1
/* Define to 1 if you have the `unlinkat' function. */
#define HAVE_UNLINKAT 1
/* Define to 1 if you have the `unsetenv' function. */
#define HAVE_UNSETENV 1
/* Define to 1 if the system has the type `unsigned long long'. */
/* #undef HAVE_UNSIGNED_LONG_LONG */
/* Define to 1 if the system has the type `unsigned long long int'. */
/* #undef HAVE_UNSIGNED_LONG_LONG_INT */
/* Define to 1 if you have the `utime' function. */
#define HAVE_UTIME 1
/* Define to 1 if you have the `utimensat' function. */
#define HAVE_UTIMENSAT 1
/* Define to 1 if you have the `utimes' function. */
#define HAVE_UTIMES 1
/* Define to 1 if you have the <utime.h> header file. */
#define HAVE_UTIME_H 1
/* Define to 1 if you have the `vfork' function. */
#define HAVE_VFORK 1
/* Define to 1 if you have the `vprintf' function. */
#define HAVE_VPRINTF 1
/* Define to 1 if you have the <wchar.h> header file. */
#define HAVE_WCHAR_H 1
/* Define to 1 if the system has the type `wchar_t'. */
#define HAVE_WCHAR_T 1
/* Define to 1 if you have the `wcrtomb' function. */
#define HAVE_WCRTOMB 1
/* Define to 1 if you have the `wcscmp' function. */
#define HAVE_WCSCMP 1
/* Define to 1 if you have the `wcscpy' function. */
#define HAVE_WCSCPY 1
/* Define to 1 if you have the `wcslen' function. */
#define HAVE_WCSLEN 1
/* Define to 1 if you have the `wctomb' function. */
#define HAVE_WCTOMB 1
/* Define to 1 if you have the <wctype.h> header file. */
#define HAVE_WCTYPE_H 1
/* Define to 1 if you have the <wincrypt.h> header file. */
/* #undef HAVE_WINCRYPT_H */
/* Define to 1 if you have the <windows.h> header file. */
/* #undef HAVE_WINDOWS_H */
/* Define to 1 if you have the <winioctl.h> header file. */
/* #undef HAVE_WINIOCTL_H */
/* Define to 1 if you have _CrtSetReportMode in <crtdbg.h> */
/* #undef HAVE__CrtSetReportMode */
/* Define to 1 if you have the `wmemcmp' function. */
#define HAVE_WMEMCMP 1
/* Define to 1 if you have the `wmemcpy' function. */
#define HAVE_WMEMCPY 1
/* Define to 1 if you have the `wmemmove' function. */
#define HAVE_WMEMMOVE 1
/* Define to 1 if you have a working EXT2_IOC_GETFLAGS */
#define HAVE_WORKING_EXT2_IOC_GETFLAGS 1
/* Define to 1 if you have a working FS_IOC_GETFLAGS */
#define HAVE_WORKING_FS_IOC_GETFLAGS 1
/* Define to 1 if you have the <zlib.h> header file. */
#define HAVE_ZLIB_H 1
/* Define to 1 if you have the <zstd.h> header file. */
#define HAVE_ZSTD_H 1
/* Define to 1 if you have the `_ctime64_s' function. */
/* #undef HAVE__CTIME64_S */
/* Define to 1 if you have the `_fseeki64' function. */
/* #undef HAVE__FSEEKI64 */
/* Define to 1 if you have the `_get_timezone' function. */
/* #undef HAVE__GET_TIMEZONE */
/* Define to 1 if you have the `_gmtime64_s' function. */
/* #undef HAVE__GMTIME64_S */
/* Define to 1 if you have the `_localtime64_s' function. */
/* #undef HAVE__LOCALTIME64_S */
/* Define to 1 if you have the `_mkgmtime64' function. */
/* #undef HAVE__MKGMTIME64 */
/* Define as const if the declaration of iconv() needs const. */
#define ICONV_CONST
/* Version number of libarchive as a single integer */
#define LIBARCHIVE_VERSION_NUMBER "3006000"
/* Version number of libarchive */
#define LIBARCHIVE_VERSION_STRING "3.6.0"
/* Define to 1 if `lstat' dereferences a symlink specified with a trailing
slash. */
/* #undef LSTAT_FOLLOWS_SLASHED_SYMLINK */
/* Define to 1 if `major', `minor', and `makedev' are declared in <mkdev.h>.
*/
/* #undef MAJOR_IN_MKDEV */
/* Define to 1 if `major', `minor', and `makedev' are declared in
<sysmacros.h>. */
#define MAJOR_IN_SYSMACROS 1
/* Define to 1 if your C compiler doesn't accept -c and -o together. */
/* #undef NO_MINUS_C_MINUS_O */
/* The size of `wchar_t', as computed by sizeof. */
#define SIZEOF_WCHAR_T 4
/* Define to 1 if strerror_r returns char *. */
/* #undef STRERROR_R_CHAR_P */
/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
#define TIME_WITH_SYS_TIME 1
/*
* Some platform requires a macro to use extension functions.
*/
#define SAFE_TO_DEFINE_EXTENSIONS 1
#ifdef SAFE_TO_DEFINE_EXTENSIONS
/* Enable extensions on AIX 3, Interix. */
#ifndef _ALL_SOURCE
# define _ALL_SOURCE 1
#endif
/* Enable GNU extensions on systems that have them. */
#ifndef _GNU_SOURCE
# define _GNU_SOURCE 1
#endif
/* Enable threading extensions on Solaris. */
#ifndef _POSIX_PTHREAD_SEMANTICS
# define _POSIX_PTHREAD_SEMANTICS 1
#endif
/* Enable extensions on HP NonStop. */
#ifndef _TANDEM_SOURCE
# define _TANDEM_SOURCE 1
#endif
/* Enable general extensions on Solaris. */
#ifndef __EXTENSIONS__
# define __EXTENSIONS__ 1
#endif
#endif /* SAFE_TO_DEFINE_EXTENSIONS */
/* Version number of package */
#define VERSION "3.6.0"
/* Number of bits in a file offset, on hosts where this is settable. */
/* #undef _FILE_OFFSET_BITS */
/* Define to 1 to make fseeko visible on some hosts (e.g. glibc 2.2). */
/* #undef _LARGEFILE_SOURCE */
/* Define for large files, on AIX-style hosts. */
/* #undef _LARGE_FILES */
/* Define to control Windows SDK version */
#ifndef NTDDI_VERSION
/* #undef NTDDI_VERSION */
#endif // NTDDI_VERSION
#ifndef _WIN32_WINNT
/* #undef _WIN32_WINNT */
#endif // _WIN32_WINNT
#ifndef WINVER
/* #undef WINVER */
#endif // WINVER
/* Define to empty if `const' does not conform to ANSI C. */
/* #undef const */
/* Define to `int' if <sys/types.h> doesn't define. */
/* #undef gid_t */
/* Define to `unsigned long' if <sys/types.h> does not define. */
/* #undef id_t */
/* Define to `int' if <sys/types.h> does not define. */
/* #undef mode_t */
/* Define to `long long' if <sys/types.h> does not define. */
/* #undef off_t */
/* Define to `int' if <sys/types.h> doesn't define. */
/* #undef pid_t */
/* Define to `unsigned int' if <sys/types.h> does not define. */
/* #undef size_t */
/* Define to `int' if <sys/types.h> does not define. */
/* #undef ssize_t */
/* Define to `int' if <sys/types.h> doesn't define. */
/* #undef uid_t */
#include <cm3p/kwiml/int.h>
#ifndef KWIML_INT_HAVE_INT64_T
typedef KWIML_INT_int64_t int64_t;
#endif
#ifndef KWIML_INT_HAVE_INT32_T
typedef KWIML_INT_int32_t int32_t;
#endif
#ifndef KWIML_INT_HAVE_INT16_T
typedef KWIML_INT_int16_t int16_t;
#endif
#ifndef KWIML_INT_HAVE_INT8_T
typedef KWIML_INT_int8_t int8_t;
#endif
#ifndef KWIML_INT_HAVE_INTPTR_T
typedef KWIML_INT_intptr_t intptr_t;
#endif
#ifndef KWIML_INT_HAVE_UINT64_T
typedef KWIML_INT_uint64_t uint64_t;
#endif
#ifndef KWIML_INT_HAVE_UINT32_T
typedef KWIML_INT_uint32_t uint32_t;
#endif
#ifndef KWIML_INT_HAVE_UINT16_T
typedef KWIML_INT_uint16_t uint16_t;
#endif
#ifndef KWIML_INT_HAVE_UINT8_T
typedef KWIML_INT_uint8_t uint8_t;
#endif
#ifndef KWIML_INT_HAVE_UINTPTR_T
typedef KWIML_INT_uintptr_t uintptr_t;
#endif
/* Define to 1 if you have the <stdint.h> header file. */
#ifdef KWIML_INT_HAVE_STDINT_H
# define HAVE_STDINT_H 1
#endif
/* Define to 1 if you have the <inttypes.h> header file. */
#ifdef KWIML_INT_HAVE_INTTYPES_H
# define HAVE_INTTYPES_H 1
#endif
#define ARCHIVE_SHA384_COMPILE_TEST
#define ARCHIVE_CRYPTO_SHA384_LIBSYSTEM
#define PLATFORM_CONFIG_H "check_crypto_md.h"
/*-
* Copyright (c) 2003-2007 Tim Kientzle
* Copyright (c) 2011 Andres Mejia
* Copyright (c) 2011 Michihiro NAKAJIMA
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR(S) ``AS IS'' AND ANY EXPRESS OR
* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
* IN NO EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
#include "archive_platform.h"
#include "archive.h"
#include "archive_digest_private.h"
/* In particular, force the configure probe to break if it tries
* to test a combination of OpenSSL and libmd. */
#if defined(ARCHIVE_CRYPTO_OPENSSL) && defined(ARCHIVE_CRYPTO_LIBMD)
#error Cannot use both OpenSSL and libmd.
#endif
/*
* Message digest functions for Windows platform.
*/
#if defined(ARCHIVE_CRYPTO_MD5_WIN) ||\
defined(ARCHIVE_CRYPTO_SHA1_WIN) ||\
defined(ARCHIVE_CRYPTO_SHA256_WIN) ||\
defined(ARCHIVE_CRYPTO_SHA384_WIN) ||\
defined(ARCHIVE_CRYPTO_SHA512_WIN)
/*
* Initialize a Message digest.
*/
static int
win_crypto_init(Digest_CTX *ctx, ALG_ID algId)
{
ctx->valid = 0;
if (!CryptAcquireContext(&ctx->cryptProv, NULL, NULL,
PROV_RSA_FULL, CRYPT_VERIFYCONTEXT)) {
if (GetLastError() != (DWORD)NTE_BAD_KEYSET)
return (ARCHIVE_FAILED);
if (!CryptAcquireContext(&ctx->cryptProv, NULL, NULL,
PROV_RSA_FULL, CRYPT_NEWKEYSET))
return (ARCHIVE_FAILED);
}
if (!CryptCreateHash(ctx->cryptProv, algId, 0, 0, &ctx->hash)) {
CryptReleaseContext(ctx->cryptProv, 0);
return (ARCHIVE_FAILED);
}
ctx->valid = 1;
return (ARCHIVE_OK);
}
/*
* Update a Message digest.
*/
static int
win_crypto_Update(Digest_CTX *ctx, const unsigned char *buf, size_t len)
{
if (!ctx->valid)
return (ARCHIVE_FAILED);
CryptHashData(ctx->hash,
(unsigned char *)(uintptr_t)buf,
(DWORD)len, 0);
return (ARCHIVE_OK);
}
static int
win_crypto_Final(unsigned char *buf, size_t bufsize, Digest_CTX *ctx)
{
DWORD siglen = (DWORD)bufsize;
if (!ctx->valid)
return (ARCHIVE_FAILED);
CryptGetHashParam(ctx->hash, HP_HASHVAL, buf, &siglen, 0);
CryptDestroyHash(ctx->hash);
CryptReleaseContext(ctx->cryptProv, 0);
ctx->valid = 0;
return (ARCHIVE_OK);
}
#endif /* defined(ARCHIVE_CRYPTO_*_WIN) */
/* MD5 implementations */
#if defined(ARCHIVE_CRYPTO_MD5_LIBC)
static int
__archive_md5init(archive_md5_ctx *ctx)
{
MD5Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_md5update(archive_md5_ctx *ctx, const void *indata,
size_t insize)
{
MD5Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_md5final(archive_md5_ctx *ctx, void *md)
{
MD5Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_MD5_LIBMD)
static int
__archive_md5init(archive_md5_ctx *ctx)
{
MD5Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_md5update(archive_md5_ctx *ctx, const void *indata,
size_t insize)
{
MD5Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_md5final(archive_md5_ctx *ctx, void *md)
{
MD5Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_MD5_LIBSYSTEM)
static int
__archive_md5init(archive_md5_ctx *ctx)
{
CC_MD5_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_md5update(archive_md5_ctx *ctx, const void *indata,
size_t insize)
{
CC_MD5_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_md5final(archive_md5_ctx *ctx, void *md)
{
CC_MD5_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_MD5_MBEDTLS)
static int
__archive_md5init(archive_md5_ctx *ctx)
{
mbedtls_md5_init(ctx);
if (mbedtls_md5_starts_ret(ctx) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_md5update(archive_md5_ctx *ctx, const void *indata,
size_t insize)
{
if (mbedtls_md5_update_ret(ctx, indata, insize) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_md5final(archive_md5_ctx *ctx, void *md)
{
if (mbedtls_md5_finish_ret(ctx, md) == 0) {
mbedtls_md5_free(ctx);
return (ARCHIVE_OK);
} else {
mbedtls_md5_free(ctx);
return (ARCHIVE_FATAL);
}
}
#elif defined(ARCHIVE_CRYPTO_MD5_NETTLE)
static int
__archive_md5init(archive_md5_ctx *ctx)
{
md5_init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_md5update(archive_md5_ctx *ctx, const void *indata,
size_t insize)
{
md5_update(ctx, insize, indata);
return (ARCHIVE_OK);
}
static int
__archive_md5final(archive_md5_ctx *ctx, void *md)
{
md5_digest(ctx, MD5_DIGEST_SIZE, md);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_MD5_OPENSSL)
static int
__archive_md5init(archive_md5_ctx *ctx)
{
if ((*ctx = EVP_MD_CTX_new()) == NULL)
return (ARCHIVE_FAILED);
EVP_DigestInit(*ctx, EVP_md5());
return (ARCHIVE_OK);
}
static int
__archive_md5update(archive_md5_ctx *ctx, const void *indata,
size_t insize)
{
EVP_DigestUpdate(*ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_md5final(archive_md5_ctx *ctx, void *md)
{
/* HACK: archive_write_set_format_xar.c is finalizing empty contexts, so
* this is meant to cope with that. Real fix is probably to fix
* archive_write_set_format_xar.c
*/
if (*ctx) {
EVP_DigestFinal(*ctx, md, NULL);
EVP_MD_CTX_free(*ctx);
*ctx = NULL;
}
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_MD5_WIN)
static int
__archive_md5init(archive_md5_ctx *ctx)
{
return (win_crypto_init(ctx, CALG_MD5));
}
static int
__archive_md5update(archive_md5_ctx *ctx, const void *indata,
size_t insize)
{
return (win_crypto_Update(ctx, indata, insize));
}
static int
__archive_md5final(archive_md5_ctx *ctx, void *md)
{
return (win_crypto_Final(md, 16, ctx));
}
#else
static int
__archive_md5init(archive_md5_ctx *ctx)
{
(void)ctx; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_md5update(archive_md5_ctx *ctx, const void *indata,
size_t insize)
{
(void)ctx; /* UNUSED */
(void)indata; /* UNUSED */
(void)insize; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_md5final(archive_md5_ctx *ctx, void *md)
{
(void)ctx; /* UNUSED */
(void)md; /* UNUSED */
return (ARCHIVE_FAILED);
}
#endif
/* RIPEMD160 implementations */
#if defined(ARCHIVE_CRYPTO_RMD160_LIBC)
static int
__archive_ripemd160init(archive_rmd160_ctx *ctx)
{
RMD160Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata,
size_t insize)
{
RMD160Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_ripemd160final(archive_rmd160_ctx *ctx, void *md)
{
RMD160Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_RMD160_LIBMD)
static int
__archive_ripemd160init(archive_rmd160_ctx *ctx)
{
RIPEMD160_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata,
size_t insize)
{
RIPEMD160_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_ripemd160final(archive_rmd160_ctx *ctx, void *md)
{
RIPEMD160_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_RMD160_MBEDTLS)
static int
__archive_ripemd160init(archive_rmd160_ctx *ctx)
{
mbedtls_ripemd160_init(ctx);
if (mbedtls_ripemd160_starts_ret(ctx) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata,
size_t insize)
{
if (mbedtls_ripemd160_update_ret(ctx, indata, insize) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_ripemd160final(archive_rmd160_ctx *ctx, void *md)
{
if (mbedtls_ripemd160_finish_ret(ctx, md) == 0) {
mbedtls_ripemd160_free(ctx);
return (ARCHIVE_OK);
} else {
mbedtls_ripemd160_free(ctx);
return (ARCHIVE_FATAL);
}
}
#elif defined(ARCHIVE_CRYPTO_RMD160_NETTLE)
static int
__archive_ripemd160init(archive_rmd160_ctx *ctx)
{
ripemd160_init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata,
size_t insize)
{
ripemd160_update(ctx, insize, indata);
return (ARCHIVE_OK);
}
static int
__archive_ripemd160final(archive_rmd160_ctx *ctx, void *md)
{
ripemd160_digest(ctx, RIPEMD160_DIGEST_SIZE, md);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_RMD160_OPENSSL)
static int
__archive_ripemd160init(archive_rmd160_ctx *ctx)
{
if ((*ctx = EVP_MD_CTX_new()) == NULL)
return (ARCHIVE_FAILED);
EVP_DigestInit(*ctx, EVP_ripemd160());
return (ARCHIVE_OK);
}
static int
__archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata,
size_t insize)
{
EVP_DigestUpdate(*ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_ripemd160final(archive_rmd160_ctx *ctx, void *md)
{
if (*ctx) {
EVP_DigestFinal(*ctx, md, NULL);
EVP_MD_CTX_free(*ctx);
*ctx = NULL;
}
return (ARCHIVE_OK);
}
#else
static int
__archive_ripemd160init(archive_rmd160_ctx *ctx)
{
(void)ctx; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata,
size_t insize)
{
(void)ctx; /* UNUSED */
(void)indata; /* UNUSED */
(void)insize; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_ripemd160final(archive_rmd160_ctx *ctx, void *md)
{
(void)ctx; /* UNUSED */
(void)md; /* UNUSED */
return (ARCHIVE_FAILED);
}
#endif
/* SHA1 implementations */
#if defined(ARCHIVE_CRYPTO_SHA1_LIBC)
static int
__archive_sha1init(archive_sha1_ctx *ctx)
{
SHA1Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha1update(archive_sha1_ctx *ctx, const void *indata,
size_t insize)
{
SHA1Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha1final(archive_sha1_ctx *ctx, void *md)
{
SHA1Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA1_LIBMD)
static int
__archive_sha1init(archive_sha1_ctx *ctx)
{
SHA1_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha1update(archive_sha1_ctx *ctx, const void *indata,
size_t insize)
{
SHA1_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha1final(archive_sha1_ctx *ctx, void *md)
{
SHA1_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA1_LIBSYSTEM)
static int
__archive_sha1init(archive_sha1_ctx *ctx)
{
CC_SHA1_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha1update(archive_sha1_ctx *ctx, const void *indata,
size_t insize)
{
CC_SHA1_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha1final(archive_sha1_ctx *ctx, void *md)
{
CC_SHA1_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA1_MBEDTLS)
static int
__archive_sha1init(archive_sha1_ctx *ctx)
{
mbedtls_sha1_init(ctx);
if (mbedtls_sha1_starts_ret(ctx) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_sha1update(archive_sha1_ctx *ctx, const void *indata,
size_t insize)
{
if (mbedtls_sha1_update_ret(ctx, indata, insize) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_sha1final(archive_sha1_ctx *ctx, void *md)
{
if (mbedtls_sha1_finish_ret(ctx, md) == 0) {
mbedtls_sha1_free(ctx);
return (ARCHIVE_OK);
} else {
mbedtls_sha1_free(ctx);
return (ARCHIVE_FATAL);
}
}
#elif defined(ARCHIVE_CRYPTO_SHA1_NETTLE)
static int
__archive_sha1init(archive_sha1_ctx *ctx)
{
sha1_init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha1update(archive_sha1_ctx *ctx, const void *indata,
size_t insize)
{
sha1_update(ctx, insize, indata);
return (ARCHIVE_OK);
}
static int
__archive_sha1final(archive_sha1_ctx *ctx, void *md)
{
sha1_digest(ctx, SHA1_DIGEST_SIZE, md);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA1_OPENSSL)
static int
__archive_sha1init(archive_sha1_ctx *ctx)
{
if ((*ctx = EVP_MD_CTX_new()) == NULL)
return (ARCHIVE_FAILED);
EVP_DigestInit(*ctx, EVP_sha1());
return (ARCHIVE_OK);
}
static int
__archive_sha1update(archive_sha1_ctx *ctx, const void *indata,
size_t insize)
{
EVP_DigestUpdate(*ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha1final(archive_sha1_ctx *ctx, void *md)
{
/* HACK: archive_write_set_format_xar.c is finalizing empty contexts, so
* this is meant to cope with that. Real fix is probably to fix
* archive_write_set_format_xar.c
*/
if (*ctx) {
EVP_DigestFinal(*ctx, md, NULL);
EVP_MD_CTX_free(*ctx);
*ctx = NULL;
}
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA1_WIN)
static int
__archive_sha1init(archive_sha1_ctx *ctx)
{
return (win_crypto_init(ctx, CALG_SHA1));
}
static int
__archive_sha1update(archive_sha1_ctx *ctx, const void *indata,
size_t insize)
{
return (win_crypto_Update(ctx, indata, insize));
}
static int
__archive_sha1final(archive_sha1_ctx *ctx, void *md)
{
return (win_crypto_Final(md, 20, ctx));
}
#else
static int
__archive_sha1init(archive_sha1_ctx *ctx)
{
(void)ctx; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_sha1update(archive_sha1_ctx *ctx, const void *indata,
size_t insize)
{
(void)ctx; /* UNUSED */
(void)indata; /* UNUSED */
(void)insize; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_sha1final(archive_sha1_ctx *ctx, void *md)
{
(void)ctx; /* UNUSED */
(void)md; /* UNUSED */
return (ARCHIVE_FAILED);
}
#endif
/* SHA256 implementations */
#if defined(ARCHIVE_CRYPTO_SHA256_LIBC)
static int
__archive_sha256init(archive_sha256_ctx *ctx)
{
SHA256_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha256update(archive_sha256_ctx *ctx, const void *indata,
size_t insize)
{
SHA256_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha256final(archive_sha256_ctx *ctx, void *md)
{
SHA256_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA256_LIBC2)
static int
__archive_sha256init(archive_sha256_ctx *ctx)
{
SHA256Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha256update(archive_sha256_ctx *ctx, const void *indata,
size_t insize)
{
SHA256Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha256final(archive_sha256_ctx *ctx, void *md)
{
SHA256Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA256_LIBC3)
static int
__archive_sha256init(archive_sha256_ctx *ctx)
{
SHA256Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha256update(archive_sha256_ctx *ctx, const void *indata,
size_t insize)
{
SHA256Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha256final(archive_sha256_ctx *ctx, void *md)
{
SHA256Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA256_LIBMD)
static int
__archive_sha256init(archive_sha256_ctx *ctx)
{
SHA256_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha256update(archive_sha256_ctx *ctx, const void *indata,
size_t insize)
{
SHA256_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha256final(archive_sha256_ctx *ctx, void *md)
{
SHA256_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA256_LIBSYSTEM)
static int
__archive_sha256init(archive_sha256_ctx *ctx)
{
CC_SHA256_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha256update(archive_sha256_ctx *ctx, const void *indata,
size_t insize)
{
CC_SHA256_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha256final(archive_sha256_ctx *ctx, void *md)
{
CC_SHA256_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA256_MBEDTLS)
static int
__archive_sha256init(archive_sha256_ctx *ctx)
{
mbedtls_sha256_init(ctx);
if (mbedtls_sha256_starts_ret(ctx, 0) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_sha256update(archive_sha256_ctx *ctx, const void *indata,
size_t insize)
{
if (mbedtls_sha256_update_ret(ctx, indata, insize) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_sha256final(archive_sha256_ctx *ctx, void *md)
{
if (mbedtls_sha256_finish_ret(ctx, md) == 0) {
mbedtls_sha256_free(ctx);
return (ARCHIVE_OK);
} else {
mbedtls_sha256_free(ctx);
return (ARCHIVE_FATAL);
}
}
#elif defined(ARCHIVE_CRYPTO_SHA256_NETTLE)
static int
__archive_sha256init(archive_sha256_ctx *ctx)
{
sha256_init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha256update(archive_sha256_ctx *ctx, const void *indata,
size_t insize)
{
sha256_update(ctx, insize, indata);
return (ARCHIVE_OK);
}
static int
__archive_sha256final(archive_sha256_ctx *ctx, void *md)
{
sha256_digest(ctx, SHA256_DIGEST_SIZE, md);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA256_OPENSSL)
static int
__archive_sha256init(archive_sha256_ctx *ctx)
{
if ((*ctx = EVP_MD_CTX_new()) == NULL)
return (ARCHIVE_FAILED);
EVP_DigestInit(*ctx, EVP_sha256());
return (ARCHIVE_OK);
}
static int
__archive_sha256update(archive_sha256_ctx *ctx, const void *indata,
size_t insize)
{
EVP_DigestUpdate(*ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha256final(archive_sha256_ctx *ctx, void *md)
{
if (*ctx) {
EVP_DigestFinal(*ctx, md, NULL);
EVP_MD_CTX_free(*ctx);
*ctx = NULL;
}
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA256_WIN)
static int
__archive_sha256init(archive_sha256_ctx *ctx)
{
return (win_crypto_init(ctx, CALG_SHA_256));
}
static int
__archive_sha256update(archive_sha256_ctx *ctx, const void *indata,
size_t insize)
{
return (win_crypto_Update(ctx, indata, insize));
}
static int
__archive_sha256final(archive_sha256_ctx *ctx, void *md)
{
return (win_crypto_Final(md, 32, ctx));
}
#else
static int
__archive_sha256init(archive_sha256_ctx *ctx)
{
(void)ctx; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_sha256update(archive_sha256_ctx *ctx, const void *indata,
size_t insize)
{
(void)ctx; /* UNUSED */
(void)indata; /* UNUSED */
(void)insize; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_sha256final(archive_sha256_ctx *ctx, void *md)
{
(void)ctx; /* UNUSED */
(void)md; /* UNUSED */
return (ARCHIVE_FAILED);
}
#endif
/* SHA384 implementations */
#if defined(ARCHIVE_CRYPTO_SHA384_LIBC)
static int
__archive_sha384init(archive_sha384_ctx *ctx)
{
SHA384_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha384update(archive_sha384_ctx *ctx, const void *indata,
size_t insize)
{
SHA384_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha384final(archive_sha384_ctx *ctx, void *md)
{
SHA384_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA384_LIBC2)
static int
__archive_sha384init(archive_sha384_ctx *ctx)
{
SHA384Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha384update(archive_sha384_ctx *ctx, const void *indata,
size_t insize)
{
SHA384Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha384final(archive_sha384_ctx *ctx, void *md)
{
SHA384Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA384_LIBC3)
static int
__archive_sha384init(archive_sha384_ctx *ctx)
{
SHA384Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha384update(archive_sha384_ctx *ctx, const void *indata,
size_t insize)
{
SHA384Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha384final(archive_sha384_ctx *ctx, void *md)
{
SHA384Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA384_LIBSYSTEM)
static int
__archive_sha384init(archive_sha384_ctx *ctx)
{
CC_SHA384_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha384update(archive_sha384_ctx *ctx, const void *indata,
size_t insize)
{
CC_SHA384_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha384final(archive_sha384_ctx *ctx, void *md)
{
CC_SHA384_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA384_MBEDTLS)
static int
__archive_sha384init(archive_sha384_ctx *ctx)
{
mbedtls_sha512_init(ctx);
if (mbedtls_sha512_starts_ret(ctx, 1) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_sha384update(archive_sha384_ctx *ctx, const void *indata,
size_t insize)
{
if (mbedtls_sha512_update_ret(ctx, indata, insize) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_sha384final(archive_sha384_ctx *ctx, void *md)
{
if (mbedtls_sha512_finish_ret(ctx, md) == 0) {
mbedtls_sha512_free(ctx);
return (ARCHIVE_OK);
} else {
mbedtls_sha512_free(ctx);
return (ARCHIVE_FATAL);
}
}
#elif defined(ARCHIVE_CRYPTO_SHA384_NETTLE)
static int
__archive_sha384init(archive_sha384_ctx *ctx)
{
sha384_init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha384update(archive_sha384_ctx *ctx, const void *indata,
size_t insize)
{
sha384_update(ctx, insize, indata);
return (ARCHIVE_OK);
}
static int
__archive_sha384final(archive_sha384_ctx *ctx, void *md)
{
sha384_digest(ctx, SHA384_DIGEST_SIZE, md);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA384_OPENSSL)
static int
__archive_sha384init(archive_sha384_ctx *ctx)
{
if ((*ctx = EVP_MD_CTX_new()) == NULL)
return (ARCHIVE_FAILED);
EVP_DigestInit(*ctx, EVP_sha384());
return (ARCHIVE_OK);
}
static int
__archive_sha384update(archive_sha384_ctx *ctx, const void *indata,
size_t insize)
{
EVP_DigestUpdate(*ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha384final(archive_sha384_ctx *ctx, void *md)
{
if (*ctx) {
EVP_DigestFinal(*ctx, md, NULL);
EVP_MD_CTX_free(*ctx);
*ctx = NULL;
}
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA384_WIN)
static int
__archive_sha384init(archive_sha384_ctx *ctx)
{
return (win_crypto_init(ctx, CALG_SHA_384));
}
static int
__archive_sha384update(archive_sha384_ctx *ctx, const void *indata,
size_t insize)
{
return (win_crypto_Update(ctx, indata, insize));
}
static int
__archive_sha384final(archive_sha384_ctx *ctx, void *md)
{
return (win_crypto_Final(md, 48, ctx));
}
#else
static int
__archive_sha384init(archive_sha384_ctx *ctx)
{
(void)ctx; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_sha384update(archive_sha384_ctx *ctx, const void *indata,
size_t insize)
{
(void)ctx; /* UNUSED */
(void)indata; /* UNUSED */
(void)insize; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_sha384final(archive_sha384_ctx *ctx, void *md)
{
(void)ctx; /* UNUSED */
(void)md; /* UNUSED */
return (ARCHIVE_FAILED);
}
#endif
/* SHA512 implementations */
#if defined(ARCHIVE_CRYPTO_SHA512_LIBC)
static int
__archive_sha512init(archive_sha512_ctx *ctx)
{
SHA512_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha512update(archive_sha512_ctx *ctx, const void *indata,
size_t insize)
{
SHA512_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha512final(archive_sha512_ctx *ctx, void *md)
{
SHA512_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA512_LIBC2)
static int
__archive_sha512init(archive_sha512_ctx *ctx)
{
SHA512Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha512update(archive_sha512_ctx *ctx, const void *indata,
size_t insize)
{
SHA512Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha512final(archive_sha512_ctx *ctx, void *md)
{
SHA512Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA512_LIBC3)
static int
__archive_sha512init(archive_sha512_ctx *ctx)
{
SHA512Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha512update(archive_sha512_ctx *ctx, const void *indata,
size_t insize)
{
SHA512Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha512final(archive_sha512_ctx *ctx, void *md)
{
SHA512Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA512_LIBMD)
static int
__archive_sha512init(archive_sha512_ctx *ctx)
{
SHA512_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha512update(archive_sha512_ctx *ctx, const void *indata,
size_t insize)
{
SHA512_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha512final(archive_sha512_ctx *ctx, void *md)
{
SHA512_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA512_LIBSYSTEM)
static int
__archive_sha512init(archive_sha512_ctx *ctx)
{
CC_SHA512_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha512update(archive_sha512_ctx *ctx, const void *indata,
size_t insize)
{
CC_SHA512_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha512final(archive_sha512_ctx *ctx, void *md)
{
CC_SHA512_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA512_MBEDTLS)
static int
__archive_sha512init(archive_sha512_ctx *ctx)
{
mbedtls_sha512_init(ctx);
if (mbedtls_sha512_starts_ret(ctx, 0) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_sha512update(archive_sha512_ctx *ctx, const void *indata,
size_t insize)
{
if (mbedtls_sha512_update_ret(ctx, indata, insize) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_sha512final(archive_sha512_ctx *ctx, void *md)
{
if (mbedtls_sha512_finish_ret(ctx, md) == 0) {
mbedtls_sha512_free(ctx);
return (ARCHIVE_OK);
} else {
mbedtls_sha512_free(ctx);
return (ARCHIVE_FATAL);
}
}
#elif defined(ARCHIVE_CRYPTO_SHA512_NETTLE)
static int
__archive_sha512init(archive_sha512_ctx *ctx)
{
sha512_init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha512update(archive_sha512_ctx *ctx, const void *indata,
size_t insize)
{
sha512_update(ctx, insize, indata);
return (ARCHIVE_OK);
}
static int
__archive_sha512final(archive_sha512_ctx *ctx, void *md)
{
sha512_digest(ctx, SHA512_DIGEST_SIZE, md);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA512_OPENSSL)
static int
__archive_sha512init(archive_sha512_ctx *ctx)
{
if ((*ctx = EVP_MD_CTX_new()) == NULL)
return (ARCHIVE_FAILED);
EVP_DigestInit(*ctx, EVP_sha512());
return (ARCHIVE_OK);
}
static int
__archive_sha512update(archive_sha512_ctx *ctx, const void *indata,
size_t insize)
{
EVP_DigestUpdate(*ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha512final(archive_sha512_ctx *ctx, void *md)
{
if (*ctx) {
EVP_DigestFinal(*ctx, md, NULL);
EVP_MD_CTX_free(*ctx);
*ctx = NULL;
}
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA512_WIN)
static int
__archive_sha512init(archive_sha512_ctx *ctx)
{
return (win_crypto_init(ctx, CALG_SHA_512));
}
static int
__archive_sha512update(archive_sha512_ctx *ctx, const void *indata,
size_t insize)
{
return (win_crypto_Update(ctx, indata, insize));
}
static int
__archive_sha512final(archive_sha512_ctx *ctx, void *md)
{
return (win_crypto_Final(md, 64, ctx));
}
#else
static int
__archive_sha512init(archive_sha512_ctx *ctx)
{
(void)ctx; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_sha512update(archive_sha512_ctx *ctx, const void *indata,
size_t insize)
{
(void)ctx; /* UNUSED */
(void)indata; /* UNUSED */
(void)insize; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_sha512final(archive_sha512_ctx *ctx, void *md)
{
(void)ctx; /* UNUSED */
(void)md; /* UNUSED */
return (ARCHIVE_FAILED);
}
#endif
/* NOTE: Message Digest functions are set based on availability and by the
* following order of preference.
* 1. libc
* 2. libc2
* 3. libc3
* 4. libSystem
* 5. Nettle
* 6. OpenSSL
* 7. libmd
* 8. Windows API
*/
const struct archive_digest __archive_digest =
{
/* MD5 */
&__archive_md5init,
&__archive_md5update,
&__archive_md5final,
/* RIPEMD160 */
&__archive_ripemd160init,
&__archive_ripemd160update,
&__archive_ripemd160final,
/* SHA1 */
&__archive_sha1init,
&__archive_sha1update,
&__archive_sha1final,
/* SHA256 */
&__archive_sha256init,
&__archive_sha256update,
&__archive_sha256final,
/* SHA384 */
&__archive_sha384init,
&__archive_sha384update,
&__archive_sha384final,
/* SHA512 */
&__archive_sha512init,
&__archive_sha512update,
&__archive_sha512final
};
int
main(int argc, char **argv)
{
archive_sha384_ctx ctx;
archive_sha384_init(&ctx);
archive_sha384_update(&ctx, *argv, argc);
archive_sha384_final(&ctx, NULL);
return 0;
}
Checking support for ARCHIVE_CRYPTO_SHA512_LIBSYSTEM failed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeTmp
Run Build Command(s):/bin/gmake -f Makefile cmTC_4bd58/fast && gmake -f CMakeFiles/cmTC_4bd58.dir/build.make CMakeFiles/cmTC_4bd58.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeTmp'
Building C object CMakeFiles/cmTC_4bd58.dir/check_crypto_md.c.o
/bin/gcc -I/usr/src/cmake-3.25.0 -I/usr/src/cmake-3.25.0/Utilities/cmlibarchive/libarchive -I/usr/src/cmake-3.25.0/CMakeFiles/CMakeTmp -I/usr/src/cmake-3.25.0/Utilities -w -std=gnu99 -o CMakeFiles/cmTC_4bd58.dir/check_crypto_md.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeTmp/check_crypto_md.c
In file included from /usr/src/cmake-3.25.0/CMakeFiles/CMakeTmp/check_crypto_md.c:1204:0:
/usr/src/cmake-3.25.0/Utilities/cmlibarchive/libarchive/archive_digest_private.h:115:39: fatal error: CommonCrypto/CommonDigest.h: No such file or directory
#include <CommonCrypto/CommonDigest.h>
^
compilation terminated.
gmake[1]: *** [CMakeFiles/cmTC_4bd58.dir/check_crypto_md.c.o] Error 1
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeTmp'
gmake: *** [cmTC_4bd58/fast] Error 2
Source file was:
/* config.h. Generated from build/cmake/config.h.in by cmake configure */
#define __LIBARCHIVE_CONFIG_H_INCLUDED 1
#if defined(__osf__)
# define _OSF_SOURCE
#endif
/*
* Ensure we have C99-style int64_t, etc, all defined.
*/
/* Define ZLIB_WINAPI if zlib was built on Visual Studio. */
/* #undef ZLIB_WINAPI */
/* Darwin ACL support */
/* #undef ARCHIVE_ACL_DARWIN */
/* FreeBSD ACL support */
/* #undef ARCHIVE_ACL_FREEBSD */
/* FreeBSD NFSv4 ACL support */
/* #undef ARCHIVE_ACL_FREEBSD_NFS4 */
/* Linux POSIX.1e ACL support via libacl */
/* #undef ARCHIVE_ACL_LIBACL */
/* Linux NFSv4 ACL support via librichacl */
/* #undef ARCHIVE_ACL_LIBRICHACL */
/* Solaris ACL support */
/* #undef ARCHIVE_ACL_SUNOS */
/* Solaris NFSv4 ACL support */
/* #undef ARCHIVE_ACL_SUNOS_NFS4 */
/* MD5 via ARCHIVE_CRYPTO_MD5_LIBC supported. */
/* #undef ARCHIVE_CRYPTO_MD5_LIBC */
/* MD5 via ARCHIVE_CRYPTO_MD5_LIBSYSTEM supported. */
/* #undef ARCHIVE_CRYPTO_MD5_LIBSYSTEM */
/* MD5 via ARCHIVE_CRYPTO_MD5_NETTLE supported. */
/* #undef ARCHIVE_CRYPTO_MD5_NETTLE */
/* MD5 via ARCHIVE_CRYPTO_MD5_OPENSSL supported. */
/* #undef ARCHIVE_CRYPTO_MD5_OPENSSL */
/* MD5 via ARCHIVE_CRYPTO_MD5_WIN supported. */
/* #undef ARCHIVE_CRYPTO_MD5_WIN */
/* RMD160 via ARCHIVE_CRYPTO_RMD160_LIBC supported. */
/* #undef ARCHIVE_CRYPTO_RMD160_LIBC */
/* RMD160 via ARCHIVE_CRYPTO_RMD160_NETTLE supported. */
/* #undef ARCHIVE_CRYPTO_RMD160_NETTLE */
/* RMD160 via ARCHIVE_CRYPTO_RMD160_OPENSSL supported. */
/* #undef ARCHIVE_CRYPTO_RMD160_OPENSSL */
/* SHA1 via ARCHIVE_CRYPTO_SHA1_LIBC supported. */
/* #undef ARCHIVE_CRYPTO_SHA1_LIBC */
/* SHA1 via ARCHIVE_CRYPTO_SHA1_LIBSYSTEM supported. */
/* #undef ARCHIVE_CRYPTO_SHA1_LIBSYSTEM */
/* SHA1 via ARCHIVE_CRYPTO_SHA1_NETTLE supported. */
/* #undef ARCHIVE_CRYPTO_SHA1_NETTLE */
/* SHA1 via ARCHIVE_CRYPTO_SHA1_OPENSSL supported. */
/* #undef ARCHIVE_CRYPTO_SHA1_OPENSSL */
/* SHA1 via ARCHIVE_CRYPTO_SHA1_WIN supported. */
/* #undef ARCHIVE_CRYPTO_SHA1_WIN */
/* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBC supported. */
/* #undef ARCHIVE_CRYPTO_SHA256_LIBC */
/* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBC2 supported. */
/* #undef ARCHIVE_CRYPTO_SHA256_LIBC2 */
/* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBC3 supported. */
/* #undef ARCHIVE_CRYPTO_SHA256_LIBC3 */
/* SHA256 via ARCHIVE_CRYPTO_SHA256_LIBSYSTEM supported. */
/* #undef ARCHIVE_CRYPTO_SHA256_LIBSYSTEM */
/* SHA256 via ARCHIVE_CRYPTO_SHA256_NETTLE supported. */
/* #undef ARCHIVE_CRYPTO_SHA256_NETTLE */
/* SHA256 via ARCHIVE_CRYPTO_SHA256_OPENSSL supported. */
/* #undef ARCHIVE_CRYPTO_SHA256_OPENSSL */
/* SHA256 via ARCHIVE_CRYPTO_SHA256_WIN supported. */
/* #undef ARCHIVE_CRYPTO_SHA256_WIN */
/* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBC supported. */
/* #undef ARCHIVE_CRYPTO_SHA384_LIBC */
/* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBC2 supported. */
/* #undef ARCHIVE_CRYPTO_SHA384_LIBC2 */
/* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBC3 supported. */
/* #undef ARCHIVE_CRYPTO_SHA384_LIBC3 */
/* SHA384 via ARCHIVE_CRYPTO_SHA384_LIBSYSTEM supported. */
/* #undef ARCHIVE_CRYPTO_SHA384_LIBSYSTEM */
/* SHA384 via ARCHIVE_CRYPTO_SHA384_NETTLE supported. */
/* #undef ARCHIVE_CRYPTO_SHA384_NETTLE */
/* SHA384 via ARCHIVE_CRYPTO_SHA384_OPENSSL supported. */
/* #undef ARCHIVE_CRYPTO_SHA384_OPENSSL */
/* SHA384 via ARCHIVE_CRYPTO_SHA384_WIN supported. */
/* #undef ARCHIVE_CRYPTO_SHA384_WIN */
/* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBC supported. */
/* #undef ARCHIVE_CRYPTO_SHA512_LIBC */
/* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBC2 supported. */
/* #undef ARCHIVE_CRYPTO_SHA512_LIBC2 */
/* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBC3 supported. */
/* #undef ARCHIVE_CRYPTO_SHA512_LIBC3 */
/* SHA512 via ARCHIVE_CRYPTO_SHA512_LIBSYSTEM supported. */
/* #undef ARCHIVE_CRYPTO_SHA512_LIBSYSTEM */
/* SHA512 via ARCHIVE_CRYPTO_SHA512_NETTLE supported. */
/* #undef ARCHIVE_CRYPTO_SHA512_NETTLE */
/* SHA512 via ARCHIVE_CRYPTO_SHA512_OPENSSL supported. */
/* #undef ARCHIVE_CRYPTO_SHA512_OPENSSL */
/* SHA512 via ARCHIVE_CRYPTO_SHA512_WIN supported. */
/* #undef ARCHIVE_CRYPTO_SHA512_WIN */
/* AIX xattr support */
/* #undef ARCHIVE_XATTR_AIX */
/* Darwin xattr support */
/* #undef ARCHIVE_XATTR_DARWIN */
/* FreeBSD xattr support */
/* #undef ARCHIVE_XATTR_FREEBSD */
/* Linux xattr support */
/* #undef ARCHIVE_XATTR_LINUX */
/* Version number of bsdcpio */
#define BSDCPIO_VERSION_STRING "3.6.0"
/* Version number of bsdtar */
#define BSDTAR_VERSION_STRING "3.6.0"
/* Version number of bsdcat */
#define BSDCAT_VERSION_STRING "3.6.0"
/* Define to 1 if you have the `acl_create_entry' function. */
/* #undef HAVE_ACL_CREATE_ENTRY */
/* Define to 1 if you have the `acl_get_fd_np' function. */
/* #undef HAVE_ACL_GET_FD_NP */
/* Define to 1 if you have the `acl_get_link' function. */
/* #undef HAVE_ACL_GET_LINK */
/* Define to 1 if you have the `acl_get_link_np' function. */
/* #undef HAVE_ACL_GET_LINK_NP */
/* Define to 1 if you have the `acl_get_perm' function. */
/* #undef HAVE_ACL_GET_PERM */
/* Define to 1 if you have the `acl_get_perm_np' function. */
/* #undef HAVE_ACL_GET_PERM_NP */
/* Define to 1 if you have the `acl_init' function. */
/* #undef HAVE_ACL_INIT */
/* Define to 1 if you have the <acl/libacl.h> header file. */
/* #undef HAVE_ACL_LIBACL_H */
/* Define to 1 if the system has the type `acl_permset_t'. */
/* #undef HAVE_ACL_PERMSET_T */
/* Define to 1 if you have the `acl_set_fd' function. */
/* #undef HAVE_ACL_SET_FD */
/* Define to 1 if you have the `acl_set_fd_np' function. */
/* #undef HAVE_ACL_SET_FD_NP */
/* Define to 1 if you have the `acl_set_file' function. */
/* #undef HAVE_ACL_SET_FILE */
/* Define to 1 if you have the `arc4random_buf' function. */
/* #undef HAVE_ARC4RANDOM_BUF */
/* Define to 1 if you have the <attr/xattr.h> header file. */
/* #undef HAVE_ATTR_XATTR_H */
/* Define to 1 if you have the <Bcrypt.h> header file. */
/* #undef HAVE_BCRYPT_H */
/* Define to 1 if you have the <bsdxml.h> header file. */
/* #undef HAVE_BSDXML_H */
/* Define to 1 if you have the <bzlib.h> header file. */
#define HAVE_BZLIB_H 1
/* Define to 1 if you have the `chflags' function. */
/* #undef HAVE_CHFLAGS */
/* Define to 1 if you have the `chown' function. */
#define HAVE_CHOWN 1
/* Define to 1 if you have the `chroot' function. */
#define HAVE_CHROOT 1
/* Define to 1 if you have the <copyfile.h> header file. */
/* #undef HAVE_COPYFILE_H */
/* Define to 1 if you have the `ctime_r' function. */
#define HAVE_CTIME_R 1
/* Define to 1 if you have the <ctype.h> header file. */
#define HAVE_CTYPE_H 1
/* Define to 1 if you have the `cygwin_conv_path' function. */
/* #undef HAVE_CYGWIN_CONV_PATH */
/* Define to 1 if you have the declaration of `ACE_GETACL', and to 0 if you
don't. */
/* #undef HAVE_DECL_ACE_GETACL */
/* Define to 1 if you have the declaration of `ACE_GETACLCNT', and to 0 if you
don't. */
/* #undef HAVE_DECL_ACE_GETACLCNT */
/* Define to 1 if you have the declaration of `ACE_SETACL', and to 0 if you
don't. */
/* #undef HAVE_DECL_ACE_SETACL */
/* Define to 1 if you have the declaration of `ACL_SYNCHRONIZE', and to 0 if
you don't. */
/* #undef HAVE_DECL_ACL_SYNCHRONIZE */
/* Define to 1 if you have the declaration of `ACL_TYPE_EXTENDED', and to 0 if
you don't. */
/* #undef HAVE_DECL_ACL_TYPE_EXTENDED */
/* Define to 1 if you have the declaration of `ACL_TYPE_NFS4', and to 0 if you
don't. */
/* #undef HAVE_DECL_ACL_TYPE_NFS4 */
/* Define to 1 if you have the declaration of `ACL_USER', and to 0 if you
don't. */
/* #undef HAVE_DECL_ACL_USER */
/* Define to 1 if you have the declaration of `SETACL', and to 0 if you don't.
*/
/* #undef HAVE_DECL_SETACL */
/* Define to 1 if you have the declaration of `strerror_r', and to 0 if you
don't. */
#define HAVE_DECL_STRERROR_R 1
/* Define to 1 if you have the declaration of `XATTR_NOFOLLOW', and to 0 if
you don't. */
/* #undef HAVE_DECL_XATTR_NOFOLLOW */
/* Define to 1 if you have the <direct.h> header file. */
/* #undef HAVE_DIRECT_H */
/* Define to 1 if you have the <dirent.h> header file, and it defines `DIR'.
*/
#define HAVE_DIRENT_H 1
/* Define to 1 if you have the `dirfd' function. */
#define HAVE_DIRFD 1
/* Define to 1 if you have the <dlfcn.h> header file. */
#define HAVE_DLFCN_H 1
/* Define to 1 if you don't have `vprintf' but do have `_doprnt.' */
/* #undef HAVE_DOPRNT */
/* Define to 1 if nl_langinfo supports D_MD_ORDER */
/* #undef HAVE_D_MD_ORDER */
/* A possible errno value for invalid file format errors */
/* #undef HAVE_EFTYPE */
/* A possible errno value for invalid file format errors */
#define HAVE_EILSEQ 1
/* Define to 1 if you have the <errno.h> header file. */
#define HAVE_ERRNO_H 1
/* Define to 1 if you have the <expat.h> header file. */
/* #undef HAVE_EXPAT_H */
/* Define to 1 if you have the <ext2fs/ext2_fs.h> header file. */
#define HAVE_EXT2FS_EXT2_FS_H 1
/* Define to 1 if you have the `extattr_get_file' function. */
/* #undef HAVE_EXTATTR_GET_FILE */
/* Define to 1 if you have the `extattr_list_file' function. */
/* #undef HAVE_EXTATTR_LIST_FILE */
/* Define to 1 if you have the `extattr_set_fd' function. */
/* #undef HAVE_EXTATTR_SET_FD */
/* Define to 1 if you have the `extattr_set_file' function. */
/* #undef HAVE_EXTATTR_SET_FILE */
/* Define to 1 if EXTATTR_NAMESPACE_USER is defined in sys/extattr.h. */
/* #undef HAVE_DECL_EXTATTR_NAMESPACE_USER */
/* Define to 1 if you have the declaration of `GETACL', and to 0 if you don't.
*/
/* #undef HAVE_DECL_GETACL */
/* Define to 1 if you have the declaration of `GETACLCNT', and to 0 if you
don't. */
/* #undef HAVE_DECL_GETACLCNT */
/* Define to 1 if you have the `fchdir' function. */
#define HAVE_FCHDIR 1
/* Define to 1 if you have the `fchflags' function. */
/* #undef HAVE_FCHFLAGS */
/* Define to 1 if you have the `fchmod' function. */
#define HAVE_FCHMOD 1
/* Define to 1 if you have the `fchown' function. */
#define HAVE_FCHOWN 1
/* Define to 1 if you have the `fcntl' function. */
#define HAVE_FCNTL 1
/* Define to 1 if you have the <fcntl.h> header file. */
#define HAVE_FCNTL_H 1
/* Define to 1 if you have the `fdopendir' function. */
#define HAVE_FDOPENDIR 1
/* Define to 1 if you have the `fgetea' function. */
/* #undef HAVE_FGETEA */
/* Define to 1 if you have the `fgetxattr' function. */
/* #undef HAVE_FGETXATTR */
/* Define to 1 if you have the `flistea' function. */
/* #undef HAVE_FLISTEA */
/* Define to 1 if you have the `flistxattr' function. */
/* #undef HAVE_FLISTXATTR */
/* Define to 1 if you have the `fork' function. */
#define HAVE_FORK 1
/* Define to 1 if fseeko (and presumably ftello) exists and is declared. */
#define HAVE_FSEEKO 1
/* Define to 1 if you have the `fsetea' function. */
/* #undef HAVE_FSETEA */
/* Define to 1 if you have the `fsetxattr' function. */
#define HAVE_FSETXATTR 1
/* Define to 1 if you have the `fstat' function. */
#define HAVE_FSTAT 1
/* Define to 1 if you have the `fstatat' function. */
#define HAVE_FSTATAT 1
/* Define to 1 if you have the `fstatfs' function. */
#define HAVE_FSTATFS 1
/* Define to 1 if you have the `fstatvfs' function. */
#define HAVE_FSTATVFS 1
/* Define to 1 if you have the `ftruncate' function. */
#define HAVE_FTRUNCATE 1
/* Define to 1 if you have the `futimens' function. */
#define HAVE_FUTIMENS 1
/* Define to 1 if you have the `futimes' function. */
#define HAVE_FUTIMES 1
/* Define to 1 if you have the `futimesat' function. */
#define HAVE_FUTIMESAT 1
/* Define to 1 if you have the `getea' function. */
/* #undef HAVE_GETEA */
/* Define to 1 if you have the `geteuid' function. */
#define HAVE_GETEUID 1
/* Define to 1 if you have the `getgrgid_r' function. */
#define HAVE_GETGRGID_R 1
/* Define to 1 if you have the `getgrnam_r' function. */
#define HAVE_GETGRNAM_R 1
/* Define to 1 if you have the `getpid' function. */
#define HAVE_GETPID 1
/* Define to 1 if you have the `getpwnam_r' function. */
#define HAVE_GETPWNAM_R 1
/* Define to 1 if you have the `getpwuid_r' function. */
#define HAVE_GETPWUID_R 1
/* Define to 1 if you have the `getvfsbyname' function. */
/* #undef HAVE_GETVFSBYNAME */
/* Define to 1 if you have the `getxattr' function. */
/* #undef HAVE_GETXATTR */
/* Define to 1 if you have the `gmtime_r' function. */
#define HAVE_GMTIME_R 1
/* Define to 1 if you have the <grp.h> header file. */
#define HAVE_GRP_H 1
/* Define to 1 if you have the `iconv' function. */
/* #undef HAVE_ICONV */
/* Define to 1 if you have the <iconv.h> header file. */
/* #undef HAVE_ICONV_H */
/* Define to 1 if you have the <io.h> header file. */
/* #undef HAVE_IO_H */
/* Define to 1 if you have the <langinfo.h> header file. */
#define HAVE_LANGINFO_H 1
/* Define to 1 if you have the `lchflags' function. */
/* #undef HAVE_LCHFLAGS */
/* Define to 1 if you have the `lchmod' function. */
/* #undef HAVE_LCHMOD */
/* Define to 1 if you have the `lchown' function. */
#define HAVE_LCHOWN 1
/* Define to 1 if you have the `lgetea' function. */
/* #undef HAVE_LGETEA */
/* Define to 1 if you have the `lgetxattr' function. */
/* #undef HAVE_LGETXATTR */
/* Define to 1 if you have the `acl' library (-lacl). */
/* #undef HAVE_LIBACL */
/* Define to 1 if you have the `attr' library (-lattr). */
/* #undef HAVE_LIBATTR */
/* Define to 1 if you have the `bsdxml' library (-lbsdxml). */
/* #undef HAVE_LIBBSDXML */
/* Define to 1 if you have the `bz2' library (-lbz2). */
#define HAVE_LIBBZ2 1
/* Define to 1 if you have the `b2' library (-lb2). */
/* #undef HAVE_LIBB2 */
/* Define to 1 if you have the <blake2.h> header file. */
/* #undef HAVE_BLAKE2_H */
/* Define to 1 if you have the `charset' library (-lcharset). */
/* #undef HAVE_LIBCHARSET */
/* Define to 1 if you have the `crypto' library (-lcrypto). */
#define HAVE_LIBCRYPTO 1
/* Define to 1 if you have the `expat' library (-lexpat). */
/* #undef HAVE_LIBEXPAT */
/* Define to 1 if you have the `gcc' library (-lgcc). */
/* #undef HAVE_LIBGCC */
/* Define to 1 if you have the `lz4' library (-llz4). */
/* #undef HAVE_LIBLZ4 */
/* Define to 1 if you have the `lzma' library (-llzma). */
#define HAVE_LIBLZMA 1
/* Define to 1 if you have the `lzmadec' library (-llzmadec). */
/* #undef HAVE_LIBLZMADEC */
/* Define to 1 if you have the `lzo2' library (-llzo2). */
/* #undef HAVE_LIBLZO2 */
/* Define to 1 if you have the `mbedcrypto' library (-lmbedcrypto). */
/* #undef HAVE_LIBMBEDCRYPTO */
/* Define to 1 if you have the `nettle' library (-lnettle). */
/* #undef HAVE_LIBNETTLE */
/* Define to 1 if you have the `pcre' library (-lpcre). */
/* #undef HAVE_LIBPCRE */
/* Define to 1 if you have the `pcreposix' library (-lpcreposix). */
/* #undef HAVE_LIBPCREPOSIX */
/* Define to 1 if you have the `xml2' library (-lxml2). */
/* #undef HAVE_LIBXML2 */
/* Define to 1 if you have the <libxml/xmlreader.h> header file. */
/* #undef HAVE_LIBXML_XMLREADER_H */
/* Define to 1 if you have the <libxml/xmlwriter.h> header file. */
/* #undef HAVE_LIBXML_XMLWRITER_H */
/* Define to 1 if you have the `z' library (-lz). */
#define HAVE_LIBZ 1
/* Define to 1 if you have the `zstd' library (-lzstd). */
#define HAVE_LIBZSTD 1
/* Define to 1 if you have the `zstd' library (-lzstd) with compression
support. */
#define HAVE_LIBZSTD_COMPRESSOR 1
/* Define to 1 if you have the <limits.h> header file. */
#define HAVE_LIMITS_H 1
/* Define to 1 if you have the `link' function. */
#define HAVE_LINK 1
/* Define to 1 if you have the `linkat' function. */
#define HAVE_LINKAT 1
/* Define to 1 if you have the <linux/fiemap.h> header file. */
#define HAVE_LINUX_FIEMAP_H 1
/* Define to 1 if you have the <linux/fs.h> header file. */
#define HAVE_LINUX_FS_H 1
/* Define to 1 if you have the <linux/magic.h> header file. */
#define HAVE_LINUX_MAGIC_H 1
/* Define to 1 if you have the <linux/types.h> header file. */
#define HAVE_LINUX_TYPES_H 1
/* Define to 1 if you have the `listea' function. */
/* #undef HAVE_LISTEA */
/* Define to 1 if you have the `listxattr' function. */
/* #undef HAVE_LISTXATTR */
/* Define to 1 if you have the `llistea' function. */
/* #undef HAVE_LLISTEA */
/* Define to 1 if you have the `llistxattr' function. */
/* #undef HAVE_LLISTXATTR */
/* Define to 1 if you have the <localcharset.h> header file. */
/* #undef HAVE_LOCALCHARSET_H */
/* Define to 1 if you have the `locale_charset' function. */
/* #undef HAVE_LOCALE_CHARSET */
/* Define to 1 if you have the <locale.h> header file. */
#define HAVE_LOCALE_H 1
/* Define to 1 if you have the `localtime_r' function. */
#define HAVE_LOCALTIME_R 1
/* Define to 1 if the system has the type `long long int'. */
/* #undef HAVE_LONG_LONG_INT */
/* Define to 1 if you have the `lsetea' function. */
/* #undef HAVE_LSETEA */
/* Define to 1 if you have the `lsetxattr' function. */
/* #undef HAVE_LSETXATTR */
/* Define to 1 if you have the `lstat' function. */
#define HAVE_LSTAT 1
/* Define to 1 if `lstat' has the bug that it succeeds when given the
zero-length file name argument. */
/* #undef HAVE_LSTAT_EMPTY_STRING_BUG */
/* Define to 1 if you have the `lutimes' function. */
#define HAVE_LUTIMES 1
/* Define to 1 if you have the <lz4hc.h> header file. */
/* #undef HAVE_LZ4HC_H */
/* Define to 1 if you have the <lz4.h> header file. */
/* #undef HAVE_LZ4_H */
/* Define to 1 if you have the <lzmadec.h> header file. */
/* #undef HAVE_LZMADEC_H */
/* Define to 1 if you have the <lzma.h> header file. */
#define HAVE_LZMA_H 1
/* Define to 1 if you have a working `lzma_stream_encoder_mt' function. */
#define HAVE_LZMA_STREAM_ENCODER_MT 1
/* Define to 1 if you have the <lzo/lzo1x.h> header file. */
/* #undef HAVE_LZO_LZO1X_H */
/* Define to 1 if you have the <lzo/lzoconf.h> header file. */
/* #undef HAVE_LZO_LZOCONF_H */
/* Define to 1 if you have the `mbrtowc' function. */
#define HAVE_MBRTOWC 1
/* Define to 1 if you have the <membership.h> header file. */
/* #undef HAVE_MEMBERSHIP_H */
/* Define to 1 if you have the `memmove' function. */
#define HAVE_MEMMOVE 1
/* Define to 1 if you have the <memory.h> header file. */
#define HAVE_MEMORY_H 1
/* Define to 1 if you have the `mkdir' function. */
#define HAVE_MKDIR 1
/* Define to 1 if you have the `mkfifo' function. */
#define HAVE_MKFIFO 1
/* Define to 1 if you have the `mknod' function. */
#define HAVE_MKNOD 1
/* Define to 1 if you have the `mkstemp' function. */
#define HAVE_MKSTEMP 1
/* Define to 1 if you have the <ndir.h> header file, and it defines `DIR'. */
/* #undef HAVE_NDIR_H */
/* Define to 1 if you have the <nettle/aes.h> header file. */
/* #undef HAVE_NETTLE_AES_H */
/* Define to 1 if you have the <nettle/hmac.h> header file. */
/* #undef HAVE_NETTLE_HMAC_H */
/* Define to 1 if you have the <nettle/md5.h> header file. */
/* #undef HAVE_NETTLE_MD5_H */
/* Define to 1 if you have the <nettle/pbkdf2.h> header file. */
/* #undef HAVE_NETTLE_PBKDF2_H */
/* Define to 1 if you have the <nettle/ripemd160.h> header file. */
/* #undef HAVE_NETTLE_RIPEMD160_H */
/* Define to 1 if you have the <nettle/sha.h> header file. */
/* #undef HAVE_NETTLE_SHA_H */
/* Define to 1 if you have the `nl_langinfo' function. */
#define HAVE_NL_LANGINFO 1
/* Define to 1 if you have the `openat' function. */
#define HAVE_OPENAT 1
/* Define to 1 if you have the <paths.h> header file. */
#define HAVE_PATHS_H 1
/* Define to 1 if you have the <pcreposix.h> header file. */
/* #undef HAVE_PCREPOSIX_H */
/* Define to 1 if you have the `pipe' function. */
#define HAVE_PIPE 1
/* Define to 1 if you have the `PKCS5_PBKDF2_HMAC_SHA1' function. */
/* #undef HAVE_PKCS5_PBKDF2_HMAC_SHA1 */
/* Define to 1 if you have the `poll' function. */
#define HAVE_POLL 1
/* Define to 1 if you have the <poll.h> header file. */
#define HAVE_POLL_H 1
/* Define to 1 if you have the `posix_spawnp' function. */
#define HAVE_POSIX_SPAWNP 1
/* Define to 1 if you have the <process.h> header file. */
/* #undef HAVE_PROCESS_H */
/* Define to 1 if you have the <pthread.h> header file. */
#define HAVE_PTHREAD_H 1
/* Define to 1 if you have the <pwd.h> header file. */
#define HAVE_PWD_H 1
/* Define to 1 if you have the `readdir_r' function. */
#define HAVE_READDIR_R 1
/* Define to 1 if you have the `readlink' function. */
#define HAVE_READLINK 1
/* Define to 1 if you have the `readlinkat' function. */
/* #undef HAVE_READLINKAT */
/* Define to 1 if you have the `readpassphrase' function. */
/* #undef HAVE_READPASSPHRASE */
/* Define to 1 if you have the <readpassphrase.h> header file. */
/* #undef HAVE_READPASSPHRASE_H */
/* Define to 1 if you have the <regex.h> header file. */
#define HAVE_REGEX_H 1
/* Define to 1 if you have the `select' function. */
#define HAVE_SELECT 1
/* Define to 1 if you have the `setenv' function. */
#define HAVE_SETENV 1
/* Define to 1 if you have the `setlocale' function. */
#define HAVE_SETLOCALE 1
/* Define to 1 if you have the `sigaction' function. */
#define HAVE_SIGACTION 1
/* Define to 1 if you have the <signal.h> header file. */
#define HAVE_SIGNAL_H 1
/* Define to 1 if you have the <spawn.h> header file. */
#define HAVE_SPAWN_H 1
/* Define to 1 if you have the `statfs' function. */
#define HAVE_STATFS 1
/* Define to 1 if you have the `statvfs' function. */
#define HAVE_STATVFS 1
/* Define to 1 if `stat' has the bug that it succeeds when given the
zero-length file name argument. */
/* #undef HAVE_STAT_EMPTY_STRING_BUG */
/* Define to 1 if you have the <stdarg.h> header file. */
#define HAVE_STDARG_H 1
/* Define to 1 if you have the <stdlib.h> header file. */
#define HAVE_STDLIB_H 1
/* Define to 1 if you have the `strchr' function. */
#define HAVE_STRCHR 1
/* Define to 1 if you have the `strnlen' function. */
#define HAVE_STRNLEN 1
/* Define to 1 if you have the `strdup' function. */
#define HAVE_STRDUP 1
/* Define to 1 if you have the `strerror' function. */
#define HAVE_STRERROR 1
/* Define to 1 if you have the `strerror_r' function. */
#define HAVE_STRERROR_R 1
/* Define to 1 if you have the `strftime' function. */
#define HAVE_STRFTIME 1
/* Define to 1 if you have the <strings.h> header file. */
#define HAVE_STRINGS_H 1
/* Define to 1 if you have the <string.h> header file. */
#define HAVE_STRING_H 1
/* Define to 1 if you have the `strrchr' function. */
#define HAVE_STRRCHR 1
/* Define to 1 if `f_namemax' is a member of `struct statfs'. */
/* #undef HAVE_STRUCT_STATFS_F_NAMEMAX */
/* Define to 1 if `f_iosize' is a member of `struct statvfs'. */
/* #undef HAVE_STRUCT_STATVFS_F_IOSIZE */
/* Define to 1 if `st_birthtime' is a member of `struct stat'. */
/* #undef HAVE_STRUCT_STAT_ST_BIRTHTIME */
/* Define to 1 if `st_birthtimespec.tv_nsec' is a member of `struct stat'. */
/* #undef HAVE_STRUCT_STAT_ST_BIRTHTIMESPEC_TV_NSEC */
/* Define to 1 if `st_blksize' is a member of `struct stat'. */
#define HAVE_STRUCT_STAT_ST_BLKSIZE 1
/* Define to 1 if `st_flags' is a member of `struct stat'. */
/* #undef HAVE_STRUCT_STAT_ST_FLAGS */
/* Define to 1 if `st_mtimespec.tv_nsec' is a member of `struct stat'. */
/* #undef HAVE_STRUCT_STAT_ST_MTIMESPEC_TV_NSEC */
/* Define to 1 if `st_mtime_n' is a member of `struct stat'. */
/* #undef HAVE_STRUCT_STAT_ST_MTIME_N */
/* Define to 1 if `st_mtime_usec' is a member of `struct stat'. */
/* #undef HAVE_STRUCT_STAT_ST_MTIME_USEC */
/* Define to 1 if `st_mtim.tv_nsec' is a member of `struct stat'. */
#define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1
/* Define to 1 if `st_umtime' is a member of `struct stat'. */
/* #undef HAVE_STRUCT_STAT_ST_UMTIME */
/* Define to 1 if `tm_gmtoff' is a member of `struct tm'. */
#define HAVE_STRUCT_TM_TM_GMTOFF 1
/* Define to 1 if `__tm_gmtoff' is a member of `struct tm'. */
/* #undef HAVE_STRUCT_TM___TM_GMTOFF */
/* Define to 1 if you have `struct vfsconf'. */
/* #undef HAVE_STRUCT_VFSCONF */
/* Define to 1 if you have `struct xvfsconf'. */
/* #undef HAVE_STRUCT_XVFSCONF */
/* Define to 1 if you have the `symlink' function. */
#define HAVE_SYMLINK 1
/* Define to 1 if you have the <sys/acl.h> header file. */
/* #undef HAVE_SYS_ACL_H */
/* Define to 1 if you have the <sys/cdefs.h> header file. */
#define HAVE_SYS_CDEFS_H 1
/* Define to 1 if you have the <sys/dir.h> header file, and it defines `DIR'.
*/
/* #undef HAVE_SYS_DIR_H */
/* Define to 1 if you have the <sys/ea.h> header file. */
/* #undef HAVE_SYS_EA_H */
/* Define to 1 if you have the <sys/extattr.h> header file. */
/* #undef HAVE_SYS_EXTATTR_H */
/* Define to 1 if you have the <sys/ioctl.h> header file. */
#define HAVE_SYS_IOCTL_H 1
/* Define to 1 if you have the <sys/mkdev.h> header file. */
/* #undef HAVE_SYS_MKDEV_H */
/* Define to 1 if you have the <sys/mount.h> header file. */
/* #undef HAVE_SYS_MOUNT_H */
/* Define to 1 if you have the <sys/ndir.h> header file, and it defines `DIR'.
*/
/* #undef HAVE_SYS_NDIR_H */
/* Define to 1 if you have the <sys/param.h> header file. */
#define HAVE_SYS_PARAM_H 1
/* Define to 1 if you have the <sys/poll.h> header file. */
#define HAVE_SYS_POLL_H 1
/* Define to 1 if you have the <sys/richacl.h> header file. */
/* #undef HAVE_SYS_RICHACL_H */
/* Define to 1 if you have the <sys/select.h> header file. */
#define HAVE_SYS_SELECT_H 1
/* Define to 1 if you have the <sys/statfs.h> header file. */
#define HAVE_SYS_STATFS_H 1
/* Define to 1 if you have the <sys/statvfs.h> header file. */
#define HAVE_SYS_STATVFS_H 1
/* Define to 1 if you have the <sys/stat.h> header file. */
#define HAVE_SYS_STAT_H 1
/* Define to 1 if you have the <sys/sysmacros.h> header file. */
#define HAVE_SYS_SYSMACROS_H 1
/* Define to 1 if you have the <sys/time.h> header file. */
#define HAVE_SYS_TIME_H 1
/* Define to 1 if you have the <sys/types.h> header file. */
#define HAVE_SYS_TYPES_H 1
/* Define to 1 if you have the <sys/utime.h> header file. */
/* #undef HAVE_SYS_UTIME_H */
/* Define to 1 if you have the <sys/utsname.h> header file. */
#define HAVE_SYS_UTSNAME_H 1
/* Define to 1 if you have the <sys/vfs.h> header file. */
#define HAVE_SYS_VFS_H 1
/* Define to 1 if you have <sys/wait.h> that is POSIX.1 compatible. */
#define HAVE_SYS_WAIT_H 1
/* Define to 1 if you have the <sys/xattr.h> header file. */
#define HAVE_SYS_XATTR_H 1
/* Define to 1 if you have the `timegm' function. */
#define HAVE_TIMEGM 1
/* Define to 1 if you have the <time.h> header file. */
#define HAVE_TIME_H 1
/* Define to 1 if you have the `tzset' function. */
#define HAVE_TZSET 1
/* Define to 1 if you have the <unistd.h> header file. */
#define HAVE_UNISTD_H 1
/* Define to 1 if you have the `unlinkat' function. */
#define HAVE_UNLINKAT 1
/* Define to 1 if you have the `unsetenv' function. */
#define HAVE_UNSETENV 1
/* Define to 1 if the system has the type `unsigned long long'. */
/* #undef HAVE_UNSIGNED_LONG_LONG */
/* Define to 1 if the system has the type `unsigned long long int'. */
/* #undef HAVE_UNSIGNED_LONG_LONG_INT */
/* Define to 1 if you have the `utime' function. */
#define HAVE_UTIME 1
/* Define to 1 if you have the `utimensat' function. */
#define HAVE_UTIMENSAT 1
/* Define to 1 if you have the `utimes' function. */
#define HAVE_UTIMES 1
/* Define to 1 if you have the <utime.h> header file. */
#define HAVE_UTIME_H 1
/* Define to 1 if you have the `vfork' function. */
#define HAVE_VFORK 1
/* Define to 1 if you have the `vprintf' function. */
#define HAVE_VPRINTF 1
/* Define to 1 if you have the <wchar.h> header file. */
#define HAVE_WCHAR_H 1
/* Define to 1 if the system has the type `wchar_t'. */
#define HAVE_WCHAR_T 1
/* Define to 1 if you have the `wcrtomb' function. */
#define HAVE_WCRTOMB 1
/* Define to 1 if you have the `wcscmp' function. */
#define HAVE_WCSCMP 1
/* Define to 1 if you have the `wcscpy' function. */
#define HAVE_WCSCPY 1
/* Define to 1 if you have the `wcslen' function. */
#define HAVE_WCSLEN 1
/* Define to 1 if you have the `wctomb' function. */
#define HAVE_WCTOMB 1
/* Define to 1 if you have the <wctype.h> header file. */
#define HAVE_WCTYPE_H 1
/* Define to 1 if you have the <wincrypt.h> header file. */
/* #undef HAVE_WINCRYPT_H */
/* Define to 1 if you have the <windows.h> header file. */
/* #undef HAVE_WINDOWS_H */
/* Define to 1 if you have the <winioctl.h> header file. */
/* #undef HAVE_WINIOCTL_H */
/* Define to 1 if you have _CrtSetReportMode in <crtdbg.h> */
/* #undef HAVE__CrtSetReportMode */
/* Define to 1 if you have the `wmemcmp' function. */
#define HAVE_WMEMCMP 1
/* Define to 1 if you have the `wmemcpy' function. */
#define HAVE_WMEMCPY 1
/* Define to 1 if you have the `wmemmove' function. */
#define HAVE_WMEMMOVE 1
/* Define to 1 if you have a working EXT2_IOC_GETFLAGS */
#define HAVE_WORKING_EXT2_IOC_GETFLAGS 1
/* Define to 1 if you have a working FS_IOC_GETFLAGS */
#define HAVE_WORKING_FS_IOC_GETFLAGS 1
/* Define to 1 if you have the <zlib.h> header file. */
#define HAVE_ZLIB_H 1
/* Define to 1 if you have the <zstd.h> header file. */
#define HAVE_ZSTD_H 1
/* Define to 1 if you have the `_ctime64_s' function. */
/* #undef HAVE__CTIME64_S */
/* Define to 1 if you have the `_fseeki64' function. */
/* #undef HAVE__FSEEKI64 */
/* Define to 1 if you have the `_get_timezone' function. */
/* #undef HAVE__GET_TIMEZONE */
/* Define to 1 if you have the `_gmtime64_s' function. */
/* #undef HAVE__GMTIME64_S */
/* Define to 1 if you have the `_localtime64_s' function. */
/* #undef HAVE__LOCALTIME64_S */
/* Define to 1 if you have the `_mkgmtime64' function. */
/* #undef HAVE__MKGMTIME64 */
/* Define as const if the declaration of iconv() needs const. */
#define ICONV_CONST
/* Version number of libarchive as a single integer */
#define LIBARCHIVE_VERSION_NUMBER "3006000"
/* Version number of libarchive */
#define LIBARCHIVE_VERSION_STRING "3.6.0"
/* Define to 1 if `lstat' dereferences a symlink specified with a trailing
slash. */
/* #undef LSTAT_FOLLOWS_SLASHED_SYMLINK */
/* Define to 1 if `major', `minor', and `makedev' are declared in <mkdev.h>.
*/
/* #undef MAJOR_IN_MKDEV */
/* Define to 1 if `major', `minor', and `makedev' are declared in
<sysmacros.h>. */
#define MAJOR_IN_SYSMACROS 1
/* Define to 1 if your C compiler doesn't accept -c and -o together. */
/* #undef NO_MINUS_C_MINUS_O */
/* The size of `wchar_t', as computed by sizeof. */
#define SIZEOF_WCHAR_T 4
/* Define to 1 if strerror_r returns char *. */
/* #undef STRERROR_R_CHAR_P */
/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
#define TIME_WITH_SYS_TIME 1
/*
* Some platform requires a macro to use extension functions.
*/
#define SAFE_TO_DEFINE_EXTENSIONS 1
#ifdef SAFE_TO_DEFINE_EXTENSIONS
/* Enable extensions on AIX 3, Interix. */
#ifndef _ALL_SOURCE
# define _ALL_SOURCE 1
#endif
/* Enable GNU extensions on systems that have them. */
#ifndef _GNU_SOURCE
# define _GNU_SOURCE 1
#endif
/* Enable threading extensions on Solaris. */
#ifndef _POSIX_PTHREAD_SEMANTICS
# define _POSIX_PTHREAD_SEMANTICS 1
#endif
/* Enable extensions on HP NonStop. */
#ifndef _TANDEM_SOURCE
# define _TANDEM_SOURCE 1
#endif
/* Enable general extensions on Solaris. */
#ifndef __EXTENSIONS__
# define __EXTENSIONS__ 1
#endif
#endif /* SAFE_TO_DEFINE_EXTENSIONS */
/* Version number of package */
#define VERSION "3.6.0"
/* Number of bits in a file offset, on hosts where this is settable. */
/* #undef _FILE_OFFSET_BITS */
/* Define to 1 to make fseeko visible on some hosts (e.g. glibc 2.2). */
/* #undef _LARGEFILE_SOURCE */
/* Define for large files, on AIX-style hosts. */
/* #undef _LARGE_FILES */
/* Define to control Windows SDK version */
#ifndef NTDDI_VERSION
/* #undef NTDDI_VERSION */
#endif // NTDDI_VERSION
#ifndef _WIN32_WINNT
/* #undef _WIN32_WINNT */
#endif // _WIN32_WINNT
#ifndef WINVER
/* #undef WINVER */
#endif // WINVER
/* Define to empty if `const' does not conform to ANSI C. */
/* #undef const */
/* Define to `int' if <sys/types.h> doesn't define. */
/* #undef gid_t */
/* Define to `unsigned long' if <sys/types.h> does not define. */
/* #undef id_t */
/* Define to `int' if <sys/types.h> does not define. */
/* #undef mode_t */
/* Define to `long long' if <sys/types.h> does not define. */
/* #undef off_t */
/* Define to `int' if <sys/types.h> doesn't define. */
/* #undef pid_t */
/* Define to `unsigned int' if <sys/types.h> does not define. */
/* #undef size_t */
/* Define to `int' if <sys/types.h> does not define. */
/* #undef ssize_t */
/* Define to `int' if <sys/types.h> doesn't define. */
/* #undef uid_t */
#include <cm3p/kwiml/int.h>
#ifndef KWIML_INT_HAVE_INT64_T
typedef KWIML_INT_int64_t int64_t;
#endif
#ifndef KWIML_INT_HAVE_INT32_T
typedef KWIML_INT_int32_t int32_t;
#endif
#ifndef KWIML_INT_HAVE_INT16_T
typedef KWIML_INT_int16_t int16_t;
#endif
#ifndef KWIML_INT_HAVE_INT8_T
typedef KWIML_INT_int8_t int8_t;
#endif
#ifndef KWIML_INT_HAVE_INTPTR_T
typedef KWIML_INT_intptr_t intptr_t;
#endif
#ifndef KWIML_INT_HAVE_UINT64_T
typedef KWIML_INT_uint64_t uint64_t;
#endif
#ifndef KWIML_INT_HAVE_UINT32_T
typedef KWIML_INT_uint32_t uint32_t;
#endif
#ifndef KWIML_INT_HAVE_UINT16_T
typedef KWIML_INT_uint16_t uint16_t;
#endif
#ifndef KWIML_INT_HAVE_UINT8_T
typedef KWIML_INT_uint8_t uint8_t;
#endif
#ifndef KWIML_INT_HAVE_UINTPTR_T
typedef KWIML_INT_uintptr_t uintptr_t;
#endif
/* Define to 1 if you have the <stdint.h> header file. */
#ifdef KWIML_INT_HAVE_STDINT_H
# define HAVE_STDINT_H 1
#endif
/* Define to 1 if you have the <inttypes.h> header file. */
#ifdef KWIML_INT_HAVE_INTTYPES_H
# define HAVE_INTTYPES_H 1
#endif
#define ARCHIVE_SHA512_COMPILE_TEST
#define ARCHIVE_CRYPTO_SHA512_LIBSYSTEM
#define PLATFORM_CONFIG_H "check_crypto_md.h"
/*-
* Copyright (c) 2003-2007 Tim Kientzle
* Copyright (c) 2011 Andres Mejia
* Copyright (c) 2011 Michihiro NAKAJIMA
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR(S) ``AS IS'' AND ANY EXPRESS OR
* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
* IN NO EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
#include "archive_platform.h"
#include "archive.h"
#include "archive_digest_private.h"
/* In particular, force the configure probe to break if it tries
* to test a combination of OpenSSL and libmd. */
#if defined(ARCHIVE_CRYPTO_OPENSSL) && defined(ARCHIVE_CRYPTO_LIBMD)
#error Cannot use both OpenSSL and libmd.
#endif
/*
* Message digest functions for Windows platform.
*/
#if defined(ARCHIVE_CRYPTO_MD5_WIN) ||\
defined(ARCHIVE_CRYPTO_SHA1_WIN) ||\
defined(ARCHIVE_CRYPTO_SHA256_WIN) ||\
defined(ARCHIVE_CRYPTO_SHA384_WIN) ||\
defined(ARCHIVE_CRYPTO_SHA512_WIN)
/*
* Initialize a Message digest.
*/
static int
win_crypto_init(Digest_CTX *ctx, ALG_ID algId)
{
ctx->valid = 0;
if (!CryptAcquireContext(&ctx->cryptProv, NULL, NULL,
PROV_RSA_FULL, CRYPT_VERIFYCONTEXT)) {
if (GetLastError() != (DWORD)NTE_BAD_KEYSET)
return (ARCHIVE_FAILED);
if (!CryptAcquireContext(&ctx->cryptProv, NULL, NULL,
PROV_RSA_FULL, CRYPT_NEWKEYSET))
return (ARCHIVE_FAILED);
}
if (!CryptCreateHash(ctx->cryptProv, algId, 0, 0, &ctx->hash)) {
CryptReleaseContext(ctx->cryptProv, 0);
return (ARCHIVE_FAILED);
}
ctx->valid = 1;
return (ARCHIVE_OK);
}
/*
* Update a Message digest.
*/
static int
win_crypto_Update(Digest_CTX *ctx, const unsigned char *buf, size_t len)
{
if (!ctx->valid)
return (ARCHIVE_FAILED);
CryptHashData(ctx->hash,
(unsigned char *)(uintptr_t)buf,
(DWORD)len, 0);
return (ARCHIVE_OK);
}
static int
win_crypto_Final(unsigned char *buf, size_t bufsize, Digest_CTX *ctx)
{
DWORD siglen = (DWORD)bufsize;
if (!ctx->valid)
return (ARCHIVE_FAILED);
CryptGetHashParam(ctx->hash, HP_HASHVAL, buf, &siglen, 0);
CryptDestroyHash(ctx->hash);
CryptReleaseContext(ctx->cryptProv, 0);
ctx->valid = 0;
return (ARCHIVE_OK);
}
#endif /* defined(ARCHIVE_CRYPTO_*_WIN) */
/* MD5 implementations */
#if defined(ARCHIVE_CRYPTO_MD5_LIBC)
static int
__archive_md5init(archive_md5_ctx *ctx)
{
MD5Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_md5update(archive_md5_ctx *ctx, const void *indata,
size_t insize)
{
MD5Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_md5final(archive_md5_ctx *ctx, void *md)
{
MD5Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_MD5_LIBMD)
static int
__archive_md5init(archive_md5_ctx *ctx)
{
MD5Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_md5update(archive_md5_ctx *ctx, const void *indata,
size_t insize)
{
MD5Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_md5final(archive_md5_ctx *ctx, void *md)
{
MD5Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_MD5_LIBSYSTEM)
static int
__archive_md5init(archive_md5_ctx *ctx)
{
CC_MD5_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_md5update(archive_md5_ctx *ctx, const void *indata,
size_t insize)
{
CC_MD5_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_md5final(archive_md5_ctx *ctx, void *md)
{
CC_MD5_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_MD5_MBEDTLS)
static int
__archive_md5init(archive_md5_ctx *ctx)
{
mbedtls_md5_init(ctx);
if (mbedtls_md5_starts_ret(ctx) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_md5update(archive_md5_ctx *ctx, const void *indata,
size_t insize)
{
if (mbedtls_md5_update_ret(ctx, indata, insize) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_md5final(archive_md5_ctx *ctx, void *md)
{
if (mbedtls_md5_finish_ret(ctx, md) == 0) {
mbedtls_md5_free(ctx);
return (ARCHIVE_OK);
} else {
mbedtls_md5_free(ctx);
return (ARCHIVE_FATAL);
}
}
#elif defined(ARCHIVE_CRYPTO_MD5_NETTLE)
static int
__archive_md5init(archive_md5_ctx *ctx)
{
md5_init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_md5update(archive_md5_ctx *ctx, const void *indata,
size_t insize)
{
md5_update(ctx, insize, indata);
return (ARCHIVE_OK);
}
static int
__archive_md5final(archive_md5_ctx *ctx, void *md)
{
md5_digest(ctx, MD5_DIGEST_SIZE, md);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_MD5_OPENSSL)
static int
__archive_md5init(archive_md5_ctx *ctx)
{
if ((*ctx = EVP_MD_CTX_new()) == NULL)
return (ARCHIVE_FAILED);
EVP_DigestInit(*ctx, EVP_md5());
return (ARCHIVE_OK);
}
static int
__archive_md5update(archive_md5_ctx *ctx, const void *indata,
size_t insize)
{
EVP_DigestUpdate(*ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_md5final(archive_md5_ctx *ctx, void *md)
{
/* HACK: archive_write_set_format_xar.c is finalizing empty contexts, so
* this is meant to cope with that. Real fix is probably to fix
* archive_write_set_format_xar.c
*/
if (*ctx) {
EVP_DigestFinal(*ctx, md, NULL);
EVP_MD_CTX_free(*ctx);
*ctx = NULL;
}
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_MD5_WIN)
static int
__archive_md5init(archive_md5_ctx *ctx)
{
return (win_crypto_init(ctx, CALG_MD5));
}
static int
__archive_md5update(archive_md5_ctx *ctx, const void *indata,
size_t insize)
{
return (win_crypto_Update(ctx, indata, insize));
}
static int
__archive_md5final(archive_md5_ctx *ctx, void *md)
{
return (win_crypto_Final(md, 16, ctx));
}
#else
static int
__archive_md5init(archive_md5_ctx *ctx)
{
(void)ctx; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_md5update(archive_md5_ctx *ctx, const void *indata,
size_t insize)
{
(void)ctx; /* UNUSED */
(void)indata; /* UNUSED */
(void)insize; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_md5final(archive_md5_ctx *ctx, void *md)
{
(void)ctx; /* UNUSED */
(void)md; /* UNUSED */
return (ARCHIVE_FAILED);
}
#endif
/* RIPEMD160 implementations */
#if defined(ARCHIVE_CRYPTO_RMD160_LIBC)
static int
__archive_ripemd160init(archive_rmd160_ctx *ctx)
{
RMD160Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata,
size_t insize)
{
RMD160Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_ripemd160final(archive_rmd160_ctx *ctx, void *md)
{
RMD160Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_RMD160_LIBMD)
static int
__archive_ripemd160init(archive_rmd160_ctx *ctx)
{
RIPEMD160_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata,
size_t insize)
{
RIPEMD160_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_ripemd160final(archive_rmd160_ctx *ctx, void *md)
{
RIPEMD160_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_RMD160_MBEDTLS)
static int
__archive_ripemd160init(archive_rmd160_ctx *ctx)
{
mbedtls_ripemd160_init(ctx);
if (mbedtls_ripemd160_starts_ret(ctx) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata,
size_t insize)
{
if (mbedtls_ripemd160_update_ret(ctx, indata, insize) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_ripemd160final(archive_rmd160_ctx *ctx, void *md)
{
if (mbedtls_ripemd160_finish_ret(ctx, md) == 0) {
mbedtls_ripemd160_free(ctx);
return (ARCHIVE_OK);
} else {
mbedtls_ripemd160_free(ctx);
return (ARCHIVE_FATAL);
}
}
#elif defined(ARCHIVE_CRYPTO_RMD160_NETTLE)
static int
__archive_ripemd160init(archive_rmd160_ctx *ctx)
{
ripemd160_init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata,
size_t insize)
{
ripemd160_update(ctx, insize, indata);
return (ARCHIVE_OK);
}
static int
__archive_ripemd160final(archive_rmd160_ctx *ctx, void *md)
{
ripemd160_digest(ctx, RIPEMD160_DIGEST_SIZE, md);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_RMD160_OPENSSL)
static int
__archive_ripemd160init(archive_rmd160_ctx *ctx)
{
if ((*ctx = EVP_MD_CTX_new()) == NULL)
return (ARCHIVE_FAILED);
EVP_DigestInit(*ctx, EVP_ripemd160());
return (ARCHIVE_OK);
}
static int
__archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata,
size_t insize)
{
EVP_DigestUpdate(*ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_ripemd160final(archive_rmd160_ctx *ctx, void *md)
{
if (*ctx) {
EVP_DigestFinal(*ctx, md, NULL);
EVP_MD_CTX_free(*ctx);
*ctx = NULL;
}
return (ARCHIVE_OK);
}
#else
static int
__archive_ripemd160init(archive_rmd160_ctx *ctx)
{
(void)ctx; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_ripemd160update(archive_rmd160_ctx *ctx, const void *indata,
size_t insize)
{
(void)ctx; /* UNUSED */
(void)indata; /* UNUSED */
(void)insize; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_ripemd160final(archive_rmd160_ctx *ctx, void *md)
{
(void)ctx; /* UNUSED */
(void)md; /* UNUSED */
return (ARCHIVE_FAILED);
}
#endif
/* SHA1 implementations */
#if defined(ARCHIVE_CRYPTO_SHA1_LIBC)
static int
__archive_sha1init(archive_sha1_ctx *ctx)
{
SHA1Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha1update(archive_sha1_ctx *ctx, const void *indata,
size_t insize)
{
SHA1Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha1final(archive_sha1_ctx *ctx, void *md)
{
SHA1Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA1_LIBMD)
static int
__archive_sha1init(archive_sha1_ctx *ctx)
{
SHA1_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha1update(archive_sha1_ctx *ctx, const void *indata,
size_t insize)
{
SHA1_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha1final(archive_sha1_ctx *ctx, void *md)
{
SHA1_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA1_LIBSYSTEM)
static int
__archive_sha1init(archive_sha1_ctx *ctx)
{
CC_SHA1_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha1update(archive_sha1_ctx *ctx, const void *indata,
size_t insize)
{
CC_SHA1_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha1final(archive_sha1_ctx *ctx, void *md)
{
CC_SHA1_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA1_MBEDTLS)
static int
__archive_sha1init(archive_sha1_ctx *ctx)
{
mbedtls_sha1_init(ctx);
if (mbedtls_sha1_starts_ret(ctx) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_sha1update(archive_sha1_ctx *ctx, const void *indata,
size_t insize)
{
if (mbedtls_sha1_update_ret(ctx, indata, insize) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_sha1final(archive_sha1_ctx *ctx, void *md)
{
if (mbedtls_sha1_finish_ret(ctx, md) == 0) {
mbedtls_sha1_free(ctx);
return (ARCHIVE_OK);
} else {
mbedtls_sha1_free(ctx);
return (ARCHIVE_FATAL);
}
}
#elif defined(ARCHIVE_CRYPTO_SHA1_NETTLE)
static int
__archive_sha1init(archive_sha1_ctx *ctx)
{
sha1_init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha1update(archive_sha1_ctx *ctx, const void *indata,
size_t insize)
{
sha1_update(ctx, insize, indata);
return (ARCHIVE_OK);
}
static int
__archive_sha1final(archive_sha1_ctx *ctx, void *md)
{
sha1_digest(ctx, SHA1_DIGEST_SIZE, md);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA1_OPENSSL)
static int
__archive_sha1init(archive_sha1_ctx *ctx)
{
if ((*ctx = EVP_MD_CTX_new()) == NULL)
return (ARCHIVE_FAILED);
EVP_DigestInit(*ctx, EVP_sha1());
return (ARCHIVE_OK);
}
static int
__archive_sha1update(archive_sha1_ctx *ctx, const void *indata,
size_t insize)
{
EVP_DigestUpdate(*ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha1final(archive_sha1_ctx *ctx, void *md)
{
/* HACK: archive_write_set_format_xar.c is finalizing empty contexts, so
* this is meant to cope with that. Real fix is probably to fix
* archive_write_set_format_xar.c
*/
if (*ctx) {
EVP_DigestFinal(*ctx, md, NULL);
EVP_MD_CTX_free(*ctx);
*ctx = NULL;
}
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA1_WIN)
static int
__archive_sha1init(archive_sha1_ctx *ctx)
{
return (win_crypto_init(ctx, CALG_SHA1));
}
static int
__archive_sha1update(archive_sha1_ctx *ctx, const void *indata,
size_t insize)
{
return (win_crypto_Update(ctx, indata, insize));
}
static int
__archive_sha1final(archive_sha1_ctx *ctx, void *md)
{
return (win_crypto_Final(md, 20, ctx));
}
#else
static int
__archive_sha1init(archive_sha1_ctx *ctx)
{
(void)ctx; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_sha1update(archive_sha1_ctx *ctx, const void *indata,
size_t insize)
{
(void)ctx; /* UNUSED */
(void)indata; /* UNUSED */
(void)insize; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_sha1final(archive_sha1_ctx *ctx, void *md)
{
(void)ctx; /* UNUSED */
(void)md; /* UNUSED */
return (ARCHIVE_FAILED);
}
#endif
/* SHA256 implementations */
#if defined(ARCHIVE_CRYPTO_SHA256_LIBC)
static int
__archive_sha256init(archive_sha256_ctx *ctx)
{
SHA256_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha256update(archive_sha256_ctx *ctx, const void *indata,
size_t insize)
{
SHA256_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha256final(archive_sha256_ctx *ctx, void *md)
{
SHA256_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA256_LIBC2)
static int
__archive_sha256init(archive_sha256_ctx *ctx)
{
SHA256Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha256update(archive_sha256_ctx *ctx, const void *indata,
size_t insize)
{
SHA256Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha256final(archive_sha256_ctx *ctx, void *md)
{
SHA256Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA256_LIBC3)
static int
__archive_sha256init(archive_sha256_ctx *ctx)
{
SHA256Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha256update(archive_sha256_ctx *ctx, const void *indata,
size_t insize)
{
SHA256Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha256final(archive_sha256_ctx *ctx, void *md)
{
SHA256Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA256_LIBMD)
static int
__archive_sha256init(archive_sha256_ctx *ctx)
{
SHA256_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha256update(archive_sha256_ctx *ctx, const void *indata,
size_t insize)
{
SHA256_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha256final(archive_sha256_ctx *ctx, void *md)
{
SHA256_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA256_LIBSYSTEM)
static int
__archive_sha256init(archive_sha256_ctx *ctx)
{
CC_SHA256_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha256update(archive_sha256_ctx *ctx, const void *indata,
size_t insize)
{
CC_SHA256_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha256final(archive_sha256_ctx *ctx, void *md)
{
CC_SHA256_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA256_MBEDTLS)
static int
__archive_sha256init(archive_sha256_ctx *ctx)
{
mbedtls_sha256_init(ctx);
if (mbedtls_sha256_starts_ret(ctx, 0) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_sha256update(archive_sha256_ctx *ctx, const void *indata,
size_t insize)
{
if (mbedtls_sha256_update_ret(ctx, indata, insize) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_sha256final(archive_sha256_ctx *ctx, void *md)
{
if (mbedtls_sha256_finish_ret(ctx, md) == 0) {
mbedtls_sha256_free(ctx);
return (ARCHIVE_OK);
} else {
mbedtls_sha256_free(ctx);
return (ARCHIVE_FATAL);
}
}
#elif defined(ARCHIVE_CRYPTO_SHA256_NETTLE)
static int
__archive_sha256init(archive_sha256_ctx *ctx)
{
sha256_init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha256update(archive_sha256_ctx *ctx, const void *indata,
size_t insize)
{
sha256_update(ctx, insize, indata);
return (ARCHIVE_OK);
}
static int
__archive_sha256final(archive_sha256_ctx *ctx, void *md)
{
sha256_digest(ctx, SHA256_DIGEST_SIZE, md);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA256_OPENSSL)
static int
__archive_sha256init(archive_sha256_ctx *ctx)
{
if ((*ctx = EVP_MD_CTX_new()) == NULL)
return (ARCHIVE_FAILED);
EVP_DigestInit(*ctx, EVP_sha256());
return (ARCHIVE_OK);
}
static int
__archive_sha256update(archive_sha256_ctx *ctx, const void *indata,
size_t insize)
{
EVP_DigestUpdate(*ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha256final(archive_sha256_ctx *ctx, void *md)
{
if (*ctx) {
EVP_DigestFinal(*ctx, md, NULL);
EVP_MD_CTX_free(*ctx);
*ctx = NULL;
}
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA256_WIN)
static int
__archive_sha256init(archive_sha256_ctx *ctx)
{
return (win_crypto_init(ctx, CALG_SHA_256));
}
static int
__archive_sha256update(archive_sha256_ctx *ctx, const void *indata,
size_t insize)
{
return (win_crypto_Update(ctx, indata, insize));
}
static int
__archive_sha256final(archive_sha256_ctx *ctx, void *md)
{
return (win_crypto_Final(md, 32, ctx));
}
#else
static int
__archive_sha256init(archive_sha256_ctx *ctx)
{
(void)ctx; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_sha256update(archive_sha256_ctx *ctx, const void *indata,
size_t insize)
{
(void)ctx; /* UNUSED */
(void)indata; /* UNUSED */
(void)insize; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_sha256final(archive_sha256_ctx *ctx, void *md)
{
(void)ctx; /* UNUSED */
(void)md; /* UNUSED */
return (ARCHIVE_FAILED);
}
#endif
/* SHA384 implementations */
#if defined(ARCHIVE_CRYPTO_SHA384_LIBC)
static int
__archive_sha384init(archive_sha384_ctx *ctx)
{
SHA384_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha384update(archive_sha384_ctx *ctx, const void *indata,
size_t insize)
{
SHA384_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha384final(archive_sha384_ctx *ctx, void *md)
{
SHA384_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA384_LIBC2)
static int
__archive_sha384init(archive_sha384_ctx *ctx)
{
SHA384Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha384update(archive_sha384_ctx *ctx, const void *indata,
size_t insize)
{
SHA384Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha384final(archive_sha384_ctx *ctx, void *md)
{
SHA384Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA384_LIBC3)
static int
__archive_sha384init(archive_sha384_ctx *ctx)
{
SHA384Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha384update(archive_sha384_ctx *ctx, const void *indata,
size_t insize)
{
SHA384Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha384final(archive_sha384_ctx *ctx, void *md)
{
SHA384Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA384_LIBSYSTEM)
static int
__archive_sha384init(archive_sha384_ctx *ctx)
{
CC_SHA384_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha384update(archive_sha384_ctx *ctx, const void *indata,
size_t insize)
{
CC_SHA384_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha384final(archive_sha384_ctx *ctx, void *md)
{
CC_SHA384_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA384_MBEDTLS)
static int
__archive_sha384init(archive_sha384_ctx *ctx)
{
mbedtls_sha512_init(ctx);
if (mbedtls_sha512_starts_ret(ctx, 1) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_sha384update(archive_sha384_ctx *ctx, const void *indata,
size_t insize)
{
if (mbedtls_sha512_update_ret(ctx, indata, insize) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_sha384final(archive_sha384_ctx *ctx, void *md)
{
if (mbedtls_sha512_finish_ret(ctx, md) == 0) {
mbedtls_sha512_free(ctx);
return (ARCHIVE_OK);
} else {
mbedtls_sha512_free(ctx);
return (ARCHIVE_FATAL);
}
}
#elif defined(ARCHIVE_CRYPTO_SHA384_NETTLE)
static int
__archive_sha384init(archive_sha384_ctx *ctx)
{
sha384_init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha384update(archive_sha384_ctx *ctx, const void *indata,
size_t insize)
{
sha384_update(ctx, insize, indata);
return (ARCHIVE_OK);
}
static int
__archive_sha384final(archive_sha384_ctx *ctx, void *md)
{
sha384_digest(ctx, SHA384_DIGEST_SIZE, md);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA384_OPENSSL)
static int
__archive_sha384init(archive_sha384_ctx *ctx)
{
if ((*ctx = EVP_MD_CTX_new()) == NULL)
return (ARCHIVE_FAILED);
EVP_DigestInit(*ctx, EVP_sha384());
return (ARCHIVE_OK);
}
static int
__archive_sha384update(archive_sha384_ctx *ctx, const void *indata,
size_t insize)
{
EVP_DigestUpdate(*ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha384final(archive_sha384_ctx *ctx, void *md)
{
if (*ctx) {
EVP_DigestFinal(*ctx, md, NULL);
EVP_MD_CTX_free(*ctx);
*ctx = NULL;
}
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA384_WIN)
static int
__archive_sha384init(archive_sha384_ctx *ctx)
{
return (win_crypto_init(ctx, CALG_SHA_384));
}
static int
__archive_sha384update(archive_sha384_ctx *ctx, const void *indata,
size_t insize)
{
return (win_crypto_Update(ctx, indata, insize));
}
static int
__archive_sha384final(archive_sha384_ctx *ctx, void *md)
{
return (win_crypto_Final(md, 48, ctx));
}
#else
static int
__archive_sha384init(archive_sha384_ctx *ctx)
{
(void)ctx; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_sha384update(archive_sha384_ctx *ctx, const void *indata,
size_t insize)
{
(void)ctx; /* UNUSED */
(void)indata; /* UNUSED */
(void)insize; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_sha384final(archive_sha384_ctx *ctx, void *md)
{
(void)ctx; /* UNUSED */
(void)md; /* UNUSED */
return (ARCHIVE_FAILED);
}
#endif
/* SHA512 implementations */
#if defined(ARCHIVE_CRYPTO_SHA512_LIBC)
static int
__archive_sha512init(archive_sha512_ctx *ctx)
{
SHA512_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha512update(archive_sha512_ctx *ctx, const void *indata,
size_t insize)
{
SHA512_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha512final(archive_sha512_ctx *ctx, void *md)
{
SHA512_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA512_LIBC2)
static int
__archive_sha512init(archive_sha512_ctx *ctx)
{
SHA512Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha512update(archive_sha512_ctx *ctx, const void *indata,
size_t insize)
{
SHA512Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha512final(archive_sha512_ctx *ctx, void *md)
{
SHA512Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA512_LIBC3)
static int
__archive_sha512init(archive_sha512_ctx *ctx)
{
SHA512Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha512update(archive_sha512_ctx *ctx, const void *indata,
size_t insize)
{
SHA512Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha512final(archive_sha512_ctx *ctx, void *md)
{
SHA512Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA512_LIBMD)
static int
__archive_sha512init(archive_sha512_ctx *ctx)
{
SHA512_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha512update(archive_sha512_ctx *ctx, const void *indata,
size_t insize)
{
SHA512_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha512final(archive_sha512_ctx *ctx, void *md)
{
SHA512_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA512_LIBSYSTEM)
static int
__archive_sha512init(archive_sha512_ctx *ctx)
{
CC_SHA512_Init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha512update(archive_sha512_ctx *ctx, const void *indata,
size_t insize)
{
CC_SHA512_Update(ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha512final(archive_sha512_ctx *ctx, void *md)
{
CC_SHA512_Final(md, ctx);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA512_MBEDTLS)
static int
__archive_sha512init(archive_sha512_ctx *ctx)
{
mbedtls_sha512_init(ctx);
if (mbedtls_sha512_starts_ret(ctx, 0) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_sha512update(archive_sha512_ctx *ctx, const void *indata,
size_t insize)
{
if (mbedtls_sha512_update_ret(ctx, indata, insize) == 0)
return (ARCHIVE_OK);
else
return (ARCHIVE_FATAL);
}
static int
__archive_sha512final(archive_sha512_ctx *ctx, void *md)
{
if (mbedtls_sha512_finish_ret(ctx, md) == 0) {
mbedtls_sha512_free(ctx);
return (ARCHIVE_OK);
} else {
mbedtls_sha512_free(ctx);
return (ARCHIVE_FATAL);
}
}
#elif defined(ARCHIVE_CRYPTO_SHA512_NETTLE)
static int
__archive_sha512init(archive_sha512_ctx *ctx)
{
sha512_init(ctx);
return (ARCHIVE_OK);
}
static int
__archive_sha512update(archive_sha512_ctx *ctx, const void *indata,
size_t insize)
{
sha512_update(ctx, insize, indata);
return (ARCHIVE_OK);
}
static int
__archive_sha512final(archive_sha512_ctx *ctx, void *md)
{
sha512_digest(ctx, SHA512_DIGEST_SIZE, md);
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA512_OPENSSL)
static int
__archive_sha512init(archive_sha512_ctx *ctx)
{
if ((*ctx = EVP_MD_CTX_new()) == NULL)
return (ARCHIVE_FAILED);
EVP_DigestInit(*ctx, EVP_sha512());
return (ARCHIVE_OK);
}
static int
__archive_sha512update(archive_sha512_ctx *ctx, const void *indata,
size_t insize)
{
EVP_DigestUpdate(*ctx, indata, insize);
return (ARCHIVE_OK);
}
static int
__archive_sha512final(archive_sha512_ctx *ctx, void *md)
{
if (*ctx) {
EVP_DigestFinal(*ctx, md, NULL);
EVP_MD_CTX_free(*ctx);
*ctx = NULL;
}
return (ARCHIVE_OK);
}
#elif defined(ARCHIVE_CRYPTO_SHA512_WIN)
static int
__archive_sha512init(archive_sha512_ctx *ctx)
{
return (win_crypto_init(ctx, CALG_SHA_512));
}
static int
__archive_sha512update(archive_sha512_ctx *ctx, const void *indata,
size_t insize)
{
return (win_crypto_Update(ctx, indata, insize));
}
static int
__archive_sha512final(archive_sha512_ctx *ctx, void *md)
{
return (win_crypto_Final(md, 64, ctx));
}
#else
static int
__archive_sha512init(archive_sha512_ctx *ctx)
{
(void)ctx; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_sha512update(archive_sha512_ctx *ctx, const void *indata,
size_t insize)
{
(void)ctx; /* UNUSED */
(void)indata; /* UNUSED */
(void)insize; /* UNUSED */
return (ARCHIVE_FAILED);
}
static int
__archive_sha512final(archive_sha512_ctx *ctx, void *md)
{
(void)ctx; /* UNUSED */
(void)md; /* UNUSED */
return (ARCHIVE_FAILED);
}
#endif
/* NOTE: Message Digest functions are set based on availability and by the
* following order of preference.
* 1. libc
* 2. libc2
* 3. libc3
* 4. libSystem
* 5. Nettle
* 6. OpenSSL
* 7. libmd
* 8. Windows API
*/
const struct archive_digest __archive_digest =
{
/* MD5 */
&__archive_md5init,
&__archive_md5update,
&__archive_md5final,
/* RIPEMD160 */
&__archive_ripemd160init,
&__archive_ripemd160update,
&__archive_ripemd160final,
/* SHA1 */
&__archive_sha1init,
&__archive_sha1update,
&__archive_sha1final,
/* SHA256 */
&__archive_sha256init,
&__archive_sha256update,
&__archive_sha256final,
/* SHA384 */
&__archive_sha384init,
&__archive_sha384update,
&__archive_sha384final,
/* SHA512 */
&__archive_sha512init,
&__archive_sha512update,
&__archive_sha512final
};
int
main(int argc, char **argv)
{
archive_sha512_ctx ctx;
archive_sha512_init(&ctx);
archive_sha512_update(&ctx, *argv, argc);
archive_sha512_final(&ctx, NULL);
return 0;
}
Checking for curses support passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/Source/Checks/Curses-build
Run Build Command(s):/bin/gmake -f Makefile CheckCurses && [ 50%] Building C object CMakeFiles/CheckCurses.dir/CheckCurses.c.o
[100%] Linking C executable CheckCurses
[100%] Built target CheckCurses
Determining if the function wsyncup exists in the /usr/lib64/libcurses.so passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-yHF5kc
Run Build Command(s):/bin/gmake -f Makefile cmTC_dbc9b/fast && gmake -f CMakeFiles/cmTC_dbc9b.dir/build.make CMakeFiles/cmTC_dbc9b.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-yHF5kc'
Building C object CMakeFiles/cmTC_dbc9b.dir/CheckFunctionExists.c.o
/bin/gcc -DCHECK_FUNCTION_EXISTS=wsyncup -std=gnu99 -o CMakeFiles/cmTC_dbc9b.dir/CheckFunctionExists.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-yHF5kc/CheckFunctionExists.c
Linking C executable cmTC_dbc9b
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_dbc9b.dir/link.txt --verbose=1
/bin/gcc -DCHECK_FUNCTION_EXISTS=wsyncup CMakeFiles/cmTC_dbc9b.dir/CheckFunctionExists.c.o -o cmTC_dbc9b -lcurses
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-yHF5kc'
Determining if the function cbreak exists in the /usr/lib64/libncurses.so passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-xlgkLt
Run Build Command(s):/bin/gmake -f Makefile cmTC_969ac/fast && gmake -f CMakeFiles/cmTC_969ac.dir/build.make CMakeFiles/cmTC_969ac.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-xlgkLt'
Building C object CMakeFiles/cmTC_969ac.dir/CheckFunctionExists.c.o
/bin/gcc -DCHECK_FUNCTION_EXISTS=cbreak -std=gnu99 -o CMakeFiles/cmTC_969ac.dir/CheckFunctionExists.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-xlgkLt/CheckFunctionExists.c
Linking C executable cmTC_969ac
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_969ac.dir/link.txt --verbose=1
/bin/gcc -DCHECK_FUNCTION_EXISTS=cbreak CMakeFiles/cmTC_969ac.dir/CheckFunctionExists.c.o -o cmTC_969ac -lncurses
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-xlgkLt'
Determining if the function nodelay exists in the /usr/lib64/libncurses.so passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-YQlUlL
Run Build Command(s):/bin/gmake -f Makefile cmTC_d7ba3/fast && gmake -f CMakeFiles/cmTC_d7ba3.dir/build.make CMakeFiles/cmTC_d7ba3.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-YQlUlL'
Building C object CMakeFiles/cmTC_d7ba3.dir/CheckFunctionExists.c.o
/bin/gcc -DCHECK_FUNCTION_EXISTS=nodelay -std=gnu99 -o CMakeFiles/cmTC_d7ba3.dir/CheckFunctionExists.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-YQlUlL/CheckFunctionExists.c
Linking C executable cmTC_d7ba3
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_d7ba3.dir/link.txt --verbose=1
/bin/gcc -DCHECK_FUNCTION_EXISTS=nodelay CMakeFiles/cmTC_d7ba3.dir/CheckFunctionExists.c.o -o cmTC_d7ba3 -lncurses
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-YQlUlL'
Determining if the use_default_colors exist passed with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-HXLkC3
Run Build Command(s):/bin/gmake -f Makefile cmTC_cf603/fast && gmake -f CMakeFiles/cmTC_cf603.dir/build.make CMakeFiles/cmTC_cf603.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-HXLkC3'
Building C object CMakeFiles/cmTC_cf603.dir/CheckSymbolExists.c.o
/bin/gcc -I/usr/src/cmake-3.25.0/Source/CursesDialog/form -std=c99 -o CMakeFiles/cmTC_cf603.dir/CheckSymbolExists.c.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-HXLkC3/CheckSymbolExists.c
Linking C executable cmTC_cf603
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_cf603.dir/link.txt --verbose=1
/bin/gcc CMakeFiles/cmTC_cf603.dir/CheckSymbolExists.c.o -o cmTC_cf603 -lncurses
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-HXLkC3'
File CheckSymbolExists.c:
/* */
#include <form.h>
int main(int argc, char** argv)
{
(void)argv;
#ifndef use_default_colors
return ((int*)(&use_default_colors))[argc];
#else
(void)argc;
return 0;
#endif
}
Performing C++ SOURCE FILE Test run_pic_test succeeded with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-96WGfn
Run Build Command(s):/bin/gmake -f Makefile cmTC_d4a2d/fast && gmake -f CMakeFiles/cmTC_d4a2d.dir/build.make CMakeFiles/cmTC_d4a2d.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-96WGfn'
Building CXX object CMakeFiles/cmTC_d4a2d.dir/src.cxx.o
/bin/g++ -Drun_pic_test -fPIE -std=gnu++11 -o CMakeFiles/cmTC_d4a2d.dir/src.cxx.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-96WGfn/src.cxx
Linking CXX executable cmTC_d4a2d
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_d4a2d.dir/link.txt --verbose=1
/bin/g++ CMakeFiles/cmTC_d4a2d.dir/src.cxx.o -o cmTC_d4a2d
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-96WGfn'
Source file was:
int main() { return 0; }
Performing C++ SOURCE FILE Test run_inlines_hidden_test succeeded with the following output:
Change Dir: /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-Rg1H6G
Run Build Command(s):/bin/gmake -f Makefile cmTC_f8d31/fast && gmake -f CMakeFiles/cmTC_f8d31.dir/build.make CMakeFiles/cmTC_f8d31.dir/build
gmake[1]: Entering directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-Rg1H6G'
Building CXX object CMakeFiles/cmTC_f8d31.dir/src.cxx.o
/bin/g++ -Drun_inlines_hidden_test -fvisibility-inlines-hidden -std=gnu++11 -o CMakeFiles/cmTC_f8d31.dir/src.cxx.o -c /usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-Rg1H6G/src.cxx
Linking CXX executable cmTC_f8d31
/usr/src/cmake-3.25.0/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/cmTC_f8d31.dir/link.txt --verbose=1
/bin/g++ CMakeFiles/cmTC_f8d31.dir/src.cxx.o -o cmTC_f8d31
gmake[1]: Leaving directory `/usr/src/cmake-3.25.0/CMakeFiles/CMakeScratch/TryCompile-Rg1H6G'
Source file was:
int main() { return 0; }