This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. It was created by libarchive configure 3.4.0, which was generated by GNU Autoconf 2.69. Invocation command line was $ ./configure --target=arm-buildroot-uclinux-uclibcgnueabi --host=arm-buildroot-uclinux-uclibcgnueabi --build=x86_64-pc-linux-gnu --prefix=/usr --exec-prefix=/usr --sysconfdir=/etc --localstatedir=/var --program-prefix= --disable-gtk-doc --disable-gtk-doc-html --disable-doc --disable-docs --disable-documentation --with-xmlto=no --with-fop=no --disable-dependency-tracking --enable-ipv6 --disable-nls --enable-static --disable-shared --disable-bsdtar --disable-bsdcpio --disable-bsdcat --disable-acl --disable-xattr --without-bz2lib --without-expat --without-libiconv-prefix --without-xml2 --without-lzo2 --without-nettle --without-openssl --without-zlib --with-lzma ## --------- ## ## Platform. ## ## --------- ## hostname = gcc160.bak.milne.osuosl.org uname -m = x86_64 uname -r = 4.9.0-8-amd64 uname -s = Linux uname -v = #1 SMP Debian 4.9.144-3.1 (2019-02-19) /usr/bin/uname -p = unknown /bin/uname -X = unknown /bin/arch = unknown /usr/bin/arch -k = unknown /usr/convex/getsysinfo = unknown /usr/bin/hostinfo = unknown /bin/machine = unknown /usr/bin/oslevel = unknown /bin/universe = unknown PATH: /home/buildroot/autobuild/instance-0/output/host/bin PATH: /home/buildroot/autobuild/instance-0/output/host/sbin PATH: /usr/local/bin PATH: /usr/bin PATH: /bin PATH: /usr/local/games PATH: /usr/games PATH: /home/buildroot/.local/bin ## ----------- ## ## Core tests. ## ## ----------- ## configure:2874: checking for a BSD-compatible install configure:2942: result: /usr/bin/install -c configure:2953: checking whether build environment is sane configure:3008: result: yes configure:3067: checking for arm-buildroot-uclinux-uclibcgnueabi-strip configure:3094: result: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-strip configure:3159: checking for a thread-safe mkdir -p configure:3198: result: /bin/mkdir -p configure:3205: checking for gawk configure:3221: found /usr/bin/gawk configure:3232: result: gawk configure:3243: checking whether make sets $(MAKE) configure:3265: result: yes configure:3294: checking whether make supports nested variables configure:3311: result: yes configure:3438: checking whether to enable maintainer-specific portions of Makefiles configure:3447: result: yes configure:3471: checking whether make supports nested variables configure:3488: result: yes configure:3566: checking build system type configure:3580: result: x86_64-pc-linux-gnu configure:3600: checking host system type configure:3613: result: arm-buildroot-uclinux-uclibcgnueabi configure:3672: checking for arm-buildroot-uclinux-uclibcgnueabi-gcc configure:3699: result: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc configure:3968: checking for C compiler version configure:3977: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc --version >&5 arm-linux-gcc.br_real (Buildroot 2019.02-rc1) 7.4.0 Copyright (C) 2017 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. configure:3988: $? = 0 configure:3977: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -v >&5 Using built-in specs. COLLECT_GCC=/home/buildroot/autobuild/instance-0/output/host/opt/ext-toolchain/bin/arm-linux-gcc.br_real COLLECT_LTO_WRAPPER=/home/buildroot/autobuild/instance-0/output/host/opt/ext-toolchain/bin/../libexec/gcc/arm-buildroot-uclinux-uclibcgnueabi/7.4.0/lto-wrapper Target: arm-buildroot-uclinux-uclibcgnueabi Configured with: ./configure --prefix=/opt/br-arm-cortex-m4-full-2019.02-rc1 --sysconfdir=/opt/br-arm-cortex-m4-full-2019.02-rc1/etc --enable-static --target=arm-buildroot-uclinux-uclibcgnueabi --with-sysroot=/opt/br-arm-cortex-m4-full-2019.02-rc1/arm-buildroot-uclinux-uclibcgnueabi/sysroot --enable-__cxa_atexit --with-gnu-ld --disable-libssp --disable-multilib --disable-decimal-float --with-gmp=/opt/br-arm-cortex-m4-full-2019.02-rc1 --with-mpc=/opt/br-arm-cortex-m4-full-2019.02-rc1 --with-mpfr=/opt/br-arm-cortex-m4-full-2019.02-rc1 --with-pkgversion='Buildroot 2019.02-rc1' --with-bugurl=http://bugs.buildroot.net/ --disable-libquadmath --disable-libsanitizer --disable-tls --disable-libmudflap --enable-threads --without-isl --without-cloog --with-float=soft --with-abi=aapcs-linux --with-cpu=cortex-m4 --with-float=soft --with-mode=thumb --enable-languages=c,c++ --with-build-time-tools=/opt/br-arm-cortex-m4-full-2019.02-rc1/arm-buildroot-uclinux-uclibcgnueabi/bin --disable-libcilkrts --disable-shared --disable-libgomp Thread model: posix gcc version 7.4.0 (Buildroot 2019.02-rc1) COMPILER_PATH=/home/buildroot/autobuild/instance-0/output/host/opt/ext-toolchain/bin/../libexec/gcc/arm-buildroot-uclinux-uclibcgnueabi/7.4.0/:/home/buildroot/autobuild/instance-0/output/host/opt/ext-toolchain/bin/../libexec/gcc/:/home/buildroot/autobuild/instance-0/output/host/opt/ext-toolchain/bin/../lib/gcc/arm-buildroot-uclinux-uclibcgnueabi/7.4.0/../../../../arm-buildroot-uclinux-uclibcgnueabi/bin/ LIBRARY_PATH=/home/buildroot/autobuild/instance-0/output/host/opt/ext-toolchain/bin/../lib/gcc/arm-buildroot-uclinux-uclibcgnueabi/7.4.0/:/home/buildroot/autobuild/instance-0/output/host/opt/ext-toolchain/bin/../lib/gcc/:/home/buildroot/autobuild/instance-0/output/host/opt/ext-toolchain/bin/../lib/gcc/arm-buildroot-uclinux-uclibcgnueabi/7.4.0/../../../../arm-buildroot-uclinux-uclibcgnueabi/lib/:/home/buildroot/autobuild/instance-0/output/host/arm-buildroot-uclinux-uclibcgnueabi/sysroot/lib/:/home/buildroot/autobuild/instance-0/output/host/arm-buildroot-uclinux-uclibcgnueabi/sysroot/usr/lib/ COLLECT_GCC_OPTIONS='-mabi=aapcs-linux' '-mfloat-abi=soft' '-mthumb' '-mfloat-abi=soft' '-mcpu=cortex-m4' '-v' ... rest of stderr output deleted ... configure:3988: $? = 1 configure:3977: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -V >&5 arm-linux-gcc.br_real: error: unrecognized command line option '-V' configure:3988: $? = 1 configure:3977: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -qversion >&5 arm-linux-gcc.br_real: error: unrecognized command line option '-qversion'; did you mean '--version'? configure:3988: $? = 1 configure:4008: checking whether the C compiler works configure:4030: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Wl,-elf2flt -static conftest.c >&5 configure:4034: $? = 0 configure:4082: result: yes configure:4085: checking for C compiler default output file name configure:4087: result: a.out configure:4093: checking for suffix of executables configure:4100: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -o conftest -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Wl,-elf2flt -static conftest.c >&5 configure:4104: $? = 0 configure:4126: result: configure:4148: checking whether we are cross compiling configure:4186: result: yes configure:4191: checking for suffix of object files configure:4213: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 configure:4217: $? = 0 configure:4238: result: o configure:4242: checking whether we are using the GNU C compiler configure:4261: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 configure:4261: $? = 0 configure:4270: result: yes configure:4279: checking whether /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc accepts -g configure:4299: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -g -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 configure:4299: $? = 0 configure:4340: result: yes configure:4357: checking for /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc option to accept ISO C89 configure:4420: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 configure:4420: $? = 0 configure:4433: result: none needed configure:4458: checking whether /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc understands -c and -o together configure:4480: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c conftest.c -o conftest2.o configure:4483: $? = 0 configure:4480: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c conftest.c -o conftest2.o configure:4483: $? = 0 configure:4495: result: yes configure:4515: checking whether make supports the include directive configure:4530: make -f confmf.GNU && cat confinc.out make[1]: Entering directory '/home/buildroot/autobuild/instance-0/output/build/libarchive-3.4.0' make[1]: Leaving directory '/home/buildroot/autobuild/instance-0/output/build/libarchive-3.4.0' this is the am__doit target configure:4533: $? = 0 configure:4552: result: yes (GNU style) configure:4577: checking dependency style of /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc configure:4688: result: none configure:4710: checking how to run the C preprocessor configure:4780: result: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-cpp configure:4800: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-cpp -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c configure:4800: $? = 0 configure:4814: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-cpp -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c conftest.c:16:10: fatal error: ac_nonexistent.h: No such file or directory #include ^~~~~~~~~~~~~~~~~~ compilation terminated. configure:4814: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "libarchive" | #define PACKAGE_TARNAME "libarchive" | #define PACKAGE_VERSION "3.4.0" | #define PACKAGE_STRING "libarchive 3.4.0" | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com" | #define PACKAGE_URL "" | #define PACKAGE "libarchive" | #define VERSION "3.4.0" | #define LIBARCHIVE_VERSION_STRING "3.4.0" | #define LIBARCHIVE_VERSION_NUMBER "3004000" | #define BSDCPIO_VERSION_STRING "3.4.0" | #define BSDTAR_VERSION_STRING "3.4.0" | #define BSDCAT_VERSION_STRING "3.4.0" | /* end confdefs.h. */ | #include configure:4843: checking for grep that handles long lines and -e configure:4901: result: /bin/grep configure:4906: checking for egrep configure:4968: result: /bin/grep -E configure:4973: checking for ANSI C header files configure:4993: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 configure:4993: $? = 0 configure:5077: result: yes configure:5090: checking for sys/types.h configure:5090: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 configure:5090: $? = 0 configure:5090: result: yes configure:5090: checking for sys/stat.h configure:5090: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 configure:5090: $? = 0 configure:5090: result: yes configure:5090: checking for stdlib.h configure:5090: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 configure:5090: $? = 0 configure:5090: result: yes configure:5090: checking for string.h configure:5090: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 configure:5090: $? = 0 configure:5090: result: yes configure:5090: checking for memory.h configure:5090: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 configure:5090: $? = 0 configure:5090: result: yes configure:5090: checking for strings.h configure:5090: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 configure:5090: $? = 0 configure:5090: result: yes configure:5090: checking for inttypes.h configure:5090: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 configure:5090: $? = 0 configure:5090: result: yes configure:5090: checking for stdint.h configure:5090: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 configure:5090: $? = 0 configure:5090: result: yes configure:5090: checking for unistd.h configure:5090: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 configure:5090: $? = 0 configure:5090: result: yes configure:5103: checking minix/config.h usability configure:5103: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 conftest.c:59:10: fatal error: minix/config.h: No such file or directory #include ^~~~~~~~~~~~~~~~ compilation terminated. configure:5103: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "libarchive" | #define PACKAGE_TARNAME "libarchive" | #define PACKAGE_VERSION "3.4.0" | #define PACKAGE_STRING "libarchive 3.4.0" | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com" | #define PACKAGE_URL "" | #define PACKAGE "libarchive" | #define VERSION "3.4.0" | #define LIBARCHIVE_VERSION_STRING "3.4.0" | #define LIBARCHIVE_VERSION_NUMBER "3004000" | #define BSDCPIO_VERSION_STRING "3.4.0" | #define BSDTAR_VERSION_STRING "3.4.0" | #define BSDCAT_VERSION_STRING "3.4.0" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | /* end confdefs.h. */ | #include | #ifdef HAVE_SYS_TYPES_H | # include | #endif | #ifdef HAVE_SYS_STAT_H | # include | #endif | #ifdef STDC_HEADERS | # include | # include | #else | # ifdef HAVE_STDLIB_H | # include | # endif | #endif | #ifdef HAVE_STRING_H | # if !defined STDC_HEADERS && defined HAVE_MEMORY_H | # include | # endif | # include | #endif | #ifdef HAVE_STRINGS_H | # include | #endif | #ifdef HAVE_INTTYPES_H | # include | #endif | #ifdef HAVE_STDINT_H | # include | #endif | #ifdef HAVE_UNISTD_H | # include | #endif | #include configure:5103: result: no configure:5103: checking minix/config.h presence configure:5103: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-cpp -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c conftest.c:26:10: fatal error: minix/config.h: No such file or directory #include ^~~~~~~~~~~~~~~~ compilation terminated. configure:5103: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "libarchive" | #define PACKAGE_TARNAME "libarchive" | #define PACKAGE_VERSION "3.4.0" | #define PACKAGE_STRING "libarchive 3.4.0" | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com" | #define PACKAGE_URL "" | #define PACKAGE "libarchive" | #define VERSION "3.4.0" | #define LIBARCHIVE_VERSION_STRING "3.4.0" | #define LIBARCHIVE_VERSION_NUMBER "3004000" | #define BSDCPIO_VERSION_STRING "3.4.0" | #define BSDTAR_VERSION_STRING "3.4.0" | #define BSDCAT_VERSION_STRING "3.4.0" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | /* end confdefs.h. */ | #include configure:5103: result: no configure:5103: checking for minix/config.h configure:5103: result: no configure:5124: checking whether it is safe to define __EXTENSIONS__ configure:5142: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 configure:5142: $? = 0 configure:5149: result: yes configure:5512: checking how to print strings configure:5539: result: printf configure:5560: checking for a sed that does not truncate output configure:5624: result: /bin/sed configure:5642: checking for fgrep configure:5704: result: /bin/grep -F configure:5739: checking for ld used by /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc configure:5806: result: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-ld configure:5813: checking if the linker (/home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-ld) is GNU ld configure:5828: result: yes configure:5840: checking for BSD- or MS-compatible name lister (nm) configure:5894: result: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-nm configure:6024: checking the name lister (/home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-nm) interface configure:6031: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 configure:6034: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-nm "conftest.o" configure:6037: output 00000000 B some_variable configure:6044: result: BSD nm configure:6047: checking whether ln -s works configure:6051: result: yes configure:6059: checking the maximum length of command line arguments configure:6190: result: 1572864 configure:6238: checking how to convert x86_64-pc-linux-gnu file names to arm-buildroot-uclinux-uclibcgnueabi format configure:6278: result: func_convert_file_noop configure:6285: checking how to convert x86_64-pc-linux-gnu file names to toolchain format configure:6305: result: func_convert_file_noop configure:6312: checking for /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-ld option to reload object files configure:6319: result: -r configure:6353: checking for arm-buildroot-uclinux-uclibcgnueabi-objdump configure:6380: result: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-objdump configure:6449: checking how to recognize dependent libraries configure:6649: result: unknown configure:6694: checking for arm-buildroot-uclinux-uclibcgnueabi-dlltool configure:6721: result: dlltool configure:6791: checking how to associate runtime and link libraries configure:6818: result: printf %s\n configure:6834: checking for arm-buildroot-uclinux-uclibcgnueabi-ar configure:6861: result: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-ar configure:6942: checking for archiver @FILE support configure:6959: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 configure:6959: $? = 0 configure:6962: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-ar cru libconftest.a @conftest.lst >&5 configure:6965: $? = 0 configure:6970: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-ar cru libconftest.a @conftest.lst >&5 /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-ar: conftest.o: No such file or directory configure:6973: $? = 1 configure:6985: result: @ configure:7003: checking for arm-buildroot-uclinux-uclibcgnueabi-strip configure:7030: result: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-strip configure:7102: checking for arm-buildroot-uclinux-uclibcgnueabi-ranlib configure:7129: result: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-ranlib configure:7271: checking command to parse /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-nm output from /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc object configure:7424: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 configure:7427: $? = 0 configure:7431: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-nm conftest.o | sed -n -e 's/^.*[ ]\([ABCDGIRSTW][ABCDGIRSTW]*\)[ ][ ]*\([_A-Za-z][_A-Za-z0-9]*\)$/\1 \2 \2/p' | sed '/ __gnu_lto/d' > conftest.nm configure:7497: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -o conftest -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Wl,-elf2flt -static conftest.c conftstm.o >&5 configure:7500: $? = 0 configure:7538: result: ok configure:7585: checking for sysroot configure:7615: result: no configure:7622: checking for a working dd configure:7660: result: /bin/dd configure:7664: checking how to truncate binary pipes configure:7679: result: /bin/dd bs=4096 count=1 configure:7968: checking for arm-buildroot-uclinux-uclibcgnueabi-mt configure:7998: result: no configure:8008: checking for mt configure:8024: found /bin/mt configure:8035: result: mt configure:8047: WARNING: using cross tools not prefixed with host triplet configure:8058: checking if mt is a manifest tool configure:8064: mt '-?' configure:8072: result: no configure:8746: checking for dlfcn.h configure:8746: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 conftest.c:65:10: fatal error: dlfcn.h: No such file or directory #include ^~~~~~~~~ compilation terminated. configure:8746: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "libarchive" | #define PACKAGE_TARNAME "libarchive" | #define PACKAGE_VERSION "3.4.0" | #define PACKAGE_STRING "libarchive 3.4.0" | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com" | #define PACKAGE_URL "" | #define PACKAGE "libarchive" | #define VERSION "3.4.0" | #define LIBARCHIVE_VERSION_STRING "3.4.0" | #define LIBARCHIVE_VERSION_NUMBER "3004000" | #define BSDCPIO_VERSION_STRING "3.4.0" | #define BSDTAR_VERSION_STRING "3.4.0" | #define BSDCAT_VERSION_STRING "3.4.0" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define __EXTENSIONS__ 1 | #define _ALL_SOURCE 1 | #define _GNU_SOURCE 1 | #define _POSIX_PTHREAD_SEMANTICS 1 | #define _TANDEM_SOURCE 1 | /* end confdefs.h. */ | #include | #ifdef HAVE_SYS_TYPES_H | # include | #endif | #ifdef HAVE_SYS_STAT_H | # include | #endif | #ifdef STDC_HEADERS | # include | # include | #else | # ifdef HAVE_STDLIB_H | # include | # endif | #endif | #ifdef HAVE_STRING_H | # if !defined STDC_HEADERS && defined HAVE_MEMORY_H | # include | # endif | # include | #endif | #ifdef HAVE_STRINGS_H | # include | #endif | #ifdef HAVE_INTTYPES_H | # include | #endif | #ifdef HAVE_STDINT_H | # include | #endif | #ifdef HAVE_UNISTD_H | # include | #endif | | #include configure:8746: result: no configure:9000: checking for objdir configure:9015: result: .libs configure:9275: checking if /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc supports -fno-rtti -fno-exceptions configure:9293: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -fno-rtti -fno-exceptions conftest.c >&5 cc1: warning: command line option '-fno-rtti' is valid for C++/ObjC++ but not for C configure:9297: $? = 0 configure:9310: result: no configure:9674: checking for /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc option to produce PIC configure:9681: result: -fPIC -DPIC configure:9689: checking if /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc PIC flag -fPIC -DPIC works configure:9707: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -fPIC -DPIC -DPIC conftest.c >&5 configure:9711: $? = 0 configure:9724: result: yes configure:9753: checking if /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc static flag -static works configure:9781: result: yes configure:9796: checking if /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc supports -c -o file.o configure:9817: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -o out/conftest2.o conftest.c >&5 configure:9821: $? = 0 configure:9843: result: yes configure:9851: checking if /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc supports -c -o file.o configure:9898: result: yes configure:9931: checking whether the /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc linker (/home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-ld) supports shared libraries configure:11194: result: yes configure:11434: checking dynamic linker characteristics configure:12264: result: no configure:12386: checking how to hardcode library paths into programs configure:12411: result: immediate configure:12959: checking whether stripping libraries is possible configure:12964: result: yes configure:12999: checking if libtool supports shared libraries configure:13001: result: no configure:13004: checking whether to build shared libraries configure:13029: result: no configure:13032: checking whether to build static libraries configure:13036: result: yes configure:13076: checking for arm-buildroot-uclinux-uclibcgnueabi-strip configure:13103: result: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-strip configure:13380: checking for dirent.h that defines DIR configure:13399: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 configure:13399: $? = 0 configure:13407: result: yes configure:13420: checking for library containing opendir configure:13451: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -o conftest -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Wl,-elf2flt -static conftest.c >&5 configure:13451: $? = 0 configure:13468: result: none required configure:13535: checking for sys/wait.h that is POSIX.1 compatible configure:13561: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 configure:13561: $? = 0 configure:13568: result: yes configure:13579: checking acl/libacl.h usability configure:13579: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 conftest.c:67:10: fatal error: acl/libacl.h: No such file or directory #include ^~~~~~~~~~~~~~ compilation terminated. configure:13579: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "libarchive" | #define PACKAGE_TARNAME "libarchive" | #define PACKAGE_VERSION "3.4.0" | #define PACKAGE_STRING "libarchive 3.4.0" | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com" | #define PACKAGE_URL "" | #define PACKAGE "libarchive" | #define VERSION "3.4.0" | #define LIBARCHIVE_VERSION_STRING "3.4.0" | #define LIBARCHIVE_VERSION_NUMBER "3004000" | #define BSDCPIO_VERSION_STRING "3.4.0" | #define BSDTAR_VERSION_STRING "3.4.0" | #define BSDCAT_VERSION_STRING "3.4.0" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define __EXTENSIONS__ 1 | #define _ALL_SOURCE 1 | #define _GNU_SOURCE 1 | #define _POSIX_PTHREAD_SEMANTICS 1 | #define _TANDEM_SOURCE 1 | #define LT_OBJDIR ".libs/" | #define HAVE_DIRENT_H 1 | #define HAVE_SYS_WAIT_H 1 | /* end confdefs.h. */ | #include | #ifdef HAVE_SYS_TYPES_H | # include | #endif | #ifdef HAVE_SYS_STAT_H | # include | #endif | #ifdef STDC_HEADERS | # include | # include | #else | # ifdef HAVE_STDLIB_H | # include | # endif | #endif | #ifdef HAVE_STRING_H | # if !defined STDC_HEADERS && defined HAVE_MEMORY_H | # include | # endif | # include | #endif | #ifdef HAVE_STRINGS_H | # include | #endif | #ifdef HAVE_INTTYPES_H | # include | #endif | #ifdef HAVE_STDINT_H | # include | #endif | #ifdef HAVE_UNISTD_H | # include | #endif | #include configure:13579: result: no configure:13579: checking acl/libacl.h presence configure:13579: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-cpp -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c conftest.c:34:10: fatal error: acl/libacl.h: No such file or directory #include ^~~~~~~~~~~~~~ compilation terminated. configure:13579: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "libarchive" | #define PACKAGE_TARNAME "libarchive" | #define PACKAGE_VERSION "3.4.0" | #define PACKAGE_STRING "libarchive 3.4.0" | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com" | #define PACKAGE_URL "" | #define PACKAGE "libarchive" | #define VERSION "3.4.0" | #define LIBARCHIVE_VERSION_STRING "3.4.0" | #define LIBARCHIVE_VERSION_NUMBER "3004000" | #define BSDCPIO_VERSION_STRING "3.4.0" | #define BSDTAR_VERSION_STRING "3.4.0" | #define BSDCAT_VERSION_STRING "3.4.0" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define __EXTENSIONS__ 1 | #define _ALL_SOURCE 1 | #define _GNU_SOURCE 1 | #define _POSIX_PTHREAD_SEMANTICS 1 | #define _TANDEM_SOURCE 1 | #define LT_OBJDIR ".libs/" | #define HAVE_DIRENT_H 1 | #define HAVE_SYS_WAIT_H 1 | /* end confdefs.h. */ | #include configure:13579: result: no configure:13579: checking for acl/libacl.h configure:13579: result: no configure:13579: checking attr/xattr.h usability configure:13579: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 conftest.c:67:10: fatal error: attr/xattr.h: No such file or directory #include ^~~~~~~~~~~~~~ compilation terminated. configure:13579: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "libarchive" | #define PACKAGE_TARNAME "libarchive" | #define PACKAGE_VERSION "3.4.0" | #define PACKAGE_STRING "libarchive 3.4.0" | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com" | #define PACKAGE_URL "" | #define PACKAGE "libarchive" | #define VERSION "3.4.0" | #define LIBARCHIVE_VERSION_STRING "3.4.0" | #define LIBARCHIVE_VERSION_NUMBER "3004000" | #define BSDCPIO_VERSION_STRING "3.4.0" | #define BSDTAR_VERSION_STRING "3.4.0" | #define BSDCAT_VERSION_STRING "3.4.0" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define __EXTENSIONS__ 1 | #define _ALL_SOURCE 1 | #define _GNU_SOURCE 1 | #define _POSIX_PTHREAD_SEMANTICS 1 | #define _TANDEM_SOURCE 1 | #define LT_OBJDIR ".libs/" | #define HAVE_DIRENT_H 1 | #define HAVE_SYS_WAIT_H 1 | /* end confdefs.h. */ | #include | #ifdef HAVE_SYS_TYPES_H | # include | #endif | #ifdef HAVE_SYS_STAT_H | # include | #endif | #ifdef STDC_HEADERS | # include | # include | #else | # ifdef HAVE_STDLIB_H | # include | # endif | #endif | #ifdef HAVE_STRING_H | # if !defined STDC_HEADERS && defined HAVE_MEMORY_H | # include | # endif | # include | #endif | #ifdef HAVE_STRINGS_H | # include | #endif | #ifdef HAVE_INTTYPES_H | # include | #endif | #ifdef HAVE_STDINT_H | # include | #endif | #ifdef HAVE_UNISTD_H | # include | #endif | #include configure:13579: result: no configure:13579: checking attr/xattr.h presence configure:13579: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-cpp -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c conftest.c:34:10: fatal error: attr/xattr.h: No such file or directory #include ^~~~~~~~~~~~~~ compilation terminated. configure:13579: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "libarchive" | #define PACKAGE_TARNAME "libarchive" | #define PACKAGE_VERSION "3.4.0" | #define PACKAGE_STRING "libarchive 3.4.0" | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com" | #define PACKAGE_URL "" | #define PACKAGE "libarchive" | #define VERSION "3.4.0" | #define LIBARCHIVE_VERSION_STRING "3.4.0" | #define LIBARCHIVE_VERSION_NUMBER "3004000" | #define BSDCPIO_VERSION_STRING "3.4.0" | #define BSDTAR_VERSION_STRING "3.4.0" | #define BSDCAT_VERSION_STRING "3.4.0" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define __EXTENSIONS__ 1 | #define _ALL_SOURCE 1 | #define _GNU_SOURCE 1 | #define _POSIX_PTHREAD_SEMANTICS 1 | #define _TANDEM_SOURCE 1 | #define LT_OBJDIR ".libs/" | #define HAVE_DIRENT_H 1 | #define HAVE_SYS_WAIT_H 1 | /* end confdefs.h. */ | #include configure:13579: result: no configure:13579: checking for attr/xattr.h configure:13579: result: no configure:13592: checking copyfile.h usability configure:13592: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 conftest.c:67:10: fatal error: copyfile.h: No such file or directory #include ^~~~~~~~~~~~ compilation terminated. configure:13592: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "libarchive" | #define PACKAGE_TARNAME "libarchive" | #define PACKAGE_VERSION "3.4.0" | #define PACKAGE_STRING "libarchive 3.4.0" | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com" | #define PACKAGE_URL "" | #define PACKAGE "libarchive" | #define VERSION "3.4.0" | #define LIBARCHIVE_VERSION_STRING "3.4.0" | #define LIBARCHIVE_VERSION_NUMBER "3004000" | #define BSDCPIO_VERSION_STRING "3.4.0" | #define BSDTAR_VERSION_STRING "3.4.0" | #define BSDCAT_VERSION_STRING "3.4.0" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define __EXTENSIONS__ 1 | #define _ALL_SOURCE 1 | #define _GNU_SOURCE 1 | #define _POSIX_PTHREAD_SEMANTICS 1 | #define _TANDEM_SOURCE 1 | #define LT_OBJDIR ".libs/" | #define HAVE_DIRENT_H 1 | #define HAVE_SYS_WAIT_H 1 | /* end confdefs.h. */ | #include | #ifdef HAVE_SYS_TYPES_H | # include | #endif | #ifdef HAVE_SYS_STAT_H | # include | #endif | #ifdef STDC_HEADERS | # include | # include | #else | # ifdef HAVE_STDLIB_H | # include | # endif | #endif | #ifdef HAVE_STRING_H | # if !defined STDC_HEADERS && defined HAVE_MEMORY_H | # include | # endif | # include | #endif | #ifdef HAVE_STRINGS_H | # include | #endif | #ifdef HAVE_INTTYPES_H | # include | #endif | #ifdef HAVE_STDINT_H | # include | #endif | #ifdef HAVE_UNISTD_H | # include | #endif | #include configure:13592: result: no configure:13592: checking copyfile.h presence configure:13592: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-cpp -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c conftest.c:34:10: fatal error: copyfile.h: No such file or directory #include ^~~~~~~~~~~~ compilation terminated. configure:13592: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "libarchive" | #define PACKAGE_TARNAME "libarchive" | #define PACKAGE_VERSION "3.4.0" | #define PACKAGE_STRING "libarchive 3.4.0" | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com" | #define PACKAGE_URL "" | #define PACKAGE "libarchive" | #define VERSION "3.4.0" | #define LIBARCHIVE_VERSION_STRING "3.4.0" | #define LIBARCHIVE_VERSION_NUMBER "3004000" | #define BSDCPIO_VERSION_STRING "3.4.0" | #define BSDTAR_VERSION_STRING "3.4.0" | #define BSDCAT_VERSION_STRING "3.4.0" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define __EXTENSIONS__ 1 | #define _ALL_SOURCE 1 | #define _GNU_SOURCE 1 | #define _POSIX_PTHREAD_SEMANTICS 1 | #define _TANDEM_SOURCE 1 | #define LT_OBJDIR ".libs/" | #define HAVE_DIRENT_H 1 | #define HAVE_SYS_WAIT_H 1 | /* end confdefs.h. */ | #include configure:13592: result: no configure:13592: checking for copyfile.h configure:13592: result: no configure:13592: checking ctype.h usability configure:13592: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 configure:13592: $? = 0 configure:13592: result: yes configure:13592: checking ctype.h presence configure:13592: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-cpp -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c configure:13592: $? = 0 configure:13592: result: yes configure:13592: checking for ctype.h configure:13592: result: yes configure:13605: checking errno.h usability configure:13605: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 configure:13605: $? = 0 configure:13605: result: yes configure:13605: checking errno.h presence configure:13605: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-cpp -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c configure:13605: $? = 0 configure:13605: result: yes configure:13605: checking for errno.h configure:13605: result: yes configure:13605: checking ext2fs/ext2_fs.h usability configure:13605: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 conftest.c:69:10: fatal error: ext2fs/ext2_fs.h: No such file or directory #include ^~~~~~~~~~~~~~~~~~ compilation terminated. configure:13605: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "libarchive" | #define PACKAGE_TARNAME "libarchive" | #define PACKAGE_VERSION "3.4.0" | #define PACKAGE_STRING "libarchive 3.4.0" | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com" | #define PACKAGE_URL "" | #define PACKAGE "libarchive" | #define VERSION "3.4.0" | #define LIBARCHIVE_VERSION_STRING "3.4.0" | #define LIBARCHIVE_VERSION_NUMBER "3004000" | #define BSDCPIO_VERSION_STRING "3.4.0" | #define BSDTAR_VERSION_STRING "3.4.0" | #define BSDCAT_VERSION_STRING "3.4.0" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define __EXTENSIONS__ 1 | #define _ALL_SOURCE 1 | #define _GNU_SOURCE 1 | #define _POSIX_PTHREAD_SEMANTICS 1 | #define _TANDEM_SOURCE 1 | #define LT_OBJDIR ".libs/" | #define HAVE_DIRENT_H 1 | #define HAVE_SYS_WAIT_H 1 | #define HAVE_CTYPE_H 1 | #define HAVE_ERRNO_H 1 | /* end confdefs.h. */ | #include | #ifdef HAVE_SYS_TYPES_H | # include | #endif | #ifdef HAVE_SYS_STAT_H | # include | #endif | #ifdef STDC_HEADERS | # include | # include | #else | # ifdef HAVE_STDLIB_H | # include | # endif | #endif | #ifdef HAVE_STRING_H | # if !defined STDC_HEADERS && defined HAVE_MEMORY_H | # include | # endif | # include | #endif | #ifdef HAVE_STRINGS_H | # include | #endif | #ifdef HAVE_INTTYPES_H | # include | #endif | #ifdef HAVE_STDINT_H | # include | #endif | #ifdef HAVE_UNISTD_H | # include | #endif | #include configure:13605: result: no configure:13605: checking ext2fs/ext2_fs.h presence configure:13605: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-cpp -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c conftest.c:36:10: fatal error: ext2fs/ext2_fs.h: No such file or directory #include ^~~~~~~~~~~~~~~~~~ compilation terminated. configure:13605: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "libarchive" | #define PACKAGE_TARNAME "libarchive" | #define PACKAGE_VERSION "3.4.0" | #define PACKAGE_STRING "libarchive 3.4.0" | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com" | #define PACKAGE_URL "" | #define PACKAGE "libarchive" | #define VERSION "3.4.0" | #define LIBARCHIVE_VERSION_STRING "3.4.0" | #define LIBARCHIVE_VERSION_NUMBER "3004000" | #define BSDCPIO_VERSION_STRING "3.4.0" | #define BSDTAR_VERSION_STRING "3.4.0" | #define BSDCAT_VERSION_STRING "3.4.0" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define __EXTENSIONS__ 1 | #define _ALL_SOURCE 1 | #define _GNU_SOURCE 1 | #define _POSIX_PTHREAD_SEMANTICS 1 | #define _TANDEM_SOURCE 1 | #define LT_OBJDIR ".libs/" | #define HAVE_DIRENT_H 1 | #define HAVE_SYS_WAIT_H 1 | #define HAVE_CTYPE_H 1 | #define HAVE_ERRNO_H 1 | /* end confdefs.h. */ | #include configure:13605: result: no configure:13605: checking for ext2fs/ext2_fs.h configure:13605: result: no configure:13605: checking fcntl.h usability configure:13605: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 configure:13605: $? = 0 configure:13605: result: yes configure:13605: checking fcntl.h presence configure:13605: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-cpp -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c configure:13605: $? = 0 configure:13605: result: yes configure:13605: checking for fcntl.h configure:13605: result: yes configure:13605: checking grp.h usability configure:13605: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 configure:13605: $? = 0 configure:13605: result: yes configure:13605: checking grp.h presence configure:13605: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-cpp -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c configure:13605: $? = 0 configure:13605: result: yes configure:13605: checking for grp.h configure:13605: result: yes configure:13616: checking whether EXT2_IOC_GETFLAGS is usable configure:13633: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 conftest.c:39:10: fatal error: ext2fs/ext2_fs.h: No such file or directory #include ^~~~~~~~~~~~~~~~~~ compilation terminated. configure:13633: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "libarchive" | #define PACKAGE_TARNAME "libarchive" | #define PACKAGE_VERSION "3.4.0" | #define PACKAGE_STRING "libarchive 3.4.0" | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com" | #define PACKAGE_URL "" | #define PACKAGE "libarchive" | #define VERSION "3.4.0" | #define LIBARCHIVE_VERSION_STRING "3.4.0" | #define LIBARCHIVE_VERSION_NUMBER "3004000" | #define BSDCPIO_VERSION_STRING "3.4.0" | #define BSDTAR_VERSION_STRING "3.4.0" | #define BSDCAT_VERSION_STRING "3.4.0" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define __EXTENSIONS__ 1 | #define _ALL_SOURCE 1 | #define _GNU_SOURCE 1 | #define _POSIX_PTHREAD_SEMANTICS 1 | #define _TANDEM_SOURCE 1 | #define LT_OBJDIR ".libs/" | #define HAVE_DIRENT_H 1 | #define HAVE_SYS_WAIT_H 1 | #define HAVE_CTYPE_H 1 | #define HAVE_ERRNO_H 1 | #define HAVE_FCNTL_H 1 | #define HAVE_GRP_H 1 | /* end confdefs.h. */ | #include | #include | int | main () | { | int x = EXT2_IOC_GETFLAGS | ; | return 0; | } configure:13640: result: no configure:13654: checking for inttypes.h configure:13654: result: yes configure:13654: checking io.h usability configure:13654: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 conftest.c:72:10: fatal error: io.h: No such file or directory #include ^~~~~~ compilation terminated. configure:13654: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "libarchive" | #define PACKAGE_TARNAME "libarchive" | #define PACKAGE_VERSION "3.4.0" | #define PACKAGE_STRING "libarchive 3.4.0" | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com" | #define PACKAGE_URL "" | #define PACKAGE "libarchive" | #define VERSION "3.4.0" | #define LIBARCHIVE_VERSION_STRING "3.4.0" | #define LIBARCHIVE_VERSION_NUMBER "3004000" | #define BSDCPIO_VERSION_STRING "3.4.0" | #define BSDTAR_VERSION_STRING "3.4.0" | #define BSDCAT_VERSION_STRING "3.4.0" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define __EXTENSIONS__ 1 | #define _ALL_SOURCE 1 | #define _GNU_SOURCE 1 | #define _POSIX_PTHREAD_SEMANTICS 1 | #define _TANDEM_SOURCE 1 | #define LT_OBJDIR ".libs/" | #define HAVE_DIRENT_H 1 | #define HAVE_SYS_WAIT_H 1 | #define HAVE_CTYPE_H 1 | #define HAVE_ERRNO_H 1 | #define HAVE_FCNTL_H 1 | #define HAVE_GRP_H 1 | #define HAVE_INTTYPES_H 1 | /* end confdefs.h. */ | #include | #ifdef HAVE_SYS_TYPES_H | # include | #endif | #ifdef HAVE_SYS_STAT_H | # include | #endif | #ifdef STDC_HEADERS | # include | # include | #else | # ifdef HAVE_STDLIB_H | # include | # endif | #endif | #ifdef HAVE_STRING_H | # if !defined STDC_HEADERS && defined HAVE_MEMORY_H | # include | # endif | # include | #endif | #ifdef HAVE_STRINGS_H | # include | #endif | #ifdef HAVE_INTTYPES_H | # include | #endif | #ifdef HAVE_STDINT_H | # include | #endif | #ifdef HAVE_UNISTD_H | # include | #endif | #include configure:13654: result: no configure:13654: checking io.h presence configure:13654: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-cpp -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c conftest.c:39:10: fatal error: io.h: No such file or directory #include ^~~~~~ compilation terminated. configure:13654: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "libarchive" | #define PACKAGE_TARNAME "libarchive" | #define PACKAGE_VERSION "3.4.0" | #define PACKAGE_STRING "libarchive 3.4.0" | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com" | #define PACKAGE_URL "" | #define PACKAGE "libarchive" | #define VERSION "3.4.0" | #define LIBARCHIVE_VERSION_STRING "3.4.0" | #define LIBARCHIVE_VERSION_NUMBER "3004000" | #define BSDCPIO_VERSION_STRING "3.4.0" | #define BSDTAR_VERSION_STRING "3.4.0" | #define BSDCAT_VERSION_STRING "3.4.0" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define __EXTENSIONS__ 1 | #define _ALL_SOURCE 1 | #define _GNU_SOURCE 1 | #define _POSIX_PTHREAD_SEMANTICS 1 | #define _TANDEM_SOURCE 1 | #define LT_OBJDIR ".libs/" | #define HAVE_DIRENT_H 1 | #define HAVE_SYS_WAIT_H 1 | #define HAVE_CTYPE_H 1 | #define HAVE_ERRNO_H 1 | #define HAVE_FCNTL_H 1 | #define HAVE_GRP_H 1 | #define HAVE_INTTYPES_H 1 | /* end confdefs.h. */ | #include configure:13654: result: no configure:13654: checking for io.h configure:13654: result: no configure:13654: checking langinfo.h usability configure:13654: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 configure:13654: $? = 0 configure:13654: result: yes configure:13654: checking langinfo.h presence configure:13654: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-cpp -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c configure:13654: $? = 0 configure:13654: result: yes configure:13654: checking for langinfo.h configure:13654: result: yes configure:13654: checking limits.h usability configure:13654: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 configure:13654: $? = 0 configure:13654: result: yes configure:13654: checking limits.h presence configure:13654: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-cpp -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c configure:13654: $? = 0 configure:13654: result: yes configure:13654: checking for limits.h configure:13654: result: yes configure:13667: checking linux/fiemap.h usability configure:13667: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 configure:13667: $? = 0 configure:13667: result: yes configure:13667: checking linux/fiemap.h presence configure:13667: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-cpp -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c configure:13667: $? = 0 configure:13667: result: yes configure:13667: checking for linux/fiemap.h configure:13667: result: yes configure:13667: checking linux/fs.h usability configure:13667: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 configure:13667: $? = 0 configure:13667: result: yes configure:13667: checking linux/fs.h presence configure:13667: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-cpp -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c configure:13667: $? = 0 configure:13667: result: yes configure:13667: checking for linux/fs.h configure:13667: result: yes configure:13667: checking linux/magic.h usability configure:13667: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 configure:13667: $? = 0 configure:13667: result: yes configure:13667: checking linux/magic.h presence configure:13667: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-cpp -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c configure:13667: $? = 0 configure:13667: result: yes configure:13667: checking for linux/magic.h configure:13667: result: yes configure:13667: checking linux/types.h usability configure:13667: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 configure:13667: $? = 0 configure:13667: result: yes configure:13667: checking linux/types.h presence configure:13667: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-cpp -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c configure:13667: $? = 0 configure:13667: result: yes configure:13667: checking for linux/types.h configure:13667: result: yes configure:13678: checking whether FS_IOC_GETFLAGS is usable configure:13695: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 configure:13695: $? = 0 configure:13702: result: yes configure:13716: checking locale.h usability configure:13716: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 configure:13716: $? = 0 configure:13716: result: yes configure:13716: checking locale.h presence configure:13716: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-cpp -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c configure:13716: $? = 0 configure:13716: result: yes configure:13716: checking for locale.h configure:13716: result: yes configure:13716: checking membership.h usability configure:13716: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 conftest.c:80:10: fatal error: membership.h: No such file or directory #include ^~~~~~~~~~~~~~ compilation terminated. configure:13716: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "libarchive" | #define PACKAGE_TARNAME "libarchive" | #define PACKAGE_VERSION "3.4.0" | #define PACKAGE_STRING "libarchive 3.4.0" | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com" | #define PACKAGE_URL "" | #define PACKAGE "libarchive" | #define VERSION "3.4.0" | #define LIBARCHIVE_VERSION_STRING "3.4.0" | #define LIBARCHIVE_VERSION_NUMBER "3004000" | #define BSDCPIO_VERSION_STRING "3.4.0" | #define BSDTAR_VERSION_STRING "3.4.0" | #define BSDCAT_VERSION_STRING "3.4.0" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define __EXTENSIONS__ 1 | #define _ALL_SOURCE 1 | #define _GNU_SOURCE 1 | #define _POSIX_PTHREAD_SEMANTICS 1 | #define _TANDEM_SOURCE 1 | #define LT_OBJDIR ".libs/" | #define HAVE_DIRENT_H 1 | #define HAVE_SYS_WAIT_H 1 | #define HAVE_CTYPE_H 1 | #define HAVE_ERRNO_H 1 | #define HAVE_FCNTL_H 1 | #define HAVE_GRP_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_LANGINFO_H 1 | #define HAVE_LIMITS_H 1 | #define HAVE_LINUX_FIEMAP_H 1 | #define HAVE_LINUX_FS_H 1 | #define HAVE_LINUX_MAGIC_H 1 | #define HAVE_LINUX_TYPES_H 1 | #define HAVE_WORKING_FS_IOC_GETFLAGS 1 | #define HAVE_LOCALE_H 1 | /* end confdefs.h. */ | #include | #ifdef HAVE_SYS_TYPES_H | # include | #endif | #ifdef HAVE_SYS_STAT_H | # include | #endif | #ifdef STDC_HEADERS | # include | # include | #else | # ifdef HAVE_STDLIB_H | # include | # endif | #endif | #ifdef HAVE_STRING_H | # if !defined STDC_HEADERS && defined HAVE_MEMORY_H | # include | # endif | # include | #endif | #ifdef HAVE_STRINGS_H | # include | #endif | #ifdef HAVE_INTTYPES_H | # include | #endif | #ifdef HAVE_STDINT_H | # include | #endif | #ifdef HAVE_UNISTD_H | # include | #endif | #include configure:13716: result: no configure:13716: checking membership.h presence configure:13716: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-cpp -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c conftest.c:47:10: fatal error: membership.h: No such file or directory #include ^~~~~~~~~~~~~~ compilation terminated. configure:13716: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "libarchive" | #define PACKAGE_TARNAME "libarchive" | #define PACKAGE_VERSION "3.4.0" | #define PACKAGE_STRING "libarchive 3.4.0" | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com" | #define PACKAGE_URL "" | #define PACKAGE "libarchive" | #define VERSION "3.4.0" | #define LIBARCHIVE_VERSION_STRING "3.4.0" | #define LIBARCHIVE_VERSION_NUMBER "3004000" | #define BSDCPIO_VERSION_STRING "3.4.0" | #define BSDTAR_VERSION_STRING "3.4.0" | #define BSDCAT_VERSION_STRING "3.4.0" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define __EXTENSIONS__ 1 | #define _ALL_SOURCE 1 | #define _GNU_SOURCE 1 | #define _POSIX_PTHREAD_SEMANTICS 1 | #define _TANDEM_SOURCE 1 | #define LT_OBJDIR ".libs/" | #define HAVE_DIRENT_H 1 | #define HAVE_SYS_WAIT_H 1 | #define HAVE_CTYPE_H 1 | #define HAVE_ERRNO_H 1 | #define HAVE_FCNTL_H 1 | #define HAVE_GRP_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_LANGINFO_H 1 | #define HAVE_LIMITS_H 1 | #define HAVE_LINUX_FIEMAP_H 1 | #define HAVE_LINUX_FS_H 1 | #define HAVE_LINUX_MAGIC_H 1 | #define HAVE_LINUX_TYPES_H 1 | #define HAVE_WORKING_FS_IOC_GETFLAGS 1 | #define HAVE_LOCALE_H 1 | /* end confdefs.h. */ | #include configure:13716: result: no configure:13716: checking for membership.h configure:13716: result: no configure:13716: checking paths.h usability configure:13716: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 configure:13716: $? = 0 configure:13716: result: yes configure:13716: checking paths.h presence configure:13716: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-cpp -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c configure:13716: $? = 0 configure:13716: result: yes configure:13716: checking for paths.h configure:13716: result: yes configure:13716: checking poll.h usability configure:13716: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 configure:13716: $? = 0 configure:13716: result: yes configure:13716: checking poll.h presence configure:13716: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-cpp -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c configure:13716: $? = 0 configure:13716: result: yes configure:13716: checking for poll.h configure:13716: result: yes configure:13716: checking pthread.h usability configure:13716: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 configure:13716: $? = 0 configure:13716: result: yes configure:13716: checking pthread.h presence configure:13716: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-cpp -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c configure:13716: $? = 0 configure:13716: result: yes configure:13716: checking for pthread.h configure:13716: result: yes configure:13716: checking pwd.h usability configure:13716: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 configure:13716: $? = 0 configure:13716: result: yes configure:13716: checking pwd.h presence configure:13716: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-cpp -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c configure:13716: $? = 0 configure:13716: result: yes configure:13716: checking for pwd.h configure:13716: result: yes configure:13729: checking readpassphrase.h usability configure:13729: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 conftest.c:84:10: fatal error: readpassphrase.h: No such file or directory #include ^~~~~~~~~~~~~~~~~~ compilation terminated. configure:13729: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "libarchive" | #define PACKAGE_TARNAME "libarchive" | #define PACKAGE_VERSION "3.4.0" | #define PACKAGE_STRING "libarchive 3.4.0" | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com" | #define PACKAGE_URL "" | #define PACKAGE "libarchive" | #define VERSION "3.4.0" | #define LIBARCHIVE_VERSION_STRING "3.4.0" | #define LIBARCHIVE_VERSION_NUMBER "3004000" | #define BSDCPIO_VERSION_STRING "3.4.0" | #define BSDTAR_VERSION_STRING "3.4.0" | #define BSDCAT_VERSION_STRING "3.4.0" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define __EXTENSIONS__ 1 | #define _ALL_SOURCE 1 | #define _GNU_SOURCE 1 | #define _POSIX_PTHREAD_SEMANTICS 1 | #define _TANDEM_SOURCE 1 | #define LT_OBJDIR ".libs/" | #define HAVE_DIRENT_H 1 | #define HAVE_SYS_WAIT_H 1 | #define HAVE_CTYPE_H 1 | #define HAVE_ERRNO_H 1 | #define HAVE_FCNTL_H 1 | #define HAVE_GRP_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_LANGINFO_H 1 | #define HAVE_LIMITS_H 1 | #define HAVE_LINUX_FIEMAP_H 1 | #define HAVE_LINUX_FS_H 1 | #define HAVE_LINUX_MAGIC_H 1 | #define HAVE_LINUX_TYPES_H 1 | #define HAVE_WORKING_FS_IOC_GETFLAGS 1 | #define HAVE_LOCALE_H 1 | #define HAVE_PATHS_H 1 | #define HAVE_POLL_H 1 | #define HAVE_PTHREAD_H 1 | #define HAVE_PWD_H 1 | /* end confdefs.h. */ | #include | #ifdef HAVE_SYS_TYPES_H | # include | #endif | #ifdef HAVE_SYS_STAT_H | # include | #endif | #ifdef STDC_HEADERS | # include | # include | #else | # ifdef HAVE_STDLIB_H | # include | # endif | #endif | #ifdef HAVE_STRING_H | # if !defined STDC_HEADERS && defined HAVE_MEMORY_H | # include | # endif | # include | #endif | #ifdef HAVE_STRINGS_H | # include | #endif | #ifdef HAVE_INTTYPES_H | # include | #endif | #ifdef HAVE_STDINT_H | # include | #endif | #ifdef HAVE_UNISTD_H | # include | #endif | #include configure:13729: result: no configure:13729: checking readpassphrase.h presence configure:13729: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-cpp -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c conftest.c:51:10: fatal error: readpassphrase.h: No such file or directory #include ^~~~~~~~~~~~~~~~~~ compilation terminated. configure:13729: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "libarchive" | #define PACKAGE_TARNAME "libarchive" | #define PACKAGE_VERSION "3.4.0" | #define PACKAGE_STRING "libarchive 3.4.0" | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com" | #define PACKAGE_URL "" | #define PACKAGE "libarchive" | #define VERSION "3.4.0" | #define LIBARCHIVE_VERSION_STRING "3.4.0" | #define LIBARCHIVE_VERSION_NUMBER "3004000" | #define BSDCPIO_VERSION_STRING "3.4.0" | #define BSDTAR_VERSION_STRING "3.4.0" | #define BSDCAT_VERSION_STRING "3.4.0" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define __EXTENSIONS__ 1 | #define _ALL_SOURCE 1 | #define _GNU_SOURCE 1 | #define _POSIX_PTHREAD_SEMANTICS 1 | #define _TANDEM_SOURCE 1 | #define LT_OBJDIR ".libs/" | #define HAVE_DIRENT_H 1 | #define HAVE_SYS_WAIT_H 1 | #define HAVE_CTYPE_H 1 | #define HAVE_ERRNO_H 1 | #define HAVE_FCNTL_H 1 | #define HAVE_GRP_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_LANGINFO_H 1 | #define HAVE_LIMITS_H 1 | #define HAVE_LINUX_FIEMAP_H 1 | #define HAVE_LINUX_FS_H 1 | #define HAVE_LINUX_MAGIC_H 1 | #define HAVE_LINUX_TYPES_H 1 | #define HAVE_WORKING_FS_IOC_GETFLAGS 1 | #define HAVE_LOCALE_H 1 | #define HAVE_PATHS_H 1 | #define HAVE_POLL_H 1 | #define HAVE_PTHREAD_H 1 | #define HAVE_PWD_H 1 | /* end confdefs.h. */ | #include configure:13729: result: no configure:13729: checking for readpassphrase.h configure:13729: result: no configure:13729: checking signal.h usability configure:13729: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 configure:13729: $? = 0 configure:13729: result: yes configure:13729: checking signal.h presence configure:13729: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-cpp -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c configure:13729: $? = 0 configure:13729: result: yes configure:13729: checking for signal.h configure:13729: result: yes configure:13729: checking spawn.h usability configure:13729: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 configure:13729: $? = 0 configure:13729: result: yes configure:13729: checking spawn.h presence configure:13729: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-cpp -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c configure:13729: $? = 0 configure:13729: result: yes configure:13729: checking for spawn.h configure:13729: result: yes configure:13742: checking stdarg.h usability configure:13742: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 configure:13742: $? = 0 configure:13742: result: yes configure:13742: checking stdarg.h presence configure:13742: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-cpp -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c configure:13742: $? = 0 configure:13742: result: yes configure:13742: checking for stdarg.h configure:13742: result: yes configure:13742: checking for stdint.h configure:13742: result: yes configure:13742: checking for stdlib.h configure:13742: result: yes configure:13742: checking for string.h configure:13742: result: yes configure:13755: checking sys/acl.h usability configure:13755: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 conftest.c:90:10: fatal error: sys/acl.h: No such file or directory #include ^~~~~~~~~~~ compilation terminated. configure:13755: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "libarchive" | #define PACKAGE_TARNAME "libarchive" | #define PACKAGE_VERSION "3.4.0" | #define PACKAGE_STRING "libarchive 3.4.0" | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com" | #define PACKAGE_URL "" | #define PACKAGE "libarchive" | #define VERSION "3.4.0" | #define LIBARCHIVE_VERSION_STRING "3.4.0" | #define LIBARCHIVE_VERSION_NUMBER "3004000" | #define BSDCPIO_VERSION_STRING "3.4.0" | #define BSDTAR_VERSION_STRING "3.4.0" | #define BSDCAT_VERSION_STRING "3.4.0" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define __EXTENSIONS__ 1 | #define _ALL_SOURCE 1 | #define _GNU_SOURCE 1 | #define _POSIX_PTHREAD_SEMANTICS 1 | #define _TANDEM_SOURCE 1 | #define LT_OBJDIR ".libs/" | #define HAVE_DIRENT_H 1 | #define HAVE_SYS_WAIT_H 1 | #define HAVE_CTYPE_H 1 | #define HAVE_ERRNO_H 1 | #define HAVE_FCNTL_H 1 | #define HAVE_GRP_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_LANGINFO_H 1 | #define HAVE_LIMITS_H 1 | #define HAVE_LINUX_FIEMAP_H 1 | #define HAVE_LINUX_FS_H 1 | #define HAVE_LINUX_MAGIC_H 1 | #define HAVE_LINUX_TYPES_H 1 | #define HAVE_WORKING_FS_IOC_GETFLAGS 1 | #define HAVE_LOCALE_H 1 | #define HAVE_PATHS_H 1 | #define HAVE_POLL_H 1 | #define HAVE_PTHREAD_H 1 | #define HAVE_PWD_H 1 | #define HAVE_SIGNAL_H 1 | #define HAVE_SPAWN_H 1 | #define HAVE_STDARG_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | /* end confdefs.h. */ | #include | #ifdef HAVE_SYS_TYPES_H | # include | #endif | #ifdef HAVE_SYS_STAT_H | # include | #endif | #ifdef STDC_HEADERS | # include | # include | #else | # ifdef HAVE_STDLIB_H | # include | # endif | #endif | #ifdef HAVE_STRING_H | # if !defined STDC_HEADERS && defined HAVE_MEMORY_H | # include | # endif | # include | #endif | #ifdef HAVE_STRINGS_H | # include | #endif | #ifdef HAVE_INTTYPES_H | # include | #endif | #ifdef HAVE_STDINT_H | # include | #endif | #ifdef HAVE_UNISTD_H | # include | #endif | #include configure:13755: result: no configure:13755: checking sys/acl.h presence configure:13755: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-cpp -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c conftest.c:57:10: fatal error: sys/acl.h: No such file or directory #include ^~~~~~~~~~~ compilation terminated. configure:13755: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "libarchive" | #define PACKAGE_TARNAME "libarchive" | #define PACKAGE_VERSION "3.4.0" | #define PACKAGE_STRING "libarchive 3.4.0" | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com" | #define PACKAGE_URL "" | #define PACKAGE "libarchive" | #define VERSION "3.4.0" | #define LIBARCHIVE_VERSION_STRING "3.4.0" | #define LIBARCHIVE_VERSION_NUMBER "3004000" | #define BSDCPIO_VERSION_STRING "3.4.0" | #define BSDTAR_VERSION_STRING "3.4.0" | #define BSDCAT_VERSION_STRING "3.4.0" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define __EXTENSIONS__ 1 | #define _ALL_SOURCE 1 | #define _GNU_SOURCE 1 | #define _POSIX_PTHREAD_SEMANTICS 1 | #define _TANDEM_SOURCE 1 | #define LT_OBJDIR ".libs/" | #define HAVE_DIRENT_H 1 | #define HAVE_SYS_WAIT_H 1 | #define HAVE_CTYPE_H 1 | #define HAVE_ERRNO_H 1 | #define HAVE_FCNTL_H 1 | #define HAVE_GRP_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_LANGINFO_H 1 | #define HAVE_LIMITS_H 1 | #define HAVE_LINUX_FIEMAP_H 1 | #define HAVE_LINUX_FS_H 1 | #define HAVE_LINUX_MAGIC_H 1 | #define HAVE_LINUX_TYPES_H 1 | #define HAVE_WORKING_FS_IOC_GETFLAGS 1 | #define HAVE_LOCALE_H 1 | #define HAVE_PATHS_H 1 | #define HAVE_POLL_H 1 | #define HAVE_PTHREAD_H 1 | #define HAVE_PWD_H 1 | #define HAVE_SIGNAL_H 1 | #define HAVE_SPAWN_H 1 | #define HAVE_STDARG_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | /* end confdefs.h. */ | #include configure:13755: result: no configure:13755: checking for sys/acl.h configure:13755: result: no configure:13755: checking sys/cdefs.h usability configure:13755: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 configure:13755: $? = 0 configure:13755: result: yes configure:13755: checking sys/cdefs.h presence configure:13755: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-cpp -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c configure:13755: $? = 0 configure:13755: result: yes configure:13755: checking for sys/cdefs.h configure:13755: result: yes configure:13755: checking sys/ea.h usability configure:13755: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 conftest.c:91:10: fatal error: sys/ea.h: No such file or directory #include ^~~~~~~~~~ compilation terminated. configure:13755: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "libarchive" | #define PACKAGE_TARNAME "libarchive" | #define PACKAGE_VERSION "3.4.0" | #define PACKAGE_STRING "libarchive 3.4.0" | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com" | #define PACKAGE_URL "" | #define PACKAGE "libarchive" | #define VERSION "3.4.0" | #define LIBARCHIVE_VERSION_STRING "3.4.0" | #define LIBARCHIVE_VERSION_NUMBER "3004000" | #define BSDCPIO_VERSION_STRING "3.4.0" | #define BSDTAR_VERSION_STRING "3.4.0" | #define BSDCAT_VERSION_STRING "3.4.0" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define __EXTENSIONS__ 1 | #define _ALL_SOURCE 1 | #define _GNU_SOURCE 1 | #define _POSIX_PTHREAD_SEMANTICS 1 | #define _TANDEM_SOURCE 1 | #define LT_OBJDIR ".libs/" | #define HAVE_DIRENT_H 1 | #define HAVE_SYS_WAIT_H 1 | #define HAVE_CTYPE_H 1 | #define HAVE_ERRNO_H 1 | #define HAVE_FCNTL_H 1 | #define HAVE_GRP_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_LANGINFO_H 1 | #define HAVE_LIMITS_H 1 | #define HAVE_LINUX_FIEMAP_H 1 | #define HAVE_LINUX_FS_H 1 | #define HAVE_LINUX_MAGIC_H 1 | #define HAVE_LINUX_TYPES_H 1 | #define HAVE_WORKING_FS_IOC_GETFLAGS 1 | #define HAVE_LOCALE_H 1 | #define HAVE_PATHS_H 1 | #define HAVE_POLL_H 1 | #define HAVE_PTHREAD_H 1 | #define HAVE_PWD_H 1 | #define HAVE_SIGNAL_H 1 | #define HAVE_SPAWN_H 1 | #define HAVE_STDARG_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_SYS_CDEFS_H 1 | /* end confdefs.h. */ | #include | #ifdef HAVE_SYS_TYPES_H | # include | #endif | #ifdef HAVE_SYS_STAT_H | # include | #endif | #ifdef STDC_HEADERS | # include | # include | #else | # ifdef HAVE_STDLIB_H | # include | # endif | #endif | #ifdef HAVE_STRING_H | # if !defined STDC_HEADERS && defined HAVE_MEMORY_H | # include | # endif | # include | #endif | #ifdef HAVE_STRINGS_H | # include | #endif | #ifdef HAVE_INTTYPES_H | # include | #endif | #ifdef HAVE_STDINT_H | # include | #endif | #ifdef HAVE_UNISTD_H | # include | #endif | #include configure:13755: result: no configure:13755: checking sys/ea.h presence configure:13755: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-cpp -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c conftest.c:58:10: fatal error: sys/ea.h: No such file or directory #include ^~~~~~~~~~ compilation terminated. configure:13755: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "libarchive" | #define PACKAGE_TARNAME "libarchive" | #define PACKAGE_VERSION "3.4.0" | #define PACKAGE_STRING "libarchive 3.4.0" | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com" | #define PACKAGE_URL "" | #define PACKAGE "libarchive" | #define VERSION "3.4.0" | #define LIBARCHIVE_VERSION_STRING "3.4.0" | #define LIBARCHIVE_VERSION_NUMBER "3004000" | #define BSDCPIO_VERSION_STRING "3.4.0" | #define BSDTAR_VERSION_STRING "3.4.0" | #define BSDCAT_VERSION_STRING "3.4.0" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define __EXTENSIONS__ 1 | #define _ALL_SOURCE 1 | #define _GNU_SOURCE 1 | #define _POSIX_PTHREAD_SEMANTICS 1 | #define _TANDEM_SOURCE 1 | #define LT_OBJDIR ".libs/" | #define HAVE_DIRENT_H 1 | #define HAVE_SYS_WAIT_H 1 | #define HAVE_CTYPE_H 1 | #define HAVE_ERRNO_H 1 | #define HAVE_FCNTL_H 1 | #define HAVE_GRP_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_LANGINFO_H 1 | #define HAVE_LIMITS_H 1 | #define HAVE_LINUX_FIEMAP_H 1 | #define HAVE_LINUX_FS_H 1 | #define HAVE_LINUX_MAGIC_H 1 | #define HAVE_LINUX_TYPES_H 1 | #define HAVE_WORKING_FS_IOC_GETFLAGS 1 | #define HAVE_LOCALE_H 1 | #define HAVE_PATHS_H 1 | #define HAVE_POLL_H 1 | #define HAVE_PTHREAD_H 1 | #define HAVE_PWD_H 1 | #define HAVE_SIGNAL_H 1 | #define HAVE_SPAWN_H 1 | #define HAVE_STDARG_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_SYS_CDEFS_H 1 | /* end confdefs.h. */ | #include configure:13755: result: no configure:13755: checking for sys/ea.h configure:13755: result: no configure:13755: checking sys/extattr.h usability configure:13755: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 conftest.c:91:10: fatal error: sys/extattr.h: No such file or directory #include ^~~~~~~~~~~~~~~ compilation terminated. configure:13755: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "libarchive" | #define PACKAGE_TARNAME "libarchive" | #define PACKAGE_VERSION "3.4.0" | #define PACKAGE_STRING "libarchive 3.4.0" | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com" | #define PACKAGE_URL "" | #define PACKAGE "libarchive" | #define VERSION "3.4.0" | #define LIBARCHIVE_VERSION_STRING "3.4.0" | #define LIBARCHIVE_VERSION_NUMBER "3004000" | #define BSDCPIO_VERSION_STRING "3.4.0" | #define BSDTAR_VERSION_STRING "3.4.0" | #define BSDCAT_VERSION_STRING "3.4.0" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define __EXTENSIONS__ 1 | #define _ALL_SOURCE 1 | #define _GNU_SOURCE 1 | #define _POSIX_PTHREAD_SEMANTICS 1 | #define _TANDEM_SOURCE 1 | #define LT_OBJDIR ".libs/" | #define HAVE_DIRENT_H 1 | #define HAVE_SYS_WAIT_H 1 | #define HAVE_CTYPE_H 1 | #define HAVE_ERRNO_H 1 | #define HAVE_FCNTL_H 1 | #define HAVE_GRP_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_LANGINFO_H 1 | #define HAVE_LIMITS_H 1 | #define HAVE_LINUX_FIEMAP_H 1 | #define HAVE_LINUX_FS_H 1 | #define HAVE_LINUX_MAGIC_H 1 | #define HAVE_LINUX_TYPES_H 1 | #define HAVE_WORKING_FS_IOC_GETFLAGS 1 | #define HAVE_LOCALE_H 1 | #define HAVE_PATHS_H 1 | #define HAVE_POLL_H 1 | #define HAVE_PTHREAD_H 1 | #define HAVE_PWD_H 1 | #define HAVE_SIGNAL_H 1 | #define HAVE_SPAWN_H 1 | #define HAVE_STDARG_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_SYS_CDEFS_H 1 | /* end confdefs.h. */ | #include | #ifdef HAVE_SYS_TYPES_H | # include | #endif | #ifdef HAVE_SYS_STAT_H | # include | #endif | #ifdef STDC_HEADERS | # include | # include | #else | # ifdef HAVE_STDLIB_H | # include | # endif | #endif | #ifdef HAVE_STRING_H | # if !defined STDC_HEADERS && defined HAVE_MEMORY_H | # include | # endif | # include | #endif | #ifdef HAVE_STRINGS_H | # include | #endif | #ifdef HAVE_INTTYPES_H | # include | #endif | #ifdef HAVE_STDINT_H | # include | #endif | #ifdef HAVE_UNISTD_H | # include | #endif | #include configure:13755: result: no configure:13755: checking sys/extattr.h presence configure:13755: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-cpp -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c conftest.c:58:10: fatal error: sys/extattr.h: No such file or directory #include ^~~~~~~~~~~~~~~ compilation terminated. configure:13755: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "libarchive" | #define PACKAGE_TARNAME "libarchive" | #define PACKAGE_VERSION "3.4.0" | #define PACKAGE_STRING "libarchive 3.4.0" | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com" | #define PACKAGE_URL "" | #define PACKAGE "libarchive" | #define VERSION "3.4.0" | #define LIBARCHIVE_VERSION_STRING "3.4.0" | #define LIBARCHIVE_VERSION_NUMBER "3004000" | #define BSDCPIO_VERSION_STRING "3.4.0" | #define BSDTAR_VERSION_STRING "3.4.0" | #define BSDCAT_VERSION_STRING "3.4.0" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define __EXTENSIONS__ 1 | #define _ALL_SOURCE 1 | #define _GNU_SOURCE 1 | #define _POSIX_PTHREAD_SEMANTICS 1 | #define _TANDEM_SOURCE 1 | #define LT_OBJDIR ".libs/" | #define HAVE_DIRENT_H 1 | #define HAVE_SYS_WAIT_H 1 | #define HAVE_CTYPE_H 1 | #define HAVE_ERRNO_H 1 | #define HAVE_FCNTL_H 1 | #define HAVE_GRP_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_LANGINFO_H 1 | #define HAVE_LIMITS_H 1 | #define HAVE_LINUX_FIEMAP_H 1 | #define HAVE_LINUX_FS_H 1 | #define HAVE_LINUX_MAGIC_H 1 | #define HAVE_LINUX_TYPES_H 1 | #define HAVE_WORKING_FS_IOC_GETFLAGS 1 | #define HAVE_LOCALE_H 1 | #define HAVE_PATHS_H 1 | #define HAVE_POLL_H 1 | #define HAVE_PTHREAD_H 1 | #define HAVE_PWD_H 1 | #define HAVE_SIGNAL_H 1 | #define HAVE_SPAWN_H 1 | #define HAVE_STDARG_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_SYS_CDEFS_H 1 | /* end confdefs.h. */ | #include configure:13755: result: no configure:13755: checking for sys/extattr.h configure:13755: result: no configure:13768: checking sys/ioctl.h usability configure:13768: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 configure:13768: $? = 0 configure:13768: result: yes configure:13768: checking sys/ioctl.h presence configure:13768: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-cpp -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c configure:13768: $? = 0 configure:13768: result: yes configure:13768: checking for sys/ioctl.h configure:13768: result: yes configure:13768: checking sys/mkdev.h usability configure:13768: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 conftest.c:92:10: fatal error: sys/mkdev.h: No such file or directory #include ^~~~~~~~~~~~~ compilation terminated. configure:13768: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "libarchive" | #define PACKAGE_TARNAME "libarchive" | #define PACKAGE_VERSION "3.4.0" | #define PACKAGE_STRING "libarchive 3.4.0" | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com" | #define PACKAGE_URL "" | #define PACKAGE "libarchive" | #define VERSION "3.4.0" | #define LIBARCHIVE_VERSION_STRING "3.4.0" | #define LIBARCHIVE_VERSION_NUMBER "3004000" | #define BSDCPIO_VERSION_STRING "3.4.0" | #define BSDTAR_VERSION_STRING "3.4.0" | #define BSDCAT_VERSION_STRING "3.4.0" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define __EXTENSIONS__ 1 | #define _ALL_SOURCE 1 | #define _GNU_SOURCE 1 | #define _POSIX_PTHREAD_SEMANTICS 1 | #define _TANDEM_SOURCE 1 | #define LT_OBJDIR ".libs/" | #define HAVE_DIRENT_H 1 | #define HAVE_SYS_WAIT_H 1 | #define HAVE_CTYPE_H 1 | #define HAVE_ERRNO_H 1 | #define HAVE_FCNTL_H 1 | #define HAVE_GRP_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_LANGINFO_H 1 | #define HAVE_LIMITS_H 1 | #define HAVE_LINUX_FIEMAP_H 1 | #define HAVE_LINUX_FS_H 1 | #define HAVE_LINUX_MAGIC_H 1 | #define HAVE_LINUX_TYPES_H 1 | #define HAVE_WORKING_FS_IOC_GETFLAGS 1 | #define HAVE_LOCALE_H 1 | #define HAVE_PATHS_H 1 | #define HAVE_POLL_H 1 | #define HAVE_PTHREAD_H 1 | #define HAVE_PWD_H 1 | #define HAVE_SIGNAL_H 1 | #define HAVE_SPAWN_H 1 | #define HAVE_STDARG_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_SYS_CDEFS_H 1 | #define HAVE_SYS_IOCTL_H 1 | /* end confdefs.h. */ | #include | #ifdef HAVE_SYS_TYPES_H | # include | #endif | #ifdef HAVE_SYS_STAT_H | # include | #endif | #ifdef STDC_HEADERS | # include | # include | #else | # ifdef HAVE_STDLIB_H | # include | # endif | #endif | #ifdef HAVE_STRING_H | # if !defined STDC_HEADERS && defined HAVE_MEMORY_H | # include | # endif | # include | #endif | #ifdef HAVE_STRINGS_H | # include | #endif | #ifdef HAVE_INTTYPES_H | # include | #endif | #ifdef HAVE_STDINT_H | # include | #endif | #ifdef HAVE_UNISTD_H | # include | #endif | #include configure:13768: result: no configure:13768: checking sys/mkdev.h presence configure:13768: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-cpp -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c conftest.c:59:10: fatal error: sys/mkdev.h: No such file or directory #include ^~~~~~~~~~~~~ compilation terminated. configure:13768: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "libarchive" | #define PACKAGE_TARNAME "libarchive" | #define PACKAGE_VERSION "3.4.0" | #define PACKAGE_STRING "libarchive 3.4.0" | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com" | #define PACKAGE_URL "" | #define PACKAGE "libarchive" | #define VERSION "3.4.0" | #define LIBARCHIVE_VERSION_STRING "3.4.0" | #define LIBARCHIVE_VERSION_NUMBER "3004000" | #define BSDCPIO_VERSION_STRING "3.4.0" | #define BSDTAR_VERSION_STRING "3.4.0" | #define BSDCAT_VERSION_STRING "3.4.0" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define __EXTENSIONS__ 1 | #define _ALL_SOURCE 1 | #define _GNU_SOURCE 1 | #define _POSIX_PTHREAD_SEMANTICS 1 | #define _TANDEM_SOURCE 1 | #define LT_OBJDIR ".libs/" | #define HAVE_DIRENT_H 1 | #define HAVE_SYS_WAIT_H 1 | #define HAVE_CTYPE_H 1 | #define HAVE_ERRNO_H 1 | #define HAVE_FCNTL_H 1 | #define HAVE_GRP_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_LANGINFO_H 1 | #define HAVE_LIMITS_H 1 | #define HAVE_LINUX_FIEMAP_H 1 | #define HAVE_LINUX_FS_H 1 | #define HAVE_LINUX_MAGIC_H 1 | #define HAVE_LINUX_TYPES_H 1 | #define HAVE_WORKING_FS_IOC_GETFLAGS 1 | #define HAVE_LOCALE_H 1 | #define HAVE_PATHS_H 1 | #define HAVE_POLL_H 1 | #define HAVE_PTHREAD_H 1 | #define HAVE_PWD_H 1 | #define HAVE_SIGNAL_H 1 | #define HAVE_SPAWN_H 1 | #define HAVE_STDARG_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_SYS_CDEFS_H 1 | #define HAVE_SYS_IOCTL_H 1 | /* end confdefs.h. */ | #include configure:13768: result: no configure:13768: checking for sys/mkdev.h configure:13768: result: no configure:13768: checking sys/mount.h usability configure:13768: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 configure:13768: $? = 0 configure:13768: result: yes configure:13768: checking sys/mount.h presence configure:13768: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-cpp -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c configure:13768: $? = 0 configure:13768: result: yes configure:13768: checking for sys/mount.h configure:13768: result: yes configure:13781: checking sys/param.h usability configure:13781: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 configure:13781: $? = 0 configure:13781: result: yes configure:13781: checking sys/param.h presence configure:13781: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-cpp -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c configure:13781: $? = 0 configure:13781: result: yes configure:13781: checking for sys/param.h configure:13781: result: yes configure:13781: checking sys/poll.h usability configure:13781: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 configure:13781: $? = 0 configure:13781: result: yes configure:13781: checking sys/poll.h presence configure:13781: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-cpp -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c configure:13781: $? = 0 configure:13781: result: yes configure:13781: checking for sys/poll.h configure:13781: result: yes configure:13781: checking sys/richacl.h usability configure:13781: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 conftest.c:95:10: fatal error: sys/richacl.h: No such file or directory #include ^~~~~~~~~~~~~~~ compilation terminated. configure:13781: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "libarchive" | #define PACKAGE_TARNAME "libarchive" | #define PACKAGE_VERSION "3.4.0" | #define PACKAGE_STRING "libarchive 3.4.0" | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com" | #define PACKAGE_URL "" | #define PACKAGE "libarchive" | #define VERSION "3.4.0" | #define LIBARCHIVE_VERSION_STRING "3.4.0" | #define LIBARCHIVE_VERSION_NUMBER "3004000" | #define BSDCPIO_VERSION_STRING "3.4.0" | #define BSDTAR_VERSION_STRING "3.4.0" | #define BSDCAT_VERSION_STRING "3.4.0" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define __EXTENSIONS__ 1 | #define _ALL_SOURCE 1 | #define _GNU_SOURCE 1 | #define _POSIX_PTHREAD_SEMANTICS 1 | #define _TANDEM_SOURCE 1 | #define LT_OBJDIR ".libs/" | #define HAVE_DIRENT_H 1 | #define HAVE_SYS_WAIT_H 1 | #define HAVE_CTYPE_H 1 | #define HAVE_ERRNO_H 1 | #define HAVE_FCNTL_H 1 | #define HAVE_GRP_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_LANGINFO_H 1 | #define HAVE_LIMITS_H 1 | #define HAVE_LINUX_FIEMAP_H 1 | #define HAVE_LINUX_FS_H 1 | #define HAVE_LINUX_MAGIC_H 1 | #define HAVE_LINUX_TYPES_H 1 | #define HAVE_WORKING_FS_IOC_GETFLAGS 1 | #define HAVE_LOCALE_H 1 | #define HAVE_PATHS_H 1 | #define HAVE_POLL_H 1 | #define HAVE_PTHREAD_H 1 | #define HAVE_PWD_H 1 | #define HAVE_SIGNAL_H 1 | #define HAVE_SPAWN_H 1 | #define HAVE_STDARG_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_SYS_CDEFS_H 1 | #define HAVE_SYS_IOCTL_H 1 | #define HAVE_SYS_MOUNT_H 1 | #define HAVE_SYS_PARAM_H 1 | #define HAVE_SYS_POLL_H 1 | /* end confdefs.h. */ | #include | #ifdef HAVE_SYS_TYPES_H | # include | #endif | #ifdef HAVE_SYS_STAT_H | # include | #endif | #ifdef STDC_HEADERS | # include | # include | #else | # ifdef HAVE_STDLIB_H | # include | # endif | #endif | #ifdef HAVE_STRING_H | # if !defined STDC_HEADERS && defined HAVE_MEMORY_H | # include | # endif | # include | #endif | #ifdef HAVE_STRINGS_H | # include | #endif | #ifdef HAVE_INTTYPES_H | # include | #endif | #ifdef HAVE_STDINT_H | # include | #endif | #ifdef HAVE_UNISTD_H | # include | #endif | #include configure:13781: result: no configure:13781: checking sys/richacl.h presence configure:13781: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-cpp -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c conftest.c:62:10: fatal error: sys/richacl.h: No such file or directory #include ^~~~~~~~~~~~~~~ compilation terminated. configure:13781: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "libarchive" | #define PACKAGE_TARNAME "libarchive" | #define PACKAGE_VERSION "3.4.0" | #define PACKAGE_STRING "libarchive 3.4.0" | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com" | #define PACKAGE_URL "" | #define PACKAGE "libarchive" | #define VERSION "3.4.0" | #define LIBARCHIVE_VERSION_STRING "3.4.0" | #define LIBARCHIVE_VERSION_NUMBER "3004000" | #define BSDCPIO_VERSION_STRING "3.4.0" | #define BSDTAR_VERSION_STRING "3.4.0" | #define BSDCAT_VERSION_STRING "3.4.0" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define __EXTENSIONS__ 1 | #define _ALL_SOURCE 1 | #define _GNU_SOURCE 1 | #define _POSIX_PTHREAD_SEMANTICS 1 | #define _TANDEM_SOURCE 1 | #define LT_OBJDIR ".libs/" | #define HAVE_DIRENT_H 1 | #define HAVE_SYS_WAIT_H 1 | #define HAVE_CTYPE_H 1 | #define HAVE_ERRNO_H 1 | #define HAVE_FCNTL_H 1 | #define HAVE_GRP_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_LANGINFO_H 1 | #define HAVE_LIMITS_H 1 | #define HAVE_LINUX_FIEMAP_H 1 | #define HAVE_LINUX_FS_H 1 | #define HAVE_LINUX_MAGIC_H 1 | #define HAVE_LINUX_TYPES_H 1 | #define HAVE_WORKING_FS_IOC_GETFLAGS 1 | #define HAVE_LOCALE_H 1 | #define HAVE_PATHS_H 1 | #define HAVE_POLL_H 1 | #define HAVE_PTHREAD_H 1 | #define HAVE_PWD_H 1 | #define HAVE_SIGNAL_H 1 | #define HAVE_SPAWN_H 1 | #define HAVE_STDARG_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_SYS_CDEFS_H 1 | #define HAVE_SYS_IOCTL_H 1 | #define HAVE_SYS_MOUNT_H 1 | #define HAVE_SYS_PARAM_H 1 | #define HAVE_SYS_POLL_H 1 | /* end confdefs.h. */ | #include configure:13781: result: no configure:13781: checking for sys/richacl.h configure:13781: result: no configure:13794: checking sys/select.h usability configure:13794: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 configure:13794: $? = 0 configure:13794: result: yes configure:13794: checking sys/select.h presence configure:13794: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-cpp -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c configure:13794: $? = 0 configure:13794: result: yes configure:13794: checking for sys/select.h configure:13794: result: yes configure:13794: checking sys/statfs.h usability configure:13794: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 configure:13794: $? = 0 configure:13794: result: yes configure:13794: checking sys/statfs.h presence configure:13794: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-cpp -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c configure:13794: $? = 0 configure:13794: result: yes configure:13794: checking for sys/statfs.h configure:13794: result: yes configure:13794: checking sys/statvfs.h usability configure:13794: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 configure:13794: $? = 0 configure:13794: result: yes configure:13794: checking sys/statvfs.h presence configure:13794: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-cpp -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c configure:13794: $? = 0 configure:13794: result: yes configure:13794: checking for sys/statvfs.h configure:13794: result: yes configure:13794: checking sys/sysmacros.h usability configure:13794: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 configure:13794: $? = 0 configure:13794: result: yes configure:13794: checking sys/sysmacros.h presence configure:13794: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-cpp -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c configure:13794: $? = 0 configure:13794: result: yes configure:13794: checking for sys/sysmacros.h configure:13794: result: yes configure:13807: checking sys/time.h usability configure:13807: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 configure:13807: $? = 0 configure:13807: result: yes configure:13807: checking sys/time.h presence configure:13807: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-cpp -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c configure:13807: $? = 0 configure:13807: result: yes configure:13807: checking for sys/time.h configure:13807: result: yes configure:13807: checking sys/utime.h usability configure:13807: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 conftest.c:100:10: fatal error: sys/utime.h: No such file or directory #include ^~~~~~~~~~~~~ compilation terminated. configure:13807: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "libarchive" | #define PACKAGE_TARNAME "libarchive" | #define PACKAGE_VERSION "3.4.0" | #define PACKAGE_STRING "libarchive 3.4.0" | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com" | #define PACKAGE_URL "" | #define PACKAGE "libarchive" | #define VERSION "3.4.0" | #define LIBARCHIVE_VERSION_STRING "3.4.0" | #define LIBARCHIVE_VERSION_NUMBER "3004000" | #define BSDCPIO_VERSION_STRING "3.4.0" | #define BSDTAR_VERSION_STRING "3.4.0" | #define BSDCAT_VERSION_STRING "3.4.0" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define __EXTENSIONS__ 1 | #define _ALL_SOURCE 1 | #define _GNU_SOURCE 1 | #define _POSIX_PTHREAD_SEMANTICS 1 | #define _TANDEM_SOURCE 1 | #define LT_OBJDIR ".libs/" | #define HAVE_DIRENT_H 1 | #define HAVE_SYS_WAIT_H 1 | #define HAVE_CTYPE_H 1 | #define HAVE_ERRNO_H 1 | #define HAVE_FCNTL_H 1 | #define HAVE_GRP_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_LANGINFO_H 1 | #define HAVE_LIMITS_H 1 | #define HAVE_LINUX_FIEMAP_H 1 | #define HAVE_LINUX_FS_H 1 | #define HAVE_LINUX_MAGIC_H 1 | #define HAVE_LINUX_TYPES_H 1 | #define HAVE_WORKING_FS_IOC_GETFLAGS 1 | #define HAVE_LOCALE_H 1 | #define HAVE_PATHS_H 1 | #define HAVE_POLL_H 1 | #define HAVE_PTHREAD_H 1 | #define HAVE_PWD_H 1 | #define HAVE_SIGNAL_H 1 | #define HAVE_SPAWN_H 1 | #define HAVE_STDARG_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_SYS_CDEFS_H 1 | #define HAVE_SYS_IOCTL_H 1 | #define HAVE_SYS_MOUNT_H 1 | #define HAVE_SYS_PARAM_H 1 | #define HAVE_SYS_POLL_H 1 | #define HAVE_SYS_SELECT_H 1 | #define HAVE_SYS_STATFS_H 1 | #define HAVE_SYS_STATVFS_H 1 | #define HAVE_SYS_SYSMACROS_H 1 | #define HAVE_SYS_TIME_H 1 | /* end confdefs.h. */ | #include | #ifdef HAVE_SYS_TYPES_H | # include | #endif | #ifdef HAVE_SYS_STAT_H | # include | #endif | #ifdef STDC_HEADERS | # include | # include | #else | # ifdef HAVE_STDLIB_H | # include | # endif | #endif | #ifdef HAVE_STRING_H | # if !defined STDC_HEADERS && defined HAVE_MEMORY_H | # include | # endif | # include | #endif | #ifdef HAVE_STRINGS_H | # include | #endif | #ifdef HAVE_INTTYPES_H | # include | #endif | #ifdef HAVE_STDINT_H | # include | #endif | #ifdef HAVE_UNISTD_H | # include | #endif | #include configure:13807: result: no configure:13807: checking sys/utime.h presence configure:13807: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-cpp -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c conftest.c:67:10: fatal error: sys/utime.h: No such file or directory #include ^~~~~~~~~~~~~ compilation terminated. configure:13807: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "libarchive" | #define PACKAGE_TARNAME "libarchive" | #define PACKAGE_VERSION "3.4.0" | #define PACKAGE_STRING "libarchive 3.4.0" | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com" | #define PACKAGE_URL "" | #define PACKAGE "libarchive" | #define VERSION "3.4.0" | #define LIBARCHIVE_VERSION_STRING "3.4.0" | #define LIBARCHIVE_VERSION_NUMBER "3004000" | #define BSDCPIO_VERSION_STRING "3.4.0" | #define BSDTAR_VERSION_STRING "3.4.0" | #define BSDCAT_VERSION_STRING "3.4.0" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define __EXTENSIONS__ 1 | #define _ALL_SOURCE 1 | #define _GNU_SOURCE 1 | #define _POSIX_PTHREAD_SEMANTICS 1 | #define _TANDEM_SOURCE 1 | #define LT_OBJDIR ".libs/" | #define HAVE_DIRENT_H 1 | #define HAVE_SYS_WAIT_H 1 | #define HAVE_CTYPE_H 1 | #define HAVE_ERRNO_H 1 | #define HAVE_FCNTL_H 1 | #define HAVE_GRP_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_LANGINFO_H 1 | #define HAVE_LIMITS_H 1 | #define HAVE_LINUX_FIEMAP_H 1 | #define HAVE_LINUX_FS_H 1 | #define HAVE_LINUX_MAGIC_H 1 | #define HAVE_LINUX_TYPES_H 1 | #define HAVE_WORKING_FS_IOC_GETFLAGS 1 | #define HAVE_LOCALE_H 1 | #define HAVE_PATHS_H 1 | #define HAVE_POLL_H 1 | #define HAVE_PTHREAD_H 1 | #define HAVE_PWD_H 1 | #define HAVE_SIGNAL_H 1 | #define HAVE_SPAWN_H 1 | #define HAVE_STDARG_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_SYS_CDEFS_H 1 | #define HAVE_SYS_IOCTL_H 1 | #define HAVE_SYS_MOUNT_H 1 | #define HAVE_SYS_PARAM_H 1 | #define HAVE_SYS_POLL_H 1 | #define HAVE_SYS_SELECT_H 1 | #define HAVE_SYS_STATFS_H 1 | #define HAVE_SYS_STATVFS_H 1 | #define HAVE_SYS_SYSMACROS_H 1 | #define HAVE_SYS_TIME_H 1 | /* end confdefs.h. */ | #include configure:13807: result: no configure:13807: checking for sys/utime.h configure:13807: result: no configure:13807: checking sys/utsname.h usability configure:13807: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 configure:13807: $? = 0 configure:13807: result: yes configure:13807: checking sys/utsname.h presence configure:13807: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-cpp -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c configure:13807: $? = 0 configure:13807: result: yes configure:13807: checking for sys/utsname.h configure:13807: result: yes configure:13807: checking sys/vfs.h usability configure:13807: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 configure:13807: $? = 0 configure:13807: result: yes configure:13807: checking sys/vfs.h presence configure:13807: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-cpp -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c configure:13807: $? = 0 configure:13807: result: yes configure:13807: checking for sys/vfs.h configure:13807: result: yes configure:13807: checking sys/xattr.h usability configure:13807: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 configure:13807: $? = 0 configure:13807: result: yes configure:13807: checking sys/xattr.h presence configure:13807: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-cpp -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c configure:13807: $? = 0 configure:13807: result: yes configure:13807: checking for sys/xattr.h configure:13807: result: yes configure:13820: checking time.h usability configure:13820: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 configure:13820: $? = 0 configure:13820: result: yes configure:13820: checking time.h presence configure:13820: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-cpp -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c configure:13820: $? = 0 configure:13820: result: yes configure:13820: checking for time.h configure:13820: result: yes configure:13820: checking for unistd.h configure:13820: result: yes configure:13820: checking utime.h usability configure:13820: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 configure:13820: $? = 0 configure:13820: result: yes configure:13820: checking utime.h presence configure:13820: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-cpp -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c configure:13820: $? = 0 configure:13820: result: yes configure:13820: checking for utime.h configure:13820: result: yes configure:13820: checking wchar.h usability configure:13820: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 configure:13820: $? = 0 configure:13820: result: yes configure:13820: checking wchar.h presence configure:13820: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-cpp -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c configure:13820: $? = 0 configure:13820: result: yes configure:13820: checking for wchar.h configure:13820: result: yes configure:13820: checking wctype.h usability configure:13820: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 configure:13820: $? = 0 configure:13820: result: yes configure:13820: checking wctype.h presence configure:13820: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-cpp -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c configure:13820: $? = 0 configure:13820: result: yes configure:13820: checking for wctype.h configure:13820: result: yes configure:13832: checking windows.h usability configure:13832: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 conftest.c:108:10: fatal error: windows.h: No such file or directory #include ^~~~~~~~~~~ compilation terminated. configure:13832: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "libarchive" | #define PACKAGE_TARNAME "libarchive" | #define PACKAGE_VERSION "3.4.0" | #define PACKAGE_STRING "libarchive 3.4.0" | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com" | #define PACKAGE_URL "" | #define PACKAGE "libarchive" | #define VERSION "3.4.0" | #define LIBARCHIVE_VERSION_STRING "3.4.0" | #define LIBARCHIVE_VERSION_NUMBER "3004000" | #define BSDCPIO_VERSION_STRING "3.4.0" | #define BSDTAR_VERSION_STRING "3.4.0" | #define BSDCAT_VERSION_STRING "3.4.0" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define __EXTENSIONS__ 1 | #define _ALL_SOURCE 1 | #define _GNU_SOURCE 1 | #define _POSIX_PTHREAD_SEMANTICS 1 | #define _TANDEM_SOURCE 1 | #define LT_OBJDIR ".libs/" | #define HAVE_DIRENT_H 1 | #define HAVE_SYS_WAIT_H 1 | #define HAVE_CTYPE_H 1 | #define HAVE_ERRNO_H 1 | #define HAVE_FCNTL_H 1 | #define HAVE_GRP_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_LANGINFO_H 1 | #define HAVE_LIMITS_H 1 | #define HAVE_LINUX_FIEMAP_H 1 | #define HAVE_LINUX_FS_H 1 | #define HAVE_LINUX_MAGIC_H 1 | #define HAVE_LINUX_TYPES_H 1 | #define HAVE_WORKING_FS_IOC_GETFLAGS 1 | #define HAVE_LOCALE_H 1 | #define HAVE_PATHS_H 1 | #define HAVE_POLL_H 1 | #define HAVE_PTHREAD_H 1 | #define HAVE_PWD_H 1 | #define HAVE_SIGNAL_H 1 | #define HAVE_SPAWN_H 1 | #define HAVE_STDARG_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_SYS_CDEFS_H 1 | #define HAVE_SYS_IOCTL_H 1 | #define HAVE_SYS_MOUNT_H 1 | #define HAVE_SYS_PARAM_H 1 | #define HAVE_SYS_POLL_H 1 | #define HAVE_SYS_SELECT_H 1 | #define HAVE_SYS_STATFS_H 1 | #define HAVE_SYS_STATVFS_H 1 | #define HAVE_SYS_SYSMACROS_H 1 | #define HAVE_SYS_TIME_H 1 | #define HAVE_SYS_UTSNAME_H 1 | #define HAVE_SYS_VFS_H 1 | #define HAVE_SYS_XATTR_H 1 | #define HAVE_TIME_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_UTIME_H 1 | #define HAVE_WCHAR_H 1 | #define HAVE_WCTYPE_H 1 | /* end confdefs.h. */ | #include | #ifdef HAVE_SYS_TYPES_H | # include | #endif | #ifdef HAVE_SYS_STAT_H | # include | #endif | #ifdef STDC_HEADERS | # include | # include | #else | # ifdef HAVE_STDLIB_H | # include | # endif | #endif | #ifdef HAVE_STRING_H | # if !defined STDC_HEADERS && defined HAVE_MEMORY_H | # include | # endif | # include | #endif | #ifdef HAVE_STRINGS_H | # include | #endif | #ifdef HAVE_INTTYPES_H | # include | #endif | #ifdef HAVE_STDINT_H | # include | #endif | #ifdef HAVE_UNISTD_H | # include | #endif | #include configure:13832: result: no configure:13832: checking windows.h presence configure:13832: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-cpp -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c conftest.c:75:10: fatal error: windows.h: No such file or directory #include ^~~~~~~~~~~ compilation terminated. configure:13832: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "libarchive" | #define PACKAGE_TARNAME "libarchive" | #define PACKAGE_VERSION "3.4.0" | #define PACKAGE_STRING "libarchive 3.4.0" | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com" | #define PACKAGE_URL "" | #define PACKAGE "libarchive" | #define VERSION "3.4.0" | #define LIBARCHIVE_VERSION_STRING "3.4.0" | #define LIBARCHIVE_VERSION_NUMBER "3004000" | #define BSDCPIO_VERSION_STRING "3.4.0" | #define BSDTAR_VERSION_STRING "3.4.0" | #define BSDCAT_VERSION_STRING "3.4.0" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define __EXTENSIONS__ 1 | #define _ALL_SOURCE 1 | #define _GNU_SOURCE 1 | #define _POSIX_PTHREAD_SEMANTICS 1 | #define _TANDEM_SOURCE 1 | #define LT_OBJDIR ".libs/" | #define HAVE_DIRENT_H 1 | #define HAVE_SYS_WAIT_H 1 | #define HAVE_CTYPE_H 1 | #define HAVE_ERRNO_H 1 | #define HAVE_FCNTL_H 1 | #define HAVE_GRP_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_LANGINFO_H 1 | #define HAVE_LIMITS_H 1 | #define HAVE_LINUX_FIEMAP_H 1 | #define HAVE_LINUX_FS_H 1 | #define HAVE_LINUX_MAGIC_H 1 | #define HAVE_LINUX_TYPES_H 1 | #define HAVE_WORKING_FS_IOC_GETFLAGS 1 | #define HAVE_LOCALE_H 1 | #define HAVE_PATHS_H 1 | #define HAVE_POLL_H 1 | #define HAVE_PTHREAD_H 1 | #define HAVE_PWD_H 1 | #define HAVE_SIGNAL_H 1 | #define HAVE_SPAWN_H 1 | #define HAVE_STDARG_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_SYS_CDEFS_H 1 | #define HAVE_SYS_IOCTL_H 1 | #define HAVE_SYS_MOUNT_H 1 | #define HAVE_SYS_PARAM_H 1 | #define HAVE_SYS_POLL_H 1 | #define HAVE_SYS_SELECT_H 1 | #define HAVE_SYS_STATFS_H 1 | #define HAVE_SYS_STATVFS_H 1 | #define HAVE_SYS_SYSMACROS_H 1 | #define HAVE_SYS_TIME_H 1 | #define HAVE_SYS_UTSNAME_H 1 | #define HAVE_SYS_VFS_H 1 | #define HAVE_SYS_XATTR_H 1 | #define HAVE_TIME_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_UTIME_H 1 | #define HAVE_WCHAR_H 1 | #define HAVE_WCTYPE_H 1 | /* end confdefs.h. */ | #include configure:13832: result: no configure:13832: checking for windows.h configure:13832: result: no configure:13846: checking for wincrypt.h configure:13846: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 conftest.c:80:10: fatal error: wincrypt.h: No such file or directory #include ^~~~~~~~~~~~ compilation terminated. configure:13846: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "libarchive" | #define PACKAGE_TARNAME "libarchive" | #define PACKAGE_VERSION "3.4.0" | #define PACKAGE_STRING "libarchive 3.4.0" | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com" | #define PACKAGE_URL "" | #define PACKAGE "libarchive" | #define VERSION "3.4.0" | #define LIBARCHIVE_VERSION_STRING "3.4.0" | #define LIBARCHIVE_VERSION_NUMBER "3004000" | #define BSDCPIO_VERSION_STRING "3.4.0" | #define BSDTAR_VERSION_STRING "3.4.0" | #define BSDCAT_VERSION_STRING "3.4.0" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define __EXTENSIONS__ 1 | #define _ALL_SOURCE 1 | #define _GNU_SOURCE 1 | #define _POSIX_PTHREAD_SEMANTICS 1 | #define _TANDEM_SOURCE 1 | #define LT_OBJDIR ".libs/" | #define HAVE_DIRENT_H 1 | #define HAVE_SYS_WAIT_H 1 | #define HAVE_CTYPE_H 1 | #define HAVE_ERRNO_H 1 | #define HAVE_FCNTL_H 1 | #define HAVE_GRP_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_LANGINFO_H 1 | #define HAVE_LIMITS_H 1 | #define HAVE_LINUX_FIEMAP_H 1 | #define HAVE_LINUX_FS_H 1 | #define HAVE_LINUX_MAGIC_H 1 | #define HAVE_LINUX_TYPES_H 1 | #define HAVE_WORKING_FS_IOC_GETFLAGS 1 | #define HAVE_LOCALE_H 1 | #define HAVE_PATHS_H 1 | #define HAVE_POLL_H 1 | #define HAVE_PTHREAD_H 1 | #define HAVE_PWD_H 1 | #define HAVE_SIGNAL_H 1 | #define HAVE_SPAWN_H 1 | #define HAVE_STDARG_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_SYS_CDEFS_H 1 | #define HAVE_SYS_IOCTL_H 1 | #define HAVE_SYS_MOUNT_H 1 | #define HAVE_SYS_PARAM_H 1 | #define HAVE_SYS_POLL_H 1 | #define HAVE_SYS_SELECT_H 1 | #define HAVE_SYS_STATFS_H 1 | #define HAVE_SYS_STATVFS_H 1 | #define HAVE_SYS_SYSMACROS_H 1 | #define HAVE_SYS_TIME_H 1 | #define HAVE_SYS_UTSNAME_H 1 | #define HAVE_SYS_VFS_H 1 | #define HAVE_SYS_XATTR_H 1 | #define HAVE_TIME_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_UTIME_H 1 | #define HAVE_WCHAR_H 1 | #define HAVE_WCTYPE_H 1 | /* end confdefs.h. */ | #ifdef HAVE_WINDOWS_H | # include | #endif | | | #include configure:13846: result: no configure:13846: checking for winioctl.h configure:13846: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 conftest.c:80:10: fatal error: winioctl.h: No such file or directory #include ^~~~~~~~~~~~ compilation terminated. configure:13846: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "libarchive" | #define PACKAGE_TARNAME "libarchive" | #define PACKAGE_VERSION "3.4.0" | #define PACKAGE_STRING "libarchive 3.4.0" | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com" | #define PACKAGE_URL "" | #define PACKAGE "libarchive" | #define VERSION "3.4.0" | #define LIBARCHIVE_VERSION_STRING "3.4.0" | #define LIBARCHIVE_VERSION_NUMBER "3004000" | #define BSDCPIO_VERSION_STRING "3.4.0" | #define BSDTAR_VERSION_STRING "3.4.0" | #define BSDCAT_VERSION_STRING "3.4.0" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define __EXTENSIONS__ 1 | #define _ALL_SOURCE 1 | #define _GNU_SOURCE 1 | #define _POSIX_PTHREAD_SEMANTICS 1 | #define _TANDEM_SOURCE 1 | #define LT_OBJDIR ".libs/" | #define HAVE_DIRENT_H 1 | #define HAVE_SYS_WAIT_H 1 | #define HAVE_CTYPE_H 1 | #define HAVE_ERRNO_H 1 | #define HAVE_FCNTL_H 1 | #define HAVE_GRP_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_LANGINFO_H 1 | #define HAVE_LIMITS_H 1 | #define HAVE_LINUX_FIEMAP_H 1 | #define HAVE_LINUX_FS_H 1 | #define HAVE_LINUX_MAGIC_H 1 | #define HAVE_LINUX_TYPES_H 1 | #define HAVE_WORKING_FS_IOC_GETFLAGS 1 | #define HAVE_LOCALE_H 1 | #define HAVE_PATHS_H 1 | #define HAVE_POLL_H 1 | #define HAVE_PTHREAD_H 1 | #define HAVE_PWD_H 1 | #define HAVE_SIGNAL_H 1 | #define HAVE_SPAWN_H 1 | #define HAVE_STDARG_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_SYS_CDEFS_H 1 | #define HAVE_SYS_IOCTL_H 1 | #define HAVE_SYS_MOUNT_H 1 | #define HAVE_SYS_PARAM_H 1 | #define HAVE_SYS_POLL_H 1 | #define HAVE_SYS_SELECT_H 1 | #define HAVE_SYS_STATFS_H 1 | #define HAVE_SYS_STATVFS_H 1 | #define HAVE_SYS_SYSMACROS_H 1 | #define HAVE_SYS_TIME_H 1 | #define HAVE_SYS_UTSNAME_H 1 | #define HAVE_SYS_VFS_H 1 | #define HAVE_SYS_XATTR_H 1 | #define HAVE_TIME_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_UTIME_H 1 | #define HAVE_WCHAR_H 1 | #define HAVE_WCTYPE_H 1 | /* end confdefs.h. */ | #ifdef HAVE_WINDOWS_H | # include | #endif | | | #include configure:13846: result: no configure:14037: checking blake2.h usability configure:14037: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 conftest.c:108:10: fatal error: blake2.h: No such file or directory #include ^~~~~~~~~~ compilation terminated. configure:14037: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "libarchive" | #define PACKAGE_TARNAME "libarchive" | #define PACKAGE_VERSION "3.4.0" | #define PACKAGE_STRING "libarchive 3.4.0" | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com" | #define PACKAGE_URL "" | #define PACKAGE "libarchive" | #define VERSION "3.4.0" | #define LIBARCHIVE_VERSION_STRING "3.4.0" | #define LIBARCHIVE_VERSION_NUMBER "3004000" | #define BSDCPIO_VERSION_STRING "3.4.0" | #define BSDTAR_VERSION_STRING "3.4.0" | #define BSDCAT_VERSION_STRING "3.4.0" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define __EXTENSIONS__ 1 | #define _ALL_SOURCE 1 | #define _GNU_SOURCE 1 | #define _POSIX_PTHREAD_SEMANTICS 1 | #define _TANDEM_SOURCE 1 | #define LT_OBJDIR ".libs/" | #define HAVE_DIRENT_H 1 | #define HAVE_SYS_WAIT_H 1 | #define HAVE_CTYPE_H 1 | #define HAVE_ERRNO_H 1 | #define HAVE_FCNTL_H 1 | #define HAVE_GRP_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_LANGINFO_H 1 | #define HAVE_LIMITS_H 1 | #define HAVE_LINUX_FIEMAP_H 1 | #define HAVE_LINUX_FS_H 1 | #define HAVE_LINUX_MAGIC_H 1 | #define HAVE_LINUX_TYPES_H 1 | #define HAVE_WORKING_FS_IOC_GETFLAGS 1 | #define HAVE_LOCALE_H 1 | #define HAVE_PATHS_H 1 | #define HAVE_POLL_H 1 | #define HAVE_PTHREAD_H 1 | #define HAVE_PWD_H 1 | #define HAVE_SIGNAL_H 1 | #define HAVE_SPAWN_H 1 | #define HAVE_STDARG_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_SYS_CDEFS_H 1 | #define HAVE_SYS_IOCTL_H 1 | #define HAVE_SYS_MOUNT_H 1 | #define HAVE_SYS_PARAM_H 1 | #define HAVE_SYS_POLL_H 1 | #define HAVE_SYS_SELECT_H 1 | #define HAVE_SYS_STATFS_H 1 | #define HAVE_SYS_STATVFS_H 1 | #define HAVE_SYS_SYSMACROS_H 1 | #define HAVE_SYS_TIME_H 1 | #define HAVE_SYS_UTSNAME_H 1 | #define HAVE_SYS_VFS_H 1 | #define HAVE_SYS_XATTR_H 1 | #define HAVE_TIME_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_UTIME_H 1 | #define HAVE_WCHAR_H 1 | #define HAVE_WCTYPE_H 1 | /* end confdefs.h. */ | #include | #ifdef HAVE_SYS_TYPES_H | # include | #endif | #ifdef HAVE_SYS_STAT_H | # include | #endif | #ifdef STDC_HEADERS | # include | # include | #else | # ifdef HAVE_STDLIB_H | # include | # endif | #endif | #ifdef HAVE_STRING_H | # if !defined STDC_HEADERS && defined HAVE_MEMORY_H | # include | # endif | # include | #endif | #ifdef HAVE_STRINGS_H | # include | #endif | #ifdef HAVE_INTTYPES_H | # include | #endif | #ifdef HAVE_STDINT_H | # include | #endif | #ifdef HAVE_UNISTD_H | # include | #endif | #include configure:14037: result: no configure:14037: checking blake2.h presence configure:14037: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-cpp -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c conftest.c:75:10: fatal error: blake2.h: No such file or directory #include ^~~~~~~~~~ compilation terminated. configure:14037: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "libarchive" | #define PACKAGE_TARNAME "libarchive" | #define PACKAGE_VERSION "3.4.0" | #define PACKAGE_STRING "libarchive 3.4.0" | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com" | #define PACKAGE_URL "" | #define PACKAGE "libarchive" | #define VERSION "3.4.0" | #define LIBARCHIVE_VERSION_STRING "3.4.0" | #define LIBARCHIVE_VERSION_NUMBER "3004000" | #define BSDCPIO_VERSION_STRING "3.4.0" | #define BSDTAR_VERSION_STRING "3.4.0" | #define BSDCAT_VERSION_STRING "3.4.0" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define __EXTENSIONS__ 1 | #define _ALL_SOURCE 1 | #define _GNU_SOURCE 1 | #define _POSIX_PTHREAD_SEMANTICS 1 | #define _TANDEM_SOURCE 1 | #define LT_OBJDIR ".libs/" | #define HAVE_DIRENT_H 1 | #define HAVE_SYS_WAIT_H 1 | #define HAVE_CTYPE_H 1 | #define HAVE_ERRNO_H 1 | #define HAVE_FCNTL_H 1 | #define HAVE_GRP_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_LANGINFO_H 1 | #define HAVE_LIMITS_H 1 | #define HAVE_LINUX_FIEMAP_H 1 | #define HAVE_LINUX_FS_H 1 | #define HAVE_LINUX_MAGIC_H 1 | #define HAVE_LINUX_TYPES_H 1 | #define HAVE_WORKING_FS_IOC_GETFLAGS 1 | #define HAVE_LOCALE_H 1 | #define HAVE_PATHS_H 1 | #define HAVE_POLL_H 1 | #define HAVE_PTHREAD_H 1 | #define HAVE_PWD_H 1 | #define HAVE_SIGNAL_H 1 | #define HAVE_SPAWN_H 1 | #define HAVE_STDARG_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_SYS_CDEFS_H 1 | #define HAVE_SYS_IOCTL_H 1 | #define HAVE_SYS_MOUNT_H 1 | #define HAVE_SYS_PARAM_H 1 | #define HAVE_SYS_POLL_H 1 | #define HAVE_SYS_SELECT_H 1 | #define HAVE_SYS_STATFS_H 1 | #define HAVE_SYS_STATVFS_H 1 | #define HAVE_SYS_SYSMACROS_H 1 | #define HAVE_SYS_TIME_H 1 | #define HAVE_SYS_UTSNAME_H 1 | #define HAVE_SYS_VFS_H 1 | #define HAVE_SYS_XATTR_H 1 | #define HAVE_TIME_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_UTIME_H 1 | #define HAVE_WCHAR_H 1 | #define HAVE_WCTYPE_H 1 | /* end confdefs.h. */ | #include configure:14037: result: no configure:14037: checking for blake2.h configure:14037: result: no configure:14047: checking for blake2sp_init in -lb2 configure:14072: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -o conftest -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Wl,-elf2flt -static conftest.c -lb2 >&5 /home/buildroot/autobuild/instance-0/output/host/opt/ext-toolchain/arm-buildroot-uclinux-uclibcgnueabi/bin/ld.real: cannot find -lb2 collect2: error: ld returned 1 exit status configure:14072: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "libarchive" | #define PACKAGE_TARNAME "libarchive" | #define PACKAGE_VERSION "3.4.0" | #define PACKAGE_STRING "libarchive 3.4.0" | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com" | #define PACKAGE_URL "" | #define PACKAGE "libarchive" | #define VERSION "3.4.0" | #define LIBARCHIVE_VERSION_STRING "3.4.0" | #define LIBARCHIVE_VERSION_NUMBER "3004000" | #define BSDCPIO_VERSION_STRING "3.4.0" | #define BSDTAR_VERSION_STRING "3.4.0" | #define BSDCAT_VERSION_STRING "3.4.0" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define __EXTENSIONS__ 1 | #define _ALL_SOURCE 1 | #define _GNU_SOURCE 1 | #define _POSIX_PTHREAD_SEMANTICS 1 | #define _TANDEM_SOURCE 1 | #define LT_OBJDIR ".libs/" | #define HAVE_DIRENT_H 1 | #define HAVE_SYS_WAIT_H 1 | #define HAVE_CTYPE_H 1 | #define HAVE_ERRNO_H 1 | #define HAVE_FCNTL_H 1 | #define HAVE_GRP_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_LANGINFO_H 1 | #define HAVE_LIMITS_H 1 | #define HAVE_LINUX_FIEMAP_H 1 | #define HAVE_LINUX_FS_H 1 | #define HAVE_LINUX_MAGIC_H 1 | #define HAVE_LINUX_TYPES_H 1 | #define HAVE_WORKING_FS_IOC_GETFLAGS 1 | #define HAVE_LOCALE_H 1 | #define HAVE_PATHS_H 1 | #define HAVE_POLL_H 1 | #define HAVE_PTHREAD_H 1 | #define HAVE_PWD_H 1 | #define HAVE_SIGNAL_H 1 | #define HAVE_SPAWN_H 1 | #define HAVE_STDARG_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_SYS_CDEFS_H 1 | #define HAVE_SYS_IOCTL_H 1 | #define HAVE_SYS_MOUNT_H 1 | #define HAVE_SYS_PARAM_H 1 | #define HAVE_SYS_POLL_H 1 | #define HAVE_SYS_SELECT_H 1 | #define HAVE_SYS_STATFS_H 1 | #define HAVE_SYS_STATVFS_H 1 | #define HAVE_SYS_SYSMACROS_H 1 | #define HAVE_SYS_TIME_H 1 | #define HAVE_SYS_UTSNAME_H 1 | #define HAVE_SYS_VFS_H 1 | #define HAVE_SYS_XATTR_H 1 | #define HAVE_TIME_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_UTIME_H 1 | #define HAVE_WCHAR_H 1 | #define HAVE_WCTYPE_H 1 | /* end confdefs.h. */ | | /* Override any GCC internal prototype to avoid an error. | Use char because int might match the return type of a GCC | builtin and then its argument prototype would still apply. */ | #ifdef __cplusplus | extern "C" | #endif | char blake2sp_init (); | int | main () | { | return blake2sp_init (); | ; | return 0; | } configure:14081: result: no configure:14150: checking for ld used by GCC configure:14214: result: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-ld configure:14221: checking if the linker (/home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-ld) is GNU ld configure:14234: result: yes configure:14241: checking for shared library run path origin configure:14254: result: done configure:14832: checking for iconv configure:14856: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -o conftest -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Wl,-elf2flt -static conftest.c >&5 configure:14856: $? = 0 configure:14890: result: yes configure:14893: checking for working iconv configure:15034: result: guessing yes configure:15062: checking for iconv declaration configure:15091: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 configure:15091: $? = 0 configure:15102: result: extern size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft); configure:15115: checking for iconv.h configure:15115: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 configure:15115: $? = 0 configure:15115: result: yes configure:15129: checking localcharset.h usability configure:15129: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 conftest.c:111:10: fatal error: localcharset.h: No such file or directory #include ^~~~~~~~~~~~~~~~ compilation terminated. configure:15129: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "libarchive" | #define PACKAGE_TARNAME "libarchive" | #define PACKAGE_VERSION "3.4.0" | #define PACKAGE_STRING "libarchive 3.4.0" | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com" | #define PACKAGE_URL "" | #define PACKAGE "libarchive" | #define VERSION "3.4.0" | #define LIBARCHIVE_VERSION_STRING "3.4.0" | #define LIBARCHIVE_VERSION_NUMBER "3004000" | #define BSDCPIO_VERSION_STRING "3.4.0" | #define BSDTAR_VERSION_STRING "3.4.0" | #define BSDCAT_VERSION_STRING "3.4.0" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define __EXTENSIONS__ 1 | #define _ALL_SOURCE 1 | #define _GNU_SOURCE 1 | #define _POSIX_PTHREAD_SEMANTICS 1 | #define _TANDEM_SOURCE 1 | #define LT_OBJDIR ".libs/" | #define HAVE_DIRENT_H 1 | #define HAVE_SYS_WAIT_H 1 | #define HAVE_CTYPE_H 1 | #define HAVE_ERRNO_H 1 | #define HAVE_FCNTL_H 1 | #define HAVE_GRP_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_LANGINFO_H 1 | #define HAVE_LIMITS_H 1 | #define HAVE_LINUX_FIEMAP_H 1 | #define HAVE_LINUX_FS_H 1 | #define HAVE_LINUX_MAGIC_H 1 | #define HAVE_LINUX_TYPES_H 1 | #define HAVE_WORKING_FS_IOC_GETFLAGS 1 | #define HAVE_LOCALE_H 1 | #define HAVE_PATHS_H 1 | #define HAVE_POLL_H 1 | #define HAVE_PTHREAD_H 1 | #define HAVE_PWD_H 1 | #define HAVE_SIGNAL_H 1 | #define HAVE_SPAWN_H 1 | #define HAVE_STDARG_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_SYS_CDEFS_H 1 | #define HAVE_SYS_IOCTL_H 1 | #define HAVE_SYS_MOUNT_H 1 | #define HAVE_SYS_PARAM_H 1 | #define HAVE_SYS_POLL_H 1 | #define HAVE_SYS_SELECT_H 1 | #define HAVE_SYS_STATFS_H 1 | #define HAVE_SYS_STATVFS_H 1 | #define HAVE_SYS_SYSMACROS_H 1 | #define HAVE_SYS_TIME_H 1 | #define HAVE_SYS_UTSNAME_H 1 | #define HAVE_SYS_VFS_H 1 | #define HAVE_SYS_XATTR_H 1 | #define HAVE_TIME_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_UTIME_H 1 | #define HAVE_WCHAR_H 1 | #define HAVE_WCTYPE_H 1 | #define HAVE_ICONV 1 | #define ICONV_CONST | #define HAVE_ICONV_H 1 | /* end confdefs.h. */ | #include | #ifdef HAVE_SYS_TYPES_H | # include | #endif | #ifdef HAVE_SYS_STAT_H | # include | #endif | #ifdef STDC_HEADERS | # include | # include | #else | # ifdef HAVE_STDLIB_H | # include | # endif | #endif | #ifdef HAVE_STRING_H | # if !defined STDC_HEADERS && defined HAVE_MEMORY_H | # include | # endif | # include | #endif | #ifdef HAVE_STRINGS_H | # include | #endif | #ifdef HAVE_INTTYPES_H | # include | #endif | #ifdef HAVE_STDINT_H | # include | #endif | #ifdef HAVE_UNISTD_H | # include | #endif | #include configure:15129: result: no configure:15129: checking localcharset.h presence configure:15129: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-cpp -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c conftest.c:78:10: fatal error: localcharset.h: No such file or directory #include ^~~~~~~~~~~~~~~~ compilation terminated. configure:15129: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "libarchive" | #define PACKAGE_TARNAME "libarchive" | #define PACKAGE_VERSION "3.4.0" | #define PACKAGE_STRING "libarchive 3.4.0" | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com" | #define PACKAGE_URL "" | #define PACKAGE "libarchive" | #define VERSION "3.4.0" | #define LIBARCHIVE_VERSION_STRING "3.4.0" | #define LIBARCHIVE_VERSION_NUMBER "3004000" | #define BSDCPIO_VERSION_STRING "3.4.0" | #define BSDTAR_VERSION_STRING "3.4.0" | #define BSDCAT_VERSION_STRING "3.4.0" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define __EXTENSIONS__ 1 | #define _ALL_SOURCE 1 | #define _GNU_SOURCE 1 | #define _POSIX_PTHREAD_SEMANTICS 1 | #define _TANDEM_SOURCE 1 | #define LT_OBJDIR ".libs/" | #define HAVE_DIRENT_H 1 | #define HAVE_SYS_WAIT_H 1 | #define HAVE_CTYPE_H 1 | #define HAVE_ERRNO_H 1 | #define HAVE_FCNTL_H 1 | #define HAVE_GRP_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_LANGINFO_H 1 | #define HAVE_LIMITS_H 1 | #define HAVE_LINUX_FIEMAP_H 1 | #define HAVE_LINUX_FS_H 1 | #define HAVE_LINUX_MAGIC_H 1 | #define HAVE_LINUX_TYPES_H 1 | #define HAVE_WORKING_FS_IOC_GETFLAGS 1 | #define HAVE_LOCALE_H 1 | #define HAVE_PATHS_H 1 | #define HAVE_POLL_H 1 | #define HAVE_PTHREAD_H 1 | #define HAVE_PWD_H 1 | #define HAVE_SIGNAL_H 1 | #define HAVE_SPAWN_H 1 | #define HAVE_STDARG_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_SYS_CDEFS_H 1 | #define HAVE_SYS_IOCTL_H 1 | #define HAVE_SYS_MOUNT_H 1 | #define HAVE_SYS_PARAM_H 1 | #define HAVE_SYS_POLL_H 1 | #define HAVE_SYS_SELECT_H 1 | #define HAVE_SYS_STATFS_H 1 | #define HAVE_SYS_STATVFS_H 1 | #define HAVE_SYS_SYSMACROS_H 1 | #define HAVE_SYS_TIME_H 1 | #define HAVE_SYS_UTSNAME_H 1 | #define HAVE_SYS_VFS_H 1 | #define HAVE_SYS_XATTR_H 1 | #define HAVE_TIME_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_UTIME_H 1 | #define HAVE_WCHAR_H 1 | #define HAVE_WCTYPE_H 1 | #define HAVE_ICONV 1 | #define ICONV_CONST | #define HAVE_ICONV_H 1 | /* end confdefs.h. */ | #include configure:15129: result: no configure:15129: checking for localcharset.h configure:15129: result: no configure:15143: checking for locale_charset configure:15143: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -o conftest -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Wl,-elf2flt -static conftest.c >&5 /tmp/cc1aV3Gt.o: In function `main': conftest.c:(.text.startup+0x2): undefined reference to `locale_charset' collect2: error: ld returned 1 exit status configure:15143: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "libarchive" | #define PACKAGE_TARNAME "libarchive" | #define PACKAGE_VERSION "3.4.0" | #define PACKAGE_STRING "libarchive 3.4.0" | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com" | #define PACKAGE_URL "" | #define PACKAGE "libarchive" | #define VERSION "3.4.0" | #define LIBARCHIVE_VERSION_STRING "3.4.0" | #define LIBARCHIVE_VERSION_NUMBER "3004000" | #define BSDCPIO_VERSION_STRING "3.4.0" | #define BSDTAR_VERSION_STRING "3.4.0" | #define BSDCAT_VERSION_STRING "3.4.0" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define __EXTENSIONS__ 1 | #define _ALL_SOURCE 1 | #define _GNU_SOURCE 1 | #define _POSIX_PTHREAD_SEMANTICS 1 | #define _TANDEM_SOURCE 1 | #define LT_OBJDIR ".libs/" | #define HAVE_DIRENT_H 1 | #define HAVE_SYS_WAIT_H 1 | #define HAVE_CTYPE_H 1 | #define HAVE_ERRNO_H 1 | #define HAVE_FCNTL_H 1 | #define HAVE_GRP_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_LANGINFO_H 1 | #define HAVE_LIMITS_H 1 | #define HAVE_LINUX_FIEMAP_H 1 | #define HAVE_LINUX_FS_H 1 | #define HAVE_LINUX_MAGIC_H 1 | #define HAVE_LINUX_TYPES_H 1 | #define HAVE_WORKING_FS_IOC_GETFLAGS 1 | #define HAVE_LOCALE_H 1 | #define HAVE_PATHS_H 1 | #define HAVE_POLL_H 1 | #define HAVE_PTHREAD_H 1 | #define HAVE_PWD_H 1 | #define HAVE_SIGNAL_H 1 | #define HAVE_SPAWN_H 1 | #define HAVE_STDARG_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_SYS_CDEFS_H 1 | #define HAVE_SYS_IOCTL_H 1 | #define HAVE_SYS_MOUNT_H 1 | #define HAVE_SYS_PARAM_H 1 | #define HAVE_SYS_POLL_H 1 | #define HAVE_SYS_SELECT_H 1 | #define HAVE_SYS_STATFS_H 1 | #define HAVE_SYS_STATVFS_H 1 | #define HAVE_SYS_SYSMACROS_H 1 | #define HAVE_SYS_TIME_H 1 | #define HAVE_SYS_UTSNAME_H 1 | #define HAVE_SYS_VFS_H 1 | #define HAVE_SYS_XATTR_H 1 | #define HAVE_TIME_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_UTIME_H 1 | #define HAVE_WCHAR_H 1 | #define HAVE_WCTYPE_H 1 | #define HAVE_ICONV 1 | #define ICONV_CONST | #define HAVE_ICONV_H 1 | /* end confdefs.h. */ | /* Define locale_charset to an innocuous variant, in case declares locale_charset. | For example, HP-UX 11i declares gettimeofday. */ | #define locale_charset innocuous_locale_charset | | /* System header to define __stub macros and hopefully few prototypes, | which can conflict with char locale_charset (); below. | Prefer to if __STDC__ is defined, since | exists even on freestanding compilers. */ | | #ifdef __STDC__ | # include | #else | # include | #endif | | #undef locale_charset | | /* Override any GCC internal prototype to avoid an error. | Use char because int might match the return type of a GCC | builtin and then its argument prototype would still apply. */ | #ifdef __cplusplus | extern "C" | #endif | char locale_charset (); | /* The GNU C library defines this for functions which it implements | to always fail with ENOSYS. Some functions are actually named | something starting with __ and the normal name is an alias. */ | #if defined __stub_locale_charset || defined __stub___locale_charset | choke me | #endif | | int | main () | { | return locale_charset (); | ; | return 0; | } configure:15143: result: no configure:15155: checking for locale_charset in -lcharset configure:15180: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -o conftest -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Wl,-elf2flt -static conftest.c -lcharset >&5 /home/buildroot/autobuild/instance-0/output/host/opt/ext-toolchain/arm-buildroot-uclinux-uclibcgnueabi/bin/ld.real: cannot find -lcharset collect2: error: ld returned 1 exit status configure:15180: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "libarchive" | #define PACKAGE_TARNAME "libarchive" | #define PACKAGE_VERSION "3.4.0" | #define PACKAGE_STRING "libarchive 3.4.0" | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com" | #define PACKAGE_URL "" | #define PACKAGE "libarchive" | #define VERSION "3.4.0" | #define LIBARCHIVE_VERSION_STRING "3.4.0" | #define LIBARCHIVE_VERSION_NUMBER "3004000" | #define BSDCPIO_VERSION_STRING "3.4.0" | #define BSDTAR_VERSION_STRING "3.4.0" | #define BSDCAT_VERSION_STRING "3.4.0" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define __EXTENSIONS__ 1 | #define _ALL_SOURCE 1 | #define _GNU_SOURCE 1 | #define _POSIX_PTHREAD_SEMANTICS 1 | #define _TANDEM_SOURCE 1 | #define LT_OBJDIR ".libs/" | #define HAVE_DIRENT_H 1 | #define HAVE_SYS_WAIT_H 1 | #define HAVE_CTYPE_H 1 | #define HAVE_ERRNO_H 1 | #define HAVE_FCNTL_H 1 | #define HAVE_GRP_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_LANGINFO_H 1 | #define HAVE_LIMITS_H 1 | #define HAVE_LINUX_FIEMAP_H 1 | #define HAVE_LINUX_FS_H 1 | #define HAVE_LINUX_MAGIC_H 1 | #define HAVE_LINUX_TYPES_H 1 | #define HAVE_WORKING_FS_IOC_GETFLAGS 1 | #define HAVE_LOCALE_H 1 | #define HAVE_PATHS_H 1 | #define HAVE_POLL_H 1 | #define HAVE_PTHREAD_H 1 | #define HAVE_PWD_H 1 | #define HAVE_SIGNAL_H 1 | #define HAVE_SPAWN_H 1 | #define HAVE_STDARG_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_SYS_CDEFS_H 1 | #define HAVE_SYS_IOCTL_H 1 | #define HAVE_SYS_MOUNT_H 1 | #define HAVE_SYS_PARAM_H 1 | #define HAVE_SYS_POLL_H 1 | #define HAVE_SYS_SELECT_H 1 | #define HAVE_SYS_STATFS_H 1 | #define HAVE_SYS_STATVFS_H 1 | #define HAVE_SYS_SYSMACROS_H 1 | #define HAVE_SYS_TIME_H 1 | #define HAVE_SYS_UTSNAME_H 1 | #define HAVE_SYS_VFS_H 1 | #define HAVE_SYS_XATTR_H 1 | #define HAVE_TIME_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_UTIME_H 1 | #define HAVE_WCHAR_H 1 | #define HAVE_WCTYPE_H 1 | #define HAVE_ICONV 1 | #define ICONV_CONST | #define HAVE_ICONV_H 1 | /* end confdefs.h. */ | | /* Override any GCC internal prototype to avoid an error. | Use char because int might match the return type of a GCC | builtin and then its argument prototype would still apply. */ | #ifdef __cplusplus | extern "C" | #endif | char locale_charset (); | int | main () | { | return locale_charset (); | ; | return 0; | } configure:15189: result: no configure:15215: checking lz4.h usability configure:15215: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 conftest.c:111:10: fatal error: lz4.h: No such file or directory #include ^~~~~~~ compilation terminated. configure:15215: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "libarchive" | #define PACKAGE_TARNAME "libarchive" | #define PACKAGE_VERSION "3.4.0" | #define PACKAGE_STRING "libarchive 3.4.0" | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com" | #define PACKAGE_URL "" | #define PACKAGE "libarchive" | #define VERSION "3.4.0" | #define LIBARCHIVE_VERSION_STRING "3.4.0" | #define LIBARCHIVE_VERSION_NUMBER "3004000" | #define BSDCPIO_VERSION_STRING "3.4.0" | #define BSDTAR_VERSION_STRING "3.4.0" | #define BSDCAT_VERSION_STRING "3.4.0" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define __EXTENSIONS__ 1 | #define _ALL_SOURCE 1 | #define _GNU_SOURCE 1 | #define _POSIX_PTHREAD_SEMANTICS 1 | #define _TANDEM_SOURCE 1 | #define LT_OBJDIR ".libs/" | #define HAVE_DIRENT_H 1 | #define HAVE_SYS_WAIT_H 1 | #define HAVE_CTYPE_H 1 | #define HAVE_ERRNO_H 1 | #define HAVE_FCNTL_H 1 | #define HAVE_GRP_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_LANGINFO_H 1 | #define HAVE_LIMITS_H 1 | #define HAVE_LINUX_FIEMAP_H 1 | #define HAVE_LINUX_FS_H 1 | #define HAVE_LINUX_MAGIC_H 1 | #define HAVE_LINUX_TYPES_H 1 | #define HAVE_WORKING_FS_IOC_GETFLAGS 1 | #define HAVE_LOCALE_H 1 | #define HAVE_PATHS_H 1 | #define HAVE_POLL_H 1 | #define HAVE_PTHREAD_H 1 | #define HAVE_PWD_H 1 | #define HAVE_SIGNAL_H 1 | #define HAVE_SPAWN_H 1 | #define HAVE_STDARG_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_SYS_CDEFS_H 1 | #define HAVE_SYS_IOCTL_H 1 | #define HAVE_SYS_MOUNT_H 1 | #define HAVE_SYS_PARAM_H 1 | #define HAVE_SYS_POLL_H 1 | #define HAVE_SYS_SELECT_H 1 | #define HAVE_SYS_STATFS_H 1 | #define HAVE_SYS_STATVFS_H 1 | #define HAVE_SYS_SYSMACROS_H 1 | #define HAVE_SYS_TIME_H 1 | #define HAVE_SYS_UTSNAME_H 1 | #define HAVE_SYS_VFS_H 1 | #define HAVE_SYS_XATTR_H 1 | #define HAVE_TIME_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_UTIME_H 1 | #define HAVE_WCHAR_H 1 | #define HAVE_WCTYPE_H 1 | #define HAVE_ICONV 1 | #define ICONV_CONST | #define HAVE_ICONV_H 1 | /* end confdefs.h. */ | #include | #ifdef HAVE_SYS_TYPES_H | # include | #endif | #ifdef HAVE_SYS_STAT_H | # include | #endif | #ifdef STDC_HEADERS | # include | # include | #else | # ifdef HAVE_STDLIB_H | # include | # endif | #endif | #ifdef HAVE_STRING_H | # if !defined STDC_HEADERS && defined HAVE_MEMORY_H | # include | # endif | # include | #endif | #ifdef HAVE_STRINGS_H | # include | #endif | #ifdef HAVE_INTTYPES_H | # include | #endif | #ifdef HAVE_STDINT_H | # include | #endif | #ifdef HAVE_UNISTD_H | # include | #endif | #include configure:15215: result: no configure:15215: checking lz4.h presence configure:15215: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-cpp -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c conftest.c:78:10: fatal error: lz4.h: No such file or directory #include ^~~~~~~ compilation terminated. configure:15215: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "libarchive" | #define PACKAGE_TARNAME "libarchive" | #define PACKAGE_VERSION "3.4.0" | #define PACKAGE_STRING "libarchive 3.4.0" | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com" | #define PACKAGE_URL "" | #define PACKAGE "libarchive" | #define VERSION "3.4.0" | #define LIBARCHIVE_VERSION_STRING "3.4.0" | #define LIBARCHIVE_VERSION_NUMBER "3004000" | #define BSDCPIO_VERSION_STRING "3.4.0" | #define BSDTAR_VERSION_STRING "3.4.0" | #define BSDCAT_VERSION_STRING "3.4.0" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define __EXTENSIONS__ 1 | #define _ALL_SOURCE 1 | #define _GNU_SOURCE 1 | #define _POSIX_PTHREAD_SEMANTICS 1 | #define _TANDEM_SOURCE 1 | #define LT_OBJDIR ".libs/" | #define HAVE_DIRENT_H 1 | #define HAVE_SYS_WAIT_H 1 | #define HAVE_CTYPE_H 1 | #define HAVE_ERRNO_H 1 | #define HAVE_FCNTL_H 1 | #define HAVE_GRP_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_LANGINFO_H 1 | #define HAVE_LIMITS_H 1 | #define HAVE_LINUX_FIEMAP_H 1 | #define HAVE_LINUX_FS_H 1 | #define HAVE_LINUX_MAGIC_H 1 | #define HAVE_LINUX_TYPES_H 1 | #define HAVE_WORKING_FS_IOC_GETFLAGS 1 | #define HAVE_LOCALE_H 1 | #define HAVE_PATHS_H 1 | #define HAVE_POLL_H 1 | #define HAVE_PTHREAD_H 1 | #define HAVE_PWD_H 1 | #define HAVE_SIGNAL_H 1 | #define HAVE_SPAWN_H 1 | #define HAVE_STDARG_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_SYS_CDEFS_H 1 | #define HAVE_SYS_IOCTL_H 1 | #define HAVE_SYS_MOUNT_H 1 | #define HAVE_SYS_PARAM_H 1 | #define HAVE_SYS_POLL_H 1 | #define HAVE_SYS_SELECT_H 1 | #define HAVE_SYS_STATFS_H 1 | #define HAVE_SYS_STATVFS_H 1 | #define HAVE_SYS_SYSMACROS_H 1 | #define HAVE_SYS_TIME_H 1 | #define HAVE_SYS_UTSNAME_H 1 | #define HAVE_SYS_VFS_H 1 | #define HAVE_SYS_XATTR_H 1 | #define HAVE_TIME_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_UTIME_H 1 | #define HAVE_WCHAR_H 1 | #define HAVE_WCTYPE_H 1 | #define HAVE_ICONV 1 | #define ICONV_CONST | #define HAVE_ICONV_H 1 | /* end confdefs.h. */ | #include configure:15215: result: no configure:15215: checking for lz4.h configure:15215: result: no configure:15215: checking lz4hc.h usability configure:15215: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 conftest.c:111:10: fatal error: lz4hc.h: No such file or directory #include ^~~~~~~~~ compilation terminated. configure:15215: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "libarchive" | #define PACKAGE_TARNAME "libarchive" | #define PACKAGE_VERSION "3.4.0" | #define PACKAGE_STRING "libarchive 3.4.0" | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com" | #define PACKAGE_URL "" | #define PACKAGE "libarchive" | #define VERSION "3.4.0" | #define LIBARCHIVE_VERSION_STRING "3.4.0" | #define LIBARCHIVE_VERSION_NUMBER "3004000" | #define BSDCPIO_VERSION_STRING "3.4.0" | #define BSDTAR_VERSION_STRING "3.4.0" | #define BSDCAT_VERSION_STRING "3.4.0" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define __EXTENSIONS__ 1 | #define _ALL_SOURCE 1 | #define _GNU_SOURCE 1 | #define _POSIX_PTHREAD_SEMANTICS 1 | #define _TANDEM_SOURCE 1 | #define LT_OBJDIR ".libs/" | #define HAVE_DIRENT_H 1 | #define HAVE_SYS_WAIT_H 1 | #define HAVE_CTYPE_H 1 | #define HAVE_ERRNO_H 1 | #define HAVE_FCNTL_H 1 | #define HAVE_GRP_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_LANGINFO_H 1 | #define HAVE_LIMITS_H 1 | #define HAVE_LINUX_FIEMAP_H 1 | #define HAVE_LINUX_FS_H 1 | #define HAVE_LINUX_MAGIC_H 1 | #define HAVE_LINUX_TYPES_H 1 | #define HAVE_WORKING_FS_IOC_GETFLAGS 1 | #define HAVE_LOCALE_H 1 | #define HAVE_PATHS_H 1 | #define HAVE_POLL_H 1 | #define HAVE_PTHREAD_H 1 | #define HAVE_PWD_H 1 | #define HAVE_SIGNAL_H 1 | #define HAVE_SPAWN_H 1 | #define HAVE_STDARG_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_SYS_CDEFS_H 1 | #define HAVE_SYS_IOCTL_H 1 | #define HAVE_SYS_MOUNT_H 1 | #define HAVE_SYS_PARAM_H 1 | #define HAVE_SYS_POLL_H 1 | #define HAVE_SYS_SELECT_H 1 | #define HAVE_SYS_STATFS_H 1 | #define HAVE_SYS_STATVFS_H 1 | #define HAVE_SYS_SYSMACROS_H 1 | #define HAVE_SYS_TIME_H 1 | #define HAVE_SYS_UTSNAME_H 1 | #define HAVE_SYS_VFS_H 1 | #define HAVE_SYS_XATTR_H 1 | #define HAVE_TIME_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_UTIME_H 1 | #define HAVE_WCHAR_H 1 | #define HAVE_WCTYPE_H 1 | #define HAVE_ICONV 1 | #define ICONV_CONST | #define HAVE_ICONV_H 1 | /* end confdefs.h. */ | #include | #ifdef HAVE_SYS_TYPES_H | # include | #endif | #ifdef HAVE_SYS_STAT_H | # include | #endif | #ifdef STDC_HEADERS | # include | # include | #else | # ifdef HAVE_STDLIB_H | # include | # endif | #endif | #ifdef HAVE_STRING_H | # if !defined STDC_HEADERS && defined HAVE_MEMORY_H | # include | # endif | # include | #endif | #ifdef HAVE_STRINGS_H | # include | #endif | #ifdef HAVE_INTTYPES_H | # include | #endif | #ifdef HAVE_STDINT_H | # include | #endif | #ifdef HAVE_UNISTD_H | # include | #endif | #include configure:15215: result: no configure:15215: checking lz4hc.h presence configure:15215: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-cpp -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c conftest.c:78:10: fatal error: lz4hc.h: No such file or directory #include ^~~~~~~~~ compilation terminated. configure:15215: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "libarchive" | #define PACKAGE_TARNAME "libarchive" | #define PACKAGE_VERSION "3.4.0" | #define PACKAGE_STRING "libarchive 3.4.0" | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com" | #define PACKAGE_URL "" | #define PACKAGE "libarchive" | #define VERSION "3.4.0" | #define LIBARCHIVE_VERSION_STRING "3.4.0" | #define LIBARCHIVE_VERSION_NUMBER "3004000" | #define BSDCPIO_VERSION_STRING "3.4.0" | #define BSDTAR_VERSION_STRING "3.4.0" | #define BSDCAT_VERSION_STRING "3.4.0" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define __EXTENSIONS__ 1 | #define _ALL_SOURCE 1 | #define _GNU_SOURCE 1 | #define _POSIX_PTHREAD_SEMANTICS 1 | #define _TANDEM_SOURCE 1 | #define LT_OBJDIR ".libs/" | #define HAVE_DIRENT_H 1 | #define HAVE_SYS_WAIT_H 1 | #define HAVE_CTYPE_H 1 | #define HAVE_ERRNO_H 1 | #define HAVE_FCNTL_H 1 | #define HAVE_GRP_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_LANGINFO_H 1 | #define HAVE_LIMITS_H 1 | #define HAVE_LINUX_FIEMAP_H 1 | #define HAVE_LINUX_FS_H 1 | #define HAVE_LINUX_MAGIC_H 1 | #define HAVE_LINUX_TYPES_H 1 | #define HAVE_WORKING_FS_IOC_GETFLAGS 1 | #define HAVE_LOCALE_H 1 | #define HAVE_PATHS_H 1 | #define HAVE_POLL_H 1 | #define HAVE_PTHREAD_H 1 | #define HAVE_PWD_H 1 | #define HAVE_SIGNAL_H 1 | #define HAVE_SPAWN_H 1 | #define HAVE_STDARG_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_SYS_CDEFS_H 1 | #define HAVE_SYS_IOCTL_H 1 | #define HAVE_SYS_MOUNT_H 1 | #define HAVE_SYS_PARAM_H 1 | #define HAVE_SYS_POLL_H 1 | #define HAVE_SYS_SELECT_H 1 | #define HAVE_SYS_STATFS_H 1 | #define HAVE_SYS_STATVFS_H 1 | #define HAVE_SYS_SYSMACROS_H 1 | #define HAVE_SYS_TIME_H 1 | #define HAVE_SYS_UTSNAME_H 1 | #define HAVE_SYS_VFS_H 1 | #define HAVE_SYS_XATTR_H 1 | #define HAVE_TIME_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_UTIME_H 1 | #define HAVE_WCHAR_H 1 | #define HAVE_WCTYPE_H 1 | #define HAVE_ICONV 1 | #define ICONV_CONST | #define HAVE_ICONV_H 1 | /* end confdefs.h. */ | #include configure:15215: result: no configure:15215: checking for lz4hc.h configure:15215: result: no configure:15225: checking for LZ4_decompress_safe in -llz4 configure:15250: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -o conftest -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Wl,-elf2flt -static conftest.c -llz4 >&5 /home/buildroot/autobuild/instance-0/output/host/opt/ext-toolchain/arm-buildroot-uclinux-uclibcgnueabi/bin/ld.real: cannot find -llz4 collect2: error: ld returned 1 exit status configure:15250: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "libarchive" | #define PACKAGE_TARNAME "libarchive" | #define PACKAGE_VERSION "3.4.0" | #define PACKAGE_STRING "libarchive 3.4.0" | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com" | #define PACKAGE_URL "" | #define PACKAGE "libarchive" | #define VERSION "3.4.0" | #define LIBARCHIVE_VERSION_STRING "3.4.0" | #define LIBARCHIVE_VERSION_NUMBER "3004000" | #define BSDCPIO_VERSION_STRING "3.4.0" | #define BSDTAR_VERSION_STRING "3.4.0" | #define BSDCAT_VERSION_STRING "3.4.0" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define __EXTENSIONS__ 1 | #define _ALL_SOURCE 1 | #define _GNU_SOURCE 1 | #define _POSIX_PTHREAD_SEMANTICS 1 | #define _TANDEM_SOURCE 1 | #define LT_OBJDIR ".libs/" | #define HAVE_DIRENT_H 1 | #define HAVE_SYS_WAIT_H 1 | #define HAVE_CTYPE_H 1 | #define HAVE_ERRNO_H 1 | #define HAVE_FCNTL_H 1 | #define HAVE_GRP_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_LANGINFO_H 1 | #define HAVE_LIMITS_H 1 | #define HAVE_LINUX_FIEMAP_H 1 | #define HAVE_LINUX_FS_H 1 | #define HAVE_LINUX_MAGIC_H 1 | #define HAVE_LINUX_TYPES_H 1 | #define HAVE_WORKING_FS_IOC_GETFLAGS 1 | #define HAVE_LOCALE_H 1 | #define HAVE_PATHS_H 1 | #define HAVE_POLL_H 1 | #define HAVE_PTHREAD_H 1 | #define HAVE_PWD_H 1 | #define HAVE_SIGNAL_H 1 | #define HAVE_SPAWN_H 1 | #define HAVE_STDARG_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_SYS_CDEFS_H 1 | #define HAVE_SYS_IOCTL_H 1 | #define HAVE_SYS_MOUNT_H 1 | #define HAVE_SYS_PARAM_H 1 | #define HAVE_SYS_POLL_H 1 | #define HAVE_SYS_SELECT_H 1 | #define HAVE_SYS_STATFS_H 1 | #define HAVE_SYS_STATVFS_H 1 | #define HAVE_SYS_SYSMACROS_H 1 | #define HAVE_SYS_TIME_H 1 | #define HAVE_SYS_UTSNAME_H 1 | #define HAVE_SYS_VFS_H 1 | #define HAVE_SYS_XATTR_H 1 | #define HAVE_TIME_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_UTIME_H 1 | #define HAVE_WCHAR_H 1 | #define HAVE_WCTYPE_H 1 | #define HAVE_ICONV 1 | #define ICONV_CONST | #define HAVE_ICONV_H 1 | /* end confdefs.h. */ | | /* Override any GCC internal prototype to avoid an error. | Use char because int might match the return type of a GCC | builtin and then its argument prototype would still apply. */ | #ifdef __cplusplus | extern "C" | #endif | char LZ4_decompress_safe (); | int | main () | { | return LZ4_decompress_safe (); | ; | return 0; | } configure:15259: result: no configure:15282: checking zstd.h usability configure:15282: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 conftest.c:111:10: fatal error: zstd.h: No such file or directory #include ^~~~~~~~ compilation terminated. configure:15282: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "libarchive" | #define PACKAGE_TARNAME "libarchive" | #define PACKAGE_VERSION "3.4.0" | #define PACKAGE_STRING "libarchive 3.4.0" | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com" | #define PACKAGE_URL "" | #define PACKAGE "libarchive" | #define VERSION "3.4.0" | #define LIBARCHIVE_VERSION_STRING "3.4.0" | #define LIBARCHIVE_VERSION_NUMBER "3004000" | #define BSDCPIO_VERSION_STRING "3.4.0" | #define BSDTAR_VERSION_STRING "3.4.0" | #define BSDCAT_VERSION_STRING "3.4.0" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define __EXTENSIONS__ 1 | #define _ALL_SOURCE 1 | #define _GNU_SOURCE 1 | #define _POSIX_PTHREAD_SEMANTICS 1 | #define _TANDEM_SOURCE 1 | #define LT_OBJDIR ".libs/" | #define HAVE_DIRENT_H 1 | #define HAVE_SYS_WAIT_H 1 | #define HAVE_CTYPE_H 1 | #define HAVE_ERRNO_H 1 | #define HAVE_FCNTL_H 1 | #define HAVE_GRP_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_LANGINFO_H 1 | #define HAVE_LIMITS_H 1 | #define HAVE_LINUX_FIEMAP_H 1 | #define HAVE_LINUX_FS_H 1 | #define HAVE_LINUX_MAGIC_H 1 | #define HAVE_LINUX_TYPES_H 1 | #define HAVE_WORKING_FS_IOC_GETFLAGS 1 | #define HAVE_LOCALE_H 1 | #define HAVE_PATHS_H 1 | #define HAVE_POLL_H 1 | #define HAVE_PTHREAD_H 1 | #define HAVE_PWD_H 1 | #define HAVE_SIGNAL_H 1 | #define HAVE_SPAWN_H 1 | #define HAVE_STDARG_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_SYS_CDEFS_H 1 | #define HAVE_SYS_IOCTL_H 1 | #define HAVE_SYS_MOUNT_H 1 | #define HAVE_SYS_PARAM_H 1 | #define HAVE_SYS_POLL_H 1 | #define HAVE_SYS_SELECT_H 1 | #define HAVE_SYS_STATFS_H 1 | #define HAVE_SYS_STATVFS_H 1 | #define HAVE_SYS_SYSMACROS_H 1 | #define HAVE_SYS_TIME_H 1 | #define HAVE_SYS_UTSNAME_H 1 | #define HAVE_SYS_VFS_H 1 | #define HAVE_SYS_XATTR_H 1 | #define HAVE_TIME_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_UTIME_H 1 | #define HAVE_WCHAR_H 1 | #define HAVE_WCTYPE_H 1 | #define HAVE_ICONV 1 | #define ICONV_CONST | #define HAVE_ICONV_H 1 | /* end confdefs.h. */ | #include | #ifdef HAVE_SYS_TYPES_H | # include | #endif | #ifdef HAVE_SYS_STAT_H | # include | #endif | #ifdef STDC_HEADERS | # include | # include | #else | # ifdef HAVE_STDLIB_H | # include | # endif | #endif | #ifdef HAVE_STRING_H | # if !defined STDC_HEADERS && defined HAVE_MEMORY_H | # include | # endif | # include | #endif | #ifdef HAVE_STRINGS_H | # include | #endif | #ifdef HAVE_INTTYPES_H | # include | #endif | #ifdef HAVE_STDINT_H | # include | #endif | #ifdef HAVE_UNISTD_H | # include | #endif | #include configure:15282: result: no configure:15282: checking zstd.h presence configure:15282: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-cpp -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c conftest.c:78:10: fatal error: zstd.h: No such file or directory #include ^~~~~~~~ compilation terminated. configure:15282: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "libarchive" | #define PACKAGE_TARNAME "libarchive" | #define PACKAGE_VERSION "3.4.0" | #define PACKAGE_STRING "libarchive 3.4.0" | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com" | #define PACKAGE_URL "" | #define PACKAGE "libarchive" | #define VERSION "3.4.0" | #define LIBARCHIVE_VERSION_STRING "3.4.0" | #define LIBARCHIVE_VERSION_NUMBER "3004000" | #define BSDCPIO_VERSION_STRING "3.4.0" | #define BSDTAR_VERSION_STRING "3.4.0" | #define BSDCAT_VERSION_STRING "3.4.0" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define __EXTENSIONS__ 1 | #define _ALL_SOURCE 1 | #define _GNU_SOURCE 1 | #define _POSIX_PTHREAD_SEMANTICS 1 | #define _TANDEM_SOURCE 1 | #define LT_OBJDIR ".libs/" | #define HAVE_DIRENT_H 1 | #define HAVE_SYS_WAIT_H 1 | #define HAVE_CTYPE_H 1 | #define HAVE_ERRNO_H 1 | #define HAVE_FCNTL_H 1 | #define HAVE_GRP_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_LANGINFO_H 1 | #define HAVE_LIMITS_H 1 | #define HAVE_LINUX_FIEMAP_H 1 | #define HAVE_LINUX_FS_H 1 | #define HAVE_LINUX_MAGIC_H 1 | #define HAVE_LINUX_TYPES_H 1 | #define HAVE_WORKING_FS_IOC_GETFLAGS 1 | #define HAVE_LOCALE_H 1 | #define HAVE_PATHS_H 1 | #define HAVE_POLL_H 1 | #define HAVE_PTHREAD_H 1 | #define HAVE_PWD_H 1 | #define HAVE_SIGNAL_H 1 | #define HAVE_SPAWN_H 1 | #define HAVE_STDARG_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_SYS_CDEFS_H 1 | #define HAVE_SYS_IOCTL_H 1 | #define HAVE_SYS_MOUNT_H 1 | #define HAVE_SYS_PARAM_H 1 | #define HAVE_SYS_POLL_H 1 | #define HAVE_SYS_SELECT_H 1 | #define HAVE_SYS_STATFS_H 1 | #define HAVE_SYS_STATVFS_H 1 | #define HAVE_SYS_SYSMACROS_H 1 | #define HAVE_SYS_TIME_H 1 | #define HAVE_SYS_UTSNAME_H 1 | #define HAVE_SYS_VFS_H 1 | #define HAVE_SYS_XATTR_H 1 | #define HAVE_TIME_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_UTIME_H 1 | #define HAVE_WCHAR_H 1 | #define HAVE_WCTYPE_H 1 | #define HAVE_ICONV 1 | #define ICONV_CONST | #define HAVE_ICONV_H 1 | /* end confdefs.h. */ | #include configure:15282: result: no configure:15282: checking for zstd.h configure:15282: result: no configure:15292: checking for ZSTD_compressStream in -lzstd configure:15317: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -o conftest -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Wl,-elf2flt -static conftest.c -lzstd >&5 /home/buildroot/autobuild/instance-0/output/host/opt/ext-toolchain/arm-buildroot-uclinux-uclibcgnueabi/bin/ld.real: cannot find -lzstd collect2: error: ld returned 1 exit status configure:15317: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "libarchive" | #define PACKAGE_TARNAME "libarchive" | #define PACKAGE_VERSION "3.4.0" | #define PACKAGE_STRING "libarchive 3.4.0" | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com" | #define PACKAGE_URL "" | #define PACKAGE "libarchive" | #define VERSION "3.4.0" | #define LIBARCHIVE_VERSION_STRING "3.4.0" | #define LIBARCHIVE_VERSION_NUMBER "3004000" | #define BSDCPIO_VERSION_STRING "3.4.0" | #define BSDTAR_VERSION_STRING "3.4.0" | #define BSDCAT_VERSION_STRING "3.4.0" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define __EXTENSIONS__ 1 | #define _ALL_SOURCE 1 | #define _GNU_SOURCE 1 | #define _POSIX_PTHREAD_SEMANTICS 1 | #define _TANDEM_SOURCE 1 | #define LT_OBJDIR ".libs/" | #define HAVE_DIRENT_H 1 | #define HAVE_SYS_WAIT_H 1 | #define HAVE_CTYPE_H 1 | #define HAVE_ERRNO_H 1 | #define HAVE_FCNTL_H 1 | #define HAVE_GRP_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_LANGINFO_H 1 | #define HAVE_LIMITS_H 1 | #define HAVE_LINUX_FIEMAP_H 1 | #define HAVE_LINUX_FS_H 1 | #define HAVE_LINUX_MAGIC_H 1 | #define HAVE_LINUX_TYPES_H 1 | #define HAVE_WORKING_FS_IOC_GETFLAGS 1 | #define HAVE_LOCALE_H 1 | #define HAVE_PATHS_H 1 | #define HAVE_POLL_H 1 | #define HAVE_PTHREAD_H 1 | #define HAVE_PWD_H 1 | #define HAVE_SIGNAL_H 1 | #define HAVE_SPAWN_H 1 | #define HAVE_STDARG_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_SYS_CDEFS_H 1 | #define HAVE_SYS_IOCTL_H 1 | #define HAVE_SYS_MOUNT_H 1 | #define HAVE_SYS_PARAM_H 1 | #define HAVE_SYS_POLL_H 1 | #define HAVE_SYS_SELECT_H 1 | #define HAVE_SYS_STATFS_H 1 | #define HAVE_SYS_STATVFS_H 1 | #define HAVE_SYS_SYSMACROS_H 1 | #define HAVE_SYS_TIME_H 1 | #define HAVE_SYS_UTSNAME_H 1 | #define HAVE_SYS_VFS_H 1 | #define HAVE_SYS_XATTR_H 1 | #define HAVE_TIME_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_UTIME_H 1 | #define HAVE_WCHAR_H 1 | #define HAVE_WCTYPE_H 1 | #define HAVE_ICONV 1 | #define ICONV_CONST | #define HAVE_ICONV_H 1 | /* end confdefs.h. */ | | /* Override any GCC internal prototype to avoid an error. | Use char because int might match the return type of a GCC | builtin and then its argument prototype would still apply. */ | #ifdef __cplusplus | extern "C" | #endif | char ZSTD_compressStream (); | int | main () | { | return ZSTD_compressStream (); | ; | return 0; | } configure:15326: result: no configure:15349: checking lzma.h usability configure:15349: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 configure:15349: $? = 0 configure:15349: result: yes configure:15349: checking lzma.h presence configure:15349: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-cpp -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c configure:15349: $? = 0 configure:15349: result: yes configure:15349: checking for lzma.h configure:15349: result: yes configure:15359: checking for lzma_stream_decoder in -llzma configure:15384: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -o conftest -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Wl,-elf2flt -static conftest.c -llzma >&5 configure:15384: $? = 0 configure:15393: result: yes configure:15408: checking whether we have multithread support in lzma configure:15428: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -o conftest -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Wl,-elf2flt -static conftest.c -llzma >&5 conftest.c: In function 'main': conftest.c:88:1: warning: ignoring return value of 'lzma_stream_encoder_mt', declared with attribute warn_unused_result [-Wunused-result] lzma_stream_encoder_mt(0, 0); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ configure:15428: $? = 0 configure:15436: result: yes configure:15969: checking regex.h usability configure:15969: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 configure:15969: $? = 0 configure:15969: result: yes configure:15969: checking regex.h presence configure:15969: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-cpp -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c configure:15969: $? = 0 configure:15969: result: yes configure:15969: checking for regex.h configure:15969: result: yes configure:15980: checking for regcomp configure:15980: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -o conftest -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Wl,-elf2flt -static conftest.c -llzma >&5 configure:15980: $? = 0 configure:15980: result: yes configure:16250: checking whether C compiler accepts -Wall configure:16269: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 configure:16269: $? = 0 configure:16278: result: yes configure:16294: : CFLAGS="$CFLAGS" configure:16297: $? = 0 configure:16250: checking whether C compiler accepts -Wformat configure:16269: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 configure:16269: $? = 0 configure:16278: result: yes configure:16294: : CFLAGS="$CFLAGS" configure:16297: $? = 0 configure:16250: checking whether C compiler accepts -Wformat-security configure:16269: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 configure:16269: $? = 0 configure:16278: result: yes configure:16294: : CFLAGS="$CFLAGS" configure:16297: $? = 0 configure:16321: checking for an ANSI C-conforming const configure:16387: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 configure:16387: $? = 0 configure:16394: result: yes configure:16404: checking for uid_t in sys/types.h configure:16423: result: yes configure:16442: checking for mode_t configure:16442: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 configure:16442: $? = 0 configure:16442: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 conftest.c: In function 'main': conftest.c:118:21: error: expected expression before ')' token if (sizeof ((mode_t))) ^ configure:16442: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "libarchive" | #define PACKAGE_TARNAME "libarchive" | #define PACKAGE_VERSION "3.4.0" | #define PACKAGE_STRING "libarchive 3.4.0" | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com" | #define PACKAGE_URL "" | #define PACKAGE "libarchive" | #define VERSION "3.4.0" | #define LIBARCHIVE_VERSION_STRING "3.4.0" | #define LIBARCHIVE_VERSION_NUMBER "3004000" | #define BSDCPIO_VERSION_STRING "3.4.0" | #define BSDTAR_VERSION_STRING "3.4.0" | #define BSDCAT_VERSION_STRING "3.4.0" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define __EXTENSIONS__ 1 | #define _ALL_SOURCE 1 | #define _GNU_SOURCE 1 | #define _POSIX_PTHREAD_SEMANTICS 1 | #define _TANDEM_SOURCE 1 | #define LT_OBJDIR ".libs/" | #define HAVE_DIRENT_H 1 | #define HAVE_SYS_WAIT_H 1 | #define HAVE_CTYPE_H 1 | #define HAVE_ERRNO_H 1 | #define HAVE_FCNTL_H 1 | #define HAVE_GRP_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_LANGINFO_H 1 | #define HAVE_LIMITS_H 1 | #define HAVE_LINUX_FIEMAP_H 1 | #define HAVE_LINUX_FS_H 1 | #define HAVE_LINUX_MAGIC_H 1 | #define HAVE_LINUX_TYPES_H 1 | #define HAVE_WORKING_FS_IOC_GETFLAGS 1 | #define HAVE_LOCALE_H 1 | #define HAVE_PATHS_H 1 | #define HAVE_POLL_H 1 | #define HAVE_PTHREAD_H 1 | #define HAVE_PWD_H 1 | #define HAVE_SIGNAL_H 1 | #define HAVE_SPAWN_H 1 | #define HAVE_STDARG_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_SYS_CDEFS_H 1 | #define HAVE_SYS_IOCTL_H 1 | #define HAVE_SYS_MOUNT_H 1 | #define HAVE_SYS_PARAM_H 1 | #define HAVE_SYS_POLL_H 1 | #define HAVE_SYS_SELECT_H 1 | #define HAVE_SYS_STATFS_H 1 | #define HAVE_SYS_STATVFS_H 1 | #define HAVE_SYS_SYSMACROS_H 1 | #define HAVE_SYS_TIME_H 1 | #define HAVE_SYS_UTSNAME_H 1 | #define HAVE_SYS_VFS_H 1 | #define HAVE_SYS_XATTR_H 1 | #define HAVE_TIME_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_UTIME_H 1 | #define HAVE_WCHAR_H 1 | #define HAVE_WCTYPE_H 1 | #define HAVE_ICONV 1 | #define ICONV_CONST | #define HAVE_ICONV_H 1 | #define HAVE_LZMA_H 1 | #define HAVE_LIBLZMA 1 | #define HAVE_LZMA_STREAM_ENCODER_MT 1 | #define HAVE_REGEX_H 1 | /* end confdefs.h. */ | #include | #ifdef HAVE_SYS_TYPES_H | # include | #endif | #ifdef HAVE_SYS_STAT_H | # include | #endif | #ifdef STDC_HEADERS | # include | # include | #else | # ifdef HAVE_STDLIB_H | # include | # endif | #endif | #ifdef HAVE_STRING_H | # if !defined STDC_HEADERS && defined HAVE_MEMORY_H | # include | # endif | # include | #endif | #ifdef HAVE_STRINGS_H | # include | #endif | #ifdef HAVE_INTTYPES_H | # include | #endif | #ifdef HAVE_STDINT_H | # include | #endif | #ifdef HAVE_UNISTD_H | # include | #endif | int | main () | { | if (sizeof ((mode_t))) | return 0; | ; | return 0; | } configure:16442: result: yes configure:16455: checking for off_t configure:16455: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 configure:16455: $? = 0 configure:16455: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 conftest.c: In function 'main': conftest.c:118:20: error: expected expression before ')' token if (sizeof ((off_t))) ^ configure:16455: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "libarchive" | #define PACKAGE_TARNAME "libarchive" | #define PACKAGE_VERSION "3.4.0" | #define PACKAGE_STRING "libarchive 3.4.0" | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com" | #define PACKAGE_URL "" | #define PACKAGE "libarchive" | #define VERSION "3.4.0" | #define LIBARCHIVE_VERSION_STRING "3.4.0" | #define LIBARCHIVE_VERSION_NUMBER "3004000" | #define BSDCPIO_VERSION_STRING "3.4.0" | #define BSDTAR_VERSION_STRING "3.4.0" | #define BSDCAT_VERSION_STRING "3.4.0" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define __EXTENSIONS__ 1 | #define _ALL_SOURCE 1 | #define _GNU_SOURCE 1 | #define _POSIX_PTHREAD_SEMANTICS 1 | #define _TANDEM_SOURCE 1 | #define LT_OBJDIR ".libs/" | #define HAVE_DIRENT_H 1 | #define HAVE_SYS_WAIT_H 1 | #define HAVE_CTYPE_H 1 | #define HAVE_ERRNO_H 1 | #define HAVE_FCNTL_H 1 | #define HAVE_GRP_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_LANGINFO_H 1 | #define HAVE_LIMITS_H 1 | #define HAVE_LINUX_FIEMAP_H 1 | #define HAVE_LINUX_FS_H 1 | #define HAVE_LINUX_MAGIC_H 1 | #define HAVE_LINUX_TYPES_H 1 | #define HAVE_WORKING_FS_IOC_GETFLAGS 1 | #define HAVE_LOCALE_H 1 | #define HAVE_PATHS_H 1 | #define HAVE_POLL_H 1 | #define HAVE_PTHREAD_H 1 | #define HAVE_PWD_H 1 | #define HAVE_SIGNAL_H 1 | #define HAVE_SPAWN_H 1 | #define HAVE_STDARG_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_SYS_CDEFS_H 1 | #define HAVE_SYS_IOCTL_H 1 | #define HAVE_SYS_MOUNT_H 1 | #define HAVE_SYS_PARAM_H 1 | #define HAVE_SYS_POLL_H 1 | #define HAVE_SYS_SELECT_H 1 | #define HAVE_SYS_STATFS_H 1 | #define HAVE_SYS_STATVFS_H 1 | #define HAVE_SYS_SYSMACROS_H 1 | #define HAVE_SYS_TIME_H 1 | #define HAVE_SYS_UTSNAME_H 1 | #define HAVE_SYS_VFS_H 1 | #define HAVE_SYS_XATTR_H 1 | #define HAVE_TIME_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_UTIME_H 1 | #define HAVE_WCHAR_H 1 | #define HAVE_WCTYPE_H 1 | #define HAVE_ICONV 1 | #define ICONV_CONST | #define HAVE_ICONV_H 1 | #define HAVE_LZMA_H 1 | #define HAVE_LIBLZMA 1 | #define HAVE_LZMA_STREAM_ENCODER_MT 1 | #define HAVE_REGEX_H 1 | /* end confdefs.h. */ | #include | #ifdef HAVE_SYS_TYPES_H | # include | #endif | #ifdef HAVE_SYS_STAT_H | # include | #endif | #ifdef STDC_HEADERS | # include | # include | #else | # ifdef HAVE_STDLIB_H | # include | # endif | #endif | #ifdef HAVE_STRING_H | # if !defined STDC_HEADERS && defined HAVE_MEMORY_H | # include | # endif | # include | #endif | #ifdef HAVE_STRINGS_H | # include | #endif | #ifdef HAVE_INTTYPES_H | # include | #endif | #ifdef HAVE_STDINT_H | # include | #endif | #ifdef HAVE_UNISTD_H | # include | #endif | int | main () | { | if (sizeof ((off_t))) | return 0; | ; | return 0; | } configure:16455: result: yes configure:16466: checking for size_t configure:16466: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 configure:16466: $? = 0 configure:16466: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 conftest.c: In function 'main': conftest.c:118:21: error: expected expression before ')' token if (sizeof ((size_t))) ^ configure:16466: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "libarchive" | #define PACKAGE_TARNAME "libarchive" | #define PACKAGE_VERSION "3.4.0" | #define PACKAGE_STRING "libarchive 3.4.0" | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com" | #define PACKAGE_URL "" | #define PACKAGE "libarchive" | #define VERSION "3.4.0" | #define LIBARCHIVE_VERSION_STRING "3.4.0" | #define LIBARCHIVE_VERSION_NUMBER "3004000" | #define BSDCPIO_VERSION_STRING "3.4.0" | #define BSDTAR_VERSION_STRING "3.4.0" | #define BSDCAT_VERSION_STRING "3.4.0" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define __EXTENSIONS__ 1 | #define _ALL_SOURCE 1 | #define _GNU_SOURCE 1 | #define _POSIX_PTHREAD_SEMANTICS 1 | #define _TANDEM_SOURCE 1 | #define LT_OBJDIR ".libs/" | #define HAVE_DIRENT_H 1 | #define HAVE_SYS_WAIT_H 1 | #define HAVE_CTYPE_H 1 | #define HAVE_ERRNO_H 1 | #define HAVE_FCNTL_H 1 | #define HAVE_GRP_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_LANGINFO_H 1 | #define HAVE_LIMITS_H 1 | #define HAVE_LINUX_FIEMAP_H 1 | #define HAVE_LINUX_FS_H 1 | #define HAVE_LINUX_MAGIC_H 1 | #define HAVE_LINUX_TYPES_H 1 | #define HAVE_WORKING_FS_IOC_GETFLAGS 1 | #define HAVE_LOCALE_H 1 | #define HAVE_PATHS_H 1 | #define HAVE_POLL_H 1 | #define HAVE_PTHREAD_H 1 | #define HAVE_PWD_H 1 | #define HAVE_SIGNAL_H 1 | #define HAVE_SPAWN_H 1 | #define HAVE_STDARG_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_SYS_CDEFS_H 1 | #define HAVE_SYS_IOCTL_H 1 | #define HAVE_SYS_MOUNT_H 1 | #define HAVE_SYS_PARAM_H 1 | #define HAVE_SYS_POLL_H 1 | #define HAVE_SYS_SELECT_H 1 | #define HAVE_SYS_STATFS_H 1 | #define HAVE_SYS_STATVFS_H 1 | #define HAVE_SYS_SYSMACROS_H 1 | #define HAVE_SYS_TIME_H 1 | #define HAVE_SYS_UTSNAME_H 1 | #define HAVE_SYS_VFS_H 1 | #define HAVE_SYS_XATTR_H 1 | #define HAVE_TIME_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_UTIME_H 1 | #define HAVE_WCHAR_H 1 | #define HAVE_WCTYPE_H 1 | #define HAVE_ICONV 1 | #define ICONV_CONST | #define HAVE_ICONV_H 1 | #define HAVE_LZMA_H 1 | #define HAVE_LIBLZMA 1 | #define HAVE_LZMA_STREAM_ENCODER_MT 1 | #define HAVE_REGEX_H 1 | /* end confdefs.h. */ | #include | #ifdef HAVE_SYS_TYPES_H | # include | #endif | #ifdef HAVE_SYS_STAT_H | # include | #endif | #ifdef STDC_HEADERS | # include | # include | #else | # ifdef HAVE_STDLIB_H | # include | # endif | #endif | #ifdef HAVE_STRING_H | # if !defined STDC_HEADERS && defined HAVE_MEMORY_H | # include | # endif | # include | #endif | #ifdef HAVE_STRINGS_H | # include | #endif | #ifdef HAVE_INTTYPES_H | # include | #endif | #ifdef HAVE_STDINT_H | # include | #endif | #ifdef HAVE_UNISTD_H | # include | #endif | int | main () | { | if (sizeof ((size_t))) | return 0; | ; | return 0; | } configure:16466: result: yes configure:16477: checking for id_t configure:16477: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 configure:16477: $? = 0 configure:16477: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 conftest.c: In function 'main': conftest.c:118:19: error: expected expression before ')' token if (sizeof ((id_t))) ^ configure:16477: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "libarchive" | #define PACKAGE_TARNAME "libarchive" | #define PACKAGE_VERSION "3.4.0" | #define PACKAGE_STRING "libarchive 3.4.0" | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com" | #define PACKAGE_URL "" | #define PACKAGE "libarchive" | #define VERSION "3.4.0" | #define LIBARCHIVE_VERSION_STRING "3.4.0" | #define LIBARCHIVE_VERSION_NUMBER "3004000" | #define BSDCPIO_VERSION_STRING "3.4.0" | #define BSDTAR_VERSION_STRING "3.4.0" | #define BSDCAT_VERSION_STRING "3.4.0" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define __EXTENSIONS__ 1 | #define _ALL_SOURCE 1 | #define _GNU_SOURCE 1 | #define _POSIX_PTHREAD_SEMANTICS 1 | #define _TANDEM_SOURCE 1 | #define LT_OBJDIR ".libs/" | #define HAVE_DIRENT_H 1 | #define HAVE_SYS_WAIT_H 1 | #define HAVE_CTYPE_H 1 | #define HAVE_ERRNO_H 1 | #define HAVE_FCNTL_H 1 | #define HAVE_GRP_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_LANGINFO_H 1 | #define HAVE_LIMITS_H 1 | #define HAVE_LINUX_FIEMAP_H 1 | #define HAVE_LINUX_FS_H 1 | #define HAVE_LINUX_MAGIC_H 1 | #define HAVE_LINUX_TYPES_H 1 | #define HAVE_WORKING_FS_IOC_GETFLAGS 1 | #define HAVE_LOCALE_H 1 | #define HAVE_PATHS_H 1 | #define HAVE_POLL_H 1 | #define HAVE_PTHREAD_H 1 | #define HAVE_PWD_H 1 | #define HAVE_SIGNAL_H 1 | #define HAVE_SPAWN_H 1 | #define HAVE_STDARG_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_SYS_CDEFS_H 1 | #define HAVE_SYS_IOCTL_H 1 | #define HAVE_SYS_MOUNT_H 1 | #define HAVE_SYS_PARAM_H 1 | #define HAVE_SYS_POLL_H 1 | #define HAVE_SYS_SELECT_H 1 | #define HAVE_SYS_STATFS_H 1 | #define HAVE_SYS_STATVFS_H 1 | #define HAVE_SYS_SYSMACROS_H 1 | #define HAVE_SYS_TIME_H 1 | #define HAVE_SYS_UTSNAME_H 1 | #define HAVE_SYS_VFS_H 1 | #define HAVE_SYS_XATTR_H 1 | #define HAVE_TIME_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_UTIME_H 1 | #define HAVE_WCHAR_H 1 | #define HAVE_WCTYPE_H 1 | #define HAVE_ICONV 1 | #define ICONV_CONST | #define HAVE_ICONV_H 1 | #define HAVE_LZMA_H 1 | #define HAVE_LIBLZMA 1 | #define HAVE_LZMA_STREAM_ENCODER_MT 1 | #define HAVE_REGEX_H 1 | /* end confdefs.h. */ | #include | #ifdef HAVE_SYS_TYPES_H | # include | #endif | #ifdef HAVE_SYS_STAT_H | # include | #endif | #ifdef STDC_HEADERS | # include | # include | #else | # ifdef HAVE_STDLIB_H | # include | # endif | #endif | #ifdef HAVE_STRING_H | # if !defined STDC_HEADERS && defined HAVE_MEMORY_H | # include | # endif | # include | #endif | #ifdef HAVE_STRINGS_H | # include | #endif | #ifdef HAVE_INTTYPES_H | # include | #endif | #ifdef HAVE_STDINT_H | # include | #endif | #ifdef HAVE_UNISTD_H | # include | #endif | int | main () | { | if (sizeof ((id_t))) | return 0; | ; | return 0; | } configure:16477: result: yes configure:16488: checking for uintptr_t configure:16488: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 configure:16488: $? = 0 configure:16488: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 conftest.c: In function 'main': conftest.c:118:24: error: expected expression before ')' token if (sizeof ((uintptr_t))) ^ configure:16488: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "libarchive" | #define PACKAGE_TARNAME "libarchive" | #define PACKAGE_VERSION "3.4.0" | #define PACKAGE_STRING "libarchive 3.4.0" | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com" | #define PACKAGE_URL "" | #define PACKAGE "libarchive" | #define VERSION "3.4.0" | #define LIBARCHIVE_VERSION_STRING "3.4.0" | #define LIBARCHIVE_VERSION_NUMBER "3004000" | #define BSDCPIO_VERSION_STRING "3.4.0" | #define BSDTAR_VERSION_STRING "3.4.0" | #define BSDCAT_VERSION_STRING "3.4.0" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define __EXTENSIONS__ 1 | #define _ALL_SOURCE 1 | #define _GNU_SOURCE 1 | #define _POSIX_PTHREAD_SEMANTICS 1 | #define _TANDEM_SOURCE 1 | #define LT_OBJDIR ".libs/" | #define HAVE_DIRENT_H 1 | #define HAVE_SYS_WAIT_H 1 | #define HAVE_CTYPE_H 1 | #define HAVE_ERRNO_H 1 | #define HAVE_FCNTL_H 1 | #define HAVE_GRP_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_LANGINFO_H 1 | #define HAVE_LIMITS_H 1 | #define HAVE_LINUX_FIEMAP_H 1 | #define HAVE_LINUX_FS_H 1 | #define HAVE_LINUX_MAGIC_H 1 | #define HAVE_LINUX_TYPES_H 1 | #define HAVE_WORKING_FS_IOC_GETFLAGS 1 | #define HAVE_LOCALE_H 1 | #define HAVE_PATHS_H 1 | #define HAVE_POLL_H 1 | #define HAVE_PTHREAD_H 1 | #define HAVE_PWD_H 1 | #define HAVE_SIGNAL_H 1 | #define HAVE_SPAWN_H 1 | #define HAVE_STDARG_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_SYS_CDEFS_H 1 | #define HAVE_SYS_IOCTL_H 1 | #define HAVE_SYS_MOUNT_H 1 | #define HAVE_SYS_PARAM_H 1 | #define HAVE_SYS_POLL_H 1 | #define HAVE_SYS_SELECT_H 1 | #define HAVE_SYS_STATFS_H 1 | #define HAVE_SYS_STATVFS_H 1 | #define HAVE_SYS_SYSMACROS_H 1 | #define HAVE_SYS_TIME_H 1 | #define HAVE_SYS_UTSNAME_H 1 | #define HAVE_SYS_VFS_H 1 | #define HAVE_SYS_XATTR_H 1 | #define HAVE_TIME_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_UTIME_H 1 | #define HAVE_WCHAR_H 1 | #define HAVE_WCTYPE_H 1 | #define HAVE_ICONV 1 | #define ICONV_CONST | #define HAVE_ICONV_H 1 | #define HAVE_LZMA_H 1 | #define HAVE_LIBLZMA 1 | #define HAVE_LZMA_STREAM_ENCODER_MT 1 | #define HAVE_REGEX_H 1 | /* end confdefs.h. */ | #include | #ifdef HAVE_SYS_TYPES_H | # include | #endif | #ifdef HAVE_SYS_STAT_H | # include | #endif | #ifdef STDC_HEADERS | # include | # include | #else | # ifdef HAVE_STDLIB_H | # include | # endif | #endif | #ifdef HAVE_STRING_H | # if !defined STDC_HEADERS && defined HAVE_MEMORY_H | # include | # endif | # include | #endif | #ifdef HAVE_STRINGS_H | # include | #endif | #ifdef HAVE_INTTYPES_H | # include | #endif | #ifdef HAVE_STDINT_H | # include | #endif | #ifdef HAVE_UNISTD_H | # include | #endif | int | main () | { | if (sizeof ((uintptr_t))) | return 0; | ; | return 0; | } configure:16488: result: yes configure:16501: checking for struct tm.tm_gmtoff configure:16501: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 configure:16501: $? = 0 configure:16501: result: yes configure:16513: checking for struct tm.__tm_gmtoff configure:16513: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 conftest.c: In function 'main': conftest.c:91:13: error: 'struct tm' has no member named '__tm_gmtoff'; did you mean 'tm_gmtoff'? if (ac_aggr.__tm_gmtoff) ^~~~~~~~~~~ tm_gmtoff conftest.c:90:18: warning: variable 'ac_aggr' set but not used [-Wunused-but-set-variable] static struct tm ac_aggr; ^~~~~~~ configure:16513: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "libarchive" | #define PACKAGE_TARNAME "libarchive" | #define PACKAGE_VERSION "3.4.0" | #define PACKAGE_STRING "libarchive 3.4.0" | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com" | #define PACKAGE_URL "" | #define PACKAGE "libarchive" | #define VERSION "3.4.0" | #define LIBARCHIVE_VERSION_STRING "3.4.0" | #define LIBARCHIVE_VERSION_NUMBER "3004000" | #define BSDCPIO_VERSION_STRING "3.4.0" | #define BSDTAR_VERSION_STRING "3.4.0" | #define BSDCAT_VERSION_STRING "3.4.0" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define __EXTENSIONS__ 1 | #define _ALL_SOURCE 1 | #define _GNU_SOURCE 1 | #define _POSIX_PTHREAD_SEMANTICS 1 | #define _TANDEM_SOURCE 1 | #define LT_OBJDIR ".libs/" | #define HAVE_DIRENT_H 1 | #define HAVE_SYS_WAIT_H 1 | #define HAVE_CTYPE_H 1 | #define HAVE_ERRNO_H 1 | #define HAVE_FCNTL_H 1 | #define HAVE_GRP_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_LANGINFO_H 1 | #define HAVE_LIMITS_H 1 | #define HAVE_LINUX_FIEMAP_H 1 | #define HAVE_LINUX_FS_H 1 | #define HAVE_LINUX_MAGIC_H 1 | #define HAVE_LINUX_TYPES_H 1 | #define HAVE_WORKING_FS_IOC_GETFLAGS 1 | #define HAVE_LOCALE_H 1 | #define HAVE_PATHS_H 1 | #define HAVE_POLL_H 1 | #define HAVE_PTHREAD_H 1 | #define HAVE_PWD_H 1 | #define HAVE_SIGNAL_H 1 | #define HAVE_SPAWN_H 1 | #define HAVE_STDARG_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_SYS_CDEFS_H 1 | #define HAVE_SYS_IOCTL_H 1 | #define HAVE_SYS_MOUNT_H 1 | #define HAVE_SYS_PARAM_H 1 | #define HAVE_SYS_POLL_H 1 | #define HAVE_SYS_SELECT_H 1 | #define HAVE_SYS_STATFS_H 1 | #define HAVE_SYS_STATVFS_H 1 | #define HAVE_SYS_SYSMACROS_H 1 | #define HAVE_SYS_TIME_H 1 | #define HAVE_SYS_UTSNAME_H 1 | #define HAVE_SYS_VFS_H 1 | #define HAVE_SYS_XATTR_H 1 | #define HAVE_TIME_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_UTIME_H 1 | #define HAVE_WCHAR_H 1 | #define HAVE_WCTYPE_H 1 | #define HAVE_ICONV 1 | #define ICONV_CONST | #define HAVE_ICONV_H 1 | #define HAVE_LZMA_H 1 | #define HAVE_LIBLZMA 1 | #define HAVE_LZMA_STREAM_ENCODER_MT 1 | #define HAVE_REGEX_H 1 | #define HAVE_STRUCT_TM_TM_GMTOFF 1 | /* end confdefs.h. */ | | #include | | | int | main () | { | static struct tm ac_aggr; | if (ac_aggr.__tm_gmtoff) | return 0; | ; | return 0; | } configure:16513: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 conftest.c: In function 'main': conftest.c:91:20: error: 'struct tm' has no member named '__tm_gmtoff'; did you mean 'tm_gmtoff'? if (sizeof ac_aggr.__tm_gmtoff) ^~~~~~~~~~~ tm_gmtoff conftest.c:90:18: warning: variable 'ac_aggr' set but not used [-Wunused-but-set-variable] static struct tm ac_aggr; ^~~~~~~ configure:16513: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "libarchive" | #define PACKAGE_TARNAME "libarchive" | #define PACKAGE_VERSION "3.4.0" | #define PACKAGE_STRING "libarchive 3.4.0" | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com" | #define PACKAGE_URL "" | #define PACKAGE "libarchive" | #define VERSION "3.4.0" | #define LIBARCHIVE_VERSION_STRING "3.4.0" | #define LIBARCHIVE_VERSION_NUMBER "3004000" | #define BSDCPIO_VERSION_STRING "3.4.0" | #define BSDTAR_VERSION_STRING "3.4.0" | #define BSDCAT_VERSION_STRING "3.4.0" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define __EXTENSIONS__ 1 | #define _ALL_SOURCE 1 | #define _GNU_SOURCE 1 | #define _POSIX_PTHREAD_SEMANTICS 1 | #define _TANDEM_SOURCE 1 | #define LT_OBJDIR ".libs/" | #define HAVE_DIRENT_H 1 | #define HAVE_SYS_WAIT_H 1 | #define HAVE_CTYPE_H 1 | #define HAVE_ERRNO_H 1 | #define HAVE_FCNTL_H 1 | #define HAVE_GRP_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_LANGINFO_H 1 | #define HAVE_LIMITS_H 1 | #define HAVE_LINUX_FIEMAP_H 1 | #define HAVE_LINUX_FS_H 1 | #define HAVE_LINUX_MAGIC_H 1 | #define HAVE_LINUX_TYPES_H 1 | #define HAVE_WORKING_FS_IOC_GETFLAGS 1 | #define HAVE_LOCALE_H 1 | #define HAVE_PATHS_H 1 | #define HAVE_POLL_H 1 | #define HAVE_PTHREAD_H 1 | #define HAVE_PWD_H 1 | #define HAVE_SIGNAL_H 1 | #define HAVE_SPAWN_H 1 | #define HAVE_STDARG_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_SYS_CDEFS_H 1 | #define HAVE_SYS_IOCTL_H 1 | #define HAVE_SYS_MOUNT_H 1 | #define HAVE_SYS_PARAM_H 1 | #define HAVE_SYS_POLL_H 1 | #define HAVE_SYS_SELECT_H 1 | #define HAVE_SYS_STATFS_H 1 | #define HAVE_SYS_STATVFS_H 1 | #define HAVE_SYS_SYSMACROS_H 1 | #define HAVE_SYS_TIME_H 1 | #define HAVE_SYS_UTSNAME_H 1 | #define HAVE_SYS_VFS_H 1 | #define HAVE_SYS_XATTR_H 1 | #define HAVE_TIME_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_UTIME_H 1 | #define HAVE_WCHAR_H 1 | #define HAVE_WCTYPE_H 1 | #define HAVE_ICONV 1 | #define ICONV_CONST | #define HAVE_ICONV_H 1 | #define HAVE_LZMA_H 1 | #define HAVE_LIBLZMA 1 | #define HAVE_LZMA_STREAM_ENCODER_MT 1 | #define HAVE_REGEX_H 1 | #define HAVE_STRUCT_TM_TM_GMTOFF 1 | /* end confdefs.h. */ | | #include | | | int | main () | { | static struct tm ac_aggr; | if (sizeof ac_aggr.__tm_gmtoff) | return 0; | ; | return 0; | } configure:16513: result: no configure:16528: checking for struct statfs.f_namemax configure:16528: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 conftest.c: In function 'main': conftest.c:91:22: error: storage size of 'ac_aggr' isn't known static struct statfs ac_aggr; ^~~~~~~ conftest.c:91:22: warning: unused variable 'ac_aggr' [-Wunused-variable] configure:16528: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "libarchive" | #define PACKAGE_TARNAME "libarchive" | #define PACKAGE_VERSION "3.4.0" | #define PACKAGE_STRING "libarchive 3.4.0" | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com" | #define PACKAGE_URL "" | #define PACKAGE "libarchive" | #define VERSION "3.4.0" | #define LIBARCHIVE_VERSION_STRING "3.4.0" | #define LIBARCHIVE_VERSION_NUMBER "3004000" | #define BSDCPIO_VERSION_STRING "3.4.0" | #define BSDTAR_VERSION_STRING "3.4.0" | #define BSDCAT_VERSION_STRING "3.4.0" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define __EXTENSIONS__ 1 | #define _ALL_SOURCE 1 | #define _GNU_SOURCE 1 | #define _POSIX_PTHREAD_SEMANTICS 1 | #define _TANDEM_SOURCE 1 | #define LT_OBJDIR ".libs/" | #define HAVE_DIRENT_H 1 | #define HAVE_SYS_WAIT_H 1 | #define HAVE_CTYPE_H 1 | #define HAVE_ERRNO_H 1 | #define HAVE_FCNTL_H 1 | #define HAVE_GRP_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_LANGINFO_H 1 | #define HAVE_LIMITS_H 1 | #define HAVE_LINUX_FIEMAP_H 1 | #define HAVE_LINUX_FS_H 1 | #define HAVE_LINUX_MAGIC_H 1 | #define HAVE_LINUX_TYPES_H 1 | #define HAVE_WORKING_FS_IOC_GETFLAGS 1 | #define HAVE_LOCALE_H 1 | #define HAVE_PATHS_H 1 | #define HAVE_POLL_H 1 | #define HAVE_PTHREAD_H 1 | #define HAVE_PWD_H 1 | #define HAVE_SIGNAL_H 1 | #define HAVE_SPAWN_H 1 | #define HAVE_STDARG_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_SYS_CDEFS_H 1 | #define HAVE_SYS_IOCTL_H 1 | #define HAVE_SYS_MOUNT_H 1 | #define HAVE_SYS_PARAM_H 1 | #define HAVE_SYS_POLL_H 1 | #define HAVE_SYS_SELECT_H 1 | #define HAVE_SYS_STATFS_H 1 | #define HAVE_SYS_STATVFS_H 1 | #define HAVE_SYS_SYSMACROS_H 1 | #define HAVE_SYS_TIME_H 1 | #define HAVE_SYS_UTSNAME_H 1 | #define HAVE_SYS_VFS_H 1 | #define HAVE_SYS_XATTR_H 1 | #define HAVE_TIME_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_UTIME_H 1 | #define HAVE_WCHAR_H 1 | #define HAVE_WCTYPE_H 1 | #define HAVE_ICONV 1 | #define ICONV_CONST | #define HAVE_ICONV_H 1 | #define HAVE_LZMA_H 1 | #define HAVE_LIBLZMA 1 | #define HAVE_LZMA_STREAM_ENCODER_MT 1 | #define HAVE_REGEX_H 1 | #define HAVE_STRUCT_TM_TM_GMTOFF 1 | /* end confdefs.h. */ | | #include | #include | | | int | main () | { | static struct statfs ac_aggr; | if (ac_aggr.f_namemax) | return 0; | ; | return 0; | } configure:16528: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 conftest.c: In function 'main': conftest.c:91:22: error: storage size of 'ac_aggr' isn't known static struct statfs ac_aggr; ^~~~~~~ conftest.c:91:22: warning: unused variable 'ac_aggr' [-Wunused-variable] configure:16528: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "libarchive" | #define PACKAGE_TARNAME "libarchive" | #define PACKAGE_VERSION "3.4.0" | #define PACKAGE_STRING "libarchive 3.4.0" | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com" | #define PACKAGE_URL "" | #define PACKAGE "libarchive" | #define VERSION "3.4.0" | #define LIBARCHIVE_VERSION_STRING "3.4.0" | #define LIBARCHIVE_VERSION_NUMBER "3004000" | #define BSDCPIO_VERSION_STRING "3.4.0" | #define BSDTAR_VERSION_STRING "3.4.0" | #define BSDCAT_VERSION_STRING "3.4.0" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define __EXTENSIONS__ 1 | #define _ALL_SOURCE 1 | #define _GNU_SOURCE 1 | #define _POSIX_PTHREAD_SEMANTICS 1 | #define _TANDEM_SOURCE 1 | #define LT_OBJDIR ".libs/" | #define HAVE_DIRENT_H 1 | #define HAVE_SYS_WAIT_H 1 | #define HAVE_CTYPE_H 1 | #define HAVE_ERRNO_H 1 | #define HAVE_FCNTL_H 1 | #define HAVE_GRP_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_LANGINFO_H 1 | #define HAVE_LIMITS_H 1 | #define HAVE_LINUX_FIEMAP_H 1 | #define HAVE_LINUX_FS_H 1 | #define HAVE_LINUX_MAGIC_H 1 | #define HAVE_LINUX_TYPES_H 1 | #define HAVE_WORKING_FS_IOC_GETFLAGS 1 | #define HAVE_LOCALE_H 1 | #define HAVE_PATHS_H 1 | #define HAVE_POLL_H 1 | #define HAVE_PTHREAD_H 1 | #define HAVE_PWD_H 1 | #define HAVE_SIGNAL_H 1 | #define HAVE_SPAWN_H 1 | #define HAVE_STDARG_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_SYS_CDEFS_H 1 | #define HAVE_SYS_IOCTL_H 1 | #define HAVE_SYS_MOUNT_H 1 | #define HAVE_SYS_PARAM_H 1 | #define HAVE_SYS_POLL_H 1 | #define HAVE_SYS_SELECT_H 1 | #define HAVE_SYS_STATFS_H 1 | #define HAVE_SYS_STATVFS_H 1 | #define HAVE_SYS_SYSMACROS_H 1 | #define HAVE_SYS_TIME_H 1 | #define HAVE_SYS_UTSNAME_H 1 | #define HAVE_SYS_VFS_H 1 | #define HAVE_SYS_XATTR_H 1 | #define HAVE_TIME_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_UTIME_H 1 | #define HAVE_WCHAR_H 1 | #define HAVE_WCTYPE_H 1 | #define HAVE_ICONV 1 | #define ICONV_CONST | #define HAVE_ICONV_H 1 | #define HAVE_LZMA_H 1 | #define HAVE_LIBLZMA 1 | #define HAVE_LZMA_STREAM_ENCODER_MT 1 | #define HAVE_REGEX_H 1 | #define HAVE_STRUCT_TM_TM_GMTOFF 1 | /* end confdefs.h. */ | | #include | #include | | | int | main () | { | static struct statfs ac_aggr; | if (sizeof ac_aggr.f_namemax) | return 0; | ; | return 0; | } configure:16528: result: no configure:16544: checking for struct statvfs.f_iosize configure:16544: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 conftest.c: In function 'main': conftest.c:91:13: error: 'struct statvfs' has no member named 'f_iosize'; did you mean 'f_bsize'? if (ac_aggr.f_iosize) ^~~~~~~~ f_bsize conftest.c:90:23: warning: variable 'ac_aggr' set but not used [-Wunused-but-set-variable] static struct statvfs ac_aggr; ^~~~~~~ configure:16544: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "libarchive" | #define PACKAGE_TARNAME "libarchive" | #define PACKAGE_VERSION "3.4.0" | #define PACKAGE_STRING "libarchive 3.4.0" | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com" | #define PACKAGE_URL "" | #define PACKAGE "libarchive" | #define VERSION "3.4.0" | #define LIBARCHIVE_VERSION_STRING "3.4.0" | #define LIBARCHIVE_VERSION_NUMBER "3004000" | #define BSDCPIO_VERSION_STRING "3.4.0" | #define BSDTAR_VERSION_STRING "3.4.0" | #define BSDCAT_VERSION_STRING "3.4.0" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define __EXTENSIONS__ 1 | #define _ALL_SOURCE 1 | #define _GNU_SOURCE 1 | #define _POSIX_PTHREAD_SEMANTICS 1 | #define _TANDEM_SOURCE 1 | #define LT_OBJDIR ".libs/" | #define HAVE_DIRENT_H 1 | #define HAVE_SYS_WAIT_H 1 | #define HAVE_CTYPE_H 1 | #define HAVE_ERRNO_H 1 | #define HAVE_FCNTL_H 1 | #define HAVE_GRP_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_LANGINFO_H 1 | #define HAVE_LIMITS_H 1 | #define HAVE_LINUX_FIEMAP_H 1 | #define HAVE_LINUX_FS_H 1 | #define HAVE_LINUX_MAGIC_H 1 | #define HAVE_LINUX_TYPES_H 1 | #define HAVE_WORKING_FS_IOC_GETFLAGS 1 | #define HAVE_LOCALE_H 1 | #define HAVE_PATHS_H 1 | #define HAVE_POLL_H 1 | #define HAVE_PTHREAD_H 1 | #define HAVE_PWD_H 1 | #define HAVE_SIGNAL_H 1 | #define HAVE_SPAWN_H 1 | #define HAVE_STDARG_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_SYS_CDEFS_H 1 | #define HAVE_SYS_IOCTL_H 1 | #define HAVE_SYS_MOUNT_H 1 | #define HAVE_SYS_PARAM_H 1 | #define HAVE_SYS_POLL_H 1 | #define HAVE_SYS_SELECT_H 1 | #define HAVE_SYS_STATFS_H 1 | #define HAVE_SYS_STATVFS_H 1 | #define HAVE_SYS_SYSMACROS_H 1 | #define HAVE_SYS_TIME_H 1 | #define HAVE_SYS_UTSNAME_H 1 | #define HAVE_SYS_VFS_H 1 | #define HAVE_SYS_XATTR_H 1 | #define HAVE_TIME_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_UTIME_H 1 | #define HAVE_WCHAR_H 1 | #define HAVE_WCTYPE_H 1 | #define HAVE_ICONV 1 | #define ICONV_CONST | #define HAVE_ICONV_H 1 | #define HAVE_LZMA_H 1 | #define HAVE_LIBLZMA 1 | #define HAVE_LZMA_STREAM_ENCODER_MT 1 | #define HAVE_REGEX_H 1 | #define HAVE_STRUCT_TM_TM_GMTOFF 1 | /* end confdefs.h. */ | | #include | | | int | main () | { | static struct statvfs ac_aggr; | if (ac_aggr.f_iosize) | return 0; | ; | return 0; | } configure:16544: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 conftest.c: In function 'main': conftest.c:91:20: error: 'struct statvfs' has no member named 'f_iosize'; did you mean 'f_bsize'? if (sizeof ac_aggr.f_iosize) ^~~~~~~~ f_bsize conftest.c:90:23: warning: variable 'ac_aggr' set but not used [-Wunused-but-set-variable] static struct statvfs ac_aggr; ^~~~~~~ configure:16544: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "libarchive" | #define PACKAGE_TARNAME "libarchive" | #define PACKAGE_VERSION "3.4.0" | #define PACKAGE_STRING "libarchive 3.4.0" | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com" | #define PACKAGE_URL "" | #define PACKAGE "libarchive" | #define VERSION "3.4.0" | #define LIBARCHIVE_VERSION_STRING "3.4.0" | #define LIBARCHIVE_VERSION_NUMBER "3004000" | #define BSDCPIO_VERSION_STRING "3.4.0" | #define BSDTAR_VERSION_STRING "3.4.0" | #define BSDCAT_VERSION_STRING "3.4.0" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define __EXTENSIONS__ 1 | #define _ALL_SOURCE 1 | #define _GNU_SOURCE 1 | #define _POSIX_PTHREAD_SEMANTICS 1 | #define _TANDEM_SOURCE 1 | #define LT_OBJDIR ".libs/" | #define HAVE_DIRENT_H 1 | #define HAVE_SYS_WAIT_H 1 | #define HAVE_CTYPE_H 1 | #define HAVE_ERRNO_H 1 | #define HAVE_FCNTL_H 1 | #define HAVE_GRP_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_LANGINFO_H 1 | #define HAVE_LIMITS_H 1 | #define HAVE_LINUX_FIEMAP_H 1 | #define HAVE_LINUX_FS_H 1 | #define HAVE_LINUX_MAGIC_H 1 | #define HAVE_LINUX_TYPES_H 1 | #define HAVE_WORKING_FS_IOC_GETFLAGS 1 | #define HAVE_LOCALE_H 1 | #define HAVE_PATHS_H 1 | #define HAVE_POLL_H 1 | #define HAVE_PTHREAD_H 1 | #define HAVE_PWD_H 1 | #define HAVE_SIGNAL_H 1 | #define HAVE_SPAWN_H 1 | #define HAVE_STDARG_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_SYS_CDEFS_H 1 | #define HAVE_SYS_IOCTL_H 1 | #define HAVE_SYS_MOUNT_H 1 | #define HAVE_SYS_PARAM_H 1 | #define HAVE_SYS_POLL_H 1 | #define HAVE_SYS_SELECT_H 1 | #define HAVE_SYS_STATFS_H 1 | #define HAVE_SYS_STATVFS_H 1 | #define HAVE_SYS_SYSMACROS_H 1 | #define HAVE_SYS_TIME_H 1 | #define HAVE_SYS_UTSNAME_H 1 | #define HAVE_SYS_VFS_H 1 | #define HAVE_SYS_XATTR_H 1 | #define HAVE_TIME_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_UTIME_H 1 | #define HAVE_WCHAR_H 1 | #define HAVE_WCTYPE_H 1 | #define HAVE_ICONV 1 | #define ICONV_CONST | #define HAVE_ICONV_H 1 | #define HAVE_LZMA_H 1 | #define HAVE_LIBLZMA 1 | #define HAVE_LZMA_STREAM_ENCODER_MT 1 | #define HAVE_REGEX_H 1 | #define HAVE_STRUCT_TM_TM_GMTOFF 1 | /* end confdefs.h. */ | | #include | | | int | main () | { | static struct statvfs ac_aggr; | if (sizeof ac_aggr.f_iosize) | return 0; | ; | return 0; | } configure:16544: result: no configure:16559: checking for struct stat.st_birthtime configure:16559: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 conftest.c: In function 'main': conftest.c:120:13: error: 'struct stat' has no member named 'st_birthtime'; did you mean 'st_blksize'? if (ac_aggr.st_birthtime) ^~~~~~~~~~~~ st_blksize conftest.c:119:20: warning: variable 'ac_aggr' set but not used [-Wunused-but-set-variable] static struct stat ac_aggr; ^~~~~~~ configure:16559: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "libarchive" | #define PACKAGE_TARNAME "libarchive" | #define PACKAGE_VERSION "3.4.0" | #define PACKAGE_STRING "libarchive 3.4.0" | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com" | #define PACKAGE_URL "" | #define PACKAGE "libarchive" | #define VERSION "3.4.0" | #define LIBARCHIVE_VERSION_STRING "3.4.0" | #define LIBARCHIVE_VERSION_NUMBER "3004000" | #define BSDCPIO_VERSION_STRING "3.4.0" | #define BSDTAR_VERSION_STRING "3.4.0" | #define BSDCAT_VERSION_STRING "3.4.0" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define __EXTENSIONS__ 1 | #define _ALL_SOURCE 1 | #define _GNU_SOURCE 1 | #define _POSIX_PTHREAD_SEMANTICS 1 | #define _TANDEM_SOURCE 1 | #define LT_OBJDIR ".libs/" | #define HAVE_DIRENT_H 1 | #define HAVE_SYS_WAIT_H 1 | #define HAVE_CTYPE_H 1 | #define HAVE_ERRNO_H 1 | #define HAVE_FCNTL_H 1 | #define HAVE_GRP_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_LANGINFO_H 1 | #define HAVE_LIMITS_H 1 | #define HAVE_LINUX_FIEMAP_H 1 | #define HAVE_LINUX_FS_H 1 | #define HAVE_LINUX_MAGIC_H 1 | #define HAVE_LINUX_TYPES_H 1 | #define HAVE_WORKING_FS_IOC_GETFLAGS 1 | #define HAVE_LOCALE_H 1 | #define HAVE_PATHS_H 1 | #define HAVE_POLL_H 1 | #define HAVE_PTHREAD_H 1 | #define HAVE_PWD_H 1 | #define HAVE_SIGNAL_H 1 | #define HAVE_SPAWN_H 1 | #define HAVE_STDARG_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_SYS_CDEFS_H 1 | #define HAVE_SYS_IOCTL_H 1 | #define HAVE_SYS_MOUNT_H 1 | #define HAVE_SYS_PARAM_H 1 | #define HAVE_SYS_POLL_H 1 | #define HAVE_SYS_SELECT_H 1 | #define HAVE_SYS_STATFS_H 1 | #define HAVE_SYS_STATVFS_H 1 | #define HAVE_SYS_SYSMACROS_H 1 | #define HAVE_SYS_TIME_H 1 | #define HAVE_SYS_UTSNAME_H 1 | #define HAVE_SYS_VFS_H 1 | #define HAVE_SYS_XATTR_H 1 | #define HAVE_TIME_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_UTIME_H 1 | #define HAVE_WCHAR_H 1 | #define HAVE_WCTYPE_H 1 | #define HAVE_ICONV 1 | #define ICONV_CONST | #define HAVE_ICONV_H 1 | #define HAVE_LZMA_H 1 | #define HAVE_LIBLZMA 1 | #define HAVE_LZMA_STREAM_ENCODER_MT 1 | #define HAVE_REGEX_H 1 | #define HAVE_STRUCT_TM_TM_GMTOFF 1 | /* end confdefs.h. */ | #include | #ifdef HAVE_SYS_TYPES_H | # include | #endif | #ifdef HAVE_SYS_STAT_H | # include | #endif | #ifdef STDC_HEADERS | # include | # include | #else | # ifdef HAVE_STDLIB_H | # include | # endif | #endif | #ifdef HAVE_STRING_H | # if !defined STDC_HEADERS && defined HAVE_MEMORY_H | # include | # endif | # include | #endif | #ifdef HAVE_STRINGS_H | # include | #endif | #ifdef HAVE_INTTYPES_H | # include | #endif | #ifdef HAVE_STDINT_H | # include | #endif | #ifdef HAVE_UNISTD_H | # include | #endif | int | main () | { | static struct stat ac_aggr; | if (ac_aggr.st_birthtime) | return 0; | ; | return 0; | } configure:16559: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 conftest.c: In function 'main': conftest.c:120:20: error: 'struct stat' has no member named 'st_birthtime'; did you mean 'st_blksize'? if (sizeof ac_aggr.st_birthtime) ^~~~~~~~~~~~ st_blksize conftest.c:119:20: warning: variable 'ac_aggr' set but not used [-Wunused-but-set-variable] static struct stat ac_aggr; ^~~~~~~ configure:16559: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "libarchive" | #define PACKAGE_TARNAME "libarchive" | #define PACKAGE_VERSION "3.4.0" | #define PACKAGE_STRING "libarchive 3.4.0" | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com" | #define PACKAGE_URL "" | #define PACKAGE "libarchive" | #define VERSION "3.4.0" | #define LIBARCHIVE_VERSION_STRING "3.4.0" | #define LIBARCHIVE_VERSION_NUMBER "3004000" | #define BSDCPIO_VERSION_STRING "3.4.0" | #define BSDTAR_VERSION_STRING "3.4.0" | #define BSDCAT_VERSION_STRING "3.4.0" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define __EXTENSIONS__ 1 | #define _ALL_SOURCE 1 | #define _GNU_SOURCE 1 | #define _POSIX_PTHREAD_SEMANTICS 1 | #define _TANDEM_SOURCE 1 | #define LT_OBJDIR ".libs/" | #define HAVE_DIRENT_H 1 | #define HAVE_SYS_WAIT_H 1 | #define HAVE_CTYPE_H 1 | #define HAVE_ERRNO_H 1 | #define HAVE_FCNTL_H 1 | #define HAVE_GRP_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_LANGINFO_H 1 | #define HAVE_LIMITS_H 1 | #define HAVE_LINUX_FIEMAP_H 1 | #define HAVE_LINUX_FS_H 1 | #define HAVE_LINUX_MAGIC_H 1 | #define HAVE_LINUX_TYPES_H 1 | #define HAVE_WORKING_FS_IOC_GETFLAGS 1 | #define HAVE_LOCALE_H 1 | #define HAVE_PATHS_H 1 | #define HAVE_POLL_H 1 | #define HAVE_PTHREAD_H 1 | #define HAVE_PWD_H 1 | #define HAVE_SIGNAL_H 1 | #define HAVE_SPAWN_H 1 | #define HAVE_STDARG_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_SYS_CDEFS_H 1 | #define HAVE_SYS_IOCTL_H 1 | #define HAVE_SYS_MOUNT_H 1 | #define HAVE_SYS_PARAM_H 1 | #define HAVE_SYS_POLL_H 1 | #define HAVE_SYS_SELECT_H 1 | #define HAVE_SYS_STATFS_H 1 | #define HAVE_SYS_STATVFS_H 1 | #define HAVE_SYS_SYSMACROS_H 1 | #define HAVE_SYS_TIME_H 1 | #define HAVE_SYS_UTSNAME_H 1 | #define HAVE_SYS_VFS_H 1 | #define HAVE_SYS_XATTR_H 1 | #define HAVE_TIME_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_UTIME_H 1 | #define HAVE_WCHAR_H 1 | #define HAVE_WCTYPE_H 1 | #define HAVE_ICONV 1 | #define ICONV_CONST | #define HAVE_ICONV_H 1 | #define HAVE_LZMA_H 1 | #define HAVE_LIBLZMA 1 | #define HAVE_LZMA_STREAM_ENCODER_MT 1 | #define HAVE_REGEX_H 1 | #define HAVE_STRUCT_TM_TM_GMTOFF 1 | /* end confdefs.h. */ | #include | #ifdef HAVE_SYS_TYPES_H | # include | #endif | #ifdef HAVE_SYS_STAT_H | # include | #endif | #ifdef STDC_HEADERS | # include | # include | #else | # ifdef HAVE_STDLIB_H | # include | # endif | #endif | #ifdef HAVE_STRING_H | # if !defined STDC_HEADERS && defined HAVE_MEMORY_H | # include | # endif | # include | #endif | #ifdef HAVE_STRINGS_H | # include | #endif | #ifdef HAVE_INTTYPES_H | # include | #endif | #ifdef HAVE_STDINT_H | # include | #endif | #ifdef HAVE_UNISTD_H | # include | #endif | int | main () | { | static struct stat ac_aggr; | if (sizeof ac_aggr.st_birthtime) | return 0; | ; | return 0; | } configure:16559: result: no configure:16571: checking for struct stat.st_birthtimespec.tv_nsec configure:16571: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 conftest.c: In function 'main': conftest.c:120:12: error: 'struct stat' has no member named 'st_birthtimespec' if (ac_aggr.st_birthtimespec.tv_nsec) ^ conftest.c:119:20: warning: variable 'ac_aggr' set but not used [-Wunused-but-set-variable] static struct stat ac_aggr; ^~~~~~~ configure:16571: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "libarchive" | #define PACKAGE_TARNAME "libarchive" | #define PACKAGE_VERSION "3.4.0" | #define PACKAGE_STRING "libarchive 3.4.0" | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com" | #define PACKAGE_URL "" | #define PACKAGE "libarchive" | #define VERSION "3.4.0" | #define LIBARCHIVE_VERSION_STRING "3.4.0" | #define LIBARCHIVE_VERSION_NUMBER "3004000" | #define BSDCPIO_VERSION_STRING "3.4.0" | #define BSDTAR_VERSION_STRING "3.4.0" | #define BSDCAT_VERSION_STRING "3.4.0" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define __EXTENSIONS__ 1 | #define _ALL_SOURCE 1 | #define _GNU_SOURCE 1 | #define _POSIX_PTHREAD_SEMANTICS 1 | #define _TANDEM_SOURCE 1 | #define LT_OBJDIR ".libs/" | #define HAVE_DIRENT_H 1 | #define HAVE_SYS_WAIT_H 1 | #define HAVE_CTYPE_H 1 | #define HAVE_ERRNO_H 1 | #define HAVE_FCNTL_H 1 | #define HAVE_GRP_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_LANGINFO_H 1 | #define HAVE_LIMITS_H 1 | #define HAVE_LINUX_FIEMAP_H 1 | #define HAVE_LINUX_FS_H 1 | #define HAVE_LINUX_MAGIC_H 1 | #define HAVE_LINUX_TYPES_H 1 | #define HAVE_WORKING_FS_IOC_GETFLAGS 1 | #define HAVE_LOCALE_H 1 | #define HAVE_PATHS_H 1 | #define HAVE_POLL_H 1 | #define HAVE_PTHREAD_H 1 | #define HAVE_PWD_H 1 | #define HAVE_SIGNAL_H 1 | #define HAVE_SPAWN_H 1 | #define HAVE_STDARG_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_SYS_CDEFS_H 1 | #define HAVE_SYS_IOCTL_H 1 | #define HAVE_SYS_MOUNT_H 1 | #define HAVE_SYS_PARAM_H 1 | #define HAVE_SYS_POLL_H 1 | #define HAVE_SYS_SELECT_H 1 | #define HAVE_SYS_STATFS_H 1 | #define HAVE_SYS_STATVFS_H 1 | #define HAVE_SYS_SYSMACROS_H 1 | #define HAVE_SYS_TIME_H 1 | #define HAVE_SYS_UTSNAME_H 1 | #define HAVE_SYS_VFS_H 1 | #define HAVE_SYS_XATTR_H 1 | #define HAVE_TIME_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_UTIME_H 1 | #define HAVE_WCHAR_H 1 | #define HAVE_WCTYPE_H 1 | #define HAVE_ICONV 1 | #define ICONV_CONST | #define HAVE_ICONV_H 1 | #define HAVE_LZMA_H 1 | #define HAVE_LIBLZMA 1 | #define HAVE_LZMA_STREAM_ENCODER_MT 1 | #define HAVE_REGEX_H 1 | #define HAVE_STRUCT_TM_TM_GMTOFF 1 | /* end confdefs.h. */ | #include | #ifdef HAVE_SYS_TYPES_H | # include | #endif | #ifdef HAVE_SYS_STAT_H | # include | #endif | #ifdef STDC_HEADERS | # include | # include | #else | # ifdef HAVE_STDLIB_H | # include | # endif | #endif | #ifdef HAVE_STRING_H | # if !defined STDC_HEADERS && defined HAVE_MEMORY_H | # include | # endif | # include | #endif | #ifdef HAVE_STRINGS_H | # include | #endif | #ifdef HAVE_INTTYPES_H | # include | #endif | #ifdef HAVE_STDINT_H | # include | #endif | #ifdef HAVE_UNISTD_H | # include | #endif | int | main () | { | static struct stat ac_aggr; | if (ac_aggr.st_birthtimespec.tv_nsec) | return 0; | ; | return 0; | } configure:16571: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 conftest.c: In function 'main': conftest.c:120:19: error: 'struct stat' has no member named 'st_birthtimespec' if (sizeof ac_aggr.st_birthtimespec.tv_nsec) ^ conftest.c:119:20: warning: variable 'ac_aggr' set but not used [-Wunused-but-set-variable] static struct stat ac_aggr; ^~~~~~~ configure:16571: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "libarchive" | #define PACKAGE_TARNAME "libarchive" | #define PACKAGE_VERSION "3.4.0" | #define PACKAGE_STRING "libarchive 3.4.0" | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com" | #define PACKAGE_URL "" | #define PACKAGE "libarchive" | #define VERSION "3.4.0" | #define LIBARCHIVE_VERSION_STRING "3.4.0" | #define LIBARCHIVE_VERSION_NUMBER "3004000" | #define BSDCPIO_VERSION_STRING "3.4.0" | #define BSDTAR_VERSION_STRING "3.4.0" | #define BSDCAT_VERSION_STRING "3.4.0" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define __EXTENSIONS__ 1 | #define _ALL_SOURCE 1 | #define _GNU_SOURCE 1 | #define _POSIX_PTHREAD_SEMANTICS 1 | #define _TANDEM_SOURCE 1 | #define LT_OBJDIR ".libs/" | #define HAVE_DIRENT_H 1 | #define HAVE_SYS_WAIT_H 1 | #define HAVE_CTYPE_H 1 | #define HAVE_ERRNO_H 1 | #define HAVE_FCNTL_H 1 | #define HAVE_GRP_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_LANGINFO_H 1 | #define HAVE_LIMITS_H 1 | #define HAVE_LINUX_FIEMAP_H 1 | #define HAVE_LINUX_FS_H 1 | #define HAVE_LINUX_MAGIC_H 1 | #define HAVE_LINUX_TYPES_H 1 | #define HAVE_WORKING_FS_IOC_GETFLAGS 1 | #define HAVE_LOCALE_H 1 | #define HAVE_PATHS_H 1 | #define HAVE_POLL_H 1 | #define HAVE_PTHREAD_H 1 | #define HAVE_PWD_H 1 | #define HAVE_SIGNAL_H 1 | #define HAVE_SPAWN_H 1 | #define HAVE_STDARG_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_SYS_CDEFS_H 1 | #define HAVE_SYS_IOCTL_H 1 | #define HAVE_SYS_MOUNT_H 1 | #define HAVE_SYS_PARAM_H 1 | #define HAVE_SYS_POLL_H 1 | #define HAVE_SYS_SELECT_H 1 | #define HAVE_SYS_STATFS_H 1 | #define HAVE_SYS_STATVFS_H 1 | #define HAVE_SYS_SYSMACROS_H 1 | #define HAVE_SYS_TIME_H 1 | #define HAVE_SYS_UTSNAME_H 1 | #define HAVE_SYS_VFS_H 1 | #define HAVE_SYS_XATTR_H 1 | #define HAVE_TIME_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_UTIME_H 1 | #define HAVE_WCHAR_H 1 | #define HAVE_WCTYPE_H 1 | #define HAVE_ICONV 1 | #define ICONV_CONST | #define HAVE_ICONV_H 1 | #define HAVE_LZMA_H 1 | #define HAVE_LIBLZMA 1 | #define HAVE_LZMA_STREAM_ENCODER_MT 1 | #define HAVE_REGEX_H 1 | #define HAVE_STRUCT_TM_TM_GMTOFF 1 | /* end confdefs.h. */ | #include | #ifdef HAVE_SYS_TYPES_H | # include | #endif | #ifdef HAVE_SYS_STAT_H | # include | #endif | #ifdef STDC_HEADERS | # include | # include | #else | # ifdef HAVE_STDLIB_H | # include | # endif | #endif | #ifdef HAVE_STRING_H | # if !defined STDC_HEADERS && defined HAVE_MEMORY_H | # include | # endif | # include | #endif | #ifdef HAVE_STRINGS_H | # include | #endif | #ifdef HAVE_INTTYPES_H | # include | #endif | #ifdef HAVE_STDINT_H | # include | #endif | #ifdef HAVE_UNISTD_H | # include | #endif | int | main () | { | static struct stat ac_aggr; | if (sizeof ac_aggr.st_birthtimespec.tv_nsec) | return 0; | ; | return 0; | } configure:16571: result: no configure:16581: checking for struct stat.st_mtimespec.tv_nsec configure:16581: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 conftest.c: In function 'main': conftest.c:120:13: error: 'struct stat' has no member named 'st_mtimespec'; did you mean 'st_mtim'? if (ac_aggr.st_mtimespec.tv_nsec) ^~~~~~~~~~~~ st_mtim conftest.c:119:20: warning: variable 'ac_aggr' set but not used [-Wunused-but-set-variable] static struct stat ac_aggr; ^~~~~~~ configure:16581: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "libarchive" | #define PACKAGE_TARNAME "libarchive" | #define PACKAGE_VERSION "3.4.0" | #define PACKAGE_STRING "libarchive 3.4.0" | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com" | #define PACKAGE_URL "" | #define PACKAGE "libarchive" | #define VERSION "3.4.0" | #define LIBARCHIVE_VERSION_STRING "3.4.0" | #define LIBARCHIVE_VERSION_NUMBER "3004000" | #define BSDCPIO_VERSION_STRING "3.4.0" | #define BSDTAR_VERSION_STRING "3.4.0" | #define BSDCAT_VERSION_STRING "3.4.0" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define __EXTENSIONS__ 1 | #define _ALL_SOURCE 1 | #define _GNU_SOURCE 1 | #define _POSIX_PTHREAD_SEMANTICS 1 | #define _TANDEM_SOURCE 1 | #define LT_OBJDIR ".libs/" | #define HAVE_DIRENT_H 1 | #define HAVE_SYS_WAIT_H 1 | #define HAVE_CTYPE_H 1 | #define HAVE_ERRNO_H 1 | #define HAVE_FCNTL_H 1 | #define HAVE_GRP_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_LANGINFO_H 1 | #define HAVE_LIMITS_H 1 | #define HAVE_LINUX_FIEMAP_H 1 | #define HAVE_LINUX_FS_H 1 | #define HAVE_LINUX_MAGIC_H 1 | #define HAVE_LINUX_TYPES_H 1 | #define HAVE_WORKING_FS_IOC_GETFLAGS 1 | #define HAVE_LOCALE_H 1 | #define HAVE_PATHS_H 1 | #define HAVE_POLL_H 1 | #define HAVE_PTHREAD_H 1 | #define HAVE_PWD_H 1 | #define HAVE_SIGNAL_H 1 | #define HAVE_SPAWN_H 1 | #define HAVE_STDARG_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_SYS_CDEFS_H 1 | #define HAVE_SYS_IOCTL_H 1 | #define HAVE_SYS_MOUNT_H 1 | #define HAVE_SYS_PARAM_H 1 | #define HAVE_SYS_POLL_H 1 | #define HAVE_SYS_SELECT_H 1 | #define HAVE_SYS_STATFS_H 1 | #define HAVE_SYS_STATVFS_H 1 | #define HAVE_SYS_SYSMACROS_H 1 | #define HAVE_SYS_TIME_H 1 | #define HAVE_SYS_UTSNAME_H 1 | #define HAVE_SYS_VFS_H 1 | #define HAVE_SYS_XATTR_H 1 | #define HAVE_TIME_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_UTIME_H 1 | #define HAVE_WCHAR_H 1 | #define HAVE_WCTYPE_H 1 | #define HAVE_ICONV 1 | #define ICONV_CONST | #define HAVE_ICONV_H 1 | #define HAVE_LZMA_H 1 | #define HAVE_LIBLZMA 1 | #define HAVE_LZMA_STREAM_ENCODER_MT 1 | #define HAVE_REGEX_H 1 | #define HAVE_STRUCT_TM_TM_GMTOFF 1 | /* end confdefs.h. */ | #include | #ifdef HAVE_SYS_TYPES_H | # include | #endif | #ifdef HAVE_SYS_STAT_H | # include | #endif | #ifdef STDC_HEADERS | # include | # include | #else | # ifdef HAVE_STDLIB_H | # include | # endif | #endif | #ifdef HAVE_STRING_H | # if !defined STDC_HEADERS && defined HAVE_MEMORY_H | # include | # endif | # include | #endif | #ifdef HAVE_STRINGS_H | # include | #endif | #ifdef HAVE_INTTYPES_H | # include | #endif | #ifdef HAVE_STDINT_H | # include | #endif | #ifdef HAVE_UNISTD_H | # include | #endif | int | main () | { | static struct stat ac_aggr; | if (ac_aggr.st_mtimespec.tv_nsec) | return 0; | ; | return 0; | } configure:16581: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 conftest.c: In function 'main': conftest.c:120:20: error: 'struct stat' has no member named 'st_mtimespec'; did you mean 'st_mtim'? if (sizeof ac_aggr.st_mtimespec.tv_nsec) ^~~~~~~~~~~~ st_mtim conftest.c:119:20: warning: variable 'ac_aggr' set but not used [-Wunused-but-set-variable] static struct stat ac_aggr; ^~~~~~~ configure:16581: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "libarchive" | #define PACKAGE_TARNAME "libarchive" | #define PACKAGE_VERSION "3.4.0" | #define PACKAGE_STRING "libarchive 3.4.0" | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com" | #define PACKAGE_URL "" | #define PACKAGE "libarchive" | #define VERSION "3.4.0" | #define LIBARCHIVE_VERSION_STRING "3.4.0" | #define LIBARCHIVE_VERSION_NUMBER "3004000" | #define BSDCPIO_VERSION_STRING "3.4.0" | #define BSDTAR_VERSION_STRING "3.4.0" | #define BSDCAT_VERSION_STRING "3.4.0" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define __EXTENSIONS__ 1 | #define _ALL_SOURCE 1 | #define _GNU_SOURCE 1 | #define _POSIX_PTHREAD_SEMANTICS 1 | #define _TANDEM_SOURCE 1 | #define LT_OBJDIR ".libs/" | #define HAVE_DIRENT_H 1 | #define HAVE_SYS_WAIT_H 1 | #define HAVE_CTYPE_H 1 | #define HAVE_ERRNO_H 1 | #define HAVE_FCNTL_H 1 | #define HAVE_GRP_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_LANGINFO_H 1 | #define HAVE_LIMITS_H 1 | #define HAVE_LINUX_FIEMAP_H 1 | #define HAVE_LINUX_FS_H 1 | #define HAVE_LINUX_MAGIC_H 1 | #define HAVE_LINUX_TYPES_H 1 | #define HAVE_WORKING_FS_IOC_GETFLAGS 1 | #define HAVE_LOCALE_H 1 | #define HAVE_PATHS_H 1 | #define HAVE_POLL_H 1 | #define HAVE_PTHREAD_H 1 | #define HAVE_PWD_H 1 | #define HAVE_SIGNAL_H 1 | #define HAVE_SPAWN_H 1 | #define HAVE_STDARG_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_SYS_CDEFS_H 1 | #define HAVE_SYS_IOCTL_H 1 | #define HAVE_SYS_MOUNT_H 1 | #define HAVE_SYS_PARAM_H 1 | #define HAVE_SYS_POLL_H 1 | #define HAVE_SYS_SELECT_H 1 | #define HAVE_SYS_STATFS_H 1 | #define HAVE_SYS_STATVFS_H 1 | #define HAVE_SYS_SYSMACROS_H 1 | #define HAVE_SYS_TIME_H 1 | #define HAVE_SYS_UTSNAME_H 1 | #define HAVE_SYS_VFS_H 1 | #define HAVE_SYS_XATTR_H 1 | #define HAVE_TIME_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_UTIME_H 1 | #define HAVE_WCHAR_H 1 | #define HAVE_WCTYPE_H 1 | #define HAVE_ICONV 1 | #define ICONV_CONST | #define HAVE_ICONV_H 1 | #define HAVE_LZMA_H 1 | #define HAVE_LIBLZMA 1 | #define HAVE_LZMA_STREAM_ENCODER_MT 1 | #define HAVE_REGEX_H 1 | #define HAVE_STRUCT_TM_TM_GMTOFF 1 | /* end confdefs.h. */ | #include | #ifdef HAVE_SYS_TYPES_H | # include | #endif | #ifdef HAVE_SYS_STAT_H | # include | #endif | #ifdef STDC_HEADERS | # include | # include | #else | # ifdef HAVE_STDLIB_H | # include | # endif | #endif | #ifdef HAVE_STRING_H | # if !defined STDC_HEADERS && defined HAVE_MEMORY_H | # include | # endif | # include | #endif | #ifdef HAVE_STRINGS_H | # include | #endif | #ifdef HAVE_INTTYPES_H | # include | #endif | #ifdef HAVE_STDINT_H | # include | #endif | #ifdef HAVE_UNISTD_H | # include | #endif | int | main () | { | static struct stat ac_aggr; | if (sizeof ac_aggr.st_mtimespec.tv_nsec) | return 0; | ; | return 0; | } configure:16581: result: no configure:16591: checking for struct stat.st_mtim.tv_nsec configure:16591: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 configure:16591: $? = 0 configure:16591: result: yes configure:16601: checking for struct stat.st_mtime_n configure:16601: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 conftest.c: In function 'main': conftest.c:121:13: error: 'struct stat' has no member named 'st_mtime_n'; did you mean 'st_mtim'? if (ac_aggr.st_mtime_n) ^~~~~~~~~~ st_mtim conftest.c:120:20: warning: variable 'ac_aggr' set but not used [-Wunused-but-set-variable] static struct stat ac_aggr; ^~~~~~~ configure:16601: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "libarchive" | #define PACKAGE_TARNAME "libarchive" | #define PACKAGE_VERSION "3.4.0" | #define PACKAGE_STRING "libarchive 3.4.0" | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com" | #define PACKAGE_URL "" | #define PACKAGE "libarchive" | #define VERSION "3.4.0" | #define LIBARCHIVE_VERSION_STRING "3.4.0" | #define LIBARCHIVE_VERSION_NUMBER "3004000" | #define BSDCPIO_VERSION_STRING "3.4.0" | #define BSDTAR_VERSION_STRING "3.4.0" | #define BSDCAT_VERSION_STRING "3.4.0" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define __EXTENSIONS__ 1 | #define _ALL_SOURCE 1 | #define _GNU_SOURCE 1 | #define _POSIX_PTHREAD_SEMANTICS 1 | #define _TANDEM_SOURCE 1 | #define LT_OBJDIR ".libs/" | #define HAVE_DIRENT_H 1 | #define HAVE_SYS_WAIT_H 1 | #define HAVE_CTYPE_H 1 | #define HAVE_ERRNO_H 1 | #define HAVE_FCNTL_H 1 | #define HAVE_GRP_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_LANGINFO_H 1 | #define HAVE_LIMITS_H 1 | #define HAVE_LINUX_FIEMAP_H 1 | #define HAVE_LINUX_FS_H 1 | #define HAVE_LINUX_MAGIC_H 1 | #define HAVE_LINUX_TYPES_H 1 | #define HAVE_WORKING_FS_IOC_GETFLAGS 1 | #define HAVE_LOCALE_H 1 | #define HAVE_PATHS_H 1 | #define HAVE_POLL_H 1 | #define HAVE_PTHREAD_H 1 | #define HAVE_PWD_H 1 | #define HAVE_SIGNAL_H 1 | #define HAVE_SPAWN_H 1 | #define HAVE_STDARG_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_SYS_CDEFS_H 1 | #define HAVE_SYS_IOCTL_H 1 | #define HAVE_SYS_MOUNT_H 1 | #define HAVE_SYS_PARAM_H 1 | #define HAVE_SYS_POLL_H 1 | #define HAVE_SYS_SELECT_H 1 | #define HAVE_SYS_STATFS_H 1 | #define HAVE_SYS_STATVFS_H 1 | #define HAVE_SYS_SYSMACROS_H 1 | #define HAVE_SYS_TIME_H 1 | #define HAVE_SYS_UTSNAME_H 1 | #define HAVE_SYS_VFS_H 1 | #define HAVE_SYS_XATTR_H 1 | #define HAVE_TIME_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_UTIME_H 1 | #define HAVE_WCHAR_H 1 | #define HAVE_WCTYPE_H 1 | #define HAVE_ICONV 1 | #define ICONV_CONST | #define HAVE_ICONV_H 1 | #define HAVE_LZMA_H 1 | #define HAVE_LIBLZMA 1 | #define HAVE_LZMA_STREAM_ENCODER_MT 1 | #define HAVE_REGEX_H 1 | #define HAVE_STRUCT_TM_TM_GMTOFF 1 | #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1 | /* end confdefs.h. */ | #include | #ifdef HAVE_SYS_TYPES_H | # include | #endif | #ifdef HAVE_SYS_STAT_H | # include | #endif | #ifdef STDC_HEADERS | # include | # include | #else | # ifdef HAVE_STDLIB_H | # include | # endif | #endif | #ifdef HAVE_STRING_H | # if !defined STDC_HEADERS && defined HAVE_MEMORY_H | # include | # endif | # include | #endif | #ifdef HAVE_STRINGS_H | # include | #endif | #ifdef HAVE_INTTYPES_H | # include | #endif | #ifdef HAVE_STDINT_H | # include | #endif | #ifdef HAVE_UNISTD_H | # include | #endif | int | main () | { | static struct stat ac_aggr; | if (ac_aggr.st_mtime_n) | return 0; | ; | return 0; | } configure:16601: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 conftest.c: In function 'main': conftest.c:121:20: error: 'struct stat' has no member named 'st_mtime_n'; did you mean 'st_mtim'? if (sizeof ac_aggr.st_mtime_n) ^~~~~~~~~~ st_mtim conftest.c:120:20: warning: variable 'ac_aggr' set but not used [-Wunused-but-set-variable] static struct stat ac_aggr; ^~~~~~~ configure:16601: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "libarchive" | #define PACKAGE_TARNAME "libarchive" | #define PACKAGE_VERSION "3.4.0" | #define PACKAGE_STRING "libarchive 3.4.0" | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com" | #define PACKAGE_URL "" | #define PACKAGE "libarchive" | #define VERSION "3.4.0" | #define LIBARCHIVE_VERSION_STRING "3.4.0" | #define LIBARCHIVE_VERSION_NUMBER "3004000" | #define BSDCPIO_VERSION_STRING "3.4.0" | #define BSDTAR_VERSION_STRING "3.4.0" | #define BSDCAT_VERSION_STRING "3.4.0" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define __EXTENSIONS__ 1 | #define _ALL_SOURCE 1 | #define _GNU_SOURCE 1 | #define _POSIX_PTHREAD_SEMANTICS 1 | #define _TANDEM_SOURCE 1 | #define LT_OBJDIR ".libs/" | #define HAVE_DIRENT_H 1 | #define HAVE_SYS_WAIT_H 1 | #define HAVE_CTYPE_H 1 | #define HAVE_ERRNO_H 1 | #define HAVE_FCNTL_H 1 | #define HAVE_GRP_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_LANGINFO_H 1 | #define HAVE_LIMITS_H 1 | #define HAVE_LINUX_FIEMAP_H 1 | #define HAVE_LINUX_FS_H 1 | #define HAVE_LINUX_MAGIC_H 1 | #define HAVE_LINUX_TYPES_H 1 | #define HAVE_WORKING_FS_IOC_GETFLAGS 1 | #define HAVE_LOCALE_H 1 | #define HAVE_PATHS_H 1 | #define HAVE_POLL_H 1 | #define HAVE_PTHREAD_H 1 | #define HAVE_PWD_H 1 | #define HAVE_SIGNAL_H 1 | #define HAVE_SPAWN_H 1 | #define HAVE_STDARG_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_SYS_CDEFS_H 1 | #define HAVE_SYS_IOCTL_H 1 | #define HAVE_SYS_MOUNT_H 1 | #define HAVE_SYS_PARAM_H 1 | #define HAVE_SYS_POLL_H 1 | #define HAVE_SYS_SELECT_H 1 | #define HAVE_SYS_STATFS_H 1 | #define HAVE_SYS_STATVFS_H 1 | #define HAVE_SYS_SYSMACROS_H 1 | #define HAVE_SYS_TIME_H 1 | #define HAVE_SYS_UTSNAME_H 1 | #define HAVE_SYS_VFS_H 1 | #define HAVE_SYS_XATTR_H 1 | #define HAVE_TIME_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_UTIME_H 1 | #define HAVE_WCHAR_H 1 | #define HAVE_WCTYPE_H 1 | #define HAVE_ICONV 1 | #define ICONV_CONST | #define HAVE_ICONV_H 1 | #define HAVE_LZMA_H 1 | #define HAVE_LIBLZMA 1 | #define HAVE_LZMA_STREAM_ENCODER_MT 1 | #define HAVE_REGEX_H 1 | #define HAVE_STRUCT_TM_TM_GMTOFF 1 | #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1 | /* end confdefs.h. */ | #include | #ifdef HAVE_SYS_TYPES_H | # include | #endif | #ifdef HAVE_SYS_STAT_H | # include | #endif | #ifdef STDC_HEADERS | # include | # include | #else | # ifdef HAVE_STDLIB_H | # include | # endif | #endif | #ifdef HAVE_STRING_H | # if !defined STDC_HEADERS && defined HAVE_MEMORY_H | # include | # endif | # include | #endif | #ifdef HAVE_STRINGS_H | # include | #endif | #ifdef HAVE_INTTYPES_H | # include | #endif | #ifdef HAVE_STDINT_H | # include | #endif | #ifdef HAVE_UNISTD_H | # include | #endif | int | main () | { | static struct stat ac_aggr; | if (sizeof ac_aggr.st_mtime_n) | return 0; | ; | return 0; | } configure:16601: result: no configure:16611: checking for struct stat.st_umtime configure:16611: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 conftest.c: In function 'main': conftest.c:121:13: error: 'struct stat' has no member named 'st_umtime'; did you mean 'st_mtim'? if (ac_aggr.st_umtime) ^~~~~~~~~ st_mtim conftest.c:120:20: warning: variable 'ac_aggr' set but not used [-Wunused-but-set-variable] static struct stat ac_aggr; ^~~~~~~ configure:16611: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "libarchive" | #define PACKAGE_TARNAME "libarchive" | #define PACKAGE_VERSION "3.4.0" | #define PACKAGE_STRING "libarchive 3.4.0" | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com" | #define PACKAGE_URL "" | #define PACKAGE "libarchive" | #define VERSION "3.4.0" | #define LIBARCHIVE_VERSION_STRING "3.4.0" | #define LIBARCHIVE_VERSION_NUMBER "3004000" | #define BSDCPIO_VERSION_STRING "3.4.0" | #define BSDTAR_VERSION_STRING "3.4.0" | #define BSDCAT_VERSION_STRING "3.4.0" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define __EXTENSIONS__ 1 | #define _ALL_SOURCE 1 | #define _GNU_SOURCE 1 | #define _POSIX_PTHREAD_SEMANTICS 1 | #define _TANDEM_SOURCE 1 | #define LT_OBJDIR ".libs/" | #define HAVE_DIRENT_H 1 | #define HAVE_SYS_WAIT_H 1 | #define HAVE_CTYPE_H 1 | #define HAVE_ERRNO_H 1 | #define HAVE_FCNTL_H 1 | #define HAVE_GRP_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_LANGINFO_H 1 | #define HAVE_LIMITS_H 1 | #define HAVE_LINUX_FIEMAP_H 1 | #define HAVE_LINUX_FS_H 1 | #define HAVE_LINUX_MAGIC_H 1 | #define HAVE_LINUX_TYPES_H 1 | #define HAVE_WORKING_FS_IOC_GETFLAGS 1 | #define HAVE_LOCALE_H 1 | #define HAVE_PATHS_H 1 | #define HAVE_POLL_H 1 | #define HAVE_PTHREAD_H 1 | #define HAVE_PWD_H 1 | #define HAVE_SIGNAL_H 1 | #define HAVE_SPAWN_H 1 | #define HAVE_STDARG_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_SYS_CDEFS_H 1 | #define HAVE_SYS_IOCTL_H 1 | #define HAVE_SYS_MOUNT_H 1 | #define HAVE_SYS_PARAM_H 1 | #define HAVE_SYS_POLL_H 1 | #define HAVE_SYS_SELECT_H 1 | #define HAVE_SYS_STATFS_H 1 | #define HAVE_SYS_STATVFS_H 1 | #define HAVE_SYS_SYSMACROS_H 1 | #define HAVE_SYS_TIME_H 1 | #define HAVE_SYS_UTSNAME_H 1 | #define HAVE_SYS_VFS_H 1 | #define HAVE_SYS_XATTR_H 1 | #define HAVE_TIME_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_UTIME_H 1 | #define HAVE_WCHAR_H 1 | #define HAVE_WCTYPE_H 1 | #define HAVE_ICONV 1 | #define ICONV_CONST | #define HAVE_ICONV_H 1 | #define HAVE_LZMA_H 1 | #define HAVE_LIBLZMA 1 | #define HAVE_LZMA_STREAM_ENCODER_MT 1 | #define HAVE_REGEX_H 1 | #define HAVE_STRUCT_TM_TM_GMTOFF 1 | #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1 | /* end confdefs.h. */ | #include | #ifdef HAVE_SYS_TYPES_H | # include | #endif | #ifdef HAVE_SYS_STAT_H | # include | #endif | #ifdef STDC_HEADERS | # include | # include | #else | # ifdef HAVE_STDLIB_H | # include | # endif | #endif | #ifdef HAVE_STRING_H | # if !defined STDC_HEADERS && defined HAVE_MEMORY_H | # include | # endif | # include | #endif | #ifdef HAVE_STRINGS_H | # include | #endif | #ifdef HAVE_INTTYPES_H | # include | #endif | #ifdef HAVE_STDINT_H | # include | #endif | #ifdef HAVE_UNISTD_H | # include | #endif | int | main () | { | static struct stat ac_aggr; | if (ac_aggr.st_umtime) | return 0; | ; | return 0; | } configure:16611: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 conftest.c: In function 'main': conftest.c:121:20: error: 'struct stat' has no member named 'st_umtime'; did you mean 'st_mtim'? if (sizeof ac_aggr.st_umtime) ^~~~~~~~~ st_mtim conftest.c:120:20: warning: variable 'ac_aggr' set but not used [-Wunused-but-set-variable] static struct stat ac_aggr; ^~~~~~~ configure:16611: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "libarchive" | #define PACKAGE_TARNAME "libarchive" | #define PACKAGE_VERSION "3.4.0" | #define PACKAGE_STRING "libarchive 3.4.0" | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com" | #define PACKAGE_URL "" | #define PACKAGE "libarchive" | #define VERSION "3.4.0" | #define LIBARCHIVE_VERSION_STRING "3.4.0" | #define LIBARCHIVE_VERSION_NUMBER "3004000" | #define BSDCPIO_VERSION_STRING "3.4.0" | #define BSDTAR_VERSION_STRING "3.4.0" | #define BSDCAT_VERSION_STRING "3.4.0" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define __EXTENSIONS__ 1 | #define _ALL_SOURCE 1 | #define _GNU_SOURCE 1 | #define _POSIX_PTHREAD_SEMANTICS 1 | #define _TANDEM_SOURCE 1 | #define LT_OBJDIR ".libs/" | #define HAVE_DIRENT_H 1 | #define HAVE_SYS_WAIT_H 1 | #define HAVE_CTYPE_H 1 | #define HAVE_ERRNO_H 1 | #define HAVE_FCNTL_H 1 | #define HAVE_GRP_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_LANGINFO_H 1 | #define HAVE_LIMITS_H 1 | #define HAVE_LINUX_FIEMAP_H 1 | #define HAVE_LINUX_FS_H 1 | #define HAVE_LINUX_MAGIC_H 1 | #define HAVE_LINUX_TYPES_H 1 | #define HAVE_WORKING_FS_IOC_GETFLAGS 1 | #define HAVE_LOCALE_H 1 | #define HAVE_PATHS_H 1 | #define HAVE_POLL_H 1 | #define HAVE_PTHREAD_H 1 | #define HAVE_PWD_H 1 | #define HAVE_SIGNAL_H 1 | #define HAVE_SPAWN_H 1 | #define HAVE_STDARG_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_SYS_CDEFS_H 1 | #define HAVE_SYS_IOCTL_H 1 | #define HAVE_SYS_MOUNT_H 1 | #define HAVE_SYS_PARAM_H 1 | #define HAVE_SYS_POLL_H 1 | #define HAVE_SYS_SELECT_H 1 | #define HAVE_SYS_STATFS_H 1 | #define HAVE_SYS_STATVFS_H 1 | #define HAVE_SYS_SYSMACROS_H 1 | #define HAVE_SYS_TIME_H 1 | #define HAVE_SYS_UTSNAME_H 1 | #define HAVE_SYS_VFS_H 1 | #define HAVE_SYS_XATTR_H 1 | #define HAVE_TIME_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_UTIME_H 1 | #define HAVE_WCHAR_H 1 | #define HAVE_WCTYPE_H 1 | #define HAVE_ICONV 1 | #define ICONV_CONST | #define HAVE_ICONV_H 1 | #define HAVE_LZMA_H 1 | #define HAVE_LIBLZMA 1 | #define HAVE_LZMA_STREAM_ENCODER_MT 1 | #define HAVE_REGEX_H 1 | #define HAVE_STRUCT_TM_TM_GMTOFF 1 | #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1 | /* end confdefs.h. */ | #include | #ifdef HAVE_SYS_TYPES_H | # include | #endif | #ifdef HAVE_SYS_STAT_H | # include | #endif | #ifdef STDC_HEADERS | # include | # include | #else | # ifdef HAVE_STDLIB_H | # include | # endif | #endif | #ifdef HAVE_STRING_H | # if !defined STDC_HEADERS && defined HAVE_MEMORY_H | # include | # endif | # include | #endif | #ifdef HAVE_STRINGS_H | # include | #endif | #ifdef HAVE_INTTYPES_H | # include | #endif | #ifdef HAVE_STDINT_H | # include | #endif | #ifdef HAVE_UNISTD_H | # include | #endif | int | main () | { | static struct stat ac_aggr; | if (sizeof ac_aggr.st_umtime) | return 0; | ; | return 0; | } configure:16611: result: no configure:16621: checking for struct stat.st_mtime_usec configure:16621: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 conftest.c: In function 'main': conftest.c:121:13: error: 'struct stat' has no member named 'st_mtime_usec'; did you mean 'st_mtim'? if (ac_aggr.st_mtime_usec) ^~~~~~~~~~~~~ st_mtim conftest.c:120:20: warning: variable 'ac_aggr' set but not used [-Wunused-but-set-variable] static struct stat ac_aggr; ^~~~~~~ configure:16621: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "libarchive" | #define PACKAGE_TARNAME "libarchive" | #define PACKAGE_VERSION "3.4.0" | #define PACKAGE_STRING "libarchive 3.4.0" | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com" | #define PACKAGE_URL "" | #define PACKAGE "libarchive" | #define VERSION "3.4.0" | #define LIBARCHIVE_VERSION_STRING "3.4.0" | #define LIBARCHIVE_VERSION_NUMBER "3004000" | #define BSDCPIO_VERSION_STRING "3.4.0" | #define BSDTAR_VERSION_STRING "3.4.0" | #define BSDCAT_VERSION_STRING "3.4.0" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define __EXTENSIONS__ 1 | #define _ALL_SOURCE 1 | #define _GNU_SOURCE 1 | #define _POSIX_PTHREAD_SEMANTICS 1 | #define _TANDEM_SOURCE 1 | #define LT_OBJDIR ".libs/" | #define HAVE_DIRENT_H 1 | #define HAVE_SYS_WAIT_H 1 | #define HAVE_CTYPE_H 1 | #define HAVE_ERRNO_H 1 | #define HAVE_FCNTL_H 1 | #define HAVE_GRP_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_LANGINFO_H 1 | #define HAVE_LIMITS_H 1 | #define HAVE_LINUX_FIEMAP_H 1 | #define HAVE_LINUX_FS_H 1 | #define HAVE_LINUX_MAGIC_H 1 | #define HAVE_LINUX_TYPES_H 1 | #define HAVE_WORKING_FS_IOC_GETFLAGS 1 | #define HAVE_LOCALE_H 1 | #define HAVE_PATHS_H 1 | #define HAVE_POLL_H 1 | #define HAVE_PTHREAD_H 1 | #define HAVE_PWD_H 1 | #define HAVE_SIGNAL_H 1 | #define HAVE_SPAWN_H 1 | #define HAVE_STDARG_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_SYS_CDEFS_H 1 | #define HAVE_SYS_IOCTL_H 1 | #define HAVE_SYS_MOUNT_H 1 | #define HAVE_SYS_PARAM_H 1 | #define HAVE_SYS_POLL_H 1 | #define HAVE_SYS_SELECT_H 1 | #define HAVE_SYS_STATFS_H 1 | #define HAVE_SYS_STATVFS_H 1 | #define HAVE_SYS_SYSMACROS_H 1 | #define HAVE_SYS_TIME_H 1 | #define HAVE_SYS_UTSNAME_H 1 | #define HAVE_SYS_VFS_H 1 | #define HAVE_SYS_XATTR_H 1 | #define HAVE_TIME_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_UTIME_H 1 | #define HAVE_WCHAR_H 1 | #define HAVE_WCTYPE_H 1 | #define HAVE_ICONV 1 | #define ICONV_CONST | #define HAVE_ICONV_H 1 | #define HAVE_LZMA_H 1 | #define HAVE_LIBLZMA 1 | #define HAVE_LZMA_STREAM_ENCODER_MT 1 | #define HAVE_REGEX_H 1 | #define HAVE_STRUCT_TM_TM_GMTOFF 1 | #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1 | /* end confdefs.h. */ | #include | #ifdef HAVE_SYS_TYPES_H | # include | #endif | #ifdef HAVE_SYS_STAT_H | # include | #endif | #ifdef STDC_HEADERS | # include | # include | #else | # ifdef HAVE_STDLIB_H | # include | # endif | #endif | #ifdef HAVE_STRING_H | # if !defined STDC_HEADERS && defined HAVE_MEMORY_H | # include | # endif | # include | #endif | #ifdef HAVE_STRINGS_H | # include | #endif | #ifdef HAVE_INTTYPES_H | # include | #endif | #ifdef HAVE_STDINT_H | # include | #endif | #ifdef HAVE_UNISTD_H | # include | #endif | int | main () | { | static struct stat ac_aggr; | if (ac_aggr.st_mtime_usec) | return 0; | ; | return 0; | } configure:16621: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 conftest.c: In function 'main': conftest.c:121:20: error: 'struct stat' has no member named 'st_mtime_usec'; did you mean 'st_mtim'? if (sizeof ac_aggr.st_mtime_usec) ^~~~~~~~~~~~~ st_mtim conftest.c:120:20: warning: variable 'ac_aggr' set but not used [-Wunused-but-set-variable] static struct stat ac_aggr; ^~~~~~~ configure:16621: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "libarchive" | #define PACKAGE_TARNAME "libarchive" | #define PACKAGE_VERSION "3.4.0" | #define PACKAGE_STRING "libarchive 3.4.0" | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com" | #define PACKAGE_URL "" | #define PACKAGE "libarchive" | #define VERSION "3.4.0" | #define LIBARCHIVE_VERSION_STRING "3.4.0" | #define LIBARCHIVE_VERSION_NUMBER "3004000" | #define BSDCPIO_VERSION_STRING "3.4.0" | #define BSDTAR_VERSION_STRING "3.4.0" | #define BSDCAT_VERSION_STRING "3.4.0" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define __EXTENSIONS__ 1 | #define _ALL_SOURCE 1 | #define _GNU_SOURCE 1 | #define _POSIX_PTHREAD_SEMANTICS 1 | #define _TANDEM_SOURCE 1 | #define LT_OBJDIR ".libs/" | #define HAVE_DIRENT_H 1 | #define HAVE_SYS_WAIT_H 1 | #define HAVE_CTYPE_H 1 | #define HAVE_ERRNO_H 1 | #define HAVE_FCNTL_H 1 | #define HAVE_GRP_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_LANGINFO_H 1 | #define HAVE_LIMITS_H 1 | #define HAVE_LINUX_FIEMAP_H 1 | #define HAVE_LINUX_FS_H 1 | #define HAVE_LINUX_MAGIC_H 1 | #define HAVE_LINUX_TYPES_H 1 | #define HAVE_WORKING_FS_IOC_GETFLAGS 1 | #define HAVE_LOCALE_H 1 | #define HAVE_PATHS_H 1 | #define HAVE_POLL_H 1 | #define HAVE_PTHREAD_H 1 | #define HAVE_PWD_H 1 | #define HAVE_SIGNAL_H 1 | #define HAVE_SPAWN_H 1 | #define HAVE_STDARG_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_SYS_CDEFS_H 1 | #define HAVE_SYS_IOCTL_H 1 | #define HAVE_SYS_MOUNT_H 1 | #define HAVE_SYS_PARAM_H 1 | #define HAVE_SYS_POLL_H 1 | #define HAVE_SYS_SELECT_H 1 | #define HAVE_SYS_STATFS_H 1 | #define HAVE_SYS_STATVFS_H 1 | #define HAVE_SYS_SYSMACROS_H 1 | #define HAVE_SYS_TIME_H 1 | #define HAVE_SYS_UTSNAME_H 1 | #define HAVE_SYS_VFS_H 1 | #define HAVE_SYS_XATTR_H 1 | #define HAVE_TIME_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_UTIME_H 1 | #define HAVE_WCHAR_H 1 | #define HAVE_WCTYPE_H 1 | #define HAVE_ICONV 1 | #define ICONV_CONST | #define HAVE_ICONV_H 1 | #define HAVE_LZMA_H 1 | #define HAVE_LIBLZMA 1 | #define HAVE_LZMA_STREAM_ENCODER_MT 1 | #define HAVE_REGEX_H 1 | #define HAVE_STRUCT_TM_TM_GMTOFF 1 | #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1 | /* end confdefs.h. */ | #include | #ifdef HAVE_SYS_TYPES_H | # include | #endif | #ifdef HAVE_SYS_STAT_H | # include | #endif | #ifdef STDC_HEADERS | # include | # include | #else | # ifdef HAVE_STDLIB_H | # include | # endif | #endif | #ifdef HAVE_STRING_H | # if !defined STDC_HEADERS && defined HAVE_MEMORY_H | # include | # endif | # include | #endif | #ifdef HAVE_STRINGS_H | # include | #endif | #ifdef HAVE_INTTYPES_H | # include | #endif | #ifdef HAVE_STDINT_H | # include | #endif | #ifdef HAVE_UNISTD_H | # include | #endif | int | main () | { | static struct stat ac_aggr; | if (sizeof ac_aggr.st_mtime_usec) | return 0; | ; | return 0; | } configure:16621: result: no configure:16632: checking for struct stat.st_blksize configure:16632: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 configure:16632: $? = 0 configure:16632: result: yes configure:16643: checking for struct stat.st_flags configure:16643: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 conftest.c: In function 'main': conftest.c:122:13: error: 'struct stat' has no member named 'st_flags'; did you mean 'st_nlink'? if (ac_aggr.st_flags) ^~~~~~~~ st_nlink conftest.c:121:20: warning: variable 'ac_aggr' set but not used [-Wunused-but-set-variable] static struct stat ac_aggr; ^~~~~~~ configure:16643: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "libarchive" | #define PACKAGE_TARNAME "libarchive" | #define PACKAGE_VERSION "3.4.0" | #define PACKAGE_STRING "libarchive 3.4.0" | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com" | #define PACKAGE_URL "" | #define PACKAGE "libarchive" | #define VERSION "3.4.0" | #define LIBARCHIVE_VERSION_STRING "3.4.0" | #define LIBARCHIVE_VERSION_NUMBER "3004000" | #define BSDCPIO_VERSION_STRING "3.4.0" | #define BSDTAR_VERSION_STRING "3.4.0" | #define BSDCAT_VERSION_STRING "3.4.0" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define __EXTENSIONS__ 1 | #define _ALL_SOURCE 1 | #define _GNU_SOURCE 1 | #define _POSIX_PTHREAD_SEMANTICS 1 | #define _TANDEM_SOURCE 1 | #define LT_OBJDIR ".libs/" | #define HAVE_DIRENT_H 1 | #define HAVE_SYS_WAIT_H 1 | #define HAVE_CTYPE_H 1 | #define HAVE_ERRNO_H 1 | #define HAVE_FCNTL_H 1 | #define HAVE_GRP_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_LANGINFO_H 1 | #define HAVE_LIMITS_H 1 | #define HAVE_LINUX_FIEMAP_H 1 | #define HAVE_LINUX_FS_H 1 | #define HAVE_LINUX_MAGIC_H 1 | #define HAVE_LINUX_TYPES_H 1 | #define HAVE_WORKING_FS_IOC_GETFLAGS 1 | #define HAVE_LOCALE_H 1 | #define HAVE_PATHS_H 1 | #define HAVE_POLL_H 1 | #define HAVE_PTHREAD_H 1 | #define HAVE_PWD_H 1 | #define HAVE_SIGNAL_H 1 | #define HAVE_SPAWN_H 1 | #define HAVE_STDARG_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_SYS_CDEFS_H 1 | #define HAVE_SYS_IOCTL_H 1 | #define HAVE_SYS_MOUNT_H 1 | #define HAVE_SYS_PARAM_H 1 | #define HAVE_SYS_POLL_H 1 | #define HAVE_SYS_SELECT_H 1 | #define HAVE_SYS_STATFS_H 1 | #define HAVE_SYS_STATVFS_H 1 | #define HAVE_SYS_SYSMACROS_H 1 | #define HAVE_SYS_TIME_H 1 | #define HAVE_SYS_UTSNAME_H 1 | #define HAVE_SYS_VFS_H 1 | #define HAVE_SYS_XATTR_H 1 | #define HAVE_TIME_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_UTIME_H 1 | #define HAVE_WCHAR_H 1 | #define HAVE_WCTYPE_H 1 | #define HAVE_ICONV 1 | #define ICONV_CONST | #define HAVE_ICONV_H 1 | #define HAVE_LZMA_H 1 | #define HAVE_LIBLZMA 1 | #define HAVE_LZMA_STREAM_ENCODER_MT 1 | #define HAVE_REGEX_H 1 | #define HAVE_STRUCT_TM_TM_GMTOFF 1 | #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1 | #define HAVE_STRUCT_STAT_ST_BLKSIZE 1 | /* end confdefs.h. */ | #include | #ifdef HAVE_SYS_TYPES_H | # include | #endif | #ifdef HAVE_SYS_STAT_H | # include | #endif | #ifdef STDC_HEADERS | # include | # include | #else | # ifdef HAVE_STDLIB_H | # include | # endif | #endif | #ifdef HAVE_STRING_H | # if !defined STDC_HEADERS && defined HAVE_MEMORY_H | # include | # endif | # include | #endif | #ifdef HAVE_STRINGS_H | # include | #endif | #ifdef HAVE_INTTYPES_H | # include | #endif | #ifdef HAVE_STDINT_H | # include | #endif | #ifdef HAVE_UNISTD_H | # include | #endif | int | main () | { | static struct stat ac_aggr; | if (ac_aggr.st_flags) | return 0; | ; | return 0; | } configure:16643: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 conftest.c: In function 'main': conftest.c:122:20: error: 'struct stat' has no member named 'st_flags'; did you mean 'st_nlink'? if (sizeof ac_aggr.st_flags) ^~~~~~~~ st_nlink conftest.c:121:20: warning: variable 'ac_aggr' set but not used [-Wunused-but-set-variable] static struct stat ac_aggr; ^~~~~~~ configure:16643: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "libarchive" | #define PACKAGE_TARNAME "libarchive" | #define PACKAGE_VERSION "3.4.0" | #define PACKAGE_STRING "libarchive 3.4.0" | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com" | #define PACKAGE_URL "" | #define PACKAGE "libarchive" | #define VERSION "3.4.0" | #define LIBARCHIVE_VERSION_STRING "3.4.0" | #define LIBARCHIVE_VERSION_NUMBER "3004000" | #define BSDCPIO_VERSION_STRING "3.4.0" | #define BSDTAR_VERSION_STRING "3.4.0" | #define BSDCAT_VERSION_STRING "3.4.0" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define __EXTENSIONS__ 1 | #define _ALL_SOURCE 1 | #define _GNU_SOURCE 1 | #define _POSIX_PTHREAD_SEMANTICS 1 | #define _TANDEM_SOURCE 1 | #define LT_OBJDIR ".libs/" | #define HAVE_DIRENT_H 1 | #define HAVE_SYS_WAIT_H 1 | #define HAVE_CTYPE_H 1 | #define HAVE_ERRNO_H 1 | #define HAVE_FCNTL_H 1 | #define HAVE_GRP_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_LANGINFO_H 1 | #define HAVE_LIMITS_H 1 | #define HAVE_LINUX_FIEMAP_H 1 | #define HAVE_LINUX_FS_H 1 | #define HAVE_LINUX_MAGIC_H 1 | #define HAVE_LINUX_TYPES_H 1 | #define HAVE_WORKING_FS_IOC_GETFLAGS 1 | #define HAVE_LOCALE_H 1 | #define HAVE_PATHS_H 1 | #define HAVE_POLL_H 1 | #define HAVE_PTHREAD_H 1 | #define HAVE_PWD_H 1 | #define HAVE_SIGNAL_H 1 | #define HAVE_SPAWN_H 1 | #define HAVE_STDARG_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_SYS_CDEFS_H 1 | #define HAVE_SYS_IOCTL_H 1 | #define HAVE_SYS_MOUNT_H 1 | #define HAVE_SYS_PARAM_H 1 | #define HAVE_SYS_POLL_H 1 | #define HAVE_SYS_SELECT_H 1 | #define HAVE_SYS_STATFS_H 1 | #define HAVE_SYS_STATVFS_H 1 | #define HAVE_SYS_SYSMACROS_H 1 | #define HAVE_SYS_TIME_H 1 | #define HAVE_SYS_UTSNAME_H 1 | #define HAVE_SYS_VFS_H 1 | #define HAVE_SYS_XATTR_H 1 | #define HAVE_TIME_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_UTIME_H 1 | #define HAVE_WCHAR_H 1 | #define HAVE_WCTYPE_H 1 | #define HAVE_ICONV 1 | #define ICONV_CONST | #define HAVE_ICONV_H 1 | #define HAVE_LZMA_H 1 | #define HAVE_LIBLZMA 1 | #define HAVE_LZMA_STREAM_ENCODER_MT 1 | #define HAVE_REGEX_H 1 | #define HAVE_STRUCT_TM_TM_GMTOFF 1 | #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1 | #define HAVE_STRUCT_STAT_ST_BLKSIZE 1 | /* end confdefs.h. */ | #include | #ifdef HAVE_SYS_TYPES_H | # include | #endif | #ifdef HAVE_SYS_STAT_H | # include | #endif | #ifdef STDC_HEADERS | # include | # include | #else | # ifdef HAVE_STDLIB_H | # include | # endif | #endif | #ifdef HAVE_STRING_H | # if !defined STDC_HEADERS && defined HAVE_MEMORY_H | # include | # endif | # include | #endif | #ifdef HAVE_STRINGS_H | # include | #endif | #ifdef HAVE_INTTYPES_H | # include | #endif | #ifdef HAVE_STDINT_H | # include | #endif | #ifdef HAVE_UNISTD_H | # include | #endif | int | main () | { | static struct stat ac_aggr; | if (sizeof ac_aggr.st_flags) | return 0; | ; | return 0; | } configure:16643: result: no configure:16657: checking for uintmax_t configure:16657: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 configure:16657: $? = 0 configure:16657: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 conftest.c: In function 'main': conftest.c:121:24: error: expected expression before ')' token if (sizeof ((uintmax_t))) ^ configure:16657: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "libarchive" | #define PACKAGE_TARNAME "libarchive" | #define PACKAGE_VERSION "3.4.0" | #define PACKAGE_STRING "libarchive 3.4.0" | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com" | #define PACKAGE_URL "" | #define PACKAGE "libarchive" | #define VERSION "3.4.0" | #define LIBARCHIVE_VERSION_STRING "3.4.0" | #define LIBARCHIVE_VERSION_NUMBER "3004000" | #define BSDCPIO_VERSION_STRING "3.4.0" | #define BSDTAR_VERSION_STRING "3.4.0" | #define BSDCAT_VERSION_STRING "3.4.0" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define __EXTENSIONS__ 1 | #define _ALL_SOURCE 1 | #define _GNU_SOURCE 1 | #define _POSIX_PTHREAD_SEMANTICS 1 | #define _TANDEM_SOURCE 1 | #define LT_OBJDIR ".libs/" | #define HAVE_DIRENT_H 1 | #define HAVE_SYS_WAIT_H 1 | #define HAVE_CTYPE_H 1 | #define HAVE_ERRNO_H 1 | #define HAVE_FCNTL_H 1 | #define HAVE_GRP_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_LANGINFO_H 1 | #define HAVE_LIMITS_H 1 | #define HAVE_LINUX_FIEMAP_H 1 | #define HAVE_LINUX_FS_H 1 | #define HAVE_LINUX_MAGIC_H 1 | #define HAVE_LINUX_TYPES_H 1 | #define HAVE_WORKING_FS_IOC_GETFLAGS 1 | #define HAVE_LOCALE_H 1 | #define HAVE_PATHS_H 1 | #define HAVE_POLL_H 1 | #define HAVE_PTHREAD_H 1 | #define HAVE_PWD_H 1 | #define HAVE_SIGNAL_H 1 | #define HAVE_SPAWN_H 1 | #define HAVE_STDARG_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_SYS_CDEFS_H 1 | #define HAVE_SYS_IOCTL_H 1 | #define HAVE_SYS_MOUNT_H 1 | #define HAVE_SYS_PARAM_H 1 | #define HAVE_SYS_POLL_H 1 | #define HAVE_SYS_SELECT_H 1 | #define HAVE_SYS_STATFS_H 1 | #define HAVE_SYS_STATVFS_H 1 | #define HAVE_SYS_SYSMACROS_H 1 | #define HAVE_SYS_TIME_H 1 | #define HAVE_SYS_UTSNAME_H 1 | #define HAVE_SYS_VFS_H 1 | #define HAVE_SYS_XATTR_H 1 | #define HAVE_TIME_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_UTIME_H 1 | #define HAVE_WCHAR_H 1 | #define HAVE_WCTYPE_H 1 | #define HAVE_ICONV 1 | #define ICONV_CONST | #define HAVE_ICONV_H 1 | #define HAVE_LZMA_H 1 | #define HAVE_LIBLZMA 1 | #define HAVE_LZMA_STREAM_ENCODER_MT 1 | #define HAVE_REGEX_H 1 | #define HAVE_STRUCT_TM_TM_GMTOFF 1 | #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1 | #define HAVE_STRUCT_STAT_ST_BLKSIZE 1 | /* end confdefs.h. */ | #include | #ifdef HAVE_SYS_TYPES_H | # include | #endif | #ifdef HAVE_SYS_STAT_H | # include | #endif | #ifdef STDC_HEADERS | # include | # include | #else | # ifdef HAVE_STDLIB_H | # include | # endif | #endif | #ifdef HAVE_STRING_H | # if !defined STDC_HEADERS && defined HAVE_MEMORY_H | # include | # endif | # include | #endif | #ifdef HAVE_STRINGS_H | # include | #endif | #ifdef HAVE_INTTYPES_H | # include | #endif | #ifdef HAVE_STDINT_H | # include | #endif | #ifdef HAVE_UNISTD_H | # include | #endif | int | main () | { | if (sizeof ((uintmax_t))) | return 0; | ; | return 0; | } configure:16657: result: yes configure:16666: checking for unsigned long long configure:16666: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 configure:16666: $? = 0 configure:16666: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 conftest.c: In function 'main': conftest.c:122:33: error: expected expression before ')' token if (sizeof ((unsigned long long))) ^ configure:16666: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "libarchive" | #define PACKAGE_TARNAME "libarchive" | #define PACKAGE_VERSION "3.4.0" | #define PACKAGE_STRING "libarchive 3.4.0" | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com" | #define PACKAGE_URL "" | #define PACKAGE "libarchive" | #define VERSION "3.4.0" | #define LIBARCHIVE_VERSION_STRING "3.4.0" | #define LIBARCHIVE_VERSION_NUMBER "3004000" | #define BSDCPIO_VERSION_STRING "3.4.0" | #define BSDTAR_VERSION_STRING "3.4.0" | #define BSDCAT_VERSION_STRING "3.4.0" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define __EXTENSIONS__ 1 | #define _ALL_SOURCE 1 | #define _GNU_SOURCE 1 | #define _POSIX_PTHREAD_SEMANTICS 1 | #define _TANDEM_SOURCE 1 | #define LT_OBJDIR ".libs/" | #define HAVE_DIRENT_H 1 | #define HAVE_SYS_WAIT_H 1 | #define HAVE_CTYPE_H 1 | #define HAVE_ERRNO_H 1 | #define HAVE_FCNTL_H 1 | #define HAVE_GRP_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_LANGINFO_H 1 | #define HAVE_LIMITS_H 1 | #define HAVE_LINUX_FIEMAP_H 1 | #define HAVE_LINUX_FS_H 1 | #define HAVE_LINUX_MAGIC_H 1 | #define HAVE_LINUX_TYPES_H 1 | #define HAVE_WORKING_FS_IOC_GETFLAGS 1 | #define HAVE_LOCALE_H 1 | #define HAVE_PATHS_H 1 | #define HAVE_POLL_H 1 | #define HAVE_PTHREAD_H 1 | #define HAVE_PWD_H 1 | #define HAVE_SIGNAL_H 1 | #define HAVE_SPAWN_H 1 | #define HAVE_STDARG_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_SYS_CDEFS_H 1 | #define HAVE_SYS_IOCTL_H 1 | #define HAVE_SYS_MOUNT_H 1 | #define HAVE_SYS_PARAM_H 1 | #define HAVE_SYS_POLL_H 1 | #define HAVE_SYS_SELECT_H 1 | #define HAVE_SYS_STATFS_H 1 | #define HAVE_SYS_STATVFS_H 1 | #define HAVE_SYS_SYSMACROS_H 1 | #define HAVE_SYS_TIME_H 1 | #define HAVE_SYS_UTSNAME_H 1 | #define HAVE_SYS_VFS_H 1 | #define HAVE_SYS_XATTR_H 1 | #define HAVE_TIME_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_UTIME_H 1 | #define HAVE_WCHAR_H 1 | #define HAVE_WCTYPE_H 1 | #define HAVE_ICONV 1 | #define ICONV_CONST | #define HAVE_ICONV_H 1 | #define HAVE_LZMA_H 1 | #define HAVE_LIBLZMA 1 | #define HAVE_LZMA_STREAM_ENCODER_MT 1 | #define HAVE_REGEX_H 1 | #define HAVE_STRUCT_TM_TM_GMTOFF 1 | #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1 | #define HAVE_STRUCT_STAT_ST_BLKSIZE 1 | #define HAVE_UINTMAX_T 1 | /* end confdefs.h. */ | #include | #ifdef HAVE_SYS_TYPES_H | # include | #endif | #ifdef HAVE_SYS_STAT_H | # include | #endif | #ifdef STDC_HEADERS | # include | # include | #else | # ifdef HAVE_STDLIB_H | # include | # endif | #endif | #ifdef HAVE_STRING_H | # if !defined STDC_HEADERS && defined HAVE_MEMORY_H | # include | # endif | # include | #endif | #ifdef HAVE_STRINGS_H | # include | #endif | #ifdef HAVE_INTTYPES_H | # include | #endif | #ifdef HAVE_STDINT_H | # include | #endif | #ifdef HAVE_UNISTD_H | # include | #endif | int | main () | { | if (sizeof ((unsigned long long))) | return 0; | ; | return 0; | } configure:16666: result: yes configure:16680: checking for unsigned long long int configure:16719: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -o conftest -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Wl,-elf2flt -static conftest.c -llzma >&5 configure:16719: $? = 0 configure:16728: result: yes configure:16738: checking for long long int configure:16788: result: yes configure:16798: checking for intmax_t configure:16798: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 configure:16798: $? = 0 configure:16798: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 conftest.c: In function 'main': conftest.c:125:23: error: expected expression before ')' token if (sizeof ((intmax_t))) ^ configure:16798: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "libarchive" | #define PACKAGE_TARNAME "libarchive" | #define PACKAGE_VERSION "3.4.0" | #define PACKAGE_STRING "libarchive 3.4.0" | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com" | #define PACKAGE_URL "" | #define PACKAGE "libarchive" | #define VERSION "3.4.0" | #define LIBARCHIVE_VERSION_STRING "3.4.0" | #define LIBARCHIVE_VERSION_NUMBER "3004000" | #define BSDCPIO_VERSION_STRING "3.4.0" | #define BSDTAR_VERSION_STRING "3.4.0" | #define BSDCAT_VERSION_STRING "3.4.0" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define __EXTENSIONS__ 1 | #define _ALL_SOURCE 1 | #define _GNU_SOURCE 1 | #define _POSIX_PTHREAD_SEMANTICS 1 | #define _TANDEM_SOURCE 1 | #define LT_OBJDIR ".libs/" | #define HAVE_DIRENT_H 1 | #define HAVE_SYS_WAIT_H 1 | #define HAVE_CTYPE_H 1 | #define HAVE_ERRNO_H 1 | #define HAVE_FCNTL_H 1 | #define HAVE_GRP_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_LANGINFO_H 1 | #define HAVE_LIMITS_H 1 | #define HAVE_LINUX_FIEMAP_H 1 | #define HAVE_LINUX_FS_H 1 | #define HAVE_LINUX_MAGIC_H 1 | #define HAVE_LINUX_TYPES_H 1 | #define HAVE_WORKING_FS_IOC_GETFLAGS 1 | #define HAVE_LOCALE_H 1 | #define HAVE_PATHS_H 1 | #define HAVE_POLL_H 1 | #define HAVE_PTHREAD_H 1 | #define HAVE_PWD_H 1 | #define HAVE_SIGNAL_H 1 | #define HAVE_SPAWN_H 1 | #define HAVE_STDARG_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_SYS_CDEFS_H 1 | #define HAVE_SYS_IOCTL_H 1 | #define HAVE_SYS_MOUNT_H 1 | #define HAVE_SYS_PARAM_H 1 | #define HAVE_SYS_POLL_H 1 | #define HAVE_SYS_SELECT_H 1 | #define HAVE_SYS_STATFS_H 1 | #define HAVE_SYS_STATVFS_H 1 | #define HAVE_SYS_SYSMACROS_H 1 | #define HAVE_SYS_TIME_H 1 | #define HAVE_SYS_UTSNAME_H 1 | #define HAVE_SYS_VFS_H 1 | #define HAVE_SYS_XATTR_H 1 | #define HAVE_TIME_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_UTIME_H 1 | #define HAVE_WCHAR_H 1 | #define HAVE_WCTYPE_H 1 | #define HAVE_ICONV 1 | #define ICONV_CONST | #define HAVE_ICONV_H 1 | #define HAVE_LZMA_H 1 | #define HAVE_LIBLZMA 1 | #define HAVE_LZMA_STREAM_ENCODER_MT 1 | #define HAVE_REGEX_H 1 | #define HAVE_STRUCT_TM_TM_GMTOFF 1 | #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1 | #define HAVE_STRUCT_STAT_ST_BLKSIZE 1 | #define HAVE_UINTMAX_T 1 | #define HAVE_UNSIGNED_LONG_LONG 1 | #define HAVE_UNSIGNED_LONG_LONG_INT 1 | #define HAVE_LONG_LONG_INT 1 | /* end confdefs.h. */ | #include | #ifdef HAVE_SYS_TYPES_H | # include | #endif | #ifdef HAVE_SYS_STAT_H | # include | #endif | #ifdef STDC_HEADERS | # include | # include | #else | # ifdef HAVE_STDLIB_H | # include | # endif | #endif | #ifdef HAVE_STRING_H | # if !defined STDC_HEADERS && defined HAVE_MEMORY_H | # include | # endif | # include | #endif | #ifdef HAVE_STRINGS_H | # include | #endif | #ifdef HAVE_INTTYPES_H | # include | #endif | #ifdef HAVE_STDINT_H | # include | #endif | #ifdef HAVE_UNISTD_H | # include | #endif | int | main () | { | if (sizeof ((intmax_t))) | return 0; | ; | return 0; | } configure:16798: result: yes configure:16817: checking for uintmax_t configure:16817: result: yes configure:16834: checking for int64_t configure:16834: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 configure:16834: $? = 0 configure:16834: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 conftest.c: In function 'main': conftest.c:129:53: warning: integer overflow in expression [-Woverflow] < (int64_t) (((((int64_t) 1 << N) << N) - 1) * 2 + 2))]; ^ conftest.c:128:12: error: storage size of 'test_array' isn't constant static int test_array [1 - 2 * !((int64_t) (((((int64_t) 1 << N) << N) - 1) * 2 + 1) ^~~~~~~~~~ conftest.c:128:12: warning: unused variable 'test_array' [-Wunused-variable] configure:16834: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "libarchive" | #define PACKAGE_TARNAME "libarchive" | #define PACKAGE_VERSION "3.4.0" | #define PACKAGE_STRING "libarchive 3.4.0" | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com" | #define PACKAGE_URL "" | #define PACKAGE "libarchive" | #define VERSION "3.4.0" | #define LIBARCHIVE_VERSION_STRING "3.4.0" | #define LIBARCHIVE_VERSION_NUMBER "3004000" | #define BSDCPIO_VERSION_STRING "3.4.0" | #define BSDTAR_VERSION_STRING "3.4.0" | #define BSDCAT_VERSION_STRING "3.4.0" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define __EXTENSIONS__ 1 | #define _ALL_SOURCE 1 | #define _GNU_SOURCE 1 | #define _POSIX_PTHREAD_SEMANTICS 1 | #define _TANDEM_SOURCE 1 | #define LT_OBJDIR ".libs/" | #define HAVE_DIRENT_H 1 | #define HAVE_SYS_WAIT_H 1 | #define HAVE_CTYPE_H 1 | #define HAVE_ERRNO_H 1 | #define HAVE_FCNTL_H 1 | #define HAVE_GRP_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_LANGINFO_H 1 | #define HAVE_LIMITS_H 1 | #define HAVE_LINUX_FIEMAP_H 1 | #define HAVE_LINUX_FS_H 1 | #define HAVE_LINUX_MAGIC_H 1 | #define HAVE_LINUX_TYPES_H 1 | #define HAVE_WORKING_FS_IOC_GETFLAGS 1 | #define HAVE_LOCALE_H 1 | #define HAVE_PATHS_H 1 | #define HAVE_POLL_H 1 | #define HAVE_PTHREAD_H 1 | #define HAVE_PWD_H 1 | #define HAVE_SIGNAL_H 1 | #define HAVE_SPAWN_H 1 | #define HAVE_STDARG_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_SYS_CDEFS_H 1 | #define HAVE_SYS_IOCTL_H 1 | #define HAVE_SYS_MOUNT_H 1 | #define HAVE_SYS_PARAM_H 1 | #define HAVE_SYS_POLL_H 1 | #define HAVE_SYS_SELECT_H 1 | #define HAVE_SYS_STATFS_H 1 | #define HAVE_SYS_STATVFS_H 1 | #define HAVE_SYS_SYSMACROS_H 1 | #define HAVE_SYS_TIME_H 1 | #define HAVE_SYS_UTSNAME_H 1 | #define HAVE_SYS_VFS_H 1 | #define HAVE_SYS_XATTR_H 1 | #define HAVE_TIME_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_UTIME_H 1 | #define HAVE_WCHAR_H 1 | #define HAVE_WCTYPE_H 1 | #define HAVE_ICONV 1 | #define ICONV_CONST | #define HAVE_ICONV_H 1 | #define HAVE_LZMA_H 1 | #define HAVE_LIBLZMA 1 | #define HAVE_LZMA_STREAM_ENCODER_MT 1 | #define HAVE_REGEX_H 1 | #define HAVE_STRUCT_TM_TM_GMTOFF 1 | #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1 | #define HAVE_STRUCT_STAT_ST_BLKSIZE 1 | #define HAVE_UINTMAX_T 1 | #define HAVE_UNSIGNED_LONG_LONG 1 | #define HAVE_UNSIGNED_LONG_LONG_INT 1 | #define HAVE_LONG_LONG_INT 1 | #define HAVE_INTMAX_T 1 | #define HAVE_UINTMAX_T 1 | /* end confdefs.h. */ | #include | #ifdef HAVE_SYS_TYPES_H | # include | #endif | #ifdef HAVE_SYS_STAT_H | # include | #endif | #ifdef STDC_HEADERS | # include | # include | #else | # ifdef HAVE_STDLIB_H | # include | # endif | #endif | #ifdef HAVE_STRING_H | # if !defined STDC_HEADERS && defined HAVE_MEMORY_H | # include | # endif | # include | #endif | #ifdef HAVE_STRINGS_H | # include | #endif | #ifdef HAVE_INTTYPES_H | # include | #endif | #ifdef HAVE_STDINT_H | # include | #endif | #ifdef HAVE_UNISTD_H | # include | #endif | enum { N = 64 / 2 - 1 }; | int | main () | { | static int test_array [1 - 2 * !((int64_t) (((((int64_t) 1 << N) << N) - 1) * 2 + 1) | < (int64_t) (((((int64_t) 1 << N) << N) - 1) * 2 + 2))]; | test_array [0] = 0; | return test_array [0]; | | ; | return 0; | } configure:16834: result: yes configure:16845: checking for uint64_t configure:16845: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 configure:16845: $? = 0 configure:16845: result: yes configure:16859: checking for int32_t configure:16859: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 configure:16859: $? = 0 configure:16859: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 conftest.c: In function 'main': conftest.c:129:53: warning: integer overflow in expression [-Woverflow] < (int32_t) (((((int32_t) 1 << N) << N) - 1) * 2 + 2))]; ^ conftest.c:128:12: error: storage size of 'test_array' isn't constant static int test_array [1 - 2 * !((int32_t) (((((int32_t) 1 << N) << N) - 1) * 2 + 1) ^~~~~~~~~~ conftest.c:128:12: warning: unused variable 'test_array' [-Wunused-variable] configure:16859: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "libarchive" | #define PACKAGE_TARNAME "libarchive" | #define PACKAGE_VERSION "3.4.0" | #define PACKAGE_STRING "libarchive 3.4.0" | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com" | #define PACKAGE_URL "" | #define PACKAGE "libarchive" | #define VERSION "3.4.0" | #define LIBARCHIVE_VERSION_STRING "3.4.0" | #define LIBARCHIVE_VERSION_NUMBER "3004000" | #define BSDCPIO_VERSION_STRING "3.4.0" | #define BSDTAR_VERSION_STRING "3.4.0" | #define BSDCAT_VERSION_STRING "3.4.0" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define __EXTENSIONS__ 1 | #define _ALL_SOURCE 1 | #define _GNU_SOURCE 1 | #define _POSIX_PTHREAD_SEMANTICS 1 | #define _TANDEM_SOURCE 1 | #define LT_OBJDIR ".libs/" | #define HAVE_DIRENT_H 1 | #define HAVE_SYS_WAIT_H 1 | #define HAVE_CTYPE_H 1 | #define HAVE_ERRNO_H 1 | #define HAVE_FCNTL_H 1 | #define HAVE_GRP_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_LANGINFO_H 1 | #define HAVE_LIMITS_H 1 | #define HAVE_LINUX_FIEMAP_H 1 | #define HAVE_LINUX_FS_H 1 | #define HAVE_LINUX_MAGIC_H 1 | #define HAVE_LINUX_TYPES_H 1 | #define HAVE_WORKING_FS_IOC_GETFLAGS 1 | #define HAVE_LOCALE_H 1 | #define HAVE_PATHS_H 1 | #define HAVE_POLL_H 1 | #define HAVE_PTHREAD_H 1 | #define HAVE_PWD_H 1 | #define HAVE_SIGNAL_H 1 | #define HAVE_SPAWN_H 1 | #define HAVE_STDARG_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_SYS_CDEFS_H 1 | #define HAVE_SYS_IOCTL_H 1 | #define HAVE_SYS_MOUNT_H 1 | #define HAVE_SYS_PARAM_H 1 | #define HAVE_SYS_POLL_H 1 | #define HAVE_SYS_SELECT_H 1 | #define HAVE_SYS_STATFS_H 1 | #define HAVE_SYS_STATVFS_H 1 | #define HAVE_SYS_SYSMACROS_H 1 | #define HAVE_SYS_TIME_H 1 | #define HAVE_SYS_UTSNAME_H 1 | #define HAVE_SYS_VFS_H 1 | #define HAVE_SYS_XATTR_H 1 | #define HAVE_TIME_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_UTIME_H 1 | #define HAVE_WCHAR_H 1 | #define HAVE_WCTYPE_H 1 | #define HAVE_ICONV 1 | #define ICONV_CONST | #define HAVE_ICONV_H 1 | #define HAVE_LZMA_H 1 | #define HAVE_LIBLZMA 1 | #define HAVE_LZMA_STREAM_ENCODER_MT 1 | #define HAVE_REGEX_H 1 | #define HAVE_STRUCT_TM_TM_GMTOFF 1 | #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1 | #define HAVE_STRUCT_STAT_ST_BLKSIZE 1 | #define HAVE_UINTMAX_T 1 | #define HAVE_UNSIGNED_LONG_LONG 1 | #define HAVE_UNSIGNED_LONG_LONG_INT 1 | #define HAVE_LONG_LONG_INT 1 | #define HAVE_INTMAX_T 1 | #define HAVE_UINTMAX_T 1 | /* end confdefs.h. */ | #include | #ifdef HAVE_SYS_TYPES_H | # include | #endif | #ifdef HAVE_SYS_STAT_H | # include | #endif | #ifdef STDC_HEADERS | # include | # include | #else | # ifdef HAVE_STDLIB_H | # include | # endif | #endif | #ifdef HAVE_STRING_H | # if !defined STDC_HEADERS && defined HAVE_MEMORY_H | # include | # endif | # include | #endif | #ifdef HAVE_STRINGS_H | # include | #endif | #ifdef HAVE_INTTYPES_H | # include | #endif | #ifdef HAVE_STDINT_H | # include | #endif | #ifdef HAVE_UNISTD_H | # include | #endif | enum { N = 32 / 2 - 1 }; | int | main () | { | static int test_array [1 - 2 * !((int32_t) (((((int32_t) 1 << N) << N) - 1) * 2 + 1) | < (int32_t) (((((int32_t) 1 << N) << N) - 1) * 2 + 2))]; | test_array [0] = 0; | return test_array [0]; | | ; | return 0; | } configure:16859: result: yes configure:16870: checking for uint32_t configure:16870: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 configure:16870: $? = 0 configure:16870: result: yes configure:16884: checking for int16_t configure:16884: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 configure:16884: $? = 0 configure:16884: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 conftest.c: In function 'main': conftest.c:128:12: error: size of array 'test_array' is negative static int test_array [1 - 2 * !((int16_t) (((((int16_t) 1 << N) << N) - 1) * 2 + 1) ^~~~~~~~~~ configure:16884: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "libarchive" | #define PACKAGE_TARNAME "libarchive" | #define PACKAGE_VERSION "3.4.0" | #define PACKAGE_STRING "libarchive 3.4.0" | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com" | #define PACKAGE_URL "" | #define PACKAGE "libarchive" | #define VERSION "3.4.0" | #define LIBARCHIVE_VERSION_STRING "3.4.0" | #define LIBARCHIVE_VERSION_NUMBER "3004000" | #define BSDCPIO_VERSION_STRING "3.4.0" | #define BSDTAR_VERSION_STRING "3.4.0" | #define BSDCAT_VERSION_STRING "3.4.0" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define __EXTENSIONS__ 1 | #define _ALL_SOURCE 1 | #define _GNU_SOURCE 1 | #define _POSIX_PTHREAD_SEMANTICS 1 | #define _TANDEM_SOURCE 1 | #define LT_OBJDIR ".libs/" | #define HAVE_DIRENT_H 1 | #define HAVE_SYS_WAIT_H 1 | #define HAVE_CTYPE_H 1 | #define HAVE_ERRNO_H 1 | #define HAVE_FCNTL_H 1 | #define HAVE_GRP_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_LANGINFO_H 1 | #define HAVE_LIMITS_H 1 | #define HAVE_LINUX_FIEMAP_H 1 | #define HAVE_LINUX_FS_H 1 | #define HAVE_LINUX_MAGIC_H 1 | #define HAVE_LINUX_TYPES_H 1 | #define HAVE_WORKING_FS_IOC_GETFLAGS 1 | #define HAVE_LOCALE_H 1 | #define HAVE_PATHS_H 1 | #define HAVE_POLL_H 1 | #define HAVE_PTHREAD_H 1 | #define HAVE_PWD_H 1 | #define HAVE_SIGNAL_H 1 | #define HAVE_SPAWN_H 1 | #define HAVE_STDARG_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_SYS_CDEFS_H 1 | #define HAVE_SYS_IOCTL_H 1 | #define HAVE_SYS_MOUNT_H 1 | #define HAVE_SYS_PARAM_H 1 | #define HAVE_SYS_POLL_H 1 | #define HAVE_SYS_SELECT_H 1 | #define HAVE_SYS_STATFS_H 1 | #define HAVE_SYS_STATVFS_H 1 | #define HAVE_SYS_SYSMACROS_H 1 | #define HAVE_SYS_TIME_H 1 | #define HAVE_SYS_UTSNAME_H 1 | #define HAVE_SYS_VFS_H 1 | #define HAVE_SYS_XATTR_H 1 | #define HAVE_TIME_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_UTIME_H 1 | #define HAVE_WCHAR_H 1 | #define HAVE_WCTYPE_H 1 | #define HAVE_ICONV 1 | #define ICONV_CONST | #define HAVE_ICONV_H 1 | #define HAVE_LZMA_H 1 | #define HAVE_LIBLZMA 1 | #define HAVE_LZMA_STREAM_ENCODER_MT 1 | #define HAVE_REGEX_H 1 | #define HAVE_STRUCT_TM_TM_GMTOFF 1 | #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1 | #define HAVE_STRUCT_STAT_ST_BLKSIZE 1 | #define HAVE_UINTMAX_T 1 | #define HAVE_UNSIGNED_LONG_LONG 1 | #define HAVE_UNSIGNED_LONG_LONG_INT 1 | #define HAVE_LONG_LONG_INT 1 | #define HAVE_INTMAX_T 1 | #define HAVE_UINTMAX_T 1 | /* end confdefs.h. */ | #include | #ifdef HAVE_SYS_TYPES_H | # include | #endif | #ifdef HAVE_SYS_STAT_H | # include | #endif | #ifdef STDC_HEADERS | # include | # include | #else | # ifdef HAVE_STDLIB_H | # include | # endif | #endif | #ifdef HAVE_STRING_H | # if !defined STDC_HEADERS && defined HAVE_MEMORY_H | # include | # endif | # include | #endif | #ifdef HAVE_STRINGS_H | # include | #endif | #ifdef HAVE_INTTYPES_H | # include | #endif | #ifdef HAVE_STDINT_H | # include | #endif | #ifdef HAVE_UNISTD_H | # include | #endif | enum { N = 16 / 2 - 1 }; | int | main () | { | static int test_array [1 - 2 * !((int16_t) (((((int16_t) 1 << N) << N) - 1) * 2 + 1) | < (int16_t) (((((int16_t) 1 << N) << N) - 1) * 2 + 2))]; | test_array [0] = 0; | return test_array [0]; | | ; | return 0; | } configure:16884: result: yes configure:16895: checking for uint16_t configure:16895: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 configure:16895: $? = 0 configure:16895: result: yes configure:16907: checking for uint8_t configure:16907: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 configure:16907: $? = 0 configure:16907: result: yes configure:16922: checking whether SIZE_MAX is declared configure:16922: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 configure:16922: $? = 0 configure:16922: result: yes configure:16932: checking whether INT32_MAX is declared configure:16932: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 configure:16932: $? = 0 configure:16932: result: yes configure:16942: checking whether INT32_MIN is declared configure:16942: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 configure:16942: $? = 0 configure:16942: result: yes configure:16953: checking whether INT64_MAX is declared configure:16953: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 configure:16953: $? = 0 configure:16953: result: yes configure:16963: checking whether INT64_MIN is declared configure:16963: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 configure:16963: $? = 0 configure:16963: result: yes configure:16973: checking whether UINT64_MAX is declared configure:16973: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 configure:16973: $? = 0 configure:16973: result: yes configure:16983: checking whether UINT32_MAX is declared configure:16983: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 configure:16983: $? = 0 configure:16983: result: yes configure:16994: checking whether INTMAX_MAX is declared configure:16994: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 configure:16994: $? = 0 configure:16994: result: yes configure:17004: checking whether INTMAX_MIN is declared configure:17004: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 configure:17004: $? = 0 configure:17004: result: yes configure:17014: checking whether UINTMAX_MAX is declared configure:17014: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 configure:17014: $? = 0 configure:17014: result: yes configure:17026: checking whether SSIZE_MAX is declared configure:17026: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 configure:17026: $? = 0 configure:17026: result: yes configure:17035: checking whether EFTYPE is declared configure:17035: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 conftest.c: In function 'main': conftest.c:111:10: error: 'EFTYPE' undeclared (first use in this function); did you mean 'ESPIPE'? (void) EFTYPE; ^~~~~~ ESPIPE conftest.c:111:10: note: each undeclared identifier is reported only once for each function it appears in configure:17035: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "libarchive" | #define PACKAGE_TARNAME "libarchive" | #define PACKAGE_VERSION "3.4.0" | #define PACKAGE_STRING "libarchive 3.4.0" | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com" | #define PACKAGE_URL "" | #define PACKAGE "libarchive" | #define VERSION "3.4.0" | #define LIBARCHIVE_VERSION_STRING "3.4.0" | #define LIBARCHIVE_VERSION_NUMBER "3004000" | #define BSDCPIO_VERSION_STRING "3.4.0" | #define BSDTAR_VERSION_STRING "3.4.0" | #define BSDCAT_VERSION_STRING "3.4.0" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define __EXTENSIONS__ 1 | #define _ALL_SOURCE 1 | #define _GNU_SOURCE 1 | #define _POSIX_PTHREAD_SEMANTICS 1 | #define _TANDEM_SOURCE 1 | #define LT_OBJDIR ".libs/" | #define HAVE_DIRENT_H 1 | #define HAVE_SYS_WAIT_H 1 | #define HAVE_CTYPE_H 1 | #define HAVE_ERRNO_H 1 | #define HAVE_FCNTL_H 1 | #define HAVE_GRP_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_LANGINFO_H 1 | #define HAVE_LIMITS_H 1 | #define HAVE_LINUX_FIEMAP_H 1 | #define HAVE_LINUX_FS_H 1 | #define HAVE_LINUX_MAGIC_H 1 | #define HAVE_LINUX_TYPES_H 1 | #define HAVE_WORKING_FS_IOC_GETFLAGS 1 | #define HAVE_LOCALE_H 1 | #define HAVE_PATHS_H 1 | #define HAVE_POLL_H 1 | #define HAVE_PTHREAD_H 1 | #define HAVE_PWD_H 1 | #define HAVE_SIGNAL_H 1 | #define HAVE_SPAWN_H 1 | #define HAVE_STDARG_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_SYS_CDEFS_H 1 | #define HAVE_SYS_IOCTL_H 1 | #define HAVE_SYS_MOUNT_H 1 | #define HAVE_SYS_PARAM_H 1 | #define HAVE_SYS_POLL_H 1 | #define HAVE_SYS_SELECT_H 1 | #define HAVE_SYS_STATFS_H 1 | #define HAVE_SYS_STATVFS_H 1 | #define HAVE_SYS_SYSMACROS_H 1 | #define HAVE_SYS_TIME_H 1 | #define HAVE_SYS_UTSNAME_H 1 | #define HAVE_SYS_VFS_H 1 | #define HAVE_SYS_XATTR_H 1 | #define HAVE_TIME_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_UTIME_H 1 | #define HAVE_WCHAR_H 1 | #define HAVE_WCTYPE_H 1 | #define HAVE_ICONV 1 | #define ICONV_CONST | #define HAVE_ICONV_H 1 | #define HAVE_LZMA_H 1 | #define HAVE_LIBLZMA 1 | #define HAVE_LZMA_STREAM_ENCODER_MT 1 | #define HAVE_REGEX_H 1 | #define HAVE_STRUCT_TM_TM_GMTOFF 1 | #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1 | #define HAVE_STRUCT_STAT_ST_BLKSIZE 1 | #define HAVE_UINTMAX_T 1 | #define HAVE_UNSIGNED_LONG_LONG 1 | #define HAVE_UNSIGNED_LONG_LONG_INT 1 | #define HAVE_LONG_LONG_INT 1 | #define HAVE_INTMAX_T 1 | #define HAVE_UINTMAX_T 1 | #define HAVE_DECL_SIZE_MAX 1 | #define HAVE_DECL_INT32_MAX 1 | #define HAVE_DECL_INT32_MIN 1 | #define HAVE_DECL_INT64_MAX 1 | #define HAVE_DECL_INT64_MIN 1 | #define HAVE_DECL_UINT64_MAX 1 | #define HAVE_DECL_UINT32_MAX 1 | #define HAVE_DECL_INTMAX_MAX 1 | #define HAVE_DECL_INTMAX_MIN 1 | #define HAVE_DECL_UINTMAX_MAX 1 | #define HAVE_DECL_SSIZE_MAX 1 | /* end confdefs.h. */ | #include | | int | main () | { | #ifndef EFTYPE | #ifdef __cplusplus | (void) EFTYPE; | #else | (void) EFTYPE; | #endif | #endif | | ; | return 0; | } configure:17035: result: no configure:17043: checking whether EILSEQ is declared configure:17043: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 configure:17043: $? = 0 configure:17043: result: yes configure:17051: checking for wchar_t configure:17051: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 configure:17051: $? = 0 configure:17051: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 conftest.c: In function 'main': conftest.c:139:22: error: expected expression before ')' token if (sizeof ((wchar_t))) ^ configure:17051: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "libarchive" | #define PACKAGE_TARNAME "libarchive" | #define PACKAGE_VERSION "3.4.0" | #define PACKAGE_STRING "libarchive 3.4.0" | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com" | #define PACKAGE_URL "" | #define PACKAGE "libarchive" | #define VERSION "3.4.0" | #define LIBARCHIVE_VERSION_STRING "3.4.0" | #define LIBARCHIVE_VERSION_NUMBER "3004000" | #define BSDCPIO_VERSION_STRING "3.4.0" | #define BSDTAR_VERSION_STRING "3.4.0" | #define BSDCAT_VERSION_STRING "3.4.0" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define __EXTENSIONS__ 1 | #define _ALL_SOURCE 1 | #define _GNU_SOURCE 1 | #define _POSIX_PTHREAD_SEMANTICS 1 | #define _TANDEM_SOURCE 1 | #define LT_OBJDIR ".libs/" | #define HAVE_DIRENT_H 1 | #define HAVE_SYS_WAIT_H 1 | #define HAVE_CTYPE_H 1 | #define HAVE_ERRNO_H 1 | #define HAVE_FCNTL_H 1 | #define HAVE_GRP_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_LANGINFO_H 1 | #define HAVE_LIMITS_H 1 | #define HAVE_LINUX_FIEMAP_H 1 | #define HAVE_LINUX_FS_H 1 | #define HAVE_LINUX_MAGIC_H 1 | #define HAVE_LINUX_TYPES_H 1 | #define HAVE_WORKING_FS_IOC_GETFLAGS 1 | #define HAVE_LOCALE_H 1 | #define HAVE_PATHS_H 1 | #define HAVE_POLL_H 1 | #define HAVE_PTHREAD_H 1 | #define HAVE_PWD_H 1 | #define HAVE_SIGNAL_H 1 | #define HAVE_SPAWN_H 1 | #define HAVE_STDARG_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_SYS_CDEFS_H 1 | #define HAVE_SYS_IOCTL_H 1 | #define HAVE_SYS_MOUNT_H 1 | #define HAVE_SYS_PARAM_H 1 | #define HAVE_SYS_POLL_H 1 | #define HAVE_SYS_SELECT_H 1 | #define HAVE_SYS_STATFS_H 1 | #define HAVE_SYS_STATVFS_H 1 | #define HAVE_SYS_SYSMACROS_H 1 | #define HAVE_SYS_TIME_H 1 | #define HAVE_SYS_UTSNAME_H 1 | #define HAVE_SYS_VFS_H 1 | #define HAVE_SYS_XATTR_H 1 | #define HAVE_TIME_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_UTIME_H 1 | #define HAVE_WCHAR_H 1 | #define HAVE_WCTYPE_H 1 | #define HAVE_ICONV 1 | #define ICONV_CONST | #define HAVE_ICONV_H 1 | #define HAVE_LZMA_H 1 | #define HAVE_LIBLZMA 1 | #define HAVE_LZMA_STREAM_ENCODER_MT 1 | #define HAVE_REGEX_H 1 | #define HAVE_STRUCT_TM_TM_GMTOFF 1 | #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1 | #define HAVE_STRUCT_STAT_ST_BLKSIZE 1 | #define HAVE_UINTMAX_T 1 | #define HAVE_UNSIGNED_LONG_LONG 1 | #define HAVE_UNSIGNED_LONG_LONG_INT 1 | #define HAVE_LONG_LONG_INT 1 | #define HAVE_INTMAX_T 1 | #define HAVE_UINTMAX_T 1 | #define HAVE_DECL_SIZE_MAX 1 | #define HAVE_DECL_INT32_MAX 1 | #define HAVE_DECL_INT32_MIN 1 | #define HAVE_DECL_INT64_MAX 1 | #define HAVE_DECL_INT64_MIN 1 | #define HAVE_DECL_UINT64_MAX 1 | #define HAVE_DECL_UINT32_MAX 1 | #define HAVE_DECL_INTMAX_MAX 1 | #define HAVE_DECL_INTMAX_MIN 1 | #define HAVE_DECL_UINTMAX_MAX 1 | #define HAVE_DECL_SSIZE_MAX 1 | #define HAVE_EILSEQ 1 | /* end confdefs.h. */ | #include | #ifdef HAVE_SYS_TYPES_H | # include | #endif | #ifdef HAVE_SYS_STAT_H | # include | #endif | #ifdef STDC_HEADERS | # include | # include | #else | # ifdef HAVE_STDLIB_H | # include | # endif | #endif | #ifdef HAVE_STRING_H | # if !defined STDC_HEADERS && defined HAVE_MEMORY_H | # include | # endif | # include | #endif | #ifdef HAVE_STRINGS_H | # include | #endif | #ifdef HAVE_INTTYPES_H | # include | #endif | #ifdef HAVE_STDINT_H | # include | #endif | #ifdef HAVE_UNISTD_H | # include | #endif | int | main () | { | if (sizeof ((wchar_t))) | return 0; | ; | return 0; | } configure:17051: result: yes configure:17061: checking size of wchar_t configure:17066: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 configure:17066: $? = 0 configure:17066: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 conftest.c: In function 'main': conftest.c:140:12: error: size of array 'test_array' is negative static int test_array [1 - 2 * !(((long int) (sizeof (wchar_t))) <= 0)]; ^~~~~~~~~~ configure:17066: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "libarchive" | #define PACKAGE_TARNAME "libarchive" | #define PACKAGE_VERSION "3.4.0" | #define PACKAGE_STRING "libarchive 3.4.0" | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com" | #define PACKAGE_URL "" | #define PACKAGE "libarchive" | #define VERSION "3.4.0" | #define LIBARCHIVE_VERSION_STRING "3.4.0" | #define LIBARCHIVE_VERSION_NUMBER "3004000" | #define BSDCPIO_VERSION_STRING "3.4.0" | #define BSDTAR_VERSION_STRING "3.4.0" | #define BSDCAT_VERSION_STRING "3.4.0" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define __EXTENSIONS__ 1 | #define _ALL_SOURCE 1 | #define _GNU_SOURCE 1 | #define _POSIX_PTHREAD_SEMANTICS 1 | #define _TANDEM_SOURCE 1 | #define LT_OBJDIR ".libs/" | #define HAVE_DIRENT_H 1 | #define HAVE_SYS_WAIT_H 1 | #define HAVE_CTYPE_H 1 | #define HAVE_ERRNO_H 1 | #define HAVE_FCNTL_H 1 | #define HAVE_GRP_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_LANGINFO_H 1 | #define HAVE_LIMITS_H 1 | #define HAVE_LINUX_FIEMAP_H 1 | #define HAVE_LINUX_FS_H 1 | #define HAVE_LINUX_MAGIC_H 1 | #define HAVE_LINUX_TYPES_H 1 | #define HAVE_WORKING_FS_IOC_GETFLAGS 1 | #define HAVE_LOCALE_H 1 | #define HAVE_PATHS_H 1 | #define HAVE_POLL_H 1 | #define HAVE_PTHREAD_H 1 | #define HAVE_PWD_H 1 | #define HAVE_SIGNAL_H 1 | #define HAVE_SPAWN_H 1 | #define HAVE_STDARG_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_SYS_CDEFS_H 1 | #define HAVE_SYS_IOCTL_H 1 | #define HAVE_SYS_MOUNT_H 1 | #define HAVE_SYS_PARAM_H 1 | #define HAVE_SYS_POLL_H 1 | #define HAVE_SYS_SELECT_H 1 | #define HAVE_SYS_STATFS_H 1 | #define HAVE_SYS_STATVFS_H 1 | #define HAVE_SYS_SYSMACROS_H 1 | #define HAVE_SYS_TIME_H 1 | #define HAVE_SYS_UTSNAME_H 1 | #define HAVE_SYS_VFS_H 1 | #define HAVE_SYS_XATTR_H 1 | #define HAVE_TIME_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_UTIME_H 1 | #define HAVE_WCHAR_H 1 | #define HAVE_WCTYPE_H 1 | #define HAVE_ICONV 1 | #define ICONV_CONST | #define HAVE_ICONV_H 1 | #define HAVE_LZMA_H 1 | #define HAVE_LIBLZMA 1 | #define HAVE_LZMA_STREAM_ENCODER_MT 1 | #define HAVE_REGEX_H 1 | #define HAVE_STRUCT_TM_TM_GMTOFF 1 | #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1 | #define HAVE_STRUCT_STAT_ST_BLKSIZE 1 | #define HAVE_UINTMAX_T 1 | #define HAVE_UNSIGNED_LONG_LONG 1 | #define HAVE_UNSIGNED_LONG_LONG_INT 1 | #define HAVE_LONG_LONG_INT 1 | #define HAVE_INTMAX_T 1 | #define HAVE_UINTMAX_T 1 | #define HAVE_DECL_SIZE_MAX 1 | #define HAVE_DECL_INT32_MAX 1 | #define HAVE_DECL_INT32_MIN 1 | #define HAVE_DECL_INT64_MAX 1 | #define HAVE_DECL_INT64_MIN 1 | #define HAVE_DECL_UINT64_MAX 1 | #define HAVE_DECL_UINT32_MAX 1 | #define HAVE_DECL_INTMAX_MAX 1 | #define HAVE_DECL_INTMAX_MIN 1 | #define HAVE_DECL_UINTMAX_MAX 1 | #define HAVE_DECL_SSIZE_MAX 1 | #define HAVE_EILSEQ 1 | #define HAVE_WCHAR_T 1 | /* end confdefs.h. */ | #include | #ifdef HAVE_SYS_TYPES_H | # include | #endif | #ifdef HAVE_SYS_STAT_H | # include | #endif | #ifdef STDC_HEADERS | # include | # include | #else | # ifdef HAVE_STDLIB_H | # include | # endif | #endif | #ifdef HAVE_STRING_H | # if !defined STDC_HEADERS && defined HAVE_MEMORY_H | # include | # endif | # include | #endif | #ifdef HAVE_STRINGS_H | # include | #endif | #ifdef HAVE_INTTYPES_H | # include | #endif | #ifdef HAVE_STDINT_H | # include | #endif | #ifdef HAVE_UNISTD_H | # include | #endif | int | main () | { | static int test_array [1 - 2 * !(((long int) (sizeof (wchar_t))) <= 0)]; | test_array [0] = 0; | return test_array [0]; | | ; | return 0; | } configure:17066: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 conftest.c: In function 'main': conftest.c:140:12: error: size of array 'test_array' is negative static int test_array [1 - 2 * !(((long int) (sizeof (wchar_t))) <= 1)]; ^~~~~~~~~~ configure:17066: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "libarchive" | #define PACKAGE_TARNAME "libarchive" | #define PACKAGE_VERSION "3.4.0" | #define PACKAGE_STRING "libarchive 3.4.0" | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com" | #define PACKAGE_URL "" | #define PACKAGE "libarchive" | #define VERSION "3.4.0" | #define LIBARCHIVE_VERSION_STRING "3.4.0" | #define LIBARCHIVE_VERSION_NUMBER "3004000" | #define BSDCPIO_VERSION_STRING "3.4.0" | #define BSDTAR_VERSION_STRING "3.4.0" | #define BSDCAT_VERSION_STRING "3.4.0" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define __EXTENSIONS__ 1 | #define _ALL_SOURCE 1 | #define _GNU_SOURCE 1 | #define _POSIX_PTHREAD_SEMANTICS 1 | #define _TANDEM_SOURCE 1 | #define LT_OBJDIR ".libs/" | #define HAVE_DIRENT_H 1 | #define HAVE_SYS_WAIT_H 1 | #define HAVE_CTYPE_H 1 | #define HAVE_ERRNO_H 1 | #define HAVE_FCNTL_H 1 | #define HAVE_GRP_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_LANGINFO_H 1 | #define HAVE_LIMITS_H 1 | #define HAVE_LINUX_FIEMAP_H 1 | #define HAVE_LINUX_FS_H 1 | #define HAVE_LINUX_MAGIC_H 1 | #define HAVE_LINUX_TYPES_H 1 | #define HAVE_WORKING_FS_IOC_GETFLAGS 1 | #define HAVE_LOCALE_H 1 | #define HAVE_PATHS_H 1 | #define HAVE_POLL_H 1 | #define HAVE_PTHREAD_H 1 | #define HAVE_PWD_H 1 | #define HAVE_SIGNAL_H 1 | #define HAVE_SPAWN_H 1 | #define HAVE_STDARG_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_SYS_CDEFS_H 1 | #define HAVE_SYS_IOCTL_H 1 | #define HAVE_SYS_MOUNT_H 1 | #define HAVE_SYS_PARAM_H 1 | #define HAVE_SYS_POLL_H 1 | #define HAVE_SYS_SELECT_H 1 | #define HAVE_SYS_STATFS_H 1 | #define HAVE_SYS_STATVFS_H 1 | #define HAVE_SYS_SYSMACROS_H 1 | #define HAVE_SYS_TIME_H 1 | #define HAVE_SYS_UTSNAME_H 1 | #define HAVE_SYS_VFS_H 1 | #define HAVE_SYS_XATTR_H 1 | #define HAVE_TIME_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_UTIME_H 1 | #define HAVE_WCHAR_H 1 | #define HAVE_WCTYPE_H 1 | #define HAVE_ICONV 1 | #define ICONV_CONST | #define HAVE_ICONV_H 1 | #define HAVE_LZMA_H 1 | #define HAVE_LIBLZMA 1 | #define HAVE_LZMA_STREAM_ENCODER_MT 1 | #define HAVE_REGEX_H 1 | #define HAVE_STRUCT_TM_TM_GMTOFF 1 | #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1 | #define HAVE_STRUCT_STAT_ST_BLKSIZE 1 | #define HAVE_UINTMAX_T 1 | #define HAVE_UNSIGNED_LONG_LONG 1 | #define HAVE_UNSIGNED_LONG_LONG_INT 1 | #define HAVE_LONG_LONG_INT 1 | #define HAVE_INTMAX_T 1 | #define HAVE_UINTMAX_T 1 | #define HAVE_DECL_SIZE_MAX 1 | #define HAVE_DECL_INT32_MAX 1 | #define HAVE_DECL_INT32_MIN 1 | #define HAVE_DECL_INT64_MAX 1 | #define HAVE_DECL_INT64_MIN 1 | #define HAVE_DECL_UINT64_MAX 1 | #define HAVE_DECL_UINT32_MAX 1 | #define HAVE_DECL_INTMAX_MAX 1 | #define HAVE_DECL_INTMAX_MIN 1 | #define HAVE_DECL_UINTMAX_MAX 1 | #define HAVE_DECL_SSIZE_MAX 1 | #define HAVE_EILSEQ 1 | #define HAVE_WCHAR_T 1 | /* end confdefs.h. */ | #include | #ifdef HAVE_SYS_TYPES_H | # include | #endif | #ifdef HAVE_SYS_STAT_H | # include | #endif | #ifdef STDC_HEADERS | # include | # include | #else | # ifdef HAVE_STDLIB_H | # include | # endif | #endif | #ifdef HAVE_STRING_H | # if !defined STDC_HEADERS && defined HAVE_MEMORY_H | # include | # endif | # include | #endif | #ifdef HAVE_STRINGS_H | # include | #endif | #ifdef HAVE_INTTYPES_H | # include | #endif | #ifdef HAVE_STDINT_H | # include | #endif | #ifdef HAVE_UNISTD_H | # include | #endif | int | main () | { | static int test_array [1 - 2 * !(((long int) (sizeof (wchar_t))) <= 1)]; | test_array [0] = 0; | return test_array [0]; | | ; | return 0; | } configure:17066: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 conftest.c: In function 'main': conftest.c:140:12: error: size of array 'test_array' is negative static int test_array [1 - 2 * !(((long int) (sizeof (wchar_t))) <= 3)]; ^~~~~~~~~~ configure:17066: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "libarchive" | #define PACKAGE_TARNAME "libarchive" | #define PACKAGE_VERSION "3.4.0" | #define PACKAGE_STRING "libarchive 3.4.0" | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com" | #define PACKAGE_URL "" | #define PACKAGE "libarchive" | #define VERSION "3.4.0" | #define LIBARCHIVE_VERSION_STRING "3.4.0" | #define LIBARCHIVE_VERSION_NUMBER "3004000" | #define BSDCPIO_VERSION_STRING "3.4.0" | #define BSDTAR_VERSION_STRING "3.4.0" | #define BSDCAT_VERSION_STRING "3.4.0" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define __EXTENSIONS__ 1 | #define _ALL_SOURCE 1 | #define _GNU_SOURCE 1 | #define _POSIX_PTHREAD_SEMANTICS 1 | #define _TANDEM_SOURCE 1 | #define LT_OBJDIR ".libs/" | #define HAVE_DIRENT_H 1 | #define HAVE_SYS_WAIT_H 1 | #define HAVE_CTYPE_H 1 | #define HAVE_ERRNO_H 1 | #define HAVE_FCNTL_H 1 | #define HAVE_GRP_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_LANGINFO_H 1 | #define HAVE_LIMITS_H 1 | #define HAVE_LINUX_FIEMAP_H 1 | #define HAVE_LINUX_FS_H 1 | #define HAVE_LINUX_MAGIC_H 1 | #define HAVE_LINUX_TYPES_H 1 | #define HAVE_WORKING_FS_IOC_GETFLAGS 1 | #define HAVE_LOCALE_H 1 | #define HAVE_PATHS_H 1 | #define HAVE_POLL_H 1 | #define HAVE_PTHREAD_H 1 | #define HAVE_PWD_H 1 | #define HAVE_SIGNAL_H 1 | #define HAVE_SPAWN_H 1 | #define HAVE_STDARG_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_SYS_CDEFS_H 1 | #define HAVE_SYS_IOCTL_H 1 | #define HAVE_SYS_MOUNT_H 1 | #define HAVE_SYS_PARAM_H 1 | #define HAVE_SYS_POLL_H 1 | #define HAVE_SYS_SELECT_H 1 | #define HAVE_SYS_STATFS_H 1 | #define HAVE_SYS_STATVFS_H 1 | #define HAVE_SYS_SYSMACROS_H 1 | #define HAVE_SYS_TIME_H 1 | #define HAVE_SYS_UTSNAME_H 1 | #define HAVE_SYS_VFS_H 1 | #define HAVE_SYS_XATTR_H 1 | #define HAVE_TIME_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_UTIME_H 1 | #define HAVE_WCHAR_H 1 | #define HAVE_WCTYPE_H 1 | #define HAVE_ICONV 1 | #define ICONV_CONST | #define HAVE_ICONV_H 1 | #define HAVE_LZMA_H 1 | #define HAVE_LIBLZMA 1 | #define HAVE_LZMA_STREAM_ENCODER_MT 1 | #define HAVE_REGEX_H 1 | #define HAVE_STRUCT_TM_TM_GMTOFF 1 | #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1 | #define HAVE_STRUCT_STAT_ST_BLKSIZE 1 | #define HAVE_UINTMAX_T 1 | #define HAVE_UNSIGNED_LONG_LONG 1 | #define HAVE_UNSIGNED_LONG_LONG_INT 1 | #define HAVE_LONG_LONG_INT 1 | #define HAVE_INTMAX_T 1 | #define HAVE_UINTMAX_T 1 | #define HAVE_DECL_SIZE_MAX 1 | #define HAVE_DECL_INT32_MAX 1 | #define HAVE_DECL_INT32_MIN 1 | #define HAVE_DECL_INT64_MAX 1 | #define HAVE_DECL_INT64_MIN 1 | #define HAVE_DECL_UINT64_MAX 1 | #define HAVE_DECL_UINT32_MAX 1 | #define HAVE_DECL_INTMAX_MAX 1 | #define HAVE_DECL_INTMAX_MIN 1 | #define HAVE_DECL_UINTMAX_MAX 1 | #define HAVE_DECL_SSIZE_MAX 1 | #define HAVE_EILSEQ 1 | #define HAVE_WCHAR_T 1 | /* end confdefs.h. */ | #include | #ifdef HAVE_SYS_TYPES_H | # include | #endif | #ifdef HAVE_SYS_STAT_H | # include | #endif | #ifdef STDC_HEADERS | # include | # include | #else | # ifdef HAVE_STDLIB_H | # include | # endif | #endif | #ifdef HAVE_STRING_H | # if !defined STDC_HEADERS && defined HAVE_MEMORY_H | # include | # endif | # include | #endif | #ifdef HAVE_STRINGS_H | # include | #endif | #ifdef HAVE_INTTYPES_H | # include | #endif | #ifdef HAVE_STDINT_H | # include | #endif | #ifdef HAVE_UNISTD_H | # include | #endif | int | main () | { | static int test_array [1 - 2 * !(((long int) (sizeof (wchar_t))) <= 3)]; | test_array [0] = 0; | return test_array [0]; | | ; | return 0; | } configure:17066: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 configure:17066: $? = 0 configure:17066: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 configure:17066: $? = 0 configure:17066: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 configure:17066: $? = 0 configure:17080: result: 4 configure:17093: checking whether time.h and sys/time.h may both be included configure:17113: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 configure:17113: $? = 0 configure:17120: result: yes configure:17131: checking whether /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc needs -traditional In file included from conftest.c:106:0: /home/buildroot/autobuild/instance-0/output/host/arm-buildroot-uclinux-uclibcgnueabi/sysroot/usr/include/sgtty.h:21:2: warning: #warning useless header on uClibc [-Wcpp] #warning useless header on uClibc ^~~~~~~ configure:17165: result: no configure:17172: checking whether sys/types.h defines makedev configure:17188: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -o conftest -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Wl,-elf2flt -static conftest.c -llzma >&5 configure:17188: $? = 0 configure:17197: result: yes configure:17222: checking for _LARGEFILE_SOURCE value needed for large files configure:17241: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -o conftest -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Wl,-elf2flt -static conftest.c -llzma >&5 configure:17241: $? = 0 configure:17269: result: no configure:17290: checking for working memcmp configure:17343: result: yes configure:17352: checking whether lstat correctly handles trailing slash configure:17395: result: no configure:17414: checking whether lstat accepts an empty string configure:17444: result: yes configure:17460: checking whether stat accepts an empty string configure:17490: result: yes configure:17506: checking whether strerror_r is declared configure:17506: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 configure:17506: $? = 0 configure:17506: result: yes configure:17519: checking for strerror_r configure:17519: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -o conftest -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Wl,-elf2flt -static conftest.c -llzma >&5 configure:17519: $? = 0 configure:17519: result: yes configure:17528: checking whether strerror_r returns char * configure:17552: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 configure:17552: $? = 0 configure:17590: result: yes configure:17600: checking for strftime configure:17600: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -o conftest -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Wl,-elf2flt -static conftest.c -llzma >&5 conftest.c:135:6: warning: conflicting types for built-in function 'strftime' [-Wbuiltin-declaration-mismatch] char strftime (); ^~~~~~~~ configure:17600: $? = 0 configure:17600: result: yes configure:17655: checking for vprintf configure:17655: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -o conftest -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Wl,-elf2flt -static conftest.c -llzma >&5 conftest.c:136:6: warning: conflicting types for built-in function 'vprintf' [-Wbuiltin-declaration-mismatch] char vprintf (); ^~~~~~~ configure:17655: $? = 0 configure:17655: result: yes configure:17661: checking for _doprnt configure:17661: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -o conftest -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Wl,-elf2flt -static conftest.c -llzma >&5 /tmp/ccLLZnsQ.o: In function `main': conftest.c:(.text.startup+0x2): undefined reference to `_doprnt' collect2: error: ld returned 1 exit status configure:17661: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "libarchive" | #define PACKAGE_TARNAME "libarchive" | #define PACKAGE_VERSION "3.4.0" | #define PACKAGE_STRING "libarchive 3.4.0" | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com" | #define PACKAGE_URL "" | #define PACKAGE "libarchive" | #define VERSION "3.4.0" | #define LIBARCHIVE_VERSION_STRING "3.4.0" | #define LIBARCHIVE_VERSION_NUMBER "3004000" | #define BSDCPIO_VERSION_STRING "3.4.0" | #define BSDTAR_VERSION_STRING "3.4.0" | #define BSDCAT_VERSION_STRING "3.4.0" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define __EXTENSIONS__ 1 | #define _ALL_SOURCE 1 | #define _GNU_SOURCE 1 | #define _POSIX_PTHREAD_SEMANTICS 1 | #define _TANDEM_SOURCE 1 | #define LT_OBJDIR ".libs/" | #define HAVE_DIRENT_H 1 | #define HAVE_SYS_WAIT_H 1 | #define HAVE_CTYPE_H 1 | #define HAVE_ERRNO_H 1 | #define HAVE_FCNTL_H 1 | #define HAVE_GRP_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_LANGINFO_H 1 | #define HAVE_LIMITS_H 1 | #define HAVE_LINUX_FIEMAP_H 1 | #define HAVE_LINUX_FS_H 1 | #define HAVE_LINUX_MAGIC_H 1 | #define HAVE_LINUX_TYPES_H 1 | #define HAVE_WORKING_FS_IOC_GETFLAGS 1 | #define HAVE_LOCALE_H 1 | #define HAVE_PATHS_H 1 | #define HAVE_POLL_H 1 | #define HAVE_PTHREAD_H 1 | #define HAVE_PWD_H 1 | #define HAVE_SIGNAL_H 1 | #define HAVE_SPAWN_H 1 | #define HAVE_STDARG_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_SYS_CDEFS_H 1 | #define HAVE_SYS_IOCTL_H 1 | #define HAVE_SYS_MOUNT_H 1 | #define HAVE_SYS_PARAM_H 1 | #define HAVE_SYS_POLL_H 1 | #define HAVE_SYS_SELECT_H 1 | #define HAVE_SYS_STATFS_H 1 | #define HAVE_SYS_STATVFS_H 1 | #define HAVE_SYS_SYSMACROS_H 1 | #define HAVE_SYS_TIME_H 1 | #define HAVE_SYS_UTSNAME_H 1 | #define HAVE_SYS_VFS_H 1 | #define HAVE_SYS_XATTR_H 1 | #define HAVE_TIME_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_UTIME_H 1 | #define HAVE_WCHAR_H 1 | #define HAVE_WCTYPE_H 1 | #define HAVE_ICONV 1 | #define ICONV_CONST | #define HAVE_ICONV_H 1 | #define HAVE_LZMA_H 1 | #define HAVE_LIBLZMA 1 | #define HAVE_LZMA_STREAM_ENCODER_MT 1 | #define HAVE_REGEX_H 1 | #define HAVE_STRUCT_TM_TM_GMTOFF 1 | #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1 | #define HAVE_STRUCT_STAT_ST_BLKSIZE 1 | #define HAVE_UINTMAX_T 1 | #define HAVE_UNSIGNED_LONG_LONG 1 | #define HAVE_UNSIGNED_LONG_LONG_INT 1 | #define HAVE_LONG_LONG_INT 1 | #define HAVE_INTMAX_T 1 | #define HAVE_UINTMAX_T 1 | #define HAVE_DECL_SIZE_MAX 1 | #define HAVE_DECL_INT32_MAX 1 | #define HAVE_DECL_INT32_MIN 1 | #define HAVE_DECL_INT64_MAX 1 | #define HAVE_DECL_INT64_MIN 1 | #define HAVE_DECL_UINT64_MAX 1 | #define HAVE_DECL_UINT32_MAX 1 | #define HAVE_DECL_INTMAX_MAX 1 | #define HAVE_DECL_INTMAX_MIN 1 | #define HAVE_DECL_UINTMAX_MAX 1 | #define HAVE_DECL_SSIZE_MAX 1 | #define HAVE_EILSEQ 1 | #define HAVE_WCHAR_T 1 | #define SIZEOF_WCHAR_T 4 | #define TIME_WITH_SYS_TIME 1 | #define HAVE_FSEEKO 1 | #define HAVE_LSTAT_EMPTY_STRING_BUG 1 | #define HAVE_STAT_EMPTY_STRING_BUG 1 | #define HAVE_DECL_STRERROR_R 1 | #define HAVE_STRERROR_R 1 | #define STRERROR_R_CHAR_P 1 | #define HAVE_STRFTIME 1 | #define HAVE_VPRINTF 1 | /* end confdefs.h. */ | /* Define _doprnt to an innocuous variant, in case declares _doprnt. | For example, HP-UX 11i declares gettimeofday. */ | #define _doprnt innocuous__doprnt | | /* System header to define __stub macros and hopefully few prototypes, | which can conflict with char _doprnt (); below. | Prefer to if __STDC__ is defined, since | exists even on freestanding compilers. */ | | #ifdef __STDC__ | # include | #else | # include | #endif | | #undef _doprnt | | /* Override any GCC internal prototype to avoid an error. | Use char because int might match the return type of a GCC | builtin and then its argument prototype would still apply. */ | #ifdef __cplusplus | extern "C" | #endif | char _doprnt (); | /* The GNU C library defines this for functions which it implements | to always fail with ENOSYS. Some functions are actually named | something starting with __ and the normal name is an alias. */ | #if defined __stub__doprnt || defined __stub____doprnt | choke me | #endif | | int | main () | { | return _doprnt (); | ; | return 0; | } configure:17661: result: no configure:17676: checking for CreateHardLinkA configure:17711: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -o conftest -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Wl,-elf2flt -static conftest.c -llzma >&5 conftest.c:123:16: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'CreateHardLinkA' char __stdcall CreateHardLinkA ( const char *, const char *, void * ); ^~~~~~~~~~~~~~~ conftest.c: In function 'main': conftest.c:135:5: error: 'CreateHardLinkA' undeclared (first use in this function) f = CreateHardLinkA; ^~~~~~~~~~~~~~~ conftest.c:135:5: note: each undeclared identifier is reported only once for each function it appears in configure:17711: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "libarchive" | #define PACKAGE_TARNAME "libarchive" | #define PACKAGE_VERSION "3.4.0" | #define PACKAGE_STRING "libarchive 3.4.0" | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com" | #define PACKAGE_URL "" | #define PACKAGE "libarchive" | #define VERSION "3.4.0" | #define LIBARCHIVE_VERSION_STRING "3.4.0" | #define LIBARCHIVE_VERSION_NUMBER "3004000" | #define BSDCPIO_VERSION_STRING "3.4.0" | #define BSDTAR_VERSION_STRING "3.4.0" | #define BSDCAT_VERSION_STRING "3.4.0" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define __EXTENSIONS__ 1 | #define _ALL_SOURCE 1 | #define _GNU_SOURCE 1 | #define _POSIX_PTHREAD_SEMANTICS 1 | #define _TANDEM_SOURCE 1 | #define LT_OBJDIR ".libs/" | #define HAVE_DIRENT_H 1 | #define HAVE_SYS_WAIT_H 1 | #define HAVE_CTYPE_H 1 | #define HAVE_ERRNO_H 1 | #define HAVE_FCNTL_H 1 | #define HAVE_GRP_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_LANGINFO_H 1 | #define HAVE_LIMITS_H 1 | #define HAVE_LINUX_FIEMAP_H 1 | #define HAVE_LINUX_FS_H 1 | #define HAVE_LINUX_MAGIC_H 1 | #define HAVE_LINUX_TYPES_H 1 | #define HAVE_WORKING_FS_IOC_GETFLAGS 1 | #define HAVE_LOCALE_H 1 | #define HAVE_PATHS_H 1 | #define HAVE_POLL_H 1 | #define HAVE_PTHREAD_H 1 | #define HAVE_PWD_H 1 | #define HAVE_SIGNAL_H 1 | #define HAVE_SPAWN_H 1 | #define HAVE_STDARG_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_SYS_CDEFS_H 1 | #define HAVE_SYS_IOCTL_H 1 | #define HAVE_SYS_MOUNT_H 1 | #define HAVE_SYS_PARAM_H 1 | #define HAVE_SYS_POLL_H 1 | #define HAVE_SYS_SELECT_H 1 | #define HAVE_SYS_STATFS_H 1 | #define HAVE_SYS_STATVFS_H 1 | #define HAVE_SYS_SYSMACROS_H 1 | #define HAVE_SYS_TIME_H 1 | #define HAVE_SYS_UTSNAME_H 1 | #define HAVE_SYS_VFS_H 1 | #define HAVE_SYS_XATTR_H 1 | #define HAVE_TIME_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_UTIME_H 1 | #define HAVE_WCHAR_H 1 | #define HAVE_WCTYPE_H 1 | #define HAVE_ICONV 1 | #define ICONV_CONST | #define HAVE_ICONV_H 1 | #define HAVE_LZMA_H 1 | #define HAVE_LIBLZMA 1 | #define HAVE_LZMA_STREAM_ENCODER_MT 1 | #define HAVE_REGEX_H 1 | #define HAVE_STRUCT_TM_TM_GMTOFF 1 | #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1 | #define HAVE_STRUCT_STAT_ST_BLKSIZE 1 | #define HAVE_UINTMAX_T 1 | #define HAVE_UNSIGNED_LONG_LONG 1 | #define HAVE_UNSIGNED_LONG_LONG_INT 1 | #define HAVE_LONG_LONG_INT 1 | #define HAVE_INTMAX_T 1 | #define HAVE_UINTMAX_T 1 | #define HAVE_DECL_SIZE_MAX 1 | #define HAVE_DECL_INT32_MAX 1 | #define HAVE_DECL_INT32_MIN 1 | #define HAVE_DECL_INT64_MAX 1 | #define HAVE_DECL_INT64_MIN 1 | #define HAVE_DECL_UINT64_MAX 1 | #define HAVE_DECL_UINT32_MAX 1 | #define HAVE_DECL_INTMAX_MAX 1 | #define HAVE_DECL_INTMAX_MIN 1 | #define HAVE_DECL_UINTMAX_MAX 1 | #define HAVE_DECL_SSIZE_MAX 1 | #define HAVE_EILSEQ 1 | #define HAVE_WCHAR_T 1 | #define SIZEOF_WCHAR_T 4 | #define TIME_WITH_SYS_TIME 1 | #define HAVE_FSEEKO 1 | #define HAVE_LSTAT_EMPTY_STRING_BUG 1 | #define HAVE_STAT_EMPTY_STRING_BUG 1 | #define HAVE_DECL_STRERROR_R 1 | #define HAVE_STRERROR_R 1 | #define STRERROR_R_CHAR_P 1 | #define HAVE_STRFTIME 1 | #define HAVE_VPRINTF 1 | /* end confdefs.h. */ | /* System header to define __stub macros and hopefully few prototypes, | which can conflict with char __stdcall CreateHardLinkA ( const char *, const char *, void * ) below. */ | #include | /* Override any gcc2 internal prototype to avoid an error. */ | #ifdef __cplusplus | extern "C" | #endif | /* We use char because int might match the return type of a gcc2 | builtin and then its argument prototype would still apply. */ | char __stdcall CreateHardLinkA ( const char *, const char *, void * ); | char (*f) ( const char *, const char *, void * ); | | int | main () | { | /* The GNU C library defines this for functions which it implements | to always fail with ENOSYS. Some functions are actually named | something starting with __ and the normal name is an alias. */ | #if defined (__stub_CreateHardLinkA) || defined (__stub___CreateHardLinkA) | choke me | #else | f = CreateHardLinkA; | #endif | | ; | return 0; | } configure:17719: result: no configure:17727: checking for arc4random_buf configure:17727: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -o conftest -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Wl,-elf2flt -static conftest.c -llzma >&5 /tmp/cczuHndW.o: In function `main': conftest.c:(.text.startup+0x2): undefined reference to `arc4random_buf' collect2: error: ld returned 1 exit status configure:17727: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "libarchive" | #define PACKAGE_TARNAME "libarchive" | #define PACKAGE_VERSION "3.4.0" | #define PACKAGE_STRING "libarchive 3.4.0" | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com" | #define PACKAGE_URL "" | #define PACKAGE "libarchive" | #define VERSION "3.4.0" | #define LIBARCHIVE_VERSION_STRING "3.4.0" | #define LIBARCHIVE_VERSION_NUMBER "3004000" | #define BSDCPIO_VERSION_STRING "3.4.0" | #define BSDTAR_VERSION_STRING "3.4.0" | #define BSDCAT_VERSION_STRING "3.4.0" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define __EXTENSIONS__ 1 | #define _ALL_SOURCE 1 | #define _GNU_SOURCE 1 | #define _POSIX_PTHREAD_SEMANTICS 1 | #define _TANDEM_SOURCE 1 | #define LT_OBJDIR ".libs/" | #define HAVE_DIRENT_H 1 | #define HAVE_SYS_WAIT_H 1 | #define HAVE_CTYPE_H 1 | #define HAVE_ERRNO_H 1 | #define HAVE_FCNTL_H 1 | #define HAVE_GRP_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_LANGINFO_H 1 | #define HAVE_LIMITS_H 1 | #define HAVE_LINUX_FIEMAP_H 1 | #define HAVE_LINUX_FS_H 1 | #define HAVE_LINUX_MAGIC_H 1 | #define HAVE_LINUX_TYPES_H 1 | #define HAVE_WORKING_FS_IOC_GETFLAGS 1 | #define HAVE_LOCALE_H 1 | #define HAVE_PATHS_H 1 | #define HAVE_POLL_H 1 | #define HAVE_PTHREAD_H 1 | #define HAVE_PWD_H 1 | #define HAVE_SIGNAL_H 1 | #define HAVE_SPAWN_H 1 | #define HAVE_STDARG_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_SYS_CDEFS_H 1 | #define HAVE_SYS_IOCTL_H 1 | #define HAVE_SYS_MOUNT_H 1 | #define HAVE_SYS_PARAM_H 1 | #define HAVE_SYS_POLL_H 1 | #define HAVE_SYS_SELECT_H 1 | #define HAVE_SYS_STATFS_H 1 | #define HAVE_SYS_STATVFS_H 1 | #define HAVE_SYS_SYSMACROS_H 1 | #define HAVE_SYS_TIME_H 1 | #define HAVE_SYS_UTSNAME_H 1 | #define HAVE_SYS_VFS_H 1 | #define HAVE_SYS_XATTR_H 1 | #define HAVE_TIME_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_UTIME_H 1 | #define HAVE_WCHAR_H 1 | #define HAVE_WCTYPE_H 1 | #define HAVE_ICONV 1 | #define ICONV_CONST | #define HAVE_ICONV_H 1 | #define HAVE_LZMA_H 1 | #define HAVE_LIBLZMA 1 | #define HAVE_LZMA_STREAM_ENCODER_MT 1 | #define HAVE_REGEX_H 1 | #define HAVE_STRUCT_TM_TM_GMTOFF 1 | #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1 | #define HAVE_STRUCT_STAT_ST_BLKSIZE 1 | #define HAVE_UINTMAX_T 1 | #define HAVE_UNSIGNED_LONG_LONG 1 | #define HAVE_UNSIGNED_LONG_LONG_INT 1 | #define HAVE_LONG_LONG_INT 1 | #define HAVE_INTMAX_T 1 | #define HAVE_UINTMAX_T 1 | #define HAVE_DECL_SIZE_MAX 1 | #define HAVE_DECL_INT32_MAX 1 | #define HAVE_DECL_INT32_MIN 1 | #define HAVE_DECL_INT64_MAX 1 | #define HAVE_DECL_INT64_MIN 1 | #define HAVE_DECL_UINT64_MAX 1 | #define HAVE_DECL_UINT32_MAX 1 | #define HAVE_DECL_INTMAX_MAX 1 | #define HAVE_DECL_INTMAX_MIN 1 | #define HAVE_DECL_UINTMAX_MAX 1 | #define HAVE_DECL_SSIZE_MAX 1 | #define HAVE_EILSEQ 1 | #define HAVE_WCHAR_T 1 | #define SIZEOF_WCHAR_T 4 | #define TIME_WITH_SYS_TIME 1 | #define HAVE_FSEEKO 1 | #define HAVE_LSTAT_EMPTY_STRING_BUG 1 | #define HAVE_STAT_EMPTY_STRING_BUG 1 | #define HAVE_DECL_STRERROR_R 1 | #define HAVE_STRERROR_R 1 | #define STRERROR_R_CHAR_P 1 | #define HAVE_STRFTIME 1 | #define HAVE_VPRINTF 1 | /* end confdefs.h. */ | /* Define arc4random_buf to an innocuous variant, in case declares arc4random_buf. | For example, HP-UX 11i declares gettimeofday. */ | #define arc4random_buf innocuous_arc4random_buf | | /* System header to define __stub macros and hopefully few prototypes, | which can conflict with char arc4random_buf (); below. | Prefer to if __STDC__ is defined, since | exists even on freestanding compilers. */ | | #ifdef __STDC__ | # include | #else | # include | #endif | | #undef arc4random_buf | | /* Override any GCC internal prototype to avoid an error. | Use char because int might match the return type of a GCC | builtin and then its argument prototype would still apply. */ | #ifdef __cplusplus | extern "C" | #endif | char arc4random_buf (); | /* The GNU C library defines this for functions which it implements | to always fail with ENOSYS. Some functions are actually named | something starting with __ and the normal name is an alias. */ | #if defined __stub_arc4random_buf || defined __stub___arc4random_buf | choke me | #endif | | int | main () | { | return arc4random_buf (); | ; | return 0; | } configure:17727: result: no configure:17727: checking for chflags configure:17727: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -o conftest -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Wl,-elf2flt -static conftest.c -llzma >&5 /tmp/cchlUIM1.o: In function `main': conftest.c:(.text.startup+0x2): undefined reference to `chflags' collect2: error: ld returned 1 exit status configure:17727: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "libarchive" | #define PACKAGE_TARNAME "libarchive" | #define PACKAGE_VERSION "3.4.0" | #define PACKAGE_STRING "libarchive 3.4.0" | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com" | #define PACKAGE_URL "" | #define PACKAGE "libarchive" | #define VERSION "3.4.0" | #define LIBARCHIVE_VERSION_STRING "3.4.0" | #define LIBARCHIVE_VERSION_NUMBER "3004000" | #define BSDCPIO_VERSION_STRING "3.4.0" | #define BSDTAR_VERSION_STRING "3.4.0" | #define BSDCAT_VERSION_STRING "3.4.0" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define __EXTENSIONS__ 1 | #define _ALL_SOURCE 1 | #define _GNU_SOURCE 1 | #define _POSIX_PTHREAD_SEMANTICS 1 | #define _TANDEM_SOURCE 1 | #define LT_OBJDIR ".libs/" | #define HAVE_DIRENT_H 1 | #define HAVE_SYS_WAIT_H 1 | #define HAVE_CTYPE_H 1 | #define HAVE_ERRNO_H 1 | #define HAVE_FCNTL_H 1 | #define HAVE_GRP_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_LANGINFO_H 1 | #define HAVE_LIMITS_H 1 | #define HAVE_LINUX_FIEMAP_H 1 | #define HAVE_LINUX_FS_H 1 | #define HAVE_LINUX_MAGIC_H 1 | #define HAVE_LINUX_TYPES_H 1 | #define HAVE_WORKING_FS_IOC_GETFLAGS 1 | #define HAVE_LOCALE_H 1 | #define HAVE_PATHS_H 1 | #define HAVE_POLL_H 1 | #define HAVE_PTHREAD_H 1 | #define HAVE_PWD_H 1 | #define HAVE_SIGNAL_H 1 | #define HAVE_SPAWN_H 1 | #define HAVE_STDARG_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_SYS_CDEFS_H 1 | #define HAVE_SYS_IOCTL_H 1 | #define HAVE_SYS_MOUNT_H 1 | #define HAVE_SYS_PARAM_H 1 | #define HAVE_SYS_POLL_H 1 | #define HAVE_SYS_SELECT_H 1 | #define HAVE_SYS_STATFS_H 1 | #define HAVE_SYS_STATVFS_H 1 | #define HAVE_SYS_SYSMACROS_H 1 | #define HAVE_SYS_TIME_H 1 | #define HAVE_SYS_UTSNAME_H 1 | #define HAVE_SYS_VFS_H 1 | #define HAVE_SYS_XATTR_H 1 | #define HAVE_TIME_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_UTIME_H 1 | #define HAVE_WCHAR_H 1 | #define HAVE_WCTYPE_H 1 | #define HAVE_ICONV 1 | #define ICONV_CONST | #define HAVE_ICONV_H 1 | #define HAVE_LZMA_H 1 | #define HAVE_LIBLZMA 1 | #define HAVE_LZMA_STREAM_ENCODER_MT 1 | #define HAVE_REGEX_H 1 | #define HAVE_STRUCT_TM_TM_GMTOFF 1 | #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1 | #define HAVE_STRUCT_STAT_ST_BLKSIZE 1 | #define HAVE_UINTMAX_T 1 | #define HAVE_UNSIGNED_LONG_LONG 1 | #define HAVE_UNSIGNED_LONG_LONG_INT 1 | #define HAVE_LONG_LONG_INT 1 | #define HAVE_INTMAX_T 1 | #define HAVE_UINTMAX_T 1 | #define HAVE_DECL_SIZE_MAX 1 | #define HAVE_DECL_INT32_MAX 1 | #define HAVE_DECL_INT32_MIN 1 | #define HAVE_DECL_INT64_MAX 1 | #define HAVE_DECL_INT64_MIN 1 | #define HAVE_DECL_UINT64_MAX 1 | #define HAVE_DECL_UINT32_MAX 1 | #define HAVE_DECL_INTMAX_MAX 1 | #define HAVE_DECL_INTMAX_MIN 1 | #define HAVE_DECL_UINTMAX_MAX 1 | #define HAVE_DECL_SSIZE_MAX 1 | #define HAVE_EILSEQ 1 | #define HAVE_WCHAR_T 1 | #define SIZEOF_WCHAR_T 4 | #define TIME_WITH_SYS_TIME 1 | #define HAVE_FSEEKO 1 | #define HAVE_LSTAT_EMPTY_STRING_BUG 1 | #define HAVE_STAT_EMPTY_STRING_BUG 1 | #define HAVE_DECL_STRERROR_R 1 | #define HAVE_STRERROR_R 1 | #define STRERROR_R_CHAR_P 1 | #define HAVE_STRFTIME 1 | #define HAVE_VPRINTF 1 | /* end confdefs.h. */ | /* Define chflags to an innocuous variant, in case declares chflags. | For example, HP-UX 11i declares gettimeofday. */ | #define chflags innocuous_chflags | | /* System header to define __stub macros and hopefully few prototypes, | which can conflict with char chflags (); below. | Prefer to if __STDC__ is defined, since | exists even on freestanding compilers. */ | | #ifdef __STDC__ | # include | #else | # include | #endif | | #undef chflags | | /* Override any GCC internal prototype to avoid an error. | Use char because int might match the return type of a GCC | builtin and then its argument prototype would still apply. */ | #ifdef __cplusplus | extern "C" | #endif | char chflags (); | /* The GNU C library defines this for functions which it implements | to always fail with ENOSYS. Some functions are actually named | something starting with __ and the normal name is an alias. */ | #if defined __stub_chflags || defined __stub___chflags | choke me | #endif | | int | main () | { | return chflags (); | ; | return 0; | } configure:17727: result: no configure:17727: checking for chown configure:17727: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -o conftest -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Wl,-elf2flt -static conftest.c -llzma >&5 configure:17727: $? = 0 configure:17727: result: yes configure:17727: checking for chroot configure:17727: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -o conftest -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Wl,-elf2flt -static conftest.c -llzma >&5 configure:17727: $? = 0 configure:17727: result: yes configure:17727: checking for ctime_r configure:17727: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -o conftest -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Wl,-elf2flt -static conftest.c -llzma >&5 configure:17727: $? = 0 configure:17727: result: yes configure:17739: checking for fchdir configure:17739: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -o conftest -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Wl,-elf2flt -static conftest.c -llzma >&5 configure:17739: $? = 0 configure:17739: result: yes configure:17739: checking for fchflags configure:17739: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -o conftest -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Wl,-elf2flt -static conftest.c -llzma >&5 /tmp/ccDCwuMu.o: In function `main': conftest.c:(.text.startup+0x2): undefined reference to `fchflags' collect2: error: ld returned 1 exit status configure:17739: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "libarchive" | #define PACKAGE_TARNAME "libarchive" | #define PACKAGE_VERSION "3.4.0" | #define PACKAGE_STRING "libarchive 3.4.0" | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com" | #define PACKAGE_URL "" | #define PACKAGE "libarchive" | #define VERSION "3.4.0" | #define LIBARCHIVE_VERSION_STRING "3.4.0" | #define LIBARCHIVE_VERSION_NUMBER "3004000" | #define BSDCPIO_VERSION_STRING "3.4.0" | #define BSDTAR_VERSION_STRING "3.4.0" | #define BSDCAT_VERSION_STRING "3.4.0" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define __EXTENSIONS__ 1 | #define _ALL_SOURCE 1 | #define _GNU_SOURCE 1 | #define _POSIX_PTHREAD_SEMANTICS 1 | #define _TANDEM_SOURCE 1 | #define LT_OBJDIR ".libs/" | #define HAVE_DIRENT_H 1 | #define HAVE_SYS_WAIT_H 1 | #define HAVE_CTYPE_H 1 | #define HAVE_ERRNO_H 1 | #define HAVE_FCNTL_H 1 | #define HAVE_GRP_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_LANGINFO_H 1 | #define HAVE_LIMITS_H 1 | #define HAVE_LINUX_FIEMAP_H 1 | #define HAVE_LINUX_FS_H 1 | #define HAVE_LINUX_MAGIC_H 1 | #define HAVE_LINUX_TYPES_H 1 | #define HAVE_WORKING_FS_IOC_GETFLAGS 1 | #define HAVE_LOCALE_H 1 | #define HAVE_PATHS_H 1 | #define HAVE_POLL_H 1 | #define HAVE_PTHREAD_H 1 | #define HAVE_PWD_H 1 | #define HAVE_SIGNAL_H 1 | #define HAVE_SPAWN_H 1 | #define HAVE_STDARG_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_SYS_CDEFS_H 1 | #define HAVE_SYS_IOCTL_H 1 | #define HAVE_SYS_MOUNT_H 1 | #define HAVE_SYS_PARAM_H 1 | #define HAVE_SYS_POLL_H 1 | #define HAVE_SYS_SELECT_H 1 | #define HAVE_SYS_STATFS_H 1 | #define HAVE_SYS_STATVFS_H 1 | #define HAVE_SYS_SYSMACROS_H 1 | #define HAVE_SYS_TIME_H 1 | #define HAVE_SYS_UTSNAME_H 1 | #define HAVE_SYS_VFS_H 1 | #define HAVE_SYS_XATTR_H 1 | #define HAVE_TIME_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_UTIME_H 1 | #define HAVE_WCHAR_H 1 | #define HAVE_WCTYPE_H 1 | #define HAVE_ICONV 1 | #define ICONV_CONST | #define HAVE_ICONV_H 1 | #define HAVE_LZMA_H 1 | #define HAVE_LIBLZMA 1 | #define HAVE_LZMA_STREAM_ENCODER_MT 1 | #define HAVE_REGEX_H 1 | #define HAVE_STRUCT_TM_TM_GMTOFF 1 | #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1 | #define HAVE_STRUCT_STAT_ST_BLKSIZE 1 | #define HAVE_UINTMAX_T 1 | #define HAVE_UNSIGNED_LONG_LONG 1 | #define HAVE_UNSIGNED_LONG_LONG_INT 1 | #define HAVE_LONG_LONG_INT 1 | #define HAVE_INTMAX_T 1 | #define HAVE_UINTMAX_T 1 | #define HAVE_DECL_SIZE_MAX 1 | #define HAVE_DECL_INT32_MAX 1 | #define HAVE_DECL_INT32_MIN 1 | #define HAVE_DECL_INT64_MAX 1 | #define HAVE_DECL_INT64_MIN 1 | #define HAVE_DECL_UINT64_MAX 1 | #define HAVE_DECL_UINT32_MAX 1 | #define HAVE_DECL_INTMAX_MAX 1 | #define HAVE_DECL_INTMAX_MIN 1 | #define HAVE_DECL_UINTMAX_MAX 1 | #define HAVE_DECL_SSIZE_MAX 1 | #define HAVE_EILSEQ 1 | #define HAVE_WCHAR_T 1 | #define SIZEOF_WCHAR_T 4 | #define TIME_WITH_SYS_TIME 1 | #define HAVE_FSEEKO 1 | #define HAVE_LSTAT_EMPTY_STRING_BUG 1 | #define HAVE_STAT_EMPTY_STRING_BUG 1 | #define HAVE_DECL_STRERROR_R 1 | #define HAVE_STRERROR_R 1 | #define STRERROR_R_CHAR_P 1 | #define HAVE_STRFTIME 1 | #define HAVE_VPRINTF 1 | #define HAVE_CHOWN 1 | #define HAVE_CHROOT 1 | #define HAVE_CTIME_R 1 | #define HAVE_FCHDIR 1 | /* end confdefs.h. */ | /* Define fchflags to an innocuous variant, in case declares fchflags. | For example, HP-UX 11i declares gettimeofday. */ | #define fchflags innocuous_fchflags | | /* System header to define __stub macros and hopefully few prototypes, | which can conflict with char fchflags (); below. | Prefer to if __STDC__ is defined, since | exists even on freestanding compilers. */ | | #ifdef __STDC__ | # include | #else | # include | #endif | | #undef fchflags | | /* Override any GCC internal prototype to avoid an error. | Use char because int might match the return type of a GCC | builtin and then its argument prototype would still apply. */ | #ifdef __cplusplus | extern "C" | #endif | char fchflags (); | /* The GNU C library defines this for functions which it implements | to always fail with ENOSYS. Some functions are actually named | something starting with __ and the normal name is an alias. */ | #if defined __stub_fchflags || defined __stub___fchflags | choke me | #endif | | int | main () | { | return fchflags (); | ; | return 0; | } configure:17739: result: no configure:17739: checking for fchmod configure:17739: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -o conftest -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Wl,-elf2flt -static conftest.c -llzma >&5 configure:17739: $? = 0 configure:17739: result: yes configure:17739: checking for fchown configure:17739: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -o conftest -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Wl,-elf2flt -static conftest.c -llzma >&5 configure:17739: $? = 0 configure:17739: result: yes configure:17739: checking for fcntl configure:17739: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -o conftest -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Wl,-elf2flt -static conftest.c -llzma >&5 configure:17739: $? = 0 configure:17739: result: yes configure:17739: checking for fdopendir configure:17739: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -o conftest -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Wl,-elf2flt -static conftest.c -llzma >&5 configure:17739: $? = 0 configure:17739: result: yes configure:17739: checking for fork configure:17739: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -o conftest -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Wl,-elf2flt -static conftest.c -llzma >&5 conftest.c:145:6: warning: conflicting types for built-in function 'fork' [-Wbuiltin-declaration-mismatch] char fork (); ^~~~ /tmp/cckVbaIU.o: In function `main': conftest.c:(.text.startup+0x2): undefined reference to `fork' collect2: error: ld returned 1 exit status configure:17739: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "libarchive" | #define PACKAGE_TARNAME "libarchive" | #define PACKAGE_VERSION "3.4.0" | #define PACKAGE_STRING "libarchive 3.4.0" | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com" | #define PACKAGE_URL "" | #define PACKAGE "libarchive" | #define VERSION "3.4.0" | #define LIBARCHIVE_VERSION_STRING "3.4.0" | #define LIBARCHIVE_VERSION_NUMBER "3004000" | #define BSDCPIO_VERSION_STRING "3.4.0" | #define BSDTAR_VERSION_STRING "3.4.0" | #define BSDCAT_VERSION_STRING "3.4.0" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define __EXTENSIONS__ 1 | #define _ALL_SOURCE 1 | #define _GNU_SOURCE 1 | #define _POSIX_PTHREAD_SEMANTICS 1 | #define _TANDEM_SOURCE 1 | #define LT_OBJDIR ".libs/" | #define HAVE_DIRENT_H 1 | #define HAVE_SYS_WAIT_H 1 | #define HAVE_CTYPE_H 1 | #define HAVE_ERRNO_H 1 | #define HAVE_FCNTL_H 1 | #define HAVE_GRP_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_LANGINFO_H 1 | #define HAVE_LIMITS_H 1 | #define HAVE_LINUX_FIEMAP_H 1 | #define HAVE_LINUX_FS_H 1 | #define HAVE_LINUX_MAGIC_H 1 | #define HAVE_LINUX_TYPES_H 1 | #define HAVE_WORKING_FS_IOC_GETFLAGS 1 | #define HAVE_LOCALE_H 1 | #define HAVE_PATHS_H 1 | #define HAVE_POLL_H 1 | #define HAVE_PTHREAD_H 1 | #define HAVE_PWD_H 1 | #define HAVE_SIGNAL_H 1 | #define HAVE_SPAWN_H 1 | #define HAVE_STDARG_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_SYS_CDEFS_H 1 | #define HAVE_SYS_IOCTL_H 1 | #define HAVE_SYS_MOUNT_H 1 | #define HAVE_SYS_PARAM_H 1 | #define HAVE_SYS_POLL_H 1 | #define HAVE_SYS_SELECT_H 1 | #define HAVE_SYS_STATFS_H 1 | #define HAVE_SYS_STATVFS_H 1 | #define HAVE_SYS_SYSMACROS_H 1 | #define HAVE_SYS_TIME_H 1 | #define HAVE_SYS_UTSNAME_H 1 | #define HAVE_SYS_VFS_H 1 | #define HAVE_SYS_XATTR_H 1 | #define HAVE_TIME_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_UTIME_H 1 | #define HAVE_WCHAR_H 1 | #define HAVE_WCTYPE_H 1 | #define HAVE_ICONV 1 | #define ICONV_CONST | #define HAVE_ICONV_H 1 | #define HAVE_LZMA_H 1 | #define HAVE_LIBLZMA 1 | #define HAVE_LZMA_STREAM_ENCODER_MT 1 | #define HAVE_REGEX_H 1 | #define HAVE_STRUCT_TM_TM_GMTOFF 1 | #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1 | #define HAVE_STRUCT_STAT_ST_BLKSIZE 1 | #define HAVE_UINTMAX_T 1 | #define HAVE_UNSIGNED_LONG_LONG 1 | #define HAVE_UNSIGNED_LONG_LONG_INT 1 | #define HAVE_LONG_LONG_INT 1 | #define HAVE_INTMAX_T 1 | #define HAVE_UINTMAX_T 1 | #define HAVE_DECL_SIZE_MAX 1 | #define HAVE_DECL_INT32_MAX 1 | #define HAVE_DECL_INT32_MIN 1 | #define HAVE_DECL_INT64_MAX 1 | #define HAVE_DECL_INT64_MIN 1 | #define HAVE_DECL_UINT64_MAX 1 | #define HAVE_DECL_UINT32_MAX 1 | #define HAVE_DECL_INTMAX_MAX 1 | #define HAVE_DECL_INTMAX_MIN 1 | #define HAVE_DECL_UINTMAX_MAX 1 | #define HAVE_DECL_SSIZE_MAX 1 | #define HAVE_EILSEQ 1 | #define HAVE_WCHAR_T 1 | #define SIZEOF_WCHAR_T 4 | #define TIME_WITH_SYS_TIME 1 | #define HAVE_FSEEKO 1 | #define HAVE_LSTAT_EMPTY_STRING_BUG 1 | #define HAVE_STAT_EMPTY_STRING_BUG 1 | #define HAVE_DECL_STRERROR_R 1 | #define HAVE_STRERROR_R 1 | #define STRERROR_R_CHAR_P 1 | #define HAVE_STRFTIME 1 | #define HAVE_VPRINTF 1 | #define HAVE_CHOWN 1 | #define HAVE_CHROOT 1 | #define HAVE_CTIME_R 1 | #define HAVE_FCHDIR 1 | #define HAVE_FCHMOD 1 | #define HAVE_FCHOWN 1 | #define HAVE_FCNTL 1 | #define HAVE_FDOPENDIR 1 | /* end confdefs.h. */ | /* Define fork to an innocuous variant, in case declares fork. | For example, HP-UX 11i declares gettimeofday. */ | #define fork innocuous_fork | | /* System header to define __stub macros and hopefully few prototypes, | which can conflict with char fork (); below. | Prefer to if __STDC__ is defined, since | exists even on freestanding compilers. */ | | #ifdef __STDC__ | # include | #else | # include | #endif | | #undef fork | | /* Override any GCC internal prototype to avoid an error. | Use char because int might match the return type of a GCC | builtin and then its argument prototype would still apply. */ | #ifdef __cplusplus | extern "C" | #endif | char fork (); | /* The GNU C library defines this for functions which it implements | to always fail with ENOSYS. Some functions are actually named | something starting with __ and the normal name is an alias. */ | #if defined __stub_fork || defined __stub___fork | choke me | #endif | | int | main () | { | return fork (); | ; | return 0; | } configure:17739: result: no configure:17751: checking for fstat configure:17751: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -o conftest -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Wl,-elf2flt -static conftest.c -llzma >&5 configure:17751: $? = 0 configure:17751: result: yes configure:17751: checking for fstatat configure:17751: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -o conftest -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Wl,-elf2flt -static conftest.c -llzma >&5 configure:17751: $? = 0 configure:17751: result: yes configure:17751: checking for fstatfs configure:17751: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -o conftest -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Wl,-elf2flt -static conftest.c -llzma >&5 configure:17751: $? = 0 configure:17751: result: yes configure:17751: checking for fstatvfs configure:17751: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -o conftest -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Wl,-elf2flt -static conftest.c -llzma >&5 configure:17751: $? = 0 configure:17751: result: yes configure:17751: checking for ftruncate configure:17751: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -o conftest -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Wl,-elf2flt -static conftest.c -llzma >&5 configure:17751: $? = 0 configure:17751: result: yes configure:17763: checking for futimens configure:17763: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -o conftest -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Wl,-elf2flt -static conftest.c -llzma >&5 configure:17763: $? = 0 configure:17763: result: yes configure:17763: checking for futimes configure:17763: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -o conftest -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Wl,-elf2flt -static conftest.c -llzma >&5 /tmp/ccQLkPsB.o: In function `main': conftest.c:(.text.startup+0x2): undefined reference to `futimes' collect2: error: ld returned 1 exit status configure:17763: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "libarchive" | #define PACKAGE_TARNAME "libarchive" | #define PACKAGE_VERSION "3.4.0" | #define PACKAGE_STRING "libarchive 3.4.0" | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com" | #define PACKAGE_URL "" | #define PACKAGE "libarchive" | #define VERSION "3.4.0" | #define LIBARCHIVE_VERSION_STRING "3.4.0" | #define LIBARCHIVE_VERSION_NUMBER "3004000" | #define BSDCPIO_VERSION_STRING "3.4.0" | #define BSDTAR_VERSION_STRING "3.4.0" | #define BSDCAT_VERSION_STRING "3.4.0" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define __EXTENSIONS__ 1 | #define _ALL_SOURCE 1 | #define _GNU_SOURCE 1 | #define _POSIX_PTHREAD_SEMANTICS 1 | #define _TANDEM_SOURCE 1 | #define LT_OBJDIR ".libs/" | #define HAVE_DIRENT_H 1 | #define HAVE_SYS_WAIT_H 1 | #define HAVE_CTYPE_H 1 | #define HAVE_ERRNO_H 1 | #define HAVE_FCNTL_H 1 | #define HAVE_GRP_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_LANGINFO_H 1 | #define HAVE_LIMITS_H 1 | #define HAVE_LINUX_FIEMAP_H 1 | #define HAVE_LINUX_FS_H 1 | #define HAVE_LINUX_MAGIC_H 1 | #define HAVE_LINUX_TYPES_H 1 | #define HAVE_WORKING_FS_IOC_GETFLAGS 1 | #define HAVE_LOCALE_H 1 | #define HAVE_PATHS_H 1 | #define HAVE_POLL_H 1 | #define HAVE_PTHREAD_H 1 | #define HAVE_PWD_H 1 | #define HAVE_SIGNAL_H 1 | #define HAVE_SPAWN_H 1 | #define HAVE_STDARG_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_SYS_CDEFS_H 1 | #define HAVE_SYS_IOCTL_H 1 | #define HAVE_SYS_MOUNT_H 1 | #define HAVE_SYS_PARAM_H 1 | #define HAVE_SYS_POLL_H 1 | #define HAVE_SYS_SELECT_H 1 | #define HAVE_SYS_STATFS_H 1 | #define HAVE_SYS_STATVFS_H 1 | #define HAVE_SYS_SYSMACROS_H 1 | #define HAVE_SYS_TIME_H 1 | #define HAVE_SYS_UTSNAME_H 1 | #define HAVE_SYS_VFS_H 1 | #define HAVE_SYS_XATTR_H 1 | #define HAVE_TIME_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_UTIME_H 1 | #define HAVE_WCHAR_H 1 | #define HAVE_WCTYPE_H 1 | #define HAVE_ICONV 1 | #define ICONV_CONST | #define HAVE_ICONV_H 1 | #define HAVE_LZMA_H 1 | #define HAVE_LIBLZMA 1 | #define HAVE_LZMA_STREAM_ENCODER_MT 1 | #define HAVE_REGEX_H 1 | #define HAVE_STRUCT_TM_TM_GMTOFF 1 | #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1 | #define HAVE_STRUCT_STAT_ST_BLKSIZE 1 | #define HAVE_UINTMAX_T 1 | #define HAVE_UNSIGNED_LONG_LONG 1 | #define HAVE_UNSIGNED_LONG_LONG_INT 1 | #define HAVE_LONG_LONG_INT 1 | #define HAVE_INTMAX_T 1 | #define HAVE_UINTMAX_T 1 | #define HAVE_DECL_SIZE_MAX 1 | #define HAVE_DECL_INT32_MAX 1 | #define HAVE_DECL_INT32_MIN 1 | #define HAVE_DECL_INT64_MAX 1 | #define HAVE_DECL_INT64_MIN 1 | #define HAVE_DECL_UINT64_MAX 1 | #define HAVE_DECL_UINT32_MAX 1 | #define HAVE_DECL_INTMAX_MAX 1 | #define HAVE_DECL_INTMAX_MIN 1 | #define HAVE_DECL_UINTMAX_MAX 1 | #define HAVE_DECL_SSIZE_MAX 1 | #define HAVE_EILSEQ 1 | #define HAVE_WCHAR_T 1 | #define SIZEOF_WCHAR_T 4 | #define TIME_WITH_SYS_TIME 1 | #define HAVE_FSEEKO 1 | #define HAVE_LSTAT_EMPTY_STRING_BUG 1 | #define HAVE_STAT_EMPTY_STRING_BUG 1 | #define HAVE_DECL_STRERROR_R 1 | #define HAVE_STRERROR_R 1 | #define STRERROR_R_CHAR_P 1 | #define HAVE_STRFTIME 1 | #define HAVE_VPRINTF 1 | #define HAVE_CHOWN 1 | #define HAVE_CHROOT 1 | #define HAVE_CTIME_R 1 | #define HAVE_FCHDIR 1 | #define HAVE_FCHMOD 1 | #define HAVE_FCHOWN 1 | #define HAVE_FCNTL 1 | #define HAVE_FDOPENDIR 1 | #define HAVE_FSTAT 1 | #define HAVE_FSTATAT 1 | #define HAVE_FSTATFS 1 | #define HAVE_FSTATVFS 1 | #define HAVE_FTRUNCATE 1 | #define HAVE_FUTIMENS 1 | /* end confdefs.h. */ | /* Define futimes to an innocuous variant, in case declares futimes. | For example, HP-UX 11i declares gettimeofday. */ | #define futimes innocuous_futimes | | /* System header to define __stub macros and hopefully few prototypes, | which can conflict with char futimes (); below. | Prefer to if __STDC__ is defined, since | exists even on freestanding compilers. */ | | #ifdef __STDC__ | # include | #else | # include | #endif | | #undef futimes | | /* Override any GCC internal prototype to avoid an error. | Use char because int might match the return type of a GCC | builtin and then its argument prototype would still apply. */ | #ifdef __cplusplus | extern "C" | #endif | char futimes (); | /* The GNU C library defines this for functions which it implements | to always fail with ENOSYS. Some functions are actually named | something starting with __ and the normal name is an alias. */ | #if defined __stub_futimes || defined __stub___futimes | choke me | #endif | | int | main () | { | return futimes (); | ; | return 0; | } configure:17763: result: no configure:17763: checking for futimesat configure:17763: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -o conftest -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Wl,-elf2flt -static conftest.c -llzma >&5 configure:17763: $? = 0 configure:17763: result: yes configure:17775: checking for geteuid configure:17775: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -o conftest -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Wl,-elf2flt -static conftest.c -llzma >&5 configure:17775: $? = 0 configure:17775: result: yes configure:17775: checking for getpid configure:17775: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -o conftest -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Wl,-elf2flt -static conftest.c -llzma >&5 configure:17775: $? = 0 configure:17775: result: yes configure:17775: checking for getgrgid_r configure:17775: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -o conftest -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Wl,-elf2flt -static conftest.c -llzma >&5 configure:17775: $? = 0 configure:17775: result: yes configure:17775: checking for getgrnam_r configure:17775: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -o conftest -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Wl,-elf2flt -static conftest.c -llzma >&5 configure:17775: $? = 0 configure:17775: result: yes configure:17787: checking for getpwnam_r configure:17787: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -o conftest -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Wl,-elf2flt -static conftest.c -llzma >&5 configure:17787: $? = 0 configure:17787: result: yes configure:17787: checking for getpwuid_r configure:17787: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -o conftest -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Wl,-elf2flt -static conftest.c -llzma >&5 configure:17787: $? = 0 configure:17787: result: yes configure:17787: checking for getvfsbyname configure:17787: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -o conftest -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Wl,-elf2flt -static conftest.c -llzma >&5 /tmp/ccBDRcT7.o: In function `main': conftest.c:(.text.startup+0x2): undefined reference to `getvfsbyname' collect2: error: ld returned 1 exit status configure:17787: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "libarchive" | #define PACKAGE_TARNAME "libarchive" | #define PACKAGE_VERSION "3.4.0" | #define PACKAGE_STRING "libarchive 3.4.0" | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com" | #define PACKAGE_URL "" | #define PACKAGE "libarchive" | #define VERSION "3.4.0" | #define LIBARCHIVE_VERSION_STRING "3.4.0" | #define LIBARCHIVE_VERSION_NUMBER "3004000" | #define BSDCPIO_VERSION_STRING "3.4.0" | #define BSDTAR_VERSION_STRING "3.4.0" | #define BSDCAT_VERSION_STRING "3.4.0" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define __EXTENSIONS__ 1 | #define _ALL_SOURCE 1 | #define _GNU_SOURCE 1 | #define _POSIX_PTHREAD_SEMANTICS 1 | #define _TANDEM_SOURCE 1 | #define LT_OBJDIR ".libs/" | #define HAVE_DIRENT_H 1 | #define HAVE_SYS_WAIT_H 1 | #define HAVE_CTYPE_H 1 | #define HAVE_ERRNO_H 1 | #define HAVE_FCNTL_H 1 | #define HAVE_GRP_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_LANGINFO_H 1 | #define HAVE_LIMITS_H 1 | #define HAVE_LINUX_FIEMAP_H 1 | #define HAVE_LINUX_FS_H 1 | #define HAVE_LINUX_MAGIC_H 1 | #define HAVE_LINUX_TYPES_H 1 | #define HAVE_WORKING_FS_IOC_GETFLAGS 1 | #define HAVE_LOCALE_H 1 | #define HAVE_PATHS_H 1 | #define HAVE_POLL_H 1 | #define HAVE_PTHREAD_H 1 | #define HAVE_PWD_H 1 | #define HAVE_SIGNAL_H 1 | #define HAVE_SPAWN_H 1 | #define HAVE_STDARG_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_SYS_CDEFS_H 1 | #define HAVE_SYS_IOCTL_H 1 | #define HAVE_SYS_MOUNT_H 1 | #define HAVE_SYS_PARAM_H 1 | #define HAVE_SYS_POLL_H 1 | #define HAVE_SYS_SELECT_H 1 | #define HAVE_SYS_STATFS_H 1 | #define HAVE_SYS_STATVFS_H 1 | #define HAVE_SYS_SYSMACROS_H 1 | #define HAVE_SYS_TIME_H 1 | #define HAVE_SYS_UTSNAME_H 1 | #define HAVE_SYS_VFS_H 1 | #define HAVE_SYS_XATTR_H 1 | #define HAVE_TIME_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_UTIME_H 1 | #define HAVE_WCHAR_H 1 | #define HAVE_WCTYPE_H 1 | #define HAVE_ICONV 1 | #define ICONV_CONST | #define HAVE_ICONV_H 1 | #define HAVE_LZMA_H 1 | #define HAVE_LIBLZMA 1 | #define HAVE_LZMA_STREAM_ENCODER_MT 1 | #define HAVE_REGEX_H 1 | #define HAVE_STRUCT_TM_TM_GMTOFF 1 | #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1 | #define HAVE_STRUCT_STAT_ST_BLKSIZE 1 | #define HAVE_UINTMAX_T 1 | #define HAVE_UNSIGNED_LONG_LONG 1 | #define HAVE_UNSIGNED_LONG_LONG_INT 1 | #define HAVE_LONG_LONG_INT 1 | #define HAVE_INTMAX_T 1 | #define HAVE_UINTMAX_T 1 | #define HAVE_DECL_SIZE_MAX 1 | #define HAVE_DECL_INT32_MAX 1 | #define HAVE_DECL_INT32_MIN 1 | #define HAVE_DECL_INT64_MAX 1 | #define HAVE_DECL_INT64_MIN 1 | #define HAVE_DECL_UINT64_MAX 1 | #define HAVE_DECL_UINT32_MAX 1 | #define HAVE_DECL_INTMAX_MAX 1 | #define HAVE_DECL_INTMAX_MIN 1 | #define HAVE_DECL_UINTMAX_MAX 1 | #define HAVE_DECL_SSIZE_MAX 1 | #define HAVE_EILSEQ 1 | #define HAVE_WCHAR_T 1 | #define SIZEOF_WCHAR_T 4 | #define TIME_WITH_SYS_TIME 1 | #define HAVE_FSEEKO 1 | #define HAVE_LSTAT_EMPTY_STRING_BUG 1 | #define HAVE_STAT_EMPTY_STRING_BUG 1 | #define HAVE_DECL_STRERROR_R 1 | #define HAVE_STRERROR_R 1 | #define STRERROR_R_CHAR_P 1 | #define HAVE_STRFTIME 1 | #define HAVE_VPRINTF 1 | #define HAVE_CHOWN 1 | #define HAVE_CHROOT 1 | #define HAVE_CTIME_R 1 | #define HAVE_FCHDIR 1 | #define HAVE_FCHMOD 1 | #define HAVE_FCHOWN 1 | #define HAVE_FCNTL 1 | #define HAVE_FDOPENDIR 1 | #define HAVE_FSTAT 1 | #define HAVE_FSTATAT 1 | #define HAVE_FSTATFS 1 | #define HAVE_FSTATVFS 1 | #define HAVE_FTRUNCATE 1 | #define HAVE_FUTIMENS 1 | #define HAVE_FUTIMESAT 1 | #define HAVE_GETEUID 1 | #define HAVE_GETPID 1 | #define HAVE_GETGRGID_R 1 | #define HAVE_GETGRNAM_R 1 | #define HAVE_GETPWNAM_R 1 | #define HAVE_GETPWUID_R 1 | /* end confdefs.h. */ | /* Define getvfsbyname to an innocuous variant, in case declares getvfsbyname. | For example, HP-UX 11i declares gettimeofday. */ | #define getvfsbyname innocuous_getvfsbyname | | /* System header to define __stub macros and hopefully few prototypes, | which can conflict with char getvfsbyname (); below. | Prefer to if __STDC__ is defined, since | exists even on freestanding compilers. */ | | #ifdef __STDC__ | # include | #else | # include | #endif | | #undef getvfsbyname | | /* Override any GCC internal prototype to avoid an error. | Use char because int might match the return type of a GCC | builtin and then its argument prototype would still apply. */ | #ifdef __cplusplus | extern "C" | #endif | char getvfsbyname (); | /* The GNU C library defines this for functions which it implements | to always fail with ENOSYS. Some functions are actually named | something starting with __ and the normal name is an alias. */ | #if defined __stub_getvfsbyname || defined __stub___getvfsbyname | choke me | #endif | | int | main () | { | return getvfsbyname (); | ; | return 0; | } configure:17787: result: no configure:17787: checking for gmtime_r configure:17787: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -o conftest -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Wl,-elf2flt -static conftest.c -llzma >&5 configure:17787: $? = 0 configure:17787: result: yes configure:17799: checking for lchflags configure:17799: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -o conftest -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Wl,-elf2flt -static conftest.c -llzma >&5 /tmp/ccBEEs8h.o: In function `main': conftest.c:(.text.startup+0x2): undefined reference to `lchflags' collect2: error: ld returned 1 exit status configure:17799: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "libarchive" | #define PACKAGE_TARNAME "libarchive" | #define PACKAGE_VERSION "3.4.0" | #define PACKAGE_STRING "libarchive 3.4.0" | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com" | #define PACKAGE_URL "" | #define PACKAGE "libarchive" | #define VERSION "3.4.0" | #define LIBARCHIVE_VERSION_STRING "3.4.0" | #define LIBARCHIVE_VERSION_NUMBER "3004000" | #define BSDCPIO_VERSION_STRING "3.4.0" | #define BSDTAR_VERSION_STRING "3.4.0" | #define BSDCAT_VERSION_STRING "3.4.0" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define __EXTENSIONS__ 1 | #define _ALL_SOURCE 1 | #define _GNU_SOURCE 1 | #define _POSIX_PTHREAD_SEMANTICS 1 | #define _TANDEM_SOURCE 1 | #define LT_OBJDIR ".libs/" | #define HAVE_DIRENT_H 1 | #define HAVE_SYS_WAIT_H 1 | #define HAVE_CTYPE_H 1 | #define HAVE_ERRNO_H 1 | #define HAVE_FCNTL_H 1 | #define HAVE_GRP_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_LANGINFO_H 1 | #define HAVE_LIMITS_H 1 | #define HAVE_LINUX_FIEMAP_H 1 | #define HAVE_LINUX_FS_H 1 | #define HAVE_LINUX_MAGIC_H 1 | #define HAVE_LINUX_TYPES_H 1 | #define HAVE_WORKING_FS_IOC_GETFLAGS 1 | #define HAVE_LOCALE_H 1 | #define HAVE_PATHS_H 1 | #define HAVE_POLL_H 1 | #define HAVE_PTHREAD_H 1 | #define HAVE_PWD_H 1 | #define HAVE_SIGNAL_H 1 | #define HAVE_SPAWN_H 1 | #define HAVE_STDARG_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_SYS_CDEFS_H 1 | #define HAVE_SYS_IOCTL_H 1 | #define HAVE_SYS_MOUNT_H 1 | #define HAVE_SYS_PARAM_H 1 | #define HAVE_SYS_POLL_H 1 | #define HAVE_SYS_SELECT_H 1 | #define HAVE_SYS_STATFS_H 1 | #define HAVE_SYS_STATVFS_H 1 | #define HAVE_SYS_SYSMACROS_H 1 | #define HAVE_SYS_TIME_H 1 | #define HAVE_SYS_UTSNAME_H 1 | #define HAVE_SYS_VFS_H 1 | #define HAVE_SYS_XATTR_H 1 | #define HAVE_TIME_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_UTIME_H 1 | #define HAVE_WCHAR_H 1 | #define HAVE_WCTYPE_H 1 | #define HAVE_ICONV 1 | #define ICONV_CONST | #define HAVE_ICONV_H 1 | #define HAVE_LZMA_H 1 | #define HAVE_LIBLZMA 1 | #define HAVE_LZMA_STREAM_ENCODER_MT 1 | #define HAVE_REGEX_H 1 | #define HAVE_STRUCT_TM_TM_GMTOFF 1 | #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1 | #define HAVE_STRUCT_STAT_ST_BLKSIZE 1 | #define HAVE_UINTMAX_T 1 | #define HAVE_UNSIGNED_LONG_LONG 1 | #define HAVE_UNSIGNED_LONG_LONG_INT 1 | #define HAVE_LONG_LONG_INT 1 | #define HAVE_INTMAX_T 1 | #define HAVE_UINTMAX_T 1 | #define HAVE_DECL_SIZE_MAX 1 | #define HAVE_DECL_INT32_MAX 1 | #define HAVE_DECL_INT32_MIN 1 | #define HAVE_DECL_INT64_MAX 1 | #define HAVE_DECL_INT64_MIN 1 | #define HAVE_DECL_UINT64_MAX 1 | #define HAVE_DECL_UINT32_MAX 1 | #define HAVE_DECL_INTMAX_MAX 1 | #define HAVE_DECL_INTMAX_MIN 1 | #define HAVE_DECL_UINTMAX_MAX 1 | #define HAVE_DECL_SSIZE_MAX 1 | #define HAVE_EILSEQ 1 | #define HAVE_WCHAR_T 1 | #define SIZEOF_WCHAR_T 4 | #define TIME_WITH_SYS_TIME 1 | #define HAVE_FSEEKO 1 | #define HAVE_LSTAT_EMPTY_STRING_BUG 1 | #define HAVE_STAT_EMPTY_STRING_BUG 1 | #define HAVE_DECL_STRERROR_R 1 | #define HAVE_STRERROR_R 1 | #define STRERROR_R_CHAR_P 1 | #define HAVE_STRFTIME 1 | #define HAVE_VPRINTF 1 | #define HAVE_CHOWN 1 | #define HAVE_CHROOT 1 | #define HAVE_CTIME_R 1 | #define HAVE_FCHDIR 1 | #define HAVE_FCHMOD 1 | #define HAVE_FCHOWN 1 | #define HAVE_FCNTL 1 | #define HAVE_FDOPENDIR 1 | #define HAVE_FSTAT 1 | #define HAVE_FSTATAT 1 | #define HAVE_FSTATFS 1 | #define HAVE_FSTATVFS 1 | #define HAVE_FTRUNCATE 1 | #define HAVE_FUTIMENS 1 | #define HAVE_FUTIMESAT 1 | #define HAVE_GETEUID 1 | #define HAVE_GETPID 1 | #define HAVE_GETGRGID_R 1 | #define HAVE_GETGRNAM_R 1 | #define HAVE_GETPWNAM_R 1 | #define HAVE_GETPWUID_R 1 | #define HAVE_GMTIME_R 1 | /* end confdefs.h. */ | /* Define lchflags to an innocuous variant, in case declares lchflags. | For example, HP-UX 11i declares gettimeofday. */ | #define lchflags innocuous_lchflags | | /* System header to define __stub macros and hopefully few prototypes, | which can conflict with char lchflags (); below. | Prefer to if __STDC__ is defined, since | exists even on freestanding compilers. */ | | #ifdef __STDC__ | # include | #else | # include | #endif | | #undef lchflags | | /* Override any GCC internal prototype to avoid an error. | Use char because int might match the return type of a GCC | builtin and then its argument prototype would still apply. */ | #ifdef __cplusplus | extern "C" | #endif | char lchflags (); | /* The GNU C library defines this for functions which it implements | to always fail with ENOSYS. Some functions are actually named | something starting with __ and the normal name is an alias. */ | #if defined __stub_lchflags || defined __stub___lchflags | choke me | #endif | | int | main () | { | return lchflags (); | ; | return 0; | } configure:17799: result: no configure:17799: checking for lchmod configure:17799: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -o conftest -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Wl,-elf2flt -static conftest.c -llzma >&5 /tmp/cceWBJ6m.o: In function `main': conftest.c:(.text.startup+0x2): undefined reference to `lchmod' collect2: error: ld returned 1 exit status configure:17799: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "libarchive" | #define PACKAGE_TARNAME "libarchive" | #define PACKAGE_VERSION "3.4.0" | #define PACKAGE_STRING "libarchive 3.4.0" | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com" | #define PACKAGE_URL "" | #define PACKAGE "libarchive" | #define VERSION "3.4.0" | #define LIBARCHIVE_VERSION_STRING "3.4.0" | #define LIBARCHIVE_VERSION_NUMBER "3004000" | #define BSDCPIO_VERSION_STRING "3.4.0" | #define BSDTAR_VERSION_STRING "3.4.0" | #define BSDCAT_VERSION_STRING "3.4.0" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define __EXTENSIONS__ 1 | #define _ALL_SOURCE 1 | #define _GNU_SOURCE 1 | #define _POSIX_PTHREAD_SEMANTICS 1 | #define _TANDEM_SOURCE 1 | #define LT_OBJDIR ".libs/" | #define HAVE_DIRENT_H 1 | #define HAVE_SYS_WAIT_H 1 | #define HAVE_CTYPE_H 1 | #define HAVE_ERRNO_H 1 | #define HAVE_FCNTL_H 1 | #define HAVE_GRP_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_LANGINFO_H 1 | #define HAVE_LIMITS_H 1 | #define HAVE_LINUX_FIEMAP_H 1 | #define HAVE_LINUX_FS_H 1 | #define HAVE_LINUX_MAGIC_H 1 | #define HAVE_LINUX_TYPES_H 1 | #define HAVE_WORKING_FS_IOC_GETFLAGS 1 | #define HAVE_LOCALE_H 1 | #define HAVE_PATHS_H 1 | #define HAVE_POLL_H 1 | #define HAVE_PTHREAD_H 1 | #define HAVE_PWD_H 1 | #define HAVE_SIGNAL_H 1 | #define HAVE_SPAWN_H 1 | #define HAVE_STDARG_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_SYS_CDEFS_H 1 | #define HAVE_SYS_IOCTL_H 1 | #define HAVE_SYS_MOUNT_H 1 | #define HAVE_SYS_PARAM_H 1 | #define HAVE_SYS_POLL_H 1 | #define HAVE_SYS_SELECT_H 1 | #define HAVE_SYS_STATFS_H 1 | #define HAVE_SYS_STATVFS_H 1 | #define HAVE_SYS_SYSMACROS_H 1 | #define HAVE_SYS_TIME_H 1 | #define HAVE_SYS_UTSNAME_H 1 | #define HAVE_SYS_VFS_H 1 | #define HAVE_SYS_XATTR_H 1 | #define HAVE_TIME_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_UTIME_H 1 | #define HAVE_WCHAR_H 1 | #define HAVE_WCTYPE_H 1 | #define HAVE_ICONV 1 | #define ICONV_CONST | #define HAVE_ICONV_H 1 | #define HAVE_LZMA_H 1 | #define HAVE_LIBLZMA 1 | #define HAVE_LZMA_STREAM_ENCODER_MT 1 | #define HAVE_REGEX_H 1 | #define HAVE_STRUCT_TM_TM_GMTOFF 1 | #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1 | #define HAVE_STRUCT_STAT_ST_BLKSIZE 1 | #define HAVE_UINTMAX_T 1 | #define HAVE_UNSIGNED_LONG_LONG 1 | #define HAVE_UNSIGNED_LONG_LONG_INT 1 | #define HAVE_LONG_LONG_INT 1 | #define HAVE_INTMAX_T 1 | #define HAVE_UINTMAX_T 1 | #define HAVE_DECL_SIZE_MAX 1 | #define HAVE_DECL_INT32_MAX 1 | #define HAVE_DECL_INT32_MIN 1 | #define HAVE_DECL_INT64_MAX 1 | #define HAVE_DECL_INT64_MIN 1 | #define HAVE_DECL_UINT64_MAX 1 | #define HAVE_DECL_UINT32_MAX 1 | #define HAVE_DECL_INTMAX_MAX 1 | #define HAVE_DECL_INTMAX_MIN 1 | #define HAVE_DECL_UINTMAX_MAX 1 | #define HAVE_DECL_SSIZE_MAX 1 | #define HAVE_EILSEQ 1 | #define HAVE_WCHAR_T 1 | #define SIZEOF_WCHAR_T 4 | #define TIME_WITH_SYS_TIME 1 | #define HAVE_FSEEKO 1 | #define HAVE_LSTAT_EMPTY_STRING_BUG 1 | #define HAVE_STAT_EMPTY_STRING_BUG 1 | #define HAVE_DECL_STRERROR_R 1 | #define HAVE_STRERROR_R 1 | #define STRERROR_R_CHAR_P 1 | #define HAVE_STRFTIME 1 | #define HAVE_VPRINTF 1 | #define HAVE_CHOWN 1 | #define HAVE_CHROOT 1 | #define HAVE_CTIME_R 1 | #define HAVE_FCHDIR 1 | #define HAVE_FCHMOD 1 | #define HAVE_FCHOWN 1 | #define HAVE_FCNTL 1 | #define HAVE_FDOPENDIR 1 | #define HAVE_FSTAT 1 | #define HAVE_FSTATAT 1 | #define HAVE_FSTATFS 1 | #define HAVE_FSTATVFS 1 | #define HAVE_FTRUNCATE 1 | #define HAVE_FUTIMENS 1 | #define HAVE_FUTIMESAT 1 | #define HAVE_GETEUID 1 | #define HAVE_GETPID 1 | #define HAVE_GETGRGID_R 1 | #define HAVE_GETGRNAM_R 1 | #define HAVE_GETPWNAM_R 1 | #define HAVE_GETPWUID_R 1 | #define HAVE_GMTIME_R 1 | /* end confdefs.h. */ | /* Define lchmod to an innocuous variant, in case declares lchmod. | For example, HP-UX 11i declares gettimeofday. */ | #define lchmod innocuous_lchmod | | /* System header to define __stub macros and hopefully few prototypes, | which can conflict with char lchmod (); below. | Prefer to if __STDC__ is defined, since | exists even on freestanding compilers. */ | | #ifdef __STDC__ | # include | #else | # include | #endif | | #undef lchmod | | /* Override any GCC internal prototype to avoid an error. | Use char because int might match the return type of a GCC | builtin and then its argument prototype would still apply. */ | #ifdef __cplusplus | extern "C" | #endif | char lchmod (); | /* The GNU C library defines this for functions which it implements | to always fail with ENOSYS. Some functions are actually named | something starting with __ and the normal name is an alias. */ | #if defined __stub_lchmod || defined __stub___lchmod | choke me | #endif | | int | main () | { | return lchmod (); | ; | return 0; | } configure:17799: result: no configure:17799: checking for lchown configure:17799: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -o conftest -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Wl,-elf2flt -static conftest.c -llzma >&5 configure:17799: $? = 0 configure:17799: result: yes configure:17799: checking for link configure:17799: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -o conftest -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Wl,-elf2flt -static conftest.c -llzma >&5 configure:17799: $? = 0 configure:17799: result: yes configure:17799: checking for localtime_r configure:17799: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -o conftest -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Wl,-elf2flt -static conftest.c -llzma >&5 configure:17799: $? = 0 configure:17799: result: yes configure:17799: checking for lstat configure:17799: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -o conftest -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Wl,-elf2flt -static conftest.c -llzma >&5 configure:17799: $? = 0 configure:17799: result: yes configure:17799: checking for lutimes configure:17799: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -o conftest -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Wl,-elf2flt -static conftest.c -llzma >&5 configure:17799: $? = 0 configure:17799: result: yes configure:17811: checking for mbrtowc configure:17811: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -o conftest -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Wl,-elf2flt -static conftest.c -llzma >&5 configure:17811: $? = 0 configure:17811: result: yes configure:17811: checking for memmove configure:17811: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -o conftest -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Wl,-elf2flt -static conftest.c -llzma >&5 conftest.c:165:6: warning: conflicting types for built-in function 'memmove' [-Wbuiltin-declaration-mismatch] char memmove (); ^~~~~~~ configure:17811: $? = 0 configure:17811: result: yes configure:17811: checking for memset configure:17811: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -o conftest -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Wl,-elf2flt -static conftest.c -llzma >&5 conftest.c:166:6: warning: conflicting types for built-in function 'memset' [-Wbuiltin-declaration-mismatch] char memset (); ^~~~~~ configure:17811: $? = 0 configure:17811: result: yes configure:17823: checking for mkdir configure:17823: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -o conftest -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Wl,-elf2flt -static conftest.c -llzma >&5 configure:17823: $? = 0 configure:17823: result: yes configure:17823: checking for mkfifo configure:17823: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -o conftest -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Wl,-elf2flt -static conftest.c -llzma >&5 configure:17823: $? = 0 configure:17823: result: yes configure:17823: checking for mknod configure:17823: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -o conftest -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Wl,-elf2flt -static conftest.c -llzma >&5 configure:17823: $? = 0 configure:17823: result: yes configure:17823: checking for mkstemp configure:17823: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -o conftest -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Wl,-elf2flt -static conftest.c -llzma >&5 configure:17823: $? = 0 configure:17823: result: yes configure:17835: checking for nl_langinfo configure:17835: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -o conftest -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Wl,-elf2flt -static conftest.c -llzma >&5 configure:17835: $? = 0 configure:17835: result: yes configure:17835: checking for openat configure:17835: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -o conftest -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Wl,-elf2flt -static conftest.c -llzma >&5 configure:17835: $? = 0 configure:17835: result: yes configure:17835: checking for pipe configure:17835: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -o conftest -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Wl,-elf2flt -static conftest.c -llzma >&5 configure:17835: $? = 0 configure:17835: result: yes configure:17835: checking for poll configure:17835: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -o conftest -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Wl,-elf2flt -static conftest.c -llzma >&5 configure:17835: $? = 0 configure:17835: result: yes configure:17835: checking for posix_spawnp configure:17835: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -o conftest -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Wl,-elf2flt -static conftest.c -llzma >&5 configure:17835: $? = 0 configure:17835: result: yes configure:17835: checking for readlink configure:17835: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -o conftest -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Wl,-elf2flt -static conftest.c -llzma >&5 configure:17835: $? = 0 configure:17835: result: yes configure:17835: checking for readlinkat configure:17835: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -o conftest -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Wl,-elf2flt -static conftest.c -llzma >&5 configure:17835: $? = 0 configure:17835: result: yes configure:17846: checking for readpassphrase configure:17846: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -o conftest -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Wl,-elf2flt -static conftest.c -llzma >&5 /tmp/cceuKAEL.o: In function `main': conftest.c:(.text.startup+0x2): undefined reference to `readpassphrase' collect2: error: ld returned 1 exit status configure:17846: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "libarchive" | #define PACKAGE_TARNAME "libarchive" | #define PACKAGE_VERSION "3.4.0" | #define PACKAGE_STRING "libarchive 3.4.0" | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com" | #define PACKAGE_URL "" | #define PACKAGE "libarchive" | #define VERSION "3.4.0" | #define LIBARCHIVE_VERSION_STRING "3.4.0" | #define LIBARCHIVE_VERSION_NUMBER "3004000" | #define BSDCPIO_VERSION_STRING "3.4.0" | #define BSDTAR_VERSION_STRING "3.4.0" | #define BSDCAT_VERSION_STRING "3.4.0" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define __EXTENSIONS__ 1 | #define _ALL_SOURCE 1 | #define _GNU_SOURCE 1 | #define _POSIX_PTHREAD_SEMANTICS 1 | #define _TANDEM_SOURCE 1 | #define LT_OBJDIR ".libs/" | #define HAVE_DIRENT_H 1 | #define HAVE_SYS_WAIT_H 1 | #define HAVE_CTYPE_H 1 | #define HAVE_ERRNO_H 1 | #define HAVE_FCNTL_H 1 | #define HAVE_GRP_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_LANGINFO_H 1 | #define HAVE_LIMITS_H 1 | #define HAVE_LINUX_FIEMAP_H 1 | #define HAVE_LINUX_FS_H 1 | #define HAVE_LINUX_MAGIC_H 1 | #define HAVE_LINUX_TYPES_H 1 | #define HAVE_WORKING_FS_IOC_GETFLAGS 1 | #define HAVE_LOCALE_H 1 | #define HAVE_PATHS_H 1 | #define HAVE_POLL_H 1 | #define HAVE_PTHREAD_H 1 | #define HAVE_PWD_H 1 | #define HAVE_SIGNAL_H 1 | #define HAVE_SPAWN_H 1 | #define HAVE_STDARG_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_SYS_CDEFS_H 1 | #define HAVE_SYS_IOCTL_H 1 | #define HAVE_SYS_MOUNT_H 1 | #define HAVE_SYS_PARAM_H 1 | #define HAVE_SYS_POLL_H 1 | #define HAVE_SYS_SELECT_H 1 | #define HAVE_SYS_STATFS_H 1 | #define HAVE_SYS_STATVFS_H 1 | #define HAVE_SYS_SYSMACROS_H 1 | #define HAVE_SYS_TIME_H 1 | #define HAVE_SYS_UTSNAME_H 1 | #define HAVE_SYS_VFS_H 1 | #define HAVE_SYS_XATTR_H 1 | #define HAVE_TIME_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_UTIME_H 1 | #define HAVE_WCHAR_H 1 | #define HAVE_WCTYPE_H 1 | #define HAVE_ICONV 1 | #define ICONV_CONST | #define HAVE_ICONV_H 1 | #define HAVE_LZMA_H 1 | #define HAVE_LIBLZMA 1 | #define HAVE_LZMA_STREAM_ENCODER_MT 1 | #define HAVE_REGEX_H 1 | #define HAVE_STRUCT_TM_TM_GMTOFF 1 | #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1 | #define HAVE_STRUCT_STAT_ST_BLKSIZE 1 | #define HAVE_UINTMAX_T 1 | #define HAVE_UNSIGNED_LONG_LONG 1 | #define HAVE_UNSIGNED_LONG_LONG_INT 1 | #define HAVE_LONG_LONG_INT 1 | #define HAVE_INTMAX_T 1 | #define HAVE_UINTMAX_T 1 | #define HAVE_DECL_SIZE_MAX 1 | #define HAVE_DECL_INT32_MAX 1 | #define HAVE_DECL_INT32_MIN 1 | #define HAVE_DECL_INT64_MAX 1 | #define HAVE_DECL_INT64_MIN 1 | #define HAVE_DECL_UINT64_MAX 1 | #define HAVE_DECL_UINT32_MAX 1 | #define HAVE_DECL_INTMAX_MAX 1 | #define HAVE_DECL_INTMAX_MIN 1 | #define HAVE_DECL_UINTMAX_MAX 1 | #define HAVE_DECL_SSIZE_MAX 1 | #define HAVE_EILSEQ 1 | #define HAVE_WCHAR_T 1 | #define SIZEOF_WCHAR_T 4 | #define TIME_WITH_SYS_TIME 1 | #define HAVE_FSEEKO 1 | #define HAVE_LSTAT_EMPTY_STRING_BUG 1 | #define HAVE_STAT_EMPTY_STRING_BUG 1 | #define HAVE_DECL_STRERROR_R 1 | #define HAVE_STRERROR_R 1 | #define STRERROR_R_CHAR_P 1 | #define HAVE_STRFTIME 1 | #define HAVE_VPRINTF 1 | #define HAVE_CHOWN 1 | #define HAVE_CHROOT 1 | #define HAVE_CTIME_R 1 | #define HAVE_FCHDIR 1 | #define HAVE_FCHMOD 1 | #define HAVE_FCHOWN 1 | #define HAVE_FCNTL 1 | #define HAVE_FDOPENDIR 1 | #define HAVE_FSTAT 1 | #define HAVE_FSTATAT 1 | #define HAVE_FSTATFS 1 | #define HAVE_FSTATVFS 1 | #define HAVE_FTRUNCATE 1 | #define HAVE_FUTIMENS 1 | #define HAVE_FUTIMESAT 1 | #define HAVE_GETEUID 1 | #define HAVE_GETPID 1 | #define HAVE_GETGRGID_R 1 | #define HAVE_GETGRNAM_R 1 | #define HAVE_GETPWNAM_R 1 | #define HAVE_GETPWUID_R 1 | #define HAVE_GMTIME_R 1 | #define HAVE_LCHOWN 1 | #define HAVE_LINK 1 | #define HAVE_LOCALTIME_R 1 | #define HAVE_LSTAT 1 | #define HAVE_LUTIMES 1 | #define HAVE_MBRTOWC 1 | #define HAVE_MEMMOVE 1 | #define HAVE_MEMSET 1 | #define HAVE_MKDIR 1 | #define HAVE_MKFIFO 1 | #define HAVE_MKNOD 1 | #define HAVE_MKSTEMP 1 | #define HAVE_NL_LANGINFO 1 | #define HAVE_OPENAT 1 | #define HAVE_PIPE 1 | #define HAVE_POLL 1 | #define HAVE_POSIX_SPAWNP 1 | #define HAVE_READLINK 1 | #define HAVE_READLINKAT 1 | /* end confdefs.h. */ | /* Define readpassphrase to an innocuous variant, in case declares readpassphrase. | For example, HP-UX 11i declares gettimeofday. */ | #define readpassphrase innocuous_readpassphrase | | /* System header to define __stub macros and hopefully few prototypes, | which can conflict with char readpassphrase (); below. | Prefer to if __STDC__ is defined, since | exists even on freestanding compilers. */ | | #ifdef __STDC__ | # include | #else | # include | #endif | | #undef readpassphrase | | /* Override any GCC internal prototype to avoid an error. | Use char because int might match the return type of a GCC | builtin and then its argument prototype would still apply. */ | #ifdef __cplusplus | extern "C" | #endif | char readpassphrase (); | /* The GNU C library defines this for functions which it implements | to always fail with ENOSYS. Some functions are actually named | something starting with __ and the normal name is an alias. */ | #if defined __stub_readpassphrase || defined __stub___readpassphrase | choke me | #endif | | int | main () | { | return readpassphrase (); | ; | return 0; | } configure:17846: result: no configure:17858: checking for select configure:17858: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -o conftest -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Wl,-elf2flt -static conftest.c -llzma >&5 configure:17858: $? = 0 configure:17858: result: yes configure:17858: checking for setenv configure:17858: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -o conftest -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Wl,-elf2flt -static conftest.c -llzma >&5 configure:17858: $? = 0 configure:17858: result: yes configure:17858: checking for setlocale configure:17858: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -o conftest -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Wl,-elf2flt -static conftest.c -llzma >&5 configure:17858: $? = 0 configure:17858: result: yes configure:17858: checking for sigaction configure:17858: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -o conftest -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Wl,-elf2flt -static conftest.c -llzma >&5 configure:17858: $? = 0 configure:17858: result: yes configure:17858: checking for statfs configure:17858: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -o conftest -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Wl,-elf2flt -static conftest.c -llzma >&5 configure:17858: $? = 0 configure:17858: result: yes configure:17858: checking for statvfs configure:17858: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -o conftest -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Wl,-elf2flt -static conftest.c -llzma >&5 configure:17858: $? = 0 configure:17858: result: yes configure:17870: checking for strchr configure:17870: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -o conftest -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Wl,-elf2flt -static conftest.c -llzma >&5 conftest.c:184:6: warning: conflicting types for built-in function 'strchr' [-Wbuiltin-declaration-mismatch] char strchr (); ^~~~~~ configure:17870: $? = 0 configure:17870: result: yes configure:17870: checking for strdup configure:17870: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -o conftest -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Wl,-elf2flt -static conftest.c -llzma >&5 conftest.c:185:6: warning: conflicting types for built-in function 'strdup' [-Wbuiltin-declaration-mismatch] char strdup (); ^~~~~~ configure:17870: $? = 0 configure:17870: result: yes configure:17870: checking for strerror configure:17870: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -o conftest -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Wl,-elf2flt -static conftest.c -llzma >&5 configure:17870: $? = 0 configure:17870: result: yes configure:17870: checking for strncpy_s configure:17870: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -o conftest -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Wl,-elf2flt -static conftest.c -llzma >&5 /tmp/ccXm3DWv.o: In function `main': conftest.c:(.text.startup+0x2): undefined reference to `strncpy_s' collect2: error: ld returned 1 exit status configure:17870: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "libarchive" | #define PACKAGE_TARNAME "libarchive" | #define PACKAGE_VERSION "3.4.0" | #define PACKAGE_STRING "libarchive 3.4.0" | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com" | #define PACKAGE_URL "" | #define PACKAGE "libarchive" | #define VERSION "3.4.0" | #define LIBARCHIVE_VERSION_STRING "3.4.0" | #define LIBARCHIVE_VERSION_NUMBER "3004000" | #define BSDCPIO_VERSION_STRING "3.4.0" | #define BSDTAR_VERSION_STRING "3.4.0" | #define BSDCAT_VERSION_STRING "3.4.0" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define __EXTENSIONS__ 1 | #define _ALL_SOURCE 1 | #define _GNU_SOURCE 1 | #define _POSIX_PTHREAD_SEMANTICS 1 | #define _TANDEM_SOURCE 1 | #define LT_OBJDIR ".libs/" | #define HAVE_DIRENT_H 1 | #define HAVE_SYS_WAIT_H 1 | #define HAVE_CTYPE_H 1 | #define HAVE_ERRNO_H 1 | #define HAVE_FCNTL_H 1 | #define HAVE_GRP_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_LANGINFO_H 1 | #define HAVE_LIMITS_H 1 | #define HAVE_LINUX_FIEMAP_H 1 | #define HAVE_LINUX_FS_H 1 | #define HAVE_LINUX_MAGIC_H 1 | #define HAVE_LINUX_TYPES_H 1 | #define HAVE_WORKING_FS_IOC_GETFLAGS 1 | #define HAVE_LOCALE_H 1 | #define HAVE_PATHS_H 1 | #define HAVE_POLL_H 1 | #define HAVE_PTHREAD_H 1 | #define HAVE_PWD_H 1 | #define HAVE_SIGNAL_H 1 | #define HAVE_SPAWN_H 1 | #define HAVE_STDARG_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_SYS_CDEFS_H 1 | #define HAVE_SYS_IOCTL_H 1 | #define HAVE_SYS_MOUNT_H 1 | #define HAVE_SYS_PARAM_H 1 | #define HAVE_SYS_POLL_H 1 | #define HAVE_SYS_SELECT_H 1 | #define HAVE_SYS_STATFS_H 1 | #define HAVE_SYS_STATVFS_H 1 | #define HAVE_SYS_SYSMACROS_H 1 | #define HAVE_SYS_TIME_H 1 | #define HAVE_SYS_UTSNAME_H 1 | #define HAVE_SYS_VFS_H 1 | #define HAVE_SYS_XATTR_H 1 | #define HAVE_TIME_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_UTIME_H 1 | #define HAVE_WCHAR_H 1 | #define HAVE_WCTYPE_H 1 | #define HAVE_ICONV 1 | #define ICONV_CONST | #define HAVE_ICONV_H 1 | #define HAVE_LZMA_H 1 | #define HAVE_LIBLZMA 1 | #define HAVE_LZMA_STREAM_ENCODER_MT 1 | #define HAVE_REGEX_H 1 | #define HAVE_STRUCT_TM_TM_GMTOFF 1 | #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1 | #define HAVE_STRUCT_STAT_ST_BLKSIZE 1 | #define HAVE_UINTMAX_T 1 | #define HAVE_UNSIGNED_LONG_LONG 1 | #define HAVE_UNSIGNED_LONG_LONG_INT 1 | #define HAVE_LONG_LONG_INT 1 | #define HAVE_INTMAX_T 1 | #define HAVE_UINTMAX_T 1 | #define HAVE_DECL_SIZE_MAX 1 | #define HAVE_DECL_INT32_MAX 1 | #define HAVE_DECL_INT32_MIN 1 | #define HAVE_DECL_INT64_MAX 1 | #define HAVE_DECL_INT64_MIN 1 | #define HAVE_DECL_UINT64_MAX 1 | #define HAVE_DECL_UINT32_MAX 1 | #define HAVE_DECL_INTMAX_MAX 1 | #define HAVE_DECL_INTMAX_MIN 1 | #define HAVE_DECL_UINTMAX_MAX 1 | #define HAVE_DECL_SSIZE_MAX 1 | #define HAVE_EILSEQ 1 | #define HAVE_WCHAR_T 1 | #define SIZEOF_WCHAR_T 4 | #define TIME_WITH_SYS_TIME 1 | #define HAVE_FSEEKO 1 | #define HAVE_LSTAT_EMPTY_STRING_BUG 1 | #define HAVE_STAT_EMPTY_STRING_BUG 1 | #define HAVE_DECL_STRERROR_R 1 | #define HAVE_STRERROR_R 1 | #define STRERROR_R_CHAR_P 1 | #define HAVE_STRFTIME 1 | #define HAVE_VPRINTF 1 | #define HAVE_CHOWN 1 | #define HAVE_CHROOT 1 | #define HAVE_CTIME_R 1 | #define HAVE_FCHDIR 1 | #define HAVE_FCHMOD 1 | #define HAVE_FCHOWN 1 | #define HAVE_FCNTL 1 | #define HAVE_FDOPENDIR 1 | #define HAVE_FSTAT 1 | #define HAVE_FSTATAT 1 | #define HAVE_FSTATFS 1 | #define HAVE_FSTATVFS 1 | #define HAVE_FTRUNCATE 1 | #define HAVE_FUTIMENS 1 | #define HAVE_FUTIMESAT 1 | #define HAVE_GETEUID 1 | #define HAVE_GETPID 1 | #define HAVE_GETGRGID_R 1 | #define HAVE_GETGRNAM_R 1 | #define HAVE_GETPWNAM_R 1 | #define HAVE_GETPWUID_R 1 | #define HAVE_GMTIME_R 1 | #define HAVE_LCHOWN 1 | #define HAVE_LINK 1 | #define HAVE_LOCALTIME_R 1 | #define HAVE_LSTAT 1 | #define HAVE_LUTIMES 1 | #define HAVE_MBRTOWC 1 | #define HAVE_MEMMOVE 1 | #define HAVE_MEMSET 1 | #define HAVE_MKDIR 1 | #define HAVE_MKFIFO 1 | #define HAVE_MKNOD 1 | #define HAVE_MKSTEMP 1 | #define HAVE_NL_LANGINFO 1 | #define HAVE_OPENAT 1 | #define HAVE_PIPE 1 | #define HAVE_POLL 1 | #define HAVE_POSIX_SPAWNP 1 | #define HAVE_READLINK 1 | #define HAVE_READLINKAT 1 | #define HAVE_SELECT 1 | #define HAVE_SETENV 1 | #define HAVE_SETLOCALE 1 | #define HAVE_SIGACTION 1 | #define HAVE_STATFS 1 | #define HAVE_STATVFS 1 | #define HAVE_STRCHR 1 | #define HAVE_STRDUP 1 | #define HAVE_STRERROR 1 | /* end confdefs.h. */ | /* Define strncpy_s to an innocuous variant, in case declares strncpy_s. | For example, HP-UX 11i declares gettimeofday. */ | #define strncpy_s innocuous_strncpy_s | | /* System header to define __stub macros and hopefully few prototypes, | which can conflict with char strncpy_s (); below. | Prefer to if __STDC__ is defined, since | exists even on freestanding compilers. */ | | #ifdef __STDC__ | # include | #else | # include | #endif | | #undef strncpy_s | | /* Override any GCC internal prototype to avoid an error. | Use char because int might match the return type of a GCC | builtin and then its argument prototype would still apply. */ | #ifdef __cplusplus | extern "C" | #endif | char strncpy_s (); | /* The GNU C library defines this for functions which it implements | to always fail with ENOSYS. Some functions are actually named | something starting with __ and the normal name is an alias. */ | #if defined __stub_strncpy_s || defined __stub___strncpy_s | choke me | #endif | | int | main () | { | return strncpy_s (); | ; | return 0; | } configure:17870: result: no configure:17870: checking for strrchr configure:17870: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -o conftest -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Wl,-elf2flt -static conftest.c -llzma >&5 conftest.c:187:6: warning: conflicting types for built-in function 'strrchr' [-Wbuiltin-declaration-mismatch] char strrchr (); ^~~~~~~ configure:17870: $? = 0 configure:17870: result: yes configure:17870: checking for symlink configure:17870: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -o conftest -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Wl,-elf2flt -static conftest.c -llzma >&5 configure:17870: $? = 0 configure:17870: result: yes configure:17870: checking for timegm configure:17870: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -o conftest -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Wl,-elf2flt -static conftest.c -llzma >&5 configure:17870: $? = 0 configure:17870: result: yes configure:17882: checking for tzset configure:17882: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -o conftest -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Wl,-elf2flt -static conftest.c -llzma >&5 configure:17882: $? = 0 configure:17882: result: yes configure:17882: checking for unlinkat configure:17882: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -o conftest -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Wl,-elf2flt -static conftest.c -llzma >&5 configure:17882: $? = 0 configure:17882: result: yes configure:17882: checking for unsetenv configure:17882: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -o conftest -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Wl,-elf2flt -static conftest.c -llzma >&5 configure:17882: $? = 0 configure:17882: result: yes configure:17882: checking for utime configure:17882: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -o conftest -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Wl,-elf2flt -static conftest.c -llzma >&5 configure:17882: $? = 0 configure:17882: result: yes configure:17882: checking for utimensat configure:17882: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -o conftest -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Wl,-elf2flt -static conftest.c -llzma >&5 configure:17882: $? = 0 configure:17882: result: yes configure:17882: checking for utimes configure:17882: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -o conftest -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Wl,-elf2flt -static conftest.c -llzma >&5 configure:17882: $? = 0 configure:17882: result: yes configure:17882: checking for vfork configure:17882: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -o conftest -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Wl,-elf2flt -static conftest.c -llzma >&5 configure:17882: $? = 0 configure:17882: result: yes configure:17894: checking for wcrtomb configure:17894: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -o conftest -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Wl,-elf2flt -static conftest.c -llzma >&5 configure:17894: $? = 0 configure:17894: result: yes configure:17894: checking for wcscmp configure:17894: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -o conftest -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Wl,-elf2flt -static conftest.c -llzma >&5 configure:17894: $? = 0 configure:17894: result: yes configure:17894: checking for wcscpy configure:17894: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -o conftest -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Wl,-elf2flt -static conftest.c -llzma >&5 configure:17894: $? = 0 configure:17894: result: yes configure:17894: checking for wcslen configure:17894: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -o conftest -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Wl,-elf2flt -static conftest.c -llzma >&5 configure:17894: $? = 0 configure:17894: result: yes configure:17894: checking for wctomb configure:17894: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -o conftest -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Wl,-elf2flt -static conftest.c -llzma >&5 configure:17894: $? = 0 configure:17894: result: yes configure:17894: checking for wmemcmp configure:17894: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -o conftest -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Wl,-elf2flt -static conftest.c -llzma >&5 configure:17894: $? = 0 configure:17894: result: yes configure:17894: checking for wmemcpy configure:17894: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -o conftest -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Wl,-elf2flt -static conftest.c -llzma >&5 configure:17894: $? = 0 configure:17894: result: yes configure:17894: checking for wmemmove configure:17894: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -o conftest -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Wl,-elf2flt -static conftest.c -llzma >&5 configure:17894: $? = 0 configure:17894: result: yes configure:17906: checking for _ctime64_s configure:17906: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -o conftest -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Wl,-elf2flt -static conftest.c -llzma >&5 /tmp/ccYt4C00.o: In function `main': conftest.c:(.text.startup+0x2): undefined reference to `_ctime64_s' collect2: error: ld returned 1 exit status configure:17906: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "libarchive" | #define PACKAGE_TARNAME "libarchive" | #define PACKAGE_VERSION "3.4.0" | #define PACKAGE_STRING "libarchive 3.4.0" | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com" | #define PACKAGE_URL "" | #define PACKAGE "libarchive" | #define VERSION "3.4.0" | #define LIBARCHIVE_VERSION_STRING "3.4.0" | #define LIBARCHIVE_VERSION_NUMBER "3004000" | #define BSDCPIO_VERSION_STRING "3.4.0" | #define BSDTAR_VERSION_STRING "3.4.0" | #define BSDCAT_VERSION_STRING "3.4.0" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define __EXTENSIONS__ 1 | #define _ALL_SOURCE 1 | #define _GNU_SOURCE 1 | #define _POSIX_PTHREAD_SEMANTICS 1 | #define _TANDEM_SOURCE 1 | #define LT_OBJDIR ".libs/" | #define HAVE_DIRENT_H 1 | #define HAVE_SYS_WAIT_H 1 | #define HAVE_CTYPE_H 1 | #define HAVE_ERRNO_H 1 | #define HAVE_FCNTL_H 1 | #define HAVE_GRP_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_LANGINFO_H 1 | #define HAVE_LIMITS_H 1 | #define HAVE_LINUX_FIEMAP_H 1 | #define HAVE_LINUX_FS_H 1 | #define HAVE_LINUX_MAGIC_H 1 | #define HAVE_LINUX_TYPES_H 1 | #define HAVE_WORKING_FS_IOC_GETFLAGS 1 | #define HAVE_LOCALE_H 1 | #define HAVE_PATHS_H 1 | #define HAVE_POLL_H 1 | #define HAVE_PTHREAD_H 1 | #define HAVE_PWD_H 1 | #define HAVE_SIGNAL_H 1 | #define HAVE_SPAWN_H 1 | #define HAVE_STDARG_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_SYS_CDEFS_H 1 | #define HAVE_SYS_IOCTL_H 1 | #define HAVE_SYS_MOUNT_H 1 | #define HAVE_SYS_PARAM_H 1 | #define HAVE_SYS_POLL_H 1 | #define HAVE_SYS_SELECT_H 1 | #define HAVE_SYS_STATFS_H 1 | #define HAVE_SYS_STATVFS_H 1 | #define HAVE_SYS_SYSMACROS_H 1 | #define HAVE_SYS_TIME_H 1 | #define HAVE_SYS_UTSNAME_H 1 | #define HAVE_SYS_VFS_H 1 | #define HAVE_SYS_XATTR_H 1 | #define HAVE_TIME_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_UTIME_H 1 | #define HAVE_WCHAR_H 1 | #define HAVE_WCTYPE_H 1 | #define HAVE_ICONV 1 | #define ICONV_CONST | #define HAVE_ICONV_H 1 | #define HAVE_LZMA_H 1 | #define HAVE_LIBLZMA 1 | #define HAVE_LZMA_STREAM_ENCODER_MT 1 | #define HAVE_REGEX_H 1 | #define HAVE_STRUCT_TM_TM_GMTOFF 1 | #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1 | #define HAVE_STRUCT_STAT_ST_BLKSIZE 1 | #define HAVE_UINTMAX_T 1 | #define HAVE_UNSIGNED_LONG_LONG 1 | #define HAVE_UNSIGNED_LONG_LONG_INT 1 | #define HAVE_LONG_LONG_INT 1 | #define HAVE_INTMAX_T 1 | #define HAVE_UINTMAX_T 1 | #define HAVE_DECL_SIZE_MAX 1 | #define HAVE_DECL_INT32_MAX 1 | #define HAVE_DECL_INT32_MIN 1 | #define HAVE_DECL_INT64_MAX 1 | #define HAVE_DECL_INT64_MIN 1 | #define HAVE_DECL_UINT64_MAX 1 | #define HAVE_DECL_UINT32_MAX 1 | #define HAVE_DECL_INTMAX_MAX 1 | #define HAVE_DECL_INTMAX_MIN 1 | #define HAVE_DECL_UINTMAX_MAX 1 | #define HAVE_DECL_SSIZE_MAX 1 | #define HAVE_EILSEQ 1 | #define HAVE_WCHAR_T 1 | #define SIZEOF_WCHAR_T 4 | #define TIME_WITH_SYS_TIME 1 | #define HAVE_FSEEKO 1 | #define HAVE_LSTAT_EMPTY_STRING_BUG 1 | #define HAVE_STAT_EMPTY_STRING_BUG 1 | #define HAVE_DECL_STRERROR_R 1 | #define HAVE_STRERROR_R 1 | #define STRERROR_R_CHAR_P 1 | #define HAVE_STRFTIME 1 | #define HAVE_VPRINTF 1 | #define HAVE_CHOWN 1 | #define HAVE_CHROOT 1 | #define HAVE_CTIME_R 1 | #define HAVE_FCHDIR 1 | #define HAVE_FCHMOD 1 | #define HAVE_FCHOWN 1 | #define HAVE_FCNTL 1 | #define HAVE_FDOPENDIR 1 | #define HAVE_FSTAT 1 | #define HAVE_FSTATAT 1 | #define HAVE_FSTATFS 1 | #define HAVE_FSTATVFS 1 | #define HAVE_FTRUNCATE 1 | #define HAVE_FUTIMENS 1 | #define HAVE_FUTIMESAT 1 | #define HAVE_GETEUID 1 | #define HAVE_GETPID 1 | #define HAVE_GETGRGID_R 1 | #define HAVE_GETGRNAM_R 1 | #define HAVE_GETPWNAM_R 1 | #define HAVE_GETPWUID_R 1 | #define HAVE_GMTIME_R 1 | #define HAVE_LCHOWN 1 | #define HAVE_LINK 1 | #define HAVE_LOCALTIME_R 1 | #define HAVE_LSTAT 1 | #define HAVE_LUTIMES 1 | #define HAVE_MBRTOWC 1 | #define HAVE_MEMMOVE 1 | #define HAVE_MEMSET 1 | #define HAVE_MKDIR 1 | #define HAVE_MKFIFO 1 | #define HAVE_MKNOD 1 | #define HAVE_MKSTEMP 1 | #define HAVE_NL_LANGINFO 1 | #define HAVE_OPENAT 1 | #define HAVE_PIPE 1 | #define HAVE_POLL 1 | #define HAVE_POSIX_SPAWNP 1 | #define HAVE_READLINK 1 | #define HAVE_READLINKAT 1 | #define HAVE_SELECT 1 | #define HAVE_SETENV 1 | #define HAVE_SETLOCALE 1 | #define HAVE_SIGACTION 1 | #define HAVE_STATFS 1 | #define HAVE_STATVFS 1 | #define HAVE_STRCHR 1 | #define HAVE_STRDUP 1 | #define HAVE_STRERROR 1 | #define HAVE_STRRCHR 1 | #define HAVE_SYMLINK 1 | #define HAVE_TIMEGM 1 | #define HAVE_TZSET 1 | #define HAVE_UNLINKAT 1 | #define HAVE_UNSETENV 1 | #define HAVE_UTIME 1 | #define HAVE_UTIMENSAT 1 | #define HAVE_UTIMES 1 | #define HAVE_VFORK 1 | #define HAVE_WCRTOMB 1 | #define HAVE_WCSCMP 1 | #define HAVE_WCSCPY 1 | #define HAVE_WCSLEN 1 | #define HAVE_WCTOMB 1 | #define HAVE_WMEMCMP 1 | #define HAVE_WMEMCPY 1 | #define HAVE_WMEMMOVE 1 | /* end confdefs.h. */ | /* Define _ctime64_s to an innocuous variant, in case declares _ctime64_s. | For example, HP-UX 11i declares gettimeofday. */ | #define _ctime64_s innocuous__ctime64_s | | /* System header to define __stub macros and hopefully few prototypes, | which can conflict with char _ctime64_s (); below. | Prefer to if __STDC__ is defined, since | exists even on freestanding compilers. */ | | #ifdef __STDC__ | # include | #else | # include | #endif | | #undef _ctime64_s | | /* Override any GCC internal prototype to avoid an error. | Use char because int might match the return type of a GCC | builtin and then its argument prototype would still apply. */ | #ifdef __cplusplus | extern "C" | #endif | char _ctime64_s (); | /* The GNU C library defines this for functions which it implements | to always fail with ENOSYS. Some functions are actually named | something starting with __ and the normal name is an alias. */ | #if defined __stub__ctime64_s || defined __stub____ctime64_s | choke me | #endif | | int | main () | { | return _ctime64_s (); | ; | return 0; | } configure:17906: result: no configure:17906: checking for _fseeki64 configure:17906: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -o conftest -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Wl,-elf2flt -static conftest.c -llzma >&5 /tmp/ccUQKwU8.o: In function `main': conftest.c:(.text.startup+0x2): undefined reference to `_fseeki64' collect2: error: ld returned 1 exit status configure:17906: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "libarchive" | #define PACKAGE_TARNAME "libarchive" | #define PACKAGE_VERSION "3.4.0" | #define PACKAGE_STRING "libarchive 3.4.0" | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com" | #define PACKAGE_URL "" | #define PACKAGE "libarchive" | #define VERSION "3.4.0" | #define LIBARCHIVE_VERSION_STRING "3.4.0" | #define LIBARCHIVE_VERSION_NUMBER "3004000" | #define BSDCPIO_VERSION_STRING "3.4.0" | #define BSDTAR_VERSION_STRING "3.4.0" | #define BSDCAT_VERSION_STRING "3.4.0" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define __EXTENSIONS__ 1 | #define _ALL_SOURCE 1 | #define _GNU_SOURCE 1 | #define _POSIX_PTHREAD_SEMANTICS 1 | #define _TANDEM_SOURCE 1 | #define LT_OBJDIR ".libs/" | #define HAVE_DIRENT_H 1 | #define HAVE_SYS_WAIT_H 1 | #define HAVE_CTYPE_H 1 | #define HAVE_ERRNO_H 1 | #define HAVE_FCNTL_H 1 | #define HAVE_GRP_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_LANGINFO_H 1 | #define HAVE_LIMITS_H 1 | #define HAVE_LINUX_FIEMAP_H 1 | #define HAVE_LINUX_FS_H 1 | #define HAVE_LINUX_MAGIC_H 1 | #define HAVE_LINUX_TYPES_H 1 | #define HAVE_WORKING_FS_IOC_GETFLAGS 1 | #define HAVE_LOCALE_H 1 | #define HAVE_PATHS_H 1 | #define HAVE_POLL_H 1 | #define HAVE_PTHREAD_H 1 | #define HAVE_PWD_H 1 | #define HAVE_SIGNAL_H 1 | #define HAVE_SPAWN_H 1 | #define HAVE_STDARG_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_SYS_CDEFS_H 1 | #define HAVE_SYS_IOCTL_H 1 | #define HAVE_SYS_MOUNT_H 1 | #define HAVE_SYS_PARAM_H 1 | #define HAVE_SYS_POLL_H 1 | #define HAVE_SYS_SELECT_H 1 | #define HAVE_SYS_STATFS_H 1 | #define HAVE_SYS_STATVFS_H 1 | #define HAVE_SYS_SYSMACROS_H 1 | #define HAVE_SYS_TIME_H 1 | #define HAVE_SYS_UTSNAME_H 1 | #define HAVE_SYS_VFS_H 1 | #define HAVE_SYS_XATTR_H 1 | #define HAVE_TIME_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_UTIME_H 1 | #define HAVE_WCHAR_H 1 | #define HAVE_WCTYPE_H 1 | #define HAVE_ICONV 1 | #define ICONV_CONST | #define HAVE_ICONV_H 1 | #define HAVE_LZMA_H 1 | #define HAVE_LIBLZMA 1 | #define HAVE_LZMA_STREAM_ENCODER_MT 1 | #define HAVE_REGEX_H 1 | #define HAVE_STRUCT_TM_TM_GMTOFF 1 | #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1 | #define HAVE_STRUCT_STAT_ST_BLKSIZE 1 | #define HAVE_UINTMAX_T 1 | #define HAVE_UNSIGNED_LONG_LONG 1 | #define HAVE_UNSIGNED_LONG_LONG_INT 1 | #define HAVE_LONG_LONG_INT 1 | #define HAVE_INTMAX_T 1 | #define HAVE_UINTMAX_T 1 | #define HAVE_DECL_SIZE_MAX 1 | #define HAVE_DECL_INT32_MAX 1 | #define HAVE_DECL_INT32_MIN 1 | #define HAVE_DECL_INT64_MAX 1 | #define HAVE_DECL_INT64_MIN 1 | #define HAVE_DECL_UINT64_MAX 1 | #define HAVE_DECL_UINT32_MAX 1 | #define HAVE_DECL_INTMAX_MAX 1 | #define HAVE_DECL_INTMAX_MIN 1 | #define HAVE_DECL_UINTMAX_MAX 1 | #define HAVE_DECL_SSIZE_MAX 1 | #define HAVE_EILSEQ 1 | #define HAVE_WCHAR_T 1 | #define SIZEOF_WCHAR_T 4 | #define TIME_WITH_SYS_TIME 1 | #define HAVE_FSEEKO 1 | #define HAVE_LSTAT_EMPTY_STRING_BUG 1 | #define HAVE_STAT_EMPTY_STRING_BUG 1 | #define HAVE_DECL_STRERROR_R 1 | #define HAVE_STRERROR_R 1 | #define STRERROR_R_CHAR_P 1 | #define HAVE_STRFTIME 1 | #define HAVE_VPRINTF 1 | #define HAVE_CHOWN 1 | #define HAVE_CHROOT 1 | #define HAVE_CTIME_R 1 | #define HAVE_FCHDIR 1 | #define HAVE_FCHMOD 1 | #define HAVE_FCHOWN 1 | #define HAVE_FCNTL 1 | #define HAVE_FDOPENDIR 1 | #define HAVE_FSTAT 1 | #define HAVE_FSTATAT 1 | #define HAVE_FSTATFS 1 | #define HAVE_FSTATVFS 1 | #define HAVE_FTRUNCATE 1 | #define HAVE_FUTIMENS 1 | #define HAVE_FUTIMESAT 1 | #define HAVE_GETEUID 1 | #define HAVE_GETPID 1 | #define HAVE_GETGRGID_R 1 | #define HAVE_GETGRNAM_R 1 | #define HAVE_GETPWNAM_R 1 | #define HAVE_GETPWUID_R 1 | #define HAVE_GMTIME_R 1 | #define HAVE_LCHOWN 1 | #define HAVE_LINK 1 | #define HAVE_LOCALTIME_R 1 | #define HAVE_LSTAT 1 | #define HAVE_LUTIMES 1 | #define HAVE_MBRTOWC 1 | #define HAVE_MEMMOVE 1 | #define HAVE_MEMSET 1 | #define HAVE_MKDIR 1 | #define HAVE_MKFIFO 1 | #define HAVE_MKNOD 1 | #define HAVE_MKSTEMP 1 | #define HAVE_NL_LANGINFO 1 | #define HAVE_OPENAT 1 | #define HAVE_PIPE 1 | #define HAVE_POLL 1 | #define HAVE_POSIX_SPAWNP 1 | #define HAVE_READLINK 1 | #define HAVE_READLINKAT 1 | #define HAVE_SELECT 1 | #define HAVE_SETENV 1 | #define HAVE_SETLOCALE 1 | #define HAVE_SIGACTION 1 | #define HAVE_STATFS 1 | #define HAVE_STATVFS 1 | #define HAVE_STRCHR 1 | #define HAVE_STRDUP 1 | #define HAVE_STRERROR 1 | #define HAVE_STRRCHR 1 | #define HAVE_SYMLINK 1 | #define HAVE_TIMEGM 1 | #define HAVE_TZSET 1 | #define HAVE_UNLINKAT 1 | #define HAVE_UNSETENV 1 | #define HAVE_UTIME 1 | #define HAVE_UTIMENSAT 1 | #define HAVE_UTIMES 1 | #define HAVE_VFORK 1 | #define HAVE_WCRTOMB 1 | #define HAVE_WCSCMP 1 | #define HAVE_WCSCPY 1 | #define HAVE_WCSLEN 1 | #define HAVE_WCTOMB 1 | #define HAVE_WMEMCMP 1 | #define HAVE_WMEMCPY 1 | #define HAVE_WMEMMOVE 1 | /* end confdefs.h. */ | /* Define _fseeki64 to an innocuous variant, in case declares _fseeki64. | For example, HP-UX 11i declares gettimeofday. */ | #define _fseeki64 innocuous__fseeki64 | | /* System header to define __stub macros and hopefully few prototypes, | which can conflict with char _fseeki64 (); below. | Prefer to if __STDC__ is defined, since | exists even on freestanding compilers. */ | | #ifdef __STDC__ | # include | #else | # include | #endif | | #undef _fseeki64 | | /* Override any GCC internal prototype to avoid an error. | Use char because int might match the return type of a GCC | builtin and then its argument prototype would still apply. */ | #ifdef __cplusplus | extern "C" | #endif | char _fseeki64 (); | /* The GNU C library defines this for functions which it implements | to always fail with ENOSYS. Some functions are actually named | something starting with __ and the normal name is an alias. */ | #if defined __stub__fseeki64 || defined __stub____fseeki64 | choke me | #endif | | int | main () | { | return _fseeki64 (); | ; | return 0; | } configure:17906: result: no configure:17918: checking for _get_timezone configure:17918: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -o conftest -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Wl,-elf2flt -static conftest.c -llzma >&5 /tmp/cchhU0V5.o: In function `main': conftest.c:(.text.startup+0x2): undefined reference to `_get_timezone' collect2: error: ld returned 1 exit status configure:17918: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "libarchive" | #define PACKAGE_TARNAME "libarchive" | #define PACKAGE_VERSION "3.4.0" | #define PACKAGE_STRING "libarchive 3.4.0" | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com" | #define PACKAGE_URL "" | #define PACKAGE "libarchive" | #define VERSION "3.4.0" | #define LIBARCHIVE_VERSION_STRING "3.4.0" | #define LIBARCHIVE_VERSION_NUMBER "3004000" | #define BSDCPIO_VERSION_STRING "3.4.0" | #define BSDTAR_VERSION_STRING "3.4.0" | #define BSDCAT_VERSION_STRING "3.4.0" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define __EXTENSIONS__ 1 | #define _ALL_SOURCE 1 | #define _GNU_SOURCE 1 | #define _POSIX_PTHREAD_SEMANTICS 1 | #define _TANDEM_SOURCE 1 | #define LT_OBJDIR ".libs/" | #define HAVE_DIRENT_H 1 | #define HAVE_SYS_WAIT_H 1 | #define HAVE_CTYPE_H 1 | #define HAVE_ERRNO_H 1 | #define HAVE_FCNTL_H 1 | #define HAVE_GRP_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_LANGINFO_H 1 | #define HAVE_LIMITS_H 1 | #define HAVE_LINUX_FIEMAP_H 1 | #define HAVE_LINUX_FS_H 1 | #define HAVE_LINUX_MAGIC_H 1 | #define HAVE_LINUX_TYPES_H 1 | #define HAVE_WORKING_FS_IOC_GETFLAGS 1 | #define HAVE_LOCALE_H 1 | #define HAVE_PATHS_H 1 | #define HAVE_POLL_H 1 | #define HAVE_PTHREAD_H 1 | #define HAVE_PWD_H 1 | #define HAVE_SIGNAL_H 1 | #define HAVE_SPAWN_H 1 | #define HAVE_STDARG_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_SYS_CDEFS_H 1 | #define HAVE_SYS_IOCTL_H 1 | #define HAVE_SYS_MOUNT_H 1 | #define HAVE_SYS_PARAM_H 1 | #define HAVE_SYS_POLL_H 1 | #define HAVE_SYS_SELECT_H 1 | #define HAVE_SYS_STATFS_H 1 | #define HAVE_SYS_STATVFS_H 1 | #define HAVE_SYS_SYSMACROS_H 1 | #define HAVE_SYS_TIME_H 1 | #define HAVE_SYS_UTSNAME_H 1 | #define HAVE_SYS_VFS_H 1 | #define HAVE_SYS_XATTR_H 1 | #define HAVE_TIME_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_UTIME_H 1 | #define HAVE_WCHAR_H 1 | #define HAVE_WCTYPE_H 1 | #define HAVE_ICONV 1 | #define ICONV_CONST | #define HAVE_ICONV_H 1 | #define HAVE_LZMA_H 1 | #define HAVE_LIBLZMA 1 | #define HAVE_LZMA_STREAM_ENCODER_MT 1 | #define HAVE_REGEX_H 1 | #define HAVE_STRUCT_TM_TM_GMTOFF 1 | #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1 | #define HAVE_STRUCT_STAT_ST_BLKSIZE 1 | #define HAVE_UINTMAX_T 1 | #define HAVE_UNSIGNED_LONG_LONG 1 | #define HAVE_UNSIGNED_LONG_LONG_INT 1 | #define HAVE_LONG_LONG_INT 1 | #define HAVE_INTMAX_T 1 | #define HAVE_UINTMAX_T 1 | #define HAVE_DECL_SIZE_MAX 1 | #define HAVE_DECL_INT32_MAX 1 | #define HAVE_DECL_INT32_MIN 1 | #define HAVE_DECL_INT64_MAX 1 | #define HAVE_DECL_INT64_MIN 1 | #define HAVE_DECL_UINT64_MAX 1 | #define HAVE_DECL_UINT32_MAX 1 | #define HAVE_DECL_INTMAX_MAX 1 | #define HAVE_DECL_INTMAX_MIN 1 | #define HAVE_DECL_UINTMAX_MAX 1 | #define HAVE_DECL_SSIZE_MAX 1 | #define HAVE_EILSEQ 1 | #define HAVE_WCHAR_T 1 | #define SIZEOF_WCHAR_T 4 | #define TIME_WITH_SYS_TIME 1 | #define HAVE_FSEEKO 1 | #define HAVE_LSTAT_EMPTY_STRING_BUG 1 | #define HAVE_STAT_EMPTY_STRING_BUG 1 | #define HAVE_DECL_STRERROR_R 1 | #define HAVE_STRERROR_R 1 | #define STRERROR_R_CHAR_P 1 | #define HAVE_STRFTIME 1 | #define HAVE_VPRINTF 1 | #define HAVE_CHOWN 1 | #define HAVE_CHROOT 1 | #define HAVE_CTIME_R 1 | #define HAVE_FCHDIR 1 | #define HAVE_FCHMOD 1 | #define HAVE_FCHOWN 1 | #define HAVE_FCNTL 1 | #define HAVE_FDOPENDIR 1 | #define HAVE_FSTAT 1 | #define HAVE_FSTATAT 1 | #define HAVE_FSTATFS 1 | #define HAVE_FSTATVFS 1 | #define HAVE_FTRUNCATE 1 | #define HAVE_FUTIMENS 1 | #define HAVE_FUTIMESAT 1 | #define HAVE_GETEUID 1 | #define HAVE_GETPID 1 | #define HAVE_GETGRGID_R 1 | #define HAVE_GETGRNAM_R 1 | #define HAVE_GETPWNAM_R 1 | #define HAVE_GETPWUID_R 1 | #define HAVE_GMTIME_R 1 | #define HAVE_LCHOWN 1 | #define HAVE_LINK 1 | #define HAVE_LOCALTIME_R 1 | #define HAVE_LSTAT 1 | #define HAVE_LUTIMES 1 | #define HAVE_MBRTOWC 1 | #define HAVE_MEMMOVE 1 | #define HAVE_MEMSET 1 | #define HAVE_MKDIR 1 | #define HAVE_MKFIFO 1 | #define HAVE_MKNOD 1 | #define HAVE_MKSTEMP 1 | #define HAVE_NL_LANGINFO 1 | #define HAVE_OPENAT 1 | #define HAVE_PIPE 1 | #define HAVE_POLL 1 | #define HAVE_POSIX_SPAWNP 1 | #define HAVE_READLINK 1 | #define HAVE_READLINKAT 1 | #define HAVE_SELECT 1 | #define HAVE_SETENV 1 | #define HAVE_SETLOCALE 1 | #define HAVE_SIGACTION 1 | #define HAVE_STATFS 1 | #define HAVE_STATVFS 1 | #define HAVE_STRCHR 1 | #define HAVE_STRDUP 1 | #define HAVE_STRERROR 1 | #define HAVE_STRRCHR 1 | #define HAVE_SYMLINK 1 | #define HAVE_TIMEGM 1 | #define HAVE_TZSET 1 | #define HAVE_UNLINKAT 1 | #define HAVE_UNSETENV 1 | #define HAVE_UTIME 1 | #define HAVE_UTIMENSAT 1 | #define HAVE_UTIMES 1 | #define HAVE_VFORK 1 | #define HAVE_WCRTOMB 1 | #define HAVE_WCSCMP 1 | #define HAVE_WCSCPY 1 | #define HAVE_WCSLEN 1 | #define HAVE_WCTOMB 1 | #define HAVE_WMEMCMP 1 | #define HAVE_WMEMCPY 1 | #define HAVE_WMEMMOVE 1 | /* end confdefs.h. */ | /* Define _get_timezone to an innocuous variant, in case declares _get_timezone. | For example, HP-UX 11i declares gettimeofday. */ | #define _get_timezone innocuous__get_timezone | | /* System header to define __stub macros and hopefully few prototypes, | which can conflict with char _get_timezone (); below. | Prefer to if __STDC__ is defined, since | exists even on freestanding compilers. */ | | #ifdef __STDC__ | # include | #else | # include | #endif | | #undef _get_timezone | | /* Override any GCC internal prototype to avoid an error. | Use char because int might match the return type of a GCC | builtin and then its argument prototype would still apply. */ | #ifdef __cplusplus | extern "C" | #endif | char _get_timezone (); | /* The GNU C library defines this for functions which it implements | to always fail with ENOSYS. Some functions are actually named | something starting with __ and the normal name is an alias. */ | #if defined __stub__get_timezone || defined __stub____get_timezone | choke me | #endif | | int | main () | { | return _get_timezone (); | ; | return 0; | } configure:17918: result: no configure:17918: checking for _localtime64_s configure:17918: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -o conftest -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Wl,-elf2flt -static conftest.c -llzma >&5 /tmp/ccoavCLa.o: In function `main': conftest.c:(.text.startup+0x2): undefined reference to `_localtime64_s' collect2: error: ld returned 1 exit status configure:17918: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "libarchive" | #define PACKAGE_TARNAME "libarchive" | #define PACKAGE_VERSION "3.4.0" | #define PACKAGE_STRING "libarchive 3.4.0" | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com" | #define PACKAGE_URL "" | #define PACKAGE "libarchive" | #define VERSION "3.4.0" | #define LIBARCHIVE_VERSION_STRING "3.4.0" | #define LIBARCHIVE_VERSION_NUMBER "3004000" | #define BSDCPIO_VERSION_STRING "3.4.0" | #define BSDTAR_VERSION_STRING "3.4.0" | #define BSDCAT_VERSION_STRING "3.4.0" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define __EXTENSIONS__ 1 | #define _ALL_SOURCE 1 | #define _GNU_SOURCE 1 | #define _POSIX_PTHREAD_SEMANTICS 1 | #define _TANDEM_SOURCE 1 | #define LT_OBJDIR ".libs/" | #define HAVE_DIRENT_H 1 | #define HAVE_SYS_WAIT_H 1 | #define HAVE_CTYPE_H 1 | #define HAVE_ERRNO_H 1 | #define HAVE_FCNTL_H 1 | #define HAVE_GRP_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_LANGINFO_H 1 | #define HAVE_LIMITS_H 1 | #define HAVE_LINUX_FIEMAP_H 1 | #define HAVE_LINUX_FS_H 1 | #define HAVE_LINUX_MAGIC_H 1 | #define HAVE_LINUX_TYPES_H 1 | #define HAVE_WORKING_FS_IOC_GETFLAGS 1 | #define HAVE_LOCALE_H 1 | #define HAVE_PATHS_H 1 | #define HAVE_POLL_H 1 | #define HAVE_PTHREAD_H 1 | #define HAVE_PWD_H 1 | #define HAVE_SIGNAL_H 1 | #define HAVE_SPAWN_H 1 | #define HAVE_STDARG_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_SYS_CDEFS_H 1 | #define HAVE_SYS_IOCTL_H 1 | #define HAVE_SYS_MOUNT_H 1 | #define HAVE_SYS_PARAM_H 1 | #define HAVE_SYS_POLL_H 1 | #define HAVE_SYS_SELECT_H 1 | #define HAVE_SYS_STATFS_H 1 | #define HAVE_SYS_STATVFS_H 1 | #define HAVE_SYS_SYSMACROS_H 1 | #define HAVE_SYS_TIME_H 1 | #define HAVE_SYS_UTSNAME_H 1 | #define HAVE_SYS_VFS_H 1 | #define HAVE_SYS_XATTR_H 1 | #define HAVE_TIME_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_UTIME_H 1 | #define HAVE_WCHAR_H 1 | #define HAVE_WCTYPE_H 1 | #define HAVE_ICONV 1 | #define ICONV_CONST | #define HAVE_ICONV_H 1 | #define HAVE_LZMA_H 1 | #define HAVE_LIBLZMA 1 | #define HAVE_LZMA_STREAM_ENCODER_MT 1 | #define HAVE_REGEX_H 1 | #define HAVE_STRUCT_TM_TM_GMTOFF 1 | #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1 | #define HAVE_STRUCT_STAT_ST_BLKSIZE 1 | #define HAVE_UINTMAX_T 1 | #define HAVE_UNSIGNED_LONG_LONG 1 | #define HAVE_UNSIGNED_LONG_LONG_INT 1 | #define HAVE_LONG_LONG_INT 1 | #define HAVE_INTMAX_T 1 | #define HAVE_UINTMAX_T 1 | #define HAVE_DECL_SIZE_MAX 1 | #define HAVE_DECL_INT32_MAX 1 | #define HAVE_DECL_INT32_MIN 1 | #define HAVE_DECL_INT64_MAX 1 | #define HAVE_DECL_INT64_MIN 1 | #define HAVE_DECL_UINT64_MAX 1 | #define HAVE_DECL_UINT32_MAX 1 | #define HAVE_DECL_INTMAX_MAX 1 | #define HAVE_DECL_INTMAX_MIN 1 | #define HAVE_DECL_UINTMAX_MAX 1 | #define HAVE_DECL_SSIZE_MAX 1 | #define HAVE_EILSEQ 1 | #define HAVE_WCHAR_T 1 | #define SIZEOF_WCHAR_T 4 | #define TIME_WITH_SYS_TIME 1 | #define HAVE_FSEEKO 1 | #define HAVE_LSTAT_EMPTY_STRING_BUG 1 | #define HAVE_STAT_EMPTY_STRING_BUG 1 | #define HAVE_DECL_STRERROR_R 1 | #define HAVE_STRERROR_R 1 | #define STRERROR_R_CHAR_P 1 | #define HAVE_STRFTIME 1 | #define HAVE_VPRINTF 1 | #define HAVE_CHOWN 1 | #define HAVE_CHROOT 1 | #define HAVE_CTIME_R 1 | #define HAVE_FCHDIR 1 | #define HAVE_FCHMOD 1 | #define HAVE_FCHOWN 1 | #define HAVE_FCNTL 1 | #define HAVE_FDOPENDIR 1 | #define HAVE_FSTAT 1 | #define HAVE_FSTATAT 1 | #define HAVE_FSTATFS 1 | #define HAVE_FSTATVFS 1 | #define HAVE_FTRUNCATE 1 | #define HAVE_FUTIMENS 1 | #define HAVE_FUTIMESAT 1 | #define HAVE_GETEUID 1 | #define HAVE_GETPID 1 | #define HAVE_GETGRGID_R 1 | #define HAVE_GETGRNAM_R 1 | #define HAVE_GETPWNAM_R 1 | #define HAVE_GETPWUID_R 1 | #define HAVE_GMTIME_R 1 | #define HAVE_LCHOWN 1 | #define HAVE_LINK 1 | #define HAVE_LOCALTIME_R 1 | #define HAVE_LSTAT 1 | #define HAVE_LUTIMES 1 | #define HAVE_MBRTOWC 1 | #define HAVE_MEMMOVE 1 | #define HAVE_MEMSET 1 | #define HAVE_MKDIR 1 | #define HAVE_MKFIFO 1 | #define HAVE_MKNOD 1 | #define HAVE_MKSTEMP 1 | #define HAVE_NL_LANGINFO 1 | #define HAVE_OPENAT 1 | #define HAVE_PIPE 1 | #define HAVE_POLL 1 | #define HAVE_POSIX_SPAWNP 1 | #define HAVE_READLINK 1 | #define HAVE_READLINKAT 1 | #define HAVE_SELECT 1 | #define HAVE_SETENV 1 | #define HAVE_SETLOCALE 1 | #define HAVE_SIGACTION 1 | #define HAVE_STATFS 1 | #define HAVE_STATVFS 1 | #define HAVE_STRCHR 1 | #define HAVE_STRDUP 1 | #define HAVE_STRERROR 1 | #define HAVE_STRRCHR 1 | #define HAVE_SYMLINK 1 | #define HAVE_TIMEGM 1 | #define HAVE_TZSET 1 | #define HAVE_UNLINKAT 1 | #define HAVE_UNSETENV 1 | #define HAVE_UTIME 1 | #define HAVE_UTIMENSAT 1 | #define HAVE_UTIMES 1 | #define HAVE_VFORK 1 | #define HAVE_WCRTOMB 1 | #define HAVE_WCSCMP 1 | #define HAVE_WCSCPY 1 | #define HAVE_WCSLEN 1 | #define HAVE_WCTOMB 1 | #define HAVE_WMEMCMP 1 | #define HAVE_WMEMCPY 1 | #define HAVE_WMEMMOVE 1 | /* end confdefs.h. */ | /* Define _localtime64_s to an innocuous variant, in case declares _localtime64_s. | For example, HP-UX 11i declares gettimeofday. */ | #define _localtime64_s innocuous__localtime64_s | | /* System header to define __stub macros and hopefully few prototypes, | which can conflict with char _localtime64_s (); below. | Prefer to if __STDC__ is defined, since | exists even on freestanding compilers. */ | | #ifdef __STDC__ | # include | #else | # include | #endif | | #undef _localtime64_s | | /* Override any GCC internal prototype to avoid an error. | Use char because int might match the return type of a GCC | builtin and then its argument prototype would still apply. */ | #ifdef __cplusplus | extern "C" | #endif | char _localtime64_s (); | /* The GNU C library defines this for functions which it implements | to always fail with ENOSYS. Some functions are actually named | something starting with __ and the normal name is an alias. */ | #if defined __stub__localtime64_s || defined __stub____localtime64_s | choke me | #endif | | int | main () | { | return _localtime64_s (); | ; | return 0; | } configure:17918: result: no configure:17918: checking for _mkgmtime64 configure:17918: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -o conftest -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Wl,-elf2flt -static conftest.c -llzma >&5 /tmp/ccvGH9Vc.o: In function `main': conftest.c:(.text.startup+0x2): undefined reference to `_mkgmtime64' collect2: error: ld returned 1 exit status configure:17918: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "libarchive" | #define PACKAGE_TARNAME "libarchive" | #define PACKAGE_VERSION "3.4.0" | #define PACKAGE_STRING "libarchive 3.4.0" | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com" | #define PACKAGE_URL "" | #define PACKAGE "libarchive" | #define VERSION "3.4.0" | #define LIBARCHIVE_VERSION_STRING "3.4.0" | #define LIBARCHIVE_VERSION_NUMBER "3004000" | #define BSDCPIO_VERSION_STRING "3.4.0" | #define BSDTAR_VERSION_STRING "3.4.0" | #define BSDCAT_VERSION_STRING "3.4.0" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define __EXTENSIONS__ 1 | #define _ALL_SOURCE 1 | #define _GNU_SOURCE 1 | #define _POSIX_PTHREAD_SEMANTICS 1 | #define _TANDEM_SOURCE 1 | #define LT_OBJDIR ".libs/" | #define HAVE_DIRENT_H 1 | #define HAVE_SYS_WAIT_H 1 | #define HAVE_CTYPE_H 1 | #define HAVE_ERRNO_H 1 | #define HAVE_FCNTL_H 1 | #define HAVE_GRP_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_LANGINFO_H 1 | #define HAVE_LIMITS_H 1 | #define HAVE_LINUX_FIEMAP_H 1 | #define HAVE_LINUX_FS_H 1 | #define HAVE_LINUX_MAGIC_H 1 | #define HAVE_LINUX_TYPES_H 1 | #define HAVE_WORKING_FS_IOC_GETFLAGS 1 | #define HAVE_LOCALE_H 1 | #define HAVE_PATHS_H 1 | #define HAVE_POLL_H 1 | #define HAVE_PTHREAD_H 1 | #define HAVE_PWD_H 1 | #define HAVE_SIGNAL_H 1 | #define HAVE_SPAWN_H 1 | #define HAVE_STDARG_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_SYS_CDEFS_H 1 | #define HAVE_SYS_IOCTL_H 1 | #define HAVE_SYS_MOUNT_H 1 | #define HAVE_SYS_PARAM_H 1 | #define HAVE_SYS_POLL_H 1 | #define HAVE_SYS_SELECT_H 1 | #define HAVE_SYS_STATFS_H 1 | #define HAVE_SYS_STATVFS_H 1 | #define HAVE_SYS_SYSMACROS_H 1 | #define HAVE_SYS_TIME_H 1 | #define HAVE_SYS_UTSNAME_H 1 | #define HAVE_SYS_VFS_H 1 | #define HAVE_SYS_XATTR_H 1 | #define HAVE_TIME_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_UTIME_H 1 | #define HAVE_WCHAR_H 1 | #define HAVE_WCTYPE_H 1 | #define HAVE_ICONV 1 | #define ICONV_CONST | #define HAVE_ICONV_H 1 | #define HAVE_LZMA_H 1 | #define HAVE_LIBLZMA 1 | #define HAVE_LZMA_STREAM_ENCODER_MT 1 | #define HAVE_REGEX_H 1 | #define HAVE_STRUCT_TM_TM_GMTOFF 1 | #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1 | #define HAVE_STRUCT_STAT_ST_BLKSIZE 1 | #define HAVE_UINTMAX_T 1 | #define HAVE_UNSIGNED_LONG_LONG 1 | #define HAVE_UNSIGNED_LONG_LONG_INT 1 | #define HAVE_LONG_LONG_INT 1 | #define HAVE_INTMAX_T 1 | #define HAVE_UINTMAX_T 1 | #define HAVE_DECL_SIZE_MAX 1 | #define HAVE_DECL_INT32_MAX 1 | #define HAVE_DECL_INT32_MIN 1 | #define HAVE_DECL_INT64_MAX 1 | #define HAVE_DECL_INT64_MIN 1 | #define HAVE_DECL_UINT64_MAX 1 | #define HAVE_DECL_UINT32_MAX 1 | #define HAVE_DECL_INTMAX_MAX 1 | #define HAVE_DECL_INTMAX_MIN 1 | #define HAVE_DECL_UINTMAX_MAX 1 | #define HAVE_DECL_SSIZE_MAX 1 | #define HAVE_EILSEQ 1 | #define HAVE_WCHAR_T 1 | #define SIZEOF_WCHAR_T 4 | #define TIME_WITH_SYS_TIME 1 | #define HAVE_FSEEKO 1 | #define HAVE_LSTAT_EMPTY_STRING_BUG 1 | #define HAVE_STAT_EMPTY_STRING_BUG 1 | #define HAVE_DECL_STRERROR_R 1 | #define HAVE_STRERROR_R 1 | #define STRERROR_R_CHAR_P 1 | #define HAVE_STRFTIME 1 | #define HAVE_VPRINTF 1 | #define HAVE_CHOWN 1 | #define HAVE_CHROOT 1 | #define HAVE_CTIME_R 1 | #define HAVE_FCHDIR 1 | #define HAVE_FCHMOD 1 | #define HAVE_FCHOWN 1 | #define HAVE_FCNTL 1 | #define HAVE_FDOPENDIR 1 | #define HAVE_FSTAT 1 | #define HAVE_FSTATAT 1 | #define HAVE_FSTATFS 1 | #define HAVE_FSTATVFS 1 | #define HAVE_FTRUNCATE 1 | #define HAVE_FUTIMENS 1 | #define HAVE_FUTIMESAT 1 | #define HAVE_GETEUID 1 | #define HAVE_GETPID 1 | #define HAVE_GETGRGID_R 1 | #define HAVE_GETGRNAM_R 1 | #define HAVE_GETPWNAM_R 1 | #define HAVE_GETPWUID_R 1 | #define HAVE_GMTIME_R 1 | #define HAVE_LCHOWN 1 | #define HAVE_LINK 1 | #define HAVE_LOCALTIME_R 1 | #define HAVE_LSTAT 1 | #define HAVE_LUTIMES 1 | #define HAVE_MBRTOWC 1 | #define HAVE_MEMMOVE 1 | #define HAVE_MEMSET 1 | #define HAVE_MKDIR 1 | #define HAVE_MKFIFO 1 | #define HAVE_MKNOD 1 | #define HAVE_MKSTEMP 1 | #define HAVE_NL_LANGINFO 1 | #define HAVE_OPENAT 1 | #define HAVE_PIPE 1 | #define HAVE_POLL 1 | #define HAVE_POSIX_SPAWNP 1 | #define HAVE_READLINK 1 | #define HAVE_READLINKAT 1 | #define HAVE_SELECT 1 | #define HAVE_SETENV 1 | #define HAVE_SETLOCALE 1 | #define HAVE_SIGACTION 1 | #define HAVE_STATFS 1 | #define HAVE_STATVFS 1 | #define HAVE_STRCHR 1 | #define HAVE_STRDUP 1 | #define HAVE_STRERROR 1 | #define HAVE_STRRCHR 1 | #define HAVE_SYMLINK 1 | #define HAVE_TIMEGM 1 | #define HAVE_TZSET 1 | #define HAVE_UNLINKAT 1 | #define HAVE_UNSETENV 1 | #define HAVE_UTIME 1 | #define HAVE_UTIMENSAT 1 | #define HAVE_UTIMES 1 | #define HAVE_VFORK 1 | #define HAVE_WCRTOMB 1 | #define HAVE_WCSCMP 1 | #define HAVE_WCSCPY 1 | #define HAVE_WCSLEN 1 | #define HAVE_WCTOMB 1 | #define HAVE_WMEMCMP 1 | #define HAVE_WMEMCPY 1 | #define HAVE_WMEMMOVE 1 | /* end confdefs.h. */ | /* Define _mkgmtime64 to an innocuous variant, in case declares _mkgmtime64. | For example, HP-UX 11i declares gettimeofday. */ | #define _mkgmtime64 innocuous__mkgmtime64 | | /* System header to define __stub macros and hopefully few prototypes, | which can conflict with char _mkgmtime64 (); below. | Prefer to if __STDC__ is defined, since | exists even on freestanding compilers. */ | | #ifdef __STDC__ | # include | #else | # include | #endif | | #undef _mkgmtime64 | | /* Override any GCC internal prototype to avoid an error. | Use char because int might match the return type of a GCC | builtin and then its argument prototype would still apply. */ | #ifdef __cplusplus | extern "C" | #endif | char _mkgmtime64 (); | /* The GNU C library defines this for functions which it implements | to always fail with ENOSYS. Some functions are actually named | something starting with __ and the normal name is an alias. */ | #if defined __stub__mkgmtime64 || defined __stub____mkgmtime64 | choke me | #endif | | int | main () | { | return _mkgmtime64 (); | ; | return 0; | } configure:17918: result: no configure:17930: checking for cygwin_conv_path configure:17930: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -o conftest -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Wl,-elf2flt -static conftest.c -llzma >&5 /tmp/ccu5nlsj.o: In function `main': conftest.c:(.text.startup+0x2): undefined reference to `cygwin_conv_path' collect2: error: ld returned 1 exit status configure:17930: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "libarchive" | #define PACKAGE_TARNAME "libarchive" | #define PACKAGE_VERSION "3.4.0" | #define PACKAGE_STRING "libarchive 3.4.0" | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com" | #define PACKAGE_URL "" | #define PACKAGE "libarchive" | #define VERSION "3.4.0" | #define LIBARCHIVE_VERSION_STRING "3.4.0" | #define LIBARCHIVE_VERSION_NUMBER "3004000" | #define BSDCPIO_VERSION_STRING "3.4.0" | #define BSDTAR_VERSION_STRING "3.4.0" | #define BSDCAT_VERSION_STRING "3.4.0" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define __EXTENSIONS__ 1 | #define _ALL_SOURCE 1 | #define _GNU_SOURCE 1 | #define _POSIX_PTHREAD_SEMANTICS 1 | #define _TANDEM_SOURCE 1 | #define LT_OBJDIR ".libs/" | #define HAVE_DIRENT_H 1 | #define HAVE_SYS_WAIT_H 1 | #define HAVE_CTYPE_H 1 | #define HAVE_ERRNO_H 1 | #define HAVE_FCNTL_H 1 | #define HAVE_GRP_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_LANGINFO_H 1 | #define HAVE_LIMITS_H 1 | #define HAVE_LINUX_FIEMAP_H 1 | #define HAVE_LINUX_FS_H 1 | #define HAVE_LINUX_MAGIC_H 1 | #define HAVE_LINUX_TYPES_H 1 | #define HAVE_WORKING_FS_IOC_GETFLAGS 1 | #define HAVE_LOCALE_H 1 | #define HAVE_PATHS_H 1 | #define HAVE_POLL_H 1 | #define HAVE_PTHREAD_H 1 | #define HAVE_PWD_H 1 | #define HAVE_SIGNAL_H 1 | #define HAVE_SPAWN_H 1 | #define HAVE_STDARG_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_SYS_CDEFS_H 1 | #define HAVE_SYS_IOCTL_H 1 | #define HAVE_SYS_MOUNT_H 1 | #define HAVE_SYS_PARAM_H 1 | #define HAVE_SYS_POLL_H 1 | #define HAVE_SYS_SELECT_H 1 | #define HAVE_SYS_STATFS_H 1 | #define HAVE_SYS_STATVFS_H 1 | #define HAVE_SYS_SYSMACROS_H 1 | #define HAVE_SYS_TIME_H 1 | #define HAVE_SYS_UTSNAME_H 1 | #define HAVE_SYS_VFS_H 1 | #define HAVE_SYS_XATTR_H 1 | #define HAVE_TIME_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_UTIME_H 1 | #define HAVE_WCHAR_H 1 | #define HAVE_WCTYPE_H 1 | #define HAVE_ICONV 1 | #define ICONV_CONST | #define HAVE_ICONV_H 1 | #define HAVE_LZMA_H 1 | #define HAVE_LIBLZMA 1 | #define HAVE_LZMA_STREAM_ENCODER_MT 1 | #define HAVE_REGEX_H 1 | #define HAVE_STRUCT_TM_TM_GMTOFF 1 | #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1 | #define HAVE_STRUCT_STAT_ST_BLKSIZE 1 | #define HAVE_UINTMAX_T 1 | #define HAVE_UNSIGNED_LONG_LONG 1 | #define HAVE_UNSIGNED_LONG_LONG_INT 1 | #define HAVE_LONG_LONG_INT 1 | #define HAVE_INTMAX_T 1 | #define HAVE_UINTMAX_T 1 | #define HAVE_DECL_SIZE_MAX 1 | #define HAVE_DECL_INT32_MAX 1 | #define HAVE_DECL_INT32_MIN 1 | #define HAVE_DECL_INT64_MAX 1 | #define HAVE_DECL_INT64_MIN 1 | #define HAVE_DECL_UINT64_MAX 1 | #define HAVE_DECL_UINT32_MAX 1 | #define HAVE_DECL_INTMAX_MAX 1 | #define HAVE_DECL_INTMAX_MIN 1 | #define HAVE_DECL_UINTMAX_MAX 1 | #define HAVE_DECL_SSIZE_MAX 1 | #define HAVE_EILSEQ 1 | #define HAVE_WCHAR_T 1 | #define SIZEOF_WCHAR_T 4 | #define TIME_WITH_SYS_TIME 1 | #define HAVE_FSEEKO 1 | #define HAVE_LSTAT_EMPTY_STRING_BUG 1 | #define HAVE_STAT_EMPTY_STRING_BUG 1 | #define HAVE_DECL_STRERROR_R 1 | #define HAVE_STRERROR_R 1 | #define STRERROR_R_CHAR_P 1 | #define HAVE_STRFTIME 1 | #define HAVE_VPRINTF 1 | #define HAVE_CHOWN 1 | #define HAVE_CHROOT 1 | #define HAVE_CTIME_R 1 | #define HAVE_FCHDIR 1 | #define HAVE_FCHMOD 1 | #define HAVE_FCHOWN 1 | #define HAVE_FCNTL 1 | #define HAVE_FDOPENDIR 1 | #define HAVE_FSTAT 1 | #define HAVE_FSTATAT 1 | #define HAVE_FSTATFS 1 | #define HAVE_FSTATVFS 1 | #define HAVE_FTRUNCATE 1 | #define HAVE_FUTIMENS 1 | #define HAVE_FUTIMESAT 1 | #define HAVE_GETEUID 1 | #define HAVE_GETPID 1 | #define HAVE_GETGRGID_R 1 | #define HAVE_GETGRNAM_R 1 | #define HAVE_GETPWNAM_R 1 | #define HAVE_GETPWUID_R 1 | #define HAVE_GMTIME_R 1 | #define HAVE_LCHOWN 1 | #define HAVE_LINK 1 | #define HAVE_LOCALTIME_R 1 | #define HAVE_LSTAT 1 | #define HAVE_LUTIMES 1 | #define HAVE_MBRTOWC 1 | #define HAVE_MEMMOVE 1 | #define HAVE_MEMSET 1 | #define HAVE_MKDIR 1 | #define HAVE_MKFIFO 1 | #define HAVE_MKNOD 1 | #define HAVE_MKSTEMP 1 | #define HAVE_NL_LANGINFO 1 | #define HAVE_OPENAT 1 | #define HAVE_PIPE 1 | #define HAVE_POLL 1 | #define HAVE_POSIX_SPAWNP 1 | #define HAVE_READLINK 1 | #define HAVE_READLINKAT 1 | #define HAVE_SELECT 1 | #define HAVE_SETENV 1 | #define HAVE_SETLOCALE 1 | #define HAVE_SIGACTION 1 | #define HAVE_STATFS 1 | #define HAVE_STATVFS 1 | #define HAVE_STRCHR 1 | #define HAVE_STRDUP 1 | #define HAVE_STRERROR 1 | #define HAVE_STRRCHR 1 | #define HAVE_SYMLINK 1 | #define HAVE_TIMEGM 1 | #define HAVE_TZSET 1 | #define HAVE_UNLINKAT 1 | #define HAVE_UNSETENV 1 | #define HAVE_UTIME 1 | #define HAVE_UTIMENSAT 1 | #define HAVE_UTIMES 1 | #define HAVE_VFORK 1 | #define HAVE_WCRTOMB 1 | #define HAVE_WCSCMP 1 | #define HAVE_WCSCPY 1 | #define HAVE_WCSLEN 1 | #define HAVE_WCTOMB 1 | #define HAVE_WMEMCMP 1 | #define HAVE_WMEMCPY 1 | #define HAVE_WMEMMOVE 1 | /* end confdefs.h. */ | /* Define cygwin_conv_path to an innocuous variant, in case declares cygwin_conv_path. | For example, HP-UX 11i declares gettimeofday. */ | #define cygwin_conv_path innocuous_cygwin_conv_path | | /* System header to define __stub macros and hopefully few prototypes, | which can conflict with char cygwin_conv_path (); below. | Prefer to if __STDC__ is defined, since | exists even on freestanding compilers. */ | | #ifdef __STDC__ | # include | #else | # include | #endif | | #undef cygwin_conv_path | | /* Override any GCC internal prototype to avoid an error. | Use char because int might match the return type of a GCC | builtin and then its argument prototype would still apply. */ | #ifdef __cplusplus | extern "C" | #endif | char cygwin_conv_path (); | /* The GNU C library defines this for functions which it implements | to always fail with ENOSYS. Some functions are actually named | something starting with __ and the normal name is an alias. */ | #if defined __stub_cygwin_conv_path || defined __stub___cygwin_conv_path | choke me | #endif | | int | main () | { | return cygwin_conv_path (); | ; | return 0; | } configure:17930: result: no configure:17941: checking for struct vfsconf configure:17941: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 conftest.c: In function 'main': conftest.c:191:13: error: invalid application of 'sizeof' to incomplete type 'struct vfsconf' if (sizeof (struct vfsconf)) ^~~~~~ configure:17941: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "libarchive" | #define PACKAGE_TARNAME "libarchive" | #define PACKAGE_VERSION "3.4.0" | #define PACKAGE_STRING "libarchive 3.4.0" | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com" | #define PACKAGE_URL "" | #define PACKAGE "libarchive" | #define VERSION "3.4.0" | #define LIBARCHIVE_VERSION_STRING "3.4.0" | #define LIBARCHIVE_VERSION_NUMBER "3004000" | #define BSDCPIO_VERSION_STRING "3.4.0" | #define BSDTAR_VERSION_STRING "3.4.0" | #define BSDCAT_VERSION_STRING "3.4.0" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define __EXTENSIONS__ 1 | #define _ALL_SOURCE 1 | #define _GNU_SOURCE 1 | #define _POSIX_PTHREAD_SEMANTICS 1 | #define _TANDEM_SOURCE 1 | #define LT_OBJDIR ".libs/" | #define HAVE_DIRENT_H 1 | #define HAVE_SYS_WAIT_H 1 | #define HAVE_CTYPE_H 1 | #define HAVE_ERRNO_H 1 | #define HAVE_FCNTL_H 1 | #define HAVE_GRP_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_LANGINFO_H 1 | #define HAVE_LIMITS_H 1 | #define HAVE_LINUX_FIEMAP_H 1 | #define HAVE_LINUX_FS_H 1 | #define HAVE_LINUX_MAGIC_H 1 | #define HAVE_LINUX_TYPES_H 1 | #define HAVE_WORKING_FS_IOC_GETFLAGS 1 | #define HAVE_LOCALE_H 1 | #define HAVE_PATHS_H 1 | #define HAVE_POLL_H 1 | #define HAVE_PTHREAD_H 1 | #define HAVE_PWD_H 1 | #define HAVE_SIGNAL_H 1 | #define HAVE_SPAWN_H 1 | #define HAVE_STDARG_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_SYS_CDEFS_H 1 | #define HAVE_SYS_IOCTL_H 1 | #define HAVE_SYS_MOUNT_H 1 | #define HAVE_SYS_PARAM_H 1 | #define HAVE_SYS_POLL_H 1 | #define HAVE_SYS_SELECT_H 1 | #define HAVE_SYS_STATFS_H 1 | #define HAVE_SYS_STATVFS_H 1 | #define HAVE_SYS_SYSMACROS_H 1 | #define HAVE_SYS_TIME_H 1 | #define HAVE_SYS_UTSNAME_H 1 | #define HAVE_SYS_VFS_H 1 | #define HAVE_SYS_XATTR_H 1 | #define HAVE_TIME_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_UTIME_H 1 | #define HAVE_WCHAR_H 1 | #define HAVE_WCTYPE_H 1 | #define HAVE_ICONV 1 | #define ICONV_CONST | #define HAVE_ICONV_H 1 | #define HAVE_LZMA_H 1 | #define HAVE_LIBLZMA 1 | #define HAVE_LZMA_STREAM_ENCODER_MT 1 | #define HAVE_REGEX_H 1 | #define HAVE_STRUCT_TM_TM_GMTOFF 1 | #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1 | #define HAVE_STRUCT_STAT_ST_BLKSIZE 1 | #define HAVE_UINTMAX_T 1 | #define HAVE_UNSIGNED_LONG_LONG 1 | #define HAVE_UNSIGNED_LONG_LONG_INT 1 | #define HAVE_LONG_LONG_INT 1 | #define HAVE_INTMAX_T 1 | #define HAVE_UINTMAX_T 1 | #define HAVE_DECL_SIZE_MAX 1 | #define HAVE_DECL_INT32_MAX 1 | #define HAVE_DECL_INT32_MIN 1 | #define HAVE_DECL_INT64_MAX 1 | #define HAVE_DECL_INT64_MIN 1 | #define HAVE_DECL_UINT64_MAX 1 | #define HAVE_DECL_UINT32_MAX 1 | #define HAVE_DECL_INTMAX_MAX 1 | #define HAVE_DECL_INTMAX_MIN 1 | #define HAVE_DECL_UINTMAX_MAX 1 | #define HAVE_DECL_SSIZE_MAX 1 | #define HAVE_EILSEQ 1 | #define HAVE_WCHAR_T 1 | #define SIZEOF_WCHAR_T 4 | #define TIME_WITH_SYS_TIME 1 | #define HAVE_FSEEKO 1 | #define HAVE_LSTAT_EMPTY_STRING_BUG 1 | #define HAVE_STAT_EMPTY_STRING_BUG 1 | #define HAVE_DECL_STRERROR_R 1 | #define HAVE_STRERROR_R 1 | #define STRERROR_R_CHAR_P 1 | #define HAVE_STRFTIME 1 | #define HAVE_VPRINTF 1 | #define HAVE_CHOWN 1 | #define HAVE_CHROOT 1 | #define HAVE_CTIME_R 1 | #define HAVE_FCHDIR 1 | #define HAVE_FCHMOD 1 | #define HAVE_FCHOWN 1 | #define HAVE_FCNTL 1 | #define HAVE_FDOPENDIR 1 | #define HAVE_FSTAT 1 | #define HAVE_FSTATAT 1 | #define HAVE_FSTATFS 1 | #define HAVE_FSTATVFS 1 | #define HAVE_FTRUNCATE 1 | #define HAVE_FUTIMENS 1 | #define HAVE_FUTIMESAT 1 | #define HAVE_GETEUID 1 | #define HAVE_GETPID 1 | #define HAVE_GETGRGID_R 1 | #define HAVE_GETGRNAM_R 1 | #define HAVE_GETPWNAM_R 1 | #define HAVE_GETPWUID_R 1 | #define HAVE_GMTIME_R 1 | #define HAVE_LCHOWN 1 | #define HAVE_LINK 1 | #define HAVE_LOCALTIME_R 1 | #define HAVE_LSTAT 1 | #define HAVE_LUTIMES 1 | #define HAVE_MBRTOWC 1 | #define HAVE_MEMMOVE 1 | #define HAVE_MEMSET 1 | #define HAVE_MKDIR 1 | #define HAVE_MKFIFO 1 | #define HAVE_MKNOD 1 | #define HAVE_MKSTEMP 1 | #define HAVE_NL_LANGINFO 1 | #define HAVE_OPENAT 1 | #define HAVE_PIPE 1 | #define HAVE_POLL 1 | #define HAVE_POSIX_SPAWNP 1 | #define HAVE_READLINK 1 | #define HAVE_READLINKAT 1 | #define HAVE_SELECT 1 | #define HAVE_SETENV 1 | #define HAVE_SETLOCALE 1 | #define HAVE_SIGACTION 1 | #define HAVE_STATFS 1 | #define HAVE_STATVFS 1 | #define HAVE_STRCHR 1 | #define HAVE_STRDUP 1 | #define HAVE_STRERROR 1 | #define HAVE_STRRCHR 1 | #define HAVE_SYMLINK 1 | #define HAVE_TIMEGM 1 | #define HAVE_TZSET 1 | #define HAVE_UNLINKAT 1 | #define HAVE_UNSETENV 1 | #define HAVE_UTIME 1 | #define HAVE_UTIMENSAT 1 | #define HAVE_UTIMES 1 | #define HAVE_VFORK 1 | #define HAVE_WCRTOMB 1 | #define HAVE_WCSCMP 1 | #define HAVE_WCSCPY 1 | #define HAVE_WCSLEN 1 | #define HAVE_WCTOMB 1 | #define HAVE_WMEMCMP 1 | #define HAVE_WMEMCPY 1 | #define HAVE_WMEMMOVE 1 | /* end confdefs.h. */ | #if HAVE_SYS_TYPES_H | #include | #endif | #include | | | int | main () | { | if (sizeof (struct vfsconf)) | return 0; | ; | return 0; | } configure:17941: result: no configure:17957: checking for struct xvfsconf configure:17957: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 conftest.c: In function 'main': conftest.c:191:13: error: invalid application of 'sizeof' to incomplete type 'struct xvfsconf' if (sizeof (struct xvfsconf)) ^~~~~~ configure:17957: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "libarchive" | #define PACKAGE_TARNAME "libarchive" | #define PACKAGE_VERSION "3.4.0" | #define PACKAGE_STRING "libarchive 3.4.0" | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com" | #define PACKAGE_URL "" | #define PACKAGE "libarchive" | #define VERSION "3.4.0" | #define LIBARCHIVE_VERSION_STRING "3.4.0" | #define LIBARCHIVE_VERSION_NUMBER "3004000" | #define BSDCPIO_VERSION_STRING "3.4.0" | #define BSDTAR_VERSION_STRING "3.4.0" | #define BSDCAT_VERSION_STRING "3.4.0" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define __EXTENSIONS__ 1 | #define _ALL_SOURCE 1 | #define _GNU_SOURCE 1 | #define _POSIX_PTHREAD_SEMANTICS 1 | #define _TANDEM_SOURCE 1 | #define LT_OBJDIR ".libs/" | #define HAVE_DIRENT_H 1 | #define HAVE_SYS_WAIT_H 1 | #define HAVE_CTYPE_H 1 | #define HAVE_ERRNO_H 1 | #define HAVE_FCNTL_H 1 | #define HAVE_GRP_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_LANGINFO_H 1 | #define HAVE_LIMITS_H 1 | #define HAVE_LINUX_FIEMAP_H 1 | #define HAVE_LINUX_FS_H 1 | #define HAVE_LINUX_MAGIC_H 1 | #define HAVE_LINUX_TYPES_H 1 | #define HAVE_WORKING_FS_IOC_GETFLAGS 1 | #define HAVE_LOCALE_H 1 | #define HAVE_PATHS_H 1 | #define HAVE_POLL_H 1 | #define HAVE_PTHREAD_H 1 | #define HAVE_PWD_H 1 | #define HAVE_SIGNAL_H 1 | #define HAVE_SPAWN_H 1 | #define HAVE_STDARG_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_SYS_CDEFS_H 1 | #define HAVE_SYS_IOCTL_H 1 | #define HAVE_SYS_MOUNT_H 1 | #define HAVE_SYS_PARAM_H 1 | #define HAVE_SYS_POLL_H 1 | #define HAVE_SYS_SELECT_H 1 | #define HAVE_SYS_STATFS_H 1 | #define HAVE_SYS_STATVFS_H 1 | #define HAVE_SYS_SYSMACROS_H 1 | #define HAVE_SYS_TIME_H 1 | #define HAVE_SYS_UTSNAME_H 1 | #define HAVE_SYS_VFS_H 1 | #define HAVE_SYS_XATTR_H 1 | #define HAVE_TIME_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_UTIME_H 1 | #define HAVE_WCHAR_H 1 | #define HAVE_WCTYPE_H 1 | #define HAVE_ICONV 1 | #define ICONV_CONST | #define HAVE_ICONV_H 1 | #define HAVE_LZMA_H 1 | #define HAVE_LIBLZMA 1 | #define HAVE_LZMA_STREAM_ENCODER_MT 1 | #define HAVE_REGEX_H 1 | #define HAVE_STRUCT_TM_TM_GMTOFF 1 | #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1 | #define HAVE_STRUCT_STAT_ST_BLKSIZE 1 | #define HAVE_UINTMAX_T 1 | #define HAVE_UNSIGNED_LONG_LONG 1 | #define HAVE_UNSIGNED_LONG_LONG_INT 1 | #define HAVE_LONG_LONG_INT 1 | #define HAVE_INTMAX_T 1 | #define HAVE_UINTMAX_T 1 | #define HAVE_DECL_SIZE_MAX 1 | #define HAVE_DECL_INT32_MAX 1 | #define HAVE_DECL_INT32_MIN 1 | #define HAVE_DECL_INT64_MAX 1 | #define HAVE_DECL_INT64_MIN 1 | #define HAVE_DECL_UINT64_MAX 1 | #define HAVE_DECL_UINT32_MAX 1 | #define HAVE_DECL_INTMAX_MAX 1 | #define HAVE_DECL_INTMAX_MIN 1 | #define HAVE_DECL_UINTMAX_MAX 1 | #define HAVE_DECL_SSIZE_MAX 1 | #define HAVE_EILSEQ 1 | #define HAVE_WCHAR_T 1 | #define SIZEOF_WCHAR_T 4 | #define TIME_WITH_SYS_TIME 1 | #define HAVE_FSEEKO 1 | #define HAVE_LSTAT_EMPTY_STRING_BUG 1 | #define HAVE_STAT_EMPTY_STRING_BUG 1 | #define HAVE_DECL_STRERROR_R 1 | #define HAVE_STRERROR_R 1 | #define STRERROR_R_CHAR_P 1 | #define HAVE_STRFTIME 1 | #define HAVE_VPRINTF 1 | #define HAVE_CHOWN 1 | #define HAVE_CHROOT 1 | #define HAVE_CTIME_R 1 | #define HAVE_FCHDIR 1 | #define HAVE_FCHMOD 1 | #define HAVE_FCHOWN 1 | #define HAVE_FCNTL 1 | #define HAVE_FDOPENDIR 1 | #define HAVE_FSTAT 1 | #define HAVE_FSTATAT 1 | #define HAVE_FSTATFS 1 | #define HAVE_FSTATVFS 1 | #define HAVE_FTRUNCATE 1 | #define HAVE_FUTIMENS 1 | #define HAVE_FUTIMESAT 1 | #define HAVE_GETEUID 1 | #define HAVE_GETPID 1 | #define HAVE_GETGRGID_R 1 | #define HAVE_GETGRNAM_R 1 | #define HAVE_GETPWNAM_R 1 | #define HAVE_GETPWUID_R 1 | #define HAVE_GMTIME_R 1 | #define HAVE_LCHOWN 1 | #define HAVE_LINK 1 | #define HAVE_LOCALTIME_R 1 | #define HAVE_LSTAT 1 | #define HAVE_LUTIMES 1 | #define HAVE_MBRTOWC 1 | #define HAVE_MEMMOVE 1 | #define HAVE_MEMSET 1 | #define HAVE_MKDIR 1 | #define HAVE_MKFIFO 1 | #define HAVE_MKNOD 1 | #define HAVE_MKSTEMP 1 | #define HAVE_NL_LANGINFO 1 | #define HAVE_OPENAT 1 | #define HAVE_PIPE 1 | #define HAVE_POLL 1 | #define HAVE_POSIX_SPAWNP 1 | #define HAVE_READLINK 1 | #define HAVE_READLINKAT 1 | #define HAVE_SELECT 1 | #define HAVE_SETENV 1 | #define HAVE_SETLOCALE 1 | #define HAVE_SIGACTION 1 | #define HAVE_STATFS 1 | #define HAVE_STATVFS 1 | #define HAVE_STRCHR 1 | #define HAVE_STRDUP 1 | #define HAVE_STRERROR 1 | #define HAVE_STRRCHR 1 | #define HAVE_SYMLINK 1 | #define HAVE_TIMEGM 1 | #define HAVE_TZSET 1 | #define HAVE_UNLINKAT 1 | #define HAVE_UNSETENV 1 | #define HAVE_UTIME 1 | #define HAVE_UTIMENSAT 1 | #define HAVE_UTIMES 1 | #define HAVE_VFORK 1 | #define HAVE_WCRTOMB 1 | #define HAVE_WCSCMP 1 | #define HAVE_WCSCPY 1 | #define HAVE_WCSLEN 1 | #define HAVE_WCTOMB 1 | #define HAVE_WMEMCMP 1 | #define HAVE_WMEMCPY 1 | #define HAVE_WMEMMOVE 1 | /* end confdefs.h. */ | #if HAVE_SYS_TYPES_H | #include | #endif | #include | | | int | main () | { | if (sizeof (struct xvfsconf)) | return 0; | ; | return 0; | } configure:17957: result: no configure:17987: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 conftest.c: In function 'main': conftest.c:187:14: warning: 'dir' is used uninitialized in this function [-Wuninitialized] return(readdir_r(dir, &e, &r)); ~^~~~~~~~~~~~~~~~~~~~~~~ configure:17987: $? = 0 configure:18007: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 configure:18007: $? = 0 configure:18018: checking whether D_MD_ORDER is declared configure:18018: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 conftest.c: In function 'main': conftest.c:196:10: error: 'D_MD_ORDER' undeclared (first use in this function) (void) D_MD_ORDER; ^~~~~~~~~~ conftest.c:196:10: note: each undeclared identifier is reported only once for each function it appears in configure:18018: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "libarchive" | #define PACKAGE_TARNAME "libarchive" | #define PACKAGE_VERSION "3.4.0" | #define PACKAGE_STRING "libarchive 3.4.0" | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com" | #define PACKAGE_URL "" | #define PACKAGE "libarchive" | #define VERSION "3.4.0" | #define LIBARCHIVE_VERSION_STRING "3.4.0" | #define LIBARCHIVE_VERSION_NUMBER "3004000" | #define BSDCPIO_VERSION_STRING "3.4.0" | #define BSDTAR_VERSION_STRING "3.4.0" | #define BSDCAT_VERSION_STRING "3.4.0" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define __EXTENSIONS__ 1 | #define _ALL_SOURCE 1 | #define _GNU_SOURCE 1 | #define _POSIX_PTHREAD_SEMANTICS 1 | #define _TANDEM_SOURCE 1 | #define LT_OBJDIR ".libs/" | #define HAVE_DIRENT_H 1 | #define HAVE_SYS_WAIT_H 1 | #define HAVE_CTYPE_H 1 | #define HAVE_ERRNO_H 1 | #define HAVE_FCNTL_H 1 | #define HAVE_GRP_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_LANGINFO_H 1 | #define HAVE_LIMITS_H 1 | #define HAVE_LINUX_FIEMAP_H 1 | #define HAVE_LINUX_FS_H 1 | #define HAVE_LINUX_MAGIC_H 1 | #define HAVE_LINUX_TYPES_H 1 | #define HAVE_WORKING_FS_IOC_GETFLAGS 1 | #define HAVE_LOCALE_H 1 | #define HAVE_PATHS_H 1 | #define HAVE_POLL_H 1 | #define HAVE_PTHREAD_H 1 | #define HAVE_PWD_H 1 | #define HAVE_SIGNAL_H 1 | #define HAVE_SPAWN_H 1 | #define HAVE_STDARG_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_SYS_CDEFS_H 1 | #define HAVE_SYS_IOCTL_H 1 | #define HAVE_SYS_MOUNT_H 1 | #define HAVE_SYS_PARAM_H 1 | #define HAVE_SYS_POLL_H 1 | #define HAVE_SYS_SELECT_H 1 | #define HAVE_SYS_STATFS_H 1 | #define HAVE_SYS_STATVFS_H 1 | #define HAVE_SYS_SYSMACROS_H 1 | #define HAVE_SYS_TIME_H 1 | #define HAVE_SYS_UTSNAME_H 1 | #define HAVE_SYS_VFS_H 1 | #define HAVE_SYS_XATTR_H 1 | #define HAVE_TIME_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_UTIME_H 1 | #define HAVE_WCHAR_H 1 | #define HAVE_WCTYPE_H 1 | #define HAVE_ICONV 1 | #define ICONV_CONST | #define HAVE_ICONV_H 1 | #define HAVE_LZMA_H 1 | #define HAVE_LIBLZMA 1 | #define HAVE_LZMA_STREAM_ENCODER_MT 1 | #define HAVE_REGEX_H 1 | #define HAVE_STRUCT_TM_TM_GMTOFF 1 | #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1 | #define HAVE_STRUCT_STAT_ST_BLKSIZE 1 | #define HAVE_UINTMAX_T 1 | #define HAVE_UNSIGNED_LONG_LONG 1 | #define HAVE_UNSIGNED_LONG_LONG_INT 1 | #define HAVE_LONG_LONG_INT 1 | #define HAVE_INTMAX_T 1 | #define HAVE_UINTMAX_T 1 | #define HAVE_DECL_SIZE_MAX 1 | #define HAVE_DECL_INT32_MAX 1 | #define HAVE_DECL_INT32_MIN 1 | #define HAVE_DECL_INT64_MAX 1 | #define HAVE_DECL_INT64_MIN 1 | #define HAVE_DECL_UINT64_MAX 1 | #define HAVE_DECL_UINT32_MAX 1 | #define HAVE_DECL_INTMAX_MAX 1 | #define HAVE_DECL_INTMAX_MIN 1 | #define HAVE_DECL_UINTMAX_MAX 1 | #define HAVE_DECL_SSIZE_MAX 1 | #define HAVE_EILSEQ 1 | #define HAVE_WCHAR_T 1 | #define SIZEOF_WCHAR_T 4 | #define TIME_WITH_SYS_TIME 1 | #define HAVE_FSEEKO 1 | #define HAVE_LSTAT_EMPTY_STRING_BUG 1 | #define HAVE_STAT_EMPTY_STRING_BUG 1 | #define HAVE_DECL_STRERROR_R 1 | #define HAVE_STRERROR_R 1 | #define STRERROR_R_CHAR_P 1 | #define HAVE_STRFTIME 1 | #define HAVE_VPRINTF 1 | #define HAVE_CHOWN 1 | #define HAVE_CHROOT 1 | #define HAVE_CTIME_R 1 | #define HAVE_FCHDIR 1 | #define HAVE_FCHMOD 1 | #define HAVE_FCHOWN 1 | #define HAVE_FCNTL 1 | #define HAVE_FDOPENDIR 1 | #define HAVE_FSTAT 1 | #define HAVE_FSTATAT 1 | #define HAVE_FSTATFS 1 | #define HAVE_FSTATVFS 1 | #define HAVE_FTRUNCATE 1 | #define HAVE_FUTIMENS 1 | #define HAVE_FUTIMESAT 1 | #define HAVE_GETEUID 1 | #define HAVE_GETPID 1 | #define HAVE_GETGRGID_R 1 | #define HAVE_GETGRNAM_R 1 | #define HAVE_GETPWNAM_R 1 | #define HAVE_GETPWUID_R 1 | #define HAVE_GMTIME_R 1 | #define HAVE_LCHOWN 1 | #define HAVE_LINK 1 | #define HAVE_LOCALTIME_R 1 | #define HAVE_LSTAT 1 | #define HAVE_LUTIMES 1 | #define HAVE_MBRTOWC 1 | #define HAVE_MEMMOVE 1 | #define HAVE_MEMSET 1 | #define HAVE_MKDIR 1 | #define HAVE_MKFIFO 1 | #define HAVE_MKNOD 1 | #define HAVE_MKSTEMP 1 | #define HAVE_NL_LANGINFO 1 | #define HAVE_OPENAT 1 | #define HAVE_PIPE 1 | #define HAVE_POLL 1 | #define HAVE_POSIX_SPAWNP 1 | #define HAVE_READLINK 1 | #define HAVE_READLINKAT 1 | #define HAVE_SELECT 1 | #define HAVE_SETENV 1 | #define HAVE_SETLOCALE 1 | #define HAVE_SIGACTION 1 | #define HAVE_STATFS 1 | #define HAVE_STATVFS 1 | #define HAVE_STRCHR 1 | #define HAVE_STRDUP 1 | #define HAVE_STRERROR 1 | #define HAVE_STRRCHR 1 | #define HAVE_SYMLINK 1 | #define HAVE_TIMEGM 1 | #define HAVE_TZSET 1 | #define HAVE_UNLINKAT 1 | #define HAVE_UNSETENV 1 | #define HAVE_UTIME 1 | #define HAVE_UTIMENSAT 1 | #define HAVE_UTIMES 1 | #define HAVE_VFORK 1 | #define HAVE_WCRTOMB 1 | #define HAVE_WCSCMP 1 | #define HAVE_WCSCPY 1 | #define HAVE_WCSLEN 1 | #define HAVE_WCTOMB 1 | #define HAVE_WMEMCMP 1 | #define HAVE_WMEMCPY 1 | #define HAVE_WMEMMOVE 1 | #define HAVE_READDIR_R 1 | #define HAVE_DIRFD 1 | /* end confdefs.h. */ | #if HAVE_LANGINFO_H | #include | #endif | | | int | main () | { | #ifndef D_MD_ORDER | #ifdef __cplusplus | (void) D_MD_ORDER; | #else | (void) D_MD_ORDER; | #endif | #endif | | ; | return 0; | } configure:18018: result: no configure:18033: checking for struct dirent.d_namlen configure:18033: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 conftest.c: In function 'main': conftest.c:193:13: error: 'struct dirent' has no member named 'd_namlen'; did you mean 'd_name'? if (ac_aggr.d_namlen) ^~~~~~~~ d_name conftest.c:192:22: warning: variable 'ac_aggr' set but not used [-Wunused-but-set-variable] static struct dirent ac_aggr; ^~~~~~~ configure:18033: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "libarchive" | #define PACKAGE_TARNAME "libarchive" | #define PACKAGE_VERSION "3.4.0" | #define PACKAGE_STRING "libarchive 3.4.0" | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com" | #define PACKAGE_URL "" | #define PACKAGE "libarchive" | #define VERSION "3.4.0" | #define LIBARCHIVE_VERSION_STRING "3.4.0" | #define LIBARCHIVE_VERSION_NUMBER "3004000" | #define BSDCPIO_VERSION_STRING "3.4.0" | #define BSDTAR_VERSION_STRING "3.4.0" | #define BSDCAT_VERSION_STRING "3.4.0" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define __EXTENSIONS__ 1 | #define _ALL_SOURCE 1 | #define _GNU_SOURCE 1 | #define _POSIX_PTHREAD_SEMANTICS 1 | #define _TANDEM_SOURCE 1 | #define LT_OBJDIR ".libs/" | #define HAVE_DIRENT_H 1 | #define HAVE_SYS_WAIT_H 1 | #define HAVE_CTYPE_H 1 | #define HAVE_ERRNO_H 1 | #define HAVE_FCNTL_H 1 | #define HAVE_GRP_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_LANGINFO_H 1 | #define HAVE_LIMITS_H 1 | #define HAVE_LINUX_FIEMAP_H 1 | #define HAVE_LINUX_FS_H 1 | #define HAVE_LINUX_MAGIC_H 1 | #define HAVE_LINUX_TYPES_H 1 | #define HAVE_WORKING_FS_IOC_GETFLAGS 1 | #define HAVE_LOCALE_H 1 | #define HAVE_PATHS_H 1 | #define HAVE_POLL_H 1 | #define HAVE_PTHREAD_H 1 | #define HAVE_PWD_H 1 | #define HAVE_SIGNAL_H 1 | #define HAVE_SPAWN_H 1 | #define HAVE_STDARG_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_SYS_CDEFS_H 1 | #define HAVE_SYS_IOCTL_H 1 | #define HAVE_SYS_MOUNT_H 1 | #define HAVE_SYS_PARAM_H 1 | #define HAVE_SYS_POLL_H 1 | #define HAVE_SYS_SELECT_H 1 | #define HAVE_SYS_STATFS_H 1 | #define HAVE_SYS_STATVFS_H 1 | #define HAVE_SYS_SYSMACROS_H 1 | #define HAVE_SYS_TIME_H 1 | #define HAVE_SYS_UTSNAME_H 1 | #define HAVE_SYS_VFS_H 1 | #define HAVE_SYS_XATTR_H 1 | #define HAVE_TIME_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_UTIME_H 1 | #define HAVE_WCHAR_H 1 | #define HAVE_WCTYPE_H 1 | #define HAVE_ICONV 1 | #define ICONV_CONST | #define HAVE_ICONV_H 1 | #define HAVE_LZMA_H 1 | #define HAVE_LIBLZMA 1 | #define HAVE_LZMA_STREAM_ENCODER_MT 1 | #define HAVE_REGEX_H 1 | #define HAVE_STRUCT_TM_TM_GMTOFF 1 | #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1 | #define HAVE_STRUCT_STAT_ST_BLKSIZE 1 | #define HAVE_UINTMAX_T 1 | #define HAVE_UNSIGNED_LONG_LONG 1 | #define HAVE_UNSIGNED_LONG_LONG_INT 1 | #define HAVE_LONG_LONG_INT 1 | #define HAVE_INTMAX_T 1 | #define HAVE_UINTMAX_T 1 | #define HAVE_DECL_SIZE_MAX 1 | #define HAVE_DECL_INT32_MAX 1 | #define HAVE_DECL_INT32_MIN 1 | #define HAVE_DECL_INT64_MAX 1 | #define HAVE_DECL_INT64_MIN 1 | #define HAVE_DECL_UINT64_MAX 1 | #define HAVE_DECL_UINT32_MAX 1 | #define HAVE_DECL_INTMAX_MAX 1 | #define HAVE_DECL_INTMAX_MIN 1 | #define HAVE_DECL_UINTMAX_MAX 1 | #define HAVE_DECL_SSIZE_MAX 1 | #define HAVE_EILSEQ 1 | #define HAVE_WCHAR_T 1 | #define SIZEOF_WCHAR_T 4 | #define TIME_WITH_SYS_TIME 1 | #define HAVE_FSEEKO 1 | #define HAVE_LSTAT_EMPTY_STRING_BUG 1 | #define HAVE_STAT_EMPTY_STRING_BUG 1 | #define HAVE_DECL_STRERROR_R 1 | #define HAVE_STRERROR_R 1 | #define STRERROR_R_CHAR_P 1 | #define HAVE_STRFTIME 1 | #define HAVE_VPRINTF 1 | #define HAVE_CHOWN 1 | #define HAVE_CHROOT 1 | #define HAVE_CTIME_R 1 | #define HAVE_FCHDIR 1 | #define HAVE_FCHMOD 1 | #define HAVE_FCHOWN 1 | #define HAVE_FCNTL 1 | #define HAVE_FDOPENDIR 1 | #define HAVE_FSTAT 1 | #define HAVE_FSTATAT 1 | #define HAVE_FSTATFS 1 | #define HAVE_FSTATVFS 1 | #define HAVE_FTRUNCATE 1 | #define HAVE_FUTIMENS 1 | #define HAVE_FUTIMESAT 1 | #define HAVE_GETEUID 1 | #define HAVE_GETPID 1 | #define HAVE_GETGRGID_R 1 | #define HAVE_GETGRNAM_R 1 | #define HAVE_GETPWNAM_R 1 | #define HAVE_GETPWUID_R 1 | #define HAVE_GMTIME_R 1 | #define HAVE_LCHOWN 1 | #define HAVE_LINK 1 | #define HAVE_LOCALTIME_R 1 | #define HAVE_LSTAT 1 | #define HAVE_LUTIMES 1 | #define HAVE_MBRTOWC 1 | #define HAVE_MEMMOVE 1 | #define HAVE_MEMSET 1 | #define HAVE_MKDIR 1 | #define HAVE_MKFIFO 1 | #define HAVE_MKNOD 1 | #define HAVE_MKSTEMP 1 | #define HAVE_NL_LANGINFO 1 | #define HAVE_OPENAT 1 | #define HAVE_PIPE 1 | #define HAVE_POLL 1 | #define HAVE_POSIX_SPAWNP 1 | #define HAVE_READLINK 1 | #define HAVE_READLINKAT 1 | #define HAVE_SELECT 1 | #define HAVE_SETENV 1 | #define HAVE_SETLOCALE 1 | #define HAVE_SIGACTION 1 | #define HAVE_STATFS 1 | #define HAVE_STATVFS 1 | #define HAVE_STRCHR 1 | #define HAVE_STRDUP 1 | #define HAVE_STRERROR 1 | #define HAVE_STRRCHR 1 | #define HAVE_SYMLINK 1 | #define HAVE_TIMEGM 1 | #define HAVE_TZSET 1 | #define HAVE_UNLINKAT 1 | #define HAVE_UNSETENV 1 | #define HAVE_UTIME 1 | #define HAVE_UTIMENSAT 1 | #define HAVE_UTIMES 1 | #define HAVE_VFORK 1 | #define HAVE_WCRTOMB 1 | #define HAVE_WCSCMP 1 | #define HAVE_WCSCPY 1 | #define HAVE_WCSLEN 1 | #define HAVE_WCTOMB 1 | #define HAVE_WMEMCMP 1 | #define HAVE_WMEMCPY 1 | #define HAVE_WMEMMOVE 1 | #define HAVE_READDIR_R 1 | #define HAVE_DIRFD 1 | /* end confdefs.h. */ | #if HAVE_DIRENT_H | #include | #endif | | | int | main () | { | static struct dirent ac_aggr; | if (ac_aggr.d_namlen) | return 0; | ; | return 0; | } configure:18033: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 conftest.c: In function 'main': conftest.c:193:20: error: 'struct dirent' has no member named 'd_namlen'; did you mean 'd_name'? if (sizeof ac_aggr.d_namlen) ^~~~~~~~ d_name conftest.c:192:22: warning: variable 'ac_aggr' set but not used [-Wunused-but-set-variable] static struct dirent ac_aggr; ^~~~~~~ configure:18033: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "libarchive" | #define PACKAGE_TARNAME "libarchive" | #define PACKAGE_VERSION "3.4.0" | #define PACKAGE_STRING "libarchive 3.4.0" | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com" | #define PACKAGE_URL "" | #define PACKAGE "libarchive" | #define VERSION "3.4.0" | #define LIBARCHIVE_VERSION_STRING "3.4.0" | #define LIBARCHIVE_VERSION_NUMBER "3004000" | #define BSDCPIO_VERSION_STRING "3.4.0" | #define BSDTAR_VERSION_STRING "3.4.0" | #define BSDCAT_VERSION_STRING "3.4.0" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define __EXTENSIONS__ 1 | #define _ALL_SOURCE 1 | #define _GNU_SOURCE 1 | #define _POSIX_PTHREAD_SEMANTICS 1 | #define _TANDEM_SOURCE 1 | #define LT_OBJDIR ".libs/" | #define HAVE_DIRENT_H 1 | #define HAVE_SYS_WAIT_H 1 | #define HAVE_CTYPE_H 1 | #define HAVE_ERRNO_H 1 | #define HAVE_FCNTL_H 1 | #define HAVE_GRP_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_LANGINFO_H 1 | #define HAVE_LIMITS_H 1 | #define HAVE_LINUX_FIEMAP_H 1 | #define HAVE_LINUX_FS_H 1 | #define HAVE_LINUX_MAGIC_H 1 | #define HAVE_LINUX_TYPES_H 1 | #define HAVE_WORKING_FS_IOC_GETFLAGS 1 | #define HAVE_LOCALE_H 1 | #define HAVE_PATHS_H 1 | #define HAVE_POLL_H 1 | #define HAVE_PTHREAD_H 1 | #define HAVE_PWD_H 1 | #define HAVE_SIGNAL_H 1 | #define HAVE_SPAWN_H 1 | #define HAVE_STDARG_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_SYS_CDEFS_H 1 | #define HAVE_SYS_IOCTL_H 1 | #define HAVE_SYS_MOUNT_H 1 | #define HAVE_SYS_PARAM_H 1 | #define HAVE_SYS_POLL_H 1 | #define HAVE_SYS_SELECT_H 1 | #define HAVE_SYS_STATFS_H 1 | #define HAVE_SYS_STATVFS_H 1 | #define HAVE_SYS_SYSMACROS_H 1 | #define HAVE_SYS_TIME_H 1 | #define HAVE_SYS_UTSNAME_H 1 | #define HAVE_SYS_VFS_H 1 | #define HAVE_SYS_XATTR_H 1 | #define HAVE_TIME_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_UTIME_H 1 | #define HAVE_WCHAR_H 1 | #define HAVE_WCTYPE_H 1 | #define HAVE_ICONV 1 | #define ICONV_CONST | #define HAVE_ICONV_H 1 | #define HAVE_LZMA_H 1 | #define HAVE_LIBLZMA 1 | #define HAVE_LZMA_STREAM_ENCODER_MT 1 | #define HAVE_REGEX_H 1 | #define HAVE_STRUCT_TM_TM_GMTOFF 1 | #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1 | #define HAVE_STRUCT_STAT_ST_BLKSIZE 1 | #define HAVE_UINTMAX_T 1 | #define HAVE_UNSIGNED_LONG_LONG 1 | #define HAVE_UNSIGNED_LONG_LONG_INT 1 | #define HAVE_LONG_LONG_INT 1 | #define HAVE_INTMAX_T 1 | #define HAVE_UINTMAX_T 1 | #define HAVE_DECL_SIZE_MAX 1 | #define HAVE_DECL_INT32_MAX 1 | #define HAVE_DECL_INT32_MIN 1 | #define HAVE_DECL_INT64_MAX 1 | #define HAVE_DECL_INT64_MIN 1 | #define HAVE_DECL_UINT64_MAX 1 | #define HAVE_DECL_UINT32_MAX 1 | #define HAVE_DECL_INTMAX_MAX 1 | #define HAVE_DECL_INTMAX_MIN 1 | #define HAVE_DECL_UINTMAX_MAX 1 | #define HAVE_DECL_SSIZE_MAX 1 | #define HAVE_EILSEQ 1 | #define HAVE_WCHAR_T 1 | #define SIZEOF_WCHAR_T 4 | #define TIME_WITH_SYS_TIME 1 | #define HAVE_FSEEKO 1 | #define HAVE_LSTAT_EMPTY_STRING_BUG 1 | #define HAVE_STAT_EMPTY_STRING_BUG 1 | #define HAVE_DECL_STRERROR_R 1 | #define HAVE_STRERROR_R 1 | #define STRERROR_R_CHAR_P 1 | #define HAVE_STRFTIME 1 | #define HAVE_VPRINTF 1 | #define HAVE_CHOWN 1 | #define HAVE_CHROOT 1 | #define HAVE_CTIME_R 1 | #define HAVE_FCHDIR 1 | #define HAVE_FCHMOD 1 | #define HAVE_FCHOWN 1 | #define HAVE_FCNTL 1 | #define HAVE_FDOPENDIR 1 | #define HAVE_FSTAT 1 | #define HAVE_FSTATAT 1 | #define HAVE_FSTATFS 1 | #define HAVE_FSTATVFS 1 | #define HAVE_FTRUNCATE 1 | #define HAVE_FUTIMENS 1 | #define HAVE_FUTIMESAT 1 | #define HAVE_GETEUID 1 | #define HAVE_GETPID 1 | #define HAVE_GETGRGID_R 1 | #define HAVE_GETGRNAM_R 1 | #define HAVE_GETPWNAM_R 1 | #define HAVE_GETPWUID_R 1 | #define HAVE_GMTIME_R 1 | #define HAVE_LCHOWN 1 | #define HAVE_LINK 1 | #define HAVE_LOCALTIME_R 1 | #define HAVE_LSTAT 1 | #define HAVE_LUTIMES 1 | #define HAVE_MBRTOWC 1 | #define HAVE_MEMMOVE 1 | #define HAVE_MEMSET 1 | #define HAVE_MKDIR 1 | #define HAVE_MKFIFO 1 | #define HAVE_MKNOD 1 | #define HAVE_MKSTEMP 1 | #define HAVE_NL_LANGINFO 1 | #define HAVE_OPENAT 1 | #define HAVE_PIPE 1 | #define HAVE_POLL 1 | #define HAVE_POSIX_SPAWNP 1 | #define HAVE_READLINK 1 | #define HAVE_READLINKAT 1 | #define HAVE_SELECT 1 | #define HAVE_SETENV 1 | #define HAVE_SETLOCALE 1 | #define HAVE_SIGACTION 1 | #define HAVE_STATFS 1 | #define HAVE_STATVFS 1 | #define HAVE_STRCHR 1 | #define HAVE_STRDUP 1 | #define HAVE_STRERROR 1 | #define HAVE_STRRCHR 1 | #define HAVE_SYMLINK 1 | #define HAVE_TIMEGM 1 | #define HAVE_TZSET 1 | #define HAVE_UNLINKAT 1 | #define HAVE_UNSETENV 1 | #define HAVE_UTIME 1 | #define HAVE_UTIMENSAT 1 | #define HAVE_UTIMES 1 | #define HAVE_VFORK 1 | #define HAVE_WCRTOMB 1 | #define HAVE_WCSCMP 1 | #define HAVE_WCSCPY 1 | #define HAVE_WCSLEN 1 | #define HAVE_WCTOMB 1 | #define HAVE_WMEMCMP 1 | #define HAVE_WMEMCPY 1 | #define HAVE_WMEMMOVE 1 | #define HAVE_READDIR_R 1 | #define HAVE_DIRFD 1 | /* end confdefs.h. */ | #if HAVE_DIRENT_H | #include | #endif | | | int | main () | { | static struct dirent ac_aggr; | if (sizeof ac_aggr.d_namlen) | return 0; | ; | return 0; | } configure:18033: result: no configure:18983: checking for special C compiler options needed for large files configure:19028: result: no configure:19034: checking for _FILE_OFFSET_BITS value needed for large files configure:19059: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 configure:19059: $? = 0 configure:19091: result: no configure:19190: checking support for ARCHIVE_CRYPTO_MD5_LIBC configure:19212: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -o conftest -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -I. -I. -I./libarchive -Wl,-elf2flt -static conftest.c -llzma >&5 In file included from conftest.c:219:0: ./libarchive/archive_digest_private.h:61:10: fatal error: md5.h: No such file or directory #include ^~~~~~~ compilation terminated. configure:19212: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "libarchive" | #define PACKAGE_TARNAME "libarchive" | #define PACKAGE_VERSION "3.4.0" | #define PACKAGE_STRING "libarchive 3.4.0" | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com" | #define PACKAGE_URL "" | #define PACKAGE "libarchive" | #define VERSION "3.4.0" | #define LIBARCHIVE_VERSION_STRING "3.4.0" | #define LIBARCHIVE_VERSION_NUMBER "3004000" | #define BSDCPIO_VERSION_STRING "3.4.0" | #define BSDTAR_VERSION_STRING "3.4.0" | #define BSDCAT_VERSION_STRING "3.4.0" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define __EXTENSIONS__ 1 | #define _ALL_SOURCE 1 | #define _GNU_SOURCE 1 | #define _POSIX_PTHREAD_SEMANTICS 1 | #define _TANDEM_SOURCE 1 | #define LT_OBJDIR ".libs/" | #define HAVE_DIRENT_H 1 | #define HAVE_SYS_WAIT_H 1 | #define HAVE_CTYPE_H 1 | #define HAVE_ERRNO_H 1 | #define HAVE_FCNTL_H 1 | #define HAVE_GRP_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_LANGINFO_H 1 | #define HAVE_LIMITS_H 1 | #define HAVE_LINUX_FIEMAP_H 1 | #define HAVE_LINUX_FS_H 1 | #define HAVE_LINUX_MAGIC_H 1 | #define HAVE_LINUX_TYPES_H 1 | #define HAVE_WORKING_FS_IOC_GETFLAGS 1 | #define HAVE_LOCALE_H 1 | #define HAVE_PATHS_H 1 | #define HAVE_POLL_H 1 | #define HAVE_PTHREAD_H 1 | #define HAVE_PWD_H 1 | #define HAVE_SIGNAL_H 1 | #define HAVE_SPAWN_H 1 | #define HAVE_STDARG_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_SYS_CDEFS_H 1 | #define HAVE_SYS_IOCTL_H 1 | #define HAVE_SYS_MOUNT_H 1 | #define HAVE_SYS_PARAM_H 1 | #define HAVE_SYS_POLL_H 1 | #define HAVE_SYS_SELECT_H 1 | #define HAVE_SYS_STATFS_H 1 | #define HAVE_SYS_STATVFS_H 1 | #define HAVE_SYS_SYSMACROS_H 1 | #define HAVE_SYS_TIME_H 1 | #define HAVE_SYS_UTSNAME_H 1 | #define HAVE_SYS_VFS_H 1 | #define HAVE_SYS_XATTR_H 1 | #define HAVE_TIME_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_UTIME_H 1 | #define HAVE_WCHAR_H 1 | #define HAVE_WCTYPE_H 1 | #define HAVE_ICONV 1 | #define ICONV_CONST | #define HAVE_ICONV_H 1 | #define HAVE_LZMA_H 1 | #define HAVE_LIBLZMA 1 | #define HAVE_LZMA_STREAM_ENCODER_MT 1 | #define HAVE_REGEX_H 1 | #define HAVE_STRUCT_TM_TM_GMTOFF 1 | #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1 | #define HAVE_STRUCT_STAT_ST_BLKSIZE 1 | #define HAVE_UINTMAX_T 1 | #define HAVE_UNSIGNED_LONG_LONG 1 | #define HAVE_UNSIGNED_LONG_LONG_INT 1 | #define HAVE_LONG_LONG_INT 1 | #define HAVE_INTMAX_T 1 | #define HAVE_UINTMAX_T 1 | #define HAVE_DECL_SIZE_MAX 1 | #define HAVE_DECL_INT32_MAX 1 | #define HAVE_DECL_INT32_MIN 1 | #define HAVE_DECL_INT64_MAX 1 | #define HAVE_DECL_INT64_MIN 1 | #define HAVE_DECL_UINT64_MAX 1 | #define HAVE_DECL_UINT32_MAX 1 | #define HAVE_DECL_INTMAX_MAX 1 | #define HAVE_DECL_INTMAX_MIN 1 | #define HAVE_DECL_UINTMAX_MAX 1 | #define HAVE_DECL_SSIZE_MAX 1 | #define HAVE_EILSEQ 1 | #define HAVE_WCHAR_T 1 | #define SIZEOF_WCHAR_T 4 | #define TIME_WITH_SYS_TIME 1 | #define HAVE_FSEEKO 1 | #define HAVE_LSTAT_EMPTY_STRING_BUG 1 | #define HAVE_STAT_EMPTY_STRING_BUG 1 | #define HAVE_DECL_STRERROR_R 1 | #define HAVE_STRERROR_R 1 | #define STRERROR_R_CHAR_P 1 | #define HAVE_STRFTIME 1 | #define HAVE_VPRINTF 1 | #define HAVE_CHOWN 1 | #define HAVE_CHROOT 1 | #define HAVE_CTIME_R 1 | #define HAVE_FCHDIR 1 | #define HAVE_FCHMOD 1 | #define HAVE_FCHOWN 1 | #define HAVE_FCNTL 1 | #define HAVE_FDOPENDIR 1 | #define HAVE_FSTAT 1 | #define HAVE_FSTATAT 1 | #define HAVE_FSTATFS 1 | #define HAVE_FSTATVFS 1 | #define HAVE_FTRUNCATE 1 | #define HAVE_FUTIMENS 1 | #define HAVE_FUTIMESAT 1 | #define HAVE_GETEUID 1 | #define HAVE_GETPID 1 | #define HAVE_GETGRGID_R 1 | #define HAVE_GETGRNAM_R 1 | #define HAVE_GETPWNAM_R 1 | #define HAVE_GETPWUID_R 1 | #define HAVE_GMTIME_R 1 | #define HAVE_LCHOWN 1 | #define HAVE_LINK 1 | #define HAVE_LOCALTIME_R 1 | #define HAVE_LSTAT 1 | #define HAVE_LUTIMES 1 | #define HAVE_MBRTOWC 1 | #define HAVE_MEMMOVE 1 | #define HAVE_MEMSET 1 | #define HAVE_MKDIR 1 | #define HAVE_MKFIFO 1 | #define HAVE_MKNOD 1 | #define HAVE_MKSTEMP 1 | #define HAVE_NL_LANGINFO 1 | #define HAVE_OPENAT 1 | #define HAVE_PIPE 1 | #define HAVE_POLL 1 | #define HAVE_POSIX_SPAWNP 1 | #define HAVE_READLINK 1 | #define HAVE_READLINKAT 1 | #define HAVE_SELECT 1 | #define HAVE_SETENV 1 | #define HAVE_SETLOCALE 1 | #define HAVE_SIGACTION 1 | #define HAVE_STATFS 1 | #define HAVE_STATVFS 1 | #define HAVE_STRCHR 1 | #define HAVE_STRDUP 1 | #define HAVE_STRERROR 1 | #define HAVE_STRRCHR 1 | #define HAVE_SYMLINK 1 | #define HAVE_TIMEGM 1 | #define HAVE_TZSET 1 | #define HAVE_UNLINKAT 1 | #define HAVE_UNSETENV 1 | #define HAVE_UTIME 1 | #define HAVE_UTIMENSAT 1 | #define HAVE_UTIMES 1 | #define HAVE_VFORK 1 | #define HAVE_WCRTOMB 1 | #define HAVE_WCSCMP 1 | #define HAVE_WCSCPY 1 | #define HAVE_WCSLEN 1 | #define HAVE_WCTOMB 1 | #define HAVE_WMEMCMP 1 | #define HAVE_WMEMCPY 1 | #define HAVE_WMEMMOVE 1 | #define HAVE_READDIR_R 1 | #define HAVE_DIRFD 1 | /* end confdefs.h. */ | | #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_libc_md5init(archive_md5_ctx *ctx) | { | MD5Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc_md5update(archive_md5_ctx *ctx, const void *indata, | size_t insize) | { | MD5Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc_md5final(archive_md5_ctx *ctx, void *md) | { | MD5Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_MD5_LIBMD) | | static int | __archive_libmd_md5init(archive_md5_ctx *ctx) | { | MD5Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_md5update(archive_md5_ctx *ctx, const void *indata, | size_t insize) | { | MD5Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_md5final(archive_md5_ctx *ctx, void *md) | { | MD5Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_MD5_LIBSYSTEM) | | static int | __archive_libsystem_md5init(archive_md5_ctx *ctx) | { | CC_MD5_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_md5update(archive_md5_ctx *ctx, const void *indata, | size_t insize) | { | CC_MD5_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_md5final(archive_md5_ctx *ctx, void *md) | { | CC_MD5_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_MD5_NETTLE) | | static int | __archive_nettle_md5init(archive_md5_ctx *ctx) | { | md5_init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_md5update(archive_md5_ctx *ctx, const void *indata, | size_t insize) | { | md5_update(ctx, insize, indata); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_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_openssl_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_openssl_md5update(archive_md5_ctx *ctx, const void *indata, | size_t insize) | { | EVP_DigestUpdate(*ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_openssl_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_windowsapi_md5init(archive_md5_ctx *ctx) | { | return (win_crypto_init(ctx, CALG_MD5)); | } | | static int | __archive_windowsapi_md5update(archive_md5_ctx *ctx, const void *indata, | size_t insize) | { | return (win_crypto_Update(ctx, indata, insize)); | } | | static int | __archive_windowsapi_md5final(archive_md5_ctx *ctx, void *md) | { | return (win_crypto_Final(md, 16, ctx)); | } | | #else | | static int | __archive_stub_md5init(archive_md5_ctx *ctx) | { | (void)ctx; /* UNUSED */ | return (ARCHIVE_FAILED); | } | | static int | __archive_stub_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_stub_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_libc_ripemd160init(archive_rmd160_ctx *ctx) | { | RMD160Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, | size_t insize) | { | RMD160Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc_ripemd160final(archive_rmd160_ctx *ctx, void *md) | { | RMD160Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_RMD160_LIBMD) | | static int | __archive_libmd_ripemd160init(archive_rmd160_ctx *ctx) | { | RIPEMD160_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, | size_t insize) | { | RIPEMD160_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_ripemd160final(archive_rmd160_ctx *ctx, void *md) | { | RIPEMD160_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_RMD160_NETTLE) | | static int | __archive_nettle_ripemd160init(archive_rmd160_ctx *ctx) | { | ripemd160_init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, | size_t insize) | { | ripemd160_update(ctx, insize, indata); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_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_openssl_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_openssl_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, | size_t insize) | { | EVP_DigestUpdate(*ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_openssl_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_stub_ripemd160init(archive_rmd160_ctx *ctx) | { | (void)ctx; /* UNUSED */ | return (ARCHIVE_FAILED); | } | | static int | __archive_stub_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_stub_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_libc_sha1init(archive_sha1_ctx *ctx) | { | SHA1Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc_sha1update(archive_sha1_ctx *ctx, const void *indata, | size_t insize) | { | SHA1Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc_sha1final(archive_sha1_ctx *ctx, void *md) | { | SHA1Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA1_LIBMD) | | static int | __archive_libmd_sha1init(archive_sha1_ctx *ctx) | { | SHA1_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_sha1update(archive_sha1_ctx *ctx, const void *indata, | size_t insize) | { | SHA1_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_sha1final(archive_sha1_ctx *ctx, void *md) | { | SHA1_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA1_LIBSYSTEM) | | static int | __archive_libsystem_sha1init(archive_sha1_ctx *ctx) | { | CC_SHA1_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_sha1update(archive_sha1_ctx *ctx, const void *indata, | size_t insize) | { | CC_SHA1_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_sha1final(archive_sha1_ctx *ctx, void *md) | { | CC_SHA1_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA1_NETTLE) | | static int | __archive_nettle_sha1init(archive_sha1_ctx *ctx) | { | sha1_init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_sha1update(archive_sha1_ctx *ctx, const void *indata, | size_t insize) | { | sha1_update(ctx, insize, indata); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_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_openssl_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_openssl_sha1update(archive_sha1_ctx *ctx, const void *indata, | size_t insize) | { | EVP_DigestUpdate(*ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_openssl_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_windowsapi_sha1init(archive_sha1_ctx *ctx) | { | return (win_crypto_init(ctx, CALG_SHA1)); | } | | static int | __archive_windowsapi_sha1update(archive_sha1_ctx *ctx, const void *indata, | size_t insize) | { | return (win_crypto_Update(ctx, indata, insize)); | } | | static int | __archive_windowsapi_sha1final(archive_sha1_ctx *ctx, void *md) | { | return (win_crypto_Final(md, 20, ctx)); | } | | #else | | static int | __archive_stub_sha1init(archive_sha1_ctx *ctx) | { | (void)ctx; /* UNUSED */ | return (ARCHIVE_FAILED); | } | | static int | __archive_stub_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_stub_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_libc_sha256init(archive_sha256_ctx *ctx) | { | SHA256_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc_sha256update(archive_sha256_ctx *ctx, const void *indata, | size_t insize) | { | SHA256_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc_sha256final(archive_sha256_ctx *ctx, void *md) | { | SHA256_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA256_LIBC2) | | static int | __archive_libc2_sha256init(archive_sha256_ctx *ctx) | { | SHA256Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc2_sha256update(archive_sha256_ctx *ctx, const void *indata, | size_t insize) | { | SHA256Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc2_sha256final(archive_sha256_ctx *ctx, void *md) | { | SHA256Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA256_LIBC3) | | static int | __archive_libc3_sha256init(archive_sha256_ctx *ctx) | { | SHA256Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc3_sha256update(archive_sha256_ctx *ctx, const void *indata, | size_t insize) | { | SHA256Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc3_sha256final(archive_sha256_ctx *ctx, void *md) | { | SHA256Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA256_LIBMD) | | static int | __archive_libmd_sha256init(archive_sha256_ctx *ctx) | { | SHA256_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_sha256update(archive_sha256_ctx *ctx, const void *indata, | size_t insize) | { | SHA256_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_sha256final(archive_sha256_ctx *ctx, void *md) | { | SHA256_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA256_LIBSYSTEM) | | static int | __archive_libsystem_sha256init(archive_sha256_ctx *ctx) | { | CC_SHA256_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_sha256update(archive_sha256_ctx *ctx, const void *indata, | size_t insize) | { | CC_SHA256_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_sha256final(archive_sha256_ctx *ctx, void *md) | { | CC_SHA256_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA256_NETTLE) | | static int | __archive_nettle_sha256init(archive_sha256_ctx *ctx) | { | sha256_init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_sha256update(archive_sha256_ctx *ctx, const void *indata, | size_t insize) | { | sha256_update(ctx, insize, indata); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_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_openssl_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_openssl_sha256update(archive_sha256_ctx *ctx, const void *indata, | size_t insize) | { | EVP_DigestUpdate(*ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_openssl_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_windowsapi_sha256init(archive_sha256_ctx *ctx) | { | return (win_crypto_init(ctx, CALG_SHA_256)); | } | | static int | __archive_windowsapi_sha256update(archive_sha256_ctx *ctx, const void *indata, | size_t insize) | { | return (win_crypto_Update(ctx, indata, insize)); | } | | static int | __archive_windowsapi_sha256final(archive_sha256_ctx *ctx, void *md) | { | return (win_crypto_Final(md, 32, ctx)); | } | | #else | | static int | __archive_stub_sha256init(archive_sha256_ctx *ctx) | { | (void)ctx; /* UNUSED */ | return (ARCHIVE_FAILED); | } | | static int | __archive_stub_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_stub_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_libc_sha384init(archive_sha384_ctx *ctx) | { | SHA384_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc_sha384update(archive_sha384_ctx *ctx, const void *indata, | size_t insize) | { | SHA384_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc_sha384final(archive_sha384_ctx *ctx, void *md) | { | SHA384_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA384_LIBC2) | | static int | __archive_libc2_sha384init(archive_sha384_ctx *ctx) | { | SHA384Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc2_sha384update(archive_sha384_ctx *ctx, const void *indata, | size_t insize) | { | SHA384Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc2_sha384final(archive_sha384_ctx *ctx, void *md) | { | SHA384Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA384_LIBC3) | | static int | __archive_libc3_sha384init(archive_sha384_ctx *ctx) | { | SHA384Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc3_sha384update(archive_sha384_ctx *ctx, const void *indata, | size_t insize) | { | SHA384Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc3_sha384final(archive_sha384_ctx *ctx, void *md) | { | SHA384Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA384_LIBSYSTEM) | | static int | __archive_libsystem_sha384init(archive_sha384_ctx *ctx) | { | CC_SHA384_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_sha384update(archive_sha384_ctx *ctx, const void *indata, | size_t insize) | { | CC_SHA384_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_sha384final(archive_sha384_ctx *ctx, void *md) | { | CC_SHA384_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA384_NETTLE) | | static int | __archive_nettle_sha384init(archive_sha384_ctx *ctx) | { | sha384_init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_sha384update(archive_sha384_ctx *ctx, const void *indata, | size_t insize) | { | sha384_update(ctx, insize, indata); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_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_openssl_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_openssl_sha384update(archive_sha384_ctx *ctx, const void *indata, | size_t insize) | { | EVP_DigestUpdate(*ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_openssl_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_windowsapi_sha384init(archive_sha384_ctx *ctx) | { | return (win_crypto_init(ctx, CALG_SHA_384)); | } | | static int | __archive_windowsapi_sha384update(archive_sha384_ctx *ctx, const void *indata, | size_t insize) | { | return (win_crypto_Update(ctx, indata, insize)); | } | | static int | __archive_windowsapi_sha384final(archive_sha384_ctx *ctx, void *md) | { | return (win_crypto_Final(md, 48, ctx)); | } | | #else | | static int | __archive_stub_sha384init(archive_sha384_ctx *ctx) | { | (void)ctx; /* UNUSED */ | return (ARCHIVE_FAILED); | } | | static int | __archive_stub_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_stub_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_libc_sha512init(archive_sha512_ctx *ctx) | { | SHA512_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc_sha512update(archive_sha512_ctx *ctx, const void *indata, | size_t insize) | { | SHA512_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc_sha512final(archive_sha512_ctx *ctx, void *md) | { | SHA512_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA512_LIBC2) | | static int | __archive_libc2_sha512init(archive_sha512_ctx *ctx) | { | SHA512Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc2_sha512update(archive_sha512_ctx *ctx, const void *indata, | size_t insize) | { | SHA512Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc2_sha512final(archive_sha512_ctx *ctx, void *md) | { | SHA512Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA512_LIBC3) | | static int | __archive_libc3_sha512init(archive_sha512_ctx *ctx) | { | SHA512Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc3_sha512update(archive_sha512_ctx *ctx, const void *indata, | size_t insize) | { | SHA512Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc3_sha512final(archive_sha512_ctx *ctx, void *md) | { | SHA512Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA512_LIBMD) | | static int | __archive_libmd_sha512init(archive_sha512_ctx *ctx) | { | SHA512_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_sha512update(archive_sha512_ctx *ctx, const void *indata, | size_t insize) | { | SHA512_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_sha512final(archive_sha512_ctx *ctx, void *md) | { | SHA512_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA512_LIBSYSTEM) | | static int | __archive_libsystem_sha512init(archive_sha512_ctx *ctx) | { | CC_SHA512_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_sha512update(archive_sha512_ctx *ctx, const void *indata, | size_t insize) | { | CC_SHA512_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_sha512final(archive_sha512_ctx *ctx, void *md) | { | CC_SHA512_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA512_NETTLE) | | static int | __archive_nettle_sha512init(archive_sha512_ctx *ctx) | { | sha512_init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_sha512update(archive_sha512_ctx *ctx, const void *indata, | size_t insize) | { | sha512_update(ctx, insize, indata); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_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_openssl_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_openssl_sha512update(archive_sha512_ctx *ctx, const void *indata, | size_t insize) | { | EVP_DigestUpdate(*ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_openssl_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_windowsapi_sha512init(archive_sha512_ctx *ctx) | { | return (win_crypto_init(ctx, CALG_SHA_512)); | } | | static int | __archive_windowsapi_sha512update(archive_sha512_ctx *ctx, const void *indata, | size_t insize) | { | return (win_crypto_Update(ctx, indata, insize)); | } | | static int | __archive_windowsapi_sha512final(archive_sha512_ctx *ctx, void *md) | { | return (win_crypto_Final(md, 64, ctx)); | } | | #else | | static int | __archive_stub_sha512init(archive_sha512_ctx *ctx) | { | (void)ctx; /* UNUSED */ | return (ARCHIVE_FAILED); | } | | static int | __archive_stub_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_stub_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 */ | #if defined(ARCHIVE_CRYPTO_MD5_LIBC) | &__archive_libc_md5init, | &__archive_libc_md5update, | &__archive_libc_md5final, | #elif defined(ARCHIVE_CRYPTO_MD5_LIBMD) | &__archive_libmd_md5init, | &__archive_libmd_md5update, | &__archive_libmd_md5final, | #elif defined(ARCHIVE_CRYPTO_MD5_LIBSYSTEM) | &__archive_libsystem_md5init, | &__archive_libsystem_md5update, | &__archive_libsystem_md5final, | #elif defined(ARCHIVE_CRYPTO_MD5_NETTLE) | &__archive_nettle_md5init, | &__archive_nettle_md5update, | &__archive_nettle_md5final, | #elif defined(ARCHIVE_CRYPTO_MD5_OPENSSL) | &__archive_openssl_md5init, | &__archive_openssl_md5update, | &__archive_openssl_md5final, | #elif defined(ARCHIVE_CRYPTO_MD5_WIN) | &__archive_windowsapi_md5init, | &__archive_windowsapi_md5update, | &__archive_windowsapi_md5final, | #elif !defined(ARCHIVE_MD5_COMPILE_TEST) | &__archive_stub_md5init, | &__archive_stub_md5update, | &__archive_stub_md5final, | #endif | | /* RIPEMD160 */ | #if defined(ARCHIVE_CRYPTO_RMD160_LIBC) | &__archive_libc_ripemd160init, | &__archive_libc_ripemd160update, | &__archive_libc_ripemd160final, | #elif defined(ARCHIVE_CRYPTO_RMD160_LIBMD) | &__archive_libmd_ripemd160init, | &__archive_libmd_ripemd160update, | &__archive_libmd_ripemd160final, | #elif defined(ARCHIVE_CRYPTO_RMD160_NETTLE) | &__archive_nettle_ripemd160init, | &__archive_nettle_ripemd160update, | &__archive_nettle_ripemd160final, | #elif defined(ARCHIVE_CRYPTO_RMD160_OPENSSL) | &__archive_openssl_ripemd160init, | &__archive_openssl_ripemd160update, | &__archive_openssl_ripemd160final, | #elif !defined(ARCHIVE_RMD160_COMPILE_TEST) | &__archive_stub_ripemd160init, | &__archive_stub_ripemd160update, | &__archive_stub_ripemd160final, | #endif | | /* SHA1 */ | #if defined(ARCHIVE_CRYPTO_SHA1_LIBC) | &__archive_libc_sha1init, | &__archive_libc_sha1update, | &__archive_libc_sha1final, | #elif defined(ARCHIVE_CRYPTO_SHA1_LIBMD) | &__archive_libmd_sha1init, | &__archive_libmd_sha1update, | &__archive_libmd_sha1final, | #elif defined(ARCHIVE_CRYPTO_SHA1_LIBSYSTEM) | &__archive_libsystem_sha1init, | &__archive_libsystem_sha1update, | &__archive_libsystem_sha1final, | #elif defined(ARCHIVE_CRYPTO_SHA1_NETTLE) | &__archive_nettle_sha1init, | &__archive_nettle_sha1update, | &__archive_nettle_sha1final, | #elif defined(ARCHIVE_CRYPTO_SHA1_OPENSSL) | &__archive_openssl_sha1init, | &__archive_openssl_sha1update, | &__archive_openssl_sha1final, | #elif defined(ARCHIVE_CRYPTO_SHA1_WIN) | &__archive_windowsapi_sha1init, | &__archive_windowsapi_sha1update, | &__archive_windowsapi_sha1final, | #elif !defined(ARCHIVE_SHA1_COMPILE_TEST) | &__archive_stub_sha1init, | &__archive_stub_sha1update, | &__archive_stub_sha1final, | #endif | | /* SHA256 */ | #if defined(ARCHIVE_CRYPTO_SHA256_LIBC) | &__archive_libc_sha256init, | &__archive_libc_sha256update, | &__archive_libc_sha256final, | #elif defined(ARCHIVE_CRYPTO_SHA256_LIBC2) | &__archive_libc2_sha256init, | &__archive_libc2_sha256update, | &__archive_libc2_sha256final, | #elif defined(ARCHIVE_CRYPTO_SHA256_LIBC3) | &__archive_libc3_sha256init, | &__archive_libc3_sha256update, | &__archive_libc3_sha256final, | #elif defined(ARCHIVE_CRYPTO_SHA256_LIBMD) | &__archive_libmd_sha256init, | &__archive_libmd_sha256update, | &__archive_libmd_sha256final, | #elif defined(ARCHIVE_CRYPTO_SHA256_LIBSYSTEM) | &__archive_libsystem_sha256init, | &__archive_libsystem_sha256update, | &__archive_libsystem_sha256final, | #elif defined(ARCHIVE_CRYPTO_SHA256_NETTLE) | &__archive_nettle_sha256init, | &__archive_nettle_sha256update, | &__archive_nettle_sha256final, | #elif defined(ARCHIVE_CRYPTO_SHA256_OPENSSL) | &__archive_openssl_sha256init, | &__archive_openssl_sha256update, | &__archive_openssl_sha256final, | #elif defined(ARCHIVE_CRYPTO_SHA256_WIN) | &__archive_windowsapi_sha256init, | &__archive_windowsapi_sha256update, | &__archive_windowsapi_sha256final, | #elif !defined(ARCHIVE_SHA256_COMPILE_TEST) | &__archive_stub_sha256init, | &__archive_stub_sha256update, | &__archive_stub_sha256final, | #endif | | /* SHA384 */ | #if defined(ARCHIVE_CRYPTO_SHA384_LIBC) | &__archive_libc_sha384init, | &__archive_libc_sha384update, | &__archive_libc_sha384final, | #elif defined(ARCHIVE_CRYPTO_SHA384_LIBC2) | &__archive_libc2_sha384init, | &__archive_libc2_sha384update, | &__archive_libc2_sha384final, | #elif defined(ARCHIVE_CRYPTO_SHA384_LIBC3) | &__archive_libc3_sha384init, | &__archive_libc3_sha384update, | &__archive_libc3_sha384final, | #elif defined(ARCHIVE_CRYPTO_SHA384_LIBSYSTEM) | &__archive_libsystem_sha384init, | &__archive_libsystem_sha384update, | &__archive_libsystem_sha384final, | #elif defined(ARCHIVE_CRYPTO_SHA384_NETTLE) | &__archive_nettle_sha384init, | &__archive_nettle_sha384update, | &__archive_nettle_sha384final, | #elif defined(ARCHIVE_CRYPTO_SHA384_OPENSSL) | &__archive_openssl_sha384init, | &__archive_openssl_sha384update, | &__archive_openssl_sha384final, | #elif defined(ARCHIVE_CRYPTO_SHA384_WIN) | &__archive_windowsapi_sha384init, | &__archive_windowsapi_sha384update, | &__archive_windowsapi_sha384final, | #elif !defined(ARCHIVE_SHA384_COMPILE_TEST) | &__archive_stub_sha384init, | &__archive_stub_sha384update, | &__archive_stub_sha384final, | #endif | | /* SHA512 */ | #if defined(ARCHIVE_CRYPTO_SHA512_LIBC) | &__archive_libc_sha512init, | &__archive_libc_sha512update, | &__archive_libc_sha512final | #elif defined(ARCHIVE_CRYPTO_SHA512_LIBC2) | &__archive_libc2_sha512init, | &__archive_libc2_sha512update, | &__archive_libc2_sha512final | #elif defined(ARCHIVE_CRYPTO_SHA512_LIBC3) | &__archive_libc3_sha512init, | &__archive_libc3_sha512update, | &__archive_libc3_sha512final | #elif defined(ARCHIVE_CRYPTO_SHA512_LIBMD) | &__archive_libmd_sha512init, | &__archive_libmd_sha512update, | &__archive_libmd_sha512final | #elif defined(ARCHIVE_CRYPTO_SHA512_LIBSYSTEM) | &__archive_libsystem_sha512init, | &__archive_libsystem_sha512update, | &__archive_libsystem_sha512final | #elif defined(ARCHIVE_CRYPTO_SHA512_NETTLE) | &__archive_nettle_sha512init, | &__archive_nettle_sha512update, | &__archive_nettle_sha512final | #elif defined(ARCHIVE_CRYPTO_SHA512_OPENSSL) | &__archive_openssl_sha512init, | &__archive_openssl_sha512update, | &__archive_openssl_sha512final | #elif defined(ARCHIVE_CRYPTO_SHA512_WIN) | &__archive_windowsapi_sha512init, | &__archive_windowsapi_sha512update, | &__archive_windowsapi_sha512final | #elif !defined(ARCHIVE_SHA512_COMPILE_TEST) | &__archive_stub_sha512init, | &__archive_stub_sha512update, | &__archive_stub_sha512final | #endif | }; | | 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; | } | configure:19222: result: no configure:19236: checking support for ARCHIVE_CRYPTO_MD5_LIBSYSTEM configure:19258: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -o conftest -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -I. -I. -I./libarchive -Wl,-elf2flt -static conftest.c -llzma >&5 In file included from conftest.c:219:0: ./libarchive/archive_digest_private.h:112:10: fatal error: CommonCrypto/CommonDigest.h: No such file or directory #include ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ compilation terminated. configure:19258: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "libarchive" | #define PACKAGE_TARNAME "libarchive" | #define PACKAGE_VERSION "3.4.0" | #define PACKAGE_STRING "libarchive 3.4.0" | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com" | #define PACKAGE_URL "" | #define PACKAGE "libarchive" | #define VERSION "3.4.0" | #define LIBARCHIVE_VERSION_STRING "3.4.0" | #define LIBARCHIVE_VERSION_NUMBER "3004000" | #define BSDCPIO_VERSION_STRING "3.4.0" | #define BSDTAR_VERSION_STRING "3.4.0" | #define BSDCAT_VERSION_STRING "3.4.0" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define __EXTENSIONS__ 1 | #define _ALL_SOURCE 1 | #define _GNU_SOURCE 1 | #define _POSIX_PTHREAD_SEMANTICS 1 | #define _TANDEM_SOURCE 1 | #define LT_OBJDIR ".libs/" | #define HAVE_DIRENT_H 1 | #define HAVE_SYS_WAIT_H 1 | #define HAVE_CTYPE_H 1 | #define HAVE_ERRNO_H 1 | #define HAVE_FCNTL_H 1 | #define HAVE_GRP_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_LANGINFO_H 1 | #define HAVE_LIMITS_H 1 | #define HAVE_LINUX_FIEMAP_H 1 | #define HAVE_LINUX_FS_H 1 | #define HAVE_LINUX_MAGIC_H 1 | #define HAVE_LINUX_TYPES_H 1 | #define HAVE_WORKING_FS_IOC_GETFLAGS 1 | #define HAVE_LOCALE_H 1 | #define HAVE_PATHS_H 1 | #define HAVE_POLL_H 1 | #define HAVE_PTHREAD_H 1 | #define HAVE_PWD_H 1 | #define HAVE_SIGNAL_H 1 | #define HAVE_SPAWN_H 1 | #define HAVE_STDARG_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_SYS_CDEFS_H 1 | #define HAVE_SYS_IOCTL_H 1 | #define HAVE_SYS_MOUNT_H 1 | #define HAVE_SYS_PARAM_H 1 | #define HAVE_SYS_POLL_H 1 | #define HAVE_SYS_SELECT_H 1 | #define HAVE_SYS_STATFS_H 1 | #define HAVE_SYS_STATVFS_H 1 | #define HAVE_SYS_SYSMACROS_H 1 | #define HAVE_SYS_TIME_H 1 | #define HAVE_SYS_UTSNAME_H 1 | #define HAVE_SYS_VFS_H 1 | #define HAVE_SYS_XATTR_H 1 | #define HAVE_TIME_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_UTIME_H 1 | #define HAVE_WCHAR_H 1 | #define HAVE_WCTYPE_H 1 | #define HAVE_ICONV 1 | #define ICONV_CONST | #define HAVE_ICONV_H 1 | #define HAVE_LZMA_H 1 | #define HAVE_LIBLZMA 1 | #define HAVE_LZMA_STREAM_ENCODER_MT 1 | #define HAVE_REGEX_H 1 | #define HAVE_STRUCT_TM_TM_GMTOFF 1 | #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1 | #define HAVE_STRUCT_STAT_ST_BLKSIZE 1 | #define HAVE_UINTMAX_T 1 | #define HAVE_UNSIGNED_LONG_LONG 1 | #define HAVE_UNSIGNED_LONG_LONG_INT 1 | #define HAVE_LONG_LONG_INT 1 | #define HAVE_INTMAX_T 1 | #define HAVE_UINTMAX_T 1 | #define HAVE_DECL_SIZE_MAX 1 | #define HAVE_DECL_INT32_MAX 1 | #define HAVE_DECL_INT32_MIN 1 | #define HAVE_DECL_INT64_MAX 1 | #define HAVE_DECL_INT64_MIN 1 | #define HAVE_DECL_UINT64_MAX 1 | #define HAVE_DECL_UINT32_MAX 1 | #define HAVE_DECL_INTMAX_MAX 1 | #define HAVE_DECL_INTMAX_MIN 1 | #define HAVE_DECL_UINTMAX_MAX 1 | #define HAVE_DECL_SSIZE_MAX 1 | #define HAVE_EILSEQ 1 | #define HAVE_WCHAR_T 1 | #define SIZEOF_WCHAR_T 4 | #define TIME_WITH_SYS_TIME 1 | #define HAVE_FSEEKO 1 | #define HAVE_LSTAT_EMPTY_STRING_BUG 1 | #define HAVE_STAT_EMPTY_STRING_BUG 1 | #define HAVE_DECL_STRERROR_R 1 | #define HAVE_STRERROR_R 1 | #define STRERROR_R_CHAR_P 1 | #define HAVE_STRFTIME 1 | #define HAVE_VPRINTF 1 | #define HAVE_CHOWN 1 | #define HAVE_CHROOT 1 | #define HAVE_CTIME_R 1 | #define HAVE_FCHDIR 1 | #define HAVE_FCHMOD 1 | #define HAVE_FCHOWN 1 | #define HAVE_FCNTL 1 | #define HAVE_FDOPENDIR 1 | #define HAVE_FSTAT 1 | #define HAVE_FSTATAT 1 | #define HAVE_FSTATFS 1 | #define HAVE_FSTATVFS 1 | #define HAVE_FTRUNCATE 1 | #define HAVE_FUTIMENS 1 | #define HAVE_FUTIMESAT 1 | #define HAVE_GETEUID 1 | #define HAVE_GETPID 1 | #define HAVE_GETGRGID_R 1 | #define HAVE_GETGRNAM_R 1 | #define HAVE_GETPWNAM_R 1 | #define HAVE_GETPWUID_R 1 | #define HAVE_GMTIME_R 1 | #define HAVE_LCHOWN 1 | #define HAVE_LINK 1 | #define HAVE_LOCALTIME_R 1 | #define HAVE_LSTAT 1 | #define HAVE_LUTIMES 1 | #define HAVE_MBRTOWC 1 | #define HAVE_MEMMOVE 1 | #define HAVE_MEMSET 1 | #define HAVE_MKDIR 1 | #define HAVE_MKFIFO 1 | #define HAVE_MKNOD 1 | #define HAVE_MKSTEMP 1 | #define HAVE_NL_LANGINFO 1 | #define HAVE_OPENAT 1 | #define HAVE_PIPE 1 | #define HAVE_POLL 1 | #define HAVE_POSIX_SPAWNP 1 | #define HAVE_READLINK 1 | #define HAVE_READLINKAT 1 | #define HAVE_SELECT 1 | #define HAVE_SETENV 1 | #define HAVE_SETLOCALE 1 | #define HAVE_SIGACTION 1 | #define HAVE_STATFS 1 | #define HAVE_STATVFS 1 | #define HAVE_STRCHR 1 | #define HAVE_STRDUP 1 | #define HAVE_STRERROR 1 | #define HAVE_STRRCHR 1 | #define HAVE_SYMLINK 1 | #define HAVE_TIMEGM 1 | #define HAVE_TZSET 1 | #define HAVE_UNLINKAT 1 | #define HAVE_UNSETENV 1 | #define HAVE_UTIME 1 | #define HAVE_UTIMENSAT 1 | #define HAVE_UTIMES 1 | #define HAVE_VFORK 1 | #define HAVE_WCRTOMB 1 | #define HAVE_WCSCMP 1 | #define HAVE_WCSCPY 1 | #define HAVE_WCSLEN 1 | #define HAVE_WCTOMB 1 | #define HAVE_WMEMCMP 1 | #define HAVE_WMEMCPY 1 | #define HAVE_WMEMMOVE 1 | #define HAVE_READDIR_R 1 | #define HAVE_DIRFD 1 | /* end confdefs.h. */ | | #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_libc_md5init(archive_md5_ctx *ctx) | { | MD5Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc_md5update(archive_md5_ctx *ctx, const void *indata, | size_t insize) | { | MD5Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc_md5final(archive_md5_ctx *ctx, void *md) | { | MD5Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_MD5_LIBMD) | | static int | __archive_libmd_md5init(archive_md5_ctx *ctx) | { | MD5Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_md5update(archive_md5_ctx *ctx, const void *indata, | size_t insize) | { | MD5Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_md5final(archive_md5_ctx *ctx, void *md) | { | MD5Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_MD5_LIBSYSTEM) | | static int | __archive_libsystem_md5init(archive_md5_ctx *ctx) | { | CC_MD5_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_md5update(archive_md5_ctx *ctx, const void *indata, | size_t insize) | { | CC_MD5_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_md5final(archive_md5_ctx *ctx, void *md) | { | CC_MD5_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_MD5_NETTLE) | | static int | __archive_nettle_md5init(archive_md5_ctx *ctx) | { | md5_init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_md5update(archive_md5_ctx *ctx, const void *indata, | size_t insize) | { | md5_update(ctx, insize, indata); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_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_openssl_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_openssl_md5update(archive_md5_ctx *ctx, const void *indata, | size_t insize) | { | EVP_DigestUpdate(*ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_openssl_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_windowsapi_md5init(archive_md5_ctx *ctx) | { | return (win_crypto_init(ctx, CALG_MD5)); | } | | static int | __archive_windowsapi_md5update(archive_md5_ctx *ctx, const void *indata, | size_t insize) | { | return (win_crypto_Update(ctx, indata, insize)); | } | | static int | __archive_windowsapi_md5final(archive_md5_ctx *ctx, void *md) | { | return (win_crypto_Final(md, 16, ctx)); | } | | #else | | static int | __archive_stub_md5init(archive_md5_ctx *ctx) | { | (void)ctx; /* UNUSED */ | return (ARCHIVE_FAILED); | } | | static int | __archive_stub_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_stub_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_libc_ripemd160init(archive_rmd160_ctx *ctx) | { | RMD160Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, | size_t insize) | { | RMD160Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc_ripemd160final(archive_rmd160_ctx *ctx, void *md) | { | RMD160Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_RMD160_LIBMD) | | static int | __archive_libmd_ripemd160init(archive_rmd160_ctx *ctx) | { | RIPEMD160_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, | size_t insize) | { | RIPEMD160_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_ripemd160final(archive_rmd160_ctx *ctx, void *md) | { | RIPEMD160_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_RMD160_NETTLE) | | static int | __archive_nettle_ripemd160init(archive_rmd160_ctx *ctx) | { | ripemd160_init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, | size_t insize) | { | ripemd160_update(ctx, insize, indata); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_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_openssl_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_openssl_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, | size_t insize) | { | EVP_DigestUpdate(*ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_openssl_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_stub_ripemd160init(archive_rmd160_ctx *ctx) | { | (void)ctx; /* UNUSED */ | return (ARCHIVE_FAILED); | } | | static int | __archive_stub_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_stub_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_libc_sha1init(archive_sha1_ctx *ctx) | { | SHA1Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc_sha1update(archive_sha1_ctx *ctx, const void *indata, | size_t insize) | { | SHA1Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc_sha1final(archive_sha1_ctx *ctx, void *md) | { | SHA1Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA1_LIBMD) | | static int | __archive_libmd_sha1init(archive_sha1_ctx *ctx) | { | SHA1_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_sha1update(archive_sha1_ctx *ctx, const void *indata, | size_t insize) | { | SHA1_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_sha1final(archive_sha1_ctx *ctx, void *md) | { | SHA1_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA1_LIBSYSTEM) | | static int | __archive_libsystem_sha1init(archive_sha1_ctx *ctx) | { | CC_SHA1_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_sha1update(archive_sha1_ctx *ctx, const void *indata, | size_t insize) | { | CC_SHA1_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_sha1final(archive_sha1_ctx *ctx, void *md) | { | CC_SHA1_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA1_NETTLE) | | static int | __archive_nettle_sha1init(archive_sha1_ctx *ctx) | { | sha1_init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_sha1update(archive_sha1_ctx *ctx, const void *indata, | size_t insize) | { | sha1_update(ctx, insize, indata); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_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_openssl_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_openssl_sha1update(archive_sha1_ctx *ctx, const void *indata, | size_t insize) | { | EVP_DigestUpdate(*ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_openssl_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_windowsapi_sha1init(archive_sha1_ctx *ctx) | { | return (win_crypto_init(ctx, CALG_SHA1)); | } | | static int | __archive_windowsapi_sha1update(archive_sha1_ctx *ctx, const void *indata, | size_t insize) | { | return (win_crypto_Update(ctx, indata, insize)); | } | | static int | __archive_windowsapi_sha1final(archive_sha1_ctx *ctx, void *md) | { | return (win_crypto_Final(md, 20, ctx)); | } | | #else | | static int | __archive_stub_sha1init(archive_sha1_ctx *ctx) | { | (void)ctx; /* UNUSED */ | return (ARCHIVE_FAILED); | } | | static int | __archive_stub_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_stub_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_libc_sha256init(archive_sha256_ctx *ctx) | { | SHA256_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc_sha256update(archive_sha256_ctx *ctx, const void *indata, | size_t insize) | { | SHA256_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc_sha256final(archive_sha256_ctx *ctx, void *md) | { | SHA256_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA256_LIBC2) | | static int | __archive_libc2_sha256init(archive_sha256_ctx *ctx) | { | SHA256Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc2_sha256update(archive_sha256_ctx *ctx, const void *indata, | size_t insize) | { | SHA256Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc2_sha256final(archive_sha256_ctx *ctx, void *md) | { | SHA256Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA256_LIBC3) | | static int | __archive_libc3_sha256init(archive_sha256_ctx *ctx) | { | SHA256Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc3_sha256update(archive_sha256_ctx *ctx, const void *indata, | size_t insize) | { | SHA256Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc3_sha256final(archive_sha256_ctx *ctx, void *md) | { | SHA256Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA256_LIBMD) | | static int | __archive_libmd_sha256init(archive_sha256_ctx *ctx) | { | SHA256_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_sha256update(archive_sha256_ctx *ctx, const void *indata, | size_t insize) | { | SHA256_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_sha256final(archive_sha256_ctx *ctx, void *md) | { | SHA256_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA256_LIBSYSTEM) | | static int | __archive_libsystem_sha256init(archive_sha256_ctx *ctx) | { | CC_SHA256_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_sha256update(archive_sha256_ctx *ctx, const void *indata, | size_t insize) | { | CC_SHA256_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_sha256final(archive_sha256_ctx *ctx, void *md) | { | CC_SHA256_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA256_NETTLE) | | static int | __archive_nettle_sha256init(archive_sha256_ctx *ctx) | { | sha256_init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_sha256update(archive_sha256_ctx *ctx, const void *indata, | size_t insize) | { | sha256_update(ctx, insize, indata); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_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_openssl_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_openssl_sha256update(archive_sha256_ctx *ctx, const void *indata, | size_t insize) | { | EVP_DigestUpdate(*ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_openssl_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_windowsapi_sha256init(archive_sha256_ctx *ctx) | { | return (win_crypto_init(ctx, CALG_SHA_256)); | } | | static int | __archive_windowsapi_sha256update(archive_sha256_ctx *ctx, const void *indata, | size_t insize) | { | return (win_crypto_Update(ctx, indata, insize)); | } | | static int | __archive_windowsapi_sha256final(archive_sha256_ctx *ctx, void *md) | { | return (win_crypto_Final(md, 32, ctx)); | } | | #else | | static int | __archive_stub_sha256init(archive_sha256_ctx *ctx) | { | (void)ctx; /* UNUSED */ | return (ARCHIVE_FAILED); | } | | static int | __archive_stub_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_stub_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_libc_sha384init(archive_sha384_ctx *ctx) | { | SHA384_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc_sha384update(archive_sha384_ctx *ctx, const void *indata, | size_t insize) | { | SHA384_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc_sha384final(archive_sha384_ctx *ctx, void *md) | { | SHA384_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA384_LIBC2) | | static int | __archive_libc2_sha384init(archive_sha384_ctx *ctx) | { | SHA384Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc2_sha384update(archive_sha384_ctx *ctx, const void *indata, | size_t insize) | { | SHA384Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc2_sha384final(archive_sha384_ctx *ctx, void *md) | { | SHA384Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA384_LIBC3) | | static int | __archive_libc3_sha384init(archive_sha384_ctx *ctx) | { | SHA384Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc3_sha384update(archive_sha384_ctx *ctx, const void *indata, | size_t insize) | { | SHA384Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc3_sha384final(archive_sha384_ctx *ctx, void *md) | { | SHA384Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA384_LIBSYSTEM) | | static int | __archive_libsystem_sha384init(archive_sha384_ctx *ctx) | { | CC_SHA384_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_sha384update(archive_sha384_ctx *ctx, const void *indata, | size_t insize) | { | CC_SHA384_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_sha384final(archive_sha384_ctx *ctx, void *md) | { | CC_SHA384_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA384_NETTLE) | | static int | __archive_nettle_sha384init(archive_sha384_ctx *ctx) | { | sha384_init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_sha384update(archive_sha384_ctx *ctx, const void *indata, | size_t insize) | { | sha384_update(ctx, insize, indata); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_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_openssl_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_openssl_sha384update(archive_sha384_ctx *ctx, const void *indata, | size_t insize) | { | EVP_DigestUpdate(*ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_openssl_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_windowsapi_sha384init(archive_sha384_ctx *ctx) | { | return (win_crypto_init(ctx, CALG_SHA_384)); | } | | static int | __archive_windowsapi_sha384update(archive_sha384_ctx *ctx, const void *indata, | size_t insize) | { | return (win_crypto_Update(ctx, indata, insize)); | } | | static int | __archive_windowsapi_sha384final(archive_sha384_ctx *ctx, void *md) | { | return (win_crypto_Final(md, 48, ctx)); | } | | #else | | static int | __archive_stub_sha384init(archive_sha384_ctx *ctx) | { | (void)ctx; /* UNUSED */ | return (ARCHIVE_FAILED); | } | | static int | __archive_stub_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_stub_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_libc_sha512init(archive_sha512_ctx *ctx) | { | SHA512_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc_sha512update(archive_sha512_ctx *ctx, const void *indata, | size_t insize) | { | SHA512_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc_sha512final(archive_sha512_ctx *ctx, void *md) | { | SHA512_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA512_LIBC2) | | static int | __archive_libc2_sha512init(archive_sha512_ctx *ctx) | { | SHA512Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc2_sha512update(archive_sha512_ctx *ctx, const void *indata, | size_t insize) | { | SHA512Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc2_sha512final(archive_sha512_ctx *ctx, void *md) | { | SHA512Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA512_LIBC3) | | static int | __archive_libc3_sha512init(archive_sha512_ctx *ctx) | { | SHA512Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc3_sha512update(archive_sha512_ctx *ctx, const void *indata, | size_t insize) | { | SHA512Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc3_sha512final(archive_sha512_ctx *ctx, void *md) | { | SHA512Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA512_LIBMD) | | static int | __archive_libmd_sha512init(archive_sha512_ctx *ctx) | { | SHA512_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_sha512update(archive_sha512_ctx *ctx, const void *indata, | size_t insize) | { | SHA512_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_sha512final(archive_sha512_ctx *ctx, void *md) | { | SHA512_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA512_LIBSYSTEM) | | static int | __archive_libsystem_sha512init(archive_sha512_ctx *ctx) | { | CC_SHA512_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_sha512update(archive_sha512_ctx *ctx, const void *indata, | size_t insize) | { | CC_SHA512_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_sha512final(archive_sha512_ctx *ctx, void *md) | { | CC_SHA512_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA512_NETTLE) | | static int | __archive_nettle_sha512init(archive_sha512_ctx *ctx) | { | sha512_init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_sha512update(archive_sha512_ctx *ctx, const void *indata, | size_t insize) | { | sha512_update(ctx, insize, indata); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_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_openssl_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_openssl_sha512update(archive_sha512_ctx *ctx, const void *indata, | size_t insize) | { | EVP_DigestUpdate(*ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_openssl_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_windowsapi_sha512init(archive_sha512_ctx *ctx) | { | return (win_crypto_init(ctx, CALG_SHA_512)); | } | | static int | __archive_windowsapi_sha512update(archive_sha512_ctx *ctx, const void *indata, | size_t insize) | { | return (win_crypto_Update(ctx, indata, insize)); | } | | static int | __archive_windowsapi_sha512final(archive_sha512_ctx *ctx, void *md) | { | return (win_crypto_Final(md, 64, ctx)); | } | | #else | | static int | __archive_stub_sha512init(archive_sha512_ctx *ctx) | { | (void)ctx; /* UNUSED */ | return (ARCHIVE_FAILED); | } | | static int | __archive_stub_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_stub_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 */ | #if defined(ARCHIVE_CRYPTO_MD5_LIBC) | &__archive_libc_md5init, | &__archive_libc_md5update, | &__archive_libc_md5final, | #elif defined(ARCHIVE_CRYPTO_MD5_LIBMD) | &__archive_libmd_md5init, | &__archive_libmd_md5update, | &__archive_libmd_md5final, | #elif defined(ARCHIVE_CRYPTO_MD5_LIBSYSTEM) | &__archive_libsystem_md5init, | &__archive_libsystem_md5update, | &__archive_libsystem_md5final, | #elif defined(ARCHIVE_CRYPTO_MD5_NETTLE) | &__archive_nettle_md5init, | &__archive_nettle_md5update, | &__archive_nettle_md5final, | #elif defined(ARCHIVE_CRYPTO_MD5_OPENSSL) | &__archive_openssl_md5init, | &__archive_openssl_md5update, | &__archive_openssl_md5final, | #elif defined(ARCHIVE_CRYPTO_MD5_WIN) | &__archive_windowsapi_md5init, | &__archive_windowsapi_md5update, | &__archive_windowsapi_md5final, | #elif !defined(ARCHIVE_MD5_COMPILE_TEST) | &__archive_stub_md5init, | &__archive_stub_md5update, | &__archive_stub_md5final, | #endif | | /* RIPEMD160 */ | #if defined(ARCHIVE_CRYPTO_RMD160_LIBC) | &__archive_libc_ripemd160init, | &__archive_libc_ripemd160update, | &__archive_libc_ripemd160final, | #elif defined(ARCHIVE_CRYPTO_RMD160_LIBMD) | &__archive_libmd_ripemd160init, | &__archive_libmd_ripemd160update, | &__archive_libmd_ripemd160final, | #elif defined(ARCHIVE_CRYPTO_RMD160_NETTLE) | &__archive_nettle_ripemd160init, | &__archive_nettle_ripemd160update, | &__archive_nettle_ripemd160final, | #elif defined(ARCHIVE_CRYPTO_RMD160_OPENSSL) | &__archive_openssl_ripemd160init, | &__archive_openssl_ripemd160update, | &__archive_openssl_ripemd160final, | #elif !defined(ARCHIVE_RMD160_COMPILE_TEST) | &__archive_stub_ripemd160init, | &__archive_stub_ripemd160update, | &__archive_stub_ripemd160final, | #endif | | /* SHA1 */ | #if defined(ARCHIVE_CRYPTO_SHA1_LIBC) | &__archive_libc_sha1init, | &__archive_libc_sha1update, | &__archive_libc_sha1final, | #elif defined(ARCHIVE_CRYPTO_SHA1_LIBMD) | &__archive_libmd_sha1init, | &__archive_libmd_sha1update, | &__archive_libmd_sha1final, | #elif defined(ARCHIVE_CRYPTO_SHA1_LIBSYSTEM) | &__archive_libsystem_sha1init, | &__archive_libsystem_sha1update, | &__archive_libsystem_sha1final, | #elif defined(ARCHIVE_CRYPTO_SHA1_NETTLE) | &__archive_nettle_sha1init, | &__archive_nettle_sha1update, | &__archive_nettle_sha1final, | #elif defined(ARCHIVE_CRYPTO_SHA1_OPENSSL) | &__archive_openssl_sha1init, | &__archive_openssl_sha1update, | &__archive_openssl_sha1final, | #elif defined(ARCHIVE_CRYPTO_SHA1_WIN) | &__archive_windowsapi_sha1init, | &__archive_windowsapi_sha1update, | &__archive_windowsapi_sha1final, | #elif !defined(ARCHIVE_SHA1_COMPILE_TEST) | &__archive_stub_sha1init, | &__archive_stub_sha1update, | &__archive_stub_sha1final, | #endif | | /* SHA256 */ | #if defined(ARCHIVE_CRYPTO_SHA256_LIBC) | &__archive_libc_sha256init, | &__archive_libc_sha256update, | &__archive_libc_sha256final, | #elif defined(ARCHIVE_CRYPTO_SHA256_LIBC2) | &__archive_libc2_sha256init, | &__archive_libc2_sha256update, | &__archive_libc2_sha256final, | #elif defined(ARCHIVE_CRYPTO_SHA256_LIBC3) | &__archive_libc3_sha256init, | &__archive_libc3_sha256update, | &__archive_libc3_sha256final, | #elif defined(ARCHIVE_CRYPTO_SHA256_LIBMD) | &__archive_libmd_sha256init, | &__archive_libmd_sha256update, | &__archive_libmd_sha256final, | #elif defined(ARCHIVE_CRYPTO_SHA256_LIBSYSTEM) | &__archive_libsystem_sha256init, | &__archive_libsystem_sha256update, | &__archive_libsystem_sha256final, | #elif defined(ARCHIVE_CRYPTO_SHA256_NETTLE) | &__archive_nettle_sha256init, | &__archive_nettle_sha256update, | &__archive_nettle_sha256final, | #elif defined(ARCHIVE_CRYPTO_SHA256_OPENSSL) | &__archive_openssl_sha256init, | &__archive_openssl_sha256update, | &__archive_openssl_sha256final, | #elif defined(ARCHIVE_CRYPTO_SHA256_WIN) | &__archive_windowsapi_sha256init, | &__archive_windowsapi_sha256update, | &__archive_windowsapi_sha256final, | #elif !defined(ARCHIVE_SHA256_COMPILE_TEST) | &__archive_stub_sha256init, | &__archive_stub_sha256update, | &__archive_stub_sha256final, | #endif | | /* SHA384 */ | #if defined(ARCHIVE_CRYPTO_SHA384_LIBC) | &__archive_libc_sha384init, | &__archive_libc_sha384update, | &__archive_libc_sha384final, | #elif defined(ARCHIVE_CRYPTO_SHA384_LIBC2) | &__archive_libc2_sha384init, | &__archive_libc2_sha384update, | &__archive_libc2_sha384final, | #elif defined(ARCHIVE_CRYPTO_SHA384_LIBC3) | &__archive_libc3_sha384init, | &__archive_libc3_sha384update, | &__archive_libc3_sha384final, | #elif defined(ARCHIVE_CRYPTO_SHA384_LIBSYSTEM) | &__archive_libsystem_sha384init, | &__archive_libsystem_sha384update, | &__archive_libsystem_sha384final, | #elif defined(ARCHIVE_CRYPTO_SHA384_NETTLE) | &__archive_nettle_sha384init, | &__archive_nettle_sha384update, | &__archive_nettle_sha384final, | #elif defined(ARCHIVE_CRYPTO_SHA384_OPENSSL) | &__archive_openssl_sha384init, | &__archive_openssl_sha384update, | &__archive_openssl_sha384final, | #elif defined(ARCHIVE_CRYPTO_SHA384_WIN) | &__archive_windowsapi_sha384init, | &__archive_windowsapi_sha384update, | &__archive_windowsapi_sha384final, | #elif !defined(ARCHIVE_SHA384_COMPILE_TEST) | &__archive_stub_sha384init, | &__archive_stub_sha384update, | &__archive_stub_sha384final, | #endif | | /* SHA512 */ | #if defined(ARCHIVE_CRYPTO_SHA512_LIBC) | &__archive_libc_sha512init, | &__archive_libc_sha512update, | &__archive_libc_sha512final | #elif defined(ARCHIVE_CRYPTO_SHA512_LIBC2) | &__archive_libc2_sha512init, | &__archive_libc2_sha512update, | &__archive_libc2_sha512final | #elif defined(ARCHIVE_CRYPTO_SHA512_LIBC3) | &__archive_libc3_sha512init, | &__archive_libc3_sha512update, | &__archive_libc3_sha512final | #elif defined(ARCHIVE_CRYPTO_SHA512_LIBMD) | &__archive_libmd_sha512init, | &__archive_libmd_sha512update, | &__archive_libmd_sha512final | #elif defined(ARCHIVE_CRYPTO_SHA512_LIBSYSTEM) | &__archive_libsystem_sha512init, | &__archive_libsystem_sha512update, | &__archive_libsystem_sha512final | #elif defined(ARCHIVE_CRYPTO_SHA512_NETTLE) | &__archive_nettle_sha512init, | &__archive_nettle_sha512update, | &__archive_nettle_sha512final | #elif defined(ARCHIVE_CRYPTO_SHA512_OPENSSL) | &__archive_openssl_sha512init, | &__archive_openssl_sha512update, | &__archive_openssl_sha512final | #elif defined(ARCHIVE_CRYPTO_SHA512_WIN) | &__archive_windowsapi_sha512init, | &__archive_windowsapi_sha512update, | &__archive_windowsapi_sha512final | #elif !defined(ARCHIVE_SHA512_COMPILE_TEST) | &__archive_stub_sha512init, | &__archive_stub_sha512update, | &__archive_stub_sha512final | #endif | }; | | 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; | } | configure:19268: result: no configure:19282: checking support for ARCHIVE_CRYPTO_RMD160_LIBC configure:19304: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -o conftest -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -I. -I. -I./libarchive -Wl,-elf2flt -static conftest.c -llzma >&5 In file included from conftest.c:219:0: ./libarchive/archive_digest_private.h:64:10: fatal error: rmd160.h: No such file or directory #include ^~~~~~~~~~ compilation terminated. configure:19304: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "libarchive" | #define PACKAGE_TARNAME "libarchive" | #define PACKAGE_VERSION "3.4.0" | #define PACKAGE_STRING "libarchive 3.4.0" | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com" | #define PACKAGE_URL "" | #define PACKAGE "libarchive" | #define VERSION "3.4.0" | #define LIBARCHIVE_VERSION_STRING "3.4.0" | #define LIBARCHIVE_VERSION_NUMBER "3004000" | #define BSDCPIO_VERSION_STRING "3.4.0" | #define BSDTAR_VERSION_STRING "3.4.0" | #define BSDCAT_VERSION_STRING "3.4.0" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define __EXTENSIONS__ 1 | #define _ALL_SOURCE 1 | #define _GNU_SOURCE 1 | #define _POSIX_PTHREAD_SEMANTICS 1 | #define _TANDEM_SOURCE 1 | #define LT_OBJDIR ".libs/" | #define HAVE_DIRENT_H 1 | #define HAVE_SYS_WAIT_H 1 | #define HAVE_CTYPE_H 1 | #define HAVE_ERRNO_H 1 | #define HAVE_FCNTL_H 1 | #define HAVE_GRP_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_LANGINFO_H 1 | #define HAVE_LIMITS_H 1 | #define HAVE_LINUX_FIEMAP_H 1 | #define HAVE_LINUX_FS_H 1 | #define HAVE_LINUX_MAGIC_H 1 | #define HAVE_LINUX_TYPES_H 1 | #define HAVE_WORKING_FS_IOC_GETFLAGS 1 | #define HAVE_LOCALE_H 1 | #define HAVE_PATHS_H 1 | #define HAVE_POLL_H 1 | #define HAVE_PTHREAD_H 1 | #define HAVE_PWD_H 1 | #define HAVE_SIGNAL_H 1 | #define HAVE_SPAWN_H 1 | #define HAVE_STDARG_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_SYS_CDEFS_H 1 | #define HAVE_SYS_IOCTL_H 1 | #define HAVE_SYS_MOUNT_H 1 | #define HAVE_SYS_PARAM_H 1 | #define HAVE_SYS_POLL_H 1 | #define HAVE_SYS_SELECT_H 1 | #define HAVE_SYS_STATFS_H 1 | #define HAVE_SYS_STATVFS_H 1 | #define HAVE_SYS_SYSMACROS_H 1 | #define HAVE_SYS_TIME_H 1 | #define HAVE_SYS_UTSNAME_H 1 | #define HAVE_SYS_VFS_H 1 | #define HAVE_SYS_XATTR_H 1 | #define HAVE_TIME_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_UTIME_H 1 | #define HAVE_WCHAR_H 1 | #define HAVE_WCTYPE_H 1 | #define HAVE_ICONV 1 | #define ICONV_CONST | #define HAVE_ICONV_H 1 | #define HAVE_LZMA_H 1 | #define HAVE_LIBLZMA 1 | #define HAVE_LZMA_STREAM_ENCODER_MT 1 | #define HAVE_REGEX_H 1 | #define HAVE_STRUCT_TM_TM_GMTOFF 1 | #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1 | #define HAVE_STRUCT_STAT_ST_BLKSIZE 1 | #define HAVE_UINTMAX_T 1 | #define HAVE_UNSIGNED_LONG_LONG 1 | #define HAVE_UNSIGNED_LONG_LONG_INT 1 | #define HAVE_LONG_LONG_INT 1 | #define HAVE_INTMAX_T 1 | #define HAVE_UINTMAX_T 1 | #define HAVE_DECL_SIZE_MAX 1 | #define HAVE_DECL_INT32_MAX 1 | #define HAVE_DECL_INT32_MIN 1 | #define HAVE_DECL_INT64_MAX 1 | #define HAVE_DECL_INT64_MIN 1 | #define HAVE_DECL_UINT64_MAX 1 | #define HAVE_DECL_UINT32_MAX 1 | #define HAVE_DECL_INTMAX_MAX 1 | #define HAVE_DECL_INTMAX_MIN 1 | #define HAVE_DECL_UINTMAX_MAX 1 | #define HAVE_DECL_SSIZE_MAX 1 | #define HAVE_EILSEQ 1 | #define HAVE_WCHAR_T 1 | #define SIZEOF_WCHAR_T 4 | #define TIME_WITH_SYS_TIME 1 | #define HAVE_FSEEKO 1 | #define HAVE_LSTAT_EMPTY_STRING_BUG 1 | #define HAVE_STAT_EMPTY_STRING_BUG 1 | #define HAVE_DECL_STRERROR_R 1 | #define HAVE_STRERROR_R 1 | #define STRERROR_R_CHAR_P 1 | #define HAVE_STRFTIME 1 | #define HAVE_VPRINTF 1 | #define HAVE_CHOWN 1 | #define HAVE_CHROOT 1 | #define HAVE_CTIME_R 1 | #define HAVE_FCHDIR 1 | #define HAVE_FCHMOD 1 | #define HAVE_FCHOWN 1 | #define HAVE_FCNTL 1 | #define HAVE_FDOPENDIR 1 | #define HAVE_FSTAT 1 | #define HAVE_FSTATAT 1 | #define HAVE_FSTATFS 1 | #define HAVE_FSTATVFS 1 | #define HAVE_FTRUNCATE 1 | #define HAVE_FUTIMENS 1 | #define HAVE_FUTIMESAT 1 | #define HAVE_GETEUID 1 | #define HAVE_GETPID 1 | #define HAVE_GETGRGID_R 1 | #define HAVE_GETGRNAM_R 1 | #define HAVE_GETPWNAM_R 1 | #define HAVE_GETPWUID_R 1 | #define HAVE_GMTIME_R 1 | #define HAVE_LCHOWN 1 | #define HAVE_LINK 1 | #define HAVE_LOCALTIME_R 1 | #define HAVE_LSTAT 1 | #define HAVE_LUTIMES 1 | #define HAVE_MBRTOWC 1 | #define HAVE_MEMMOVE 1 | #define HAVE_MEMSET 1 | #define HAVE_MKDIR 1 | #define HAVE_MKFIFO 1 | #define HAVE_MKNOD 1 | #define HAVE_MKSTEMP 1 | #define HAVE_NL_LANGINFO 1 | #define HAVE_OPENAT 1 | #define HAVE_PIPE 1 | #define HAVE_POLL 1 | #define HAVE_POSIX_SPAWNP 1 | #define HAVE_READLINK 1 | #define HAVE_READLINKAT 1 | #define HAVE_SELECT 1 | #define HAVE_SETENV 1 | #define HAVE_SETLOCALE 1 | #define HAVE_SIGACTION 1 | #define HAVE_STATFS 1 | #define HAVE_STATVFS 1 | #define HAVE_STRCHR 1 | #define HAVE_STRDUP 1 | #define HAVE_STRERROR 1 | #define HAVE_STRRCHR 1 | #define HAVE_SYMLINK 1 | #define HAVE_TIMEGM 1 | #define HAVE_TZSET 1 | #define HAVE_UNLINKAT 1 | #define HAVE_UNSETENV 1 | #define HAVE_UTIME 1 | #define HAVE_UTIMENSAT 1 | #define HAVE_UTIMES 1 | #define HAVE_VFORK 1 | #define HAVE_WCRTOMB 1 | #define HAVE_WCSCMP 1 | #define HAVE_WCSCPY 1 | #define HAVE_WCSLEN 1 | #define HAVE_WCTOMB 1 | #define HAVE_WMEMCMP 1 | #define HAVE_WMEMCPY 1 | #define HAVE_WMEMMOVE 1 | #define HAVE_READDIR_R 1 | #define HAVE_DIRFD 1 | /* end confdefs.h. */ | | #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_libc_md5init(archive_md5_ctx *ctx) | { | MD5Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc_md5update(archive_md5_ctx *ctx, const void *indata, | size_t insize) | { | MD5Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc_md5final(archive_md5_ctx *ctx, void *md) | { | MD5Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_MD5_LIBMD) | | static int | __archive_libmd_md5init(archive_md5_ctx *ctx) | { | MD5Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_md5update(archive_md5_ctx *ctx, const void *indata, | size_t insize) | { | MD5Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_md5final(archive_md5_ctx *ctx, void *md) | { | MD5Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_MD5_LIBSYSTEM) | | static int | __archive_libsystem_md5init(archive_md5_ctx *ctx) | { | CC_MD5_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_md5update(archive_md5_ctx *ctx, const void *indata, | size_t insize) | { | CC_MD5_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_md5final(archive_md5_ctx *ctx, void *md) | { | CC_MD5_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_MD5_NETTLE) | | static int | __archive_nettle_md5init(archive_md5_ctx *ctx) | { | md5_init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_md5update(archive_md5_ctx *ctx, const void *indata, | size_t insize) | { | md5_update(ctx, insize, indata); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_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_openssl_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_openssl_md5update(archive_md5_ctx *ctx, const void *indata, | size_t insize) | { | EVP_DigestUpdate(*ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_openssl_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_windowsapi_md5init(archive_md5_ctx *ctx) | { | return (win_crypto_init(ctx, CALG_MD5)); | } | | static int | __archive_windowsapi_md5update(archive_md5_ctx *ctx, const void *indata, | size_t insize) | { | return (win_crypto_Update(ctx, indata, insize)); | } | | static int | __archive_windowsapi_md5final(archive_md5_ctx *ctx, void *md) | { | return (win_crypto_Final(md, 16, ctx)); | } | | #else | | static int | __archive_stub_md5init(archive_md5_ctx *ctx) | { | (void)ctx; /* UNUSED */ | return (ARCHIVE_FAILED); | } | | static int | __archive_stub_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_stub_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_libc_ripemd160init(archive_rmd160_ctx *ctx) | { | RMD160Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, | size_t insize) | { | RMD160Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc_ripemd160final(archive_rmd160_ctx *ctx, void *md) | { | RMD160Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_RMD160_LIBMD) | | static int | __archive_libmd_ripemd160init(archive_rmd160_ctx *ctx) | { | RIPEMD160_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, | size_t insize) | { | RIPEMD160_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_ripemd160final(archive_rmd160_ctx *ctx, void *md) | { | RIPEMD160_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_RMD160_NETTLE) | | static int | __archive_nettle_ripemd160init(archive_rmd160_ctx *ctx) | { | ripemd160_init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, | size_t insize) | { | ripemd160_update(ctx, insize, indata); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_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_openssl_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_openssl_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, | size_t insize) | { | EVP_DigestUpdate(*ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_openssl_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_stub_ripemd160init(archive_rmd160_ctx *ctx) | { | (void)ctx; /* UNUSED */ | return (ARCHIVE_FAILED); | } | | static int | __archive_stub_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_stub_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_libc_sha1init(archive_sha1_ctx *ctx) | { | SHA1Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc_sha1update(archive_sha1_ctx *ctx, const void *indata, | size_t insize) | { | SHA1Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc_sha1final(archive_sha1_ctx *ctx, void *md) | { | SHA1Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA1_LIBMD) | | static int | __archive_libmd_sha1init(archive_sha1_ctx *ctx) | { | SHA1_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_sha1update(archive_sha1_ctx *ctx, const void *indata, | size_t insize) | { | SHA1_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_sha1final(archive_sha1_ctx *ctx, void *md) | { | SHA1_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA1_LIBSYSTEM) | | static int | __archive_libsystem_sha1init(archive_sha1_ctx *ctx) | { | CC_SHA1_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_sha1update(archive_sha1_ctx *ctx, const void *indata, | size_t insize) | { | CC_SHA1_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_sha1final(archive_sha1_ctx *ctx, void *md) | { | CC_SHA1_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA1_NETTLE) | | static int | __archive_nettle_sha1init(archive_sha1_ctx *ctx) | { | sha1_init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_sha1update(archive_sha1_ctx *ctx, const void *indata, | size_t insize) | { | sha1_update(ctx, insize, indata); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_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_openssl_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_openssl_sha1update(archive_sha1_ctx *ctx, const void *indata, | size_t insize) | { | EVP_DigestUpdate(*ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_openssl_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_windowsapi_sha1init(archive_sha1_ctx *ctx) | { | return (win_crypto_init(ctx, CALG_SHA1)); | } | | static int | __archive_windowsapi_sha1update(archive_sha1_ctx *ctx, const void *indata, | size_t insize) | { | return (win_crypto_Update(ctx, indata, insize)); | } | | static int | __archive_windowsapi_sha1final(archive_sha1_ctx *ctx, void *md) | { | return (win_crypto_Final(md, 20, ctx)); | } | | #else | | static int | __archive_stub_sha1init(archive_sha1_ctx *ctx) | { | (void)ctx; /* UNUSED */ | return (ARCHIVE_FAILED); | } | | static int | __archive_stub_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_stub_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_libc_sha256init(archive_sha256_ctx *ctx) | { | SHA256_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc_sha256update(archive_sha256_ctx *ctx, const void *indata, | size_t insize) | { | SHA256_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc_sha256final(archive_sha256_ctx *ctx, void *md) | { | SHA256_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA256_LIBC2) | | static int | __archive_libc2_sha256init(archive_sha256_ctx *ctx) | { | SHA256Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc2_sha256update(archive_sha256_ctx *ctx, const void *indata, | size_t insize) | { | SHA256Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc2_sha256final(archive_sha256_ctx *ctx, void *md) | { | SHA256Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA256_LIBC3) | | static int | __archive_libc3_sha256init(archive_sha256_ctx *ctx) | { | SHA256Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc3_sha256update(archive_sha256_ctx *ctx, const void *indata, | size_t insize) | { | SHA256Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc3_sha256final(archive_sha256_ctx *ctx, void *md) | { | SHA256Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA256_LIBMD) | | static int | __archive_libmd_sha256init(archive_sha256_ctx *ctx) | { | SHA256_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_sha256update(archive_sha256_ctx *ctx, const void *indata, | size_t insize) | { | SHA256_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_sha256final(archive_sha256_ctx *ctx, void *md) | { | SHA256_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA256_LIBSYSTEM) | | static int | __archive_libsystem_sha256init(archive_sha256_ctx *ctx) | { | CC_SHA256_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_sha256update(archive_sha256_ctx *ctx, const void *indata, | size_t insize) | { | CC_SHA256_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_sha256final(archive_sha256_ctx *ctx, void *md) | { | CC_SHA256_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA256_NETTLE) | | static int | __archive_nettle_sha256init(archive_sha256_ctx *ctx) | { | sha256_init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_sha256update(archive_sha256_ctx *ctx, const void *indata, | size_t insize) | { | sha256_update(ctx, insize, indata); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_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_openssl_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_openssl_sha256update(archive_sha256_ctx *ctx, const void *indata, | size_t insize) | { | EVP_DigestUpdate(*ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_openssl_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_windowsapi_sha256init(archive_sha256_ctx *ctx) | { | return (win_crypto_init(ctx, CALG_SHA_256)); | } | | static int | __archive_windowsapi_sha256update(archive_sha256_ctx *ctx, const void *indata, | size_t insize) | { | return (win_crypto_Update(ctx, indata, insize)); | } | | static int | __archive_windowsapi_sha256final(archive_sha256_ctx *ctx, void *md) | { | return (win_crypto_Final(md, 32, ctx)); | } | | #else | | static int | __archive_stub_sha256init(archive_sha256_ctx *ctx) | { | (void)ctx; /* UNUSED */ | return (ARCHIVE_FAILED); | } | | static int | __archive_stub_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_stub_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_libc_sha384init(archive_sha384_ctx *ctx) | { | SHA384_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc_sha384update(archive_sha384_ctx *ctx, const void *indata, | size_t insize) | { | SHA384_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc_sha384final(archive_sha384_ctx *ctx, void *md) | { | SHA384_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA384_LIBC2) | | static int | __archive_libc2_sha384init(archive_sha384_ctx *ctx) | { | SHA384Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc2_sha384update(archive_sha384_ctx *ctx, const void *indata, | size_t insize) | { | SHA384Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc2_sha384final(archive_sha384_ctx *ctx, void *md) | { | SHA384Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA384_LIBC3) | | static int | __archive_libc3_sha384init(archive_sha384_ctx *ctx) | { | SHA384Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc3_sha384update(archive_sha384_ctx *ctx, const void *indata, | size_t insize) | { | SHA384Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc3_sha384final(archive_sha384_ctx *ctx, void *md) | { | SHA384Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA384_LIBSYSTEM) | | static int | __archive_libsystem_sha384init(archive_sha384_ctx *ctx) | { | CC_SHA384_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_sha384update(archive_sha384_ctx *ctx, const void *indata, | size_t insize) | { | CC_SHA384_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_sha384final(archive_sha384_ctx *ctx, void *md) | { | CC_SHA384_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA384_NETTLE) | | static int | __archive_nettle_sha384init(archive_sha384_ctx *ctx) | { | sha384_init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_sha384update(archive_sha384_ctx *ctx, const void *indata, | size_t insize) | { | sha384_update(ctx, insize, indata); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_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_openssl_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_openssl_sha384update(archive_sha384_ctx *ctx, const void *indata, | size_t insize) | { | EVP_DigestUpdate(*ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_openssl_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_windowsapi_sha384init(archive_sha384_ctx *ctx) | { | return (win_crypto_init(ctx, CALG_SHA_384)); | } | | static int | __archive_windowsapi_sha384update(archive_sha384_ctx *ctx, const void *indata, | size_t insize) | { | return (win_crypto_Update(ctx, indata, insize)); | } | | static int | __archive_windowsapi_sha384final(archive_sha384_ctx *ctx, void *md) | { | return (win_crypto_Final(md, 48, ctx)); | } | | #else | | static int | __archive_stub_sha384init(archive_sha384_ctx *ctx) | { | (void)ctx; /* UNUSED */ | return (ARCHIVE_FAILED); | } | | static int | __archive_stub_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_stub_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_libc_sha512init(archive_sha512_ctx *ctx) | { | SHA512_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc_sha512update(archive_sha512_ctx *ctx, const void *indata, | size_t insize) | { | SHA512_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc_sha512final(archive_sha512_ctx *ctx, void *md) | { | SHA512_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA512_LIBC2) | | static int | __archive_libc2_sha512init(archive_sha512_ctx *ctx) | { | SHA512Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc2_sha512update(archive_sha512_ctx *ctx, const void *indata, | size_t insize) | { | SHA512Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc2_sha512final(archive_sha512_ctx *ctx, void *md) | { | SHA512Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA512_LIBC3) | | static int | __archive_libc3_sha512init(archive_sha512_ctx *ctx) | { | SHA512Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc3_sha512update(archive_sha512_ctx *ctx, const void *indata, | size_t insize) | { | SHA512Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc3_sha512final(archive_sha512_ctx *ctx, void *md) | { | SHA512Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA512_LIBMD) | | static int | __archive_libmd_sha512init(archive_sha512_ctx *ctx) | { | SHA512_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_sha512update(archive_sha512_ctx *ctx, const void *indata, | size_t insize) | { | SHA512_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_sha512final(archive_sha512_ctx *ctx, void *md) | { | SHA512_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA512_LIBSYSTEM) | | static int | __archive_libsystem_sha512init(archive_sha512_ctx *ctx) | { | CC_SHA512_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_sha512update(archive_sha512_ctx *ctx, const void *indata, | size_t insize) | { | CC_SHA512_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_sha512final(archive_sha512_ctx *ctx, void *md) | { | CC_SHA512_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA512_NETTLE) | | static int | __archive_nettle_sha512init(archive_sha512_ctx *ctx) | { | sha512_init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_sha512update(archive_sha512_ctx *ctx, const void *indata, | size_t insize) | { | sha512_update(ctx, insize, indata); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_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_openssl_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_openssl_sha512update(archive_sha512_ctx *ctx, const void *indata, | size_t insize) | { | EVP_DigestUpdate(*ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_openssl_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_windowsapi_sha512init(archive_sha512_ctx *ctx) | { | return (win_crypto_init(ctx, CALG_SHA_512)); | } | | static int | __archive_windowsapi_sha512update(archive_sha512_ctx *ctx, const void *indata, | size_t insize) | { | return (win_crypto_Update(ctx, indata, insize)); | } | | static int | __archive_windowsapi_sha512final(archive_sha512_ctx *ctx, void *md) | { | return (win_crypto_Final(md, 64, ctx)); | } | | #else | | static int | __archive_stub_sha512init(archive_sha512_ctx *ctx) | { | (void)ctx; /* UNUSED */ | return (ARCHIVE_FAILED); | } | | static int | __archive_stub_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_stub_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 */ | #if defined(ARCHIVE_CRYPTO_MD5_LIBC) | &__archive_libc_md5init, | &__archive_libc_md5update, | &__archive_libc_md5final, | #elif defined(ARCHIVE_CRYPTO_MD5_LIBMD) | &__archive_libmd_md5init, | &__archive_libmd_md5update, | &__archive_libmd_md5final, | #elif defined(ARCHIVE_CRYPTO_MD5_LIBSYSTEM) | &__archive_libsystem_md5init, | &__archive_libsystem_md5update, | &__archive_libsystem_md5final, | #elif defined(ARCHIVE_CRYPTO_MD5_NETTLE) | &__archive_nettle_md5init, | &__archive_nettle_md5update, | &__archive_nettle_md5final, | #elif defined(ARCHIVE_CRYPTO_MD5_OPENSSL) | &__archive_openssl_md5init, | &__archive_openssl_md5update, | &__archive_openssl_md5final, | #elif defined(ARCHIVE_CRYPTO_MD5_WIN) | &__archive_windowsapi_md5init, | &__archive_windowsapi_md5update, | &__archive_windowsapi_md5final, | #elif !defined(ARCHIVE_MD5_COMPILE_TEST) | &__archive_stub_md5init, | &__archive_stub_md5update, | &__archive_stub_md5final, | #endif | | /* RIPEMD160 */ | #if defined(ARCHIVE_CRYPTO_RMD160_LIBC) | &__archive_libc_ripemd160init, | &__archive_libc_ripemd160update, | &__archive_libc_ripemd160final, | #elif defined(ARCHIVE_CRYPTO_RMD160_LIBMD) | &__archive_libmd_ripemd160init, | &__archive_libmd_ripemd160update, | &__archive_libmd_ripemd160final, | #elif defined(ARCHIVE_CRYPTO_RMD160_NETTLE) | &__archive_nettle_ripemd160init, | &__archive_nettle_ripemd160update, | &__archive_nettle_ripemd160final, | #elif defined(ARCHIVE_CRYPTO_RMD160_OPENSSL) | &__archive_openssl_ripemd160init, | &__archive_openssl_ripemd160update, | &__archive_openssl_ripemd160final, | #elif !defined(ARCHIVE_RMD160_COMPILE_TEST) | &__archive_stub_ripemd160init, | &__archive_stub_ripemd160update, | &__archive_stub_ripemd160final, | #endif | | /* SHA1 */ | #if defined(ARCHIVE_CRYPTO_SHA1_LIBC) | &__archive_libc_sha1init, | &__archive_libc_sha1update, | &__archive_libc_sha1final, | #elif defined(ARCHIVE_CRYPTO_SHA1_LIBMD) | &__archive_libmd_sha1init, | &__archive_libmd_sha1update, | &__archive_libmd_sha1final, | #elif defined(ARCHIVE_CRYPTO_SHA1_LIBSYSTEM) | &__archive_libsystem_sha1init, | &__archive_libsystem_sha1update, | &__archive_libsystem_sha1final, | #elif defined(ARCHIVE_CRYPTO_SHA1_NETTLE) | &__archive_nettle_sha1init, | &__archive_nettle_sha1update, | &__archive_nettle_sha1final, | #elif defined(ARCHIVE_CRYPTO_SHA1_OPENSSL) | &__archive_openssl_sha1init, | &__archive_openssl_sha1update, | &__archive_openssl_sha1final, | #elif defined(ARCHIVE_CRYPTO_SHA1_WIN) | &__archive_windowsapi_sha1init, | &__archive_windowsapi_sha1update, | &__archive_windowsapi_sha1final, | #elif !defined(ARCHIVE_SHA1_COMPILE_TEST) | &__archive_stub_sha1init, | &__archive_stub_sha1update, | &__archive_stub_sha1final, | #endif | | /* SHA256 */ | #if defined(ARCHIVE_CRYPTO_SHA256_LIBC) | &__archive_libc_sha256init, | &__archive_libc_sha256update, | &__archive_libc_sha256final, | #elif defined(ARCHIVE_CRYPTO_SHA256_LIBC2) | &__archive_libc2_sha256init, | &__archive_libc2_sha256update, | &__archive_libc2_sha256final, | #elif defined(ARCHIVE_CRYPTO_SHA256_LIBC3) | &__archive_libc3_sha256init, | &__archive_libc3_sha256update, | &__archive_libc3_sha256final, | #elif defined(ARCHIVE_CRYPTO_SHA256_LIBMD) | &__archive_libmd_sha256init, | &__archive_libmd_sha256update, | &__archive_libmd_sha256final, | #elif defined(ARCHIVE_CRYPTO_SHA256_LIBSYSTEM) | &__archive_libsystem_sha256init, | &__archive_libsystem_sha256update, | &__archive_libsystem_sha256final, | #elif defined(ARCHIVE_CRYPTO_SHA256_NETTLE) | &__archive_nettle_sha256init, | &__archive_nettle_sha256update, | &__archive_nettle_sha256final, | #elif defined(ARCHIVE_CRYPTO_SHA256_OPENSSL) | &__archive_openssl_sha256init, | &__archive_openssl_sha256update, | &__archive_openssl_sha256final, | #elif defined(ARCHIVE_CRYPTO_SHA256_WIN) | &__archive_windowsapi_sha256init, | &__archive_windowsapi_sha256update, | &__archive_windowsapi_sha256final, | #elif !defined(ARCHIVE_SHA256_COMPILE_TEST) | &__archive_stub_sha256init, | &__archive_stub_sha256update, | &__archive_stub_sha256final, | #endif | | /* SHA384 */ | #if defined(ARCHIVE_CRYPTO_SHA384_LIBC) | &__archive_libc_sha384init, | &__archive_libc_sha384update, | &__archive_libc_sha384final, | #elif defined(ARCHIVE_CRYPTO_SHA384_LIBC2) | &__archive_libc2_sha384init, | &__archive_libc2_sha384update, | &__archive_libc2_sha384final, | #elif defined(ARCHIVE_CRYPTO_SHA384_LIBC3) | &__archive_libc3_sha384init, | &__archive_libc3_sha384update, | &__archive_libc3_sha384final, | #elif defined(ARCHIVE_CRYPTO_SHA384_LIBSYSTEM) | &__archive_libsystem_sha384init, | &__archive_libsystem_sha384update, | &__archive_libsystem_sha384final, | #elif defined(ARCHIVE_CRYPTO_SHA384_NETTLE) | &__archive_nettle_sha384init, | &__archive_nettle_sha384update, | &__archive_nettle_sha384final, | #elif defined(ARCHIVE_CRYPTO_SHA384_OPENSSL) | &__archive_openssl_sha384init, | &__archive_openssl_sha384update, | &__archive_openssl_sha384final, | #elif defined(ARCHIVE_CRYPTO_SHA384_WIN) | &__archive_windowsapi_sha384init, | &__archive_windowsapi_sha384update, | &__archive_windowsapi_sha384final, | #elif !defined(ARCHIVE_SHA384_COMPILE_TEST) | &__archive_stub_sha384init, | &__archive_stub_sha384update, | &__archive_stub_sha384final, | #endif | | /* SHA512 */ | #if defined(ARCHIVE_CRYPTO_SHA512_LIBC) | &__archive_libc_sha512init, | &__archive_libc_sha512update, | &__archive_libc_sha512final | #elif defined(ARCHIVE_CRYPTO_SHA512_LIBC2) | &__archive_libc2_sha512init, | &__archive_libc2_sha512update, | &__archive_libc2_sha512final | #elif defined(ARCHIVE_CRYPTO_SHA512_LIBC3) | &__archive_libc3_sha512init, | &__archive_libc3_sha512update, | &__archive_libc3_sha512final | #elif defined(ARCHIVE_CRYPTO_SHA512_LIBMD) | &__archive_libmd_sha512init, | &__archive_libmd_sha512update, | &__archive_libmd_sha512final | #elif defined(ARCHIVE_CRYPTO_SHA512_LIBSYSTEM) | &__archive_libsystem_sha512init, | &__archive_libsystem_sha512update, | &__archive_libsystem_sha512final | #elif defined(ARCHIVE_CRYPTO_SHA512_NETTLE) | &__archive_nettle_sha512init, | &__archive_nettle_sha512update, | &__archive_nettle_sha512final | #elif defined(ARCHIVE_CRYPTO_SHA512_OPENSSL) | &__archive_openssl_sha512init, | &__archive_openssl_sha512update, | &__archive_openssl_sha512final | #elif defined(ARCHIVE_CRYPTO_SHA512_WIN) | &__archive_windowsapi_sha512init, | &__archive_windowsapi_sha512update, | &__archive_windowsapi_sha512final | #elif !defined(ARCHIVE_SHA512_COMPILE_TEST) | &__archive_stub_sha512init, | &__archive_stub_sha512update, | &__archive_stub_sha512final | #endif | }; | | 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; | } | configure:19314: result: no configure:19328: checking support for ARCHIVE_CRYPTO_SHA1_LIBC configure:19350: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -o conftest -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -I. -I. -I./libarchive -Wl,-elf2flt -static conftest.c -llzma >&5 In file included from conftest.c:219:0: ./libarchive/archive_digest_private.h:67:10: fatal error: sha1.h: No such file or directory #include ^~~~~~~~ compilation terminated. configure:19350: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "libarchive" | #define PACKAGE_TARNAME "libarchive" | #define PACKAGE_VERSION "3.4.0" | #define PACKAGE_STRING "libarchive 3.4.0" | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com" | #define PACKAGE_URL "" | #define PACKAGE "libarchive" | #define VERSION "3.4.0" | #define LIBARCHIVE_VERSION_STRING "3.4.0" | #define LIBARCHIVE_VERSION_NUMBER "3004000" | #define BSDCPIO_VERSION_STRING "3.4.0" | #define BSDTAR_VERSION_STRING "3.4.0" | #define BSDCAT_VERSION_STRING "3.4.0" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define __EXTENSIONS__ 1 | #define _ALL_SOURCE 1 | #define _GNU_SOURCE 1 | #define _POSIX_PTHREAD_SEMANTICS 1 | #define _TANDEM_SOURCE 1 | #define LT_OBJDIR ".libs/" | #define HAVE_DIRENT_H 1 | #define HAVE_SYS_WAIT_H 1 | #define HAVE_CTYPE_H 1 | #define HAVE_ERRNO_H 1 | #define HAVE_FCNTL_H 1 | #define HAVE_GRP_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_LANGINFO_H 1 | #define HAVE_LIMITS_H 1 | #define HAVE_LINUX_FIEMAP_H 1 | #define HAVE_LINUX_FS_H 1 | #define HAVE_LINUX_MAGIC_H 1 | #define HAVE_LINUX_TYPES_H 1 | #define HAVE_WORKING_FS_IOC_GETFLAGS 1 | #define HAVE_LOCALE_H 1 | #define HAVE_PATHS_H 1 | #define HAVE_POLL_H 1 | #define HAVE_PTHREAD_H 1 | #define HAVE_PWD_H 1 | #define HAVE_SIGNAL_H 1 | #define HAVE_SPAWN_H 1 | #define HAVE_STDARG_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_SYS_CDEFS_H 1 | #define HAVE_SYS_IOCTL_H 1 | #define HAVE_SYS_MOUNT_H 1 | #define HAVE_SYS_PARAM_H 1 | #define HAVE_SYS_POLL_H 1 | #define HAVE_SYS_SELECT_H 1 | #define HAVE_SYS_STATFS_H 1 | #define HAVE_SYS_STATVFS_H 1 | #define HAVE_SYS_SYSMACROS_H 1 | #define HAVE_SYS_TIME_H 1 | #define HAVE_SYS_UTSNAME_H 1 | #define HAVE_SYS_VFS_H 1 | #define HAVE_SYS_XATTR_H 1 | #define HAVE_TIME_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_UTIME_H 1 | #define HAVE_WCHAR_H 1 | #define HAVE_WCTYPE_H 1 | #define HAVE_ICONV 1 | #define ICONV_CONST | #define HAVE_ICONV_H 1 | #define HAVE_LZMA_H 1 | #define HAVE_LIBLZMA 1 | #define HAVE_LZMA_STREAM_ENCODER_MT 1 | #define HAVE_REGEX_H 1 | #define HAVE_STRUCT_TM_TM_GMTOFF 1 | #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1 | #define HAVE_STRUCT_STAT_ST_BLKSIZE 1 | #define HAVE_UINTMAX_T 1 | #define HAVE_UNSIGNED_LONG_LONG 1 | #define HAVE_UNSIGNED_LONG_LONG_INT 1 | #define HAVE_LONG_LONG_INT 1 | #define HAVE_INTMAX_T 1 | #define HAVE_UINTMAX_T 1 | #define HAVE_DECL_SIZE_MAX 1 | #define HAVE_DECL_INT32_MAX 1 | #define HAVE_DECL_INT32_MIN 1 | #define HAVE_DECL_INT64_MAX 1 | #define HAVE_DECL_INT64_MIN 1 | #define HAVE_DECL_UINT64_MAX 1 | #define HAVE_DECL_UINT32_MAX 1 | #define HAVE_DECL_INTMAX_MAX 1 | #define HAVE_DECL_INTMAX_MIN 1 | #define HAVE_DECL_UINTMAX_MAX 1 | #define HAVE_DECL_SSIZE_MAX 1 | #define HAVE_EILSEQ 1 | #define HAVE_WCHAR_T 1 | #define SIZEOF_WCHAR_T 4 | #define TIME_WITH_SYS_TIME 1 | #define HAVE_FSEEKO 1 | #define HAVE_LSTAT_EMPTY_STRING_BUG 1 | #define HAVE_STAT_EMPTY_STRING_BUG 1 | #define HAVE_DECL_STRERROR_R 1 | #define HAVE_STRERROR_R 1 | #define STRERROR_R_CHAR_P 1 | #define HAVE_STRFTIME 1 | #define HAVE_VPRINTF 1 | #define HAVE_CHOWN 1 | #define HAVE_CHROOT 1 | #define HAVE_CTIME_R 1 | #define HAVE_FCHDIR 1 | #define HAVE_FCHMOD 1 | #define HAVE_FCHOWN 1 | #define HAVE_FCNTL 1 | #define HAVE_FDOPENDIR 1 | #define HAVE_FSTAT 1 | #define HAVE_FSTATAT 1 | #define HAVE_FSTATFS 1 | #define HAVE_FSTATVFS 1 | #define HAVE_FTRUNCATE 1 | #define HAVE_FUTIMENS 1 | #define HAVE_FUTIMESAT 1 | #define HAVE_GETEUID 1 | #define HAVE_GETPID 1 | #define HAVE_GETGRGID_R 1 | #define HAVE_GETGRNAM_R 1 | #define HAVE_GETPWNAM_R 1 | #define HAVE_GETPWUID_R 1 | #define HAVE_GMTIME_R 1 | #define HAVE_LCHOWN 1 | #define HAVE_LINK 1 | #define HAVE_LOCALTIME_R 1 | #define HAVE_LSTAT 1 | #define HAVE_LUTIMES 1 | #define HAVE_MBRTOWC 1 | #define HAVE_MEMMOVE 1 | #define HAVE_MEMSET 1 | #define HAVE_MKDIR 1 | #define HAVE_MKFIFO 1 | #define HAVE_MKNOD 1 | #define HAVE_MKSTEMP 1 | #define HAVE_NL_LANGINFO 1 | #define HAVE_OPENAT 1 | #define HAVE_PIPE 1 | #define HAVE_POLL 1 | #define HAVE_POSIX_SPAWNP 1 | #define HAVE_READLINK 1 | #define HAVE_READLINKAT 1 | #define HAVE_SELECT 1 | #define HAVE_SETENV 1 | #define HAVE_SETLOCALE 1 | #define HAVE_SIGACTION 1 | #define HAVE_STATFS 1 | #define HAVE_STATVFS 1 | #define HAVE_STRCHR 1 | #define HAVE_STRDUP 1 | #define HAVE_STRERROR 1 | #define HAVE_STRRCHR 1 | #define HAVE_SYMLINK 1 | #define HAVE_TIMEGM 1 | #define HAVE_TZSET 1 | #define HAVE_UNLINKAT 1 | #define HAVE_UNSETENV 1 | #define HAVE_UTIME 1 | #define HAVE_UTIMENSAT 1 | #define HAVE_UTIMES 1 | #define HAVE_VFORK 1 | #define HAVE_WCRTOMB 1 | #define HAVE_WCSCMP 1 | #define HAVE_WCSCPY 1 | #define HAVE_WCSLEN 1 | #define HAVE_WCTOMB 1 | #define HAVE_WMEMCMP 1 | #define HAVE_WMEMCPY 1 | #define HAVE_WMEMMOVE 1 | #define HAVE_READDIR_R 1 | #define HAVE_DIRFD 1 | /* end confdefs.h. */ | | #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_libc_md5init(archive_md5_ctx *ctx) | { | MD5Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc_md5update(archive_md5_ctx *ctx, const void *indata, | size_t insize) | { | MD5Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc_md5final(archive_md5_ctx *ctx, void *md) | { | MD5Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_MD5_LIBMD) | | static int | __archive_libmd_md5init(archive_md5_ctx *ctx) | { | MD5Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_md5update(archive_md5_ctx *ctx, const void *indata, | size_t insize) | { | MD5Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_md5final(archive_md5_ctx *ctx, void *md) | { | MD5Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_MD5_LIBSYSTEM) | | static int | __archive_libsystem_md5init(archive_md5_ctx *ctx) | { | CC_MD5_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_md5update(archive_md5_ctx *ctx, const void *indata, | size_t insize) | { | CC_MD5_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_md5final(archive_md5_ctx *ctx, void *md) | { | CC_MD5_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_MD5_NETTLE) | | static int | __archive_nettle_md5init(archive_md5_ctx *ctx) | { | md5_init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_md5update(archive_md5_ctx *ctx, const void *indata, | size_t insize) | { | md5_update(ctx, insize, indata); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_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_openssl_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_openssl_md5update(archive_md5_ctx *ctx, const void *indata, | size_t insize) | { | EVP_DigestUpdate(*ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_openssl_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_windowsapi_md5init(archive_md5_ctx *ctx) | { | return (win_crypto_init(ctx, CALG_MD5)); | } | | static int | __archive_windowsapi_md5update(archive_md5_ctx *ctx, const void *indata, | size_t insize) | { | return (win_crypto_Update(ctx, indata, insize)); | } | | static int | __archive_windowsapi_md5final(archive_md5_ctx *ctx, void *md) | { | return (win_crypto_Final(md, 16, ctx)); | } | | #else | | static int | __archive_stub_md5init(archive_md5_ctx *ctx) | { | (void)ctx; /* UNUSED */ | return (ARCHIVE_FAILED); | } | | static int | __archive_stub_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_stub_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_libc_ripemd160init(archive_rmd160_ctx *ctx) | { | RMD160Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, | size_t insize) | { | RMD160Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc_ripemd160final(archive_rmd160_ctx *ctx, void *md) | { | RMD160Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_RMD160_LIBMD) | | static int | __archive_libmd_ripemd160init(archive_rmd160_ctx *ctx) | { | RIPEMD160_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, | size_t insize) | { | RIPEMD160_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_ripemd160final(archive_rmd160_ctx *ctx, void *md) | { | RIPEMD160_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_RMD160_NETTLE) | | static int | __archive_nettle_ripemd160init(archive_rmd160_ctx *ctx) | { | ripemd160_init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, | size_t insize) | { | ripemd160_update(ctx, insize, indata); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_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_openssl_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_openssl_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, | size_t insize) | { | EVP_DigestUpdate(*ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_openssl_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_stub_ripemd160init(archive_rmd160_ctx *ctx) | { | (void)ctx; /* UNUSED */ | return (ARCHIVE_FAILED); | } | | static int | __archive_stub_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_stub_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_libc_sha1init(archive_sha1_ctx *ctx) | { | SHA1Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc_sha1update(archive_sha1_ctx *ctx, const void *indata, | size_t insize) | { | SHA1Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc_sha1final(archive_sha1_ctx *ctx, void *md) | { | SHA1Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA1_LIBMD) | | static int | __archive_libmd_sha1init(archive_sha1_ctx *ctx) | { | SHA1_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_sha1update(archive_sha1_ctx *ctx, const void *indata, | size_t insize) | { | SHA1_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_sha1final(archive_sha1_ctx *ctx, void *md) | { | SHA1_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA1_LIBSYSTEM) | | static int | __archive_libsystem_sha1init(archive_sha1_ctx *ctx) | { | CC_SHA1_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_sha1update(archive_sha1_ctx *ctx, const void *indata, | size_t insize) | { | CC_SHA1_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_sha1final(archive_sha1_ctx *ctx, void *md) | { | CC_SHA1_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA1_NETTLE) | | static int | __archive_nettle_sha1init(archive_sha1_ctx *ctx) | { | sha1_init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_sha1update(archive_sha1_ctx *ctx, const void *indata, | size_t insize) | { | sha1_update(ctx, insize, indata); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_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_openssl_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_openssl_sha1update(archive_sha1_ctx *ctx, const void *indata, | size_t insize) | { | EVP_DigestUpdate(*ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_openssl_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_windowsapi_sha1init(archive_sha1_ctx *ctx) | { | return (win_crypto_init(ctx, CALG_SHA1)); | } | | static int | __archive_windowsapi_sha1update(archive_sha1_ctx *ctx, const void *indata, | size_t insize) | { | return (win_crypto_Update(ctx, indata, insize)); | } | | static int | __archive_windowsapi_sha1final(archive_sha1_ctx *ctx, void *md) | { | return (win_crypto_Final(md, 20, ctx)); | } | | #else | | static int | __archive_stub_sha1init(archive_sha1_ctx *ctx) | { | (void)ctx; /* UNUSED */ | return (ARCHIVE_FAILED); | } | | static int | __archive_stub_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_stub_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_libc_sha256init(archive_sha256_ctx *ctx) | { | SHA256_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc_sha256update(archive_sha256_ctx *ctx, const void *indata, | size_t insize) | { | SHA256_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc_sha256final(archive_sha256_ctx *ctx, void *md) | { | SHA256_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA256_LIBC2) | | static int | __archive_libc2_sha256init(archive_sha256_ctx *ctx) | { | SHA256Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc2_sha256update(archive_sha256_ctx *ctx, const void *indata, | size_t insize) | { | SHA256Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc2_sha256final(archive_sha256_ctx *ctx, void *md) | { | SHA256Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA256_LIBC3) | | static int | __archive_libc3_sha256init(archive_sha256_ctx *ctx) | { | SHA256Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc3_sha256update(archive_sha256_ctx *ctx, const void *indata, | size_t insize) | { | SHA256Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc3_sha256final(archive_sha256_ctx *ctx, void *md) | { | SHA256Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA256_LIBMD) | | static int | __archive_libmd_sha256init(archive_sha256_ctx *ctx) | { | SHA256_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_sha256update(archive_sha256_ctx *ctx, const void *indata, | size_t insize) | { | SHA256_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_sha256final(archive_sha256_ctx *ctx, void *md) | { | SHA256_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA256_LIBSYSTEM) | | static int | __archive_libsystem_sha256init(archive_sha256_ctx *ctx) | { | CC_SHA256_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_sha256update(archive_sha256_ctx *ctx, const void *indata, | size_t insize) | { | CC_SHA256_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_sha256final(archive_sha256_ctx *ctx, void *md) | { | CC_SHA256_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA256_NETTLE) | | static int | __archive_nettle_sha256init(archive_sha256_ctx *ctx) | { | sha256_init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_sha256update(archive_sha256_ctx *ctx, const void *indata, | size_t insize) | { | sha256_update(ctx, insize, indata); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_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_openssl_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_openssl_sha256update(archive_sha256_ctx *ctx, const void *indata, | size_t insize) | { | EVP_DigestUpdate(*ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_openssl_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_windowsapi_sha256init(archive_sha256_ctx *ctx) | { | return (win_crypto_init(ctx, CALG_SHA_256)); | } | | static int | __archive_windowsapi_sha256update(archive_sha256_ctx *ctx, const void *indata, | size_t insize) | { | return (win_crypto_Update(ctx, indata, insize)); | } | | static int | __archive_windowsapi_sha256final(archive_sha256_ctx *ctx, void *md) | { | return (win_crypto_Final(md, 32, ctx)); | } | | #else | | static int | __archive_stub_sha256init(archive_sha256_ctx *ctx) | { | (void)ctx; /* UNUSED */ | return (ARCHIVE_FAILED); | } | | static int | __archive_stub_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_stub_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_libc_sha384init(archive_sha384_ctx *ctx) | { | SHA384_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc_sha384update(archive_sha384_ctx *ctx, const void *indata, | size_t insize) | { | SHA384_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc_sha384final(archive_sha384_ctx *ctx, void *md) | { | SHA384_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA384_LIBC2) | | static int | __archive_libc2_sha384init(archive_sha384_ctx *ctx) | { | SHA384Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc2_sha384update(archive_sha384_ctx *ctx, const void *indata, | size_t insize) | { | SHA384Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc2_sha384final(archive_sha384_ctx *ctx, void *md) | { | SHA384Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA384_LIBC3) | | static int | __archive_libc3_sha384init(archive_sha384_ctx *ctx) | { | SHA384Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc3_sha384update(archive_sha384_ctx *ctx, const void *indata, | size_t insize) | { | SHA384Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc3_sha384final(archive_sha384_ctx *ctx, void *md) | { | SHA384Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA384_LIBSYSTEM) | | static int | __archive_libsystem_sha384init(archive_sha384_ctx *ctx) | { | CC_SHA384_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_sha384update(archive_sha384_ctx *ctx, const void *indata, | size_t insize) | { | CC_SHA384_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_sha384final(archive_sha384_ctx *ctx, void *md) | { | CC_SHA384_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA384_NETTLE) | | static int | __archive_nettle_sha384init(archive_sha384_ctx *ctx) | { | sha384_init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_sha384update(archive_sha384_ctx *ctx, const void *indata, | size_t insize) | { | sha384_update(ctx, insize, indata); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_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_openssl_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_openssl_sha384update(archive_sha384_ctx *ctx, const void *indata, | size_t insize) | { | EVP_DigestUpdate(*ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_openssl_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_windowsapi_sha384init(archive_sha384_ctx *ctx) | { | return (win_crypto_init(ctx, CALG_SHA_384)); | } | | static int | __archive_windowsapi_sha384update(archive_sha384_ctx *ctx, const void *indata, | size_t insize) | { | return (win_crypto_Update(ctx, indata, insize)); | } | | static int | __archive_windowsapi_sha384final(archive_sha384_ctx *ctx, void *md) | { | return (win_crypto_Final(md, 48, ctx)); | } | | #else | | static int | __archive_stub_sha384init(archive_sha384_ctx *ctx) | { | (void)ctx; /* UNUSED */ | return (ARCHIVE_FAILED); | } | | static int | __archive_stub_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_stub_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_libc_sha512init(archive_sha512_ctx *ctx) | { | SHA512_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc_sha512update(archive_sha512_ctx *ctx, const void *indata, | size_t insize) | { | SHA512_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc_sha512final(archive_sha512_ctx *ctx, void *md) | { | SHA512_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA512_LIBC2) | | static int | __archive_libc2_sha512init(archive_sha512_ctx *ctx) | { | SHA512Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc2_sha512update(archive_sha512_ctx *ctx, const void *indata, | size_t insize) | { | SHA512Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc2_sha512final(archive_sha512_ctx *ctx, void *md) | { | SHA512Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA512_LIBC3) | | static int | __archive_libc3_sha512init(archive_sha512_ctx *ctx) | { | SHA512Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc3_sha512update(archive_sha512_ctx *ctx, const void *indata, | size_t insize) | { | SHA512Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc3_sha512final(archive_sha512_ctx *ctx, void *md) | { | SHA512Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA512_LIBMD) | | static int | __archive_libmd_sha512init(archive_sha512_ctx *ctx) | { | SHA512_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_sha512update(archive_sha512_ctx *ctx, const void *indata, | size_t insize) | { | SHA512_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_sha512final(archive_sha512_ctx *ctx, void *md) | { | SHA512_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA512_LIBSYSTEM) | | static int | __archive_libsystem_sha512init(archive_sha512_ctx *ctx) | { | CC_SHA512_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_sha512update(archive_sha512_ctx *ctx, const void *indata, | size_t insize) | { | CC_SHA512_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_sha512final(archive_sha512_ctx *ctx, void *md) | { | CC_SHA512_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA512_NETTLE) | | static int | __archive_nettle_sha512init(archive_sha512_ctx *ctx) | { | sha512_init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_sha512update(archive_sha512_ctx *ctx, const void *indata, | size_t insize) | { | sha512_update(ctx, insize, indata); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_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_openssl_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_openssl_sha512update(archive_sha512_ctx *ctx, const void *indata, | size_t insize) | { | EVP_DigestUpdate(*ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_openssl_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_windowsapi_sha512init(archive_sha512_ctx *ctx) | { | return (win_crypto_init(ctx, CALG_SHA_512)); | } | | static int | __archive_windowsapi_sha512update(archive_sha512_ctx *ctx, const void *indata, | size_t insize) | { | return (win_crypto_Update(ctx, indata, insize)); | } | | static int | __archive_windowsapi_sha512final(archive_sha512_ctx *ctx, void *md) | { | return (win_crypto_Final(md, 64, ctx)); | } | | #else | | static int | __archive_stub_sha512init(archive_sha512_ctx *ctx) | { | (void)ctx; /* UNUSED */ | return (ARCHIVE_FAILED); | } | | static int | __archive_stub_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_stub_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 */ | #if defined(ARCHIVE_CRYPTO_MD5_LIBC) | &__archive_libc_md5init, | &__archive_libc_md5update, | &__archive_libc_md5final, | #elif defined(ARCHIVE_CRYPTO_MD5_LIBMD) | &__archive_libmd_md5init, | &__archive_libmd_md5update, | &__archive_libmd_md5final, | #elif defined(ARCHIVE_CRYPTO_MD5_LIBSYSTEM) | &__archive_libsystem_md5init, | &__archive_libsystem_md5update, | &__archive_libsystem_md5final, | #elif defined(ARCHIVE_CRYPTO_MD5_NETTLE) | &__archive_nettle_md5init, | &__archive_nettle_md5update, | &__archive_nettle_md5final, | #elif defined(ARCHIVE_CRYPTO_MD5_OPENSSL) | &__archive_openssl_md5init, | &__archive_openssl_md5update, | &__archive_openssl_md5final, | #elif defined(ARCHIVE_CRYPTO_MD5_WIN) | &__archive_windowsapi_md5init, | &__archive_windowsapi_md5update, | &__archive_windowsapi_md5final, | #elif !defined(ARCHIVE_MD5_COMPILE_TEST) | &__archive_stub_md5init, | &__archive_stub_md5update, | &__archive_stub_md5final, | #endif | | /* RIPEMD160 */ | #if defined(ARCHIVE_CRYPTO_RMD160_LIBC) | &__archive_libc_ripemd160init, | &__archive_libc_ripemd160update, | &__archive_libc_ripemd160final, | #elif defined(ARCHIVE_CRYPTO_RMD160_LIBMD) | &__archive_libmd_ripemd160init, | &__archive_libmd_ripemd160update, | &__archive_libmd_ripemd160final, | #elif defined(ARCHIVE_CRYPTO_RMD160_NETTLE) | &__archive_nettle_ripemd160init, | &__archive_nettle_ripemd160update, | &__archive_nettle_ripemd160final, | #elif defined(ARCHIVE_CRYPTO_RMD160_OPENSSL) | &__archive_openssl_ripemd160init, | &__archive_openssl_ripemd160update, | &__archive_openssl_ripemd160final, | #elif !defined(ARCHIVE_RMD160_COMPILE_TEST) | &__archive_stub_ripemd160init, | &__archive_stub_ripemd160update, | &__archive_stub_ripemd160final, | #endif | | /* SHA1 */ | #if defined(ARCHIVE_CRYPTO_SHA1_LIBC) | &__archive_libc_sha1init, | &__archive_libc_sha1update, | &__archive_libc_sha1final, | #elif defined(ARCHIVE_CRYPTO_SHA1_LIBMD) | &__archive_libmd_sha1init, | &__archive_libmd_sha1update, | &__archive_libmd_sha1final, | #elif defined(ARCHIVE_CRYPTO_SHA1_LIBSYSTEM) | &__archive_libsystem_sha1init, | &__archive_libsystem_sha1update, | &__archive_libsystem_sha1final, | #elif defined(ARCHIVE_CRYPTO_SHA1_NETTLE) | &__archive_nettle_sha1init, | &__archive_nettle_sha1update, | &__archive_nettle_sha1final, | #elif defined(ARCHIVE_CRYPTO_SHA1_OPENSSL) | &__archive_openssl_sha1init, | &__archive_openssl_sha1update, | &__archive_openssl_sha1final, | #elif defined(ARCHIVE_CRYPTO_SHA1_WIN) | &__archive_windowsapi_sha1init, | &__archive_windowsapi_sha1update, | &__archive_windowsapi_sha1final, | #elif !defined(ARCHIVE_SHA1_COMPILE_TEST) | &__archive_stub_sha1init, | &__archive_stub_sha1update, | &__archive_stub_sha1final, | #endif | | /* SHA256 */ | #if defined(ARCHIVE_CRYPTO_SHA256_LIBC) | &__archive_libc_sha256init, | &__archive_libc_sha256update, | &__archive_libc_sha256final, | #elif defined(ARCHIVE_CRYPTO_SHA256_LIBC2) | &__archive_libc2_sha256init, | &__archive_libc2_sha256update, | &__archive_libc2_sha256final, | #elif defined(ARCHIVE_CRYPTO_SHA256_LIBC3) | &__archive_libc3_sha256init, | &__archive_libc3_sha256update, | &__archive_libc3_sha256final, | #elif defined(ARCHIVE_CRYPTO_SHA256_LIBMD) | &__archive_libmd_sha256init, | &__archive_libmd_sha256update, | &__archive_libmd_sha256final, | #elif defined(ARCHIVE_CRYPTO_SHA256_LIBSYSTEM) | &__archive_libsystem_sha256init, | &__archive_libsystem_sha256update, | &__archive_libsystem_sha256final, | #elif defined(ARCHIVE_CRYPTO_SHA256_NETTLE) | &__archive_nettle_sha256init, | &__archive_nettle_sha256update, | &__archive_nettle_sha256final, | #elif defined(ARCHIVE_CRYPTO_SHA256_OPENSSL) | &__archive_openssl_sha256init, | &__archive_openssl_sha256update, | &__archive_openssl_sha256final, | #elif defined(ARCHIVE_CRYPTO_SHA256_WIN) | &__archive_windowsapi_sha256init, | &__archive_windowsapi_sha256update, | &__archive_windowsapi_sha256final, | #elif !defined(ARCHIVE_SHA256_COMPILE_TEST) | &__archive_stub_sha256init, | &__archive_stub_sha256update, | &__archive_stub_sha256final, | #endif | | /* SHA384 */ | #if defined(ARCHIVE_CRYPTO_SHA384_LIBC) | &__archive_libc_sha384init, | &__archive_libc_sha384update, | &__archive_libc_sha384final, | #elif defined(ARCHIVE_CRYPTO_SHA384_LIBC2) | &__archive_libc2_sha384init, | &__archive_libc2_sha384update, | &__archive_libc2_sha384final, | #elif defined(ARCHIVE_CRYPTO_SHA384_LIBC3) | &__archive_libc3_sha384init, | &__archive_libc3_sha384update, | &__archive_libc3_sha384final, | #elif defined(ARCHIVE_CRYPTO_SHA384_LIBSYSTEM) | &__archive_libsystem_sha384init, | &__archive_libsystem_sha384update, | &__archive_libsystem_sha384final, | #elif defined(ARCHIVE_CRYPTO_SHA384_NETTLE) | &__archive_nettle_sha384init, | &__archive_nettle_sha384update, | &__archive_nettle_sha384final, | #elif defined(ARCHIVE_CRYPTO_SHA384_OPENSSL) | &__archive_openssl_sha384init, | &__archive_openssl_sha384update, | &__archive_openssl_sha384final, | #elif defined(ARCHIVE_CRYPTO_SHA384_WIN) | &__archive_windowsapi_sha384init, | &__archive_windowsapi_sha384update, | &__archive_windowsapi_sha384final, | #elif !defined(ARCHIVE_SHA384_COMPILE_TEST) | &__archive_stub_sha384init, | &__archive_stub_sha384update, | &__archive_stub_sha384final, | #endif | | /* SHA512 */ | #if defined(ARCHIVE_CRYPTO_SHA512_LIBC) | &__archive_libc_sha512init, | &__archive_libc_sha512update, | &__archive_libc_sha512final | #elif defined(ARCHIVE_CRYPTO_SHA512_LIBC2) | &__archive_libc2_sha512init, | &__archive_libc2_sha512update, | &__archive_libc2_sha512final | #elif defined(ARCHIVE_CRYPTO_SHA512_LIBC3) | &__archive_libc3_sha512init, | &__archive_libc3_sha512update, | &__archive_libc3_sha512final | #elif defined(ARCHIVE_CRYPTO_SHA512_LIBMD) | &__archive_libmd_sha512init, | &__archive_libmd_sha512update, | &__archive_libmd_sha512final | #elif defined(ARCHIVE_CRYPTO_SHA512_LIBSYSTEM) | &__archive_libsystem_sha512init, | &__archive_libsystem_sha512update, | &__archive_libsystem_sha512final | #elif defined(ARCHIVE_CRYPTO_SHA512_NETTLE) | &__archive_nettle_sha512init, | &__archive_nettle_sha512update, | &__archive_nettle_sha512final | #elif defined(ARCHIVE_CRYPTO_SHA512_OPENSSL) | &__archive_openssl_sha512init, | &__archive_openssl_sha512update, | &__archive_openssl_sha512final | #elif defined(ARCHIVE_CRYPTO_SHA512_WIN) | &__archive_windowsapi_sha512init, | &__archive_windowsapi_sha512update, | &__archive_windowsapi_sha512final | #elif !defined(ARCHIVE_SHA512_COMPILE_TEST) | &__archive_stub_sha512init, | &__archive_stub_sha512update, | &__archive_stub_sha512final | #endif | }; | | 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; | } | configure:19360: result: no configure:19374: checking support for ARCHIVE_CRYPTO_SHA1_LIBSYSTEM configure:19396: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -o conftest -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -I. -I. -I./libarchive -Wl,-elf2flt -static conftest.c -llzma >&5 In file included from conftest.c:219:0: ./libarchive/archive_digest_private.h:112:10: fatal error: CommonCrypto/CommonDigest.h: No such file or directory #include ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ compilation terminated. configure:19396: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "libarchive" | #define PACKAGE_TARNAME "libarchive" | #define PACKAGE_VERSION "3.4.0" | #define PACKAGE_STRING "libarchive 3.4.0" | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com" | #define PACKAGE_URL "" | #define PACKAGE "libarchive" | #define VERSION "3.4.0" | #define LIBARCHIVE_VERSION_STRING "3.4.0" | #define LIBARCHIVE_VERSION_NUMBER "3004000" | #define BSDCPIO_VERSION_STRING "3.4.0" | #define BSDTAR_VERSION_STRING "3.4.0" | #define BSDCAT_VERSION_STRING "3.4.0" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define __EXTENSIONS__ 1 | #define _ALL_SOURCE 1 | #define _GNU_SOURCE 1 | #define _POSIX_PTHREAD_SEMANTICS 1 | #define _TANDEM_SOURCE 1 | #define LT_OBJDIR ".libs/" | #define HAVE_DIRENT_H 1 | #define HAVE_SYS_WAIT_H 1 | #define HAVE_CTYPE_H 1 | #define HAVE_ERRNO_H 1 | #define HAVE_FCNTL_H 1 | #define HAVE_GRP_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_LANGINFO_H 1 | #define HAVE_LIMITS_H 1 | #define HAVE_LINUX_FIEMAP_H 1 | #define HAVE_LINUX_FS_H 1 | #define HAVE_LINUX_MAGIC_H 1 | #define HAVE_LINUX_TYPES_H 1 | #define HAVE_WORKING_FS_IOC_GETFLAGS 1 | #define HAVE_LOCALE_H 1 | #define HAVE_PATHS_H 1 | #define HAVE_POLL_H 1 | #define HAVE_PTHREAD_H 1 | #define HAVE_PWD_H 1 | #define HAVE_SIGNAL_H 1 | #define HAVE_SPAWN_H 1 | #define HAVE_STDARG_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_SYS_CDEFS_H 1 | #define HAVE_SYS_IOCTL_H 1 | #define HAVE_SYS_MOUNT_H 1 | #define HAVE_SYS_PARAM_H 1 | #define HAVE_SYS_POLL_H 1 | #define HAVE_SYS_SELECT_H 1 | #define HAVE_SYS_STATFS_H 1 | #define HAVE_SYS_STATVFS_H 1 | #define HAVE_SYS_SYSMACROS_H 1 | #define HAVE_SYS_TIME_H 1 | #define HAVE_SYS_UTSNAME_H 1 | #define HAVE_SYS_VFS_H 1 | #define HAVE_SYS_XATTR_H 1 | #define HAVE_TIME_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_UTIME_H 1 | #define HAVE_WCHAR_H 1 | #define HAVE_WCTYPE_H 1 | #define HAVE_ICONV 1 | #define ICONV_CONST | #define HAVE_ICONV_H 1 | #define HAVE_LZMA_H 1 | #define HAVE_LIBLZMA 1 | #define HAVE_LZMA_STREAM_ENCODER_MT 1 | #define HAVE_REGEX_H 1 | #define HAVE_STRUCT_TM_TM_GMTOFF 1 | #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1 | #define HAVE_STRUCT_STAT_ST_BLKSIZE 1 | #define HAVE_UINTMAX_T 1 | #define HAVE_UNSIGNED_LONG_LONG 1 | #define HAVE_UNSIGNED_LONG_LONG_INT 1 | #define HAVE_LONG_LONG_INT 1 | #define HAVE_INTMAX_T 1 | #define HAVE_UINTMAX_T 1 | #define HAVE_DECL_SIZE_MAX 1 | #define HAVE_DECL_INT32_MAX 1 | #define HAVE_DECL_INT32_MIN 1 | #define HAVE_DECL_INT64_MAX 1 | #define HAVE_DECL_INT64_MIN 1 | #define HAVE_DECL_UINT64_MAX 1 | #define HAVE_DECL_UINT32_MAX 1 | #define HAVE_DECL_INTMAX_MAX 1 | #define HAVE_DECL_INTMAX_MIN 1 | #define HAVE_DECL_UINTMAX_MAX 1 | #define HAVE_DECL_SSIZE_MAX 1 | #define HAVE_EILSEQ 1 | #define HAVE_WCHAR_T 1 | #define SIZEOF_WCHAR_T 4 | #define TIME_WITH_SYS_TIME 1 | #define HAVE_FSEEKO 1 | #define HAVE_LSTAT_EMPTY_STRING_BUG 1 | #define HAVE_STAT_EMPTY_STRING_BUG 1 | #define HAVE_DECL_STRERROR_R 1 | #define HAVE_STRERROR_R 1 | #define STRERROR_R_CHAR_P 1 | #define HAVE_STRFTIME 1 | #define HAVE_VPRINTF 1 | #define HAVE_CHOWN 1 | #define HAVE_CHROOT 1 | #define HAVE_CTIME_R 1 | #define HAVE_FCHDIR 1 | #define HAVE_FCHMOD 1 | #define HAVE_FCHOWN 1 | #define HAVE_FCNTL 1 | #define HAVE_FDOPENDIR 1 | #define HAVE_FSTAT 1 | #define HAVE_FSTATAT 1 | #define HAVE_FSTATFS 1 | #define HAVE_FSTATVFS 1 | #define HAVE_FTRUNCATE 1 | #define HAVE_FUTIMENS 1 | #define HAVE_FUTIMESAT 1 | #define HAVE_GETEUID 1 | #define HAVE_GETPID 1 | #define HAVE_GETGRGID_R 1 | #define HAVE_GETGRNAM_R 1 | #define HAVE_GETPWNAM_R 1 | #define HAVE_GETPWUID_R 1 | #define HAVE_GMTIME_R 1 | #define HAVE_LCHOWN 1 | #define HAVE_LINK 1 | #define HAVE_LOCALTIME_R 1 | #define HAVE_LSTAT 1 | #define HAVE_LUTIMES 1 | #define HAVE_MBRTOWC 1 | #define HAVE_MEMMOVE 1 | #define HAVE_MEMSET 1 | #define HAVE_MKDIR 1 | #define HAVE_MKFIFO 1 | #define HAVE_MKNOD 1 | #define HAVE_MKSTEMP 1 | #define HAVE_NL_LANGINFO 1 | #define HAVE_OPENAT 1 | #define HAVE_PIPE 1 | #define HAVE_POLL 1 | #define HAVE_POSIX_SPAWNP 1 | #define HAVE_READLINK 1 | #define HAVE_READLINKAT 1 | #define HAVE_SELECT 1 | #define HAVE_SETENV 1 | #define HAVE_SETLOCALE 1 | #define HAVE_SIGACTION 1 | #define HAVE_STATFS 1 | #define HAVE_STATVFS 1 | #define HAVE_STRCHR 1 | #define HAVE_STRDUP 1 | #define HAVE_STRERROR 1 | #define HAVE_STRRCHR 1 | #define HAVE_SYMLINK 1 | #define HAVE_TIMEGM 1 | #define HAVE_TZSET 1 | #define HAVE_UNLINKAT 1 | #define HAVE_UNSETENV 1 | #define HAVE_UTIME 1 | #define HAVE_UTIMENSAT 1 | #define HAVE_UTIMES 1 | #define HAVE_VFORK 1 | #define HAVE_WCRTOMB 1 | #define HAVE_WCSCMP 1 | #define HAVE_WCSCPY 1 | #define HAVE_WCSLEN 1 | #define HAVE_WCTOMB 1 | #define HAVE_WMEMCMP 1 | #define HAVE_WMEMCPY 1 | #define HAVE_WMEMMOVE 1 | #define HAVE_READDIR_R 1 | #define HAVE_DIRFD 1 | /* end confdefs.h. */ | | #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_libc_md5init(archive_md5_ctx *ctx) | { | MD5Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc_md5update(archive_md5_ctx *ctx, const void *indata, | size_t insize) | { | MD5Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc_md5final(archive_md5_ctx *ctx, void *md) | { | MD5Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_MD5_LIBMD) | | static int | __archive_libmd_md5init(archive_md5_ctx *ctx) | { | MD5Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_md5update(archive_md5_ctx *ctx, const void *indata, | size_t insize) | { | MD5Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_md5final(archive_md5_ctx *ctx, void *md) | { | MD5Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_MD5_LIBSYSTEM) | | static int | __archive_libsystem_md5init(archive_md5_ctx *ctx) | { | CC_MD5_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_md5update(archive_md5_ctx *ctx, const void *indata, | size_t insize) | { | CC_MD5_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_md5final(archive_md5_ctx *ctx, void *md) | { | CC_MD5_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_MD5_NETTLE) | | static int | __archive_nettle_md5init(archive_md5_ctx *ctx) | { | md5_init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_md5update(archive_md5_ctx *ctx, const void *indata, | size_t insize) | { | md5_update(ctx, insize, indata); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_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_openssl_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_openssl_md5update(archive_md5_ctx *ctx, const void *indata, | size_t insize) | { | EVP_DigestUpdate(*ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_openssl_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_windowsapi_md5init(archive_md5_ctx *ctx) | { | return (win_crypto_init(ctx, CALG_MD5)); | } | | static int | __archive_windowsapi_md5update(archive_md5_ctx *ctx, const void *indata, | size_t insize) | { | return (win_crypto_Update(ctx, indata, insize)); | } | | static int | __archive_windowsapi_md5final(archive_md5_ctx *ctx, void *md) | { | return (win_crypto_Final(md, 16, ctx)); | } | | #else | | static int | __archive_stub_md5init(archive_md5_ctx *ctx) | { | (void)ctx; /* UNUSED */ | return (ARCHIVE_FAILED); | } | | static int | __archive_stub_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_stub_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_libc_ripemd160init(archive_rmd160_ctx *ctx) | { | RMD160Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, | size_t insize) | { | RMD160Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc_ripemd160final(archive_rmd160_ctx *ctx, void *md) | { | RMD160Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_RMD160_LIBMD) | | static int | __archive_libmd_ripemd160init(archive_rmd160_ctx *ctx) | { | RIPEMD160_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, | size_t insize) | { | RIPEMD160_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_ripemd160final(archive_rmd160_ctx *ctx, void *md) | { | RIPEMD160_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_RMD160_NETTLE) | | static int | __archive_nettle_ripemd160init(archive_rmd160_ctx *ctx) | { | ripemd160_init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, | size_t insize) | { | ripemd160_update(ctx, insize, indata); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_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_openssl_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_openssl_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, | size_t insize) | { | EVP_DigestUpdate(*ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_openssl_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_stub_ripemd160init(archive_rmd160_ctx *ctx) | { | (void)ctx; /* UNUSED */ | return (ARCHIVE_FAILED); | } | | static int | __archive_stub_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_stub_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_libc_sha1init(archive_sha1_ctx *ctx) | { | SHA1Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc_sha1update(archive_sha1_ctx *ctx, const void *indata, | size_t insize) | { | SHA1Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc_sha1final(archive_sha1_ctx *ctx, void *md) | { | SHA1Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA1_LIBMD) | | static int | __archive_libmd_sha1init(archive_sha1_ctx *ctx) | { | SHA1_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_sha1update(archive_sha1_ctx *ctx, const void *indata, | size_t insize) | { | SHA1_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_sha1final(archive_sha1_ctx *ctx, void *md) | { | SHA1_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA1_LIBSYSTEM) | | static int | __archive_libsystem_sha1init(archive_sha1_ctx *ctx) | { | CC_SHA1_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_sha1update(archive_sha1_ctx *ctx, const void *indata, | size_t insize) | { | CC_SHA1_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_sha1final(archive_sha1_ctx *ctx, void *md) | { | CC_SHA1_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA1_NETTLE) | | static int | __archive_nettle_sha1init(archive_sha1_ctx *ctx) | { | sha1_init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_sha1update(archive_sha1_ctx *ctx, const void *indata, | size_t insize) | { | sha1_update(ctx, insize, indata); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_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_openssl_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_openssl_sha1update(archive_sha1_ctx *ctx, const void *indata, | size_t insize) | { | EVP_DigestUpdate(*ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_openssl_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_windowsapi_sha1init(archive_sha1_ctx *ctx) | { | return (win_crypto_init(ctx, CALG_SHA1)); | } | | static int | __archive_windowsapi_sha1update(archive_sha1_ctx *ctx, const void *indata, | size_t insize) | { | return (win_crypto_Update(ctx, indata, insize)); | } | | static int | __archive_windowsapi_sha1final(archive_sha1_ctx *ctx, void *md) | { | return (win_crypto_Final(md, 20, ctx)); | } | | #else | | static int | __archive_stub_sha1init(archive_sha1_ctx *ctx) | { | (void)ctx; /* UNUSED */ | return (ARCHIVE_FAILED); | } | | static int | __archive_stub_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_stub_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_libc_sha256init(archive_sha256_ctx *ctx) | { | SHA256_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc_sha256update(archive_sha256_ctx *ctx, const void *indata, | size_t insize) | { | SHA256_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc_sha256final(archive_sha256_ctx *ctx, void *md) | { | SHA256_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA256_LIBC2) | | static int | __archive_libc2_sha256init(archive_sha256_ctx *ctx) | { | SHA256Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc2_sha256update(archive_sha256_ctx *ctx, const void *indata, | size_t insize) | { | SHA256Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc2_sha256final(archive_sha256_ctx *ctx, void *md) | { | SHA256Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA256_LIBC3) | | static int | __archive_libc3_sha256init(archive_sha256_ctx *ctx) | { | SHA256Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc3_sha256update(archive_sha256_ctx *ctx, const void *indata, | size_t insize) | { | SHA256Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc3_sha256final(archive_sha256_ctx *ctx, void *md) | { | SHA256Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA256_LIBMD) | | static int | __archive_libmd_sha256init(archive_sha256_ctx *ctx) | { | SHA256_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_sha256update(archive_sha256_ctx *ctx, const void *indata, | size_t insize) | { | SHA256_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_sha256final(archive_sha256_ctx *ctx, void *md) | { | SHA256_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA256_LIBSYSTEM) | | static int | __archive_libsystem_sha256init(archive_sha256_ctx *ctx) | { | CC_SHA256_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_sha256update(archive_sha256_ctx *ctx, const void *indata, | size_t insize) | { | CC_SHA256_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_sha256final(archive_sha256_ctx *ctx, void *md) | { | CC_SHA256_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA256_NETTLE) | | static int | __archive_nettle_sha256init(archive_sha256_ctx *ctx) | { | sha256_init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_sha256update(archive_sha256_ctx *ctx, const void *indata, | size_t insize) | { | sha256_update(ctx, insize, indata); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_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_openssl_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_openssl_sha256update(archive_sha256_ctx *ctx, const void *indata, | size_t insize) | { | EVP_DigestUpdate(*ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_openssl_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_windowsapi_sha256init(archive_sha256_ctx *ctx) | { | return (win_crypto_init(ctx, CALG_SHA_256)); | } | | static int | __archive_windowsapi_sha256update(archive_sha256_ctx *ctx, const void *indata, | size_t insize) | { | return (win_crypto_Update(ctx, indata, insize)); | } | | static int | __archive_windowsapi_sha256final(archive_sha256_ctx *ctx, void *md) | { | return (win_crypto_Final(md, 32, ctx)); | } | | #else | | static int | __archive_stub_sha256init(archive_sha256_ctx *ctx) | { | (void)ctx; /* UNUSED */ | return (ARCHIVE_FAILED); | } | | static int | __archive_stub_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_stub_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_libc_sha384init(archive_sha384_ctx *ctx) | { | SHA384_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc_sha384update(archive_sha384_ctx *ctx, const void *indata, | size_t insize) | { | SHA384_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc_sha384final(archive_sha384_ctx *ctx, void *md) | { | SHA384_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA384_LIBC2) | | static int | __archive_libc2_sha384init(archive_sha384_ctx *ctx) | { | SHA384Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc2_sha384update(archive_sha384_ctx *ctx, const void *indata, | size_t insize) | { | SHA384Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc2_sha384final(archive_sha384_ctx *ctx, void *md) | { | SHA384Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA384_LIBC3) | | static int | __archive_libc3_sha384init(archive_sha384_ctx *ctx) | { | SHA384Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc3_sha384update(archive_sha384_ctx *ctx, const void *indata, | size_t insize) | { | SHA384Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc3_sha384final(archive_sha384_ctx *ctx, void *md) | { | SHA384Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA384_LIBSYSTEM) | | static int | __archive_libsystem_sha384init(archive_sha384_ctx *ctx) | { | CC_SHA384_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_sha384update(archive_sha384_ctx *ctx, const void *indata, | size_t insize) | { | CC_SHA384_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_sha384final(archive_sha384_ctx *ctx, void *md) | { | CC_SHA384_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA384_NETTLE) | | static int | __archive_nettle_sha384init(archive_sha384_ctx *ctx) | { | sha384_init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_sha384update(archive_sha384_ctx *ctx, const void *indata, | size_t insize) | { | sha384_update(ctx, insize, indata); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_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_openssl_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_openssl_sha384update(archive_sha384_ctx *ctx, const void *indata, | size_t insize) | { | EVP_DigestUpdate(*ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_openssl_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_windowsapi_sha384init(archive_sha384_ctx *ctx) | { | return (win_crypto_init(ctx, CALG_SHA_384)); | } | | static int | __archive_windowsapi_sha384update(archive_sha384_ctx *ctx, const void *indata, | size_t insize) | { | return (win_crypto_Update(ctx, indata, insize)); | } | | static int | __archive_windowsapi_sha384final(archive_sha384_ctx *ctx, void *md) | { | return (win_crypto_Final(md, 48, ctx)); | } | | #else | | static int | __archive_stub_sha384init(archive_sha384_ctx *ctx) | { | (void)ctx; /* UNUSED */ | return (ARCHIVE_FAILED); | } | | static int | __archive_stub_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_stub_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_libc_sha512init(archive_sha512_ctx *ctx) | { | SHA512_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc_sha512update(archive_sha512_ctx *ctx, const void *indata, | size_t insize) | { | SHA512_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc_sha512final(archive_sha512_ctx *ctx, void *md) | { | SHA512_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA512_LIBC2) | | static int | __archive_libc2_sha512init(archive_sha512_ctx *ctx) | { | SHA512Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc2_sha512update(archive_sha512_ctx *ctx, const void *indata, | size_t insize) | { | SHA512Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc2_sha512final(archive_sha512_ctx *ctx, void *md) | { | SHA512Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA512_LIBC3) | | static int | __archive_libc3_sha512init(archive_sha512_ctx *ctx) | { | SHA512Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc3_sha512update(archive_sha512_ctx *ctx, const void *indata, | size_t insize) | { | SHA512Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc3_sha512final(archive_sha512_ctx *ctx, void *md) | { | SHA512Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA512_LIBMD) | | static int | __archive_libmd_sha512init(archive_sha512_ctx *ctx) | { | SHA512_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_sha512update(archive_sha512_ctx *ctx, const void *indata, | size_t insize) | { | SHA512_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_sha512final(archive_sha512_ctx *ctx, void *md) | { | SHA512_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA512_LIBSYSTEM) | | static int | __archive_libsystem_sha512init(archive_sha512_ctx *ctx) | { | CC_SHA512_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_sha512update(archive_sha512_ctx *ctx, const void *indata, | size_t insize) | { | CC_SHA512_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_sha512final(archive_sha512_ctx *ctx, void *md) | { | CC_SHA512_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA512_NETTLE) | | static int | __archive_nettle_sha512init(archive_sha512_ctx *ctx) | { | sha512_init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_sha512update(archive_sha512_ctx *ctx, const void *indata, | size_t insize) | { | sha512_update(ctx, insize, indata); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_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_openssl_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_openssl_sha512update(archive_sha512_ctx *ctx, const void *indata, | size_t insize) | { | EVP_DigestUpdate(*ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_openssl_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_windowsapi_sha512init(archive_sha512_ctx *ctx) | { | return (win_crypto_init(ctx, CALG_SHA_512)); | } | | static int | __archive_windowsapi_sha512update(archive_sha512_ctx *ctx, const void *indata, | size_t insize) | { | return (win_crypto_Update(ctx, indata, insize)); | } | | static int | __archive_windowsapi_sha512final(archive_sha512_ctx *ctx, void *md) | { | return (win_crypto_Final(md, 64, ctx)); | } | | #else | | static int | __archive_stub_sha512init(archive_sha512_ctx *ctx) | { | (void)ctx; /* UNUSED */ | return (ARCHIVE_FAILED); | } | | static int | __archive_stub_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_stub_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 */ | #if defined(ARCHIVE_CRYPTO_MD5_LIBC) | &__archive_libc_md5init, | &__archive_libc_md5update, | &__archive_libc_md5final, | #elif defined(ARCHIVE_CRYPTO_MD5_LIBMD) | &__archive_libmd_md5init, | &__archive_libmd_md5update, | &__archive_libmd_md5final, | #elif defined(ARCHIVE_CRYPTO_MD5_LIBSYSTEM) | &__archive_libsystem_md5init, | &__archive_libsystem_md5update, | &__archive_libsystem_md5final, | #elif defined(ARCHIVE_CRYPTO_MD5_NETTLE) | &__archive_nettle_md5init, | &__archive_nettle_md5update, | &__archive_nettle_md5final, | #elif defined(ARCHIVE_CRYPTO_MD5_OPENSSL) | &__archive_openssl_md5init, | &__archive_openssl_md5update, | &__archive_openssl_md5final, | #elif defined(ARCHIVE_CRYPTO_MD5_WIN) | &__archive_windowsapi_md5init, | &__archive_windowsapi_md5update, | &__archive_windowsapi_md5final, | #elif !defined(ARCHIVE_MD5_COMPILE_TEST) | &__archive_stub_md5init, | &__archive_stub_md5update, | &__archive_stub_md5final, | #endif | | /* RIPEMD160 */ | #if defined(ARCHIVE_CRYPTO_RMD160_LIBC) | &__archive_libc_ripemd160init, | &__archive_libc_ripemd160update, | &__archive_libc_ripemd160final, | #elif defined(ARCHIVE_CRYPTO_RMD160_LIBMD) | &__archive_libmd_ripemd160init, | &__archive_libmd_ripemd160update, | &__archive_libmd_ripemd160final, | #elif defined(ARCHIVE_CRYPTO_RMD160_NETTLE) | &__archive_nettle_ripemd160init, | &__archive_nettle_ripemd160update, | &__archive_nettle_ripemd160final, | #elif defined(ARCHIVE_CRYPTO_RMD160_OPENSSL) | &__archive_openssl_ripemd160init, | &__archive_openssl_ripemd160update, | &__archive_openssl_ripemd160final, | #elif !defined(ARCHIVE_RMD160_COMPILE_TEST) | &__archive_stub_ripemd160init, | &__archive_stub_ripemd160update, | &__archive_stub_ripemd160final, | #endif | | /* SHA1 */ | #if defined(ARCHIVE_CRYPTO_SHA1_LIBC) | &__archive_libc_sha1init, | &__archive_libc_sha1update, | &__archive_libc_sha1final, | #elif defined(ARCHIVE_CRYPTO_SHA1_LIBMD) | &__archive_libmd_sha1init, | &__archive_libmd_sha1update, | &__archive_libmd_sha1final, | #elif defined(ARCHIVE_CRYPTO_SHA1_LIBSYSTEM) | &__archive_libsystem_sha1init, | &__archive_libsystem_sha1update, | &__archive_libsystem_sha1final, | #elif defined(ARCHIVE_CRYPTO_SHA1_NETTLE) | &__archive_nettle_sha1init, | &__archive_nettle_sha1update, | &__archive_nettle_sha1final, | #elif defined(ARCHIVE_CRYPTO_SHA1_OPENSSL) | &__archive_openssl_sha1init, | &__archive_openssl_sha1update, | &__archive_openssl_sha1final, | #elif defined(ARCHIVE_CRYPTO_SHA1_WIN) | &__archive_windowsapi_sha1init, | &__archive_windowsapi_sha1update, | &__archive_windowsapi_sha1final, | #elif !defined(ARCHIVE_SHA1_COMPILE_TEST) | &__archive_stub_sha1init, | &__archive_stub_sha1update, | &__archive_stub_sha1final, | #endif | | /* SHA256 */ | #if defined(ARCHIVE_CRYPTO_SHA256_LIBC) | &__archive_libc_sha256init, | &__archive_libc_sha256update, | &__archive_libc_sha256final, | #elif defined(ARCHIVE_CRYPTO_SHA256_LIBC2) | &__archive_libc2_sha256init, | &__archive_libc2_sha256update, | &__archive_libc2_sha256final, | #elif defined(ARCHIVE_CRYPTO_SHA256_LIBC3) | &__archive_libc3_sha256init, | &__archive_libc3_sha256update, | &__archive_libc3_sha256final, | #elif defined(ARCHIVE_CRYPTO_SHA256_LIBMD) | &__archive_libmd_sha256init, | &__archive_libmd_sha256update, | &__archive_libmd_sha256final, | #elif defined(ARCHIVE_CRYPTO_SHA256_LIBSYSTEM) | &__archive_libsystem_sha256init, | &__archive_libsystem_sha256update, | &__archive_libsystem_sha256final, | #elif defined(ARCHIVE_CRYPTO_SHA256_NETTLE) | &__archive_nettle_sha256init, | &__archive_nettle_sha256update, | &__archive_nettle_sha256final, | #elif defined(ARCHIVE_CRYPTO_SHA256_OPENSSL) | &__archive_openssl_sha256init, | &__archive_openssl_sha256update, | &__archive_openssl_sha256final, | #elif defined(ARCHIVE_CRYPTO_SHA256_WIN) | &__archive_windowsapi_sha256init, | &__archive_windowsapi_sha256update, | &__archive_windowsapi_sha256final, | #elif !defined(ARCHIVE_SHA256_COMPILE_TEST) | &__archive_stub_sha256init, | &__archive_stub_sha256update, | &__archive_stub_sha256final, | #endif | | /* SHA384 */ | #if defined(ARCHIVE_CRYPTO_SHA384_LIBC) | &__archive_libc_sha384init, | &__archive_libc_sha384update, | &__archive_libc_sha384final, | #elif defined(ARCHIVE_CRYPTO_SHA384_LIBC2) | &__archive_libc2_sha384init, | &__archive_libc2_sha384update, | &__archive_libc2_sha384final, | #elif defined(ARCHIVE_CRYPTO_SHA384_LIBC3) | &__archive_libc3_sha384init, | &__archive_libc3_sha384update, | &__archive_libc3_sha384final, | #elif defined(ARCHIVE_CRYPTO_SHA384_LIBSYSTEM) | &__archive_libsystem_sha384init, | &__archive_libsystem_sha384update, | &__archive_libsystem_sha384final, | #elif defined(ARCHIVE_CRYPTO_SHA384_NETTLE) | &__archive_nettle_sha384init, | &__archive_nettle_sha384update, | &__archive_nettle_sha384final, | #elif defined(ARCHIVE_CRYPTO_SHA384_OPENSSL) | &__archive_openssl_sha384init, | &__archive_openssl_sha384update, | &__archive_openssl_sha384final, | #elif defined(ARCHIVE_CRYPTO_SHA384_WIN) | &__archive_windowsapi_sha384init, | &__archive_windowsapi_sha384update, | &__archive_windowsapi_sha384final, | #elif !defined(ARCHIVE_SHA384_COMPILE_TEST) | &__archive_stub_sha384init, | &__archive_stub_sha384update, | &__archive_stub_sha384final, | #endif | | /* SHA512 */ | #if defined(ARCHIVE_CRYPTO_SHA512_LIBC) | &__archive_libc_sha512init, | &__archive_libc_sha512update, | &__archive_libc_sha512final | #elif defined(ARCHIVE_CRYPTO_SHA512_LIBC2) | &__archive_libc2_sha512init, | &__archive_libc2_sha512update, | &__archive_libc2_sha512final | #elif defined(ARCHIVE_CRYPTO_SHA512_LIBC3) | &__archive_libc3_sha512init, | &__archive_libc3_sha512update, | &__archive_libc3_sha512final | #elif defined(ARCHIVE_CRYPTO_SHA512_LIBMD) | &__archive_libmd_sha512init, | &__archive_libmd_sha512update, | &__archive_libmd_sha512final | #elif defined(ARCHIVE_CRYPTO_SHA512_LIBSYSTEM) | &__archive_libsystem_sha512init, | &__archive_libsystem_sha512update, | &__archive_libsystem_sha512final | #elif defined(ARCHIVE_CRYPTO_SHA512_NETTLE) | &__archive_nettle_sha512init, | &__archive_nettle_sha512update, | &__archive_nettle_sha512final | #elif defined(ARCHIVE_CRYPTO_SHA512_OPENSSL) | &__archive_openssl_sha512init, | &__archive_openssl_sha512update, | &__archive_openssl_sha512final | #elif defined(ARCHIVE_CRYPTO_SHA512_WIN) | &__archive_windowsapi_sha512init, | &__archive_windowsapi_sha512update, | &__archive_windowsapi_sha512final | #elif !defined(ARCHIVE_SHA512_COMPILE_TEST) | &__archive_stub_sha512init, | &__archive_stub_sha512update, | &__archive_stub_sha512final | #endif | }; | | 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; | } | configure:19406: result: no configure:19420: checking support for ARCHIVE_CRYPTO_SHA256_LIBC configure:19442: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -o conftest -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -I. -I. -I./libarchive -Wl,-elf2flt -static conftest.c -llzma >&5 In file included from conftest.c:219:0: ./libarchive/archive_digest_private.h:78:10: fatal error: sha2.h: No such file or directory #include ^~~~~~~~ compilation terminated. configure:19442: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "libarchive" | #define PACKAGE_TARNAME "libarchive" | #define PACKAGE_VERSION "3.4.0" | #define PACKAGE_STRING "libarchive 3.4.0" | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com" | #define PACKAGE_URL "" | #define PACKAGE "libarchive" | #define VERSION "3.4.0" | #define LIBARCHIVE_VERSION_STRING "3.4.0" | #define LIBARCHIVE_VERSION_NUMBER "3004000" | #define BSDCPIO_VERSION_STRING "3.4.0" | #define BSDTAR_VERSION_STRING "3.4.0" | #define BSDCAT_VERSION_STRING "3.4.0" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define __EXTENSIONS__ 1 | #define _ALL_SOURCE 1 | #define _GNU_SOURCE 1 | #define _POSIX_PTHREAD_SEMANTICS 1 | #define _TANDEM_SOURCE 1 | #define LT_OBJDIR ".libs/" | #define HAVE_DIRENT_H 1 | #define HAVE_SYS_WAIT_H 1 | #define HAVE_CTYPE_H 1 | #define HAVE_ERRNO_H 1 | #define HAVE_FCNTL_H 1 | #define HAVE_GRP_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_LANGINFO_H 1 | #define HAVE_LIMITS_H 1 | #define HAVE_LINUX_FIEMAP_H 1 | #define HAVE_LINUX_FS_H 1 | #define HAVE_LINUX_MAGIC_H 1 | #define HAVE_LINUX_TYPES_H 1 | #define HAVE_WORKING_FS_IOC_GETFLAGS 1 | #define HAVE_LOCALE_H 1 | #define HAVE_PATHS_H 1 | #define HAVE_POLL_H 1 | #define HAVE_PTHREAD_H 1 | #define HAVE_PWD_H 1 | #define HAVE_SIGNAL_H 1 | #define HAVE_SPAWN_H 1 | #define HAVE_STDARG_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_SYS_CDEFS_H 1 | #define HAVE_SYS_IOCTL_H 1 | #define HAVE_SYS_MOUNT_H 1 | #define HAVE_SYS_PARAM_H 1 | #define HAVE_SYS_POLL_H 1 | #define HAVE_SYS_SELECT_H 1 | #define HAVE_SYS_STATFS_H 1 | #define HAVE_SYS_STATVFS_H 1 | #define HAVE_SYS_SYSMACROS_H 1 | #define HAVE_SYS_TIME_H 1 | #define HAVE_SYS_UTSNAME_H 1 | #define HAVE_SYS_VFS_H 1 | #define HAVE_SYS_XATTR_H 1 | #define HAVE_TIME_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_UTIME_H 1 | #define HAVE_WCHAR_H 1 | #define HAVE_WCTYPE_H 1 | #define HAVE_ICONV 1 | #define ICONV_CONST | #define HAVE_ICONV_H 1 | #define HAVE_LZMA_H 1 | #define HAVE_LIBLZMA 1 | #define HAVE_LZMA_STREAM_ENCODER_MT 1 | #define HAVE_REGEX_H 1 | #define HAVE_STRUCT_TM_TM_GMTOFF 1 | #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1 | #define HAVE_STRUCT_STAT_ST_BLKSIZE 1 | #define HAVE_UINTMAX_T 1 | #define HAVE_UNSIGNED_LONG_LONG 1 | #define HAVE_UNSIGNED_LONG_LONG_INT 1 | #define HAVE_LONG_LONG_INT 1 | #define HAVE_INTMAX_T 1 | #define HAVE_UINTMAX_T 1 | #define HAVE_DECL_SIZE_MAX 1 | #define HAVE_DECL_INT32_MAX 1 | #define HAVE_DECL_INT32_MIN 1 | #define HAVE_DECL_INT64_MAX 1 | #define HAVE_DECL_INT64_MIN 1 | #define HAVE_DECL_UINT64_MAX 1 | #define HAVE_DECL_UINT32_MAX 1 | #define HAVE_DECL_INTMAX_MAX 1 | #define HAVE_DECL_INTMAX_MIN 1 | #define HAVE_DECL_UINTMAX_MAX 1 | #define HAVE_DECL_SSIZE_MAX 1 | #define HAVE_EILSEQ 1 | #define HAVE_WCHAR_T 1 | #define SIZEOF_WCHAR_T 4 | #define TIME_WITH_SYS_TIME 1 | #define HAVE_FSEEKO 1 | #define HAVE_LSTAT_EMPTY_STRING_BUG 1 | #define HAVE_STAT_EMPTY_STRING_BUG 1 | #define HAVE_DECL_STRERROR_R 1 | #define HAVE_STRERROR_R 1 | #define STRERROR_R_CHAR_P 1 | #define HAVE_STRFTIME 1 | #define HAVE_VPRINTF 1 | #define HAVE_CHOWN 1 | #define HAVE_CHROOT 1 | #define HAVE_CTIME_R 1 | #define HAVE_FCHDIR 1 | #define HAVE_FCHMOD 1 | #define HAVE_FCHOWN 1 | #define HAVE_FCNTL 1 | #define HAVE_FDOPENDIR 1 | #define HAVE_FSTAT 1 | #define HAVE_FSTATAT 1 | #define HAVE_FSTATFS 1 | #define HAVE_FSTATVFS 1 | #define HAVE_FTRUNCATE 1 | #define HAVE_FUTIMENS 1 | #define HAVE_FUTIMESAT 1 | #define HAVE_GETEUID 1 | #define HAVE_GETPID 1 | #define HAVE_GETGRGID_R 1 | #define HAVE_GETGRNAM_R 1 | #define HAVE_GETPWNAM_R 1 | #define HAVE_GETPWUID_R 1 | #define HAVE_GMTIME_R 1 | #define HAVE_LCHOWN 1 | #define HAVE_LINK 1 | #define HAVE_LOCALTIME_R 1 | #define HAVE_LSTAT 1 | #define HAVE_LUTIMES 1 | #define HAVE_MBRTOWC 1 | #define HAVE_MEMMOVE 1 | #define HAVE_MEMSET 1 | #define HAVE_MKDIR 1 | #define HAVE_MKFIFO 1 | #define HAVE_MKNOD 1 | #define HAVE_MKSTEMP 1 | #define HAVE_NL_LANGINFO 1 | #define HAVE_OPENAT 1 | #define HAVE_PIPE 1 | #define HAVE_POLL 1 | #define HAVE_POSIX_SPAWNP 1 | #define HAVE_READLINK 1 | #define HAVE_READLINKAT 1 | #define HAVE_SELECT 1 | #define HAVE_SETENV 1 | #define HAVE_SETLOCALE 1 | #define HAVE_SIGACTION 1 | #define HAVE_STATFS 1 | #define HAVE_STATVFS 1 | #define HAVE_STRCHR 1 | #define HAVE_STRDUP 1 | #define HAVE_STRERROR 1 | #define HAVE_STRRCHR 1 | #define HAVE_SYMLINK 1 | #define HAVE_TIMEGM 1 | #define HAVE_TZSET 1 | #define HAVE_UNLINKAT 1 | #define HAVE_UNSETENV 1 | #define HAVE_UTIME 1 | #define HAVE_UTIMENSAT 1 | #define HAVE_UTIMES 1 | #define HAVE_VFORK 1 | #define HAVE_WCRTOMB 1 | #define HAVE_WCSCMP 1 | #define HAVE_WCSCPY 1 | #define HAVE_WCSLEN 1 | #define HAVE_WCTOMB 1 | #define HAVE_WMEMCMP 1 | #define HAVE_WMEMCPY 1 | #define HAVE_WMEMMOVE 1 | #define HAVE_READDIR_R 1 | #define HAVE_DIRFD 1 | /* end confdefs.h. */ | | #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_libc_md5init(archive_md5_ctx *ctx) | { | MD5Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc_md5update(archive_md5_ctx *ctx, const void *indata, | size_t insize) | { | MD5Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc_md5final(archive_md5_ctx *ctx, void *md) | { | MD5Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_MD5_LIBMD) | | static int | __archive_libmd_md5init(archive_md5_ctx *ctx) | { | MD5Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_md5update(archive_md5_ctx *ctx, const void *indata, | size_t insize) | { | MD5Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_md5final(archive_md5_ctx *ctx, void *md) | { | MD5Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_MD5_LIBSYSTEM) | | static int | __archive_libsystem_md5init(archive_md5_ctx *ctx) | { | CC_MD5_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_md5update(archive_md5_ctx *ctx, const void *indata, | size_t insize) | { | CC_MD5_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_md5final(archive_md5_ctx *ctx, void *md) | { | CC_MD5_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_MD5_NETTLE) | | static int | __archive_nettle_md5init(archive_md5_ctx *ctx) | { | md5_init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_md5update(archive_md5_ctx *ctx, const void *indata, | size_t insize) | { | md5_update(ctx, insize, indata); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_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_openssl_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_openssl_md5update(archive_md5_ctx *ctx, const void *indata, | size_t insize) | { | EVP_DigestUpdate(*ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_openssl_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_windowsapi_md5init(archive_md5_ctx *ctx) | { | return (win_crypto_init(ctx, CALG_MD5)); | } | | static int | __archive_windowsapi_md5update(archive_md5_ctx *ctx, const void *indata, | size_t insize) | { | return (win_crypto_Update(ctx, indata, insize)); | } | | static int | __archive_windowsapi_md5final(archive_md5_ctx *ctx, void *md) | { | return (win_crypto_Final(md, 16, ctx)); | } | | #else | | static int | __archive_stub_md5init(archive_md5_ctx *ctx) | { | (void)ctx; /* UNUSED */ | return (ARCHIVE_FAILED); | } | | static int | __archive_stub_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_stub_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_libc_ripemd160init(archive_rmd160_ctx *ctx) | { | RMD160Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, | size_t insize) | { | RMD160Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc_ripemd160final(archive_rmd160_ctx *ctx, void *md) | { | RMD160Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_RMD160_LIBMD) | | static int | __archive_libmd_ripemd160init(archive_rmd160_ctx *ctx) | { | RIPEMD160_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, | size_t insize) | { | RIPEMD160_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_ripemd160final(archive_rmd160_ctx *ctx, void *md) | { | RIPEMD160_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_RMD160_NETTLE) | | static int | __archive_nettle_ripemd160init(archive_rmd160_ctx *ctx) | { | ripemd160_init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, | size_t insize) | { | ripemd160_update(ctx, insize, indata); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_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_openssl_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_openssl_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, | size_t insize) | { | EVP_DigestUpdate(*ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_openssl_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_stub_ripemd160init(archive_rmd160_ctx *ctx) | { | (void)ctx; /* UNUSED */ | return (ARCHIVE_FAILED); | } | | static int | __archive_stub_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_stub_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_libc_sha1init(archive_sha1_ctx *ctx) | { | SHA1Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc_sha1update(archive_sha1_ctx *ctx, const void *indata, | size_t insize) | { | SHA1Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc_sha1final(archive_sha1_ctx *ctx, void *md) | { | SHA1Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA1_LIBMD) | | static int | __archive_libmd_sha1init(archive_sha1_ctx *ctx) | { | SHA1_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_sha1update(archive_sha1_ctx *ctx, const void *indata, | size_t insize) | { | SHA1_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_sha1final(archive_sha1_ctx *ctx, void *md) | { | SHA1_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA1_LIBSYSTEM) | | static int | __archive_libsystem_sha1init(archive_sha1_ctx *ctx) | { | CC_SHA1_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_sha1update(archive_sha1_ctx *ctx, const void *indata, | size_t insize) | { | CC_SHA1_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_sha1final(archive_sha1_ctx *ctx, void *md) | { | CC_SHA1_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA1_NETTLE) | | static int | __archive_nettle_sha1init(archive_sha1_ctx *ctx) | { | sha1_init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_sha1update(archive_sha1_ctx *ctx, const void *indata, | size_t insize) | { | sha1_update(ctx, insize, indata); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_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_openssl_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_openssl_sha1update(archive_sha1_ctx *ctx, const void *indata, | size_t insize) | { | EVP_DigestUpdate(*ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_openssl_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_windowsapi_sha1init(archive_sha1_ctx *ctx) | { | return (win_crypto_init(ctx, CALG_SHA1)); | } | | static int | __archive_windowsapi_sha1update(archive_sha1_ctx *ctx, const void *indata, | size_t insize) | { | return (win_crypto_Update(ctx, indata, insize)); | } | | static int | __archive_windowsapi_sha1final(archive_sha1_ctx *ctx, void *md) | { | return (win_crypto_Final(md, 20, ctx)); | } | | #else | | static int | __archive_stub_sha1init(archive_sha1_ctx *ctx) | { | (void)ctx; /* UNUSED */ | return (ARCHIVE_FAILED); | } | | static int | __archive_stub_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_stub_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_libc_sha256init(archive_sha256_ctx *ctx) | { | SHA256_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc_sha256update(archive_sha256_ctx *ctx, const void *indata, | size_t insize) | { | SHA256_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc_sha256final(archive_sha256_ctx *ctx, void *md) | { | SHA256_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA256_LIBC2) | | static int | __archive_libc2_sha256init(archive_sha256_ctx *ctx) | { | SHA256Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc2_sha256update(archive_sha256_ctx *ctx, const void *indata, | size_t insize) | { | SHA256Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc2_sha256final(archive_sha256_ctx *ctx, void *md) | { | SHA256Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA256_LIBC3) | | static int | __archive_libc3_sha256init(archive_sha256_ctx *ctx) | { | SHA256Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc3_sha256update(archive_sha256_ctx *ctx, const void *indata, | size_t insize) | { | SHA256Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc3_sha256final(archive_sha256_ctx *ctx, void *md) | { | SHA256Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA256_LIBMD) | | static int | __archive_libmd_sha256init(archive_sha256_ctx *ctx) | { | SHA256_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_sha256update(archive_sha256_ctx *ctx, const void *indata, | size_t insize) | { | SHA256_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_sha256final(archive_sha256_ctx *ctx, void *md) | { | SHA256_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA256_LIBSYSTEM) | | static int | __archive_libsystem_sha256init(archive_sha256_ctx *ctx) | { | CC_SHA256_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_sha256update(archive_sha256_ctx *ctx, const void *indata, | size_t insize) | { | CC_SHA256_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_sha256final(archive_sha256_ctx *ctx, void *md) | { | CC_SHA256_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA256_NETTLE) | | static int | __archive_nettle_sha256init(archive_sha256_ctx *ctx) | { | sha256_init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_sha256update(archive_sha256_ctx *ctx, const void *indata, | size_t insize) | { | sha256_update(ctx, insize, indata); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_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_openssl_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_openssl_sha256update(archive_sha256_ctx *ctx, const void *indata, | size_t insize) | { | EVP_DigestUpdate(*ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_openssl_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_windowsapi_sha256init(archive_sha256_ctx *ctx) | { | return (win_crypto_init(ctx, CALG_SHA_256)); | } | | static int | __archive_windowsapi_sha256update(archive_sha256_ctx *ctx, const void *indata, | size_t insize) | { | return (win_crypto_Update(ctx, indata, insize)); | } | | static int | __archive_windowsapi_sha256final(archive_sha256_ctx *ctx, void *md) | { | return (win_crypto_Final(md, 32, ctx)); | } | | #else | | static int | __archive_stub_sha256init(archive_sha256_ctx *ctx) | { | (void)ctx; /* UNUSED */ | return (ARCHIVE_FAILED); | } | | static int | __archive_stub_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_stub_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_libc_sha384init(archive_sha384_ctx *ctx) | { | SHA384_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc_sha384update(archive_sha384_ctx *ctx, const void *indata, | size_t insize) | { | SHA384_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc_sha384final(archive_sha384_ctx *ctx, void *md) | { | SHA384_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA384_LIBC2) | | static int | __archive_libc2_sha384init(archive_sha384_ctx *ctx) | { | SHA384Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc2_sha384update(archive_sha384_ctx *ctx, const void *indata, | size_t insize) | { | SHA384Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc2_sha384final(archive_sha384_ctx *ctx, void *md) | { | SHA384Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA384_LIBC3) | | static int | __archive_libc3_sha384init(archive_sha384_ctx *ctx) | { | SHA384Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc3_sha384update(archive_sha384_ctx *ctx, const void *indata, | size_t insize) | { | SHA384Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc3_sha384final(archive_sha384_ctx *ctx, void *md) | { | SHA384Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA384_LIBSYSTEM) | | static int | __archive_libsystem_sha384init(archive_sha384_ctx *ctx) | { | CC_SHA384_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_sha384update(archive_sha384_ctx *ctx, const void *indata, | size_t insize) | { | CC_SHA384_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_sha384final(archive_sha384_ctx *ctx, void *md) | { | CC_SHA384_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA384_NETTLE) | | static int | __archive_nettle_sha384init(archive_sha384_ctx *ctx) | { | sha384_init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_sha384update(archive_sha384_ctx *ctx, const void *indata, | size_t insize) | { | sha384_update(ctx, insize, indata); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_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_openssl_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_openssl_sha384update(archive_sha384_ctx *ctx, const void *indata, | size_t insize) | { | EVP_DigestUpdate(*ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_openssl_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_windowsapi_sha384init(archive_sha384_ctx *ctx) | { | return (win_crypto_init(ctx, CALG_SHA_384)); | } | | static int | __archive_windowsapi_sha384update(archive_sha384_ctx *ctx, const void *indata, | size_t insize) | { | return (win_crypto_Update(ctx, indata, insize)); | } | | static int | __archive_windowsapi_sha384final(archive_sha384_ctx *ctx, void *md) | { | return (win_crypto_Final(md, 48, ctx)); | } | | #else | | static int | __archive_stub_sha384init(archive_sha384_ctx *ctx) | { | (void)ctx; /* UNUSED */ | return (ARCHIVE_FAILED); | } | | static int | __archive_stub_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_stub_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_libc_sha512init(archive_sha512_ctx *ctx) | { | SHA512_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc_sha512update(archive_sha512_ctx *ctx, const void *indata, | size_t insize) | { | SHA512_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc_sha512final(archive_sha512_ctx *ctx, void *md) | { | SHA512_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA512_LIBC2) | | static int | __archive_libc2_sha512init(archive_sha512_ctx *ctx) | { | SHA512Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc2_sha512update(archive_sha512_ctx *ctx, const void *indata, | size_t insize) | { | SHA512Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc2_sha512final(archive_sha512_ctx *ctx, void *md) | { | SHA512Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA512_LIBC3) | | static int | __archive_libc3_sha512init(archive_sha512_ctx *ctx) | { | SHA512Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc3_sha512update(archive_sha512_ctx *ctx, const void *indata, | size_t insize) | { | SHA512Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc3_sha512final(archive_sha512_ctx *ctx, void *md) | { | SHA512Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA512_LIBMD) | | static int | __archive_libmd_sha512init(archive_sha512_ctx *ctx) | { | SHA512_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_sha512update(archive_sha512_ctx *ctx, const void *indata, | size_t insize) | { | SHA512_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_sha512final(archive_sha512_ctx *ctx, void *md) | { | SHA512_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA512_LIBSYSTEM) | | static int | __archive_libsystem_sha512init(archive_sha512_ctx *ctx) | { | CC_SHA512_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_sha512update(archive_sha512_ctx *ctx, const void *indata, | size_t insize) | { | CC_SHA512_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_sha512final(archive_sha512_ctx *ctx, void *md) | { | CC_SHA512_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA512_NETTLE) | | static int | __archive_nettle_sha512init(archive_sha512_ctx *ctx) | { | sha512_init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_sha512update(archive_sha512_ctx *ctx, const void *indata, | size_t insize) | { | sha512_update(ctx, insize, indata); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_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_openssl_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_openssl_sha512update(archive_sha512_ctx *ctx, const void *indata, | size_t insize) | { | EVP_DigestUpdate(*ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_openssl_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_windowsapi_sha512init(archive_sha512_ctx *ctx) | { | return (win_crypto_init(ctx, CALG_SHA_512)); | } | | static int | __archive_windowsapi_sha512update(archive_sha512_ctx *ctx, const void *indata, | size_t insize) | { | return (win_crypto_Update(ctx, indata, insize)); | } | | static int | __archive_windowsapi_sha512final(archive_sha512_ctx *ctx, void *md) | { | return (win_crypto_Final(md, 64, ctx)); | } | | #else | | static int | __archive_stub_sha512init(archive_sha512_ctx *ctx) | { | (void)ctx; /* UNUSED */ | return (ARCHIVE_FAILED); | } | | static int | __archive_stub_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_stub_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 */ | #if defined(ARCHIVE_CRYPTO_MD5_LIBC) | &__archive_libc_md5init, | &__archive_libc_md5update, | &__archive_libc_md5final, | #elif defined(ARCHIVE_CRYPTO_MD5_LIBMD) | &__archive_libmd_md5init, | &__archive_libmd_md5update, | &__archive_libmd_md5final, | #elif defined(ARCHIVE_CRYPTO_MD5_LIBSYSTEM) | &__archive_libsystem_md5init, | &__archive_libsystem_md5update, | &__archive_libsystem_md5final, | #elif defined(ARCHIVE_CRYPTO_MD5_NETTLE) | &__archive_nettle_md5init, | &__archive_nettle_md5update, | &__archive_nettle_md5final, | #elif defined(ARCHIVE_CRYPTO_MD5_OPENSSL) | &__archive_openssl_md5init, | &__archive_openssl_md5update, | &__archive_openssl_md5final, | #elif defined(ARCHIVE_CRYPTO_MD5_WIN) | &__archive_windowsapi_md5init, | &__archive_windowsapi_md5update, | &__archive_windowsapi_md5final, | #elif !defined(ARCHIVE_MD5_COMPILE_TEST) | &__archive_stub_md5init, | &__archive_stub_md5update, | &__archive_stub_md5final, | #endif | | /* RIPEMD160 */ | #if defined(ARCHIVE_CRYPTO_RMD160_LIBC) | &__archive_libc_ripemd160init, | &__archive_libc_ripemd160update, | &__archive_libc_ripemd160final, | #elif defined(ARCHIVE_CRYPTO_RMD160_LIBMD) | &__archive_libmd_ripemd160init, | &__archive_libmd_ripemd160update, | &__archive_libmd_ripemd160final, | #elif defined(ARCHIVE_CRYPTO_RMD160_NETTLE) | &__archive_nettle_ripemd160init, | &__archive_nettle_ripemd160update, | &__archive_nettle_ripemd160final, | #elif defined(ARCHIVE_CRYPTO_RMD160_OPENSSL) | &__archive_openssl_ripemd160init, | &__archive_openssl_ripemd160update, | &__archive_openssl_ripemd160final, | #elif !defined(ARCHIVE_RMD160_COMPILE_TEST) | &__archive_stub_ripemd160init, | &__archive_stub_ripemd160update, | &__archive_stub_ripemd160final, | #endif | | /* SHA1 */ | #if defined(ARCHIVE_CRYPTO_SHA1_LIBC) | &__archive_libc_sha1init, | &__archive_libc_sha1update, | &__archive_libc_sha1final, | #elif defined(ARCHIVE_CRYPTO_SHA1_LIBMD) | &__archive_libmd_sha1init, | &__archive_libmd_sha1update, | &__archive_libmd_sha1final, | #elif defined(ARCHIVE_CRYPTO_SHA1_LIBSYSTEM) | &__archive_libsystem_sha1init, | &__archive_libsystem_sha1update, | &__archive_libsystem_sha1final, | #elif defined(ARCHIVE_CRYPTO_SHA1_NETTLE) | &__archive_nettle_sha1init, | &__archive_nettle_sha1update, | &__archive_nettle_sha1final, | #elif defined(ARCHIVE_CRYPTO_SHA1_OPENSSL) | &__archive_openssl_sha1init, | &__archive_openssl_sha1update, | &__archive_openssl_sha1final, | #elif defined(ARCHIVE_CRYPTO_SHA1_WIN) | &__archive_windowsapi_sha1init, | &__archive_windowsapi_sha1update, | &__archive_windowsapi_sha1final, | #elif !defined(ARCHIVE_SHA1_COMPILE_TEST) | &__archive_stub_sha1init, | &__archive_stub_sha1update, | &__archive_stub_sha1final, | #endif | | /* SHA256 */ | #if defined(ARCHIVE_CRYPTO_SHA256_LIBC) | &__archive_libc_sha256init, | &__archive_libc_sha256update, | &__archive_libc_sha256final, | #elif defined(ARCHIVE_CRYPTO_SHA256_LIBC2) | &__archive_libc2_sha256init, | &__archive_libc2_sha256update, | &__archive_libc2_sha256final, | #elif defined(ARCHIVE_CRYPTO_SHA256_LIBC3) | &__archive_libc3_sha256init, | &__archive_libc3_sha256update, | &__archive_libc3_sha256final, | #elif defined(ARCHIVE_CRYPTO_SHA256_LIBMD) | &__archive_libmd_sha256init, | &__archive_libmd_sha256update, | &__archive_libmd_sha256final, | #elif defined(ARCHIVE_CRYPTO_SHA256_LIBSYSTEM) | &__archive_libsystem_sha256init, | &__archive_libsystem_sha256update, | &__archive_libsystem_sha256final, | #elif defined(ARCHIVE_CRYPTO_SHA256_NETTLE) | &__archive_nettle_sha256init, | &__archive_nettle_sha256update, | &__archive_nettle_sha256final, | #elif defined(ARCHIVE_CRYPTO_SHA256_OPENSSL) | &__archive_openssl_sha256init, | &__archive_openssl_sha256update, | &__archive_openssl_sha256final, | #elif defined(ARCHIVE_CRYPTO_SHA256_WIN) | &__archive_windowsapi_sha256init, | &__archive_windowsapi_sha256update, | &__archive_windowsapi_sha256final, | #elif !defined(ARCHIVE_SHA256_COMPILE_TEST) | &__archive_stub_sha256init, | &__archive_stub_sha256update, | &__archive_stub_sha256final, | #endif | | /* SHA384 */ | #if defined(ARCHIVE_CRYPTO_SHA384_LIBC) | &__archive_libc_sha384init, | &__archive_libc_sha384update, | &__archive_libc_sha384final, | #elif defined(ARCHIVE_CRYPTO_SHA384_LIBC2) | &__archive_libc2_sha384init, | &__archive_libc2_sha384update, | &__archive_libc2_sha384final, | #elif defined(ARCHIVE_CRYPTO_SHA384_LIBC3) | &__archive_libc3_sha384init, | &__archive_libc3_sha384update, | &__archive_libc3_sha384final, | #elif defined(ARCHIVE_CRYPTO_SHA384_LIBSYSTEM) | &__archive_libsystem_sha384init, | &__archive_libsystem_sha384update, | &__archive_libsystem_sha384final, | #elif defined(ARCHIVE_CRYPTO_SHA384_NETTLE) | &__archive_nettle_sha384init, | &__archive_nettle_sha384update, | &__archive_nettle_sha384final, | #elif defined(ARCHIVE_CRYPTO_SHA384_OPENSSL) | &__archive_openssl_sha384init, | &__archive_openssl_sha384update, | &__archive_openssl_sha384final, | #elif defined(ARCHIVE_CRYPTO_SHA384_WIN) | &__archive_windowsapi_sha384init, | &__archive_windowsapi_sha384update, | &__archive_windowsapi_sha384final, | #elif !defined(ARCHIVE_SHA384_COMPILE_TEST) | &__archive_stub_sha384init, | &__archive_stub_sha384update, | &__archive_stub_sha384final, | #endif | | /* SHA512 */ | #if defined(ARCHIVE_CRYPTO_SHA512_LIBC) | &__archive_libc_sha512init, | &__archive_libc_sha512update, | &__archive_libc_sha512final | #elif defined(ARCHIVE_CRYPTO_SHA512_LIBC2) | &__archive_libc2_sha512init, | &__archive_libc2_sha512update, | &__archive_libc2_sha512final | #elif defined(ARCHIVE_CRYPTO_SHA512_LIBC3) | &__archive_libc3_sha512init, | &__archive_libc3_sha512update, | &__archive_libc3_sha512final | #elif defined(ARCHIVE_CRYPTO_SHA512_LIBMD) | &__archive_libmd_sha512init, | &__archive_libmd_sha512update, | &__archive_libmd_sha512final | #elif defined(ARCHIVE_CRYPTO_SHA512_LIBSYSTEM) | &__archive_libsystem_sha512init, | &__archive_libsystem_sha512update, | &__archive_libsystem_sha512final | #elif defined(ARCHIVE_CRYPTO_SHA512_NETTLE) | &__archive_nettle_sha512init, | &__archive_nettle_sha512update, | &__archive_nettle_sha512final | #elif defined(ARCHIVE_CRYPTO_SHA512_OPENSSL) | &__archive_openssl_sha512init, | &__archive_openssl_sha512update, | &__archive_openssl_sha512final | #elif defined(ARCHIVE_CRYPTO_SHA512_WIN) | &__archive_windowsapi_sha512init, | &__archive_windowsapi_sha512update, | &__archive_windowsapi_sha512final | #elif !defined(ARCHIVE_SHA512_COMPILE_TEST) | &__archive_stub_sha512init, | &__archive_stub_sha512update, | &__archive_stub_sha512final | #endif | }; | | 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; | } | configure:19452: result: no configure:19466: checking support for ARCHIVE_CRYPTO_SHA256_LIBC2 configure:19488: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -o conftest -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -I. -I. -I./libarchive -Wl,-elf2flt -static conftest.c -llzma >&5 In file included from conftest.c:219:0: ./libarchive/archive_digest_private.h:78:10: fatal error: sha2.h: No such file or directory #include ^~~~~~~~ compilation terminated. configure:19488: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "libarchive" | #define PACKAGE_TARNAME "libarchive" | #define PACKAGE_VERSION "3.4.0" | #define PACKAGE_STRING "libarchive 3.4.0" | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com" | #define PACKAGE_URL "" | #define PACKAGE "libarchive" | #define VERSION "3.4.0" | #define LIBARCHIVE_VERSION_STRING "3.4.0" | #define LIBARCHIVE_VERSION_NUMBER "3004000" | #define BSDCPIO_VERSION_STRING "3.4.0" | #define BSDTAR_VERSION_STRING "3.4.0" | #define BSDCAT_VERSION_STRING "3.4.0" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define __EXTENSIONS__ 1 | #define _ALL_SOURCE 1 | #define _GNU_SOURCE 1 | #define _POSIX_PTHREAD_SEMANTICS 1 | #define _TANDEM_SOURCE 1 | #define LT_OBJDIR ".libs/" | #define HAVE_DIRENT_H 1 | #define HAVE_SYS_WAIT_H 1 | #define HAVE_CTYPE_H 1 | #define HAVE_ERRNO_H 1 | #define HAVE_FCNTL_H 1 | #define HAVE_GRP_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_LANGINFO_H 1 | #define HAVE_LIMITS_H 1 | #define HAVE_LINUX_FIEMAP_H 1 | #define HAVE_LINUX_FS_H 1 | #define HAVE_LINUX_MAGIC_H 1 | #define HAVE_LINUX_TYPES_H 1 | #define HAVE_WORKING_FS_IOC_GETFLAGS 1 | #define HAVE_LOCALE_H 1 | #define HAVE_PATHS_H 1 | #define HAVE_POLL_H 1 | #define HAVE_PTHREAD_H 1 | #define HAVE_PWD_H 1 | #define HAVE_SIGNAL_H 1 | #define HAVE_SPAWN_H 1 | #define HAVE_STDARG_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_SYS_CDEFS_H 1 | #define HAVE_SYS_IOCTL_H 1 | #define HAVE_SYS_MOUNT_H 1 | #define HAVE_SYS_PARAM_H 1 | #define HAVE_SYS_POLL_H 1 | #define HAVE_SYS_SELECT_H 1 | #define HAVE_SYS_STATFS_H 1 | #define HAVE_SYS_STATVFS_H 1 | #define HAVE_SYS_SYSMACROS_H 1 | #define HAVE_SYS_TIME_H 1 | #define HAVE_SYS_UTSNAME_H 1 | #define HAVE_SYS_VFS_H 1 | #define HAVE_SYS_XATTR_H 1 | #define HAVE_TIME_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_UTIME_H 1 | #define HAVE_WCHAR_H 1 | #define HAVE_WCTYPE_H 1 | #define HAVE_ICONV 1 | #define ICONV_CONST | #define HAVE_ICONV_H 1 | #define HAVE_LZMA_H 1 | #define HAVE_LIBLZMA 1 | #define HAVE_LZMA_STREAM_ENCODER_MT 1 | #define HAVE_REGEX_H 1 | #define HAVE_STRUCT_TM_TM_GMTOFF 1 | #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1 | #define HAVE_STRUCT_STAT_ST_BLKSIZE 1 | #define HAVE_UINTMAX_T 1 | #define HAVE_UNSIGNED_LONG_LONG 1 | #define HAVE_UNSIGNED_LONG_LONG_INT 1 | #define HAVE_LONG_LONG_INT 1 | #define HAVE_INTMAX_T 1 | #define HAVE_UINTMAX_T 1 | #define HAVE_DECL_SIZE_MAX 1 | #define HAVE_DECL_INT32_MAX 1 | #define HAVE_DECL_INT32_MIN 1 | #define HAVE_DECL_INT64_MAX 1 | #define HAVE_DECL_INT64_MIN 1 | #define HAVE_DECL_UINT64_MAX 1 | #define HAVE_DECL_UINT32_MAX 1 | #define HAVE_DECL_INTMAX_MAX 1 | #define HAVE_DECL_INTMAX_MIN 1 | #define HAVE_DECL_UINTMAX_MAX 1 | #define HAVE_DECL_SSIZE_MAX 1 | #define HAVE_EILSEQ 1 | #define HAVE_WCHAR_T 1 | #define SIZEOF_WCHAR_T 4 | #define TIME_WITH_SYS_TIME 1 | #define HAVE_FSEEKO 1 | #define HAVE_LSTAT_EMPTY_STRING_BUG 1 | #define HAVE_STAT_EMPTY_STRING_BUG 1 | #define HAVE_DECL_STRERROR_R 1 | #define HAVE_STRERROR_R 1 | #define STRERROR_R_CHAR_P 1 | #define HAVE_STRFTIME 1 | #define HAVE_VPRINTF 1 | #define HAVE_CHOWN 1 | #define HAVE_CHROOT 1 | #define HAVE_CTIME_R 1 | #define HAVE_FCHDIR 1 | #define HAVE_FCHMOD 1 | #define HAVE_FCHOWN 1 | #define HAVE_FCNTL 1 | #define HAVE_FDOPENDIR 1 | #define HAVE_FSTAT 1 | #define HAVE_FSTATAT 1 | #define HAVE_FSTATFS 1 | #define HAVE_FSTATVFS 1 | #define HAVE_FTRUNCATE 1 | #define HAVE_FUTIMENS 1 | #define HAVE_FUTIMESAT 1 | #define HAVE_GETEUID 1 | #define HAVE_GETPID 1 | #define HAVE_GETGRGID_R 1 | #define HAVE_GETGRNAM_R 1 | #define HAVE_GETPWNAM_R 1 | #define HAVE_GETPWUID_R 1 | #define HAVE_GMTIME_R 1 | #define HAVE_LCHOWN 1 | #define HAVE_LINK 1 | #define HAVE_LOCALTIME_R 1 | #define HAVE_LSTAT 1 | #define HAVE_LUTIMES 1 | #define HAVE_MBRTOWC 1 | #define HAVE_MEMMOVE 1 | #define HAVE_MEMSET 1 | #define HAVE_MKDIR 1 | #define HAVE_MKFIFO 1 | #define HAVE_MKNOD 1 | #define HAVE_MKSTEMP 1 | #define HAVE_NL_LANGINFO 1 | #define HAVE_OPENAT 1 | #define HAVE_PIPE 1 | #define HAVE_POLL 1 | #define HAVE_POSIX_SPAWNP 1 | #define HAVE_READLINK 1 | #define HAVE_READLINKAT 1 | #define HAVE_SELECT 1 | #define HAVE_SETENV 1 | #define HAVE_SETLOCALE 1 | #define HAVE_SIGACTION 1 | #define HAVE_STATFS 1 | #define HAVE_STATVFS 1 | #define HAVE_STRCHR 1 | #define HAVE_STRDUP 1 | #define HAVE_STRERROR 1 | #define HAVE_STRRCHR 1 | #define HAVE_SYMLINK 1 | #define HAVE_TIMEGM 1 | #define HAVE_TZSET 1 | #define HAVE_UNLINKAT 1 | #define HAVE_UNSETENV 1 | #define HAVE_UTIME 1 | #define HAVE_UTIMENSAT 1 | #define HAVE_UTIMES 1 | #define HAVE_VFORK 1 | #define HAVE_WCRTOMB 1 | #define HAVE_WCSCMP 1 | #define HAVE_WCSCPY 1 | #define HAVE_WCSLEN 1 | #define HAVE_WCTOMB 1 | #define HAVE_WMEMCMP 1 | #define HAVE_WMEMCPY 1 | #define HAVE_WMEMMOVE 1 | #define HAVE_READDIR_R 1 | #define HAVE_DIRFD 1 | /* end confdefs.h. */ | | #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_libc_md5init(archive_md5_ctx *ctx) | { | MD5Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc_md5update(archive_md5_ctx *ctx, const void *indata, | size_t insize) | { | MD5Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc_md5final(archive_md5_ctx *ctx, void *md) | { | MD5Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_MD5_LIBMD) | | static int | __archive_libmd_md5init(archive_md5_ctx *ctx) | { | MD5Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_md5update(archive_md5_ctx *ctx, const void *indata, | size_t insize) | { | MD5Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_md5final(archive_md5_ctx *ctx, void *md) | { | MD5Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_MD5_LIBSYSTEM) | | static int | __archive_libsystem_md5init(archive_md5_ctx *ctx) | { | CC_MD5_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_md5update(archive_md5_ctx *ctx, const void *indata, | size_t insize) | { | CC_MD5_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_md5final(archive_md5_ctx *ctx, void *md) | { | CC_MD5_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_MD5_NETTLE) | | static int | __archive_nettle_md5init(archive_md5_ctx *ctx) | { | md5_init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_md5update(archive_md5_ctx *ctx, const void *indata, | size_t insize) | { | md5_update(ctx, insize, indata); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_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_openssl_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_openssl_md5update(archive_md5_ctx *ctx, const void *indata, | size_t insize) | { | EVP_DigestUpdate(*ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_openssl_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_windowsapi_md5init(archive_md5_ctx *ctx) | { | return (win_crypto_init(ctx, CALG_MD5)); | } | | static int | __archive_windowsapi_md5update(archive_md5_ctx *ctx, const void *indata, | size_t insize) | { | return (win_crypto_Update(ctx, indata, insize)); | } | | static int | __archive_windowsapi_md5final(archive_md5_ctx *ctx, void *md) | { | return (win_crypto_Final(md, 16, ctx)); | } | | #else | | static int | __archive_stub_md5init(archive_md5_ctx *ctx) | { | (void)ctx; /* UNUSED */ | return (ARCHIVE_FAILED); | } | | static int | __archive_stub_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_stub_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_libc_ripemd160init(archive_rmd160_ctx *ctx) | { | RMD160Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, | size_t insize) | { | RMD160Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc_ripemd160final(archive_rmd160_ctx *ctx, void *md) | { | RMD160Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_RMD160_LIBMD) | | static int | __archive_libmd_ripemd160init(archive_rmd160_ctx *ctx) | { | RIPEMD160_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, | size_t insize) | { | RIPEMD160_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_ripemd160final(archive_rmd160_ctx *ctx, void *md) | { | RIPEMD160_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_RMD160_NETTLE) | | static int | __archive_nettle_ripemd160init(archive_rmd160_ctx *ctx) | { | ripemd160_init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, | size_t insize) | { | ripemd160_update(ctx, insize, indata); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_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_openssl_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_openssl_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, | size_t insize) | { | EVP_DigestUpdate(*ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_openssl_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_stub_ripemd160init(archive_rmd160_ctx *ctx) | { | (void)ctx; /* UNUSED */ | return (ARCHIVE_FAILED); | } | | static int | __archive_stub_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_stub_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_libc_sha1init(archive_sha1_ctx *ctx) | { | SHA1Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc_sha1update(archive_sha1_ctx *ctx, const void *indata, | size_t insize) | { | SHA1Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc_sha1final(archive_sha1_ctx *ctx, void *md) | { | SHA1Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA1_LIBMD) | | static int | __archive_libmd_sha1init(archive_sha1_ctx *ctx) | { | SHA1_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_sha1update(archive_sha1_ctx *ctx, const void *indata, | size_t insize) | { | SHA1_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_sha1final(archive_sha1_ctx *ctx, void *md) | { | SHA1_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA1_LIBSYSTEM) | | static int | __archive_libsystem_sha1init(archive_sha1_ctx *ctx) | { | CC_SHA1_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_sha1update(archive_sha1_ctx *ctx, const void *indata, | size_t insize) | { | CC_SHA1_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_sha1final(archive_sha1_ctx *ctx, void *md) | { | CC_SHA1_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA1_NETTLE) | | static int | __archive_nettle_sha1init(archive_sha1_ctx *ctx) | { | sha1_init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_sha1update(archive_sha1_ctx *ctx, const void *indata, | size_t insize) | { | sha1_update(ctx, insize, indata); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_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_openssl_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_openssl_sha1update(archive_sha1_ctx *ctx, const void *indata, | size_t insize) | { | EVP_DigestUpdate(*ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_openssl_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_windowsapi_sha1init(archive_sha1_ctx *ctx) | { | return (win_crypto_init(ctx, CALG_SHA1)); | } | | static int | __archive_windowsapi_sha1update(archive_sha1_ctx *ctx, const void *indata, | size_t insize) | { | return (win_crypto_Update(ctx, indata, insize)); | } | | static int | __archive_windowsapi_sha1final(archive_sha1_ctx *ctx, void *md) | { | return (win_crypto_Final(md, 20, ctx)); | } | | #else | | static int | __archive_stub_sha1init(archive_sha1_ctx *ctx) | { | (void)ctx; /* UNUSED */ | return (ARCHIVE_FAILED); | } | | static int | __archive_stub_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_stub_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_libc_sha256init(archive_sha256_ctx *ctx) | { | SHA256_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc_sha256update(archive_sha256_ctx *ctx, const void *indata, | size_t insize) | { | SHA256_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc_sha256final(archive_sha256_ctx *ctx, void *md) | { | SHA256_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA256_LIBC2) | | static int | __archive_libc2_sha256init(archive_sha256_ctx *ctx) | { | SHA256Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc2_sha256update(archive_sha256_ctx *ctx, const void *indata, | size_t insize) | { | SHA256Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc2_sha256final(archive_sha256_ctx *ctx, void *md) | { | SHA256Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA256_LIBC3) | | static int | __archive_libc3_sha256init(archive_sha256_ctx *ctx) | { | SHA256Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc3_sha256update(archive_sha256_ctx *ctx, const void *indata, | size_t insize) | { | SHA256Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc3_sha256final(archive_sha256_ctx *ctx, void *md) | { | SHA256Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA256_LIBMD) | | static int | __archive_libmd_sha256init(archive_sha256_ctx *ctx) | { | SHA256_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_sha256update(archive_sha256_ctx *ctx, const void *indata, | size_t insize) | { | SHA256_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_sha256final(archive_sha256_ctx *ctx, void *md) | { | SHA256_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA256_LIBSYSTEM) | | static int | __archive_libsystem_sha256init(archive_sha256_ctx *ctx) | { | CC_SHA256_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_sha256update(archive_sha256_ctx *ctx, const void *indata, | size_t insize) | { | CC_SHA256_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_sha256final(archive_sha256_ctx *ctx, void *md) | { | CC_SHA256_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA256_NETTLE) | | static int | __archive_nettle_sha256init(archive_sha256_ctx *ctx) | { | sha256_init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_sha256update(archive_sha256_ctx *ctx, const void *indata, | size_t insize) | { | sha256_update(ctx, insize, indata); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_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_openssl_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_openssl_sha256update(archive_sha256_ctx *ctx, const void *indata, | size_t insize) | { | EVP_DigestUpdate(*ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_openssl_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_windowsapi_sha256init(archive_sha256_ctx *ctx) | { | return (win_crypto_init(ctx, CALG_SHA_256)); | } | | static int | __archive_windowsapi_sha256update(archive_sha256_ctx *ctx, const void *indata, | size_t insize) | { | return (win_crypto_Update(ctx, indata, insize)); | } | | static int | __archive_windowsapi_sha256final(archive_sha256_ctx *ctx, void *md) | { | return (win_crypto_Final(md, 32, ctx)); | } | | #else | | static int | __archive_stub_sha256init(archive_sha256_ctx *ctx) | { | (void)ctx; /* UNUSED */ | return (ARCHIVE_FAILED); | } | | static int | __archive_stub_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_stub_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_libc_sha384init(archive_sha384_ctx *ctx) | { | SHA384_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc_sha384update(archive_sha384_ctx *ctx, const void *indata, | size_t insize) | { | SHA384_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc_sha384final(archive_sha384_ctx *ctx, void *md) | { | SHA384_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA384_LIBC2) | | static int | __archive_libc2_sha384init(archive_sha384_ctx *ctx) | { | SHA384Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc2_sha384update(archive_sha384_ctx *ctx, const void *indata, | size_t insize) | { | SHA384Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc2_sha384final(archive_sha384_ctx *ctx, void *md) | { | SHA384Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA384_LIBC3) | | static int | __archive_libc3_sha384init(archive_sha384_ctx *ctx) | { | SHA384Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc3_sha384update(archive_sha384_ctx *ctx, const void *indata, | size_t insize) | { | SHA384Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc3_sha384final(archive_sha384_ctx *ctx, void *md) | { | SHA384Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA384_LIBSYSTEM) | | static int | __archive_libsystem_sha384init(archive_sha384_ctx *ctx) | { | CC_SHA384_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_sha384update(archive_sha384_ctx *ctx, const void *indata, | size_t insize) | { | CC_SHA384_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_sha384final(archive_sha384_ctx *ctx, void *md) | { | CC_SHA384_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA384_NETTLE) | | static int | __archive_nettle_sha384init(archive_sha384_ctx *ctx) | { | sha384_init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_sha384update(archive_sha384_ctx *ctx, const void *indata, | size_t insize) | { | sha384_update(ctx, insize, indata); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_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_openssl_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_openssl_sha384update(archive_sha384_ctx *ctx, const void *indata, | size_t insize) | { | EVP_DigestUpdate(*ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_openssl_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_windowsapi_sha384init(archive_sha384_ctx *ctx) | { | return (win_crypto_init(ctx, CALG_SHA_384)); | } | | static int | __archive_windowsapi_sha384update(archive_sha384_ctx *ctx, const void *indata, | size_t insize) | { | return (win_crypto_Update(ctx, indata, insize)); | } | | static int | __archive_windowsapi_sha384final(archive_sha384_ctx *ctx, void *md) | { | return (win_crypto_Final(md, 48, ctx)); | } | | #else | | static int | __archive_stub_sha384init(archive_sha384_ctx *ctx) | { | (void)ctx; /* UNUSED */ | return (ARCHIVE_FAILED); | } | | static int | __archive_stub_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_stub_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_libc_sha512init(archive_sha512_ctx *ctx) | { | SHA512_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc_sha512update(archive_sha512_ctx *ctx, const void *indata, | size_t insize) | { | SHA512_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc_sha512final(archive_sha512_ctx *ctx, void *md) | { | SHA512_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA512_LIBC2) | | static int | __archive_libc2_sha512init(archive_sha512_ctx *ctx) | { | SHA512Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc2_sha512update(archive_sha512_ctx *ctx, const void *indata, | size_t insize) | { | SHA512Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc2_sha512final(archive_sha512_ctx *ctx, void *md) | { | SHA512Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA512_LIBC3) | | static int | __archive_libc3_sha512init(archive_sha512_ctx *ctx) | { | SHA512Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc3_sha512update(archive_sha512_ctx *ctx, const void *indata, | size_t insize) | { | SHA512Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc3_sha512final(archive_sha512_ctx *ctx, void *md) | { | SHA512Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA512_LIBMD) | | static int | __archive_libmd_sha512init(archive_sha512_ctx *ctx) | { | SHA512_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_sha512update(archive_sha512_ctx *ctx, const void *indata, | size_t insize) | { | SHA512_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_sha512final(archive_sha512_ctx *ctx, void *md) | { | SHA512_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA512_LIBSYSTEM) | | static int | __archive_libsystem_sha512init(archive_sha512_ctx *ctx) | { | CC_SHA512_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_sha512update(archive_sha512_ctx *ctx, const void *indata, | size_t insize) | { | CC_SHA512_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_sha512final(archive_sha512_ctx *ctx, void *md) | { | CC_SHA512_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA512_NETTLE) | | static int | __archive_nettle_sha512init(archive_sha512_ctx *ctx) | { | sha512_init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_sha512update(archive_sha512_ctx *ctx, const void *indata, | size_t insize) | { | sha512_update(ctx, insize, indata); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_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_openssl_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_openssl_sha512update(archive_sha512_ctx *ctx, const void *indata, | size_t insize) | { | EVP_DigestUpdate(*ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_openssl_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_windowsapi_sha512init(archive_sha512_ctx *ctx) | { | return (win_crypto_init(ctx, CALG_SHA_512)); | } | | static int | __archive_windowsapi_sha512update(archive_sha512_ctx *ctx, const void *indata, | size_t insize) | { | return (win_crypto_Update(ctx, indata, insize)); | } | | static int | __archive_windowsapi_sha512final(archive_sha512_ctx *ctx, void *md) | { | return (win_crypto_Final(md, 64, ctx)); | } | | #else | | static int | __archive_stub_sha512init(archive_sha512_ctx *ctx) | { | (void)ctx; /* UNUSED */ | return (ARCHIVE_FAILED); | } | | static int | __archive_stub_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_stub_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 */ | #if defined(ARCHIVE_CRYPTO_MD5_LIBC) | &__archive_libc_md5init, | &__archive_libc_md5update, | &__archive_libc_md5final, | #elif defined(ARCHIVE_CRYPTO_MD5_LIBMD) | &__archive_libmd_md5init, | &__archive_libmd_md5update, | &__archive_libmd_md5final, | #elif defined(ARCHIVE_CRYPTO_MD5_LIBSYSTEM) | &__archive_libsystem_md5init, | &__archive_libsystem_md5update, | &__archive_libsystem_md5final, | #elif defined(ARCHIVE_CRYPTO_MD5_NETTLE) | &__archive_nettle_md5init, | &__archive_nettle_md5update, | &__archive_nettle_md5final, | #elif defined(ARCHIVE_CRYPTO_MD5_OPENSSL) | &__archive_openssl_md5init, | &__archive_openssl_md5update, | &__archive_openssl_md5final, | #elif defined(ARCHIVE_CRYPTO_MD5_WIN) | &__archive_windowsapi_md5init, | &__archive_windowsapi_md5update, | &__archive_windowsapi_md5final, | #elif !defined(ARCHIVE_MD5_COMPILE_TEST) | &__archive_stub_md5init, | &__archive_stub_md5update, | &__archive_stub_md5final, | #endif | | /* RIPEMD160 */ | #if defined(ARCHIVE_CRYPTO_RMD160_LIBC) | &__archive_libc_ripemd160init, | &__archive_libc_ripemd160update, | &__archive_libc_ripemd160final, | #elif defined(ARCHIVE_CRYPTO_RMD160_LIBMD) | &__archive_libmd_ripemd160init, | &__archive_libmd_ripemd160update, | &__archive_libmd_ripemd160final, | #elif defined(ARCHIVE_CRYPTO_RMD160_NETTLE) | &__archive_nettle_ripemd160init, | &__archive_nettle_ripemd160update, | &__archive_nettle_ripemd160final, | #elif defined(ARCHIVE_CRYPTO_RMD160_OPENSSL) | &__archive_openssl_ripemd160init, | &__archive_openssl_ripemd160update, | &__archive_openssl_ripemd160final, | #elif !defined(ARCHIVE_RMD160_COMPILE_TEST) | &__archive_stub_ripemd160init, | &__archive_stub_ripemd160update, | &__archive_stub_ripemd160final, | #endif | | /* SHA1 */ | #if defined(ARCHIVE_CRYPTO_SHA1_LIBC) | &__archive_libc_sha1init, | &__archive_libc_sha1update, | &__archive_libc_sha1final, | #elif defined(ARCHIVE_CRYPTO_SHA1_LIBMD) | &__archive_libmd_sha1init, | &__archive_libmd_sha1update, | &__archive_libmd_sha1final, | #elif defined(ARCHIVE_CRYPTO_SHA1_LIBSYSTEM) | &__archive_libsystem_sha1init, | &__archive_libsystem_sha1update, | &__archive_libsystem_sha1final, | #elif defined(ARCHIVE_CRYPTO_SHA1_NETTLE) | &__archive_nettle_sha1init, | &__archive_nettle_sha1update, | &__archive_nettle_sha1final, | #elif defined(ARCHIVE_CRYPTO_SHA1_OPENSSL) | &__archive_openssl_sha1init, | &__archive_openssl_sha1update, | &__archive_openssl_sha1final, | #elif defined(ARCHIVE_CRYPTO_SHA1_WIN) | &__archive_windowsapi_sha1init, | &__archive_windowsapi_sha1update, | &__archive_windowsapi_sha1final, | #elif !defined(ARCHIVE_SHA1_COMPILE_TEST) | &__archive_stub_sha1init, | &__archive_stub_sha1update, | &__archive_stub_sha1final, | #endif | | /* SHA256 */ | #if defined(ARCHIVE_CRYPTO_SHA256_LIBC) | &__archive_libc_sha256init, | &__archive_libc_sha256update, | &__archive_libc_sha256final, | #elif defined(ARCHIVE_CRYPTO_SHA256_LIBC2) | &__archive_libc2_sha256init, | &__archive_libc2_sha256update, | &__archive_libc2_sha256final, | #elif defined(ARCHIVE_CRYPTO_SHA256_LIBC3) | &__archive_libc3_sha256init, | &__archive_libc3_sha256update, | &__archive_libc3_sha256final, | #elif defined(ARCHIVE_CRYPTO_SHA256_LIBMD) | &__archive_libmd_sha256init, | &__archive_libmd_sha256update, | &__archive_libmd_sha256final, | #elif defined(ARCHIVE_CRYPTO_SHA256_LIBSYSTEM) | &__archive_libsystem_sha256init, | &__archive_libsystem_sha256update, | &__archive_libsystem_sha256final, | #elif defined(ARCHIVE_CRYPTO_SHA256_NETTLE) | &__archive_nettle_sha256init, | &__archive_nettle_sha256update, | &__archive_nettle_sha256final, | #elif defined(ARCHIVE_CRYPTO_SHA256_OPENSSL) | &__archive_openssl_sha256init, | &__archive_openssl_sha256update, | &__archive_openssl_sha256final, | #elif defined(ARCHIVE_CRYPTO_SHA256_WIN) | &__archive_windowsapi_sha256init, | &__archive_windowsapi_sha256update, | &__archive_windowsapi_sha256final, | #elif !defined(ARCHIVE_SHA256_COMPILE_TEST) | &__archive_stub_sha256init, | &__archive_stub_sha256update, | &__archive_stub_sha256final, | #endif | | /* SHA384 */ | #if defined(ARCHIVE_CRYPTO_SHA384_LIBC) | &__archive_libc_sha384init, | &__archive_libc_sha384update, | &__archive_libc_sha384final, | #elif defined(ARCHIVE_CRYPTO_SHA384_LIBC2) | &__archive_libc2_sha384init, | &__archive_libc2_sha384update, | &__archive_libc2_sha384final, | #elif defined(ARCHIVE_CRYPTO_SHA384_LIBC3) | &__archive_libc3_sha384init, | &__archive_libc3_sha384update, | &__archive_libc3_sha384final, | #elif defined(ARCHIVE_CRYPTO_SHA384_LIBSYSTEM) | &__archive_libsystem_sha384init, | &__archive_libsystem_sha384update, | &__archive_libsystem_sha384final, | #elif defined(ARCHIVE_CRYPTO_SHA384_NETTLE) | &__archive_nettle_sha384init, | &__archive_nettle_sha384update, | &__archive_nettle_sha384final, | #elif defined(ARCHIVE_CRYPTO_SHA384_OPENSSL) | &__archive_openssl_sha384init, | &__archive_openssl_sha384update, | &__archive_openssl_sha384final, | #elif defined(ARCHIVE_CRYPTO_SHA384_WIN) | &__archive_windowsapi_sha384init, | &__archive_windowsapi_sha384update, | &__archive_windowsapi_sha384final, | #elif !defined(ARCHIVE_SHA384_COMPILE_TEST) | &__archive_stub_sha384init, | &__archive_stub_sha384update, | &__archive_stub_sha384final, | #endif | | /* SHA512 */ | #if defined(ARCHIVE_CRYPTO_SHA512_LIBC) | &__archive_libc_sha512init, | &__archive_libc_sha512update, | &__archive_libc_sha512final | #elif defined(ARCHIVE_CRYPTO_SHA512_LIBC2) | &__archive_libc2_sha512init, | &__archive_libc2_sha512update, | &__archive_libc2_sha512final | #elif defined(ARCHIVE_CRYPTO_SHA512_LIBC3) | &__archive_libc3_sha512init, | &__archive_libc3_sha512update, | &__archive_libc3_sha512final | #elif defined(ARCHIVE_CRYPTO_SHA512_LIBMD) | &__archive_libmd_sha512init, | &__archive_libmd_sha512update, | &__archive_libmd_sha512final | #elif defined(ARCHIVE_CRYPTO_SHA512_LIBSYSTEM) | &__archive_libsystem_sha512init, | &__archive_libsystem_sha512update, | &__archive_libsystem_sha512final | #elif defined(ARCHIVE_CRYPTO_SHA512_NETTLE) | &__archive_nettle_sha512init, | &__archive_nettle_sha512update, | &__archive_nettle_sha512final | #elif defined(ARCHIVE_CRYPTO_SHA512_OPENSSL) | &__archive_openssl_sha512init, | &__archive_openssl_sha512update, | &__archive_openssl_sha512final | #elif defined(ARCHIVE_CRYPTO_SHA512_WIN) | &__archive_windowsapi_sha512init, | &__archive_windowsapi_sha512update, | &__archive_windowsapi_sha512final | #elif !defined(ARCHIVE_SHA512_COMPILE_TEST) | &__archive_stub_sha512init, | &__archive_stub_sha512update, | &__archive_stub_sha512final | #endif | }; | | 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; | } | configure:19498: result: no configure:19512: checking support for ARCHIVE_CRYPTO_SHA256_LIBC3 configure:19534: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -o conftest -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -I. -I. -I./libarchive -Wl,-elf2flt -static conftest.c -llzma >&5 In file included from conftest.c:219:0: ./libarchive/archive_digest_private.h:78:10: fatal error: sha2.h: No such file or directory #include ^~~~~~~~ compilation terminated. configure:19534: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "libarchive" | #define PACKAGE_TARNAME "libarchive" | #define PACKAGE_VERSION "3.4.0" | #define PACKAGE_STRING "libarchive 3.4.0" | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com" | #define PACKAGE_URL "" | #define PACKAGE "libarchive" | #define VERSION "3.4.0" | #define LIBARCHIVE_VERSION_STRING "3.4.0" | #define LIBARCHIVE_VERSION_NUMBER "3004000" | #define BSDCPIO_VERSION_STRING "3.4.0" | #define BSDTAR_VERSION_STRING "3.4.0" | #define BSDCAT_VERSION_STRING "3.4.0" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define __EXTENSIONS__ 1 | #define _ALL_SOURCE 1 | #define _GNU_SOURCE 1 | #define _POSIX_PTHREAD_SEMANTICS 1 | #define _TANDEM_SOURCE 1 | #define LT_OBJDIR ".libs/" | #define HAVE_DIRENT_H 1 | #define HAVE_SYS_WAIT_H 1 | #define HAVE_CTYPE_H 1 | #define HAVE_ERRNO_H 1 | #define HAVE_FCNTL_H 1 | #define HAVE_GRP_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_LANGINFO_H 1 | #define HAVE_LIMITS_H 1 | #define HAVE_LINUX_FIEMAP_H 1 | #define HAVE_LINUX_FS_H 1 | #define HAVE_LINUX_MAGIC_H 1 | #define HAVE_LINUX_TYPES_H 1 | #define HAVE_WORKING_FS_IOC_GETFLAGS 1 | #define HAVE_LOCALE_H 1 | #define HAVE_PATHS_H 1 | #define HAVE_POLL_H 1 | #define HAVE_PTHREAD_H 1 | #define HAVE_PWD_H 1 | #define HAVE_SIGNAL_H 1 | #define HAVE_SPAWN_H 1 | #define HAVE_STDARG_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_SYS_CDEFS_H 1 | #define HAVE_SYS_IOCTL_H 1 | #define HAVE_SYS_MOUNT_H 1 | #define HAVE_SYS_PARAM_H 1 | #define HAVE_SYS_POLL_H 1 | #define HAVE_SYS_SELECT_H 1 | #define HAVE_SYS_STATFS_H 1 | #define HAVE_SYS_STATVFS_H 1 | #define HAVE_SYS_SYSMACROS_H 1 | #define HAVE_SYS_TIME_H 1 | #define HAVE_SYS_UTSNAME_H 1 | #define HAVE_SYS_VFS_H 1 | #define HAVE_SYS_XATTR_H 1 | #define HAVE_TIME_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_UTIME_H 1 | #define HAVE_WCHAR_H 1 | #define HAVE_WCTYPE_H 1 | #define HAVE_ICONV 1 | #define ICONV_CONST | #define HAVE_ICONV_H 1 | #define HAVE_LZMA_H 1 | #define HAVE_LIBLZMA 1 | #define HAVE_LZMA_STREAM_ENCODER_MT 1 | #define HAVE_REGEX_H 1 | #define HAVE_STRUCT_TM_TM_GMTOFF 1 | #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1 | #define HAVE_STRUCT_STAT_ST_BLKSIZE 1 | #define HAVE_UINTMAX_T 1 | #define HAVE_UNSIGNED_LONG_LONG 1 | #define HAVE_UNSIGNED_LONG_LONG_INT 1 | #define HAVE_LONG_LONG_INT 1 | #define HAVE_INTMAX_T 1 | #define HAVE_UINTMAX_T 1 | #define HAVE_DECL_SIZE_MAX 1 | #define HAVE_DECL_INT32_MAX 1 | #define HAVE_DECL_INT32_MIN 1 | #define HAVE_DECL_INT64_MAX 1 | #define HAVE_DECL_INT64_MIN 1 | #define HAVE_DECL_UINT64_MAX 1 | #define HAVE_DECL_UINT32_MAX 1 | #define HAVE_DECL_INTMAX_MAX 1 | #define HAVE_DECL_INTMAX_MIN 1 | #define HAVE_DECL_UINTMAX_MAX 1 | #define HAVE_DECL_SSIZE_MAX 1 | #define HAVE_EILSEQ 1 | #define HAVE_WCHAR_T 1 | #define SIZEOF_WCHAR_T 4 | #define TIME_WITH_SYS_TIME 1 | #define HAVE_FSEEKO 1 | #define HAVE_LSTAT_EMPTY_STRING_BUG 1 | #define HAVE_STAT_EMPTY_STRING_BUG 1 | #define HAVE_DECL_STRERROR_R 1 | #define HAVE_STRERROR_R 1 | #define STRERROR_R_CHAR_P 1 | #define HAVE_STRFTIME 1 | #define HAVE_VPRINTF 1 | #define HAVE_CHOWN 1 | #define HAVE_CHROOT 1 | #define HAVE_CTIME_R 1 | #define HAVE_FCHDIR 1 | #define HAVE_FCHMOD 1 | #define HAVE_FCHOWN 1 | #define HAVE_FCNTL 1 | #define HAVE_FDOPENDIR 1 | #define HAVE_FSTAT 1 | #define HAVE_FSTATAT 1 | #define HAVE_FSTATFS 1 | #define HAVE_FSTATVFS 1 | #define HAVE_FTRUNCATE 1 | #define HAVE_FUTIMENS 1 | #define HAVE_FUTIMESAT 1 | #define HAVE_GETEUID 1 | #define HAVE_GETPID 1 | #define HAVE_GETGRGID_R 1 | #define HAVE_GETGRNAM_R 1 | #define HAVE_GETPWNAM_R 1 | #define HAVE_GETPWUID_R 1 | #define HAVE_GMTIME_R 1 | #define HAVE_LCHOWN 1 | #define HAVE_LINK 1 | #define HAVE_LOCALTIME_R 1 | #define HAVE_LSTAT 1 | #define HAVE_LUTIMES 1 | #define HAVE_MBRTOWC 1 | #define HAVE_MEMMOVE 1 | #define HAVE_MEMSET 1 | #define HAVE_MKDIR 1 | #define HAVE_MKFIFO 1 | #define HAVE_MKNOD 1 | #define HAVE_MKSTEMP 1 | #define HAVE_NL_LANGINFO 1 | #define HAVE_OPENAT 1 | #define HAVE_PIPE 1 | #define HAVE_POLL 1 | #define HAVE_POSIX_SPAWNP 1 | #define HAVE_READLINK 1 | #define HAVE_READLINKAT 1 | #define HAVE_SELECT 1 | #define HAVE_SETENV 1 | #define HAVE_SETLOCALE 1 | #define HAVE_SIGACTION 1 | #define HAVE_STATFS 1 | #define HAVE_STATVFS 1 | #define HAVE_STRCHR 1 | #define HAVE_STRDUP 1 | #define HAVE_STRERROR 1 | #define HAVE_STRRCHR 1 | #define HAVE_SYMLINK 1 | #define HAVE_TIMEGM 1 | #define HAVE_TZSET 1 | #define HAVE_UNLINKAT 1 | #define HAVE_UNSETENV 1 | #define HAVE_UTIME 1 | #define HAVE_UTIMENSAT 1 | #define HAVE_UTIMES 1 | #define HAVE_VFORK 1 | #define HAVE_WCRTOMB 1 | #define HAVE_WCSCMP 1 | #define HAVE_WCSCPY 1 | #define HAVE_WCSLEN 1 | #define HAVE_WCTOMB 1 | #define HAVE_WMEMCMP 1 | #define HAVE_WMEMCPY 1 | #define HAVE_WMEMMOVE 1 | #define HAVE_READDIR_R 1 | #define HAVE_DIRFD 1 | /* end confdefs.h. */ | | #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_libc_md5init(archive_md5_ctx *ctx) | { | MD5Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc_md5update(archive_md5_ctx *ctx, const void *indata, | size_t insize) | { | MD5Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc_md5final(archive_md5_ctx *ctx, void *md) | { | MD5Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_MD5_LIBMD) | | static int | __archive_libmd_md5init(archive_md5_ctx *ctx) | { | MD5Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_md5update(archive_md5_ctx *ctx, const void *indata, | size_t insize) | { | MD5Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_md5final(archive_md5_ctx *ctx, void *md) | { | MD5Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_MD5_LIBSYSTEM) | | static int | __archive_libsystem_md5init(archive_md5_ctx *ctx) | { | CC_MD5_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_md5update(archive_md5_ctx *ctx, const void *indata, | size_t insize) | { | CC_MD5_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_md5final(archive_md5_ctx *ctx, void *md) | { | CC_MD5_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_MD5_NETTLE) | | static int | __archive_nettle_md5init(archive_md5_ctx *ctx) | { | md5_init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_md5update(archive_md5_ctx *ctx, const void *indata, | size_t insize) | { | md5_update(ctx, insize, indata); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_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_openssl_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_openssl_md5update(archive_md5_ctx *ctx, const void *indata, | size_t insize) | { | EVP_DigestUpdate(*ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_openssl_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_windowsapi_md5init(archive_md5_ctx *ctx) | { | return (win_crypto_init(ctx, CALG_MD5)); | } | | static int | __archive_windowsapi_md5update(archive_md5_ctx *ctx, const void *indata, | size_t insize) | { | return (win_crypto_Update(ctx, indata, insize)); | } | | static int | __archive_windowsapi_md5final(archive_md5_ctx *ctx, void *md) | { | return (win_crypto_Final(md, 16, ctx)); | } | | #else | | static int | __archive_stub_md5init(archive_md5_ctx *ctx) | { | (void)ctx; /* UNUSED */ | return (ARCHIVE_FAILED); | } | | static int | __archive_stub_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_stub_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_libc_ripemd160init(archive_rmd160_ctx *ctx) | { | RMD160Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, | size_t insize) | { | RMD160Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc_ripemd160final(archive_rmd160_ctx *ctx, void *md) | { | RMD160Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_RMD160_LIBMD) | | static int | __archive_libmd_ripemd160init(archive_rmd160_ctx *ctx) | { | RIPEMD160_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, | size_t insize) | { | RIPEMD160_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_ripemd160final(archive_rmd160_ctx *ctx, void *md) | { | RIPEMD160_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_RMD160_NETTLE) | | static int | __archive_nettle_ripemd160init(archive_rmd160_ctx *ctx) | { | ripemd160_init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, | size_t insize) | { | ripemd160_update(ctx, insize, indata); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_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_openssl_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_openssl_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, | size_t insize) | { | EVP_DigestUpdate(*ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_openssl_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_stub_ripemd160init(archive_rmd160_ctx *ctx) | { | (void)ctx; /* UNUSED */ | return (ARCHIVE_FAILED); | } | | static int | __archive_stub_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_stub_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_libc_sha1init(archive_sha1_ctx *ctx) | { | SHA1Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc_sha1update(archive_sha1_ctx *ctx, const void *indata, | size_t insize) | { | SHA1Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc_sha1final(archive_sha1_ctx *ctx, void *md) | { | SHA1Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA1_LIBMD) | | static int | __archive_libmd_sha1init(archive_sha1_ctx *ctx) | { | SHA1_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_sha1update(archive_sha1_ctx *ctx, const void *indata, | size_t insize) | { | SHA1_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_sha1final(archive_sha1_ctx *ctx, void *md) | { | SHA1_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA1_LIBSYSTEM) | | static int | __archive_libsystem_sha1init(archive_sha1_ctx *ctx) | { | CC_SHA1_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_sha1update(archive_sha1_ctx *ctx, const void *indata, | size_t insize) | { | CC_SHA1_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_sha1final(archive_sha1_ctx *ctx, void *md) | { | CC_SHA1_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA1_NETTLE) | | static int | __archive_nettle_sha1init(archive_sha1_ctx *ctx) | { | sha1_init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_sha1update(archive_sha1_ctx *ctx, const void *indata, | size_t insize) | { | sha1_update(ctx, insize, indata); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_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_openssl_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_openssl_sha1update(archive_sha1_ctx *ctx, const void *indata, | size_t insize) | { | EVP_DigestUpdate(*ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_openssl_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_windowsapi_sha1init(archive_sha1_ctx *ctx) | { | return (win_crypto_init(ctx, CALG_SHA1)); | } | | static int | __archive_windowsapi_sha1update(archive_sha1_ctx *ctx, const void *indata, | size_t insize) | { | return (win_crypto_Update(ctx, indata, insize)); | } | | static int | __archive_windowsapi_sha1final(archive_sha1_ctx *ctx, void *md) | { | return (win_crypto_Final(md, 20, ctx)); | } | | #else | | static int | __archive_stub_sha1init(archive_sha1_ctx *ctx) | { | (void)ctx; /* UNUSED */ | return (ARCHIVE_FAILED); | } | | static int | __archive_stub_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_stub_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_libc_sha256init(archive_sha256_ctx *ctx) | { | SHA256_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc_sha256update(archive_sha256_ctx *ctx, const void *indata, | size_t insize) | { | SHA256_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc_sha256final(archive_sha256_ctx *ctx, void *md) | { | SHA256_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA256_LIBC2) | | static int | __archive_libc2_sha256init(archive_sha256_ctx *ctx) | { | SHA256Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc2_sha256update(archive_sha256_ctx *ctx, const void *indata, | size_t insize) | { | SHA256Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc2_sha256final(archive_sha256_ctx *ctx, void *md) | { | SHA256Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA256_LIBC3) | | static int | __archive_libc3_sha256init(archive_sha256_ctx *ctx) | { | SHA256Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc3_sha256update(archive_sha256_ctx *ctx, const void *indata, | size_t insize) | { | SHA256Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc3_sha256final(archive_sha256_ctx *ctx, void *md) | { | SHA256Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA256_LIBMD) | | static int | __archive_libmd_sha256init(archive_sha256_ctx *ctx) | { | SHA256_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_sha256update(archive_sha256_ctx *ctx, const void *indata, | size_t insize) | { | SHA256_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_sha256final(archive_sha256_ctx *ctx, void *md) | { | SHA256_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA256_LIBSYSTEM) | | static int | __archive_libsystem_sha256init(archive_sha256_ctx *ctx) | { | CC_SHA256_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_sha256update(archive_sha256_ctx *ctx, const void *indata, | size_t insize) | { | CC_SHA256_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_sha256final(archive_sha256_ctx *ctx, void *md) | { | CC_SHA256_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA256_NETTLE) | | static int | __archive_nettle_sha256init(archive_sha256_ctx *ctx) | { | sha256_init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_sha256update(archive_sha256_ctx *ctx, const void *indata, | size_t insize) | { | sha256_update(ctx, insize, indata); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_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_openssl_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_openssl_sha256update(archive_sha256_ctx *ctx, const void *indata, | size_t insize) | { | EVP_DigestUpdate(*ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_openssl_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_windowsapi_sha256init(archive_sha256_ctx *ctx) | { | return (win_crypto_init(ctx, CALG_SHA_256)); | } | | static int | __archive_windowsapi_sha256update(archive_sha256_ctx *ctx, const void *indata, | size_t insize) | { | return (win_crypto_Update(ctx, indata, insize)); | } | | static int | __archive_windowsapi_sha256final(archive_sha256_ctx *ctx, void *md) | { | return (win_crypto_Final(md, 32, ctx)); | } | | #else | | static int | __archive_stub_sha256init(archive_sha256_ctx *ctx) | { | (void)ctx; /* UNUSED */ | return (ARCHIVE_FAILED); | } | | static int | __archive_stub_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_stub_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_libc_sha384init(archive_sha384_ctx *ctx) | { | SHA384_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc_sha384update(archive_sha384_ctx *ctx, const void *indata, | size_t insize) | { | SHA384_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc_sha384final(archive_sha384_ctx *ctx, void *md) | { | SHA384_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA384_LIBC2) | | static int | __archive_libc2_sha384init(archive_sha384_ctx *ctx) | { | SHA384Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc2_sha384update(archive_sha384_ctx *ctx, const void *indata, | size_t insize) | { | SHA384Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc2_sha384final(archive_sha384_ctx *ctx, void *md) | { | SHA384Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA384_LIBC3) | | static int | __archive_libc3_sha384init(archive_sha384_ctx *ctx) | { | SHA384Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc3_sha384update(archive_sha384_ctx *ctx, const void *indata, | size_t insize) | { | SHA384Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc3_sha384final(archive_sha384_ctx *ctx, void *md) | { | SHA384Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA384_LIBSYSTEM) | | static int | __archive_libsystem_sha384init(archive_sha384_ctx *ctx) | { | CC_SHA384_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_sha384update(archive_sha384_ctx *ctx, const void *indata, | size_t insize) | { | CC_SHA384_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_sha384final(archive_sha384_ctx *ctx, void *md) | { | CC_SHA384_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA384_NETTLE) | | static int | __archive_nettle_sha384init(archive_sha384_ctx *ctx) | { | sha384_init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_sha384update(archive_sha384_ctx *ctx, const void *indata, | size_t insize) | { | sha384_update(ctx, insize, indata); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_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_openssl_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_openssl_sha384update(archive_sha384_ctx *ctx, const void *indata, | size_t insize) | { | EVP_DigestUpdate(*ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_openssl_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_windowsapi_sha384init(archive_sha384_ctx *ctx) | { | return (win_crypto_init(ctx, CALG_SHA_384)); | } | | static int | __archive_windowsapi_sha384update(archive_sha384_ctx *ctx, const void *indata, | size_t insize) | { | return (win_crypto_Update(ctx, indata, insize)); | } | | static int | __archive_windowsapi_sha384final(archive_sha384_ctx *ctx, void *md) | { | return (win_crypto_Final(md, 48, ctx)); | } | | #else | | static int | __archive_stub_sha384init(archive_sha384_ctx *ctx) | { | (void)ctx; /* UNUSED */ | return (ARCHIVE_FAILED); | } | | static int | __archive_stub_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_stub_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_libc_sha512init(archive_sha512_ctx *ctx) | { | SHA512_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc_sha512update(archive_sha512_ctx *ctx, const void *indata, | size_t insize) | { | SHA512_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc_sha512final(archive_sha512_ctx *ctx, void *md) | { | SHA512_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA512_LIBC2) | | static int | __archive_libc2_sha512init(archive_sha512_ctx *ctx) | { | SHA512Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc2_sha512update(archive_sha512_ctx *ctx, const void *indata, | size_t insize) | { | SHA512Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc2_sha512final(archive_sha512_ctx *ctx, void *md) | { | SHA512Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA512_LIBC3) | | static int | __archive_libc3_sha512init(archive_sha512_ctx *ctx) | { | SHA512Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc3_sha512update(archive_sha512_ctx *ctx, const void *indata, | size_t insize) | { | SHA512Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc3_sha512final(archive_sha512_ctx *ctx, void *md) | { | SHA512Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA512_LIBMD) | | static int | __archive_libmd_sha512init(archive_sha512_ctx *ctx) | { | SHA512_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_sha512update(archive_sha512_ctx *ctx, const void *indata, | size_t insize) | { | SHA512_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_sha512final(archive_sha512_ctx *ctx, void *md) | { | SHA512_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA512_LIBSYSTEM) | | static int | __archive_libsystem_sha512init(archive_sha512_ctx *ctx) | { | CC_SHA512_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_sha512update(archive_sha512_ctx *ctx, const void *indata, | size_t insize) | { | CC_SHA512_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_sha512final(archive_sha512_ctx *ctx, void *md) | { | CC_SHA512_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA512_NETTLE) | | static int | __archive_nettle_sha512init(archive_sha512_ctx *ctx) | { | sha512_init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_sha512update(archive_sha512_ctx *ctx, const void *indata, | size_t insize) | { | sha512_update(ctx, insize, indata); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_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_openssl_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_openssl_sha512update(archive_sha512_ctx *ctx, const void *indata, | size_t insize) | { | EVP_DigestUpdate(*ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_openssl_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_windowsapi_sha512init(archive_sha512_ctx *ctx) | { | return (win_crypto_init(ctx, CALG_SHA_512)); | } | | static int | __archive_windowsapi_sha512update(archive_sha512_ctx *ctx, const void *indata, | size_t insize) | { | return (win_crypto_Update(ctx, indata, insize)); | } | | static int | __archive_windowsapi_sha512final(archive_sha512_ctx *ctx, void *md) | { | return (win_crypto_Final(md, 64, ctx)); | } | | #else | | static int | __archive_stub_sha512init(archive_sha512_ctx *ctx) | { | (void)ctx; /* UNUSED */ | return (ARCHIVE_FAILED); | } | | static int | __archive_stub_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_stub_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 */ | #if defined(ARCHIVE_CRYPTO_MD5_LIBC) | &__archive_libc_md5init, | &__archive_libc_md5update, | &__archive_libc_md5final, | #elif defined(ARCHIVE_CRYPTO_MD5_LIBMD) | &__archive_libmd_md5init, | &__archive_libmd_md5update, | &__archive_libmd_md5final, | #elif defined(ARCHIVE_CRYPTO_MD5_LIBSYSTEM) | &__archive_libsystem_md5init, | &__archive_libsystem_md5update, | &__archive_libsystem_md5final, | #elif defined(ARCHIVE_CRYPTO_MD5_NETTLE) | &__archive_nettle_md5init, | &__archive_nettle_md5update, | &__archive_nettle_md5final, | #elif defined(ARCHIVE_CRYPTO_MD5_OPENSSL) | &__archive_openssl_md5init, | &__archive_openssl_md5update, | &__archive_openssl_md5final, | #elif defined(ARCHIVE_CRYPTO_MD5_WIN) | &__archive_windowsapi_md5init, | &__archive_windowsapi_md5update, | &__archive_windowsapi_md5final, | #elif !defined(ARCHIVE_MD5_COMPILE_TEST) | &__archive_stub_md5init, | &__archive_stub_md5update, | &__archive_stub_md5final, | #endif | | /* RIPEMD160 */ | #if defined(ARCHIVE_CRYPTO_RMD160_LIBC) | &__archive_libc_ripemd160init, | &__archive_libc_ripemd160update, | &__archive_libc_ripemd160final, | #elif defined(ARCHIVE_CRYPTO_RMD160_LIBMD) | &__archive_libmd_ripemd160init, | &__archive_libmd_ripemd160update, | &__archive_libmd_ripemd160final, | #elif defined(ARCHIVE_CRYPTO_RMD160_NETTLE) | &__archive_nettle_ripemd160init, | &__archive_nettle_ripemd160update, | &__archive_nettle_ripemd160final, | #elif defined(ARCHIVE_CRYPTO_RMD160_OPENSSL) | &__archive_openssl_ripemd160init, | &__archive_openssl_ripemd160update, | &__archive_openssl_ripemd160final, | #elif !defined(ARCHIVE_RMD160_COMPILE_TEST) | &__archive_stub_ripemd160init, | &__archive_stub_ripemd160update, | &__archive_stub_ripemd160final, | #endif | | /* SHA1 */ | #if defined(ARCHIVE_CRYPTO_SHA1_LIBC) | &__archive_libc_sha1init, | &__archive_libc_sha1update, | &__archive_libc_sha1final, | #elif defined(ARCHIVE_CRYPTO_SHA1_LIBMD) | &__archive_libmd_sha1init, | &__archive_libmd_sha1update, | &__archive_libmd_sha1final, | #elif defined(ARCHIVE_CRYPTO_SHA1_LIBSYSTEM) | &__archive_libsystem_sha1init, | &__archive_libsystem_sha1update, | &__archive_libsystem_sha1final, | #elif defined(ARCHIVE_CRYPTO_SHA1_NETTLE) | &__archive_nettle_sha1init, | &__archive_nettle_sha1update, | &__archive_nettle_sha1final, | #elif defined(ARCHIVE_CRYPTO_SHA1_OPENSSL) | &__archive_openssl_sha1init, | &__archive_openssl_sha1update, | &__archive_openssl_sha1final, | #elif defined(ARCHIVE_CRYPTO_SHA1_WIN) | &__archive_windowsapi_sha1init, | &__archive_windowsapi_sha1update, | &__archive_windowsapi_sha1final, | #elif !defined(ARCHIVE_SHA1_COMPILE_TEST) | &__archive_stub_sha1init, | &__archive_stub_sha1update, | &__archive_stub_sha1final, | #endif | | /* SHA256 */ | #if defined(ARCHIVE_CRYPTO_SHA256_LIBC) | &__archive_libc_sha256init, | &__archive_libc_sha256update, | &__archive_libc_sha256final, | #elif defined(ARCHIVE_CRYPTO_SHA256_LIBC2) | &__archive_libc2_sha256init, | &__archive_libc2_sha256update, | &__archive_libc2_sha256final, | #elif defined(ARCHIVE_CRYPTO_SHA256_LIBC3) | &__archive_libc3_sha256init, | &__archive_libc3_sha256update, | &__archive_libc3_sha256final, | #elif defined(ARCHIVE_CRYPTO_SHA256_LIBMD) | &__archive_libmd_sha256init, | &__archive_libmd_sha256update, | &__archive_libmd_sha256final, | #elif defined(ARCHIVE_CRYPTO_SHA256_LIBSYSTEM) | &__archive_libsystem_sha256init, | &__archive_libsystem_sha256update, | &__archive_libsystem_sha256final, | #elif defined(ARCHIVE_CRYPTO_SHA256_NETTLE) | &__archive_nettle_sha256init, | &__archive_nettle_sha256update, | &__archive_nettle_sha256final, | #elif defined(ARCHIVE_CRYPTO_SHA256_OPENSSL) | &__archive_openssl_sha256init, | &__archive_openssl_sha256update, | &__archive_openssl_sha256final, | #elif defined(ARCHIVE_CRYPTO_SHA256_WIN) | &__archive_windowsapi_sha256init, | &__archive_windowsapi_sha256update, | &__archive_windowsapi_sha256final, | #elif !defined(ARCHIVE_SHA256_COMPILE_TEST) | &__archive_stub_sha256init, | &__archive_stub_sha256update, | &__archive_stub_sha256final, | #endif | | /* SHA384 */ | #if defined(ARCHIVE_CRYPTO_SHA384_LIBC) | &__archive_libc_sha384init, | &__archive_libc_sha384update, | &__archive_libc_sha384final, | #elif defined(ARCHIVE_CRYPTO_SHA384_LIBC2) | &__archive_libc2_sha384init, | &__archive_libc2_sha384update, | &__archive_libc2_sha384final, | #elif defined(ARCHIVE_CRYPTO_SHA384_LIBC3) | &__archive_libc3_sha384init, | &__archive_libc3_sha384update, | &__archive_libc3_sha384final, | #elif defined(ARCHIVE_CRYPTO_SHA384_LIBSYSTEM) | &__archive_libsystem_sha384init, | &__archive_libsystem_sha384update, | &__archive_libsystem_sha384final, | #elif defined(ARCHIVE_CRYPTO_SHA384_NETTLE) | &__archive_nettle_sha384init, | &__archive_nettle_sha384update, | &__archive_nettle_sha384final, | #elif defined(ARCHIVE_CRYPTO_SHA384_OPENSSL) | &__archive_openssl_sha384init, | &__archive_openssl_sha384update, | &__archive_openssl_sha384final, | #elif defined(ARCHIVE_CRYPTO_SHA384_WIN) | &__archive_windowsapi_sha384init, | &__archive_windowsapi_sha384update, | &__archive_windowsapi_sha384final, | #elif !defined(ARCHIVE_SHA384_COMPILE_TEST) | &__archive_stub_sha384init, | &__archive_stub_sha384update, | &__archive_stub_sha384final, | #endif | | /* SHA512 */ | #if defined(ARCHIVE_CRYPTO_SHA512_LIBC) | &__archive_libc_sha512init, | &__archive_libc_sha512update, | &__archive_libc_sha512final | #elif defined(ARCHIVE_CRYPTO_SHA512_LIBC2) | &__archive_libc2_sha512init, | &__archive_libc2_sha512update, | &__archive_libc2_sha512final | #elif defined(ARCHIVE_CRYPTO_SHA512_LIBC3) | &__archive_libc3_sha512init, | &__archive_libc3_sha512update, | &__archive_libc3_sha512final | #elif defined(ARCHIVE_CRYPTO_SHA512_LIBMD) | &__archive_libmd_sha512init, | &__archive_libmd_sha512update, | &__archive_libmd_sha512final | #elif defined(ARCHIVE_CRYPTO_SHA512_LIBSYSTEM) | &__archive_libsystem_sha512init, | &__archive_libsystem_sha512update, | &__archive_libsystem_sha512final | #elif defined(ARCHIVE_CRYPTO_SHA512_NETTLE) | &__archive_nettle_sha512init, | &__archive_nettle_sha512update, | &__archive_nettle_sha512final | #elif defined(ARCHIVE_CRYPTO_SHA512_OPENSSL) | &__archive_openssl_sha512init, | &__archive_openssl_sha512update, | &__archive_openssl_sha512final | #elif defined(ARCHIVE_CRYPTO_SHA512_WIN) | &__archive_windowsapi_sha512init, | &__archive_windowsapi_sha512update, | &__archive_windowsapi_sha512final | #elif !defined(ARCHIVE_SHA512_COMPILE_TEST) | &__archive_stub_sha512init, | &__archive_stub_sha512update, | &__archive_stub_sha512final | #endif | }; | | 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; | } | configure:19544: result: no configure:19558: checking support for ARCHIVE_CRYPTO_SHA256_LIBSYSTEM configure:19580: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -o conftest -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -I. -I. -I./libarchive -Wl,-elf2flt -static conftest.c -llzma >&5 In file included from conftest.c:219:0: ./libarchive/archive_digest_private.h:112:10: fatal error: CommonCrypto/CommonDigest.h: No such file or directory #include ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ compilation terminated. configure:19580: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "libarchive" | #define PACKAGE_TARNAME "libarchive" | #define PACKAGE_VERSION "3.4.0" | #define PACKAGE_STRING "libarchive 3.4.0" | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com" | #define PACKAGE_URL "" | #define PACKAGE "libarchive" | #define VERSION "3.4.0" | #define LIBARCHIVE_VERSION_STRING "3.4.0" | #define LIBARCHIVE_VERSION_NUMBER "3004000" | #define BSDCPIO_VERSION_STRING "3.4.0" | #define BSDTAR_VERSION_STRING "3.4.0" | #define BSDCAT_VERSION_STRING "3.4.0" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define __EXTENSIONS__ 1 | #define _ALL_SOURCE 1 | #define _GNU_SOURCE 1 | #define _POSIX_PTHREAD_SEMANTICS 1 | #define _TANDEM_SOURCE 1 | #define LT_OBJDIR ".libs/" | #define HAVE_DIRENT_H 1 | #define HAVE_SYS_WAIT_H 1 | #define HAVE_CTYPE_H 1 | #define HAVE_ERRNO_H 1 | #define HAVE_FCNTL_H 1 | #define HAVE_GRP_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_LANGINFO_H 1 | #define HAVE_LIMITS_H 1 | #define HAVE_LINUX_FIEMAP_H 1 | #define HAVE_LINUX_FS_H 1 | #define HAVE_LINUX_MAGIC_H 1 | #define HAVE_LINUX_TYPES_H 1 | #define HAVE_WORKING_FS_IOC_GETFLAGS 1 | #define HAVE_LOCALE_H 1 | #define HAVE_PATHS_H 1 | #define HAVE_POLL_H 1 | #define HAVE_PTHREAD_H 1 | #define HAVE_PWD_H 1 | #define HAVE_SIGNAL_H 1 | #define HAVE_SPAWN_H 1 | #define HAVE_STDARG_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_SYS_CDEFS_H 1 | #define HAVE_SYS_IOCTL_H 1 | #define HAVE_SYS_MOUNT_H 1 | #define HAVE_SYS_PARAM_H 1 | #define HAVE_SYS_POLL_H 1 | #define HAVE_SYS_SELECT_H 1 | #define HAVE_SYS_STATFS_H 1 | #define HAVE_SYS_STATVFS_H 1 | #define HAVE_SYS_SYSMACROS_H 1 | #define HAVE_SYS_TIME_H 1 | #define HAVE_SYS_UTSNAME_H 1 | #define HAVE_SYS_VFS_H 1 | #define HAVE_SYS_XATTR_H 1 | #define HAVE_TIME_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_UTIME_H 1 | #define HAVE_WCHAR_H 1 | #define HAVE_WCTYPE_H 1 | #define HAVE_ICONV 1 | #define ICONV_CONST | #define HAVE_ICONV_H 1 | #define HAVE_LZMA_H 1 | #define HAVE_LIBLZMA 1 | #define HAVE_LZMA_STREAM_ENCODER_MT 1 | #define HAVE_REGEX_H 1 | #define HAVE_STRUCT_TM_TM_GMTOFF 1 | #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1 | #define HAVE_STRUCT_STAT_ST_BLKSIZE 1 | #define HAVE_UINTMAX_T 1 | #define HAVE_UNSIGNED_LONG_LONG 1 | #define HAVE_UNSIGNED_LONG_LONG_INT 1 | #define HAVE_LONG_LONG_INT 1 | #define HAVE_INTMAX_T 1 | #define HAVE_UINTMAX_T 1 | #define HAVE_DECL_SIZE_MAX 1 | #define HAVE_DECL_INT32_MAX 1 | #define HAVE_DECL_INT32_MIN 1 | #define HAVE_DECL_INT64_MAX 1 | #define HAVE_DECL_INT64_MIN 1 | #define HAVE_DECL_UINT64_MAX 1 | #define HAVE_DECL_UINT32_MAX 1 | #define HAVE_DECL_INTMAX_MAX 1 | #define HAVE_DECL_INTMAX_MIN 1 | #define HAVE_DECL_UINTMAX_MAX 1 | #define HAVE_DECL_SSIZE_MAX 1 | #define HAVE_EILSEQ 1 | #define HAVE_WCHAR_T 1 | #define SIZEOF_WCHAR_T 4 | #define TIME_WITH_SYS_TIME 1 | #define HAVE_FSEEKO 1 | #define HAVE_LSTAT_EMPTY_STRING_BUG 1 | #define HAVE_STAT_EMPTY_STRING_BUG 1 | #define HAVE_DECL_STRERROR_R 1 | #define HAVE_STRERROR_R 1 | #define STRERROR_R_CHAR_P 1 | #define HAVE_STRFTIME 1 | #define HAVE_VPRINTF 1 | #define HAVE_CHOWN 1 | #define HAVE_CHROOT 1 | #define HAVE_CTIME_R 1 | #define HAVE_FCHDIR 1 | #define HAVE_FCHMOD 1 | #define HAVE_FCHOWN 1 | #define HAVE_FCNTL 1 | #define HAVE_FDOPENDIR 1 | #define HAVE_FSTAT 1 | #define HAVE_FSTATAT 1 | #define HAVE_FSTATFS 1 | #define HAVE_FSTATVFS 1 | #define HAVE_FTRUNCATE 1 | #define HAVE_FUTIMENS 1 | #define HAVE_FUTIMESAT 1 | #define HAVE_GETEUID 1 | #define HAVE_GETPID 1 | #define HAVE_GETGRGID_R 1 | #define HAVE_GETGRNAM_R 1 | #define HAVE_GETPWNAM_R 1 | #define HAVE_GETPWUID_R 1 | #define HAVE_GMTIME_R 1 | #define HAVE_LCHOWN 1 | #define HAVE_LINK 1 | #define HAVE_LOCALTIME_R 1 | #define HAVE_LSTAT 1 | #define HAVE_LUTIMES 1 | #define HAVE_MBRTOWC 1 | #define HAVE_MEMMOVE 1 | #define HAVE_MEMSET 1 | #define HAVE_MKDIR 1 | #define HAVE_MKFIFO 1 | #define HAVE_MKNOD 1 | #define HAVE_MKSTEMP 1 | #define HAVE_NL_LANGINFO 1 | #define HAVE_OPENAT 1 | #define HAVE_PIPE 1 | #define HAVE_POLL 1 | #define HAVE_POSIX_SPAWNP 1 | #define HAVE_READLINK 1 | #define HAVE_READLINKAT 1 | #define HAVE_SELECT 1 | #define HAVE_SETENV 1 | #define HAVE_SETLOCALE 1 | #define HAVE_SIGACTION 1 | #define HAVE_STATFS 1 | #define HAVE_STATVFS 1 | #define HAVE_STRCHR 1 | #define HAVE_STRDUP 1 | #define HAVE_STRERROR 1 | #define HAVE_STRRCHR 1 | #define HAVE_SYMLINK 1 | #define HAVE_TIMEGM 1 | #define HAVE_TZSET 1 | #define HAVE_UNLINKAT 1 | #define HAVE_UNSETENV 1 | #define HAVE_UTIME 1 | #define HAVE_UTIMENSAT 1 | #define HAVE_UTIMES 1 | #define HAVE_VFORK 1 | #define HAVE_WCRTOMB 1 | #define HAVE_WCSCMP 1 | #define HAVE_WCSCPY 1 | #define HAVE_WCSLEN 1 | #define HAVE_WCTOMB 1 | #define HAVE_WMEMCMP 1 | #define HAVE_WMEMCPY 1 | #define HAVE_WMEMMOVE 1 | #define HAVE_READDIR_R 1 | #define HAVE_DIRFD 1 | /* end confdefs.h. */ | | #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_libc_md5init(archive_md5_ctx *ctx) | { | MD5Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc_md5update(archive_md5_ctx *ctx, const void *indata, | size_t insize) | { | MD5Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc_md5final(archive_md5_ctx *ctx, void *md) | { | MD5Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_MD5_LIBMD) | | static int | __archive_libmd_md5init(archive_md5_ctx *ctx) | { | MD5Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_md5update(archive_md5_ctx *ctx, const void *indata, | size_t insize) | { | MD5Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_md5final(archive_md5_ctx *ctx, void *md) | { | MD5Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_MD5_LIBSYSTEM) | | static int | __archive_libsystem_md5init(archive_md5_ctx *ctx) | { | CC_MD5_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_md5update(archive_md5_ctx *ctx, const void *indata, | size_t insize) | { | CC_MD5_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_md5final(archive_md5_ctx *ctx, void *md) | { | CC_MD5_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_MD5_NETTLE) | | static int | __archive_nettle_md5init(archive_md5_ctx *ctx) | { | md5_init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_md5update(archive_md5_ctx *ctx, const void *indata, | size_t insize) | { | md5_update(ctx, insize, indata); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_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_openssl_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_openssl_md5update(archive_md5_ctx *ctx, const void *indata, | size_t insize) | { | EVP_DigestUpdate(*ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_openssl_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_windowsapi_md5init(archive_md5_ctx *ctx) | { | return (win_crypto_init(ctx, CALG_MD5)); | } | | static int | __archive_windowsapi_md5update(archive_md5_ctx *ctx, const void *indata, | size_t insize) | { | return (win_crypto_Update(ctx, indata, insize)); | } | | static int | __archive_windowsapi_md5final(archive_md5_ctx *ctx, void *md) | { | return (win_crypto_Final(md, 16, ctx)); | } | | #else | | static int | __archive_stub_md5init(archive_md5_ctx *ctx) | { | (void)ctx; /* UNUSED */ | return (ARCHIVE_FAILED); | } | | static int | __archive_stub_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_stub_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_libc_ripemd160init(archive_rmd160_ctx *ctx) | { | RMD160Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, | size_t insize) | { | RMD160Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc_ripemd160final(archive_rmd160_ctx *ctx, void *md) | { | RMD160Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_RMD160_LIBMD) | | static int | __archive_libmd_ripemd160init(archive_rmd160_ctx *ctx) | { | RIPEMD160_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, | size_t insize) | { | RIPEMD160_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_ripemd160final(archive_rmd160_ctx *ctx, void *md) | { | RIPEMD160_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_RMD160_NETTLE) | | static int | __archive_nettle_ripemd160init(archive_rmd160_ctx *ctx) | { | ripemd160_init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, | size_t insize) | { | ripemd160_update(ctx, insize, indata); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_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_openssl_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_openssl_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, | size_t insize) | { | EVP_DigestUpdate(*ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_openssl_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_stub_ripemd160init(archive_rmd160_ctx *ctx) | { | (void)ctx; /* UNUSED */ | return (ARCHIVE_FAILED); | } | | static int | __archive_stub_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_stub_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_libc_sha1init(archive_sha1_ctx *ctx) | { | SHA1Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc_sha1update(archive_sha1_ctx *ctx, const void *indata, | size_t insize) | { | SHA1Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc_sha1final(archive_sha1_ctx *ctx, void *md) | { | SHA1Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA1_LIBMD) | | static int | __archive_libmd_sha1init(archive_sha1_ctx *ctx) | { | SHA1_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_sha1update(archive_sha1_ctx *ctx, const void *indata, | size_t insize) | { | SHA1_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_sha1final(archive_sha1_ctx *ctx, void *md) | { | SHA1_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA1_LIBSYSTEM) | | static int | __archive_libsystem_sha1init(archive_sha1_ctx *ctx) | { | CC_SHA1_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_sha1update(archive_sha1_ctx *ctx, const void *indata, | size_t insize) | { | CC_SHA1_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_sha1final(archive_sha1_ctx *ctx, void *md) | { | CC_SHA1_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA1_NETTLE) | | static int | __archive_nettle_sha1init(archive_sha1_ctx *ctx) | { | sha1_init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_sha1update(archive_sha1_ctx *ctx, const void *indata, | size_t insize) | { | sha1_update(ctx, insize, indata); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_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_openssl_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_openssl_sha1update(archive_sha1_ctx *ctx, const void *indata, | size_t insize) | { | EVP_DigestUpdate(*ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_openssl_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_windowsapi_sha1init(archive_sha1_ctx *ctx) | { | return (win_crypto_init(ctx, CALG_SHA1)); | } | | static int | __archive_windowsapi_sha1update(archive_sha1_ctx *ctx, const void *indata, | size_t insize) | { | return (win_crypto_Update(ctx, indata, insize)); | } | | static int | __archive_windowsapi_sha1final(archive_sha1_ctx *ctx, void *md) | { | return (win_crypto_Final(md, 20, ctx)); | } | | #else | | static int | __archive_stub_sha1init(archive_sha1_ctx *ctx) | { | (void)ctx; /* UNUSED */ | return (ARCHIVE_FAILED); | } | | static int | __archive_stub_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_stub_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_libc_sha256init(archive_sha256_ctx *ctx) | { | SHA256_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc_sha256update(archive_sha256_ctx *ctx, const void *indata, | size_t insize) | { | SHA256_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc_sha256final(archive_sha256_ctx *ctx, void *md) | { | SHA256_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA256_LIBC2) | | static int | __archive_libc2_sha256init(archive_sha256_ctx *ctx) | { | SHA256Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc2_sha256update(archive_sha256_ctx *ctx, const void *indata, | size_t insize) | { | SHA256Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc2_sha256final(archive_sha256_ctx *ctx, void *md) | { | SHA256Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA256_LIBC3) | | static int | __archive_libc3_sha256init(archive_sha256_ctx *ctx) | { | SHA256Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc3_sha256update(archive_sha256_ctx *ctx, const void *indata, | size_t insize) | { | SHA256Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc3_sha256final(archive_sha256_ctx *ctx, void *md) | { | SHA256Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA256_LIBMD) | | static int | __archive_libmd_sha256init(archive_sha256_ctx *ctx) | { | SHA256_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_sha256update(archive_sha256_ctx *ctx, const void *indata, | size_t insize) | { | SHA256_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_sha256final(archive_sha256_ctx *ctx, void *md) | { | SHA256_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA256_LIBSYSTEM) | | static int | __archive_libsystem_sha256init(archive_sha256_ctx *ctx) | { | CC_SHA256_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_sha256update(archive_sha256_ctx *ctx, const void *indata, | size_t insize) | { | CC_SHA256_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_sha256final(archive_sha256_ctx *ctx, void *md) | { | CC_SHA256_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA256_NETTLE) | | static int | __archive_nettle_sha256init(archive_sha256_ctx *ctx) | { | sha256_init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_sha256update(archive_sha256_ctx *ctx, const void *indata, | size_t insize) | { | sha256_update(ctx, insize, indata); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_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_openssl_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_openssl_sha256update(archive_sha256_ctx *ctx, const void *indata, | size_t insize) | { | EVP_DigestUpdate(*ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_openssl_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_windowsapi_sha256init(archive_sha256_ctx *ctx) | { | return (win_crypto_init(ctx, CALG_SHA_256)); | } | | static int | __archive_windowsapi_sha256update(archive_sha256_ctx *ctx, const void *indata, | size_t insize) | { | return (win_crypto_Update(ctx, indata, insize)); | } | | static int | __archive_windowsapi_sha256final(archive_sha256_ctx *ctx, void *md) | { | return (win_crypto_Final(md, 32, ctx)); | } | | #else | | static int | __archive_stub_sha256init(archive_sha256_ctx *ctx) | { | (void)ctx; /* UNUSED */ | return (ARCHIVE_FAILED); | } | | static int | __archive_stub_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_stub_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_libc_sha384init(archive_sha384_ctx *ctx) | { | SHA384_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc_sha384update(archive_sha384_ctx *ctx, const void *indata, | size_t insize) | { | SHA384_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc_sha384final(archive_sha384_ctx *ctx, void *md) | { | SHA384_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA384_LIBC2) | | static int | __archive_libc2_sha384init(archive_sha384_ctx *ctx) | { | SHA384Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc2_sha384update(archive_sha384_ctx *ctx, const void *indata, | size_t insize) | { | SHA384Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc2_sha384final(archive_sha384_ctx *ctx, void *md) | { | SHA384Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA384_LIBC3) | | static int | __archive_libc3_sha384init(archive_sha384_ctx *ctx) | { | SHA384Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc3_sha384update(archive_sha384_ctx *ctx, const void *indata, | size_t insize) | { | SHA384Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc3_sha384final(archive_sha384_ctx *ctx, void *md) | { | SHA384Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA384_LIBSYSTEM) | | static int | __archive_libsystem_sha384init(archive_sha384_ctx *ctx) | { | CC_SHA384_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_sha384update(archive_sha384_ctx *ctx, const void *indata, | size_t insize) | { | CC_SHA384_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_sha384final(archive_sha384_ctx *ctx, void *md) | { | CC_SHA384_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA384_NETTLE) | | static int | __archive_nettle_sha384init(archive_sha384_ctx *ctx) | { | sha384_init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_sha384update(archive_sha384_ctx *ctx, const void *indata, | size_t insize) | { | sha384_update(ctx, insize, indata); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_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_openssl_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_openssl_sha384update(archive_sha384_ctx *ctx, const void *indata, | size_t insize) | { | EVP_DigestUpdate(*ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_openssl_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_windowsapi_sha384init(archive_sha384_ctx *ctx) | { | return (win_crypto_init(ctx, CALG_SHA_384)); | } | | static int | __archive_windowsapi_sha384update(archive_sha384_ctx *ctx, const void *indata, | size_t insize) | { | return (win_crypto_Update(ctx, indata, insize)); | } | | static int | __archive_windowsapi_sha384final(archive_sha384_ctx *ctx, void *md) | { | return (win_crypto_Final(md, 48, ctx)); | } | | #else | | static int | __archive_stub_sha384init(archive_sha384_ctx *ctx) | { | (void)ctx; /* UNUSED */ | return (ARCHIVE_FAILED); | } | | static int | __archive_stub_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_stub_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_libc_sha512init(archive_sha512_ctx *ctx) | { | SHA512_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc_sha512update(archive_sha512_ctx *ctx, const void *indata, | size_t insize) | { | SHA512_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc_sha512final(archive_sha512_ctx *ctx, void *md) | { | SHA512_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA512_LIBC2) | | static int | __archive_libc2_sha512init(archive_sha512_ctx *ctx) | { | SHA512Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc2_sha512update(archive_sha512_ctx *ctx, const void *indata, | size_t insize) | { | SHA512Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc2_sha512final(archive_sha512_ctx *ctx, void *md) | { | SHA512Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA512_LIBC3) | | static int | __archive_libc3_sha512init(archive_sha512_ctx *ctx) | { | SHA512Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc3_sha512update(archive_sha512_ctx *ctx, const void *indata, | size_t insize) | { | SHA512Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc3_sha512final(archive_sha512_ctx *ctx, void *md) | { | SHA512Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA512_LIBMD) | | static int | __archive_libmd_sha512init(archive_sha512_ctx *ctx) | { | SHA512_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_sha512update(archive_sha512_ctx *ctx, const void *indata, | size_t insize) | { | SHA512_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_sha512final(archive_sha512_ctx *ctx, void *md) | { | SHA512_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA512_LIBSYSTEM) | | static int | __archive_libsystem_sha512init(archive_sha512_ctx *ctx) | { | CC_SHA512_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_sha512update(archive_sha512_ctx *ctx, const void *indata, | size_t insize) | { | CC_SHA512_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_sha512final(archive_sha512_ctx *ctx, void *md) | { | CC_SHA512_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA512_NETTLE) | | static int | __archive_nettle_sha512init(archive_sha512_ctx *ctx) | { | sha512_init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_sha512update(archive_sha512_ctx *ctx, const void *indata, | size_t insize) | { | sha512_update(ctx, insize, indata); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_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_openssl_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_openssl_sha512update(archive_sha512_ctx *ctx, const void *indata, | size_t insize) | { | EVP_DigestUpdate(*ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_openssl_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_windowsapi_sha512init(archive_sha512_ctx *ctx) | { | return (win_crypto_init(ctx, CALG_SHA_512)); | } | | static int | __archive_windowsapi_sha512update(archive_sha512_ctx *ctx, const void *indata, | size_t insize) | { | return (win_crypto_Update(ctx, indata, insize)); | } | | static int | __archive_windowsapi_sha512final(archive_sha512_ctx *ctx, void *md) | { | return (win_crypto_Final(md, 64, ctx)); | } | | #else | | static int | __archive_stub_sha512init(archive_sha512_ctx *ctx) | { | (void)ctx; /* UNUSED */ | return (ARCHIVE_FAILED); | } | | static int | __archive_stub_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_stub_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 */ | #if defined(ARCHIVE_CRYPTO_MD5_LIBC) | &__archive_libc_md5init, | &__archive_libc_md5update, | &__archive_libc_md5final, | #elif defined(ARCHIVE_CRYPTO_MD5_LIBMD) | &__archive_libmd_md5init, | &__archive_libmd_md5update, | &__archive_libmd_md5final, | #elif defined(ARCHIVE_CRYPTO_MD5_LIBSYSTEM) | &__archive_libsystem_md5init, | &__archive_libsystem_md5update, | &__archive_libsystem_md5final, | #elif defined(ARCHIVE_CRYPTO_MD5_NETTLE) | &__archive_nettle_md5init, | &__archive_nettle_md5update, | &__archive_nettle_md5final, | #elif defined(ARCHIVE_CRYPTO_MD5_OPENSSL) | &__archive_openssl_md5init, | &__archive_openssl_md5update, | &__archive_openssl_md5final, | #elif defined(ARCHIVE_CRYPTO_MD5_WIN) | &__archive_windowsapi_md5init, | &__archive_windowsapi_md5update, | &__archive_windowsapi_md5final, | #elif !defined(ARCHIVE_MD5_COMPILE_TEST) | &__archive_stub_md5init, | &__archive_stub_md5update, | &__archive_stub_md5final, | #endif | | /* RIPEMD160 */ | #if defined(ARCHIVE_CRYPTO_RMD160_LIBC) | &__archive_libc_ripemd160init, | &__archive_libc_ripemd160update, | &__archive_libc_ripemd160final, | #elif defined(ARCHIVE_CRYPTO_RMD160_LIBMD) | &__archive_libmd_ripemd160init, | &__archive_libmd_ripemd160update, | &__archive_libmd_ripemd160final, | #elif defined(ARCHIVE_CRYPTO_RMD160_NETTLE) | &__archive_nettle_ripemd160init, | &__archive_nettle_ripemd160update, | &__archive_nettle_ripemd160final, | #elif defined(ARCHIVE_CRYPTO_RMD160_OPENSSL) | &__archive_openssl_ripemd160init, | &__archive_openssl_ripemd160update, | &__archive_openssl_ripemd160final, | #elif !defined(ARCHIVE_RMD160_COMPILE_TEST) | &__archive_stub_ripemd160init, | &__archive_stub_ripemd160update, | &__archive_stub_ripemd160final, | #endif | | /* SHA1 */ | #if defined(ARCHIVE_CRYPTO_SHA1_LIBC) | &__archive_libc_sha1init, | &__archive_libc_sha1update, | &__archive_libc_sha1final, | #elif defined(ARCHIVE_CRYPTO_SHA1_LIBMD) | &__archive_libmd_sha1init, | &__archive_libmd_sha1update, | &__archive_libmd_sha1final, | #elif defined(ARCHIVE_CRYPTO_SHA1_LIBSYSTEM) | &__archive_libsystem_sha1init, | &__archive_libsystem_sha1update, | &__archive_libsystem_sha1final, | #elif defined(ARCHIVE_CRYPTO_SHA1_NETTLE) | &__archive_nettle_sha1init, | &__archive_nettle_sha1update, | &__archive_nettle_sha1final, | #elif defined(ARCHIVE_CRYPTO_SHA1_OPENSSL) | &__archive_openssl_sha1init, | &__archive_openssl_sha1update, | &__archive_openssl_sha1final, | #elif defined(ARCHIVE_CRYPTO_SHA1_WIN) | &__archive_windowsapi_sha1init, | &__archive_windowsapi_sha1update, | &__archive_windowsapi_sha1final, | #elif !defined(ARCHIVE_SHA1_COMPILE_TEST) | &__archive_stub_sha1init, | &__archive_stub_sha1update, | &__archive_stub_sha1final, | #endif | | /* SHA256 */ | #if defined(ARCHIVE_CRYPTO_SHA256_LIBC) | &__archive_libc_sha256init, | &__archive_libc_sha256update, | &__archive_libc_sha256final, | #elif defined(ARCHIVE_CRYPTO_SHA256_LIBC2) | &__archive_libc2_sha256init, | &__archive_libc2_sha256update, | &__archive_libc2_sha256final, | #elif defined(ARCHIVE_CRYPTO_SHA256_LIBC3) | &__archive_libc3_sha256init, | &__archive_libc3_sha256update, | &__archive_libc3_sha256final, | #elif defined(ARCHIVE_CRYPTO_SHA256_LIBMD) | &__archive_libmd_sha256init, | &__archive_libmd_sha256update, | &__archive_libmd_sha256final, | #elif defined(ARCHIVE_CRYPTO_SHA256_LIBSYSTEM) | &__archive_libsystem_sha256init, | &__archive_libsystem_sha256update, | &__archive_libsystem_sha256final, | #elif defined(ARCHIVE_CRYPTO_SHA256_NETTLE) | &__archive_nettle_sha256init, | &__archive_nettle_sha256update, | &__archive_nettle_sha256final, | #elif defined(ARCHIVE_CRYPTO_SHA256_OPENSSL) | &__archive_openssl_sha256init, | &__archive_openssl_sha256update, | &__archive_openssl_sha256final, | #elif defined(ARCHIVE_CRYPTO_SHA256_WIN) | &__archive_windowsapi_sha256init, | &__archive_windowsapi_sha256update, | &__archive_windowsapi_sha256final, | #elif !defined(ARCHIVE_SHA256_COMPILE_TEST) | &__archive_stub_sha256init, | &__archive_stub_sha256update, | &__archive_stub_sha256final, | #endif | | /* SHA384 */ | #if defined(ARCHIVE_CRYPTO_SHA384_LIBC) | &__archive_libc_sha384init, | &__archive_libc_sha384update, | &__archive_libc_sha384final, | #elif defined(ARCHIVE_CRYPTO_SHA384_LIBC2) | &__archive_libc2_sha384init, | &__archive_libc2_sha384update, | &__archive_libc2_sha384final, | #elif defined(ARCHIVE_CRYPTO_SHA384_LIBC3) | &__archive_libc3_sha384init, | &__archive_libc3_sha384update, | &__archive_libc3_sha384final, | #elif defined(ARCHIVE_CRYPTO_SHA384_LIBSYSTEM) | &__archive_libsystem_sha384init, | &__archive_libsystem_sha384update, | &__archive_libsystem_sha384final, | #elif defined(ARCHIVE_CRYPTO_SHA384_NETTLE) | &__archive_nettle_sha384init, | &__archive_nettle_sha384update, | &__archive_nettle_sha384final, | #elif defined(ARCHIVE_CRYPTO_SHA384_OPENSSL) | &__archive_openssl_sha384init, | &__archive_openssl_sha384update, | &__archive_openssl_sha384final, | #elif defined(ARCHIVE_CRYPTO_SHA384_WIN) | &__archive_windowsapi_sha384init, | &__archive_windowsapi_sha384update, | &__archive_windowsapi_sha384final, | #elif !defined(ARCHIVE_SHA384_COMPILE_TEST) | &__archive_stub_sha384init, | &__archive_stub_sha384update, | &__archive_stub_sha384final, | #endif | | /* SHA512 */ | #if defined(ARCHIVE_CRYPTO_SHA512_LIBC) | &__archive_libc_sha512init, | &__archive_libc_sha512update, | &__archive_libc_sha512final | #elif defined(ARCHIVE_CRYPTO_SHA512_LIBC2) | &__archive_libc2_sha512init, | &__archive_libc2_sha512update, | &__archive_libc2_sha512final | #elif defined(ARCHIVE_CRYPTO_SHA512_LIBC3) | &__archive_libc3_sha512init, | &__archive_libc3_sha512update, | &__archive_libc3_sha512final | #elif defined(ARCHIVE_CRYPTO_SHA512_LIBMD) | &__archive_libmd_sha512init, | &__archive_libmd_sha512update, | &__archive_libmd_sha512final | #elif defined(ARCHIVE_CRYPTO_SHA512_LIBSYSTEM) | &__archive_libsystem_sha512init, | &__archive_libsystem_sha512update, | &__archive_libsystem_sha512final | #elif defined(ARCHIVE_CRYPTO_SHA512_NETTLE) | &__archive_nettle_sha512init, | &__archive_nettle_sha512update, | &__archive_nettle_sha512final | #elif defined(ARCHIVE_CRYPTO_SHA512_OPENSSL) | &__archive_openssl_sha512init, | &__archive_openssl_sha512update, | &__archive_openssl_sha512final | #elif defined(ARCHIVE_CRYPTO_SHA512_WIN) | &__archive_windowsapi_sha512init, | &__archive_windowsapi_sha512update, | &__archive_windowsapi_sha512final | #elif !defined(ARCHIVE_SHA512_COMPILE_TEST) | &__archive_stub_sha512init, | &__archive_stub_sha512update, | &__archive_stub_sha512final | #endif | }; | | 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; | } | configure:19590: result: no configure:19604: checking support for ARCHIVE_CRYPTO_SHA384_LIBC configure:19626: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -o conftest -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -I. -I. -I./libarchive -Wl,-elf2flt -static conftest.c -llzma >&5 In file included from conftest.c:219:0: ./libarchive/archive_digest_private.h:78:10: fatal error: sha2.h: No such file or directory #include ^~~~~~~~ compilation terminated. configure:19626: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "libarchive" | #define PACKAGE_TARNAME "libarchive" | #define PACKAGE_VERSION "3.4.0" | #define PACKAGE_STRING "libarchive 3.4.0" | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com" | #define PACKAGE_URL "" | #define PACKAGE "libarchive" | #define VERSION "3.4.0" | #define LIBARCHIVE_VERSION_STRING "3.4.0" | #define LIBARCHIVE_VERSION_NUMBER "3004000" | #define BSDCPIO_VERSION_STRING "3.4.0" | #define BSDTAR_VERSION_STRING "3.4.0" | #define BSDCAT_VERSION_STRING "3.4.0" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define __EXTENSIONS__ 1 | #define _ALL_SOURCE 1 | #define _GNU_SOURCE 1 | #define _POSIX_PTHREAD_SEMANTICS 1 | #define _TANDEM_SOURCE 1 | #define LT_OBJDIR ".libs/" | #define HAVE_DIRENT_H 1 | #define HAVE_SYS_WAIT_H 1 | #define HAVE_CTYPE_H 1 | #define HAVE_ERRNO_H 1 | #define HAVE_FCNTL_H 1 | #define HAVE_GRP_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_LANGINFO_H 1 | #define HAVE_LIMITS_H 1 | #define HAVE_LINUX_FIEMAP_H 1 | #define HAVE_LINUX_FS_H 1 | #define HAVE_LINUX_MAGIC_H 1 | #define HAVE_LINUX_TYPES_H 1 | #define HAVE_WORKING_FS_IOC_GETFLAGS 1 | #define HAVE_LOCALE_H 1 | #define HAVE_PATHS_H 1 | #define HAVE_POLL_H 1 | #define HAVE_PTHREAD_H 1 | #define HAVE_PWD_H 1 | #define HAVE_SIGNAL_H 1 | #define HAVE_SPAWN_H 1 | #define HAVE_STDARG_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_SYS_CDEFS_H 1 | #define HAVE_SYS_IOCTL_H 1 | #define HAVE_SYS_MOUNT_H 1 | #define HAVE_SYS_PARAM_H 1 | #define HAVE_SYS_POLL_H 1 | #define HAVE_SYS_SELECT_H 1 | #define HAVE_SYS_STATFS_H 1 | #define HAVE_SYS_STATVFS_H 1 | #define HAVE_SYS_SYSMACROS_H 1 | #define HAVE_SYS_TIME_H 1 | #define HAVE_SYS_UTSNAME_H 1 | #define HAVE_SYS_VFS_H 1 | #define HAVE_SYS_XATTR_H 1 | #define HAVE_TIME_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_UTIME_H 1 | #define HAVE_WCHAR_H 1 | #define HAVE_WCTYPE_H 1 | #define HAVE_ICONV 1 | #define ICONV_CONST | #define HAVE_ICONV_H 1 | #define HAVE_LZMA_H 1 | #define HAVE_LIBLZMA 1 | #define HAVE_LZMA_STREAM_ENCODER_MT 1 | #define HAVE_REGEX_H 1 | #define HAVE_STRUCT_TM_TM_GMTOFF 1 | #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1 | #define HAVE_STRUCT_STAT_ST_BLKSIZE 1 | #define HAVE_UINTMAX_T 1 | #define HAVE_UNSIGNED_LONG_LONG 1 | #define HAVE_UNSIGNED_LONG_LONG_INT 1 | #define HAVE_LONG_LONG_INT 1 | #define HAVE_INTMAX_T 1 | #define HAVE_UINTMAX_T 1 | #define HAVE_DECL_SIZE_MAX 1 | #define HAVE_DECL_INT32_MAX 1 | #define HAVE_DECL_INT32_MIN 1 | #define HAVE_DECL_INT64_MAX 1 | #define HAVE_DECL_INT64_MIN 1 | #define HAVE_DECL_UINT64_MAX 1 | #define HAVE_DECL_UINT32_MAX 1 | #define HAVE_DECL_INTMAX_MAX 1 | #define HAVE_DECL_INTMAX_MIN 1 | #define HAVE_DECL_UINTMAX_MAX 1 | #define HAVE_DECL_SSIZE_MAX 1 | #define HAVE_EILSEQ 1 | #define HAVE_WCHAR_T 1 | #define SIZEOF_WCHAR_T 4 | #define TIME_WITH_SYS_TIME 1 | #define HAVE_FSEEKO 1 | #define HAVE_LSTAT_EMPTY_STRING_BUG 1 | #define HAVE_STAT_EMPTY_STRING_BUG 1 | #define HAVE_DECL_STRERROR_R 1 | #define HAVE_STRERROR_R 1 | #define STRERROR_R_CHAR_P 1 | #define HAVE_STRFTIME 1 | #define HAVE_VPRINTF 1 | #define HAVE_CHOWN 1 | #define HAVE_CHROOT 1 | #define HAVE_CTIME_R 1 | #define HAVE_FCHDIR 1 | #define HAVE_FCHMOD 1 | #define HAVE_FCHOWN 1 | #define HAVE_FCNTL 1 | #define HAVE_FDOPENDIR 1 | #define HAVE_FSTAT 1 | #define HAVE_FSTATAT 1 | #define HAVE_FSTATFS 1 | #define HAVE_FSTATVFS 1 | #define HAVE_FTRUNCATE 1 | #define HAVE_FUTIMENS 1 | #define HAVE_FUTIMESAT 1 | #define HAVE_GETEUID 1 | #define HAVE_GETPID 1 | #define HAVE_GETGRGID_R 1 | #define HAVE_GETGRNAM_R 1 | #define HAVE_GETPWNAM_R 1 | #define HAVE_GETPWUID_R 1 | #define HAVE_GMTIME_R 1 | #define HAVE_LCHOWN 1 | #define HAVE_LINK 1 | #define HAVE_LOCALTIME_R 1 | #define HAVE_LSTAT 1 | #define HAVE_LUTIMES 1 | #define HAVE_MBRTOWC 1 | #define HAVE_MEMMOVE 1 | #define HAVE_MEMSET 1 | #define HAVE_MKDIR 1 | #define HAVE_MKFIFO 1 | #define HAVE_MKNOD 1 | #define HAVE_MKSTEMP 1 | #define HAVE_NL_LANGINFO 1 | #define HAVE_OPENAT 1 | #define HAVE_PIPE 1 | #define HAVE_POLL 1 | #define HAVE_POSIX_SPAWNP 1 | #define HAVE_READLINK 1 | #define HAVE_READLINKAT 1 | #define HAVE_SELECT 1 | #define HAVE_SETENV 1 | #define HAVE_SETLOCALE 1 | #define HAVE_SIGACTION 1 | #define HAVE_STATFS 1 | #define HAVE_STATVFS 1 | #define HAVE_STRCHR 1 | #define HAVE_STRDUP 1 | #define HAVE_STRERROR 1 | #define HAVE_STRRCHR 1 | #define HAVE_SYMLINK 1 | #define HAVE_TIMEGM 1 | #define HAVE_TZSET 1 | #define HAVE_UNLINKAT 1 | #define HAVE_UNSETENV 1 | #define HAVE_UTIME 1 | #define HAVE_UTIMENSAT 1 | #define HAVE_UTIMES 1 | #define HAVE_VFORK 1 | #define HAVE_WCRTOMB 1 | #define HAVE_WCSCMP 1 | #define HAVE_WCSCPY 1 | #define HAVE_WCSLEN 1 | #define HAVE_WCTOMB 1 | #define HAVE_WMEMCMP 1 | #define HAVE_WMEMCPY 1 | #define HAVE_WMEMMOVE 1 | #define HAVE_READDIR_R 1 | #define HAVE_DIRFD 1 | /* end confdefs.h. */ | | #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_libc_md5init(archive_md5_ctx *ctx) | { | MD5Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc_md5update(archive_md5_ctx *ctx, const void *indata, | size_t insize) | { | MD5Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc_md5final(archive_md5_ctx *ctx, void *md) | { | MD5Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_MD5_LIBMD) | | static int | __archive_libmd_md5init(archive_md5_ctx *ctx) | { | MD5Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_md5update(archive_md5_ctx *ctx, const void *indata, | size_t insize) | { | MD5Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_md5final(archive_md5_ctx *ctx, void *md) | { | MD5Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_MD5_LIBSYSTEM) | | static int | __archive_libsystem_md5init(archive_md5_ctx *ctx) | { | CC_MD5_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_md5update(archive_md5_ctx *ctx, const void *indata, | size_t insize) | { | CC_MD5_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_md5final(archive_md5_ctx *ctx, void *md) | { | CC_MD5_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_MD5_NETTLE) | | static int | __archive_nettle_md5init(archive_md5_ctx *ctx) | { | md5_init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_md5update(archive_md5_ctx *ctx, const void *indata, | size_t insize) | { | md5_update(ctx, insize, indata); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_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_openssl_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_openssl_md5update(archive_md5_ctx *ctx, const void *indata, | size_t insize) | { | EVP_DigestUpdate(*ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_openssl_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_windowsapi_md5init(archive_md5_ctx *ctx) | { | return (win_crypto_init(ctx, CALG_MD5)); | } | | static int | __archive_windowsapi_md5update(archive_md5_ctx *ctx, const void *indata, | size_t insize) | { | return (win_crypto_Update(ctx, indata, insize)); | } | | static int | __archive_windowsapi_md5final(archive_md5_ctx *ctx, void *md) | { | return (win_crypto_Final(md, 16, ctx)); | } | | #else | | static int | __archive_stub_md5init(archive_md5_ctx *ctx) | { | (void)ctx; /* UNUSED */ | return (ARCHIVE_FAILED); | } | | static int | __archive_stub_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_stub_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_libc_ripemd160init(archive_rmd160_ctx *ctx) | { | RMD160Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, | size_t insize) | { | RMD160Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc_ripemd160final(archive_rmd160_ctx *ctx, void *md) | { | RMD160Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_RMD160_LIBMD) | | static int | __archive_libmd_ripemd160init(archive_rmd160_ctx *ctx) | { | RIPEMD160_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, | size_t insize) | { | RIPEMD160_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_ripemd160final(archive_rmd160_ctx *ctx, void *md) | { | RIPEMD160_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_RMD160_NETTLE) | | static int | __archive_nettle_ripemd160init(archive_rmd160_ctx *ctx) | { | ripemd160_init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, | size_t insize) | { | ripemd160_update(ctx, insize, indata); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_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_openssl_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_openssl_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, | size_t insize) | { | EVP_DigestUpdate(*ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_openssl_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_stub_ripemd160init(archive_rmd160_ctx *ctx) | { | (void)ctx; /* UNUSED */ | return (ARCHIVE_FAILED); | } | | static int | __archive_stub_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_stub_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_libc_sha1init(archive_sha1_ctx *ctx) | { | SHA1Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc_sha1update(archive_sha1_ctx *ctx, const void *indata, | size_t insize) | { | SHA1Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc_sha1final(archive_sha1_ctx *ctx, void *md) | { | SHA1Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA1_LIBMD) | | static int | __archive_libmd_sha1init(archive_sha1_ctx *ctx) | { | SHA1_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_sha1update(archive_sha1_ctx *ctx, const void *indata, | size_t insize) | { | SHA1_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_sha1final(archive_sha1_ctx *ctx, void *md) | { | SHA1_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA1_LIBSYSTEM) | | static int | __archive_libsystem_sha1init(archive_sha1_ctx *ctx) | { | CC_SHA1_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_sha1update(archive_sha1_ctx *ctx, const void *indata, | size_t insize) | { | CC_SHA1_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_sha1final(archive_sha1_ctx *ctx, void *md) | { | CC_SHA1_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA1_NETTLE) | | static int | __archive_nettle_sha1init(archive_sha1_ctx *ctx) | { | sha1_init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_sha1update(archive_sha1_ctx *ctx, const void *indata, | size_t insize) | { | sha1_update(ctx, insize, indata); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_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_openssl_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_openssl_sha1update(archive_sha1_ctx *ctx, const void *indata, | size_t insize) | { | EVP_DigestUpdate(*ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_openssl_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_windowsapi_sha1init(archive_sha1_ctx *ctx) | { | return (win_crypto_init(ctx, CALG_SHA1)); | } | | static int | __archive_windowsapi_sha1update(archive_sha1_ctx *ctx, const void *indata, | size_t insize) | { | return (win_crypto_Update(ctx, indata, insize)); | } | | static int | __archive_windowsapi_sha1final(archive_sha1_ctx *ctx, void *md) | { | return (win_crypto_Final(md, 20, ctx)); | } | | #else | | static int | __archive_stub_sha1init(archive_sha1_ctx *ctx) | { | (void)ctx; /* UNUSED */ | return (ARCHIVE_FAILED); | } | | static int | __archive_stub_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_stub_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_libc_sha256init(archive_sha256_ctx *ctx) | { | SHA256_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc_sha256update(archive_sha256_ctx *ctx, const void *indata, | size_t insize) | { | SHA256_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc_sha256final(archive_sha256_ctx *ctx, void *md) | { | SHA256_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA256_LIBC2) | | static int | __archive_libc2_sha256init(archive_sha256_ctx *ctx) | { | SHA256Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc2_sha256update(archive_sha256_ctx *ctx, const void *indata, | size_t insize) | { | SHA256Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc2_sha256final(archive_sha256_ctx *ctx, void *md) | { | SHA256Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA256_LIBC3) | | static int | __archive_libc3_sha256init(archive_sha256_ctx *ctx) | { | SHA256Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc3_sha256update(archive_sha256_ctx *ctx, const void *indata, | size_t insize) | { | SHA256Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc3_sha256final(archive_sha256_ctx *ctx, void *md) | { | SHA256Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA256_LIBMD) | | static int | __archive_libmd_sha256init(archive_sha256_ctx *ctx) | { | SHA256_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_sha256update(archive_sha256_ctx *ctx, const void *indata, | size_t insize) | { | SHA256_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_sha256final(archive_sha256_ctx *ctx, void *md) | { | SHA256_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA256_LIBSYSTEM) | | static int | __archive_libsystem_sha256init(archive_sha256_ctx *ctx) | { | CC_SHA256_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_sha256update(archive_sha256_ctx *ctx, const void *indata, | size_t insize) | { | CC_SHA256_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_sha256final(archive_sha256_ctx *ctx, void *md) | { | CC_SHA256_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA256_NETTLE) | | static int | __archive_nettle_sha256init(archive_sha256_ctx *ctx) | { | sha256_init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_sha256update(archive_sha256_ctx *ctx, const void *indata, | size_t insize) | { | sha256_update(ctx, insize, indata); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_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_openssl_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_openssl_sha256update(archive_sha256_ctx *ctx, const void *indata, | size_t insize) | { | EVP_DigestUpdate(*ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_openssl_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_windowsapi_sha256init(archive_sha256_ctx *ctx) | { | return (win_crypto_init(ctx, CALG_SHA_256)); | } | | static int | __archive_windowsapi_sha256update(archive_sha256_ctx *ctx, const void *indata, | size_t insize) | { | return (win_crypto_Update(ctx, indata, insize)); | } | | static int | __archive_windowsapi_sha256final(archive_sha256_ctx *ctx, void *md) | { | return (win_crypto_Final(md, 32, ctx)); | } | | #else | | static int | __archive_stub_sha256init(archive_sha256_ctx *ctx) | { | (void)ctx; /* UNUSED */ | return (ARCHIVE_FAILED); | } | | static int | __archive_stub_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_stub_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_libc_sha384init(archive_sha384_ctx *ctx) | { | SHA384_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc_sha384update(archive_sha384_ctx *ctx, const void *indata, | size_t insize) | { | SHA384_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc_sha384final(archive_sha384_ctx *ctx, void *md) | { | SHA384_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA384_LIBC2) | | static int | __archive_libc2_sha384init(archive_sha384_ctx *ctx) | { | SHA384Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc2_sha384update(archive_sha384_ctx *ctx, const void *indata, | size_t insize) | { | SHA384Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc2_sha384final(archive_sha384_ctx *ctx, void *md) | { | SHA384Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA384_LIBC3) | | static int | __archive_libc3_sha384init(archive_sha384_ctx *ctx) | { | SHA384Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc3_sha384update(archive_sha384_ctx *ctx, const void *indata, | size_t insize) | { | SHA384Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc3_sha384final(archive_sha384_ctx *ctx, void *md) | { | SHA384Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA384_LIBSYSTEM) | | static int | __archive_libsystem_sha384init(archive_sha384_ctx *ctx) | { | CC_SHA384_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_sha384update(archive_sha384_ctx *ctx, const void *indata, | size_t insize) | { | CC_SHA384_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_sha384final(archive_sha384_ctx *ctx, void *md) | { | CC_SHA384_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA384_NETTLE) | | static int | __archive_nettle_sha384init(archive_sha384_ctx *ctx) | { | sha384_init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_sha384update(archive_sha384_ctx *ctx, const void *indata, | size_t insize) | { | sha384_update(ctx, insize, indata); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_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_openssl_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_openssl_sha384update(archive_sha384_ctx *ctx, const void *indata, | size_t insize) | { | EVP_DigestUpdate(*ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_openssl_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_windowsapi_sha384init(archive_sha384_ctx *ctx) | { | return (win_crypto_init(ctx, CALG_SHA_384)); | } | | static int | __archive_windowsapi_sha384update(archive_sha384_ctx *ctx, const void *indata, | size_t insize) | { | return (win_crypto_Update(ctx, indata, insize)); | } | | static int | __archive_windowsapi_sha384final(archive_sha384_ctx *ctx, void *md) | { | return (win_crypto_Final(md, 48, ctx)); | } | | #else | | static int | __archive_stub_sha384init(archive_sha384_ctx *ctx) | { | (void)ctx; /* UNUSED */ | return (ARCHIVE_FAILED); | } | | static int | __archive_stub_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_stub_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_libc_sha512init(archive_sha512_ctx *ctx) | { | SHA512_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc_sha512update(archive_sha512_ctx *ctx, const void *indata, | size_t insize) | { | SHA512_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc_sha512final(archive_sha512_ctx *ctx, void *md) | { | SHA512_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA512_LIBC2) | | static int | __archive_libc2_sha512init(archive_sha512_ctx *ctx) | { | SHA512Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc2_sha512update(archive_sha512_ctx *ctx, const void *indata, | size_t insize) | { | SHA512Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc2_sha512final(archive_sha512_ctx *ctx, void *md) | { | SHA512Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA512_LIBC3) | | static int | __archive_libc3_sha512init(archive_sha512_ctx *ctx) | { | SHA512Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc3_sha512update(archive_sha512_ctx *ctx, const void *indata, | size_t insize) | { | SHA512Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc3_sha512final(archive_sha512_ctx *ctx, void *md) | { | SHA512Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA512_LIBMD) | | static int | __archive_libmd_sha512init(archive_sha512_ctx *ctx) | { | SHA512_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_sha512update(archive_sha512_ctx *ctx, const void *indata, | size_t insize) | { | SHA512_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_sha512final(archive_sha512_ctx *ctx, void *md) | { | SHA512_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA512_LIBSYSTEM) | | static int | __archive_libsystem_sha512init(archive_sha512_ctx *ctx) | { | CC_SHA512_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_sha512update(archive_sha512_ctx *ctx, const void *indata, | size_t insize) | { | CC_SHA512_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_sha512final(archive_sha512_ctx *ctx, void *md) | { | CC_SHA512_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA512_NETTLE) | | static int | __archive_nettle_sha512init(archive_sha512_ctx *ctx) | { | sha512_init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_sha512update(archive_sha512_ctx *ctx, const void *indata, | size_t insize) | { | sha512_update(ctx, insize, indata); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_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_openssl_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_openssl_sha512update(archive_sha512_ctx *ctx, const void *indata, | size_t insize) | { | EVP_DigestUpdate(*ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_openssl_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_windowsapi_sha512init(archive_sha512_ctx *ctx) | { | return (win_crypto_init(ctx, CALG_SHA_512)); | } | | static int | __archive_windowsapi_sha512update(archive_sha512_ctx *ctx, const void *indata, | size_t insize) | { | return (win_crypto_Update(ctx, indata, insize)); | } | | static int | __archive_windowsapi_sha512final(archive_sha512_ctx *ctx, void *md) | { | return (win_crypto_Final(md, 64, ctx)); | } | | #else | | static int | __archive_stub_sha512init(archive_sha512_ctx *ctx) | { | (void)ctx; /* UNUSED */ | return (ARCHIVE_FAILED); | } | | static int | __archive_stub_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_stub_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 */ | #if defined(ARCHIVE_CRYPTO_MD5_LIBC) | &__archive_libc_md5init, | &__archive_libc_md5update, | &__archive_libc_md5final, | #elif defined(ARCHIVE_CRYPTO_MD5_LIBMD) | &__archive_libmd_md5init, | &__archive_libmd_md5update, | &__archive_libmd_md5final, | #elif defined(ARCHIVE_CRYPTO_MD5_LIBSYSTEM) | &__archive_libsystem_md5init, | &__archive_libsystem_md5update, | &__archive_libsystem_md5final, | #elif defined(ARCHIVE_CRYPTO_MD5_NETTLE) | &__archive_nettle_md5init, | &__archive_nettle_md5update, | &__archive_nettle_md5final, | #elif defined(ARCHIVE_CRYPTO_MD5_OPENSSL) | &__archive_openssl_md5init, | &__archive_openssl_md5update, | &__archive_openssl_md5final, | #elif defined(ARCHIVE_CRYPTO_MD5_WIN) | &__archive_windowsapi_md5init, | &__archive_windowsapi_md5update, | &__archive_windowsapi_md5final, | #elif !defined(ARCHIVE_MD5_COMPILE_TEST) | &__archive_stub_md5init, | &__archive_stub_md5update, | &__archive_stub_md5final, | #endif | | /* RIPEMD160 */ | #if defined(ARCHIVE_CRYPTO_RMD160_LIBC) | &__archive_libc_ripemd160init, | &__archive_libc_ripemd160update, | &__archive_libc_ripemd160final, | #elif defined(ARCHIVE_CRYPTO_RMD160_LIBMD) | &__archive_libmd_ripemd160init, | &__archive_libmd_ripemd160update, | &__archive_libmd_ripemd160final, | #elif defined(ARCHIVE_CRYPTO_RMD160_NETTLE) | &__archive_nettle_ripemd160init, | &__archive_nettle_ripemd160update, | &__archive_nettle_ripemd160final, | #elif defined(ARCHIVE_CRYPTO_RMD160_OPENSSL) | &__archive_openssl_ripemd160init, | &__archive_openssl_ripemd160update, | &__archive_openssl_ripemd160final, | #elif !defined(ARCHIVE_RMD160_COMPILE_TEST) | &__archive_stub_ripemd160init, | &__archive_stub_ripemd160update, | &__archive_stub_ripemd160final, | #endif | | /* SHA1 */ | #if defined(ARCHIVE_CRYPTO_SHA1_LIBC) | &__archive_libc_sha1init, | &__archive_libc_sha1update, | &__archive_libc_sha1final, | #elif defined(ARCHIVE_CRYPTO_SHA1_LIBMD) | &__archive_libmd_sha1init, | &__archive_libmd_sha1update, | &__archive_libmd_sha1final, | #elif defined(ARCHIVE_CRYPTO_SHA1_LIBSYSTEM) | &__archive_libsystem_sha1init, | &__archive_libsystem_sha1update, | &__archive_libsystem_sha1final, | #elif defined(ARCHIVE_CRYPTO_SHA1_NETTLE) | &__archive_nettle_sha1init, | &__archive_nettle_sha1update, | &__archive_nettle_sha1final, | #elif defined(ARCHIVE_CRYPTO_SHA1_OPENSSL) | &__archive_openssl_sha1init, | &__archive_openssl_sha1update, | &__archive_openssl_sha1final, | #elif defined(ARCHIVE_CRYPTO_SHA1_WIN) | &__archive_windowsapi_sha1init, | &__archive_windowsapi_sha1update, | &__archive_windowsapi_sha1final, | #elif !defined(ARCHIVE_SHA1_COMPILE_TEST) | &__archive_stub_sha1init, | &__archive_stub_sha1update, | &__archive_stub_sha1final, | #endif | | /* SHA256 */ | #if defined(ARCHIVE_CRYPTO_SHA256_LIBC) | &__archive_libc_sha256init, | &__archive_libc_sha256update, | &__archive_libc_sha256final, | #elif defined(ARCHIVE_CRYPTO_SHA256_LIBC2) | &__archive_libc2_sha256init, | &__archive_libc2_sha256update, | &__archive_libc2_sha256final, | #elif defined(ARCHIVE_CRYPTO_SHA256_LIBC3) | &__archive_libc3_sha256init, | &__archive_libc3_sha256update, | &__archive_libc3_sha256final, | #elif defined(ARCHIVE_CRYPTO_SHA256_LIBMD) | &__archive_libmd_sha256init, | &__archive_libmd_sha256update, | &__archive_libmd_sha256final, | #elif defined(ARCHIVE_CRYPTO_SHA256_LIBSYSTEM) | &__archive_libsystem_sha256init, | &__archive_libsystem_sha256update, | &__archive_libsystem_sha256final, | #elif defined(ARCHIVE_CRYPTO_SHA256_NETTLE) | &__archive_nettle_sha256init, | &__archive_nettle_sha256update, | &__archive_nettle_sha256final, | #elif defined(ARCHIVE_CRYPTO_SHA256_OPENSSL) | &__archive_openssl_sha256init, | &__archive_openssl_sha256update, | &__archive_openssl_sha256final, | #elif defined(ARCHIVE_CRYPTO_SHA256_WIN) | &__archive_windowsapi_sha256init, | &__archive_windowsapi_sha256update, | &__archive_windowsapi_sha256final, | #elif !defined(ARCHIVE_SHA256_COMPILE_TEST) | &__archive_stub_sha256init, | &__archive_stub_sha256update, | &__archive_stub_sha256final, | #endif | | /* SHA384 */ | #if defined(ARCHIVE_CRYPTO_SHA384_LIBC) | &__archive_libc_sha384init, | &__archive_libc_sha384update, | &__archive_libc_sha384final, | #elif defined(ARCHIVE_CRYPTO_SHA384_LIBC2) | &__archive_libc2_sha384init, | &__archive_libc2_sha384update, | &__archive_libc2_sha384final, | #elif defined(ARCHIVE_CRYPTO_SHA384_LIBC3) | &__archive_libc3_sha384init, | &__archive_libc3_sha384update, | &__archive_libc3_sha384final, | #elif defined(ARCHIVE_CRYPTO_SHA384_LIBSYSTEM) | &__archive_libsystem_sha384init, | &__archive_libsystem_sha384update, | &__archive_libsystem_sha384final, | #elif defined(ARCHIVE_CRYPTO_SHA384_NETTLE) | &__archive_nettle_sha384init, | &__archive_nettle_sha384update, | &__archive_nettle_sha384final, | #elif defined(ARCHIVE_CRYPTO_SHA384_OPENSSL) | &__archive_openssl_sha384init, | &__archive_openssl_sha384update, | &__archive_openssl_sha384final, | #elif defined(ARCHIVE_CRYPTO_SHA384_WIN) | &__archive_windowsapi_sha384init, | &__archive_windowsapi_sha384update, | &__archive_windowsapi_sha384final, | #elif !defined(ARCHIVE_SHA384_COMPILE_TEST) | &__archive_stub_sha384init, | &__archive_stub_sha384update, | &__archive_stub_sha384final, | #endif | | /* SHA512 */ | #if defined(ARCHIVE_CRYPTO_SHA512_LIBC) | &__archive_libc_sha512init, | &__archive_libc_sha512update, | &__archive_libc_sha512final | #elif defined(ARCHIVE_CRYPTO_SHA512_LIBC2) | &__archive_libc2_sha512init, | &__archive_libc2_sha512update, | &__archive_libc2_sha512final | #elif defined(ARCHIVE_CRYPTO_SHA512_LIBC3) | &__archive_libc3_sha512init, | &__archive_libc3_sha512update, | &__archive_libc3_sha512final | #elif defined(ARCHIVE_CRYPTO_SHA512_LIBMD) | &__archive_libmd_sha512init, | &__archive_libmd_sha512update, | &__archive_libmd_sha512final | #elif defined(ARCHIVE_CRYPTO_SHA512_LIBSYSTEM) | &__archive_libsystem_sha512init, | &__archive_libsystem_sha512update, | &__archive_libsystem_sha512final | #elif defined(ARCHIVE_CRYPTO_SHA512_NETTLE) | &__archive_nettle_sha512init, | &__archive_nettle_sha512update, | &__archive_nettle_sha512final | #elif defined(ARCHIVE_CRYPTO_SHA512_OPENSSL) | &__archive_openssl_sha512init, | &__archive_openssl_sha512update, | &__archive_openssl_sha512final | #elif defined(ARCHIVE_CRYPTO_SHA512_WIN) | &__archive_windowsapi_sha512init, | &__archive_windowsapi_sha512update, | &__archive_windowsapi_sha512final | #elif !defined(ARCHIVE_SHA512_COMPILE_TEST) | &__archive_stub_sha512init, | &__archive_stub_sha512update, | &__archive_stub_sha512final | #endif | }; | | 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; | } | configure:19636: result: no configure:19650: checking support for ARCHIVE_CRYPTO_SHA384_LIBC2 configure:19672: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -o conftest -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -I. -I. -I./libarchive -Wl,-elf2flt -static conftest.c -llzma >&5 In file included from conftest.c:219:0: ./libarchive/archive_digest_private.h:78:10: fatal error: sha2.h: No such file or directory #include ^~~~~~~~ compilation terminated. configure:19672: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "libarchive" | #define PACKAGE_TARNAME "libarchive" | #define PACKAGE_VERSION "3.4.0" | #define PACKAGE_STRING "libarchive 3.4.0" | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com" | #define PACKAGE_URL "" | #define PACKAGE "libarchive" | #define VERSION "3.4.0" | #define LIBARCHIVE_VERSION_STRING "3.4.0" | #define LIBARCHIVE_VERSION_NUMBER "3004000" | #define BSDCPIO_VERSION_STRING "3.4.0" | #define BSDTAR_VERSION_STRING "3.4.0" | #define BSDCAT_VERSION_STRING "3.4.0" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define __EXTENSIONS__ 1 | #define _ALL_SOURCE 1 | #define _GNU_SOURCE 1 | #define _POSIX_PTHREAD_SEMANTICS 1 | #define _TANDEM_SOURCE 1 | #define LT_OBJDIR ".libs/" | #define HAVE_DIRENT_H 1 | #define HAVE_SYS_WAIT_H 1 | #define HAVE_CTYPE_H 1 | #define HAVE_ERRNO_H 1 | #define HAVE_FCNTL_H 1 | #define HAVE_GRP_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_LANGINFO_H 1 | #define HAVE_LIMITS_H 1 | #define HAVE_LINUX_FIEMAP_H 1 | #define HAVE_LINUX_FS_H 1 | #define HAVE_LINUX_MAGIC_H 1 | #define HAVE_LINUX_TYPES_H 1 | #define HAVE_WORKING_FS_IOC_GETFLAGS 1 | #define HAVE_LOCALE_H 1 | #define HAVE_PATHS_H 1 | #define HAVE_POLL_H 1 | #define HAVE_PTHREAD_H 1 | #define HAVE_PWD_H 1 | #define HAVE_SIGNAL_H 1 | #define HAVE_SPAWN_H 1 | #define HAVE_STDARG_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_SYS_CDEFS_H 1 | #define HAVE_SYS_IOCTL_H 1 | #define HAVE_SYS_MOUNT_H 1 | #define HAVE_SYS_PARAM_H 1 | #define HAVE_SYS_POLL_H 1 | #define HAVE_SYS_SELECT_H 1 | #define HAVE_SYS_STATFS_H 1 | #define HAVE_SYS_STATVFS_H 1 | #define HAVE_SYS_SYSMACROS_H 1 | #define HAVE_SYS_TIME_H 1 | #define HAVE_SYS_UTSNAME_H 1 | #define HAVE_SYS_VFS_H 1 | #define HAVE_SYS_XATTR_H 1 | #define HAVE_TIME_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_UTIME_H 1 | #define HAVE_WCHAR_H 1 | #define HAVE_WCTYPE_H 1 | #define HAVE_ICONV 1 | #define ICONV_CONST | #define HAVE_ICONV_H 1 | #define HAVE_LZMA_H 1 | #define HAVE_LIBLZMA 1 | #define HAVE_LZMA_STREAM_ENCODER_MT 1 | #define HAVE_REGEX_H 1 | #define HAVE_STRUCT_TM_TM_GMTOFF 1 | #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1 | #define HAVE_STRUCT_STAT_ST_BLKSIZE 1 | #define HAVE_UINTMAX_T 1 | #define HAVE_UNSIGNED_LONG_LONG 1 | #define HAVE_UNSIGNED_LONG_LONG_INT 1 | #define HAVE_LONG_LONG_INT 1 | #define HAVE_INTMAX_T 1 | #define HAVE_UINTMAX_T 1 | #define HAVE_DECL_SIZE_MAX 1 | #define HAVE_DECL_INT32_MAX 1 | #define HAVE_DECL_INT32_MIN 1 | #define HAVE_DECL_INT64_MAX 1 | #define HAVE_DECL_INT64_MIN 1 | #define HAVE_DECL_UINT64_MAX 1 | #define HAVE_DECL_UINT32_MAX 1 | #define HAVE_DECL_INTMAX_MAX 1 | #define HAVE_DECL_INTMAX_MIN 1 | #define HAVE_DECL_UINTMAX_MAX 1 | #define HAVE_DECL_SSIZE_MAX 1 | #define HAVE_EILSEQ 1 | #define HAVE_WCHAR_T 1 | #define SIZEOF_WCHAR_T 4 | #define TIME_WITH_SYS_TIME 1 | #define HAVE_FSEEKO 1 | #define HAVE_LSTAT_EMPTY_STRING_BUG 1 | #define HAVE_STAT_EMPTY_STRING_BUG 1 | #define HAVE_DECL_STRERROR_R 1 | #define HAVE_STRERROR_R 1 | #define STRERROR_R_CHAR_P 1 | #define HAVE_STRFTIME 1 | #define HAVE_VPRINTF 1 | #define HAVE_CHOWN 1 | #define HAVE_CHROOT 1 | #define HAVE_CTIME_R 1 | #define HAVE_FCHDIR 1 | #define HAVE_FCHMOD 1 | #define HAVE_FCHOWN 1 | #define HAVE_FCNTL 1 | #define HAVE_FDOPENDIR 1 | #define HAVE_FSTAT 1 | #define HAVE_FSTATAT 1 | #define HAVE_FSTATFS 1 | #define HAVE_FSTATVFS 1 | #define HAVE_FTRUNCATE 1 | #define HAVE_FUTIMENS 1 | #define HAVE_FUTIMESAT 1 | #define HAVE_GETEUID 1 | #define HAVE_GETPID 1 | #define HAVE_GETGRGID_R 1 | #define HAVE_GETGRNAM_R 1 | #define HAVE_GETPWNAM_R 1 | #define HAVE_GETPWUID_R 1 | #define HAVE_GMTIME_R 1 | #define HAVE_LCHOWN 1 | #define HAVE_LINK 1 | #define HAVE_LOCALTIME_R 1 | #define HAVE_LSTAT 1 | #define HAVE_LUTIMES 1 | #define HAVE_MBRTOWC 1 | #define HAVE_MEMMOVE 1 | #define HAVE_MEMSET 1 | #define HAVE_MKDIR 1 | #define HAVE_MKFIFO 1 | #define HAVE_MKNOD 1 | #define HAVE_MKSTEMP 1 | #define HAVE_NL_LANGINFO 1 | #define HAVE_OPENAT 1 | #define HAVE_PIPE 1 | #define HAVE_POLL 1 | #define HAVE_POSIX_SPAWNP 1 | #define HAVE_READLINK 1 | #define HAVE_READLINKAT 1 | #define HAVE_SELECT 1 | #define HAVE_SETENV 1 | #define HAVE_SETLOCALE 1 | #define HAVE_SIGACTION 1 | #define HAVE_STATFS 1 | #define HAVE_STATVFS 1 | #define HAVE_STRCHR 1 | #define HAVE_STRDUP 1 | #define HAVE_STRERROR 1 | #define HAVE_STRRCHR 1 | #define HAVE_SYMLINK 1 | #define HAVE_TIMEGM 1 | #define HAVE_TZSET 1 | #define HAVE_UNLINKAT 1 | #define HAVE_UNSETENV 1 | #define HAVE_UTIME 1 | #define HAVE_UTIMENSAT 1 | #define HAVE_UTIMES 1 | #define HAVE_VFORK 1 | #define HAVE_WCRTOMB 1 | #define HAVE_WCSCMP 1 | #define HAVE_WCSCPY 1 | #define HAVE_WCSLEN 1 | #define HAVE_WCTOMB 1 | #define HAVE_WMEMCMP 1 | #define HAVE_WMEMCPY 1 | #define HAVE_WMEMMOVE 1 | #define HAVE_READDIR_R 1 | #define HAVE_DIRFD 1 | /* end confdefs.h. */ | | #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_libc_md5init(archive_md5_ctx *ctx) | { | MD5Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc_md5update(archive_md5_ctx *ctx, const void *indata, | size_t insize) | { | MD5Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc_md5final(archive_md5_ctx *ctx, void *md) | { | MD5Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_MD5_LIBMD) | | static int | __archive_libmd_md5init(archive_md5_ctx *ctx) | { | MD5Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_md5update(archive_md5_ctx *ctx, const void *indata, | size_t insize) | { | MD5Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_md5final(archive_md5_ctx *ctx, void *md) | { | MD5Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_MD5_LIBSYSTEM) | | static int | __archive_libsystem_md5init(archive_md5_ctx *ctx) | { | CC_MD5_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_md5update(archive_md5_ctx *ctx, const void *indata, | size_t insize) | { | CC_MD5_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_md5final(archive_md5_ctx *ctx, void *md) | { | CC_MD5_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_MD5_NETTLE) | | static int | __archive_nettle_md5init(archive_md5_ctx *ctx) | { | md5_init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_md5update(archive_md5_ctx *ctx, const void *indata, | size_t insize) | { | md5_update(ctx, insize, indata); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_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_openssl_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_openssl_md5update(archive_md5_ctx *ctx, const void *indata, | size_t insize) | { | EVP_DigestUpdate(*ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_openssl_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_windowsapi_md5init(archive_md5_ctx *ctx) | { | return (win_crypto_init(ctx, CALG_MD5)); | } | | static int | __archive_windowsapi_md5update(archive_md5_ctx *ctx, const void *indata, | size_t insize) | { | return (win_crypto_Update(ctx, indata, insize)); | } | | static int | __archive_windowsapi_md5final(archive_md5_ctx *ctx, void *md) | { | return (win_crypto_Final(md, 16, ctx)); | } | | #else | | static int | __archive_stub_md5init(archive_md5_ctx *ctx) | { | (void)ctx; /* UNUSED */ | return (ARCHIVE_FAILED); | } | | static int | __archive_stub_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_stub_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_libc_ripemd160init(archive_rmd160_ctx *ctx) | { | RMD160Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, | size_t insize) | { | RMD160Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc_ripemd160final(archive_rmd160_ctx *ctx, void *md) | { | RMD160Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_RMD160_LIBMD) | | static int | __archive_libmd_ripemd160init(archive_rmd160_ctx *ctx) | { | RIPEMD160_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, | size_t insize) | { | RIPEMD160_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_ripemd160final(archive_rmd160_ctx *ctx, void *md) | { | RIPEMD160_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_RMD160_NETTLE) | | static int | __archive_nettle_ripemd160init(archive_rmd160_ctx *ctx) | { | ripemd160_init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, | size_t insize) | { | ripemd160_update(ctx, insize, indata); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_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_openssl_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_openssl_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, | size_t insize) | { | EVP_DigestUpdate(*ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_openssl_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_stub_ripemd160init(archive_rmd160_ctx *ctx) | { | (void)ctx; /* UNUSED */ | return (ARCHIVE_FAILED); | } | | static int | __archive_stub_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_stub_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_libc_sha1init(archive_sha1_ctx *ctx) | { | SHA1Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc_sha1update(archive_sha1_ctx *ctx, const void *indata, | size_t insize) | { | SHA1Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc_sha1final(archive_sha1_ctx *ctx, void *md) | { | SHA1Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA1_LIBMD) | | static int | __archive_libmd_sha1init(archive_sha1_ctx *ctx) | { | SHA1_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_sha1update(archive_sha1_ctx *ctx, const void *indata, | size_t insize) | { | SHA1_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_sha1final(archive_sha1_ctx *ctx, void *md) | { | SHA1_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA1_LIBSYSTEM) | | static int | __archive_libsystem_sha1init(archive_sha1_ctx *ctx) | { | CC_SHA1_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_sha1update(archive_sha1_ctx *ctx, const void *indata, | size_t insize) | { | CC_SHA1_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_sha1final(archive_sha1_ctx *ctx, void *md) | { | CC_SHA1_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA1_NETTLE) | | static int | __archive_nettle_sha1init(archive_sha1_ctx *ctx) | { | sha1_init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_sha1update(archive_sha1_ctx *ctx, const void *indata, | size_t insize) | { | sha1_update(ctx, insize, indata); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_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_openssl_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_openssl_sha1update(archive_sha1_ctx *ctx, const void *indata, | size_t insize) | { | EVP_DigestUpdate(*ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_openssl_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_windowsapi_sha1init(archive_sha1_ctx *ctx) | { | return (win_crypto_init(ctx, CALG_SHA1)); | } | | static int | __archive_windowsapi_sha1update(archive_sha1_ctx *ctx, const void *indata, | size_t insize) | { | return (win_crypto_Update(ctx, indata, insize)); | } | | static int | __archive_windowsapi_sha1final(archive_sha1_ctx *ctx, void *md) | { | return (win_crypto_Final(md, 20, ctx)); | } | | #else | | static int | __archive_stub_sha1init(archive_sha1_ctx *ctx) | { | (void)ctx; /* UNUSED */ | return (ARCHIVE_FAILED); | } | | static int | __archive_stub_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_stub_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_libc_sha256init(archive_sha256_ctx *ctx) | { | SHA256_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc_sha256update(archive_sha256_ctx *ctx, const void *indata, | size_t insize) | { | SHA256_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc_sha256final(archive_sha256_ctx *ctx, void *md) | { | SHA256_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA256_LIBC2) | | static int | __archive_libc2_sha256init(archive_sha256_ctx *ctx) | { | SHA256Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc2_sha256update(archive_sha256_ctx *ctx, const void *indata, | size_t insize) | { | SHA256Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc2_sha256final(archive_sha256_ctx *ctx, void *md) | { | SHA256Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA256_LIBC3) | | static int | __archive_libc3_sha256init(archive_sha256_ctx *ctx) | { | SHA256Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc3_sha256update(archive_sha256_ctx *ctx, const void *indata, | size_t insize) | { | SHA256Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc3_sha256final(archive_sha256_ctx *ctx, void *md) | { | SHA256Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA256_LIBMD) | | static int | __archive_libmd_sha256init(archive_sha256_ctx *ctx) | { | SHA256_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_sha256update(archive_sha256_ctx *ctx, const void *indata, | size_t insize) | { | SHA256_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_sha256final(archive_sha256_ctx *ctx, void *md) | { | SHA256_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA256_LIBSYSTEM) | | static int | __archive_libsystem_sha256init(archive_sha256_ctx *ctx) | { | CC_SHA256_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_sha256update(archive_sha256_ctx *ctx, const void *indata, | size_t insize) | { | CC_SHA256_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_sha256final(archive_sha256_ctx *ctx, void *md) | { | CC_SHA256_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA256_NETTLE) | | static int | __archive_nettle_sha256init(archive_sha256_ctx *ctx) | { | sha256_init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_sha256update(archive_sha256_ctx *ctx, const void *indata, | size_t insize) | { | sha256_update(ctx, insize, indata); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_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_openssl_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_openssl_sha256update(archive_sha256_ctx *ctx, const void *indata, | size_t insize) | { | EVP_DigestUpdate(*ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_openssl_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_windowsapi_sha256init(archive_sha256_ctx *ctx) | { | return (win_crypto_init(ctx, CALG_SHA_256)); | } | | static int | __archive_windowsapi_sha256update(archive_sha256_ctx *ctx, const void *indata, | size_t insize) | { | return (win_crypto_Update(ctx, indata, insize)); | } | | static int | __archive_windowsapi_sha256final(archive_sha256_ctx *ctx, void *md) | { | return (win_crypto_Final(md, 32, ctx)); | } | | #else | | static int | __archive_stub_sha256init(archive_sha256_ctx *ctx) | { | (void)ctx; /* UNUSED */ | return (ARCHIVE_FAILED); | } | | static int | __archive_stub_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_stub_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_libc_sha384init(archive_sha384_ctx *ctx) | { | SHA384_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc_sha384update(archive_sha384_ctx *ctx, const void *indata, | size_t insize) | { | SHA384_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc_sha384final(archive_sha384_ctx *ctx, void *md) | { | SHA384_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA384_LIBC2) | | static int | __archive_libc2_sha384init(archive_sha384_ctx *ctx) | { | SHA384Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc2_sha384update(archive_sha384_ctx *ctx, const void *indata, | size_t insize) | { | SHA384Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc2_sha384final(archive_sha384_ctx *ctx, void *md) | { | SHA384Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA384_LIBC3) | | static int | __archive_libc3_sha384init(archive_sha384_ctx *ctx) | { | SHA384Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc3_sha384update(archive_sha384_ctx *ctx, const void *indata, | size_t insize) | { | SHA384Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc3_sha384final(archive_sha384_ctx *ctx, void *md) | { | SHA384Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA384_LIBSYSTEM) | | static int | __archive_libsystem_sha384init(archive_sha384_ctx *ctx) | { | CC_SHA384_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_sha384update(archive_sha384_ctx *ctx, const void *indata, | size_t insize) | { | CC_SHA384_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_sha384final(archive_sha384_ctx *ctx, void *md) | { | CC_SHA384_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA384_NETTLE) | | static int | __archive_nettle_sha384init(archive_sha384_ctx *ctx) | { | sha384_init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_sha384update(archive_sha384_ctx *ctx, const void *indata, | size_t insize) | { | sha384_update(ctx, insize, indata); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_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_openssl_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_openssl_sha384update(archive_sha384_ctx *ctx, const void *indata, | size_t insize) | { | EVP_DigestUpdate(*ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_openssl_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_windowsapi_sha384init(archive_sha384_ctx *ctx) | { | return (win_crypto_init(ctx, CALG_SHA_384)); | } | | static int | __archive_windowsapi_sha384update(archive_sha384_ctx *ctx, const void *indata, | size_t insize) | { | return (win_crypto_Update(ctx, indata, insize)); | } | | static int | __archive_windowsapi_sha384final(archive_sha384_ctx *ctx, void *md) | { | return (win_crypto_Final(md, 48, ctx)); | } | | #else | | static int | __archive_stub_sha384init(archive_sha384_ctx *ctx) | { | (void)ctx; /* UNUSED */ | return (ARCHIVE_FAILED); | } | | static int | __archive_stub_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_stub_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_libc_sha512init(archive_sha512_ctx *ctx) | { | SHA512_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc_sha512update(archive_sha512_ctx *ctx, const void *indata, | size_t insize) | { | SHA512_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc_sha512final(archive_sha512_ctx *ctx, void *md) | { | SHA512_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA512_LIBC2) | | static int | __archive_libc2_sha512init(archive_sha512_ctx *ctx) | { | SHA512Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc2_sha512update(archive_sha512_ctx *ctx, const void *indata, | size_t insize) | { | SHA512Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc2_sha512final(archive_sha512_ctx *ctx, void *md) | { | SHA512Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA512_LIBC3) | | static int | __archive_libc3_sha512init(archive_sha512_ctx *ctx) | { | SHA512Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc3_sha512update(archive_sha512_ctx *ctx, const void *indata, | size_t insize) | { | SHA512Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc3_sha512final(archive_sha512_ctx *ctx, void *md) | { | SHA512Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA512_LIBMD) | | static int | __archive_libmd_sha512init(archive_sha512_ctx *ctx) | { | SHA512_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_sha512update(archive_sha512_ctx *ctx, const void *indata, | size_t insize) | { | SHA512_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_sha512final(archive_sha512_ctx *ctx, void *md) | { | SHA512_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA512_LIBSYSTEM) | | static int | __archive_libsystem_sha512init(archive_sha512_ctx *ctx) | { | CC_SHA512_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_sha512update(archive_sha512_ctx *ctx, const void *indata, | size_t insize) | { | CC_SHA512_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_sha512final(archive_sha512_ctx *ctx, void *md) | { | CC_SHA512_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA512_NETTLE) | | static int | __archive_nettle_sha512init(archive_sha512_ctx *ctx) | { | sha512_init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_sha512update(archive_sha512_ctx *ctx, const void *indata, | size_t insize) | { | sha512_update(ctx, insize, indata); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_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_openssl_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_openssl_sha512update(archive_sha512_ctx *ctx, const void *indata, | size_t insize) | { | EVP_DigestUpdate(*ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_openssl_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_windowsapi_sha512init(archive_sha512_ctx *ctx) | { | return (win_crypto_init(ctx, CALG_SHA_512)); | } | | static int | __archive_windowsapi_sha512update(archive_sha512_ctx *ctx, const void *indata, | size_t insize) | { | return (win_crypto_Update(ctx, indata, insize)); | } | | static int | __archive_windowsapi_sha512final(archive_sha512_ctx *ctx, void *md) | { | return (win_crypto_Final(md, 64, ctx)); | } | | #else | | static int | __archive_stub_sha512init(archive_sha512_ctx *ctx) | { | (void)ctx; /* UNUSED */ | return (ARCHIVE_FAILED); | } | | static int | __archive_stub_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_stub_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 */ | #if defined(ARCHIVE_CRYPTO_MD5_LIBC) | &__archive_libc_md5init, | &__archive_libc_md5update, | &__archive_libc_md5final, | #elif defined(ARCHIVE_CRYPTO_MD5_LIBMD) | &__archive_libmd_md5init, | &__archive_libmd_md5update, | &__archive_libmd_md5final, | #elif defined(ARCHIVE_CRYPTO_MD5_LIBSYSTEM) | &__archive_libsystem_md5init, | &__archive_libsystem_md5update, | &__archive_libsystem_md5final, | #elif defined(ARCHIVE_CRYPTO_MD5_NETTLE) | &__archive_nettle_md5init, | &__archive_nettle_md5update, | &__archive_nettle_md5final, | #elif defined(ARCHIVE_CRYPTO_MD5_OPENSSL) | &__archive_openssl_md5init, | &__archive_openssl_md5update, | &__archive_openssl_md5final, | #elif defined(ARCHIVE_CRYPTO_MD5_WIN) | &__archive_windowsapi_md5init, | &__archive_windowsapi_md5update, | &__archive_windowsapi_md5final, | #elif !defined(ARCHIVE_MD5_COMPILE_TEST) | &__archive_stub_md5init, | &__archive_stub_md5update, | &__archive_stub_md5final, | #endif | | /* RIPEMD160 */ | #if defined(ARCHIVE_CRYPTO_RMD160_LIBC) | &__archive_libc_ripemd160init, | &__archive_libc_ripemd160update, | &__archive_libc_ripemd160final, | #elif defined(ARCHIVE_CRYPTO_RMD160_LIBMD) | &__archive_libmd_ripemd160init, | &__archive_libmd_ripemd160update, | &__archive_libmd_ripemd160final, | #elif defined(ARCHIVE_CRYPTO_RMD160_NETTLE) | &__archive_nettle_ripemd160init, | &__archive_nettle_ripemd160update, | &__archive_nettle_ripemd160final, | #elif defined(ARCHIVE_CRYPTO_RMD160_OPENSSL) | &__archive_openssl_ripemd160init, | &__archive_openssl_ripemd160update, | &__archive_openssl_ripemd160final, | #elif !defined(ARCHIVE_RMD160_COMPILE_TEST) | &__archive_stub_ripemd160init, | &__archive_stub_ripemd160update, | &__archive_stub_ripemd160final, | #endif | | /* SHA1 */ | #if defined(ARCHIVE_CRYPTO_SHA1_LIBC) | &__archive_libc_sha1init, | &__archive_libc_sha1update, | &__archive_libc_sha1final, | #elif defined(ARCHIVE_CRYPTO_SHA1_LIBMD) | &__archive_libmd_sha1init, | &__archive_libmd_sha1update, | &__archive_libmd_sha1final, | #elif defined(ARCHIVE_CRYPTO_SHA1_LIBSYSTEM) | &__archive_libsystem_sha1init, | &__archive_libsystem_sha1update, | &__archive_libsystem_sha1final, | #elif defined(ARCHIVE_CRYPTO_SHA1_NETTLE) | &__archive_nettle_sha1init, | &__archive_nettle_sha1update, | &__archive_nettle_sha1final, | #elif defined(ARCHIVE_CRYPTO_SHA1_OPENSSL) | &__archive_openssl_sha1init, | &__archive_openssl_sha1update, | &__archive_openssl_sha1final, | #elif defined(ARCHIVE_CRYPTO_SHA1_WIN) | &__archive_windowsapi_sha1init, | &__archive_windowsapi_sha1update, | &__archive_windowsapi_sha1final, | #elif !defined(ARCHIVE_SHA1_COMPILE_TEST) | &__archive_stub_sha1init, | &__archive_stub_sha1update, | &__archive_stub_sha1final, | #endif | | /* SHA256 */ | #if defined(ARCHIVE_CRYPTO_SHA256_LIBC) | &__archive_libc_sha256init, | &__archive_libc_sha256update, | &__archive_libc_sha256final, | #elif defined(ARCHIVE_CRYPTO_SHA256_LIBC2) | &__archive_libc2_sha256init, | &__archive_libc2_sha256update, | &__archive_libc2_sha256final, | #elif defined(ARCHIVE_CRYPTO_SHA256_LIBC3) | &__archive_libc3_sha256init, | &__archive_libc3_sha256update, | &__archive_libc3_sha256final, | #elif defined(ARCHIVE_CRYPTO_SHA256_LIBMD) | &__archive_libmd_sha256init, | &__archive_libmd_sha256update, | &__archive_libmd_sha256final, | #elif defined(ARCHIVE_CRYPTO_SHA256_LIBSYSTEM) | &__archive_libsystem_sha256init, | &__archive_libsystem_sha256update, | &__archive_libsystem_sha256final, | #elif defined(ARCHIVE_CRYPTO_SHA256_NETTLE) | &__archive_nettle_sha256init, | &__archive_nettle_sha256update, | &__archive_nettle_sha256final, | #elif defined(ARCHIVE_CRYPTO_SHA256_OPENSSL) | &__archive_openssl_sha256init, | &__archive_openssl_sha256update, | &__archive_openssl_sha256final, | #elif defined(ARCHIVE_CRYPTO_SHA256_WIN) | &__archive_windowsapi_sha256init, | &__archive_windowsapi_sha256update, | &__archive_windowsapi_sha256final, | #elif !defined(ARCHIVE_SHA256_COMPILE_TEST) | &__archive_stub_sha256init, | &__archive_stub_sha256update, | &__archive_stub_sha256final, | #endif | | /* SHA384 */ | #if defined(ARCHIVE_CRYPTO_SHA384_LIBC) | &__archive_libc_sha384init, | &__archive_libc_sha384update, | &__archive_libc_sha384final, | #elif defined(ARCHIVE_CRYPTO_SHA384_LIBC2) | &__archive_libc2_sha384init, | &__archive_libc2_sha384update, | &__archive_libc2_sha384final, | #elif defined(ARCHIVE_CRYPTO_SHA384_LIBC3) | &__archive_libc3_sha384init, | &__archive_libc3_sha384update, | &__archive_libc3_sha384final, | #elif defined(ARCHIVE_CRYPTO_SHA384_LIBSYSTEM) | &__archive_libsystem_sha384init, | &__archive_libsystem_sha384update, | &__archive_libsystem_sha384final, | #elif defined(ARCHIVE_CRYPTO_SHA384_NETTLE) | &__archive_nettle_sha384init, | &__archive_nettle_sha384update, | &__archive_nettle_sha384final, | #elif defined(ARCHIVE_CRYPTO_SHA384_OPENSSL) | &__archive_openssl_sha384init, | &__archive_openssl_sha384update, | &__archive_openssl_sha384final, | #elif defined(ARCHIVE_CRYPTO_SHA384_WIN) | &__archive_windowsapi_sha384init, | &__archive_windowsapi_sha384update, | &__archive_windowsapi_sha384final, | #elif !defined(ARCHIVE_SHA384_COMPILE_TEST) | &__archive_stub_sha384init, | &__archive_stub_sha384update, | &__archive_stub_sha384final, | #endif | | /* SHA512 */ | #if defined(ARCHIVE_CRYPTO_SHA512_LIBC) | &__archive_libc_sha512init, | &__archive_libc_sha512update, | &__archive_libc_sha512final | #elif defined(ARCHIVE_CRYPTO_SHA512_LIBC2) | &__archive_libc2_sha512init, | &__archive_libc2_sha512update, | &__archive_libc2_sha512final | #elif defined(ARCHIVE_CRYPTO_SHA512_LIBC3) | &__archive_libc3_sha512init, | &__archive_libc3_sha512update, | &__archive_libc3_sha512final | #elif defined(ARCHIVE_CRYPTO_SHA512_LIBMD) | &__archive_libmd_sha512init, | &__archive_libmd_sha512update, | &__archive_libmd_sha512final | #elif defined(ARCHIVE_CRYPTO_SHA512_LIBSYSTEM) | &__archive_libsystem_sha512init, | &__archive_libsystem_sha512update, | &__archive_libsystem_sha512final | #elif defined(ARCHIVE_CRYPTO_SHA512_NETTLE) | &__archive_nettle_sha512init, | &__archive_nettle_sha512update, | &__archive_nettle_sha512final | #elif defined(ARCHIVE_CRYPTO_SHA512_OPENSSL) | &__archive_openssl_sha512init, | &__archive_openssl_sha512update, | &__archive_openssl_sha512final | #elif defined(ARCHIVE_CRYPTO_SHA512_WIN) | &__archive_windowsapi_sha512init, | &__archive_windowsapi_sha512update, | &__archive_windowsapi_sha512final | #elif !defined(ARCHIVE_SHA512_COMPILE_TEST) | &__archive_stub_sha512init, | &__archive_stub_sha512update, | &__archive_stub_sha512final | #endif | }; | | 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; | } | configure:19682: result: no configure:19696: checking support for ARCHIVE_CRYPTO_SHA384_LIBC3 configure:19718: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -o conftest -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -I. -I. -I./libarchive -Wl,-elf2flt -static conftest.c -llzma >&5 In file included from conftest.c:219:0: ./libarchive/archive_digest_private.h:78:10: fatal error: sha2.h: No such file or directory #include ^~~~~~~~ compilation terminated. configure:19718: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "libarchive" | #define PACKAGE_TARNAME "libarchive" | #define PACKAGE_VERSION "3.4.0" | #define PACKAGE_STRING "libarchive 3.4.0" | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com" | #define PACKAGE_URL "" | #define PACKAGE "libarchive" | #define VERSION "3.4.0" | #define LIBARCHIVE_VERSION_STRING "3.4.0" | #define LIBARCHIVE_VERSION_NUMBER "3004000" | #define BSDCPIO_VERSION_STRING "3.4.0" | #define BSDTAR_VERSION_STRING "3.4.0" | #define BSDCAT_VERSION_STRING "3.4.0" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define __EXTENSIONS__ 1 | #define _ALL_SOURCE 1 | #define _GNU_SOURCE 1 | #define _POSIX_PTHREAD_SEMANTICS 1 | #define _TANDEM_SOURCE 1 | #define LT_OBJDIR ".libs/" | #define HAVE_DIRENT_H 1 | #define HAVE_SYS_WAIT_H 1 | #define HAVE_CTYPE_H 1 | #define HAVE_ERRNO_H 1 | #define HAVE_FCNTL_H 1 | #define HAVE_GRP_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_LANGINFO_H 1 | #define HAVE_LIMITS_H 1 | #define HAVE_LINUX_FIEMAP_H 1 | #define HAVE_LINUX_FS_H 1 | #define HAVE_LINUX_MAGIC_H 1 | #define HAVE_LINUX_TYPES_H 1 | #define HAVE_WORKING_FS_IOC_GETFLAGS 1 | #define HAVE_LOCALE_H 1 | #define HAVE_PATHS_H 1 | #define HAVE_POLL_H 1 | #define HAVE_PTHREAD_H 1 | #define HAVE_PWD_H 1 | #define HAVE_SIGNAL_H 1 | #define HAVE_SPAWN_H 1 | #define HAVE_STDARG_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_SYS_CDEFS_H 1 | #define HAVE_SYS_IOCTL_H 1 | #define HAVE_SYS_MOUNT_H 1 | #define HAVE_SYS_PARAM_H 1 | #define HAVE_SYS_POLL_H 1 | #define HAVE_SYS_SELECT_H 1 | #define HAVE_SYS_STATFS_H 1 | #define HAVE_SYS_STATVFS_H 1 | #define HAVE_SYS_SYSMACROS_H 1 | #define HAVE_SYS_TIME_H 1 | #define HAVE_SYS_UTSNAME_H 1 | #define HAVE_SYS_VFS_H 1 | #define HAVE_SYS_XATTR_H 1 | #define HAVE_TIME_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_UTIME_H 1 | #define HAVE_WCHAR_H 1 | #define HAVE_WCTYPE_H 1 | #define HAVE_ICONV 1 | #define ICONV_CONST | #define HAVE_ICONV_H 1 | #define HAVE_LZMA_H 1 | #define HAVE_LIBLZMA 1 | #define HAVE_LZMA_STREAM_ENCODER_MT 1 | #define HAVE_REGEX_H 1 | #define HAVE_STRUCT_TM_TM_GMTOFF 1 | #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1 | #define HAVE_STRUCT_STAT_ST_BLKSIZE 1 | #define HAVE_UINTMAX_T 1 | #define HAVE_UNSIGNED_LONG_LONG 1 | #define HAVE_UNSIGNED_LONG_LONG_INT 1 | #define HAVE_LONG_LONG_INT 1 | #define HAVE_INTMAX_T 1 | #define HAVE_UINTMAX_T 1 | #define HAVE_DECL_SIZE_MAX 1 | #define HAVE_DECL_INT32_MAX 1 | #define HAVE_DECL_INT32_MIN 1 | #define HAVE_DECL_INT64_MAX 1 | #define HAVE_DECL_INT64_MIN 1 | #define HAVE_DECL_UINT64_MAX 1 | #define HAVE_DECL_UINT32_MAX 1 | #define HAVE_DECL_INTMAX_MAX 1 | #define HAVE_DECL_INTMAX_MIN 1 | #define HAVE_DECL_UINTMAX_MAX 1 | #define HAVE_DECL_SSIZE_MAX 1 | #define HAVE_EILSEQ 1 | #define HAVE_WCHAR_T 1 | #define SIZEOF_WCHAR_T 4 | #define TIME_WITH_SYS_TIME 1 | #define HAVE_FSEEKO 1 | #define HAVE_LSTAT_EMPTY_STRING_BUG 1 | #define HAVE_STAT_EMPTY_STRING_BUG 1 | #define HAVE_DECL_STRERROR_R 1 | #define HAVE_STRERROR_R 1 | #define STRERROR_R_CHAR_P 1 | #define HAVE_STRFTIME 1 | #define HAVE_VPRINTF 1 | #define HAVE_CHOWN 1 | #define HAVE_CHROOT 1 | #define HAVE_CTIME_R 1 | #define HAVE_FCHDIR 1 | #define HAVE_FCHMOD 1 | #define HAVE_FCHOWN 1 | #define HAVE_FCNTL 1 | #define HAVE_FDOPENDIR 1 | #define HAVE_FSTAT 1 | #define HAVE_FSTATAT 1 | #define HAVE_FSTATFS 1 | #define HAVE_FSTATVFS 1 | #define HAVE_FTRUNCATE 1 | #define HAVE_FUTIMENS 1 | #define HAVE_FUTIMESAT 1 | #define HAVE_GETEUID 1 | #define HAVE_GETPID 1 | #define HAVE_GETGRGID_R 1 | #define HAVE_GETGRNAM_R 1 | #define HAVE_GETPWNAM_R 1 | #define HAVE_GETPWUID_R 1 | #define HAVE_GMTIME_R 1 | #define HAVE_LCHOWN 1 | #define HAVE_LINK 1 | #define HAVE_LOCALTIME_R 1 | #define HAVE_LSTAT 1 | #define HAVE_LUTIMES 1 | #define HAVE_MBRTOWC 1 | #define HAVE_MEMMOVE 1 | #define HAVE_MEMSET 1 | #define HAVE_MKDIR 1 | #define HAVE_MKFIFO 1 | #define HAVE_MKNOD 1 | #define HAVE_MKSTEMP 1 | #define HAVE_NL_LANGINFO 1 | #define HAVE_OPENAT 1 | #define HAVE_PIPE 1 | #define HAVE_POLL 1 | #define HAVE_POSIX_SPAWNP 1 | #define HAVE_READLINK 1 | #define HAVE_READLINKAT 1 | #define HAVE_SELECT 1 | #define HAVE_SETENV 1 | #define HAVE_SETLOCALE 1 | #define HAVE_SIGACTION 1 | #define HAVE_STATFS 1 | #define HAVE_STATVFS 1 | #define HAVE_STRCHR 1 | #define HAVE_STRDUP 1 | #define HAVE_STRERROR 1 | #define HAVE_STRRCHR 1 | #define HAVE_SYMLINK 1 | #define HAVE_TIMEGM 1 | #define HAVE_TZSET 1 | #define HAVE_UNLINKAT 1 | #define HAVE_UNSETENV 1 | #define HAVE_UTIME 1 | #define HAVE_UTIMENSAT 1 | #define HAVE_UTIMES 1 | #define HAVE_VFORK 1 | #define HAVE_WCRTOMB 1 | #define HAVE_WCSCMP 1 | #define HAVE_WCSCPY 1 | #define HAVE_WCSLEN 1 | #define HAVE_WCTOMB 1 | #define HAVE_WMEMCMP 1 | #define HAVE_WMEMCPY 1 | #define HAVE_WMEMMOVE 1 | #define HAVE_READDIR_R 1 | #define HAVE_DIRFD 1 | /* end confdefs.h. */ | | #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_libc_md5init(archive_md5_ctx *ctx) | { | MD5Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc_md5update(archive_md5_ctx *ctx, const void *indata, | size_t insize) | { | MD5Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc_md5final(archive_md5_ctx *ctx, void *md) | { | MD5Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_MD5_LIBMD) | | static int | __archive_libmd_md5init(archive_md5_ctx *ctx) | { | MD5Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_md5update(archive_md5_ctx *ctx, const void *indata, | size_t insize) | { | MD5Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_md5final(archive_md5_ctx *ctx, void *md) | { | MD5Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_MD5_LIBSYSTEM) | | static int | __archive_libsystem_md5init(archive_md5_ctx *ctx) | { | CC_MD5_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_md5update(archive_md5_ctx *ctx, const void *indata, | size_t insize) | { | CC_MD5_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_md5final(archive_md5_ctx *ctx, void *md) | { | CC_MD5_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_MD5_NETTLE) | | static int | __archive_nettle_md5init(archive_md5_ctx *ctx) | { | md5_init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_md5update(archive_md5_ctx *ctx, const void *indata, | size_t insize) | { | md5_update(ctx, insize, indata); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_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_openssl_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_openssl_md5update(archive_md5_ctx *ctx, const void *indata, | size_t insize) | { | EVP_DigestUpdate(*ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_openssl_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_windowsapi_md5init(archive_md5_ctx *ctx) | { | return (win_crypto_init(ctx, CALG_MD5)); | } | | static int | __archive_windowsapi_md5update(archive_md5_ctx *ctx, const void *indata, | size_t insize) | { | return (win_crypto_Update(ctx, indata, insize)); | } | | static int | __archive_windowsapi_md5final(archive_md5_ctx *ctx, void *md) | { | return (win_crypto_Final(md, 16, ctx)); | } | | #else | | static int | __archive_stub_md5init(archive_md5_ctx *ctx) | { | (void)ctx; /* UNUSED */ | return (ARCHIVE_FAILED); | } | | static int | __archive_stub_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_stub_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_libc_ripemd160init(archive_rmd160_ctx *ctx) | { | RMD160Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, | size_t insize) | { | RMD160Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc_ripemd160final(archive_rmd160_ctx *ctx, void *md) | { | RMD160Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_RMD160_LIBMD) | | static int | __archive_libmd_ripemd160init(archive_rmd160_ctx *ctx) | { | RIPEMD160_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, | size_t insize) | { | RIPEMD160_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_ripemd160final(archive_rmd160_ctx *ctx, void *md) | { | RIPEMD160_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_RMD160_NETTLE) | | static int | __archive_nettle_ripemd160init(archive_rmd160_ctx *ctx) | { | ripemd160_init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, | size_t insize) | { | ripemd160_update(ctx, insize, indata); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_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_openssl_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_openssl_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, | size_t insize) | { | EVP_DigestUpdate(*ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_openssl_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_stub_ripemd160init(archive_rmd160_ctx *ctx) | { | (void)ctx; /* UNUSED */ | return (ARCHIVE_FAILED); | } | | static int | __archive_stub_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_stub_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_libc_sha1init(archive_sha1_ctx *ctx) | { | SHA1Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc_sha1update(archive_sha1_ctx *ctx, const void *indata, | size_t insize) | { | SHA1Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc_sha1final(archive_sha1_ctx *ctx, void *md) | { | SHA1Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA1_LIBMD) | | static int | __archive_libmd_sha1init(archive_sha1_ctx *ctx) | { | SHA1_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_sha1update(archive_sha1_ctx *ctx, const void *indata, | size_t insize) | { | SHA1_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_sha1final(archive_sha1_ctx *ctx, void *md) | { | SHA1_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA1_LIBSYSTEM) | | static int | __archive_libsystem_sha1init(archive_sha1_ctx *ctx) | { | CC_SHA1_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_sha1update(archive_sha1_ctx *ctx, const void *indata, | size_t insize) | { | CC_SHA1_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_sha1final(archive_sha1_ctx *ctx, void *md) | { | CC_SHA1_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA1_NETTLE) | | static int | __archive_nettle_sha1init(archive_sha1_ctx *ctx) | { | sha1_init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_sha1update(archive_sha1_ctx *ctx, const void *indata, | size_t insize) | { | sha1_update(ctx, insize, indata); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_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_openssl_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_openssl_sha1update(archive_sha1_ctx *ctx, const void *indata, | size_t insize) | { | EVP_DigestUpdate(*ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_openssl_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_windowsapi_sha1init(archive_sha1_ctx *ctx) | { | return (win_crypto_init(ctx, CALG_SHA1)); | } | | static int | __archive_windowsapi_sha1update(archive_sha1_ctx *ctx, const void *indata, | size_t insize) | { | return (win_crypto_Update(ctx, indata, insize)); | } | | static int | __archive_windowsapi_sha1final(archive_sha1_ctx *ctx, void *md) | { | return (win_crypto_Final(md, 20, ctx)); | } | | #else | | static int | __archive_stub_sha1init(archive_sha1_ctx *ctx) | { | (void)ctx; /* UNUSED */ | return (ARCHIVE_FAILED); | } | | static int | __archive_stub_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_stub_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_libc_sha256init(archive_sha256_ctx *ctx) | { | SHA256_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc_sha256update(archive_sha256_ctx *ctx, const void *indata, | size_t insize) | { | SHA256_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc_sha256final(archive_sha256_ctx *ctx, void *md) | { | SHA256_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA256_LIBC2) | | static int | __archive_libc2_sha256init(archive_sha256_ctx *ctx) | { | SHA256Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc2_sha256update(archive_sha256_ctx *ctx, const void *indata, | size_t insize) | { | SHA256Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc2_sha256final(archive_sha256_ctx *ctx, void *md) | { | SHA256Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA256_LIBC3) | | static int | __archive_libc3_sha256init(archive_sha256_ctx *ctx) | { | SHA256Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc3_sha256update(archive_sha256_ctx *ctx, const void *indata, | size_t insize) | { | SHA256Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc3_sha256final(archive_sha256_ctx *ctx, void *md) | { | SHA256Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA256_LIBMD) | | static int | __archive_libmd_sha256init(archive_sha256_ctx *ctx) | { | SHA256_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_sha256update(archive_sha256_ctx *ctx, const void *indata, | size_t insize) | { | SHA256_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_sha256final(archive_sha256_ctx *ctx, void *md) | { | SHA256_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA256_LIBSYSTEM) | | static int | __archive_libsystem_sha256init(archive_sha256_ctx *ctx) | { | CC_SHA256_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_sha256update(archive_sha256_ctx *ctx, const void *indata, | size_t insize) | { | CC_SHA256_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_sha256final(archive_sha256_ctx *ctx, void *md) | { | CC_SHA256_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA256_NETTLE) | | static int | __archive_nettle_sha256init(archive_sha256_ctx *ctx) | { | sha256_init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_sha256update(archive_sha256_ctx *ctx, const void *indata, | size_t insize) | { | sha256_update(ctx, insize, indata); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_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_openssl_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_openssl_sha256update(archive_sha256_ctx *ctx, const void *indata, | size_t insize) | { | EVP_DigestUpdate(*ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_openssl_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_windowsapi_sha256init(archive_sha256_ctx *ctx) | { | return (win_crypto_init(ctx, CALG_SHA_256)); | } | | static int | __archive_windowsapi_sha256update(archive_sha256_ctx *ctx, const void *indata, | size_t insize) | { | return (win_crypto_Update(ctx, indata, insize)); | } | | static int | __archive_windowsapi_sha256final(archive_sha256_ctx *ctx, void *md) | { | return (win_crypto_Final(md, 32, ctx)); | } | | #else | | static int | __archive_stub_sha256init(archive_sha256_ctx *ctx) | { | (void)ctx; /* UNUSED */ | return (ARCHIVE_FAILED); | } | | static int | __archive_stub_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_stub_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_libc_sha384init(archive_sha384_ctx *ctx) | { | SHA384_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc_sha384update(archive_sha384_ctx *ctx, const void *indata, | size_t insize) | { | SHA384_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc_sha384final(archive_sha384_ctx *ctx, void *md) | { | SHA384_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA384_LIBC2) | | static int | __archive_libc2_sha384init(archive_sha384_ctx *ctx) | { | SHA384Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc2_sha384update(archive_sha384_ctx *ctx, const void *indata, | size_t insize) | { | SHA384Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc2_sha384final(archive_sha384_ctx *ctx, void *md) | { | SHA384Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA384_LIBC3) | | static int | __archive_libc3_sha384init(archive_sha384_ctx *ctx) | { | SHA384Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc3_sha384update(archive_sha384_ctx *ctx, const void *indata, | size_t insize) | { | SHA384Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc3_sha384final(archive_sha384_ctx *ctx, void *md) | { | SHA384Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA384_LIBSYSTEM) | | static int | __archive_libsystem_sha384init(archive_sha384_ctx *ctx) | { | CC_SHA384_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_sha384update(archive_sha384_ctx *ctx, const void *indata, | size_t insize) | { | CC_SHA384_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_sha384final(archive_sha384_ctx *ctx, void *md) | { | CC_SHA384_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA384_NETTLE) | | static int | __archive_nettle_sha384init(archive_sha384_ctx *ctx) | { | sha384_init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_sha384update(archive_sha384_ctx *ctx, const void *indata, | size_t insize) | { | sha384_update(ctx, insize, indata); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_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_openssl_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_openssl_sha384update(archive_sha384_ctx *ctx, const void *indata, | size_t insize) | { | EVP_DigestUpdate(*ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_openssl_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_windowsapi_sha384init(archive_sha384_ctx *ctx) | { | return (win_crypto_init(ctx, CALG_SHA_384)); | } | | static int | __archive_windowsapi_sha384update(archive_sha384_ctx *ctx, const void *indata, | size_t insize) | { | return (win_crypto_Update(ctx, indata, insize)); | } | | static int | __archive_windowsapi_sha384final(archive_sha384_ctx *ctx, void *md) | { | return (win_crypto_Final(md, 48, ctx)); | } | | #else | | static int | __archive_stub_sha384init(archive_sha384_ctx *ctx) | { | (void)ctx; /* UNUSED */ | return (ARCHIVE_FAILED); | } | | static int | __archive_stub_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_stub_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_libc_sha512init(archive_sha512_ctx *ctx) | { | SHA512_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc_sha512update(archive_sha512_ctx *ctx, const void *indata, | size_t insize) | { | SHA512_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc_sha512final(archive_sha512_ctx *ctx, void *md) | { | SHA512_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA512_LIBC2) | | static int | __archive_libc2_sha512init(archive_sha512_ctx *ctx) | { | SHA512Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc2_sha512update(archive_sha512_ctx *ctx, const void *indata, | size_t insize) | { | SHA512Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc2_sha512final(archive_sha512_ctx *ctx, void *md) | { | SHA512Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA512_LIBC3) | | static int | __archive_libc3_sha512init(archive_sha512_ctx *ctx) | { | SHA512Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc3_sha512update(archive_sha512_ctx *ctx, const void *indata, | size_t insize) | { | SHA512Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc3_sha512final(archive_sha512_ctx *ctx, void *md) | { | SHA512Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA512_LIBMD) | | static int | __archive_libmd_sha512init(archive_sha512_ctx *ctx) | { | SHA512_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_sha512update(archive_sha512_ctx *ctx, const void *indata, | size_t insize) | { | SHA512_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_sha512final(archive_sha512_ctx *ctx, void *md) | { | SHA512_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA512_LIBSYSTEM) | | static int | __archive_libsystem_sha512init(archive_sha512_ctx *ctx) | { | CC_SHA512_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_sha512update(archive_sha512_ctx *ctx, const void *indata, | size_t insize) | { | CC_SHA512_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_sha512final(archive_sha512_ctx *ctx, void *md) | { | CC_SHA512_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA512_NETTLE) | | static int | __archive_nettle_sha512init(archive_sha512_ctx *ctx) | { | sha512_init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_sha512update(archive_sha512_ctx *ctx, const void *indata, | size_t insize) | { | sha512_update(ctx, insize, indata); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_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_openssl_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_openssl_sha512update(archive_sha512_ctx *ctx, const void *indata, | size_t insize) | { | EVP_DigestUpdate(*ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_openssl_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_windowsapi_sha512init(archive_sha512_ctx *ctx) | { | return (win_crypto_init(ctx, CALG_SHA_512)); | } | | static int | __archive_windowsapi_sha512update(archive_sha512_ctx *ctx, const void *indata, | size_t insize) | { | return (win_crypto_Update(ctx, indata, insize)); | } | | static int | __archive_windowsapi_sha512final(archive_sha512_ctx *ctx, void *md) | { | return (win_crypto_Final(md, 64, ctx)); | } | | #else | | static int | __archive_stub_sha512init(archive_sha512_ctx *ctx) | { | (void)ctx; /* UNUSED */ | return (ARCHIVE_FAILED); | } | | static int | __archive_stub_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_stub_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 */ | #if defined(ARCHIVE_CRYPTO_MD5_LIBC) | &__archive_libc_md5init, | &__archive_libc_md5update, | &__archive_libc_md5final, | #elif defined(ARCHIVE_CRYPTO_MD5_LIBMD) | &__archive_libmd_md5init, | &__archive_libmd_md5update, | &__archive_libmd_md5final, | #elif defined(ARCHIVE_CRYPTO_MD5_LIBSYSTEM) | &__archive_libsystem_md5init, | &__archive_libsystem_md5update, | &__archive_libsystem_md5final, | #elif defined(ARCHIVE_CRYPTO_MD5_NETTLE) | &__archive_nettle_md5init, | &__archive_nettle_md5update, | &__archive_nettle_md5final, | #elif defined(ARCHIVE_CRYPTO_MD5_OPENSSL) | &__archive_openssl_md5init, | &__archive_openssl_md5update, | &__archive_openssl_md5final, | #elif defined(ARCHIVE_CRYPTO_MD5_WIN) | &__archive_windowsapi_md5init, | &__archive_windowsapi_md5update, | &__archive_windowsapi_md5final, | #elif !defined(ARCHIVE_MD5_COMPILE_TEST) | &__archive_stub_md5init, | &__archive_stub_md5update, | &__archive_stub_md5final, | #endif | | /* RIPEMD160 */ | #if defined(ARCHIVE_CRYPTO_RMD160_LIBC) | &__archive_libc_ripemd160init, | &__archive_libc_ripemd160update, | &__archive_libc_ripemd160final, | #elif defined(ARCHIVE_CRYPTO_RMD160_LIBMD) | &__archive_libmd_ripemd160init, | &__archive_libmd_ripemd160update, | &__archive_libmd_ripemd160final, | #elif defined(ARCHIVE_CRYPTO_RMD160_NETTLE) | &__archive_nettle_ripemd160init, | &__archive_nettle_ripemd160update, | &__archive_nettle_ripemd160final, | #elif defined(ARCHIVE_CRYPTO_RMD160_OPENSSL) | &__archive_openssl_ripemd160init, | &__archive_openssl_ripemd160update, | &__archive_openssl_ripemd160final, | #elif !defined(ARCHIVE_RMD160_COMPILE_TEST) | &__archive_stub_ripemd160init, | &__archive_stub_ripemd160update, | &__archive_stub_ripemd160final, | #endif | | /* SHA1 */ | #if defined(ARCHIVE_CRYPTO_SHA1_LIBC) | &__archive_libc_sha1init, | &__archive_libc_sha1update, | &__archive_libc_sha1final, | #elif defined(ARCHIVE_CRYPTO_SHA1_LIBMD) | &__archive_libmd_sha1init, | &__archive_libmd_sha1update, | &__archive_libmd_sha1final, | #elif defined(ARCHIVE_CRYPTO_SHA1_LIBSYSTEM) | &__archive_libsystem_sha1init, | &__archive_libsystem_sha1update, | &__archive_libsystem_sha1final, | #elif defined(ARCHIVE_CRYPTO_SHA1_NETTLE) | &__archive_nettle_sha1init, | &__archive_nettle_sha1update, | &__archive_nettle_sha1final, | #elif defined(ARCHIVE_CRYPTO_SHA1_OPENSSL) | &__archive_openssl_sha1init, | &__archive_openssl_sha1update, | &__archive_openssl_sha1final, | #elif defined(ARCHIVE_CRYPTO_SHA1_WIN) | &__archive_windowsapi_sha1init, | &__archive_windowsapi_sha1update, | &__archive_windowsapi_sha1final, | #elif !defined(ARCHIVE_SHA1_COMPILE_TEST) | &__archive_stub_sha1init, | &__archive_stub_sha1update, | &__archive_stub_sha1final, | #endif | | /* SHA256 */ | #if defined(ARCHIVE_CRYPTO_SHA256_LIBC) | &__archive_libc_sha256init, | &__archive_libc_sha256update, | &__archive_libc_sha256final, | #elif defined(ARCHIVE_CRYPTO_SHA256_LIBC2) | &__archive_libc2_sha256init, | &__archive_libc2_sha256update, | &__archive_libc2_sha256final, | #elif defined(ARCHIVE_CRYPTO_SHA256_LIBC3) | &__archive_libc3_sha256init, | &__archive_libc3_sha256update, | &__archive_libc3_sha256final, | #elif defined(ARCHIVE_CRYPTO_SHA256_LIBMD) | &__archive_libmd_sha256init, | &__archive_libmd_sha256update, | &__archive_libmd_sha256final, | #elif defined(ARCHIVE_CRYPTO_SHA256_LIBSYSTEM) | &__archive_libsystem_sha256init, | &__archive_libsystem_sha256update, | &__archive_libsystem_sha256final, | #elif defined(ARCHIVE_CRYPTO_SHA256_NETTLE) | &__archive_nettle_sha256init, | &__archive_nettle_sha256update, | &__archive_nettle_sha256final, | #elif defined(ARCHIVE_CRYPTO_SHA256_OPENSSL) | &__archive_openssl_sha256init, | &__archive_openssl_sha256update, | &__archive_openssl_sha256final, | #elif defined(ARCHIVE_CRYPTO_SHA256_WIN) | &__archive_windowsapi_sha256init, | &__archive_windowsapi_sha256update, | &__archive_windowsapi_sha256final, | #elif !defined(ARCHIVE_SHA256_COMPILE_TEST) | &__archive_stub_sha256init, | &__archive_stub_sha256update, | &__archive_stub_sha256final, | #endif | | /* SHA384 */ | #if defined(ARCHIVE_CRYPTO_SHA384_LIBC) | &__archive_libc_sha384init, | &__archive_libc_sha384update, | &__archive_libc_sha384final, | #elif defined(ARCHIVE_CRYPTO_SHA384_LIBC2) | &__archive_libc2_sha384init, | &__archive_libc2_sha384update, | &__archive_libc2_sha384final, | #elif defined(ARCHIVE_CRYPTO_SHA384_LIBC3) | &__archive_libc3_sha384init, | &__archive_libc3_sha384update, | &__archive_libc3_sha384final, | #elif defined(ARCHIVE_CRYPTO_SHA384_LIBSYSTEM) | &__archive_libsystem_sha384init, | &__archive_libsystem_sha384update, | &__archive_libsystem_sha384final, | #elif defined(ARCHIVE_CRYPTO_SHA384_NETTLE) | &__archive_nettle_sha384init, | &__archive_nettle_sha384update, | &__archive_nettle_sha384final, | #elif defined(ARCHIVE_CRYPTO_SHA384_OPENSSL) | &__archive_openssl_sha384init, | &__archive_openssl_sha384update, | &__archive_openssl_sha384final, | #elif defined(ARCHIVE_CRYPTO_SHA384_WIN) | &__archive_windowsapi_sha384init, | &__archive_windowsapi_sha384update, | &__archive_windowsapi_sha384final, | #elif !defined(ARCHIVE_SHA384_COMPILE_TEST) | &__archive_stub_sha384init, | &__archive_stub_sha384update, | &__archive_stub_sha384final, | #endif | | /* SHA512 */ | #if defined(ARCHIVE_CRYPTO_SHA512_LIBC) | &__archive_libc_sha512init, | &__archive_libc_sha512update, | &__archive_libc_sha512final | #elif defined(ARCHIVE_CRYPTO_SHA512_LIBC2) | &__archive_libc2_sha512init, | &__archive_libc2_sha512update, | &__archive_libc2_sha512final | #elif defined(ARCHIVE_CRYPTO_SHA512_LIBC3) | &__archive_libc3_sha512init, | &__archive_libc3_sha512update, | &__archive_libc3_sha512final | #elif defined(ARCHIVE_CRYPTO_SHA512_LIBMD) | &__archive_libmd_sha512init, | &__archive_libmd_sha512update, | &__archive_libmd_sha512final | #elif defined(ARCHIVE_CRYPTO_SHA512_LIBSYSTEM) | &__archive_libsystem_sha512init, | &__archive_libsystem_sha512update, | &__archive_libsystem_sha512final | #elif defined(ARCHIVE_CRYPTO_SHA512_NETTLE) | &__archive_nettle_sha512init, | &__archive_nettle_sha512update, | &__archive_nettle_sha512final | #elif defined(ARCHIVE_CRYPTO_SHA512_OPENSSL) | &__archive_openssl_sha512init, | &__archive_openssl_sha512update, | &__archive_openssl_sha512final | #elif defined(ARCHIVE_CRYPTO_SHA512_WIN) | &__archive_windowsapi_sha512init, | &__archive_windowsapi_sha512update, | &__archive_windowsapi_sha512final | #elif !defined(ARCHIVE_SHA512_COMPILE_TEST) | &__archive_stub_sha512init, | &__archive_stub_sha512update, | &__archive_stub_sha512final | #endif | }; | | 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; | } | configure:19728: result: no configure:19742: checking support for ARCHIVE_CRYPTO_SHA384_LIBSYSTEM configure:19764: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -o conftest -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -I. -I. -I./libarchive -Wl,-elf2flt -static conftest.c -llzma >&5 In file included from conftest.c:219:0: ./libarchive/archive_digest_private.h:112:10: fatal error: CommonCrypto/CommonDigest.h: No such file or directory #include ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ compilation terminated. configure:19764: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "libarchive" | #define PACKAGE_TARNAME "libarchive" | #define PACKAGE_VERSION "3.4.0" | #define PACKAGE_STRING "libarchive 3.4.0" | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com" | #define PACKAGE_URL "" | #define PACKAGE "libarchive" | #define VERSION "3.4.0" | #define LIBARCHIVE_VERSION_STRING "3.4.0" | #define LIBARCHIVE_VERSION_NUMBER "3004000" | #define BSDCPIO_VERSION_STRING "3.4.0" | #define BSDTAR_VERSION_STRING "3.4.0" | #define BSDCAT_VERSION_STRING "3.4.0" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define __EXTENSIONS__ 1 | #define _ALL_SOURCE 1 | #define _GNU_SOURCE 1 | #define _POSIX_PTHREAD_SEMANTICS 1 | #define _TANDEM_SOURCE 1 | #define LT_OBJDIR ".libs/" | #define HAVE_DIRENT_H 1 | #define HAVE_SYS_WAIT_H 1 | #define HAVE_CTYPE_H 1 | #define HAVE_ERRNO_H 1 | #define HAVE_FCNTL_H 1 | #define HAVE_GRP_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_LANGINFO_H 1 | #define HAVE_LIMITS_H 1 | #define HAVE_LINUX_FIEMAP_H 1 | #define HAVE_LINUX_FS_H 1 | #define HAVE_LINUX_MAGIC_H 1 | #define HAVE_LINUX_TYPES_H 1 | #define HAVE_WORKING_FS_IOC_GETFLAGS 1 | #define HAVE_LOCALE_H 1 | #define HAVE_PATHS_H 1 | #define HAVE_POLL_H 1 | #define HAVE_PTHREAD_H 1 | #define HAVE_PWD_H 1 | #define HAVE_SIGNAL_H 1 | #define HAVE_SPAWN_H 1 | #define HAVE_STDARG_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_SYS_CDEFS_H 1 | #define HAVE_SYS_IOCTL_H 1 | #define HAVE_SYS_MOUNT_H 1 | #define HAVE_SYS_PARAM_H 1 | #define HAVE_SYS_POLL_H 1 | #define HAVE_SYS_SELECT_H 1 | #define HAVE_SYS_STATFS_H 1 | #define HAVE_SYS_STATVFS_H 1 | #define HAVE_SYS_SYSMACROS_H 1 | #define HAVE_SYS_TIME_H 1 | #define HAVE_SYS_UTSNAME_H 1 | #define HAVE_SYS_VFS_H 1 | #define HAVE_SYS_XATTR_H 1 | #define HAVE_TIME_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_UTIME_H 1 | #define HAVE_WCHAR_H 1 | #define HAVE_WCTYPE_H 1 | #define HAVE_ICONV 1 | #define ICONV_CONST | #define HAVE_ICONV_H 1 | #define HAVE_LZMA_H 1 | #define HAVE_LIBLZMA 1 | #define HAVE_LZMA_STREAM_ENCODER_MT 1 | #define HAVE_REGEX_H 1 | #define HAVE_STRUCT_TM_TM_GMTOFF 1 | #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1 | #define HAVE_STRUCT_STAT_ST_BLKSIZE 1 | #define HAVE_UINTMAX_T 1 | #define HAVE_UNSIGNED_LONG_LONG 1 | #define HAVE_UNSIGNED_LONG_LONG_INT 1 | #define HAVE_LONG_LONG_INT 1 | #define HAVE_INTMAX_T 1 | #define HAVE_UINTMAX_T 1 | #define HAVE_DECL_SIZE_MAX 1 | #define HAVE_DECL_INT32_MAX 1 | #define HAVE_DECL_INT32_MIN 1 | #define HAVE_DECL_INT64_MAX 1 | #define HAVE_DECL_INT64_MIN 1 | #define HAVE_DECL_UINT64_MAX 1 | #define HAVE_DECL_UINT32_MAX 1 | #define HAVE_DECL_INTMAX_MAX 1 | #define HAVE_DECL_INTMAX_MIN 1 | #define HAVE_DECL_UINTMAX_MAX 1 | #define HAVE_DECL_SSIZE_MAX 1 | #define HAVE_EILSEQ 1 | #define HAVE_WCHAR_T 1 | #define SIZEOF_WCHAR_T 4 | #define TIME_WITH_SYS_TIME 1 | #define HAVE_FSEEKO 1 | #define HAVE_LSTAT_EMPTY_STRING_BUG 1 | #define HAVE_STAT_EMPTY_STRING_BUG 1 | #define HAVE_DECL_STRERROR_R 1 | #define HAVE_STRERROR_R 1 | #define STRERROR_R_CHAR_P 1 | #define HAVE_STRFTIME 1 | #define HAVE_VPRINTF 1 | #define HAVE_CHOWN 1 | #define HAVE_CHROOT 1 | #define HAVE_CTIME_R 1 | #define HAVE_FCHDIR 1 | #define HAVE_FCHMOD 1 | #define HAVE_FCHOWN 1 | #define HAVE_FCNTL 1 | #define HAVE_FDOPENDIR 1 | #define HAVE_FSTAT 1 | #define HAVE_FSTATAT 1 | #define HAVE_FSTATFS 1 | #define HAVE_FSTATVFS 1 | #define HAVE_FTRUNCATE 1 | #define HAVE_FUTIMENS 1 | #define HAVE_FUTIMESAT 1 | #define HAVE_GETEUID 1 | #define HAVE_GETPID 1 | #define HAVE_GETGRGID_R 1 | #define HAVE_GETGRNAM_R 1 | #define HAVE_GETPWNAM_R 1 | #define HAVE_GETPWUID_R 1 | #define HAVE_GMTIME_R 1 | #define HAVE_LCHOWN 1 | #define HAVE_LINK 1 | #define HAVE_LOCALTIME_R 1 | #define HAVE_LSTAT 1 | #define HAVE_LUTIMES 1 | #define HAVE_MBRTOWC 1 | #define HAVE_MEMMOVE 1 | #define HAVE_MEMSET 1 | #define HAVE_MKDIR 1 | #define HAVE_MKFIFO 1 | #define HAVE_MKNOD 1 | #define HAVE_MKSTEMP 1 | #define HAVE_NL_LANGINFO 1 | #define HAVE_OPENAT 1 | #define HAVE_PIPE 1 | #define HAVE_POLL 1 | #define HAVE_POSIX_SPAWNP 1 | #define HAVE_READLINK 1 | #define HAVE_READLINKAT 1 | #define HAVE_SELECT 1 | #define HAVE_SETENV 1 | #define HAVE_SETLOCALE 1 | #define HAVE_SIGACTION 1 | #define HAVE_STATFS 1 | #define HAVE_STATVFS 1 | #define HAVE_STRCHR 1 | #define HAVE_STRDUP 1 | #define HAVE_STRERROR 1 | #define HAVE_STRRCHR 1 | #define HAVE_SYMLINK 1 | #define HAVE_TIMEGM 1 | #define HAVE_TZSET 1 | #define HAVE_UNLINKAT 1 | #define HAVE_UNSETENV 1 | #define HAVE_UTIME 1 | #define HAVE_UTIMENSAT 1 | #define HAVE_UTIMES 1 | #define HAVE_VFORK 1 | #define HAVE_WCRTOMB 1 | #define HAVE_WCSCMP 1 | #define HAVE_WCSCPY 1 | #define HAVE_WCSLEN 1 | #define HAVE_WCTOMB 1 | #define HAVE_WMEMCMP 1 | #define HAVE_WMEMCPY 1 | #define HAVE_WMEMMOVE 1 | #define HAVE_READDIR_R 1 | #define HAVE_DIRFD 1 | /* end confdefs.h. */ | | #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_libc_md5init(archive_md5_ctx *ctx) | { | MD5Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc_md5update(archive_md5_ctx *ctx, const void *indata, | size_t insize) | { | MD5Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc_md5final(archive_md5_ctx *ctx, void *md) | { | MD5Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_MD5_LIBMD) | | static int | __archive_libmd_md5init(archive_md5_ctx *ctx) | { | MD5Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_md5update(archive_md5_ctx *ctx, const void *indata, | size_t insize) | { | MD5Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_md5final(archive_md5_ctx *ctx, void *md) | { | MD5Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_MD5_LIBSYSTEM) | | static int | __archive_libsystem_md5init(archive_md5_ctx *ctx) | { | CC_MD5_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_md5update(archive_md5_ctx *ctx, const void *indata, | size_t insize) | { | CC_MD5_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_md5final(archive_md5_ctx *ctx, void *md) | { | CC_MD5_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_MD5_NETTLE) | | static int | __archive_nettle_md5init(archive_md5_ctx *ctx) | { | md5_init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_md5update(archive_md5_ctx *ctx, const void *indata, | size_t insize) | { | md5_update(ctx, insize, indata); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_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_openssl_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_openssl_md5update(archive_md5_ctx *ctx, const void *indata, | size_t insize) | { | EVP_DigestUpdate(*ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_openssl_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_windowsapi_md5init(archive_md5_ctx *ctx) | { | return (win_crypto_init(ctx, CALG_MD5)); | } | | static int | __archive_windowsapi_md5update(archive_md5_ctx *ctx, const void *indata, | size_t insize) | { | return (win_crypto_Update(ctx, indata, insize)); | } | | static int | __archive_windowsapi_md5final(archive_md5_ctx *ctx, void *md) | { | return (win_crypto_Final(md, 16, ctx)); | } | | #else | | static int | __archive_stub_md5init(archive_md5_ctx *ctx) | { | (void)ctx; /* UNUSED */ | return (ARCHIVE_FAILED); | } | | static int | __archive_stub_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_stub_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_libc_ripemd160init(archive_rmd160_ctx *ctx) | { | RMD160Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, | size_t insize) | { | RMD160Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc_ripemd160final(archive_rmd160_ctx *ctx, void *md) | { | RMD160Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_RMD160_LIBMD) | | static int | __archive_libmd_ripemd160init(archive_rmd160_ctx *ctx) | { | RIPEMD160_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, | size_t insize) | { | RIPEMD160_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_ripemd160final(archive_rmd160_ctx *ctx, void *md) | { | RIPEMD160_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_RMD160_NETTLE) | | static int | __archive_nettle_ripemd160init(archive_rmd160_ctx *ctx) | { | ripemd160_init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, | size_t insize) | { | ripemd160_update(ctx, insize, indata); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_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_openssl_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_openssl_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, | size_t insize) | { | EVP_DigestUpdate(*ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_openssl_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_stub_ripemd160init(archive_rmd160_ctx *ctx) | { | (void)ctx; /* UNUSED */ | return (ARCHIVE_FAILED); | } | | static int | __archive_stub_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_stub_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_libc_sha1init(archive_sha1_ctx *ctx) | { | SHA1Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc_sha1update(archive_sha1_ctx *ctx, const void *indata, | size_t insize) | { | SHA1Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc_sha1final(archive_sha1_ctx *ctx, void *md) | { | SHA1Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA1_LIBMD) | | static int | __archive_libmd_sha1init(archive_sha1_ctx *ctx) | { | SHA1_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_sha1update(archive_sha1_ctx *ctx, const void *indata, | size_t insize) | { | SHA1_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_sha1final(archive_sha1_ctx *ctx, void *md) | { | SHA1_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA1_LIBSYSTEM) | | static int | __archive_libsystem_sha1init(archive_sha1_ctx *ctx) | { | CC_SHA1_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_sha1update(archive_sha1_ctx *ctx, const void *indata, | size_t insize) | { | CC_SHA1_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_sha1final(archive_sha1_ctx *ctx, void *md) | { | CC_SHA1_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA1_NETTLE) | | static int | __archive_nettle_sha1init(archive_sha1_ctx *ctx) | { | sha1_init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_sha1update(archive_sha1_ctx *ctx, const void *indata, | size_t insize) | { | sha1_update(ctx, insize, indata); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_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_openssl_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_openssl_sha1update(archive_sha1_ctx *ctx, const void *indata, | size_t insize) | { | EVP_DigestUpdate(*ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_openssl_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_windowsapi_sha1init(archive_sha1_ctx *ctx) | { | return (win_crypto_init(ctx, CALG_SHA1)); | } | | static int | __archive_windowsapi_sha1update(archive_sha1_ctx *ctx, const void *indata, | size_t insize) | { | return (win_crypto_Update(ctx, indata, insize)); | } | | static int | __archive_windowsapi_sha1final(archive_sha1_ctx *ctx, void *md) | { | return (win_crypto_Final(md, 20, ctx)); | } | | #else | | static int | __archive_stub_sha1init(archive_sha1_ctx *ctx) | { | (void)ctx; /* UNUSED */ | return (ARCHIVE_FAILED); | } | | static int | __archive_stub_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_stub_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_libc_sha256init(archive_sha256_ctx *ctx) | { | SHA256_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc_sha256update(archive_sha256_ctx *ctx, const void *indata, | size_t insize) | { | SHA256_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc_sha256final(archive_sha256_ctx *ctx, void *md) | { | SHA256_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA256_LIBC2) | | static int | __archive_libc2_sha256init(archive_sha256_ctx *ctx) | { | SHA256Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc2_sha256update(archive_sha256_ctx *ctx, const void *indata, | size_t insize) | { | SHA256Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc2_sha256final(archive_sha256_ctx *ctx, void *md) | { | SHA256Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA256_LIBC3) | | static int | __archive_libc3_sha256init(archive_sha256_ctx *ctx) | { | SHA256Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc3_sha256update(archive_sha256_ctx *ctx, const void *indata, | size_t insize) | { | SHA256Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc3_sha256final(archive_sha256_ctx *ctx, void *md) | { | SHA256Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA256_LIBMD) | | static int | __archive_libmd_sha256init(archive_sha256_ctx *ctx) | { | SHA256_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_sha256update(archive_sha256_ctx *ctx, const void *indata, | size_t insize) | { | SHA256_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_sha256final(archive_sha256_ctx *ctx, void *md) | { | SHA256_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA256_LIBSYSTEM) | | static int | __archive_libsystem_sha256init(archive_sha256_ctx *ctx) | { | CC_SHA256_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_sha256update(archive_sha256_ctx *ctx, const void *indata, | size_t insize) | { | CC_SHA256_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_sha256final(archive_sha256_ctx *ctx, void *md) | { | CC_SHA256_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA256_NETTLE) | | static int | __archive_nettle_sha256init(archive_sha256_ctx *ctx) | { | sha256_init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_sha256update(archive_sha256_ctx *ctx, const void *indata, | size_t insize) | { | sha256_update(ctx, insize, indata); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_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_openssl_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_openssl_sha256update(archive_sha256_ctx *ctx, const void *indata, | size_t insize) | { | EVP_DigestUpdate(*ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_openssl_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_windowsapi_sha256init(archive_sha256_ctx *ctx) | { | return (win_crypto_init(ctx, CALG_SHA_256)); | } | | static int | __archive_windowsapi_sha256update(archive_sha256_ctx *ctx, const void *indata, | size_t insize) | { | return (win_crypto_Update(ctx, indata, insize)); | } | | static int | __archive_windowsapi_sha256final(archive_sha256_ctx *ctx, void *md) | { | return (win_crypto_Final(md, 32, ctx)); | } | | #else | | static int | __archive_stub_sha256init(archive_sha256_ctx *ctx) | { | (void)ctx; /* UNUSED */ | return (ARCHIVE_FAILED); | } | | static int | __archive_stub_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_stub_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_libc_sha384init(archive_sha384_ctx *ctx) | { | SHA384_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc_sha384update(archive_sha384_ctx *ctx, const void *indata, | size_t insize) | { | SHA384_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc_sha384final(archive_sha384_ctx *ctx, void *md) | { | SHA384_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA384_LIBC2) | | static int | __archive_libc2_sha384init(archive_sha384_ctx *ctx) | { | SHA384Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc2_sha384update(archive_sha384_ctx *ctx, const void *indata, | size_t insize) | { | SHA384Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc2_sha384final(archive_sha384_ctx *ctx, void *md) | { | SHA384Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA384_LIBC3) | | static int | __archive_libc3_sha384init(archive_sha384_ctx *ctx) | { | SHA384Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc3_sha384update(archive_sha384_ctx *ctx, const void *indata, | size_t insize) | { | SHA384Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc3_sha384final(archive_sha384_ctx *ctx, void *md) | { | SHA384Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA384_LIBSYSTEM) | | static int | __archive_libsystem_sha384init(archive_sha384_ctx *ctx) | { | CC_SHA384_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_sha384update(archive_sha384_ctx *ctx, const void *indata, | size_t insize) | { | CC_SHA384_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_sha384final(archive_sha384_ctx *ctx, void *md) | { | CC_SHA384_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA384_NETTLE) | | static int | __archive_nettle_sha384init(archive_sha384_ctx *ctx) | { | sha384_init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_sha384update(archive_sha384_ctx *ctx, const void *indata, | size_t insize) | { | sha384_update(ctx, insize, indata); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_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_openssl_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_openssl_sha384update(archive_sha384_ctx *ctx, const void *indata, | size_t insize) | { | EVP_DigestUpdate(*ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_openssl_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_windowsapi_sha384init(archive_sha384_ctx *ctx) | { | return (win_crypto_init(ctx, CALG_SHA_384)); | } | | static int | __archive_windowsapi_sha384update(archive_sha384_ctx *ctx, const void *indata, | size_t insize) | { | return (win_crypto_Update(ctx, indata, insize)); | } | | static int | __archive_windowsapi_sha384final(archive_sha384_ctx *ctx, void *md) | { | return (win_crypto_Final(md, 48, ctx)); | } | | #else | | static int | __archive_stub_sha384init(archive_sha384_ctx *ctx) | { | (void)ctx; /* UNUSED */ | return (ARCHIVE_FAILED); | } | | static int | __archive_stub_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_stub_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_libc_sha512init(archive_sha512_ctx *ctx) | { | SHA512_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc_sha512update(archive_sha512_ctx *ctx, const void *indata, | size_t insize) | { | SHA512_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc_sha512final(archive_sha512_ctx *ctx, void *md) | { | SHA512_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA512_LIBC2) | | static int | __archive_libc2_sha512init(archive_sha512_ctx *ctx) | { | SHA512Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc2_sha512update(archive_sha512_ctx *ctx, const void *indata, | size_t insize) | { | SHA512Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc2_sha512final(archive_sha512_ctx *ctx, void *md) | { | SHA512Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA512_LIBC3) | | static int | __archive_libc3_sha512init(archive_sha512_ctx *ctx) | { | SHA512Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc3_sha512update(archive_sha512_ctx *ctx, const void *indata, | size_t insize) | { | SHA512Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc3_sha512final(archive_sha512_ctx *ctx, void *md) | { | SHA512Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA512_LIBMD) | | static int | __archive_libmd_sha512init(archive_sha512_ctx *ctx) | { | SHA512_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_sha512update(archive_sha512_ctx *ctx, const void *indata, | size_t insize) | { | SHA512_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_sha512final(archive_sha512_ctx *ctx, void *md) | { | SHA512_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA512_LIBSYSTEM) | | static int | __archive_libsystem_sha512init(archive_sha512_ctx *ctx) | { | CC_SHA512_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_sha512update(archive_sha512_ctx *ctx, const void *indata, | size_t insize) | { | CC_SHA512_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_sha512final(archive_sha512_ctx *ctx, void *md) | { | CC_SHA512_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA512_NETTLE) | | static int | __archive_nettle_sha512init(archive_sha512_ctx *ctx) | { | sha512_init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_sha512update(archive_sha512_ctx *ctx, const void *indata, | size_t insize) | { | sha512_update(ctx, insize, indata); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_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_openssl_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_openssl_sha512update(archive_sha512_ctx *ctx, const void *indata, | size_t insize) | { | EVP_DigestUpdate(*ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_openssl_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_windowsapi_sha512init(archive_sha512_ctx *ctx) | { | return (win_crypto_init(ctx, CALG_SHA_512)); | } | | static int | __archive_windowsapi_sha512update(archive_sha512_ctx *ctx, const void *indata, | size_t insize) | { | return (win_crypto_Update(ctx, indata, insize)); | } | | static int | __archive_windowsapi_sha512final(archive_sha512_ctx *ctx, void *md) | { | return (win_crypto_Final(md, 64, ctx)); | } | | #else | | static int | __archive_stub_sha512init(archive_sha512_ctx *ctx) | { | (void)ctx; /* UNUSED */ | return (ARCHIVE_FAILED); | } | | static int | __archive_stub_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_stub_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 */ | #if defined(ARCHIVE_CRYPTO_MD5_LIBC) | &__archive_libc_md5init, | &__archive_libc_md5update, | &__archive_libc_md5final, | #elif defined(ARCHIVE_CRYPTO_MD5_LIBMD) | &__archive_libmd_md5init, | &__archive_libmd_md5update, | &__archive_libmd_md5final, | #elif defined(ARCHIVE_CRYPTO_MD5_LIBSYSTEM) | &__archive_libsystem_md5init, | &__archive_libsystem_md5update, | &__archive_libsystem_md5final, | #elif defined(ARCHIVE_CRYPTO_MD5_NETTLE) | &__archive_nettle_md5init, | &__archive_nettle_md5update, | &__archive_nettle_md5final, | #elif defined(ARCHIVE_CRYPTO_MD5_OPENSSL) | &__archive_openssl_md5init, | &__archive_openssl_md5update, | &__archive_openssl_md5final, | #elif defined(ARCHIVE_CRYPTO_MD5_WIN) | &__archive_windowsapi_md5init, | &__archive_windowsapi_md5update, | &__archive_windowsapi_md5final, | #elif !defined(ARCHIVE_MD5_COMPILE_TEST) | &__archive_stub_md5init, | &__archive_stub_md5update, | &__archive_stub_md5final, | #endif | | /* RIPEMD160 */ | #if defined(ARCHIVE_CRYPTO_RMD160_LIBC) | &__archive_libc_ripemd160init, | &__archive_libc_ripemd160update, | &__archive_libc_ripemd160final, | #elif defined(ARCHIVE_CRYPTO_RMD160_LIBMD) | &__archive_libmd_ripemd160init, | &__archive_libmd_ripemd160update, | &__archive_libmd_ripemd160final, | #elif defined(ARCHIVE_CRYPTO_RMD160_NETTLE) | &__archive_nettle_ripemd160init, | &__archive_nettle_ripemd160update, | &__archive_nettle_ripemd160final, | #elif defined(ARCHIVE_CRYPTO_RMD160_OPENSSL) | &__archive_openssl_ripemd160init, | &__archive_openssl_ripemd160update, | &__archive_openssl_ripemd160final, | #elif !defined(ARCHIVE_RMD160_COMPILE_TEST) | &__archive_stub_ripemd160init, | &__archive_stub_ripemd160update, | &__archive_stub_ripemd160final, | #endif | | /* SHA1 */ | #if defined(ARCHIVE_CRYPTO_SHA1_LIBC) | &__archive_libc_sha1init, | &__archive_libc_sha1update, | &__archive_libc_sha1final, | #elif defined(ARCHIVE_CRYPTO_SHA1_LIBMD) | &__archive_libmd_sha1init, | &__archive_libmd_sha1update, | &__archive_libmd_sha1final, | #elif defined(ARCHIVE_CRYPTO_SHA1_LIBSYSTEM) | &__archive_libsystem_sha1init, | &__archive_libsystem_sha1update, | &__archive_libsystem_sha1final, | #elif defined(ARCHIVE_CRYPTO_SHA1_NETTLE) | &__archive_nettle_sha1init, | &__archive_nettle_sha1update, | &__archive_nettle_sha1final, | #elif defined(ARCHIVE_CRYPTO_SHA1_OPENSSL) | &__archive_openssl_sha1init, | &__archive_openssl_sha1update, | &__archive_openssl_sha1final, | #elif defined(ARCHIVE_CRYPTO_SHA1_WIN) | &__archive_windowsapi_sha1init, | &__archive_windowsapi_sha1update, | &__archive_windowsapi_sha1final, | #elif !defined(ARCHIVE_SHA1_COMPILE_TEST) | &__archive_stub_sha1init, | &__archive_stub_sha1update, | &__archive_stub_sha1final, | #endif | | /* SHA256 */ | #if defined(ARCHIVE_CRYPTO_SHA256_LIBC) | &__archive_libc_sha256init, | &__archive_libc_sha256update, | &__archive_libc_sha256final, | #elif defined(ARCHIVE_CRYPTO_SHA256_LIBC2) | &__archive_libc2_sha256init, | &__archive_libc2_sha256update, | &__archive_libc2_sha256final, | #elif defined(ARCHIVE_CRYPTO_SHA256_LIBC3) | &__archive_libc3_sha256init, | &__archive_libc3_sha256update, | &__archive_libc3_sha256final, | #elif defined(ARCHIVE_CRYPTO_SHA256_LIBMD) | &__archive_libmd_sha256init, | &__archive_libmd_sha256update, | &__archive_libmd_sha256final, | #elif defined(ARCHIVE_CRYPTO_SHA256_LIBSYSTEM) | &__archive_libsystem_sha256init, | &__archive_libsystem_sha256update, | &__archive_libsystem_sha256final, | #elif defined(ARCHIVE_CRYPTO_SHA256_NETTLE) | &__archive_nettle_sha256init, | &__archive_nettle_sha256update, | &__archive_nettle_sha256final, | #elif defined(ARCHIVE_CRYPTO_SHA256_OPENSSL) | &__archive_openssl_sha256init, | &__archive_openssl_sha256update, | &__archive_openssl_sha256final, | #elif defined(ARCHIVE_CRYPTO_SHA256_WIN) | &__archive_windowsapi_sha256init, | &__archive_windowsapi_sha256update, | &__archive_windowsapi_sha256final, | #elif !defined(ARCHIVE_SHA256_COMPILE_TEST) | &__archive_stub_sha256init, | &__archive_stub_sha256update, | &__archive_stub_sha256final, | #endif | | /* SHA384 */ | #if defined(ARCHIVE_CRYPTO_SHA384_LIBC) | &__archive_libc_sha384init, | &__archive_libc_sha384update, | &__archive_libc_sha384final, | #elif defined(ARCHIVE_CRYPTO_SHA384_LIBC2) | &__archive_libc2_sha384init, | &__archive_libc2_sha384update, | &__archive_libc2_sha384final, | #elif defined(ARCHIVE_CRYPTO_SHA384_LIBC3) | &__archive_libc3_sha384init, | &__archive_libc3_sha384update, | &__archive_libc3_sha384final, | #elif defined(ARCHIVE_CRYPTO_SHA384_LIBSYSTEM) | &__archive_libsystem_sha384init, | &__archive_libsystem_sha384update, | &__archive_libsystem_sha384final, | #elif defined(ARCHIVE_CRYPTO_SHA384_NETTLE) | &__archive_nettle_sha384init, | &__archive_nettle_sha384update, | &__archive_nettle_sha384final, | #elif defined(ARCHIVE_CRYPTO_SHA384_OPENSSL) | &__archive_openssl_sha384init, | &__archive_openssl_sha384update, | &__archive_openssl_sha384final, | #elif defined(ARCHIVE_CRYPTO_SHA384_WIN) | &__archive_windowsapi_sha384init, | &__archive_windowsapi_sha384update, | &__archive_windowsapi_sha384final, | #elif !defined(ARCHIVE_SHA384_COMPILE_TEST) | &__archive_stub_sha384init, | &__archive_stub_sha384update, | &__archive_stub_sha384final, | #endif | | /* SHA512 */ | #if defined(ARCHIVE_CRYPTO_SHA512_LIBC) | &__archive_libc_sha512init, | &__archive_libc_sha512update, | &__archive_libc_sha512final | #elif defined(ARCHIVE_CRYPTO_SHA512_LIBC2) | &__archive_libc2_sha512init, | &__archive_libc2_sha512update, | &__archive_libc2_sha512final | #elif defined(ARCHIVE_CRYPTO_SHA512_LIBC3) | &__archive_libc3_sha512init, | &__archive_libc3_sha512update, | &__archive_libc3_sha512final | #elif defined(ARCHIVE_CRYPTO_SHA512_LIBMD) | &__archive_libmd_sha512init, | &__archive_libmd_sha512update, | &__archive_libmd_sha512final | #elif defined(ARCHIVE_CRYPTO_SHA512_LIBSYSTEM) | &__archive_libsystem_sha512init, | &__archive_libsystem_sha512update, | &__archive_libsystem_sha512final | #elif defined(ARCHIVE_CRYPTO_SHA512_NETTLE) | &__archive_nettle_sha512init, | &__archive_nettle_sha512update, | &__archive_nettle_sha512final | #elif defined(ARCHIVE_CRYPTO_SHA512_OPENSSL) | &__archive_openssl_sha512init, | &__archive_openssl_sha512update, | &__archive_openssl_sha512final | #elif defined(ARCHIVE_CRYPTO_SHA512_WIN) | &__archive_windowsapi_sha512init, | &__archive_windowsapi_sha512update, | &__archive_windowsapi_sha512final | #elif !defined(ARCHIVE_SHA512_COMPILE_TEST) | &__archive_stub_sha512init, | &__archive_stub_sha512update, | &__archive_stub_sha512final | #endif | }; | | 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; | } | configure:19774: result: no configure:19788: checking support for ARCHIVE_CRYPTO_SHA512_LIBC configure:19810: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -o conftest -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -I. -I. -I./libarchive -Wl,-elf2flt -static conftest.c -llzma >&5 In file included from conftest.c:219:0: ./libarchive/archive_digest_private.h:78:10: fatal error: sha2.h: No such file or directory #include ^~~~~~~~ compilation terminated. configure:19810: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "libarchive" | #define PACKAGE_TARNAME "libarchive" | #define PACKAGE_VERSION "3.4.0" | #define PACKAGE_STRING "libarchive 3.4.0" | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com" | #define PACKAGE_URL "" | #define PACKAGE "libarchive" | #define VERSION "3.4.0" | #define LIBARCHIVE_VERSION_STRING "3.4.0" | #define LIBARCHIVE_VERSION_NUMBER "3004000" | #define BSDCPIO_VERSION_STRING "3.4.0" | #define BSDTAR_VERSION_STRING "3.4.0" | #define BSDCAT_VERSION_STRING "3.4.0" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define __EXTENSIONS__ 1 | #define _ALL_SOURCE 1 | #define _GNU_SOURCE 1 | #define _POSIX_PTHREAD_SEMANTICS 1 | #define _TANDEM_SOURCE 1 | #define LT_OBJDIR ".libs/" | #define HAVE_DIRENT_H 1 | #define HAVE_SYS_WAIT_H 1 | #define HAVE_CTYPE_H 1 | #define HAVE_ERRNO_H 1 | #define HAVE_FCNTL_H 1 | #define HAVE_GRP_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_LANGINFO_H 1 | #define HAVE_LIMITS_H 1 | #define HAVE_LINUX_FIEMAP_H 1 | #define HAVE_LINUX_FS_H 1 | #define HAVE_LINUX_MAGIC_H 1 | #define HAVE_LINUX_TYPES_H 1 | #define HAVE_WORKING_FS_IOC_GETFLAGS 1 | #define HAVE_LOCALE_H 1 | #define HAVE_PATHS_H 1 | #define HAVE_POLL_H 1 | #define HAVE_PTHREAD_H 1 | #define HAVE_PWD_H 1 | #define HAVE_SIGNAL_H 1 | #define HAVE_SPAWN_H 1 | #define HAVE_STDARG_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_SYS_CDEFS_H 1 | #define HAVE_SYS_IOCTL_H 1 | #define HAVE_SYS_MOUNT_H 1 | #define HAVE_SYS_PARAM_H 1 | #define HAVE_SYS_POLL_H 1 | #define HAVE_SYS_SELECT_H 1 | #define HAVE_SYS_STATFS_H 1 | #define HAVE_SYS_STATVFS_H 1 | #define HAVE_SYS_SYSMACROS_H 1 | #define HAVE_SYS_TIME_H 1 | #define HAVE_SYS_UTSNAME_H 1 | #define HAVE_SYS_VFS_H 1 | #define HAVE_SYS_XATTR_H 1 | #define HAVE_TIME_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_UTIME_H 1 | #define HAVE_WCHAR_H 1 | #define HAVE_WCTYPE_H 1 | #define HAVE_ICONV 1 | #define ICONV_CONST | #define HAVE_ICONV_H 1 | #define HAVE_LZMA_H 1 | #define HAVE_LIBLZMA 1 | #define HAVE_LZMA_STREAM_ENCODER_MT 1 | #define HAVE_REGEX_H 1 | #define HAVE_STRUCT_TM_TM_GMTOFF 1 | #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1 | #define HAVE_STRUCT_STAT_ST_BLKSIZE 1 | #define HAVE_UINTMAX_T 1 | #define HAVE_UNSIGNED_LONG_LONG 1 | #define HAVE_UNSIGNED_LONG_LONG_INT 1 | #define HAVE_LONG_LONG_INT 1 | #define HAVE_INTMAX_T 1 | #define HAVE_UINTMAX_T 1 | #define HAVE_DECL_SIZE_MAX 1 | #define HAVE_DECL_INT32_MAX 1 | #define HAVE_DECL_INT32_MIN 1 | #define HAVE_DECL_INT64_MAX 1 | #define HAVE_DECL_INT64_MIN 1 | #define HAVE_DECL_UINT64_MAX 1 | #define HAVE_DECL_UINT32_MAX 1 | #define HAVE_DECL_INTMAX_MAX 1 | #define HAVE_DECL_INTMAX_MIN 1 | #define HAVE_DECL_UINTMAX_MAX 1 | #define HAVE_DECL_SSIZE_MAX 1 | #define HAVE_EILSEQ 1 | #define HAVE_WCHAR_T 1 | #define SIZEOF_WCHAR_T 4 | #define TIME_WITH_SYS_TIME 1 | #define HAVE_FSEEKO 1 | #define HAVE_LSTAT_EMPTY_STRING_BUG 1 | #define HAVE_STAT_EMPTY_STRING_BUG 1 | #define HAVE_DECL_STRERROR_R 1 | #define HAVE_STRERROR_R 1 | #define STRERROR_R_CHAR_P 1 | #define HAVE_STRFTIME 1 | #define HAVE_VPRINTF 1 | #define HAVE_CHOWN 1 | #define HAVE_CHROOT 1 | #define HAVE_CTIME_R 1 | #define HAVE_FCHDIR 1 | #define HAVE_FCHMOD 1 | #define HAVE_FCHOWN 1 | #define HAVE_FCNTL 1 | #define HAVE_FDOPENDIR 1 | #define HAVE_FSTAT 1 | #define HAVE_FSTATAT 1 | #define HAVE_FSTATFS 1 | #define HAVE_FSTATVFS 1 | #define HAVE_FTRUNCATE 1 | #define HAVE_FUTIMENS 1 | #define HAVE_FUTIMESAT 1 | #define HAVE_GETEUID 1 | #define HAVE_GETPID 1 | #define HAVE_GETGRGID_R 1 | #define HAVE_GETGRNAM_R 1 | #define HAVE_GETPWNAM_R 1 | #define HAVE_GETPWUID_R 1 | #define HAVE_GMTIME_R 1 | #define HAVE_LCHOWN 1 | #define HAVE_LINK 1 | #define HAVE_LOCALTIME_R 1 | #define HAVE_LSTAT 1 | #define HAVE_LUTIMES 1 | #define HAVE_MBRTOWC 1 | #define HAVE_MEMMOVE 1 | #define HAVE_MEMSET 1 | #define HAVE_MKDIR 1 | #define HAVE_MKFIFO 1 | #define HAVE_MKNOD 1 | #define HAVE_MKSTEMP 1 | #define HAVE_NL_LANGINFO 1 | #define HAVE_OPENAT 1 | #define HAVE_PIPE 1 | #define HAVE_POLL 1 | #define HAVE_POSIX_SPAWNP 1 | #define HAVE_READLINK 1 | #define HAVE_READLINKAT 1 | #define HAVE_SELECT 1 | #define HAVE_SETENV 1 | #define HAVE_SETLOCALE 1 | #define HAVE_SIGACTION 1 | #define HAVE_STATFS 1 | #define HAVE_STATVFS 1 | #define HAVE_STRCHR 1 | #define HAVE_STRDUP 1 | #define HAVE_STRERROR 1 | #define HAVE_STRRCHR 1 | #define HAVE_SYMLINK 1 | #define HAVE_TIMEGM 1 | #define HAVE_TZSET 1 | #define HAVE_UNLINKAT 1 | #define HAVE_UNSETENV 1 | #define HAVE_UTIME 1 | #define HAVE_UTIMENSAT 1 | #define HAVE_UTIMES 1 | #define HAVE_VFORK 1 | #define HAVE_WCRTOMB 1 | #define HAVE_WCSCMP 1 | #define HAVE_WCSCPY 1 | #define HAVE_WCSLEN 1 | #define HAVE_WCTOMB 1 | #define HAVE_WMEMCMP 1 | #define HAVE_WMEMCPY 1 | #define HAVE_WMEMMOVE 1 | #define HAVE_READDIR_R 1 | #define HAVE_DIRFD 1 | /* end confdefs.h. */ | | #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_libc_md5init(archive_md5_ctx *ctx) | { | MD5Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc_md5update(archive_md5_ctx *ctx, const void *indata, | size_t insize) | { | MD5Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc_md5final(archive_md5_ctx *ctx, void *md) | { | MD5Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_MD5_LIBMD) | | static int | __archive_libmd_md5init(archive_md5_ctx *ctx) | { | MD5Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_md5update(archive_md5_ctx *ctx, const void *indata, | size_t insize) | { | MD5Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_md5final(archive_md5_ctx *ctx, void *md) | { | MD5Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_MD5_LIBSYSTEM) | | static int | __archive_libsystem_md5init(archive_md5_ctx *ctx) | { | CC_MD5_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_md5update(archive_md5_ctx *ctx, const void *indata, | size_t insize) | { | CC_MD5_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_md5final(archive_md5_ctx *ctx, void *md) | { | CC_MD5_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_MD5_NETTLE) | | static int | __archive_nettle_md5init(archive_md5_ctx *ctx) | { | md5_init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_md5update(archive_md5_ctx *ctx, const void *indata, | size_t insize) | { | md5_update(ctx, insize, indata); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_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_openssl_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_openssl_md5update(archive_md5_ctx *ctx, const void *indata, | size_t insize) | { | EVP_DigestUpdate(*ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_openssl_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_windowsapi_md5init(archive_md5_ctx *ctx) | { | return (win_crypto_init(ctx, CALG_MD5)); | } | | static int | __archive_windowsapi_md5update(archive_md5_ctx *ctx, const void *indata, | size_t insize) | { | return (win_crypto_Update(ctx, indata, insize)); | } | | static int | __archive_windowsapi_md5final(archive_md5_ctx *ctx, void *md) | { | return (win_crypto_Final(md, 16, ctx)); | } | | #else | | static int | __archive_stub_md5init(archive_md5_ctx *ctx) | { | (void)ctx; /* UNUSED */ | return (ARCHIVE_FAILED); | } | | static int | __archive_stub_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_stub_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_libc_ripemd160init(archive_rmd160_ctx *ctx) | { | RMD160Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, | size_t insize) | { | RMD160Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc_ripemd160final(archive_rmd160_ctx *ctx, void *md) | { | RMD160Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_RMD160_LIBMD) | | static int | __archive_libmd_ripemd160init(archive_rmd160_ctx *ctx) | { | RIPEMD160_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, | size_t insize) | { | RIPEMD160_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_ripemd160final(archive_rmd160_ctx *ctx, void *md) | { | RIPEMD160_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_RMD160_NETTLE) | | static int | __archive_nettle_ripemd160init(archive_rmd160_ctx *ctx) | { | ripemd160_init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, | size_t insize) | { | ripemd160_update(ctx, insize, indata); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_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_openssl_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_openssl_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, | size_t insize) | { | EVP_DigestUpdate(*ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_openssl_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_stub_ripemd160init(archive_rmd160_ctx *ctx) | { | (void)ctx; /* UNUSED */ | return (ARCHIVE_FAILED); | } | | static int | __archive_stub_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_stub_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_libc_sha1init(archive_sha1_ctx *ctx) | { | SHA1Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc_sha1update(archive_sha1_ctx *ctx, const void *indata, | size_t insize) | { | SHA1Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc_sha1final(archive_sha1_ctx *ctx, void *md) | { | SHA1Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA1_LIBMD) | | static int | __archive_libmd_sha1init(archive_sha1_ctx *ctx) | { | SHA1_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_sha1update(archive_sha1_ctx *ctx, const void *indata, | size_t insize) | { | SHA1_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_sha1final(archive_sha1_ctx *ctx, void *md) | { | SHA1_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA1_LIBSYSTEM) | | static int | __archive_libsystem_sha1init(archive_sha1_ctx *ctx) | { | CC_SHA1_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_sha1update(archive_sha1_ctx *ctx, const void *indata, | size_t insize) | { | CC_SHA1_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_sha1final(archive_sha1_ctx *ctx, void *md) | { | CC_SHA1_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA1_NETTLE) | | static int | __archive_nettle_sha1init(archive_sha1_ctx *ctx) | { | sha1_init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_sha1update(archive_sha1_ctx *ctx, const void *indata, | size_t insize) | { | sha1_update(ctx, insize, indata); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_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_openssl_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_openssl_sha1update(archive_sha1_ctx *ctx, const void *indata, | size_t insize) | { | EVP_DigestUpdate(*ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_openssl_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_windowsapi_sha1init(archive_sha1_ctx *ctx) | { | return (win_crypto_init(ctx, CALG_SHA1)); | } | | static int | __archive_windowsapi_sha1update(archive_sha1_ctx *ctx, const void *indata, | size_t insize) | { | return (win_crypto_Update(ctx, indata, insize)); | } | | static int | __archive_windowsapi_sha1final(archive_sha1_ctx *ctx, void *md) | { | return (win_crypto_Final(md, 20, ctx)); | } | | #else | | static int | __archive_stub_sha1init(archive_sha1_ctx *ctx) | { | (void)ctx; /* UNUSED */ | return (ARCHIVE_FAILED); | } | | static int | __archive_stub_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_stub_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_libc_sha256init(archive_sha256_ctx *ctx) | { | SHA256_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc_sha256update(archive_sha256_ctx *ctx, const void *indata, | size_t insize) | { | SHA256_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc_sha256final(archive_sha256_ctx *ctx, void *md) | { | SHA256_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA256_LIBC2) | | static int | __archive_libc2_sha256init(archive_sha256_ctx *ctx) | { | SHA256Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc2_sha256update(archive_sha256_ctx *ctx, const void *indata, | size_t insize) | { | SHA256Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc2_sha256final(archive_sha256_ctx *ctx, void *md) | { | SHA256Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA256_LIBC3) | | static int | __archive_libc3_sha256init(archive_sha256_ctx *ctx) | { | SHA256Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc3_sha256update(archive_sha256_ctx *ctx, const void *indata, | size_t insize) | { | SHA256Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc3_sha256final(archive_sha256_ctx *ctx, void *md) | { | SHA256Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA256_LIBMD) | | static int | __archive_libmd_sha256init(archive_sha256_ctx *ctx) | { | SHA256_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_sha256update(archive_sha256_ctx *ctx, const void *indata, | size_t insize) | { | SHA256_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_sha256final(archive_sha256_ctx *ctx, void *md) | { | SHA256_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA256_LIBSYSTEM) | | static int | __archive_libsystem_sha256init(archive_sha256_ctx *ctx) | { | CC_SHA256_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_sha256update(archive_sha256_ctx *ctx, const void *indata, | size_t insize) | { | CC_SHA256_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_sha256final(archive_sha256_ctx *ctx, void *md) | { | CC_SHA256_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA256_NETTLE) | | static int | __archive_nettle_sha256init(archive_sha256_ctx *ctx) | { | sha256_init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_sha256update(archive_sha256_ctx *ctx, const void *indata, | size_t insize) | { | sha256_update(ctx, insize, indata); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_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_openssl_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_openssl_sha256update(archive_sha256_ctx *ctx, const void *indata, | size_t insize) | { | EVP_DigestUpdate(*ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_openssl_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_windowsapi_sha256init(archive_sha256_ctx *ctx) | { | return (win_crypto_init(ctx, CALG_SHA_256)); | } | | static int | __archive_windowsapi_sha256update(archive_sha256_ctx *ctx, const void *indata, | size_t insize) | { | return (win_crypto_Update(ctx, indata, insize)); | } | | static int | __archive_windowsapi_sha256final(archive_sha256_ctx *ctx, void *md) | { | return (win_crypto_Final(md, 32, ctx)); | } | | #else | | static int | __archive_stub_sha256init(archive_sha256_ctx *ctx) | { | (void)ctx; /* UNUSED */ | return (ARCHIVE_FAILED); | } | | static int | __archive_stub_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_stub_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_libc_sha384init(archive_sha384_ctx *ctx) | { | SHA384_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc_sha384update(archive_sha384_ctx *ctx, const void *indata, | size_t insize) | { | SHA384_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc_sha384final(archive_sha384_ctx *ctx, void *md) | { | SHA384_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA384_LIBC2) | | static int | __archive_libc2_sha384init(archive_sha384_ctx *ctx) | { | SHA384Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc2_sha384update(archive_sha384_ctx *ctx, const void *indata, | size_t insize) | { | SHA384Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc2_sha384final(archive_sha384_ctx *ctx, void *md) | { | SHA384Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA384_LIBC3) | | static int | __archive_libc3_sha384init(archive_sha384_ctx *ctx) | { | SHA384Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc3_sha384update(archive_sha384_ctx *ctx, const void *indata, | size_t insize) | { | SHA384Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc3_sha384final(archive_sha384_ctx *ctx, void *md) | { | SHA384Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA384_LIBSYSTEM) | | static int | __archive_libsystem_sha384init(archive_sha384_ctx *ctx) | { | CC_SHA384_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_sha384update(archive_sha384_ctx *ctx, const void *indata, | size_t insize) | { | CC_SHA384_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_sha384final(archive_sha384_ctx *ctx, void *md) | { | CC_SHA384_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA384_NETTLE) | | static int | __archive_nettle_sha384init(archive_sha384_ctx *ctx) | { | sha384_init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_sha384update(archive_sha384_ctx *ctx, const void *indata, | size_t insize) | { | sha384_update(ctx, insize, indata); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_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_openssl_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_openssl_sha384update(archive_sha384_ctx *ctx, const void *indata, | size_t insize) | { | EVP_DigestUpdate(*ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_openssl_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_windowsapi_sha384init(archive_sha384_ctx *ctx) | { | return (win_crypto_init(ctx, CALG_SHA_384)); | } | | static int | __archive_windowsapi_sha384update(archive_sha384_ctx *ctx, const void *indata, | size_t insize) | { | return (win_crypto_Update(ctx, indata, insize)); | } | | static int | __archive_windowsapi_sha384final(archive_sha384_ctx *ctx, void *md) | { | return (win_crypto_Final(md, 48, ctx)); | } | | #else | | static int | __archive_stub_sha384init(archive_sha384_ctx *ctx) | { | (void)ctx; /* UNUSED */ | return (ARCHIVE_FAILED); | } | | static int | __archive_stub_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_stub_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_libc_sha512init(archive_sha512_ctx *ctx) | { | SHA512_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc_sha512update(archive_sha512_ctx *ctx, const void *indata, | size_t insize) | { | SHA512_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc_sha512final(archive_sha512_ctx *ctx, void *md) | { | SHA512_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA512_LIBC2) | | static int | __archive_libc2_sha512init(archive_sha512_ctx *ctx) | { | SHA512Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc2_sha512update(archive_sha512_ctx *ctx, const void *indata, | size_t insize) | { | SHA512Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc2_sha512final(archive_sha512_ctx *ctx, void *md) | { | SHA512Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA512_LIBC3) | | static int | __archive_libc3_sha512init(archive_sha512_ctx *ctx) | { | SHA512Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc3_sha512update(archive_sha512_ctx *ctx, const void *indata, | size_t insize) | { | SHA512Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc3_sha512final(archive_sha512_ctx *ctx, void *md) | { | SHA512Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA512_LIBMD) | | static int | __archive_libmd_sha512init(archive_sha512_ctx *ctx) | { | SHA512_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_sha512update(archive_sha512_ctx *ctx, const void *indata, | size_t insize) | { | SHA512_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_sha512final(archive_sha512_ctx *ctx, void *md) | { | SHA512_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA512_LIBSYSTEM) | | static int | __archive_libsystem_sha512init(archive_sha512_ctx *ctx) | { | CC_SHA512_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_sha512update(archive_sha512_ctx *ctx, const void *indata, | size_t insize) | { | CC_SHA512_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_sha512final(archive_sha512_ctx *ctx, void *md) | { | CC_SHA512_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA512_NETTLE) | | static int | __archive_nettle_sha512init(archive_sha512_ctx *ctx) | { | sha512_init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_sha512update(archive_sha512_ctx *ctx, const void *indata, | size_t insize) | { | sha512_update(ctx, insize, indata); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_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_openssl_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_openssl_sha512update(archive_sha512_ctx *ctx, const void *indata, | size_t insize) | { | EVP_DigestUpdate(*ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_openssl_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_windowsapi_sha512init(archive_sha512_ctx *ctx) | { | return (win_crypto_init(ctx, CALG_SHA_512)); | } | | static int | __archive_windowsapi_sha512update(archive_sha512_ctx *ctx, const void *indata, | size_t insize) | { | return (win_crypto_Update(ctx, indata, insize)); | } | | static int | __archive_windowsapi_sha512final(archive_sha512_ctx *ctx, void *md) | { | return (win_crypto_Final(md, 64, ctx)); | } | | #else | | static int | __archive_stub_sha512init(archive_sha512_ctx *ctx) | { | (void)ctx; /* UNUSED */ | return (ARCHIVE_FAILED); | } | | static int | __archive_stub_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_stub_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 */ | #if defined(ARCHIVE_CRYPTO_MD5_LIBC) | &__archive_libc_md5init, | &__archive_libc_md5update, | &__archive_libc_md5final, | #elif defined(ARCHIVE_CRYPTO_MD5_LIBMD) | &__archive_libmd_md5init, | &__archive_libmd_md5update, | &__archive_libmd_md5final, | #elif defined(ARCHIVE_CRYPTO_MD5_LIBSYSTEM) | &__archive_libsystem_md5init, | &__archive_libsystem_md5update, | &__archive_libsystem_md5final, | #elif defined(ARCHIVE_CRYPTO_MD5_NETTLE) | &__archive_nettle_md5init, | &__archive_nettle_md5update, | &__archive_nettle_md5final, | #elif defined(ARCHIVE_CRYPTO_MD5_OPENSSL) | &__archive_openssl_md5init, | &__archive_openssl_md5update, | &__archive_openssl_md5final, | #elif defined(ARCHIVE_CRYPTO_MD5_WIN) | &__archive_windowsapi_md5init, | &__archive_windowsapi_md5update, | &__archive_windowsapi_md5final, | #elif !defined(ARCHIVE_MD5_COMPILE_TEST) | &__archive_stub_md5init, | &__archive_stub_md5update, | &__archive_stub_md5final, | #endif | | /* RIPEMD160 */ | #if defined(ARCHIVE_CRYPTO_RMD160_LIBC) | &__archive_libc_ripemd160init, | &__archive_libc_ripemd160update, | &__archive_libc_ripemd160final, | #elif defined(ARCHIVE_CRYPTO_RMD160_LIBMD) | &__archive_libmd_ripemd160init, | &__archive_libmd_ripemd160update, | &__archive_libmd_ripemd160final, | #elif defined(ARCHIVE_CRYPTO_RMD160_NETTLE) | &__archive_nettle_ripemd160init, | &__archive_nettle_ripemd160update, | &__archive_nettle_ripemd160final, | #elif defined(ARCHIVE_CRYPTO_RMD160_OPENSSL) | &__archive_openssl_ripemd160init, | &__archive_openssl_ripemd160update, | &__archive_openssl_ripemd160final, | #elif !defined(ARCHIVE_RMD160_COMPILE_TEST) | &__archive_stub_ripemd160init, | &__archive_stub_ripemd160update, | &__archive_stub_ripemd160final, | #endif | | /* SHA1 */ | #if defined(ARCHIVE_CRYPTO_SHA1_LIBC) | &__archive_libc_sha1init, | &__archive_libc_sha1update, | &__archive_libc_sha1final, | #elif defined(ARCHIVE_CRYPTO_SHA1_LIBMD) | &__archive_libmd_sha1init, | &__archive_libmd_sha1update, | &__archive_libmd_sha1final, | #elif defined(ARCHIVE_CRYPTO_SHA1_LIBSYSTEM) | &__archive_libsystem_sha1init, | &__archive_libsystem_sha1update, | &__archive_libsystem_sha1final, | #elif defined(ARCHIVE_CRYPTO_SHA1_NETTLE) | &__archive_nettle_sha1init, | &__archive_nettle_sha1update, | &__archive_nettle_sha1final, | #elif defined(ARCHIVE_CRYPTO_SHA1_OPENSSL) | &__archive_openssl_sha1init, | &__archive_openssl_sha1update, | &__archive_openssl_sha1final, | #elif defined(ARCHIVE_CRYPTO_SHA1_WIN) | &__archive_windowsapi_sha1init, | &__archive_windowsapi_sha1update, | &__archive_windowsapi_sha1final, | #elif !defined(ARCHIVE_SHA1_COMPILE_TEST) | &__archive_stub_sha1init, | &__archive_stub_sha1update, | &__archive_stub_sha1final, | #endif | | /* SHA256 */ | #if defined(ARCHIVE_CRYPTO_SHA256_LIBC) | &__archive_libc_sha256init, | &__archive_libc_sha256update, | &__archive_libc_sha256final, | #elif defined(ARCHIVE_CRYPTO_SHA256_LIBC2) | &__archive_libc2_sha256init, | &__archive_libc2_sha256update, | &__archive_libc2_sha256final, | #elif defined(ARCHIVE_CRYPTO_SHA256_LIBC3) | &__archive_libc3_sha256init, | &__archive_libc3_sha256update, | &__archive_libc3_sha256final, | #elif defined(ARCHIVE_CRYPTO_SHA256_LIBMD) | &__archive_libmd_sha256init, | &__archive_libmd_sha256update, | &__archive_libmd_sha256final, | #elif defined(ARCHIVE_CRYPTO_SHA256_LIBSYSTEM) | &__archive_libsystem_sha256init, | &__archive_libsystem_sha256update, | &__archive_libsystem_sha256final, | #elif defined(ARCHIVE_CRYPTO_SHA256_NETTLE) | &__archive_nettle_sha256init, | &__archive_nettle_sha256update, | &__archive_nettle_sha256final, | #elif defined(ARCHIVE_CRYPTO_SHA256_OPENSSL) | &__archive_openssl_sha256init, | &__archive_openssl_sha256update, | &__archive_openssl_sha256final, | #elif defined(ARCHIVE_CRYPTO_SHA256_WIN) | &__archive_windowsapi_sha256init, | &__archive_windowsapi_sha256update, | &__archive_windowsapi_sha256final, | #elif !defined(ARCHIVE_SHA256_COMPILE_TEST) | &__archive_stub_sha256init, | &__archive_stub_sha256update, | &__archive_stub_sha256final, | #endif | | /* SHA384 */ | #if defined(ARCHIVE_CRYPTO_SHA384_LIBC) | &__archive_libc_sha384init, | &__archive_libc_sha384update, | &__archive_libc_sha384final, | #elif defined(ARCHIVE_CRYPTO_SHA384_LIBC2) | &__archive_libc2_sha384init, | &__archive_libc2_sha384update, | &__archive_libc2_sha384final, | #elif defined(ARCHIVE_CRYPTO_SHA384_LIBC3) | &__archive_libc3_sha384init, | &__archive_libc3_sha384update, | &__archive_libc3_sha384final, | #elif defined(ARCHIVE_CRYPTO_SHA384_LIBSYSTEM) | &__archive_libsystem_sha384init, | &__archive_libsystem_sha384update, | &__archive_libsystem_sha384final, | #elif defined(ARCHIVE_CRYPTO_SHA384_NETTLE) | &__archive_nettle_sha384init, | &__archive_nettle_sha384update, | &__archive_nettle_sha384final, | #elif defined(ARCHIVE_CRYPTO_SHA384_OPENSSL) | &__archive_openssl_sha384init, | &__archive_openssl_sha384update, | &__archive_openssl_sha384final, | #elif defined(ARCHIVE_CRYPTO_SHA384_WIN) | &__archive_windowsapi_sha384init, | &__archive_windowsapi_sha384update, | &__archive_windowsapi_sha384final, | #elif !defined(ARCHIVE_SHA384_COMPILE_TEST) | &__archive_stub_sha384init, | &__archive_stub_sha384update, | &__archive_stub_sha384final, | #endif | | /* SHA512 */ | #if defined(ARCHIVE_CRYPTO_SHA512_LIBC) | &__archive_libc_sha512init, | &__archive_libc_sha512update, | &__archive_libc_sha512final | #elif defined(ARCHIVE_CRYPTO_SHA512_LIBC2) | &__archive_libc2_sha512init, | &__archive_libc2_sha512update, | &__archive_libc2_sha512final | #elif defined(ARCHIVE_CRYPTO_SHA512_LIBC3) | &__archive_libc3_sha512init, | &__archive_libc3_sha512update, | &__archive_libc3_sha512final | #elif defined(ARCHIVE_CRYPTO_SHA512_LIBMD) | &__archive_libmd_sha512init, | &__archive_libmd_sha512update, | &__archive_libmd_sha512final | #elif defined(ARCHIVE_CRYPTO_SHA512_LIBSYSTEM) | &__archive_libsystem_sha512init, | &__archive_libsystem_sha512update, | &__archive_libsystem_sha512final | #elif defined(ARCHIVE_CRYPTO_SHA512_NETTLE) | &__archive_nettle_sha512init, | &__archive_nettle_sha512update, | &__archive_nettle_sha512final | #elif defined(ARCHIVE_CRYPTO_SHA512_OPENSSL) | &__archive_openssl_sha512init, | &__archive_openssl_sha512update, | &__archive_openssl_sha512final | #elif defined(ARCHIVE_CRYPTO_SHA512_WIN) | &__archive_windowsapi_sha512init, | &__archive_windowsapi_sha512update, | &__archive_windowsapi_sha512final | #elif !defined(ARCHIVE_SHA512_COMPILE_TEST) | &__archive_stub_sha512init, | &__archive_stub_sha512update, | &__archive_stub_sha512final | #endif | }; | | 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; | } | configure:19820: result: no configure:19834: checking support for ARCHIVE_CRYPTO_SHA512_LIBC2 configure:19856: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -o conftest -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -I. -I. -I./libarchive -Wl,-elf2flt -static conftest.c -llzma >&5 In file included from conftest.c:219:0: ./libarchive/archive_digest_private.h:78:10: fatal error: sha2.h: No such file or directory #include ^~~~~~~~ compilation terminated. configure:19856: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "libarchive" | #define PACKAGE_TARNAME "libarchive" | #define PACKAGE_VERSION "3.4.0" | #define PACKAGE_STRING "libarchive 3.4.0" | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com" | #define PACKAGE_URL "" | #define PACKAGE "libarchive" | #define VERSION "3.4.0" | #define LIBARCHIVE_VERSION_STRING "3.4.0" | #define LIBARCHIVE_VERSION_NUMBER "3004000" | #define BSDCPIO_VERSION_STRING "3.4.0" | #define BSDTAR_VERSION_STRING "3.4.0" | #define BSDCAT_VERSION_STRING "3.4.0" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define __EXTENSIONS__ 1 | #define _ALL_SOURCE 1 | #define _GNU_SOURCE 1 | #define _POSIX_PTHREAD_SEMANTICS 1 | #define _TANDEM_SOURCE 1 | #define LT_OBJDIR ".libs/" | #define HAVE_DIRENT_H 1 | #define HAVE_SYS_WAIT_H 1 | #define HAVE_CTYPE_H 1 | #define HAVE_ERRNO_H 1 | #define HAVE_FCNTL_H 1 | #define HAVE_GRP_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_LANGINFO_H 1 | #define HAVE_LIMITS_H 1 | #define HAVE_LINUX_FIEMAP_H 1 | #define HAVE_LINUX_FS_H 1 | #define HAVE_LINUX_MAGIC_H 1 | #define HAVE_LINUX_TYPES_H 1 | #define HAVE_WORKING_FS_IOC_GETFLAGS 1 | #define HAVE_LOCALE_H 1 | #define HAVE_PATHS_H 1 | #define HAVE_POLL_H 1 | #define HAVE_PTHREAD_H 1 | #define HAVE_PWD_H 1 | #define HAVE_SIGNAL_H 1 | #define HAVE_SPAWN_H 1 | #define HAVE_STDARG_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_SYS_CDEFS_H 1 | #define HAVE_SYS_IOCTL_H 1 | #define HAVE_SYS_MOUNT_H 1 | #define HAVE_SYS_PARAM_H 1 | #define HAVE_SYS_POLL_H 1 | #define HAVE_SYS_SELECT_H 1 | #define HAVE_SYS_STATFS_H 1 | #define HAVE_SYS_STATVFS_H 1 | #define HAVE_SYS_SYSMACROS_H 1 | #define HAVE_SYS_TIME_H 1 | #define HAVE_SYS_UTSNAME_H 1 | #define HAVE_SYS_VFS_H 1 | #define HAVE_SYS_XATTR_H 1 | #define HAVE_TIME_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_UTIME_H 1 | #define HAVE_WCHAR_H 1 | #define HAVE_WCTYPE_H 1 | #define HAVE_ICONV 1 | #define ICONV_CONST | #define HAVE_ICONV_H 1 | #define HAVE_LZMA_H 1 | #define HAVE_LIBLZMA 1 | #define HAVE_LZMA_STREAM_ENCODER_MT 1 | #define HAVE_REGEX_H 1 | #define HAVE_STRUCT_TM_TM_GMTOFF 1 | #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1 | #define HAVE_STRUCT_STAT_ST_BLKSIZE 1 | #define HAVE_UINTMAX_T 1 | #define HAVE_UNSIGNED_LONG_LONG 1 | #define HAVE_UNSIGNED_LONG_LONG_INT 1 | #define HAVE_LONG_LONG_INT 1 | #define HAVE_INTMAX_T 1 | #define HAVE_UINTMAX_T 1 | #define HAVE_DECL_SIZE_MAX 1 | #define HAVE_DECL_INT32_MAX 1 | #define HAVE_DECL_INT32_MIN 1 | #define HAVE_DECL_INT64_MAX 1 | #define HAVE_DECL_INT64_MIN 1 | #define HAVE_DECL_UINT64_MAX 1 | #define HAVE_DECL_UINT32_MAX 1 | #define HAVE_DECL_INTMAX_MAX 1 | #define HAVE_DECL_INTMAX_MIN 1 | #define HAVE_DECL_UINTMAX_MAX 1 | #define HAVE_DECL_SSIZE_MAX 1 | #define HAVE_EILSEQ 1 | #define HAVE_WCHAR_T 1 | #define SIZEOF_WCHAR_T 4 | #define TIME_WITH_SYS_TIME 1 | #define HAVE_FSEEKO 1 | #define HAVE_LSTAT_EMPTY_STRING_BUG 1 | #define HAVE_STAT_EMPTY_STRING_BUG 1 | #define HAVE_DECL_STRERROR_R 1 | #define HAVE_STRERROR_R 1 | #define STRERROR_R_CHAR_P 1 | #define HAVE_STRFTIME 1 | #define HAVE_VPRINTF 1 | #define HAVE_CHOWN 1 | #define HAVE_CHROOT 1 | #define HAVE_CTIME_R 1 | #define HAVE_FCHDIR 1 | #define HAVE_FCHMOD 1 | #define HAVE_FCHOWN 1 | #define HAVE_FCNTL 1 | #define HAVE_FDOPENDIR 1 | #define HAVE_FSTAT 1 | #define HAVE_FSTATAT 1 | #define HAVE_FSTATFS 1 | #define HAVE_FSTATVFS 1 | #define HAVE_FTRUNCATE 1 | #define HAVE_FUTIMENS 1 | #define HAVE_FUTIMESAT 1 | #define HAVE_GETEUID 1 | #define HAVE_GETPID 1 | #define HAVE_GETGRGID_R 1 | #define HAVE_GETGRNAM_R 1 | #define HAVE_GETPWNAM_R 1 | #define HAVE_GETPWUID_R 1 | #define HAVE_GMTIME_R 1 | #define HAVE_LCHOWN 1 | #define HAVE_LINK 1 | #define HAVE_LOCALTIME_R 1 | #define HAVE_LSTAT 1 | #define HAVE_LUTIMES 1 | #define HAVE_MBRTOWC 1 | #define HAVE_MEMMOVE 1 | #define HAVE_MEMSET 1 | #define HAVE_MKDIR 1 | #define HAVE_MKFIFO 1 | #define HAVE_MKNOD 1 | #define HAVE_MKSTEMP 1 | #define HAVE_NL_LANGINFO 1 | #define HAVE_OPENAT 1 | #define HAVE_PIPE 1 | #define HAVE_POLL 1 | #define HAVE_POSIX_SPAWNP 1 | #define HAVE_READLINK 1 | #define HAVE_READLINKAT 1 | #define HAVE_SELECT 1 | #define HAVE_SETENV 1 | #define HAVE_SETLOCALE 1 | #define HAVE_SIGACTION 1 | #define HAVE_STATFS 1 | #define HAVE_STATVFS 1 | #define HAVE_STRCHR 1 | #define HAVE_STRDUP 1 | #define HAVE_STRERROR 1 | #define HAVE_STRRCHR 1 | #define HAVE_SYMLINK 1 | #define HAVE_TIMEGM 1 | #define HAVE_TZSET 1 | #define HAVE_UNLINKAT 1 | #define HAVE_UNSETENV 1 | #define HAVE_UTIME 1 | #define HAVE_UTIMENSAT 1 | #define HAVE_UTIMES 1 | #define HAVE_VFORK 1 | #define HAVE_WCRTOMB 1 | #define HAVE_WCSCMP 1 | #define HAVE_WCSCPY 1 | #define HAVE_WCSLEN 1 | #define HAVE_WCTOMB 1 | #define HAVE_WMEMCMP 1 | #define HAVE_WMEMCPY 1 | #define HAVE_WMEMMOVE 1 | #define HAVE_READDIR_R 1 | #define HAVE_DIRFD 1 | /* end confdefs.h. */ | | #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_libc_md5init(archive_md5_ctx *ctx) | { | MD5Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc_md5update(archive_md5_ctx *ctx, const void *indata, | size_t insize) | { | MD5Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc_md5final(archive_md5_ctx *ctx, void *md) | { | MD5Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_MD5_LIBMD) | | static int | __archive_libmd_md5init(archive_md5_ctx *ctx) | { | MD5Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_md5update(archive_md5_ctx *ctx, const void *indata, | size_t insize) | { | MD5Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_md5final(archive_md5_ctx *ctx, void *md) | { | MD5Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_MD5_LIBSYSTEM) | | static int | __archive_libsystem_md5init(archive_md5_ctx *ctx) | { | CC_MD5_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_md5update(archive_md5_ctx *ctx, const void *indata, | size_t insize) | { | CC_MD5_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_md5final(archive_md5_ctx *ctx, void *md) | { | CC_MD5_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_MD5_NETTLE) | | static int | __archive_nettle_md5init(archive_md5_ctx *ctx) | { | md5_init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_md5update(archive_md5_ctx *ctx, const void *indata, | size_t insize) | { | md5_update(ctx, insize, indata); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_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_openssl_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_openssl_md5update(archive_md5_ctx *ctx, const void *indata, | size_t insize) | { | EVP_DigestUpdate(*ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_openssl_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_windowsapi_md5init(archive_md5_ctx *ctx) | { | return (win_crypto_init(ctx, CALG_MD5)); | } | | static int | __archive_windowsapi_md5update(archive_md5_ctx *ctx, const void *indata, | size_t insize) | { | return (win_crypto_Update(ctx, indata, insize)); | } | | static int | __archive_windowsapi_md5final(archive_md5_ctx *ctx, void *md) | { | return (win_crypto_Final(md, 16, ctx)); | } | | #else | | static int | __archive_stub_md5init(archive_md5_ctx *ctx) | { | (void)ctx; /* UNUSED */ | return (ARCHIVE_FAILED); | } | | static int | __archive_stub_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_stub_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_libc_ripemd160init(archive_rmd160_ctx *ctx) | { | RMD160Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, | size_t insize) | { | RMD160Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc_ripemd160final(archive_rmd160_ctx *ctx, void *md) | { | RMD160Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_RMD160_LIBMD) | | static int | __archive_libmd_ripemd160init(archive_rmd160_ctx *ctx) | { | RIPEMD160_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, | size_t insize) | { | RIPEMD160_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_ripemd160final(archive_rmd160_ctx *ctx, void *md) | { | RIPEMD160_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_RMD160_NETTLE) | | static int | __archive_nettle_ripemd160init(archive_rmd160_ctx *ctx) | { | ripemd160_init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, | size_t insize) | { | ripemd160_update(ctx, insize, indata); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_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_openssl_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_openssl_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, | size_t insize) | { | EVP_DigestUpdate(*ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_openssl_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_stub_ripemd160init(archive_rmd160_ctx *ctx) | { | (void)ctx; /* UNUSED */ | return (ARCHIVE_FAILED); | } | | static int | __archive_stub_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_stub_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_libc_sha1init(archive_sha1_ctx *ctx) | { | SHA1Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc_sha1update(archive_sha1_ctx *ctx, const void *indata, | size_t insize) | { | SHA1Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc_sha1final(archive_sha1_ctx *ctx, void *md) | { | SHA1Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA1_LIBMD) | | static int | __archive_libmd_sha1init(archive_sha1_ctx *ctx) | { | SHA1_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_sha1update(archive_sha1_ctx *ctx, const void *indata, | size_t insize) | { | SHA1_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_sha1final(archive_sha1_ctx *ctx, void *md) | { | SHA1_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA1_LIBSYSTEM) | | static int | __archive_libsystem_sha1init(archive_sha1_ctx *ctx) | { | CC_SHA1_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_sha1update(archive_sha1_ctx *ctx, const void *indata, | size_t insize) | { | CC_SHA1_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_sha1final(archive_sha1_ctx *ctx, void *md) | { | CC_SHA1_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA1_NETTLE) | | static int | __archive_nettle_sha1init(archive_sha1_ctx *ctx) | { | sha1_init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_sha1update(archive_sha1_ctx *ctx, const void *indata, | size_t insize) | { | sha1_update(ctx, insize, indata); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_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_openssl_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_openssl_sha1update(archive_sha1_ctx *ctx, const void *indata, | size_t insize) | { | EVP_DigestUpdate(*ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_openssl_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_windowsapi_sha1init(archive_sha1_ctx *ctx) | { | return (win_crypto_init(ctx, CALG_SHA1)); | } | | static int | __archive_windowsapi_sha1update(archive_sha1_ctx *ctx, const void *indata, | size_t insize) | { | return (win_crypto_Update(ctx, indata, insize)); | } | | static int | __archive_windowsapi_sha1final(archive_sha1_ctx *ctx, void *md) | { | return (win_crypto_Final(md, 20, ctx)); | } | | #else | | static int | __archive_stub_sha1init(archive_sha1_ctx *ctx) | { | (void)ctx; /* UNUSED */ | return (ARCHIVE_FAILED); | } | | static int | __archive_stub_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_stub_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_libc_sha256init(archive_sha256_ctx *ctx) | { | SHA256_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc_sha256update(archive_sha256_ctx *ctx, const void *indata, | size_t insize) | { | SHA256_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc_sha256final(archive_sha256_ctx *ctx, void *md) | { | SHA256_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA256_LIBC2) | | static int | __archive_libc2_sha256init(archive_sha256_ctx *ctx) | { | SHA256Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc2_sha256update(archive_sha256_ctx *ctx, const void *indata, | size_t insize) | { | SHA256Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc2_sha256final(archive_sha256_ctx *ctx, void *md) | { | SHA256Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA256_LIBC3) | | static int | __archive_libc3_sha256init(archive_sha256_ctx *ctx) | { | SHA256Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc3_sha256update(archive_sha256_ctx *ctx, const void *indata, | size_t insize) | { | SHA256Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc3_sha256final(archive_sha256_ctx *ctx, void *md) | { | SHA256Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA256_LIBMD) | | static int | __archive_libmd_sha256init(archive_sha256_ctx *ctx) | { | SHA256_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_sha256update(archive_sha256_ctx *ctx, const void *indata, | size_t insize) | { | SHA256_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_sha256final(archive_sha256_ctx *ctx, void *md) | { | SHA256_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA256_LIBSYSTEM) | | static int | __archive_libsystem_sha256init(archive_sha256_ctx *ctx) | { | CC_SHA256_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_sha256update(archive_sha256_ctx *ctx, const void *indata, | size_t insize) | { | CC_SHA256_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_sha256final(archive_sha256_ctx *ctx, void *md) | { | CC_SHA256_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA256_NETTLE) | | static int | __archive_nettle_sha256init(archive_sha256_ctx *ctx) | { | sha256_init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_sha256update(archive_sha256_ctx *ctx, const void *indata, | size_t insize) | { | sha256_update(ctx, insize, indata); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_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_openssl_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_openssl_sha256update(archive_sha256_ctx *ctx, const void *indata, | size_t insize) | { | EVP_DigestUpdate(*ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_openssl_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_windowsapi_sha256init(archive_sha256_ctx *ctx) | { | return (win_crypto_init(ctx, CALG_SHA_256)); | } | | static int | __archive_windowsapi_sha256update(archive_sha256_ctx *ctx, const void *indata, | size_t insize) | { | return (win_crypto_Update(ctx, indata, insize)); | } | | static int | __archive_windowsapi_sha256final(archive_sha256_ctx *ctx, void *md) | { | return (win_crypto_Final(md, 32, ctx)); | } | | #else | | static int | __archive_stub_sha256init(archive_sha256_ctx *ctx) | { | (void)ctx; /* UNUSED */ | return (ARCHIVE_FAILED); | } | | static int | __archive_stub_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_stub_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_libc_sha384init(archive_sha384_ctx *ctx) | { | SHA384_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc_sha384update(archive_sha384_ctx *ctx, const void *indata, | size_t insize) | { | SHA384_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc_sha384final(archive_sha384_ctx *ctx, void *md) | { | SHA384_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA384_LIBC2) | | static int | __archive_libc2_sha384init(archive_sha384_ctx *ctx) | { | SHA384Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc2_sha384update(archive_sha384_ctx *ctx, const void *indata, | size_t insize) | { | SHA384Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc2_sha384final(archive_sha384_ctx *ctx, void *md) | { | SHA384Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA384_LIBC3) | | static int | __archive_libc3_sha384init(archive_sha384_ctx *ctx) | { | SHA384Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc3_sha384update(archive_sha384_ctx *ctx, const void *indata, | size_t insize) | { | SHA384Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc3_sha384final(archive_sha384_ctx *ctx, void *md) | { | SHA384Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA384_LIBSYSTEM) | | static int | __archive_libsystem_sha384init(archive_sha384_ctx *ctx) | { | CC_SHA384_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_sha384update(archive_sha384_ctx *ctx, const void *indata, | size_t insize) | { | CC_SHA384_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_sha384final(archive_sha384_ctx *ctx, void *md) | { | CC_SHA384_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA384_NETTLE) | | static int | __archive_nettle_sha384init(archive_sha384_ctx *ctx) | { | sha384_init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_sha384update(archive_sha384_ctx *ctx, const void *indata, | size_t insize) | { | sha384_update(ctx, insize, indata); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_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_openssl_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_openssl_sha384update(archive_sha384_ctx *ctx, const void *indata, | size_t insize) | { | EVP_DigestUpdate(*ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_openssl_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_windowsapi_sha384init(archive_sha384_ctx *ctx) | { | return (win_crypto_init(ctx, CALG_SHA_384)); | } | | static int | __archive_windowsapi_sha384update(archive_sha384_ctx *ctx, const void *indata, | size_t insize) | { | return (win_crypto_Update(ctx, indata, insize)); | } | | static int | __archive_windowsapi_sha384final(archive_sha384_ctx *ctx, void *md) | { | return (win_crypto_Final(md, 48, ctx)); | } | | #else | | static int | __archive_stub_sha384init(archive_sha384_ctx *ctx) | { | (void)ctx; /* UNUSED */ | return (ARCHIVE_FAILED); | } | | static int | __archive_stub_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_stub_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_libc_sha512init(archive_sha512_ctx *ctx) | { | SHA512_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc_sha512update(archive_sha512_ctx *ctx, const void *indata, | size_t insize) | { | SHA512_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc_sha512final(archive_sha512_ctx *ctx, void *md) | { | SHA512_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA512_LIBC2) | | static int | __archive_libc2_sha512init(archive_sha512_ctx *ctx) | { | SHA512Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc2_sha512update(archive_sha512_ctx *ctx, const void *indata, | size_t insize) | { | SHA512Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc2_sha512final(archive_sha512_ctx *ctx, void *md) | { | SHA512Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA512_LIBC3) | | static int | __archive_libc3_sha512init(archive_sha512_ctx *ctx) | { | SHA512Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc3_sha512update(archive_sha512_ctx *ctx, const void *indata, | size_t insize) | { | SHA512Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc3_sha512final(archive_sha512_ctx *ctx, void *md) | { | SHA512Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA512_LIBMD) | | static int | __archive_libmd_sha512init(archive_sha512_ctx *ctx) | { | SHA512_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_sha512update(archive_sha512_ctx *ctx, const void *indata, | size_t insize) | { | SHA512_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_sha512final(archive_sha512_ctx *ctx, void *md) | { | SHA512_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA512_LIBSYSTEM) | | static int | __archive_libsystem_sha512init(archive_sha512_ctx *ctx) | { | CC_SHA512_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_sha512update(archive_sha512_ctx *ctx, const void *indata, | size_t insize) | { | CC_SHA512_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_sha512final(archive_sha512_ctx *ctx, void *md) | { | CC_SHA512_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA512_NETTLE) | | static int | __archive_nettle_sha512init(archive_sha512_ctx *ctx) | { | sha512_init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_sha512update(archive_sha512_ctx *ctx, const void *indata, | size_t insize) | { | sha512_update(ctx, insize, indata); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_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_openssl_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_openssl_sha512update(archive_sha512_ctx *ctx, const void *indata, | size_t insize) | { | EVP_DigestUpdate(*ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_openssl_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_windowsapi_sha512init(archive_sha512_ctx *ctx) | { | return (win_crypto_init(ctx, CALG_SHA_512)); | } | | static int | __archive_windowsapi_sha512update(archive_sha512_ctx *ctx, const void *indata, | size_t insize) | { | return (win_crypto_Update(ctx, indata, insize)); | } | | static int | __archive_windowsapi_sha512final(archive_sha512_ctx *ctx, void *md) | { | return (win_crypto_Final(md, 64, ctx)); | } | | #else | | static int | __archive_stub_sha512init(archive_sha512_ctx *ctx) | { | (void)ctx; /* UNUSED */ | return (ARCHIVE_FAILED); | } | | static int | __archive_stub_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_stub_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 */ | #if defined(ARCHIVE_CRYPTO_MD5_LIBC) | &__archive_libc_md5init, | &__archive_libc_md5update, | &__archive_libc_md5final, | #elif defined(ARCHIVE_CRYPTO_MD5_LIBMD) | &__archive_libmd_md5init, | &__archive_libmd_md5update, | &__archive_libmd_md5final, | #elif defined(ARCHIVE_CRYPTO_MD5_LIBSYSTEM) | &__archive_libsystem_md5init, | &__archive_libsystem_md5update, | &__archive_libsystem_md5final, | #elif defined(ARCHIVE_CRYPTO_MD5_NETTLE) | &__archive_nettle_md5init, | &__archive_nettle_md5update, | &__archive_nettle_md5final, | #elif defined(ARCHIVE_CRYPTO_MD5_OPENSSL) | &__archive_openssl_md5init, | &__archive_openssl_md5update, | &__archive_openssl_md5final, | #elif defined(ARCHIVE_CRYPTO_MD5_WIN) | &__archive_windowsapi_md5init, | &__archive_windowsapi_md5update, | &__archive_windowsapi_md5final, | #elif !defined(ARCHIVE_MD5_COMPILE_TEST) | &__archive_stub_md5init, | &__archive_stub_md5update, | &__archive_stub_md5final, | #endif | | /* RIPEMD160 */ | #if defined(ARCHIVE_CRYPTO_RMD160_LIBC) | &__archive_libc_ripemd160init, | &__archive_libc_ripemd160update, | &__archive_libc_ripemd160final, | #elif defined(ARCHIVE_CRYPTO_RMD160_LIBMD) | &__archive_libmd_ripemd160init, | &__archive_libmd_ripemd160update, | &__archive_libmd_ripemd160final, | #elif defined(ARCHIVE_CRYPTO_RMD160_NETTLE) | &__archive_nettle_ripemd160init, | &__archive_nettle_ripemd160update, | &__archive_nettle_ripemd160final, | #elif defined(ARCHIVE_CRYPTO_RMD160_OPENSSL) | &__archive_openssl_ripemd160init, | &__archive_openssl_ripemd160update, | &__archive_openssl_ripemd160final, | #elif !defined(ARCHIVE_RMD160_COMPILE_TEST) | &__archive_stub_ripemd160init, | &__archive_stub_ripemd160update, | &__archive_stub_ripemd160final, | #endif | | /* SHA1 */ | #if defined(ARCHIVE_CRYPTO_SHA1_LIBC) | &__archive_libc_sha1init, | &__archive_libc_sha1update, | &__archive_libc_sha1final, | #elif defined(ARCHIVE_CRYPTO_SHA1_LIBMD) | &__archive_libmd_sha1init, | &__archive_libmd_sha1update, | &__archive_libmd_sha1final, | #elif defined(ARCHIVE_CRYPTO_SHA1_LIBSYSTEM) | &__archive_libsystem_sha1init, | &__archive_libsystem_sha1update, | &__archive_libsystem_sha1final, | #elif defined(ARCHIVE_CRYPTO_SHA1_NETTLE) | &__archive_nettle_sha1init, | &__archive_nettle_sha1update, | &__archive_nettle_sha1final, | #elif defined(ARCHIVE_CRYPTO_SHA1_OPENSSL) | &__archive_openssl_sha1init, | &__archive_openssl_sha1update, | &__archive_openssl_sha1final, | #elif defined(ARCHIVE_CRYPTO_SHA1_WIN) | &__archive_windowsapi_sha1init, | &__archive_windowsapi_sha1update, | &__archive_windowsapi_sha1final, | #elif !defined(ARCHIVE_SHA1_COMPILE_TEST) | &__archive_stub_sha1init, | &__archive_stub_sha1update, | &__archive_stub_sha1final, | #endif | | /* SHA256 */ | #if defined(ARCHIVE_CRYPTO_SHA256_LIBC) | &__archive_libc_sha256init, | &__archive_libc_sha256update, | &__archive_libc_sha256final, | #elif defined(ARCHIVE_CRYPTO_SHA256_LIBC2) | &__archive_libc2_sha256init, | &__archive_libc2_sha256update, | &__archive_libc2_sha256final, | #elif defined(ARCHIVE_CRYPTO_SHA256_LIBC3) | &__archive_libc3_sha256init, | &__archive_libc3_sha256update, | &__archive_libc3_sha256final, | #elif defined(ARCHIVE_CRYPTO_SHA256_LIBMD) | &__archive_libmd_sha256init, | &__archive_libmd_sha256update, | &__archive_libmd_sha256final, | #elif defined(ARCHIVE_CRYPTO_SHA256_LIBSYSTEM) | &__archive_libsystem_sha256init, | &__archive_libsystem_sha256update, | &__archive_libsystem_sha256final, | #elif defined(ARCHIVE_CRYPTO_SHA256_NETTLE) | &__archive_nettle_sha256init, | &__archive_nettle_sha256update, | &__archive_nettle_sha256final, | #elif defined(ARCHIVE_CRYPTO_SHA256_OPENSSL) | &__archive_openssl_sha256init, | &__archive_openssl_sha256update, | &__archive_openssl_sha256final, | #elif defined(ARCHIVE_CRYPTO_SHA256_WIN) | &__archive_windowsapi_sha256init, | &__archive_windowsapi_sha256update, | &__archive_windowsapi_sha256final, | #elif !defined(ARCHIVE_SHA256_COMPILE_TEST) | &__archive_stub_sha256init, | &__archive_stub_sha256update, | &__archive_stub_sha256final, | #endif | | /* SHA384 */ | #if defined(ARCHIVE_CRYPTO_SHA384_LIBC) | &__archive_libc_sha384init, | &__archive_libc_sha384update, | &__archive_libc_sha384final, | #elif defined(ARCHIVE_CRYPTO_SHA384_LIBC2) | &__archive_libc2_sha384init, | &__archive_libc2_sha384update, | &__archive_libc2_sha384final, | #elif defined(ARCHIVE_CRYPTO_SHA384_LIBC3) | &__archive_libc3_sha384init, | &__archive_libc3_sha384update, | &__archive_libc3_sha384final, | #elif defined(ARCHIVE_CRYPTO_SHA384_LIBSYSTEM) | &__archive_libsystem_sha384init, | &__archive_libsystem_sha384update, | &__archive_libsystem_sha384final, | #elif defined(ARCHIVE_CRYPTO_SHA384_NETTLE) | &__archive_nettle_sha384init, | &__archive_nettle_sha384update, | &__archive_nettle_sha384final, | #elif defined(ARCHIVE_CRYPTO_SHA384_OPENSSL) | &__archive_openssl_sha384init, | &__archive_openssl_sha384update, | &__archive_openssl_sha384final, | #elif defined(ARCHIVE_CRYPTO_SHA384_WIN) | &__archive_windowsapi_sha384init, | &__archive_windowsapi_sha384update, | &__archive_windowsapi_sha384final, | #elif !defined(ARCHIVE_SHA384_COMPILE_TEST) | &__archive_stub_sha384init, | &__archive_stub_sha384update, | &__archive_stub_sha384final, | #endif | | /* SHA512 */ | #if defined(ARCHIVE_CRYPTO_SHA512_LIBC) | &__archive_libc_sha512init, | &__archive_libc_sha512update, | &__archive_libc_sha512final | #elif defined(ARCHIVE_CRYPTO_SHA512_LIBC2) | &__archive_libc2_sha512init, | &__archive_libc2_sha512update, | &__archive_libc2_sha512final | #elif defined(ARCHIVE_CRYPTO_SHA512_LIBC3) | &__archive_libc3_sha512init, | &__archive_libc3_sha512update, | &__archive_libc3_sha512final | #elif defined(ARCHIVE_CRYPTO_SHA512_LIBMD) | &__archive_libmd_sha512init, | &__archive_libmd_sha512update, | &__archive_libmd_sha512final | #elif defined(ARCHIVE_CRYPTO_SHA512_LIBSYSTEM) | &__archive_libsystem_sha512init, | &__archive_libsystem_sha512update, | &__archive_libsystem_sha512final | #elif defined(ARCHIVE_CRYPTO_SHA512_NETTLE) | &__archive_nettle_sha512init, | &__archive_nettle_sha512update, | &__archive_nettle_sha512final | #elif defined(ARCHIVE_CRYPTO_SHA512_OPENSSL) | &__archive_openssl_sha512init, | &__archive_openssl_sha512update, | &__archive_openssl_sha512final | #elif defined(ARCHIVE_CRYPTO_SHA512_WIN) | &__archive_windowsapi_sha512init, | &__archive_windowsapi_sha512update, | &__archive_windowsapi_sha512final | #elif !defined(ARCHIVE_SHA512_COMPILE_TEST) | &__archive_stub_sha512init, | &__archive_stub_sha512update, | &__archive_stub_sha512final | #endif | }; | | 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; | } | configure:19866: result: no configure:19880: checking support for ARCHIVE_CRYPTO_SHA512_LIBC3 configure:19902: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -o conftest -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -I. -I. -I./libarchive -Wl,-elf2flt -static conftest.c -llzma >&5 In file included from conftest.c:219:0: ./libarchive/archive_digest_private.h:78:10: fatal error: sha2.h: No such file or directory #include ^~~~~~~~ compilation terminated. configure:19902: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "libarchive" | #define PACKAGE_TARNAME "libarchive" | #define PACKAGE_VERSION "3.4.0" | #define PACKAGE_STRING "libarchive 3.4.0" | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com" | #define PACKAGE_URL "" | #define PACKAGE "libarchive" | #define VERSION "3.4.0" | #define LIBARCHIVE_VERSION_STRING "3.4.0" | #define LIBARCHIVE_VERSION_NUMBER "3004000" | #define BSDCPIO_VERSION_STRING "3.4.0" | #define BSDTAR_VERSION_STRING "3.4.0" | #define BSDCAT_VERSION_STRING "3.4.0" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define __EXTENSIONS__ 1 | #define _ALL_SOURCE 1 | #define _GNU_SOURCE 1 | #define _POSIX_PTHREAD_SEMANTICS 1 | #define _TANDEM_SOURCE 1 | #define LT_OBJDIR ".libs/" | #define HAVE_DIRENT_H 1 | #define HAVE_SYS_WAIT_H 1 | #define HAVE_CTYPE_H 1 | #define HAVE_ERRNO_H 1 | #define HAVE_FCNTL_H 1 | #define HAVE_GRP_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_LANGINFO_H 1 | #define HAVE_LIMITS_H 1 | #define HAVE_LINUX_FIEMAP_H 1 | #define HAVE_LINUX_FS_H 1 | #define HAVE_LINUX_MAGIC_H 1 | #define HAVE_LINUX_TYPES_H 1 | #define HAVE_WORKING_FS_IOC_GETFLAGS 1 | #define HAVE_LOCALE_H 1 | #define HAVE_PATHS_H 1 | #define HAVE_POLL_H 1 | #define HAVE_PTHREAD_H 1 | #define HAVE_PWD_H 1 | #define HAVE_SIGNAL_H 1 | #define HAVE_SPAWN_H 1 | #define HAVE_STDARG_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_SYS_CDEFS_H 1 | #define HAVE_SYS_IOCTL_H 1 | #define HAVE_SYS_MOUNT_H 1 | #define HAVE_SYS_PARAM_H 1 | #define HAVE_SYS_POLL_H 1 | #define HAVE_SYS_SELECT_H 1 | #define HAVE_SYS_STATFS_H 1 | #define HAVE_SYS_STATVFS_H 1 | #define HAVE_SYS_SYSMACROS_H 1 | #define HAVE_SYS_TIME_H 1 | #define HAVE_SYS_UTSNAME_H 1 | #define HAVE_SYS_VFS_H 1 | #define HAVE_SYS_XATTR_H 1 | #define HAVE_TIME_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_UTIME_H 1 | #define HAVE_WCHAR_H 1 | #define HAVE_WCTYPE_H 1 | #define HAVE_ICONV 1 | #define ICONV_CONST | #define HAVE_ICONV_H 1 | #define HAVE_LZMA_H 1 | #define HAVE_LIBLZMA 1 | #define HAVE_LZMA_STREAM_ENCODER_MT 1 | #define HAVE_REGEX_H 1 | #define HAVE_STRUCT_TM_TM_GMTOFF 1 | #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1 | #define HAVE_STRUCT_STAT_ST_BLKSIZE 1 | #define HAVE_UINTMAX_T 1 | #define HAVE_UNSIGNED_LONG_LONG 1 | #define HAVE_UNSIGNED_LONG_LONG_INT 1 | #define HAVE_LONG_LONG_INT 1 | #define HAVE_INTMAX_T 1 | #define HAVE_UINTMAX_T 1 | #define HAVE_DECL_SIZE_MAX 1 | #define HAVE_DECL_INT32_MAX 1 | #define HAVE_DECL_INT32_MIN 1 | #define HAVE_DECL_INT64_MAX 1 | #define HAVE_DECL_INT64_MIN 1 | #define HAVE_DECL_UINT64_MAX 1 | #define HAVE_DECL_UINT32_MAX 1 | #define HAVE_DECL_INTMAX_MAX 1 | #define HAVE_DECL_INTMAX_MIN 1 | #define HAVE_DECL_UINTMAX_MAX 1 | #define HAVE_DECL_SSIZE_MAX 1 | #define HAVE_EILSEQ 1 | #define HAVE_WCHAR_T 1 | #define SIZEOF_WCHAR_T 4 | #define TIME_WITH_SYS_TIME 1 | #define HAVE_FSEEKO 1 | #define HAVE_LSTAT_EMPTY_STRING_BUG 1 | #define HAVE_STAT_EMPTY_STRING_BUG 1 | #define HAVE_DECL_STRERROR_R 1 | #define HAVE_STRERROR_R 1 | #define STRERROR_R_CHAR_P 1 | #define HAVE_STRFTIME 1 | #define HAVE_VPRINTF 1 | #define HAVE_CHOWN 1 | #define HAVE_CHROOT 1 | #define HAVE_CTIME_R 1 | #define HAVE_FCHDIR 1 | #define HAVE_FCHMOD 1 | #define HAVE_FCHOWN 1 | #define HAVE_FCNTL 1 | #define HAVE_FDOPENDIR 1 | #define HAVE_FSTAT 1 | #define HAVE_FSTATAT 1 | #define HAVE_FSTATFS 1 | #define HAVE_FSTATVFS 1 | #define HAVE_FTRUNCATE 1 | #define HAVE_FUTIMENS 1 | #define HAVE_FUTIMESAT 1 | #define HAVE_GETEUID 1 | #define HAVE_GETPID 1 | #define HAVE_GETGRGID_R 1 | #define HAVE_GETGRNAM_R 1 | #define HAVE_GETPWNAM_R 1 | #define HAVE_GETPWUID_R 1 | #define HAVE_GMTIME_R 1 | #define HAVE_LCHOWN 1 | #define HAVE_LINK 1 | #define HAVE_LOCALTIME_R 1 | #define HAVE_LSTAT 1 | #define HAVE_LUTIMES 1 | #define HAVE_MBRTOWC 1 | #define HAVE_MEMMOVE 1 | #define HAVE_MEMSET 1 | #define HAVE_MKDIR 1 | #define HAVE_MKFIFO 1 | #define HAVE_MKNOD 1 | #define HAVE_MKSTEMP 1 | #define HAVE_NL_LANGINFO 1 | #define HAVE_OPENAT 1 | #define HAVE_PIPE 1 | #define HAVE_POLL 1 | #define HAVE_POSIX_SPAWNP 1 | #define HAVE_READLINK 1 | #define HAVE_READLINKAT 1 | #define HAVE_SELECT 1 | #define HAVE_SETENV 1 | #define HAVE_SETLOCALE 1 | #define HAVE_SIGACTION 1 | #define HAVE_STATFS 1 | #define HAVE_STATVFS 1 | #define HAVE_STRCHR 1 | #define HAVE_STRDUP 1 | #define HAVE_STRERROR 1 | #define HAVE_STRRCHR 1 | #define HAVE_SYMLINK 1 | #define HAVE_TIMEGM 1 | #define HAVE_TZSET 1 | #define HAVE_UNLINKAT 1 | #define HAVE_UNSETENV 1 | #define HAVE_UTIME 1 | #define HAVE_UTIMENSAT 1 | #define HAVE_UTIMES 1 | #define HAVE_VFORK 1 | #define HAVE_WCRTOMB 1 | #define HAVE_WCSCMP 1 | #define HAVE_WCSCPY 1 | #define HAVE_WCSLEN 1 | #define HAVE_WCTOMB 1 | #define HAVE_WMEMCMP 1 | #define HAVE_WMEMCPY 1 | #define HAVE_WMEMMOVE 1 | #define HAVE_READDIR_R 1 | #define HAVE_DIRFD 1 | /* end confdefs.h. */ | | #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_libc_md5init(archive_md5_ctx *ctx) | { | MD5Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc_md5update(archive_md5_ctx *ctx, const void *indata, | size_t insize) | { | MD5Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc_md5final(archive_md5_ctx *ctx, void *md) | { | MD5Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_MD5_LIBMD) | | static int | __archive_libmd_md5init(archive_md5_ctx *ctx) | { | MD5Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_md5update(archive_md5_ctx *ctx, const void *indata, | size_t insize) | { | MD5Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_md5final(archive_md5_ctx *ctx, void *md) | { | MD5Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_MD5_LIBSYSTEM) | | static int | __archive_libsystem_md5init(archive_md5_ctx *ctx) | { | CC_MD5_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_md5update(archive_md5_ctx *ctx, const void *indata, | size_t insize) | { | CC_MD5_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_md5final(archive_md5_ctx *ctx, void *md) | { | CC_MD5_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_MD5_NETTLE) | | static int | __archive_nettle_md5init(archive_md5_ctx *ctx) | { | md5_init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_md5update(archive_md5_ctx *ctx, const void *indata, | size_t insize) | { | md5_update(ctx, insize, indata); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_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_openssl_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_openssl_md5update(archive_md5_ctx *ctx, const void *indata, | size_t insize) | { | EVP_DigestUpdate(*ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_openssl_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_windowsapi_md5init(archive_md5_ctx *ctx) | { | return (win_crypto_init(ctx, CALG_MD5)); | } | | static int | __archive_windowsapi_md5update(archive_md5_ctx *ctx, const void *indata, | size_t insize) | { | return (win_crypto_Update(ctx, indata, insize)); | } | | static int | __archive_windowsapi_md5final(archive_md5_ctx *ctx, void *md) | { | return (win_crypto_Final(md, 16, ctx)); | } | | #else | | static int | __archive_stub_md5init(archive_md5_ctx *ctx) | { | (void)ctx; /* UNUSED */ | return (ARCHIVE_FAILED); | } | | static int | __archive_stub_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_stub_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_libc_ripemd160init(archive_rmd160_ctx *ctx) | { | RMD160Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, | size_t insize) | { | RMD160Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc_ripemd160final(archive_rmd160_ctx *ctx, void *md) | { | RMD160Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_RMD160_LIBMD) | | static int | __archive_libmd_ripemd160init(archive_rmd160_ctx *ctx) | { | RIPEMD160_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, | size_t insize) | { | RIPEMD160_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_ripemd160final(archive_rmd160_ctx *ctx, void *md) | { | RIPEMD160_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_RMD160_NETTLE) | | static int | __archive_nettle_ripemd160init(archive_rmd160_ctx *ctx) | { | ripemd160_init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, | size_t insize) | { | ripemd160_update(ctx, insize, indata); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_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_openssl_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_openssl_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, | size_t insize) | { | EVP_DigestUpdate(*ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_openssl_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_stub_ripemd160init(archive_rmd160_ctx *ctx) | { | (void)ctx; /* UNUSED */ | return (ARCHIVE_FAILED); | } | | static int | __archive_stub_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_stub_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_libc_sha1init(archive_sha1_ctx *ctx) | { | SHA1Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc_sha1update(archive_sha1_ctx *ctx, const void *indata, | size_t insize) | { | SHA1Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc_sha1final(archive_sha1_ctx *ctx, void *md) | { | SHA1Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA1_LIBMD) | | static int | __archive_libmd_sha1init(archive_sha1_ctx *ctx) | { | SHA1_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_sha1update(archive_sha1_ctx *ctx, const void *indata, | size_t insize) | { | SHA1_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_sha1final(archive_sha1_ctx *ctx, void *md) | { | SHA1_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA1_LIBSYSTEM) | | static int | __archive_libsystem_sha1init(archive_sha1_ctx *ctx) | { | CC_SHA1_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_sha1update(archive_sha1_ctx *ctx, const void *indata, | size_t insize) | { | CC_SHA1_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_sha1final(archive_sha1_ctx *ctx, void *md) | { | CC_SHA1_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA1_NETTLE) | | static int | __archive_nettle_sha1init(archive_sha1_ctx *ctx) | { | sha1_init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_sha1update(archive_sha1_ctx *ctx, const void *indata, | size_t insize) | { | sha1_update(ctx, insize, indata); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_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_openssl_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_openssl_sha1update(archive_sha1_ctx *ctx, const void *indata, | size_t insize) | { | EVP_DigestUpdate(*ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_openssl_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_windowsapi_sha1init(archive_sha1_ctx *ctx) | { | return (win_crypto_init(ctx, CALG_SHA1)); | } | | static int | __archive_windowsapi_sha1update(archive_sha1_ctx *ctx, const void *indata, | size_t insize) | { | return (win_crypto_Update(ctx, indata, insize)); | } | | static int | __archive_windowsapi_sha1final(archive_sha1_ctx *ctx, void *md) | { | return (win_crypto_Final(md, 20, ctx)); | } | | #else | | static int | __archive_stub_sha1init(archive_sha1_ctx *ctx) | { | (void)ctx; /* UNUSED */ | return (ARCHIVE_FAILED); | } | | static int | __archive_stub_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_stub_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_libc_sha256init(archive_sha256_ctx *ctx) | { | SHA256_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc_sha256update(archive_sha256_ctx *ctx, const void *indata, | size_t insize) | { | SHA256_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc_sha256final(archive_sha256_ctx *ctx, void *md) | { | SHA256_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA256_LIBC2) | | static int | __archive_libc2_sha256init(archive_sha256_ctx *ctx) | { | SHA256Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc2_sha256update(archive_sha256_ctx *ctx, const void *indata, | size_t insize) | { | SHA256Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc2_sha256final(archive_sha256_ctx *ctx, void *md) | { | SHA256Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA256_LIBC3) | | static int | __archive_libc3_sha256init(archive_sha256_ctx *ctx) | { | SHA256Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc3_sha256update(archive_sha256_ctx *ctx, const void *indata, | size_t insize) | { | SHA256Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc3_sha256final(archive_sha256_ctx *ctx, void *md) | { | SHA256Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA256_LIBMD) | | static int | __archive_libmd_sha256init(archive_sha256_ctx *ctx) | { | SHA256_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_sha256update(archive_sha256_ctx *ctx, const void *indata, | size_t insize) | { | SHA256_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_sha256final(archive_sha256_ctx *ctx, void *md) | { | SHA256_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA256_LIBSYSTEM) | | static int | __archive_libsystem_sha256init(archive_sha256_ctx *ctx) | { | CC_SHA256_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_sha256update(archive_sha256_ctx *ctx, const void *indata, | size_t insize) | { | CC_SHA256_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_sha256final(archive_sha256_ctx *ctx, void *md) | { | CC_SHA256_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA256_NETTLE) | | static int | __archive_nettle_sha256init(archive_sha256_ctx *ctx) | { | sha256_init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_sha256update(archive_sha256_ctx *ctx, const void *indata, | size_t insize) | { | sha256_update(ctx, insize, indata); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_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_openssl_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_openssl_sha256update(archive_sha256_ctx *ctx, const void *indata, | size_t insize) | { | EVP_DigestUpdate(*ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_openssl_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_windowsapi_sha256init(archive_sha256_ctx *ctx) | { | return (win_crypto_init(ctx, CALG_SHA_256)); | } | | static int | __archive_windowsapi_sha256update(archive_sha256_ctx *ctx, const void *indata, | size_t insize) | { | return (win_crypto_Update(ctx, indata, insize)); | } | | static int | __archive_windowsapi_sha256final(archive_sha256_ctx *ctx, void *md) | { | return (win_crypto_Final(md, 32, ctx)); | } | | #else | | static int | __archive_stub_sha256init(archive_sha256_ctx *ctx) | { | (void)ctx; /* UNUSED */ | return (ARCHIVE_FAILED); | } | | static int | __archive_stub_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_stub_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_libc_sha384init(archive_sha384_ctx *ctx) | { | SHA384_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc_sha384update(archive_sha384_ctx *ctx, const void *indata, | size_t insize) | { | SHA384_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc_sha384final(archive_sha384_ctx *ctx, void *md) | { | SHA384_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA384_LIBC2) | | static int | __archive_libc2_sha384init(archive_sha384_ctx *ctx) | { | SHA384Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc2_sha384update(archive_sha384_ctx *ctx, const void *indata, | size_t insize) | { | SHA384Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc2_sha384final(archive_sha384_ctx *ctx, void *md) | { | SHA384Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA384_LIBC3) | | static int | __archive_libc3_sha384init(archive_sha384_ctx *ctx) | { | SHA384Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc3_sha384update(archive_sha384_ctx *ctx, const void *indata, | size_t insize) | { | SHA384Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc3_sha384final(archive_sha384_ctx *ctx, void *md) | { | SHA384Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA384_LIBSYSTEM) | | static int | __archive_libsystem_sha384init(archive_sha384_ctx *ctx) | { | CC_SHA384_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_sha384update(archive_sha384_ctx *ctx, const void *indata, | size_t insize) | { | CC_SHA384_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_sha384final(archive_sha384_ctx *ctx, void *md) | { | CC_SHA384_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA384_NETTLE) | | static int | __archive_nettle_sha384init(archive_sha384_ctx *ctx) | { | sha384_init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_sha384update(archive_sha384_ctx *ctx, const void *indata, | size_t insize) | { | sha384_update(ctx, insize, indata); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_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_openssl_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_openssl_sha384update(archive_sha384_ctx *ctx, const void *indata, | size_t insize) | { | EVP_DigestUpdate(*ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_openssl_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_windowsapi_sha384init(archive_sha384_ctx *ctx) | { | return (win_crypto_init(ctx, CALG_SHA_384)); | } | | static int | __archive_windowsapi_sha384update(archive_sha384_ctx *ctx, const void *indata, | size_t insize) | { | return (win_crypto_Update(ctx, indata, insize)); | } | | static int | __archive_windowsapi_sha384final(archive_sha384_ctx *ctx, void *md) | { | return (win_crypto_Final(md, 48, ctx)); | } | | #else | | static int | __archive_stub_sha384init(archive_sha384_ctx *ctx) | { | (void)ctx; /* UNUSED */ | return (ARCHIVE_FAILED); | } | | static int | __archive_stub_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_stub_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_libc_sha512init(archive_sha512_ctx *ctx) | { | SHA512_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc_sha512update(archive_sha512_ctx *ctx, const void *indata, | size_t insize) | { | SHA512_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc_sha512final(archive_sha512_ctx *ctx, void *md) | { | SHA512_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA512_LIBC2) | | static int | __archive_libc2_sha512init(archive_sha512_ctx *ctx) | { | SHA512Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc2_sha512update(archive_sha512_ctx *ctx, const void *indata, | size_t insize) | { | SHA512Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc2_sha512final(archive_sha512_ctx *ctx, void *md) | { | SHA512Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA512_LIBC3) | | static int | __archive_libc3_sha512init(archive_sha512_ctx *ctx) | { | SHA512Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc3_sha512update(archive_sha512_ctx *ctx, const void *indata, | size_t insize) | { | SHA512Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc3_sha512final(archive_sha512_ctx *ctx, void *md) | { | SHA512Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA512_LIBMD) | | static int | __archive_libmd_sha512init(archive_sha512_ctx *ctx) | { | SHA512_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_sha512update(archive_sha512_ctx *ctx, const void *indata, | size_t insize) | { | SHA512_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_sha512final(archive_sha512_ctx *ctx, void *md) | { | SHA512_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA512_LIBSYSTEM) | | static int | __archive_libsystem_sha512init(archive_sha512_ctx *ctx) | { | CC_SHA512_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_sha512update(archive_sha512_ctx *ctx, const void *indata, | size_t insize) | { | CC_SHA512_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_sha512final(archive_sha512_ctx *ctx, void *md) | { | CC_SHA512_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA512_NETTLE) | | static int | __archive_nettle_sha512init(archive_sha512_ctx *ctx) | { | sha512_init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_sha512update(archive_sha512_ctx *ctx, const void *indata, | size_t insize) | { | sha512_update(ctx, insize, indata); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_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_openssl_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_openssl_sha512update(archive_sha512_ctx *ctx, const void *indata, | size_t insize) | { | EVP_DigestUpdate(*ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_openssl_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_windowsapi_sha512init(archive_sha512_ctx *ctx) | { | return (win_crypto_init(ctx, CALG_SHA_512)); | } | | static int | __archive_windowsapi_sha512update(archive_sha512_ctx *ctx, const void *indata, | size_t insize) | { | return (win_crypto_Update(ctx, indata, insize)); | } | | static int | __archive_windowsapi_sha512final(archive_sha512_ctx *ctx, void *md) | { | return (win_crypto_Final(md, 64, ctx)); | } | | #else | | static int | __archive_stub_sha512init(archive_sha512_ctx *ctx) | { | (void)ctx; /* UNUSED */ | return (ARCHIVE_FAILED); | } | | static int | __archive_stub_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_stub_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 */ | #if defined(ARCHIVE_CRYPTO_MD5_LIBC) | &__archive_libc_md5init, | &__archive_libc_md5update, | &__archive_libc_md5final, | #elif defined(ARCHIVE_CRYPTO_MD5_LIBMD) | &__archive_libmd_md5init, | &__archive_libmd_md5update, | &__archive_libmd_md5final, | #elif defined(ARCHIVE_CRYPTO_MD5_LIBSYSTEM) | &__archive_libsystem_md5init, | &__archive_libsystem_md5update, | &__archive_libsystem_md5final, | #elif defined(ARCHIVE_CRYPTO_MD5_NETTLE) | &__archive_nettle_md5init, | &__archive_nettle_md5update, | &__archive_nettle_md5final, | #elif defined(ARCHIVE_CRYPTO_MD5_OPENSSL) | &__archive_openssl_md5init, | &__archive_openssl_md5update, | &__archive_openssl_md5final, | #elif defined(ARCHIVE_CRYPTO_MD5_WIN) | &__archive_windowsapi_md5init, | &__archive_windowsapi_md5update, | &__archive_windowsapi_md5final, | #elif !defined(ARCHIVE_MD5_COMPILE_TEST) | &__archive_stub_md5init, | &__archive_stub_md5update, | &__archive_stub_md5final, | #endif | | /* RIPEMD160 */ | #if defined(ARCHIVE_CRYPTO_RMD160_LIBC) | &__archive_libc_ripemd160init, | &__archive_libc_ripemd160update, | &__archive_libc_ripemd160final, | #elif defined(ARCHIVE_CRYPTO_RMD160_LIBMD) | &__archive_libmd_ripemd160init, | &__archive_libmd_ripemd160update, | &__archive_libmd_ripemd160final, | #elif defined(ARCHIVE_CRYPTO_RMD160_NETTLE) | &__archive_nettle_ripemd160init, | &__archive_nettle_ripemd160update, | &__archive_nettle_ripemd160final, | #elif defined(ARCHIVE_CRYPTO_RMD160_OPENSSL) | &__archive_openssl_ripemd160init, | &__archive_openssl_ripemd160update, | &__archive_openssl_ripemd160final, | #elif !defined(ARCHIVE_RMD160_COMPILE_TEST) | &__archive_stub_ripemd160init, | &__archive_stub_ripemd160update, | &__archive_stub_ripemd160final, | #endif | | /* SHA1 */ | #if defined(ARCHIVE_CRYPTO_SHA1_LIBC) | &__archive_libc_sha1init, | &__archive_libc_sha1update, | &__archive_libc_sha1final, | #elif defined(ARCHIVE_CRYPTO_SHA1_LIBMD) | &__archive_libmd_sha1init, | &__archive_libmd_sha1update, | &__archive_libmd_sha1final, | #elif defined(ARCHIVE_CRYPTO_SHA1_LIBSYSTEM) | &__archive_libsystem_sha1init, | &__archive_libsystem_sha1update, | &__archive_libsystem_sha1final, | #elif defined(ARCHIVE_CRYPTO_SHA1_NETTLE) | &__archive_nettle_sha1init, | &__archive_nettle_sha1update, | &__archive_nettle_sha1final, | #elif defined(ARCHIVE_CRYPTO_SHA1_OPENSSL) | &__archive_openssl_sha1init, | &__archive_openssl_sha1update, | &__archive_openssl_sha1final, | #elif defined(ARCHIVE_CRYPTO_SHA1_WIN) | &__archive_windowsapi_sha1init, | &__archive_windowsapi_sha1update, | &__archive_windowsapi_sha1final, | #elif !defined(ARCHIVE_SHA1_COMPILE_TEST) | &__archive_stub_sha1init, | &__archive_stub_sha1update, | &__archive_stub_sha1final, | #endif | | /* SHA256 */ | #if defined(ARCHIVE_CRYPTO_SHA256_LIBC) | &__archive_libc_sha256init, | &__archive_libc_sha256update, | &__archive_libc_sha256final, | #elif defined(ARCHIVE_CRYPTO_SHA256_LIBC2) | &__archive_libc2_sha256init, | &__archive_libc2_sha256update, | &__archive_libc2_sha256final, | #elif defined(ARCHIVE_CRYPTO_SHA256_LIBC3) | &__archive_libc3_sha256init, | &__archive_libc3_sha256update, | &__archive_libc3_sha256final, | #elif defined(ARCHIVE_CRYPTO_SHA256_LIBMD) | &__archive_libmd_sha256init, | &__archive_libmd_sha256update, | &__archive_libmd_sha256final, | #elif defined(ARCHIVE_CRYPTO_SHA256_LIBSYSTEM) | &__archive_libsystem_sha256init, | &__archive_libsystem_sha256update, | &__archive_libsystem_sha256final, | #elif defined(ARCHIVE_CRYPTO_SHA256_NETTLE) | &__archive_nettle_sha256init, | &__archive_nettle_sha256update, | &__archive_nettle_sha256final, | #elif defined(ARCHIVE_CRYPTO_SHA256_OPENSSL) | &__archive_openssl_sha256init, | &__archive_openssl_sha256update, | &__archive_openssl_sha256final, | #elif defined(ARCHIVE_CRYPTO_SHA256_WIN) | &__archive_windowsapi_sha256init, | &__archive_windowsapi_sha256update, | &__archive_windowsapi_sha256final, | #elif !defined(ARCHIVE_SHA256_COMPILE_TEST) | &__archive_stub_sha256init, | &__archive_stub_sha256update, | &__archive_stub_sha256final, | #endif | | /* SHA384 */ | #if defined(ARCHIVE_CRYPTO_SHA384_LIBC) | &__archive_libc_sha384init, | &__archive_libc_sha384update, | &__archive_libc_sha384final, | #elif defined(ARCHIVE_CRYPTO_SHA384_LIBC2) | &__archive_libc2_sha384init, | &__archive_libc2_sha384update, | &__archive_libc2_sha384final, | #elif defined(ARCHIVE_CRYPTO_SHA384_LIBC3) | &__archive_libc3_sha384init, | &__archive_libc3_sha384update, | &__archive_libc3_sha384final, | #elif defined(ARCHIVE_CRYPTO_SHA384_LIBSYSTEM) | &__archive_libsystem_sha384init, | &__archive_libsystem_sha384update, | &__archive_libsystem_sha384final, | #elif defined(ARCHIVE_CRYPTO_SHA384_NETTLE) | &__archive_nettle_sha384init, | &__archive_nettle_sha384update, | &__archive_nettle_sha384final, | #elif defined(ARCHIVE_CRYPTO_SHA384_OPENSSL) | &__archive_openssl_sha384init, | &__archive_openssl_sha384update, | &__archive_openssl_sha384final, | #elif defined(ARCHIVE_CRYPTO_SHA384_WIN) | &__archive_windowsapi_sha384init, | &__archive_windowsapi_sha384update, | &__archive_windowsapi_sha384final, | #elif !defined(ARCHIVE_SHA384_COMPILE_TEST) | &__archive_stub_sha384init, | &__archive_stub_sha384update, | &__archive_stub_sha384final, | #endif | | /* SHA512 */ | #if defined(ARCHIVE_CRYPTO_SHA512_LIBC) | &__archive_libc_sha512init, | &__archive_libc_sha512update, | &__archive_libc_sha512final | #elif defined(ARCHIVE_CRYPTO_SHA512_LIBC2) | &__archive_libc2_sha512init, | &__archive_libc2_sha512update, | &__archive_libc2_sha512final | #elif defined(ARCHIVE_CRYPTO_SHA512_LIBC3) | &__archive_libc3_sha512init, | &__archive_libc3_sha512update, | &__archive_libc3_sha512final | #elif defined(ARCHIVE_CRYPTO_SHA512_LIBMD) | &__archive_libmd_sha512init, | &__archive_libmd_sha512update, | &__archive_libmd_sha512final | #elif defined(ARCHIVE_CRYPTO_SHA512_LIBSYSTEM) | &__archive_libsystem_sha512init, | &__archive_libsystem_sha512update, | &__archive_libsystem_sha512final | #elif defined(ARCHIVE_CRYPTO_SHA512_NETTLE) | &__archive_nettle_sha512init, | &__archive_nettle_sha512update, | &__archive_nettle_sha512final | #elif defined(ARCHIVE_CRYPTO_SHA512_OPENSSL) | &__archive_openssl_sha512init, | &__archive_openssl_sha512update, | &__archive_openssl_sha512final | #elif defined(ARCHIVE_CRYPTO_SHA512_WIN) | &__archive_windowsapi_sha512init, | &__archive_windowsapi_sha512update, | &__archive_windowsapi_sha512final | #elif !defined(ARCHIVE_SHA512_COMPILE_TEST) | &__archive_stub_sha512init, | &__archive_stub_sha512update, | &__archive_stub_sha512final | #endif | }; | | 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; | } | configure:19912: result: no configure:19926: checking support for ARCHIVE_CRYPTO_SHA512_LIBSYSTEM configure:19948: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -o conftest -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -I. -I. -I./libarchive -Wl,-elf2flt -static conftest.c -llzma >&5 In file included from conftest.c:219:0: ./libarchive/archive_digest_private.h:112:10: fatal error: CommonCrypto/CommonDigest.h: No such file or directory #include ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ compilation terminated. configure:19948: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "libarchive" | #define PACKAGE_TARNAME "libarchive" | #define PACKAGE_VERSION "3.4.0" | #define PACKAGE_STRING "libarchive 3.4.0" | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com" | #define PACKAGE_URL "" | #define PACKAGE "libarchive" | #define VERSION "3.4.0" | #define LIBARCHIVE_VERSION_STRING "3.4.0" | #define LIBARCHIVE_VERSION_NUMBER "3004000" | #define BSDCPIO_VERSION_STRING "3.4.0" | #define BSDTAR_VERSION_STRING "3.4.0" | #define BSDCAT_VERSION_STRING "3.4.0" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define __EXTENSIONS__ 1 | #define _ALL_SOURCE 1 | #define _GNU_SOURCE 1 | #define _POSIX_PTHREAD_SEMANTICS 1 | #define _TANDEM_SOURCE 1 | #define LT_OBJDIR ".libs/" | #define HAVE_DIRENT_H 1 | #define HAVE_SYS_WAIT_H 1 | #define HAVE_CTYPE_H 1 | #define HAVE_ERRNO_H 1 | #define HAVE_FCNTL_H 1 | #define HAVE_GRP_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_LANGINFO_H 1 | #define HAVE_LIMITS_H 1 | #define HAVE_LINUX_FIEMAP_H 1 | #define HAVE_LINUX_FS_H 1 | #define HAVE_LINUX_MAGIC_H 1 | #define HAVE_LINUX_TYPES_H 1 | #define HAVE_WORKING_FS_IOC_GETFLAGS 1 | #define HAVE_LOCALE_H 1 | #define HAVE_PATHS_H 1 | #define HAVE_POLL_H 1 | #define HAVE_PTHREAD_H 1 | #define HAVE_PWD_H 1 | #define HAVE_SIGNAL_H 1 | #define HAVE_SPAWN_H 1 | #define HAVE_STDARG_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_SYS_CDEFS_H 1 | #define HAVE_SYS_IOCTL_H 1 | #define HAVE_SYS_MOUNT_H 1 | #define HAVE_SYS_PARAM_H 1 | #define HAVE_SYS_POLL_H 1 | #define HAVE_SYS_SELECT_H 1 | #define HAVE_SYS_STATFS_H 1 | #define HAVE_SYS_STATVFS_H 1 | #define HAVE_SYS_SYSMACROS_H 1 | #define HAVE_SYS_TIME_H 1 | #define HAVE_SYS_UTSNAME_H 1 | #define HAVE_SYS_VFS_H 1 | #define HAVE_SYS_XATTR_H 1 | #define HAVE_TIME_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_UTIME_H 1 | #define HAVE_WCHAR_H 1 | #define HAVE_WCTYPE_H 1 | #define HAVE_ICONV 1 | #define ICONV_CONST | #define HAVE_ICONV_H 1 | #define HAVE_LZMA_H 1 | #define HAVE_LIBLZMA 1 | #define HAVE_LZMA_STREAM_ENCODER_MT 1 | #define HAVE_REGEX_H 1 | #define HAVE_STRUCT_TM_TM_GMTOFF 1 | #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1 | #define HAVE_STRUCT_STAT_ST_BLKSIZE 1 | #define HAVE_UINTMAX_T 1 | #define HAVE_UNSIGNED_LONG_LONG 1 | #define HAVE_UNSIGNED_LONG_LONG_INT 1 | #define HAVE_LONG_LONG_INT 1 | #define HAVE_INTMAX_T 1 | #define HAVE_UINTMAX_T 1 | #define HAVE_DECL_SIZE_MAX 1 | #define HAVE_DECL_INT32_MAX 1 | #define HAVE_DECL_INT32_MIN 1 | #define HAVE_DECL_INT64_MAX 1 | #define HAVE_DECL_INT64_MIN 1 | #define HAVE_DECL_UINT64_MAX 1 | #define HAVE_DECL_UINT32_MAX 1 | #define HAVE_DECL_INTMAX_MAX 1 | #define HAVE_DECL_INTMAX_MIN 1 | #define HAVE_DECL_UINTMAX_MAX 1 | #define HAVE_DECL_SSIZE_MAX 1 | #define HAVE_EILSEQ 1 | #define HAVE_WCHAR_T 1 | #define SIZEOF_WCHAR_T 4 | #define TIME_WITH_SYS_TIME 1 | #define HAVE_FSEEKO 1 | #define HAVE_LSTAT_EMPTY_STRING_BUG 1 | #define HAVE_STAT_EMPTY_STRING_BUG 1 | #define HAVE_DECL_STRERROR_R 1 | #define HAVE_STRERROR_R 1 | #define STRERROR_R_CHAR_P 1 | #define HAVE_STRFTIME 1 | #define HAVE_VPRINTF 1 | #define HAVE_CHOWN 1 | #define HAVE_CHROOT 1 | #define HAVE_CTIME_R 1 | #define HAVE_FCHDIR 1 | #define HAVE_FCHMOD 1 | #define HAVE_FCHOWN 1 | #define HAVE_FCNTL 1 | #define HAVE_FDOPENDIR 1 | #define HAVE_FSTAT 1 | #define HAVE_FSTATAT 1 | #define HAVE_FSTATFS 1 | #define HAVE_FSTATVFS 1 | #define HAVE_FTRUNCATE 1 | #define HAVE_FUTIMENS 1 | #define HAVE_FUTIMESAT 1 | #define HAVE_GETEUID 1 | #define HAVE_GETPID 1 | #define HAVE_GETGRGID_R 1 | #define HAVE_GETGRNAM_R 1 | #define HAVE_GETPWNAM_R 1 | #define HAVE_GETPWUID_R 1 | #define HAVE_GMTIME_R 1 | #define HAVE_LCHOWN 1 | #define HAVE_LINK 1 | #define HAVE_LOCALTIME_R 1 | #define HAVE_LSTAT 1 | #define HAVE_LUTIMES 1 | #define HAVE_MBRTOWC 1 | #define HAVE_MEMMOVE 1 | #define HAVE_MEMSET 1 | #define HAVE_MKDIR 1 | #define HAVE_MKFIFO 1 | #define HAVE_MKNOD 1 | #define HAVE_MKSTEMP 1 | #define HAVE_NL_LANGINFO 1 | #define HAVE_OPENAT 1 | #define HAVE_PIPE 1 | #define HAVE_POLL 1 | #define HAVE_POSIX_SPAWNP 1 | #define HAVE_READLINK 1 | #define HAVE_READLINKAT 1 | #define HAVE_SELECT 1 | #define HAVE_SETENV 1 | #define HAVE_SETLOCALE 1 | #define HAVE_SIGACTION 1 | #define HAVE_STATFS 1 | #define HAVE_STATVFS 1 | #define HAVE_STRCHR 1 | #define HAVE_STRDUP 1 | #define HAVE_STRERROR 1 | #define HAVE_STRRCHR 1 | #define HAVE_SYMLINK 1 | #define HAVE_TIMEGM 1 | #define HAVE_TZSET 1 | #define HAVE_UNLINKAT 1 | #define HAVE_UNSETENV 1 | #define HAVE_UTIME 1 | #define HAVE_UTIMENSAT 1 | #define HAVE_UTIMES 1 | #define HAVE_VFORK 1 | #define HAVE_WCRTOMB 1 | #define HAVE_WCSCMP 1 | #define HAVE_WCSCPY 1 | #define HAVE_WCSLEN 1 | #define HAVE_WCTOMB 1 | #define HAVE_WMEMCMP 1 | #define HAVE_WMEMCPY 1 | #define HAVE_WMEMMOVE 1 | #define HAVE_READDIR_R 1 | #define HAVE_DIRFD 1 | /* end confdefs.h. */ | | #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_libc_md5init(archive_md5_ctx *ctx) | { | MD5Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc_md5update(archive_md5_ctx *ctx, const void *indata, | size_t insize) | { | MD5Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc_md5final(archive_md5_ctx *ctx, void *md) | { | MD5Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_MD5_LIBMD) | | static int | __archive_libmd_md5init(archive_md5_ctx *ctx) | { | MD5Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_md5update(archive_md5_ctx *ctx, const void *indata, | size_t insize) | { | MD5Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_md5final(archive_md5_ctx *ctx, void *md) | { | MD5Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_MD5_LIBSYSTEM) | | static int | __archive_libsystem_md5init(archive_md5_ctx *ctx) | { | CC_MD5_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_md5update(archive_md5_ctx *ctx, const void *indata, | size_t insize) | { | CC_MD5_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_md5final(archive_md5_ctx *ctx, void *md) | { | CC_MD5_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_MD5_NETTLE) | | static int | __archive_nettle_md5init(archive_md5_ctx *ctx) | { | md5_init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_md5update(archive_md5_ctx *ctx, const void *indata, | size_t insize) | { | md5_update(ctx, insize, indata); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_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_openssl_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_openssl_md5update(archive_md5_ctx *ctx, const void *indata, | size_t insize) | { | EVP_DigestUpdate(*ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_openssl_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_windowsapi_md5init(archive_md5_ctx *ctx) | { | return (win_crypto_init(ctx, CALG_MD5)); | } | | static int | __archive_windowsapi_md5update(archive_md5_ctx *ctx, const void *indata, | size_t insize) | { | return (win_crypto_Update(ctx, indata, insize)); | } | | static int | __archive_windowsapi_md5final(archive_md5_ctx *ctx, void *md) | { | return (win_crypto_Final(md, 16, ctx)); | } | | #else | | static int | __archive_stub_md5init(archive_md5_ctx *ctx) | { | (void)ctx; /* UNUSED */ | return (ARCHIVE_FAILED); | } | | static int | __archive_stub_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_stub_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_libc_ripemd160init(archive_rmd160_ctx *ctx) | { | RMD160Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, | size_t insize) | { | RMD160Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc_ripemd160final(archive_rmd160_ctx *ctx, void *md) | { | RMD160Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_RMD160_LIBMD) | | static int | __archive_libmd_ripemd160init(archive_rmd160_ctx *ctx) | { | RIPEMD160_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, | size_t insize) | { | RIPEMD160_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_ripemd160final(archive_rmd160_ctx *ctx, void *md) | { | RIPEMD160_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_RMD160_NETTLE) | | static int | __archive_nettle_ripemd160init(archive_rmd160_ctx *ctx) | { | ripemd160_init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, | size_t insize) | { | ripemd160_update(ctx, insize, indata); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_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_openssl_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_openssl_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, | size_t insize) | { | EVP_DigestUpdate(*ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_openssl_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_stub_ripemd160init(archive_rmd160_ctx *ctx) | { | (void)ctx; /* UNUSED */ | return (ARCHIVE_FAILED); | } | | static int | __archive_stub_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_stub_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_libc_sha1init(archive_sha1_ctx *ctx) | { | SHA1Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc_sha1update(archive_sha1_ctx *ctx, const void *indata, | size_t insize) | { | SHA1Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc_sha1final(archive_sha1_ctx *ctx, void *md) | { | SHA1Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA1_LIBMD) | | static int | __archive_libmd_sha1init(archive_sha1_ctx *ctx) | { | SHA1_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_sha1update(archive_sha1_ctx *ctx, const void *indata, | size_t insize) | { | SHA1_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_sha1final(archive_sha1_ctx *ctx, void *md) | { | SHA1_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA1_LIBSYSTEM) | | static int | __archive_libsystem_sha1init(archive_sha1_ctx *ctx) | { | CC_SHA1_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_sha1update(archive_sha1_ctx *ctx, const void *indata, | size_t insize) | { | CC_SHA1_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_sha1final(archive_sha1_ctx *ctx, void *md) | { | CC_SHA1_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA1_NETTLE) | | static int | __archive_nettle_sha1init(archive_sha1_ctx *ctx) | { | sha1_init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_sha1update(archive_sha1_ctx *ctx, const void *indata, | size_t insize) | { | sha1_update(ctx, insize, indata); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_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_openssl_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_openssl_sha1update(archive_sha1_ctx *ctx, const void *indata, | size_t insize) | { | EVP_DigestUpdate(*ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_openssl_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_windowsapi_sha1init(archive_sha1_ctx *ctx) | { | return (win_crypto_init(ctx, CALG_SHA1)); | } | | static int | __archive_windowsapi_sha1update(archive_sha1_ctx *ctx, const void *indata, | size_t insize) | { | return (win_crypto_Update(ctx, indata, insize)); | } | | static int | __archive_windowsapi_sha1final(archive_sha1_ctx *ctx, void *md) | { | return (win_crypto_Final(md, 20, ctx)); | } | | #else | | static int | __archive_stub_sha1init(archive_sha1_ctx *ctx) | { | (void)ctx; /* UNUSED */ | return (ARCHIVE_FAILED); | } | | static int | __archive_stub_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_stub_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_libc_sha256init(archive_sha256_ctx *ctx) | { | SHA256_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc_sha256update(archive_sha256_ctx *ctx, const void *indata, | size_t insize) | { | SHA256_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc_sha256final(archive_sha256_ctx *ctx, void *md) | { | SHA256_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA256_LIBC2) | | static int | __archive_libc2_sha256init(archive_sha256_ctx *ctx) | { | SHA256Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc2_sha256update(archive_sha256_ctx *ctx, const void *indata, | size_t insize) | { | SHA256Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc2_sha256final(archive_sha256_ctx *ctx, void *md) | { | SHA256Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA256_LIBC3) | | static int | __archive_libc3_sha256init(archive_sha256_ctx *ctx) | { | SHA256Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc3_sha256update(archive_sha256_ctx *ctx, const void *indata, | size_t insize) | { | SHA256Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc3_sha256final(archive_sha256_ctx *ctx, void *md) | { | SHA256Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA256_LIBMD) | | static int | __archive_libmd_sha256init(archive_sha256_ctx *ctx) | { | SHA256_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_sha256update(archive_sha256_ctx *ctx, const void *indata, | size_t insize) | { | SHA256_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_sha256final(archive_sha256_ctx *ctx, void *md) | { | SHA256_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA256_LIBSYSTEM) | | static int | __archive_libsystem_sha256init(archive_sha256_ctx *ctx) | { | CC_SHA256_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_sha256update(archive_sha256_ctx *ctx, const void *indata, | size_t insize) | { | CC_SHA256_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_sha256final(archive_sha256_ctx *ctx, void *md) | { | CC_SHA256_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA256_NETTLE) | | static int | __archive_nettle_sha256init(archive_sha256_ctx *ctx) | { | sha256_init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_sha256update(archive_sha256_ctx *ctx, const void *indata, | size_t insize) | { | sha256_update(ctx, insize, indata); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_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_openssl_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_openssl_sha256update(archive_sha256_ctx *ctx, const void *indata, | size_t insize) | { | EVP_DigestUpdate(*ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_openssl_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_windowsapi_sha256init(archive_sha256_ctx *ctx) | { | return (win_crypto_init(ctx, CALG_SHA_256)); | } | | static int | __archive_windowsapi_sha256update(archive_sha256_ctx *ctx, const void *indata, | size_t insize) | { | return (win_crypto_Update(ctx, indata, insize)); | } | | static int | __archive_windowsapi_sha256final(archive_sha256_ctx *ctx, void *md) | { | return (win_crypto_Final(md, 32, ctx)); | } | | #else | | static int | __archive_stub_sha256init(archive_sha256_ctx *ctx) | { | (void)ctx; /* UNUSED */ | return (ARCHIVE_FAILED); | } | | static int | __archive_stub_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_stub_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_libc_sha384init(archive_sha384_ctx *ctx) | { | SHA384_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc_sha384update(archive_sha384_ctx *ctx, const void *indata, | size_t insize) | { | SHA384_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc_sha384final(archive_sha384_ctx *ctx, void *md) | { | SHA384_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA384_LIBC2) | | static int | __archive_libc2_sha384init(archive_sha384_ctx *ctx) | { | SHA384Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc2_sha384update(archive_sha384_ctx *ctx, const void *indata, | size_t insize) | { | SHA384Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc2_sha384final(archive_sha384_ctx *ctx, void *md) | { | SHA384Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA384_LIBC3) | | static int | __archive_libc3_sha384init(archive_sha384_ctx *ctx) | { | SHA384Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc3_sha384update(archive_sha384_ctx *ctx, const void *indata, | size_t insize) | { | SHA384Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc3_sha384final(archive_sha384_ctx *ctx, void *md) | { | SHA384Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA384_LIBSYSTEM) | | static int | __archive_libsystem_sha384init(archive_sha384_ctx *ctx) | { | CC_SHA384_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_sha384update(archive_sha384_ctx *ctx, const void *indata, | size_t insize) | { | CC_SHA384_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_sha384final(archive_sha384_ctx *ctx, void *md) | { | CC_SHA384_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA384_NETTLE) | | static int | __archive_nettle_sha384init(archive_sha384_ctx *ctx) | { | sha384_init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_sha384update(archive_sha384_ctx *ctx, const void *indata, | size_t insize) | { | sha384_update(ctx, insize, indata); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_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_openssl_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_openssl_sha384update(archive_sha384_ctx *ctx, const void *indata, | size_t insize) | { | EVP_DigestUpdate(*ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_openssl_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_windowsapi_sha384init(archive_sha384_ctx *ctx) | { | return (win_crypto_init(ctx, CALG_SHA_384)); | } | | static int | __archive_windowsapi_sha384update(archive_sha384_ctx *ctx, const void *indata, | size_t insize) | { | return (win_crypto_Update(ctx, indata, insize)); | } | | static int | __archive_windowsapi_sha384final(archive_sha384_ctx *ctx, void *md) | { | return (win_crypto_Final(md, 48, ctx)); | } | | #else | | static int | __archive_stub_sha384init(archive_sha384_ctx *ctx) | { | (void)ctx; /* UNUSED */ | return (ARCHIVE_FAILED); | } | | static int | __archive_stub_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_stub_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_libc_sha512init(archive_sha512_ctx *ctx) | { | SHA512_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc_sha512update(archive_sha512_ctx *ctx, const void *indata, | size_t insize) | { | SHA512_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc_sha512final(archive_sha512_ctx *ctx, void *md) | { | SHA512_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA512_LIBC2) | | static int | __archive_libc2_sha512init(archive_sha512_ctx *ctx) | { | SHA512Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc2_sha512update(archive_sha512_ctx *ctx, const void *indata, | size_t insize) | { | SHA512Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc2_sha512final(archive_sha512_ctx *ctx, void *md) | { | SHA512Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA512_LIBC3) | | static int | __archive_libc3_sha512init(archive_sha512_ctx *ctx) | { | SHA512Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc3_sha512update(archive_sha512_ctx *ctx, const void *indata, | size_t insize) | { | SHA512Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc3_sha512final(archive_sha512_ctx *ctx, void *md) | { | SHA512Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA512_LIBMD) | | static int | __archive_libmd_sha512init(archive_sha512_ctx *ctx) | { | SHA512_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_sha512update(archive_sha512_ctx *ctx, const void *indata, | size_t insize) | { | SHA512_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_sha512final(archive_sha512_ctx *ctx, void *md) | { | SHA512_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA512_LIBSYSTEM) | | static int | __archive_libsystem_sha512init(archive_sha512_ctx *ctx) | { | CC_SHA512_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_sha512update(archive_sha512_ctx *ctx, const void *indata, | size_t insize) | { | CC_SHA512_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_sha512final(archive_sha512_ctx *ctx, void *md) | { | CC_SHA512_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA512_NETTLE) | | static int | __archive_nettle_sha512init(archive_sha512_ctx *ctx) | { | sha512_init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_sha512update(archive_sha512_ctx *ctx, const void *indata, | size_t insize) | { | sha512_update(ctx, insize, indata); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_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_openssl_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_openssl_sha512update(archive_sha512_ctx *ctx, const void *indata, | size_t insize) | { | EVP_DigestUpdate(*ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_openssl_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_windowsapi_sha512init(archive_sha512_ctx *ctx) | { | return (win_crypto_init(ctx, CALG_SHA_512)); | } | | static int | __archive_windowsapi_sha512update(archive_sha512_ctx *ctx, const void *indata, | size_t insize) | { | return (win_crypto_Update(ctx, indata, insize)); | } | | static int | __archive_windowsapi_sha512final(archive_sha512_ctx *ctx, void *md) | { | return (win_crypto_Final(md, 64, ctx)); | } | | #else | | static int | __archive_stub_sha512init(archive_sha512_ctx *ctx) | { | (void)ctx; /* UNUSED */ | return (ARCHIVE_FAILED); | } | | static int | __archive_stub_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_stub_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 */ | #if defined(ARCHIVE_CRYPTO_MD5_LIBC) | &__archive_libc_md5init, | &__archive_libc_md5update, | &__archive_libc_md5final, | #elif defined(ARCHIVE_CRYPTO_MD5_LIBMD) | &__archive_libmd_md5init, | &__archive_libmd_md5update, | &__archive_libmd_md5final, | #elif defined(ARCHIVE_CRYPTO_MD5_LIBSYSTEM) | &__archive_libsystem_md5init, | &__archive_libsystem_md5update, | &__archive_libsystem_md5final, | #elif defined(ARCHIVE_CRYPTO_MD5_NETTLE) | &__archive_nettle_md5init, | &__archive_nettle_md5update, | &__archive_nettle_md5final, | #elif defined(ARCHIVE_CRYPTO_MD5_OPENSSL) | &__archive_openssl_md5init, | &__archive_openssl_md5update, | &__archive_openssl_md5final, | #elif defined(ARCHIVE_CRYPTO_MD5_WIN) | &__archive_windowsapi_md5init, | &__archive_windowsapi_md5update, | &__archive_windowsapi_md5final, | #elif !defined(ARCHIVE_MD5_COMPILE_TEST) | &__archive_stub_md5init, | &__archive_stub_md5update, | &__archive_stub_md5final, | #endif | | /* RIPEMD160 */ | #if defined(ARCHIVE_CRYPTO_RMD160_LIBC) | &__archive_libc_ripemd160init, | &__archive_libc_ripemd160update, | &__archive_libc_ripemd160final, | #elif defined(ARCHIVE_CRYPTO_RMD160_LIBMD) | &__archive_libmd_ripemd160init, | &__archive_libmd_ripemd160update, | &__archive_libmd_ripemd160final, | #elif defined(ARCHIVE_CRYPTO_RMD160_NETTLE) | &__archive_nettle_ripemd160init, | &__archive_nettle_ripemd160update, | &__archive_nettle_ripemd160final, | #elif defined(ARCHIVE_CRYPTO_RMD160_OPENSSL) | &__archive_openssl_ripemd160init, | &__archive_openssl_ripemd160update, | &__archive_openssl_ripemd160final, | #elif !defined(ARCHIVE_RMD160_COMPILE_TEST) | &__archive_stub_ripemd160init, | &__archive_stub_ripemd160update, | &__archive_stub_ripemd160final, | #endif | | /* SHA1 */ | #if defined(ARCHIVE_CRYPTO_SHA1_LIBC) | &__archive_libc_sha1init, | &__archive_libc_sha1update, | &__archive_libc_sha1final, | #elif defined(ARCHIVE_CRYPTO_SHA1_LIBMD) | &__archive_libmd_sha1init, | &__archive_libmd_sha1update, | &__archive_libmd_sha1final, | #elif defined(ARCHIVE_CRYPTO_SHA1_LIBSYSTEM) | &__archive_libsystem_sha1init, | &__archive_libsystem_sha1update, | &__archive_libsystem_sha1final, | #elif defined(ARCHIVE_CRYPTO_SHA1_NETTLE) | &__archive_nettle_sha1init, | &__archive_nettle_sha1update, | &__archive_nettle_sha1final, | #elif defined(ARCHIVE_CRYPTO_SHA1_OPENSSL) | &__archive_openssl_sha1init, | &__archive_openssl_sha1update, | &__archive_openssl_sha1final, | #elif defined(ARCHIVE_CRYPTO_SHA1_WIN) | &__archive_windowsapi_sha1init, | &__archive_windowsapi_sha1update, | &__archive_windowsapi_sha1final, | #elif !defined(ARCHIVE_SHA1_COMPILE_TEST) | &__archive_stub_sha1init, | &__archive_stub_sha1update, | &__archive_stub_sha1final, | #endif | | /* SHA256 */ | #if defined(ARCHIVE_CRYPTO_SHA256_LIBC) | &__archive_libc_sha256init, | &__archive_libc_sha256update, | &__archive_libc_sha256final, | #elif defined(ARCHIVE_CRYPTO_SHA256_LIBC2) | &__archive_libc2_sha256init, | &__archive_libc2_sha256update, | &__archive_libc2_sha256final, | #elif defined(ARCHIVE_CRYPTO_SHA256_LIBC3) | &__archive_libc3_sha256init, | &__archive_libc3_sha256update, | &__archive_libc3_sha256final, | #elif defined(ARCHIVE_CRYPTO_SHA256_LIBMD) | &__archive_libmd_sha256init, | &__archive_libmd_sha256update, | &__archive_libmd_sha256final, | #elif defined(ARCHIVE_CRYPTO_SHA256_LIBSYSTEM) | &__archive_libsystem_sha256init, | &__archive_libsystem_sha256update, | &__archive_libsystem_sha256final, | #elif defined(ARCHIVE_CRYPTO_SHA256_NETTLE) | &__archive_nettle_sha256init, | &__archive_nettle_sha256update, | &__archive_nettle_sha256final, | #elif defined(ARCHIVE_CRYPTO_SHA256_OPENSSL) | &__archive_openssl_sha256init, | &__archive_openssl_sha256update, | &__archive_openssl_sha256final, | #elif defined(ARCHIVE_CRYPTO_SHA256_WIN) | &__archive_windowsapi_sha256init, | &__archive_windowsapi_sha256update, | &__archive_windowsapi_sha256final, | #elif !defined(ARCHIVE_SHA256_COMPILE_TEST) | &__archive_stub_sha256init, | &__archive_stub_sha256update, | &__archive_stub_sha256final, | #endif | | /* SHA384 */ | #if defined(ARCHIVE_CRYPTO_SHA384_LIBC) | &__archive_libc_sha384init, | &__archive_libc_sha384update, | &__archive_libc_sha384final, | #elif defined(ARCHIVE_CRYPTO_SHA384_LIBC2) | &__archive_libc2_sha384init, | &__archive_libc2_sha384update, | &__archive_libc2_sha384final, | #elif defined(ARCHIVE_CRYPTO_SHA384_LIBC3) | &__archive_libc3_sha384init, | &__archive_libc3_sha384update, | &__archive_libc3_sha384final, | #elif defined(ARCHIVE_CRYPTO_SHA384_LIBSYSTEM) | &__archive_libsystem_sha384init, | &__archive_libsystem_sha384update, | &__archive_libsystem_sha384final, | #elif defined(ARCHIVE_CRYPTO_SHA384_NETTLE) | &__archive_nettle_sha384init, | &__archive_nettle_sha384update, | &__archive_nettle_sha384final, | #elif defined(ARCHIVE_CRYPTO_SHA384_OPENSSL) | &__archive_openssl_sha384init, | &__archive_openssl_sha384update, | &__archive_openssl_sha384final, | #elif defined(ARCHIVE_CRYPTO_SHA384_WIN) | &__archive_windowsapi_sha384init, | &__archive_windowsapi_sha384update, | &__archive_windowsapi_sha384final, | #elif !defined(ARCHIVE_SHA384_COMPILE_TEST) | &__archive_stub_sha384init, | &__archive_stub_sha384update, | &__archive_stub_sha384final, | #endif | | /* SHA512 */ | #if defined(ARCHIVE_CRYPTO_SHA512_LIBC) | &__archive_libc_sha512init, | &__archive_libc_sha512update, | &__archive_libc_sha512final | #elif defined(ARCHIVE_CRYPTO_SHA512_LIBC2) | &__archive_libc2_sha512init, | &__archive_libc2_sha512update, | &__archive_libc2_sha512final | #elif defined(ARCHIVE_CRYPTO_SHA512_LIBC3) | &__archive_libc3_sha512init, | &__archive_libc3_sha512update, | &__archive_libc3_sha512final | #elif defined(ARCHIVE_CRYPTO_SHA512_LIBMD) | &__archive_libmd_sha512init, | &__archive_libmd_sha512update, | &__archive_libmd_sha512final | #elif defined(ARCHIVE_CRYPTO_SHA512_LIBSYSTEM) | &__archive_libsystem_sha512init, | &__archive_libsystem_sha512update, | &__archive_libsystem_sha512final | #elif defined(ARCHIVE_CRYPTO_SHA512_NETTLE) | &__archive_nettle_sha512init, | &__archive_nettle_sha512update, | &__archive_nettle_sha512final | #elif defined(ARCHIVE_CRYPTO_SHA512_OPENSSL) | &__archive_openssl_sha512init, | &__archive_openssl_sha512update, | &__archive_openssl_sha512final | #elif defined(ARCHIVE_CRYPTO_SHA512_WIN) | &__archive_windowsapi_sha512init, | &__archive_windowsapi_sha512update, | &__archive_windowsapi_sha512final | #elif !defined(ARCHIVE_SHA512_COMPILE_TEST) | &__archive_stub_sha512init, | &__archive_stub_sha512update, | &__archive_stub_sha512final | #endif | }; | | 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; | } | configure:19958: result: no configure:19973: checking for bcrypt.h configure:19973: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 conftest.c:189:10: fatal error: bcrypt.h: No such file or directory #include ^~~~~~~~~~ compilation terminated. configure:19973: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "libarchive" | #define PACKAGE_TARNAME "libarchive" | #define PACKAGE_VERSION "3.4.0" | #define PACKAGE_STRING "libarchive 3.4.0" | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com" | #define PACKAGE_URL "" | #define PACKAGE "libarchive" | #define VERSION "3.4.0" | #define LIBARCHIVE_VERSION_STRING "3.4.0" | #define LIBARCHIVE_VERSION_NUMBER "3004000" | #define BSDCPIO_VERSION_STRING "3.4.0" | #define BSDTAR_VERSION_STRING "3.4.0" | #define BSDCAT_VERSION_STRING "3.4.0" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define __EXTENSIONS__ 1 | #define _ALL_SOURCE 1 | #define _GNU_SOURCE 1 | #define _POSIX_PTHREAD_SEMANTICS 1 | #define _TANDEM_SOURCE 1 | #define LT_OBJDIR ".libs/" | #define HAVE_DIRENT_H 1 | #define HAVE_SYS_WAIT_H 1 | #define HAVE_CTYPE_H 1 | #define HAVE_ERRNO_H 1 | #define HAVE_FCNTL_H 1 | #define HAVE_GRP_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_LANGINFO_H 1 | #define HAVE_LIMITS_H 1 | #define HAVE_LINUX_FIEMAP_H 1 | #define HAVE_LINUX_FS_H 1 | #define HAVE_LINUX_MAGIC_H 1 | #define HAVE_LINUX_TYPES_H 1 | #define HAVE_WORKING_FS_IOC_GETFLAGS 1 | #define HAVE_LOCALE_H 1 | #define HAVE_PATHS_H 1 | #define HAVE_POLL_H 1 | #define HAVE_PTHREAD_H 1 | #define HAVE_PWD_H 1 | #define HAVE_SIGNAL_H 1 | #define HAVE_SPAWN_H 1 | #define HAVE_STDARG_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_SYS_CDEFS_H 1 | #define HAVE_SYS_IOCTL_H 1 | #define HAVE_SYS_MOUNT_H 1 | #define HAVE_SYS_PARAM_H 1 | #define HAVE_SYS_POLL_H 1 | #define HAVE_SYS_SELECT_H 1 | #define HAVE_SYS_STATFS_H 1 | #define HAVE_SYS_STATVFS_H 1 | #define HAVE_SYS_SYSMACROS_H 1 | #define HAVE_SYS_TIME_H 1 | #define HAVE_SYS_UTSNAME_H 1 | #define HAVE_SYS_VFS_H 1 | #define HAVE_SYS_XATTR_H 1 | #define HAVE_TIME_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_UTIME_H 1 | #define HAVE_WCHAR_H 1 | #define HAVE_WCTYPE_H 1 | #define HAVE_ICONV 1 | #define ICONV_CONST | #define HAVE_ICONV_H 1 | #define HAVE_LZMA_H 1 | #define HAVE_LIBLZMA 1 | #define HAVE_LZMA_STREAM_ENCODER_MT 1 | #define HAVE_REGEX_H 1 | #define HAVE_STRUCT_TM_TM_GMTOFF 1 | #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1 | #define HAVE_STRUCT_STAT_ST_BLKSIZE 1 | #define HAVE_UINTMAX_T 1 | #define HAVE_UNSIGNED_LONG_LONG 1 | #define HAVE_UNSIGNED_LONG_LONG_INT 1 | #define HAVE_LONG_LONG_INT 1 | #define HAVE_INTMAX_T 1 | #define HAVE_UINTMAX_T 1 | #define HAVE_DECL_SIZE_MAX 1 | #define HAVE_DECL_INT32_MAX 1 | #define HAVE_DECL_INT32_MIN 1 | #define HAVE_DECL_INT64_MAX 1 | #define HAVE_DECL_INT64_MIN 1 | #define HAVE_DECL_UINT64_MAX 1 | #define HAVE_DECL_UINT32_MAX 1 | #define HAVE_DECL_INTMAX_MAX 1 | #define HAVE_DECL_INTMAX_MIN 1 | #define HAVE_DECL_UINTMAX_MAX 1 | #define HAVE_DECL_SSIZE_MAX 1 | #define HAVE_EILSEQ 1 | #define HAVE_WCHAR_T 1 | #define SIZEOF_WCHAR_T 4 | #define TIME_WITH_SYS_TIME 1 | #define HAVE_FSEEKO 1 | #define HAVE_LSTAT_EMPTY_STRING_BUG 1 | #define HAVE_STAT_EMPTY_STRING_BUG 1 | #define HAVE_DECL_STRERROR_R 1 | #define HAVE_STRERROR_R 1 | #define STRERROR_R_CHAR_P 1 | #define HAVE_STRFTIME 1 | #define HAVE_VPRINTF 1 | #define HAVE_CHOWN 1 | #define HAVE_CHROOT 1 | #define HAVE_CTIME_R 1 | #define HAVE_FCHDIR 1 | #define HAVE_FCHMOD 1 | #define HAVE_FCHOWN 1 | #define HAVE_FCNTL 1 | #define HAVE_FDOPENDIR 1 | #define HAVE_FSTAT 1 | #define HAVE_FSTATAT 1 | #define HAVE_FSTATFS 1 | #define HAVE_FSTATVFS 1 | #define HAVE_FTRUNCATE 1 | #define HAVE_FUTIMENS 1 | #define HAVE_FUTIMESAT 1 | #define HAVE_GETEUID 1 | #define HAVE_GETPID 1 | #define HAVE_GETGRGID_R 1 | #define HAVE_GETGRNAM_R 1 | #define HAVE_GETPWNAM_R 1 | #define HAVE_GETPWUID_R 1 | #define HAVE_GMTIME_R 1 | #define HAVE_LCHOWN 1 | #define HAVE_LINK 1 | #define HAVE_LOCALTIME_R 1 | #define HAVE_LSTAT 1 | #define HAVE_LUTIMES 1 | #define HAVE_MBRTOWC 1 | #define HAVE_MEMMOVE 1 | #define HAVE_MEMSET 1 | #define HAVE_MKDIR 1 | #define HAVE_MKFIFO 1 | #define HAVE_MKNOD 1 | #define HAVE_MKSTEMP 1 | #define HAVE_NL_LANGINFO 1 | #define HAVE_OPENAT 1 | #define HAVE_PIPE 1 | #define HAVE_POLL 1 | #define HAVE_POSIX_SPAWNP 1 | #define HAVE_READLINK 1 | #define HAVE_READLINKAT 1 | #define HAVE_SELECT 1 | #define HAVE_SETENV 1 | #define HAVE_SETLOCALE 1 | #define HAVE_SIGACTION 1 | #define HAVE_STATFS 1 | #define HAVE_STATVFS 1 | #define HAVE_STRCHR 1 | #define HAVE_STRDUP 1 | #define HAVE_STRERROR 1 | #define HAVE_STRRCHR 1 | #define HAVE_SYMLINK 1 | #define HAVE_TIMEGM 1 | #define HAVE_TZSET 1 | #define HAVE_UNLINKAT 1 | #define HAVE_UNSETENV 1 | #define HAVE_UTIME 1 | #define HAVE_UTIMENSAT 1 | #define HAVE_UTIMES 1 | #define HAVE_VFORK 1 | #define HAVE_WCRTOMB 1 | #define HAVE_WCSCMP 1 | #define HAVE_WCSCPY 1 | #define HAVE_WCSLEN 1 | #define HAVE_WCTOMB 1 | #define HAVE_WMEMCMP 1 | #define HAVE_WMEMCPY 1 | #define HAVE_WMEMMOVE 1 | #define HAVE_READDIR_R 1 | #define HAVE_DIRFD 1 | /* end confdefs.h. */ | #ifdef HAVE_WINDOWS_H | # include | #endif | | | #include configure:19973: result: no configure:20847: checking md5.h usability configure:20847: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 conftest.c:217:10: fatal error: md5.h: No such file or directory #include ^~~~~~~ compilation terminated. configure:20847: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "libarchive" | #define PACKAGE_TARNAME "libarchive" | #define PACKAGE_VERSION "3.4.0" | #define PACKAGE_STRING "libarchive 3.4.0" | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com" | #define PACKAGE_URL "" | #define PACKAGE "libarchive" | #define VERSION "3.4.0" | #define LIBARCHIVE_VERSION_STRING "3.4.0" | #define LIBARCHIVE_VERSION_NUMBER "3004000" | #define BSDCPIO_VERSION_STRING "3.4.0" | #define BSDTAR_VERSION_STRING "3.4.0" | #define BSDCAT_VERSION_STRING "3.4.0" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define __EXTENSIONS__ 1 | #define _ALL_SOURCE 1 | #define _GNU_SOURCE 1 | #define _POSIX_PTHREAD_SEMANTICS 1 | #define _TANDEM_SOURCE 1 | #define LT_OBJDIR ".libs/" | #define HAVE_DIRENT_H 1 | #define HAVE_SYS_WAIT_H 1 | #define HAVE_CTYPE_H 1 | #define HAVE_ERRNO_H 1 | #define HAVE_FCNTL_H 1 | #define HAVE_GRP_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_LANGINFO_H 1 | #define HAVE_LIMITS_H 1 | #define HAVE_LINUX_FIEMAP_H 1 | #define HAVE_LINUX_FS_H 1 | #define HAVE_LINUX_MAGIC_H 1 | #define HAVE_LINUX_TYPES_H 1 | #define HAVE_WORKING_FS_IOC_GETFLAGS 1 | #define HAVE_LOCALE_H 1 | #define HAVE_PATHS_H 1 | #define HAVE_POLL_H 1 | #define HAVE_PTHREAD_H 1 | #define HAVE_PWD_H 1 | #define HAVE_SIGNAL_H 1 | #define HAVE_SPAWN_H 1 | #define HAVE_STDARG_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_SYS_CDEFS_H 1 | #define HAVE_SYS_IOCTL_H 1 | #define HAVE_SYS_MOUNT_H 1 | #define HAVE_SYS_PARAM_H 1 | #define HAVE_SYS_POLL_H 1 | #define HAVE_SYS_SELECT_H 1 | #define HAVE_SYS_STATFS_H 1 | #define HAVE_SYS_STATVFS_H 1 | #define HAVE_SYS_SYSMACROS_H 1 | #define HAVE_SYS_TIME_H 1 | #define HAVE_SYS_UTSNAME_H 1 | #define HAVE_SYS_VFS_H 1 | #define HAVE_SYS_XATTR_H 1 | #define HAVE_TIME_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_UTIME_H 1 | #define HAVE_WCHAR_H 1 | #define HAVE_WCTYPE_H 1 | #define HAVE_ICONV 1 | #define ICONV_CONST | #define HAVE_ICONV_H 1 | #define HAVE_LZMA_H 1 | #define HAVE_LIBLZMA 1 | #define HAVE_LZMA_STREAM_ENCODER_MT 1 | #define HAVE_REGEX_H 1 | #define HAVE_STRUCT_TM_TM_GMTOFF 1 | #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1 | #define HAVE_STRUCT_STAT_ST_BLKSIZE 1 | #define HAVE_UINTMAX_T 1 | #define HAVE_UNSIGNED_LONG_LONG 1 | #define HAVE_UNSIGNED_LONG_LONG_INT 1 | #define HAVE_LONG_LONG_INT 1 | #define HAVE_INTMAX_T 1 | #define HAVE_UINTMAX_T 1 | #define HAVE_DECL_SIZE_MAX 1 | #define HAVE_DECL_INT32_MAX 1 | #define HAVE_DECL_INT32_MIN 1 | #define HAVE_DECL_INT64_MAX 1 | #define HAVE_DECL_INT64_MIN 1 | #define HAVE_DECL_UINT64_MAX 1 | #define HAVE_DECL_UINT32_MAX 1 | #define HAVE_DECL_INTMAX_MAX 1 | #define HAVE_DECL_INTMAX_MIN 1 | #define HAVE_DECL_UINTMAX_MAX 1 | #define HAVE_DECL_SSIZE_MAX 1 | #define HAVE_EILSEQ 1 | #define HAVE_WCHAR_T 1 | #define SIZEOF_WCHAR_T 4 | #define TIME_WITH_SYS_TIME 1 | #define HAVE_FSEEKO 1 | #define HAVE_LSTAT_EMPTY_STRING_BUG 1 | #define HAVE_STAT_EMPTY_STRING_BUG 1 | #define HAVE_DECL_STRERROR_R 1 | #define HAVE_STRERROR_R 1 | #define STRERROR_R_CHAR_P 1 | #define HAVE_STRFTIME 1 | #define HAVE_VPRINTF 1 | #define HAVE_CHOWN 1 | #define HAVE_CHROOT 1 | #define HAVE_CTIME_R 1 | #define HAVE_FCHDIR 1 | #define HAVE_FCHMOD 1 | #define HAVE_FCHOWN 1 | #define HAVE_FCNTL 1 | #define HAVE_FDOPENDIR 1 | #define HAVE_FSTAT 1 | #define HAVE_FSTATAT 1 | #define HAVE_FSTATFS 1 | #define HAVE_FSTATVFS 1 | #define HAVE_FTRUNCATE 1 | #define HAVE_FUTIMENS 1 | #define HAVE_FUTIMESAT 1 | #define HAVE_GETEUID 1 | #define HAVE_GETPID 1 | #define HAVE_GETGRGID_R 1 | #define HAVE_GETGRNAM_R 1 | #define HAVE_GETPWNAM_R 1 | #define HAVE_GETPWUID_R 1 | #define HAVE_GMTIME_R 1 | #define HAVE_LCHOWN 1 | #define HAVE_LINK 1 | #define HAVE_LOCALTIME_R 1 | #define HAVE_LSTAT 1 | #define HAVE_LUTIMES 1 | #define HAVE_MBRTOWC 1 | #define HAVE_MEMMOVE 1 | #define HAVE_MEMSET 1 | #define HAVE_MKDIR 1 | #define HAVE_MKFIFO 1 | #define HAVE_MKNOD 1 | #define HAVE_MKSTEMP 1 | #define HAVE_NL_LANGINFO 1 | #define HAVE_OPENAT 1 | #define HAVE_PIPE 1 | #define HAVE_POLL 1 | #define HAVE_POSIX_SPAWNP 1 | #define HAVE_READLINK 1 | #define HAVE_READLINKAT 1 | #define HAVE_SELECT 1 | #define HAVE_SETENV 1 | #define HAVE_SETLOCALE 1 | #define HAVE_SIGACTION 1 | #define HAVE_STATFS 1 | #define HAVE_STATVFS 1 | #define HAVE_STRCHR 1 | #define HAVE_STRDUP 1 | #define HAVE_STRERROR 1 | #define HAVE_STRRCHR 1 | #define HAVE_SYMLINK 1 | #define HAVE_TIMEGM 1 | #define HAVE_TZSET 1 | #define HAVE_UNLINKAT 1 | #define HAVE_UNSETENV 1 | #define HAVE_UTIME 1 | #define HAVE_UTIMENSAT 1 | #define HAVE_UTIMES 1 | #define HAVE_VFORK 1 | #define HAVE_WCRTOMB 1 | #define HAVE_WCSCMP 1 | #define HAVE_WCSCPY 1 | #define HAVE_WCSLEN 1 | #define HAVE_WCTOMB 1 | #define HAVE_WMEMCMP 1 | #define HAVE_WMEMCPY 1 | #define HAVE_WMEMMOVE 1 | #define HAVE_READDIR_R 1 | #define HAVE_DIRFD 1 | /* end confdefs.h. */ | #include | #ifdef HAVE_SYS_TYPES_H | # include | #endif | #ifdef HAVE_SYS_STAT_H | # include | #endif | #ifdef STDC_HEADERS | # include | # include | #else | # ifdef HAVE_STDLIB_H | # include | # endif | #endif | #ifdef HAVE_STRING_H | # if !defined STDC_HEADERS && defined HAVE_MEMORY_H | # include | # endif | # include | #endif | #ifdef HAVE_STRINGS_H | # include | #endif | #ifdef HAVE_INTTYPES_H | # include | #endif | #ifdef HAVE_STDINT_H | # include | #endif | #ifdef HAVE_UNISTD_H | # include | #endif | #include configure:20847: result: no configure:20847: checking md5.h presence configure:20847: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-cpp -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c conftest.c:184:10: fatal error: md5.h: No such file or directory #include ^~~~~~~ compilation terminated. configure:20847: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "libarchive" | #define PACKAGE_TARNAME "libarchive" | #define PACKAGE_VERSION "3.4.0" | #define PACKAGE_STRING "libarchive 3.4.0" | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com" | #define PACKAGE_URL "" | #define PACKAGE "libarchive" | #define VERSION "3.4.0" | #define LIBARCHIVE_VERSION_STRING "3.4.0" | #define LIBARCHIVE_VERSION_NUMBER "3004000" | #define BSDCPIO_VERSION_STRING "3.4.0" | #define BSDTAR_VERSION_STRING "3.4.0" | #define BSDCAT_VERSION_STRING "3.4.0" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define __EXTENSIONS__ 1 | #define _ALL_SOURCE 1 | #define _GNU_SOURCE 1 | #define _POSIX_PTHREAD_SEMANTICS 1 | #define _TANDEM_SOURCE 1 | #define LT_OBJDIR ".libs/" | #define HAVE_DIRENT_H 1 | #define HAVE_SYS_WAIT_H 1 | #define HAVE_CTYPE_H 1 | #define HAVE_ERRNO_H 1 | #define HAVE_FCNTL_H 1 | #define HAVE_GRP_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_LANGINFO_H 1 | #define HAVE_LIMITS_H 1 | #define HAVE_LINUX_FIEMAP_H 1 | #define HAVE_LINUX_FS_H 1 | #define HAVE_LINUX_MAGIC_H 1 | #define HAVE_LINUX_TYPES_H 1 | #define HAVE_WORKING_FS_IOC_GETFLAGS 1 | #define HAVE_LOCALE_H 1 | #define HAVE_PATHS_H 1 | #define HAVE_POLL_H 1 | #define HAVE_PTHREAD_H 1 | #define HAVE_PWD_H 1 | #define HAVE_SIGNAL_H 1 | #define HAVE_SPAWN_H 1 | #define HAVE_STDARG_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_SYS_CDEFS_H 1 | #define HAVE_SYS_IOCTL_H 1 | #define HAVE_SYS_MOUNT_H 1 | #define HAVE_SYS_PARAM_H 1 | #define HAVE_SYS_POLL_H 1 | #define HAVE_SYS_SELECT_H 1 | #define HAVE_SYS_STATFS_H 1 | #define HAVE_SYS_STATVFS_H 1 | #define HAVE_SYS_SYSMACROS_H 1 | #define HAVE_SYS_TIME_H 1 | #define HAVE_SYS_UTSNAME_H 1 | #define HAVE_SYS_VFS_H 1 | #define HAVE_SYS_XATTR_H 1 | #define HAVE_TIME_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_UTIME_H 1 | #define HAVE_WCHAR_H 1 | #define HAVE_WCTYPE_H 1 | #define HAVE_ICONV 1 | #define ICONV_CONST | #define HAVE_ICONV_H 1 | #define HAVE_LZMA_H 1 | #define HAVE_LIBLZMA 1 | #define HAVE_LZMA_STREAM_ENCODER_MT 1 | #define HAVE_REGEX_H 1 | #define HAVE_STRUCT_TM_TM_GMTOFF 1 | #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1 | #define HAVE_STRUCT_STAT_ST_BLKSIZE 1 | #define HAVE_UINTMAX_T 1 | #define HAVE_UNSIGNED_LONG_LONG 1 | #define HAVE_UNSIGNED_LONG_LONG_INT 1 | #define HAVE_LONG_LONG_INT 1 | #define HAVE_INTMAX_T 1 | #define HAVE_UINTMAX_T 1 | #define HAVE_DECL_SIZE_MAX 1 | #define HAVE_DECL_INT32_MAX 1 | #define HAVE_DECL_INT32_MIN 1 | #define HAVE_DECL_INT64_MAX 1 | #define HAVE_DECL_INT64_MIN 1 | #define HAVE_DECL_UINT64_MAX 1 | #define HAVE_DECL_UINT32_MAX 1 | #define HAVE_DECL_INTMAX_MAX 1 | #define HAVE_DECL_INTMAX_MIN 1 | #define HAVE_DECL_UINTMAX_MAX 1 | #define HAVE_DECL_SSIZE_MAX 1 | #define HAVE_EILSEQ 1 | #define HAVE_WCHAR_T 1 | #define SIZEOF_WCHAR_T 4 | #define TIME_WITH_SYS_TIME 1 | #define HAVE_FSEEKO 1 | #define HAVE_LSTAT_EMPTY_STRING_BUG 1 | #define HAVE_STAT_EMPTY_STRING_BUG 1 | #define HAVE_DECL_STRERROR_R 1 | #define HAVE_STRERROR_R 1 | #define STRERROR_R_CHAR_P 1 | #define HAVE_STRFTIME 1 | #define HAVE_VPRINTF 1 | #define HAVE_CHOWN 1 | #define HAVE_CHROOT 1 | #define HAVE_CTIME_R 1 | #define HAVE_FCHDIR 1 | #define HAVE_FCHMOD 1 | #define HAVE_FCHOWN 1 | #define HAVE_FCNTL 1 | #define HAVE_FDOPENDIR 1 | #define HAVE_FSTAT 1 | #define HAVE_FSTATAT 1 | #define HAVE_FSTATFS 1 | #define HAVE_FSTATVFS 1 | #define HAVE_FTRUNCATE 1 | #define HAVE_FUTIMENS 1 | #define HAVE_FUTIMESAT 1 | #define HAVE_GETEUID 1 | #define HAVE_GETPID 1 | #define HAVE_GETGRGID_R 1 | #define HAVE_GETGRNAM_R 1 | #define HAVE_GETPWNAM_R 1 | #define HAVE_GETPWUID_R 1 | #define HAVE_GMTIME_R 1 | #define HAVE_LCHOWN 1 | #define HAVE_LINK 1 | #define HAVE_LOCALTIME_R 1 | #define HAVE_LSTAT 1 | #define HAVE_LUTIMES 1 | #define HAVE_MBRTOWC 1 | #define HAVE_MEMMOVE 1 | #define HAVE_MEMSET 1 | #define HAVE_MKDIR 1 | #define HAVE_MKFIFO 1 | #define HAVE_MKNOD 1 | #define HAVE_MKSTEMP 1 | #define HAVE_NL_LANGINFO 1 | #define HAVE_OPENAT 1 | #define HAVE_PIPE 1 | #define HAVE_POLL 1 | #define HAVE_POSIX_SPAWNP 1 | #define HAVE_READLINK 1 | #define HAVE_READLINKAT 1 | #define HAVE_SELECT 1 | #define HAVE_SETENV 1 | #define HAVE_SETLOCALE 1 | #define HAVE_SIGACTION 1 | #define HAVE_STATFS 1 | #define HAVE_STATVFS 1 | #define HAVE_STRCHR 1 | #define HAVE_STRDUP 1 | #define HAVE_STRERROR 1 | #define HAVE_STRRCHR 1 | #define HAVE_SYMLINK 1 | #define HAVE_TIMEGM 1 | #define HAVE_TZSET 1 | #define HAVE_UNLINKAT 1 | #define HAVE_UNSETENV 1 | #define HAVE_UTIME 1 | #define HAVE_UTIMENSAT 1 | #define HAVE_UTIMES 1 | #define HAVE_VFORK 1 | #define HAVE_WCRTOMB 1 | #define HAVE_WCSCMP 1 | #define HAVE_WCSCPY 1 | #define HAVE_WCSLEN 1 | #define HAVE_WCTOMB 1 | #define HAVE_WMEMCMP 1 | #define HAVE_WMEMCPY 1 | #define HAVE_WMEMMOVE 1 | #define HAVE_READDIR_R 1 | #define HAVE_DIRFD 1 | /* end confdefs.h. */ | #include configure:20847: result: no configure:20847: checking for md5.h configure:20847: result: no configure:20847: checking ripemd.h usability configure:20847: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 conftest.c:217:10: fatal error: ripemd.h: No such file or directory #include ^~~~~~~~~~ compilation terminated. configure:20847: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "libarchive" | #define PACKAGE_TARNAME "libarchive" | #define PACKAGE_VERSION "3.4.0" | #define PACKAGE_STRING "libarchive 3.4.0" | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com" | #define PACKAGE_URL "" | #define PACKAGE "libarchive" | #define VERSION "3.4.0" | #define LIBARCHIVE_VERSION_STRING "3.4.0" | #define LIBARCHIVE_VERSION_NUMBER "3004000" | #define BSDCPIO_VERSION_STRING "3.4.0" | #define BSDTAR_VERSION_STRING "3.4.0" | #define BSDCAT_VERSION_STRING "3.4.0" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define __EXTENSIONS__ 1 | #define _ALL_SOURCE 1 | #define _GNU_SOURCE 1 | #define _POSIX_PTHREAD_SEMANTICS 1 | #define _TANDEM_SOURCE 1 | #define LT_OBJDIR ".libs/" | #define HAVE_DIRENT_H 1 | #define HAVE_SYS_WAIT_H 1 | #define HAVE_CTYPE_H 1 | #define HAVE_ERRNO_H 1 | #define HAVE_FCNTL_H 1 | #define HAVE_GRP_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_LANGINFO_H 1 | #define HAVE_LIMITS_H 1 | #define HAVE_LINUX_FIEMAP_H 1 | #define HAVE_LINUX_FS_H 1 | #define HAVE_LINUX_MAGIC_H 1 | #define HAVE_LINUX_TYPES_H 1 | #define HAVE_WORKING_FS_IOC_GETFLAGS 1 | #define HAVE_LOCALE_H 1 | #define HAVE_PATHS_H 1 | #define HAVE_POLL_H 1 | #define HAVE_PTHREAD_H 1 | #define HAVE_PWD_H 1 | #define HAVE_SIGNAL_H 1 | #define HAVE_SPAWN_H 1 | #define HAVE_STDARG_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_SYS_CDEFS_H 1 | #define HAVE_SYS_IOCTL_H 1 | #define HAVE_SYS_MOUNT_H 1 | #define HAVE_SYS_PARAM_H 1 | #define HAVE_SYS_POLL_H 1 | #define HAVE_SYS_SELECT_H 1 | #define HAVE_SYS_STATFS_H 1 | #define HAVE_SYS_STATVFS_H 1 | #define HAVE_SYS_SYSMACROS_H 1 | #define HAVE_SYS_TIME_H 1 | #define HAVE_SYS_UTSNAME_H 1 | #define HAVE_SYS_VFS_H 1 | #define HAVE_SYS_XATTR_H 1 | #define HAVE_TIME_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_UTIME_H 1 | #define HAVE_WCHAR_H 1 | #define HAVE_WCTYPE_H 1 | #define HAVE_ICONV 1 | #define ICONV_CONST | #define HAVE_ICONV_H 1 | #define HAVE_LZMA_H 1 | #define HAVE_LIBLZMA 1 | #define HAVE_LZMA_STREAM_ENCODER_MT 1 | #define HAVE_REGEX_H 1 | #define HAVE_STRUCT_TM_TM_GMTOFF 1 | #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1 | #define HAVE_STRUCT_STAT_ST_BLKSIZE 1 | #define HAVE_UINTMAX_T 1 | #define HAVE_UNSIGNED_LONG_LONG 1 | #define HAVE_UNSIGNED_LONG_LONG_INT 1 | #define HAVE_LONG_LONG_INT 1 | #define HAVE_INTMAX_T 1 | #define HAVE_UINTMAX_T 1 | #define HAVE_DECL_SIZE_MAX 1 | #define HAVE_DECL_INT32_MAX 1 | #define HAVE_DECL_INT32_MIN 1 | #define HAVE_DECL_INT64_MAX 1 | #define HAVE_DECL_INT64_MIN 1 | #define HAVE_DECL_UINT64_MAX 1 | #define HAVE_DECL_UINT32_MAX 1 | #define HAVE_DECL_INTMAX_MAX 1 | #define HAVE_DECL_INTMAX_MIN 1 | #define HAVE_DECL_UINTMAX_MAX 1 | #define HAVE_DECL_SSIZE_MAX 1 | #define HAVE_EILSEQ 1 | #define HAVE_WCHAR_T 1 | #define SIZEOF_WCHAR_T 4 | #define TIME_WITH_SYS_TIME 1 | #define HAVE_FSEEKO 1 | #define HAVE_LSTAT_EMPTY_STRING_BUG 1 | #define HAVE_STAT_EMPTY_STRING_BUG 1 | #define HAVE_DECL_STRERROR_R 1 | #define HAVE_STRERROR_R 1 | #define STRERROR_R_CHAR_P 1 | #define HAVE_STRFTIME 1 | #define HAVE_VPRINTF 1 | #define HAVE_CHOWN 1 | #define HAVE_CHROOT 1 | #define HAVE_CTIME_R 1 | #define HAVE_FCHDIR 1 | #define HAVE_FCHMOD 1 | #define HAVE_FCHOWN 1 | #define HAVE_FCNTL 1 | #define HAVE_FDOPENDIR 1 | #define HAVE_FSTAT 1 | #define HAVE_FSTATAT 1 | #define HAVE_FSTATFS 1 | #define HAVE_FSTATVFS 1 | #define HAVE_FTRUNCATE 1 | #define HAVE_FUTIMENS 1 | #define HAVE_FUTIMESAT 1 | #define HAVE_GETEUID 1 | #define HAVE_GETPID 1 | #define HAVE_GETGRGID_R 1 | #define HAVE_GETGRNAM_R 1 | #define HAVE_GETPWNAM_R 1 | #define HAVE_GETPWUID_R 1 | #define HAVE_GMTIME_R 1 | #define HAVE_LCHOWN 1 | #define HAVE_LINK 1 | #define HAVE_LOCALTIME_R 1 | #define HAVE_LSTAT 1 | #define HAVE_LUTIMES 1 | #define HAVE_MBRTOWC 1 | #define HAVE_MEMMOVE 1 | #define HAVE_MEMSET 1 | #define HAVE_MKDIR 1 | #define HAVE_MKFIFO 1 | #define HAVE_MKNOD 1 | #define HAVE_MKSTEMP 1 | #define HAVE_NL_LANGINFO 1 | #define HAVE_OPENAT 1 | #define HAVE_PIPE 1 | #define HAVE_POLL 1 | #define HAVE_POSIX_SPAWNP 1 | #define HAVE_READLINK 1 | #define HAVE_READLINKAT 1 | #define HAVE_SELECT 1 | #define HAVE_SETENV 1 | #define HAVE_SETLOCALE 1 | #define HAVE_SIGACTION 1 | #define HAVE_STATFS 1 | #define HAVE_STATVFS 1 | #define HAVE_STRCHR 1 | #define HAVE_STRDUP 1 | #define HAVE_STRERROR 1 | #define HAVE_STRRCHR 1 | #define HAVE_SYMLINK 1 | #define HAVE_TIMEGM 1 | #define HAVE_TZSET 1 | #define HAVE_UNLINKAT 1 | #define HAVE_UNSETENV 1 | #define HAVE_UTIME 1 | #define HAVE_UTIMENSAT 1 | #define HAVE_UTIMES 1 | #define HAVE_VFORK 1 | #define HAVE_WCRTOMB 1 | #define HAVE_WCSCMP 1 | #define HAVE_WCSCPY 1 | #define HAVE_WCSLEN 1 | #define HAVE_WCTOMB 1 | #define HAVE_WMEMCMP 1 | #define HAVE_WMEMCPY 1 | #define HAVE_WMEMMOVE 1 | #define HAVE_READDIR_R 1 | #define HAVE_DIRFD 1 | /* end confdefs.h. */ | #include | #ifdef HAVE_SYS_TYPES_H | # include | #endif | #ifdef HAVE_SYS_STAT_H | # include | #endif | #ifdef STDC_HEADERS | # include | # include | #else | # ifdef HAVE_STDLIB_H | # include | # endif | #endif | #ifdef HAVE_STRING_H | # if !defined STDC_HEADERS && defined HAVE_MEMORY_H | # include | # endif | # include | #endif | #ifdef HAVE_STRINGS_H | # include | #endif | #ifdef HAVE_INTTYPES_H | # include | #endif | #ifdef HAVE_STDINT_H | # include | #endif | #ifdef HAVE_UNISTD_H | # include | #endif | #include configure:20847: result: no configure:20847: checking ripemd.h presence configure:20847: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-cpp -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c conftest.c:184:10: fatal error: ripemd.h: No such file or directory #include ^~~~~~~~~~ compilation terminated. configure:20847: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "libarchive" | #define PACKAGE_TARNAME "libarchive" | #define PACKAGE_VERSION "3.4.0" | #define PACKAGE_STRING "libarchive 3.4.0" | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com" | #define PACKAGE_URL "" | #define PACKAGE "libarchive" | #define VERSION "3.4.0" | #define LIBARCHIVE_VERSION_STRING "3.4.0" | #define LIBARCHIVE_VERSION_NUMBER "3004000" | #define BSDCPIO_VERSION_STRING "3.4.0" | #define BSDTAR_VERSION_STRING "3.4.0" | #define BSDCAT_VERSION_STRING "3.4.0" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define __EXTENSIONS__ 1 | #define _ALL_SOURCE 1 | #define _GNU_SOURCE 1 | #define _POSIX_PTHREAD_SEMANTICS 1 | #define _TANDEM_SOURCE 1 | #define LT_OBJDIR ".libs/" | #define HAVE_DIRENT_H 1 | #define HAVE_SYS_WAIT_H 1 | #define HAVE_CTYPE_H 1 | #define HAVE_ERRNO_H 1 | #define HAVE_FCNTL_H 1 | #define HAVE_GRP_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_LANGINFO_H 1 | #define HAVE_LIMITS_H 1 | #define HAVE_LINUX_FIEMAP_H 1 | #define HAVE_LINUX_FS_H 1 | #define HAVE_LINUX_MAGIC_H 1 | #define HAVE_LINUX_TYPES_H 1 | #define HAVE_WORKING_FS_IOC_GETFLAGS 1 | #define HAVE_LOCALE_H 1 | #define HAVE_PATHS_H 1 | #define HAVE_POLL_H 1 | #define HAVE_PTHREAD_H 1 | #define HAVE_PWD_H 1 | #define HAVE_SIGNAL_H 1 | #define HAVE_SPAWN_H 1 | #define HAVE_STDARG_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_SYS_CDEFS_H 1 | #define HAVE_SYS_IOCTL_H 1 | #define HAVE_SYS_MOUNT_H 1 | #define HAVE_SYS_PARAM_H 1 | #define HAVE_SYS_POLL_H 1 | #define HAVE_SYS_SELECT_H 1 | #define HAVE_SYS_STATFS_H 1 | #define HAVE_SYS_STATVFS_H 1 | #define HAVE_SYS_SYSMACROS_H 1 | #define HAVE_SYS_TIME_H 1 | #define HAVE_SYS_UTSNAME_H 1 | #define HAVE_SYS_VFS_H 1 | #define HAVE_SYS_XATTR_H 1 | #define HAVE_TIME_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_UTIME_H 1 | #define HAVE_WCHAR_H 1 | #define HAVE_WCTYPE_H 1 | #define HAVE_ICONV 1 | #define ICONV_CONST | #define HAVE_ICONV_H 1 | #define HAVE_LZMA_H 1 | #define HAVE_LIBLZMA 1 | #define HAVE_LZMA_STREAM_ENCODER_MT 1 | #define HAVE_REGEX_H 1 | #define HAVE_STRUCT_TM_TM_GMTOFF 1 | #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1 | #define HAVE_STRUCT_STAT_ST_BLKSIZE 1 | #define HAVE_UINTMAX_T 1 | #define HAVE_UNSIGNED_LONG_LONG 1 | #define HAVE_UNSIGNED_LONG_LONG_INT 1 | #define HAVE_LONG_LONG_INT 1 | #define HAVE_INTMAX_T 1 | #define HAVE_UINTMAX_T 1 | #define HAVE_DECL_SIZE_MAX 1 | #define HAVE_DECL_INT32_MAX 1 | #define HAVE_DECL_INT32_MIN 1 | #define HAVE_DECL_INT64_MAX 1 | #define HAVE_DECL_INT64_MIN 1 | #define HAVE_DECL_UINT64_MAX 1 | #define HAVE_DECL_UINT32_MAX 1 | #define HAVE_DECL_INTMAX_MAX 1 | #define HAVE_DECL_INTMAX_MIN 1 | #define HAVE_DECL_UINTMAX_MAX 1 | #define HAVE_DECL_SSIZE_MAX 1 | #define HAVE_EILSEQ 1 | #define HAVE_WCHAR_T 1 | #define SIZEOF_WCHAR_T 4 | #define TIME_WITH_SYS_TIME 1 | #define HAVE_FSEEKO 1 | #define HAVE_LSTAT_EMPTY_STRING_BUG 1 | #define HAVE_STAT_EMPTY_STRING_BUG 1 | #define HAVE_DECL_STRERROR_R 1 | #define HAVE_STRERROR_R 1 | #define STRERROR_R_CHAR_P 1 | #define HAVE_STRFTIME 1 | #define HAVE_VPRINTF 1 | #define HAVE_CHOWN 1 | #define HAVE_CHROOT 1 | #define HAVE_CTIME_R 1 | #define HAVE_FCHDIR 1 | #define HAVE_FCHMOD 1 | #define HAVE_FCHOWN 1 | #define HAVE_FCNTL 1 | #define HAVE_FDOPENDIR 1 | #define HAVE_FSTAT 1 | #define HAVE_FSTATAT 1 | #define HAVE_FSTATFS 1 | #define HAVE_FSTATVFS 1 | #define HAVE_FTRUNCATE 1 | #define HAVE_FUTIMENS 1 | #define HAVE_FUTIMESAT 1 | #define HAVE_GETEUID 1 | #define HAVE_GETPID 1 | #define HAVE_GETGRGID_R 1 | #define HAVE_GETGRNAM_R 1 | #define HAVE_GETPWNAM_R 1 | #define HAVE_GETPWUID_R 1 | #define HAVE_GMTIME_R 1 | #define HAVE_LCHOWN 1 | #define HAVE_LINK 1 | #define HAVE_LOCALTIME_R 1 | #define HAVE_LSTAT 1 | #define HAVE_LUTIMES 1 | #define HAVE_MBRTOWC 1 | #define HAVE_MEMMOVE 1 | #define HAVE_MEMSET 1 | #define HAVE_MKDIR 1 | #define HAVE_MKFIFO 1 | #define HAVE_MKNOD 1 | #define HAVE_MKSTEMP 1 | #define HAVE_NL_LANGINFO 1 | #define HAVE_OPENAT 1 | #define HAVE_PIPE 1 | #define HAVE_POLL 1 | #define HAVE_POSIX_SPAWNP 1 | #define HAVE_READLINK 1 | #define HAVE_READLINKAT 1 | #define HAVE_SELECT 1 | #define HAVE_SETENV 1 | #define HAVE_SETLOCALE 1 | #define HAVE_SIGACTION 1 | #define HAVE_STATFS 1 | #define HAVE_STATVFS 1 | #define HAVE_STRCHR 1 | #define HAVE_STRDUP 1 | #define HAVE_STRERROR 1 | #define HAVE_STRRCHR 1 | #define HAVE_SYMLINK 1 | #define HAVE_TIMEGM 1 | #define HAVE_TZSET 1 | #define HAVE_UNLINKAT 1 | #define HAVE_UNSETENV 1 | #define HAVE_UTIME 1 | #define HAVE_UTIMENSAT 1 | #define HAVE_UTIMES 1 | #define HAVE_VFORK 1 | #define HAVE_WCRTOMB 1 | #define HAVE_WCSCMP 1 | #define HAVE_WCSCPY 1 | #define HAVE_WCSLEN 1 | #define HAVE_WCTOMB 1 | #define HAVE_WMEMCMP 1 | #define HAVE_WMEMCPY 1 | #define HAVE_WMEMMOVE 1 | #define HAVE_READDIR_R 1 | #define HAVE_DIRFD 1 | /* end confdefs.h. */ | #include configure:20847: result: no configure:20847: checking for ripemd.h configure:20847: result: no configure:20847: checking sha.h usability configure:20847: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 conftest.c:217:10: fatal error: sha.h: No such file or directory #include ^~~~~~~ compilation terminated. configure:20847: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "libarchive" | #define PACKAGE_TARNAME "libarchive" | #define PACKAGE_VERSION "3.4.0" | #define PACKAGE_STRING "libarchive 3.4.0" | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com" | #define PACKAGE_URL "" | #define PACKAGE "libarchive" | #define VERSION "3.4.0" | #define LIBARCHIVE_VERSION_STRING "3.4.0" | #define LIBARCHIVE_VERSION_NUMBER "3004000" | #define BSDCPIO_VERSION_STRING "3.4.0" | #define BSDTAR_VERSION_STRING "3.4.0" | #define BSDCAT_VERSION_STRING "3.4.0" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define __EXTENSIONS__ 1 | #define _ALL_SOURCE 1 | #define _GNU_SOURCE 1 | #define _POSIX_PTHREAD_SEMANTICS 1 | #define _TANDEM_SOURCE 1 | #define LT_OBJDIR ".libs/" | #define HAVE_DIRENT_H 1 | #define HAVE_SYS_WAIT_H 1 | #define HAVE_CTYPE_H 1 | #define HAVE_ERRNO_H 1 | #define HAVE_FCNTL_H 1 | #define HAVE_GRP_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_LANGINFO_H 1 | #define HAVE_LIMITS_H 1 | #define HAVE_LINUX_FIEMAP_H 1 | #define HAVE_LINUX_FS_H 1 | #define HAVE_LINUX_MAGIC_H 1 | #define HAVE_LINUX_TYPES_H 1 | #define HAVE_WORKING_FS_IOC_GETFLAGS 1 | #define HAVE_LOCALE_H 1 | #define HAVE_PATHS_H 1 | #define HAVE_POLL_H 1 | #define HAVE_PTHREAD_H 1 | #define HAVE_PWD_H 1 | #define HAVE_SIGNAL_H 1 | #define HAVE_SPAWN_H 1 | #define HAVE_STDARG_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_SYS_CDEFS_H 1 | #define HAVE_SYS_IOCTL_H 1 | #define HAVE_SYS_MOUNT_H 1 | #define HAVE_SYS_PARAM_H 1 | #define HAVE_SYS_POLL_H 1 | #define HAVE_SYS_SELECT_H 1 | #define HAVE_SYS_STATFS_H 1 | #define HAVE_SYS_STATVFS_H 1 | #define HAVE_SYS_SYSMACROS_H 1 | #define HAVE_SYS_TIME_H 1 | #define HAVE_SYS_UTSNAME_H 1 | #define HAVE_SYS_VFS_H 1 | #define HAVE_SYS_XATTR_H 1 | #define HAVE_TIME_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_UTIME_H 1 | #define HAVE_WCHAR_H 1 | #define HAVE_WCTYPE_H 1 | #define HAVE_ICONV 1 | #define ICONV_CONST | #define HAVE_ICONV_H 1 | #define HAVE_LZMA_H 1 | #define HAVE_LIBLZMA 1 | #define HAVE_LZMA_STREAM_ENCODER_MT 1 | #define HAVE_REGEX_H 1 | #define HAVE_STRUCT_TM_TM_GMTOFF 1 | #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1 | #define HAVE_STRUCT_STAT_ST_BLKSIZE 1 | #define HAVE_UINTMAX_T 1 | #define HAVE_UNSIGNED_LONG_LONG 1 | #define HAVE_UNSIGNED_LONG_LONG_INT 1 | #define HAVE_LONG_LONG_INT 1 | #define HAVE_INTMAX_T 1 | #define HAVE_UINTMAX_T 1 | #define HAVE_DECL_SIZE_MAX 1 | #define HAVE_DECL_INT32_MAX 1 | #define HAVE_DECL_INT32_MIN 1 | #define HAVE_DECL_INT64_MAX 1 | #define HAVE_DECL_INT64_MIN 1 | #define HAVE_DECL_UINT64_MAX 1 | #define HAVE_DECL_UINT32_MAX 1 | #define HAVE_DECL_INTMAX_MAX 1 | #define HAVE_DECL_INTMAX_MIN 1 | #define HAVE_DECL_UINTMAX_MAX 1 | #define HAVE_DECL_SSIZE_MAX 1 | #define HAVE_EILSEQ 1 | #define HAVE_WCHAR_T 1 | #define SIZEOF_WCHAR_T 4 | #define TIME_WITH_SYS_TIME 1 | #define HAVE_FSEEKO 1 | #define HAVE_LSTAT_EMPTY_STRING_BUG 1 | #define HAVE_STAT_EMPTY_STRING_BUG 1 | #define HAVE_DECL_STRERROR_R 1 | #define HAVE_STRERROR_R 1 | #define STRERROR_R_CHAR_P 1 | #define HAVE_STRFTIME 1 | #define HAVE_VPRINTF 1 | #define HAVE_CHOWN 1 | #define HAVE_CHROOT 1 | #define HAVE_CTIME_R 1 | #define HAVE_FCHDIR 1 | #define HAVE_FCHMOD 1 | #define HAVE_FCHOWN 1 | #define HAVE_FCNTL 1 | #define HAVE_FDOPENDIR 1 | #define HAVE_FSTAT 1 | #define HAVE_FSTATAT 1 | #define HAVE_FSTATFS 1 | #define HAVE_FSTATVFS 1 | #define HAVE_FTRUNCATE 1 | #define HAVE_FUTIMENS 1 | #define HAVE_FUTIMESAT 1 | #define HAVE_GETEUID 1 | #define HAVE_GETPID 1 | #define HAVE_GETGRGID_R 1 | #define HAVE_GETGRNAM_R 1 | #define HAVE_GETPWNAM_R 1 | #define HAVE_GETPWUID_R 1 | #define HAVE_GMTIME_R 1 | #define HAVE_LCHOWN 1 | #define HAVE_LINK 1 | #define HAVE_LOCALTIME_R 1 | #define HAVE_LSTAT 1 | #define HAVE_LUTIMES 1 | #define HAVE_MBRTOWC 1 | #define HAVE_MEMMOVE 1 | #define HAVE_MEMSET 1 | #define HAVE_MKDIR 1 | #define HAVE_MKFIFO 1 | #define HAVE_MKNOD 1 | #define HAVE_MKSTEMP 1 | #define HAVE_NL_LANGINFO 1 | #define HAVE_OPENAT 1 | #define HAVE_PIPE 1 | #define HAVE_POLL 1 | #define HAVE_POSIX_SPAWNP 1 | #define HAVE_READLINK 1 | #define HAVE_READLINKAT 1 | #define HAVE_SELECT 1 | #define HAVE_SETENV 1 | #define HAVE_SETLOCALE 1 | #define HAVE_SIGACTION 1 | #define HAVE_STATFS 1 | #define HAVE_STATVFS 1 | #define HAVE_STRCHR 1 | #define HAVE_STRDUP 1 | #define HAVE_STRERROR 1 | #define HAVE_STRRCHR 1 | #define HAVE_SYMLINK 1 | #define HAVE_TIMEGM 1 | #define HAVE_TZSET 1 | #define HAVE_UNLINKAT 1 | #define HAVE_UNSETENV 1 | #define HAVE_UTIME 1 | #define HAVE_UTIMENSAT 1 | #define HAVE_UTIMES 1 | #define HAVE_VFORK 1 | #define HAVE_WCRTOMB 1 | #define HAVE_WCSCMP 1 | #define HAVE_WCSCPY 1 | #define HAVE_WCSLEN 1 | #define HAVE_WCTOMB 1 | #define HAVE_WMEMCMP 1 | #define HAVE_WMEMCPY 1 | #define HAVE_WMEMMOVE 1 | #define HAVE_READDIR_R 1 | #define HAVE_DIRFD 1 | /* end confdefs.h. */ | #include | #ifdef HAVE_SYS_TYPES_H | # include | #endif | #ifdef HAVE_SYS_STAT_H | # include | #endif | #ifdef STDC_HEADERS | # include | # include | #else | # ifdef HAVE_STDLIB_H | # include | # endif | #endif | #ifdef HAVE_STRING_H | # if !defined STDC_HEADERS && defined HAVE_MEMORY_H | # include | # endif | # include | #endif | #ifdef HAVE_STRINGS_H | # include | #endif | #ifdef HAVE_INTTYPES_H | # include | #endif | #ifdef HAVE_STDINT_H | # include | #endif | #ifdef HAVE_UNISTD_H | # include | #endif | #include configure:20847: result: no configure:20847: checking sha.h presence configure:20847: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-cpp -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c conftest.c:184:10: fatal error: sha.h: No such file or directory #include ^~~~~~~ compilation terminated. configure:20847: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "libarchive" | #define PACKAGE_TARNAME "libarchive" | #define PACKAGE_VERSION "3.4.0" | #define PACKAGE_STRING "libarchive 3.4.0" | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com" | #define PACKAGE_URL "" | #define PACKAGE "libarchive" | #define VERSION "3.4.0" | #define LIBARCHIVE_VERSION_STRING "3.4.0" | #define LIBARCHIVE_VERSION_NUMBER "3004000" | #define BSDCPIO_VERSION_STRING "3.4.0" | #define BSDTAR_VERSION_STRING "3.4.0" | #define BSDCAT_VERSION_STRING "3.4.0" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define __EXTENSIONS__ 1 | #define _ALL_SOURCE 1 | #define _GNU_SOURCE 1 | #define _POSIX_PTHREAD_SEMANTICS 1 | #define _TANDEM_SOURCE 1 | #define LT_OBJDIR ".libs/" | #define HAVE_DIRENT_H 1 | #define HAVE_SYS_WAIT_H 1 | #define HAVE_CTYPE_H 1 | #define HAVE_ERRNO_H 1 | #define HAVE_FCNTL_H 1 | #define HAVE_GRP_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_LANGINFO_H 1 | #define HAVE_LIMITS_H 1 | #define HAVE_LINUX_FIEMAP_H 1 | #define HAVE_LINUX_FS_H 1 | #define HAVE_LINUX_MAGIC_H 1 | #define HAVE_LINUX_TYPES_H 1 | #define HAVE_WORKING_FS_IOC_GETFLAGS 1 | #define HAVE_LOCALE_H 1 | #define HAVE_PATHS_H 1 | #define HAVE_POLL_H 1 | #define HAVE_PTHREAD_H 1 | #define HAVE_PWD_H 1 | #define HAVE_SIGNAL_H 1 | #define HAVE_SPAWN_H 1 | #define HAVE_STDARG_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_SYS_CDEFS_H 1 | #define HAVE_SYS_IOCTL_H 1 | #define HAVE_SYS_MOUNT_H 1 | #define HAVE_SYS_PARAM_H 1 | #define HAVE_SYS_POLL_H 1 | #define HAVE_SYS_SELECT_H 1 | #define HAVE_SYS_STATFS_H 1 | #define HAVE_SYS_STATVFS_H 1 | #define HAVE_SYS_SYSMACROS_H 1 | #define HAVE_SYS_TIME_H 1 | #define HAVE_SYS_UTSNAME_H 1 | #define HAVE_SYS_VFS_H 1 | #define HAVE_SYS_XATTR_H 1 | #define HAVE_TIME_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_UTIME_H 1 | #define HAVE_WCHAR_H 1 | #define HAVE_WCTYPE_H 1 | #define HAVE_ICONV 1 | #define ICONV_CONST | #define HAVE_ICONV_H 1 | #define HAVE_LZMA_H 1 | #define HAVE_LIBLZMA 1 | #define HAVE_LZMA_STREAM_ENCODER_MT 1 | #define HAVE_REGEX_H 1 | #define HAVE_STRUCT_TM_TM_GMTOFF 1 | #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1 | #define HAVE_STRUCT_STAT_ST_BLKSIZE 1 | #define HAVE_UINTMAX_T 1 | #define HAVE_UNSIGNED_LONG_LONG 1 | #define HAVE_UNSIGNED_LONG_LONG_INT 1 | #define HAVE_LONG_LONG_INT 1 | #define HAVE_INTMAX_T 1 | #define HAVE_UINTMAX_T 1 | #define HAVE_DECL_SIZE_MAX 1 | #define HAVE_DECL_INT32_MAX 1 | #define HAVE_DECL_INT32_MIN 1 | #define HAVE_DECL_INT64_MAX 1 | #define HAVE_DECL_INT64_MIN 1 | #define HAVE_DECL_UINT64_MAX 1 | #define HAVE_DECL_UINT32_MAX 1 | #define HAVE_DECL_INTMAX_MAX 1 | #define HAVE_DECL_INTMAX_MIN 1 | #define HAVE_DECL_UINTMAX_MAX 1 | #define HAVE_DECL_SSIZE_MAX 1 | #define HAVE_EILSEQ 1 | #define HAVE_WCHAR_T 1 | #define SIZEOF_WCHAR_T 4 | #define TIME_WITH_SYS_TIME 1 | #define HAVE_FSEEKO 1 | #define HAVE_LSTAT_EMPTY_STRING_BUG 1 | #define HAVE_STAT_EMPTY_STRING_BUG 1 | #define HAVE_DECL_STRERROR_R 1 | #define HAVE_STRERROR_R 1 | #define STRERROR_R_CHAR_P 1 | #define HAVE_STRFTIME 1 | #define HAVE_VPRINTF 1 | #define HAVE_CHOWN 1 | #define HAVE_CHROOT 1 | #define HAVE_CTIME_R 1 | #define HAVE_FCHDIR 1 | #define HAVE_FCHMOD 1 | #define HAVE_FCHOWN 1 | #define HAVE_FCNTL 1 | #define HAVE_FDOPENDIR 1 | #define HAVE_FSTAT 1 | #define HAVE_FSTATAT 1 | #define HAVE_FSTATFS 1 | #define HAVE_FSTATVFS 1 | #define HAVE_FTRUNCATE 1 | #define HAVE_FUTIMENS 1 | #define HAVE_FUTIMESAT 1 | #define HAVE_GETEUID 1 | #define HAVE_GETPID 1 | #define HAVE_GETGRGID_R 1 | #define HAVE_GETGRNAM_R 1 | #define HAVE_GETPWNAM_R 1 | #define HAVE_GETPWUID_R 1 | #define HAVE_GMTIME_R 1 | #define HAVE_LCHOWN 1 | #define HAVE_LINK 1 | #define HAVE_LOCALTIME_R 1 | #define HAVE_LSTAT 1 | #define HAVE_LUTIMES 1 | #define HAVE_MBRTOWC 1 | #define HAVE_MEMMOVE 1 | #define HAVE_MEMSET 1 | #define HAVE_MKDIR 1 | #define HAVE_MKFIFO 1 | #define HAVE_MKNOD 1 | #define HAVE_MKSTEMP 1 | #define HAVE_NL_LANGINFO 1 | #define HAVE_OPENAT 1 | #define HAVE_PIPE 1 | #define HAVE_POLL 1 | #define HAVE_POSIX_SPAWNP 1 | #define HAVE_READLINK 1 | #define HAVE_READLINKAT 1 | #define HAVE_SELECT 1 | #define HAVE_SETENV 1 | #define HAVE_SETLOCALE 1 | #define HAVE_SIGACTION 1 | #define HAVE_STATFS 1 | #define HAVE_STATVFS 1 | #define HAVE_STRCHR 1 | #define HAVE_STRDUP 1 | #define HAVE_STRERROR 1 | #define HAVE_STRRCHR 1 | #define HAVE_SYMLINK 1 | #define HAVE_TIMEGM 1 | #define HAVE_TZSET 1 | #define HAVE_UNLINKAT 1 | #define HAVE_UNSETENV 1 | #define HAVE_UTIME 1 | #define HAVE_UTIMENSAT 1 | #define HAVE_UTIMES 1 | #define HAVE_VFORK 1 | #define HAVE_WCRTOMB 1 | #define HAVE_WCSCMP 1 | #define HAVE_WCSCPY 1 | #define HAVE_WCSLEN 1 | #define HAVE_WCTOMB 1 | #define HAVE_WMEMCMP 1 | #define HAVE_WMEMCPY 1 | #define HAVE_WMEMMOVE 1 | #define HAVE_READDIR_R 1 | #define HAVE_DIRFD 1 | /* end confdefs.h. */ | #include configure:20847: result: no configure:20847: checking for sha.h configure:20847: result: no configure:20847: checking sha256.h usability configure:20847: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 conftest.c:217:10: fatal error: sha256.h: No such file or directory #include ^~~~~~~~~~ compilation terminated. configure:20847: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "libarchive" | #define PACKAGE_TARNAME "libarchive" | #define PACKAGE_VERSION "3.4.0" | #define PACKAGE_STRING "libarchive 3.4.0" | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com" | #define PACKAGE_URL "" | #define PACKAGE "libarchive" | #define VERSION "3.4.0" | #define LIBARCHIVE_VERSION_STRING "3.4.0" | #define LIBARCHIVE_VERSION_NUMBER "3004000" | #define BSDCPIO_VERSION_STRING "3.4.0" | #define BSDTAR_VERSION_STRING "3.4.0" | #define BSDCAT_VERSION_STRING "3.4.0" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define __EXTENSIONS__ 1 | #define _ALL_SOURCE 1 | #define _GNU_SOURCE 1 | #define _POSIX_PTHREAD_SEMANTICS 1 | #define _TANDEM_SOURCE 1 | #define LT_OBJDIR ".libs/" | #define HAVE_DIRENT_H 1 | #define HAVE_SYS_WAIT_H 1 | #define HAVE_CTYPE_H 1 | #define HAVE_ERRNO_H 1 | #define HAVE_FCNTL_H 1 | #define HAVE_GRP_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_LANGINFO_H 1 | #define HAVE_LIMITS_H 1 | #define HAVE_LINUX_FIEMAP_H 1 | #define HAVE_LINUX_FS_H 1 | #define HAVE_LINUX_MAGIC_H 1 | #define HAVE_LINUX_TYPES_H 1 | #define HAVE_WORKING_FS_IOC_GETFLAGS 1 | #define HAVE_LOCALE_H 1 | #define HAVE_PATHS_H 1 | #define HAVE_POLL_H 1 | #define HAVE_PTHREAD_H 1 | #define HAVE_PWD_H 1 | #define HAVE_SIGNAL_H 1 | #define HAVE_SPAWN_H 1 | #define HAVE_STDARG_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_SYS_CDEFS_H 1 | #define HAVE_SYS_IOCTL_H 1 | #define HAVE_SYS_MOUNT_H 1 | #define HAVE_SYS_PARAM_H 1 | #define HAVE_SYS_POLL_H 1 | #define HAVE_SYS_SELECT_H 1 | #define HAVE_SYS_STATFS_H 1 | #define HAVE_SYS_STATVFS_H 1 | #define HAVE_SYS_SYSMACROS_H 1 | #define HAVE_SYS_TIME_H 1 | #define HAVE_SYS_UTSNAME_H 1 | #define HAVE_SYS_VFS_H 1 | #define HAVE_SYS_XATTR_H 1 | #define HAVE_TIME_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_UTIME_H 1 | #define HAVE_WCHAR_H 1 | #define HAVE_WCTYPE_H 1 | #define HAVE_ICONV 1 | #define ICONV_CONST | #define HAVE_ICONV_H 1 | #define HAVE_LZMA_H 1 | #define HAVE_LIBLZMA 1 | #define HAVE_LZMA_STREAM_ENCODER_MT 1 | #define HAVE_REGEX_H 1 | #define HAVE_STRUCT_TM_TM_GMTOFF 1 | #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1 | #define HAVE_STRUCT_STAT_ST_BLKSIZE 1 | #define HAVE_UINTMAX_T 1 | #define HAVE_UNSIGNED_LONG_LONG 1 | #define HAVE_UNSIGNED_LONG_LONG_INT 1 | #define HAVE_LONG_LONG_INT 1 | #define HAVE_INTMAX_T 1 | #define HAVE_UINTMAX_T 1 | #define HAVE_DECL_SIZE_MAX 1 | #define HAVE_DECL_INT32_MAX 1 | #define HAVE_DECL_INT32_MIN 1 | #define HAVE_DECL_INT64_MAX 1 | #define HAVE_DECL_INT64_MIN 1 | #define HAVE_DECL_UINT64_MAX 1 | #define HAVE_DECL_UINT32_MAX 1 | #define HAVE_DECL_INTMAX_MAX 1 | #define HAVE_DECL_INTMAX_MIN 1 | #define HAVE_DECL_UINTMAX_MAX 1 | #define HAVE_DECL_SSIZE_MAX 1 | #define HAVE_EILSEQ 1 | #define HAVE_WCHAR_T 1 | #define SIZEOF_WCHAR_T 4 | #define TIME_WITH_SYS_TIME 1 | #define HAVE_FSEEKO 1 | #define HAVE_LSTAT_EMPTY_STRING_BUG 1 | #define HAVE_STAT_EMPTY_STRING_BUG 1 | #define HAVE_DECL_STRERROR_R 1 | #define HAVE_STRERROR_R 1 | #define STRERROR_R_CHAR_P 1 | #define HAVE_STRFTIME 1 | #define HAVE_VPRINTF 1 | #define HAVE_CHOWN 1 | #define HAVE_CHROOT 1 | #define HAVE_CTIME_R 1 | #define HAVE_FCHDIR 1 | #define HAVE_FCHMOD 1 | #define HAVE_FCHOWN 1 | #define HAVE_FCNTL 1 | #define HAVE_FDOPENDIR 1 | #define HAVE_FSTAT 1 | #define HAVE_FSTATAT 1 | #define HAVE_FSTATFS 1 | #define HAVE_FSTATVFS 1 | #define HAVE_FTRUNCATE 1 | #define HAVE_FUTIMENS 1 | #define HAVE_FUTIMESAT 1 | #define HAVE_GETEUID 1 | #define HAVE_GETPID 1 | #define HAVE_GETGRGID_R 1 | #define HAVE_GETGRNAM_R 1 | #define HAVE_GETPWNAM_R 1 | #define HAVE_GETPWUID_R 1 | #define HAVE_GMTIME_R 1 | #define HAVE_LCHOWN 1 | #define HAVE_LINK 1 | #define HAVE_LOCALTIME_R 1 | #define HAVE_LSTAT 1 | #define HAVE_LUTIMES 1 | #define HAVE_MBRTOWC 1 | #define HAVE_MEMMOVE 1 | #define HAVE_MEMSET 1 | #define HAVE_MKDIR 1 | #define HAVE_MKFIFO 1 | #define HAVE_MKNOD 1 | #define HAVE_MKSTEMP 1 | #define HAVE_NL_LANGINFO 1 | #define HAVE_OPENAT 1 | #define HAVE_PIPE 1 | #define HAVE_POLL 1 | #define HAVE_POSIX_SPAWNP 1 | #define HAVE_READLINK 1 | #define HAVE_READLINKAT 1 | #define HAVE_SELECT 1 | #define HAVE_SETENV 1 | #define HAVE_SETLOCALE 1 | #define HAVE_SIGACTION 1 | #define HAVE_STATFS 1 | #define HAVE_STATVFS 1 | #define HAVE_STRCHR 1 | #define HAVE_STRDUP 1 | #define HAVE_STRERROR 1 | #define HAVE_STRRCHR 1 | #define HAVE_SYMLINK 1 | #define HAVE_TIMEGM 1 | #define HAVE_TZSET 1 | #define HAVE_UNLINKAT 1 | #define HAVE_UNSETENV 1 | #define HAVE_UTIME 1 | #define HAVE_UTIMENSAT 1 | #define HAVE_UTIMES 1 | #define HAVE_VFORK 1 | #define HAVE_WCRTOMB 1 | #define HAVE_WCSCMP 1 | #define HAVE_WCSCPY 1 | #define HAVE_WCSLEN 1 | #define HAVE_WCTOMB 1 | #define HAVE_WMEMCMP 1 | #define HAVE_WMEMCPY 1 | #define HAVE_WMEMMOVE 1 | #define HAVE_READDIR_R 1 | #define HAVE_DIRFD 1 | /* end confdefs.h. */ | #include | #ifdef HAVE_SYS_TYPES_H | # include | #endif | #ifdef HAVE_SYS_STAT_H | # include | #endif | #ifdef STDC_HEADERS | # include | # include | #else | # ifdef HAVE_STDLIB_H | # include | # endif | #endif | #ifdef HAVE_STRING_H | # if !defined STDC_HEADERS && defined HAVE_MEMORY_H | # include | # endif | # include | #endif | #ifdef HAVE_STRINGS_H | # include | #endif | #ifdef HAVE_INTTYPES_H | # include | #endif | #ifdef HAVE_STDINT_H | # include | #endif | #ifdef HAVE_UNISTD_H | # include | #endif | #include configure:20847: result: no configure:20847: checking sha256.h presence configure:20847: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-cpp -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c conftest.c:184:10: fatal error: sha256.h: No such file or directory #include ^~~~~~~~~~ compilation terminated. configure:20847: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "libarchive" | #define PACKAGE_TARNAME "libarchive" | #define PACKAGE_VERSION "3.4.0" | #define PACKAGE_STRING "libarchive 3.4.0" | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com" | #define PACKAGE_URL "" | #define PACKAGE "libarchive" | #define VERSION "3.4.0" | #define LIBARCHIVE_VERSION_STRING "3.4.0" | #define LIBARCHIVE_VERSION_NUMBER "3004000" | #define BSDCPIO_VERSION_STRING "3.4.0" | #define BSDTAR_VERSION_STRING "3.4.0" | #define BSDCAT_VERSION_STRING "3.4.0" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define __EXTENSIONS__ 1 | #define _ALL_SOURCE 1 | #define _GNU_SOURCE 1 | #define _POSIX_PTHREAD_SEMANTICS 1 | #define _TANDEM_SOURCE 1 | #define LT_OBJDIR ".libs/" | #define HAVE_DIRENT_H 1 | #define HAVE_SYS_WAIT_H 1 | #define HAVE_CTYPE_H 1 | #define HAVE_ERRNO_H 1 | #define HAVE_FCNTL_H 1 | #define HAVE_GRP_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_LANGINFO_H 1 | #define HAVE_LIMITS_H 1 | #define HAVE_LINUX_FIEMAP_H 1 | #define HAVE_LINUX_FS_H 1 | #define HAVE_LINUX_MAGIC_H 1 | #define HAVE_LINUX_TYPES_H 1 | #define HAVE_WORKING_FS_IOC_GETFLAGS 1 | #define HAVE_LOCALE_H 1 | #define HAVE_PATHS_H 1 | #define HAVE_POLL_H 1 | #define HAVE_PTHREAD_H 1 | #define HAVE_PWD_H 1 | #define HAVE_SIGNAL_H 1 | #define HAVE_SPAWN_H 1 | #define HAVE_STDARG_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_SYS_CDEFS_H 1 | #define HAVE_SYS_IOCTL_H 1 | #define HAVE_SYS_MOUNT_H 1 | #define HAVE_SYS_PARAM_H 1 | #define HAVE_SYS_POLL_H 1 | #define HAVE_SYS_SELECT_H 1 | #define HAVE_SYS_STATFS_H 1 | #define HAVE_SYS_STATVFS_H 1 | #define HAVE_SYS_SYSMACROS_H 1 | #define HAVE_SYS_TIME_H 1 | #define HAVE_SYS_UTSNAME_H 1 | #define HAVE_SYS_VFS_H 1 | #define HAVE_SYS_XATTR_H 1 | #define HAVE_TIME_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_UTIME_H 1 | #define HAVE_WCHAR_H 1 | #define HAVE_WCTYPE_H 1 | #define HAVE_ICONV 1 | #define ICONV_CONST | #define HAVE_ICONV_H 1 | #define HAVE_LZMA_H 1 | #define HAVE_LIBLZMA 1 | #define HAVE_LZMA_STREAM_ENCODER_MT 1 | #define HAVE_REGEX_H 1 | #define HAVE_STRUCT_TM_TM_GMTOFF 1 | #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1 | #define HAVE_STRUCT_STAT_ST_BLKSIZE 1 | #define HAVE_UINTMAX_T 1 | #define HAVE_UNSIGNED_LONG_LONG 1 | #define HAVE_UNSIGNED_LONG_LONG_INT 1 | #define HAVE_LONG_LONG_INT 1 | #define HAVE_INTMAX_T 1 | #define HAVE_UINTMAX_T 1 | #define HAVE_DECL_SIZE_MAX 1 | #define HAVE_DECL_INT32_MAX 1 | #define HAVE_DECL_INT32_MIN 1 | #define HAVE_DECL_INT64_MAX 1 | #define HAVE_DECL_INT64_MIN 1 | #define HAVE_DECL_UINT64_MAX 1 | #define HAVE_DECL_UINT32_MAX 1 | #define HAVE_DECL_INTMAX_MAX 1 | #define HAVE_DECL_INTMAX_MIN 1 | #define HAVE_DECL_UINTMAX_MAX 1 | #define HAVE_DECL_SSIZE_MAX 1 | #define HAVE_EILSEQ 1 | #define HAVE_WCHAR_T 1 | #define SIZEOF_WCHAR_T 4 | #define TIME_WITH_SYS_TIME 1 | #define HAVE_FSEEKO 1 | #define HAVE_LSTAT_EMPTY_STRING_BUG 1 | #define HAVE_STAT_EMPTY_STRING_BUG 1 | #define HAVE_DECL_STRERROR_R 1 | #define HAVE_STRERROR_R 1 | #define STRERROR_R_CHAR_P 1 | #define HAVE_STRFTIME 1 | #define HAVE_VPRINTF 1 | #define HAVE_CHOWN 1 | #define HAVE_CHROOT 1 | #define HAVE_CTIME_R 1 | #define HAVE_FCHDIR 1 | #define HAVE_FCHMOD 1 | #define HAVE_FCHOWN 1 | #define HAVE_FCNTL 1 | #define HAVE_FDOPENDIR 1 | #define HAVE_FSTAT 1 | #define HAVE_FSTATAT 1 | #define HAVE_FSTATFS 1 | #define HAVE_FSTATVFS 1 | #define HAVE_FTRUNCATE 1 | #define HAVE_FUTIMENS 1 | #define HAVE_FUTIMESAT 1 | #define HAVE_GETEUID 1 | #define HAVE_GETPID 1 | #define HAVE_GETGRGID_R 1 | #define HAVE_GETGRNAM_R 1 | #define HAVE_GETPWNAM_R 1 | #define HAVE_GETPWUID_R 1 | #define HAVE_GMTIME_R 1 | #define HAVE_LCHOWN 1 | #define HAVE_LINK 1 | #define HAVE_LOCALTIME_R 1 | #define HAVE_LSTAT 1 | #define HAVE_LUTIMES 1 | #define HAVE_MBRTOWC 1 | #define HAVE_MEMMOVE 1 | #define HAVE_MEMSET 1 | #define HAVE_MKDIR 1 | #define HAVE_MKFIFO 1 | #define HAVE_MKNOD 1 | #define HAVE_MKSTEMP 1 | #define HAVE_NL_LANGINFO 1 | #define HAVE_OPENAT 1 | #define HAVE_PIPE 1 | #define HAVE_POLL 1 | #define HAVE_POSIX_SPAWNP 1 | #define HAVE_READLINK 1 | #define HAVE_READLINKAT 1 | #define HAVE_SELECT 1 | #define HAVE_SETENV 1 | #define HAVE_SETLOCALE 1 | #define HAVE_SIGACTION 1 | #define HAVE_STATFS 1 | #define HAVE_STATVFS 1 | #define HAVE_STRCHR 1 | #define HAVE_STRDUP 1 | #define HAVE_STRERROR 1 | #define HAVE_STRRCHR 1 | #define HAVE_SYMLINK 1 | #define HAVE_TIMEGM 1 | #define HAVE_TZSET 1 | #define HAVE_UNLINKAT 1 | #define HAVE_UNSETENV 1 | #define HAVE_UTIME 1 | #define HAVE_UTIMENSAT 1 | #define HAVE_UTIMES 1 | #define HAVE_VFORK 1 | #define HAVE_WCRTOMB 1 | #define HAVE_WCSCMP 1 | #define HAVE_WCSCPY 1 | #define HAVE_WCSLEN 1 | #define HAVE_WCTOMB 1 | #define HAVE_WMEMCMP 1 | #define HAVE_WMEMCPY 1 | #define HAVE_WMEMMOVE 1 | #define HAVE_READDIR_R 1 | #define HAVE_DIRFD 1 | /* end confdefs.h. */ | #include configure:20847: result: no configure:20847: checking for sha256.h configure:20847: result: no configure:20847: checking sha512.h usability configure:20847: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 conftest.c:217:10: fatal error: sha512.h: No such file or directory #include ^~~~~~~~~~ compilation terminated. configure:20847: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "libarchive" | #define PACKAGE_TARNAME "libarchive" | #define PACKAGE_VERSION "3.4.0" | #define PACKAGE_STRING "libarchive 3.4.0" | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com" | #define PACKAGE_URL "" | #define PACKAGE "libarchive" | #define VERSION "3.4.0" | #define LIBARCHIVE_VERSION_STRING "3.4.0" | #define LIBARCHIVE_VERSION_NUMBER "3004000" | #define BSDCPIO_VERSION_STRING "3.4.0" | #define BSDTAR_VERSION_STRING "3.4.0" | #define BSDCAT_VERSION_STRING "3.4.0" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define __EXTENSIONS__ 1 | #define _ALL_SOURCE 1 | #define _GNU_SOURCE 1 | #define _POSIX_PTHREAD_SEMANTICS 1 | #define _TANDEM_SOURCE 1 | #define LT_OBJDIR ".libs/" | #define HAVE_DIRENT_H 1 | #define HAVE_SYS_WAIT_H 1 | #define HAVE_CTYPE_H 1 | #define HAVE_ERRNO_H 1 | #define HAVE_FCNTL_H 1 | #define HAVE_GRP_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_LANGINFO_H 1 | #define HAVE_LIMITS_H 1 | #define HAVE_LINUX_FIEMAP_H 1 | #define HAVE_LINUX_FS_H 1 | #define HAVE_LINUX_MAGIC_H 1 | #define HAVE_LINUX_TYPES_H 1 | #define HAVE_WORKING_FS_IOC_GETFLAGS 1 | #define HAVE_LOCALE_H 1 | #define HAVE_PATHS_H 1 | #define HAVE_POLL_H 1 | #define HAVE_PTHREAD_H 1 | #define HAVE_PWD_H 1 | #define HAVE_SIGNAL_H 1 | #define HAVE_SPAWN_H 1 | #define HAVE_STDARG_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_SYS_CDEFS_H 1 | #define HAVE_SYS_IOCTL_H 1 | #define HAVE_SYS_MOUNT_H 1 | #define HAVE_SYS_PARAM_H 1 | #define HAVE_SYS_POLL_H 1 | #define HAVE_SYS_SELECT_H 1 | #define HAVE_SYS_STATFS_H 1 | #define HAVE_SYS_STATVFS_H 1 | #define HAVE_SYS_SYSMACROS_H 1 | #define HAVE_SYS_TIME_H 1 | #define HAVE_SYS_UTSNAME_H 1 | #define HAVE_SYS_VFS_H 1 | #define HAVE_SYS_XATTR_H 1 | #define HAVE_TIME_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_UTIME_H 1 | #define HAVE_WCHAR_H 1 | #define HAVE_WCTYPE_H 1 | #define HAVE_ICONV 1 | #define ICONV_CONST | #define HAVE_ICONV_H 1 | #define HAVE_LZMA_H 1 | #define HAVE_LIBLZMA 1 | #define HAVE_LZMA_STREAM_ENCODER_MT 1 | #define HAVE_REGEX_H 1 | #define HAVE_STRUCT_TM_TM_GMTOFF 1 | #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1 | #define HAVE_STRUCT_STAT_ST_BLKSIZE 1 | #define HAVE_UINTMAX_T 1 | #define HAVE_UNSIGNED_LONG_LONG 1 | #define HAVE_UNSIGNED_LONG_LONG_INT 1 | #define HAVE_LONG_LONG_INT 1 | #define HAVE_INTMAX_T 1 | #define HAVE_UINTMAX_T 1 | #define HAVE_DECL_SIZE_MAX 1 | #define HAVE_DECL_INT32_MAX 1 | #define HAVE_DECL_INT32_MIN 1 | #define HAVE_DECL_INT64_MAX 1 | #define HAVE_DECL_INT64_MIN 1 | #define HAVE_DECL_UINT64_MAX 1 | #define HAVE_DECL_UINT32_MAX 1 | #define HAVE_DECL_INTMAX_MAX 1 | #define HAVE_DECL_INTMAX_MIN 1 | #define HAVE_DECL_UINTMAX_MAX 1 | #define HAVE_DECL_SSIZE_MAX 1 | #define HAVE_EILSEQ 1 | #define HAVE_WCHAR_T 1 | #define SIZEOF_WCHAR_T 4 | #define TIME_WITH_SYS_TIME 1 | #define HAVE_FSEEKO 1 | #define HAVE_LSTAT_EMPTY_STRING_BUG 1 | #define HAVE_STAT_EMPTY_STRING_BUG 1 | #define HAVE_DECL_STRERROR_R 1 | #define HAVE_STRERROR_R 1 | #define STRERROR_R_CHAR_P 1 | #define HAVE_STRFTIME 1 | #define HAVE_VPRINTF 1 | #define HAVE_CHOWN 1 | #define HAVE_CHROOT 1 | #define HAVE_CTIME_R 1 | #define HAVE_FCHDIR 1 | #define HAVE_FCHMOD 1 | #define HAVE_FCHOWN 1 | #define HAVE_FCNTL 1 | #define HAVE_FDOPENDIR 1 | #define HAVE_FSTAT 1 | #define HAVE_FSTATAT 1 | #define HAVE_FSTATFS 1 | #define HAVE_FSTATVFS 1 | #define HAVE_FTRUNCATE 1 | #define HAVE_FUTIMENS 1 | #define HAVE_FUTIMESAT 1 | #define HAVE_GETEUID 1 | #define HAVE_GETPID 1 | #define HAVE_GETGRGID_R 1 | #define HAVE_GETGRNAM_R 1 | #define HAVE_GETPWNAM_R 1 | #define HAVE_GETPWUID_R 1 | #define HAVE_GMTIME_R 1 | #define HAVE_LCHOWN 1 | #define HAVE_LINK 1 | #define HAVE_LOCALTIME_R 1 | #define HAVE_LSTAT 1 | #define HAVE_LUTIMES 1 | #define HAVE_MBRTOWC 1 | #define HAVE_MEMMOVE 1 | #define HAVE_MEMSET 1 | #define HAVE_MKDIR 1 | #define HAVE_MKFIFO 1 | #define HAVE_MKNOD 1 | #define HAVE_MKSTEMP 1 | #define HAVE_NL_LANGINFO 1 | #define HAVE_OPENAT 1 | #define HAVE_PIPE 1 | #define HAVE_POLL 1 | #define HAVE_POSIX_SPAWNP 1 | #define HAVE_READLINK 1 | #define HAVE_READLINKAT 1 | #define HAVE_SELECT 1 | #define HAVE_SETENV 1 | #define HAVE_SETLOCALE 1 | #define HAVE_SIGACTION 1 | #define HAVE_STATFS 1 | #define HAVE_STATVFS 1 | #define HAVE_STRCHR 1 | #define HAVE_STRDUP 1 | #define HAVE_STRERROR 1 | #define HAVE_STRRCHR 1 | #define HAVE_SYMLINK 1 | #define HAVE_TIMEGM 1 | #define HAVE_TZSET 1 | #define HAVE_UNLINKAT 1 | #define HAVE_UNSETENV 1 | #define HAVE_UTIME 1 | #define HAVE_UTIMENSAT 1 | #define HAVE_UTIMES 1 | #define HAVE_VFORK 1 | #define HAVE_WCRTOMB 1 | #define HAVE_WCSCMP 1 | #define HAVE_WCSCPY 1 | #define HAVE_WCSLEN 1 | #define HAVE_WCTOMB 1 | #define HAVE_WMEMCMP 1 | #define HAVE_WMEMCPY 1 | #define HAVE_WMEMMOVE 1 | #define HAVE_READDIR_R 1 | #define HAVE_DIRFD 1 | /* end confdefs.h. */ | #include | #ifdef HAVE_SYS_TYPES_H | # include | #endif | #ifdef HAVE_SYS_STAT_H | # include | #endif | #ifdef STDC_HEADERS | # include | # include | #else | # ifdef HAVE_STDLIB_H | # include | # endif | #endif | #ifdef HAVE_STRING_H | # if !defined STDC_HEADERS && defined HAVE_MEMORY_H | # include | # endif | # include | #endif | #ifdef HAVE_STRINGS_H | # include | #endif | #ifdef HAVE_INTTYPES_H | # include | #endif | #ifdef HAVE_STDINT_H | # include | #endif | #ifdef HAVE_UNISTD_H | # include | #endif | #include configure:20847: result: no configure:20847: checking sha512.h presence configure:20847: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-cpp -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c conftest.c:184:10: fatal error: sha512.h: No such file or directory #include ^~~~~~~~~~ compilation terminated. configure:20847: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "libarchive" | #define PACKAGE_TARNAME "libarchive" | #define PACKAGE_VERSION "3.4.0" | #define PACKAGE_STRING "libarchive 3.4.0" | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com" | #define PACKAGE_URL "" | #define PACKAGE "libarchive" | #define VERSION "3.4.0" | #define LIBARCHIVE_VERSION_STRING "3.4.0" | #define LIBARCHIVE_VERSION_NUMBER "3004000" | #define BSDCPIO_VERSION_STRING "3.4.0" | #define BSDTAR_VERSION_STRING "3.4.0" | #define BSDCAT_VERSION_STRING "3.4.0" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define __EXTENSIONS__ 1 | #define _ALL_SOURCE 1 | #define _GNU_SOURCE 1 | #define _POSIX_PTHREAD_SEMANTICS 1 | #define _TANDEM_SOURCE 1 | #define LT_OBJDIR ".libs/" | #define HAVE_DIRENT_H 1 | #define HAVE_SYS_WAIT_H 1 | #define HAVE_CTYPE_H 1 | #define HAVE_ERRNO_H 1 | #define HAVE_FCNTL_H 1 | #define HAVE_GRP_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_LANGINFO_H 1 | #define HAVE_LIMITS_H 1 | #define HAVE_LINUX_FIEMAP_H 1 | #define HAVE_LINUX_FS_H 1 | #define HAVE_LINUX_MAGIC_H 1 | #define HAVE_LINUX_TYPES_H 1 | #define HAVE_WORKING_FS_IOC_GETFLAGS 1 | #define HAVE_LOCALE_H 1 | #define HAVE_PATHS_H 1 | #define HAVE_POLL_H 1 | #define HAVE_PTHREAD_H 1 | #define HAVE_PWD_H 1 | #define HAVE_SIGNAL_H 1 | #define HAVE_SPAWN_H 1 | #define HAVE_STDARG_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_SYS_CDEFS_H 1 | #define HAVE_SYS_IOCTL_H 1 | #define HAVE_SYS_MOUNT_H 1 | #define HAVE_SYS_PARAM_H 1 | #define HAVE_SYS_POLL_H 1 | #define HAVE_SYS_SELECT_H 1 | #define HAVE_SYS_STATFS_H 1 | #define HAVE_SYS_STATVFS_H 1 | #define HAVE_SYS_SYSMACROS_H 1 | #define HAVE_SYS_TIME_H 1 | #define HAVE_SYS_UTSNAME_H 1 | #define HAVE_SYS_VFS_H 1 | #define HAVE_SYS_XATTR_H 1 | #define HAVE_TIME_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_UTIME_H 1 | #define HAVE_WCHAR_H 1 | #define HAVE_WCTYPE_H 1 | #define HAVE_ICONV 1 | #define ICONV_CONST | #define HAVE_ICONV_H 1 | #define HAVE_LZMA_H 1 | #define HAVE_LIBLZMA 1 | #define HAVE_LZMA_STREAM_ENCODER_MT 1 | #define HAVE_REGEX_H 1 | #define HAVE_STRUCT_TM_TM_GMTOFF 1 | #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1 | #define HAVE_STRUCT_STAT_ST_BLKSIZE 1 | #define HAVE_UINTMAX_T 1 | #define HAVE_UNSIGNED_LONG_LONG 1 | #define HAVE_UNSIGNED_LONG_LONG_INT 1 | #define HAVE_LONG_LONG_INT 1 | #define HAVE_INTMAX_T 1 | #define HAVE_UINTMAX_T 1 | #define HAVE_DECL_SIZE_MAX 1 | #define HAVE_DECL_INT32_MAX 1 | #define HAVE_DECL_INT32_MIN 1 | #define HAVE_DECL_INT64_MAX 1 | #define HAVE_DECL_INT64_MIN 1 | #define HAVE_DECL_UINT64_MAX 1 | #define HAVE_DECL_UINT32_MAX 1 | #define HAVE_DECL_INTMAX_MAX 1 | #define HAVE_DECL_INTMAX_MIN 1 | #define HAVE_DECL_UINTMAX_MAX 1 | #define HAVE_DECL_SSIZE_MAX 1 | #define HAVE_EILSEQ 1 | #define HAVE_WCHAR_T 1 | #define SIZEOF_WCHAR_T 4 | #define TIME_WITH_SYS_TIME 1 | #define HAVE_FSEEKO 1 | #define HAVE_LSTAT_EMPTY_STRING_BUG 1 | #define HAVE_STAT_EMPTY_STRING_BUG 1 | #define HAVE_DECL_STRERROR_R 1 | #define HAVE_STRERROR_R 1 | #define STRERROR_R_CHAR_P 1 | #define HAVE_STRFTIME 1 | #define HAVE_VPRINTF 1 | #define HAVE_CHOWN 1 | #define HAVE_CHROOT 1 | #define HAVE_CTIME_R 1 | #define HAVE_FCHDIR 1 | #define HAVE_FCHMOD 1 | #define HAVE_FCHOWN 1 | #define HAVE_FCNTL 1 | #define HAVE_FDOPENDIR 1 | #define HAVE_FSTAT 1 | #define HAVE_FSTATAT 1 | #define HAVE_FSTATFS 1 | #define HAVE_FSTATVFS 1 | #define HAVE_FTRUNCATE 1 | #define HAVE_FUTIMENS 1 | #define HAVE_FUTIMESAT 1 | #define HAVE_GETEUID 1 | #define HAVE_GETPID 1 | #define HAVE_GETGRGID_R 1 | #define HAVE_GETGRNAM_R 1 | #define HAVE_GETPWNAM_R 1 | #define HAVE_GETPWUID_R 1 | #define HAVE_GMTIME_R 1 | #define HAVE_LCHOWN 1 | #define HAVE_LINK 1 | #define HAVE_LOCALTIME_R 1 | #define HAVE_LSTAT 1 | #define HAVE_LUTIMES 1 | #define HAVE_MBRTOWC 1 | #define HAVE_MEMMOVE 1 | #define HAVE_MEMSET 1 | #define HAVE_MKDIR 1 | #define HAVE_MKFIFO 1 | #define HAVE_MKNOD 1 | #define HAVE_MKSTEMP 1 | #define HAVE_NL_LANGINFO 1 | #define HAVE_OPENAT 1 | #define HAVE_PIPE 1 | #define HAVE_POLL 1 | #define HAVE_POSIX_SPAWNP 1 | #define HAVE_READLINK 1 | #define HAVE_READLINKAT 1 | #define HAVE_SELECT 1 | #define HAVE_SETENV 1 | #define HAVE_SETLOCALE 1 | #define HAVE_SIGACTION 1 | #define HAVE_STATFS 1 | #define HAVE_STATVFS 1 | #define HAVE_STRCHR 1 | #define HAVE_STRDUP 1 | #define HAVE_STRERROR 1 | #define HAVE_STRRCHR 1 | #define HAVE_SYMLINK 1 | #define HAVE_TIMEGM 1 | #define HAVE_TZSET 1 | #define HAVE_UNLINKAT 1 | #define HAVE_UNSETENV 1 | #define HAVE_UTIME 1 | #define HAVE_UTIMENSAT 1 | #define HAVE_UTIMES 1 | #define HAVE_VFORK 1 | #define HAVE_WCRTOMB 1 | #define HAVE_WCSCMP 1 | #define HAVE_WCSCPY 1 | #define HAVE_WCSLEN 1 | #define HAVE_WCTOMB 1 | #define HAVE_WMEMCMP 1 | #define HAVE_WMEMCPY 1 | #define HAVE_WMEMMOVE 1 | #define HAVE_READDIR_R 1 | #define HAVE_DIRFD 1 | /* end confdefs.h. */ | #include configure:20847: result: no configure:20847: checking for sha512.h configure:20847: result: no configure:20858: checking for MD5Init in -lmd configure:20883: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -o conftest -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Wl,-elf2flt -static conftest.c -lmd -llzma >&5 /home/buildroot/autobuild/instance-0/output/host/opt/ext-toolchain/arm-buildroot-uclinux-uclibcgnueabi/bin/ld.real: cannot find -lmd collect2: error: ld returned 1 exit status configure:20883: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "libarchive" | #define PACKAGE_TARNAME "libarchive" | #define PACKAGE_VERSION "3.4.0" | #define PACKAGE_STRING "libarchive 3.4.0" | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com" | #define PACKAGE_URL "" | #define PACKAGE "libarchive" | #define VERSION "3.4.0" | #define LIBARCHIVE_VERSION_STRING "3.4.0" | #define LIBARCHIVE_VERSION_NUMBER "3004000" | #define BSDCPIO_VERSION_STRING "3.4.0" | #define BSDTAR_VERSION_STRING "3.4.0" | #define BSDCAT_VERSION_STRING "3.4.0" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define __EXTENSIONS__ 1 | #define _ALL_SOURCE 1 | #define _GNU_SOURCE 1 | #define _POSIX_PTHREAD_SEMANTICS 1 | #define _TANDEM_SOURCE 1 | #define LT_OBJDIR ".libs/" | #define HAVE_DIRENT_H 1 | #define HAVE_SYS_WAIT_H 1 | #define HAVE_CTYPE_H 1 | #define HAVE_ERRNO_H 1 | #define HAVE_FCNTL_H 1 | #define HAVE_GRP_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_LANGINFO_H 1 | #define HAVE_LIMITS_H 1 | #define HAVE_LINUX_FIEMAP_H 1 | #define HAVE_LINUX_FS_H 1 | #define HAVE_LINUX_MAGIC_H 1 | #define HAVE_LINUX_TYPES_H 1 | #define HAVE_WORKING_FS_IOC_GETFLAGS 1 | #define HAVE_LOCALE_H 1 | #define HAVE_PATHS_H 1 | #define HAVE_POLL_H 1 | #define HAVE_PTHREAD_H 1 | #define HAVE_PWD_H 1 | #define HAVE_SIGNAL_H 1 | #define HAVE_SPAWN_H 1 | #define HAVE_STDARG_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_SYS_CDEFS_H 1 | #define HAVE_SYS_IOCTL_H 1 | #define HAVE_SYS_MOUNT_H 1 | #define HAVE_SYS_PARAM_H 1 | #define HAVE_SYS_POLL_H 1 | #define HAVE_SYS_SELECT_H 1 | #define HAVE_SYS_STATFS_H 1 | #define HAVE_SYS_STATVFS_H 1 | #define HAVE_SYS_SYSMACROS_H 1 | #define HAVE_SYS_TIME_H 1 | #define HAVE_SYS_UTSNAME_H 1 | #define HAVE_SYS_VFS_H 1 | #define HAVE_SYS_XATTR_H 1 | #define HAVE_TIME_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_UTIME_H 1 | #define HAVE_WCHAR_H 1 | #define HAVE_WCTYPE_H 1 | #define HAVE_ICONV 1 | #define ICONV_CONST | #define HAVE_ICONV_H 1 | #define HAVE_LZMA_H 1 | #define HAVE_LIBLZMA 1 | #define HAVE_LZMA_STREAM_ENCODER_MT 1 | #define HAVE_REGEX_H 1 | #define HAVE_STRUCT_TM_TM_GMTOFF 1 | #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1 | #define HAVE_STRUCT_STAT_ST_BLKSIZE 1 | #define HAVE_UINTMAX_T 1 | #define HAVE_UNSIGNED_LONG_LONG 1 | #define HAVE_UNSIGNED_LONG_LONG_INT 1 | #define HAVE_LONG_LONG_INT 1 | #define HAVE_INTMAX_T 1 | #define HAVE_UINTMAX_T 1 | #define HAVE_DECL_SIZE_MAX 1 | #define HAVE_DECL_INT32_MAX 1 | #define HAVE_DECL_INT32_MIN 1 | #define HAVE_DECL_INT64_MAX 1 | #define HAVE_DECL_INT64_MIN 1 | #define HAVE_DECL_UINT64_MAX 1 | #define HAVE_DECL_UINT32_MAX 1 | #define HAVE_DECL_INTMAX_MAX 1 | #define HAVE_DECL_INTMAX_MIN 1 | #define HAVE_DECL_UINTMAX_MAX 1 | #define HAVE_DECL_SSIZE_MAX 1 | #define HAVE_EILSEQ 1 | #define HAVE_WCHAR_T 1 | #define SIZEOF_WCHAR_T 4 | #define TIME_WITH_SYS_TIME 1 | #define HAVE_FSEEKO 1 | #define HAVE_LSTAT_EMPTY_STRING_BUG 1 | #define HAVE_STAT_EMPTY_STRING_BUG 1 | #define HAVE_DECL_STRERROR_R 1 | #define HAVE_STRERROR_R 1 | #define STRERROR_R_CHAR_P 1 | #define HAVE_STRFTIME 1 | #define HAVE_VPRINTF 1 | #define HAVE_CHOWN 1 | #define HAVE_CHROOT 1 | #define HAVE_CTIME_R 1 | #define HAVE_FCHDIR 1 | #define HAVE_FCHMOD 1 | #define HAVE_FCHOWN 1 | #define HAVE_FCNTL 1 | #define HAVE_FDOPENDIR 1 | #define HAVE_FSTAT 1 | #define HAVE_FSTATAT 1 | #define HAVE_FSTATFS 1 | #define HAVE_FSTATVFS 1 | #define HAVE_FTRUNCATE 1 | #define HAVE_FUTIMENS 1 | #define HAVE_FUTIMESAT 1 | #define HAVE_GETEUID 1 | #define HAVE_GETPID 1 | #define HAVE_GETGRGID_R 1 | #define HAVE_GETGRNAM_R 1 | #define HAVE_GETPWNAM_R 1 | #define HAVE_GETPWUID_R 1 | #define HAVE_GMTIME_R 1 | #define HAVE_LCHOWN 1 | #define HAVE_LINK 1 | #define HAVE_LOCALTIME_R 1 | #define HAVE_LSTAT 1 | #define HAVE_LUTIMES 1 | #define HAVE_MBRTOWC 1 | #define HAVE_MEMMOVE 1 | #define HAVE_MEMSET 1 | #define HAVE_MKDIR 1 | #define HAVE_MKFIFO 1 | #define HAVE_MKNOD 1 | #define HAVE_MKSTEMP 1 | #define HAVE_NL_LANGINFO 1 | #define HAVE_OPENAT 1 | #define HAVE_PIPE 1 | #define HAVE_POLL 1 | #define HAVE_POSIX_SPAWNP 1 | #define HAVE_READLINK 1 | #define HAVE_READLINKAT 1 | #define HAVE_SELECT 1 | #define HAVE_SETENV 1 | #define HAVE_SETLOCALE 1 | #define HAVE_SIGACTION 1 | #define HAVE_STATFS 1 | #define HAVE_STATVFS 1 | #define HAVE_STRCHR 1 | #define HAVE_STRDUP 1 | #define HAVE_STRERROR 1 | #define HAVE_STRRCHR 1 | #define HAVE_SYMLINK 1 | #define HAVE_TIMEGM 1 | #define HAVE_TZSET 1 | #define HAVE_UNLINKAT 1 | #define HAVE_UNSETENV 1 | #define HAVE_UTIME 1 | #define HAVE_UTIMENSAT 1 | #define HAVE_UTIMES 1 | #define HAVE_VFORK 1 | #define HAVE_WCRTOMB 1 | #define HAVE_WCSCMP 1 | #define HAVE_WCSCPY 1 | #define HAVE_WCSLEN 1 | #define HAVE_WCTOMB 1 | #define HAVE_WMEMCMP 1 | #define HAVE_WMEMCPY 1 | #define HAVE_WMEMMOVE 1 | #define HAVE_READDIR_R 1 | #define HAVE_DIRFD 1 | /* end confdefs.h. */ | | /* Override any GCC internal prototype to avoid an error. | Use char because int might match the return type of a GCC | builtin and then its argument prototype would still apply. */ | #ifdef __cplusplus | extern "C" | #endif | char MD5Init (); | int | main () | { | return MD5Init (); | ; | return 0; | } configure:20892: result: no configure:20908: checking support for ARCHIVE_CRYPTO_MD5_LIBMD configure:20930: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -o conftest -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -I. -I. -I./libarchive -Wl,-elf2flt -static conftest.c -llzma >&5 In file included from conftest.c:219:0: ./libarchive/archive_digest_private.h:91:10: fatal error: md5.h: No such file or directory #include ^~~~~~~ compilation terminated. configure:20930: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "libarchive" | #define PACKAGE_TARNAME "libarchive" | #define PACKAGE_VERSION "3.4.0" | #define PACKAGE_STRING "libarchive 3.4.0" | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com" | #define PACKAGE_URL "" | #define PACKAGE "libarchive" | #define VERSION "3.4.0" | #define LIBARCHIVE_VERSION_STRING "3.4.0" | #define LIBARCHIVE_VERSION_NUMBER "3004000" | #define BSDCPIO_VERSION_STRING "3.4.0" | #define BSDTAR_VERSION_STRING "3.4.0" | #define BSDCAT_VERSION_STRING "3.4.0" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define __EXTENSIONS__ 1 | #define _ALL_SOURCE 1 | #define _GNU_SOURCE 1 | #define _POSIX_PTHREAD_SEMANTICS 1 | #define _TANDEM_SOURCE 1 | #define LT_OBJDIR ".libs/" | #define HAVE_DIRENT_H 1 | #define HAVE_SYS_WAIT_H 1 | #define HAVE_CTYPE_H 1 | #define HAVE_ERRNO_H 1 | #define HAVE_FCNTL_H 1 | #define HAVE_GRP_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_LANGINFO_H 1 | #define HAVE_LIMITS_H 1 | #define HAVE_LINUX_FIEMAP_H 1 | #define HAVE_LINUX_FS_H 1 | #define HAVE_LINUX_MAGIC_H 1 | #define HAVE_LINUX_TYPES_H 1 | #define HAVE_WORKING_FS_IOC_GETFLAGS 1 | #define HAVE_LOCALE_H 1 | #define HAVE_PATHS_H 1 | #define HAVE_POLL_H 1 | #define HAVE_PTHREAD_H 1 | #define HAVE_PWD_H 1 | #define HAVE_SIGNAL_H 1 | #define HAVE_SPAWN_H 1 | #define HAVE_STDARG_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_SYS_CDEFS_H 1 | #define HAVE_SYS_IOCTL_H 1 | #define HAVE_SYS_MOUNT_H 1 | #define HAVE_SYS_PARAM_H 1 | #define HAVE_SYS_POLL_H 1 | #define HAVE_SYS_SELECT_H 1 | #define HAVE_SYS_STATFS_H 1 | #define HAVE_SYS_STATVFS_H 1 | #define HAVE_SYS_SYSMACROS_H 1 | #define HAVE_SYS_TIME_H 1 | #define HAVE_SYS_UTSNAME_H 1 | #define HAVE_SYS_VFS_H 1 | #define HAVE_SYS_XATTR_H 1 | #define HAVE_TIME_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_UTIME_H 1 | #define HAVE_WCHAR_H 1 | #define HAVE_WCTYPE_H 1 | #define HAVE_ICONV 1 | #define ICONV_CONST | #define HAVE_ICONV_H 1 | #define HAVE_LZMA_H 1 | #define HAVE_LIBLZMA 1 | #define HAVE_LZMA_STREAM_ENCODER_MT 1 | #define HAVE_REGEX_H 1 | #define HAVE_STRUCT_TM_TM_GMTOFF 1 | #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1 | #define HAVE_STRUCT_STAT_ST_BLKSIZE 1 | #define HAVE_UINTMAX_T 1 | #define HAVE_UNSIGNED_LONG_LONG 1 | #define HAVE_UNSIGNED_LONG_LONG_INT 1 | #define HAVE_LONG_LONG_INT 1 | #define HAVE_INTMAX_T 1 | #define HAVE_UINTMAX_T 1 | #define HAVE_DECL_SIZE_MAX 1 | #define HAVE_DECL_INT32_MAX 1 | #define HAVE_DECL_INT32_MIN 1 | #define HAVE_DECL_INT64_MAX 1 | #define HAVE_DECL_INT64_MIN 1 | #define HAVE_DECL_UINT64_MAX 1 | #define HAVE_DECL_UINT32_MAX 1 | #define HAVE_DECL_INTMAX_MAX 1 | #define HAVE_DECL_INTMAX_MIN 1 | #define HAVE_DECL_UINTMAX_MAX 1 | #define HAVE_DECL_SSIZE_MAX 1 | #define HAVE_EILSEQ 1 | #define HAVE_WCHAR_T 1 | #define SIZEOF_WCHAR_T 4 | #define TIME_WITH_SYS_TIME 1 | #define HAVE_FSEEKO 1 | #define HAVE_LSTAT_EMPTY_STRING_BUG 1 | #define HAVE_STAT_EMPTY_STRING_BUG 1 | #define HAVE_DECL_STRERROR_R 1 | #define HAVE_STRERROR_R 1 | #define STRERROR_R_CHAR_P 1 | #define HAVE_STRFTIME 1 | #define HAVE_VPRINTF 1 | #define HAVE_CHOWN 1 | #define HAVE_CHROOT 1 | #define HAVE_CTIME_R 1 | #define HAVE_FCHDIR 1 | #define HAVE_FCHMOD 1 | #define HAVE_FCHOWN 1 | #define HAVE_FCNTL 1 | #define HAVE_FDOPENDIR 1 | #define HAVE_FSTAT 1 | #define HAVE_FSTATAT 1 | #define HAVE_FSTATFS 1 | #define HAVE_FSTATVFS 1 | #define HAVE_FTRUNCATE 1 | #define HAVE_FUTIMENS 1 | #define HAVE_FUTIMESAT 1 | #define HAVE_GETEUID 1 | #define HAVE_GETPID 1 | #define HAVE_GETGRGID_R 1 | #define HAVE_GETGRNAM_R 1 | #define HAVE_GETPWNAM_R 1 | #define HAVE_GETPWUID_R 1 | #define HAVE_GMTIME_R 1 | #define HAVE_LCHOWN 1 | #define HAVE_LINK 1 | #define HAVE_LOCALTIME_R 1 | #define HAVE_LSTAT 1 | #define HAVE_LUTIMES 1 | #define HAVE_MBRTOWC 1 | #define HAVE_MEMMOVE 1 | #define HAVE_MEMSET 1 | #define HAVE_MKDIR 1 | #define HAVE_MKFIFO 1 | #define HAVE_MKNOD 1 | #define HAVE_MKSTEMP 1 | #define HAVE_NL_LANGINFO 1 | #define HAVE_OPENAT 1 | #define HAVE_PIPE 1 | #define HAVE_POLL 1 | #define HAVE_POSIX_SPAWNP 1 | #define HAVE_READLINK 1 | #define HAVE_READLINKAT 1 | #define HAVE_SELECT 1 | #define HAVE_SETENV 1 | #define HAVE_SETLOCALE 1 | #define HAVE_SIGACTION 1 | #define HAVE_STATFS 1 | #define HAVE_STATVFS 1 | #define HAVE_STRCHR 1 | #define HAVE_STRDUP 1 | #define HAVE_STRERROR 1 | #define HAVE_STRRCHR 1 | #define HAVE_SYMLINK 1 | #define HAVE_TIMEGM 1 | #define HAVE_TZSET 1 | #define HAVE_UNLINKAT 1 | #define HAVE_UNSETENV 1 | #define HAVE_UTIME 1 | #define HAVE_UTIMENSAT 1 | #define HAVE_UTIMES 1 | #define HAVE_VFORK 1 | #define HAVE_WCRTOMB 1 | #define HAVE_WCSCMP 1 | #define HAVE_WCSCPY 1 | #define HAVE_WCSLEN 1 | #define HAVE_WCTOMB 1 | #define HAVE_WMEMCMP 1 | #define HAVE_WMEMCPY 1 | #define HAVE_WMEMMOVE 1 | #define HAVE_READDIR_R 1 | #define HAVE_DIRFD 1 | /* end confdefs.h. */ | | #define ARCHIVE_MD5_COMPILE_TEST | #define ARCHIVE_CRYPTO_MD5_LIBMD | #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_libc_md5init(archive_md5_ctx *ctx) | { | MD5Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc_md5update(archive_md5_ctx *ctx, const void *indata, | size_t insize) | { | MD5Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc_md5final(archive_md5_ctx *ctx, void *md) | { | MD5Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_MD5_LIBMD) | | static int | __archive_libmd_md5init(archive_md5_ctx *ctx) | { | MD5Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_md5update(archive_md5_ctx *ctx, const void *indata, | size_t insize) | { | MD5Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_md5final(archive_md5_ctx *ctx, void *md) | { | MD5Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_MD5_LIBSYSTEM) | | static int | __archive_libsystem_md5init(archive_md5_ctx *ctx) | { | CC_MD5_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_md5update(archive_md5_ctx *ctx, const void *indata, | size_t insize) | { | CC_MD5_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_md5final(archive_md5_ctx *ctx, void *md) | { | CC_MD5_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_MD5_NETTLE) | | static int | __archive_nettle_md5init(archive_md5_ctx *ctx) | { | md5_init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_md5update(archive_md5_ctx *ctx, const void *indata, | size_t insize) | { | md5_update(ctx, insize, indata); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_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_openssl_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_openssl_md5update(archive_md5_ctx *ctx, const void *indata, | size_t insize) | { | EVP_DigestUpdate(*ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_openssl_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_windowsapi_md5init(archive_md5_ctx *ctx) | { | return (win_crypto_init(ctx, CALG_MD5)); | } | | static int | __archive_windowsapi_md5update(archive_md5_ctx *ctx, const void *indata, | size_t insize) | { | return (win_crypto_Update(ctx, indata, insize)); | } | | static int | __archive_windowsapi_md5final(archive_md5_ctx *ctx, void *md) | { | return (win_crypto_Final(md, 16, ctx)); | } | | #else | | static int | __archive_stub_md5init(archive_md5_ctx *ctx) | { | (void)ctx; /* UNUSED */ | return (ARCHIVE_FAILED); | } | | static int | __archive_stub_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_stub_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_libc_ripemd160init(archive_rmd160_ctx *ctx) | { | RMD160Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, | size_t insize) | { | RMD160Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc_ripemd160final(archive_rmd160_ctx *ctx, void *md) | { | RMD160Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_RMD160_LIBMD) | | static int | __archive_libmd_ripemd160init(archive_rmd160_ctx *ctx) | { | RIPEMD160_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, | size_t insize) | { | RIPEMD160_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_ripemd160final(archive_rmd160_ctx *ctx, void *md) | { | RIPEMD160_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_RMD160_NETTLE) | | static int | __archive_nettle_ripemd160init(archive_rmd160_ctx *ctx) | { | ripemd160_init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, | size_t insize) | { | ripemd160_update(ctx, insize, indata); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_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_openssl_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_openssl_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, | size_t insize) | { | EVP_DigestUpdate(*ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_openssl_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_stub_ripemd160init(archive_rmd160_ctx *ctx) | { | (void)ctx; /* UNUSED */ | return (ARCHIVE_FAILED); | } | | static int | __archive_stub_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_stub_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_libc_sha1init(archive_sha1_ctx *ctx) | { | SHA1Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc_sha1update(archive_sha1_ctx *ctx, const void *indata, | size_t insize) | { | SHA1Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc_sha1final(archive_sha1_ctx *ctx, void *md) | { | SHA1Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA1_LIBMD) | | static int | __archive_libmd_sha1init(archive_sha1_ctx *ctx) | { | SHA1_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_sha1update(archive_sha1_ctx *ctx, const void *indata, | size_t insize) | { | SHA1_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_sha1final(archive_sha1_ctx *ctx, void *md) | { | SHA1_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA1_LIBSYSTEM) | | static int | __archive_libsystem_sha1init(archive_sha1_ctx *ctx) | { | CC_SHA1_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_sha1update(archive_sha1_ctx *ctx, const void *indata, | size_t insize) | { | CC_SHA1_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_sha1final(archive_sha1_ctx *ctx, void *md) | { | CC_SHA1_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA1_NETTLE) | | static int | __archive_nettle_sha1init(archive_sha1_ctx *ctx) | { | sha1_init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_sha1update(archive_sha1_ctx *ctx, const void *indata, | size_t insize) | { | sha1_update(ctx, insize, indata); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_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_openssl_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_openssl_sha1update(archive_sha1_ctx *ctx, const void *indata, | size_t insize) | { | EVP_DigestUpdate(*ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_openssl_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_windowsapi_sha1init(archive_sha1_ctx *ctx) | { | return (win_crypto_init(ctx, CALG_SHA1)); | } | | static int | __archive_windowsapi_sha1update(archive_sha1_ctx *ctx, const void *indata, | size_t insize) | { | return (win_crypto_Update(ctx, indata, insize)); | } | | static int | __archive_windowsapi_sha1final(archive_sha1_ctx *ctx, void *md) | { | return (win_crypto_Final(md, 20, ctx)); | } | | #else | | static int | __archive_stub_sha1init(archive_sha1_ctx *ctx) | { | (void)ctx; /* UNUSED */ | return (ARCHIVE_FAILED); | } | | static int | __archive_stub_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_stub_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_libc_sha256init(archive_sha256_ctx *ctx) | { | SHA256_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc_sha256update(archive_sha256_ctx *ctx, const void *indata, | size_t insize) | { | SHA256_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc_sha256final(archive_sha256_ctx *ctx, void *md) | { | SHA256_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA256_LIBC2) | | static int | __archive_libc2_sha256init(archive_sha256_ctx *ctx) | { | SHA256Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc2_sha256update(archive_sha256_ctx *ctx, const void *indata, | size_t insize) | { | SHA256Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc2_sha256final(archive_sha256_ctx *ctx, void *md) | { | SHA256Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA256_LIBC3) | | static int | __archive_libc3_sha256init(archive_sha256_ctx *ctx) | { | SHA256Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc3_sha256update(archive_sha256_ctx *ctx, const void *indata, | size_t insize) | { | SHA256Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc3_sha256final(archive_sha256_ctx *ctx, void *md) | { | SHA256Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA256_LIBMD) | | static int | __archive_libmd_sha256init(archive_sha256_ctx *ctx) | { | SHA256_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_sha256update(archive_sha256_ctx *ctx, const void *indata, | size_t insize) | { | SHA256_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_sha256final(archive_sha256_ctx *ctx, void *md) | { | SHA256_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA256_LIBSYSTEM) | | static int | __archive_libsystem_sha256init(archive_sha256_ctx *ctx) | { | CC_SHA256_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_sha256update(archive_sha256_ctx *ctx, const void *indata, | size_t insize) | { | CC_SHA256_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_sha256final(archive_sha256_ctx *ctx, void *md) | { | CC_SHA256_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA256_NETTLE) | | static int | __archive_nettle_sha256init(archive_sha256_ctx *ctx) | { | sha256_init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_sha256update(archive_sha256_ctx *ctx, const void *indata, | size_t insize) | { | sha256_update(ctx, insize, indata); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_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_openssl_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_openssl_sha256update(archive_sha256_ctx *ctx, const void *indata, | size_t insize) | { | EVP_DigestUpdate(*ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_openssl_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_windowsapi_sha256init(archive_sha256_ctx *ctx) | { | return (win_crypto_init(ctx, CALG_SHA_256)); | } | | static int | __archive_windowsapi_sha256update(archive_sha256_ctx *ctx, const void *indata, | size_t insize) | { | return (win_crypto_Update(ctx, indata, insize)); | } | | static int | __archive_windowsapi_sha256final(archive_sha256_ctx *ctx, void *md) | { | return (win_crypto_Final(md, 32, ctx)); | } | | #else | | static int | __archive_stub_sha256init(archive_sha256_ctx *ctx) | { | (void)ctx; /* UNUSED */ | return (ARCHIVE_FAILED); | } | | static int | __archive_stub_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_stub_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_libc_sha384init(archive_sha384_ctx *ctx) | { | SHA384_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc_sha384update(archive_sha384_ctx *ctx, const void *indata, | size_t insize) | { | SHA384_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc_sha384final(archive_sha384_ctx *ctx, void *md) | { | SHA384_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA384_LIBC2) | | static int | __archive_libc2_sha384init(archive_sha384_ctx *ctx) | { | SHA384Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc2_sha384update(archive_sha384_ctx *ctx, const void *indata, | size_t insize) | { | SHA384Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc2_sha384final(archive_sha384_ctx *ctx, void *md) | { | SHA384Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA384_LIBC3) | | static int | __archive_libc3_sha384init(archive_sha384_ctx *ctx) | { | SHA384Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc3_sha384update(archive_sha384_ctx *ctx, const void *indata, | size_t insize) | { | SHA384Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc3_sha384final(archive_sha384_ctx *ctx, void *md) | { | SHA384Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA384_LIBSYSTEM) | | static int | __archive_libsystem_sha384init(archive_sha384_ctx *ctx) | { | CC_SHA384_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_sha384update(archive_sha384_ctx *ctx, const void *indata, | size_t insize) | { | CC_SHA384_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_sha384final(archive_sha384_ctx *ctx, void *md) | { | CC_SHA384_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA384_NETTLE) | | static int | __archive_nettle_sha384init(archive_sha384_ctx *ctx) | { | sha384_init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_sha384update(archive_sha384_ctx *ctx, const void *indata, | size_t insize) | { | sha384_update(ctx, insize, indata); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_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_openssl_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_openssl_sha384update(archive_sha384_ctx *ctx, const void *indata, | size_t insize) | { | EVP_DigestUpdate(*ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_openssl_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_windowsapi_sha384init(archive_sha384_ctx *ctx) | { | return (win_crypto_init(ctx, CALG_SHA_384)); | } | | static int | __archive_windowsapi_sha384update(archive_sha384_ctx *ctx, const void *indata, | size_t insize) | { | return (win_crypto_Update(ctx, indata, insize)); | } | | static int | __archive_windowsapi_sha384final(archive_sha384_ctx *ctx, void *md) | { | return (win_crypto_Final(md, 48, ctx)); | } | | #else | | static int | __archive_stub_sha384init(archive_sha384_ctx *ctx) | { | (void)ctx; /* UNUSED */ | return (ARCHIVE_FAILED); | } | | static int | __archive_stub_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_stub_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_libc_sha512init(archive_sha512_ctx *ctx) | { | SHA512_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc_sha512update(archive_sha512_ctx *ctx, const void *indata, | size_t insize) | { | SHA512_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc_sha512final(archive_sha512_ctx *ctx, void *md) | { | SHA512_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA512_LIBC2) | | static int | __archive_libc2_sha512init(archive_sha512_ctx *ctx) | { | SHA512Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc2_sha512update(archive_sha512_ctx *ctx, const void *indata, | size_t insize) | { | SHA512Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc2_sha512final(archive_sha512_ctx *ctx, void *md) | { | SHA512Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA512_LIBC3) | | static int | __archive_libc3_sha512init(archive_sha512_ctx *ctx) | { | SHA512Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc3_sha512update(archive_sha512_ctx *ctx, const void *indata, | size_t insize) | { | SHA512Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc3_sha512final(archive_sha512_ctx *ctx, void *md) | { | SHA512Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA512_LIBMD) | | static int | __archive_libmd_sha512init(archive_sha512_ctx *ctx) | { | SHA512_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_sha512update(archive_sha512_ctx *ctx, const void *indata, | size_t insize) | { | SHA512_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_sha512final(archive_sha512_ctx *ctx, void *md) | { | SHA512_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA512_LIBSYSTEM) | | static int | __archive_libsystem_sha512init(archive_sha512_ctx *ctx) | { | CC_SHA512_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_sha512update(archive_sha512_ctx *ctx, const void *indata, | size_t insize) | { | CC_SHA512_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_sha512final(archive_sha512_ctx *ctx, void *md) | { | CC_SHA512_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA512_NETTLE) | | static int | __archive_nettle_sha512init(archive_sha512_ctx *ctx) | { | sha512_init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_sha512update(archive_sha512_ctx *ctx, const void *indata, | size_t insize) | { | sha512_update(ctx, insize, indata); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_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_openssl_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_openssl_sha512update(archive_sha512_ctx *ctx, const void *indata, | size_t insize) | { | EVP_DigestUpdate(*ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_openssl_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_windowsapi_sha512init(archive_sha512_ctx *ctx) | { | return (win_crypto_init(ctx, CALG_SHA_512)); | } | | static int | __archive_windowsapi_sha512update(archive_sha512_ctx *ctx, const void *indata, | size_t insize) | { | return (win_crypto_Update(ctx, indata, insize)); | } | | static int | __archive_windowsapi_sha512final(archive_sha512_ctx *ctx, void *md) | { | return (win_crypto_Final(md, 64, ctx)); | } | | #else | | static int | __archive_stub_sha512init(archive_sha512_ctx *ctx) | { | (void)ctx; /* UNUSED */ | return (ARCHIVE_FAILED); | } | | static int | __archive_stub_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_stub_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 */ | #if defined(ARCHIVE_CRYPTO_MD5_LIBC) | &__archive_libc_md5init, | &__archive_libc_md5update, | &__archive_libc_md5final, | #elif defined(ARCHIVE_CRYPTO_MD5_LIBMD) | &__archive_libmd_md5init, | &__archive_libmd_md5update, | &__archive_libmd_md5final, | #elif defined(ARCHIVE_CRYPTO_MD5_LIBSYSTEM) | &__archive_libsystem_md5init, | &__archive_libsystem_md5update, | &__archive_libsystem_md5final, | #elif defined(ARCHIVE_CRYPTO_MD5_NETTLE) | &__archive_nettle_md5init, | &__archive_nettle_md5update, | &__archive_nettle_md5final, | #elif defined(ARCHIVE_CRYPTO_MD5_OPENSSL) | &__archive_openssl_md5init, | &__archive_openssl_md5update, | &__archive_openssl_md5final, | #elif defined(ARCHIVE_CRYPTO_MD5_WIN) | &__archive_windowsapi_md5init, | &__archive_windowsapi_md5update, | &__archive_windowsapi_md5final, | #elif !defined(ARCHIVE_MD5_COMPILE_TEST) | &__archive_stub_md5init, | &__archive_stub_md5update, | &__archive_stub_md5final, | #endif | | /* RIPEMD160 */ | #if defined(ARCHIVE_CRYPTO_RMD160_LIBC) | &__archive_libc_ripemd160init, | &__archive_libc_ripemd160update, | &__archive_libc_ripemd160final, | #elif defined(ARCHIVE_CRYPTO_RMD160_LIBMD) | &__archive_libmd_ripemd160init, | &__archive_libmd_ripemd160update, | &__archive_libmd_ripemd160final, | #elif defined(ARCHIVE_CRYPTO_RMD160_NETTLE) | &__archive_nettle_ripemd160init, | &__archive_nettle_ripemd160update, | &__archive_nettle_ripemd160final, | #elif defined(ARCHIVE_CRYPTO_RMD160_OPENSSL) | &__archive_openssl_ripemd160init, | &__archive_openssl_ripemd160update, | &__archive_openssl_ripemd160final, | #elif !defined(ARCHIVE_RMD160_COMPILE_TEST) | &__archive_stub_ripemd160init, | &__archive_stub_ripemd160update, | &__archive_stub_ripemd160final, | #endif | | /* SHA1 */ | #if defined(ARCHIVE_CRYPTO_SHA1_LIBC) | &__archive_libc_sha1init, | &__archive_libc_sha1update, | &__archive_libc_sha1final, | #elif defined(ARCHIVE_CRYPTO_SHA1_LIBMD) | &__archive_libmd_sha1init, | &__archive_libmd_sha1update, | &__archive_libmd_sha1final, | #elif defined(ARCHIVE_CRYPTO_SHA1_LIBSYSTEM) | &__archive_libsystem_sha1init, | &__archive_libsystem_sha1update, | &__archive_libsystem_sha1final, | #elif defined(ARCHIVE_CRYPTO_SHA1_NETTLE) | &__archive_nettle_sha1init, | &__archive_nettle_sha1update, | &__archive_nettle_sha1final, | #elif defined(ARCHIVE_CRYPTO_SHA1_OPENSSL) | &__archive_openssl_sha1init, | &__archive_openssl_sha1update, | &__archive_openssl_sha1final, | #elif defined(ARCHIVE_CRYPTO_SHA1_WIN) | &__archive_windowsapi_sha1init, | &__archive_windowsapi_sha1update, | &__archive_windowsapi_sha1final, | #elif !defined(ARCHIVE_SHA1_COMPILE_TEST) | &__archive_stub_sha1init, | &__archive_stub_sha1update, | &__archive_stub_sha1final, | #endif | | /* SHA256 */ | #if defined(ARCHIVE_CRYPTO_SHA256_LIBC) | &__archive_libc_sha256init, | &__archive_libc_sha256update, | &__archive_libc_sha256final, | #elif defined(ARCHIVE_CRYPTO_SHA256_LIBC2) | &__archive_libc2_sha256init, | &__archive_libc2_sha256update, | &__archive_libc2_sha256final, | #elif defined(ARCHIVE_CRYPTO_SHA256_LIBC3) | &__archive_libc3_sha256init, | &__archive_libc3_sha256update, | &__archive_libc3_sha256final, | #elif defined(ARCHIVE_CRYPTO_SHA256_LIBMD) | &__archive_libmd_sha256init, | &__archive_libmd_sha256update, | &__archive_libmd_sha256final, | #elif defined(ARCHIVE_CRYPTO_SHA256_LIBSYSTEM) | &__archive_libsystem_sha256init, | &__archive_libsystem_sha256update, | &__archive_libsystem_sha256final, | #elif defined(ARCHIVE_CRYPTO_SHA256_NETTLE) | &__archive_nettle_sha256init, | &__archive_nettle_sha256update, | &__archive_nettle_sha256final, | #elif defined(ARCHIVE_CRYPTO_SHA256_OPENSSL) | &__archive_openssl_sha256init, | &__archive_openssl_sha256update, | &__archive_openssl_sha256final, | #elif defined(ARCHIVE_CRYPTO_SHA256_WIN) | &__archive_windowsapi_sha256init, | &__archive_windowsapi_sha256update, | &__archive_windowsapi_sha256final, | #elif !defined(ARCHIVE_SHA256_COMPILE_TEST) | &__archive_stub_sha256init, | &__archive_stub_sha256update, | &__archive_stub_sha256final, | #endif | | /* SHA384 */ | #if defined(ARCHIVE_CRYPTO_SHA384_LIBC) | &__archive_libc_sha384init, | &__archive_libc_sha384update, | &__archive_libc_sha384final, | #elif defined(ARCHIVE_CRYPTO_SHA384_LIBC2) | &__archive_libc2_sha384init, | &__archive_libc2_sha384update, | &__archive_libc2_sha384final, | #elif defined(ARCHIVE_CRYPTO_SHA384_LIBC3) | &__archive_libc3_sha384init, | &__archive_libc3_sha384update, | &__archive_libc3_sha384final, | #elif defined(ARCHIVE_CRYPTO_SHA384_LIBSYSTEM) | &__archive_libsystem_sha384init, | &__archive_libsystem_sha384update, | &__archive_libsystem_sha384final, | #elif defined(ARCHIVE_CRYPTO_SHA384_NETTLE) | &__archive_nettle_sha384init, | &__archive_nettle_sha384update, | &__archive_nettle_sha384final, | #elif defined(ARCHIVE_CRYPTO_SHA384_OPENSSL) | &__archive_openssl_sha384init, | &__archive_openssl_sha384update, | &__archive_openssl_sha384final, | #elif defined(ARCHIVE_CRYPTO_SHA384_WIN) | &__archive_windowsapi_sha384init, | &__archive_windowsapi_sha384update, | &__archive_windowsapi_sha384final, | #elif !defined(ARCHIVE_SHA384_COMPILE_TEST) | &__archive_stub_sha384init, | &__archive_stub_sha384update, | &__archive_stub_sha384final, | #endif | | /* SHA512 */ | #if defined(ARCHIVE_CRYPTO_SHA512_LIBC) | &__archive_libc_sha512init, | &__archive_libc_sha512update, | &__archive_libc_sha512final | #elif defined(ARCHIVE_CRYPTO_SHA512_LIBC2) | &__archive_libc2_sha512init, | &__archive_libc2_sha512update, | &__archive_libc2_sha512final | #elif defined(ARCHIVE_CRYPTO_SHA512_LIBC3) | &__archive_libc3_sha512init, | &__archive_libc3_sha512update, | &__archive_libc3_sha512final | #elif defined(ARCHIVE_CRYPTO_SHA512_LIBMD) | &__archive_libmd_sha512init, | &__archive_libmd_sha512update, | &__archive_libmd_sha512final | #elif defined(ARCHIVE_CRYPTO_SHA512_LIBSYSTEM) | &__archive_libsystem_sha512init, | &__archive_libsystem_sha512update, | &__archive_libsystem_sha512final | #elif defined(ARCHIVE_CRYPTO_SHA512_NETTLE) | &__archive_nettle_sha512init, | &__archive_nettle_sha512update, | &__archive_nettle_sha512final | #elif defined(ARCHIVE_CRYPTO_SHA512_OPENSSL) | &__archive_openssl_sha512init, | &__archive_openssl_sha512update, | &__archive_openssl_sha512final | #elif defined(ARCHIVE_CRYPTO_SHA512_WIN) | &__archive_windowsapi_sha512init, | &__archive_windowsapi_sha512update, | &__archive_windowsapi_sha512final | #elif !defined(ARCHIVE_SHA512_COMPILE_TEST) | &__archive_stub_sha512init, | &__archive_stub_sha512update, | &__archive_stub_sha512final | #endif | }; | | 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; | } | configure:20940: result: no configure:20954: checking support for ARCHIVE_CRYPTO_RMD160_LIBMD configure:20976: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -o conftest -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -I. -I. -I./libarchive -Wl,-elf2flt -static conftest.c -llzma >&5 In file included from conftest.c:219:0: ./libarchive/archive_digest_private.h:94:10: fatal error: ripemd.h: No such file or directory #include ^~~~~~~~~~ compilation terminated. configure:20976: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "libarchive" | #define PACKAGE_TARNAME "libarchive" | #define PACKAGE_VERSION "3.4.0" | #define PACKAGE_STRING "libarchive 3.4.0" | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com" | #define PACKAGE_URL "" | #define PACKAGE "libarchive" | #define VERSION "3.4.0" | #define LIBARCHIVE_VERSION_STRING "3.4.0" | #define LIBARCHIVE_VERSION_NUMBER "3004000" | #define BSDCPIO_VERSION_STRING "3.4.0" | #define BSDTAR_VERSION_STRING "3.4.0" | #define BSDCAT_VERSION_STRING "3.4.0" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define __EXTENSIONS__ 1 | #define _ALL_SOURCE 1 | #define _GNU_SOURCE 1 | #define _POSIX_PTHREAD_SEMANTICS 1 | #define _TANDEM_SOURCE 1 | #define LT_OBJDIR ".libs/" | #define HAVE_DIRENT_H 1 | #define HAVE_SYS_WAIT_H 1 | #define HAVE_CTYPE_H 1 | #define HAVE_ERRNO_H 1 | #define HAVE_FCNTL_H 1 | #define HAVE_GRP_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_LANGINFO_H 1 | #define HAVE_LIMITS_H 1 | #define HAVE_LINUX_FIEMAP_H 1 | #define HAVE_LINUX_FS_H 1 | #define HAVE_LINUX_MAGIC_H 1 | #define HAVE_LINUX_TYPES_H 1 | #define HAVE_WORKING_FS_IOC_GETFLAGS 1 | #define HAVE_LOCALE_H 1 | #define HAVE_PATHS_H 1 | #define HAVE_POLL_H 1 | #define HAVE_PTHREAD_H 1 | #define HAVE_PWD_H 1 | #define HAVE_SIGNAL_H 1 | #define HAVE_SPAWN_H 1 | #define HAVE_STDARG_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_SYS_CDEFS_H 1 | #define HAVE_SYS_IOCTL_H 1 | #define HAVE_SYS_MOUNT_H 1 | #define HAVE_SYS_PARAM_H 1 | #define HAVE_SYS_POLL_H 1 | #define HAVE_SYS_SELECT_H 1 | #define HAVE_SYS_STATFS_H 1 | #define HAVE_SYS_STATVFS_H 1 | #define HAVE_SYS_SYSMACROS_H 1 | #define HAVE_SYS_TIME_H 1 | #define HAVE_SYS_UTSNAME_H 1 | #define HAVE_SYS_VFS_H 1 | #define HAVE_SYS_XATTR_H 1 | #define HAVE_TIME_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_UTIME_H 1 | #define HAVE_WCHAR_H 1 | #define HAVE_WCTYPE_H 1 | #define HAVE_ICONV 1 | #define ICONV_CONST | #define HAVE_ICONV_H 1 | #define HAVE_LZMA_H 1 | #define HAVE_LIBLZMA 1 | #define HAVE_LZMA_STREAM_ENCODER_MT 1 | #define HAVE_REGEX_H 1 | #define HAVE_STRUCT_TM_TM_GMTOFF 1 | #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1 | #define HAVE_STRUCT_STAT_ST_BLKSIZE 1 | #define HAVE_UINTMAX_T 1 | #define HAVE_UNSIGNED_LONG_LONG 1 | #define HAVE_UNSIGNED_LONG_LONG_INT 1 | #define HAVE_LONG_LONG_INT 1 | #define HAVE_INTMAX_T 1 | #define HAVE_UINTMAX_T 1 | #define HAVE_DECL_SIZE_MAX 1 | #define HAVE_DECL_INT32_MAX 1 | #define HAVE_DECL_INT32_MIN 1 | #define HAVE_DECL_INT64_MAX 1 | #define HAVE_DECL_INT64_MIN 1 | #define HAVE_DECL_UINT64_MAX 1 | #define HAVE_DECL_UINT32_MAX 1 | #define HAVE_DECL_INTMAX_MAX 1 | #define HAVE_DECL_INTMAX_MIN 1 | #define HAVE_DECL_UINTMAX_MAX 1 | #define HAVE_DECL_SSIZE_MAX 1 | #define HAVE_EILSEQ 1 | #define HAVE_WCHAR_T 1 | #define SIZEOF_WCHAR_T 4 | #define TIME_WITH_SYS_TIME 1 | #define HAVE_FSEEKO 1 | #define HAVE_LSTAT_EMPTY_STRING_BUG 1 | #define HAVE_STAT_EMPTY_STRING_BUG 1 | #define HAVE_DECL_STRERROR_R 1 | #define HAVE_STRERROR_R 1 | #define STRERROR_R_CHAR_P 1 | #define HAVE_STRFTIME 1 | #define HAVE_VPRINTF 1 | #define HAVE_CHOWN 1 | #define HAVE_CHROOT 1 | #define HAVE_CTIME_R 1 | #define HAVE_FCHDIR 1 | #define HAVE_FCHMOD 1 | #define HAVE_FCHOWN 1 | #define HAVE_FCNTL 1 | #define HAVE_FDOPENDIR 1 | #define HAVE_FSTAT 1 | #define HAVE_FSTATAT 1 | #define HAVE_FSTATFS 1 | #define HAVE_FSTATVFS 1 | #define HAVE_FTRUNCATE 1 | #define HAVE_FUTIMENS 1 | #define HAVE_FUTIMESAT 1 | #define HAVE_GETEUID 1 | #define HAVE_GETPID 1 | #define HAVE_GETGRGID_R 1 | #define HAVE_GETGRNAM_R 1 | #define HAVE_GETPWNAM_R 1 | #define HAVE_GETPWUID_R 1 | #define HAVE_GMTIME_R 1 | #define HAVE_LCHOWN 1 | #define HAVE_LINK 1 | #define HAVE_LOCALTIME_R 1 | #define HAVE_LSTAT 1 | #define HAVE_LUTIMES 1 | #define HAVE_MBRTOWC 1 | #define HAVE_MEMMOVE 1 | #define HAVE_MEMSET 1 | #define HAVE_MKDIR 1 | #define HAVE_MKFIFO 1 | #define HAVE_MKNOD 1 | #define HAVE_MKSTEMP 1 | #define HAVE_NL_LANGINFO 1 | #define HAVE_OPENAT 1 | #define HAVE_PIPE 1 | #define HAVE_POLL 1 | #define HAVE_POSIX_SPAWNP 1 | #define HAVE_READLINK 1 | #define HAVE_READLINKAT 1 | #define HAVE_SELECT 1 | #define HAVE_SETENV 1 | #define HAVE_SETLOCALE 1 | #define HAVE_SIGACTION 1 | #define HAVE_STATFS 1 | #define HAVE_STATVFS 1 | #define HAVE_STRCHR 1 | #define HAVE_STRDUP 1 | #define HAVE_STRERROR 1 | #define HAVE_STRRCHR 1 | #define HAVE_SYMLINK 1 | #define HAVE_TIMEGM 1 | #define HAVE_TZSET 1 | #define HAVE_UNLINKAT 1 | #define HAVE_UNSETENV 1 | #define HAVE_UTIME 1 | #define HAVE_UTIMENSAT 1 | #define HAVE_UTIMES 1 | #define HAVE_VFORK 1 | #define HAVE_WCRTOMB 1 | #define HAVE_WCSCMP 1 | #define HAVE_WCSCPY 1 | #define HAVE_WCSLEN 1 | #define HAVE_WCTOMB 1 | #define HAVE_WMEMCMP 1 | #define HAVE_WMEMCPY 1 | #define HAVE_WMEMMOVE 1 | #define HAVE_READDIR_R 1 | #define HAVE_DIRFD 1 | /* end confdefs.h. */ | | #define ARCHIVE_RMD160_COMPILE_TEST | #define ARCHIVE_CRYPTO_RMD160_LIBMD | #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_libc_md5init(archive_md5_ctx *ctx) | { | MD5Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc_md5update(archive_md5_ctx *ctx, const void *indata, | size_t insize) | { | MD5Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc_md5final(archive_md5_ctx *ctx, void *md) | { | MD5Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_MD5_LIBMD) | | static int | __archive_libmd_md5init(archive_md5_ctx *ctx) | { | MD5Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_md5update(archive_md5_ctx *ctx, const void *indata, | size_t insize) | { | MD5Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_md5final(archive_md5_ctx *ctx, void *md) | { | MD5Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_MD5_LIBSYSTEM) | | static int | __archive_libsystem_md5init(archive_md5_ctx *ctx) | { | CC_MD5_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_md5update(archive_md5_ctx *ctx, const void *indata, | size_t insize) | { | CC_MD5_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_md5final(archive_md5_ctx *ctx, void *md) | { | CC_MD5_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_MD5_NETTLE) | | static int | __archive_nettle_md5init(archive_md5_ctx *ctx) | { | md5_init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_md5update(archive_md5_ctx *ctx, const void *indata, | size_t insize) | { | md5_update(ctx, insize, indata); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_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_openssl_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_openssl_md5update(archive_md5_ctx *ctx, const void *indata, | size_t insize) | { | EVP_DigestUpdate(*ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_openssl_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_windowsapi_md5init(archive_md5_ctx *ctx) | { | return (win_crypto_init(ctx, CALG_MD5)); | } | | static int | __archive_windowsapi_md5update(archive_md5_ctx *ctx, const void *indata, | size_t insize) | { | return (win_crypto_Update(ctx, indata, insize)); | } | | static int | __archive_windowsapi_md5final(archive_md5_ctx *ctx, void *md) | { | return (win_crypto_Final(md, 16, ctx)); | } | | #else | | static int | __archive_stub_md5init(archive_md5_ctx *ctx) | { | (void)ctx; /* UNUSED */ | return (ARCHIVE_FAILED); | } | | static int | __archive_stub_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_stub_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_libc_ripemd160init(archive_rmd160_ctx *ctx) | { | RMD160Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, | size_t insize) | { | RMD160Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc_ripemd160final(archive_rmd160_ctx *ctx, void *md) | { | RMD160Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_RMD160_LIBMD) | | static int | __archive_libmd_ripemd160init(archive_rmd160_ctx *ctx) | { | RIPEMD160_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, | size_t insize) | { | RIPEMD160_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_ripemd160final(archive_rmd160_ctx *ctx, void *md) | { | RIPEMD160_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_RMD160_NETTLE) | | static int | __archive_nettle_ripemd160init(archive_rmd160_ctx *ctx) | { | ripemd160_init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, | size_t insize) | { | ripemd160_update(ctx, insize, indata); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_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_openssl_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_openssl_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, | size_t insize) | { | EVP_DigestUpdate(*ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_openssl_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_stub_ripemd160init(archive_rmd160_ctx *ctx) | { | (void)ctx; /* UNUSED */ | return (ARCHIVE_FAILED); | } | | static int | __archive_stub_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_stub_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_libc_sha1init(archive_sha1_ctx *ctx) | { | SHA1Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc_sha1update(archive_sha1_ctx *ctx, const void *indata, | size_t insize) | { | SHA1Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc_sha1final(archive_sha1_ctx *ctx, void *md) | { | SHA1Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA1_LIBMD) | | static int | __archive_libmd_sha1init(archive_sha1_ctx *ctx) | { | SHA1_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_sha1update(archive_sha1_ctx *ctx, const void *indata, | size_t insize) | { | SHA1_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_sha1final(archive_sha1_ctx *ctx, void *md) | { | SHA1_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA1_LIBSYSTEM) | | static int | __archive_libsystem_sha1init(archive_sha1_ctx *ctx) | { | CC_SHA1_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_sha1update(archive_sha1_ctx *ctx, const void *indata, | size_t insize) | { | CC_SHA1_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_sha1final(archive_sha1_ctx *ctx, void *md) | { | CC_SHA1_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA1_NETTLE) | | static int | __archive_nettle_sha1init(archive_sha1_ctx *ctx) | { | sha1_init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_sha1update(archive_sha1_ctx *ctx, const void *indata, | size_t insize) | { | sha1_update(ctx, insize, indata); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_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_openssl_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_openssl_sha1update(archive_sha1_ctx *ctx, const void *indata, | size_t insize) | { | EVP_DigestUpdate(*ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_openssl_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_windowsapi_sha1init(archive_sha1_ctx *ctx) | { | return (win_crypto_init(ctx, CALG_SHA1)); | } | | static int | __archive_windowsapi_sha1update(archive_sha1_ctx *ctx, const void *indata, | size_t insize) | { | return (win_crypto_Update(ctx, indata, insize)); | } | | static int | __archive_windowsapi_sha1final(archive_sha1_ctx *ctx, void *md) | { | return (win_crypto_Final(md, 20, ctx)); | } | | #else | | static int | __archive_stub_sha1init(archive_sha1_ctx *ctx) | { | (void)ctx; /* UNUSED */ | return (ARCHIVE_FAILED); | } | | static int | __archive_stub_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_stub_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_libc_sha256init(archive_sha256_ctx *ctx) | { | SHA256_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc_sha256update(archive_sha256_ctx *ctx, const void *indata, | size_t insize) | { | SHA256_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc_sha256final(archive_sha256_ctx *ctx, void *md) | { | SHA256_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA256_LIBC2) | | static int | __archive_libc2_sha256init(archive_sha256_ctx *ctx) | { | SHA256Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc2_sha256update(archive_sha256_ctx *ctx, const void *indata, | size_t insize) | { | SHA256Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc2_sha256final(archive_sha256_ctx *ctx, void *md) | { | SHA256Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA256_LIBC3) | | static int | __archive_libc3_sha256init(archive_sha256_ctx *ctx) | { | SHA256Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc3_sha256update(archive_sha256_ctx *ctx, const void *indata, | size_t insize) | { | SHA256Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc3_sha256final(archive_sha256_ctx *ctx, void *md) | { | SHA256Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA256_LIBMD) | | static int | __archive_libmd_sha256init(archive_sha256_ctx *ctx) | { | SHA256_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_sha256update(archive_sha256_ctx *ctx, const void *indata, | size_t insize) | { | SHA256_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_sha256final(archive_sha256_ctx *ctx, void *md) | { | SHA256_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA256_LIBSYSTEM) | | static int | __archive_libsystem_sha256init(archive_sha256_ctx *ctx) | { | CC_SHA256_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_sha256update(archive_sha256_ctx *ctx, const void *indata, | size_t insize) | { | CC_SHA256_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_sha256final(archive_sha256_ctx *ctx, void *md) | { | CC_SHA256_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA256_NETTLE) | | static int | __archive_nettle_sha256init(archive_sha256_ctx *ctx) | { | sha256_init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_sha256update(archive_sha256_ctx *ctx, const void *indata, | size_t insize) | { | sha256_update(ctx, insize, indata); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_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_openssl_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_openssl_sha256update(archive_sha256_ctx *ctx, const void *indata, | size_t insize) | { | EVP_DigestUpdate(*ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_openssl_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_windowsapi_sha256init(archive_sha256_ctx *ctx) | { | return (win_crypto_init(ctx, CALG_SHA_256)); | } | | static int | __archive_windowsapi_sha256update(archive_sha256_ctx *ctx, const void *indata, | size_t insize) | { | return (win_crypto_Update(ctx, indata, insize)); | } | | static int | __archive_windowsapi_sha256final(archive_sha256_ctx *ctx, void *md) | { | return (win_crypto_Final(md, 32, ctx)); | } | | #else | | static int | __archive_stub_sha256init(archive_sha256_ctx *ctx) | { | (void)ctx; /* UNUSED */ | return (ARCHIVE_FAILED); | } | | static int | __archive_stub_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_stub_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_libc_sha384init(archive_sha384_ctx *ctx) | { | SHA384_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc_sha384update(archive_sha384_ctx *ctx, const void *indata, | size_t insize) | { | SHA384_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc_sha384final(archive_sha384_ctx *ctx, void *md) | { | SHA384_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA384_LIBC2) | | static int | __archive_libc2_sha384init(archive_sha384_ctx *ctx) | { | SHA384Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc2_sha384update(archive_sha384_ctx *ctx, const void *indata, | size_t insize) | { | SHA384Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc2_sha384final(archive_sha384_ctx *ctx, void *md) | { | SHA384Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA384_LIBC3) | | static int | __archive_libc3_sha384init(archive_sha384_ctx *ctx) | { | SHA384Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc3_sha384update(archive_sha384_ctx *ctx, const void *indata, | size_t insize) | { | SHA384Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc3_sha384final(archive_sha384_ctx *ctx, void *md) | { | SHA384Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA384_LIBSYSTEM) | | static int | __archive_libsystem_sha384init(archive_sha384_ctx *ctx) | { | CC_SHA384_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_sha384update(archive_sha384_ctx *ctx, const void *indata, | size_t insize) | { | CC_SHA384_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_sha384final(archive_sha384_ctx *ctx, void *md) | { | CC_SHA384_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA384_NETTLE) | | static int | __archive_nettle_sha384init(archive_sha384_ctx *ctx) | { | sha384_init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_sha384update(archive_sha384_ctx *ctx, const void *indata, | size_t insize) | { | sha384_update(ctx, insize, indata); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_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_openssl_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_openssl_sha384update(archive_sha384_ctx *ctx, const void *indata, | size_t insize) | { | EVP_DigestUpdate(*ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_openssl_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_windowsapi_sha384init(archive_sha384_ctx *ctx) | { | return (win_crypto_init(ctx, CALG_SHA_384)); | } | | static int | __archive_windowsapi_sha384update(archive_sha384_ctx *ctx, const void *indata, | size_t insize) | { | return (win_crypto_Update(ctx, indata, insize)); | } | | static int | __archive_windowsapi_sha384final(archive_sha384_ctx *ctx, void *md) | { | return (win_crypto_Final(md, 48, ctx)); | } | | #else | | static int | __archive_stub_sha384init(archive_sha384_ctx *ctx) | { | (void)ctx; /* UNUSED */ | return (ARCHIVE_FAILED); | } | | static int | __archive_stub_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_stub_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_libc_sha512init(archive_sha512_ctx *ctx) | { | SHA512_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc_sha512update(archive_sha512_ctx *ctx, const void *indata, | size_t insize) | { | SHA512_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc_sha512final(archive_sha512_ctx *ctx, void *md) | { | SHA512_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA512_LIBC2) | | static int | __archive_libc2_sha512init(archive_sha512_ctx *ctx) | { | SHA512Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc2_sha512update(archive_sha512_ctx *ctx, const void *indata, | size_t insize) | { | SHA512Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc2_sha512final(archive_sha512_ctx *ctx, void *md) | { | SHA512Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA512_LIBC3) | | static int | __archive_libc3_sha512init(archive_sha512_ctx *ctx) | { | SHA512Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc3_sha512update(archive_sha512_ctx *ctx, const void *indata, | size_t insize) | { | SHA512Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc3_sha512final(archive_sha512_ctx *ctx, void *md) | { | SHA512Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA512_LIBMD) | | static int | __archive_libmd_sha512init(archive_sha512_ctx *ctx) | { | SHA512_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_sha512update(archive_sha512_ctx *ctx, const void *indata, | size_t insize) | { | SHA512_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_sha512final(archive_sha512_ctx *ctx, void *md) | { | SHA512_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA512_LIBSYSTEM) | | static int | __archive_libsystem_sha512init(archive_sha512_ctx *ctx) | { | CC_SHA512_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_sha512update(archive_sha512_ctx *ctx, const void *indata, | size_t insize) | { | CC_SHA512_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_sha512final(archive_sha512_ctx *ctx, void *md) | { | CC_SHA512_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA512_NETTLE) | | static int | __archive_nettle_sha512init(archive_sha512_ctx *ctx) | { | sha512_init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_sha512update(archive_sha512_ctx *ctx, const void *indata, | size_t insize) | { | sha512_update(ctx, insize, indata); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_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_openssl_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_openssl_sha512update(archive_sha512_ctx *ctx, const void *indata, | size_t insize) | { | EVP_DigestUpdate(*ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_openssl_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_windowsapi_sha512init(archive_sha512_ctx *ctx) | { | return (win_crypto_init(ctx, CALG_SHA_512)); | } | | static int | __archive_windowsapi_sha512update(archive_sha512_ctx *ctx, const void *indata, | size_t insize) | { | return (win_crypto_Update(ctx, indata, insize)); | } | | static int | __archive_windowsapi_sha512final(archive_sha512_ctx *ctx, void *md) | { | return (win_crypto_Final(md, 64, ctx)); | } | | #else | | static int | __archive_stub_sha512init(archive_sha512_ctx *ctx) | { | (void)ctx; /* UNUSED */ | return (ARCHIVE_FAILED); | } | | static int | __archive_stub_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_stub_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 */ | #if defined(ARCHIVE_CRYPTO_MD5_LIBC) | &__archive_libc_md5init, | &__archive_libc_md5update, | &__archive_libc_md5final, | #elif defined(ARCHIVE_CRYPTO_MD5_LIBMD) | &__archive_libmd_md5init, | &__archive_libmd_md5update, | &__archive_libmd_md5final, | #elif defined(ARCHIVE_CRYPTO_MD5_LIBSYSTEM) | &__archive_libsystem_md5init, | &__archive_libsystem_md5update, | &__archive_libsystem_md5final, | #elif defined(ARCHIVE_CRYPTO_MD5_NETTLE) | &__archive_nettle_md5init, | &__archive_nettle_md5update, | &__archive_nettle_md5final, | #elif defined(ARCHIVE_CRYPTO_MD5_OPENSSL) | &__archive_openssl_md5init, | &__archive_openssl_md5update, | &__archive_openssl_md5final, | #elif defined(ARCHIVE_CRYPTO_MD5_WIN) | &__archive_windowsapi_md5init, | &__archive_windowsapi_md5update, | &__archive_windowsapi_md5final, | #elif !defined(ARCHIVE_MD5_COMPILE_TEST) | &__archive_stub_md5init, | &__archive_stub_md5update, | &__archive_stub_md5final, | #endif | | /* RIPEMD160 */ | #if defined(ARCHIVE_CRYPTO_RMD160_LIBC) | &__archive_libc_ripemd160init, | &__archive_libc_ripemd160update, | &__archive_libc_ripemd160final, | #elif defined(ARCHIVE_CRYPTO_RMD160_LIBMD) | &__archive_libmd_ripemd160init, | &__archive_libmd_ripemd160update, | &__archive_libmd_ripemd160final, | #elif defined(ARCHIVE_CRYPTO_RMD160_NETTLE) | &__archive_nettle_ripemd160init, | &__archive_nettle_ripemd160update, | &__archive_nettle_ripemd160final, | #elif defined(ARCHIVE_CRYPTO_RMD160_OPENSSL) | &__archive_openssl_ripemd160init, | &__archive_openssl_ripemd160update, | &__archive_openssl_ripemd160final, | #elif !defined(ARCHIVE_RMD160_COMPILE_TEST) | &__archive_stub_ripemd160init, | &__archive_stub_ripemd160update, | &__archive_stub_ripemd160final, | #endif | | /* SHA1 */ | #if defined(ARCHIVE_CRYPTO_SHA1_LIBC) | &__archive_libc_sha1init, | &__archive_libc_sha1update, | &__archive_libc_sha1final, | #elif defined(ARCHIVE_CRYPTO_SHA1_LIBMD) | &__archive_libmd_sha1init, | &__archive_libmd_sha1update, | &__archive_libmd_sha1final, | #elif defined(ARCHIVE_CRYPTO_SHA1_LIBSYSTEM) | &__archive_libsystem_sha1init, | &__archive_libsystem_sha1update, | &__archive_libsystem_sha1final, | #elif defined(ARCHIVE_CRYPTO_SHA1_NETTLE) | &__archive_nettle_sha1init, | &__archive_nettle_sha1update, | &__archive_nettle_sha1final, | #elif defined(ARCHIVE_CRYPTO_SHA1_OPENSSL) | &__archive_openssl_sha1init, | &__archive_openssl_sha1update, | &__archive_openssl_sha1final, | #elif defined(ARCHIVE_CRYPTO_SHA1_WIN) | &__archive_windowsapi_sha1init, | &__archive_windowsapi_sha1update, | &__archive_windowsapi_sha1final, | #elif !defined(ARCHIVE_SHA1_COMPILE_TEST) | &__archive_stub_sha1init, | &__archive_stub_sha1update, | &__archive_stub_sha1final, | #endif | | /* SHA256 */ | #if defined(ARCHIVE_CRYPTO_SHA256_LIBC) | &__archive_libc_sha256init, | &__archive_libc_sha256update, | &__archive_libc_sha256final, | #elif defined(ARCHIVE_CRYPTO_SHA256_LIBC2) | &__archive_libc2_sha256init, | &__archive_libc2_sha256update, | &__archive_libc2_sha256final, | #elif defined(ARCHIVE_CRYPTO_SHA256_LIBC3) | &__archive_libc3_sha256init, | &__archive_libc3_sha256update, | &__archive_libc3_sha256final, | #elif defined(ARCHIVE_CRYPTO_SHA256_LIBMD) | &__archive_libmd_sha256init, | &__archive_libmd_sha256update, | &__archive_libmd_sha256final, | #elif defined(ARCHIVE_CRYPTO_SHA256_LIBSYSTEM) | &__archive_libsystem_sha256init, | &__archive_libsystem_sha256update, | &__archive_libsystem_sha256final, | #elif defined(ARCHIVE_CRYPTO_SHA256_NETTLE) | &__archive_nettle_sha256init, | &__archive_nettle_sha256update, | &__archive_nettle_sha256final, | #elif defined(ARCHIVE_CRYPTO_SHA256_OPENSSL) | &__archive_openssl_sha256init, | &__archive_openssl_sha256update, | &__archive_openssl_sha256final, | #elif defined(ARCHIVE_CRYPTO_SHA256_WIN) | &__archive_windowsapi_sha256init, | &__archive_windowsapi_sha256update, | &__archive_windowsapi_sha256final, | #elif !defined(ARCHIVE_SHA256_COMPILE_TEST) | &__archive_stub_sha256init, | &__archive_stub_sha256update, | &__archive_stub_sha256final, | #endif | | /* SHA384 */ | #if defined(ARCHIVE_CRYPTO_SHA384_LIBC) | &__archive_libc_sha384init, | &__archive_libc_sha384update, | &__archive_libc_sha384final, | #elif defined(ARCHIVE_CRYPTO_SHA384_LIBC2) | &__archive_libc2_sha384init, | &__archive_libc2_sha384update, | &__archive_libc2_sha384final, | #elif defined(ARCHIVE_CRYPTO_SHA384_LIBC3) | &__archive_libc3_sha384init, | &__archive_libc3_sha384update, | &__archive_libc3_sha384final, | #elif defined(ARCHIVE_CRYPTO_SHA384_LIBSYSTEM) | &__archive_libsystem_sha384init, | &__archive_libsystem_sha384update, | &__archive_libsystem_sha384final, | #elif defined(ARCHIVE_CRYPTO_SHA384_NETTLE) | &__archive_nettle_sha384init, | &__archive_nettle_sha384update, | &__archive_nettle_sha384final, | #elif defined(ARCHIVE_CRYPTO_SHA384_OPENSSL) | &__archive_openssl_sha384init, | &__archive_openssl_sha384update, | &__archive_openssl_sha384final, | #elif defined(ARCHIVE_CRYPTO_SHA384_WIN) | &__archive_windowsapi_sha384init, | &__archive_windowsapi_sha384update, | &__archive_windowsapi_sha384final, | #elif !defined(ARCHIVE_SHA384_COMPILE_TEST) | &__archive_stub_sha384init, | &__archive_stub_sha384update, | &__archive_stub_sha384final, | #endif | | /* SHA512 */ | #if defined(ARCHIVE_CRYPTO_SHA512_LIBC) | &__archive_libc_sha512init, | &__archive_libc_sha512update, | &__archive_libc_sha512final | #elif defined(ARCHIVE_CRYPTO_SHA512_LIBC2) | &__archive_libc2_sha512init, | &__archive_libc2_sha512update, | &__archive_libc2_sha512final | #elif defined(ARCHIVE_CRYPTO_SHA512_LIBC3) | &__archive_libc3_sha512init, | &__archive_libc3_sha512update, | &__archive_libc3_sha512final | #elif defined(ARCHIVE_CRYPTO_SHA512_LIBMD) | &__archive_libmd_sha512init, | &__archive_libmd_sha512update, | &__archive_libmd_sha512final | #elif defined(ARCHIVE_CRYPTO_SHA512_LIBSYSTEM) | &__archive_libsystem_sha512init, | &__archive_libsystem_sha512update, | &__archive_libsystem_sha512final | #elif defined(ARCHIVE_CRYPTO_SHA512_NETTLE) | &__archive_nettle_sha512init, | &__archive_nettle_sha512update, | &__archive_nettle_sha512final | #elif defined(ARCHIVE_CRYPTO_SHA512_OPENSSL) | &__archive_openssl_sha512init, | &__archive_openssl_sha512update, | &__archive_openssl_sha512final | #elif defined(ARCHIVE_CRYPTO_SHA512_WIN) | &__archive_windowsapi_sha512init, | &__archive_windowsapi_sha512update, | &__archive_windowsapi_sha512final | #elif !defined(ARCHIVE_SHA512_COMPILE_TEST) | &__archive_stub_sha512init, | &__archive_stub_sha512update, | &__archive_stub_sha512final | #endif | }; | | 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; | } | configure:20986: result: no configure:21000: checking support for ARCHIVE_CRYPTO_SHA1_LIBMD configure:21022: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -o conftest -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -I. -I. -I./libarchive -Wl,-elf2flt -static conftest.c -llzma >&5 In file included from conftest.c:219:0: ./libarchive/archive_digest_private.h:97:10: fatal error: sha.h: No such file or directory #include ^~~~~~~ compilation terminated. configure:21022: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "libarchive" | #define PACKAGE_TARNAME "libarchive" | #define PACKAGE_VERSION "3.4.0" | #define PACKAGE_STRING "libarchive 3.4.0" | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com" | #define PACKAGE_URL "" | #define PACKAGE "libarchive" | #define VERSION "3.4.0" | #define LIBARCHIVE_VERSION_STRING "3.4.0" | #define LIBARCHIVE_VERSION_NUMBER "3004000" | #define BSDCPIO_VERSION_STRING "3.4.0" | #define BSDTAR_VERSION_STRING "3.4.0" | #define BSDCAT_VERSION_STRING "3.4.0" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define __EXTENSIONS__ 1 | #define _ALL_SOURCE 1 | #define _GNU_SOURCE 1 | #define _POSIX_PTHREAD_SEMANTICS 1 | #define _TANDEM_SOURCE 1 | #define LT_OBJDIR ".libs/" | #define HAVE_DIRENT_H 1 | #define HAVE_SYS_WAIT_H 1 | #define HAVE_CTYPE_H 1 | #define HAVE_ERRNO_H 1 | #define HAVE_FCNTL_H 1 | #define HAVE_GRP_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_LANGINFO_H 1 | #define HAVE_LIMITS_H 1 | #define HAVE_LINUX_FIEMAP_H 1 | #define HAVE_LINUX_FS_H 1 | #define HAVE_LINUX_MAGIC_H 1 | #define HAVE_LINUX_TYPES_H 1 | #define HAVE_WORKING_FS_IOC_GETFLAGS 1 | #define HAVE_LOCALE_H 1 | #define HAVE_PATHS_H 1 | #define HAVE_POLL_H 1 | #define HAVE_PTHREAD_H 1 | #define HAVE_PWD_H 1 | #define HAVE_SIGNAL_H 1 | #define HAVE_SPAWN_H 1 | #define HAVE_STDARG_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_SYS_CDEFS_H 1 | #define HAVE_SYS_IOCTL_H 1 | #define HAVE_SYS_MOUNT_H 1 | #define HAVE_SYS_PARAM_H 1 | #define HAVE_SYS_POLL_H 1 | #define HAVE_SYS_SELECT_H 1 | #define HAVE_SYS_STATFS_H 1 | #define HAVE_SYS_STATVFS_H 1 | #define HAVE_SYS_SYSMACROS_H 1 | #define HAVE_SYS_TIME_H 1 | #define HAVE_SYS_UTSNAME_H 1 | #define HAVE_SYS_VFS_H 1 | #define HAVE_SYS_XATTR_H 1 | #define HAVE_TIME_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_UTIME_H 1 | #define HAVE_WCHAR_H 1 | #define HAVE_WCTYPE_H 1 | #define HAVE_ICONV 1 | #define ICONV_CONST | #define HAVE_ICONV_H 1 | #define HAVE_LZMA_H 1 | #define HAVE_LIBLZMA 1 | #define HAVE_LZMA_STREAM_ENCODER_MT 1 | #define HAVE_REGEX_H 1 | #define HAVE_STRUCT_TM_TM_GMTOFF 1 | #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1 | #define HAVE_STRUCT_STAT_ST_BLKSIZE 1 | #define HAVE_UINTMAX_T 1 | #define HAVE_UNSIGNED_LONG_LONG 1 | #define HAVE_UNSIGNED_LONG_LONG_INT 1 | #define HAVE_LONG_LONG_INT 1 | #define HAVE_INTMAX_T 1 | #define HAVE_UINTMAX_T 1 | #define HAVE_DECL_SIZE_MAX 1 | #define HAVE_DECL_INT32_MAX 1 | #define HAVE_DECL_INT32_MIN 1 | #define HAVE_DECL_INT64_MAX 1 | #define HAVE_DECL_INT64_MIN 1 | #define HAVE_DECL_UINT64_MAX 1 | #define HAVE_DECL_UINT32_MAX 1 | #define HAVE_DECL_INTMAX_MAX 1 | #define HAVE_DECL_INTMAX_MIN 1 | #define HAVE_DECL_UINTMAX_MAX 1 | #define HAVE_DECL_SSIZE_MAX 1 | #define HAVE_EILSEQ 1 | #define HAVE_WCHAR_T 1 | #define SIZEOF_WCHAR_T 4 | #define TIME_WITH_SYS_TIME 1 | #define HAVE_FSEEKO 1 | #define HAVE_LSTAT_EMPTY_STRING_BUG 1 | #define HAVE_STAT_EMPTY_STRING_BUG 1 | #define HAVE_DECL_STRERROR_R 1 | #define HAVE_STRERROR_R 1 | #define STRERROR_R_CHAR_P 1 | #define HAVE_STRFTIME 1 | #define HAVE_VPRINTF 1 | #define HAVE_CHOWN 1 | #define HAVE_CHROOT 1 | #define HAVE_CTIME_R 1 | #define HAVE_FCHDIR 1 | #define HAVE_FCHMOD 1 | #define HAVE_FCHOWN 1 | #define HAVE_FCNTL 1 | #define HAVE_FDOPENDIR 1 | #define HAVE_FSTAT 1 | #define HAVE_FSTATAT 1 | #define HAVE_FSTATFS 1 | #define HAVE_FSTATVFS 1 | #define HAVE_FTRUNCATE 1 | #define HAVE_FUTIMENS 1 | #define HAVE_FUTIMESAT 1 | #define HAVE_GETEUID 1 | #define HAVE_GETPID 1 | #define HAVE_GETGRGID_R 1 | #define HAVE_GETGRNAM_R 1 | #define HAVE_GETPWNAM_R 1 | #define HAVE_GETPWUID_R 1 | #define HAVE_GMTIME_R 1 | #define HAVE_LCHOWN 1 | #define HAVE_LINK 1 | #define HAVE_LOCALTIME_R 1 | #define HAVE_LSTAT 1 | #define HAVE_LUTIMES 1 | #define HAVE_MBRTOWC 1 | #define HAVE_MEMMOVE 1 | #define HAVE_MEMSET 1 | #define HAVE_MKDIR 1 | #define HAVE_MKFIFO 1 | #define HAVE_MKNOD 1 | #define HAVE_MKSTEMP 1 | #define HAVE_NL_LANGINFO 1 | #define HAVE_OPENAT 1 | #define HAVE_PIPE 1 | #define HAVE_POLL 1 | #define HAVE_POSIX_SPAWNP 1 | #define HAVE_READLINK 1 | #define HAVE_READLINKAT 1 | #define HAVE_SELECT 1 | #define HAVE_SETENV 1 | #define HAVE_SETLOCALE 1 | #define HAVE_SIGACTION 1 | #define HAVE_STATFS 1 | #define HAVE_STATVFS 1 | #define HAVE_STRCHR 1 | #define HAVE_STRDUP 1 | #define HAVE_STRERROR 1 | #define HAVE_STRRCHR 1 | #define HAVE_SYMLINK 1 | #define HAVE_TIMEGM 1 | #define HAVE_TZSET 1 | #define HAVE_UNLINKAT 1 | #define HAVE_UNSETENV 1 | #define HAVE_UTIME 1 | #define HAVE_UTIMENSAT 1 | #define HAVE_UTIMES 1 | #define HAVE_VFORK 1 | #define HAVE_WCRTOMB 1 | #define HAVE_WCSCMP 1 | #define HAVE_WCSCPY 1 | #define HAVE_WCSLEN 1 | #define HAVE_WCTOMB 1 | #define HAVE_WMEMCMP 1 | #define HAVE_WMEMCPY 1 | #define HAVE_WMEMMOVE 1 | #define HAVE_READDIR_R 1 | #define HAVE_DIRFD 1 | /* end confdefs.h. */ | | #define ARCHIVE_SHA1_COMPILE_TEST | #define ARCHIVE_CRYPTO_SHA1_LIBMD | #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_libc_md5init(archive_md5_ctx *ctx) | { | MD5Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc_md5update(archive_md5_ctx *ctx, const void *indata, | size_t insize) | { | MD5Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc_md5final(archive_md5_ctx *ctx, void *md) | { | MD5Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_MD5_LIBMD) | | static int | __archive_libmd_md5init(archive_md5_ctx *ctx) | { | MD5Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_md5update(archive_md5_ctx *ctx, const void *indata, | size_t insize) | { | MD5Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_md5final(archive_md5_ctx *ctx, void *md) | { | MD5Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_MD5_LIBSYSTEM) | | static int | __archive_libsystem_md5init(archive_md5_ctx *ctx) | { | CC_MD5_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_md5update(archive_md5_ctx *ctx, const void *indata, | size_t insize) | { | CC_MD5_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_md5final(archive_md5_ctx *ctx, void *md) | { | CC_MD5_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_MD5_NETTLE) | | static int | __archive_nettle_md5init(archive_md5_ctx *ctx) | { | md5_init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_md5update(archive_md5_ctx *ctx, const void *indata, | size_t insize) | { | md5_update(ctx, insize, indata); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_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_openssl_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_openssl_md5update(archive_md5_ctx *ctx, const void *indata, | size_t insize) | { | EVP_DigestUpdate(*ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_openssl_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_windowsapi_md5init(archive_md5_ctx *ctx) | { | return (win_crypto_init(ctx, CALG_MD5)); | } | | static int | __archive_windowsapi_md5update(archive_md5_ctx *ctx, const void *indata, | size_t insize) | { | return (win_crypto_Update(ctx, indata, insize)); | } | | static int | __archive_windowsapi_md5final(archive_md5_ctx *ctx, void *md) | { | return (win_crypto_Final(md, 16, ctx)); | } | | #else | | static int | __archive_stub_md5init(archive_md5_ctx *ctx) | { | (void)ctx; /* UNUSED */ | return (ARCHIVE_FAILED); | } | | static int | __archive_stub_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_stub_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_libc_ripemd160init(archive_rmd160_ctx *ctx) | { | RMD160Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, | size_t insize) | { | RMD160Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc_ripemd160final(archive_rmd160_ctx *ctx, void *md) | { | RMD160Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_RMD160_LIBMD) | | static int | __archive_libmd_ripemd160init(archive_rmd160_ctx *ctx) | { | RIPEMD160_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, | size_t insize) | { | RIPEMD160_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_ripemd160final(archive_rmd160_ctx *ctx, void *md) | { | RIPEMD160_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_RMD160_NETTLE) | | static int | __archive_nettle_ripemd160init(archive_rmd160_ctx *ctx) | { | ripemd160_init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, | size_t insize) | { | ripemd160_update(ctx, insize, indata); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_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_openssl_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_openssl_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, | size_t insize) | { | EVP_DigestUpdate(*ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_openssl_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_stub_ripemd160init(archive_rmd160_ctx *ctx) | { | (void)ctx; /* UNUSED */ | return (ARCHIVE_FAILED); | } | | static int | __archive_stub_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_stub_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_libc_sha1init(archive_sha1_ctx *ctx) | { | SHA1Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc_sha1update(archive_sha1_ctx *ctx, const void *indata, | size_t insize) | { | SHA1Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc_sha1final(archive_sha1_ctx *ctx, void *md) | { | SHA1Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA1_LIBMD) | | static int | __archive_libmd_sha1init(archive_sha1_ctx *ctx) | { | SHA1_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_sha1update(archive_sha1_ctx *ctx, const void *indata, | size_t insize) | { | SHA1_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_sha1final(archive_sha1_ctx *ctx, void *md) | { | SHA1_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA1_LIBSYSTEM) | | static int | __archive_libsystem_sha1init(archive_sha1_ctx *ctx) | { | CC_SHA1_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_sha1update(archive_sha1_ctx *ctx, const void *indata, | size_t insize) | { | CC_SHA1_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_sha1final(archive_sha1_ctx *ctx, void *md) | { | CC_SHA1_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA1_NETTLE) | | static int | __archive_nettle_sha1init(archive_sha1_ctx *ctx) | { | sha1_init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_sha1update(archive_sha1_ctx *ctx, const void *indata, | size_t insize) | { | sha1_update(ctx, insize, indata); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_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_openssl_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_openssl_sha1update(archive_sha1_ctx *ctx, const void *indata, | size_t insize) | { | EVP_DigestUpdate(*ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_openssl_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_windowsapi_sha1init(archive_sha1_ctx *ctx) | { | return (win_crypto_init(ctx, CALG_SHA1)); | } | | static int | __archive_windowsapi_sha1update(archive_sha1_ctx *ctx, const void *indata, | size_t insize) | { | return (win_crypto_Update(ctx, indata, insize)); | } | | static int | __archive_windowsapi_sha1final(archive_sha1_ctx *ctx, void *md) | { | return (win_crypto_Final(md, 20, ctx)); | } | | #else | | static int | __archive_stub_sha1init(archive_sha1_ctx *ctx) | { | (void)ctx; /* UNUSED */ | return (ARCHIVE_FAILED); | } | | static int | __archive_stub_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_stub_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_libc_sha256init(archive_sha256_ctx *ctx) | { | SHA256_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc_sha256update(archive_sha256_ctx *ctx, const void *indata, | size_t insize) | { | SHA256_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc_sha256final(archive_sha256_ctx *ctx, void *md) | { | SHA256_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA256_LIBC2) | | static int | __archive_libc2_sha256init(archive_sha256_ctx *ctx) | { | SHA256Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc2_sha256update(archive_sha256_ctx *ctx, const void *indata, | size_t insize) | { | SHA256Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc2_sha256final(archive_sha256_ctx *ctx, void *md) | { | SHA256Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA256_LIBC3) | | static int | __archive_libc3_sha256init(archive_sha256_ctx *ctx) | { | SHA256Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc3_sha256update(archive_sha256_ctx *ctx, const void *indata, | size_t insize) | { | SHA256Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc3_sha256final(archive_sha256_ctx *ctx, void *md) | { | SHA256Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA256_LIBMD) | | static int | __archive_libmd_sha256init(archive_sha256_ctx *ctx) | { | SHA256_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_sha256update(archive_sha256_ctx *ctx, const void *indata, | size_t insize) | { | SHA256_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_sha256final(archive_sha256_ctx *ctx, void *md) | { | SHA256_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA256_LIBSYSTEM) | | static int | __archive_libsystem_sha256init(archive_sha256_ctx *ctx) | { | CC_SHA256_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_sha256update(archive_sha256_ctx *ctx, const void *indata, | size_t insize) | { | CC_SHA256_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_sha256final(archive_sha256_ctx *ctx, void *md) | { | CC_SHA256_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA256_NETTLE) | | static int | __archive_nettle_sha256init(archive_sha256_ctx *ctx) | { | sha256_init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_sha256update(archive_sha256_ctx *ctx, const void *indata, | size_t insize) | { | sha256_update(ctx, insize, indata); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_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_openssl_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_openssl_sha256update(archive_sha256_ctx *ctx, const void *indata, | size_t insize) | { | EVP_DigestUpdate(*ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_openssl_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_windowsapi_sha256init(archive_sha256_ctx *ctx) | { | return (win_crypto_init(ctx, CALG_SHA_256)); | } | | static int | __archive_windowsapi_sha256update(archive_sha256_ctx *ctx, const void *indata, | size_t insize) | { | return (win_crypto_Update(ctx, indata, insize)); | } | | static int | __archive_windowsapi_sha256final(archive_sha256_ctx *ctx, void *md) | { | return (win_crypto_Final(md, 32, ctx)); | } | | #else | | static int | __archive_stub_sha256init(archive_sha256_ctx *ctx) | { | (void)ctx; /* UNUSED */ | return (ARCHIVE_FAILED); | } | | static int | __archive_stub_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_stub_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_libc_sha384init(archive_sha384_ctx *ctx) | { | SHA384_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc_sha384update(archive_sha384_ctx *ctx, const void *indata, | size_t insize) | { | SHA384_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc_sha384final(archive_sha384_ctx *ctx, void *md) | { | SHA384_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA384_LIBC2) | | static int | __archive_libc2_sha384init(archive_sha384_ctx *ctx) | { | SHA384Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc2_sha384update(archive_sha384_ctx *ctx, const void *indata, | size_t insize) | { | SHA384Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc2_sha384final(archive_sha384_ctx *ctx, void *md) | { | SHA384Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA384_LIBC3) | | static int | __archive_libc3_sha384init(archive_sha384_ctx *ctx) | { | SHA384Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc3_sha384update(archive_sha384_ctx *ctx, const void *indata, | size_t insize) | { | SHA384Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc3_sha384final(archive_sha384_ctx *ctx, void *md) | { | SHA384Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA384_LIBSYSTEM) | | static int | __archive_libsystem_sha384init(archive_sha384_ctx *ctx) | { | CC_SHA384_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_sha384update(archive_sha384_ctx *ctx, const void *indata, | size_t insize) | { | CC_SHA384_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_sha384final(archive_sha384_ctx *ctx, void *md) | { | CC_SHA384_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA384_NETTLE) | | static int | __archive_nettle_sha384init(archive_sha384_ctx *ctx) | { | sha384_init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_sha384update(archive_sha384_ctx *ctx, const void *indata, | size_t insize) | { | sha384_update(ctx, insize, indata); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_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_openssl_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_openssl_sha384update(archive_sha384_ctx *ctx, const void *indata, | size_t insize) | { | EVP_DigestUpdate(*ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_openssl_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_windowsapi_sha384init(archive_sha384_ctx *ctx) | { | return (win_crypto_init(ctx, CALG_SHA_384)); | } | | static int | __archive_windowsapi_sha384update(archive_sha384_ctx *ctx, const void *indata, | size_t insize) | { | return (win_crypto_Update(ctx, indata, insize)); | } | | static int | __archive_windowsapi_sha384final(archive_sha384_ctx *ctx, void *md) | { | return (win_crypto_Final(md, 48, ctx)); | } | | #else | | static int | __archive_stub_sha384init(archive_sha384_ctx *ctx) | { | (void)ctx; /* UNUSED */ | return (ARCHIVE_FAILED); | } | | static int | __archive_stub_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_stub_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_libc_sha512init(archive_sha512_ctx *ctx) | { | SHA512_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc_sha512update(archive_sha512_ctx *ctx, const void *indata, | size_t insize) | { | SHA512_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc_sha512final(archive_sha512_ctx *ctx, void *md) | { | SHA512_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA512_LIBC2) | | static int | __archive_libc2_sha512init(archive_sha512_ctx *ctx) | { | SHA512Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc2_sha512update(archive_sha512_ctx *ctx, const void *indata, | size_t insize) | { | SHA512Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc2_sha512final(archive_sha512_ctx *ctx, void *md) | { | SHA512Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA512_LIBC3) | | static int | __archive_libc3_sha512init(archive_sha512_ctx *ctx) | { | SHA512Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc3_sha512update(archive_sha512_ctx *ctx, const void *indata, | size_t insize) | { | SHA512Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc3_sha512final(archive_sha512_ctx *ctx, void *md) | { | SHA512Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA512_LIBMD) | | static int | __archive_libmd_sha512init(archive_sha512_ctx *ctx) | { | SHA512_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_sha512update(archive_sha512_ctx *ctx, const void *indata, | size_t insize) | { | SHA512_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_sha512final(archive_sha512_ctx *ctx, void *md) | { | SHA512_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA512_LIBSYSTEM) | | static int | __archive_libsystem_sha512init(archive_sha512_ctx *ctx) | { | CC_SHA512_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_sha512update(archive_sha512_ctx *ctx, const void *indata, | size_t insize) | { | CC_SHA512_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_sha512final(archive_sha512_ctx *ctx, void *md) | { | CC_SHA512_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA512_NETTLE) | | static int | __archive_nettle_sha512init(archive_sha512_ctx *ctx) | { | sha512_init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_sha512update(archive_sha512_ctx *ctx, const void *indata, | size_t insize) | { | sha512_update(ctx, insize, indata); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_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_openssl_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_openssl_sha512update(archive_sha512_ctx *ctx, const void *indata, | size_t insize) | { | EVP_DigestUpdate(*ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_openssl_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_windowsapi_sha512init(archive_sha512_ctx *ctx) | { | return (win_crypto_init(ctx, CALG_SHA_512)); | } | | static int | __archive_windowsapi_sha512update(archive_sha512_ctx *ctx, const void *indata, | size_t insize) | { | return (win_crypto_Update(ctx, indata, insize)); | } | | static int | __archive_windowsapi_sha512final(archive_sha512_ctx *ctx, void *md) | { | return (win_crypto_Final(md, 64, ctx)); | } | | #else | | static int | __archive_stub_sha512init(archive_sha512_ctx *ctx) | { | (void)ctx; /* UNUSED */ | return (ARCHIVE_FAILED); | } | | static int | __archive_stub_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_stub_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 */ | #if defined(ARCHIVE_CRYPTO_MD5_LIBC) | &__archive_libc_md5init, | &__archive_libc_md5update, | &__archive_libc_md5final, | #elif defined(ARCHIVE_CRYPTO_MD5_LIBMD) | &__archive_libmd_md5init, | &__archive_libmd_md5update, | &__archive_libmd_md5final, | #elif defined(ARCHIVE_CRYPTO_MD5_LIBSYSTEM) | &__archive_libsystem_md5init, | &__archive_libsystem_md5update, | &__archive_libsystem_md5final, | #elif defined(ARCHIVE_CRYPTO_MD5_NETTLE) | &__archive_nettle_md5init, | &__archive_nettle_md5update, | &__archive_nettle_md5final, | #elif defined(ARCHIVE_CRYPTO_MD5_OPENSSL) | &__archive_openssl_md5init, | &__archive_openssl_md5update, | &__archive_openssl_md5final, | #elif defined(ARCHIVE_CRYPTO_MD5_WIN) | &__archive_windowsapi_md5init, | &__archive_windowsapi_md5update, | &__archive_windowsapi_md5final, | #elif !defined(ARCHIVE_MD5_COMPILE_TEST) | &__archive_stub_md5init, | &__archive_stub_md5update, | &__archive_stub_md5final, | #endif | | /* RIPEMD160 */ | #if defined(ARCHIVE_CRYPTO_RMD160_LIBC) | &__archive_libc_ripemd160init, | &__archive_libc_ripemd160update, | &__archive_libc_ripemd160final, | #elif defined(ARCHIVE_CRYPTO_RMD160_LIBMD) | &__archive_libmd_ripemd160init, | &__archive_libmd_ripemd160update, | &__archive_libmd_ripemd160final, | #elif defined(ARCHIVE_CRYPTO_RMD160_NETTLE) | &__archive_nettle_ripemd160init, | &__archive_nettle_ripemd160update, | &__archive_nettle_ripemd160final, | #elif defined(ARCHIVE_CRYPTO_RMD160_OPENSSL) | &__archive_openssl_ripemd160init, | &__archive_openssl_ripemd160update, | &__archive_openssl_ripemd160final, | #elif !defined(ARCHIVE_RMD160_COMPILE_TEST) | &__archive_stub_ripemd160init, | &__archive_stub_ripemd160update, | &__archive_stub_ripemd160final, | #endif | | /* SHA1 */ | #if defined(ARCHIVE_CRYPTO_SHA1_LIBC) | &__archive_libc_sha1init, | &__archive_libc_sha1update, | &__archive_libc_sha1final, | #elif defined(ARCHIVE_CRYPTO_SHA1_LIBMD) | &__archive_libmd_sha1init, | &__archive_libmd_sha1update, | &__archive_libmd_sha1final, | #elif defined(ARCHIVE_CRYPTO_SHA1_LIBSYSTEM) | &__archive_libsystem_sha1init, | &__archive_libsystem_sha1update, | &__archive_libsystem_sha1final, | #elif defined(ARCHIVE_CRYPTO_SHA1_NETTLE) | &__archive_nettle_sha1init, | &__archive_nettle_sha1update, | &__archive_nettle_sha1final, | #elif defined(ARCHIVE_CRYPTO_SHA1_OPENSSL) | &__archive_openssl_sha1init, | &__archive_openssl_sha1update, | &__archive_openssl_sha1final, | #elif defined(ARCHIVE_CRYPTO_SHA1_WIN) | &__archive_windowsapi_sha1init, | &__archive_windowsapi_sha1update, | &__archive_windowsapi_sha1final, | #elif !defined(ARCHIVE_SHA1_COMPILE_TEST) | &__archive_stub_sha1init, | &__archive_stub_sha1update, | &__archive_stub_sha1final, | #endif | | /* SHA256 */ | #if defined(ARCHIVE_CRYPTO_SHA256_LIBC) | &__archive_libc_sha256init, | &__archive_libc_sha256update, | &__archive_libc_sha256final, | #elif defined(ARCHIVE_CRYPTO_SHA256_LIBC2) | &__archive_libc2_sha256init, | &__archive_libc2_sha256update, | &__archive_libc2_sha256final, | #elif defined(ARCHIVE_CRYPTO_SHA256_LIBC3) | &__archive_libc3_sha256init, | &__archive_libc3_sha256update, | &__archive_libc3_sha256final, | #elif defined(ARCHIVE_CRYPTO_SHA256_LIBMD) | &__archive_libmd_sha256init, | &__archive_libmd_sha256update, | &__archive_libmd_sha256final, | #elif defined(ARCHIVE_CRYPTO_SHA256_LIBSYSTEM) | &__archive_libsystem_sha256init, | &__archive_libsystem_sha256update, | &__archive_libsystem_sha256final, | #elif defined(ARCHIVE_CRYPTO_SHA256_NETTLE) | &__archive_nettle_sha256init, | &__archive_nettle_sha256update, | &__archive_nettle_sha256final, | #elif defined(ARCHIVE_CRYPTO_SHA256_OPENSSL) | &__archive_openssl_sha256init, | &__archive_openssl_sha256update, | &__archive_openssl_sha256final, | #elif defined(ARCHIVE_CRYPTO_SHA256_WIN) | &__archive_windowsapi_sha256init, | &__archive_windowsapi_sha256update, | &__archive_windowsapi_sha256final, | #elif !defined(ARCHIVE_SHA256_COMPILE_TEST) | &__archive_stub_sha256init, | &__archive_stub_sha256update, | &__archive_stub_sha256final, | #endif | | /* SHA384 */ | #if defined(ARCHIVE_CRYPTO_SHA384_LIBC) | &__archive_libc_sha384init, | &__archive_libc_sha384update, | &__archive_libc_sha384final, | #elif defined(ARCHIVE_CRYPTO_SHA384_LIBC2) | &__archive_libc2_sha384init, | &__archive_libc2_sha384update, | &__archive_libc2_sha384final, | #elif defined(ARCHIVE_CRYPTO_SHA384_LIBC3) | &__archive_libc3_sha384init, | &__archive_libc3_sha384update, | &__archive_libc3_sha384final, | #elif defined(ARCHIVE_CRYPTO_SHA384_LIBSYSTEM) | &__archive_libsystem_sha384init, | &__archive_libsystem_sha384update, | &__archive_libsystem_sha384final, | #elif defined(ARCHIVE_CRYPTO_SHA384_NETTLE) | &__archive_nettle_sha384init, | &__archive_nettle_sha384update, | &__archive_nettle_sha384final, | #elif defined(ARCHIVE_CRYPTO_SHA384_OPENSSL) | &__archive_openssl_sha384init, | &__archive_openssl_sha384update, | &__archive_openssl_sha384final, | #elif defined(ARCHIVE_CRYPTO_SHA384_WIN) | &__archive_windowsapi_sha384init, | &__archive_windowsapi_sha384update, | &__archive_windowsapi_sha384final, | #elif !defined(ARCHIVE_SHA384_COMPILE_TEST) | &__archive_stub_sha384init, | &__archive_stub_sha384update, | &__archive_stub_sha384final, | #endif | | /* SHA512 */ | #if defined(ARCHIVE_CRYPTO_SHA512_LIBC) | &__archive_libc_sha512init, | &__archive_libc_sha512update, | &__archive_libc_sha512final | #elif defined(ARCHIVE_CRYPTO_SHA512_LIBC2) | &__archive_libc2_sha512init, | &__archive_libc2_sha512update, | &__archive_libc2_sha512final | #elif defined(ARCHIVE_CRYPTO_SHA512_LIBC3) | &__archive_libc3_sha512init, | &__archive_libc3_sha512update, | &__archive_libc3_sha512final | #elif defined(ARCHIVE_CRYPTO_SHA512_LIBMD) | &__archive_libmd_sha512init, | &__archive_libmd_sha512update, | &__archive_libmd_sha512final | #elif defined(ARCHIVE_CRYPTO_SHA512_LIBSYSTEM) | &__archive_libsystem_sha512init, | &__archive_libsystem_sha512update, | &__archive_libsystem_sha512final | #elif defined(ARCHIVE_CRYPTO_SHA512_NETTLE) | &__archive_nettle_sha512init, | &__archive_nettle_sha512update, | &__archive_nettle_sha512final | #elif defined(ARCHIVE_CRYPTO_SHA512_OPENSSL) | &__archive_openssl_sha512init, | &__archive_openssl_sha512update, | &__archive_openssl_sha512final | #elif defined(ARCHIVE_CRYPTO_SHA512_WIN) | &__archive_windowsapi_sha512init, | &__archive_windowsapi_sha512update, | &__archive_windowsapi_sha512final | #elif !defined(ARCHIVE_SHA512_COMPILE_TEST) | &__archive_stub_sha512init, | &__archive_stub_sha512update, | &__archive_stub_sha512final | #endif | }; | | 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; | } | configure:21032: result: no configure:21046: checking support for ARCHIVE_CRYPTO_SHA256_LIBMD configure:21068: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -o conftest -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -I. -I. -I./libarchive -Wl,-elf2flt -static conftest.c -llzma >&5 In file included from conftest.c:219:0: ./libarchive/archive_digest_private.h:100:10: fatal error: sha256.h: No such file or directory #include ^~~~~~~~~~ compilation terminated. configure:21068: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "libarchive" | #define PACKAGE_TARNAME "libarchive" | #define PACKAGE_VERSION "3.4.0" | #define PACKAGE_STRING "libarchive 3.4.0" | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com" | #define PACKAGE_URL "" | #define PACKAGE "libarchive" | #define VERSION "3.4.0" | #define LIBARCHIVE_VERSION_STRING "3.4.0" | #define LIBARCHIVE_VERSION_NUMBER "3004000" | #define BSDCPIO_VERSION_STRING "3.4.0" | #define BSDTAR_VERSION_STRING "3.4.0" | #define BSDCAT_VERSION_STRING "3.4.0" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define __EXTENSIONS__ 1 | #define _ALL_SOURCE 1 | #define _GNU_SOURCE 1 | #define _POSIX_PTHREAD_SEMANTICS 1 | #define _TANDEM_SOURCE 1 | #define LT_OBJDIR ".libs/" | #define HAVE_DIRENT_H 1 | #define HAVE_SYS_WAIT_H 1 | #define HAVE_CTYPE_H 1 | #define HAVE_ERRNO_H 1 | #define HAVE_FCNTL_H 1 | #define HAVE_GRP_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_LANGINFO_H 1 | #define HAVE_LIMITS_H 1 | #define HAVE_LINUX_FIEMAP_H 1 | #define HAVE_LINUX_FS_H 1 | #define HAVE_LINUX_MAGIC_H 1 | #define HAVE_LINUX_TYPES_H 1 | #define HAVE_WORKING_FS_IOC_GETFLAGS 1 | #define HAVE_LOCALE_H 1 | #define HAVE_PATHS_H 1 | #define HAVE_POLL_H 1 | #define HAVE_PTHREAD_H 1 | #define HAVE_PWD_H 1 | #define HAVE_SIGNAL_H 1 | #define HAVE_SPAWN_H 1 | #define HAVE_STDARG_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_SYS_CDEFS_H 1 | #define HAVE_SYS_IOCTL_H 1 | #define HAVE_SYS_MOUNT_H 1 | #define HAVE_SYS_PARAM_H 1 | #define HAVE_SYS_POLL_H 1 | #define HAVE_SYS_SELECT_H 1 | #define HAVE_SYS_STATFS_H 1 | #define HAVE_SYS_STATVFS_H 1 | #define HAVE_SYS_SYSMACROS_H 1 | #define HAVE_SYS_TIME_H 1 | #define HAVE_SYS_UTSNAME_H 1 | #define HAVE_SYS_VFS_H 1 | #define HAVE_SYS_XATTR_H 1 | #define HAVE_TIME_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_UTIME_H 1 | #define HAVE_WCHAR_H 1 | #define HAVE_WCTYPE_H 1 | #define HAVE_ICONV 1 | #define ICONV_CONST | #define HAVE_ICONV_H 1 | #define HAVE_LZMA_H 1 | #define HAVE_LIBLZMA 1 | #define HAVE_LZMA_STREAM_ENCODER_MT 1 | #define HAVE_REGEX_H 1 | #define HAVE_STRUCT_TM_TM_GMTOFF 1 | #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1 | #define HAVE_STRUCT_STAT_ST_BLKSIZE 1 | #define HAVE_UINTMAX_T 1 | #define HAVE_UNSIGNED_LONG_LONG 1 | #define HAVE_UNSIGNED_LONG_LONG_INT 1 | #define HAVE_LONG_LONG_INT 1 | #define HAVE_INTMAX_T 1 | #define HAVE_UINTMAX_T 1 | #define HAVE_DECL_SIZE_MAX 1 | #define HAVE_DECL_INT32_MAX 1 | #define HAVE_DECL_INT32_MIN 1 | #define HAVE_DECL_INT64_MAX 1 | #define HAVE_DECL_INT64_MIN 1 | #define HAVE_DECL_UINT64_MAX 1 | #define HAVE_DECL_UINT32_MAX 1 | #define HAVE_DECL_INTMAX_MAX 1 | #define HAVE_DECL_INTMAX_MIN 1 | #define HAVE_DECL_UINTMAX_MAX 1 | #define HAVE_DECL_SSIZE_MAX 1 | #define HAVE_EILSEQ 1 | #define HAVE_WCHAR_T 1 | #define SIZEOF_WCHAR_T 4 | #define TIME_WITH_SYS_TIME 1 | #define HAVE_FSEEKO 1 | #define HAVE_LSTAT_EMPTY_STRING_BUG 1 | #define HAVE_STAT_EMPTY_STRING_BUG 1 | #define HAVE_DECL_STRERROR_R 1 | #define HAVE_STRERROR_R 1 | #define STRERROR_R_CHAR_P 1 | #define HAVE_STRFTIME 1 | #define HAVE_VPRINTF 1 | #define HAVE_CHOWN 1 | #define HAVE_CHROOT 1 | #define HAVE_CTIME_R 1 | #define HAVE_FCHDIR 1 | #define HAVE_FCHMOD 1 | #define HAVE_FCHOWN 1 | #define HAVE_FCNTL 1 | #define HAVE_FDOPENDIR 1 | #define HAVE_FSTAT 1 | #define HAVE_FSTATAT 1 | #define HAVE_FSTATFS 1 | #define HAVE_FSTATVFS 1 | #define HAVE_FTRUNCATE 1 | #define HAVE_FUTIMENS 1 | #define HAVE_FUTIMESAT 1 | #define HAVE_GETEUID 1 | #define HAVE_GETPID 1 | #define HAVE_GETGRGID_R 1 | #define HAVE_GETGRNAM_R 1 | #define HAVE_GETPWNAM_R 1 | #define HAVE_GETPWUID_R 1 | #define HAVE_GMTIME_R 1 | #define HAVE_LCHOWN 1 | #define HAVE_LINK 1 | #define HAVE_LOCALTIME_R 1 | #define HAVE_LSTAT 1 | #define HAVE_LUTIMES 1 | #define HAVE_MBRTOWC 1 | #define HAVE_MEMMOVE 1 | #define HAVE_MEMSET 1 | #define HAVE_MKDIR 1 | #define HAVE_MKFIFO 1 | #define HAVE_MKNOD 1 | #define HAVE_MKSTEMP 1 | #define HAVE_NL_LANGINFO 1 | #define HAVE_OPENAT 1 | #define HAVE_PIPE 1 | #define HAVE_POLL 1 | #define HAVE_POSIX_SPAWNP 1 | #define HAVE_READLINK 1 | #define HAVE_READLINKAT 1 | #define HAVE_SELECT 1 | #define HAVE_SETENV 1 | #define HAVE_SETLOCALE 1 | #define HAVE_SIGACTION 1 | #define HAVE_STATFS 1 | #define HAVE_STATVFS 1 | #define HAVE_STRCHR 1 | #define HAVE_STRDUP 1 | #define HAVE_STRERROR 1 | #define HAVE_STRRCHR 1 | #define HAVE_SYMLINK 1 | #define HAVE_TIMEGM 1 | #define HAVE_TZSET 1 | #define HAVE_UNLINKAT 1 | #define HAVE_UNSETENV 1 | #define HAVE_UTIME 1 | #define HAVE_UTIMENSAT 1 | #define HAVE_UTIMES 1 | #define HAVE_VFORK 1 | #define HAVE_WCRTOMB 1 | #define HAVE_WCSCMP 1 | #define HAVE_WCSCPY 1 | #define HAVE_WCSLEN 1 | #define HAVE_WCTOMB 1 | #define HAVE_WMEMCMP 1 | #define HAVE_WMEMCPY 1 | #define HAVE_WMEMMOVE 1 | #define HAVE_READDIR_R 1 | #define HAVE_DIRFD 1 | /* end confdefs.h. */ | | #define ARCHIVE_SHA256_COMPILE_TEST | #define ARCHIVE_CRYPTO_SHA256_LIBMD | #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_libc_md5init(archive_md5_ctx *ctx) | { | MD5Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc_md5update(archive_md5_ctx *ctx, const void *indata, | size_t insize) | { | MD5Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc_md5final(archive_md5_ctx *ctx, void *md) | { | MD5Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_MD5_LIBMD) | | static int | __archive_libmd_md5init(archive_md5_ctx *ctx) | { | MD5Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_md5update(archive_md5_ctx *ctx, const void *indata, | size_t insize) | { | MD5Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_md5final(archive_md5_ctx *ctx, void *md) | { | MD5Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_MD5_LIBSYSTEM) | | static int | __archive_libsystem_md5init(archive_md5_ctx *ctx) | { | CC_MD5_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_md5update(archive_md5_ctx *ctx, const void *indata, | size_t insize) | { | CC_MD5_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_md5final(archive_md5_ctx *ctx, void *md) | { | CC_MD5_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_MD5_NETTLE) | | static int | __archive_nettle_md5init(archive_md5_ctx *ctx) | { | md5_init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_md5update(archive_md5_ctx *ctx, const void *indata, | size_t insize) | { | md5_update(ctx, insize, indata); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_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_openssl_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_openssl_md5update(archive_md5_ctx *ctx, const void *indata, | size_t insize) | { | EVP_DigestUpdate(*ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_openssl_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_windowsapi_md5init(archive_md5_ctx *ctx) | { | return (win_crypto_init(ctx, CALG_MD5)); | } | | static int | __archive_windowsapi_md5update(archive_md5_ctx *ctx, const void *indata, | size_t insize) | { | return (win_crypto_Update(ctx, indata, insize)); | } | | static int | __archive_windowsapi_md5final(archive_md5_ctx *ctx, void *md) | { | return (win_crypto_Final(md, 16, ctx)); | } | | #else | | static int | __archive_stub_md5init(archive_md5_ctx *ctx) | { | (void)ctx; /* UNUSED */ | return (ARCHIVE_FAILED); | } | | static int | __archive_stub_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_stub_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_libc_ripemd160init(archive_rmd160_ctx *ctx) | { | RMD160Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, | size_t insize) | { | RMD160Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc_ripemd160final(archive_rmd160_ctx *ctx, void *md) | { | RMD160Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_RMD160_LIBMD) | | static int | __archive_libmd_ripemd160init(archive_rmd160_ctx *ctx) | { | RIPEMD160_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, | size_t insize) | { | RIPEMD160_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_ripemd160final(archive_rmd160_ctx *ctx, void *md) | { | RIPEMD160_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_RMD160_NETTLE) | | static int | __archive_nettle_ripemd160init(archive_rmd160_ctx *ctx) | { | ripemd160_init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, | size_t insize) | { | ripemd160_update(ctx, insize, indata); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_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_openssl_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_openssl_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, | size_t insize) | { | EVP_DigestUpdate(*ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_openssl_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_stub_ripemd160init(archive_rmd160_ctx *ctx) | { | (void)ctx; /* UNUSED */ | return (ARCHIVE_FAILED); | } | | static int | __archive_stub_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_stub_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_libc_sha1init(archive_sha1_ctx *ctx) | { | SHA1Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc_sha1update(archive_sha1_ctx *ctx, const void *indata, | size_t insize) | { | SHA1Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc_sha1final(archive_sha1_ctx *ctx, void *md) | { | SHA1Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA1_LIBMD) | | static int | __archive_libmd_sha1init(archive_sha1_ctx *ctx) | { | SHA1_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_sha1update(archive_sha1_ctx *ctx, const void *indata, | size_t insize) | { | SHA1_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_sha1final(archive_sha1_ctx *ctx, void *md) | { | SHA1_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA1_LIBSYSTEM) | | static int | __archive_libsystem_sha1init(archive_sha1_ctx *ctx) | { | CC_SHA1_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_sha1update(archive_sha1_ctx *ctx, const void *indata, | size_t insize) | { | CC_SHA1_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_sha1final(archive_sha1_ctx *ctx, void *md) | { | CC_SHA1_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA1_NETTLE) | | static int | __archive_nettle_sha1init(archive_sha1_ctx *ctx) | { | sha1_init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_sha1update(archive_sha1_ctx *ctx, const void *indata, | size_t insize) | { | sha1_update(ctx, insize, indata); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_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_openssl_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_openssl_sha1update(archive_sha1_ctx *ctx, const void *indata, | size_t insize) | { | EVP_DigestUpdate(*ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_openssl_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_windowsapi_sha1init(archive_sha1_ctx *ctx) | { | return (win_crypto_init(ctx, CALG_SHA1)); | } | | static int | __archive_windowsapi_sha1update(archive_sha1_ctx *ctx, const void *indata, | size_t insize) | { | return (win_crypto_Update(ctx, indata, insize)); | } | | static int | __archive_windowsapi_sha1final(archive_sha1_ctx *ctx, void *md) | { | return (win_crypto_Final(md, 20, ctx)); | } | | #else | | static int | __archive_stub_sha1init(archive_sha1_ctx *ctx) | { | (void)ctx; /* UNUSED */ | return (ARCHIVE_FAILED); | } | | static int | __archive_stub_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_stub_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_libc_sha256init(archive_sha256_ctx *ctx) | { | SHA256_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc_sha256update(archive_sha256_ctx *ctx, const void *indata, | size_t insize) | { | SHA256_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc_sha256final(archive_sha256_ctx *ctx, void *md) | { | SHA256_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA256_LIBC2) | | static int | __archive_libc2_sha256init(archive_sha256_ctx *ctx) | { | SHA256Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc2_sha256update(archive_sha256_ctx *ctx, const void *indata, | size_t insize) | { | SHA256Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc2_sha256final(archive_sha256_ctx *ctx, void *md) | { | SHA256Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA256_LIBC3) | | static int | __archive_libc3_sha256init(archive_sha256_ctx *ctx) | { | SHA256Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc3_sha256update(archive_sha256_ctx *ctx, const void *indata, | size_t insize) | { | SHA256Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc3_sha256final(archive_sha256_ctx *ctx, void *md) | { | SHA256Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA256_LIBMD) | | static int | __archive_libmd_sha256init(archive_sha256_ctx *ctx) | { | SHA256_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_sha256update(archive_sha256_ctx *ctx, const void *indata, | size_t insize) | { | SHA256_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_sha256final(archive_sha256_ctx *ctx, void *md) | { | SHA256_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA256_LIBSYSTEM) | | static int | __archive_libsystem_sha256init(archive_sha256_ctx *ctx) | { | CC_SHA256_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_sha256update(archive_sha256_ctx *ctx, const void *indata, | size_t insize) | { | CC_SHA256_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_sha256final(archive_sha256_ctx *ctx, void *md) | { | CC_SHA256_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA256_NETTLE) | | static int | __archive_nettle_sha256init(archive_sha256_ctx *ctx) | { | sha256_init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_sha256update(archive_sha256_ctx *ctx, const void *indata, | size_t insize) | { | sha256_update(ctx, insize, indata); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_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_openssl_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_openssl_sha256update(archive_sha256_ctx *ctx, const void *indata, | size_t insize) | { | EVP_DigestUpdate(*ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_openssl_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_windowsapi_sha256init(archive_sha256_ctx *ctx) | { | return (win_crypto_init(ctx, CALG_SHA_256)); | } | | static int | __archive_windowsapi_sha256update(archive_sha256_ctx *ctx, const void *indata, | size_t insize) | { | return (win_crypto_Update(ctx, indata, insize)); | } | | static int | __archive_windowsapi_sha256final(archive_sha256_ctx *ctx, void *md) | { | return (win_crypto_Final(md, 32, ctx)); | } | | #else | | static int | __archive_stub_sha256init(archive_sha256_ctx *ctx) | { | (void)ctx; /* UNUSED */ | return (ARCHIVE_FAILED); | } | | static int | __archive_stub_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_stub_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_libc_sha384init(archive_sha384_ctx *ctx) | { | SHA384_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc_sha384update(archive_sha384_ctx *ctx, const void *indata, | size_t insize) | { | SHA384_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc_sha384final(archive_sha384_ctx *ctx, void *md) | { | SHA384_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA384_LIBC2) | | static int | __archive_libc2_sha384init(archive_sha384_ctx *ctx) | { | SHA384Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc2_sha384update(archive_sha384_ctx *ctx, const void *indata, | size_t insize) | { | SHA384Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc2_sha384final(archive_sha384_ctx *ctx, void *md) | { | SHA384Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA384_LIBC3) | | static int | __archive_libc3_sha384init(archive_sha384_ctx *ctx) | { | SHA384Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc3_sha384update(archive_sha384_ctx *ctx, const void *indata, | size_t insize) | { | SHA384Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc3_sha384final(archive_sha384_ctx *ctx, void *md) | { | SHA384Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA384_LIBSYSTEM) | | static int | __archive_libsystem_sha384init(archive_sha384_ctx *ctx) | { | CC_SHA384_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_sha384update(archive_sha384_ctx *ctx, const void *indata, | size_t insize) | { | CC_SHA384_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_sha384final(archive_sha384_ctx *ctx, void *md) | { | CC_SHA384_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA384_NETTLE) | | static int | __archive_nettle_sha384init(archive_sha384_ctx *ctx) | { | sha384_init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_sha384update(archive_sha384_ctx *ctx, const void *indata, | size_t insize) | { | sha384_update(ctx, insize, indata); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_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_openssl_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_openssl_sha384update(archive_sha384_ctx *ctx, const void *indata, | size_t insize) | { | EVP_DigestUpdate(*ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_openssl_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_windowsapi_sha384init(archive_sha384_ctx *ctx) | { | return (win_crypto_init(ctx, CALG_SHA_384)); | } | | static int | __archive_windowsapi_sha384update(archive_sha384_ctx *ctx, const void *indata, | size_t insize) | { | return (win_crypto_Update(ctx, indata, insize)); | } | | static int | __archive_windowsapi_sha384final(archive_sha384_ctx *ctx, void *md) | { | return (win_crypto_Final(md, 48, ctx)); | } | | #else | | static int | __archive_stub_sha384init(archive_sha384_ctx *ctx) | { | (void)ctx; /* UNUSED */ | return (ARCHIVE_FAILED); | } | | static int | __archive_stub_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_stub_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_libc_sha512init(archive_sha512_ctx *ctx) | { | SHA512_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc_sha512update(archive_sha512_ctx *ctx, const void *indata, | size_t insize) | { | SHA512_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc_sha512final(archive_sha512_ctx *ctx, void *md) | { | SHA512_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA512_LIBC2) | | static int | __archive_libc2_sha512init(archive_sha512_ctx *ctx) | { | SHA512Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc2_sha512update(archive_sha512_ctx *ctx, const void *indata, | size_t insize) | { | SHA512Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc2_sha512final(archive_sha512_ctx *ctx, void *md) | { | SHA512Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA512_LIBC3) | | static int | __archive_libc3_sha512init(archive_sha512_ctx *ctx) | { | SHA512Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc3_sha512update(archive_sha512_ctx *ctx, const void *indata, | size_t insize) | { | SHA512Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc3_sha512final(archive_sha512_ctx *ctx, void *md) | { | SHA512Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA512_LIBMD) | | static int | __archive_libmd_sha512init(archive_sha512_ctx *ctx) | { | SHA512_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_sha512update(archive_sha512_ctx *ctx, const void *indata, | size_t insize) | { | SHA512_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_sha512final(archive_sha512_ctx *ctx, void *md) | { | SHA512_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA512_LIBSYSTEM) | | static int | __archive_libsystem_sha512init(archive_sha512_ctx *ctx) | { | CC_SHA512_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_sha512update(archive_sha512_ctx *ctx, const void *indata, | size_t insize) | { | CC_SHA512_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_sha512final(archive_sha512_ctx *ctx, void *md) | { | CC_SHA512_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA512_NETTLE) | | static int | __archive_nettle_sha512init(archive_sha512_ctx *ctx) | { | sha512_init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_sha512update(archive_sha512_ctx *ctx, const void *indata, | size_t insize) | { | sha512_update(ctx, insize, indata); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_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_openssl_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_openssl_sha512update(archive_sha512_ctx *ctx, const void *indata, | size_t insize) | { | EVP_DigestUpdate(*ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_openssl_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_windowsapi_sha512init(archive_sha512_ctx *ctx) | { | return (win_crypto_init(ctx, CALG_SHA_512)); | } | | static int | __archive_windowsapi_sha512update(archive_sha512_ctx *ctx, const void *indata, | size_t insize) | { | return (win_crypto_Update(ctx, indata, insize)); | } | | static int | __archive_windowsapi_sha512final(archive_sha512_ctx *ctx, void *md) | { | return (win_crypto_Final(md, 64, ctx)); | } | | #else | | static int | __archive_stub_sha512init(archive_sha512_ctx *ctx) | { | (void)ctx; /* UNUSED */ | return (ARCHIVE_FAILED); | } | | static int | __archive_stub_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_stub_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 */ | #if defined(ARCHIVE_CRYPTO_MD5_LIBC) | &__archive_libc_md5init, | &__archive_libc_md5update, | &__archive_libc_md5final, | #elif defined(ARCHIVE_CRYPTO_MD5_LIBMD) | &__archive_libmd_md5init, | &__archive_libmd_md5update, | &__archive_libmd_md5final, | #elif defined(ARCHIVE_CRYPTO_MD5_LIBSYSTEM) | &__archive_libsystem_md5init, | &__archive_libsystem_md5update, | &__archive_libsystem_md5final, | #elif defined(ARCHIVE_CRYPTO_MD5_NETTLE) | &__archive_nettle_md5init, | &__archive_nettle_md5update, | &__archive_nettle_md5final, | #elif defined(ARCHIVE_CRYPTO_MD5_OPENSSL) | &__archive_openssl_md5init, | &__archive_openssl_md5update, | &__archive_openssl_md5final, | #elif defined(ARCHIVE_CRYPTO_MD5_WIN) | &__archive_windowsapi_md5init, | &__archive_windowsapi_md5update, | &__archive_windowsapi_md5final, | #elif !defined(ARCHIVE_MD5_COMPILE_TEST) | &__archive_stub_md5init, | &__archive_stub_md5update, | &__archive_stub_md5final, | #endif | | /* RIPEMD160 */ | #if defined(ARCHIVE_CRYPTO_RMD160_LIBC) | &__archive_libc_ripemd160init, | &__archive_libc_ripemd160update, | &__archive_libc_ripemd160final, | #elif defined(ARCHIVE_CRYPTO_RMD160_LIBMD) | &__archive_libmd_ripemd160init, | &__archive_libmd_ripemd160update, | &__archive_libmd_ripemd160final, | #elif defined(ARCHIVE_CRYPTO_RMD160_NETTLE) | &__archive_nettle_ripemd160init, | &__archive_nettle_ripemd160update, | &__archive_nettle_ripemd160final, | #elif defined(ARCHIVE_CRYPTO_RMD160_OPENSSL) | &__archive_openssl_ripemd160init, | &__archive_openssl_ripemd160update, | &__archive_openssl_ripemd160final, | #elif !defined(ARCHIVE_RMD160_COMPILE_TEST) | &__archive_stub_ripemd160init, | &__archive_stub_ripemd160update, | &__archive_stub_ripemd160final, | #endif | | /* SHA1 */ | #if defined(ARCHIVE_CRYPTO_SHA1_LIBC) | &__archive_libc_sha1init, | &__archive_libc_sha1update, | &__archive_libc_sha1final, | #elif defined(ARCHIVE_CRYPTO_SHA1_LIBMD) | &__archive_libmd_sha1init, | &__archive_libmd_sha1update, | &__archive_libmd_sha1final, | #elif defined(ARCHIVE_CRYPTO_SHA1_LIBSYSTEM) | &__archive_libsystem_sha1init, | &__archive_libsystem_sha1update, | &__archive_libsystem_sha1final, | #elif defined(ARCHIVE_CRYPTO_SHA1_NETTLE) | &__archive_nettle_sha1init, | &__archive_nettle_sha1update, | &__archive_nettle_sha1final, | #elif defined(ARCHIVE_CRYPTO_SHA1_OPENSSL) | &__archive_openssl_sha1init, | &__archive_openssl_sha1update, | &__archive_openssl_sha1final, | #elif defined(ARCHIVE_CRYPTO_SHA1_WIN) | &__archive_windowsapi_sha1init, | &__archive_windowsapi_sha1update, | &__archive_windowsapi_sha1final, | #elif !defined(ARCHIVE_SHA1_COMPILE_TEST) | &__archive_stub_sha1init, | &__archive_stub_sha1update, | &__archive_stub_sha1final, | #endif | | /* SHA256 */ | #if defined(ARCHIVE_CRYPTO_SHA256_LIBC) | &__archive_libc_sha256init, | &__archive_libc_sha256update, | &__archive_libc_sha256final, | #elif defined(ARCHIVE_CRYPTO_SHA256_LIBC2) | &__archive_libc2_sha256init, | &__archive_libc2_sha256update, | &__archive_libc2_sha256final, | #elif defined(ARCHIVE_CRYPTO_SHA256_LIBC3) | &__archive_libc3_sha256init, | &__archive_libc3_sha256update, | &__archive_libc3_sha256final, | #elif defined(ARCHIVE_CRYPTO_SHA256_LIBMD) | &__archive_libmd_sha256init, | &__archive_libmd_sha256update, | &__archive_libmd_sha256final, | #elif defined(ARCHIVE_CRYPTO_SHA256_LIBSYSTEM) | &__archive_libsystem_sha256init, | &__archive_libsystem_sha256update, | &__archive_libsystem_sha256final, | #elif defined(ARCHIVE_CRYPTO_SHA256_NETTLE) | &__archive_nettle_sha256init, | &__archive_nettle_sha256update, | &__archive_nettle_sha256final, | #elif defined(ARCHIVE_CRYPTO_SHA256_OPENSSL) | &__archive_openssl_sha256init, | &__archive_openssl_sha256update, | &__archive_openssl_sha256final, | #elif defined(ARCHIVE_CRYPTO_SHA256_WIN) | &__archive_windowsapi_sha256init, | &__archive_windowsapi_sha256update, | &__archive_windowsapi_sha256final, | #elif !defined(ARCHIVE_SHA256_COMPILE_TEST) | &__archive_stub_sha256init, | &__archive_stub_sha256update, | &__archive_stub_sha256final, | #endif | | /* SHA384 */ | #if defined(ARCHIVE_CRYPTO_SHA384_LIBC) | &__archive_libc_sha384init, | &__archive_libc_sha384update, | &__archive_libc_sha384final, | #elif defined(ARCHIVE_CRYPTO_SHA384_LIBC2) | &__archive_libc2_sha384init, | &__archive_libc2_sha384update, | &__archive_libc2_sha384final, | #elif defined(ARCHIVE_CRYPTO_SHA384_LIBC3) | &__archive_libc3_sha384init, | &__archive_libc3_sha384update, | &__archive_libc3_sha384final, | #elif defined(ARCHIVE_CRYPTO_SHA384_LIBSYSTEM) | &__archive_libsystem_sha384init, | &__archive_libsystem_sha384update, | &__archive_libsystem_sha384final, | #elif defined(ARCHIVE_CRYPTO_SHA384_NETTLE) | &__archive_nettle_sha384init, | &__archive_nettle_sha384update, | &__archive_nettle_sha384final, | #elif defined(ARCHIVE_CRYPTO_SHA384_OPENSSL) | &__archive_openssl_sha384init, | &__archive_openssl_sha384update, | &__archive_openssl_sha384final, | #elif defined(ARCHIVE_CRYPTO_SHA384_WIN) | &__archive_windowsapi_sha384init, | &__archive_windowsapi_sha384update, | &__archive_windowsapi_sha384final, | #elif !defined(ARCHIVE_SHA384_COMPILE_TEST) | &__archive_stub_sha384init, | &__archive_stub_sha384update, | &__archive_stub_sha384final, | #endif | | /* SHA512 */ | #if defined(ARCHIVE_CRYPTO_SHA512_LIBC) | &__archive_libc_sha512init, | &__archive_libc_sha512update, | &__archive_libc_sha512final | #elif defined(ARCHIVE_CRYPTO_SHA512_LIBC2) | &__archive_libc2_sha512init, | &__archive_libc2_sha512update, | &__archive_libc2_sha512final | #elif defined(ARCHIVE_CRYPTO_SHA512_LIBC3) | &__archive_libc3_sha512init, | &__archive_libc3_sha512update, | &__archive_libc3_sha512final | #elif defined(ARCHIVE_CRYPTO_SHA512_LIBMD) | &__archive_libmd_sha512init, | &__archive_libmd_sha512update, | &__archive_libmd_sha512final | #elif defined(ARCHIVE_CRYPTO_SHA512_LIBSYSTEM) | &__archive_libsystem_sha512init, | &__archive_libsystem_sha512update, | &__archive_libsystem_sha512final | #elif defined(ARCHIVE_CRYPTO_SHA512_NETTLE) | &__archive_nettle_sha512init, | &__archive_nettle_sha512update, | &__archive_nettle_sha512final | #elif defined(ARCHIVE_CRYPTO_SHA512_OPENSSL) | &__archive_openssl_sha512init, | &__archive_openssl_sha512update, | &__archive_openssl_sha512final | #elif defined(ARCHIVE_CRYPTO_SHA512_WIN) | &__archive_windowsapi_sha512init, | &__archive_windowsapi_sha512update, | &__archive_windowsapi_sha512final | #elif !defined(ARCHIVE_SHA512_COMPILE_TEST) | &__archive_stub_sha512init, | &__archive_stub_sha512update, | &__archive_stub_sha512final | #endif | }; | | 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; | } | configure:21078: result: no configure:21092: checking support for ARCHIVE_CRYPTO_SHA512_LIBMD configure:21114: /home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc -o conftest -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -I. -I. -I./libarchive -Wl,-elf2flt -static conftest.c -llzma >&5 In file included from conftest.c:219:0: ./libarchive/archive_digest_private.h:103:10: fatal error: sha512.h: No such file or directory #include ^~~~~~~~~~ compilation terminated. configure:21114: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "libarchive" | #define PACKAGE_TARNAME "libarchive" | #define PACKAGE_VERSION "3.4.0" | #define PACKAGE_STRING "libarchive 3.4.0" | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com" | #define PACKAGE_URL "" | #define PACKAGE "libarchive" | #define VERSION "3.4.0" | #define LIBARCHIVE_VERSION_STRING "3.4.0" | #define LIBARCHIVE_VERSION_NUMBER "3004000" | #define BSDCPIO_VERSION_STRING "3.4.0" | #define BSDTAR_VERSION_STRING "3.4.0" | #define BSDCAT_VERSION_STRING "3.4.0" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define __EXTENSIONS__ 1 | #define _ALL_SOURCE 1 | #define _GNU_SOURCE 1 | #define _POSIX_PTHREAD_SEMANTICS 1 | #define _TANDEM_SOURCE 1 | #define LT_OBJDIR ".libs/" | #define HAVE_DIRENT_H 1 | #define HAVE_SYS_WAIT_H 1 | #define HAVE_CTYPE_H 1 | #define HAVE_ERRNO_H 1 | #define HAVE_FCNTL_H 1 | #define HAVE_GRP_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_LANGINFO_H 1 | #define HAVE_LIMITS_H 1 | #define HAVE_LINUX_FIEMAP_H 1 | #define HAVE_LINUX_FS_H 1 | #define HAVE_LINUX_MAGIC_H 1 | #define HAVE_LINUX_TYPES_H 1 | #define HAVE_WORKING_FS_IOC_GETFLAGS 1 | #define HAVE_LOCALE_H 1 | #define HAVE_PATHS_H 1 | #define HAVE_POLL_H 1 | #define HAVE_PTHREAD_H 1 | #define HAVE_PWD_H 1 | #define HAVE_SIGNAL_H 1 | #define HAVE_SPAWN_H 1 | #define HAVE_STDARG_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_SYS_CDEFS_H 1 | #define HAVE_SYS_IOCTL_H 1 | #define HAVE_SYS_MOUNT_H 1 | #define HAVE_SYS_PARAM_H 1 | #define HAVE_SYS_POLL_H 1 | #define HAVE_SYS_SELECT_H 1 | #define HAVE_SYS_STATFS_H 1 | #define HAVE_SYS_STATVFS_H 1 | #define HAVE_SYS_SYSMACROS_H 1 | #define HAVE_SYS_TIME_H 1 | #define HAVE_SYS_UTSNAME_H 1 | #define HAVE_SYS_VFS_H 1 | #define HAVE_SYS_XATTR_H 1 | #define HAVE_TIME_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_UTIME_H 1 | #define HAVE_WCHAR_H 1 | #define HAVE_WCTYPE_H 1 | #define HAVE_ICONV 1 | #define ICONV_CONST | #define HAVE_ICONV_H 1 | #define HAVE_LZMA_H 1 | #define HAVE_LIBLZMA 1 | #define HAVE_LZMA_STREAM_ENCODER_MT 1 | #define HAVE_REGEX_H 1 | #define HAVE_STRUCT_TM_TM_GMTOFF 1 | #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1 | #define HAVE_STRUCT_STAT_ST_BLKSIZE 1 | #define HAVE_UINTMAX_T 1 | #define HAVE_UNSIGNED_LONG_LONG 1 | #define HAVE_UNSIGNED_LONG_LONG_INT 1 | #define HAVE_LONG_LONG_INT 1 | #define HAVE_INTMAX_T 1 | #define HAVE_UINTMAX_T 1 | #define HAVE_DECL_SIZE_MAX 1 | #define HAVE_DECL_INT32_MAX 1 | #define HAVE_DECL_INT32_MIN 1 | #define HAVE_DECL_INT64_MAX 1 | #define HAVE_DECL_INT64_MIN 1 | #define HAVE_DECL_UINT64_MAX 1 | #define HAVE_DECL_UINT32_MAX 1 | #define HAVE_DECL_INTMAX_MAX 1 | #define HAVE_DECL_INTMAX_MIN 1 | #define HAVE_DECL_UINTMAX_MAX 1 | #define HAVE_DECL_SSIZE_MAX 1 | #define HAVE_EILSEQ 1 | #define HAVE_WCHAR_T 1 | #define SIZEOF_WCHAR_T 4 | #define TIME_WITH_SYS_TIME 1 | #define HAVE_FSEEKO 1 | #define HAVE_LSTAT_EMPTY_STRING_BUG 1 | #define HAVE_STAT_EMPTY_STRING_BUG 1 | #define HAVE_DECL_STRERROR_R 1 | #define HAVE_STRERROR_R 1 | #define STRERROR_R_CHAR_P 1 | #define HAVE_STRFTIME 1 | #define HAVE_VPRINTF 1 | #define HAVE_CHOWN 1 | #define HAVE_CHROOT 1 | #define HAVE_CTIME_R 1 | #define HAVE_FCHDIR 1 | #define HAVE_FCHMOD 1 | #define HAVE_FCHOWN 1 | #define HAVE_FCNTL 1 | #define HAVE_FDOPENDIR 1 | #define HAVE_FSTAT 1 | #define HAVE_FSTATAT 1 | #define HAVE_FSTATFS 1 | #define HAVE_FSTATVFS 1 | #define HAVE_FTRUNCATE 1 | #define HAVE_FUTIMENS 1 | #define HAVE_FUTIMESAT 1 | #define HAVE_GETEUID 1 | #define HAVE_GETPID 1 | #define HAVE_GETGRGID_R 1 | #define HAVE_GETGRNAM_R 1 | #define HAVE_GETPWNAM_R 1 | #define HAVE_GETPWUID_R 1 | #define HAVE_GMTIME_R 1 | #define HAVE_LCHOWN 1 | #define HAVE_LINK 1 | #define HAVE_LOCALTIME_R 1 | #define HAVE_LSTAT 1 | #define HAVE_LUTIMES 1 | #define HAVE_MBRTOWC 1 | #define HAVE_MEMMOVE 1 | #define HAVE_MEMSET 1 | #define HAVE_MKDIR 1 | #define HAVE_MKFIFO 1 | #define HAVE_MKNOD 1 | #define HAVE_MKSTEMP 1 | #define HAVE_NL_LANGINFO 1 | #define HAVE_OPENAT 1 | #define HAVE_PIPE 1 | #define HAVE_POLL 1 | #define HAVE_POSIX_SPAWNP 1 | #define HAVE_READLINK 1 | #define HAVE_READLINKAT 1 | #define HAVE_SELECT 1 | #define HAVE_SETENV 1 | #define HAVE_SETLOCALE 1 | #define HAVE_SIGACTION 1 | #define HAVE_STATFS 1 | #define HAVE_STATVFS 1 | #define HAVE_STRCHR 1 | #define HAVE_STRDUP 1 | #define HAVE_STRERROR 1 | #define HAVE_STRRCHR 1 | #define HAVE_SYMLINK 1 | #define HAVE_TIMEGM 1 | #define HAVE_TZSET 1 | #define HAVE_UNLINKAT 1 | #define HAVE_UNSETENV 1 | #define HAVE_UTIME 1 | #define HAVE_UTIMENSAT 1 | #define HAVE_UTIMES 1 | #define HAVE_VFORK 1 | #define HAVE_WCRTOMB 1 | #define HAVE_WCSCMP 1 | #define HAVE_WCSCPY 1 | #define HAVE_WCSLEN 1 | #define HAVE_WCTOMB 1 | #define HAVE_WMEMCMP 1 | #define HAVE_WMEMCPY 1 | #define HAVE_WMEMMOVE 1 | #define HAVE_READDIR_R 1 | #define HAVE_DIRFD 1 | /* end confdefs.h. */ | | #define ARCHIVE_SHA512_COMPILE_TEST | #define ARCHIVE_CRYPTO_SHA512_LIBMD | #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_libc_md5init(archive_md5_ctx *ctx) | { | MD5Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc_md5update(archive_md5_ctx *ctx, const void *indata, | size_t insize) | { | MD5Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc_md5final(archive_md5_ctx *ctx, void *md) | { | MD5Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_MD5_LIBMD) | | static int | __archive_libmd_md5init(archive_md5_ctx *ctx) | { | MD5Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_md5update(archive_md5_ctx *ctx, const void *indata, | size_t insize) | { | MD5Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_md5final(archive_md5_ctx *ctx, void *md) | { | MD5Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_MD5_LIBSYSTEM) | | static int | __archive_libsystem_md5init(archive_md5_ctx *ctx) | { | CC_MD5_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_md5update(archive_md5_ctx *ctx, const void *indata, | size_t insize) | { | CC_MD5_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_md5final(archive_md5_ctx *ctx, void *md) | { | CC_MD5_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_MD5_NETTLE) | | static int | __archive_nettle_md5init(archive_md5_ctx *ctx) | { | md5_init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_md5update(archive_md5_ctx *ctx, const void *indata, | size_t insize) | { | md5_update(ctx, insize, indata); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_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_openssl_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_openssl_md5update(archive_md5_ctx *ctx, const void *indata, | size_t insize) | { | EVP_DigestUpdate(*ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_openssl_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_windowsapi_md5init(archive_md5_ctx *ctx) | { | return (win_crypto_init(ctx, CALG_MD5)); | } | | static int | __archive_windowsapi_md5update(archive_md5_ctx *ctx, const void *indata, | size_t insize) | { | return (win_crypto_Update(ctx, indata, insize)); | } | | static int | __archive_windowsapi_md5final(archive_md5_ctx *ctx, void *md) | { | return (win_crypto_Final(md, 16, ctx)); | } | | #else | | static int | __archive_stub_md5init(archive_md5_ctx *ctx) | { | (void)ctx; /* UNUSED */ | return (ARCHIVE_FAILED); | } | | static int | __archive_stub_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_stub_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_libc_ripemd160init(archive_rmd160_ctx *ctx) | { | RMD160Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, | size_t insize) | { | RMD160Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc_ripemd160final(archive_rmd160_ctx *ctx, void *md) | { | RMD160Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_RMD160_LIBMD) | | static int | __archive_libmd_ripemd160init(archive_rmd160_ctx *ctx) | { | RIPEMD160_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, | size_t insize) | { | RIPEMD160_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_ripemd160final(archive_rmd160_ctx *ctx, void *md) | { | RIPEMD160_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_RMD160_NETTLE) | | static int | __archive_nettle_ripemd160init(archive_rmd160_ctx *ctx) | { | ripemd160_init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, | size_t insize) | { | ripemd160_update(ctx, insize, indata); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_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_openssl_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_openssl_ripemd160update(archive_rmd160_ctx *ctx, const void *indata, | size_t insize) | { | EVP_DigestUpdate(*ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_openssl_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_stub_ripemd160init(archive_rmd160_ctx *ctx) | { | (void)ctx; /* UNUSED */ | return (ARCHIVE_FAILED); | } | | static int | __archive_stub_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_stub_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_libc_sha1init(archive_sha1_ctx *ctx) | { | SHA1Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc_sha1update(archive_sha1_ctx *ctx, const void *indata, | size_t insize) | { | SHA1Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc_sha1final(archive_sha1_ctx *ctx, void *md) | { | SHA1Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA1_LIBMD) | | static int | __archive_libmd_sha1init(archive_sha1_ctx *ctx) | { | SHA1_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_sha1update(archive_sha1_ctx *ctx, const void *indata, | size_t insize) | { | SHA1_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_sha1final(archive_sha1_ctx *ctx, void *md) | { | SHA1_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA1_LIBSYSTEM) | | static int | __archive_libsystem_sha1init(archive_sha1_ctx *ctx) | { | CC_SHA1_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_sha1update(archive_sha1_ctx *ctx, const void *indata, | size_t insize) | { | CC_SHA1_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_sha1final(archive_sha1_ctx *ctx, void *md) | { | CC_SHA1_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA1_NETTLE) | | static int | __archive_nettle_sha1init(archive_sha1_ctx *ctx) | { | sha1_init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_sha1update(archive_sha1_ctx *ctx, const void *indata, | size_t insize) | { | sha1_update(ctx, insize, indata); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_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_openssl_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_openssl_sha1update(archive_sha1_ctx *ctx, const void *indata, | size_t insize) | { | EVP_DigestUpdate(*ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_openssl_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_windowsapi_sha1init(archive_sha1_ctx *ctx) | { | return (win_crypto_init(ctx, CALG_SHA1)); | } | | static int | __archive_windowsapi_sha1update(archive_sha1_ctx *ctx, const void *indata, | size_t insize) | { | return (win_crypto_Update(ctx, indata, insize)); | } | | static int | __archive_windowsapi_sha1final(archive_sha1_ctx *ctx, void *md) | { | return (win_crypto_Final(md, 20, ctx)); | } | | #else | | static int | __archive_stub_sha1init(archive_sha1_ctx *ctx) | { | (void)ctx; /* UNUSED */ | return (ARCHIVE_FAILED); | } | | static int | __archive_stub_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_stub_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_libc_sha256init(archive_sha256_ctx *ctx) | { | SHA256_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc_sha256update(archive_sha256_ctx *ctx, const void *indata, | size_t insize) | { | SHA256_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc_sha256final(archive_sha256_ctx *ctx, void *md) | { | SHA256_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA256_LIBC2) | | static int | __archive_libc2_sha256init(archive_sha256_ctx *ctx) | { | SHA256Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc2_sha256update(archive_sha256_ctx *ctx, const void *indata, | size_t insize) | { | SHA256Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc2_sha256final(archive_sha256_ctx *ctx, void *md) | { | SHA256Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA256_LIBC3) | | static int | __archive_libc3_sha256init(archive_sha256_ctx *ctx) | { | SHA256Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc3_sha256update(archive_sha256_ctx *ctx, const void *indata, | size_t insize) | { | SHA256Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc3_sha256final(archive_sha256_ctx *ctx, void *md) | { | SHA256Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA256_LIBMD) | | static int | __archive_libmd_sha256init(archive_sha256_ctx *ctx) | { | SHA256_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_sha256update(archive_sha256_ctx *ctx, const void *indata, | size_t insize) | { | SHA256_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_sha256final(archive_sha256_ctx *ctx, void *md) | { | SHA256_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA256_LIBSYSTEM) | | static int | __archive_libsystem_sha256init(archive_sha256_ctx *ctx) | { | CC_SHA256_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_sha256update(archive_sha256_ctx *ctx, const void *indata, | size_t insize) | { | CC_SHA256_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_sha256final(archive_sha256_ctx *ctx, void *md) | { | CC_SHA256_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA256_NETTLE) | | static int | __archive_nettle_sha256init(archive_sha256_ctx *ctx) | { | sha256_init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_sha256update(archive_sha256_ctx *ctx, const void *indata, | size_t insize) | { | sha256_update(ctx, insize, indata); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_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_openssl_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_openssl_sha256update(archive_sha256_ctx *ctx, const void *indata, | size_t insize) | { | EVP_DigestUpdate(*ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_openssl_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_windowsapi_sha256init(archive_sha256_ctx *ctx) | { | return (win_crypto_init(ctx, CALG_SHA_256)); | } | | static int | __archive_windowsapi_sha256update(archive_sha256_ctx *ctx, const void *indata, | size_t insize) | { | return (win_crypto_Update(ctx, indata, insize)); | } | | static int | __archive_windowsapi_sha256final(archive_sha256_ctx *ctx, void *md) | { | return (win_crypto_Final(md, 32, ctx)); | } | | #else | | static int | __archive_stub_sha256init(archive_sha256_ctx *ctx) | { | (void)ctx; /* UNUSED */ | return (ARCHIVE_FAILED); | } | | static int | __archive_stub_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_stub_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_libc_sha384init(archive_sha384_ctx *ctx) | { | SHA384_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc_sha384update(archive_sha384_ctx *ctx, const void *indata, | size_t insize) | { | SHA384_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc_sha384final(archive_sha384_ctx *ctx, void *md) | { | SHA384_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA384_LIBC2) | | static int | __archive_libc2_sha384init(archive_sha384_ctx *ctx) | { | SHA384Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc2_sha384update(archive_sha384_ctx *ctx, const void *indata, | size_t insize) | { | SHA384Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc2_sha384final(archive_sha384_ctx *ctx, void *md) | { | SHA384Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA384_LIBC3) | | static int | __archive_libc3_sha384init(archive_sha384_ctx *ctx) | { | SHA384Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc3_sha384update(archive_sha384_ctx *ctx, const void *indata, | size_t insize) | { | SHA384Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc3_sha384final(archive_sha384_ctx *ctx, void *md) | { | SHA384Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA384_LIBSYSTEM) | | static int | __archive_libsystem_sha384init(archive_sha384_ctx *ctx) | { | CC_SHA384_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_sha384update(archive_sha384_ctx *ctx, const void *indata, | size_t insize) | { | CC_SHA384_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_sha384final(archive_sha384_ctx *ctx, void *md) | { | CC_SHA384_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA384_NETTLE) | | static int | __archive_nettle_sha384init(archive_sha384_ctx *ctx) | { | sha384_init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_sha384update(archive_sha384_ctx *ctx, const void *indata, | size_t insize) | { | sha384_update(ctx, insize, indata); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_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_openssl_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_openssl_sha384update(archive_sha384_ctx *ctx, const void *indata, | size_t insize) | { | EVP_DigestUpdate(*ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_openssl_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_windowsapi_sha384init(archive_sha384_ctx *ctx) | { | return (win_crypto_init(ctx, CALG_SHA_384)); | } | | static int | __archive_windowsapi_sha384update(archive_sha384_ctx *ctx, const void *indata, | size_t insize) | { | return (win_crypto_Update(ctx, indata, insize)); | } | | static int | __archive_windowsapi_sha384final(archive_sha384_ctx *ctx, void *md) | { | return (win_crypto_Final(md, 48, ctx)); | } | | #else | | static int | __archive_stub_sha384init(archive_sha384_ctx *ctx) | { | (void)ctx; /* UNUSED */ | return (ARCHIVE_FAILED); | } | | static int | __archive_stub_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_stub_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_libc_sha512init(archive_sha512_ctx *ctx) | { | SHA512_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc_sha512update(archive_sha512_ctx *ctx, const void *indata, | size_t insize) | { | SHA512_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc_sha512final(archive_sha512_ctx *ctx, void *md) | { | SHA512_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA512_LIBC2) | | static int | __archive_libc2_sha512init(archive_sha512_ctx *ctx) | { | SHA512Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc2_sha512update(archive_sha512_ctx *ctx, const void *indata, | size_t insize) | { | SHA512Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc2_sha512final(archive_sha512_ctx *ctx, void *md) | { | SHA512Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA512_LIBC3) | | static int | __archive_libc3_sha512init(archive_sha512_ctx *ctx) | { | SHA512Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libc3_sha512update(archive_sha512_ctx *ctx, const void *indata, | size_t insize) | { | SHA512Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libc3_sha512final(archive_sha512_ctx *ctx, void *md) | { | SHA512Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA512_LIBMD) | | static int | __archive_libmd_sha512init(archive_sha512_ctx *ctx) | { | SHA512_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_sha512update(archive_sha512_ctx *ctx, const void *indata, | size_t insize) | { | SHA512_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libmd_sha512final(archive_sha512_ctx *ctx, void *md) | { | SHA512_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA512_LIBSYSTEM) | | static int | __archive_libsystem_sha512init(archive_sha512_ctx *ctx) | { | CC_SHA512_Init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_sha512update(archive_sha512_ctx *ctx, const void *indata, | size_t insize) | { | CC_SHA512_Update(ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_libsystem_sha512final(archive_sha512_ctx *ctx, void *md) | { | CC_SHA512_Final(md, ctx); | return (ARCHIVE_OK); | } | | #elif defined(ARCHIVE_CRYPTO_SHA512_NETTLE) | | static int | __archive_nettle_sha512init(archive_sha512_ctx *ctx) | { | sha512_init(ctx); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_sha512update(archive_sha512_ctx *ctx, const void *indata, | size_t insize) | { | sha512_update(ctx, insize, indata); | return (ARCHIVE_OK); | } | | static int | __archive_nettle_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_openssl_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_openssl_sha512update(archive_sha512_ctx *ctx, const void *indata, | size_t insize) | { | EVP_DigestUpdate(*ctx, indata, insize); | return (ARCHIVE_OK); | } | | static int | __archive_openssl_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_windowsapi_sha512init(archive_sha512_ctx *ctx) | { | return (win_crypto_init(ctx, CALG_SHA_512)); | } | | static int | __archive_windowsapi_sha512update(archive_sha512_ctx *ctx, const void *indata, | size_t insize) | { | return (win_crypto_Update(ctx, indata, insize)); | } | | static int | __archive_windowsapi_sha512final(archive_sha512_ctx *ctx, void *md) | { | return (win_crypto_Final(md, 64, ctx)); | } | | #else | | static int | __archive_stub_sha512init(archive_sha512_ctx *ctx) | { | (void)ctx; /* UNUSED */ | return (ARCHIVE_FAILED); | } | | static int | __archive_stub_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_stub_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 */ | #if defined(ARCHIVE_CRYPTO_MD5_LIBC) | &__archive_libc_md5init, | &__archive_libc_md5update, | &__archive_libc_md5final, | #elif defined(ARCHIVE_CRYPTO_MD5_LIBMD) | &__archive_libmd_md5init, | &__archive_libmd_md5update, | &__archive_libmd_md5final, | #elif defined(ARCHIVE_CRYPTO_MD5_LIBSYSTEM) | &__archive_libsystem_md5init, | &__archive_libsystem_md5update, | &__archive_libsystem_md5final, | #elif defined(ARCHIVE_CRYPTO_MD5_NETTLE) | &__archive_nettle_md5init, | &__archive_nettle_md5update, | &__archive_nettle_md5final, | #elif defined(ARCHIVE_CRYPTO_MD5_OPENSSL) | &__archive_openssl_md5init, | &__archive_openssl_md5update, | &__archive_openssl_md5final, | #elif defined(ARCHIVE_CRYPTO_MD5_WIN) | &__archive_windowsapi_md5init, | &__archive_windowsapi_md5update, | &__archive_windowsapi_md5final, | #elif !defined(ARCHIVE_MD5_COMPILE_TEST) | &__archive_stub_md5init, | &__archive_stub_md5update, | &__archive_stub_md5final, | #endif | | /* RIPEMD160 */ | #if defined(ARCHIVE_CRYPTO_RMD160_LIBC) | &__archive_libc_ripemd160init, | &__archive_libc_ripemd160update, | &__archive_libc_ripemd160final, | #elif defined(ARCHIVE_CRYPTO_RMD160_LIBMD) | &__archive_libmd_ripemd160init, | &__archive_libmd_ripemd160update, | &__archive_libmd_ripemd160final, | #elif defined(ARCHIVE_CRYPTO_RMD160_NETTLE) | &__archive_nettle_ripemd160init, | &__archive_nettle_ripemd160update, | &__archive_nettle_ripemd160final, | #elif defined(ARCHIVE_CRYPTO_RMD160_OPENSSL) | &__archive_openssl_ripemd160init, | &__archive_openssl_ripemd160update, | &__archive_openssl_ripemd160final, | #elif !defined(ARCHIVE_RMD160_COMPILE_TEST) | &__archive_stub_ripemd160init, | &__archive_stub_ripemd160update, | &__archive_stub_ripemd160final, | #endif | | /* SHA1 */ | #if defined(ARCHIVE_CRYPTO_SHA1_LIBC) | &__archive_libc_sha1init, | &__archive_libc_sha1update, | &__archive_libc_sha1final, | #elif defined(ARCHIVE_CRYPTO_SHA1_LIBMD) | &__archive_libmd_sha1init, | &__archive_libmd_sha1update, | &__archive_libmd_sha1final, | #elif defined(ARCHIVE_CRYPTO_SHA1_LIBSYSTEM) | &__archive_libsystem_sha1init, | &__archive_libsystem_sha1update, | &__archive_libsystem_sha1final, | #elif defined(ARCHIVE_CRYPTO_SHA1_NETTLE) | &__archive_nettle_sha1init, | &__archive_nettle_sha1update, | &__archive_nettle_sha1final, | #elif defined(ARCHIVE_CRYPTO_SHA1_OPENSSL) | &__archive_openssl_sha1init, | &__archive_openssl_sha1update, | &__archive_openssl_sha1final, | #elif defined(ARCHIVE_CRYPTO_SHA1_WIN) | &__archive_windowsapi_sha1init, | &__archive_windowsapi_sha1update, | &__archive_windowsapi_sha1final, | #elif !defined(ARCHIVE_SHA1_COMPILE_TEST) | &__archive_stub_sha1init, | &__archive_stub_sha1update, | &__archive_stub_sha1final, | #endif | | /* SHA256 */ | #if defined(ARCHIVE_CRYPTO_SHA256_LIBC) | &__archive_libc_sha256init, | &__archive_libc_sha256update, | &__archive_libc_sha256final, | #elif defined(ARCHIVE_CRYPTO_SHA256_LIBC2) | &__archive_libc2_sha256init, | &__archive_libc2_sha256update, | &__archive_libc2_sha256final, | #elif defined(ARCHIVE_CRYPTO_SHA256_LIBC3) | &__archive_libc3_sha256init, | &__archive_libc3_sha256update, | &__archive_libc3_sha256final, | #elif defined(ARCHIVE_CRYPTO_SHA256_LIBMD) | &__archive_libmd_sha256init, | &__archive_libmd_sha256update, | &__archive_libmd_sha256final, | #elif defined(ARCHIVE_CRYPTO_SHA256_LIBSYSTEM) | &__archive_libsystem_sha256init, | &__archive_libsystem_sha256update, | &__archive_libsystem_sha256final, | #elif defined(ARCHIVE_CRYPTO_SHA256_NETTLE) | &__archive_nettle_sha256init, | &__archive_nettle_sha256update, | &__archive_nettle_sha256final, | #elif defined(ARCHIVE_CRYPTO_SHA256_OPENSSL) | &__archive_openssl_sha256init, | &__archive_openssl_sha256update, | &__archive_openssl_sha256final, | #elif defined(ARCHIVE_CRYPTO_SHA256_WIN) | &__archive_windowsapi_sha256init, | &__archive_windowsapi_sha256update, | &__archive_windowsapi_sha256final, | #elif !defined(ARCHIVE_SHA256_COMPILE_TEST) | &__archive_stub_sha256init, | &__archive_stub_sha256update, | &__archive_stub_sha256final, | #endif | | /* SHA384 */ | #if defined(ARCHIVE_CRYPTO_SHA384_LIBC) | &__archive_libc_sha384init, | &__archive_libc_sha384update, | &__archive_libc_sha384final, | #elif defined(ARCHIVE_CRYPTO_SHA384_LIBC2) | &__archive_libc2_sha384init, | &__archive_libc2_sha384update, | &__archive_libc2_sha384final, | #elif defined(ARCHIVE_CRYPTO_SHA384_LIBC3) | &__archive_libc3_sha384init, | &__archive_libc3_sha384update, | &__archive_libc3_sha384final, | #elif defined(ARCHIVE_CRYPTO_SHA384_LIBSYSTEM) | &__archive_libsystem_sha384init, | &__archive_libsystem_sha384update, | &__archive_libsystem_sha384final, | #elif defined(ARCHIVE_CRYPTO_SHA384_NETTLE) | &__archive_nettle_sha384init, | &__archive_nettle_sha384update, | &__archive_nettle_sha384final, | #elif defined(ARCHIVE_CRYPTO_SHA384_OPENSSL) | &__archive_openssl_sha384init, | &__archive_openssl_sha384update, | &__archive_openssl_sha384final, | #elif defined(ARCHIVE_CRYPTO_SHA384_WIN) | &__archive_windowsapi_sha384init, | &__archive_windowsapi_sha384update, | &__archive_windowsapi_sha384final, | #elif !defined(ARCHIVE_SHA384_COMPILE_TEST) | &__archive_stub_sha384init, | &__archive_stub_sha384update, | &__archive_stub_sha384final, | #endif | | /* SHA512 */ | #if defined(ARCHIVE_CRYPTO_SHA512_LIBC) | &__archive_libc_sha512init, | &__archive_libc_sha512update, | &__archive_libc_sha512final | #elif defined(ARCHIVE_CRYPTO_SHA512_LIBC2) | &__archive_libc2_sha512init, | &__archive_libc2_sha512update, | &__archive_libc2_sha512final | #elif defined(ARCHIVE_CRYPTO_SHA512_LIBC3) | &__archive_libc3_sha512init, | &__archive_libc3_sha512update, | &__archive_libc3_sha512final | #elif defined(ARCHIVE_CRYPTO_SHA512_LIBMD) | &__archive_libmd_sha512init, | &__archive_libmd_sha512update, | &__archive_libmd_sha512final | #elif defined(ARCHIVE_CRYPTO_SHA512_LIBSYSTEM) | &__archive_libsystem_sha512init, | &__archive_libsystem_sha512update, | &__archive_libsystem_sha512final | #elif defined(ARCHIVE_CRYPTO_SHA512_NETTLE) | &__archive_nettle_sha512init, | &__archive_nettle_sha512update, | &__archive_nettle_sha512final | #elif defined(ARCHIVE_CRYPTO_SHA512_OPENSSL) | &__archive_openssl_sha512init, | &__archive_openssl_sha512update, | &__archive_openssl_sha512final | #elif defined(ARCHIVE_CRYPTO_SHA512_WIN) | &__archive_windowsapi_sha512init, | &__archive_windowsapi_sha512update, | &__archive_windowsapi_sha512final | #elif !defined(ARCHIVE_SHA512_COMPILE_TEST) | &__archive_stub_sha512init, | &__archive_stub_sha512update, | &__archive_stub_sha512final | #endif | }; | | 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; | } | configure:21124: result: no configure:21445: checking that generated files are newer than configure configure:21451: result: done configure:21530: creating ./config.status ## ---------------------- ## ## Running config.status. ## ## ---------------------- ## This file was extended by libarchive config.status 3.4.0, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = CONFIG_HEADERS = CONFIG_LINKS = CONFIG_COMMANDS = $ ./config.status on gcc160.bak.milne.osuosl.org config.status:1289: creating Makefile config.status:1289: creating build/pkgconfig/libarchive.pc config.status:1289: creating config.h config.status:1518: executing depfiles commands config.status:1518: executing libtool commands config.status:1518: executing mkdirs commands configure:23677: WARNING: unrecognized options: --disable-gtk-doc, --disable-gtk-doc-html, --disable-doc, --disable-docs, --disable-documentation, --with-xmlto, --with-fop, --enable-ipv6, --disable-nls ## ---------------- ## ## Cache variables. ## ## ---------------- ## ac_cv_build=x86_64-pc-linux-gnu ac_cv_c_bigendian=no ac_cv_c_compiler_gnu=yes ac_cv_c_const=yes ac_cv_c_int16_t=yes ac_cv_c_int32_t=yes ac_cv_c_int64_t=yes ac_cv_c_uint16_t=yes ac_cv_c_uint32_t=yes ac_cv_c_uint64_t=yes ac_cv_c_uint8_t=yes ac_cv_env_CC_set=set ac_cv_env_CC_value=/home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc ac_cv_env_CFLAGS_set=set ac_cv_env_CFLAGS_value='-D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static' ac_cv_env_CPPFLAGS_set=set ac_cv_env_CPPFLAGS_value='-D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64' ac_cv_env_CPP_set=set ac_cv_env_CPP_value=/home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-cpp ac_cv_env_LDFLAGS_set=set ac_cv_env_LDFLAGS_value=' -Wl,-elf2flt -static' ac_cv_env_LIBS_set= ac_cv_env_LIBS_value= ac_cv_env_LIBXML2_PC_CFLAGS_set= ac_cv_env_LIBXML2_PC_CFLAGS_value= ac_cv_env_LIBXML2_PC_LIBS_set= ac_cv_env_LIBXML2_PC_LIBS_value= ac_cv_env_LT_SYS_LIBRARY_PATH_set= ac_cv_env_LT_SYS_LIBRARY_PATH_value= ac_cv_env_PKG_CONFIG_LIBDIR_set= ac_cv_env_PKG_CONFIG_LIBDIR_value= ac_cv_env_PKG_CONFIG_PATH_set= ac_cv_env_PKG_CONFIG_PATH_value= ac_cv_env_PKG_CONFIG_set=set ac_cv_env_PKG_CONFIG_value=/home/buildroot/autobuild/instance-0/output/host/bin/pkg-config ac_cv_env_build_alias_set=set ac_cv_env_build_alias_value=x86_64-pc-linux-gnu ac_cv_env_host_alias_set=set ac_cv_env_host_alias_value=arm-buildroot-uclinux-uclibcgnueabi ac_cv_env_target_alias_set=set ac_cv_env_target_alias_value=arm-buildroot-uclinux-uclibcgnueabi ac_cv_func_CreateHardLinkA=no ac_cv_func__ctime64_s=no ac_cv_func__doprnt=no ac_cv_func__fseeki64=no ac_cv_func__get_timezone=no ac_cv_func__localtime64_s=no ac_cv_func__mkgmtime64=no ac_cv_func_arc4random_buf=no ac_cv_func_calloc_0_nonnull=yes ac_cv_func_chflags=no ac_cv_func_chown=yes ac_cv_func_chroot=yes ac_cv_func_ctime_r=yes ac_cv_func_cygwin_conv_path=no ac_cv_func_fchdir=yes ac_cv_func_fchflags=no ac_cv_func_fchmod=yes ac_cv_func_fchown=yes ac_cv_func_fcntl=yes ac_cv_func_fdopendir=yes ac_cv_func_fork=no ac_cv_func_fstat=yes ac_cv_func_fstatat=yes ac_cv_func_fstatfs=yes ac_cv_func_fstatvfs=yes ac_cv_func_ftruncate=yes ac_cv_func_futimens=yes ac_cv_func_futimes=no ac_cv_func_futimesat=yes ac_cv_func_geteuid=yes ac_cv_func_getgrgid_r=yes ac_cv_func_getgrnam_r=yes ac_cv_func_getpid=yes ac_cv_func_getpwnam_r=yes ac_cv_func_getpwuid_r=yes ac_cv_func_getvfsbyname=no ac_cv_func_gmtime_r=yes ac_cv_func_lchflags=no ac_cv_func_lchmod=no ac_cv_func_lchown=yes ac_cv_func_link=yes ac_cv_func_locale_charset=no ac_cv_func_localtime_r=yes ac_cv_func_lstat=yes ac_cv_func_lstat_dereferences_slashed_symlink=no ac_cv_func_lstat_empty_string_bug=yes ac_cv_func_lutimes=yes ac_cv_func_malloc_0_nonnull=yes ac_cv_func_mbrtowc=yes ac_cv_func_memcmp_working=yes ac_cv_func_memmove=yes ac_cv_func_memset=yes ac_cv_func_mkdir=yes ac_cv_func_mkfifo=yes ac_cv_func_mknod=yes ac_cv_func_mkstemp=yes ac_cv_func_mmap_fixed_mapped=yes ac_cv_func_nl_langinfo=yes ac_cv_func_openat=yes ac_cv_func_pipe=yes ac_cv_func_poll=yes ac_cv_func_posix_spawnp=yes ac_cv_func_readlink=yes ac_cv_func_readlinkat=yes ac_cv_func_readpassphrase=no ac_cv_func_realloc_0_nonnull=yes ac_cv_func_regcomp=yes ac_cv_func_select=yes ac_cv_func_setenv=yes ac_cv_func_setlocale=yes ac_cv_func_sigaction=yes ac_cv_func_stat_empty_string_bug=yes ac_cv_func_statfs=yes ac_cv_func_statvfs=yes ac_cv_func_strchr=yes ac_cv_func_strdup=yes ac_cv_func_strerror=yes ac_cv_func_strerror_r=yes ac_cv_func_strerror_r_char_p=yes ac_cv_func_strftime=yes ac_cv_func_strncpy_s=no ac_cv_func_strrchr=yes ac_cv_func_symlink=yes ac_cv_func_timegm=yes ac_cv_func_tzset=yes ac_cv_func_unlinkat=yes ac_cv_func_unsetenv=yes ac_cv_func_utime=yes ac_cv_func_utimensat=yes ac_cv_func_utimes=yes ac_cv_func_vfork=yes ac_cv_func_vprintf=yes ac_cv_func_wcrtomb=yes ac_cv_func_wcscmp=yes ac_cv_func_wcscpy=yes ac_cv_func_wcslen=yes ac_cv_func_wctomb=yes ac_cv_func_wmemcmp=yes ac_cv_func_wmemcpy=yes ac_cv_func_wmemmove=yes ac_cv_have_decl_D_MD_ORDER=no ac_cv_have_decl_EFTYPE=no ac_cv_have_decl_EILSEQ=yes ac_cv_have_decl_EXT2_IOC_GETFLAGS=no ac_cv_have_decl_FS_IOC_GETFLAGS=yes ac_cv_have_decl_INT32_MAX=yes ac_cv_have_decl_INT32_MIN=yes ac_cv_have_decl_INT64_MAX=yes ac_cv_have_decl_INT64_MIN=yes ac_cv_have_decl_INTMAX_MAX=yes ac_cv_have_decl_INTMAX_MIN=yes ac_cv_have_decl_SIZE_MAX=yes ac_cv_have_decl_SSIZE_MAX=yes ac_cv_have_decl_UINT32_MAX=yes ac_cv_have_decl_UINT64_MAX=yes ac_cv_have_decl_UINTMAX_MAX=yes ac_cv_have_decl_malloc=yes ac_cv_have_decl_strerror_r=yes ac_cv_header_acl_libacl_h=no ac_cv_header_attr_xattr_h=no ac_cv_header_bcrypt_h=no ac_cv_header_blake2_h=no ac_cv_header_copyfile_h=no ac_cv_header_ctype_h=yes ac_cv_header_dirent_dirent_h=yes ac_cv_header_dlfcn_h=no ac_cv_header_errno_h=yes ac_cv_header_ext2fs_ext2_fs_h=no ac_cv_header_fcntl_h=yes ac_cv_header_grp_h=yes ac_cv_header_iconv_h=yes ac_cv_header_inttypes_h=yes ac_cv_header_io_h=no ac_cv_header_langinfo_h=yes ac_cv_header_limits_h=yes ac_cv_header_linux_fiemap_h=yes ac_cv_header_linux_fs_h=yes ac_cv_header_linux_magic_h=yes ac_cv_header_linux_types_h=yes ac_cv_header_localcharset_h=no ac_cv_header_locale_h=yes ac_cv_header_lz4_h=no ac_cv_header_lz4hc_h=no ac_cv_header_lzma_h=yes ac_cv_header_md5_h=no ac_cv_header_membership_h=no ac_cv_header_memory_h=yes ac_cv_header_minix_config_h=no ac_cv_header_paths_h=yes ac_cv_header_poll_h=yes ac_cv_header_pthread_h=yes ac_cv_header_pwd_h=yes ac_cv_header_readpassphrase_h=no ac_cv_header_regex_h=yes ac_cv_header_ripemd_h=no ac_cv_header_sha256_h=no ac_cv_header_sha512_h=no ac_cv_header_sha_h=no ac_cv_header_signal_h=yes ac_cv_header_spawn_h=yes ac_cv_header_stdarg_h=yes ac_cv_header_stdc=yes ac_cv_header_stdint_h=yes ac_cv_header_stdlib_h=yes ac_cv_header_string_h=yes ac_cv_header_strings_h=yes ac_cv_header_sys_acl_h=no ac_cv_header_sys_cdefs_h=yes ac_cv_header_sys_ea_h=no ac_cv_header_sys_extattr_h=no ac_cv_header_sys_ioctl_h=yes ac_cv_header_sys_mkdev_h=no ac_cv_header_sys_mount_h=yes ac_cv_header_sys_param_h=yes ac_cv_header_sys_poll_h=yes ac_cv_header_sys_richacl_h=no ac_cv_header_sys_select_h=yes ac_cv_header_sys_stat_h=yes ac_cv_header_sys_statfs_h=yes ac_cv_header_sys_statvfs_h=yes ac_cv_header_sys_sysmacros_h=yes ac_cv_header_sys_time_h=yes ac_cv_header_sys_types_h=yes ac_cv_header_sys_types_h_makedev=yes ac_cv_header_sys_utime_h=no ac_cv_header_sys_utsname_h=yes ac_cv_header_sys_vfs_h=yes ac_cv_header_sys_wait_h=yes ac_cv_header_sys_xattr_h=yes ac_cv_header_time=yes ac_cv_header_time_h=yes ac_cv_header_unistd_h=yes ac_cv_header_utime_h=yes ac_cv_header_wchar_h=yes ac_cv_header_wctype_h=yes ac_cv_header_wincrypt_h=no ac_cv_header_windows_h=no ac_cv_header_winioctl_h=no ac_cv_header_zstd_h=no ac_cv_host=arm-buildroot-uclinux-uclibcgnueabi ac_cv_lbl_unaligned_fail=yes ac_cv_lib_b2_blake2sp_init=no ac_cv_lib_charset_locale_charset=no ac_cv_lib_lz4_LZ4_decompress_safe=no ac_cv_lib_lzma_lzma_stream_decoder=yes ac_cv_lib_md_MD5Init=no ac_cv_lib_zstd_ZSTD_compressStream=no ac_cv_lzma_has_mt=yes ac_cv_member_struct_dirent_d_namlen=no ac_cv_member_struct_stat_st_birthtime=no ac_cv_member_struct_stat_st_birthtimespec_tv_nsec=no ac_cv_member_struct_stat_st_blksize=yes ac_cv_member_struct_stat_st_flags=no ac_cv_member_struct_stat_st_mtim_tv_nsec=yes ac_cv_member_struct_stat_st_mtime_n=no ac_cv_member_struct_stat_st_mtime_usec=no ac_cv_member_struct_stat_st_mtimespec_tv_nsec=no ac_cv_member_struct_stat_st_umtime=no ac_cv_member_struct_statfs_f_namemax=no ac_cv_member_struct_statvfs_f_iosize=no ac_cv_member_struct_tm___tm_gmtoff=no ac_cv_member_struct_tm_tm_gmtoff=yes ac_cv_objext=o ac_cv_path_EGREP='/bin/grep -E' ac_cv_path_FGREP='/bin/grep -F' ac_cv_path_GREP=/bin/grep ac_cv_path_SED=/bin/sed ac_cv_path_install='/usr/bin/install -c' ac_cv_path_lt_DD=/bin/dd ac_cv_path_mkdir=/bin/mkdir ac_cv_prog_AR=/home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-ar ac_cv_prog_AWK=gawk ac_cv_prog_CC=/home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc ac_cv_prog_CPP=/home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-cpp ac_cv_prog_DLLTOOL=dlltool ac_cv_prog_OBJDUMP=/home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-objdump ac_cv_prog_RANLIB=/home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-ranlib ac_cv_prog_STRIP=/home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-strip ac_cv_prog_ac_ct_MANIFEST_TOOL=mt ac_cv_prog_cc_c89= ac_cv_prog_cc_g=yes ac_cv_prog_gcc_traditional=no ac_cv_prog_make_make_set=yes ac_cv_safe_to_define___extensions__=yes ac_cv_search_opendir='none required' ac_cv_sizeof_wchar_t=4 ac_cv_sys_file_offset_bits=no ac_cv_sys_largefile_CC=no ac_cv_sys_largefile_source=no ac_cv_type_id_t=yes ac_cv_type_intmax_t=yes ac_cv_type_long_long_int=yes ac_cv_type_mode_t=yes ac_cv_type_off_t=yes ac_cv_type_size_t=yes ac_cv_type_struct_vfsconf=no ac_cv_type_struct_xvfsconf=no ac_cv_type_uintmax_t=yes ac_cv_type_uintptr_t=yes ac_cv_type_unsigned_long_long=yes ac_cv_type_unsigned_long_long_int=yes ac_cv_type_wchar_t=yes acl_cv_hardcode_direct=no acl_cv_hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' acl_cv_hardcode_libdir_separator= acl_cv_hardcode_minus_L=no acl_cv_libext=a acl_cv_libname_spec='lib$name' acl_cv_library_names_spec= acl_cv_path_LD=/home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-ld acl_cv_prog_gnu_ld=yes acl_cv_rpath=done acl_cv_shlibext=so acl_cv_wl=-Wl, am_cv_CC_dependencies_compiler_type=none am_cv_func_iconv=yes am_cv_func_iconv_works='guessing yes' am_cv_lib_iconv=no am_cv_make_support_nested_variables=yes am_cv_prog_cc_c_o=yes am_cv_proto_iconv='extern size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);' am_cv_proto_iconv_arg1= ax_cv_check_cflags___Wall=yes ax_cv_check_cflags___Wformat=yes ax_cv_check_cflags___Wformat_security=yes gl_cv_func_malloc_0_nonnull=yes la_cv_type_uid_t=yes lt_cv_ar_at_file=@ lt_cv_deplibs_check_method=unknown lt_cv_file_magic_cmd='$MAGIC_CMD' lt_cv_file_magic_test_file= lt_cv_ld_reload_flag=-r lt_cv_nm_interface='BSD nm' lt_cv_objdir=.libs lt_cv_path_LD=/home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-ld lt_cv_path_NM=/home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-nm lt_cv_path_mainfest_tool=no lt_cv_prog_compiler_c_o=yes lt_cv_prog_compiler_pic='-fPIC -DPIC' lt_cv_prog_compiler_pic_works=yes lt_cv_prog_compiler_rtti_exceptions=no lt_cv_prog_compiler_static_works=yes lt_cv_prog_gnu_ld=yes lt_cv_sharedlib_from_linklib_cmd='printf %s\n' lt_cv_sys_global_symbol_pipe='sed -n -e '\''s/^.*[ ]\([ABCDGIRSTW][ABCDGIRSTW]*\)[ ][ ]*\([_A-Za-z][_A-Za-z0-9]*\)$/\1 \2 \2/p'\'' | sed '\''/ __gnu_lto/d'\''' lt_cv_sys_global_symbol_to_c_name_address='sed -n -e '\''s/^: \(.*\) .*$/ {"\1", (void *) 0},/p'\'' -e '\''s/^[ABCDGIRSTW][ABCDGIRSTW]* .* \(.*\)$/ {"\1", (void *) \&\1},/p'\''' lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='sed -n -e '\''s/^: \(.*\) .*$/ {"\1", (void *) 0},/p'\'' -e '\''s/^[ABCDGIRSTW][ABCDGIRSTW]* .* \(lib.*\)$/ {"\1", (void *) \&\1},/p'\'' -e '\''s/^[ABCDGIRSTW][ABCDGIRSTW]* .* \(.*\)$/ {"lib\1", (void *) \&\1},/p'\''' lt_cv_sys_global_symbol_to_cdecl='sed -n -e '\''s/^T .* \(.*\)$/extern int \1();/p'\'' -e '\''s/^[ABCDGIRSTW][ABCDGIRSTW]* .* \(.*\)$/extern char \1;/p'\''' lt_cv_sys_global_symbol_to_import= lt_cv_sys_lib_search_path_spec= lt_cv_sys_max_cmd_len=1572864 lt_cv_to_host_file_cmd=func_convert_file_noop lt_cv_to_tool_file_cmd=func_convert_file_noop lt_cv_truncate_bin='/bin/dd bs=4096 count=1' ## ----------------- ## ## Output variables. ## ## ----------------- ## ACLOCAL='${SHELL} /home/buildroot/autobuild/instance-0/output/build/libarchive-3.4.0/build/autoconf/missing aclocal-1.16' AMDEPBACKSLASH='' AMDEP_FALSE='' AMDEP_TRUE='#' AMTAR='$${TAR-tar}' AM_BACKSLASH='\' AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)' AM_DEFAULT_VERBOSITY='0' AM_V='$(V)' AR='/home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-ar' ARCHIVE_LIBTOOL_VERSION='17:0:4' AS='/home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-as' AUTOCONF='${SHELL} /home/buildroot/autobuild/instance-0/output/build/libarchive-3.4.0/build/autoconf/missing autoconf' AUTOHEADER='${SHELL} /home/buildroot/autobuild/instance-0/output/build/libarchive-3.4.0/build/autoconf/missing autoheader' AUTOMAKE='${SHELL} /home/buildroot/autobuild/instance-0/output/build/libarchive-3.4.0/build/autoconf/missing automake-1.16' AWK='gawk' BSDCAT_VERSION_STRING='3.4.0' BSDCPIO_VERSION_STRING='3.4.0' BSDTAR_VERSION_STRING='3.4.0' BUILD_BSDCAT_FALSE='' BUILD_BSDCAT_TRUE='#' BUILD_BSDCPIO_FALSE='' BUILD_BSDCPIO_TRUE='#' BUILD_BSDTAR_FALSE='' BUILD_BSDTAR_TRUE='#' CC='/home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-gcc' CCDEPMODE='depmode=none' CFLAGS='-D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wl,-elf2flt -static -Wall -Wformat -Wformat-security' CPP='/home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-cpp' CPPFLAGS='-D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64' CYGPATH_W='echo' DEFS='-DHAVE_CONFIG_H' DEPDIR='.deps' DLLTOOL='dlltool' DSYMUTIL='' DUMPBIN='' ECHO_C='' ECHO_N='-n' ECHO_T='' EGREP='/bin/grep -E' EXEEXT='' FGREP='/bin/grep -F' GREP='/bin/grep' INC_BLAKE2_FALSE='#' INC_BLAKE2_TRUE='' INC_CYGWIN_FILES_FALSE='' INC_CYGWIN_FILES_TRUE='#' INC_DARWIN_ACL_FALSE='' INC_DARWIN_ACL_TRUE='#' INC_FREEBSD_ACL_FALSE='' INC_FREEBSD_ACL_TRUE='#' INC_LINUX_ACL_FALSE='' INC_LINUX_ACL_TRUE='#' INC_SUNOS_ACL_FALSE='' INC_SUNOS_ACL_TRUE='#' INC_WINDOWS_FILES_FALSE='' INC_WINDOWS_FILES_TRUE='#' INSTALL_DATA='${INSTALL} -m 644' INSTALL_PROGRAM='${INSTALL}' INSTALL_SCRIPT='${INSTALL}' INSTALL_STRIP_PROGRAM='$(install_sh) -c -s' LD='/home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-ld' LDFLAGS=' -Wl,-elf2flt -static' LIBARCHIVE_VERSION_NUMBER='3004000' LIBARCHIVE_VERSION_STRING='3.4.0' LIBICONV='' LIBOBJS=' ${LIBOBJDIR}lstat$U.o ${LIBOBJDIR}stat$U.o' LIBS='-llzma ' LIBTOOL='$(SHELL) $(top_builddir)/libtool' LIBXML2_PC_CFLAGS='' LIBXML2_PC_LIBS='' LIPO='' LN_S='ln -s' LTLIBICONV='' LTLIBOBJS=' ${LIBOBJDIR}lstat$U.lo ${LIBOBJDIR}stat$U.lo' LT_SYS_LIBRARY_PATH='' MAINT='' MAINTAINER_MODE_FALSE='#' MAINTAINER_MODE_TRUE='' MAKEINFO='${SHELL} /home/buildroot/autobuild/instance-0/output/build/libarchive-3.4.0/build/autoconf/missing makeinfo' MANIFEST_TOOL=':' MKDIR_P='/bin/mkdir -p' NM='/home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-nm' NMEDIT='' OBJDUMP='/home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-objdump' OBJEXT='o' OTOOL64='' OTOOL='' PACKAGE='libarchive' PACKAGE_BUGREPORT='libarchive-discuss@googlegroups.com' PACKAGE_NAME='libarchive' PACKAGE_STRING='libarchive 3.4.0' PACKAGE_TARNAME='libarchive' PACKAGE_URL='' PACKAGE_VERSION='3.4.0' PATH_SEPARATOR=':' PKG_CONFIG='/home/buildroot/autobuild/instance-0/output/host/bin/pkg-config' PKG_CONFIG_LIBDIR='' PKG_CONFIG_PATH='' PLATFORMCPPFLAGS='' RANLIB='/home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-ranlib' SED='/bin/sed' SET_MAKE='' SHELL='/bin/bash' STATIC_BSDCAT_FALSE='' STATIC_BSDCAT_TRUE='#' STATIC_BSDCPIO_FALSE='' STATIC_BSDCPIO_TRUE='#' STATIC_BSDTAR_FALSE='' STATIC_BSDTAR_TRUE='#' STRIP='/home/buildroot/autobuild/instance-0/output/host/bin/arm-linux-strip' VERSION='3.4.0' ac_ct_AR='' ac_ct_CC='' ac_ct_DUMPBIN='' am__EXEEXT_FALSE='' am__EXEEXT_TRUE='#' am__fastdepCC_FALSE='' am__fastdepCC_TRUE='#' am__include='include' am__isrc='' am__leading_dot='.' am__nodep='' am__quote='' am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -' bindir='${exec_prefix}/bin' build='x86_64-pc-linux-gnu' build_alias='x86_64-pc-linux-gnu' build_cpu='x86_64' build_os='linux-gnu' build_vendor='pc' datadir='${datarootdir}' datarootdir='${prefix}/share' docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' dvidir='${docdir}' exec_prefix='/usr' host='arm-buildroot-uclinux-uclibcgnueabi' host_alias='arm-buildroot-uclinux-uclibcgnueabi' host_cpu='arm' host_os='uclinux-uclibcgnueabi' host_vendor='buildroot' htmldir='${docdir}' includedir='${prefix}/include' infodir='${datarootdir}/info' install_sh='${SHELL} /home/buildroot/autobuild/instance-0/output/build/libarchive-3.4.0/build/autoconf/install-sh' libdir='${exec_prefix}/lib' libexecdir='${exec_prefix}/libexec' localedir='${datarootdir}/locale' localstatedir='/var' mandir='${datarootdir}/man' mkdir_p='$(MKDIR_P)' oldincludedir='/usr/include' pdfdir='${docdir}' prefix='/usr' program_transform_name='s&^&&' psdir='${docdir}' runstatedir='${localstatedir}/run' sbindir='${exec_prefix}/sbin' sharedstatedir='${prefix}/com' sysconfdir='/etc' target_alias='arm-buildroot-uclinux-uclibcgnueabi' ## ----------- ## ## confdefs.h. ## ## ----------- ## /* confdefs.h */ #define PACKAGE_NAME "libarchive" #define PACKAGE_TARNAME "libarchive" #define PACKAGE_VERSION "3.4.0" #define PACKAGE_STRING "libarchive 3.4.0" #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com" #define PACKAGE_URL "" #define PACKAGE "libarchive" #define VERSION "3.4.0" #define LIBARCHIVE_VERSION_STRING "3.4.0" #define LIBARCHIVE_VERSION_NUMBER "3004000" #define BSDCPIO_VERSION_STRING "3.4.0" #define BSDTAR_VERSION_STRING "3.4.0" #define BSDCAT_VERSION_STRING "3.4.0" #define STDC_HEADERS 1 #define HAVE_SYS_TYPES_H 1 #define HAVE_SYS_STAT_H 1 #define HAVE_STDLIB_H 1 #define HAVE_STRING_H 1 #define HAVE_MEMORY_H 1 #define HAVE_STRINGS_H 1 #define HAVE_INTTYPES_H 1 #define HAVE_STDINT_H 1 #define HAVE_UNISTD_H 1 #define __EXTENSIONS__ 1 #define _ALL_SOURCE 1 #define _GNU_SOURCE 1 #define _POSIX_PTHREAD_SEMANTICS 1 #define _TANDEM_SOURCE 1 #define LT_OBJDIR ".libs/" #define HAVE_DIRENT_H 1 #define HAVE_SYS_WAIT_H 1 #define HAVE_CTYPE_H 1 #define HAVE_ERRNO_H 1 #define HAVE_FCNTL_H 1 #define HAVE_GRP_H 1 #define HAVE_INTTYPES_H 1 #define HAVE_LANGINFO_H 1 #define HAVE_LIMITS_H 1 #define HAVE_LINUX_FIEMAP_H 1 #define HAVE_LINUX_FS_H 1 #define HAVE_LINUX_MAGIC_H 1 #define HAVE_LINUX_TYPES_H 1 #define HAVE_WORKING_FS_IOC_GETFLAGS 1 #define HAVE_LOCALE_H 1 #define HAVE_PATHS_H 1 #define HAVE_POLL_H 1 #define HAVE_PTHREAD_H 1 #define HAVE_PWD_H 1 #define HAVE_SIGNAL_H 1 #define HAVE_SPAWN_H 1 #define HAVE_STDARG_H 1 #define HAVE_STDINT_H 1 #define HAVE_STDLIB_H 1 #define HAVE_STRING_H 1 #define HAVE_SYS_CDEFS_H 1 #define HAVE_SYS_IOCTL_H 1 #define HAVE_SYS_MOUNT_H 1 #define HAVE_SYS_PARAM_H 1 #define HAVE_SYS_POLL_H 1 #define HAVE_SYS_SELECT_H 1 #define HAVE_SYS_STATFS_H 1 #define HAVE_SYS_STATVFS_H 1 #define HAVE_SYS_SYSMACROS_H 1 #define HAVE_SYS_TIME_H 1 #define HAVE_SYS_UTSNAME_H 1 #define HAVE_SYS_VFS_H 1 #define HAVE_SYS_XATTR_H 1 #define HAVE_TIME_H 1 #define HAVE_UNISTD_H 1 #define HAVE_UTIME_H 1 #define HAVE_WCHAR_H 1 #define HAVE_WCTYPE_H 1 #define HAVE_ICONV 1 #define ICONV_CONST #define HAVE_ICONV_H 1 #define HAVE_LZMA_H 1 #define HAVE_LIBLZMA 1 #define HAVE_LZMA_STREAM_ENCODER_MT 1 #define HAVE_REGEX_H 1 #define HAVE_STRUCT_TM_TM_GMTOFF 1 #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1 #define HAVE_STRUCT_STAT_ST_BLKSIZE 1 #define HAVE_UINTMAX_T 1 #define HAVE_UNSIGNED_LONG_LONG 1 #define HAVE_UNSIGNED_LONG_LONG_INT 1 #define HAVE_LONG_LONG_INT 1 #define HAVE_INTMAX_T 1 #define HAVE_UINTMAX_T 1 #define HAVE_DECL_SIZE_MAX 1 #define HAVE_DECL_INT32_MAX 1 #define HAVE_DECL_INT32_MIN 1 #define HAVE_DECL_INT64_MAX 1 #define HAVE_DECL_INT64_MIN 1 #define HAVE_DECL_UINT64_MAX 1 #define HAVE_DECL_UINT32_MAX 1 #define HAVE_DECL_INTMAX_MAX 1 #define HAVE_DECL_INTMAX_MIN 1 #define HAVE_DECL_UINTMAX_MAX 1 #define HAVE_DECL_SSIZE_MAX 1 #define HAVE_EILSEQ 1 #define HAVE_WCHAR_T 1 #define SIZEOF_WCHAR_T 4 #define TIME_WITH_SYS_TIME 1 #define HAVE_FSEEKO 1 #define HAVE_LSTAT_EMPTY_STRING_BUG 1 #define HAVE_STAT_EMPTY_STRING_BUG 1 #define HAVE_DECL_STRERROR_R 1 #define HAVE_STRERROR_R 1 #define STRERROR_R_CHAR_P 1 #define HAVE_STRFTIME 1 #define HAVE_VPRINTF 1 #define HAVE_CHOWN 1 #define HAVE_CHROOT 1 #define HAVE_CTIME_R 1 #define HAVE_FCHDIR 1 #define HAVE_FCHMOD 1 #define HAVE_FCHOWN 1 #define HAVE_FCNTL 1 #define HAVE_FDOPENDIR 1 #define HAVE_FSTAT 1 #define HAVE_FSTATAT 1 #define HAVE_FSTATFS 1 #define HAVE_FSTATVFS 1 #define HAVE_FTRUNCATE 1 #define HAVE_FUTIMENS 1 #define HAVE_FUTIMESAT 1 #define HAVE_GETEUID 1 #define HAVE_GETPID 1 #define HAVE_GETGRGID_R 1 #define HAVE_GETGRNAM_R 1 #define HAVE_GETPWNAM_R 1 #define HAVE_GETPWUID_R 1 #define HAVE_GMTIME_R 1 #define HAVE_LCHOWN 1 #define HAVE_LINK 1 #define HAVE_LOCALTIME_R 1 #define HAVE_LSTAT 1 #define HAVE_LUTIMES 1 #define HAVE_MBRTOWC 1 #define HAVE_MEMMOVE 1 #define HAVE_MEMSET 1 #define HAVE_MKDIR 1 #define HAVE_MKFIFO 1 #define HAVE_MKNOD 1 #define HAVE_MKSTEMP 1 #define HAVE_NL_LANGINFO 1 #define HAVE_OPENAT 1 #define HAVE_PIPE 1 #define HAVE_POLL 1 #define HAVE_POSIX_SPAWNP 1 #define HAVE_READLINK 1 #define HAVE_READLINKAT 1 #define HAVE_SELECT 1 #define HAVE_SETENV 1 #define HAVE_SETLOCALE 1 #define HAVE_SIGACTION 1 #define HAVE_STATFS 1 #define HAVE_STATVFS 1 #define HAVE_STRCHR 1 #define HAVE_STRDUP 1 #define HAVE_STRERROR 1 #define HAVE_STRRCHR 1 #define HAVE_SYMLINK 1 #define HAVE_TIMEGM 1 #define HAVE_TZSET 1 #define HAVE_UNLINKAT 1 #define HAVE_UNSETENV 1 #define HAVE_UTIME 1 #define HAVE_UTIMENSAT 1 #define HAVE_UTIMES 1 #define HAVE_VFORK 1 #define HAVE_WCRTOMB 1 #define HAVE_WCSCMP 1 #define HAVE_WCSCPY 1 #define HAVE_WCSLEN 1 #define HAVE_WCTOMB 1 #define HAVE_WMEMCMP 1 #define HAVE_WMEMCPY 1 #define HAVE_WMEMMOVE 1 #define HAVE_READDIR_R 1 #define HAVE_DIRFD 1 configure: exit 0