rbnacl-libsodium 1.0.11 → 1.0.13
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGES.md +4 -0
- data/lib/rbnacl/libsodium/version.rb +1 -1
- data/vendor/libsodium/AUTHORS +45 -33
- data/vendor/libsodium/ChangeLog +63 -2
- data/vendor/libsodium/LICENSE +1 -1
- data/vendor/libsodium/Makefile.am +1 -0
- data/vendor/libsodium/Makefile.in +17 -14
- data/vendor/libsodium/README.markdown +1 -0
- data/vendor/libsodium/THANKS +38 -4
- data/vendor/libsodium/aclocal.m4 +25 -24
- data/vendor/libsodium/autogen.sh +12 -7
- data/vendor/libsodium/autom4te.cache/output.0 +5066 -2281
- data/vendor/libsodium/autom4te.cache/output.1 +1013 -600
- data/vendor/libsodium/autom4te.cache/output.2 +5066 -2281
- data/vendor/libsodium/autom4te.cache/requests +426 -1584
- data/vendor/libsodium/autom4te.cache/traces.0 +2044 -876
- data/vendor/libsodium/autom4te.cache/traces.1 +996 -523
- data/vendor/libsodium/autom4te.cache/traces.2 +1996 -828
- data/vendor/libsodium/build-aux/compile +5 -4
- data/vendor/libsodium/build-aux/config.guess +120 -68
- data/vendor/libsodium/build-aux/config.sub +51 -22
- data/vendor/libsodium/build-aux/depcomp +3 -3
- data/vendor/libsodium/build-aux/install-sh +2 -2
- data/vendor/libsodium/build-aux/missing +3 -3
- data/vendor/libsodium/build-aux/test-driver +3 -3
- data/vendor/libsodium/builds/msvc/properties/Win32.props +4 -1
- data/vendor/libsodium/builds/msvc/properties/x64.props +4 -1
- data/vendor/libsodium/builds/msvc/resource.h +14 -0
- data/vendor/libsodium/builds/msvc/resource.rc +63 -0
- data/vendor/libsodium/builds/msvc/version.h +7 -4
- data/vendor/libsodium/builds/msvc/vs2010/libsodium.import.props +1 -1
- data/vendor/libsodium/builds/msvc/vs2010/libsodium/libsodium.props +10 -5
- data/vendor/libsodium/builds/msvc/vs2010/libsodium/libsodium.vcxproj +182 -139
- data/vendor/libsodium/builds/msvc/vs2010/libsodium/libsodium.vcxproj.filters +632 -470
- data/vendor/libsodium/builds/msvc/vs2012/libsodium.import.props +1 -1
- data/vendor/libsodium/builds/msvc/vs2012/libsodium/libsodium.props +10 -5
- data/vendor/libsodium/builds/msvc/vs2012/libsodium/libsodium.vcxproj +182 -129
- data/vendor/libsodium/builds/msvc/vs2012/libsodium/libsodium.vcxproj.filters +632 -470
- data/vendor/libsodium/builds/msvc/vs2013/libsodium.import.props +1 -1
- data/vendor/libsodium/builds/msvc/vs2013/libsodium/libsodium.props +10 -5
- data/vendor/libsodium/builds/msvc/vs2013/libsodium/libsodium.vcxproj +182 -129
- data/vendor/libsodium/builds/msvc/vs2013/libsodium/libsodium.vcxproj.filters +632 -470
- data/vendor/libsodium/builds/msvc/vs2015/libsodium.import.props +1 -1
- data/vendor/libsodium/builds/msvc/vs2015/libsodium/libsodium.props +10 -5
- data/vendor/libsodium/builds/msvc/vs2015/libsodium/libsodium.vcxproj +181 -118
- data/vendor/libsodium/builds/msvc/vs2015/libsodium/libsodium.vcxproj.filters +632 -470
- data/vendor/libsodium/builds/msvc/vs2017/libsodium.import.props +52 -0
- data/vendor/libsodium/builds/msvc/vs2017/libsodium.import.xml +17 -0
- data/vendor/libsodium/builds/msvc/vs2017/libsodium.sln +52 -0
- data/vendor/libsodium/builds/msvc/vs2017/libsodium/libsodium.props +48 -0
- data/vendor/libsodium/builds/msvc/vs2017/libsodium/libsodium.vcxproj +320 -0
- data/vendor/libsodium/builds/msvc/vs2017/libsodium/libsodium.vcxproj.filters +962 -0
- data/vendor/libsodium/builds/msvc/vs2017/libsodium/libsodium.xml +15 -0
- data/vendor/libsodium/configure +1002 -589
- data/vendor/libsodium/configure.ac +48 -21
- data/vendor/libsodium/contrib/Findsodium.cmake +267 -0
- data/vendor/libsodium/contrib/Makefile.am +3 -0
- data/vendor/libsodium/contrib/Makefile.in +483 -0
- data/vendor/libsodium/dist-build/Makefile.in +11 -7
- data/vendor/libsodium/dist-build/android-armv8-a.sh +1 -1
- data/vendor/libsodium/dist-build/android-build.sh +25 -17
- data/vendor/libsodium/dist-build/android-mips32.sh +1 -1
- data/vendor/libsodium/dist-build/android-mips64.sh +1 -1
- data/vendor/libsodium/dist-build/android-x86_64.sh +1 -1
- data/vendor/libsodium/dist-build/emscripten-symbols.def +150 -2
- data/vendor/libsodium/dist-build/emscripten-wasm.sh +132 -0
- data/vendor/libsodium/dist-build/emscripten.sh +8 -6
- data/vendor/libsodium/dist-build/ios.sh +29 -5
- data/vendor/libsodium/libsodium.vcxproj +139 -77
- data/vendor/libsodium/libsodium.vcxproj.filters +315 -144
- data/vendor/libsodium/m4/ax_check_catchable_segv.m4 +42 -0
- data/vendor/libsodium/m4/ax_check_compile_flag.m4 +6 -4
- data/vendor/libsodium/m4/ax_check_define.m4 +3 -3
- data/vendor/libsodium/m4/ax_check_gnu_make.m4 +31 -25
- data/vendor/libsodium/m4/ax_check_link_flag.m4 +8 -6
- data/vendor/libsodium/m4/ax_pthread.m4 +275 -275
- data/vendor/libsodium/m4/ax_valgrind_check.m4 +92 -41
- data/vendor/libsodium/m4/pkg.m4 +1 -1
- data/vendor/libsodium/msvc-scripts/Makefile.in +11 -7
- data/vendor/libsodium/msvc-scripts/process.bat +4 -3
- data/vendor/libsodium/packaging/dotnet-core/README.md +59 -0
- data/vendor/libsodium/packaging/dotnet-core/desktop.targets +16 -0
- data/vendor/libsodium/packaging/dotnet-core/libsodium.props +33 -0
- data/vendor/libsodium/packaging/dotnet-core/prepare.py +262 -0
- data/vendor/libsodium/packaging/dotnet-core/recipes/alpine-x64 +3 -0
- data/vendor/libsodium/packaging/dotnet-core/recipes/build +9 -0
- data/vendor/libsodium/packaging/dotnet-core/recipes/centos-x64 +3 -0
- data/vendor/libsodium/packaging/dotnet-core/recipes/debian-x64 +4 -0
- data/vendor/libsodium/packaging/dotnet-core/recipes/fedora-x64 +3 -0
- data/vendor/libsodium/packaging/dotnet-core/recipes/opensuse-x64 +3 -0
- data/vendor/libsodium/packaging/dotnet-core/recipes/pack +5 -0
- data/vendor/libsodium/packaging/dotnet-core/recipes/test +27 -0
- data/vendor/libsodium/packaging/dotnet-core/recipes/ubuntu-x64 +4 -0
- data/vendor/libsodium/packaging/nuget/package.config +1 -1
- data/vendor/libsodium/packaging/nuget/package.gsl +3 -3
- data/vendor/libsodium/src/Makefile.in +11 -7
- data/vendor/libsodium/src/libsodium/Makefile.am +113 -98
- data/vendor/libsodium/src/libsodium/Makefile.in +1034 -1236
- data/vendor/libsodium/src/libsodium/crypto_aead/aes256gcm/aesni/aead_aes256gcm_aesni.c +31 -12
- data/vendor/libsodium/src/libsodium/crypto_aead/chacha20poly1305/sodium/aead_chacha20poly1305.c +31 -10
- data/vendor/libsodium/src/libsodium/crypto_aead/xchacha20poly1305/sodium/aead_xchacha20poly1305.c +153 -0
- data/vendor/libsodium/src/libsodium/crypto_auth/crypto_auth.c +7 -0
- data/vendor/libsodium/src/libsodium/crypto_auth/hmacsha256/{cp/hmac_hmacsha256.c → auth_hmacsha256.c} +43 -35
- data/vendor/libsodium/src/libsodium/crypto_auth/hmacsha512/{cp/hmac_hmacsha512.c → auth_hmacsha512.c} +43 -35
- data/vendor/libsodium/src/libsodium/crypto_auth/hmacsha512256/{cp/hmac_hmacsha512256.c → auth_hmacsha512256.c} +48 -9
- data/vendor/libsodium/src/libsodium/crypto_box/crypto_box_easy.c +4 -3
- data/vendor/libsodium/src/libsodium/crypto_box/crypto_box_seal.c +2 -1
- data/vendor/libsodium/src/libsodium/crypto_box/curve25519xchacha20poly1305/box_curve25519xchacha20poly1305.c +197 -0
- data/vendor/libsodium/src/libsodium/crypto_box/curve25519xchacha20poly1305/box_seal_curve25519xchacha20poly1305.c +79 -0
- data/vendor/libsodium/src/libsodium/crypto_box/curve25519xsalsa20poly1305/box_curve25519xsalsa20poly1305.c +150 -0
- data/vendor/libsodium/src/libsodium/crypto_core/curve25519/ref10/curve25519_ref10.c +1156 -662
- data/vendor/libsodium/src/libsodium/crypto_core/hchacha20/core_hchacha20.c +12 -5
- data/vendor/libsodium/src/libsodium/crypto_core/hsalsa20/{core_hsalsa20_api.c → core_hsalsa20.c} +0 -0
- data/vendor/libsodium/src/libsodium/crypto_core/hsalsa20/ref2/core_hsalsa20_ref2.c +95 -0
- data/vendor/libsodium/src/libsodium/crypto_core/salsa/ref/core_salsa_ref.c +195 -0
- data/vendor/libsodium/src/libsodium/crypto_generichash/{blake2/generichash_blake2_api.c → blake2b/generichash_blake2.c} +7 -0
- data/vendor/libsodium/src/libsodium/crypto_generichash/blake2b/ref/blake2.h +109 -0
- data/vendor/libsodium/src/libsodium/crypto_generichash/blake2b/ref/blake2b-compress-avx2.c +49 -0
- data/vendor/libsodium/src/libsodium/crypto_generichash/blake2b/ref/blake2b-compress-avx2.h +140 -0
- data/vendor/libsodium/src/libsodium/crypto_generichash/blake2b/ref/blake2b-compress-ref.c +92 -0
- data/vendor/libsodium/src/libsodium/crypto_generichash/blake2b/ref/blake2b-compress-sse41.c +87 -0
- data/vendor/libsodium/src/libsodium/crypto_generichash/blake2b/ref/blake2b-compress-sse41.h +103 -0
- data/vendor/libsodium/src/libsodium/crypto_generichash/blake2b/ref/blake2b-compress-ssse3.c +90 -0
- data/vendor/libsodium/src/libsodium/crypto_generichash/blake2b/ref/blake2b-compress-ssse3.h +103 -0
- data/vendor/libsodium/src/libsodium/crypto_generichash/blake2b/ref/blake2b-load-avx2.h +340 -0
- data/vendor/libsodium/src/libsodium/crypto_generichash/blake2b/ref/blake2b-load-sse2.h +164 -0
- data/vendor/libsodium/src/libsodium/crypto_generichash/blake2b/ref/blake2b-load-sse41.h +307 -0
- data/vendor/libsodium/src/libsodium/crypto_generichash/blake2b/ref/blake2b-ref.c +494 -0
- data/vendor/libsodium/src/libsodium/crypto_generichash/{blake2 → blake2b}/ref/generichash_blake2b.c +22 -26
- data/vendor/libsodium/src/libsodium/crypto_generichash/crypto_generichash.c +7 -0
- data/vendor/libsodium/src/libsodium/crypto_hash/sha256/cp/hash_sha256_cp.c +254 -0
- data/vendor/libsodium/src/libsodium/crypto_hash/sha256/{hash_sha256_api.c → hash_sha256.c} +4 -2
- data/vendor/libsodium/src/libsodium/crypto_hash/sha512/cp/hash_sha512_cp.c +280 -0
- data/vendor/libsodium/src/libsodium/crypto_hash/sha512/{hash_sha512_api.c → hash_sha512.c} +4 -2
- data/vendor/libsodium/src/libsodium/crypto_kdf/blake2b/kdf_blake2b.c +52 -0
- data/vendor/libsodium/src/libsodium/crypto_kdf/crypto_kdf.c +49 -0
- data/vendor/libsodium/src/libsodium/crypto_kx/crypto_kx.c +136 -0
- data/vendor/libsodium/src/libsodium/crypto_onetimeauth/crypto_onetimeauth.c +6 -0
- data/vendor/libsodium/src/libsodium/crypto_onetimeauth/poly1305/donna/poly1305_donna.c +34 -27
- data/vendor/libsodium/src/libsodium/crypto_onetimeauth/poly1305/donna/poly1305_donna.h +1 -1
- data/vendor/libsodium/src/libsodium/crypto_onetimeauth/poly1305/donna/poly1305_donna32.h +203 -156
- data/vendor/libsodium/src/libsodium/crypto_onetimeauth/poly1305/donna/poly1305_donna64.h +178 -134
- data/vendor/libsodium/src/libsodium/crypto_onetimeauth/poly1305/onetimeauth_poly1305.c +22 -4
- data/vendor/libsodium/src/libsodium/crypto_onetimeauth/poly1305/onetimeauth_poly1305.h +10 -12
- data/vendor/libsodium/src/libsodium/crypto_onetimeauth/poly1305/sse2/poly1305_sse2.c +564 -315
- data/vendor/libsodium/src/libsodium/crypto_onetimeauth/poly1305/sse2/poly1305_sse2.h +1 -1
- data/vendor/libsodium/src/libsodium/crypto_pwhash/argon2/argon2-core.c +131 -84
- data/vendor/libsodium/src/libsodium/crypto_pwhash/argon2/argon2-core.h +23 -18
- data/vendor/libsodium/src/libsodium/crypto_pwhash/argon2/argon2-encoding.c +163 -145
- data/vendor/libsodium/src/libsodium/crypto_pwhash/argon2/argon2-encoding.h +2 -1
- data/vendor/libsodium/src/libsodium/crypto_pwhash/argon2/argon2-fill-block-avx2.c +247 -0
- data/vendor/libsodium/src/libsodium/crypto_pwhash/argon2/argon2-fill-block-ref.c +42 -29
- data/vendor/libsodium/src/libsodium/crypto_pwhash/argon2/argon2-fill-block-ssse3.c +71 -47
- data/vendor/libsodium/src/libsodium/crypto_pwhash/argon2/argon2.c +100 -65
- data/vendor/libsodium/src/libsodium/crypto_pwhash/argon2/argon2.h +77 -23
- data/vendor/libsodium/src/libsodium/crypto_pwhash/argon2/blake2b-long.c +30 -31
- data/vendor/libsodium/src/libsodium/crypto_pwhash/argon2/blamka-round-avx2.h +150 -0
- data/vendor/libsodium/src/libsodium/crypto_pwhash/argon2/blamka-round-ref.h +28 -26
- data/vendor/libsodium/src/libsodium/crypto_pwhash/argon2/blamka-round-ssse3.h +102 -99
- data/vendor/libsodium/src/libsodium/crypto_pwhash/argon2/pwhash_argon2i.c +90 -41
- data/vendor/libsodium/src/libsodium/crypto_pwhash/argon2/pwhash_argon2id.c +213 -0
- data/vendor/libsodium/src/libsodium/crypto_pwhash/crypto_pwhash.c +72 -4
- data/vendor/libsodium/src/libsodium/crypto_pwhash/scryptsalsa208sha256/crypto_scrypt-common.c +34 -37
- data/vendor/libsodium/src/libsodium/crypto_pwhash/scryptsalsa208sha256/crypto_scrypt.h +27 -32
- data/vendor/libsodium/src/libsodium/crypto_pwhash/scryptsalsa208sha256/nosse/pwhash_scryptsalsa208sha256_nosse.c +120 -86
- data/vendor/libsodium/src/libsodium/crypto_pwhash/scryptsalsa208sha256/pbkdf2-sha256.c +16 -13
- data/vendor/libsodium/src/libsodium/crypto_pwhash/scryptsalsa208sha256/pbkdf2-sha256.h +4 -4
- data/vendor/libsodium/src/libsodium/crypto_pwhash/scryptsalsa208sha256/pwhash_scryptsalsa208sha256.c +98 -50
- data/vendor/libsodium/src/libsodium/crypto_pwhash/scryptsalsa208sha256/scrypt_platform.c +23 -18
- data/vendor/libsodium/src/libsodium/crypto_pwhash/scryptsalsa208sha256/sse/pwhash_scryptsalsa208sha256_sse.c +105 -105
- data/vendor/libsodium/src/libsodium/crypto_scalarmult/curve25519/donna_c64/curve25519_donna_c64.c +395 -330
- data/vendor/libsodium/src/libsodium/crypto_scalarmult/curve25519/ref10/x25519_ref10.c +225 -198
- data/vendor/libsodium/src/libsodium/crypto_secretbox/crypto_secretbox.c +7 -0
- data/vendor/libsodium/src/libsodium/crypto_secretbox/crypto_secretbox_easy.c +6 -5
- data/vendor/libsodium/src/libsodium/crypto_secretbox/xchacha20poly1305/secretbox_xchacha20poly1305.c +170 -0
- data/vendor/libsodium/src/libsodium/crypto_secretbox/xsalsa20poly1305/secretbox_xsalsa20poly1305.c +83 -0
- data/vendor/libsodium/src/libsodium/crypto_shorthash/crypto_shorthash.c +7 -0
- data/vendor/libsodium/src/libsodium/crypto_shorthash/siphash24/ref/shorthash_siphash24_ref.c +65 -0
- data/vendor/libsodium/src/libsodium/crypto_shorthash/siphash24/ref/shorthash_siphash_ref.h +24 -0
- data/vendor/libsodium/src/libsodium/crypto_shorthash/siphash24/ref/shorthash_siphashx24_ref.c +71 -0
- data/vendor/libsodium/src/libsodium/crypto_shorthash/siphash24/{shorthash_siphash24_api.c → shorthash_siphash24.c} +0 -0
- data/vendor/libsodium/src/libsodium/crypto_shorthash/siphash24/shorthash_siphashx24.c +11 -0
- data/vendor/libsodium/src/libsodium/crypto_sign/crypto_sign.c +33 -0
- data/vendor/libsodium/src/libsodium/crypto_sign/ed25519/ref10/ed25519_ref10.h +18 -0
- data/vendor/libsodium/src/libsodium/crypto_sign/ed25519/ref10/keypair.c +18 -13
- data/vendor/libsodium/src/libsodium/crypto_sign/ed25519/ref10/obsolete.c +29 -26
- data/vendor/libsodium/src/libsodium/crypto_sign/ed25519/ref10/open.c +75 -36
- data/vendor/libsodium/src/libsodium/crypto_sign/ed25519/ref10/sign.c +39 -15
- data/vendor/libsodium/src/libsodium/crypto_sign/ed25519/sign_ed25519.c +91 -0
- data/vendor/libsodium/src/libsodium/crypto_stream/aes128ctr/nacl/afternm_aes128ctr.c +174 -0
- data/vendor/libsodium/src/libsodium/crypto_stream/aes128ctr/nacl/beforenm_aes128ctr.c +66 -0
- data/vendor/libsodium/src/libsodium/crypto_stream/aes128ctr/nacl/common.h +766 -0
- data/vendor/libsodium/src/libsodium/crypto_stream/aes128ctr/nacl/consts.h +28 -0
- data/vendor/libsodium/src/libsodium/crypto_stream/aes128ctr/nacl/consts_aes128ctr.c +28 -0
- data/vendor/libsodium/src/libsodium/crypto_stream/aes128ctr/nacl/int128.h +50 -0
- data/vendor/libsodium/src/libsodium/crypto_stream/aes128ctr/nacl/int128_aes128ctr.c +149 -0
- data/vendor/libsodium/src/libsodium/crypto_stream/aes128ctr/nacl/stream_aes128ctr_nacl.c +31 -0
- data/vendor/libsodium/src/libsodium/crypto_stream/aes128ctr/nacl/xor_afternm_aes128ctr.c +195 -0
- data/vendor/libsodium/src/libsodium/crypto_stream/aes128ctr/{stream_aes128ctr_api.c → stream_aes128ctr.c} +6 -3
- data/vendor/libsodium/src/libsodium/crypto_stream/chacha20/dolbeau/chacha20_dolbeau-avx2.c +179 -0
- data/vendor/libsodium/src/libsodium/crypto_stream/chacha20/dolbeau/chacha20_dolbeau-avx2.h +8 -0
- data/vendor/libsodium/src/libsodium/crypto_stream/chacha20/dolbeau/chacha20_dolbeau-ssse3.c +173 -0
- data/vendor/libsodium/src/libsodium/crypto_stream/chacha20/dolbeau/chacha20_dolbeau-ssse3.h +8 -0
- data/vendor/libsodium/src/libsodium/crypto_stream/chacha20/dolbeau/u0.h +86 -0
- data/vendor/libsodium/src/libsodium/crypto_stream/chacha20/dolbeau/u1.h +98 -0
- data/vendor/libsodium/src/libsodium/crypto_stream/chacha20/dolbeau/u4.h +175 -0
- data/vendor/libsodium/src/libsodium/crypto_stream/chacha20/dolbeau/u8.h +357 -0
- data/vendor/libsodium/src/libsodium/crypto_stream/chacha20/ref/{stream_chacha20_ref.c → chacha20_ref.c} +93 -94
- data/vendor/libsodium/src/libsodium/crypto_stream/chacha20/ref/chacha20_ref.h +8 -0
- data/vendor/libsodium/src/libsodium/crypto_stream/chacha20/stream_chacha20.c +39 -7
- data/vendor/libsodium/src/libsodium/crypto_stream/crypto_stream.c +7 -0
- data/vendor/libsodium/src/libsodium/crypto_stream/salsa20/ref/salsa20_ref.c +120 -0
- data/vendor/libsodium/src/libsodium/crypto_stream/salsa20/ref/salsa20_ref.h +8 -0
- data/vendor/libsodium/src/libsodium/crypto_stream/salsa20/stream_salsa20.c +93 -0
- data/vendor/libsodium/src/libsodium/crypto_stream/salsa20/stream_salsa20.h +16 -0
- data/vendor/libsodium/src/libsodium/crypto_stream/salsa20/{amd64_xmm6/stream_salsa20_amd64_xmm6.S → xmm6/salsa20_xmm6-asm.S} +20 -12
- data/vendor/libsodium/src/libsodium/crypto_stream/salsa20/xmm6/salsa20_xmm6.c +31 -0
- data/vendor/libsodium/src/libsodium/crypto_stream/salsa20/xmm6/salsa20_xmm6.h +8 -0
- data/vendor/libsodium/src/libsodium/crypto_stream/salsa20/xmm6int/salsa20_xmm6int-avx2.c +131 -0
- data/vendor/libsodium/src/libsodium/crypto_stream/salsa20/xmm6int/salsa20_xmm6int-avx2.h +8 -0
- data/vendor/libsodium/src/libsodium/crypto_stream/salsa20/xmm6int/salsa20_xmm6int-sse2.c +122 -0
- data/vendor/libsodium/src/libsodium/crypto_stream/salsa20/xmm6int/salsa20_xmm6int-sse2.h +8 -0
- data/vendor/libsodium/src/libsodium/crypto_stream/salsa20/xmm6int/u0.h +195 -0
- data/vendor/libsodium/src/libsodium/crypto_stream/salsa20/xmm6int/u1.h +207 -0
- data/vendor/libsodium/src/libsodium/crypto_stream/salsa20/xmm6int/u4.h +547 -0
- data/vendor/libsodium/src/libsodium/crypto_stream/salsa20/xmm6int/u8.h +476 -0
- data/vendor/libsodium/src/libsodium/crypto_stream/salsa2012/ref/stream_salsa2012_ref.c +106 -0
- data/vendor/libsodium/src/libsodium/crypto_stream/salsa2012/stream_salsa2012.c +20 -0
- data/vendor/libsodium/src/libsodium/crypto_stream/salsa208/ref/stream_salsa208_ref.c +106 -0
- data/vendor/libsodium/src/libsodium/crypto_stream/salsa208/stream_salsa208.c +20 -0
- data/vendor/libsodium/src/libsodium/crypto_stream/xchacha20/stream_xchacha20.c +63 -0
- data/vendor/libsodium/src/libsodium/crypto_stream/xsalsa20/stream_xsalsa20.c +60 -0
- data/vendor/libsodium/src/libsodium/crypto_verify/sodium/verify.c +61 -0
- data/vendor/libsodium/src/libsodium/include/Makefile.am +8 -6
- data/vendor/libsodium/src/libsodium/include/Makefile.in +29 -21
- data/vendor/libsodium/src/libsodium/include/sodium.h +15 -4
- data/vendor/libsodium/src/libsodium/include/sodium/crypto_aead_aes256gcm.h +4 -0
- data/vendor/libsodium/src/libsodium/include/sodium/crypto_aead_chacha20poly1305.h +6 -0
- data/vendor/libsodium/src/libsodium/include/sodium/crypto_aead_xchacha20poly1305.h +91 -0
- data/vendor/libsodium/src/libsodium/include/sodium/crypto_auth.h +3 -0
- data/vendor/libsodium/src/libsodium/include/sodium/crypto_auth_hmacsha256.h +5 -0
- data/vendor/libsodium/src/libsodium/include/sodium/crypto_auth_hmacsha512.h +4 -0
- data/vendor/libsodium/src/libsodium/include/sodium/crypto_auth_hmacsha512256.h +4 -0
- data/vendor/libsodium/src/libsodium/include/sodium/crypto_box_curve25519xchacha20poly1305.h +153 -0
- data/vendor/libsodium/src/libsodium/include/sodium/crypto_generichash.h +4 -0
- data/vendor/libsodium/src/libsodium/include/sodium/crypto_generichash_blake2b.h +3 -4
- data/vendor/libsodium/src/libsodium/include/sodium/crypto_hash_sha256.h +4 -3
- data/vendor/libsodium/src/libsodium/include/sodium/crypto_hash_sha512.h +4 -3
- data/vendor/libsodium/src/libsodium/include/sodium/crypto_kdf.h +51 -0
- data/vendor/libsodium/src/libsodium/include/sodium/crypto_kdf_blake2b.h +42 -0
- data/vendor/libsodium/src/libsodium/include/sodium/crypto_kx.h +64 -0
- data/vendor/libsodium/src/libsodium/include/sodium/crypto_onetimeauth.h +4 -0
- data/vendor/libsodium/src/libsodium/include/sodium/crypto_onetimeauth_poly1305.h +11 -9
- data/vendor/libsodium/src/libsodium/include/sodium/crypto_pwhash.h +37 -1
- data/vendor/libsodium/src/libsodium/include/sodium/crypto_pwhash_argon2i.h +40 -10
- data/vendor/libsodium/src/libsodium/include/sodium/crypto_pwhash_argon2id.h +116 -0
- data/vendor/libsodium/src/libsodium/include/sodium/crypto_pwhash_scryptsalsa208sha256.h +37 -4
- data/vendor/libsodium/src/libsodium/include/sodium/crypto_scalarmult_curve25519.h +0 -4
- data/vendor/libsodium/src/libsodium/include/sodium/crypto_secretbox.h +3 -0
- data/vendor/libsodium/src/libsodium/include/sodium/crypto_secretbox_xchacha20poly1305.h +62 -0
- data/vendor/libsodium/src/libsodium/include/sodium/crypto_secretbox_xsalsa20poly1305.h +5 -1
- data/vendor/libsodium/src/libsodium/include/sodium/crypto_shorthash.h +3 -0
- data/vendor/libsodium/src/libsodium/include/sodium/crypto_shorthash_siphash24.h +18 -0
- data/vendor/libsodium/src/libsodium/include/sodium/crypto_sign.h +22 -0
- data/vendor/libsodium/src/libsodium/include/sodium/crypto_sign_ed25519.h +28 -0
- data/vendor/libsodium/src/libsodium/include/sodium/crypto_stream.h +3 -0
- data/vendor/libsodium/src/libsodium/include/sodium/crypto_stream_aes128ctr.h +10 -5
- data/vendor/libsodium/src/libsodium/include/sodium/crypto_stream_chacha20.h +14 -3
- data/vendor/libsodium/src/libsodium/include/sodium/crypto_stream_salsa20.h +4 -0
- data/vendor/libsodium/src/libsodium/include/sodium/crypto_stream_salsa2012.h +3 -0
- data/vendor/libsodium/src/libsodium/include/sodium/crypto_stream_salsa208.h +3 -0
- data/vendor/libsodium/src/libsodium/include/sodium/crypto_stream_xchacha20.h +53 -0
- data/vendor/libsodium/src/libsodium/include/sodium/crypto_stream_xsalsa20.h +4 -0
- data/vendor/libsodium/src/libsodium/include/sodium/private/common.h +84 -17
- data/vendor/libsodium/src/libsodium/include/sodium/private/implementations.h +11 -0
- data/vendor/libsodium/src/libsodium/include/sodium/private/sse2_64_32.h +50 -0
- data/vendor/libsodium/src/libsodium/include/sodium/randombytes.h +10 -2
- data/vendor/libsodium/src/libsodium/include/sodium/utils.h +4 -5
- data/vendor/libsodium/src/libsodium/include/sodium/version.h.in +4 -0
- data/vendor/libsodium/src/libsodium/randombytes/randombytes.c +47 -19
- data/vendor/libsodium/src/libsodium/randombytes/salsa20/randombytes_salsa20_random.c +30 -50
- data/vendor/libsodium/src/libsodium/randombytes/sysrandom/randombytes_sysrandom.c +25 -15
- data/vendor/libsodium/src/libsodium/sodium/core.c +25 -23
- data/vendor/libsodium/src/libsodium/sodium/runtime.c +66 -57
- data/vendor/libsodium/src/libsodium/sodium/utils.c +120 -106
- data/vendor/libsodium/src/libsodium/sodium/version.c +10 -0
- data/vendor/libsodium/test/Makefile.in +11 -7
- data/vendor/libsodium/test/default/Makefile.am +65 -5
- data/vendor/libsodium/test/default/Makefile.in +243 -78
- data/vendor/libsodium/test/default/aead_aes256gcm.c +2 -2
- data/vendor/libsodium/test/default/aead_xchacha20poly1305.c +188 -0
- data/vendor/libsodium/test/default/aead_xchacha20poly1305.exp +51 -0
- data/vendor/libsodium/test/default/auth.c +11 -7
- data/vendor/libsodium/test/default/auth2.c +15 -12
- data/vendor/libsodium/test/default/auth3.c +18 -15
- data/vendor/libsodium/test/default/auth5.c +3 -2
- data/vendor/libsodium/test/default/auth6.c +4 -3
- data/vendor/libsodium/test/default/auth7.c +3 -2
- data/vendor/libsodium/test/default/box.c +57 -52
- data/vendor/libsodium/test/default/box2.c +41 -36
- data/vendor/libsodium/test/default/box7.c +4 -3
- data/vendor/libsodium/test/default/box8.c +4 -3
- data/vendor/libsodium/test/default/box_easy.c +36 -32
- data/vendor/libsodium/test/default/box_easy2.c +41 -34
- data/vendor/libsodium/test/default/box_seal.c +7 -6
- data/vendor/libsodium/test/default/box_seed.c +10 -8
- data/vendor/libsodium/test/default/chacha20.c +18 -3
- data/vendor/libsodium/test/default/chacha20.exp +45 -0
- data/vendor/libsodium/test/default/cmptest.h +1 -0
- data/vendor/libsodium/test/default/core1.c +10 -9
- data/vendor/libsodium/test/default/core2.c +13 -12
- data/vendor/libsodium/test/default/core3.c +13 -12
- data/vendor/libsodium/test/default/core4.c +11 -12
- data/vendor/libsodium/test/default/core5.c +13 -12
- data/vendor/libsodium/test/default/core6.c +15 -13
- data/vendor/libsodium/test/default/ed25519_convert.c +12 -9
- data/vendor/libsodium/test/default/hash.c +10 -6
- data/vendor/libsodium/test/default/hash3.c +3 -2
- data/vendor/libsodium/test/default/index-wasm.html.tpl +118 -0
- data/vendor/libsodium/test/default/kdf.c +61 -0
- data/vendor/libsodium/test/default/kdf.exp +77 -0
- data/vendor/libsodium/test/default/keygen.c +64 -0
- data/vendor/libsodium/test/default/keygen.exp +1 -0
- data/vendor/libsodium/test/default/kx.c +119 -0
- data/vendor/libsodium/test/default/kx.exp +7 -0
- data/vendor/libsodium/test/default/nacl-test-wrapper.sh +9 -2
- data/vendor/libsodium/test/default/onetimeauth.c +26 -23
- data/vendor/libsodium/test/default/onetimeauth2.c +22 -20
- data/vendor/libsodium/test/default/onetimeauth7.c +3 -2
- data/vendor/libsodium/test/default/pwhash.c +209 -157
- data/vendor/libsodium/test/default/pwhash_argon2id.c +388 -0
- data/vendor/libsodium/test/default/pwhash_argon2id.exp +15 -0
- data/vendor/libsodium/test/default/pwhash_scrypt.c +232 -224
- data/vendor/libsodium/test/default/pwhash_scrypt.exp +2 -1
- data/vendor/libsodium/test/default/pwhash_scrypt_ll.c +39 -41
- data/vendor/libsodium/test/default/randombytes.c +34 -13
- data/vendor/libsodium/test/default/randombytes.exp +1 -0
- data/vendor/libsodium/test/default/scalarmult.c +21 -18
- data/vendor/libsodium/test/default/scalarmult2.c +8 -6
- data/vendor/libsodium/test/default/scalarmult5.c +13 -10
- data/vendor/libsodium/test/default/scalarmult6.c +17 -14
- data/vendor/libsodium/test/default/scalarmult7.c +9 -10
- data/vendor/libsodium/test/default/secretbox.c +39 -36
- data/vendor/libsodium/test/default/secretbox2.c +28 -25
- data/vendor/libsodium/test/default/secretbox7.c +3 -2
- data/vendor/libsodium/test/default/secretbox8.c +4 -3
- data/vendor/libsodium/test/default/secretbox_easy.c +40 -37
- data/vendor/libsodium/test/default/secretbox_easy2.c +19 -18
- data/vendor/libsodium/test/default/shorthash.c +4 -4
- data/vendor/libsodium/test/default/sign.c +70 -13
- data/vendor/libsodium/test/default/sign.exp +2 -0
- data/vendor/libsodium/test/default/siphashx24.c +33 -0
- data/vendor/libsodium/test/default/siphashx24.exp +64 -0
- data/vendor/libsodium/test/default/sodium_core.c +9 -8
- data/vendor/libsodium/test/default/sodium_utils.c +52 -46
- data/vendor/libsodium/test/default/sodium_utils2.c +17 -8
- data/vendor/libsodium/test/default/sodium_utils3.c +15 -6
- data/vendor/libsodium/test/default/sodium_version.c +7 -1
- data/vendor/libsodium/test/default/stream.c +31 -18
- data/vendor/libsodium/test/default/stream.exp +65 -0
- data/vendor/libsodium/test/default/stream2.c +13 -9
- data/vendor/libsodium/test/default/stream3.c +12 -10
- data/vendor/libsodium/test/default/stream4.c +30 -27
- data/vendor/libsodium/test/default/verify1.c +5 -4
- data/vendor/libsodium/test/default/xchacha20.c +376 -0
- data/vendor/libsodium/test/default/xchacha20.exp +5 -0
- data/vendor/libsodium/test/quirks/quirks.h +4 -3
- metadata +140 -111
- data/vendor/libsodium/autom4te.cache/output.3 +0 -17240
- data/vendor/libsodium/autom4te.cache/output.4 +0 -17517
- data/vendor/libsodium/autom4te.cache/output.5 +0 -18535
- data/vendor/libsodium/autom4te.cache/output.6 +0 -19077
- data/vendor/libsodium/autom4te.cache/output.7 +0 -19837
- data/vendor/libsodium/autom4te.cache/traces.3 +0 -2833
- data/vendor/libsodium/autom4te.cache/traces.4 +0 -2951
- data/vendor/libsodium/autom4te.cache/traces.5 +0 -3042
- data/vendor/libsodium/autom4te.cache/traces.6 +0 -3194
- data/vendor/libsodium/autom4te.cache/traces.7 +0 -3614
- data/vendor/libsodium/builds/msvc/properties/ARM.props +0 -20
- data/vendor/libsodium/compile +0 -347
- data/vendor/libsodium/config.guess +0 -1568
- data/vendor/libsodium/config.sub +0 -1793
- data/vendor/libsodium/depcomp +0 -791
- data/vendor/libsodium/install-sh +0 -527
- data/vendor/libsodium/ltmain.sh +0 -9655
- data/vendor/libsodium/missing +0 -215
- data/vendor/libsodium/src/libsodium/crypto_auth/hmacsha256/auth_hmacsha256_api.c +0 -16
- data/vendor/libsodium/src/libsodium/crypto_auth/hmacsha256/cp/verify_hmacsha256.c +0 -11
- data/vendor/libsodium/src/libsodium/crypto_auth/hmacsha512/auth_hmacsha512_api.c +0 -16
- data/vendor/libsodium/src/libsodium/crypto_auth/hmacsha512/cp/verify_hmacsha512.c +0 -12
- data/vendor/libsodium/src/libsodium/crypto_auth/hmacsha512256/auth_hmacsha512256_api.c +0 -16
- data/vendor/libsodium/src/libsodium/crypto_auth/hmacsha512256/cp/verify_hmacsha512256.c +0 -14
- data/vendor/libsodium/src/libsodium/crypto_box/curve25519xsalsa20poly1305/box_curve25519xsalsa20poly1305_api.c +0 -41
- data/vendor/libsodium/src/libsodium/crypto_box/curve25519xsalsa20poly1305/ref/after_curve25519xsalsa20poly1305.c +0 -22
- data/vendor/libsodium/src/libsodium/crypto_box/curve25519xsalsa20poly1305/ref/before_curve25519xsalsa20poly1305.c +0 -18
- data/vendor/libsodium/src/libsodium/crypto_box/curve25519xsalsa20poly1305/ref/box_curve25519xsalsa20poly1305.c +0 -42
- data/vendor/libsodium/src/libsodium/crypto_box/curve25519xsalsa20poly1305/ref/keypair_curve25519xsalsa20poly1305.c +0 -29
- data/vendor/libsodium/src/libsodium/crypto_core/hchacha20/core_hchacha20.h +0 -28
- data/vendor/libsodium/src/libsodium/crypto_core/hsalsa20/ref2/core_hsalsa20.c +0 -100
- data/vendor/libsodium/src/libsodium/crypto_core/salsa20/core_salsa20_api.c +0 -21
- data/vendor/libsodium/src/libsodium/crypto_core/salsa20/ref/core_salsa20.c +0 -126
- data/vendor/libsodium/src/libsodium/crypto_core/salsa2012/core_salsa2012_api.c +0 -21
- data/vendor/libsodium/src/libsodium/crypto_core/salsa2012/ref/core_salsa2012.c +0 -126
- data/vendor/libsodium/src/libsodium/crypto_core/salsa208/core_salsa208_api.c +0 -21
- data/vendor/libsodium/src/libsodium/crypto_core/salsa208/ref/core_salsa208.c +0 -126
- data/vendor/libsodium/src/libsodium/crypto_generichash/blake2/ref/blake2-impl.h +0 -48
- data/vendor/libsodium/src/libsodium/crypto_generichash/blake2/ref/blake2.h +0 -97
- data/vendor/libsodium/src/libsodium/crypto_generichash/blake2/ref/blake2b-compress-avx2.c +0 -45
- data/vendor/libsodium/src/libsodium/crypto_generichash/blake2/ref/blake2b-compress-avx2.h +0 -123
- data/vendor/libsodium/src/libsodium/crypto_generichash/blake2/ref/blake2b-compress-ref.c +0 -94
- data/vendor/libsodium/src/libsodium/crypto_generichash/blake2/ref/blake2b-compress-sse41.c +0 -80
- data/vendor/libsodium/src/libsodium/crypto_generichash/blake2/ref/blake2b-compress-sse41.h +0 -97
- data/vendor/libsodium/src/libsodium/crypto_generichash/blake2/ref/blake2b-compress-ssse3.c +0 -87
- data/vendor/libsodium/src/libsodium/crypto_generichash/blake2/ref/blake2b-compress-ssse3.h +0 -97
- data/vendor/libsodium/src/libsodium/crypto_generichash/blake2/ref/blake2b-load-avx2.h +0 -339
- data/vendor/libsodium/src/libsodium/crypto_generichash/blake2/ref/blake2b-load-sse2.h +0 -66
- data/vendor/libsodium/src/libsodium/crypto_generichash/blake2/ref/blake2b-load-sse41.h +0 -400
- data/vendor/libsodium/src/libsodium/crypto_generichash/blake2/ref/blake2b-ref.c +0 -456
- data/vendor/libsodium/src/libsodium/crypto_hash/sha256/cp/hash_sha256.c +0 -269
- data/vendor/libsodium/src/libsodium/crypto_hash/sha512/cp/hash_sha512.c +0 -298
- data/vendor/libsodium/src/libsodium/crypto_pwhash/argon2/argon2-impl.h +0 -40
- data/vendor/libsodium/src/libsodium/crypto_secretbox/xsalsa20poly1305/ref/box_xsalsa20poly1305.c +0 -35
- data/vendor/libsodium/src/libsodium/crypto_secretbox/xsalsa20poly1305/secretbox_xsalsa20poly1305_api.c +0 -26
- data/vendor/libsodium/src/libsodium/crypto_shorthash/siphash24/ref/shorthash_siphash24.c +0 -72
- data/vendor/libsodium/src/libsodium/crypto_sign/ed25519/description +0 -1
- data/vendor/libsodium/src/libsodium/crypto_sign/ed25519/sign_ed25519_api.c +0 -39
- data/vendor/libsodium/src/libsodium/crypto_stream/aes128ctr/portable/afternm_aes128ctr.c +0 -159
- data/vendor/libsodium/src/libsodium/crypto_stream/aes128ctr/portable/beforenm_aes128ctr.c +0 -59
- data/vendor/libsodium/src/libsodium/crypto_stream/aes128ctr/portable/common.h +0 -771
- data/vendor/libsodium/src/libsodium/crypto_stream/aes128ctr/portable/consts.h +0 -28
- data/vendor/libsodium/src/libsodium/crypto_stream/aes128ctr/portable/consts_aes128ctr.c +0 -14
- data/vendor/libsodium/src/libsodium/crypto_stream/aes128ctr/portable/int128.h +0 -56
- data/vendor/libsodium/src/libsodium/crypto_stream/aes128ctr/portable/int128_aes128ctr.c +0 -131
- data/vendor/libsodium/src/libsodium/crypto_stream/aes128ctr/portable/stream_aes128ctr.c +0 -29
- data/vendor/libsodium/src/libsodium/crypto_stream/aes128ctr/portable/types.h +0 -10
- data/vendor/libsodium/src/libsodium/crypto_stream/aes128ctr/portable/xor_afternm_aes128ctr.c +0 -180
- data/vendor/libsodium/src/libsodium/crypto_stream/chacha20/ref/stream_chacha20_ref.h +0 -28
- data/vendor/libsodium/src/libsodium/crypto_stream/chacha20/vec/stream_chacha20_vec.c +0 -336
- data/vendor/libsodium/src/libsodium/crypto_stream/chacha20/vec/stream_chacha20_vec.h +0 -28
- data/vendor/libsodium/src/libsodium/crypto_stream/salsa20/ref/stream_salsa20_ref.c +0 -55
- data/vendor/libsodium/src/libsodium/crypto_stream/salsa20/ref/xor_salsa20_ref.c +0 -63
- data/vendor/libsodium/src/libsodium/crypto_stream/salsa20/stream_salsa20_api.c +0 -19
- data/vendor/libsodium/src/libsodium/crypto_stream/salsa2012/ref/stream_salsa2012.c +0 -51
- data/vendor/libsodium/src/libsodium/crypto_stream/salsa2012/ref/xor_salsa2012.c +0 -54
- data/vendor/libsodium/src/libsodium/crypto_stream/salsa2012/stream_salsa2012_api.c +0 -11
- data/vendor/libsodium/src/libsodium/crypto_stream/salsa208/ref/stream_salsa208.c +0 -51
- data/vendor/libsodium/src/libsodium/crypto_stream/salsa208/ref/xor_salsa208.c +0 -54
- data/vendor/libsodium/src/libsodium/crypto_stream/salsa208/stream_salsa208_api.c +0 -11
- data/vendor/libsodium/src/libsodium/crypto_stream/xsalsa20/ref/stream_xsalsa20.c +0 -24
- data/vendor/libsodium/src/libsodium/crypto_stream/xsalsa20/ref/xor_xsalsa20.c +0 -35
- data/vendor/libsodium/src/libsodium/crypto_stream/xsalsa20/stream_xsalsa20_api.c +0 -11
- data/vendor/libsodium/src/libsodium/crypto_verify/16/ref/verify_16.c +0 -17
- data/vendor/libsodium/src/libsodium/crypto_verify/16/verify_16_api.c +0 -6
- data/vendor/libsodium/src/libsodium/crypto_verify/32/ref/verify_32.c +0 -17
- data/vendor/libsodium/src/libsodium/crypto_verify/32/verify_32_api.c +0 -6
- data/vendor/libsodium/src/libsodium/crypto_verify/64/ref/verify_64.c +0 -17
- data/vendor/libsodium/src/libsodium/crypto_verify/64/verify_64_api.c +0 -6
- data/vendor/libsodium/src/libsodium/include/sodium/crypto_int32.h +0 -8
- data/vendor/libsodium/src/libsodium/include/sodium/crypto_int64.h +0 -8
- data/vendor/libsodium/src/libsodium/include/sodium/crypto_uint16.h +0 -8
- data/vendor/libsodium/src/libsodium/include/sodium/crypto_uint32.h +0 -8
- data/vendor/libsodium/src/libsodium/include/sodium/crypto_uint64.h +0 -8
- data/vendor/libsodium/src/libsodium/include/sodium/crypto_uint8.h +0 -8
- data/vendor/libsodium/test-driver +0 -139
@@ -0,0 +1,42 @@
|
|
1
|
+
# SYNOPSIS
|
2
|
+
#
|
3
|
+
# AX_CHECK_CATCHABLE_SEGV
|
4
|
+
#
|
5
|
+
# DESCRIPTION
|
6
|
+
#
|
7
|
+
# Check whether segmentation violations can be caught using signal handlers.
|
8
|
+
|
9
|
+
#serial 1
|
10
|
+
|
11
|
+
AC_DEFUN([AX_CHECK_CATCHABLE_SEGV], [dnl
|
12
|
+
AC_PREREQ(2.64)
|
13
|
+
AS_VAR_PUSHDEF([CACHEVAR], [ax_cv_check_[]_AC_LANG_ABBREV[]CATCHABLE_SEGV])dnl
|
14
|
+
AC_CACHE_CHECK([whether segmentation violations can be caught when using the _AC_LANG compiler], CACHEVAR, [
|
15
|
+
AC_RUN_IFELSE([
|
16
|
+
AC_LANG_PROGRAM([[
|
17
|
+
#include <signal.h>
|
18
|
+
#include <stdlib.h>
|
19
|
+
static void sig(int _) { exit(0); }
|
20
|
+
]], [[
|
21
|
+
volatile unsigned char * volatile x = (volatile unsigned char *) malloc(8);
|
22
|
+
size_t i;
|
23
|
+
|
24
|
+
signal(SIGSEGV, sig);
|
25
|
+
signal(SIGBUS, sig);
|
26
|
+
#if !defined(__SANITIZE_ADDRESS__) && !defined(__EMSCRIPTEN__)
|
27
|
+
for (i = 0; i < 10000000; i += 1024) { x[-i] = x[i] = (unsigned char) i; }
|
28
|
+
#endif
|
29
|
+
free((void *) x);
|
30
|
+
exit(1)
|
31
|
+
]])],
|
32
|
+
[AS_VAR_SET(CACHEVAR, [yes])],
|
33
|
+
[AS_VAR_SET(CACHEVAR, [no])],
|
34
|
+
[AS_VAR_SET(CACHEVAR, [unknown])]
|
35
|
+
)
|
36
|
+
])
|
37
|
+
AS_VAR_IF(CACHEVAR, yes,
|
38
|
+
[AC_DEFINE([HAVE_CATCHABLE_SEGV], [1], [Define if segmentation violations can be caught using signal handlers])],
|
39
|
+
[AC_MSG_WARN([On this platform, segmentation violations cannot be caught using signal handlers. This is expected if you enabled a tool such as Address Sanitizer (-fsanitize=address), but be aware that using Address Sanitizer may also significantly reduce performance.])]
|
40
|
+
)
|
41
|
+
AS_VAR_POPDEF([CACHEVAR])dnl
|
42
|
+
])
|
@@ -19,6 +19,8 @@
|
|
19
19
|
# the flags: "CFLAGS EXTRA-FLAGS FLAG". This can for example be used to
|
20
20
|
# force the compiler to issue an error when a bad flag is given.
|
21
21
|
#
|
22
|
+
# INPUT gives an alternative input source to AC_COMPILE_IFELSE.
|
23
|
+
#
|
22
24
|
# NOTE: Implementation based on AX_CFLAGS_GCC_OPTION. Please keep this
|
23
25
|
# macro in sync with AX_CHECK_{PREPROC,LINK}_FLAG.
|
24
26
|
#
|
@@ -38,7 +40,7 @@
|
|
38
40
|
# Public License for more details.
|
39
41
|
#
|
40
42
|
# You should have received a copy of the GNU General Public License along
|
41
|
-
# with this program. If not, see <
|
43
|
+
# with this program. If not, see <https://www.gnu.org/licenses/>.
|
42
44
|
#
|
43
45
|
# As a special exception, the respective Autoconf Macro's copyright owner
|
44
46
|
# gives unlimited permission to copy, distribute and modify the configure
|
@@ -53,7 +55,7 @@
|
|
53
55
|
# modified version of the Autoconf Macro, you may extend this special
|
54
56
|
# exception to the GPL to apply to your modified version as well.
|
55
57
|
|
56
|
-
#serial
|
58
|
+
#serial 5
|
57
59
|
|
58
60
|
AC_DEFUN([AX_CHECK_COMPILE_FLAG],
|
59
61
|
[AC_PREREQ(2.64)dnl for _AC_LANG_PREFIX and AS_VAR_IF
|
@@ -61,8 +63,8 @@ AS_VAR_PUSHDEF([CACHEVAR],[ax_cv_check_[]_AC_LANG_ABBREV[]flags_$4_$1])dnl
|
|
61
63
|
AC_CACHE_CHECK([whether _AC_LANG compiler accepts $1], CACHEVAR, [
|
62
64
|
ax_check_save_flags=$[]_AC_LANG_PREFIX[]FLAGS
|
63
65
|
_AC_LANG_PREFIX[]FLAGS="$[]_AC_LANG_PREFIX[]FLAGS $4 $1"
|
64
|
-
|
65
|
-
|
66
|
+
AC_TRY_LINK([#include <time.h>],
|
67
|
+
[time_t x; int fodder = 0; if (fodder > -1000 && time(&x)) return (int) x],
|
66
68
|
[AS_VAR_SET(CACHEVAR,[yes])],
|
67
69
|
[AS_VAR_SET(CACHEVAR,[no])])
|
68
70
|
_AC_LANG_PREFIX[]FLAGS=$ax_check_save_flags])
|
@@ -1,5 +1,5 @@
|
|
1
1
|
# ===========================================================================
|
2
|
-
#
|
2
|
+
# https://www.gnu.org/software/autoconf-archive/ax_check_define.html
|
3
3
|
# ===========================================================================
|
4
4
|
#
|
5
5
|
# SYNOPSIS
|
@@ -29,7 +29,7 @@
|
|
29
29
|
# Public License for more details.
|
30
30
|
#
|
31
31
|
# You should have received a copy of the GNU General Public License along
|
32
|
-
# with this program. If not, see <
|
32
|
+
# with this program. If not, see <https://www.gnu.org/licenses/>.
|
33
33
|
#
|
34
34
|
# As a special exception, the respective Autoconf Macro's copyright owner
|
35
35
|
# gives unlimited permission to copy, distribute and modify the configure
|
@@ -44,7 +44,7 @@
|
|
44
44
|
# modified version of the Autoconf Macro, you may extend this special
|
45
45
|
# exception to the GPL to apply to your modified version as well.
|
46
46
|
|
47
|
-
#serial
|
47
|
+
#serial 9
|
48
48
|
|
49
49
|
AU_ALIAS([AC_CHECK_DEFINED], [AC_CHECK_DEFINE])
|
50
50
|
AC_DEFUN([AC_CHECK_DEFINE],[
|
@@ -8,12 +8,18 @@
|
|
8
8
|
#
|
9
9
|
# DESCRIPTION
|
10
10
|
#
|
11
|
-
# This macro searches for a GNU version of make. If a match is found
|
12
|
-
#
|
13
|
-
#
|
14
|
-
#
|
15
|
-
#
|
16
|
-
#
|
11
|
+
# This macro searches for a GNU version of make. If a match is found:
|
12
|
+
#
|
13
|
+
# * The makefile variable `ifGNUmake' is set to the empty string, otherwise
|
14
|
+
# it is set to "#". This is useful for including a special features in a
|
15
|
+
# Makefile, which cannot be handled by other versions of make.
|
16
|
+
# * The variable `_cv_gnu_make_command` is set to the command to invoke
|
17
|
+
# GNU make if it exists, the empty string otherwise.
|
18
|
+
# * The variable `ax_cv_gnu_make_command` is set to the command to invoke
|
19
|
+
# GNU make by copying `_cv_gnu_make_command`, otherwise it is unset.
|
20
|
+
# * If GNU Make is found, its version is extracted from the output of
|
21
|
+
# `make --version` as the last field of a record of space-separated
|
22
|
+
# columns and saved into the variable `ax_check_gnu_make_version`.
|
17
23
|
#
|
18
24
|
# Here is an example of its use:
|
19
25
|
#
|
@@ -48,31 +54,31 @@
|
|
48
54
|
# LICENSE
|
49
55
|
#
|
50
56
|
# Copyright (c) 2008 John Darrington <j.darrington@elvis.murdoch.edu.au>
|
57
|
+
# Copyright (c) 2015 Enrico M. Crisostomo <enrico.m.crisostomo@gmail.com>
|
51
58
|
#
|
52
59
|
# Copying and distribution of this file, with or without modification, are
|
53
60
|
# permitted in any medium without royalty provided the copyright notice
|
54
61
|
# and this notice are preserved. This file is offered as-is, without any
|
55
62
|
# warranty.
|
56
63
|
|
57
|
-
#serial
|
64
|
+
#serial 8
|
58
65
|
|
59
|
-
AC_DEFUN([AX_CHECK_GNU_MAKE],
|
60
|
-
|
66
|
+
AC_DEFUN([AX_CHECK_GNU_MAKE],dnl
|
67
|
+
[AC_PROG_AWK
|
68
|
+
AC_CACHE_CHECK([for GNU make],[_cv_gnu_make_command],[dnl
|
69
|
+
_cv_gnu_make_command="" ;
|
61
70
|
dnl Search all the common names for GNU make
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
71
|
+
for a in "$MAKE" make gmake gnumake ; do
|
72
|
+
if test -z "$a" ; then continue ; fi ;
|
73
|
+
if "$a" --version 2> /dev/null | grep GNU 2>&1 > /dev/null ; then
|
74
|
+
_cv_gnu_make_command=$a ;
|
75
|
+
AX_CHECK_GNU_MAKE_HEADLINE=$("$a" --version 2> /dev/null | grep "GNU Make")
|
76
|
+
ax_check_gnu_make_version=$(echo ${AX_CHECK_GNU_MAKE_HEADLINE} | ${AWK} -F " " '{ print $(NF); }')
|
77
|
+
break ;
|
78
|
+
fi
|
79
|
+
done ;])
|
70
80
|
dnl If there was a GNU version, then set @ifGNUmake@ to the empty string, '#' otherwise
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
AC_MSG_RESULT("Not found");
|
76
|
-
fi
|
77
|
-
AC_SUBST(ifGNUmake)
|
78
|
-
] )
|
81
|
+
AS_VAR_IF([_cv_gnu_make_command], [""], [AS_VAR_SET([ifGNUmake], ["#"])], [AS_VAR_SET([ifGNUmake], [""])])
|
82
|
+
AS_VAR_IF([_cv_gnu_make_command], [""], [AS_UNSET(ax_cv_gnu_make_command)], [AS_VAR_SET([ax_cv_gnu_make_command], [${_cv_gnu_make_command}])])
|
83
|
+
AC_SUBST([ifGNUmake])
|
84
|
+
])
|
@@ -1,10 +1,10 @@
|
|
1
1
|
# ===========================================================================
|
2
|
-
#
|
2
|
+
# https://www.gnu.org/software/autoconf-archive/ax_check_link_flag.html
|
3
3
|
# ===========================================================================
|
4
4
|
#
|
5
5
|
# SYNOPSIS
|
6
6
|
#
|
7
|
-
# AX_CHECK_LINK_FLAG(FLAG, [ACTION-SUCCESS], [ACTION-FAILURE], [EXTRA-FLAGS])
|
7
|
+
# AX_CHECK_LINK_FLAG(FLAG, [ACTION-SUCCESS], [ACTION-FAILURE], [EXTRA-FLAGS], [INPUT])
|
8
8
|
#
|
9
9
|
# DESCRIPTION
|
10
10
|
#
|
@@ -19,6 +19,8 @@
|
|
19
19
|
# EXTRA-FLAGS FLAG". This can for example be used to force the linker to
|
20
20
|
# issue an error when a bad flag is given.
|
21
21
|
#
|
22
|
+
# INPUT gives an alternative input source to AC_LINK_IFELSE.
|
23
|
+
#
|
22
24
|
# NOTE: Implementation based on AX_CFLAGS_GCC_OPTION. Please keep this
|
23
25
|
# macro in sync with AX_CHECK_{PREPROC,COMPILE}_FLAG.
|
24
26
|
#
|
@@ -38,7 +40,7 @@
|
|
38
40
|
# Public License for more details.
|
39
41
|
#
|
40
42
|
# You should have received a copy of the GNU General Public License along
|
41
|
-
# with this program. If not, see <
|
43
|
+
# with this program. If not, see <https://www.gnu.org/licenses/>.
|
42
44
|
#
|
43
45
|
# As a special exception, the respective Autoconf Macro's copyright owner
|
44
46
|
# gives unlimited permission to copy, distribute and modify the configure
|
@@ -53,7 +55,7 @@
|
|
53
55
|
# modified version of the Autoconf Macro, you may extend this special
|
54
56
|
# exception to the GPL to apply to your modified version as well.
|
55
57
|
|
56
|
-
#serial
|
58
|
+
#serial 5
|
57
59
|
|
58
60
|
AC_DEFUN([AX_CHECK_LINK_FLAG],
|
59
61
|
[AC_PREREQ(2.64)dnl for _AC_LANG_PREFIX and AS_VAR_IF
|
@@ -61,8 +63,8 @@ AS_VAR_PUSHDEF([CACHEVAR],[ax_cv_check_ldflags_$4_$1])dnl
|
|
61
63
|
AC_CACHE_CHECK([whether the linker accepts $1], CACHEVAR, [
|
62
64
|
ax_check_save_flags=$LDFLAGS
|
63
65
|
LDFLAGS="$LDFLAGS $4 $1"
|
64
|
-
AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <
|
65
|
-
[[
|
66
|
+
AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <time.h>]],
|
67
|
+
[[time_t x; int fodder = 0; if (fodder > -1000 && time(&x)) return (int) x]])],
|
66
68
|
[AS_VAR_SET(CACHEVAR,[yes])],
|
67
69
|
[AS_VAR_SET(CACHEVAR,[no])])
|
68
70
|
LDFLAGS=$ax_check_save_flags])
|
@@ -82,7 +82,7 @@
|
|
82
82
|
# modified version of the Autoconf Macro, you may extend this special
|
83
83
|
# exception to the GPL to apply to your modified version as well.
|
84
84
|
|
85
|
-
#serial
|
85
|
+
#serial 24
|
86
86
|
|
87
87
|
AU_ALIAS([ACX_PTHREAD], [AX_PTHREAD])
|
88
88
|
AC_DEFUN([AX_PTHREAD], [
|
@@ -100,22 +100,22 @@ ax_pthread_ok=no
|
|
100
100
|
# etcetera environment variables, and if threads linking works using
|
101
101
|
# them:
|
102
102
|
if test "x$PTHREAD_CFLAGS$PTHREAD_LIBS" != "x"; then
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
103
|
+
ax_pthread_save_CC="$CC"
|
104
|
+
ax_pthread_save_CFLAGS="$CFLAGS"
|
105
|
+
ax_pthread_save_LIBS="$LIBS"
|
106
|
+
AS_IF([test "x$PTHREAD_CC" != "x"], [CC="$PTHREAD_CC"])
|
107
|
+
CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
|
108
|
+
LIBS="$PTHREAD_LIBS $LIBS"
|
109
|
+
AC_MSG_CHECKING([for pthread_join using $CC $PTHREAD_CFLAGS $PTHREAD_LIBS])
|
110
|
+
AC_LINK_IFELSE([AC_LANG_CALL([], [pthread_join])], [ax_pthread_ok=yes])
|
111
|
+
AC_MSG_RESULT([$ax_pthread_ok])
|
112
|
+
if test "x$ax_pthread_ok" = "xno"; then
|
113
|
+
PTHREAD_LIBS=""
|
114
|
+
PTHREAD_CFLAGS=""
|
115
|
+
fi
|
116
|
+
CC="$ax_pthread_save_CC"
|
117
|
+
CFLAGS="$ax_pthread_save_CFLAGS"
|
118
|
+
LIBS="$ax_pthread_save_LIBS"
|
119
119
|
fi
|
120
120
|
|
121
121
|
# We must check for the threads library under a number of different
|
@@ -152,50 +152,50 @@ ax_pthread_flags="pthreads none -Kthread -pthread -pthreads -mthreads pthread --
|
|
152
152
|
|
153
153
|
case $host_os in
|
154
154
|
|
155
|
-
|
155
|
+
freebsd*)
|
156
156
|
|
157
|
-
|
158
|
-
|
157
|
+
# -kthread: FreeBSD kernel threads (preferred to -pthread since SMP-able)
|
158
|
+
# lthread: LinuxThreads port on FreeBSD (also preferred to -pthread)
|
159
159
|
|
160
|
-
|
161
|
-
|
160
|
+
ax_pthread_flags="-kthread lthread $ax_pthread_flags"
|
161
|
+
;;
|
162
162
|
|
163
|
-
|
163
|
+
hpux*)
|
164
164
|
|
165
|
-
|
166
|
-
|
165
|
+
# From the cc(1) man page: "[-mt] Sets various -D flags to enable
|
166
|
+
# multi-threading and also sets -lpthread."
|
167
167
|
|
168
|
-
|
169
|
-
|
168
|
+
ax_pthread_flags="-mt -pthread pthread $ax_pthread_flags"
|
169
|
+
;;
|
170
170
|
|
171
|
-
|
171
|
+
openedition*)
|
172
172
|
|
173
|
-
|
174
|
-
|
175
|
-
|
176
|
-
|
173
|
+
# IBM z/OS requires a feature-test macro to be defined in order to
|
174
|
+
# enable POSIX threads at all, so give the user a hint if this is
|
175
|
+
# not set. (We don't define these ourselves, as they can affect
|
176
|
+
# other portions of the system API in unpredictable ways.)
|
177
177
|
|
178
|
-
|
179
|
-
|
180
|
-
#
|
181
|
-
|
182
|
-
#
|
183
|
-
|
184
|
-
|
185
|
-
|
178
|
+
AC_EGREP_CPP([AX_PTHREAD_ZOS_MISSING],
|
179
|
+
[
|
180
|
+
# if !defined(_OPEN_THREADS) && !defined(_UNIX03_THREADS)
|
181
|
+
AX_PTHREAD_ZOS_MISSING
|
182
|
+
# endif
|
183
|
+
],
|
184
|
+
[AC_MSG_WARN([IBM z/OS requires -D_OPEN_THREADS or -D_UNIX03_THREADS to enable pthreads support.])])
|
185
|
+
;;
|
186
186
|
|
187
|
-
|
187
|
+
solaris*)
|
188
188
|
|
189
|
-
|
190
|
-
|
191
|
-
|
192
|
-
|
193
|
-
|
194
|
-
|
195
|
-
|
189
|
+
# On Solaris (at least, for some versions), libc contains stubbed
|
190
|
+
# (non-functional) versions of the pthreads routines, so link-based
|
191
|
+
# tests will erroneously succeed. (N.B.: The stubs are missing
|
192
|
+
# pthread_cleanup_push, or rather a function called by this macro,
|
193
|
+
# so we could check for that, but who knows whether they'll stub
|
194
|
+
# that too in a future libc.) So we'll check first for the
|
195
|
+
# standard Solaris way of linking pthreads (-mt -lpthread).
|
196
196
|
|
197
|
-
|
198
|
-
|
197
|
+
ax_pthread_flags="-mt,pthread pthread $ax_pthread_flags"
|
198
|
+
;;
|
199
199
|
esac
|
200
200
|
|
201
201
|
# GCC generally uses -pthread, or -pthreads on some platforms (e.g. SPARC)
|
@@ -208,17 +208,17 @@ AS_IF([test "x$GCC" = "xyes"],
|
|
208
208
|
# correctly enabled
|
209
209
|
|
210
210
|
case $host_os in
|
211
|
-
|
212
|
-
|
213
|
-
|
211
|
+
darwin* | hpux* | linux* | osf* | solaris*)
|
212
|
+
ax_pthread_check_macro="_REENTRANT"
|
213
|
+
;;
|
214
214
|
|
215
|
-
|
216
|
-
|
217
|
-
|
215
|
+
aix*)
|
216
|
+
ax_pthread_check_macro="_THREAD_SAFE"
|
217
|
+
;;
|
218
218
|
|
219
|
-
|
220
|
-
|
221
|
-
|
219
|
+
*)
|
220
|
+
ax_pthread_check_macro="--"
|
221
|
+
;;
|
222
222
|
esac
|
223
223
|
AS_IF([test "x$ax_pthread_check_macro" = "x--"],
|
224
224
|
[ax_pthread_check_cond=0],
|
@@ -231,13 +231,13 @@ AC_CACHE_CHECK([whether $CC is Clang],
|
|
231
231
|
[ax_cv_PTHREAD_CLANG=no
|
232
232
|
# Note that Autoconf sets GCC=yes for Clang as well as GCC
|
233
233
|
if test "x$GCC" = "xyes"; then
|
234
|
-
|
235
|
-
|
236
|
-
#
|
237
|
-
|
238
|
-
#
|
239
|
-
|
240
|
-
|
234
|
+
AC_EGREP_CPP([AX_PTHREAD_CC_IS_CLANG],
|
235
|
+
[/* Note: Clang 2.7 lacks __clang_[a-z]+__ */
|
236
|
+
# if defined(__clang__) && defined(__llvm__)
|
237
|
+
AX_PTHREAD_CC_IS_CLANG
|
238
|
+
# endif
|
239
|
+
],
|
240
|
+
[ax_cv_PTHREAD_CLANG=yes])
|
241
241
|
fi
|
242
242
|
])
|
243
243
|
ax_pthread_clang="$ax_cv_PTHREAD_CLANG"
|
@@ -249,222 +249,222 @@ ax_pthread_clang_warning=no
|
|
249
249
|
|
250
250
|
if test "x$ax_pthread_clang" = "xyes"; then
|
251
251
|
|
252
|
-
|
253
|
-
|
254
|
-
|
255
|
-
|
256
|
-
|
257
|
-
|
258
|
-
|
259
|
-
|
260
|
-
|
261
|
-
|
262
|
-
|
263
|
-
|
264
|
-
|
265
|
-
|
266
|
-
|
267
|
-
|
268
|
-
|
269
|
-
|
270
|
-
|
271
|
-
|
272
|
-
|
273
|
-
|
274
|
-
|
275
|
-
|
276
|
-
|
277
|
-
|
278
|
-
|
279
|
-
|
280
|
-
|
281
|
-
|
282
|
-
|
283
|
-
|
284
|
-
|
285
|
-
|
286
|
-
|
287
|
-
|
288
|
-
|
289
|
-
|
290
|
-
|
291
|
-
|
292
|
-
|
293
|
-
|
294
|
-
|
295
|
-
|
296
|
-
|
297
|
-
|
298
|
-
|
299
|
-
|
300
|
-
|
301
|
-
|
302
|
-
|
303
|
-
|
304
|
-
|
305
|
-
|
306
|
-
|
307
|
-
|
308
|
-
|
309
|
-
|
310
|
-
|
311
|
-
|
312
|
-
|
313
|
-
|
314
|
-
|
315
|
-
|
316
|
-
|
317
|
-
|
318
|
-
|
319
|
-
|
252
|
+
# Clang takes -pthread; it has never supported any other flag
|
253
|
+
|
254
|
+
# (Note 1: This will need to be revisited if a system that Clang
|
255
|
+
# supports has POSIX threads in a separate library. This tends not
|
256
|
+
# to be the way of modern systems, but it's conceivable.)
|
257
|
+
|
258
|
+
# (Note 2: On some systems, notably Darwin, -pthread is not needed
|
259
|
+
# to get POSIX threads support; the API is always present and
|
260
|
+
# active. We could reasonably leave PTHREAD_CFLAGS empty. But
|
261
|
+
# -pthread does define _REENTRANT, and while the Darwin headers
|
262
|
+
# ignore this macro, third-party headers might not.)
|
263
|
+
|
264
|
+
PTHREAD_CFLAGS="-pthread"
|
265
|
+
PTHREAD_LIBS=
|
266
|
+
|
267
|
+
ax_pthread_ok=yes
|
268
|
+
|
269
|
+
# However, older versions of Clang make a point of warning the user
|
270
|
+
# that, in an invocation where only linking and no compilation is
|
271
|
+
# taking place, the -pthread option has no effect ("argument unused
|
272
|
+
# during compilation"). They expect -pthread to be passed in only
|
273
|
+
# when source code is being compiled.
|
274
|
+
#
|
275
|
+
# Problem is, this is at odds with the way Automake and most other
|
276
|
+
# C build frameworks function, which is that the same flags used in
|
277
|
+
# compilation (CFLAGS) are also used in linking. Many systems
|
278
|
+
# supported by AX_PTHREAD require exactly this for POSIX threads
|
279
|
+
# support, and in fact it is often not straightforward to specify a
|
280
|
+
# flag that is used only in the compilation phase and not in
|
281
|
+
# linking. Such a scenario is extremely rare in practice.
|
282
|
+
#
|
283
|
+
# Even though use of the -pthread flag in linking would only print
|
284
|
+
# a warning, this can be a nuisance for well-run software projects
|
285
|
+
# that build with -Werror. So if the active version of Clang has
|
286
|
+
# this misfeature, we search for an option to squash it.
|
287
|
+
|
288
|
+
AC_CACHE_CHECK([whether Clang needs flag to prevent "argument unused" warning when linking with -pthread],
|
289
|
+
[ax_cv_PTHREAD_CLANG_NO_WARN_FLAG],
|
290
|
+
[ax_cv_PTHREAD_CLANG_NO_WARN_FLAG=unknown
|
291
|
+
# Create an alternate version of $ac_link that compiles and
|
292
|
+
# links in two steps (.c -> .o, .o -> exe) instead of one
|
293
|
+
# (.c -> exe), because the warning occurs only in the second
|
294
|
+
# step
|
295
|
+
ax_pthread_save_ac_link="$ac_link"
|
296
|
+
ax_pthread_sed='s/conftest\.\$ac_ext/conftest.$ac_objext/g'
|
297
|
+
ax_pthread_link_step=`$as_echo "$ac_link" | sed "$ax_pthread_sed"`
|
298
|
+
ax_pthread_2step_ac_link="($ac_compile) && (echo ==== >&5) && ($ax_pthread_link_step)"
|
299
|
+
ax_pthread_save_CFLAGS="$CFLAGS"
|
300
|
+
for ax_pthread_try in '' -Qunused-arguments -Wno-unused-command-line-argument unknown; do
|
301
|
+
AS_IF([test "x$ax_pthread_try" = "xunknown"], [break])
|
302
|
+
CFLAGS="-Werror -Wunknown-warning-option $ax_pthread_try -pthread $ax_pthread_save_CFLAGS"
|
303
|
+
ac_link="$ax_pthread_save_ac_link"
|
304
|
+
AC_LINK_IFELSE([AC_LANG_SOURCE([[int main(void){return 0;}]])],
|
305
|
+
[ac_link="$ax_pthread_2step_ac_link"
|
306
|
+
AC_LINK_IFELSE([AC_LANG_SOURCE([[int main(void){return 0;}]])],
|
307
|
+
[break])
|
308
|
+
])
|
309
|
+
done
|
310
|
+
ac_link="$ax_pthread_save_ac_link"
|
311
|
+
CFLAGS="$ax_pthread_save_CFLAGS"
|
312
|
+
AS_IF([test "x$ax_pthread_try" = "x"], [ax_pthread_try=no])
|
313
|
+
ax_cv_PTHREAD_CLANG_NO_WARN_FLAG="$ax_pthread_try"
|
314
|
+
])
|
315
|
+
|
316
|
+
case "$ax_cv_PTHREAD_CLANG_NO_WARN_FLAG" in
|
317
|
+
no | unknown) ;;
|
318
|
+
*) PTHREAD_CFLAGS="$ax_cv_PTHREAD_CLANG_NO_WARN_FLAG $PTHREAD_CFLAGS" ;;
|
319
|
+
esac
|
320
320
|
|
321
321
|
fi # $ax_pthread_clang = yes
|
322
322
|
|
323
323
|
if test "x$ax_pthread_ok" = "xno"; then
|
324
324
|
for ax_pthread_try_flag in $ax_pthread_flags; do
|
325
325
|
|
326
|
-
|
327
|
-
|
328
|
-
|
329
|
-
|
330
|
-
|
331
|
-
|
332
|
-
|
333
|
-
|
334
|
-
|
335
|
-
|
336
|
-
|
337
|
-
|
338
|
-
|
339
|
-
|
340
|
-
|
341
|
-
|
342
|
-
|
343
|
-
|
344
|
-
|
345
|
-
|
346
|
-
|
347
|
-
|
348
|
-
|
349
|
-
|
350
|
-
|
351
|
-
|
352
|
-
|
353
|
-
|
354
|
-
|
355
|
-
|
356
|
-
|
357
|
-
|
358
|
-
|
359
|
-
|
360
|
-
|
361
|
-
|
362
|
-
|
363
|
-
|
364
|
-
|
365
|
-
|
366
|
-
|
367
|
-
|
368
|
-
|
369
|
-
|
370
|
-
|
371
|
-
#
|
372
|
-
#
|
373
|
-
#
|
374
|
-
|
375
|
-
|
376
|
-
|
377
|
-
|
378
|
-
|
379
|
-
|
380
|
-
|
381
|
-
|
382
|
-
|
383
|
-
|
384
|
-
|
385
|
-
|
386
|
-
|
387
|
-
|
388
|
-
|
389
|
-
|
390
|
-
|
391
|
-
|
392
|
-
|
326
|
+
case $ax_pthread_try_flag in
|
327
|
+
none)
|
328
|
+
AC_MSG_CHECKING([whether pthreads work without any flags])
|
329
|
+
;;
|
330
|
+
|
331
|
+
-mt,pthread)
|
332
|
+
AC_MSG_CHECKING([whether pthreads work with -mt -lpthread])
|
333
|
+
PTHREAD_CFLAGS="-mt"
|
334
|
+
PTHREAD_LIBS="-lpthread"
|
335
|
+
;;
|
336
|
+
|
337
|
+
-*)
|
338
|
+
AC_MSG_CHECKING([whether pthreads work with $ax_pthread_try_flag])
|
339
|
+
PTHREAD_CFLAGS="$ax_pthread_try_flag"
|
340
|
+
;;
|
341
|
+
|
342
|
+
pthread-config)
|
343
|
+
AC_CHECK_PROG([ax_pthread_config], [pthread-config], [yes], [no])
|
344
|
+
AS_IF([test "x$ax_pthread_config" = "xno"], [continue])
|
345
|
+
PTHREAD_CFLAGS="`pthread-config --cflags`"
|
346
|
+
PTHREAD_LIBS="`pthread-config --ldflags` `pthread-config --libs`"
|
347
|
+
;;
|
348
|
+
|
349
|
+
*)
|
350
|
+
AC_MSG_CHECKING([for the pthreads library -l$ax_pthread_try_flag])
|
351
|
+
PTHREAD_LIBS="-l$ax_pthread_try_flag"
|
352
|
+
;;
|
353
|
+
esac
|
354
|
+
|
355
|
+
ax_pthread_save_CFLAGS="$CFLAGS"
|
356
|
+
ax_pthread_save_LIBS="$LIBS"
|
357
|
+
CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
|
358
|
+
LIBS="$PTHREAD_LIBS $LIBS"
|
359
|
+
|
360
|
+
# Check for various functions. We must include pthread.h,
|
361
|
+
# since some functions may be macros. (On the Sequent, we
|
362
|
+
# need a special flag -Kthread to make this header compile.)
|
363
|
+
# We check for pthread_join because it is in -lpthread on IRIX
|
364
|
+
# while pthread_create is in libc. We check for pthread_attr_init
|
365
|
+
# due to DEC craziness with -lpthreads. We check for
|
366
|
+
# pthread_cleanup_push because it is one of the few pthread
|
367
|
+
# functions on Solaris that doesn't have a non-functional libc stub.
|
368
|
+
# We try pthread_create on general principles.
|
369
|
+
|
370
|
+
AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <pthread.h>
|
371
|
+
# if $ax_pthread_check_cond
|
372
|
+
# error "$ax_pthread_check_macro must be defined"
|
373
|
+
# endif
|
374
|
+
static void routine(void *a) { a = 0; }
|
375
|
+
static void *start_routine(void *a) { return a; }],
|
376
|
+
[pthread_t th; pthread_attr_t attr;
|
377
|
+
pthread_create(&th, 0, start_routine, 0);
|
378
|
+
pthread_join(th, 0);
|
379
|
+
pthread_attr_init(&attr);
|
380
|
+
pthread_cleanup_push(routine, 0);
|
381
|
+
pthread_cleanup_pop(0) /* ; */])],
|
382
|
+
[ax_pthread_ok=yes],
|
383
|
+
[])
|
384
|
+
|
385
|
+
CFLAGS="$ax_pthread_save_CFLAGS"
|
386
|
+
LIBS="$ax_pthread_save_LIBS"
|
387
|
+
|
388
|
+
AC_MSG_RESULT([$ax_pthread_ok])
|
389
|
+
AS_IF([test "x$ax_pthread_ok" = "xyes"], [break])
|
390
|
+
|
391
|
+
PTHREAD_LIBS=""
|
392
|
+
PTHREAD_CFLAGS=""
|
393
393
|
done
|
394
394
|
fi
|
395
395
|
|
396
396
|
# Various other checks:
|
397
397
|
if test "x$ax_pthread_ok" = "xyes"; then
|
398
|
-
|
399
|
-
|
400
|
-
|
401
|
-
|
402
|
-
|
403
|
-
|
404
|
-
|
405
|
-
|
406
|
-
|
407
|
-
|
408
|
-
|
409
|
-
|
410
|
-
|
411
|
-
|
412
|
-
|
413
|
-
|
414
|
-
|
415
|
-
|
416
|
-
|
417
|
-
|
418
|
-
|
419
|
-
|
420
|
-
|
421
|
-
|
422
|
-
|
423
|
-
|
424
|
-
|
425
|
-
|
426
|
-
|
427
|
-
|
428
|
-
|
429
|
-
|
430
|
-
|
431
|
-
|
432
|
-
|
433
|
-
|
434
|
-
|
435
|
-
|
436
|
-
|
437
|
-
|
438
|
-
|
439
|
-
|
440
|
-
|
441
|
-
|
442
|
-
|
443
|
-
|
444
|
-
|
445
|
-
|
446
|
-
|
447
|
-
|
448
|
-
|
449
|
-
|
450
|
-
|
451
|
-
|
452
|
-
|
453
|
-
|
454
|
-
|
455
|
-
|
456
|
-
|
457
|
-
|
458
|
-
|
459
|
-
|
460
|
-
|
461
|
-
|
462
|
-
|
463
|
-
|
464
|
-
|
465
|
-
|
466
|
-
|
467
|
-
|
398
|
+
ax_pthread_save_CFLAGS="$CFLAGS"
|
399
|
+
ax_pthread_save_LIBS="$LIBS"
|
400
|
+
CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
|
401
|
+
LIBS="$PTHREAD_LIBS $LIBS"
|
402
|
+
|
403
|
+
# Detect AIX lossage: JOINABLE attribute is called UNDETACHED.
|
404
|
+
AC_CACHE_CHECK([for joinable pthread attribute],
|
405
|
+
[ax_cv_PTHREAD_JOINABLE_ATTR],
|
406
|
+
[ax_cv_PTHREAD_JOINABLE_ATTR=unknown
|
407
|
+
for ax_pthread_attr in PTHREAD_CREATE_JOINABLE PTHREAD_CREATE_UNDETACHED; do
|
408
|
+
AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <pthread.h>],
|
409
|
+
[int attr = $ax_pthread_attr; return attr /* ; */])],
|
410
|
+
[ax_cv_PTHREAD_JOINABLE_ATTR=$ax_pthread_attr; break],
|
411
|
+
[])
|
412
|
+
done
|
413
|
+
])
|
414
|
+
AS_IF([test "x$ax_cv_PTHREAD_JOINABLE_ATTR" != "xunknown" && \
|
415
|
+
test "x$ax_cv_PTHREAD_JOINABLE_ATTR" != "xPTHREAD_CREATE_JOINABLE" && \
|
416
|
+
test "x$ax_pthread_joinable_attr_defined" != "xyes"],
|
417
|
+
[AC_DEFINE_UNQUOTED([PTHREAD_CREATE_JOINABLE],
|
418
|
+
[$ax_cv_PTHREAD_JOINABLE_ATTR],
|
419
|
+
[Define to necessary symbol if this constant
|
420
|
+
uses a non-standard name on your system.])
|
421
|
+
ax_pthread_joinable_attr_defined=yes
|
422
|
+
])
|
423
|
+
|
424
|
+
AC_CACHE_CHECK([whether more special flags are required for pthreads],
|
425
|
+
[ax_cv_PTHREAD_SPECIAL_FLAGS],
|
426
|
+
[ax_cv_PTHREAD_SPECIAL_FLAGS=no
|
427
|
+
case $host_os in
|
428
|
+
solaris*)
|
429
|
+
ax_cv_PTHREAD_SPECIAL_FLAGS="-D_POSIX_PTHREAD_SEMANTICS"
|
430
|
+
;;
|
431
|
+
esac
|
432
|
+
])
|
433
|
+
AS_IF([test "x$ax_cv_PTHREAD_SPECIAL_FLAGS" != "xno" && \
|
434
|
+
test "x$ax_pthread_special_flags_added" != "xyes"],
|
435
|
+
[PTHREAD_CFLAGS="$ax_cv_PTHREAD_SPECIAL_FLAGS $PTHREAD_CFLAGS"
|
436
|
+
ax_pthread_special_flags_added=yes])
|
437
|
+
|
438
|
+
AC_CACHE_CHECK([for PTHREAD_PRIO_INHERIT],
|
439
|
+
[ax_cv_PTHREAD_PRIO_INHERIT],
|
440
|
+
[AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <pthread.h>]],
|
441
|
+
[[int i = PTHREAD_PRIO_INHERIT;]])],
|
442
|
+
[ax_cv_PTHREAD_PRIO_INHERIT=yes],
|
443
|
+
[ax_cv_PTHREAD_PRIO_INHERIT=no])
|
444
|
+
])
|
445
|
+
AS_IF([test "x$ax_cv_PTHREAD_PRIO_INHERIT" = "xyes" && \
|
446
|
+
test "x$ax_pthread_prio_inherit_defined" != "xyes"],
|
447
|
+
[AC_DEFINE([HAVE_PTHREAD_PRIO_INHERIT], [1], [Have PTHREAD_PRIO_INHERIT.])
|
448
|
+
ax_pthread_prio_inherit_defined=yes
|
449
|
+
])
|
450
|
+
|
451
|
+
CFLAGS="$ax_pthread_save_CFLAGS"
|
452
|
+
LIBS="$ax_pthread_save_LIBS"
|
453
|
+
|
454
|
+
# More AIX lossage: compile with *_r variant
|
455
|
+
if test "x$GCC" != "xyes"; then
|
456
|
+
case $host_os in
|
457
|
+
aix*)
|
458
|
+
AS_CASE(["x/$CC"],
|
459
|
+
[x*/c89|x*/c89_128|x*/c99|x*/c99_128|x*/cc|x*/cc128|x*/xlc|x*/xlc_v6|x*/xlc128|x*/xlc128_v6],
|
460
|
+
[#handle absolute path differently from PATH based program lookup
|
461
|
+
AS_CASE(["x$CC"],
|
462
|
+
[x/*],
|
463
|
+
[AS_IF([AS_EXECUTABLE_P([${CC}_r])],[PTHREAD_CC="${CC}_r"])],
|
464
|
+
[AC_CHECK_PROGS([PTHREAD_CC],[${CC}_r],[$CC])])])
|
465
|
+
;;
|
466
|
+
esac
|
467
|
+
fi
|
468
468
|
fi
|
469
469
|
|
470
470
|
test -n "$PTHREAD_CC" || PTHREAD_CC="$CC"
|
@@ -475,11 +475,11 @@ AC_SUBST([PTHREAD_CC])
|
|
475
475
|
|
476
476
|
# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND:
|
477
477
|
if test "x$ax_pthread_ok" = "xyes"; then
|
478
|
-
|
479
|
-
|
478
|
+
ifelse([$1],,[AC_DEFINE([HAVE_PTHREAD],[1],[Define if you have POSIX threads libraries and header files.])],[$1])
|
479
|
+
:
|
480
480
|
else
|
481
|
-
|
482
|
-
|
481
|
+
ax_pthread_ok=no
|
482
|
+
$2
|
483
483
|
fi
|
484
484
|
AC_LANG_POP
|
485
485
|
])dnl AX_PTHREAD
|