rbnacl-libsodium 1.0.6 → 1.0.7
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 +10 -3
- data/vendor/libsodium/ChangeLog +19 -1
- data/vendor/libsodium/Makefile.in +1 -0
- data/vendor/libsodium/README.markdown +1 -1
- data/vendor/libsodium/THANKS +1 -0
- data/vendor/libsodium/autogen.sh +24 -4
- data/vendor/libsodium/autom4te.cache/output.1 +208 -24
- data/vendor/libsodium/autom4te.cache/output.5 +208 -24
- data/vendor/libsodium/autom4te.cache/requests +869 -869
- data/vendor/libsodium/autom4te.cache/traces.1 +426 -406
- data/vendor/libsodium/autom4te.cache/traces.5 +255 -245
- data/vendor/libsodium/builds/msvc/version.h +2 -2
- data/vendor/libsodium/builds/msvc/vs2010/libsodium/libsodium.vcxproj +14 -44
- data/vendor/libsodium/builds/msvc/vs2010/libsodium/libsodium.vcxproj.filters +36 -132
- data/vendor/libsodium/builds/msvc/vs2012/libsodium/libsodium.vcxproj +14 -44
- data/vendor/libsodium/builds/msvc/vs2012/libsodium/libsodium.vcxproj.filters +36 -132
- data/vendor/libsodium/builds/msvc/vs2013/libsodium/libsodium.vcxproj +14 -44
- data/vendor/libsodium/builds/msvc/vs2013/libsodium/libsodium.vcxproj.filters +36 -132
- data/vendor/libsodium/builds/msvc/vs2015/libsodium/libsodium.vcxproj +14 -44
- data/vendor/libsodium/builds/msvc/vs2015/libsodium/libsodium.vcxproj.filters +62 -158
- data/vendor/libsodium/configure +208 -24
- data/vendor/libsodium/configure.ac +70 -15
- data/vendor/libsodium/dist-build/Makefile.in +1 -0
- data/vendor/libsodium/dist-build/emscripten.sh +52 -19
- data/vendor/libsodium/dist-build/ios.sh +8 -8
- data/vendor/libsodium/dist-build/msys2-win32.sh +2 -1
- data/vendor/libsodium/dist-build/msys2-win64.sh +2 -1
- data/vendor/libsodium/dist-build/osx.sh +2 -2
- data/vendor/libsodium/examples/box.c +3 -1
- data/vendor/libsodium/examples/box_detached.c +4 -2
- data/vendor/libsodium/examples/utils.h +3 -1
- data/vendor/libsodium/libsodium.vcxproj +13 -13
- data/vendor/libsodium/libsodium.vcxproj.filters +31 -35
- data/vendor/libsodium/msvc-scripts/Makefile.in +1 -0
- data/vendor/libsodium/msvc-scripts/process.bat +2 -2
- data/vendor/libsodium/src/Makefile.in +1 -0
- data/vendor/libsodium/src/libsodium/Makefile.am +43 -45
- data/vendor/libsodium/src/libsodium/Makefile.in +250 -249
- data/vendor/libsodium/src/libsodium/crypto_aead/aes256gcm/aesni/aead_aes256gcm_aesni.c +28 -22
- data/vendor/libsodium/src/libsodium/crypto_auth/hmacsha256/cp/hmac_hmacsha256.c +3 -4
- data/vendor/libsodium/src/libsodium/crypto_auth/hmacsha256/cp/verify_hmacsha256.c +3 -3
- data/vendor/libsodium/src/libsodium/crypto_auth/hmacsha512/cp/hmac_hmacsha512.c +3 -4
- data/vendor/libsodium/src/libsodium/crypto_auth/hmacsha512/cp/verify_hmacsha512.c +4 -4
- data/vendor/libsodium/src/libsodium/crypto_auth/hmacsha512256/cp/hmac_hmacsha512256.c +4 -4
- data/vendor/libsodium/src/libsodium/crypto_auth/hmacsha512256/cp/verify_hmacsha512256.c +6 -4
- data/vendor/libsodium/src/libsodium/crypto_box/crypto_box_easy.c +6 -2
- data/vendor/libsodium/src/libsodium/crypto_box/curve25519xsalsa20poly1305/ref/after_curve25519xsalsa20poly1305.c +3 -3
- data/vendor/libsodium/src/libsodium/crypto_box/curve25519xsalsa20poly1305/ref/before_curve25519xsalsa20poly1305.c +5 -3
- data/vendor/libsodium/src/libsodium/crypto_box/curve25519xsalsa20poly1305/ref/box_curve25519xsalsa20poly1305.c +13 -9
- data/vendor/libsodium/src/libsodium/crypto_box/curve25519xsalsa20poly1305/ref/keypair_curve25519xsalsa20poly1305.c +3 -3
- data/vendor/libsodium/src/libsodium/crypto_core/hsalsa20/ref2/core_hsalsa20.c +2 -2
- data/vendor/libsodium/src/libsodium/crypto_core/salsa20/ref/core_salsa20.c +2 -2
- data/vendor/libsodium/src/libsodium/crypto_core/salsa2012/ref/core_salsa2012.c +2 -2
- data/vendor/libsodium/src/libsodium/crypto_core/salsa208/ref/core_salsa208.c +2 -2
- data/vendor/libsodium/src/libsodium/crypto_generichash/blake2/ref/blake2.h +2 -2
- data/vendor/libsodium/src/libsodium/crypto_generichash/blake2/ref/blake2b-ref.c +36 -26
- data/vendor/libsodium/src/libsodium/crypto_generichash/blake2/ref/generichash_blake2b.c +1 -1
- data/vendor/libsodium/src/libsodium/crypto_generichash/crypto_generichash.c +1 -2
- data/vendor/libsodium/src/libsodium/crypto_hash/sha256/cp/hash_sha256.c +2 -3
- data/vendor/libsodium/src/libsodium/crypto_hash/sha512/cp/hash_sha512.c +2 -3
- data/vendor/libsodium/src/libsodium/crypto_onetimeauth/poly1305/donna/{auth_poly1305_donna.c → poly1305_donna.c} +18 -11
- data/vendor/libsodium/src/libsodium/crypto_onetimeauth/poly1305/donna/poly1305_donna.h +1 -5
- data/vendor/libsodium/src/libsodium/crypto_onetimeauth/poly1305/donna/poly1305_donna32.h +10 -9
- data/vendor/libsodium/src/libsodium/crypto_onetimeauth/poly1305/donna/poly1305_donna64.h +17 -9
- data/vendor/libsodium/src/libsodium/crypto_onetimeauth/poly1305/onetimeauth_poly1305.c +10 -1
- data/vendor/libsodium/src/libsodium/crypto_onetimeauth/poly1305/sse2/poly1305_sse2.c +708 -0
- data/vendor/libsodium/src/libsodium/crypto_onetimeauth/poly1305/sse2/poly1305_sse2.h +31 -0
- data/vendor/libsodium/src/libsodium/crypto_pwhash/scryptsalsa208sha256/crypto_scrypt.h +1 -0
- data/vendor/libsodium/src/libsodium/crypto_scalarmult/crypto_scalarmult.c +11 -12
- data/vendor/libsodium/src/libsodium/crypto_scalarmult/curve25519/donna_c64/{smult_curve25519_donna_c64.c → curve25519_donna_c64.c} +32 -15
- data/vendor/libsodium/src/libsodium/crypto_scalarmult/curve25519/donna_c64/curve25519_donna_c64.h +9 -0
- data/vendor/libsodium/src/libsodium/crypto_scalarmult/curve25519/ref10/curve25519_ref10.c +73 -0
- data/vendor/libsodium/src/libsodium/crypto_scalarmult/curve25519/ref10/curve25519_ref10.h +9 -0
- data/vendor/libsodium/src/libsodium/crypto_scalarmult/curve25519/ref10/fe_frombytes_curve25519_ref10.c +1 -0
- data/vendor/libsodium/src/libsodium/crypto_scalarmult/curve25519/sandy2x/consts.S +25 -0
- data/vendor/libsodium/src/libsodium/crypto_scalarmult/curve25519/sandy2x/consts_namespace.h +20 -0
- data/vendor/libsodium/src/libsodium/crypto_scalarmult/curve25519/sandy2x/curve25519_sandy2x.c +114 -0
- data/vendor/libsodium/src/libsodium/crypto_scalarmult/curve25519/sandy2x/curve25519_sandy2x.h +9 -0
- data/vendor/libsodium/src/libsodium/crypto_scalarmult/curve25519/sandy2x/fe.h +25 -0
- data/vendor/libsodium/src/libsodium/crypto_scalarmult/curve25519/sandy2x/fe51.h +33 -0
- data/vendor/libsodium/src/libsodium/crypto_scalarmult/curve25519/sandy2x/fe51_invert.c +57 -0
- data/vendor/libsodium/src/libsodium/crypto_scalarmult/curve25519/sandy2x/fe51_mul.S +189 -0
- data/vendor/libsodium/src/libsodium/crypto_scalarmult/curve25519/sandy2x/fe51_namespace.h +16 -0
- data/vendor/libsodium/src/libsodium/crypto_scalarmult/curve25519/sandy2x/fe51_nsquare.S +165 -0
- data/vendor/libsodium/src/libsodium/crypto_scalarmult/curve25519/sandy2x/fe51_pack.S +219 -0
- data/vendor/libsodium/src/libsodium/crypto_scalarmult/curve25519/sandy2x/fe_frombytes_sandy2x.c +76 -0
- data/vendor/libsodium/src/libsodium/crypto_scalarmult/curve25519/sandy2x/ladder.S +1432 -0
- data/vendor/libsodium/src/libsodium/crypto_scalarmult/curve25519/sandy2x/ladder.h +18 -0
- data/vendor/libsodium/src/libsodium/crypto_scalarmult/curve25519/sandy2x/ladder_base.S +1287 -0
- data/vendor/libsodium/src/libsodium/crypto_scalarmult/curve25519/sandy2x/ladder_base.h +18 -0
- data/vendor/libsodium/src/libsodium/crypto_scalarmult/curve25519/sandy2x/ladder_base_namespace.h +8 -0
- data/vendor/libsodium/src/libsodium/crypto_scalarmult/curve25519/sandy2x/ladder_namespace.h +8 -0
- data/vendor/libsodium/src/libsodium/crypto_scalarmult/curve25519/sandy2x/sandy2x.S +17 -0
- data/vendor/libsodium/src/libsodium/crypto_scalarmult/curve25519/scalarmult_curve25519.c +67 -0
- data/vendor/libsodium/src/libsodium/crypto_scalarmult/curve25519/scalarmult_curve25519.h +11 -0
- data/vendor/libsodium/src/libsodium/crypto_secretbox/xsalsa20poly1305/ref/box_xsalsa20poly1305.c +3 -3
- data/vendor/libsodium/src/libsodium/crypto_shorthash/siphash24/ref/shorthash_siphash24.c +3 -2
- data/vendor/libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge.h +2 -0
- data/vendor/libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge_double_scalarmult.c +42 -0
- data/vendor/libsodium/src/libsodium/crypto_sign/ed25519/ref10/keypair.c +7 -7
- data/vendor/libsodium/src/libsodium/crypto_sign/ed25519/ref10/obsolete.c +113 -0
- data/vendor/libsodium/src/libsodium/crypto_sign/ed25519/ref10/open.c +10 -7
- data/vendor/libsodium/src/libsodium/crypto_sign/ed25519/ref10/sign.c +10 -10
- data/vendor/libsodium/src/libsodium/crypto_stream/aes128ctr/portable/afternm_aes128ctr.c +2 -2
- data/vendor/libsodium/src/libsodium/crypto_stream/aes128ctr/portable/beforenm_aes128ctr.c +2 -2
- data/vendor/libsodium/src/libsodium/crypto_stream/aes128ctr/portable/stream_aes128ctr.c +10 -9
- data/vendor/libsodium/src/libsodium/crypto_stream/aes128ctr/portable/xor_afternm_aes128ctr.c +2 -3
- data/vendor/libsodium/src/libsodium/crypto_stream/chacha20/ref/stream_chacha20_ref.c +72 -68
- data/vendor/libsodium/src/libsodium/crypto_stream/chacha20/ref/{api.h → stream_chacha20_ref.h} +5 -0
- data/vendor/libsodium/src/libsodium/crypto_stream/chacha20/{stream_chacha20_api.c → stream_chacha20.c} +27 -7
- data/vendor/libsodium/src/libsodium/crypto_stream/chacha20/stream_chacha20.h +22 -0
- data/vendor/libsodium/src/libsodium/crypto_stream/chacha20/vec/stream_chacha20_vec.c +329 -0
- data/vendor/libsodium/src/libsodium/crypto_stream/chacha20/vec/stream_chacha20_vec.h +27 -0
- data/vendor/libsodium/src/libsodium/crypto_stream/salsa20/amd64_xmm6/stream_salsa20_amd64_xmm6.S +1 -1
- data/vendor/libsodium/src/libsodium/crypto_stream/salsa20/ref/stream_salsa20_ref.c +2 -2
- data/vendor/libsodium/src/libsodium/crypto_stream/salsa20/ref/xor_salsa20_ref.c +1 -1
- data/vendor/libsodium/src/libsodium/crypto_stream/salsa2012/ref/stream_salsa2012.c +2 -2
- data/vendor/libsodium/src/libsodium/crypto_stream/salsa2012/ref/xor_salsa2012.c +2 -2
- data/vendor/libsodium/src/libsodium/crypto_stream/salsa208/ref/stream_salsa208.c +2 -2
- data/vendor/libsodium/src/libsodium/crypto_stream/salsa208/ref/xor_salsa208.c +2 -2
- data/vendor/libsodium/src/libsodium/crypto_stream/xsalsa20/ref/stream_xsalsa20.c +2 -2
- data/vendor/libsodium/src/libsodium/crypto_stream/xsalsa20/ref/xor_xsalsa20.c +4 -4
- data/vendor/libsodium/src/libsodium/crypto_verify/16/ref/verify_16.c +14 -21
- data/vendor/libsodium/src/libsodium/crypto_verify/32/ref/verify_32.c +14 -37
- data/vendor/libsodium/src/libsodium/crypto_verify/64/ref/verify_64.c +14 -69
- data/vendor/libsodium/src/libsodium/include/Makefile.in +1 -0
- data/vendor/libsodium/src/libsodium/include/sodium/crypto_box.h +8 -4
- data/vendor/libsodium/src/libsodium/include/sodium/crypto_box_curve25519xsalsa20poly1305.h +4 -2
- data/vendor/libsodium/src/libsodium/include/sodium/crypto_generichash_blake2b.h +2 -2
- data/vendor/libsodium/src/libsodium/include/sodium/crypto_onetimeauth_poly1305.h +2 -3
- data/vendor/libsodium/src/libsodium/include/sodium/crypto_scalarmult.h +2 -1
- data/vendor/libsodium/src/libsodium/include/sodium/crypto_scalarmult_curve25519.h +6 -1
- data/vendor/libsodium/src/libsodium/include/sodium/crypto_stream_chacha20.h +5 -0
- data/vendor/libsodium/src/libsodium/include/sodium/randombytes_nativeclient.h +6 -20
- data/vendor/libsodium/src/libsodium/include/sodium/randombytes_salsa20_random.h +1 -28
- data/vendor/libsodium/src/libsodium/include/sodium/randombytes_sysrandom.h +1 -27
- data/vendor/libsodium/src/libsodium/include/sodium/runtime.h +3 -0
- data/vendor/libsodium/src/libsodium/include/sodium/utils.h +6 -0
- data/vendor/libsodium/src/libsodium/randombytes/nativeclient/randombytes_nativeclient.c +3 -3
- data/vendor/libsodium/src/libsodium/randombytes/salsa20/randombytes_salsa20_random.c +58 -51
- data/vendor/libsodium/src/libsodium/randombytes/sysrandom/randombytes_sysrandom.c +23 -18
- data/vendor/libsodium/src/libsodium/sodium/core.c +4 -0
- data/vendor/libsodium/src/libsodium/sodium/runtime.c +34 -15
- data/vendor/libsodium/src/libsodium/sodium/utils.c +104 -14
- data/vendor/libsodium/test/Makefile.in +1 -0
- data/vendor/libsodium/test/default/Makefile.in +1 -0
- data/vendor/libsodium/test/default/auth.c +5 -5
- data/vendor/libsodium/test/default/auth2.c +3 -3
- data/vendor/libsodium/test/default/auth3.c +3 -3
- data/vendor/libsodium/test/default/auth5.c +4 -4
- data/vendor/libsodium/test/default/auth6.c +3 -3
- data/vendor/libsodium/test/default/auth7.c +4 -4
- data/vendor/libsodium/test/default/box.c +13 -9
- data/vendor/libsodium/test/default/box2.c +11 -8
- data/vendor/libsodium/test/default/box7.c +11 -9
- data/vendor/libsodium/test/default/box8.c +32 -19
- data/vendor/libsodium/test/default/box_easy.c +31 -10
- data/vendor/libsodium/test/default/box_easy.exp +3 -19
- data/vendor/libsodium/test/default/box_easy2.c +30 -15
- data/vendor/libsodium/test/default/box_seed.c +1 -1
- data/vendor/libsodium/test/default/cmptest.h +22 -1
- data/vendor/libsodium/test/default/core1.c +6 -5
- data/vendor/libsodium/test/default/core2.c +6 -5
- data/vendor/libsodium/test/default/core3.c +8 -7
- data/vendor/libsodium/test/default/core4.c +11 -8
- data/vendor/libsodium/test/default/core5.c +7 -5
- data/vendor/libsodium/test/default/core6.c +8 -6
- data/vendor/libsodium/test/default/generichash.c +0 -15
- data/vendor/libsodium/test/default/generichash.exp +0 -1
- data/vendor/libsodium/test/default/generichash3.c +1 -21
- data/vendor/libsodium/test/default/generichash3.exp +1 -1
- data/vendor/libsodium/test/default/hash.c +3 -3
- data/vendor/libsodium/test/default/hash3.c +2 -2
- data/vendor/libsodium/test/default/index.html.tpl +84 -0
- data/vendor/libsodium/test/default/onetimeauth.c +3 -3
- data/vendor/libsodium/test/default/onetimeauth2.c +5 -4
- data/vendor/libsodium/test/default/onetimeauth7.c +4 -4
- data/vendor/libsodium/test/default/pre.js.inc +14 -6
- data/vendor/libsodium/test/default/randombytes.c +2 -2
- data/vendor/libsodium/test/default/scalarmult.c +19 -6
- data/vendor/libsodium/test/default/scalarmult.exp +1 -0
- data/vendor/libsodium/test/default/scalarmult2.c +2 -2
- data/vendor/libsodium/test/default/scalarmult5.c +6 -4
- data/vendor/libsodium/test/default/scalarmult6.c +5 -3
- data/vendor/libsodium/test/default/scalarmult7.c +11 -7
- data/vendor/libsodium/test/default/secretbox.c +7 -6
- data/vendor/libsodium/test/default/secretbox2.c +7 -6
- data/vendor/libsodium/test/default/secretbox7.c +5 -5
- data/vendor/libsodium/test/default/secretbox8.c +5 -5
- data/vendor/libsodium/test/default/secretbox_easy.c +27 -17
- data/vendor/libsodium/test/default/secretbox_easy.exp +7 -95
- data/vendor/libsodium/test/default/secretbox_easy2.c +22 -10
- data/vendor/libsodium/test/default/sign.c +5 -0
- data/vendor/libsodium/test/default/sodium_utils.c +73 -0
- data/vendor/libsodium/test/default/sodium_utils.exp +6 -0
- data/vendor/libsodium/test/default/stream.c +7 -6
- data/vendor/libsodium/test/default/stream2.c +4 -4
- data/vendor/libsodium/test/default/stream3.c +6 -5
- data/vendor/libsodium/test/default/stream4.c +7 -6
- data/vendor/libsodium/test/default/verify1.c +61 -18
- data/vendor/libsodium/test/default/verify1.exp +2 -6
- metadata +37 -44
- data/vendor/libsodium/src/libsodium/crypto_auth/hmacsha256/cp/api.h +0 -9
- data/vendor/libsodium/src/libsodium/crypto_auth/hmacsha512/cp/api.h +0 -9
- data/vendor/libsodium/src/libsodium/crypto_auth/hmacsha512256/cp/api.h +0 -9
- data/vendor/libsodium/src/libsodium/crypto_box/curve25519xsalsa20poly1305/ref/api.h +0 -20
- data/vendor/libsodium/src/libsodium/crypto_core/hsalsa20/ref2/api.h +0 -10
- data/vendor/libsodium/src/libsodium/crypto_core/salsa20/ref/api.h +0 -10
- data/vendor/libsodium/src/libsodium/crypto_core/salsa2012/ref/api.h +0 -10
- data/vendor/libsodium/src/libsodium/crypto_core/salsa208/ref/api.h +0 -10
- data/vendor/libsodium/src/libsodium/crypto_generichash/blake2/ref/api.h +0 -2
- data/vendor/libsodium/src/libsodium/crypto_hash/sha256/cp/api.h +0 -10
- data/vendor/libsodium/src/libsodium/crypto_hash/sha512/cp/api.h +0 -10
- data/vendor/libsodium/src/libsodium/crypto_scalarmult/curve25519/donna_c64/api.h +0 -6
- data/vendor/libsodium/src/libsodium/crypto_scalarmult/curve25519/donna_c64/base_curve25519_donna_c64.c +0 -13
- data/vendor/libsodium/src/libsodium/crypto_scalarmult/curve25519/ref10/api.h +0 -5
- data/vendor/libsodium/src/libsodium/crypto_scalarmult/curve25519/ref10/base_curve25519_ref10.c +0 -14
- data/vendor/libsodium/src/libsodium/crypto_scalarmult/curve25519/ref10/scalarmult_curve25519_ref10.c +0 -54
- data/vendor/libsodium/src/libsodium/crypto_scalarmult/curve25519/scalarmult_curve25519_api.c +0 -14
- data/vendor/libsodium/src/libsodium/crypto_secretbox/xsalsa20poly1305/ref/api.h +0 -11
- data/vendor/libsodium/src/libsodium/crypto_shorthash/siphash24/ref/api.h +0 -7
- data/vendor/libsodium/src/libsodium/crypto_sign/ed25519/ref10/api.h +0 -15
- data/vendor/libsodium/src/libsodium/crypto_sign/edwards25519sha512batch/ref/api.h +0 -12
- data/vendor/libsodium/src/libsodium/crypto_sign/edwards25519sha512batch/ref/fe25519.h +0 -54
- data/vendor/libsodium/src/libsodium/crypto_sign/edwards25519sha512batch/ref/fe25519_edwards25519sha512batch.c +0 -348
- data/vendor/libsodium/src/libsodium/crypto_sign/edwards25519sha512batch/ref/ge25519.h +0 -34
- data/vendor/libsodium/src/libsodium/crypto_sign/edwards25519sha512batch/ref/ge25519_edwards25519sha512batch.c +0 -230
- data/vendor/libsodium/src/libsodium/crypto_sign/edwards25519sha512batch/ref/sc25519.h +0 -51
- data/vendor/libsodium/src/libsodium/crypto_sign/edwards25519sha512batch/ref/sc25519_edwards25519sha512batch.c +0 -150
- data/vendor/libsodium/src/libsodium/crypto_sign/edwards25519sha512batch/ref/sign_edwards25519sha512batch.c +0 -106
- data/vendor/libsodium/src/libsodium/crypto_sign/edwards25519sha512batch/sign_edwards25519sha512batch_api.c +0 -16
- data/vendor/libsodium/src/libsodium/crypto_stream/aes128ctr/portable/api.h +0 -13
- data/vendor/libsodium/src/libsodium/crypto_stream/salsa20/amd64_xmm6/api.h +0 -1
- data/vendor/libsodium/src/libsodium/crypto_stream/salsa20/ref/api.h +0 -5
- data/vendor/libsodium/src/libsodium/crypto_stream/salsa2012/ref/api.h +0 -10
- data/vendor/libsodium/src/libsodium/crypto_stream/salsa208/ref/api.h +0 -9
- data/vendor/libsodium/src/libsodium/crypto_stream/xsalsa20/ref/api.h +0 -11
- data/vendor/libsodium/src/libsodium/crypto_verify/16/ref/api.h +0 -2
- data/vendor/libsodium/src/libsodium/crypto_verify/32/ref/api.h +0 -2
- data/vendor/libsodium/src/libsodium/crypto_verify/64/ref/api.h +0 -2
data/vendor/libsodium/configure
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
#! /bin/sh
|
2
2
|
# Guess values for system-dependent variables and create Makefiles.
|
3
|
-
# Generated by GNU Autoconf 2.69 for libsodium 1.0.
|
3
|
+
# Generated by GNU Autoconf 2.69 for libsodium 1.0.7.
|
4
4
|
#
|
5
5
|
# Report bugs to <https://github.com/jedisct1/libsodium/issues>.
|
6
6
|
#
|
@@ -590,8 +590,8 @@ MAKEFLAGS=
|
|
590
590
|
# Identity of this package.
|
591
591
|
PACKAGE_NAME='libsodium'
|
592
592
|
PACKAGE_TARNAME='libsodium'
|
593
|
-
PACKAGE_VERSION='1.0.
|
594
|
-
PACKAGE_STRING='libsodium 1.0.
|
593
|
+
PACKAGE_VERSION='1.0.7'
|
594
|
+
PACKAGE_STRING='libsodium 1.0.7'
|
595
595
|
PACKAGE_BUGREPORT='https://github.com/jedisct1/libsodium/issues'
|
596
596
|
PACKAGE_URL='https://github.com/jedisct1/libsodium'
|
597
597
|
|
@@ -649,6 +649,9 @@ HAVE_CPUID_V
|
|
649
649
|
HAVE_TI_MODE_V
|
650
650
|
HAVE_TI_MODE_FALSE
|
651
651
|
HAVE_TI_MODE_TRUE
|
652
|
+
HAVE_AVX_ASM_V
|
653
|
+
HAVE_AVX_ASM_FALSE
|
654
|
+
HAVE_AVX_ASM_TRUE
|
652
655
|
HAVE_AMD64_ASM_V
|
653
656
|
HAVE_AMD64_ASM_FALSE
|
654
657
|
HAVE_AMD64_ASM_TRUE
|
@@ -803,6 +806,7 @@ enable_blocking_random
|
|
803
806
|
enable_minimal
|
804
807
|
with_safecode
|
805
808
|
enable_debug
|
809
|
+
enable_opt
|
806
810
|
enable_soname_versions
|
807
811
|
enable_shared
|
808
812
|
enable_static
|
@@ -1368,7 +1372,7 @@ if test "$ac_init_help" = "long"; then
|
|
1368
1372
|
# Omit some internal or obsolete options to make the list less imposing.
|
1369
1373
|
# This message is too long to be a string in the A/UX 3.1 sh.
|
1370
1374
|
cat <<_ACEOF
|
1371
|
-
\`configure' configures libsodium 1.0.
|
1375
|
+
\`configure' configures libsodium 1.0.7 to adapt to many kinds of systems.
|
1372
1376
|
|
1373
1377
|
Usage: $0 [OPTION]... [VAR=VALUE]...
|
1374
1378
|
|
@@ -1438,7 +1442,7 @@ fi
|
|
1438
1442
|
|
1439
1443
|
if test -n "$ac_init_help"; then
|
1440
1444
|
case $ac_init_help in
|
1441
|
-
short | recursive ) echo "Configuration of libsodium 1.0.
|
1445
|
+
short | recursive ) echo "Configuration of libsodium 1.0.7:";;
|
1442
1446
|
esac
|
1443
1447
|
cat <<\_ACEOF
|
1444
1448
|
|
@@ -1464,6 +1468,8 @@ Optional Features:
|
|
1464
1468
|
--enable-minimal Only compile the minimum set of functions required
|
1465
1469
|
for the high-level API
|
1466
1470
|
--enable-debug For maintainers only - please do not use
|
1471
|
+
--enable-opt Optimize for the native CPU - The resulting library
|
1472
|
+
will be faster but not portable
|
1467
1473
|
--enable-soname-versions
|
1468
1474
|
enable soname versions (must be disabled for
|
1469
1475
|
Android) (default: enabled)
|
@@ -1571,7 +1577,7 @@ fi
|
|
1571
1577
|
test -n "$ac_init_help" && exit $ac_status
|
1572
1578
|
if $ac_init_version; then
|
1573
1579
|
cat <<\_ACEOF
|
1574
|
-
libsodium configure 1.0.
|
1580
|
+
libsodium configure 1.0.7
|
1575
1581
|
generated by GNU Autoconf 2.69
|
1576
1582
|
|
1577
1583
|
Copyright (C) 2012 Free Software Foundation, Inc.
|
@@ -1940,7 +1946,7 @@ cat >config.log <<_ACEOF
|
|
1940
1946
|
This file contains any messages produced by compilers while
|
1941
1947
|
running configure, to aid debugging if configure makes a mistake.
|
1942
1948
|
|
1943
|
-
It was created by libsodium $as_me 1.0.
|
1949
|
+
It was created by libsodium $as_me 1.0.7, which was
|
1944
1950
|
generated by GNU Autoconf 2.69. Invocation command line was
|
1945
1951
|
|
1946
1952
|
$ $0 $@
|
@@ -2876,7 +2882,7 @@ fi
|
|
2876
2882
|
|
2877
2883
|
# Define the identity of the package.
|
2878
2884
|
PACKAGE='libsodium'
|
2879
|
-
VERSION='1.0.
|
2885
|
+
VERSION='1.0.7'
|
2880
2886
|
|
2881
2887
|
|
2882
2888
|
cat >>confdefs.h <<_ACEOF
|
@@ -3171,10 +3177,10 @@ fi
|
|
3171
3177
|
ISODATE=`date +%Y-%m-%d`
|
3172
3178
|
|
3173
3179
|
|
3174
|
-
SODIUM_LIBRARY_VERSION_MAJOR=
|
3180
|
+
SODIUM_LIBRARY_VERSION_MAJOR=9
|
3175
3181
|
SODIUM_LIBRARY_VERSION_MINOR=0
|
3176
|
-
DLL_VERSION=
|
3177
|
-
SODIUM_LIBRARY_VERSION=
|
3182
|
+
DLL_VERSION=8
|
3183
|
+
SODIUM_LIBRARY_VERSION=18:0:0
|
3178
3184
|
# | | |
|
3179
3185
|
# +------+ | +---+
|
3180
3186
|
# | | |
|
@@ -3352,6 +3358,18 @@ fi
|
|
3352
3358
|
fi
|
3353
3359
|
|
3354
3360
|
|
3361
|
+
# Check whether --enable-opt was given.
|
3362
|
+
if test "${enable_opt+set}" = set; then :
|
3363
|
+
enableval=$enable_opt;
|
3364
|
+
if test "x$enableval" = "xyes"; then :
|
3365
|
+
|
3366
|
+
CFLAGS="$CFLAGS -flto -march=native"
|
3367
|
+
LDFLAGS="$LDFLAGS -flto -march=native"
|
3368
|
+
fi
|
3369
|
+
|
3370
|
+
fi
|
3371
|
+
|
3372
|
+
|
3355
3373
|
|
3356
3374
|
|
3357
3375
|
|
@@ -15032,6 +15050,106 @@ else
|
|
15032
15050
|
:
|
15033
15051
|
fi
|
15034
15052
|
|
15053
|
+
else
|
15054
|
+
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
|
15055
|
+
$as_echo "no" >&6; }
|
15056
|
+
fi
|
15057
|
+
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
|
15058
|
+
CFLAGS="$oldcflags"
|
15059
|
+
|
15060
|
+
oldcflags="$CFLAGS"
|
15061
|
+
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -mavx" >&5
|
15062
|
+
$as_echo_n "checking whether C compiler accepts -mavx... " >&6; }
|
15063
|
+
if ${ax_cv_check_cflags___mavx+:} false; then :
|
15064
|
+
$as_echo_n "(cached) " >&6
|
15065
|
+
else
|
15066
|
+
|
15067
|
+
ax_check_save_flags=$CFLAGS
|
15068
|
+
CFLAGS="$CFLAGS -mavx"
|
15069
|
+
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
15070
|
+
/* end confdefs.h. */
|
15071
|
+
#include <stdio.h>
|
15072
|
+
int
|
15073
|
+
main ()
|
15074
|
+
{
|
15075
|
+
char x[42U], fodder = 0;if (fodder > -1000 && fgets(x,1000,stdin)) puts(x)
|
15076
|
+
;
|
15077
|
+
return 0;
|
15078
|
+
}
|
15079
|
+
_ACEOF
|
15080
|
+
if ac_fn_c_try_compile "$LINENO"; then :
|
15081
|
+
ax_cv_check_cflags___mavx=yes
|
15082
|
+
else
|
15083
|
+
ax_cv_check_cflags___mavx=no
|
15084
|
+
fi
|
15085
|
+
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
|
15086
|
+
CFLAGS=$ax_check_save_flags
|
15087
|
+
fi
|
15088
|
+
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags___mavx" >&5
|
15089
|
+
$as_echo "$ax_cv_check_cflags___mavx" >&6; }
|
15090
|
+
if test "x$ax_cv_check_cflags___mavx" = xyes; then :
|
15091
|
+
CFLAGS="$CFLAGS -mavx"
|
15092
|
+
else
|
15093
|
+
:
|
15094
|
+
fi
|
15095
|
+
|
15096
|
+
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for AVX instructions set" >&5
|
15097
|
+
$as_echo_n "checking for AVX instructions set... " >&6; }
|
15098
|
+
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
15099
|
+
/* end confdefs.h. */
|
15100
|
+
|
15101
|
+
#pragma GCC target("avx")
|
15102
|
+
#include <immintrin.h>
|
15103
|
+
|
15104
|
+
int
|
15105
|
+
main ()
|
15106
|
+
{
|
15107
|
+
_mm256_zeroall();
|
15108
|
+
;
|
15109
|
+
return 0;
|
15110
|
+
}
|
15111
|
+
_ACEOF
|
15112
|
+
if ac_fn_c_try_compile "$LINENO"; then :
|
15113
|
+
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
|
15114
|
+
$as_echo "yes" >&6; }
|
15115
|
+
|
15116
|
+
$as_echo "#define HAVE_AVXINTRIN_H 1" >>confdefs.h
|
15117
|
+
|
15118
|
+
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -mavx" >&5
|
15119
|
+
$as_echo_n "checking whether C compiler accepts -mavx... " >&6; }
|
15120
|
+
if ${ax_cv_check_cflags___mavx+:} false; then :
|
15121
|
+
$as_echo_n "(cached) " >&6
|
15122
|
+
else
|
15123
|
+
|
15124
|
+
ax_check_save_flags=$CFLAGS
|
15125
|
+
CFLAGS="$CFLAGS -mavx"
|
15126
|
+
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
15127
|
+
/* end confdefs.h. */
|
15128
|
+
#include <stdio.h>
|
15129
|
+
int
|
15130
|
+
main ()
|
15131
|
+
{
|
15132
|
+
char x[42U], fodder = 0;if (fodder > -1000 && fgets(x,1000,stdin)) puts(x)
|
15133
|
+
;
|
15134
|
+
return 0;
|
15135
|
+
}
|
15136
|
+
_ACEOF
|
15137
|
+
if ac_fn_c_try_compile "$LINENO"; then :
|
15138
|
+
ax_cv_check_cflags___mavx=yes
|
15139
|
+
else
|
15140
|
+
ax_cv_check_cflags___mavx=no
|
15141
|
+
fi
|
15142
|
+
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
|
15143
|
+
CFLAGS=$ax_check_save_flags
|
15144
|
+
fi
|
15145
|
+
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags___mavx" >&5
|
15146
|
+
$as_echo "$ax_cv_check_cflags___mavx" >&6; }
|
15147
|
+
if test "x$ax_cv_check_cflags___mavx" = xyes; then :
|
15148
|
+
CFLAGS_AVX="-mavx"
|
15149
|
+
else
|
15150
|
+
:
|
15151
|
+
fi
|
15152
|
+
|
15035
15153
|
else
|
15036
15154
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
|
15037
15155
|
$as_echo "no" >&6; }
|
@@ -15538,8 +15656,8 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
|
|
15538
15656
|
HAVE_AMD64_ASM_V=0
|
15539
15657
|
if test "$enable_asm" != "no"; then :
|
15540
15658
|
|
15541
|
-
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we
|
15542
|
-
$as_echo_n "checking whether we
|
15659
|
+
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we can use x86_64 asm code" >&5
|
15660
|
+
$as_echo_n "checking whether we can use x86_64 asm code... " >&6; }
|
15543
15661
|
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
15544
15662
|
/* end confdefs.h. */
|
15545
15663
|
|
@@ -15556,7 +15674,13 @@ main ()
|
|
15556
15674
|
#else
|
15557
15675
|
# error !x86_64
|
15558
15676
|
#endif
|
15559
|
-
|
15677
|
+
unsigned char i = 0, o = 0, t;
|
15678
|
+
__asm__ __volatile__ ("pxor %%xmm12, %%xmm6 \n"
|
15679
|
+
"movb (%[i]), %[t] \n"
|
15680
|
+
"addb %[t], (%[o]) \n"
|
15681
|
+
: [t] "=&r"(t)
|
15682
|
+
: [o] "D"(&o), [i] "S"(&i)
|
15683
|
+
: "memory", "flags", "cc");
|
15560
15684
|
|
15561
15685
|
;
|
15562
15686
|
return 0;
|
@@ -15586,27 +15710,83 @@ fi
|
|
15586
15710
|
|
15587
15711
|
|
15588
15712
|
|
15713
|
+
HAVE_AVX_ASM_V=0
|
15714
|
+
if test "$enable_asm" != "no"; then :
|
15715
|
+
|
15716
|
+
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we can assemble AVX opcodes" >&5
|
15717
|
+
$as_echo_n "checking whether we can assemble AVX opcodes... " >&6; }
|
15718
|
+
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
15719
|
+
/* end confdefs.h. */
|
15720
|
+
|
15721
|
+
|
15722
|
+
int
|
15723
|
+
main ()
|
15724
|
+
{
|
15725
|
+
|
15726
|
+
#if defined(__amd64) || defined(__amd64__) || defined(__x86_64__)
|
15727
|
+
# if defined(__CYGWIN__) || defined(__MINGW32__) || defined(__MINGW64__) || defined(_WIN32) || defined(_WIN64)
|
15728
|
+
# error Windows x86_64 calling conventions are not supported yet
|
15729
|
+
# endif
|
15730
|
+
/* neat */
|
15731
|
+
#else
|
15732
|
+
# error !x86_64
|
15733
|
+
#endif
|
15734
|
+
__asm__ __volatile__ ("vpunpcklqdq %xmm0,%xmm13,%xmm0");
|
15735
|
+
|
15736
|
+
;
|
15737
|
+
return 0;
|
15738
|
+
}
|
15739
|
+
_ACEOF
|
15740
|
+
if ac_fn_c_try_compile "$LINENO"; then :
|
15741
|
+
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
|
15742
|
+
$as_echo "yes" >&6; }
|
15743
|
+
|
15744
|
+
$as_echo "#define HAVE_AVX_ASM 1" >>confdefs.h
|
15745
|
+
|
15746
|
+
HAVE_AVX_ASM_V=1
|
15747
|
+
else
|
15748
|
+
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
|
15749
|
+
$as_echo "no" >&6; }
|
15750
|
+
fi
|
15751
|
+
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
|
15752
|
+
|
15753
|
+
fi
|
15754
|
+
if test $HAVE_AVX_ASM_V = 1; then
|
15755
|
+
HAVE_AVX_ASM_TRUE=
|
15756
|
+
HAVE_AVX_ASM_FALSE='#'
|
15757
|
+
else
|
15758
|
+
HAVE_AVX_ASM_TRUE='#'
|
15759
|
+
HAVE_AVX_ASM_FALSE=
|
15760
|
+
fi
|
15761
|
+
|
15762
|
+
|
15763
|
+
|
15589
15764
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for 128-bit arithmetic" >&5
|
15590
15765
|
$as_echo_n "checking for 128-bit arithmetic... " >&6; }
|
15591
15766
|
HAVE_TI_MODE_V=0
|
15592
15767
|
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
15593
15768
|
/* end confdefs.h. */
|
15594
15769
|
|
15595
|
-
#
|
15596
|
-
# error mode(TI) is a gcc extension
|
15770
|
+
#if !defined(__GNUC__) && !defined(__SIZEOF_INT128__)
|
15771
|
+
# error mode(TI) is a gcc extension, and __int128 is not available
|
15597
15772
|
#endif
|
15598
15773
|
#if defined(__clang__) && !defined(__x86_64__)
|
15599
|
-
# error clang does not properly
|
15774
|
+
# error clang does not properly handle the 128-bit type on 32-bit systems
|
15600
15775
|
#endif
|
15601
15776
|
#ifndef NATIVE_LITTLE_ENDIAN
|
15602
|
-
# error
|
15777
|
+
# error libsodium currently expects a little endian CPU for the 128-bit type
|
15603
15778
|
#endif
|
15604
|
-
#ifdef
|
15779
|
+
#ifdef __EMSCRIPTEN__
|
15605
15780
|
# error emscripten currently supports only shift operations on integers \
|
15606
15781
|
# larger than 64 bits
|
15607
15782
|
#endif
|
15783
|
+
#include <stddef.h>
|
15608
15784
|
#include <stdint.h>
|
15785
|
+
#if defined(__SIZEOF_INT128__)
|
15786
|
+
typedef unsigned __int128 uint128_t;
|
15787
|
+
#else
|
15609
15788
|
typedef unsigned uint128_t __attribute__((mode(TI)));
|
15789
|
+
#endif
|
15610
15790
|
void fcontract(uint128_t *t) {
|
15611
15791
|
*t += 0x8000000000000 - 1;
|
15612
15792
|
}
|
@@ -15744,12 +15924,12 @@ esac
|
|
15744
15924
|
if test "x$aligned_access_required" = "xyes"; then :
|
15745
15925
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
|
15746
15926
|
$as_echo "yes" >&6; }
|
15747
|
-
|
15748
|
-
$as_echo "#define CPU_ALIGNED_ACCESS_REQUIRED 1" >>confdefs.h
|
15749
|
-
|
15750
15927
|
else
|
15751
15928
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
|
15752
15929
|
$as_echo "no" >&6; }
|
15930
|
+
|
15931
|
+
$as_echo "#define CPU_UNALIGNED_ACCESS 1" >>confdefs.h
|
15932
|
+
|
15753
15933
|
fi
|
15754
15934
|
|
15755
15935
|
|
@@ -16356,6 +16536,10 @@ if test -z "${HAVE_AMD64_ASM_TRUE}" && test -z "${HAVE_AMD64_ASM_FALSE}"; then
|
|
16356
16536
|
as_fn_error $? "conditional \"HAVE_AMD64_ASM\" was never defined.
|
16357
16537
|
Usually this means the macro was only invoked conditionally." "$LINENO" 5
|
16358
16538
|
fi
|
16539
|
+
if test -z "${HAVE_AVX_ASM_TRUE}" && test -z "${HAVE_AVX_ASM_FALSE}"; then
|
16540
|
+
as_fn_error $? "conditional \"HAVE_AVX_ASM\" was never defined.
|
16541
|
+
Usually this means the macro was only invoked conditionally." "$LINENO" 5
|
16542
|
+
fi
|
16359
16543
|
if test -z "${HAVE_TI_MODE_TRUE}" && test -z "${HAVE_TI_MODE_FALSE}"; then
|
16360
16544
|
as_fn_error $? "conditional \"HAVE_TI_MODE\" was never defined.
|
16361
16545
|
Usually this means the macro was only invoked conditionally." "$LINENO" 5
|
@@ -16769,7 +16953,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
|
|
16769
16953
|
# report actual input values of CONFIG_FILES etc. instead of their
|
16770
16954
|
# values after options handling.
|
16771
16955
|
ac_log="
|
16772
|
-
This file was extended by libsodium $as_me 1.0.
|
16956
|
+
This file was extended by libsodium $as_me 1.0.7, which was
|
16773
16957
|
generated by GNU Autoconf 2.69. Invocation command line was
|
16774
16958
|
|
16775
16959
|
CONFIG_FILES = $CONFIG_FILES
|
@@ -16827,7 +17011,7 @@ _ACEOF
|
|
16827
17011
|
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
|
16828
17012
|
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
|
16829
17013
|
ac_cs_version="\\
|
16830
|
-
libsodium config.status 1.0.
|
17014
|
+
libsodium config.status 1.0.7
|
16831
17015
|
configured by $0, generated by GNU Autoconf 2.69,
|
16832
17016
|
with options \\"\$ac_cs_config\\"
|
16833
17017
|
|
@@ -1,5 +1,5 @@
|
|
1
1
|
AC_PREREQ([2.65])
|
2
|
-
AC_INIT([libsodium],[1.0.
|
2
|
+
AC_INIT([libsodium],[1.0.7],
|
3
3
|
[https://github.com/jedisct1/libsodium/issues],
|
4
4
|
[libsodium],
|
5
5
|
[https://github.com/jedisct1/libsodium])
|
@@ -16,10 +16,10 @@ AC_SUBST(VERSION)
|
|
16
16
|
ISODATE=`date +%Y-%m-%d`
|
17
17
|
AC_SUBST(ISODATE)
|
18
18
|
|
19
|
-
SODIUM_LIBRARY_VERSION_MAJOR=
|
19
|
+
SODIUM_LIBRARY_VERSION_MAJOR=9
|
20
20
|
SODIUM_LIBRARY_VERSION_MINOR=0
|
21
|
-
DLL_VERSION=
|
22
|
-
SODIUM_LIBRARY_VERSION=
|
21
|
+
DLL_VERSION=8
|
22
|
+
SODIUM_LIBRARY_VERSION=18:0:0
|
23
23
|
# | | |
|
24
24
|
# +------+ | +---+
|
25
25
|
# | | |
|
@@ -135,6 +135,14 @@ AC_ARG_ENABLE(debug,
|
|
135
135
|
])
|
136
136
|
])
|
137
137
|
|
138
|
+
AC_ARG_ENABLE(opt,
|
139
|
+
[AS_HELP_STRING(--enable-opt,Optimize for the native CPU - The resulting library will be faster but not portable)],
|
140
|
+
[
|
141
|
+
AS_IF([test "x$enableval" = "xyes"], [
|
142
|
+
CFLAGS="$CFLAGS -flto -march=native"
|
143
|
+
LDFLAGS="$LDFLAGS -flto -march=native"])
|
144
|
+
])
|
145
|
+
|
138
146
|
AC_SUBST([MAINT])
|
139
147
|
|
140
148
|
dnl Checks
|
@@ -331,6 +339,19 @@ AS_IF([test "x$EMSCRIPTEN" = "x"],[
|
|
331
339
|
[AC_MSG_RESULT(no)])
|
332
340
|
CFLAGS="$oldcflags"
|
333
341
|
|
342
|
+
oldcflags="$CFLAGS"
|
343
|
+
AX_CHECK_COMPILE_FLAG([-mavx], [CFLAGS="$CFLAGS -mavx"])
|
344
|
+
AC_MSG_CHECKING(for AVX instructions set)
|
345
|
+
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
|
346
|
+
#pragma GCC target("avx")
|
347
|
+
#include <immintrin.h>
|
348
|
+
]], [[ _mm256_zeroall(); ]])],
|
349
|
+
[AC_MSG_RESULT(yes)
|
350
|
+
AC_DEFINE([HAVE_AVXINTRIN_H], [1], [AVX is available])
|
351
|
+
AX_CHECK_COMPILE_FLAG([-mavx], [CFLAGS_AVX="-mavx"])],
|
352
|
+
[AC_MSG_RESULT(no)])
|
353
|
+
CFLAGS="$oldcflags"
|
354
|
+
|
334
355
|
oldcflags="$CFLAGS"
|
335
356
|
AX_CHECK_COMPILE_FLAG([-maes], [CFLAGS="$CFLAGS -maes"])
|
336
357
|
AX_CHECK_COMPILE_FLAG([-mpclmul], [CFLAGS="$CFLAGS -mpclmul"])
|
@@ -386,7 +407,7 @@ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
|
|
386
407
|
|
387
408
|
HAVE_AMD64_ASM_V=0
|
388
409
|
AS_IF([test "$enable_asm" != "no"],[
|
389
|
-
AC_MSG_CHECKING(whether we
|
410
|
+
AC_MSG_CHECKING(whether we can use x86_64 asm code)
|
390
411
|
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
|
391
412
|
]], [[
|
392
413
|
#if defined(__amd64) || defined(__amd64__) || defined(__x86_64__)
|
@@ -397,34 +418,68 @@ AS_IF([test "$enable_asm" != "no"],[
|
|
397
418
|
#else
|
398
419
|
# error !x86_64
|
399
420
|
#endif
|
400
|
-
|
421
|
+
unsigned char i = 0, o = 0, t;
|
422
|
+
__asm__ __volatile__ ("pxor %%xmm12, %%xmm6 \n"
|
423
|
+
"movb (%[i]), %[t] \n"
|
424
|
+
"addb %[t], (%[o]) \n"
|
425
|
+
: [t] "=&r"(t)
|
426
|
+
: [o] "D"(&o), [i] "S"(&i)
|
427
|
+
: "memory", "flags", "cc");
|
401
428
|
]])],
|
402
429
|
[AC_MSG_RESULT(yes)
|
403
|
-
AC_DEFINE([HAVE_AMD64_ASM], [1], [x86_64 asm code
|
430
|
+
AC_DEFINE([HAVE_AMD64_ASM], [1], [x86_64 asm code can be used])
|
404
431
|
HAVE_AMD64_ASM_V=1],
|
405
432
|
[AC_MSG_RESULT(no)])
|
406
433
|
])
|
407
434
|
AM_CONDITIONAL([HAVE_AMD64_ASM], [test $HAVE_AMD64_ASM_V = 1])
|
408
435
|
AC_SUBST(HAVE_AMD64_ASM_V)
|
409
436
|
|
437
|
+
HAVE_AVX_ASM_V=0
|
438
|
+
AS_IF([test "$enable_asm" != "no"],[
|
439
|
+
AC_MSG_CHECKING(whether we can assemble AVX opcodes)
|
440
|
+
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
|
441
|
+
]], [[
|
442
|
+
#if defined(__amd64) || defined(__amd64__) || defined(__x86_64__)
|
443
|
+
# if defined(__CYGWIN__) || defined(__MINGW32__) || defined(__MINGW64__) || defined(_WIN32) || defined(_WIN64)
|
444
|
+
# error Windows x86_64 calling conventions are not supported yet
|
445
|
+
# endif
|
446
|
+
/* neat */
|
447
|
+
#else
|
448
|
+
# error !x86_64
|
449
|
+
#endif
|
450
|
+
__asm__ __volatile__ ("vpunpcklqdq %xmm0,%xmm13,%xmm0");
|
451
|
+
]])],
|
452
|
+
[AC_MSG_RESULT(yes)
|
453
|
+
AC_DEFINE([HAVE_AVX_ASM], [1], [AVX opcodes are supported])
|
454
|
+
HAVE_AVX_ASM_V=1],
|
455
|
+
[AC_MSG_RESULT(no)])
|
456
|
+
])
|
457
|
+
AM_CONDITIONAL([HAVE_AVX_ASM], [test $HAVE_AVX_ASM_V = 1])
|
458
|
+
AC_SUBST(HAVE_AVX_ASM_V)
|
459
|
+
|
410
460
|
AC_MSG_CHECKING(for 128-bit arithmetic)
|
411
461
|
HAVE_TI_MODE_V=0
|
412
462
|
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
|
413
|
-
#
|
414
|
-
# error mode(TI) is a gcc extension
|
463
|
+
#if !defined(__GNUC__) && !defined(__SIZEOF_INT128__)
|
464
|
+
# error mode(TI) is a gcc extension, and __int128 is not available
|
415
465
|
#endif
|
416
466
|
#if defined(__clang__) && !defined(__x86_64__)
|
417
|
-
# error clang does not properly
|
467
|
+
# error clang does not properly handle the 128-bit type on 32-bit systems
|
418
468
|
#endif
|
419
469
|
#ifndef NATIVE_LITTLE_ENDIAN
|
420
|
-
# error
|
470
|
+
# error libsodium currently expects a little endian CPU for the 128-bit type
|
421
471
|
#endif
|
422
|
-
#ifdef
|
472
|
+
#ifdef __EMSCRIPTEN__
|
423
473
|
# error emscripten currently supports only shift operations on integers \
|
424
474
|
# larger than 64 bits
|
425
475
|
#endif
|
476
|
+
#include <stddef.h>
|
426
477
|
#include <stdint.h>
|
478
|
+
#if defined(__SIZEOF_INT128__)
|
479
|
+
typedef unsigned __int128 uint128_t;
|
480
|
+
#else
|
427
481
|
typedef unsigned uint128_t __attribute__((mode(TI)));
|
482
|
+
#endif
|
428
483
|
void fcontract(uint128_t *t) {
|
429
484
|
*t += 0x8000000000000 - 1;
|
430
485
|
}
|
@@ -478,9 +533,9 @@ AS_CASE([$host_cpu],
|
|
478
533
|
]], [[]])], [aligned_access_required=no], [])]
|
479
534
|
)
|
480
535
|
AS_IF([test "x$aligned_access_required" = "xyes"],
|
481
|
-
[AC_MSG_RESULT(yes)
|
482
|
-
|
483
|
-
|
536
|
+
[AC_MSG_RESULT(yes)],
|
537
|
+
[AC_MSG_RESULT(no)
|
538
|
+
AC_DEFINE([CPU_UNALIGNED_ACCESS], [1], [unaligned memory access is supported])])
|
484
539
|
|
485
540
|
dnl Checks for functions and headers
|
486
541
|
|