Build of libarchive with clang_glibc toolchain

The build took 00h 02m 10s and was NOT successful.

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

SLOCLanguage
145,268 ansic
12,310 sh
9,471 makefile
770 awk
167,819 total

The process tree of the build process is here.

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/sysroot --> /sysroot/sysroot
# /toolchain_root/lib --> /sysroot/lib
# /toolchain_root/sbin --> /sysroot/sbin
# /toolchain_root/lib64 --> /sysroot/lib64
# /toolchain_root/etc --> /sysroot/etc
# /toolchain_root/share --> /sysroot/share
# /toolchain_root/bin --> /sysroot/bin
# /toolchain_root/var --> /sysroot/var
# /toolchain_root/usr --> /sysroot/usr
# /toolchain_root/glibc-build --> /sysroot/glibc-build
# /toolchain_root/x86_64-pc-linux-gnu --> /sysroot/x86_64-pc-linux-gnu
# /toolchain_root/include --> /sysroot/include
# /toolchain_root/libexec --> /sysroot/libexec

CMD: sudo -u tuscan PATH=/usr/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin CC=clang CXX=clang++ red makepkg --noextract --syncdeps --skipinteg --skippgpcheck --skipchecksums --noconfirm --nocolor --log --noprogressbar --nocheck
# ==> Making package: libarchive 3.2.1-2 (Thu Apr 13 16:51:16 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 x86_64-unknown-linux-strip... no
# checking for strip... strip
# checking for a thread-safe mkdir -p... /usr/bin/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-pc-linux-gnu
# checking host system type... x86_64-unknown-linux-gnu
# checking for x86_64-unknown-linux-gcc... clang
# 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... no
# checking for suffix of object files... o
# checking whether we are using the GNU C compiler... yes
# checking whether clang accepts -g... yes
# checking for clang option to accept ISO C89... none needed
# checking whether clang understands -c and -o together... yes
# checking for style of include used by make... GNU
# checking dependency style of clang... gcc3
# checking how to run the C preprocessor... clang -E
# checking for grep that handles long lines and -e... /usr/bin/grep
# checking for egrep... /usr/bin/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/bin/sed
# checking for fgrep... /usr/bin/grep -F
# checking for ld used by clang... /usr/bin/ld
# checking if the linker (/usr/bin/ld) is GNU ld... yes
# checking for BSD- or MS-compatible name lister (nm)... no
# checking for x86_64-unknown-linux-dumpbin... no
# checking for x86_64-unknown-linux-link... no
# checking for dumpbin... no
# checking for link... link -dump
# checking the name lister (nm) 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-pc-linux-gnu file names to x86_64-unknown-linux-gnu format... func_convert_file_noop
# checking how to convert x86_64-pc-linux-gnu file names to toolchain format... func_convert_file_noop
# checking for /usr/bin/ld option to reload object files... -r
# checking for x86_64-unknown-linux-objdump... objdump
# checking how to recognize dependent libraries... pass_all
# checking for x86_64-unknown-linux-dlltool... dlltool
# checking how to associate runtime and link libraries... printf %s\n
# checking for x86_64-unknown-linux-ar... no
# checking for ar... ar
# checking for archiver @FILE support... @
# checking for x86_64-unknown-linux-strip... strip
# checking for x86_64-unknown-linux-ranlib... no
# checking for ranlib... ranlib
# checking command to parse nm output from clang object... ok
# checking for sysroot... no
# checking for x86_64-unknown-linux-mt... no
# checking for mt... no
# checking if : is a manifest tool... no
# checking for dlfcn.h... yes
# checking for objdir... .libs
# checking if clang supports -fno-rtti -fno-exceptions... yes
# checking for clang option to produce PIC... -fPIC -DPIC
# checking if clang PIC flag -fPIC -DPIC works... yes
# checking if clang static flag -static works... yes
# checking if clang supports -c -o file.o... yes
# checking if clang supports -c -o file.o... (cached) yes
# checking whether the clang linker (/usr/bin/ld -m elf_x86_64) 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 x86_64-unknown-linux-strip... (cached) 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... yes
# checking ext2fs/ext2_fs.h presence... yes
# checking for ext2fs/ext2_fs.h... yes
# 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... yes
# 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... yes
# checking langinfo.h presence... yes
# checking for langinfo.h... yes
# 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... yes
# checking spawn.h presence... yes
# checking for spawn.h... yes
# 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... no
# checking sys/utime.h presence... no
# checking for sys/utime.h... no
# 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... yes
# checking bzlib.h presence... yes
# checking for bzlib.h... yes
# checking for BZ2_bzDecompressInit in -lbz2... yes
# 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... /usr/bin/ld -m elf_x86_64
# checking if the linker (/usr/bin/ld -m elf_x86_64) is GNU ld... yes
# checking for shared library run path origin... done
# checking for iconv... yes
# checking for working iconv... yes
# checking for iconv declaration...
# extern size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);
# checking for iconv.h... yes
# checking localcharset.h usability... no
# checking localcharset.h presence... no
# checking for localcharset.h... no
# checking for locale_charset... no
# checking for locale_charset in -lcharset... no
# checking lz4.h usability... yes
# checking lz4.h presence... yes
# checking for lz4.h... yes
# checking lz4hc.h usability... yes
# checking lz4hc.h presence... yes
# checking for lz4hc.h... yes
# checking for LZ4_decompress_safe in -llz4... yes
# checking lzma.h usability... yes
# checking lzma.h presence... yes
# checking for lzma.h... yes
# checking for lzma_stream_decoder in -llzma... yes
# checking whether we have multithread support in lzma... yes
# checking lzo/lzoconf.h usability... yes
# checking lzo/lzoconf.h presence... yes
# checking for lzo/lzoconf.h... yes
# checking lzo/lzo1x.h usability... yes
# checking lzo/lzo1x.h presence... yes
# checking for lzo/lzo1x.h... yes
# checking for lzo1x_decompress_safe in -llzo2... yes
# checking expat.h usability... yes
# checking expat.h presence... yes
# checking for expat.h... yes
# checking for XML_ParserCreate in -lexpat... yes
# 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... yes
# 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 clang 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... yes
# checking whether lstat correctly handles trailing slash... yes
# checking whether lstat accepts an empty string... no
# checking whether stat accepts an empty string... no
# checking whether strerror_r is declared... yes
# checking for strerror_r... yes
# checking whether strerror_r returns char *... yes
# checking for strftime... yes
# checking for vprintf... yes
# checking for _doprnt... no
# checking for CreateHardLinkA... no
# checking for arc4random_buf... no
# 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... yes
# checking for futimesat... yes
# checking for geteuid... yes
# checking for getpid... yes
# checking for getgrgid_r... yes
# checking for getgrnam_r... yes
# 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... yes
# 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... yes
# checking for openat... yes
# checking for pipe... yes
# checking for poll... yes
# checking for posix_spawnp... yes
# 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... yes
# checking attr/xattr.h presence... yes
# checking for attr/xattr.h... yes
# 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... yes
# checking acl/libacl.h presence... yes
# checking for acl/libacl.h... yes
# checking sys/acl.h usability... yes
# checking sys/acl.h presence... yes
# checking for sys/acl.h... yes
# checking for acl_get_file in -lacl... yes
# checking for acl_create_entry... yes
# checking for acl_init... yes
# checking for acl_set_fd... yes
# checking for acl_set_fd_np... no
# checking for acl_set_file... yes
# checking for acl_permset_t... yes
# checking for acl_get_perm_np... no
# checking for acl_get_perm... yes
# checking for acl_get_link... no
# checking for acl_get_link_np... no
# checking whether ACL_USER is declared... yes
# checking for special C compiler options needed for large files... no
# checking for _FILE_OFFSET_BITS value needed for large files... no
# 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... yes
# checking openssl/evp.h presence... yes
# checking for openssl/evp.h... yes
# checking for OPENSSL_config in -lcrypto... yes
# checking support for ARCHIVE_CRYPTO_MD5_OPENSSL... yes
# checking support for ARCHIVE_CRYPTO_RMD160_OPENSSL... yes
# checking support for ARCHIVE_CRYPTO_SHA1_OPENSSL... yes
# checking support for ARCHIVE_CRYPTO_SHA256_OPENSSL... yes
# checking support for ARCHIVE_CRYPTO_SHA384_OPENSSL... yes
# checking support for ARCHIVE_CRYPTO_SHA512_OPENSSL... yes
# checking for PKCS5_PBKDF2_HMAC_SHA1... yes
# 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 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/bin/mkdir -p libarchive/test
# cat ./libarchive/test/test_*.c | grep '^DEFINE_TEST' > libarchive/test/list.h
# /usr/bin/mkdir -p tar/test
# cat ./tar/test/test_*.c | grep '^DEFINE_TEST' > tar/test/list.h
# /usr/bin/mkdir -p cpio/test
# cat ./cpio/test/test_*.c | grep '^DEFINE_TEST' > cpio/test/list.h
# cat ./cat/test/test_*.c | grep '^DEFINE_TEST' > cat/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
# CC libarchive/archive_digest.lo
# CC libarchive/archive_entry.lo
# CC libarchive/archive_entry_copy_stat.lo
# CC libarchive/archive_entry_link_resolver.lo
# CC libarchive/archive_entry_sparse.lo
# CC libarchive/archive_entry_stat.lo
# CC libarchive/archive_entry_strmode.lo
# CC libarchive/archive_entry_xattr.lo
# CC libarchive/archive_getdate.lo
# CC libarchive/archive_hmac.lo
# CC libarchive/archive_match.lo
# CC libarchive/archive_options.lo
# CC libarchive/archive_pack_dev.lo
# CC libarchive/archive_pathmatch.lo
# CC libarchive/archive_ppmd7.lo
# CC libarchive/archive_random.lo
# CC libarchive/archive_rb.lo
# CC libarchive/archive_read.lo
# CC libarchive/archive_read_add_passphrase.lo
# CC libarchive/archive_read_append_filter.lo
# CC libarchive/archive_read_data_into_fd.lo
# CC libarchive/archive_read_disk_entry_from_file.lo
# CC libarchive/archive_read_disk_posix.lo
# CC libarchive/archive_read_disk_set_standard_lookup.lo
# CC libarchive/archive_read_extract.lo
# CC libarchive/archive_read_extract2.lo
# CC libarchive/archive_read_open_fd.lo
# CC libarchive/archive_read_open_file.lo
# CC libarchive/archive_read_open_filename.lo
# CC libarchive/archive_read_open_memory.lo
# CC libarchive/archive_read_set_format.lo
# CC libarchive/archive_read_set_options.lo
# CC libarchive/archive_read_support_filter_all.lo
# CC libarchive/archive_read_support_filter_bzip2.lo
# CC libarchive/archive_read_support_filter_compress.lo
# CC libarchive/archive_read_support_filter_grzip.lo
# CC libarchive/archive_read_support_filter_gzip.lo
# CC libarchive/archive_read_support_filter_lrzip.lo
# CC libarchive/archive_read_support_filter_lz4.lo
# CC libarchive/archive_read_support_filter_lzop.lo
# CC libarchive/archive_read_support_filter_none.lo
# CC libarchive/archive_read_support_filter_program.lo
# CC libarchive/archive_read_support_filter_rpm.lo
# CC libarchive/archive_read_support_filter_uu.lo
# CC libarchive/archive_read_support_filter_xz.lo
# CC libarchive/archive_read_support_format_7zip.lo
# CC libarchive/archive_read_support_format_all.lo
# CC libarchive/archive_read_support_format_ar.lo
# CC libarchive/archive_read_support_format_by_code.lo
# CC libarchive/archive_read_support_format_cab.lo
# CC libarchive/archive_read_support_format_cpio.lo
# CC libarchive/archive_read_support_format_empty.lo
# CC libarchive/archive_read_support_format_iso9660.lo
# CC libarchive/archive_read_support_format_lha.lo
# CC libarchive/archive_read_support_format_mtree.lo
# CC libarchive/archive_read_support_format_rar.lo
# CC libarchive/archive_read_support_format_raw.lo
# CC libarchive/archive_read_support_format_tar.lo
# CC libarchive/archive_read_support_format_warc.lo
# CC libarchive/archive_read_support_format_xar.lo
# CC libarchive/archive_read_support_format_zip.lo
# CC libarchive/archive_string.lo
# CC libarchive/archive_string_sprintf.lo
# CC libarchive/archive_util.lo
# CC libarchive/archive_virtual.lo
# CC libarchive/archive_write.lo
# CC libarchive/archive_write_disk_acl.lo
# CC libarchive/archive_write_disk_posix.lo
# CC libarchive/archive_write_disk_set_standard_lookup.lo
# CC libarchive/archive_write_open_fd.lo
# CC libarchive/archive_write_open_file.lo
# CC libarchive/archive_write_open_filename.lo
# CC libarchive/archive_write_open_memory.lo
# CC libarchive/archive_write_add_filter.lo
# CC libarchive/archive_write_add_filter_b64encode.lo
# CC libarchive/archive_write_add_filter_by_name.lo
# CC libarchive/archive_write_add_filter_bzip2.lo
# CC libarchive/archive_write_add_filter_compress.lo
# CC libarchive/archive_write_add_filter_grzip.lo
# CC libarchive/archive_write_add_filter_gzip.lo
# CC libarchive/archive_write_add_filter_lrzip.lo
# CC libarchive/archive_write_add_filter_lz4.lo
# CC libarchive/archive_write_add_filter_lzop.lo
# CC libarchive/archive_write_add_filter_none.lo
# CC libarchive/archive_write_add_filter_program.lo
# CC libarchive/archive_write_add_filter_uuencode.lo
# CC libarchive/archive_write_add_filter_xz.lo
# CC libarchive/archive_write_set_format.lo
# CC libarchive/archive_write_set_format_7zip.lo
# CC libarchive/archive_write_set_format_ar.lo
# CC libarchive/archive_write_set_format_by_name.lo
# CC libarchive/archive_write_set_format_cpio.lo
# CC libarchive/archive_write_set_format_cpio_newc.lo
# CC libarchive/archive_write_set_format_filter_by_ext.lo
# CC libarchive/archive_write_set_format_iso9660.lo
# CC libarchive/archive_write_set_format_mtree.lo
# CC libarchive/archive_write_set_format_pax.lo
# CC libarchive/archive_write_set_format_raw.lo
# CC libarchive/archive_write_set_format_shar.lo
# CC libarchive/archive_write_set_format_ustar.lo
# CC libarchive/archive_write_set_format_v7tar.lo
# CC libarchive/archive_write_set_format_gnutar.lo
# CC libarchive/archive_write_set_format_warc.lo
# CC libarchive/archive_write_set_format_xar.lo
# CC libarchive/archive_write_set_format_zip.lo
# CC libarchive/archive_write_set_options.lo
# CC libarchive/archive_write_set_passphrase.lo
# CC libarchive/filter_fork_posix.lo
# CC libarchive/xxhash.lo
# CCLD libarchive.la
# ar: `u' modifier ignored since `D' is the default (see `U')
# CC libarchive_fe/libarchive_fe_la-err.lo
# CC libarchive_fe/libarchive_fe_la-line_reader.lo
# CC libarchive_fe/libarchive_fe_la-passphrase.lo
# CCLD libarchive_fe.la
# ar: `u' modifier ignored since `D' is the default (see `U')
# CC tar/bsdtar-bsdtar.o
# CC tar/bsdtar-cmdline.o
# CC tar/bsdtar-creation_set.o
# CC tar/bsdtar-read.o
# CC tar/bsdtar-subst.o
# CC tar/bsdtar-util.o
# CC tar/bsdtar-write.o
# CCLD bsdtar
# CC cpio/bsdcpio-cmdline.o
# CC cpio/bsdcpio-cpio.o
# CCLD bsdcpio
# CC cat/bsdcat-bsdcat.o
# CC cat/bsdcat-cmdline.o
# CCLD bsdcat
# make[1]: Leaving directory '/tmp/libarchive/src/libarchive-3.2.1'
# ==> Entering fakeroot environment...
# ==> Starting package()...
# make install-am
# make[1]: Entering directory '/tmp/libarchive/src/libarchive-3.2.1'
# make[2]: Entering directory '/tmp/libarchive/src/libarchive-3.2.1'
# /usr/bin/mkdir -p '/tmp/libarchive/pkg/libarchive/usr/lib'
# /bin/sh ./libtool --mode=install /usr/bin/install -c libarchive.la '/tmp/libarchive/pkg/libarchive/usr/lib'
# libtool: install: /usr/bin/install -c .libs/libarchive.so.13.2.1 /tmp/libarchive/pkg/libarchive/usr/lib/libarchive.so.13.2.1
# libtool: install: (cd /tmp/libarchive/pkg/libarchive/usr/lib && { ln -s -f libarchive.so.13.2.1 libarchive.so.13 || { rm -f libarchive.so.13 && ln -s libarchive.so.13.2.1 libarchive.so.13; }; })
# libtool: install: (cd /tmp/libarchive/pkg/libarchive/usr/lib && { ln -s -f libarchive.so.13.2.1 libarchive.so || { rm -f libarchive.so && ln -s libarchive.so.13.2.1 libarchive.so; }; })
# libtool: install: /usr/bin/install -c .libs/libarchive.lai /tmp/libarchive/pkg/libarchive/usr/lib/libarchive.la
# libtool: install: /usr/bin/install -c .libs/libarchive.a /tmp/libarchive/pkg/libarchive/usr/lib/libarchive.a
# libtool: install: chmod 644 /tmp/libarchive/pkg/libarchive/usr/lib/libarchive.a
# libtool: install: ranlib /tmp/libarchive/pkg/libarchive/usr/lib/libarchive.a
# libtool: install: warning: remember to run `libtool --finish /usr/lib'
# /usr/bin/mkdir -p '/tmp/libarchive/pkg/libarchive/usr/bin'
# /bin/sh ./libtool --mode=install /usr/bin/install -c bsdtar bsdcpio bsdcat '/tmp/libarchive/pkg/libarchive/usr/bin'
# libtool: install: /usr/bin/install -c bsdtar /tmp/libarchive/pkg/libarchive/usr/bin/bsdtar
# libtool: install: /usr/bin/install -c bsdcpio /tmp/libarchive/pkg/libarchive/usr/bin/bsdcpio
# libtool: install: /usr/bin/install -c bsdcat /tmp/libarchive/pkg/libarchive/usr/bin/bsdcat
# /usr/bin/mkdir -p '/tmp/libarchive/pkg/libarchive/usr/include'
# /usr/bin/install -c -m 644 libarchive/archive.h libarchive/archive_entry.h '/tmp/libarchive/pkg/libarchive/usr/include'
# /usr/bin/mkdir -p '/tmp/libarchive/pkg/libarchive/usr/share/man/man1'
# /usr/bin/install -c -m 644 tar/bsdtar.1 cpio/bsdcpio.1 cat/bsdcat.1 '/tmp/libarchive/pkg/libarchive/usr/share/man/man1'
# /usr/bin/mkdir -p '/tmp/libarchive/pkg/libarchive/usr/share/man/man3'
# /usr/bin/install -c -m 644 libarchive/archive_entry.3 libarchive/archive_entry_acl.3 libarchive/archive_entry_linkify.3 libarchive/archive_entry_paths.3 libarchive/archive_entry_perms.3 libarchive/archive_entry_stat.3 libarchive/archive_entry_time.3 libarchive/archive_read.3 libarchive/archive_read_add_passphrase.3 libarchive/archive_read_data.3 libarchive/archive_read_disk.3 libarchive/archive_read_extract.3 libarchive/archive_read_filter.3 libarchive/archive_read_format.3 libarchive/archive_read_free.3 libarchive/archive_read_header.3 libarchive/archive_read_new.3 libarchive/archive_read_open.3 libarchive/archive_read_set_options.3 libarchive/archive_util.3 libarchive/archive_write.3 libarchive/archive_write_blocksize.3 libarchive/archive_write_data.3 libarchive/archive_write_disk.3 libarchive/archive_write_filter.3 libarchive/archive_write_finish_entry.3 libarchive/archive_write_format.3 libarchive/archive_write_free.3 libarchive/archive_write_header.3 libarchive/archive_write_new.3 libarchive/archive_write_open.3 libarchive/archive_write_set_options.3 libarchive/archive_write_set_passphrase.3 libarchive/libarchive.3 libarchive/libarchive_changes.3 libarchive/libarchive_internals.3 '/tmp/libarchive/pkg/libarchive/usr/share/man/man3'
# /usr/bin/mkdir -p '/tmp/libarchive/pkg/libarchive/usr/share/man/man5'
# /usr/bin/install -c -m 644 libarchive/cpio.5 libarchive/libarchive-formats.5 libarchive/mtree.5 libarchive/tar.5 '/tmp/libarchive/pkg/libarchive/usr/share/man/man5'
# /usr/bin/mkdir -p '/tmp/libarchive/pkg/libarchive/usr/lib/pkgconfig'
# /usr/bin/install -c -m 644 build/pkgconfig/libarchive.pc '/tmp/libarchive/pkg/libarchive/usr/lib/pkgconfig'
# make[2]: Leaving directory '/tmp/libarchive/src/libarchive-3.2.1'
# make[1]: Leaving directory '/tmp/libarchive/src/libarchive-3.2.1'
# ==> Tidying install...
# -> Removing doc files...
# -> Purging unwanted files...
# -> Stripping unneeded symbols from binaries and libraries...
# ==> Checking for packaging issue...
# ==> Creating package "libarchive"...
# -> Generating .PKGINFO file...
# -> Generating .BUILDINFO file...
# error: invalid option '--noprogressbar'
# -> Generating .MTREE file...
# -> Compressing package...
# ==> Creating package "libarchive-debug"...
# -> Generating .PKGINFO file...
# -> Generating .BUILDINFO file...
# error: invalid option '--noprogressbar'
# -> Generating .MTREE file...
# -> Compressing package...
# ==> Leaving fakeroot environment.
# ==> Finished making: libarchive 3.2.1-2 (Thu Apr 13 16:52:51 UTC 2017)

CMD: pacman --query --file libarchive-3.2.1-2-x86_64.pkg.tar.xz
# libarchive 3.2.1-2

Creating hybrid package for 'libarchive'

Trying to find vanilla package 'libarchive'...

CMD: pacman --query --file /mirror/python-libarchive-c-2.4-1.pkg.tar.xz
# python-libarchive-c 2.4-1

CMD: pacman --query --file /mirror/python2-libarchive-c-2.4-1.pkg.tar.xz
# python2-libarchive-c 2.4-1

CMD: pacman --query --file /mirror/libarchive-3.2.1-2.pkg.tar.xz
# libarchive 3.2.1-2

Package file has the following structure:
# /.PKGINFO
# /.BUILDINFO
# /.MTREE
# /usr/include/archive.h
# /usr/include/archive_entry.h
# /usr/share/man/man3/archive_entry.3.gz
# /usr/share/man/man3/archive_entry_acl.3.gz
# /usr/share/man/man3/archive_entry_linkify.3.gz
# /usr/share/man/man3/archive_entry_paths.3.gz
# /usr/share/man/man3/archive_entry_perms.3.gz
# /usr/share/man/man3/archive_entry_stat.3.gz
# /usr/share/man/man3/archive_entry_time.3.gz
# /usr/share/man/man3/archive_read.3.gz
# /usr/share/man/man3/archive_read_add_passphrase.3.gz
# /usr/share/man/man3/archive_read_data.3.gz
# /usr/share/man/man3/archive_read_disk.3.gz
# /usr/share/man/man3/archive_read_extract.3.gz
# /usr/share/man/man3/archive_read_filter.3.gz
# /usr/share/man/man3/archive_read_format.3.gz
# /usr/share/man/man3/archive_read_free.3.gz
# /usr/share/man/man3/archive_read_header.3.gz
# /usr/share/man/man3/archive_read_new.3.gz
# /usr/share/man/man3/archive_read_open.3.gz
# /usr/share/man/man3/archive_read_set_options.3.gz
# /usr/share/man/man3/archive_util.3.gz
# /usr/share/man/man3/archive_write.3.gz
# /usr/share/man/man3/archive_write_blocksize.3.gz
# /usr/share/man/man3/archive_write_data.3.gz
# /usr/share/man/man3/archive_write_disk.3.gz
# /usr/share/man/man3/archive_write_filter.3.gz
# /usr/share/man/man3/archive_write_finish_entry.3.gz
# /usr/share/man/man3/archive_write_format.3.gz
# /usr/share/man/man3/archive_write_free.3.gz
# /usr/share/man/man3/archive_write_header.3.gz
# /usr/share/man/man3/archive_write_new.3.gz
# /usr/share/man/man3/archive_write_open.3.gz
# /usr/share/man/man3/archive_write_set_options.3.gz
# /usr/share/man/man3/archive_write_set_passphrase.3.gz
# /usr/share/man/man3/libarchive.3.gz
# /usr/share/man/man3/libarchive_changes.3.gz
# /usr/share/man/man3/libarchive_internals.3.gz
# /usr/share/man/man1/bsdtar.1.gz
# /usr/share/man/man1/bsdcpio.1.gz
# /usr/share/man/man1/bsdcat.1.gz
# /usr/share/man/man5/cpio.5.gz
# /usr/share/man/man5/libarchive-formats.5.gz
# /usr/share/man/man5/mtree.5.gz
# /usr/share/man/man5/tar.5.gz
# /usr/share/licenses/libarchive/COPYING
# /usr/lib/libarchive.so.13
# /usr/lib/libarchive.so
# /usr/lib/libarchive.la
# /usr/lib/libarchive.so.13.2.1
# /usr/lib/pkgconfig/libarchive.pc
# /usr/bin/bsdtar
# /usr/bin/bsdcpio
# /usr/bin/bsdcat
# /sysroot/usr/lib/libarchive.so.13.2.1
# /sysroot/usr/lib/libarchive.so.13
# /sysroot/usr/lib/libarchive.so
# /sysroot/usr/lib/libarchive.la
# /sysroot/usr/lib/libarchive.a
# /sysroot/usr/lib/pkgconfig/libarchive.pc
# /sysroot/usr/include/archive.h
# /sysroot/usr/include/archive_entry.h

Generating .MTREE

CMD: bsdtar -czf .MTREE --format=mtree --options=!all,use-set,type,uid,mode,time,size,md5,sha256,link .PKGINFO .BUILDINFO usr sysroot

Tar-ing up files

CMD: bsdtar -cf - .PKGINFO .BUILDINFO usr sysroot .MTREE

CMD: xz -c -z

Successfully ran bsdtar -cf - .PKGINFO .BUILDINFO usr sysroot .MTREE | xz -c -z

CMD: bsdtar -tqf libarchive.pkg.tar.xz .PKGINFO
# .PKGINFO

Created package at path /var/cache/pacman/pkg/libarchive.pkg.tar.xz

CMD: pacman --query --file libarchive-debug-3.2.1-2-x86_64.pkg.tar.xz
# libarchive-debug 3.2.1-2

Creating hybrid package for 'libarchive-debug'

Trying to find vanilla package 'libarchive-debug'...

No matching packages found.

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 --host=x86_64-unknown-linux --prefix=/usr --without-xml2 --without-nettle
#
# ## --------- ##
# ## Platform. ##
# ## --------- ##
#
# hostname = b1667e6644f2
# 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: /usr/bin
# 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 x86_64-unknown-linux-strip
# configure:3056: result: no
# configure:3066: checking for strip
# configure:3082: found /usr/bin/strip
# configure:3093: result: strip
# configure:3118: checking for a thread-safe mkdir -p
# configure:3157: result: /usr/bin/mkdir -p
# configure:3164: checking for gawk
# configure:3180: found /usr/bin/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-pc-linux-gnu
# configure:3536: checking host system type
# configure:3549: result: x86_64-unknown-linux-gnu
# configure:3608: checking for x86_64-unknown-linux-gcc
# configure:3635: result: clang
# configure:3904: checking for C compiler version
# configure:3913: clang --version >&5
# clang version 3.8.0 (tags/RELEASE_380/final)
# Target: x86_64-unknown-linux-gnu
# Thread model: posix
# InstalledDir: /usr/bin
# configure:3924: $? = 0
# configure:3913: clang -v >&5
# clang version 3.8.0 (tags/RELEASE_380/final)
# Target: x86_64-unknown-linux-gnu
# Thread model: posix
# InstalledDir: /usr/bin
# Found candidate GCC installation: /usr/bin/../lib/gcc/x86_64-pc-linux-gnu/6.1.1
# Found candidate GCC installation: /usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/6.1.1
# Found candidate GCC installation: /usr/lib/gcc/x86_64-pc-linux-gnu/6.1.1
# Found candidate GCC installation: /usr/lib64/gcc/x86_64-pc-linux-gnu/6.1.1
# Selected GCC installation: /usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/6.1.1
# Candidate multilib: .;@m64
# ... rest of stderr output deleted ...
# configure:3924: $? = 0
# configure:3913: clang -V >&5
# clang-3.8: error: argument to '-V' is missing (expected 1 value)
# clang-3.8: error: no input files
# configure:3924: $? = 1
# configure:3913: clang -qversion >&5
# clang-3.8: error: unknown argument: '-qversion'
# clang-3.8: error: no input files
# configure:3924: $? = 1
# configure:3944: checking whether the C compiler works
# configure:3966: clang 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: clang -o conftest conftest.c >&5
# configure:4040: $? = 0
# configure:4062: result:
# configure:4084: checking whether we are cross compiling
# configure:4092: clang -o conftest conftest.c >&5
# configure:4096: $? = 0
# configure:4103: ./conftest
# configure:4107: $? = 0
# configure:4122: result: no
# configure:4127: checking for suffix of object files
# configure:4149: clang -c conftest.c >&5
# configure:4153: $? = 0
# configure:4174: result: o
# configure:4178: checking whether we are using the GNU C compiler
# configure:4197: clang -c conftest.c >&5
# configure:4197: $? = 0
# configure:4206: result: yes
# configure:4215: checking whether clang accepts -g
# configure:4235: clang -c -g conftest.c >&5
# configure:4235: $? = 0
# configure:4276: result: yes
# configure:4293: checking for clang option to accept ISO C89
# configure:4356: clang -c conftest.c >&5
# configure:4356: $? = 0
# configure:4369: result: none needed
# configure:4394: checking whether clang understands -c and -o together
# configure:4416: clang -c conftest.c -o conftest2.o
# configure:4419: $? = 0
# configure:4416: clang -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 clang
# configure:4624: result: gcc3
# configure:4646: checking how to run the C preprocessor
# configure:4677: clang -E conftest.c
# configure:4677: $? = 0
# configure:4691: clang -E conftest.c
# conftest.c:16:10: fatal error: 'ac_nonexistent.h' file not found
# #include
# ^
# 1 error generated.
# 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: clang -E
# configure:4736: clang -E conftest.c
# configure:4736: $? = 0
# configure:4750: clang -E conftest.c
# conftest.c:16:10: fatal error: 'ac_nonexistent.h' file not found
# #include
# ^
# 1 error generated.
# 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/bin/grep
# configure:4842: checking for egrep
# configure:4904: result: /usr/bin/grep -E
# configure:4909: checking for ANSI C header files
# configure:4929: clang -c conftest.c >&5
# configure:4929: $? = 0
# configure:5002: clang -o conftest conftest.c >&5
# configure:5002: $? = 0
# configure:5002: ./conftest
# configure:5002: $? = 0
# configure:5013: result: yes
# configure:5026: checking for sys/types.h
# configure:5026: clang -c conftest.c >&5
# configure:5026: $? = 0
# configure:5026: result: yes
# configure:5026: checking for sys/stat.h
# configure:5026: clang -c conftest.c >&5
# configure:5026: $? = 0
# configure:5026: result: yes
# configure:5026: checking for stdlib.h
# configure:5026: clang -c conftest.c >&5
# configure:5026: $? = 0
# configure:5026: result: yes
# configure:5026: checking for string.h
# configure:5026: clang -c conftest.c >&5
# configure:5026: $? = 0
# configure:5026: result: yes
# configure:5026: checking for memory.h
# configure:5026: clang -c conftest.c >&5
# configure:5026: $? = 0
# configure:5026: result: yes
# configure:5026: checking for strings.h
# configure:5026: clang -c conftest.c >&5
# configure:5026: $? = 0
# configure:5026: result: yes
# configure:5026: checking for inttypes.h
# configure:5026: clang -c conftest.c >&5
# configure:5026: $? = 0
# configure:5026: result: yes
# configure:5026: checking for stdint.h
# configure:5026: clang -c conftest.c >&5
# configure:5026: $? = 0
# configure:5026: result: yes
# configure:5026: checking for unistd.h
# configure:5026: clang -c conftest.c >&5
# configure:5026: $? = 0
# configure:5026: result: yes
# configure:5039: checking minix/config.h usability
# configure:5039: clang -c conftest.c >&5
# conftest.c:59:10: fatal error: 'minix/config.h' file not found
# #include
# ^
# 1 error generated.
# 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: clang -E conftest.c
# conftest.c:26:10: fatal error: 'minix/config.h' file not found
# #include
# ^
# 1 error generated.
# 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: clang -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/bin/sed
# configure:5578: checking for fgrep
# configure:5640: result: /usr/bin/grep -F
# configure:5675: checking for ld used by clang
# configure:5742: result: /usr/bin/ld
# configure:5749: checking if the linker (/usr/bin/ld) is GNU ld
# configure:5764: result: yes
# configure:5776: checking for BSD- or MS-compatible name lister (nm)
# configure:5825: result: no
# configure:5839: checking for x86_64-unknown-linux-dumpbin
# configure:5869: result: no
# configure:5839: checking for x86_64-unknown-linux-link
# configure:5869: result: no
# configure:5883: checking for dumpbin
# configure:5913: result: no
# configure:5883: checking for link
# configure:5899: found /usr/bin/link
# configure:5910: result: link -dump
# configure:5955: checking the name lister (nm) interface
# configure:5962: clang -c conftest.c >&5
# configure:5965: nm "conftest.o"
# configure:5968: output
# 0000000000000000 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-pc-linux-gnu file names to x86_64-unknown-linux-gnu format
# configure:6233: result: func_convert_file_noop
# configure:6240: checking how to convert x86_64-pc-linux-gnu file names to toolchain format
# configure:6260: result: func_convert_file_noop
# configure:6267: checking for /usr/bin/ld option to reload object files
# configure:6274: result: -r
# configure:6308: checking for x86_64-unknown-linux-objdump
# configure:6335: result: objdump
# configure:6404: checking how to recognize dependent libraries
# configure:6602: result: pass_all
# configure:6647: checking for x86_64-unknown-linux-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 x86_64-unknown-linux-ar
# configure:6817: result: no
# configure:6831: checking for ar
# configure:6847: found /usr/bin/ar
# configure:6858: result: ar
# configure:6895: checking for archiver @FILE support
# configure:6912: clang -c conftest.c >&5
# configure:6912: $? = 0
# configure:6915: ar cru libconftest.a @conftest.lst >&5
# ar: `u' modifier ignored since `D' is the default (see `U')
# configure:6918: $? = 0
# configure:6923: ar cru libconftest.a @conftest.lst >&5
# ar: `u' modifier ignored since `D' is the default (see `U')
# ar: conftest.o: No such file or directory
# configure:6926: $? = 1
# configure:6938: result: @
# configure:6956: checking for x86_64-unknown-linux-strip
# configure:6983: result: strip
# configure:7055: checking for x86_64-unknown-linux-ranlib
# configure:7085: result: no
# configure:7095: checking for ranlib
# configure:7111: found /usr/bin/ranlib
# configure:7122: result: ranlib
# configure:7224: checking command to parse nm output from clang object
# configure:7344: clang -c conftest.c >&5
# configure:7347: $? = 0
# configure:7351: nm conftest.o \| sed -n -e 's/^.*[ ]\([ABCDGIRSTW][ABCDGIRSTW]*\)[ ][ ]*\([_A-Za-z][_A-Za-z0-9]*\)$/\1 \2 \2/p' | sed '/ __gnu_lto/d' \> conftest.nm
# configure:7354: $? = 0
# configure:7420: clang -o conftest conftest.c conftstm.o >&5
# configure:7423: $? = 0
# configure:7461: result: ok
# configure:7498: checking for sysroot
# configure:7528: result: no
# configure:7605: clang -c conftest.c >&5
# configure:7608: $? = 0
# configure:7757: checking for x86_64-unknown-linux-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: clang -c conftest.c >&5
# configure:8500: $? = 0
# configure:8500: result: yes
# configure:8704: checking for objdir
# configure:8719: result: .libs
# configure:8986: checking if clang supports -fno-rtti -fno-exceptions
# configure:9004: clang -c -fno-rtti -fno-exceptions conftest.c >&5
# configure:9008: $? = 0
# configure:9021: result: yes
# configure:9348: checking for clang option to produce PIC
# configure:9355: result: -fPIC -DPIC
# configure:9363: checking if clang PIC flag -fPIC -DPIC works
# configure:9381: clang -c -fPIC -DPIC -DPIC conftest.c >&5
# configure:9385: $? = 0
# configure:9398: result: yes
# configure:9427: checking if clang static flag -static works
# configure:9455: result: yes
# configure:9470: checking if clang supports -c -o file.o
# configure:9491: clang -c -o out/conftest2.o conftest.c >&5
# configure:9495: $? = 0
# configure:9517: result: yes
# configure:9525: checking if clang supports -c -o file.o
# configure:9572: result: yes
# configure:9605: checking whether the clang linker (/usr/bin/ld -m elf_x86_64) supports shared libraries
# configure:10762: result: yes
# configure:10799: checking whether -lc should be explicitly linked in
# configure:10807: clang -c conftest.c >&5
# configure:10810: $? = 0
# configure:10825: clang -shared -fPIC -DPIC conftest.o -v -Wl,-soname -Wl,conftest -o conftest 2\>\&1 \| /usr/bin/grep -lc \>/dev/null 2\>\&1
# configure:10828: $? = 0
# configure:10842: result: no
# configure:11002: checking dynamic linker characteristics
# configure:11502: clang -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 x86_64-unknown-linux-strip
# configure:12548: result: strip
# configure:12825: checking for dirent.h that defines DIR
# configure:12844: clang -c conftest.c >&5
# configure:12844: $? = 0
# configure:12852: result: yes
# configure:12865: checking for library containing opendir
# configure:12896: clang -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: clang -c conftest.c >&5
# configure:13006: $? = 0
# configure:13013: result: yes
# configure:13024: checking copyfile.h usability
# configure:13024: clang -c conftest.c >&5
# conftest.c:68:10: fatal error: 'copyfile.h' file not found
# #include
# ^
# 1 error generated.
# 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: clang -E conftest.c
# conftest.c:35:10: fatal error: 'copyfile.h' file not found
# #include
# ^
# 1 error generated.
# 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: clang -c conftest.c >&5
# configure:13024: $? = 0
# configure:13024: result: yes
# configure:13024: checking ctype.h presence
# configure:13024: clang -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: clang -c conftest.c >&5
# configure:13037: $? = 0
# configure:13037: result: yes
# configure:13037: checking errno.h presence
# configure:13037: clang -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: clang -c conftest.c >&5
# configure:13037: $? = 0
# configure:13037: result: yes
# configure:13037: checking ext2fs/ext2_fs.h presence
# configure:13037: clang -E conftest.c
# configure:13037: $? = 0
# configure:13037: result: yes
# configure:13037: checking for ext2fs/ext2_fs.h
# configure:13037: result: yes
# configure:13037: checking fcntl.h usability
# configure:13037: clang -c conftest.c >&5
# configure:13037: $? = 0
# configure:13037: result: yes
# configure:13037: checking fcntl.h presence
# configure:13037: clang -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: clang -c conftest.c >&5
# configure:13037: $? = 0
# configure:13037: result: yes
# configure:13037: checking grp.h presence
# configure:13037: clang -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: clang -c conftest.c >&5
# configure:13065: $? = 0
# configure:13072: result: yes
# configure:13086: checking for inttypes.h
# configure:13086: result: yes
# configure:13086: checking io.h usability
# configure:13086: clang -c conftest.c >&5
# conftest.c:75:10: fatal error: 'io.h' file not found
# #include
# ^
# 1 error generated.
# 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_EXT2FS_EXT2_FS_H 1
# | #define HAVE_FCNTL_H 1
# | #define HAVE_GRP_H 1
# | #define HAVE_WORKING_EXT2_IOC_GETFLAGS 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: clang -E conftest.c
# conftest.c:42:10: fatal error: 'io.h' file not found
# #include
# ^
# 1 error generated.
# 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_EXT2FS_EXT2_FS_H 1
# | #define HAVE_FCNTL_H 1
# | #define HAVE_GRP_H 1
# | #define HAVE_WORKING_EXT2_IOC_GETFLAGS 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: clang -c conftest.c >&5
# configure:13086: $? = 0
# configure:13086: result: yes
# configure:13086: checking langinfo.h presence
# configure:13086: clang -E conftest.c
# configure:13086: $? = 0
# configure:13086: result: yes
# configure:13086: checking for langinfo.h
# configure:13086: result: yes
# configure:13086: checking limits.h usability
# configure:13086: clang -c conftest.c >&5
# configure:13086: $? = 0
# configure:13086: result: yes
# configure:13086: checking limits.h presence
# configure:13086: clang -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: clang -c conftest.c >&5
# configure:13099: $? = 0
# configure:13099: result: yes
# configure:13099: checking linux/fiemap.h presence
# configure:13099: clang -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: clang -c conftest.c >&5
# configure:13099: $? = 0
# configure:13099: result: yes
# configure:13099: checking linux/fs.h presence
# configure:13099: clang -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: clang -c conftest.c >&5
# configure:13099: $? = 0
# configure:13099: result: yes
# configure:13099: checking linux/magic.h presence
# configure:13099: clang -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: clang -c conftest.c >&5
# configure:13099: $? = 0
# configure:13099: result: yes
# configure:13099: checking linux/types.h presence
# configure:13099: clang -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: clang -c conftest.c >&5
# configure:13112: $? = 0
# configure:13112: result: yes
# configure:13112: checking locale.h presence
# configure:13112: clang -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: clang -c conftest.c >&5
# configure:13112: $? = 0
# configure:13112: result: yes
# configure:13112: checking paths.h presence
# configure:13112: clang -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: clang -c conftest.c >&5
# configure:13112: $? = 0
# configure:13112: result: yes
# configure:13112: checking poll.h presence
# configure:13112: clang -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: clang -c conftest.c >&5
# configure:13112: $? = 0
# configure:13112: result: yes
# configure:13112: checking pthread.h presence
# configure:13112: clang -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: clang -c conftest.c >&5
# configure:13112: $? = 0
# configure:13112: result: yes
# configure:13112: checking pwd.h presence
# configure:13112: clang -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: clang -c conftest.c >&5
# conftest.c:86:10: fatal error: 'readpassphrase.h' file not found
# #include
# ^
# 1 error generated.
# 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_EXT2FS_EXT2_FS_H 1
# | #define HAVE_FCNTL_H 1
# | #define HAVE_GRP_H 1
# | #define HAVE_WORKING_EXT2_IOC_GETFLAGS 1
# | #define HAVE_INTTYPES_H 1
# | #define HAVE_LANGINFO_H 1
# | #define HAVE_LIMITS_H 1
# | #define HAVE_LINUX_FIEMAP_H 1
# | #define HAVE_LINUX_FS_H 1
# | #define HAVE_LINUX_MAGIC_H 1
# | #define HAVE_LINUX_TYPES_H 1
# | #define HAVE_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: clang -E conftest.c
# conftest.c:53:10: fatal error: 'readpassphrase.h' file not found
# #include
# ^
# 1 error generated.
# 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_EXT2FS_EXT2_FS_H 1
# | #define HAVE_FCNTL_H 1
# | #define HAVE_GRP_H 1
# | #define HAVE_WORKING_EXT2_IOC_GETFLAGS 1
# | #define HAVE_INTTYPES_H 1
# | #define HAVE_LANGINFO_H 1
# | #define HAVE_LIMITS_H 1
# | #define HAVE_LINUX_FIEMAP_H 1
# | #define HAVE_LINUX_FS_H 1
# | #define HAVE_LINUX_MAGIC_H 1
# | #define HAVE_LINUX_TYPES_H 1
# | #define HAVE_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: clang -c conftest.c >&5
# configure:13125: $? = 0
# configure:13125: result: yes
# configure:13125: checking signal.h presence
# configure:13125: clang -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: clang -c conftest.c >&5
# configure:13125: $? = 0
# configure:13125: result: yes
# configure:13125: checking spawn.h presence
# configure:13125: clang -E conftest.c
# configure:13125: $? = 0
# configure:13125: result: yes
# configure:13125: checking for spawn.h
# configure:13125: result: yes
# configure:13138: checking stdarg.h usability
# configure:13138: clang -c conftest.c >&5
# configure:13138: $? = 0
# configure:13138: result: yes
# configure:13138: checking stdarg.h presence
# configure:13138: clang -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: clang -c conftest.c >&5
# configure:13151: $? = 0
# configure:13151: result: yes
# configure:13151: checking sys/cdefs.h presence
# configure:13151: clang -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: clang -c conftest.c >&5
# conftest.c:93:10: fatal error: 'sys/extattr.h' file not found
# #include
# ^
# 1 error generated.
# 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_EXT2FS_EXT2_FS_H 1
# | #define HAVE_FCNTL_H 1
# | #define HAVE_GRP_H 1
# | #define HAVE_WORKING_EXT2_IOC_GETFLAGS 1
# | #define HAVE_INTTYPES_H 1
# | #define HAVE_LANGINFO_H 1
# | #define HAVE_LIMITS_H 1
# | #define HAVE_LINUX_FIEMAP_H 1
# | #define HAVE_LINUX_FS_H 1
# | #define HAVE_LINUX_MAGIC_H 1
# | #define HAVE_LINUX_TYPES_H 1
# | #define HAVE_LOCALE_H 1
# | #define HAVE_PATHS_H 1
# | #define HAVE_POLL_H 1
# | #define HAVE_PTHREAD_H 1
# | #define HAVE_PWD_H 1
# | #define HAVE_SIGNAL_H 1
# | #define HAVE_SPAWN_H 1
# | #define HAVE_STDARG_H 1
# | #define HAVE_STDINT_H 1
# | #define HAVE_STDLIB_H 1
# | #define HAVE_STRING_H 1
# | #define HAVE_SYS_CDEFS_H 1
# | /* end confdefs.h. */
# | #include
# | #ifdef HAVE_SYS_TYPES_H
# | # include
# | #endif
# | #ifdef HAVE_SYS_STAT_H
# | # include
# | #endif
# | #ifdef STDC_HEADERS
# | # include
# | # include
# | #else
# | # ifdef HAVE_STDLIB_H
# | # include
# | # endif
# | #endif
# | #ifdef HAVE_STRING_H
# | # if !defined STDC_HEADERS && defined HAVE_MEMORY_H
# | # include
# | # endif
# | # include
# | #endif
# | #ifdef HAVE_STRINGS_H
# | # include
# | #endif
# | #ifdef HAVE_INTTYPES_H
# | # include
# | #endif
# | #ifdef HAVE_STDINT_H
# | # include
# | #endif
# | #ifdef HAVE_UNISTD_H
# | # include
# | #endif
# | #include
# configure:13151: result: no
# configure:13151: checking sys/extattr.h presence
# configure:13151: clang -E conftest.c
# conftest.c:60:10: fatal error: 'sys/extattr.h' file not found
# #include
# ^
# 1 error generated.
# 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_EXT2FS_EXT2_FS_H 1
# | #define HAVE_FCNTL_H 1
# | #define HAVE_GRP_H 1
# | #define HAVE_WORKING_EXT2_IOC_GETFLAGS 1
# | #define HAVE_INTTYPES_H 1
# | #define HAVE_LANGINFO_H 1
# | #define HAVE_LIMITS_H 1
# | #define HAVE_LINUX_FIEMAP_H 1
# | #define HAVE_LINUX_FS_H 1
# | #define HAVE_LINUX_MAGIC_H 1
# | #define HAVE_LINUX_TYPES_H 1
# | #define HAVE_LOCALE_H 1
# | #define HAVE_PATHS_H 1
# | #define HAVE_POLL_H 1
# | #define HAVE_PTHREAD_H 1
# | #define HAVE_PWD_H 1
# | #define HAVE_SIGNAL_H 1
# | #define HAVE_SPAWN_H 1
# | #define HAVE_STDARG_H 1
# | #define HAVE_STDINT_H 1
# | #define HAVE_STDLIB_H 1
# | #define HAVE_STRING_H 1
# | #define HAVE_SYS_CDEFS_H 1
# | /* end confdefs.h. */
# | #include
# configure:13151: result: no
# configure:13151: checking for sys/extattr.h
# configure:13151: result: no
# configure:13164: checking sys/ioctl.h usability
# configure:13164: clang -c conftest.c >&5
# configure:13164: $? = 0
# configure:13164: result: yes
# configure:13164: checking sys/ioctl.h presence
# configure:13164: clang -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: clang -c conftest.c >&5
# conftest.c:94:10: fatal error: 'sys/mkdev.h' file not found
# #include
# ^
# 1 error generated.
# 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_EXT2FS_EXT2_FS_H 1
# | #define HAVE_FCNTL_H 1
# | #define HAVE_GRP_H 1
# | #define HAVE_WORKING_EXT2_IOC_GETFLAGS 1
# | #define HAVE_INTTYPES_H 1
# | #define HAVE_LANGINFO_H 1
# | #define HAVE_LIMITS_H 1
# | #define HAVE_LINUX_FIEMAP_H 1
# | #define HAVE_LINUX_FS_H 1
# | #define HAVE_LINUX_MAGIC_H 1
# | #define HAVE_LINUX_TYPES_H 1
# | #define HAVE_LOCALE_H 1
# | #define HAVE_PATHS_H 1
# | #define HAVE_POLL_H 1
# | #define HAVE_PTHREAD_H 1
# | #define HAVE_PWD_H 1
# | #define HAVE_SIGNAL_H 1
# | #define HAVE_SPAWN_H 1
# | #define HAVE_STDARG_H 1
# | #define HAVE_STDINT_H 1
# | #define HAVE_STDLIB_H 1
# | #define HAVE_STRING_H 1
# | #define HAVE_SYS_CDEFS_H 1
# | #define HAVE_SYS_IOCTL_H 1
# | /* end confdefs.h. */
# | #include
# | #ifdef HAVE_SYS_TYPES_H
# | # include
# | #endif
# | #ifdef HAVE_SYS_STAT_H
# | # include
# | #endif
# | #ifdef STDC_HEADERS
# | # include
# | # include
# | #else
# | # ifdef HAVE_STDLIB_H
# | # include
# | # endif
# | #endif
# | #ifdef HAVE_STRING_H
# | # if !defined STDC_HEADERS && defined HAVE_MEMORY_H
# | # include
# | # endif
# | # include
# | #endif
# | #ifdef HAVE_STRINGS_H
# | # include
# | #endif
# | #ifdef HAVE_INTTYPES_H
# | # include
# | #endif
# | #ifdef HAVE_STDINT_H
# | # include
# | #endif
# | #ifdef HAVE_UNISTD_H
# | # include
# | #endif
# | #include
# configure:13164: result: no
# configure:13164: checking sys/mkdev.h presence
# configure:13164: clang -E conftest.c
# conftest.c:61:10: fatal error: 'sys/mkdev.h' file not found
# #include
# ^
# 1 error generated.
# 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_EXT2FS_EXT2_FS_H 1
# | #define HAVE_FCNTL_H 1
# | #define HAVE_GRP_H 1
# | #define HAVE_WORKING_EXT2_IOC_GETFLAGS 1
# | #define HAVE_INTTYPES_H 1
# | #define HAVE_LANGINFO_H 1
# | #define HAVE_LIMITS_H 1
# | #define HAVE_LINUX_FIEMAP_H 1
# | #define HAVE_LINUX_FS_H 1
# | #define HAVE_LINUX_MAGIC_H 1
# | #define HAVE_LINUX_TYPES_H 1
# | #define HAVE_LOCALE_H 1
# | #define HAVE_PATHS_H 1
# | #define HAVE_POLL_H 1
# | #define HAVE_PTHREAD_H 1
# | #define HAVE_PWD_H 1
# | #define HAVE_SIGNAL_H 1
# | #define HAVE_SPAWN_H 1
# | #define HAVE_STDARG_H 1
# | #define HAVE_STDINT_H 1
# | #define HAVE_STDLIB_H 1
# | #define HAVE_STRING_H 1
# | #define HAVE_SYS_CDEFS_H 1
# | #define HAVE_SYS_IOCTL_H 1
# | /* end confdefs.h. */
# | #include
# configure:13164: result: no
# configure:13164: checking for sys/mkdev.h
# configure:13164: result: no
# configure:13164: checking sys/mount.h usability
# configure:13164: clang -c conftest.c >&5
# configure:13164: $? = 0
# configure:13164: result: yes
# configure:13164: checking sys/mount.h presence
# configure:13164: clang -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: clang -c conftest.c >&5
# configure:13177: $? = 0
# configure:13177: result: yes
# configure:13177: checking sys/param.h presence
# configure:13177: clang -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: clang -c conftest.c >&5
# configure:13177: $? = 0
# configure:13177: result: yes
# configure:13177: checking sys/poll.h presence
# configure:13177: clang -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: clang -c conftest.c >&5
# configure:13177: $? = 0
# configure:13177: result: yes
# configure:13177: checking sys/select.h presence
# configure:13177: clang -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: clang -c conftest.c >&5
# configure:13177: $? = 0
# configure:13177: result: yes
# configure:13177: checking sys/statfs.h presence
# configure:13177: clang -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: clang -c conftest.c >&5
# configure:13177: $? = 0
# configure:13177: result: yes
# configure:13177: checking sys/statvfs.h presence
# configure:13177: clang -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: clang -c conftest.c >&5
# configure:13190: $? = 0
# configure:13190: result: yes
# configure:13190: checking sys/time.h presence
# configure:13190: clang -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: clang -c conftest.c >&5
# conftest.c:101:10: fatal error: 'sys/utime.h' file not found
# #include
# ^
# 1 error generated.
# configure:13190: $? = 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_EXT2FS_EXT2_FS_H 1
# | #define HAVE_FCNTL_H 1
# | #define HAVE_GRP_H 1
# | #define HAVE_WORKING_EXT2_IOC_GETFLAGS 1
# | #define HAVE_INTTYPES_H 1
# | #define HAVE_LANGINFO_H 1
# | #define HAVE_LIMITS_H 1
# | #define HAVE_LINUX_FIEMAP_H 1
# | #define HAVE_LINUX_FS_H 1
# | #define HAVE_LINUX_MAGIC_H 1
# | #define HAVE_LINUX_TYPES_H 1
# | #define HAVE_LOCALE_H 1
# | #define HAVE_PATHS_H 1
# | #define HAVE_POLL_H 1
# | #define HAVE_PTHREAD_H 1
# | #define HAVE_PWD_H 1
# | #define HAVE_SIGNAL_H 1
# | #define HAVE_SPAWN_H 1
# | #define HAVE_STDARG_H 1
# | #define HAVE_STDINT_H 1
# | #define HAVE_STDLIB_H 1
# | #define HAVE_STRING_H 1
# | #define HAVE_SYS_CDEFS_H 1
# | #define HAVE_SYS_IOCTL_H 1
# | #define HAVE_SYS_MOUNT_H 1
# | #define HAVE_SYS_PARAM_H 1
# | #define HAVE_SYS_POLL_H 1
# | #define HAVE_SYS_SELECT_H 1
# | #define HAVE_SYS_STATFS_H 1
# | #define HAVE_SYS_STATVFS_H 1
# | #define HAVE_SYS_TIME_H 1
# | /* end confdefs.h. */
# | #include
# | #ifdef HAVE_SYS_TYPES_H
# | # include
# | #endif
# | #ifdef HAVE_SYS_STAT_H
# | # include
# | #endif
# | #ifdef STDC_HEADERS
# | # include
# | # include
# | #else
# | # ifdef HAVE_STDLIB_H
# | # include
# | # endif
# | #endif
# | #ifdef HAVE_STRING_H
# | # if !defined STDC_HEADERS && defined HAVE_MEMORY_H
# | # include
# | # endif
# | # include
# | #endif
# | #ifdef HAVE_STRINGS_H
# | # include
# | #endif
# | #ifdef HAVE_INTTYPES_H
# | # include
# | #endif
# | #ifdef HAVE_STDINT_H
# | # include
# | #endif
# | #ifdef HAVE_UNISTD_H
# | # include
# | #endif
# | #include
# configure:13190: result: no
# configure:13190: checking sys/utime.h presence
# configure:13190: clang -E conftest.c
# conftest.c:68:10: fatal error: 'sys/utime.h' file not found
# #include
# ^
# 1 error generated.
# configure:13190: $? = 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_EXT2FS_EXT2_FS_H 1
# | #define HAVE_FCNTL_H 1
# | #define HAVE_GRP_H 1
# | #define HAVE_WORKING_EXT2_IOC_GETFLAGS 1
# | #define HAVE_INTTYPES_H 1
# | #define HAVE_LANGINFO_H 1
# | #define HAVE_LIMITS_H 1
# | #define HAVE_LINUX_FIEMAP_H 1
# | #define HAVE_LINUX_FS_H 1
# | #define HAVE_LINUX_MAGIC_H 1
# | #define HAVE_LINUX_TYPES_H 1
# | #define HAVE_LOCALE_H 1
# | #define HAVE_PATHS_H 1
# | #define HAVE_POLL_H 1
# | #define HAVE_PTHREAD_H 1
# | #define HAVE_PWD_H 1
# | #define HAVE_SIGNAL_H 1
# | #define HAVE_SPAWN_H 1
# | #define HAVE_STDARG_H 1
# | #define HAVE_STDINT_H 1
# | #define HAVE_STDLIB_H 1
# | #define HAVE_STRING_H 1
# | #define HAVE_SYS_CDEFS_H 1
# | #define HAVE_SYS_IOCTL_H 1
# | #define HAVE_SYS_MOUNT_H 1
# | #define HAVE_SYS_PARAM_H 1
# | #define HAVE_SYS_POLL_H 1
# | #define HAVE_SYS_SELECT_H 1
# | #define HAVE_SYS_STATFS_H 1
# | #define HAVE_SYS_STATVFS_H 1
# | #define HAVE_SYS_TIME_H 1
# | /* end confdefs.h. */
# | #include
# configure:13190: result: no
# configure:13190: checking for sys/utime.h
# configure:13190: result: no
# configure:13190: checking sys/utsname.h usability
# configure:13190: clang -c conftest.c >&5
# configure:13190: $? = 0
# configure:13190: result: yes
# configure:13190: checking sys/utsname.h presence
# configure:13190: clang -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: clang -c conftest.c >&5
# configure:13190: $? = 0
# configure:13190: result: yes
# configure:13190: checking sys/vfs.h presence
# configure:13190: clang -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: clang -c conftest.c >&5
# configure:13203: $? = 0
# configure:13203: result: yes
# configure:13203: checking time.h presence
# configure:13203: clang -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: clang -c conftest.c >&5
# configure:13203: $? = 0
# configure:13203: result: yes
# configure:13203: checking utime.h presence
# configure:13203: clang -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: clang -c conftest.c >&5
# configure:13203: $? = 0
# configure:13203: result: yes
# configure:13203: checking wchar.h presence
# configure:13203: clang -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: clang -c conftest.c >&5
# configure:13203: $? = 0
# configure:13203: result: yes
# configure:13203: checking wctype.h presence
# configure:13203: clang -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: clang -c conftest.c >&5
# conftest.c:108:10: fatal error: 'windows.h' file not found
# #include
# ^
# 1 error generated.
# 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_EXT2FS_EXT2_FS_H 1
# | #define HAVE_FCNTL_H 1
# | #define HAVE_GRP_H 1
# | #define HAVE_WORKING_EXT2_IOC_GETFLAGS 1
# | #define HAVE_INTTYPES_H 1
# | #define HAVE_LANGINFO_H 1
# | #define HAVE_LIMITS_H 1
# | #define HAVE_LINUX_FIEMAP_H 1
# | #define HAVE_LINUX_FS_H 1
# | #define HAVE_LINUX_MAGIC_H 1
# | #define HAVE_LINUX_TYPES_H 1
# | #define HAVE_LOCALE_H 1
# | #define HAVE_PATHS_H 1
# | #define HAVE_POLL_H 1
# | #define HAVE_PTHREAD_H 1
# | #define HAVE_PWD_H 1
# | #define HAVE_SIGNAL_H 1
# | #define HAVE_SPAWN_H 1
# | #define HAVE_STDARG_H 1
# | #define HAVE_STDINT_H 1
# | #define HAVE_STDLIB_H 1
# | #define HAVE_STRING_H 1
# | #define HAVE_SYS_CDEFS_H 1
# | #define HAVE_SYS_IOCTL_H 1
# | #define HAVE_SYS_MOUNT_H 1
# | #define HAVE_SYS_PARAM_H 1
# | #define HAVE_SYS_POLL_H 1
# | #define HAVE_SYS_SELECT_H 1
# | #define HAVE_SYS_STATFS_H 1
# | #define HAVE_SYS_STATVFS_H 1
# | #define HAVE_SYS_TIME_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: clang -E conftest.c
# conftest.c:75:10: fatal error: 'windows.h' file not found
# #include
# ^
# 1 error generated.
# 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_EXT2FS_EXT2_FS_H 1
# | #define HAVE_FCNTL_H 1
# | #define HAVE_GRP_H 1
# | #define HAVE_WORKING_EXT2_IOC_GETFLAGS 1
# | #define HAVE_INTTYPES_H 1
# | #define HAVE_LANGINFO_H 1
# | #define HAVE_LIMITS_H 1
# | #define HAVE_LINUX_FIEMAP_H 1
# | #define HAVE_LINUX_FS_H 1
# | #define HAVE_LINUX_MAGIC_H 1
# | #define HAVE_LINUX_TYPES_H 1
# | #define HAVE_LOCALE_H 1
# | #define HAVE_PATHS_H 1
# | #define HAVE_POLL_H 1
# | #define HAVE_PTHREAD_H 1
# | #define HAVE_PWD_H 1
# | #define HAVE_SIGNAL_H 1
# | #define HAVE_SPAWN_H 1
# | #define HAVE_STDARG_H 1
# | #define HAVE_STDINT_H 1
# | #define HAVE_STDLIB_H 1
# | #define HAVE_STRING_H 1
# | #define HAVE_SYS_CDEFS_H 1
# | #define HAVE_SYS_IOCTL_H 1
# | #define HAVE_SYS_MOUNT_H 1
# | #define HAVE_SYS_PARAM_H 1
# | #define HAVE_SYS_POLL_H 1
# | #define HAVE_SYS_SELECT_H 1
# | #define HAVE_SYS_STATFS_H 1
# | #define HAVE_SYS_STATVFS_H 1
# | #define HAVE_SYS_TIME_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: clang -c conftest.c >&5
# conftest.c:108:10: fatal error: 'Bcrypt.h' file not found
# #include
# ^
# 1 error generated.
# 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_EXT2FS_EXT2_FS_H 1
# | #define HAVE_FCNTL_H 1
# | #define HAVE_GRP_H 1
# | #define HAVE_WORKING_EXT2_IOC_GETFLAGS 1
# | #define HAVE_INTTYPES_H 1
# | #define HAVE_LANGINFO_H 1
# | #define HAVE_LIMITS_H 1
# | #define HAVE_LINUX_FIEMAP_H 1
# | #define HAVE_LINUX_FS_H 1
# | #define HAVE_LINUX_MAGIC_H 1
# | #define HAVE_LINUX_TYPES_H 1
# | #define HAVE_LOCALE_H 1
# | #define HAVE_PATHS_H 1
# | #define HAVE_POLL_H 1
# | #define HAVE_PTHREAD_H 1
# | #define HAVE_PWD_H 1
# | #define HAVE_SIGNAL_H 1
# | #define HAVE_SPAWN_H 1
# | #define HAVE_STDARG_H 1
# | #define HAVE_STDINT_H 1
# | #define HAVE_STDLIB_H 1
# | #define HAVE_STRING_H 1
# | #define HAVE_SYS_CDEFS_H 1
# | #define HAVE_SYS_IOCTL_H 1
# | #define HAVE_SYS_MOUNT_H 1
# | #define HAVE_SYS_PARAM_H 1
# | #define HAVE_SYS_POLL_H 1
# | #define HAVE_SYS_SELECT_H 1
# | #define HAVE_SYS_STATFS_H 1
# | #define HAVE_SYS_STATVFS_H 1
# | #define HAVE_SYS_TIME_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: clang -E conftest.c
# conftest.c:75:10: fatal error: 'Bcrypt.h' file not found
# #include
# ^
# 1 error generated.
# 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_EXT2FS_EXT2_FS_H 1
# | #define HAVE_FCNTL_H 1
# | #define HAVE_GRP_H 1
# | #define HAVE_WORKING_EXT2_IOC_GETFLAGS 1
# | #define HAVE_INTTYPES_H 1
# | #define HAVE_LANGINFO_H 1
# | #define HAVE_LIMITS_H 1
# | #define HAVE_LINUX_FIEMAP_H 1
# | #define HAVE_LINUX_FS_H 1
# | #define HAVE_LINUX_MAGIC_H 1
# | #define HAVE_LINUX_TYPES_H 1
# | #define HAVE_LOCALE_H 1
# | #define HAVE_PATHS_H 1
# | #define HAVE_POLL_H 1
# | #define HAVE_PTHREAD_H 1
# | #define HAVE_PWD_H 1
# | #define HAVE_SIGNAL_H 1
# | #define HAVE_SPAWN_H 1
# | #define HAVE_STDARG_H 1
# | #define HAVE_STDINT_H 1
# | #define HAVE_STDLIB_H 1
# | #define HAVE_STRING_H 1
# | #define HAVE_SYS_CDEFS_H 1
# | #define HAVE_SYS_IOCTL_H 1
# | #define HAVE_SYS_MOUNT_H 1
# | #define HAVE_SYS_PARAM_H 1
# | #define HAVE_SYS_POLL_H 1
# | #define HAVE_SYS_SELECT_H 1
# | #define HAVE_SYS_STATFS_H 1
# | #define HAVE_SYS_STATVFS_H 1
# | #define HAVE_SYS_TIME_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: clang -c conftest.c >&5
# conftest.c:80:10: fatal error: 'wincrypt.h' file not found
# #include
# ^
# 1 error generated.
# 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_EXT2FS_EXT2_FS_H 1
# | #define HAVE_FCNTL_H 1
# | #define HAVE_GRP_H 1
# | #define HAVE_WORKING_EXT2_IOC_GETFLAGS 1
# | #define HAVE_INTTYPES_H 1
# | #define HAVE_LANGINFO_H 1
# | #define HAVE_LIMITS_H 1
# | #define HAVE_LINUX_FIEMAP_H 1
# | #define HAVE_LINUX_FS_H 1
# | #define HAVE_LINUX_MAGIC_H 1
# | #define HAVE_LINUX_TYPES_H 1
# | #define HAVE_LOCALE_H 1
# | #define HAVE_PATHS_H 1
# | #define HAVE_POLL_H 1
# | #define HAVE_PTHREAD_H 1
# | #define HAVE_PWD_H 1
# | #define HAVE_SIGNAL_H 1
# | #define HAVE_SPAWN_H 1
# | #define HAVE_STDARG_H 1
# | #define HAVE_STDINT_H 1
# | #define HAVE_STDLIB_H 1
# | #define HAVE_STRING_H 1
# | #define HAVE_SYS_CDEFS_H 1
# | #define HAVE_SYS_IOCTL_H 1
# | #define HAVE_SYS_MOUNT_H 1
# | #define HAVE_SYS_PARAM_H 1
# | #define HAVE_SYS_POLL_H 1
# | #define HAVE_SYS_SELECT_H 1
# | #define HAVE_SYS_STATFS_H 1
# | #define HAVE_SYS_STATVFS_H 1
# | #define HAVE_SYS_TIME_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: clang -c conftest.c >&5
# conftest.c:80:10: fatal error: 'winioctl.h' file not found
# #include
# ^
# 1 error generated.
# 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_EXT2FS_EXT2_FS_H 1
# | #define HAVE_FCNTL_H 1
# | #define HAVE_GRP_H 1
# | #define HAVE_WORKING_EXT2_IOC_GETFLAGS 1
# | #define HAVE_INTTYPES_H 1
# | #define HAVE_LANGINFO_H 1
# | #define HAVE_LIMITS_H 1
# | #define HAVE_LINUX_FIEMAP_H 1
# | #define HAVE_LINUX_FS_H 1
# | #define HAVE_LINUX_MAGIC_H 1
# | #define HAVE_LINUX_TYPES_H 1
# | #define HAVE_LOCALE_H 1
# | #define HAVE_PATHS_H 1
# | #define HAVE_POLL_H 1
# | #define HAVE_PTHREAD_H 1
# | #define HAVE_PWD_H 1
# | #define HAVE_SIGNAL_H 1
# | #define HAVE_SPAWN_H 1
# | #define HAVE_STDARG_H 1
# | #define HAVE_STDINT_H 1
# | #define HAVE_STDLIB_H 1
# | #define HAVE_STRING_H 1
# | #define HAVE_SYS_CDEFS_H 1
# | #define HAVE_SYS_IOCTL_H 1
# | #define HAVE_SYS_MOUNT_H 1
# | #define HAVE_SYS_PARAM_H 1
# | #define HAVE_SYS_POLL_H 1
# | #define HAVE_SYS_SELECT_H 1
# | #define HAVE_SYS_STATFS_H 1
# | #define HAVE_SYS_STATVFS_H 1
# | #define HAVE_SYS_TIME_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: clang -c conftest.c >&5
# configure:13267: $? = 0
# configure:13267: result: yes
# configure:13267: checking zlib.h presence
# configure:13267: clang -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: clang -o conftest conftest.c -lz >&5
# configure:13302: $? = 0
# configure:13311: result: yes
# configure:13334: checking bzlib.h usability
# configure:13334: clang -c conftest.c >&5
# configure:13334: $? = 0
# configure:13334: result: yes
# configure:13334: checking bzlib.h presence
# configure:13334: clang -E conftest.c
# configure:13334: $? = 0
# configure:13334: result: yes
# configure:13334: checking for bzlib.h
# configure:13334: result: yes
# configure:13373: checking for BZ2_bzDecompressInit in -lbz2
# configure:13398: clang -o conftest conftest.c -lbz2 -lz >&5
# configure:13398: $? = 0
# configure:13407: result: yes
# configure:13432: checking lzmadec.h usability
# configure:13432: clang -c conftest.c >&5
# conftest.c:112:10: fatal error: 'lzmadec.h' file not found
# #include
# ^
# 1 error generated.
# 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_EXT2FS_EXT2_FS_H 1
# | #define HAVE_FCNTL_H 1
# | #define HAVE_GRP_H 1
# | #define HAVE_WORKING_EXT2_IOC_GETFLAGS 1
# | #define HAVE_INTTYPES_H 1
# | #define HAVE_LANGINFO_H 1
# | #define HAVE_LIMITS_H 1
# | #define HAVE_LINUX_FIEMAP_H 1
# | #define HAVE_LINUX_FS_H 1
# | #define HAVE_LINUX_MAGIC_H 1
# | #define HAVE_LINUX_TYPES_H 1
# | #define HAVE_LOCALE_H 1
# | #define HAVE_PATHS_H 1
# | #define HAVE_POLL_H 1
# | #define HAVE_PTHREAD_H 1
# | #define HAVE_PWD_H 1
# | #define HAVE_SIGNAL_H 1
# | #define HAVE_SPAWN_H 1
# | #define HAVE_STDARG_H 1
# | #define HAVE_STDINT_H 1
# | #define HAVE_STDLIB_H 1
# | #define HAVE_STRING_H 1
# | #define HAVE_SYS_CDEFS_H 1
# | #define HAVE_SYS_IOCTL_H 1
# | #define HAVE_SYS_MOUNT_H 1
# | #define HAVE_SYS_PARAM_H 1
# | #define HAVE_SYS_POLL_H 1
# | #define HAVE_SYS_SELECT_H 1
# | #define HAVE_SYS_STATFS_H 1
# | #define HAVE_SYS_STATVFS_H 1
# | #define HAVE_SYS_TIME_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_BZLIB_H 1
# | #define HAVE_LIBBZ2 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: clang -E conftest.c
# conftest.c:79:10: fatal error: 'lzmadec.h' file not found
# #include
# ^
# 1 error generated.
# 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_EXT2FS_EXT2_FS_H 1
# | #define HAVE_FCNTL_H 1
# | #define HAVE_GRP_H 1
# | #define HAVE_WORKING_EXT2_IOC_GETFLAGS 1
# | #define HAVE_INTTYPES_H 1
# | #define HAVE_LANGINFO_H 1
# | #define HAVE_LIMITS_H 1
# | #define HAVE_LINUX_FIEMAP_H 1
# | #define HAVE_LINUX_FS_H 1
# | #define HAVE_LINUX_MAGIC_H 1
# | #define HAVE_LINUX_TYPES_H 1
# | #define HAVE_LOCALE_H 1
# | #define HAVE_PATHS_H 1
# | #define HAVE_POLL_H 1
# | #define HAVE_PTHREAD_H 1
# | #define HAVE_PWD_H 1
# | #define HAVE_SIGNAL_H 1
# | #define HAVE_SPAWN_H 1
# | #define HAVE_STDARG_H 1
# | #define HAVE_STDINT_H 1
# | #define HAVE_STDLIB_H 1
# | #define HAVE_STRING_H 1
# | #define HAVE_SYS_CDEFS_H 1
# | #define HAVE_SYS_IOCTL_H 1
# | #define HAVE_SYS_MOUNT_H 1
# | #define HAVE_SYS_PARAM_H 1
# | #define HAVE_SYS_POLL_H 1
# | #define HAVE_SYS_SELECT_H 1
# | #define HAVE_SYS_STATFS_H 1
# | #define HAVE_SYS_STATVFS_H 1
# | #define HAVE_SYS_TIME_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_BZLIB_H 1
# | #define HAVE_LIBBZ2 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: clang -o conftest conftest.c -llzmadec -lbz2 -lz >&5
# /usr/bin/ld: cannot find -llzmadec
# clang-3.8: error: linker command failed with exit code 1 (use -v to see invocation)
# 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_EXT2FS_EXT2_FS_H 1
# | #define HAVE_FCNTL_H 1
# | #define HAVE_GRP_H 1
# | #define HAVE_WORKING_EXT2_IOC_GETFLAGS 1
# | #define HAVE_INTTYPES_H 1
# | #define HAVE_LANGINFO_H 1
# | #define HAVE_LIMITS_H 1
# | #define HAVE_LINUX_FIEMAP_H 1
# | #define HAVE_LINUX_FS_H 1
# | #define HAVE_LINUX_MAGIC_H 1
# | #define HAVE_LINUX_TYPES_H 1
# | #define HAVE_LOCALE_H 1
# | #define HAVE_PATHS_H 1
# | #define HAVE_POLL_H 1
# | #define HAVE_PTHREAD_H 1
# | #define HAVE_PWD_H 1
# | #define HAVE_SIGNAL_H 1
# | #define HAVE_SPAWN_H 1
# | #define HAVE_STDARG_H 1
# | #define HAVE_STDINT_H 1
# | #define HAVE_STDLIB_H 1
# | #define HAVE_STRING_H 1
# | #define HAVE_SYS_CDEFS_H 1
# | #define HAVE_SYS_IOCTL_H 1
# | #define HAVE_SYS_MOUNT_H 1
# | #define HAVE_SYS_PARAM_H 1
# | #define HAVE_SYS_POLL_H 1
# | #define HAVE_SYS_SELECT_H 1
# | #define HAVE_SYS_STATFS_H 1
# | #define HAVE_SYS_STATVFS_H 1
# | #define HAVE_SYS_TIME_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_BZLIB_H 1
# | #define HAVE_LIBBZ2 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: /usr/bin/ld -m elf_x86_64
# configure:13607: checking if the linker (/usr/bin/ld -m elf_x86_64) 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: clang -o conftest conftest.c -lbz2 -lz >&5
# configure:14242: $? = 0
# configure:14276: result: yes
# configure:14279: checking for working iconv
# configure:14408: clang -o conftest conftest.c -lbz2 -lz >&5
# configure:14408: $? = 0
# configure:14408: ./conftest
# configure:14408: $? = 0
# configure:14420: result: yes
# configure:14448: checking for iconv declaration
# configure:14477: clang -c conftest.c >&5
# configure:14477: $? = 0
# configure:14488: result:
# extern size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);
# configure:14501: checking for iconv.h
# configure:14501: clang -c conftest.c >&5
# configure:14501: $? = 0
# configure:14501: result: yes
# configure:14515: checking localcharset.h usability
# configure:14515: clang -c conftest.c >&5
# conftest.c:115:10: fatal error: 'localcharset.h' file not found
# #include
# ^
# 1 error generated.
# configure:14515: $? = 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_EXT2FS_EXT2_FS_H 1
# | #define HAVE_FCNTL_H 1
# | #define HAVE_GRP_H 1
# | #define HAVE_WORKING_EXT2_IOC_GETFLAGS 1
# | #define HAVE_INTTYPES_H 1
# | #define HAVE_LANGINFO_H 1
# | #define HAVE_LIMITS_H 1
# | #define HAVE_LINUX_FIEMAP_H 1
# | #define HAVE_LINUX_FS_H 1
# | #define HAVE_LINUX_MAGIC_H 1
# | #define HAVE_LINUX_TYPES_H 1
# | #define HAVE_LOCALE_H 1
# | #define HAVE_PATHS_H 1
# | #define HAVE_POLL_H 1
# | #define HAVE_PTHREAD_H 1
# | #define HAVE_PWD_H 1
# | #define HAVE_SIGNAL_H 1
# | #define HAVE_SPAWN_H 1
# | #define HAVE_STDARG_H 1
# | #define HAVE_STDINT_H 1
# | #define HAVE_STDLIB_H 1
# | #define HAVE_STRING_H 1
# | #define HAVE_SYS_CDEFS_H 1
# | #define HAVE_SYS_IOCTL_H 1
# | #define HAVE_SYS_MOUNT_H 1
# | #define HAVE_SYS_PARAM_H 1
# | #define HAVE_SYS_POLL_H 1
# | #define HAVE_SYS_SELECT_H 1
# | #define HAVE_SYS_STATFS_H 1
# | #define HAVE_SYS_STATVFS_H 1
# | #define HAVE_SYS_TIME_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_BZLIB_H 1
# | #define HAVE_LIBBZ2 1
# | #define HAVE_ICONV 1
# | #define ICONV_CONST
# | #define HAVE_ICONV_H 1
# | /* end confdefs.h. */
# | #include
# | #ifdef HAVE_SYS_TYPES_H
# | # include
# | #endif
# | #ifdef HAVE_SYS_STAT_H
# | # include
# | #endif
# | #ifdef STDC_HEADERS
# | # include
# | # include
# | #else
# | # ifdef HAVE_STDLIB_H
# | # include
# | # endif
# | #endif
# | #ifdef HAVE_STRING_H
# | # if !defined STDC_HEADERS && defined HAVE_MEMORY_H
# | # include
# | # endif
# | # include
# | #endif
# | #ifdef HAVE_STRINGS_H
# | # include
# | #endif
# | #ifdef HAVE_INTTYPES_H
# | # include
# | #endif
# | #ifdef HAVE_STDINT_H
# | # include
# | #endif
# | #ifdef HAVE_UNISTD_H
# | # include
# | #endif
# | #include
# configure:14515: result: no
# configure:14515: checking localcharset.h presence
# configure:14515: clang -E conftest.c
# conftest.c:82:10: fatal error: 'localcharset.h' file not found
# #include
# ^
# 1 error generated.
# configure:14515: $? = 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_EXT2FS_EXT2_FS_H 1
# | #define HAVE_FCNTL_H 1
# | #define HAVE_GRP_H 1
# | #define HAVE_WORKING_EXT2_IOC_GETFLAGS 1
# | #define HAVE_INTTYPES_H 1
# | #define HAVE_LANGINFO_H 1
# | #define HAVE_LIMITS_H 1
# | #define HAVE_LINUX_FIEMAP_H 1
# | #define HAVE_LINUX_FS_H 1
# | #define HAVE_LINUX_MAGIC_H 1
# | #define HAVE_LINUX_TYPES_H 1
# | #define HAVE_LOCALE_H 1
# | #define HAVE_PATHS_H 1
# | #define HAVE_POLL_H 1
# | #define HAVE_PTHREAD_H 1
# | #define HAVE_PWD_H 1
# | #define HAVE_SIGNAL_H 1
# | #define HAVE_SPAWN_H 1
# | #define HAVE_STDARG_H 1
# | #define HAVE_STDINT_H 1
# | #define HAVE_STDLIB_H 1
# | #define HAVE_STRING_H 1
# | #define HAVE_SYS_CDEFS_H 1
# | #define HAVE_SYS_IOCTL_H 1
# | #define HAVE_SYS_MOUNT_H 1
# | #define HAVE_SYS_PARAM_H 1
# | #define HAVE_SYS_POLL_H 1
# | #define HAVE_SYS_SELECT_H 1
# | #define HAVE_SYS_STATFS_H 1
# | #define HAVE_SYS_STATVFS_H 1
# | #define HAVE_SYS_TIME_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_BZLIB_H 1
# | #define HAVE_LIBBZ2 1
# | #define HAVE_ICONV 1
# | #define ICONV_CONST
# | #define HAVE_ICONV_H 1
# | /* end confdefs.h. */
# | #include
# configure:14515: result: no
# configure:14515: checking for localcharset.h
# configure:14515: result: no
# configure:14529: checking for locale_charset
# configure:14529: clang -o conftest conftest.c -lbz2 -lz >&5
# /tmp/conftest-e149fa.o: In function `main':
# conftest.c:(.text+0x12): undefined reference to `locale_charset'
# clang-3.8: error: linker command failed with exit code 1 (use -v to see invocation)
# configure:14529: $? = 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_EXT2FS_EXT2_FS_H 1
# | #define HAVE_FCNTL_H 1
# | #define HAVE_GRP_H 1
# | #define HAVE_WORKING_EXT2_IOC_GETFLAGS 1
# | #define HAVE_INTTYPES_H 1
# | #define HAVE_LANGINFO_H 1
# | #define HAVE_LIMITS_H 1
# | #define HAVE_LINUX_FIEMAP_H 1
# | #define HAVE_LINUX_FS_H 1
# | #define HAVE_LINUX_MAGIC_H 1
# | #define HAVE_LINUX_TYPES_H 1
# | #define HAVE_LOCALE_H 1
# | #define HAVE_PATHS_H 1
# | #define HAVE_POLL_H 1
# | #define HAVE_PTHREAD_H 1
# | #define HAVE_PWD_H 1
# | #define HAVE_SIGNAL_H 1
# | #define HAVE_SPAWN_H 1
# | #define HAVE_STDARG_H 1
# | #define HAVE_STDINT_H 1
# | #define HAVE_STDLIB_H 1
# | #define HAVE_STRING_H 1
# | #define HAVE_SYS_CDEFS_H 1
# | #define HAVE_SYS_IOCTL_H 1
# | #define HAVE_SYS_MOUNT_H 1
# | #define HAVE_SYS_PARAM_H 1
# | #define HAVE_SYS_POLL_H 1
# | #define HAVE_SYS_SELECT_H 1
# | #define HAVE_SYS_STATFS_H 1
# | #define HAVE_SYS_STATVFS_H 1
# | #define HAVE_SYS_TIME_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_BZLIB_H 1
# | #define HAVE_LIBBZ2 1
# | #define HAVE_ICONV 1
# | #define ICONV_CONST
# | #define HAVE_ICONV_H 1
# | /* end confdefs.h. */
# | /* Define locale_charset to an innocuous variant, in case declares locale_charset.
# | For example, HP-UX 11i declares gettimeofday. */
# | #define locale_charset innocuous_locale_charset
# |
# | /* System header to define __stub macros and hopefully few prototypes,
# | which can conflict with char locale_charset (); below.
# | Prefer to if __STDC__ is defined, since
# | exists even on freestanding compilers. */
# |
# | #ifdef __STDC__
# | # include
# | #else
# | # include
# | #endif
# |
# | #undef locale_charset
# |
# | /* Override any GCC internal prototype to avoid an error.
# | Use char because int might match the return type of a GCC
# | builtin and then its argument prototype would still apply. */
# | #ifdef __cplusplus
# | extern "C"
# | #endif
# | char locale_charset ();
# | /* The GNU C library defines this for functions which it implements
# | to always fail with ENOSYS. Some functions are actually named
# | something starting with __ and the normal name is an alias. */
# | #if defined __stub_locale_charset || defined __stub___locale_charset
# | choke me
# | #endif
# |
# | int
# | main ()
# | {
# | return locale_charset ();
# | ;
# | return 0;
# | }
# configure:14529: result: no
# configure:14541: checking for locale_charset in -lcharset
# configure:14566: clang -o conftest conftest.c -lcharset -lbz2 -lz >&5
# /usr/bin/ld: cannot find -lcharset
# clang-3.8: error: linker command failed with exit code 1 (use -v to see invocation)
# configure:14566: $? = 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_EXT2FS_EXT2_FS_H 1
# | #define HAVE_FCNTL_H 1
# | #define HAVE_GRP_H 1
# | #define HAVE_WORKING_EXT2_IOC_GETFLAGS 1
# | #define HAVE_INTTYPES_H 1
# | #define HAVE_LANGINFO_H 1
# | #define HAVE_LIMITS_H 1
# | #define HAVE_LINUX_FIEMAP_H 1
# | #define HAVE_LINUX_FS_H 1
# | #define HAVE_LINUX_MAGIC_H 1
# | #define HAVE_LINUX_TYPES_H 1
# | #define HAVE_LOCALE_H 1
# | #define HAVE_PATHS_H 1
# | #define HAVE_POLL_H 1
# | #define HAVE_PTHREAD_H 1
# | #define HAVE_PWD_H 1
# | #define HAVE_SIGNAL_H 1
# | #define HAVE_SPAWN_H 1
# | #define HAVE_STDARG_H 1
# | #define HAVE_STDINT_H 1
# | #define HAVE_STDLIB_H 1
# | #define HAVE_STRING_H 1
# | #define HAVE_SYS_CDEFS_H 1
# | #define HAVE_SYS_IOCTL_H 1
# | #define HAVE_SYS_MOUNT_H 1
# | #define HAVE_SYS_PARAM_H 1
# | #define HAVE_SYS_POLL_H 1
# | #define HAVE_SYS_SELECT_H 1
# | #define HAVE_SYS_STATFS_H 1
# | #define HAVE_SYS_STATVFS_H 1
# | #define HAVE_SYS_TIME_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_BZLIB_H 1
# | #define HAVE_LIBBZ2 1
# | #define HAVE_ICONV 1
# | #define ICONV_CONST
# | #define HAVE_ICONV_H 1
# | /* end confdefs.h. */
# |
# | /* Override any GCC internal prototype to avoid an error.
# | Use char because int might match the return type of a GCC
# | builtin and then its argument prototype would still apply. */
# | #ifdef __cplusplus
# | extern "C"
# | #endif
# | char locale_charset ();
# | int
# | main ()
# | {
# | return locale_charset ();
# | ;
# | return 0;
# | }
# configure:14575: result: no
# configure:14601: checking lz4.h usability
# configure:14601: clang -c conftest.c >&5
# configure:14601: $? = 0
# configure:14601: result: yes
# configure:14601: checking lz4.h presence
# configure:14601: clang -E conftest.c
# configure:14601: $? = 0
# configure:14601: result: yes
# configure:14601: checking for lz4.h
# configure:14601: result: yes
# configure:14601: checking lz4hc.h usability
# configure:14601: clang -c conftest.c >&5
# configure:14601: $? = 0
# configure:14601: result: yes
# configure:14601: checking lz4hc.h presence
# configure:14601: clang -E conftest.c
# configure:14601: $? = 0
# configure:14601: result: yes
# configure:14601: checking for lz4hc.h
# configure:14601: result: yes
# configure:14611: checking for LZ4_decompress_safe in -llz4
# configure:14636: clang -o conftest conftest.c -llz4 -lbz2 -lz >&5
# configure:14636: $? = 0
# configure:14645: result: yes
# configure:14668: checking lzma.h usability
# configure:14668: clang -c conftest.c >&5
# configure:14668: $? = 0
# configure:14668: result: yes
# configure:14668: checking lzma.h presence
# configure:14668: clang -E conftest.c
# configure:14668: $? = 0
# configure:14668: result: yes
# configure:14668: checking for lzma.h
# configure:14668: result: yes
# configure:14678: checking for lzma_stream_decoder in -llzma
# configure:14703: clang -o conftest conftest.c -llzma -llz4 -lbz2 -lz >&5
# configure:14703: $? = 0
# configure:14712: result: yes
# configure:14727: checking whether we have multithread support in lzma
# configure:14744: clang -c conftest.c >&5
# conftest.c:92:1: warning: ignoring return value of function declared with warn_unused_result attribute [-Wunused-result]
# lzma_stream_encoder_mt(0, 0);
# ^~~~~~~~~~~~~~~~~~~~~~ ~~~~
# 1 warning generated.
# configure:14744: $? = 0
# configure:14751: result: yes
# configure:14771: checking lzo/lzoconf.h usability
# configure:14771: clang -c conftest.c >&5
# configure:14771: $? = 0
# configure:14771: result: yes
# configure:14771: checking lzo/lzoconf.h presence
# configure:14771: clang -E conftest.c
# configure:14771: $? = 0
# configure:14771: result: yes
# configure:14771: checking for lzo/lzoconf.h
# configure:14771: result: yes
# configure:14771: checking lzo/lzo1x.h usability
# configure:14771: clang -c conftest.c >&5
# configure:14771: $? = 0
# configure:14771: result: yes
# configure:14771: checking lzo/lzo1x.h presence
# configure:14771: clang -E conftest.c
# configure:14771: $? = 0
# configure:14771: result: yes
# configure:14771: checking for lzo/lzo1x.h
# configure:14771: result: yes
# configure:14781: checking for lzo1x_decompress_safe in -llzo2
# configure:14806: clang -o conftest conftest.c -llzo2 -llzma -llz4 -lbz2 -lz >&5
# configure:14806: $? = 0
# configure:14815: result: yes
# configure:15207: checking expat.h usability
# configure:15207: clang -c conftest.c >&5
# configure:15207: $? = 0
# configure:15207: result: yes
# configure:15207: checking expat.h presence
# configure:15207: clang -E conftest.c
# configure:15207: $? = 0
# configure:15207: result: yes
# configure:15207: checking for expat.h
# configure:15207: result: yes
# configure:15217: checking for XML_ParserCreate in -lexpat
# configure:15242: clang -o conftest conftest.c -lexpat -llzo2 -llzma -llz4 -lbz2 -lz >&5
# configure:15242: $? = 0
# configure:15251: result: yes
# configure:15277: checking regex.h usability
# configure:15277: clang -c conftest.c >&5
# configure:15277: $? = 0
# configure:15277: result: yes
# configure:15277: checking regex.h presence
# configure:15277: clang -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: clang -o conftest conftest.c -lexpat -llzo2 -llzma -llz4 -lbz2 -lz >&5
# configure:15288: $? = 0
# configure:15288: result: yes
# configure:15558: checking whether C compiler accepts -Wall
# configure:15577: clang -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: clang -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: clang -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: clang -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: clang -c -Wall -Wformat -Wformat-security conftest.c >&5
# configure:15750: $? = 0
# configure:15750: clang -c -Wall -Wformat -Wformat-security conftest.c >&5
# conftest.c:130:21: error: expected expression
# if (sizeof ((mode_t)))
# ^
# 1 error generated.
# 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_EXT2FS_EXT2_FS_H 1
# | #define HAVE_FCNTL_H 1
# | #define HAVE_GRP_H 1
# | #define HAVE_WORKING_EXT2_IOC_GETFLAGS 1
# | #define HAVE_INTTYPES_H 1
# | #define HAVE_LANGINFO_H 1
# | #define HAVE_LIMITS_H 1
# | #define HAVE_LINUX_FIEMAP_H 1
# | #define HAVE_LINUX_FS_H 1
# | #define HAVE_LINUX_MAGIC_H 1
# | #define HAVE_LINUX_TYPES_H 1
# | #define HAVE_LOCALE_H 1
# | #define HAVE_PATHS_H 1
# | #define HAVE_POLL_H 1
# | #define HAVE_PTHREAD_H 1
# | #define HAVE_PWD_H 1
# | #define HAVE_SIGNAL_H 1
# | #define HAVE_SPAWN_H 1
# | #define HAVE_STDARG_H 1
# | #define HAVE_STDINT_H 1
# | #define HAVE_STDLIB_H 1
# | #define HAVE_STRING_H 1
# | #define HAVE_SYS_CDEFS_H 1
# | #define HAVE_SYS_IOCTL_H 1
# | #define HAVE_SYS_MOUNT_H 1
# | #define HAVE_SYS_PARAM_H 1
# | #define HAVE_SYS_POLL_H 1
# | #define HAVE_SYS_SELECT_H 1
# | #define HAVE_SYS_STATFS_H 1
# | #define HAVE_SYS_STATVFS_H 1
# | #define HAVE_SYS_TIME_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_BZLIB_H 1
# | #define HAVE_LIBBZ2 1
# | #define HAVE_ICONV 1
# | #define ICONV_CONST
# | #define HAVE_ICONV_H 1
# | #define HAVE_LZ4_H 1
# | #define HAVE_LZ4HC_H 1
# | #define HAVE_LIBLZ4 1
# | #define HAVE_LZMA_H 1
# | #define HAVE_LIBLZMA 1
# | #define HAVE_LZMA_STREAM_ENCODER_MT 1
# | #define HAVE_LZO_LZOCONF_H 1
# | #define HAVE_LZO_LZO1X_H 1
# | #define HAVE_LIBLZO2 1
# | #define HAVE_EXPAT_H 1
# | #define HAVE_LIBEXPAT 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: clang -c -Wall -Wformat -Wformat-security conftest.c >&5
# configure:15763: $? = 0
# configure:15763: clang -c -Wall -Wformat -Wformat-security conftest.c >&5
# conftest.c:130:20: error: expected expression
# if (sizeof ((off_t)))
# ^
# 1 error generated.
# 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_EXT2FS_EXT2_FS_H 1
# | #define HAVE_FCNTL_H 1
# | #define HAVE_GRP_H 1
# | #define HAVE_WORKING_EXT2_IOC_GETFLAGS 1
# | #define HAVE_INTTYPES_H 1
# | #define HAVE_LANGINFO_H 1
# | #define HAVE_LIMITS_H 1
# | #define HAVE_LINUX_FIEMAP_H 1
# | #define HAVE_LINUX_FS_H 1
# | #define HAVE_LINUX_MAGIC_H 1
# | #define HAVE_LINUX_TYPES_H 1
# | #define HAVE_LOCALE_H 1
# | #define HAVE_PATHS_H 1
# | #define HAVE_POLL_H 1
# | #define HAVE_PTHREAD_H 1
# | #define HAVE_PWD_H 1
# | #define HAVE_SIGNAL_H 1
# | #define HAVE_SPAWN_H 1
# | #define HAVE_STDARG_H 1
# | #define HAVE_STDINT_H 1
# | #define HAVE_STDLIB_H 1
# | #define HAVE_STRING_H 1
# | #define HAVE_SYS_CDEFS_H 1
# | #define HAVE_SYS_IOCTL_H 1
# | #define HAVE_SYS_MOUNT_H 1
# | #define HAVE_SYS_PARAM_H 1
# | #define HAVE_SYS_POLL_H 1
# | #define HAVE_SYS_SELECT_H 1
# | #define HAVE_SYS_STATFS_H 1
# | #define HAVE_SYS_STATVFS_H 1
# | #define HAVE_SYS_TIME_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_BZLIB_H 1
# | #define HAVE_LIBBZ2 1
# | #define HAVE_ICONV 1
# | #define ICONV_CONST
# | #define HAVE_ICONV_H 1
# | #define HAVE_LZ4_H 1
# | #define HAVE_LZ4HC_H 1
# | #define HAVE_LIBLZ4 1
# | #define HAVE_LZMA_H 1
# | #define HAVE_LIBLZMA 1
# | #define HAVE_LZMA_STREAM_ENCODER_MT 1
# | #define HAVE_LZO_LZOCONF_H 1
# | #define HAVE_LZO_LZO1X_H 1
# | #define HAVE_LIBLZO2 1
# | #define HAVE_EXPAT_H 1
# | #define HAVE_LIBEXPAT 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: clang -c -Wall -Wformat -Wformat-security conftest.c >&5
# configure:15774: $? = 0
# configure:15774: clang -c -Wall -Wformat -Wformat-security conftest.c >&5
# conftest.c:130:21: error: expected expression
# if (sizeof ((size_t)))
# ^
# 1 error generated.
# 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_EXT2FS_EXT2_FS_H 1
# | #define HAVE_FCNTL_H 1
# | #define HAVE_GRP_H 1
# | #define HAVE_WORKING_EXT2_IOC_GETFLAGS 1
# | #define HAVE_INTTYPES_H 1
# | #define HAVE_LANGINFO_H 1
# | #define HAVE_LIMITS_H 1
# | #define HAVE_LINUX_FIEMAP_H 1
# | #define HAVE_LINUX_FS_H 1
# | #define HAVE_LINUX_MAGIC_H 1
# | #define HAVE_LINUX_TYPES_H 1
# | #define HAVE_LOCALE_H 1
# | #define HAVE_PATHS_H 1
# | #define HAVE_POLL_H 1
# | #define HAVE_PTHREAD_H 1
# | #define HAVE_PWD_H 1
# | #define HAVE_SIGNAL_H 1
# | #define HAVE_SPAWN_H 1
# | #define HAVE_STDARG_H 1
# | #define HAVE_STDINT_H 1
# | #define HAVE_STDLIB_H 1
# | #define HAVE_STRING_H 1
# | #define HAVE_SYS_CDEFS_H 1
# | #define HAVE_SYS_IOCTL_H 1
# | #define HAVE_SYS_MOUNT_H 1
# | #define HAVE_SYS_PARAM_H 1
# | #define HAVE_SYS_POLL_H 1
# | #define HAVE_SYS_SELECT_H 1
# | #define HAVE_SYS_STATFS_H 1
# | #define HAVE_SYS_STATVFS_H 1
# | #define HAVE_SYS_TIME_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_BZLIB_H 1
# | #define HAVE_LIBBZ2 1
# | #define HAVE_ICONV 1
# | #define ICONV_CONST
# | #define HAVE_ICONV_H 1
# | #define HAVE_LZ4_H 1
# | #define HAVE_LZ4HC_H 1
# | #define HAVE_LIBLZ4 1
# | #define HAVE_LZMA_H 1
# | #define HAVE_LIBLZMA 1
# | #define HAVE_LZMA_STREAM_ENCODER_MT 1
# | #define HAVE_LZO_LZOCONF_H 1
# | #define HAVE_LZO_LZO1X_H 1
# | #define HAVE_LIBLZO2 1
# | #define HAVE_EXPAT_H 1
# | #define HAVE_LIBEXPAT 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: clang -c -Wall -Wformat -Wformat-security conftest.c >&5
# configure:15785: $? = 0
# configure:15785: clang -c -Wall -Wformat -Wformat-security conftest.c >&5
# conftest.c:130:19: error: expected expression
# if (sizeof ((id_t)))
# ^
# 1 error generated.
# 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_EXT2FS_EXT2_FS_H 1
# | #define HAVE_FCNTL_H 1
# | #define HAVE_GRP_H 1
# | #define HAVE_WORKING_EXT2_IOC_GETFLAGS 1
# | #define HAVE_INTTYPES_H 1
# | #define HAVE_LANGINFO_H 1
# | #define HAVE_LIMITS_H 1
# | #define HAVE_LINUX_FIEMAP_H 1
# | #define HAVE_LINUX_FS_H 1
# | #define HAVE_LINUX_MAGIC_H 1
# | #define HAVE_LINUX_TYPES_H 1
# | #define HAVE_LOCALE_H 1
# | #define HAVE_PATHS_H 1
# | #define HAVE_POLL_H 1
# | #define HAVE_PTHREAD_H 1
# | #define HAVE_PWD_H 1
# | #define HAVE_SIGNAL_H 1
# | #define HAVE_SPAWN_H 1
# | #define HAVE_STDARG_H 1
# | #define HAVE_STDINT_H 1
# | #define HAVE_STDLIB_H 1
# | #define HAVE_STRING_H 1
# | #define HAVE_SYS_CDEFS_H 1
# | #define HAVE_SYS_IOCTL_H 1
# | #define HAVE_SYS_MOUNT_H 1
# | #define HAVE_SYS_PARAM_H 1
# | #define HAVE_SYS_POLL_H 1
# | #define HAVE_SYS_SELECT_H 1
# | #define HAVE_SYS_STATFS_H 1
# | #define HAVE_SYS_STATVFS_H 1
# | #define HAVE_SYS_TIME_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_BZLIB_H 1
# | #define HAVE_LIBBZ2 1
# | #define HAVE_ICONV 1
# | #define ICONV_CONST
# | #define HAVE_ICONV_H 1
# | #define HAVE_LZ4_H 1
# | #define HAVE_LZ4HC_H 1
# | #define HAVE_LIBLZ4 1
# | #define HAVE_LZMA_H 1
# | #define HAVE_LIBLZMA 1
# | #define HAVE_LZMA_STREAM_ENCODER_MT 1
# | #define HAVE_LZO_LZOCONF_H 1
# | #define HAVE_LZO_LZO1X_H 1
# | #define HAVE_LIBLZO2 1
# | #define HAVE_EXPAT_H 1
# | #define HAVE_LIBEXPAT 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: clang -c -Wall -Wformat -Wformat-security conftest.c >&5
# configure:15796: $? = 0
# configure:15796: clang -c -Wall -Wformat -Wformat-security conftest.c >&5
# conftest.c:130:24: error: expected expression
# if (sizeof ((uintptr_t)))
# ^
# 1 error generated.
# 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_EXT2FS_EXT2_FS_H 1
# | #define HAVE_FCNTL_H 1
# | #define HAVE_GRP_H 1
# | #define HAVE_WORKING_EXT2_IOC_GETFLAGS 1
# | #define HAVE_INTTYPES_H 1
# | #define HAVE_LANGINFO_H 1
# | #define HAVE_LIMITS_H 1
# | #define HAVE_LINUX_FIEMAP_H 1
# | #define HAVE_LINUX_FS_H 1
# | #define HAVE_LINUX_MAGIC_H 1
# | #define HAVE_LINUX_TYPES_H 1
# | #define HAVE_LOCALE_H 1
# | #define HAVE_PATHS_H 1
# | #define HAVE_POLL_H 1
# | #define HAVE_PTHREAD_H 1
# | #define HAVE_PWD_H 1
# | #define HAVE_SIGNAL_H 1
# | #define HAVE_SPAWN_H 1
# | #define HAVE_STDARG_H 1
# | #define HAVE_STDINT_H 1
# | #define HAVE_STDLIB_H 1
# | #define HAVE_STRING_H 1
# | #define HAVE_SYS_CDEFS_H 1
# | #define HAVE_SYS_IOCTL_H 1
# | #define HAVE_SYS_MOUNT_H 1
# | #define HAVE_SYS_PARAM_H 1
# | #define HAVE_SYS_POLL_H 1
# | #define HAVE_SYS_SELECT_H 1
# | #define HAVE_SYS_STATFS_H 1
# | #define HAVE_SYS_STATVFS_H 1
# | #define HAVE_SYS_TIME_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_BZLIB_H 1
# | #define HAVE_LIBBZ2 1
# | #define HAVE_ICONV 1
# | #define ICONV_CONST
# | #define HAVE_ICONV_H 1
# | #define HAVE_LZ4_H 1
# | #define HAVE_LZ4HC_H 1
# | #define HAVE_LIBLZ4 1
# | #define HAVE_LZMA_H 1
# | #define HAVE_LIBLZMA 1
# | #define HAVE_LZMA_STREAM_ENCODER_MT 1
# | #define HAVE_LZO_LZOCONF_H 1
# | #define HAVE_LZO_LZO1X_H 1
# | #define HAVE_LIBLZO2 1
# | #define HAVE_EXPAT_H 1
# | #define HAVE_LIBEXPAT 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: clang -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: clang -c -Wall -Wformat -Wformat-security conftest.c >&5
# conftest.c:103:13: error: no member named '__tm_gmtoff' in 'struct tm'; did you mean 'tm_gmtoff'?
# if (ac_aggr.__tm_gmtoff)
# ^~~~~~~~~~~
# tm_gmtoff
# /usr/include/time.h:146:12: note: 'tm_gmtoff' declared here
# long int tm_gmtoff; /* Seconds east of UTC. */
# ^
# 1 error generated.
# 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_EXT2FS_EXT2_FS_H 1
# | #define HAVE_FCNTL_H 1
# | #define HAVE_GRP_H 1
# | #define HAVE_WORKING_EXT2_IOC_GETFLAGS 1
# | #define HAVE_INTTYPES_H 1
# | #define HAVE_LANGINFO_H 1
# | #define HAVE_LIMITS_H 1
# | #define HAVE_LINUX_FIEMAP_H 1
# | #define HAVE_LINUX_FS_H 1
# | #define HAVE_LINUX_MAGIC_H 1
# | #define HAVE_LINUX_TYPES_H 1
# | #define HAVE_LOCALE_H 1
# | #define HAVE_PATHS_H 1
# | #define HAVE_POLL_H 1
# | #define HAVE_PTHREAD_H 1
# | #define HAVE_PWD_H 1
# | #define HAVE_SIGNAL_H 1
# | #define HAVE_SPAWN_H 1
# | #define HAVE_STDARG_H 1
# | #define HAVE_STDINT_H 1
# | #define HAVE_STDLIB_H 1
# | #define HAVE_STRING_H 1
# | #define HAVE_SYS_CDEFS_H 1
# | #define HAVE_SYS_IOCTL_H 1
# | #define HAVE_SYS_MOUNT_H 1
# | #define HAVE_SYS_PARAM_H 1
# | #define HAVE_SYS_POLL_H 1
# | #define HAVE_SYS_SELECT_H 1
# | #define HAVE_SYS_STATFS_H 1
# | #define HAVE_SYS_STATVFS_H 1
# | #define HAVE_SYS_TIME_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_BZLIB_H 1
# | #define HAVE_LIBBZ2 1
# | #define HAVE_ICONV 1
# | #define ICONV_CONST
# | #define HAVE_ICONV_H 1
# | #define HAVE_LZ4_H 1
# | #define HAVE_LZ4HC_H 1
# | #define HAVE_LIBLZ4 1
# | #define HAVE_LZMA_H 1
# | #define HAVE_LIBLZMA 1
# | #define HAVE_LZMA_STREAM_ENCODER_MT 1
# | #define HAVE_LZO_LZOCONF_H 1
# | #define HAVE_LZO_LZO1X_H 1
# | #define HAVE_LIBLZO2 1
# | #define HAVE_EXPAT_H 1
# | #define HAVE_LIBEXPAT 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: clang -c -Wall -Wformat -Wformat-security conftest.c >&5
# conftest.c:103:20: error: no member named '__tm_gmtoff' in 'struct tm'; did you mean 'tm_gmtoff'?
# if (sizeof ac_aggr.__tm_gmtoff)
# ^~~~~~~~~~~
# tm_gmtoff
# /usr/include/time.h:146:12: note: 'tm_gmtoff' declared here
# long int tm_gmtoff; /* Seconds east of UTC. */
# ^
# 1 error generated.
# 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_EXT2FS_EXT2_FS_H 1
# | #define HAVE_FCNTL_H 1
# | #define HAVE_GRP_H 1
# | #define HAVE_WORKING_EXT2_IOC_GETFLAGS 1
# | #define HAVE_INTTYPES_H 1
# | #define HAVE_LANGINFO_H 1
# | #define HAVE_LIMITS_H 1
# | #define HAVE_LINUX_FIEMAP_H 1
# | #define HAVE_LINUX_FS_H 1
# | #define HAVE_LINUX_MAGIC_H 1
# | #define HAVE_LINUX_TYPES_H 1
# | #define HAVE_LOCALE_H 1
# | #define HAVE_PATHS_H 1
# | #define HAVE_POLL_H 1
# | #define HAVE_PTHREAD_H 1
# | #define HAVE_PWD_H 1
# | #define HAVE_SIGNAL_H 1
# | #define HAVE_SPAWN_H 1
# | #define HAVE_STDARG_H 1
# | #define HAVE_STDINT_H 1
# | #define HAVE_STDLIB_H 1
# | #define HAVE_STRING_H 1
# | #define HAVE_SYS_CDEFS_H 1
# | #define HAVE_SYS_IOCTL_H 1
# | #define HAVE_SYS_MOUNT_H 1
# | #define HAVE_SYS_PARAM_H 1
# | #define HAVE_SYS_POLL_H 1
# | #define HAVE_SYS_SELECT_H 1
# | #define HAVE_SYS_STATFS_H 1
# | #define HAVE_SYS_STATVFS_H 1
# | #define HAVE_SYS_TIME_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_BZLIB_H 1
# | #define HAVE_LIBBZ2 1
# | #define HAVE_ICONV 1
# | #define ICONV_CONST
# | #define HAVE_ICONV_H 1
# | #define HAVE_LZ4_H 1
# | #define HAVE_LZ4HC_H 1
# | #define HAVE_LIBLZ4 1
# | #define HAVE_LZMA_H 1
# | #define HAVE_LIBLZMA 1
# | #define HAVE_LZMA_STREAM_ENCODER_MT 1
# | #define HAVE_LZO_LZOCONF_H 1
# | #define HAVE_LZO_LZO1X_H 1
# | #define HAVE_LIBLZO2 1
# | #define HAVE_EXPAT_H 1
# | #define HAVE_LIBEXPAT 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: clang -c -Wall -Wformat -Wformat-security conftest.c >&5
# conftest.c:103:22: error: variable has incomplete type 'struct statfs'
# static struct statfs ac_aggr;
# ^
# conftest.c:103:15: note: forward declaration of 'struct statfs'
# static struct statfs ac_aggr;
# ^
# 1 error generated.
# 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_EXT2FS_EXT2_FS_H 1
# | #define HAVE_FCNTL_H 1
# | #define HAVE_GRP_H 1
# | #define HAVE_WORKING_EXT2_IOC_GETFLAGS 1
# | #define HAVE_INTTYPES_H 1
# | #define HAVE_LANGINFO_H 1
# | #define HAVE_LIMITS_H 1
# | #define HAVE_LINUX_FIEMAP_H 1
# | #define HAVE_LINUX_FS_H 1
# | #define HAVE_LINUX_MAGIC_H 1
# | #define HAVE_LINUX_TYPES_H 1
# | #define HAVE_LOCALE_H 1
# | #define HAVE_PATHS_H 1
# | #define HAVE_POLL_H 1
# | #define HAVE_PTHREAD_H 1
# | #define HAVE_PWD_H 1
# | #define HAVE_SIGNAL_H 1
# | #define HAVE_SPAWN_H 1
# | #define HAVE_STDARG_H 1
# | #define HAVE_STDINT_H 1
# | #define HAVE_STDLIB_H 1
# | #define HAVE_STRING_H 1
# | #define HAVE_SYS_CDEFS_H 1
# | #define HAVE_SYS_IOCTL_H 1
# | #define HAVE_SYS_MOUNT_H 1
# | #define HAVE_SYS_PARAM_H 1
# | #define HAVE_SYS_POLL_H 1
# | #define HAVE_SYS_SELECT_H 1
# | #define HAVE_SYS_STATFS_H 1
# | #define HAVE_SYS_STATVFS_H 1
# | #define HAVE_SYS_TIME_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_BZLIB_H 1
# | #define HAVE_LIBBZ2 1
# | #define HAVE_ICONV 1
# | #define ICONV_CONST
# | #define HAVE_ICONV_H 1
# | #define HAVE_LZ4_H 1
# | #define HAVE_LZ4HC_H 1
# | #define HAVE_LIBLZ4 1
# | #define HAVE_LZMA_H 1
# | #define HAVE_LIBLZMA 1
# | #define HAVE_LZMA_STREAM_ENCODER_MT 1
# | #define HAVE_LZO_LZOCONF_H 1
# | #define HAVE_LZO_LZO1X_H 1
# | #define HAVE_LIBLZO2 1
# | #define HAVE_EXPAT_H 1
# | #define HAVE_LIBEXPAT 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: clang -c -Wall -Wformat -Wformat-security conftest.c >&5
# conftest.c:103:22: error: variable has incomplete type 'struct statfs'
# static struct statfs ac_aggr;
# ^
# conftest.c:103:15: note: forward declaration of 'struct statfs'
# static struct statfs ac_aggr;
# ^
# 1 error generated.
# 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_EXT2FS_EXT2_FS_H 1
# | #define HAVE_FCNTL_H 1
# | #define HAVE_GRP_H 1
# | #define HAVE_WORKING_EXT2_IOC_GETFLAGS 1
# | #define HAVE_INTTYPES_H 1
# | #define HAVE_LANGINFO_H 1
# | #define HAVE_LIMITS_H 1
# | #define HAVE_LINUX_FIEMAP_H 1
# | #define HAVE_LINUX_FS_H 1
# | #define HAVE_LINUX_MAGIC_H 1
# | #define HAVE_LINUX_TYPES_H 1
# | #define HAVE_LOCALE_H 1
# | #define HAVE_PATHS_H 1
# | #define HAVE_POLL_H 1
# | #define HAVE_PTHREAD_H 1
# | #define HAVE_PWD_H 1
# | #define HAVE_SIGNAL_H 1
# | #define HAVE_SPAWN_H 1
# | #define HAVE_STDARG_H 1
# | #define HAVE_STDINT_H 1
# | #define HAVE_STDLIB_H 1
# | #define HAVE_STRING_H 1
# | #define HAVE_SYS_CDEFS_H 1
# | #define HAVE_SYS_IOCTL_H 1
# | #define HAVE_SYS_MOUNT_H 1
# | #define HAVE_SYS_PARAM_H 1
# | #define HAVE_SYS_POLL_H 1
# | #define HAVE_SYS_SELECT_H 1
# | #define HAVE_SYS_STATFS_H 1
# | #define HAVE_SYS_STATVFS_H 1
# | #define HAVE_SYS_TIME_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_BZLIB_H 1
# | #define HAVE_LIBBZ2 1
# | #define HAVE_ICONV 1
# | #define ICONV_CONST
# | #define HAVE_ICONV_H 1
# | #define HAVE_LZ4_H 1
# | #define HAVE_LZ4HC_H 1
# | #define HAVE_LIBLZ4 1
# | #define HAVE_LZMA_H 1
# | #define HAVE_LIBLZMA 1
# | #define HAVE_LZMA_STREAM_ENCODER_MT 1
# | #define HAVE_LZO_LZOCONF_H 1
# | #define HAVE_LZO_LZO1X_H 1
# | #define HAVE_LIBLZO2 1
# | #define HAVE_EXPAT_H 1
# | #define HAVE_LIBEXPAT 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: clang -c -Wall -Wformat -Wformat-security conftest.c >&5
# conftest.c:103:13: error: no member named 'f_iosize' in 'struct statvfs'
# if (ac_aggr.f_iosize)
# ~~~~~~~ ^
# 1 error generated.
# 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_EXT2FS_EXT2_FS_H 1
# | #define HAVE_FCNTL_H 1
# | #define HAVE_GRP_H 1
# | #define HAVE_WORKING_EXT2_IOC_GETFLAGS 1
# | #define HAVE_INTTYPES_H 1
# | #define HAVE_LANGINFO_H 1
# | #define HAVE_LIMITS_H 1
# | #define HAVE_LINUX_FIEMAP_H 1
# | #define HAVE_LINUX_FS_H 1
# | #define HAVE_LINUX_MAGIC_H 1
# | #define HAVE_LINUX_TYPES_H 1
# | #define HAVE_LOCALE_H 1
# | #define HAVE_PATHS_H 1
# | #define HAVE_POLL_H 1
# | #define HAVE_PTHREAD_H 1
# | #define HAVE_PWD_H 1
# | #define HAVE_SIGNAL_H 1
# | #define HAVE_SPAWN_H 1
# | #define HAVE_STDARG_H 1
# | #define HAVE_STDINT_H 1
# | #define HAVE_STDLIB_H 1
# | #define HAVE_STRING_H 1
# | #define HAVE_SYS_CDEFS_H 1
# | #define HAVE_SYS_IOCTL_H 1
# | #define HAVE_SYS_MOUNT_H 1
# | #define HAVE_SYS_PARAM_H 1
# | #define HAVE_SYS_POLL_H 1
# | #define HAVE_SYS_SELECT_H 1
# | #define HAVE_SYS_STATFS_H 1
# | #define HAVE_SYS_STATVFS_H 1
# | #define HAVE_SYS_TIME_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_BZLIB_H 1
# | #define HAVE_LIBBZ2 1
# | #define HAVE_ICONV 1
# | #define ICONV_CONST
# | #define HAVE_ICONV_H 1
# | #define HAVE_LZ4_H 1
# | #define HAVE_LZ4HC_H 1
# | #define HAVE_LIBLZ4 1
# | #define HAVE_LZMA_H 1
# | #define HAVE_LIBLZMA 1
# | #define HAVE_LZMA_STREAM_ENCODER_MT 1
# | #define HAVE_LZO_LZOCONF_H 1
# | #define HAVE_LZO_LZO1X_H 1
# | #define HAVE_LIBLZO2 1
# | #define HAVE_EXPAT_H 1
# | #define HAVE_LIBEXPAT 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: clang -c -Wall -Wformat -Wformat-security conftest.c >&5
# conftest.c:103:20: error: no member named 'f_iosize' in 'struct statvfs'
# if (sizeof ac_aggr.f_iosize)
# ~~~~~~~ ^
# 1 error generated.
# 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_EXT2FS_EXT2_FS_H 1
# | #define HAVE_FCNTL_H 1
# | #define HAVE_GRP_H 1
# | #define HAVE_WORKING_EXT2_IOC_GETFLAGS 1
# | #define HAVE_INTTYPES_H 1
# | #define HAVE_LANGINFO_H 1
# | #define HAVE_LIMITS_H 1
# | #define HAVE_LINUX_FIEMAP_H 1
# | #define HAVE_LINUX_FS_H 1
# | #define HAVE_LINUX_MAGIC_H 1
# | #define HAVE_LINUX_TYPES_H 1
# | #define HAVE_LOCALE_H 1
# | #define HAVE_PATHS_H 1
# | #define HAVE_POLL_H 1
# | #define HAVE_PTHREAD_H 1
# | #define HAVE_PWD_H 1
# | #define HAVE_SIGNAL_H 1
# | #define HAVE_SPAWN_H 1
# | #define HAVE_STDARG_H 1
# | #define HAVE_STDINT_H 1
# | #define HAVE_STDLIB_H 1
# | #define HAVE_STRING_H 1
# | #define HAVE_SYS_CDEFS_H 1
# | #define HAVE_SYS_IOCTL_H 1
# | #define HAVE_SYS_MOUNT_H 1
# | #define HAVE_SYS_PARAM_H 1
# | #define HAVE_SYS_POLL_H 1
# | #define HAVE_SYS_SELECT_H 1
# | #define HAVE_SYS_STATFS_H 1
# | #define HAVE_SYS_STATVFS_H 1
# | #define HAVE_SYS_TIME_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_BZLIB_H 1
# | #define HAVE_LIBBZ2 1
# | #define HAVE_ICONV 1
# | #define ICONV_CONST
# | #define HAVE_ICONV_H 1
# | #define HAVE_LZ4_H 1
# | #define HAVE_LZ4HC_H 1
# | #define HAVE_LIBLZ4 1
# | #define HAVE_LZMA_H 1
# | #define HAVE_LIBLZMA 1
# | #define HAVE_LZMA_STREAM_ENCODER_MT 1
# | #define HAVE_LZO_LZOCONF_H 1
# | #define HAVE_LZO_LZO1X_H 1
# | #define HAVE_LIBLZO2 1
# | #define HAVE_EXPAT_H 1
# | #define HAVE_LIBEXPAT 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: clang -c -Wall -Wformat -Wformat-security conftest.c >&5
# conftest.c:132:13: error: no member named 'st_birthtime' in 'struct stat'
# if (ac_aggr.st_birthtime)
# ~~~~~~~ ^
# 1 error generated.
# 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_EXT2FS_EXT2_FS_H 1
# | #define HAVE_FCNTL_H 1
# | #define HAVE_GRP_H 1
# | #define HAVE_WORKING_EXT2_IOC_GETFLAGS 1
# | #define HAVE_INTTYPES_H 1
# | #define HAVE_LANGINFO_H 1
# | #define HAVE_LIMITS_H 1
# | #define HAVE_LINUX_FIEMAP_H 1
# | #define HAVE_LINUX_FS_H 1
# | #define HAVE_LINUX_MAGIC_H 1
# | #define HAVE_LINUX_TYPES_H 1
# | #define HAVE_LOCALE_H 1
# | #define HAVE_PATHS_H 1
# | #define HAVE_POLL_H 1
# | #define HAVE_PTHREAD_H 1
# | #define HAVE_PWD_H 1
# | #define HAVE_SIGNAL_H 1
# | #define HAVE_SPAWN_H 1
# | #define HAVE_STDARG_H 1
# | #define HAVE_STDINT_H 1
# | #define HAVE_STDLIB_H 1
# | #define HAVE_STRING_H 1
# | #define HAVE_SYS_CDEFS_H 1
# | #define HAVE_SYS_IOCTL_H 1
# | #define HAVE_SYS_MOUNT_H 1
# | #define HAVE_SYS_PARAM_H 1
# | #define HAVE_SYS_POLL_H 1
# | #define HAVE_SYS_SELECT_H 1
# | #define HAVE_SYS_STATFS_H 1
# | #define HAVE_SYS_STATVFS_H 1
# | #define HAVE_SYS_TIME_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_BZLIB_H 1
# | #define HAVE_LIBBZ2 1
# | #define HAVE_ICONV 1
# | #define ICONV_CONST
# | #define HAVE_ICONV_H 1
# | #define HAVE_LZ4_H 1
# | #define HAVE_LZ4HC_H 1
# | #define HAVE_LIBLZ4 1
# | #define HAVE_LZMA_H 1
# | #define HAVE_LIBLZMA 1
# | #define HAVE_LZMA_STREAM_ENCODER_MT 1
# | #define HAVE_LZO_LZOCONF_H 1
# | #define HAVE_LZO_LZO1X_H 1
# | #define HAVE_LIBLZO2 1
# | #define HAVE_EXPAT_H 1
# | #define HAVE_LIBEXPAT 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: clang -c -Wall -Wformat -Wformat-security conftest.c >&5
# conftest.c:132:20: error: no member named 'st_birthtime' in 'struct stat'
# if (sizeof ac_aggr.st_birthtime)
# ~~~~~~~ ^
# 1 error generated.
# 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_EXT2FS_EXT2_FS_H 1
# | #define HAVE_FCNTL_H 1
# | #define HAVE_GRP_H 1
# | #define HAVE_WORKING_EXT2_IOC_GETFLAGS 1
# | #define HAVE_INTTYPES_H 1
# | #define HAVE_LANGINFO_H 1
# | #define HAVE_LIMITS_H 1
# | #define HAVE_LINUX_FIEMAP_H 1
# | #define HAVE_LINUX_FS_H 1
# | #define HAVE_LINUX_MAGIC_H 1
# | #define HAVE_LINUX_TYPES_H 1
# | #define HAVE_LOCALE_H 1
# | #define HAVE_PATHS_H 1
# | #define HAVE_POLL_H 1
# | #define HAVE_PTHREAD_H 1
# | #define HAVE_PWD_H 1
# | #define HAVE_SIGNAL_H 1
# | #define HAVE_SPAWN_H 1
# | #define HAVE_STDARG_H 1
# | #define HAVE_STDINT_H 1
# | #define HAVE_STDLIB_H 1
# | #define HAVE_STRING_H 1
# | #define HAVE_SYS_CDEFS_H 1
# | #define HAVE_SYS_IOCTL_H 1
# | #define HAVE_SYS_MOUNT_H 1
# | #define HAVE_SYS_PARAM_H 1
# | #define HAVE_SYS_POLL_H 1
# | #define HAVE_SYS_SELECT_H 1
# | #define HAVE_SYS_STATFS_H 1
# | #define HAVE_SYS_STATVFS_H 1
# | #define HAVE_SYS_TIME_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_BZLIB_H 1
# | #define HAVE_LIBBZ2 1
# | #define HAVE_ICONV 1
# | #define ICONV_CONST
# | #define HAVE_ICONV_H 1
# | #define HAVE_LZ4_H 1
# | #define HAVE_LZ4HC_H 1
# | #define HAVE_LIBLZ4 1
# | #define HAVE_LZMA_H 1
# | #define HAVE_LIBLZMA 1
# | #define HAVE_LZMA_STREAM_ENCODER_MT 1
# | #define HAVE_LZO_LZOCONF_H 1
# | #define HAVE_LZO_LZO1X_H 1
# | #define HAVE_LIBLZO2 1
# | #define HAVE_EXPAT_H 1
# | #define HAVE_LIBEXPAT 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: clang -c -Wall -Wformat -Wformat-security conftest.c >&5
# conftest.c:132:13: error: no member named 'st_birthtimespec' in 'struct stat'
# if (ac_aggr.st_birthtimespec.tv_nsec)
# ~~~~~~~ ^
# 1 error generated.
# 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_EXT2FS_EXT2_FS_H 1
# | #define HAVE_FCNTL_H 1
# | #define HAVE_GRP_H 1
# | #define HAVE_WORKING_EXT2_IOC_GETFLAGS 1
# | #define HAVE_INTTYPES_H 1
# | #define HAVE_LANGINFO_H 1
# | #define HAVE_LIMITS_H 1
# | #define HAVE_LINUX_FIEMAP_H 1
# | #define HAVE_LINUX_FS_H 1
# | #define HAVE_LINUX_MAGIC_H 1
# | #define HAVE_LINUX_TYPES_H 1
# | #define HAVE_LOCALE_H 1
# | #define HAVE_PATHS_H 1
# | #define HAVE_POLL_H 1
# | #define HAVE_PTHREAD_H 1
# | #define HAVE_PWD_H 1
# | #define HAVE_SIGNAL_H 1
# | #define HAVE_SPAWN_H 1
# | #define HAVE_STDARG_H 1
# | #define HAVE_STDINT_H 1
# | #define HAVE_STDLIB_H 1
# | #define HAVE_STRING_H 1
# | #define HAVE_SYS_CDEFS_H 1
# | #define HAVE_SYS_IOCTL_H 1
# | #define HAVE_SYS_MOUNT_H 1
# | #define HAVE_SYS_PARAM_H 1
# | #define HAVE_SYS_POLL_H 1
# | #define HAVE_SYS_SELECT_H 1
# | #define HAVE_SYS_STATFS_H 1
# | #define HAVE_SYS_STATVFS_H 1
# | #define HAVE_SYS_TIME_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_BZLIB_H 1
# | #define HAVE_LIBBZ2 1
# | #define HAVE_ICONV 1
# | #define ICONV_CONST
# | #define HAVE_ICONV_H 1
# | #define HAVE_LZ4_H 1
# | #define HAVE_LZ4HC_H 1
# | #define HAVE_LIBLZ4 1
# | #define HAVE_LZMA_H 1
# | #define HAVE_LIBLZMA 1
# | #define HAVE_LZMA_STREAM_ENCODER_MT 1
# | #define HAVE_LZO_LZOCONF_H 1
# | #define HAVE_LZO_LZO1X_H 1
# | #define HAVE_LIBLZO2 1
# | #define HAVE_EXPAT_H 1
# | #define HAVE_LIBEXPAT 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: clang -c -Wall -Wformat -Wformat-security conftest.c >&5
# conftest.c:132:20: error: no member named 'st_birthtimespec' in 'struct stat'
# if (sizeof ac_aggr.st_birthtimespec.tv_nsec)
# ~~~~~~~ ^
# 1 error generated.
# 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_EXT2FS_EXT2_FS_H 1
# | #define HAVE_FCNTL_H 1
# | #define HAVE_GRP_H 1
# | #define HAVE_WORKING_EXT2_IOC_GETFLAGS 1
# | #define HAVE_INTTYPES_H 1
# | #define HAVE_LANGINFO_H 1
# | #define HAVE_LIMITS_H 1
# | #define HAVE_LINUX_FIEMAP_H 1
# | #define HAVE_LINUX_FS_H 1
# | #define HAVE_LINUX_MAGIC_H 1
# | #define HAVE_LINUX_TYPES_H 1
# | #define HAVE_LOCALE_H 1
# | #define HAVE_PATHS_H 1
# | #define HAVE_POLL_H 1
# | #define HAVE_PTHREAD_H 1
# | #define HAVE_PWD_H 1
# | #define HAVE_SIGNAL_H 1
# | #define HAVE_SPAWN_H 1
# | #define HAVE_STDARG_H 1
# | #define HAVE_STDINT_H 1
# | #define HAVE_STDLIB_H 1
# | #define HAVE_STRING_H 1
# | #define HAVE_SYS_CDEFS_H 1
# | #define HAVE_SYS_IOCTL_H 1
# | #define HAVE_SYS_MOUNT_H 1
# | #define HAVE_SYS_PARAM_H 1
# | #define HAVE_SYS_POLL_H 1
# | #define HAVE_SYS_SELECT_H 1
# | #define HAVE_SYS_STATFS_H 1
# | #define HAVE_SYS_STATVFS_H 1
# | #define HAVE_SYS_TIME_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_BZLIB_H 1
# | #define HAVE_LIBBZ2 1
# | #define HAVE_ICONV 1
# | #define ICONV_CONST
# | #define HAVE_ICONV_H 1
# | #define HAVE_LZ4_H 1
# | #define HAVE_LZ4HC_H 1
# | #define HAVE_LIBLZ4 1
# | #define HAVE_LZMA_H 1
# | #define HAVE_LIBLZMA 1
# | #define HAVE_LZMA_STREAM_ENCODER_MT 1
# | #define HAVE_LZO_LZOCONF_H 1
# | #define HAVE_LZO_LZO1X_H 1
# | #define HAVE_LIBLZO2 1
# | #define HAVE_EXPAT_H 1
# | #define HAVE_LIBEXPAT 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: clang -c -Wall -Wformat -Wformat-security conftest.c >&5
# conftest.c:132:13: error: no member named 'st_mtimespec' in 'struct stat'
# if (ac_aggr.st_mtimespec.tv_nsec)
# ~~~~~~~ ^
# 1 error generated.
# 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_EXT2FS_EXT2_FS_H 1
# | #define HAVE_FCNTL_H 1
# | #define HAVE_GRP_H 1
# | #define HAVE_WORKING_EXT2_IOC_GETFLAGS 1
# | #define HAVE_INTTYPES_H 1
# | #define HAVE_LANGINFO_H 1
# | #define HAVE_LIMITS_H 1
# | #define HAVE_LINUX_FIEMAP_H 1
# | #define HAVE_LINUX_FS_H 1
# | #define HAVE_LINUX_MAGIC_H 1
# | #define HAVE_LINUX_TYPES_H 1
# | #define HAVE_LOCALE_H 1
# | #define HAVE_PATHS_H 1
# | #define HAVE_POLL_H 1
# | #define HAVE_PTHREAD_H 1
# | #define HAVE_PWD_H 1
# | #define HAVE_SIGNAL_H 1
# | #define HAVE_SPAWN_H 1
# | #define HAVE_STDARG_H 1
# | #define HAVE_STDINT_H 1
# | #define HAVE_STDLIB_H 1
# | #define HAVE_STRING_H 1
# | #define HAVE_SYS_CDEFS_H 1
# | #define HAVE_SYS_IOCTL_H 1
# | #define HAVE_SYS_MOUNT_H 1
# | #define HAVE_SYS_PARAM_H 1
# | #define HAVE_SYS_POLL_H 1
# | #define HAVE_SYS_SELECT_H 1
# | #define HAVE_SYS_STATFS_H 1
# | #define HAVE_SYS_STATVFS_H 1
# | #define HAVE_SYS_TIME_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_BZLIB_H 1
# | #define HAVE_LIBBZ2 1
# | #define HAVE_ICONV 1
# | #define ICONV_CONST
# | #define HAVE_ICONV_H 1
# | #define HAVE_LZ4_H 1
# | #define HAVE_LZ4HC_H 1
# | #define HAVE_LIBLZ4 1
# | #define HAVE_LZMA_H 1
# | #define HAVE_LIBLZMA 1
# | #define HAVE_LZMA_STREAM_ENCODER_MT 1
# | #define HAVE_LZO_LZOCONF_H 1
# | #define HAVE_LZO_LZO1X_H 1
# | #define HAVE_LIBLZO2 1
# | #define HAVE_EXPAT_H 1
# | #define HAVE_LIBEXPAT 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: clang -c -Wall -Wformat -Wformat-security conftest.c >&5
# conftest.c:132:20: error: no member named 'st_mtimespec' in 'struct stat'
# if (sizeof ac_aggr.st_mtimespec.tv_nsec)
# ~~~~~~~ ^
# 1 error generated.
# 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_EXT2FS_EXT2_FS_H 1
# | #define HAVE_FCNTL_H 1
# | #define HAVE_GRP_H 1
# | #define HAVE_WORKING_EXT2_IOC_GETFLAGS 1
# | #define HAVE_INTTYPES_H 1
# | #define HAVE_LANGINFO_H 1
# | #define HAVE_LIMITS_H 1
# | #define HAVE_LINUX_FIEMAP_H 1
# | #define HAVE_LINUX_FS_H 1
# | #define HAVE_LINUX_MAGIC_H 1
# | #define HAVE_LINUX_TYPES_H 1
# | #define HAVE_LOCALE_H 1
# | #define HAVE_PATHS_H 1
# | #define HAVE_POLL_H 1
# | #define HAVE_PTHREAD_H 1
# | #define HAVE_PWD_H 1
# | #define HAVE_SIGNAL_H 1
# | #define HAVE_SPAWN_H 1
# | #define HAVE_STDARG_H 1
# | #define HAVE_STDINT_H 1
# | #define HAVE_STDLIB_H 1
# | #define HAVE_STRING_H 1
# | #define HAVE_SYS_CDEFS_H 1
# | #define HAVE_SYS_IOCTL_H 1
# | #define HAVE_SYS_MOUNT_H 1
# | #define HAVE_SYS_PARAM_H 1
# | #define HAVE_SYS_POLL_H 1
# | #define HAVE_SYS_SELECT_H 1
# | #define HAVE_SYS_STATFS_H 1
# | #define HAVE_SYS_STATVFS_H 1
# | #define HAVE_SYS_TIME_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_BZLIB_H 1
# | #define HAVE_LIBBZ2 1
# | #define HAVE_ICONV 1
# | #define ICONV_CONST
# | #define HAVE_ICONV_H 1
# | #define HAVE_LZ4_H 1
# | #define HAVE_LZ4HC_H 1
# | #define HAVE_LIBLZ4 1
# | #define HAVE_LZMA_H 1
# | #define HAVE_LIBLZMA 1
# | #define HAVE_LZMA_STREAM_ENCODER_MT 1
# | #define HAVE_LZO_LZOCONF_H 1
# | #define HAVE_LZO_LZO1X_H 1
# | #define HAVE_LIBLZO2 1
# | #define HAVE_EXPAT_H 1
# | #define HAVE_LIBEXPAT 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: clang -c -Wall -Wformat -Wformat-security conftest.c >&5
# configure:15899: $? = 0
# configure:15899: result: yes
# configure:15909: checking for struct stat.st_mtime_n
# configure:15909: clang -c -Wall -Wformat -Wformat-security conftest.c >&5
# conftest.c:133:13: error: no member named 'st_mtime_n' in 'struct stat'; did you mean 'st_mtim'?
# if (ac_aggr.st_mtime_n)
# ^~~~~~~~~~
# st_mtim
# /usr/include/bits/stat.h:92:21: note: 'st_mtim' declared here
# struct timespec st_mtim; /* Time of last modification. */
# ^
# conftest.c:133:1: error: statement requires expression of scalar type ('struct timespec' invalid)
# if (ac_aggr.st_mtime_n)
# ^ ~~~~~~~~~~~~~~~~~~
# 2 errors generated.
# 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_EXT2FS_EXT2_FS_H 1
# | #define HAVE_FCNTL_H 1
# | #define HAVE_GRP_H 1
# | #define HAVE_WORKING_EXT2_IOC_GETFLAGS 1
# | #define HAVE_INTTYPES_H 1
# | #define HAVE_LANGINFO_H 1
# | #define HAVE_LIMITS_H 1
# | #define HAVE_LINUX_FIEMAP_H 1
# | #define HAVE_LINUX_FS_H 1
# | #define HAVE_LINUX_MAGIC_H 1
# | #define HAVE_LINUX_TYPES_H 1
# | #define HAVE_LOCALE_H 1
# | #define HAVE_PATHS_H 1
# | #define HAVE_POLL_H 1
# | #define HAVE_PTHREAD_H 1
# | #define HAVE_PWD_H 1
# | #define HAVE_SIGNAL_H 1
# | #define HAVE_SPAWN_H 1
# | #define HAVE_STDARG_H 1
# | #define HAVE_STDINT_H 1
# | #define HAVE_STDLIB_H 1
# | #define HAVE_STRING_H 1
# | #define HAVE_SYS_CDEFS_H 1
# | #define HAVE_SYS_IOCTL_H 1
# | #define HAVE_SYS_MOUNT_H 1
# | #define HAVE_SYS_PARAM_H 1
# | #define HAVE_SYS_POLL_H 1
# | #define HAVE_SYS_SELECT_H 1
# | #define HAVE_SYS_STATFS_H 1
# | #define HAVE_SYS_STATVFS_H 1
# | #define HAVE_SYS_TIME_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_BZLIB_H 1
# | #define HAVE_LIBBZ2 1
# | #define HAVE_ICONV 1
# | #define ICONV_CONST
# | #define HAVE_ICONV_H 1
# | #define HAVE_LZ4_H 1
# | #define HAVE_LZ4HC_H 1
# | #define HAVE_LIBLZ4 1
# | #define HAVE_LZMA_H 1
# | #define HAVE_LIBLZMA 1
# | #define HAVE_LZMA_STREAM_ENCODER_MT 1
# | #define HAVE_LZO_LZOCONF_H 1
# | #define HAVE_LZO_LZO1X_H 1
# | #define HAVE_LIBLZO2 1
# | #define HAVE_EXPAT_H 1
# | #define HAVE_LIBEXPAT 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 1
# | #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1
# | /* end confdefs.h. */
# | #include
# | #ifdef HAVE_SYS_TYPES_H
# | # include
# | #endif
# | #ifdef HAVE_SYS_STAT_H
# | # include
# | #endif
# | #ifdef STDC_HEADERS
# | # include
# | # include
# | #else
# | # ifdef HAVE_STDLIB_H
# | # include
# | # endif
# | #endif
# | #ifdef HAVE_STRING_H
# | # if !defined STDC_HEADERS && defined HAVE_MEMORY_H
# | # include
# | # endif
# | # include
# | #endif
# | #ifdef HAVE_STRINGS_H
# | # include
# | #endif
# | #ifdef HAVE_INTTYPES_H
# | # include
# | #endif
# | #ifdef HAVE_STDINT_H
# | # include
# | #endif
# | #ifdef HAVE_UNISTD_H
# | # include
# | #endif
# | int
# | main ()
# | {
# | static struct stat ac_aggr;
# | if (ac_aggr.st_mtime_n)
# | return 0;
# | ;
# | return 0;
# | }
# configure:15909: clang -c -Wall -Wformat -Wformat-security conftest.c >&5
# conftest.c:133:20: error: no member named 'st_mtime_n' in 'struct stat'; did you mean 'st_mtim'?
# if (sizeof ac_aggr.st_mtime_n)
# ^~~~~~~~~~
# st_mtim
# /usr/include/bits/stat.h:92:21: note: 'st_mtim' declared here
# struct timespec st_mtim; /* Time of last modification. */
# ^
# 1 error generated.
# 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_EXT2FS_EXT2_FS_H 1
# | #define HAVE_FCNTL_H 1
# | #define HAVE_GRP_H 1
# | #define HAVE_WORKING_EXT2_IOC_GETFLAGS 1
# | #define HAVE_INTTYPES_H 1
# | #define HAVE_LANGINFO_H 1
# | #define HAVE_LIMITS_H 1
# | #define HAVE_LINUX_FIEMAP_H 1
# | #define HAVE_LINUX_FS_H 1
# | #define HAVE_LINUX_MAGIC_H 1
# | #define HAVE_LINUX_TYPES_H 1
# | #define HAVE_LOCALE_H 1
# | #define HAVE_PATHS_H 1
# | #define HAVE_POLL_H 1
# | #define HAVE_PTHREAD_H 1
# | #define HAVE_PWD_H 1
# | #define HAVE_SIGNAL_H 1
# | #define HAVE_SPAWN_H 1
# | #define HAVE_STDARG_H 1
# | #define HAVE_STDINT_H 1
# | #define HAVE_STDLIB_H 1
# | #define HAVE_STRING_H 1
# | #define HAVE_SYS_CDEFS_H 1
# | #define HAVE_SYS_IOCTL_H 1
# | #define HAVE_SYS_MOUNT_H 1
# | #define HAVE_SYS_PARAM_H 1
# | #define HAVE_SYS_POLL_H 1
# | #define HAVE_SYS_SELECT_H 1
# | #define HAVE_SYS_STATFS_H 1
# | #define HAVE_SYS_STATVFS_H 1
# | #define HAVE_SYS_TIME_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_BZLIB_H 1
# | #define HAVE_LIBBZ2 1
# | #define HAVE_ICONV 1
# | #define ICONV_CONST
# | #define HAVE_ICONV_H 1
# | #define HAVE_LZ4_H 1
# | #define HAVE_LZ4HC_H 1
# | #define HAVE_LIBLZ4 1
# | #define HAVE_LZMA_H 1
# | #define HAVE_LIBLZMA 1
# | #define HAVE_LZMA_STREAM_ENCODER_MT 1
# | #define HAVE_LZO_LZOCONF_H 1
# | #define HAVE_LZO_LZO1X_H 1
# | #define HAVE_LIBLZO2 1
# | #define HAVE_EXPAT_H 1
# | #define HAVE_LIBEXPAT 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 1
# | #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1
# | /* end confdefs.h. */
# | #include
# | #ifdef HAVE_SYS_TYPES_H
# | # include
# | #endif
# | #ifdef HAVE_SYS_STAT_H
# | # include
# | #endif
# | #ifdef STDC_HEADERS
# | # include
# | # include
# | #else
# | # ifdef HAVE_STDLIB_H
# | # include
# | # endif
# | #endif
# | #ifdef HAVE_STRING_H
# | # if !defined STDC_HEADERS && defined HAVE_MEMORY_H
# | # include
# | # endif
# | # include
# | #endif
# | #ifdef HAVE_STRINGS_H
# | # include
# | #endif
# | #ifdef HAVE_INTTYPES_H
# | # include
# | #endif
# | #ifdef HAVE_STDINT_H
# | # include
# | #endif
# | #ifdef HAVE_UNISTD_H
# | # include
# | #endif
# | int
# | main ()
# | {
# | static struct stat ac_aggr;
# | if (sizeof ac_aggr.st_mtime_n)
# | return 0;
# | ;
# | return 0;
# | }
# configure:15909: result: no
# configure:15919: checking for struct stat.st_umtime
# configure:15919: clang -c -Wall -Wformat -Wformat-security conftest.c >&5
# conftest.c:133:13: error: no member named 'st_umtime' in 'struct stat'; did you mean 'st_mtim'?
# if (ac_aggr.st_umtime)
# ^~~~~~~~~
# st_mtim
# /usr/include/bits/stat.h:92:21: note: 'st_mtim' declared here
# struct timespec st_mtim; /* Time of last modification. */
# ^
# conftest.c:133:1: error: statement requires expression of scalar type ('struct timespec' invalid)
# if (ac_aggr.st_umtime)
# ^ ~~~~~~~~~~~~~~~~~
# 2 errors generated.
# 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_EXT2FS_EXT2_FS_H 1
# | #define HAVE_FCNTL_H 1
# | #define HAVE_GRP_H 1
# | #define HAVE_WORKING_EXT2_IOC_GETFLAGS 1
# | #define HAVE_INTTYPES_H 1
# | #define HAVE_LANGINFO_H 1
# | #define HAVE_LIMITS_H 1
# | #define HAVE_LINUX_FIEMAP_H 1
# | #define HAVE_LINUX_FS_H 1
# | #define HAVE_LINUX_MAGIC_H 1
# | #define HAVE_LINUX_TYPES_H 1
# | #define HAVE_LOCALE_H 1
# | #define HAVE_PATHS_H 1
# | #define HAVE_POLL_H 1
# | #define HAVE_PTHREAD_H 1
# | #define HAVE_PWD_H 1
# | #define HAVE_SIGNAL_H 1
# | #define HAVE_SPAWN_H 1
# | #define HAVE_STDARG_H 1
# | #define HAVE_STDINT_H 1
# | #define HAVE_STDLIB_H 1
# | #define HAVE_STRING_H 1
# | #define HAVE_SYS_CDEFS_H 1
# | #define HAVE_SYS_IOCTL_H 1
# | #define HAVE_SYS_MOUNT_H 1
# | #define HAVE_SYS_PARAM_H 1
# | #define HAVE_SYS_POLL_H 1
# | #define HAVE_SYS_SELECT_H 1
# | #define HAVE_SYS_STATFS_H 1
# | #define HAVE_SYS_STATVFS_H 1
# | #define HAVE_SYS_TIME_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_BZLIB_H 1
# | #define HAVE_LIBBZ2 1
# | #define HAVE_ICONV 1
# | #define ICONV_CONST
# | #define HAVE_ICONV_H 1
# | #define HAVE_LZ4_H 1
# | #define HAVE_LZ4HC_H 1
# | #define HAVE_LIBLZ4 1
# | #define HAVE_LZMA_H 1
# | #define HAVE_LIBLZMA 1
# | #define HAVE_LZMA_STREAM_ENCODER_MT 1
# | #define HAVE_LZO_LZOCONF_H 1
# | #define HAVE_LZO_LZO1X_H 1
# | #define HAVE_LIBLZO2 1
# | #define HAVE_EXPAT_H 1
# | #define HAVE_LIBEXPAT 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 1
# | #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1
# | /* end confdefs.h. */
# | #include
# | #ifdef HAVE_SYS_TYPES_H
# | # include
# | #endif
# | #ifdef HAVE_SYS_STAT_H
# | # include
# | #endif
# | #ifdef STDC_HEADERS
# | # include
# | # include
# | #else
# | # ifdef HAVE_STDLIB_H
# | # include
# | # endif
# | #endif
# | #ifdef HAVE_STRING_H
# | # if !defined STDC_HEADERS && defined HAVE_MEMORY_H
# | # include
# | # endif
# | # include
# | #endif
# | #ifdef HAVE_STRINGS_H
# | # include
# | #endif
# | #ifdef HAVE_INTTYPES_H
# | # include
# | #endif
# | #ifdef HAVE_STDINT_H
# | # include
# | #endif
# | #ifdef HAVE_UNISTD_H
# | # include
# | #endif
# | int
# | main ()
# | {
# | static struct stat ac_aggr;
# | if (ac_aggr.st_umtime)
# | return 0;
# | ;
# | return 0;
# | }
# configure:15919: clang -c -Wall -Wformat -Wformat-security conftest.c >&5
# conftest.c:133:20: error: no member named 'st_umtime' in 'struct stat'; did you mean 'st_mtim'?
# if (sizeof ac_aggr.st_umtime)
# ^~~~~~~~~
# st_mtim
# /usr/include/bits/stat.h:92:21: note: 'st_mtim' declared here
# struct timespec st_mtim; /* Time of last modification. */
# ^
# 1 error generated.
# 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_EXT2FS_EXT2_FS_H 1
# | #define HAVE_FCNTL_H 1
# | #define HAVE_GRP_H 1
# | #define HAVE_WORKING_EXT2_IOC_GETFLAGS 1
# | #define HAVE_INTTYPES_H 1
# | #define HAVE_LANGINFO_H 1
# | #define HAVE_LIMITS_H 1
# | #define HAVE_LINUX_FIEMAP_H 1
# | #define HAVE_LINUX_FS_H 1
# | #define HAVE_LINUX_MAGIC_H 1
# | #define HAVE_LINUX_TYPES_H 1
# | #define HAVE_LOCALE_H 1
# | #define HAVE_PATHS_H 1
# | #define HAVE_POLL_H 1
# | #define HAVE_PTHREAD_H 1
# | #define HAVE_PWD_H 1
# | #define HAVE_SIGNAL_H 1
# | #define HAVE_SPAWN_H 1
# | #define HAVE_STDARG_H 1
# | #define HAVE_STDINT_H 1
# | #define HAVE_STDLIB_H 1
# | #define HAVE_STRING_H 1
# | #define HAVE_SYS_CDEFS_H 1
# | #define HAVE_SYS_IOCTL_H 1
# | #define HAVE_SYS_MOUNT_H 1
# | #define HAVE_SYS_PARAM_H 1
# | #define HAVE_SYS_POLL_H 1
# | #define HAVE_SYS_SELECT_H 1
# | #define HAVE_SYS_STATFS_H 1
# | #define HAVE_SYS_STATVFS_H 1
# | #define HAVE_SYS_TIME_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_BZLIB_H 1
# | #define HAVE_LIBBZ2 1
# | #define HAVE_ICONV 1
# | #define ICONV_CONST
# | #define HAVE_ICONV_H 1
# | #define HAVE_LZ4_H 1
# | #define HAVE_LZ4HC_H 1
# | #define HAVE_LIBLZ4 1
# | #define HAVE_LZMA_H 1
# | #define HAVE_LIBLZMA 1
# | #define HAVE_LZMA_STREAM_ENCODER_MT 1
# | #define HAVE_LZO_LZOCONF_H 1
# | #define HAVE_LZO_LZO1X_H 1
# | #define HAVE_LIBLZO2 1
# | #define HAVE_EXPAT_H 1
# | #define HAVE_LIBEXPAT 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 1
# | #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1
# | /* end confdefs.h. */
# | #include
# | #ifdef HAVE_SYS_TYPES_H
# | # include
# | #endif
# | #ifdef HAVE_SYS_STAT_H
# | # include
# | #endif
# | #ifdef STDC_HEADERS
# | # include
# | # include
# | #else
# | # ifdef HAVE_STDLIB_H
# | # include
# | # endif
# | #endif
# | #ifdef HAVE_STRING_H
# | # if !defined STDC_HEADERS && defined HAVE_MEMORY_H
# | # include
# | # endif
# | # include
# | #endif
# | #ifdef HAVE_STRINGS_H
# | # include
# | #endif
# | #ifdef HAVE_INTTYPES_H
# | # include
# | #endif
# | #ifdef HAVE_STDINT_H
# | # include
# | #endif
# | #ifdef HAVE_UNISTD_H
# | # include
# | #endif
# | int
# | main ()
# | {
# | static struct stat ac_aggr;
# | if (sizeof ac_aggr.st_umtime)
# | return 0;
# | ;
# | return 0;
# | }
# configure:15919: result: no
# configure:15929: checking for struct stat.st_mtime_usec
# configure:15929: clang -c -Wall -Wformat -Wformat-security conftest.c >&5
# conftest.c:133:13: error: no member named 'st_mtime_usec' in 'struct stat'
# if (ac_aggr.st_mtime_usec)
# ~~~~~~~ ^
# 1 error generated.
# 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_EXT2FS_EXT2_FS_H 1
# | #define HAVE_FCNTL_H 1
# | #define HAVE_GRP_H 1
# | #define HAVE_WORKING_EXT2_IOC_GETFLAGS 1
# | #define HAVE_INTTYPES_H 1
# | #define HAVE_LANGINFO_H 1
# | #define HAVE_LIMITS_H 1
# | #define HAVE_LINUX_FIEMAP_H 1
# | #define HAVE_LINUX_FS_H 1
# | #define HAVE_LINUX_MAGIC_H 1
# | #define HAVE_LINUX_TYPES_H 1
# | #define HAVE_LOCALE_H 1
# | #define HAVE_PATHS_H 1
# | #define HAVE_POLL_H 1
# | #define HAVE_PTHREAD_H 1
# | #define HAVE_PWD_H 1
# | #define HAVE_SIGNAL_H 1
# | #define HAVE_SPAWN_H 1
# | #define HAVE_STDARG_H 1
# | #define HAVE_STDINT_H 1
# | #define HAVE_STDLIB_H 1
# | #define HAVE_STRING_H 1
# | #define HAVE_SYS_CDEFS_H 1
# | #define HAVE_SYS_IOCTL_H 1
# | #define HAVE_SYS_MOUNT_H 1
# | #define HAVE_SYS_PARAM_H 1
# | #define HAVE_SYS_POLL_H 1
# | #define HAVE_SYS_SELECT_H 1
# | #define HAVE_SYS_STATFS_H 1
# | #define HAVE_SYS_STATVFS_H 1
# | #define HAVE_SYS_TIME_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_BZLIB_H 1
# | #define HAVE_LIBBZ2 1
# | #define HAVE_ICONV 1
# | #define ICONV_CONST
# | #define HAVE_ICONV_H 1
# | #define HAVE_LZ4_H 1
# | #define HAVE_LZ4HC_H 1
# | #define HAVE_LIBLZ4 1
# | #define HAVE_LZMA_H 1
# | #define HAVE_LIBLZMA 1
# | #define HAVE_LZMA_STREAM_ENCODER_MT 1
# | #define HAVE_LZO_LZOCONF_H 1
# | #define HAVE_LZO_LZO1X_H 1
# | #define HAVE_LIBLZO2 1
# | #define HAVE_EXPAT_H 1
# | #define HAVE_LIBEXPAT 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 1
# | #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1
# | /* end confdefs.h. */
# | #include
# | #ifdef HAVE_SYS_TYPES_H
# | # include
# | #endif
# | #ifdef HAVE_SYS_STAT_H
# | # include
# | #endif
# | #ifdef STDC_HEADERS
# | # include
# | # include
# | #else
# | # ifdef HAVE_STDLIB_H
# | # include
# | # endif
# | #endif
# | #ifdef HAVE_STRING_H
# | # if !defined STDC_HEADERS && defined HAVE_MEMORY_H
# | # include
# | # endif
# | # include
# | #endif
# | #ifdef HAVE_STRINGS_H
# | # include
# | #endif
# | #ifdef HAVE_INTTYPES_H
# | # include
# | #endif
# | #ifdef HAVE_STDINT_H
# | # include
# | #endif
# | #ifdef HAVE_UNISTD_H
# | # include
# | #endif
# | int
# | main ()
# | {
# | static struct stat ac_aggr;
# | if (ac_aggr.st_mtime_usec)
# | return 0;
# | ;
# | return 0;
# | }
# configure:15929: clang -c -Wall -Wformat -Wformat-security conftest.c >&5
# conftest.c:133:20: error: no member named 'st_mtime_usec' in 'struct stat'
# if (sizeof ac_aggr.st_mtime_usec)
# ~~~~~~~ ^
# 1 error generated.
# 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_EXT2FS_EXT2_FS_H 1
# | #define HAVE_FCNTL_H 1
# | #define HAVE_GRP_H 1
# | #define HAVE_WORKING_EXT2_IOC_GETFLAGS 1
# | #define HAVE_INTTYPES_H 1
# | #define HAVE_LANGINFO_H 1
# | #define HAVE_LIMITS_H 1
# | #define HAVE_LINUX_FIEMAP_H 1
# | #define HAVE_LINUX_FS_H 1
# | #define HAVE_LINUX_MAGIC_H 1
# | #define HAVE_LINUX_TYPES_H 1
# | #define HAVE_LOCALE_H 1
# | #define HAVE_PATHS_H 1
# | #define HAVE_POLL_H 1
# | #define HAVE_PTHREAD_H 1
# | #define HAVE_PWD_H 1
# | #define HAVE_SIGNAL_H 1
# | #define HAVE_SPAWN_H 1
# | #define HAVE_STDARG_H 1
# | #define HAVE_STDINT_H 1
# | #define HAVE_STDLIB_H 1
# | #define HAVE_STRING_H 1
# | #define HAVE_SYS_CDEFS_H 1
# | #define HAVE_SYS_IOCTL_H 1
# | #define HAVE_SYS_MOUNT_H 1
# | #define HAVE_SYS_PARAM_H 1
# | #define HAVE_SYS_POLL_H 1
# | #define HAVE_SYS_SELECT_H 1
# | #define HAVE_SYS_STATFS_H 1
# | #define HAVE_SYS_STATVFS_H 1
# | #define HAVE_SYS_TIME_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_BZLIB_H 1
# | #define HAVE_LIBBZ2 1
# | #define HAVE_ICONV 1
# | #define ICONV_CONST
# | #define HAVE_ICONV_H 1
# | #define HAVE_LZ4_H 1
# | #define HAVE_LZ4HC_H 1
# | #define HAVE_LIBLZ4 1
# | #define HAVE_LZMA_H 1
# | #define HAVE_LIBLZMA 1
# | #define HAVE_LZMA_STREAM_ENCODER_MT 1
# | #define HAVE_LZO_LZOCONF_H 1
# | #define HAVE_LZO_LZO1X_H 1
# | #define HAVE_LIBLZO2 1
# | #define HAVE_EXPAT_H 1
# | #define HAVE_LIBEXPAT 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 1
# | #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1
# | /* end confdefs.h. */
# | #include
# | #ifdef HAVE_SYS_TYPES_H
# | # include
# | #endif
# | #ifdef HAVE_SYS_STAT_H
# | # include
# | #endif
# | #ifdef STDC_HEADERS
# | # include
# | # include
# | #else
# | # ifdef HAVE_STDLIB_H
# | # include
# | # endif
# | #endif
# | #ifdef HAVE_STRING_H
# | # if !defined STDC_HEADERS && defined HAVE_MEMORY_H
# | # include
# | # endif
# | # include
# | #endif
# | #ifdef HAVE_STRINGS_H
# | # include
# | #endif
# | #ifdef HAVE_INTTYPES_H
# | # include
# | #endif
# | #ifdef HAVE_STDINT_H
# | # include
# | #endif
# | #ifdef HAVE_UNISTD_H
# | # include
# | #endif
# | int
# | main ()
# | {
# | static struct stat ac_aggr;
# | if (sizeof ac_aggr.st_mtime_usec)
# | return 0;
# | ;
# | return 0;
# | }
# configure:15929: result: no
# configure:15940: checking for struct stat.st_blksize
# configure:15940: clang -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: clang -c -Wall -Wformat -Wformat-security conftest.c >&5
# conftest.c:134:13: error: no member named 'st_flags' in 'struct stat'
# if (ac_aggr.st_flags)
# ~~~~~~~ ^
# 1 error generated.
# 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_EXT2FS_EXT2_FS_H 1
# | #define HAVE_FCNTL_H 1
# | #define HAVE_GRP_H 1
# | #define HAVE_WORKING_EXT2_IOC_GETFLAGS 1
# | #define HAVE_INTTYPES_H 1
# | #define HAVE_LANGINFO_H 1
# | #define HAVE_LIMITS_H 1
# | #define HAVE_LINUX_FIEMAP_H 1
# | #define HAVE_LINUX_FS_H 1
# | #define HAVE_LINUX_MAGIC_H 1
# | #define HAVE_LINUX_TYPES_H 1
# | #define HAVE_LOCALE_H 1
# | #define HAVE_PATHS_H 1
# | #define HAVE_POLL_H 1
# | #define HAVE_PTHREAD_H 1
# | #define HAVE_PWD_H 1
# | #define HAVE_SIGNAL_H 1
# | #define HAVE_SPAWN_H 1
# | #define HAVE_STDARG_H 1
# | #define HAVE_STDINT_H 1
# | #define HAVE_STDLIB_H 1
# | #define HAVE_STRING_H 1
# | #define HAVE_SYS_CDEFS_H 1
# | #define HAVE_SYS_IOCTL_H 1
# | #define HAVE_SYS_MOUNT_H 1
# | #define HAVE_SYS_PARAM_H 1
# | #define HAVE_SYS_POLL_H 1
# | #define HAVE_SYS_SELECT_H 1
# | #define HAVE_SYS_STATFS_H 1
# | #define HAVE_SYS_STATVFS_H 1
# | #define HAVE_SYS_TIME_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_BZLIB_H 1
# | #define HAVE_LIBBZ2 1
# | #define HAVE_ICONV 1
# | #define ICONV_CONST
# | #define HAVE_ICONV_H 1
# | #define HAVE_LZ4_H 1
# | #define HAVE_LZ4HC_H 1
# | #define HAVE_LIBLZ4 1
# | #define HAVE_LZMA_H 1
# | #define HAVE_LIBLZMA 1
# | #define HAVE_LZMA_STREAM_ENCODER_MT 1
# | #define HAVE_LZO_LZOCONF_H 1
# | #define HAVE_LZO_LZO1X_H 1
# | #define HAVE_LIBLZO2 1
# | #define HAVE_EXPAT_H 1
# | #define HAVE_LIBEXPAT 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 1
# | #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1
# | #define HAVE_STRUCT_STAT_ST_BLKSIZE 1
# | /* end confdefs.h. */
# | #include
# | #ifdef HAVE_SYS_TYPES_H
# | # include
# | #endif
# | #ifdef HAVE_SYS_STAT_H
# | # include
# | #endif
# | #ifdef STDC_HEADERS
# | # include
# | # include
# | #else
# | # ifdef HAVE_STDLIB_H
# | # include
# | # endif
# | #endif
# | #ifdef HAVE_STRING_H
# | # if !defined STDC_HEADERS && defined HAVE_MEMORY_H
# | # include
# | # endif
# | # include
# | #endif
# | #ifdef HAVE_STRINGS_H
# | # include
# | #endif
# | #ifdef HAVE_INTTYPES_H
# | # include
# | #endif
# | #ifdef HAVE_STDINT_H
# | # include
# | #endif
# | #ifdef HAVE_UNISTD_H
# | # include
# | #endif
# | int
# | main ()
# | {
# | static struct stat ac_aggr;
# | if (ac_aggr.st_flags)
# | return 0;
# | ;
# | return 0;
# | }
# configure:15951: clang -c -Wall -Wformat -Wformat-security conftest.c >&5
# conftest.c:134:20: error: no member named 'st_flags' in 'struct stat'
# if (sizeof ac_aggr.st_flags)
# ~~~~~~~ ^
# 1 error generated.
# 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_EXT2FS_EXT2_FS_H 1
# | #define HAVE_FCNTL_H 1
# | #define HAVE_GRP_H 1
# | #define HAVE_WORKING_EXT2_IOC_GETFLAGS 1
# | #define HAVE_INTTYPES_H 1
# | #define HAVE_LANGINFO_H 1
# | #define HAVE_LIMITS_H 1
# | #define HAVE_LINUX_FIEMAP_H 1
# | #define HAVE_LINUX_FS_H 1
# | #define HAVE_LINUX_MAGIC_H 1
# | #define HAVE_LINUX_TYPES_H 1
# | #define HAVE_LOCALE_H 1
# | #define HAVE_PATHS_H 1
# | #define HAVE_POLL_H 1
# | #define HAVE_PTHREAD_H 1
# | #define HAVE_PWD_H 1
# | #define HAVE_SIGNAL_H 1
# | #define HAVE_SPAWN_H 1
# | #define HAVE_STDARG_H 1
# | #define HAVE_STDINT_H 1
# | #define HAVE_STDLIB_H 1
# | #define HAVE_STRING_H 1
# | #define HAVE_SYS_CDEFS_H 1
# | #define HAVE_SYS_IOCTL_H 1
# | #define HAVE_SYS_MOUNT_H 1
# | #define HAVE_SYS_PARAM_H 1
# | #define HAVE_SYS_POLL_H 1
# | #define HAVE_SYS_SELECT_H 1
# | #define HAVE_SYS_STATFS_H 1
# | #define HAVE_SYS_STATVFS_H 1
# | #define HAVE_SYS_TIME_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_BZLIB_H 1
# | #define HAVE_LIBBZ2 1
# | #define HAVE_ICONV 1
# | #define ICONV_CONST
# | #define HAVE_ICONV_H 1
# | #define HAVE_LZ4_H 1
# | #define HAVE_LZ4HC_H 1
# | #define HAVE_LIBLZ4 1
# | #define HAVE_LZMA_H 1
# | #define HAVE_LIBLZMA 1
# | #define HAVE_LZMA_STREAM_ENCODER_MT 1
# | #define HAVE_LZO_LZOCONF_H 1
# | #define HAVE_LZO_LZO1X_H 1
# | #define HAVE_LIBLZO2 1
# | #define HAVE_EXPAT_H 1
# | #define HAVE_LIBEXPAT 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 1
# | #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1
# | #define HAVE_STRUCT_STAT_ST_BLKSIZE 1
# | /* end confdefs.h. */
# | #include
# | #ifdef HAVE_SYS_TYPES_H
# | # include
# | #endif
# | #ifdef HAVE_SYS_STAT_H
# | # include
# | #endif
# | #ifdef STDC_HEADERS
# | # include
# | # include
# | #else
# | # ifdef HAVE_STDLIB_H
# | # include
# | # endif
# | #endif
# | #ifdef HAVE_STRING_H
# | # if !defined STDC_HEADERS && defined HAVE_MEMORY_H
# | # include
# | # endif
# | # include
# | #endif
# | #ifdef HAVE_STRINGS_H
# | # include
# | #endif
# | #ifdef HAVE_INTTYPES_H
# | # include
# | #endif
# | #ifdef HAVE_STDINT_H
# | # include
# | #endif
# | #ifdef HAVE_UNISTD_H
# | # include
# | #endif
# | int
# | main ()
# | {
# | static struct stat ac_aggr;
# | if (sizeof ac_aggr.st_flags)
# | return 0;
# | ;
# | return 0;
# | }
# configure:15951: result: no
# configure:15965: checking for uintmax_t
# configure:15965: clang -c -Wall -Wformat -Wformat-security conftest.c >&5
# configure:15965: $? = 0
# configure:15965: clang -c -Wall -Wformat -Wformat-security conftest.c >&5
# conftest.c:133:24: error: expected expression
# if (sizeof ((uintmax_t)))
# ^
# 1 error generated.
# 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_EXT2FS_EXT2_FS_H 1
# | #define HAVE_FCNTL_H 1
# | #define HAVE_GRP_H 1
# | #define HAVE_WORKING_EXT2_IOC_GETFLAGS 1
# | #define HAVE_INTTYPES_H 1
# | #define HAVE_LANGINFO_H 1
# | #define HAVE_LIMITS_H 1
# | #define HAVE_LINUX_FIEMAP_H 1
# | #define HAVE_LINUX_FS_H 1
# | #define HAVE_LINUX_MAGIC_H 1
# | #define HAVE_LINUX_TYPES_H 1
# | #define HAVE_LOCALE_H 1
# | #define HAVE_PATHS_H 1
# | #define HAVE_POLL_H 1
# | #define HAVE_PTHREAD_H 1
# | #define HAVE_PWD_H 1
# | #define HAVE_SIGNAL_H 1
# | #define HAVE_SPAWN_H 1
# | #define HAVE_STDARG_H 1
# | #define HAVE_STDINT_H 1
# | #define HAVE_STDLIB_H 1
# | #define HAVE_STRING_H 1
# | #define HAVE_SYS_CDEFS_H 1
# | #define HAVE_SYS_IOCTL_H 1
# | #define HAVE_SYS_MOUNT_H 1
# | #define HAVE_SYS_PARAM_H 1
# | #define HAVE_SYS_POLL_H 1
# | #define HAVE_SYS_SELECT_H 1
# | #define HAVE_SYS_STATFS_H 1
# | #define HAVE_SYS_STATVFS_H 1
# | #define HAVE_SYS_TIME_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_BZLIB_H 1
# | #define HAVE_LIBBZ2 1
# | #define HAVE_ICONV 1
# | #define ICONV_CONST
# | #define HAVE_ICONV_H 1
# | #define HAVE_LZ4_H 1
# | #define HAVE_LZ4HC_H 1
# | #define HAVE_LIBLZ4 1
# | #define HAVE_LZMA_H 1
# | #define HAVE_LIBLZMA 1
# | #define HAVE_LZMA_STREAM_ENCODER_MT 1
# | #define HAVE_LZO_LZOCONF_H 1
# | #define HAVE_LZO_LZO1X_H 1
# | #define HAVE_LIBLZO2 1
# | #define HAVE_EXPAT_H 1
# | #define HAVE_LIBEXPAT 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 1
# | #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1
# | #define HAVE_STRUCT_STAT_ST_BLKSIZE 1
# | /* end confdefs.h. */
# | #include
# | #ifdef HAVE_SYS_TYPES_H
# | # include
# | #endif
# | #ifdef HAVE_SYS_STAT_H
# | # include
# | #endif
# | #ifdef STDC_HEADERS
# | # include
# | # include
# | #else
# | # ifdef HAVE_STDLIB_H
# | # include
# | # endif
# | #endif
# | #ifdef HAVE_STRING_H
# | # if !defined STDC_HEADERS && defined HAVE_MEMORY_H
# | # include
# | # endif
# | # include
# | #endif
# | #ifdef HAVE_STRINGS_H
# | # include
# | #endif
# | #ifdef HAVE_INTTYPES_H
# | # include
# | #endif
# | #ifdef HAVE_STDINT_H
# | # include
# | #endif
# | #ifdef HAVE_UNISTD_H
# | # include
# | #endif
# | int
# | main ()
# | {
# | if (sizeof ((uintmax_t)))
# | return 0;
# | ;
# | return 0;
# | }
# configure:15965: result: yes
# configure:15974: checking for unsigned long long
# configure:15974: clang -c -Wall -Wformat -Wformat-security conftest.c >&5
# configure:15974: $? = 0
# configure:15974: clang -c -Wall -Wformat -Wformat-security conftest.c >&5
# conftest.c:134:33: error: expected expression
# if (sizeof ((unsigned long long)))
# ^
# 1 error generated.
# 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_EXT2FS_EXT2_FS_H 1
# | #define HAVE_FCNTL_H 1
# | #define HAVE_GRP_H 1
# | #define HAVE_WORKING_EXT2_IOC_GETFLAGS 1
# | #define HAVE_INTTYPES_H 1
# | #define HAVE_LANGINFO_H 1
# | #define HAVE_LIMITS_H 1
# | #define HAVE_LINUX_FIEMAP_H 1
# | #define HAVE_LINUX_FS_H 1
# | #define HAVE_LINUX_MAGIC_H 1
# | #define HAVE_LINUX_TYPES_H 1
# | #define HAVE_LOCALE_H 1
# | #define HAVE_PATHS_H 1
# | #define HAVE_POLL_H 1
# | #define HAVE_PTHREAD_H 1
# | #define HAVE_PWD_H 1
# | #define HAVE_SIGNAL_H 1
# | #define HAVE_SPAWN_H 1
# | #define HAVE_STDARG_H 1
# | #define HAVE_STDINT_H 1
# | #define HAVE_STDLIB_H 1
# | #define HAVE_STRING_H 1
# | #define HAVE_SYS_CDEFS_H 1
# | #define HAVE_SYS_IOCTL_H 1
# | #define HAVE_SYS_MOUNT_H 1
# | #define HAVE_SYS_PARAM_H 1
# | #define HAVE_SYS_POLL_H 1
# | #define HAVE_SYS_SELECT_H 1
# | #define HAVE_SYS_STATFS_H 1
# | #define HAVE_SYS_STATVFS_H 1
# | #define HAVE_SYS_TIME_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_BZLIB_H 1
# | #define HAVE_LIBBZ2 1
# | #define HAVE_ICONV 1
# | #define ICONV_CONST
# | #define HAVE_ICONV_H 1
# | #define HAVE_LZ4_H 1
# | #define HAVE_LZ4HC_H 1
# | #define HAVE_LIBLZ4 1
# | #define HAVE_LZMA_H 1
# | #define HAVE_LIBLZMA 1
# | #define HAVE_LZMA_STREAM_ENCODER_MT 1
# | #define HAVE_LZO_LZOCONF_H 1
# | #define HAVE_LZO_LZO1X_H 1
# | #define HAVE_LIBLZO2 1
# | #define HAVE_EXPAT_H 1
# | #define HAVE_LIBEXPAT 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 1
# | #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1
# | #define HAVE_STRUCT_STAT_ST_BLKSIZE 1
# | #define HAVE_UINTMAX_T 1
# | /* end confdefs.h. */
# | #include
# | #ifdef HAVE_SYS_TYPES_H
# | # include
# | #endif
# | #ifdef HAVE_SYS_STAT_H
# | # include
# | #endif
# | #ifdef STDC_HEADERS
# | # include
# | # include
# | #else
# | # ifdef HAVE_STDLIB_H
# | # include
# | # endif
# | #endif
# | #ifdef HAVE_STRING_H
# | # if !defined STDC_HEADERS && defined HAVE_MEMORY_H
# | # include
# | # endif
# | # include
# | #endif
# | #ifdef HAVE_STRINGS_H
# | # include
# | #endif
# | #ifdef HAVE_INTTYPES_H
# | # include
# | #endif
# | #ifdef HAVE_STDINT_H
# | # include
# | #endif
# | #ifdef HAVE_UNISTD_H
# | # include
# | #endif
# | int
# | main ()
# | {
# | if (sizeof ((unsigned long long)))
# | return 0;
# | ;
# | return 0;
# | }
# configure:15974: result: yes
# configure:15988: checking for unsigned long long int
# configure:16027: clang -o conftest -Wall -Wformat -Wformat-security conftest.c -lexpat -llzo2 -llzma -llz4 -lbz2 -lz >&5
# configure:16027: $? = 0
# configure:16036: result: yes
# configure:16046: checking for long long int
# configure:16084: clang -o conftest -Wall -Wformat -Wformat-security conftest.c -lexpat -llzo2 -llzma -llz4 -lbz2 -lz >&5
# configure:16084: $? = 0
# configure:16084: ./conftest
# configure:16084: $? = 0
# configure:16096: result: yes
# configure:16106: checking for intmax_t
# configure:16106: clang -c -Wall -Wformat -Wformat-security conftest.c >&5
# configure:16106: $? = 0
# configure:16106: clang -c -Wall -Wformat -Wformat-security conftest.c >&5
# conftest.c:137:23: error: expected expression
# if (sizeof ((intmax_t)))
# ^
# 1 error generated.
# 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_EXT2FS_EXT2_FS_H 1
# | #define HAVE_FCNTL_H 1
# | #define HAVE_GRP_H 1
# | #define HAVE_WORKING_EXT2_IOC_GETFLAGS 1
# | #define HAVE_INTTYPES_H 1
# | #define HAVE_LANGINFO_H 1
# | #define HAVE_LIMITS_H 1
# | #define HAVE_LINUX_FIEMAP_H 1
# | #define HAVE_LINUX_FS_H 1
# | #define HAVE_LINUX_MAGIC_H 1
# | #define HAVE_LINUX_TYPES_H 1
# | #define HAVE_LOCALE_H 1
# | #define HAVE_PATHS_H 1
# | #define HAVE_POLL_H 1
# | #define HAVE_PTHREAD_H 1
# | #define HAVE_PWD_H 1
# | #define HAVE_SIGNAL_H 1
# | #define HAVE_SPAWN_H 1
# | #define HAVE_STDARG_H 1
# | #define HAVE_STDINT_H 1
# | #define HAVE_STDLIB_H 1
# | #define HAVE_STRING_H 1
# | #define HAVE_SYS_CDEFS_H 1
# | #define HAVE_SYS_IOCTL_H 1
# | #define HAVE_SYS_MOUNT_H 1
# | #define HAVE_SYS_PARAM_H 1
# | #define HAVE_SYS_POLL_H 1
# | #define HAVE_SYS_SELECT_H 1
# | #define HAVE_SYS_STATFS_H 1
# | #define HAVE_SYS_STATVFS_H 1
# | #define HAVE_SYS_TIME_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_BZLIB_H 1
# | #define HAVE_LIBBZ2 1
# | #define HAVE_ICONV 1
# | #define ICONV_CONST
# | #define HAVE_ICONV_H 1
# | #define HAVE_LZ4_H 1
# | #define HAVE_LZ4HC_H 1
# | #define HAVE_LIBLZ4 1
# | #define HAVE_LZMA_H 1
# | #define HAVE_LIBLZMA 1
# | #define HAVE_LZMA_STREAM_ENCODER_MT 1
# | #define HAVE_LZO_LZOCONF_H 1
# | #define HAVE_LZO_LZO1X_H 1
# | #define HAVE_LIBLZO2 1
# | #define HAVE_EXPAT_H 1
# | #define HAVE_LIBEXPAT 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 1
# | #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1
# | #define HAVE_STRUCT_STAT_ST_BLKSIZE 1
# | #define HAVE_UINTMAX_T 1
# | #define HAVE_UNSIGNED_LONG_LONG 1
# | #define HAVE_UNSIGNED_LONG_LONG_INT 1
# | #define HAVE_LONG_LONG_INT 1
# | /* end confdefs.h. */
# | #include
# | #ifdef HAVE_SYS_TYPES_H
# | # include
# | #endif
# | #ifdef HAVE_SYS_STAT_H
# | # include
# | #endif
# | #ifdef STDC_HEADERS
# | # include
# | # include
# | #else
# | # ifdef HAVE_STDLIB_H
# | # include
# | # endif
# | #endif
# | #ifdef HAVE_STRING_H
# | # if !defined STDC_HEADERS && defined HAVE_MEMORY_H
# | # include
# | # endif
# | # include
# | #endif
# | #ifdef HAVE_STRINGS_H
# | # include
# | #endif
# | #ifdef HAVE_INTTYPES_H
# | # include
# | #endif
# | #ifdef HAVE_STDINT_H
# | # include
# | #endif
# | #ifdef HAVE_UNISTD_H
# | # include
# | #endif
# | int
# | main ()
# | {
# | if (sizeof ((intmax_t)))
# | return 0;
# | ;
# | return 0;
# | }
# configure:16106: result: yes
# configure:16125: checking for uintmax_t
# configure:16125: result: yes
# configure:16142: checking for int64_t
# configure:16142: clang -c -Wall -Wformat -Wformat-security conftest.c >&5
# configure:16142: $? = 0
# configure:16142: clang -c -Wall -Wformat -Wformat-security conftest.c >&5
# conftest.c:140:24: error: 'test_array' declared as an array with a negative size
# static int test_array [1 - 2 * !((int64_t) (((((int64_t) 1 << N) << N) - 1) * 2 + 1)
# ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# 1 error generated.
# 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_EXT2FS_EXT2_FS_H 1
# | #define HAVE_FCNTL_H 1
# | #define HAVE_GRP_H 1
# | #define HAVE_WORKING_EXT2_IOC_GETFLAGS 1
# | #define HAVE_INTTYPES_H 1
# | #define HAVE_LANGINFO_H 1
# | #define HAVE_LIMITS_H 1
# | #define HAVE_LINUX_FIEMAP_H 1
# | #define HAVE_LINUX_FS_H 1
# | #define HAVE_LINUX_MAGIC_H 1
# | #define HAVE_LINUX_TYPES_H 1
# | #define HAVE_LOCALE_H 1
# | #define HAVE_PATHS_H 1
# | #define HAVE_POLL_H 1
# | #define HAVE_PTHREAD_H 1
# | #define HAVE_PWD_H 1
# | #define HAVE_SIGNAL_H 1
# | #define HAVE_SPAWN_H 1
# | #define HAVE_STDARG_H 1
# | #define HAVE_STDINT_H 1
# | #define HAVE_STDLIB_H 1
# | #define HAVE_STRING_H 1
# | #define HAVE_SYS_CDEFS_H 1
# | #define HAVE_SYS_IOCTL_H 1
# | #define HAVE_SYS_MOUNT_H 1
# | #define HAVE_SYS_PARAM_H 1
# | #define HAVE_SYS_POLL_H 1
# | #define HAVE_SYS_SELECT_H 1
# | #define HAVE_SYS_STATFS_H 1
# | #define HAVE_SYS_STATVFS_H 1
# | #define HAVE_SYS_TIME_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_BZLIB_H 1
# | #define HAVE_LIBBZ2 1
# | #define HAVE_ICONV 1
# | #define ICONV_CONST
# | #define HAVE_ICONV_H 1
# | #define HAVE_LZ4_H 1
# | #define HAVE_LZ4HC_H 1
# | #define HAVE_LIBLZ4 1
# | #define HAVE_LZMA_H 1
# | #define HAVE_LIBLZMA 1
# | #define HAVE_LZMA_STREAM_ENCODER_MT 1
# | #define HAVE_LZO_LZOCONF_H 1
# | #define HAVE_LZO_LZO1X_H 1
# | #define HAVE_LIBLZO2 1
# | #define HAVE_EXPAT_H 1
# | #define HAVE_LIBEXPAT 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 1
# | #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1
# | #define HAVE_STRUCT_STAT_ST_BLKSIZE 1
# | #define HAVE_UINTMAX_T 1
# | #define HAVE_UNSIGNED_LONG_LONG 1
# | #define HAVE_UNSIGNED_LONG_LONG_INT 1
# | #define HAVE_LONG_LONG_INT 1
# | #define HAVE_INTMAX_T 1
# | #define HAVE_UINTMAX_T 1
# | /* end confdefs.h. */
# | #include
# | #ifdef HAVE_SYS_TYPES_H
# | # include
# | #endif
# | #ifdef HAVE_SYS_STAT_H
# | # include
# | #endif
# | #ifdef STDC_HEADERS
# | # include
# | # include
# | #else
# | # ifdef HAVE_STDLIB_H
# | # include
# | # endif
# | #endif
# | #ifdef HAVE_STRING_H
# | # if !defined STDC_HEADERS && defined HAVE_MEMORY_H
# | # include
# | # endif
# | # include
# | #endif
# | #ifdef HAVE_STRINGS_H
# | # include
# | #endif
# | #ifdef HAVE_INTTYPES_H
# | # include
# | #endif
# | #ifdef HAVE_STDINT_H
# | # include
# | #endif
# | #ifdef HAVE_UNISTD_H
# | # include
# | #endif
# | enum { N = 64 / 2 - 1 };
# | int
# | main ()
# | {
# | static int test_array [1 - 2 * !((int64_t) (((((int64_t) 1 << N) << N) - 1) * 2 + 1)
# | < (int64_t) (((((int64_t) 1 << N) << N) - 1) * 2 + 2))];
# | test_array [0] = 0;
# | return test_array [0];
# |
# | ;
# | return 0;
# | }
# configure:16142: result: yes
# configure:16153: checking for uint64_t
# configure:16153: clang -c -Wall -Wformat -Wformat-security conftest.c >&5
# configure:16153: $? = 0
# configure:16153: result: yes
# configure:16167: checking for int32_t
# configure:16167: clang -c -Wall -Wformat -Wformat-security conftest.c >&5
# configure:16167: $? = 0
# configure:16167: clang -c -Wall -Wformat -Wformat-security conftest.c >&5
# conftest.c:140:24: error: 'test_array' declared as an array with a negative size
# static int test_array [1 - 2 * !((int32_t) (((((int32_t) 1 << N) << N) - 1) * 2 + 1)
# ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# 1 error generated.
# 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_EXT2FS_EXT2_FS_H 1
# | #define HAVE_FCNTL_H 1
# | #define HAVE_GRP_H 1
# | #define HAVE_WORKING_EXT2_IOC_GETFLAGS 1
# | #define HAVE_INTTYPES_H 1
# | #define HAVE_LANGINFO_H 1
# | #define HAVE_LIMITS_H 1
# | #define HAVE_LINUX_FIEMAP_H 1
# | #define HAVE_LINUX_FS_H 1
# | #define HAVE_LINUX_MAGIC_H 1
# | #define HAVE_LINUX_TYPES_H 1
# | #define HAVE_LOCALE_H 1
# | #define HAVE_PATHS_H 1
# | #define HAVE_POLL_H 1
# | #define HAVE_PTHREAD_H 1
# | #define HAVE_PWD_H 1
# | #define HAVE_SIGNAL_H 1
# | #define HAVE_SPAWN_H 1
# | #define HAVE_STDARG_H 1
# | #define HAVE_STDINT_H 1
# | #define HAVE_STDLIB_H 1
# | #define HAVE_STRING_H 1
# | #define HAVE_SYS_CDEFS_H 1
# | #define HAVE_SYS_IOCTL_H 1
# | #define HAVE_SYS_MOUNT_H 1
# | #define HAVE_SYS_PARAM_H 1
# | #define HAVE_SYS_POLL_H 1
# | #define HAVE_SYS_SELECT_H 1
# | #define HAVE_SYS_STATFS_H 1
# | #define HAVE_SYS_STATVFS_H 1
# | #define HAVE_SYS_TIME_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_BZLIB_H 1
# | #define HAVE_LIBBZ2 1
# | #define HAVE_ICONV 1
# | #define ICONV_CONST
# | #define HAVE_ICONV_H 1
# | #define HAVE_LZ4_H 1
# | #define HAVE_LZ4HC_H 1
# | #define HAVE_LIBLZ4 1
# | #define HAVE_LZMA_H 1
# | #define HAVE_LIBLZMA 1
# | #define HAVE_LZMA_STREAM_ENCODER_MT 1
# | #define HAVE_LZO_LZOCONF_H 1
# | #define HAVE_LZO_LZO1X_H 1
# | #define HAVE_LIBLZO2 1
# | #define HAVE_EXPAT_H 1
# | #define HAVE_LIBEXPAT 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 1
# | #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1
# | #define HAVE_STRUCT_STAT_ST_BLKSIZE 1
# | #define HAVE_UINTMAX_T 1
# | #define HAVE_UNSIGNED_LONG_LONG 1
# | #define HAVE_UNSIGNED_LONG_LONG_INT 1
# | #define HAVE_LONG_LONG_INT 1
# | #define HAVE_INTMAX_T 1
# | #define HAVE_UINTMAX_T 1
# | /* end confdefs.h. */
# | #include
# | #ifdef HAVE_SYS_TYPES_H
# | # include
# | #endif
# | #ifdef HAVE_SYS_STAT_H
# | # include
# | #endif
# | #ifdef STDC_HEADERS
# | # include
# | # include
# | #else
# | # ifdef HAVE_STDLIB_H
# | # include
# | # endif
# | #endif
# | #ifdef HAVE_STRING_H
# | # if !defined STDC_HEADERS && defined HAVE_MEMORY_H
# | # include
# | # endif
# | # include
# | #endif
# | #ifdef HAVE_STRINGS_H
# | # include
# | #endif
# | #ifdef HAVE_INTTYPES_H
# | # include
# | #endif
# | #ifdef HAVE_STDINT_H
# | # include
# | #endif
# | #ifdef HAVE_UNISTD_H
# | # include
# | #endif
# | enum { N = 32 / 2 - 1 };
# | int
# | main ()
# | {
# | static int test_array [1 - 2 * !((int32_t) (((((int32_t) 1 << N) << N) - 1) * 2 + 1)
# | < (int32_t) (((((int32_t) 1 << N) << N) - 1) * 2 + 2))];
# | test_array [0] = 0;
# | return test_array [0];
# |
# | ;
# | return 0;
# | }
# configure:16167: result: yes
# configure:16178: checking for uint32_t
# configure:16178: clang -c -Wall -Wformat -Wformat-security conftest.c >&5
# configure:16178: $? = 0
# configure:16178: result: yes
# configure:16192: checking for int16_t
# configure:16192: clang -c -Wall -Wformat -Wformat-security conftest.c >&5
# configure:16192: $? = 0
# configure:16192: clang -c -Wall -Wformat -Wformat-security conftest.c >&5
# conftest.c:140:24: error: 'test_array' declared as an array with a negative size
# static int test_array [1 - 2 * !((int16_t) (((((int16_t) 1 << N) << N) - 1) * 2 + 1)
# ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# 1 error generated.
# 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_EXT2FS_EXT2_FS_H 1
# | #define HAVE_FCNTL_H 1
# | #define HAVE_GRP_H 1
# | #define HAVE_WORKING_EXT2_IOC_GETFLAGS 1
# | #define HAVE_INTTYPES_H 1
# | #define HAVE_LANGINFO_H 1
# | #define HAVE_LIMITS_H 1
# | #define HAVE_LINUX_FIEMAP_H 1
# | #define HAVE_LINUX_FS_H 1
# | #define HAVE_LINUX_MAGIC_H 1
# | #define HAVE_LINUX_TYPES_H 1
# | #define HAVE_LOCALE_H 1
# | #define HAVE_PATHS_H 1
# | #define HAVE_POLL_H 1
# | #define HAVE_PTHREAD_H 1
# | #define HAVE_PWD_H 1
# | #define HAVE_SIGNAL_H 1
# | #define HAVE_SPAWN_H 1
# | #define HAVE_STDARG_H 1
# | #define HAVE_STDINT_H 1
# | #define HAVE_STDLIB_H 1
# | #define HAVE_STRING_H 1
# | #define HAVE_SYS_CDEFS_H 1
# | #define HAVE_SYS_IOCTL_H 1
# | #define HAVE_SYS_MOUNT_H 1
# | #define HAVE_SYS_PARAM_H 1
# | #define HAVE_SYS_POLL_H 1
# | #define HAVE_SYS_SELECT_H 1
# | #define HAVE_SYS_STATFS_H 1
# | #define HAVE_SYS_STATVFS_H 1
# | #define HAVE_SYS_TIME_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_BZLIB_H 1
# | #define HAVE_LIBBZ2 1
# | #define HAVE_ICONV 1
# | #define ICONV_CONST
# | #define HAVE_ICONV_H 1
# | #define HAVE_LZ4_H 1
# | #define HAVE_LZ4HC_H 1
# | #define HAVE_LIBLZ4 1
# | #define HAVE_LZMA_H 1
# | #define HAVE_LIBLZMA 1
# | #define HAVE_LZMA_STREAM_ENCODER_MT 1
# | #define HAVE_LZO_LZOCONF_H 1
# | #define HAVE_LZO_LZO1X_H 1
# | #define HAVE_LIBLZO2 1
# | #define HAVE_EXPAT_H 1
# | #define HAVE_LIBEXPAT 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 1
# | #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1
# | #define HAVE_STRUCT_STAT_ST_BLKSIZE 1
# | #define HAVE_UINTMAX_T 1
# | #define HAVE_UNSIGNED_LONG_LONG 1
# | #define HAVE_UNSIGNED_LONG_LONG_INT 1
# | #define HAVE_LONG_LONG_INT 1
# | #define HAVE_INTMAX_T 1
# | #define HAVE_UINTMAX_T 1
# | /* end confdefs.h. */
# | #include
# | #ifdef HAVE_SYS_TYPES_H
# | # include
# | #endif
# | #ifdef HAVE_SYS_STAT_H
# | # include
# | #endif
# | #ifdef STDC_HEADERS
# | # include
# | # include
# | #else
# | # ifdef HAVE_STDLIB_H
# | # include
# | # endif
# | #endif
# | #ifdef HAVE_STRING_H
# | # if !defined STDC_HEADERS && defined HAVE_MEMORY_H
# | # include
# | # endif
# | # include
# | #endif
# | #ifdef HAVE_STRINGS_H
# | # include
# | #endif
# | #ifdef HAVE_INTTYPES_H
# | # include
# | #endif
# | #ifdef HAVE_STDINT_H
# | # include
# | #endif
# | #ifdef HAVE_UNISTD_H
# | # include
# | #endif
# | enum { N = 16 / 2 - 1 };
# | int
# | main ()
# | {
# | static int test_array [1 - 2 * !((int16_t) (((((int16_t) 1 << N) << N) - 1) * 2 + 1)
# | < (int16_t) (((((int16_t) 1 << N) << N) - 1) * 2 + 2))];
# | test_array [0] = 0;
# | return test_array [0];
# |
# | ;
# | return 0;
# | }
# configure:16192: result: yes
# configure:16203: checking for uint16_t
# configure:16203: clang -c -Wall -Wformat -Wformat-security conftest.c >&5
# configure:16203: $? = 0
# configure:16203: result: yes
# configure:16215: checking for uint8_t
# configure:16215: clang -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: clang -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: clang -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: clang -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: clang -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: clang -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: clang -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: clang -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: clang -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: clang -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: clang -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: clang -c -Wall -Wformat -Wformat-security conftest.c >&5
# configure:16334: $? = 0
# configure:16334: result: yes
# configure:16343: checking whether EFTYPE is declared
# configure:16343: clang -c -Wall -Wformat -Wformat-security conftest.c >&5
# conftest.c:123:10: error: use of undeclared identifier 'EFTYPE'
# (void) EFTYPE;
# ^
# 1 error generated.
# 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_EXT2FS_EXT2_FS_H 1
# | #define HAVE_FCNTL_H 1
# | #define HAVE_GRP_H 1
# | #define HAVE_WORKING_EXT2_IOC_GETFLAGS 1
# | #define HAVE_INTTYPES_H 1
# | #define HAVE_LANGINFO_H 1
# | #define HAVE_LIMITS_H 1
# | #define HAVE_LINUX_FIEMAP_H 1
# | #define HAVE_LINUX_FS_H 1
# | #define HAVE_LINUX_MAGIC_H 1
# | #define HAVE_LINUX_TYPES_H 1
# | #define HAVE_LOCALE_H 1
# | #define HAVE_PATHS_H 1
# | #define HAVE_POLL_H 1
# | #define HAVE_PTHREAD_H 1
# | #define HAVE_PWD_H 1
# | #define HAVE_SIGNAL_H 1
# | #define HAVE_SPAWN_H 1
# | #define HAVE_STDARG_H 1
# | #define HAVE_STDINT_H 1
# | #define HAVE_STDLIB_H 1
# | #define HAVE_STRING_H 1
# | #define HAVE_SYS_CDEFS_H 1
# | #define HAVE_SYS_IOCTL_H 1
# | #define HAVE_SYS_MOUNT_H 1
# | #define HAVE_SYS_PARAM_H 1
# | #define HAVE_SYS_POLL_H 1
# | #define HAVE_SYS_SELECT_H 1
# | #define HAVE_SYS_STATFS_H 1
# | #define HAVE_SYS_STATVFS_H 1
# | #define HAVE_SYS_TIME_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_BZLIB_H 1
# | #define HAVE_LIBBZ2 1
# | #define HAVE_ICONV 1
# | #define ICONV_CONST
# | #define HAVE_ICONV_H 1
# | #define HAVE_LZ4_H 1
# | #define HAVE_LZ4HC_H 1
# | #define HAVE_LIBLZ4 1
# | #define HAVE_LZMA_H 1
# | #define HAVE_LIBLZMA 1
# | #define HAVE_LZMA_STREAM_ENCODER_MT 1
# | #define HAVE_LZO_LZOCONF_H 1
# | #define HAVE_LZO_LZO1X_H 1
# | #define HAVE_LIBLZO2 1
# | #define HAVE_EXPAT_H 1
# | #define HAVE_LIBEXPAT 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 1
# | #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1
# | #define HAVE_STRUCT_STAT_ST_BLKSIZE 1
# | #define HAVE_UINTMAX_T 1
# | #define HAVE_UNSIGNED_LONG_LONG 1
# | #define HAVE_UNSIGNED_LONG_LONG_INT 1
# | #define HAVE_LONG_LONG_INT 1
# | #define HAVE_INTMAX_T 1
# | #define HAVE_UINTMAX_T 1
# | #define HAVE_DECL_SIZE_MAX 1
# | #define HAVE_DECL_INT32_MAX 1
# | #define HAVE_DECL_INT32_MIN 1
# | #define HAVE_DECL_INT64_MAX 1
# | #define HAVE_DECL_INT64_MIN 1
# | #define HAVE_DECL_UINT64_MAX 1
# | #define HAVE_DECL_UINT32_MAX 1
# | #define HAVE_DECL_INTMAX_MAX 1
# | #define HAVE_DECL_INTMAX_MIN 1
# | #define HAVE_DECL_UINTMAX_MAX 1
# | #define HAVE_DECL_SSIZE_MAX 1
# | /* end confdefs.h. */
# | #include
# |
# | int
# | main ()
# | {
# | #ifndef EFTYPE
# | #ifdef __cplusplus
# | (void) EFTYPE;
# | #else
# | (void) EFTYPE;
# | #endif
# | #endif
# |
# | ;
# | return 0;
# | }
# configure:16343: result: no
# configure:16351: checking whether EILSEQ is declared
# configure:16351: clang -c -Wall -Wformat -Wformat-security conftest.c >&5
# configure:16351: $? = 0
# configure:16351: result: yes
# configure:16359: checking for wchar_t
# configure:16359: clang -c -Wall -Wformat -Wformat-security conftest.c >&5
# configure:16359: $? = 0
# configure:16359: clang -c -Wall -Wformat -Wformat-security conftest.c >&5
# conftest.c:151:22: error: expected expression
# if (sizeof ((wchar_t)))
# ^
# 1 error generated.
# 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_EXT2FS_EXT2_FS_H 1
# | #define HAVE_FCNTL_H 1
# | #define HAVE_GRP_H 1
# | #define HAVE_WORKING_EXT2_IOC_GETFLAGS 1
# | #define HAVE_INTTYPES_H 1
# | #define HAVE_LANGINFO_H 1
# | #define HAVE_LIMITS_H 1
# | #define HAVE_LINUX_FIEMAP_H 1
# | #define HAVE_LINUX_FS_H 1
# | #define HAVE_LINUX_MAGIC_H 1
# | #define HAVE_LINUX_TYPES_H 1
# | #define HAVE_LOCALE_H 1
# | #define HAVE_PATHS_H 1
# | #define HAVE_POLL_H 1
# | #define HAVE_PTHREAD_H 1
# | #define HAVE_PWD_H 1
# | #define HAVE_SIGNAL_H 1
# | #define HAVE_SPAWN_H 1
# | #define HAVE_STDARG_H 1
# | #define HAVE_STDINT_H 1
# | #define HAVE_STDLIB_H 1
# | #define HAVE_STRING_H 1
# | #define HAVE_SYS_CDEFS_H 1
# | #define HAVE_SYS_IOCTL_H 1
# | #define HAVE_SYS_MOUNT_H 1
# | #define HAVE_SYS_PARAM_H 1
# | #define HAVE_SYS_POLL_H 1
# | #define HAVE_SYS_SELECT_H 1
# | #define HAVE_SYS_STATFS_H 1
# | #define HAVE_SYS_STATVFS_H 1
# | #define HAVE_SYS_TIME_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_BZLIB_H 1
# | #define HAVE_LIBBZ2 1
# | #define HAVE_ICONV 1
# | #define ICONV_CONST
# | #define HAVE_ICONV_H 1
# | #define HAVE_LZ4_H 1
# | #define HAVE_LZ4HC_H 1
# | #define HAVE_LIBLZ4 1
# | #define HAVE_LZMA_H 1
# | #define HAVE_LIBLZMA 1
# | #define HAVE_LZMA_STREAM_ENCODER_MT 1
# | #define HAVE_LZO_LZOCONF_H 1
# | #define HAVE_LZO_LZO1X_H 1
# | #define HAVE_LIBLZO2 1
# | #define HAVE_EXPAT_H 1
# | #define HAVE_LIBEXPAT 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 1
# | #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1
# | #define HAVE_STRUCT_STAT_ST_BLKSIZE 1
# | #define HAVE_UINTMAX_T 1
# | #define HAVE_UNSIGNED_LONG_LONG 1
# | #define HAVE_UNSIGNED_LONG_LONG_INT 1
# | #define HAVE_LONG_LONG_INT 1
# | #define HAVE_INTMAX_T 1
# | #define HAVE_UINTMAX_T 1
# | #define HAVE_DECL_SIZE_MAX 1
# | #define HAVE_DECL_INT32_MAX 1
# | #define HAVE_DECL_INT32_MIN 1
# | #define HAVE_DECL_INT64_MAX 1
# | #define HAVE_DECL_INT64_MIN 1
# | #define HAVE_DECL_UINT64_MAX 1
# | #define HAVE_DECL_UINT32_MAX 1
# | #define HAVE_DECL_INTMAX_MAX 1
# | #define HAVE_DECL_INTMAX_MIN 1
# | #define HAVE_DECL_UINTMAX_MAX 1
# | #define HAVE_DECL_SSIZE_MAX 1
# | #define HAVE_EILSEQ 1
# | /* end confdefs.h. */
# | #include
# | #ifdef HAVE_SYS_TYPES_H
# | # include
# | #endif
# | #ifdef HAVE_SYS_STAT_H
# | # include
# | #endif
# | #ifdef STDC_HEADERS
# | # include
# | # include
# | #else
# | # ifdef HAVE_STDLIB_H
# | # include
# | # endif
# | #endif
# | #ifdef HAVE_STRING_H
# | # if !defined STDC_HEADERS && defined HAVE_MEMORY_H
# | # include
# | # endif
# | # include
# | #endif
# | #ifdef HAVE_STRINGS_H
# | # include
# | #endif
# | #ifdef HAVE_INTTYPES_H
# | # include
# | #endif
# | #ifdef HAVE_STDINT_H
# | # include
# | #endif
# | #ifdef HAVE_UNISTD_H
# | # include
# | #endif
# | int
# | main ()
# | {
# | if (sizeof ((wchar_t)))
# | return 0;
# | ;
# | return 0;
# | }
# configure:16359: result: yes
# configure:16369: checking size of wchar_t
# configure:16374: clang -o conftest -Wall -Wformat -Wformat-security conftest.c -lexpat -llzo2 -llzma -llz4 -lbz2 -lz >&5
# configure:16374: $? = 0
# configure:16374: ./conftest
# configure:16374: $? = 0
# configure:16388: result: 4
# configure:16401: checking whether time.h and sys/time.h may both be included
# configure:16421: clang -c -Wall -Wformat -Wformat-security conftest.c >&5
# configure:16421: $? = 0
# configure:16428: result: yes
# configure:16439: checking whether clang needs -traditional
# configure:16473: result: no
# configure:16480: checking whether sys/types.h defines makedev
# configure:16496: clang -o conftest -Wall -Wformat -Wformat-security conftest.c -lexpat -llzo2 -llzma -llz4 -lbz2 -lz >&5
# configure:16496: $? = 0
# configure:16505: result: yes
# configure:16530: checking for _LARGEFILE_SOURCE value needed for large files
# configure:16549: clang -o conftest -Wall -Wformat -Wformat-security conftest.c -lexpat -llzo2 -llzma -llz4 -lbz2 -lz >&5
# configure:16549: $? = 0
# configure:16577: result: no
# configure:16598: checking for working memcmp
# configure:16641: clang -o conftest -Wall -Wformat -Wformat-security conftest.c -lexpat -llzo2 -llzma -llz4 -lbz2 -lz >&5
# configure:16641: $? = 0
# configure:16641: ./conftest
# configure:16641: $? = 0
# configure:16651: result: yes
# configure:16660: checking whether lstat correctly handles trailing slash
# configure:16686: clang -o conftest -Wall -Wformat -Wformat-security conftest.c -lexpat -llzo2 -llzma -llz4 -lbz2 -lz >&5
# configure:16686: $? = 0
# configure:16686: ./conftest
# configure:16686: $? = 0
# configure:16703: result: yes
# configure:16722: checking whether lstat accepts an empty string
# configure:16742: clang -o conftest -Wall -Wformat -Wformat-security conftest.c -lexpat -llzo2 -llzma -llz4 -lbz2 -lz >&5
# configure:16742: $? = 0
# configure:16742: ./conftest
# configure:16742: $? = 0
# configure:16752: result: no
# configure:16768: checking whether stat accepts an empty string
# configure:16788: clang -o conftest -Wall -Wformat -Wformat-security conftest.c -lexpat -llzo2 -llzma -llz4 -lbz2 -lz >&5
# configure:16788: $? = 0
# configure:16788: ./conftest
# configure:16788: $? = 0
# configure:16798: result: no
# configure:16814: checking whether strerror_r is declared
# configure:16814: clang -c -Wall -Wformat -Wformat-security conftest.c >&5
# configure:16814: $? = 0
# configure:16814: result: yes
# configure:16827: checking for strerror_r
# configure:16827: clang -o conftest -Wall -Wformat -Wformat-security conftest.c -lexpat -llzo2 -llzma -llz4 -lbz2 -lz >&5
# configure:16827: $? = 0
# configure:16827: result: yes
# configure:16836: checking whether strerror_r returns char *
# configure:16860: clang -c -Wall -Wformat -Wformat-security conftest.c >&5
# configure:16860: $? = 0
# configure:16898: result: yes
# configure:16908: checking for strftime
# configure:16908: clang -o conftest -Wall -Wformat -Wformat-security conftest.c -lexpat -llzo2 -llzma -llz4 -lbz2 -lz >&5
# configure:16908: $? = 0
# configure:16908: result: yes
# configure:16963: checking for vprintf
# configure:16963: clang -o conftest -Wall -Wformat -Wformat-security conftest.c -lexpat -llzo2 -llzma -llz4 -lbz2 -lz >&5
# conftest.c:147:6: warning: incompatible redeclaration of library function 'vprintf' [-Wincompatible-library-redeclaration]
# char vprintf ();
# ^
# conftest.c:147:6: note: 'vprintf' is a builtin with type 'int (const char *, struct __va_list_tag *)'
# 1 warning generated.
# configure:16963: $? = 0
# configure:16963: result: yes
# configure:16969: checking for _doprnt
# configure:16969: clang -o conftest -Wall -Wformat -Wformat-security conftest.c -lexpat -llzo2 -llzma -llz4 -lbz2 -lz >&5
# /tmp/conftest-8e014f.o: In function `main':
# conftest.c:(.text+0x12): undefined reference to `_doprnt'
# clang-3.8: error: linker command failed with exit code 1 (use -v to see invocation)
# 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_EXT2FS_EXT2_FS_H 1
# | #define HAVE_FCNTL_H 1
# | #define HAVE_GRP_H 1
# | #define HAVE_WORKING_EXT2_IOC_GETFLAGS 1
# | #define HAVE_INTTYPES_H 1
# | #define HAVE_LANGINFO_H 1
# | #define HAVE_LIMITS_H 1
# | #define HAVE_LINUX_FIEMAP_H 1
# | #define HAVE_LINUX_FS_H 1
# | #define HAVE_LINUX_MAGIC_H 1
# | #define HAVE_LINUX_TYPES_H 1
# | #define HAVE_LOCALE_H 1
# | #define HAVE_PATHS_H 1
# | #define HAVE_POLL_H 1
# | #define HAVE_PTHREAD_H 1
# | #define HAVE_PWD_H 1
# | #define HAVE_SIGNAL_H 1
# | #define HAVE_SPAWN_H 1
# | #define HAVE_STDARG_H 1
# | #define HAVE_STDINT_H 1
# | #define HAVE_STDLIB_H 1
# | #define HAVE_STRING_H 1
# | #define HAVE_SYS_CDEFS_H 1
# | #define HAVE_SYS_IOCTL_H 1
# | #define HAVE_SYS_MOUNT_H 1
# | #define HAVE_SYS_PARAM_H 1
# | #define HAVE_SYS_POLL_H 1
# | #define HAVE_SYS_SELECT_H 1
# | #define HAVE_SYS_STATFS_H 1
# | #define HAVE_SYS_STATVFS_H 1
# | #define HAVE_SYS_TIME_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_BZLIB_H 1
# | #define HAVE_LIBBZ2 1
# | #define HAVE_ICONV 1
# | #define ICONV_CONST
# | #define HAVE_ICONV_H 1
# | #define HAVE_LZ4_H 1
# | #define HAVE_LZ4HC_H 1
# | #define HAVE_LIBLZ4 1
# | #define HAVE_LZMA_H 1
# | #define HAVE_LIBLZMA 1
# | #define HAVE_LZMA_STREAM_ENCODER_MT 1
# | #define HAVE_LZO_LZOCONF_H 1
# | #define HAVE_LZO_LZO1X_H 1
# | #define HAVE_LIBLZO2 1
# | #define HAVE_EXPAT_H 1
# | #define HAVE_LIBEXPAT 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 1
# | #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1
# | #define HAVE_STRUCT_STAT_ST_BLKSIZE 1
# | #define HAVE_UINTMAX_T 1
# | #define HAVE_UNSIGNED_LONG_LONG 1
# | #define HAVE_UNSIGNED_LONG_LONG_INT 1
# | #define HAVE_LONG_LONG_INT 1
# | #define HAVE_INTMAX_T 1
# | #define HAVE_UINTMAX_T 1
# | #define HAVE_DECL_SIZE_MAX 1
# | #define HAVE_DECL_INT32_MAX 1
# | #define HAVE_DECL_INT32_MIN 1
# | #define HAVE_DECL_INT64_MAX 1
# | #define HAVE_DECL_INT64_MIN 1
# | #define HAVE_DECL_UINT64_MAX 1
# | #define HAVE_DECL_UINT32_MAX 1
# | #define HAVE_DECL_INTMAX_MAX 1
# | #define HAVE_DECL_INTMAX_MIN 1
# | #define HAVE_DECL_UINTMAX_MAX 1
# | #define HAVE_DECL_SSIZE_MAX 1
# | #define HAVE_EILSEQ 1
# | #define HAVE_WCHAR_T 1
# | #define SIZEOF_WCHAR_T 4
# | #define TIME_WITH_SYS_TIME 1
# | #define HAVE_FSEEKO 1
# | #define LSTAT_FOLLOWS_SLASHED_SYMLINK 1
# | #define HAVE_DECL_STRERROR_R 1
# | #define HAVE_STRERROR_R 1
# | #define STRERROR_R_CHAR_P 1
# | #define HAVE_STRFTIME 1
# | #define HAVE_VPRINTF 1
# | /* end confdefs.h. */
# | /* Define _doprnt to an innocuous variant, in case declares _doprnt.
# | For example, HP-UX 11i declares gettimeofday. */
# | #define _doprnt innocuous__doprnt
# |
# | /* System header to define __stub macros and hopefully few prototypes,
# | which can conflict with char _doprnt (); below.
# | Prefer to if __STDC__ is defined, since
# | exists even on freestanding compilers. */
# |
# | #ifdef __STDC__
# | # include
# | #else
# | # include
# | #endif
# |
# | #undef _doprnt
# |
# | /* Override any GCC internal prototype to avoid an error.
# | Use char because int might match the return type of a GCC
# | builtin and then its argument prototype would still apply. */
# | #ifdef __cplusplus
# | extern "C"
# | #endif
# | char _doprnt ();
# | /* The GNU C library defines this for functions which it implements
# | to always fail with ENOSYS. Some functions are actually named
# | something starting with __ and the normal name is an alias. */
# | #if defined __stub__doprnt || defined __stub____doprnt
# | choke me
# | #endif
# |
# | int
# | main ()
# | {
# | return _doprnt ();
# | ;
# | return 0;
# | }
# configure:16969: result: no
# configure:16984: checking for CreateHardLinkA
# configure:17019: clang -o conftest -Wall -Wformat -Wformat-security conftest.c -lexpat -llzo2 -llzma -llz4 -lbz2 -lz >&5
# conftest.c:134:6: warning: calling convention '__stdcall' ignored for this target [-Wignored-attributes]
# char __stdcall CreateHardLinkA ( const char *, const char *, void * );
# ^
# 1 warning generated.
# /tmp/conftest-5fac24.o: In function `main':
# conftest.c:(.text+0x8): undefined reference to `CreateHardLinkA'
# clang-3.8: error: linker command failed with exit code 1 (use -v to see invocation)
# 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_EXT2FS_EXT2_FS_H 1
# | #define HAVE_FCNTL_H 1
# | #define HAVE_GRP_H 1
# | #define HAVE_WORKING_EXT2_IOC_GETFLAGS 1
# | #define HAVE_INTTYPES_H 1
# | #define HAVE_LANGINFO_H 1
# | #define HAVE_LIMITS_H 1
# | #define HAVE_LINUX_FIEMAP_H 1
# | #define HAVE_LINUX_FS_H 1
# | #define HAVE_LINUX_MAGIC_H 1
# | #define HAVE_LINUX_TYPES_H 1
# | #define HAVE_LOCALE_H 1
# | #define HAVE_PATHS_H 1
# | #define HAVE_POLL_H 1
# | #define HAVE_PTHREAD_H 1
# | #define HAVE_PWD_H 1
# | #define HAVE_SIGNAL_H 1
# | #define HAVE_SPAWN_H 1
# | #define HAVE_STDARG_H 1
# | #define HAVE_STDINT_H 1
# | #define HAVE_STDLIB_H 1
# | #define HAVE_STRING_H 1
# | #define HAVE_SYS_CDEFS_H 1
# | #define HAVE_SYS_IOCTL_H 1
# | #define HAVE_SYS_MOUNT_H 1
# | #define HAVE_SYS_PARAM_H 1
# | #define HAVE_SYS_POLL_H 1
# | #define HAVE_SYS_SELECT_H 1
# | #define HAVE_SYS_STATFS_H 1
# | #define HAVE_SYS_STATVFS_H 1
# | #define HAVE_SYS_TIME_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_BZLIB_H 1
# | #define HAVE_LIBBZ2 1
# | #define HAVE_ICONV 1
# | #define ICONV_CONST
# | #define HAVE_ICONV_H 1
# | #define HAVE_LZ4_H 1
# | #define HAVE_LZ4HC_H 1
# | #define HAVE_LIBLZ4 1
# | #define HAVE_LZMA_H 1
# | #define HAVE_LIBLZMA 1
# | #define HAVE_LZMA_STREAM_ENCODER_MT 1
# | #define HAVE_LZO_LZOCONF_H 1
# | #define HAVE_LZO_LZO1X_H 1
# | #define HAVE_LIBLZO2 1
# | #define HAVE_EXPAT_H 1
# | #define HAVE_LIBEXPAT 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 1
# | #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1
# | #define HAVE_STRUCT_STAT_ST_BLKSIZE 1
# | #define HAVE_UINTMAX_T 1
# | #define HAVE_UNSIGNED_LONG_LONG 1
# | #define HAVE_UNSIGNED_LONG_LONG_INT 1
# | #define HAVE_LONG_LONG_INT 1
# | #define HAVE_INTMAX_T 1
# | #define HAVE_UINTMAX_T 1
# | #define HAVE_DECL_SIZE_MAX 1
# | #define HAVE_DECL_INT32_MAX 1
# | #define HAVE_DECL_INT32_MIN 1
# | #define HAVE_DECL_INT64_MAX 1
# | #define HAVE_DECL_INT64_MIN 1
# | #define HAVE_DECL_UINT64_MAX 1
# | #define HAVE_DECL_UINT32_MAX 1
# | #define HAVE_DECL_INTMAX_MAX 1
# | #define HAVE_DECL_INTMAX_MIN 1
# | #define HAVE_DECL_UINTMAX_MAX 1
# | #define HAVE_DECL_SSIZE_MAX 1
# | #define HAVE_EILSEQ 1
# | #define HAVE_WCHAR_T 1
# | #define SIZEOF_WCHAR_T 4
# | #define TIME_WITH_SYS_TIME 1
# | #define HAVE_FSEEKO 1
# | #define LSTAT_FOLLOWS_SLASHED_SYMLINK 1
# | #define HAVE_DECL_STRERROR_R 1
# | #define HAVE_STRERROR_R 1
# | #define STRERROR_R_CHAR_P 1
# | #define HAVE_STRFTIME 1
# | #define HAVE_VPRINTF 1
# | /* end confdefs.h. */
# | /* System header to define __stub macros and hopefully few prototypes,
# | which can conflict with char __stdcall CreateHardLinkA ( const char *, const char *, void * ) below. */
# | #include
# | /* Override any gcc2 internal prototype to avoid an error. */
# | #ifdef __cplusplus
# | extern "C"
# | #endif
# | /* We use char because int might match the return type of a gcc2
# | builtin and then its argument prototype would still apply. */
# | char __stdcall CreateHardLinkA ( const char *, const char *, void * );
# | char (*f) ( const char *, const char *, void * );
# |
# | int
# | main ()
# | {
# | /* The GNU C library defines this for functions which it implements
# | to always fail with ENOSYS. Some functions are actually named
# | something starting with __ and the normal name is an alias. */
# | #if defined (__stub_CreateHardLinkA) || defined (__stub___CreateHardLinkA)
# | choke me
# | #else
# | f = CreateHardLinkA;
# | #endif
# |
# | ;
# | return 0;
# | }
# configure:17027: result: no
# configure:17035: checking for arc4random_buf
# configure:17035: clang -o conftest -Wall -Wformat -Wformat-security conftest.c -lexpat -llzo2 -llzma -llz4 -lbz2 -lz >&5
# /tmp/conftest-a57ef1.o: In function `main':
# conftest.c:(.text+0x12): undefined reference to `arc4random_buf'
# clang-3.8: error: linker command failed with exit code 1 (use -v to see invocation)
# 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_EXT2FS_EXT2_FS_H 1
# | #define HAVE_FCNTL_H 1
# | #define HAVE_GRP_H 1
# | #define HAVE_WORKING_EXT2_IOC_GETFLAGS 1
# | #define HAVE_INTTYPES_H 1
# | #define HAVE_LANGINFO_H 1
# | #define HAVE_LIMITS_H 1
# | #define HAVE_LINUX_FIEMAP_H 1
# | #define HAVE_LINUX_FS_H 1
# | #define HAVE_LINUX_MAGIC_H 1
# | #define HAVE_LINUX_TYPES_H 1
# | #define HAVE_LOCALE_H 1
# | #define HAVE_PATHS_H 1
# | #define HAVE_POLL_H 1
# | #define HAVE_PTHREAD_H 1
# | #define HAVE_PWD_H 1
# | #define HAVE_SIGNAL_H 1
# | #define HAVE_SPAWN_H 1
# | #define HAVE_STDARG_H 1
# | #define HAVE_STDINT_H 1
# | #define HAVE_STDLIB_H 1
# | #define HAVE_STRING_H 1
# | #define HAVE_SYS_CDEFS_H 1
# | #define HAVE_SYS_IOCTL_H 1
# | #define HAVE_SYS_MOUNT_H 1
# | #define HAVE_SYS_PARAM_H 1
# | #define HAVE_SYS_POLL_H 1
# | #define HAVE_SYS_SELECT_H 1
# | #define HAVE_SYS_STATFS_H 1
# | #define HAVE_SYS_STATVFS_H 1
# | #define HAVE_SYS_TIME_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_BZLIB_H 1
# | #define HAVE_LIBBZ2 1
# | #define HAVE_ICONV 1
# | #define ICONV_CONST
# | #define HAVE_ICONV_H 1
# | #define HAVE_LZ4_H 1
# | #define HAVE_LZ4HC_H 1
# | #define HAVE_LIBLZ4 1
# | #define HAVE_LZMA_H 1
# | #define HAVE_LIBLZMA 1
# | #define HAVE_LZMA_STREAM_ENCODER_MT 1
# | #define HAVE_LZO_LZOCONF_H 1
# | #define HAVE_LZO_LZO1X_H 1
# | #define HAVE_LIBLZO2 1
# | #define HAVE_EXPAT_H 1
# | #define HAVE_LIBEXPAT 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 1
# | #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1
# | #define HAVE_STRUCT_STAT_ST_BLKSIZE 1
# | #define HAVE_UINTMAX_T 1
# | #define HAVE_UNSIGNED_LONG_LONG 1
# | #define HAVE_UNSIGNED_LONG_LONG_INT 1
# | #define HAVE_LONG_LONG_INT 1
# | #define HAVE_INTMAX_T 1
# | #define HAVE_UINTMAX_T 1
# | #define HAVE_DECL_SIZE_MAX 1
# | #define HAVE_DECL_INT32_MAX 1
# | #define HAVE_DECL_INT32_MIN 1
# | #define HAVE_DECL_INT64_MAX 1
# | #define HAVE_DECL_INT64_MIN 1
# | #define HAVE_DECL_UINT64_MAX 1
# | #define HAVE_DECL_UINT32_MAX 1
# | #define HAVE_DECL_INTMAX_MAX 1
# | #define HAVE_DECL_INTMAX_MIN 1
# | #define HAVE_DECL_UINTMAX_MAX 1
# | #define HAVE_DECL_SSIZE_MAX 1
# | #define HAVE_EILSEQ 1
# | #define HAVE_WCHAR_T 1
# | #define SIZEOF_WCHAR_T 4
# | #define TIME_WITH_SYS_TIME 1
# | #define HAVE_FSEEKO 1
# | #define LSTAT_FOLLOWS_SLASHED_SYMLINK 1
# | #define HAVE_DECL_STRERROR_R 1
# | #define HAVE_STRERROR_R 1
# | #define STRERROR_R_CHAR_P 1
# | #define HAVE_STRFTIME 1
# | #define HAVE_VPRINTF 1
# | /* end confdefs.h. */
# | /* Define arc4random_buf to an innocuous variant, in case declares arc4random_buf.
# | For example, HP-UX 11i declares gettimeofday. */
# | #define arc4random_buf innocuous_arc4random_buf
# |
# | /* System header to define __stub macros and hopefully few prototypes,
# | which can conflict with char arc4random_buf (); below.
# | Prefer to if __STDC__ is defined, since
# | exists even on freestanding compilers. */
# |
# | #ifdef __STDC__
# | # include
# | #else
# | # include
# | #endif
# |
# | #undef arc4random_buf
# |
# | /* Override any GCC internal prototype to avoid an error.
# | Use char because int might match the return type of a GCC
# | builtin and then its argument prototype would still apply. */
# | #ifdef __cplusplus
# | extern "C"
# | #endif
# | char arc4random_buf ();
# | /* The GNU C library defines this for functions which it implements
# | to always fail with ENOSYS. Some functions are actually named
# | something starting with __ and the normal name is an alias. */
# | #if defined __stub_arc4random_buf || defined __stub___arc4random_buf
# | choke me
# | #endif
# |
# | int
# | main ()
# | {
# | return arc4random_buf ();
# | ;
# | return 0;
# | }
# configure:17035: result: no
# configure:17035: checking for chflags
# configure:17035: clang -o conftest -Wall -Wformat -Wformat-security conftest.c -lexpat -llzo2 -llzma -llz4 -lbz2 -lz >&5
# conftest.c:153:1: error: unknown type name 'choke'
# choke me
# ^
# conftest.c:153:9: error: expected ';' after top level declarator
# choke me
# ^
# ;
# 2 errors generated.
# 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_EXT2FS_EXT2_FS_H 1
# | #define HAVE_FCNTL_H 1
# | #define HAVE_GRP_H 1
# | #define HAVE_WORKING_EXT2_IOC_GETFLAGS 1
# | #define HAVE_INTTYPES_H 1
# | #define HAVE_LANGINFO_H 1
# | #define HAVE_LIMITS_H 1
# | #define HAVE_LINUX_FIEMAP_H 1
# | #define HAVE_LINUX_FS_H 1
# | #define HAVE_LINUX_MAGIC_H 1
# | #define HAVE_LINUX_TYPES_H 1
# | #define HAVE_LOCALE_H 1
# | #define HAVE_PATHS_H 1
# | #define HAVE_POLL_H 1
# | #define HAVE_PTHREAD_H 1
# | #define HAVE_PWD_H 1
# | #define HAVE_SIGNAL_H 1
# | #define HAVE_SPAWN_H 1
# | #define HAVE_STDARG_H 1
# | #define HAVE_STDINT_H 1
# | #define HAVE_STDLIB_H 1
# | #define HAVE_STRING_H 1
# | #define HAVE_SYS_CDEFS_H 1
# | #define HAVE_SYS_IOCTL_H 1
# | #define HAVE_SYS_MOUNT_H 1
# | #define HAVE_SYS_PARAM_H 1
# | #define HAVE_SYS_POLL_H 1
# | #define HAVE_SYS_SELECT_H 1
# | #define HAVE_SYS_STATFS_H 1
# | #define HAVE_SYS_STATVFS_H 1
# | #define HAVE_SYS_TIME_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_BZLIB_H 1
# | #define HAVE_LIBBZ2 1
# | #define HAVE_ICONV 1
# | #define ICONV_CONST
# | #define HAVE_ICONV_H 1
# | #define HAVE_LZ4_H 1
# | #define HAVE_LZ4HC_H 1
# | #define HAVE_LIBLZ4 1
# | #define HAVE_LZMA_H 1
# | #define HAVE_LIBLZMA 1
# | #define HAVE_LZMA_STREAM_ENCODER_MT 1
# | #define HAVE_LZO_LZOCONF_H 1
# | #define HAVE_LZO_LZO1X_H 1
# | #define HAVE_LIBLZO2 1
# | #define HAVE_EXPAT_H 1
# | #define HAVE_LIBEXPAT 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 1
# | #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1
# | #define HAVE_STRUCT_STAT_ST_BLKSIZE 1
# | #define HAVE_UINTMAX_T 1
# | #define HAVE_UNSIGNED_LONG_LONG 1
# | #define HAVE_UNSIGNED_LONG_LONG_INT 1
# | #define HAVE_LONG_LONG_INT 1
# | #define HAVE_INTMAX_T 1
# | #define HAVE_UINTMAX_T 1
# | #define HAVE_DECL_SIZE_MAX 1
# | #define HAVE_DECL_INT32_MAX 1
# | #define HAVE_DECL_INT32_MIN 1
# | #define HAVE_DECL_INT64_MAX 1
# | #define HAVE_DECL_INT64_MIN 1
# | #define HAVE_DECL_UINT64_MAX 1
# | #define HAVE_DECL_UINT32_MAX 1
# | #define HAVE_DECL_INTMAX_MAX 1
# | #define HAVE_DECL_INTMAX_MIN 1
# | #define HAVE_DECL_UINTMAX_MAX 1
# | #define HAVE_DECL_SSIZE_MAX 1
# | #define HAVE_EILSEQ 1
# | #define HAVE_WCHAR_T 1
# | #define SIZEOF_WCHAR_T 4
# | #define TIME_WITH_SYS_TIME 1
# | #define HAVE_FSEEKO 1
# | #define LSTAT_FOLLOWS_SLASHED_SYMLINK 1
# | #define HAVE_DECL_STRERROR_R 1
# | #define HAVE_STRERROR_R 1
# | #define STRERROR_R_CHAR_P 1
# | #define HAVE_STRFTIME 1
# | #define HAVE_VPRINTF 1
# | /* end confdefs.h. */
# | /* Define chflags to an innocuous variant, in case declares chflags.
# | For example, HP-UX 11i declares gettimeofday. */
# | #define chflags innocuous_chflags
# |
# | /* System header to define __stub macros and hopefully few prototypes,
# | which can conflict with char chflags (); below.
# | Prefer to if __STDC__ is defined, since
# | exists even on freestanding compilers. */
# |
# | #ifdef __STDC__
# | # include
# | #else
# | # include
# | #endif
# |
# | #undef chflags
# |
# | /* Override any GCC internal prototype to avoid an error.
# | Use char because int might match the return type of a GCC
# | builtin and then its argument prototype would still apply. */
# | #ifdef __cplusplus
# | extern "C"
# | #endif
# | char chflags ();
# | /* The GNU C library defines this for functions which it implements
# | to always fail with ENOSYS. Some functions are actually named
# | something starting with __ and the normal name is an alias. */
# | #if defined __stub_chflags || defined __stub___chflags
# | choke me
# | #endif
# |
# | int
# | main ()
# | {
# | return chflags ();
# | ;
# | return 0;
# | }
# configure:17035: result: no
# configure:17035: checking for chown
# configure:17035: clang -o conftest -Wall -Wformat -Wformat-security conftest.c -lexpat -llzo2 -llzma -llz4 -lbz2 -lz >&5
# configure:17035: $? = 0
# configure:17035: result: yes
# configure:17035: checking for chroot
# configure:17035: clang -o conftest -Wall -Wformat -Wformat-security conftest.c -lexpat -llzo2 -llzma -llz4 -lbz2 -lz >&5
# configure:17035: $? = 0
# configure:17035: result: yes
# configure:17035: checking for ctime_r
# configure:17035: clang -o conftest -Wall -Wformat -Wformat-security conftest.c -lexpat -llzo2 -llzma -llz4 -lbz2 -lz >&5
# configure:17035: $? = 0
# configure:17035: result: yes
# configure:17035: checking for dirfd
# configure:17035: clang -o conftest -Wall -Wformat -Wformat-security conftest.c -lexpat -llzo2 -llzma -llz4 -lbz2 -lz >&5
# configure:17035: $? = 0
# configure:17035: result: yes
# configure:17047: checking for fchdir
# configure:17047: clang -o conftest -Wall -Wformat -Wformat-security conftest.c -lexpat -llzo2 -llzma -llz4 -lbz2 -lz >&5
# configure:17047: $? = 0
# configure:17047: result: yes
# configure:17047: checking for fchflags
# configure:17047: clang -o conftest -Wall -Wformat -Wformat-security conftest.c -lexpat -llzo2 -llzma -llz4 -lbz2 -lz >&5
# conftest.c:158:1: error: unknown type name 'choke'
# choke me
# ^
# conftest.c:158:9: error: expected ';' after top level declarator
# choke me
# ^
# ;
# 2 errors generated.
# 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_EXT2FS_EXT2_FS_H 1
# | #define HAVE_FCNTL_H 1
# | #define HAVE_GRP_H 1
# | #define HAVE_WORKING_EXT2_IOC_GETFLAGS 1
# | #define HAVE_INTTYPES_H 1
# | #define HAVE_LANGINFO_H 1
# | #define HAVE_LIMITS_H 1
# | #define HAVE_LINUX_FIEMAP_H 1
# | #define HAVE_LINUX_FS_H 1
# | #define HAVE_LINUX_MAGIC_H 1
# | #define HAVE_LINUX_TYPES_H 1
# | #define HAVE_LOCALE_H 1
# | #define HAVE_PATHS_H 1
# | #define HAVE_POLL_H 1
# | #define HAVE_PTHREAD_H 1
# | #define HAVE_PWD_H 1
# | #define HAVE_SIGNAL_H 1
# | #define HAVE_SPAWN_H 1
# | #define HAVE_STDARG_H 1
# | #define HAVE_STDINT_H 1
# | #define HAVE_STDLIB_H 1
# | #define HAVE_STRING_H 1
# | #define HAVE_SYS_CDEFS_H 1
# | #define HAVE_SYS_IOCTL_H 1
# | #define HAVE_SYS_MOUNT_H 1
# | #define HAVE_SYS_PARAM_H 1
# | #define HAVE_SYS_POLL_H 1
# | #define HAVE_SYS_SELECT_H 1
# | #define HAVE_SYS_STATFS_H 1
# | #define HAVE_SYS_STATVFS_H 1
# | #define HAVE_SYS_TIME_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_BZLIB_H 1
# | #define HAVE_LIBBZ2 1
# | #define HAVE_ICONV 1
# | #define ICONV_CONST
# | #define HAVE_ICONV_H 1
# | #define HAVE_LZ4_H 1
# | #define HAVE_LZ4HC_H 1
# | #define HAVE_LIBLZ4 1
# | #define HAVE_LZMA_H 1
# | #define HAVE_LIBLZMA 1
# | #define HAVE_LZMA_STREAM_ENCODER_MT 1
# | #define HAVE_LZO_LZOCONF_H 1
# | #define HAVE_LZO_LZO1X_H 1
# | #define HAVE_LIBLZO2 1
# | #define HAVE_EXPAT_H 1
# | #define HAVE_LIBEXPAT 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 1
# | #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1
# | #define HAVE_STRUCT_STAT_ST_BLKSIZE 1
# | #define HAVE_UINTMAX_T 1
# | #define HAVE_UNSIGNED_LONG_LONG 1
# | #define HAVE_UNSIGNED_LONG_LONG_INT 1
# | #define HAVE_LONG_LONG_INT 1
# | #define HAVE_INTMAX_T 1
# | #define HAVE_UINTMAX_T 1
# | #define HAVE_DECL_SIZE_MAX 1
# | #define HAVE_DECL_INT32_MAX 1
# | #define HAVE_DECL_INT32_MIN 1
# | #define HAVE_DECL_INT64_MAX 1
# | #define HAVE_DECL_INT64_MIN 1
# | #define HAVE_DECL_UINT64_MAX 1
# | #define HAVE_DECL_UINT32_MAX 1
# | #define HAVE_DECL_INTMAX_MAX 1
# | #define HAVE_DECL_INTMAX_MIN 1
# | #define HAVE_DECL_UINTMAX_MAX 1
# | #define HAVE_DECL_SSIZE_MAX 1
# | #define HAVE_EILSEQ 1
# | #define HAVE_WCHAR_T 1
# | #define SIZEOF_WCHAR_T 4
# | #define TIME_WITH_SYS_TIME 1
# | #define HAVE_FSEEKO 1
# | #define LSTAT_FOLLOWS_SLASHED_SYMLINK 1
# | #define HAVE_DECL_STRERROR_R 1
# | #define HAVE_STRERROR_R 1
# | #define STRERROR_R_CHAR_P 1
# | #define HAVE_STRFTIME 1
# | #define HAVE_VPRINTF 1
# | #define HAVE_CHOWN 1
# | #define HAVE_CHROOT 1
# | #define HAVE_CTIME_R 1
# | #define HAVE_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: clang -o conftest -Wall -Wformat -Wformat-security conftest.c -lexpat -llzo2 -llzma -llz4 -lbz2 -lz >&5
# configure:17047: $? = 0
# configure:17047: result: yes
# configure:17047: checking for fchown
# configure:17047: clang -o conftest -Wall -Wformat -Wformat-security conftest.c -lexpat -llzo2 -llzma -llz4 -lbz2 -lz >&5
# configure:17047: $? = 0
# configure:17047: result: yes
# configure:17047: checking for fcntl
# configure:17047: clang -o conftest -Wall -Wformat -Wformat-security conftest.c -lexpat -llzo2 -llzma -llz4 -lbz2 -lz >&5
# configure:17047: $? = 0
# configure:17047: result: yes
# configure:17047: checking for fdopendir
# configure:17047: clang -o conftest -Wall -Wformat -Wformat-security conftest.c -lexpat -llzo2 -llzma -llz4 -lbz2 -lz >&5
# configure:17047: $? = 0
# configure:17047: result: yes
# configure:17047: checking for fork
# configure:17047: clang -o conftest -Wall -Wformat -Wformat-security conftest.c -lexpat -llzo2 -llzma -llz4 -lbz2 -lz >&5
# configure:17047: $? = 0
# configure:17047: result: yes
# configure:17059: checking for fstat
# configure:17059: clang -o conftest -Wall -Wformat -Wformat-security conftest.c -lexpat -llzo2 -llzma -llz4 -lbz2 -lz >&5
# configure:17059: $? = 0
# configure:17059: result: yes
# configure:17059: checking for fstatat
# configure:17059: clang -o conftest -Wall -Wformat -Wformat-security conftest.c -lexpat -llzo2 -llzma -llz4 -lbz2 -lz >&5
# configure:17059: $? = 0
# configure:17059: result: yes
# configure:17059: checking for fstatfs
# configure:17059: clang -o conftest -Wall -Wformat -Wformat-security conftest.c -lexpat -llzo2 -llzma -llz4 -lbz2 -lz >&5
# configure:17059: $? = 0
# configure:17059: result: yes
# configure:17059: checking for fstatvfs
# configure:17059: clang -o conftest -Wall -Wformat -Wformat-security conftest.c -lexpat -llzo2 -llzma -llz4 -lbz2 -lz >&5
# configure:17059: $? = 0
# configure:17059: result: yes
# configure:17059: checking for ftruncate
# configure:17059: clang -o conftest -Wall -Wformat -Wformat-security conftest.c -lexpat -llzo2 -llzma -llz4 -lbz2 -lz >&5
# configure:17059: $? = 0
# configure:17059: result: yes
# configure:17071: checking for futimens
# configure:17071: clang -o conftest -Wall -Wformat -Wformat-security conftest.c -lexpat -llzo2 -llzma -llz4 -lbz2 -lz >&5
# configure:17071: $? = 0
# configure:17071: result: yes
# configure:17071: checking for futimes
# configure:17071: clang -o conftest -Wall -Wformat -Wformat-security conftest.c -lexpat -llzo2 -llzma -llz4 -lbz2 -lz >&5
# configure:17071: $? = 0
# configure:17071: result: yes
# configure:17071: checking for futimesat
# configure:17071: clang -o conftest -Wall -Wformat -Wformat-security conftest.c -lexpat -llzo2 -llzma -llz4 -lbz2 -lz >&5
# configure:17071: $? = 0
# configure:17071: result: yes
# configure:17083: checking for geteuid
# configure:17083: clang -o conftest -Wall -Wformat -Wformat-security conftest.c -lexpat -llzo2 -llzma -llz4 -lbz2 -lz >&5
# configure:17083: $? = 0
# configure:17083: result: yes
# configure:17083: checking for getpid
# configure:17083: clang -o conftest -Wall -Wformat -Wformat-security conftest.c -lexpat -llzo2 -llzma -llz4 -lbz2 -lz >&5
# configure:17083: $? = 0
# configure:17083: result: yes
# configure:17083: checking for getgrgid_r
# configure:17083: clang -o conftest -Wall -Wformat -Wformat-security conftest.c -lexpat -llzo2 -llzma -llz4 -lbz2 -lz >&5
# configure:17083: $? = 0
# configure:17083: result: yes
# configure:17083: checking for getgrnam_r
# configure:17083: clang -o conftest -Wall -Wformat -Wformat-security conftest.c -lexpat -llzo2 -llzma -llz4 -lbz2 -lz >&5
# configure:17083: $? = 0
# configure:17083: result: yes
# configure:17095: checking for getpwnam_r
# configure:17095: clang -o conftest -Wall -Wformat -Wformat-security conftest.c -lexpat -llzo2 -llzma -llz4 -lbz2 -lz >&5
# configure:17095: $? = 0
# configure:17095: result: yes
# configure:17095: checking for getpwuid_r
# configure:17095: clang -o conftest -Wall -Wformat -Wformat-security conftest.c -lexpat -llzo2 -llzma -llz4 -lbz2 -lz >&5
# configure:17095: $? = 0
# configure:17095: result: yes
# configure:17095: checking for getvfsbyname
# configure:17095: clang -o conftest -Wall -Wformat -Wformat-security conftest.c -lexpat -llzo2 -llzma -llz4 -lbz2 -lz >&5
# /tmp/conftest-6089d1.o: In function `main':
# conftest.c:(.text+0x12): undefined reference to `getvfsbyname'
# clang-3.8: error: linker command failed with exit code 1 (use -v to see invocation)
# 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_EXT2FS_EXT2_FS_H 1
# | #define HAVE_FCNTL_H 1
# | #define HAVE_GRP_H 1
# | #define HAVE_WORKING_EXT2_IOC_GETFLAGS 1
# | #define HAVE_INTTYPES_H 1
# | #define HAVE_LANGINFO_H 1
# | #define HAVE_LIMITS_H 1
# | #define HAVE_LINUX_FIEMAP_H 1
# | #define HAVE_LINUX_FS_H 1
# | #define HAVE_LINUX_MAGIC_H 1
# | #define HAVE_LINUX_TYPES_H 1
# | #define HAVE_LOCALE_H 1
# | #define HAVE_PATHS_H 1
# | #define HAVE_POLL_H 1
# | #define HAVE_PTHREAD_H 1
# | #define HAVE_PWD_H 1
# | #define HAVE_SIGNAL_H 1
# | #define HAVE_SPAWN_H 1
# | #define HAVE_STDARG_H 1
# | #define HAVE_STDINT_H 1
# | #define HAVE_STDLIB_H 1
# | #define HAVE_STRING_H 1
# | #define HAVE_SYS_CDEFS_H 1
# | #define HAVE_SYS_IOCTL_H 1
# | #define HAVE_SYS_MOUNT_H 1
# | #define HAVE_SYS_PARAM_H 1
# | #define HAVE_SYS_POLL_H 1
# | #define HAVE_SYS_SELECT_H 1
# | #define HAVE_SYS_STATFS_H 1
# | #define HAVE_SYS_STATVFS_H 1
# | #define HAVE_SYS_TIME_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_BZLIB_H 1
# | #define HAVE_LIBBZ2 1
# | #define HAVE_ICONV 1
# | #define ICONV_CONST
# | #define HAVE_ICONV_H 1
# | #define HAVE_LZ4_H 1
# | #define HAVE_LZ4HC_H 1
# | #define HAVE_LIBLZ4 1
# | #define HAVE_LZMA_H 1
# | #define HAVE_LIBLZMA 1
# | #define HAVE_LZMA_STREAM_ENCODER_MT 1
# | #define HAVE_LZO_LZOCONF_H 1
# | #define HAVE_LZO_LZO1X_H 1
# | #define HAVE_LIBLZO2 1
# | #define HAVE_EXPAT_H 1
# | #define HAVE_LIBEXPAT 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 1
# | #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1
# | #define HAVE_STRUCT_STAT_ST_BLKSIZE 1
# | #define HAVE_UINTMAX_T 1
# | #define HAVE_UNSIGNED_LONG_LONG 1
# | #define HAVE_UNSIGNED_LONG_LONG_INT 1
# | #define HAVE_LONG_LONG_INT 1
# | #define HAVE_INTMAX_T 1
# | #define HAVE_UINTMAX_T 1
# | #define HAVE_DECL_SIZE_MAX 1
# | #define HAVE_DECL_INT32_MAX 1
# | #define HAVE_DECL_INT32_MIN 1
# | #define HAVE_DECL_INT64_MAX 1
# | #define HAVE_DECL_INT64_MIN 1
# | #define HAVE_DECL_UINT64_MAX 1
# | #define HAVE_DECL_UINT32_MAX 1
# | #define HAVE_DECL_INTMAX_MAX 1
# | #define HAVE_DECL_INTMAX_MIN 1
# | #define HAVE_DECL_UINTMAX_MAX 1
# | #define HAVE_DECL_SSIZE_MAX 1
# | #define HAVE_EILSEQ 1
# | #define HAVE_WCHAR_T 1
# | #define SIZEOF_WCHAR_T 4
# | #define TIME_WITH_SYS_TIME 1
# | #define HAVE_FSEEKO 1
# | #define LSTAT_FOLLOWS_SLASHED_SYMLINK 1
# | #define HAVE_DECL_STRERROR_R 1
# | #define HAVE_STRERROR_R 1
# | #define STRERROR_R_CHAR_P 1
# | #define HAVE_STRFTIME 1
# | #define HAVE_VPRINTF 1
# | #define HAVE_CHOWN 1
# | #define HAVE_CHROOT 1
# | #define HAVE_CTIME_R 1
# | #define HAVE_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_FUTIMES 1
# | #define HAVE_FUTIMESAT 1
# | #define HAVE_GETEUID 1
# | #define HAVE_GETPID 1
# | #define HAVE_GETGRGID_R 1
# | #define HAVE_GETGRNAM_R 1
# | #define HAVE_GETPWNAM_R 1
# | #define HAVE_GETPWUID_R 1
# | /* end confdefs.h. */
# | /* Define getvfsbyname to an innocuous variant, in case declares getvfsbyname.
# | For example, HP-UX 11i declares gettimeofday. */
# | #define getvfsbyname innocuous_getvfsbyname
# |
# | /* System header to define __stub macros and hopefully few prototypes,
# | which can conflict with char getvfsbyname (); below.
# | Prefer to if __STDC__ is defined, since
# | exists even on freestanding compilers. */
# |
# | #ifdef __STDC__
# | # include
# | #else
# | # include
# | #endif
# |
# | #undef getvfsbyname
# |
# | /* Override any GCC internal prototype to avoid an error.
# | Use char because int might match the return type of a GCC
# | builtin and then its argument prototype would still apply. */
# | #ifdef __cplusplus
# | extern "C"
# | #endif
# | char getvfsbyname ();
# | /* The GNU C library defines this for functions which it implements
# | to always fail with ENOSYS. Some functions are actually named
# | something starting with __ and the normal name is an alias. */
# | #if defined __stub_getvfsbyname || defined __stub___getvfsbyname
# | choke me
# | #endif
# |
# | int
# | main ()
# | {
# | return getvfsbyname ();
# | ;
# | return 0;
# | }
# configure:17095: result: no
# configure:17095: checking for gmtime_r
# configure:17095: clang -o conftest -Wall -Wformat -Wformat-security conftest.c -lexpat -llzo2 -llzma -llz4 -lbz2 -lz >&5
# configure:17095: $? = 0
# configure:17095: result: yes
# configure:17107: checking for lchflags
# configure:17107: clang -o conftest -Wall -Wformat -Wformat-security conftest.c -lexpat -llzo2 -llzma -llz4 -lbz2 -lz >&5
# /tmp/conftest-b7571d.o: In function `main':
# conftest.c:(.text+0x12): undefined reference to `lchflags'
# clang-3.8: error: linker command failed with exit code 1 (use -v to see invocation)
# 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_EXT2FS_EXT2_FS_H 1
# | #define HAVE_FCNTL_H 1
# | #define HAVE_GRP_H 1
# | #define HAVE_WORKING_EXT2_IOC_GETFLAGS 1
# | #define HAVE_INTTYPES_H 1
# | #define HAVE_LANGINFO_H 1
# | #define HAVE_LIMITS_H 1
# | #define HAVE_LINUX_FIEMAP_H 1
# | #define HAVE_LINUX_FS_H 1
# | #define HAVE_LINUX_MAGIC_H 1
# | #define HAVE_LINUX_TYPES_H 1
# | #define HAVE_LOCALE_H 1
# | #define HAVE_PATHS_H 1
# | #define HAVE_POLL_H 1
# | #define HAVE_PTHREAD_H 1
# | #define HAVE_PWD_H 1
# | #define HAVE_SIGNAL_H 1
# | #define HAVE_SPAWN_H 1
# | #define HAVE_STDARG_H 1
# | #define HAVE_STDINT_H 1
# | #define HAVE_STDLIB_H 1
# | #define HAVE_STRING_H 1
# | #define HAVE_SYS_CDEFS_H 1
# | #define HAVE_SYS_IOCTL_H 1
# | #define HAVE_SYS_MOUNT_H 1
# | #define HAVE_SYS_PARAM_H 1
# | #define HAVE_SYS_POLL_H 1
# | #define HAVE_SYS_SELECT_H 1
# | #define HAVE_SYS_STATFS_H 1
# | #define HAVE_SYS_STATVFS_H 1
# | #define HAVE_SYS_TIME_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_BZLIB_H 1
# | #define HAVE_LIBBZ2 1
# | #define HAVE_ICONV 1
# | #define ICONV_CONST
# | #define HAVE_ICONV_H 1
# | #define HAVE_LZ4_H 1
# | #define HAVE_LZ4HC_H 1
# | #define HAVE_LIBLZ4 1
# | #define HAVE_LZMA_H 1
# | #define HAVE_LIBLZMA 1
# | #define HAVE_LZMA_STREAM_ENCODER_MT 1
# | #define HAVE_LZO_LZOCONF_H 1
# | #define HAVE_LZO_LZO1X_H 1
# | #define HAVE_LIBLZO2 1
# | #define HAVE_EXPAT_H 1
# | #define HAVE_LIBEXPAT 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 1
# | #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1
# | #define HAVE_STRUCT_STAT_ST_BLKSIZE 1
# | #define HAVE_UINTMAX_T 1
# | #define HAVE_UNSIGNED_LONG_LONG 1
# | #define HAVE_UNSIGNED_LONG_LONG_INT 1
# | #define HAVE_LONG_LONG_INT 1
# | #define HAVE_INTMAX_T 1
# | #define HAVE_UINTMAX_T 1
# | #define HAVE_DECL_SIZE_MAX 1
# | #define HAVE_DECL_INT32_MAX 1
# | #define HAVE_DECL_INT32_MIN 1
# | #define HAVE_DECL_INT64_MAX 1
# | #define HAVE_DECL_INT64_MIN 1
# | #define HAVE_DECL_UINT64_MAX 1
# | #define HAVE_DECL_UINT32_MAX 1
# | #define HAVE_DECL_INTMAX_MAX 1
# | #define HAVE_DECL_INTMAX_MIN 1
# | #define HAVE_DECL_UINTMAX_MAX 1
# | #define HAVE_DECL_SSIZE_MAX 1
# | #define HAVE_EILSEQ 1
# | #define HAVE_WCHAR_T 1
# | #define SIZEOF_WCHAR_T 4
# | #define TIME_WITH_SYS_TIME 1
# | #define HAVE_FSEEKO 1
# | #define LSTAT_FOLLOWS_SLASHED_SYMLINK 1
# | #define HAVE_DECL_STRERROR_R 1
# | #define HAVE_STRERROR_R 1
# | #define STRERROR_R_CHAR_P 1
# | #define HAVE_STRFTIME 1
# | #define HAVE_VPRINTF 1
# | #define HAVE_CHOWN 1
# | #define HAVE_CHROOT 1
# | #define HAVE_CTIME_R 1
# | #define HAVE_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_FUTIMES 1
# | #define HAVE_FUTIMESAT 1
# | #define HAVE_GETEUID 1
# | #define HAVE_GETPID 1
# | #define HAVE_GETGRGID_R 1
# | #define HAVE_GETGRNAM_R 1
# | #define HAVE_GETPWNAM_R 1
# | #define HAVE_GETPWUID_R 1
# | #define HAVE_GMTIME_R 1
# | /* end confdefs.h. */
# | /* Define lchflags to an innocuous variant, in case declares lchflags.
# | For example, HP-UX 11i declares gettimeofday. */
# | #define lchflags innocuous_lchflags
# |
# | /* System header to define __stub macros and hopefully few prototypes,
# | which can conflict with char lchflags (); below.
# | Prefer to if __STDC__ is defined, since
# | exists even on freestanding compilers. */
# |
# | #ifdef __STDC__
# | # include
# | #else
# | # include
# | #endif
# |
# | #undef lchflags
# |
# | /* Override any GCC internal prototype to avoid an error.
# | Use char because int might match the return type of a GCC
# | builtin and then its argument prototype would still apply. */
# | #ifdef __cplusplus
# | extern "C"
# | #endif
# | char lchflags ();
# | /* The GNU C library defines this for functions which it implements
# | to always fail with ENOSYS. Some functions are actually named
# | something starting with __ and the normal name is an alias. */
# | #if defined __stub_lchflags || defined __stub___lchflags
# | choke me
# | #endif
# |
# | int
# | main ()
# | {
# | return lchflags ();
# | ;
# | return 0;
# | }
# configure:17107: result: no
# configure:17107: checking for lchmod
# configure:17107: clang -o conftest -Wall -Wformat -Wformat-security conftest.c -lexpat -llzo2 -llzma -llz4 -lbz2 -lz >&5
# conftest.c:178:1: error: unknown type name 'choke'
# choke me
# ^
# conftest.c:178:9: error: expected ';' after top level declarator
# choke me
# ^
# ;
# 2 errors generated.
# 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_EXT2FS_EXT2_FS_H 1
# | #define HAVE_FCNTL_H 1
# | #define HAVE_GRP_H 1
# | #define HAVE_WORKING_EXT2_IOC_GETFLAGS 1
# | #define HAVE_INTTYPES_H 1
# | #define HAVE_LANGINFO_H 1
# | #define HAVE_LIMITS_H 1
# | #define HAVE_LINUX_FIEMAP_H 1
# | #define HAVE_LINUX_FS_H 1
# | #define HAVE_LINUX_MAGIC_H 1
# | #define HAVE_LINUX_TYPES_H 1
# | #define HAVE_LOCALE_H 1
# | #define HAVE_PATHS_H 1
# | #define HAVE_POLL_H 1
# | #define HAVE_PTHREAD_H 1
# | #define HAVE_PWD_H 1
# | #define HAVE_SIGNAL_H 1
# | #define HAVE_SPAWN_H 1
# | #define HAVE_STDARG_H 1
# | #define HAVE_STDINT_H 1
# | #define HAVE_STDLIB_H 1
# | #define HAVE_STRING_H 1
# | #define HAVE_SYS_CDEFS_H 1
# | #define HAVE_SYS_IOCTL_H 1
# | #define HAVE_SYS_MOUNT_H 1
# | #define HAVE_SYS_PARAM_H 1
# | #define HAVE_SYS_POLL_H 1
# | #define HAVE_SYS_SELECT_H 1
# | #define HAVE_SYS_STATFS_H 1
# | #define HAVE_SYS_STATVFS_H 1
# | #define HAVE_SYS_TIME_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_BZLIB_H 1
# | #define HAVE_LIBBZ2 1
# | #define HAVE_ICONV 1
# | #define ICONV_CONST
# | #define HAVE_ICONV_H 1
# | #define HAVE_LZ4_H 1
# | #define HAVE_LZ4HC_H 1
# | #define HAVE_LIBLZ4 1
# | #define HAVE_LZMA_H 1
# | #define HAVE_LIBLZMA 1
# | #define HAVE_LZMA_STREAM_ENCODER_MT 1
# | #define HAVE_LZO_LZOCONF_H 1
# | #define HAVE_LZO_LZO1X_H 1
# | #define HAVE_LIBLZO2 1
# | #define HAVE_EXPAT_H 1
# | #define HAVE_LIBEXPAT 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 1
# | #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1
# | #define HAVE_STRUCT_STAT_ST_BLKSIZE 1
# | #define HAVE_UINTMAX_T 1
# | #define HAVE_UNSIGNED_LONG_LONG 1
# | #define HAVE_UNSIGNED_LONG_LONG_INT 1
# | #define HAVE_LONG_LONG_INT 1
# | #define HAVE_INTMAX_T 1
# | #define HAVE_UINTMAX_T 1
# | #define HAVE_DECL_SIZE_MAX 1
# | #define HAVE_DECL_INT32_MAX 1
# | #define HAVE_DECL_INT32_MIN 1
# | #define HAVE_DECL_INT64_MAX 1
# | #define HAVE_DECL_INT64_MIN 1
# | #define HAVE_DECL_UINT64_MAX 1
# | #define HAVE_DECL_UINT32_MAX 1
# | #define HAVE_DECL_INTMAX_MAX 1
# | #define HAVE_DECL_INTMAX_MIN 1
# | #define HAVE_DECL_UINTMAX_MAX 1
# | #define HAVE_DECL_SSIZE_MAX 1
# | #define HAVE_EILSEQ 1
# | #define HAVE_WCHAR_T 1
# | #define SIZEOF_WCHAR_T 4
# | #define TIME_WITH_SYS_TIME 1
# | #define HAVE_FSEEKO 1
# | #define LSTAT_FOLLOWS_SLASHED_SYMLINK 1
# | #define HAVE_DECL_STRERROR_R 1
# | #define HAVE_STRERROR_R 1
# | #define STRERROR_R_CHAR_P 1
# | #define HAVE_STRFTIME 1
# | #define HAVE_VPRINTF 1
# | #define HAVE_CHOWN 1
# | #define HAVE_CHROOT 1
# | #define HAVE_CTIME_R 1
# | #define HAVE_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_FUTIMES 1
# | #define HAVE_FUTIMESAT 1
# | #define HAVE_GETEUID 1
# | #define HAVE_GETPID 1
# | #define HAVE_GETGRGID_R 1
# | #define HAVE_GETGRNAM_R 1
# | #define HAVE_GETPWNAM_R 1
# | #define HAVE_GETPWUID_R 1
# | #define HAVE_GMTIME_R 1
# | /* end confdefs.h. */
# | /* Define lchmod to an innocuous variant, in case declares lchmod.
# | For example, HP-UX 11i declares gettimeofday. */
# | #define lchmod innocuous_lchmod
# |
# | /* System header to define __stub macros and hopefully few prototypes,
# | which can conflict with char lchmod (); below.
# | Prefer to if __STDC__ is defined, since
# | exists even on freestanding compilers. */
# |
# | #ifdef __STDC__
# | # include
# | #else
# | # include
# | #endif
# |
# | #undef lchmod
# |
# | /* Override any GCC internal prototype to avoid an error.
# | Use char because int might match the return type of a GCC
# | builtin and then its argument prototype would still apply. */
# | #ifdef __cplusplus
# | extern "C"
# | #endif
# | char lchmod ();
# | /* The GNU C library defines this for functions which it implements
# | to always fail with ENOSYS. Some functions are actually named
# | something starting with __ and the normal name is an alias. */
# | #if defined __stub_lchmod || defined __stub___lchmod
# | choke me
# | #endif
# |
# | int
# | main ()
# | {
# | return lchmod ();
# | ;
# | return 0;
# | }
# configure:17107: result: no
# configure:17107: checking for lchown
# configure:17107: clang -o conftest -Wall -Wformat -Wformat-security conftest.c -lexpat -llzo2 -llzma -llz4 -lbz2 -lz >&5
# configure:17107: $? = 0
# configure:17107: result: yes
# configure:17107: checking for link
# configure:17107: clang -o conftest -Wall -Wformat -Wformat-security conftest.c -lexpat -llzo2 -llzma -llz4 -lbz2 -lz >&5
# configure:17107: $? = 0
# configure:17107: result: yes
# configure:17107: checking for localtime_r
# configure:17107: clang -o conftest -Wall -Wformat -Wformat-security conftest.c -lexpat -llzo2 -llzma -llz4 -lbz2 -lz >&5
# configure:17107: $? = 0
# configure:17107: result: yes
# configure:17107: checking for lstat
# configure:17107: clang -o conftest -Wall -Wformat -Wformat-security conftest.c -lexpat -llzo2 -llzma -llz4 -lbz2 -lz >&5
# configure:17107: $? = 0
# configure:17107: result: yes
# configure:17107: checking for lutimes
# configure:17107: clang -o conftest -Wall -Wformat -Wformat-security conftest.c -lexpat -llzo2 -llzma -llz4 -lbz2 -lz >&5
# configure:17107: $? = 0
# configure:17107: result: yes
# configure:17119: checking for mbrtowc
# configure:17119: clang -o conftest -Wall -Wformat -Wformat-security conftest.c -lexpat -llzo2 -llzma -llz4 -lbz2 -lz >&5
# configure:17119: $? = 0
# configure:17119: result: yes
# configure:17119: checking for memmove
# configure:17119: clang -o conftest -Wall -Wformat -Wformat-security conftest.c -lexpat -llzo2 -llzma -llz4 -lbz2 -lz >&5
# conftest.c:179:6: warning: incompatible redeclaration of library function 'memmove' [-Wincompatible-library-redeclaration]
# char memmove ();
# ^
# conftest.c:179:6: note: 'memmove' is a builtin with type 'void *(void *, const void *, unsigned long)'
# 1 warning generated.
# configure:17119: $? = 0
# configure:17119: result: yes
# configure:17119: checking for memset
# configure:17119: clang -o conftest -Wall -Wformat -Wformat-security conftest.c -lexpat -llzo2 -llzma -llz4 -lbz2 -lz >&5
# conftest.c:180:6: warning: incompatible redeclaration of library function 'memset' [-Wincompatible-library-redeclaration]
# char memset ();
# ^
# conftest.c:180:6: note: 'memset' is a builtin with type 'void *(void *, int, unsigned long)'
# 1 warning generated.
# configure:17119: $? = 0
# configure:17119: result: yes
# configure:17131: checking for mkdir
# configure:17131: clang -o conftest -Wall -Wformat -Wformat-security conftest.c -lexpat -llzo2 -llzma -llz4 -lbz2 -lz >&5
# configure:17131: $? = 0
# configure:17131: result: yes
# configure:17131: checking for mkfifo
# configure:17131: clang -o conftest -Wall -Wformat -Wformat-security conftest.c -lexpat -llzo2 -llzma -llz4 -lbz2 -lz >&5
# configure:17131: $? = 0
# configure:17131: result: yes
# configure:17131: checking for mknod
# configure:17131: clang -o conftest -Wall -Wformat -Wformat-security conftest.c -lexpat -llzo2 -llzma -llz4 -lbz2 -lz >&5
# configure:17131: $? = 0
# configure:17131: result: yes
# configure:17131: checking for mkstemp
# configure:17131: clang -o conftest -Wall -Wformat -Wformat-security conftest.c -lexpat -llzo2 -llzma -llz4 -lbz2 -lz >&5
# configure:17131: $? = 0
# configure:17131: result: yes
# configure:17143: checking for nl_langinfo
# configure:17143: clang -o conftest -Wall -Wformat -Wformat-security conftest.c -lexpat -llzo2 -llzma -llz4 -lbz2 -lz >&5
# configure:17143: $? = 0
# configure:17143: result: yes
# configure:17143: checking for openat
# configure:17143: clang -o conftest -Wall -Wformat -Wformat-security conftest.c -lexpat -llzo2 -llzma -llz4 -lbz2 -lz >&5
# configure:17143: $? = 0
# configure:17143: result: yes
# configure:17143: checking for pipe
# configure:17143: clang -o conftest -Wall -Wformat -Wformat-security conftest.c -lexpat -llzo2 -llzma -llz4 -lbz2 -lz >&5
# configure:17143: $? = 0
# configure:17143: result: yes
# configure:17143: checking for poll
# configure:17143: clang -o conftest -Wall -Wformat -Wformat-security conftest.c -lexpat -llzo2 -llzma -llz4 -lbz2 -lz >&5
# configure:17143: $? = 0
# configure:17143: result: yes
# configure:17143: checking for posix_spawnp
# configure:17143: clang -o conftest -Wall -Wformat -Wformat-security conftest.c -lexpat -llzo2 -llzma -llz4 -lbz2 -lz >&5
# configure:17143: $? = 0
# configure:17143: result: yes
# configure:17143: checking for readlink
# configure:17143: clang -o conftest -Wall -Wformat -Wformat-security conftest.c -lexpat -llzo2 -llzma -llz4 -lbz2 -lz >&5
# configure:17143: $? = 0
# configure:17143: result: yes
# configure:17143: checking for readlinkat
# configure:17143: clang -o conftest -Wall -Wformat -Wformat-security conftest.c -lexpat -llzo2 -llzma -llz4 -lbz2 -lz >&5
# configure:17143: $? = 0
# configure:17143: result: yes
# configure:17154: checking for readpassphrase
# configure:17154: clang -o conftest -Wall -Wformat -Wformat-security conftest.c -lexpat -llzo2 -llzma -llz4 -lbz2 -lz >&5
# /tmp/conftest-e84e24.o: In function `main':
# conftest.c:(.text+0x12): undefined reference to `readpassphrase'
# clang-3.8: error: linker command failed with exit code 1 (use -v to see invocation)
# 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_EXT2FS_EXT2_FS_H 1
# | #define HAVE_FCNTL_H 1
# | #define HAVE_GRP_H 1
# | #define HAVE_WORKING_EXT2_IOC_GETFLAGS 1
# | #define HAVE_INTTYPES_H 1
# | #define HAVE_LANGINFO_H 1
# | #define HAVE_LIMITS_H 1
# | #define HAVE_LINUX_FIEMAP_H 1
# | #define HAVE_LINUX_FS_H 1
# | #define HAVE_LINUX_MAGIC_H 1
# | #define HAVE_LINUX_TYPES_H 1
# | #define HAVE_LOCALE_H 1
# | #define HAVE_PATHS_H 1
# | #define HAVE_POLL_H 1
# | #define HAVE_PTHREAD_H 1
# | #define HAVE_PWD_H 1
# | #define HAVE_SIGNAL_H 1
# | #define HAVE_SPAWN_H 1
# | #define HAVE_STDARG_H 1
# | #define HAVE_STDINT_H 1
# | #define HAVE_STDLIB_H 1
# | #define HAVE_STRING_H 1
# | #define HAVE_SYS_CDEFS_H 1
# | #define HAVE_SYS_IOCTL_H 1
# | #define HAVE_SYS_MOUNT_H 1
# | #define HAVE_SYS_PARAM_H 1
# | #define HAVE_SYS_POLL_H 1
# | #define HAVE_SYS_SELECT_H 1
# | #define HAVE_SYS_STATFS_H 1
# | #define HAVE_SYS_STATVFS_H 1
# | #define HAVE_SYS_TIME_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_BZLIB_H 1
# | #define HAVE_LIBBZ2 1
# | #define HAVE_ICONV 1
# | #define ICONV_CONST
# | #define HAVE_ICONV_H 1
# | #define HAVE_LZ4_H 1
# | #define HAVE_LZ4HC_H 1
# | #define HAVE_LIBLZ4 1
# | #define HAVE_LZMA_H 1
# | #define HAVE_LIBLZMA 1
# | #define HAVE_LZMA_STREAM_ENCODER_MT 1
# | #define HAVE_LZO_LZOCONF_H 1
# | #define HAVE_LZO_LZO1X_H 1
# | #define HAVE_LIBLZO2 1
# | #define HAVE_EXPAT_H 1
# | #define HAVE_LIBEXPAT 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 1
# | #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1
# | #define HAVE_STRUCT_STAT_ST_BLKSIZE 1
# | #define HAVE_UINTMAX_T 1
# | #define HAVE_UNSIGNED_LONG_LONG 1
# | #define HAVE_UNSIGNED_LONG_LONG_INT 1
# | #define HAVE_LONG_LONG_INT 1
# | #define HAVE_INTMAX_T 1
# | #define HAVE_UINTMAX_T 1
# | #define HAVE_DECL_SIZE_MAX 1
# | #define HAVE_DECL_INT32_MAX 1
# | #define HAVE_DECL_INT32_MIN 1
# | #define HAVE_DECL_INT64_MAX 1
# | #define HAVE_DECL_INT64_MIN 1
# | #define HAVE_DECL_UINT64_MAX 1
# | #define HAVE_DECL_UINT32_MAX 1
# | #define HAVE_DECL_INTMAX_MAX 1
# | #define HAVE_DECL_INTMAX_MIN 1
# | #define HAVE_DECL_UINTMAX_MAX 1
# | #define HAVE_DECL_SSIZE_MAX 1
# | #define HAVE_EILSEQ 1
# | #define HAVE_WCHAR_T 1
# | #define SIZEOF_WCHAR_T 4
# | #define TIME_WITH_SYS_TIME 1
# | #define HAVE_FSEEKO 1
# | #define LSTAT_FOLLOWS_SLASHED_SYMLINK 1
# | #define HAVE_DECL_STRERROR_R 1
# | #define HAVE_STRERROR_R 1
# | #define STRERROR_R_CHAR_P 1
# | #define HAVE_STRFTIME 1
# | #define HAVE_VPRINTF 1
# | #define HAVE_CHOWN 1
# | #define HAVE_CHROOT 1
# | #define HAVE_CTIME_R 1
# | #define HAVE_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_FUTIMES 1
# | #define HAVE_FUTIMESAT 1
# | #define HAVE_GETEUID 1
# | #define HAVE_GETPID 1
# | #define HAVE_GETGRGID_R 1
# | #define HAVE_GETGRNAM_R 1
# | #define HAVE_GETPWNAM_R 1
# | #define HAVE_GETPWUID_R 1
# | #define HAVE_GMTIME_R 1
# | #define HAVE_LCHOWN 1
# | #define HAVE_LINK 1
# | #define HAVE_LOCALTIME_R 1
# | #define HAVE_LSTAT 1
# | #define HAVE_LUTIMES 1
# | #define HAVE_MBRTOWC 1
# | #define HAVE_MEMMOVE 1
# | #define HAVE_MEMSET 1
# | #define HAVE_MKDIR 1
# | #define HAVE_MKFIFO 1
# | #define HAVE_MKNOD 1
# | #define HAVE_MKSTEMP 1
# | #define HAVE_NL_LANGINFO 1
# | #define HAVE_OPENAT 1
# | #define HAVE_PIPE 1
# | #define HAVE_POLL 1
# | #define HAVE_POSIX_SPAWNP 1
# | #define HAVE_READLINK 1
# | #define HAVE_READLINKAT 1
# | /* end confdefs.h. */
# | /* Define readpassphrase to an innocuous variant, in case declares readpassphrase.
# | For example, HP-UX 11i declares gettimeofday. */
# | #define readpassphrase innocuous_readpassphrase
# |
# | /* System header to define __stub macros and hopefully few prototypes,
# | which can conflict with char readpassphrase (); below.
# | Prefer to if __STDC__ is defined, since
# | exists even on freestanding compilers. */
# |
# | #ifdef __STDC__
# | # include
# | #else
# | # include
# | #endif
# |
# | #undef readpassphrase
# |
# | /* Override any GCC internal prototype to avoid an error.
# | Use char because int might match the return type of a GCC
# | builtin and then its argument prototype would still apply. */
# | #ifdef __cplusplus
# | extern "C"
# | #endif
# | char readpassphrase ();
# | /* The GNU C library defines this for functions which it implements
# | to always fail with ENOSYS. Some functions are actually named
# | something starting with __ and the normal name is an alias. */
# | #if defined __stub_readpassphrase || defined __stub___readpassphrase
# | choke me
# | #endif
# |
# | int
# | main ()
# | {
# | return readpassphrase ();
# | ;
# | return 0;
# | }
# configure:17154: result: no
# configure:17166: checking for select
# configure:17166: clang -o conftest -Wall -Wformat -Wformat-security conftest.c -lexpat -llzo2 -llzma -llz4 -lbz2 -lz >&5
# configure:17166: $? = 0
# configure:17166: result: yes
# configure:17166: checking for setenv
# configure:17166: clang -o conftest -Wall -Wformat -Wformat-security conftest.c -lexpat -llzo2 -llzma -llz4 -lbz2 -lz >&5
# configure:17166: $? = 0
# configure:17166: result: yes
# configure:17166: checking for setlocale
# configure:17166: clang -o conftest -Wall -Wformat -Wformat-security conftest.c -lexpat -llzo2 -llzma -llz4 -lbz2 -lz >&5
# configure:17166: $? = 0
# configure:17166: result: yes
# configure:17166: checking for sigaction
# configure:17166: clang -o conftest -Wall -Wformat -Wformat-security conftest.c -lexpat -llzo2 -llzma -llz4 -lbz2 -lz >&5
# configure:17166: $? = 0
# configure:17166: result: yes
# configure:17166: checking for statfs
# configure:17166: clang -o conftest -Wall -Wformat -Wformat-security conftest.c -lexpat -llzo2 -llzma -llz4 -lbz2 -lz >&5
# configure:17166: $? = 0
# configure:17166: result: yes
# configure:17166: checking for statvfs
# configure:17166: clang -o conftest -Wall -Wformat -Wformat-security conftest.c -lexpat -llzo2 -llzma -llz4 -lbz2 -lz >&5
# configure:17166: $? = 0
# configure:17166: result: yes
# configure:17178: checking for strchr
# configure:17178: clang -o conftest -Wall -Wformat -Wformat-security conftest.c -lexpat -llzo2 -llzma -llz4 -lbz2 -lz >&5
# conftest.c:198:6: warning: incompatible redeclaration of library function 'strchr' [-Wincompatible-library-redeclaration]
# char strchr ();
# ^
# conftest.c:198:6: note: 'strchr' is a builtin with type 'char *(const char *, int)'
# 1 warning generated.
# configure:17178: $? = 0
# configure:17178: result: yes
# configure:17178: checking for strdup
# configure:17178: clang -o conftest -Wall -Wformat -Wformat-security conftest.c -lexpat -llzo2 -llzma -llz4 -lbz2 -lz >&5
# conftest.c:199:6: warning: incompatible redeclaration of library function 'strdup' [-Wincompatible-library-redeclaration]
# char strdup ();
# ^
# conftest.c:199:6: note: 'strdup' is a builtin with type 'char *(const char *)'
# 1 warning generated.
# configure:17178: $? = 0
# configure:17178: result: yes
# configure:17178: checking for strerror
# configure:17178: clang -o conftest -Wall -Wformat -Wformat-security conftest.c -lexpat -llzo2 -llzma -llz4 -lbz2 -lz >&5
# conftest.c:200:6: warning: incompatible redeclaration of library function 'strerror' [-Wincompatible-library-redeclaration]
# char strerror ();
# ^
# conftest.c:200:6: note: 'strerror' is a builtin with type 'char *(int)'
# 1 warning generated.
# configure:17178: $? = 0
# configure:17178: result: yes
# configure:17178: checking for strncpy_s
# configure:17178: clang -o conftest -Wall -Wformat -Wformat-security conftest.c -lexpat -llzo2 -llzma -llz4 -lbz2 -lz >&5
# /tmp/conftest-edafc4.o: In function `main':
# conftest.c:(.text+0x12): undefined reference to `strncpy_s'
# clang-3.8: error: linker command failed with exit code 1 (use -v to see invocation)
# 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_EXT2FS_EXT2_FS_H 1
# | #define HAVE_FCNTL_H 1
# | #define HAVE_GRP_H 1
# | #define HAVE_WORKING_EXT2_IOC_GETFLAGS 1
# | #define HAVE_INTTYPES_H 1
# | #define HAVE_LANGINFO_H 1
# | #define HAVE_LIMITS_H 1
# | #define HAVE_LINUX_FIEMAP_H 1
# | #define HAVE_LINUX_FS_H 1
# | #define HAVE_LINUX_MAGIC_H 1
# | #define HAVE_LINUX_TYPES_H 1
# | #define HAVE_LOCALE_H 1
# | #define HAVE_PATHS_H 1
# | #define HAVE_POLL_H 1
# | #define HAVE_PTHREAD_H 1
# | #define HAVE_PWD_H 1
# | #define HAVE_SIGNAL_H 1
# | #define HAVE_SPAWN_H 1
# | #define HAVE_STDARG_H 1
# | #define HAVE_STDINT_H 1
# | #define HAVE_STDLIB_H 1
# | #define HAVE_STRING_H 1
# | #define HAVE_SYS_CDEFS_H 1
# | #define HAVE_SYS_IOCTL_H 1
# | #define HAVE_SYS_MOUNT_H 1
# | #define HAVE_SYS_PARAM_H 1
# | #define HAVE_SYS_POLL_H 1
# | #define HAVE_SYS_SELECT_H 1
# | #define HAVE_SYS_STATFS_H 1
# | #define HAVE_SYS_STATVFS_H 1
# | #define HAVE_SYS_TIME_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_BZLIB_H 1
# | #define HAVE_LIBBZ2 1
# | #define HAVE_ICONV 1
# | #define ICONV_CONST
# | #define HAVE_ICONV_H 1
# | #define HAVE_LZ4_H 1
# | #define HAVE_LZ4HC_H 1
# | #define HAVE_LIBLZ4 1
# | #define HAVE_LZMA_H 1
# | #define HAVE_LIBLZMA 1
# | #define HAVE_LZMA_STREAM_ENCODER_MT 1
# | #define HAVE_LZO_LZOCONF_H 1
# | #define HAVE_LZO_LZO1X_H 1
# | #define HAVE_LIBLZO2 1
# | #define HAVE_EXPAT_H 1
# | #define HAVE_LIBEXPAT 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 1
# | #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1
# | #define HAVE_STRUCT_STAT_ST_BLKSIZE 1
# | #define HAVE_UINTMAX_T 1
# | #define HAVE_UNSIGNED_LONG_LONG 1
# | #define HAVE_UNSIGNED_LONG_LONG_INT 1
# | #define HAVE_LONG_LONG_INT 1
# | #define HAVE_INTMAX_T 1
# | #define HAVE_UINTMAX_T 1
# | #define HAVE_DECL_SIZE_MAX 1
# | #define HAVE_DECL_INT32_MAX 1
# | #define HAVE_DECL_INT32_MIN 1
# | #define HAVE_DECL_INT64_MAX 1
# | #define HAVE_DECL_INT64_MIN 1
# | #define HAVE_DECL_UINT64_MAX 1
# | #define HAVE_DECL_UINT32_MAX 1
# | #define HAVE_DECL_INTMAX_MAX 1
# | #define HAVE_DECL_INTMAX_MIN 1
# | #define HAVE_DECL_UINTMAX_MAX 1
# | #define HAVE_DECL_SSIZE_MAX 1
# | #define HAVE_EILSEQ 1
# | #define HAVE_WCHAR_T 1
# | #define SIZEOF_WCHAR_T 4
# | #define TIME_WITH_SYS_TIME 1
# | #define HAVE_FSEEKO 1
# | #define LSTAT_FOLLOWS_SLASHED_SYMLINK 1
# | #define HAVE_DECL_STRERROR_R 1
# | #define HAVE_STRERROR_R 1
# | #define STRERROR_R_CHAR_P 1
# | #define HAVE_STRFTIME 1
# | #define HAVE_VPRINTF 1
# | #define HAVE_CHOWN 1
# | #define HAVE_CHROOT 1
# | #define HAVE_CTIME_R 1
# | #define HAVE_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_FUTIMES 1
# | #define HAVE_FUTIMESAT 1
# | #define HAVE_GETEUID 1
# | #define HAVE_GETPID 1
# | #define HAVE_GETGRGID_R 1
# | #define HAVE_GETGRNAM_R 1
# | #define HAVE_GETPWNAM_R 1
# | #define HAVE_GETPWUID_R 1
# | #define HAVE_GMTIME_R 1
# | #define HAVE_LCHOWN 1
# | #define HAVE_LINK 1
# | #define HAVE_LOCALTIME_R 1
# | #define HAVE_LSTAT 1
# | #define HAVE_LUTIMES 1
# | #define HAVE_MBRTOWC 1
# | #define HAVE_MEMMOVE 1
# | #define HAVE_MEMSET 1
# | #define HAVE_MKDIR 1
# | #define HAVE_MKFIFO 1
# | #define HAVE_MKNOD 1
# | #define HAVE_MKSTEMP 1
# | #define HAVE_NL_LANGINFO 1
# | #define HAVE_OPENAT 1
# | #define HAVE_PIPE 1
# | #define HAVE_POLL 1
# | #define HAVE_POSIX_SPAWNP 1
# | #define HAVE_READLINK 1
# | #define HAVE_READLINKAT 1
# | #define HAVE_SELECT 1
# | #define HAVE_SETENV 1
# | #define HAVE_SETLOCALE 1
# | #define HAVE_SIGACTION 1
# | #define HAVE_STATFS 1
# | #define HAVE_STATVFS 1
# | #define HAVE_STRCHR 1
# | #define HAVE_STRDUP 1
# | #define HAVE_STRERROR 1
# | /* end confdefs.h. */
# | /* Define strncpy_s to an innocuous variant, in case declares strncpy_s.
# | For example, HP-UX 11i declares gettimeofday. */
# | #define strncpy_s innocuous_strncpy_s
# |
# | /* System header to define __stub macros and hopefully few prototypes,
# | which can conflict with char strncpy_s (); below.
# | Prefer to if __STDC__ is defined, since
# | exists even on freestanding compilers. */
# |
# | #ifdef __STDC__
# | # include
# | #else
# | # include
# | #endif
# |
# | #undef strncpy_s
# |
# | /* Override any GCC internal prototype to avoid an error.
# | Use char because int might match the return type of a GCC
# | builtin and then its argument prototype would still apply. */
# | #ifdef __cplusplus
# | extern "C"
# | #endif
# | char strncpy_s ();
# | /* The GNU C library defines this for functions which it implements
# | to always fail with ENOSYS. Some functions are actually named
# | something starting with __ and the normal name is an alias. */
# | #if defined __stub_strncpy_s || defined __stub___strncpy_s
# | choke me
# | #endif
# |
# | int
# | main ()
# | {
# | return strncpy_s ();
# | ;
# | return 0;
# | }
# configure:17178: result: no
# configure:17178: checking for strrchr
# configure:17178: clang -o conftest -Wall -Wformat -Wformat-security conftest.c -lexpat -llzo2 -llzma -llz4 -lbz2 -lz >&5
# conftest.c:201:6: warning: incompatible redeclaration of library function 'strrchr' [-Wincompatible-library-redeclaration]
# char strrchr ();
# ^
# conftest.c:201:6: note: 'strrchr' is a builtin with type 'char *(const char *, int)'
# 1 warning generated.
# configure:17178: $? = 0
# configure:17178: result: yes
# configure:17178: checking for symlink
# configure:17178: clang -o conftest -Wall -Wformat -Wformat-security conftest.c -lexpat -llzo2 -llzma -llz4 -lbz2 -lz >&5
# configure:17178: $? = 0
# configure:17178: result: yes
# configure:17178: checking for timegm
# configure:17178: clang -o conftest -Wall -Wformat -Wformat-security conftest.c -lexpat -llzo2 -llzma -llz4 -lbz2 -lz >&5
# configure:17178: $? = 0
# configure:17178: result: yes
# configure:17190: checking for tzset
# configure:17190: clang -o conftest -Wall -Wformat -Wformat-security conftest.c -lexpat -llzo2 -llzma -llz4 -lbz2 -lz >&5
# configure:17190: $? = 0
# configure:17190: result: yes
# configure:17190: checking for unsetenv
# configure:17190: clang -o conftest -Wall -Wformat -Wformat-security conftest.c -lexpat -llzo2 -llzma -llz4 -lbz2 -lz >&5
# configure:17190: $? = 0
# configure:17190: result: yes
# configure:17190: checking for utime
# configure:17190: clang -o conftest -Wall -Wformat -Wformat-security conftest.c -lexpat -llzo2 -llzma -llz4 -lbz2 -lz >&5
# configure:17190: $? = 0
# configure:17190: result: yes
# configure:17190: checking for utimensat
# configure:17190: clang -o conftest -Wall -Wformat -Wformat-security conftest.c -lexpat -llzo2 -llzma -llz4 -lbz2 -lz >&5
# configure:17190: $? = 0
# configure:17190: result: yes
# configure:17190: checking for utimes
# configure:17190: clang -o conftest -Wall -Wformat -Wformat-security conftest.c -lexpat -llzo2 -llzma -llz4 -lbz2 -lz >&5
# configure:17190: $? = 0
# configure:17190: result: yes
# configure:17190: checking for vfork
# configure:17190: clang -o conftest -Wall -Wformat -Wformat-security conftest.c -lexpat -llzo2 -llzma -llz4 -lbz2 -lz >&5
# conftest.c:209:6: warning: incompatible redeclaration of library function 'vfork' [-Wincompatible-library-redeclaration]
# char vfork ();
# ^
# conftest.c:209:6: note: 'vfork' is a builtin with type 'int (void)'
# 1 warning generated.
# configure:17190: $? = 0
# configure:17190: result: yes
# configure:17202: checking for wcrtomb
# configure:17202: clang -o conftest -Wall -Wformat -Wformat-security conftest.c -lexpat -llzo2 -llzma -llz4 -lbz2 -lz >&5
# configure:17202: $? = 0
# configure:17202: result: yes
# configure:17202: checking for wcscmp
# configure:17202: clang -o conftest -Wall -Wformat -Wformat-security conftest.c -lexpat -llzo2 -llzma -llz4 -lbz2 -lz >&5
# configure:17202: $? = 0
# configure:17202: result: yes
# configure:17202: checking for wcscpy
# configure:17202: clang -o conftest -Wall -Wformat -Wformat-security conftest.c -lexpat -llzo2 -llzma -llz4 -lbz2 -lz >&5
# configure:17202: $? = 0
# configure:17202: result: yes
# configure:17202: checking for wcslen
# configure:17202: clang -o conftest -Wall -Wformat -Wformat-security conftest.c -lexpat -llzo2 -llzma -llz4 -lbz2 -lz >&5
# configure:17202: $? = 0
# configure:17202: result: yes
# configure:17202: checking for wctomb
# configure:17202: clang -o conftest -Wall -Wformat -Wformat-security conftest.c -lexpat -llzo2 -llzma -llz4 -lbz2 -lz >&5
# configure:17202: $? = 0
# configure:17202: result: yes
# configure:17202: checking for wmemcmp
# configure:17202: clang -o conftest -Wall -Wformat -Wformat-security conftest.c -lexpat -llzo2 -llzma -llz4 -lbz2 -lz >&5
# configure:17202: $? = 0
# configure:17202: result: yes
# configure:17202: checking for wmemcpy
# configure:17202: clang -o conftest -Wall -Wformat -Wformat-security conftest.c -lexpat -llzo2 -llzma -llz4 -lbz2 -lz >&5
# configure:17202: $? = 0
# configure:17202: result: yes
# configure:17202: checking for wmemmove
# configure:17202: clang -o conftest -Wall -Wformat -Wformat-security conftest.c -lexpat -llzo2 -llzma -llz4 -lbz2 -lz >&5
# configure:17202: $? = 0
# configure:17202: result: yes
# configure:17214: checking for _ctime64_s
# configure:17214: clang -o conftest -Wall -Wformat -Wformat-security conftest.c -lexpat -llzo2 -llzma -llz4 -lbz2 -lz >&5
# /tmp/conftest-8f8ed7.o: In function `main':
# conftest.c:(.text+0x12): undefined reference to `_ctime64_s'
# clang-3.8: error: linker command failed with exit code 1 (use -v to see invocation)
# 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_EXT2FS_EXT2_FS_H 1
# | #define HAVE_FCNTL_H 1
# | #define HAVE_GRP_H 1
# | #define HAVE_WORKING_EXT2_IOC_GETFLAGS 1
# | #define HAVE_INTTYPES_H 1
# | #define HAVE_LANGINFO_H 1
# | #define HAVE_LIMITS_H 1
# | #define HAVE_LINUX_FIEMAP_H 1
# | #define HAVE_LINUX_FS_H 1
# | #define HAVE_LINUX_MAGIC_H 1
# | #define HAVE_LINUX_TYPES_H 1
# | #define HAVE_LOCALE_H 1
# | #define HAVE_PATHS_H 1
# | #define HAVE_POLL_H 1
# | #define HAVE_PTHREAD_H 1
# | #define HAVE_PWD_H 1
# | #define HAVE_SIGNAL_H 1
# | #define HAVE_SPAWN_H 1
# | #define HAVE_STDARG_H 1
# | #define HAVE_STDINT_H 1
# | #define HAVE_STDLIB_H 1
# | #define HAVE_STRING_H 1
# | #define HAVE_SYS_CDEFS_H 1
# | #define HAVE_SYS_IOCTL_H 1
# | #define HAVE_SYS_MOUNT_H 1
# | #define HAVE_SYS_PARAM_H 1
# | #define HAVE_SYS_POLL_H 1
# | #define HAVE_SYS_SELECT_H 1
# | #define HAVE_SYS_STATFS_H 1
# | #define HAVE_SYS_STATVFS_H 1
# | #define HAVE_SYS_TIME_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_BZLIB_H 1
# | #define HAVE_LIBBZ2 1
# | #define HAVE_ICONV 1
# | #define ICONV_CONST
# | #define HAVE_ICONV_H 1
# | #define HAVE_LZ4_H 1
# | #define HAVE_LZ4HC_H 1
# | #define HAVE_LIBLZ4 1
# | #define HAVE_LZMA_H 1
# | #define HAVE_LIBLZMA 1
# | #define HAVE_LZMA_STREAM_ENCODER_MT 1
# | #define HAVE_LZO_LZOCONF_H 1
# | #define HAVE_LZO_LZO1X_H 1
# | #define HAVE_LIBLZO2 1
# | #define HAVE_EXPAT_H 1
# | #define HAVE_LIBEXPAT 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 1
# | #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1
# | #define HAVE_STRUCT_STAT_ST_BLKSIZE 1
# | #define HAVE_UINTMAX_T 1
# | #define HAVE_UNSIGNED_LONG_LONG 1
# | #define HAVE_UNSIGNED_LONG_LONG_INT 1
# | #define HAVE_LONG_LONG_INT 1
# | #define HAVE_INTMAX_T 1
# | #define HAVE_UINTMAX_T 1
# | #define HAVE_DECL_SIZE_MAX 1
# | #define HAVE_DECL_INT32_MAX 1
# | #define HAVE_DECL_INT32_MIN 1
# | #define HAVE_DECL_INT64_MAX 1
# | #define HAVE_DECL_INT64_MIN 1
# | #define HAVE_DECL_UINT64_MAX 1
# | #define HAVE_DECL_UINT32_MAX 1
# | #define HAVE_DECL_INTMAX_MAX 1
# | #define HAVE_DECL_INTMAX_MIN 1
# | #define HAVE_DECL_UINTMAX_MAX 1
# | #define HAVE_DECL_SSIZE_MAX 1
# | #define HAVE_EILSEQ 1
# | #define HAVE_WCHAR_T 1
# | #define SIZEOF_WCHAR_T 4
# | #define TIME_WITH_SYS_TIME 1
# | #define HAVE_FSEEKO 1
# | #define LSTAT_FOLLOWS_SLASHED_SYMLINK 1
# | #define HAVE_DECL_STRERROR_R 1
# | #define HAVE_STRERROR_R 1
# | #define STRERROR_R_CHAR_P 1
# | #define HAVE_STRFTIME 1
# | #define HAVE_VPRINTF 1
# | #define HAVE_CHOWN 1
# | #define HAVE_CHROOT 1
# | #define HAVE_CTIME_R 1
# | #define HAVE_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_FUTIMES 1
# | #define HAVE_FUTIMESAT 1
# | #define HAVE_GETEUID 1
# | #define HAVE_GETPID 1
# | #define HAVE_GETGRGID_R 1
# | #define HAVE_GETGRNAM_R 1
# | #define HAVE_GETPWNAM_R 1
# | #define HAVE_GETPWUID_R 1
# | #define HAVE_GMTIME_R 1
# | #define HAVE_LCHOWN 1
# | #define HAVE_LINK 1
# | #define HAVE_LOCALTIME_R 1
# | #define HAVE_LSTAT 1
# | #define HAVE_LUTIMES 1
# | #define HAVE_MBRTOWC 1
# | #define HAVE_MEMMOVE 1
# | #define HAVE_MEMSET 1
# | #define HAVE_MKDIR 1
# | #define HAVE_MKFIFO 1
# | #define HAVE_MKNOD 1
# | #define HAVE_MKSTEMP 1
# | #define HAVE_NL_LANGINFO 1
# | #define HAVE_OPENAT 1
# | #define HAVE_PIPE 1
# | #define HAVE_POLL 1
# | #define HAVE_POSIX_SPAWNP 1
# | #define HAVE_READLINK 1
# | #define HAVE_READLINKAT 1
# | #define HAVE_SELECT 1
# | #define HAVE_SETENV 1
# | #define HAVE_SETLOCALE 1
# | #define HAVE_SIGACTION 1
# | #define HAVE_STATFS 1
# | #define HAVE_STATVFS 1
# | #define HAVE_STRCHR 1
# | #define HAVE_STRDUP 1
# | #define HAVE_STRERROR 1
# | #define HAVE_STRRCHR 1
# | #define HAVE_SYMLINK 1
# | #define HAVE_TIMEGM 1
# | #define HAVE_TZSET 1
# | #define HAVE_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: clang -o conftest -Wall -Wformat -Wformat-security conftest.c -lexpat -llzo2 -llzma -llz4 -lbz2 -lz >&5
# /tmp/conftest-03df8d.o: In function `main':
# conftest.c:(.text+0x12): undefined reference to `_fseeki64'
# clang-3.8: error: linker command failed with exit code 1 (use -v to see invocation)
# 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_EXT2FS_EXT2_FS_H 1
# | #define HAVE_FCNTL_H 1
# | #define HAVE_GRP_H 1
# | #define HAVE_WORKING_EXT2_IOC_GETFLAGS 1
# | #define HAVE_INTTYPES_H 1
# | #define HAVE_LANGINFO_H 1
# | #define HAVE_LIMITS_H 1
# | #define HAVE_LINUX_FIEMAP_H 1
# | #define HAVE_LINUX_FS_H 1
# | #define HAVE_LINUX_MAGIC_H 1
# | #define HAVE_LINUX_TYPES_H 1
# | #define HAVE_LOCALE_H 1
# | #define HAVE_PATHS_H 1
# | #define HAVE_POLL_H 1
# | #define HAVE_PTHREAD_H 1
# | #define HAVE_PWD_H 1
# | #define HAVE_SIGNAL_H 1
# | #define HAVE_SPAWN_H 1
# | #define HAVE_STDARG_H 1
# | #define HAVE_STDINT_H 1
# | #define HAVE_STDLIB_H 1
# | #define HAVE_STRING_H 1
# | #define HAVE_SYS_CDEFS_H 1
# | #define HAVE_SYS_IOCTL_H 1
# | #define HAVE_SYS_MOUNT_H 1
# | #define HAVE_SYS_PARAM_H 1
# | #define HAVE_SYS_POLL_H 1
# | #define HAVE_SYS_SELECT_H 1
# | #define HAVE_SYS_STATFS_H 1
# | #define HAVE_SYS_STATVFS_H 1
# | #define HAVE_SYS_TIME_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_BZLIB_H 1
# | #define HAVE_LIBBZ2 1
# | #define HAVE_ICONV 1
# | #define ICONV_CONST
# | #define HAVE_ICONV_H 1
# | #define HAVE_LZ4_H 1
# | #define HAVE_LZ4HC_H 1
# | #define HAVE_LIBLZ4 1
# | #define HAVE_LZMA_H 1
# | #define HAVE_LIBLZMA 1
# | #define HAVE_LZMA_STREAM_ENCODER_MT 1
# | #define HAVE_LZO_LZOCONF_H 1
# | #define HAVE_LZO_LZO1X_H 1
# | #define HAVE_LIBLZO2 1
# | #define HAVE_EXPAT_H 1
# | #define HAVE_LIBEXPAT 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 1
# | #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1
# | #define HAVE_STRUCT_STAT_ST_BLKSIZE 1
# | #define HAVE_UINTMAX_T 1
# | #define HAVE_UNSIGNED_LONG_LONG 1
# | #define HAVE_UNSIGNED_LONG_LONG_INT 1
# | #define HAVE_LONG_LONG_INT 1
# | #define HAVE_INTMAX_T 1
# | #define HAVE_UINTMAX_T 1
# | #define HAVE_DECL_SIZE_MAX 1
# | #define HAVE_DECL_INT32_MAX 1
# | #define HAVE_DECL_INT32_MIN 1
# | #define HAVE_DECL_INT64_MAX 1
# | #define HAVE_DECL_INT64_MIN 1
# | #define HAVE_DECL_UINT64_MAX 1
# | #define HAVE_DECL_UINT32_MAX 1
# | #define HAVE_DECL_INTMAX_MAX 1
# | #define HAVE_DECL_INTMAX_MIN 1
# | #define HAVE_DECL_UINTMAX_MAX 1
# | #define HAVE_DECL_SSIZE_MAX 1
# | #define HAVE_EILSEQ 1
# | #define HAVE_WCHAR_T 1
# | #define SIZEOF_WCHAR_T 4
# | #define TIME_WITH_SYS_TIME 1
# | #define HAVE_FSEEKO 1
# | #define LSTAT_FOLLOWS_SLASHED_SYMLINK 1
# | #define HAVE_DECL_STRERROR_R 1
# | #define HAVE_STRERROR_R 1
# | #define STRERROR_R_CHAR_P 1
# | #define HAVE_STRFTIME 1
# | #define HAVE_VPRINTF 1
# | #define HAVE_CHOWN 1
# | #define HAVE_CHROOT 1
# | #define HAVE_CTIME_R 1
# | #define HAVE_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_FUTIMES 1
# | #define HAVE_FUTIMESAT 1
# | #define HAVE_GETEUID 1
# | #define HAVE_GETPID 1
# | #define HAVE_GETGRGID_R 1
# | #define HAVE_GETGRNAM_R 1
# | #define HAVE_GETPWNAM_R 1
# | #define HAVE_GETPWUID_R 1
# | #define HAVE_GMTIME_R 1
# | #define HAVE_LCHOWN 1
# | #define HAVE_LINK 1
# | #define HAVE_LOCALTIME_R 1
# | #define HAVE_LSTAT 1
# | #define HAVE_LUTIMES 1
# | #define HAVE_MBRTOWC 1
# | #define HAVE_MEMMOVE 1
# | #define HAVE_MEMSET 1
# | #define HAVE_MKDIR 1
# | #define HAVE_MKFIFO 1
# | #define HAVE_MKNOD 1
# | #define HAVE_MKSTEMP 1
# | #define HAVE_NL_LANGINFO 1
# | #define HAVE_OPENAT 1
# | #define HAVE_PIPE 1
# | #define HAVE_POLL 1
# | #define HAVE_POSIX_SPAWNP 1
# | #define HAVE_READLINK 1
# | #define HAVE_READLINKAT 1
# | #define HAVE_SELECT 1
# | #define HAVE_SETENV 1
# | #define HAVE_SETLOCALE 1
# | #define HAVE_SIGACTION 1
# | #define HAVE_STATFS 1
# | #define HAVE_STATVFS 1
# | #define HAVE_STRCHR 1
# | #define HAVE_STRDUP 1
# | #define HAVE_STRERROR 1
# | #define HAVE_STRRCHR 1
# | #define HAVE_SYMLINK 1
# | #define HAVE_TIMEGM 1
# | #define HAVE_TZSET 1
# | #define HAVE_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: clang -o conftest -Wall -Wformat -Wformat-security conftest.c -lexpat -llzo2 -llzma -llz4 -lbz2 -lz >&5
# /tmp/conftest-dbcf09.o: In function `main':
# conftest.c:(.text+0x12): undefined reference to `_get_timezone'
# clang-3.8: error: linker command failed with exit code 1 (use -v to see invocation)
# 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_EXT2FS_EXT2_FS_H 1
# | #define HAVE_FCNTL_H 1
# | #define HAVE_GRP_H 1
# | #define HAVE_WORKING_EXT2_IOC_GETFLAGS 1
# | #define HAVE_INTTYPES_H 1
# | #define HAVE_LANGINFO_H 1
# | #define HAVE_LIMITS_H 1
# | #define HAVE_LINUX_FIEMAP_H 1
# | #define HAVE_LINUX_FS_H 1
# | #define HAVE_LINUX_MAGIC_H 1
# | #define HAVE_LINUX_TYPES_H 1
# | #define HAVE_LOCALE_H 1
# | #define HAVE_PATHS_H 1
# | #define HAVE_POLL_H 1
# | #define HAVE_PTHREAD_H 1
# | #define HAVE_PWD_H 1
# | #define HAVE_SIGNAL_H 1
# | #define HAVE_SPAWN_H 1
# | #define HAVE_STDARG_H 1
# | #define HAVE_STDINT_H 1
# | #define HAVE_STDLIB_H 1
# | #define HAVE_STRING_H 1
# | #define HAVE_SYS_CDEFS_H 1
# | #define HAVE_SYS_IOCTL_H 1
# | #define HAVE_SYS_MOUNT_H 1
# | #define HAVE_SYS_PARAM_H 1
# | #define HAVE_SYS_POLL_H 1
# | #define HAVE_SYS_SELECT_H 1
# | #define HAVE_SYS_STATFS_H 1
# | #define HAVE_SYS_STATVFS_H 1
# | #define HAVE_SYS_TIME_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_BZLIB_H 1
# | #define HAVE_LIBBZ2 1
# | #define HAVE_ICONV 1
# | #define ICONV_CONST
# | #define HAVE_ICONV_H 1
# | #define HAVE_LZ4_H 1
# | #define HAVE_LZ4HC_H 1
# | #define HAVE_LIBLZ4 1
# | #define HAVE_LZMA_H 1
# | #define HAVE_LIBLZMA 1
# | #define HAVE_LZMA_STREAM_ENCODER_MT 1
# | #define HAVE_LZO_LZOCONF_H 1
# | #define HAVE_LZO_LZO1X_H 1
# | #define HAVE_LIBLZO2 1
# | #define HAVE_EXPAT_H 1
# | #define HAVE_LIBEXPAT 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 1
# | #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1
# | #define HAVE_STRUCT_STAT_ST_BLKSIZE 1
# | #define HAVE_UINTMAX_T 1
# | #define HAVE_UNSIGNED_LONG_LONG 1
# | #define HAVE_UNSIGNED_LONG_LONG_INT 1
# | #define HAVE_LONG_LONG_INT 1
# | #define HAVE_INTMAX_T 1
# | #define HAVE_UINTMAX_T 1
# | #define HAVE_DECL_SIZE_MAX 1
# | #define HAVE_DECL_INT32_MAX 1
# | #define HAVE_DECL_INT32_MIN 1
# | #define HAVE_DECL_INT64_MAX 1
# | #define HAVE_DECL_INT64_MIN 1
# | #define HAVE_DECL_UINT64_MAX 1
# | #define HAVE_DECL_UINT32_MAX 1
# | #define HAVE_DECL_INTMAX_MAX 1
# | #define HAVE_DECL_INTMAX_MIN 1
# | #define HAVE_DECL_UINTMAX_MAX 1
# | #define HAVE_DECL_SSIZE_MAX 1
# | #define HAVE_EILSEQ 1
# | #define HAVE_WCHAR_T 1
# | #define SIZEOF_WCHAR_T 4
# | #define TIME_WITH_SYS_TIME 1
# | #define HAVE_FSEEKO 1
# | #define LSTAT_FOLLOWS_SLASHED_SYMLINK 1
# | #define HAVE_DECL_STRERROR_R 1
# | #define HAVE_STRERROR_R 1
# | #define STRERROR_R_CHAR_P 1
# | #define HAVE_STRFTIME 1
# | #define HAVE_VPRINTF 1
# | #define HAVE_CHOWN 1
# | #define HAVE_CHROOT 1
# | #define HAVE_CTIME_R 1
# | #define HAVE_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_FUTIMES 1
# | #define HAVE_FUTIMESAT 1
# | #define HAVE_GETEUID 1
# | #define HAVE_GETPID 1
# | #define HAVE_GETGRGID_R 1
# | #define HAVE_GETGRNAM_R 1
# | #define HAVE_GETPWNAM_R 1
# | #define HAVE_GETPWUID_R 1
# | #define HAVE_GMTIME_R 1
# | #define HAVE_LCHOWN 1
# | #define HAVE_LINK 1
# | #define HAVE_LOCALTIME_R 1
# | #define HAVE_LSTAT 1
# | #define HAVE_LUTIMES 1
# | #define HAVE_MBRTOWC 1
# | #define HAVE_MEMMOVE 1
# | #define HAVE_MEMSET 1
# | #define HAVE_MKDIR 1
# | #define HAVE_MKFIFO 1
# | #define HAVE_MKNOD 1
# | #define HAVE_MKSTEMP 1
# | #define HAVE_NL_LANGINFO 1
# | #define HAVE_OPENAT 1
# | #define HAVE_PIPE 1
# | #define HAVE_POLL 1
# | #define HAVE_POSIX_SPAWNP 1
# | #define HAVE_READLINK 1
# | #define HAVE_READLINKAT 1
# | #define HAVE_SELECT 1
# | #define HAVE_SETENV 1
# | #define HAVE_SETLOCALE 1
# | #define HAVE_SIGACTION 1
# | #define HAVE_STATFS 1
# | #define HAVE_STATVFS 1
# | #define HAVE_STRCHR 1
# | #define HAVE_STRDUP 1
# | #define HAVE_STRERROR 1
# | #define HAVE_STRRCHR 1
# | #define HAVE_SYMLINK 1
# | #define HAVE_TIMEGM 1
# | #define HAVE_TZSET 1
# | #define HAVE_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: clang -o conftest -Wall -Wformat -Wformat-security conftest.c -lexpat -llzo2 -llzma -llz4 -lbz2 -lz >&5
# /tmp/conftest-d31f3b.o: In function `main':
# conftest.c:(.text+0x12): undefined reference to `_localtime64_s'
# clang-3.8: error: linker command failed with exit code 1 (use -v to see invocation)
# 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_EXT2FS_EXT2_FS_H 1
# | #define HAVE_FCNTL_H 1
# | #define HAVE_GRP_H 1
# | #define HAVE_WORKING_EXT2_IOC_GETFLAGS 1
# | #define HAVE_INTTYPES_H 1
# | #define HAVE_LANGINFO_H 1
# | #define HAVE_LIMITS_H 1
# | #define HAVE_LINUX_FIEMAP_H 1
# | #define HAVE_LINUX_FS_H 1
# | #define HAVE_LINUX_MAGIC_H 1
# | #define HAVE_LINUX_TYPES_H 1
# | #define HAVE_LOCALE_H 1
# | #define HAVE_PATHS_H 1
# | #define HAVE_POLL_H 1
# | #define HAVE_PTHREAD_H 1
# | #define HAVE_PWD_H 1
# | #define HAVE_SIGNAL_H 1
# | #define HAVE_SPAWN_H 1
# | #define HAVE_STDARG_H 1
# | #define HAVE_STDINT_H 1
# | #define HAVE_STDLIB_H 1
# | #define HAVE_STRING_H 1
# | #define HAVE_SYS_CDEFS_H 1
# | #define HAVE_SYS_IOCTL_H 1
# | #define HAVE_SYS_MOUNT_H 1
# | #define HAVE_SYS_PARAM_H 1
# | #define HAVE_SYS_POLL_H 1
# | #define HAVE_SYS_SELECT_H 1
# | #define HAVE_SYS_STATFS_H 1
# | #define HAVE_SYS_STATVFS_H 1
# | #define HAVE_SYS_TIME_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_BZLIB_H 1
# | #define HAVE_LIBBZ2 1
# | #define HAVE_ICONV 1
# | #define ICONV_CONST
# | #define HAVE_ICONV_H 1
# | #define HAVE_LZ4_H 1
# | #define HAVE_LZ4HC_H 1
# | #define HAVE_LIBLZ4 1
# | #define HAVE_LZMA_H 1
# | #define HAVE_LIBLZMA 1
# | #define HAVE_LZMA_STREAM_ENCODER_MT 1
# | #define HAVE_LZO_LZOCONF_H 1
# | #define HAVE_LZO_LZO1X_H 1
# | #define HAVE_LIBLZO2 1
# | #define HAVE_EXPAT_H 1
# | #define HAVE_LIBEXPAT 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 1
# | #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1
# | #define HAVE_STRUCT_STAT_ST_BLKSIZE 1
# | #define HAVE_UINTMAX_T 1
# | #define HAVE_UNSIGNED_LONG_LONG 1
# | #define HAVE_UNSIGNED_LONG_LONG_INT 1
# | #define HAVE_LONG_LONG_INT 1
# | #define HAVE_INTMAX_T 1
# | #define HAVE_UINTMAX_T 1
# | #define HAVE_DECL_SIZE_MAX 1
# | #define HAVE_DECL_INT32_MAX 1
# | #define HAVE_DECL_INT32_MIN 1
# | #define HAVE_DECL_INT64_MAX 1
# | #define HAVE_DECL_INT64_MIN 1
# | #define HAVE_DECL_UINT64_MAX 1
# | #define HAVE_DECL_UINT32_MAX 1
# | #define HAVE_DECL_INTMAX_MAX 1
# | #define HAVE_DECL_INTMAX_MIN 1
# | #define HAVE_DECL_UINTMAX_MAX 1
# | #define HAVE_DECL_SSIZE_MAX 1
# | #define HAVE_EILSEQ 1
# | #define HAVE_WCHAR_T 1
# | #define SIZEOF_WCHAR_T 4
# | #define TIME_WITH_SYS_TIME 1
# | #define HAVE_FSEEKO 1
# | #define LSTAT_FOLLOWS_SLASHED_SYMLINK 1
# | #define HAVE_DECL_STRERROR_R 1
# | #define HAVE_STRERROR_R 1
# | #define STRERROR_R_CHAR_P 1
# | #define HAVE_STRFTIME 1
# | #define HAVE_VPRINTF 1
# | #define HAVE_CHOWN 1
# | #define HAVE_CHROOT 1
# | #define HAVE_CTIME_R 1
# | #define HAVE_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_FUTIMES 1
# | #define HAVE_FUTIMESAT 1
# | #define HAVE_GETEUID 1
# | #define HAVE_GETPID 1
# | #define HAVE_GETGRGID_R 1
# | #define HAVE_GETGRNAM_R 1
# | #define HAVE_GETPWNAM_R 1
# | #define HAVE_GETPWUID_R 1
# | #define HAVE_GMTIME_R 1
# | #define HAVE_LCHOWN 1
# | #define HAVE_LINK 1
# | #define HAVE_LOCALTIME_R 1
# | #define HAVE_LSTAT 1
# | #define HAVE_LUTIMES 1
# | #define HAVE_MBRTOWC 1
# | #define HAVE_MEMMOVE 1
# | #define HAVE_MEMSET 1
# | #define HAVE_MKDIR 1
# | #define HAVE_MKFIFO 1
# | #define HAVE_MKNOD 1
# | #define HAVE_MKSTEMP 1
# | #define HAVE_NL_LANGINFO 1
# | #define HAVE_OPENAT 1
# | #define HAVE_PIPE 1
# | #define HAVE_POLL 1
# | #define HAVE_POSIX_SPAWNP 1
# | #define HAVE_READLINK 1
# | #define HAVE_READLINKAT 1
# | #define HAVE_SELECT 1
# | #define HAVE_SETENV 1
# | #define HAVE_SETLOCALE 1
# | #define HAVE_SIGACTION 1
# | #define HAVE_STATFS 1
# | #define HAVE_STATVFS 1
# | #define HAVE_STRCHR 1
# | #define HAVE_STRDUP 1
# | #define HAVE_STRERROR 1
# | #define HAVE_STRRCHR 1
# | #define HAVE_SYMLINK 1
# | #define HAVE_TIMEGM 1
# | #define HAVE_TZSET 1
# | #define HAVE_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: clang -o conftest -Wall -Wformat -Wformat-security conftest.c -lexpat -llzo2 -llzma -llz4 -lbz2 -lz >&5
# /tmp/conftest-386704.o: In function `main':
# conftest.c:(.text+0x12): undefined reference to `_mkgmtime64'
# clang-3.8: error: linker command failed with exit code 1 (use -v to see invocation)
# 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_EXT2FS_EXT2_FS_H 1
# | #define HAVE_FCNTL_H 1
# | #define HAVE_GRP_H 1
# | #define HAVE_WORKING_EXT2_IOC_GETFLAGS 1
# | #define HAVE_INTTYPES_H 1
# | #define HAVE_LANGINFO_H 1
# | #define HAVE_LIMITS_H 1
# | #define HAVE_LINUX_FIEMAP_H 1
# | #define HAVE_LINUX_FS_H 1
# | #define HAVE_LINUX_MAGIC_H 1
# | #define HAVE_LINUX_TYPES_H 1
# | #define HAVE_LOCALE_H 1
# | #define HAVE_PATHS_H 1
# | #define HAVE_POLL_H 1
# | #define HAVE_PTHREAD_H 1
# | #define HAVE_PWD_H 1
# | #define HAVE_SIGNAL_H 1
# | #define HAVE_SPAWN_H 1
# | #define HAVE_STDARG_H 1
# | #define HAVE_STDINT_H 1
# | #define HAVE_STDLIB_H 1
# | #define HAVE_STRING_H 1
# | #define HAVE_SYS_CDEFS_H 1
# | #define HAVE_SYS_IOCTL_H 1
# | #define HAVE_SYS_MOUNT_H 1
# | #define HAVE_SYS_PARAM_H 1
# | #define HAVE_SYS_POLL_H 1
# | #define HAVE_SYS_SELECT_H 1
# | #define HAVE_SYS_STATFS_H 1
# | #define HAVE_SYS_STATVFS_H 1
# | #define HAVE_SYS_TIME_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_BZLIB_H 1
# | #define HAVE_LIBBZ2 1
# | #define HAVE_ICONV 1
# | #define ICONV_CONST
# | #define HAVE_ICONV_H 1
# | #define HAVE_LZ4_H 1
# | #define HAVE_LZ4HC_H 1
# | #define HAVE_LIBLZ4 1
# | #define HAVE_LZMA_H 1
# | #define HAVE_LIBLZMA 1
# | #define HAVE_LZMA_STREAM_ENCODER_MT 1
# | #define HAVE_LZO_LZOCONF_H 1
# | #define HAVE_LZO_LZO1X_H 1
# | #define HAVE_LIBLZO2 1
# | #define HAVE_EXPAT_H 1
# | #define HAVE_LIBEXPAT 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 1
# | #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1
# | #define HAVE_STRUCT_STAT_ST_BLKSIZE 1
# | #define HAVE_UINTMAX_T 1
# | #define HAVE_UNSIGNED_LONG_LONG 1
# | #define HAVE_UNSIGNED_LONG_LONG_INT 1
# | #define HAVE_LONG_LONG_INT 1
# | #define HAVE_INTMAX_T 1
# | #define HAVE_UINTMAX_T 1
# | #define HAVE_DECL_SIZE_MAX 1
# | #define HAVE_DECL_INT32_MAX 1
# | #define HAVE_DECL_INT32_MIN 1
# | #define HAVE_DECL_INT64_MAX 1
# | #define HAVE_DECL_INT64_MIN 1
# | #define HAVE_DECL_UINT64_MAX 1
# | #define HAVE_DECL_UINT32_MAX 1
# | #define HAVE_DECL_INTMAX_MAX 1
# | #define HAVE_DECL_INTMAX_MIN 1
# | #define HAVE_DECL_UINTMAX_MAX 1
# | #define HAVE_DECL_SSIZE_MAX 1
# | #define HAVE_EILSEQ 1
# | #define HAVE_WCHAR_T 1
# | #define SIZEOF_WCHAR_T 4
# | #define TIME_WITH_SYS_TIME 1
# | #define HAVE_FSEEKO 1
# | #define LSTAT_FOLLOWS_SLASHED_SYMLINK 1
# | #define HAVE_DECL_STRERROR_R 1
# | #define HAVE_STRERROR_R 1
# | #define STRERROR_R_CHAR_P 1
# | #define HAVE_STRFTIME 1
# | #define HAVE_VPRINTF 1
# | #define HAVE_CHOWN 1
# | #define HAVE_CHROOT 1
# | #define HAVE_CTIME_R 1
# | #define HAVE_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_FUTIMES 1
# | #define HAVE_FUTIMESAT 1
# | #define HAVE_GETEUID 1
# | #define HAVE_GETPID 1
# | #define HAVE_GETGRGID_R 1
# | #define HAVE_GETGRNAM_R 1
# | #define HAVE_GETPWNAM_R 1
# | #define HAVE_GETPWUID_R 1
# | #define HAVE_GMTIME_R 1
# | #define HAVE_LCHOWN 1
# | #define HAVE_LINK 1
# | #define HAVE_LOCALTIME_R 1
# | #define HAVE_LSTAT 1
# | #define HAVE_LUTIMES 1
# | #define HAVE_MBRTOWC 1
# | #define HAVE_MEMMOVE 1
# | #define HAVE_MEMSET 1
# | #define HAVE_MKDIR 1
# | #define HAVE_MKFIFO 1
# | #define HAVE_MKNOD 1
# | #define HAVE_MKSTEMP 1
# | #define HAVE_NL_LANGINFO 1
# | #define HAVE_OPENAT 1
# | #define HAVE_PIPE 1
# | #define HAVE_POLL 1
# | #define HAVE_POSIX_SPAWNP 1
# | #define HAVE_READLINK 1
# | #define HAVE_READLINKAT 1
# | #define HAVE_SELECT 1
# | #define HAVE_SETENV 1
# | #define HAVE_SETLOCALE 1
# | #define HAVE_SIGACTION 1
# | #define HAVE_STATFS 1
# | #define HAVE_STATVFS 1
# | #define HAVE_STRCHR 1
# | #define HAVE_STRDUP 1
# | #define HAVE_STRERROR 1
# | #define HAVE_STRRCHR 1
# | #define HAVE_SYMLINK 1
# | #define HAVE_TIMEGM 1
# | #define HAVE_TZSET 1
# | #define HAVE_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: clang -o conftest -Wall -Wformat -Wformat-security conftest.c -lexpat -llzo2 -llzma -llz4 -lbz2 -lz >&5
# /tmp/conftest-dd28c1.o: In function `main':
# conftest.c:(.text+0x12): undefined reference to `cygwin_conv_path'
# clang-3.8: error: linker command failed with exit code 1 (use -v to see invocation)
# 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_EXT2FS_EXT2_FS_H 1
# | #define HAVE_FCNTL_H 1
# | #define HAVE_GRP_H 1
# | #define HAVE_WORKING_EXT2_IOC_GETFLAGS 1
# | #define HAVE_INTTYPES_H 1
# | #define HAVE_LANGINFO_H 1
# | #define HAVE_LIMITS_H 1
# | #define HAVE_LINUX_FIEMAP_H 1
# | #define HAVE_LINUX_FS_H 1
# | #define HAVE_LINUX_MAGIC_H 1
# | #define HAVE_LINUX_TYPES_H 1
# | #define HAVE_LOCALE_H 1
# | #define HAVE_PATHS_H 1
# | #define HAVE_POLL_H 1
# | #define HAVE_PTHREAD_H 1
# | #define HAVE_PWD_H 1
# | #define HAVE_SIGNAL_H 1
# | #define HAVE_SPAWN_H 1
# | #define HAVE_STDARG_H 1
# | #define HAVE_STDINT_H 1
# | #define HAVE_STDLIB_H 1
# | #define HAVE_STRING_H 1
# | #define HAVE_SYS_CDEFS_H 1
# | #define HAVE_SYS_IOCTL_H 1
# | #define HAVE_SYS_MOUNT_H 1
# | #define HAVE_SYS_PARAM_H 1
# | #define HAVE_SYS_POLL_H 1
# | #define HAVE_SYS_SELECT_H 1
# | #define HAVE_SYS_STATFS_H 1
# | #define HAVE_SYS_STATVFS_H 1
# | #define HAVE_SYS_TIME_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_BZLIB_H 1
# | #define HAVE_LIBBZ2 1
# | #define HAVE_ICONV 1
# | #define ICONV_CONST
# | #define HAVE_ICONV_H 1
# | #define HAVE_LZ4_H 1
# | #define HAVE_LZ4HC_H 1
# | #define HAVE_LIBLZ4 1
# | #define HAVE_LZMA_H 1
# | #define HAVE_LIBLZMA 1
# | #define HAVE_LZMA_STREAM_ENCODER_MT 1
# | #define HAVE_LZO_LZOCONF_H 1
# | #define HAVE_LZO_LZO1X_H 1
# | #define HAVE_LIBLZO2 1
# | #define HAVE_EXPAT_H 1
# | #define HAVE_LIBEXPAT 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 1
# | #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1
# | #define HAVE_STRUCT_STAT_ST_BLKSIZE 1
# | #define HAVE_UINTMAX_T 1
# | #define HAVE_UNSIGNED_LONG_LONG 1
# | #define HAVE_UNSIGNED_LONG_LONG_INT 1
# | #define HAVE_LONG_LONG_INT 1
# | #define HAVE_INTMAX_T 1
# | #define HAVE_UINTMAX_T 1
# | #define HAVE_DECL_SIZE_MAX 1
# | #define HAVE_DECL_INT32_MAX 1
# | #define HAVE_DECL_INT32_MIN 1
# | #define HAVE_DECL_INT64_MAX 1
# | #define HAVE_DECL_INT64_MIN 1
# | #define HAVE_DECL_UINT64_MAX 1
# | #define HAVE_DECL_UINT32_MAX 1
# | #define HAVE_DECL_INTMAX_MAX 1
# | #define HAVE_DECL_INTMAX_MIN 1
# | #define HAVE_DECL_UINTMAX_MAX 1
# | #define HAVE_DECL_SSIZE_MAX 1
# | #define HAVE_EILSEQ 1
# | #define HAVE_WCHAR_T 1
# | #define SIZEOF_WCHAR_T 4
# | #define TIME_WITH_SYS_TIME 1
# | #define HAVE_FSEEKO 1
# | #define LSTAT_FOLLOWS_SLASHED_SYMLINK 1
# | #define HAVE_DECL_STRERROR_R 1
# | #define HAVE_STRERROR_R 1
# | #define STRERROR_R_CHAR_P 1
# | #define HAVE_STRFTIME 1
# | #define HAVE_VPRINTF 1
# | #define HAVE_CHOWN 1
# | #define HAVE_CHROOT 1
# | #define HAVE_CTIME_R 1
# | #define HAVE_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_FUTIMES 1
# | #define HAVE_FUTIMESAT 1
# | #define HAVE_GETEUID 1
# | #define HAVE_GETPID 1
# | #define HAVE_GETGRGID_R 1
# | #define HAVE_GETGRNAM_R 1
# | #define HAVE_GETPWNAM_R 1
# | #define HAVE_GETPWUID_R 1
# | #define HAVE_GMTIME_R 1
# | #define HAVE_LCHOWN 1
# | #define HAVE_LINK 1
# | #define HAVE_LOCALTIME_R 1
# | #define HAVE_LSTAT 1
# | #define HAVE_LUTIMES 1
# | #define HAVE_MBRTOWC 1
# | #define HAVE_MEMMOVE 1
# | #define HAVE_MEMSET 1
# | #define HAVE_MKDIR 1
# | #define HAVE_MKFIFO 1
# | #define HAVE_MKNOD 1
# | #define HAVE_MKSTEMP 1
# | #define HAVE_NL_LANGINFO 1
# | #define HAVE_OPENAT 1
# | #define HAVE_PIPE 1
# | #define HAVE_POLL 1
# | #define HAVE_POSIX_SPAWNP 1
# | #define HAVE_READLINK 1
# | #define HAVE_READLINKAT 1
# | #define HAVE_SELECT 1
# | #define HAVE_SETENV 1
# | #define HAVE_SETLOCALE 1
# | #define HAVE_SIGACTION 1
# | #define HAVE_STATFS 1
# | #define HAVE_STATVFS 1
# | #define HAVE_STRCHR 1
# | #define HAVE_STRDUP 1
# | #define HAVE_STRERROR 1
# | #define HAVE_STRRCHR 1
# | #define HAVE_SYMLINK 1
# | #define HAVE_TIMEGM 1
# | #define HAVE_TZSET 1
# | #define HAVE_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: clang -c -Wall -Wformat -Wformat-security conftest.c >&5
# conftest.c:200:24: warning: variable 'dir' is uninitialized when used here [-Wuninitialized]
# return(readdir_r(dir, &e, &r));
# ^~~
# conftest.c:199:9: note: initialize the variable 'dir' to silence this warning
# DIR *dir; struct dirent e, *r;
# ^
# = 0
# 1 warning generated.
# configure:17262: $? = 0
# configure:17273: checking whether D_MD_ORDER is declared
# configure:17273: clang -c -Wall -Wformat -Wformat-security conftest.c >&5
# conftest.c:208:10: error: use of undeclared identifier 'D_MD_ORDER'
# (void) D_MD_ORDER;
# ^
# 1 error generated.
# 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_EXT2FS_EXT2_FS_H 1
# | #define HAVE_FCNTL_H 1
# | #define HAVE_GRP_H 1
# | #define HAVE_WORKING_EXT2_IOC_GETFLAGS 1
# | #define HAVE_INTTYPES_H 1
# | #define HAVE_LANGINFO_H 1
# | #define HAVE_LIMITS_H 1
# | #define HAVE_LINUX_FIEMAP_H 1
# | #define HAVE_LINUX_FS_H 1
# | #define HAVE_LINUX_MAGIC_H 1
# | #define HAVE_LINUX_TYPES_H 1
# | #define HAVE_LOCALE_H 1
# | #define HAVE_PATHS_H 1
# | #define HAVE_POLL_H 1
# | #define HAVE_PTHREAD_H 1
# | #define HAVE_PWD_H 1
# | #define HAVE_SIGNAL_H 1
# | #define HAVE_SPAWN_H 1
# | #define HAVE_STDARG_H 1
# | #define HAVE_STDINT_H 1
# | #define HAVE_STDLIB_H 1
# | #define HAVE_STRING_H 1
# | #define HAVE_SYS_CDEFS_H 1
# | #define HAVE_SYS_IOCTL_H 1
# | #define HAVE_SYS_MOUNT_H 1
# | #define HAVE_SYS_PARAM_H 1
# | #define HAVE_SYS_POLL_H 1
# | #define HAVE_SYS_SELECT_H 1
# | #define HAVE_SYS_STATFS_H 1
# | #define HAVE_SYS_STATVFS_H 1
# | #define HAVE_SYS_TIME_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_BZLIB_H 1
# | #define HAVE_LIBBZ2 1
# | #define HAVE_ICONV 1
# | #define ICONV_CONST
# | #define HAVE_ICONV_H 1
# | #define HAVE_LZ4_H 1
# | #define HAVE_LZ4HC_H 1
# | #define HAVE_LIBLZ4 1
# | #define HAVE_LZMA_H 1
# | #define HAVE_LIBLZMA 1
# | #define HAVE_LZMA_STREAM_ENCODER_MT 1
# | #define HAVE_LZO_LZOCONF_H 1
# | #define HAVE_LZO_LZO1X_H 1
# | #define HAVE_LIBLZO2 1
# | #define HAVE_EXPAT_H 1
# | #define HAVE_LIBEXPAT 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 1
# | #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1
# | #define HAVE_STRUCT_STAT_ST_BLKSIZE 1
# | #define HAVE_UINTMAX_T 1
# | #define HAVE_UNSIGNED_LONG_LONG 1
# | #define HAVE_UNSIGNED_LONG_LONG_INT 1
# | #define HAVE_LONG_LONG_INT 1
# | #define HAVE_INTMAX_T 1
# | #define HAVE_UINTMAX_T 1
# | #define HAVE_DECL_SIZE_MAX 1
# | #define HAVE_DECL_INT32_MAX 1
# | #define HAVE_DECL_INT32_MIN 1
# | #define HAVE_DECL_INT64_MAX 1
# | #define HAVE_DECL_INT64_MIN 1
# | #define HAVE_DECL_UINT64_MAX 1
# | #define HAVE_DECL_UINT32_MAX 1
# | #define HAVE_DECL_INTMAX_MAX 1
# | #define HAVE_DECL_INTMAX_MIN 1
# | #define HAVE_DECL_UINTMAX_MAX 1
# | #define HAVE_DECL_SSIZE_MAX 1
# | #define HAVE_EILSEQ 1
# | #define HAVE_WCHAR_T 1
# | #define SIZEOF_WCHAR_T 4
# | #define TIME_WITH_SYS_TIME 1
# | #define HAVE_FSEEKO 1
# | #define LSTAT_FOLLOWS_SLASHED_SYMLINK 1
# | #define HAVE_DECL_STRERROR_R 1
# | #define HAVE_STRERROR_R 1
# | #define STRERROR_R_CHAR_P 1
# | #define HAVE_STRFTIME 1
# | #define HAVE_VPRINTF 1
# | #define HAVE_CHOWN 1
# | #define HAVE_CHROOT 1
# | #define HAVE_CTIME_R 1
# | #define HAVE_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_FUTIMES 1
# | #define HAVE_FUTIMESAT 1
# | #define HAVE_GETEUID 1
# | #define HAVE_GETPID 1
# | #define HAVE_GETGRGID_R 1
# | #define HAVE_GETGRNAM_R 1
# | #define HAVE_GETPWNAM_R 1
# | #define HAVE_GETPWUID_R 1
# | #define HAVE_GMTIME_R 1
# | #define HAVE_LCHOWN 1
# | #define HAVE_LINK 1
# | #define HAVE_LOCALTIME_R 1
# | #define HAVE_LSTAT 1
# | #define HAVE_LUTIMES 1
# | #define HAVE_MBRTOWC 1
# | #define HAVE_MEMMOVE 1
# | #define HAVE_MEMSET 1
# | #define HAVE_MKDIR 1
# | #define HAVE_MKFIFO 1
# | #define HAVE_MKNOD 1
# | #define HAVE_MKSTEMP 1
# | #define HAVE_NL_LANGINFO 1
# | #define HAVE_OPENAT 1
# | #define HAVE_PIPE 1
# | #define HAVE_POLL 1
# | #define HAVE_POSIX_SPAWNP 1
# | #define HAVE_READLINK 1
# | #define HAVE_READLINKAT 1
# | #define HAVE_SELECT 1
# | #define HAVE_SETENV 1
# | #define HAVE_SETLOCALE 1
# | #define HAVE_SIGACTION 1
# | #define HAVE_STATFS 1
# | #define HAVE_STATVFS 1
# | #define HAVE_STRCHR 1
# | #define HAVE_STRDUP 1
# | #define HAVE_STRERROR 1
# | #define HAVE_STRRCHR 1
# | #define HAVE_SYMLINK 1
# | #define HAVE_TIMEGM 1
# | #define HAVE_TZSET 1
# | #define HAVE_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: clang -c -Wall -Wformat -Wformat-security conftest.c >&5
# conftest.c:205:13: error: no member named 'd_namlen' in 'struct dirent'; did you mean 'd_name'?
# if (ac_aggr.d_namlen)
# ^~~~~~~~
# d_name
# /usr/include/bits/dirent.h:33:10: note: 'd_name' declared here
# char d_name[256]; /* We must not include limits.h! */
# ^
# conftest.c:205:13: warning: address of array 'ac_aggr.d_name' will always evaluate to 'true' [-Wpointer-bool-conversion]
# if (ac_aggr.d_namlen)
# ~~ ~~~~~~~~^~~~~~~~
# 1 warning and 1 error generated.
# 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_EXT2FS_EXT2_FS_H 1
# | #define HAVE_FCNTL_H 1
# | #define HAVE_GRP_H 1
# | #define HAVE_WORKING_EXT2_IOC_GETFLAGS 1
# | #define HAVE_INTTYPES_H 1
# | #define HAVE_LANGINFO_H 1
# | #define HAVE_LIMITS_H 1
# | #define HAVE_LINUX_FIEMAP_H 1
# | #define HAVE_LINUX_FS_H 1
# | #define HAVE_LINUX_MAGIC_H 1
# | #define HAVE_LINUX_TYPES_H 1
# | #define HAVE_LOCALE_H 1
# | #define HAVE_PATHS_H 1
# | #define HAVE_POLL_H 1
# | #define HAVE_PTHREAD_H 1
# | #define HAVE_PWD_H 1
# | #define HAVE_SIGNAL_H 1
# | #define HAVE_SPAWN_H 1
# | #define HAVE_STDARG_H 1
# | #define HAVE_STDINT_H 1
# | #define HAVE_STDLIB_H 1
# | #define HAVE_STRING_H 1
# | #define HAVE_SYS_CDEFS_H 1
# | #define HAVE_SYS_IOCTL_H 1
# | #define HAVE_SYS_MOUNT_H 1
# | #define HAVE_SYS_PARAM_H 1
# | #define HAVE_SYS_POLL_H 1
# | #define HAVE_SYS_SELECT_H 1
# | #define HAVE_SYS_STATFS_H 1
# | #define HAVE_SYS_STATVFS_H 1
# | #define HAVE_SYS_TIME_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_BZLIB_H 1
# | #define HAVE_LIBBZ2 1
# | #define HAVE_ICONV 1
# | #define ICONV_CONST
# | #define HAVE_ICONV_H 1
# | #define HAVE_LZ4_H 1
# | #define HAVE_LZ4HC_H 1
# | #define HAVE_LIBLZ4 1
# | #define HAVE_LZMA_H 1
# | #define HAVE_LIBLZMA 1
# | #define HAVE_LZMA_STREAM_ENCODER_MT 1
# | #define HAVE_LZO_LZOCONF_H 1
# | #define HAVE_LZO_LZO1X_H 1
# | #define HAVE_LIBLZO2 1
# | #define HAVE_EXPAT_H 1
# | #define HAVE_LIBEXPAT 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 1
# | #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1
# | #define HAVE_STRUCT_STAT_ST_BLKSIZE 1
# | #define HAVE_UINTMAX_T 1
# | #define HAVE_UNSIGNED_LONG_LONG 1
# | #define HAVE_UNSIGNED_LONG_LONG_INT 1
# | #define HAVE_LONG_LONG_INT 1
# | #define HAVE_INTMAX_T 1
# | #define HAVE_UINTMAX_T 1
# | #define HAVE_DECL_SIZE_MAX 1
# | #define HAVE_DECL_INT32_MAX 1
# | #define HAVE_DECL_INT32_MIN 1
# | #define HAVE_DECL_INT64_MAX 1
# | #define HAVE_DECL_INT64_MIN 1
# | #define HAVE_DECL_UINT64_MAX 1
# | #define HAVE_DECL_UINT32_MAX 1
# | #define HAVE_DECL_INTMAX_MAX 1
# | #define HAVE_DECL_INTMAX_MIN 1
# | #define HAVE_DECL_UINTMAX_MAX 1
# | #define HAVE_DECL_SSIZE_MAX 1
# | #define HAVE_EILSEQ 1
# | #define HAVE_WCHAR_T 1
# | #define SIZEOF_WCHAR_T 4
# | #define TIME_WITH_SYS_TIME 1
# | #define HAVE_FSEEKO 1
# | #define LSTAT_FOLLOWS_SLASHED_SYMLINK 1
# | #define HAVE_DECL_STRERROR_R 1
# | #define HAVE_STRERROR_R 1
# | #define STRERROR_R_CHAR_P 1
# | #define HAVE_STRFTIME 1
# | #define HAVE_VPRINTF 1
# | #define HAVE_CHOWN 1
# | #define HAVE_CHROOT 1
# | #define HAVE_CTIME_R 1
# | #define HAVE_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_FUTIMES 1
# | #define HAVE_FUTIMESAT 1
# | #define HAVE_GETEUID 1
# | #define HAVE_GETPID 1
# | #define HAVE_GETGRGID_R 1
# | #define HAVE_GETGRNAM_R 1
# | #define HAVE_GETPWNAM_R 1
# | #define HAVE_GETPWUID_R 1
# | #define HAVE_GMTIME_R 1
# | #define HAVE_LCHOWN 1
# | #define HAVE_LINK 1
# | #define HAVE_LOCALTIME_R 1
# | #define HAVE_LSTAT 1
# | #define HAVE_LUTIMES 1
# | #define HAVE_MBRTOWC 1
# | #define HAVE_MEMMOVE 1
# | #define HAVE_MEMSET 1
# | #define HAVE_MKDIR 1
# | #define HAVE_MKFIFO 1
# | #define HAVE_MKNOD 1
# | #define HAVE_MKSTEMP 1
# | #define HAVE_NL_LANGINFO 1
# | #define HAVE_OPENAT 1
# | #define HAVE_PIPE 1
# | #define HAVE_POLL 1
# | #define HAVE_POSIX_SPAWNP 1
# | #define HAVE_READLINK 1
# | #define HAVE_READLINKAT 1
# | #define HAVE_SELECT 1
# | #define HAVE_SETENV 1
# | #define HAVE_SETLOCALE 1
# | #define HAVE_SIGACTION 1
# | #define HAVE_STATFS 1
# | #define HAVE_STATVFS 1
# | #define HAVE_STRCHR 1
# | #define HAVE_STRDUP 1
# | #define HAVE_STRERROR 1
# | #define HAVE_STRRCHR 1
# | #define HAVE_SYMLINK 1
# | #define HAVE_TIMEGM 1
# | #define HAVE_TZSET 1
# | #define HAVE_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: clang -c -Wall -Wformat -Wformat-security conftest.c >&5
# conftest.c:205:20: error: no member named 'd_namlen' in 'struct dirent'; did you mean 'd_name'?
# if (sizeof ac_aggr.d_namlen)
# ^~~~~~~~
# d_name
# /usr/include/bits/dirent.h:33:10: note: 'd_name' declared here
# char d_name[256]; /* We must not include limits.h! */
# ^
# 1 error generated.
# 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_EXT2FS_EXT2_FS_H 1
# | #define HAVE_FCNTL_H 1
# | #define HAVE_GRP_H 1
# | #define HAVE_WORKING_EXT2_IOC_GETFLAGS 1
# | #define HAVE_INTTYPES_H 1
# | #define HAVE_LANGINFO_H 1
# | #define HAVE_LIMITS_H 1
# | #define HAVE_LINUX_FIEMAP_H 1
# | #define HAVE_LINUX_FS_H 1
# | #define HAVE_LINUX_MAGIC_H 1
# | #define HAVE_LINUX_TYPES_H 1
# | #define HAVE_LOCALE_H 1
# | #define HAVE_PATHS_H 1
# | #define HAVE_POLL_H 1
# | #define HAVE_PTHREAD_H 1
# | #define HAVE_PWD_H 1
# | #define HAVE_SIGNAL_H 1
# | #define HAVE_SPAWN_H 1
# | #define HAVE_STDARG_H 1
# | #define HAVE_STDINT_H 1
# | #define HAVE_STDLIB_H 1
# | #define HAVE_STRING_H 1
# | #define HAVE_SYS_CDEFS_H 1
# | #define HAVE_SYS_IOCTL_H 1
# | #define HAVE_SYS_MOUNT_H 1
# | #define HAVE_SYS_PARAM_H 1
# | #define HAVE_SYS_POLL_H 1
# | #define HAVE_SYS_SELECT_H 1
# | #define HAVE_SYS_STATFS_H 1
# | #define HAVE_SYS_STATVFS_H 1
# | #define HAVE_SYS_TIME_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_BZLIB_H 1
# | #define HAVE_LIBBZ2 1
# | #define HAVE_ICONV 1
# | #define ICONV_CONST
# | #define HAVE_ICONV_H 1
# | #define HAVE_LZ4_H 1
# | #define HAVE_LZ4HC_H 1
# | #define HAVE_LIBLZ4 1
# | #define HAVE_LZMA_H 1
# | #define HAVE_LIBLZMA 1
# | #define HAVE_LZMA_STREAM_ENCODER_MT 1
# | #define HAVE_LZO_LZOCONF_H 1
# | #define HAVE_LZO_LZO1X_H 1
# | #define HAVE_LIBLZO2 1
# | #define HAVE_EXPAT_H 1
# | #define HAVE_LIBEXPAT 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 1
# | #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1
# | #define HAVE_STRUCT_STAT_ST_BLKSIZE 1
# | #define HAVE_UINTMAX_T 1
# | #define HAVE_UNSIGNED_LONG_LONG 1
# | #define HAVE_UNSIGNED_LONG_LONG_INT 1
# | #define HAVE_LONG_LONG_INT 1
# | #define HAVE_INTMAX_T 1
# | #define HAVE_UINTMAX_T 1
# | #define HAVE_DECL_SIZE_MAX 1
# | #define HAVE_DECL_INT32_MAX 1
# | #define HAVE_DECL_INT32_MIN 1
# | #define HAVE_DECL_INT64_MAX 1
# | #define HAVE_DECL_INT64_MIN 1
# | #define HAVE_DECL_UINT64_MAX 1
# | #define HAVE_DECL_UINT32_MAX 1
# | #define HAVE_DECL_INTMAX_MAX 1
# | #define HAVE_DECL_INTMAX_MIN 1
# | #define HAVE_DECL_UINTMAX_MAX 1
# | #define HAVE_DECL_SSIZE_MAX 1
# | #define HAVE_EILSEQ 1
# | #define HAVE_WCHAR_T 1
# | #define SIZEOF_WCHAR_T 4
# | #define TIME_WITH_SYS_TIME 1
# | #define HAVE_FSEEKO 1
# | #define LSTAT_FOLLOWS_SLASHED_SYMLINK 1
# | #define HAVE_DECL_STRERROR_R 1
# | #define HAVE_STRERROR_R 1
# | #define STRERROR_R_CHAR_P 1
# | #define HAVE_STRFTIME 1
# | #define HAVE_VPRINTF 1
# | #define HAVE_CHOWN 1
# | #define HAVE_CHROOT 1
# | #define HAVE_CTIME_R 1
# | #define HAVE_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_FUTIMES 1
# | #define HAVE_FUTIMESAT 1
# | #define HAVE_GETEUID 1
# | #define HAVE_GETPID 1
# | #define HAVE_GETGRGID_R 1
# | #define HAVE_GETGRNAM_R 1
# | #define HAVE_GETPWNAM_R 1
# | #define HAVE_GETPWUID_R 1
# | #define HAVE_GMTIME_R 1
# | #define HAVE_LCHOWN 1
# | #define HAVE_LINK 1
# | #define HAVE_LOCALTIME_R 1
# | #define HAVE_LSTAT 1
# | #define HAVE_LUTIMES 1
# | #define HAVE_MBRTOWC 1
# | #define HAVE_MEMMOVE 1
# | #define HAVE_MEMSET 1
# | #define HAVE_MKDIR 1
# | #define HAVE_MKFIFO 1
# | #define HAVE_MKNOD 1
# | #define HAVE_MKSTEMP 1
# | #define HAVE_NL_LANGINFO 1
# | #define HAVE_OPENAT 1
# | #define HAVE_PIPE 1
# | #define HAVE_POLL 1
# | #define HAVE_POSIX_SPAWNP 1
# | #define HAVE_READLINK 1
# | #define HAVE_READLINKAT 1
# | #define HAVE_SELECT 1
# | #define HAVE_SETENV 1
# | #define HAVE_SETLOCALE 1
# | #define HAVE_SIGACTION 1
# | #define HAVE_STATFS 1
# | #define HAVE_STATVFS 1
# | #define HAVE_STRCHR 1
# | #define HAVE_STRDUP 1
# | #define HAVE_STRERROR 1
# | #define HAVE_STRRCHR 1
# | #define HAVE_SYMLINK 1
# | #define HAVE_TIMEGM 1
# | #define HAVE_TZSET 1
# | #define HAVE_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: clang -c -Wall -Wformat -Wformat-security conftest.c >&5
# configure:17308: $? = 0
# configure:17308: result: yes
# configure:17308: checking attr/xattr.h presence
# configure:17308: clang -E conftest.c
# configure:17308: $? = 0
# configure:17308: result: yes
# configure:17308: checking for attr/xattr.h
# configure:17308: result: yes
# configure:17321: checking sys/xattr.h usability
# configure:17321: clang -c -Wall -Wformat -Wformat-security conftest.c >&5
# configure:17321: $? = 0
# configure:17321: result: yes
# configure:17321: checking sys/xattr.h presence
# configure:17321: clang -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: clang -c -Wall -Wformat -Wformat-security conftest.c >&5
# conftest.c:231:10: fatal error: 'sys/ea.h' file not found
# #include
# ^
# 1 error generated.
# 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_EXT2FS_EXT2_FS_H 1
# | #define HAVE_FCNTL_H 1
# | #define HAVE_GRP_H 1
# | #define HAVE_WORKING_EXT2_IOC_GETFLAGS 1
# | #define HAVE_INTTYPES_H 1
# | #define HAVE_LANGINFO_H 1
# | #define HAVE_LIMITS_H 1
# | #define HAVE_LINUX_FIEMAP_H 1
# | #define HAVE_LINUX_FS_H 1
# | #define HAVE_LINUX_MAGIC_H 1
# | #define HAVE_LINUX_TYPES_H 1
# | #define HAVE_LOCALE_H 1
# | #define HAVE_PATHS_H 1
# | #define HAVE_POLL_H 1
# | #define HAVE_PTHREAD_H 1
# | #define HAVE_PWD_H 1
# | #define HAVE_SIGNAL_H 1
# | #define HAVE_SPAWN_H 1
# | #define HAVE_STDARG_H 1
# | #define HAVE_STDINT_H 1
# | #define HAVE_STDLIB_H 1
# | #define HAVE_STRING_H 1
# | #define HAVE_SYS_CDEFS_H 1
# | #define HAVE_SYS_IOCTL_H 1
# | #define HAVE_SYS_MOUNT_H 1
# | #define HAVE_SYS_PARAM_H 1
# | #define HAVE_SYS_POLL_H 1
# | #define HAVE_SYS_SELECT_H 1
# | #define HAVE_SYS_STATFS_H 1
# | #define HAVE_SYS_STATVFS_H 1
# | #define HAVE_SYS_TIME_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_BZLIB_H 1
# | #define HAVE_LIBBZ2 1
# | #define HAVE_ICONV 1
# | #define ICONV_CONST
# | #define HAVE_ICONV_H 1
# | #define HAVE_LZ4_H 1
# | #define HAVE_LZ4HC_H 1
# | #define HAVE_LIBLZ4 1
# | #define HAVE_LZMA_H 1
# | #define HAVE_LIBLZMA 1
# | #define HAVE_LZMA_STREAM_ENCODER_MT 1
# | #define HAVE_LZO_LZOCONF_H 1
# | #define HAVE_LZO_LZO1X_H 1
# | #define HAVE_LIBLZO2 1
# | #define HAVE_EXPAT_H 1
# | #define HAVE_LIBEXPAT 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 1
# | #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1
# | #define HAVE_STRUCT_STAT_ST_BLKSIZE 1
# | #define HAVE_UINTMAX_T 1
# | #define HAVE_UNSIGNED_LONG_LONG 1
# | #define HAVE_UNSIGNED_LONG_LONG_INT 1
# | #define HAVE_LONG_LONG_INT 1
# | #define HAVE_INTMAX_T 1
# | #define HAVE_UINTMAX_T 1
# | #define HAVE_DECL_SIZE_MAX 1
# | #define HAVE_DECL_INT32_MAX 1
# | #define HAVE_DECL_INT32_MIN 1
# | #define HAVE_DECL_INT64_MAX 1
# | #define HAVE_DECL_INT64_MIN 1
# | #define HAVE_DECL_UINT64_MAX 1
# | #define HAVE_DECL_UINT32_MAX 1
# | #define HAVE_DECL_INTMAX_MAX 1
# | #define HAVE_DECL_INTMAX_MIN 1
# | #define HAVE_DECL_UINTMAX_MAX 1
# | #define HAVE_DECL_SSIZE_MAX 1
# | #define HAVE_EILSEQ 1
# | #define HAVE_WCHAR_T 1
# | #define SIZEOF_WCHAR_T 4
# | #define TIME_WITH_SYS_TIME 1
# | #define HAVE_FSEEKO 1
# | #define LSTAT_FOLLOWS_SLASHED_SYMLINK 1
# | #define HAVE_DECL_STRERROR_R 1
# | #define HAVE_STRERROR_R 1
# | #define STRERROR_R_CHAR_P 1
# | #define HAVE_STRFTIME 1
# | #define HAVE_VPRINTF 1
# | #define HAVE_CHOWN 1
# | #define HAVE_CHROOT 1
# | #define HAVE_CTIME_R 1
# | #define HAVE_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_FUTIMES 1
# | #define HAVE_FUTIMESAT 1
# | #define HAVE_GETEUID 1
# | #define HAVE_GETPID 1
# | #define HAVE_GETGRGID_R 1
# | #define HAVE_GETGRNAM_R 1
# | #define HAVE_GETPWNAM_R 1
# | #define HAVE_GETPWUID_R 1
# | #define HAVE_GMTIME_R 1
# | #define HAVE_LCHOWN 1
# | #define HAVE_LINK 1
# | #define HAVE_LOCALTIME_R 1
# | #define HAVE_LSTAT 1
# | #define HAVE_LUTIMES 1
# | #define HAVE_MBRTOWC 1
# | #define HAVE_MEMMOVE 1
# | #define HAVE_MEMSET 1
# | #define HAVE_MKDIR 1
# | #define HAVE_MKFIFO 1
# | #define HAVE_MKNOD 1
# | #define HAVE_MKSTEMP 1
# | #define HAVE_NL_LANGINFO 1
# | #define HAVE_OPENAT 1
# | #define HAVE_PIPE 1
# | #define HAVE_POLL 1
# | #define HAVE_POSIX_SPAWNP 1
# | #define HAVE_READLINK 1
# | #define HAVE_READLINKAT 1
# | #define HAVE_SELECT 1
# | #define HAVE_SETENV 1
# | #define HAVE_SETLOCALE 1
# | #define HAVE_SIGACTION 1
# | #define HAVE_STATFS 1
# | #define HAVE_STATVFS 1
# | #define HAVE_STRCHR 1
# | #define HAVE_STRDUP 1
# | #define HAVE_STRERROR 1
# | #define HAVE_STRRCHR 1
# | #define HAVE_SYMLINK 1
# | #define HAVE_TIMEGM 1
# | #define HAVE_TZSET 1
# | #define HAVE_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_ATTR_XATTR_H 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: clang -E conftest.c
# conftest.c:198:10: fatal error: 'sys/ea.h' file not found
# #include
# ^
# 1 error generated.
# 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_EXT2FS_EXT2_FS_H 1
# | #define HAVE_FCNTL_H 1
# | #define HAVE_GRP_H 1
# | #define HAVE_WORKING_EXT2_IOC_GETFLAGS 1
# | #define HAVE_INTTYPES_H 1
# | #define HAVE_LANGINFO_H 1
# | #define HAVE_LIMITS_H 1
# | #define HAVE_LINUX_FIEMAP_H 1
# | #define HAVE_LINUX_FS_H 1
# | #define HAVE_LINUX_MAGIC_H 1
# | #define HAVE_LINUX_TYPES_H 1
# | #define HAVE_LOCALE_H 1
# | #define HAVE_PATHS_H 1
# | #define HAVE_POLL_H 1
# | #define HAVE_PTHREAD_H 1
# | #define HAVE_PWD_H 1
# | #define HAVE_SIGNAL_H 1
# | #define HAVE_SPAWN_H 1
# | #define HAVE_STDARG_H 1
# | #define HAVE_STDINT_H 1
# | #define HAVE_STDLIB_H 1
# | #define HAVE_STRING_H 1
# | #define HAVE_SYS_CDEFS_H 1
# | #define HAVE_SYS_IOCTL_H 1
# | #define HAVE_SYS_MOUNT_H 1
# | #define HAVE_SYS_PARAM_H 1
# | #define HAVE_SYS_POLL_H 1
# | #define HAVE_SYS_SELECT_H 1
# | #define HAVE_SYS_STATFS_H 1
# | #define HAVE_SYS_STATVFS_H 1
# | #define HAVE_SYS_TIME_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_BZLIB_H 1
# | #define HAVE_LIBBZ2 1
# | #define HAVE_ICONV 1
# | #define ICONV_CONST
# | #define HAVE_ICONV_H 1
# | #define HAVE_LZ4_H 1
# | #define HAVE_LZ4HC_H 1
# | #define HAVE_LIBLZ4 1
# | #define HAVE_LZMA_H 1
# | #define HAVE_LIBLZMA 1
# | #define HAVE_LZMA_STREAM_ENCODER_MT 1
# | #define HAVE_LZO_LZOCONF_H 1
# | #define HAVE_LZO_LZO1X_H 1
# | #define HAVE_LIBLZO2 1
# | #define HAVE_EXPAT_H 1
# | #define HAVE_LIBEXPAT 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 1
# | #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1
# | #define HAVE_STRUCT_STAT_ST_BLKSIZE 1
# | #define HAVE_UINTMAX_T 1
# | #define HAVE_UNSIGNED_LONG_LONG 1
# | #define HAVE_UNSIGNED_LONG_LONG_INT 1
# | #define HAVE_LONG_LONG_INT 1
# | #define HAVE_INTMAX_T 1
# | #define HAVE_UINTMAX_T 1
# | #define HAVE_DECL_SIZE_MAX 1
# | #define HAVE_DECL_INT32_MAX 1
# | #define HAVE_DECL_INT32_MIN 1
# | #define HAVE_DECL_INT64_MAX 1
# | #define HAVE_DECL_INT64_MIN 1
# | #define HAVE_DECL_UINT64_MAX 1
# | #define HAVE_DECL_UINT32_MAX 1
# | #define HAVE_DECL_INTMAX_MAX 1
# | #define HAVE_DECL_INTMAX_MIN 1
# | #define HAVE_DECL_UINTMAX_MAX 1
# | #define HAVE_DECL_SSIZE_MAX 1
# | #define HAVE_EILSEQ 1
# | #define HAVE_WCHAR_T 1
# | #define SIZEOF_WCHAR_T 4
# | #define TIME_WITH_SYS_TIME 1
# | #define HAVE_FSEEKO 1
# | #define LSTAT_FOLLOWS_SLASHED_SYMLINK 1
# | #define HAVE_DECL_STRERROR_R 1
# | #define HAVE_STRERROR_R 1
# | #define STRERROR_R_CHAR_P 1
# | #define HAVE_STRFTIME 1
# | #define HAVE_VPRINTF 1
# | #define HAVE_CHOWN 1
# | #define HAVE_CHROOT 1
# | #define HAVE_CTIME_R 1
# | #define HAVE_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_FUTIMES 1
# | #define HAVE_FUTIMESAT 1
# | #define HAVE_GETEUID 1
# | #define HAVE_GETPID 1
# | #define HAVE_GETGRGID_R 1
# | #define HAVE_GETGRNAM_R 1
# | #define HAVE_GETPWNAM_R 1
# | #define HAVE_GETPWUID_R 1
# | #define HAVE_GMTIME_R 1
# | #define HAVE_LCHOWN 1
# | #define HAVE_LINK 1
# | #define HAVE_LOCALTIME_R 1
# | #define HAVE_LSTAT 1
# | #define HAVE_LUTIMES 1
# | #define HAVE_MBRTOWC 1
# | #define HAVE_MEMMOVE 1
# | #define HAVE_MEMSET 1
# | #define HAVE_MKDIR 1
# | #define HAVE_MKFIFO 1
# | #define HAVE_MKNOD 1
# | #define HAVE_MKSTEMP 1
# | #define HAVE_NL_LANGINFO 1
# | #define HAVE_OPENAT 1
# | #define HAVE_PIPE 1
# | #define HAVE_POLL 1
# | #define HAVE_POSIX_SPAWNP 1
# | #define HAVE_READLINK 1
# | #define HAVE_READLINKAT 1
# | #define HAVE_SELECT 1
# | #define HAVE_SETENV 1
# | #define HAVE_SETLOCALE 1
# | #define HAVE_SIGACTION 1
# | #define HAVE_STATFS 1
# | #define HAVE_STATVFS 1
# | #define HAVE_STRCHR 1
# | #define HAVE_STRDUP 1
# | #define HAVE_STRERROR 1
# | #define HAVE_STRRCHR 1
# | #define HAVE_SYMLINK 1
# | #define HAVE_TIMEGM 1
# | #define HAVE_TZSET 1
# | #define HAVE_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_ATTR_XATTR_H 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: clang -o conftest -Wall -Wformat -Wformat-security conftest.c -lexpat -llzo2 -llzma -llz4 -lbz2 -lz >&5
# configure:17362: $? = 0
# configure:17379: result: none required
# configure:17390: checking for extattr_get_file
# configure:17390: clang -o conftest -Wall -Wformat -Wformat-security conftest.c -lexpat -llzo2 -llzma -llz4 -lbz2 -lz >&5
# /tmp/conftest-40858f.o: In function `main':
# conftest.c:(.text+0x12): undefined reference to `extattr_get_file'
# clang-3.8: error: linker command failed with exit code 1 (use -v to see invocation)
# 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_EXT2FS_EXT2_FS_H 1
# | #define HAVE_FCNTL_H 1
# | #define HAVE_GRP_H 1
# | #define HAVE_WORKING_EXT2_IOC_GETFLAGS 1
# | #define HAVE_INTTYPES_H 1
# | #define HAVE_LANGINFO_H 1
# | #define HAVE_LIMITS_H 1
# | #define HAVE_LINUX_FIEMAP_H 1
# | #define HAVE_LINUX_FS_H 1
# | #define HAVE_LINUX_MAGIC_H 1
# | #define HAVE_LINUX_TYPES_H 1
# | #define HAVE_LOCALE_H 1
# | #define HAVE_PATHS_H 1
# | #define HAVE_POLL_H 1
# | #define HAVE_PTHREAD_H 1
# | #define HAVE_PWD_H 1
# | #define HAVE_SIGNAL_H 1
# | #define HAVE_SPAWN_H 1
# | #define HAVE_STDARG_H 1
# | #define HAVE_STDINT_H 1
# | #define HAVE_STDLIB_H 1
# | #define HAVE_STRING_H 1
# | #define HAVE_SYS_CDEFS_H 1
# | #define HAVE_SYS_IOCTL_H 1
# | #define HAVE_SYS_MOUNT_H 1
# | #define HAVE_SYS_PARAM_H 1
# | #define HAVE_SYS_POLL_H 1
# | #define HAVE_SYS_SELECT_H 1
# | #define HAVE_SYS_STATFS_H 1
# | #define HAVE_SYS_STATVFS_H 1
# | #define HAVE_SYS_TIME_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_BZLIB_H 1
# | #define HAVE_LIBBZ2 1
# | #define HAVE_ICONV 1
# | #define ICONV_CONST
# | #define HAVE_ICONV_H 1
# | #define HAVE_LZ4_H 1
# | #define HAVE_LZ4HC_H 1
# | #define HAVE_LIBLZ4 1
# | #define HAVE_LZMA_H 1
# | #define HAVE_LIBLZMA 1
# | #define HAVE_LZMA_STREAM_ENCODER_MT 1
# | #define HAVE_LZO_LZOCONF_H 1
# | #define HAVE_LZO_LZO1X_H 1
# | #define HAVE_LIBLZO2 1
# | #define HAVE_EXPAT_H 1
# | #define HAVE_LIBEXPAT 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 1
# | #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1
# | #define HAVE_STRUCT_STAT_ST_BLKSIZE 1
# | #define HAVE_UINTMAX_T 1
# | #define HAVE_UNSIGNED_LONG_LONG 1
# | #define HAVE_UNSIGNED_LONG_LONG_INT 1
# | #define HAVE_LONG_LONG_INT 1
# | #define HAVE_INTMAX_T 1
# | #define HAVE_UINTMAX_T 1
# | #define HAVE_DECL_SIZE_MAX 1
# | #define HAVE_DECL_INT32_MAX 1
# | #define HAVE_DECL_INT32_MIN 1
# | #define HAVE_DECL_INT64_MAX 1
# | #define HAVE_DECL_INT64_MIN 1
# | #define HAVE_DECL_UINT64_MAX 1
# | #define HAVE_DECL_UINT32_MAX 1
# | #define HAVE_DECL_INTMAX_MAX 1
# | #define HAVE_DECL_INTMAX_MIN 1
# | #define HAVE_DECL_UINTMAX_MAX 1
# | #define HAVE_DECL_SSIZE_MAX 1
# | #define HAVE_EILSEQ 1
# | #define HAVE_WCHAR_T 1
# | #define SIZEOF_WCHAR_T 4
# | #define TIME_WITH_SYS_TIME 1
# | #define HAVE_FSEEKO 1
# | #define LSTAT_FOLLOWS_SLASHED_SYMLINK 1
# | #define HAVE_DECL_STRERROR_R 1
# | #define HAVE_STRERROR_R 1
# | #define STRERROR_R_CHAR_P 1
# | #define HAVE_STRFTIME 1
# | #define HAVE_VPRINTF 1
# | #define HAVE_CHOWN 1
# | #define HAVE_CHROOT 1
# | #define HAVE_CTIME_R 1
# | #define HAVE_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_FUTIMES 1
# | #define HAVE_FUTIMESAT 1
# | #define HAVE_GETEUID 1
# | #define HAVE_GETPID 1
# | #define HAVE_GETGRGID_R 1
# | #define HAVE_GETGRNAM_R 1
# | #define HAVE_GETPWNAM_R 1
# | #define HAVE_GETPWUID_R 1
# | #define HAVE_GMTIME_R 1
# | #define HAVE_LCHOWN 1
# | #define HAVE_LINK 1
# | #define HAVE_LOCALTIME_R 1
# | #define HAVE_LSTAT 1
# | #define HAVE_LUTIMES 1
# | #define HAVE_MBRTOWC 1
# | #define HAVE_MEMMOVE 1
# | #define HAVE_MEMSET 1
# | #define HAVE_MKDIR 1
# | #define HAVE_MKFIFO 1
# | #define HAVE_MKNOD 1
# | #define HAVE_MKSTEMP 1
# | #define HAVE_NL_LANGINFO 1
# | #define HAVE_OPENAT 1
# | #define HAVE_PIPE 1
# | #define HAVE_POLL 1
# | #define HAVE_POSIX_SPAWNP 1
# | #define HAVE_READLINK 1
# | #define HAVE_READLINKAT 1
# | #define HAVE_SELECT 1
# | #define HAVE_SETENV 1
# | #define HAVE_SETLOCALE 1
# | #define HAVE_SIGACTION 1
# | #define HAVE_STATFS 1
# | #define HAVE_STATVFS 1
# | #define HAVE_STRCHR 1
# | #define HAVE_STRDUP 1
# | #define HAVE_STRERROR 1
# | #define HAVE_STRRCHR 1
# | #define HAVE_SYMLINK 1
# | #define HAVE_TIMEGM 1
# | #define HAVE_TZSET 1
# | #define HAVE_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_ATTR_XATTR_H 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: clang -o conftest -Wall -Wformat -Wformat-security conftest.c -lexpat -llzo2 -llzma -llz4 -lbz2 -lz >&5
# /tmp/conftest-abfa6b.o: In function `main':
# conftest.c:(.text+0x12): undefined reference to `extattr_list_file'
# clang-3.8: error: linker command failed with exit code 1 (use -v to see invocation)
# 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_EXT2FS_EXT2_FS_H 1
# | #define HAVE_FCNTL_H 1
# | #define HAVE_GRP_H 1
# | #define HAVE_WORKING_EXT2_IOC_GETFLAGS 1
# | #define HAVE_INTTYPES_H 1
# | #define HAVE_LANGINFO_H 1
# | #define HAVE_LIMITS_H 1
# | #define HAVE_LINUX_FIEMAP_H 1
# | #define HAVE_LINUX_FS_H 1
# | #define HAVE_LINUX_MAGIC_H 1
# | #define HAVE_LINUX_TYPES_H 1
# | #define HAVE_LOCALE_H 1
# | #define HAVE_PATHS_H 1
# | #define HAVE_POLL_H 1
# | #define HAVE_PTHREAD_H 1
# | #define HAVE_PWD_H 1
# | #define HAVE_SIGNAL_H 1
# | #define HAVE_SPAWN_H 1
# | #define HAVE_STDARG_H 1
# | #define HAVE_STDINT_H 1
# | #define HAVE_STDLIB_H 1
# | #define HAVE_STRING_H 1
# | #define HAVE_SYS_CDEFS_H 1
# | #define HAVE_SYS_IOCTL_H 1
# | #define HAVE_SYS_MOUNT_H 1
# | #define HAVE_SYS_PARAM_H 1
# | #define HAVE_SYS_POLL_H 1
# | #define HAVE_SYS_SELECT_H 1
# | #define HAVE_SYS_STATFS_H 1
# | #define HAVE_SYS_STATVFS_H 1
# | #define HAVE_SYS_TIME_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_BZLIB_H 1
# | #define HAVE_LIBBZ2 1
# | #define HAVE_ICONV 1
# | #define ICONV_CONST
# | #define HAVE_ICONV_H 1
# | #define HAVE_LZ4_H 1
# | #define HAVE_LZ4HC_H 1
# | #define HAVE_LIBLZ4 1
# | #define HAVE_LZMA_H 1
# | #define HAVE_LIBLZMA 1
# | #define HAVE_LZMA_STREAM_ENCODER_MT 1
# | #define HAVE_LZO_LZOCONF_H 1
# | #define HAVE_LZO_LZO1X_H 1
# | #define HAVE_LIBLZO2 1
# | #define HAVE_EXPAT_H 1
# | #define HAVE_LIBEXPAT 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 1
# | #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1
# | #define HAVE_STRUCT_STAT_ST_BLKSIZE 1
# | #define HAVE_UINTMAX_T 1
# | #define HAVE_UNSIGNED_LONG_LONG 1
# | #define HAVE_UNSIGNED_LONG_LONG_INT 1
# | #define HAVE_LONG_LONG_INT 1
# | #define HAVE_INTMAX_T 1
# | #define HAVE_UINTMAX_T 1
# | #define HAVE_DECL_SIZE_MAX 1
# | #define HAVE_DECL_INT32_MAX 1
# | #define HAVE_DECL_INT32_MIN 1
# | #define HAVE_DECL_INT64_MAX 1
# | #define HAVE_DECL_INT64_MIN 1
# | #define HAVE_DECL_UINT64_MAX 1
# | #define HAVE_DECL_UINT32_MAX 1
# | #define HAVE_DECL_INTMAX_MAX 1
# | #define HAVE_DECL_INTMAX_MIN 1
# | #define HAVE_DECL_UINTMAX_MAX 1
# | #define HAVE_DECL_SSIZE_MAX 1
# | #define HAVE_EILSEQ 1
# | #define HAVE_WCHAR_T 1
# | #define SIZEOF_WCHAR_T 4
# | #define TIME_WITH_SYS_TIME 1
# | #define HAVE_FSEEKO 1
# | #define LSTAT_FOLLOWS_SLASHED_SYMLINK 1
# | #define HAVE_DECL_STRERROR_R 1
# | #define HAVE_STRERROR_R 1
# | #define STRERROR_R_CHAR_P 1
# | #define HAVE_STRFTIME 1
# | #define HAVE_VPRINTF 1
# | #define HAVE_CHOWN 1
# | #define HAVE_CHROOT 1
# | #define HAVE_CTIME_R 1
# | #define HAVE_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_FUTIMES 1
# | #define HAVE_FUTIMESAT 1
# | #define HAVE_GETEUID 1
# | #define HAVE_GETPID 1
# | #define HAVE_GETGRGID_R 1
# | #define HAVE_GETGRNAM_R 1
# | #define HAVE_GETPWNAM_R 1
# | #define HAVE_GETPWUID_R 1
# | #define HAVE_GMTIME_R 1
# | #define HAVE_LCHOWN 1
# | #define HAVE_LINK 1
# | #define HAVE_LOCALTIME_R 1
# | #define HAVE_LSTAT 1
# | #define HAVE_LUTIMES 1
# | #define HAVE_MBRTOWC 1
# | #define HAVE_MEMMOVE 1
# | #define HAVE_MEMSET 1
# | #define HAVE_MKDIR 1
# | #define HAVE_MKFIFO 1
# | #define HAVE_MKNOD 1
# | #define HAVE_MKSTEMP 1
# | #define HAVE_NL_LANGINFO 1
# | #define HAVE_OPENAT 1
# | #define HAVE_PIPE 1
# | #define HAVE_POLL 1
# | #define HAVE_POSIX_SPAWNP 1
# | #define HAVE_READLINK 1
# | #define HAVE_READLINKAT 1
# | #define HAVE_SELECT 1
# | #define HAVE_SETENV 1
# | #define HAVE_SETLOCALE 1
# | #define HAVE_SIGACTION 1
# | #define HAVE_STATFS 1
# | #define HAVE_STATVFS 1
# | #define HAVE_STRCHR 1
# | #define HAVE_STRDUP 1
# | #define HAVE_STRERROR 1
# | #define HAVE_STRRCHR 1
# | #define HAVE_SYMLINK 1
# | #define HAVE_TIMEGM 1
# | #define HAVE_TZSET 1
# | #define HAVE_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_ATTR_XATTR_H 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: clang -o conftest -Wall -Wformat -Wformat-security conftest.c -lexpat -llzo2 -llzma -llz4 -lbz2 -lz >&5
# /tmp/conftest-c3152e.o: In function `main':
# conftest.c:(.text+0x12): undefined reference to `extattr_set_fd'
# clang-3.8: error: linker command failed with exit code 1 (use -v to see invocation)
# 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_EXT2FS_EXT2_FS_H 1
# | #define HAVE_FCNTL_H 1
# | #define HAVE_GRP_H 1
# | #define HAVE_WORKING_EXT2_IOC_GETFLAGS 1
# | #define HAVE_INTTYPES_H 1
# | #define HAVE_LANGINFO_H 1
# | #define HAVE_LIMITS_H 1
# | #define HAVE_LINUX_FIEMAP_H 1
# | #define HAVE_LINUX_FS_H 1
# | #define HAVE_LINUX_MAGIC_H 1
# | #define HAVE_LINUX_TYPES_H 1
# | #define HAVE_LOCALE_H 1
# | #define HAVE_PATHS_H 1
# | #define HAVE_POLL_H 1
# | #define HAVE_PTHREAD_H 1
# | #define HAVE_PWD_H 1
# | #define HAVE_SIGNAL_H 1
# | #define HAVE_SPAWN_H 1
# | #define HAVE_STDARG_H 1
# | #define HAVE_STDINT_H 1
# | #define HAVE_STDLIB_H 1
# | #define HAVE_STRING_H 1
# | #define HAVE_SYS_CDEFS_H 1
# | #define HAVE_SYS_IOCTL_H 1
# | #define HAVE_SYS_MOUNT_H 1
# | #define HAVE_SYS_PARAM_H 1
# | #define HAVE_SYS_POLL_H 1
# | #define HAVE_SYS_SELECT_H 1
# | #define HAVE_SYS_STATFS_H 1
# | #define HAVE_SYS_STATVFS_H 1
# | #define HAVE_SYS_TIME_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_BZLIB_H 1
# | #define HAVE_LIBBZ2 1
# | #define HAVE_ICONV 1
# | #define ICONV_CONST
# | #define HAVE_ICONV_H 1
# | #define HAVE_LZ4_H 1
# | #define HAVE_LZ4HC_H 1
# | #define HAVE_LIBLZ4 1
# | #define HAVE_LZMA_H 1
# | #define HAVE_LIBLZMA 1
# | #define HAVE_LZMA_STREAM_ENCODER_MT 1
# | #define HAVE_LZO_LZOCONF_H 1
# | #define HAVE_LZO_LZO1X_H 1
# | #define HAVE_LIBLZO2 1
# | #define HAVE_EXPAT_H 1
# | #define HAVE_LIBEXPAT 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 1
# | #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1
# | #define HAVE_STRUCT_STAT_ST_BLKSIZE 1
# | #define HAVE_UINTMAX_T 1
# | #define HAVE_UNSIGNED_LONG_LONG 1
# | #define HAVE_UNSIGNED_LONG_LONG_INT 1
# | #define HAVE_LONG_LONG_INT 1
# | #define HAVE_INTMAX_T 1
# | #define HAVE_UINTMAX_T 1
# | #define HAVE_DECL_SIZE_MAX 1
# | #define HAVE_DECL_INT32_MAX 1
# | #define HAVE_DECL_INT32_MIN 1
# | #define HAVE_DECL_INT64_MAX 1
# | #define HAVE_DECL_INT64_MIN 1
# | #define HAVE_DECL_UINT64_MAX 1
# | #define HAVE_DECL_UINT32_MAX 1
# | #define HAVE_DECL_INTMAX_MAX 1
# | #define HAVE_DECL_INTMAX_MIN 1
# | #define HAVE_DECL_UINTMAX_MAX 1
# | #define HAVE_DECL_SSIZE_MAX 1
# | #define HAVE_EILSEQ 1
# | #define HAVE_WCHAR_T 1
# | #define SIZEOF_WCHAR_T 4
# | #define TIME_WITH_SYS_TIME 1
# | #define HAVE_FSEEKO 1
# | #define LSTAT_FOLLOWS_SLASHED_SYMLINK 1
# | #define HAVE_DECL_STRERROR_R 1
# | #define HAVE_STRERROR_R 1
# | #define STRERROR_R_CHAR_P 1
# | #define HAVE_STRFTIME 1
# | #define HAVE_VPRINTF 1
# | #define HAVE_CHOWN 1
# | #define HAVE_CHROOT 1
# | #define HAVE_CTIME_R 1
# | #define HAVE_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_FUTIMES 1
# | #define HAVE_FUTIMESAT 1
# | #define HAVE_GETEUID 1
# | #define HAVE_GETPID 1
# | #define HAVE_GETGRGID_R 1
# | #define HAVE_GETGRNAM_R 1
# | #define HAVE_GETPWNAM_R 1
# | #define HAVE_GETPWUID_R 1
# | #define HAVE_GMTIME_R 1
# | #define HAVE_LCHOWN 1
# | #define HAVE_LINK 1
# | #define HAVE_LOCALTIME_R 1
# | #define HAVE_LSTAT 1
# | #define HAVE_LUTIMES 1
# | #define HAVE_MBRTOWC 1
# | #define HAVE_MEMMOVE 1
# | #define HAVE_MEMSET 1
# | #define HAVE_MKDIR 1
# | #define HAVE_MKFIFO 1
# | #define HAVE_MKNOD 1
# | #define HAVE_MKSTEMP 1
# | #define HAVE_NL_LANGINFO 1
# | #define HAVE_OPENAT 1
# | #define HAVE_PIPE 1
# | #define HAVE_POLL 1
# | #define HAVE_POSIX_SPAWNP 1
# | #define HAVE_READLINK 1
# | #define HAVE_READLINKAT 1
# | #define HAVE_SELECT 1
# | #define HAVE_SETENV 1
# | #define HAVE_SETLOCALE 1
# | #define HAVE_SIGACTION 1
# | #define HAVE_STATFS 1
# | #define HAVE_STATVFS 1
# | #define HAVE_STRCHR 1
# | #define HAVE_STRDUP 1
# | #define HAVE_STRERROR 1
# | #define HAVE_STRRCHR 1
# | #define HAVE_SYMLINK 1
# | #define HAVE_TIMEGM 1
# | #define HAVE_TZSET 1
# | #define HAVE_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_ATTR_XATTR_H 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: clang -o conftest -Wall -Wformat -Wformat-security conftest.c -lexpat -llzo2 -llzma -llz4 -lbz2 -lz >&5
# /tmp/conftest-a6d2fc.o: In function `main':
# conftest.c:(.text+0x12): undefined reference to `extattr_set_file'
# clang-3.8: error: linker command failed with exit code 1 (use -v to see invocation)
# 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_EXT2FS_EXT2_FS_H 1
# | #define HAVE_FCNTL_H 1
# | #define HAVE_GRP_H 1
# | #define HAVE_WORKING_EXT2_IOC_GETFLAGS 1
# | #define HAVE_INTTYPES_H 1
# | #define HAVE_LANGINFO_H 1
# | #define HAVE_LIMITS_H 1
# | #define HAVE_LINUX_FIEMAP_H 1
# | #define HAVE_LINUX_FS_H 1
# | #define HAVE_LINUX_MAGIC_H 1
# | #define HAVE_LINUX_TYPES_H 1
# | #define HAVE_LOCALE_H 1
# | #define HAVE_PATHS_H 1
# | #define HAVE_POLL_H 1
# | #define HAVE_PTHREAD_H 1
# | #define HAVE_PWD_H 1
# | #define HAVE_SIGNAL_H 1
# | #define HAVE_SPAWN_H 1
# | #define HAVE_STDARG_H 1
# | #define HAVE_STDINT_H 1
# | #define HAVE_STDLIB_H 1
# | #define HAVE_STRING_H 1
# | #define HAVE_SYS_CDEFS_H 1
# | #define HAVE_SYS_IOCTL_H 1
# | #define HAVE_SYS_MOUNT_H 1
# | #define HAVE_SYS_PARAM_H 1
# | #define HAVE_SYS_POLL_H 1
# | #define HAVE_SYS_SELECT_H 1
# | #define HAVE_SYS_STATFS_H 1
# | #define HAVE_SYS_STATVFS_H 1
# | #define HAVE_SYS_TIME_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_BZLIB_H 1
# | #define HAVE_LIBBZ2 1
# | #define HAVE_ICONV 1
# | #define ICONV_CONST
# | #define HAVE_ICONV_H 1
# | #define HAVE_LZ4_H 1
# | #define HAVE_LZ4HC_H 1
# | #define HAVE_LIBLZ4 1
# | #define HAVE_LZMA_H 1
# | #define HAVE_LIBLZMA 1
# | #define HAVE_LZMA_STREAM_ENCODER_MT 1
# | #define HAVE_LZO_LZOCONF_H 1
# | #define HAVE_LZO_LZO1X_H 1
# | #define HAVE_LIBLZO2 1
# | #define HAVE_EXPAT_H 1
# | #define HAVE_LIBEXPAT 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 1
# | #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1
# | #define HAVE_STRUCT_STAT_ST_BLKSIZE 1
# | #define HAVE_UINTMAX_T 1
# | #define HAVE_UNSIGNED_LONG_LONG 1
# | #define HAVE_UNSIGNED_LONG_LONG_INT 1
# | #define HAVE_LONG_LONG_INT 1
# | #define HAVE_INTMAX_T 1
# | #define HAVE_UINTMAX_T 1
# | #define HAVE_DECL_SIZE_MAX 1
# | #define HAVE_DECL_INT32_MAX 1
# | #define HAVE_DECL_INT32_MIN 1
# | #define HAVE_DECL_INT64_MAX 1
# | #define HAVE_DECL_INT64_MIN 1
# | #define HAVE_DECL_UINT64_MAX 1
# | #define HAVE_DECL_UINT32_MAX 1
# | #define HAVE_DECL_INTMAX_MAX 1
# | #define HAVE_DECL_INTMAX_MIN 1
# | #define HAVE_DECL_UINTMAX_MAX 1
# | #define HAVE_DECL_SSIZE_MAX 1
# | #define HAVE_EILSEQ 1
# | #define HAVE_WCHAR_T 1
# | #define SIZEOF_WCHAR_T 4
# | #define TIME_WITH_SYS_TIME 1
# | #define HAVE_FSEEKO 1
# | #define LSTAT_FOLLOWS_SLASHED_SYMLINK 1
# | #define HAVE_DECL_STRERROR_R 1
# | #define HAVE_STRERROR_R 1
# | #define STRERROR_R_CHAR_P 1
# | #define HAVE_STRFTIME 1
# | #define HAVE_VPRINTF 1
# | #define HAVE_CHOWN 1
# | #define HAVE_CHROOT 1
# | #define HAVE_CTIME_R 1
# | #define HAVE_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_FUTIMES 1
# | #define HAVE_FUTIMESAT 1
# | #define HAVE_GETEUID 1
# | #define HAVE_GETPID 1
# | #define HAVE_GETGRGID_R 1
# | #define HAVE_GETGRNAM_R 1
# | #define HAVE_GETPWNAM_R 1
# | #define HAVE_GETPWUID_R 1
# | #define HAVE_GMTIME_R 1
# | #define HAVE_LCHOWN 1
# | #define HAVE_LINK 1
# | #define HAVE_LOCALTIME_R 1
# | #define HAVE_LSTAT 1
# | #define HAVE_LUTIMES 1
# | #define HAVE_MBRTOWC 1
# | #define HAVE_MEMMOVE 1
# | #define HAVE_MEMSET 1
# | #define HAVE_MKDIR 1
# | #define HAVE_MKFIFO 1
# | #define HAVE_MKNOD 1
# | #define HAVE_MKSTEMP 1
# | #define HAVE_NL_LANGINFO 1
# | #define HAVE_OPENAT 1
# | #define HAVE_PIPE 1
# | #define HAVE_POLL 1
# | #define HAVE_POSIX_SPAWNP 1
# | #define HAVE_READLINK 1
# | #define HAVE_READLINKAT 1
# | #define HAVE_SELECT 1
# | #define HAVE_SETENV 1
# | #define HAVE_SETLOCALE 1
# | #define HAVE_SIGACTION 1
# | #define HAVE_STATFS 1
# | #define HAVE_STATVFS 1
# | #define HAVE_STRCHR 1
# | #define HAVE_STRDUP 1
# | #define HAVE_STRERROR 1
# | #define HAVE_STRRCHR 1
# | #define HAVE_SYMLINK 1
# | #define HAVE_TIMEGM 1
# | #define HAVE_TZSET 1
# | #define HAVE_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_ATTR_XATTR_H 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: clang -o conftest -Wall -Wformat -Wformat-security conftest.c -lexpat -llzo2 -llzma -llz4 -lbz2 -lz >&5
# configure:17414: $? = 0
# configure:17414: result: yes
# configure:17414: checking for flistxattr
# configure:17414: clang -o conftest -Wall -Wformat -Wformat-security conftest.c -lexpat -llzo2 -llzma -llz4 -lbz2 -lz >&5
# configure:17414: $? = 0
# configure:17414: result: yes
# configure:17414: checking for fsetxattr
# configure:17414: clang -o conftest -Wall -Wformat -Wformat-security conftest.c -lexpat -llzo2 -llzma -llz4 -lbz2 -lz >&5
# configure:17414: $? = 0
# configure:17414: result: yes
# configure:17414: checking for getxattr
# configure:17414: clang -o conftest -Wall -Wformat -Wformat-security conftest.c -lexpat -llzo2 -llzma -llz4 -lbz2 -lz >&5
# configure:17414: $? = 0
# configure:17414: result: yes
# configure:17426: checking for lgetxattr
# configure:17426: clang -o conftest -Wall -Wformat -Wformat-security conftest.c -lexpat -llzo2 -llzma -llz4 -lbz2 -lz >&5
# configure:17426: $? = 0
# configure:17426: result: yes
# configure:17426: checking for listxattr
# configure:17426: clang -o conftest -Wall -Wformat -Wformat-security conftest.c -lexpat -llzo2 -llzma -llz4 -lbz2 -lz >&5
# configure:17426: $? = 0
# configure:17426: result: yes
# configure:17426: checking for llistxattr
# configure:17426: clang -o conftest -Wall -Wformat -Wformat-security conftest.c -lexpat -llzo2 -llzma -llz4 -lbz2 -lz >&5
# configure:17426: $? = 0
# configure:17426: result: yes
# configure:17426: checking for lsetxattr
# configure:17426: clang -o conftest -Wall -Wformat -Wformat-security conftest.c -lexpat -llzo2 -llzma -llz4 -lbz2 -lz >&5
# configure:17426: $? = 0
# configure:17426: result: yes
# configure:17438: checking for fgetea
# configure:17438: clang -o conftest -Wall -Wformat -Wformat-security conftest.c -lexpat -llzo2 -llzma -llz4 -lbz2 -lz >&5
# /tmp/conftest-1d3fe2.o: In function `main':
# conftest.c:(.text+0x12): undefined reference to `fgetea'
# clang-3.8: error: linker command failed with exit code 1 (use -v to see invocation)
# 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_EXT2FS_EXT2_FS_H 1
# | #define HAVE_FCNTL_H 1
# | #define HAVE_GRP_H 1
# | #define HAVE_WORKING_EXT2_IOC_GETFLAGS 1
# | #define HAVE_INTTYPES_H 1
# | #define HAVE_LANGINFO_H 1
# | #define HAVE_LIMITS_H 1
# | #define HAVE_LINUX_FIEMAP_H 1
# | #define HAVE_LINUX_FS_H 1
# | #define HAVE_LINUX_MAGIC_H 1
# | #define HAVE_LINUX_TYPES_H 1
# | #define HAVE_LOCALE_H 1
# | #define HAVE_PATHS_H 1
# | #define HAVE_POLL_H 1
# | #define HAVE_PTHREAD_H 1
# | #define HAVE_PWD_H 1
# | #define HAVE_SIGNAL_H 1
# | #define HAVE_SPAWN_H 1
# | #define HAVE_STDARG_H 1
# | #define HAVE_STDINT_H 1
# | #define HAVE_STDLIB_H 1
# | #define HAVE_STRING_H 1
# | #define HAVE_SYS_CDEFS_H 1
# | #define HAVE_SYS_IOCTL_H 1
# | #define HAVE_SYS_MOUNT_H 1
# | #define HAVE_SYS_PARAM_H 1
# | #define HAVE_SYS_POLL_H 1
# | #define HAVE_SYS_SELECT_H 1
# | #define HAVE_SYS_STATFS_H 1
# | #define HAVE_SYS_STATVFS_H 1
# | #define HAVE_SYS_TIME_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_BZLIB_H 1
# | #define HAVE_LIBBZ2 1
# | #define HAVE_ICONV 1
# | #define ICONV_CONST
# | #define HAVE_ICONV_H 1
# | #define HAVE_LZ4_H 1
# | #define HAVE_LZ4HC_H 1
# | #define HAVE_LIBLZ4 1
# | #define HAVE_LZMA_H 1
# | #define HAVE_LIBLZMA 1
# | #define HAVE_LZMA_STREAM_ENCODER_MT 1
# | #define HAVE_LZO_LZOCONF_H 1
# | #define HAVE_LZO_LZO1X_H 1
# | #define HAVE_LIBLZO2 1
# | #define HAVE_EXPAT_H 1
# | #define HAVE_LIBEXPAT 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 1
# | #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1
# | #define HAVE_STRUCT_STAT_ST_BLKSIZE 1
# | #define HAVE_UINTMAX_T 1
# | #define HAVE_UNSIGNED_LONG_LONG 1
# | #define HAVE_UNSIGNED_LONG_LONG_INT 1
# | #define HAVE_LONG_LONG_INT 1
# | #define HAVE_INTMAX_T 1
# | #define HAVE_UINTMAX_T 1
# | #define HAVE_DECL_SIZE_MAX 1
# | #define HAVE_DECL_INT32_MAX 1
# | #define HAVE_DECL_INT32_MIN 1
# | #define HAVE_DECL_INT64_MAX 1
# | #define HAVE_DECL_INT64_MIN 1
# | #define HAVE_DECL_UINT64_MAX 1
# | #define HAVE_DECL_UINT32_MAX 1
# | #define HAVE_DECL_INTMAX_MAX 1
# | #define HAVE_DECL_INTMAX_MIN 1
# | #define HAVE_DECL_UINTMAX_MAX 1
# | #define HAVE_DECL_SSIZE_MAX 1
# | #define HAVE_EILSEQ 1
# | #define HAVE_WCHAR_T 1
# | #define SIZEOF_WCHAR_T 4
# | #define TIME_WITH_SYS_TIME 1
# | #define HAVE_FSEEKO 1
# | #define LSTAT_FOLLOWS_SLASHED_SYMLINK 1
# | #define HAVE_DECL_STRERROR_R 1
# | #define HAVE_STRERROR_R 1
# | #define STRERROR_R_CHAR_P 1
# | #define HAVE_STRFTIME 1
# | #define HAVE_VPRINTF 1
# | #define HAVE_CHOWN 1
# | #define HAVE_CHROOT 1
# | #define HAVE_CTIME_R 1
# | #define HAVE_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_FUTIMES 1
# | #define HAVE_FUTIMESAT 1
# | #define HAVE_GETEUID 1
# | #define HAVE_GETPID 1
# | #define HAVE_GETGRGID_R 1
# | #define HAVE_GETGRNAM_R 1
# | #define HAVE_GETPWNAM_R 1
# | #define HAVE_GETPWUID_R 1
# | #define HAVE_GMTIME_R 1
# | #define HAVE_LCHOWN 1
# | #define HAVE_LINK 1
# | #define HAVE_LOCALTIME_R 1
# | #define HAVE_LSTAT 1
# | #define HAVE_LUTIMES 1
# | #define HAVE_MBRTOWC 1
# | #define HAVE_MEMMOVE 1
# | #define HAVE_MEMSET 1
# | #define HAVE_MKDIR 1
# | #define HAVE_MKFIFO 1
# | #define HAVE_MKNOD 1
# | #define HAVE_MKSTEMP 1
# | #define HAVE_NL_LANGINFO 1
# | #define HAVE_OPENAT 1
# | #define HAVE_PIPE 1
# | #define HAVE_POLL 1
# | #define HAVE_POSIX_SPAWNP 1
# | #define HAVE_READLINK 1
# | #define HAVE_READLINKAT 1
# | #define HAVE_SELECT 1
# | #define HAVE_SETENV 1
# | #define HAVE_SETLOCALE 1
# | #define HAVE_SIGACTION 1
# | #define HAVE_STATFS 1
# | #define HAVE_STATVFS 1
# | #define HAVE_STRCHR 1
# | #define HAVE_STRDUP 1
# | #define HAVE_STRERROR 1
# | #define HAVE_STRRCHR 1
# | #define HAVE_SYMLINK 1
# | #define HAVE_TIMEGM 1
# | #define HAVE_TZSET 1
# | #define HAVE_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_ATTR_XATTR_H 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: clang -o conftest -Wall -Wformat -Wformat-security conftest.c -lexpat -llzo2 -llzma -llz4 -lbz2 -lz >&5
# /tmp/conftest-160a52.o: In function `main':
# conftest.c:(.text+0x12): undefined reference to `flistea'
# clang-3.8: error: linker command failed with exit code 1 (use -v to see invocation)
# 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_EXT2FS_EXT2_FS_H 1
# | #define HAVE_FCNTL_H 1
# | #define HAVE_GRP_H 1
# | #define HAVE_WORKING_EXT2_IOC_GETFLAGS 1
# | #define HAVE_INTTYPES_H 1
# | #define HAVE_LANGINFO_H 1
# | #define HAVE_LIMITS_H 1
# | #define HAVE_LINUX_FIEMAP_H 1
# | #define HAVE_LINUX_FS_H 1
# | #define HAVE_LINUX_MAGIC_H 1
# | #define HAVE_LINUX_TYPES_H 1
# | #define HAVE_LOCALE_H 1
# | #define HAVE_PATHS_H 1
# | #define HAVE_POLL_H 1
# | #define HAVE_PTHREAD_H 1
# | #define HAVE_PWD_H 1
# | #define HAVE_SIGNAL_H 1
# | #define HAVE_SPAWN_H 1
# | #define HAVE_STDARG_H 1
# | #define HAVE_STDINT_H 1
# | #define HAVE_STDLIB_H 1
# | #define HAVE_STRING_H 1
# | #define HAVE_SYS_CDEFS_H 1
# | #define HAVE_SYS_IOCTL_H 1
# | #define HAVE_SYS_MOUNT_H 1
# | #define HAVE_SYS_PARAM_H 1
# | #define HAVE_SYS_POLL_H 1
# | #define HAVE_SYS_SELECT_H 1
# | #define HAVE_SYS_STATFS_H 1
# | #define HAVE_SYS_STATVFS_H 1
# | #define HAVE_SYS_TIME_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_BZLIB_H 1
# | #define HAVE_LIBBZ2 1
# | #define HAVE_ICONV 1
# | #define ICONV_CONST
# | #define HAVE_ICONV_H 1
# | #define HAVE_LZ4_H 1
# | #define HAVE_LZ4HC_H 1
# | #define HAVE_LIBLZ4 1
# | #define HAVE_LZMA_H 1
# | #define HAVE_LIBLZMA 1
# | #define HAVE_LZMA_STREAM_ENCODER_MT 1
# | #define HAVE_LZO_LZOCONF_H 1
# | #define HAVE_LZO_LZO1X_H 1
# | #define HAVE_LIBLZO2 1
# | #define HAVE_EXPAT_H 1
# | #define HAVE_LIBEXPAT 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 1
# | #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1
# | #define HAVE_STRUCT_STAT_ST_BLKSIZE 1
# | #define HAVE_UINTMAX_T 1
# | #define HAVE_UNSIGNED_LONG_LONG 1
# | #define HAVE_UNSIGNED_LONG_LONG_INT 1
# | #define HAVE_LONG_LONG_INT 1
# | #define HAVE_INTMAX_T 1
# | #define HAVE_UINTMAX_T 1
# | #define HAVE_DECL_SIZE_MAX 1
# | #define HAVE_DECL_INT32_MAX 1
# | #define HAVE_DECL_INT32_MIN 1
# | #define HAVE_DECL_INT64_MAX 1
# | #define HAVE_DECL_INT64_MIN 1
# | #define HAVE_DECL_UINT64_MAX 1
# | #define HAVE_DECL_UINT32_MAX 1
# | #define HAVE_DECL_INTMAX_MAX 1
# | #define HAVE_DECL_INTMAX_MIN 1
# | #define HAVE_DECL_UINTMAX_MAX 1
# | #define HAVE_DECL_SSIZE_MAX 1
# | #define HAVE_EILSEQ 1
# | #define HAVE_WCHAR_T 1
# | #define SIZEOF_WCHAR_T 4
# | #define TIME_WITH_SYS_TIME 1
# | #define HAVE_FSEEKO 1
# | #define LSTAT_FOLLOWS_SLASHED_SYMLINK 1
# | #define HAVE_DECL_STRERROR_R 1
# | #define HAVE_STRERROR_R 1
# | #define STRERROR_R_CHAR_P 1
# | #define HAVE_STRFTIME 1
# | #define HAVE_VPRINTF 1
# | #define HAVE_CHOWN 1
# | #define HAVE_CHROOT 1
# | #define HAVE_CTIME_R 1
# | #define HAVE_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_FUTIMES 1
# | #define HAVE_FUTIMESAT 1
# | #define HAVE_GETEUID 1
# | #define HAVE_GETPID 1
# | #define HAVE_GETGRGID_R 1
# | #define HAVE_GETGRNAM_R 1
# | #define HAVE_GETPWNAM_R 1
# | #define HAVE_GETPWUID_R 1
# | #define HAVE_GMTIME_R 1
# | #define HAVE_LCHOWN 1
# | #define HAVE_LINK 1
# | #define HAVE_LOCALTIME_R 1
# | #define HAVE_LSTAT 1
# | #define HAVE_LUTIMES 1
# | #define HAVE_MBRTOWC 1
# | #define HAVE_MEMMOVE 1
# | #define HAVE_MEMSET 1
# | #define HAVE_MKDIR 1
# | #define HAVE_MKFIFO 1
# | #define HAVE_MKNOD 1
# | #define HAVE_MKSTEMP 1
# | #define HAVE_NL_LANGINFO 1
# | #define HAVE_OPENAT 1
# | #define HAVE_PIPE 1
# | #define HAVE_POLL 1
# | #define HAVE_POSIX_SPAWNP 1
# | #define HAVE_READLINK 1
# | #define HAVE_READLINKAT 1
# | #define HAVE_SELECT 1
# | #define HAVE_SETENV 1
# | #define HAVE_SETLOCALE 1
# | #define HAVE_SIGACTION 1
# | #define HAVE_STATFS 1
# | #define HAVE_STATVFS 1
# | #define HAVE_STRCHR 1
# | #define HAVE_STRDUP 1
# | #define HAVE_STRERROR 1
# | #define HAVE_STRRCHR 1
# | #define HAVE_SYMLINK 1
# | #define HAVE_TIMEGM 1
# | #define HAVE_TZSET 1
# | #define HAVE_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_ATTR_XATTR_H 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: clang -o conftest -Wall -Wformat -Wformat-security conftest.c -lexpat -llzo2 -llzma -llz4 -lbz2 -lz >&5
# /tmp/conftest-f9e6e0.o: In function `main':
# conftest.c:(.text+0x12): undefined reference to `fsetea'
# clang-3.8: error: linker command failed with exit code 1 (use -v to see invocation)
# 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_EXT2FS_EXT2_FS_H 1
# | #define HAVE_FCNTL_H 1
# | #define HAVE_GRP_H 1
# | #define HAVE_WORKING_EXT2_IOC_GETFLAGS 1
# | #define HAVE_INTTYPES_H 1
# | #define HAVE_LANGINFO_H 1
# | #define HAVE_LIMITS_H 1
# | #define HAVE_LINUX_FIEMAP_H 1
# | #define HAVE_LINUX_FS_H 1
# | #define HAVE_LINUX_MAGIC_H 1
# | #define HAVE_LINUX_TYPES_H 1
# | #define HAVE_LOCALE_H 1
# | #define HAVE_PATHS_H 1
# | #define HAVE_POLL_H 1
# | #define HAVE_PTHREAD_H 1
# | #define HAVE_PWD_H 1
# | #define HAVE_SIGNAL_H 1
# | #define HAVE_SPAWN_H 1
# | #define HAVE_STDARG_H 1
# | #define HAVE_STDINT_H 1
# | #define HAVE_STDLIB_H 1
# | #define HAVE_STRING_H 1
# | #define HAVE_SYS_CDEFS_H 1
# | #define HAVE_SYS_IOCTL_H 1
# | #define HAVE_SYS_MOUNT_H 1
# | #define HAVE_SYS_PARAM_H 1
# | #define HAVE_SYS_POLL_H 1
# | #define HAVE_SYS_SELECT_H 1
# | #define HAVE_SYS_STATFS_H 1
# | #define HAVE_SYS_STATVFS_H 1
# | #define HAVE_SYS_TIME_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_BZLIB_H 1
# | #define HAVE_LIBBZ2 1
# | #define HAVE_ICONV 1
# | #define ICONV_CONST
# | #define HAVE_ICONV_H 1
# | #define HAVE_LZ4_H 1
# | #define HAVE_LZ4HC_H 1
# | #define HAVE_LIBLZ4 1
# | #define HAVE_LZMA_H 1
# | #define HAVE_LIBLZMA 1
# | #define HAVE_LZMA_STREAM_ENCODER_MT 1
# | #define HAVE_LZO_LZOCONF_H 1
# | #define HAVE_LZO_LZO1X_H 1
# | #define HAVE_LIBLZO2 1
# | #define HAVE_EXPAT_H 1
# | #define HAVE_LIBEXPAT 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 1
# | #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1
# | #define HAVE_STRUCT_STAT_ST_BLKSIZE 1
# | #define HAVE_UINTMAX_T 1
# | #define HAVE_UNSIGNED_LONG_LONG 1
# | #define HAVE_UNSIGNED_LONG_LONG_INT 1
# | #define HAVE_LONG_LONG_INT 1
# | #define HAVE_INTMAX_T 1
# | #define HAVE_UINTMAX_T 1
# | #define HAVE_DECL_SIZE_MAX 1
# | #define HAVE_DECL_INT32_MAX 1
# | #define HAVE_DECL_INT32_MIN 1
# | #define HAVE_DECL_INT64_MAX 1
# | #define HAVE_DECL_INT64_MIN 1
# | #define HAVE_DECL_UINT64_MAX 1
# | #define HAVE_DECL_UINT32_MAX 1
# | #define HAVE_DECL_INTMAX_MAX 1
# | #define HAVE_DECL_INTMAX_MIN 1
# | #define HAVE_DECL_UINTMAX_MAX 1
# | #define HAVE_DECL_SSIZE_MAX 1
# | #define HAVE_EILSEQ 1
# | #define HAVE_WCHAR_T 1
# | #define SIZEOF_WCHAR_T 4
# | #define TIME_WITH_SYS_TIME 1
# | #define HAVE_FSEEKO 1
# | #define LSTAT_FOLLOWS_SLASHED_SYMLINK 1
# | #define HAVE_DECL_STRERROR_R 1
# | #define HAVE_STRERROR_R 1
# | #define STRERROR_R_CHAR_P 1
# | #define HAVE_STRFTIME 1
# | #define HAVE_VPRINTF 1
# | #define HAVE_CHOWN 1
# | #define HAVE_CHROOT 1
# | #define HAVE_CTIME_R 1
# | #define HAVE_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_FUTIMES 1
# | #define HAVE_FUTIMESAT 1
# | #define HAVE_GETEUID 1
# | #define HAVE_GETPID 1
# | #define HAVE_GETGRGID_R 1
# | #define HAVE_GETGRNAM_R 1
# | #define HAVE_GETPWNAM_R 1
# | #define HAVE_GETPWUID_R 1
# | #define HAVE_GMTIME_R 1
# | #define HAVE_LCHOWN 1
# | #define HAVE_LINK 1
# | #define HAVE_LOCALTIME_R 1
# | #define HAVE_LSTAT 1
# | #define HAVE_LUTIMES 1
# | #define HAVE_MBRTOWC 1
# | #define HAVE_MEMMOVE 1
# | #define HAVE_MEMSET 1
# | #define HAVE_MKDIR 1
# | #define HAVE_MKFIFO 1
# | #define HAVE_MKNOD 1
# | #define HAVE_MKSTEMP 1
# | #define HAVE_NL_LANGINFO 1
# | #define HAVE_OPENAT 1
# | #define HAVE_PIPE 1
# | #define HAVE_POLL 1
# | #define HAVE_POSIX_SPAWNP 1
# | #define HAVE_READLINK 1
# | #define HAVE_READLINKAT 1
# | #define HAVE_SELECT 1
# | #define HAVE_SETENV 1
# | #define HAVE_SETLOCALE 1
# | #define HAVE_SIGACTION 1
# | #define HAVE_STATFS 1
# | #define HAVE_STATVFS 1
# | #define HAVE_STRCHR 1
# | #define HAVE_STRDUP 1
# | #define HAVE_STRERROR 1
# | #define HAVE_STRRCHR 1
# | #define HAVE_SYMLINK 1
# | #define HAVE_TIMEGM 1
# | #define HAVE_TZSET 1
# | #define HAVE_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_ATTR_XATTR_H 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: clang -o conftest -Wall -Wformat -Wformat-security conftest.c -lexpat -llzo2 -llzma -llz4 -lbz2 -lz >&5
# /tmp/conftest-ae3d7f.o: In function `main':
# conftest.c:(.text+0x12): undefined reference to `getea'
# clang-3.8: error: linker command failed with exit code 1 (use -v to see invocation)
# 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_EXT2FS_EXT2_FS_H 1
# | #define HAVE_FCNTL_H 1
# | #define HAVE_GRP_H 1
# | #define HAVE_WORKING_EXT2_IOC_GETFLAGS 1
# | #define HAVE_INTTYPES_H 1
# | #define HAVE_LANGINFO_H 1
# | #define HAVE_LIMITS_H 1
# | #define HAVE_LINUX_FIEMAP_H 1
# | #define HAVE_LINUX_FS_H 1
# | #define HAVE_LINUX_MAGIC_H 1
# | #define HAVE_LINUX_TYPES_H 1
# | #define HAVE_LOCALE_H 1
# | #define HAVE_PATHS_H 1
# | #define HAVE_POLL_H 1
# | #define HAVE_PTHREAD_H 1
# | #define HAVE_PWD_H 1
# | #define HAVE_SIGNAL_H 1
# | #define HAVE_SPAWN_H 1
# | #define HAVE_STDARG_H 1
# | #define HAVE_STDINT_H 1
# | #define HAVE_STDLIB_H 1
# | #define HAVE_STRING_H 1
# | #define HAVE_SYS_CDEFS_H 1
# | #define HAVE_SYS_IOCTL_H 1
# | #define HAVE_SYS_MOUNT_H 1
# | #define HAVE_SYS_PARAM_H 1
# | #define HAVE_SYS_POLL_H 1
# | #define HAVE_SYS_SELECT_H 1
# | #define HAVE_SYS_STATFS_H 1
# | #define HAVE_SYS_STATVFS_H 1
# | #define HAVE_SYS_TIME_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_BZLIB_H 1
# | #define HAVE_LIBBZ2 1
# | #define HAVE_ICONV 1
# | #define ICONV_CONST
# | #define HAVE_ICONV_H 1
# | #define HAVE_LZ4_H 1
# | #define HAVE_LZ4HC_H 1
# | #define HAVE_LIBLZ4 1
# | #define HAVE_LZMA_H 1
# | #define HAVE_LIBLZMA 1
# | #define HAVE_LZMA_STREAM_ENCODER_MT 1
# | #define HAVE_LZO_LZOCONF_H 1
# | #define HAVE_LZO_LZO1X_H 1
# | #define HAVE_LIBLZO2 1
# | #define HAVE_EXPAT_H 1
# | #define HAVE_LIBEXPAT 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 1
# | #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1
# | #define HAVE_STRUCT_STAT_ST_BLKSIZE 1
# | #define HAVE_UINTMAX_T 1
# | #define HAVE_UNSIGNED_LONG_LONG 1
# | #define HAVE_UNSIGNED_LONG_LONG_INT 1
# | #define HAVE_LONG_LONG_INT 1
# | #define HAVE_INTMAX_T 1
# | #define HAVE_UINTMAX_T 1
# | #define HAVE_DECL_SIZE_MAX 1
# | #define HAVE_DECL_INT32_MAX 1
# | #define HAVE_DECL_INT32_MIN 1
# | #define HAVE_DECL_INT64_MAX 1
# | #define HAVE_DECL_INT64_MIN 1
# | #define HAVE_DECL_UINT64_MAX 1
# | #define HAVE_DECL_UINT32_MAX 1
# | #define HAVE_DECL_INTMAX_MAX 1
# | #define HAVE_DECL_INTMAX_MIN 1
# | #define HAVE_DECL_UINTMAX_MAX 1
# | #define HAVE_DECL_SSIZE_MAX 1
# | #define HAVE_EILSEQ 1
# | #define HAVE_WCHAR_T 1
# | #define SIZEOF_WCHAR_T 4
# | #define TIME_WITH_SYS_TIME 1
# | #define HAVE_FSEEKO 1
# | #define LSTAT_FOLLOWS_SLASHED_SYMLINK 1
# | #define HAVE_DECL_STRERROR_R 1
# | #define HAVE_STRERROR_R 1
# | #define STRERROR_R_CHAR_P 1
# | #define HAVE_STRFTIME 1
# | #define HAVE_VPRINTF 1
# | #define HAVE_CHOWN 1
# | #define HAVE_CHROOT 1
# | #define HAVE_CTIME_R 1
# | #define HAVE_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_FUTIMES 1
# | #define HAVE_FUTIMESAT 1
# | #define HAVE_GETEUID 1
# | #define HAVE_GETPID 1
# | #define HAVE_GETGRGID_R 1
# | #define HAVE_GETGRNAM_R 1
# | #define HAVE_GETPWNAM_R 1
# | #define HAVE_GETPWUID_R 1
# | #define HAVE_GMTIME_R 1
# | #define HAVE_LCHOWN 1
# | #define HAVE_LINK 1
# | #define HAVE_LOCALTIME_R 1
# | #define HAVE_LSTAT 1
# | #define HAVE_LUTIMES 1
# | #define HAVE_MBRTOWC 1
# | #define HAVE_MEMMOVE 1
# | #define HAVE_MEMSET 1
# | #define HAVE_MKDIR 1
# | #define HAVE_MKFIFO 1
# | #define HAVE_MKNOD 1
# | #define HAVE_MKSTEMP 1
# | #define HAVE_NL_LANGINFO 1
# | #define HAVE_OPENAT 1
# | #define HAVE_PIPE 1
# | #define HAVE_POLL 1
# | #define HAVE_POSIX_SPAWNP 1
# | #define HAVE_READLINK 1
# | #define HAVE_READLINKAT 1
# | #define HAVE_SELECT 1
# | #define HAVE_SETENV 1
# | #define HAVE_SETLOCALE 1
# | #define HAVE_SIGACTION 1
# | #define HAVE_STATFS 1
# | #define HAVE_STATVFS 1
# | #define HAVE_STRCHR 1
# | #define HAVE_STRDUP 1
# | #define HAVE_STRERROR 1
# | #define HAVE_STRRCHR 1
# | #define HAVE_SYMLINK 1
# | #define HAVE_TIMEGM 1
# | #define HAVE_TZSET 1
# | #define HAVE_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_ATTR_XATTR_H 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: clang -o conftest -Wall -Wformat -Wformat-security conftest.c -lexpat -llzo2 -llzma -llz4 -lbz2 -lz >&5
# /tmp/conftest-29eb90.o: In function `main':
# conftest.c:(.text+0x12): undefined reference to `lgetea'
# clang-3.8: error: linker command failed with exit code 1 (use -v to see invocation)
# 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_EXT2FS_EXT2_FS_H 1
# | #define HAVE_FCNTL_H 1
# | #define HAVE_GRP_H 1
# | #define HAVE_WORKING_EXT2_IOC_GETFLAGS 1
# | #define HAVE_INTTYPES_H 1
# | #define HAVE_LANGINFO_H 1
# | #define HAVE_LIMITS_H 1
# | #define HAVE_LINUX_FIEMAP_H 1
# | #define HAVE_LINUX_FS_H 1
# | #define HAVE_LINUX_MAGIC_H 1
# | #define HAVE_LINUX_TYPES_H 1
# | #define HAVE_LOCALE_H 1
# | #define HAVE_PATHS_H 1
# | #define HAVE_POLL_H 1
# | #define HAVE_PTHREAD_H 1
# | #define HAVE_PWD_H 1
# | #define HAVE_SIGNAL_H 1
# | #define HAVE_SPAWN_H 1
# | #define HAVE_STDARG_H 1
# | #define HAVE_STDINT_H 1
# | #define HAVE_STDLIB_H 1
# | #define HAVE_STRING_H 1
# | #define HAVE_SYS_CDEFS_H 1
# | #define HAVE_SYS_IOCTL_H 1
# | #define HAVE_SYS_MOUNT_H 1
# | #define HAVE_SYS_PARAM_H 1
# | #define HAVE_SYS_POLL_H 1
# | #define HAVE_SYS_SELECT_H 1
# | #define HAVE_SYS_STATFS_H 1
# | #define HAVE_SYS_STATVFS_H 1
# | #define HAVE_SYS_TIME_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_BZLIB_H 1
# | #define HAVE_LIBBZ2 1
# | #define HAVE_ICONV 1
# | #define ICONV_CONST
# | #define HAVE_ICONV_H 1
# | #define HAVE_LZ4_H 1
# | #define HAVE_LZ4HC_H 1
# | #define HAVE_LIBLZ4 1
# | #define HAVE_LZMA_H 1
# | #define HAVE_LIBLZMA 1
# | #define HAVE_LZMA_STREAM_ENCODER_MT 1
# | #define HAVE_LZO_LZOCONF_H 1
# | #define HAVE_LZO_LZO1X_H 1
# | #define HAVE_LIBLZO2 1
# | #define HAVE_EXPAT_H 1
# | #define HAVE_LIBEXPAT 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 1
# | #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1
# | #define HAVE_STRUCT_STAT_ST_BLKSIZE 1
# | #define HAVE_UINTMAX_T 1
# | #define HAVE_UNSIGNED_LONG_LONG 1
# | #define HAVE_UNSIGNED_LONG_LONG_INT 1
# | #define HAVE_LONG_LONG_INT 1
# | #define HAVE_INTMAX_T 1
# | #define HAVE_UINTMAX_T 1
# | #define HAVE_DECL_SIZE_MAX 1
# | #define HAVE_DECL_INT32_MAX 1
# | #define HAVE_DECL_INT32_MIN 1
# | #define HAVE_DECL_INT64_MAX 1
# | #define HAVE_DECL_INT64_MIN 1
# | #define HAVE_DECL_UINT64_MAX 1
# | #define HAVE_DECL_UINT32_MAX 1
# | #define HAVE_DECL_INTMAX_MAX 1
# | #define HAVE_DECL_INTMAX_MIN 1
# | #define HAVE_DECL_UINTMAX_MAX 1
# | #define HAVE_DECL_SSIZE_MAX 1
# | #define HAVE_EILSEQ 1
# | #define HAVE_WCHAR_T 1
# | #define SIZEOF_WCHAR_T 4
# | #define TIME_WITH_SYS_TIME 1
# | #define HAVE_FSEEKO 1
# | #define LSTAT_FOLLOWS_SLASHED_SYMLINK 1
# | #define HAVE_DECL_STRERROR_R 1
# | #define HAVE_STRERROR_R 1
# | #define STRERROR_R_CHAR_P 1
# | #define HAVE_STRFTIME 1
# | #define HAVE_VPRINTF 1
# | #define HAVE_CHOWN 1
# | #define HAVE_CHROOT 1
# | #define HAVE_CTIME_R 1
# | #define HAVE_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_FUTIMES 1
# | #define HAVE_FUTIMESAT 1
# | #define HAVE_GETEUID 1
# | #define HAVE_GETPID 1
# | #define HAVE_GETGRGID_R 1
# | #define HAVE_GETGRNAM_R 1
# | #define HAVE_GETPWNAM_R 1
# | #define HAVE_GETPWUID_R 1
# | #define HAVE_GMTIME_R 1
# | #define HAVE_LCHOWN 1
# | #define HAVE_LINK 1
# | #define HAVE_LOCALTIME_R 1
# | #define HAVE_LSTAT 1
# | #define HAVE_LUTIMES 1
# | #define HAVE_MBRTOWC 1
# | #define HAVE_MEMMOVE 1
# | #define HAVE_MEMSET 1
# | #define HAVE_MKDIR 1
# | #define HAVE_MKFIFO 1
# | #define HAVE_MKNOD 1
# | #define HAVE_MKSTEMP 1
# | #define HAVE_NL_LANGINFO 1
# | #define HAVE_OPENAT 1
# | #define HAVE_PIPE 1
# | #define HAVE_POLL 1
# | #define HAVE_POSIX_SPAWNP 1
# | #define HAVE_READLINK 1
# | #define HAVE_READLINKAT 1
# | #define HAVE_SELECT 1
# | #define HAVE_SETENV 1
# | #define HAVE_SETLOCALE 1
# | #define HAVE_SIGACTION 1
# | #define HAVE_STATFS 1
# | #define HAVE_STATVFS 1
# | #define HAVE_STRCHR 1
# | #define HAVE_STRDUP 1
# | #define HAVE_STRERROR 1
# | #define HAVE_STRRCHR 1
# | #define HAVE_SYMLINK 1
# | #define HAVE_TIMEGM 1
# | #define HAVE_TZSET 1
# | #define HAVE_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_ATTR_XATTR_H 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: clang -o conftest -Wall -Wformat -Wformat-security conftest.c -lexpat -llzo2 -llzma -llz4 -lbz2 -lz >&5
# /tmp/conftest-5101f1.o: In function `main':
# conftest.c:(.text+0x12): undefined reference to `listea'
# clang-3.8: error: linker command failed with exit code 1 (use -v to see invocation)
# 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_EXT2FS_EXT2_FS_H 1
# | #define HAVE_FCNTL_H 1
# | #define HAVE_GRP_H 1
# | #define HAVE_WORKING_EXT2_IOC_GETFLAGS 1
# | #define HAVE_INTTYPES_H 1
# | #define HAVE_LANGINFO_H 1
# | #define HAVE_LIMITS_H 1
# | #define HAVE_LINUX_FIEMAP_H 1
# | #define HAVE_LINUX_FS_H 1
# | #define HAVE_LINUX_MAGIC_H 1
# | #define HAVE_LINUX_TYPES_H 1
# | #define HAVE_LOCALE_H 1
# | #define HAVE_PATHS_H 1
# | #define HAVE_POLL_H 1
# | #define HAVE_PTHREAD_H 1
# | #define HAVE_PWD_H 1
# | #define HAVE_SIGNAL_H 1
# | #define HAVE_SPAWN_H 1
# | #define HAVE_STDARG_H 1
# | #define HAVE_STDINT_H 1
# | #define HAVE_STDLIB_H 1
# | #define HAVE_STRING_H 1
# | #define HAVE_SYS_CDEFS_H 1
# | #define HAVE_SYS_IOCTL_H 1
# | #define HAVE_SYS_MOUNT_H 1
# | #define HAVE_SYS_PARAM_H 1
# | #define HAVE_SYS_POLL_H 1
# | #define HAVE_SYS_SELECT_H 1
# | #define HAVE_SYS_STATFS_H 1
# | #define HAVE_SYS_STATVFS_H 1
# | #define HAVE_SYS_TIME_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_BZLIB_H 1
# | #define HAVE_LIBBZ2 1
# | #define HAVE_ICONV 1
# | #define ICONV_CONST
# | #define HAVE_ICONV_H 1
# | #define HAVE_LZ4_H 1
# | #define HAVE_LZ4HC_H 1
# | #define HAVE_LIBLZ4 1
# | #define HAVE_LZMA_H 1
# | #define HAVE_LIBLZMA 1
# | #define HAVE_LZMA_STREAM_ENCODER_MT 1
# | #define HAVE_LZO_LZOCONF_H 1
# | #define HAVE_LZO_LZO1X_H 1
# | #define HAVE_LIBLZO2 1
# | #define HAVE_EXPAT_H 1
# | #define HAVE_LIBEXPAT 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 1
# | #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1
# | #define HAVE_STRUCT_STAT_ST_BLKSIZE 1
# | #define HAVE_UINTMAX_T 1
# | #define HAVE_UNSIGNED_LONG_LONG 1
# | #define HAVE_UNSIGNED_LONG_LONG_INT 1
# | #define HAVE_LONG_LONG_INT 1
# | #define HAVE_INTMAX_T 1
# | #define HAVE_UINTMAX_T 1
# | #define HAVE_DECL_SIZE_MAX 1
# | #define HAVE_DECL_INT32_MAX 1
# | #define HAVE_DECL_INT32_MIN 1
# | #define HAVE_DECL_INT64_MAX 1
# | #define HAVE_DECL_INT64_MIN 1
# | #define HAVE_DECL_UINT64_MAX 1
# | #define HAVE_DECL_UINT32_MAX 1
# | #define HAVE_DECL_INTMAX_MAX 1
# | #define HAVE_DECL_INTMAX_MIN 1
# | #define HAVE_DECL_UINTMAX_MAX 1
# | #define HAVE_DECL_SSIZE_MAX 1
# | #define HAVE_EILSEQ 1
# | #define HAVE_WCHAR_T 1
# | #define SIZEOF_WCHAR_T 4
# | #define TIME_WITH_SYS_TIME 1
# | #define HAVE_FSEEKO 1
# | #define LSTAT_FOLLOWS_SLASHED_SYMLINK 1
# | #define HAVE_DECL_STRERROR_R 1
# | #define HAVE_STRERROR_R 1
# | #define STRERROR_R_CHAR_P 1
# | #define HAVE_STRFTIME 1
# | #define HAVE_VPRINTF 1
# | #define HAVE_CHOWN 1
# | #define HAVE_CHROOT 1
# | #define HAVE_CTIME_R 1
# | #define HAVE_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_FUTIMES 1
# | #define HAVE_FUTIMESAT 1
# | #define HAVE_GETEUID 1
# | #define HAVE_GETPID 1
# | #define HAVE_GETGRGID_R 1
# | #define HAVE_GETGRNAM_R 1
# | #define HAVE_GETPWNAM_R 1
# | #define HAVE_GETPWUID_R 1
# | #define HAVE_GMTIME_R 1
# | #define HAVE_LCHOWN 1
# | #define HAVE_LINK 1
# | #define HAVE_LOCALTIME_R 1
# | #define HAVE_LSTAT 1
# | #define HAVE_LUTIMES 1
# | #define HAVE_MBRTOWC 1
# | #define HAVE_MEMMOVE 1
# | #define HAVE_MEMSET 1
# | #define HAVE_MKDIR 1
# | #define HAVE_MKFIFO 1
# | #define HAVE_MKNOD 1
# | #define HAVE_MKSTEMP 1
# | #define HAVE_NL_LANGINFO 1
# | #define HAVE_OPENAT 1
# | #define HAVE_PIPE 1
# | #define HAVE_POLL 1
# | #define HAVE_POSIX_SPAWNP 1
# | #define HAVE_READLINK 1
# | #define HAVE_READLINKAT 1
# | #define HAVE_SELECT 1
# | #define HAVE_SETENV 1
# | #define HAVE_SETLOCALE 1
# | #define HAVE_SIGACTION 1
# | #define HAVE_STATFS 1
# | #define HAVE_STATVFS 1
# | #define HAVE_STRCHR 1
# | #define HAVE_STRDUP 1
# | #define HAVE_STRERROR 1
# | #define HAVE_STRRCHR 1
# | #define HAVE_SYMLINK 1
# | #define HAVE_TIMEGM 1
# | #define HAVE_TZSET 1
# | #define HAVE_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_ATTR_XATTR_H 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: clang -o conftest -Wall -Wformat -Wformat-security conftest.c -lexpat -llzo2 -llzma -llz4 -lbz2 -lz >&5
# /tmp/conftest-af775c.o: In function `main':
# conftest.c:(.text+0x12): undefined reference to `llistea'
# clang-3.8: error: linker command failed with exit code 1 (use -v to see invocation)
# 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_EXT2FS_EXT2_FS_H 1
# | #define HAVE_FCNTL_H 1
# | #define HAVE_GRP_H 1
# | #define HAVE_WORKING_EXT2_IOC_GETFLAGS 1
# | #define HAVE_INTTYPES_H 1
# | #define HAVE_LANGINFO_H 1
# | #define HAVE_LIMITS_H 1
# | #define HAVE_LINUX_FIEMAP_H 1
# | #define HAVE_LINUX_FS_H 1
# | #define HAVE_LINUX_MAGIC_H 1
# | #define HAVE_LINUX_TYPES_H 1
# | #define HAVE_LOCALE_H 1
# | #define HAVE_PATHS_H 1
# | #define HAVE_POLL_H 1
# | #define HAVE_PTHREAD_H 1
# | #define HAVE_PWD_H 1
# | #define HAVE_SIGNAL_H 1
# | #define HAVE_SPAWN_H 1
# | #define HAVE_STDARG_H 1
# | #define HAVE_STDINT_H 1
# | #define HAVE_STDLIB_H 1
# | #define HAVE_STRING_H 1
# | #define HAVE_SYS_CDEFS_H 1
# | #define HAVE_SYS_IOCTL_H 1
# | #define HAVE_SYS_MOUNT_H 1
# | #define HAVE_SYS_PARAM_H 1
# | #define HAVE_SYS_POLL_H 1
# | #define HAVE_SYS_SELECT_H 1
# | #define HAVE_SYS_STATFS_H 1
# | #define HAVE_SYS_STATVFS_H 1
# | #define HAVE_SYS_TIME_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_BZLIB_H 1
# | #define HAVE_LIBBZ2 1
# | #define HAVE_ICONV 1
# | #define ICONV_CONST
# | #define HAVE_ICONV_H 1
# | #define HAVE_LZ4_H 1
# | #define HAVE_LZ4HC_H 1
# | #define HAVE_LIBLZ4 1
# | #define HAVE_LZMA_H 1
# | #define HAVE_LIBLZMA 1
# | #define HAVE_LZMA_STREAM_ENCODER_MT 1
# | #define HAVE_LZO_LZOCONF_H 1
# | #define HAVE_LZO_LZO1X_H 1
# | #define HAVE_LIBLZO2 1
# | #define HAVE_EXPAT_H 1
# | #define HAVE_LIBEXPAT 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 1
# | #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1
# | #define HAVE_STRUCT_STAT_ST_BLKSIZE 1
# | #define HAVE_UINTMAX_T 1
# | #define HAVE_UNSIGNED_LONG_LONG 1
# | #define HAVE_UNSIGNED_LONG_LONG_INT 1
# | #define HAVE_LONG_LONG_INT 1
# | #define HAVE_INTMAX_T 1
# | #define HAVE_UINTMAX_T 1
# | #define HAVE_DECL_SIZE_MAX 1
# | #define HAVE_DECL_INT32_MAX 1
# | #define HAVE_DECL_INT32_MIN 1
# | #define HAVE_DECL_INT64_MAX 1
# | #define HAVE_DECL_INT64_MIN 1
# | #define HAVE_DECL_UINT64_MAX 1
# | #define HAVE_DECL_UINT32_MAX 1
# | #define HAVE_DECL_INTMAX_MAX 1
# | #define HAVE_DECL_INTMAX_MIN 1
# | #define HAVE_DECL_UINTMAX_MAX 1
# | #define HAVE_DECL_SSIZE_MAX 1
# | #define HAVE_EILSEQ 1
# | #define HAVE_WCHAR_T 1
# | #define SIZEOF_WCHAR_T 4
# | #define TIME_WITH_SYS_TIME 1
# | #define HAVE_FSEEKO 1
# | #define LSTAT_FOLLOWS_SLASHED_SYMLINK 1
# | #define HAVE_DECL_STRERROR_R 1
# | #define HAVE_STRERROR_R 1
# | #define STRERROR_R_CHAR_P 1
# | #define HAVE_STRFTIME 1
# | #define HAVE_VPRINTF 1
# | #define HAVE_CHOWN 1
# | #define HAVE_CHROOT 1
# | #define HAVE_CTIME_R 1
# | #define HAVE_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_FUTIMES 1
# | #define HAVE_FUTIMESAT 1
# | #define HAVE_GETEUID 1
# | #define HAVE_GETPID 1
# | #define HAVE_GETGRGID_R 1
# | #define HAVE_GETGRNAM_R 1
# | #define HAVE_GETPWNAM_R 1
# | #define HAVE_GETPWUID_R 1
# | #define HAVE_GMTIME_R 1
# | #define HAVE_LCHOWN 1
# | #define HAVE_LINK 1
# | #define HAVE_LOCALTIME_R 1
# | #define HAVE_LSTAT 1
# | #define HAVE_LUTIMES 1
# | #define HAVE_MBRTOWC 1
# | #define HAVE_MEMMOVE 1
# | #define HAVE_MEMSET 1
# | #define HAVE_MKDIR 1
# | #define HAVE_MKFIFO 1
# | #define HAVE_MKNOD 1
# | #define HAVE_MKSTEMP 1
# | #define HAVE_NL_LANGINFO 1
# | #define HAVE_OPENAT 1
# | #define HAVE_PIPE 1
# | #define HAVE_POLL 1
# | #define HAVE_POSIX_SPAWNP 1
# | #define HAVE_READLINK 1
# | #define HAVE_READLINKAT 1
# | #define HAVE_SELECT 1
# | #define HAVE_SETENV 1
# | #define HAVE_SETLOCALE 1
# | #define HAVE_SIGACTION 1
# | #define HAVE_STATFS 1
# | #define HAVE_STATVFS 1
# | #define HAVE_STRCHR 1
# | #define HAVE_STRDUP 1
# | #define HAVE_STRERROR 1
# | #define HAVE_STRRCHR 1
# | #define HAVE_SYMLINK 1
# | #define HAVE_TIMEGM 1
# | #define HAVE_TZSET 1
# | #define HAVE_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_ATTR_XATTR_H 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: clang -o conftest -Wall -Wformat -Wformat-security conftest.c -lexpat -llzo2 -llzma -llz4 -lbz2 -lz >&5
# /tmp/conftest-bc2dfd.o: In function `main':
# conftest.c:(.text+0x12): undefined reference to `lsetea'
# clang-3.8: error: linker command failed with exit code 1 (use -v to see invocation)
# 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_EXT2FS_EXT2_FS_H 1
# | #define HAVE_FCNTL_H 1
# | #define HAVE_GRP_H 1
# | #define HAVE_WORKING_EXT2_IOC_GETFLAGS 1
# | #define HAVE_INTTYPES_H 1
# | #define HAVE_LANGINFO_H 1
# | #define HAVE_LIMITS_H 1
# | #define HAVE_LINUX_FIEMAP_H 1
# | #define HAVE_LINUX_FS_H 1
# | #define HAVE_LINUX_MAGIC_H 1
# | #define HAVE_LINUX_TYPES_H 1
# | #define HAVE_LOCALE_H 1
# | #define HAVE_PATHS_H 1
# | #define HAVE_POLL_H 1
# | #define HAVE_PTHREAD_H 1
# | #define HAVE_PWD_H 1
# | #define HAVE_SIGNAL_H 1
# | #define HAVE_SPAWN_H 1
# | #define HAVE_STDARG_H 1
# | #define HAVE_STDINT_H 1
# | #define HAVE_STDLIB_H 1
# | #define HAVE_STRING_H 1
# | #define HAVE_SYS_CDEFS_H 1
# | #define HAVE_SYS_IOCTL_H 1
# | #define HAVE_SYS_MOUNT_H 1
# | #define HAVE_SYS_PARAM_H 1
# | #define HAVE_SYS_POLL_H 1
# | #define HAVE_SYS_SELECT_H 1
# | #define HAVE_SYS_STATFS_H 1
# | #define HAVE_SYS_STATVFS_H 1
# | #define HAVE_SYS_TIME_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_BZLIB_H 1
# | #define HAVE_LIBBZ2 1
# | #define HAVE_ICONV 1
# | #define ICONV_CONST
# | #define HAVE_ICONV_H 1
# | #define HAVE_LZ4_H 1
# | #define HAVE_LZ4HC_H 1
# | #define HAVE_LIBLZ4 1
# | #define HAVE_LZMA_H 1
# | #define HAVE_LIBLZMA 1
# | #define HAVE_LZMA_STREAM_ENCODER_MT 1
# | #define HAVE_LZO_LZOCONF_H 1
# | #define HAVE_LZO_LZO1X_H 1
# | #define HAVE_LIBLZO2 1
# | #define HAVE_EXPAT_H 1
# | #define HAVE_LIBEXPAT 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 1
# | #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1
# | #define HAVE_STRUCT_STAT_ST_BLKSIZE 1
# | #define HAVE_UINTMAX_T 1
# | #define HAVE_UNSIGNED_LONG_LONG 1
# | #define HAVE_UNSIGNED_LONG_LONG_INT 1
# | #define HAVE_LONG_LONG_INT 1
# | #define HAVE_INTMAX_T 1
# | #define HAVE_UINTMAX_T 1
# | #define HAVE_DECL_SIZE_MAX 1
# | #define HAVE_DECL_INT32_MAX 1
# | #define HAVE_DECL_INT32_MIN 1
# | #define HAVE_DECL_INT64_MAX 1
# | #define HAVE_DECL_INT64_MIN 1
# | #define HAVE_DECL_UINT64_MAX 1
# | #define HAVE_DECL_UINT32_MAX 1
# | #define HAVE_DECL_INTMAX_MAX 1
# | #define HAVE_DECL_INTMAX_MIN 1
# | #define HAVE_DECL_UINTMAX_MAX 1
# | #define HAVE_DECL_SSIZE_MAX 1
# | #define HAVE_EILSEQ 1
# | #define HAVE_WCHAR_T 1
# | #define SIZEOF_WCHAR_T 4
# | #define TIME_WITH_SYS_TIME 1
# | #define HAVE_FSEEKO 1
# | #define LSTAT_FOLLOWS_SLASHED_SYMLINK 1
# | #define HAVE_DECL_STRERROR_R 1
# | #define HAVE_STRERROR_R 1
# | #define STRERROR_R_CHAR_P 1
# | #define HAVE_STRFTIME 1
# | #define HAVE_VPRINTF 1
# | #define HAVE_CHOWN 1
# | #define HAVE_CHROOT 1
# | #define HAVE_CTIME_R 1
# | #define HAVE_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_FUTIMES 1
# | #define HAVE_FUTIMESAT 1
# | #define HAVE_GETEUID 1
# | #define HAVE_GETPID 1
# | #define HAVE_GETGRGID_R 1
# | #define HAVE_GETGRNAM_R 1
# | #define HAVE_GETPWNAM_R 1
# | #define HAVE_GETPWUID_R 1
# | #define HAVE_GMTIME_R 1
# | #define HAVE_LCHOWN 1
# | #define HAVE_LINK 1
# | #define HAVE_LOCALTIME_R 1
# | #define HAVE_LSTAT 1
# | #define HAVE_LUTIMES 1
# | #define HAVE_MBRTOWC 1
# | #define HAVE_MEMMOVE 1
# | #define HAVE_MEMSET 1
# | #define HAVE_MKDIR 1
# | #define HAVE_MKFIFO 1
# | #define HAVE_MKNOD 1
# | #define HAVE_MKSTEMP 1
# | #define HAVE_NL_LANGINFO 1
# | #define HAVE_OPENAT 1
# | #define HAVE_PIPE 1
# | #define HAVE_POLL 1
# | #define HAVE_POSIX_SPAWNP 1
# | #define HAVE_READLINK 1
# | #define HAVE_READLINKAT 1
# | #define HAVE_SELECT 1
# | #define HAVE_SETENV 1
# | #define HAVE_SETLOCALE 1
# | #define HAVE_SIGACTION 1
# | #define HAVE_STATFS 1
# | #define HAVE_STATVFS 1
# | #define HAVE_STRCHR 1
# | #define HAVE_STRDUP 1
# | #define HAVE_STRERROR 1
# | #define HAVE_STRRCHR 1
# | #define HAVE_SYMLINK 1
# | #define HAVE_TIMEGM 1
# | #define HAVE_TZSET 1
# | #define HAVE_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_ATTR_XATTR_H 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: clang -c -Wall -Wformat -Wformat-security conftest.c >&5
# conftest.c:207:10: fatal error: 'sys/extattr.h' file not found
# #include
# ^
# 1 error generated.
# 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_EXT2FS_EXT2_FS_H 1
# | #define HAVE_FCNTL_H 1
# | #define HAVE_GRP_H 1
# | #define HAVE_WORKING_EXT2_IOC_GETFLAGS 1
# | #define HAVE_INTTYPES_H 1
# | #define HAVE_LANGINFO_H 1
# | #define HAVE_LIMITS_H 1
# | #define HAVE_LINUX_FIEMAP_H 1
# | #define HAVE_LINUX_FS_H 1
# | #define HAVE_LINUX_MAGIC_H 1
# | #define HAVE_LINUX_TYPES_H 1
# | #define HAVE_LOCALE_H 1
# | #define HAVE_PATHS_H 1
# | #define HAVE_POLL_H 1
# | #define HAVE_PTHREAD_H 1
# | #define HAVE_PWD_H 1
# | #define HAVE_SIGNAL_H 1
# | #define HAVE_SPAWN_H 1
# | #define HAVE_STDARG_H 1
# | #define HAVE_STDINT_H 1
# | #define HAVE_STDLIB_H 1
# | #define HAVE_STRING_H 1
# | #define HAVE_SYS_CDEFS_H 1
# | #define HAVE_SYS_IOCTL_H 1
# | #define HAVE_SYS_MOUNT_H 1
# | #define HAVE_SYS_PARAM_H 1
# | #define HAVE_SYS_POLL_H 1
# | #define HAVE_SYS_SELECT_H 1
# | #define HAVE_SYS_STATFS_H 1
# | #define HAVE_SYS_STATVFS_H 1
# | #define HAVE_SYS_TIME_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_BZLIB_H 1
# | #define HAVE_LIBBZ2 1
# | #define HAVE_ICONV 1
# | #define ICONV_CONST
# | #define HAVE_ICONV_H 1
# | #define HAVE_LZ4_H 1
# | #define HAVE_LZ4HC_H 1
# | #define HAVE_LIBLZ4 1
# | #define HAVE_LZMA_H 1
# | #define HAVE_LIBLZMA 1
# | #define HAVE_LZMA_STREAM_ENCODER_MT 1
# | #define HAVE_LZO_LZOCONF_H 1
# | #define HAVE_LZO_LZO1X_H 1
# | #define HAVE_LIBLZO2 1
# | #define HAVE_EXPAT_H 1
# | #define HAVE_LIBEXPAT 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 1
# | #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1
# | #define HAVE_STRUCT_STAT_ST_BLKSIZE 1
# | #define HAVE_UINTMAX_T 1
# | #define HAVE_UNSIGNED_LONG_LONG 1
# | #define HAVE_UNSIGNED_LONG_LONG_INT 1
# | #define HAVE_LONG_LONG_INT 1
# | #define HAVE_INTMAX_T 1
# | #define HAVE_UINTMAX_T 1
# | #define HAVE_DECL_SIZE_MAX 1
# | #define HAVE_DECL_INT32_MAX 1
# | #define HAVE_DECL_INT32_MIN 1
# | #define HAVE_DECL_INT64_MAX 1
# | #define HAVE_DECL_INT64_MIN 1
# | #define HAVE_DECL_UINT64_MAX 1
# | #define HAVE_DECL_UINT32_MAX 1
# | #define HAVE_DECL_INTMAX_MAX 1
# | #define HAVE_DECL_INTMAX_MIN 1
# | #define HAVE_DECL_UINTMAX_MAX 1
# | #define HAVE_DECL_SSIZE_MAX 1
# | #define HAVE_EILSEQ 1
# | #define HAVE_WCHAR_T 1
# | #define SIZEOF_WCHAR_T 4
# | #define TIME_WITH_SYS_TIME 1
# | #define HAVE_FSEEKO 1
# | #define LSTAT_FOLLOWS_SLASHED_SYMLINK 1
# | #define HAVE_DECL_STRERROR_R 1
# | #define HAVE_STRERROR_R 1
# | #define STRERROR_R_CHAR_P 1
# | #define HAVE_STRFTIME 1
# | #define HAVE_VPRINTF 1
# | #define HAVE_CHOWN 1
# | #define HAVE_CHROOT 1
# | #define HAVE_CTIME_R 1
# | #define HAVE_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_FUTIMES 1
# | #define HAVE_FUTIMESAT 1
# | #define HAVE_GETEUID 1
# | #define HAVE_GETPID 1
# | #define HAVE_GETGRGID_R 1
# | #define HAVE_GETGRNAM_R 1
# | #define HAVE_GETPWNAM_R 1
# | #define HAVE_GETPWUID_R 1
# | #define HAVE_GMTIME_R 1
# | #define HAVE_LCHOWN 1
# | #define HAVE_LINK 1
# | #define HAVE_LOCALTIME_R 1
# | #define HAVE_LSTAT 1
# | #define HAVE_LUTIMES 1
# | #define HAVE_MBRTOWC 1
# | #define HAVE_MEMMOVE 1
# | #define HAVE_MEMSET 1
# | #define HAVE_MKDIR 1
# | #define HAVE_MKFIFO 1
# | #define HAVE_MKNOD 1
# | #define HAVE_MKSTEMP 1
# | #define HAVE_NL_LANGINFO 1
# | #define HAVE_OPENAT 1
# | #define HAVE_PIPE 1
# | #define HAVE_POLL 1
# | #define HAVE_POSIX_SPAWNP 1
# | #define HAVE_READLINK 1
# | #define HAVE_READLINKAT 1
# | #define HAVE_SELECT 1
# | #define HAVE_SETENV 1
# | #define HAVE_SETLOCALE 1
# | #define HAVE_SIGACTION 1
# | #define HAVE_STATFS 1
# | #define HAVE_STATVFS 1
# | #define HAVE_STRCHR 1
# | #define HAVE_STRDUP 1
# | #define HAVE_STRERROR 1
# | #define HAVE_STRRCHR 1
# | #define HAVE_SYMLINK 1
# | #define HAVE_TIMEGM 1
# | #define HAVE_TZSET 1
# | #define HAVE_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_ATTR_XATTR_H 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: clang -c -Wall -Wformat -Wformat-security conftest.c >&5
# configure:17491: $? = 0
# configure:17491: result: yes
# configure:17491: checking acl/libacl.h presence
# configure:17491: clang -E conftest.c
# configure:17491: $? = 0
# configure:17491: result: yes
# configure:17491: checking for acl/libacl.h
# configure:17491: result: yes
# configure:17503: checking sys/acl.h usability
# configure:17503: clang -c -Wall -Wformat -Wformat-security conftest.c >&5
# configure:17503: $? = 0
# configure:17503: result: yes
# configure:17503: checking sys/acl.h presence
# configure:17503: clang -E conftest.c
# configure:17503: $? = 0
# configure:17503: result: yes
# configure:17503: checking for sys/acl.h
# configure:17503: result: yes
# configure:17513: checking for acl_get_file in -lacl
# configure:17538: clang -o conftest -Wall -Wformat -Wformat-security conftest.c -lacl -lexpat -llzo2 -llzma -llz4 -lbz2 -lz >&5
# configure:17538: $? = 0
# configure:17547: result: yes
# configure:17561: checking for acl_create_entry
# configure:17561: clang -o conftest -Wall -Wformat -Wformat-security conftest.c -lacl -lexpat -llzo2 -llzma -llz4 -lbz2 -lz >&5
# configure:17561: $? = 0
# configure:17561: result: yes
# configure:17561: checking for acl_init
# configure:17561: clang -o conftest -Wall -Wformat -Wformat-security conftest.c -lacl -lexpat -llzo2 -llzma -llz4 -lbz2 -lz >&5
# configure:17561: $? = 0
# configure:17561: result: yes
# configure:17561: checking for acl_set_fd
# configure:17561: clang -o conftest -Wall -Wformat -Wformat-security conftest.c -lacl -lexpat -llzo2 -llzma -llz4 -lbz2 -lz >&5
# configure:17561: $? = 0
# configure:17561: result: yes
# configure:17561: checking for acl_set_fd_np
# configure:17561: clang -o conftest -Wall -Wformat -Wformat-security conftest.c -lacl -lexpat -llzo2 -llzma -llz4 -lbz2 -lz >&5
# /tmp/conftest-7ea01c.o: In function `main':
# conftest.c:(.text+0x12): undefined reference to `acl_set_fd_np'
# clang-3.8: error: linker command failed with exit code 1 (use -v to see invocation)
# 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_EXT2FS_EXT2_FS_H 1
# | #define HAVE_FCNTL_H 1
# | #define HAVE_GRP_H 1
# | #define HAVE_WORKING_EXT2_IOC_GETFLAGS 1
# | #define HAVE_INTTYPES_H 1
# | #define HAVE_LANGINFO_H 1
# | #define HAVE_LIMITS_H 1
# | #define HAVE_LINUX_FIEMAP_H 1
# | #define HAVE_LINUX_FS_H 1
# | #define HAVE_LINUX_MAGIC_H 1
# | #define HAVE_LINUX_TYPES_H 1
# | #define HAVE_LOCALE_H 1
# | #define HAVE_PATHS_H 1
# | #define HAVE_POLL_H 1
# | #define HAVE_PTHREAD_H 1
# | #define HAVE_PWD_H 1
# | #define HAVE_SIGNAL_H 1
# | #define HAVE_SPAWN_H 1
# | #define HAVE_STDARG_H 1
# | #define HAVE_STDINT_H 1
# | #define HAVE_STDLIB_H 1
# | #define HAVE_STRING_H 1
# | #define HAVE_SYS_CDEFS_H 1
# | #define HAVE_SYS_IOCTL_H 1
# | #define HAVE_SYS_MOUNT_H 1
# | #define HAVE_SYS_PARAM_H 1
# | #define HAVE_SYS_POLL_H 1
# | #define HAVE_SYS_SELECT_H 1
# | #define HAVE_SYS_STATFS_H 1
# | #define HAVE_SYS_STATVFS_H 1
# | #define HAVE_SYS_TIME_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_BZLIB_H 1
# | #define HAVE_LIBBZ2 1
# | #define HAVE_ICONV 1
# | #define ICONV_CONST
# | #define HAVE_ICONV_H 1
# | #define HAVE_LZ4_H 1
# | #define HAVE_LZ4HC_H 1
# | #define HAVE_LIBLZ4 1
# | #define HAVE_LZMA_H 1
# | #define HAVE_LIBLZMA 1
# | #define HAVE_LZMA_STREAM_ENCODER_MT 1
# | #define HAVE_LZO_LZOCONF_H 1
# | #define HAVE_LZO_LZO1X_H 1
# | #define HAVE_LIBLZO2 1
# | #define HAVE_EXPAT_H 1
# | #define HAVE_LIBEXPAT 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 1
# | #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1
# | #define HAVE_STRUCT_STAT_ST_BLKSIZE 1
# | #define HAVE_UINTMAX_T 1
# | #define HAVE_UNSIGNED_LONG_LONG 1
# | #define HAVE_UNSIGNED_LONG_LONG_INT 1
# | #define HAVE_LONG_LONG_INT 1
# | #define HAVE_INTMAX_T 1
# | #define HAVE_UINTMAX_T 1
# | #define HAVE_DECL_SIZE_MAX 1
# | #define HAVE_DECL_INT32_MAX 1
# | #define HAVE_DECL_INT32_MIN 1
# | #define HAVE_DECL_INT64_MAX 1
# | #define HAVE_DECL_INT64_MIN 1
# | #define HAVE_DECL_UINT64_MAX 1
# | #define HAVE_DECL_UINT32_MAX 1
# | #define HAVE_DECL_INTMAX_MAX 1
# | #define HAVE_DECL_INTMAX_MIN 1
# | #define HAVE_DECL_UINTMAX_MAX 1
# | #define HAVE_DECL_SSIZE_MAX 1
# | #define HAVE_EILSEQ 1
# | #define HAVE_WCHAR_T 1
# | #define SIZEOF_WCHAR_T 4
# | #define TIME_WITH_SYS_TIME 1
# | #define HAVE_FSEEKO 1
# | #define LSTAT_FOLLOWS_SLASHED_SYMLINK 1
# | #define HAVE_DECL_STRERROR_R 1
# | #define HAVE_STRERROR_R 1
# | #define STRERROR_R_CHAR_P 1
# | #define HAVE_STRFTIME 1
# | #define HAVE_VPRINTF 1
# | #define HAVE_CHOWN 1
# | #define HAVE_CHROOT 1
# | #define HAVE_CTIME_R 1
# | #define HAVE_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_FUTIMES 1
# | #define HAVE_FUTIMESAT 1
# | #define HAVE_GETEUID 1
# | #define HAVE_GETPID 1
# | #define HAVE_GETGRGID_R 1
# | #define HAVE_GETGRNAM_R 1
# | #define HAVE_GETPWNAM_R 1
# | #define HAVE_GETPWUID_R 1
# | #define HAVE_GMTIME_R 1
# | #define HAVE_LCHOWN 1
# | #define HAVE_LINK 1
# | #define HAVE_LOCALTIME_R 1
# | #define HAVE_LSTAT 1
# | #define HAVE_LUTIMES 1
# | #define HAVE_MBRTOWC 1
# | #define HAVE_MEMMOVE 1
# | #define HAVE_MEMSET 1
# | #define HAVE_MKDIR 1
# | #define HAVE_MKFIFO 1
# | #define HAVE_MKNOD 1
# | #define HAVE_MKSTEMP 1
# | #define HAVE_NL_LANGINFO 1
# | #define HAVE_OPENAT 1
# | #define HAVE_PIPE 1
# | #define HAVE_POLL 1
# | #define HAVE_POSIX_SPAWNP 1
# | #define HAVE_READLINK 1
# | #define HAVE_READLINKAT 1
# | #define HAVE_SELECT 1
# | #define HAVE_SETENV 1
# | #define HAVE_SETLOCALE 1
# | #define HAVE_SIGACTION 1
# | #define HAVE_STATFS 1
# | #define HAVE_STATVFS 1
# | #define HAVE_STRCHR 1
# | #define HAVE_STRDUP 1
# | #define HAVE_STRERROR 1
# | #define HAVE_STRRCHR 1
# | #define HAVE_SYMLINK 1
# | #define HAVE_TIMEGM 1
# | #define HAVE_TZSET 1
# | #define HAVE_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_ATTR_XATTR_H 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
# | #define HAVE_ACL_LIBACL_H 1
# | #define HAVE_SYS_ACL_H 1
# | #define HAVE_LIBACL 1
# | #define HAVE_ACL_CREATE_ENTRY 1
# | #define HAVE_ACL_INIT 1
# | #define HAVE_ACL_SET_FD 1
# | /* 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: clang -o conftest -Wall -Wformat -Wformat-security conftest.c -lacl -lexpat -llzo2 -llzma -llz4 -lbz2 -lz >&5
# configure:17561: $? = 0
# configure:17561: result: yes
# configure:17571: checking for acl_permset_t
# configure:17571: clang -c -Wall -Wformat -Wformat-security conftest.c >&5
# configure:17571: $? = 0
# configure:17571: clang -c -Wall -Wformat -Wformat-security conftest.c >&5
# conftest.c:225:28: error: expected expression
# if (sizeof ((acl_permset_t)))
# ^
# 1 error generated.
# 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_EXT2FS_EXT2_FS_H 1
# | #define HAVE_FCNTL_H 1
# | #define HAVE_GRP_H 1
# | #define HAVE_WORKING_EXT2_IOC_GETFLAGS 1
# | #define HAVE_INTTYPES_H 1
# | #define HAVE_LANGINFO_H 1
# | #define HAVE_LIMITS_H 1
# | #define HAVE_LINUX_FIEMAP_H 1
# | #define HAVE_LINUX_FS_H 1
# | #define HAVE_LINUX_MAGIC_H 1
# | #define HAVE_LINUX_TYPES_H 1
# | #define HAVE_LOCALE_H 1
# | #define HAVE_PATHS_H 1
# | #define HAVE_POLL_H 1
# | #define HAVE_PTHREAD_H 1
# | #define HAVE_PWD_H 1
# | #define HAVE_SIGNAL_H 1
# | #define HAVE_SPAWN_H 1
# | #define HAVE_STDARG_H 1
# | #define HAVE_STDINT_H 1
# | #define HAVE_STDLIB_H 1
# | #define HAVE_STRING_H 1
# | #define HAVE_SYS_CDEFS_H 1
# | #define HAVE_SYS_IOCTL_H 1
# | #define HAVE_SYS_MOUNT_H 1
# | #define HAVE_SYS_PARAM_H 1
# | #define HAVE_SYS_POLL_H 1
# | #define HAVE_SYS_SELECT_H 1
# | #define HAVE_SYS_STATFS_H 1
# | #define HAVE_SYS_STATVFS_H 1
# | #define HAVE_SYS_TIME_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_BZLIB_H 1
# | #define HAVE_LIBBZ2 1
# | #define HAVE_ICONV 1
# | #define ICONV_CONST
# | #define HAVE_ICONV_H 1
# | #define HAVE_LZ4_H 1
# | #define HAVE_LZ4HC_H 1
# | #define HAVE_LIBLZ4 1
# | #define HAVE_LZMA_H 1
# | #define HAVE_LIBLZMA 1
# | #define HAVE_LZMA_STREAM_ENCODER_MT 1
# | #define HAVE_LZO_LZOCONF_H 1
# | #define HAVE_LZO_LZO1X_H 1
# | #define HAVE_LIBLZO2 1
# | #define HAVE_EXPAT_H 1
# | #define HAVE_LIBEXPAT 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 1
# | #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1
# | #define HAVE_STRUCT_STAT_ST_BLKSIZE 1
# | #define HAVE_UINTMAX_T 1
# | #define HAVE_UNSIGNED_LONG_LONG 1
# | #define HAVE_UNSIGNED_LONG_LONG_INT 1
# | #define HAVE_LONG_LONG_INT 1
# | #define HAVE_INTMAX_T 1
# | #define HAVE_UINTMAX_T 1
# | #define HAVE_DECL_SIZE_MAX 1
# | #define HAVE_DECL_INT32_MAX 1
# | #define HAVE_DECL_INT32_MIN 1
# | #define HAVE_DECL_INT64_MAX 1
# | #define HAVE_DECL_INT64_MIN 1
# | #define HAVE_DECL_UINT64_MAX 1
# | #define HAVE_DECL_UINT32_MAX 1
# | #define HAVE_DECL_INTMAX_MAX 1
# | #define HAVE_DECL_INTMAX_MIN 1
# | #define HAVE_DECL_UINTMAX_MAX 1
# | #define HAVE_DECL_SSIZE_MAX 1
# | #define HAVE_EILSEQ 1
# | #define HAVE_WCHAR_T 1
# | #define SIZEOF_WCHAR_T 4
# | #define TIME_WITH_SYS_TIME 1
# | #define HAVE_FSEEKO 1
# | #define LSTAT_FOLLOWS_SLASHED_SYMLINK 1
# | #define HAVE_DECL_STRERROR_R 1
# | #define HAVE_STRERROR_R 1
# | #define STRERROR_R_CHAR_P 1
# | #define HAVE_STRFTIME 1
# | #define HAVE_VPRINTF 1
# | #define HAVE_CHOWN 1
# | #define HAVE_CHROOT 1
# | #define HAVE_CTIME_R 1
# | #define HAVE_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_FUTIMES 1
# | #define HAVE_FUTIMESAT 1
# | #define HAVE_GETEUID 1
# | #define HAVE_GETPID 1
# | #define HAVE_GETGRGID_R 1
# | #define HAVE_GETGRNAM_R 1
# | #define HAVE_GETPWNAM_R 1
# | #define HAVE_GETPWUID_R 1
# | #define HAVE_GMTIME_R 1
# | #define HAVE_LCHOWN 1
# | #define HAVE_LINK 1
# | #define HAVE_LOCALTIME_R 1
# | #define HAVE_LSTAT 1
# | #define HAVE_LUTIMES 1
# | #define HAVE_MBRTOWC 1
# | #define HAVE_MEMMOVE 1
# | #define HAVE_MEMSET 1
# | #define HAVE_MKDIR 1
# | #define HAVE_MKFIFO 1
# | #define HAVE_MKNOD 1
# | #define HAVE_MKSTEMP 1
# | #define HAVE_NL_LANGINFO 1
# | #define HAVE_OPENAT 1
# | #define HAVE_PIPE 1
# | #define HAVE_POLL 1
# | #define HAVE_POSIX_SPAWNP 1
# | #define HAVE_READLINK 1
# | #define HAVE_READLINKAT 1
# | #define HAVE_SELECT 1
# | #define HAVE_SETENV 1
# | #define HAVE_SETLOCALE 1
# | #define HAVE_SIGACTION 1
# | #define HAVE_STATFS 1
# | #define HAVE_STATVFS 1
# | #define HAVE_STRCHR 1
# | #define HAVE_STRDUP 1
# | #define HAVE_STRERROR 1
# | #define HAVE_STRRCHR 1
# | #define HAVE_SYMLINK 1
# | #define HAVE_TIMEGM 1
# | #define HAVE_TZSET 1
# | #define HAVE_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_ATTR_XATTR_H 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
# | #define HAVE_ACL_LIBACL_H 1
# | #define HAVE_SYS_ACL_H 1
# | #define HAVE_LIBACL 1
# | #define HAVE_ACL_CREATE_ENTRY 1
# | #define HAVE_ACL_INIT 1
# | #define HAVE_ACL_SET_FD 1
# | #define HAVE_ACL_SET_FILE 1
# | /* 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: yes
# configure:17597: checking for acl_get_perm_np
# configure:17597: clang -o conftest -Wall -Wformat -Wformat-security conftest.c -lacl -lexpat -llzo2 -llzma -llz4 -lbz2 -lz >&5
# /tmp/conftest-5e0e82.o: In function `main':
# conftest.c:(.text+0x12): undefined reference to `acl_get_perm_np'
# clang-3.8: error: linker command failed with exit code 1 (use -v to see invocation)
# 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_EXT2FS_EXT2_FS_H 1
# | #define HAVE_FCNTL_H 1
# | #define HAVE_GRP_H 1
# | #define HAVE_WORKING_EXT2_IOC_GETFLAGS 1
# | #define HAVE_INTTYPES_H 1
# | #define HAVE_LANGINFO_H 1
# | #define HAVE_LIMITS_H 1
# | #define HAVE_LINUX_FIEMAP_H 1
# | #define HAVE_LINUX_FS_H 1
# | #define HAVE_LINUX_MAGIC_H 1
# | #define HAVE_LINUX_TYPES_H 1
# | #define HAVE_LOCALE_H 1
# | #define HAVE_PATHS_H 1
# | #define HAVE_POLL_H 1
# | #define HAVE_PTHREAD_H 1
# | #define HAVE_PWD_H 1
# | #define HAVE_SIGNAL_H 1
# | #define HAVE_SPAWN_H 1
# | #define HAVE_STDARG_H 1
# | #define HAVE_STDINT_H 1
# | #define HAVE_STDLIB_H 1
# | #define HAVE_STRING_H 1
# | #define HAVE_SYS_CDEFS_H 1
# | #define HAVE_SYS_IOCTL_H 1
# | #define HAVE_SYS_MOUNT_H 1
# | #define HAVE_SYS_PARAM_H 1
# | #define HAVE_SYS_POLL_H 1
# | #define HAVE_SYS_SELECT_H 1
# | #define HAVE_SYS_STATFS_H 1
# | #define HAVE_SYS_STATVFS_H 1
# | #define HAVE_SYS_TIME_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_BZLIB_H 1
# | #define HAVE_LIBBZ2 1
# | #define HAVE_ICONV 1
# | #define ICONV_CONST
# | #define HAVE_ICONV_H 1
# | #define HAVE_LZ4_H 1
# | #define HAVE_LZ4HC_H 1
# | #define HAVE_LIBLZ4 1
# | #define HAVE_LZMA_H 1
# | #define HAVE_LIBLZMA 1
# | #define HAVE_LZMA_STREAM_ENCODER_MT 1
# | #define HAVE_LZO_LZOCONF_H 1
# | #define HAVE_LZO_LZO1X_H 1
# | #define HAVE_LIBLZO2 1
# | #define HAVE_EXPAT_H 1
# | #define HAVE_LIBEXPAT 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 1
# | #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1
# | #define HAVE_STRUCT_STAT_ST_BLKSIZE 1
# | #define HAVE_UINTMAX_T 1
# | #define HAVE_UNSIGNED_LONG_LONG 1
# | #define HAVE_UNSIGNED_LONG_LONG_INT 1
# | #define HAVE_LONG_LONG_INT 1
# | #define HAVE_INTMAX_T 1
# | #define HAVE_UINTMAX_T 1
# | #define HAVE_DECL_SIZE_MAX 1
# | #define HAVE_DECL_INT32_MAX 1
# | #define HAVE_DECL_INT32_MIN 1
# | #define HAVE_DECL_INT64_MAX 1
# | #define HAVE_DECL_INT64_MIN 1
# | #define HAVE_DECL_UINT64_MAX 1
# | #define HAVE_DECL_UINT32_MAX 1
# | #define HAVE_DECL_INTMAX_MAX 1
# | #define HAVE_DECL_INTMAX_MIN 1
# | #define HAVE_DECL_UINTMAX_MAX 1
# | #define HAVE_DECL_SSIZE_MAX 1
# | #define HAVE_EILSEQ 1
# | #define HAVE_WCHAR_T 1
# | #define SIZEOF_WCHAR_T 4
# | #define TIME_WITH_SYS_TIME 1
# | #define HAVE_FSEEKO 1
# | #define LSTAT_FOLLOWS_SLASHED_SYMLINK 1
# | #define HAVE_DECL_STRERROR_R 1
# | #define HAVE_STRERROR_R 1
# | #define STRERROR_R_CHAR_P 1
# | #define HAVE_STRFTIME 1
# | #define HAVE_VPRINTF 1
# | #define HAVE_CHOWN 1
# | #define HAVE_CHROOT 1
# | #define HAVE_CTIME_R 1
# | #define HAVE_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_FUTIMES 1
# | #define HAVE_FUTIMESAT 1
# | #define HAVE_GETEUID 1
# | #define HAVE_GETPID 1
# | #define HAVE_GETGRGID_R 1
# | #define HAVE_GETGRNAM_R 1
# | #define HAVE_GETPWNAM_R 1
# | #define HAVE_GETPWUID_R 1
# | #define HAVE_GMTIME_R 1
# | #define HAVE_LCHOWN 1
# | #define HAVE_LINK 1
# | #define HAVE_LOCALTIME_R 1
# | #define HAVE_LSTAT 1
# | #define HAVE_LUTIMES 1
# | #define HAVE_MBRTOWC 1
# | #define HAVE_MEMMOVE 1
# | #define HAVE_MEMSET 1
# | #define HAVE_MKDIR 1
# | #define HAVE_MKFIFO 1
# | #define HAVE_MKNOD 1
# | #define HAVE_MKSTEMP 1
# | #define HAVE_NL_LANGINFO 1
# | #define HAVE_OPENAT 1
# | #define HAVE_PIPE 1
# | #define HAVE_POLL 1
# | #define HAVE_POSIX_SPAWNP 1
# | #define HAVE_READLINK 1
# | #define HAVE_READLINKAT 1
# | #define HAVE_SELECT 1
# | #define HAVE_SETENV 1
# | #define HAVE_SETLOCALE 1
# | #define HAVE_SIGACTION 1
# | #define HAVE_STATFS 1
# | #define HAVE_STATVFS 1
# | #define HAVE_STRCHR 1
# | #define HAVE_STRDUP 1
# | #define HAVE_STRERROR 1
# | #define HAVE_STRRCHR 1
# | #define HAVE_SYMLINK 1
# | #define HAVE_TIMEGM 1
# | #define HAVE_TZSET 1
# | #define HAVE_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_ATTR_XATTR_H 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
# | #define HAVE_ACL_LIBACL_H 1
# | #define HAVE_SYS_ACL_H 1
# | #define HAVE_LIBACL 1
# | #define HAVE_ACL_CREATE_ENTRY 1
# | #define HAVE_ACL_INIT 1
# | #define HAVE_ACL_SET_FD 1
# | #define HAVE_ACL_SET_FILE 1
# | #define HAVE_ACL_PERMSET_T 1
# | /* 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: clang -o conftest -Wall -Wformat -Wformat-security conftest.c -lacl -lexpat -llzo2 -llzma -llz4 -lbz2 -lz >&5
# configure:17597: $? = 0
# configure:17597: result: yes
# configure:17597: checking for acl_get_link
# configure:17597: clang -o conftest -Wall -Wformat -Wformat-security conftest.c -lacl -lexpat -llzo2 -llzma -llz4 -lbz2 -lz >&5
# /tmp/conftest-e9d05a.o: In function `main':
# conftest.c:(.text+0x12): undefined reference to `acl_get_link'
# clang-3.8: error: linker command failed with exit code 1 (use -v to see invocation)
# 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_EXT2FS_EXT2_FS_H 1
# | #define HAVE_FCNTL_H 1
# | #define HAVE_GRP_H 1
# | #define HAVE_WORKING_EXT2_IOC_GETFLAGS 1
# | #define HAVE_INTTYPES_H 1
# | #define HAVE_LANGINFO_H 1
# | #define HAVE_LIMITS_H 1
# | #define HAVE_LINUX_FIEMAP_H 1
# | #define HAVE_LINUX_FS_H 1
# | #define HAVE_LINUX_MAGIC_H 1
# | #define HAVE_LINUX_TYPES_H 1
# | #define HAVE_LOCALE_H 1
# | #define HAVE_PATHS_H 1
# | #define HAVE_POLL_H 1
# | #define HAVE_PTHREAD_H 1
# | #define HAVE_PWD_H 1
# | #define HAVE_SIGNAL_H 1
# | #define HAVE_SPAWN_H 1
# | #define HAVE_STDARG_H 1
# | #define HAVE_STDINT_H 1
# | #define HAVE_STDLIB_H 1
# | #define HAVE_STRING_H 1
# | #define HAVE_SYS_CDEFS_H 1
# | #define HAVE_SYS_IOCTL_H 1
# | #define HAVE_SYS_MOUNT_H 1
# | #define HAVE_SYS_PARAM_H 1
# | #define HAVE_SYS_POLL_H 1
# | #define HAVE_SYS_SELECT_H 1
# | #define HAVE_SYS_STATFS_H 1
# | #define HAVE_SYS_STATVFS_H 1
# | #define HAVE_SYS_TIME_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_BZLIB_H 1
# | #define HAVE_LIBBZ2 1
# | #define HAVE_ICONV 1
# | #define ICONV_CONST
# | #define HAVE_ICONV_H 1
# | #define HAVE_LZ4_H 1
# | #define HAVE_LZ4HC_H 1
# | #define HAVE_LIBLZ4 1
# | #define HAVE_LZMA_H 1
# | #define HAVE_LIBLZMA 1
# | #define HAVE_LZMA_STREAM_ENCODER_MT 1
# | #define HAVE_LZO_LZOCONF_H 1
# | #define HAVE_LZO_LZO1X_H 1
# | #define HAVE_LIBLZO2 1
# | #define HAVE_EXPAT_H 1
# | #define HAVE_LIBEXPAT 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 1
# | #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1
# | #define HAVE_STRUCT_STAT_ST_BLKSIZE 1
# | #define HAVE_UINTMAX_T 1
# | #define HAVE_UNSIGNED_LONG_LONG 1
# | #define HAVE_UNSIGNED_LONG_LONG_INT 1
# | #define HAVE_LONG_LONG_INT 1
# | #define HAVE_INTMAX_T 1
# | #define HAVE_UINTMAX_T 1
# | #define HAVE_DECL_SIZE_MAX 1
# | #define HAVE_DECL_INT32_MAX 1
# | #define HAVE_DECL_INT32_MIN 1
# | #define HAVE_DECL_INT64_MAX 1
# | #define HAVE_DECL_INT64_MIN 1
# | #define HAVE_DECL_UINT64_MAX 1
# | #define HAVE_DECL_UINT32_MAX 1
# | #define HAVE_DECL_INTMAX_MAX 1
# | #define HAVE_DECL_INTMAX_MIN 1
# | #define HAVE_DECL_UINTMAX_MAX 1
# | #define HAVE_DECL_SSIZE_MAX 1
# | #define HAVE_EILSEQ 1
# | #define HAVE_WCHAR_T 1
# | #define SIZEOF_WCHAR_T 4
# | #define TIME_WITH_SYS_TIME 1
# | #define HAVE_FSEEKO 1
# | #define LSTAT_FOLLOWS_SLASHED_SYMLINK 1
# | #define HAVE_DECL_STRERROR_R 1
# | #define HAVE_STRERROR_R 1
# | #define STRERROR_R_CHAR_P 1
# | #define HAVE_STRFTIME 1
# | #define HAVE_VPRINTF 1
# | #define HAVE_CHOWN 1
# | #define HAVE_CHROOT 1
# | #define HAVE_CTIME_R 1
# | #define HAVE_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_FUTIMES 1
# | #define HAVE_FUTIMESAT 1
# | #define HAVE_GETEUID 1
# | #define HAVE_GETPID 1
# | #define HAVE_GETGRGID_R 1
# | #define HAVE_GETGRNAM_R 1
# | #define HAVE_GETPWNAM_R 1
# | #define HAVE_GETPWUID_R 1
# | #define HAVE_GMTIME_R 1
# | #define HAVE_LCHOWN 1
# | #define HAVE_LINK 1
# | #define HAVE_LOCALTIME_R 1
# | #define HAVE_LSTAT 1
# | #define HAVE_LUTIMES 1
# | #define HAVE_MBRTOWC 1
# | #define HAVE_MEMMOVE 1
# | #define HAVE_MEMSET 1
# | #define HAVE_MKDIR 1
# | #define HAVE_MKFIFO 1
# | #define HAVE_MKNOD 1
# | #define HAVE_MKSTEMP 1
# | #define HAVE_NL_LANGINFO 1
# | #define HAVE_OPENAT 1
# | #define HAVE_PIPE 1
# | #define HAVE_POLL 1
# | #define HAVE_POSIX_SPAWNP 1
# | #define HAVE_READLINK 1
# | #define HAVE_READLINKAT 1
# | #define HAVE_SELECT 1
# | #define HAVE_SETENV 1
# | #define HAVE_SETLOCALE 1
# | #define HAVE_SIGACTION 1
# | #define HAVE_STATFS 1
# | #define HAVE_STATVFS 1
# | #define HAVE_STRCHR 1
# | #define HAVE_STRDUP 1
# | #define HAVE_STRERROR 1
# | #define HAVE_STRRCHR 1
# | #define HAVE_SYMLINK 1
# | #define HAVE_TIMEGM 1
# | #define HAVE_TZSET 1
# | #define HAVE_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_ATTR_XATTR_H 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
# | #define HAVE_ACL_LIBACL_H 1
# | #define HAVE_SYS_ACL_H 1
# | #define HAVE_LIBACL 1
# | #define HAVE_ACL_CREATE_ENTRY 1
# | #define HAVE_ACL_INIT 1
# | #define HAVE_ACL_SET_FD 1
# | #define HAVE_ACL_SET_FILE 1
# | #define HAVE_ACL_PERMSET_T 1
# | #define HAVE_ACL_GET_PERM 1
# | /* 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: clang -o conftest -Wall -Wformat -Wformat-security conftest.c -lacl -lexpat -llzo2 -llzma -llz4 -lbz2 -lz >&5
# /tmp/conftest-fc6283.o: In function `main':
# conftest.c:(.text+0x12): undefined reference to `acl_get_link_np'
# clang-3.8: error: linker command failed with exit code 1 (use -v to see invocation)
# 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_EXT2FS_EXT2_FS_H 1
# | #define HAVE_FCNTL_H 1
# | #define HAVE_GRP_H 1
# | #define HAVE_WORKING_EXT2_IOC_GETFLAGS 1
# | #define HAVE_INTTYPES_H 1
# | #define HAVE_LANGINFO_H 1
# | #define HAVE_LIMITS_H 1
# | #define HAVE_LINUX_FIEMAP_H 1
# | #define HAVE_LINUX_FS_H 1
# | #define HAVE_LINUX_MAGIC_H 1
# | #define HAVE_LINUX_TYPES_H 1
# | #define HAVE_LOCALE_H 1
# | #define HAVE_PATHS_H 1
# | #define HAVE_POLL_H 1
# | #define HAVE_PTHREAD_H 1
# | #define HAVE_PWD_H 1
# | #define HAVE_SIGNAL_H 1
# | #define HAVE_SPAWN_H 1
# | #define HAVE_STDARG_H 1
# | #define HAVE_STDINT_H 1
# | #define HAVE_STDLIB_H 1
# | #define HAVE_STRING_H 1
# | #define HAVE_SYS_CDEFS_H 1
# | #define HAVE_SYS_IOCTL_H 1
# | #define HAVE_SYS_MOUNT_H 1
# | #define HAVE_SYS_PARAM_H 1
# | #define HAVE_SYS_POLL_H 1
# | #define HAVE_SYS_SELECT_H 1
# | #define HAVE_SYS_STATFS_H 1
# | #define HAVE_SYS_STATVFS_H 1
# | #define HAVE_SYS_TIME_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_BZLIB_H 1
# | #define HAVE_LIBBZ2 1
# | #define HAVE_ICONV 1
# | #define ICONV_CONST
# | #define HAVE_ICONV_H 1
# | #define HAVE_LZ4_H 1
# | #define HAVE_LZ4HC_H 1
# | #define HAVE_LIBLZ4 1
# | #define HAVE_LZMA_H 1
# | #define HAVE_LIBLZMA 1
# | #define HAVE_LZMA_STREAM_ENCODER_MT 1
# | #define HAVE_LZO_LZOCONF_H 1
# | #define HAVE_LZO_LZO1X_H 1
# | #define HAVE_LIBLZO2 1
# | #define HAVE_EXPAT_H 1
# | #define HAVE_LIBEXPAT 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 1
# | #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1
# | #define HAVE_STRUCT_STAT_ST_BLKSIZE 1
# | #define HAVE_UINTMAX_T 1
# | #define HAVE_UNSIGNED_LONG_LONG 1
# | #define HAVE_UNSIGNED_LONG_LONG_INT 1
# | #define HAVE_LONG_LONG_INT 1
# | #define HAVE_INTMAX_T 1
# | #define HAVE_UINTMAX_T 1
# | #define HAVE_DECL_SIZE_MAX 1
# | #define HAVE_DECL_INT32_MAX 1
# | #define HAVE_DECL_INT32_MIN 1
# | #define HAVE_DECL_INT64_MAX 1
# | #define HAVE_DECL_INT64_MIN 1
# | #define HAVE_DECL_UINT64_MAX 1
# | #define HAVE_DECL_UINT32_MAX 1
# | #define HAVE_DECL_INTMAX_MAX 1
# | #define HAVE_DECL_INTMAX_MIN 1
# | #define HAVE_DECL_UINTMAX_MAX 1
# | #define HAVE_DECL_SSIZE_MAX 1
# | #define HAVE_EILSEQ 1
# | #define HAVE_WCHAR_T 1
# | #define SIZEOF_WCHAR_T 4
# | #define TIME_WITH_SYS_TIME 1
# | #define HAVE_FSEEKO 1
# | #define LSTAT_FOLLOWS_SLASHED_SYMLINK 1
# | #define HAVE_DECL_STRERROR_R 1
# | #define HAVE_STRERROR_R 1
# | #define STRERROR_R_CHAR_P 1
# | #define HAVE_STRFTIME 1
# | #define HAVE_VPRINTF 1
# | #define HAVE_CHOWN 1
# | #define HAVE_CHROOT 1
# | #define HAVE_CTIME_R 1
# | #define HAVE_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_FUTIMES 1
# | #define HAVE_FUTIMESAT 1
# | #define HAVE_GETEUID 1
# | #define HAVE_GETPID 1
# | #define HAVE_GETGRGID_R 1
# | #define HAVE_GETGRNAM_R 1
# | #define HAVE_GETPWNAM_R 1
# | #define HAVE_GETPWUID_R 1
# | #define HAVE_GMTIME_R 1
# | #define HAVE_LCHOWN 1
# | #define HAVE_LINK 1
# | #define HAVE_LOCALTIME_R 1
# | #define HAVE_LSTAT 1
# | #define HAVE_LUTIMES 1
# | #define HAVE_MBRTOWC 1
# | #define HAVE_MEMMOVE 1
# | #define HAVE_MEMSET 1
# | #define HAVE_MKDIR 1
# | #define HAVE_MKFIFO 1
# | #define HAVE_MKNOD 1
# | #define HAVE_MKSTEMP 1
# | #define HAVE_NL_LANGINFO 1
# | #define HAVE_OPENAT 1
# | #define HAVE_PIPE 1
# | #define HAVE_POLL 1
# | #define HAVE_POSIX_SPAWNP 1
# | #define HAVE_READLINK 1
# | #define HAVE_READLINKAT 1
# | #define HAVE_SELECT 1
# | #define HAVE_SETENV 1
# | #define HAVE_SETLOCALE 1
# | #define HAVE_SIGACTION 1
# | #define HAVE_STATFS 1
# | #define HAVE_STATVFS 1
# | #define HAVE_STRCHR 1
# | #define HAVE_STRDUP 1
# | #define HAVE_STRERROR 1
# | #define HAVE_STRRCHR 1
# | #define HAVE_SYMLINK 1
# | #define HAVE_TIMEGM 1
# | #define HAVE_TZSET 1
# | #define HAVE_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_ATTR_XATTR_H 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
# | #define HAVE_ACL_LIBACL_H 1
# | #define HAVE_SYS_ACL_H 1
# | #define HAVE_LIBACL 1
# | #define HAVE_ACL_CREATE_ENTRY 1
# | #define HAVE_ACL_INIT 1
# | #define HAVE_ACL_SET_FD 1
# | #define HAVE_ACL_SET_FILE 1
# | #define HAVE_ACL_PERMSET_T 1
# | #define HAVE_ACL_GET_PERM 1
# | /* 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: clang -c -Wall -Wformat -Wformat-security conftest.c >&5
# configure:17609: $? = 0
# configure:17609: result: yes
# 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: clang -c -Wall -Wformat -Wformat-security conftest.c >&5
# configure:17703: $? = 0
# configure:17735: result: no
# configure:17834: checking support for ARCHIVE_CRYPTO_MD5_LIBC
# configure:17856: clang -o conftest -Wall -Wformat -Wformat-security -I. -I. -I./libarchive conftest.c -lacl -lexpat -llzo2 -llzma -llz4 -lbz2 -lz >&5
# In file included from conftest.c:252:
# ./libarchive/archive_digest_private.h:61:10: fatal error: 'md5.h' file not found
# #include
# ^
# 1 error generated.
# 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_EXT2FS_EXT2_FS_H 1
# | #define HAVE_FCNTL_H 1
# | #define HAVE_GRP_H 1
# | #define HAVE_WORKING_EXT2_IOC_GETFLAGS 1
# | #define HAVE_INTTYPES_H 1
# | #define HAVE_LANGINFO_H 1
# | #define HAVE_LIMITS_H 1
# | #define HAVE_LINUX_FIEMAP_H 1
# | #define HAVE_LINUX_FS_H 1
# | #define HAVE_LINUX_MAGIC_H 1
# | #define HAVE_LINUX_TYPES_H 1
# | #define HAVE_LOCALE_H 1
# | #define HAVE_PATHS_H 1
# | #define HAVE_POLL_H 1
# | #define HAVE_PTHREAD_H 1
# | #define HAVE_PWD_H 1
# | #define HAVE_SIGNAL_H 1
# | #define HAVE_SPAWN_H 1
# | #define HAVE_STDARG_H 1
# | #define HAVE_STDINT_H 1
# | #define HAVE_STDLIB_H 1
# | #define HAVE_STRING_H 1
# | #define HAVE_SYS_CDEFS_H 1
# | #define HAVE_SYS_IOCTL_H 1
# | #define HAVE_SYS_MOUNT_H 1
# | #define HAVE_SYS_PARAM_H 1
# | #define HAVE_SYS_POLL_H 1
# | #define HAVE_SYS_SELECT_H 1
# | #define HAVE_SYS_STATFS_H 1
# | #define HAVE_SYS_STATVFS_H 1
# | #define HAVE_SYS_TIME_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_BZLIB_H 1
# | #define HAVE_LIBBZ2 1
# | #define HAVE_ICONV 1
# | #define ICONV_CONST
# | #define HAVE_ICONV_H 1
# | #define HAVE_LZ4_H 1
# | #define HAVE_LZ4HC_H 1
# | #define HAVE_LIBLZ4 1
# | #define HAVE_LZMA_H 1
# | #define HAVE_LIBLZMA 1
# | #define HAVE_LZMA_STREAM_ENCODER_MT 1
# | #define HAVE_LZO_LZOCONF_H 1
# | #define HAVE_LZO_LZO1X_H 1
# | #define HAVE_LIBLZO2 1
# | #define HAVE_EXPAT_H 1
# | #define HAVE_LIBEXPAT 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 1
# | #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1
# | #define HAVE_STRUCT_STAT_ST_BLKSIZE 1
# | #define HAVE_UINTMAX_T 1
# | #define HAVE_UNSIGNED_LONG_LONG 1
# | #define HAVE_UNSIGNED_LONG_LONG_INT 1
# | #define HAVE_LONG_LONG_INT 1
# | #define HAVE_INTMAX_T 1
# | #define HAVE_UINTMAX_T 1
# | #define HAVE_DECL_SIZE_MAX 1
# | #define HAVE_DECL_INT32_MAX 1
# | #define HAVE_DECL_INT32_MIN 1
# | #define HAVE_DECL_INT64_MAX 1
# | #define HAVE_DECL_INT64_MIN 1
# | #define HAVE_DECL_UINT64_MAX 1
# | #define HAVE_DECL_UINT32_MAX 1
# | #define HAVE_DECL_INTMAX_MAX 1
# | #define HAVE_DECL_INTMAX_MIN 1
# | #define HAVE_DECL_UINTMAX_MAX 1
# | #define HAVE_DECL_SSIZE_MAX 1
# | #define HAVE_EILSEQ 1
# | #define HAVE_WCHAR_T 1
# | #define SIZEOF_WCHAR_T 4
# | #define TIME_WITH_SYS_TIME 1
# | #define HAVE_FSEEKO 1
# | #define LSTAT_FOLLOWS_SLASHED_SYMLINK 1
# | #define HAVE_DECL_STRERROR_R 1
# | #define HAVE_STRERROR_R 1
# | #define STRERROR_R_CHAR_P 1
# | #define HAVE_STRFTIME 1
# | #define HAVE_VPRINTF 1
# | #define HAVE_CHOWN 1
# | #define HAVE_CHROOT 1
# | #define HAVE_CTIME_R 1
# | #define HAVE_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_FUTIMES 1
# | #define HAVE_FUTIMESAT 1
# | #define HAVE_GETEUID 1
# | #define HAVE_GETPID 1
# | #define HAVE_GETGRGID_R 1
# | #define HAVE_GETGRNAM_R 1
# | #define HAVE_GETPWNAM_R 1
# | #define HAVE_GETPWUID_R 1
# | #define HAVE_GMTIME_R 1
# | #define HAVE_LCHOWN 1
# | #define HAVE_LINK 1
# | #define HAVE_LOCALTIME_R 1
# | #define HAVE_LSTAT 1
# | #define HAVE_LUTIMES 1
# | #define HAVE_MBRTOWC 1
# | #define HAVE_MEMMOVE 1
# | #define HAVE_MEMSET 1
# | #define HAVE_MKDIR 1
# | #define HAVE_MKFIFO 1
# | #define HAVE_MKNOD 1
# | #define HAVE_MKSTEMP 1
# | #define HAVE_NL_LANGINFO 1
# | #define HAVE_OPENAT 1
# | #define HAVE_PIPE 1
# | #define HAVE_POLL 1
# | #define HAVE_POSIX_SPAWNP 1
# | #define HAVE_READLINK 1
# | #define HAVE_READLINKAT 1
# | #define HAVE_SELECT 1
# | #define HAVE_SETENV 1
# | #define HAVE_SETLOCALE 1
# | #define HAVE_SIGACTION 1
# | #define HAVE_STATFS 1
# | #define HAVE_STATVFS 1
# | #define HAVE_STRCHR 1
# | #define HAVE_STRDUP 1
# | #define HAVE_STRERROR 1
# | #define HAVE_STRRCHR 1
# | #define HAVE_SYMLINK 1
# | #define HAVE_TIMEGM 1
# | #define HAVE_TZSET 1
# | #define HAVE_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_ATTR_XATTR_H 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
# | #define HAVE_ACL_LIBACL_H 1
# | #define HAVE_SYS_ACL_H 1
# | #define HAVE_LIBACL 1
# | #define HAVE_ACL_CREATE_ENTRY 1
# | #define HAVE_ACL_INIT 1
# | #define HAVE_ACL_SET_FD 1
# | #define HAVE_ACL_SET_FILE 1
# | #define HAVE_ACL_PERMSET_T 1
# | #define HAVE_ACL_GET_PERM 1
# | #define HAVE_ACL_USER 1
# | /* end confdefs.h. */
# |
# | #define ARCHIVE_MD5_COMPILE_TEST
# | #define ARCHIVE_CRYPTO_MD5_LIBC
# | #define PLATFORM_CONFIG_H "check_crypto_md.h"
# |
# | /*-
# | * Copyright (c) 2003-2007 Tim Kientzle
# | * Copyright (c) 2011 Andres Mejia
# | * Copyright (c) 2011 Michihiro NAKAJIMA
# | * All rights reserved.
# | *
# | * Redistribution and use in source and binary forms, with or without
# | * modification, are permitted provided that the following conditions
# | * are met:
# | * 1. Redistributions of source code must retain the above copyright
# | * notice, this list of conditions and the following disclaimer.
# | * 2. Redistributions in binary form must reproduce the above copyright
# | * notice, this list of conditions and the following disclaimer in the
# | * documentation and/or other materials provided with the distribution.
# | *
# | * THIS SOFTWARE IS PROVIDED BY THE AUTHOR(S) ``AS IS'' AND ANY EXPRESS OR
# | * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
# | * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
# | * IN NO EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY DIRECT, INDIRECT,
# | * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
# | * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
# | * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
# | * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
# | * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
# | */
# |
# | #include "archive_platform.h"
# |
# | #include "archive.h"
# | #include "archive_digest_private.h"
# |
# | /* In particular, force the configure probe to break if it tries
# | * to test a combination of OpenSSL and libmd. */
# | #if defined(ARCHIVE_CRYPTO_OPENSSL) && defined(ARCHIVE_CRYPTO_LIBMD)
# | #error Cannot use both OpenSSL and libmd.
# | #endif
# |
# | /*
# | * Message digest functions for Windows platform.
# | */
# | #if defined(ARCHIVE_CRYPTO_MD5_WIN) ||\
# | defined(ARCHIVE_CRYPTO_SHA1_WIN) ||\
# | defined(ARCHIVE_CRYPTO_SHA256_WIN) ||\
# | defined(ARCHIVE_CRYPTO_SHA384_WIN) ||\
# | defined(ARCHIVE_CRYPTO_SHA512_WIN)
# |
# | /*
# | * Initialize a Message digest.
# | */
# | static int
# | win_crypto_init(Digest_CTX *ctx, ALG_ID algId)
# | {
# |
# | ctx->valid = 0;
# | if (!CryptAcquireContext(&ctx->cryptProv, NULL, NULL,
# | PROV_RSA_FULL, CRYPT_VERIFYCONTEXT)) {
# | if (GetLastError() != (DWORD)NTE_BAD_KEYSET)
# | return (ARCHIVE_FAILED);
# | if (!CryptAcquireContext(&ctx->cryptProv, NULL, NULL,
# | PROV_RSA_FULL, CRYPT_NEWKEYSET))
# | return (ARCHIVE_FAILED);
# | }
# |
# | if (!CryptCreateHash(ctx->cryptProv, algId, 0, 0, &ctx->hash)) {
# | CryptReleaseContext(ctx->cryptProv, 0);
# | return (ARCHIVE_FAILED);
# | }
# |
# | ctx->valid = 1;
# | return (ARCHIVE_OK);
# | }
# |
# | /*
# | * Update a Message digest.
# | */
# | static int
# | win_crypto_Update(Digest_CTX *ctx, const unsigned char *buf, size_t len)
# | {
# |
# | if (!ctx->valid)
# | return (ARCHIVE_FAILED);
# |
# | CryptHashData(ctx->hash,
# | (unsigned char *)(uintptr_t)buf,
# | (DWORD)len, 0);
# | return (ARCHIVE_OK);
# | }
# |
# | static int
# | win_crypto_Final(unsigned char *buf, size_t bufsize, Digest_CTX *ctx)
# | {
# | DWORD siglen = (DWORD)bufsize;
# |
# | if (!ctx->valid)
# | return (ARCHIVE_FAILED);
# |
# | CryptGetHashParam(ctx->hash, HP_HASHVAL, buf, &siglen, 0);
# | CryptDestroyHash(ctx->hash);
# | CryptReleaseContext(ctx->cryptProv, 0);
# | ctx->valid = 0;
# | return (ARCHIVE_OK);
# | }
# |
# | #endif /* defined(ARCHIVE_CRYPTO_*_WIN) */
# |
# |
# | /* MD5 implementations */
# | #if defined(ARCHIVE_CRYPTO_MD5_LIBC)
# |
# | static int
# | __archive_libc_md5init(archive_md5_ctx *ctx)
# | {
# | MD5Init(ctx);
# | return (ARCHIVE_OK);
# | }
# |
# | static int
# | __archive_libc_md5update(archive_md5_ctx *ctx, const void *indata,
# | size_t insize)
# | {
# | MD5Update(ctx, indata, insize);
# | return (ARCHIVE_OK);
# | }
# |
# | static int
# | __archive_libc_md5final(archive_md5_ctx *ctx, void *md)
# | {
# | MD5Final(md, ctx);
# | return (ARCHIVE_OK);
# | }
# |
# | #elif defined(ARCHIVE_CRYPTO_MD5_LIBMD)
# |
# | static int
# | __archive_libmd_md5init(archive_md5_ctx *ctx)
# | {
# | MD5Init(ctx);
# | return (ARCHIVE_OK);
# | }
# |
# | static int
# | __archive_libmd_md5update(archive_md5_ctx *ctx, const void *indata,
# | size_t insize)
# | {
# | MD5Update(ctx, indata, insize);
# | return (ARCHIVE_OK);
# | }
# |
# | static int
# | __archive_libmd_md5final(archive_md5_ctx *ctx, void *md)
# | {
# | MD5Final(md, ctx);
# | return (ARCHIVE_OK);
# | }
# |
# | #elif defined(ARCHIVE_CRYPTO_MD5_LIBSYSTEM)
# |
# | static int
# | __archive_libsystem_md5init(archive_md5_ctx *ctx)
# | {
# | CC_MD5_Init(ctx);
# | return (ARCHIVE_OK);
# | }
# |
# | static int
# | __archive_libsystem_md5update(archive_md5_ctx *ctx, const void *indata,
# | size_t insize)
# | {
# | CC_MD5_Update(ctx, indata, insize);
# | return (ARCHIVE_OK);
# | }
# |
# | static int
# | __archive_libsystem_md5final(archive_md5_ctx *ctx, void *md)
# | {
# | CC_MD5_Final(md, ctx);
# | return (ARCHIVE_OK);
# | }
# |
# | #elif defined(ARCHIVE_CRYPTO_MD5_NETTLE)
# |
# | static int
# | __archive_nettle_md5init(archive_md5_ctx *ctx)
# | {
# | md5_init(ctx);
# | return (ARCHIVE_OK);
# | }
# |
# | static int
# | __archive_nettle_md5update(archive_md5_ctx *ctx, const void *indata,
# | size_t insize)
# | {
# | md5_update(ctx, insize, indata);
# | return (ARCHIVE_OK);
# | }
# |
# | static int
# | __archive_nettle_md5final(archive_md5_ctx *ctx, void *md)
# | {
# | md5_digest(ctx, MD5_DIGEST_SIZE, md);
# | return (ARCHIVE_OK);
# | }
# |
# | #elif defined(ARCHIVE_CRYPTO_MD5_OPENSSL)
# |
# | static int
# | __archive_openssl_md5init(archive_md5_ctx *ctx)
# | {
# | 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: clang -o conftest -Wall -Wformat -Wformat-security -I. -I. -I./libarchive conftest.c -lacl -lexpat -llzo2 -llzma -llz4 -lbz2 -lz >&5
# In file included from conftest.c:252:
# ./libarchive/archive_digest_private.h:112:10: fatal error: 'CommonCrypto/CommonDigest.h' file not found
# #include
# ^
# 1 error generated.
# 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_EXT2FS_EXT2_FS_H 1
# | #define HAVE_FCNTL_H 1
# | #define HAVE_GRP_H 1
# | #define HAVE_WORKING_EXT2_IOC_GETFLAGS 1
# | #define HAVE_INTTYPES_H 1
# | #define HAVE_LANGINFO_H 1
# | #define HAVE_LIMITS_H 1
# | #define HAVE_LINUX_FIEMAP_H 1
# | #define HAVE_LINUX_FS_H 1
# | #define HAVE_LINUX_MAGIC_H 1
# | #define HAVE_LINUX_TYPES_H 1
# | #define HAVE_LOCALE_H 1
# | #define HAVE_PATHS_H 1
# | #define HAVE_POLL_H 1
# | #define HAVE_PTHREAD_H 1
# | #define HAVE_PWD_H 1
# | #define HAVE_SIGNAL_H 1
# | #define HAVE_SPAWN_H 1
# | #define HAVE_STDARG_H 1
# | #define HAVE_STDINT_H 1
# | #define HAVE_STDLIB_H 1
# | #define HAVE_STRING_H 1
# | #define HAVE_SYS_CDEFS_H 1
# | #define HAVE_SYS_IOCTL_H 1
# | #define HAVE_SYS_MOUNT_H 1
# | #define HAVE_SYS_PARAM_H 1
# | #define HAVE_SYS_POLL_H 1
# | #define HAVE_SYS_SELECT_H 1
# | #define HAVE_SYS_STATFS_H 1
# | #define HAVE_SYS_STATVFS_H 1
# | #define HAVE_SYS_TIME_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_BZLIB_H 1
# | #define HAVE_LIBBZ2 1
# | #define HAVE_ICONV 1
# | #define ICONV_CONST
# | #define HAVE_ICONV_H 1
# | #define HAVE_LZ4_H 1
# | #define HAVE_LZ4HC_H 1
# | #define HAVE_LIBLZ4 1
# | #define HAVE_LZMA_H 1
# | #define HAVE_LIBLZMA 1
# | #define HAVE_LZMA_STREAM_ENCODER_MT 1
# | #define HAVE_LZO_LZOCONF_H 1
# | #define HAVE_LZO_LZO1X_H 1
# | #define HAVE_LIBLZO2 1
# | #define HAVE_EXPAT_H 1
# | #define HAVE_LIBEXPAT 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 1
# | #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1
# | #define HAVE_STRUCT_STAT_ST_BLKSIZE 1
# | #define HAVE_UINTMAX_T 1
# | #define HAVE_UNSIGNED_LONG_LONG 1
# | #define HAVE_UNSIGNED_LONG_LONG_INT 1
# | #define HAVE_LONG_LONG_INT 1
# | #define HAVE_INTMAX_T 1
# | #define HAVE_UINTMAX_T 1
# | #define HAVE_DECL_SIZE_MAX 1
# | #define HAVE_DECL_INT32_MAX 1
# | #define HAVE_DECL_INT32_MIN 1
# | #define HAVE_DECL_INT64_MAX 1
# | #define HAVE_DECL_INT64_MIN 1
# | #define HAVE_DECL_UINT64_MAX 1
# | #define HAVE_DECL_UINT32_MAX 1
# | #define HAVE_DECL_INTMAX_MAX 1
# | #define HAVE_DECL_INTMAX_MIN 1
# | #define HAVE_DECL_UINTMAX_MAX 1
# | #define HAVE_DECL_SSIZE_MAX 1
# | #define HAVE_EILSEQ 1
# | #define HAVE_WCHAR_T 1
# | #define SIZEOF_WCHAR_T 4
# | #define TIME_WITH_SYS_TIME 1
# | #define HAVE_FSEEKO 1
# | #define LSTAT_FOLLOWS_SLASHED_SYMLINK 1
# | #define HAVE_DECL_STRERROR_R 1
# | #define HAVE_STRERROR_R 1
# | #define STRERROR_R_CHAR_P 1
# | #define HAVE_STRFTIME 1
# | #define HAVE_VPRINTF 1
# | #define HAVE_CHOWN 1
# | #define HAVE_CHROOT 1
# | #define HAVE_CTIME_R 1
# | #define HAVE_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_FUTIMES 1
# | #define HAVE_FUTIMESAT 1
# | #define HAVE_GETEUID 1
# | #define HAVE_GETPID 1
# | #define HAVE_GETGRGID_R 1
# | #define HAVE_GETGRNAM_R 1
# | #define HAVE_GETPWNAM_R 1
# | #define HAVE_GETPWUID_R 1
# | #define HAVE_GMTIME_R 1
# | #define HAVE_LCHOWN 1
# | #define HAVE_LINK 1
# | #define HAVE_LOCALTIME_R 1
# | #define HAVE_LSTAT 1
# | #define HAVE_LUTIMES 1
# | #define HAVE_MBRTOWC 1
# | #define HAVE_MEMMOVE 1
# | #define HAVE_MEMSET 1
# | #define HAVE_MKDIR 1
# | #define HAVE_MKFIFO 1
# | #define HAVE_MKNOD 1
# | #define HAVE_MKSTEMP 1
# | #define HAVE_NL_LANGINFO 1
# | #define HAVE_OPENAT 1
# | #define HAVE_PIPE 1
# | #define HAVE_POLL 1
# | #define HAVE_POSIX_SPAWNP 1
# | #define HAVE_READLINK 1
# | #define HAVE_READLINKAT 1
# | #define HAVE_SELECT 1
# | #define HAVE_SETENV 1
# | #define HAVE_SETLOCALE 1
# | #define HAVE_SIGACTION 1
# | #define HAVE_STATFS 1
# | #define HAVE_STATVFS 1
# | #define HAVE_STRCHR 1
# | #define HAVE_STRDUP 1
# | #define HAVE_STRERROR 1
# | #define HAVE_STRRCHR 1
# | #define HAVE_SYMLINK 1
# | #define HAVE_TIMEGM 1
# | #define HAVE_TZSET 1
# | #define HAVE_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_ATTR_XATTR_H 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
# | #define HAVE_ACL_LIBACL_H 1
# | #define HAVE_SYS_ACL_H 1
# | #define HAVE_LIBACL 1
# | #define HAVE_ACL_CREATE_ENTRY 1
# | #define HAVE_ACL_INIT 1
# | #define HAVE_ACL_SET_FD 1
# | #define HAVE_ACL_SET_FILE 1
# | #define HAVE_ACL_PERMSET_T 1
# | #define HAVE_ACL_GET_PERM 1
# | #define HAVE_ACL_USER 1
# | /* end confdefs.h. */
# |
# | #define ARCHIVE_MD5_COMPILE_TEST
# | #define ARCHIVE_CRYPTO_MD5_LIBSYSTEM
# | #define PLATFORM_CONFIG_H "check_crypto_md.h"
# |
# | /*-
# | * Copyright (c) 2003-2007 Tim Kientzle
# | * Copyright (c) 2011 Andres Mejia
# | * Copyright (c) 2011 Michihiro NAKAJIMA
# | * All rights reserved.
# | *
# | * Redistribution and use in source and binary forms, with or without
# | * modification, are permitted provided that the following conditions
# | * are met:
# | * 1. Redistributions of source code must retain the above copyright
# | * notice, this list of conditions and the following disclaimer.
# | * 2. Redistributions in binary form must reproduce the above copyright
# | * notice, this list of conditions and the following disclaimer in the
# | * documentation and/or other materials provided with the distribution.
# | *
# | * THIS SOFTWARE IS PROVIDED BY THE AUTHOR(S) ``AS IS'' AND ANY EXPRESS OR
# | * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
# | * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
# | * IN NO EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY DIRECT, INDIRECT,
# | * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
# | * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
# | * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
# | * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
# | * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
# | */
# |
# | #include "archive_platform.h"
# |
# | #include "archive.h"
# | #include "archive_digest_private.h"
# |
# | /* In particular, force the configure probe to break if it tries
# | * to test a combination of OpenSSL and libmd. */
# | #if defined(ARCHIVE_CRYPTO_OPENSSL) && defined(ARCHIVE_CRYPTO_LIBMD)
# | #error Cannot use both OpenSSL and libmd.
# | #endif
# |
# | /*
# | * Message digest functions for Windows platform.
# | */
# | #if defined(ARCHIVE_CRYPTO_MD5_WIN) ||\
# | defined(ARCHIVE_CRYPTO_SHA1_WIN) ||\
# | defined(ARCHIVE_CRYPTO_SHA256_WIN) ||\
# | defined(ARCHIVE_CRYPTO_SHA384_WIN) ||\
# | defined(ARCHIVE_CRYPTO_SHA512_WIN)
# |
# | /*
# | * Initialize a Message digest.
# | */
# | static int
# | win_crypto_init(Digest_CTX *ctx, ALG_ID algId)
# | {
# |
# | ctx->valid = 0;
# | if (!CryptAcquireContext(&ctx->cryptProv, NULL, NULL,
# | PROV_RSA_FULL, CRYPT_VERIFYCONTEXT)) {
# | if (GetLastError() != (DWORD)NTE_BAD_KEYSET)
# | return (ARCHIVE_FAILED);
# | if (!CryptAcquireContext(&ctx->cryptProv, NULL, NULL,
# | PROV_RSA_FULL, CRYPT_NEWKEYSET))
# | return (ARCHIVE_FAILED);
# | }
# |
# | if (!CryptCreateHash(ctx->cryptProv, algId, 0, 0, &ctx->hash)) {
# | CryptReleaseContext(ctx->cryptProv, 0);
# | return (ARCHIVE_FAILED);
# | }
# |
# | ctx->valid = 1;
# | return (ARCHIVE_OK);
# | }
# |
# | /*
# | * Update a Message digest.
# | */
# | static int
# | win_crypto_Update(Digest_CTX *ctx, const unsigned char *buf, size_t len)
# | {
# |
# | if (!ctx->valid)
# | return (ARCHIVE_FAILED);
# |
# | CryptHashData(ctx->hash,
# | (unsigned char *)(uintptr_t)buf,
# | (DWORD)len, 0);
# | return (ARCHIVE_OK);
# | }
# |
# | static int
# | win_crypto_Final(unsigned char *buf, size_t bufsize, Digest_CTX *ctx)
# | {
# | DWORD siglen = (DWORD)bufsize;
# |
# | if (!ctx->valid)
# | return (ARCHIVE_FAILED);
# |
# | CryptGetHashParam(ctx->hash, HP_HASHVAL, buf, &siglen, 0);
# | CryptDestroyHash(ctx->hash);
# | CryptReleaseContext(ctx->cryptProv, 0);
# | ctx->valid = 0;
# | return (ARCHIVE_OK);
# | }
# |
# | #endif /* defined(ARCHIVE_CRYPTO_*_WIN) */
# |
# |
# | /* MD5 implementations */
# | #if defined(ARCHIVE_CRYPTO_MD5_LIBC)
# |
# | static int
# | __archive_libc_md5init(archive_md5_ctx *ctx)
# | {
# | MD5Init(ctx);
# | return (ARCHIVE_OK);
# | }
# |
# | static int
# | __archive_libc_md5update(archive_md5_ctx *ctx, const void *indata,
# | size_t insize)
# | {
# | MD5Update(ctx, indata, insize);
# | return (ARCHIVE_OK);
# | }
# |
# | static int
# | __archive_libc_md5final(archive_md5_ctx *ctx, void *md)
# | {
# | MD5Final(md, ctx);
# | return (ARCHIVE_OK);
# | }
# |
# | #elif defined(ARCHIVE_CRYPTO_MD5_LIBMD)
# |
# | static int
# | __archive_libmd_md5init(archive_md5_ctx *ctx)
# | {
# | MD5Init(ctx);
# | return (ARCHIVE_OK);
# | }
# |
# | static int
# | __archive_libmd_md5update(archive_md5_ctx *ctx, const void *indata,
# | size_t insize)
# | {
# | MD5Update(ctx, indata, insize);
# | return (ARCHIVE_OK);
# | }
# |
# | static int
# | __archive_libmd_md5final(archive_md5_ctx *ctx, void *md)
# | {
# | MD5Final(md, ctx);
# | return (ARCHIVE_OK);
# | }
# |
# | #elif defined(ARCHIVE_CRYPTO_MD5_LIBSYSTEM)
# |
# | static int
# | __archive_libsystem_md5init(archive_md5_ctx *ctx)
# | {
# | CC_MD5_Init(ctx);
# | return (ARCHIVE_OK);
# | }
# |
# | static int
# | __archive_libsystem_md5update(archive_md5_ctx *ctx, const void *indata,
# | size_t insize)
# | {
# | CC_MD5_Update(ctx, indata, insize);
# | return (ARCHIVE_OK);
# | }
# |
# | static int
# | __archive_libsystem_md5final(archive_md5_ctx *ctx, void *md)
# | {
# | CC_MD5_Final(md, ctx);
# | return (ARCHIVE_OK);
# | }
# |
# | #elif defined(ARCHIVE_CRYPTO_MD5_NETTLE)
# |
# | static int
# | __archive_nettle_md5init(archive_md5_ctx *ctx)
# | {
# | md5_init(ctx);
# | return (ARCHIVE_OK);
# | }
# |
# | static int
# | __archive_nettle_md5update(archive_md5_ctx *ctx, const void *indata,
# | size_t insize)
# | {
# | md5_update(ctx, insize, indata);
# | return (ARCHIVE_OK);
# | }
# |
# | static int
# | __archive_nettle_md5final(archive_md5_ctx *ctx, void *md)
# | {
# | md5_digest(ctx, MD5_DIGEST_SIZE, md);
# | return (ARCHIVE_OK);
# | }
# |
# | #elif defined(ARCHIVE_CRYPTO_MD5_OPENSSL)
# |
# | static int
# | __archive_openssl_md5init(archive_md5_ctx *ctx)
# | {
# | 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: clang -o conftest -Wall -Wformat -Wformat-security -I. -I. -I./libarchive conftest.c -lacl -lexpat -llzo2 -llzma -llz4 -lbz2 -lz >&5
# In file included from conftest.c:252:
# ./libarchive/archive_digest_private.h:64:10: fatal error: 'rmd160.h' file not found
# #include
# ^
# 1 error generated.
# 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_EXT2FS_EXT2_FS_H 1
# | #define HAVE_FCNTL_H 1
# | #define HAVE_GRP_H 1
# | #define HAVE_WORKING_EXT2_IOC_GETFLAGS 1
# | #define HAVE_INTTYPES_H 1
# | #define HAVE_LANGINFO_H 1
# | #define HAVE_LIMITS_H 1
# | #define HAVE_LINUX_FIEMAP_H 1
# | #define HAVE_LINUX_FS_H 1
# | #define HAVE_LINUX_MAGIC_H 1
# | #define HAVE_LINUX_TYPES_H 1
# | #define HAVE_LOCALE_H 1
# | #define HAVE_PATHS_H 1
# | #define HAVE_POLL_H 1
# | #define HAVE_PTHREAD_H 1
# | #define HAVE_PWD_H 1
# | #define HAVE_SIGNAL_H 1
# | #define HAVE_SPAWN_H 1
# | #define HAVE_STDARG_H 1
# | #define HAVE_STDINT_H 1
# | #define HAVE_STDLIB_H 1
# | #define HAVE_STRING_H 1
# | #define HAVE_SYS_CDEFS_H 1
# | #define HAVE_SYS_IOCTL_H 1
# | #define HAVE_SYS_MOUNT_H 1
# | #define HAVE_SYS_PARAM_H 1
# | #define HAVE_SYS_POLL_H 1
# | #define HAVE_SYS_SELECT_H 1
# | #define HAVE_SYS_STATFS_H 1
# | #define HAVE_SYS_STATVFS_H 1
# | #define HAVE_SYS_TIME_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_BZLIB_H 1
# | #define HAVE_LIBBZ2 1
# | #define HAVE_ICONV 1
# | #define ICONV_CONST
# | #define HAVE_ICONV_H 1
# | #define HAVE_LZ4_H 1
# | #define HAVE_LZ4HC_H 1
# | #define HAVE_LIBLZ4 1
# | #define HAVE_LZMA_H 1
# | #define HAVE_LIBLZMA 1
# | #define HAVE_LZMA_STREAM_ENCODER_MT 1
# | #define HAVE_LZO_LZOCONF_H 1
# | #define HAVE_LZO_LZO1X_H 1
# | #define HAVE_LIBLZO2 1
# | #define HAVE_EXPAT_H 1
# | #define HAVE_LIBEXPAT 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 1
# | #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1
# | #define HAVE_STRUCT_STAT_ST_BLKSIZE 1
# | #define HAVE_UINTMAX_T 1
# | #define HAVE_UNSIGNED_LONG_LONG 1
# | #define HAVE_UNSIGNED_LONG_LONG_INT 1
# | #define HAVE_LONG_LONG_INT 1
# | #define HAVE_INTMAX_T 1
# | #define HAVE_UINTMAX_T 1
# | #define HAVE_DECL_SIZE_MAX 1
# | #define HAVE_DECL_INT32_MAX 1
# | #define HAVE_DECL_INT32_MIN 1
# | #define HAVE_DECL_INT64_MAX 1
# | #define HAVE_DECL_INT64_MIN 1
# | #define HAVE_DECL_UINT64_MAX 1
# | #define HAVE_DECL_UINT32_MAX 1
# | #define HAVE_DECL_INTMAX_MAX 1
# | #define HAVE_DECL_INTMAX_MIN 1
# | #define HAVE_DECL_UINTMAX_MAX 1
# | #define HAVE_DECL_SSIZE_MAX 1
# | #define HAVE_EILSEQ 1
# | #define HAVE_WCHAR_T 1
# | #define SIZEOF_WCHAR_T 4
# | #define TIME_WITH_SYS_TIME 1
# | #define HAVE_FSEEKO 1
# | #define LSTAT_FOLLOWS_SLASHED_SYMLINK 1
# | #define HAVE_DECL_STRERROR_R 1
# | #define HAVE_STRERROR_R 1
# | #define STRERROR_R_CHAR_P 1
# | #define HAVE_STRFTIME 1
# | #define HAVE_VPRINTF 1
# | #define HAVE_CHOWN 1
# | #define HAVE_CHROOT 1
# | #define HAVE_CTIME_R 1
# | #define HAVE_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_FUTIMES 1
# | #define HAVE_FUTIMESAT 1
# | #define HAVE_GETEUID 1
# | #define HAVE_GETPID 1
# | #define HAVE_GETGRGID_R 1
# | #define HAVE_GETGRNAM_R 1
# | #define HAVE_GETPWNAM_R 1
# | #define HAVE_GETPWUID_R 1
# | #define HAVE_GMTIME_R 1
# | #define HAVE_LCHOWN 1
# | #define HAVE_LINK 1
# | #define HAVE_LOCALTIME_R 1
# | #define HAVE_LSTAT 1
# | #define HAVE_LUTIMES 1
# | #define HAVE_MBRTOWC 1
# | #define HAVE_MEMMOVE 1
# | #define HAVE_MEMSET 1
# | #define HAVE_MKDIR 1
# | #define HAVE_MKFIFO 1
# | #define HAVE_MKNOD 1
# | #define HAVE_MKSTEMP 1
# | #define HAVE_NL_LANGINFO 1
# | #define HAVE_OPENAT 1
# | #define HAVE_PIPE 1
# | #define HAVE_POLL 1
# | #define HAVE_POSIX_SPAWNP 1
# | #define HAVE_READLINK 1
# | #define HAVE_READLINKAT 1
# | #define HAVE_SELECT 1
# | #define HAVE_SETENV 1
# | #define HAVE_SETLOCALE 1
# | #define HAVE_SIGACTION 1
# | #define HAVE_STATFS 1
# | #define HAVE_STATVFS 1
# | #define HAVE_STRCHR 1
# | #define HAVE_STRDUP 1
# | #define HAVE_STRERROR 1
# | #define HAVE_STRRCHR 1
# | #define HAVE_SYMLINK 1
# | #define HAVE_TIMEGM 1
# | #define HAVE_TZSET 1
# | #define HAVE_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_ATTR_XATTR_H 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
# | #define HAVE_ACL_LIBACL_H 1
# | #define HAVE_SYS_ACL_H 1
# | #define HAVE_LIBACL 1
# | #define HAVE_ACL_CREATE_ENTRY 1
# | #define HAVE_ACL_INIT 1
# | #define HAVE_ACL_SET_FD 1
# | #define HAVE_ACL_SET_FILE 1
# | #define HAVE_ACL_PERMSET_T 1
# | #define HAVE_ACL_GET_PERM 1
# | #define HAVE_ACL_USER 1
# | /* end confdefs.h. */
# |
# | #define ARCHIVE_RMD160_COMPILE_TEST
# | #define ARCHIVE_CRYPTO_RMD160_LIBC
# | #define PLATFORM_CONFIG_H "check_crypto_md.h"
# |
# | /*-
# | * Copyright (c) 2003-2007 Tim Kientzle
# | * Copyright (c) 2011 Andres Mejia
# | * Copyright (c) 2011 Michihiro NAKAJIMA
# | * All rights reserved.
# | *
# | * Redistribution and use in source and binary forms, with or without
# | * modification, are permitted provided that the following conditions
# | * are met:
# | * 1. Redistributions of source code must retain the above copyright
# | * notice, this list of conditions and the following disclaimer.
# | * 2. Redistributions in binary form must reproduce the above copyright
# | * notice, this list of conditions and the following disclaimer in the
# | * documentation and/or other materials provided with the distribution.
# | *
# | * THIS SOFTWARE IS PROVIDED BY THE AUTHOR(S) ``AS IS'' AND ANY EXPRESS OR
# | * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
# | * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
# | * IN NO EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY DIRECT, INDIRECT,
# | * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
# | * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
# | * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
# | * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
# | * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
# | */
# |
# | #include "archive_platform.h"
# |
# | #include "archive.h"
# | #include "archive_digest_private.h"
# |
# | /* In particular, force the configure probe to break if it tries
# | * to test a combination of OpenSSL and libmd. */
# | #if defined(ARCHIVE_CRYPTO_OPENSSL) && defined(ARCHIVE_CRYPTO_LIBMD)
# | #error Cannot use both OpenSSL and libmd.
# | #endif
# |
# | /*
# | * Message digest functions for Windows platform.
# | */
# | #if defined(ARCHIVE_CRYPTO_MD5_WIN) ||\
# | defined(ARCHIVE_CRYPTO_SHA1_WIN) ||\
# | defined(ARCHIVE_CRYPTO_SHA256_WIN) ||\
# | defined(ARCHIVE_CRYPTO_SHA384_WIN) ||\
# | defined(ARCHIVE_CRYPTO_SHA512_WIN)
# |
# | /*
# | * Initialize a Message digest.
# | */
# | static int
# | win_crypto_init(Digest_CTX *ctx, ALG_ID algId)
# | {
# |
# | ctx->valid = 0;
# | if (!CryptAcquireContext(&ctx->cryptProv, NULL, NULL,
# | PROV_RSA_FULL, CRYPT_VERIFYCONTEXT)) {
# | if (GetLastError() != (DWORD)NTE_BAD_KEYSET)
# | return (ARCHIVE_FAILED);
# | if (!CryptAcquireContext(&ctx->cryptProv, NULL, NULL,
# | PROV_RSA_FULL, CRYPT_NEWKEYSET))
# | return (ARCHIVE_FAILED);
# | }
# |
# | if (!CryptCreateHash(ctx->cryptProv, algId, 0, 0, &ctx->hash)) {
# | CryptReleaseContext(ctx->cryptProv, 0);
# | return (ARCHIVE_FAILED);
# | }
# |
# | ctx->valid = 1;
# | return (ARCHIVE_OK);
# | }
# |
# | /*
# | * Update a Message digest.
# | */
# | static int
# | win_crypto_Update(Digest_CTX *ctx, const unsigned char *buf, size_t len)
# | {
# |
# | if (!ctx->valid)
# | return (ARCHIVE_FAILED);
# |
# | CryptHashData(ctx->hash,
# | (unsigned char *)(uintptr_t)buf,
# | (DWORD)len, 0);
# | return (ARCHIVE_OK);
# | }
# |
# | static int
# | win_crypto_Final(unsigned char *buf, size_t bufsize, Digest_CTX *ctx)
# | {
# | DWORD siglen = (DWORD)bufsize;
# |
# | if (!ctx->valid)
# | return (ARCHIVE_FAILED);
# |
# | CryptGetHashParam(ctx->hash, HP_HASHVAL, buf, &siglen, 0);
# | CryptDestroyHash(ctx->hash);
# | CryptReleaseContext(ctx->cryptProv, 0);
# | ctx->valid = 0;
# | return (ARCHIVE_OK);
# | }
# |
# | #endif /* defined(ARCHIVE_CRYPTO_*_WIN) */
# |
# |
# | /* MD5 implementations */
# | #if defined(ARCHIVE_CRYPTO_MD5_LIBC)
# |
# | static int
# | __archive_libc_md5init(archive_md5_ctx *ctx)
# | {
# | MD5Init(ctx);
# | return (ARCHIVE_OK);
# | }
# |
# | static int
# | __archive_libc_md5update(archive_md5_ctx *ctx, const void *indata,
# | size_t insize)
# | {
# | MD5Update(ctx, indata, insize);
# | return (ARCHIVE_OK);
# | }
# |
# | static int
# | __archive_libc_md5final(archive_md5_ctx *ctx, void *md)
# | {
# | MD5Final(md, ctx);
# | return (ARCHIVE_OK);
# | }
# |
# | #elif defined(ARCHIVE_CRYPTO_MD5_LIBMD)
# |
# | static int
# | __archive_libmd_md5init(archive_md5_ctx *ctx)
# | {
# | MD5Init(ctx);
# | return (ARCHIVE_OK);
# | }
# |
# | static int
# | __archive_libmd_md5update(archive_md5_ctx *ctx, const void *indata,
# | size_t insize)
# | {
# | MD5Update(ctx, indata, insize);
# | return (ARCHIVE_OK);
# | }
# |
# | static int
# | __archive_libmd_md5final(archive_md5_ctx *ctx, void *md)
# | {
# | MD5Final(md, ctx);
# | return (ARCHIVE_OK);
# | }
# |
# | #elif defined(ARCHIVE_CRYPTO_MD5_LIBSYSTEM)
# |
# | static int
# | __archive_libsystem_md5init(archive_md5_ctx *ctx)
# | {
# | CC_MD5_Init(ctx);
# | return (ARCHIVE_OK);
# | }
# |
# | static int
# | __archive_libsystem_md5update(archive_md5_ctx *ctx, const void *indata,
# | size_t insize)
# | {
# | CC_MD5_Update(ctx, indata, insize);
# | return (ARCHIVE_OK);
# | }
# |
# | static int
# | __archive_libsystem_md5final(archive_md5_ctx *ctx, void *md)
# | {
# | CC_MD5_Final(md, ctx);
# | return (ARCHIVE_OK);
# | }
# |
# | #elif defined(ARCHIVE_CRYPTO_MD5_NETTLE)
# |
# | static int
# | __archive_nettle_md5init(archive_md5_ctx *ctx)
# | {
# | md5_init(ctx);
# | return (ARCHIVE_OK);
# | }
# |
# | static int
# | __archive_nettle_md5update(archive_md5_ctx *ctx, const void *indata,
# | size_t insize)
# | {
# | md5_update(ctx, insize, indata);
# | return (ARCHIVE_OK);
# | }
# |
# | static int
# | __archive_nettle_md5final(archive_md5_ctx *ctx, void *md)
# | {
# | md5_digest(ctx, MD5_DIGEST_SIZE, md);
# | return (ARCHIVE_OK);
# | }
# |
# | #elif defined(ARCHIVE_CRYPTO_MD5_OPENSSL)
# |
# | static int
# | __archive_openssl_md5init(archive_md5_ctx *ctx)
# | {
# | 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: clang -o conftest -Wall -Wformat -Wformat-security -I. -I. -I./libarchive conftest.c -lacl -lexpat -llzo2 -llzma -llz4 -lbz2 -lz >&5
# In file included from conftest.c:252:
# ./libarchive/archive_digest_private.h:67:10: fatal error: 'sha1.h' file not found
# #include
# ^
# 1 error generated.
# 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_EXT2FS_EXT2_FS_H 1
# | #define HAVE_FCNTL_H 1
# | #define HAVE_GRP_H 1
# | #define HAVE_WORKING_EXT2_IOC_GETFLAGS 1
# | #define HAVE_INTTYPES_H 1
# | #define HAVE_LANGINFO_H 1
# | #define HAVE_LIMITS_H 1
# | #define HAVE_LINUX_FIEMAP_H 1
# | #define HAVE_LINUX_FS_H 1
# | #define HAVE_LINUX_MAGIC_H 1
# | #define HAVE_LINUX_TYPES_H 1
# | #define HAVE_LOCALE_H 1
# | #define HAVE_PATHS_H 1
# | #define HAVE_POLL_H 1
# | #define HAVE_PTHREAD_H 1
# | #define HAVE_PWD_H 1
# | #define HAVE_SIGNAL_H 1
# | #define HAVE_SPAWN_H 1
# | #define HAVE_STDARG_H 1
# | #define HAVE_STDINT_H 1
# | #define HAVE_STDLIB_H 1
# | #define HAVE_STRING_H 1
# | #define HAVE_SYS_CDEFS_H 1
# | #define HAVE_SYS_IOCTL_H 1
# | #define HAVE_SYS_MOUNT_H 1
# | #define HAVE_SYS_PARAM_H 1
# | #define HAVE_SYS_POLL_H 1
# | #define HAVE_SYS_SELECT_H 1
# | #define HAVE_SYS_STATFS_H 1
# | #define HAVE_SYS_STATVFS_H 1
# | #define HAVE_SYS_TIME_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_BZLIB_H 1
# | #define HAVE_LIBBZ2 1
# | #define HAVE_ICONV 1
# | #define ICONV_CONST
# | #define HAVE_ICONV_H 1
# | #define HAVE_LZ4_H 1
# | #define HAVE_LZ4HC_H 1
# | #define HAVE_LIBLZ4 1
# | #define HAVE_LZMA_H 1
# | #define HAVE_LIBLZMA 1
# | #define HAVE_LZMA_STREAM_ENCODER_MT 1
# | #define HAVE_LZO_LZOCONF_H 1
# | #define HAVE_LZO_LZO1X_H 1
# | #define HAVE_LIBLZO2 1
# | #define HAVE_EXPAT_H 1
# | #define HAVE_LIBEXPAT 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 1
# | #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1
# | #define HAVE_STRUCT_STAT_ST_BLKSIZE 1
# | #define HAVE_UINTMAX_T 1
# | #define HAVE_UNSIGNED_LONG_LONG 1
# | #define HAVE_UNSIGNED_LONG_LONG_INT 1
# | #define HAVE_LONG_LONG_INT 1
# | #define HAVE_INTMAX_T 1
# | #define HAVE_UINTMAX_T 1
# | #define HAVE_DECL_SIZE_MAX 1
# | #define HAVE_DECL_INT32_MAX 1
# | #define HAVE_DECL_INT32_MIN 1
# | #define HAVE_DECL_INT64_MAX 1
# | #define HAVE_DECL_INT64_MIN 1
# | #define HAVE_DECL_UINT64_MAX 1
# | #define HAVE_DECL_UINT32_MAX 1
# | #define HAVE_DECL_INTMAX_MAX 1
# | #define HAVE_DECL_INTMAX_MIN 1
# | #define HAVE_DECL_UINTMAX_MAX 1
# | #define HAVE_DECL_SSIZE_MAX 1
# | #define HAVE_EILSEQ 1
# | #define HAVE_WCHAR_T 1
# | #define SIZEOF_WCHAR_T 4
# | #define TIME_WITH_SYS_TIME 1
# | #define HAVE_FSEEKO 1
# | #define LSTAT_FOLLOWS_SLASHED_SYMLINK 1
# | #define HAVE_DECL_STRERROR_R 1
# | #define HAVE_STRERROR_R 1
# | #define STRERROR_R_CHAR_P 1
# | #define HAVE_STRFTIME 1
# | #define HAVE_VPRINTF 1
# | #define HAVE_CHOWN 1
# | #define HAVE_CHROOT 1
# | #define HAVE_CTIME_R 1
# | #define HAVE_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_FUTIMES 1
# | #define HAVE_FUTIMESAT 1
# | #define HAVE_GETEUID 1
# | #define HAVE_GETPID 1
# | #define HAVE_GETGRGID_R 1
# | #define HAVE_GETGRNAM_R 1
# | #define HAVE_GETPWNAM_R 1
# | #define HAVE_GETPWUID_R 1
# | #define HAVE_GMTIME_R 1
# | #define HAVE_LCHOWN 1
# | #define HAVE_LINK 1
# | #define HAVE_LOCALTIME_R 1
# | #define HAVE_LSTAT 1
# | #define HAVE_LUTIMES 1
# | #define HAVE_MBRTOWC 1
# | #define HAVE_MEMMOVE 1
# | #define HAVE_MEMSET 1
# | #define HAVE_MKDIR 1
# | #define HAVE_MKFIFO 1
# | #define HAVE_MKNOD 1
# | #define HAVE_MKSTEMP 1
# | #define HAVE_NL_LANGINFO 1
# | #define HAVE_OPENAT 1
# | #define HAVE_PIPE 1
# | #define HAVE_POLL 1
# | #define HAVE_POSIX_SPAWNP 1
# | #define HAVE_READLINK 1
# | #define HAVE_READLINKAT 1
# | #define HAVE_SELECT 1
# | #define HAVE_SETENV 1
# | #define HAVE_SETLOCALE 1
# | #define HAVE_SIGACTION 1
# | #define HAVE_STATFS 1
# | #define HAVE_STATVFS 1
# | #define HAVE_STRCHR 1
# | #define HAVE_STRDUP 1
# | #define HAVE_STRERROR 1
# | #define HAVE_STRRCHR 1
# | #define HAVE_SYMLINK 1
# | #define HAVE_TIMEGM 1
# | #define HAVE_TZSET 1
# | #define HAVE_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_ATTR_XATTR_H 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
# | #define HAVE_ACL_LIBACL_H 1
# | #define HAVE_SYS_ACL_H 1
# | #define HAVE_LIBACL 1
# | #define HAVE_ACL_CREATE_ENTRY 1
# | #define HAVE_ACL_INIT 1
# | #define HAVE_ACL_SET_FD 1
# | #define HAVE_ACL_SET_FILE 1
# | #define HAVE_ACL_PERMSET_T 1
# | #define HAVE_ACL_GET_PERM 1
# | #define HAVE_ACL_USER 1
# | /* end confdefs.h. */
# |
# | #define ARCHIVE_SHA1_COMPILE_TEST
# | #define ARCHIVE_CRYPTO_SHA1_LIBC
# | #define PLATFORM_CONFIG_H "check_crypto_md.h"
# |
# | /*-
# | * Copyright (c) 2003-2007 Tim Kientzle
# | * Copyright (c) 2011 Andres Mejia
# | * Copyright (c) 2011 Michihiro NAKAJIMA
# | * All rights reserved.
# | *
# | * Redistribution and use in source and binary forms, with or without
# | * modification, are permitted provided that the following conditions
# | * are met:
# | * 1. Redistributions of source code must retain the above copyright
# | * notice, this list of conditions and the following disclaimer.
# | * 2. Redistributions in binary form must reproduce the above copyright
# | * notice, this list of conditions and the following disclaimer in the
# | * documentation and/or other materials provided with the distribution.
# | *
# | * THIS SOFTWARE IS PROVIDED BY THE AUTHOR(S) ``AS IS'' AND ANY EXPRESS OR
# | * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
# | * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
# | * IN NO EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY DIRECT, INDIRECT,
# | * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
# | * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
# | * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
# | * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
# | * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
# | */
# |
# | #include "archive_platform.h"
# |
# | #include "archive.h"
# | #include "archive_digest_private.h"
# |
# | /* In particular, force the configure probe to break if it tries
# | * to test a combination of OpenSSL and libmd. */
# | #if defined(ARCHIVE_CRYPTO_OPENSSL) && defined(ARCHIVE_CRYPTO_LIBMD)
# | #error Cannot use both OpenSSL and libmd.
# | #endif
# |
# | /*
# | * Message digest functions for Windows platform.
# | */
# | #if defined(ARCHIVE_CRYPTO_MD5_WIN) ||\
# | defined(ARCHIVE_CRYPTO_SHA1_WIN) ||\
# | defined(ARCHIVE_CRYPTO_SHA256_WIN) ||\
# | defined(ARCHIVE_CRYPTO_SHA384_WIN) ||\
# | defined(ARCHIVE_CRYPTO_SHA512_WIN)
# |
# | /*
# | * Initialize a Message digest.
# | */
# | static int
# | win_crypto_init(Digest_CTX *ctx, ALG_ID algId)
# | {
# |
# | ctx->valid = 0;
# | if (!CryptAcquireContext(&ctx->cryptProv, NULL, NULL,
# | PROV_RSA_FULL, CRYPT_VERIFYCONTEXT)) {
# | if (GetLastError() != (DWORD)NTE_BAD_KEYSET)
# | return (ARCHIVE_FAILED);
# | if (!CryptAcquireContext(&ctx->cryptProv, NULL, NULL,
# | PROV_RSA_FULL, CRYPT_NEWKEYSET))
# | return (ARCHIVE_FAILED);
# | }
# |
# | if (!CryptCreateHash(ctx->cryptProv, algId, 0, 0, &ctx->hash)) {
# | CryptReleaseContext(ctx->cryptProv, 0);
# | return (ARCHIVE_FAILED);
# | }
# |
# | ctx->valid = 1;
# | return (ARCHIVE_OK);
# | }
# |
# | /*
# | * Update a Message digest.
# | */
# | static int
# | win_crypto_Update(Digest_CTX *ctx, const unsigned char *buf, size_t len)
# | {
# |
# | if (!ctx->valid)
# | return (ARCHIVE_FAILED);
# |
# | CryptHashData(ctx->hash,
# | (unsigned char *)(uintptr_t)buf,
# | (DWORD)len, 0);
# | return (ARCHIVE_OK);
# | }
# |
# | static int
# | win_crypto_Final(unsigned char *buf, size_t bufsize, Digest_CTX *ctx)
# | {
# | DWORD siglen = (DWORD)bufsize;
# |
# | if (!ctx->valid)
# | return (ARCHIVE_FAILED);
# |
# | CryptGetHashParam(ctx->hash, HP_HASHVAL, buf, &siglen, 0);
# | CryptDestroyHash(ctx->hash);
# | CryptReleaseContext(ctx->cryptProv, 0);
# | ctx->valid = 0;
# | return (ARCHIVE_OK);
# | }
# |
# | #endif /* defined(ARCHIVE_CRYPTO_*_WIN) */
# |
# |
# | /* MD5 implementations */
# | #if defined(ARCHIVE_CRYPTO_MD5_LIBC)
# |
# | static int
# | __archive_libc_md5init(archive_md5_ctx *ctx)
# | {
# | MD5Init(ctx);
# | return (ARCHIVE_OK);
# | }
# |
# | static int
# | __archive_libc_md5update(archive_md5_ctx *ctx, const void *indata,
# | size_t insize)
# | {
# | MD5Update(ctx, indata, insize);
# | return (ARCHIVE_OK);
# | }
# |
# | static int
# | __archive_libc_md5final(archive_md5_ctx *ctx, void *md)
# | {
# | MD5Final(md, ctx);
# | return (ARCHIVE_OK);
# | }
# |
# | #elif defined(ARCHIVE_CRYPTO_MD5_LIBMD)
# |
# | static int
# | __archive_libmd_md5init(archive_md5_ctx *ctx)
# | {
# | MD5Init(ctx);
# | return (ARCHIVE_OK);
# | }
# |
# | static int
# | __archive_libmd_md5update(archive_md5_ctx *ctx, const void *indata,
# | size_t insize)
# | {
# | MD5Update(ctx, indata, insize);
# | return (ARCHIVE_OK);
# | }
# |
# | static int
# | __archive_libmd_md5final(archive_md5_ctx *ctx, void *md)
# | {
# | MD5Final(md, ctx);
# | return (ARCHIVE_OK);
# | }
# |
# | #elif defined(ARCHIVE_CRYPTO_MD5_LIBSYSTEM)
# |
# | static int
# | __archive_libsystem_md5init(archive_md5_ctx *ctx)
# | {
# | CC_MD5_Init(ctx);
# | return (ARCHIVE_OK);
# | }
# |
# | static int
# | __archive_libsystem_md5update(archive_md5_ctx *ctx, const void *indata,
# | size_t insize)
# | {
# | CC_MD5_Update(ctx, indata, insize);
# | return (ARCHIVE_OK);
# | }
# |
# | static int
# | __archive_libsystem_md5final(archive_md5_ctx *ctx, void *md)
# | {
# | CC_MD5_Final(md, ctx);
# | return (ARCHIVE_OK);
# | }
# |
# | #elif defined(ARCHIVE_CRYPTO_MD5_NETTLE)
# |
# | static int
# | __archive_nettle_md5init(archive_md5_ctx *ctx)
# | {
# | md5_init(ctx);
# | return (ARCHIVE_OK);
# | }
# |
# | static int
# | __archive_nettle_md5update(archive_md5_ctx *ctx, const void *indata,
# | size_t insize)
# | {
# | md5_update(ctx, insize, indata);
# | return (ARCHIVE_OK);
# | }
# |
# | static int
# | __archive_nettle_md5final(archive_md5_ctx *ctx, void *md)
# | {
# | md5_digest(ctx, MD5_DIGEST_SIZE, md);
# | return (ARCHIVE_OK);
# | }
# |
# | #elif defined(ARCHIVE_CRYPTO_MD5_OPENSSL)
# |
# | static int
# | __archive_openssl_md5init(archive_md5_ctx *ctx)
# | {
# | 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: clang -o conftest -Wall -Wformat -Wformat-security -I. -I. -I./libarchive conftest.c -lacl -lexpat -llzo2 -llzma -llz4 -lbz2 -lz >&5
# In file included from conftest.c:252:
# ./libarchive/archive_digest_private.h:112:10: fatal error: 'CommonCrypto/CommonDigest.h' file not found
# #include
# ^
# 1 error generated.
# 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_EXT2FS_EXT2_FS_H 1
# | #define HAVE_FCNTL_H 1
# | #define HAVE_GRP_H 1
# | #define HAVE_WORKING_EXT2_IOC_GETFLAGS 1
# | #define HAVE_INTTYPES_H 1
# | #define HAVE_LANGINFO_H 1
# | #define HAVE_LIMITS_H 1
# | #define HAVE_LINUX_FIEMAP_H 1
# | #define HAVE_LINUX_FS_H 1
# | #define HAVE_LINUX_MAGIC_H 1
# | #define HAVE_LINUX_TYPES_H 1
# | #define HAVE_LOCALE_H 1
# | #define HAVE_PATHS_H 1
# | #define HAVE_POLL_H 1
# | #define HAVE_PTHREAD_H 1
# | #define HAVE_PWD_H 1
# | #define HAVE_SIGNAL_H 1
# | #define HAVE_SPAWN_H 1
# | #define HAVE_STDARG_H 1
# | #define HAVE_STDINT_H 1
# | #define HAVE_STDLIB_H 1
# | #define HAVE_STRING_H 1
# | #define HAVE_SYS_CDEFS_H 1
# | #define HAVE_SYS_IOCTL_H 1
# | #define HAVE_SYS_MOUNT_H 1
# | #define HAVE_SYS_PARAM_H 1
# | #define HAVE_SYS_POLL_H 1
# | #define HAVE_SYS_SELECT_H 1
# | #define HAVE_SYS_STATFS_H 1
# | #define HAVE_SYS_STATVFS_H 1
# | #define HAVE_SYS_TIME_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_BZLIB_H 1
# | #define HAVE_LIBBZ2 1
# | #define HAVE_ICONV 1
# | #define ICONV_CONST
# | #define HAVE_ICONV_H 1
# | #define HAVE_LZ4_H 1
# | #define HAVE_LZ4HC_H 1
# | #define HAVE_LIBLZ4 1
# | #define HAVE_LZMA_H 1
# | #define HAVE_LIBLZMA 1
# | #define HAVE_LZMA_STREAM_ENCODER_MT 1
# | #define HAVE_LZO_LZOCONF_H 1
# | #define HAVE_LZO_LZO1X_H 1
# | #define HAVE_LIBLZO2 1
# | #define HAVE_EXPAT_H 1
# | #define HAVE_LIBEXPAT 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 1
# | #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1
# | #define HAVE_STRUCT_STAT_ST_BLKSIZE 1
# | #define HAVE_UINTMAX_T 1
# | #define HAVE_UNSIGNED_LONG_LONG 1
# | #define HAVE_UNSIGNED_LONG_LONG_INT 1
# | #define HAVE_LONG_LONG_INT 1
# | #define HAVE_INTMAX_T 1
# | #define HAVE_UINTMAX_T 1
# | #define HAVE_DECL_SIZE_MAX 1
# | #define HAVE_DECL_INT32_MAX 1
# | #define HAVE_DECL_INT32_MIN 1
# | #define HAVE_DECL_INT64_MAX 1
# | #define HAVE_DECL_INT64_MIN 1
# | #define HAVE_DECL_UINT64_MAX 1
# | #define HAVE_DECL_UINT32_MAX 1
# | #define HAVE_DECL_INTMAX_MAX 1
# | #define HAVE_DECL_INTMAX_MIN 1
# | #define HAVE_DECL_UINTMAX_MAX 1
# | #define HAVE_DECL_SSIZE_MAX 1
# | #define HAVE_EILSEQ 1
# | #define HAVE_WCHAR_T 1
# | #define SIZEOF_WCHAR_T 4
# | #define TIME_WITH_SYS_TIME 1
# | #define HAVE_FSEEKO 1
# | #define LSTAT_FOLLOWS_SLASHED_SYMLINK 1
# | #define HAVE_DECL_STRERROR_R 1
# | #define HAVE_STRERROR_R 1
# | #define STRERROR_R_CHAR_P 1
# | #define HAVE_STRFTIME 1
# | #define HAVE_VPRINTF 1
# | #define HAVE_CHOWN 1
# | #define HAVE_CHROOT 1
# | #define HAVE_CTIME_R 1
# | #define HAVE_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_FUTIMES 1
# | #define HAVE_FUTIMESAT 1
# | #define HAVE_GETEUID 1
# | #define HAVE_GETPID 1
# | #define HAVE_GETGRGID_R 1
# | #define HAVE_GETGRNAM_R 1
# | #define HAVE_GETPWNAM_R 1
# | #define HAVE_GETPWUID_R 1
# | #define HAVE_GMTIME_R 1
# | #define HAVE_LCHOWN 1
# | #define HAVE_LINK 1
# | #define HAVE_LOCALTIME_R 1
# | #define HAVE_LSTAT 1
# | #define HAVE_LUTIMES 1
# | #define HAVE_MBRTOWC 1
# | #define HAVE_MEMMOVE 1
# | #define HAVE_MEMSET 1
# | #define HAVE_MKDIR 1
# | #define HAVE_MKFIFO 1
# | #define HAVE_MKNOD 1
# | #define HAVE_MKSTEMP 1
# | #define HAVE_NL_LANGINFO 1
# | #define HAVE_OPENAT 1
# | #define HAVE_PIPE 1
# | #define HAVE_POLL 1
# | #define HAVE_POSIX_SPAWNP 1
# | #define HAVE_READLINK 1
# | #define HAVE_READLINKAT 1
# | #define HAVE_SELECT 1
# | #define HAVE_SETENV 1
# | #define HAVE_SETLOCALE 1
# | #define HAVE_SIGACTION 1
# | #define HAVE_STATFS 1
# | #define HAVE_STATVFS 1
# | #define HAVE_STRCHR 1
# | #define HAVE_STRDUP 1
# | #define HAVE_STRERROR 1
# | #define HAVE_STRRCHR 1
# | #define HAVE_SYMLINK 1
# | #define HAVE_TIMEGM 1
# | #define HAVE_TZSET 1
# | #define HAVE_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_ATTR_XATTR_H 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
# | #define HAVE_ACL_LIBACL_H 1
# | #define HAVE_SYS_ACL_H 1
# | #define HAVE_LIBACL 1
# | #define HAVE_ACL_CREATE_ENTRY 1
# | #define HAVE_ACL_INIT 1
# | #define HAVE_ACL_SET_FD 1
# | #define HAVE_ACL_SET_FILE 1
# | #define HAVE_ACL_PERMSET_T 1
# | #define HAVE_ACL_GET_PERM 1
# | #define HAVE_ACL_USER 1
# | /* end confdefs.h. */
# |
# | #define ARCHIVE_SHA1_COMPILE_TEST
# | #define ARCHIVE_CRYPTO_SHA1_LIBSYSTEM
# | #define PLATFORM_CONFIG_H "check_crypto_md.h"
# |
# | /*-
# | * Copyright (c) 2003-2007 Tim Kientzle
# | * Copyright (c) 2011 Andres Mejia
# | * Copyright (c) 2011 Michihiro NAKAJIMA
# | * All rights reserved.
# | *
# | * Redistribution and use in source and binary forms, with or without
# | * modification, are permitted provided that the following conditions
# | * are met:
# | * 1. Redistributions of source code must retain the above copyright
# | * notice, this list of conditions and the following disclaimer.
# | * 2. Redistributions in binary form must reproduce the above copyright
# | * notice, this list of conditions and the following disclaimer in the
# | * documentation and/or other materials provided with the distribution.
# | *
# | * THIS SOFTWARE IS PROVIDED BY THE AUTHOR(S) ``AS IS'' AND ANY EXPRESS OR
# | * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
# | * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
# | * IN NO EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY DIRECT, INDIRECT,
# | * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
# | * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
# | * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
# | * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
# | * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
# | */
# |
# | #include "archive_platform.h"
# |
# | #include "archive.h"
# | #include "archive_digest_private.h"
# |
# | /* In particular, force the configure probe to break if it tries
# | * to test a combination of OpenSSL and libmd. */
# | #if defined(ARCHIVE_CRYPTO_OPENSSL) && defined(ARCHIVE_CRYPTO_LIBMD)
# | #error Cannot use both OpenSSL and libmd.
# | #endif
# |
# | /*
# | * Message digest functions for Windows platform.
# | */
# | #if defined(ARCHIVE_CRYPTO_MD5_WIN) ||\
# | defined(ARCHIVE_CRYPTO_SHA1_WIN) ||\
# | defined(ARCHIVE_CRYPTO_SHA256_WIN) ||\
# | defined(ARCHIVE_CRYPTO_SHA384_WIN) ||\
# | defined(ARCHIVE_CRYPTO_SHA512_WIN)
# |
# | /*
# | * Initialize a Message digest.
# | */
# | static int
# | win_crypto_init(Digest_CTX *ctx, ALG_ID algId)
# | {
# |
# | ctx->valid = 0;
# | if (!CryptAcquireContext(&ctx->cryptProv, NULL, NULL,
# | PROV_RSA_FULL, CRYPT_VERIFYCONTEXT)) {
# | if (GetLastError() != (DWORD)NTE_BAD_KEYSET)
# | return (ARCHIVE_FAILED);
# | if (!CryptAcquireContext(&ctx->cryptProv, NULL, NULL,
# | PROV_RSA_FULL, CRYPT_NEWKEYSET))
# | return (ARCHIVE_FAILED);
# | }
# |
# | if (!CryptCreateHash(ctx->cryptProv, algId, 0, 0, &ctx->hash)) {
# | CryptReleaseContext(ctx->cryptProv, 0);
# | return (ARCHIVE_FAILED);
# | }
# |
# | ctx->valid = 1;
# | return (ARCHIVE_OK);
# | }
# |
# | /*
# | * Update a Message digest.
# | */
# | static int
# | win_crypto_Update(Digest_CTX *ctx, const unsigned char *buf, size_t len)
# | {
# |
# | if (!ctx->valid)
# | return (ARCHIVE_FAILED);
# |
# | CryptHashData(ctx->hash,
# | (unsigned char *)(uintptr_t)buf,
# | (DWORD)len, 0);
# | return (ARCHIVE_OK);
# | }
# |
# | static int
# | win_crypto_Final(unsigned char *buf, size_t bufsize, Digest_CTX *ctx)
# | {
# | DWORD siglen = (DWORD)bufsize;
# |
# | if (!ctx->valid)
# | return (ARCHIVE_FAILED);
# |
# | CryptGetHashParam(ctx->hash, HP_HASHVAL, buf, &siglen, 0);
# | CryptDestroyHash(ctx->hash);
# | CryptReleaseContext(ctx->cryptProv, 0);
# | ctx->valid = 0;
# | return (ARCHIVE_OK);
# | }
# |
# | #endif /* defined(ARCHIVE_CRYPTO_*_WIN) */
# |
# |
# | /* MD5 implementations */
# | #if defined(ARCHIVE_CRYPTO_MD5_LIBC)
# |
# | static int
# | __archive_libc_md5init(archive_md5_ctx *ctx)
# | {
# | MD5Init(ctx);
# | return (ARCHIVE_OK);
# | }
# |
# | static int
# | __archive_libc_md5update(archive_md5_ctx *ctx, const void *indata,
# | size_t insize)
# | {
# | MD5Update(ctx, indata, insize);
# | return (ARCHIVE_OK);
# | }
# |
# | static int
# | __archive_libc_md5final(archive_md5_ctx *ctx, void *md)
# | {
# | MD5Final(md, ctx);
# | return (ARCHIVE_OK);
# | }
# |
# | #elif defined(ARCHIVE_CRYPTO_MD5_LIBMD)
# |
# | static int
# | __archive_libmd_md5init(archive_md5_ctx *ctx)
# | {
# | MD5Init(ctx);
# | return (ARCHIVE_OK);
# | }
# |
# | static int
# | __archive_libmd_md5update(archive_md5_ctx *ctx, const void *indata,
# | size_t insize)
# | {
# | MD5Update(ctx, indata, insize);
# | return (ARCHIVE_OK);
# | }
# |
# | static int
# | __archive_libmd_md5final(archive_md5_ctx *ctx, void *md)
# | {
# | MD5Final(md, ctx);
# | return (ARCHIVE_OK);
# | }
# |
# | #elif defined(ARCHIVE_CRYPTO_MD5_LIBSYSTEM)
# |
# | static int
# | __archive_libsystem_md5init(archive_md5_ctx *ctx)
# | {
# | CC_MD5_Init(ctx);
# | return (ARCHIVE_OK);
# | }
# |
# | static int
# | __archive_libsystem_md5update(archive_md5_ctx *ctx, const void *indata,
# | size_t insize)
# | {
# | CC_MD5_Update(ctx, indata, insize);
# | return (ARCHIVE_OK);
# | }
# |
# | static int
# | __archive_libsystem_md5final(archive_md5_ctx *ctx, void *md)
# | {
# | CC_MD5_Final(md, ctx);
# | return (ARCHIVE_OK);
# | }
# |
# | #elif defined(ARCHIVE_CRYPTO_MD5_NETTLE)
# |
# | static int
# | __archive_nettle_md5init(archive_md5_ctx *ctx)
# | {
# | md5_init(ctx);
# | return (ARCHIVE_OK);
# | }
# |
# | static int
# | __archive_nettle_md5update(archive_md5_ctx *ctx, const void *indata,
# | size_t insize)
# | {
# | md5_update(ctx, insize, indata);
# | return (ARCHIVE_OK);
# | }
# |
# | static int
# | __archive_nettle_md5final(archive_md5_ctx *ctx, void *md)
# | {
# | md5_digest(ctx, MD5_DIGEST_SIZE, md);
# | return (ARCHIVE_OK);
# | }
# |
# | #elif defined(ARCHIVE_CRYPTO_MD5_OPENSSL)
# |
# | static int
# | __archive_openssl_md5init(archive_md5_ctx *ctx)
# | {
# | 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: clang -o conftest -Wall -Wformat -Wformat-security -I. -I. -I./libarchive conftest.c -lacl -lexpat -llzo2 -llzma -llz4 -lbz2 -lz >&5
# In file included from conftest.c:252:
# ./libarchive/archive_digest_private.h:78:10: fatal error: 'sha2.h' file not found
# #include
# ^
# 1 error generated.
# 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_EXT2FS_EXT2_FS_H 1
# | #define HAVE_FCNTL_H 1
# | #define HAVE_GRP_H 1
# | #define HAVE_WORKING_EXT2_IOC_GETFLAGS 1
# | #define HAVE_INTTYPES_H 1
# | #define HAVE_LANGINFO_H 1
# | #define HAVE_LIMITS_H 1
# | #define HAVE_LINUX_FIEMAP_H 1
# | #define HAVE_LINUX_FS_H 1
# | #define HAVE_LINUX_MAGIC_H 1
# | #define HAVE_LINUX_TYPES_H 1
# | #define HAVE_LOCALE_H 1
# | #define HAVE_PATHS_H 1
# | #define HAVE_POLL_H 1
# | #define HAVE_PTHREAD_H 1
# | #define HAVE_PWD_H 1
# | #define HAVE_SIGNAL_H 1
# | #define HAVE_SPAWN_H 1
# | #define HAVE_STDARG_H 1
# | #define HAVE_STDINT_H 1
# | #define HAVE_STDLIB_H 1
# | #define HAVE_STRING_H 1
# | #define HAVE_SYS_CDEFS_H 1
# | #define HAVE_SYS_IOCTL_H 1
# | #define HAVE_SYS_MOUNT_H 1
# | #define HAVE_SYS_PARAM_H 1
# | #define HAVE_SYS_POLL_H 1
# | #define HAVE_SYS_SELECT_H 1
# | #define HAVE_SYS_STATFS_H 1
# | #define HAVE_SYS_STATVFS_H 1
# | #define HAVE_SYS_TIME_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_BZLIB_H 1
# | #define HAVE_LIBBZ2 1
# | #define HAVE_ICONV 1
# | #define ICONV_CONST
# | #define HAVE_ICONV_H 1
# | #define HAVE_LZ4_H 1
# | #define HAVE_LZ4HC_H 1
# | #define HAVE_LIBLZ4 1
# | #define HAVE_LZMA_H 1
# | #define HAVE_LIBLZMA 1
# | #define HAVE_LZMA_STREAM_ENCODER_MT 1
# | #define HAVE_LZO_LZOCONF_H 1
# | #define HAVE_LZO_LZO1X_H 1
# | #define HAVE_LIBLZO2 1
# | #define HAVE_EXPAT_H 1
# | #define HAVE_LIBEXPAT 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 1
# | #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1
# | #define HAVE_STRUCT_STAT_ST_BLKSIZE 1
# | #define HAVE_UINTMAX_T 1
# | #define HAVE_UNSIGNED_LONG_LONG 1
# | #define HAVE_UNSIGNED_LONG_LONG_INT 1
# | #define HAVE_LONG_LONG_INT 1
# | #define HAVE_INTMAX_T 1
# | #define HAVE_UINTMAX_T 1
# | #define HAVE_DECL_SIZE_MAX 1
# | #define HAVE_DECL_INT32_MAX 1
# | #define HAVE_DECL_INT32_MIN 1
# | #define HAVE_DECL_INT64_MAX 1
# | #define HAVE_DECL_INT64_MIN 1
# | #define HAVE_DECL_UINT64_MAX 1
# | #define HAVE_DECL_UINT32_MAX 1
# | #define HAVE_DECL_INTMAX_MAX 1
# | #define HAVE_DECL_INTMAX_MIN 1
# | #define HAVE_DECL_UINTMAX_MAX 1
# | #define HAVE_DECL_SSIZE_MAX 1
# | #define HAVE_EILSEQ 1
# | #define HAVE_WCHAR_T 1
# | #define SIZEOF_WCHAR_T 4
# | #define TIME_WITH_SYS_TIME 1
# | #define HAVE_FSEEKO 1
# | #define LSTAT_FOLLOWS_SLASHED_SYMLINK 1
# | #define HAVE_DECL_STRERROR_R 1
# | #define HAVE_STRERROR_R 1
# | #define STRERROR_R_CHAR_P 1
# | #define HAVE_STRFTIME 1
# | #define HAVE_VPRINTF 1
# | #define HAVE_CHOWN 1
# | #define HAVE_CHROOT 1
# | #define HAVE_CTIME_R 1
# | #define HAVE_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_FUTIMES 1
# | #define HAVE_FUTIMESAT 1
# | #define HAVE_GETEUID 1
# | #define HAVE_GETPID 1
# | #define HAVE_GETGRGID_R 1
# | #define HAVE_GETGRNAM_R 1
# | #define HAVE_GETPWNAM_R 1
# | #define HAVE_GETPWUID_R 1
# | #define HAVE_GMTIME_R 1
# | #define HAVE_LCHOWN 1
# | #define HAVE_LINK 1
# | #define HAVE_LOCALTIME_R 1
# | #define HAVE_LSTAT 1
# | #define HAVE_LUTIMES 1
# | #define HAVE_MBRTOWC 1
# | #define HAVE_MEMMOVE 1
# | #define HAVE_MEMSET 1
# | #define HAVE_MKDIR 1
# | #define HAVE_MKFIFO 1
# | #define HAVE_MKNOD 1
# | #define HAVE_MKSTEMP 1
# | #define HAVE_NL_LANGINFO 1
# | #define HAVE_OPENAT 1
# | #define HAVE_PIPE 1
# | #define HAVE_POLL 1
# | #define HAVE_POSIX_SPAWNP 1
# | #define HAVE_READLINK 1
# | #define HAVE_READLINKAT 1
# | #define HAVE_SELECT 1
# | #define HAVE_SETENV 1
# | #define HAVE_SETLOCALE 1
# | #define HAVE_SIGACTION 1
# | #define HAVE_STATFS 1
# | #define HAVE_STATVFS 1
# | #define HAVE_STRCHR 1
# | #define HAVE_STRDUP 1
# | #define HAVE_STRERROR 1
# | #define HAVE_STRRCHR 1
# | #define HAVE_SYMLINK 1
# | #define HAVE_TIMEGM 1
# | #define HAVE_TZSET 1
# | #define HAVE_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_ATTR_XATTR_H 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
# | #define HAVE_ACL_LIBACL_H 1
# | #define HAVE_SYS_ACL_H 1
# | #define HAVE_LIBACL 1
# | #define HAVE_ACL_CREATE_ENTRY 1
# | #define HAVE_ACL_INIT 1
# | #define HAVE_ACL_SET_FD 1
# | #define HAVE_ACL_SET_FILE 1
# | #define HAVE_ACL_PERMSET_T 1
# | #define HAVE_ACL_GET_PERM 1
# | #define HAVE_ACL_USER 1
# | /* end confdefs.h. */
# |
# | #define ARCHIVE_SHA256_COMPILE_TEST
# | #define ARCHIVE_CRYPTO_SHA256_LIBC
# | #define PLATFORM_CONFIG_H "check_crypto_md.h"
# |
# | /*-
# | * Copyright (c) 2003-2007 Tim Kientzle
# | * Copyright (c) 2011 Andres Mejia
# | * Copyright (c) 2011 Michihiro NAKAJIMA
# | * All rights reserved.
# | *
# | * Redistribution and use in source and binary forms, with or without
# | * modification, are permitted provided that the following conditions
# | * are met:
# | * 1. Redistributions of source code must retain the above copyright
# | * notice, this list of conditions and the following disclaimer.
# | * 2. Redistributions in binary form must reproduce the above copyright
# | * notice, this list of conditions and the following disclaimer in the
# | * documentation and/or other materials provided with the distribution.
# | *
# | * THIS SOFTWARE IS PROVIDED BY THE AUTHOR(S) ``AS IS'' AND ANY EXPRESS OR
# | * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
# | * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
# | * IN NO EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY DIRECT, INDIRECT,
# | * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
# | * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
# | * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
# | * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
# | * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
# | */
# |
# | #include "archive_platform.h"
# |
# | #include "archive.h"
# | #include "archive_digest_private.h"
# |
# | /* In particular, force the configure probe to break if it tries
# | * to test a combination of OpenSSL and libmd. */
# | #if defined(ARCHIVE_CRYPTO_OPENSSL) && defined(ARCHIVE_CRYPTO_LIBMD)
# | #error Cannot use both OpenSSL and libmd.
# | #endif
# |
# | /*
# | * Message digest functions for Windows platform.
# | */
# | #if defined(ARCHIVE_CRYPTO_MD5_WIN) ||\
# | defined(ARCHIVE_CRYPTO_SHA1_WIN) ||\
# | defined(ARCHIVE_CRYPTO_SHA256_WIN) ||\
# | defined(ARCHIVE_CRYPTO_SHA384_WIN) ||\
# | defined(ARCHIVE_CRYPTO_SHA512_WIN)
# |
# | /*
# | * Initialize a Message digest.
# | */
# | static int
# | win_crypto_init(Digest_CTX *ctx, ALG_ID algId)
# | {
# |
# | ctx->valid = 0;
# | if (!CryptAcquireContext(&ctx->cryptProv, NULL, NULL,
# | PROV_RSA_FULL, CRYPT_VERIFYCONTEXT)) {
# | if (GetLastError() != (DWORD)NTE_BAD_KEYSET)
# | return (ARCHIVE_FAILED);
# | if (!CryptAcquireContext(&ctx->cryptProv, NULL, NULL,
# | PROV_RSA_FULL, CRYPT_NEWKEYSET))
# | return (ARCHIVE_FAILED);
# | }
# |
# | if (!CryptCreateHash(ctx->cryptProv, algId, 0, 0, &ctx->hash)) {
# | CryptReleaseContext(ctx->cryptProv, 0);
# | return (ARCHIVE_FAILED);
# | }
# |
# | ctx->valid = 1;
# | return (ARCHIVE_OK);
# | }
# |
# | /*
# | * Update a Message digest.
# | */
# | static int
# | win_crypto_Update(Digest_CTX *ctx, const unsigned char *buf, size_t len)
# | {
# |
# | if (!ctx->valid)
# | return (ARCHIVE_FAILED);
# |
# | CryptHashData(ctx->hash,
# | (unsigned char *)(uintptr_t)buf,
# | (DWORD)len, 0);
# | return (ARCHIVE_OK);
# | }
# |
# | static int
# | win_crypto_Final(unsigned char *buf, size_t bufsize, Digest_CTX *ctx)
# | {
# | DWORD siglen = (DWORD)bufsize;
# |
# | if (!ctx->valid)
# | return (ARCHIVE_FAILED);
# |
# | CryptGetHashParam(ctx->hash, HP_HASHVAL, buf, &siglen, 0);
# | CryptDestroyHash(ctx->hash);
# | CryptReleaseContext(ctx->cryptProv, 0);
# | ctx->valid = 0;
# | return (ARCHIVE_OK);
# | }
# |
# | #endif /* defined(ARCHIVE_CRYPTO_*_WIN) */
# |
# |
# | /* MD5 implementations */
# | #if defined(ARCHIVE_CRYPTO_MD5_LIBC)
# |
# | static int
# | __archive_libc_md5init(archive_md5_ctx *ctx)
# | {
# | MD5Init(ctx);
# | return (ARCHIVE_OK);
# | }
# |
# | static int
# | __archive_libc_md5update(archive_md5_ctx *ctx, const void *indata,
# | size_t insize)
# | {
# | MD5Update(ctx, indata, insize);
# | return (ARCHIVE_OK);
# | }
# |
# | static int
# | __archive_libc_md5final(archive_md5_ctx *ctx, void *md)
# | {
# | MD5Final(md, ctx);
# | return (ARCHIVE_OK);
# | }
# |
# | #elif defined(ARCHIVE_CRYPTO_MD5_LIBMD)
# |
# | static int
# | __archive_libmd_md5init(archive_md5_ctx *ctx)
# | {
# | MD5Init(ctx);
# | return (ARCHIVE_OK);
# | }
# |
# | static int
# | __archive_libmd_md5update(archive_md5_ctx *ctx, const void *indata,
# | size_t insize)
# | {
# | MD5Update(ctx, indata, insize);
# | return (ARCHIVE_OK);
# | }
# |
# | static int
# | __archive_libmd_md5final(archive_md5_ctx *ctx, void *md)
# | {
# | MD5Final(md, ctx);
# | return (ARCHIVE_OK);
# | }
# |
# | #elif defined(ARCHIVE_CRYPTO_MD5_LIBSYSTEM)
# |
# | static int
# | __archive_libsystem_md5init(archive_md5_ctx *ctx)
# | {
# | CC_MD5_Init(ctx);
# | return (ARCHIVE_OK);
# | }
# |
# | static int
# | __archive_libsystem_md5update(archive_md5_ctx *ctx, const void *indata,
# | size_t insize)
# | {
# | CC_MD5_Update(ctx, indata, insize);
# | return (ARCHIVE_OK);
# | }
# |
# | static int
# | __archive_libsystem_md5final(archive_md5_ctx *ctx, void *md)
# | {
# | CC_MD5_Final(md, ctx);
# | return (ARCHIVE_OK);
# | }
# |
# | #elif defined(ARCHIVE_CRYPTO_MD5_NETTLE)
# |
# | static int
# | __archive_nettle_md5init(archive_md5_ctx *ctx)
# | {
# | md5_init(ctx);
# | return (ARCHIVE_OK);
# | }
# |
# | static int
# | __archive_nettle_md5update(archive_md5_ctx *ctx, const void *indata,
# | size_t insize)
# | {
# | md5_update(ctx, insize, indata);
# | return (ARCHIVE_OK);
# | }
# |
# | static int
# | __archive_nettle_md5final(archive_md5_ctx *ctx, void *md)
# | {
# | md5_digest(ctx, MD5_DIGEST_SIZE, md);
# | return (ARCHIVE_OK);
# | }
# |
# | #elif defined(ARCHIVE_CRYPTO_MD5_OPENSSL)
# |
# | static int
# | __archive_openssl_md5init(archive_md5_ctx *ctx)
# | {
# | 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: clang -o conftest -Wall -Wformat -Wformat-security -I. -I. -I./libarchive conftest.c -lacl -lexpat -llzo2 -llzma -llz4 -lbz2 -lz >&5
# In file included from conftest.c:252:
# ./libarchive/archive_digest_private.h:78:10: fatal error: 'sha2.h' file not found
# #include
# ^
# 1 error generated.
# 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_EXT2FS_EXT2_FS_H 1
# | #define HAVE_FCNTL_H 1
# | #define HAVE_GRP_H 1
# | #define HAVE_WORKING_EXT2_IOC_GETFLAGS 1
# | #define HAVE_INTTYPES_H 1
# | #define HAVE_LANGINFO_H 1
# | #define HAVE_LIMITS_H 1
# | #define HAVE_LINUX_FIEMAP_H 1
# | #define HAVE_LINUX_FS_H 1
# | #define HAVE_LINUX_MAGIC_H 1
# | #define HAVE_LINUX_TYPES_H 1
# | #define HAVE_LOCALE_H 1
# | #define HAVE_PATHS_H 1
# | #define HAVE_POLL_H 1
# | #define HAVE_PTHREAD_H 1
# | #define HAVE_PWD_H 1
# | #define HAVE_SIGNAL_H 1
# | #define HAVE_SPAWN_H 1
# | #define HAVE_STDARG_H 1
# | #define HAVE_STDINT_H 1
# | #define HAVE_STDLIB_H 1
# | #define HAVE_STRING_H 1
# | #define HAVE_SYS_CDEFS_H 1
# | #define HAVE_SYS_IOCTL_H 1
# | #define HAVE_SYS_MOUNT_H 1
# | #define HAVE_SYS_PARAM_H 1
# | #define HAVE_SYS_POLL_H 1
# | #define HAVE_SYS_SELECT_H 1
# | #define HAVE_SYS_STATFS_H 1
# | #define HAVE_SYS_STATVFS_H 1
# | #define HAVE_SYS_TIME_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_BZLIB_H 1
# | #define HAVE_LIBBZ2 1
# | #define HAVE_ICONV 1
# | #define ICONV_CONST
# | #define HAVE_ICONV_H 1
# | #define HAVE_LZ4_H 1
# | #define HAVE_LZ4HC_H 1
# | #define HAVE_LIBLZ4 1
# | #define HAVE_LZMA_H 1
# | #define HAVE_LIBLZMA 1
# | #define HAVE_LZMA_STREAM_ENCODER_MT 1
# | #define HAVE_LZO_LZOCONF_H 1
# | #define HAVE_LZO_LZO1X_H 1
# | #define HAVE_LIBLZO2 1
# | #define HAVE_EXPAT_H 1
# | #define HAVE_LIBEXPAT 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 1
# | #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1
# | #define HAVE_STRUCT_STAT_ST_BLKSIZE 1
# | #define HAVE_UINTMAX_T 1
# | #define HAVE_UNSIGNED_LONG_LONG 1
# | #define HAVE_UNSIGNED_LONG_LONG_INT 1
# | #define HAVE_LONG_LONG_INT 1
# | #define HAVE_INTMAX_T 1
# | #define HAVE_UINTMAX_T 1
# | #define HAVE_DECL_SIZE_MAX 1
# | #define HAVE_DECL_INT32_MAX 1
# | #define HAVE_DECL_INT32_MIN 1
# | #define HAVE_DECL_INT64_MAX 1
# | #define HAVE_DECL_INT64_MIN 1
# | #define HAVE_DECL_UINT64_MAX 1
# | #define HAVE_DECL_UINT32_MAX 1
# | #define HAVE_DECL_INTMAX_MAX 1
# | #define HAVE_DECL_INTMAX_MIN 1
# | #define HAVE_DECL_UINTMAX_MAX 1
# | #define HAVE_DECL_SSIZE_MAX 1
# | #define HAVE_EILSEQ 1
# | #define HAVE_WCHAR_T 1
# | #define SIZEOF_WCHAR_T 4
# | #define TIME_WITH_SYS_TIME 1
# | #define HAVE_FSEEKO 1
# | #define LSTAT_FOLLOWS_SLASHED_SYMLINK 1
# | #define HAVE_DECL_STRERROR_R 1
# | #define HAVE_STRERROR_R 1
# | #define STRERROR_R_CHAR_P 1
# | #define HAVE_STRFTIME 1
# | #define HAVE_VPRINTF 1
# | #define HAVE_CHOWN 1
# | #define HAVE_CHROOT 1
# | #define HAVE_CTIME_R 1
# | #define HAVE_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_FUTIMES 1
# | #define HAVE_FUTIMESAT 1
# | #define HAVE_GETEUID 1
# | #define HAVE_GETPID 1
# | #define HAVE_GETGRGID_R 1
# | #define HAVE_GETGRNAM_R 1
# | #define HAVE_GETPWNAM_R 1
# | #define HAVE_GETPWUID_R 1
# | #define HAVE_GMTIME_R 1
# | #define HAVE_LCHOWN 1
# | #define HAVE_LINK 1
# | #define HAVE_LOCALTIME_R 1
# | #define HAVE_LSTAT 1
# | #define HAVE_LUTIMES 1
# | #define HAVE_MBRTOWC 1
# | #define HAVE_MEMMOVE 1
# | #define HAVE_MEMSET 1
# | #define HAVE_MKDIR 1
# | #define HAVE_MKFIFO 1
# | #define HAVE_MKNOD 1
# | #define HAVE_MKSTEMP 1
# | #define HAVE_NL_LANGINFO 1
# | #define HAVE_OPENAT 1
# | #define HAVE_PIPE 1
# | #define HAVE_POLL 1
# | #define HAVE_POSIX_SPAWNP 1
# | #define HAVE_READLINK 1
# | #define HAVE_READLINKAT 1
# | #define HAVE_SELECT 1
# | #define HAVE_SETENV 1
# | #define HAVE_SETLOCALE 1
# | #define HAVE_SIGACTION 1
# | #define HAVE_STATFS 1
# | #define HAVE_STATVFS 1
# | #define HAVE_STRCHR 1
# | #define HAVE_STRDUP 1
# | #define HAVE_STRERROR 1
# | #define HAVE_STRRCHR 1
# | #define HAVE_SYMLINK 1
# | #define HAVE_TIMEGM 1
# | #define HAVE_TZSET 1
# | #define HAVE_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_ATTR_XATTR_H 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
# | #define HAVE_ACL_LIBACL_H 1
# | #define HAVE_SYS_ACL_H 1
# | #define HAVE_LIBACL 1
# | #define HAVE_ACL_CREATE_ENTRY 1
# | #define HAVE_ACL_INIT 1
# | #define HAVE_ACL_SET_FD 1
# | #define HAVE_ACL_SET_FILE 1
# | #define HAVE_ACL_PERMSET_T 1
# | #define HAVE_ACL_GET_PERM 1
# | #define HAVE_ACL_USER 1
# | /* end confdefs.h. */
# |
# | #define ARCHIVE_SHA256_COMPILE_TEST
# | #define ARCHIVE_CRYPTO_SHA256_LIBC2
# | #define PLATFORM_CONFIG_H "check_crypto_md.h"
# |
# | /*-
# | * Copyright (c) 2003-2007 Tim Kientzle
# | * Copyright (c) 2011 Andres Mejia
# | * Copyright (c) 2011 Michihiro NAKAJIMA
# | * All rights reserved.
# | *
# | * Redistribution and use in source and binary forms, with or without
# | * modification, are permitted provided that the following conditions
# | * are met:
# | * 1. Redistributions of source code must retain the above copyright
# | * notice, this list of conditions and the following disclaimer.
# | * 2. Redistributions in binary form must reproduce the above copyright
# | * notice, this list of conditions and the following disclaimer in the
# | * documentation and/or other materials provided with the distribution.
# | *
# | * THIS SOFTWARE IS PROVIDED BY THE AUTHOR(S) ``AS IS'' AND ANY EXPRESS OR
# | * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
# | * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
# | * IN NO EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY DIRECT, INDIRECT,
# | * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
# | * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
# | * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
# | * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
# | * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
# | */
# |
# | #include "archive_platform.h"
# |
# | #include "archive.h"
# | #include "archive_digest_private.h"
# |
# | /* In particular, force the configure probe to break if it tries
# | * to test a combination of OpenSSL and libmd. */
# | #if defined(ARCHIVE_CRYPTO_OPENSSL) && defined(ARCHIVE_CRYPTO_LIBMD)
# | #error Cannot use both OpenSSL and libmd.
# | #endif
# |
# | /*
# | * Message digest functions for Windows platform.
# | */
# | #if defined(ARCHIVE_CRYPTO_MD5_WIN) ||\
# | defined(ARCHIVE_CRYPTO_SHA1_WIN) ||\
# | defined(ARCHIVE_CRYPTO_SHA256_WIN) ||\
# | defined(ARCHIVE_CRYPTO_SHA384_WIN) ||\
# | defined(ARCHIVE_CRYPTO_SHA512_WIN)
# |
# | /*
# | * Initialize a Message digest.
# | */
# | static int
# | win_crypto_init(Digest_CTX *ctx, ALG_ID algId)
# | {
# |
# | ctx->valid = 0;
# | if (!CryptAcquireContext(&ctx->cryptProv, NULL, NULL,
# | PROV_RSA_FULL, CRYPT_VERIFYCONTEXT)) {
# | if (GetLastError() != (DWORD)NTE_BAD_KEYSET)
# | return (ARCHIVE_FAILED);
# | if (!CryptAcquireContext(&ctx->cryptProv, NULL, NULL,
# | PROV_RSA_FULL, CRYPT_NEWKEYSET))
# | return (ARCHIVE_FAILED);
# | }
# |
# | if (!CryptCreateHash(ctx->cryptProv, algId, 0, 0, &ctx->hash)) {
# | CryptReleaseContext(ctx->cryptProv, 0);
# | return (ARCHIVE_FAILED);
# | }
# |
# | ctx->valid = 1;
# | return (ARCHIVE_OK);
# | }
# |
# | /*
# | * Update a Message digest.
# | */
# | static int
# | win_crypto_Update(Digest_CTX *ctx, const unsigned char *buf, size_t len)
# | {
# |
# | if (!ctx->valid)
# | return (ARCHIVE_FAILED);
# |
# | CryptHashData(ctx->hash,
# | (unsigned char *)(uintptr_t)buf,
# | (DWORD)len, 0);
# | return (ARCHIVE_OK);
# | }
# |
# | static int
# | win_crypto_Final(unsigned char *buf, size_t bufsize, Digest_CTX *ctx)
# | {
# | DWORD siglen = (DWORD)bufsize;
# |
# | if (!ctx->valid)
# | return (ARCHIVE_FAILED);
# |
# | CryptGetHashParam(ctx->hash, HP_HASHVAL, buf, &siglen, 0);
# | CryptDestroyHash(ctx->hash);
# | CryptReleaseContext(ctx->cryptProv, 0);
# | ctx->valid = 0;
# | return (ARCHIVE_OK);
# | }
# |
# | #endif /* defined(ARCHIVE_CRYPTO_*_WIN) */
# |
# |
# | /* MD5 implementations */
# | #if defined(ARCHIVE_CRYPTO_MD5_LIBC)
# |
# | static int
# | __archive_libc_md5init(archive_md5_ctx *ctx)
# | {
# | MD5Init(ctx);
# | return (ARCHIVE_OK);
# | }
# |
# | static int
# | __archive_libc_md5update(archive_md5_ctx *ctx, const void *indata,
# | size_t insize)
# | {
# | MD5Update(ctx, indata, insize);
# | return (ARCHIVE_OK);
# | }
# |
# | static int
# | __archive_libc_md5final(archive_md5_ctx *ctx, void *md)
# | {
# | MD5Final(md, ctx);
# | return (ARCHIVE_OK);
# | }
# |
# | #elif defined(ARCHIVE_CRYPTO_MD5_LIBMD)
# |
# | static int
# | __archive_libmd_md5init(archive_md5_ctx *ctx)
# | {
# | MD5Init(ctx);
# | return (ARCHIVE_OK);
# | }
# |
# | static int
# | __archive_libmd_md5update(archive_md5_ctx *ctx, const void *indata,
# | size_t insize)
# | {
# | MD5Update(ctx, indata, insize);
# | return (ARCHIVE_OK);
# | }
# |
# | static int
# | __archive_libmd_md5final(archive_md5_ctx *ctx, void *md)
# | {
# | MD5Final(md, ctx);
# | return (ARCHIVE_OK);
# | }
# |
# | #elif defined(ARCHIVE_CRYPTO_MD5_LIBSYSTEM)
# |
# | static int
# | __archive_libsystem_md5init(archive_md5_ctx *ctx)
# | {
# | CC_MD5_Init(ctx);
# | return (ARCHIVE_OK);
# | }
# |
# | static int
# | __archive_libsystem_md5update(archive_md5_ctx *ctx, const void *indata,
# | size_t insize)
# | {
# | CC_MD5_Update(ctx, indata, insize);
# | return (ARCHIVE_OK);
# | }
# |
# | static int
# | __archive_libsystem_md5final(archive_md5_ctx *ctx, void *md)
# | {
# | CC_MD5_Final(md, ctx);
# | return (ARCHIVE_OK);
# | }
# |
# | #elif defined(ARCHIVE_CRYPTO_MD5_NETTLE)
# |
# | static int
# | __archive_nettle_md5init(archive_md5_ctx *ctx)
# | {
# | md5_init(ctx);
# | return (ARCHIVE_OK);
# | }
# |
# | static int
# | __archive_nettle_md5update(archive_md5_ctx *ctx, const void *indata,
# | size_t insize)
# | {
# | md5_update(ctx, insize, indata);
# | return (ARCHIVE_OK);
# | }
# |
# | static int
# | __archive_nettle_md5final(archive_md5_ctx *ctx, void *md)
# | {
# | md5_digest(ctx, MD5_DIGEST_SIZE, md);
# | return (ARCHIVE_OK);
# | }
# |
# | #elif defined(ARCHIVE_CRYPTO_MD5_OPENSSL)
# |
# | static int
# | __archive_openssl_md5init(archive_md5_ctx *ctx)
# | {
# | 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: clang -o conftest -Wall -Wformat -Wformat-security -I. -I. -I./libarchive conftest.c -lacl -lexpat -llzo2 -llzma -llz4 -lbz2 -lz >&5
# In file included from conftest.c:252:
# ./libarchive/archive_digest_private.h:78:10: fatal error: 'sha2.h' file not found
# #include
# ^
# 1 error generated.
# 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_EXT2FS_EXT2_FS_H 1
# | #define HAVE_FCNTL_H 1
# | #define HAVE_GRP_H 1
# | #define HAVE_WORKING_EXT2_IOC_GETFLAGS 1
# | #define HAVE_INTTYPES_H 1
# | #define HAVE_LANGINFO_H 1
# | #define HAVE_LIMITS_H 1
# | #define HAVE_LINUX_FIEMAP_H 1
# | #define HAVE_LINUX_FS_H 1
# | #define HAVE_LINUX_MAGIC_H 1
# | #define HAVE_LINUX_TYPES_H 1
# | #define HAVE_LOCALE_H 1
# | #define HAVE_PATHS_H 1
# | #define HAVE_POLL_H 1
# | #define HAVE_PTHREAD_H 1
# | #define HAVE_PWD_H 1
# | #define HAVE_SIGNAL_H 1
# | #define HAVE_SPAWN_H 1
# | #define HAVE_STDARG_H 1
# | #define HAVE_STDINT_H 1
# | #define HAVE_STDLIB_H 1
# | #define HAVE_STRING_H 1
# | #define HAVE_SYS_CDEFS_H 1
# | #define HAVE_SYS_IOCTL_H 1
# | #define HAVE_SYS_MOUNT_H 1
# | #define HAVE_SYS_PARAM_H 1
# | #define HAVE_SYS_POLL_H 1
# | #define HAVE_SYS_SELECT_H 1
# | #define HAVE_SYS_STATFS_H 1
# | #define HAVE_SYS_STATVFS_H 1
# | #define HAVE_SYS_TIME_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_BZLIB_H 1
# | #define HAVE_LIBBZ2 1
# | #define HAVE_ICONV 1
# | #define ICONV_CONST
# | #define HAVE_ICONV_H 1
# | #define HAVE_LZ4_H 1
# | #define HAVE_LZ4HC_H 1
# | #define HAVE_LIBLZ4 1
# | #define HAVE_LZMA_H 1
# | #define HAVE_LIBLZMA 1
# | #define HAVE_LZMA_STREAM_ENCODER_MT 1
# | #define HAVE_LZO_LZOCONF_H 1
# | #define HAVE_LZO_LZO1X_H 1
# | #define HAVE_LIBLZO2 1
# | #define HAVE_EXPAT_H 1
# | #define HAVE_LIBEXPAT 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 1
# | #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1
# | #define HAVE_STRUCT_STAT_ST_BLKSIZE 1
# | #define HAVE_UINTMAX_T 1
# | #define HAVE_UNSIGNED_LONG_LONG 1
# | #define HAVE_UNSIGNED_LONG_LONG_INT 1
# | #define HAVE_LONG_LONG_INT 1
# | #define HAVE_INTMAX_T 1
# | #define HAVE_UINTMAX_T 1
# | #define HAVE_DECL_SIZE_MAX 1
# | #define HAVE_DECL_INT32_MAX 1
# | #define HAVE_DECL_INT32_MIN 1
# | #define HAVE_DECL_INT64_MAX 1
# | #define HAVE_DECL_INT64_MIN 1
# | #define HAVE_DECL_UINT64_MAX 1
# | #define HAVE_DECL_UINT32_MAX 1
# | #define HAVE_DECL_INTMAX_MAX 1
# | #define HAVE_DECL_INTMAX_MIN 1
# | #define HAVE_DECL_UINTMAX_MAX 1
# | #define HAVE_DECL_SSIZE_MAX 1
# | #define HAVE_EILSEQ 1
# | #define HAVE_WCHAR_T 1
# | #define SIZEOF_WCHAR_T 4
# | #define TIME_WITH_SYS_TIME 1
# | #define HAVE_FSEEKO 1
# | #define LSTAT_FOLLOWS_SLASHED_SYMLINK 1
# | #define HAVE_DECL_STRERROR_R 1
# | #define HAVE_STRERROR_R 1
# | #define STRERROR_R_CHAR_P 1
# | #define HAVE_STRFTIME 1
# | #define HAVE_VPRINTF 1
# | #define HAVE_CHOWN 1
# | #define HAVE_CHROOT 1
# | #define HAVE_CTIME_R 1
# | #define HAVE_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_FUTIMES 1
# | #define HAVE_FUTIMESAT 1
# | #define HAVE_GETEUID 1
# | #define HAVE_GETPID 1
# | #define HAVE_GETGRGID_R 1
# | #define HAVE_GETGRNAM_R 1
# | #define HAVE_GETPWNAM_R 1
# | #define HAVE_GETPWUID_R 1
# | #define HAVE_GMTIME_R 1
# | #define HAVE_LCHOWN 1
# | #define HAVE_LINK 1
# | #define HAVE_LOCALTIME_R 1
# | #define HAVE_LSTAT 1
# | #define HAVE_LUTIMES 1
# | #define HAVE_MBRTOWC 1
# | #define HAVE_MEMMOVE 1
# | #define HAVE_MEMSET 1
# | #define HAVE_MKDIR 1
# | #define HAVE_MKFIFO 1
# | #define HAVE_MKNOD 1
# | #define HAVE_MKSTEMP 1
# | #define HAVE_NL_LANGINFO 1
# | #define HAVE_OPENAT 1
# | #define HAVE_PIPE 1
# | #define HAVE_POLL 1
# | #define HAVE_POSIX_SPAWNP 1
# | #define HAVE_READLINK 1
# | #define HAVE_READLINKAT 1
# | #define HAVE_SELECT 1
# | #define HAVE_SETENV 1
# | #define HAVE_SETLOCALE 1
# | #define HAVE_SIGACTION 1
# | #define HAVE_STATFS 1
# | #define HAVE_STATVFS 1
# | #define HAVE_STRCHR 1
# | #define HAVE_STRDUP 1
# | #define HAVE_STRERROR 1
# | #define HAVE_STRRCHR 1
# | #define HAVE_SYMLINK 1
# | #define HAVE_TIMEGM 1
# | #define HAVE_TZSET 1
# | #define HAVE_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_ATTR_XATTR_H 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
# | #define HAVE_ACL_LIBACL_H 1
# | #define HAVE_SYS_ACL_H 1
# | #define HAVE_LIBACL 1
# | #define HAVE_ACL_CREATE_ENTRY 1
# | #define HAVE_ACL_INIT 1
# | #define HAVE_ACL_SET_FD 1
# | #define HAVE_ACL_SET_FILE 1
# | #define HAVE_ACL_PERMSET_T 1
# | #define HAVE_ACL_GET_PERM 1
# | #define HAVE_ACL_USER 1
# | /* end confdefs.h. */
# |
# | #define ARCHIVE_SHA256_COMPILE_TEST
# | #define ARCHIVE_CRYPTO_SHA256_LIBC3
# | #define PLATFORM_CONFIG_H "check_crypto_md.h"
# |
# | /*-
# | * Copyright (c) 2003-2007 Tim Kientzle
# | * Copyright (c) 2011 Andres Mejia
# | * Copyright (c) 2011 Michihiro NAKAJIMA
# | * All rights reserved.
# | *
# | * Redistribution and use in source and binary forms, with or without
# | * modification, are permitted provided that the following conditions
# | * are met:
# | * 1. Redistributions of source code must retain the above copyright
# | * notice, this list of conditions and the following disclaimer.
# | * 2. Redistributions in binary form must reproduce the above copyright
# | * notice, this list of conditions and the following disclaimer in the
# | * documentation and/or other materials provided with the distribution.
# | *
# | * THIS SOFTWARE IS PROVIDED BY THE AUTHOR(S) ``AS IS'' AND ANY EXPRESS OR
# | * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
# | * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
# | * IN NO EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY DIRECT, INDIRECT,
# | * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
# | * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
# | * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
# | * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
# | * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
# | */
# |
# | #include "archive_platform.h"
# |
# | #include "archive.h"
# | #include "archive_digest_private.h"
# |
# | /* In particular, force the configure probe to break if it tries
# | * to test a combination of OpenSSL and libmd. */
# | #if defined(ARCHIVE_CRYPTO_OPENSSL) && defined(ARCHIVE_CRYPTO_LIBMD)
# | #error Cannot use both OpenSSL and libmd.
# | #endif
# |
# | /*
# | * Message digest functions for Windows platform.
# | */
# | #if defined(ARCHIVE_CRYPTO_MD5_WIN) ||\
# | defined(ARCHIVE_CRYPTO_SHA1_WIN) ||\
# | defined(ARCHIVE_CRYPTO_SHA256_WIN) ||\
# | defined(ARCHIVE_CRYPTO_SHA384_WIN) ||\
# | defined(ARCHIVE_CRYPTO_SHA512_WIN)
# |
# | /*
# | * Initialize a Message digest.
# | */
# | static int
# | win_crypto_init(Digest_CTX *ctx, ALG_ID algId)
# | {
# |
# | ctx->valid = 0;
# | if (!CryptAcquireContext(&ctx->cryptProv, NULL, NULL,
# | PROV_RSA_FULL, CRYPT_VERIFYCONTEXT)) {
# | if (GetLastError() != (DWORD)NTE_BAD_KEYSET)
# | return (ARCHIVE_FAILED);
# | if (!CryptAcquireContext(&ctx->cryptProv, NULL, NULL,
# | PROV_RSA_FULL, CRYPT_NEWKEYSET))
# | return (ARCHIVE_FAILED);
# | }
# |
# | if (!CryptCreateHash(ctx->cryptProv, algId, 0, 0, &ctx->hash)) {
# | CryptReleaseContext(ctx->cryptProv, 0);
# | return (ARCHIVE_FAILED);
# | }
# |
# | ctx->valid = 1;
# | return (ARCHIVE_OK);
# | }
# |
# | /*
# | * Update a Message digest.
# | */
# | static int
# | win_crypto_Update(Digest_CTX *ctx, const unsigned char *buf, size_t len)
# | {
# |
# | if (!ctx->valid)
# | return (ARCHIVE_FAILED);
# |
# | CryptHashData(ctx->hash,
# | (unsigned char *)(uintptr_t)buf,
# | (DWORD)len, 0);
# | return (ARCHIVE_OK);
# | }
# |
# | static int
# | win_crypto_Final(unsigned char *buf, size_t bufsize, Digest_CTX *ctx)
# | {
# | DWORD siglen = (DWORD)bufsize;
# |
# | if (!ctx->valid)
# | return (ARCHIVE_FAILED);
# |
# | CryptGetHashParam(ctx->hash, HP_HASHVAL, buf, &siglen, 0);
# | CryptDestroyHash(ctx->hash);
# | CryptReleaseContext(ctx->cryptProv, 0);
# | ctx->valid = 0;
# | return (ARCHIVE_OK);
# | }
# |
# | #endif /* defined(ARCHIVE_CRYPTO_*_WIN) */
# |
# |
# | /* MD5 implementations */
# | #if defined(ARCHIVE_CRYPTO_MD5_LIBC)
# |
# | static int
# | __archive_libc_md5init(archive_md5_ctx *ctx)
# | {
# | MD5Init(ctx);
# | return (ARCHIVE_OK);
# | }
# |
# | static int
# | __archive_libc_md5update(archive_md5_ctx *ctx, const void *indata,
# | size_t insize)
# | {
# | MD5Update(ctx, indata, insize);
# | return (ARCHIVE_OK);
# | }
# |
# | static int
# | __archive_libc_md5final(archive_md5_ctx *ctx, void *md)
# | {
# | MD5Final(md, ctx);
# | return (ARCHIVE_OK);
# | }
# |
# | #elif defined(ARCHIVE_CRYPTO_MD5_LIBMD)
# |
# | static int
# | __archive_libmd_md5init(archive_md5_ctx *ctx)
# | {
# | MD5Init(ctx);
# | return (ARCHIVE_OK);
# | }
# |
# | static int
# | __archive_libmd_md5update(archive_md5_ctx *ctx, const void *indata,
# | size_t insize)
# | {
# | MD5Update(ctx, indata, insize);
# | return (ARCHIVE_OK);
# | }
# |
# | static int
# | __archive_libmd_md5final(archive_md5_ctx *ctx, void *md)
# | {
# | MD5Final(md, ctx);
# | return (ARCHIVE_OK);
# | }
# |
# | #elif defined(ARCHIVE_CRYPTO_MD5_LIBSYSTEM)
# |
# | static int
# | __archive_libsystem_md5init(archive_md5_ctx *ctx)
# | {
# | CC_MD5_Init(ctx);
# | return (ARCHIVE_OK);
# | }
# |
# | static int
# | __archive_libsystem_md5update(archive_md5_ctx *ctx, const void *indata,
# | size_t insize)
# | {
# | CC_MD5_Update(ctx, indata, insize);
# | return (ARCHIVE_OK);
# | }
# |
# | static int
# | __archive_libsystem_md5final(archive_md5_ctx *ctx, void *md)
# | {
# | CC_MD5_Final(md, ctx);
# | return (ARCHIVE_OK);
# | }
# |
# | #elif defined(ARCHIVE_CRYPTO_MD5_NETTLE)
# |
# | static int
# | __archive_nettle_md5init(archive_md5_ctx *ctx)
# | {
# | md5_init(ctx);
# | return (ARCHIVE_OK);
# | }
# |
# | static int
# | __archive_nettle_md5update(archive_md5_ctx *ctx, const void *indata,
# | size_t insize)
# | {
# | md5_update(ctx, insize, indata);
# | return (ARCHIVE_OK);
# | }
# |
# | static int
# | __archive_nettle_md5final(archive_md5_ctx *ctx, void *md)
# | {
# | md5_digest(ctx, MD5_DIGEST_SIZE, md);
# | return (ARCHIVE_OK);
# | }
# |
# | #elif defined(ARCHIVE_CRYPTO_MD5_OPENSSL)
# |
# | static int
# | __archive_openssl_md5init(archive_md5_ctx *ctx)
# | {
# | 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: clang -o conftest -Wall -Wformat -Wformat-security -I. -I. -I./libarchive conftest.c -lacl -lexpat -llzo2 -llzma -llz4 -lbz2 -lz >&5
# In file included from conftest.c:252:
# ./libarchive/archive_digest_private.h:112:10: fatal error: 'CommonCrypto/CommonDigest.h' file not found
# #include
# ^
# 1 error generated.
# 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_EXT2FS_EXT2_FS_H 1
# | #define HAVE_FCNTL_H 1
# | #define HAVE_GRP_H 1
# | #define HAVE_WORKING_EXT2_IOC_GETFLAGS 1
# | #define HAVE_INTTYPES_H 1
# | #define HAVE_LANGINFO_H 1
# | #define HAVE_LIMITS_H 1
# | #define HAVE_LINUX_FIEMAP_H 1
# | #define HAVE_LINUX_FS_H 1
# | #define HAVE_LINUX_MAGIC_H 1
# | #define HAVE_LINUX_TYPES_H 1
# | #define HAVE_LOCALE_H 1
# | #define HAVE_PATHS_H 1
# | #define HAVE_POLL_H 1
# | #define HAVE_PTHREAD_H 1
# | #define HAVE_PWD_H 1
# | #define HAVE_SIGNAL_H 1
# | #define HAVE_SPAWN_H 1
# | #define HAVE_STDARG_H 1
# | #define HAVE_STDINT_H 1
# | #define HAVE_STDLIB_H 1
# | #define HAVE_STRING_H 1
# | #define HAVE_SYS_CDEFS_H 1
# | #define HAVE_SYS_IOCTL_H 1
# | #define HAVE_SYS_MOUNT_H 1
# | #define HAVE_SYS_PARAM_H 1
# | #define HAVE_SYS_POLL_H 1
# | #define HAVE_SYS_SELECT_H 1
# | #define HAVE_SYS_STATFS_H 1
# | #define HAVE_SYS_STATVFS_H 1
# | #define HAVE_SYS_TIME_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_BZLIB_H 1
# | #define HAVE_LIBBZ2 1
# | #define HAVE_ICONV 1
# | #define ICONV_CONST
# | #define HAVE_ICONV_H 1
# | #define HAVE_LZ4_H 1
# | #define HAVE_LZ4HC_H 1
# | #define HAVE_LIBLZ4 1
# | #define HAVE_LZMA_H 1
# | #define HAVE_LIBLZMA 1
# | #define HAVE_LZMA_STREAM_ENCODER_MT 1
# | #define HAVE_LZO_LZOCONF_H 1
# | #define HAVE_LZO_LZO1X_H 1
# | #define HAVE_LIBLZO2 1
# | #define HAVE_EXPAT_H 1
# | #define HAVE_LIBEXPAT 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 1
# | #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1
# | #define HAVE_STRUCT_STAT_ST_BLKSIZE 1
# | #define HAVE_UINTMAX_T 1
# | #define HAVE_UNSIGNED_LONG_LONG 1
# | #define HAVE_UNSIGNED_LONG_LONG_INT 1
# | #define HAVE_LONG_LONG_INT 1
# | #define HAVE_INTMAX_T 1
# | #define HAVE_UINTMAX_T 1
# | #define HAVE_DECL_SIZE_MAX 1
# | #define HAVE_DECL_INT32_MAX 1
# | #define HAVE_DECL_INT32_MIN 1
# | #define HAVE_DECL_INT64_MAX 1
# | #define HAVE_DECL_INT64_MIN 1
# | #define HAVE_DECL_UINT64_MAX 1
# | #define HAVE_DECL_UINT32_MAX 1
# | #define HAVE_DECL_INTMAX_MAX 1
# | #define HAVE_DECL_INTMAX_MIN 1
# | #define HAVE_DECL_UINTMAX_MAX 1
# | #define HAVE_DECL_SSIZE_MAX 1
# | #define HAVE_EILSEQ 1
# | #define HAVE_WCHAR_T 1
# | #define SIZEOF_WCHAR_T 4
# | #define TIME_WITH_SYS_TIME 1
# | #define HAVE_FSEEKO 1
# | #define LSTAT_FOLLOWS_SLASHED_SYMLINK 1
# | #define HAVE_DECL_STRERROR_R 1
# | #define HAVE_STRERROR_R 1
# | #define STRERROR_R_CHAR_P 1
# | #define HAVE_STRFTIME 1
# | #define HAVE_VPRINTF 1
# | #define HAVE_CHOWN 1
# | #define HAVE_CHROOT 1
# | #define HAVE_CTIME_R 1
# | #define HAVE_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_FUTIMES 1
# | #define HAVE_FUTIMESAT 1
# | #define HAVE_GETEUID 1
# | #define HAVE_GETPID 1
# | #define HAVE_GETGRGID_R 1
# | #define HAVE_GETGRNAM_R 1
# | #define HAVE_GETPWNAM_R 1
# | #define HAVE_GETPWUID_R 1
# | #define HAVE_GMTIME_R 1
# | #define HAVE_LCHOWN 1
# | #define HAVE_LINK 1
# | #define HAVE_LOCALTIME_R 1
# | #define HAVE_LSTAT 1
# | #define HAVE_LUTIMES 1
# | #define HAVE_MBRTOWC 1
# | #define HAVE_MEMMOVE 1
# | #define HAVE_MEMSET 1
# | #define HAVE_MKDIR 1
# | #define HAVE_MKFIFO 1
# | #define HAVE_MKNOD 1
# | #define HAVE_MKSTEMP 1
# | #define HAVE_NL_LANGINFO 1
# | #define HAVE_OPENAT 1
# | #define HAVE_PIPE 1
# | #define HAVE_POLL 1
# | #define HAVE_POSIX_SPAWNP 1
# | #define HAVE_READLINK 1
# | #define HAVE_READLINKAT 1
# | #define HAVE_SELECT 1
# | #define HAVE_SETENV 1
# | #define HAVE_SETLOCALE 1
# | #define HAVE_SIGACTION 1
# | #define HAVE_STATFS 1
# | #define HAVE_STATVFS 1
# | #define HAVE_STRCHR 1
# | #define HAVE_STRDUP 1
# | #define HAVE_STRERROR 1
# | #define HAVE_STRRCHR 1
# | #define HAVE_SYMLINK 1
# | #define HAVE_TIMEGM 1
# | #define HAVE_TZSET 1
# | #define HAVE_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_ATTR_XATTR_H 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
# | #define HAVE_ACL_LIBACL_H 1
# | #define HAVE_SYS_ACL_H 1
# | #define HAVE_LIBACL 1
# | #define HAVE_ACL_CREATE_ENTRY 1
# | #define HAVE_ACL_INIT 1
# | #define HAVE_ACL_SET_FD 1
# | #define HAVE_ACL_SET_FILE 1
# | #define HAVE_ACL_PERMSET_T 1
# | #define HAVE_ACL_GET_PERM 1
# | #define HAVE_ACL_USER 1
# | /* end confdefs.h. */
# |
# | #define ARCHIVE_SHA256_COMPILE_TEST
# | #define ARCHIVE_CRYPTO_SHA256_LIBSYSTEM
# | #define PLATFORM_CONFIG_H "check_crypto_md.h"
# |
# | /*-
# | * Copyright (c) 2003-2007 Tim Kientzle
# | * Copyright (c) 2011 Andres Mejia
# | * Copyright (c) 2011 Michihiro NAKAJIMA
# | * All rights reserved.
# | *
# | * Redistribution and use in source and binary forms, with or without
# | * modification, are permitted provided that the following conditions
# | * are met:
# | * 1. Redistributions of source code must retain the above copyright
# | * notice, this list of conditions and the following disclaimer.
# | * 2. Redistributions in binary form must reproduce the above copyright
# | * notice, this list of conditions and the following disclaimer in the
# | * documentation and/or other materials provided with the distribution.
# | *
# | * THIS SOFTWARE IS PROVIDED BY THE AUTHOR(S) ``AS IS'' AND ANY EXPRESS OR
# | * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
# | * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
# | * IN NO EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY DIRECT, INDIRECT,
# | * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
# | * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
# | * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
# | * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
# | * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
# | */
# |
# | #include "archive_platform.h"
# |
# | #include "archive.h"
# | #include "archive_digest_private.h"
# |
# | /* In particular, force the configure probe to break if it tries
# | * to test a combination of OpenSSL and libmd. */
# | #if defined(ARCHIVE_CRYPTO_OPENSSL) && defined(ARCHIVE_CRYPTO_LIBMD)
# | #error Cannot use both OpenSSL and libmd.
# | #endif
# |
# | /*
# | * Message digest functions for Windows platform.
# | */
# | #if defined(ARCHIVE_CRYPTO_MD5_WIN) ||\
# | defined(ARCHIVE_CRYPTO_SHA1_WIN) ||\
# | defined(ARCHIVE_CRYPTO_SHA256_WIN) ||\
# | defined(ARCHIVE_CRYPTO_SHA384_WIN) ||\
# | defined(ARCHIVE_CRYPTO_SHA512_WIN)
# |
# | /*
# | * Initialize a Message digest.
# | */
# | static int
# | win_crypto_init(Digest_CTX *ctx, ALG_ID algId)
# | {
# |
# | ctx->valid = 0;
# | if (!CryptAcquireContext(&ctx->cryptProv, NULL, NULL,
# | PROV_RSA_FULL, CRYPT_VERIFYCONTEXT)) {
# | if (GetLastError() != (DWORD)NTE_BAD_KEYSET)
# | return (ARCHIVE_FAILED);
# | if (!CryptAcquireContext(&ctx->cryptProv, NULL, NULL,
# | PROV_RSA_FULL, CRYPT_NEWKEYSET))
# | return (ARCHIVE_FAILED);
# | }
# |
# | if (!CryptCreateHash(ctx->cryptProv, algId, 0, 0, &ctx->hash)) {
# | CryptReleaseContext(ctx->cryptProv, 0);
# | return (ARCHIVE_FAILED);
# | }
# |
# | ctx->valid = 1;
# | return (ARCHIVE_OK);
# | }
# |
# | /*
# | * Update a Message digest.
# | */
# | static int
# | win_crypto_Update(Digest_CTX *ctx, const unsigned char *buf, size_t len)
# | {
# |
# | if (!ctx->valid)
# | return (ARCHIVE_FAILED);
# |
# | CryptHashData(ctx->hash,
# | (unsigned char *)(uintptr_t)buf,
# | (DWORD)len, 0);
# | return (ARCHIVE_OK);
# | }
# |
# | static int
# | win_crypto_Final(unsigned char *buf, size_t bufsize, Digest_CTX *ctx)
# | {
# | DWORD siglen = (DWORD)bufsize;
# |
# | if (!ctx->valid)
# | return (ARCHIVE_FAILED);
# |
# | CryptGetHashParam(ctx->hash, HP_HASHVAL, buf, &siglen, 0);
# | CryptDestroyHash(ctx->hash);
# | CryptReleaseContext(ctx->cryptProv, 0);
# | ctx->valid = 0;
# | return (ARCHIVE_OK);
# | }
# |
# | #endif /* defined(ARCHIVE_CRYPTO_*_WIN) */
# |
# |
# | /* MD5 implementations */
# | #if defined(ARCHIVE_CRYPTO_MD5_LIBC)
# |
# | static int
# | __archive_libc_md5init(archive_md5_ctx *ctx)
# | {
# | MD5Init(ctx);
# | return (ARCHIVE_OK);
# | }
# |
# | static int
# | __archive_libc_md5update(archive_md5_ctx *ctx, const void *indata,
# | size_t insize)
# | {
# | MD5Update(ctx, indata, insize);
# | return (ARCHIVE_OK);
# | }
# |
# | static int
# | __archive_libc_md5final(archive_md5_ctx *ctx, void *md)
# | {
# | MD5Final(md, ctx);
# | return (ARCHIVE_OK);
# | }
# |
# | #elif defined(ARCHIVE_CRYPTO_MD5_LIBMD)
# |
# | static int
# | __archive_libmd_md5init(archive_md5_ctx *ctx)
# | {
# | MD5Init(ctx);
# | return (ARCHIVE_OK);
# | }
# |
# | static int
# | __archive_libmd_md5update(archive_md5_ctx *ctx, const void *indata,
# | size_t insize)
# | {
# | MD5Update(ctx, indata, insize);
# | return (ARCHIVE_OK);
# | }
# |
# | static int
# | __archive_libmd_md5final(archive_md5_ctx *ctx, void *md)
# | {
# | MD5Final(md, ctx);
# | return (ARCHIVE_OK);
# | }
# |
# | #elif defined(ARCHIVE_CRYPTO_MD5_LIBSYSTEM)
# |
# | static int
# | __archive_libsystem_md5init(archive_md5_ctx *ctx)
# | {
# | CC_MD5_Init(ctx);
# | return (ARCHIVE_OK);
# | }
# |
# | static int
# | __archive_libsystem_md5update(archive_md5_ctx *ctx, const void *indata,
# | size_t insize)
# | {
# | CC_MD5_Update(ctx, indata, insize);
# | return (ARCHIVE_OK);
# | }
# |
# | static int
# | __archive_libsystem_md5final(archive_md5_ctx *ctx, void *md)
# | {
# | CC_MD5_Final(md, ctx);
# | return (ARCHIVE_OK);
# | }
# |
# | #elif defined(ARCHIVE_CRYPTO_MD5_NETTLE)
# |
# | static int
# | __archive_nettle_md5init(archive_md5_ctx *ctx)
# | {
# | md5_init(ctx);
# | return (ARCHIVE_OK);
# | }
# |
# | static int
# | __archive_nettle_md5update(archive_md5_ctx *ctx, const void *indata,
# | size_t insize)
# | {
# | md5_update(ctx, insize, indata);
# | return (ARCHIVE_OK);
# | }
# |
# | static int
# | __archive_nettle_md5final(archive_md5_ctx *ctx, void *md)
# | {
# | md5_digest(ctx, MD5_DIGEST_SIZE, md);
# | return (ARCHIVE_OK);
# | }
# |
# | #elif defined(ARCHIVE_CRYPTO_MD5_OPENSSL)
# |
# | static int
# | __archive_openssl_md5init(archive_md5_ctx *ctx)
# | {
# | 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: clang -o conftest -Wall -Wformat -Wformat-security -I. -I. -I./libarchive conftest.c -lacl -lexpat -llzo2 -llzma -llz4 -lbz2 -lz >&5
# In file included from conftest.c:252:
# ./libarchive/archive_digest_private.h:78:10: fatal error: 'sha2.h' file not found
# #include
# ^
# 1 error generated.
# 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_EXT2FS_EXT2_FS_H 1
# | #define HAVE_FCNTL_H 1
# | #define HAVE_GRP_H 1
# | #define HAVE_WORKING_EXT2_IOC_GETFLAGS 1
# | #define HAVE_INTTYPES_H 1
# | #define HAVE_LANGINFO_H 1
# | #define HAVE_LIMITS_H 1
# | #define HAVE_LINUX_FIEMAP_H 1
# | #define HAVE_LINUX_FS_H 1
# | #define HAVE_LINUX_MAGIC_H 1
# | #define HAVE_LINUX_TYPES_H 1
# | #define HAVE_LOCALE_H 1
# | #define HAVE_PATHS_H 1
# | #define HAVE_POLL_H 1
# | #define HAVE_PTHREAD_H 1
# | #define HAVE_PWD_H 1
# | #define HAVE_SIGNAL_H 1
# | #define HAVE_SPAWN_H 1
# | #define HAVE_STDARG_H 1
# | #define HAVE_STDINT_H 1
# | #define HAVE_STDLIB_H 1
# | #define HAVE_STRING_H 1
# | #define HAVE_SYS_CDEFS_H 1
# | #define HAVE_SYS_IOCTL_H 1
# | #define HAVE_SYS_MOUNT_H 1
# | #define HAVE_SYS_PARAM_H 1
# | #define HAVE_SYS_POLL_H 1
# | #define HAVE_SYS_SELECT_H 1
# | #define HAVE_SYS_STATFS_H 1
# | #define HAVE_SYS_STATVFS_H 1
# | #define HAVE_SYS_TIME_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_BZLIB_H 1
# | #define HAVE_LIBBZ2 1
# | #define HAVE_ICONV 1
# | #define ICONV_CONST
# | #define HAVE_ICONV_H 1
# | #define HAVE_LZ4_H 1
# | #define HAVE_LZ4HC_H 1
# | #define HAVE_LIBLZ4 1
# | #define HAVE_LZMA_H 1
# | #define HAVE_LIBLZMA 1
# | #define HAVE_LZMA_STREAM_ENCODER_MT 1
# | #define HAVE_LZO_LZOCONF_H 1
# | #define HAVE_LZO_LZO1X_H 1
# | #define HAVE_LIBLZO2 1
# | #define HAVE_EXPAT_H 1
# | #define HAVE_LIBEXPAT 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 1
# | #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1
# | #define HAVE_STRUCT_STAT_ST_BLKSIZE 1
# | #define HAVE_UINTMAX_T 1
# | #define HAVE_UNSIGNED_LONG_LONG 1
# | #define HAVE_UNSIGNED_LONG_LONG_INT 1
# | #define HAVE_LONG_LONG_INT 1
# | #define HAVE_INTMAX_T 1
# | #define HAVE_UINTMAX_T 1
# | #define HAVE_DECL_SIZE_MAX 1
# | #define HAVE_DECL_INT32_MAX 1
# | #define HAVE_DECL_INT32_MIN 1
# | #define HAVE_DECL_INT64_MAX 1
# | #define HAVE_DECL_INT64_MIN 1
# | #define HAVE_DECL_UINT64_MAX 1
# | #define HAVE_DECL_UINT32_MAX 1
# | #define HAVE_DECL_INTMAX_MAX 1
# | #define HAVE_DECL_INTMAX_MIN 1
# | #define HAVE_DECL_UINTMAX_MAX 1
# | #define HAVE_DECL_SSIZE_MAX 1
# | #define HAVE_EILSEQ 1
# | #define HAVE_WCHAR_T 1
# | #define SIZEOF_WCHAR_T 4
# | #define TIME_WITH_SYS_TIME 1
# | #define HAVE_FSEEKO 1
# | #define LSTAT_FOLLOWS_SLASHED_SYMLINK 1
# | #define HAVE_DECL_STRERROR_R 1
# | #define HAVE_STRERROR_R 1
# | #define STRERROR_R_CHAR_P 1
# | #define HAVE_STRFTIME 1
# | #define HAVE_VPRINTF 1
# | #define HAVE_CHOWN 1
# | #define HAVE_CHROOT 1
# | #define HAVE_CTIME_R 1
# | #define HAVE_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_FUTIMES 1
# | #define HAVE_FUTIMESAT 1
# | #define HAVE_GETEUID 1
# | #define HAVE_GETPID 1
# | #define HAVE_GETGRGID_R 1
# | #define HAVE_GETGRNAM_R 1
# | #define HAVE_GETPWNAM_R 1
# | #define HAVE_GETPWUID_R 1
# | #define HAVE_GMTIME_R 1
# | #define HAVE_LCHOWN 1
# | #define HAVE_LINK 1
# | #define HAVE_LOCALTIME_R 1
# | #define HAVE_LSTAT 1
# | #define HAVE_LUTIMES 1
# | #define HAVE_MBRTOWC 1
# | #define HAVE_MEMMOVE 1
# | #define HAVE_MEMSET 1
# | #define HAVE_MKDIR 1
# | #define HAVE_MKFIFO 1
# | #define HAVE_MKNOD 1
# | #define HAVE_MKSTEMP 1
# | #define HAVE_NL_LANGINFO 1
# | #define HAVE_OPENAT 1
# | #define HAVE_PIPE 1
# | #define HAVE_POLL 1
# | #define HAVE_POSIX_SPAWNP 1
# | #define HAVE_READLINK 1
# | #define HAVE_READLINKAT 1
# | #define HAVE_SELECT 1
# | #define HAVE_SETENV 1
# | #define HAVE_SETLOCALE 1
# | #define HAVE_SIGACTION 1
# | #define HAVE_STATFS 1
# | #define HAVE_STATVFS 1
# | #define HAVE_STRCHR 1
# | #define HAVE_STRDUP 1
# | #define HAVE_STRERROR 1
# | #define HAVE_STRRCHR 1
# | #define HAVE_SYMLINK 1
# | #define HAVE_TIMEGM 1
# | #define HAVE_TZSET 1
# | #define HAVE_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_ATTR_XATTR_H 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
# | #define HAVE_ACL_LIBACL_H 1
# | #define HAVE_SYS_ACL_H 1
# | #define HAVE_LIBACL 1
# | #define HAVE_ACL_CREATE_ENTRY 1
# | #define HAVE_ACL_INIT 1
# | #define HAVE_ACL_SET_FD 1
# | #define HAVE_ACL_SET_FILE 1
# | #define HAVE_ACL_PERMSET_T 1
# | #define HAVE_ACL_GET_PERM 1
# | #define HAVE_ACL_USER 1
# | /* end confdefs.h. */
# |
# | #define ARCHIVE_SHA384_COMPILE_TEST
# | #define ARCHIVE_CRYPTO_SHA384_LIBC
# | #define PLATFORM_CONFIG_H "check_crypto_md.h"
# |
# | /*-
# | * Copyright (c) 2003-2007 Tim Kientzle
# | * Copyright (c) 2011 Andres Mejia
# | * Copyright (c) 2011 Michihiro NAKAJIMA
# | * All rights reserved.
# | *
# | * Redistribution and use in source and binary forms, with or without
# | * modification, are permitted provided that the following conditions
# | * are met:
# | * 1. Redistributions of source code must retain the above copyright
# | * notice, this list of conditions and the following disclaimer.
# | * 2. Redistributions in binary form must reproduce the above copyright
# | * notice, this list of conditions and the following disclaimer in the
# | * documentation and/or other materials provided with the distribution.
# | *
# | * THIS SOFTWARE IS PROVIDED BY THE AUTHOR(S) ``AS IS'' AND ANY EXPRESS OR
# | * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
# | * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
# | * IN NO EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY DIRECT, INDIRECT,
# | * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
# | * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
# | * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
# | * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
# | * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
# | */
# |
# | #include "archive_platform.h"
# |
# | #include "archive.h"
# | #include "archive_digest_private.h"
# |
# | /* In particular, force the configure probe to break if it tries
# | * to test a combination of OpenSSL and libmd. */
# | #if defined(ARCHIVE_CRYPTO_OPENSSL) && defined(ARCHIVE_CRYPTO_LIBMD)
# | #error Cannot use both OpenSSL and libmd.
# | #endif
# |
# | /*
# | * Message digest functions for Windows platform.
# | */
# | #if defined(ARCHIVE_CRYPTO_MD5_WIN) ||\
# | defined(ARCHIVE_CRYPTO_SHA1_WIN) ||\
# | defined(ARCHIVE_CRYPTO_SHA256_WIN) ||\
# | defined(ARCHIVE_CRYPTO_SHA384_WIN) ||\
# | defined(ARCHIVE_CRYPTO_SHA512_WIN)
# |
# | /*
# | * Initialize a Message digest.
# | */
# | static int
# | win_crypto_init(Digest_CTX *ctx, ALG_ID algId)
# | {
# |
# | ctx->valid = 0;
# | if (!CryptAcquireContext(&ctx->cryptProv, NULL, NULL,
# | PROV_RSA_FULL, CRYPT_VERIFYCONTEXT)) {
# | if (GetLastError() != (DWORD)NTE_BAD_KEYSET)
# | return (ARCHIVE_FAILED);
# | if (!CryptAcquireContext(&ctx->cryptProv, NULL, NULL,
# | PROV_RSA_FULL, CRYPT_NEWKEYSET))
# | return (ARCHIVE_FAILED);
# | }
# |
# | if (!CryptCreateHash(ctx->cryptProv, algId, 0, 0, &ctx->hash)) {
# | CryptReleaseContext(ctx->cryptProv, 0);
# | return (ARCHIVE_FAILED);
# | }
# |
# | ctx->valid = 1;
# | return (ARCHIVE_OK);
# | }
# |
# | /*
# | * Update a Message digest.
# | */
# | static int
# | win_crypto_Update(Digest_CTX *ctx, const unsigned char *buf, size_t len)
# | {
# |
# | if (!ctx->valid)
# | return (ARCHIVE_FAILED);
# |
# | CryptHashData(ctx->hash,
# | (unsigned char *)(uintptr_t)buf,
# | (DWORD)len, 0);
# | return (ARCHIVE_OK);
# | }
# |
# | static int
# | win_crypto_Final(unsigned char *buf, size_t bufsize, Digest_CTX *ctx)
# | {
# | DWORD siglen = (DWORD)bufsize;
# |
# | if (!ctx->valid)
# | return (ARCHIVE_FAILED);
# |
# | CryptGetHashParam(ctx->hash, HP_HASHVAL, buf, &siglen, 0);
# | CryptDestroyHash(ctx->hash);
# | CryptReleaseContext(ctx->cryptProv, 0);
# | ctx->valid = 0;
# | return (ARCHIVE_OK);
# | }
# |
# | #endif /* defined(ARCHIVE_CRYPTO_*_WIN) */
# |
# |
# | /* MD5 implementations */
# | #if defined(ARCHIVE_CRYPTO_MD5_LIBC)
# |
# | static int
# | __archive_libc_md5init(archive_md5_ctx *ctx)
# | {
# | MD5Init(ctx);
# | return (ARCHIVE_OK);
# | }
# |
# | static int
# | __archive_libc_md5update(archive_md5_ctx *ctx, const void *indata,
# | size_t insize)
# | {
# | MD5Update(ctx, indata, insize);
# | return (ARCHIVE_OK);
# | }
# |
# | static int
# | __archive_libc_md5final(archive_md5_ctx *ctx, void *md)
# | {
# | MD5Final(md, ctx);
# | return (ARCHIVE_OK);
# | }
# |
# | #elif defined(ARCHIVE_CRYPTO_MD5_LIBMD)
# |
# | static int
# | __archive_libmd_md5init(archive_md5_ctx *ctx)
# | {
# | MD5Init(ctx);
# | return (ARCHIVE_OK);
# | }
# |
# | static int
# | __archive_libmd_md5update(archive_md5_ctx *ctx, const void *indata,
# | size_t insize)
# | {
# | MD5Update(ctx, indata, insize);
# | return (ARCHIVE_OK);
# | }
# |
# | static int
# | __archive_libmd_md5final(archive_md5_ctx *ctx, void *md)
# | {
# | MD5Final(md, ctx);
# | return (ARCHIVE_OK);
# | }
# |
# | #elif defined(ARCHIVE_CRYPTO_MD5_LIBSYSTEM)
# |
# | static int
# | __archive_libsystem_md5init(archive_md5_ctx *ctx)
# | {
# | CC_MD5_Init(ctx);
# | return (ARCHIVE_OK);
# | }
# |
# | static int
# | __archive_libsystem_md5update(archive_md5_ctx *ctx, const void *indata,
# | size_t insize)
# | {
# | CC_MD5_Update(ctx, indata, insize);
# | return (ARCHIVE_OK);
# | }
# |
# | static int
# | __archive_libsystem_md5final(archive_md5_ctx *ctx, void *md)
# | {
# | CC_MD5_Final(md, ctx);
# | return (ARCHIVE_OK);
# | }
# |
# | #elif defined(ARCHIVE_CRYPTO_MD5_NETTLE)
# |
# | static int
# | __archive_nettle_md5init(archive_md5_ctx *ctx)
# | {
# | md5_init(ctx);
# | return (ARCHIVE_OK);
# | }
# |
# | static int
# | __archive_nettle_md5update(archive_md5_ctx *ctx, const void *indata,
# | size_t insize)
# | {
# | md5_update(ctx, insize, indata);
# | return (ARCHIVE_OK);
# | }
# |
# | static int
# | __archive_nettle_md5final(archive_md5_ctx *ctx, void *md)
# | {
# | md5_digest(ctx, MD5_DIGEST_SIZE, md);
# | return (ARCHIVE_OK);
# | }
# |
# | #elif defined(ARCHIVE_CRYPTO_MD5_OPENSSL)
# |
# | static int
# | __archive_openssl_md5init(archive_md5_ctx *ctx)
# | {
# | 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: clang -o conftest -Wall -Wformat -Wformat-security -I. -I. -I./libarchive conftest.c -lacl -lexpat -llzo2 -llzma -llz4 -lbz2 -lz >&5
# In file included from conftest.c:252:
# ./libarchive/archive_digest_private.h:78:10: fatal error: 'sha2.h' file not found
# #include
# ^
# 1 error generated.
# 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_EXT2FS_EXT2_FS_H 1
# | #define HAVE_FCNTL_H 1
# | #define HAVE_GRP_H 1
# | #define HAVE_WORKING_EXT2_IOC_GETFLAGS 1
# | #define HAVE_INTTYPES_H 1
# | #define HAVE_LANGINFO_H 1
# | #define HAVE_LIMITS_H 1
# | #define HAVE_LINUX_FIEMAP_H 1
# | #define HAVE_LINUX_FS_H 1
# | #define HAVE_LINUX_MAGIC_H 1
# | #define HAVE_LINUX_TYPES_H 1
# | #define HAVE_LOCALE_H 1
# | #define HAVE_PATHS_H 1
# | #define HAVE_POLL_H 1
# | #define HAVE_PTHREAD_H 1
# | #define HAVE_PWD_H 1
# | #define HAVE_SIGNAL_H 1
# | #define HAVE_SPAWN_H 1
# | #define HAVE_STDARG_H 1
# | #define HAVE_STDINT_H 1
# | #define HAVE_STDLIB_H 1
# | #define HAVE_STRING_H 1
# | #define HAVE_SYS_CDEFS_H 1
# | #define HAVE_SYS_IOCTL_H 1
# | #define HAVE_SYS_MOUNT_H 1
# | #define HAVE_SYS_PARAM_H 1
# | #define HAVE_SYS_POLL_H 1
# | #define HAVE_SYS_SELECT_H 1
# | #define HAVE_SYS_STATFS_H 1
# | #define HAVE_SYS_STATVFS_H 1
# | #define HAVE_SYS_TIME_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_BZLIB_H 1
# | #define HAVE_LIBBZ2 1
# | #define HAVE_ICONV 1
# | #define ICONV_CONST
# | #define HAVE_ICONV_H 1
# | #define HAVE_LZ4_H 1
# | #define HAVE_LZ4HC_H 1
# | #define HAVE_LIBLZ4 1
# | #define HAVE_LZMA_H 1
# | #define HAVE_LIBLZMA 1
# | #define HAVE_LZMA_STREAM_ENCODER_MT 1
# | #define HAVE_LZO_LZOCONF_H 1
# | #define HAVE_LZO_LZO1X_H 1
# | #define HAVE_LIBLZO2 1
# | #define HAVE_EXPAT_H 1
# | #define HAVE_LIBEXPAT 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 1
# | #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1
# | #define HAVE_STRUCT_STAT_ST_BLKSIZE 1
# | #define HAVE_UINTMAX_T 1
# | #define HAVE_UNSIGNED_LONG_LONG 1
# | #define HAVE_UNSIGNED_LONG_LONG_INT 1
# | #define HAVE_LONG_LONG_INT 1
# | #define HAVE_INTMAX_T 1
# | #define HAVE_UINTMAX_T 1
# | #define HAVE_DECL_SIZE_MAX 1
# | #define HAVE_DECL_INT32_MAX 1
# | #define HAVE_DECL_INT32_MIN 1
# | #define HAVE_DECL_INT64_MAX 1
# | #define HAVE_DECL_INT64_MIN 1
# | #define HAVE_DECL_UINT64_MAX 1
# | #define HAVE_DECL_UINT32_MAX 1
# | #define HAVE_DECL_INTMAX_MAX 1
# | #define HAVE_DECL_INTMAX_MIN 1
# | #define HAVE_DECL_UINTMAX_MAX 1
# | #define HAVE_DECL_SSIZE_MAX 1
# | #define HAVE_EILSEQ 1
# | #define HAVE_WCHAR_T 1
# | #define SIZEOF_WCHAR_T 4
# | #define TIME_WITH_SYS_TIME 1
# | #define HAVE_FSEEKO 1
# | #define LSTAT_FOLLOWS_SLASHED_SYMLINK 1
# | #define HAVE_DECL_STRERROR_R 1
# | #define HAVE_STRERROR_R 1
# | #define STRERROR_R_CHAR_P 1
# | #define HAVE_STRFTIME 1
# | #define HAVE_VPRINTF 1
# | #define HAVE_CHOWN 1
# | #define HAVE_CHROOT 1
# | #define HAVE_CTIME_R 1
# | #define HAVE_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_FUTIMES 1
# | #define HAVE_FUTIMESAT 1
# | #define HAVE_GETEUID 1
# | #define HAVE_GETPID 1
# | #define HAVE_GETGRGID_R 1
# | #define HAVE_GETGRNAM_R 1
# | #define HAVE_GETPWNAM_R 1
# | #define HAVE_GETPWUID_R 1
# | #define HAVE_GMTIME_R 1
# | #define HAVE_LCHOWN 1
# | #define HAVE_LINK 1
# | #define HAVE_LOCALTIME_R 1
# | #define HAVE_LSTAT 1
# | #define HAVE_LUTIMES 1
# | #define HAVE_MBRTOWC 1
# | #define HAVE_MEMMOVE 1
# | #define HAVE_MEMSET 1
# | #define HAVE_MKDIR 1
# | #define HAVE_MKFIFO 1
# | #define HAVE_MKNOD 1
# | #define HAVE_MKSTEMP 1
# | #define HAVE_NL_LANGINFO 1
# | #define HAVE_OPENAT 1
# | #define HAVE_PIPE 1
# | #define HAVE_POLL 1
# | #define HAVE_POSIX_SPAWNP 1
# | #define HAVE_READLINK 1
# | #define HAVE_READLINKAT 1
# | #define HAVE_SELECT 1
# | #define HAVE_SETENV 1
# | #define HAVE_SETLOCALE 1
# | #define HAVE_SIGACTION 1
# | #define HAVE_STATFS 1
# | #define HAVE_STATVFS 1
# | #define HAVE_STRCHR 1
# | #define HAVE_STRDUP 1
# | #define HAVE_STRERROR 1
# | #define HAVE_STRRCHR 1
# | #define HAVE_SYMLINK 1
# | #define HAVE_TIMEGM 1
# | #define HAVE_TZSET 1
# | #define HAVE_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_ATTR_XATTR_H 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
# | #define HAVE_ACL_LIBACL_H 1
# | #define HAVE_SYS_ACL_H 1
# | #define HAVE_LIBACL 1
# | #define HAVE_ACL_CREATE_ENTRY 1
# | #define HAVE_ACL_INIT 1
# | #define HAVE_ACL_SET_FD 1
# | #define HAVE_ACL_SET_FILE 1
# | #define HAVE_ACL_PERMSET_T 1
# | #define HAVE_ACL_GET_PERM 1
# | #define HAVE_ACL_USER 1
# | /* end confdefs.h. */
# |
# | #define ARCHIVE_SHA384_COMPILE_TEST
# | #define ARCHIVE_CRYPTO_SHA384_LIBC2
# | #define PLATFORM_CONFIG_H "check_crypto_md.h"
# |
# | /*-
# | * Copyright (c) 2003-2007 Tim Kientzle
# | * Copyright (c) 2011 Andres Mejia
# | * Copyright (c) 2011 Michihiro NAKAJIMA
# | * All rights reserved.
# | *
# | * Redistribution and use in source and binary forms, with or without
# | * modification, are permitted provided that the following conditions
# | * are met:
# | * 1. Redistributions of source code must retain the above copyright
# | * notice, this list of conditions and the following disclaimer.
# | * 2. Redistributions in binary form must reproduce the above copyright
# | * notice, this list of conditions and the following disclaimer in the
# | * documentation and/or other materials provided with the distribution.
# | *
# | * THIS SOFTWARE IS PROVIDED BY THE AUTHOR(S) ``AS IS'' AND ANY EXPRESS OR
# | * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
# | * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
# | * IN NO EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY DIRECT, INDIRECT,
# | * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
# | * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
# | * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
# | * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
# | * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
# | */
# |
# | #include "archive_platform.h"
# |
# | #include "archive.h"
# | #include "archive_digest_private.h"
# |
# | /* In particular, force the configure probe to break if it tries
# | * to test a combination of OpenSSL and libmd. */
# | #if defined(ARCHIVE_CRYPTO_OPENSSL) && defined(ARCHIVE_CRYPTO_LIBMD)
# | #error Cannot use both OpenSSL and libmd.
# | #endif
# |
# | /*
# | * Message digest functions for Windows platform.
# | */
# | #if defined(ARCHIVE_CRYPTO_MD5_WIN) ||\
# | defined(ARCHIVE_CRYPTO_SHA1_WIN) ||\
# | defined(ARCHIVE_CRYPTO_SHA256_WIN) ||\
# | defined(ARCHIVE_CRYPTO_SHA384_WIN) ||\
# | defined(ARCHIVE_CRYPTO_SHA512_WIN)
# |
# | /*
# | * Initialize a Message digest.
# | */
# | static int
# | win_crypto_init(Digest_CTX *ctx, ALG_ID algId)
# | {
# |
# | ctx->valid = 0;
# | if (!CryptAcquireContext(&ctx->cryptProv, NULL, NULL,
# | PROV_RSA_FULL, CRYPT_VERIFYCONTEXT)) {
# | if (GetLastError() != (DWORD)NTE_BAD_KEYSET)
# | return (ARCHIVE_FAILED);
# | if (!CryptAcquireContext(&ctx->cryptProv, NULL, NULL,
# | PROV_RSA_FULL, CRYPT_NEWKEYSET))
# | return (ARCHIVE_FAILED);
# | }
# |
# | if (!CryptCreateHash(ctx->cryptProv, algId, 0, 0, &ctx->hash)) {
# | CryptReleaseContext(ctx->cryptProv, 0);
# | return (ARCHIVE_FAILED);
# | }
# |
# | ctx->valid = 1;
# | return (ARCHIVE_OK);
# | }
# |
# | /*
# | * Update a Message digest.
# | */
# | static int
# | win_crypto_Update(Digest_CTX *ctx, const unsigned char *buf, size_t len)
# | {
# |
# | if (!ctx->valid)
# | return (ARCHIVE_FAILED);
# |
# | CryptHashData(ctx->hash,
# | (unsigned char *)(uintptr_t)buf,
# | (DWORD)len, 0);
# | return (ARCHIVE_OK);
# | }
# |
# | static int
# | win_crypto_Final(unsigned char *buf, size_t bufsize, Digest_CTX *ctx)
# | {
# | DWORD siglen = (DWORD)bufsize;
# |
# | if (!ctx->valid)
# | return (ARCHIVE_FAILED);
# |
# | CryptGetHashParam(ctx->hash, HP_HASHVAL, buf, &siglen, 0);
# | CryptDestroyHash(ctx->hash);
# | CryptReleaseContext(ctx->cryptProv, 0);
# | ctx->valid = 0;
# | return (ARCHIVE_OK);
# | }
# |
# | #endif /* defined(ARCHIVE_CRYPTO_*_WIN) */
# |
# |
# | /* MD5 implementations */
# | #if defined(ARCHIVE_CRYPTO_MD5_LIBC)
# |
# | static int
# | __archive_libc_md5init(archive_md5_ctx *ctx)
# | {
# | MD5Init(ctx);
# | return (ARCHIVE_OK);
# | }
# |
# | static int
# | __archive_libc_md5update(archive_md5_ctx *ctx, const void *indata,
# | size_t insize)
# | {
# | MD5Update(ctx, indata, insize);
# | return (ARCHIVE_OK);
# | }
# |
# | static int
# | __archive_libc_md5final(archive_md5_ctx *ctx, void *md)
# | {
# | MD5Final(md, ctx);
# | return (ARCHIVE_OK);
# | }
# |
# | #elif defined(ARCHIVE_CRYPTO_MD5_LIBMD)
# |
# | static int
# | __archive_libmd_md5init(archive_md5_ctx *ctx)
# | {
# | MD5Init(ctx);
# | return (ARCHIVE_OK);
# | }
# |
# | static int
# | __archive_libmd_md5update(archive_md5_ctx *ctx, const void *indata,
# | size_t insize)
# | {
# | MD5Update(ctx, indata, insize);
# | return (ARCHIVE_OK);
# | }
# |
# | static int
# | __archive_libmd_md5final(archive_md5_ctx *ctx, void *md)
# | {
# | MD5Final(md, ctx);
# | return (ARCHIVE_OK);
# | }
# |
# | #elif defined(ARCHIVE_CRYPTO_MD5_LIBSYSTEM)
# |
# | static int
# | __archive_libsystem_md5init(archive_md5_ctx *ctx)
# | {
# | CC_MD5_Init(ctx);
# | return (ARCHIVE_OK);
# | }
# |
# | static int
# | __archive_libsystem_md5update(archive_md5_ctx *ctx, const void *indata,
# | size_t insize)
# | {
# | CC_MD5_Update(ctx, indata, insize);
# | return (ARCHIVE_OK);
# | }
# |
# | static int
# | __archive_libsystem_md5final(archive_md5_ctx *ctx, void *md)
# | {
# | CC_MD5_Final(md, ctx);
# | return (ARCHIVE_OK);
# | }
# |
# | #elif defined(ARCHIVE_CRYPTO_MD5_NETTLE)
# |
# | static int
# | __archive_nettle_md5init(archive_md5_ctx *ctx)
# | {
# | md5_init(ctx);
# | return (ARCHIVE_OK);
# | }
# |
# | static int
# | __archive_nettle_md5update(archive_md5_ctx *ctx, const void *indata,
# | size_t insize)
# | {
# | md5_update(ctx, insize, indata);
# | return (ARCHIVE_OK);
# | }
# |
# | static int
# | __archive_nettle_md5final(archive_md5_ctx *ctx, void *md)
# | {
# | md5_digest(ctx, MD5_DIGEST_SIZE, md);
# | return (ARCHIVE_OK);
# | }
# |
# | #elif defined(ARCHIVE_CRYPTO_MD5_OPENSSL)
# |
# | static int
# | __archive_openssl_md5init(archive_md5_ctx *ctx)
# | {
# | 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: clang -o conftest -Wall -Wformat -Wformat-security -I. -I. -I./libarchive conftest.c -lacl -lexpat -llzo2 -llzma -llz4 -lbz2 -lz >&5
# In file included from conftest.c:252:
# ./libarchive/archive_digest_private.h:78:10: fatal error: 'sha2.h' file not found
# #include
# ^
# 1 error generated.
# 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_EXT2FS_EXT2_FS_H 1
# | #define HAVE_FCNTL_H 1
# | #define HAVE_GRP_H 1
# | #define HAVE_WORKING_EXT2_IOC_GETFLAGS 1
# | #define HAVE_INTTYPES_H 1
# | #define HAVE_LANGINFO_H 1
# | #define HAVE_LIMITS_H 1
# | #define HAVE_LINUX_FIEMAP_H 1
# | #define HAVE_LINUX_FS_H 1
# | #define HAVE_LINUX_MAGIC_H 1
# | #define HAVE_LINUX_TYPES_H 1
# | #define HAVE_LOCALE_H 1
# | #define HAVE_PATHS_H 1
# | #define HAVE_POLL_H 1
# | #define HAVE_PTHREAD_H 1
# | #define HAVE_PWD_H 1
# | #define HAVE_SIGNAL_H 1
# | #define HAVE_SPAWN_H 1
# | #define HAVE_STDARG_H 1
# | #define HAVE_STDINT_H 1
# | #define HAVE_STDLIB_H 1
# | #define HAVE_STRING_H 1
# | #define HAVE_SYS_CDEFS_H 1
# | #define HAVE_SYS_IOCTL_H 1
# | #define HAVE_SYS_MOUNT_H 1
# | #define HAVE_SYS_PARAM_H 1
# | #define HAVE_SYS_POLL_H 1
# | #define HAVE_SYS_SELECT_H 1
# | #define HAVE_SYS_STATFS_H 1
# | #define HAVE_SYS_STATVFS_H 1
# | #define HAVE_SYS_TIME_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_BZLIB_H 1
# | #define HAVE_LIBBZ2 1
# | #define HAVE_ICONV 1
# | #define ICONV_CONST
# | #define HAVE_ICONV_H 1
# | #define HAVE_LZ4_H 1
# | #define HAVE_LZ4HC_H 1
# | #define HAVE_LIBLZ4 1
# | #define HAVE_LZMA_H 1
# | #define HAVE_LIBLZMA 1
# | #define HAVE_LZMA_STREAM_ENCODER_MT 1
# | #define HAVE_LZO_LZOCONF_H 1
# | #define HAVE_LZO_LZO1X_H 1
# | #define HAVE_LIBLZO2 1
# | #define HAVE_EXPAT_H 1
# | #define HAVE_LIBEXPAT 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 1
# | #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1
# | #define HAVE_STRUCT_STAT_ST_BLKSIZE 1
# | #define HAVE_UINTMAX_T 1
# | #define HAVE_UNSIGNED_LONG_LONG 1
# | #define HAVE_UNSIGNED_LONG_LONG_INT 1
# | #define HAVE_LONG_LONG_INT 1
# | #define HAVE_INTMAX_T 1
# | #define HAVE_UINTMAX_T 1
# | #define HAVE_DECL_SIZE_MAX 1
# | #define HAVE_DECL_INT32_MAX 1
# | #define HAVE_DECL_INT32_MIN 1
# | #define HAVE_DECL_INT64_MAX 1
# | #define HAVE_DECL_INT64_MIN 1
# | #define HAVE_DECL_UINT64_MAX 1
# | #define HAVE_DECL_UINT32_MAX 1
# | #define HAVE_DECL_INTMAX_MAX 1
# | #define HAVE_DECL_INTMAX_MIN 1
# | #define HAVE_DECL_UINTMAX_MAX 1
# | #define HAVE_DECL_SSIZE_MAX 1
# | #define HAVE_EILSEQ 1
# | #define HAVE_WCHAR_T 1
# | #define SIZEOF_WCHAR_T 4
# | #define TIME_WITH_SYS_TIME 1
# | #define HAVE_FSEEKO 1
# | #define LSTAT_FOLLOWS_SLASHED_SYMLINK 1
# | #define HAVE_DECL_STRERROR_R 1
# | #define HAVE_STRERROR_R 1
# | #define STRERROR_R_CHAR_P 1
# | #define HAVE_STRFTIME 1
# | #define HAVE_VPRINTF 1
# | #define HAVE_CHOWN 1
# | #define HAVE_CHROOT 1
# | #define HAVE_CTIME_R 1
# | #define HAVE_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_FUTIMES 1
# | #define HAVE_FUTIMESAT 1
# | #define HAVE_GETEUID 1
# | #define HAVE_GETPID 1
# | #define HAVE_GETGRGID_R 1
# | #define HAVE_GETGRNAM_R 1
# | #define HAVE_GETPWNAM_R 1
# | #define HAVE_GETPWUID_R 1
# | #define HAVE_GMTIME_R 1
# | #define HAVE_LCHOWN 1
# | #define HAVE_LINK 1
# | #define HAVE_LOCALTIME_R 1
# | #define HAVE_LSTAT 1
# | #define HAVE_LUTIMES 1
# | #define HAVE_MBRTOWC 1
# | #define HAVE_MEMMOVE 1
# | #define HAVE_MEMSET 1
# | #define HAVE_MKDIR 1
# | #define HAVE_MKFIFO 1
# | #define HAVE_MKNOD 1
# | #define HAVE_MKSTEMP 1
# | #define HAVE_NL_LANGINFO 1
# | #define HAVE_OPENAT 1
# | #define HAVE_PIPE 1
# | #define HAVE_POLL 1
# | #define HAVE_POSIX_SPAWNP 1
# | #define HAVE_READLINK 1
# | #define HAVE_READLINKAT 1
# | #define HAVE_SELECT 1
# | #define HAVE_SETENV 1
# | #define HAVE_SETLOCALE 1
# | #define HAVE_SIGACTION 1
# | #define HAVE_STATFS 1
# | #define HAVE_STATVFS 1
# | #define HAVE_STRCHR 1
# | #define HAVE_STRDUP 1
# | #define HAVE_STRERROR 1
# | #define HAVE_STRRCHR 1
# | #define HAVE_SYMLINK 1
# | #define HAVE_TIMEGM 1
# | #define HAVE_TZSET 1
# | #define HAVE_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_ATTR_XATTR_H 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
# | #define HAVE_ACL_LIBACL_H 1
# | #define HAVE_SYS_ACL_H 1
# | #define HAVE_LIBACL 1
# | #define HAVE_ACL_CREATE_ENTRY 1
# | #define HAVE_ACL_INIT 1
# | #define HAVE_ACL_SET_FD 1
# | #define HAVE_ACL_SET_FILE 1
# | #define HAVE_ACL_PERMSET_T 1
# | #define HAVE_ACL_GET_PERM 1
# | #define HAVE_ACL_USER 1
# | /* end confdefs.h. */
# |
# | #define ARCHIVE_SHA384_COMPILE_TEST
# | #define ARCHIVE_CRYPTO_SHA384_LIBC3
# | #define PLATFORM_CONFIG_H "check_crypto_md.h"
# |
# | /*-
# | * Copyright (c) 2003-2007 Tim Kientzle
# | * Copyright (c) 2011 Andres Mejia
# | * Copyright (c) 2011 Michihiro NAKAJIMA
# | * All rights reserved.
# | *
# | * Redistribution and use in source and binary forms, with or without
# | * modification, are permitted provided that the following conditions
# | * are met:
# | * 1. Redistributions of source code must retain the above copyright
# | * notice, this list of conditions and the following disclaimer.
# | * 2. Redistributions in binary form must reproduce the above copyright
# | * notice, this list of conditions and the following disclaimer in the
# | * documentation and/or other materials provided with the distribution.
# | *
# | * THIS SOFTWARE IS PROVIDED BY THE AUTHOR(S) ``AS IS'' AND ANY EXPRESS OR
# | * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
# | * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
# | * IN NO EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY DIRECT, INDIRECT,
# | * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
# | * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
# | * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
# | * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
# | * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
# | */
# |
# | #include "archive_platform.h"
# |
# | #include "archive.h"
# | #include "archive_digest_private.h"
# |
# | /* In particular, force the configure probe to break if it tries
# | * to test a combination of OpenSSL and libmd. */
# | #if defined(ARCHIVE_CRYPTO_OPENSSL) && defined(ARCHIVE_CRYPTO_LIBMD)
# | #error Cannot use both OpenSSL and libmd.
# | #endif
# |
# | /*
# | * Message digest functions for Windows platform.
# | */
# | #if defined(ARCHIVE_CRYPTO_MD5_WIN) ||\
# | defined(ARCHIVE_CRYPTO_SHA1_WIN) ||\
# | defined(ARCHIVE_CRYPTO_SHA256_WIN) ||\
# | defined(ARCHIVE_CRYPTO_SHA384_WIN) ||\
# | defined(ARCHIVE_CRYPTO_SHA512_WIN)
# |
# | /*
# | * Initialize a Message digest.
# | */
# | static int
# | win_crypto_init(Digest_CTX *ctx, ALG_ID algId)
# | {
# |
# | ctx->valid = 0;
# | if (!CryptAcquireContext(&ctx->cryptProv, NULL, NULL,
# | PROV_RSA_FULL, CRYPT_VERIFYCONTEXT)) {
# | if (GetLastError() != (DWORD)NTE_BAD_KEYSET)
# | return (ARCHIVE_FAILED);
# | if (!CryptAcquireContext(&ctx->cryptProv, NULL, NULL,
# | PROV_RSA_FULL, CRYPT_NEWKEYSET))
# | return (ARCHIVE_FAILED);
# | }
# |
# | if (!CryptCreateHash(ctx->cryptProv, algId, 0, 0, &ctx->hash)) {
# | CryptReleaseContext(ctx->cryptProv, 0);
# | return (ARCHIVE_FAILED);
# | }
# |
# | ctx->valid = 1;
# | return (ARCHIVE_OK);
# | }
# |
# | /*
# | * Update a Message digest.
# | */
# | static int
# | win_crypto_Update(Digest_CTX *ctx, const unsigned char *buf, size_t len)
# | {
# |
# | if (!ctx->valid)
# | return (ARCHIVE_FAILED);
# |
# | CryptHashData(ctx->hash,
# | (unsigned char *)(uintptr_t)buf,
# | (DWORD)len, 0);
# | return (ARCHIVE_OK);
# | }
# |
# | static int
# | win_crypto_Final(unsigned char *buf, size_t bufsize, Digest_CTX *ctx)
# | {
# | DWORD siglen = (DWORD)bufsize;
# |
# | if (!ctx->valid)
# | return (ARCHIVE_FAILED);
# |
# | CryptGetHashParam(ctx->hash, HP_HASHVAL, buf, &siglen, 0);
# | CryptDestroyHash(ctx->hash);
# | CryptReleaseContext(ctx->cryptProv, 0);
# | ctx->valid = 0;
# | return (ARCHIVE_OK);
# | }
# |
# | #endif /* defined(ARCHIVE_CRYPTO_*_WIN) */
# |
# |
# | /* MD5 implementations */
# | #if defined(ARCHIVE_CRYPTO_MD5_LIBC)
# |
# | static int
# | __archive_libc_md5init(archive_md5_ctx *ctx)
# | {
# | MD5Init(ctx);
# | return (ARCHIVE_OK);
# | }
# |
# | static int
# | __archive_libc_md5update(archive_md5_ctx *ctx, const void *indata,
# | size_t insize)
# | {
# | MD5Update(ctx, indata, insize);
# | return (ARCHIVE_OK);
# | }
# |
# | static int
# | __archive_libc_md5final(archive_md5_ctx *ctx, void *md)
# | {
# | MD5Final(md, ctx);
# | return (ARCHIVE_OK);
# | }
# |
# | #elif defined(ARCHIVE_CRYPTO_MD5_LIBMD)
# |
# | static int
# | __archive_libmd_md5init(archive_md5_ctx *ctx)
# | {
# | MD5Init(ctx);
# | return (ARCHIVE_OK);
# | }
# |
# | static int
# | __archive_libmd_md5update(archive_md5_ctx *ctx, const void *indata,
# | size_t insize)
# | {
# | MD5Update(ctx, indata, insize);
# | return (ARCHIVE_OK);
# | }
# |
# | static int
# | __archive_libmd_md5final(archive_md5_ctx *ctx, void *md)
# | {
# | MD5Final(md, ctx);
# | return (ARCHIVE_OK);
# | }
# |
# | #elif defined(ARCHIVE_CRYPTO_MD5_LIBSYSTEM)
# |
# | static int
# | __archive_libsystem_md5init(archive_md5_ctx *ctx)
# | {
# | CC_MD5_Init(ctx);
# | return (ARCHIVE_OK);
# | }
# |
# | static int
# | __archive_libsystem_md5update(archive_md5_ctx *ctx, const void *indata,
# | size_t insize)
# | {
# | CC_MD5_Update(ctx, indata, insize);
# | return (ARCHIVE_OK);
# | }
# |
# | static int
# | __archive_libsystem_md5final(archive_md5_ctx *ctx, void *md)
# | {
# | CC_MD5_Final(md, ctx);
# | return (ARCHIVE_OK);
# | }
# |
# | #elif defined(ARCHIVE_CRYPTO_MD5_NETTLE)
# |
# | static int
# | __archive_nettle_md5init(archive_md5_ctx *ctx)
# | {
# | md5_init(ctx);
# | return (ARCHIVE_OK);
# | }
# |
# | static int
# | __archive_nettle_md5update(archive_md5_ctx *ctx, const void *indata,
# | size_t insize)
# | {
# | md5_update(ctx, insize, indata);
# | return (ARCHIVE_OK);
# | }
# |
# | static int
# | __archive_nettle_md5final(archive_md5_ctx *ctx, void *md)
# | {
# | md5_digest(ctx, MD5_DIGEST_SIZE, md);
# | return (ARCHIVE_OK);
# | }
# |
# | #elif defined(ARCHIVE_CRYPTO_MD5_OPENSSL)
# |
# | static int
# | __archive_openssl_md5init(archive_md5_ctx *ctx)
# | {
# | 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: clang -o conftest -Wall -Wformat -Wformat-security -I. -I. -I./libarchive conftest.c -lacl -lexpat -llzo2 -llzma -llz4 -lbz2 -lz >&5
# In file included from conftest.c:252:
# ./libarchive/archive_digest_private.h:112:10: fatal error: 'CommonCrypto/CommonDigest.h' file not found
# #include
# ^
# 1 error generated.
# 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_EXT2FS_EXT2_FS_H 1
# | #define HAVE_FCNTL_H 1
# | #define HAVE_GRP_H 1
# | #define HAVE_WORKING_EXT2_IOC_GETFLAGS 1
# | #define HAVE_INTTYPES_H 1
# | #define HAVE_LANGINFO_H 1
# | #define HAVE_LIMITS_H 1
# | #define HAVE_LINUX_FIEMAP_H 1
# | #define HAVE_LINUX_FS_H 1
# | #define HAVE_LINUX_MAGIC_H 1
# | #define HAVE_LINUX_TYPES_H 1
# | #define HAVE_LOCALE_H 1
# | #define HAVE_PATHS_H 1
# | #define HAVE_POLL_H 1
# | #define HAVE_PTHREAD_H 1
# | #define HAVE_PWD_H 1
# | #define HAVE_SIGNAL_H 1
# | #define HAVE_SPAWN_H 1
# | #define HAVE_STDARG_H 1
# | #define HAVE_STDINT_H 1
# | #define HAVE_STDLIB_H 1
# | #define HAVE_STRING_H 1
# | #define HAVE_SYS_CDEFS_H 1
# | #define HAVE_SYS_IOCTL_H 1
# | #define HAVE_SYS_MOUNT_H 1
# | #define HAVE_SYS_PARAM_H 1
# | #define HAVE_SYS_POLL_H 1
# | #define HAVE_SYS_SELECT_H 1
# | #define HAVE_SYS_STATFS_H 1
# | #define HAVE_SYS_STATVFS_H 1
# | #define HAVE_SYS_TIME_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_BZLIB_H 1
# | #define HAVE_LIBBZ2 1
# | #define HAVE_ICONV 1
# | #define ICONV_CONST
# | #define HAVE_ICONV_H 1
# | #define HAVE_LZ4_H 1
# | #define HAVE_LZ4HC_H 1
# | #define HAVE_LIBLZ4 1
# | #define HAVE_LZMA_H 1
# | #define HAVE_LIBLZMA 1
# | #define HAVE_LZMA_STREAM_ENCODER_MT 1
# | #define HAVE_LZO_LZOCONF_H 1
# | #define HAVE_LZO_LZO1X_H 1
# | #define HAVE_LIBLZO2 1
# | #define HAVE_EXPAT_H 1
# | #define HAVE_LIBEXPAT 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 1
# | #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1
# | #define HAVE_STRUCT_STAT_ST_BLKSIZE 1
# | #define HAVE_UINTMAX_T 1
# | #define HAVE_UNSIGNED_LONG_LONG 1
# | #define HAVE_UNSIGNED_LONG_LONG_INT 1
# | #define HAVE_LONG_LONG_INT 1
# | #define HAVE_INTMAX_T 1
# | #define HAVE_UINTMAX_T 1
# | #define HAVE_DECL_SIZE_MAX 1
# | #define HAVE_DECL_INT32_MAX 1
# | #define HAVE_DECL_INT32_MIN 1
# | #define HAVE_DECL_INT64_MAX 1
# | #define HAVE_DECL_INT64_MIN 1
# | #define HAVE_DECL_UINT64_MAX 1
# | #define HAVE_DECL_UINT32_MAX 1
# | #define HAVE_DECL_INTMAX_MAX 1
# | #define HAVE_DECL_INTMAX_MIN 1
# | #define HAVE_DECL_UINTMAX_MAX 1
# | #define HAVE_DECL_SSIZE_MAX 1
# | #define HAVE_EILSEQ 1
# | #define HAVE_WCHAR_T 1
# | #define SIZEOF_WCHAR_T 4
# | #define TIME_WITH_SYS_TIME 1
# | #define HAVE_FSEEKO 1
# | #define LSTAT_FOLLOWS_SLASHED_SYMLINK 1
# | #define HAVE_DECL_STRERROR_R 1
# | #define HAVE_STRERROR_R 1
# | #define STRERROR_R_CHAR_P 1
# | #define HAVE_STRFTIME 1
# | #define HAVE_VPRINTF 1
# | #define HAVE_CHOWN 1
# | #define HAVE_CHROOT 1
# | #define HAVE_CTIME_R 1
# | #define HAVE_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_FUTIMES 1
# | #define HAVE_FUTIMESAT 1
# | #define HAVE_GETEUID 1
# | #define HAVE_GETPID 1
# | #define HAVE_GETGRGID_R 1
# | #define HAVE_GETGRNAM_R 1
# | #define HAVE_GETPWNAM_R 1
# | #define HAVE_GETPWUID_R 1
# | #define HAVE_GMTIME_R 1
# | #define HAVE_LCHOWN 1
# | #define HAVE_LINK 1
# | #define HAVE_LOCALTIME_R 1
# | #define HAVE_LSTAT 1
# | #define HAVE_LUTIMES 1
# | #define HAVE_MBRTOWC 1
# | #define HAVE_MEMMOVE 1
# | #define HAVE_MEMSET 1
# | #define HAVE_MKDIR 1
# | #define HAVE_MKFIFO 1
# | #define HAVE_MKNOD 1
# | #define HAVE_MKSTEMP 1
# | #define HAVE_NL_LANGINFO 1
# | #define HAVE_OPENAT 1
# | #define HAVE_PIPE 1
# | #define HAVE_POLL 1
# | #define HAVE_POSIX_SPAWNP 1
# | #define HAVE_READLINK 1
# | #define HAVE_READLINKAT 1
# | #define HAVE_SELECT 1
# | #define HAVE_SETENV 1
# | #define HAVE_SETLOCALE 1
# | #define HAVE_SIGACTION 1
# | #define HAVE_STATFS 1
# | #define HAVE_STATVFS 1
# | #define HAVE_STRCHR 1
# | #define HAVE_STRDUP 1
# | #define HAVE_STRERROR 1
# | #define HAVE_STRRCHR 1
# | #define HAVE_SYMLINK 1
# | #define HAVE_TIMEGM 1
# | #define HAVE_TZSET 1
# | #define HAVE_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_ATTR_XATTR_H 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
# | #define HAVE_ACL_LIBACL_H 1
# | #define HAVE_SYS_ACL_H 1
# | #define HAVE_LIBACL 1
# | #define HAVE_ACL_CREATE_ENTRY 1
# | #define HAVE_ACL_INIT 1
# | #define HAVE_ACL_SET_FD 1
# | #define HAVE_ACL_SET_FILE 1
# | #define HAVE_ACL_PERMSET_T 1
# | #define HAVE_ACL_GET_PERM 1
# | #define HAVE_ACL_USER 1
# | /* end confdefs.h. */
# |
# | #define ARCHIVE_SHA384_COMPILE_TEST
# | #define ARCHIVE_CRYPTO_SHA384_LIBSYSTEM
# | #define PLATFORM_CONFIG_H "check_crypto_md.h"
# |
# | /*-
# | * Copyright (c) 2003-2007 Tim Kientzle
# | * Copyright (c) 2011 Andres Mejia
# | * Copyright (c) 2011 Michihiro NAKAJIMA
# | * All rights reserved.
# | *
# | * Redistribution and use in source and binary forms, with or without
# | * modification, are permitted provided that the following conditions
# | * are met:
# | * 1. Redistributions of source code must retain the above copyright
# | * notice, this list of conditions and the following disclaimer.
# | * 2. Redistributions in binary form must reproduce the above copyright
# | * notice, this list of conditions and the following disclaimer in the
# | * documentation and/or other materials provided with the distribution.
# | *
# | * THIS SOFTWARE IS PROVIDED BY THE AUTHOR(S) ``AS IS'' AND ANY EXPRESS OR
# | * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
# | * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
# | * IN NO EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY DIRECT, INDIRECT,
# | * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
# | * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
# | * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
# | * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
# | * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
# | */
# |
# | #include "archive_platform.h"
# |
# | #include "archive.h"
# | #include "archive_digest_private.h"
# |
# | /* In particular, force the configure probe to break if it tries
# | * to test a combination of OpenSSL and libmd. */
# | #if defined(ARCHIVE_CRYPTO_OPENSSL) && defined(ARCHIVE_CRYPTO_LIBMD)
# | #error Cannot use both OpenSSL and libmd.
# | #endif
# |
# | /*
# | * Message digest functions for Windows platform.
# | */
# | #if defined(ARCHIVE_CRYPTO_MD5_WIN) ||\
# | defined(ARCHIVE_CRYPTO_SHA1_WIN) ||\
# | defined(ARCHIVE_CRYPTO_SHA256_WIN) ||\
# | defined(ARCHIVE_CRYPTO_SHA384_WIN) ||\
# | defined(ARCHIVE_CRYPTO_SHA512_WIN)
# |
# | /*
# | * Initialize a Message digest.
# | */
# | static int
# | win_crypto_init(Digest_CTX *ctx, ALG_ID algId)
# | {
# |
# | ctx->valid = 0;
# | if (!CryptAcquireContext(&ctx->cryptProv, NULL, NULL,
# | PROV_RSA_FULL, CRYPT_VERIFYCONTEXT)) {
# | if (GetLastError() != (DWORD)NTE_BAD_KEYSET)
# | return (ARCHIVE_FAILED);
# | if (!CryptAcquireContext(&ctx->cryptProv, NULL, NULL,
# | PROV_RSA_FULL, CRYPT_NEWKEYSET))
# | return (ARCHIVE_FAILED);
# | }
# |
# | if (!CryptCreateHash(ctx->cryptProv, algId, 0, 0, &ctx->hash)) {
# | CryptReleaseContext(ctx->cryptProv, 0);
# | return (ARCHIVE_FAILED);
# | }
# |
# | ctx->valid = 1;
# | return (ARCHIVE_OK);
# | }
# |
# | /*
# | * Update a Message digest.
# | */
# | static int
# | win_crypto_Update(Digest_CTX *ctx, const unsigned char *buf, size_t len)
# | {
# |
# | if (!ctx->valid)
# | return (ARCHIVE_FAILED);
# |
# | CryptHashData(ctx->hash,
# | (unsigned char *)(uintptr_t)buf,
# | (DWORD)len, 0);
# | return (ARCHIVE_OK);
# | }
# |
# | static int
# | win_crypto_Final(unsigned char *buf, size_t bufsize, Digest_CTX *ctx)
# | {
# | DWORD siglen = (DWORD)bufsize;
# |
# | if (!ctx->valid)
# | return (ARCHIVE_FAILED);
# |
# | CryptGetHashParam(ctx->hash, HP_HASHVAL, buf, &siglen, 0);
# | CryptDestroyHash(ctx->hash);
# | CryptReleaseContext(ctx->cryptProv, 0);
# | ctx->valid = 0;
# | return (ARCHIVE_OK);
# | }
# |
# | #endif /* defined(ARCHIVE_CRYPTO_*_WIN) */
# |
# |
# | /* MD5 implementations */
# | #if defined(ARCHIVE_CRYPTO_MD5_LIBC)
# |
# | static int
# | __archive_libc_md5init(archive_md5_ctx *ctx)
# | {
# | MD5Init(ctx);
# | return (ARCHIVE_OK);
# | }
# |
# | static int
# | __archive_libc_md5update(archive_md5_ctx *ctx, const void *indata,
# | size_t insize)
# | {
# | MD5Update(ctx, indata, insize);
# | return (ARCHIVE_OK);
# | }
# |
# | static int
# | __archive_libc_md5final(archive_md5_ctx *ctx, void *md)
# | {
# | MD5Final(md, ctx);
# | return (ARCHIVE_OK);
# | }
# |
# | #elif defined(ARCHIVE_CRYPTO_MD5_LIBMD)
# |
# | static int
# | __archive_libmd_md5init(archive_md5_ctx *ctx)
# | {
# | MD5Init(ctx);
# | return (ARCHIVE_OK);
# | }
# |
# | static int
# | __archive_libmd_md5update(archive_md5_ctx *ctx, const void *indata,
# | size_t insize)
# | {
# | MD5Update(ctx, indata, insize);
# | return (ARCHIVE_OK);
# | }
# |
# | static int
# | __archive_libmd_md5final(archive_md5_ctx *ctx, void *md)
# | {
# | MD5Final(md, ctx);
# | return (ARCHIVE_OK);
# | }
# |
# | #elif defined(ARCHIVE_CRYPTO_MD5_LIBSYSTEM)
# |
# | static int
# | __archive_libsystem_md5init(archive_md5_ctx *ctx)
# | {
# | CC_MD5_Init(ctx);
# | return (ARCHIVE_OK);
# | }
# |
# | static int
# | __archive_libsystem_md5update(archive_md5_ctx *ctx, const void *indata,
# | size_t insize)
# | {
# | CC_MD5_Update(ctx, indata, insize);
# | return (ARCHIVE_OK);
# | }
# |
# | static int
# | __archive_libsystem_md5final(archive_md5_ctx *ctx, void *md)
# | {
# | CC_MD5_Final(md, ctx);
# | return (ARCHIVE_OK);
# | }
# |
# | #elif defined(ARCHIVE_CRYPTO_MD5_NETTLE)
# |
# | static int
# | __archive_nettle_md5init(archive_md5_ctx *ctx)
# | {
# | md5_init(ctx);
# | return (ARCHIVE_OK);
# | }
# |
# | static int
# | __archive_nettle_md5update(archive_md5_ctx *ctx, const void *indata,
# | size_t insize)
# | {
# | md5_update(ctx, insize, indata);
# | return (ARCHIVE_OK);
# | }
# |
# | static int
# | __archive_nettle_md5final(archive_md5_ctx *ctx, void *md)
# | {
# | md5_digest(ctx, MD5_DIGEST_SIZE, md);
# | return (ARCHIVE_OK);
# | }
# |
# | #elif defined(ARCHIVE_CRYPTO_MD5_OPENSSL)
# |
# | static int
# | __archive_openssl_md5init(archive_md5_ctx *ctx)
# | {
# | 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: clang -o conftest -Wall -Wformat -Wformat-security -I. -I. -I./libarchive conftest.c -lacl -lexpat -llzo2 -llzma -llz4 -lbz2 -lz >&5
# In file included from conftest.c:252:
# ./libarchive/archive_digest_private.h:78:10: fatal error: 'sha2.h' file not found
# #include
# ^
# 1 error generated.
# 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_EXT2FS_EXT2_FS_H 1
# | #define HAVE_FCNTL_H 1
# | #define HAVE_GRP_H 1
# | #define HAVE_WORKING_EXT2_IOC_GETFLAGS 1
# | #define HAVE_INTTYPES_H 1
# | #define HAVE_LANGINFO_H 1
# | #define HAVE_LIMITS_H 1
# | #define HAVE_LINUX_FIEMAP_H 1
# | #define HAVE_LINUX_FS_H 1
# | #define HAVE_LINUX_MAGIC_H 1
# | #define HAVE_LINUX_TYPES_H 1
# | #define HAVE_LOCALE_H 1
# | #define HAVE_PATHS_H 1
# | #define HAVE_POLL_H 1
# | #define HAVE_PTHREAD_H 1
# | #define HAVE_PWD_H 1
# | #define HAVE_SIGNAL_H 1
# | #define HAVE_SPAWN_H 1
# | #define HAVE_STDARG_H 1
# | #define HAVE_STDINT_H 1
# | #define HAVE_STDLIB_H 1
# | #define HAVE_STRING_H 1
# | #define HAVE_SYS_CDEFS_H 1
# | #define HAVE_SYS_IOCTL_H 1
# | #define HAVE_SYS_MOUNT_H 1
# | #define HAVE_SYS_PARAM_H 1
# | #define HAVE_SYS_POLL_H 1
# | #define HAVE_SYS_SELECT_H 1
# | #define HAVE_SYS_STATFS_H 1
# | #define HAVE_SYS_STATVFS_H 1
# | #define HAVE_SYS_TIME_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_BZLIB_H 1
# | #define HAVE_LIBBZ2 1
# | #define HAVE_ICONV 1
# | #define ICONV_CONST
# | #define HAVE_ICONV_H 1
# | #define HAVE_LZ4_H 1
# | #define HAVE_LZ4HC_H 1
# | #define HAVE_LIBLZ4 1
# | #define HAVE_LZMA_H 1
# | #define HAVE_LIBLZMA 1
# | #define HAVE_LZMA_STREAM_ENCODER_MT 1
# | #define HAVE_LZO_LZOCONF_H 1
# | #define HAVE_LZO_LZO1X_H 1
# | #define HAVE_LIBLZO2 1
# | #define HAVE_EXPAT_H 1
# | #define HAVE_LIBEXPAT 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 1
# | #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1
# | #define HAVE_STRUCT_STAT_ST_BLKSIZE 1
# | #define HAVE_UINTMAX_T 1
# | #define HAVE_UNSIGNED_LONG_LONG 1
# | #define HAVE_UNSIGNED_LONG_LONG_INT 1
# | #define HAVE_LONG_LONG_INT 1
# | #define HAVE_INTMAX_T 1
# | #define HAVE_UINTMAX_T 1
# | #define HAVE_DECL_SIZE_MAX 1
# | #define HAVE_DECL_INT32_MAX 1
# | #define HAVE_DECL_INT32_MIN 1
# | #define HAVE_DECL_INT64_MAX 1
# | #define HAVE_DECL_INT64_MIN 1
# | #define HAVE_DECL_UINT64_MAX 1
# | #define HAVE_DECL_UINT32_MAX 1
# | #define HAVE_DECL_INTMAX_MAX 1
# | #define HAVE_DECL_INTMAX_MIN 1
# | #define HAVE_DECL_UINTMAX_MAX 1
# | #define HAVE_DECL_SSIZE_MAX 1
# | #define HAVE_EILSEQ 1
# | #define HAVE_WCHAR_T 1
# | #define SIZEOF_WCHAR_T 4
# | #define TIME_WITH_SYS_TIME 1
# | #define HAVE_FSEEKO 1
# | #define LSTAT_FOLLOWS_SLASHED_SYMLINK 1
# | #define HAVE_DECL_STRERROR_R 1
# | #define HAVE_STRERROR_R 1
# | #define STRERROR_R_CHAR_P 1
# | #define HAVE_STRFTIME 1
# | #define HAVE_VPRINTF 1
# | #define HAVE_CHOWN 1
# | #define HAVE_CHROOT 1
# | #define HAVE_CTIME_R 1
# | #define HAVE_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_FUTIMES 1
# | #define HAVE_FUTIMESAT 1
# | #define HAVE_GETEUID 1
# | #define HAVE_GETPID 1
# | #define HAVE_GETGRGID_R 1
# | #define HAVE_GETGRNAM_R 1
# | #define HAVE_GETPWNAM_R 1
# | #define HAVE_GETPWUID_R 1
# | #define HAVE_GMTIME_R 1
# | #define HAVE_LCHOWN 1
# | #define HAVE_LINK 1
# | #define HAVE_LOCALTIME_R 1
# | #define HAVE_LSTAT 1
# | #define HAVE_LUTIMES 1
# | #define HAVE_MBRTOWC 1
# | #define HAVE_MEMMOVE 1
# | #define HAVE_MEMSET 1
# | #define HAVE_MKDIR 1
# | #define HAVE_MKFIFO 1
# | #define HAVE_MKNOD 1
# | #define HAVE_MKSTEMP 1
# | #define HAVE_NL_LANGINFO 1
# | #define HAVE_OPENAT 1
# | #define HAVE_PIPE 1
# | #define HAVE_POLL 1
# | #define HAVE_POSIX_SPAWNP 1
# | #define HAVE_READLINK 1
# | #define HAVE_READLINKAT 1
# | #define HAVE_SELECT 1
# | #define HAVE_SETENV 1
# | #define HAVE_SETLOCALE 1
# | #define HAVE_SIGACTION 1
# | #define HAVE_STATFS 1
# | #define HAVE_STATVFS 1
# | #define HAVE_STRCHR 1
# | #define HAVE_STRDUP 1
# | #define HAVE_STRERROR 1
# | #define HAVE_STRRCHR 1
# | #define HAVE_SYMLINK 1
# | #define HAVE_TIMEGM 1
# | #define HAVE_TZSET 1
# | #define HAVE_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_ATTR_XATTR_H 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
# | #define HAVE_ACL_LIBACL_H 1
# | #define HAVE_SYS_ACL_H 1
# | #define HAVE_LIBACL 1
# | #define HAVE_ACL_CREATE_ENTRY 1
# | #define HAVE_ACL_INIT 1
# | #define HAVE_ACL_SET_FD 1
# | #define HAVE_ACL_SET_FILE 1
# | #define HAVE_ACL_PERMSET_T 1
# | #define HAVE_ACL_GET_PERM 1
# | #define HAVE_ACL_USER 1
# | /* end confdefs.h. */
# |
# | #define ARCHIVE_SHA512_COMPILE_TEST
# | #define ARCHIVE_CRYPTO_SHA512_LIBC
# | #define PLATFORM_CONFIG_H "check_crypto_md.h"
# |
# | /*-
# | * Copyright (c) 2003-2007 Tim Kientzle
# | * Copyright (c) 2011 Andres Mejia
# | * Copyright (c) 2011 Michihiro NAKAJIMA
# | * All rights reserved.
# | *
# | * Redistribution and use in source and binary forms, with or without
# | * modification, are permitted provided that the following conditions
# | * are met:
# | * 1. Redistributions of source code must retain the above copyright
# | * notice, this list of conditions and the following disclaimer.
# | * 2. Redistributions in binary form must reproduce the above copyright
# | * notice, this list of conditions and the following disclaimer in the
# | * documentation and/or other materials provided with the distribution.
# | *
# | * THIS SOFTWARE IS PROVIDED BY THE AUTHOR(S) ``AS IS'' AND ANY EXPRESS OR
# | * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
# | * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
# | * IN NO EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY DIRECT, INDIRECT,
# | * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
# | * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
# | * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
# | * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
# | * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
# | */
# |
# | #include "archive_platform.h"
# |
# | #include "archive.h"
# | #include "archive_digest_private.h"
# |
# | /* In particular, force the configure probe to break if it tries
# | * to test a combination of OpenSSL and libmd. */
# | #if defined(ARCHIVE_CRYPTO_OPENSSL) && defined(ARCHIVE_CRYPTO_LIBMD)
# | #error Cannot use both OpenSSL and libmd.
# | #endif
# |
# | /*
# | * Message digest functions for Windows platform.
# | */
# | #if defined(ARCHIVE_CRYPTO_MD5_WIN) ||\
# | defined(ARCHIVE_CRYPTO_SHA1_WIN) ||\
# | defined(ARCHIVE_CRYPTO_SHA256_WIN) ||\
# | defined(ARCHIVE_CRYPTO_SHA384_WIN) ||\
# | defined(ARCHIVE_CRYPTO_SHA512_WIN)
# |
# | /*
# | * Initialize a Message digest.
# | */
# | static int
# | win_crypto_init(Digest_CTX *ctx, ALG_ID algId)
# | {
# |
# | ctx->valid = 0;
# | if (!CryptAcquireContext(&ctx->cryptProv, NULL, NULL,
# | PROV_RSA_FULL, CRYPT_VERIFYCONTEXT)) {
# | if (GetLastError() != (DWORD)NTE_BAD_KEYSET)
# | return (ARCHIVE_FAILED);
# | if (!CryptAcquireContext(&ctx->cryptProv, NULL, NULL,
# | PROV_RSA_FULL, CRYPT_NEWKEYSET))
# | return (ARCHIVE_FAILED);
# | }
# |
# | if (!CryptCreateHash(ctx->cryptProv, algId, 0, 0, &ctx->hash)) {
# | CryptReleaseContext(ctx->cryptProv, 0);
# | return (ARCHIVE_FAILED);
# | }
# |
# | ctx->valid = 1;
# | return (ARCHIVE_OK);
# | }
# |
# | /*
# | * Update a Message digest.
# | */
# | static int
# | win_crypto_Update(Digest_CTX *ctx, const unsigned char *buf, size_t len)
# | {
# |
# | if (!ctx->valid)
# | return (ARCHIVE_FAILED);
# |
# | CryptHashData(ctx->hash,
# | (unsigned char *)(uintptr_t)buf,
# | (DWORD)len, 0);
# | return (ARCHIVE_OK);
# | }
# |
# | static int
# | win_crypto_Final(unsigned char *buf, size_t bufsize, Digest_CTX *ctx)
# | {
# | DWORD siglen = (DWORD)bufsize;
# |
# | if (!ctx->valid)
# | return (ARCHIVE_FAILED);
# |
# | CryptGetHashParam(ctx->hash, HP_HASHVAL, buf, &siglen, 0);
# | CryptDestroyHash(ctx->hash);
# | CryptReleaseContext(ctx->cryptProv, 0);
# | ctx->valid = 0;
# | return (ARCHIVE_OK);
# | }
# |
# | #endif /* defined(ARCHIVE_CRYPTO_*_WIN) */
# |
# |
# | /* MD5 implementations */
# | #if defined(ARCHIVE_CRYPTO_MD5_LIBC)
# |
# | static int
# | __archive_libc_md5init(archive_md5_ctx *ctx)
# | {
# | MD5Init(ctx);
# | return (ARCHIVE_OK);
# | }
# |
# | static int
# | __archive_libc_md5update(archive_md5_ctx *ctx, const void *indata,
# | size_t insize)
# | {
# | MD5Update(ctx, indata, insize);
# | return (ARCHIVE_OK);
# | }
# |
# | static int
# | __archive_libc_md5final(archive_md5_ctx *ctx, void *md)
# | {
# | MD5Final(md, ctx);
# | return (ARCHIVE_OK);
# | }
# |
# | #elif defined(ARCHIVE_CRYPTO_MD5_LIBMD)
# |
# | static int
# | __archive_libmd_md5init(archive_md5_ctx *ctx)
# | {
# | MD5Init(ctx);
# | return (ARCHIVE_OK);
# | }
# |
# | static int
# | __archive_libmd_md5update(archive_md5_ctx *ctx, const void *indata,
# | size_t insize)
# | {
# | MD5Update(ctx, indata, insize);
# | return (ARCHIVE_OK);
# | }
# |
# | static int
# | __archive_libmd_md5final(archive_md5_ctx *ctx, void *md)
# | {
# | MD5Final(md, ctx);
# | return (ARCHIVE_OK);
# | }
# |
# | #elif defined(ARCHIVE_CRYPTO_MD5_LIBSYSTEM)
# |
# | static int
# | __archive_libsystem_md5init(archive_md5_ctx *ctx)
# | {
# | CC_MD5_Init(ctx);
# | return (ARCHIVE_OK);
# | }
# |
# | static int
# | __archive_libsystem_md5update(archive_md5_ctx *ctx, const void *indata,
# | size_t insize)
# | {
# | CC_MD5_Update(ctx, indata, insize);
# | return (ARCHIVE_OK);
# | }
# |
# | static int
# | __archive_libsystem_md5final(archive_md5_ctx *ctx, void *md)
# | {
# | CC_MD5_Final(md, ctx);
# | return (ARCHIVE_OK);
# | }
# |
# | #elif defined(ARCHIVE_CRYPTO_MD5_NETTLE)
# |
# | static int
# | __archive_nettle_md5init(archive_md5_ctx *ctx)
# | {
# | md5_init(ctx);
# | return (ARCHIVE_OK);
# | }
# |
# | static int
# | __archive_nettle_md5update(archive_md5_ctx *ctx, const void *indata,
# | size_t insize)
# | {
# | md5_update(ctx, insize, indata);
# | return (ARCHIVE_OK);
# | }
# |
# | static int
# | __archive_nettle_md5final(archive_md5_ctx *ctx, void *md)
# | {
# | md5_digest(ctx, MD5_DIGEST_SIZE, md);
# | return (ARCHIVE_OK);
# | }
# |
# | #elif defined(ARCHIVE_CRYPTO_MD5_OPENSSL)
# |
# | static int
# | __archive_openssl_md5init(archive_md5_ctx *ctx)
# | {
# | 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: clang -o conftest -Wall -Wformat -Wformat-security -I. -I. -I./libarchive conftest.c -lacl -lexpat -llzo2 -llzma -llz4 -lbz2 -lz >&5
# In file included from conftest.c:252:
# ./libarchive/archive_digest_private.h:78:10: fatal error: 'sha2.h' file not found
# #include
# ^
# 1 error generated.
# 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_EXT2FS_EXT2_FS_H 1
# | #define HAVE_FCNTL_H 1
# | #define HAVE_GRP_H 1
# | #define HAVE_WORKING_EXT2_IOC_GETFLAGS 1
# | #define HAVE_INTTYPES_H 1
# | #define HAVE_LANGINFO_H 1
# | #define HAVE_LIMITS_H 1
# | #define HAVE_LINUX_FIEMAP_H 1
# | #define HAVE_LINUX_FS_H 1
# | #define HAVE_LINUX_MAGIC_H 1
# | #define HAVE_LINUX_TYPES_H 1
# | #define HAVE_LOCALE_H 1
# | #define HAVE_PATHS_H 1
# | #define HAVE_POLL_H 1
# | #define HAVE_PTHREAD_H 1
# | #define HAVE_PWD_H 1
# | #define HAVE_SIGNAL_H 1
# | #define HAVE_SPAWN_H 1
# | #define HAVE_STDARG_H 1
# | #define HAVE_STDINT_H 1
# | #define HAVE_STDLIB_H 1
# | #define HAVE_STRING_H 1
# | #define HAVE_SYS_CDEFS_H 1
# | #define HAVE_SYS_IOCTL_H 1
# | #define HAVE_SYS_MOUNT_H 1
# | #define HAVE_SYS_PARAM_H 1
# | #define HAVE_SYS_POLL_H 1
# | #define HAVE_SYS_SELECT_H 1
# | #define HAVE_SYS_STATFS_H 1
# | #define HAVE_SYS_STATVFS_H 1
# | #define HAVE_SYS_TIME_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_BZLIB_H 1
# | #define HAVE_LIBBZ2 1
# | #define HAVE_ICONV 1
# | #define ICONV_CONST
# | #define HAVE_ICONV_H 1
# | #define HAVE_LZ4_H 1
# | #define HAVE_LZ4HC_H 1
# | #define HAVE_LIBLZ4 1
# | #define HAVE_LZMA_H 1
# | #define HAVE_LIBLZMA 1
# | #define HAVE_LZMA_STREAM_ENCODER_MT 1
# | #define HAVE_LZO_LZOCONF_H 1
# | #define HAVE_LZO_LZO1X_H 1
# | #define HAVE_LIBLZO2 1
# | #define HAVE_EXPAT_H 1
# | #define HAVE_LIBEXPAT 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 1
# | #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1
# | #define HAVE_STRUCT_STAT_ST_BLKSIZE 1
# | #define HAVE_UINTMAX_T 1
# | #define HAVE_UNSIGNED_LONG_LONG 1
# | #define HAVE_UNSIGNED_LONG_LONG_INT 1
# | #define HAVE_LONG_LONG_INT 1
# | #define HAVE_INTMAX_T 1
# | #define HAVE_UINTMAX_T 1
# | #define HAVE_DECL_SIZE_MAX 1
# | #define HAVE_DECL_INT32_MAX 1
# | #define HAVE_DECL_INT32_MIN 1
# | #define HAVE_DECL_INT64_MAX 1
# | #define HAVE_DECL_INT64_MIN 1
# | #define HAVE_DECL_UINT64_MAX 1
# | #define HAVE_DECL_UINT32_MAX 1
# | #define HAVE_DECL_INTMAX_MAX 1
# | #define HAVE_DECL_INTMAX_MIN 1
# | #define HAVE_DECL_UINTMAX_MAX 1
# | #define HAVE_DECL_SSIZE_MAX 1
# | #define HAVE_EILSEQ 1
# | #define HAVE_WCHAR_T 1
# | #define SIZEOF_WCHAR_T 4
# | #define TIME_WITH_SYS_TIME 1
# | #define HAVE_FSEEKO 1
# | #define LSTAT_FOLLOWS_SLASHED_SYMLINK 1
# | #define HAVE_DECL_STRERROR_R 1
# | #define HAVE_STRERROR_R 1
# | #define STRERROR_R_CHAR_P 1
# | #define HAVE_STRFTIME 1
# | #define HAVE_VPRINTF 1
# | #define HAVE_CHOWN 1
# | #define HAVE_CHROOT 1
# | #define HAVE_CTIME_R 1
# | #define HAVE_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_FUTIMES 1
# | #define HAVE_FUTIMESAT 1
# | #define HAVE_GETEUID 1
# | #define HAVE_GETPID 1
# | #define HAVE_GETGRGID_R 1
# | #define HAVE_GETGRNAM_R 1
# | #define HAVE_GETPWNAM_R 1
# | #define HAVE_GETPWUID_R 1
# | #define HAVE_GMTIME_R 1
# | #define HAVE_LCHOWN 1
# | #define HAVE_LINK 1
# | #define HAVE_LOCALTIME_R 1
# | #define HAVE_LSTAT 1
# | #define HAVE_LUTIMES 1
# | #define HAVE_MBRTOWC 1
# | #define HAVE_MEMMOVE 1
# | #define HAVE_MEMSET 1
# | #define HAVE_MKDIR 1
# | #define HAVE_MKFIFO 1
# | #define HAVE_MKNOD 1
# | #define HAVE_MKSTEMP 1
# | #define HAVE_NL_LANGINFO 1
# | #define HAVE_OPENAT 1
# | #define HAVE_PIPE 1
# | #define HAVE_POLL 1
# | #define HAVE_POSIX_SPAWNP 1
# | #define HAVE_READLINK 1
# | #define HAVE_READLINKAT 1
# | #define HAVE_SELECT 1
# | #define HAVE_SETENV 1
# | #define HAVE_SETLOCALE 1
# | #define HAVE_SIGACTION 1
# | #define HAVE_STATFS 1
# | #define HAVE_STATVFS 1
# | #define HAVE_STRCHR 1
# | #define HAVE_STRDUP 1
# | #define HAVE_STRERROR 1
# | #define HAVE_STRRCHR 1
# | #define HAVE_SYMLINK 1
# | #define HAVE_TIMEGM 1
# | #define HAVE_TZSET 1
# | #define HAVE_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_ATTR_XATTR_H 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
# | #define HAVE_ACL_LIBACL_H 1
# | #define HAVE_SYS_ACL_H 1
# | #define HAVE_LIBACL 1
# | #define HAVE_ACL_CREATE_ENTRY 1
# | #define HAVE_ACL_INIT 1
# | #define HAVE_ACL_SET_FD 1
# | #define HAVE_ACL_SET_FILE 1
# | #define HAVE_ACL_PERMSET_T 1
# | #define HAVE_ACL_GET_PERM 1
# | #define HAVE_ACL_USER 1
# | /* end confdefs.h. */
# |
# | #define ARCHIVE_SHA512_COMPILE_TEST
# | #define ARCHIVE_CRYPTO_SHA512_LIBC2
# | #define PLATFORM_CONFIG_H "check_crypto_md.h"
# |
# | /*-
# | * Copyright (c) 2003-2007 Tim Kientzle
# | * Copyright (c) 2011 Andres Mejia
# | * Copyright (c) 2011 Michihiro NAKAJIMA
# | * All rights reserved.
# | *
# | * Redistribution and use in source and binary forms, with or without
# | * modification, are permitted provided that the following conditions
# | * are met:
# | * 1. Redistributions of source code must retain the above copyright
# | * notice, this list of conditions and the following disclaimer.
# | * 2. Redistributions in binary form must reproduce the above copyright
# | * notice, this list of conditions and the following disclaimer in the
# | * documentation and/or other materials provided with the distribution.
# | *
# | * THIS SOFTWARE IS PROVIDED BY THE AUTHOR(S) ``AS IS'' AND ANY EXPRESS OR
# | * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
# | * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
# | * IN NO EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY DIRECT, INDIRECT,
# | * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
# | * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
# | * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
# | * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
# | * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
# | */
# |
# | #include "archive_platform.h"
# |
# | #include "archive.h"
# | #include "archive_digest_private.h"
# |
# | /* In particular, force the configure probe to break if it tries
# | * to test a combination of OpenSSL and libmd. */
# | #if defined(ARCHIVE_CRYPTO_OPENSSL) && defined(ARCHIVE_CRYPTO_LIBMD)
# | #error Cannot use both OpenSSL and libmd.
# | #endif
# |
# | /*
# | * Message digest functions for Windows platform.
# | */
# | #if defined(ARCHIVE_CRYPTO_MD5_WIN) ||\
# | defined(ARCHIVE_CRYPTO_SHA1_WIN) ||\
# | defined(ARCHIVE_CRYPTO_SHA256_WIN) ||\
# | defined(ARCHIVE_CRYPTO_SHA384_WIN) ||\
# | defined(ARCHIVE_CRYPTO_SHA512_WIN)
# |
# | /*
# | * Initialize a Message digest.
# | */
# | static int
# | win_crypto_init(Digest_CTX *ctx, ALG_ID algId)
# | {
# |
# | ctx->valid = 0;
# | if (!CryptAcquireContext(&ctx->cryptProv, NULL, NULL,
# | PROV_RSA_FULL, CRYPT_VERIFYCONTEXT)) {
# | if (GetLastError() != (DWORD)NTE_BAD_KEYSET)
# | return (ARCHIVE_FAILED);
# | if (!CryptAcquireContext(&ctx->cryptProv, NULL, NULL,
# | PROV_RSA_FULL, CRYPT_NEWKEYSET))
# | return (ARCHIVE_FAILED);
# | }
# |
# | if (!CryptCreateHash(ctx->cryptProv, algId, 0, 0, &ctx->hash)) {
# | CryptReleaseContext(ctx->cryptProv, 0);
# | return (ARCHIVE_FAILED);
# | }
# |
# | ctx->valid = 1;
# | return (ARCHIVE_OK);
# | }
# |
# | /*
# | * Update a Message digest.
# | */
# | static int
# | win_crypto_Update(Digest_CTX *ctx, const unsigned char *buf, size_t len)
# | {
# |
# | if (!ctx->valid)
# | return (ARCHIVE_FAILED);
# |
# | CryptHashData(ctx->hash,
# | (unsigned char *)(uintptr_t)buf,
# | (DWORD)len, 0);
# | return (ARCHIVE_OK);
# | }
# |
# | static int
# | win_crypto_Final(unsigned char *buf, size_t bufsize, Digest_CTX *ctx)
# | {
# | DWORD siglen = (DWORD)bufsize;
# |
# | if (!ctx->valid)
# | return (ARCHIVE_FAILED);
# |
# | CryptGetHashParam(ctx->hash, HP_HASHVAL, buf, &siglen, 0);
# | CryptDestroyHash(ctx->hash);
# | CryptReleaseContext(ctx->cryptProv, 0);
# | ctx->valid = 0;
# | return (ARCHIVE_OK);
# | }
# |
# | #endif /* defined(ARCHIVE_CRYPTO_*_WIN) */
# |
# |
# | /* MD5 implementations */
# | #if defined(ARCHIVE_CRYPTO_MD5_LIBC)
# |
# | static int
# | __archive_libc_md5init(archive_md5_ctx *ctx)
# | {
# | MD5Init(ctx);
# | return (ARCHIVE_OK);
# | }
# |
# | static int
# | __archive_libc_md5update(archive_md5_ctx *ctx, const void *indata,
# | size_t insize)
# | {
# | MD5Update(ctx, indata, insize);
# | return (ARCHIVE_OK);
# | }
# |
# | static int
# | __archive_libc_md5final(archive_md5_ctx *ctx, void *md)
# | {
# | MD5Final(md, ctx);
# | return (ARCHIVE_OK);
# | }
# |
# | #elif defined(ARCHIVE_CRYPTO_MD5_LIBMD)
# |
# | static int
# | __archive_libmd_md5init(archive_md5_ctx *ctx)
# | {
# | MD5Init(ctx);
# | return (ARCHIVE_OK);
# | }
# |
# | static int
# | __archive_libmd_md5update(archive_md5_ctx *ctx, const void *indata,
# | size_t insize)
# | {
# | MD5Update(ctx, indata, insize);
# | return (ARCHIVE_OK);
# | }
# |
# | static int
# | __archive_libmd_md5final(archive_md5_ctx *ctx, void *md)
# | {
# | MD5Final(md, ctx);
# | return (ARCHIVE_OK);
# | }
# |
# | #elif defined(ARCHIVE_CRYPTO_MD5_LIBSYSTEM)
# |
# | static int
# | __archive_libsystem_md5init(archive_md5_ctx *ctx)
# | {
# | CC_MD5_Init(ctx);
# | return (ARCHIVE_OK);
# | }
# |
# | static int
# | __archive_libsystem_md5update(archive_md5_ctx *ctx, const void *indata,
# | size_t insize)
# | {
# | CC_MD5_Update(ctx, indata, insize);
# | return (ARCHIVE_OK);
# | }
# |
# | static int
# | __archive_libsystem_md5final(archive_md5_ctx *ctx, void *md)
# | {
# | CC_MD5_Final(md, ctx);
# | return (ARCHIVE_OK);
# | }
# |
# | #elif defined(ARCHIVE_CRYPTO_MD5_NETTLE)
# |
# | static int
# | __archive_nettle_md5init(archive_md5_ctx *ctx)
# | {
# | md5_init(ctx);
# | return (ARCHIVE_OK);
# | }
# |
# | static int
# | __archive_nettle_md5update(archive_md5_ctx *ctx, const void *indata,
# | size_t insize)
# | {
# | md5_update(ctx, insize, indata);
# | return (ARCHIVE_OK);
# | }
# |
# | static int
# | __archive_nettle_md5final(archive_md5_ctx *ctx, void *md)
# | {
# | md5_digest(ctx, MD5_DIGEST_SIZE, md);
# | return (ARCHIVE_OK);
# | }
# |
# | #elif defined(ARCHIVE_CRYPTO_MD5_OPENSSL)
# |
# | static int
# | __archive_openssl_md5init(archive_md5_ctx *ctx)
# | {
# | 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: clang -o conftest -Wall -Wformat -Wformat-security -I. -I. -I./libarchive conftest.c -lacl -lexpat -llzo2 -llzma -llz4 -lbz2 -lz >&5
# In file included from conftest.c:252:
# ./libarchive/archive_digest_private.h:78:10: fatal error: 'sha2.h' file not found
# #include
# ^
# 1 error generated.
# 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_EXT2FS_EXT2_FS_H 1
# | #define HAVE_FCNTL_H 1
# | #define HAVE_GRP_H 1
# | #define HAVE_WORKING_EXT2_IOC_GETFLAGS 1
# | #define HAVE_INTTYPES_H 1
# | #define HAVE_LANGINFO_H 1
# | #define HAVE_LIMITS_H 1
# | #define HAVE_LINUX_FIEMAP_H 1
# | #define HAVE_LINUX_FS_H 1
# | #define HAVE_LINUX_MAGIC_H 1
# | #define HAVE_LINUX_TYPES_H 1
# | #define HAVE_LOCALE_H 1
# | #define HAVE_PATHS_H 1
# | #define HAVE_POLL_H 1
# | #define HAVE_PTHREAD_H 1
# | #define HAVE_PWD_H 1
# | #define HAVE_SIGNAL_H 1
# | #define HAVE_SPAWN_H 1
# | #define HAVE_STDARG_H 1
# | #define HAVE_STDINT_H 1
# | #define HAVE_STDLIB_H 1
# | #define HAVE_STRING_H 1
# | #define HAVE_SYS_CDEFS_H 1
# | #define HAVE_SYS_IOCTL_H 1
# | #define HAVE_SYS_MOUNT_H 1
# | #define HAVE_SYS_PARAM_H 1
# | #define HAVE_SYS_POLL_H 1
# | #define HAVE_SYS_SELECT_H 1
# | #define HAVE_SYS_STATFS_H 1
# | #define HAVE_SYS_STATVFS_H 1
# | #define HAVE_SYS_TIME_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_BZLIB_H 1
# | #define HAVE_LIBBZ2 1
# | #define HAVE_ICONV 1
# | #define ICONV_CONST
# | #define HAVE_ICONV_H 1
# | #define HAVE_LZ4_H 1
# | #define HAVE_LZ4HC_H 1
# | #define HAVE_LIBLZ4 1
# | #define HAVE_LZMA_H 1
# | #define HAVE_LIBLZMA 1
# | #define HAVE_LZMA_STREAM_ENCODER_MT 1
# | #define HAVE_LZO_LZOCONF_H 1
# | #define HAVE_LZO_LZO1X_H 1
# | #define HAVE_LIBLZO2 1
# | #define HAVE_EXPAT_H 1
# | #define HAVE_LIBEXPAT 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 1
# | #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1
# | #define HAVE_STRUCT_STAT_ST_BLKSIZE 1
# | #define HAVE_UINTMAX_T 1
# | #define HAVE_UNSIGNED_LONG_LONG 1
# | #define HAVE_UNSIGNED_LONG_LONG_INT 1
# | #define HAVE_LONG_LONG_INT 1
# | #define HAVE_INTMAX_T 1
# | #define HAVE_UINTMAX_T 1
# | #define HAVE_DECL_SIZE_MAX 1
# | #define HAVE_DECL_INT32_MAX 1
# | #define HAVE_DECL_INT32_MIN 1
# | #define HAVE_DECL_INT64_MAX 1
# | #define HAVE_DECL_INT64_MIN 1
# | #define HAVE_DECL_UINT64_MAX 1
# | #define HAVE_DECL_UINT32_MAX 1
# | #define HAVE_DECL_INTMAX_MAX 1
# | #define HAVE_DECL_INTMAX_MIN 1
# | #define HAVE_DECL_UINTMAX_MAX 1
# | #define HAVE_DECL_SSIZE_MAX 1
# | #define HAVE_EILSEQ 1
# | #define HAVE_WCHAR_T 1
# | #define SIZEOF_WCHAR_T 4
# | #define TIME_WITH_SYS_TIME 1
# | #define HAVE_FSEEKO 1
# | #define LSTAT_FOLLOWS_SLASHED_SYMLINK 1
# | #define HAVE_DECL_STRERROR_R 1
# | #define HAVE_STRERROR_R 1
# | #define STRERROR_R_CHAR_P 1
# | #define HAVE_STRFTIME 1
# | #define HAVE_VPRINTF 1
# | #define HAVE_CHOWN 1
# | #define HAVE_CHROOT 1
# | #define HAVE_CTIME_R 1
# | #define HAVE_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_FUTIMES 1
# | #define HAVE_FUTIMESAT 1
# | #define HAVE_GETEUID 1
# | #define HAVE_GETPID 1
# | #define HAVE_GETGRGID_R 1
# | #define HAVE_GETGRNAM_R 1
# | #define HAVE_GETPWNAM_R 1
# | #define HAVE_GETPWUID_R 1
# | #define HAVE_GMTIME_R 1
# | #define HAVE_LCHOWN 1
# | #define HAVE_LINK 1
# | #define HAVE_LOCALTIME_R 1
# | #define HAVE_LSTAT 1
# | #define HAVE_LUTIMES 1
# | #define HAVE_MBRTOWC 1
# | #define HAVE_MEMMOVE 1
# | #define HAVE_MEMSET 1
# | #define HAVE_MKDIR 1
# | #define HAVE_MKFIFO 1
# | #define HAVE_MKNOD 1
# | #define HAVE_MKSTEMP 1
# | #define HAVE_NL_LANGINFO 1
# | #define HAVE_OPENAT 1
# | #define HAVE_PIPE 1
# | #define HAVE_POLL 1
# | #define HAVE_POSIX_SPAWNP 1
# | #define HAVE_READLINK 1
# | #define HAVE_READLINKAT 1
# | #define HAVE_SELECT 1
# | #define HAVE_SETENV 1
# | #define HAVE_SETLOCALE 1
# | #define HAVE_SIGACTION 1
# | #define HAVE_STATFS 1
# | #define HAVE_STATVFS 1
# | #define HAVE_STRCHR 1
# | #define HAVE_STRDUP 1
# | #define HAVE_STRERROR 1
# | #define HAVE_STRRCHR 1
# | #define HAVE_SYMLINK 1
# | #define HAVE_TIMEGM 1
# | #define HAVE_TZSET 1
# | #define HAVE_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_ATTR_XATTR_H 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
# | #define HAVE_ACL_LIBACL_H 1
# | #define HAVE_SYS_ACL_H 1
# | #define HAVE_LIBACL 1
# | #define HAVE_ACL_CREATE_ENTRY 1
# | #define HAVE_ACL_INIT 1
# | #define HAVE_ACL_SET_FD 1
# | #define HAVE_ACL_SET_FILE 1
# | #define HAVE_ACL_PERMSET_T 1
# | #define HAVE_ACL_GET_PERM 1
# | #define HAVE_ACL_USER 1
# | /* end confdefs.h. */
# |
# | #define ARCHIVE_SHA512_COMPILE_TEST
# | #define ARCHIVE_CRYPTO_SHA512_LIBC3
# | #define PLATFORM_CONFIG_H "check_crypto_md.h"
# |
# | /*-
# | * Copyright (c) 2003-2007 Tim Kientzle
# | * Copyright (c) 2011 Andres Mejia
# | * Copyright (c) 2011 Michihiro NAKAJIMA
# | * All rights reserved.
# | *
# | * Redistribution and use in source and binary forms, with or without
# | * modification, are permitted provided that the following conditions
# | * are met:
# | * 1. Redistributions of source code must retain the above copyright
# | * notice, this list of conditions and the following disclaimer.
# | * 2. Redistributions in binary form must reproduce the above copyright
# | * notice, this list of conditions and the following disclaimer in the
# | * documentation and/or other materials provided with the distribution.
# | *
# | * THIS SOFTWARE IS PROVIDED BY THE AUTHOR(S) ``AS IS'' AND ANY EXPRESS OR
# | * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
# | * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
# | * IN NO EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY DIRECT, INDIRECT,
# | * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
# | * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
# | * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
# | * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
# | * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
# | */
# |
# | #include "archive_platform.h"
# |
# | #include "archive.h"
# | #include "archive_digest_private.h"
# |
# | /* In particular, force the configure probe to break if it tries
# | * to test a combination of OpenSSL and libmd. */
# | #if defined(ARCHIVE_CRYPTO_OPENSSL) && defined(ARCHIVE_CRYPTO_LIBMD)
# | #error Cannot use both OpenSSL and libmd.
# | #endif
# |
# | /*
# | * Message digest functions for Windows platform.
# | */
# | #if defined(ARCHIVE_CRYPTO_MD5_WIN) ||\
# | defined(ARCHIVE_CRYPTO_SHA1_WIN) ||\
# | defined(ARCHIVE_CRYPTO_SHA256_WIN) ||\
# | defined(ARCHIVE_CRYPTO_SHA384_WIN) ||\
# | defined(ARCHIVE_CRYPTO_SHA512_WIN)
# |
# | /*
# | * Initialize a Message digest.
# | */
# | static int
# | win_crypto_init(Digest_CTX *ctx, ALG_ID algId)
# | {
# |
# | ctx->valid = 0;
# | if (!CryptAcquireContext(&ctx->cryptProv, NULL, NULL,
# | PROV_RSA_FULL, CRYPT_VERIFYCONTEXT)) {
# | if (GetLastError() != (DWORD)NTE_BAD_KEYSET)
# | return (ARCHIVE_FAILED);
# | if (!CryptAcquireContext(&ctx->cryptProv, NULL, NULL,
# | PROV_RSA_FULL, CRYPT_NEWKEYSET))
# | return (ARCHIVE_FAILED);
# | }
# |
# | if (!CryptCreateHash(ctx->cryptProv, algId, 0, 0, &ctx->hash)) {
# | CryptReleaseContext(ctx->cryptProv, 0);
# | return (ARCHIVE_FAILED);
# | }
# |
# | ctx->valid = 1;
# | return (ARCHIVE_OK);
# | }
# |
# | /*
# | * Update a Message digest.
# | */
# | static int
# | win_crypto_Update(Digest_CTX *ctx, const unsigned char *buf, size_t len)
# | {
# |
# | if (!ctx->valid)
# | return (ARCHIVE_FAILED);
# |
# | CryptHashData(ctx->hash,
# | (unsigned char *)(uintptr_t)buf,
# | (DWORD)len, 0);
# | return (ARCHIVE_OK);
# | }
# |
# | static int
# | win_crypto_Final(unsigned char *buf, size_t bufsize, Digest_CTX *ctx)
# | {
# | DWORD siglen = (DWORD)bufsize;
# |
# | if (!ctx->valid)
# | return (ARCHIVE_FAILED);
# |
# | CryptGetHashParam(ctx->hash, HP_HASHVAL, buf, &siglen, 0);
# | CryptDestroyHash(ctx->hash);
# | CryptReleaseContext(ctx->cryptProv, 0);
# | ctx->valid = 0;
# | return (ARCHIVE_OK);
# | }
# |
# | #endif /* defined(ARCHIVE_CRYPTO_*_WIN) */
# |
# |
# | /* MD5 implementations */
# | #if defined(ARCHIVE_CRYPTO_MD5_LIBC)
# |
# | static int
# | __archive_libc_md5init(archive_md5_ctx *ctx)
# | {
# | MD5Init(ctx);
# | return (ARCHIVE_OK);
# | }
# |
# | static int
# | __archive_libc_md5update(archive_md5_ctx *ctx, const void *indata,
# | size_t insize)
# | {
# | MD5Update(ctx, indata, insize);
# | return (ARCHIVE_OK);
# | }
# |
# | static int
# | __archive_libc_md5final(archive_md5_ctx *ctx, void *md)
# | {
# | MD5Final(md, ctx);
# | return (ARCHIVE_OK);
# | }
# |
# | #elif defined(ARCHIVE_CRYPTO_MD5_LIBMD)
# |
# | static int
# | __archive_libmd_md5init(archive_md5_ctx *ctx)
# | {
# | MD5Init(ctx);
# | return (ARCHIVE_OK);
# | }
# |
# | static int
# | __archive_libmd_md5update(archive_md5_ctx *ctx, const void *indata,
# | size_t insize)
# | {
# | MD5Update(ctx, indata, insize);
# | return (ARCHIVE_OK);
# | }
# |
# | static int
# | __archive_libmd_md5final(archive_md5_ctx *ctx, void *md)
# | {
# | MD5Final(md, ctx);
# | return (ARCHIVE_OK);
# | }
# |
# | #elif defined(ARCHIVE_CRYPTO_MD5_LIBSYSTEM)
# |
# | static int
# | __archive_libsystem_md5init(archive_md5_ctx *ctx)
# | {
# | CC_MD5_Init(ctx);
# | return (ARCHIVE_OK);
# | }
# |
# | static int
# | __archive_libsystem_md5update(archive_md5_ctx *ctx, const void *indata,
# | size_t insize)
# | {
# | CC_MD5_Update(ctx, indata, insize);
# | return (ARCHIVE_OK);
# | }
# |
# | static int
# | __archive_libsystem_md5final(archive_md5_ctx *ctx, void *md)
# | {
# | CC_MD5_Final(md, ctx);
# | return (ARCHIVE_OK);
# | }
# |
# | #elif defined(ARCHIVE_CRYPTO_MD5_NETTLE)
# |
# | static int
# | __archive_nettle_md5init(archive_md5_ctx *ctx)
# | {
# | md5_init(ctx);
# | return (ARCHIVE_OK);
# | }
# |
# | static int
# | __archive_nettle_md5update(archive_md5_ctx *ctx, const void *indata,
# | size_t insize)
# | {
# | md5_update(ctx, insize, indata);
# | return (ARCHIVE_OK);
# | }
# |
# | static int
# | __archive_nettle_md5final(archive_md5_ctx *ctx, void *md)
# | {
# | md5_digest(ctx, MD5_DIGEST_SIZE, md);
# | return (ARCHIVE_OK);
# | }
# |
# | #elif defined(ARCHIVE_CRYPTO_MD5_OPENSSL)
# |
# | static int
# | __archive_openssl_md5init(archive_md5_ctx *ctx)
# | {
# | 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: clang -o conftest -Wall -Wformat -Wformat-security -I. -I. -I./libarchive conftest.c -lacl -lexpat -llzo2 -llzma -llz4 -lbz2 -lz >&5
# In file included from conftest.c:252:
# ./libarchive/archive_digest_private.h:112:10: fatal error: 'CommonCrypto/CommonDigest.h' file not found
# #include
# ^
# 1 error generated.
# 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_EXT2FS_EXT2_FS_H 1
# | #define HAVE_FCNTL_H 1
# | #define HAVE_GRP_H 1
# | #define HAVE_WORKING_EXT2_IOC_GETFLAGS 1
# | #define HAVE_INTTYPES_H 1
# | #define HAVE_LANGINFO_H 1
# | #define HAVE_LIMITS_H 1
# | #define HAVE_LINUX_FIEMAP_H 1
# | #define HAVE_LINUX_FS_H 1
# | #define HAVE_LINUX_MAGIC_H 1
# | #define HAVE_LINUX_TYPES_H 1
# | #define HAVE_LOCALE_H 1
# | #define HAVE_PATHS_H 1
# | #define HAVE_POLL_H 1
# | #define HAVE_PTHREAD_H 1
# | #define HAVE_PWD_H 1
# | #define HAVE_SIGNAL_H 1
# | #define HAVE_SPAWN_H 1
# | #define HAVE_STDARG_H 1
# | #define HAVE_STDINT_H 1
# | #define HAVE_STDLIB_H 1
# | #define HAVE_STRING_H 1
# | #define HAVE_SYS_CDEFS_H 1
# | #define HAVE_SYS_IOCTL_H 1
# | #define HAVE_SYS_MOUNT_H 1
# | #define HAVE_SYS_PARAM_H 1
# | #define HAVE_SYS_POLL_H 1
# | #define HAVE_SYS_SELECT_H 1
# | #define HAVE_SYS_STATFS_H 1
# | #define HAVE_SYS_STATVFS_H 1
# | #define HAVE_SYS_TIME_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_BZLIB_H 1
# | #define HAVE_LIBBZ2 1
# | #define HAVE_ICONV 1
# | #define ICONV_CONST
# | #define HAVE_ICONV_H 1
# | #define HAVE_LZ4_H 1
# | #define HAVE_LZ4HC_H 1
# | #define HAVE_LIBLZ4 1
# | #define HAVE_LZMA_H 1
# | #define HAVE_LIBLZMA 1
# | #define HAVE_LZMA_STREAM_ENCODER_MT 1
# | #define HAVE_LZO_LZOCONF_H 1
# | #define HAVE_LZO_LZO1X_H 1
# | #define HAVE_LIBLZO2 1
# | #define HAVE_EXPAT_H 1
# | #define HAVE_LIBEXPAT 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 1
# | #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1
# | #define HAVE_STRUCT_STAT_ST_BLKSIZE 1
# | #define HAVE_UINTMAX_T 1
# | #define HAVE_UNSIGNED_LONG_LONG 1
# | #define HAVE_UNSIGNED_LONG_LONG_INT 1
# | #define HAVE_LONG_LONG_INT 1
# | #define HAVE_INTMAX_T 1
# | #define HAVE_UINTMAX_T 1
# | #define HAVE_DECL_SIZE_MAX 1
# | #define HAVE_DECL_INT32_MAX 1
# | #define HAVE_DECL_INT32_MIN 1
# | #define HAVE_DECL_INT64_MAX 1
# | #define HAVE_DECL_INT64_MIN 1
# | #define HAVE_DECL_UINT64_MAX 1
# | #define HAVE_DECL_UINT32_MAX 1
# | #define HAVE_DECL_INTMAX_MAX 1
# | #define HAVE_DECL_INTMAX_MIN 1
# | #define HAVE_DECL_UINTMAX_MAX 1
# | #define HAVE_DECL_SSIZE_MAX 1
# | #define HAVE_EILSEQ 1
# | #define HAVE_WCHAR_T 1
# | #define SIZEOF_WCHAR_T 4
# | #define TIME_WITH_SYS_TIME 1
# | #define HAVE_FSEEKO 1
# | #define LSTAT_FOLLOWS_SLASHED_SYMLINK 1
# | #define HAVE_DECL_STRERROR_R 1
# | #define HAVE_STRERROR_R 1
# | #define STRERROR_R_CHAR_P 1
# | #define HAVE_STRFTIME 1
# | #define HAVE_VPRINTF 1
# | #define HAVE_CHOWN 1
# | #define HAVE_CHROOT 1
# | #define HAVE_CTIME_R 1
# | #define HAVE_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_FUTIMES 1
# | #define HAVE_FUTIMESAT 1
# | #define HAVE_GETEUID 1
# | #define HAVE_GETPID 1
# | #define HAVE_GETGRGID_R 1
# | #define HAVE_GETGRNAM_R 1
# | #define HAVE_GETPWNAM_R 1
# | #define HAVE_GETPWUID_R 1
# | #define HAVE_GMTIME_R 1
# | #define HAVE_LCHOWN 1
# | #define HAVE_LINK 1
# | #define HAVE_LOCALTIME_R 1
# | #define HAVE_LSTAT 1
# | #define HAVE_LUTIMES 1
# | #define HAVE_MBRTOWC 1
# | #define HAVE_MEMMOVE 1
# | #define HAVE_MEMSET 1
# | #define HAVE_MKDIR 1
# | #define HAVE_MKFIFO 1
# | #define HAVE_MKNOD 1
# | #define HAVE_MKSTEMP 1
# | #define HAVE_NL_LANGINFO 1
# | #define HAVE_OPENAT 1
# | #define HAVE_PIPE 1
# | #define HAVE_POLL 1
# | #define HAVE_POSIX_SPAWNP 1
# | #define HAVE_READLINK 1
# | #define HAVE_READLINKAT 1
# | #define HAVE_SELECT 1
# | #define HAVE_SETENV 1
# | #define HAVE_SETLOCALE 1
# | #define HAVE_SIGACTION 1
# | #define HAVE_STATFS 1
# | #define HAVE_STATVFS 1
# | #define HAVE_STRCHR 1
# | #define HAVE_STRDUP 1
# | #define HAVE_STRERROR 1
# | #define HAVE_STRRCHR 1
# | #define HAVE_SYMLINK 1
# | #define HAVE_TIMEGM 1
# | #define HAVE_TZSET 1
# | #define HAVE_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_ATTR_XATTR_H 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
# | #define HAVE_ACL_LIBACL_H 1
# | #define HAVE_SYS_ACL_H 1
# | #define HAVE_LIBACL 1
# | #define HAVE_ACL_CREATE_ENTRY 1
# | #define HAVE_ACL_INIT 1
# | #define HAVE_ACL_SET_FD 1
# | #define HAVE_ACL_SET_FILE 1
# | #define HAVE_ACL_PERMSET_T 1
# | #define HAVE_ACL_GET_PERM 1
# | #define HAVE_ACL_USER 1
# | /* end confdefs.h. */
# |
# | #define ARCHIVE_SHA512_COMPILE_TEST
# | #define ARCHIVE_CRYPTO_SHA512_LIBSYSTEM
# | #define PLATFORM_CONFIG_H "check_crypto_md.h"
# |
# | /*-
# | * Copyright (c) 2003-2007 Tim Kientzle
# | * Copyright (c) 2011 Andres Mejia
# | * Copyright (c) 2011 Michihiro NAKAJIMA
# | * All rights reserved.
# | *
# | * Redistribution and use in source and binary forms, with or without
# | * modification, are permitted provided that the following conditions
# | * are met:
# | * 1. Redistributions of source code must retain the above copyright
# | * notice, this list of conditions and the following disclaimer.
# | * 2. Redistributions in binary form must reproduce the above copyright
# | * notice, this list of conditions and the following disclaimer in the
# | * documentation and/or other materials provided with the distribution.
# | *
# | * THIS SOFTWARE IS PROVIDED BY THE AUTHOR(S) ``AS IS'' AND ANY EXPRESS OR
# | * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
# | * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
# | * IN NO EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY DIRECT, INDIRECT,
# | * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
# | * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
# | * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
# | * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
# | * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
# | */
# |
# | #include "archive_platform.h"
# |
# | #include "archive.h"
# | #include "archive_digest_private.h"
# |
# | /* In particular, force the configure probe to break if it tries
# | * to test a combination of OpenSSL and libmd. */
# | #if defined(ARCHIVE_CRYPTO_OPENSSL) && defined(ARCHIVE_CRYPTO_LIBMD)
# | #error Cannot use both OpenSSL and libmd.
# | #endif
# |
# | /*
# | * Message digest functions for Windows platform.
# | */
# | #if defined(ARCHIVE_CRYPTO_MD5_WIN) ||\
# | defined(ARCHIVE_CRYPTO_SHA1_WIN) ||\
# | defined(ARCHIVE_CRYPTO_SHA256_WIN) ||\
# | defined(ARCHIVE_CRYPTO_SHA384_WIN) ||\
# | defined(ARCHIVE_CRYPTO_SHA512_WIN)
# |
# | /*
# | * Initialize a Message digest.
# | */
# | static int
# | win_crypto_init(Digest_CTX *ctx, ALG_ID algId)
# | {
# |
# | ctx->valid = 0;
# | if (!CryptAcquireContext(&ctx->cryptProv, NULL, NULL,
# | PROV_RSA_FULL, CRYPT_VERIFYCONTEXT)) {
# | if (GetLastError() != (DWORD)NTE_BAD_KEYSET)
# | return (ARCHIVE_FAILED);
# | if (!CryptAcquireContext(&ctx->cryptProv, NULL, NULL,
# | PROV_RSA_FULL, CRYPT_NEWKEYSET))
# | return (ARCHIVE_FAILED);
# | }
# |
# | if (!CryptCreateHash(ctx->cryptProv, algId, 0, 0, &ctx->hash)) {
# | CryptReleaseContext(ctx->cryptProv, 0);
# | return (ARCHIVE_FAILED);
# | }
# |
# | ctx->valid = 1;
# | return (ARCHIVE_OK);
# | }
# |
# | /*
# | * Update a Message digest.
# | */
# | static int
# | win_crypto_Update(Digest_CTX *ctx, const unsigned char *buf, size_t len)
# | {
# |
# | if (!ctx->valid)
# | return (ARCHIVE_FAILED);
# |
# | CryptHashData(ctx->hash,
# | (unsigned char *)(uintptr_t)buf,
# | (DWORD)len, 0);
# | return (ARCHIVE_OK);
# | }
# |
# | static int
# | win_crypto_Final(unsigned char *buf, size_t bufsize, Digest_CTX *ctx)
# | {
# | DWORD siglen = (DWORD)bufsize;
# |
# | if (!ctx->valid)
# | return (ARCHIVE_FAILED);
# |
# | CryptGetHashParam(ctx->hash, HP_HASHVAL, buf, &siglen, 0);
# | CryptDestroyHash(ctx->hash);
# | CryptReleaseContext(ctx->cryptProv, 0);
# | ctx->valid = 0;
# | return (ARCHIVE_OK);
# | }
# |
# | #endif /* defined(ARCHIVE_CRYPTO_*_WIN) */
# |
# |
# | /* MD5 implementations */
# | #if defined(ARCHIVE_CRYPTO_MD5_LIBC)
# |
# | static int
# | __archive_libc_md5init(archive_md5_ctx *ctx)
# | {
# | MD5Init(ctx);
# | return (ARCHIVE_OK);
# | }
# |
# | static int
# | __archive_libc_md5update(archive_md5_ctx *ctx, const void *indata,
# | size_t insize)
# | {
# | MD5Update(ctx, indata, insize);
# | return (ARCHIVE_OK);
# | }
# |
# | static int
# | __archive_libc_md5final(archive_md5_ctx *ctx, void *md)
# | {
# | MD5Final(md, ctx);
# | return (ARCHIVE_OK);
# | }
# |
# | #elif defined(ARCHIVE_CRYPTO_MD5_LIBMD)
# |
# | static int
# | __archive_libmd_md5init(archive_md5_ctx *ctx)
# | {
# | MD5Init(ctx);
# | return (ARCHIVE_OK);
# | }
# |
# | static int
# | __archive_libmd_md5update(archive_md5_ctx *ctx, const void *indata,
# | size_t insize)
# | {
# | MD5Update(ctx, indata, insize);
# | return (ARCHIVE_OK);
# | }
# |
# | static int
# | __archive_libmd_md5final(archive_md5_ctx *ctx, void *md)
# | {
# | MD5Final(md, ctx);
# | return (ARCHIVE_OK);
# | }
# |
# | #elif defined(ARCHIVE_CRYPTO_MD5_LIBSYSTEM)
# |
# | static int
# | __archive_libsystem_md5init(archive_md5_ctx *ctx)
# | {
# | CC_MD5_Init(ctx);
# | return (ARCHIVE_OK);
# | }
# |
# | static int
# | __archive_libsystem_md5update(archive_md5_ctx *ctx, const void *indata,
# | size_t insize)
# | {
# | CC_MD5_Update(ctx, indata, insize);
# | return (ARCHIVE_OK);
# | }
# |
# | static int
# | __archive_libsystem_md5final(archive_md5_ctx *ctx, void *md)
# | {
# | CC_MD5_Final(md, ctx);
# | return (ARCHIVE_OK);
# | }
# |
# | #elif defined(ARCHIVE_CRYPTO_MD5_NETTLE)
# |
# | static int
# | __archive_nettle_md5init(archive_md5_ctx *ctx)
# | {
# | md5_init(ctx);
# | return (ARCHIVE_OK);
# | }
# |
# | static int
# | __archive_nettle_md5update(archive_md5_ctx *ctx, const void *indata,
# | size_t insize)
# | {
# | md5_update(ctx, insize, indata);
# | return (ARCHIVE_OK);
# | }
# |
# | static int
# | __archive_nettle_md5final(archive_md5_ctx *ctx, void *md)
# | {
# | md5_digest(ctx, MD5_DIGEST_SIZE, md);
# | return (ARCHIVE_OK);
# | }
# |
# | #elif defined(ARCHIVE_CRYPTO_MD5_OPENSSL)
# |
# | static int
# | __archive_openssl_md5init(archive_md5_ctx *ctx)
# | {
# | 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: clang -c -Wall -Wformat -Wformat-security conftest.c >&5
# configure:18971: $? = 0
# configure:18971: result: yes
# configure:18971: checking openssl/evp.h presence
# configure:18971: clang -E conftest.c
# configure:18971: $? = 0
# configure:18971: result: yes
# configure:18971: checking for openssl/evp.h
# configure:18971: result: yes
# configure:19129: checking for OPENSSL_config in -lcrypto
# configure:19154: clang -o conftest -Wall -Wformat -Wformat-security conftest.c -lcrypto -lacl -lexpat -llzo2 -llzma -llz4 -lbz2 -lz >&5
# configure:19154: $? = 0
# configure:19163: result: yes
# configure:19181: checking support for ARCHIVE_CRYPTO_MD5_OPENSSL
# configure:19203: clang -o conftest -Wall -Wformat -Wformat-security -I. -I. -I./libarchive conftest.c -lcrypto -lacl -lexpat -llzo2 -llzma -llz4 -lbz2 -lz >&5
# configure:19203: $? = 0
# configure:19204: result: yes
# configure:19227: checking support for ARCHIVE_CRYPTO_RMD160_OPENSSL
# configure:19249: clang -o conftest -Wall -Wformat -Wformat-security -I. -I. -I./libarchive conftest.c -lcrypto -lacl -lexpat -llzo2 -llzma -llz4 -lbz2 -lz >&5
# configure:19249: $? = 0
# configure:19250: result: yes
# configure:19273: checking support for ARCHIVE_CRYPTO_SHA1_OPENSSL
# configure:19295: clang -o conftest -Wall -Wformat -Wformat-security -I. -I. -I./libarchive conftest.c -lcrypto -lacl -lexpat -llzo2 -llzma -llz4 -lbz2 -lz >&5
# configure:19295: $? = 0
# configure:19296: result: yes
# configure:19319: checking support for ARCHIVE_CRYPTO_SHA256_OPENSSL
# configure:19341: clang -o conftest -Wall -Wformat -Wformat-security -I. -I. -I./libarchive conftest.c -lcrypto -lacl -lexpat -llzo2 -llzma -llz4 -lbz2 -lz >&5
# configure:19341: $? = 0
# configure:19342: result: yes
# configure:19365: checking support for ARCHIVE_CRYPTO_SHA384_OPENSSL
# configure:19387: clang -o conftest -Wall -Wformat -Wformat-security -I. -I. -I./libarchive conftest.c -lcrypto -lacl -lexpat -llzo2 -llzma -llz4 -lbz2 -lz >&5
# configure:19387: $? = 0
# configure:19388: result: yes
# configure:19411: checking support for ARCHIVE_CRYPTO_SHA512_OPENSSL
# configure:19433: clang -o conftest -Wall -Wformat -Wformat-security -I. -I. -I./libarchive conftest.c -lcrypto -lacl -lexpat -llzo2 -llzma -llz4 -lbz2 -lz >&5
# configure:19433: $? = 0
# configure:19434: result: yes
# configure:19457: checking for PKCS5_PBKDF2_HMAC_SHA1
# configure:19457: clang -o conftest -Wall -Wformat -Wformat-security conftest.c -lcrypto -lacl -lexpat -llzo2 -llzma -llz4 -lbz2 -lz >&5
# configure:19457: $? = 0
# configure:19457: result: yes
# configure:19474: checking md5.h usability
# configure:19474: clang -c -Wall -Wformat -Wformat-security conftest.c >&5
# conftest.c:259:10: fatal error: 'md5.h' file not found
# #include
# ^
# 1 error generated.
# 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_EXT2FS_EXT2_FS_H 1
# | #define HAVE_FCNTL_H 1
# | #define HAVE_GRP_H 1
# | #define HAVE_WORKING_EXT2_IOC_GETFLAGS 1
# | #define HAVE_INTTYPES_H 1
# | #define HAVE_LANGINFO_H 1
# | #define HAVE_LIMITS_H 1
# | #define HAVE_LINUX_FIEMAP_H 1
# | #define HAVE_LINUX_FS_H 1
# | #define HAVE_LINUX_MAGIC_H 1
# | #define HAVE_LINUX_TYPES_H 1
# | #define HAVE_LOCALE_H 1
# | #define HAVE_PATHS_H 1
# | #define HAVE_POLL_H 1
# | #define HAVE_PTHREAD_H 1
# | #define HAVE_PWD_H 1
# | #define HAVE_SIGNAL_H 1
# | #define HAVE_SPAWN_H 1
# | #define HAVE_STDARG_H 1
# | #define HAVE_STDINT_H 1
# | #define HAVE_STDLIB_H 1
# | #define HAVE_STRING_H 1
# | #define HAVE_SYS_CDEFS_H 1
# | #define HAVE_SYS_IOCTL_H 1
# | #define HAVE_SYS_MOUNT_H 1
# | #define HAVE_SYS_PARAM_H 1
# | #define HAVE_SYS_POLL_H 1
# | #define HAVE_SYS_SELECT_H 1
# | #define HAVE_SYS_STATFS_H 1
# | #define HAVE_SYS_STATVFS_H 1
# | #define HAVE_SYS_TIME_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_BZLIB_H 1
# | #define HAVE_LIBBZ2 1
# | #define HAVE_ICONV 1
# | #define ICONV_CONST
# | #define HAVE_ICONV_H 1
# | #define HAVE_LZ4_H 1
# | #define HAVE_LZ4HC_H 1
# | #define HAVE_LIBLZ4 1
# | #define HAVE_LZMA_H 1
# | #define HAVE_LIBLZMA 1
# | #define HAVE_LZMA_STREAM_ENCODER_MT 1
# | #define HAVE_LZO_LZOCONF_H 1
# | #define HAVE_LZO_LZO1X_H 1
# | #define HAVE_LIBLZO2 1
# | #define HAVE_EXPAT_H 1
# | #define HAVE_LIBEXPAT 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 1
# | #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1
# | #define HAVE_STRUCT_STAT_ST_BLKSIZE 1
# | #define HAVE_UINTMAX_T 1
# | #define HAVE_UNSIGNED_LONG_LONG 1
# | #define HAVE_UNSIGNED_LONG_LONG_INT 1
# | #define HAVE_LONG_LONG_INT 1
# | #define HAVE_INTMAX_T 1
# | #define HAVE_UINTMAX_T 1
# | #define HAVE_DECL_SIZE_MAX 1
# | #define HAVE_DECL_INT32_MAX 1
# | #define HAVE_DECL_INT32_MIN 1
# | #define HAVE_DECL_INT64_MAX 1
# | #define HAVE_DECL_INT64_MIN 1
# | #define HAVE_DECL_UINT64_MAX 1
# | #define HAVE_DECL_UINT32_MAX 1
# | #define HAVE_DECL_INTMAX_MAX 1
# | #define HAVE_DECL_INTMAX_MIN 1
# | #define HAVE_DECL_UINTMAX_MAX 1
# | #define HAVE_DECL_SSIZE_MAX 1
# | #define HAVE_EILSEQ 1
# | #define HAVE_WCHAR_T 1
# | #define SIZEOF_WCHAR_T 4
# | #define TIME_WITH_SYS_TIME 1
# | #define HAVE_FSEEKO 1
# | #define LSTAT_FOLLOWS_SLASHED_SYMLINK 1
# | #define HAVE_DECL_STRERROR_R 1
# | #define HAVE_STRERROR_R 1
# | #define STRERROR_R_CHAR_P 1
# | #define HAVE_STRFTIME 1
# | #define HAVE_VPRINTF 1
# | #define HAVE_CHOWN 1
# | #define HAVE_CHROOT 1
# | #define HAVE_CTIME_R 1
# | #define HAVE_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_FUTIMES 1
# | #define HAVE_FUTIMESAT 1
# | #define HAVE_GETEUID 1
# | #define HAVE_GETPID 1
# | #define HAVE_GETGRGID_R 1
# | #define HAVE_GETGRNAM_R 1
# | #define HAVE_GETPWNAM_R 1
# | #define HAVE_GETPWUID_R 1
# | #define HAVE_GMTIME_R 1
# | #define HAVE_LCHOWN 1
# | #define HAVE_LINK 1
# | #define HAVE_LOCALTIME_R 1
# | #define HAVE_LSTAT 1
# | #define HAVE_LUTIMES 1
# | #define HAVE_MBRTOWC 1
# | #define HAVE_MEMMOVE 1
# | #define HAVE_MEMSET 1
# | #define HAVE_MKDIR 1
# | #define HAVE_MKFIFO 1
# | #define HAVE_MKNOD 1
# | #define HAVE_MKSTEMP 1
# | #define HAVE_NL_LANGINFO 1
# | #define HAVE_OPENAT 1
# | #define HAVE_PIPE 1
# | #define HAVE_POLL 1
# | #define HAVE_POSIX_SPAWNP 1
# | #define HAVE_READLINK 1
# | #define HAVE_READLINKAT 1
# | #define HAVE_SELECT 1
# | #define HAVE_SETENV 1
# | #define HAVE_SETLOCALE 1
# | #define HAVE_SIGACTION 1
# | #define HAVE_STATFS 1
# | #define HAVE_STATVFS 1
# | #define HAVE_STRCHR 1
# | #define HAVE_STRDUP 1
# | #define HAVE_STRERROR 1
# | #define HAVE_STRRCHR 1
# | #define HAVE_SYMLINK 1
# | #define HAVE_TIMEGM 1
# | #define HAVE_TZSET 1
# | #define HAVE_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_ATTR_XATTR_H 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
# | #define HAVE_ACL_LIBACL_H 1
# | #define HAVE_SYS_ACL_H 1
# | #define HAVE_LIBACL 1
# | #define HAVE_ACL_CREATE_ENTRY 1
# | #define HAVE_ACL_INIT 1
# | #define HAVE_ACL_SET_FD 1
# | #define HAVE_ACL_SET_FILE 1
# | #define HAVE_ACL_PERMSET_T 1
# | #define HAVE_ACL_GET_PERM 1
# | #define HAVE_ACL_USER 1
# | #define HAVE_OPENSSL_EVP_H 1
# | #define HAVE_LIBCRYPTO 1
# | #define ARCHIVE_CRYPTO_MD5_OPENSSL 1
# | #define ARCHIVE_CRYPTO_RMD160_OPENSSL 1
# | #define ARCHIVE_CRYPTO_SHA1_OPENSSL 1
# | #define ARCHIVE_CRYPTO_SHA256_OPENSSL 1
# | #define ARCHIVE_CRYPTO_SHA384_OPENSSL 1
# | #define ARCHIVE_CRYPTO_SHA512_OPENSSL 1
# | #define HAVE_PKCS5_PBKDF2_HMAC_SHA1 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:19474: result: no
# configure:19474: checking md5.h presence
# configure:19474: clang -E conftest.c
# conftest.c:226:10: fatal error: 'md5.h' file not found
# #include
# ^
# 1 error generated.
# 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_EXT2FS_EXT2_FS_H 1
# | #define HAVE_FCNTL_H 1
# | #define HAVE_GRP_H 1
# | #define HAVE_WORKING_EXT2_IOC_GETFLAGS 1
# | #define HAVE_INTTYPES_H 1
# | #define HAVE_LANGINFO_H 1
# | #define HAVE_LIMITS_H 1
# | #define HAVE_LINUX_FIEMAP_H 1
# | #define HAVE_LINUX_FS_H 1
# | #define HAVE_LINUX_MAGIC_H 1
# | #define HAVE_LINUX_TYPES_H 1
# | #define HAVE_LOCALE_H 1
# | #define HAVE_PATHS_H 1
# | #define HAVE_POLL_H 1
# | #define HAVE_PTHREAD_H 1
# | #define HAVE_PWD_H 1
# | #define HAVE_SIGNAL_H 1
# | #define HAVE_SPAWN_H 1
# | #define HAVE_STDARG_H 1
# | #define HAVE_STDINT_H 1
# | #define HAVE_STDLIB_H 1
# | #define HAVE_STRING_H 1
# | #define HAVE_SYS_CDEFS_H 1
# | #define HAVE_SYS_IOCTL_H 1
# | #define HAVE_SYS_MOUNT_H 1
# | #define HAVE_SYS_PARAM_H 1
# | #define HAVE_SYS_POLL_H 1
# | #define HAVE_SYS_SELECT_H 1
# | #define HAVE_SYS_STATFS_H 1
# | #define HAVE_SYS_STATVFS_H 1
# | #define HAVE_SYS_TIME_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_BZLIB_H 1
# | #define HAVE_LIBBZ2 1
# | #define HAVE_ICONV 1
# | #define ICONV_CONST
# | #define HAVE_ICONV_H 1
# | #define HAVE_LZ4_H 1
# | #define HAVE_LZ4HC_H 1
# | #define HAVE_LIBLZ4 1
# | #define HAVE_LZMA_H 1
# | #define HAVE_LIBLZMA 1
# | #define HAVE_LZMA_STREAM_ENCODER_MT 1
# | #define HAVE_LZO_LZOCONF_H 1
# | #define HAVE_LZO_LZO1X_H 1
# | #define HAVE_LIBLZO2 1
# | #define HAVE_EXPAT_H 1
# | #define HAVE_LIBEXPAT 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 1
# | #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1
# | #define HAVE_STRUCT_STAT_ST_BLKSIZE 1
# | #define HAVE_UINTMAX_T 1
# | #define HAVE_UNSIGNED_LONG_LONG 1
# | #define HAVE_UNSIGNED_LONG_LONG_INT 1
# | #define HAVE_LONG_LONG_INT 1
# | #define HAVE_INTMAX_T 1
# | #define HAVE_UINTMAX_T 1
# | #define HAVE_DECL_SIZE_MAX 1
# | #define HAVE_DECL_INT32_MAX 1
# | #define HAVE_DECL_INT32_MIN 1
# | #define HAVE_DECL_INT64_MAX 1
# | #define HAVE_DECL_INT64_MIN 1
# | #define HAVE_DECL_UINT64_MAX 1
# | #define HAVE_DECL_UINT32_MAX 1
# | #define HAVE_DECL_INTMAX_MAX 1
# | #define HAVE_DECL_INTMAX_MIN 1
# | #define HAVE_DECL_UINTMAX_MAX 1
# | #define HAVE_DECL_SSIZE_MAX 1
# | #define HAVE_EILSEQ 1
# | #define HAVE_WCHAR_T 1
# | #define SIZEOF_WCHAR_T 4
# | #define TIME_WITH_SYS_TIME 1
# | #define HAVE_FSEEKO 1
# | #define LSTAT_FOLLOWS_SLASHED_SYMLINK 1
# | #define HAVE_DECL_STRERROR_R 1
# | #define HAVE_STRERROR_R 1
# | #define STRERROR_R_CHAR_P 1
# | #define HAVE_STRFTIME 1
# | #define HAVE_VPRINTF 1
# | #define HAVE_CHOWN 1
# | #define HAVE_CHROOT 1
# | #define HAVE_CTIME_R 1
# | #define HAVE_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_FUTIMES 1
# | #define HAVE_FUTIMESAT 1
# | #define HAVE_GETEUID 1
# | #define HAVE_GETPID 1
# | #define HAVE_GETGRGID_R 1
# | #define HAVE_GETGRNAM_R 1
# | #define HAVE_GETPWNAM_R 1
# | #define HAVE_GETPWUID_R 1
# | #define HAVE_GMTIME_R 1
# | #define HAVE_LCHOWN 1
# | #define HAVE_LINK 1
# | #define HAVE_LOCALTIME_R 1
# | #define HAVE_LSTAT 1
# | #define HAVE_LUTIMES 1
# | #define HAVE_MBRTOWC 1
# | #define HAVE_MEMMOVE 1
# | #define HAVE_MEMSET 1
# | #define HAVE_MKDIR 1
# | #define HAVE_MKFIFO 1
# | #define HAVE_MKNOD 1
# | #define HAVE_MKSTEMP 1
# | #define HAVE_NL_LANGINFO 1
# | #define HAVE_OPENAT 1
# | #define HAVE_PIPE 1
# | #define HAVE_POLL 1
# | #define HAVE_POSIX_SPAWNP 1
# | #define HAVE_READLINK 1
# | #define HAVE_READLINKAT 1
# | #define HAVE_SELECT 1
# | #define HAVE_SETENV 1
# | #define HAVE_SETLOCALE 1
# | #define HAVE_SIGACTION 1
# | #define HAVE_STATFS 1
# | #define HAVE_STATVFS 1
# | #define HAVE_STRCHR 1
# | #define HAVE_STRDUP 1
# | #define HAVE_STRERROR 1
# | #define HAVE_STRRCHR 1
# | #define HAVE_SYMLINK 1
# | #define HAVE_TIMEGM 1
# | #define HAVE_TZSET 1
# | #define HAVE_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_ATTR_XATTR_H 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
# | #define HAVE_ACL_LIBACL_H 1
# | #define HAVE_SYS_ACL_H 1
# | #define HAVE_LIBACL 1
# | #define HAVE_ACL_CREATE_ENTRY 1
# | #define HAVE_ACL_INIT 1
# | #define HAVE_ACL_SET_FD 1
# | #define HAVE_ACL_SET_FILE 1
# | #define HAVE_ACL_PERMSET_T 1
# | #define HAVE_ACL_GET_PERM 1
# | #define HAVE_ACL_USER 1
# | #define HAVE_OPENSSL_EVP_H 1
# | #define HAVE_LIBCRYPTO 1
# | #define ARCHIVE_CRYPTO_MD5_OPENSSL 1
# | #define ARCHIVE_CRYPTO_RMD160_OPENSSL 1
# | #define ARCHIVE_CRYPTO_SHA1_OPENSSL 1
# | #define ARCHIVE_CRYPTO_SHA256_OPENSSL 1
# | #define ARCHIVE_CRYPTO_SHA384_OPENSSL 1
# | #define ARCHIVE_CRYPTO_SHA512_OPENSSL 1
# | #define HAVE_PKCS5_PBKDF2_HMAC_SHA1 1
# | /* 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: clang -c -Wall -Wformat -Wformat-security conftest.c >&5
# conftest.c:259:10: fatal error: 'ripemd.h' file not found
# #include
# ^
# 1 error generated.
# 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_EXT2FS_EXT2_FS_H 1
# | #define HAVE_FCNTL_H 1
# | #define HAVE_GRP_H 1
# | #define HAVE_WORKING_EXT2_IOC_GETFLAGS 1
# | #define HAVE_INTTYPES_H 1
# | #define HAVE_LANGINFO_H 1
# | #define HAVE_LIMITS_H 1
# | #define HAVE_LINUX_FIEMAP_H 1
# | #define HAVE_LINUX_FS_H 1
# | #define HAVE_LINUX_MAGIC_H 1
# | #define HAVE_LINUX_TYPES_H 1
# | #define HAVE_LOCALE_H 1
# | #define HAVE_PATHS_H 1
# | #define HAVE_POLL_H 1
# | #define HAVE_PTHREAD_H 1
# | #define HAVE_PWD_H 1
# | #define HAVE_SIGNAL_H 1
# | #define HAVE_SPAWN_H 1
# | #define HAVE_STDARG_H 1
# | #define HAVE_STDINT_H 1
# | #define HAVE_STDLIB_H 1
# | #define HAVE_STRING_H 1
# | #define HAVE_SYS_CDEFS_H 1
# | #define HAVE_SYS_IOCTL_H 1
# | #define HAVE_SYS_MOUNT_H 1
# | #define HAVE_SYS_PARAM_H 1
# | #define HAVE_SYS_POLL_H 1
# | #define HAVE_SYS_SELECT_H 1
# | #define HAVE_SYS_STATFS_H 1
# | #define HAVE_SYS_STATVFS_H 1
# | #define HAVE_SYS_TIME_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_BZLIB_H 1
# | #define HAVE_LIBBZ2 1
# | #define HAVE_ICONV 1
# | #define ICONV_CONST
# | #define HAVE_ICONV_H 1
# | #define HAVE_LZ4_H 1
# | #define HAVE_LZ4HC_H 1
# | #define HAVE_LIBLZ4 1
# | #define HAVE_LZMA_H 1
# | #define HAVE_LIBLZMA 1
# | #define HAVE_LZMA_STREAM_ENCODER_MT 1
# | #define HAVE_LZO_LZOCONF_H 1
# | #define HAVE_LZO_LZO1X_H 1
# | #define HAVE_LIBLZO2 1
# | #define HAVE_EXPAT_H 1
# | #define HAVE_LIBEXPAT 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 1
# | #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1
# | #define HAVE_STRUCT_STAT_ST_BLKSIZE 1
# | #define HAVE_UINTMAX_T 1
# | #define HAVE_UNSIGNED_LONG_LONG 1
# | #define HAVE_UNSIGNED_LONG_LONG_INT 1
# | #define HAVE_LONG_LONG_INT 1
# | #define HAVE_INTMAX_T 1
# | #define HAVE_UINTMAX_T 1
# | #define HAVE_DECL_SIZE_MAX 1
# | #define HAVE_DECL_INT32_MAX 1
# | #define HAVE_DECL_INT32_MIN 1
# | #define HAVE_DECL_INT64_MAX 1
# | #define HAVE_DECL_INT64_MIN 1
# | #define HAVE_DECL_UINT64_MAX 1
# | #define HAVE_DECL_UINT32_MAX 1
# | #define HAVE_DECL_INTMAX_MAX 1
# | #define HAVE_DECL_INTMAX_MIN 1
# | #define HAVE_DECL_UINTMAX_MAX 1
# | #define HAVE_DECL_SSIZE_MAX 1
# | #define HAVE_EILSEQ 1
# | #define HAVE_WCHAR_T 1
# | #define SIZEOF_WCHAR_T 4
# | #define TIME_WITH_SYS_TIME 1
# | #define HAVE_FSEEKO 1
# | #define LSTAT_FOLLOWS_SLASHED_SYMLINK 1
# | #define HAVE_DECL_STRERROR_R 1
# | #define HAVE_STRERROR_R 1
# | #define STRERROR_R_CHAR_P 1
# | #define HAVE_STRFTIME 1
# | #define HAVE_VPRINTF 1
# | #define HAVE_CHOWN 1
# | #define HAVE_CHROOT 1
# | #define HAVE_CTIME_R 1
# | #define HAVE_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_FUTIMES 1
# | #define HAVE_FUTIMESAT 1
# | #define HAVE_GETEUID 1
# | #define HAVE_GETPID 1
# | #define HAVE_GETGRGID_R 1
# | #define HAVE_GETGRNAM_R 1
# | #define HAVE_GETPWNAM_R 1
# | #define HAVE_GETPWUID_R 1
# | #define HAVE_GMTIME_R 1
# | #define HAVE_LCHOWN 1
# | #define HAVE_LINK 1
# | #define HAVE_LOCALTIME_R 1
# | #define HAVE_LSTAT 1
# | #define HAVE_LUTIMES 1
# | #define HAVE_MBRTOWC 1
# | #define HAVE_MEMMOVE 1
# | #define HAVE_MEMSET 1
# | #define HAVE_MKDIR 1
# | #define HAVE_MKFIFO 1
# | #define HAVE_MKNOD 1
# | #define HAVE_MKSTEMP 1
# | #define HAVE_NL_LANGINFO 1
# | #define HAVE_OPENAT 1
# | #define HAVE_PIPE 1
# | #define HAVE_POLL 1
# | #define HAVE_POSIX_SPAWNP 1
# | #define HAVE_READLINK 1
# | #define HAVE_READLINKAT 1
# | #define HAVE_SELECT 1
# | #define HAVE_SETENV 1
# | #define HAVE_SETLOCALE 1
# | #define HAVE_SIGACTION 1
# | #define HAVE_STATFS 1
# | #define HAVE_STATVFS 1
# | #define HAVE_STRCHR 1
# | #define HAVE_STRDUP 1
# | #define HAVE_STRERROR 1
# | #define HAVE_STRRCHR 1
# | #define HAVE_SYMLINK 1
# | #define HAVE_TIMEGM 1
# | #define HAVE_TZSET 1
# | #define HAVE_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_ATTR_XATTR_H 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
# | #define HAVE_ACL_LIBACL_H 1
# | #define HAVE_SYS_ACL_H 1
# | #define HAVE_LIBACL 1
# | #define HAVE_ACL_CREATE_ENTRY 1
# | #define HAVE_ACL_INIT 1
# | #define HAVE_ACL_SET_FD 1
# | #define HAVE_ACL_SET_FILE 1
# | #define HAVE_ACL_PERMSET_T 1
# | #define HAVE_ACL_GET_PERM 1
# | #define HAVE_ACL_USER 1
# | #define HAVE_OPENSSL_EVP_H 1
# | #define HAVE_LIBCRYPTO 1
# | #define ARCHIVE_CRYPTO_MD5_OPENSSL 1
# | #define ARCHIVE_CRYPTO_RMD160_OPENSSL 1
# | #define ARCHIVE_CRYPTO_SHA1_OPENSSL 1
# | #define ARCHIVE_CRYPTO_SHA256_OPENSSL 1
# | #define ARCHIVE_CRYPTO_SHA384_OPENSSL 1
# | #define ARCHIVE_CRYPTO_SHA512_OPENSSL 1
# | #define HAVE_PKCS5_PBKDF2_HMAC_SHA1 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:19474: result: no
# configure:19474: checking ripemd.h presence
# configure:19474: clang -E conftest.c
# conftest.c:226:10: fatal error: 'ripemd.h' file not found
# #include
# ^
# 1 error generated.
# 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_EXT2FS_EXT2_FS_H 1
# | #define HAVE_FCNTL_H 1
# | #define HAVE_GRP_H 1
# | #define HAVE_WORKING_EXT2_IOC_GETFLAGS 1
# | #define HAVE_INTTYPES_H 1
# | #define HAVE_LANGINFO_H 1
# | #define HAVE_LIMITS_H 1
# | #define HAVE_LINUX_FIEMAP_H 1
# | #define HAVE_LINUX_FS_H 1
# | #define HAVE_LINUX_MAGIC_H 1
# | #define HAVE_LINUX_TYPES_H 1
# | #define HAVE_LOCALE_H 1
# | #define HAVE_PATHS_H 1
# | #define HAVE_POLL_H 1
# | #define HAVE_PTHREAD_H 1
# | #define HAVE_PWD_H 1
# | #define HAVE_SIGNAL_H 1
# | #define HAVE_SPAWN_H 1
# | #define HAVE_STDARG_H 1
# | #define HAVE_STDINT_H 1
# | #define HAVE_STDLIB_H 1
# | #define HAVE_STRING_H 1
# | #define HAVE_SYS_CDEFS_H 1
# | #define HAVE_SYS_IOCTL_H 1
# | #define HAVE_SYS_MOUNT_H 1
# | #define HAVE_SYS_PARAM_H 1
# | #define HAVE_SYS_POLL_H 1
# | #define HAVE_SYS_SELECT_H 1
# | #define HAVE_SYS_STATFS_H 1
# | #define HAVE_SYS_STATVFS_H 1
# | #define HAVE_SYS_TIME_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_BZLIB_H 1
# | #define HAVE_LIBBZ2 1
# | #define HAVE_ICONV 1
# | #define ICONV_CONST
# | #define HAVE_ICONV_H 1
# | #define HAVE_LZ4_H 1
# | #define HAVE_LZ4HC_H 1
# | #define HAVE_LIBLZ4 1
# | #define HAVE_LZMA_H 1
# | #define HAVE_LIBLZMA 1
# | #define HAVE_LZMA_STREAM_ENCODER_MT 1
# | #define HAVE_LZO_LZOCONF_H 1
# | #define HAVE_LZO_LZO1X_H 1
# | #define HAVE_LIBLZO2 1
# | #define HAVE_EXPAT_H 1
# | #define HAVE_LIBEXPAT 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 1
# | #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1
# | #define HAVE_STRUCT_STAT_ST_BLKSIZE 1
# | #define HAVE_UINTMAX_T 1
# | #define HAVE_UNSIGNED_LONG_LONG 1
# | #define HAVE_UNSIGNED_LONG_LONG_INT 1
# | #define HAVE_LONG_LONG_INT 1
# | #define HAVE_INTMAX_T 1
# | #define HAVE_UINTMAX_T 1
# | #define HAVE_DECL_SIZE_MAX 1
# | #define HAVE_DECL_INT32_MAX 1
# | #define HAVE_DECL_INT32_MIN 1
# | #define HAVE_DECL_INT64_MAX 1
# | #define HAVE_DECL_INT64_MIN 1
# | #define HAVE_DECL_UINT64_MAX 1
# | #define HAVE_DECL_UINT32_MAX 1
# | #define HAVE_DECL_INTMAX_MAX 1
# | #define HAVE_DECL_INTMAX_MIN 1
# | #define HAVE_DECL_UINTMAX_MAX 1
# | #define HAVE_DECL_SSIZE_MAX 1
# | #define HAVE_EILSEQ 1
# | #define HAVE_WCHAR_T 1
# | #define SIZEOF_WCHAR_T 4
# | #define TIME_WITH_SYS_TIME 1
# | #define HAVE_FSEEKO 1
# | #define LSTAT_FOLLOWS_SLASHED_SYMLINK 1
# | #define HAVE_DECL_STRERROR_R 1
# | #define HAVE_STRERROR_R 1
# | #define STRERROR_R_CHAR_P 1
# | #define HAVE_STRFTIME 1
# | #define HAVE_VPRINTF 1
# | #define HAVE_CHOWN 1
# | #define HAVE_CHROOT 1
# | #define HAVE_CTIME_R 1
# | #define HAVE_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_FUTIMES 1
# | #define HAVE_FUTIMESAT 1
# | #define HAVE_GETEUID 1
# | #define HAVE_GETPID 1
# | #define HAVE_GETGRGID_R 1
# | #define HAVE_GETGRNAM_R 1
# | #define HAVE_GETPWNAM_R 1
# | #define HAVE_GETPWUID_R 1
# | #define HAVE_GMTIME_R 1
# | #define HAVE_LCHOWN 1
# | #define HAVE_LINK 1
# | #define HAVE_LOCALTIME_R 1
# | #define HAVE_LSTAT 1
# | #define HAVE_LUTIMES 1
# | #define HAVE_MBRTOWC 1
# | #define HAVE_MEMMOVE 1
# | #define HAVE_MEMSET 1
# | #define HAVE_MKDIR 1
# | #define HAVE_MKFIFO 1
# | #define HAVE_MKNOD 1
# | #define HAVE_MKSTEMP 1
# | #define HAVE_NL_LANGINFO 1
# | #define HAVE_OPENAT 1
# | #define HAVE_PIPE 1
# | #define HAVE_POLL 1
# | #define HAVE_POSIX_SPAWNP 1
# | #define HAVE_READLINK 1
# | #define HAVE_READLINKAT 1
# | #define HAVE_SELECT 1
# | #define HAVE_SETENV 1
# | #define HAVE_SETLOCALE 1
# | #define HAVE_SIGACTION 1
# | #define HAVE_STATFS 1
# | #define HAVE_STATVFS 1
# | #define HAVE_STRCHR 1
# | #define HAVE_STRDUP 1
# | #define HAVE_STRERROR 1
# | #define HAVE_STRRCHR 1
# | #define HAVE_SYMLINK 1
# | #define HAVE_TIMEGM 1
# | #define HAVE_TZSET 1
# | #define HAVE_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_ATTR_XATTR_H 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
# | #define HAVE_ACL_LIBACL_H 1
# | #define HAVE_SYS_ACL_H 1
# | #define HAVE_LIBACL 1
# | #define HAVE_ACL_CREATE_ENTRY 1
# | #define HAVE_ACL_INIT 1
# | #define HAVE_ACL_SET_FD 1
# | #define HAVE_ACL_SET_FILE 1
# | #define HAVE_ACL_PERMSET_T 1
# | #define HAVE_ACL_GET_PERM 1
# | #define HAVE_ACL_USER 1
# | #define HAVE_OPENSSL_EVP_H 1
# | #define HAVE_LIBCRYPTO 1
# | #define ARCHIVE_CRYPTO_MD5_OPENSSL 1
# | #define ARCHIVE_CRYPTO_RMD160_OPENSSL 1
# | #define ARCHIVE_CRYPTO_SHA1_OPENSSL 1
# | #define ARCHIVE_CRYPTO_SHA256_OPENSSL 1
# | #define ARCHIVE_CRYPTO_SHA384_OPENSSL 1
# | #define ARCHIVE_CRYPTO_SHA512_OPENSSL 1
# | #define HAVE_PKCS5_PBKDF2_HMAC_SHA1 1
# | /* 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: clang -c -Wall -Wformat -Wformat-security conftest.c >&5
# conftest.c:259:10: fatal error: 'sha.h' file not found
# #include
# ^
# 1 error generated.
# 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_EXT2FS_EXT2_FS_H 1
# | #define HAVE_FCNTL_H 1
# | #define HAVE_GRP_H 1
# | #define HAVE_WORKING_EXT2_IOC_GETFLAGS 1
# | #define HAVE_INTTYPES_H 1
# | #define HAVE_LANGINFO_H 1
# | #define HAVE_LIMITS_H 1
# | #define HAVE_LINUX_FIEMAP_H 1
# | #define HAVE_LINUX_FS_H 1
# | #define HAVE_LINUX_MAGIC_H 1
# | #define HAVE_LINUX_TYPES_H 1
# | #define HAVE_LOCALE_H 1
# | #define HAVE_PATHS_H 1
# | #define HAVE_POLL_H 1
# | #define HAVE_PTHREAD_H 1
# | #define HAVE_PWD_H 1
# | #define HAVE_SIGNAL_H 1
# | #define HAVE_SPAWN_H 1
# | #define HAVE_STDARG_H 1
# | #define HAVE_STDINT_H 1
# | #define HAVE_STDLIB_H 1
# | #define HAVE_STRING_H 1
# | #define HAVE_SYS_CDEFS_H 1
# | #define HAVE_SYS_IOCTL_H 1
# | #define HAVE_SYS_MOUNT_H 1
# | #define HAVE_SYS_PARAM_H 1
# | #define HAVE_SYS_POLL_H 1
# | #define HAVE_SYS_SELECT_H 1
# | #define HAVE_SYS_STATFS_H 1
# | #define HAVE_SYS_STATVFS_H 1
# | #define HAVE_SYS_TIME_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_BZLIB_H 1
# | #define HAVE_LIBBZ2 1
# | #define HAVE_ICONV 1
# | #define ICONV_CONST
# | #define HAVE_ICONV_H 1
# | #define HAVE_LZ4_H 1
# | #define HAVE_LZ4HC_H 1
# | #define HAVE_LIBLZ4 1
# | #define HAVE_LZMA_H 1
# | #define HAVE_LIBLZMA 1
# | #define HAVE_LZMA_STREAM_ENCODER_MT 1
# | #define HAVE_LZO_LZOCONF_H 1
# | #define HAVE_LZO_LZO1X_H 1
# | #define HAVE_LIBLZO2 1
# | #define HAVE_EXPAT_H 1
# | #define HAVE_LIBEXPAT 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 1
# | #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1
# | #define HAVE_STRUCT_STAT_ST_BLKSIZE 1
# | #define HAVE_UINTMAX_T 1
# | #define HAVE_UNSIGNED_LONG_LONG 1
# | #define HAVE_UNSIGNED_LONG_LONG_INT 1
# | #define HAVE_LONG_LONG_INT 1
# | #define HAVE_INTMAX_T 1
# | #define HAVE_UINTMAX_T 1
# | #define HAVE_DECL_SIZE_MAX 1
# | #define HAVE_DECL_INT32_MAX 1
# | #define HAVE_DECL_INT32_MIN 1
# | #define HAVE_DECL_INT64_MAX 1
# | #define HAVE_DECL_INT64_MIN 1
# | #define HAVE_DECL_UINT64_MAX 1
# | #define HAVE_DECL_UINT32_MAX 1
# | #define HAVE_DECL_INTMAX_MAX 1
# | #define HAVE_DECL_INTMAX_MIN 1
# | #define HAVE_DECL_UINTMAX_MAX 1
# | #define HAVE_DECL_SSIZE_MAX 1
# | #define HAVE_EILSEQ 1
# | #define HAVE_WCHAR_T 1
# | #define SIZEOF_WCHAR_T 4
# | #define TIME_WITH_SYS_TIME 1
# | #define HAVE_FSEEKO 1
# | #define LSTAT_FOLLOWS_SLASHED_SYMLINK 1
# | #define HAVE_DECL_STRERROR_R 1
# | #define HAVE_STRERROR_R 1
# | #define STRERROR_R_CHAR_P 1
# | #define HAVE_STRFTIME 1
# | #define HAVE_VPRINTF 1
# | #define HAVE_CHOWN 1
# | #define HAVE_CHROOT 1
# | #define HAVE_CTIME_R 1
# | #define HAVE_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_FUTIMES 1
# | #define HAVE_FUTIMESAT 1
# | #define HAVE_GETEUID 1
# | #define HAVE_GETPID 1
# | #define HAVE_GETGRGID_R 1
# | #define HAVE_GETGRNAM_R 1
# | #define HAVE_GETPWNAM_R 1
# | #define HAVE_GETPWUID_R 1
# | #define HAVE_GMTIME_R 1
# | #define HAVE_LCHOWN 1
# | #define HAVE_LINK 1
# | #define HAVE_LOCALTIME_R 1
# | #define HAVE_LSTAT 1
# | #define HAVE_LUTIMES 1
# | #define HAVE_MBRTOWC 1
# | #define HAVE_MEMMOVE 1
# | #define HAVE_MEMSET 1
# | #define HAVE_MKDIR 1
# | #define HAVE_MKFIFO 1
# | #define HAVE_MKNOD 1
# | #define HAVE_MKSTEMP 1
# | #define HAVE_NL_LANGINFO 1
# | #define HAVE_OPENAT 1
# | #define HAVE_PIPE 1
# | #define HAVE_POLL 1
# | #define HAVE_POSIX_SPAWNP 1
# | #define HAVE_READLINK 1
# | #define HAVE_READLINKAT 1
# | #define HAVE_SELECT 1
# | #define HAVE_SETENV 1
# | #define HAVE_SETLOCALE 1
# | #define HAVE_SIGACTION 1
# | #define HAVE_STATFS 1
# | #define HAVE_STATVFS 1
# | #define HAVE_STRCHR 1
# | #define HAVE_STRDUP 1
# | #define HAVE_STRERROR 1
# | #define HAVE_STRRCHR 1
# | #define HAVE_SYMLINK 1
# | #define HAVE_TIMEGM 1
# | #define HAVE_TZSET 1
# | #define HAVE_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_ATTR_XATTR_H 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
# | #define HAVE_ACL_LIBACL_H 1
# | #define HAVE_SYS_ACL_H 1
# | #define HAVE_LIBACL 1
# | #define HAVE_ACL_CREATE_ENTRY 1
# | #define HAVE_ACL_INIT 1
# | #define HAVE_ACL_SET_FD 1
# | #define HAVE_ACL_SET_FILE 1
# | #define HAVE_ACL_PERMSET_T 1
# | #define HAVE_ACL_GET_PERM 1
# | #define HAVE_ACL_USER 1
# | #define HAVE_OPENSSL_EVP_H 1
# | #define HAVE_LIBCRYPTO 1
# | #define ARCHIVE_CRYPTO_MD5_OPENSSL 1
# | #define ARCHIVE_CRYPTO_RMD160_OPENSSL 1
# | #define ARCHIVE_CRYPTO_SHA1_OPENSSL 1
# | #define ARCHIVE_CRYPTO_SHA256_OPENSSL 1
# | #define ARCHIVE_CRYPTO_SHA384_OPENSSL 1
# | #define ARCHIVE_CRYPTO_SHA512_OPENSSL 1
# | #define HAVE_PKCS5_PBKDF2_HMAC_SHA1 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:19474: result: no
# configure:19474: checking sha.h presence
# configure:19474: clang -E conftest.c
# conftest.c:226:10: fatal error: 'sha.h' file not found
# #include
# ^
# 1 error generated.
# 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_EXT2FS_EXT2_FS_H 1
# | #define HAVE_FCNTL_H 1
# | #define HAVE_GRP_H 1
# | #define HAVE_WORKING_EXT2_IOC_GETFLAGS 1
# | #define HAVE_INTTYPES_H 1
# | #define HAVE_LANGINFO_H 1
# | #define HAVE_LIMITS_H 1
# | #define HAVE_LINUX_FIEMAP_H 1
# | #define HAVE_LINUX_FS_H 1
# | #define HAVE_LINUX_MAGIC_H 1
# | #define HAVE_LINUX_TYPES_H 1
# | #define HAVE_LOCALE_H 1
# | #define HAVE_PATHS_H 1
# | #define HAVE_POLL_H 1
# | #define HAVE_PTHREAD_H 1
# | #define HAVE_PWD_H 1
# | #define HAVE_SIGNAL_H 1
# | #define HAVE_SPAWN_H 1
# | #define HAVE_STDARG_H 1
# | #define HAVE_STDINT_H 1
# | #define HAVE_STDLIB_H 1
# | #define HAVE_STRING_H 1
# | #define HAVE_SYS_CDEFS_H 1
# | #define HAVE_SYS_IOCTL_H 1
# | #define HAVE_SYS_MOUNT_H 1
# | #define HAVE_SYS_PARAM_H 1
# | #define HAVE_SYS_POLL_H 1
# | #define HAVE_SYS_SELECT_H 1
# | #define HAVE_SYS_STATFS_H 1
# | #define HAVE_SYS_STATVFS_H 1
# | #define HAVE_SYS_TIME_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_BZLIB_H 1
# | #define HAVE_LIBBZ2 1
# | #define HAVE_ICONV 1
# | #define ICONV_CONST
# | #define HAVE_ICONV_H 1
# | #define HAVE_LZ4_H 1
# | #define HAVE_LZ4HC_H 1
# | #define HAVE_LIBLZ4 1
# | #define HAVE_LZMA_H 1
# | #define HAVE_LIBLZMA 1
# | #define HAVE_LZMA_STREAM_ENCODER_MT 1
# | #define HAVE_LZO_LZOCONF_H 1
# | #define HAVE_LZO_LZO1X_H 1
# | #define HAVE_LIBLZO2 1
# | #define HAVE_EXPAT_H 1
# | #define HAVE_LIBEXPAT 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 1
# | #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1
# | #define HAVE_STRUCT_STAT_ST_BLKSIZE 1
# | #define HAVE_UINTMAX_T 1
# | #define HAVE_UNSIGNED_LONG_LONG 1
# | #define HAVE_UNSIGNED_LONG_LONG_INT 1
# | #define HAVE_LONG_LONG_INT 1
# | #define HAVE_INTMAX_T 1
# | #define HAVE_UINTMAX_T 1
# | #define HAVE_DECL_SIZE_MAX 1
# | #define HAVE_DECL_INT32_MAX 1
# | #define HAVE_DECL_INT32_MIN 1
# | #define HAVE_DECL_INT64_MAX 1
# | #define HAVE_DECL_INT64_MIN 1
# | #define HAVE_DECL_UINT64_MAX 1
# | #define HAVE_DECL_UINT32_MAX 1
# | #define HAVE_DECL_INTMAX_MAX 1
# | #define HAVE_DECL_INTMAX_MIN 1
# | #define HAVE_DECL_UINTMAX_MAX 1
# | #define HAVE_DECL_SSIZE_MAX 1
# | #define HAVE_EILSEQ 1
# | #define HAVE_WCHAR_T 1
# | #define SIZEOF_WCHAR_T 4
# | #define TIME_WITH_SYS_TIME 1
# | #define HAVE_FSEEKO 1
# | #define LSTAT_FOLLOWS_SLASHED_SYMLINK 1
# | #define HAVE_DECL_STRERROR_R 1
# | #define HAVE_STRERROR_R 1
# | #define STRERROR_R_CHAR_P 1
# | #define HAVE_STRFTIME 1
# | #define HAVE_VPRINTF 1
# | #define HAVE_CHOWN 1
# | #define HAVE_CHROOT 1
# | #define HAVE_CTIME_R 1
# | #define HAVE_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_FUTIMES 1
# | #define HAVE_FUTIMESAT 1
# | #define HAVE_GETEUID 1
# | #define HAVE_GETPID 1
# | #define HAVE_GETGRGID_R 1
# | #define HAVE_GETGRNAM_R 1
# | #define HAVE_GETPWNAM_R 1
# | #define HAVE_GETPWUID_R 1
# | #define HAVE_GMTIME_R 1
# | #define HAVE_LCHOWN 1
# | #define HAVE_LINK 1
# | #define HAVE_LOCALTIME_R 1
# | #define HAVE_LSTAT 1
# | #define HAVE_LUTIMES 1
# | #define HAVE_MBRTOWC 1
# | #define HAVE_MEMMOVE 1
# | #define HAVE_MEMSET 1
# | #define HAVE_MKDIR 1
# | #define HAVE_MKFIFO 1
# | #define HAVE_MKNOD 1
# | #define HAVE_MKSTEMP 1
# | #define HAVE_NL_LANGINFO 1
# | #define HAVE_OPENAT 1
# | #define HAVE_PIPE 1
# | #define HAVE_POLL 1
# | #define HAVE_POSIX_SPAWNP 1
# | #define HAVE_READLINK 1
# | #define HAVE_READLINKAT 1
# | #define HAVE_SELECT 1
# | #define HAVE_SETENV 1
# | #define HAVE_SETLOCALE 1
# | #define HAVE_SIGACTION 1
# | #define HAVE_STATFS 1
# | #define HAVE_STATVFS 1
# | #define HAVE_STRCHR 1
# | #define HAVE_STRDUP 1
# | #define HAVE_STRERROR 1
# | #define HAVE_STRRCHR 1
# | #define HAVE_SYMLINK 1
# | #define HAVE_TIMEGM 1
# | #define HAVE_TZSET 1
# | #define HAVE_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_ATTR_XATTR_H 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
# | #define HAVE_ACL_LIBACL_H 1
# | #define HAVE_SYS_ACL_H 1
# | #define HAVE_LIBACL 1
# | #define HAVE_ACL_CREATE_ENTRY 1
# | #define HAVE_ACL_INIT 1
# | #define HAVE_ACL_SET_FD 1
# | #define HAVE_ACL_SET_FILE 1
# | #define HAVE_ACL_PERMSET_T 1
# | #define HAVE_ACL_GET_PERM 1
# | #define HAVE_ACL_USER 1
# | #define HAVE_OPENSSL_EVP_H 1
# | #define HAVE_LIBCRYPTO 1
# | #define ARCHIVE_CRYPTO_MD5_OPENSSL 1
# | #define ARCHIVE_CRYPTO_RMD160_OPENSSL 1
# | #define ARCHIVE_CRYPTO_SHA1_OPENSSL 1
# | #define ARCHIVE_CRYPTO_SHA256_OPENSSL 1
# | #define ARCHIVE_CRYPTO_SHA384_OPENSSL 1
# | #define ARCHIVE_CRYPTO_SHA512_OPENSSL 1
# | #define HAVE_PKCS5_PBKDF2_HMAC_SHA1 1
# | /* 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: clang -c -Wall -Wformat -Wformat-security conftest.c >&5
# conftest.c:259:10: fatal error: 'sha256.h' file not found
# #include
# ^
# 1 error generated.
# 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_EXT2FS_EXT2_FS_H 1
# | #define HAVE_FCNTL_H 1
# | #define HAVE_GRP_H 1
# | #define HAVE_WORKING_EXT2_IOC_GETFLAGS 1
# | #define HAVE_INTTYPES_H 1
# | #define HAVE_LANGINFO_H 1
# | #define HAVE_LIMITS_H 1
# | #define HAVE_LINUX_FIEMAP_H 1
# | #define HAVE_LINUX_FS_H 1
# | #define HAVE_LINUX_MAGIC_H 1
# | #define HAVE_LINUX_TYPES_H 1
# | #define HAVE_LOCALE_H 1
# | #define HAVE_PATHS_H 1
# | #define HAVE_POLL_H 1
# | #define HAVE_PTHREAD_H 1
# | #define HAVE_PWD_H 1
# | #define HAVE_SIGNAL_H 1
# | #define HAVE_SPAWN_H 1
# | #define HAVE_STDARG_H 1
# | #define HAVE_STDINT_H 1
# | #define HAVE_STDLIB_H 1
# | #define HAVE_STRING_H 1
# | #define HAVE_SYS_CDEFS_H 1
# | #define HAVE_SYS_IOCTL_H 1
# | #define HAVE_SYS_MOUNT_H 1
# | #define HAVE_SYS_PARAM_H 1
# | #define HAVE_SYS_POLL_H 1
# | #define HAVE_SYS_SELECT_H 1
# | #define HAVE_SYS_STATFS_H 1
# | #define HAVE_SYS_STATVFS_H 1
# | #define HAVE_SYS_TIME_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_BZLIB_H 1
# | #define HAVE_LIBBZ2 1
# | #define HAVE_ICONV 1
# | #define ICONV_CONST
# | #define HAVE_ICONV_H 1
# | #define HAVE_LZ4_H 1
# | #define HAVE_LZ4HC_H 1
# | #define HAVE_LIBLZ4 1
# | #define HAVE_LZMA_H 1
# | #define HAVE_LIBLZMA 1
# | #define HAVE_LZMA_STREAM_ENCODER_MT 1
# | #define HAVE_LZO_LZOCONF_H 1
# | #define HAVE_LZO_LZO1X_H 1
# | #define HAVE_LIBLZO2 1
# | #define HAVE_EXPAT_H 1
# | #define HAVE_LIBEXPAT 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 1
# | #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1
# | #define HAVE_STRUCT_STAT_ST_BLKSIZE 1
# | #define HAVE_UINTMAX_T 1
# | #define HAVE_UNSIGNED_LONG_LONG 1
# | #define HAVE_UNSIGNED_LONG_LONG_INT 1
# | #define HAVE_LONG_LONG_INT 1
# | #define HAVE_INTMAX_T 1
# | #define HAVE_UINTMAX_T 1
# | #define HAVE_DECL_SIZE_MAX 1
# | #define HAVE_DECL_INT32_MAX 1
# | #define HAVE_DECL_INT32_MIN 1
# | #define HAVE_DECL_INT64_MAX 1
# | #define HAVE_DECL_INT64_MIN 1
# | #define HAVE_DECL_UINT64_MAX 1
# | #define HAVE_DECL_UINT32_MAX 1
# | #define HAVE_DECL_INTMAX_MAX 1
# | #define HAVE_DECL_INTMAX_MIN 1
# | #define HAVE_DECL_UINTMAX_MAX 1
# | #define HAVE_DECL_SSIZE_MAX 1
# | #define HAVE_EILSEQ 1
# | #define HAVE_WCHAR_T 1
# | #define SIZEOF_WCHAR_T 4
# | #define TIME_WITH_SYS_TIME 1
# | #define HAVE_FSEEKO 1
# | #define LSTAT_FOLLOWS_SLASHED_SYMLINK 1
# | #define HAVE_DECL_STRERROR_R 1
# | #define HAVE_STRERROR_R 1
# | #define STRERROR_R_CHAR_P 1
# | #define HAVE_STRFTIME 1
# | #define HAVE_VPRINTF 1
# | #define HAVE_CHOWN 1
# | #define HAVE_CHROOT 1
# | #define HAVE_CTIME_R 1
# | #define HAVE_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_FUTIMES 1
# | #define HAVE_FUTIMESAT 1
# | #define HAVE_GETEUID 1
# | #define HAVE_GETPID 1
# | #define HAVE_GETGRGID_R 1
# | #define HAVE_GETGRNAM_R 1
# | #define HAVE_GETPWNAM_R 1
# | #define HAVE_GETPWUID_R 1
# | #define HAVE_GMTIME_R 1
# | #define HAVE_LCHOWN 1
# | #define HAVE_LINK 1
# | #define HAVE_LOCALTIME_R 1
# | #define HAVE_LSTAT 1
# | #define HAVE_LUTIMES 1
# | #define HAVE_MBRTOWC 1
# | #define HAVE_MEMMOVE 1
# | #define HAVE_MEMSET 1
# | #define HAVE_MKDIR 1
# | #define HAVE_MKFIFO 1
# | #define HAVE_MKNOD 1
# | #define HAVE_MKSTEMP 1
# | #define HAVE_NL_LANGINFO 1
# | #define HAVE_OPENAT 1
# | #define HAVE_PIPE 1
# | #define HAVE_POLL 1
# | #define HAVE_POSIX_SPAWNP 1
# | #define HAVE_READLINK 1
# | #define HAVE_READLINKAT 1
# | #define HAVE_SELECT 1
# | #define HAVE_SETENV 1
# | #define HAVE_SETLOCALE 1
# | #define HAVE_SIGACTION 1
# | #define HAVE_STATFS 1
# | #define HAVE_STATVFS 1
# | #define HAVE_STRCHR 1
# | #define HAVE_STRDUP 1
# | #define HAVE_STRERROR 1
# | #define HAVE_STRRCHR 1
# | #define HAVE_SYMLINK 1
# | #define HAVE_TIMEGM 1
# | #define HAVE_TZSET 1
# | #define HAVE_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_ATTR_XATTR_H 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
# | #define HAVE_ACL_LIBACL_H 1
# | #define HAVE_SYS_ACL_H 1
# | #define HAVE_LIBACL 1
# | #define HAVE_ACL_CREATE_ENTRY 1
# | #define HAVE_ACL_INIT 1
# | #define HAVE_ACL_SET_FD 1
# | #define HAVE_ACL_SET_FILE 1
# | #define HAVE_ACL_PERMSET_T 1
# | #define HAVE_ACL_GET_PERM 1
# | #define HAVE_ACL_USER 1
# | #define HAVE_OPENSSL_EVP_H 1
# | #define HAVE_LIBCRYPTO 1
# | #define ARCHIVE_CRYPTO_MD5_OPENSSL 1
# | #define ARCHIVE_CRYPTO_RMD160_OPENSSL 1
# | #define ARCHIVE_CRYPTO_SHA1_OPENSSL 1
# | #define ARCHIVE_CRYPTO_SHA256_OPENSSL 1
# | #define ARCHIVE_CRYPTO_SHA384_OPENSSL 1
# | #define ARCHIVE_CRYPTO_SHA512_OPENSSL 1
# | #define HAVE_PKCS5_PBKDF2_HMAC_SHA1 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:19474: result: no
# configure:19474: checking sha256.h presence
# configure:19474: clang -E conftest.c
# conftest.c:226:10: fatal error: 'sha256.h' file not found
# #include
# ^
# 1 error generated.
# 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_EXT2FS_EXT2_FS_H 1
# | #define HAVE_FCNTL_H 1
# | #define HAVE_GRP_H 1
# | #define HAVE_WORKING_EXT2_IOC_GETFLAGS 1
# | #define HAVE_INTTYPES_H 1
# | #define HAVE_LANGINFO_H 1
# | #define HAVE_LIMITS_H 1
# | #define HAVE_LINUX_FIEMAP_H 1
# | #define HAVE_LINUX_FS_H 1
# | #define HAVE_LINUX_MAGIC_H 1
# | #define HAVE_LINUX_TYPES_H 1
# | #define HAVE_LOCALE_H 1
# | #define HAVE_PATHS_H 1
# | #define HAVE_POLL_H 1
# | #define HAVE_PTHREAD_H 1
# | #define HAVE_PWD_H 1
# | #define HAVE_SIGNAL_H 1
# | #define HAVE_SPAWN_H 1
# | #define HAVE_STDARG_H 1
# | #define HAVE_STDINT_H 1
# | #define HAVE_STDLIB_H 1
# | #define HAVE_STRING_H 1
# | #define HAVE_SYS_CDEFS_H 1
# | #define HAVE_SYS_IOCTL_H 1
# | #define HAVE_SYS_MOUNT_H 1
# | #define HAVE_SYS_PARAM_H 1
# | #define HAVE_SYS_POLL_H 1
# | #define HAVE_SYS_SELECT_H 1
# | #define HAVE_SYS_STATFS_H 1
# | #define HAVE_SYS_STATVFS_H 1
# | #define HAVE_SYS_TIME_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_BZLIB_H 1
# | #define HAVE_LIBBZ2 1
# | #define HAVE_ICONV 1
# | #define ICONV_CONST
# | #define HAVE_ICONV_H 1
# | #define HAVE_LZ4_H 1
# | #define HAVE_LZ4HC_H 1
# | #define HAVE_LIBLZ4 1
# | #define HAVE_LZMA_H 1
# | #define HAVE_LIBLZMA 1
# | #define HAVE_LZMA_STREAM_ENCODER_MT 1
# | #define HAVE_LZO_LZOCONF_H 1
# | #define HAVE_LZO_LZO1X_H 1
# | #define HAVE_LIBLZO2 1
# | #define HAVE_EXPAT_H 1
# | #define HAVE_LIBEXPAT 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 1
# | #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1
# | #define HAVE_STRUCT_STAT_ST_BLKSIZE 1
# | #define HAVE_UINTMAX_T 1
# | #define HAVE_UNSIGNED_LONG_LONG 1
# | #define HAVE_UNSIGNED_LONG_LONG_INT 1
# | #define HAVE_LONG_LONG_INT 1
# | #define HAVE_INTMAX_T 1
# | #define HAVE_UINTMAX_T 1
# | #define HAVE_DECL_SIZE_MAX 1
# | #define HAVE_DECL_INT32_MAX 1
# | #define HAVE_DECL_INT32_MIN 1
# | #define HAVE_DECL_INT64_MAX 1
# | #define HAVE_DECL_INT64_MIN 1
# | #define HAVE_DECL_UINT64_MAX 1
# | #define HAVE_DECL_UINT32_MAX 1
# | #define HAVE_DECL_INTMAX_MAX 1
# | #define HAVE_DECL_INTMAX_MIN 1
# | #define HAVE_DECL_UINTMAX_MAX 1
# | #define HAVE_DECL_SSIZE_MAX 1
# | #define HAVE_EILSEQ 1
# | #define HAVE_WCHAR_T 1
# | #define SIZEOF_WCHAR_T 4
# | #define TIME_WITH_SYS_TIME 1
# | #define HAVE_FSEEKO 1
# | #define LSTAT_FOLLOWS_SLASHED_SYMLINK 1
# | #define HAVE_DECL_STRERROR_R 1
# | #define HAVE_STRERROR_R 1
# | #define STRERROR_R_CHAR_P 1
# | #define HAVE_STRFTIME 1
# | #define HAVE_VPRINTF 1
# | #define HAVE_CHOWN 1
# | #define HAVE_CHROOT 1
# | #define HAVE_CTIME_R 1
# | #define HAVE_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_FUTIMES 1
# | #define HAVE_FUTIMESAT 1
# | #define HAVE_GETEUID 1
# | #define HAVE_GETPID 1
# | #define HAVE_GETGRGID_R 1
# | #define HAVE_GETGRNAM_R 1
# | #define HAVE_GETPWNAM_R 1
# | #define HAVE_GETPWUID_R 1
# | #define HAVE_GMTIME_R 1
# | #define HAVE_LCHOWN 1
# | #define HAVE_LINK 1
# | #define HAVE_LOCALTIME_R 1
# | #define HAVE_LSTAT 1
# | #define HAVE_LUTIMES 1
# | #define HAVE_MBRTOWC 1
# | #define HAVE_MEMMOVE 1
# | #define HAVE_MEMSET 1
# | #define HAVE_MKDIR 1
# | #define HAVE_MKFIFO 1
# | #define HAVE_MKNOD 1
# | #define HAVE_MKSTEMP 1
# | #define HAVE_NL_LANGINFO 1
# | #define HAVE_OPENAT 1
# | #define HAVE_PIPE 1
# | #define HAVE_POLL 1
# | #define HAVE_POSIX_SPAWNP 1
# | #define HAVE_READLINK 1
# | #define HAVE_READLINKAT 1
# | #define HAVE_SELECT 1
# | #define HAVE_SETENV 1
# | #define HAVE_SETLOCALE 1
# | #define HAVE_SIGACTION 1
# | #define HAVE_STATFS 1
# | #define HAVE_STATVFS 1
# | #define HAVE_STRCHR 1
# | #define HAVE_STRDUP 1
# | #define HAVE_STRERROR 1
# | #define HAVE_STRRCHR 1
# | #define HAVE_SYMLINK 1
# | #define HAVE_TIMEGM 1
# | #define HAVE_TZSET 1
# | #define HAVE_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_ATTR_XATTR_H 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
# | #define HAVE_ACL_LIBACL_H 1
# | #define HAVE_SYS_ACL_H 1
# | #define HAVE_LIBACL 1
# | #define HAVE_ACL_CREATE_ENTRY 1
# | #define HAVE_ACL_INIT 1
# | #define HAVE_ACL_SET_FD 1
# | #define HAVE_ACL_SET_FILE 1
# | #define HAVE_ACL_PERMSET_T 1
# | #define HAVE_ACL_GET_PERM 1
# | #define HAVE_ACL_USER 1
# | #define HAVE_OPENSSL_EVP_H 1
# | #define HAVE_LIBCRYPTO 1
# | #define ARCHIVE_CRYPTO_MD5_OPENSSL 1
# | #define ARCHIVE_CRYPTO_RMD160_OPENSSL 1
# | #define ARCHIVE_CRYPTO_SHA1_OPENSSL 1
# | #define ARCHIVE_CRYPTO_SHA256_OPENSSL 1
# | #define ARCHIVE_CRYPTO_SHA384_OPENSSL 1
# | #define ARCHIVE_CRYPTO_SHA512_OPENSSL 1
# | #define HAVE_PKCS5_PBKDF2_HMAC_SHA1 1
# | /* 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: clang -c -Wall -Wformat -Wformat-security conftest.c >&5
# conftest.c:259:10: fatal error: 'sha512.h' file not found
# #include
# ^
# 1 error generated.
# 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_EXT2FS_EXT2_FS_H 1
# | #define HAVE_FCNTL_H 1
# | #define HAVE_GRP_H 1
# | #define HAVE_WORKING_EXT2_IOC_GETFLAGS 1
# | #define HAVE_INTTYPES_H 1
# | #define HAVE_LANGINFO_H 1
# | #define HAVE_LIMITS_H 1
# | #define HAVE_LINUX_FIEMAP_H 1
# | #define HAVE_LINUX_FS_H 1
# | #define HAVE_LINUX_MAGIC_H 1
# | #define HAVE_LINUX_TYPES_H 1
# | #define HAVE_LOCALE_H 1
# | #define HAVE_PATHS_H 1
# | #define HAVE_POLL_H 1
# | #define HAVE_PTHREAD_H 1
# | #define HAVE_PWD_H 1
# | #define HAVE_SIGNAL_H 1
# | #define HAVE_SPAWN_H 1
# | #define HAVE_STDARG_H 1
# | #define HAVE_STDINT_H 1
# | #define HAVE_STDLIB_H 1
# | #define HAVE_STRING_H 1
# | #define HAVE_SYS_CDEFS_H 1
# | #define HAVE_SYS_IOCTL_H 1
# | #define HAVE_SYS_MOUNT_H 1
# | #define HAVE_SYS_PARAM_H 1
# | #define HAVE_SYS_POLL_H 1
# | #define HAVE_SYS_SELECT_H 1
# | #define HAVE_SYS_STATFS_H 1
# | #define HAVE_SYS_STATVFS_H 1
# | #define HAVE_SYS_TIME_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_BZLIB_H 1
# | #define HAVE_LIBBZ2 1
# | #define HAVE_ICONV 1
# | #define ICONV_CONST
# | #define HAVE_ICONV_H 1
# | #define HAVE_LZ4_H 1
# | #define HAVE_LZ4HC_H 1
# | #define HAVE_LIBLZ4 1
# | #define HAVE_LZMA_H 1
# | #define HAVE_LIBLZMA 1
# | #define HAVE_LZMA_STREAM_ENCODER_MT 1
# | #define HAVE_LZO_LZOCONF_H 1
# | #define HAVE_LZO_LZO1X_H 1
# | #define HAVE_LIBLZO2 1
# | #define HAVE_EXPAT_H 1
# | #define HAVE_LIBEXPAT 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 1
# | #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1
# | #define HAVE_STRUCT_STAT_ST_BLKSIZE 1
# | #define HAVE_UINTMAX_T 1
# | #define HAVE_UNSIGNED_LONG_LONG 1
# | #define HAVE_UNSIGNED_LONG_LONG_INT 1
# | #define HAVE_LONG_LONG_INT 1
# | #define HAVE_INTMAX_T 1
# | #define HAVE_UINTMAX_T 1
# | #define HAVE_DECL_SIZE_MAX 1
# | #define HAVE_DECL_INT32_MAX 1
# | #define HAVE_DECL_INT32_MIN 1
# | #define HAVE_DECL_INT64_MAX 1
# | #define HAVE_DECL_INT64_MIN 1
# | #define HAVE_DECL_UINT64_MAX 1
# | #define HAVE_DECL_UINT32_MAX 1
# | #define HAVE_DECL_INTMAX_MAX 1
# | #define HAVE_DECL_INTMAX_MIN 1
# | #define HAVE_DECL_UINTMAX_MAX 1
# | #define HAVE_DECL_SSIZE_MAX 1
# | #define HAVE_EILSEQ 1
# | #define HAVE_WCHAR_T 1
# | #define SIZEOF_WCHAR_T 4
# | #define TIME_WITH_SYS_TIME 1
# | #define HAVE_FSEEKO 1
# | #define LSTAT_FOLLOWS_SLASHED_SYMLINK 1
# | #define HAVE_DECL_STRERROR_R 1
# | #define HAVE_STRERROR_R 1
# | #define STRERROR_R_CHAR_P 1
# | #define HAVE_STRFTIME 1
# | #define HAVE_VPRINTF 1
# | #define HAVE_CHOWN 1
# | #define HAVE_CHROOT 1
# | #define HAVE_CTIME_R 1
# | #define HAVE_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_FUTIMES 1
# | #define HAVE_FUTIMESAT 1
# | #define HAVE_GETEUID 1
# | #define HAVE_GETPID 1
# | #define HAVE_GETGRGID_R 1
# | #define HAVE_GETGRNAM_R 1
# | #define HAVE_GETPWNAM_R 1
# | #define HAVE_GETPWUID_R 1
# | #define HAVE_GMTIME_R 1
# | #define HAVE_LCHOWN 1
# | #define HAVE_LINK 1
# | #define HAVE_LOCALTIME_R 1
# | #define HAVE_LSTAT 1
# | #define HAVE_LUTIMES 1
# | #define HAVE_MBRTOWC 1
# | #define HAVE_MEMMOVE 1
# | #define HAVE_MEMSET 1
# | #define HAVE_MKDIR 1
# | #define HAVE_MKFIFO 1
# | #define HAVE_MKNOD 1
# | #define HAVE_MKSTEMP 1
# | #define HAVE_NL_LANGINFO 1
# | #define HAVE_OPENAT 1
# | #define HAVE_PIPE 1
# | #define HAVE_POLL 1
# | #define HAVE_POSIX_SPAWNP 1
# | #define HAVE_READLINK 1
# | #define HAVE_READLINKAT 1
# | #define HAVE_SELECT 1
# | #define HAVE_SETENV 1
# | #define HAVE_SETLOCALE 1
# | #define HAVE_SIGACTION 1
# | #define HAVE_STATFS 1
# | #define HAVE_STATVFS 1
# | #define HAVE_STRCHR 1
# | #define HAVE_STRDUP 1
# | #define HAVE_STRERROR 1
# | #define HAVE_STRRCHR 1
# | #define HAVE_SYMLINK 1
# | #define HAVE_TIMEGM 1
# | #define HAVE_TZSET 1
# | #define HAVE_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_ATTR_XATTR_H 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
# | #define HAVE_ACL_LIBACL_H 1
# | #define HAVE_SYS_ACL_H 1
# | #define HAVE_LIBACL 1
# | #define HAVE_ACL_CREATE_ENTRY 1
# | #define HAVE_ACL_INIT 1
# | #define HAVE_ACL_SET_FD 1
# | #define HAVE_ACL_SET_FILE 1
# | #define HAVE_ACL_PERMSET_T 1
# | #define HAVE_ACL_GET_PERM 1
# | #define HAVE_ACL_USER 1
# | #define HAVE_OPENSSL_EVP_H 1
# | #define HAVE_LIBCRYPTO 1
# | #define ARCHIVE_CRYPTO_MD5_OPENSSL 1
# | #define ARCHIVE_CRYPTO_RMD160_OPENSSL 1
# | #define ARCHIVE_CRYPTO_SHA1_OPENSSL 1
# | #define ARCHIVE_CRYPTO_SHA256_OPENSSL 1
# | #define ARCHIVE_CRYPTO_SHA384_OPENSSL 1
# | #define ARCHIVE_CRYPTO_SHA512_OPENSSL 1
# | #define HAVE_PKCS5_PBKDF2_HMAC_SHA1 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:19474: result: no
# configure:19474: checking sha512.h presence
# configure:19474: clang -E conftest.c
# conftest.c:226:10: fatal error: 'sha512.h' file not found
# #include
# ^
# 1 error generated.
# 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_EXT2FS_EXT2_FS_H 1
# | #define HAVE_FCNTL_H 1
# | #define HAVE_GRP_H 1
# | #define HAVE_WORKING_EXT2_IOC_GETFLAGS 1
# | #define HAVE_INTTYPES_H 1
# | #define HAVE_LANGINFO_H 1
# | #define HAVE_LIMITS_H 1
# | #define HAVE_LINUX_FIEMAP_H 1
# | #define HAVE_LINUX_FS_H 1
# | #define HAVE_LINUX_MAGIC_H 1
# | #define HAVE_LINUX_TYPES_H 1
# | #define HAVE_LOCALE_H 1
# | #define HAVE_PATHS_H 1
# | #define HAVE_POLL_H 1
# | #define HAVE_PTHREAD_H 1
# | #define HAVE_PWD_H 1
# | #define HAVE_SIGNAL_H 1
# | #define HAVE_SPAWN_H 1
# | #define HAVE_STDARG_H 1
# | #define HAVE_STDINT_H 1
# | #define HAVE_STDLIB_H 1
# | #define HAVE_STRING_H 1
# | #define HAVE_SYS_CDEFS_H 1
# | #define HAVE_SYS_IOCTL_H 1
# | #define HAVE_SYS_MOUNT_H 1
# | #define HAVE_SYS_PARAM_H 1
# | #define HAVE_SYS_POLL_H 1
# | #define HAVE_SYS_SELECT_H 1
# | #define HAVE_SYS_STATFS_H 1
# | #define HAVE_SYS_STATVFS_H 1
# | #define HAVE_SYS_TIME_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_BZLIB_H 1
# | #define HAVE_LIBBZ2 1
# | #define HAVE_ICONV 1
# | #define ICONV_CONST
# | #define HAVE_ICONV_H 1
# | #define HAVE_LZ4_H 1
# | #define HAVE_LZ4HC_H 1
# | #define HAVE_LIBLZ4 1
# | #define HAVE_LZMA_H 1
# | #define HAVE_LIBLZMA 1
# | #define HAVE_LZMA_STREAM_ENCODER_MT 1
# | #define HAVE_LZO_LZOCONF_H 1
# | #define HAVE_LZO_LZO1X_H 1
# | #define HAVE_LIBLZO2 1
# | #define HAVE_EXPAT_H 1
# | #define HAVE_LIBEXPAT 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 1
# | #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1
# | #define HAVE_STRUCT_STAT_ST_BLKSIZE 1
# | #define HAVE_UINTMAX_T 1
# | #define HAVE_UNSIGNED_LONG_LONG 1
# | #define HAVE_UNSIGNED_LONG_LONG_INT 1
# | #define HAVE_LONG_LONG_INT 1
# | #define HAVE_INTMAX_T 1
# | #define HAVE_UINTMAX_T 1
# | #define HAVE_DECL_SIZE_MAX 1
# | #define HAVE_DECL_INT32_MAX 1
# | #define HAVE_DECL_INT32_MIN 1
# | #define HAVE_DECL_INT64_MAX 1
# | #define HAVE_DECL_INT64_MIN 1
# | #define HAVE_DECL_UINT64_MAX 1
# | #define HAVE_DECL_UINT32_MAX 1
# | #define HAVE_DECL_INTMAX_MAX 1
# | #define HAVE_DECL_INTMAX_MIN 1
# | #define HAVE_DECL_UINTMAX_MAX 1
# | #define HAVE_DECL_SSIZE_MAX 1
# | #define HAVE_EILSEQ 1
# | #define HAVE_WCHAR_T 1
# | #define SIZEOF_WCHAR_T 4
# | #define TIME_WITH_SYS_TIME 1
# | #define HAVE_FSEEKO 1
# | #define LSTAT_FOLLOWS_SLASHED_SYMLINK 1
# | #define HAVE_DECL_STRERROR_R 1
# | #define HAVE_STRERROR_R 1
# | #define STRERROR_R_CHAR_P 1
# | #define HAVE_STRFTIME 1
# | #define HAVE_VPRINTF 1
# | #define HAVE_CHOWN 1
# | #define HAVE_CHROOT 1
# | #define HAVE_CTIME_R 1
# | #define HAVE_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_FUTIMES 1
# | #define HAVE_FUTIMESAT 1
# | #define HAVE_GETEUID 1
# | #define HAVE_GETPID 1
# | #define HAVE_GETGRGID_R 1
# | #define HAVE_GETGRNAM_R 1
# | #define HAVE_GETPWNAM_R 1
# | #define HAVE_GETPWUID_R 1
# | #define HAVE_GMTIME_R 1
# | #define HAVE_LCHOWN 1
# | #define HAVE_LINK 1
# | #define HAVE_LOCALTIME_R 1
# | #define HAVE_LSTAT 1
# | #define HAVE_LUTIMES 1
# | #define HAVE_MBRTOWC 1
# | #define HAVE_MEMMOVE 1
# | #define HAVE_MEMSET 1
# | #define HAVE_MKDIR 1
# | #define HAVE_MKFIFO 1
# | #define HAVE_MKNOD 1
# | #define HAVE_MKSTEMP 1
# | #define HAVE_NL_LANGINFO 1
# | #define HAVE_OPENAT 1
# | #define HAVE_PIPE 1
# | #define HAVE_POLL 1
# | #define HAVE_POSIX_SPAWNP 1
# | #define HAVE_READLINK 1
# | #define HAVE_READLINKAT 1
# | #define HAVE_SELECT 1
# | #define HAVE_SETENV 1
# | #define HAVE_SETLOCALE 1
# | #define HAVE_SIGACTION 1
# | #define HAVE_STATFS 1
# | #define HAVE_STATVFS 1
# | #define HAVE_STRCHR 1
# | #define HAVE_STRDUP 1
# | #define HAVE_STRERROR 1
# | #define HAVE_STRRCHR 1
# | #define HAVE_SYMLINK 1
# | #define HAVE_TIMEGM 1
# | #define HAVE_TZSET 1
# | #define HAVE_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_ATTR_XATTR_H 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
# | #define HAVE_ACL_LIBACL_H 1
# | #define HAVE_SYS_ACL_H 1
# | #define HAVE_LIBACL 1
# | #define HAVE_ACL_CREATE_ENTRY 1
# | #define HAVE_ACL_INIT 1
# | #define HAVE_ACL_SET_FD 1
# | #define HAVE_ACL_SET_FILE 1
# | #define HAVE_ACL_PERMSET_T 1
# | #define HAVE_ACL_GET_PERM 1
# | #define HAVE_ACL_USER 1
# | #define HAVE_OPENSSL_EVP_H 1
# | #define HAVE_LIBCRYPTO 1
# | #define ARCHIVE_CRYPTO_MD5_OPENSSL 1
# | #define ARCHIVE_CRYPTO_RMD160_OPENSSL 1
# | #define ARCHIVE_CRYPTO_SHA1_OPENSSL 1
# | #define ARCHIVE_CRYPTO_SHA256_OPENSSL 1
# | #define ARCHIVE_CRYPTO_SHA384_OPENSSL 1
# | #define ARCHIVE_CRYPTO_SHA512_OPENSSL 1
# | #define HAVE_PKCS5_PBKDF2_HMAC_SHA1 1
# | /* 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: clang -o conftest -Wall -Wformat -Wformat-security conftest.c -lmd -lcrypto -lacl -lexpat -llzo2 -llzma -llz4 -lbz2 -lz >&5
# /usr/bin/ld: cannot find -lmd
# clang-3.8: error: linker command failed with exit code 1 (use -v to see invocation)
# 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_EXT2FS_EXT2_FS_H 1
# | #define HAVE_FCNTL_H 1
# | #define HAVE_GRP_H 1
# | #define HAVE_WORKING_EXT2_IOC_GETFLAGS 1
# | #define HAVE_INTTYPES_H 1
# | #define HAVE_LANGINFO_H 1
# | #define HAVE_LIMITS_H 1
# | #define HAVE_LINUX_FIEMAP_H 1
# | #define HAVE_LINUX_FS_H 1
# | #define HAVE_LINUX_MAGIC_H 1
# | #define HAVE_LINUX_TYPES_H 1
# | #define HAVE_LOCALE_H 1
# | #define HAVE_PATHS_H 1
# | #define HAVE_POLL_H 1
# | #define HAVE_PTHREAD_H 1
# | #define HAVE_PWD_H 1
# | #define HAVE_SIGNAL_H 1
# | #define HAVE_SPAWN_H 1
# | #define HAVE_STDARG_H 1
# | #define HAVE_STDINT_H 1
# | #define HAVE_STDLIB_H 1
# | #define HAVE_STRING_H 1
# | #define HAVE_SYS_CDEFS_H 1
# | #define HAVE_SYS_IOCTL_H 1
# | #define HAVE_SYS_MOUNT_H 1
# | #define HAVE_SYS_PARAM_H 1
# | #define HAVE_SYS_POLL_H 1
# | #define HAVE_SYS_SELECT_H 1
# | #define HAVE_SYS_STATFS_H 1
# | #define HAVE_SYS_STATVFS_H 1
# | #define HAVE_SYS_TIME_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_BZLIB_H 1
# | #define HAVE_LIBBZ2 1
# | #define HAVE_ICONV 1
# | #define ICONV_CONST
# | #define HAVE_ICONV_H 1
# | #define HAVE_LZ4_H 1
# | #define HAVE_LZ4HC_H 1
# | #define HAVE_LIBLZ4 1
# | #define HAVE_LZMA_H 1
# | #define HAVE_LIBLZMA 1
# | #define HAVE_LZMA_STREAM_ENCODER_MT 1
# | #define HAVE_LZO_LZOCONF_H 1
# | #define HAVE_LZO_LZO1X_H 1
# | #define HAVE_LIBLZO2 1
# | #define HAVE_EXPAT_H 1
# | #define HAVE_LIBEXPAT 1
# | #define HAVE_REGEX_H 1
# | #define HAVE_STRUCT_TM_TM_GMTOFF 1
# | #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1
# | #define HAVE_STRUCT_STAT_ST_BLKSIZE 1
# | #define HAVE_UINTMAX_T 1
# | #define HAVE_UNSIGNED_LONG_LONG 1
# | #define HAVE_UNSIGNED_LONG_LONG_INT 1
# | #define HAVE_LONG_LONG_INT 1
# | #define HAVE_INTMAX_T 1
# | #define HAVE_UINTMAX_T 1
# | #define HAVE_DECL_SIZE_MAX 1
# | #define HAVE_DECL_INT32_MAX 1
# | #define HAVE_DECL_INT32_MIN 1
# | #define HAVE_DECL_INT64_MAX 1
# | #define HAVE_DECL_INT64_MIN 1
# | #define HAVE_DECL_UINT64_MAX 1
# | #define HAVE_DECL_UINT32_MAX 1
# | #define HAVE_DECL_INTMAX_MAX 1
# | #define HAVE_DECL_INTMAX_MIN 1
# | #define HAVE_DECL_UINTMAX_MAX 1
# | #define HAVE_DECL_SSIZE_MAX 1
# | #define HAVE_EILSEQ 1
# | #define HAVE_WCHAR_T 1
# | #define SIZEOF_WCHAR_T 4
# | #define TIME_WITH_SYS_TIME 1
# | #define HAVE_FSEEKO 1
# | #define LSTAT_FOLLOWS_SLASHED_SYMLINK 1
# | #define HAVE_DECL_STRERROR_R 1
# | #define HAVE_STRERROR_R 1
# | #define STRERROR_R_CHAR_P 1
# | #define HAVE_STRFTIME 1
# | #define HAVE_VPRINTF 1
# | #define HAVE_CHOWN 1
# | #define HAVE_CHROOT 1
# | #define HAVE_CTIME_R 1
# | #define HAVE_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_FUTIMES 1
# | #define HAVE_FUTIMESAT 1
# | #define HAVE_GETEUID 1
# | #define HAVE_GETPID 1
# | #define HAVE_GETGRGID_R 1
# | #define HAVE_GETGRNAM_R 1
# | #define HAVE_GETPWNAM_R 1
# | #define HAVE_GETPWUID_R 1
# | #define HAVE_GMTIME_R 1
# | #define HAVE_LCHOWN 1
# | #define HAVE_LINK 1
# | #define HAVE_LOCALTIME_R 1
# | #define HAVE_LSTAT 1
# | #define HAVE_LUTIMES 1
# | #define HAVE_MBRTOWC 1
# | #define HAVE_MEMMOVE 1
# | #define HAVE_MEMSET 1
# | #define HAVE_MKDIR 1
# | #define HAVE_MKFIFO 1
# | #define HAVE_MKNOD 1
# | #define HAVE_MKSTEMP 1
# | #define HAVE_NL_LANGINFO 1
# | #define HAVE_OPENAT 1
# | #define HAVE_PIPE 1
# | #define HAVE_POLL 1
# | #define HAVE_POSIX_SPAWNP 1
# | #define HAVE_READLINK 1
# | #define HAVE_READLINKAT 1
# | #define HAVE_SELECT 1
# | #define HAVE_SETENV 1
# | #define HAVE_SETLOCALE 1
# | #define HAVE_SIGACTION 1
# | #define HAVE_STATFS 1
# | #define HAVE_STATVFS 1
# | #define HAVE_STRCHR 1
# | #define HAVE_STRDUP 1
# | #define HAVE_STRERROR 1
# | #define HAVE_STRRCHR 1
# | #define HAVE_SYMLINK 1
# | #define HAVE_TIMEGM 1
# | #define HAVE_TZSET 1
# | #define HAVE_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_ATTR_XATTR_H 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
# | #define HAVE_ACL_LIBACL_H 1
# | #define HAVE_SYS_ACL_H 1
# | #define HAVE_LIBACL 1
# | #define HAVE_ACL_CREATE_ENTRY 1
# | #define HAVE_ACL_INIT 1
# | #define HAVE_ACL_SET_FD 1
# | #define HAVE_ACL_SET_FILE 1
# | #define HAVE_ACL_PERMSET_T 1
# | #define HAVE_ACL_GET_PERM 1
# | #define HAVE_ACL_USER 1
# | #define HAVE_OPENSSL_EVP_H 1
# | #define HAVE_LIBCRYPTO 1
# | #define ARCHIVE_CRYPTO_MD5_OPENSSL 1
# | #define ARCHIVE_CRYPTO_RMD160_OPENSSL 1
# | #define ARCHIVE_CRYPTO_SHA1_OPENSSL 1
# | #define ARCHIVE_CRYPTO_SHA256_OPENSSL 1
# | #define ARCHIVE_CRYPTO_SHA384_OPENSSL 1
# | #define ARCHIVE_CRYPTO_SHA512_OPENSSL 1
# | #define HAVE_PKCS5_PBKDF2_HMAC_SHA1 1
# | /* end confdefs.h. */
# |
# | /* Override any GCC internal prototype to avoid an error.
# | Use char because int might match the return type of a GCC
# | builtin and then its argument prototype would still apply. */
# | #ifdef __cplusplus
# | extern "C"
# | #endif
# | char MD5Init ();
# | int
# | main ()
# | {
# | return MD5Init ();
# | ;
# | return 0;
# | }
# configure:19519: 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 b1667e6644f2
#
# config.status:1317: creating Makefile
# config.status:1317: creating build/pkgconfig/libarchive.pc
# config.status:1317: creating config.h
# config.status:1546: executing depfiles commands
# config.status:1546: executing libtool commands
# config.status:1546: executing mkdirs commands
#
# ## ---------------- ##
# ## Cache variables. ##
# ## ---------------- ##
#
# ac_cv_build=x86_64-pc-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=clang
# 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=
# ac_cv_env_build_alias_value=
# ac_cv_env_host_alias_set=set
# ac_cv_env_host_alias_value=x86_64-unknown-linux
# ac_cv_env_target_alias_set=
# ac_cv_env_target_alias_value=
# ac_cv_func_CreateHardLinkA=no
# ac_cv_func_PKCS5_PBKDF2_HMAC_SHA1=yes
# 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=yes
# ac_cv_func_acl_get_link=no
# ac_cv_func_acl_get_link_np=no
# ac_cv_func_acl_get_perm=yes
# ac_cv_func_acl_get_perm_np=no
# ac_cv_func_acl_init=yes
# ac_cv_func_acl_set_fd=yes
# ac_cv_func_acl_set_fd_np=no
# ac_cv_func_acl_set_file=yes
# ac_cv_func_arc4random_buf=no
# 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=yes
# ac_cv_func_futimesat=yes
# ac_cv_func_getea=no
# ac_cv_func_geteuid=yes
# ac_cv_func_getgrgid_r=yes
# ac_cv_func_getgrnam_r=yes
# ac_cv_func_getpid=yes
# ac_cv_func_getpwnam_r=yes
# ac_cv_func_getpwuid_r=yes
# ac_cv_func_getvfsbyname=no
# ac_cv_func_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_locale_charset=no
# 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=yes
# ac_cv_func_lstat_empty_string_bug=no
# ac_cv_func_lutimes=yes
# ac_cv_func_mbrtowc=yes
# ac_cv_func_memcmp_working=yes
# ac_cv_func_memmove=yes
# ac_cv_func_memset=yes
# ac_cv_func_mkdir=yes
# ac_cv_func_mkfifo=yes
# ac_cv_func_mknod=yes
# ac_cv_func_mkstemp=yes
# ac_cv_func_nl_langinfo=yes
# ac_cv_func_openat=yes
# ac_cv_func_pipe=yes
# ac_cv_func_poll=yes
# ac_cv_func_posix_spawnp=yes
# ac_cv_func_readlink=yes
# ac_cv_func_readlinkat=yes
# ac_cv_func_readpassphrase=no
# ac_cv_func_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=no
# ac_cv_func_statfs=yes
# ac_cv_func_statvfs=yes
# ac_cv_func_strchr=yes
# ac_cv_func_strdup=yes
# ac_cv_func_strerror=yes
# ac_cv_func_strerror_r=yes
# ac_cv_func_strerror_r_char_p=yes
# ac_cv_func_strftime=yes
# ac_cv_func_strncpy_s=no
# ac_cv_func_strrchr=yes
# ac_cv_func_symlink=yes
# ac_cv_func_timegm=yes
# ac_cv_func_tzset=yes
# ac_cv_func_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=yes
# ac_cv_have_decl_D_MD_ORDER=no
# ac_cv_have_decl_EFTYPE=no
# ac_cv_have_decl_EILSEQ=yes
# ac_cv_have_decl_EXT2_IOC_GETFLAGS=yes
# 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=yes
# ac_cv_header_attr_xattr_h=yes
# ac_cv_header_bzlib_h=yes
# 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=yes
# ac_cv_header_ext2fs_ext2_fs_h=yes
# ac_cv_header_fcntl_h=yes
# ac_cv_header_grp_h=yes
# ac_cv_header_iconv_h=yes
# ac_cv_header_inttypes_h=yes
# ac_cv_header_io_h=no
# ac_cv_header_langinfo_h=yes
# ac_cv_header_limits_h=yes
# ac_cv_header_linux_fiemap_h=yes
# ac_cv_header_linux_fs_h=yes
# ac_cv_header_linux_magic_h=yes
# ac_cv_header_linux_types_h=yes
# ac_cv_header_localcharset_h=no
# ac_cv_header_locale_h=yes
# ac_cv_header_lz4_h=yes
# ac_cv_header_lz4hc_h=yes
# ac_cv_header_lzma_h=yes
# ac_cv_header_lzmadec_h=no
# ac_cv_header_lzo_lzo1x_h=yes
# ac_cv_header_lzo_lzoconf_h=yes
# 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=yes
# ac_cv_header_paths_h=yes
# ac_cv_header_poll_h=yes
# ac_cv_header_pthread_h=yes
# ac_cv_header_pwd_h=yes
# ac_cv_header_readpassphrase_h=no
# ac_cv_header_regex_h=yes
# ac_cv_header_ripemd_h=no
# ac_cv_header_sha256_h=no
# ac_cv_header_sha512_h=no
# ac_cv_header_sha_h=no
# ac_cv_header_signal_h=yes
# ac_cv_header_spawn_h=yes
# ac_cv_header_stdarg_h=yes
# ac_cv_header_stdc=yes
# ac_cv_header_stdint_h=yes
# ac_cv_header_stdlib_h=yes
# ac_cv_header_string_h=yes
# ac_cv_header_strings_h=yes
# ac_cv_header_sys_acl_h=yes
# 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=no
# ac_cv_header_sys_utsname_h=yes
# ac_cv_header_sys_vfs_h=yes
# ac_cv_header_sys_wait_h=yes
# ac_cv_header_sys_xattr_h=yes
# ac_cv_header_time=yes
# ac_cv_header_time_h=yes
# ac_cv_header_unistd_h=yes
# ac_cv_header_utime_h=yes
# ac_cv_header_wchar_h=yes
# ac_cv_header_wctype_h=yes
# ac_cv_header_wincrypt_h=no
# ac_cv_header_windows_h=no
# ac_cv_header_winioctl_h=no
# ac_cv_header_zlib_h=yes
# ac_cv_host=x86_64-unknown-linux-gnu
# ac_cv_lib_acl_acl_get_file=yes
# ac_cv_lib_bz2_BZ2_bzDecompressInit=yes
# ac_cv_lib_charset_locale_charset=no
# ac_cv_lib_crypto_OPENSSL_config=yes
# ac_cv_lib_expat_XML_ParserCreate=yes
# ac_cv_lib_lz4_LZ4_decompress_safe=yes
# ac_cv_lib_lzma_lzma_stream_decoder=yes
# ac_cv_lib_lzmadec_lzmadec_decode=no
# ac_cv_lib_lzo2_lzo1x_decompress_safe=yes
# ac_cv_lib_md_MD5Init=no
# ac_cv_lib_z_inflate=yes
# ac_cv_lzma_has_mt=yes
# ac_cv_member_struct_dirent_d_namlen=no
# ac_cv_member_struct_stat_st_birthtime=no
# ac_cv_member_struct_stat_st_birthtimespec_tv_nsec=no
# ac_cv_member_struct_stat_st_blksize=yes
# ac_cv_member_struct_stat_st_flags=no
# ac_cv_member_struct_stat_st_mtim_tv_nsec=yes
# ac_cv_member_struct_stat_st_mtime_n=no
# ac_cv_member_struct_stat_st_mtime_usec=no
# ac_cv_member_struct_stat_st_mtimespec_tv_nsec=no
# ac_cv_member_struct_stat_st_umtime=no
# ac_cv_member_struct_statfs_f_namemax=no
# ac_cv_member_struct_statvfs_f_iosize=no
# ac_cv_member_struct_tm___tm_gmtoff=no
# ac_cv_member_struct_tm_tm_gmtoff=yes
# ac_cv_objext=o
# ac_cv_path_EGREP='/usr/bin/grep -E'
# ac_cv_path_FGREP='/usr/bin/grep -F'
# ac_cv_path_GREP=/usr/bin/grep
# ac_cv_path_SED=/usr/bin/sed
# ac_cv_path_install='/usr/bin/install -c'
# ac_cv_path_mkdir=/usr/bin/mkdir
# ac_cv_prog_AWK=gawk
# ac_cv_prog_CC=clang
# ac_cv_prog_CPP='clang -E'
# ac_cv_prog_DLLTOOL=dlltool
# ac_cv_prog_OBJDUMP=objdump
# ac_cv_prog_STRIP=strip
# ac_cv_prog_ac_ct_AR=ar
# ac_cv_prog_ac_ct_DUMPBIN='link -dump'
# ac_cv_prog_ac_ct_RANLIB=ranlib
# ac_cv_prog_ac_ct_STRIP=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=no
# ac_cv_sys_largefile_CC=no
# ac_cv_sys_largefile_source=no
# ac_cv_type_acl_permset_t=yes
# 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='/usr/bin/ld -m elf_x86_64'
# 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=yes
# am_cv_func_iconv_works=yes
# am_cv_lib_iconv=no
# am_cv_make_support_nested_variables=yes
# am_cv_prog_cc_c_o=yes
# am_cv_proto_iconv='extern size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);'
# am_cv_proto_iconv_arg1=
# ax_cv_check_cflags___Wall=yes
# ax_cv_check_cflags___Wformat=yes
# ax_cv_check_cflags___Wformat_security=yes
# 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=/usr/bin/ld
# lt_cv_path_NM=no
# 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=yes
# 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=no
# 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='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='clang'
# CCDEPMODE='depmode=gcc3'
# CFLAGS=' -Wall -Wformat -Wformat-security'
# CPP='clang -E'
# CPPFLAGS=''
# CYGPATH_W='echo'
# DEFS='-DHAVE_CONFIG_H'
# DEPDIR='.deps'
# DLLTOOL='dlltool'
# DSYMUTIL=''
# DUMPBIN=':'
# ECHO_C=''
# ECHO_N='-n'
# ECHO_T=''
# EGREP='/usr/bin/grep -E'
# EXEEXT=''
# FGREP='/usr/bin/grep -F'
# GREP='/usr/bin/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='/usr/bin/ld -m elf_x86_64'
# LDFLAGS=''
# LIBARCHIVE_VERSION_NUMBER='3002001'
# LIBARCHIVE_VERSION_STRING='3.2.1'
# LIBICONV=''
# LIBOBJS=''
# LIBS='-lcrypto -lacl -lexpat -llzo2 -llzma -llz4 -lbz2 -lz '
# LIBTOOL='$(SHELL) $(top_builddir)/libtool'
# LIBXML2_PC_CFLAGS=''
# LIBXML2_PC_LIBS=''
# LIPO=''
# LN_S='ln -s'
# LTLIBICONV=''
# LTLIBOBJS=''
# MAKEINFO='${SHELL} /tmp/libarchive/src/libarchive-3.2.1/build/autoconf/missing makeinfo'
# MANIFEST_TOOL=':'
# MKDIR_P='/usr/bin/mkdir -p'
# NM='nm'
# 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='ranlib'
# SED='/usr/bin/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='strip'
# VERSION='3.2.1'
# ac_ct_AR='ar'
# ac_ct_CC=''
# ac_ct_DUMPBIN='link -dump'
# 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-pc-linux-gnu'
# build_alias=''
# build_cpu='x86_64'
# build_os='linux-gnu'
# build_vendor='pc'
# datadir='${datarootdir}'
# datarootdir='${prefix}/share'
# docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
# dvidir='${docdir}'
# exec_prefix='${prefix}'
# host='x86_64-unknown-linux-gnu'
# host_alias='x86_64-unknown-linux'
# host_cpu='x86_64'
# host_os='linux-gnu'
# 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_EXT2FS_EXT2_FS_H 1
# #define HAVE_FCNTL_H 1
# #define HAVE_GRP_H 1
# #define HAVE_WORKING_EXT2_IOC_GETFLAGS 1
# #define HAVE_INTTYPES_H 1
# #define HAVE_LANGINFO_H 1
# #define HAVE_LIMITS_H 1
# #define HAVE_LINUX_FIEMAP_H 1
# #define HAVE_LINUX_FS_H 1
# #define HAVE_LINUX_MAGIC_H 1
# #define HAVE_LINUX_TYPES_H 1
# #define HAVE_LOCALE_H 1
# #define HAVE_PATHS_H 1
# #define HAVE_POLL_H 1
# #define HAVE_PTHREAD_H 1
# #define HAVE_PWD_H 1
# #define HAVE_SIGNAL_H 1
# #define HAVE_SPAWN_H 1
# #define HAVE_STDARG_H 1
# #define HAVE_STDINT_H 1
# #define HAVE_STDLIB_H 1
# #define HAVE_STRING_H 1
# #define HAVE_SYS_CDEFS_H 1
# #define HAVE_SYS_IOCTL_H 1
# #define HAVE_SYS_MOUNT_H 1
# #define HAVE_SYS_PARAM_H 1
# #define HAVE_SYS_POLL_H 1
# #define HAVE_SYS_SELECT_H 1
# #define HAVE_SYS_STATFS_H 1
# #define HAVE_SYS_STATVFS_H 1
# #define HAVE_SYS_TIME_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_BZLIB_H 1
# #define HAVE_LIBBZ2 1
# #define HAVE_ICONV 1
# #define ICONV_CONST
# #define HAVE_ICONV_H 1
# #define HAVE_LZ4_H 1
# #define HAVE_LZ4HC_H 1
# #define HAVE_LIBLZ4 1
# #define HAVE_LZMA_H 1
# #define HAVE_LIBLZMA 1
# #define HAVE_LZMA_STREAM_ENCODER_MT 1
# #define HAVE_LZO_LZOCONF_H 1
# #define HAVE_LZO_LZO1X_H 1
# #define HAVE_LIBLZO2 1
# #define HAVE_EXPAT_H 1
# #define HAVE_LIBEXPAT 1
# #define HAVE_REGEX_H 1
# #define HAVE_STRUCT_TM_TM_GMTOFF 1
# #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1
# #define HAVE_STRUCT_STAT_ST_BLKSIZE 1
# #define HAVE_UINTMAX_T 1
# #define HAVE_UNSIGNED_LONG_LONG 1
# #define HAVE_UNSIGNED_LONG_LONG_INT 1
# #define HAVE_LONG_LONG_INT 1
# #define HAVE_INTMAX_T 1
# #define HAVE_UINTMAX_T 1
# #define HAVE_DECL_SIZE_MAX 1
# #define HAVE_DECL_INT32_MAX 1
# #define HAVE_DECL_INT32_MIN 1
# #define HAVE_DECL_INT64_MAX 1
# #define HAVE_DECL_INT64_MIN 1
# #define HAVE_DECL_UINT64_MAX 1
# #define HAVE_DECL_UINT32_MAX 1
# #define HAVE_DECL_INTMAX_MAX 1
# #define HAVE_DECL_INTMAX_MIN 1
# #define HAVE_DECL_UINTMAX_MAX 1
# #define HAVE_DECL_SSIZE_MAX 1
# #define HAVE_EILSEQ 1
# #define HAVE_WCHAR_T 1
# #define SIZEOF_WCHAR_T 4
# #define TIME_WITH_SYS_TIME 1
# #define HAVE_FSEEKO 1
# #define LSTAT_FOLLOWS_SLASHED_SYMLINK 1
# #define HAVE_DECL_STRERROR_R 1
# #define HAVE_STRERROR_R 1
# #define STRERROR_R_CHAR_P 1
# #define HAVE_STRFTIME 1
# #define HAVE_VPRINTF 1
# #define HAVE_CHOWN 1
# #define HAVE_CHROOT 1
# #define HAVE_CTIME_R 1
# #define HAVE_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_FUTIMES 1
# #define HAVE_FUTIMESAT 1
# #define HAVE_GETEUID 1
# #define HAVE_GETPID 1
# #define HAVE_GETGRGID_R 1
# #define HAVE_GETGRNAM_R 1
# #define HAVE_GETPWNAM_R 1
# #define HAVE_GETPWUID_R 1
# #define HAVE_GMTIME_R 1
# #define HAVE_LCHOWN 1
# #define HAVE_LINK 1
# #define HAVE_LOCALTIME_R 1
# #define HAVE_LSTAT 1
# #define HAVE_LUTIMES 1
# #define HAVE_MBRTOWC 1
# #define HAVE_MEMMOVE 1
# #define HAVE_MEMSET 1
# #define HAVE_MKDIR 1
# #define HAVE_MKFIFO 1
# #define HAVE_MKNOD 1
# #define HAVE_MKSTEMP 1
# #define HAVE_NL_LANGINFO 1
# #define HAVE_OPENAT 1
# #define HAVE_PIPE 1
# #define HAVE_POLL 1
# #define HAVE_POSIX_SPAWNP 1
# #define HAVE_READLINK 1
# #define HAVE_READLINKAT 1
# #define HAVE_SELECT 1
# #define HAVE_SETENV 1
# #define HAVE_SETLOCALE 1
# #define HAVE_SIGACTION 1
# #define HAVE_STATFS 1
# #define HAVE_STATVFS 1
# #define HAVE_STRCHR 1
# #define HAVE_STRDUP 1
# #define HAVE_STRERROR 1
# #define HAVE_STRRCHR 1
# #define HAVE_SYMLINK 1
# #define HAVE_TIMEGM 1
# #define HAVE_TZSET 1
# #define HAVE_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_ATTR_XATTR_H 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
# #define HAVE_ACL_LIBACL_H 1
# #define HAVE_SYS_ACL_H 1
# #define HAVE_LIBACL 1
# #define HAVE_ACL_CREATE_ENTRY 1
# #define HAVE_ACL_INIT 1
# #define HAVE_ACL_SET_FD 1
# #define HAVE_ACL_SET_FILE 1
# #define HAVE_ACL_PERMSET_T 1
# #define HAVE_ACL_GET_PERM 1
# #define HAVE_ACL_USER 1
# #define HAVE_OPENSSL_EVP_H 1
# #define HAVE_LIBCRYPTO 1
# #define ARCHIVE_CRYPTO_MD5_OPENSSL 1
# #define ARCHIVE_CRYPTO_RMD160_OPENSSL 1
# #define ARCHIVE_CRYPTO_SHA1_OPENSSL 1
# #define ARCHIVE_CRYPTO_SHA256_OPENSSL 1
# #define ARCHIVE_CRYPTO_SHA384_OPENSSL 1
# #define ARCHIVE_CRYPTO_SHA512_OPENSSL 1
# #define HAVE_PKCS5_PBKDF2_HMAC_SHA1 1
#
# configure: exit 0