Build of libarchive with android toolchain

The build took 00h 01m 30s and was NOT successful.

The program in this build is written in the following languages, according to sloccount:

SLOCLanguage
145,222 ansic
12,310 sh
9,471 makefile
770 awk
167,773 total

The process tree of the build process is here.

Several sub-process invocations were improper; see the process tree for details. Summary:

List of Errors

Log

To avoid scrolling, you may jump to the last line of the invocation of makepkg that was used to build this package.

Removed vanilla repositories from pacman.conf and added:
# [tuscan]
# Server = file:///var/cache/pacman/pkg/

CMD: pacman -Syy --noconfirm
# :: Synchronizing package databases...
# downloading tuscan.db...

Copied permanent toolchain into container-local sysroot
# /toolchain_root/arm-linux-androideabi --> /sysroot/arm-linux-androideabi
# /toolchain_root/COPYING3.LIB --> /sysroot/COPYING3.LIB
# /toolchain_root/sysroot --> /sysroot/sysroot
# /toolchain_root/COPYING.RUNTIME --> /sysroot/COPYING.RUNTIME
# /toolchain_root/lib --> /sysroot/lib
# /toolchain_root/SOURCES --> /sysroot/SOURCES
# /toolchain_root/lib64 --> /sysroot/lib64
# /toolchain_root/share --> /sysroot/share
# /toolchain_root/bin --> /sysroot/bin
# /toolchain_root/COPYING --> /sysroot/COPYING
# /toolchain_root/COPYING3 --> /sysroot/COPYING3
# /toolchain_root/COPYING.LIB --> /sysroot/COPYING.LIB
# /toolchain_root/include --> /sysroot/include
# /toolchain_root/libexec --> /sysroot/libexec

CMD: sudo -u tuscan PATH=/sysroot/bin:/sysroot/libexec/gcc/arm-linux-androideabi/4.8:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin CC=arm-linux-androideabi-gcc CXX=arm-linux-androideabi-g++ red makepkg --noextract --syncdeps --skipinteg --skippgpcheck --skipchecksums --noconfirm --nocolor --log --noprogressbar --nocheck
# ==> Making package: libarchive 3.2.1-2 (Tue Apr 4 21:01:21 UTC 2017)
# ==> Checking runtime dependencies...
# ==> Checking buildtime dependencies...
# ==> WARNING: Using existing $srcdir/ tree
# ==> Starting build()...
# checking for a BSD-compatible install... /usr/bin/install -c
# checking whether build environment is sane... yes
# checking for arm-linux-androideabi-strip... arm-linux-androideabi-strip
# checking for a thread-safe mkdir -p... /usr/sbin/mkdir -p
# checking for gawk... gawk
# checking whether make sets $(MAKE)... yes
# checking whether make supports nested variables... yes
# checking whether make supports nested variables... (cached) yes
# checking build system type... x86_64-unknown-linux-gnu
# checking host system type... arm-unknown-linux-androideabi
# checking for arm-linux-androideabi-gcc... arm-linux-androideabi-gcc
# checking whether the C compiler works... yes
# checking for C compiler default output file name... a.out
# checking for suffix of executables...
# checking whether we are cross compiling... yes
# checking for suffix of object files... o
# checking whether we are using the GNU C compiler... yes
# checking whether arm-linux-androideabi-gcc accepts -g... yes
# checking for arm-linux-androideabi-gcc option to accept ISO C89... none needed
# checking whether arm-linux-androideabi-gcc understands -c and -o together... yes
# checking for style of include used by make... GNU
# checking dependency style of arm-linux-androideabi-gcc... gcc3
# checking how to run the C preprocessor... arm-linux-androideabi-gcc -E
# checking for grep that handles long lines and -e... /usr/sbin/grep
# checking for egrep... /usr/sbin/grep -E
# checking for ANSI C header files... yes
# checking for sys/types.h... yes
# checking for sys/stat.h... yes
# checking for stdlib.h... yes
# checking for string.h... yes
# checking for memory.h... yes
# checking for strings.h... yes
# checking for inttypes.h... yes
# checking for stdint.h... yes
# checking for unistd.h... yes
# checking minix/config.h usability... no
# checking minix/config.h presence... no
# checking for minix/config.h... no
# checking whether it is safe to define __EXTENSIONS__... yes
# checking how to print strings... printf
# checking for a sed that does not truncate output... /usr/sbin/sed
# checking for fgrep... /usr/sbin/grep -F
# checking for ld used by arm-linux-androideabi-gcc... /sysroot/arm-linux-androideabi/bin/ld
# checking if the linker (/sysroot/arm-linux-androideabi/bin/ld) is GNU ld... yes
# checking for BSD- or MS-compatible name lister (nm)... /sysroot/bin/arm-linux-androideabi-nm -B
# checking the name lister (/sysroot/bin/arm-linux-androideabi-nm -B) interface... BSD nm
# checking whether ln -s works... yes
# checking the maximum length of command line arguments... 1572864
# checking whether the shell understands some XSI constructs... yes
# checking whether the shell understands "+="... yes
# checking how to convert x86_64-unknown-linux-gnu file names to arm-unknown-linux-androideabi format... func_convert_file_noop
# checking how to convert x86_64-unknown-linux-gnu file names to toolchain format... func_convert_file_noop
# checking for /sysroot/arm-linux-androideabi/bin/ld option to reload object files... -r
# checking for arm-linux-androideabi-objdump... objdump
# checking how to recognize dependent libraries... pass_all
# checking for arm-linux-androideabi-dlltool... dlltool
# checking how to associate runtime and link libraries... printf %s\n
# checking for arm-linux-androideabi-ar... arm-linux-androideabi-ar
# checking for archiver @FILE support... @
# checking for arm-linux-androideabi-strip... (cached) arm-linux-androideabi-strip
# checking for arm-linux-androideabi-ranlib... arm-linux-androideabi-ranlib
# checking command to parse /sysroot/bin/arm-linux-androideabi-nm -B output from arm-linux-androideabi-gcc object... ok
# checking for sysroot... no
# checking for arm-linux-androideabi-mt... no
# checking for mt... no
# checking if : is a manifest tool... no
# checking for dlfcn.h... yes
# checking for objdir... .libs
# checking if arm-linux-androideabi-gcc supports -fno-rtti -fno-exceptions... no
# checking for arm-linux-androideabi-gcc option to produce PIC... -fPIC -DPIC
# checking if arm-linux-androideabi-gcc PIC flag -fPIC -DPIC works... yes
# checking if arm-linux-androideabi-gcc static flag -static works... yes
# checking if arm-linux-androideabi-gcc supports -c -o file.o... yes
# checking if arm-linux-androideabi-gcc supports -c -o file.o... (cached) yes
# checking whether the arm-linux-androideabi-gcc linker (/sysroot/arm-linux-androideabi/bin/ld) supports shared libraries... yes
# checking whether -lc should be explicitly linked in... no
# checking dynamic linker characteristics... GNU/Linux ld.so
# checking how to hardcode library paths into programs... immediate
# checking whether stripping libraries is possible... yes
# checking if libtool supports shared libraries... yes
# checking whether to build shared libraries... yes
# checking whether to build static libraries... yes
# checking for arm-linux-androideabi-strip... (cached) arm-linux-androideabi-strip
# checking for dirent.h that defines DIR... yes
# checking for library containing opendir... none required
# checking for sys/wait.h that is POSIX.1 compatible... yes
# checking copyfile.h usability... no
# checking copyfile.h presence... no
# checking for copyfile.h... no
# checking ctype.h usability... yes
# checking ctype.h presence... yes
# checking for ctype.h... yes
# checking errno.h usability... yes
# checking errno.h presence... yes
# checking for errno.h... yes
# checking ext2fs/ext2_fs.h usability... no
# checking ext2fs/ext2_fs.h presence... no
# checking for ext2fs/ext2_fs.h... no
# checking fcntl.h usability... yes
# checking fcntl.h presence... yes
# checking for fcntl.h... yes
# checking grp.h usability... yes
# checking grp.h presence... yes
# checking for grp.h... yes
# checking whether EXT2_IOC_GETFLAGS is usable... no
# checking for inttypes.h... (cached) yes
# checking io.h usability... no
# checking io.h presence... no
# checking for io.h... no
# checking langinfo.h usability... no
# checking langinfo.h presence... no
# checking for langinfo.h... no
# checking limits.h usability... yes
# checking limits.h presence... yes
# checking for limits.h... yes
# checking linux/fiemap.h usability... yes
# checking linux/fiemap.h presence... yes
# checking for linux/fiemap.h... yes
# checking linux/fs.h usability... yes
# checking linux/fs.h presence... yes
# checking for linux/fs.h... yes
# checking linux/magic.h usability... yes
# checking linux/magic.h presence... yes
# checking for linux/magic.h... yes
# checking linux/types.h usability... yes
# checking linux/types.h presence... yes
# checking for linux/types.h... yes
# checking locale.h usability... yes
# checking locale.h presence... yes
# checking for locale.h... yes
# checking paths.h usability... yes
# checking paths.h presence... yes
# checking for paths.h... yes
# checking poll.h usability... yes
# checking poll.h presence... yes
# checking for poll.h... yes
# checking pthread.h usability... yes
# checking pthread.h presence... yes
# checking for pthread.h... yes
# checking pwd.h usability... yes
# checking pwd.h presence... yes
# checking for pwd.h... yes
# checking readpassphrase.h usability... no
# checking readpassphrase.h presence... no
# checking for readpassphrase.h... no
# checking signal.h usability... yes
# checking signal.h presence... yes
# checking for signal.h... yes
# checking spawn.h usability... no
# checking spawn.h presence... no
# checking for spawn.h... no
# checking stdarg.h usability... yes
# checking stdarg.h presence... yes
# checking for stdarg.h... yes
# checking for stdint.h... (cached) yes
# checking for stdlib.h... (cached) yes
# checking for string.h... (cached) yes
# checking sys/cdefs.h usability... yes
# checking sys/cdefs.h presence... yes
# checking for sys/cdefs.h... yes
# checking sys/extattr.h usability... no
# checking sys/extattr.h presence... no
# checking for sys/extattr.h... no
# checking sys/ioctl.h usability... yes
# checking sys/ioctl.h presence... yes
# checking for sys/ioctl.h... yes
# checking sys/mkdev.h usability... no
# checking sys/mkdev.h presence... no
# checking for sys/mkdev.h... no
# checking sys/mount.h usability... yes
# checking sys/mount.h presence... yes
# checking for sys/mount.h... yes
# checking sys/param.h usability... yes
# checking sys/param.h presence... yes
# checking for sys/param.h... yes
# checking sys/poll.h usability... yes
# checking sys/poll.h presence... yes
# checking for sys/poll.h... yes
# checking sys/select.h usability... yes
# checking sys/select.h presence... yes
# checking for sys/select.h... yes
# checking sys/statfs.h usability... yes
# checking sys/statfs.h presence... yes
# checking for sys/statfs.h... yes
# checking sys/statvfs.h usability... yes
# checking sys/statvfs.h presence... yes
# checking for sys/statvfs.h... yes
# checking sys/time.h usability... yes
# checking sys/time.h presence... yes
# checking for sys/time.h... yes
# checking sys/utime.h usability... yes
# checking sys/utime.h presence... yes
# checking for sys/utime.h... yes
# checking sys/utsname.h usability... yes
# checking sys/utsname.h presence... yes
# checking for sys/utsname.h... yes
# checking sys/vfs.h usability... yes
# checking sys/vfs.h presence... yes
# checking for sys/vfs.h... yes
# checking time.h usability... yes
# checking time.h presence... yes
# checking for time.h... yes
# checking for unistd.h... (cached) yes
# checking utime.h usability... yes
# checking utime.h presence... yes
# checking for utime.h... yes
# checking wchar.h usability... yes
# checking wchar.h presence... yes
# checking for wchar.h... yes
# checking wctype.h usability... yes
# checking wctype.h presence... yes
# checking for wctype.h... yes
# checking windows.h usability... no
# checking windows.h presence... no
# checking for windows.h... no
# checking Bcrypt.h usability... no
# checking Bcrypt.h presence... no
# checking for Bcrypt.h... no
# checking for wincrypt.h... no
# checking for winioctl.h... no
# checking zlib.h usability... yes
# checking zlib.h presence... yes
# checking for zlib.h... yes
# checking for inflate in -lz... yes
# checking bzlib.h usability... no
# checking bzlib.h presence... no
# checking for bzlib.h... no
# checking for BZ2_bzDecompressInit in -lbz2... no
# checking lzmadec.h usability... no
# checking lzmadec.h presence... no
# checking for lzmadec.h... no
# checking for lzmadec_decode in -llzmadec... no
# checking for ld used by GCC... /sysroot/arm-linux-androideabi/bin/ld
# checking if the linker (/sysroot/arm-linux-androideabi/bin/ld) is GNU ld... yes
# checking for shared library run path origin... done
# checking for iconv... no, consider installing GNU libiconv
# checking for iconv.h... no
# checking lz4.h usability... no
# checking lz4.h presence... no
# checking for lz4.h... no
# checking lz4hc.h usability... no
# checking lz4hc.h presence... no
# checking for lz4hc.h... no
# checking for LZ4_decompress_safe in -llz4... no
# checking lzma.h usability... no
# checking lzma.h presence... no
# checking for lzma.h... no
# checking for lzma_stream_decoder in -llzma... no
# checking whether we have multithread support in lzma... no
# checking lzo/lzoconf.h usability... no
# checking lzo/lzoconf.h presence... no
# checking for lzo/lzoconf.h... no
# checking lzo/lzo1x.h usability... no
# checking lzo/lzo1x.h presence... no
# checking for lzo/lzo1x.h... no
# checking for lzo1x_decompress_safe in -llzo2... no
# checking expat.h usability... no
# checking expat.h presence... no
# checking for expat.h... no
# checking for XML_ParserCreate in -lexpat... no
# checking regex.h usability... yes
# checking regex.h presence... yes
# checking for regex.h... yes
# checking for regcomp... yes
# checking whether C compiler accepts -Wall... yes
# checking whether C compiler accepts -Wformat... yes
# checking whether C compiler accepts -Wformat-security... yes
# checking for an ANSI C-conforming const... yes
# checking for uid_t in sys/types.h... yes
# checking for mode_t... yes
# checking for off_t... yes
# checking for size_t... yes
# checking for id_t... yes
# checking for uintptr_t... yes
# checking for struct tm.tm_gmtoff... yes
# checking for struct tm.__tm_gmtoff... no
# checking for struct statfs.f_namemax... no
# checking for struct statvfs.f_iosize... no
# checking for struct stat.st_birthtime... no
# checking for struct stat.st_birthtimespec.tv_nsec... no
# checking for struct stat.st_mtimespec.tv_nsec... no
# checking for struct stat.st_mtim.tv_nsec... no
# checking for struct stat.st_mtime_n... no
# checking for struct stat.st_umtime... no
# checking for struct stat.st_mtime_usec... no
# checking for struct stat.st_blksize... yes
# checking for struct stat.st_flags... no
# checking for uintmax_t... yes
# checking for unsigned long long... yes
# checking for unsigned long long int... yes
# checking for long long int... yes
# checking for intmax_t... yes
# checking for uintmax_t... (cached) yes
# checking for int64_t... yes
# checking for uint64_t... yes
# checking for int32_t... yes
# checking for uint32_t... yes
# checking for int16_t... yes
# checking for uint16_t... yes
# checking for uint8_t... yes
# checking whether SIZE_MAX is declared... yes
# checking whether INT32_MAX is declared... yes
# checking whether INT32_MIN is declared... yes
# checking whether INT64_MAX is declared... yes
# checking whether INT64_MIN is declared... yes
# checking whether UINT64_MAX is declared... yes
# checking whether UINT32_MAX is declared... yes
# checking whether INTMAX_MAX is declared... yes
# checking whether INTMAX_MIN is declared... yes
# checking whether UINTMAX_MAX is declared... yes
# checking whether SSIZE_MAX is declared... yes
# checking whether EFTYPE is declared... no
# checking whether EILSEQ is declared... yes
# checking for wchar_t... yes
# checking size of wchar_t... 4
# checking whether time.h and sys/time.h may both be included... yes
# checking whether arm-linux-androideabi-gcc needs -traditional... no
# checking whether sys/types.h defines makedev... yes
# checking for _LARGEFILE_SOURCE value needed for large files... no
# checking for working memcmp... no
# checking whether lstat correctly handles trailing slash... no
# checking whether lstat accepts an empty string... yes
# checking whether stat accepts an empty string... yes
# checking whether strerror_r is declared... yes
# checking for strerror_r... yes
# checking whether strerror_r returns char *... no
# checking for strftime... yes
# checking for vprintf... yes
# checking for _doprnt... no
# checking for CreateHardLinkA... no
# checking for arc4random_buf... yes
# checking for chflags... no
# checking for chown... yes
# checking for chroot... yes
# checking for ctime_r... yes
# checking for dirfd... yes
# checking for fchdir... yes
# checking for fchflags... no
# checking for fchmod... yes
# checking for fchown... yes
# checking for fcntl... yes
# checking for fdopendir... yes
# checking for fork... yes
# checking for fstat... yes
# checking for fstatat... yes
# checking for fstatfs... yes
# checking for fstatvfs... yes
# checking for ftruncate... yes
# checking for futimens... yes
# checking for futimes... no
# checking for futimesat... no
# checking for geteuid... yes
# checking for getpid... yes
# checking for getgrgid_r... no
# checking for getgrnam_r... no
# checking for getpwnam_r... yes
# checking for getpwuid_r... yes
# checking for getvfsbyname... no
# checking for gmtime_r... yes
# checking for lchflags... no
# checking for lchmod... no
# checking for lchown... yes
# checking for link... yes
# checking for localtime_r... yes
# checking for lstat... yes
# checking for lutimes... no
# checking for mbrtowc... yes
# checking for memmove... yes
# checking for memset... yes
# checking for mkdir... yes
# checking for mkfifo... yes
# checking for mknod... yes
# checking for mkstemp... yes
# checking for nl_langinfo... no
# checking for openat... yes
# checking for pipe... yes
# checking for poll... yes
# checking for posix_spawnp... no
# checking for readlink... yes
# checking for readlinkat... yes
# checking for readpassphrase... no
# checking for select... yes
# checking for setenv... yes
# checking for setlocale... yes
# checking for sigaction... yes
# checking for statfs... yes
# checking for statvfs... yes
# checking for strchr... yes
# checking for strdup... yes
# checking for strerror... yes
# checking for strncpy_s... no
# checking for strrchr... yes
# checking for symlink... yes
# checking for timegm... yes
# checking for tzset... yes
# checking for unsetenv... yes
# checking for utime... yes
# checking for utimensat... yes
# checking for utimes... yes
# checking for vfork... yes
# checking for wcrtomb... yes
# checking for wcscmp... yes
# checking for wcscpy... yes
# checking for wcslen... yes
# checking for wctomb... yes
# checking for wmemcmp... yes
# checking for wmemcpy... yes
# checking for wmemmove... yes
# checking for _ctime64_s... no
# checking for _fseeki64... no
# checking for _get_timezone... no
# checking for _localtime64_s... no
# checking for _mkgmtime64... no
# checking for cygwin_conv_path... no
# checking whether D_MD_ORDER is declared... no
# checking for struct dirent.d_namlen... no
# checking attr/xattr.h usability... no
# checking attr/xattr.h presence... no
# checking for attr/xattr.h... no
# checking sys/xattr.h usability... yes
# checking sys/xattr.h presence... yes
# checking for sys/xattr.h... yes
# checking sys/ea.h usability... no
# checking sys/ea.h presence... no
# checking for sys/ea.h... no
# checking for library containing setxattr... none required
# checking for extattr_get_file... no
# checking for extattr_list_file... no
# checking for extattr_set_fd... no
# checking for extattr_set_file... no
# checking for fgetxattr... yes
# checking for flistxattr... yes
# checking for fsetxattr... yes
# checking for getxattr... yes
# checking for lgetxattr... yes
# checking for listxattr... yes
# checking for llistxattr... yes
# checking for lsetxattr... yes
# checking for fgetea... no
# checking for flistea... no
# checking for fsetea... no
# checking for getea... no
# checking for lgetea... no
# checking for listea... no
# checking for llistea... no
# checking for lsetea... no
# checking whether EXTATTR_NAMESPACE_USER is declared... no
# checking acl/libacl.h usability... no
# checking acl/libacl.h presence... no
# checking for acl/libacl.h... no
# checking sys/acl.h usability... no
# checking sys/acl.h presence... no
# checking for sys/acl.h... no
# checking for acl_get_file in -lacl... no
# checking for acl_create_entry... no
# checking for acl_init... no
# checking for acl_set_fd... no
# checking for acl_set_fd_np... no
# checking for acl_set_file... no
# checking for acl_permset_t... no
# checking for acl_get_perm_np... no
# checking for acl_get_perm... no
# checking for acl_get_link... no
# checking for acl_get_link_np... no
# checking whether ACL_USER is declared... no
# checking for special C compiler options needed for large files... no
# checking for _FILE_OFFSET_BITS value needed for large files... unknown
# checking for _LARGE_FILES value needed for large files... unknown
# checking support for ARCHIVE_CRYPTO_MD5_LIBC... no
# checking support for ARCHIVE_CRYPTO_MD5_LIBSYSTEM... no
# checking support for ARCHIVE_CRYPTO_RMD160_LIBC... no
# checking support for ARCHIVE_CRYPTO_SHA1_LIBC... no
# checking support for ARCHIVE_CRYPTO_SHA1_LIBSYSTEM... no
# checking support for ARCHIVE_CRYPTO_SHA256_LIBC... no
# checking support for ARCHIVE_CRYPTO_SHA256_LIBC2... no
# checking support for ARCHIVE_CRYPTO_SHA256_LIBC3... no
# checking support for ARCHIVE_CRYPTO_SHA256_LIBSYSTEM... no
# checking support for ARCHIVE_CRYPTO_SHA384_LIBC... no
# checking support for ARCHIVE_CRYPTO_SHA384_LIBC2... no
# checking support for ARCHIVE_CRYPTO_SHA384_LIBC3... no
# checking support for ARCHIVE_CRYPTO_SHA384_LIBSYSTEM... no
# checking support for ARCHIVE_CRYPTO_SHA512_LIBC... no
# checking support for ARCHIVE_CRYPTO_SHA512_LIBC2... no
# checking support for ARCHIVE_CRYPTO_SHA512_LIBC3... no
# checking support for ARCHIVE_CRYPTO_SHA512_LIBSYSTEM... no
# checking openssl/evp.h usability... no
# checking openssl/evp.h presence... no
# checking for openssl/evp.h... no
# checking for OPENSSL_config in -lcrypto... no
# checking support for ARCHIVE_CRYPTO_MD5_OPENSSL... no
# checking support for ARCHIVE_CRYPTO_RMD160_OPENSSL... no
# checking support for ARCHIVE_CRYPTO_SHA1_OPENSSL... no
# checking support for ARCHIVE_CRYPTO_SHA256_OPENSSL... no
# checking support for ARCHIVE_CRYPTO_SHA384_OPENSSL... no
# checking support for ARCHIVE_CRYPTO_SHA512_OPENSSL... no
# checking md5.h usability... no
# checking md5.h presence... no
# checking for md5.h... no
# checking ripemd.h usability... no
# checking ripemd.h presence... no
# checking for ripemd.h... no
# checking sha.h usability... no
# checking sha.h presence... no
# checking for sha.h... no
# checking sha256.h usability... no
# checking sha256.h presence... no
# checking for sha256.h... no
# checking sha512.h usability... no
# checking sha512.h presence... no
# checking for sha512.h... no
# checking for MD5Init in -lmd... no
# checking support for ARCHIVE_CRYPTO_MD5_LIBMD... no
# checking support for ARCHIVE_CRYPTO_RMD160_LIBMD... no
# checking support for ARCHIVE_CRYPTO_SHA1_LIBMD... no
# checking support for ARCHIVE_CRYPTO_SHA256_LIBMD... no
# checking support for ARCHIVE_CRYPTO_SHA512_LIBMD... no
# checking that generated files are newer than configure... done
# configure: creating ./config.status
# config.status: creating Makefile
# config.status: creating build/pkgconfig/libarchive.pc
# config.status: creating config.h
# config.status: executing depfiles commands
# config.status: executing libtool commands
# config.status: executing mkdirs commands
# /usr/sbin/mkdir -p libarchive/test
# /usr/sbin/mkdir -p tar/test
# /usr/sbin/mkdir -p cpio/test
# cat ./cat/test/test_*.c | grep '^DEFINE_TEST' > cat/test/list.h
# cat ./libarchive/test/test_*.c | grep '^DEFINE_TEST' > libarchive/test/list.h
# cat ./tar/test/test_*.c | grep '^DEFINE_TEST' > tar/test/list.h
# cat ./cpio/test/test_*.c | grep '^DEFINE_TEST' > cpio/test/list.h
# make all-am
# make[1]: Entering directory '/tmp/libarchive/src/libarchive-3.2.1'
# CC libarchive/archive_acl.lo
# CC libarchive/archive_check_magic.lo
# CC libarchive/archive_cmdline.lo
# CC libarchive/archive_cryptor.lo
# In file included from libarchive/archive_string.h:49:0,
# from libarchive/archive_acl_private.h:35,
# from libarchive/archive_acl.c:39:
# libarchive/archive.h:101:24: fatal error: android_lf.h: No such file or directory
# #include "android_lf.h"
# ^
# compilation terminated.
# In file included from libarchive/archive_cmdline.c:37:0:
# libarchive/archive.h:101:24: fatal error: android_lf.h: No such file or directory
# #include "android_lf.h"
# ^
# compilation terminated.
# In file included from libarchive/archive_private.h:39:0,
# from libarchive/archive_check_magic.c:48:
# libarchive/archive.h:101:24: fatal error: android_lf.h: No such file or directory
# #include "android_lf.h"
# ^
# compilation terminated.
# make[1]: *** [Makefile:5483: libarchive/archive_acl.lo] Error 1
# make[1]: *** Waiting for unfinished jobs....
# make[1]: *** [Makefile:5483: libarchive/archive_cmdline.lo] Error 1
# make[1]: *** [Makefile:5483: libarchive/archive_check_magic.lo] Error 1
# In file included from libarchive/archive_cryptor.c:31:0:
# libarchive/archive.h:101:24: fatal error: android_lf.h: No such file or directory
# #include "android_lf.h"
# ^
# compilation terminated.
# make[1]: *** [Makefile:5483: libarchive/archive_cryptor.lo] Error 1
# make[1]: Leaving directory '/tmp/libarchive/src/libarchive-3.2.1'
# make: *** [Makefile:2863: all] Error 2
# ==> ERROR: A failure occurred in build().
# Aborting...

Printing config logfiles

CMD: config logfiles '/tmp/libarchive/src/libarchive-3.2.1/config.log'
# 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.2.1, which was
# generated by GNU Autoconf 2.69. Invocation command line was
#
# $ ./configure --build=x86_64-unknown-linux --host=arm-linux-androideabi --prefix=/usr --without-xml2 --without-nettle
#
# ## --------- ##
# ## Platform. ##
# ## --------- ##
#
# hostname = d52f8e72136a
# uname -m = x86_64
# uname -r = 4.10.6-1-ARCH
# uname -s = Linux
# uname -v = #1 SMP PREEMPT Mon Mar 27 08:28:22 CEST 2017
#
# /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: /sysroot/bin
# PATH: /sysroot/libexec/gcc/arm-linux-androideabi/4.8
# PATH: /usr/local/sbin
# PATH: /usr/local/bin
# PATH: /usr/sbin
# PATH: /usr/bin
# PATH: /sbin
# PATH: /bin
#
#
# ## ----------- ##
# ## Core tests. ##
# ## ----------- ##
#
# configure:2833: checking for a BSD-compatible install
# configure:2901: result: /usr/bin/install -c
# configure:2912: checking whether build environment is sane
# configure:2967: result: yes
# configure:3026: checking for arm-linux-androideabi-strip
# configure:3042: found /sysroot/bin/arm-linux-androideabi-strip
# configure:3053: result: arm-linux-androideabi-strip
# configure:3118: checking for a thread-safe mkdir -p
# configure:3157: result: /usr/sbin/mkdir -p
# configure:3164: checking for gawk
# configure:3180: found /usr/sbin/gawk
# configure:3191: result: gawk
# configure:3202: checking whether make sets $(MAKE)
# configure:3224: result: yes
# configure:3253: checking whether make supports nested variables
# configure:3270: result: yes
# configure:3407: checking whether make supports nested variables
# configure:3424: result: yes
# configure:3502: checking build system type
# configure:3516: result: x86_64-unknown-linux-gnu
# configure:3536: checking host system type
# configure:3549: result: arm-unknown-linux-androideabi
# configure:3608: checking for arm-linux-androideabi-gcc
# configure:3635: result: arm-linux-androideabi-gcc
# configure:3904: checking for C compiler version
# configure:3913: arm-linux-androideabi-gcc --version >&5
# arm-linux-androideabi-gcc (GCC) 4.8
# Copyright (C) 2013 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:3924: $? = 0
# configure:3913: arm-linux-androideabi-gcc -v >&5
# Using built-in specs.
# COLLECT_GCC=arm-linux-androideabi-gcc
# COLLECT_LTO_WRAPPER=/sysroot/bin/../libexec/gcc/arm-linux-androideabi/4.8/lto-wrapper
# Target: arm-linux-androideabi
# Configured with: /s/ndk-toolchain/src/build/../gcc/gcc-4.8/configure --prefix=/tmp/ndk-andrewhsieh/build/toolchain/prefix --target=arm-linux-androideabi --host=x86_64-linux-gnu --build=x86_64-linux-gnu --with-gnu-as --with-gnu-ld --enable-languages=c,c++ --with-gmp=/tmp/ndk-andrewhsieh/build/toolchain/temp-install --with-mpfr=/tmp/ndk-andrewhsieh/build/toolchain/temp-install --with-mpc=/tmp/ndk-andrewhsieh/build/toolchain/temp-install --with-cloog=/tmp/ndk-andrewhsieh/build/toolchain/temp-install --with-isl=/tmp/ndk-andrewhsieh/build/toolchain/temp-install --with-ppl=/tmp/ndk-andrewhsieh/build/toolchain/temp-install --disable-ppl-version-check --disable-cloog-version-check --disable-isl-version-check --enable-cloog-backend=isl --with-host-libstdcxx='-static-libgcc -Wl,-Bstatic,-lstdc++,-Bdynamic -lm' --disable-libssp --enable-threads --disable-nls --disable-libmudflap --disable-libgomp --disable-libstdc__-v3 --disable-sjlj-exceptions --disable-shared --disable-tls --disable-libitm --with-float=soft --with-fpu=vfp --with-arch=armv5te --enable-target-optspace --enable-initfini-array --disable-nls --prefix=/tmp/ndk-andrewhsieh/build/toolchain/prefix --with-sysroot=/tmp/ndk-andrewhsieh/build/toolchain/prefix/sysroot --with-binutils-version=2.25 --with-mpfr-version=3.1.1 --with-mpc-version=1.0.1 --with-gmp-version=5.0.5 --with-gcc-version=4.8 --with-gdb-version=7.7 --with-python=/usr/local/google/home/andrewhsieh/mydroid/ndk/prebuilt/linux-x86_64/bin/python-config.sh --with-gxx-include-dir=/tmp/ndk-andrewhsieh/build/toolchain/prefix/include/c++/4.8 --with-bugurl=http://source.android.com/source/report-bugs.html --enable-languages=c,c++ --disable-bootstrap --enable-plugins --enable-libgomp --enable-gnu-indirect-function --disable-libsanitizer --enable-gold --enable-threads --enable-graphite=yes --with-cloog-version=0.18.0 --with-isl-version=0.11.1 --enable-eh-frame-hdr-for-static --with-arch=armv5te --program-transform-name='s&^&arm-linux-androideabi-&' --enable-gold=default
# Thread model: posix
# gcc version 4.8 (GCC)
# configure:3924: $? = 0
# configure:3913: arm-linux-androideabi-gcc -V >&5
# arm-linux-androideabi-gcc: error: unrecognized command line option '-V'
# arm-linux-androideabi-gcc: fatal error: no input files
# compilation terminated.
# configure:3924: $? = 1
# configure:3913: arm-linux-androideabi-gcc -qversion >&5
# arm-linux-androideabi-gcc: error: unrecognized command line option '-qversion'
# arm-linux-androideabi-gcc: fatal error: no input files
# compilation terminated.
# configure:3924: $? = 1
# configure:3944: checking whether the C compiler works
# configure:3966: arm-linux-androideabi-gcc conftest.c >&5
# configure:3970: $? = 0
# configure:4018: result: yes
# configure:4021: checking for C compiler default output file name
# configure:4023: result: a.out
# configure:4029: checking for suffix of executables
# configure:4036: arm-linux-androideabi-gcc -o conftest conftest.c >&5
# configure:4040: $? = 0
# configure:4062: result:
# configure:4084: checking whether we are cross compiling
# configure:4122: result: yes
# configure:4127: checking for suffix of object files
# configure:4149: arm-linux-androideabi-gcc -c conftest.c >&5
# configure:4153: $? = 0
# configure:4174: result: o
# configure:4178: checking whether we are using the GNU C compiler
# configure:4197: arm-linux-androideabi-gcc -c conftest.c >&5
# configure:4197: $? = 0
# configure:4206: result: yes
# configure:4215: checking whether arm-linux-androideabi-gcc accepts -g
# configure:4235: arm-linux-androideabi-gcc -c -g conftest.c >&5
# configure:4235: $? = 0
# configure:4276: result: yes
# configure:4293: checking for arm-linux-androideabi-gcc option to accept ISO C89
# configure:4356: arm-linux-androideabi-gcc -c conftest.c >&5
# configure:4356: $? = 0
# configure:4369: result: none needed
# configure:4394: checking whether arm-linux-androideabi-gcc understands -c and -o together
# configure:4416: arm-linux-androideabi-gcc -c conftest.c -o conftest2.o
# configure:4419: $? = 0
# configure:4416: arm-linux-androideabi-gcc -c conftest.c -o conftest2.o
# configure:4419: $? = 0
# configure:4431: result: yes
# configure:4459: checking for style of include used by make
# configure:4487: result: GNU
# configure:4513: checking dependency style of arm-linux-androideabi-gcc
# configure:4624: result: gcc3
# configure:4646: checking how to run the C preprocessor
# configure:4677: arm-linux-androideabi-gcc -E conftest.c
# configure:4677: $? = 0
# configure:4691: arm-linux-androideabi-gcc -E conftest.c
# conftest.c:16:28: fatal error: ac_nonexistent.h: No such file or directory
# #include
# ^
# compilation terminated.
# configure:4691: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | /* end confdefs.h. */
# | #include
# configure:4716: result: arm-linux-androideabi-gcc -E
# configure:4736: arm-linux-androideabi-gcc -E conftest.c
# configure:4736: $? = 0
# configure:4750: arm-linux-androideabi-gcc -E conftest.c
# conftest.c:16:28: fatal error: ac_nonexistent.h: No such file or directory
# #include
# ^
# compilation terminated.
# configure:4750: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | /* end confdefs.h. */
# | #include
# configure:4779: checking for grep that handles long lines and -e
# configure:4837: result: /usr/sbin/grep
# configure:4842: checking for egrep
# configure:4904: result: /usr/sbin/grep -E
# configure:4909: checking for ANSI C header files
# configure:4929: arm-linux-androideabi-gcc -c conftest.c >&5
# configure:4929: $? = 0
# configure:5013: result: yes
# configure:5026: checking for sys/types.h
# configure:5026: arm-linux-androideabi-gcc -c conftest.c >&5
# configure:5026: $? = 0
# configure:5026: result: yes
# configure:5026: checking for sys/stat.h
# configure:5026: arm-linux-androideabi-gcc -c conftest.c >&5
# configure:5026: $? = 0
# configure:5026: result: yes
# configure:5026: checking for stdlib.h
# configure:5026: arm-linux-androideabi-gcc -c conftest.c >&5
# configure:5026: $? = 0
# configure:5026: result: yes
# configure:5026: checking for string.h
# configure:5026: arm-linux-androideabi-gcc -c conftest.c >&5
# configure:5026: $? = 0
# configure:5026: result: yes
# configure:5026: checking for memory.h
# configure:5026: arm-linux-androideabi-gcc -c conftest.c >&5
# configure:5026: $? = 0
# configure:5026: result: yes
# configure:5026: checking for strings.h
# configure:5026: arm-linux-androideabi-gcc -c conftest.c >&5
# configure:5026: $? = 0
# configure:5026: result: yes
# configure:5026: checking for inttypes.h
# configure:5026: arm-linux-androideabi-gcc -c conftest.c >&5
# configure:5026: $? = 0
# configure:5026: result: yes
# configure:5026: checking for stdint.h
# configure:5026: arm-linux-androideabi-gcc -c conftest.c >&5
# configure:5026: $? = 0
# configure:5026: result: yes
# configure:5026: checking for unistd.h
# configure:5026: arm-linux-androideabi-gcc -c conftest.c >&5
# configure:5026: $? = 0
# configure:5026: result: yes
# configure:5039: checking minix/config.h usability
# configure:5039: arm-linux-androideabi-gcc -c conftest.c >&5
# conftest.c:59:26: fatal error: minix/config.h: No such file or directory
# #include
# ^
# compilation terminated.
# configure:5039: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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:5039: result: no
# configure:5039: checking minix/config.h presence
# configure:5039: arm-linux-androideabi-gcc -E conftest.c
# conftest.c:26:26: fatal error: minix/config.h: No such file or directory
# #include
# ^
# compilation terminated.
# configure:5039: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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:5039: result: no
# configure:5039: checking for minix/config.h
# configure:5039: result: no
# configure:5060: checking whether it is safe to define __EXTENSIONS__
# configure:5078: arm-linux-androideabi-gcc -c conftest.c >&5
# configure:5078: $? = 0
# configure:5085: result: yes
# configure:5448: checking how to print strings
# configure:5475: result: printf
# configure:5496: checking for a sed that does not truncate output
# configure:5560: result: /usr/sbin/sed
# configure:5578: checking for fgrep
# configure:5640: result: /usr/sbin/grep -F
# configure:5675: checking for ld used by arm-linux-androideabi-gcc
# configure:5742: result: /sysroot/arm-linux-androideabi/bin/ld
# configure:5749: checking if the linker (/sysroot/arm-linux-androideabi/bin/ld) is GNU ld
# configure:5764: result: yes
# configure:5776: checking for BSD- or MS-compatible name lister (nm)
# configure:5825: result: /sysroot/bin/arm-linux-androideabi-nm -B
# configure:5955: checking the name lister (/sysroot/bin/arm-linux-androideabi-nm -B) interface
# configure:5962: arm-linux-androideabi-gcc -c conftest.c >&5
# configure:5965: /sysroot/bin/arm-linux-androideabi-nm -B "conftest.o"
# configure:5968: output
# 00000000 B some_variable
# configure:5975: result: BSD nm
# configure:5978: checking whether ln -s works
# configure:5982: result: yes
# configure:5990: checking the maximum length of command line arguments
# configure:6121: result: 1572864
# configure:6138: checking whether the shell understands some XSI constructs
# configure:6148: result: yes
# configure:6152: checking whether the shell understands "+="
# configure:6158: result: yes
# configure:6193: checking how to convert x86_64-unknown-linux-gnu file names to arm-unknown-linux-androideabi format
# configure:6233: result: func_convert_file_noop
# configure:6240: checking how to convert x86_64-unknown-linux-gnu file names to toolchain format
# configure:6260: result: func_convert_file_noop
# configure:6267: checking for /sysroot/arm-linux-androideabi/bin/ld option to reload object files
# configure:6274: result: -r
# configure:6308: checking for arm-linux-androideabi-objdump
# configure:6335: result: objdump
# configure:6404: checking how to recognize dependent libraries
# configure:6602: result: pass_all
# configure:6647: checking for arm-linux-androideabi-dlltool
# configure:6674: result: dlltool
# configure:6744: checking how to associate runtime and link libraries
# configure:6771: result: printf %s\n
# configure:6787: checking for arm-linux-androideabi-ar
# configure:6803: found /sysroot/bin/arm-linux-androideabi-ar
# configure:6814: result: arm-linux-androideabi-ar
# configure:6895: checking for archiver @FILE support
# configure:6912: arm-linux-androideabi-gcc -c conftest.c >&5
# configure:6912: $? = 0
# configure:6915: arm-linux-androideabi-ar cru libconftest.a @conftest.lst >&5
# configure:6918: $? = 0
# configure:6923: arm-linux-androideabi-ar cru libconftest.a @conftest.lst >&5
# arm-linux-androideabi-ar: conftest.o: No such file or directory
# configure:6926: $? = 1
# configure:6938: result: @
# configure:6956: checking for arm-linux-androideabi-strip
# configure:6983: result: arm-linux-androideabi-strip
# configure:7055: checking for arm-linux-androideabi-ranlib
# configure:7071: found /sysroot/bin/arm-linux-androideabi-ranlib
# configure:7082: result: arm-linux-androideabi-ranlib
# configure:7224: checking command to parse /sysroot/bin/arm-linux-androideabi-nm -B output from arm-linux-androideabi-gcc object
# configure:7344: arm-linux-androideabi-gcc -c conftest.c >&5
# configure:7347: $? = 0
# configure:7351: /sysroot/bin/arm-linux-androideabi-nm -B 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:7354: $? = 0
# configure:7420: arm-linux-androideabi-gcc -o conftest conftest.c conftstm.o >&5
# configure:7423: $? = 0
# configure:7461: result: ok
# configure:7498: checking for sysroot
# configure:7528: result: no
# configure:7757: checking for arm-linux-androideabi-mt
# configure:7787: result: no
# configure:7797: checking for mt
# configure:7827: result: no
# configure:7847: checking if : is a manifest tool
# configure:7853: : '-?'
# configure:7861: result: no
# configure:8500: checking for dlfcn.h
# configure:8500: arm-linux-androideabi-gcc -c conftest.c >&5
# configure:8500: $? = 0
# configure:8500: result: yes
# configure:8704: checking for objdir
# configure:8719: result: .libs
# configure:8986: checking if arm-linux-androideabi-gcc supports -fno-rtti -fno-exceptions
# configure:9004: arm-linux-androideabi-gcc -c -fno-rtti -fno-exceptions conftest.c >&5
# cc1: warning: command line option '-fno-rtti' is valid for C++/ObjC++ but not for C [enabled by default]
# configure:9008: $? = 0
# configure:9021: result: no
# configure:9348: checking for arm-linux-androideabi-gcc option to produce PIC
# configure:9355: result: -fPIC -DPIC
# configure:9363: checking if arm-linux-androideabi-gcc PIC flag -fPIC -DPIC works
# configure:9381: arm-linux-androideabi-gcc -c -fPIC -DPIC -DPIC conftest.c >&5
# configure:9385: $? = 0
# configure:9398: result: yes
# configure:9427: checking if arm-linux-androideabi-gcc static flag -static works
# configure:9455: result: yes
# configure:9470: checking if arm-linux-androideabi-gcc supports -c -o file.o
# configure:9491: arm-linux-androideabi-gcc -c -o out/conftest2.o conftest.c >&5
# configure:9495: $? = 0
# configure:9517: result: yes
# configure:9525: checking if arm-linux-androideabi-gcc supports -c -o file.o
# configure:9572: result: yes
# configure:9605: checking whether the arm-linux-androideabi-gcc linker (/sysroot/arm-linux-androideabi/bin/ld) supports shared libraries
# configure:10762: result: yes
# configure:10799: checking whether -lc should be explicitly linked in
# configure:10807: arm-linux-androideabi-gcc -c conftest.c >&5
# configure:10810: $? = 0
# configure:10825: arm-linux-androideabi-gcc -shared -fPIC -DPIC conftest.o -v -Wl,-soname -Wl,conftest -o conftest 2\>\&1 \| /usr/sbin/grep -lc \>/dev/null 2\>\&1
# configure:10828: $? = 0
# configure:10842: result: no
# configure:11002: checking dynamic linker characteristics
# configure:11502: arm-linux-androideabi-gcc -o conftest -Wl,-rpath -Wl,/foo conftest.c >&5
# configure:11502: $? = 0
# configure:11736: result: GNU/Linux ld.so
# configure:11843: checking how to hardcode library paths into programs
# configure:11868: result: immediate
# configure:12408: checking whether stripping libraries is possible
# configure:12413: result: yes
# configure:12448: checking if libtool supports shared libraries
# configure:12450: result: yes
# configure:12453: checking whether to build shared libraries
# configure:12474: result: yes
# configure:12477: checking whether to build static libraries
# configure:12481: result: yes
# configure:12521: checking for arm-linux-androideabi-strip
# configure:12548: result: arm-linux-androideabi-strip
# configure:12825: checking for dirent.h that defines DIR
# configure:12844: arm-linux-androideabi-gcc -c conftest.c >&5
# configure:12844: $? = 0
# configure:12852: result: yes
# configure:12865: checking for library containing opendir
# configure:12896: arm-linux-androideabi-gcc -o conftest conftest.c >&5
# configure:12896: $? = 0
# configure:12913: result: none required
# configure:12980: checking for sys/wait.h that is POSIX.1 compatible
# configure:13006: arm-linux-androideabi-gcc -c conftest.c >&5
# configure:13006: $? = 0
# configure:13013: result: yes
# configure:13024: checking copyfile.h usability
# configure:13024: arm-linux-androideabi-gcc -c conftest.c >&5
# conftest.c:68:22: fatal error: copyfile.h: No such file or directory
# #include
# ^
# compilation terminated.
# configure:13024: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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:13024: result: no
# configure:13024: checking copyfile.h presence
# configure:13024: arm-linux-androideabi-gcc -E conftest.c
# conftest.c:35:22: fatal error: copyfile.h: No such file or directory
# #include
# ^
# compilation terminated.
# configure:13024: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 1
# | #define LT_OBJDIR ".libs/"
# | #define HAVE_DIRENT_H 1
# | #define HAVE_SYS_WAIT_H 1
# | /* end confdefs.h. */
# | #include
# configure:13024: result: no
# configure:13024: checking for copyfile.h
# configure:13024: result: no
# configure:13024: checking ctype.h usability
# configure:13024: arm-linux-androideabi-gcc -c conftest.c >&5
# configure:13024: $? = 0
# configure:13024: result: yes
# configure:13024: checking ctype.h presence
# configure:13024: arm-linux-androideabi-gcc -E conftest.c
# configure:13024: $? = 0
# configure:13024: result: yes
# configure:13024: checking for ctype.h
# configure:13024: result: yes
# configure:13037: checking errno.h usability
# configure:13037: arm-linux-androideabi-gcc -c conftest.c >&5
# configure:13037: $? = 0
# configure:13037: result: yes
# configure:13037: checking errno.h presence
# configure:13037: arm-linux-androideabi-gcc -E conftest.c
# configure:13037: $? = 0
# configure:13037: result: yes
# configure:13037: checking for errno.h
# configure:13037: result: yes
# configure:13037: checking ext2fs/ext2_fs.h usability
# configure:13037: arm-linux-androideabi-gcc -c conftest.c >&5
# conftest.c:70:28: fatal error: ext2fs/ext2_fs.h: No such file or directory
# #include
# ^
# compilation terminated.
# configure:13037: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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:13037: result: no
# configure:13037: checking ext2fs/ext2_fs.h presence
# configure:13037: arm-linux-androideabi-gcc -E conftest.c
# conftest.c:37:28: fatal error: ext2fs/ext2_fs.h: No such file or directory
# #include
# ^
# compilation terminated.
# configure:13037: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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:13037: result: no
# configure:13037: checking for ext2fs/ext2_fs.h
# configure:13037: result: no
# configure:13037: checking fcntl.h usability
# configure:13037: arm-linux-androideabi-gcc -c conftest.c >&5
# configure:13037: $? = 0
# configure:13037: result: yes
# configure:13037: checking fcntl.h presence
# configure:13037: arm-linux-androideabi-gcc -E conftest.c
# configure:13037: $? = 0
# configure:13037: result: yes
# configure:13037: checking for fcntl.h
# configure:13037: result: yes
# configure:13037: checking grp.h usability
# configure:13037: arm-linux-androideabi-gcc -c conftest.c >&5
# configure:13037: $? = 0
# configure:13037: result: yes
# configure:13037: checking grp.h presence
# configure:13037: arm-linux-androideabi-gcc -E conftest.c
# configure:13037: $? = 0
# configure:13037: result: yes
# configure:13037: checking for grp.h
# configure:13037: result: yes
# configure:13048: checking whether EXT2_IOC_GETFLAGS is usable
# configure:13065: arm-linux-androideabi-gcc -c conftest.c >&5
# conftest.c:40:28: fatal error: ext2fs/ext2_fs.h: No such file or directory
# #include
# ^
# compilation terminated.
# configure:13065: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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:13072: result: no
# configure:13086: checking for inttypes.h
# configure:13086: result: yes
# configure:13086: checking io.h usability
# configure:13086: arm-linux-androideabi-gcc -c conftest.c >&5
# conftest.c:73:16: fatal error: io.h: No such file or directory
# #include
# ^
# compilation terminated.
# configure:13086: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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:13086: result: no
# configure:13086: checking io.h presence
# configure:13086: arm-linux-androideabi-gcc -E conftest.c
# conftest.c:40:16: fatal error: io.h: No such file or directory
# #include
# ^
# compilation terminated.
# configure:13086: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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:13086: result: no
# configure:13086: checking for io.h
# configure:13086: result: no
# configure:13086: checking langinfo.h usability
# configure:13086: arm-linux-androideabi-gcc -c conftest.c >&5
# conftest.c:73:22: fatal error: langinfo.h: No such file or directory
# #include
# ^
# compilation terminated.
# configure:13086: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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:13086: result: no
# configure:13086: checking langinfo.h presence
# configure:13086: arm-linux-androideabi-gcc -E conftest.c
# conftest.c:40:22: fatal error: langinfo.h: No such file or directory
# #include
# ^
# compilation terminated.
# configure:13086: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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:13086: result: no
# configure:13086: checking for langinfo.h
# configure:13086: result: no
# configure:13086: checking limits.h usability
# configure:13086: arm-linux-androideabi-gcc -c conftest.c >&5
# configure:13086: $? = 0
# configure:13086: result: yes
# configure:13086: checking limits.h presence
# configure:13086: arm-linux-androideabi-gcc -E conftest.c
# configure:13086: $? = 0
# configure:13086: result: yes
# configure:13086: checking for limits.h
# configure:13086: result: yes
# configure:13099: checking linux/fiemap.h usability
# configure:13099: arm-linux-androideabi-gcc -c conftest.c >&5
# configure:13099: $? = 0
# configure:13099: result: yes
# configure:13099: checking linux/fiemap.h presence
# configure:13099: arm-linux-androideabi-gcc -E conftest.c
# configure:13099: $? = 0
# configure:13099: result: yes
# configure:13099: checking for linux/fiemap.h
# configure:13099: result: yes
# configure:13099: checking linux/fs.h usability
# configure:13099: arm-linux-androideabi-gcc -c conftest.c >&5
# configure:13099: $? = 0
# configure:13099: result: yes
# configure:13099: checking linux/fs.h presence
# configure:13099: arm-linux-androideabi-gcc -E conftest.c
# configure:13099: $? = 0
# configure:13099: result: yes
# configure:13099: checking for linux/fs.h
# configure:13099: result: yes
# configure:13099: checking linux/magic.h usability
# configure:13099: arm-linux-androideabi-gcc -c conftest.c >&5
# configure:13099: $? = 0
# configure:13099: result: yes
# configure:13099: checking linux/magic.h presence
# configure:13099: arm-linux-androideabi-gcc -E conftest.c
# configure:13099: $? = 0
# configure:13099: result: yes
# configure:13099: checking for linux/magic.h
# configure:13099: result: yes
# configure:13099: checking linux/types.h usability
# configure:13099: arm-linux-androideabi-gcc -c conftest.c >&5
# configure:13099: $? = 0
# configure:13099: result: yes
# configure:13099: checking linux/types.h presence
# configure:13099: arm-linux-androideabi-gcc -E conftest.c
# configure:13099: $? = 0
# configure:13099: result: yes
# configure:13099: checking for linux/types.h
# configure:13099: result: yes
# configure:13112: checking locale.h usability
# configure:13112: arm-linux-androideabi-gcc -c conftest.c >&5
# configure:13112: $? = 0
# configure:13112: result: yes
# configure:13112: checking locale.h presence
# configure:13112: arm-linux-androideabi-gcc -E conftest.c
# configure:13112: $? = 0
# configure:13112: result: yes
# configure:13112: checking for locale.h
# configure:13112: result: yes
# configure:13112: checking paths.h usability
# configure:13112: arm-linux-androideabi-gcc -c conftest.c >&5
# configure:13112: $? = 0
# configure:13112: result: yes
# configure:13112: checking paths.h presence
# configure:13112: arm-linux-androideabi-gcc -E conftest.c
# configure:13112: $? = 0
# configure:13112: result: yes
# configure:13112: checking for paths.h
# configure:13112: result: yes
# configure:13112: checking poll.h usability
# configure:13112: arm-linux-androideabi-gcc -c conftest.c >&5
# configure:13112: $? = 0
# configure:13112: result: yes
# configure:13112: checking poll.h presence
# configure:13112: arm-linux-androideabi-gcc -E conftest.c
# configure:13112: $? = 0
# configure:13112: result: yes
# configure:13112: checking for poll.h
# configure:13112: result: yes
# configure:13112: checking pthread.h usability
# configure:13112: arm-linux-androideabi-gcc -c conftest.c >&5
# configure:13112: $? = 0
# configure:13112: result: yes
# configure:13112: checking pthread.h presence
# configure:13112: arm-linux-androideabi-gcc -E conftest.c
# configure:13112: $? = 0
# configure:13112: result: yes
# configure:13112: checking for pthread.h
# configure:13112: result: yes
# configure:13112: checking pwd.h usability
# configure:13112: arm-linux-androideabi-gcc -c conftest.c >&5
# configure:13112: $? = 0
# configure:13112: result: yes
# configure:13112: checking pwd.h presence
# configure:13112: arm-linux-androideabi-gcc -E conftest.c
# configure:13112: $? = 0
# configure:13112: result: yes
# configure:13112: checking for pwd.h
# configure:13112: result: yes
# configure:13125: checking readpassphrase.h usability
# configure:13125: arm-linux-androideabi-gcc -c conftest.c >&5
# conftest.c:83:28: fatal error: readpassphrase.h: No such file or directory
# #include
# ^
# compilation terminated.
# configure:13125: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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:13125: result: no
# configure:13125: checking readpassphrase.h presence
# configure:13125: arm-linux-androideabi-gcc -E conftest.c
# conftest.c:50:28: fatal error: readpassphrase.h: No such file or directory
# #include
# ^
# compilation terminated.
# configure:13125: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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:13125: result: no
# configure:13125: checking for readpassphrase.h
# configure:13125: result: no
# configure:13125: checking signal.h usability
# configure:13125: arm-linux-androideabi-gcc -c conftest.c >&5
# configure:13125: $? = 0
# configure:13125: result: yes
# configure:13125: checking signal.h presence
# configure:13125: arm-linux-androideabi-gcc -E conftest.c
# configure:13125: $? = 0
# configure:13125: result: yes
# configure:13125: checking for signal.h
# configure:13125: result: yes
# configure:13125: checking spawn.h usability
# configure:13125: arm-linux-androideabi-gcc -c conftest.c >&5
# conftest.c:84:19: fatal error: spawn.h: No such file or directory
# #include
# ^
# compilation terminated.
# configure:13125: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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
# | /* 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:13125: result: no
# configure:13125: checking spawn.h presence
# configure:13125: arm-linux-androideabi-gcc -E conftest.c
# conftest.c:51:19: fatal error: spawn.h: No such file or directory
# #include
# ^
# compilation terminated.
# configure:13125: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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
# | /* end confdefs.h. */
# | #include
# configure:13125: result: no
# configure:13125: checking for spawn.h
# configure:13125: result: no
# configure:13138: checking stdarg.h usability
# configure:13138: arm-linux-androideabi-gcc -c conftest.c >&5
# configure:13138: $? = 0
# configure:13138: result: yes
# configure:13138: checking stdarg.h presence
# configure:13138: arm-linux-androideabi-gcc -E conftest.c
# configure:13138: $? = 0
# configure:13138: result: yes
# configure:13138: checking for stdarg.h
# configure:13138: result: yes
# configure:13138: checking for stdint.h
# configure:13138: result: yes
# configure:13138: checking for stdlib.h
# configure:13138: result: yes
# configure:13138: checking for string.h
# configure:13138: result: yes
# configure:13151: checking sys/cdefs.h usability
# configure:13151: arm-linux-androideabi-gcc -c conftest.c >&5
# configure:13151: $? = 0
# configure:13151: result: yes
# configure:13151: checking sys/cdefs.h presence
# configure:13151: arm-linux-androideabi-gcc -E conftest.c
# configure:13151: $? = 0
# configure:13151: result: yes
# configure:13151: checking for sys/cdefs.h
# configure:13151: result: yes
# configure:13151: checking sys/extattr.h usability
# configure:13151: arm-linux-androideabi-gcc -c conftest.c >&5
# conftest.c:89:25: fatal error: sys/extattr.h: No such file or directory
# #include
# ^
# compilation terminated.
# configure:13151: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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:13151: result: no
# configure:13151: checking sys/extattr.h presence
# configure:13151: arm-linux-androideabi-gcc -E conftest.c
# conftest.c:56:25: fatal error: sys/extattr.h: No such file or directory
# #include
# ^
# compilation terminated.
# configure:13151: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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:13151: result: no
# configure:13151: checking for sys/extattr.h
# configure:13151: result: no
# configure:13164: checking sys/ioctl.h usability
# configure:13164: arm-linux-androideabi-gcc -c conftest.c >&5
# configure:13164: $? = 0
# configure:13164: result: yes
# configure:13164: checking sys/ioctl.h presence
# configure:13164: arm-linux-androideabi-gcc -E conftest.c
# configure:13164: $? = 0
# configure:13164: result: yes
# configure:13164: checking for sys/ioctl.h
# configure:13164: result: yes
# configure:13164: checking sys/mkdev.h usability
# configure:13164: arm-linux-androideabi-gcc -c conftest.c >&5
# conftest.c:90:23: fatal error: sys/mkdev.h: No such file or directory
# #include
# ^
# compilation terminated.
# configure:13164: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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:13164: result: no
# configure:13164: checking sys/mkdev.h presence
# configure:13164: arm-linux-androideabi-gcc -E conftest.c
# conftest.c:57:23: fatal error: sys/mkdev.h: No such file or directory
# #include
# ^
# compilation terminated.
# configure:13164: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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:13164: result: no
# configure:13164: checking for sys/mkdev.h
# configure:13164: result: no
# configure:13164: checking sys/mount.h usability
# configure:13164: arm-linux-androideabi-gcc -c conftest.c >&5
# configure:13164: $? = 0
# configure:13164: result: yes
# configure:13164: checking sys/mount.h presence
# configure:13164: arm-linux-androideabi-gcc -E conftest.c
# configure:13164: $? = 0
# configure:13164: result: yes
# configure:13164: checking for sys/mount.h
# configure:13164: result: yes
# configure:13177: checking sys/param.h usability
# configure:13177: arm-linux-androideabi-gcc -c conftest.c >&5
# configure:13177: $? = 0
# configure:13177: result: yes
# configure:13177: checking sys/param.h presence
# configure:13177: arm-linux-androideabi-gcc -E conftest.c
# configure:13177: $? = 0
# configure:13177: result: yes
# configure:13177: checking for sys/param.h
# configure:13177: result: yes
# configure:13177: checking sys/poll.h usability
# configure:13177: arm-linux-androideabi-gcc -c conftest.c >&5
# configure:13177: $? = 0
# configure:13177: result: yes
# configure:13177: checking sys/poll.h presence
# configure:13177: arm-linux-androideabi-gcc -E conftest.c
# configure:13177: $? = 0
# configure:13177: result: yes
# configure:13177: checking for sys/poll.h
# configure:13177: result: yes
# configure:13177: checking sys/select.h usability
# configure:13177: arm-linux-androideabi-gcc -c conftest.c >&5
# configure:13177: $? = 0
# configure:13177: result: yes
# configure:13177: checking sys/select.h presence
# configure:13177: arm-linux-androideabi-gcc -E conftest.c
# configure:13177: $? = 0
# configure:13177: result: yes
# configure:13177: checking for sys/select.h
# configure:13177: result: yes
# configure:13177: checking sys/statfs.h usability
# configure:13177: arm-linux-androideabi-gcc -c conftest.c >&5
# configure:13177: $? = 0
# configure:13177: result: yes
# configure:13177: checking sys/statfs.h presence
# configure:13177: arm-linux-androideabi-gcc -E conftest.c
# configure:13177: $? = 0
# configure:13177: result: yes
# configure:13177: checking for sys/statfs.h
# configure:13177: result: yes
# configure:13177: checking sys/statvfs.h usability
# configure:13177: arm-linux-androideabi-gcc -c conftest.c >&5
# configure:13177: $? = 0
# configure:13177: result: yes
# configure:13177: checking sys/statvfs.h presence
# configure:13177: arm-linux-androideabi-gcc -E conftest.c
# configure:13177: $? = 0
# configure:13177: result: yes
# configure:13177: checking for sys/statvfs.h
# configure:13177: result: yes
# configure:13190: checking sys/time.h usability
# configure:13190: arm-linux-androideabi-gcc -c conftest.c >&5
# configure:13190: $? = 0
# configure:13190: result: yes
# configure:13190: checking sys/time.h presence
# configure:13190: arm-linux-androideabi-gcc -E conftest.c
# configure:13190: $? = 0
# configure:13190: result: yes
# configure:13190: checking for sys/time.h
# configure:13190: result: yes
# configure:13190: checking sys/utime.h usability
# configure:13190: arm-linux-androideabi-gcc -c conftest.c >&5
# configure:13190: $? = 0
# configure:13190: result: yes
# configure:13190: checking sys/utime.h presence
# configure:13190: arm-linux-androideabi-gcc -E conftest.c
# configure:13190: $? = 0
# configure:13190: result: yes
# configure:13190: checking for sys/utime.h
# configure:13190: result: yes
# configure:13190: checking sys/utsname.h usability
# configure:13190: arm-linux-androideabi-gcc -c conftest.c >&5
# configure:13190: $? = 0
# configure:13190: result: yes
# configure:13190: checking sys/utsname.h presence
# configure:13190: arm-linux-androideabi-gcc -E conftest.c
# configure:13190: $? = 0
# configure:13190: result: yes
# configure:13190: checking for sys/utsname.h
# configure:13190: result: yes
# configure:13190: checking sys/vfs.h usability
# configure:13190: arm-linux-androideabi-gcc -c conftest.c >&5
# configure:13190: $? = 0
# configure:13190: result: yes
# configure:13190: checking sys/vfs.h presence
# configure:13190: arm-linux-androideabi-gcc -E conftest.c
# configure:13190: $? = 0
# configure:13190: result: yes
# configure:13190: checking for sys/vfs.h
# configure:13190: result: yes
# configure:13203: checking time.h usability
# configure:13203: arm-linux-androideabi-gcc -c conftest.c >&5
# configure:13203: $? = 0
# configure:13203: result: yes
# configure:13203: checking time.h presence
# configure:13203: arm-linux-androideabi-gcc -E conftest.c
# configure:13203: $? = 0
# configure:13203: result: yes
# configure:13203: checking for time.h
# configure:13203: result: yes
# configure:13203: checking for unistd.h
# configure:13203: result: yes
# configure:13203: checking utime.h usability
# configure:13203: arm-linux-androideabi-gcc -c conftest.c >&5
# configure:13203: $? = 0
# configure:13203: result: yes
# configure:13203: checking utime.h presence
# configure:13203: arm-linux-androideabi-gcc -E conftest.c
# configure:13203: $? = 0
# configure:13203: result: yes
# configure:13203: checking for utime.h
# configure:13203: result: yes
# configure:13203: checking wchar.h usability
# configure:13203: arm-linux-androideabi-gcc -c conftest.c >&5
# configure:13203: $? = 0
# configure:13203: result: yes
# configure:13203: checking wchar.h presence
# configure:13203: arm-linux-androideabi-gcc -E conftest.c
# configure:13203: $? = 0
# configure:13203: result: yes
# configure:13203: checking for wchar.h
# configure:13203: result: yes
# configure:13203: checking wctype.h usability
# configure:13203: arm-linux-androideabi-gcc -c conftest.c >&5
# configure:13203: $? = 0
# configure:13203: result: yes
# configure:13203: checking wctype.h presence
# configure:13203: arm-linux-androideabi-gcc -E conftest.c
# configure:13203: $? = 0
# configure:13203: result: yes
# configure:13203: checking for wctype.h
# configure:13203: result: yes
# configure:13215: checking windows.h usability
# configure:13215: arm-linux-androideabi-gcc -c conftest.c >&5
# conftest.c:105:21: fatal error: windows.h: No such file or directory
# #include
# ^
# compilation terminated.
# configure:13215: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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_TIME_H 1
# | #define HAVE_SYS_UTIME_H 1
# | #define HAVE_SYS_UTSNAME_H 1
# | #define HAVE_SYS_VFS_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:13215: result: no
# configure:13215: checking windows.h presence
# configure:13215: arm-linux-androideabi-gcc -E conftest.c
# conftest.c:72:21: fatal error: windows.h: No such file or directory
# #include
# ^
# compilation terminated.
# configure:13215: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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_TIME_H 1
# | #define HAVE_SYS_UTIME_H 1
# | #define HAVE_SYS_UTSNAME_H 1
# | #define HAVE_SYS_VFS_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:13215: result: no
# configure:13215: checking for windows.h
# configure:13215: result: no
# configure:13227: checking Bcrypt.h usability
# configure:13227: arm-linux-androideabi-gcc -c conftest.c >&5
# conftest.c:105:20: fatal error: Bcrypt.h: No such file or directory
# #include
# ^
# compilation terminated.
# configure:13227: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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_TIME_H 1
# | #define HAVE_SYS_UTIME_H 1
# | #define HAVE_SYS_UTSNAME_H 1
# | #define HAVE_SYS_VFS_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:13227: result: no
# configure:13227: checking Bcrypt.h presence
# configure:13227: arm-linux-androideabi-gcc -E conftest.c
# conftest.c:72:20: fatal error: Bcrypt.h: No such file or directory
# #include
# ^
# compilation terminated.
# configure:13227: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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_TIME_H 1
# | #define HAVE_SYS_UTIME_H 1
# | #define HAVE_SYS_UTSNAME_H 1
# | #define HAVE_SYS_VFS_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:13227: result: no
# configure:13227: checking for Bcrypt.h
# configure:13227: result: no
# configure:13241: checking for wincrypt.h
# configure:13241: arm-linux-androideabi-gcc -c conftest.c >&5
# conftest.c:77:22: fatal error: wincrypt.h: No such file or directory
# #include
# ^
# compilation terminated.
# configure:13241: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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_TIME_H 1
# | #define HAVE_SYS_UTIME_H 1
# | #define HAVE_SYS_UTSNAME_H 1
# | #define HAVE_SYS_VFS_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:13241: result: no
# configure:13241: checking for winioctl.h
# configure:13241: arm-linux-androideabi-gcc -c conftest.c >&5
# conftest.c:77:22: fatal error: winioctl.h: No such file or directory
# #include
# ^
# compilation terminated.
# configure:13241: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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_TIME_H 1
# | #define HAVE_SYS_UTIME_H 1
# | #define HAVE_SYS_UTSNAME_H 1
# | #define HAVE_SYS_VFS_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:13241: result: no
# configure:13267: checking zlib.h usability
# configure:13267: arm-linux-androideabi-gcc -c conftest.c >&5
# configure:13267: $? = 0
# configure:13267: result: yes
# configure:13267: checking zlib.h presence
# configure:13267: arm-linux-androideabi-gcc -E conftest.c
# configure:13267: $? = 0
# configure:13267: result: yes
# configure:13267: checking for zlib.h
# configure:13267: result: yes
# configure:13277: checking for inflate in -lz
# configure:13302: arm-linux-androideabi-gcc -o conftest conftest.c -lz >&5
# configure:13302: $? = 0
# configure:13311: result: yes
# configure:13334: checking bzlib.h usability
# configure:13334: arm-linux-androideabi-gcc -c conftest.c >&5
# conftest.c:107:19: fatal error: bzlib.h: No such file or directory
# #include
# ^
# compilation terminated.
# configure:13334: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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_TIME_H 1
# | #define HAVE_SYS_UTIME_H 1
# | #define HAVE_SYS_UTSNAME_H 1
# | #define HAVE_SYS_VFS_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_ZLIB_H 1
# | #define HAVE_LIBZ 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:13334: result: no
# configure:13334: checking bzlib.h presence
# configure:13334: arm-linux-androideabi-gcc -E conftest.c
# conftest.c:74:19: fatal error: bzlib.h: No such file or directory
# #include
# ^
# compilation terminated.
# configure:13334: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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_TIME_H 1
# | #define HAVE_SYS_UTIME_H 1
# | #define HAVE_SYS_UTSNAME_H 1
# | #define HAVE_SYS_VFS_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_ZLIB_H 1
# | #define HAVE_LIBZ 1
# | /* end confdefs.h. */
# | #include
# configure:13334: result: no
# configure:13334: checking for bzlib.h
# configure:13334: result: no
# configure:13373: checking for BZ2_bzDecompressInit in -lbz2
# configure:13398: arm-linux-androideabi-gcc -o conftest conftest.c -lbz2 -lz >&5
# /sysroot/bin/../lib/gcc/arm-linux-androideabi/4.8/../../../../arm-linux-androideabi/bin/ld: error: cannot find -lbz2
# /tmp/ccmAogRu.o:conftest.c:function main: error: undefined reference to 'BZ2_bzDecompressInit'
# collect2: error: ld returned 1 exit status
# configure:13398: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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_TIME_H 1
# | #define HAVE_SYS_UTIME_H 1
# | #define HAVE_SYS_UTSNAME_H 1
# | #define HAVE_SYS_VFS_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_ZLIB_H 1
# | #define HAVE_LIBZ 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 BZ2_bzDecompressInit ();
# | int
# | main ()
# | {
# | return BZ2_bzDecompressInit ();
# | ;
# | return 0;
# | }
# configure:13407: result: no
# configure:13432: checking lzmadec.h usability
# configure:13432: arm-linux-androideabi-gcc -c conftest.c >&5
# conftest.c:107:21: fatal error: lzmadec.h: No such file or directory
# #include
# ^
# compilation terminated.
# configure:13432: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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_TIME_H 1
# | #define HAVE_SYS_UTIME_H 1
# | #define HAVE_SYS_UTSNAME_H 1
# | #define HAVE_SYS_VFS_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_ZLIB_H 1
# | #define HAVE_LIBZ 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:13432: result: no
# configure:13432: checking lzmadec.h presence
# configure:13432: arm-linux-androideabi-gcc -E conftest.c
# conftest.c:74:21: fatal error: lzmadec.h: No such file or directory
# #include
# ^
# compilation terminated.
# configure:13432: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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_TIME_H 1
# | #define HAVE_SYS_UTIME_H 1
# | #define HAVE_SYS_UTSNAME_H 1
# | #define HAVE_SYS_VFS_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_ZLIB_H 1
# | #define HAVE_LIBZ 1
# | /* end confdefs.h. */
# | #include
# configure:13432: result: no
# configure:13432: checking for lzmadec.h
# configure:13432: result: no
# configure:13442: checking for lzmadec_decode in -llzmadec
# configure:13467: arm-linux-androideabi-gcc -o conftest conftest.c -llzmadec -lz >&5
# /sysroot/bin/../lib/gcc/arm-linux-androideabi/4.8/../../../../arm-linux-androideabi/bin/ld: error: cannot find -llzmadec
# /tmp/ccaArURh.o:conftest.c:function main: error: undefined reference to 'lzmadec_decode'
# collect2: error: ld returned 1 exit status
# configure:13467: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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_TIME_H 1
# | #define HAVE_SYS_UTIME_H 1
# | #define HAVE_SYS_UTSNAME_H 1
# | #define HAVE_SYS_VFS_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_ZLIB_H 1
# | #define HAVE_LIBZ 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 lzmadec_decode ();
# | int
# | main ()
# | {
# | return lzmadec_decode ();
# | ;
# | return 0;
# | }
# configure:13476: result: no
# configure:13536: checking for ld used by GCC
# configure:13600: result: /sysroot/arm-linux-androideabi/bin/ld
# configure:13607: checking if the linker (/sysroot/arm-linux-androideabi/bin/ld) is GNU ld
# configure:13620: result: yes
# configure:13627: checking for shared library run path origin
# configure:13640: result: done
# configure:14218: checking for iconv
# configure:14242: arm-linux-androideabi-gcc -o conftest conftest.c -lz >&5
# conftest.c:76:19: fatal error: iconv.h: No such file or directory
# #include
# ^
# compilation terminated.
# configure:14242: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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_TIME_H 1
# | #define HAVE_SYS_UTIME_H 1
# | #define HAVE_SYS_UTSNAME_H 1
# | #define HAVE_SYS_VFS_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_ZLIB_H 1
# | #define HAVE_LIBZ 1
# | /* end confdefs.h. */
# |
# | #include
# | #include
# |
# | int
# | main ()
# | {
# | iconv_t cd = iconv_open("","");
# | iconv(cd,NULL,NULL,NULL,NULL);
# | iconv_close(cd);
# | ;
# | return 0;
# | }
# configure:14266: arm-linux-androideabi-gcc -o conftest conftest.c -lz -liconv >&5
# conftest.c:76:19: fatal error: iconv.h: No such file or directory
# #include
# ^
# compilation terminated.
# configure:14266: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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_TIME_H 1
# | #define HAVE_SYS_UTIME_H 1
# | #define HAVE_SYS_UTSNAME_H 1
# | #define HAVE_SYS_VFS_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_ZLIB_H 1
# | #define HAVE_LIBZ 1
# | /* end confdefs.h. */
# |
# | #include
# | #include
# |
# | int
# | main ()
# | {
# | iconv_t cd = iconv_open("","");
# | iconv(cd,NULL,NULL,NULL,NULL);
# | iconv_close(cd);
# | ;
# | return 0;
# | }
# configure:14276: result: no, consider installing GNU libiconv
# configure:14501: checking for iconv.h
# configure:14501: arm-linux-androideabi-gcc -c conftest.c >&5
# conftest.c:76:19: fatal error: iconv.h: No such file or directory
# #include
# ^
# compilation terminated.
# configure:14501: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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_TIME_H 1
# | #define HAVE_SYS_UTIME_H 1
# | #define HAVE_SYS_UTSNAME_H 1
# | #define HAVE_SYS_VFS_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_ZLIB_H 1
# | #define HAVE_LIBZ 1
# | /* end confdefs.h. */
# | #include
# |
# | #include
# configure:14501: result: no
# configure:14601: checking lz4.h usability
# configure:14601: arm-linux-androideabi-gcc -c conftest.c >&5
# conftest.c:107:17: fatal error: lz4.h: No such file or directory
# #include
# ^
# compilation terminated.
# configure:14601: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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_TIME_H 1
# | #define HAVE_SYS_UTIME_H 1
# | #define HAVE_SYS_UTSNAME_H 1
# | #define HAVE_SYS_VFS_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_ZLIB_H 1
# | #define HAVE_LIBZ 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:14601: result: no
# configure:14601: checking lz4.h presence
# configure:14601: arm-linux-androideabi-gcc -E conftest.c
# conftest.c:74:17: fatal error: lz4.h: No such file or directory
# #include
# ^
# compilation terminated.
# configure:14601: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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_TIME_H 1
# | #define HAVE_SYS_UTIME_H 1
# | #define HAVE_SYS_UTSNAME_H 1
# | #define HAVE_SYS_VFS_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_ZLIB_H 1
# | #define HAVE_LIBZ 1
# | /* end confdefs.h. */
# | #include
# configure:14601: result: no
# configure:14601: checking for lz4.h
# configure:14601: result: no
# configure:14601: checking lz4hc.h usability
# configure:14601: arm-linux-androideabi-gcc -c conftest.c >&5
# conftest.c:107:19: fatal error: lz4hc.h: No such file or directory
# #include
# ^
# compilation terminated.
# configure:14601: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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_TIME_H 1
# | #define HAVE_SYS_UTIME_H 1
# | #define HAVE_SYS_UTSNAME_H 1
# | #define HAVE_SYS_VFS_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_ZLIB_H 1
# | #define HAVE_LIBZ 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:14601: result: no
# configure:14601: checking lz4hc.h presence
# configure:14601: arm-linux-androideabi-gcc -E conftest.c
# conftest.c:74:19: fatal error: lz4hc.h: No such file or directory
# #include
# ^
# compilation terminated.
# configure:14601: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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_TIME_H 1
# | #define HAVE_SYS_UTIME_H 1
# | #define HAVE_SYS_UTSNAME_H 1
# | #define HAVE_SYS_VFS_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_ZLIB_H 1
# | #define HAVE_LIBZ 1
# | /* end confdefs.h. */
# | #include
# configure:14601: result: no
# configure:14601: checking for lz4hc.h
# configure:14601: result: no
# configure:14611: checking for LZ4_decompress_safe in -llz4
# configure:14636: arm-linux-androideabi-gcc -o conftest conftest.c -llz4 -lz >&5
# /sysroot/bin/../lib/gcc/arm-linux-androideabi/4.8/../../../../arm-linux-androideabi/bin/ld: error: cannot find -llz4
# /tmp/ccGZGtKO.o:conftest.c:function main: error: undefined reference to 'LZ4_decompress_safe'
# collect2: error: ld returned 1 exit status
# configure:14636: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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_TIME_H 1
# | #define HAVE_SYS_UTIME_H 1
# | #define HAVE_SYS_UTSNAME_H 1
# | #define HAVE_SYS_VFS_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_ZLIB_H 1
# | #define HAVE_LIBZ 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:14645: result: no
# configure:14668: checking lzma.h usability
# configure:14668: arm-linux-androideabi-gcc -c conftest.c >&5
# conftest.c:107:18: fatal error: lzma.h: No such file or directory
# #include
# ^
# compilation terminated.
# configure:14668: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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_TIME_H 1
# | #define HAVE_SYS_UTIME_H 1
# | #define HAVE_SYS_UTSNAME_H 1
# | #define HAVE_SYS_VFS_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_ZLIB_H 1
# | #define HAVE_LIBZ 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:14668: result: no
# configure:14668: checking lzma.h presence
# configure:14668: arm-linux-androideabi-gcc -E conftest.c
# conftest.c:74:18: fatal error: lzma.h: No such file or directory
# #include
# ^
# compilation terminated.
# configure:14668: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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_TIME_H 1
# | #define HAVE_SYS_UTIME_H 1
# | #define HAVE_SYS_UTSNAME_H 1
# | #define HAVE_SYS_VFS_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_ZLIB_H 1
# | #define HAVE_LIBZ 1
# | /* end confdefs.h. */
# | #include
# configure:14668: result: no
# configure:14668: checking for lzma.h
# configure:14668: result: no
# configure:14678: checking for lzma_stream_decoder in -llzma
# configure:14703: arm-linux-androideabi-gcc -o conftest conftest.c -llzma -lz >&5
# /sysroot/bin/../lib/gcc/arm-linux-androideabi/4.8/../../../../arm-linux-androideabi/bin/ld: error: cannot find -llzma
# /tmp/cckP30tW.o:conftest.c:function main: error: undefined reference to 'lzma_stream_decoder'
# collect2: error: ld returned 1 exit status
# configure:14703: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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_TIME_H 1
# | #define HAVE_SYS_UTIME_H 1
# | #define HAVE_SYS_UTSNAME_H 1
# | #define HAVE_SYS_VFS_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_ZLIB_H 1
# | #define HAVE_LIBZ 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 lzma_stream_decoder ();
# | int
# | main ()
# | {
# | return lzma_stream_decoder ();
# | ;
# | return 0;
# | }
# configure:14712: result: no
# configure:14727: checking whether we have multithread support in lzma
# configure:14744: arm-linux-androideabi-gcc -c conftest.c >&5
# conftest.c:75:24: fatal error: lzma.h: No such file or directory
# #include
# ^
# compilation terminated.
# configure:14744: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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_TIME_H 1
# | #define HAVE_SYS_UTIME_H 1
# | #define HAVE_SYS_UTSNAME_H 1
# | #define HAVE_SYS_VFS_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_ZLIB_H 1
# | #define HAVE_LIBZ 1
# | /* end confdefs.h. */
# |
# | #include
# | int
# | main ()
# | {
# | lzma_stream_encoder_mt(0, 0);
# | ;
# | return 0;
# | }
# configure:14751: result: no
# configure:14771: checking lzo/lzoconf.h usability
# configure:14771: arm-linux-androideabi-gcc -c conftest.c >&5
# conftest.c:107:25: fatal error: lzo/lzoconf.h: No such file or directory
# #include
# ^
# compilation terminated.
# configure:14771: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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_TIME_H 1
# | #define HAVE_SYS_UTIME_H 1
# | #define HAVE_SYS_UTSNAME_H 1
# | #define HAVE_SYS_VFS_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_ZLIB_H 1
# | #define HAVE_LIBZ 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:14771: result: no
# configure:14771: checking lzo/lzoconf.h presence
# configure:14771: arm-linux-androideabi-gcc -E conftest.c
# conftest.c:74:25: fatal error: lzo/lzoconf.h: No such file or directory
# #include
# ^
# compilation terminated.
# configure:14771: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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_TIME_H 1
# | #define HAVE_SYS_UTIME_H 1
# | #define HAVE_SYS_UTSNAME_H 1
# | #define HAVE_SYS_VFS_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_ZLIB_H 1
# | #define HAVE_LIBZ 1
# | /* end confdefs.h. */
# | #include
# configure:14771: result: no
# configure:14771: checking for lzo/lzoconf.h
# configure:14771: result: no
# configure:14771: checking lzo/lzo1x.h usability
# configure:14771: arm-linux-androideabi-gcc -c conftest.c >&5
# conftest.c:107:23: fatal error: lzo/lzo1x.h: No such file or directory
# #include
# ^
# compilation terminated.
# configure:14771: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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_TIME_H 1
# | #define HAVE_SYS_UTIME_H 1
# | #define HAVE_SYS_UTSNAME_H 1
# | #define HAVE_SYS_VFS_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_ZLIB_H 1
# | #define HAVE_LIBZ 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:14771: result: no
# configure:14771: checking lzo/lzo1x.h presence
# configure:14771: arm-linux-androideabi-gcc -E conftest.c
# conftest.c:74:23: fatal error: lzo/lzo1x.h: No such file or directory
# #include
# ^
# compilation terminated.
# configure:14771: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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_TIME_H 1
# | #define HAVE_SYS_UTIME_H 1
# | #define HAVE_SYS_UTSNAME_H 1
# | #define HAVE_SYS_VFS_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_ZLIB_H 1
# | #define HAVE_LIBZ 1
# | /* end confdefs.h. */
# | #include
# configure:14771: result: no
# configure:14771: checking for lzo/lzo1x.h
# configure:14771: result: no
# configure:14781: checking for lzo1x_decompress_safe in -llzo2
# configure:14806: arm-linux-androideabi-gcc -o conftest conftest.c -llzo2 -lz >&5
# /sysroot/bin/../lib/gcc/arm-linux-androideabi/4.8/../../../../arm-linux-androideabi/bin/ld: error: cannot find -llzo2
# /tmp/ccCg02Ye.o:conftest.c:function main: error: undefined reference to 'lzo1x_decompress_safe'
# collect2: error: ld returned 1 exit status
# configure:14806: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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_TIME_H 1
# | #define HAVE_SYS_UTIME_H 1
# | #define HAVE_SYS_UTSNAME_H 1
# | #define HAVE_SYS_VFS_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_ZLIB_H 1
# | #define HAVE_LIBZ 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 lzo1x_decompress_safe ();
# | int
# | main ()
# | {
# | return lzo1x_decompress_safe ();
# | ;
# | return 0;
# | }
# configure:14815: result: no
# configure:15207: checking expat.h usability
# configure:15207: arm-linux-androideabi-gcc -c conftest.c >&5
# conftest.c:107:19: fatal error: expat.h: No such file or directory
# #include
# ^
# compilation terminated.
# configure:15207: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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_TIME_H 1
# | #define HAVE_SYS_UTIME_H 1
# | #define HAVE_SYS_UTSNAME_H 1
# | #define HAVE_SYS_VFS_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_ZLIB_H 1
# | #define HAVE_LIBZ 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:15207: result: no
# configure:15207: checking expat.h presence
# configure:15207: arm-linux-androideabi-gcc -E conftest.c
# conftest.c:74:19: fatal error: expat.h: No such file or directory
# #include
# ^
# compilation terminated.
# configure:15207: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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_TIME_H 1
# | #define HAVE_SYS_UTIME_H 1
# | #define HAVE_SYS_UTSNAME_H 1
# | #define HAVE_SYS_VFS_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_ZLIB_H 1
# | #define HAVE_LIBZ 1
# | /* end confdefs.h. */
# | #include
# configure:15207: result: no
# configure:15207: checking for expat.h
# configure:15207: result: no
# configure:15217: checking for XML_ParserCreate in -lexpat
# configure:15242: arm-linux-androideabi-gcc -o conftest conftest.c -lexpat -lz >&5
# /sysroot/bin/../lib/gcc/arm-linux-androideabi/4.8/../../../../arm-linux-androideabi/bin/ld: error: cannot find -lexpat
# /tmp/ccSTARlo.o:conftest.c:function main: error: undefined reference to 'XML_ParserCreate'
# collect2: error: ld returned 1 exit status
# configure:15242: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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_TIME_H 1
# | #define HAVE_SYS_UTIME_H 1
# | #define HAVE_SYS_UTSNAME_H 1
# | #define HAVE_SYS_VFS_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_ZLIB_H 1
# | #define HAVE_LIBZ 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 XML_ParserCreate ();
# | int
# | main ()
# | {
# | return XML_ParserCreate ();
# | ;
# | return 0;
# | }
# configure:15251: result: no
# configure:15277: checking regex.h usability
# configure:15277: arm-linux-androideabi-gcc -c conftest.c >&5
# configure:15277: $? = 0
# configure:15277: result: yes
# configure:15277: checking regex.h presence
# configure:15277: arm-linux-androideabi-gcc -E conftest.c
# configure:15277: $? = 0
# configure:15277: result: yes
# configure:15277: checking for regex.h
# configure:15277: result: yes
# configure:15288: checking for regcomp
# configure:15288: arm-linux-androideabi-gcc -o conftest conftest.c -lz >&5
# configure:15288: $? = 0
# configure:15288: result: yes
# configure:15558: checking whether C compiler accepts -Wall
# configure:15577: arm-linux-androideabi-gcc -c -Wall conftest.c >&5
# configure:15577: $? = 0
# configure:15586: result: yes
# configure:15602: : CFLAGS="$CFLAGS"
# configure:15605: $? = 0
# configure:15558: checking whether C compiler accepts -Wformat
# configure:15577: arm-linux-androideabi-gcc -c -Wall -Wformat conftest.c >&5
# configure:15577: $? = 0
# configure:15586: result: yes
# configure:15602: : CFLAGS="$CFLAGS"
# configure:15605: $? = 0
# configure:15558: checking whether C compiler accepts -Wformat-security
# configure:15577: arm-linux-androideabi-gcc -c -Wall -Wformat -Wformat-security conftest.c >&5
# configure:15577: $? = 0
# configure:15586: result: yes
# configure:15602: : CFLAGS="$CFLAGS"
# configure:15605: $? = 0
# configure:15629: checking for an ANSI C-conforming const
# configure:15695: arm-linux-androideabi-gcc -c -Wall -Wformat -Wformat-security conftest.c >&5
# configure:15695: $? = 0
# configure:15702: result: yes
# configure:15712: checking for uid_t in sys/types.h
# configure:15731: result: yes
# configure:15750: checking for mode_t
# configure:15750: arm-linux-androideabi-gcc -c -Wall -Wformat -Wformat-security conftest.c >&5
# configure:15750: $? = 0
# configure:15750: arm-linux-androideabi-gcc -c -Wall -Wformat -Wformat-security conftest.c >&5
# conftest.c: In function 'main':
# conftest.c:111:21: error: expected expression before ')' token
# if (sizeof ((mode_t)))
# ^
# configure:15750: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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_TIME_H 1
# | #define HAVE_SYS_UTIME_H 1
# | #define HAVE_SYS_UTSNAME_H 1
# | #define HAVE_SYS_VFS_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_ZLIB_H 1
# | #define HAVE_LIBZ 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:15750: result: yes
# configure:15763: checking for off_t
# configure:15763: arm-linux-androideabi-gcc -c -Wall -Wformat -Wformat-security conftest.c >&5
# configure:15763: $? = 0
# configure:15763: arm-linux-androideabi-gcc -c -Wall -Wformat -Wformat-security conftest.c >&5
# conftest.c: In function 'main':
# conftest.c:111:20: error: expected expression before ')' token
# if (sizeof ((off_t)))
# ^
# configure:15763: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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_TIME_H 1
# | #define HAVE_SYS_UTIME_H 1
# | #define HAVE_SYS_UTSNAME_H 1
# | #define HAVE_SYS_VFS_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_ZLIB_H 1
# | #define HAVE_LIBZ 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:15763: result: yes
# configure:15774: checking for size_t
# configure:15774: arm-linux-androideabi-gcc -c -Wall -Wformat -Wformat-security conftest.c >&5
# configure:15774: $? = 0
# configure:15774: arm-linux-androideabi-gcc -c -Wall -Wformat -Wformat-security conftest.c >&5
# conftest.c: In function 'main':
# conftest.c:111:21: error: expected expression before ')' token
# if (sizeof ((size_t)))
# ^
# configure:15774: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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_TIME_H 1
# | #define HAVE_SYS_UTIME_H 1
# | #define HAVE_SYS_UTSNAME_H 1
# | #define HAVE_SYS_VFS_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_ZLIB_H 1
# | #define HAVE_LIBZ 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:15774: result: yes
# configure:15785: checking for id_t
# configure:15785: arm-linux-androideabi-gcc -c -Wall -Wformat -Wformat-security conftest.c >&5
# configure:15785: $? = 0
# configure:15785: arm-linux-androideabi-gcc -c -Wall -Wformat -Wformat-security conftest.c >&5
# conftest.c: In function 'main':
# conftest.c:111:19: error: expected expression before ')' token
# if (sizeof ((id_t)))
# ^
# configure:15785: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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_TIME_H 1
# | #define HAVE_SYS_UTIME_H 1
# | #define HAVE_SYS_UTSNAME_H 1
# | #define HAVE_SYS_VFS_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_ZLIB_H 1
# | #define HAVE_LIBZ 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:15785: result: yes
# configure:15796: checking for uintptr_t
# configure:15796: arm-linux-androideabi-gcc -c -Wall -Wformat -Wformat-security conftest.c >&5
# configure:15796: $? = 0
# configure:15796: arm-linux-androideabi-gcc -c -Wall -Wformat -Wformat-security conftest.c >&5
# conftest.c: In function 'main':
# conftest.c:111:24: error: expected expression before ')' token
# if (sizeof ((uintptr_t)))
# ^
# configure:15796: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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_TIME_H 1
# | #define HAVE_SYS_UTIME_H 1
# | #define HAVE_SYS_UTSNAME_H 1
# | #define HAVE_SYS_VFS_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_ZLIB_H 1
# | #define HAVE_LIBZ 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:15796: result: yes
# configure:15809: checking for struct tm.tm_gmtoff
# configure:15809: arm-linux-androideabi-gcc -c -Wall -Wformat -Wformat-security conftest.c >&5
# configure:15809: $? = 0
# configure:15809: result: yes
# configure:15821: checking for struct tm.__tm_gmtoff
# configure:15821: arm-linux-androideabi-gcc -c -Wall -Wformat -Wformat-security conftest.c >&5
# conftest.c: In function 'main':
# conftest.c:84:12: error: 'struct tm' has no member named '__tm_gmtoff'
# if (ac_aggr.__tm_gmtoff)
# ^
# conftest.c:83:18: warning: variable 'ac_aggr' set but not used [-Wunused-but-set-variable]
# static struct tm ac_aggr;
# ^
# configure:15821: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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_TIME_H 1
# | #define HAVE_SYS_UTIME_H 1
# | #define HAVE_SYS_UTSNAME_H 1
# | #define HAVE_SYS_VFS_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_ZLIB_H 1
# | #define HAVE_LIBZ 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:15821: arm-linux-androideabi-gcc -c -Wall -Wformat -Wformat-security conftest.c >&5
# conftest.c: In function 'main':
# conftest.c:84:19: error: 'struct tm' has no member named '__tm_gmtoff'
# if (sizeof ac_aggr.__tm_gmtoff)
# ^
# conftest.c:83:18: warning: variable 'ac_aggr' set but not used [-Wunused-but-set-variable]
# static struct tm ac_aggr;
# ^
# configure:15821: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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_TIME_H 1
# | #define HAVE_SYS_UTIME_H 1
# | #define HAVE_SYS_UTSNAME_H 1
# | #define HAVE_SYS_VFS_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_ZLIB_H 1
# | #define HAVE_LIBZ 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:15821: result: no
# configure:15836: checking for struct statfs.f_namemax
# configure:15836: arm-linux-androideabi-gcc -c -Wall -Wformat -Wformat-security conftest.c >&5
# conftest.c: In function 'main':
# conftest.c:84:22: error: storage size of 'ac_aggr' isn't known
# static struct statfs ac_aggr;
# ^
# conftest.c:84:22: warning: unused variable 'ac_aggr' [-Wunused-variable]
# configure:15836: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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_TIME_H 1
# | #define HAVE_SYS_UTIME_H 1
# | #define HAVE_SYS_UTSNAME_H 1
# | #define HAVE_SYS_VFS_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_ZLIB_H 1
# | #define HAVE_LIBZ 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:15836: arm-linux-androideabi-gcc -c -Wall -Wformat -Wformat-security conftest.c >&5
# conftest.c: In function 'main':
# conftest.c:84:22: error: storage size of 'ac_aggr' isn't known
# static struct statfs ac_aggr;
# ^
# conftest.c:84:22: warning: unused variable 'ac_aggr' [-Wunused-variable]
# configure:15836: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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_TIME_H 1
# | #define HAVE_SYS_UTIME_H 1
# | #define HAVE_SYS_UTSNAME_H 1
# | #define HAVE_SYS_VFS_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_ZLIB_H 1
# | #define HAVE_LIBZ 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:15836: result: no
# configure:15852: checking for struct statvfs.f_iosize
# configure:15852: arm-linux-androideabi-gcc -c -Wall -Wformat -Wformat-security conftest.c >&5
# conftest.c: In function 'main':
# conftest.c:84:12: error: 'struct statvfs' has no member named 'f_iosize'
# if (ac_aggr.f_iosize)
# ^
# conftest.c:83:23: warning: variable 'ac_aggr' set but not used [-Wunused-but-set-variable]
# static struct statvfs ac_aggr;
# ^
# configure:15852: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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_TIME_H 1
# | #define HAVE_SYS_UTIME_H 1
# | #define HAVE_SYS_UTSNAME_H 1
# | #define HAVE_SYS_VFS_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_ZLIB_H 1
# | #define HAVE_LIBZ 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:15852: arm-linux-androideabi-gcc -c -Wall -Wformat -Wformat-security conftest.c >&5
# conftest.c: In function 'main':
# conftest.c:84:19: error: 'struct statvfs' has no member named 'f_iosize'
# if (sizeof ac_aggr.f_iosize)
# ^
# conftest.c:83:23: warning: variable 'ac_aggr' set but not used [-Wunused-but-set-variable]
# static struct statvfs ac_aggr;
# ^
# configure:15852: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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_TIME_H 1
# | #define HAVE_SYS_UTIME_H 1
# | #define HAVE_SYS_UTSNAME_H 1
# | #define HAVE_SYS_VFS_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_ZLIB_H 1
# | #define HAVE_LIBZ 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:15852: result: no
# configure:15867: checking for struct stat.st_birthtime
# configure:15867: arm-linux-androideabi-gcc -c -Wall -Wformat -Wformat-security conftest.c >&5
# conftest.c: In function 'main':
# conftest.c:113:12: error: 'struct stat' has no member named 'st_birthtime'
# if (ac_aggr.st_birthtime)
# ^
# conftest.c:112:20: warning: variable 'ac_aggr' set but not used [-Wunused-but-set-variable]
# static struct stat ac_aggr;
# ^
# configure:15867: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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_TIME_H 1
# | #define HAVE_SYS_UTIME_H 1
# | #define HAVE_SYS_UTSNAME_H 1
# | #define HAVE_SYS_VFS_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_ZLIB_H 1
# | #define HAVE_LIBZ 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:15867: arm-linux-androideabi-gcc -c -Wall -Wformat -Wformat-security conftest.c >&5
# conftest.c: In function 'main':
# conftest.c:113:19: error: 'struct stat' has no member named 'st_birthtime'
# if (sizeof ac_aggr.st_birthtime)
# ^
# conftest.c:112:20: warning: variable 'ac_aggr' set but not used [-Wunused-but-set-variable]
# static struct stat ac_aggr;
# ^
# configure:15867: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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_TIME_H 1
# | #define HAVE_SYS_UTIME_H 1
# | #define HAVE_SYS_UTSNAME_H 1
# | #define HAVE_SYS_VFS_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_ZLIB_H 1
# | #define HAVE_LIBZ 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:15867: result: no
# configure:15879: checking for struct stat.st_birthtimespec.tv_nsec
# configure:15879: arm-linux-androideabi-gcc -c -Wall -Wformat -Wformat-security conftest.c >&5
# conftest.c: In function 'main':
# conftest.c:113:12: error: 'struct stat' has no member named 'st_birthtimespec'
# if (ac_aggr.st_birthtimespec.tv_nsec)
# ^
# conftest.c:112:20: warning: variable 'ac_aggr' set but not used [-Wunused-but-set-variable]
# static struct stat ac_aggr;
# ^
# configure:15879: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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_TIME_H 1
# | #define HAVE_SYS_UTIME_H 1
# | #define HAVE_SYS_UTSNAME_H 1
# | #define HAVE_SYS_VFS_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_ZLIB_H 1
# | #define HAVE_LIBZ 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:15879: arm-linux-androideabi-gcc -c -Wall -Wformat -Wformat-security conftest.c >&5
# conftest.c: In function 'main':
# conftest.c:113:19: error: 'struct stat' has no member named 'st_birthtimespec'
# if (sizeof ac_aggr.st_birthtimespec.tv_nsec)
# ^
# conftest.c:112:20: warning: variable 'ac_aggr' set but not used [-Wunused-but-set-variable]
# static struct stat ac_aggr;
# ^
# configure:15879: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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_TIME_H 1
# | #define HAVE_SYS_UTIME_H 1
# | #define HAVE_SYS_UTSNAME_H 1
# | #define HAVE_SYS_VFS_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_ZLIB_H 1
# | #define HAVE_LIBZ 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:15879: result: no
# configure:15889: checking for struct stat.st_mtimespec.tv_nsec
# configure:15889: arm-linux-androideabi-gcc -c -Wall -Wformat -Wformat-security conftest.c >&5
# conftest.c: In function 'main':
# conftest.c:113:12: error: 'struct stat' has no member named 'st_mtimespec'
# if (ac_aggr.st_mtimespec.tv_nsec)
# ^
# conftest.c:112:20: warning: variable 'ac_aggr' set but not used [-Wunused-but-set-variable]
# static struct stat ac_aggr;
# ^
# configure:15889: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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_TIME_H 1
# | #define HAVE_SYS_UTIME_H 1
# | #define HAVE_SYS_UTSNAME_H 1
# | #define HAVE_SYS_VFS_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_ZLIB_H 1
# | #define HAVE_LIBZ 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:15889: arm-linux-androideabi-gcc -c -Wall -Wformat -Wformat-security conftest.c >&5
# conftest.c: In function 'main':
# conftest.c:113:19: error: 'struct stat' has no member named 'st_mtimespec'
# if (sizeof ac_aggr.st_mtimespec.tv_nsec)
# ^
# conftest.c:112:20: warning: variable 'ac_aggr' set but not used [-Wunused-but-set-variable]
# static struct stat ac_aggr;
# ^
# configure:15889: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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_TIME_H 1
# | #define HAVE_SYS_UTIME_H 1
# | #define HAVE_SYS_UTSNAME_H 1
# | #define HAVE_SYS_VFS_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_ZLIB_H 1
# | #define HAVE_LIBZ 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:15889: result: no
# configure:15899: checking for struct stat.st_mtim.tv_nsec
# configure:15899: arm-linux-androideabi-gcc -c -Wall -Wformat -Wformat-security conftest.c >&5
# conftest.c: In function 'main':
# conftest.c:113:12: error: 'struct stat' has no member named 'st_mtim'
# if (ac_aggr.st_mtim.tv_nsec)
# ^
# conftest.c:112:20: warning: variable 'ac_aggr' set but not used [-Wunused-but-set-variable]
# static struct stat ac_aggr;
# ^
# configure:15899: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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_TIME_H 1
# | #define HAVE_SYS_UTIME_H 1
# | #define HAVE_SYS_UTSNAME_H 1
# | #define HAVE_SYS_VFS_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_ZLIB_H 1
# | #define HAVE_LIBZ 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_mtim.tv_nsec)
# | return 0;
# | ;
# | return 0;
# | }
# configure:15899: arm-linux-androideabi-gcc -c -Wall -Wformat -Wformat-security conftest.c >&5
# conftest.c: In function 'main':
# conftest.c:113:19: error: 'struct stat' has no member named 'st_mtim'
# if (sizeof ac_aggr.st_mtim.tv_nsec)
# ^
# conftest.c:112:20: warning: variable 'ac_aggr' set but not used [-Wunused-but-set-variable]
# static struct stat ac_aggr;
# ^
# configure:15899: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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_TIME_H 1
# | #define HAVE_SYS_UTIME_H 1
# | #define HAVE_SYS_UTSNAME_H 1
# | #define HAVE_SYS_VFS_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_ZLIB_H 1
# | #define HAVE_LIBZ 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_mtim.tv_nsec)
# | return 0;
# | ;
# | return 0;
# | }
# configure:15899: result: no
# configure:15909: checking for struct stat.st_mtime_n
# configure:15909: arm-linux-androideabi-gcc -c -Wall -Wformat -Wformat-security conftest.c >&5
# conftest.c: In function 'main':
# conftest.c:113:12: error: 'struct stat' has no member named 'st_mtime_n'
# if (ac_aggr.st_mtime_n)
# ^
# conftest.c:112:20: warning: variable 'ac_aggr' set but not used [-Wunused-but-set-variable]
# static struct stat ac_aggr;
# ^
# configure:15909: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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_TIME_H 1
# | #define HAVE_SYS_UTIME_H 1
# | #define HAVE_SYS_UTSNAME_H 1
# | #define HAVE_SYS_VFS_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_ZLIB_H 1
# | #define HAVE_LIBZ 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_mtime_n)
# | return 0;
# | ;
# | return 0;
# | }
# configure:15909: arm-linux-androideabi-gcc -c -Wall -Wformat -Wformat-security conftest.c >&5
# conftest.c: In function 'main':
# conftest.c:113:19: error: 'struct stat' has no member named 'st_mtime_n'
# if (sizeof ac_aggr.st_mtime_n)
# ^
# conftest.c:112:20: warning: variable 'ac_aggr' set but not used [-Wunused-but-set-variable]
# static struct stat ac_aggr;
# ^
# configure:15909: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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_TIME_H 1
# | #define HAVE_SYS_UTIME_H 1
# | #define HAVE_SYS_UTSNAME_H 1
# | #define HAVE_SYS_VFS_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_ZLIB_H 1
# | #define HAVE_LIBZ 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_mtime_n)
# | return 0;
# | ;
# | return 0;
# | }
# configure:15909: result: no
# configure:15919: checking for struct stat.st_umtime
# configure:15919: arm-linux-androideabi-gcc -c -Wall -Wformat -Wformat-security conftest.c >&5
# conftest.c: In function 'main':
# conftest.c:113:12: error: 'struct stat' has no member named 'st_umtime'
# if (ac_aggr.st_umtime)
# ^
# conftest.c:112:20: warning: variable 'ac_aggr' set but not used [-Wunused-but-set-variable]
# static struct stat ac_aggr;
# ^
# configure:15919: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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_TIME_H 1
# | #define HAVE_SYS_UTIME_H 1
# | #define HAVE_SYS_UTSNAME_H 1
# | #define HAVE_SYS_VFS_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_ZLIB_H 1
# | #define HAVE_LIBZ 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_umtime)
# | return 0;
# | ;
# | return 0;
# | }
# configure:15919: arm-linux-androideabi-gcc -c -Wall -Wformat -Wformat-security conftest.c >&5
# conftest.c: In function 'main':
# conftest.c:113:19: error: 'struct stat' has no member named 'st_umtime'
# if (sizeof ac_aggr.st_umtime)
# ^
# conftest.c:112:20: warning: variable 'ac_aggr' set but not used [-Wunused-but-set-variable]
# static struct stat ac_aggr;
# ^
# configure:15919: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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_TIME_H 1
# | #define HAVE_SYS_UTIME_H 1
# | #define HAVE_SYS_UTSNAME_H 1
# | #define HAVE_SYS_VFS_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_ZLIB_H 1
# | #define HAVE_LIBZ 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_umtime)
# | return 0;
# | ;
# | return 0;
# | }
# configure:15919: result: no
# configure:15929: checking for struct stat.st_mtime_usec
# configure:15929: arm-linux-androideabi-gcc -c -Wall -Wformat -Wformat-security conftest.c >&5
# conftest.c: In function 'main':
# conftest.c:113:12: error: 'struct stat' has no member named 'st_mtime_usec'
# if (ac_aggr.st_mtime_usec)
# ^
# conftest.c:112:20: warning: variable 'ac_aggr' set but not used [-Wunused-but-set-variable]
# static struct stat ac_aggr;
# ^
# configure:15929: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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_TIME_H 1
# | #define HAVE_SYS_UTIME_H 1
# | #define HAVE_SYS_UTSNAME_H 1
# | #define HAVE_SYS_VFS_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_ZLIB_H 1
# | #define HAVE_LIBZ 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_mtime_usec)
# | return 0;
# | ;
# | return 0;
# | }
# configure:15929: arm-linux-androideabi-gcc -c -Wall -Wformat -Wformat-security conftest.c >&5
# conftest.c: In function 'main':
# conftest.c:113:19: error: 'struct stat' has no member named 'st_mtime_usec'
# if (sizeof ac_aggr.st_mtime_usec)
# ^
# conftest.c:112:20: warning: variable 'ac_aggr' set but not used [-Wunused-but-set-variable]
# static struct stat ac_aggr;
# ^
# configure:15929: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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_TIME_H 1
# | #define HAVE_SYS_UTIME_H 1
# | #define HAVE_SYS_UTSNAME_H 1
# | #define HAVE_SYS_VFS_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_ZLIB_H 1
# | #define HAVE_LIBZ 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_mtime_usec)
# | return 0;
# | ;
# | return 0;
# | }
# configure:15929: result: no
# configure:15940: checking for struct stat.st_blksize
# configure:15940: arm-linux-androideabi-gcc -c -Wall -Wformat -Wformat-security conftest.c >&5
# configure:15940: $? = 0
# configure:15940: result: yes
# configure:15951: checking for struct stat.st_flags
# configure:15951: arm-linux-androideabi-gcc -c -Wall -Wformat -Wformat-security conftest.c >&5
# conftest.c: In function 'main':
# conftest.c:114:12: error: 'struct stat' has no member named 'st_flags'
# if (ac_aggr.st_flags)
# ^
# conftest.c:113:20: warning: variable 'ac_aggr' set but not used [-Wunused-but-set-variable]
# static struct stat ac_aggr;
# ^
# configure:15951: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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_TIME_H 1
# | #define HAVE_SYS_UTIME_H 1
# | #define HAVE_SYS_UTSNAME_H 1
# | #define HAVE_SYS_VFS_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_ZLIB_H 1
# | #define HAVE_LIBZ 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 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:15951: arm-linux-androideabi-gcc -c -Wall -Wformat -Wformat-security conftest.c >&5
# conftest.c: In function 'main':
# conftest.c:114:19: error: 'struct stat' has no member named 'st_flags'
# if (sizeof ac_aggr.st_flags)
# ^
# conftest.c:113:20: warning: variable 'ac_aggr' set but not used [-Wunused-but-set-variable]
# static struct stat ac_aggr;
# ^
# configure:15951: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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_TIME_H 1
# | #define HAVE_SYS_UTIME_H 1
# | #define HAVE_SYS_UTSNAME_H 1
# | #define HAVE_SYS_VFS_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_ZLIB_H 1
# | #define HAVE_LIBZ 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 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:15951: result: no
# configure:15965: checking for uintmax_t
# configure:15965: arm-linux-androideabi-gcc -c -Wall -Wformat -Wformat-security conftest.c >&5
# configure:15965: $? = 0
# configure:15965: arm-linux-androideabi-gcc -c -Wall -Wformat -Wformat-security conftest.c >&5
# conftest.c: In function 'main':
# conftest.c:113:24: error: expected expression before ')' token
# if (sizeof ((uintmax_t)))
# ^
# configure:15965: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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_TIME_H 1
# | #define HAVE_SYS_UTIME_H 1
# | #define HAVE_SYS_UTSNAME_H 1
# | #define HAVE_SYS_VFS_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_ZLIB_H 1
# | #define HAVE_LIBZ 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 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:15965: result: yes
# configure:15974: checking for unsigned long long
# configure:15974: arm-linux-androideabi-gcc -c -Wall -Wformat -Wformat-security conftest.c >&5
# configure:15974: $? = 0
# configure:15974: arm-linux-androideabi-gcc -c -Wall -Wformat -Wformat-security conftest.c >&5
# conftest.c: In function 'main':
# conftest.c:114:33: error: expected expression before ')' token
# if (sizeof ((unsigned long long)))
# ^
# configure:15974: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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_TIME_H 1
# | #define HAVE_SYS_UTIME_H 1
# | #define HAVE_SYS_UTSNAME_H 1
# | #define HAVE_SYS_VFS_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_ZLIB_H 1
# | #define HAVE_LIBZ 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 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:15974: result: yes
# configure:15988: checking for unsigned long long int
# configure:16027: arm-linux-androideabi-gcc -o conftest -Wall -Wformat -Wformat-security conftest.c -lz >&5
# configure:16027: $? = 0
# configure:16036: result: yes
# configure:16046: checking for long long int
# configure:16096: result: yes
# configure:16106: checking for intmax_t
# configure:16106: arm-linux-androideabi-gcc -c -Wall -Wformat -Wformat-security conftest.c >&5
# configure:16106: $? = 0
# configure:16106: arm-linux-androideabi-gcc -c -Wall -Wformat -Wformat-security conftest.c >&5
# conftest.c: In function 'main':
# conftest.c:117:23: error: expected expression before ')' token
# if (sizeof ((intmax_t)))
# ^
# configure:16106: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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_TIME_H 1
# | #define HAVE_SYS_UTIME_H 1
# | #define HAVE_SYS_UTSNAME_H 1
# | #define HAVE_SYS_VFS_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_ZLIB_H 1
# | #define HAVE_LIBZ 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 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:16106: result: yes
# configure:16125: checking for uintmax_t
# configure:16125: result: yes
# configure:16142: checking for int64_t
# configure:16142: arm-linux-androideabi-gcc -c -Wall -Wformat -Wformat-security conftest.c >&5
# configure:16142: $? = 0
# configure:16142: arm-linux-androideabi-gcc -c -Wall -Wformat -Wformat-security conftest.c >&5
# conftest.c: In function 'main':
# conftest.c:121:53: warning: integer overflow in expression [-Woverflow]
# < (int64_t) (((((int64_t) 1 << N) << N) - 1) * 2 + 2))];
# ^
# conftest.c:120: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:120:12: warning: unused variable 'test_array' [-Wunused-variable]
# configure:16142: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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_TIME_H 1
# | #define HAVE_SYS_UTIME_H 1
# | #define HAVE_SYS_UTSNAME_H 1
# | #define HAVE_SYS_VFS_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_ZLIB_H 1
# | #define HAVE_LIBZ 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 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:16142: result: yes
# configure:16153: checking for uint64_t
# configure:16153: arm-linux-androideabi-gcc -c -Wall -Wformat -Wformat-security conftest.c >&5
# configure:16153: $? = 0
# configure:16153: result: yes
# configure:16167: checking for int32_t
# configure:16167: arm-linux-androideabi-gcc -c -Wall -Wformat -Wformat-security conftest.c >&5
# configure:16167: $? = 0
# configure:16167: arm-linux-androideabi-gcc -c -Wall -Wformat -Wformat-security conftest.c >&5
# conftest.c: In function 'main':
# conftest.c:121:53: warning: integer overflow in expression [-Woverflow]
# < (int32_t) (((((int32_t) 1 << N) << N) - 1) * 2 + 2))];
# ^
# conftest.c:120: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:120:12: warning: unused variable 'test_array' [-Wunused-variable]
# configure:16167: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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_TIME_H 1
# | #define HAVE_SYS_UTIME_H 1
# | #define HAVE_SYS_UTSNAME_H 1
# | #define HAVE_SYS_VFS_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_ZLIB_H 1
# | #define HAVE_LIBZ 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 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:16167: result: yes
# configure:16178: checking for uint32_t
# configure:16178: arm-linux-androideabi-gcc -c -Wall -Wformat -Wformat-security conftest.c >&5
# configure:16178: $? = 0
# configure:16178: result: yes
# configure:16192: checking for int16_t
# configure:16192: arm-linux-androideabi-gcc -c -Wall -Wformat -Wformat-security conftest.c >&5
# configure:16192: $? = 0
# configure:16192: arm-linux-androideabi-gcc -c -Wall -Wformat -Wformat-security conftest.c >&5
# conftest.c: In function 'main':
# conftest.c:120: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:16192: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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_TIME_H 1
# | #define HAVE_SYS_UTIME_H 1
# | #define HAVE_SYS_UTSNAME_H 1
# | #define HAVE_SYS_VFS_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_ZLIB_H 1
# | #define HAVE_LIBZ 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 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:16192: result: yes
# configure:16203: checking for uint16_t
# configure:16203: arm-linux-androideabi-gcc -c -Wall -Wformat -Wformat-security conftest.c >&5
# configure:16203: $? = 0
# configure:16203: result: yes
# configure:16215: checking for uint8_t
# configure:16215: arm-linux-androideabi-gcc -c -Wall -Wformat -Wformat-security conftest.c >&5
# configure:16215: $? = 0
# configure:16215: result: yes
# configure:16230: checking whether SIZE_MAX is declared
# configure:16230: arm-linux-androideabi-gcc -c -Wall -Wformat -Wformat-security conftest.c >&5
# configure:16230: $? = 0
# configure:16230: result: yes
# configure:16240: checking whether INT32_MAX is declared
# configure:16240: arm-linux-androideabi-gcc -c -Wall -Wformat -Wformat-security conftest.c >&5
# configure:16240: $? = 0
# configure:16240: result: yes
# configure:16250: checking whether INT32_MIN is declared
# configure:16250: arm-linux-androideabi-gcc -c -Wall -Wformat -Wformat-security conftest.c >&5
# configure:16250: $? = 0
# configure:16250: result: yes
# configure:16261: checking whether INT64_MAX is declared
# configure:16261: arm-linux-androideabi-gcc -c -Wall -Wformat -Wformat-security conftest.c >&5
# configure:16261: $? = 0
# configure:16261: result: yes
# configure:16271: checking whether INT64_MIN is declared
# configure:16271: arm-linux-androideabi-gcc -c -Wall -Wformat -Wformat-security conftest.c >&5
# configure:16271: $? = 0
# configure:16271: result: yes
# configure:16281: checking whether UINT64_MAX is declared
# configure:16281: arm-linux-androideabi-gcc -c -Wall -Wformat -Wformat-security conftest.c >&5
# configure:16281: $? = 0
# configure:16281: result: yes
# configure:16291: checking whether UINT32_MAX is declared
# configure:16291: arm-linux-androideabi-gcc -c -Wall -Wformat -Wformat-security conftest.c >&5
# configure:16291: $? = 0
# configure:16291: result: yes
# configure:16302: checking whether INTMAX_MAX is declared
# configure:16302: arm-linux-androideabi-gcc -c -Wall -Wformat -Wformat-security conftest.c >&5
# configure:16302: $? = 0
# configure:16302: result: yes
# configure:16312: checking whether INTMAX_MIN is declared
# configure:16312: arm-linux-androideabi-gcc -c -Wall -Wformat -Wformat-security conftest.c >&5
# configure:16312: $? = 0
# configure:16312: result: yes
# configure:16322: checking whether UINTMAX_MAX is declared
# configure:16322: arm-linux-androideabi-gcc -c -Wall -Wformat -Wformat-security conftest.c >&5
# configure:16322: $? = 0
# configure:16322: result: yes
# configure:16334: checking whether SSIZE_MAX is declared
# configure:16334: arm-linux-androideabi-gcc -c -Wall -Wformat -Wformat-security conftest.c >&5
# configure:16334: $? = 0
# configure:16334: result: yes
# configure:16343: checking whether EFTYPE is declared
# configure:16343: arm-linux-androideabi-gcc -c -Wall -Wformat -Wformat-security conftest.c >&5
# conftest.c: In function 'main':
# conftest.c:103:10: error: 'EFTYPE' undeclared (first use in this function)
# (void) EFTYPE;
# ^
# conftest.c:103:10: note: each undeclared identifier is reported only once for each function it appears in
# configure:16343: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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_TIME_H 1
# | #define HAVE_SYS_UTIME_H 1
# | #define HAVE_SYS_UTSNAME_H 1
# | #define HAVE_SYS_VFS_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_ZLIB_H 1
# | #define HAVE_LIBZ 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 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:16343: result: no
# configure:16351: checking whether EILSEQ is declared
# configure:16351: arm-linux-androideabi-gcc -c -Wall -Wformat -Wformat-security conftest.c >&5
# configure:16351: $? = 0
# configure:16351: result: yes
# configure:16359: checking for wchar_t
# configure:16359: arm-linux-androideabi-gcc -c -Wall -Wformat -Wformat-security conftest.c >&5
# configure:16359: $? = 0
# configure:16359: arm-linux-androideabi-gcc -c -Wall -Wformat -Wformat-security conftest.c >&5
# conftest.c: In function 'main':
# conftest.c:131:22: error: expected expression before ')' token
# if (sizeof ((wchar_t)))
# ^
# configure:16359: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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_TIME_H 1
# | #define HAVE_SYS_UTIME_H 1
# | #define HAVE_SYS_UTSNAME_H 1
# | #define HAVE_SYS_VFS_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_ZLIB_H 1
# | #define HAVE_LIBZ 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 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:16359: result: yes
# configure:16369: checking size of wchar_t
# configure:16374: arm-linux-androideabi-gcc -c -Wall -Wformat -Wformat-security conftest.c >&5
# configure:16374: $? = 0
# configure:16374: arm-linux-androideabi-gcc -c -Wall -Wformat -Wformat-security conftest.c >&5
# conftest.c: In function 'main':
# conftest.c:132:12: error: size of array 'test_array' is negative
# static int test_array [1 - 2 * !(((long int) (sizeof (wchar_t))) <= 0)];
# ^
# configure:16374: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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_TIME_H 1
# | #define HAVE_SYS_UTIME_H 1
# | #define HAVE_SYS_UTSNAME_H 1
# | #define HAVE_SYS_VFS_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_ZLIB_H 1
# | #define HAVE_LIBZ 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 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:16374: arm-linux-androideabi-gcc -c -Wall -Wformat -Wformat-security conftest.c >&5
# conftest.c: In function 'main':
# conftest.c:132:12: error: size of array 'test_array' is negative
# static int test_array [1 - 2 * !(((long int) (sizeof (wchar_t))) <= 1)];
# ^
# configure:16374: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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_TIME_H 1
# | #define HAVE_SYS_UTIME_H 1
# | #define HAVE_SYS_UTSNAME_H 1
# | #define HAVE_SYS_VFS_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_ZLIB_H 1
# | #define HAVE_LIBZ 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 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:16374: arm-linux-androideabi-gcc -c -Wall -Wformat -Wformat-security conftest.c >&5
# conftest.c: In function 'main':
# conftest.c:132:12: error: size of array 'test_array' is negative
# static int test_array [1 - 2 * !(((long int) (sizeof (wchar_t))) <= 3)];
# ^
# configure:16374: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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_TIME_H 1
# | #define HAVE_SYS_UTIME_H 1
# | #define HAVE_SYS_UTSNAME_H 1
# | #define HAVE_SYS_VFS_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_ZLIB_H 1
# | #define HAVE_LIBZ 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 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:16374: arm-linux-androideabi-gcc -c -Wall -Wformat -Wformat-security conftest.c >&5
# configure:16374: $? = 0
# configure:16374: arm-linux-androideabi-gcc -c -Wall -Wformat -Wformat-security conftest.c >&5
# configure:16374: $? = 0
# configure:16374: arm-linux-androideabi-gcc -c -Wall -Wformat -Wformat-security conftest.c >&5
# configure:16374: $? = 0
# configure:16388: result: 4
# configure:16401: checking whether time.h and sys/time.h may both be included
# configure:16421: arm-linux-androideabi-gcc -c -Wall -Wformat -Wformat-security conftest.c >&5
# configure:16421: $? = 0
# configure:16428: result: yes
# configure:16439: checking whether arm-linux-androideabi-gcc needs -traditional
# configure:16473: result: no
# configure:16480: checking whether sys/types.h defines makedev
# configure:16496: arm-linux-androideabi-gcc -o conftest -Wall -Wformat -Wformat-security conftest.c -lz >&5
# configure:16496: $? = 0
# configure:16505: result: yes
# configure:16530: checking for _LARGEFILE_SOURCE value needed for large files
# configure:16549: arm-linux-androideabi-gcc -o conftest -Wall -Wformat -Wformat-security conftest.c -lz >&5
# configure:16549: $? = 0
# configure:16577: result: no
# configure:16598: checking for working memcmp
# configure:16651: result: no
# configure:16660: checking whether lstat correctly handles trailing slash
# configure:16703: result: no
# configure:16722: checking whether lstat accepts an empty string
# configure:16752: result: yes
# configure:16768: checking whether stat accepts an empty string
# configure:16798: result: yes
# configure:16814: checking whether strerror_r is declared
# configure:16814: arm-linux-androideabi-gcc -c -Wall -Wformat -Wformat-security conftest.c >&5
# configure:16814: $? = 0
# configure:16814: result: yes
# configure:16827: checking for strerror_r
# configure:16827: arm-linux-androideabi-gcc -o conftest -Wall -Wformat -Wformat-security conftest.c -lz >&5
# configure:16827: $? = 0
# configure:16827: result: yes
# configure:16836: checking whether strerror_r returns char *
# configure:16860: arm-linux-androideabi-gcc -c -Wall -Wformat -Wformat-security conftest.c >&5
# conftest.c: In function 'main':
# conftest.c:141:13: error: invalid type argument of unary '*' (have 'int')
# char x = *strerror_r (0, buf, sizeof buf);
# ^
# conftest.c:142:14: warning: initialization makes pointer from integer without a cast [enabled by default]
# char *p = strerror_r (0, buf, sizeof buf);
# ^
# configure:16860: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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_TIME_H 1
# | #define HAVE_SYS_UTIME_H 1
# | #define HAVE_SYS_UTSNAME_H 1
# | #define HAVE_SYS_VFS_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_ZLIB_H 1
# | #define HAVE_LIBZ 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 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
# | /* 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 ()
# | {
# |
# | char buf[100];
# | char x = *strerror_r (0, buf, sizeof buf);
# | char *p = strerror_r (0, buf, sizeof buf);
# | return !p || x;
# |
# | ;
# | return 0;
# | }
# configure:16898: result: no
# configure:16908: checking for strftime
# configure:16908: arm-linux-androideabi-gcc -o conftest -Wall -Wformat -Wformat-security conftest.c -lz >&5
# conftest.c:126:6: warning: conflicting types for built-in function 'strftime' [enabled by default]
# char strftime ();
# ^
# configure:16908: $? = 0
# configure:16908: result: yes
# configure:16963: checking for vprintf
# configure:16963: arm-linux-androideabi-gcc -o conftest -Wall -Wformat -Wformat-security conftest.c -lz >&5
# conftest.c:127:6: warning: conflicting types for built-in function 'vprintf' [enabled by default]
# char vprintf ();
# ^
# configure:16963: $? = 0
# configure:16963: result: yes
# configure:16969: checking for _doprnt
# configure:16969: arm-linux-androideabi-gcc -o conftest -Wall -Wformat -Wformat-security conftest.c -lz >&5
# /tmp/ccSesUsD.o:conftest.c:function main: error: undefined reference to '_doprnt'
# collect2: error: ld returned 1 exit status
# configure:16969: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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_TIME_H 1
# | #define HAVE_SYS_UTIME_H 1
# | #define HAVE_SYS_UTSNAME_H 1
# | #define HAVE_SYS_VFS_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_ZLIB_H 1
# | #define HAVE_LIBZ 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 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 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:16969: result: no
# configure:16984: checking for CreateHardLinkA
# configure:17019: arm-linux-androideabi-gcc -o conftest -Wall -Wformat -Wformat-security conftest.c -lz >&5
# conftest.c:114:16: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'CreateHardLinkA'
# char __stdcall CreateHardLinkA ( const char *, const char *, void * );
# ^
# conftest.c: In function 'main':
# conftest.c:126:5: error: 'CreateHardLinkA' undeclared (first use in this function)
# f = CreateHardLinkA;
# ^
# conftest.c:126:5: note: each undeclared identifier is reported only once for each function it appears in
# configure:17019: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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_TIME_H 1
# | #define HAVE_SYS_UTIME_H 1
# | #define HAVE_SYS_UTSNAME_H 1
# | #define HAVE_SYS_VFS_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_ZLIB_H 1
# | #define HAVE_LIBZ 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 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 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:17027: result: no
# configure:17035: checking for arc4random_buf
# configure:17035: arm-linux-androideabi-gcc -o conftest -Wall -Wformat -Wformat-security conftest.c -lz >&5
# configure:17035: $? = 0
# configure:17035: result: yes
# configure:17035: checking for chflags
# configure:17035: arm-linux-androideabi-gcc -o conftest -Wall -Wformat -Wformat-security conftest.c -lz >&5
# /tmp/ccAzp7vW.o:conftest.c:function main: error: undefined reference to 'chflags'
# collect2: error: ld returned 1 exit status
# configure:17035: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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_TIME_H 1
# | #define HAVE_SYS_UTIME_H 1
# | #define HAVE_SYS_UTSNAME_H 1
# | #define HAVE_SYS_VFS_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_ZLIB_H 1
# | #define HAVE_LIBZ 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 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 HAVE_STRFTIME 1
# | #define HAVE_VPRINTF 1
# | #define HAVE_ARC4RANDOM_BUF 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:17035: result: no
# configure:17035: checking for chown
# configure:17035: arm-linux-androideabi-gcc -o conftest -Wall -Wformat -Wformat-security conftest.c -lz >&5
# configure:17035: $? = 0
# configure:17035: result: yes
# configure:17035: checking for chroot
# configure:17035: arm-linux-androideabi-gcc -o conftest -Wall -Wformat -Wformat-security conftest.c -lz >&5
# configure:17035: $? = 0
# configure:17035: result: yes
# configure:17035: checking for ctime_r
# configure:17035: arm-linux-androideabi-gcc -o conftest -Wall -Wformat -Wformat-security conftest.c -lz >&5
# configure:17035: $? = 0
# configure:17035: result: yes
# configure:17035: checking for dirfd
# configure:17035: arm-linux-androideabi-gcc -o conftest -Wall -Wformat -Wformat-security conftest.c -lz >&5
# configure:17035: $? = 0
# configure:17035: result: yes
# configure:17047: checking for fchdir
# configure:17047: arm-linux-androideabi-gcc -o conftest -Wall -Wformat -Wformat-security conftest.c -lz >&5
# configure:17047: $? = 0
# configure:17047: result: yes
# configure:17047: checking for fchflags
# configure:17047: arm-linux-androideabi-gcc -o conftest -Wall -Wformat -Wformat-security conftest.c -lz >&5
# /tmp/ccgoEkOr.o:conftest.c:function main: error: undefined reference to 'fchflags'
# collect2: error: ld returned 1 exit status
# configure:17047: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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_TIME_H 1
# | #define HAVE_SYS_UTIME_H 1
# | #define HAVE_SYS_UTSNAME_H 1
# | #define HAVE_SYS_VFS_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_ZLIB_H 1
# | #define HAVE_LIBZ 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 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 HAVE_STRFTIME 1
# | #define HAVE_VPRINTF 1
# | #define HAVE_ARC4RANDOM_BUF 1
# | #define HAVE_CHOWN 1
# | #define HAVE_CHROOT 1
# | #define HAVE_CTIME_R 1
# | #define HAVE_DIRFD 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:17047: result: no
# configure:17047: checking for fchmod
# configure:17047: arm-linux-androideabi-gcc -o conftest -Wall -Wformat -Wformat-security conftest.c -lz >&5
# configure:17047: $? = 0
# configure:17047: result: yes
# configure:17047: checking for fchown
# configure:17047: arm-linux-androideabi-gcc -o conftest -Wall -Wformat -Wformat-security conftest.c -lz >&5
# configure:17047: $? = 0
# configure:17047: result: yes
# configure:17047: checking for fcntl
# configure:17047: arm-linux-androideabi-gcc -o conftest -Wall -Wformat -Wformat-security conftest.c -lz >&5
# configure:17047: $? = 0
# configure:17047: result: yes
# configure:17047: checking for fdopendir
# configure:17047: arm-linux-androideabi-gcc -o conftest -Wall -Wformat -Wformat-security conftest.c -lz >&5
# configure:17047: $? = 0
# configure:17047: result: yes
# configure:17047: checking for fork
# configure:17047: arm-linux-androideabi-gcc -o conftest -Wall -Wformat -Wformat-security conftest.c -lz >&5
# conftest.c:138:6: warning: conflicting types for built-in function 'fork' [enabled by default]
# char fork ();
# ^
# configure:17047: $? = 0
# configure:17047: result: yes
# configure:17059: checking for fstat
# configure:17059: arm-linux-androideabi-gcc -o conftest -Wall -Wformat -Wformat-security conftest.c -lz >&5
# configure:17059: $? = 0
# configure:17059: result: yes
# configure:17059: checking for fstatat
# configure:17059: arm-linux-androideabi-gcc -o conftest -Wall -Wformat -Wformat-security conftest.c -lz >&5
# configure:17059: $? = 0
# configure:17059: result: yes
# configure:17059: checking for fstatfs
# configure:17059: arm-linux-androideabi-gcc -o conftest -Wall -Wformat -Wformat-security conftest.c -lz >&5
# configure:17059: $? = 0
# configure:17059: result: yes
# configure:17059: checking for fstatvfs
# configure:17059: arm-linux-androideabi-gcc -o conftest -Wall -Wformat -Wformat-security conftest.c -lz >&5
# configure:17059: $? = 0
# configure:17059: result: yes
# configure:17059: checking for ftruncate
# configure:17059: arm-linux-androideabi-gcc -o conftest -Wall -Wformat -Wformat-security conftest.c -lz >&5
# configure:17059: $? = 0
# configure:17059: result: yes
# configure:17071: checking for futimens
# configure:17071: arm-linux-androideabi-gcc -o conftest -Wall -Wformat -Wformat-security conftest.c -lz >&5
# configure:17071: $? = 0
# configure:17071: result: yes
# configure:17071: checking for futimes
# configure:17071: arm-linux-androideabi-gcc -o conftest -Wall -Wformat -Wformat-security conftest.c -lz >&5
# /tmp/cciAfEnh.o:conftest.c:function main: error: undefined reference to 'futimes'
# collect2: error: ld returned 1 exit status
# configure:17071: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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_TIME_H 1
# | #define HAVE_SYS_UTIME_H 1
# | #define HAVE_SYS_UTSNAME_H 1
# | #define HAVE_SYS_VFS_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_ZLIB_H 1
# | #define HAVE_LIBZ 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 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 HAVE_STRFTIME 1
# | #define HAVE_VPRINTF 1
# | #define HAVE_ARC4RANDOM_BUF 1
# | #define HAVE_CHOWN 1
# | #define HAVE_CHROOT 1
# | #define HAVE_CTIME_R 1
# | #define HAVE_DIRFD 1
# | #define HAVE_FCHDIR 1
# | #define HAVE_FCHMOD 1
# | #define HAVE_FCHOWN 1
# | #define HAVE_FCNTL 1
# | #define HAVE_FDOPENDIR 1
# | #define HAVE_FORK 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:17071: result: no
# configure:17071: checking for futimesat
# configure:17071: arm-linux-androideabi-gcc -o conftest -Wall -Wformat -Wformat-security conftest.c -lz >&5
# /tmp/ccYTPnHl.o:conftest.c:function main: error: undefined reference to 'futimesat'
# collect2: error: ld returned 1 exit status
# configure:17071: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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_TIME_H 1
# | #define HAVE_SYS_UTIME_H 1
# | #define HAVE_SYS_UTSNAME_H 1
# | #define HAVE_SYS_VFS_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_ZLIB_H 1
# | #define HAVE_LIBZ 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 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 HAVE_STRFTIME 1
# | #define HAVE_VPRINTF 1
# | #define HAVE_ARC4RANDOM_BUF 1
# | #define HAVE_CHOWN 1
# | #define HAVE_CHROOT 1
# | #define HAVE_CTIME_R 1
# | #define HAVE_DIRFD 1
# | #define HAVE_FCHDIR 1
# | #define HAVE_FCHMOD 1
# | #define HAVE_FCHOWN 1
# | #define HAVE_FCNTL 1
# | #define HAVE_FDOPENDIR 1
# | #define HAVE_FORK 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 futimesat to an innocuous variant, in case declares futimesat.
# | For example, HP-UX 11i declares gettimeofday. */
# | #define futimesat innocuous_futimesat
# |
# | /* System header to define __stub macros and hopefully few prototypes,
# | which can conflict with char futimesat (); below.
# | Prefer to if __STDC__ is defined, since
# | exists even on freestanding compilers. */
# |
# | #ifdef __STDC__
# | # include
# | #else
# | # include
# | #endif
# |
# | #undef futimesat
# |
# | /* 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 futimesat ();
# | /* 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_futimesat || defined __stub___futimesat
# | choke me
# | #endif
# |
# | int
# | main ()
# | {
# | return futimesat ();
# | ;
# | return 0;
# | }
# configure:17071: result: no
# configure:17083: checking for geteuid
# configure:17083: arm-linux-androideabi-gcc -o conftest -Wall -Wformat -Wformat-security conftest.c -lz >&5
# configure:17083: $? = 0
# configure:17083: result: yes
# configure:17083: checking for getpid
# configure:17083: arm-linux-androideabi-gcc -o conftest -Wall -Wformat -Wformat-security conftest.c -lz >&5
# configure:17083: $? = 0
# configure:17083: result: yes
# configure:17083: checking for getgrgid_r
# configure:17083: arm-linux-androideabi-gcc -o conftest -Wall -Wformat -Wformat-security conftest.c -lz >&5
# /tmp/ccMdBJ2y.o:conftest.c:function main: error: undefined reference to 'getgrgid_r'
# collect2: error: ld returned 1 exit status
# configure:17083: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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_TIME_H 1
# | #define HAVE_SYS_UTIME_H 1
# | #define HAVE_SYS_UTSNAME_H 1
# | #define HAVE_SYS_VFS_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_ZLIB_H 1
# | #define HAVE_LIBZ 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 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 HAVE_STRFTIME 1
# | #define HAVE_VPRINTF 1
# | #define HAVE_ARC4RANDOM_BUF 1
# | #define HAVE_CHOWN 1
# | #define HAVE_CHROOT 1
# | #define HAVE_CTIME_R 1
# | #define HAVE_DIRFD 1
# | #define HAVE_FCHDIR 1
# | #define HAVE_FCHMOD 1
# | #define HAVE_FCHOWN 1
# | #define HAVE_FCNTL 1
# | #define HAVE_FDOPENDIR 1
# | #define HAVE_FORK 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_GETEUID 1
# | #define HAVE_GETPID 1
# | /* end confdefs.h. */
# | /* Define getgrgid_r to an innocuous variant, in case declares getgrgid_r.
# | For example, HP-UX 11i declares gettimeofday. */
# | #define getgrgid_r innocuous_getgrgid_r
# |
# | /* System header to define __stub macros and hopefully few prototypes,
# | which can conflict with char getgrgid_r (); below.
# | Prefer to if __STDC__ is defined, since
# | exists even on freestanding compilers. */
# |
# | #ifdef __STDC__
# | # include
# | #else
# | # include
# | #endif
# |
# | #undef getgrgid_r
# |
# | /* 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 getgrgid_r ();
# | /* 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_getgrgid_r || defined __stub___getgrgid_r
# | choke me
# | #endif
# |
# | int
# | main ()
# | {
# | return getgrgid_r ();
# | ;
# | return 0;
# | }
# configure:17083: result: no
# configure:17083: checking for getgrnam_r
# configure:17083: arm-linux-androideabi-gcc -o conftest -Wall -Wformat -Wformat-security conftest.c -lz >&5
# /tmp/ccsxTfKE.o:conftest.c:function main: error: undefined reference to 'getgrnam_r'
# collect2: error: ld returned 1 exit status
# configure:17083: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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_TIME_H 1
# | #define HAVE_SYS_UTIME_H 1
# | #define HAVE_SYS_UTSNAME_H 1
# | #define HAVE_SYS_VFS_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_ZLIB_H 1
# | #define HAVE_LIBZ 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 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 HAVE_STRFTIME 1
# | #define HAVE_VPRINTF 1
# | #define HAVE_ARC4RANDOM_BUF 1
# | #define HAVE_CHOWN 1
# | #define HAVE_CHROOT 1
# | #define HAVE_CTIME_R 1
# | #define HAVE_DIRFD 1
# | #define HAVE_FCHDIR 1
# | #define HAVE_FCHMOD 1
# | #define HAVE_FCHOWN 1
# | #define HAVE_FCNTL 1
# | #define HAVE_FDOPENDIR 1
# | #define HAVE_FORK 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_GETEUID 1
# | #define HAVE_GETPID 1
# | /* end confdefs.h. */
# | /* Define getgrnam_r to an innocuous variant, in case declares getgrnam_r.
# | For example, HP-UX 11i declares gettimeofday. */
# | #define getgrnam_r innocuous_getgrnam_r
# |
# | /* System header to define __stub macros and hopefully few prototypes,
# | which can conflict with char getgrnam_r (); below.
# | Prefer to if __STDC__ is defined, since
# | exists even on freestanding compilers. */
# |
# | #ifdef __STDC__
# | # include
# | #else
# | # include
# | #endif
# |
# | #undef getgrnam_r
# |
# | /* 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 getgrnam_r ();
# | /* 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_getgrnam_r || defined __stub___getgrnam_r
# | choke me
# | #endif
# |
# | int
# | main ()
# | {
# | return getgrnam_r ();
# | ;
# | return 0;
# | }
# configure:17083: result: no
# configure:17095: checking for getpwnam_r
# configure:17095: arm-linux-androideabi-gcc -o conftest -Wall -Wformat -Wformat-security conftest.c -lz >&5
# configure:17095: $? = 0
# configure:17095: result: yes
# configure:17095: checking for getpwuid_r
# configure:17095: arm-linux-androideabi-gcc -o conftest -Wall -Wformat -Wformat-security conftest.c -lz >&5
# configure:17095: $? = 0
# configure:17095: result: yes
# configure:17095: checking for getvfsbyname
# configure:17095: arm-linux-androideabi-gcc -o conftest -Wall -Wformat -Wformat-security conftest.c -lz >&5
# /tmp/cckd3KoR.o:conftest.c:function main: error: undefined reference to 'getvfsbyname'
# collect2: error: ld returned 1 exit status
# configure:17095: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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_TIME_H 1
# | #define HAVE_SYS_UTIME_H 1
# | #define HAVE_SYS_UTSNAME_H 1
# | #define HAVE_SYS_VFS_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_ZLIB_H 1
# | #define HAVE_LIBZ 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 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 HAVE_STRFTIME 1
# | #define HAVE_VPRINTF 1
# | #define HAVE_ARC4RANDOM_BUF 1
# | #define HAVE_CHOWN 1
# | #define HAVE_CHROOT 1
# | #define HAVE_CTIME_R 1
# | #define HAVE_DIRFD 1
# | #define HAVE_FCHDIR 1
# | #define HAVE_FCHMOD 1
# | #define HAVE_FCHOWN 1
# | #define HAVE_FCNTL 1
# | #define HAVE_FDOPENDIR 1
# | #define HAVE_FORK 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_GETEUID 1
# | #define HAVE_GETPID 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:17095: result: no
# configure:17095: checking for gmtime_r
# configure:17095: arm-linux-androideabi-gcc -o conftest -Wall -Wformat -Wformat-security conftest.c -lz >&5
# configure:17095: $? = 0
# configure:17095: result: yes
# configure:17107: checking for lchflags
# configure:17107: arm-linux-androideabi-gcc -o conftest -Wall -Wformat -Wformat-security conftest.c -lz >&5
# /tmp/ccC8tN6l.o:conftest.c:function main: error: undefined reference to 'lchflags'
# collect2: error: ld returned 1 exit status
# configure:17107: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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_TIME_H 1
# | #define HAVE_SYS_UTIME_H 1
# | #define HAVE_SYS_UTSNAME_H 1
# | #define HAVE_SYS_VFS_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_ZLIB_H 1
# | #define HAVE_LIBZ 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 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 HAVE_STRFTIME 1
# | #define HAVE_VPRINTF 1
# | #define HAVE_ARC4RANDOM_BUF 1
# | #define HAVE_CHOWN 1
# | #define HAVE_CHROOT 1
# | #define HAVE_CTIME_R 1
# | #define HAVE_DIRFD 1
# | #define HAVE_FCHDIR 1
# | #define HAVE_FCHMOD 1
# | #define HAVE_FCHOWN 1
# | #define HAVE_FCNTL 1
# | #define HAVE_FDOPENDIR 1
# | #define HAVE_FORK 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_GETEUID 1
# | #define HAVE_GETPID 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:17107: result: no
# configure:17107: checking for lchmod
# configure:17107: arm-linux-androideabi-gcc -o conftest -Wall -Wformat -Wformat-security conftest.c -lz >&5
# /tmp/cco1MvGs.o:conftest.c:function main: error: undefined reference to 'lchmod'
# collect2: error: ld returned 1 exit status
# configure:17107: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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_TIME_H 1
# | #define HAVE_SYS_UTIME_H 1
# | #define HAVE_SYS_UTSNAME_H 1
# | #define HAVE_SYS_VFS_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_ZLIB_H 1
# | #define HAVE_LIBZ 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 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 HAVE_STRFTIME 1
# | #define HAVE_VPRINTF 1
# | #define HAVE_ARC4RANDOM_BUF 1
# | #define HAVE_CHOWN 1
# | #define HAVE_CHROOT 1
# | #define HAVE_CTIME_R 1
# | #define HAVE_DIRFD 1
# | #define HAVE_FCHDIR 1
# | #define HAVE_FCHMOD 1
# | #define HAVE_FCHOWN 1
# | #define HAVE_FCNTL 1
# | #define HAVE_FDOPENDIR 1
# | #define HAVE_FORK 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_GETEUID 1
# | #define HAVE_GETPID 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:17107: result: no
# configure:17107: checking for lchown
# configure:17107: arm-linux-androideabi-gcc -o conftest -Wall -Wformat -Wformat-security conftest.c -lz >&5
# configure:17107: $? = 0
# configure:17107: result: yes
# configure:17107: checking for link
# configure:17107: arm-linux-androideabi-gcc -o conftest -Wall -Wformat -Wformat-security conftest.c -lz >&5
# configure:17107: $? = 0
# configure:17107: result: yes
# configure:17107: checking for localtime_r
# configure:17107: arm-linux-androideabi-gcc -o conftest -Wall -Wformat -Wformat-security conftest.c -lz >&5
# configure:17107: $? = 0
# configure:17107: result: yes
# configure:17107: checking for lstat
# configure:17107: arm-linux-androideabi-gcc -o conftest -Wall -Wformat -Wformat-security conftest.c -lz >&5
# configure:17107: $? = 0
# configure:17107: result: yes
# configure:17107: checking for lutimes
# configure:17107: arm-linux-androideabi-gcc -o conftest -Wall -Wformat -Wformat-security conftest.c -lz >&5
# /tmp/cc4eUAuS.o:conftest.c:function main: error: undefined reference to 'lutimes'
# collect2: error: ld returned 1 exit status
# configure:17107: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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_TIME_H 1
# | #define HAVE_SYS_UTIME_H 1
# | #define HAVE_SYS_UTSNAME_H 1
# | #define HAVE_SYS_VFS_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_ZLIB_H 1
# | #define HAVE_LIBZ 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 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 HAVE_STRFTIME 1
# | #define HAVE_VPRINTF 1
# | #define HAVE_ARC4RANDOM_BUF 1
# | #define HAVE_CHOWN 1
# | #define HAVE_CHROOT 1
# | #define HAVE_CTIME_R 1
# | #define HAVE_DIRFD 1
# | #define HAVE_FCHDIR 1
# | #define HAVE_FCHMOD 1
# | #define HAVE_FCHOWN 1
# | #define HAVE_FCNTL 1
# | #define HAVE_FDOPENDIR 1
# | #define HAVE_FORK 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_GETEUID 1
# | #define HAVE_GETPID 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
# | /* end confdefs.h. */
# | /* Define lutimes to an innocuous variant, in case declares lutimes.
# | For example, HP-UX 11i declares gettimeofday. */
# | #define lutimes innocuous_lutimes
# |
# | /* System header to define __stub macros and hopefully few prototypes,
# | which can conflict with char lutimes (); below.
# | Prefer to if __STDC__ is defined, since
# | exists even on freestanding compilers. */
# |
# | #ifdef __STDC__
# | # include
# | #else
# | # include
# | #endif
# |
# | #undef lutimes
# |
# | /* 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 lutimes ();
# | /* 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_lutimes || defined __stub___lutimes
# | choke me
# | #endif
# |
# | int
# | main ()
# | {
# | return lutimes ();
# | ;
# | return 0;
# | }
# configure:17107: result: no
# configure:17119: checking for mbrtowc
# configure:17119: arm-linux-androideabi-gcc -o conftest -Wall -Wformat -Wformat-security conftest.c -lz >&5
# configure:17119: $? = 0
# configure:17119: result: yes
# configure:17119: checking for memmove
# configure:17119: arm-linux-androideabi-gcc -o conftest -Wall -Wformat -Wformat-security conftest.c -lz >&5
# conftest.c:155:6: warning: conflicting types for built-in function 'memmove' [enabled by default]
# char memmove ();
# ^
# configure:17119: $? = 0
# configure:17119: result: yes
# configure:17119: checking for memset
# configure:17119: arm-linux-androideabi-gcc -o conftest -Wall -Wformat -Wformat-security conftest.c -lz >&5
# conftest.c:156:6: warning: conflicting types for built-in function 'memset' [enabled by default]
# char memset ();
# ^
# configure:17119: $? = 0
# configure:17119: result: yes
# configure:17131: checking for mkdir
# configure:17131: arm-linux-androideabi-gcc -o conftest -Wall -Wformat -Wformat-security conftest.c -lz >&5
# configure:17131: $? = 0
# configure:17131: result: yes
# configure:17131: checking for mkfifo
# configure:17131: arm-linux-androideabi-gcc -o conftest -Wall -Wformat -Wformat-security conftest.c -lz >&5
# configure:17131: $? = 0
# configure:17131: result: yes
# configure:17131: checking for mknod
# configure:17131: arm-linux-androideabi-gcc -o conftest -Wall -Wformat -Wformat-security conftest.c -lz >&5
# configure:17131: $? = 0
# configure:17131: result: yes
# configure:17131: checking for mkstemp
# configure:17131: arm-linux-androideabi-gcc -o conftest -Wall -Wformat -Wformat-security conftest.c -lz >&5
# configure:17131: $? = 0
# configure:17131: result: yes
# configure:17143: checking for nl_langinfo
# configure:17143: arm-linux-androideabi-gcc -o conftest -Wall -Wformat -Wformat-security conftest.c -lz >&5
# /tmp/ccQg6z6y.o:conftest.c:function main: error: undefined reference to 'nl_langinfo'
# collect2: error: ld returned 1 exit status
# configure:17143: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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_TIME_H 1
# | #define HAVE_SYS_UTIME_H 1
# | #define HAVE_SYS_UTSNAME_H 1
# | #define HAVE_SYS_VFS_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_ZLIB_H 1
# | #define HAVE_LIBZ 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 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 HAVE_STRFTIME 1
# | #define HAVE_VPRINTF 1
# | #define HAVE_ARC4RANDOM_BUF 1
# | #define HAVE_CHOWN 1
# | #define HAVE_CHROOT 1
# | #define HAVE_CTIME_R 1
# | #define HAVE_DIRFD 1
# | #define HAVE_FCHDIR 1
# | #define HAVE_FCHMOD 1
# | #define HAVE_FCHOWN 1
# | #define HAVE_FCNTL 1
# | #define HAVE_FDOPENDIR 1
# | #define HAVE_FORK 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_GETEUID 1
# | #define HAVE_GETPID 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_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
# | /* end confdefs.h. */
# | /* Define nl_langinfo to an innocuous variant, in case declares nl_langinfo.
# | For example, HP-UX 11i declares gettimeofday. */
# | #define nl_langinfo innocuous_nl_langinfo
# |
# | /* System header to define __stub macros and hopefully few prototypes,
# | which can conflict with char nl_langinfo (); below.
# | Prefer to if __STDC__ is defined, since
# | exists even on freestanding compilers. */
# |
# | #ifdef __STDC__
# | # include
# | #else
# | # include
# | #endif
# |
# | #undef nl_langinfo
# |
# | /* 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 nl_langinfo ();
# | /* 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_nl_langinfo || defined __stub___nl_langinfo
# | choke me
# | #endif
# |
# | int
# | main ()
# | {
# | return nl_langinfo ();
# | ;
# | return 0;
# | }
# configure:17143: result: no
# configure:17143: checking for openat
# configure:17143: arm-linux-androideabi-gcc -o conftest -Wall -Wformat -Wformat-security conftest.c -lz >&5
# configure:17143: $? = 0
# configure:17143: result: yes
# configure:17143: checking for pipe
# configure:17143: arm-linux-androideabi-gcc -o conftest -Wall -Wformat -Wformat-security conftest.c -lz >&5
# configure:17143: $? = 0
# configure:17143: result: yes
# configure:17143: checking for poll
# configure:17143: arm-linux-androideabi-gcc -o conftest -Wall -Wformat -Wformat-security conftest.c -lz >&5
# configure:17143: $? = 0
# configure:17143: result: yes
# configure:17143: checking for posix_spawnp
# configure:17143: arm-linux-androideabi-gcc -o conftest -Wall -Wformat -Wformat-security conftest.c -lz >&5
# /tmp/ccEzlcIT.o:conftest.c:function main: error: undefined reference to 'posix_spawnp'
# collect2: error: ld returned 1 exit status
# configure:17143: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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_TIME_H 1
# | #define HAVE_SYS_UTIME_H 1
# | #define HAVE_SYS_UTSNAME_H 1
# | #define HAVE_SYS_VFS_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_ZLIB_H 1
# | #define HAVE_LIBZ 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 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 HAVE_STRFTIME 1
# | #define HAVE_VPRINTF 1
# | #define HAVE_ARC4RANDOM_BUF 1
# | #define HAVE_CHOWN 1
# | #define HAVE_CHROOT 1
# | #define HAVE_CTIME_R 1
# | #define HAVE_DIRFD 1
# | #define HAVE_FCHDIR 1
# | #define HAVE_FCHMOD 1
# | #define HAVE_FCHOWN 1
# | #define HAVE_FCNTL 1
# | #define HAVE_FDOPENDIR 1
# | #define HAVE_FORK 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_GETEUID 1
# | #define HAVE_GETPID 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_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_OPENAT 1
# | #define HAVE_PIPE 1
# | #define HAVE_POLL 1
# | /* end confdefs.h. */
# | /* Define posix_spawnp to an innocuous variant, in case declares posix_spawnp.
# | For example, HP-UX 11i declares gettimeofday. */
# | #define posix_spawnp innocuous_posix_spawnp
# |
# | /* System header to define __stub macros and hopefully few prototypes,
# | which can conflict with char posix_spawnp (); below.
# | Prefer to if __STDC__ is defined, since
# | exists even on freestanding compilers. */
# |
# | #ifdef __STDC__
# | # include
# | #else
# | # include
# | #endif
# |
# | #undef posix_spawnp
# |
# | /* 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 posix_spawnp ();
# | /* 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_posix_spawnp || defined __stub___posix_spawnp
# | choke me
# | #endif
# |
# | int
# | main ()
# | {
# | return posix_spawnp ();
# | ;
# | return 0;
# | }
# configure:17143: result: no
# configure:17143: checking for readlink
# configure:17143: arm-linux-androideabi-gcc -o conftest -Wall -Wformat -Wformat-security conftest.c -lz >&5
# configure:17143: $? = 0
# configure:17143: result: yes
# configure:17143: checking for readlinkat
# configure:17143: arm-linux-androideabi-gcc -o conftest -Wall -Wformat -Wformat-security conftest.c -lz >&5
# configure:17143: $? = 0
# configure:17143: result: yes
# configure:17154: checking for readpassphrase
# configure:17154: arm-linux-androideabi-gcc -o conftest -Wall -Wformat -Wformat-security conftest.c -lz >&5
# /tmp/ccq1KVOh.o:conftest.c:function main: error: undefined reference to 'readpassphrase'
# collect2: error: ld returned 1 exit status
# configure:17154: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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_TIME_H 1
# | #define HAVE_SYS_UTIME_H 1
# | #define HAVE_SYS_UTSNAME_H 1
# | #define HAVE_SYS_VFS_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_ZLIB_H 1
# | #define HAVE_LIBZ 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 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 HAVE_STRFTIME 1
# | #define HAVE_VPRINTF 1
# | #define HAVE_ARC4RANDOM_BUF 1
# | #define HAVE_CHOWN 1
# | #define HAVE_CHROOT 1
# | #define HAVE_CTIME_R 1
# | #define HAVE_DIRFD 1
# | #define HAVE_FCHDIR 1
# | #define HAVE_FCHMOD 1
# | #define HAVE_FCHOWN 1
# | #define HAVE_FCNTL 1
# | #define HAVE_FDOPENDIR 1
# | #define HAVE_FORK 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_GETEUID 1
# | #define HAVE_GETPID 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_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_OPENAT 1
# | #define HAVE_PIPE 1
# | #define HAVE_POLL 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:17154: result: no
# configure:17166: checking for select
# configure:17166: arm-linux-androideabi-gcc -o conftest -Wall -Wformat -Wformat-security conftest.c -lz >&5
# configure:17166: $? = 0
# configure:17166: result: yes
# configure:17166: checking for setenv
# configure:17166: arm-linux-androideabi-gcc -o conftest -Wall -Wformat -Wformat-security conftest.c -lz >&5
# configure:17166: $? = 0
# configure:17166: result: yes
# configure:17166: checking for setlocale
# configure:17166: arm-linux-androideabi-gcc -o conftest -Wall -Wformat -Wformat-security conftest.c -lz >&5
# configure:17166: $? = 0
# configure:17166: result: yes
# configure:17166: checking for sigaction
# configure:17166: arm-linux-androideabi-gcc -o conftest -Wall -Wformat -Wformat-security conftest.c -lz >&5
# configure:17166: $? = 0
# configure:17166: result: yes
# configure:17166: checking for statfs
# configure:17166: arm-linux-androideabi-gcc -o conftest -Wall -Wformat -Wformat-security conftest.c -lz >&5
# configure:17166: $? = 0
# configure:17166: result: yes
# configure:17166: checking for statvfs
# configure:17166: arm-linux-androideabi-gcc -o conftest -Wall -Wformat -Wformat-security conftest.c -lz >&5
# configure:17166: $? = 0
# configure:17166: result: yes
# configure:17178: checking for strchr
# configure:17178: arm-linux-androideabi-gcc -o conftest -Wall -Wformat -Wformat-security conftest.c -lz >&5
# conftest.c:172:6: warning: conflicting types for built-in function 'strchr' [enabled by default]
# char strchr ();
# ^
# configure:17178: $? = 0
# configure:17178: result: yes
# configure:17178: checking for strdup
# configure:17178: arm-linux-androideabi-gcc -o conftest -Wall -Wformat -Wformat-security conftest.c -lz >&5
# conftest.c:173:6: warning: conflicting types for built-in function 'strdup' [enabled by default]
# char strdup ();
# ^
# configure:17178: $? = 0
# configure:17178: result: yes
# configure:17178: checking for strerror
# configure:17178: arm-linux-androideabi-gcc -o conftest -Wall -Wformat -Wformat-security conftest.c -lz >&5
# configure:17178: $? = 0
# configure:17178: result: yes
# configure:17178: checking for strncpy_s
# configure:17178: arm-linux-androideabi-gcc -o conftest -Wall -Wformat -Wformat-security conftest.c -lz >&5
# /tmp/cc420ZOd.o:conftest.c:function main: error: undefined reference to 'strncpy_s'
# collect2: error: ld returned 1 exit status
# configure:17178: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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_TIME_H 1
# | #define HAVE_SYS_UTIME_H 1
# | #define HAVE_SYS_UTSNAME_H 1
# | #define HAVE_SYS_VFS_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_ZLIB_H 1
# | #define HAVE_LIBZ 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 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 HAVE_STRFTIME 1
# | #define HAVE_VPRINTF 1
# | #define HAVE_ARC4RANDOM_BUF 1
# | #define HAVE_CHOWN 1
# | #define HAVE_CHROOT 1
# | #define HAVE_CTIME_R 1
# | #define HAVE_DIRFD 1
# | #define HAVE_FCHDIR 1
# | #define HAVE_FCHMOD 1
# | #define HAVE_FCHOWN 1
# | #define HAVE_FCNTL 1
# | #define HAVE_FDOPENDIR 1
# | #define HAVE_FORK 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_GETEUID 1
# | #define HAVE_GETPID 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_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_OPENAT 1
# | #define HAVE_PIPE 1
# | #define HAVE_POLL 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:17178: result: no
# configure:17178: checking for strrchr
# configure:17178: arm-linux-androideabi-gcc -o conftest -Wall -Wformat -Wformat-security conftest.c -lz >&5
# conftest.c:175:6: warning: conflicting types for built-in function 'strrchr' [enabled by default]
# char strrchr ();
# ^
# configure:17178: $? = 0
# configure:17178: result: yes
# configure:17178: checking for symlink
# configure:17178: arm-linux-androideabi-gcc -o conftest -Wall -Wformat -Wformat-security conftest.c -lz >&5
# configure:17178: $? = 0
# configure:17178: result: yes
# configure:17178: checking for timegm
# configure:17178: arm-linux-androideabi-gcc -o conftest -Wall -Wformat -Wformat-security conftest.c -lz >&5
# configure:17178: $? = 0
# configure:17178: result: yes
# configure:17190: checking for tzset
# configure:17190: arm-linux-androideabi-gcc -o conftest -Wall -Wformat -Wformat-security conftest.c -lz >&5
# configure:17190: $? = 0
# configure:17190: result: yes
# configure:17190: checking for unsetenv
# configure:17190: arm-linux-androideabi-gcc -o conftest -Wall -Wformat -Wformat-security conftest.c -lz >&5
# configure:17190: $? = 0
# configure:17190: result: yes
# configure:17190: checking for utime
# configure:17190: arm-linux-androideabi-gcc -o conftest -Wall -Wformat -Wformat-security conftest.c -lz >&5
# configure:17190: $? = 0
# configure:17190: result: yes
# configure:17190: checking for utimensat
# configure:17190: arm-linux-androideabi-gcc -o conftest -Wall -Wformat -Wformat-security conftest.c -lz >&5
# configure:17190: $? = 0
# configure:17190: result: yes
# configure:17190: checking for utimes
# configure:17190: arm-linux-androideabi-gcc -o conftest -Wall -Wformat -Wformat-security conftest.c -lz >&5
# configure:17190: $? = 0
# configure:17190: result: yes
# configure:17190: checking for vfork
# configure:17190: arm-linux-androideabi-gcc -o conftest -Wall -Wformat -Wformat-security conftest.c -lz >&5
# configure:17190: $? = 0
# configure:17190: result: yes
# configure:17202: checking for wcrtomb
# configure:17202: arm-linux-androideabi-gcc -o conftest -Wall -Wformat -Wformat-security conftest.c -lz >&5
# configure:17202: $? = 0
# configure:17202: result: yes
# configure:17202: checking for wcscmp
# configure:17202: arm-linux-androideabi-gcc -o conftest -Wall -Wformat -Wformat-security conftest.c -lz >&5
# configure:17202: $? = 0
# configure:17202: result: yes
# configure:17202: checking for wcscpy
# configure:17202: arm-linux-androideabi-gcc -o conftest -Wall -Wformat -Wformat-security conftest.c -lz >&5
# configure:17202: $? = 0
# configure:17202: result: yes
# configure:17202: checking for wcslen
# configure:17202: arm-linux-androideabi-gcc -o conftest -Wall -Wformat -Wformat-security conftest.c -lz >&5
# configure:17202: $? = 0
# configure:17202: result: yes
# configure:17202: checking for wctomb
# configure:17202: arm-linux-androideabi-gcc -o conftest -Wall -Wformat -Wformat-security conftest.c -lz >&5
# configure:17202: $? = 0
# configure:17202: result: yes
# configure:17202: checking for wmemcmp
# configure:17202: arm-linux-androideabi-gcc -o conftest -Wall -Wformat -Wformat-security conftest.c -lz >&5
# configure:17202: $? = 0
# configure:17202: result: yes
# configure:17202: checking for wmemcpy
# configure:17202: arm-linux-androideabi-gcc -o conftest -Wall -Wformat -Wformat-security conftest.c -lz >&5
# configure:17202: $? = 0
# configure:17202: result: yes
# configure:17202: checking for wmemmove
# configure:17202: arm-linux-androideabi-gcc -o conftest -Wall -Wformat -Wformat-security conftest.c -lz >&5
# configure:17202: $? = 0
# configure:17202: result: yes
# configure:17214: checking for _ctime64_s
# configure:17214: arm-linux-androideabi-gcc -o conftest -Wall -Wformat -Wformat-security conftest.c -lz >&5
# /tmp/cc0zFZlm.o:conftest.c:function main: error: undefined reference to '_ctime64_s'
# collect2: error: ld returned 1 exit status
# configure:17214: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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_TIME_H 1
# | #define HAVE_SYS_UTIME_H 1
# | #define HAVE_SYS_UTSNAME_H 1
# | #define HAVE_SYS_VFS_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_ZLIB_H 1
# | #define HAVE_LIBZ 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 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 HAVE_STRFTIME 1
# | #define HAVE_VPRINTF 1
# | #define HAVE_ARC4RANDOM_BUF 1
# | #define HAVE_CHOWN 1
# | #define HAVE_CHROOT 1
# | #define HAVE_CTIME_R 1
# | #define HAVE_DIRFD 1
# | #define HAVE_FCHDIR 1
# | #define HAVE_FCHMOD 1
# | #define HAVE_FCHOWN 1
# | #define HAVE_FCNTL 1
# | #define HAVE_FDOPENDIR 1
# | #define HAVE_FORK 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_GETEUID 1
# | #define HAVE_GETPID 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_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_OPENAT 1
# | #define HAVE_PIPE 1
# | #define HAVE_POLL 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_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:17214: result: no
# configure:17214: checking for _fseeki64
# configure:17214: arm-linux-androideabi-gcc -o conftest -Wall -Wformat -Wformat-security conftest.c -lz >&5
# /tmp/ccO5RhVr.o:conftest.c:function main: error: undefined reference to '_fseeki64'
# collect2: error: ld returned 1 exit status
# configure:17214: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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_TIME_H 1
# | #define HAVE_SYS_UTIME_H 1
# | #define HAVE_SYS_UTSNAME_H 1
# | #define HAVE_SYS_VFS_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_ZLIB_H 1
# | #define HAVE_LIBZ 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 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 HAVE_STRFTIME 1
# | #define HAVE_VPRINTF 1
# | #define HAVE_ARC4RANDOM_BUF 1
# | #define HAVE_CHOWN 1
# | #define HAVE_CHROOT 1
# | #define HAVE_CTIME_R 1
# | #define HAVE_DIRFD 1
# | #define HAVE_FCHDIR 1
# | #define HAVE_FCHMOD 1
# | #define HAVE_FCHOWN 1
# | #define HAVE_FCNTL 1
# | #define HAVE_FDOPENDIR 1
# | #define HAVE_FORK 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_GETEUID 1
# | #define HAVE_GETPID 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_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_OPENAT 1
# | #define HAVE_PIPE 1
# | #define HAVE_POLL 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_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:17214: result: no
# configure:17226: checking for _get_timezone
# configure:17226: arm-linux-androideabi-gcc -o conftest -Wall -Wformat -Wformat-security conftest.c -lz >&5
# /tmp/ccif8eFx.o:conftest.c:function main: error: undefined reference to '_get_timezone'
# collect2: error: ld returned 1 exit status
# configure:17226: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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_TIME_H 1
# | #define HAVE_SYS_UTIME_H 1
# | #define HAVE_SYS_UTSNAME_H 1
# | #define HAVE_SYS_VFS_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_ZLIB_H 1
# | #define HAVE_LIBZ 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 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 HAVE_STRFTIME 1
# | #define HAVE_VPRINTF 1
# | #define HAVE_ARC4RANDOM_BUF 1
# | #define HAVE_CHOWN 1
# | #define HAVE_CHROOT 1
# | #define HAVE_CTIME_R 1
# | #define HAVE_DIRFD 1
# | #define HAVE_FCHDIR 1
# | #define HAVE_FCHMOD 1
# | #define HAVE_FCHOWN 1
# | #define HAVE_FCNTL 1
# | #define HAVE_FDOPENDIR 1
# | #define HAVE_FORK 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_GETEUID 1
# | #define HAVE_GETPID 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_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_OPENAT 1
# | #define HAVE_PIPE 1
# | #define HAVE_POLL 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_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:17226: result: no
# configure:17226: checking for _localtime64_s
# configure:17226: arm-linux-androideabi-gcc -o conftest -Wall -Wformat -Wformat-security conftest.c -lz >&5
# /tmp/ccK7JJiD.o:conftest.c:function main: error: undefined reference to '_localtime64_s'
# collect2: error: ld returned 1 exit status
# configure:17226: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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_TIME_H 1
# | #define HAVE_SYS_UTIME_H 1
# | #define HAVE_SYS_UTSNAME_H 1
# | #define HAVE_SYS_VFS_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_ZLIB_H 1
# | #define HAVE_LIBZ 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 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 HAVE_STRFTIME 1
# | #define HAVE_VPRINTF 1
# | #define HAVE_ARC4RANDOM_BUF 1
# | #define HAVE_CHOWN 1
# | #define HAVE_CHROOT 1
# | #define HAVE_CTIME_R 1
# | #define HAVE_DIRFD 1
# | #define HAVE_FCHDIR 1
# | #define HAVE_FCHMOD 1
# | #define HAVE_FCHOWN 1
# | #define HAVE_FCNTL 1
# | #define HAVE_FDOPENDIR 1
# | #define HAVE_FORK 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_GETEUID 1
# | #define HAVE_GETPID 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_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_OPENAT 1
# | #define HAVE_PIPE 1
# | #define HAVE_POLL 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_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:17226: result: no
# configure:17226: checking for _mkgmtime64
# configure:17226: arm-linux-androideabi-gcc -o conftest -Wall -Wformat -Wformat-security conftest.c -lz >&5
# /tmp/cc6ChRII.o:conftest.c:function main: error: undefined reference to '_mkgmtime64'
# collect2: error: ld returned 1 exit status
# configure:17226: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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_TIME_H 1
# | #define HAVE_SYS_UTIME_H 1
# | #define HAVE_SYS_UTSNAME_H 1
# | #define HAVE_SYS_VFS_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_ZLIB_H 1
# | #define HAVE_LIBZ 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 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 HAVE_STRFTIME 1
# | #define HAVE_VPRINTF 1
# | #define HAVE_ARC4RANDOM_BUF 1
# | #define HAVE_CHOWN 1
# | #define HAVE_CHROOT 1
# | #define HAVE_CTIME_R 1
# | #define HAVE_DIRFD 1
# | #define HAVE_FCHDIR 1
# | #define HAVE_FCHMOD 1
# | #define HAVE_FCHOWN 1
# | #define HAVE_FCNTL 1
# | #define HAVE_FDOPENDIR 1
# | #define HAVE_FORK 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_GETEUID 1
# | #define HAVE_GETPID 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_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_OPENAT 1
# | #define HAVE_PIPE 1
# | #define HAVE_POLL 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_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:17226: result: no
# configure:17238: checking for cygwin_conv_path
# configure:17238: arm-linux-androideabi-gcc -o conftest -Wall -Wformat -Wformat-security conftest.c -lz >&5
# /tmp/cciPLnKN.o:conftest.c:function main: error: undefined reference to 'cygwin_conv_path'
# collect2: error: ld returned 1 exit status
# configure:17238: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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_TIME_H 1
# | #define HAVE_SYS_UTIME_H 1
# | #define HAVE_SYS_UTSNAME_H 1
# | #define HAVE_SYS_VFS_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_ZLIB_H 1
# | #define HAVE_LIBZ 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 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 HAVE_STRFTIME 1
# | #define HAVE_VPRINTF 1
# | #define HAVE_ARC4RANDOM_BUF 1
# | #define HAVE_CHOWN 1
# | #define HAVE_CHROOT 1
# | #define HAVE_CTIME_R 1
# | #define HAVE_DIRFD 1
# | #define HAVE_FCHDIR 1
# | #define HAVE_FCHMOD 1
# | #define HAVE_FCHOWN 1
# | #define HAVE_FCNTL 1
# | #define HAVE_FDOPENDIR 1
# | #define HAVE_FORK 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_GETEUID 1
# | #define HAVE_GETPID 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_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_OPENAT 1
# | #define HAVE_PIPE 1
# | #define HAVE_POLL 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_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:17238: result: no
# configure:17262: arm-linux-androideabi-gcc -c -Wall -Wformat -Wformat-security conftest.c >&5
# conftest.c: In function 'main':
# conftest.c:174:7: warning: 'dir' is used uninitialized in this function [-Wuninitialized]
# return(readdir_r(dir, &e, &r));
# ^
# configure:17262: $? = 0
# configure:17273: checking whether D_MD_ORDER is declared
# configure:17273: arm-linux-androideabi-gcc -c -Wall -Wformat -Wformat-security conftest.c >&5
# conftest.c: In function 'main':
# conftest.c:182:10: error: 'D_MD_ORDER' undeclared (first use in this function)
# (void) D_MD_ORDER;
# ^
# conftest.c:182:10: note: each undeclared identifier is reported only once for each function it appears in
# configure:17273: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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_TIME_H 1
# | #define HAVE_SYS_UTIME_H 1
# | #define HAVE_SYS_UTSNAME_H 1
# | #define HAVE_SYS_VFS_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_ZLIB_H 1
# | #define HAVE_LIBZ 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 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 HAVE_STRFTIME 1
# | #define HAVE_VPRINTF 1
# | #define HAVE_ARC4RANDOM_BUF 1
# | #define HAVE_CHOWN 1
# | #define HAVE_CHROOT 1
# | #define HAVE_CTIME_R 1
# | #define HAVE_DIRFD 1
# | #define HAVE_FCHDIR 1
# | #define HAVE_FCHMOD 1
# | #define HAVE_FCHOWN 1
# | #define HAVE_FCNTL 1
# | #define HAVE_FDOPENDIR 1
# | #define HAVE_FORK 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_GETEUID 1
# | #define HAVE_GETPID 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_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_OPENAT 1
# | #define HAVE_PIPE 1
# | #define HAVE_POLL 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_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
# | /* 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:17273: result: no
# configure:17288: checking for struct dirent.d_namlen
# configure:17288: arm-linux-androideabi-gcc -c -Wall -Wformat -Wformat-security conftest.c >&5
# conftest.c: In function 'main':
# conftest.c:179:12: error: 'struct dirent' has no member named 'd_namlen'
# if (ac_aggr.d_namlen)
# ^
# conftest.c:178:22: warning: variable 'ac_aggr' set but not used [-Wunused-but-set-variable]
# static struct dirent ac_aggr;
# ^
# configure:17288: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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_TIME_H 1
# | #define HAVE_SYS_UTIME_H 1
# | #define HAVE_SYS_UTSNAME_H 1
# | #define HAVE_SYS_VFS_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_ZLIB_H 1
# | #define HAVE_LIBZ 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 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 HAVE_STRFTIME 1
# | #define HAVE_VPRINTF 1
# | #define HAVE_ARC4RANDOM_BUF 1
# | #define HAVE_CHOWN 1
# | #define HAVE_CHROOT 1
# | #define HAVE_CTIME_R 1
# | #define HAVE_DIRFD 1
# | #define HAVE_FCHDIR 1
# | #define HAVE_FCHMOD 1
# | #define HAVE_FCHOWN 1
# | #define HAVE_FCNTL 1
# | #define HAVE_FDOPENDIR 1
# | #define HAVE_FORK 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_GETEUID 1
# | #define HAVE_GETPID 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_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_OPENAT 1
# | #define HAVE_PIPE 1
# | #define HAVE_POLL 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_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
# | /* 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:17288: arm-linux-androideabi-gcc -c -Wall -Wformat -Wformat-security conftest.c >&5
# conftest.c: In function 'main':
# conftest.c:179:19: error: 'struct dirent' has no member named 'd_namlen'
# if (sizeof ac_aggr.d_namlen)
# ^
# conftest.c:178:22: warning: variable 'ac_aggr' set but not used [-Wunused-but-set-variable]
# static struct dirent ac_aggr;
# ^
# configure:17288: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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_TIME_H 1
# | #define HAVE_SYS_UTIME_H 1
# | #define HAVE_SYS_UTSNAME_H 1
# | #define HAVE_SYS_VFS_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_ZLIB_H 1
# | #define HAVE_LIBZ 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 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 HAVE_STRFTIME 1
# | #define HAVE_VPRINTF 1
# | #define HAVE_ARC4RANDOM_BUF 1
# | #define HAVE_CHOWN 1
# | #define HAVE_CHROOT 1
# | #define HAVE_CTIME_R 1
# | #define HAVE_DIRFD 1
# | #define HAVE_FCHDIR 1
# | #define HAVE_FCHMOD 1
# | #define HAVE_FCHOWN 1
# | #define HAVE_FCNTL 1
# | #define HAVE_FDOPENDIR 1
# | #define HAVE_FORK 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_GETEUID 1
# | #define HAVE_GETPID 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_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_OPENAT 1
# | #define HAVE_PIPE 1
# | #define HAVE_POLL 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_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
# | /* 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:17288: result: no
# configure:17308: checking attr/xattr.h usability
# configure:17308: arm-linux-androideabi-gcc -c -Wall -Wformat -Wformat-security conftest.c >&5
# conftest.c:203:24: fatal error: attr/xattr.h: No such file or directory
# #include
# ^
# compilation terminated.
# configure:17308: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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_TIME_H 1
# | #define HAVE_SYS_UTIME_H 1
# | #define HAVE_SYS_UTSNAME_H 1
# | #define HAVE_SYS_VFS_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_ZLIB_H 1
# | #define HAVE_LIBZ 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 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 HAVE_STRFTIME 1
# | #define HAVE_VPRINTF 1
# | #define HAVE_ARC4RANDOM_BUF 1
# | #define HAVE_CHOWN 1
# | #define HAVE_CHROOT 1
# | #define HAVE_CTIME_R 1
# | #define HAVE_DIRFD 1
# | #define HAVE_FCHDIR 1
# | #define HAVE_FCHMOD 1
# | #define HAVE_FCHOWN 1
# | #define HAVE_FCNTL 1
# | #define HAVE_FDOPENDIR 1
# | #define HAVE_FORK 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_GETEUID 1
# | #define HAVE_GETPID 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_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_OPENAT 1
# | #define HAVE_PIPE 1
# | #define HAVE_POLL 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_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
# | /* 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:17308: result: no
# configure:17308: checking attr/xattr.h presence
# configure:17308: arm-linux-androideabi-gcc -E conftest.c
# conftest.c:170:24: fatal error: attr/xattr.h: No such file or directory
# #include
# ^
# compilation terminated.
# configure:17308: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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_TIME_H 1
# | #define HAVE_SYS_UTIME_H 1
# | #define HAVE_SYS_UTSNAME_H 1
# | #define HAVE_SYS_VFS_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_ZLIB_H 1
# | #define HAVE_LIBZ 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 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 HAVE_STRFTIME 1
# | #define HAVE_VPRINTF 1
# | #define HAVE_ARC4RANDOM_BUF 1
# | #define HAVE_CHOWN 1
# | #define HAVE_CHROOT 1
# | #define HAVE_CTIME_R 1
# | #define HAVE_DIRFD 1
# | #define HAVE_FCHDIR 1
# | #define HAVE_FCHMOD 1
# | #define HAVE_FCHOWN 1
# | #define HAVE_FCNTL 1
# | #define HAVE_FDOPENDIR 1
# | #define HAVE_FORK 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_GETEUID 1
# | #define HAVE_GETPID 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_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_OPENAT 1
# | #define HAVE_PIPE 1
# | #define HAVE_POLL 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_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
# | /* end confdefs.h. */
# | #include
# configure:17308: result: no
# configure:17308: checking for attr/xattr.h
# configure:17308: result: no
# configure:17321: checking sys/xattr.h usability
# configure:17321: arm-linux-androideabi-gcc -c -Wall -Wformat -Wformat-security conftest.c >&5
# configure:17321: $? = 0
# configure:17321: result: yes
# configure:17321: checking sys/xattr.h presence
# configure:17321: arm-linux-androideabi-gcc -E conftest.c
# configure:17321: $? = 0
# configure:17321: result: yes
# configure:17321: checking for sys/xattr.h
# configure:17321: result: yes
# configure:17321: checking sys/ea.h usability
# configure:17321: arm-linux-androideabi-gcc -c -Wall -Wformat -Wformat-security conftest.c >&5
# conftest.c:204:20: fatal error: sys/ea.h: No such file or directory
# #include
# ^
# compilation terminated.
# configure:17321: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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_TIME_H 1
# | #define HAVE_SYS_UTIME_H 1
# | #define HAVE_SYS_UTSNAME_H 1
# | #define HAVE_SYS_VFS_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_ZLIB_H 1
# | #define HAVE_LIBZ 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 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 HAVE_STRFTIME 1
# | #define HAVE_VPRINTF 1
# | #define HAVE_ARC4RANDOM_BUF 1
# | #define HAVE_CHOWN 1
# | #define HAVE_CHROOT 1
# | #define HAVE_CTIME_R 1
# | #define HAVE_DIRFD 1
# | #define HAVE_FCHDIR 1
# | #define HAVE_FCHMOD 1
# | #define HAVE_FCHOWN 1
# | #define HAVE_FCNTL 1
# | #define HAVE_FDOPENDIR 1
# | #define HAVE_FORK 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_GETEUID 1
# | #define HAVE_GETPID 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_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_OPENAT 1
# | #define HAVE_PIPE 1
# | #define HAVE_POLL 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_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_SYS_XATTR_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:17321: result: no
# configure:17321: checking sys/ea.h presence
# configure:17321: arm-linux-androideabi-gcc -E conftest.c
# conftest.c:171:20: fatal error: sys/ea.h: No such file or directory
# #include
# ^
# compilation terminated.
# configure:17321: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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_TIME_H 1
# | #define HAVE_SYS_UTIME_H 1
# | #define HAVE_SYS_UTSNAME_H 1
# | #define HAVE_SYS_VFS_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_ZLIB_H 1
# | #define HAVE_LIBZ 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 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 HAVE_STRFTIME 1
# | #define HAVE_VPRINTF 1
# | #define HAVE_ARC4RANDOM_BUF 1
# | #define HAVE_CHOWN 1
# | #define HAVE_CHROOT 1
# | #define HAVE_CTIME_R 1
# | #define HAVE_DIRFD 1
# | #define HAVE_FCHDIR 1
# | #define HAVE_FCHMOD 1
# | #define HAVE_FCHOWN 1
# | #define HAVE_FCNTL 1
# | #define HAVE_FDOPENDIR 1
# | #define HAVE_FORK 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_GETEUID 1
# | #define HAVE_GETPID 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_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_OPENAT 1
# | #define HAVE_PIPE 1
# | #define HAVE_POLL 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_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_SYS_XATTR_H 1
# | /* end confdefs.h. */
# | #include
# configure:17321: result: no
# configure:17321: checking for sys/ea.h
# configure:17321: result: no
# configure:17331: checking for library containing setxattr
# configure:17362: arm-linux-androideabi-gcc -o conftest -Wall -Wformat -Wformat-security conftest.c -lz >&5
# configure:17362: $? = 0
# configure:17379: result: none required
# configure:17390: checking for extattr_get_file
# configure:17390: arm-linux-androideabi-gcc -o conftest -Wall -Wformat -Wformat-security conftest.c -lz >&5
# /tmp/ccZBVL6l.o:conftest.c:function main: error: undefined reference to 'extattr_get_file'
# collect2: error: ld returned 1 exit status
# configure:17390: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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_TIME_H 1
# | #define HAVE_SYS_UTIME_H 1
# | #define HAVE_SYS_UTSNAME_H 1
# | #define HAVE_SYS_VFS_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_ZLIB_H 1
# | #define HAVE_LIBZ 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 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 HAVE_STRFTIME 1
# | #define HAVE_VPRINTF 1
# | #define HAVE_ARC4RANDOM_BUF 1
# | #define HAVE_CHOWN 1
# | #define HAVE_CHROOT 1
# | #define HAVE_CTIME_R 1
# | #define HAVE_DIRFD 1
# | #define HAVE_FCHDIR 1
# | #define HAVE_FCHMOD 1
# | #define HAVE_FCHOWN 1
# | #define HAVE_FCNTL 1
# | #define HAVE_FDOPENDIR 1
# | #define HAVE_FORK 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_GETEUID 1
# | #define HAVE_GETPID 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_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_OPENAT 1
# | #define HAVE_PIPE 1
# | #define HAVE_POLL 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_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_SYS_XATTR_H 1
# | /* end confdefs.h. */
# | /* Define extattr_get_file to an innocuous variant, in case declares extattr_get_file.
# | For example, HP-UX 11i declares gettimeofday. */
# | #define extattr_get_file innocuous_extattr_get_file
# |
# | /* System header to define __stub macros and hopefully few prototypes,
# | which can conflict with char extattr_get_file (); below.
# | Prefer to if __STDC__ is defined, since
# | exists even on freestanding compilers. */
# |
# | #ifdef __STDC__
# | # include
# | #else
# | # include
# | #endif
# |
# | #undef extattr_get_file
# |
# | /* 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 extattr_get_file ();
# | /* 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_extattr_get_file || defined __stub___extattr_get_file
# | choke me
# | #endif
# |
# | int
# | main ()
# | {
# | return extattr_get_file ();
# | ;
# | return 0;
# | }
# configure:17390: result: no
# configure:17390: checking for extattr_list_file
# configure:17390: arm-linux-androideabi-gcc -o conftest -Wall -Wformat -Wformat-security conftest.c -lz >&5
# /tmp/ccaTMeaf.o:conftest.c:function main: error: undefined reference to 'extattr_list_file'
# collect2: error: ld returned 1 exit status
# configure:17390: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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_TIME_H 1
# | #define HAVE_SYS_UTIME_H 1
# | #define HAVE_SYS_UTSNAME_H 1
# | #define HAVE_SYS_VFS_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_ZLIB_H 1
# | #define HAVE_LIBZ 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 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 HAVE_STRFTIME 1
# | #define HAVE_VPRINTF 1
# | #define HAVE_ARC4RANDOM_BUF 1
# | #define HAVE_CHOWN 1
# | #define HAVE_CHROOT 1
# | #define HAVE_CTIME_R 1
# | #define HAVE_DIRFD 1
# | #define HAVE_FCHDIR 1
# | #define HAVE_FCHMOD 1
# | #define HAVE_FCHOWN 1
# | #define HAVE_FCNTL 1
# | #define HAVE_FDOPENDIR 1
# | #define HAVE_FORK 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_GETEUID 1
# | #define HAVE_GETPID 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_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_OPENAT 1
# | #define HAVE_PIPE 1
# | #define HAVE_POLL 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_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_SYS_XATTR_H 1
# | /* end confdefs.h. */
# | /* Define extattr_list_file to an innocuous variant, in case declares extattr_list_file.
# | For example, HP-UX 11i declares gettimeofday. */
# | #define extattr_list_file innocuous_extattr_list_file
# |
# | /* System header to define __stub macros and hopefully few prototypes,
# | which can conflict with char extattr_list_file (); below.
# | Prefer to if __STDC__ is defined, since
# | exists even on freestanding compilers. */
# |
# | #ifdef __STDC__
# | # include
# | #else
# | # include
# | #endif
# |
# | #undef extattr_list_file
# |
# | /* 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 extattr_list_file ();
# | /* 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_extattr_list_file || defined __stub___extattr_list_file
# | choke me
# | #endif
# |
# | int
# | main ()
# | {
# | return extattr_list_file ();
# | ;
# | return 0;
# | }
# configure:17390: result: no
# configure:17402: checking for extattr_set_fd
# configure:17402: arm-linux-androideabi-gcc -o conftest -Wall -Wformat -Wformat-security conftest.c -lz >&5
# /tmp/ccqdQJEf.o:conftest.c:function main: error: undefined reference to 'extattr_set_fd'
# collect2: error: ld returned 1 exit status
# configure:17402: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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_TIME_H 1
# | #define HAVE_SYS_UTIME_H 1
# | #define HAVE_SYS_UTSNAME_H 1
# | #define HAVE_SYS_VFS_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_ZLIB_H 1
# | #define HAVE_LIBZ 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 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 HAVE_STRFTIME 1
# | #define HAVE_VPRINTF 1
# | #define HAVE_ARC4RANDOM_BUF 1
# | #define HAVE_CHOWN 1
# | #define HAVE_CHROOT 1
# | #define HAVE_CTIME_R 1
# | #define HAVE_DIRFD 1
# | #define HAVE_FCHDIR 1
# | #define HAVE_FCHMOD 1
# | #define HAVE_FCHOWN 1
# | #define HAVE_FCNTL 1
# | #define HAVE_FDOPENDIR 1
# | #define HAVE_FORK 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_GETEUID 1
# | #define HAVE_GETPID 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_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_OPENAT 1
# | #define HAVE_PIPE 1
# | #define HAVE_POLL 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_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_SYS_XATTR_H 1
# | /* end confdefs.h. */
# | /* Define extattr_set_fd to an innocuous variant, in case declares extattr_set_fd.
# | For example, HP-UX 11i declares gettimeofday. */
# | #define extattr_set_fd innocuous_extattr_set_fd
# |
# | /* System header to define __stub macros and hopefully few prototypes,
# | which can conflict with char extattr_set_fd (); below.
# | Prefer to if __STDC__ is defined, since
# | exists even on freestanding compilers. */
# |
# | #ifdef __STDC__
# | # include
# | #else
# | # include
# | #endif
# |
# | #undef extattr_set_fd
# |
# | /* 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 extattr_set_fd ();
# | /* 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_extattr_set_fd || defined __stub___extattr_set_fd
# | choke me
# | #endif
# |
# | int
# | main ()
# | {
# | return extattr_set_fd ();
# | ;
# | return 0;
# | }
# configure:17402: result: no
# configure:17402: checking for extattr_set_file
# configure:17402: arm-linux-androideabi-gcc -o conftest -Wall -Wformat -Wformat-security conftest.c -lz >&5
# /tmp/ccS19MSk.o:conftest.c:function main: error: undefined reference to 'extattr_set_file'
# collect2: error: ld returned 1 exit status
# configure:17402: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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_TIME_H 1
# | #define HAVE_SYS_UTIME_H 1
# | #define HAVE_SYS_UTSNAME_H 1
# | #define HAVE_SYS_VFS_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_ZLIB_H 1
# | #define HAVE_LIBZ 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 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 HAVE_STRFTIME 1
# | #define HAVE_VPRINTF 1
# | #define HAVE_ARC4RANDOM_BUF 1
# | #define HAVE_CHOWN 1
# | #define HAVE_CHROOT 1
# | #define HAVE_CTIME_R 1
# | #define HAVE_DIRFD 1
# | #define HAVE_FCHDIR 1
# | #define HAVE_FCHMOD 1
# | #define HAVE_FCHOWN 1
# | #define HAVE_FCNTL 1
# | #define HAVE_FDOPENDIR 1
# | #define HAVE_FORK 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_GETEUID 1
# | #define HAVE_GETPID 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_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_OPENAT 1
# | #define HAVE_PIPE 1
# | #define HAVE_POLL 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_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_SYS_XATTR_H 1
# | /* end confdefs.h. */
# | /* Define extattr_set_file to an innocuous variant, in case declares extattr_set_file.
# | For example, HP-UX 11i declares gettimeofday. */
# | #define extattr_set_file innocuous_extattr_set_file
# |
# | /* System header to define __stub macros and hopefully few prototypes,
# | which can conflict with char extattr_set_file (); below.
# | Prefer to if __STDC__ is defined, since
# | exists even on freestanding compilers. */
# |
# | #ifdef __STDC__
# | # include
# | #else
# | # include
# | #endif
# |
# | #undef extattr_set_file
# |
# | /* 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 extattr_set_file ();
# | /* 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_extattr_set_file || defined __stub___extattr_set_file
# | choke me
# | #endif
# |
# | int
# | main ()
# | {
# | return extattr_set_file ();
# | ;
# | return 0;
# | }
# configure:17402: result: no
# configure:17414: checking for fgetxattr
# configure:17414: arm-linux-androideabi-gcc -o conftest -Wall -Wformat -Wformat-security conftest.c -lz >&5
# configure:17414: $? = 0
# configure:17414: result: yes
# configure:17414: checking for flistxattr
# configure:17414: arm-linux-androideabi-gcc -o conftest -Wall -Wformat -Wformat-security conftest.c -lz >&5
# configure:17414: $? = 0
# configure:17414: result: yes
# configure:17414: checking for fsetxattr
# configure:17414: arm-linux-androideabi-gcc -o conftest -Wall -Wformat -Wformat-security conftest.c -lz >&5
# configure:17414: $? = 0
# configure:17414: result: yes
# configure:17414: checking for getxattr
# configure:17414: arm-linux-androideabi-gcc -o conftest -Wall -Wformat -Wformat-security conftest.c -lz >&5
# configure:17414: $? = 0
# configure:17414: result: yes
# configure:17426: checking for lgetxattr
# configure:17426: arm-linux-androideabi-gcc -o conftest -Wall -Wformat -Wformat-security conftest.c -lz >&5
# configure:17426: $? = 0
# configure:17426: result: yes
# configure:17426: checking for listxattr
# configure:17426: arm-linux-androideabi-gcc -o conftest -Wall -Wformat -Wformat-security conftest.c -lz >&5
# configure:17426: $? = 0
# configure:17426: result: yes
# configure:17426: checking for llistxattr
# configure:17426: arm-linux-androideabi-gcc -o conftest -Wall -Wformat -Wformat-security conftest.c -lz >&5
# configure:17426: $? = 0
# configure:17426: result: yes
# configure:17426: checking for lsetxattr
# configure:17426: arm-linux-androideabi-gcc -o conftest -Wall -Wformat -Wformat-security conftest.c -lz >&5
# configure:17426: $? = 0
# configure:17426: result: yes
# configure:17438: checking for fgetea
# configure:17438: arm-linux-androideabi-gcc -o conftest -Wall -Wformat -Wformat-security conftest.c -lz >&5
# /tmp/cc6e2Bi1.o:conftest.c:function main: error: undefined reference to 'fgetea'
# collect2: error: ld returned 1 exit status
# configure:17438: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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_TIME_H 1
# | #define HAVE_SYS_UTIME_H 1
# | #define HAVE_SYS_UTSNAME_H 1
# | #define HAVE_SYS_VFS_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_ZLIB_H 1
# | #define HAVE_LIBZ 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 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 HAVE_STRFTIME 1
# | #define HAVE_VPRINTF 1
# | #define HAVE_ARC4RANDOM_BUF 1
# | #define HAVE_CHOWN 1
# | #define HAVE_CHROOT 1
# | #define HAVE_CTIME_R 1
# | #define HAVE_DIRFD 1
# | #define HAVE_FCHDIR 1
# | #define HAVE_FCHMOD 1
# | #define HAVE_FCHOWN 1
# | #define HAVE_FCNTL 1
# | #define HAVE_FDOPENDIR 1
# | #define HAVE_FORK 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_GETEUID 1
# | #define HAVE_GETPID 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_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_OPENAT 1
# | #define HAVE_PIPE 1
# | #define HAVE_POLL 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_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_SYS_XATTR_H 1
# | #define HAVE_FGETXATTR 1
# | #define HAVE_FLISTXATTR 1
# | #define HAVE_FSETXATTR 1
# | #define HAVE_GETXATTR 1
# | #define HAVE_LGETXATTR 1
# | #define HAVE_LISTXATTR 1
# | #define HAVE_LLISTXATTR 1
# | #define HAVE_LSETXATTR 1
# | /* end confdefs.h. */
# | /* Define fgetea to an innocuous variant, in case declares fgetea.
# | For example, HP-UX 11i declares gettimeofday. */
# | #define fgetea innocuous_fgetea
# |
# | /* System header to define __stub macros and hopefully few prototypes,
# | which can conflict with char fgetea (); below.
# | Prefer to if __STDC__ is defined, since
# | exists even on freestanding compilers. */
# |
# | #ifdef __STDC__
# | # include
# | #else
# | # include
# | #endif
# |
# | #undef fgetea
# |
# | /* 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 fgetea ();
# | /* 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_fgetea || defined __stub___fgetea
# | choke me
# | #endif
# |
# | int
# | main ()
# | {
# | return fgetea ();
# | ;
# | return 0;
# | }
# configure:17438: result: no
# configure:17438: checking for flistea
# configure:17438: arm-linux-androideabi-gcc -o conftest -Wall -Wformat -Wformat-security conftest.c -lz >&5
# /tmp/ccIkMzU6.o:conftest.c:function main: error: undefined reference to 'flistea'
# collect2: error: ld returned 1 exit status
# configure:17438: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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_TIME_H 1
# | #define HAVE_SYS_UTIME_H 1
# | #define HAVE_SYS_UTSNAME_H 1
# | #define HAVE_SYS_VFS_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_ZLIB_H 1
# | #define HAVE_LIBZ 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 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 HAVE_STRFTIME 1
# | #define HAVE_VPRINTF 1
# | #define HAVE_ARC4RANDOM_BUF 1
# | #define HAVE_CHOWN 1
# | #define HAVE_CHROOT 1
# | #define HAVE_CTIME_R 1
# | #define HAVE_DIRFD 1
# | #define HAVE_FCHDIR 1
# | #define HAVE_FCHMOD 1
# | #define HAVE_FCHOWN 1
# | #define HAVE_FCNTL 1
# | #define HAVE_FDOPENDIR 1
# | #define HAVE_FORK 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_GETEUID 1
# | #define HAVE_GETPID 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_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_OPENAT 1
# | #define HAVE_PIPE 1
# | #define HAVE_POLL 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_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_SYS_XATTR_H 1
# | #define HAVE_FGETXATTR 1
# | #define HAVE_FLISTXATTR 1
# | #define HAVE_FSETXATTR 1
# | #define HAVE_GETXATTR 1
# | #define HAVE_LGETXATTR 1
# | #define HAVE_LISTXATTR 1
# | #define HAVE_LLISTXATTR 1
# | #define HAVE_LSETXATTR 1
# | /* end confdefs.h. */
# | /* Define flistea to an innocuous variant, in case declares flistea.
# | For example, HP-UX 11i declares gettimeofday. */
# | #define flistea innocuous_flistea
# |
# | /* System header to define __stub macros and hopefully few prototypes,
# | which can conflict with char flistea (); below.
# | Prefer to if __STDC__ is defined, since
# | exists even on freestanding compilers. */
# |
# | #ifdef __STDC__
# | # include
# | #else
# | # include
# | #endif
# |
# | #undef flistea
# |
# | /* 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 flistea ();
# | /* 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_flistea || defined __stub___flistea
# | choke me
# | #endif
# |
# | int
# | main ()
# | {
# | return flistea ();
# | ;
# | return 0;
# | }
# configure:17438: result: no
# configure:17438: checking for fsetea
# configure:17438: arm-linux-androideabi-gcc -o conftest -Wall -Wformat -Wformat-security conftest.c -lz >&5
# /tmp/ccoytmdd.o:conftest.c:function main: error: undefined reference to 'fsetea'
# collect2: error: ld returned 1 exit status
# configure:17438: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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_TIME_H 1
# | #define HAVE_SYS_UTIME_H 1
# | #define HAVE_SYS_UTSNAME_H 1
# | #define HAVE_SYS_VFS_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_ZLIB_H 1
# | #define HAVE_LIBZ 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 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 HAVE_STRFTIME 1
# | #define HAVE_VPRINTF 1
# | #define HAVE_ARC4RANDOM_BUF 1
# | #define HAVE_CHOWN 1
# | #define HAVE_CHROOT 1
# | #define HAVE_CTIME_R 1
# | #define HAVE_DIRFD 1
# | #define HAVE_FCHDIR 1
# | #define HAVE_FCHMOD 1
# | #define HAVE_FCHOWN 1
# | #define HAVE_FCNTL 1
# | #define HAVE_FDOPENDIR 1
# | #define HAVE_FORK 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_GETEUID 1
# | #define HAVE_GETPID 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_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_OPENAT 1
# | #define HAVE_PIPE 1
# | #define HAVE_POLL 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_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_SYS_XATTR_H 1
# | #define HAVE_FGETXATTR 1
# | #define HAVE_FLISTXATTR 1
# | #define HAVE_FSETXATTR 1
# | #define HAVE_GETXATTR 1
# | #define HAVE_LGETXATTR 1
# | #define HAVE_LISTXATTR 1
# | #define HAVE_LLISTXATTR 1
# | #define HAVE_LSETXATTR 1
# | /* end confdefs.h. */
# | /* Define fsetea to an innocuous variant, in case declares fsetea.
# | For example, HP-UX 11i declares gettimeofday. */
# | #define fsetea innocuous_fsetea
# |
# | /* System header to define __stub macros and hopefully few prototypes,
# | which can conflict with char fsetea (); below.
# | Prefer to if __STDC__ is defined, since
# | exists even on freestanding compilers. */
# |
# | #ifdef __STDC__
# | # include
# | #else
# | # include
# | #endif
# |
# | #undef fsetea
# |
# | /* 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 fsetea ();
# | /* 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_fsetea || defined __stub___fsetea
# | choke me
# | #endif
# |
# | int
# | main ()
# | {
# | return fsetea ();
# | ;
# | return 0;
# | }
# configure:17438: result: no
# configure:17438: checking for getea
# configure:17438: arm-linux-androideabi-gcc -o conftest -Wall -Wformat -Wformat-security conftest.c -lz >&5
# /tmp/ccujVV4g.o:conftest.c:function main: error: undefined reference to 'getea'
# collect2: error: ld returned 1 exit status
# configure:17438: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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_TIME_H 1
# | #define HAVE_SYS_UTIME_H 1
# | #define HAVE_SYS_UTSNAME_H 1
# | #define HAVE_SYS_VFS_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_ZLIB_H 1
# | #define HAVE_LIBZ 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 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 HAVE_STRFTIME 1
# | #define HAVE_VPRINTF 1
# | #define HAVE_ARC4RANDOM_BUF 1
# | #define HAVE_CHOWN 1
# | #define HAVE_CHROOT 1
# | #define HAVE_CTIME_R 1
# | #define HAVE_DIRFD 1
# | #define HAVE_FCHDIR 1
# | #define HAVE_FCHMOD 1
# | #define HAVE_FCHOWN 1
# | #define HAVE_FCNTL 1
# | #define HAVE_FDOPENDIR 1
# | #define HAVE_FORK 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_GETEUID 1
# | #define HAVE_GETPID 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_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_OPENAT 1
# | #define HAVE_PIPE 1
# | #define HAVE_POLL 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_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_SYS_XATTR_H 1
# | #define HAVE_FGETXATTR 1
# | #define HAVE_FLISTXATTR 1
# | #define HAVE_FSETXATTR 1
# | #define HAVE_GETXATTR 1
# | #define HAVE_LGETXATTR 1
# | #define HAVE_LISTXATTR 1
# | #define HAVE_LLISTXATTR 1
# | #define HAVE_LSETXATTR 1
# | /* end confdefs.h. */
# | /* Define getea to an innocuous variant, in case declares getea.
# | For example, HP-UX 11i declares gettimeofday. */
# | #define getea innocuous_getea
# |
# | /* System header to define __stub macros and hopefully few prototypes,
# | which can conflict with char getea (); below.
# | Prefer to if __STDC__ is defined, since
# | exists even on freestanding compilers. */
# |
# | #ifdef __STDC__
# | # include
# | #else
# | # include
# | #endif
# |
# | #undef getea
# |
# | /* 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 getea ();
# | /* 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_getea || defined __stub___getea
# | choke me
# | #endif
# |
# | int
# | main ()
# | {
# | return getea ();
# | ;
# | return 0;
# | }
# configure:17438: result: no
# configure:17450: checking for lgetea
# configure:17450: arm-linux-androideabi-gcc -o conftest -Wall -Wformat -Wformat-security conftest.c -lz >&5
# /tmp/ccIiolzl.o:conftest.c:function main: error: undefined reference to 'lgetea'
# collect2: error: ld returned 1 exit status
# configure:17450: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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_TIME_H 1
# | #define HAVE_SYS_UTIME_H 1
# | #define HAVE_SYS_UTSNAME_H 1
# | #define HAVE_SYS_VFS_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_ZLIB_H 1
# | #define HAVE_LIBZ 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 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 HAVE_STRFTIME 1
# | #define HAVE_VPRINTF 1
# | #define HAVE_ARC4RANDOM_BUF 1
# | #define HAVE_CHOWN 1
# | #define HAVE_CHROOT 1
# | #define HAVE_CTIME_R 1
# | #define HAVE_DIRFD 1
# | #define HAVE_FCHDIR 1
# | #define HAVE_FCHMOD 1
# | #define HAVE_FCHOWN 1
# | #define HAVE_FCNTL 1
# | #define HAVE_FDOPENDIR 1
# | #define HAVE_FORK 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_GETEUID 1
# | #define HAVE_GETPID 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_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_OPENAT 1
# | #define HAVE_PIPE 1
# | #define HAVE_POLL 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_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_SYS_XATTR_H 1
# | #define HAVE_FGETXATTR 1
# | #define HAVE_FLISTXATTR 1
# | #define HAVE_FSETXATTR 1
# | #define HAVE_GETXATTR 1
# | #define HAVE_LGETXATTR 1
# | #define HAVE_LISTXATTR 1
# | #define HAVE_LLISTXATTR 1
# | #define HAVE_LSETXATTR 1
# | /* end confdefs.h. */
# | /* Define lgetea to an innocuous variant, in case declares lgetea.
# | For example, HP-UX 11i declares gettimeofday. */
# | #define lgetea innocuous_lgetea
# |
# | /* System header to define __stub macros and hopefully few prototypes,
# | which can conflict with char lgetea (); below.
# | Prefer to if __STDC__ is defined, since
# | exists even on freestanding compilers. */
# |
# | #ifdef __STDC__
# | # include
# | #else
# | # include
# | #endif
# |
# | #undef lgetea
# |
# | /* 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 lgetea ();
# | /* 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_lgetea || defined __stub___lgetea
# | choke me
# | #endif
# |
# | int
# | main ()
# | {
# | return lgetea ();
# | ;
# | return 0;
# | }
# configure:17450: result: no
# configure:17450: checking for listea
# configure:17450: arm-linux-androideabi-gcc -o conftest -Wall -Wformat -Wformat-security conftest.c -lz >&5
# /tmp/ccCV8qUo.o:conftest.c:function main: error: undefined reference to 'listea'
# collect2: error: ld returned 1 exit status
# configure:17450: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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_TIME_H 1
# | #define HAVE_SYS_UTIME_H 1
# | #define HAVE_SYS_UTSNAME_H 1
# | #define HAVE_SYS_VFS_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_ZLIB_H 1
# | #define HAVE_LIBZ 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 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 HAVE_STRFTIME 1
# | #define HAVE_VPRINTF 1
# | #define HAVE_ARC4RANDOM_BUF 1
# | #define HAVE_CHOWN 1
# | #define HAVE_CHROOT 1
# | #define HAVE_CTIME_R 1
# | #define HAVE_DIRFD 1
# | #define HAVE_FCHDIR 1
# | #define HAVE_FCHMOD 1
# | #define HAVE_FCHOWN 1
# | #define HAVE_FCNTL 1
# | #define HAVE_FDOPENDIR 1
# | #define HAVE_FORK 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_GETEUID 1
# | #define HAVE_GETPID 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_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_OPENAT 1
# | #define HAVE_PIPE 1
# | #define HAVE_POLL 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_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_SYS_XATTR_H 1
# | #define HAVE_FGETXATTR 1
# | #define HAVE_FLISTXATTR 1
# | #define HAVE_FSETXATTR 1
# | #define HAVE_GETXATTR 1
# | #define HAVE_LGETXATTR 1
# | #define HAVE_LISTXATTR 1
# | #define HAVE_LLISTXATTR 1
# | #define HAVE_LSETXATTR 1
# | /* end confdefs.h. */
# | /* Define listea to an innocuous variant, in case declares listea.
# | For example, HP-UX 11i declares gettimeofday. */
# | #define listea innocuous_listea
# |
# | /* System header to define __stub macros and hopefully few prototypes,
# | which can conflict with char listea (); below.
# | Prefer to if __STDC__ is defined, since
# | exists even on freestanding compilers. */
# |
# | #ifdef __STDC__
# | # include
# | #else
# | # include
# | #endif
# |
# | #undef listea
# |
# | /* 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 listea ();
# | /* 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_listea || defined __stub___listea
# | choke me
# | #endif
# |
# | int
# | main ()
# | {
# | return listea ();
# | ;
# | return 0;
# | }
# configure:17450: result: no
# configure:17450: checking for llistea
# configure:17450: arm-linux-androideabi-gcc -o conftest -Wall -Wformat -Wformat-security conftest.c -lz >&5
# /tmp/ccqFy3du.o:conftest.c:function main: error: undefined reference to 'llistea'
# collect2: error: ld returned 1 exit status
# configure:17450: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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_TIME_H 1
# | #define HAVE_SYS_UTIME_H 1
# | #define HAVE_SYS_UTSNAME_H 1
# | #define HAVE_SYS_VFS_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_ZLIB_H 1
# | #define HAVE_LIBZ 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 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 HAVE_STRFTIME 1
# | #define HAVE_VPRINTF 1
# | #define HAVE_ARC4RANDOM_BUF 1
# | #define HAVE_CHOWN 1
# | #define HAVE_CHROOT 1
# | #define HAVE_CTIME_R 1
# | #define HAVE_DIRFD 1
# | #define HAVE_FCHDIR 1
# | #define HAVE_FCHMOD 1
# | #define HAVE_FCHOWN 1
# | #define HAVE_FCNTL 1
# | #define HAVE_FDOPENDIR 1
# | #define HAVE_FORK 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_GETEUID 1
# | #define HAVE_GETPID 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_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_OPENAT 1
# | #define HAVE_PIPE 1
# | #define HAVE_POLL 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_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_SYS_XATTR_H 1
# | #define HAVE_FGETXATTR 1
# | #define HAVE_FLISTXATTR 1
# | #define HAVE_FSETXATTR 1
# | #define HAVE_GETXATTR 1
# | #define HAVE_LGETXATTR 1
# | #define HAVE_LISTXATTR 1
# | #define HAVE_LLISTXATTR 1
# | #define HAVE_LSETXATTR 1
# | /* end confdefs.h. */
# | /* Define llistea to an innocuous variant, in case declares llistea.
# | For example, HP-UX 11i declares gettimeofday. */
# | #define llistea innocuous_llistea
# |
# | /* System header to define __stub macros and hopefully few prototypes,
# | which can conflict with char llistea (); below.
# | Prefer to if __STDC__ is defined, since
# | exists even on freestanding compilers. */
# |
# | #ifdef __STDC__
# | # include
# | #else
# | # include
# | #endif
# |
# | #undef llistea
# |
# | /* 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 llistea ();
# | /* 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_llistea || defined __stub___llistea
# | choke me
# | #endif
# |
# | int
# | main ()
# | {
# | return llistea ();
# | ;
# | return 0;
# | }
# configure:17450: result: no
# configure:17450: checking for lsetea
# configure:17450: arm-linux-androideabi-gcc -o conftest -Wall -Wformat -Wformat-security conftest.c -lz >&5
# /tmp/ccwgjrpA.o:conftest.c:function main: error: undefined reference to 'lsetea'
# collect2: error: ld returned 1 exit status
# configure:17450: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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_TIME_H 1
# | #define HAVE_SYS_UTIME_H 1
# | #define HAVE_SYS_UTSNAME_H 1
# | #define HAVE_SYS_VFS_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_ZLIB_H 1
# | #define HAVE_LIBZ 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 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 HAVE_STRFTIME 1
# | #define HAVE_VPRINTF 1
# | #define HAVE_ARC4RANDOM_BUF 1
# | #define HAVE_CHOWN 1
# | #define HAVE_CHROOT 1
# | #define HAVE_CTIME_R 1
# | #define HAVE_DIRFD 1
# | #define HAVE_FCHDIR 1
# | #define HAVE_FCHMOD 1
# | #define HAVE_FCHOWN 1
# | #define HAVE_FCNTL 1
# | #define HAVE_FDOPENDIR 1
# | #define HAVE_FORK 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_GETEUID 1
# | #define HAVE_GETPID 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_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_OPENAT 1
# | #define HAVE_PIPE 1
# | #define HAVE_POLL 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_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_SYS_XATTR_H 1
# | #define HAVE_FGETXATTR 1
# | #define HAVE_FLISTXATTR 1
# | #define HAVE_FSETXATTR 1
# | #define HAVE_GETXATTR 1
# | #define HAVE_LGETXATTR 1
# | #define HAVE_LISTXATTR 1
# | #define HAVE_LLISTXATTR 1
# | #define HAVE_LSETXATTR 1
# | /* end confdefs.h. */
# | /* Define lsetea to an innocuous variant, in case declares lsetea.
# | For example, HP-UX 11i declares gettimeofday. */
# | #define lsetea innocuous_lsetea
# |
# | /* System header to define __stub macros and hopefully few prototypes,
# | which can conflict with char lsetea (); below.
# | Prefer to if __STDC__ is defined, since
# | exists even on freestanding compilers. */
# |
# | #ifdef __STDC__
# | # include
# | #else
# | # include
# | #endif
# |
# | #undef lsetea
# |
# | /* 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 lsetea ();
# | /* 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_lsetea || defined __stub___lsetea
# | choke me
# | #endif
# |
# | int
# | main ()
# | {
# | return lsetea ();
# | ;
# | return 0;
# | }
# configure:17450: result: no
# configure:17459: checking whether EXTATTR_NAMESPACE_USER is declared
# configure:17459: arm-linux-androideabi-gcc -c -Wall -Wformat -Wformat-security conftest.c >&5
# conftest.c:180:25: fatal error: sys/extattr.h: No such file or directory
# #include
# ^
# compilation terminated.
# configure:17459: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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_TIME_H 1
# | #define HAVE_SYS_UTIME_H 1
# | #define HAVE_SYS_UTSNAME_H 1
# | #define HAVE_SYS_VFS_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_ZLIB_H 1
# | #define HAVE_LIBZ 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 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 HAVE_STRFTIME 1
# | #define HAVE_VPRINTF 1
# | #define HAVE_ARC4RANDOM_BUF 1
# | #define HAVE_CHOWN 1
# | #define HAVE_CHROOT 1
# | #define HAVE_CTIME_R 1
# | #define HAVE_DIRFD 1
# | #define HAVE_FCHDIR 1
# | #define HAVE_FCHMOD 1
# | #define HAVE_FCHOWN 1
# | #define HAVE_FCNTL 1
# | #define HAVE_FDOPENDIR 1
# | #define HAVE_FORK 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_GETEUID 1
# | #define HAVE_GETPID 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_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_OPENAT 1
# | #define HAVE_PIPE 1
# | #define HAVE_POLL 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_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_SYS_XATTR_H 1
# | #define HAVE_FGETXATTR 1
# | #define HAVE_FLISTXATTR 1
# | #define HAVE_FSETXATTR 1
# | #define HAVE_GETXATTR 1
# | #define HAVE_LGETXATTR 1
# | #define HAVE_LISTXATTR 1
# | #define HAVE_LLISTXATTR 1
# | #define HAVE_LSETXATTR 1
# | /* end confdefs.h. */
# | #include
# | #include
# |
# |
# | int
# | main ()
# | {
# | #ifndef EXTATTR_NAMESPACE_USER
# | #ifdef __cplusplus
# | (void) EXTATTR_NAMESPACE_USER;
# | #else
# | (void) EXTATTR_NAMESPACE_USER;
# | #endif
# | #endif
# |
# | ;
# | return 0;
# | }
# configure:17459: result: no
# configure:17491: checking acl/libacl.h usability
# configure:17491: arm-linux-androideabi-gcc -c -Wall -Wformat -Wformat-security conftest.c >&5
# conftest.c:213:24: fatal error: acl/libacl.h: No such file or directory
# #include
# ^
# compilation terminated.
# configure:17491: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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_TIME_H 1
# | #define HAVE_SYS_UTIME_H 1
# | #define HAVE_SYS_UTSNAME_H 1
# | #define HAVE_SYS_VFS_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_ZLIB_H 1
# | #define HAVE_LIBZ 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 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 HAVE_STRFTIME 1
# | #define HAVE_VPRINTF 1
# | #define HAVE_ARC4RANDOM_BUF 1
# | #define HAVE_CHOWN 1
# | #define HAVE_CHROOT 1
# | #define HAVE_CTIME_R 1
# | #define HAVE_DIRFD 1
# | #define HAVE_FCHDIR 1
# | #define HAVE_FCHMOD 1
# | #define HAVE_FCHOWN 1
# | #define HAVE_FCNTL 1
# | #define HAVE_FDOPENDIR 1
# | #define HAVE_FORK 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_GETEUID 1
# | #define HAVE_GETPID 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_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_OPENAT 1
# | #define HAVE_PIPE 1
# | #define HAVE_POLL 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_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_SYS_XATTR_H 1
# | #define HAVE_FGETXATTR 1
# | #define HAVE_FLISTXATTR 1
# | #define HAVE_FSETXATTR 1
# | #define HAVE_GETXATTR 1
# | #define HAVE_LGETXATTR 1
# | #define HAVE_LISTXATTR 1
# | #define HAVE_LLISTXATTR 1
# | #define HAVE_LSETXATTR 1
# | #define HAVE_DECL_EXTATTR_NAMESPACE_USER 0
# | /* 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:17491: result: no
# configure:17491: checking acl/libacl.h presence
# configure:17491: arm-linux-androideabi-gcc -E conftest.c
# conftest.c:180:24: fatal error: acl/libacl.h: No such file or directory
# #include
# ^
# compilation terminated.
# configure:17491: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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_TIME_H 1
# | #define HAVE_SYS_UTIME_H 1
# | #define HAVE_SYS_UTSNAME_H 1
# | #define HAVE_SYS_VFS_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_ZLIB_H 1
# | #define HAVE_LIBZ 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 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 HAVE_STRFTIME 1
# | #define HAVE_VPRINTF 1
# | #define HAVE_ARC4RANDOM_BUF 1
# | #define HAVE_CHOWN 1
# | #define HAVE_CHROOT 1
# | #define HAVE_CTIME_R 1
# | #define HAVE_DIRFD 1
# | #define HAVE_FCHDIR 1
# | #define HAVE_FCHMOD 1
# | #define HAVE_FCHOWN 1
# | #define HAVE_FCNTL 1
# | #define HAVE_FDOPENDIR 1
# | #define HAVE_FORK 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_GETEUID 1
# | #define HAVE_GETPID 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_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_OPENAT 1
# | #define HAVE_PIPE 1
# | #define HAVE_POLL 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_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_SYS_XATTR_H 1
# | #define HAVE_FGETXATTR 1
# | #define HAVE_FLISTXATTR 1
# | #define HAVE_FSETXATTR 1
# | #define HAVE_GETXATTR 1
# | #define HAVE_LGETXATTR 1
# | #define HAVE_LISTXATTR 1
# | #define HAVE_LLISTXATTR 1
# | #define HAVE_LSETXATTR 1
# | #define HAVE_DECL_EXTATTR_NAMESPACE_USER 0
# | /* end confdefs.h. */
# | #include
# configure:17491: result: no
# configure:17491: checking for acl/libacl.h
# configure:17491: result: no
# configure:17503: checking sys/acl.h usability
# configure:17503: arm-linux-androideabi-gcc -c -Wall -Wformat -Wformat-security conftest.c >&5
# conftest.c:213:21: fatal error: sys/acl.h: No such file or directory
# #include
# ^
# compilation terminated.
# configure:17503: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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_TIME_H 1
# | #define HAVE_SYS_UTIME_H 1
# | #define HAVE_SYS_UTSNAME_H 1
# | #define HAVE_SYS_VFS_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_ZLIB_H 1
# | #define HAVE_LIBZ 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 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 HAVE_STRFTIME 1
# | #define HAVE_VPRINTF 1
# | #define HAVE_ARC4RANDOM_BUF 1
# | #define HAVE_CHOWN 1
# | #define HAVE_CHROOT 1
# | #define HAVE_CTIME_R 1
# | #define HAVE_DIRFD 1
# | #define HAVE_FCHDIR 1
# | #define HAVE_FCHMOD 1
# | #define HAVE_FCHOWN 1
# | #define HAVE_FCNTL 1
# | #define HAVE_FDOPENDIR 1
# | #define HAVE_FORK 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_GETEUID 1
# | #define HAVE_GETPID 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_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_OPENAT 1
# | #define HAVE_PIPE 1
# | #define HAVE_POLL 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_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_SYS_XATTR_H 1
# | #define HAVE_FGETXATTR 1
# | #define HAVE_FLISTXATTR 1
# | #define HAVE_FSETXATTR 1
# | #define HAVE_GETXATTR 1
# | #define HAVE_LGETXATTR 1
# | #define HAVE_LISTXATTR 1
# | #define HAVE_LLISTXATTR 1
# | #define HAVE_LSETXATTR 1
# | #define HAVE_DECL_EXTATTR_NAMESPACE_USER 0
# | /* 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:17503: result: no
# configure:17503: checking sys/acl.h presence
# configure:17503: arm-linux-androideabi-gcc -E conftest.c
# conftest.c:180:21: fatal error: sys/acl.h: No such file or directory
# #include
# ^
# compilation terminated.
# configure:17503: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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_TIME_H 1
# | #define HAVE_SYS_UTIME_H 1
# | #define HAVE_SYS_UTSNAME_H 1
# | #define HAVE_SYS_VFS_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_ZLIB_H 1
# | #define HAVE_LIBZ 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 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 HAVE_STRFTIME 1
# | #define HAVE_VPRINTF 1
# | #define HAVE_ARC4RANDOM_BUF 1
# | #define HAVE_CHOWN 1
# | #define HAVE_CHROOT 1
# | #define HAVE_CTIME_R 1
# | #define HAVE_DIRFD 1
# | #define HAVE_FCHDIR 1
# | #define HAVE_FCHMOD 1
# | #define HAVE_FCHOWN 1
# | #define HAVE_FCNTL 1
# | #define HAVE_FDOPENDIR 1
# | #define HAVE_FORK 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_GETEUID 1
# | #define HAVE_GETPID 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_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_OPENAT 1
# | #define HAVE_PIPE 1
# | #define HAVE_POLL 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_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_SYS_XATTR_H 1
# | #define HAVE_FGETXATTR 1
# | #define HAVE_FLISTXATTR 1
# | #define HAVE_FSETXATTR 1
# | #define HAVE_GETXATTR 1
# | #define HAVE_LGETXATTR 1
# | #define HAVE_LISTXATTR 1
# | #define HAVE_LLISTXATTR 1
# | #define HAVE_LSETXATTR 1
# | #define HAVE_DECL_EXTATTR_NAMESPACE_USER 0
# | /* end confdefs.h. */
# | #include
# configure:17503: result: no
# configure:17503: checking for sys/acl.h
# configure:17503: result: no
# configure:17513: checking for acl_get_file in -lacl
# configure:17538: arm-linux-androideabi-gcc -o conftest -Wall -Wformat -Wformat-security conftest.c -lacl -lz >&5
# /sysroot/bin/../lib/gcc/arm-linux-androideabi/4.8/../../../../arm-linux-androideabi/bin/ld: error: cannot find -lacl
# /tmp/ccC8eVwY.o:conftest.c:function main: error: undefined reference to 'acl_get_file'
# collect2: error: ld returned 1 exit status
# configure:17538: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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_TIME_H 1
# | #define HAVE_SYS_UTIME_H 1
# | #define HAVE_SYS_UTSNAME_H 1
# | #define HAVE_SYS_VFS_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_ZLIB_H 1
# | #define HAVE_LIBZ 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 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 HAVE_STRFTIME 1
# | #define HAVE_VPRINTF 1
# | #define HAVE_ARC4RANDOM_BUF 1
# | #define HAVE_CHOWN 1
# | #define HAVE_CHROOT 1
# | #define HAVE_CTIME_R 1
# | #define HAVE_DIRFD 1
# | #define HAVE_FCHDIR 1
# | #define HAVE_FCHMOD 1
# | #define HAVE_FCHOWN 1
# | #define HAVE_FCNTL 1
# | #define HAVE_FDOPENDIR 1
# | #define HAVE_FORK 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_GETEUID 1
# | #define HAVE_GETPID 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_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_OPENAT 1
# | #define HAVE_PIPE 1
# | #define HAVE_POLL 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_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_SYS_XATTR_H 1
# | #define HAVE_FGETXATTR 1
# | #define HAVE_FLISTXATTR 1
# | #define HAVE_FSETXATTR 1
# | #define HAVE_GETXATTR 1
# | #define HAVE_LGETXATTR 1
# | #define HAVE_LISTXATTR 1
# | #define HAVE_LLISTXATTR 1
# | #define HAVE_LSETXATTR 1
# | #define HAVE_DECL_EXTATTR_NAMESPACE_USER 0
# | /* 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 acl_get_file ();
# | int
# | main ()
# | {
# | return acl_get_file ();
# | ;
# | return 0;
# | }
# configure:17547: result: no
# configure:17561: checking for acl_create_entry
# configure:17561: arm-linux-androideabi-gcc -o conftest -Wall -Wformat -Wformat-security conftest.c -lz >&5
# /tmp/ccgHhZP3.o:conftest.c:function main: error: undefined reference to 'acl_create_entry'
# collect2: error: ld returned 1 exit status
# configure:17561: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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_TIME_H 1
# | #define HAVE_SYS_UTIME_H 1
# | #define HAVE_SYS_UTSNAME_H 1
# | #define HAVE_SYS_VFS_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_ZLIB_H 1
# | #define HAVE_LIBZ 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 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 HAVE_STRFTIME 1
# | #define HAVE_VPRINTF 1
# | #define HAVE_ARC4RANDOM_BUF 1
# | #define HAVE_CHOWN 1
# | #define HAVE_CHROOT 1
# | #define HAVE_CTIME_R 1
# | #define HAVE_DIRFD 1
# | #define HAVE_FCHDIR 1
# | #define HAVE_FCHMOD 1
# | #define HAVE_FCHOWN 1
# | #define HAVE_FCNTL 1
# | #define HAVE_FDOPENDIR 1
# | #define HAVE_FORK 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_GETEUID 1
# | #define HAVE_GETPID 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_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_OPENAT 1
# | #define HAVE_PIPE 1
# | #define HAVE_POLL 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_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_SYS_XATTR_H 1
# | #define HAVE_FGETXATTR 1
# | #define HAVE_FLISTXATTR 1
# | #define HAVE_FSETXATTR 1
# | #define HAVE_GETXATTR 1
# | #define HAVE_LGETXATTR 1
# | #define HAVE_LISTXATTR 1
# | #define HAVE_LLISTXATTR 1
# | #define HAVE_LSETXATTR 1
# | #define HAVE_DECL_EXTATTR_NAMESPACE_USER 0
# | /* end confdefs.h. */
# | /* Define acl_create_entry to an innocuous variant, in case declares acl_create_entry.
# | For example, HP-UX 11i declares gettimeofday. */
# | #define acl_create_entry innocuous_acl_create_entry
# |
# | /* System header to define __stub macros and hopefully few prototypes,
# | which can conflict with char acl_create_entry (); below.
# | Prefer to if __STDC__ is defined, since
# | exists even on freestanding compilers. */
# |
# | #ifdef __STDC__
# | # include
# | #else
# | # include
# | #endif
# |
# | #undef acl_create_entry
# |
# | /* 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 acl_create_entry ();
# | /* 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_acl_create_entry || defined __stub___acl_create_entry
# | choke me
# | #endif
# |
# | int
# | main ()
# | {
# | return acl_create_entry ();
# | ;
# | return 0;
# | }
# configure:17561: result: no
# configure:17561: checking for acl_init
# configure:17561: arm-linux-androideabi-gcc -o conftest -Wall -Wformat -Wformat-security conftest.c -lz >&5
# /tmp/ccCqGBWa.o:conftest.c:function main: error: undefined reference to 'acl_init'
# collect2: error: ld returned 1 exit status
# configure:17561: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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_TIME_H 1
# | #define HAVE_SYS_UTIME_H 1
# | #define HAVE_SYS_UTSNAME_H 1
# | #define HAVE_SYS_VFS_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_ZLIB_H 1
# | #define HAVE_LIBZ 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 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 HAVE_STRFTIME 1
# | #define HAVE_VPRINTF 1
# | #define HAVE_ARC4RANDOM_BUF 1
# | #define HAVE_CHOWN 1
# | #define HAVE_CHROOT 1
# | #define HAVE_CTIME_R 1
# | #define HAVE_DIRFD 1
# | #define HAVE_FCHDIR 1
# | #define HAVE_FCHMOD 1
# | #define HAVE_FCHOWN 1
# | #define HAVE_FCNTL 1
# | #define HAVE_FDOPENDIR 1
# | #define HAVE_FORK 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_GETEUID 1
# | #define HAVE_GETPID 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_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_OPENAT 1
# | #define HAVE_PIPE 1
# | #define HAVE_POLL 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_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_SYS_XATTR_H 1
# | #define HAVE_FGETXATTR 1
# | #define HAVE_FLISTXATTR 1
# | #define HAVE_FSETXATTR 1
# | #define HAVE_GETXATTR 1
# | #define HAVE_LGETXATTR 1
# | #define HAVE_LISTXATTR 1
# | #define HAVE_LLISTXATTR 1
# | #define HAVE_LSETXATTR 1
# | #define HAVE_DECL_EXTATTR_NAMESPACE_USER 0
# | /* end confdefs.h. */
# | /* Define acl_init to an innocuous variant, in case declares acl_init.
# | For example, HP-UX 11i declares gettimeofday. */
# | #define acl_init innocuous_acl_init
# |
# | /* System header to define __stub macros and hopefully few prototypes,
# | which can conflict with char acl_init (); below.
# | Prefer to if __STDC__ is defined, since
# | exists even on freestanding compilers. */
# |
# | #ifdef __STDC__
# | # include
# | #else
# | # include
# | #endif
# |
# | #undef acl_init
# |
# | /* 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 acl_init ();
# | /* 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_acl_init || defined __stub___acl_init
# | choke me
# | #endif
# |
# | int
# | main ()
# | {
# | return acl_init ();
# | ;
# | return 0;
# | }
# configure:17561: result: no
# configure:17561: checking for acl_set_fd
# configure:17561: arm-linux-androideabi-gcc -o conftest -Wall -Wformat -Wformat-security conftest.c -lz >&5
# /tmp/ccItxhuf.o:conftest.c:function main: error: undefined reference to 'acl_set_fd'
# collect2: error: ld returned 1 exit status
# configure:17561: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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_TIME_H 1
# | #define HAVE_SYS_UTIME_H 1
# | #define HAVE_SYS_UTSNAME_H 1
# | #define HAVE_SYS_VFS_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_ZLIB_H 1
# | #define HAVE_LIBZ 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 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 HAVE_STRFTIME 1
# | #define HAVE_VPRINTF 1
# | #define HAVE_ARC4RANDOM_BUF 1
# | #define HAVE_CHOWN 1
# | #define HAVE_CHROOT 1
# | #define HAVE_CTIME_R 1
# | #define HAVE_DIRFD 1
# | #define HAVE_FCHDIR 1
# | #define HAVE_FCHMOD 1
# | #define HAVE_FCHOWN 1
# | #define HAVE_FCNTL 1
# | #define HAVE_FDOPENDIR 1
# | #define HAVE_FORK 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_GETEUID 1
# | #define HAVE_GETPID 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_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_OPENAT 1
# | #define HAVE_PIPE 1
# | #define HAVE_POLL 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_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_SYS_XATTR_H 1
# | #define HAVE_FGETXATTR 1
# | #define HAVE_FLISTXATTR 1
# | #define HAVE_FSETXATTR 1
# | #define HAVE_GETXATTR 1
# | #define HAVE_LGETXATTR 1
# | #define HAVE_LISTXATTR 1
# | #define HAVE_LLISTXATTR 1
# | #define HAVE_LSETXATTR 1
# | #define HAVE_DECL_EXTATTR_NAMESPACE_USER 0
# | /* end confdefs.h. */
# | /* Define acl_set_fd to an innocuous variant, in case declares acl_set_fd.
# | For example, HP-UX 11i declares gettimeofday. */
# | #define acl_set_fd innocuous_acl_set_fd
# |
# | /* System header to define __stub macros and hopefully few prototypes,
# | which can conflict with char acl_set_fd (); below.
# | Prefer to if __STDC__ is defined, since
# | exists even on freestanding compilers. */
# |
# | #ifdef __STDC__
# | # include
# | #else
# | # include
# | #endif
# |
# | #undef acl_set_fd
# |
# | /* 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 acl_set_fd ();
# | /* 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_acl_set_fd || defined __stub___acl_set_fd
# | choke me
# | #endif
# |
# | int
# | main ()
# | {
# | return acl_set_fd ();
# | ;
# | return 0;
# | }
# configure:17561: result: no
# configure:17561: checking for acl_set_fd_np
# configure:17561: arm-linux-androideabi-gcc -o conftest -Wall -Wformat -Wformat-security conftest.c -lz >&5
# /tmp/ccMh3v8l.o:conftest.c:function main: error: undefined reference to 'acl_set_fd_np'
# collect2: error: ld returned 1 exit status
# configure:17561: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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_TIME_H 1
# | #define HAVE_SYS_UTIME_H 1
# | #define HAVE_SYS_UTSNAME_H 1
# | #define HAVE_SYS_VFS_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_ZLIB_H 1
# | #define HAVE_LIBZ 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 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 HAVE_STRFTIME 1
# | #define HAVE_VPRINTF 1
# | #define HAVE_ARC4RANDOM_BUF 1
# | #define HAVE_CHOWN 1
# | #define HAVE_CHROOT 1
# | #define HAVE_CTIME_R 1
# | #define HAVE_DIRFD 1
# | #define HAVE_FCHDIR 1
# | #define HAVE_FCHMOD 1
# | #define HAVE_FCHOWN 1
# | #define HAVE_FCNTL 1
# | #define HAVE_FDOPENDIR 1
# | #define HAVE_FORK 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_GETEUID 1
# | #define HAVE_GETPID 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_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_OPENAT 1
# | #define HAVE_PIPE 1
# | #define HAVE_POLL 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_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_SYS_XATTR_H 1
# | #define HAVE_FGETXATTR 1
# | #define HAVE_FLISTXATTR 1
# | #define HAVE_FSETXATTR 1
# | #define HAVE_GETXATTR 1
# | #define HAVE_LGETXATTR 1
# | #define HAVE_LISTXATTR 1
# | #define HAVE_LLISTXATTR 1
# | #define HAVE_LSETXATTR 1
# | #define HAVE_DECL_EXTATTR_NAMESPACE_USER 0
# | /* end confdefs.h. */
# | /* Define acl_set_fd_np to an innocuous variant, in case declares acl_set_fd_np.
# | For example, HP-UX 11i declares gettimeofday. */
# | #define acl_set_fd_np innocuous_acl_set_fd_np
# |
# | /* System header to define __stub macros and hopefully few prototypes,
# | which can conflict with char acl_set_fd_np (); below.
# | Prefer to if __STDC__ is defined, since
# | exists even on freestanding compilers. */
# |
# | #ifdef __STDC__
# | # include
# | #else
# | # include
# | #endif
# |
# | #undef acl_set_fd_np
# |
# | /* 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 acl_set_fd_np ();
# | /* 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_acl_set_fd_np || defined __stub___acl_set_fd_np
# | choke me
# | #endif
# |
# | int
# | main ()
# | {
# | return acl_set_fd_np ();
# | ;
# | return 0;
# | }
# configure:17561: result: no
# configure:17561: checking for acl_set_file
# configure:17561: arm-linux-androideabi-gcc -o conftest -Wall -Wformat -Wformat-security conftest.c -lz >&5
# /tmp/ccz3xkxl.o:conftest.c:function main: error: undefined reference to 'acl_set_file'
# collect2: error: ld returned 1 exit status
# configure:17561: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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_TIME_H 1
# | #define HAVE_SYS_UTIME_H 1
# | #define HAVE_SYS_UTSNAME_H 1
# | #define HAVE_SYS_VFS_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_ZLIB_H 1
# | #define HAVE_LIBZ 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 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 HAVE_STRFTIME 1
# | #define HAVE_VPRINTF 1
# | #define HAVE_ARC4RANDOM_BUF 1
# | #define HAVE_CHOWN 1
# | #define HAVE_CHROOT 1
# | #define HAVE_CTIME_R 1
# | #define HAVE_DIRFD 1
# | #define HAVE_FCHDIR 1
# | #define HAVE_FCHMOD 1
# | #define HAVE_FCHOWN 1
# | #define HAVE_FCNTL 1
# | #define HAVE_FDOPENDIR 1
# | #define HAVE_FORK 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_GETEUID 1
# | #define HAVE_GETPID 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_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_OPENAT 1
# | #define HAVE_PIPE 1
# | #define HAVE_POLL 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_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_SYS_XATTR_H 1
# | #define HAVE_FGETXATTR 1
# | #define HAVE_FLISTXATTR 1
# | #define HAVE_FSETXATTR 1
# | #define HAVE_GETXATTR 1
# | #define HAVE_LGETXATTR 1
# | #define HAVE_LISTXATTR 1
# | #define HAVE_LLISTXATTR 1
# | #define HAVE_LSETXATTR 1
# | #define HAVE_DECL_EXTATTR_NAMESPACE_USER 0
# | /* end confdefs.h. */
# | /* Define acl_set_file to an innocuous variant, in case declares acl_set_file.
# | For example, HP-UX 11i declares gettimeofday. */
# | #define acl_set_file innocuous_acl_set_file
# |
# | /* System header to define __stub macros and hopefully few prototypes,
# | which can conflict with char acl_set_file (); below.
# | Prefer to if __STDC__ is defined, since
# | exists even on freestanding compilers. */
# |
# | #ifdef __STDC__
# | # include
# | #else
# | # include
# | #endif
# |
# | #undef acl_set_file
# |
# | /* 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 acl_set_file ();
# | /* 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_acl_set_file || defined __stub___acl_set_file
# | choke me
# | #endif
# |
# | int
# | main ()
# | {
# | return acl_set_file ();
# | ;
# | return 0;
# | }
# configure:17561: result: no
# configure:17571: checking for acl_permset_t
# configure:17571: arm-linux-androideabi-gcc -c -Wall -Wformat -Wformat-security conftest.c >&5
# conftest.c: In function 'main':
# conftest.c:191:13: error: 'acl_permset_t' undeclared (first use in this function)
# if (sizeof (acl_permset_t))
# ^
# conftest.c:191:13: note: each undeclared identifier is reported only once for each function it appears in
# configure:17571: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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_TIME_H 1
# | #define HAVE_SYS_UTIME_H 1
# | #define HAVE_SYS_UTSNAME_H 1
# | #define HAVE_SYS_VFS_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_ZLIB_H 1
# | #define HAVE_LIBZ 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 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 HAVE_STRFTIME 1
# | #define HAVE_VPRINTF 1
# | #define HAVE_ARC4RANDOM_BUF 1
# | #define HAVE_CHOWN 1
# | #define HAVE_CHROOT 1
# | #define HAVE_CTIME_R 1
# | #define HAVE_DIRFD 1
# | #define HAVE_FCHDIR 1
# | #define HAVE_FCHMOD 1
# | #define HAVE_FCHOWN 1
# | #define HAVE_FCNTL 1
# | #define HAVE_FDOPENDIR 1
# | #define HAVE_FORK 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_GETEUID 1
# | #define HAVE_GETPID 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_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_OPENAT 1
# | #define HAVE_PIPE 1
# | #define HAVE_POLL 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_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_SYS_XATTR_H 1
# | #define HAVE_FGETXATTR 1
# | #define HAVE_FLISTXATTR 1
# | #define HAVE_FSETXATTR 1
# | #define HAVE_GETXATTR 1
# | #define HAVE_LGETXATTR 1
# | #define HAVE_LISTXATTR 1
# | #define HAVE_LLISTXATTR 1
# | #define HAVE_LSETXATTR 1
# | #define HAVE_DECL_EXTATTR_NAMESPACE_USER 0
# | /* end confdefs.h. */
# | #if HAVE_SYS_TYPES_H
# | #include
# | #endif
# | #if HAVE_SYS_ACL_H
# | #include
# | #endif
# |
# |
# | int
# | main ()
# | {
# | if (sizeof (acl_permset_t))
# | return 0;
# | ;
# | return 0;
# | }
# configure:17571: result: no
# configure:17597: checking for acl_get_perm_np
# configure:17597: arm-linux-androideabi-gcc -o conftest -Wall -Wformat -Wformat-security conftest.c -lz >&5
# /tmp/cceZC8Sj.o:conftest.c:function main: error: undefined reference to 'acl_get_perm_np'
# collect2: error: ld returned 1 exit status
# configure:17597: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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_TIME_H 1
# | #define HAVE_SYS_UTIME_H 1
# | #define HAVE_SYS_UTSNAME_H 1
# | #define HAVE_SYS_VFS_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_ZLIB_H 1
# | #define HAVE_LIBZ 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 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 HAVE_STRFTIME 1
# | #define HAVE_VPRINTF 1
# | #define HAVE_ARC4RANDOM_BUF 1
# | #define HAVE_CHOWN 1
# | #define HAVE_CHROOT 1
# | #define HAVE_CTIME_R 1
# | #define HAVE_DIRFD 1
# | #define HAVE_FCHDIR 1
# | #define HAVE_FCHMOD 1
# | #define HAVE_FCHOWN 1
# | #define HAVE_FCNTL 1
# | #define HAVE_FDOPENDIR 1
# | #define HAVE_FORK 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_GETEUID 1
# | #define HAVE_GETPID 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_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_OPENAT 1
# | #define HAVE_PIPE 1
# | #define HAVE_POLL 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_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_SYS_XATTR_H 1
# | #define HAVE_FGETXATTR 1
# | #define HAVE_FLISTXATTR 1
# | #define HAVE_FSETXATTR 1
# | #define HAVE_GETXATTR 1
# | #define HAVE_LGETXATTR 1
# | #define HAVE_LISTXATTR 1
# | #define HAVE_LLISTXATTR 1
# | #define HAVE_LSETXATTR 1
# | #define HAVE_DECL_EXTATTR_NAMESPACE_USER 0
# | /* end confdefs.h. */
# | /* Define acl_get_perm_np to an innocuous variant, in case declares acl_get_perm_np.
# | For example, HP-UX 11i declares gettimeofday. */
# | #define acl_get_perm_np innocuous_acl_get_perm_np
# |
# | /* System header to define __stub macros and hopefully few prototypes,
# | which can conflict with char acl_get_perm_np (); below.
# | Prefer to if __STDC__ is defined, since
# | exists even on freestanding compilers. */
# |
# | #ifdef __STDC__
# | # include
# | #else
# | # include
# | #endif
# |
# | #undef acl_get_perm_np
# |
# | /* 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 acl_get_perm_np ();
# | /* 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_acl_get_perm_np || defined __stub___acl_get_perm_np
# | choke me
# | #endif
# |
# | int
# | main ()
# | {
# | return acl_get_perm_np ();
# | ;
# | return 0;
# | }
# configure:17597: result: no
# configure:17597: checking for acl_get_perm
# configure:17597: arm-linux-androideabi-gcc -o conftest -Wall -Wformat -Wformat-security conftest.c -lz >&5
# /tmp/ccYiGsbi.o:conftest.c:function main: error: undefined reference to 'acl_get_perm'
# collect2: error: ld returned 1 exit status
# configure:17597: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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_TIME_H 1
# | #define HAVE_SYS_UTIME_H 1
# | #define HAVE_SYS_UTSNAME_H 1
# | #define HAVE_SYS_VFS_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_ZLIB_H 1
# | #define HAVE_LIBZ 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 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 HAVE_STRFTIME 1
# | #define HAVE_VPRINTF 1
# | #define HAVE_ARC4RANDOM_BUF 1
# | #define HAVE_CHOWN 1
# | #define HAVE_CHROOT 1
# | #define HAVE_CTIME_R 1
# | #define HAVE_DIRFD 1
# | #define HAVE_FCHDIR 1
# | #define HAVE_FCHMOD 1
# | #define HAVE_FCHOWN 1
# | #define HAVE_FCNTL 1
# | #define HAVE_FDOPENDIR 1
# | #define HAVE_FORK 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_GETEUID 1
# | #define HAVE_GETPID 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_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_OPENAT 1
# | #define HAVE_PIPE 1
# | #define HAVE_POLL 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_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_SYS_XATTR_H 1
# | #define HAVE_FGETXATTR 1
# | #define HAVE_FLISTXATTR 1
# | #define HAVE_FSETXATTR 1
# | #define HAVE_GETXATTR 1
# | #define HAVE_LGETXATTR 1
# | #define HAVE_LISTXATTR 1
# | #define HAVE_LLISTXATTR 1
# | #define HAVE_LSETXATTR 1
# | #define HAVE_DECL_EXTATTR_NAMESPACE_USER 0
# | /* end confdefs.h. */
# | /* Define acl_get_perm to an innocuous variant, in case declares acl_get_perm.
# | For example, HP-UX 11i declares gettimeofday. */
# | #define acl_get_perm innocuous_acl_get_perm
# |
# | /* System header to define __stub macros and hopefully few prototypes,
# | which can conflict with char acl_get_perm (); below.
# | Prefer to if __STDC__ is defined, since
# | exists even on freestanding compilers. */
# |
# | #ifdef __STDC__
# | # include
# | #else
# | # include
# | #endif
# |
# | #undef acl_get_perm
# |
# | /* 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 acl_get_perm ();
# | /* 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_acl_get_perm || defined __stub___acl_get_perm
# | choke me
# | #endif
# |
# | int
# | main ()
# | {
# | return acl_get_perm ();
# | ;
# | return 0;
# | }
# configure:17597: result: no
# configure:17597: checking for acl_get_link
# configure:17597: arm-linux-androideabi-gcc -o conftest -Wall -Wformat -Wformat-security conftest.c -lz >&5
# /tmp/ccShkE5n.o:conftest.c:function main: error: undefined reference to 'acl_get_link'
# collect2: error: ld returned 1 exit status
# configure:17597: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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_TIME_H 1
# | #define HAVE_SYS_UTIME_H 1
# | #define HAVE_SYS_UTSNAME_H 1
# | #define HAVE_SYS_VFS_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_ZLIB_H 1
# | #define HAVE_LIBZ 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 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 HAVE_STRFTIME 1
# | #define HAVE_VPRINTF 1
# | #define HAVE_ARC4RANDOM_BUF 1
# | #define HAVE_CHOWN 1
# | #define HAVE_CHROOT 1
# | #define HAVE_CTIME_R 1
# | #define HAVE_DIRFD 1
# | #define HAVE_FCHDIR 1
# | #define HAVE_FCHMOD 1
# | #define HAVE_FCHOWN 1
# | #define HAVE_FCNTL 1
# | #define HAVE_FDOPENDIR 1
# | #define HAVE_FORK 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_GETEUID 1
# | #define HAVE_GETPID 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_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_OPENAT 1
# | #define HAVE_PIPE 1
# | #define HAVE_POLL 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_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_SYS_XATTR_H 1
# | #define HAVE_FGETXATTR 1
# | #define HAVE_FLISTXATTR 1
# | #define HAVE_FSETXATTR 1
# | #define HAVE_GETXATTR 1
# | #define HAVE_LGETXATTR 1
# | #define HAVE_LISTXATTR 1
# | #define HAVE_LLISTXATTR 1
# | #define HAVE_LSETXATTR 1
# | #define HAVE_DECL_EXTATTR_NAMESPACE_USER 0
# | /* end confdefs.h. */
# | /* Define acl_get_link to an innocuous variant, in case declares acl_get_link.
# | For example, HP-UX 11i declares gettimeofday. */
# | #define acl_get_link innocuous_acl_get_link
# |
# | /* System header to define __stub macros and hopefully few prototypes,
# | which can conflict with char acl_get_link (); below.
# | Prefer to if __STDC__ is defined, since
# | exists even on freestanding compilers. */
# |
# | #ifdef __STDC__
# | # include
# | #else
# | # include
# | #endif
# |
# | #undef acl_get_link
# |
# | /* 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 acl_get_link ();
# | /* 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_acl_get_link || defined __stub___acl_get_link
# | choke me
# | #endif
# |
# | int
# | main ()
# | {
# | return acl_get_link ();
# | ;
# | return 0;
# | }
# configure:17597: result: no
# configure:17597: checking for acl_get_link_np
# configure:17597: arm-linux-androideabi-gcc -o conftest -Wall -Wformat -Wformat-security conftest.c -lz >&5
# /tmp/cc8pZ8Dv.o:conftest.c:function main: error: undefined reference to 'acl_get_link_np'
# collect2: error: ld returned 1 exit status
# configure:17597: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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_TIME_H 1
# | #define HAVE_SYS_UTIME_H 1
# | #define HAVE_SYS_UTSNAME_H 1
# | #define HAVE_SYS_VFS_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_ZLIB_H 1
# | #define HAVE_LIBZ 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 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 HAVE_STRFTIME 1
# | #define HAVE_VPRINTF 1
# | #define HAVE_ARC4RANDOM_BUF 1
# | #define HAVE_CHOWN 1
# | #define HAVE_CHROOT 1
# | #define HAVE_CTIME_R 1
# | #define HAVE_DIRFD 1
# | #define HAVE_FCHDIR 1
# | #define HAVE_FCHMOD 1
# | #define HAVE_FCHOWN 1
# | #define HAVE_FCNTL 1
# | #define HAVE_FDOPENDIR 1
# | #define HAVE_FORK 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_GETEUID 1
# | #define HAVE_GETPID 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_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_OPENAT 1
# | #define HAVE_PIPE 1
# | #define HAVE_POLL 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_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_SYS_XATTR_H 1
# | #define HAVE_FGETXATTR 1
# | #define HAVE_FLISTXATTR 1
# | #define HAVE_FSETXATTR 1
# | #define HAVE_GETXATTR 1
# | #define HAVE_LGETXATTR 1
# | #define HAVE_LISTXATTR 1
# | #define HAVE_LLISTXATTR 1
# | #define HAVE_LSETXATTR 1
# | #define HAVE_DECL_EXTATTR_NAMESPACE_USER 0
# | /* end confdefs.h. */
# | /* Define acl_get_link_np to an innocuous variant, in case declares acl_get_link_np.
# | For example, HP-UX 11i declares gettimeofday. */
# | #define acl_get_link_np innocuous_acl_get_link_np
# |
# | /* System header to define __stub macros and hopefully few prototypes,
# | which can conflict with char acl_get_link_np (); below.
# | Prefer to if __STDC__ is defined, since
# | exists even on freestanding compilers. */
# |
# | #ifdef __STDC__
# | # include
# | #else
# | # include
# | #endif
# |
# | #undef acl_get_link_np
# |
# | /* 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 acl_get_link_np ();
# | /* 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_acl_get_link_np || defined __stub___acl_get_link_np
# | choke me
# | #endif
# |
# | int
# | main ()
# | {
# | return acl_get_link_np ();
# | ;
# | return 0;
# | }
# configure:17597: result: no
# configure:17609: checking whether ACL_USER is declared
# configure:17609: arm-linux-androideabi-gcc -c -Wall -Wformat -Wformat-security conftest.c >&5
# conftest.c:180:21: fatal error: sys/acl.h: No such file or directory
# #include
# ^
# compilation terminated.
# configure:17609: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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_TIME_H 1
# | #define HAVE_SYS_UTIME_H 1
# | #define HAVE_SYS_UTSNAME_H 1
# | #define HAVE_SYS_VFS_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_ZLIB_H 1
# | #define HAVE_LIBZ 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 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 HAVE_STRFTIME 1
# | #define HAVE_VPRINTF 1
# | #define HAVE_ARC4RANDOM_BUF 1
# | #define HAVE_CHOWN 1
# | #define HAVE_CHROOT 1
# | #define HAVE_CTIME_R 1
# | #define HAVE_DIRFD 1
# | #define HAVE_FCHDIR 1
# | #define HAVE_FCHMOD 1
# | #define HAVE_FCHOWN 1
# | #define HAVE_FCNTL 1
# | #define HAVE_FDOPENDIR 1
# | #define HAVE_FORK 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_GETEUID 1
# | #define HAVE_GETPID 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_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_OPENAT 1
# | #define HAVE_PIPE 1
# | #define HAVE_POLL 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_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_SYS_XATTR_H 1
# | #define HAVE_FGETXATTR 1
# | #define HAVE_FLISTXATTR 1
# | #define HAVE_FSETXATTR 1
# | #define HAVE_GETXATTR 1
# | #define HAVE_LGETXATTR 1
# | #define HAVE_LISTXATTR 1
# | #define HAVE_LLISTXATTR 1
# | #define HAVE_LSETXATTR 1
# | #define HAVE_DECL_EXTATTR_NAMESPACE_USER 0
# | /* end confdefs.h. */
# | #include
# |
# | int
# | main ()
# | {
# | #ifndef ACL_USER
# | #ifdef __cplusplus
# | (void) ACL_USER;
# | #else
# | (void) ACL_USER;
# | #endif
# | #endif
# |
# | ;
# | return 0;
# | }
# configure:17609: result: no
# configure:17627: checking for special C compiler options needed for large files
# configure:17672: result: no
# configure:17678: checking for _FILE_OFFSET_BITS value needed for large files
# configure:17703: arm-linux-androideabi-gcc -c -Wall -Wformat -Wformat-security conftest.c >&5
# conftest.c:186:7: error: size of array 'off_t_is_large' is negative
# int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
# ^
# configure:17703: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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_TIME_H 1
# | #define HAVE_SYS_UTIME_H 1
# | #define HAVE_SYS_UTSNAME_H 1
# | #define HAVE_SYS_VFS_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_ZLIB_H 1
# | #define HAVE_LIBZ 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 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 HAVE_STRFTIME 1
# | #define HAVE_VPRINTF 1
# | #define HAVE_ARC4RANDOM_BUF 1
# | #define HAVE_CHOWN 1
# | #define HAVE_CHROOT 1
# | #define HAVE_CTIME_R 1
# | #define HAVE_DIRFD 1
# | #define HAVE_FCHDIR 1
# | #define HAVE_FCHMOD 1
# | #define HAVE_FCHOWN 1
# | #define HAVE_FCNTL 1
# | #define HAVE_FDOPENDIR 1
# | #define HAVE_FORK 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_GETEUID 1
# | #define HAVE_GETPID 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_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_OPENAT 1
# | #define HAVE_PIPE 1
# | #define HAVE_POLL 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_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_SYS_XATTR_H 1
# | #define HAVE_FGETXATTR 1
# | #define HAVE_FLISTXATTR 1
# | #define HAVE_FSETXATTR 1
# | #define HAVE_GETXATTR 1
# | #define HAVE_LGETXATTR 1
# | #define HAVE_LISTXATTR 1
# | #define HAVE_LLISTXATTR 1
# | #define HAVE_LSETXATTR 1
# | #define HAVE_DECL_EXTATTR_NAMESPACE_USER 0
# | /* end confdefs.h. */
# | #include
# | /* Check that off_t can represent 2**63 - 1 correctly.
# | We can't simply define LARGE_OFF_T to be 9223372036854775807,
# | since some C++ compilers masquerading as C compilers
# | incorrectly reject 9223372036854775807. */
# | #define LARGE_OFF_T ((((off_t) 1 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31))
# | int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
# | && LARGE_OFF_T % 2147483647 == 1)
# | ? 1 : -1];
# | int
# | main ()
# | {
# |
# | ;
# | return 0;
# | }
# configure:17727: arm-linux-androideabi-gcc -c -Wall -Wformat -Wformat-security conftest.c >&5
# conftest.c:187:7: error: size of array 'off_t_is_large' is negative
# int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
# ^
# configure:17727: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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_TIME_H 1
# | #define HAVE_SYS_UTIME_H 1
# | #define HAVE_SYS_UTSNAME_H 1
# | #define HAVE_SYS_VFS_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_ZLIB_H 1
# | #define HAVE_LIBZ 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 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 HAVE_STRFTIME 1
# | #define HAVE_VPRINTF 1
# | #define HAVE_ARC4RANDOM_BUF 1
# | #define HAVE_CHOWN 1
# | #define HAVE_CHROOT 1
# | #define HAVE_CTIME_R 1
# | #define HAVE_DIRFD 1
# | #define HAVE_FCHDIR 1
# | #define HAVE_FCHMOD 1
# | #define HAVE_FCHOWN 1
# | #define HAVE_FCNTL 1
# | #define HAVE_FDOPENDIR 1
# | #define HAVE_FORK 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_GETEUID 1
# | #define HAVE_GETPID 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_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_OPENAT 1
# | #define HAVE_PIPE 1
# | #define HAVE_POLL 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_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_SYS_XATTR_H 1
# | #define HAVE_FGETXATTR 1
# | #define HAVE_FLISTXATTR 1
# | #define HAVE_FSETXATTR 1
# | #define HAVE_GETXATTR 1
# | #define HAVE_LGETXATTR 1
# | #define HAVE_LISTXATTR 1
# | #define HAVE_LLISTXATTR 1
# | #define HAVE_LSETXATTR 1
# | #define HAVE_DECL_EXTATTR_NAMESPACE_USER 0
# | /* end confdefs.h. */
# | #define _FILE_OFFSET_BITS 64
# | #include
# | /* Check that off_t can represent 2**63 - 1 correctly.
# | We can't simply define LARGE_OFF_T to be 9223372036854775807,
# | since some C++ compilers masquerading as C compilers
# | incorrectly reject 9223372036854775807. */
# | #define LARGE_OFF_T ((((off_t) 1 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31))
# | int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
# | && LARGE_OFF_T % 2147483647 == 1)
# | ? 1 : -1];
# | int
# | main ()
# | {
# |
# | ;
# | return 0;
# | }
# configure:17735: result: unknown
# configure:17747: checking for _LARGE_FILES value needed for large files
# configure:17772: arm-linux-androideabi-gcc -c -Wall -Wformat -Wformat-security conftest.c >&5
# conftest.c:186:7: error: size of array 'off_t_is_large' is negative
# int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
# ^
# configure:17772: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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_TIME_H 1
# | #define HAVE_SYS_UTIME_H 1
# | #define HAVE_SYS_UTSNAME_H 1
# | #define HAVE_SYS_VFS_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_ZLIB_H 1
# | #define HAVE_LIBZ 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 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 HAVE_STRFTIME 1
# | #define HAVE_VPRINTF 1
# | #define HAVE_ARC4RANDOM_BUF 1
# | #define HAVE_CHOWN 1
# | #define HAVE_CHROOT 1
# | #define HAVE_CTIME_R 1
# | #define HAVE_DIRFD 1
# | #define HAVE_FCHDIR 1
# | #define HAVE_FCHMOD 1
# | #define HAVE_FCHOWN 1
# | #define HAVE_FCNTL 1
# | #define HAVE_FDOPENDIR 1
# | #define HAVE_FORK 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_GETEUID 1
# | #define HAVE_GETPID 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_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_OPENAT 1
# | #define HAVE_PIPE 1
# | #define HAVE_POLL 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_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_SYS_XATTR_H 1
# | #define HAVE_FGETXATTR 1
# | #define HAVE_FLISTXATTR 1
# | #define HAVE_FSETXATTR 1
# | #define HAVE_GETXATTR 1
# | #define HAVE_LGETXATTR 1
# | #define HAVE_LISTXATTR 1
# | #define HAVE_LLISTXATTR 1
# | #define HAVE_LSETXATTR 1
# | #define HAVE_DECL_EXTATTR_NAMESPACE_USER 0
# | /* end confdefs.h. */
# | #include
# | /* Check that off_t can represent 2**63 - 1 correctly.
# | We can't simply define LARGE_OFF_T to be 9223372036854775807,
# | since some C++ compilers masquerading as C compilers
# | incorrectly reject 9223372036854775807. */
# | #define LARGE_OFF_T ((((off_t) 1 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31))
# | int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
# | && LARGE_OFF_T % 2147483647 == 1)
# | ? 1 : -1];
# | int
# | main ()
# | {
# |
# | ;
# | return 0;
# | }
# configure:17796: arm-linux-androideabi-gcc -c -Wall -Wformat -Wformat-security conftest.c >&5
# conftest.c:187:7: error: size of array 'off_t_is_large' is negative
# int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
# ^
# configure:17796: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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_TIME_H 1
# | #define HAVE_SYS_UTIME_H 1
# | #define HAVE_SYS_UTSNAME_H 1
# | #define HAVE_SYS_VFS_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_ZLIB_H 1
# | #define HAVE_LIBZ 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 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 HAVE_STRFTIME 1
# | #define HAVE_VPRINTF 1
# | #define HAVE_ARC4RANDOM_BUF 1
# | #define HAVE_CHOWN 1
# | #define HAVE_CHROOT 1
# | #define HAVE_CTIME_R 1
# | #define HAVE_DIRFD 1
# | #define HAVE_FCHDIR 1
# | #define HAVE_FCHMOD 1
# | #define HAVE_FCHOWN 1
# | #define HAVE_FCNTL 1
# | #define HAVE_FDOPENDIR 1
# | #define HAVE_FORK 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_GETEUID 1
# | #define HAVE_GETPID 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_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_OPENAT 1
# | #define HAVE_PIPE 1
# | #define HAVE_POLL 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_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_SYS_XATTR_H 1
# | #define HAVE_FGETXATTR 1
# | #define HAVE_FLISTXATTR 1
# | #define HAVE_FSETXATTR 1
# | #define HAVE_GETXATTR 1
# | #define HAVE_LGETXATTR 1
# | #define HAVE_LISTXATTR 1
# | #define HAVE_LLISTXATTR 1
# | #define HAVE_LSETXATTR 1
# | #define HAVE_DECL_EXTATTR_NAMESPACE_USER 0
# | /* end confdefs.h. */
# | #define _LARGE_FILES 1
# | #include
# | /* Check that off_t can represent 2**63 - 1 correctly.
# | We can't simply define LARGE_OFF_T to be 9223372036854775807,
# | since some C++ compilers masquerading as C compilers
# | incorrectly reject 9223372036854775807. */
# | #define LARGE_OFF_T ((((off_t) 1 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31))
# | int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
# | && LARGE_OFF_T % 2147483647 == 1)
# | ? 1 : -1];
# | int
# | main ()
# | {
# |
# | ;
# | return 0;
# | }
# configure:17804: result: unknown
# configure:17834: checking support for ARCHIVE_CRYPTO_MD5_LIBC
# configure:17856: arm-linux-androideabi-gcc -o conftest -Wall -Wformat -Wformat-security -I. -I. -I./libarchive conftest.c -lz >&5
# In file included from conftest.c:214:0:
# ./libarchive/archive.h:101:24: fatal error: android_lf.h: No such file or directory
# #include "android_lf.h"
# ^
# compilation terminated.
# configure:17856: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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_TIME_H 1
# | #define HAVE_SYS_UTIME_H 1
# | #define HAVE_SYS_UTSNAME_H 1
# | #define HAVE_SYS_VFS_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_ZLIB_H 1
# | #define HAVE_LIBZ 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 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 HAVE_STRFTIME 1
# | #define HAVE_VPRINTF 1
# | #define HAVE_ARC4RANDOM_BUF 1
# | #define HAVE_CHOWN 1
# | #define HAVE_CHROOT 1
# | #define HAVE_CTIME_R 1
# | #define HAVE_DIRFD 1
# | #define HAVE_FCHDIR 1
# | #define HAVE_FCHMOD 1
# | #define HAVE_FCHOWN 1
# | #define HAVE_FCNTL 1
# | #define HAVE_FDOPENDIR 1
# | #define HAVE_FORK 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_GETEUID 1
# | #define HAVE_GETPID 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_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_OPENAT 1
# | #define HAVE_PIPE 1
# | #define HAVE_POLL 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_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_SYS_XATTR_H 1
# | #define HAVE_FGETXATTR 1
# | #define HAVE_FLISTXATTR 1
# | #define HAVE_FSETXATTR 1
# | #define HAVE_GETXATTR 1
# | #define HAVE_LGETXATTR 1
# | #define HAVE_LISTXATTR 1
# | #define HAVE_LLISTXATTR 1
# | #define HAVE_LSETXATTR 1
# | #define HAVE_DECL_EXTATTR_NAMESPACE_USER 0
# | /* 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)
# | {
# | 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->digest)
# | EVP_DigestFinal(ctx, md, 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)
# | {
# | 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)
# | {
# | EVP_DigestFinal(ctx, md, 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)
# | {
# | 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->digest)
# | EVP_DigestFinal(ctx, md, 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)
# | {
# | 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)
# | {
# | EVP_DigestFinal(ctx, md, 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)
# | {
# | 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)
# | {
# | EVP_DigestFinal(ctx, md, 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)
# | {
# | 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)
# | {
# | EVP_DigestFinal(ctx, md, 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:17866: result: no
# configure:17880: checking support for ARCHIVE_CRYPTO_MD5_LIBSYSTEM
# configure:17902: arm-linux-androideabi-gcc -o conftest -Wall -Wformat -Wformat-security -I. -I. -I./libarchive conftest.c -lz >&5
# In file included from conftest.c:214:0:
# ./libarchive/archive.h:101:24: fatal error: android_lf.h: No such file or directory
# #include "android_lf.h"
# ^
# compilation terminated.
# configure:17902: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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_TIME_H 1
# | #define HAVE_SYS_UTIME_H 1
# | #define HAVE_SYS_UTSNAME_H 1
# | #define HAVE_SYS_VFS_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_ZLIB_H 1
# | #define HAVE_LIBZ 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 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 HAVE_STRFTIME 1
# | #define HAVE_VPRINTF 1
# | #define HAVE_ARC4RANDOM_BUF 1
# | #define HAVE_CHOWN 1
# | #define HAVE_CHROOT 1
# | #define HAVE_CTIME_R 1
# | #define HAVE_DIRFD 1
# | #define HAVE_FCHDIR 1
# | #define HAVE_FCHMOD 1
# | #define HAVE_FCHOWN 1
# | #define HAVE_FCNTL 1
# | #define HAVE_FDOPENDIR 1
# | #define HAVE_FORK 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_GETEUID 1
# | #define HAVE_GETPID 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_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_OPENAT 1
# | #define HAVE_PIPE 1
# | #define HAVE_POLL 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_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_SYS_XATTR_H 1
# | #define HAVE_FGETXATTR 1
# | #define HAVE_FLISTXATTR 1
# | #define HAVE_FSETXATTR 1
# | #define HAVE_GETXATTR 1
# | #define HAVE_LGETXATTR 1
# | #define HAVE_LISTXATTR 1
# | #define HAVE_LLISTXATTR 1
# | #define HAVE_LSETXATTR 1
# | #define HAVE_DECL_EXTATTR_NAMESPACE_USER 0
# | /* 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)
# | {
# | 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->digest)
# | EVP_DigestFinal(ctx, md, 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)
# | {
# | 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)
# | {
# | EVP_DigestFinal(ctx, md, 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)
# | {
# | 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->digest)
# | EVP_DigestFinal(ctx, md, 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)
# | {
# | 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)
# | {
# | EVP_DigestFinal(ctx, md, 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)
# | {
# | 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)
# | {
# | EVP_DigestFinal(ctx, md, 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)
# | {
# | 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)
# | {
# | EVP_DigestFinal(ctx, md, 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:17912: result: no
# configure:17926: checking support for ARCHIVE_CRYPTO_RMD160_LIBC
# configure:17948: arm-linux-androideabi-gcc -o conftest -Wall -Wformat -Wformat-security -I. -I. -I./libarchive conftest.c -lz >&5
# In file included from conftest.c:214:0:
# ./libarchive/archive.h:101:24: fatal error: android_lf.h: No such file or directory
# #include "android_lf.h"
# ^
# compilation terminated.
# configure:17948: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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_TIME_H 1
# | #define HAVE_SYS_UTIME_H 1
# | #define HAVE_SYS_UTSNAME_H 1
# | #define HAVE_SYS_VFS_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_ZLIB_H 1
# | #define HAVE_LIBZ 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 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 HAVE_STRFTIME 1
# | #define HAVE_VPRINTF 1
# | #define HAVE_ARC4RANDOM_BUF 1
# | #define HAVE_CHOWN 1
# | #define HAVE_CHROOT 1
# | #define HAVE_CTIME_R 1
# | #define HAVE_DIRFD 1
# | #define HAVE_FCHDIR 1
# | #define HAVE_FCHMOD 1
# | #define HAVE_FCHOWN 1
# | #define HAVE_FCNTL 1
# | #define HAVE_FDOPENDIR 1
# | #define HAVE_FORK 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_GETEUID 1
# | #define HAVE_GETPID 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_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_OPENAT 1
# | #define HAVE_PIPE 1
# | #define HAVE_POLL 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_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_SYS_XATTR_H 1
# | #define HAVE_FGETXATTR 1
# | #define HAVE_FLISTXATTR 1
# | #define HAVE_FSETXATTR 1
# | #define HAVE_GETXATTR 1
# | #define HAVE_LGETXATTR 1
# | #define HAVE_LISTXATTR 1
# | #define HAVE_LLISTXATTR 1
# | #define HAVE_LSETXATTR 1
# | #define HAVE_DECL_EXTATTR_NAMESPACE_USER 0
# | /* 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)
# | {
# | 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->digest)
# | EVP_DigestFinal(ctx, md, 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)
# | {
# | 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)
# | {
# | EVP_DigestFinal(ctx, md, 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)
# | {
# | 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->digest)
# | EVP_DigestFinal(ctx, md, 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)
# | {
# | 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)
# | {
# | EVP_DigestFinal(ctx, md, 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)
# | {
# | 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)
# | {
# | EVP_DigestFinal(ctx, md, 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)
# | {
# | 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)
# | {
# | EVP_DigestFinal(ctx, md, 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:17958: result: no
# configure:17972: checking support for ARCHIVE_CRYPTO_SHA1_LIBC
# configure:17994: arm-linux-androideabi-gcc -o conftest -Wall -Wformat -Wformat-security -I. -I. -I./libarchive conftest.c -lz >&5
# In file included from conftest.c:214:0:
# ./libarchive/archive.h:101:24: fatal error: android_lf.h: No such file or directory
# #include "android_lf.h"
# ^
# compilation terminated.
# configure:17994: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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_TIME_H 1
# | #define HAVE_SYS_UTIME_H 1
# | #define HAVE_SYS_UTSNAME_H 1
# | #define HAVE_SYS_VFS_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_ZLIB_H 1
# | #define HAVE_LIBZ 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 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 HAVE_STRFTIME 1
# | #define HAVE_VPRINTF 1
# | #define HAVE_ARC4RANDOM_BUF 1
# | #define HAVE_CHOWN 1
# | #define HAVE_CHROOT 1
# | #define HAVE_CTIME_R 1
# | #define HAVE_DIRFD 1
# | #define HAVE_FCHDIR 1
# | #define HAVE_FCHMOD 1
# | #define HAVE_FCHOWN 1
# | #define HAVE_FCNTL 1
# | #define HAVE_FDOPENDIR 1
# | #define HAVE_FORK 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_GETEUID 1
# | #define HAVE_GETPID 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_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_OPENAT 1
# | #define HAVE_PIPE 1
# | #define HAVE_POLL 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_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_SYS_XATTR_H 1
# | #define HAVE_FGETXATTR 1
# | #define HAVE_FLISTXATTR 1
# | #define HAVE_FSETXATTR 1
# | #define HAVE_GETXATTR 1
# | #define HAVE_LGETXATTR 1
# | #define HAVE_LISTXATTR 1
# | #define HAVE_LLISTXATTR 1
# | #define HAVE_LSETXATTR 1
# | #define HAVE_DECL_EXTATTR_NAMESPACE_USER 0
# | /* 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)
# | {
# | 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->digest)
# | EVP_DigestFinal(ctx, md, 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)
# | {
# | 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)
# | {
# | EVP_DigestFinal(ctx, md, 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)
# | {
# | 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->digest)
# | EVP_DigestFinal(ctx, md, 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)
# | {
# | 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)
# | {
# | EVP_DigestFinal(ctx, md, 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)
# | {
# | 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)
# | {
# | EVP_DigestFinal(ctx, md, 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)
# | {
# | 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)
# | {
# | EVP_DigestFinal(ctx, md, 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:18004: result: no
# configure:18018: checking support for ARCHIVE_CRYPTO_SHA1_LIBSYSTEM
# configure:18040: arm-linux-androideabi-gcc -o conftest -Wall -Wformat -Wformat-security -I. -I. -I./libarchive conftest.c -lz >&5
# In file included from conftest.c:214:0:
# ./libarchive/archive.h:101:24: fatal error: android_lf.h: No such file or directory
# #include "android_lf.h"
# ^
# compilation terminated.
# configure:18040: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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_TIME_H 1
# | #define HAVE_SYS_UTIME_H 1
# | #define HAVE_SYS_UTSNAME_H 1
# | #define HAVE_SYS_VFS_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_ZLIB_H 1
# | #define HAVE_LIBZ 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 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 HAVE_STRFTIME 1
# | #define HAVE_VPRINTF 1
# | #define HAVE_ARC4RANDOM_BUF 1
# | #define HAVE_CHOWN 1
# | #define HAVE_CHROOT 1
# | #define HAVE_CTIME_R 1
# | #define HAVE_DIRFD 1
# | #define HAVE_FCHDIR 1
# | #define HAVE_FCHMOD 1
# | #define HAVE_FCHOWN 1
# | #define HAVE_FCNTL 1
# | #define HAVE_FDOPENDIR 1
# | #define HAVE_FORK 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_GETEUID 1
# | #define HAVE_GETPID 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_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_OPENAT 1
# | #define HAVE_PIPE 1
# | #define HAVE_POLL 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_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_SYS_XATTR_H 1
# | #define HAVE_FGETXATTR 1
# | #define HAVE_FLISTXATTR 1
# | #define HAVE_FSETXATTR 1
# | #define HAVE_GETXATTR 1
# | #define HAVE_LGETXATTR 1
# | #define HAVE_LISTXATTR 1
# | #define HAVE_LLISTXATTR 1
# | #define HAVE_LSETXATTR 1
# | #define HAVE_DECL_EXTATTR_NAMESPACE_USER 0
# | /* 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)
# | {
# | 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->digest)
# | EVP_DigestFinal(ctx, md, 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)
# | {
# | 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)
# | {
# | EVP_DigestFinal(ctx, md, 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)
# | {
# | 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->digest)
# | EVP_DigestFinal(ctx, md, 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)
# | {
# | 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)
# | {
# | EVP_DigestFinal(ctx, md, 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)
# | {
# | 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)
# | {
# | EVP_DigestFinal(ctx, md, 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)
# | {
# | 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)
# | {
# | EVP_DigestFinal(ctx, md, 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:18050: result: no
# configure:18064: checking support for ARCHIVE_CRYPTO_SHA256_LIBC
# configure:18086: arm-linux-androideabi-gcc -o conftest -Wall -Wformat -Wformat-security -I. -I. -I./libarchive conftest.c -lz >&5
# In file included from conftest.c:214:0:
# ./libarchive/archive.h:101:24: fatal error: android_lf.h: No such file or directory
# #include "android_lf.h"
# ^
# compilation terminated.
# configure:18086: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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_TIME_H 1
# | #define HAVE_SYS_UTIME_H 1
# | #define HAVE_SYS_UTSNAME_H 1
# | #define HAVE_SYS_VFS_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_ZLIB_H 1
# | #define HAVE_LIBZ 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 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 HAVE_STRFTIME 1
# | #define HAVE_VPRINTF 1
# | #define HAVE_ARC4RANDOM_BUF 1
# | #define HAVE_CHOWN 1
# | #define HAVE_CHROOT 1
# | #define HAVE_CTIME_R 1
# | #define HAVE_DIRFD 1
# | #define HAVE_FCHDIR 1
# | #define HAVE_FCHMOD 1
# | #define HAVE_FCHOWN 1
# | #define HAVE_FCNTL 1
# | #define HAVE_FDOPENDIR 1
# | #define HAVE_FORK 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_GETEUID 1
# | #define HAVE_GETPID 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_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_OPENAT 1
# | #define HAVE_PIPE 1
# | #define HAVE_POLL 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_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_SYS_XATTR_H 1
# | #define HAVE_FGETXATTR 1
# | #define HAVE_FLISTXATTR 1
# | #define HAVE_FSETXATTR 1
# | #define HAVE_GETXATTR 1
# | #define HAVE_LGETXATTR 1
# | #define HAVE_LISTXATTR 1
# | #define HAVE_LLISTXATTR 1
# | #define HAVE_LSETXATTR 1
# | #define HAVE_DECL_EXTATTR_NAMESPACE_USER 0
# | /* 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)
# | {
# | 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->digest)
# | EVP_DigestFinal(ctx, md, 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)
# | {
# | 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)
# | {
# | EVP_DigestFinal(ctx, md, 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)
# | {
# | 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->digest)
# | EVP_DigestFinal(ctx, md, 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)
# | {
# | 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)
# | {
# | EVP_DigestFinal(ctx, md, 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)
# | {
# | 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)
# | {
# | EVP_DigestFinal(ctx, md, 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)
# | {
# | 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)
# | {
# | EVP_DigestFinal(ctx, md, 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:18096: result: no
# configure:18110: checking support for ARCHIVE_CRYPTO_SHA256_LIBC2
# configure:18132: arm-linux-androideabi-gcc -o conftest -Wall -Wformat -Wformat-security -I. -I. -I./libarchive conftest.c -lz >&5
# In file included from conftest.c:214:0:
# ./libarchive/archive.h:101:24: fatal error: android_lf.h: No such file or directory
# #include "android_lf.h"
# ^
# compilation terminated.
# configure:18132: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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_TIME_H 1
# | #define HAVE_SYS_UTIME_H 1
# | #define HAVE_SYS_UTSNAME_H 1
# | #define HAVE_SYS_VFS_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_ZLIB_H 1
# | #define HAVE_LIBZ 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 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 HAVE_STRFTIME 1
# | #define HAVE_VPRINTF 1
# | #define HAVE_ARC4RANDOM_BUF 1
# | #define HAVE_CHOWN 1
# | #define HAVE_CHROOT 1
# | #define HAVE_CTIME_R 1
# | #define HAVE_DIRFD 1
# | #define HAVE_FCHDIR 1
# | #define HAVE_FCHMOD 1
# | #define HAVE_FCHOWN 1
# | #define HAVE_FCNTL 1
# | #define HAVE_FDOPENDIR 1
# | #define HAVE_FORK 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_GETEUID 1
# | #define HAVE_GETPID 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_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_OPENAT 1
# | #define HAVE_PIPE 1
# | #define HAVE_POLL 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_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_SYS_XATTR_H 1
# | #define HAVE_FGETXATTR 1
# | #define HAVE_FLISTXATTR 1
# | #define HAVE_FSETXATTR 1
# | #define HAVE_GETXATTR 1
# | #define HAVE_LGETXATTR 1
# | #define HAVE_LISTXATTR 1
# | #define HAVE_LLISTXATTR 1
# | #define HAVE_LSETXATTR 1
# | #define HAVE_DECL_EXTATTR_NAMESPACE_USER 0
# | /* 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)
# | {
# | 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->digest)
# | EVP_DigestFinal(ctx, md, 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)
# | {
# | 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)
# | {
# | EVP_DigestFinal(ctx, md, 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)
# | {
# | 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->digest)
# | EVP_DigestFinal(ctx, md, 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)
# | {
# | 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)
# | {
# | EVP_DigestFinal(ctx, md, 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)
# | {
# | 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)
# | {
# | EVP_DigestFinal(ctx, md, 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)
# | {
# | 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)
# | {
# | EVP_DigestFinal(ctx, md, 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:18142: result: no
# configure:18156: checking support for ARCHIVE_CRYPTO_SHA256_LIBC3
# configure:18178: arm-linux-androideabi-gcc -o conftest -Wall -Wformat -Wformat-security -I. -I. -I./libarchive conftest.c -lz >&5
# In file included from conftest.c:214:0:
# ./libarchive/archive.h:101:24: fatal error: android_lf.h: No such file or directory
# #include "android_lf.h"
# ^
# compilation terminated.
# configure:18178: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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_TIME_H 1
# | #define HAVE_SYS_UTIME_H 1
# | #define HAVE_SYS_UTSNAME_H 1
# | #define HAVE_SYS_VFS_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_ZLIB_H 1
# | #define HAVE_LIBZ 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 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 HAVE_STRFTIME 1
# | #define HAVE_VPRINTF 1
# | #define HAVE_ARC4RANDOM_BUF 1
# | #define HAVE_CHOWN 1
# | #define HAVE_CHROOT 1
# | #define HAVE_CTIME_R 1
# | #define HAVE_DIRFD 1
# | #define HAVE_FCHDIR 1
# | #define HAVE_FCHMOD 1
# | #define HAVE_FCHOWN 1
# | #define HAVE_FCNTL 1
# | #define HAVE_FDOPENDIR 1
# | #define HAVE_FORK 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_GETEUID 1
# | #define HAVE_GETPID 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_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_OPENAT 1
# | #define HAVE_PIPE 1
# | #define HAVE_POLL 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_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_SYS_XATTR_H 1
# | #define HAVE_FGETXATTR 1
# | #define HAVE_FLISTXATTR 1
# | #define HAVE_FSETXATTR 1
# | #define HAVE_GETXATTR 1
# | #define HAVE_LGETXATTR 1
# | #define HAVE_LISTXATTR 1
# | #define HAVE_LLISTXATTR 1
# | #define HAVE_LSETXATTR 1
# | #define HAVE_DECL_EXTATTR_NAMESPACE_USER 0
# | /* 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)
# | {
# | 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->digest)
# | EVP_DigestFinal(ctx, md, 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)
# | {
# | 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)
# | {
# | EVP_DigestFinal(ctx, md, 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)
# | {
# | 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->digest)
# | EVP_DigestFinal(ctx, md, 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)
# | {
# | 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)
# | {
# | EVP_DigestFinal(ctx, md, 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)
# | {
# | 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)
# | {
# | EVP_DigestFinal(ctx, md, 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)
# | {
# | 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)
# | {
# | EVP_DigestFinal(ctx, md, 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:18188: result: no
# configure:18202: checking support for ARCHIVE_CRYPTO_SHA256_LIBSYSTEM
# configure:18224: arm-linux-androideabi-gcc -o conftest -Wall -Wformat -Wformat-security -I. -I. -I./libarchive conftest.c -lz >&5
# In file included from conftest.c:214:0:
# ./libarchive/archive.h:101:24: fatal error: android_lf.h: No such file or directory
# #include "android_lf.h"
# ^
# compilation terminated.
# configure:18224: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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_TIME_H 1
# | #define HAVE_SYS_UTIME_H 1
# | #define HAVE_SYS_UTSNAME_H 1
# | #define HAVE_SYS_VFS_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_ZLIB_H 1
# | #define HAVE_LIBZ 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 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 HAVE_STRFTIME 1
# | #define HAVE_VPRINTF 1
# | #define HAVE_ARC4RANDOM_BUF 1
# | #define HAVE_CHOWN 1
# | #define HAVE_CHROOT 1
# | #define HAVE_CTIME_R 1
# | #define HAVE_DIRFD 1
# | #define HAVE_FCHDIR 1
# | #define HAVE_FCHMOD 1
# | #define HAVE_FCHOWN 1
# | #define HAVE_FCNTL 1
# | #define HAVE_FDOPENDIR 1
# | #define HAVE_FORK 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_GETEUID 1
# | #define HAVE_GETPID 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_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_OPENAT 1
# | #define HAVE_PIPE 1
# | #define HAVE_POLL 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_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_SYS_XATTR_H 1
# | #define HAVE_FGETXATTR 1
# | #define HAVE_FLISTXATTR 1
# | #define HAVE_FSETXATTR 1
# | #define HAVE_GETXATTR 1
# | #define HAVE_LGETXATTR 1
# | #define HAVE_LISTXATTR 1
# | #define HAVE_LLISTXATTR 1
# | #define HAVE_LSETXATTR 1
# | #define HAVE_DECL_EXTATTR_NAMESPACE_USER 0
# | /* 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)
# | {
# | 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->digest)
# | EVP_DigestFinal(ctx, md, 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)
# | {
# | 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)
# | {
# | EVP_DigestFinal(ctx, md, 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)
# | {
# | 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->digest)
# | EVP_DigestFinal(ctx, md, 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)
# | {
# | 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)
# | {
# | EVP_DigestFinal(ctx, md, 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)
# | {
# | 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)
# | {
# | EVP_DigestFinal(ctx, md, 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)
# | {
# | 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)
# | {
# | EVP_DigestFinal(ctx, md, 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:18234: result: no
# configure:18248: checking support for ARCHIVE_CRYPTO_SHA384_LIBC
# configure:18270: arm-linux-androideabi-gcc -o conftest -Wall -Wformat -Wformat-security -I. -I. -I./libarchive conftest.c -lz >&5
# In file included from conftest.c:214:0:
# ./libarchive/archive.h:101:24: fatal error: android_lf.h: No such file or directory
# #include "android_lf.h"
# ^
# compilation terminated.
# configure:18270: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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_TIME_H 1
# | #define HAVE_SYS_UTIME_H 1
# | #define HAVE_SYS_UTSNAME_H 1
# | #define HAVE_SYS_VFS_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_ZLIB_H 1
# | #define HAVE_LIBZ 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 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 HAVE_STRFTIME 1
# | #define HAVE_VPRINTF 1
# | #define HAVE_ARC4RANDOM_BUF 1
# | #define HAVE_CHOWN 1
# | #define HAVE_CHROOT 1
# | #define HAVE_CTIME_R 1
# | #define HAVE_DIRFD 1
# | #define HAVE_FCHDIR 1
# | #define HAVE_FCHMOD 1
# | #define HAVE_FCHOWN 1
# | #define HAVE_FCNTL 1
# | #define HAVE_FDOPENDIR 1
# | #define HAVE_FORK 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_GETEUID 1
# | #define HAVE_GETPID 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_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_OPENAT 1
# | #define HAVE_PIPE 1
# | #define HAVE_POLL 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_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_SYS_XATTR_H 1
# | #define HAVE_FGETXATTR 1
# | #define HAVE_FLISTXATTR 1
# | #define HAVE_FSETXATTR 1
# | #define HAVE_GETXATTR 1
# | #define HAVE_LGETXATTR 1
# | #define HAVE_LISTXATTR 1
# | #define HAVE_LLISTXATTR 1
# | #define HAVE_LSETXATTR 1
# | #define HAVE_DECL_EXTATTR_NAMESPACE_USER 0
# | /* 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)
# | {
# | 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->digest)
# | EVP_DigestFinal(ctx, md, 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)
# | {
# | 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)
# | {
# | EVP_DigestFinal(ctx, md, 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)
# | {
# | 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->digest)
# | EVP_DigestFinal(ctx, md, 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)
# | {
# | 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)
# | {
# | EVP_DigestFinal(ctx, md, 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)
# | {
# | 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)
# | {
# | EVP_DigestFinal(ctx, md, 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)
# | {
# | 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)
# | {
# | EVP_DigestFinal(ctx, md, 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:18280: result: no
# configure:18294: checking support for ARCHIVE_CRYPTO_SHA384_LIBC2
# configure:18316: arm-linux-androideabi-gcc -o conftest -Wall -Wformat -Wformat-security -I. -I. -I./libarchive conftest.c -lz >&5
# In file included from conftest.c:214:0:
# ./libarchive/archive.h:101:24: fatal error: android_lf.h: No such file or directory
# #include "android_lf.h"
# ^
# compilation terminated.
# configure:18316: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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_TIME_H 1
# | #define HAVE_SYS_UTIME_H 1
# | #define HAVE_SYS_UTSNAME_H 1
# | #define HAVE_SYS_VFS_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_ZLIB_H 1
# | #define HAVE_LIBZ 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 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 HAVE_STRFTIME 1
# | #define HAVE_VPRINTF 1
# | #define HAVE_ARC4RANDOM_BUF 1
# | #define HAVE_CHOWN 1
# | #define HAVE_CHROOT 1
# | #define HAVE_CTIME_R 1
# | #define HAVE_DIRFD 1
# | #define HAVE_FCHDIR 1
# | #define HAVE_FCHMOD 1
# | #define HAVE_FCHOWN 1
# | #define HAVE_FCNTL 1
# | #define HAVE_FDOPENDIR 1
# | #define HAVE_FORK 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_GETEUID 1
# | #define HAVE_GETPID 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_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_OPENAT 1
# | #define HAVE_PIPE 1
# | #define HAVE_POLL 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_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_SYS_XATTR_H 1
# | #define HAVE_FGETXATTR 1
# | #define HAVE_FLISTXATTR 1
# | #define HAVE_FSETXATTR 1
# | #define HAVE_GETXATTR 1
# | #define HAVE_LGETXATTR 1
# | #define HAVE_LISTXATTR 1
# | #define HAVE_LLISTXATTR 1
# | #define HAVE_LSETXATTR 1
# | #define HAVE_DECL_EXTATTR_NAMESPACE_USER 0
# | /* 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)
# | {
# | 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->digest)
# | EVP_DigestFinal(ctx, md, 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)
# | {
# | 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)
# | {
# | EVP_DigestFinal(ctx, md, 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)
# | {
# | 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->digest)
# | EVP_DigestFinal(ctx, md, 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)
# | {
# | 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)
# | {
# | EVP_DigestFinal(ctx, md, 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)
# | {
# | 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)
# | {
# | EVP_DigestFinal(ctx, md, 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)
# | {
# | 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)
# | {
# | EVP_DigestFinal(ctx, md, 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:18326: result: no
# configure:18340: checking support for ARCHIVE_CRYPTO_SHA384_LIBC3
# configure:18362: arm-linux-androideabi-gcc -o conftest -Wall -Wformat -Wformat-security -I. -I. -I./libarchive conftest.c -lz >&5
# In file included from conftest.c:214:0:
# ./libarchive/archive.h:101:24: fatal error: android_lf.h: No such file or directory
# #include "android_lf.h"
# ^
# compilation terminated.
# configure:18362: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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_TIME_H 1
# | #define HAVE_SYS_UTIME_H 1
# | #define HAVE_SYS_UTSNAME_H 1
# | #define HAVE_SYS_VFS_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_ZLIB_H 1
# | #define HAVE_LIBZ 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 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 HAVE_STRFTIME 1
# | #define HAVE_VPRINTF 1
# | #define HAVE_ARC4RANDOM_BUF 1
# | #define HAVE_CHOWN 1
# | #define HAVE_CHROOT 1
# | #define HAVE_CTIME_R 1
# | #define HAVE_DIRFD 1
# | #define HAVE_FCHDIR 1
# | #define HAVE_FCHMOD 1
# | #define HAVE_FCHOWN 1
# | #define HAVE_FCNTL 1
# | #define HAVE_FDOPENDIR 1
# | #define HAVE_FORK 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_GETEUID 1
# | #define HAVE_GETPID 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_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_OPENAT 1
# | #define HAVE_PIPE 1
# | #define HAVE_POLL 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_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_SYS_XATTR_H 1
# | #define HAVE_FGETXATTR 1
# | #define HAVE_FLISTXATTR 1
# | #define HAVE_FSETXATTR 1
# | #define HAVE_GETXATTR 1
# | #define HAVE_LGETXATTR 1
# | #define HAVE_LISTXATTR 1
# | #define HAVE_LLISTXATTR 1
# | #define HAVE_LSETXATTR 1
# | #define HAVE_DECL_EXTATTR_NAMESPACE_USER 0
# | /* 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)
# | {
# | 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->digest)
# | EVP_DigestFinal(ctx, md, 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)
# | {
# | 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)
# | {
# | EVP_DigestFinal(ctx, md, 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)
# | {
# | 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->digest)
# | EVP_DigestFinal(ctx, md, 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)
# | {
# | 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)
# | {
# | EVP_DigestFinal(ctx, md, 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)
# | {
# | 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)
# | {
# | EVP_DigestFinal(ctx, md, 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)
# | {
# | 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)
# | {
# | EVP_DigestFinal(ctx, md, 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:18372: result: no
# configure:18386: checking support for ARCHIVE_CRYPTO_SHA384_LIBSYSTEM
# configure:18408: arm-linux-androideabi-gcc -o conftest -Wall -Wformat -Wformat-security -I. -I. -I./libarchive conftest.c -lz >&5
# In file included from conftest.c:214:0:
# ./libarchive/archive.h:101:24: fatal error: android_lf.h: No such file or directory
# #include "android_lf.h"
# ^
# compilation terminated.
# configure:18408: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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_TIME_H 1
# | #define HAVE_SYS_UTIME_H 1
# | #define HAVE_SYS_UTSNAME_H 1
# | #define HAVE_SYS_VFS_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_ZLIB_H 1
# | #define HAVE_LIBZ 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 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 HAVE_STRFTIME 1
# | #define HAVE_VPRINTF 1
# | #define HAVE_ARC4RANDOM_BUF 1
# | #define HAVE_CHOWN 1
# | #define HAVE_CHROOT 1
# | #define HAVE_CTIME_R 1
# | #define HAVE_DIRFD 1
# | #define HAVE_FCHDIR 1
# | #define HAVE_FCHMOD 1
# | #define HAVE_FCHOWN 1
# | #define HAVE_FCNTL 1
# | #define HAVE_FDOPENDIR 1
# | #define HAVE_FORK 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_GETEUID 1
# | #define HAVE_GETPID 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_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_OPENAT 1
# | #define HAVE_PIPE 1
# | #define HAVE_POLL 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_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_SYS_XATTR_H 1
# | #define HAVE_FGETXATTR 1
# | #define HAVE_FLISTXATTR 1
# | #define HAVE_FSETXATTR 1
# | #define HAVE_GETXATTR 1
# | #define HAVE_LGETXATTR 1
# | #define HAVE_LISTXATTR 1
# | #define HAVE_LLISTXATTR 1
# | #define HAVE_LSETXATTR 1
# | #define HAVE_DECL_EXTATTR_NAMESPACE_USER 0
# | /* 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)
# | {
# | 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->digest)
# | EVP_DigestFinal(ctx, md, 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)
# | {
# | 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)
# | {
# | EVP_DigestFinal(ctx, md, 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)
# | {
# | 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->digest)
# | EVP_DigestFinal(ctx, md, 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)
# | {
# | 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)
# | {
# | EVP_DigestFinal(ctx, md, 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)
# | {
# | 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)
# | {
# | EVP_DigestFinal(ctx, md, 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)
# | {
# | 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)
# | {
# | EVP_DigestFinal(ctx, md, 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:18418: result: no
# configure:18432: checking support for ARCHIVE_CRYPTO_SHA512_LIBC
# configure:18454: arm-linux-androideabi-gcc -o conftest -Wall -Wformat -Wformat-security -I. -I. -I./libarchive conftest.c -lz >&5
# In file included from conftest.c:214:0:
# ./libarchive/archive.h:101:24: fatal error: android_lf.h: No such file or directory
# #include "android_lf.h"
# ^
# compilation terminated.
# configure:18454: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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_TIME_H 1
# | #define HAVE_SYS_UTIME_H 1
# | #define HAVE_SYS_UTSNAME_H 1
# | #define HAVE_SYS_VFS_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_ZLIB_H 1
# | #define HAVE_LIBZ 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 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 HAVE_STRFTIME 1
# | #define HAVE_VPRINTF 1
# | #define HAVE_ARC4RANDOM_BUF 1
# | #define HAVE_CHOWN 1
# | #define HAVE_CHROOT 1
# | #define HAVE_CTIME_R 1
# | #define HAVE_DIRFD 1
# | #define HAVE_FCHDIR 1
# | #define HAVE_FCHMOD 1
# | #define HAVE_FCHOWN 1
# | #define HAVE_FCNTL 1
# | #define HAVE_FDOPENDIR 1
# | #define HAVE_FORK 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_GETEUID 1
# | #define HAVE_GETPID 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_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_OPENAT 1
# | #define HAVE_PIPE 1
# | #define HAVE_POLL 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_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_SYS_XATTR_H 1
# | #define HAVE_FGETXATTR 1
# | #define HAVE_FLISTXATTR 1
# | #define HAVE_FSETXATTR 1
# | #define HAVE_GETXATTR 1
# | #define HAVE_LGETXATTR 1
# | #define HAVE_LISTXATTR 1
# | #define HAVE_LLISTXATTR 1
# | #define HAVE_LSETXATTR 1
# | #define HAVE_DECL_EXTATTR_NAMESPACE_USER 0
# | /* 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)
# | {
# | 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->digest)
# | EVP_DigestFinal(ctx, md, 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)
# | {
# | 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)
# | {
# | EVP_DigestFinal(ctx, md, 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)
# | {
# | 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->digest)
# | EVP_DigestFinal(ctx, md, 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)
# | {
# | 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)
# | {
# | EVP_DigestFinal(ctx, md, 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)
# | {
# | 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)
# | {
# | EVP_DigestFinal(ctx, md, 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)
# | {
# | 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)
# | {
# | EVP_DigestFinal(ctx, md, 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:18464: result: no
# configure:18478: checking support for ARCHIVE_CRYPTO_SHA512_LIBC2
# configure:18500: arm-linux-androideabi-gcc -o conftest -Wall -Wformat -Wformat-security -I. -I. -I./libarchive conftest.c -lz >&5
# In file included from conftest.c:214:0:
# ./libarchive/archive.h:101:24: fatal error: android_lf.h: No such file or directory
# #include "android_lf.h"
# ^
# compilation terminated.
# configure:18500: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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_TIME_H 1
# | #define HAVE_SYS_UTIME_H 1
# | #define HAVE_SYS_UTSNAME_H 1
# | #define HAVE_SYS_VFS_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_ZLIB_H 1
# | #define HAVE_LIBZ 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 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 HAVE_STRFTIME 1
# | #define HAVE_VPRINTF 1
# | #define HAVE_ARC4RANDOM_BUF 1
# | #define HAVE_CHOWN 1
# | #define HAVE_CHROOT 1
# | #define HAVE_CTIME_R 1
# | #define HAVE_DIRFD 1
# | #define HAVE_FCHDIR 1
# | #define HAVE_FCHMOD 1
# | #define HAVE_FCHOWN 1
# | #define HAVE_FCNTL 1
# | #define HAVE_FDOPENDIR 1
# | #define HAVE_FORK 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_GETEUID 1
# | #define HAVE_GETPID 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_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_OPENAT 1
# | #define HAVE_PIPE 1
# | #define HAVE_POLL 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_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_SYS_XATTR_H 1
# | #define HAVE_FGETXATTR 1
# | #define HAVE_FLISTXATTR 1
# | #define HAVE_FSETXATTR 1
# | #define HAVE_GETXATTR 1
# | #define HAVE_LGETXATTR 1
# | #define HAVE_LISTXATTR 1
# | #define HAVE_LLISTXATTR 1
# | #define HAVE_LSETXATTR 1
# | #define HAVE_DECL_EXTATTR_NAMESPACE_USER 0
# | /* 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)
# | {
# | 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->digest)
# | EVP_DigestFinal(ctx, md, 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)
# | {
# | 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)
# | {
# | EVP_DigestFinal(ctx, md, 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)
# | {
# | 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->digest)
# | EVP_DigestFinal(ctx, md, 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)
# | {
# | 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)
# | {
# | EVP_DigestFinal(ctx, md, 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)
# | {
# | 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)
# | {
# | EVP_DigestFinal(ctx, md, 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)
# | {
# | 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)
# | {
# | EVP_DigestFinal(ctx, md, 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:18510: result: no
# configure:18524: checking support for ARCHIVE_CRYPTO_SHA512_LIBC3
# configure:18546: arm-linux-androideabi-gcc -o conftest -Wall -Wformat -Wformat-security -I. -I. -I./libarchive conftest.c -lz >&5
# In file included from conftest.c:214:0:
# ./libarchive/archive.h:101:24: fatal error: android_lf.h: No such file or directory
# #include "android_lf.h"
# ^
# compilation terminated.
# configure:18546: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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_TIME_H 1
# | #define HAVE_SYS_UTIME_H 1
# | #define HAVE_SYS_UTSNAME_H 1
# | #define HAVE_SYS_VFS_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_ZLIB_H 1
# | #define HAVE_LIBZ 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 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 HAVE_STRFTIME 1
# | #define HAVE_VPRINTF 1
# | #define HAVE_ARC4RANDOM_BUF 1
# | #define HAVE_CHOWN 1
# | #define HAVE_CHROOT 1
# | #define HAVE_CTIME_R 1
# | #define HAVE_DIRFD 1
# | #define HAVE_FCHDIR 1
# | #define HAVE_FCHMOD 1
# | #define HAVE_FCHOWN 1
# | #define HAVE_FCNTL 1
# | #define HAVE_FDOPENDIR 1
# | #define HAVE_FORK 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_GETEUID 1
# | #define HAVE_GETPID 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_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_OPENAT 1
# | #define HAVE_PIPE 1
# | #define HAVE_POLL 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_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_SYS_XATTR_H 1
# | #define HAVE_FGETXATTR 1
# | #define HAVE_FLISTXATTR 1
# | #define HAVE_FSETXATTR 1
# | #define HAVE_GETXATTR 1
# | #define HAVE_LGETXATTR 1
# | #define HAVE_LISTXATTR 1
# | #define HAVE_LLISTXATTR 1
# | #define HAVE_LSETXATTR 1
# | #define HAVE_DECL_EXTATTR_NAMESPACE_USER 0
# | /* 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)
# | {
# | 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->digest)
# | EVP_DigestFinal(ctx, md, 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)
# | {
# | 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)
# | {
# | EVP_DigestFinal(ctx, md, 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)
# | {
# | 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->digest)
# | EVP_DigestFinal(ctx, md, 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)
# | {
# | 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)
# | {
# | EVP_DigestFinal(ctx, md, 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)
# | {
# | 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)
# | {
# | EVP_DigestFinal(ctx, md, 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)
# | {
# | 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)
# | {
# | EVP_DigestFinal(ctx, md, 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:18556: result: no
# configure:18570: checking support for ARCHIVE_CRYPTO_SHA512_LIBSYSTEM
# configure:18592: arm-linux-androideabi-gcc -o conftest -Wall -Wformat -Wformat-security -I. -I. -I./libarchive conftest.c -lz >&5
# In file included from conftest.c:214:0:
# ./libarchive/archive.h:101:24: fatal error: android_lf.h: No such file or directory
# #include "android_lf.h"
# ^
# compilation terminated.
# configure:18592: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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_TIME_H 1
# | #define HAVE_SYS_UTIME_H 1
# | #define HAVE_SYS_UTSNAME_H 1
# | #define HAVE_SYS_VFS_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_ZLIB_H 1
# | #define HAVE_LIBZ 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 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 HAVE_STRFTIME 1
# | #define HAVE_VPRINTF 1
# | #define HAVE_ARC4RANDOM_BUF 1
# | #define HAVE_CHOWN 1
# | #define HAVE_CHROOT 1
# | #define HAVE_CTIME_R 1
# | #define HAVE_DIRFD 1
# | #define HAVE_FCHDIR 1
# | #define HAVE_FCHMOD 1
# | #define HAVE_FCHOWN 1
# | #define HAVE_FCNTL 1
# | #define HAVE_FDOPENDIR 1
# | #define HAVE_FORK 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_GETEUID 1
# | #define HAVE_GETPID 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_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_OPENAT 1
# | #define HAVE_PIPE 1
# | #define HAVE_POLL 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_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_SYS_XATTR_H 1
# | #define HAVE_FGETXATTR 1
# | #define HAVE_FLISTXATTR 1
# | #define HAVE_FSETXATTR 1
# | #define HAVE_GETXATTR 1
# | #define HAVE_LGETXATTR 1
# | #define HAVE_LISTXATTR 1
# | #define HAVE_LLISTXATTR 1
# | #define HAVE_LSETXATTR 1
# | #define HAVE_DECL_EXTATTR_NAMESPACE_USER 0
# | /* 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)
# | {
# | 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->digest)
# | EVP_DigestFinal(ctx, md, 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)
# | {
# | 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)
# | {
# | EVP_DigestFinal(ctx, md, 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)
# | {
# | 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->digest)
# | EVP_DigestFinal(ctx, md, 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)
# | {
# | 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)
# | {
# | EVP_DigestFinal(ctx, md, 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)
# | {
# | 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)
# | {
# | EVP_DigestFinal(ctx, md, 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)
# | {
# | 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)
# | {
# | EVP_DigestFinal(ctx, md, 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:18602: result: no
# configure:18971: checking openssl/evp.h usability
# configure:18971: arm-linux-androideabi-gcc -c -Wall -Wformat -Wformat-security conftest.c >&5
# conftest.c:213:25: fatal error: openssl/evp.h: No such file or directory
# #include
# ^
# compilation terminated.
# configure:18971: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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_TIME_H 1
# | #define HAVE_SYS_UTIME_H 1
# | #define HAVE_SYS_UTSNAME_H 1
# | #define HAVE_SYS_VFS_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_ZLIB_H 1
# | #define HAVE_LIBZ 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 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 HAVE_STRFTIME 1
# | #define HAVE_VPRINTF 1
# | #define HAVE_ARC4RANDOM_BUF 1
# | #define HAVE_CHOWN 1
# | #define HAVE_CHROOT 1
# | #define HAVE_CTIME_R 1
# | #define HAVE_DIRFD 1
# | #define HAVE_FCHDIR 1
# | #define HAVE_FCHMOD 1
# | #define HAVE_FCHOWN 1
# | #define HAVE_FCNTL 1
# | #define HAVE_FDOPENDIR 1
# | #define HAVE_FORK 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_GETEUID 1
# | #define HAVE_GETPID 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_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_OPENAT 1
# | #define HAVE_PIPE 1
# | #define HAVE_POLL 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_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_SYS_XATTR_H 1
# | #define HAVE_FGETXATTR 1
# | #define HAVE_FLISTXATTR 1
# | #define HAVE_FSETXATTR 1
# | #define HAVE_GETXATTR 1
# | #define HAVE_LGETXATTR 1
# | #define HAVE_LISTXATTR 1
# | #define HAVE_LLISTXATTR 1
# | #define HAVE_LSETXATTR 1
# | #define HAVE_DECL_EXTATTR_NAMESPACE_USER 0
# | /* 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:18971: result: no
# configure:18971: checking openssl/evp.h presence
# configure:18971: arm-linux-androideabi-gcc -E conftest.c
# conftest.c:180:25: fatal error: openssl/evp.h: No such file or directory
# #include
# ^
# compilation terminated.
# configure:18971: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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_TIME_H 1
# | #define HAVE_SYS_UTIME_H 1
# | #define HAVE_SYS_UTSNAME_H 1
# | #define HAVE_SYS_VFS_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_ZLIB_H 1
# | #define HAVE_LIBZ 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 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 HAVE_STRFTIME 1
# | #define HAVE_VPRINTF 1
# | #define HAVE_ARC4RANDOM_BUF 1
# | #define HAVE_CHOWN 1
# | #define HAVE_CHROOT 1
# | #define HAVE_CTIME_R 1
# | #define HAVE_DIRFD 1
# | #define HAVE_FCHDIR 1
# | #define HAVE_FCHMOD 1
# | #define HAVE_FCHOWN 1
# | #define HAVE_FCNTL 1
# | #define HAVE_FDOPENDIR 1
# | #define HAVE_FORK 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_GETEUID 1
# | #define HAVE_GETPID 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_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_OPENAT 1
# | #define HAVE_PIPE 1
# | #define HAVE_POLL 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_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_SYS_XATTR_H 1
# | #define HAVE_FGETXATTR 1
# | #define HAVE_FLISTXATTR 1
# | #define HAVE_FSETXATTR 1
# | #define HAVE_GETXATTR 1
# | #define HAVE_LGETXATTR 1
# | #define HAVE_LISTXATTR 1
# | #define HAVE_LLISTXATTR 1
# | #define HAVE_LSETXATTR 1
# | #define HAVE_DECL_EXTATTR_NAMESPACE_USER 0
# | /* end confdefs.h. */
# | #include
# configure:18971: result: no
# configure:18971: checking for openssl/evp.h
# configure:18971: result: no
# configure:19129: checking for OPENSSL_config in -lcrypto
# configure:19154: arm-linux-androideabi-gcc -o conftest -Wall -Wformat -Wformat-security conftest.c -lcrypto -lz >&5
# /sysroot/bin/../lib/gcc/arm-linux-androideabi/4.8/../../../../arm-linux-androideabi/bin/ld: error: cannot find -lcrypto
# /tmp/ccYGjhLL.o:conftest.c:function main: error: undefined reference to 'OPENSSL_config'
# collect2: error: ld returned 1 exit status
# configure:19154: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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_TIME_H 1
# | #define HAVE_SYS_UTIME_H 1
# | #define HAVE_SYS_UTSNAME_H 1
# | #define HAVE_SYS_VFS_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_ZLIB_H 1
# | #define HAVE_LIBZ 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 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 HAVE_STRFTIME 1
# | #define HAVE_VPRINTF 1
# | #define HAVE_ARC4RANDOM_BUF 1
# | #define HAVE_CHOWN 1
# | #define HAVE_CHROOT 1
# | #define HAVE_CTIME_R 1
# | #define HAVE_DIRFD 1
# | #define HAVE_FCHDIR 1
# | #define HAVE_FCHMOD 1
# | #define HAVE_FCHOWN 1
# | #define HAVE_FCNTL 1
# | #define HAVE_FDOPENDIR 1
# | #define HAVE_FORK 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_GETEUID 1
# | #define HAVE_GETPID 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_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_OPENAT 1
# | #define HAVE_PIPE 1
# | #define HAVE_POLL 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_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_SYS_XATTR_H 1
# | #define HAVE_FGETXATTR 1
# | #define HAVE_FLISTXATTR 1
# | #define HAVE_FSETXATTR 1
# | #define HAVE_GETXATTR 1
# | #define HAVE_LGETXATTR 1
# | #define HAVE_LISTXATTR 1
# | #define HAVE_LLISTXATTR 1
# | #define HAVE_LSETXATTR 1
# | #define HAVE_DECL_EXTATTR_NAMESPACE_USER 0
# | /* 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 OPENSSL_config ();
# | int
# | main ()
# | {
# | return OPENSSL_config ();
# | ;
# | return 0;
# | }
# configure:19163: result: no
# configure:19181: checking support for ARCHIVE_CRYPTO_MD5_OPENSSL
# configure:19203: arm-linux-androideabi-gcc -o conftest -Wall -Wformat -Wformat-security -I. -I. -I./libarchive conftest.c -lz >&5
# In file included from conftest.c:214:0:
# ./libarchive/archive.h:101:24: fatal error: android_lf.h: No such file or directory
# #include "android_lf.h"
# ^
# compilation terminated.
# configure:19203: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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_TIME_H 1
# | #define HAVE_SYS_UTIME_H 1
# | #define HAVE_SYS_UTSNAME_H 1
# | #define HAVE_SYS_VFS_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_ZLIB_H 1
# | #define HAVE_LIBZ 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 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 HAVE_STRFTIME 1
# | #define HAVE_VPRINTF 1
# | #define HAVE_ARC4RANDOM_BUF 1
# | #define HAVE_CHOWN 1
# | #define HAVE_CHROOT 1
# | #define HAVE_CTIME_R 1
# | #define HAVE_DIRFD 1
# | #define HAVE_FCHDIR 1
# | #define HAVE_FCHMOD 1
# | #define HAVE_FCHOWN 1
# | #define HAVE_FCNTL 1
# | #define HAVE_FDOPENDIR 1
# | #define HAVE_FORK 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_GETEUID 1
# | #define HAVE_GETPID 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_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_OPENAT 1
# | #define HAVE_PIPE 1
# | #define HAVE_POLL 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_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_SYS_XATTR_H 1
# | #define HAVE_FGETXATTR 1
# | #define HAVE_FLISTXATTR 1
# | #define HAVE_FSETXATTR 1
# | #define HAVE_GETXATTR 1
# | #define HAVE_LGETXATTR 1
# | #define HAVE_LISTXATTR 1
# | #define HAVE_LLISTXATTR 1
# | #define HAVE_LSETXATTR 1
# | #define HAVE_DECL_EXTATTR_NAMESPACE_USER 0
# | /* end confdefs.h. */
# |
# | #define ARCHIVE_MD5_COMPILE_TEST
# | #define ARCHIVE_CRYPTO_MD5_OPENSSL
# | #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)
# | {
# | 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->digest)
# | EVP_DigestFinal(ctx, md, 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)
# | {
# | 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)
# | {
# | EVP_DigestFinal(ctx, md, 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)
# | {
# | 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->digest)
# | EVP_DigestFinal(ctx, md, 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)
# | {
# | 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)
# | {
# | EVP_DigestFinal(ctx, md, 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)
# | {
# | 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)
# | {
# | EVP_DigestFinal(ctx, md, 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)
# | {
# | 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)
# | {
# | EVP_DigestFinal(ctx, md, 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:19213: result: no
# configure:19227: checking support for ARCHIVE_CRYPTO_RMD160_OPENSSL
# configure:19249: arm-linux-androideabi-gcc -o conftest -Wall -Wformat -Wformat-security -I. -I. -I./libarchive conftest.c -lz >&5
# In file included from conftest.c:214:0:
# ./libarchive/archive.h:101:24: fatal error: android_lf.h: No such file or directory
# #include "android_lf.h"
# ^
# compilation terminated.
# configure:19249: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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_TIME_H 1
# | #define HAVE_SYS_UTIME_H 1
# | #define HAVE_SYS_UTSNAME_H 1
# | #define HAVE_SYS_VFS_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_ZLIB_H 1
# | #define HAVE_LIBZ 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 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 HAVE_STRFTIME 1
# | #define HAVE_VPRINTF 1
# | #define HAVE_ARC4RANDOM_BUF 1
# | #define HAVE_CHOWN 1
# | #define HAVE_CHROOT 1
# | #define HAVE_CTIME_R 1
# | #define HAVE_DIRFD 1
# | #define HAVE_FCHDIR 1
# | #define HAVE_FCHMOD 1
# | #define HAVE_FCHOWN 1
# | #define HAVE_FCNTL 1
# | #define HAVE_FDOPENDIR 1
# | #define HAVE_FORK 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_GETEUID 1
# | #define HAVE_GETPID 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_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_OPENAT 1
# | #define HAVE_PIPE 1
# | #define HAVE_POLL 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_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_SYS_XATTR_H 1
# | #define HAVE_FGETXATTR 1
# | #define HAVE_FLISTXATTR 1
# | #define HAVE_FSETXATTR 1
# | #define HAVE_GETXATTR 1
# | #define HAVE_LGETXATTR 1
# | #define HAVE_LISTXATTR 1
# | #define HAVE_LLISTXATTR 1
# | #define HAVE_LSETXATTR 1
# | #define HAVE_DECL_EXTATTR_NAMESPACE_USER 0
# | /* end confdefs.h. */
# |
# | #define ARCHIVE_RMD160_COMPILE_TEST
# | #define ARCHIVE_CRYPTO_RMD160_OPENSSL
# | #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)
# | {
# | 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->digest)
# | EVP_DigestFinal(ctx, md, 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)
# | {
# | 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)
# | {
# | EVP_DigestFinal(ctx, md, 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)
# | {
# | 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->digest)
# | EVP_DigestFinal(ctx, md, 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)
# | {
# | 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)
# | {
# | EVP_DigestFinal(ctx, md, 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)
# | {
# | 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)
# | {
# | EVP_DigestFinal(ctx, md, 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)
# | {
# | 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)
# | {
# | EVP_DigestFinal(ctx, md, 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:19259: result: no
# configure:19273: checking support for ARCHIVE_CRYPTO_SHA1_OPENSSL
# configure:19295: arm-linux-androideabi-gcc -o conftest -Wall -Wformat -Wformat-security -I. -I. -I./libarchive conftest.c -lz >&5
# In file included from conftest.c:214:0:
# ./libarchive/archive.h:101:24: fatal error: android_lf.h: No such file or directory
# #include "android_lf.h"
# ^
# compilation terminated.
# configure:19295: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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_TIME_H 1
# | #define HAVE_SYS_UTIME_H 1
# | #define HAVE_SYS_UTSNAME_H 1
# | #define HAVE_SYS_VFS_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_ZLIB_H 1
# | #define HAVE_LIBZ 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 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 HAVE_STRFTIME 1
# | #define HAVE_VPRINTF 1
# | #define HAVE_ARC4RANDOM_BUF 1
# | #define HAVE_CHOWN 1
# | #define HAVE_CHROOT 1
# | #define HAVE_CTIME_R 1
# | #define HAVE_DIRFD 1
# | #define HAVE_FCHDIR 1
# | #define HAVE_FCHMOD 1
# | #define HAVE_FCHOWN 1
# | #define HAVE_FCNTL 1
# | #define HAVE_FDOPENDIR 1
# | #define HAVE_FORK 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_GETEUID 1
# | #define HAVE_GETPID 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_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_OPENAT 1
# | #define HAVE_PIPE 1
# | #define HAVE_POLL 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_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_SYS_XATTR_H 1
# | #define HAVE_FGETXATTR 1
# | #define HAVE_FLISTXATTR 1
# | #define HAVE_FSETXATTR 1
# | #define HAVE_GETXATTR 1
# | #define HAVE_LGETXATTR 1
# | #define HAVE_LISTXATTR 1
# | #define HAVE_LLISTXATTR 1
# | #define HAVE_LSETXATTR 1
# | #define HAVE_DECL_EXTATTR_NAMESPACE_USER 0
# | /* end confdefs.h. */
# |
# | #define ARCHIVE_SHA1_COMPILE_TEST
# | #define ARCHIVE_CRYPTO_SHA1_OPENSSL
# | #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)
# | {
# | 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->digest)
# | EVP_DigestFinal(ctx, md, 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)
# | {
# | 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)
# | {
# | EVP_DigestFinal(ctx, md, 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)
# | {
# | 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->digest)
# | EVP_DigestFinal(ctx, md, 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)
# | {
# | 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)
# | {
# | EVP_DigestFinal(ctx, md, 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)
# | {
# | 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)
# | {
# | EVP_DigestFinal(ctx, md, 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)
# | {
# | 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)
# | {
# | EVP_DigestFinal(ctx, md, 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:19305: result: no
# configure:19319: checking support for ARCHIVE_CRYPTO_SHA256_OPENSSL
# configure:19341: arm-linux-androideabi-gcc -o conftest -Wall -Wformat -Wformat-security -I. -I. -I./libarchive conftest.c -lz >&5
# In file included from conftest.c:214:0:
# ./libarchive/archive.h:101:24: fatal error: android_lf.h: No such file or directory
# #include "android_lf.h"
# ^
# compilation terminated.
# configure:19341: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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_TIME_H 1
# | #define HAVE_SYS_UTIME_H 1
# | #define HAVE_SYS_UTSNAME_H 1
# | #define HAVE_SYS_VFS_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_ZLIB_H 1
# | #define HAVE_LIBZ 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 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 HAVE_STRFTIME 1
# | #define HAVE_VPRINTF 1
# | #define HAVE_ARC4RANDOM_BUF 1
# | #define HAVE_CHOWN 1
# | #define HAVE_CHROOT 1
# | #define HAVE_CTIME_R 1
# | #define HAVE_DIRFD 1
# | #define HAVE_FCHDIR 1
# | #define HAVE_FCHMOD 1
# | #define HAVE_FCHOWN 1
# | #define HAVE_FCNTL 1
# | #define HAVE_FDOPENDIR 1
# | #define HAVE_FORK 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_GETEUID 1
# | #define HAVE_GETPID 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_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_OPENAT 1
# | #define HAVE_PIPE 1
# | #define HAVE_POLL 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_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_SYS_XATTR_H 1
# | #define HAVE_FGETXATTR 1
# | #define HAVE_FLISTXATTR 1
# | #define HAVE_FSETXATTR 1
# | #define HAVE_GETXATTR 1
# | #define HAVE_LGETXATTR 1
# | #define HAVE_LISTXATTR 1
# | #define HAVE_LLISTXATTR 1
# | #define HAVE_LSETXATTR 1
# | #define HAVE_DECL_EXTATTR_NAMESPACE_USER 0
# | /* end confdefs.h. */
# |
# | #define ARCHIVE_SHA256_COMPILE_TEST
# | #define ARCHIVE_CRYPTO_SHA256_OPENSSL
# | #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)
# | {
# | 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->digest)
# | EVP_DigestFinal(ctx, md, 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)
# | {
# | 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)
# | {
# | EVP_DigestFinal(ctx, md, 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)
# | {
# | 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->digest)
# | EVP_DigestFinal(ctx, md, 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)
# | {
# | 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)
# | {
# | EVP_DigestFinal(ctx, md, 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)
# | {
# | 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)
# | {
# | EVP_DigestFinal(ctx, md, 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)
# | {
# | 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)
# | {
# | EVP_DigestFinal(ctx, md, 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:19351: result: no
# configure:19365: checking support for ARCHIVE_CRYPTO_SHA384_OPENSSL
# configure:19387: arm-linux-androideabi-gcc -o conftest -Wall -Wformat -Wformat-security -I. -I. -I./libarchive conftest.c -lz >&5
# In file included from conftest.c:214:0:
# ./libarchive/archive.h:101:24: fatal error: android_lf.h: No such file or directory
# #include "android_lf.h"
# ^
# compilation terminated.
# configure:19387: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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_TIME_H 1
# | #define HAVE_SYS_UTIME_H 1
# | #define HAVE_SYS_UTSNAME_H 1
# | #define HAVE_SYS_VFS_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_ZLIB_H 1
# | #define HAVE_LIBZ 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 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 HAVE_STRFTIME 1
# | #define HAVE_VPRINTF 1
# | #define HAVE_ARC4RANDOM_BUF 1
# | #define HAVE_CHOWN 1
# | #define HAVE_CHROOT 1
# | #define HAVE_CTIME_R 1
# | #define HAVE_DIRFD 1
# | #define HAVE_FCHDIR 1
# | #define HAVE_FCHMOD 1
# | #define HAVE_FCHOWN 1
# | #define HAVE_FCNTL 1
# | #define HAVE_FDOPENDIR 1
# | #define HAVE_FORK 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_GETEUID 1
# | #define HAVE_GETPID 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_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_OPENAT 1
# | #define HAVE_PIPE 1
# | #define HAVE_POLL 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_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_SYS_XATTR_H 1
# | #define HAVE_FGETXATTR 1
# | #define HAVE_FLISTXATTR 1
# | #define HAVE_FSETXATTR 1
# | #define HAVE_GETXATTR 1
# | #define HAVE_LGETXATTR 1
# | #define HAVE_LISTXATTR 1
# | #define HAVE_LLISTXATTR 1
# | #define HAVE_LSETXATTR 1
# | #define HAVE_DECL_EXTATTR_NAMESPACE_USER 0
# | /* end confdefs.h. */
# |
# | #define ARCHIVE_SHA384_COMPILE_TEST
# | #define ARCHIVE_CRYPTO_SHA384_OPENSSL
# | #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)
# | {
# | 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->digest)
# | EVP_DigestFinal(ctx, md, 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)
# | {
# | 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)
# | {
# | EVP_DigestFinal(ctx, md, 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)
# | {
# | 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->digest)
# | EVP_DigestFinal(ctx, md, 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)
# | {
# | 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)
# | {
# | EVP_DigestFinal(ctx, md, 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)
# | {
# | 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)
# | {
# | EVP_DigestFinal(ctx, md, 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)
# | {
# | 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)
# | {
# | EVP_DigestFinal(ctx, md, 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:19397: result: no
# configure:19411: checking support for ARCHIVE_CRYPTO_SHA512_OPENSSL
# configure:19433: arm-linux-androideabi-gcc -o conftest -Wall -Wformat -Wformat-security -I. -I. -I./libarchive conftest.c -lz >&5
# In file included from conftest.c:214:0:
# ./libarchive/archive.h:101:24: fatal error: android_lf.h: No such file or directory
# #include "android_lf.h"
# ^
# compilation terminated.
# configure:19433: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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_TIME_H 1
# | #define HAVE_SYS_UTIME_H 1
# | #define HAVE_SYS_UTSNAME_H 1
# | #define HAVE_SYS_VFS_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_ZLIB_H 1
# | #define HAVE_LIBZ 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 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 HAVE_STRFTIME 1
# | #define HAVE_VPRINTF 1
# | #define HAVE_ARC4RANDOM_BUF 1
# | #define HAVE_CHOWN 1
# | #define HAVE_CHROOT 1
# | #define HAVE_CTIME_R 1
# | #define HAVE_DIRFD 1
# | #define HAVE_FCHDIR 1
# | #define HAVE_FCHMOD 1
# | #define HAVE_FCHOWN 1
# | #define HAVE_FCNTL 1
# | #define HAVE_FDOPENDIR 1
# | #define HAVE_FORK 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_GETEUID 1
# | #define HAVE_GETPID 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_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_OPENAT 1
# | #define HAVE_PIPE 1
# | #define HAVE_POLL 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_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_SYS_XATTR_H 1
# | #define HAVE_FGETXATTR 1
# | #define HAVE_FLISTXATTR 1
# | #define HAVE_FSETXATTR 1
# | #define HAVE_GETXATTR 1
# | #define HAVE_LGETXATTR 1
# | #define HAVE_LISTXATTR 1
# | #define HAVE_LLISTXATTR 1
# | #define HAVE_LSETXATTR 1
# | #define HAVE_DECL_EXTATTR_NAMESPACE_USER 0
# | /* end confdefs.h. */
# |
# | #define ARCHIVE_SHA512_COMPILE_TEST
# | #define ARCHIVE_CRYPTO_SHA512_OPENSSL
# | #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)
# | {
# | 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->digest)
# | EVP_DigestFinal(ctx, md, 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)
# | {
# | 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)
# | {
# | EVP_DigestFinal(ctx, md, 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)
# | {
# | 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->digest)
# | EVP_DigestFinal(ctx, md, 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)
# | {
# | 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)
# | {
# | EVP_DigestFinal(ctx, md, 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)
# | {
# | 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)
# | {
# | EVP_DigestFinal(ctx, md, 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)
# | {
# | 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)
# | {
# | EVP_DigestFinal(ctx, md, 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:19443: result: no
# configure:19474: checking md5.h usability
# configure:19474: arm-linux-androideabi-gcc -c -Wall -Wformat -Wformat-security conftest.c >&5
# conftest.c:213:17: fatal error: md5.h: No such file or directory
# #include
# ^
# compilation terminated.
# configure:19474: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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_TIME_H 1
# | #define HAVE_SYS_UTIME_H 1
# | #define HAVE_SYS_UTSNAME_H 1
# | #define HAVE_SYS_VFS_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_ZLIB_H 1
# | #define HAVE_LIBZ 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 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 HAVE_STRFTIME 1
# | #define HAVE_VPRINTF 1
# | #define HAVE_ARC4RANDOM_BUF 1
# | #define HAVE_CHOWN 1
# | #define HAVE_CHROOT 1
# | #define HAVE_CTIME_R 1
# | #define HAVE_DIRFD 1
# | #define HAVE_FCHDIR 1
# | #define HAVE_FCHMOD 1
# | #define HAVE_FCHOWN 1
# | #define HAVE_FCNTL 1
# | #define HAVE_FDOPENDIR 1
# | #define HAVE_FORK 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_GETEUID 1
# | #define HAVE_GETPID 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_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_OPENAT 1
# | #define HAVE_PIPE 1
# | #define HAVE_POLL 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_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_SYS_XATTR_H 1
# | #define HAVE_FGETXATTR 1
# | #define HAVE_FLISTXATTR 1
# | #define HAVE_FSETXATTR 1
# | #define HAVE_GETXATTR 1
# | #define HAVE_LGETXATTR 1
# | #define HAVE_LISTXATTR 1
# | #define HAVE_LLISTXATTR 1
# | #define HAVE_LSETXATTR 1
# | #define HAVE_DECL_EXTATTR_NAMESPACE_USER 0
# | /* 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:19474: result: no
# configure:19474: checking md5.h presence
# configure:19474: arm-linux-androideabi-gcc -E conftest.c
# conftest.c:180:17: fatal error: md5.h: No such file or directory
# #include
# ^
# compilation terminated.
# configure:19474: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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_TIME_H 1
# | #define HAVE_SYS_UTIME_H 1
# | #define HAVE_SYS_UTSNAME_H 1
# | #define HAVE_SYS_VFS_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_ZLIB_H 1
# | #define HAVE_LIBZ 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 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 HAVE_STRFTIME 1
# | #define HAVE_VPRINTF 1
# | #define HAVE_ARC4RANDOM_BUF 1
# | #define HAVE_CHOWN 1
# | #define HAVE_CHROOT 1
# | #define HAVE_CTIME_R 1
# | #define HAVE_DIRFD 1
# | #define HAVE_FCHDIR 1
# | #define HAVE_FCHMOD 1
# | #define HAVE_FCHOWN 1
# | #define HAVE_FCNTL 1
# | #define HAVE_FDOPENDIR 1
# | #define HAVE_FORK 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_GETEUID 1
# | #define HAVE_GETPID 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_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_OPENAT 1
# | #define HAVE_PIPE 1
# | #define HAVE_POLL 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_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_SYS_XATTR_H 1
# | #define HAVE_FGETXATTR 1
# | #define HAVE_FLISTXATTR 1
# | #define HAVE_FSETXATTR 1
# | #define HAVE_GETXATTR 1
# | #define HAVE_LGETXATTR 1
# | #define HAVE_LISTXATTR 1
# | #define HAVE_LLISTXATTR 1
# | #define HAVE_LSETXATTR 1
# | #define HAVE_DECL_EXTATTR_NAMESPACE_USER 0
# | /* end confdefs.h. */
# | #include
# configure:19474: result: no
# configure:19474: checking for md5.h
# configure:19474: result: no
# configure:19474: checking ripemd.h usability
# configure:19474: arm-linux-androideabi-gcc -c -Wall -Wformat -Wformat-security conftest.c >&5
# conftest.c:213:20: fatal error: ripemd.h: No such file or directory
# #include
# ^
# compilation terminated.
# configure:19474: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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_TIME_H 1
# | #define HAVE_SYS_UTIME_H 1
# | #define HAVE_SYS_UTSNAME_H 1
# | #define HAVE_SYS_VFS_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_ZLIB_H 1
# | #define HAVE_LIBZ 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 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 HAVE_STRFTIME 1
# | #define HAVE_VPRINTF 1
# | #define HAVE_ARC4RANDOM_BUF 1
# | #define HAVE_CHOWN 1
# | #define HAVE_CHROOT 1
# | #define HAVE_CTIME_R 1
# | #define HAVE_DIRFD 1
# | #define HAVE_FCHDIR 1
# | #define HAVE_FCHMOD 1
# | #define HAVE_FCHOWN 1
# | #define HAVE_FCNTL 1
# | #define HAVE_FDOPENDIR 1
# | #define HAVE_FORK 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_GETEUID 1
# | #define HAVE_GETPID 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_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_OPENAT 1
# | #define HAVE_PIPE 1
# | #define HAVE_POLL 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_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_SYS_XATTR_H 1
# | #define HAVE_FGETXATTR 1
# | #define HAVE_FLISTXATTR 1
# | #define HAVE_FSETXATTR 1
# | #define HAVE_GETXATTR 1
# | #define HAVE_LGETXATTR 1
# | #define HAVE_LISTXATTR 1
# | #define HAVE_LLISTXATTR 1
# | #define HAVE_LSETXATTR 1
# | #define HAVE_DECL_EXTATTR_NAMESPACE_USER 0
# | /* 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:19474: result: no
# configure:19474: checking ripemd.h presence
# configure:19474: arm-linux-androideabi-gcc -E conftest.c
# conftest.c:180:20: fatal error: ripemd.h: No such file or directory
# #include
# ^
# compilation terminated.
# configure:19474: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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_TIME_H 1
# | #define HAVE_SYS_UTIME_H 1
# | #define HAVE_SYS_UTSNAME_H 1
# | #define HAVE_SYS_VFS_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_ZLIB_H 1
# | #define HAVE_LIBZ 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 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 HAVE_STRFTIME 1
# | #define HAVE_VPRINTF 1
# | #define HAVE_ARC4RANDOM_BUF 1
# | #define HAVE_CHOWN 1
# | #define HAVE_CHROOT 1
# | #define HAVE_CTIME_R 1
# | #define HAVE_DIRFD 1
# | #define HAVE_FCHDIR 1
# | #define HAVE_FCHMOD 1
# | #define HAVE_FCHOWN 1
# | #define HAVE_FCNTL 1
# | #define HAVE_FDOPENDIR 1
# | #define HAVE_FORK 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_GETEUID 1
# | #define HAVE_GETPID 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_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_OPENAT 1
# | #define HAVE_PIPE 1
# | #define HAVE_POLL 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_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_SYS_XATTR_H 1
# | #define HAVE_FGETXATTR 1
# | #define HAVE_FLISTXATTR 1
# | #define HAVE_FSETXATTR 1
# | #define HAVE_GETXATTR 1
# | #define HAVE_LGETXATTR 1
# | #define HAVE_LISTXATTR 1
# | #define HAVE_LLISTXATTR 1
# | #define HAVE_LSETXATTR 1
# | #define HAVE_DECL_EXTATTR_NAMESPACE_USER 0
# | /* end confdefs.h. */
# | #include
# configure:19474: result: no
# configure:19474: checking for ripemd.h
# configure:19474: result: no
# configure:19474: checking sha.h usability
# configure:19474: arm-linux-androideabi-gcc -c -Wall -Wformat -Wformat-security conftest.c >&5
# conftest.c:213:17: fatal error: sha.h: No such file or directory
# #include
# ^
# compilation terminated.
# configure:19474: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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_TIME_H 1
# | #define HAVE_SYS_UTIME_H 1
# | #define HAVE_SYS_UTSNAME_H 1
# | #define HAVE_SYS_VFS_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_ZLIB_H 1
# | #define HAVE_LIBZ 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 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 HAVE_STRFTIME 1
# | #define HAVE_VPRINTF 1
# | #define HAVE_ARC4RANDOM_BUF 1
# | #define HAVE_CHOWN 1
# | #define HAVE_CHROOT 1
# | #define HAVE_CTIME_R 1
# | #define HAVE_DIRFD 1
# | #define HAVE_FCHDIR 1
# | #define HAVE_FCHMOD 1
# | #define HAVE_FCHOWN 1
# | #define HAVE_FCNTL 1
# | #define HAVE_FDOPENDIR 1
# | #define HAVE_FORK 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_GETEUID 1
# | #define HAVE_GETPID 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_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_OPENAT 1
# | #define HAVE_PIPE 1
# | #define HAVE_POLL 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_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_SYS_XATTR_H 1
# | #define HAVE_FGETXATTR 1
# | #define HAVE_FLISTXATTR 1
# | #define HAVE_FSETXATTR 1
# | #define HAVE_GETXATTR 1
# | #define HAVE_LGETXATTR 1
# | #define HAVE_LISTXATTR 1
# | #define HAVE_LLISTXATTR 1
# | #define HAVE_LSETXATTR 1
# | #define HAVE_DECL_EXTATTR_NAMESPACE_USER 0
# | /* 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:19474: result: no
# configure:19474: checking sha.h presence
# configure:19474: arm-linux-androideabi-gcc -E conftest.c
# conftest.c:180:17: fatal error: sha.h: No such file or directory
# #include
# ^
# compilation terminated.
# configure:19474: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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_TIME_H 1
# | #define HAVE_SYS_UTIME_H 1
# | #define HAVE_SYS_UTSNAME_H 1
# | #define HAVE_SYS_VFS_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_ZLIB_H 1
# | #define HAVE_LIBZ 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 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 HAVE_STRFTIME 1
# | #define HAVE_VPRINTF 1
# | #define HAVE_ARC4RANDOM_BUF 1
# | #define HAVE_CHOWN 1
# | #define HAVE_CHROOT 1
# | #define HAVE_CTIME_R 1
# | #define HAVE_DIRFD 1
# | #define HAVE_FCHDIR 1
# | #define HAVE_FCHMOD 1
# | #define HAVE_FCHOWN 1
# | #define HAVE_FCNTL 1
# | #define HAVE_FDOPENDIR 1
# | #define HAVE_FORK 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_GETEUID 1
# | #define HAVE_GETPID 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_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_OPENAT 1
# | #define HAVE_PIPE 1
# | #define HAVE_POLL 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_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_SYS_XATTR_H 1
# | #define HAVE_FGETXATTR 1
# | #define HAVE_FLISTXATTR 1
# | #define HAVE_FSETXATTR 1
# | #define HAVE_GETXATTR 1
# | #define HAVE_LGETXATTR 1
# | #define HAVE_LISTXATTR 1
# | #define HAVE_LLISTXATTR 1
# | #define HAVE_LSETXATTR 1
# | #define HAVE_DECL_EXTATTR_NAMESPACE_USER 0
# | /* end confdefs.h. */
# | #include
# configure:19474: result: no
# configure:19474: checking for sha.h
# configure:19474: result: no
# configure:19474: checking sha256.h usability
# configure:19474: arm-linux-androideabi-gcc -c -Wall -Wformat -Wformat-security conftest.c >&5
# conftest.c:213:20: fatal error: sha256.h: No such file or directory
# #include
# ^
# compilation terminated.
# configure:19474: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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_TIME_H 1
# | #define HAVE_SYS_UTIME_H 1
# | #define HAVE_SYS_UTSNAME_H 1
# | #define HAVE_SYS_VFS_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_ZLIB_H 1
# | #define HAVE_LIBZ 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 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 HAVE_STRFTIME 1
# | #define HAVE_VPRINTF 1
# | #define HAVE_ARC4RANDOM_BUF 1
# | #define HAVE_CHOWN 1
# | #define HAVE_CHROOT 1
# | #define HAVE_CTIME_R 1
# | #define HAVE_DIRFD 1
# | #define HAVE_FCHDIR 1
# | #define HAVE_FCHMOD 1
# | #define HAVE_FCHOWN 1
# | #define HAVE_FCNTL 1
# | #define HAVE_FDOPENDIR 1
# | #define HAVE_FORK 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_GETEUID 1
# | #define HAVE_GETPID 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_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_OPENAT 1
# | #define HAVE_PIPE 1
# | #define HAVE_POLL 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_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_SYS_XATTR_H 1
# | #define HAVE_FGETXATTR 1
# | #define HAVE_FLISTXATTR 1
# | #define HAVE_FSETXATTR 1
# | #define HAVE_GETXATTR 1
# | #define HAVE_LGETXATTR 1
# | #define HAVE_LISTXATTR 1
# | #define HAVE_LLISTXATTR 1
# | #define HAVE_LSETXATTR 1
# | #define HAVE_DECL_EXTATTR_NAMESPACE_USER 0
# | /* 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:19474: result: no
# configure:19474: checking sha256.h presence
# configure:19474: arm-linux-androideabi-gcc -E conftest.c
# conftest.c:180:20: fatal error: sha256.h: No such file or directory
# #include
# ^
# compilation terminated.
# configure:19474: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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_TIME_H 1
# | #define HAVE_SYS_UTIME_H 1
# | #define HAVE_SYS_UTSNAME_H 1
# | #define HAVE_SYS_VFS_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_ZLIB_H 1
# | #define HAVE_LIBZ 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 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 HAVE_STRFTIME 1
# | #define HAVE_VPRINTF 1
# | #define HAVE_ARC4RANDOM_BUF 1
# | #define HAVE_CHOWN 1
# | #define HAVE_CHROOT 1
# | #define HAVE_CTIME_R 1
# | #define HAVE_DIRFD 1
# | #define HAVE_FCHDIR 1
# | #define HAVE_FCHMOD 1
# | #define HAVE_FCHOWN 1
# | #define HAVE_FCNTL 1
# | #define HAVE_FDOPENDIR 1
# | #define HAVE_FORK 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_GETEUID 1
# | #define HAVE_GETPID 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_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_OPENAT 1
# | #define HAVE_PIPE 1
# | #define HAVE_POLL 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_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_SYS_XATTR_H 1
# | #define HAVE_FGETXATTR 1
# | #define HAVE_FLISTXATTR 1
# | #define HAVE_FSETXATTR 1
# | #define HAVE_GETXATTR 1
# | #define HAVE_LGETXATTR 1
# | #define HAVE_LISTXATTR 1
# | #define HAVE_LLISTXATTR 1
# | #define HAVE_LSETXATTR 1
# | #define HAVE_DECL_EXTATTR_NAMESPACE_USER 0
# | /* end confdefs.h. */
# | #include
# configure:19474: result: no
# configure:19474: checking for sha256.h
# configure:19474: result: no
# configure:19474: checking sha512.h usability
# configure:19474: arm-linux-androideabi-gcc -c -Wall -Wformat -Wformat-security conftest.c >&5
# conftest.c:213:20: fatal error: sha512.h: No such file or directory
# #include
# ^
# compilation terminated.
# configure:19474: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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_TIME_H 1
# | #define HAVE_SYS_UTIME_H 1
# | #define HAVE_SYS_UTSNAME_H 1
# | #define HAVE_SYS_VFS_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_ZLIB_H 1
# | #define HAVE_LIBZ 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 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 HAVE_STRFTIME 1
# | #define HAVE_VPRINTF 1
# | #define HAVE_ARC4RANDOM_BUF 1
# | #define HAVE_CHOWN 1
# | #define HAVE_CHROOT 1
# | #define HAVE_CTIME_R 1
# | #define HAVE_DIRFD 1
# | #define HAVE_FCHDIR 1
# | #define HAVE_FCHMOD 1
# | #define HAVE_FCHOWN 1
# | #define HAVE_FCNTL 1
# | #define HAVE_FDOPENDIR 1
# | #define HAVE_FORK 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_GETEUID 1
# | #define HAVE_GETPID 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_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_OPENAT 1
# | #define HAVE_PIPE 1
# | #define HAVE_POLL 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_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_SYS_XATTR_H 1
# | #define HAVE_FGETXATTR 1
# | #define HAVE_FLISTXATTR 1
# | #define HAVE_FSETXATTR 1
# | #define HAVE_GETXATTR 1
# | #define HAVE_LGETXATTR 1
# | #define HAVE_LISTXATTR 1
# | #define HAVE_LLISTXATTR 1
# | #define HAVE_LSETXATTR 1
# | #define HAVE_DECL_EXTATTR_NAMESPACE_USER 0
# | /* 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:19474: result: no
# configure:19474: checking sha512.h presence
# configure:19474: arm-linux-androideabi-gcc -E conftest.c
# conftest.c:180:20: fatal error: sha512.h: No such file or directory
# #include
# ^
# compilation terminated.
# configure:19474: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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_TIME_H 1
# | #define HAVE_SYS_UTIME_H 1
# | #define HAVE_SYS_UTSNAME_H 1
# | #define HAVE_SYS_VFS_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_ZLIB_H 1
# | #define HAVE_LIBZ 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 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 HAVE_STRFTIME 1
# | #define HAVE_VPRINTF 1
# | #define HAVE_ARC4RANDOM_BUF 1
# | #define HAVE_CHOWN 1
# | #define HAVE_CHROOT 1
# | #define HAVE_CTIME_R 1
# | #define HAVE_DIRFD 1
# | #define HAVE_FCHDIR 1
# | #define HAVE_FCHMOD 1
# | #define HAVE_FCHOWN 1
# | #define HAVE_FCNTL 1
# | #define HAVE_FDOPENDIR 1
# | #define HAVE_FORK 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_GETEUID 1
# | #define HAVE_GETPID 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_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_OPENAT 1
# | #define HAVE_PIPE 1
# | #define HAVE_POLL 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_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_SYS_XATTR_H 1
# | #define HAVE_FGETXATTR 1
# | #define HAVE_FLISTXATTR 1
# | #define HAVE_FSETXATTR 1
# | #define HAVE_GETXATTR 1
# | #define HAVE_LGETXATTR 1
# | #define HAVE_LISTXATTR 1
# | #define HAVE_LLISTXATTR 1
# | #define HAVE_LSETXATTR 1
# | #define HAVE_DECL_EXTATTR_NAMESPACE_USER 0
# | /* end confdefs.h. */
# | #include
# configure:19474: result: no
# configure:19474: checking for sha512.h
# configure:19474: result: no
# configure:19485: checking for MD5Init in -lmd
# configure:19510: arm-linux-androideabi-gcc -o conftest -Wall -Wformat -Wformat-security conftest.c -lmd -lz >&5
# /sysroot/bin/../lib/gcc/arm-linux-androideabi/4.8/../../../../arm-linux-androideabi/bin/ld: error: cannot find -lmd
# /tmp/ccsFw9kG.o:conftest.c:function main: error: undefined reference to 'MD5Init'
# collect2: error: ld returned 1 exit status
# configure:19510: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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_TIME_H 1
# | #define HAVE_SYS_UTIME_H 1
# | #define HAVE_SYS_UTSNAME_H 1
# | #define HAVE_SYS_VFS_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_ZLIB_H 1
# | #define HAVE_LIBZ 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 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 HAVE_STRFTIME 1
# | #define HAVE_VPRINTF 1
# | #define HAVE_ARC4RANDOM_BUF 1
# | #define HAVE_CHOWN 1
# | #define HAVE_CHROOT 1
# | #define HAVE_CTIME_R 1
# | #define HAVE_DIRFD 1
# | #define HAVE_FCHDIR 1
# | #define HAVE_FCHMOD 1
# | #define HAVE_FCHOWN 1
# | #define HAVE_FCNTL 1
# | #define HAVE_FDOPENDIR 1
# | #define HAVE_FORK 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_GETEUID 1
# | #define HAVE_GETPID 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_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_OPENAT 1
# | #define HAVE_PIPE 1
# | #define HAVE_POLL 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_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_SYS_XATTR_H 1
# | #define HAVE_FGETXATTR 1
# | #define HAVE_FLISTXATTR 1
# | #define HAVE_FSETXATTR 1
# | #define HAVE_GETXATTR 1
# | #define HAVE_LGETXATTR 1
# | #define HAVE_LISTXATTR 1
# | #define HAVE_LLISTXATTR 1
# | #define HAVE_LSETXATTR 1
# | #define HAVE_DECL_EXTATTR_NAMESPACE_USER 0
# | /* 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:19519: result: no
# configure:19535: checking support for ARCHIVE_CRYPTO_MD5_LIBMD
# configure:19557: arm-linux-androideabi-gcc -o conftest -Wall -Wformat -Wformat-security -I. -I. -I./libarchive conftest.c -lz >&5
# In file included from conftest.c:214:0:
# ./libarchive/archive.h:101:24: fatal error: android_lf.h: No such file or directory
# #include "android_lf.h"
# ^
# compilation terminated.
# configure:19557: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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_TIME_H 1
# | #define HAVE_SYS_UTIME_H 1
# | #define HAVE_SYS_UTSNAME_H 1
# | #define HAVE_SYS_VFS_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_ZLIB_H 1
# | #define HAVE_LIBZ 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 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 HAVE_STRFTIME 1
# | #define HAVE_VPRINTF 1
# | #define HAVE_ARC4RANDOM_BUF 1
# | #define HAVE_CHOWN 1
# | #define HAVE_CHROOT 1
# | #define HAVE_CTIME_R 1
# | #define HAVE_DIRFD 1
# | #define HAVE_FCHDIR 1
# | #define HAVE_FCHMOD 1
# | #define HAVE_FCHOWN 1
# | #define HAVE_FCNTL 1
# | #define HAVE_FDOPENDIR 1
# | #define HAVE_FORK 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_GETEUID 1
# | #define HAVE_GETPID 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_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_OPENAT 1
# | #define HAVE_PIPE 1
# | #define HAVE_POLL 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_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_SYS_XATTR_H 1
# | #define HAVE_FGETXATTR 1
# | #define HAVE_FLISTXATTR 1
# | #define HAVE_FSETXATTR 1
# | #define HAVE_GETXATTR 1
# | #define HAVE_LGETXATTR 1
# | #define HAVE_LISTXATTR 1
# | #define HAVE_LLISTXATTR 1
# | #define HAVE_LSETXATTR 1
# | #define HAVE_DECL_EXTATTR_NAMESPACE_USER 0
# | /* 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)
# | {
# | 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->digest)
# | EVP_DigestFinal(ctx, md, 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)
# | {
# | 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)
# | {
# | EVP_DigestFinal(ctx, md, 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)
# | {
# | 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->digest)
# | EVP_DigestFinal(ctx, md, 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)
# | {
# | 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)
# | {
# | EVP_DigestFinal(ctx, md, 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)
# | {
# | 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)
# | {
# | EVP_DigestFinal(ctx, md, 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)
# | {
# | 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)
# | {
# | EVP_DigestFinal(ctx, md, 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:19567: result: no
# configure:19581: checking support for ARCHIVE_CRYPTO_RMD160_LIBMD
# configure:19603: arm-linux-androideabi-gcc -o conftest -Wall -Wformat -Wformat-security -I. -I. -I./libarchive conftest.c -lz >&5
# In file included from conftest.c:214:0:
# ./libarchive/archive.h:101:24: fatal error: android_lf.h: No such file or directory
# #include "android_lf.h"
# ^
# compilation terminated.
# configure:19603: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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_TIME_H 1
# | #define HAVE_SYS_UTIME_H 1
# | #define HAVE_SYS_UTSNAME_H 1
# | #define HAVE_SYS_VFS_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_ZLIB_H 1
# | #define HAVE_LIBZ 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 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 HAVE_STRFTIME 1
# | #define HAVE_VPRINTF 1
# | #define HAVE_ARC4RANDOM_BUF 1
# | #define HAVE_CHOWN 1
# | #define HAVE_CHROOT 1
# | #define HAVE_CTIME_R 1
# | #define HAVE_DIRFD 1
# | #define HAVE_FCHDIR 1
# | #define HAVE_FCHMOD 1
# | #define HAVE_FCHOWN 1
# | #define HAVE_FCNTL 1
# | #define HAVE_FDOPENDIR 1
# | #define HAVE_FORK 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_GETEUID 1
# | #define HAVE_GETPID 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_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_OPENAT 1
# | #define HAVE_PIPE 1
# | #define HAVE_POLL 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_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_SYS_XATTR_H 1
# | #define HAVE_FGETXATTR 1
# | #define HAVE_FLISTXATTR 1
# | #define HAVE_FSETXATTR 1
# | #define HAVE_GETXATTR 1
# | #define HAVE_LGETXATTR 1
# | #define HAVE_LISTXATTR 1
# | #define HAVE_LLISTXATTR 1
# | #define HAVE_LSETXATTR 1
# | #define HAVE_DECL_EXTATTR_NAMESPACE_USER 0
# | /* 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)
# | {
# | 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->digest)
# | EVP_DigestFinal(ctx, md, 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)
# | {
# | 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)
# | {
# | EVP_DigestFinal(ctx, md, 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)
# | {
# | 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->digest)
# | EVP_DigestFinal(ctx, md, 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)
# | {
# | 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)
# | {
# | EVP_DigestFinal(ctx, md, 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)
# | {
# | 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)
# | {
# | EVP_DigestFinal(ctx, md, 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)
# | {
# | 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)
# | {
# | EVP_DigestFinal(ctx, md, 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:19613: result: no
# configure:19627: checking support for ARCHIVE_CRYPTO_SHA1_LIBMD
# configure:19649: arm-linux-androideabi-gcc -o conftest -Wall -Wformat -Wformat-security -I. -I. -I./libarchive conftest.c -lz >&5
# In file included from conftest.c:214:0:
# ./libarchive/archive.h:101:24: fatal error: android_lf.h: No such file or directory
# #include "android_lf.h"
# ^
# compilation terminated.
# configure:19649: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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_TIME_H 1
# | #define HAVE_SYS_UTIME_H 1
# | #define HAVE_SYS_UTSNAME_H 1
# | #define HAVE_SYS_VFS_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_ZLIB_H 1
# | #define HAVE_LIBZ 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 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 HAVE_STRFTIME 1
# | #define HAVE_VPRINTF 1
# | #define HAVE_ARC4RANDOM_BUF 1
# | #define HAVE_CHOWN 1
# | #define HAVE_CHROOT 1
# | #define HAVE_CTIME_R 1
# | #define HAVE_DIRFD 1
# | #define HAVE_FCHDIR 1
# | #define HAVE_FCHMOD 1
# | #define HAVE_FCHOWN 1
# | #define HAVE_FCNTL 1
# | #define HAVE_FDOPENDIR 1
# | #define HAVE_FORK 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_GETEUID 1
# | #define HAVE_GETPID 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_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_OPENAT 1
# | #define HAVE_PIPE 1
# | #define HAVE_POLL 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_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_SYS_XATTR_H 1
# | #define HAVE_FGETXATTR 1
# | #define HAVE_FLISTXATTR 1
# | #define HAVE_FSETXATTR 1
# | #define HAVE_GETXATTR 1
# | #define HAVE_LGETXATTR 1
# | #define HAVE_LISTXATTR 1
# | #define HAVE_LLISTXATTR 1
# | #define HAVE_LSETXATTR 1
# | #define HAVE_DECL_EXTATTR_NAMESPACE_USER 0
# | /* 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)
# | {
# | 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->digest)
# | EVP_DigestFinal(ctx, md, 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)
# | {
# | 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)
# | {
# | EVP_DigestFinal(ctx, md, 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)
# | {
# | 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->digest)
# | EVP_DigestFinal(ctx, md, 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)
# | {
# | 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)
# | {
# | EVP_DigestFinal(ctx, md, 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)
# | {
# | 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)
# | {
# | EVP_DigestFinal(ctx, md, 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)
# | {
# | 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)
# | {
# | EVP_DigestFinal(ctx, md, 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:19659: result: no
# configure:19673: checking support for ARCHIVE_CRYPTO_SHA256_LIBMD
# configure:19695: arm-linux-androideabi-gcc -o conftest -Wall -Wformat -Wformat-security -I. -I. -I./libarchive conftest.c -lz >&5
# In file included from conftest.c:214:0:
# ./libarchive/archive.h:101:24: fatal error: android_lf.h: No such file or directory
# #include "android_lf.h"
# ^
# compilation terminated.
# configure:19695: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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_TIME_H 1
# | #define HAVE_SYS_UTIME_H 1
# | #define HAVE_SYS_UTSNAME_H 1
# | #define HAVE_SYS_VFS_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_ZLIB_H 1
# | #define HAVE_LIBZ 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 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 HAVE_STRFTIME 1
# | #define HAVE_VPRINTF 1
# | #define HAVE_ARC4RANDOM_BUF 1
# | #define HAVE_CHOWN 1
# | #define HAVE_CHROOT 1
# | #define HAVE_CTIME_R 1
# | #define HAVE_DIRFD 1
# | #define HAVE_FCHDIR 1
# | #define HAVE_FCHMOD 1
# | #define HAVE_FCHOWN 1
# | #define HAVE_FCNTL 1
# | #define HAVE_FDOPENDIR 1
# | #define HAVE_FORK 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_GETEUID 1
# | #define HAVE_GETPID 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_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_OPENAT 1
# | #define HAVE_PIPE 1
# | #define HAVE_POLL 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_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_SYS_XATTR_H 1
# | #define HAVE_FGETXATTR 1
# | #define HAVE_FLISTXATTR 1
# | #define HAVE_FSETXATTR 1
# | #define HAVE_GETXATTR 1
# | #define HAVE_LGETXATTR 1
# | #define HAVE_LISTXATTR 1
# | #define HAVE_LLISTXATTR 1
# | #define HAVE_LSETXATTR 1
# | #define HAVE_DECL_EXTATTR_NAMESPACE_USER 0
# | /* 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)
# | {
# | 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->digest)
# | EVP_DigestFinal(ctx, md, 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)
# | {
# | 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)
# | {
# | EVP_DigestFinal(ctx, md, 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)
# | {
# | 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->digest)
# | EVP_DigestFinal(ctx, md, 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)
# | {
# | 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)
# | {
# | EVP_DigestFinal(ctx, md, 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)
# | {
# | 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)
# | {
# | EVP_DigestFinal(ctx, md, 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)
# | {
# | 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)
# | {
# | EVP_DigestFinal(ctx, md, 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:19705: result: no
# configure:19719: checking support for ARCHIVE_CRYPTO_SHA512_LIBMD
# configure:19741: arm-linux-androideabi-gcc -o conftest -Wall -Wformat -Wformat-security -I. -I. -I./libarchive conftest.c -lz >&5
# In file included from conftest.c:214:0:
# ./libarchive/archive.h:101:24: fatal error: android_lf.h: No such file or directory
# #include "android_lf.h"
# ^
# compilation terminated.
# configure:19741: $? = 1
# configure: failed program was:
# | /* confdefs.h */
# | #define PACKAGE_NAME "libarchive"
# | #define PACKAGE_TARNAME "libarchive"
# | #define PACKAGE_VERSION "3.2.1"
# | #define PACKAGE_STRING "libarchive 3.2.1"
# | #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# | #define PACKAGE_URL ""
# | #define PACKAGE "libarchive"
# | #define VERSION "3.2.1"
# | #define LIBARCHIVE_VERSION_STRING "3.2.1"
# | #define LIBARCHIVE_VERSION_NUMBER "3002001"
# | #define BSDCPIO_VERSION_STRING "3.2.1"
# | #define BSDTAR_VERSION_STRING "3.2.1"
# | #define BSDCAT_VERSION_STRING "3.2.1"
# | #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 HAVE_DLFCN_H 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_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_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_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_TIME_H 1
# | #define HAVE_SYS_UTIME_H 1
# | #define HAVE_SYS_UTSNAME_H 1
# | #define HAVE_SYS_VFS_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_ZLIB_H 1
# | #define HAVE_LIBZ 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 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 HAVE_STRFTIME 1
# | #define HAVE_VPRINTF 1
# | #define HAVE_ARC4RANDOM_BUF 1
# | #define HAVE_CHOWN 1
# | #define HAVE_CHROOT 1
# | #define HAVE_CTIME_R 1
# | #define HAVE_DIRFD 1
# | #define HAVE_FCHDIR 1
# | #define HAVE_FCHMOD 1
# | #define HAVE_FCHOWN 1
# | #define HAVE_FCNTL 1
# | #define HAVE_FDOPENDIR 1
# | #define HAVE_FORK 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_GETEUID 1
# | #define HAVE_GETPID 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_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_OPENAT 1
# | #define HAVE_PIPE 1
# | #define HAVE_POLL 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_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_SYS_XATTR_H 1
# | #define HAVE_FGETXATTR 1
# | #define HAVE_FLISTXATTR 1
# | #define HAVE_FSETXATTR 1
# | #define HAVE_GETXATTR 1
# | #define HAVE_LGETXATTR 1
# | #define HAVE_LISTXATTR 1
# | #define HAVE_LLISTXATTR 1
# | #define HAVE_LSETXATTR 1
# | #define HAVE_DECL_EXTATTR_NAMESPACE_USER 0
# | /* 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)
# | {
# | 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->digest)
# | EVP_DigestFinal(ctx, md, 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)
# | {
# | 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)
# | {
# | EVP_DigestFinal(ctx, md, 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)
# | {
# | 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->digest)
# | EVP_DigestFinal(ctx, md, 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)
# | {
# | 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)
# | {
# | EVP_DigestFinal(ctx, md, 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)
# | {
# | 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)
# | {
# | EVP_DigestFinal(ctx, md, 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)
# | {
# | 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)
# | {
# | EVP_DigestFinal(ctx, md, 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:19751: result: no
# configure:20072: checking that generated files are newer than configure
# configure:20078: result: done
# configure:20133: creating ./config.status
#
# ## ---------------------- ##
# ## Running config.status. ##
# ## ---------------------- ##
#
# This file was extended by libarchive config.status 3.2.1, which was
# generated by GNU Autoconf 2.69. Invocation command line was
#
# CONFIG_FILES =
# CONFIG_HEADERS =
# CONFIG_LINKS =
# CONFIG_COMMANDS =
# $ ./config.status
#
# on d52f8e72136a
#
# config.status:1271: creating Makefile
# config.status:1271: creating build/pkgconfig/libarchive.pc
# config.status:1271: creating config.h
# config.status:1500: executing depfiles commands
# config.status:1500: executing libtool commands
# config.status:1500: executing mkdirs commands
#
# ## ---------------- ##
# ## Cache variables. ##
# ## ---------------- ##
#
# ac_cv_build=x86_64-unknown-linux-gnu
# 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=arm-linux-androideabi-gcc
# ac_cv_env_CFLAGS_set=set
# ac_cv_env_CFLAGS_value=' '
# ac_cv_env_CPPFLAGS_set=set
# ac_cv_env_CPPFLAGS_value=
# ac_cv_env_CPP_set=
# ac_cv_env_CPP_value=
# ac_cv_env_LDFLAGS_set=set
# ac_cv_env_LDFLAGS_value=
# 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_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=
# ac_cv_env_PKG_CONFIG_value=
# ac_cv_env_build_alias_set=set
# ac_cv_env_build_alias_value=x86_64-unknown-linux
# ac_cv_env_host_alias_set=set
# ac_cv_env_host_alias_value=arm-linux-androideabi
# ac_cv_env_target_alias_set=
# ac_cv_env_target_alias_value=
# 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_acl_create_entry=no
# ac_cv_func_acl_get_link=no
# ac_cv_func_acl_get_link_np=no
# ac_cv_func_acl_get_perm=no
# ac_cv_func_acl_get_perm_np=no
# ac_cv_func_acl_init=no
# ac_cv_func_acl_set_fd=no
# ac_cv_func_acl_set_fd_np=no
# ac_cv_func_acl_set_file=no
# ac_cv_func_arc4random_buf=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_dirfd=yes
# ac_cv_func_extattr_get_file=no
# ac_cv_func_extattr_list_file=no
# ac_cv_func_extattr_set_fd=no
# ac_cv_func_extattr_set_file=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_fgetea=no
# ac_cv_func_fgetxattr=yes
# ac_cv_func_flistea=no
# ac_cv_func_flistxattr=yes
# ac_cv_func_fork=yes
# ac_cv_func_fsetea=no
# ac_cv_func_fsetxattr=yes
# 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=no
# ac_cv_func_getea=no
# ac_cv_func_geteuid=yes
# ac_cv_func_getgrgid_r=no
# ac_cv_func_getgrnam_r=no
# 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_getxattr=yes
# ac_cv_func_gmtime_r=yes
# ac_cv_func_lchflags=no
# ac_cv_func_lchmod=no
# ac_cv_func_lchown=yes
# ac_cv_func_lgetea=no
# ac_cv_func_lgetxattr=yes
# ac_cv_func_link=yes
# ac_cv_func_listea=no
# ac_cv_func_listxattr=yes
# ac_cv_func_llistea=no
# ac_cv_func_llistxattr=yes
# ac_cv_func_localtime_r=yes
# ac_cv_func_lsetea=no
# ac_cv_func_lsetxattr=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=no
# ac_cv_func_mbrtowc=yes
# ac_cv_func_memcmp_working=no
# 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_nl_langinfo=no
# ac_cv_func_openat=yes
# ac_cv_func_pipe=yes
# ac_cv_func_poll=yes
# ac_cv_func_posix_spawnp=no
# ac_cv_func_readlink=yes
# ac_cv_func_readlinkat=yes
# ac_cv_func_readpassphrase=no
# 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=no
# 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_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_ACL_USER=no
# 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_EXTATTR_NAMESPACE_USER=no
# 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_strerror_r=yes
# ac_cv_header_Bcrypt_h=no
# ac_cv_header_acl_libacl_h=no
# ac_cv_header_attr_xattr_h=no
# ac_cv_header_bzlib_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=yes
# ac_cv_header_errno_h=yes
# ac_cv_header_expat_h=no
# 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=no
# ac_cv_header_inttypes_h=yes
# ac_cv_header_io_h=no
# ac_cv_header_langinfo_h=no
# 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_locale_h=yes
# ac_cv_header_lz4_h=no
# ac_cv_header_lz4hc_h=no
# ac_cv_header_lzma_h=no
# ac_cv_header_lzmadec_h=no
# ac_cv_header_lzo_lzo1x_h=no
# ac_cv_header_lzo_lzoconf_h=no
# ac_cv_header_md5_h=no
# ac_cv_header_memory_h=yes
# ac_cv_header_minix_config_h=no
# ac_cv_header_openssl_evp_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=no
# 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_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_time_h=yes
# ac_cv_header_sys_types_h=yes
# ac_cv_header_sys_types_h_makedev=yes
# ac_cv_header_sys_utime_h=yes
# 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_zlib_h=yes
# ac_cv_host=arm-unknown-linux-androideabi
# ac_cv_lib_acl_acl_get_file=no
# ac_cv_lib_bz2_BZ2_bzDecompressInit=no
# ac_cv_lib_crypto_OPENSSL_config=no
# ac_cv_lib_expat_XML_ParserCreate=no
# ac_cv_lib_lz4_LZ4_decompress_safe=no
# ac_cv_lib_lzma_lzma_stream_decoder=no
# ac_cv_lib_lzmadec_lzmadec_decode=no
# ac_cv_lib_lzo2_lzo1x_decompress_safe=no
# ac_cv_lib_md_MD5Init=no
# ac_cv_lib_z_inflate=yes
# ac_cv_lzma_has_mt=no
# 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=no
# 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='/usr/sbin/grep -E'
# ac_cv_path_FGREP='/usr/sbin/grep -F'
# ac_cv_path_GREP=/usr/sbin/grep
# ac_cv_path_SED=/usr/sbin/sed
# ac_cv_path_install='/usr/bin/install -c'
# ac_cv_path_mkdir=/usr/sbin/mkdir
# ac_cv_prog_AR=arm-linux-androideabi-ar
# ac_cv_prog_AWK=gawk
# ac_cv_prog_CC=arm-linux-androideabi-gcc
# ac_cv_prog_CPP='arm-linux-androideabi-gcc -E'
# ac_cv_prog_DLLTOOL=dlltool
# ac_cv_prog_OBJDUMP=objdump
# ac_cv_prog_RANLIB=arm-linux-androideabi-ranlib
# ac_cv_prog_STRIP=arm-linux-androideabi-strip
# 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_search_setxattr='none required'
# ac_cv_sizeof_wchar_t=4
# ac_cv_sys_file_offset_bits=unknown
# ac_cv_sys_large_files=unknown
# ac_cv_sys_largefile_CC=no
# ac_cv_sys_largefile_source=no
# ac_cv_type_acl_permset_t=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_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='$libname$shrext'
# acl_cv_path_LD=/sysroot/arm-linux-androideabi/bin/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=gcc3
# am_cv_func_iconv='no, consider installing GNU libiconv'
# am_cv_lib_iconv=no
# am_cv_make_support_nested_variables=yes
# am_cv_prog_cc_c_o=yes
# ax_cv_check_cflags___Wall=yes
# ax_cv_check_cflags___Wformat=yes
# ax_cv_check_cflags___Wformat_security=yes
# la_cv_type_uid_t=yes
# lt_cv_ar_at_file=@
# lt_cv_archive_cmds_need_lc=no
# lt_cv_deplibs_check_method=pass_all
# 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=/sysroot/arm-linux-androideabi/bin/ld
# lt_cv_path_NM='/sysroot/bin/arm-linux-androideabi-nm -B'
# 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_shlibpath_overrides_runpath=yes
# 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]* \([^ ]*\) \([^ ]*\)$/ {"\2", (void *) \&\2},/p'\'''
# lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='sed -n -e '\''s/^: \([^ ]*\)[ ]*$/ {\"\1\", (void *) 0},/p'\'' -e '\''s/^[ABCDGIRSTW]* \([^ ]*\) \(lib[^ ]*\)$/ {"\2", (void *) \&\2},/p'\'' -e '\''s/^[ABCDGIRSTW]* \([^ ]*\) \([^ ]*\)$/ {"lib\2", (void *) \&\2},/p'\'''
# lt_cv_sys_global_symbol_to_cdecl='sed -n -e '\''s/^T .* \(.*\)$/extern int \1();/p'\'' -e '\''s/^[ABCDGIRSTW]* .* \(.*\)$/extern char \1;/p'\'''
# 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
#
# ## ----------------- ##
# ## Output variables. ##
# ## ----------------- ##
#
# ACLOCAL='${SHELL} /tmp/libarchive/src/libarchive-3.2.1/build/autoconf/missing aclocal-1.15'
# AMDEPBACKSLASH='\'
# AMDEP_FALSE='#'
# AMDEP_TRUE=''
# AMTAR='$${TAR-tar}'
# AM_BACKSLASH='\'
# AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)'
# AM_DEFAULT_VERBOSITY='0'
# AM_V='$(V)'
# AR='arm-linux-androideabi-ar'
# ARCHIVE_LIBTOOL_VERSION='15:1:2'
# AS='as'
# AUTOCONF='${SHELL} /tmp/libarchive/src/libarchive-3.2.1/build/autoconf/missing autoconf'
# AUTOHEADER='${SHELL} /tmp/libarchive/src/libarchive-3.2.1/build/autoconf/missing autoheader'
# AUTOMAKE='${SHELL} /tmp/libarchive/src/libarchive-3.2.1/build/autoconf/missing automake-1.15'
# AWK='gawk'
# BSDCAT_VERSION_STRING='3.2.1'
# BSDCPIO_VERSION_STRING='3.2.1'
# BSDTAR_VERSION_STRING='3.2.1'
# BUILD_BSDCAT_FALSE='#'
# BUILD_BSDCAT_TRUE=''
# BUILD_BSDCPIO_FALSE='#'
# BUILD_BSDCPIO_TRUE=''
# BUILD_BSDTAR_FALSE='#'
# BUILD_BSDTAR_TRUE=''
# CC='arm-linux-androideabi-gcc'
# CCDEPMODE='depmode=gcc3'
# CFLAGS=' -Wall -Wformat -Wformat-security'
# CPP='arm-linux-androideabi-gcc -E'
# CPPFLAGS=''
# CYGPATH_W='echo'
# DEFS='-DHAVE_CONFIG_H'
# DEPDIR='.deps'
# DLLTOOL='dlltool'
# DSYMUTIL=''
# DUMPBIN=''
# ECHO_C=''
# ECHO_N='-n'
# ECHO_T=''
# EGREP='/usr/sbin/grep -E'
# EXEEXT=''
# FGREP='/usr/sbin/grep -F'
# GREP='/usr/sbin/grep'
# INC_CYGWIN_FILES_FALSE=''
# INC_CYGWIN_FILES_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='/sysroot/arm-linux-androideabi/bin/ld'
# LDFLAGS=''
# LIBARCHIVE_VERSION_NUMBER='3002001'
# LIBARCHIVE_VERSION_STRING='3.2.1'
# LIBICONV=''
# LIBOBJS=' ${LIBOBJDIR}memcmp$U.o ${LIBOBJDIR}lstat$U.o ${LIBOBJDIR}stat$U.o'
# LIBS='-lz '
# LIBTOOL='$(SHELL) $(top_builddir)/libtool'
# LIBXML2_PC_CFLAGS=''
# LIBXML2_PC_LIBS=''
# LIPO=''
# LN_S='ln -s'
# LTLIBICONV=''
# LTLIBOBJS=' ${LIBOBJDIR}memcmp$U.lo ${LIBOBJDIR}lstat$U.lo ${LIBOBJDIR}stat$U.lo'
# MAKEINFO='${SHELL} /tmp/libarchive/src/libarchive-3.2.1/build/autoconf/missing makeinfo'
# MANIFEST_TOOL=':'
# MKDIR_P='/usr/sbin/mkdir -p'
# NM='/sysroot/bin/arm-linux-androideabi-nm -B'
# NMEDIT=''
# OBJDUMP='objdump'
# OBJEXT='o'
# OTOOL64=''
# OTOOL=''
# PACKAGE='libarchive'
# PACKAGE_BUGREPORT='libarchive-discuss@googlegroups.com'
# PACKAGE_NAME='libarchive'
# PACKAGE_STRING='libarchive 3.2.1'
# PACKAGE_TARNAME='libarchive'
# PACKAGE_URL=''
# PACKAGE_VERSION='3.2.1'
# PATH_SEPARATOR=':'
# PKG_CONFIG=''
# PKG_CONFIG_LIBDIR=''
# PKG_CONFIG_PATH=''
# PLATFORMCPPFLAGS=''
# RANLIB='arm-linux-androideabi-ranlib'
# SED='/usr/sbin/sed'
# SET_MAKE=''
# SHELL='/bin/sh'
# STATIC_BSDCAT_FALSE='#'
# STATIC_BSDCAT_TRUE=''
# STATIC_BSDCPIO_FALSE='#'
# STATIC_BSDCPIO_TRUE=''
# STATIC_BSDTAR_FALSE='#'
# STATIC_BSDTAR_TRUE=''
# STRIP='arm-linux-androideabi-strip'
# VERSION='3.2.1'
# 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='_no'
# am__quote=''
# am__tar='$${TAR-tar} chof - "$$tardir"'
# am__untar='$${TAR-tar} xf -'
# bindir='${exec_prefix}/bin'
# build='x86_64-unknown-linux-gnu'
# build_alias='x86_64-unknown-linux'
# build_cpu='x86_64'
# build_os='linux-gnu'
# build_vendor='unknown'
# datadir='${datarootdir}'
# datarootdir='${prefix}/share'
# docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
# dvidir='${docdir}'
# exec_prefix='${prefix}'
# host='arm-unknown-linux-androideabi'
# host_alias='arm-linux-androideabi'
# host_cpu='arm'
# host_os='linux-androideabi'
# host_vendor='unknown'
# htmldir='${docdir}'
# includedir='${prefix}/include'
# infodir='${datarootdir}/info'
# install_sh='${SHELL} /tmp/libarchive/src/libarchive-3.2.1/build/autoconf/install-sh'
# libdir='${exec_prefix}/lib'
# libexecdir='${exec_prefix}/libexec'
# localedir='${datarootdir}/locale'
# localstatedir='${prefix}/var'
# mandir='${datarootdir}/man'
# mkdir_p='$(MKDIR_P)'
# oldincludedir='/usr/include'
# pdfdir='${docdir}'
# prefix='/usr'
# program_transform_name='s,x,x,'
# psdir='${docdir}'
# sbindir='${exec_prefix}/sbin'
# sharedstatedir='${prefix}/com'
# sysconfdir='${prefix}/etc'
# target_alias=''
#
# ## ----------- ##
# ## confdefs.h. ##
# ## ----------- ##
#
# /* confdefs.h */
# #define PACKAGE_NAME "libarchive"
# #define PACKAGE_TARNAME "libarchive"
# #define PACKAGE_VERSION "3.2.1"
# #define PACKAGE_STRING "libarchive 3.2.1"
# #define PACKAGE_BUGREPORT "libarchive-discuss@googlegroups.com"
# #define PACKAGE_URL ""
# #define PACKAGE "libarchive"
# #define VERSION "3.2.1"
# #define LIBARCHIVE_VERSION_STRING "3.2.1"
# #define LIBARCHIVE_VERSION_NUMBER "3002001"
# #define BSDCPIO_VERSION_STRING "3.2.1"
# #define BSDTAR_VERSION_STRING "3.2.1"
# #define BSDCAT_VERSION_STRING "3.2.1"
# #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 HAVE_DLFCN_H 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_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_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_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_TIME_H 1
# #define HAVE_SYS_UTIME_H 1
# #define HAVE_SYS_UTSNAME_H 1
# #define HAVE_SYS_VFS_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_ZLIB_H 1
# #define HAVE_LIBZ 1
# #define HAVE_REGEX_H 1
# #define HAVE_STRUCT_TM_TM_GMTOFF 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 HAVE_STRFTIME 1
# #define HAVE_VPRINTF 1
# #define HAVE_ARC4RANDOM_BUF 1
# #define HAVE_CHOWN 1
# #define HAVE_CHROOT 1
# #define HAVE_CTIME_R 1
# #define HAVE_DIRFD 1
# #define HAVE_FCHDIR 1
# #define HAVE_FCHMOD 1
# #define HAVE_FCHOWN 1
# #define HAVE_FCNTL 1
# #define HAVE_FDOPENDIR 1
# #define HAVE_FORK 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_GETEUID 1
# #define HAVE_GETPID 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_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_OPENAT 1
# #define HAVE_PIPE 1
# #define HAVE_POLL 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_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_SYS_XATTR_H 1
# #define HAVE_FGETXATTR 1
# #define HAVE_FLISTXATTR 1
# #define HAVE_FSETXATTR 1
# #define HAVE_GETXATTR 1
# #define HAVE_LGETXATTR 1
# #define HAVE_LISTXATTR 1
# #define HAVE_LLISTXATTR 1
# #define HAVE_LSETXATTR 1
# #define HAVE_DECL_EXTATTR_NAMESPACE_USER 0
#
# configure: exit 0