From 449a6e279d1d67832d108236b47e877ca5f7d76a Mon Sep 17 00:00:00 2001
From: Donald Stufft <donald@stufft.io>
Date: Sat, 5 Oct 2013 09:57:03 -0400
Subject: [PATCH] Actually store the unpacked files instead of dynamically
 unpacking

---
 .gitignore                                    |     7 +
 MANIFEST.in                                   |    31 +-
 libsodium-0.4.3.tar.gz                        |   Bin 523169 -> 0 bytes
 setup.py                                      |    56 +-
 src/libsodium/AUTHORS                         |   101 +
 src/libsodium/ChangeLog                       |    56 +
 src/libsodium/LICENSE                         |    16 +
 src/libsodium/Makefile.am                     |    16 +
 src/libsodium/Makefile.in                     |   880 +
 src/libsodium/README                          |     1 +
 src/libsodium/README.markdown                 |   219 +
 src/libsodium/THANKS                          |    17 +
 src/libsodium/aclocal.m4                      |  1214 ++
 src/libsodium/autogen.sh                      |    16 +
 src/libsodium/compile                         |   347 +
 src/libsodium/config.guess                    |  1558 ++
 src/libsodium/config.sub                      |  1788 ++
 src/libsodium/configure                       | 17362 ++++++++++++++++
 src/libsodium/configure.ac                    |   400 +
 src/libsodium/depcomp                         |   791 +
 src/libsodium/install-sh                      |   527 +
 src/libsodium/libsodium.pc.in                 |    11 +
 src/libsodium/ltmain.sh                       |  9655 +++++++++
 src/libsodium/m4/ax_check_compile_flag.m4     |    73 +
 src/libsodium/m4/ax_check_link_flag.m4        |    72 +
 src/libsodium/m4/ld-output-def.m4             |    29 +
 src/libsodium/m4/libtool.m4                   |  7982 +++++++
 src/libsodium/m4/ltoptions.m4                 |   384 +
 src/libsodium/m4/ltsugar.m4                   |   123 +
 src/libsodium/m4/ltversion.m4                 |    23 +
 src/libsodium/m4/lt~obsolete.m4               |    98 +
 src/libsodium/m4/pkg.m4                       |   214 +
 src/libsodium/missing                         |   215 +
 src/libsodium/src/Makefile.am                 |     3 +
 src/libsodium/src/Makefile.in                 |   626 +
 src/libsodium/src/libsodium/Makefile.am       |   227 +
 src/libsodium/src/libsodium/Makefile.in       |  3535 ++++
 .../src/libsodium/crypto_auth/crypto_auth.c   |    34 +
 .../hmacsha256/auth_hmacsha256_api.c          |    16 +
 .../crypto_auth/hmacsha256/ref/api.h          |    10 +
 .../hmacsha256/ref/hmac_hmacsha256.c          |    83 +
 .../hmacsha256/ref/verify_hmacsha256.c        |     9 +
 .../hmacsha512256/auth_hmacsha512256_api.c    |    16 +
 .../crypto_auth/hmacsha512256/ref/api.h       |    10 +
 .../hmacsha512256/ref/hmac_hmacsha512256.c    |    86 +
 .../hmacsha512256/ref/verify_hmacsha512256.c  |     9 +
 .../src/libsodium/crypto_box/crypto_box.c     |    95 +
 .../box_curve25519xsalsa20poly1305_api.c      |    41 +
 .../ref/after_curve25519xsalsa20poly1305.c    |    22 +
 .../curve25519xsalsa20poly1305/ref/api.h      |    19 +
 .../ref/before_curve25519xsalsa20poly1305.c   |    19 +
 .../ref/box_curve25519xsalsa20poly1305.c      |    27 +
 .../ref/keypair_curve25519xsalsa20poly1305.c  |    12 +
 .../crypto_core/hsalsa20/core_hsalsa20_api.c  |    26 +
 .../libsodium/crypto_core/hsalsa20/ref2/api.h |    11 +
 .../crypto_core/hsalsa20/ref2/core_hsalsa20.c |   108 +
 .../crypto_core/salsa20/core_salsa20_api.c    |    26 +
 .../libsodium/crypto_core/salsa20/ref/api.h   |    11 +
 .../crypto_core/salsa20/ref/core_salsa20.c    |   134 +
 .../salsa2012/core_salsa2012_api.c            |    26 +
 .../libsodium/crypto_core/salsa2012/ref/api.h |    11 +
 .../salsa2012/ref/core_salsa2012.c            |   134 +
 .../crypto_core/salsa208/core_salsa208_api.c  |    26 +
 .../libsodium/crypto_core/salsa208/ref/api.h  |    11 +
 .../crypto_core/salsa208/ref/core_salsa208.c  |   134 +
 .../blake2/generichash_blake2_api.c           |    31 +
 .../crypto_generichash/blake2/ref/api.h       |     4 +
 .../blake2/ref/blake2-impl.h                  |   132 +
 .../crypto_generichash/blake2/ref/blake2.h    |   169 +
 .../blake2/ref/blake2b-ref.c                  |   359 +
 .../blake2/ref/generichash_blake2b.c          |    61 +
 .../crypto_generichash/crypto_generichash.c   |    84 +
 .../src/libsodium/crypto_hash/crypto_hash.c   |     9 +
 .../crypto_hash/sha256/hash_sha256_api.c      |    11 +
 .../libsodium/crypto_hash/sha256/ref/api.h    |     8 +
 .../crypto_hash/sha256/ref/hash_sha256.c      |    69 +
 .../crypto_hash/sha512/hash_sha512_api.c      |    11 +
 .../libsodium/crypto_hash/sha512/ref/api.h    |     8 +
 .../crypto_hash/sha512/ref/hash_sha512.c      |    71 +
 .../sha256/hashblocks_sha256_api.c            |    16 +
 .../crypto_hashblocks/sha256/ref/api.h        |     9 +
 .../sha256/ref/blocks_sha256.c                |   212 +
 .../sha512/hashblocks_sha512_api.c            |    16 +
 .../crypto_hashblocks/sha512/ref/api.h        |     9 +
 .../sha512/ref/blocks_sha512.c                |   239 +
 .../crypto_onetimeauth/crypto_onetimeauth.c   |    34 +
 .../crypto_onetimeauth/poly1305/53/api.h      |     8 +
 .../poly1305/53/auth_poly1305_53.c            |  1657 ++
 .../poly1305/53/verify_poly1305_53.c          |    10 +
 .../crypto_onetimeauth/poly1305/donna/api.h   |     8 +
 .../poly1305/donna/auth_poly1305_donna.c      |   151 +
 .../poly1305/donna/portable-jane.h            |   782 +
 .../poly1305/donna/verify_poly1305_donna.c    |    10 +
 .../poly1305/onetimeauth_poly1305.c           |    42 +
 .../poly1305/onetimeauth_poly1305_api.c       |    16 +
 .../poly1305/onetimeauth_poly1305_try.c       |   147 +
 .../crypto_scalarmult/crypto_scalarmult.c     |    34 +
 .../curve25519/donna_c64/api.h                |     9 +
 .../donna_c64/base_curve25519_donna_c64.c     |    13 +
 .../donna_c64/smult_curve25519_donna_c64.c    |   426 +
 .../crypto_scalarmult/curve25519/ref/api.h    |     8 +
 .../curve25519/ref/base_curve25519_ref.c      |    20 +
 .../curve25519/ref/smult_curve25519_ref.c     |   268 +
 .../crypto_secretbox/crypto_secretbox.c       |    48 +
 .../xsalsa20poly1305/ref/api.h                |    12 +
 .../ref/box_xsalsa20poly1305.c                |    35 +
 .../secretbox_xsalsa20poly1305_api.c          |    26 +
 .../crypto_shorthash/crypto_shorthash.c       |    27 +
 .../crypto_shorthash/siphash24/ref/api.h      |     8 +
 .../siphash24/ref/shorthash_siphash24.c       |    91 +
 .../siphash24/shorthash_siphash24_api.c       |    11 +
 .../src/libsodium/crypto_sign/crypto_sign.c   |    61 +
 .../libsodium/crypto_sign/ed25519/ref10/api.h |    14 +
 .../crypto_sign/ed25519/ref10/base.h          |  1344 ++
 .../crypto_sign/ed25519/ref10/base2.h         |    40 +
 .../libsodium/crypto_sign/ed25519/ref10/d.h   |     1 +
 .../libsodium/crypto_sign/ed25519/ref10/d2.h  |     1 +
 .../libsodium/crypto_sign/ed25519/ref10/fe.h  |    56 +
 .../crypto_sign/ed25519/ref10/fe_0.c          |    19 +
 .../crypto_sign/ed25519/ref10/fe_1.c          |    19 +
 .../crypto_sign/ed25519/ref10/fe_add.c        |    57 +
 .../crypto_sign/ed25519/ref10/fe_cmov.c       |    63 +
 .../crypto_sign/ed25519/ref10/fe_copy.c       |    29 +
 .../crypto_sign/ed25519/ref10/fe_frombytes.c  |    73 +
 .../crypto_sign/ed25519/ref10/fe_invert.c     |    14 +
 .../crypto_sign/ed25519/ref10/fe_isnegative.c |    16 +
 .../crypto_sign/ed25519/ref10/fe_isnonzero.c  |    19 +
 .../crypto_sign/ed25519/ref10/fe_mul.c        |   253 +
 .../crypto_sign/ed25519/ref10/fe_neg.c        |    45 +
 .../crypto_sign/ed25519/ref10/fe_pow22523.c   |    13 +
 .../crypto_sign/ed25519/ref10/fe_sq.c         |   149 +
 .../crypto_sign/ed25519/ref10/fe_sq2.c        |   160 +
 .../crypto_sign/ed25519/ref10/fe_sub.c        |    57 +
 .../crypto_sign/ed25519/ref10/fe_tobytes.c    |   119 +
 .../libsodium/crypto_sign/ed25519/ref10/ge.h  |    95 +
 .../crypto_sign/ed25519/ref10/ge_add.c        |    11 +
 .../crypto_sign/ed25519/ref10/ge_add.h        |    97 +
 .../ed25519/ref10/ge_double_scalarmult.c      |    96 +
 .../crypto_sign/ed25519/ref10/ge_frombytes.c  |    50 +
 .../crypto_sign/ed25519/ref10/ge_madd.c       |    11 +
 .../crypto_sign/ed25519/ref10/ge_madd.h       |    88 +
 .../crypto_sign/ed25519/ref10/ge_msub.c       |    11 +
 .../crypto_sign/ed25519/ref10/ge_msub.h       |    88 +
 .../crypto_sign/ed25519/ref10/ge_p1p1_to_p2.c |    12 +
 .../crypto_sign/ed25519/ref10/ge_p1p1_to_p3.c |    13 +
 .../crypto_sign/ed25519/ref10/ge_p2_0.c       |     8 +
 .../crypto_sign/ed25519/ref10/ge_p2_dbl.c     |    11 +
 .../crypto_sign/ed25519/ref10/ge_p2_dbl.h     |    73 +
 .../crypto_sign/ed25519/ref10/ge_p3_0.c       |     9 +
 .../crypto_sign/ed25519/ref10/ge_p3_dbl.c     |    12 +
 .../ed25519/ref10/ge_p3_to_cached.c           |    17 +
 .../crypto_sign/ed25519/ref10/ge_p3_to_p2.c   |    12 +
 .../crypto_sign/ed25519/ref10/ge_p3_tobytes.c |    14 +
 .../crypto_sign/ed25519/ref10/ge_precomp_0.c  |     8 +
 .../ed25519/ref10/ge_scalarmult_base.c        |   105 +
 .../crypto_sign/ed25519/ref10/ge_sub.c        |    11 +
 .../crypto_sign/ed25519/ref10/ge_sub.h        |    97 +
 .../crypto_sign/ed25519/ref10/ge_tobytes.c    |    14 +
 .../crypto_sign/ed25519/ref10/keypair.c       |    31 +
 .../crypto_sign/ed25519/ref10/open.c          |    40 +
 .../crypto_sign/ed25519/ref10/pow22523.h      |   160 +
 .../crypto_sign/ed25519/ref10/pow225521.h     |   160 +
 .../libsodium/crypto_sign/ed25519/ref10/sc.h  |    15 +
 .../crypto_sign/ed25519/ref10/sc_muladd.c     |   368 +
 .../crypto_sign/ed25519/ref10/sc_reduce.c     |   275 +
 .../crypto_sign/ed25519/ref10/sign.c          |    38 +
 .../crypto_sign/ed25519/ref10/sqrtm1.h        |     1 +
 .../crypto_sign/ed25519/sign_ed25519_api.c    |    26 +
 .../edwards25519sha512batch/ref/api.h         |    13 +
 .../edwards25519sha512batch/ref/fe25519.h     |    54 +
 .../ref/fe25519_edwards25519sha512batch.c     |   345 +
 .../edwards25519sha512batch/ref/ge25519.h     |    34 +
 .../ref/ge25519_edwards25519sha512batch.c     |   227 +
 .../edwards25519sha512batch/ref/sc25519.h     |    51 +
 .../ref/sc25519_edwards25519sha512batch.c     |   146 +
 .../ref/sign_edwards25519sha512batch.c        |   102 +
 .../sign_edwards25519sha512batch_api.c        |    21 +
 .../aes128ctr/portable/afternm_aes128ctr.c    |   158 +
 .../crypto_stream/aes128ctr/portable/api.h    |    14 +
 .../aes128ctr/portable/beforenm_aes128ctr.c   |    59 +
 .../crypto_stream/aes128ctr/portable/common.h |   788 +
 .../aes128ctr/portable/common_aes128ctr.c     |    64 +
 .../crypto_stream/aes128ctr/portable/consts.h |    28 +
 .../aes128ctr/portable/consts_aes128ctr.c     |    14 +
 .../crypto_stream/aes128ctr/portable/int128.h |    47 +
 .../aes128ctr/portable/int128_aes128ctr.c     |   128 +
 .../aes128ctr/portable/stream_aes128ctr.c     |    28 +
 .../crypto_stream/aes128ctr/portable/types.h  |    10 +
 .../portable/xor_afternm_aes128ctr.c          |   180 +
 .../aes128ctr/stream_aes128ctr_api.c          |    21 +
 .../aes256estream/hongjun/aes-table.h         |   309 +
 .../aes256estream/hongjun/aes256-ctr.c        |   238 +
 .../aes256estream/hongjun/aes256.h            |   158 +
 .../crypto_stream/aes256estream/hongjun/api.h |    14 +
 .../aes256estream/hongjun/ecrypt-sync.h       |    27 +
 .../aes256estream/stream_aes256estream_api.c  |    21 +
 .../libsodium/crypto_stream/crypto_stream.c   |    36 +
 .../crypto_stream/salsa20/amd64_xmm6/api.h    |     1 +
 .../amd64_xmm6/stream_salsa20_amd64_xmm6.S    |   950 +
 .../libsodium/crypto_stream/salsa20/ref/api.h |     8 +
 .../salsa20/ref/stream_salsa20_ref.c          |    55 +
 .../salsa20/ref/xor_salsa20_ref.c             |    58 +
 .../crypto_stream/salsa2012/ref/api.h         |    11 +
 .../salsa2012/ref/stream_salsa2012.c          |    51 +
 .../salsa2012/ref/xor_salsa2012.c             |    54 +
 .../salsa2012/stream_salsa2012_api.c          |    16 +
 .../crypto_stream/salsa208/ref/api.h          |    10 +
 .../salsa208/ref/stream_salsa208.c            |    51 +
 .../crypto_stream/salsa208/ref/xor_salsa208.c |    54 +
 .../salsa208/stream_salsa208_api.c            |    16 +
 .../crypto_stream/xsalsa20/ref/api.h          |    11 +
 .../xsalsa20/ref/stream_xsalsa20.c            |    24 +
 .../crypto_stream/xsalsa20/ref/xor_xsalsa20.c |    25 +
 .../xsalsa20/stream_xsalsa20_api.c            |    16 +
 .../src/libsodium/crypto_verify/16/ref/api.h  |     2 +
 .../crypto_verify/16/ref/verify_16.c          |    24 +
 .../crypto_verify/16/verify_16_api.c          |     6 +
 .../src/libsodium/crypto_verify/32/ref/api.h  |     2 +
 .../crypto_verify/32/ref/verify_32.c          |    40 +
 .../crypto_verify/32/verify_32_api.c          |     6 +
 .../src/libsodium/include/Makefile.am         |    61 +
 .../src/libsodium/include/Makefile.in         |   627 +
 src/libsodium/src/libsodium/include/sodium.h  |    48 +
 .../src/libsodium/include/sodium/core.h       |    18 +
 .../libsodium/include/sodium/crypto_auth.h    |    36 +
 .../include/sodium/crypto_auth_hmacsha256.h   |    36 +
 .../sodium/crypto_auth_hmacsha512256.h        |    36 +
 .../src/libsodium/include/sodium/crypto_box.h |    83 +
 .../crypto_box_curve25519xsalsa20poly1305.h   |    72 +
 .../include/sodium/crypto_core_hsalsa20.h     |    40 +
 .../include/sodium/crypto_core_salsa20.h      |    40 +
 .../include/sodium/crypto_core_salsa2012.h    |    40 +
 .../include/sodium/crypto_core_salsa208.h     |    40 +
 .../include/sodium/crypto_generichash.h       |    70 +
 .../sodium/crypto_generichash_blake2b.h       |    87 +
 .../libsodium/include/sodium/crypto_hash.h    |    23 +
 .../include/sodium/crypto_hash_sha256.h       |    29 +
 .../include/sodium/crypto_hash_sha512.h       |    29 +
 .../include/sodium/crypto_hashblocks_sha256.h |    32 +
 .../include/sodium/crypto_hashblocks_sha512.h |    32 +
 .../libsodium/include/sodium/crypto_int32.h   |     8 +
 .../libsodium/include/sodium/crypto_int64.h   |     8 +
 .../include/sodium/crypto_onetimeauth.h       |    37 +
 .../sodium/crypto_onetimeauth_poly1305.h      |    65 +
 .../sodium/crypto_onetimeauth_poly1305_53.h   |    34 +
 .../crypto_onetimeauth_poly1305_donna.h       |    34 +
 .../include/sodium/crypto_scalarmult.h        |    36 +
 .../sodium/crypto_scalarmult_curve25519.h     |    37 +
 .../sodium/crypto_scalarmult_curve25519.h.in  |    37 +
 .../include/sodium/crypto_secretbox.h         |    47 +
 .../crypto_secretbox_xsalsa20poly1305.h       |    44 +
 .../include/sodium/crypto_shorthash.h         |    33 +
 .../sodium/crypto_shorthash_siphash24.h       |    29 +
 .../libsodium/include/sodium/crypto_sign.h    |    61 +
 .../include/sodium/crypto_sign_ed25519.h      |    52 +
 .../crypto_sign_edwards25519sha512batch.h     |    44 +
 .../libsodium/include/sodium/crypto_stream.h  |    46 +
 .../include/sodium/crypto_stream_aes128ctr.h  |    60 +
 .../sodium/crypto_stream_aes256estream.h      |    61 +
 .../include/sodium/crypto_stream_salsa20.h    |    45 +
 .../include/sodium/crypto_stream_salsa20.h.in |    45 +
 .../include/sodium/crypto_stream_salsa2012.h  |    44 +
 .../include/sodium/crypto_stream_salsa208.h   |    44 +
 .../include/sodium/crypto_stream_xsalsa20.h   |    44 +
 .../libsodium/include/sodium/crypto_uint16.h  |     8 +
 .../libsodium/include/sodium/crypto_uint32.h  |     8 +
 .../libsodium/include/sodium/crypto_uint64.h  |     8 +
 .../libsodium/include/sodium/crypto_uint8.h   |     8 +
 .../include/sodium/crypto_verify_16.h         |    25 +
 .../include/sodium/crypto_verify_32.h         |    25 +
 .../src/libsodium/include/sodium/export.h     |    30 +
 .../libsodium/include/sodium/randombytes.h    |    53 +
 .../sodium/randombytes_salsa20_random.h       |    45 +
 .../include/sodium/randombytes_sysrandom.h    |    45 +
 .../src/libsodium/include/sodium/utils.h      |    36 +
 .../src/libsodium/include/sodium/version.h    |    29 +
 .../src/libsodium/include/sodium/version.h.in |    29 +
 .../src/libsodium/randombytes/randombytes.c   |    64 +
 .../salsa20/randombytes_salsa20_random.c      |   306 +
 .../sysrandom/randombytes_sysrandom.c         |   211 +
 src/libsodium/src/libsodium/sodium/compat.c   |   237 +
 src/libsodium/src/libsodium/sodium/core.c     |    23 +
 src/libsodium/src/libsodium/sodium/utils.c    |    89 +
 src/libsodium/src/libsodium/sodium/version.c  |    20 +
 src/libsodium/test-driver                     |   127 +
 src/libsodium/test/Makefile.am                |     5 +
 src/libsodium/test/Makefile.in                |   629 +
 src/libsodium/test/default/Makefile.am        |   264 +
 src/libsodium/test/default/Makefile.in        |  1797 ++
 src/libsodium/test/default/auth.c             |    21 +
 src/libsodium/test/default/auth.exp           |     4 +
 src/libsodium/test/default/auth2.c            |    36 +
 src/libsodium/test/default/auth2.exp          |     4 +
 src/libsodium/test/default/auth3.c            |    36 +
 src/libsodium/test/default/auth3.exp          |     1 +
 src/libsodium/test/default/auth5.c            |    37 +
 src/libsodium/test/default/auth5.exp          |     0
 src/libsodium/test/default/box.c              |    65 +
 src/libsodium/test/default/box.exp            |    19 +
 src/libsodium/test/default/box2.c             |    66 +
 src/libsodium/test/default/box2.exp           |    17 +
 src/libsodium/test/default/box7.c             |    37 +
 src/libsodium/test/default/box7.exp           |     0
 src/libsodium/test/default/box8.c             |    44 +
 src/libsodium/test/default/box8.exp           |     0
 src/libsodium/test/default/cmptest.h          |    46 +
 src/libsodium/test/default/core1.c            |    32 +
 src/libsodium/test/default/core1.exp          |     4 +
 src/libsodium/test/default/core2.c            |    35 +
 src/libsodium/test/default/core2.exp          |     4 +
 src/libsodium/test/default/core3.c            |    42 +
 src/libsodium/test/default/core3.exp          |     1 +
 src/libsodium/test/default/core4.c            |    35 +
 src/libsodium/test/default/core4.exp          |     8 +
 src/libsodium/test/default/core5.c            |    34 +
 src/libsodium/test/default/core5.exp          |     4 +
 src/libsodium/test/default/core6.c            |    49 +
 src/libsodium/test/default/core6.exp          |     4 +
 src/libsodium/test/default/generichash.c      |    27 +
 src/libsodium/test/default/generichash.exp    |    64 +
 src/libsodium/test/default/generichash2.c     |    31 +
 src/libsodium/test/default/generichash2.exp   |    64 +
 src/libsodium/test/default/hash.c             |    16 +
 src/libsodium/test/default/hash.exp           |     1 +
 src/libsodium/test/default/hash2.exp          |     1 +
 src/libsodium/test/default/hash3.c            |    16 +
 src/libsodium/test/default/hash3.exp          |     1 +
 src/libsodium/test/default/onetimeauth.c      |    44 +
 src/libsodium/test/default/onetimeauth.exp    |     2 +
 src/libsodium/test/default/onetimeauth2.c     |    42 +
 src/libsodium/test/default/onetimeauth2.exp   |     1 +
 src/libsodium/test/default/onetimeauth7.c     |    37 +
 src/libsodium/test/default/onetimeauth7.exp   |     0
 src/libsodium/test/default/randombytes.c      |    16 +
 src/libsodium/test/default/scalarmult.c       |    25 +
 src/libsodium/test/default/scalarmult.exp     |     4 +
 src/libsodium/test/default/scalarmult2.c      |    25 +
 src/libsodium/test/default/scalarmult2.exp    |     4 +
 src/libsodium/test/default/scalarmult5.c      |    32 +
 src/libsodium/test/default/scalarmult5.exp    |     4 +
 src/libsodium/test/default/scalarmult6.c      |    32 +
 src/libsodium/test/default/scalarmult6.exp    |     4 +
 src/libsodium/test/default/secretbox.c        |    58 +
 src/libsodium/test/default/secretbox.exp      |    19 +
 src/libsodium/test/default/secretbox2.c       |    59 +
 src/libsodium/test/default/secretbox2.exp     |    17 +
 src/libsodium/test/default/secretbox7.c       |    33 +
 src/libsodium/test/default/secretbox7.exp     |     0
 src/libsodium/test/default/secretbox8.c       |    40 +
 src/libsodium/test/default/secretbox8.exp     |     0
 src/libsodium/test/default/shorthash.c        |    23 +
 src/libsodium/test/default/shorthash.exp      |    64 +
 src/libsodium/test/default/sodium_core.c      |    11 +
 src/libsodium/test/default/sodium_core.exp    |     1 +
 src/libsodium/test/default/sodium_utils.c     |    27 +
 src/libsodium/test/default/sodium_utils.exp   |     6 +
 src/libsodium/test/default/sodium_version.c   |    13 +
 src/libsodium/test/default/sodium_version.exp |     3 +
 src/libsodium/test/default/stream.c           |    30 +
 src/libsodium/test/default/stream.exp         |     1 +
 src/libsodium/test/default/stream2.c          |    28 +
 src/libsodium/test/default/stream2.exp        |     1 +
 src/libsodium/test/default/stream3.c          |    30 +
 src/libsodium/test/default/stream3.exp        |     4 +
 src/libsodium/test/default/stream4.c          |    55 +
 src/libsodium/test/default/stream4.exp        |    17 +
 src/libsodium/test/default/stream5.c          |    29 +
 src/libsodium/test/default/stream5.exp        |     1 +
 src/libsodium/test/default/stream6.c          |    54 +
 src/libsodium/test/default/stream6.exp        |    17 +
 .../test/quirks/windows/windows-quirks.h      |    18 +
 371 files changed, 73184 insertions(+), 41 deletions(-)
 delete mode 100644 libsodium-0.4.3.tar.gz
 create mode 100644 src/libsodium/AUTHORS
 create mode 100644 src/libsodium/ChangeLog
 create mode 100644 src/libsodium/LICENSE
 create mode 100644 src/libsodium/Makefile.am
 create mode 100644 src/libsodium/Makefile.in
 create mode 100644 src/libsodium/README
 create mode 100644 src/libsodium/README.markdown
 create mode 100644 src/libsodium/THANKS
 create mode 100644 src/libsodium/aclocal.m4
 create mode 100755 src/libsodium/autogen.sh
 create mode 100755 src/libsodium/compile
 create mode 100755 src/libsodium/config.guess
 create mode 100755 src/libsodium/config.sub
 create mode 100755 src/libsodium/configure
 create mode 100644 src/libsodium/configure.ac
 create mode 100755 src/libsodium/depcomp
 create mode 100755 src/libsodium/install-sh
 create mode 100644 src/libsodium/libsodium.pc.in
 create mode 100644 src/libsodium/ltmain.sh
 create mode 100644 src/libsodium/m4/ax_check_compile_flag.m4
 create mode 100644 src/libsodium/m4/ax_check_link_flag.m4
 create mode 100644 src/libsodium/m4/ld-output-def.m4
 create mode 100644 src/libsodium/m4/libtool.m4
 create mode 100644 src/libsodium/m4/ltoptions.m4
 create mode 100644 src/libsodium/m4/ltsugar.m4
 create mode 100644 src/libsodium/m4/ltversion.m4
 create mode 100644 src/libsodium/m4/lt~obsolete.m4
 create mode 100644 src/libsodium/m4/pkg.m4
 create mode 100755 src/libsodium/missing
 create mode 100644 src/libsodium/src/Makefile.am
 create mode 100644 src/libsodium/src/Makefile.in
 create mode 100644 src/libsodium/src/libsodium/Makefile.am
 create mode 100644 src/libsodium/src/libsodium/Makefile.in
 create mode 100644 src/libsodium/src/libsodium/crypto_auth/crypto_auth.c
 create mode 100644 src/libsodium/src/libsodium/crypto_auth/hmacsha256/auth_hmacsha256_api.c
 create mode 100644 src/libsodium/src/libsodium/crypto_auth/hmacsha256/ref/api.h
 create mode 100644 src/libsodium/src/libsodium/crypto_auth/hmacsha256/ref/hmac_hmacsha256.c
 create mode 100644 src/libsodium/src/libsodium/crypto_auth/hmacsha256/ref/verify_hmacsha256.c
 create mode 100644 src/libsodium/src/libsodium/crypto_auth/hmacsha512256/auth_hmacsha512256_api.c
 create mode 100644 src/libsodium/src/libsodium/crypto_auth/hmacsha512256/ref/api.h
 create mode 100644 src/libsodium/src/libsodium/crypto_auth/hmacsha512256/ref/hmac_hmacsha512256.c
 create mode 100644 src/libsodium/src/libsodium/crypto_auth/hmacsha512256/ref/verify_hmacsha512256.c
 create mode 100644 src/libsodium/src/libsodium/crypto_box/crypto_box.c
 create mode 100644 src/libsodium/src/libsodium/crypto_box/curve25519xsalsa20poly1305/box_curve25519xsalsa20poly1305_api.c
 create mode 100644 src/libsodium/src/libsodium/crypto_box/curve25519xsalsa20poly1305/ref/after_curve25519xsalsa20poly1305.c
 create mode 100644 src/libsodium/src/libsodium/crypto_box/curve25519xsalsa20poly1305/ref/api.h
 create mode 100644 src/libsodium/src/libsodium/crypto_box/curve25519xsalsa20poly1305/ref/before_curve25519xsalsa20poly1305.c
 create mode 100644 src/libsodium/src/libsodium/crypto_box/curve25519xsalsa20poly1305/ref/box_curve25519xsalsa20poly1305.c
 create mode 100644 src/libsodium/src/libsodium/crypto_box/curve25519xsalsa20poly1305/ref/keypair_curve25519xsalsa20poly1305.c
 create mode 100644 src/libsodium/src/libsodium/crypto_core/hsalsa20/core_hsalsa20_api.c
 create mode 100644 src/libsodium/src/libsodium/crypto_core/hsalsa20/ref2/api.h
 create mode 100644 src/libsodium/src/libsodium/crypto_core/hsalsa20/ref2/core_hsalsa20.c
 create mode 100644 src/libsodium/src/libsodium/crypto_core/salsa20/core_salsa20_api.c
 create mode 100644 src/libsodium/src/libsodium/crypto_core/salsa20/ref/api.h
 create mode 100644 src/libsodium/src/libsodium/crypto_core/salsa20/ref/core_salsa20.c
 create mode 100644 src/libsodium/src/libsodium/crypto_core/salsa2012/core_salsa2012_api.c
 create mode 100644 src/libsodium/src/libsodium/crypto_core/salsa2012/ref/api.h
 create mode 100644 src/libsodium/src/libsodium/crypto_core/salsa2012/ref/core_salsa2012.c
 create mode 100644 src/libsodium/src/libsodium/crypto_core/salsa208/core_salsa208_api.c
 create mode 100644 src/libsodium/src/libsodium/crypto_core/salsa208/ref/api.h
 create mode 100644 src/libsodium/src/libsodium/crypto_core/salsa208/ref/core_salsa208.c
 create mode 100644 src/libsodium/src/libsodium/crypto_generichash/blake2/generichash_blake2_api.c
 create mode 100644 src/libsodium/src/libsodium/crypto_generichash/blake2/ref/api.h
 create mode 100644 src/libsodium/src/libsodium/crypto_generichash/blake2/ref/blake2-impl.h
 create mode 100644 src/libsodium/src/libsodium/crypto_generichash/blake2/ref/blake2.h
 create mode 100644 src/libsodium/src/libsodium/crypto_generichash/blake2/ref/blake2b-ref.c
 create mode 100644 src/libsodium/src/libsodium/crypto_generichash/blake2/ref/generichash_blake2b.c
 create mode 100644 src/libsodium/src/libsodium/crypto_generichash/crypto_generichash.c
 create mode 100644 src/libsodium/src/libsodium/crypto_hash/crypto_hash.c
 create mode 100644 src/libsodium/src/libsodium/crypto_hash/sha256/hash_sha256_api.c
 create mode 100644 src/libsodium/src/libsodium/crypto_hash/sha256/ref/api.h
 create mode 100644 src/libsodium/src/libsodium/crypto_hash/sha256/ref/hash_sha256.c
 create mode 100644 src/libsodium/src/libsodium/crypto_hash/sha512/hash_sha512_api.c
 create mode 100644 src/libsodium/src/libsodium/crypto_hash/sha512/ref/api.h
 create mode 100644 src/libsodium/src/libsodium/crypto_hash/sha512/ref/hash_sha512.c
 create mode 100644 src/libsodium/src/libsodium/crypto_hashblocks/sha256/hashblocks_sha256_api.c
 create mode 100644 src/libsodium/src/libsodium/crypto_hashblocks/sha256/ref/api.h
 create mode 100644 src/libsodium/src/libsodium/crypto_hashblocks/sha256/ref/blocks_sha256.c
 create mode 100644 src/libsodium/src/libsodium/crypto_hashblocks/sha512/hashblocks_sha512_api.c
 create mode 100644 src/libsodium/src/libsodium/crypto_hashblocks/sha512/ref/api.h
 create mode 100644 src/libsodium/src/libsodium/crypto_hashblocks/sha512/ref/blocks_sha512.c
 create mode 100644 src/libsodium/src/libsodium/crypto_onetimeauth/crypto_onetimeauth.c
 create mode 100644 src/libsodium/src/libsodium/crypto_onetimeauth/poly1305/53/api.h
 create mode 100644 src/libsodium/src/libsodium/crypto_onetimeauth/poly1305/53/auth_poly1305_53.c
 create mode 100644 src/libsodium/src/libsodium/crypto_onetimeauth/poly1305/53/verify_poly1305_53.c
 create mode 100644 src/libsodium/src/libsodium/crypto_onetimeauth/poly1305/donna/api.h
 create mode 100644 src/libsodium/src/libsodium/crypto_onetimeauth/poly1305/donna/auth_poly1305_donna.c
 create mode 100644 src/libsodium/src/libsodium/crypto_onetimeauth/poly1305/donna/portable-jane.h
 create mode 100644 src/libsodium/src/libsodium/crypto_onetimeauth/poly1305/donna/verify_poly1305_donna.c
 create mode 100644 src/libsodium/src/libsodium/crypto_onetimeauth/poly1305/onetimeauth_poly1305.c
 create mode 100644 src/libsodium/src/libsodium/crypto_onetimeauth/poly1305/onetimeauth_poly1305_api.c
 create mode 100644 src/libsodium/src/libsodium/crypto_onetimeauth/poly1305/onetimeauth_poly1305_try.c
 create mode 100644 src/libsodium/src/libsodium/crypto_scalarmult/crypto_scalarmult.c
 create mode 100644 src/libsodium/src/libsodium/crypto_scalarmult/curve25519/donna_c64/api.h
 create mode 100644 src/libsodium/src/libsodium/crypto_scalarmult/curve25519/donna_c64/base_curve25519_donna_c64.c
 create mode 100644 src/libsodium/src/libsodium/crypto_scalarmult/curve25519/donna_c64/smult_curve25519_donna_c64.c
 create mode 100644 src/libsodium/src/libsodium/crypto_scalarmult/curve25519/ref/api.h
 create mode 100644 src/libsodium/src/libsodium/crypto_scalarmult/curve25519/ref/base_curve25519_ref.c
 create mode 100644 src/libsodium/src/libsodium/crypto_scalarmult/curve25519/ref/smult_curve25519_ref.c
 create mode 100644 src/libsodium/src/libsodium/crypto_secretbox/crypto_secretbox.c
 create mode 100644 src/libsodium/src/libsodium/crypto_secretbox/xsalsa20poly1305/ref/api.h
 create mode 100644 src/libsodium/src/libsodium/crypto_secretbox/xsalsa20poly1305/ref/box_xsalsa20poly1305.c
 create mode 100644 src/libsodium/src/libsodium/crypto_secretbox/xsalsa20poly1305/secretbox_xsalsa20poly1305_api.c
 create mode 100644 src/libsodium/src/libsodium/crypto_shorthash/crypto_shorthash.c
 create mode 100644 src/libsodium/src/libsodium/crypto_shorthash/siphash24/ref/api.h
 create mode 100644 src/libsodium/src/libsodium/crypto_shorthash/siphash24/ref/shorthash_siphash24.c
 create mode 100644 src/libsodium/src/libsodium/crypto_shorthash/siphash24/shorthash_siphash24_api.c
 create mode 100644 src/libsodium/src/libsodium/crypto_sign/crypto_sign.c
 create mode 100644 src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/api.h
 create mode 100644 src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/base.h
 create mode 100644 src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/base2.h
 create mode 100644 src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/d.h
 create mode 100644 src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/d2.h
 create mode 100644 src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/fe.h
 create mode 100644 src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/fe_0.c
 create mode 100644 src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/fe_1.c
 create mode 100644 src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/fe_add.c
 create mode 100644 src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/fe_cmov.c
 create mode 100644 src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/fe_copy.c
 create mode 100644 src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/fe_frombytes.c
 create mode 100644 src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/fe_invert.c
 create mode 100644 src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/fe_isnegative.c
 create mode 100644 src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/fe_isnonzero.c
 create mode 100644 src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/fe_mul.c
 create mode 100644 src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/fe_neg.c
 create mode 100644 src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/fe_pow22523.c
 create mode 100644 src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/fe_sq.c
 create mode 100644 src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/fe_sq2.c
 create mode 100644 src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/fe_sub.c
 create mode 100644 src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/fe_tobytes.c
 create mode 100644 src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge.h
 create mode 100644 src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge_add.c
 create mode 100644 src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge_add.h
 create mode 100644 src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge_double_scalarmult.c
 create mode 100644 src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge_frombytes.c
 create mode 100644 src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge_madd.c
 create mode 100644 src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge_madd.h
 create mode 100644 src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge_msub.c
 create mode 100644 src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge_msub.h
 create mode 100644 src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge_p1p1_to_p2.c
 create mode 100644 src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge_p1p1_to_p3.c
 create mode 100644 src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge_p2_0.c
 create mode 100644 src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge_p2_dbl.c
 create mode 100644 src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge_p2_dbl.h
 create mode 100644 src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge_p3_0.c
 create mode 100644 src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge_p3_dbl.c
 create mode 100644 src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge_p3_to_cached.c
 create mode 100644 src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge_p3_to_p2.c
 create mode 100644 src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge_p3_tobytes.c
 create mode 100644 src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge_precomp_0.c
 create mode 100644 src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge_scalarmult_base.c
 create mode 100644 src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge_sub.c
 create mode 100644 src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge_sub.h
 create mode 100644 src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge_tobytes.c
 create mode 100644 src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/keypair.c
 create mode 100644 src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/open.c
 create mode 100644 src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/pow22523.h
 create mode 100644 src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/pow225521.h
 create mode 100644 src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/sc.h
 create mode 100644 src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/sc_muladd.c
 create mode 100644 src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/sc_reduce.c
 create mode 100644 src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/sign.c
 create mode 100644 src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/sqrtm1.h
 create mode 100644 src/libsodium/src/libsodium/crypto_sign/ed25519/sign_ed25519_api.c
 create mode 100644 src/libsodium/src/libsodium/crypto_sign/edwards25519sha512batch/ref/api.h
 create mode 100644 src/libsodium/src/libsodium/crypto_sign/edwards25519sha512batch/ref/fe25519.h
 create mode 100644 src/libsodium/src/libsodium/crypto_sign/edwards25519sha512batch/ref/fe25519_edwards25519sha512batch.c
 create mode 100644 src/libsodium/src/libsodium/crypto_sign/edwards25519sha512batch/ref/ge25519.h
 create mode 100644 src/libsodium/src/libsodium/crypto_sign/edwards25519sha512batch/ref/ge25519_edwards25519sha512batch.c
 create mode 100644 src/libsodium/src/libsodium/crypto_sign/edwards25519sha512batch/ref/sc25519.h
 create mode 100644 src/libsodium/src/libsodium/crypto_sign/edwards25519sha512batch/ref/sc25519_edwards25519sha512batch.c
 create mode 100644 src/libsodium/src/libsodium/crypto_sign/edwards25519sha512batch/ref/sign_edwards25519sha512batch.c
 create mode 100644 src/libsodium/src/libsodium/crypto_sign/edwards25519sha512batch/sign_edwards25519sha512batch_api.c
 create mode 100644 src/libsodium/src/libsodium/crypto_stream/aes128ctr/portable/afternm_aes128ctr.c
 create mode 100644 src/libsodium/src/libsodium/crypto_stream/aes128ctr/portable/api.h
 create mode 100644 src/libsodium/src/libsodium/crypto_stream/aes128ctr/portable/beforenm_aes128ctr.c
 create mode 100644 src/libsodium/src/libsodium/crypto_stream/aes128ctr/portable/common.h
 create mode 100644 src/libsodium/src/libsodium/crypto_stream/aes128ctr/portable/common_aes128ctr.c
 create mode 100644 src/libsodium/src/libsodium/crypto_stream/aes128ctr/portable/consts.h
 create mode 100644 src/libsodium/src/libsodium/crypto_stream/aes128ctr/portable/consts_aes128ctr.c
 create mode 100644 src/libsodium/src/libsodium/crypto_stream/aes128ctr/portable/int128.h
 create mode 100644 src/libsodium/src/libsodium/crypto_stream/aes128ctr/portable/int128_aes128ctr.c
 create mode 100644 src/libsodium/src/libsodium/crypto_stream/aes128ctr/portable/stream_aes128ctr.c
 create mode 100644 src/libsodium/src/libsodium/crypto_stream/aes128ctr/portable/types.h
 create mode 100644 src/libsodium/src/libsodium/crypto_stream/aes128ctr/portable/xor_afternm_aes128ctr.c
 create mode 100644 src/libsodium/src/libsodium/crypto_stream/aes128ctr/stream_aes128ctr_api.c
 create mode 100644 src/libsodium/src/libsodium/crypto_stream/aes256estream/hongjun/aes-table.h
 create mode 100644 src/libsodium/src/libsodium/crypto_stream/aes256estream/hongjun/aes256-ctr.c
 create mode 100644 src/libsodium/src/libsodium/crypto_stream/aes256estream/hongjun/aes256.h
 create mode 100644 src/libsodium/src/libsodium/crypto_stream/aes256estream/hongjun/api.h
 create mode 100644 src/libsodium/src/libsodium/crypto_stream/aes256estream/hongjun/ecrypt-sync.h
 create mode 100644 src/libsodium/src/libsodium/crypto_stream/aes256estream/stream_aes256estream_api.c
 create mode 100644 src/libsodium/src/libsodium/crypto_stream/crypto_stream.c
 create mode 100644 src/libsodium/src/libsodium/crypto_stream/salsa20/amd64_xmm6/api.h
 create mode 100644 src/libsodium/src/libsodium/crypto_stream/salsa20/amd64_xmm6/stream_salsa20_amd64_xmm6.S
 create mode 100644 src/libsodium/src/libsodium/crypto_stream/salsa20/ref/api.h
 create mode 100644 src/libsodium/src/libsodium/crypto_stream/salsa20/ref/stream_salsa20_ref.c
 create mode 100644 src/libsodium/src/libsodium/crypto_stream/salsa20/ref/xor_salsa20_ref.c
 create mode 100644 src/libsodium/src/libsodium/crypto_stream/salsa2012/ref/api.h
 create mode 100644 src/libsodium/src/libsodium/crypto_stream/salsa2012/ref/stream_salsa2012.c
 create mode 100644 src/libsodium/src/libsodium/crypto_stream/salsa2012/ref/xor_salsa2012.c
 create mode 100644 src/libsodium/src/libsodium/crypto_stream/salsa2012/stream_salsa2012_api.c
 create mode 100644 src/libsodium/src/libsodium/crypto_stream/salsa208/ref/api.h
 create mode 100644 src/libsodium/src/libsodium/crypto_stream/salsa208/ref/stream_salsa208.c
 create mode 100644 src/libsodium/src/libsodium/crypto_stream/salsa208/ref/xor_salsa208.c
 create mode 100644 src/libsodium/src/libsodium/crypto_stream/salsa208/stream_salsa208_api.c
 create mode 100644 src/libsodium/src/libsodium/crypto_stream/xsalsa20/ref/api.h
 create mode 100644 src/libsodium/src/libsodium/crypto_stream/xsalsa20/ref/stream_xsalsa20.c
 create mode 100644 src/libsodium/src/libsodium/crypto_stream/xsalsa20/ref/xor_xsalsa20.c
 create mode 100644 src/libsodium/src/libsodium/crypto_stream/xsalsa20/stream_xsalsa20_api.c
 create mode 100644 src/libsodium/src/libsodium/crypto_verify/16/ref/api.h
 create mode 100644 src/libsodium/src/libsodium/crypto_verify/16/ref/verify_16.c
 create mode 100644 src/libsodium/src/libsodium/crypto_verify/16/verify_16_api.c
 create mode 100644 src/libsodium/src/libsodium/crypto_verify/32/ref/api.h
 create mode 100644 src/libsodium/src/libsodium/crypto_verify/32/ref/verify_32.c
 create mode 100644 src/libsodium/src/libsodium/crypto_verify/32/verify_32_api.c
 create mode 100644 src/libsodium/src/libsodium/include/Makefile.am
 create mode 100644 src/libsodium/src/libsodium/include/Makefile.in
 create mode 100644 src/libsodium/src/libsodium/include/sodium.h
 create mode 100644 src/libsodium/src/libsodium/include/sodium/core.h
 create mode 100644 src/libsodium/src/libsodium/include/sodium/crypto_auth.h
 create mode 100644 src/libsodium/src/libsodium/include/sodium/crypto_auth_hmacsha256.h
 create mode 100644 src/libsodium/src/libsodium/include/sodium/crypto_auth_hmacsha512256.h
 create mode 100644 src/libsodium/src/libsodium/include/sodium/crypto_box.h
 create mode 100644 src/libsodium/src/libsodium/include/sodium/crypto_box_curve25519xsalsa20poly1305.h
 create mode 100644 src/libsodium/src/libsodium/include/sodium/crypto_core_hsalsa20.h
 create mode 100644 src/libsodium/src/libsodium/include/sodium/crypto_core_salsa20.h
 create mode 100644 src/libsodium/src/libsodium/include/sodium/crypto_core_salsa2012.h
 create mode 100644 src/libsodium/src/libsodium/include/sodium/crypto_core_salsa208.h
 create mode 100644 src/libsodium/src/libsodium/include/sodium/crypto_generichash.h
 create mode 100644 src/libsodium/src/libsodium/include/sodium/crypto_generichash_blake2b.h
 create mode 100644 src/libsodium/src/libsodium/include/sodium/crypto_hash.h
 create mode 100644 src/libsodium/src/libsodium/include/sodium/crypto_hash_sha256.h
 create mode 100644 src/libsodium/src/libsodium/include/sodium/crypto_hash_sha512.h
 create mode 100644 src/libsodium/src/libsodium/include/sodium/crypto_hashblocks_sha256.h
 create mode 100644 src/libsodium/src/libsodium/include/sodium/crypto_hashblocks_sha512.h
 create mode 100644 src/libsodium/src/libsodium/include/sodium/crypto_int32.h
 create mode 100644 src/libsodium/src/libsodium/include/sodium/crypto_int64.h
 create mode 100644 src/libsodium/src/libsodium/include/sodium/crypto_onetimeauth.h
 create mode 100644 src/libsodium/src/libsodium/include/sodium/crypto_onetimeauth_poly1305.h
 create mode 100644 src/libsodium/src/libsodium/include/sodium/crypto_onetimeauth_poly1305_53.h
 create mode 100644 src/libsodium/src/libsodium/include/sodium/crypto_onetimeauth_poly1305_donna.h
 create mode 100644 src/libsodium/src/libsodium/include/sodium/crypto_scalarmult.h
 create mode 100644 src/libsodium/src/libsodium/include/sodium/crypto_scalarmult_curve25519.h
 create mode 100644 src/libsodium/src/libsodium/include/sodium/crypto_scalarmult_curve25519.h.in
 create mode 100644 src/libsodium/src/libsodium/include/sodium/crypto_secretbox.h
 create mode 100644 src/libsodium/src/libsodium/include/sodium/crypto_secretbox_xsalsa20poly1305.h
 create mode 100644 src/libsodium/src/libsodium/include/sodium/crypto_shorthash.h
 create mode 100644 src/libsodium/src/libsodium/include/sodium/crypto_shorthash_siphash24.h
 create mode 100644 src/libsodium/src/libsodium/include/sodium/crypto_sign.h
 create mode 100644 src/libsodium/src/libsodium/include/sodium/crypto_sign_ed25519.h
 create mode 100644 src/libsodium/src/libsodium/include/sodium/crypto_sign_edwards25519sha512batch.h
 create mode 100644 src/libsodium/src/libsodium/include/sodium/crypto_stream.h
 create mode 100644 src/libsodium/src/libsodium/include/sodium/crypto_stream_aes128ctr.h
 create mode 100644 src/libsodium/src/libsodium/include/sodium/crypto_stream_aes256estream.h
 create mode 100644 src/libsodium/src/libsodium/include/sodium/crypto_stream_salsa20.h
 create mode 100644 src/libsodium/src/libsodium/include/sodium/crypto_stream_salsa20.h.in
 create mode 100644 src/libsodium/src/libsodium/include/sodium/crypto_stream_salsa2012.h
 create mode 100644 src/libsodium/src/libsodium/include/sodium/crypto_stream_salsa208.h
 create mode 100644 src/libsodium/src/libsodium/include/sodium/crypto_stream_xsalsa20.h
 create mode 100644 src/libsodium/src/libsodium/include/sodium/crypto_uint16.h
 create mode 100644 src/libsodium/src/libsodium/include/sodium/crypto_uint32.h
 create mode 100644 src/libsodium/src/libsodium/include/sodium/crypto_uint64.h
 create mode 100644 src/libsodium/src/libsodium/include/sodium/crypto_uint8.h
 create mode 100644 src/libsodium/src/libsodium/include/sodium/crypto_verify_16.h
 create mode 100644 src/libsodium/src/libsodium/include/sodium/crypto_verify_32.h
 create mode 100644 src/libsodium/src/libsodium/include/sodium/export.h
 create mode 100644 src/libsodium/src/libsodium/include/sodium/randombytes.h
 create mode 100644 src/libsodium/src/libsodium/include/sodium/randombytes_salsa20_random.h
 create mode 100644 src/libsodium/src/libsodium/include/sodium/randombytes_sysrandom.h
 create mode 100644 src/libsodium/src/libsodium/include/sodium/utils.h
 create mode 100644 src/libsodium/src/libsodium/include/sodium/version.h
 create mode 100644 src/libsodium/src/libsodium/include/sodium/version.h.in
 create mode 100644 src/libsodium/src/libsodium/randombytes/randombytes.c
 create mode 100644 src/libsodium/src/libsodium/randombytes/salsa20/randombytes_salsa20_random.c
 create mode 100644 src/libsodium/src/libsodium/randombytes/sysrandom/randombytes_sysrandom.c
 create mode 100644 src/libsodium/src/libsodium/sodium/compat.c
 create mode 100644 src/libsodium/src/libsodium/sodium/core.c
 create mode 100644 src/libsodium/src/libsodium/sodium/utils.c
 create mode 100644 src/libsodium/src/libsodium/sodium/version.c
 create mode 100755 src/libsodium/test-driver
 create mode 100644 src/libsodium/test/Makefile.am
 create mode 100644 src/libsodium/test/Makefile.in
 create mode 100644 src/libsodium/test/default/Makefile.am
 create mode 100644 src/libsodium/test/default/Makefile.in
 create mode 100644 src/libsodium/test/default/auth.c
 create mode 100644 src/libsodium/test/default/auth.exp
 create mode 100644 src/libsodium/test/default/auth2.c
 create mode 100644 src/libsodium/test/default/auth2.exp
 create mode 100644 src/libsodium/test/default/auth3.c
 create mode 100644 src/libsodium/test/default/auth3.exp
 create mode 100644 src/libsodium/test/default/auth5.c
 create mode 100644 src/libsodium/test/default/auth5.exp
 create mode 100644 src/libsodium/test/default/box.c
 create mode 100644 src/libsodium/test/default/box.exp
 create mode 100644 src/libsodium/test/default/box2.c
 create mode 100644 src/libsodium/test/default/box2.exp
 create mode 100644 src/libsodium/test/default/box7.c
 create mode 100644 src/libsodium/test/default/box7.exp
 create mode 100644 src/libsodium/test/default/box8.c
 create mode 100644 src/libsodium/test/default/box8.exp
 create mode 100644 src/libsodium/test/default/cmptest.h
 create mode 100644 src/libsodium/test/default/core1.c
 create mode 100644 src/libsodium/test/default/core1.exp
 create mode 100644 src/libsodium/test/default/core2.c
 create mode 100644 src/libsodium/test/default/core2.exp
 create mode 100644 src/libsodium/test/default/core3.c
 create mode 100644 src/libsodium/test/default/core3.exp
 create mode 100644 src/libsodium/test/default/core4.c
 create mode 100644 src/libsodium/test/default/core4.exp
 create mode 100644 src/libsodium/test/default/core5.c
 create mode 100644 src/libsodium/test/default/core5.exp
 create mode 100644 src/libsodium/test/default/core6.c
 create mode 100644 src/libsodium/test/default/core6.exp
 create mode 100644 src/libsodium/test/default/generichash.c
 create mode 100644 src/libsodium/test/default/generichash.exp
 create mode 100644 src/libsodium/test/default/generichash2.c
 create mode 100644 src/libsodium/test/default/generichash2.exp
 create mode 100644 src/libsodium/test/default/hash.c
 create mode 100644 src/libsodium/test/default/hash.exp
 create mode 100644 src/libsodium/test/default/hash2.exp
 create mode 100644 src/libsodium/test/default/hash3.c
 create mode 100644 src/libsodium/test/default/hash3.exp
 create mode 100644 src/libsodium/test/default/onetimeauth.c
 create mode 100644 src/libsodium/test/default/onetimeauth.exp
 create mode 100644 src/libsodium/test/default/onetimeauth2.c
 create mode 100644 src/libsodium/test/default/onetimeauth2.exp
 create mode 100644 src/libsodium/test/default/onetimeauth7.c
 create mode 100644 src/libsodium/test/default/onetimeauth7.exp
 create mode 100644 src/libsodium/test/default/randombytes.c
 create mode 100644 src/libsodium/test/default/scalarmult.c
 create mode 100644 src/libsodium/test/default/scalarmult.exp
 create mode 100644 src/libsodium/test/default/scalarmult2.c
 create mode 100644 src/libsodium/test/default/scalarmult2.exp
 create mode 100644 src/libsodium/test/default/scalarmult5.c
 create mode 100644 src/libsodium/test/default/scalarmult5.exp
 create mode 100644 src/libsodium/test/default/scalarmult6.c
 create mode 100644 src/libsodium/test/default/scalarmult6.exp
 create mode 100644 src/libsodium/test/default/secretbox.c
 create mode 100644 src/libsodium/test/default/secretbox.exp
 create mode 100644 src/libsodium/test/default/secretbox2.c
 create mode 100644 src/libsodium/test/default/secretbox2.exp
 create mode 100644 src/libsodium/test/default/secretbox7.c
 create mode 100644 src/libsodium/test/default/secretbox7.exp
 create mode 100644 src/libsodium/test/default/secretbox8.c
 create mode 100644 src/libsodium/test/default/secretbox8.exp
 create mode 100644 src/libsodium/test/default/shorthash.c
 create mode 100644 src/libsodium/test/default/shorthash.exp
 create mode 100644 src/libsodium/test/default/sodium_core.c
 create mode 100644 src/libsodium/test/default/sodium_core.exp
 create mode 100644 src/libsodium/test/default/sodium_utils.c
 create mode 100644 src/libsodium/test/default/sodium_utils.exp
 create mode 100644 src/libsodium/test/default/sodium_version.c
 create mode 100644 src/libsodium/test/default/sodium_version.exp
 create mode 100644 src/libsodium/test/default/stream.c
 create mode 100644 src/libsodium/test/default/stream.exp
 create mode 100644 src/libsodium/test/default/stream2.c
 create mode 100644 src/libsodium/test/default/stream2.exp
 create mode 100644 src/libsodium/test/default/stream3.c
 create mode 100644 src/libsodium/test/default/stream3.exp
 create mode 100644 src/libsodium/test/default/stream4.c
 create mode 100644 src/libsodium/test/default/stream4.exp
 create mode 100644 src/libsodium/test/default/stream5.c
 create mode 100644 src/libsodium/test/default/stream5.exp
 create mode 100644 src/libsodium/test/default/stream6.c
 create mode 100644 src/libsodium/test/default/stream6.exp
 create mode 100644 src/libsodium/test/quirks/windows/windows-quirks.h

diff --git a/.gitignore b/.gitignore
index 253d4031..9776b2b5 100644
--- a/.gitignore
+++ b/.gitignore
@@ -29,3 +29,10 @@ pip-log.txt
 
 # Generated cffi files
 nacl/_cffi_*.c
+
+# Generate libsodium files
+src/libsodium/**/Makefile
+src/libsodium/config.log
+src/libsodium/config.status
+src/libsodium/libsodium.pc
+src/libsodium/libtool
diff --git a/MANIFEST.in b/MANIFEST.in
index 19745c1d..1feebdd5 100644
--- a/MANIFEST.in
+++ b/MANIFEST.in
@@ -1,9 +1,38 @@
-include *.gz
 include tox.ini
 include LICENSE
+
+# libsodium files
+include src/libsodium/AUTHORS
+include src/libsodium/ChangeLog
+include src/libsodium/LICENSE
+include src/libsodium/README
+include src/libsodium/THANKS
+include src/libsodium/compile
+include src/libsodium/configure
+include src/libsodium/depcomp
+include src/libsodium/install-sh
+include src/libsodium/missing
+include src/libsodium/test-driver
+recursive-include src *.S
+recursive-include src *.ac
+recursive-include src *.am
+recursive-include src *.c
+recursive-include src *.exp
+recursive-include src *.guess
+recursive-include src *.h
+recursive-include src *.in
+recursive-include src *.m4
+recursive-include src *.markdown
+recursive-include src *.sh
+recursive-include src *.sub
+
+# test files
 recursive-include docs *.png
 recursive-include docs *.py
 recursive-include docs *.rst
 recursive-include docs Makefile
 recursive-include tests *.py
 recursive-include tests/data *
+
+# Remove CFFI files
+recursive-exclude nacl _cffi_*.c
diff --git a/libsodium-0.4.3.tar.gz b/libsodium-0.4.3.tar.gz
deleted file mode 100644
index 897dfc79235399aea2e1aff155d1c32d7f845870..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 523169
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%0Ap;SnZ7EG9zSMu9txs
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
DGh;Fv

diff --git a/setup.py b/setup.py
index 856be621..3a1b2081 100644
--- a/setup.py
+++ b/setup.py
@@ -1,13 +1,11 @@
 #!/usr/bin/env python
+import functools
 import glob
 import os
 import os.path
 import shlex
-import shutil
 import subprocess
 import sys
-import tarfile
-import tempfile
 
 from distutils.command.build_clib import build_clib as _build_clib
 
@@ -22,6 +20,8 @@ SODIUM_VERSION = "0.4.3"
 def here(*paths):
     return os.path.abspath(os.path.join(os.path.dirname(__file__), *paths))
 
+sodium = functools.partial(here, "src/libsodium/src/libsodium")
+
 
 def which(name, flags=os.X_OK):  # Taken from twisted
     result = []
@@ -52,40 +52,21 @@ except ImportError:
 else:
     # building bdist - cffi is here!
     ext_modules = [nacl.nacl.ffi.verifier.get_extension()]
-    ext_modules[0].include_dirs.append(here("build/sodium/src/libsodium/include"))
+    ext_modules[0].include_dirs.append(sodium("include"))
 
 
 class build_clib(_build_clib):
 
     def run(self):
-        # Unpack the Libsodium Tarball
-        sourcefile = tarfile.open(
-            here("libsodium-%s.tar.gz" % SODIUM_VERSION),
-        )
-
-        tmpdir = tempfile.mkdtemp()
-        try:
-            sourcefile.extractall(tmpdir)
-
-            # Copy our installed directory into the build location
-            shutil.rmtree(here("build/sodium"), ignore_errors=True)
-            shutil.copytree(
-                os.path.join(tmpdir, "libsodium-%s" % SODIUM_VERSION),
-                here("build/sodium")
-            )
-        finally:
-            shutil.rmtree(tmpdir, ignore_errors=True)
-            sourcefile.close()
-
         # Run ./configure
         subprocess.check_call(
             "./configure --disable-debug --disable-dependency-tracking",
-            cwd=here("build/sodium"),
+            cwd=here("src/libsodium"),
             shell=True,
         )
 
         # Parse the Makefile to determine what macros to define
-        with open(here("build/sodium/Makefile")) as makefile:
+        with open(here("src/libsodium/Makefile")) as makefile:
             for line in makefile:
                 if line.startswith("DEFS"):
                     defines = [
@@ -109,36 +90,31 @@ class build_clib(_build_clib):
                 #   TIMODE or not
                 if "HAVE_TI_MODE" in macros:
                     sources.extend([
-                        "crypto_scalarmult/curve25519/donna_c64/base_curve25519_donna_c64.c",
-                        "crypto_scalarmult/curve25519/donna_c64/smult_curve25519_donna_c64.c",
+                        sodium("crypto_scalarmult/curve25519/donna_c64/base_curve25519_donna_c64.c"),
+                        sodium("crypto_scalarmult/curve25519/donna_c64/smult_curve25519_donna_c64.c"),
                     ])
                 else:
                     sources.extend([
-                        "crypto_scalarmult/curve25519/ref/base_curve25519_ref.c",
-                        "crypto_scalarmult/curve25519/ref/smult_curve25519_ref.c",
+                        sodium("crypto_scalarmult/curve25519/ref/base_curve25519_ref.c"),
+                        sodium("crypto_scalarmult/curve25519/ref/smult_curve25519_ref.c"),
                     ])
 
                 # Dynamically modify the implementation based on if we have
                 #   AMD64 ASM or not.
                 if "HAVE_AMD64_ASM" in macros:
                     sources.extend([
-                        "crypto_stream/salsa20/amd64_xmm6/stream_salsa20_amd64_xmm6.S",
+                        sodium("crypto_stream/salsa20/amd64_xmm6/stream_salsa20_amd64_xmm6.S"),
                     ])
 
                     self._include_asm = True
                 else:
                     sources.extend([
-                        "crypto_stream/salsa20/ref/stream_salsa20_ref.c",
-                        "crypto_stream/salsa20/ref/xor_salsa20_ref.c",
+                        sodium("crypto_stream/salsa20/ref/stream_salsa20_ref.c"),
+                        sodium("crypto_stream/salsa20/ref/xor_salsa20_ref.c"),
                     ])
 
                     self._include_asm = False
 
-                # Expand out all of the sources to their full path
-                sources = [
-                    here("build/sodium/src/libsodium", s) for s in sources
-                ]
-
                 build_info["sources"] = sources
 
             libraries.append((libname, build_info))
@@ -207,9 +183,9 @@ setup(
     libraries=[
         ("sodium", {
             "include_dirs": [
-                here("build/sodium/src/libsodium/include/sodium"),
+                sodium("include/sodium"),
             ],
-            "sources": [
+            "sources": map(sodium, [
                 "crypto_auth/crypto_auth.c",
                 "crypto_auth/hmacsha256/auth_hmacsha256_api.c",
                 "crypto_auth/hmacsha256/ref/hmac_hmacsha256.c",
@@ -336,7 +312,7 @@ setup(
                 "sodium/core.c",
                 "sodium/utils.c",
                 "sodium/version.c",
-            ],
+            ]),
         }),
     ],
 
diff --git a/src/libsodium/AUTHORS b/src/libsodium/AUTHORS
new file mode 100644
index 00000000..4f369486
--- /dev/null
+++ b/src/libsodium/AUTHORS
@@ -0,0 +1,101 @@
+Designers
+=========
+
+crypto_sign/ed25519
+-------------------
+Daniel J. Bernstein
+Niels Duif
+Tanja Lange
+Peter Schwabe
+Bo-Yin Yang
+
+Implementors
+============
+
+crypto_core/hsalsa20
+--------------------
+Daniel J. Bernstein
+
+crypto_core/salsa20
+--------------------
+Daniel J. Bernstein
+
+crypto_core/salsa2012
+-------------------
+Daniel J. Bernstein
+
+crypto_core/salsa208
+---------------------
+Daniel J. Bernstein
+
+crypto_hash/sha256
+------------------
+Daniel J. Bernstein (wrapper around crypto_hashblocks/sha256)
+
+crypto_hash/sha512
+------------------
+Daniel J. Bernstein (wrapper around crypto_hashblocks/sha512)
+
+crypto_hashblocks/sha256
+------------------------
+Daniel J. Bernstein
+
+crypto_hashblocks/sha512
+------------------------
+Daniel J. Bernstein
+
+crypto_scalarmult/curve25519/ref
+--------------------------------
+Matthew Dempsky (Mochi Media)
+
+crypto_scalarmult/curve25519/donna_c64
+--------------------------------------
+Adam Langley (Google)
+
+crypto_sign/ed25519
+-------------------
+Daniel J. Bernstein
+Niels Duif
+Tanja Lange
+lead: Peter Schwabe
+Bo-Yin Yang
+
+crypto_stream/aes128ctr
+-----------------------
+Daniel J. Bernstein
+
+crypto_stream/aes256estream
+---------------------------
+Hongjun Wu
+
+crypto_stream/salsa20
+---------------------
+Daniel J. Bernstein
+
+crypto_stream/salsa2012
+-----------------------
+Daniel J. Bernstein
+
+crypto_stream/salsa208
+----------------------
+Daniel J. Bernstein
+
+crypto_stream/xsalsa20
+----------------------
+Daniel J. Bernstein
+
+crypto_shorthash/siphash24
+--------------------------
+Jean-Philippe Aumasson
+Daniel J. Bernstein
+
+crypto_generichash/blake2b
+--------------------------
+Jean-Philippe Aumasson
+Samuel Neves
+Zooko Wilcox-O'Hearn
+Christian Winnerlein
+
+crypto_onetimeauth/poly1305/donna
+---------------------------------
+Andrew "floodyberry" M.
diff --git a/src/libsodium/ChangeLog b/src/libsodium/ChangeLog
new file mode 100644
index 00000000..7d67f484
--- /dev/null
+++ b/src/libsodium/ChangeLog
@@ -0,0 +1,56 @@
+
+* Version 0.4.3
+ - crypto_sign_seedbytes() and crypto_sign_SEEDBYTES were added.
+ - crypto_onetimeauth_poly1305_implementation_name() was added.
+ - poly1305-ref has been replaced by a faster implementation,
+Floodyberry's poly1305-donna-unrolled.
+ - Stackmarkings have been added to assembly code, for Hardened Gentoo.
+ - pkg-config can now be used in order to retrieve compilations flags for
+using libsodium.
+ - crypto_stream_aes256estream_*() can now deal with unaligned input
+on platforms that require word alignment.
+ - portability improvements.
+
+* Version 0.4.2
+ - All NaCl constants are now also exposed as functions.
+ - The Android and iOS cross-compilation script have been improved.
+ - libsodium can now be cross-compiled to Windows from Linux.
+ - libsodium can now be compiled with emscripten.
+ - New convenience function (prototyped in utils.h): sodium_bin2hex().
+
+* Version 0.4.1
+ - sodium_version_*() functions were not exported in version 0.4. They
+are now visible as intended.
+ - sodium_init() now calls randombytes_stir().
+ - optimized assembly version of salsa20 is now used on amd64.
+ - further cleanups and enhanced compatibility with non-C99 compilers.
+
+* Version 0.4
+ - Most constants and operations are now available as actual functions
+instead of macros, making it easier to use from other languages.
+ - New operation: crypto_generichash, featuring a variable key size, a
+variable output size, and a streaming API. Currently implemented using
+Blake2b.
+ - The package can be compiled in a separate directory.
+ - aes128ctr functions are exported.
+ - Optimized versions of curve25519 (curve25519_donna_c64), poly1305
+(poly1305_53) and ed25519 (ed25519_ref10) are available. Optionally calling
+sodium_init() once before using the library makes it pick the fastest
+implementation.
+ - New convenience function: sodium_memzero() in order to securely
+wipe a memory area.
+ - A whole bunch of cleanups and portability enhancements.
+ - On Windows, a .REF file is generated along with the shared library,
+for use with Visual Studio. The installation path for these has become
+$prefix/bin as expected by MingW.
+
+* Version 0.3
+ - The crypto_shorthash operation has been added, implemented using
+SipHash-2-4.
+
+* Version 0.2
+ - crypto_sign_seed_keypair() has been added
+
+* Version 0.1
+ - Initial release.
+
diff --git a/src/libsodium/LICENSE b/src/libsodium/LICENSE
new file mode 100644
index 00000000..0502937f
--- /dev/null
+++ b/src/libsodium/LICENSE
@@ -0,0 +1,16 @@
+/*
+ * Copyright (c) 2013
+ * Frank Denis <j at pureftpd dot org>
+ *
+ * Permission to use, copy, modify, and distribute this software for any
+ * purpose with or without fee is hereby granted, provided that the above
+ * copyright notice and this permission notice appear in all copies.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ */
diff --git a/src/libsodium/Makefile.am b/src/libsodium/Makefile.am
new file mode 100644
index 00000000..1202c4ec
--- /dev/null
+++ b/src/libsodium/Makefile.am
@@ -0,0 +1,16 @@
+ACLOCAL_AMFLAGS = -I m4
+
+EXTRA_DIST = \
+	autogen.sh \
+	LICENSE \
+	README.markdown \
+	THANKS
+
+SUBDIRS = \
+	src \
+	test
+
+if HAVE_PKG_CONFIG
+pkgconfigdir = $(libdir)/pkgconfig
+pkgconfig_DATA = @PACKAGE_NAME@.pc
+endif
diff --git a/src/libsodium/Makefile.in b/src/libsodium/Makefile.in
new file mode 100644
index 00000000..f5737b4e
--- /dev/null
+++ b/src/libsodium/Makefile.in
@@ -0,0 +1,880 @@
+# Makefile.in generated by automake 1.14 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+VPATH = @srcdir@
+am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__make_running_with_option = \
+  case $${target_option-} in \
+      ?) ;; \
+      *) echo "am__make_running_with_option: internal error: invalid" \
+              "target option '$${target_option-}' specified" >&2; \
+         exit 1;; \
+  esac; \
+  has_opt=no; \
+  sane_makeflags=$$MAKEFLAGS; \
+  if $(am__is_gnu_make); then \
+    sane_makeflags=$$MFLAGS; \
+  else \
+    case $$MAKEFLAGS in \
+      *\\[\ \	]*) \
+        bs=\\; \
+        sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+          | sed "s/$$bs$$bs[$$bs $$bs	]*//g"`;; \
+    esac; \
+  fi; \
+  skip_next=no; \
+  strip_trailopt () \
+  { \
+    flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+  }; \
+  for flg in $$sane_makeflags; do \
+    test $$skip_next = yes && { skip_next=no; continue; }; \
+    case $$flg in \
+      *=*|--*) continue;; \
+        -*I) strip_trailopt 'I'; skip_next=yes;; \
+      -*I?*) strip_trailopt 'I';; \
+        -*O) strip_trailopt 'O'; skip_next=yes;; \
+      -*O?*) strip_trailopt 'O';; \
+        -*l) strip_trailopt 'l'; skip_next=yes;; \
+      -*l?*) strip_trailopt 'l';; \
+      -[dEDm]) skip_next=yes;; \
+      -[JT]) skip_next=yes;; \
+    esac; \
+    case $$flg in \
+      *$$target_option*) has_opt=yes; break;; \
+    esac; \
+  done; \
+  test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
+pkgdatadir = $(datadir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+subdir = .
+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
+	$(top_srcdir)/configure $(am__configure_deps) \
+	$(srcdir)/libsodium.pc.in \
+	$(top_srcdir)/src/libsodium/include/sodium/version.h.in \
+	$(top_srcdir)/src/libsodium/include/sodium/crypto_scalarmult_curve25519.h.in \
+	$(top_srcdir)/src/libsodium/include/sodium/crypto_stream_salsa20.h.in \
+	AUTHORS ChangeLog README THANKS compile config.guess \
+	config.sub depcomp install-sh missing ltmain.sh
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/ax_check_compile_flag.m4 \
+	$(top_srcdir)/m4/ax_check_link_flag.m4 \
+	$(top_srcdir)/m4/ld-output-def.m4 $(top_srcdir)/m4/libtool.m4 \
+	$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+	$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+	$(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+	$(ACLOCAL_M4)
+am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
+ configure.lineno config.status.lineno
+mkinstalldirs = $(install_sh) -d
+CONFIG_CLEAN_FILES = libsodium.pc \
+	src/libsodium/include/sodium/version.h \
+	src/libsodium/include/sodium/crypto_scalarmult_curve25519.h \
+	src/libsodium/include/sodium/crypto_stream_salsa20.h
+CONFIG_CLEAN_VPATH_FILES =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo "  GEN     " $@;
+am__v_GEN_1 = 
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 = 
+SOURCES =
+DIST_SOURCES =
+RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \
+	ctags-recursive dvi-recursive html-recursive info-recursive \
+	install-data-recursive install-dvi-recursive \
+	install-exec-recursive install-html-recursive \
+	install-info-recursive install-pdf-recursive \
+	install-ps-recursive install-recursive installcheck-recursive \
+	installdirs-recursive pdf-recursive ps-recursive \
+	tags-recursive uninstall-recursive
+am__can_run_installinfo = \
+  case $$AM_UPDATE_INFO_DIR in \
+    n|no|NO) false;; \
+    *) (install-info --version) >/dev/null 2>&1;; \
+  esac
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+    $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+    *) f=$$p;; \
+  esac;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+  srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+  for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+  for p in $$list; do echo "$$p $$p"; done | \
+  sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+  $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+    if (++n[$$2] == $(am__install_max)) \
+      { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+    END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+  sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+  sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+  test -z "$$files" \
+    || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+    || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+         $(am__cd) "$$dir" && rm -f $$files; }; \
+  }
+am__installdirs = "$(DESTDIR)$(pkgconfigdir)"
+DATA = $(pkgconfig_DATA)
+RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive	\
+  distclean-recursive maintainer-clean-recursive
+am__recursive_targets = \
+  $(RECURSIVE_TARGETS) \
+  $(RECURSIVE_CLEAN_TARGETS) \
+  $(am__extra_recursive_targets)
+AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
+	cscope distdir dist dist-all distcheck
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates.  Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+  BEGIN { nonempty = 0; } \
+  { items[$$0] = 1; nonempty = 1; } \
+  END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique.  This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+  list='$(am__tagged_files)'; \
+  unique=`for i in $$list; do \
+    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+  done | $(am__uniquify_input)`
+ETAGS = etags
+CTAGS = ctags
+CSCOPE = cscope
+DIST_SUBDIRS = $(SUBDIRS)
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+distdir = $(PACKAGE)-$(VERSION)
+top_distdir = $(distdir)
+am__remove_distdir = \
+  if test -d "$(distdir)"; then \
+    find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \
+      && rm -rf "$(distdir)" \
+      || { sleep 5 && rm -rf "$(distdir)"; }; \
+  else :; fi
+am__post_remove_distdir = $(am__remove_distdir)
+am__relativize = \
+  dir0=`pwd`; \
+  sed_first='s,^\([^/]*\)/.*$$,\1,'; \
+  sed_rest='s,^[^/]*/*,,'; \
+  sed_last='s,^.*/\([^/]*\)$$,\1,'; \
+  sed_butlast='s,/*[^/]*$$,,'; \
+  while test -n "$$dir1"; do \
+    first=`echo "$$dir1" | sed -e "$$sed_first"`; \
+    if test "$$first" != "."; then \
+      if test "$$first" = ".."; then \
+        dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
+        dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
+      else \
+        first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
+        if test "$$first2" = "$$first"; then \
+          dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
+        else \
+          dir2="../$$dir2"; \
+        fi; \
+        dir0="$$dir0"/"$$first"; \
+      fi; \
+    fi; \
+    dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
+  done; \
+  reldir="$$dir2"
+DIST_ARCHIVES = $(distdir).tar.gz $(distdir).tar.bz2
+GZIP_ENV = --best
+DIST_TARGETS = dist-bzip2 dist-gzip
+distuninstallcheck_listfiles = find . -type f -print
+am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \
+  | sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$'
+distcleancheck_listfiles = find . -type f -print
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AR = @AR@
+AS = @AS@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCAS = @CCAS@
+CCASDEPMODE = @CCASDEPMODE@
+CCASFLAGS = @CCASFLAGS@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CWFLAGS = @CWFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DLLTOOL = @DLLTOOL@
+DLL_VERSION = @DLL_VERSION@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+GREP = @GREP@
+HAVE_AMD64_ASM_V = @HAVE_AMD64_ASM_V@
+HAVE_CPUID_V = @HAVE_CPUID_V@
+HAVE_PKG_CONFIG = @HAVE_PKG_CONFIG@
+HAVE_TI_MODE_V = @HAVE_TI_MODE_V@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+ISODATE = @ISODATE@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIBTOOL_DEPS = @LIBTOOL_DEPS@
+LIBTOOL_EXTRA_FLAGS = @LIBTOOL_EXTRA_FLAGS@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MKDIR_P = @MKDIR_P@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
+RANLIB = @RANLIB@
+SAFECODE_HOME = @SAFECODE_HOME@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+SODIUM_LIBRARY_VERSION = @SODIUM_LIBRARY_VERSION@
+SODIUM_LIBRARY_VERSION_MAJOR = @SODIUM_LIBRARY_VERSION_MAJOR@
+SODIUM_LIBRARY_VERSION_MINOR = @SODIUM_LIBRARY_VERSION_MINOR@
+STRIP = @STRIP@
+VERSION = @VERSION@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+ACLOCAL_AMFLAGS = -I m4
+EXTRA_DIST = \
+	autogen.sh \
+	LICENSE \
+	README.markdown \
+	THANKS
+
+SUBDIRS = \
+	src \
+	test
+
+@HAVE_PKG_CONFIG_TRUE@pkgconfigdir = $(libdir)/pkgconfig
+@HAVE_PKG_CONFIG_TRUE@pkgconfig_DATA = @PACKAGE_NAME@.pc
+all: all-recursive
+
+.SUFFIXES:
+am--refresh: Makefile
+	@:
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__configure_deps)
+	@for dep in $?; do \
+	  case '$(am__configure_deps)' in \
+	    *$$dep*) \
+	      echo ' cd $(srcdir) && $(AUTOMAKE) --foreign'; \
+	      $(am__cd) $(srcdir) && $(AUTOMAKE) --foreign \
+		&& exit 0; \
+	      exit 1;; \
+	  esac; \
+	done; \
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \
+	$(am__cd) $(top_srcdir) && \
+	  $(AUTOMAKE) --foreign Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+	@case '$?' in \
+	  *config.status*) \
+	    echo ' $(SHELL) ./config.status'; \
+	    $(SHELL) ./config.status;; \
+	  *) \
+	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \
+	    cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \
+	esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+	$(SHELL) ./config.status --recheck
+
+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+	$(am__cd) $(srcdir) && $(AUTOCONF)
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+	$(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
+$(am__aclocal_m4_deps):
+libsodium.pc: $(top_builddir)/config.status $(srcdir)/libsodium.pc.in
+	cd $(top_builddir) && $(SHELL) ./config.status $@
+src/libsodium/include/sodium/version.h: $(top_builddir)/config.status $(top_srcdir)/src/libsodium/include/sodium/version.h.in
+	cd $(top_builddir) && $(SHELL) ./config.status $@
+src/libsodium/include/sodium/crypto_scalarmult_curve25519.h: $(top_builddir)/config.status $(top_srcdir)/src/libsodium/include/sodium/crypto_scalarmult_curve25519.h.in
+	cd $(top_builddir) && $(SHELL) ./config.status $@
+src/libsodium/include/sodium/crypto_stream_salsa20.h: $(top_builddir)/config.status $(top_srcdir)/src/libsodium/include/sodium/crypto_stream_salsa20.h.in
+	cd $(top_builddir) && $(SHELL) ./config.status $@
+
+mostlyclean-libtool:
+	-rm -f *.lo
+
+clean-libtool:
+	-rm -rf .libs _libs
+
+distclean-libtool:
+	-rm -f libtool config.lt
+install-pkgconfigDATA: $(pkgconfig_DATA)
+	@$(NORMAL_INSTALL)
+	@list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \
+	if test -n "$$list"; then \
+	  echo " $(MKDIR_P) '$(DESTDIR)$(pkgconfigdir)'"; \
+	  $(MKDIR_P) "$(DESTDIR)$(pkgconfigdir)" || exit 1; \
+	fi; \
+	for p in $$list; do \
+	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+	  echo "$$d$$p"; \
+	done | $(am__base_list) | \
+	while read files; do \
+	  echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pkgconfigdir)'"; \
+	  $(INSTALL_DATA) $$files "$(DESTDIR)$(pkgconfigdir)" || exit $$?; \
+	done
+
+uninstall-pkgconfigDATA:
+	@$(NORMAL_UNINSTALL)
+	@list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \
+	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+	dir='$(DESTDIR)$(pkgconfigdir)'; $(am__uninstall_files_from_dir)
+
+# This directory's subdirectories are mostly independent; you can cd
+# into them and run 'make' without going through this Makefile.
+# To change the values of 'make' variables: instead of editing Makefiles,
+# (1) if the variable is set in 'config.status', edit 'config.status'
+#     (which will cause the Makefiles to be regenerated when you run 'make');
+# (2) otherwise, pass the desired values on the 'make' command line.
+$(am__recursive_targets):
+	@fail=; \
+	if $(am__make_keepgoing); then \
+	  failcom='fail=yes'; \
+	else \
+	  failcom='exit 1'; \
+	fi; \
+	dot_seen=no; \
+	target=`echo $@ | sed s/-recursive//`; \
+	case "$@" in \
+	  distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
+	  *) list='$(SUBDIRS)' ;; \
+	esac; \
+	for subdir in $$list; do \
+	  echo "Making $$target in $$subdir"; \
+	  if test "$$subdir" = "."; then \
+	    dot_seen=yes; \
+	    local_target="$$target-am"; \
+	  else \
+	    local_target="$$target"; \
+	  fi; \
+	  ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+	  || eval $$failcom; \
+	done; \
+	if test "$$dot_seen" = "no"; then \
+	  $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
+	fi; test -z "$$fail"
+
+ID: $(am__tagged_files)
+	$(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-recursive
+TAGS: tags
+
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+	set x; \
+	here=`pwd`; \
+	if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
+	  include_option=--etags-include; \
+	  empty_fix=.; \
+	else \
+	  include_option=--include; \
+	  empty_fix=; \
+	fi; \
+	list='$(SUBDIRS)'; for subdir in $$list; do \
+	  if test "$$subdir" = .; then :; else \
+	    test ! -f $$subdir/TAGS || \
+	      set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
+	  fi; \
+	done; \
+	$(am__define_uniq_tagged_files); \
+	shift; \
+	if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+	  test -n "$$unique" || unique=$$empty_fix; \
+	  if test $$# -gt 0; then \
+	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	      "$$@" $$unique; \
+	  else \
+	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	      $$unique; \
+	  fi; \
+	fi
+ctags: ctags-recursive
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+	$(am__define_uniq_tagged_files); \
+	test -z "$(CTAGS_ARGS)$$unique" \
+	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+	     $$unique
+
+GTAGS:
+	here=`$(am__cd) $(top_builddir) && pwd` \
+	  && $(am__cd) $(top_srcdir) \
+	  && gtags -i $(GTAGS_ARGS) "$$here"
+cscope: cscope.files
+	test ! -s cscope.files \
+	  || $(CSCOPE) -b -q $(AM_CSCOPEFLAGS) $(CSCOPEFLAGS) -i cscope.files $(CSCOPE_ARGS)
+clean-cscope:
+	-rm -f cscope.files
+cscope.files: clean-cscope cscopelist
+cscopelist: cscopelist-recursive
+
+cscopelist-am: $(am__tagged_files)
+	list='$(am__tagged_files)'; \
+	case "$(srcdir)" in \
+	  [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+	  *) sdir=$(subdir)/$(srcdir) ;; \
+	esac; \
+	for i in $$list; do \
+	  if test -f "$$i"; then \
+	    echo "$(subdir)/$$i"; \
+	  else \
+	    echo "$$sdir/$$i"; \
+	  fi; \
+	done >> $(top_builddir)/cscope.files
+
+distclean-tags:
+	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+	-rm -f cscope.out cscope.in.out cscope.po.out cscope.files
+
+distdir: $(DISTFILES)
+	$(am__remove_distdir)
+	test -d "$(distdir)" || mkdir "$(distdir)"
+	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+	list='$(DISTFILES)'; \
+	  dist_files=`for file in $$list; do echo $$file; done | \
+	  sed -e "s|^$$srcdirstrip/||;t" \
+	      -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+	case $$dist_files in \
+	  */*) $(MKDIR_P) `echo "$$dist_files" | \
+			   sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+			   sort -u` ;; \
+	esac; \
+	for file in $$dist_files; do \
+	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	  if test -d $$d/$$file; then \
+	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+	    if test -d "$(distdir)/$$file"; then \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
+	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
+	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
+	  else \
+	    test -f "$(distdir)/$$file" \
+	    || cp -p $$d/$$file "$(distdir)/$$file" \
+	    || exit 1; \
+	  fi; \
+	done
+	@list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+	  if test "$$subdir" = .; then :; else \
+	    $(am__make_dryrun) \
+	      || test -d "$(distdir)/$$subdir" \
+	      || $(MKDIR_P) "$(distdir)/$$subdir" \
+	      || exit 1; \
+	    dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
+	    $(am__relativize); \
+	    new_distdir=$$reldir; \
+	    dir1=$$subdir; dir2="$(top_distdir)"; \
+	    $(am__relativize); \
+	    new_top_distdir=$$reldir; \
+	    echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
+	    echo "     am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
+	    ($(am__cd) $$subdir && \
+	      $(MAKE) $(AM_MAKEFLAGS) \
+	        top_distdir="$$new_top_distdir" \
+	        distdir="$$new_distdir" \
+		am__remove_distdir=: \
+		am__skip_length_check=: \
+		am__skip_mode_fix=: \
+	        distdir) \
+	      || exit 1; \
+	  fi; \
+	done
+	-test -n "$(am__skip_mode_fix)" \
+	|| find "$(distdir)" -type d ! -perm -755 \
+		-exec chmod u+rwx,go+rx {} \; -o \
+	  ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
+	  ! -type d ! -perm -400 -exec chmod a+r {} \; -o \
+	  ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \
+	|| chmod -R a+r "$(distdir)"
+dist-gzip: distdir
+	tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
+	$(am__post_remove_distdir)
+dist-bzip2: distdir
+	tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2
+	$(am__post_remove_distdir)
+
+dist-lzip: distdir
+	tardir=$(distdir) && $(am__tar) | lzip -c $${LZIP_OPT--9} >$(distdir).tar.lz
+	$(am__post_remove_distdir)
+
+dist-xz: distdir
+	tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz
+	$(am__post_remove_distdir)
+
+dist-tarZ: distdir
+	@echo WARNING: "Support for shar distribution archives is" \
+	               "deprecated." >&2
+	@echo WARNING: "It will be removed altogether in Automake 2.0" >&2
+	tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
+	$(am__post_remove_distdir)
+
+dist-shar: distdir
+	@echo WARNING: "Support for distribution archives compressed with" \
+		       "legacy program 'compress' is deprecated." >&2
+	@echo WARNING: "It will be removed altogether in Automake 2.0" >&2
+	shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
+	$(am__post_remove_distdir)
+
+dist-zip: distdir
+	-rm -f $(distdir).zip
+	zip -rq $(distdir).zip $(distdir)
+	$(am__post_remove_distdir)
+
+dist dist-all:
+	$(MAKE) $(AM_MAKEFLAGS) $(DIST_TARGETS) am__post_remove_distdir='@:'
+	$(am__post_remove_distdir)
+
+# This target untars the dist file and tries a VPATH configuration.  Then
+# it guarantees that the distribution is self-contained by making another
+# tarfile.
+distcheck: dist
+	case '$(DIST_ARCHIVES)' in \
+	*.tar.gz*) \
+	  GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\
+	*.tar.bz2*) \
+	  bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\
+	*.tar.lz*) \
+	  lzip -dc $(distdir).tar.lz | $(am__untar) ;;\
+	*.tar.xz*) \
+	  xz -dc $(distdir).tar.xz | $(am__untar) ;;\
+	*.tar.Z*) \
+	  uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
+	*.shar.gz*) \
+	  GZIP=$(GZIP_ENV) gzip -dc $(distdir).shar.gz | unshar ;;\
+	*.zip*) \
+	  unzip $(distdir).zip ;;\
+	esac
+	chmod -R a-w $(distdir)
+	chmod u+w $(distdir)
+	mkdir $(distdir)/_build $(distdir)/_inst
+	chmod a-w $(distdir)
+	test -d $(distdir)/_build || exit 0; \
+	dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
+	  && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
+	  && am__cwd=`pwd` \
+	  && $(am__cd) $(distdir)/_build \
+	  && ../configure --srcdir=.. --prefix="$$dc_install_base" \
+	    $(AM_DISTCHECK_CONFIGURE_FLAGS) \
+	    $(DISTCHECK_CONFIGURE_FLAGS) \
+	  && $(MAKE) $(AM_MAKEFLAGS) \
+	  && $(MAKE) $(AM_MAKEFLAGS) dvi \
+	  && $(MAKE) $(AM_MAKEFLAGS) check \
+	  && $(MAKE) $(AM_MAKEFLAGS) install \
+	  && $(MAKE) $(AM_MAKEFLAGS) installcheck \
+	  && $(MAKE) $(AM_MAKEFLAGS) uninstall \
+	  && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \
+	        distuninstallcheck \
+	  && chmod -R a-w "$$dc_install_base" \
+	  && ({ \
+	       (cd ../.. && umask 077 && mkdir "$$dc_destdir") \
+	       && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
+	       && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
+	       && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
+	            distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
+	      } || { rm -rf "$$dc_destdir"; exit 1; }) \
+	  && rm -rf "$$dc_destdir" \
+	  && $(MAKE) $(AM_MAKEFLAGS) dist \
+	  && rm -rf $(DIST_ARCHIVES) \
+	  && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \
+	  && cd "$$am__cwd" \
+	  || exit 1
+	$(am__post_remove_distdir)
+	@(echo "$(distdir) archives ready for distribution: "; \
+	  list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
+	  sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x'
+distuninstallcheck:
+	@test -n '$(distuninstallcheck_dir)' || { \
+	  echo 'ERROR: trying to run $@ with an empty' \
+	       '$$(distuninstallcheck_dir)' >&2; \
+	  exit 1; \
+	}; \
+	$(am__cd) '$(distuninstallcheck_dir)' || { \
+	  echo 'ERROR: cannot chdir into $(distuninstallcheck_dir)' >&2; \
+	  exit 1; \
+	}; \
+	test `$(am__distuninstallcheck_listfiles) | wc -l` -eq 0 \
+	   || { echo "ERROR: files left after uninstall:" ; \
+	        if test -n "$(DESTDIR)"; then \
+	          echo "  (check DESTDIR support)"; \
+	        fi ; \
+	        $(distuninstallcheck_listfiles) ; \
+	        exit 1; } >&2
+distcleancheck: distclean
+	@if test '$(srcdir)' = . ; then \
+	  echo "ERROR: distcleancheck can only run from a VPATH build" ; \
+	  exit 1 ; \
+	fi
+	@test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
+	  || { echo "ERROR: files left in build directory after distclean:" ; \
+	       $(distcleancheck_listfiles) ; \
+	       exit 1; } >&2
+check-am: all-am
+check: check-recursive
+all-am: Makefile $(DATA)
+installdirs: installdirs-recursive
+installdirs-am:
+	for dir in "$(DESTDIR)$(pkgconfigdir)"; do \
+	  test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+	done
+install: install-recursive
+install-exec: install-exec-recursive
+install-data: install-data-recursive
+uninstall: uninstall-recursive
+
+install-am: all-am
+	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-recursive
+install-strip:
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+
+maintainer-clean-generic:
+	@echo "This command is intended for maintainers to use"
+	@echo "it deletes files that may require special tools to rebuild."
+clean: clean-recursive
+
+clean-am: clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-recursive
+	-rm -f $(am__CONFIG_DISTCLEAN_FILES)
+	-rm -f Makefile
+distclean-am: clean-am distclean-generic distclean-libtool \
+	distclean-tags
+
+dvi: dvi-recursive
+
+dvi-am:
+
+html: html-recursive
+
+html-am:
+
+info: info-recursive
+
+info-am:
+
+install-data-am: install-pkgconfigDATA
+
+install-dvi: install-dvi-recursive
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-recursive
+
+install-html-am:
+
+install-info: install-info-recursive
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-recursive
+
+install-pdf-am:
+
+install-ps: install-ps-recursive
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-recursive
+	-rm -f $(am__CONFIG_DISTCLEAN_FILES)
+	-rm -rf $(top_srcdir)/autom4te.cache
+	-rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-recursive
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-recursive
+
+pdf-am:
+
+ps: ps-recursive
+
+ps-am:
+
+uninstall-am: uninstall-pkgconfigDATA
+
+.MAKE: $(am__recursive_targets) install-am install-strip
+
+.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am \
+	am--refresh check check-am clean clean-cscope clean-generic \
+	clean-libtool cscope cscopelist-am ctags ctags-am dist \
+	dist-all dist-bzip2 dist-gzip dist-lzip dist-shar dist-tarZ \
+	dist-xz dist-zip distcheck distclean distclean-generic \
+	distclean-libtool distclean-tags distcleancheck distdir \
+	distuninstallcheck dvi dvi-am html html-am info info-am \
+	install install-am install-data install-data-am install-dvi \
+	install-dvi-am install-exec install-exec-am install-html \
+	install-html-am install-info install-info-am install-man \
+	install-pdf install-pdf-am install-pkgconfigDATA install-ps \
+	install-ps-am install-strip installcheck installcheck-am \
+	installdirs installdirs-am maintainer-clean \
+	maintainer-clean-generic mostlyclean mostlyclean-generic \
+	mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \
+	uninstall-am uninstall-pkgconfigDATA
+
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/src/libsodium/README b/src/libsodium/README
new file mode 100644
index 00000000..1dbff7a1
--- /dev/null
+++ b/src/libsodium/README
@@ -0,0 +1 @@
+See README.markdown
diff --git a/src/libsodium/README.markdown b/src/libsodium/README.markdown
new file mode 100644
index 00000000..dbe3f607
--- /dev/null
+++ b/src/libsodium/README.markdown
@@ -0,0 +1,219 @@
+[![Build Status](https://travis-ci.org/jedisct1/libsodium.png?branch=master)](https://travis-ci.org/jedisct1/libsodium?branch=master)
+
+![libsodium](https://raw.github.com/jedisct1/libsodium/master/logo.png)
+============
+
+[NaCl](http://nacl.cr.yp.to/) (pronounced "salt") is a new easy-to-use
+high-speed software library for network communication, encryption,
+decryption, signatures, etc.
+
+NaCl's goal is to provide all of the core operations needed to build
+higher-level cryptographic tools.
+
+Sodium is a portable, cross-compilable, installable, packageable
+fork of NaCl, with a compatible API.
+
+## Portability
+
+In order to pick the fastest working implementation of each primitive,
+NaCl performs tests and benchmarks at compile-time. Unfortunately, the
+resulting library is not guaranteed to work on different hardware.
+
+Sodium performs tests at run-time, so that the same binary package can
+still run everywhere.
+
+Sodium is tested on a variety of compilers and operating systems,
+including Windows, iOS and Android.
+
+## Installation
+
+Sodium is a shared library with a machine-independent set of
+headers, so that it can easily be used by 3rd party projects.
+
+The library is built using autotools, making it easy to package.
+
+Installation is trivial, and both compilation and testing can take
+advantage of multiple CPU cores.
+
+Download a
+[tarball of libsodium](https://download.libsodium.org/libsodium/releases/),
+then follow the ritual:
+
+    ./configure
+    make && make check && make install
+
+Pre-compiled Win32 packages are available for download at the same
+location.
+
+Integrity of source tarballs can currently be checked using PGP or
+verified DNS queries (`dig +dnssec +short txt <file>.download.libsodium.org`
+returns the SHA256 of any file available for download).
+
+## Comparison with vanilla NaCl
+
+Sodium does not ship C++ bindings. These might be part of a distinct
+package.
+
+The default public-key signature system in NaCl was a prototype that
+shouldn't be used any more.
+
+Sodium ships with the SUPERCOP reference implementation of
+[Ed25519](http://ed25519.cr.yp.to/), and uses this system by default
+for `crypto_sign*` operations.
+
+For backward compatibility, the previous system is still compiled in,
+as `crypto_sign_edwards25519sha512batch*`.
+
+## Additional features
+
+The Sodium library provides some convenience functions in order to retrieve
+the current version of the package and of the shared library:
+
+    const char *sodium_version_string(void);
+    const int   sodium_library_version_major(void);
+    const int   sodium_library_version_minor(void);
+
+Headers are installed in `${prefix}/include/sodium`.
+
+A convenience header includes everything you need to use the library:
+
+    #include <sodium.h>
+
+This is not required, however, before any other libsodium function, you can
+call:
+
+    sodium_init();
+
+This will pick optimized implementations of some primitives, if they
+appear to work as expected after running some tests, and these will be
+used for subsequent operations. It only need to be called once.
+
+This function is not thread-safe. No other Sodium functions should be
+called until it successfully returns. In a multithreading environment,
+if, for some reason, you really need to call `sodium_init()` while some
+other Sodium functions may be running in different threads, add locks
+accordingly (both around `sodium_init()` and around other functions).
+
+Sodium also provides helper functions to generate random numbers,
+leveraging `/dev/urandom` or `/dev/random` on *nix and the cryptographic
+service provider on Windows. The interface is similar to
+`arc4random(3)`. It is `fork(2)`-safe but not thread-safe. This holds
+true for `crypto_sign_keypair()` and `crypto_box_keypair()` as well.
+
+    uint32_t randombytes_random(void);
+
+Return a random 32-bit unsigned value.
+
+    void     randombytes_stir(void);
+
+Generate a new key for the pseudorandom number generator. The file
+descriptor for the entropy source is kept open, so that the generator
+can be reseeded even in a chroot() jail.
+
+    uint32_t randombytes_uniform(const uint32_t upper_bound);
+
+Return a value between 0 and upper_bound using a uniform distribution.
+
+    void     randombytes_buf(void * const buf, const size_t size);
+
+Fill the buffer `buf` with `size` random bytes.
+
+    int      randombytes_close(void);
+
+Close the file descriptor or the handle for the cryptographic service
+provider.
+
+A custom implementation of these functions can be registered with
+`randombytes_set_implementation()`.
+
+In addition, Sodium provides a function to securely wipe a memory
+region:
+
+    void     sodium_memzero(void * const pnt, const size_t size);
+    
+Warning: if a region has been allocated on the heap, you still have
+to make sure that it can't get swapped to disk, possibly using
+`mlock(2)`.
+
+In order to compare memory zones in constant time, Sodium provides:
+
+    int      sodium_memcmp(const void * const b1_, const void * const b2_,
+                           size_t size);
+
+And a convenience function for converting a binary buffer to a
+hexadecimal string:
+
+    char *   sodium_bin2hex(char * const hex, const size_t hexlen,
+                            const unsigned char *bin, const size_t binlen);
+
+## New operations
+
+### crypto_shorthash
+
+A lot of applications and programming language implementations have
+been recently found to be vulnerable to denial-of-service attacks when
+a hash function with weak security guarantees, like Murmurhash 3, was
+used to construct a hash table.
+
+In order to address this, Sodium provides the “shorthash” function,
+currently implemented using SipHash-2-4. This very fast hash function
+outputs short, but unpredictable (without knowing the secret key)
+values suitable for picking a list in a hash table for a given key.
+
+See `crypto_shorthash.h` for details.
+
+### crypto_generichash
+
+This hash function provides:
+
+* A variable output length (up to `crypto_generichash_BYTES_MAX` bytes)
+* A variable key length (from no key at all to
+  `crypto_generichash_KEYBYTES_MAX` bytes)
+* A simple interface as well as a streaming interface.
+
+`crypto_generichash` is currently being implemented using
+[Blake2](https://blake2.net/).
+
+## Constants available as functions
+
+In addition to constants for key sizes, output sizes and block sizes,
+Sodium provides these values through function calls, so that using
+them from different languages is easier.
+
+## Bindings for other languages
+
+* Erlang: [Erlang-NaCl](https://github.com/tonyg/erlang-nacl)
+* Haskell: [Saltine](https://github.com/tel/saltine)
+* Java: [Kalium](https://github.com/abstractj/kalium)
+* Java JNI: [Kalium-JNI](https://github.com/joshjdevl/kalium-jni)
+* Julia: [Sodium.jl](https://github.com/amitmurthy/Sodium.jl)
+* Ocaml: [ocaml-sodium](https://github.com/dsheets/ocaml-sodium)
+* Pharo/Squeak: [Crypto-NaCl](http://www.eighty-twenty.org/index.cgi/tech/smalltalk/nacl-for-squeak-and-pharo-20130601.html)
+* PHP: [PHP-Sodium](https://github.com/alethia7/php-sodium)
+* Python: [PyNaCl](https://github.com/dstufft/pynacl)
+* Python: [PySodium](https://github.com/stef/pysodium)
+* Racket: part of [CRESTaceans](https://github.com/mgorlick/CRESTaceans/tree/master/bindings/libsodium)
+* Ruby: [RbNaCl](https://github.com/cryptosphere/rbnacl)
+* Ruby: [Sodium](https://github.com/stouset/sodium)
+
+## CurveCP
+
+CurveCP tools are part of a different project,
+[libchloride](https://github.com/jedisct1/libchloride).
+If you are interested in an embeddable CurveCP implementation, take a
+look at [libcurvecpr](https://github.com/impl/libcurvecpr).
+
+## Mailing list
+
+A mailing-list is available to discuss libsodium.
+
+In order to join, just send a random mail to `sodium-subscribe` {at}
+`pureftpd`{dot}`org`.
+
+## License
+
+[ISC license](http://en.wikipedia.org/wiki/ISC_license).
+
+See the `COPYING` file for details, `AUTHORS` for designers and
+implementors, and `THANKS` for contributors.
+
diff --git a/src/libsodium/THANKS b/src/libsodium/THANKS
new file mode 100644
index 00000000..39443c60
--- /dev/null
+++ b/src/libsodium/THANKS
@@ -0,0 +1,17 @@
+@alethia7
+@joshjdevl
+@neheb
+Amit Murthy (@amitmurthy)
+Bruno Oliveira (@abstractj)
+Chris Rebert (@cvrebert)
+Donald Stufft (@dstufft)
+Douglas Campos (@qmx)
+Jeroen Habraken (@VeXocide)
+Joseph Abrahamson (@tel)
+Kenneth Ballenegger (@kballenegger)
+Michael Gorlick (@mgorlick)
+Samuel Neves (@sneves)
+Stefan Marsiske
+Stephan Touset (@stouset)
+Tony Arcieri (@bascule)
+Tony Garnock-Jones (@tonyg)
diff --git a/src/libsodium/aclocal.m4 b/src/libsodium/aclocal.m4
new file mode 100644
index 00000000..8153cd0b
--- /dev/null
+++ b/src/libsodium/aclocal.m4
@@ -0,0 +1,1214 @@
+# generated automatically by aclocal 1.14 -*- Autoconf -*-
+
+# Copyright (C) 1996-2013 Free Software Foundation, Inc.
+
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])])
+m4_ifndef([AC_AUTOCONF_VERSION],
+  [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
+m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.69],,
+[m4_warning([this file was generated for autoconf 2.69.
+You have another version of autoconf.  It may work, but is not guaranteed to.
+If you have problems, you may need to regenerate the build system entirely.
+To do so, use the procedure documented by the package, typically 'autoreconf'.])])
+
+# Copyright (C) 2002-2013 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_AUTOMAKE_VERSION(VERSION)
+# ----------------------------
+# Automake X.Y traces this macro to ensure aclocal.m4 has been
+# generated from the m4 files accompanying Automake X.Y.
+# (This private macro should not be called outside this file.)
+AC_DEFUN([AM_AUTOMAKE_VERSION],
+[am__api_version='1.14'
+dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
+dnl require some minimum version.  Point them to the right macro.
+m4_if([$1], [1.14], [],
+      [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
+])
+
+# _AM_AUTOCONF_VERSION(VERSION)
+# -----------------------------
+# aclocal traces this macro to find the Autoconf version.
+# This is a private macro too.  Using m4_define simplifies
+# the logic in aclocal, which can simply ignore this definition.
+m4_define([_AM_AUTOCONF_VERSION], [])
+
+# AM_SET_CURRENT_AUTOMAKE_VERSION
+# -------------------------------
+# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
+# This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
+AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
+[AM_AUTOMAKE_VERSION([1.14])dnl
+m4_ifndef([AC_AUTOCONF_VERSION],
+  [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
+_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
+
+# Figure out how to run the assembler.                      -*- Autoconf -*-
+
+# Copyright (C) 2001-2013 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_PROG_AS
+# ----------
+AC_DEFUN([AM_PROG_AS],
+[# By default we simply use the C compiler to build assembly code.
+AC_REQUIRE([AC_PROG_CC])
+test "${CCAS+set}" = set || CCAS=$CC
+test "${CCASFLAGS+set}" = set || CCASFLAGS=$CFLAGS
+AC_ARG_VAR([CCAS],      [assembler compiler command (defaults to CC)])
+AC_ARG_VAR([CCASFLAGS], [assembler compiler flags (defaults to CFLAGS)])
+_AM_IF_OPTION([no-dependencies],, [_AM_DEPENDENCIES([CCAS])])dnl
+])
+
+# AM_AUX_DIR_EXPAND                                         -*- Autoconf -*-
+
+# Copyright (C) 2001-2013 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
+# $ac_aux_dir to '$srcdir/foo'.  In other projects, it is set to
+# '$srcdir', '$srcdir/..', or '$srcdir/../..'.
+#
+# Of course, Automake must honor this variable whenever it calls a
+# tool from the auxiliary directory.  The problem is that $srcdir (and
+# therefore $ac_aux_dir as well) can be either absolute or relative,
+# depending on how configure is run.  This is pretty annoying, since
+# it makes $ac_aux_dir quite unusable in subdirectories: in the top
+# source directory, any form will work fine, but in subdirectories a
+# relative path needs to be adjusted first.
+#
+# $ac_aux_dir/missing
+#    fails when called from a subdirectory if $ac_aux_dir is relative
+# $top_srcdir/$ac_aux_dir/missing
+#    fails if $ac_aux_dir is absolute,
+#    fails when called from a subdirectory in a VPATH build with
+#          a relative $ac_aux_dir
+#
+# The reason of the latter failure is that $top_srcdir and $ac_aux_dir
+# are both prefixed by $srcdir.  In an in-source build this is usually
+# harmless because $srcdir is '.', but things will broke when you
+# start a VPATH build or use an absolute $srcdir.
+#
+# So we could use something similar to $top_srcdir/$ac_aux_dir/missing,
+# iff we strip the leading $srcdir from $ac_aux_dir.  That would be:
+#   am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"`
+# and then we would define $MISSING as
+#   MISSING="\${SHELL} $am_aux_dir/missing"
+# This will work as long as MISSING is not called from configure, because
+# unfortunately $(top_srcdir) has no meaning in configure.
+# However there are other variables, like CC, which are often used in
+# configure, and could therefore not use this "fixed" $ac_aux_dir.
+#
+# Another solution, used here, is to always expand $ac_aux_dir to an
+# absolute PATH.  The drawback is that using absolute paths prevent a
+# configured tree to be moved without reconfiguration.
+
+AC_DEFUN([AM_AUX_DIR_EXPAND],
+[dnl Rely on autoconf to set up CDPATH properly.
+AC_PREREQ([2.50])dnl
+# expand $ac_aux_dir to an absolute path
+am_aux_dir=`cd $ac_aux_dir && pwd`
+])
+
+# AM_CONDITIONAL                                            -*- Autoconf -*-
+
+# Copyright (C) 1997-2013 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_CONDITIONAL(NAME, SHELL-CONDITION)
+# -------------------------------------
+# Define a conditional.
+AC_DEFUN([AM_CONDITIONAL],
+[AC_PREREQ([2.52])dnl
+ m4_if([$1], [TRUE],  [AC_FATAL([$0: invalid condition: $1])],
+       [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
+AC_SUBST([$1_TRUE])dnl
+AC_SUBST([$1_FALSE])dnl
+_AM_SUBST_NOTMAKE([$1_TRUE])dnl
+_AM_SUBST_NOTMAKE([$1_FALSE])dnl
+m4_define([_AM_COND_VALUE_$1], [$2])dnl
+if $2; then
+  $1_TRUE=
+  $1_FALSE='#'
+else
+  $1_TRUE='#'
+  $1_FALSE=
+fi
+AC_CONFIG_COMMANDS_PRE(
+[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then
+  AC_MSG_ERROR([[conditional "$1" was never defined.
+Usually this means the macro was only invoked conditionally.]])
+fi])])
+
+# Copyright (C) 1999-2013 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+
+# There are a few dirty hacks below to avoid letting 'AC_PROG_CC' be
+# written in clear, in which case automake, when reading aclocal.m4,
+# will think it sees a *use*, and therefore will trigger all it's
+# C support machinery.  Also note that it means that autoscan, seeing
+# CC etc. in the Makefile, will ask for an AC_PROG_CC use...
+
+
+# _AM_DEPENDENCIES(NAME)
+# ----------------------
+# See how the compiler implements dependency checking.
+# NAME is "CC", "CXX", "OBJC", "OBJCXX", "UPC", or "GJC".
+# We try a few techniques and use that to set a single cache variable.
+#
+# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was
+# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular
+# dependency, and given that the user is not expected to run this macro,
+# just rely on AC_PROG_CC.
+AC_DEFUN([_AM_DEPENDENCIES],
+[AC_REQUIRE([AM_SET_DEPDIR])dnl
+AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl
+AC_REQUIRE([AM_MAKE_INCLUDE])dnl
+AC_REQUIRE([AM_DEP_TRACK])dnl
+
+m4_if([$1], [CC],   [depcc="$CC"   am_compiler_list=],
+      [$1], [CXX],  [depcc="$CXX"  am_compiler_list=],
+      [$1], [OBJC], [depcc="$OBJC" am_compiler_list='gcc3 gcc'],
+      [$1], [OBJCXX], [depcc="$OBJCXX" am_compiler_list='gcc3 gcc'],
+      [$1], [UPC],  [depcc="$UPC"  am_compiler_list=],
+      [$1], [GCJ],  [depcc="$GCJ"  am_compiler_list='gcc3 gcc'],
+                    [depcc="$$1"   am_compiler_list=])
+
+AC_CACHE_CHECK([dependency style of $depcc],
+               [am_cv_$1_dependencies_compiler_type],
+[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
+  # We make a subdir and do the tests there.  Otherwise we can end up
+  # making bogus files that we don't know about and never remove.  For
+  # instance it was reported that on HP-UX the gcc test will end up
+  # making a dummy file named 'D' -- because '-MD' means "put the output
+  # in D".
+  rm -rf conftest.dir
+  mkdir conftest.dir
+  # Copy depcomp to subdir because otherwise we won't find it if we're
+  # using a relative directory.
+  cp "$am_depcomp" conftest.dir
+  cd conftest.dir
+  # We will build objects and dependencies in a subdirectory because
+  # it helps to detect inapplicable dependency modes.  For instance
+  # both Tru64's cc and ICC support -MD to output dependencies as a
+  # side effect of compilation, but ICC will put the dependencies in
+  # the current directory while Tru64 will put them in the object
+  # directory.
+  mkdir sub
+
+  am_cv_$1_dependencies_compiler_type=none
+  if test "$am_compiler_list" = ""; then
+     am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp`
+  fi
+  am__universal=false
+  m4_case([$1], [CC],
+    [case " $depcc " in #(
+     *\ -arch\ *\ -arch\ *) am__universal=true ;;
+     esac],
+    [CXX],
+    [case " $depcc " in #(
+     *\ -arch\ *\ -arch\ *) am__universal=true ;;
+     esac])
+
+  for depmode in $am_compiler_list; do
+    # Setup a source with many dependencies, because some compilers
+    # like to wrap large dependency lists on column 80 (with \), and
+    # we should not choose a depcomp mode which is confused by this.
+    #
+    # We need to recreate these files for each test, as the compiler may
+    # overwrite some of them when testing with obscure command lines.
+    # This happens at least with the AIX C compiler.
+    : > sub/conftest.c
+    for i in 1 2 3 4 5 6; do
+      echo '#include "conftst'$i'.h"' >> sub/conftest.c
+      # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with
+      # Solaris 10 /bin/sh.
+      echo '/* dummy */' > sub/conftst$i.h
+    done
+    echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
+
+    # We check with '-c' and '-o' for the sake of the "dashmstdout"
+    # mode.  It turns out that the SunPro C++ compiler does not properly
+    # handle '-M -o', and we need to detect this.  Also, some Intel
+    # versions had trouble with output in subdirs.
+    am__obj=sub/conftest.${OBJEXT-o}
+    am__minus_obj="-o $am__obj"
+    case $depmode in
+    gcc)
+      # This depmode causes a compiler race in universal mode.
+      test "$am__universal" = false || continue
+      ;;
+    nosideeffect)
+      # After this tag, mechanisms are not by side-effect, so they'll
+      # only be used when explicitly requested.
+      if test "x$enable_dependency_tracking" = xyes; then
+	continue
+      else
+	break
+      fi
+      ;;
+    msvc7 | msvc7msys | msvisualcpp | msvcmsys)
+      # This compiler won't grok '-c -o', but also, the minuso test has
+      # not run yet.  These depmodes are late enough in the game, and
+      # so weak that their functioning should not be impacted.
+      am__obj=conftest.${OBJEXT-o}
+      am__minus_obj=
+      ;;
+    none) break ;;
+    esac
+    if depmode=$depmode \
+       source=sub/conftest.c object=$am__obj \
+       depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
+       $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
+         >/dev/null 2>conftest.err &&
+       grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
+       grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
+       grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
+       ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
+      # icc doesn't choke on unknown options, it will just issue warnings
+      # or remarks (even with -Werror).  So we grep stderr for any message
+      # that says an option was ignored or not supported.
+      # When given -MP, icc 7.0 and 7.1 complain thusly:
+      #   icc: Command line warning: ignoring option '-M'; no argument required
+      # The diagnosis changed in icc 8.0:
+      #   icc: Command line remark: option '-MP' not supported
+      if (grep 'ignoring option' conftest.err ||
+          grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
+        am_cv_$1_dependencies_compiler_type=$depmode
+        break
+      fi
+    fi
+  done
+
+  cd ..
+  rm -rf conftest.dir
+else
+  am_cv_$1_dependencies_compiler_type=none
+fi
+])
+AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type])
+AM_CONDITIONAL([am__fastdep$1], [
+  test "x$enable_dependency_tracking" != xno \
+  && test "$am_cv_$1_dependencies_compiler_type" = gcc3])
+])
+
+
+# AM_SET_DEPDIR
+# -------------
+# Choose a directory name for dependency files.
+# This macro is AC_REQUIREd in _AM_DEPENDENCIES.
+AC_DEFUN([AM_SET_DEPDIR],
+[AC_REQUIRE([AM_SET_LEADING_DOT])dnl
+AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl
+])
+
+
+# AM_DEP_TRACK
+# ------------
+AC_DEFUN([AM_DEP_TRACK],
+[AC_ARG_ENABLE([dependency-tracking], [dnl
+AS_HELP_STRING(
+  [--enable-dependency-tracking],
+  [do not reject slow dependency extractors])
+AS_HELP_STRING(
+  [--disable-dependency-tracking],
+  [speeds up one-time build])])
+if test "x$enable_dependency_tracking" != xno; then
+  am_depcomp="$ac_aux_dir/depcomp"
+  AMDEPBACKSLASH='\'
+  am__nodep='_no'
+fi
+AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
+AC_SUBST([AMDEPBACKSLASH])dnl
+_AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl
+AC_SUBST([am__nodep])dnl
+_AM_SUBST_NOTMAKE([am__nodep])dnl
+])
+
+# Generate code to set up dependency tracking.              -*- Autoconf -*-
+
+# Copyright (C) 1999-2013 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+
+# _AM_OUTPUT_DEPENDENCY_COMMANDS
+# ------------------------------
+AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
+[{
+  # Older Autoconf quotes --file arguments for eval, but not when files
+  # are listed without --file.  Let's play safe and only enable the eval
+  # if we detect the quoting.
+  case $CONFIG_FILES in
+  *\'*) eval set x "$CONFIG_FILES" ;;
+  *)   set x $CONFIG_FILES ;;
+  esac
+  shift
+  for mf
+  do
+    # Strip MF so we end up with the name of the file.
+    mf=`echo "$mf" | sed -e 's/:.*$//'`
+    # Check whether this is an Automake generated Makefile or not.
+    # We used to match only the files named 'Makefile.in', but
+    # some people rename them; so instead we look at the file content.
+    # Grep'ing the first line is not enough: some people post-process
+    # each Makefile.in and add a new line on top of each file to say so.
+    # Grep'ing the whole file is not good either: AIX grep has a line
+    # limit of 2048, but all sed's we know have understand at least 4000.
+    if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
+      dirpart=`AS_DIRNAME("$mf")`
+    else
+      continue
+    fi
+    # Extract the definition of DEPDIR, am__include, and am__quote
+    # from the Makefile without running 'make'.
+    DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
+    test -z "$DEPDIR" && continue
+    am__include=`sed -n 's/^am__include = //p' < "$mf"`
+    test -z "$am__include" && continue
+    am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
+    # Find all dependency output files, they are included files with
+    # $(DEPDIR) in their names.  We invoke sed twice because it is the
+    # simplest approach to changing $(DEPDIR) to its actual value in the
+    # expansion.
+    for file in `sed -n "
+      s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
+	 sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do
+      # Make sure the directory exists.
+      test -f "$dirpart/$file" && continue
+      fdir=`AS_DIRNAME(["$file"])`
+      AS_MKDIR_P([$dirpart/$fdir])
+      # echo "creating $dirpart/$file"
+      echo '# dummy' > "$dirpart/$file"
+    done
+  done
+}
+])# _AM_OUTPUT_DEPENDENCY_COMMANDS
+
+
+# AM_OUTPUT_DEPENDENCY_COMMANDS
+# -----------------------------
+# This macro should only be invoked once -- use via AC_REQUIRE.
+#
+# This code is only required when automatic dependency tracking
+# is enabled.  FIXME.  This creates each '.P' file that we will
+# need in order to bootstrap the dependency handling code.
+AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
+[AC_CONFIG_COMMANDS([depfiles],
+     [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS],
+     [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"])
+])
+
+# Do all the work for Automake.                             -*- Autoconf -*-
+
+# Copyright (C) 1996-2013 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This macro actually does too much.  Some checks are only needed if
+# your package does certain things.  But this isn't really a big deal.
+
+dnl Redefine AC_PROG_CC to automatically invoke _AM_PROG_CC_C_O.
+m4_define([AC_PROG_CC],
+m4_defn([AC_PROG_CC])
+[_AM_PROG_CC_C_O
+])
+
+# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
+# AM_INIT_AUTOMAKE([OPTIONS])
+# -----------------------------------------------
+# The call with PACKAGE and VERSION arguments is the old style
+# call (pre autoconf-2.50), which is being phased out.  PACKAGE
+# and VERSION should now be passed to AC_INIT and removed from
+# the call to AM_INIT_AUTOMAKE.
+# We support both call styles for the transition.  After
+# the next Automake release, Autoconf can make the AC_INIT
+# arguments mandatory, and then we can depend on a new Autoconf
+# release and drop the old call support.
+AC_DEFUN([AM_INIT_AUTOMAKE],
+[AC_PREREQ([2.65])dnl
+dnl Autoconf wants to disallow AM_ names.  We explicitly allow
+dnl the ones we care about.
+m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
+AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl
+AC_REQUIRE([AC_PROG_INSTALL])dnl
+if test "`cd $srcdir && pwd`" != "`pwd`"; then
+  # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
+  # is not polluted with repeated "-I."
+  AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl
+  # test to see if srcdir already configured
+  if test -f $srcdir/config.status; then
+    AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
+  fi
+fi
+
+# test whether we have cygpath
+if test -z "$CYGPATH_W"; then
+  if (cygpath --version) >/dev/null 2>/dev/null; then
+    CYGPATH_W='cygpath -w'
+  else
+    CYGPATH_W=echo
+  fi
+fi
+AC_SUBST([CYGPATH_W])
+
+# Define the identity of the package.
+dnl Distinguish between old-style and new-style calls.
+m4_ifval([$2],
+[AC_DIAGNOSE([obsolete],
+             [$0: two- and three-arguments forms are deprecated.])
+m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
+ AC_SUBST([PACKAGE], [$1])dnl
+ AC_SUBST([VERSION], [$2])],
+[_AM_SET_OPTIONS([$1])dnl
+dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT.
+m4_if(
+  m4_ifdef([AC_PACKAGE_NAME], [ok]):m4_ifdef([AC_PACKAGE_VERSION], [ok]),
+  [ok:ok],,
+  [m4_fatal([AC_INIT should be called with package and version arguments])])dnl
+ AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl
+ AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl
+
+_AM_IF_OPTION([no-define],,
+[AC_DEFINE_UNQUOTED([PACKAGE], ["$PACKAGE"], [Name of package])
+ AC_DEFINE_UNQUOTED([VERSION], ["$VERSION"], [Version number of package])])dnl
+
+# Some tools Automake needs.
+AC_REQUIRE([AM_SANITY_CHECK])dnl
+AC_REQUIRE([AC_ARG_PROGRAM])dnl
+AM_MISSING_PROG([ACLOCAL], [aclocal-${am__api_version}])
+AM_MISSING_PROG([AUTOCONF], [autoconf])
+AM_MISSING_PROG([AUTOMAKE], [automake-${am__api_version}])
+AM_MISSING_PROG([AUTOHEADER], [autoheader])
+AM_MISSING_PROG([MAKEINFO], [makeinfo])
+AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
+AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl
+AC_REQUIRE([AC_PROG_MKDIR_P])dnl
+# For better backward compatibility.  To be removed once Automake 1.9.x
+# dies out for good.  For more background, see:
+# <http://lists.gnu.org/archive/html/automake/2012-07/msg00001.html>
+# <http://lists.gnu.org/archive/html/automake/2012-07/msg00014.html>
+AC_SUBST([mkdir_p], ['$(MKDIR_P)'])
+# We need awk for the "check" target.  The system "awk" is bad on
+# some platforms.
+AC_REQUIRE([AC_PROG_AWK])dnl
+AC_REQUIRE([AC_PROG_MAKE_SET])dnl
+AC_REQUIRE([AM_SET_LEADING_DOT])dnl
+_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])],
+	      [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])],
+			     [_AM_PROG_TAR([v7])])])
+_AM_IF_OPTION([no-dependencies],,
+[AC_PROVIDE_IFELSE([AC_PROG_CC],
+		  [_AM_DEPENDENCIES([CC])],
+		  [m4_define([AC_PROG_CC],
+			     m4_defn([AC_PROG_CC])[_AM_DEPENDENCIES([CC])])])dnl
+AC_PROVIDE_IFELSE([AC_PROG_CXX],
+		  [_AM_DEPENDENCIES([CXX])],
+		  [m4_define([AC_PROG_CXX],
+			     m4_defn([AC_PROG_CXX])[_AM_DEPENDENCIES([CXX])])])dnl
+AC_PROVIDE_IFELSE([AC_PROG_OBJC],
+		  [_AM_DEPENDENCIES([OBJC])],
+		  [m4_define([AC_PROG_OBJC],
+			     m4_defn([AC_PROG_OBJC])[_AM_DEPENDENCIES([OBJC])])])dnl
+AC_PROVIDE_IFELSE([AC_PROG_OBJCXX],
+		  [_AM_DEPENDENCIES([OBJCXX])],
+		  [m4_define([AC_PROG_OBJCXX],
+			     m4_defn([AC_PROG_OBJCXX])[_AM_DEPENDENCIES([OBJCXX])])])dnl
+])
+AC_REQUIRE([AM_SILENT_RULES])dnl
+dnl The testsuite driver may need to know about EXEEXT, so add the
+dnl 'am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen.  This
+dnl macro is hooked onto _AC_COMPILER_EXEEXT early, see below.
+AC_CONFIG_COMMANDS_PRE(dnl
+[m4_provide_if([_AM_COMPILER_EXEEXT],
+  [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl
+
+# POSIX will say in a future version that running "rm -f" with no argument
+# is OK; and we want to be able to make that assumption in our Makefile
+# recipes.  So use an aggressive probe to check that the usage we want is
+# actually supported "in the wild" to an acceptable degree.
+# See automake bug#10828.
+# To make any issue more visible, cause the running configure to be aborted
+# by default if the 'rm' program in use doesn't match our expectations; the
+# user can still override this though.
+if rm -f && rm -fr && rm -rf; then : OK; else
+  cat >&2 <<'END'
+Oops!
+
+Your 'rm' program seems unable to run without file operands specified
+on the command line, even when the '-f' option is present.  This is contrary
+to the behaviour of most rm programs out there, and not conforming with
+the upcoming POSIX standard: <http://austingroupbugs.net/view.php?id=542>
+
+Please tell bug-automake@gnu.org about your system, including the value
+of your $PATH and any error possibly output before this message.  This
+can help us improve future automake versions.
+
+END
+  if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then
+    echo 'Configuration will proceed anyway, since you have set the' >&2
+    echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2
+    echo >&2
+  else
+    cat >&2 <<'END'
+Aborting the configuration process, to ensure you take notice of the issue.
+
+You can download and install GNU coreutils to get an 'rm' implementation
+that behaves properly: <http://www.gnu.org/software/coreutils/>.
+
+If you want to complete the configuration process using your problematic
+'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM
+to "yes", and re-run configure.
+
+END
+    AC_MSG_ERROR([Your 'rm' program is bad, sorry.])
+  fi
+fi])
+
+dnl Hook into '_AC_COMPILER_EXEEXT' early to learn its expansion.  Do not
+dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further
+dnl mangled by Autoconf and run in a shell conditional statement.
+m4_define([_AC_COMPILER_EXEEXT],
+m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])])
+
+# When config.status generates a header, we must update the stamp-h file.
+# This file resides in the same directory as the config header
+# that is generated.  The stamp files are numbered to have different names.
+
+# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the
+# loop where config.status creates the headers, so we can generate
+# our stamp files there.
+AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK],
+[# Compute $1's index in $config_headers.
+_am_arg=$1
+_am_stamp_count=1
+for _am_header in $config_headers :; do
+  case $_am_header in
+    $_am_arg | $_am_arg:* )
+      break ;;
+    * )
+      _am_stamp_count=`expr $_am_stamp_count + 1` ;;
+  esac
+done
+echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
+
+# Copyright (C) 2001-2013 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_PROG_INSTALL_SH
+# ------------------
+# Define $install_sh.
+AC_DEFUN([AM_PROG_INSTALL_SH],
+[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
+if test x"${install_sh}" != xset; then
+  case $am_aux_dir in
+  *\ * | *\	*)
+    install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
+  *)
+    install_sh="\${SHELL} $am_aux_dir/install-sh"
+  esac
+fi
+AC_SUBST([install_sh])])
+
+# Copyright (C) 2003-2013 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# Check whether the underlying file-system supports filenames
+# with a leading dot.  For instance MS-DOS doesn't.
+AC_DEFUN([AM_SET_LEADING_DOT],
+[rm -rf .tst 2>/dev/null
+mkdir .tst 2>/dev/null
+if test -d .tst; then
+  am__leading_dot=.
+else
+  am__leading_dot=_
+fi
+rmdir .tst 2>/dev/null
+AC_SUBST([am__leading_dot])])
+
+# Add --enable-maintainer-mode option to configure.         -*- Autoconf -*-
+# From Jim Meyering
+
+# Copyright (C) 1996-2013 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_MAINTAINER_MODE([DEFAULT-MODE])
+# ----------------------------------
+# Control maintainer-specific portions of Makefiles.
+# Default is to disable them, unless 'enable' is passed literally.
+# For symmetry, 'disable' may be passed as well.  Anyway, the user
+# can override the default with the --enable/--disable switch.
+AC_DEFUN([AM_MAINTAINER_MODE],
+[m4_case(m4_default([$1], [disable]),
+       [enable], [m4_define([am_maintainer_other], [disable])],
+       [disable], [m4_define([am_maintainer_other], [enable])],
+       [m4_define([am_maintainer_other], [enable])
+        m4_warn([syntax], [unexpected argument to AM@&t@_MAINTAINER_MODE: $1])])
+AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
+  dnl maintainer-mode's default is 'disable' unless 'enable' is passed
+  AC_ARG_ENABLE([maintainer-mode],
+    [AS_HELP_STRING([--]am_maintainer_other[-maintainer-mode],
+      am_maintainer_other[ make rules and dependencies not useful
+      (and sometimes confusing) to the casual installer])],
+    [USE_MAINTAINER_MODE=$enableval],
+    [USE_MAINTAINER_MODE=]m4_if(am_maintainer_other, [enable], [no], [yes]))
+  AC_MSG_RESULT([$USE_MAINTAINER_MODE])
+  AM_CONDITIONAL([MAINTAINER_MODE], [test $USE_MAINTAINER_MODE = yes])
+  MAINT=$MAINTAINER_MODE_TRUE
+  AC_SUBST([MAINT])dnl
+]
+)
+
+# Check to see how 'make' treats includes.	            -*- Autoconf -*-
+
+# Copyright (C) 2001-2013 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_MAKE_INCLUDE()
+# -----------------
+# Check to see how make treats includes.
+AC_DEFUN([AM_MAKE_INCLUDE],
+[am_make=${MAKE-make}
+cat > confinc << 'END'
+am__doit:
+	@echo this is the am__doit target
+.PHONY: am__doit
+END
+# If we don't find an include directive, just comment out the code.
+AC_MSG_CHECKING([for style of include used by $am_make])
+am__include="#"
+am__quote=
+_am_result=none
+# First try GNU make style include.
+echo "include confinc" > confmf
+# Ignore all kinds of additional output from 'make'.
+case `$am_make -s -f confmf 2> /dev/null` in #(
+*the\ am__doit\ target*)
+  am__include=include
+  am__quote=
+  _am_result=GNU
+  ;;
+esac
+# Now try BSD make style include.
+if test "$am__include" = "#"; then
+   echo '.include "confinc"' > confmf
+   case `$am_make -s -f confmf 2> /dev/null` in #(
+   *the\ am__doit\ target*)
+     am__include=.include
+     am__quote="\""
+     _am_result=BSD
+     ;;
+   esac
+fi
+AC_SUBST([am__include])
+AC_SUBST([am__quote])
+AC_MSG_RESULT([$_am_result])
+rm -f confinc confmf
+])
+
+# Fake the existence of programs that GNU maintainers use.  -*- Autoconf -*-
+
+# Copyright (C) 1997-2013 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_MISSING_PROG(NAME, PROGRAM)
+# ------------------------------
+AC_DEFUN([AM_MISSING_PROG],
+[AC_REQUIRE([AM_MISSING_HAS_RUN])
+$1=${$1-"${am_missing_run}$2"}
+AC_SUBST($1)])
+
+# AM_MISSING_HAS_RUN
+# ------------------
+# Define MISSING if not defined so far and test if it is modern enough.
+# If it is, set am_missing_run to use it, otherwise, to nothing.
+AC_DEFUN([AM_MISSING_HAS_RUN],
+[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
+AC_REQUIRE_AUX_FILE([missing])dnl
+if test x"${MISSING+set}" != xset; then
+  case $am_aux_dir in
+  *\ * | *\	*)
+    MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
+  *)
+    MISSING="\${SHELL} $am_aux_dir/missing" ;;
+  esac
+fi
+# Use eval to expand $SHELL
+if eval "$MISSING --is-lightweight"; then
+  am_missing_run="$MISSING "
+else
+  am_missing_run=
+  AC_MSG_WARN(['missing' script is too old or missing])
+fi
+])
+
+# Helper functions for option handling.                     -*- Autoconf -*-
+
+# Copyright (C) 2001-2013 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# _AM_MANGLE_OPTION(NAME)
+# -----------------------
+AC_DEFUN([_AM_MANGLE_OPTION],
+[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])])
+
+# _AM_SET_OPTION(NAME)
+# --------------------
+# Set option NAME.  Presently that only means defining a flag for this option.
+AC_DEFUN([_AM_SET_OPTION],
+[m4_define(_AM_MANGLE_OPTION([$1]), [1])])
+
+# _AM_SET_OPTIONS(OPTIONS)
+# ------------------------
+# OPTIONS is a space-separated list of Automake options.
+AC_DEFUN([_AM_SET_OPTIONS],
+[m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])])
+
+# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET])
+# -------------------------------------------
+# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
+AC_DEFUN([_AM_IF_OPTION],
+[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
+
+# Copyright (C) 1999-2013 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# _AM_PROG_CC_C_O
+# ---------------
+# Like AC_PROG_CC_C_O, but changed for automake.  We rewrite AC_PROG_CC
+# to automatically call this.
+AC_DEFUN([_AM_PROG_CC_C_O],
+[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
+AC_REQUIRE_AUX_FILE([compile])dnl
+AC_LANG_PUSH([C])dnl
+AC_CACHE_CHECK(
+  [whether $CC understands -c and -o together],
+  [am_cv_prog_cc_c_o],
+  [AC_LANG_CONFTEST([AC_LANG_PROGRAM([])])
+  # Make sure it works both with $CC and with simple cc.
+  # Following AC_PROG_CC_C_O, we do the test twice because some
+  # compilers refuse to overwrite an existing .o file with -o,
+  # though they will create one.
+  am_cv_prog_cc_c_o=yes
+  for am_i in 1 2; do
+    if AM_RUN_LOG([$CC -c conftest.$ac_ext -o conftest2.$ac_objext]) \
+         && test -f conftest2.$ac_objext; then
+      : OK
+    else
+      am_cv_prog_cc_c_o=no
+      break
+    fi
+  done
+  rm -f core conftest*
+  unset am_i])
+if test "$am_cv_prog_cc_c_o" != yes; then
+   # Losing compiler, so override with the script.
+   # FIXME: It is wrong to rewrite CC.
+   # But if we don't then we get into trouble of one sort or another.
+   # A longer-term fix would be to have automake use am__CC in this case,
+   # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
+   CC="$am_aux_dir/compile $CC"
+fi
+AC_LANG_POP([C])])
+
+# For backward compatibility.
+AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])])
+
+# Copyright (C) 2001-2013 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_RUN_LOG(COMMAND)
+# -------------------
+# Run COMMAND, save the exit status in ac_status, and log it.
+# (This has been adapted from Autoconf's _AC_RUN_LOG macro.)
+AC_DEFUN([AM_RUN_LOG],
+[{ echo "$as_me:$LINENO: $1" >&AS_MESSAGE_LOG_FD
+   ($1) >&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD
+   ac_status=$?
+   echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
+   (exit $ac_status); }])
+
+# Check to make sure that the build environment is sane.    -*- Autoconf -*-
+
+# Copyright (C) 1996-2013 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_SANITY_CHECK
+# ---------------
+AC_DEFUN([AM_SANITY_CHECK],
+[AC_MSG_CHECKING([whether build environment is sane])
+# Reject unsafe characters in $srcdir or the absolute working directory
+# name.  Accept space and tab only in the latter.
+am_lf='
+'
+case `pwd` in
+  *[[\\\"\#\$\&\'\`$am_lf]]*)
+    AC_MSG_ERROR([unsafe absolute working directory name]);;
+esac
+case $srcdir in
+  *[[\\\"\#\$\&\'\`$am_lf\ \	]]*)
+    AC_MSG_ERROR([unsafe srcdir value: '$srcdir']);;
+esac
+
+# Do 'set' in a subshell so we don't clobber the current shell's
+# arguments.  Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+   am_has_slept=no
+   for am_try in 1 2; do
+     echo "timestamp, slept: $am_has_slept" > conftest.file
+     set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
+     if test "$[*]" = "X"; then
+	# -L didn't work.
+	set X `ls -t "$srcdir/configure" conftest.file`
+     fi
+     if test "$[*]" != "X $srcdir/configure conftest.file" \
+	&& test "$[*]" != "X conftest.file $srcdir/configure"; then
+
+	# If neither matched, then we have a broken ls.  This can happen
+	# if, for instance, CONFIG_SHELL is bash and it inherits a
+	# broken ls alias from the environment.  This has actually
+	# happened.  Such a system could not be considered "sane".
+	AC_MSG_ERROR([ls -t appears to fail.  Make sure there is not a broken
+  alias in your environment])
+     fi
+     if test "$[2]" = conftest.file || test $am_try -eq 2; then
+       break
+     fi
+     # Just in case.
+     sleep 1
+     am_has_slept=yes
+   done
+   test "$[2]" = conftest.file
+   )
+then
+   # Ok.
+   :
+else
+   AC_MSG_ERROR([newly created file is older than distributed files!
+Check your system clock])
+fi
+AC_MSG_RESULT([yes])
+# If we didn't sleep, we still need to ensure time stamps of config.status and
+# generated files are strictly newer.
+am_sleep_pid=
+if grep 'slept: no' conftest.file >/dev/null 2>&1; then
+  ( sleep 1 ) &
+  am_sleep_pid=$!
+fi
+AC_CONFIG_COMMANDS_PRE(
+  [AC_MSG_CHECKING([that generated files are newer than configure])
+   if test -n "$am_sleep_pid"; then
+     # Hide warnings about reused PIDs.
+     wait $am_sleep_pid 2>/dev/null
+   fi
+   AC_MSG_RESULT([done])])
+rm -f conftest.file
+])
+
+# Copyright (C) 2009-2013 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_SILENT_RULES([DEFAULT])
+# --------------------------
+# Enable less verbose build rules; with the default set to DEFAULT
+# ("yes" being less verbose, "no" or empty being verbose).
+AC_DEFUN([AM_SILENT_RULES],
+[AC_ARG_ENABLE([silent-rules], [dnl
+AS_HELP_STRING(
+  [--enable-silent-rules],
+  [less verbose build output (undo: "make V=1")])
+AS_HELP_STRING(
+  [--disable-silent-rules],
+  [verbose build output (undo: "make V=0")])dnl
+])
+case $enable_silent_rules in @%:@ (((
+  yes) AM_DEFAULT_VERBOSITY=0;;
+   no) AM_DEFAULT_VERBOSITY=1;;
+    *) AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1]);;
+esac
+dnl
+dnl A few 'make' implementations (e.g., NonStop OS and NextStep)
+dnl do not support nested variable expansions.
+dnl See automake bug#9928 and bug#10237.
+am_make=${MAKE-make}
+AC_CACHE_CHECK([whether $am_make supports nested variables],
+   [am_cv_make_support_nested_variables],
+   [if AS_ECHO([['TRUE=$(BAR$(V))
+BAR0=false
+BAR1=true
+V=1
+am__doit:
+	@$(TRUE)
+.PHONY: am__doit']]) | $am_make -f - >/dev/null 2>&1; then
+  am_cv_make_support_nested_variables=yes
+else
+  am_cv_make_support_nested_variables=no
+fi])
+if test $am_cv_make_support_nested_variables = yes; then
+  dnl Using '$V' instead of '$(V)' breaks IRIX make.
+  AM_V='$(V)'
+  AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)'
+else
+  AM_V=$AM_DEFAULT_VERBOSITY
+  AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY
+fi
+AC_SUBST([AM_V])dnl
+AM_SUBST_NOTMAKE([AM_V])dnl
+AC_SUBST([AM_DEFAULT_V])dnl
+AM_SUBST_NOTMAKE([AM_DEFAULT_V])dnl
+AC_SUBST([AM_DEFAULT_VERBOSITY])dnl
+AM_BACKSLASH='\'
+AC_SUBST([AM_BACKSLASH])dnl
+_AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl
+])
+
+# Copyright (C) 2001-2013 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_PROG_INSTALL_STRIP
+# ---------------------
+# One issue with vendor 'install' (even GNU) is that you can't
+# specify the program used to strip binaries.  This is especially
+# annoying in cross-compiling environments, where the build's strip
+# is unlikely to handle the host's binaries.
+# Fortunately install-sh will honor a STRIPPROG variable, so we
+# always use install-sh in "make install-strip", and initialize
+# STRIPPROG with the value of the STRIP variable (set by the user).
+AC_DEFUN([AM_PROG_INSTALL_STRIP],
+[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
+# Installed binaries are usually stripped using 'strip' when the user
+# run "make install-strip".  However 'strip' might not be the right
+# tool to use in cross-compilation environments, therefore Automake
+# will honor the 'STRIP' environment variable to overrule this program.
+dnl Don't test for $cross_compiling = yes, because it might be 'maybe'.
+if test "$cross_compiling" != no; then
+  AC_CHECK_TOOL([STRIP], [strip], :)
+fi
+INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
+AC_SUBST([INSTALL_STRIP_PROGRAM])])
+
+# Copyright (C) 2006-2013 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# _AM_SUBST_NOTMAKE(VARIABLE)
+# ---------------------------
+# Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in.
+# This macro is traced by Automake.
+AC_DEFUN([_AM_SUBST_NOTMAKE])
+
+# AM_SUBST_NOTMAKE(VARIABLE)
+# --------------------------
+# Public sister of _AM_SUBST_NOTMAKE.
+AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
+
+# Check how to create a tarball.                            -*- Autoconf -*-
+
+# Copyright (C) 2004-2013 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# _AM_PROG_TAR(FORMAT)
+# --------------------
+# Check how to create a tarball in format FORMAT.
+# FORMAT should be one of 'v7', 'ustar', or 'pax'.
+#
+# Substitute a variable $(am__tar) that is a command
+# writing to stdout a FORMAT-tarball containing the directory
+# $tardir.
+#     tardir=directory && $(am__tar) > result.tar
+#
+# Substitute a variable $(am__untar) that extract such
+# a tarball read from stdin.
+#     $(am__untar) < result.tar
+#
+AC_DEFUN([_AM_PROG_TAR],
+[# Always define AMTAR for backward compatibility.  Yes, it's still used
+# in the wild :-(  We should find a proper way to deprecate it ...
+AC_SUBST([AMTAR], ['$${TAR-tar}'])
+
+# We'll loop over all known methods to create a tar archive until one works.
+_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none'
+
+m4_if([$1], [v7],
+  [am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'],
+
+  [m4_case([$1],
+    [ustar],
+     [# The POSIX 1988 'ustar' format is defined with fixed-size fields.
+      # There is notably a 21 bits limit for the UID and the GID.  In fact,
+      # the 'pax' utility can hang on bigger UID/GID (see automake bug#8343
+      # and bug#13588).
+      am_max_uid=2097151 # 2^21 - 1
+      am_max_gid=$am_max_uid
+      # The $UID and $GID variables are not portable, so we need to resort
+      # to the POSIX-mandated id(1) utility.  Errors in the 'id' calls
+      # below are definitely unexpected, so allow the users to see them
+      # (that is, avoid stderr redirection).
+      am_uid=`id -u || echo unknown`
+      am_gid=`id -g || echo unknown`
+      AC_MSG_CHECKING([whether UID '$am_uid' is supported by ustar format])
+      if test $am_uid -le $am_max_uid; then
+         AC_MSG_RESULT([yes])
+      else
+         AC_MSG_RESULT([no])
+         _am_tools=none
+      fi
+      AC_MSG_CHECKING([whether GID '$am_gid' is supported by ustar format])
+      if test $am_gid -le $am_max_gid; then
+         AC_MSG_RESULT([yes])
+      else
+        AC_MSG_RESULT([no])
+        _am_tools=none
+      fi],
+
+  [pax],
+    [],
+
+  [m4_fatal([Unknown tar format])])
+
+  AC_MSG_CHECKING([how to create a $1 tar archive])
+
+  # Go ahead even if we have the value already cached.  We do so because we
+  # need to set the values for the 'am__tar' and 'am__untar' variables.
+  _am_tools=${am_cv_prog_tar_$1-$_am_tools}
+
+  for _am_tool in $_am_tools; do
+    case $_am_tool in
+    gnutar)
+      for _am_tar in tar gnutar gtar; do
+        AM_RUN_LOG([$_am_tar --version]) && break
+      done
+      am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"'
+      am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"'
+      am__untar="$_am_tar -xf -"
+      ;;
+    plaintar)
+      # Must skip GNU tar: if it does not support --format= it doesn't create
+      # ustar tarball either.
+      (tar --version) >/dev/null 2>&1 && continue
+      am__tar='tar chf - "$$tardir"'
+      am__tar_='tar chf - "$tardir"'
+      am__untar='tar xf -'
+      ;;
+    pax)
+      am__tar='pax -L -x $1 -w "$$tardir"'
+      am__tar_='pax -L -x $1 -w "$tardir"'
+      am__untar='pax -r'
+      ;;
+    cpio)
+      am__tar='find "$$tardir" -print | cpio -o -H $1 -L'
+      am__tar_='find "$tardir" -print | cpio -o -H $1 -L'
+      am__untar='cpio -i -H $1 -d'
+      ;;
+    none)
+      am__tar=false
+      am__tar_=false
+      am__untar=false
+      ;;
+    esac
+
+    # If the value was cached, stop now.  We just wanted to have am__tar
+    # and am__untar set.
+    test -n "${am_cv_prog_tar_$1}" && break
+
+    # tar/untar a dummy directory, and stop if the command works.
+    rm -rf conftest.dir
+    mkdir conftest.dir
+    echo GrepMe > conftest.dir/file
+    AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar])
+    rm -rf conftest.dir
+    if test -s conftest.tar; then
+      AM_RUN_LOG([$am__untar <conftest.tar])
+      AM_RUN_LOG([cat conftest.dir/file])
+      grep GrepMe conftest.dir/file >/dev/null 2>&1 && break
+    fi
+  done
+  rm -rf conftest.dir
+
+  AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool])
+  AC_MSG_RESULT([$am_cv_prog_tar_$1])])
+
+AC_SUBST([am__tar])
+AC_SUBST([am__untar])
+]) # _AM_PROG_TAR
+
+m4_include([m4/ax_check_compile_flag.m4])
+m4_include([m4/ax_check_link_flag.m4])
+m4_include([m4/ld-output-def.m4])
+m4_include([m4/libtool.m4])
+m4_include([m4/ltoptions.m4])
+m4_include([m4/ltsugar.m4])
+m4_include([m4/ltversion.m4])
+m4_include([m4/lt~obsolete.m4])
+m4_include([m4/pkg.m4])
diff --git a/src/libsodium/autogen.sh b/src/libsodium/autogen.sh
new file mode 100755
index 00000000..3361b682
--- /dev/null
+++ b/src/libsodium/autogen.sh
@@ -0,0 +1,16 @@
+#! /bin/sh
+
+if [ -x "`which autoreconf 2>/dev/null`" ] ; then
+  exec autoreconf -ivf
+fi
+
+if glibtoolize --version > /dev/null 2>&1; then
+  LIBTOOLIZE='glibtoolize'
+else
+  LIBTOOLIZE='libtoolize'
+fi
+
+$LIBTOOLIZE && \
+aclocal && \
+automake --add-missing --force-missing --include-deps && \
+autoconf
diff --git a/src/libsodium/compile b/src/libsodium/compile
new file mode 100755
index 00000000..531136b0
--- /dev/null
+++ b/src/libsodium/compile
@@ -0,0 +1,347 @@
+#! /bin/sh
+# Wrapper for compilers which do not understand '-c -o'.
+
+scriptversion=2012-10-14.11; # UTC
+
+# Copyright (C) 1999-2013 Free Software Foundation, Inc.
+# Written by Tom Tromey <tromey@cygnus.com>.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+# This file is maintained in Automake, please report
+# bugs to <bug-automake@gnu.org> or send patches to
+# <automake-patches@gnu.org>.
+
+nl='
+'
+
+# We need space, tab and new line, in precisely that order.  Quoting is
+# there to prevent tools from complaining about whitespace usage.
+IFS=" ""	$nl"
+
+file_conv=
+
+# func_file_conv build_file lazy
+# Convert a $build file to $host form and store it in $file
+# Currently only supports Windows hosts. If the determined conversion
+# type is listed in (the comma separated) LAZY, no conversion will
+# take place.
+func_file_conv ()
+{
+  file=$1
+  case $file in
+    / | /[!/]*) # absolute file, and not a UNC file
+      if test -z "$file_conv"; then
+	# lazily determine how to convert abs files
+	case `uname -s` in
+	  MINGW*)
+	    file_conv=mingw
+	    ;;
+	  CYGWIN*)
+	    file_conv=cygwin
+	    ;;
+	  *)
+	    file_conv=wine
+	    ;;
+	esac
+      fi
+      case $file_conv/,$2, in
+	*,$file_conv,*)
+	  ;;
+	mingw/*)
+	  file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'`
+	  ;;
+	cygwin/*)
+	  file=`cygpath -m "$file" || echo "$file"`
+	  ;;
+	wine/*)
+	  file=`winepath -w "$file" || echo "$file"`
+	  ;;
+      esac
+      ;;
+  esac
+}
+
+# func_cl_dashL linkdir
+# Make cl look for libraries in LINKDIR
+func_cl_dashL ()
+{
+  func_file_conv "$1"
+  if test -z "$lib_path"; then
+    lib_path=$file
+  else
+    lib_path="$lib_path;$file"
+  fi
+  linker_opts="$linker_opts -LIBPATH:$file"
+}
+
+# func_cl_dashl library
+# Do a library search-path lookup for cl
+func_cl_dashl ()
+{
+  lib=$1
+  found=no
+  save_IFS=$IFS
+  IFS=';'
+  for dir in $lib_path $LIB
+  do
+    IFS=$save_IFS
+    if $shared && test -f "$dir/$lib.dll.lib"; then
+      found=yes
+      lib=$dir/$lib.dll.lib
+      break
+    fi
+    if test -f "$dir/$lib.lib"; then
+      found=yes
+      lib=$dir/$lib.lib
+      break
+    fi
+    if test -f "$dir/lib$lib.a"; then
+      found=yes
+      lib=$dir/lib$lib.a
+      break
+    fi
+  done
+  IFS=$save_IFS
+
+  if test "$found" != yes; then
+    lib=$lib.lib
+  fi
+}
+
+# func_cl_wrapper cl arg...
+# Adjust compile command to suit cl
+func_cl_wrapper ()
+{
+  # Assume a capable shell
+  lib_path=
+  shared=:
+  linker_opts=
+  for arg
+  do
+    if test -n "$eat"; then
+      eat=
+    else
+      case $1 in
+	-o)
+	  # configure might choose to run compile as 'compile cc -o foo foo.c'.
+	  eat=1
+	  case $2 in
+	    *.o | *.[oO][bB][jJ])
+	      func_file_conv "$2"
+	      set x "$@" -Fo"$file"
+	      shift
+	      ;;
+	    *)
+	      func_file_conv "$2"
+	      set x "$@" -Fe"$file"
+	      shift
+	      ;;
+	  esac
+	  ;;
+	-I)
+	  eat=1
+	  func_file_conv "$2" mingw
+	  set x "$@" -I"$file"
+	  shift
+	  ;;
+	-I*)
+	  func_file_conv "${1#-I}" mingw
+	  set x "$@" -I"$file"
+	  shift
+	  ;;
+	-l)
+	  eat=1
+	  func_cl_dashl "$2"
+	  set x "$@" "$lib"
+	  shift
+	  ;;
+	-l*)
+	  func_cl_dashl "${1#-l}"
+	  set x "$@" "$lib"
+	  shift
+	  ;;
+	-L)
+	  eat=1
+	  func_cl_dashL "$2"
+	  ;;
+	-L*)
+	  func_cl_dashL "${1#-L}"
+	  ;;
+	-static)
+	  shared=false
+	  ;;
+	-Wl,*)
+	  arg=${1#-Wl,}
+	  save_ifs="$IFS"; IFS=','
+	  for flag in $arg; do
+	    IFS="$save_ifs"
+	    linker_opts="$linker_opts $flag"
+	  done
+	  IFS="$save_ifs"
+	  ;;
+	-Xlinker)
+	  eat=1
+	  linker_opts="$linker_opts $2"
+	  ;;
+	-*)
+	  set x "$@" "$1"
+	  shift
+	  ;;
+	*.cc | *.CC | *.cxx | *.CXX | *.[cC]++)
+	  func_file_conv "$1"
+	  set x "$@" -Tp"$file"
+	  shift
+	  ;;
+	*.c | *.cpp | *.CPP | *.lib | *.LIB | *.Lib | *.OBJ | *.obj | *.[oO])
+	  func_file_conv "$1" mingw
+	  set x "$@" "$file"
+	  shift
+	  ;;
+	*)
+	  set x "$@" "$1"
+	  shift
+	  ;;
+      esac
+    fi
+    shift
+  done
+  if test -n "$linker_opts"; then
+    linker_opts="-link$linker_opts"
+  fi
+  exec "$@" $linker_opts
+  exit 1
+}
+
+eat=
+
+case $1 in
+  '')
+     echo "$0: No command.  Try '$0 --help' for more information." 1>&2
+     exit 1;
+     ;;
+  -h | --h*)
+    cat <<\EOF
+Usage: compile [--help] [--version] PROGRAM [ARGS]
+
+Wrapper for compilers which do not understand '-c -o'.
+Remove '-o dest.o' from ARGS, run PROGRAM with the remaining
+arguments, and rename the output as expected.
+
+If you are trying to build a whole package this is not the
+right script to run: please start by reading the file 'INSTALL'.
+
+Report bugs to <bug-automake@gnu.org>.
+EOF
+    exit $?
+    ;;
+  -v | --v*)
+    echo "compile $scriptversion"
+    exit $?
+    ;;
+  cl | *[/\\]cl | cl.exe | *[/\\]cl.exe )
+    func_cl_wrapper "$@"      # Doesn't return...
+    ;;
+esac
+
+ofile=
+cfile=
+
+for arg
+do
+  if test -n "$eat"; then
+    eat=
+  else
+    case $1 in
+      -o)
+	# configure might choose to run compile as 'compile cc -o foo foo.c'.
+	# So we strip '-o arg' only if arg is an object.
+	eat=1
+	case $2 in
+	  *.o | *.obj)
+	    ofile=$2
+	    ;;
+	  *)
+	    set x "$@" -o "$2"
+	    shift
+	    ;;
+	esac
+	;;
+      *.c)
+	cfile=$1
+	set x "$@" "$1"
+	shift
+	;;
+      *)
+	set x "$@" "$1"
+	shift
+	;;
+    esac
+  fi
+  shift
+done
+
+if test -z "$ofile" || test -z "$cfile"; then
+  # If no '-o' option was seen then we might have been invoked from a
+  # pattern rule where we don't need one.  That is ok -- this is a
+  # normal compilation that the losing compiler can handle.  If no
+  # '.c' file was seen then we are probably linking.  That is also
+  # ok.
+  exec "$@"
+fi
+
+# Name of file we expect compiler to create.
+cofile=`echo "$cfile" | sed 's|^.*[\\/]||; s|^[a-zA-Z]:||; s/\.c$/.o/'`
+
+# Create the lock directory.
+# Note: use '[/\\:.-]' here to ensure that we don't use the same name
+# that we are using for the .o file.  Also, base the name on the expected
+# object file name, since that is what matters with a parallel build.
+lockdir=`echo "$cofile" | sed -e 's|[/\\:.-]|_|g'`.d
+while true; do
+  if mkdir "$lockdir" >/dev/null 2>&1; then
+    break
+  fi
+  sleep 1
+done
+# FIXME: race condition here if user kills between mkdir and trap.
+trap "rmdir '$lockdir'; exit 1" 1 2 15
+
+# Run the compile.
+"$@"
+ret=$?
+
+if test -f "$cofile"; then
+  test "$cofile" = "$ofile" || mv "$cofile" "$ofile"
+elif test -f "${cofile}bj"; then
+  test "${cofile}bj" = "$ofile" || mv "${cofile}bj" "$ofile"
+fi
+
+rmdir "$lockdir"
+exit $ret
+
+# Local Variables:
+# mode: shell-script
+# sh-indentation: 2
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "scriptversion="
+# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-time-zone: "UTC"
+# time-stamp-end: "; # UTC"
+# End:
diff --git a/src/libsodium/config.guess b/src/libsodium/config.guess
new file mode 100755
index 00000000..b79252d6
--- /dev/null
+++ b/src/libsodium/config.guess
@@ -0,0 +1,1558 @@
+#! /bin/sh
+# Attempt to guess a canonical system name.
+#   Copyright 1992-2013 Free Software Foundation, Inc.
+
+timestamp='2013-06-10'
+
+# This file is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, see <http://www.gnu.org/licenses/>.
+#
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that
+# program.  This Exception is an additional permission under section 7
+# of the GNU General Public License, version 3 ("GPLv3").
+#
+# Originally written by Per Bothner.
+#
+# You can get the latest version of this script from:
+# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
+#
+# Please send patches with a ChangeLog entry to config-patches@gnu.org.
+
+
+me=`echo "$0" | sed -e 's,.*/,,'`
+
+usage="\
+Usage: $0 [OPTION]
+
+Output the configuration name of the system \`$me' is run on.
+
+Operation modes:
+  -h, --help         print this help, then exit
+  -t, --time-stamp   print date of last modification, then exit
+  -v, --version      print version number, then exit
+
+Report bugs and patches to <config-patches@gnu.org>."
+
+version="\
+GNU config.guess ($timestamp)
+
+Originally written by Per Bothner.
+Copyright 1992-2013 Free Software Foundation, Inc.
+
+This is free software; see the source for copying conditions.  There is NO
+warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
+
+help="
+Try \`$me --help' for more information."
+
+# Parse command line
+while test $# -gt 0 ; do
+  case $1 in
+    --time-stamp | --time* | -t )
+       echo "$timestamp" ; exit ;;
+    --version | -v )
+       echo "$version" ; exit ;;
+    --help | --h* | -h )
+       echo "$usage"; exit ;;
+    -- )     # Stop option processing
+       shift; break ;;
+    - )	# Use stdin as input.
+       break ;;
+    -* )
+       echo "$me: invalid option $1$help" >&2
+       exit 1 ;;
+    * )
+       break ;;
+  esac
+done
+
+if test $# != 0; then
+  echo "$me: too many arguments$help" >&2
+  exit 1
+fi
+
+trap 'exit 1' 1 2 15
+
+# CC_FOR_BUILD -- compiler used by this script. Note that the use of a
+# compiler to aid in system detection is discouraged as it requires
+# temporary files to be created and, as you can see below, it is a
+# headache to deal with in a portable fashion.
+
+# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
+# use `HOST_CC' if defined, but it is deprecated.
+
+# Portable tmp directory creation inspired by the Autoconf team.
+
+set_cc_for_build='
+trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
+trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
+: ${TMPDIR=/tmp} ;
+ { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
+ { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
+ { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
+ { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
+dummy=$tmp/dummy ;
+tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;
+case $CC_FOR_BUILD,$HOST_CC,$CC in
+ ,,)    echo "int x;" > $dummy.c ;
+	for c in cc gcc c89 c99 ; do
+	  if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then
+	     CC_FOR_BUILD="$c"; break ;
+	  fi ;
+	done ;
+	if test x"$CC_FOR_BUILD" = x ; then
+	  CC_FOR_BUILD=no_compiler_found ;
+	fi
+	;;
+ ,,*)   CC_FOR_BUILD=$CC ;;
+ ,*,*)  CC_FOR_BUILD=$HOST_CC ;;
+esac ; set_cc_for_build= ;'
+
+# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
+# (ghazi@noc.rutgers.edu 1994-08-24)
+if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
+	PATH=$PATH:/.attbin ; export PATH
+fi
+
+UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
+UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
+UNAME_SYSTEM=`(uname -s) 2>/dev/null`  || UNAME_SYSTEM=unknown
+UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
+
+case "${UNAME_SYSTEM}" in
+Linux|GNU|GNU/*)
+	# If the system lacks a compiler, then just pick glibc.
+	# We could probably try harder.
+	LIBC=gnu
+
+	eval $set_cc_for_build
+	cat <<-EOF > $dummy.c
+	#include <features.h>
+	#if defined(__UCLIBC__)
+	LIBC=uclibc
+	#elif defined(__dietlibc__)
+	LIBC=dietlibc
+	#else
+	LIBC=gnu
+	#endif
+	EOF
+	eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'`
+	;;
+esac
+
+# Note: order is significant - the case branches are not exclusive.
+
+case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
+    *:NetBSD:*:*)
+	# NetBSD (nbsd) targets should (where applicable) match one or
+	# more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*,
+	# *-*-netbsdecoff* and *-*-netbsd*.  For targets that recently
+	# switched to ELF, *-*-netbsd* would select the old
+	# object file format.  This provides both forward
+	# compatibility and a consistent mechanism for selecting the
+	# object file format.
+	#
+	# Note: NetBSD doesn't particularly care about the vendor
+	# portion of the name.  We always set it to "unknown".
+	sysctl="sysctl -n hw.machine_arch"
+	UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \
+	    /usr/sbin/$sysctl 2>/dev/null || echo unknown)`
+	case "${UNAME_MACHINE_ARCH}" in
+	    armeb) machine=armeb-unknown ;;
+	    arm*) machine=arm-unknown ;;
+	    sh3el) machine=shl-unknown ;;
+	    sh3eb) machine=sh-unknown ;;
+	    sh5el) machine=sh5le-unknown ;;
+	    *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
+	esac
+	# The Operating System including object format, if it has switched
+	# to ELF recently, or will in the future.
+	case "${UNAME_MACHINE_ARCH}" in
+	    arm*|i386|m68k|ns32k|sh3*|sparc|vax)
+		eval $set_cc_for_build
+		if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
+			| grep -q __ELF__
+		then
+		    # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
+		    # Return netbsd for either.  FIX?
+		    os=netbsd
+		else
+		    os=netbsdelf
+		fi
+		;;
+	    *)
+		os=netbsd
+		;;
+	esac
+	# The OS release
+	# Debian GNU/NetBSD machines have a different userland, and
+	# thus, need a distinct triplet. However, they do not need
+	# kernel version information, so it can be replaced with a
+	# suitable tag, in the style of linux-gnu.
+	case "${UNAME_VERSION}" in
+	    Debian*)
+		release='-gnu'
+		;;
+	    *)
+		release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
+		;;
+	esac
+	# Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
+	# contains redundant information, the shorter form:
+	# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
+	echo "${machine}-${os}${release}"
+	exit ;;
+    *:Bitrig:*:*)
+	UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'`
+	echo ${UNAME_MACHINE_ARCH}-unknown-bitrig${UNAME_RELEASE}
+	exit ;;
+    *:OpenBSD:*:*)
+	UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
+	echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
+	exit ;;
+    *:ekkoBSD:*:*)
+	echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
+	exit ;;
+    *:SolidBSD:*:*)
+	echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE}
+	exit ;;
+    macppc:MirBSD:*:*)
+	echo powerpc-unknown-mirbsd${UNAME_RELEASE}
+	exit ;;
+    *:MirBSD:*:*)
+	echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
+	exit ;;
+    alpha:OSF1:*:*)
+	case $UNAME_RELEASE in
+	*4.0)
+		UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
+		;;
+	*5.*)
+		UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
+		;;
+	esac
+	# According to Compaq, /usr/sbin/psrinfo has been available on
+	# OSF/1 and Tru64 systems produced since 1995.  I hope that
+	# covers most systems running today.  This code pipes the CPU
+	# types through head -n 1, so we only detect the type of CPU 0.
+	ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^  The alpha \(.*\) processor.*$/\1/p' | head -n 1`
+	case "$ALPHA_CPU_TYPE" in
+	    "EV4 (21064)")
+		UNAME_MACHINE="alpha" ;;
+	    "EV4.5 (21064)")
+		UNAME_MACHINE="alpha" ;;
+	    "LCA4 (21066/21068)")
+		UNAME_MACHINE="alpha" ;;
+	    "EV5 (21164)")
+		UNAME_MACHINE="alphaev5" ;;
+	    "EV5.6 (21164A)")
+		UNAME_MACHINE="alphaev56" ;;
+	    "EV5.6 (21164PC)")
+		UNAME_MACHINE="alphapca56" ;;
+	    "EV5.7 (21164PC)")
+		UNAME_MACHINE="alphapca57" ;;
+	    "EV6 (21264)")
+		UNAME_MACHINE="alphaev6" ;;
+	    "EV6.7 (21264A)")
+		UNAME_MACHINE="alphaev67" ;;
+	    "EV6.8CB (21264C)")
+		UNAME_MACHINE="alphaev68" ;;
+	    "EV6.8AL (21264B)")
+		UNAME_MACHINE="alphaev68" ;;
+	    "EV6.8CX (21264D)")
+		UNAME_MACHINE="alphaev68" ;;
+	    "EV6.9A (21264/EV69A)")
+		UNAME_MACHINE="alphaev69" ;;
+	    "EV7 (21364)")
+		UNAME_MACHINE="alphaev7" ;;
+	    "EV7.9 (21364A)")
+		UNAME_MACHINE="alphaev79" ;;
+	esac
+	# A Pn.n version is a patched version.
+	# A Vn.n version is a released version.
+	# A Tn.n version is a released field test version.
+	# A Xn.n version is an unreleased experimental baselevel.
+	# 1.2 uses "1.2" for uname -r.
+	echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
+	# Reset EXIT trap before exiting to avoid spurious non-zero exit code.
+	exitcode=$?
+	trap '' 0
+	exit $exitcode ;;
+    Alpha\ *:Windows_NT*:*)
+	# How do we know it's Interix rather than the generic POSIX subsystem?
+	# Should we change UNAME_MACHINE based on the output of uname instead
+	# of the specific Alpha model?
+	echo alpha-pc-interix
+	exit ;;
+    21064:Windows_NT:50:3)
+	echo alpha-dec-winnt3.5
+	exit ;;
+    Amiga*:UNIX_System_V:4.0:*)
+	echo m68k-unknown-sysv4
+	exit ;;
+    *:[Aa]miga[Oo][Ss]:*:*)
+	echo ${UNAME_MACHINE}-unknown-amigaos
+	exit ;;
+    *:[Mm]orph[Oo][Ss]:*:*)
+	echo ${UNAME_MACHINE}-unknown-morphos
+	exit ;;
+    *:OS/390:*:*)
+	echo i370-ibm-openedition
+	exit ;;
+    *:z/VM:*:*)
+	echo s390-ibm-zvmoe
+	exit ;;
+    *:OS400:*:*)
+	echo powerpc-ibm-os400
+	exit ;;
+    arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
+	echo arm-acorn-riscix${UNAME_RELEASE}
+	exit ;;
+    arm*:riscos:*:*|arm*:RISCOS:*:*)
+	echo arm-unknown-riscos
+	exit ;;
+    SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
+	echo hppa1.1-hitachi-hiuxmpp
+	exit ;;
+    Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
+	# akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
+	if test "`(/bin/universe) 2>/dev/null`" = att ; then
+		echo pyramid-pyramid-sysv3
+	else
+		echo pyramid-pyramid-bsd
+	fi
+	exit ;;
+    NILE*:*:*:dcosx)
+	echo pyramid-pyramid-svr4
+	exit ;;
+    DRS?6000:unix:4.0:6*)
+	echo sparc-icl-nx6
+	exit ;;
+    DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*)
+	case `/usr/bin/uname -p` in
+	    sparc) echo sparc-icl-nx7; exit ;;
+	esac ;;
+    s390x:SunOS:*:*)
+	echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+	exit ;;
+    sun4H:SunOS:5.*:*)
+	echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+	exit ;;
+    sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
+	echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+	exit ;;
+    i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*)
+	echo i386-pc-auroraux${UNAME_RELEASE}
+	exit ;;
+    i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
+	eval $set_cc_for_build
+	SUN_ARCH="i386"
+	# If there is a compiler, see if it is configured for 64-bit objects.
+	# Note that the Sun cc does not turn __LP64__ into 1 like gcc does.
+	# This test works for both compilers.
+	if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
+	    if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \
+		(CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
+		grep IS_64BIT_ARCH >/dev/null
+	    then
+		SUN_ARCH="x86_64"
+	    fi
+	fi
+	echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+	exit ;;
+    sun4*:SunOS:6*:*)
+	# According to config.sub, this is the proper way to canonicalize
+	# SunOS6.  Hard to guess exactly what SunOS6 will be like, but
+	# it's likely to be more like Solaris than SunOS4.
+	echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+	exit ;;
+    sun4*:SunOS:*:*)
+	case "`/usr/bin/arch -k`" in
+	    Series*|S4*)
+		UNAME_RELEASE=`uname -v`
+		;;
+	esac
+	# Japanese Language versions have a version number like `4.1.3-JL'.
+	echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
+	exit ;;
+    sun3*:SunOS:*:*)
+	echo m68k-sun-sunos${UNAME_RELEASE}
+	exit ;;
+    sun*:*:4.2BSD:*)
+	UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
+	test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
+	case "`/bin/arch`" in
+	    sun3)
+		echo m68k-sun-sunos${UNAME_RELEASE}
+		;;
+	    sun4)
+		echo sparc-sun-sunos${UNAME_RELEASE}
+		;;
+	esac
+	exit ;;
+    aushp:SunOS:*:*)
+	echo sparc-auspex-sunos${UNAME_RELEASE}
+	exit ;;
+    # The situation for MiNT is a little confusing.  The machine name
+    # can be virtually everything (everything which is not
+    # "atarist" or "atariste" at least should have a processor
+    # > m68000).  The system name ranges from "MiNT" over "FreeMiNT"
+    # to the lowercase version "mint" (or "freemint").  Finally
+    # the system name "TOS" denotes a system which is actually not
+    # MiNT.  But MiNT is downward compatible to TOS, so this should
+    # be no problem.
+    atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
+	echo m68k-atari-mint${UNAME_RELEASE}
+	exit ;;
+    atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
+	echo m68k-atari-mint${UNAME_RELEASE}
+	exit ;;
+    *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
+	echo m68k-atari-mint${UNAME_RELEASE}
+	exit ;;
+    milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
+	echo m68k-milan-mint${UNAME_RELEASE}
+	exit ;;
+    hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
+	echo m68k-hades-mint${UNAME_RELEASE}
+	exit ;;
+    *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
+	echo m68k-unknown-mint${UNAME_RELEASE}
+	exit ;;
+    m68k:machten:*:*)
+	echo m68k-apple-machten${UNAME_RELEASE}
+	exit ;;
+    powerpc:machten:*:*)
+	echo powerpc-apple-machten${UNAME_RELEASE}
+	exit ;;
+    RISC*:Mach:*:*)
+	echo mips-dec-mach_bsd4.3
+	exit ;;
+    RISC*:ULTRIX:*:*)
+	echo mips-dec-ultrix${UNAME_RELEASE}
+	exit ;;
+    VAX*:ULTRIX*:*:*)
+	echo vax-dec-ultrix${UNAME_RELEASE}
+	exit ;;
+    2020:CLIX:*:* | 2430:CLIX:*:*)
+	echo clipper-intergraph-clix${UNAME_RELEASE}
+	exit ;;
+    mips:*:*:UMIPS | mips:*:*:RISCos)
+	eval $set_cc_for_build
+	sed 's/^	//' << EOF >$dummy.c
+#ifdef __cplusplus
+#include <stdio.h>  /* for printf() prototype */
+	int main (int argc, char *argv[]) {
+#else
+	int main (argc, argv) int argc; char *argv[]; {
+#endif
+	#if defined (host_mips) && defined (MIPSEB)
+	#if defined (SYSTYPE_SYSV)
+	  printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
+	#endif
+	#if defined (SYSTYPE_SVR4)
+	  printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
+	#endif
+	#if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
+	  printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
+	#endif
+	#endif
+	  exit (-1);
+	}
+EOF
+	$CC_FOR_BUILD -o $dummy $dummy.c &&
+	  dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` &&
+	  SYSTEM_NAME=`$dummy $dummyarg` &&
+	    { echo "$SYSTEM_NAME"; exit; }
+	echo mips-mips-riscos${UNAME_RELEASE}
+	exit ;;
+    Motorola:PowerMAX_OS:*:*)
+	echo powerpc-motorola-powermax
+	exit ;;
+    Motorola:*:4.3:PL8-*)
+	echo powerpc-harris-powermax
+	exit ;;
+    Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
+	echo powerpc-harris-powermax
+	exit ;;
+    Night_Hawk:Power_UNIX:*:*)
+	echo powerpc-harris-powerunix
+	exit ;;
+    m88k:CX/UX:7*:*)
+	echo m88k-harris-cxux7
+	exit ;;
+    m88k:*:4*:R4*)
+	echo m88k-motorola-sysv4
+	exit ;;
+    m88k:*:3*:R3*)
+	echo m88k-motorola-sysv3
+	exit ;;
+    AViiON:dgux:*:*)
+	# DG/UX returns AViiON for all architectures
+	UNAME_PROCESSOR=`/usr/bin/uname -p`
+	if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
+	then
+	    if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
+	       [ ${TARGET_BINARY_INTERFACE}x = x ]
+	    then
+		echo m88k-dg-dgux${UNAME_RELEASE}
+	    else
+		echo m88k-dg-dguxbcs${UNAME_RELEASE}
+	    fi
+	else
+	    echo i586-dg-dgux${UNAME_RELEASE}
+	fi
+	exit ;;
+    M88*:DolphinOS:*:*)	# DolphinOS (SVR3)
+	echo m88k-dolphin-sysv3
+	exit ;;
+    M88*:*:R3*:*)
+	# Delta 88k system running SVR3
+	echo m88k-motorola-sysv3
+	exit ;;
+    XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
+	echo m88k-tektronix-sysv3
+	exit ;;
+    Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
+	echo m68k-tektronix-bsd
+	exit ;;
+    *:IRIX*:*:*)
+	echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
+	exit ;;
+    ????????:AIX?:[12].1:2)   # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
+	echo romp-ibm-aix     # uname -m gives an 8 hex-code CPU id
+	exit ;;               # Note that: echo "'`uname -s`'" gives 'AIX '
+    i*86:AIX:*:*)
+	echo i386-ibm-aix
+	exit ;;
+    ia64:AIX:*:*)
+	if [ -x /usr/bin/oslevel ] ; then
+		IBM_REV=`/usr/bin/oslevel`
+	else
+		IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
+	fi
+	echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
+	exit ;;
+    *:AIX:2:3)
+	if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
+		eval $set_cc_for_build
+		sed 's/^		//' << EOF >$dummy.c
+		#include <sys/systemcfg.h>
+
+		main()
+			{
+			if (!__power_pc())
+				exit(1);
+			puts("powerpc-ibm-aix3.2.5");
+			exit(0);
+			}
+EOF
+		if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy`
+		then
+			echo "$SYSTEM_NAME"
+		else
+			echo rs6000-ibm-aix3.2.5
+		fi
+	elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
+		echo rs6000-ibm-aix3.2.4
+	else
+		echo rs6000-ibm-aix3.2
+	fi
+	exit ;;
+    *:AIX:*:[4567])
+	IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
+	if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
+		IBM_ARCH=rs6000
+	else
+		IBM_ARCH=powerpc
+	fi
+	if [ -x /usr/bin/oslevel ] ; then
+		IBM_REV=`/usr/bin/oslevel`
+	else
+		IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
+	fi
+	echo ${IBM_ARCH}-ibm-aix${IBM_REV}
+	exit ;;
+    *:AIX:*:*)
+	echo rs6000-ibm-aix
+	exit ;;
+    ibmrt:4.4BSD:*|romp-ibm:BSD:*)
+	echo romp-ibm-bsd4.4
+	exit ;;
+    ibmrt:*BSD:*|romp-ibm:BSD:*)            # covers RT/PC BSD and
+	echo romp-ibm-bsd${UNAME_RELEASE}   # 4.3 with uname added to
+	exit ;;                             # report: romp-ibm BSD 4.3
+    *:BOSX:*:*)
+	echo rs6000-bull-bosx
+	exit ;;
+    DPX/2?00:B.O.S.:*:*)
+	echo m68k-bull-sysv3
+	exit ;;
+    9000/[34]??:4.3bsd:1.*:*)
+	echo m68k-hp-bsd
+	exit ;;
+    hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
+	echo m68k-hp-bsd4.4
+	exit ;;
+    9000/[34678]??:HP-UX:*:*)
+	HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
+	case "${UNAME_MACHINE}" in
+	    9000/31? )            HP_ARCH=m68000 ;;
+	    9000/[34]?? )         HP_ARCH=m68k ;;
+	    9000/[678][0-9][0-9])
+		if [ -x /usr/bin/getconf ]; then
+		    sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
+		    sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
+		    case "${sc_cpu_version}" in
+		      523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
+		      528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
+		      532)                      # CPU_PA_RISC2_0
+			case "${sc_kernel_bits}" in
+			  32) HP_ARCH="hppa2.0n" ;;
+			  64) HP_ARCH="hppa2.0w" ;;
+			  '') HP_ARCH="hppa2.0" ;;   # HP-UX 10.20
+			esac ;;
+		    esac
+		fi
+		if [ "${HP_ARCH}" = "" ]; then
+		    eval $set_cc_for_build
+		    sed 's/^		//' << EOF >$dummy.c
+
+		#define _HPUX_SOURCE
+		#include <stdlib.h>
+		#include <unistd.h>
+
+		int main ()
+		{
+		#if defined(_SC_KERNEL_BITS)
+		    long bits = sysconf(_SC_KERNEL_BITS);
+		#endif
+		    long cpu  = sysconf (_SC_CPU_VERSION);
+
+		    switch (cpu)
+			{
+			case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
+			case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
+			case CPU_PA_RISC2_0:
+		#if defined(_SC_KERNEL_BITS)
+			    switch (bits)
+				{
+				case 64: puts ("hppa2.0w"); break;
+				case 32: puts ("hppa2.0n"); break;
+				default: puts ("hppa2.0"); break;
+				} break;
+		#else  /* !defined(_SC_KERNEL_BITS) */
+			    puts ("hppa2.0"); break;
+		#endif
+			default: puts ("hppa1.0"); break;
+			}
+		    exit (0);
+		}
+EOF
+		    (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
+		    test -z "$HP_ARCH" && HP_ARCH=hppa
+		fi ;;
+	esac
+	if [ ${HP_ARCH} = "hppa2.0w" ]
+	then
+	    eval $set_cc_for_build
+
+	    # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
+	    # 32-bit code.  hppa64-hp-hpux* has the same kernel and a compiler
+	    # generating 64-bit code.  GNU and HP use different nomenclature:
+	    #
+	    # $ CC_FOR_BUILD=cc ./config.guess
+	    # => hppa2.0w-hp-hpux11.23
+	    # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
+	    # => hppa64-hp-hpux11.23
+
+	    if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) |
+		grep -q __LP64__
+	    then
+		HP_ARCH="hppa2.0w"
+	    else
+		HP_ARCH="hppa64"
+	    fi
+	fi
+	echo ${HP_ARCH}-hp-hpux${HPUX_REV}
+	exit ;;
+    ia64:HP-UX:*:*)
+	HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
+	echo ia64-hp-hpux${HPUX_REV}
+	exit ;;
+    3050*:HI-UX:*:*)
+	eval $set_cc_for_build
+	sed 's/^	//' << EOF >$dummy.c
+	#include <unistd.h>
+	int
+	main ()
+	{
+	  long cpu = sysconf (_SC_CPU_VERSION);
+	  /* The order matters, because CPU_IS_HP_MC68K erroneously returns
+	     true for CPU_PA_RISC1_0.  CPU_IS_PA_RISC returns correct
+	     results, however.  */
+	  if (CPU_IS_PA_RISC (cpu))
+	    {
+	      switch (cpu)
+		{
+		  case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
+		  case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
+		  case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
+		  default: puts ("hppa-hitachi-hiuxwe2"); break;
+		}
+	    }
+	  else if (CPU_IS_HP_MC68K (cpu))
+	    puts ("m68k-hitachi-hiuxwe2");
+	  else puts ("unknown-hitachi-hiuxwe2");
+	  exit (0);
+	}
+EOF
+	$CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` &&
+		{ echo "$SYSTEM_NAME"; exit; }
+	echo unknown-hitachi-hiuxwe2
+	exit ;;
+    9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
+	echo hppa1.1-hp-bsd
+	exit ;;
+    9000/8??:4.3bsd:*:*)
+	echo hppa1.0-hp-bsd
+	exit ;;
+    *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
+	echo hppa1.0-hp-mpeix
+	exit ;;
+    hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
+	echo hppa1.1-hp-osf
+	exit ;;
+    hp8??:OSF1:*:*)
+	echo hppa1.0-hp-osf
+	exit ;;
+    i*86:OSF1:*:*)
+	if [ -x /usr/sbin/sysversion ] ; then
+	    echo ${UNAME_MACHINE}-unknown-osf1mk
+	else
+	    echo ${UNAME_MACHINE}-unknown-osf1
+	fi
+	exit ;;
+    parisc*:Lites*:*:*)
+	echo hppa1.1-hp-lites
+	exit ;;
+    C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
+	echo c1-convex-bsd
+	exit ;;
+    C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
+	if getsysinfo -f scalar_acc
+	then echo c32-convex-bsd
+	else echo c2-convex-bsd
+	fi
+	exit ;;
+    C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
+	echo c34-convex-bsd
+	exit ;;
+    C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
+	echo c38-convex-bsd
+	exit ;;
+    C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
+	echo c4-convex-bsd
+	exit ;;
+    CRAY*Y-MP:*:*:*)
+	echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+	exit ;;
+    CRAY*[A-Z]90:*:*:*)
+	echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
+	| sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
+	      -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
+	      -e 's/\.[^.]*$/.X/'
+	exit ;;
+    CRAY*TS:*:*:*)
+	echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+	exit ;;
+    CRAY*T3E:*:*:*)
+	echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+	exit ;;
+    CRAY*SV1:*:*:*)
+	echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+	exit ;;
+    *:UNICOS/mp:*:*)
+	echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+	exit ;;
+    F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
+	FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
+	FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
+	FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
+	echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
+	exit ;;
+    5000:UNIX_System_V:4.*:*)
+	FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
+	FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
+	echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
+	exit ;;
+    i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
+	echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
+	exit ;;
+    sparc*:BSD/OS:*:*)
+	echo sparc-unknown-bsdi${UNAME_RELEASE}
+	exit ;;
+    *:BSD/OS:*:*)
+	echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
+	exit ;;
+    *:FreeBSD:*:*)
+	UNAME_PROCESSOR=`/usr/bin/uname -p`
+	case ${UNAME_PROCESSOR} in
+	    amd64)
+		echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
+	    *)
+		echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
+	esac
+	exit ;;
+    i*:CYGWIN*:*)
+	echo ${UNAME_MACHINE}-pc-cygwin
+	exit ;;
+    *:MINGW64*:*)
+	echo ${UNAME_MACHINE}-pc-mingw64
+	exit ;;
+    *:MINGW*:*)
+	echo ${UNAME_MACHINE}-pc-mingw32
+	exit ;;
+    i*:MSYS*:*)
+	echo ${UNAME_MACHINE}-pc-msys
+	exit ;;
+    i*:windows32*:*)
+	# uname -m includes "-pc" on this system.
+	echo ${UNAME_MACHINE}-mingw32
+	exit ;;
+    i*:PW*:*)
+	echo ${UNAME_MACHINE}-pc-pw32
+	exit ;;
+    *:Interix*:*)
+	case ${UNAME_MACHINE} in
+	    x86)
+		echo i586-pc-interix${UNAME_RELEASE}
+		exit ;;
+	    authenticamd | genuineintel | EM64T)
+		echo x86_64-unknown-interix${UNAME_RELEASE}
+		exit ;;
+	    IA64)
+		echo ia64-unknown-interix${UNAME_RELEASE}
+		exit ;;
+	esac ;;
+    [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
+	echo i${UNAME_MACHINE}-pc-mks
+	exit ;;
+    8664:Windows_NT:*)
+	echo x86_64-pc-mks
+	exit ;;
+    i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
+	# How do we know it's Interix rather than the generic POSIX subsystem?
+	# It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
+	# UNAME_MACHINE based on the output of uname instead of i386?
+	echo i586-pc-interix
+	exit ;;
+    i*:UWIN*:*)
+	echo ${UNAME_MACHINE}-pc-uwin
+	exit ;;
+    amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
+	echo x86_64-unknown-cygwin
+	exit ;;
+    p*:CYGWIN*:*)
+	echo powerpcle-unknown-cygwin
+	exit ;;
+    prep*:SunOS:5.*:*)
+	echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+	exit ;;
+    *:GNU:*:*)
+	# the GNU system
+	echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-${LIBC}`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
+	exit ;;
+    *:GNU/*:*:*)
+	# other systems with GNU libc and userland
+	echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-${LIBC}
+	exit ;;
+    i*86:Minix:*:*)
+	echo ${UNAME_MACHINE}-pc-minix
+	exit ;;
+    aarch64:Linux:*:*)
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+	exit ;;
+    aarch64_be:Linux:*:*)
+	UNAME_MACHINE=aarch64_be
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+	exit ;;
+    alpha:Linux:*:*)
+	case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
+	  EV5)   UNAME_MACHINE=alphaev5 ;;
+	  EV56)  UNAME_MACHINE=alphaev56 ;;
+	  PCA56) UNAME_MACHINE=alphapca56 ;;
+	  PCA57) UNAME_MACHINE=alphapca56 ;;
+	  EV6)   UNAME_MACHINE=alphaev6 ;;
+	  EV67)  UNAME_MACHINE=alphaev67 ;;
+	  EV68*) UNAME_MACHINE=alphaev68 ;;
+	esac
+	objdump --private-headers /bin/sh | grep -q ld.so.1
+	if test "$?" = 0 ; then LIBC="gnulibc1" ; fi
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+	exit ;;
+    arc:Linux:*:* | arceb:Linux:*:*)
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+	exit ;;
+    arm*:Linux:*:*)
+	eval $set_cc_for_build
+	if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
+	    | grep -q __ARM_EABI__
+	then
+	    echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+	else
+	    if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
+		| grep -q __ARM_PCS_VFP
+	    then
+		echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabi
+	    else
+		echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabihf
+	    fi
+	fi
+	exit ;;
+    avr32*:Linux:*:*)
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+	exit ;;
+    cris:Linux:*:*)
+	echo ${UNAME_MACHINE}-axis-linux-${LIBC}
+	exit ;;
+    crisv32:Linux:*:*)
+	echo ${UNAME_MACHINE}-axis-linux-${LIBC}
+	exit ;;
+    frv:Linux:*:*)
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+	exit ;;
+    hexagon:Linux:*:*)
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+	exit ;;
+    i*86:Linux:*:*)
+	echo ${UNAME_MACHINE}-pc-linux-${LIBC}
+	exit ;;
+    ia64:Linux:*:*)
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+	exit ;;
+    m32r*:Linux:*:*)
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+	exit ;;
+    m68*:Linux:*:*)
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+	exit ;;
+    mips:Linux:*:* | mips64:Linux:*:*)
+	eval $set_cc_for_build
+	sed 's/^	//' << EOF >$dummy.c
+	#undef CPU
+	#undef ${UNAME_MACHINE}
+	#undef ${UNAME_MACHINE}el
+	#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
+	CPU=${UNAME_MACHINE}el
+	#else
+	#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
+	CPU=${UNAME_MACHINE}
+	#else
+	CPU=
+	#endif
+	#endif
+EOF
+	eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'`
+	test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; }
+	;;
+    or1k:Linux:*:*)
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+	exit ;;
+    or32:Linux:*:*)
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+	exit ;;
+    padre:Linux:*:*)
+	echo sparc-unknown-linux-${LIBC}
+	exit ;;
+    parisc64:Linux:*:* | hppa64:Linux:*:*)
+	echo hppa64-unknown-linux-${LIBC}
+	exit ;;
+    parisc:Linux:*:* | hppa:Linux:*:*)
+	# Look for CPU level
+	case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
+	  PA7*) echo hppa1.1-unknown-linux-${LIBC} ;;
+	  PA8*) echo hppa2.0-unknown-linux-${LIBC} ;;
+	  *)    echo hppa-unknown-linux-${LIBC} ;;
+	esac
+	exit ;;
+    ppc64:Linux:*:*)
+	echo powerpc64-unknown-linux-${LIBC}
+	exit ;;
+    ppc:Linux:*:*)
+	echo powerpc-unknown-linux-${LIBC}
+	exit ;;
+    ppc64le:Linux:*:*)
+	echo powerpc64le-unknown-linux-${LIBC}
+	exit ;;
+    ppcle:Linux:*:*)
+	echo powerpcle-unknown-linux-${LIBC}
+	exit ;;
+    s390:Linux:*:* | s390x:Linux:*:*)
+	echo ${UNAME_MACHINE}-ibm-linux-${LIBC}
+	exit ;;
+    sh64*:Linux:*:*)
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+	exit ;;
+    sh*:Linux:*:*)
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+	exit ;;
+    sparc:Linux:*:* | sparc64:Linux:*:*)
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+	exit ;;
+    tile*:Linux:*:*)
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+	exit ;;
+    vax:Linux:*:*)
+	echo ${UNAME_MACHINE}-dec-linux-${LIBC}
+	exit ;;
+    x86_64:Linux:*:*)
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+	exit ;;
+    xtensa*:Linux:*:*)
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+	exit ;;
+    i*86:DYNIX/ptx:4*:*)
+	# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
+	# earlier versions are messed up and put the nodename in both
+	# sysname and nodename.
+	echo i386-sequent-sysv4
+	exit ;;
+    i*86:UNIX_SV:4.2MP:2.*)
+	# Unixware is an offshoot of SVR4, but it has its own version
+	# number series starting with 2...
+	# I am not positive that other SVR4 systems won't match this,
+	# I just have to hope.  -- rms.
+	# Use sysv4.2uw... so that sysv4* matches it.
+	echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
+	exit ;;
+    i*86:OS/2:*:*)
+	# If we were able to find `uname', then EMX Unix compatibility
+	# is probably installed.
+	echo ${UNAME_MACHINE}-pc-os2-emx
+	exit ;;
+    i*86:XTS-300:*:STOP)
+	echo ${UNAME_MACHINE}-unknown-stop
+	exit ;;
+    i*86:atheos:*:*)
+	echo ${UNAME_MACHINE}-unknown-atheos
+	exit ;;
+    i*86:syllable:*:*)
+	echo ${UNAME_MACHINE}-pc-syllable
+	exit ;;
+    i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*)
+	echo i386-unknown-lynxos${UNAME_RELEASE}
+	exit ;;
+    i*86:*DOS:*:*)
+	echo ${UNAME_MACHINE}-pc-msdosdjgpp
+	exit ;;
+    i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
+	UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
+	if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
+		echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
+	else
+		echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
+	fi
+	exit ;;
+    i*86:*:5:[678]*)
+	# UnixWare 7.x, OpenUNIX and OpenServer 6.
+	case `/bin/uname -X | grep "^Machine"` in
+	    *486*)	     UNAME_MACHINE=i486 ;;
+	    *Pentium)	     UNAME_MACHINE=i586 ;;
+	    *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
+	esac
+	echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
+	exit ;;
+    i*86:*:3.2:*)
+	if test -f /usr/options/cb.name; then
+		UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
+		echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
+	elif /bin/uname -X 2>/dev/null >/dev/null ; then
+		UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
+		(/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
+		(/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
+			&& UNAME_MACHINE=i586
+		(/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
+			&& UNAME_MACHINE=i686
+		(/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
+			&& UNAME_MACHINE=i686
+		echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
+	else
+		echo ${UNAME_MACHINE}-pc-sysv32
+	fi
+	exit ;;
+    pc:*:*:*)
+	# Left here for compatibility:
+	# uname -m prints for DJGPP always 'pc', but it prints nothing about
+	# the processor, so we play safe by assuming i586.
+	# Note: whatever this is, it MUST be the same as what config.sub
+	# prints for the "djgpp" host, or else GDB configury will decide that
+	# this is a cross-build.
+	echo i586-pc-msdosdjgpp
+	exit ;;
+    Intel:Mach:3*:*)
+	echo i386-pc-mach3
+	exit ;;
+    paragon:*:*:*)
+	echo i860-intel-osf1
+	exit ;;
+    i860:*:4.*:*) # i860-SVR4
+	if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
+	  echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
+	else # Add other i860-SVR4 vendors below as they are discovered.
+	  echo i860-unknown-sysv${UNAME_RELEASE}  # Unknown i860-SVR4
+	fi
+	exit ;;
+    mini*:CTIX:SYS*5:*)
+	# "miniframe"
+	echo m68010-convergent-sysv
+	exit ;;
+    mc68k:UNIX:SYSTEM5:3.51m)
+	echo m68k-convergent-sysv
+	exit ;;
+    M680?0:D-NIX:5.3:*)
+	echo m68k-diab-dnix
+	exit ;;
+    M68*:*:R3V[5678]*:*)
+	test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;;
+    3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0)
+	OS_REL=''
+	test -r /etc/.relid \
+	&& OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
+	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
+	  && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
+	/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
+	  && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
+    3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
+	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
+	  && { echo i486-ncr-sysv4; exit; } ;;
+    NCR*:*:4.2:* | MPRAS*:*:4.2:*)
+	OS_REL='.3'
+	test -r /etc/.relid \
+	    && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
+	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
+	    && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
+	/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
+	    && { echo i586-ncr-sysv4.3${OS_REL}; exit; }
+	/bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \
+	    && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
+    m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
+	echo m68k-unknown-lynxos${UNAME_RELEASE}
+	exit ;;
+    mc68030:UNIX_System_V:4.*:*)
+	echo m68k-atari-sysv4
+	exit ;;
+    TSUNAMI:LynxOS:2.*:*)
+	echo sparc-unknown-lynxos${UNAME_RELEASE}
+	exit ;;
+    rs6000:LynxOS:2.*:*)
+	echo rs6000-unknown-lynxos${UNAME_RELEASE}
+	exit ;;
+    PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*)
+	echo powerpc-unknown-lynxos${UNAME_RELEASE}
+	exit ;;
+    SM[BE]S:UNIX_SV:*:*)
+	echo mips-dde-sysv${UNAME_RELEASE}
+	exit ;;
+    RM*:ReliantUNIX-*:*:*)
+	echo mips-sni-sysv4
+	exit ;;
+    RM*:SINIX-*:*:*)
+	echo mips-sni-sysv4
+	exit ;;
+    *:SINIX-*:*:*)
+	if uname -p 2>/dev/null >/dev/null ; then
+		UNAME_MACHINE=`(uname -p) 2>/dev/null`
+		echo ${UNAME_MACHINE}-sni-sysv4
+	else
+		echo ns32k-sni-sysv
+	fi
+	exit ;;
+    PENTIUM:*:4.0*:*)	# Unisys `ClearPath HMP IX 4000' SVR4/MP effort
+			# says <Richard.M.Bartel@ccMail.Census.GOV>
+	echo i586-unisys-sysv4
+	exit ;;
+    *:UNIX_System_V:4*:FTX*)
+	# From Gerald Hewes <hewes@openmarket.com>.
+	# How about differentiating between stratus architectures? -djm
+	echo hppa1.1-stratus-sysv4
+	exit ;;
+    *:*:*:FTX*)
+	# From seanf@swdc.stratus.com.
+	echo i860-stratus-sysv4
+	exit ;;
+    i*86:VOS:*:*)
+	# From Paul.Green@stratus.com.
+	echo ${UNAME_MACHINE}-stratus-vos
+	exit ;;
+    *:VOS:*:*)
+	# From Paul.Green@stratus.com.
+	echo hppa1.1-stratus-vos
+	exit ;;
+    mc68*:A/UX:*:*)
+	echo m68k-apple-aux${UNAME_RELEASE}
+	exit ;;
+    news*:NEWS-OS:6*:*)
+	echo mips-sony-newsos6
+	exit ;;
+    R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
+	if [ -d /usr/nec ]; then
+		echo mips-nec-sysv${UNAME_RELEASE}
+	else
+		echo mips-unknown-sysv${UNAME_RELEASE}
+	fi
+	exit ;;
+    BeBox:BeOS:*:*)	# BeOS running on hardware made by Be, PPC only.
+	echo powerpc-be-beos
+	exit ;;
+    BeMac:BeOS:*:*)	# BeOS running on Mac or Mac clone, PPC only.
+	echo powerpc-apple-beos
+	exit ;;
+    BePC:BeOS:*:*)	# BeOS running on Intel PC compatible.
+	echo i586-pc-beos
+	exit ;;
+    BePC:Haiku:*:*)	# Haiku running on Intel PC compatible.
+	echo i586-pc-haiku
+	exit ;;
+    x86_64:Haiku:*:*)
+	echo x86_64-unknown-haiku
+	exit ;;
+    SX-4:SUPER-UX:*:*)
+	echo sx4-nec-superux${UNAME_RELEASE}
+	exit ;;
+    SX-5:SUPER-UX:*:*)
+	echo sx5-nec-superux${UNAME_RELEASE}
+	exit ;;
+    SX-6:SUPER-UX:*:*)
+	echo sx6-nec-superux${UNAME_RELEASE}
+	exit ;;
+    SX-7:SUPER-UX:*:*)
+	echo sx7-nec-superux${UNAME_RELEASE}
+	exit ;;
+    SX-8:SUPER-UX:*:*)
+	echo sx8-nec-superux${UNAME_RELEASE}
+	exit ;;
+    SX-8R:SUPER-UX:*:*)
+	echo sx8r-nec-superux${UNAME_RELEASE}
+	exit ;;
+    Power*:Rhapsody:*:*)
+	echo powerpc-apple-rhapsody${UNAME_RELEASE}
+	exit ;;
+    *:Rhapsody:*:*)
+	echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
+	exit ;;
+    *:Darwin:*:*)
+	UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
+	eval $set_cc_for_build
+	if test "$UNAME_PROCESSOR" = unknown ; then
+	    UNAME_PROCESSOR=powerpc
+	fi
+	if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
+	    if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
+		(CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
+		grep IS_64BIT_ARCH >/dev/null
+	    then
+		case $UNAME_PROCESSOR in
+		    i386) UNAME_PROCESSOR=x86_64 ;;
+		    powerpc) UNAME_PROCESSOR=powerpc64 ;;
+		esac
+	    fi
+	fi
+	echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
+	exit ;;
+    *:procnto*:*:* | *:QNX:[0123456789]*:*)
+	UNAME_PROCESSOR=`uname -p`
+	if test "$UNAME_PROCESSOR" = "x86"; then
+		UNAME_PROCESSOR=i386
+		UNAME_MACHINE=pc
+	fi
+	echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
+	exit ;;
+    *:QNX:*:4*)
+	echo i386-pc-qnx
+	exit ;;
+    NEO-?:NONSTOP_KERNEL:*:*)
+	echo neo-tandem-nsk${UNAME_RELEASE}
+	exit ;;
+    NSE-*:NONSTOP_KERNEL:*:*)
+	echo nse-tandem-nsk${UNAME_RELEASE}
+	exit ;;
+    NSR-?:NONSTOP_KERNEL:*:*)
+	echo nsr-tandem-nsk${UNAME_RELEASE}
+	exit ;;
+    *:NonStop-UX:*:*)
+	echo mips-compaq-nonstopux
+	exit ;;
+    BS2000:POSIX*:*:*)
+	echo bs2000-siemens-sysv
+	exit ;;
+    DS/*:UNIX_System_V:*:*)
+	echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
+	exit ;;
+    *:Plan9:*:*)
+	# "uname -m" is not consistent, so use $cputype instead. 386
+	# is converted to i386 for consistency with other x86
+	# operating systems.
+	if test "$cputype" = "386"; then
+	    UNAME_MACHINE=i386
+	else
+	    UNAME_MACHINE="$cputype"
+	fi
+	echo ${UNAME_MACHINE}-unknown-plan9
+	exit ;;
+    *:TOPS-10:*:*)
+	echo pdp10-unknown-tops10
+	exit ;;
+    *:TENEX:*:*)
+	echo pdp10-unknown-tenex
+	exit ;;
+    KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
+	echo pdp10-dec-tops20
+	exit ;;
+    XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
+	echo pdp10-xkl-tops20
+	exit ;;
+    *:TOPS-20:*:*)
+	echo pdp10-unknown-tops20
+	exit ;;
+    *:ITS:*:*)
+	echo pdp10-unknown-its
+	exit ;;
+    SEI:*:*:SEIUX)
+	echo mips-sei-seiux${UNAME_RELEASE}
+	exit ;;
+    *:DragonFly:*:*)
+	echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
+	exit ;;
+    *:*VMS:*:*)
+	UNAME_MACHINE=`(uname -p) 2>/dev/null`
+	case "${UNAME_MACHINE}" in
+	    A*) echo alpha-dec-vms ; exit ;;
+	    I*) echo ia64-dec-vms ; exit ;;
+	    V*) echo vax-dec-vms ; exit ;;
+	esac ;;
+    *:XENIX:*:SysV)
+	echo i386-pc-xenix
+	exit ;;
+    i*86:skyos:*:*)
+	echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//'
+	exit ;;
+    i*86:rdos:*:*)
+	echo ${UNAME_MACHINE}-pc-rdos
+	exit ;;
+    i*86:AROS:*:*)
+	echo ${UNAME_MACHINE}-pc-aros
+	exit ;;
+    x86_64:VMkernel:*:*)
+	echo ${UNAME_MACHINE}-unknown-esx
+	exit ;;
+esac
+
+eval $set_cc_for_build
+cat >$dummy.c <<EOF
+#ifdef _SEQUENT_
+# include <sys/types.h>
+# include <sys/utsname.h>
+#endif
+main ()
+{
+#if defined (sony)
+#if defined (MIPSEB)
+  /* BFD wants "bsd" instead of "newsos".  Perhaps BFD should be changed,
+     I don't know....  */
+  printf ("mips-sony-bsd\n"); exit (0);
+#else
+#include <sys/param.h>
+  printf ("m68k-sony-newsos%s\n",
+#ifdef NEWSOS4
+	"4"
+#else
+	""
+#endif
+	); exit (0);
+#endif
+#endif
+
+#if defined (__arm) && defined (__acorn) && defined (__unix)
+  printf ("arm-acorn-riscix\n"); exit (0);
+#endif
+
+#if defined (hp300) && !defined (hpux)
+  printf ("m68k-hp-bsd\n"); exit (0);
+#endif
+
+#if defined (NeXT)
+#if !defined (__ARCHITECTURE__)
+#define __ARCHITECTURE__ "m68k"
+#endif
+  int version;
+  version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
+  if (version < 4)
+    printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
+  else
+    printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
+  exit (0);
+#endif
+
+#if defined (MULTIMAX) || defined (n16)
+#if defined (UMAXV)
+  printf ("ns32k-encore-sysv\n"); exit (0);
+#else
+#if defined (CMU)
+  printf ("ns32k-encore-mach\n"); exit (0);
+#else
+  printf ("ns32k-encore-bsd\n"); exit (0);
+#endif
+#endif
+#endif
+
+#if defined (__386BSD__)
+  printf ("i386-pc-bsd\n"); exit (0);
+#endif
+
+#if defined (sequent)
+#if defined (i386)
+  printf ("i386-sequent-dynix\n"); exit (0);
+#endif
+#if defined (ns32000)
+  printf ("ns32k-sequent-dynix\n"); exit (0);
+#endif
+#endif
+
+#if defined (_SEQUENT_)
+    struct utsname un;
+
+    uname(&un);
+
+    if (strncmp(un.version, "V2", 2) == 0) {
+	printf ("i386-sequent-ptx2\n"); exit (0);
+    }
+    if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
+	printf ("i386-sequent-ptx1\n"); exit (0);
+    }
+    printf ("i386-sequent-ptx\n"); exit (0);
+
+#endif
+
+#if defined (vax)
+# if !defined (ultrix)
+#  include <sys/param.h>
+#  if defined (BSD)
+#   if BSD == 43
+      printf ("vax-dec-bsd4.3\n"); exit (0);
+#   else
+#    if BSD == 199006
+      printf ("vax-dec-bsd4.3reno\n"); exit (0);
+#    else
+      printf ("vax-dec-bsd\n"); exit (0);
+#    endif
+#   endif
+#  else
+    printf ("vax-dec-bsd\n"); exit (0);
+#  endif
+# else
+    printf ("vax-dec-ultrix\n"); exit (0);
+# endif
+#endif
+
+#if defined (alliant) && defined (i860)
+  printf ("i860-alliant-bsd\n"); exit (0);
+#endif
+
+  exit (1);
+}
+EOF
+
+$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` &&
+	{ echo "$SYSTEM_NAME"; exit; }
+
+# Apollos put the system type in the environment.
+
+test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; }
+
+# Convex versions that predate uname can use getsysinfo(1)
+
+if [ -x /usr/convex/getsysinfo ]
+then
+    case `getsysinfo -f cpu_type` in
+    c1*)
+	echo c1-convex-bsd
+	exit ;;
+    c2*)
+	if getsysinfo -f scalar_acc
+	then echo c32-convex-bsd
+	else echo c2-convex-bsd
+	fi
+	exit ;;
+    c34*)
+	echo c34-convex-bsd
+	exit ;;
+    c38*)
+	echo c38-convex-bsd
+	exit ;;
+    c4*)
+	echo c4-convex-bsd
+	exit ;;
+    esac
+fi
+
+cat >&2 <<EOF
+$0: unable to guess system type
+
+This script, last modified $timestamp, has failed to recognize
+the operating system you are using. It is advised that you
+download the most up to date version of the config scripts from
+
+  http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
+and
+  http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
+
+If the version you run ($0) is already up to date, please
+send the following data and any information you think might be
+pertinent to <config-patches@gnu.org> in order to provide the needed
+information to handle your system.
+
+config.guess timestamp = $timestamp
+
+uname -m = `(uname -m) 2>/dev/null || echo unknown`
+uname -r = `(uname -r) 2>/dev/null || echo unknown`
+uname -s = `(uname -s) 2>/dev/null || echo unknown`
+uname -v = `(uname -v) 2>/dev/null || echo unknown`
+
+/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
+/bin/uname -X     = `(/bin/uname -X) 2>/dev/null`
+
+hostinfo               = `(hostinfo) 2>/dev/null`
+/bin/universe          = `(/bin/universe) 2>/dev/null`
+/usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null`
+/bin/arch              = `(/bin/arch) 2>/dev/null`
+/usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null`
+/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
+
+UNAME_MACHINE = ${UNAME_MACHINE}
+UNAME_RELEASE = ${UNAME_RELEASE}
+UNAME_SYSTEM  = ${UNAME_SYSTEM}
+UNAME_VERSION = ${UNAME_VERSION}
+EOF
+
+exit 1
+
+# Local variables:
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "timestamp='"
+# time-stamp-format: "%:y-%02m-%02d"
+# time-stamp-end: "'"
+# End:
diff --git a/src/libsodium/config.sub b/src/libsodium/config.sub
new file mode 100755
index 00000000..8b612ab8
--- /dev/null
+++ b/src/libsodium/config.sub
@@ -0,0 +1,1788 @@
+#! /bin/sh
+# Configuration validation subroutine script.
+#   Copyright 1992-2013 Free Software Foundation, Inc.
+
+timestamp='2013-04-24'
+
+# This file is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, see <http://www.gnu.org/licenses/>.
+#
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that
+# program.  This Exception is an additional permission under section 7
+# of the GNU General Public License, version 3 ("GPLv3").
+
+
+# Please send patches with a ChangeLog entry to config-patches@gnu.org.
+#
+# Configuration subroutine to validate and canonicalize a configuration type.
+# Supply the specified configuration type as an argument.
+# If it is invalid, we print an error message on stderr and exit with code 1.
+# Otherwise, we print the canonical config type on stdout and succeed.
+
+# You can get the latest version of this script from:
+# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
+
+# This file is supposed to be the same for all GNU packages
+# and recognize all the CPU types, system types and aliases
+# that are meaningful with *any* GNU software.
+# Each package is responsible for reporting which valid configurations
+# it does not support.  The user should be able to distinguish
+# a failure to support a valid configuration from a meaningless
+# configuration.
+
+# The goal of this file is to map all the various variations of a given
+# machine specification into a single specification in the form:
+#	CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
+# or in some cases, the newer four-part form:
+#	CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
+# It is wrong to echo any other type of specification.
+
+me=`echo "$0" | sed -e 's,.*/,,'`
+
+usage="\
+Usage: $0 [OPTION] CPU-MFR-OPSYS
+       $0 [OPTION] ALIAS
+
+Canonicalize a configuration name.
+
+Operation modes:
+  -h, --help         print this help, then exit
+  -t, --time-stamp   print date of last modification, then exit
+  -v, --version      print version number, then exit
+
+Report bugs and patches to <config-patches@gnu.org>."
+
+version="\
+GNU config.sub ($timestamp)
+
+Copyright 1992-2013 Free Software Foundation, Inc.
+
+This is free software; see the source for copying conditions.  There is NO
+warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
+
+help="
+Try \`$me --help' for more information."
+
+# Parse command line
+while test $# -gt 0 ; do
+  case $1 in
+    --time-stamp | --time* | -t )
+       echo "$timestamp" ; exit ;;
+    --version | -v )
+       echo "$version" ; exit ;;
+    --help | --h* | -h )
+       echo "$usage"; exit ;;
+    -- )     # Stop option processing
+       shift; break ;;
+    - )	# Use stdin as input.
+       break ;;
+    -* )
+       echo "$me: invalid option $1$help"
+       exit 1 ;;
+
+    *local*)
+       # First pass through any local machine types.
+       echo $1
+       exit ;;
+
+    * )
+       break ;;
+  esac
+done
+
+case $# in
+ 0) echo "$me: missing argument$help" >&2
+    exit 1;;
+ 1) ;;
+ *) echo "$me: too many arguments$help" >&2
+    exit 1;;
+esac
+
+# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
+# Here we must recognize all the valid KERNEL-OS combinations.
+maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
+case $maybe_os in
+  nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
+  linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
+  knetbsd*-gnu* | netbsd*-gnu* | \
+  kopensolaris*-gnu* | \
+  storm-chaos* | os2-emx* | rtmk-nova*)
+    os=-$maybe_os
+    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
+    ;;
+  android-linux)
+    os=-linux-android
+    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown
+    ;;
+  *)
+    basic_machine=`echo $1 | sed 's/-[^-]*$//'`
+    if [ $basic_machine != $1 ]
+    then os=`echo $1 | sed 's/.*-/-/'`
+    else os=; fi
+    ;;
+esac
+
+### Let's recognize common machines as not being operating systems so
+### that things like config.sub decstation-3100 work.  We also
+### recognize some manufacturers as not being operating systems, so we
+### can provide default operating systems below.
+case $os in
+	-sun*os*)
+		# Prevent following clause from handling this invalid input.
+		;;
+	-dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
+	-att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
+	-unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
+	-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
+	-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
+	-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
+	-apple | -axis | -knuth | -cray | -microblaze*)
+		os=
+		basic_machine=$1
+		;;
+	-bluegene*)
+		os=-cnk
+		;;
+	-sim | -cisco | -oki | -wec | -winbond)
+		os=
+		basic_machine=$1
+		;;
+	-scout)
+		;;
+	-wrs)
+		os=-vxworks
+		basic_machine=$1
+		;;
+	-chorusos*)
+		os=-chorusos
+		basic_machine=$1
+		;;
+	-chorusrdb)
+		os=-chorusrdb
+		basic_machine=$1
+		;;
+	-hiux*)
+		os=-hiuxwe2
+		;;
+	-sco6)
+		os=-sco5v6
+		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+		;;
+	-sco5)
+		os=-sco3.2v5
+		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+		;;
+	-sco4)
+		os=-sco3.2v4
+		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+		;;
+	-sco3.2.[4-9]*)
+		os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
+		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+		;;
+	-sco3.2v[4-9]*)
+		# Don't forget version if it is 3.2v4 or newer.
+		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+		;;
+	-sco5v6*)
+		# Don't forget version if it is 3.2v4 or newer.
+		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+		;;
+	-sco*)
+		os=-sco3.2v2
+		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+		;;
+	-udk*)
+		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+		;;
+	-isc)
+		os=-isc2.2
+		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+		;;
+	-clix*)
+		basic_machine=clipper-intergraph
+		;;
+	-isc*)
+		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+		;;
+	-lynx*178)
+		os=-lynxos178
+		;;
+	-lynx*5)
+		os=-lynxos5
+		;;
+	-lynx*)
+		os=-lynxos
+		;;
+	-ptx*)
+		basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
+		;;
+	-windowsnt*)
+		os=`echo $os | sed -e 's/windowsnt/winnt/'`
+		;;
+	-psos*)
+		os=-psos
+		;;
+	-mint | -mint[0-9]*)
+		basic_machine=m68k-atari
+		os=-mint
+		;;
+esac
+
+# Decode aliases for certain CPU-COMPANY combinations.
+case $basic_machine in
+	# Recognize the basic CPU types without company name.
+	# Some are omitted here because they have special meanings below.
+	1750a | 580 \
+	| a29k \
+	| aarch64 | aarch64_be \
+	| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
+	| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
+	| am33_2.0 \
+	| arc | arceb \
+	| arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \
+	| avr | avr32 \
+	| be32 | be64 \
+	| bfin \
+	| c4x | clipper \
+	| d10v | d30v | dlx | dsp16xx \
+	| epiphany \
+	| fido | fr30 | frv \
+	| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
+	| hexagon \
+	| i370 | i860 | i960 | ia64 \
+	| ip2k | iq2000 \
+	| le32 | le64 \
+	| lm32 \
+	| m32c | m32r | m32rle | m68000 | m68k | m88k \
+	| maxq | mb | microblaze | microblazeel | mcore | mep | metag \
+	| mips | mipsbe | mipseb | mipsel | mipsle \
+	| mips16 \
+	| mips64 | mips64el \
+	| mips64octeon | mips64octeonel \
+	| mips64orion | mips64orionel \
+	| mips64r5900 | mips64r5900el \
+	| mips64vr | mips64vrel \
+	| mips64vr4100 | mips64vr4100el \
+	| mips64vr4300 | mips64vr4300el \
+	| mips64vr5000 | mips64vr5000el \
+	| mips64vr5900 | mips64vr5900el \
+	| mipsisa32 | mipsisa32el \
+	| mipsisa32r2 | mipsisa32r2el \
+	| mipsisa64 | mipsisa64el \
+	| mipsisa64r2 | mipsisa64r2el \
+	| mipsisa64sb1 | mipsisa64sb1el \
+	| mipsisa64sr71k | mipsisa64sr71kel \
+	| mipsr5900 | mipsr5900el \
+	| mipstx39 | mipstx39el \
+	| mn10200 | mn10300 \
+	| moxie \
+	| mt \
+	| msp430 \
+	| nds32 | nds32le | nds32be \
+	| nios | nios2 | nios2eb | nios2el \
+	| ns16k | ns32k \
+	| open8 \
+	| or1k | or32 \
+	| pdp10 | pdp11 | pj | pjl \
+	| powerpc | powerpc64 | powerpc64le | powerpcle \
+	| pyramid \
+	| rl78 | rx \
+	| score \
+	| sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
+	| sh64 | sh64le \
+	| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
+	| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
+	| spu \
+	| tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
+	| ubicom32 \
+	| v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
+	| we32k \
+	| x86 | xc16x | xstormy16 | xtensa \
+	| z8k | z80)
+		basic_machine=$basic_machine-unknown
+		;;
+	c54x)
+		basic_machine=tic54x-unknown
+		;;
+	c55x)
+		basic_machine=tic55x-unknown
+		;;
+	c6x)
+		basic_machine=tic6x-unknown
+		;;
+	m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | picochip)
+		basic_machine=$basic_machine-unknown
+		os=-none
+		;;
+	m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
+		;;
+	ms1)
+		basic_machine=mt-unknown
+		;;
+
+	strongarm | thumb | xscale)
+		basic_machine=arm-unknown
+		;;
+	xgate)
+		basic_machine=$basic_machine-unknown
+		os=-none
+		;;
+	xscaleeb)
+		basic_machine=armeb-unknown
+		;;
+
+	xscaleel)
+		basic_machine=armel-unknown
+		;;
+
+	# We use `pc' rather than `unknown'
+	# because (1) that's what they normally are, and
+	# (2) the word "unknown" tends to confuse beginning users.
+	i*86 | x86_64)
+	  basic_machine=$basic_machine-pc
+	  ;;
+	# Object if more than one company name word.
+	*-*-*)
+		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
+		exit 1
+		;;
+	# Recognize the basic CPU types with company name.
+	580-* \
+	| a29k-* \
+	| aarch64-* | aarch64_be-* \
+	| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
+	| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
+	| alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \
+	| arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
+	| avr-* | avr32-* \
+	| be32-* | be64-* \
+	| bfin-* | bs2000-* \
+	| c[123]* | c30-* | [cjt]90-* | c4x-* \
+	| clipper-* | craynv-* | cydra-* \
+	| d10v-* | d30v-* | dlx-* \
+	| elxsi-* \
+	| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
+	| h8300-* | h8500-* \
+	| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
+	| hexagon-* \
+	| i*86-* | i860-* | i960-* | ia64-* \
+	| ip2k-* | iq2000-* \
+	| le32-* | le64-* \
+	| lm32-* \
+	| m32c-* | m32r-* | m32rle-* \
+	| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
+	| m88110-* | m88k-* | maxq-* | mcore-* | metag-* \
+	| microblaze-* | microblazeel-* \
+	| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
+	| mips16-* \
+	| mips64-* | mips64el-* \
+	| mips64octeon-* | mips64octeonel-* \
+	| mips64orion-* | mips64orionel-* \
+	| mips64r5900-* | mips64r5900el-* \
+	| mips64vr-* | mips64vrel-* \
+	| mips64vr4100-* | mips64vr4100el-* \
+	| mips64vr4300-* | mips64vr4300el-* \
+	| mips64vr5000-* | mips64vr5000el-* \
+	| mips64vr5900-* | mips64vr5900el-* \
+	| mipsisa32-* | mipsisa32el-* \
+	| mipsisa32r2-* | mipsisa32r2el-* \
+	| mipsisa64-* | mipsisa64el-* \
+	| mipsisa64r2-* | mipsisa64r2el-* \
+	| mipsisa64sb1-* | mipsisa64sb1el-* \
+	| mipsisa64sr71k-* | mipsisa64sr71kel-* \
+	| mipsr5900-* | mipsr5900el-* \
+	| mipstx39-* | mipstx39el-* \
+	| mmix-* \
+	| mt-* \
+	| msp430-* \
+	| nds32-* | nds32le-* | nds32be-* \
+	| nios-* | nios2-* | nios2eb-* | nios2el-* \
+	| none-* | np1-* | ns16k-* | ns32k-* \
+	| open8-* \
+	| orion-* \
+	| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
+	| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
+	| pyramid-* \
+	| rl78-* | romp-* | rs6000-* | rx-* \
+	| sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
+	| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
+	| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
+	| sparclite-* \
+	| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \
+	| tahoe-* \
+	| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
+	| tile*-* \
+	| tron-* \
+	| ubicom32-* \
+	| v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
+	| vax-* \
+	| we32k-* \
+	| x86-* | x86_64-* | xc16x-* | xps100-* \
+	| xstormy16-* | xtensa*-* \
+	| ymp-* \
+	| z8k-* | z80-*)
+		;;
+	# Recognize the basic CPU types without company name, with glob match.
+	xtensa*)
+		basic_machine=$basic_machine-unknown
+		;;
+	# Recognize the various machine names and aliases which stand
+	# for a CPU type and a company and sometimes even an OS.
+	386bsd)
+		basic_machine=i386-unknown
+		os=-bsd
+		;;
+	3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
+		basic_machine=m68000-att
+		;;
+	3b*)
+		basic_machine=we32k-att
+		;;
+	a29khif)
+		basic_machine=a29k-amd
+		os=-udi
+		;;
+	abacus)
+		basic_machine=abacus-unknown
+		;;
+	adobe68k)
+		basic_machine=m68010-adobe
+		os=-scout
+		;;
+	alliant | fx80)
+		basic_machine=fx80-alliant
+		;;
+	altos | altos3068)
+		basic_machine=m68k-altos
+		;;
+	am29k)
+		basic_machine=a29k-none
+		os=-bsd
+		;;
+	amd64)
+		basic_machine=x86_64-pc
+		;;
+	amd64-*)
+		basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
+		;;
+	amdahl)
+		basic_machine=580-amdahl
+		os=-sysv
+		;;
+	amiga | amiga-*)
+		basic_machine=m68k-unknown
+		;;
+	amigaos | amigados)
+		basic_machine=m68k-unknown
+		os=-amigaos
+		;;
+	amigaunix | amix)
+		basic_machine=m68k-unknown
+		os=-sysv4
+		;;
+	apollo68)
+		basic_machine=m68k-apollo
+		os=-sysv
+		;;
+	apollo68bsd)
+		basic_machine=m68k-apollo
+		os=-bsd
+		;;
+	aros)
+		basic_machine=i386-pc
+		os=-aros
+		;;
+	aux)
+		basic_machine=m68k-apple
+		os=-aux
+		;;
+	balance)
+		basic_machine=ns32k-sequent
+		os=-dynix
+		;;
+	blackfin)
+		basic_machine=bfin-unknown
+		os=-linux
+		;;
+	blackfin-*)
+		basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
+		os=-linux
+		;;
+	bluegene*)
+		basic_machine=powerpc-ibm
+		os=-cnk
+		;;
+	c54x-*)
+		basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`
+		;;
+	c55x-*)
+		basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`
+		;;
+	c6x-*)
+		basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`
+		;;
+	c90)
+		basic_machine=c90-cray
+		os=-unicos
+		;;
+	cegcc)
+		basic_machine=arm-unknown
+		os=-cegcc
+		;;
+	convex-c1)
+		basic_machine=c1-convex
+		os=-bsd
+		;;
+	convex-c2)
+		basic_machine=c2-convex
+		os=-bsd
+		;;
+	convex-c32)
+		basic_machine=c32-convex
+		os=-bsd
+		;;
+	convex-c34)
+		basic_machine=c34-convex
+		os=-bsd
+		;;
+	convex-c38)
+		basic_machine=c38-convex
+		os=-bsd
+		;;
+	cray | j90)
+		basic_machine=j90-cray
+		os=-unicos
+		;;
+	craynv)
+		basic_machine=craynv-cray
+		os=-unicosmp
+		;;
+	cr16 | cr16-*)
+		basic_machine=cr16-unknown
+		os=-elf
+		;;
+	crds | unos)
+		basic_machine=m68k-crds
+		;;
+	crisv32 | crisv32-* | etraxfs*)
+		basic_machine=crisv32-axis
+		;;
+	cris | cris-* | etrax*)
+		basic_machine=cris-axis
+		;;
+	crx)
+		basic_machine=crx-unknown
+		os=-elf
+		;;
+	da30 | da30-*)
+		basic_machine=m68k-da30
+		;;
+	decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
+		basic_machine=mips-dec
+		;;
+	decsystem10* | dec10*)
+		basic_machine=pdp10-dec
+		os=-tops10
+		;;
+	decsystem20* | dec20*)
+		basic_machine=pdp10-dec
+		os=-tops20
+		;;
+	delta | 3300 | motorola-3300 | motorola-delta \
+	      | 3300-motorola | delta-motorola)
+		basic_machine=m68k-motorola
+		;;
+	delta88)
+		basic_machine=m88k-motorola
+		os=-sysv3
+		;;
+	dicos)
+		basic_machine=i686-pc
+		os=-dicos
+		;;
+	djgpp)
+		basic_machine=i586-pc
+		os=-msdosdjgpp
+		;;
+	dpx20 | dpx20-*)
+		basic_machine=rs6000-bull
+		os=-bosx
+		;;
+	dpx2* | dpx2*-bull)
+		basic_machine=m68k-bull
+		os=-sysv3
+		;;
+	ebmon29k)
+		basic_machine=a29k-amd
+		os=-ebmon
+		;;
+	elxsi)
+		basic_machine=elxsi-elxsi
+		os=-bsd
+		;;
+	encore | umax | mmax)
+		basic_machine=ns32k-encore
+		;;
+	es1800 | OSE68k | ose68k | ose | OSE)
+		basic_machine=m68k-ericsson
+		os=-ose
+		;;
+	fx2800)
+		basic_machine=i860-alliant
+		;;
+	genix)
+		basic_machine=ns32k-ns
+		;;
+	gmicro)
+		basic_machine=tron-gmicro
+		os=-sysv
+		;;
+	go32)
+		basic_machine=i386-pc
+		os=-go32
+		;;
+	h3050r* | hiux*)
+		basic_machine=hppa1.1-hitachi
+		os=-hiuxwe2
+		;;
+	h8300hms)
+		basic_machine=h8300-hitachi
+		os=-hms
+		;;
+	h8300xray)
+		basic_machine=h8300-hitachi
+		os=-xray
+		;;
+	h8500hms)
+		basic_machine=h8500-hitachi
+		os=-hms
+		;;
+	harris)
+		basic_machine=m88k-harris
+		os=-sysv3
+		;;
+	hp300-*)
+		basic_machine=m68k-hp
+		;;
+	hp300bsd)
+		basic_machine=m68k-hp
+		os=-bsd
+		;;
+	hp300hpux)
+		basic_machine=m68k-hp
+		os=-hpux
+		;;
+	hp3k9[0-9][0-9] | hp9[0-9][0-9])
+		basic_machine=hppa1.0-hp
+		;;
+	hp9k2[0-9][0-9] | hp9k31[0-9])
+		basic_machine=m68000-hp
+		;;
+	hp9k3[2-9][0-9])
+		basic_machine=m68k-hp
+		;;
+	hp9k6[0-9][0-9] | hp6[0-9][0-9])
+		basic_machine=hppa1.0-hp
+		;;
+	hp9k7[0-79][0-9] | hp7[0-79][0-9])
+		basic_machine=hppa1.1-hp
+		;;
+	hp9k78[0-9] | hp78[0-9])
+		# FIXME: really hppa2.0-hp
+		basic_machine=hppa1.1-hp
+		;;
+	hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
+		# FIXME: really hppa2.0-hp
+		basic_machine=hppa1.1-hp
+		;;
+	hp9k8[0-9][13679] | hp8[0-9][13679])
+		basic_machine=hppa1.1-hp
+		;;
+	hp9k8[0-9][0-9] | hp8[0-9][0-9])
+		basic_machine=hppa1.0-hp
+		;;
+	hppa-next)
+		os=-nextstep3
+		;;
+	hppaosf)
+		basic_machine=hppa1.1-hp
+		os=-osf
+		;;
+	hppro)
+		basic_machine=hppa1.1-hp
+		os=-proelf
+		;;
+	i370-ibm* | ibm*)
+		basic_machine=i370-ibm
+		;;
+	i*86v32)
+		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+		os=-sysv32
+		;;
+	i*86v4*)
+		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+		os=-sysv4
+		;;
+	i*86v)
+		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+		os=-sysv
+		;;
+	i*86sol2)
+		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+		os=-solaris2
+		;;
+	i386mach)
+		basic_machine=i386-mach
+		os=-mach
+		;;
+	i386-vsta | vsta)
+		basic_machine=i386-unknown
+		os=-vsta
+		;;
+	iris | iris4d)
+		basic_machine=mips-sgi
+		case $os in
+		    -irix*)
+			;;
+		    *)
+			os=-irix4
+			;;
+		esac
+		;;
+	isi68 | isi)
+		basic_machine=m68k-isi
+		os=-sysv
+		;;
+	m68knommu)
+		basic_machine=m68k-unknown
+		os=-linux
+		;;
+	m68knommu-*)
+		basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
+		os=-linux
+		;;
+	m88k-omron*)
+		basic_machine=m88k-omron
+		;;
+	magnum | m3230)
+		basic_machine=mips-mips
+		os=-sysv
+		;;
+	merlin)
+		basic_machine=ns32k-utek
+		os=-sysv
+		;;
+	microblaze*)
+		basic_machine=microblaze-xilinx
+		;;
+	mingw64)
+		basic_machine=x86_64-pc
+		os=-mingw64
+		;;
+	mingw32)
+		basic_machine=i386-pc
+		os=-mingw32
+		;;
+	mingw32ce)
+		basic_machine=arm-unknown
+		os=-mingw32ce
+		;;
+	miniframe)
+		basic_machine=m68000-convergent
+		;;
+	*mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
+		basic_machine=m68k-atari
+		os=-mint
+		;;
+	mips3*-*)
+		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
+		;;
+	mips3*)
+		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
+		;;
+	monitor)
+		basic_machine=m68k-rom68k
+		os=-coff
+		;;
+	morphos)
+		basic_machine=powerpc-unknown
+		os=-morphos
+		;;
+	msdos)
+		basic_machine=i386-pc
+		os=-msdos
+		;;
+	ms1-*)
+		basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
+		;;
+	msys)
+		basic_machine=i386-pc
+		os=-msys
+		;;
+	mvs)
+		basic_machine=i370-ibm
+		os=-mvs
+		;;
+	nacl)
+		basic_machine=le32-unknown
+		os=-nacl
+		;;
+	ncr3000)
+		basic_machine=i486-ncr
+		os=-sysv4
+		;;
+	netbsd386)
+		basic_machine=i386-unknown
+		os=-netbsd
+		;;
+	netwinder)
+		basic_machine=armv4l-rebel
+		os=-linux
+		;;
+	news | news700 | news800 | news900)
+		basic_machine=m68k-sony
+		os=-newsos
+		;;
+	news1000)
+		basic_machine=m68030-sony
+		os=-newsos
+		;;
+	news-3600 | risc-news)
+		basic_machine=mips-sony
+		os=-newsos
+		;;
+	necv70)
+		basic_machine=v70-nec
+		os=-sysv
+		;;
+	next | m*-next )
+		basic_machine=m68k-next
+		case $os in
+		    -nextstep* )
+			;;
+		    -ns2*)
+		      os=-nextstep2
+			;;
+		    *)
+		      os=-nextstep3
+			;;
+		esac
+		;;
+	nh3000)
+		basic_machine=m68k-harris
+		os=-cxux
+		;;
+	nh[45]000)
+		basic_machine=m88k-harris
+		os=-cxux
+		;;
+	nindy960)
+		basic_machine=i960-intel
+		os=-nindy
+		;;
+	mon960)
+		basic_machine=i960-intel
+		os=-mon960
+		;;
+	nonstopux)
+		basic_machine=mips-compaq
+		os=-nonstopux
+		;;
+	np1)
+		basic_machine=np1-gould
+		;;
+	neo-tandem)
+		basic_machine=neo-tandem
+		;;
+	nse-tandem)
+		basic_machine=nse-tandem
+		;;
+	nsr-tandem)
+		basic_machine=nsr-tandem
+		;;
+	op50n-* | op60c-*)
+		basic_machine=hppa1.1-oki
+		os=-proelf
+		;;
+	openrisc | openrisc-*)
+		basic_machine=or32-unknown
+		;;
+	os400)
+		basic_machine=powerpc-ibm
+		os=-os400
+		;;
+	OSE68000 | ose68000)
+		basic_machine=m68000-ericsson
+		os=-ose
+		;;
+	os68k)
+		basic_machine=m68k-none
+		os=-os68k
+		;;
+	pa-hitachi)
+		basic_machine=hppa1.1-hitachi
+		os=-hiuxwe2
+		;;
+	paragon)
+		basic_machine=i860-intel
+		os=-osf
+		;;
+	parisc)
+		basic_machine=hppa-unknown
+		os=-linux
+		;;
+	parisc-*)
+		basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
+		os=-linux
+		;;
+	pbd)
+		basic_machine=sparc-tti
+		;;
+	pbb)
+		basic_machine=m68k-tti
+		;;
+	pc532 | pc532-*)
+		basic_machine=ns32k-pc532
+		;;
+	pc98)
+		basic_machine=i386-pc
+		;;
+	pc98-*)
+		basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
+		;;
+	pentium | p5 | k5 | k6 | nexgen | viac3)
+		basic_machine=i586-pc
+		;;
+	pentiumpro | p6 | 6x86 | athlon | athlon_*)
+		basic_machine=i686-pc
+		;;
+	pentiumii | pentium2 | pentiumiii | pentium3)
+		basic_machine=i686-pc
+		;;
+	pentium4)
+		basic_machine=i786-pc
+		;;
+	pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
+		basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
+		;;
+	pentiumpro-* | p6-* | 6x86-* | athlon-*)
+		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
+		;;
+	pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
+		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
+		;;
+	pentium4-*)
+		basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
+		;;
+	pn)
+		basic_machine=pn-gould
+		;;
+	power)	basic_machine=power-ibm
+		;;
+	ppc | ppcbe)	basic_machine=powerpc-unknown
+		;;
+	ppc-* | ppcbe-*)
+		basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
+		;;
+	ppcle | powerpclittle | ppc-le | powerpc-little)
+		basic_machine=powerpcle-unknown
+		;;
+	ppcle-* | powerpclittle-*)
+		basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
+		;;
+	ppc64)	basic_machine=powerpc64-unknown
+		;;
+	ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
+		;;
+	ppc64le | powerpc64little | ppc64-le | powerpc64-little)
+		basic_machine=powerpc64le-unknown
+		;;
+	ppc64le-* | powerpc64little-*)
+		basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
+		;;
+	ps2)
+		basic_machine=i386-ibm
+		;;
+	pw32)
+		basic_machine=i586-unknown
+		os=-pw32
+		;;
+	rdos | rdos64)
+		basic_machine=x86_64-pc
+		os=-rdos
+		;;
+	rdos32)
+		basic_machine=i386-pc
+		os=-rdos
+		;;
+	rom68k)
+		basic_machine=m68k-rom68k
+		os=-coff
+		;;
+	rm[46]00)
+		basic_machine=mips-siemens
+		;;
+	rtpc | rtpc-*)
+		basic_machine=romp-ibm
+		;;
+	s390 | s390-*)
+		basic_machine=s390-ibm
+		;;
+	s390x | s390x-*)
+		basic_machine=s390x-ibm
+		;;
+	sa29200)
+		basic_machine=a29k-amd
+		os=-udi
+		;;
+	sb1)
+		basic_machine=mipsisa64sb1-unknown
+		;;
+	sb1el)
+		basic_machine=mipsisa64sb1el-unknown
+		;;
+	sde)
+		basic_machine=mipsisa32-sde
+		os=-elf
+		;;
+	sei)
+		basic_machine=mips-sei
+		os=-seiux
+		;;
+	sequent)
+		basic_machine=i386-sequent
+		;;
+	sh)
+		basic_machine=sh-hitachi
+		os=-hms
+		;;
+	sh5el)
+		basic_machine=sh5le-unknown
+		;;
+	sh64)
+		basic_machine=sh64-unknown
+		;;
+	sparclite-wrs | simso-wrs)
+		basic_machine=sparclite-wrs
+		os=-vxworks
+		;;
+	sps7)
+		basic_machine=m68k-bull
+		os=-sysv2
+		;;
+	spur)
+		basic_machine=spur-unknown
+		;;
+	st2000)
+		basic_machine=m68k-tandem
+		;;
+	stratus)
+		basic_machine=i860-stratus
+		os=-sysv4
+		;;
+	strongarm-* | thumb-*)
+		basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'`
+		;;
+	sun2)
+		basic_machine=m68000-sun
+		;;
+	sun2os3)
+		basic_machine=m68000-sun
+		os=-sunos3
+		;;
+	sun2os4)
+		basic_machine=m68000-sun
+		os=-sunos4
+		;;
+	sun3os3)
+		basic_machine=m68k-sun
+		os=-sunos3
+		;;
+	sun3os4)
+		basic_machine=m68k-sun
+		os=-sunos4
+		;;
+	sun4os3)
+		basic_machine=sparc-sun
+		os=-sunos3
+		;;
+	sun4os4)
+		basic_machine=sparc-sun
+		os=-sunos4
+		;;
+	sun4sol2)
+		basic_machine=sparc-sun
+		os=-solaris2
+		;;
+	sun3 | sun3-*)
+		basic_machine=m68k-sun
+		;;
+	sun4)
+		basic_machine=sparc-sun
+		;;
+	sun386 | sun386i | roadrunner)
+		basic_machine=i386-sun
+		;;
+	sv1)
+		basic_machine=sv1-cray
+		os=-unicos
+		;;
+	symmetry)
+		basic_machine=i386-sequent
+		os=-dynix
+		;;
+	t3e)
+		basic_machine=alphaev5-cray
+		os=-unicos
+		;;
+	t90)
+		basic_machine=t90-cray
+		os=-unicos
+		;;
+	tile*)
+		basic_machine=$basic_machine-unknown
+		os=-linux-gnu
+		;;
+	tx39)
+		basic_machine=mipstx39-unknown
+		;;
+	tx39el)
+		basic_machine=mipstx39el-unknown
+		;;
+	toad1)
+		basic_machine=pdp10-xkl
+		os=-tops20
+		;;
+	tower | tower-32)
+		basic_machine=m68k-ncr
+		;;
+	tpf)
+		basic_machine=s390x-ibm
+		os=-tpf
+		;;
+	udi29k)
+		basic_machine=a29k-amd
+		os=-udi
+		;;
+	ultra3)
+		basic_machine=a29k-nyu
+		os=-sym1
+		;;
+	v810 | necv810)
+		basic_machine=v810-nec
+		os=-none
+		;;
+	vaxv)
+		basic_machine=vax-dec
+		os=-sysv
+		;;
+	vms)
+		basic_machine=vax-dec
+		os=-vms
+		;;
+	vpp*|vx|vx-*)
+		basic_machine=f301-fujitsu
+		;;
+	vxworks960)
+		basic_machine=i960-wrs
+		os=-vxworks
+		;;
+	vxworks68)
+		basic_machine=m68k-wrs
+		os=-vxworks
+		;;
+	vxworks29k)
+		basic_machine=a29k-wrs
+		os=-vxworks
+		;;
+	w65*)
+		basic_machine=w65-wdc
+		os=-none
+		;;
+	w89k-*)
+		basic_machine=hppa1.1-winbond
+		os=-proelf
+		;;
+	xbox)
+		basic_machine=i686-pc
+		os=-mingw32
+		;;
+	xps | xps100)
+		basic_machine=xps100-honeywell
+		;;
+	xscale-* | xscalee[bl]-*)
+		basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'`
+		;;
+	ymp)
+		basic_machine=ymp-cray
+		os=-unicos
+		;;
+	z8k-*-coff)
+		basic_machine=z8k-unknown
+		os=-sim
+		;;
+	z80-*-coff)
+		basic_machine=z80-unknown
+		os=-sim
+		;;
+	none)
+		basic_machine=none-none
+		os=-none
+		;;
+
+# Here we handle the default manufacturer of certain CPU types.  It is in
+# some cases the only manufacturer, in others, it is the most popular.
+	w89k)
+		basic_machine=hppa1.1-winbond
+		;;
+	op50n)
+		basic_machine=hppa1.1-oki
+		;;
+	op60c)
+		basic_machine=hppa1.1-oki
+		;;
+	romp)
+		basic_machine=romp-ibm
+		;;
+	mmix)
+		basic_machine=mmix-knuth
+		;;
+	rs6000)
+		basic_machine=rs6000-ibm
+		;;
+	vax)
+		basic_machine=vax-dec
+		;;
+	pdp10)
+		# there are many clones, so DEC is not a safe bet
+		basic_machine=pdp10-unknown
+		;;
+	pdp11)
+		basic_machine=pdp11-dec
+		;;
+	we32k)
+		basic_machine=we32k-att
+		;;
+	sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
+		basic_machine=sh-unknown
+		;;
+	sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
+		basic_machine=sparc-sun
+		;;
+	cydra)
+		basic_machine=cydra-cydrome
+		;;
+	orion)
+		basic_machine=orion-highlevel
+		;;
+	orion105)
+		basic_machine=clipper-highlevel
+		;;
+	mac | mpw | mac-mpw)
+		basic_machine=m68k-apple
+		;;
+	pmac | pmac-mpw)
+		basic_machine=powerpc-apple
+		;;
+	*-unknown)
+		# Make sure to match an already-canonicalized machine name.
+		;;
+	*)
+		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
+		exit 1
+		;;
+esac
+
+# Here we canonicalize certain aliases for manufacturers.
+case $basic_machine in
+	*-digital*)
+		basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
+		;;
+	*-commodore*)
+		basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
+		;;
+	*)
+		;;
+esac
+
+# Decode manufacturer-specific aliases for certain operating systems.
+
+if [ x"$os" != x"" ]
+then
+case $os in
+	# First match some system type aliases
+	# that might get confused with valid system types.
+	# -solaris* is a basic system type, with this one exception.
+	-auroraux)
+		os=-auroraux
+		;;
+	-solaris1 | -solaris1.*)
+		os=`echo $os | sed -e 's|solaris1|sunos4|'`
+		;;
+	-solaris)
+		os=-solaris2
+		;;
+	-svr4*)
+		os=-sysv4
+		;;
+	-unixware*)
+		os=-sysv4.2uw
+		;;
+	-gnu/linux*)
+		os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
+		;;
+	# First accept the basic system types.
+	# The portable systems comes first.
+	# Each alternative MUST END IN A *, to match a version number.
+	# -sysv* is not here because it comes later, after sysvr4.
+	-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
+	      | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
+	      | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
+	      | -sym* | -kopensolaris* | -plan9* \
+	      | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
+	      | -aos* | -aros* \
+	      | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
+	      | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
+	      | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
+	      | -bitrig* | -openbsd* | -solidbsd* \
+	      | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
+	      | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
+	      | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
+	      | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
+	      | -chorusos* | -chorusrdb* | -cegcc* \
+	      | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
+	      | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \
+	      | -linux-newlib* | -linux-musl* | -linux-uclibc* \
+	      | -uxpv* | -beos* | -mpeix* | -udk* \
+	      | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
+	      | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
+	      | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
+	      | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
+	      | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
+	      | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
+	      | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*)
+	# Remember, each alternative MUST END IN *, to match a version number.
+		;;
+	-qnx*)
+		case $basic_machine in
+		    x86-* | i*86-*)
+			;;
+		    *)
+			os=-nto$os
+			;;
+		esac
+		;;
+	-nto-qnx*)
+		;;
+	-nto*)
+		os=`echo $os | sed -e 's|nto|nto-qnx|'`
+		;;
+	-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
+	      | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
+	      | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
+		;;
+	-mac*)
+		os=`echo $os | sed -e 's|mac|macos|'`
+		;;
+	-linux-dietlibc)
+		os=-linux-dietlibc
+		;;
+	-linux*)
+		os=`echo $os | sed -e 's|linux|linux-gnu|'`
+		;;
+	-sunos5*)
+		os=`echo $os | sed -e 's|sunos5|solaris2|'`
+		;;
+	-sunos6*)
+		os=`echo $os | sed -e 's|sunos6|solaris3|'`
+		;;
+	-opened*)
+		os=-openedition
+		;;
+	-os400*)
+		os=-os400
+		;;
+	-wince*)
+		os=-wince
+		;;
+	-osfrose*)
+		os=-osfrose
+		;;
+	-osf*)
+		os=-osf
+		;;
+	-utek*)
+		os=-bsd
+		;;
+	-dynix*)
+		os=-bsd
+		;;
+	-acis*)
+		os=-aos
+		;;
+	-atheos*)
+		os=-atheos
+		;;
+	-syllable*)
+		os=-syllable
+		;;
+	-386bsd)
+		os=-bsd
+		;;
+	-ctix* | -uts*)
+		os=-sysv
+		;;
+	-nova*)
+		os=-rtmk-nova
+		;;
+	-ns2 )
+		os=-nextstep2
+		;;
+	-nsk*)
+		os=-nsk
+		;;
+	# Preserve the version number of sinix5.
+	-sinix5.*)
+		os=`echo $os | sed -e 's|sinix|sysv|'`
+		;;
+	-sinix*)
+		os=-sysv4
+		;;
+	-tpf*)
+		os=-tpf
+		;;
+	-triton*)
+		os=-sysv3
+		;;
+	-oss*)
+		os=-sysv3
+		;;
+	-svr4)
+		os=-sysv4
+		;;
+	-svr3)
+		os=-sysv3
+		;;
+	-sysvr4)
+		os=-sysv4
+		;;
+	# This must come after -sysvr4.
+	-sysv*)
+		;;
+	-ose*)
+		os=-ose
+		;;
+	-es1800*)
+		os=-ose
+		;;
+	-xenix)
+		os=-xenix
+		;;
+	-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
+		os=-mint
+		;;
+	-aros*)
+		os=-aros
+		;;
+	-zvmoe)
+		os=-zvmoe
+		;;
+	-dicos*)
+		os=-dicos
+		;;
+	-nacl*)
+		;;
+	-none)
+		;;
+	*)
+		# Get rid of the `-' at the beginning of $os.
+		os=`echo $os | sed 's/[^-]*-//'`
+		echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
+		exit 1
+		;;
+esac
+else
+
+# Here we handle the default operating systems that come with various machines.
+# The value should be what the vendor currently ships out the door with their
+# machine or put another way, the most popular os provided with the machine.
+
+# Note that if you're going to try to match "-MANUFACTURER" here (say,
+# "-sun"), then you have to tell the case statement up towards the top
+# that MANUFACTURER isn't an operating system.  Otherwise, code above
+# will signal an error saying that MANUFACTURER isn't an operating
+# system, and we'll never get to this point.
+
+case $basic_machine in
+	score-*)
+		os=-elf
+		;;
+	spu-*)
+		os=-elf
+		;;
+	*-acorn)
+		os=-riscix1.2
+		;;
+	arm*-rebel)
+		os=-linux
+		;;
+	arm*-semi)
+		os=-aout
+		;;
+	c4x-* | tic4x-*)
+		os=-coff
+		;;
+	hexagon-*)
+		os=-elf
+		;;
+	tic54x-*)
+		os=-coff
+		;;
+	tic55x-*)
+		os=-coff
+		;;
+	tic6x-*)
+		os=-coff
+		;;
+	# This must come before the *-dec entry.
+	pdp10-*)
+		os=-tops20
+		;;
+	pdp11-*)
+		os=-none
+		;;
+	*-dec | vax-*)
+		os=-ultrix4.2
+		;;
+	m68*-apollo)
+		os=-domain
+		;;
+	i386-sun)
+		os=-sunos4.0.2
+		;;
+	m68000-sun)
+		os=-sunos3
+		;;
+	m68*-cisco)
+		os=-aout
+		;;
+	mep-*)
+		os=-elf
+		;;
+	mips*-cisco)
+		os=-elf
+		;;
+	mips*-*)
+		os=-elf
+		;;
+	or1k-*)
+		os=-elf
+		;;
+	or32-*)
+		os=-coff
+		;;
+	*-tti)	# must be before sparc entry or we get the wrong os.
+		os=-sysv3
+		;;
+	sparc-* | *-sun)
+		os=-sunos4.1.1
+		;;
+	*-be)
+		os=-beos
+		;;
+	*-haiku)
+		os=-haiku
+		;;
+	*-ibm)
+		os=-aix
+		;;
+	*-knuth)
+		os=-mmixware
+		;;
+	*-wec)
+		os=-proelf
+		;;
+	*-winbond)
+		os=-proelf
+		;;
+	*-oki)
+		os=-proelf
+		;;
+	*-hp)
+		os=-hpux
+		;;
+	*-hitachi)
+		os=-hiux
+		;;
+	i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
+		os=-sysv
+		;;
+	*-cbm)
+		os=-amigaos
+		;;
+	*-dg)
+		os=-dgux
+		;;
+	*-dolphin)
+		os=-sysv3
+		;;
+	m68k-ccur)
+		os=-rtu
+		;;
+	m88k-omron*)
+		os=-luna
+		;;
+	*-next )
+		os=-nextstep
+		;;
+	*-sequent)
+		os=-ptx
+		;;
+	*-crds)
+		os=-unos
+		;;
+	*-ns)
+		os=-genix
+		;;
+	i370-*)
+		os=-mvs
+		;;
+	*-next)
+		os=-nextstep3
+		;;
+	*-gould)
+		os=-sysv
+		;;
+	*-highlevel)
+		os=-bsd
+		;;
+	*-encore)
+		os=-bsd
+		;;
+	*-sgi)
+		os=-irix
+		;;
+	*-siemens)
+		os=-sysv4
+		;;
+	*-masscomp)
+		os=-rtu
+		;;
+	f30[01]-fujitsu | f700-fujitsu)
+		os=-uxpv
+		;;
+	*-rom68k)
+		os=-coff
+		;;
+	*-*bug)
+		os=-coff
+		;;
+	*-apple)
+		os=-macos
+		;;
+	*-atari*)
+		os=-mint
+		;;
+	*)
+		os=-none
+		;;
+esac
+fi
+
+# Here we handle the case where we know the os, and the CPU type, but not the
+# manufacturer.  We pick the logical manufacturer.
+vendor=unknown
+case $basic_machine in
+	*-unknown)
+		case $os in
+			-riscix*)
+				vendor=acorn
+				;;
+			-sunos*)
+				vendor=sun
+				;;
+			-cnk*|-aix*)
+				vendor=ibm
+				;;
+			-beos*)
+				vendor=be
+				;;
+			-hpux*)
+				vendor=hp
+				;;
+			-mpeix*)
+				vendor=hp
+				;;
+			-hiux*)
+				vendor=hitachi
+				;;
+			-unos*)
+				vendor=crds
+				;;
+			-dgux*)
+				vendor=dg
+				;;
+			-luna*)
+				vendor=omron
+				;;
+			-genix*)
+				vendor=ns
+				;;
+			-mvs* | -opened*)
+				vendor=ibm
+				;;
+			-os400*)
+				vendor=ibm
+				;;
+			-ptx*)
+				vendor=sequent
+				;;
+			-tpf*)
+				vendor=ibm
+				;;
+			-vxsim* | -vxworks* | -windiss*)
+				vendor=wrs
+				;;
+			-aux*)
+				vendor=apple
+				;;
+			-hms*)
+				vendor=hitachi
+				;;
+			-mpw* | -macos*)
+				vendor=apple
+				;;
+			-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
+				vendor=atari
+				;;
+			-vos*)
+				vendor=stratus
+				;;
+		esac
+		basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
+		;;
+esac
+
+echo $basic_machine$os
+exit
+
+# Local variables:
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "timestamp='"
+# time-stamp-format: "%:y-%02m-%02d"
+# time-stamp-end: "'"
+# End:
diff --git a/src/libsodium/configure b/src/libsodium/configure
new file mode 100755
index 00000000..ef0cc2c4
--- /dev/null
+++ b/src/libsodium/configure
@@ -0,0 +1,17362 @@
+#! /bin/sh
+# Guess values for system-dependent variables and create Makefiles.
+# Generated by GNU Autoconf 2.69 for libsodium 0.4.3.
+#
+# Report bugs to <https://github.com/jedisct1/libsodium/issues>.
+#
+#
+# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
+#
+#
+# This configure script is free software; the Free Software Foundation
+# gives unlimited permission to copy, distribute and modify it.
+## -------------------- ##
+## M4sh Initialization. ##
+## -------------------- ##
+
+# Be more Bourne compatible
+DUALCASE=1; export DUALCASE # for MKS sh
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
+  emulate sh
+  NULLCMD=:
+  # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
+  # is contrary to our usage.  Disable this feature.
+  alias -g '${1+"$@"}'='"$@"'
+  setopt NO_GLOB_SUBST
+else
+  case `(set -o) 2>/dev/null` in #(
+  *posix*) :
+    set -o posix ;; #(
+  *) :
+     ;;
+esac
+fi
+
+
+as_nl='
+'
+export as_nl
+# Printing a long string crashes Solaris 7 /usr/bin/printf.
+as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
+# Prefer a ksh shell builtin over an external printf program on Solaris,
+# but without wasting forks for bash or zsh.
+if test -z "$BASH_VERSION$ZSH_VERSION" \
+    && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
+  as_echo='print -r --'
+  as_echo_n='print -rn --'
+elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
+  as_echo='printf %s\n'
+  as_echo_n='printf %s'
+else
+  if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
+    as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
+    as_echo_n='/usr/ucb/echo -n'
+  else
+    as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
+    as_echo_n_body='eval
+      arg=$1;
+      case $arg in #(
+      *"$as_nl"*)
+	expr "X$arg" : "X\\(.*\\)$as_nl";
+	arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
+      esac;
+      expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
+    '
+    export as_echo_n_body
+    as_echo_n='sh -c $as_echo_n_body as_echo'
+  fi
+  export as_echo_body
+  as_echo='sh -c $as_echo_body as_echo'
+fi
+
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+  PATH_SEPARATOR=:
+  (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
+    (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
+      PATH_SEPARATOR=';'
+  }
+fi
+
+
+# IFS
+# We need space, tab and new line, in precisely that order.  Quoting is
+# there to prevent editors from complaining about space-tab.
+# (If _AS_PATH_WALK were called with IFS unset, it would disable word
+# splitting by setting IFS to empty value.)
+IFS=" ""	$as_nl"
+
+# Find who we are.  Look in the path if we contain no directory separator.
+as_myself=
+case $0 in #((
+  *[\\/]* ) as_myself=$0 ;;
+  *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
+  done
+IFS=$as_save_IFS
+
+     ;;
+esac
+# We did not find ourselves, most probably we were run as `sh COMMAND'
+# in which case we are not to be found in the path.
+if test "x$as_myself" = x; then
+  as_myself=$0
+fi
+if test ! -f "$as_myself"; then
+  $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
+  exit 1
+fi
+
+# Unset variables that we do not need and which cause bugs (e.g. in
+# pre-3.0 UWIN ksh).  But do not cause bugs in bash 2.01; the "|| exit 1"
+# suppresses any "Segmentation fault" message there.  '((' could
+# trigger a bug in pdksh 5.2.14.
+for as_var in BASH_ENV ENV MAIL MAILPATH
+do eval test x\${$as_var+set} = xset \
+  && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
+done
+PS1='$ '
+PS2='> '
+PS4='+ '
+
+# NLS nuisances.
+LC_ALL=C
+export LC_ALL
+LANGUAGE=C
+export LANGUAGE
+
+# CDPATH.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+# Use a proper internal environment variable to ensure we don't fall
+  # into an infinite loop, continuously re-executing ourselves.
+  if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then
+    _as_can_reexec=no; export _as_can_reexec;
+    # We cannot yet assume a decent shell, so we have to provide a
+# neutralization value for shells without unset; and this also
+# works around shells that cannot unset nonexistent variables.
+# Preserve -v and -x to the replacement shell.
+BASH_ENV=/dev/null
+ENV=/dev/null
+(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
+case $- in # ((((
+  *v*x* | *x*v* ) as_opts=-vx ;;
+  *v* ) as_opts=-v ;;
+  *x* ) as_opts=-x ;;
+  * ) as_opts= ;;
+esac
+exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
+# Admittedly, this is quite paranoid, since all the known shells bail
+# out after a failed `exec'.
+$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
+as_fn_exit 255
+  fi
+  # We don't want this to propagate to other subprocesses.
+          { _as_can_reexec=; unset _as_can_reexec;}
+if test "x$CONFIG_SHELL" = x; then
+  as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then :
+  emulate sh
+  NULLCMD=:
+  # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which
+  # is contrary to our usage.  Disable this feature.
+  alias -g '\${1+\"\$@\"}'='\"\$@\"'
+  setopt NO_GLOB_SUBST
+else
+  case \`(set -o) 2>/dev/null\` in #(
+  *posix*) :
+    set -o posix ;; #(
+  *) :
+     ;;
+esac
+fi
+"
+  as_required="as_fn_return () { (exit \$1); }
+as_fn_success () { as_fn_return 0; }
+as_fn_failure () { as_fn_return 1; }
+as_fn_ret_success () { return 0; }
+as_fn_ret_failure () { return 1; }
+
+exitcode=0
+as_fn_success || { exitcode=1; echo as_fn_success failed.; }
+as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; }
+as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; }
+as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; }
+if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then :
+
+else
+  exitcode=1; echo positional parameters were not saved.
+fi
+test x\$exitcode = x0 || exit 1
+test -x / || exit 1"
+  as_suggested="  as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
+  as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
+  eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
+  test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1
+test \$(( 1 + 1 )) = 2 || exit 1
+
+  test -n \"\${ZSH_VERSION+set}\${BASH_VERSION+set}\" || (
+    ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
+    ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO
+    ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO
+    PATH=/empty FPATH=/empty; export PATH FPATH
+    test \"X\`printf %s \$ECHO\`\" = \"X\$ECHO\" \\
+      || test \"X\`print -r -- \$ECHO\`\" = \"X\$ECHO\" ) || exit 1"
+  if (eval "$as_required") 2>/dev/null; then :
+  as_have_required=yes
+else
+  as_have_required=no
+fi
+  if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then :
+
+else
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+as_found=false
+for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  as_found=:
+  case $as_dir in #(
+	 /*)
+	   for as_base in sh bash ksh sh5; do
+	     # Try only shells that exist, to save several forks.
+	     as_shell=$as_dir/$as_base
+	     if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
+		    { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then :
+  CONFIG_SHELL=$as_shell as_have_required=yes
+		   if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then :
+  break 2
+fi
+fi
+	   done;;
+       esac
+  as_found=false
+done
+$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } &&
+	      { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then :
+  CONFIG_SHELL=$SHELL as_have_required=yes
+fi; }
+IFS=$as_save_IFS
+
+
+      if test "x$CONFIG_SHELL" != x; then :
+  export CONFIG_SHELL
+             # We cannot yet assume a decent shell, so we have to provide a
+# neutralization value for shells without unset; and this also
+# works around shells that cannot unset nonexistent variables.
+# Preserve -v and -x to the replacement shell.
+BASH_ENV=/dev/null
+ENV=/dev/null
+(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
+case $- in # ((((
+  *v*x* | *x*v* ) as_opts=-vx ;;
+  *v* ) as_opts=-v ;;
+  *x* ) as_opts=-x ;;
+  * ) as_opts= ;;
+esac
+exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
+# Admittedly, this is quite paranoid, since all the known shells bail
+# out after a failed `exec'.
+$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
+exit 255
+fi
+
+    if test x$as_have_required = xno; then :
+  $as_echo "$0: This script requires a shell more modern than all"
+  $as_echo "$0: the shells that I found on your system."
+  if test x${ZSH_VERSION+set} = xset ; then
+    $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should"
+    $as_echo "$0: be upgraded to zsh 4.3.4 or later."
+  else
+    $as_echo "$0: Please tell bug-autoconf@gnu.org and
+$0: https://github.com/jedisct1/libsodium/issues about your
+$0: system, including any error possibly output before this
+$0: message. Then install a modern shell, or manually run
+$0: the script under such a shell if you do have one."
+  fi
+  exit 1
+fi
+fi
+fi
+SHELL=${CONFIG_SHELL-/bin/sh}
+export SHELL
+# Unset more variables known to interfere with behavior of common tools.
+CLICOLOR_FORCE= GREP_OPTIONS=
+unset CLICOLOR_FORCE GREP_OPTIONS
+
+## --------------------- ##
+## M4sh Shell Functions. ##
+## --------------------- ##
+# as_fn_unset VAR
+# ---------------
+# Portably unset VAR.
+as_fn_unset ()
+{
+  { eval $1=; unset $1;}
+}
+as_unset=as_fn_unset
+
+# as_fn_set_status STATUS
+# -----------------------
+# Set $? to STATUS, without forking.
+as_fn_set_status ()
+{
+  return $1
+} # as_fn_set_status
+
+# as_fn_exit STATUS
+# -----------------
+# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
+as_fn_exit ()
+{
+  set +e
+  as_fn_set_status $1
+  exit $1
+} # as_fn_exit
+
+# as_fn_mkdir_p
+# -------------
+# Create "$as_dir" as a directory, including parents if necessary.
+as_fn_mkdir_p ()
+{
+
+  case $as_dir in #(
+  -*) as_dir=./$as_dir;;
+  esac
+  test -d "$as_dir" || eval $as_mkdir_p || {
+    as_dirs=
+    while :; do
+      case $as_dir in #(
+      *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
+      *) as_qdir=$as_dir;;
+      esac
+      as_dirs="'$as_qdir' $as_dirs"
+      as_dir=`$as_dirname -- "$as_dir" ||
+$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+	 X"$as_dir" : 'X\(//\)[^/]' \| \
+	 X"$as_dir" : 'X\(//\)$' \| \
+	 X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$as_dir" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\/\)[^/].*/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\/\)$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\).*/{
+	    s//\1/
+	    q
+	  }
+	  s/.*/./; q'`
+      test -d "$as_dir" && break
+    done
+    test -z "$as_dirs" || eval "mkdir $as_dirs"
+  } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
+
+
+} # as_fn_mkdir_p
+
+# as_fn_executable_p FILE
+# -----------------------
+# Test if FILE is an executable regular file.
+as_fn_executable_p ()
+{
+  test -f "$1" && test -x "$1"
+} # as_fn_executable_p
+# as_fn_append VAR VALUE
+# ----------------------
+# Append the text in VALUE to the end of the definition contained in VAR. Take
+# advantage of any shell optimizations that allow amortized linear growth over
+# repeated appends, instead of the typical quadratic growth present in naive
+# implementations.
+if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
+  eval 'as_fn_append ()
+  {
+    eval $1+=\$2
+  }'
+else
+  as_fn_append ()
+  {
+    eval $1=\$$1\$2
+  }
+fi # as_fn_append
+
+# as_fn_arith ARG...
+# ------------------
+# Perform arithmetic evaluation on the ARGs, and store the result in the
+# global $as_val. Take advantage of shells that can avoid forks. The arguments
+# must be portable across $(()) and expr.
+if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
+  eval 'as_fn_arith ()
+  {
+    as_val=$(( $* ))
+  }'
+else
+  as_fn_arith ()
+  {
+    as_val=`expr "$@" || test $? -eq 1`
+  }
+fi # as_fn_arith
+
+
+# as_fn_error STATUS ERROR [LINENO LOG_FD]
+# ----------------------------------------
+# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
+# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
+# script with STATUS, using 1 if that was 0.
+as_fn_error ()
+{
+  as_status=$1; test $as_status -eq 0 && as_status=1
+  if test "$4"; then
+    as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+    $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
+  fi
+  $as_echo "$as_me: error: $2" >&2
+  as_fn_exit $as_status
+} # as_fn_error
+
+if expr a : '\(a\)' >/dev/null 2>&1 &&
+   test "X`expr 00001 : '.*\(...\)'`" = X001; then
+  as_expr=expr
+else
+  as_expr=false
+fi
+
+if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
+  as_basename=basename
+else
+  as_basename=false
+fi
+
+if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
+  as_dirname=dirname
+else
+  as_dirname=false
+fi
+
+as_me=`$as_basename -- "$0" ||
+$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
+	 X"$0" : 'X\(//\)$' \| \
+	 X"$0" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X/"$0" |
+    sed '/^.*\/\([^/][^/]*\)\/*$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\/\(\/\/\)$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\/\(\/\).*/{
+	    s//\1/
+	    q
+	  }
+	  s/.*/./; q'`
+
+# Avoid depending upon Character Ranges.
+as_cr_letters='abcdefghijklmnopqrstuvwxyz'
+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
+as_cr_Letters=$as_cr_letters$as_cr_LETTERS
+as_cr_digits='0123456789'
+as_cr_alnum=$as_cr_Letters$as_cr_digits
+
+
+  as_lineno_1=$LINENO as_lineno_1a=$LINENO
+  as_lineno_2=$LINENO as_lineno_2a=$LINENO
+  eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" &&
+  test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || {
+  # Blame Lee E. McMahon (1931-1989) for sed's syntax.  :-)
+  sed -n '
+    p
+    /[$]LINENO/=
+  ' <$as_myself |
+    sed '
+      s/[$]LINENO.*/&-/
+      t lineno
+      b
+      :lineno
+      N
+      :loop
+      s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
+      t loop
+      s/-\n.*//
+    ' >$as_me.lineno &&
+  chmod +x "$as_me.lineno" ||
+    { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
+
+  # If we had to re-execute with $CONFIG_SHELL, we're ensured to have
+  # already done that, so ensure we don't try to do so again and fall
+  # in an infinite loop.  This has already happened in practice.
+  _as_can_reexec=no; export _as_can_reexec
+  # Don't try to exec as it changes $[0], causing all sort of problems
+  # (the dirname of $[0] is not the place where we might find the
+  # original and so on.  Autoconf is especially sensitive to this).
+  . "./$as_me.lineno"
+  # Exit status is that of the last command.
+  exit
+}
+
+ECHO_C= ECHO_N= ECHO_T=
+case `echo -n x` in #(((((
+-n*)
+  case `echo 'xy\c'` in
+  *c*) ECHO_T='	';;	# ECHO_T is single tab character.
+  xy)  ECHO_C='\c';;
+  *)   echo `echo ksh88 bug on AIX 6.1` > /dev/null
+       ECHO_T='	';;
+  esac;;
+*)
+  ECHO_N='-n';;
+esac
+
+rm -f conf$$ conf$$.exe conf$$.file
+if test -d conf$$.dir; then
+  rm -f conf$$.dir/conf$$.file
+else
+  rm -f conf$$.dir
+  mkdir conf$$.dir 2>/dev/null
+fi
+if (echo >conf$$.file) 2>/dev/null; then
+  if ln -s conf$$.file conf$$ 2>/dev/null; then
+    as_ln_s='ln -s'
+    # ... but there are two gotchas:
+    # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
+    # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
+    # In both cases, we have to default to `cp -pR'.
+    ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
+      as_ln_s='cp -pR'
+  elif ln conf$$.file conf$$ 2>/dev/null; then
+    as_ln_s=ln
+  else
+    as_ln_s='cp -pR'
+  fi
+else
+  as_ln_s='cp -pR'
+fi
+rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
+rmdir conf$$.dir 2>/dev/null
+
+if mkdir -p . 2>/dev/null; then
+  as_mkdir_p='mkdir -p "$as_dir"'
+else
+  test -d ./-p && rmdir ./-p
+  as_mkdir_p=false
+fi
+
+as_test_x='test -x'
+as_executable_p=as_fn_executable_p
+
+# Sed expression to map a string onto a valid CPP name.
+as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
+
+# Sed expression to map a string onto a valid variable name.
+as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
+
+SHELL=${CONFIG_SHELL-/bin/sh}
+
+
+test -n "$DJDIR" || exec 7<&0 </dev/null
+exec 6>&1
+
+# Name of the host.
+# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status,
+# so uname gets run too.
+ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
+
+#
+# Initializations.
+#
+ac_default_prefix=/usr/local
+ac_clean_files=
+ac_config_libobj_dir=.
+LIBOBJS=
+cross_compiling=no
+subdirs=
+MFLAGS=
+MAKEFLAGS=
+
+# Identity of this package.
+PACKAGE_NAME='libsodium'
+PACKAGE_TARNAME='libsodium'
+PACKAGE_VERSION='0.4.3'
+PACKAGE_STRING='libsodium 0.4.3'
+PACKAGE_BUGREPORT='https://github.com/jedisct1/libsodium/issues'
+PACKAGE_URL='https://github.com/jedisct1/libsodium'
+
+ac_unique_file="src/libsodium/sodium/version.c"
+# Factoring default headers for most tests.
+ac_includes_default="\
+#include <stdio.h>
+#ifdef HAVE_SYS_TYPES_H
+# include <sys/types.h>
+#endif
+#ifdef HAVE_SYS_STAT_H
+# include <sys/stat.h>
+#endif
+#ifdef STDC_HEADERS
+# include <stdlib.h>
+# include <stddef.h>
+#else
+# ifdef HAVE_STDLIB_H
+#  include <stdlib.h>
+# endif
+#endif
+#ifdef HAVE_STRING_H
+# if !defined STDC_HEADERS && defined HAVE_MEMORY_H
+#  include <memory.h>
+# endif
+# include <string.h>
+#endif
+#ifdef HAVE_STRINGS_H
+# include <strings.h>
+#endif
+#ifdef HAVE_INTTYPES_H
+# include <inttypes.h>
+#endif
+#ifdef HAVE_STDINT_H
+# include <stdint.h>
+#endif
+#ifdef HAVE_UNISTD_H
+# include <unistd.h>
+#endif"
+
+ac_subst_vars='am__EXEEXT_FALSE
+am__EXEEXT_TRUE
+LTLIBOBJS
+LIBOBJS
+HAVE_LD_OUTPUT_DEF_FALSE
+HAVE_LD_OUTPUT_DEF_TRUE
+AS
+LIBTOOL_EXTRA_FLAGS
+HAVE_CPUID_V
+HAVE_CPUID_FALSE
+HAVE_CPUID_TRUE
+HAVE_TI_MODE_V
+HAVE_TI_MODE_FALSE
+HAVE_TI_MODE_TRUE
+HAVE_AMD64_ASM_V
+HAVE_AMD64_ASM_FALSE
+HAVE_AMD64_ASM_TRUE
+LIBTOOL_DEPS
+OTOOL64
+OTOOL
+LIPO
+NMEDIT
+DSYMUTIL
+MANIFEST_TOOL
+RANLIB
+ac_ct_AR
+AR
+DLLTOOL
+OBJDUMP
+LN_S
+NM
+ac_ct_DUMPBIN
+DUMPBIN
+LD
+FGREP
+SED
+LIBTOOL
+CWFLAGS
+EGREP
+GREP
+CPP
+am__fastdepCCAS_FALSE
+am__fastdepCCAS_TRUE
+CCASDEPMODE
+CCASFLAGS
+CCAS
+am__fastdepCC_FALSE
+am__fastdepCC_TRUE
+CCDEPMODE
+am__quote
+am__include
+DEPDIR
+OBJEXT
+EXEEXT
+ac_ct_CC
+CPPFLAGS
+LDFLAGS
+CFLAGS
+CC
+HAVE_PKG_CONFIG
+HAVE_PKG_CONFIG_FALSE
+HAVE_PKG_CONFIG_TRUE
+PKG_CONFIG_LIBDIR
+PKG_CONFIG_PATH
+PKG_CONFIG
+SAFECODE_HOME
+DLL_VERSION
+SODIUM_LIBRARY_VERSION
+SODIUM_LIBRARY_VERSION_MINOR
+SODIUM_LIBRARY_VERSION_MAJOR
+ISODATE
+am__nodep
+AMDEPBACKSLASH
+AMDEP_FALSE
+AMDEP_TRUE
+MAINT
+MAINTAINER_MODE_FALSE
+MAINTAINER_MODE_TRUE
+AM_BACKSLASH
+AM_DEFAULT_VERBOSITY
+AM_DEFAULT_V
+AM_V
+am__untar
+am__tar
+AMTAR
+am__leading_dot
+SET_MAKE
+AWK
+mkdir_p
+MKDIR_P
+INSTALL_STRIP_PROGRAM
+STRIP
+install_sh
+MAKEINFO
+AUTOHEADER
+AUTOMAKE
+AUTOCONF
+ACLOCAL
+VERSION
+PACKAGE
+CYGPATH_W
+am__isrc
+INSTALL_DATA
+INSTALL_SCRIPT
+INSTALL_PROGRAM
+host_os
+host_vendor
+host_cpu
+host
+build_os
+build_vendor
+build_cpu
+build
+target_alias
+host_alias
+build_alias
+LIBS
+ECHO_T
+ECHO_N
+ECHO_C
+DEFS
+mandir
+localedir
+libdir
+psdir
+pdfdir
+dvidir
+htmldir
+infodir
+docdir
+oldincludedir
+includedir
+localstatedir
+sharedstatedir
+sysconfdir
+datadir
+datarootdir
+libexecdir
+sbindir
+bindir
+program_transform_name
+prefix
+exec_prefix
+PACKAGE_URL
+PACKAGE_BUGREPORT
+PACKAGE_STRING
+PACKAGE_VERSION
+PACKAGE_TARNAME
+PACKAGE_NAME
+PATH_SEPARATOR
+SHELL'
+ac_subst_files=''
+ac_user_opts='
+enable_option_checking
+enable_silent_rules
+enable_maintainer_mode
+enable_dependency_tracking
+enable_ssp
+enable_asm
+enable_pie
+enable_blocking_random
+with_safecode
+enable_debug
+enable_shared
+enable_static
+with_pic
+enable_fast_install
+with_gnu_ld
+with_sysroot
+enable_libtool_lock
+'
+      ac_precious_vars='build_alias
+host_alias
+target_alias
+SAFECODE_HOME
+PKG_CONFIG
+PKG_CONFIG_PATH
+PKG_CONFIG_LIBDIR
+CC
+CFLAGS
+LDFLAGS
+LIBS
+CPPFLAGS
+CCAS
+CCASFLAGS
+CPP
+CWFLAGS
+AR'
+
+
+# Initialize some variables set by options.
+ac_init_help=
+ac_init_version=false
+ac_unrecognized_opts=
+ac_unrecognized_sep=
+# The variables have the same names as the options, with
+# dashes changed to underlines.
+cache_file=/dev/null
+exec_prefix=NONE
+no_create=
+no_recursion=
+prefix=NONE
+program_prefix=NONE
+program_suffix=NONE
+program_transform_name=s,x,x,
+silent=
+site=
+srcdir=
+verbose=
+x_includes=NONE
+x_libraries=NONE
+
+# Installation directory options.
+# These are left unexpanded so users can "make install exec_prefix=/foo"
+# and all the variables that are supposed to be based on exec_prefix
+# by default will actually change.
+# Use braces instead of parens because sh, perl, etc. also accept them.
+# (The list follows the same order as the GNU Coding Standards.)
+bindir='${exec_prefix}/bin'
+sbindir='${exec_prefix}/sbin'
+libexecdir='${exec_prefix}/libexec'
+datarootdir='${prefix}/share'
+datadir='${datarootdir}'
+sysconfdir='${prefix}/etc'
+sharedstatedir='${prefix}/com'
+localstatedir='${prefix}/var'
+includedir='${prefix}/include'
+oldincludedir='/usr/include'
+docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
+infodir='${datarootdir}/info'
+htmldir='${docdir}'
+dvidir='${docdir}'
+pdfdir='${docdir}'
+psdir='${docdir}'
+libdir='${exec_prefix}/lib'
+localedir='${datarootdir}/locale'
+mandir='${datarootdir}/man'
+
+ac_prev=
+ac_dashdash=
+for ac_option
+do
+  # If the previous option needs an argument, assign it.
+  if test -n "$ac_prev"; then
+    eval $ac_prev=\$ac_option
+    ac_prev=
+    continue
+  fi
+
+  case $ac_option in
+  *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
+  *=)   ac_optarg= ;;
+  *)    ac_optarg=yes ;;
+  esac
+
+  # Accept the important Cygnus configure options, so we can diagnose typos.
+
+  case $ac_dashdash$ac_option in
+  --)
+    ac_dashdash=yes ;;
+
+  -bindir | --bindir | --bindi | --bind | --bin | --bi)
+    ac_prev=bindir ;;
+  -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
+    bindir=$ac_optarg ;;
+
+  -build | --build | --buil | --bui | --bu)
+    ac_prev=build_alias ;;
+  -build=* | --build=* | --buil=* | --bui=* | --bu=*)
+    build_alias=$ac_optarg ;;
+
+  -cache-file | --cache-file | --cache-fil | --cache-fi \
+  | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
+    ac_prev=cache_file ;;
+  -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
+  | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
+    cache_file=$ac_optarg ;;
+
+  --config-cache | -C)
+    cache_file=config.cache ;;
+
+  -datadir | --datadir | --datadi | --datad)
+    ac_prev=datadir ;;
+  -datadir=* | --datadir=* | --datadi=* | --datad=*)
+    datadir=$ac_optarg ;;
+
+  -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \
+  | --dataroo | --dataro | --datar)
+    ac_prev=datarootdir ;;
+  -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \
+  | --dataroot=* | --dataroo=* | --dataro=* | --datar=*)
+    datarootdir=$ac_optarg ;;
+
+  -disable-* | --disable-*)
+    ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
+    # Reject names that are not valid shell variable names.
+    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+      as_fn_error $? "invalid feature name: $ac_useropt"
+    ac_useropt_orig=$ac_useropt
+    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+    case $ac_user_opts in
+      *"
+"enable_$ac_useropt"
+"*) ;;
+      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig"
+	 ac_unrecognized_sep=', ';;
+    esac
+    eval enable_$ac_useropt=no ;;
+
+  -docdir | --docdir | --docdi | --doc | --do)
+    ac_prev=docdir ;;
+  -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*)
+    docdir=$ac_optarg ;;
+
+  -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv)
+    ac_prev=dvidir ;;
+  -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*)
+    dvidir=$ac_optarg ;;
+
+  -enable-* | --enable-*)
+    ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
+    # Reject names that are not valid shell variable names.
+    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+      as_fn_error $? "invalid feature name: $ac_useropt"
+    ac_useropt_orig=$ac_useropt
+    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+    case $ac_user_opts in
+      *"
+"enable_$ac_useropt"
+"*) ;;
+      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig"
+	 ac_unrecognized_sep=', ';;
+    esac
+    eval enable_$ac_useropt=\$ac_optarg ;;
+
+  -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
+  | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
+  | --exec | --exe | --ex)
+    ac_prev=exec_prefix ;;
+  -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
+  | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
+  | --exec=* | --exe=* | --ex=*)
+    exec_prefix=$ac_optarg ;;
+
+  -gas | --gas | --ga | --g)
+    # Obsolete; use --with-gas.
+    with_gas=yes ;;
+
+  -help | --help | --hel | --he | -h)
+    ac_init_help=long ;;
+  -help=r* | --help=r* | --hel=r* | --he=r* | -hr*)
+    ac_init_help=recursive ;;
+  -help=s* | --help=s* | --hel=s* | --he=s* | -hs*)
+    ac_init_help=short ;;
+
+  -host | --host | --hos | --ho)
+    ac_prev=host_alias ;;
+  -host=* | --host=* | --hos=* | --ho=*)
+    host_alias=$ac_optarg ;;
+
+  -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht)
+    ac_prev=htmldir ;;
+  -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \
+  | --ht=*)
+    htmldir=$ac_optarg ;;
+
+  -includedir | --includedir | --includedi | --included | --include \
+  | --includ | --inclu | --incl | --inc)
+    ac_prev=includedir ;;
+  -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
+  | --includ=* | --inclu=* | --incl=* | --inc=*)
+    includedir=$ac_optarg ;;
+
+  -infodir | --infodir | --infodi | --infod | --info | --inf)
+    ac_prev=infodir ;;
+  -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
+    infodir=$ac_optarg ;;
+
+  -libdir | --libdir | --libdi | --libd)
+    ac_prev=libdir ;;
+  -libdir=* | --libdir=* | --libdi=* | --libd=*)
+    libdir=$ac_optarg ;;
+
+  -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
+  | --libexe | --libex | --libe)
+    ac_prev=libexecdir ;;
+  -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
+  | --libexe=* | --libex=* | --libe=*)
+    libexecdir=$ac_optarg ;;
+
+  -localedir | --localedir | --localedi | --localed | --locale)
+    ac_prev=localedir ;;
+  -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*)
+    localedir=$ac_optarg ;;
+
+  -localstatedir | --localstatedir | --localstatedi | --localstated \
+  | --localstate | --localstat | --localsta | --localst | --locals)
+    ac_prev=localstatedir ;;
+  -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
+  | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*)
+    localstatedir=$ac_optarg ;;
+
+  -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
+    ac_prev=mandir ;;
+  -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
+    mandir=$ac_optarg ;;
+
+  -nfp | --nfp | --nf)
+    # Obsolete; use --without-fp.
+    with_fp=no ;;
+
+  -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+  | --no-cr | --no-c | -n)
+    no_create=yes ;;
+
+  -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+  | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
+    no_recursion=yes ;;
+
+  -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
+  | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
+  | --oldin | --oldi | --old | --ol | --o)
+    ac_prev=oldincludedir ;;
+  -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
+  | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
+  | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
+    oldincludedir=$ac_optarg ;;
+
+  -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
+    ac_prev=prefix ;;
+  -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
+    prefix=$ac_optarg ;;
+
+  -program-prefix | --program-prefix | --program-prefi | --program-pref \
+  | --program-pre | --program-pr | --program-p)
+    ac_prev=program_prefix ;;
+  -program-prefix=* | --program-prefix=* | --program-prefi=* \
+  | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
+    program_prefix=$ac_optarg ;;
+
+  -program-suffix | --program-suffix | --program-suffi | --program-suff \
+  | --program-suf | --program-su | --program-s)
+    ac_prev=program_suffix ;;
+  -program-suffix=* | --program-suffix=* | --program-suffi=* \
+  | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
+    program_suffix=$ac_optarg ;;
+
+  -program-transform-name | --program-transform-name \
+  | --program-transform-nam | --program-transform-na \
+  | --program-transform-n | --program-transform- \
+  | --program-transform | --program-transfor \
+  | --program-transfo | --program-transf \
+  | --program-trans | --program-tran \
+  | --progr-tra | --program-tr | --program-t)
+    ac_prev=program_transform_name ;;
+  -program-transform-name=* | --program-transform-name=* \
+  | --program-transform-nam=* | --program-transform-na=* \
+  | --program-transform-n=* | --program-transform-=* \
+  | --program-transform=* | --program-transfor=* \
+  | --program-transfo=* | --program-transf=* \
+  | --program-trans=* | --program-tran=* \
+  | --progr-tra=* | --program-tr=* | --program-t=*)
+    program_transform_name=$ac_optarg ;;
+
+  -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd)
+    ac_prev=pdfdir ;;
+  -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*)
+    pdfdir=$ac_optarg ;;
+
+  -psdir | --psdir | --psdi | --psd | --ps)
+    ac_prev=psdir ;;
+  -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*)
+    psdir=$ac_optarg ;;
+
+  -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+  | -silent | --silent | --silen | --sile | --sil)
+    silent=yes ;;
+
+  -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
+    ac_prev=sbindir ;;
+  -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
+  | --sbi=* | --sb=*)
+    sbindir=$ac_optarg ;;
+
+  -sharedstatedir | --sharedstatedir | --sharedstatedi \
+  | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
+  | --sharedst | --shareds | --shared | --share | --shar \
+  | --sha | --sh)
+    ac_prev=sharedstatedir ;;
+  -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
+  | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
+  | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
+  | --sha=* | --sh=*)
+    sharedstatedir=$ac_optarg ;;
+
+  -site | --site | --sit)
+    ac_prev=site ;;
+  -site=* | --site=* | --sit=*)
+    site=$ac_optarg ;;
+
+  -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
+    ac_prev=srcdir ;;
+  -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
+    srcdir=$ac_optarg ;;
+
+  -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
+  | --syscon | --sysco | --sysc | --sys | --sy)
+    ac_prev=sysconfdir ;;
+  -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
+  | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
+    sysconfdir=$ac_optarg ;;
+
+  -target | --target | --targe | --targ | --tar | --ta | --t)
+    ac_prev=target_alias ;;
+  -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
+    target_alias=$ac_optarg ;;
+
+  -v | -verbose | --verbose | --verbos | --verbo | --verb)
+    verbose=yes ;;
+
+  -version | --version | --versio | --versi | --vers | -V)
+    ac_init_version=: ;;
+
+  -with-* | --with-*)
+    ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
+    # Reject names that are not valid shell variable names.
+    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+      as_fn_error $? "invalid package name: $ac_useropt"
+    ac_useropt_orig=$ac_useropt
+    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+    case $ac_user_opts in
+      *"
+"with_$ac_useropt"
+"*) ;;
+      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig"
+	 ac_unrecognized_sep=', ';;
+    esac
+    eval with_$ac_useropt=\$ac_optarg ;;
+
+  -without-* | --without-*)
+    ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
+    # Reject names that are not valid shell variable names.
+    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+      as_fn_error $? "invalid package name: $ac_useropt"
+    ac_useropt_orig=$ac_useropt
+    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+    case $ac_user_opts in
+      *"
+"with_$ac_useropt"
+"*) ;;
+      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig"
+	 ac_unrecognized_sep=', ';;
+    esac
+    eval with_$ac_useropt=no ;;
+
+  --x)
+    # Obsolete; use --with-x.
+    with_x=yes ;;
+
+  -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
+  | --x-incl | --x-inc | --x-in | --x-i)
+    ac_prev=x_includes ;;
+  -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
+  | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
+    x_includes=$ac_optarg ;;
+
+  -x-libraries | --x-libraries | --x-librarie | --x-librari \
+  | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
+    ac_prev=x_libraries ;;
+  -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
+  | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
+    x_libraries=$ac_optarg ;;
+
+  -*) as_fn_error $? "unrecognized option: \`$ac_option'
+Try \`$0 --help' for more information"
+    ;;
+
+  *=*)
+    ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
+    # Reject names that are not valid shell variable names.
+    case $ac_envvar in #(
+      '' | [0-9]* | *[!_$as_cr_alnum]* )
+      as_fn_error $? "invalid variable name: \`$ac_envvar'" ;;
+    esac
+    eval $ac_envvar=\$ac_optarg
+    export $ac_envvar ;;
+
+  *)
+    # FIXME: should be removed in autoconf 3.0.
+    $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
+    expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
+      $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
+    : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}"
+    ;;
+
+  esac
+done
+
+if test -n "$ac_prev"; then
+  ac_option=--`echo $ac_prev | sed 's/_/-/g'`
+  as_fn_error $? "missing argument to $ac_option"
+fi
+
+if test -n "$ac_unrecognized_opts"; then
+  case $enable_option_checking in
+    no) ;;
+    fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;;
+    *)     $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
+  esac
+fi
+
+# Check all directory arguments for consistency.
+for ac_var in	exec_prefix prefix bindir sbindir libexecdir datarootdir \
+		datadir sysconfdir sharedstatedir localstatedir includedir \
+		oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
+		libdir localedir mandir
+do
+  eval ac_val=\$$ac_var
+  # Remove trailing slashes.
+  case $ac_val in
+    */ )
+      ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'`
+      eval $ac_var=\$ac_val;;
+  esac
+  # Be sure to have absolute directory names.
+  case $ac_val in
+    [\\/$]* | ?:[\\/]* )  continue;;
+    NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
+  esac
+  as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val"
+done
+
+# There might be people who depend on the old broken behavior: `$host'
+# used to hold the argument of --host etc.
+# FIXME: To remove some day.
+build=$build_alias
+host=$host_alias
+target=$target_alias
+
+# FIXME: To remove some day.
+if test "x$host_alias" != x; then
+  if test "x$build_alias" = x; then
+    cross_compiling=maybe
+  elif test "x$build_alias" != "x$host_alias"; then
+    cross_compiling=yes
+  fi
+fi
+
+ac_tool_prefix=
+test -n "$host_alias" && ac_tool_prefix=$host_alias-
+
+test "$silent" = yes && exec 6>/dev/null
+
+
+ac_pwd=`pwd` && test -n "$ac_pwd" &&
+ac_ls_di=`ls -di .` &&
+ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
+  as_fn_error $? "working directory cannot be determined"
+test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
+  as_fn_error $? "pwd does not report name of working directory"
+
+
+# Find the source files, if location was not specified.
+if test -z "$srcdir"; then
+  ac_srcdir_defaulted=yes
+  # Try the directory containing this script, then the parent directory.
+  ac_confdir=`$as_dirname -- "$as_myself" ||
+$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+	 X"$as_myself" : 'X\(//\)[^/]' \| \
+	 X"$as_myself" : 'X\(//\)$' \| \
+	 X"$as_myself" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$as_myself" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\/\)[^/].*/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\/\)$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\).*/{
+	    s//\1/
+	    q
+	  }
+	  s/.*/./; q'`
+  srcdir=$ac_confdir
+  if test ! -r "$srcdir/$ac_unique_file"; then
+    srcdir=..
+  fi
+else
+  ac_srcdir_defaulted=no
+fi
+if test ! -r "$srcdir/$ac_unique_file"; then
+  test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
+  as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir"
+fi
+ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
+ac_abs_confdir=`(
+	cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg"
+	pwd)`
+# When building in place, set srcdir=.
+if test "$ac_abs_confdir" = "$ac_pwd"; then
+  srcdir=.
+fi
+# Remove unnecessary trailing slashes from srcdir.
+# Double slashes in file names in object file debugging info
+# mess up M-x gdb in Emacs.
+case $srcdir in
+*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;;
+esac
+for ac_var in $ac_precious_vars; do
+  eval ac_env_${ac_var}_set=\${${ac_var}+set}
+  eval ac_env_${ac_var}_value=\$${ac_var}
+  eval ac_cv_env_${ac_var}_set=\${${ac_var}+set}
+  eval ac_cv_env_${ac_var}_value=\$${ac_var}
+done
+
+#
+# Report the --help message.
+#
+if test "$ac_init_help" = "long"; then
+  # Omit some internal or obsolete options to make the list less imposing.
+  # This message is too long to be a string in the A/UX 3.1 sh.
+  cat <<_ACEOF
+\`configure' configures libsodium 0.4.3 to adapt to many kinds of systems.
+
+Usage: $0 [OPTION]... [VAR=VALUE]...
+
+To assign environment variables (e.g., CC, CFLAGS...), specify them as
+VAR=VALUE.  See below for descriptions of some of the useful variables.
+
+Defaults for the options are specified in brackets.
+
+Configuration:
+  -h, --help              display this help and exit
+      --help=short        display options specific to this package
+      --help=recursive    display the short help of all the included packages
+  -V, --version           display version information and exit
+  -q, --quiet, --silent   do not print \`checking ...' messages
+      --cache-file=FILE   cache test results in FILE [disabled]
+  -C, --config-cache      alias for \`--cache-file=config.cache'
+  -n, --no-create         do not create output files
+      --srcdir=DIR        find the sources in DIR [configure dir or \`..']
+
+Installation directories:
+  --prefix=PREFIX         install architecture-independent files in PREFIX
+                          [$ac_default_prefix]
+  --exec-prefix=EPREFIX   install architecture-dependent files in EPREFIX
+                          [PREFIX]
+
+By default, \`make install' will install all the files in
+\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc.  You can specify
+an installation prefix other than \`$ac_default_prefix' using \`--prefix',
+for instance \`--prefix=\$HOME'.
+
+For better control, use the options below.
+
+Fine tuning of the installation directories:
+  --bindir=DIR            user executables [EPREFIX/bin]
+  --sbindir=DIR           system admin executables [EPREFIX/sbin]
+  --libexecdir=DIR        program executables [EPREFIX/libexec]
+  --sysconfdir=DIR        read-only single-machine data [PREFIX/etc]
+  --sharedstatedir=DIR    modifiable architecture-independent data [PREFIX/com]
+  --localstatedir=DIR     modifiable single-machine data [PREFIX/var]
+  --libdir=DIR            object code libraries [EPREFIX/lib]
+  --includedir=DIR        C header files [PREFIX/include]
+  --oldincludedir=DIR     C header files for non-gcc [/usr/include]
+  --datarootdir=DIR       read-only arch.-independent data root [PREFIX/share]
+  --datadir=DIR           read-only architecture-independent data [DATAROOTDIR]
+  --infodir=DIR           info documentation [DATAROOTDIR/info]
+  --localedir=DIR         locale-dependent data [DATAROOTDIR/locale]
+  --mandir=DIR            man documentation [DATAROOTDIR/man]
+  --docdir=DIR            documentation root [DATAROOTDIR/doc/libsodium]
+  --htmldir=DIR           html documentation [DOCDIR]
+  --dvidir=DIR            dvi documentation [DOCDIR]
+  --pdfdir=DIR            pdf documentation [DOCDIR]
+  --psdir=DIR             ps documentation [DOCDIR]
+_ACEOF
+
+  cat <<\_ACEOF
+
+Program names:
+  --program-prefix=PREFIX            prepend PREFIX to installed program names
+  --program-suffix=SUFFIX            append SUFFIX to installed program names
+  --program-transform-name=PROGRAM   run sed PROGRAM on installed program names
+
+System types:
+  --build=BUILD     configure for building on BUILD [guessed]
+  --host=HOST       cross-compile to build programs to run on HOST [BUILD]
+_ACEOF
+fi
+
+if test -n "$ac_init_help"; then
+  case $ac_init_help in
+     short | recursive ) echo "Configuration of libsodium 0.4.3:";;
+   esac
+  cat <<\_ACEOF
+
+Optional Features:
+  --disable-option-checking  ignore unrecognized --enable/--with options
+  --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
+  --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
+  --enable-silent-rules   less verbose build output (undo: "make V=1")
+  --disable-silent-rules  verbose build output (undo: "make V=0")
+  --enable-maintainer-mode
+                          enable make rules and dependencies not useful (and
+                          sometimes confusing) to the casual installer
+  --enable-dependency-tracking
+                          do not reject slow dependency extractors
+  --disable-dependency-tracking
+                          speeds up one-time build
+  --disable-ssp           Do not compile with -fstack-protector
+  --disable-asm           Disable assembly implementations
+  --disable-pie           Do not produce position independent executables
+  --enable-blocking-random
+                          Use /dev/random instead of /dev/urandom
+  --enable-debug          For maintainers only - please do not use
+  --enable-shared[=PKGS]  build shared libraries [default=yes]
+  --enable-static[=PKGS]  build static libraries [default=yes]
+  --enable-fast-install[=PKGS]
+                          optimize for fast installation [default=yes]
+  --disable-libtool-lock  avoid locking (might break parallel builds)
+
+Optional Packages:
+  --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
+  --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
+  --with-safecode         For maintainers only - please do not use
+  --with-pic[=PKGS]       try to use only PIC/non-PIC objects [default=use
+                          both]
+  --with-gnu-ld           assume the C compiler uses GNU ld [default=no]
+  --with-sysroot=DIR Search for dependent libraries within DIR
+                        (or the compiler's sysroot if not specified).
+
+Some influential environment variables:
+  SAFECODE_HOME
+              set to the safecode base directory
+  PKG_CONFIG  path to pkg-config utility
+  PKG_CONFIG_PATH
+              directories to add to pkg-config's search path
+  PKG_CONFIG_LIBDIR
+              path overriding pkg-config's built-in search path
+  CC          C compiler command
+  CFLAGS      C compiler flags
+  LDFLAGS     linker flags, e.g. -L<lib dir> if you have libraries in a
+              nonstandard directory <lib dir>
+  LIBS        libraries to pass to the linker, e.g. -l<library>
+  CPPFLAGS    (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
+              you have headers in a nonstandard directory <include dir>
+  CCAS        assembler compiler command (defaults to CC)
+  CCASFLAGS   assembler compiler flags (defaults to CFLAGS)
+  CPP         C preprocessor
+  CWFLAGS     define to compilation flags for generating extra warnings
+  AR          path to the ar utility
+
+Use these variables to override the choices made by `configure' or to help
+it to find libraries and programs with nonstandard names/locations.
+
+Report bugs to <https://github.com/jedisct1/libsodium/issues>.
+libsodium home page: <https://github.com/jedisct1/libsodium>.
+_ACEOF
+ac_status=$?
+fi
+
+if test "$ac_init_help" = "recursive"; then
+  # If there are subdirs, report their specific --help.
+  for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
+    test -d "$ac_dir" ||
+      { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } ||
+      continue
+    ac_builddir=.
+
+case "$ac_dir" in
+.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
+*)
+  ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
+  # A ".." for each directory in $ac_dir_suffix.
+  ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
+  case $ac_top_builddir_sub in
+  "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
+  *)  ac_top_build_prefix=$ac_top_builddir_sub/ ;;
+  esac ;;
+esac
+ac_abs_top_builddir=$ac_pwd
+ac_abs_builddir=$ac_pwd$ac_dir_suffix
+# for backward compatibility:
+ac_top_builddir=$ac_top_build_prefix
+
+case $srcdir in
+  .)  # We are building in place.
+    ac_srcdir=.
+    ac_top_srcdir=$ac_top_builddir_sub
+    ac_abs_top_srcdir=$ac_pwd ;;
+  [\\/]* | ?:[\\/]* )  # Absolute name.
+    ac_srcdir=$srcdir$ac_dir_suffix;
+    ac_top_srcdir=$srcdir
+    ac_abs_top_srcdir=$srcdir ;;
+  *) # Relative name.
+    ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
+    ac_top_srcdir=$ac_top_build_prefix$srcdir
+    ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
+esac
+ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
+
+    cd "$ac_dir" || { ac_status=$?; continue; }
+    # Check for guested configure.
+    if test -f "$ac_srcdir/configure.gnu"; then
+      echo &&
+      $SHELL "$ac_srcdir/configure.gnu" --help=recursive
+    elif test -f "$ac_srcdir/configure"; then
+      echo &&
+      $SHELL "$ac_srcdir/configure" --help=recursive
+    else
+      $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
+    fi || ac_status=$?
+    cd "$ac_pwd" || { ac_status=$?; break; }
+  done
+fi
+
+test -n "$ac_init_help" && exit $ac_status
+if $ac_init_version; then
+  cat <<\_ACEOF
+libsodium configure 0.4.3
+generated by GNU Autoconf 2.69
+
+Copyright (C) 2012 Free Software Foundation, Inc.
+This configure script is free software; the Free Software Foundation
+gives unlimited permission to copy, distribute and modify it.
+_ACEOF
+  exit
+fi
+
+## ------------------------ ##
+## Autoconf initialization. ##
+## ------------------------ ##
+
+# ac_fn_c_try_compile LINENO
+# --------------------------
+# Try to compile conftest.$ac_ext, and return whether this succeeded.
+ac_fn_c_try_compile ()
+{
+  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+  rm -f conftest.$ac_objext
+  if { { ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_compile") 2>conftest.err
+  ac_status=$?
+  if test -s conftest.err; then
+    grep -v '^ *+' conftest.err >conftest.er1
+    cat conftest.er1 >&5
+    mv -f conftest.er1 conftest.err
+  fi
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then :
+  ac_retval=0
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+	ac_retval=1
+fi
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+  as_fn_set_status $ac_retval
+
+} # ac_fn_c_try_compile
+
+# ac_fn_c_try_cpp LINENO
+# ----------------------
+# Try to preprocess conftest.$ac_ext, and return whether this succeeded.
+ac_fn_c_try_cpp ()
+{
+  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+  if { { ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err
+  ac_status=$?
+  if test -s conftest.err; then
+    grep -v '^ *+' conftest.err >conftest.er1
+    cat conftest.er1 >&5
+    mv -f conftest.er1 conftest.err
+  fi
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; } > conftest.i && {
+	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       }; then :
+  ac_retval=0
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+    ac_retval=1
+fi
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+  as_fn_set_status $ac_retval
+
+} # ac_fn_c_try_cpp
+
+# ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES
+# -------------------------------------------------------
+# Tests whether HEADER exists, giving a warning if it cannot be compiled using
+# the include files in INCLUDES and setting the cache variable VAR
+# accordingly.
+ac_fn_c_check_header_mongrel ()
+{
+  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+  if eval \${$3+:} false; then :
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+$as_echo_n "checking for $2... " >&6; }
+if eval \${$3+:} false; then :
+  $as_echo_n "(cached) " >&6
+fi
+eval ac_res=\$$3
+	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+else
+  # Is the header compilable?
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5
+$as_echo_n "checking $2 usability... " >&6; }
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+$4
+#include <$2>
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_header_compiler=yes
+else
+  ac_header_compiler=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5
+$as_echo "$ac_header_compiler" >&6; }
+
+# Is the header present?
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5
+$as_echo_n "checking $2 presence... " >&6; }
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <$2>
+_ACEOF
+if ac_fn_c_try_cpp "$LINENO"; then :
+  ac_header_preproc=yes
+else
+  ac_header_preproc=no
+fi
+rm -f conftest.err conftest.i conftest.$ac_ext
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5
+$as_echo "$ac_header_preproc" >&6; }
+
+# So?  What about this header?
+case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in #((
+  yes:no: )
+    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5
+$as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;}
+    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
+$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
+    ;;
+  no:yes:* )
+    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5
+$as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;}
+    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2:     check for missing prerequisite headers?" >&5
+$as_echo "$as_me: WARNING: $2:     check for missing prerequisite headers?" >&2;}
+    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5
+$as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;}
+    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2:     section \"Present But Cannot Be Compiled\"" >&5
+$as_echo "$as_me: WARNING: $2:     section \"Present But Cannot Be Compiled\"" >&2;}
+    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
+$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
+( $as_echo "## ----------------------------------------------------------- ##
+## Report this to https://github.com/jedisct1/libsodium/issues ##
+## ----------------------------------------------------------- ##"
+     ) | sed "s/^/$as_me: WARNING:     /" >&2
+    ;;
+esac
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+$as_echo_n "checking for $2... " >&6; }
+if eval \${$3+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  eval "$3=\$ac_header_compiler"
+fi
+eval ac_res=\$$3
+	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+fi
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+
+} # ac_fn_c_check_header_mongrel
+
+# ac_fn_c_try_run LINENO
+# ----------------------
+# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes
+# that executables *can* be run.
+ac_fn_c_try_run ()
+{
+  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+  if { { ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_link") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; } && { ac_try='./conftest$ac_exeext'
+  { { case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; }; then :
+  ac_retval=0
+else
+  $as_echo "$as_me: program exited with status $ac_status" >&5
+       $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+       ac_retval=$ac_status
+fi
+  rm -rf conftest.dSYM conftest_ipa8_conftest.oo
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+  as_fn_set_status $ac_retval
+
+} # ac_fn_c_try_run
+
+# ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES
+# -------------------------------------------------------
+# Tests whether HEADER exists and can be compiled using the include files in
+# INCLUDES, setting the cache variable VAR accordingly.
+ac_fn_c_check_header_compile ()
+{
+  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+$as_echo_n "checking for $2... " >&6; }
+if eval \${$3+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+$4
+#include <$2>
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  eval "$3=yes"
+else
+  eval "$3=no"
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+eval ac_res=\$$3
+	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+
+} # ac_fn_c_check_header_compile
+
+# ac_fn_c_try_link LINENO
+# -----------------------
+# Try to link conftest.$ac_ext, and return whether this succeeded.
+ac_fn_c_try_link ()
+{
+  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+  rm -f conftest.$ac_objext conftest$ac_exeext
+  if { { ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_link") 2>conftest.err
+  ac_status=$?
+  if test -s conftest.err; then
+    grep -v '^ *+' conftest.err >conftest.er1
+    cat conftest.er1 >&5
+    mv -f conftest.er1 conftest.err
+  fi
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext && {
+	 test "$cross_compiling" = yes ||
+	 test -x conftest$ac_exeext
+       }; then :
+  ac_retval=0
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+	ac_retval=1
+fi
+  # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information
+  # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would
+  # interfere with the next link command; also delete a directory that is
+  # left behind by Apple's compiler.  We do this before executing the actions.
+  rm -rf conftest.dSYM conftest_ipa8_conftest.oo
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+  as_fn_set_status $ac_retval
+
+} # ac_fn_c_try_link
+
+# ac_fn_c_check_func LINENO FUNC VAR
+# ----------------------------------
+# Tests whether FUNC exists, setting the cache variable VAR accordingly
+ac_fn_c_check_func ()
+{
+  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+$as_echo_n "checking for $2... " >&6; }
+if eval \${$3+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+/* Define $2 to an innocuous variant, in case <limits.h> declares $2.
+   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
+#define $2 innocuous_$2
+
+/* System header to define __stub macros and hopefully few prototypes,
+    which can conflict with char $2 (); below.
+    Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+    <limits.h> exists even on freestanding compilers.  */
+
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+
+#undef $2
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char $2 ();
+/* The GNU C library defines this for functions which it implements
+    to always fail with ENOSYS.  Some functions are actually named
+    something starting with __ and the normal name is an alias.  */
+#if defined __stub_$2 || defined __stub___$2
+choke me
+#endif
+
+int
+main ()
+{
+return $2 ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  eval "$3=yes"
+else
+  eval "$3=no"
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+fi
+eval ac_res=\$$3
+	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+
+} # ac_fn_c_check_func
+cat >config.log <<_ACEOF
+This file contains any messages produced by compilers while
+running configure, to aid debugging if configure makes a mistake.
+
+It was created by libsodium $as_me 0.4.3, which was
+generated by GNU Autoconf 2.69.  Invocation command line was
+
+  $ $0 $@
+
+_ACEOF
+exec 5>>config.log
+{
+cat <<_ASUNAME
+## --------- ##
+## Platform. ##
+## --------- ##
+
+hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
+uname -m = `(uname -m) 2>/dev/null || echo unknown`
+uname -r = `(uname -r) 2>/dev/null || echo unknown`
+uname -s = `(uname -s) 2>/dev/null || echo unknown`
+uname -v = `(uname -v) 2>/dev/null || echo unknown`
+
+/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
+/bin/uname -X     = `(/bin/uname -X) 2>/dev/null     || echo unknown`
+
+/bin/arch              = `(/bin/arch) 2>/dev/null              || echo unknown`
+/usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null       || echo unknown`
+/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
+/usr/bin/hostinfo      = `(/usr/bin/hostinfo) 2>/dev/null      || echo unknown`
+/bin/machine           = `(/bin/machine) 2>/dev/null           || echo unknown`
+/usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null       || echo unknown`
+/bin/universe          = `(/bin/universe) 2>/dev/null          || echo unknown`
+
+_ASUNAME
+
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    $as_echo "PATH: $as_dir"
+  done
+IFS=$as_save_IFS
+
+} >&5
+
+cat >&5 <<_ACEOF
+
+
+## ----------- ##
+## Core tests. ##
+## ----------- ##
+
+_ACEOF
+
+
+# Keep a trace of the command line.
+# Strip out --no-create and --no-recursion so they do not pile up.
+# Strip out --silent because we don't want to record it for future runs.
+# Also quote any args containing shell meta-characters.
+# Make two passes to allow for proper duplicate-argument suppression.
+ac_configure_args=
+ac_configure_args0=
+ac_configure_args1=
+ac_must_keep_next=false
+for ac_pass in 1 2
+do
+  for ac_arg
+  do
+    case $ac_arg in
+    -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;;
+    -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+    | -silent | --silent | --silen | --sile | --sil)
+      continue ;;
+    *\'*)
+      ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
+    esac
+    case $ac_pass in
+    1) as_fn_append ac_configure_args0 " '$ac_arg'" ;;
+    2)
+      as_fn_append ac_configure_args1 " '$ac_arg'"
+      if test $ac_must_keep_next = true; then
+	ac_must_keep_next=false # Got value, back to normal.
+      else
+	case $ac_arg in
+	  *=* | --config-cache | -C | -disable-* | --disable-* \
+	  | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
+	  | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
+	  | -with-* | --with-* | -without-* | --without-* | --x)
+	    case "$ac_configure_args0 " in
+	      "$ac_configure_args1"*" '$ac_arg' "* ) continue ;;
+	    esac
+	    ;;
+	  -* ) ac_must_keep_next=true ;;
+	esac
+      fi
+      as_fn_append ac_configure_args " '$ac_arg'"
+      ;;
+    esac
+  done
+done
+{ ac_configure_args0=; unset ac_configure_args0;}
+{ ac_configure_args1=; unset ac_configure_args1;}
+
+# When interrupted or exit'd, cleanup temporary files, and complete
+# config.log.  We remove comments because anyway the quotes in there
+# would cause problems or look ugly.
+# WARNING: Use '\'' to represent an apostrophe within the trap.
+# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug.
+trap 'exit_status=$?
+  # Save into config.log some information that might help in debugging.
+  {
+    echo
+
+    $as_echo "## ---------------- ##
+## Cache variables. ##
+## ---------------- ##"
+    echo
+    # The following way of writing the cache mishandles newlines in values,
+(
+  for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do
+    eval ac_val=\$$ac_var
+    case $ac_val in #(
+    *${as_nl}*)
+      case $ac_var in #(
+      *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
+$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
+      esac
+      case $ac_var in #(
+      _ | IFS | as_nl) ;; #(
+      BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
+      *) { eval $ac_var=; unset $ac_var;} ;;
+      esac ;;
+    esac
+  done
+  (set) 2>&1 |
+    case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #(
+    *${as_nl}ac_space=\ *)
+      sed -n \
+	"s/'\''/'\''\\\\'\'''\''/g;
+	  s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p"
+      ;; #(
+    *)
+      sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
+      ;;
+    esac |
+    sort
+)
+    echo
+
+    $as_echo "## ----------------- ##
+## Output variables. ##
+## ----------------- ##"
+    echo
+    for ac_var in $ac_subst_vars
+    do
+      eval ac_val=\$$ac_var
+      case $ac_val in
+      *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
+      esac
+      $as_echo "$ac_var='\''$ac_val'\''"
+    done | sort
+    echo
+
+    if test -n "$ac_subst_files"; then
+      $as_echo "## ------------------- ##
+## File substitutions. ##
+## ------------------- ##"
+      echo
+      for ac_var in $ac_subst_files
+      do
+	eval ac_val=\$$ac_var
+	case $ac_val in
+	*\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
+	esac
+	$as_echo "$ac_var='\''$ac_val'\''"
+      done | sort
+      echo
+    fi
+
+    if test -s confdefs.h; then
+      $as_echo "## ----------- ##
+## confdefs.h. ##
+## ----------- ##"
+      echo
+      cat confdefs.h
+      echo
+    fi
+    test "$ac_signal" != 0 &&
+      $as_echo "$as_me: caught signal $ac_signal"
+    $as_echo "$as_me: exit $exit_status"
+  } >&5
+  rm -f core *.core core.conftest.* &&
+    rm -f -r conftest* confdefs* conf$$* $ac_clean_files &&
+    exit $exit_status
+' 0
+for ac_signal in 1 2 13 15; do
+  trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal
+done
+ac_signal=0
+
+# confdefs.h avoids OS command line length limits that DEFS can exceed.
+rm -f -r conftest* confdefs.h
+
+$as_echo "/* confdefs.h */" > confdefs.h
+
+# Predefined preprocessor variables.
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_NAME "$PACKAGE_NAME"
+_ACEOF
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_TARNAME "$PACKAGE_TARNAME"
+_ACEOF
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_VERSION "$PACKAGE_VERSION"
+_ACEOF
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_STRING "$PACKAGE_STRING"
+_ACEOF
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
+_ACEOF
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_URL "$PACKAGE_URL"
+_ACEOF
+
+
+# Let the site file select an alternate cache file if it wants to.
+# Prefer an explicitly selected file to automatically selected ones.
+ac_site_file1=NONE
+ac_site_file2=NONE
+if test -n "$CONFIG_SITE"; then
+  # We do not want a PATH search for config.site.
+  case $CONFIG_SITE in #((
+    -*)  ac_site_file1=./$CONFIG_SITE;;
+    */*) ac_site_file1=$CONFIG_SITE;;
+    *)   ac_site_file1=./$CONFIG_SITE;;
+  esac
+elif test "x$prefix" != xNONE; then
+  ac_site_file1=$prefix/share/config.site
+  ac_site_file2=$prefix/etc/config.site
+else
+  ac_site_file1=$ac_default_prefix/share/config.site
+  ac_site_file2=$ac_default_prefix/etc/config.site
+fi
+for ac_site_file in "$ac_site_file1" "$ac_site_file2"
+do
+  test "x$ac_site_file" = xNONE && continue
+  if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then
+    { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
+$as_echo "$as_me: loading site script $ac_site_file" >&6;}
+    sed 's/^/| /' "$ac_site_file" >&5
+    . "$ac_site_file" \
+      || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "failed to load site script $ac_site_file
+See \`config.log' for more details" "$LINENO" 5; }
+  fi
+done
+
+if test -r "$cache_file"; then
+  # Some versions of bash will fail to source /dev/null (special files
+  # actually), so we avoid doing that.  DJGPP emulates it as a regular file.
+  if test /dev/null != "$cache_file" && test -f "$cache_file"; then
+    { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5
+$as_echo "$as_me: loading cache $cache_file" >&6;}
+    case $cache_file in
+      [\\/]* | ?:[\\/]* ) . "$cache_file";;
+      *)                      . "./$cache_file";;
+    esac
+  fi
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5
+$as_echo "$as_me: creating cache $cache_file" >&6;}
+  >$cache_file
+fi
+
+# Check that the precious variables saved in the cache have kept the same
+# value.
+ac_cache_corrupted=false
+for ac_var in $ac_precious_vars; do
+  eval ac_old_set=\$ac_cv_env_${ac_var}_set
+  eval ac_new_set=\$ac_env_${ac_var}_set
+  eval ac_old_val=\$ac_cv_env_${ac_var}_value
+  eval ac_new_val=\$ac_env_${ac_var}_value
+  case $ac_old_set,$ac_new_set in
+    set,)
+      { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
+$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
+      ac_cache_corrupted=: ;;
+    ,set)
+      { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5
+$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
+      ac_cache_corrupted=: ;;
+    ,);;
+    *)
+      if test "x$ac_old_val" != "x$ac_new_val"; then
+	# differences in whitespace do not lead to failure.
+	ac_old_val_w=`echo x $ac_old_val`
+	ac_new_val_w=`echo x $ac_new_val`
+	if test "$ac_old_val_w" != "$ac_new_val_w"; then
+	  { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5
+$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
+	  ac_cache_corrupted=:
+	else
+	  { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5
+$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;}
+	  eval $ac_var=\$ac_old_val
+	fi
+	{ $as_echo "$as_me:${as_lineno-$LINENO}:   former value:  \`$ac_old_val'" >&5
+$as_echo "$as_me:   former value:  \`$ac_old_val'" >&2;}
+	{ $as_echo "$as_me:${as_lineno-$LINENO}:   current value: \`$ac_new_val'" >&5
+$as_echo "$as_me:   current value: \`$ac_new_val'" >&2;}
+      fi;;
+  esac
+  # Pass precious variables to config.status.
+  if test "$ac_new_set" = set; then
+    case $ac_new_val in
+    *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
+    *) ac_arg=$ac_var=$ac_new_val ;;
+    esac
+    case " $ac_configure_args " in
+      *" '$ac_arg' "*) ;; # Avoid dups.  Use of quotes ensures accuracy.
+      *) as_fn_append ac_configure_args " '$ac_arg'" ;;
+    esac
+  fi
+done
+if $ac_cache_corrupted; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+  { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5
+$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
+  as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
+fi
+## -------------------- ##
+## Main body of script. ##
+## -------------------- ##
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+
+
+ac_aux_dir=
+for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do
+  if test -f "$ac_dir/install-sh"; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/install-sh -c"
+    break
+  elif test -f "$ac_dir/install.sh"; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/install.sh -c"
+    break
+  elif test -f "$ac_dir/shtool"; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/shtool install -c"
+    break
+  fi
+done
+if test -z "$ac_aux_dir"; then
+  as_fn_error $? "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5
+fi
+
+# These three variables are undocumented and unsupported,
+# and are intended to be withdrawn in a future Autoconf release.
+# They can cause serious problems if a builder's source tree is in a directory
+# whose full name contains unusual characters.
+ac_config_guess="$SHELL $ac_aux_dir/config.guess"  # Please don't use this var.
+ac_config_sub="$SHELL $ac_aux_dir/config.sub"  # Please don't use this var.
+ac_configure="$SHELL $ac_aux_dir/configure"  # Please don't use this var.
+
+
+# Make sure we can run config.sub.
+$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
+  as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5
+$as_echo_n "checking build system type... " >&6; }
+if ${ac_cv_build+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_build_alias=$build_alias
+test "x$ac_build_alias" = x &&
+  ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
+test "x$ac_build_alias" = x &&
+  as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5
+ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
+  as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5
+$as_echo "$ac_cv_build" >&6; }
+case $ac_cv_build in
+*-*-*) ;;
+*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;;
+esac
+build=$ac_cv_build
+ac_save_IFS=$IFS; IFS='-'
+set x $ac_cv_build
+shift
+build_cpu=$1
+build_vendor=$2
+shift; shift
+# Remember, the first character of IFS is used to create $*,
+# except with old shells:
+build_os=$*
+IFS=$ac_save_IFS
+case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5
+$as_echo_n "checking host system type... " >&6; }
+if ${ac_cv_host+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test "x$host_alias" = x; then
+  ac_cv_host=$ac_cv_build
+else
+  ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
+    as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5
+$as_echo "$ac_cv_host" >&6; }
+case $ac_cv_host in
+*-*-*) ;;
+*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;;
+esac
+host=$ac_cv_host
+ac_save_IFS=$IFS; IFS='-'
+set x $ac_cv_host
+shift
+host_cpu=$1
+host_vendor=$2
+shift; shift
+# Remember, the first character of IFS is used to create $*,
+# except with old shells:
+host_os=$*
+IFS=$ac_save_IFS
+case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
+
+
+am__api_version='1.14'
+
+# Find a good install program.  We prefer a C program (faster),
+# so one script is as good as another.  But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# AmigaOS /C/install, which installs bootblocks on floppy discs
+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# OS/2's system install, which has a completely different semantic
+# ./install, which can be erroneously created by make from ./install.sh.
+# Reject install programs that cannot install multiple files.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5
+$as_echo_n "checking for a BSD-compatible install... " >&6; }
+if test -z "$INSTALL"; then
+if ${ac_cv_path_install+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    # Account for people who put trailing slashes in PATH elements.
+case $as_dir/ in #((
+  ./ | .// | /[cC]/* | \
+  /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
+  ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \
+  /usr/ucb/* ) ;;
+  *)
+    # OSF1 and SCO ODT 3.0 have their own names for install.
+    # Don't use installbsd from OSF since it installs stuff as root
+    # by default.
+    for ac_prog in ginstall scoinst install; do
+      for ac_exec_ext in '' $ac_executable_extensions; do
+	if as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then
+	  if test $ac_prog = install &&
+	    grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
+	    # AIX install.  It has an incompatible calling convention.
+	    :
+	  elif test $ac_prog = install &&
+	    grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
+	    # program-specific install script used by HP pwplus--don't use.
+	    :
+	  else
+	    rm -rf conftest.one conftest.two conftest.dir
+	    echo one > conftest.one
+	    echo two > conftest.two
+	    mkdir conftest.dir
+	    if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" &&
+	      test -s conftest.one && test -s conftest.two &&
+	      test -s conftest.dir/conftest.one &&
+	      test -s conftest.dir/conftest.two
+	    then
+	      ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
+	      break 3
+	    fi
+	  fi
+	fi
+      done
+    done
+    ;;
+esac
+
+  done
+IFS=$as_save_IFS
+
+rm -rf conftest.one conftest.two conftest.dir
+
+fi
+  if test "${ac_cv_path_install+set}" = set; then
+    INSTALL=$ac_cv_path_install
+  else
+    # As a last resort, use the slow shell script.  Don't cache a
+    # value for INSTALL within a source directory, because that will
+    # break other packages using the cache if that directory is
+    # removed, or if the value is a relative name.
+    INSTALL=$ac_install_sh
+  fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5
+$as_echo "$INSTALL" >&6; }
+
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5
+$as_echo_n "checking whether build environment is sane... " >&6; }
+# Reject unsafe characters in $srcdir or the absolute working directory
+# name.  Accept space and tab only in the latter.
+am_lf='
+'
+case `pwd` in
+  *[\\\"\#\$\&\'\`$am_lf]*)
+    as_fn_error $? "unsafe absolute working directory name" "$LINENO" 5;;
+esac
+case $srcdir in
+  *[\\\"\#\$\&\'\`$am_lf\ \	]*)
+    as_fn_error $? "unsafe srcdir value: '$srcdir'" "$LINENO" 5;;
+esac
+
+# Do 'set' in a subshell so we don't clobber the current shell's
+# arguments.  Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+   am_has_slept=no
+   for am_try in 1 2; do
+     echo "timestamp, slept: $am_has_slept" > conftest.file
+     set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
+     if test "$*" = "X"; then
+	# -L didn't work.
+	set X `ls -t "$srcdir/configure" conftest.file`
+     fi
+     if test "$*" != "X $srcdir/configure conftest.file" \
+	&& test "$*" != "X conftest.file $srcdir/configure"; then
+
+	# If neither matched, then we have a broken ls.  This can happen
+	# if, for instance, CONFIG_SHELL is bash and it inherits a
+	# broken ls alias from the environment.  This has actually
+	# happened.  Such a system could not be considered "sane".
+	as_fn_error $? "ls -t appears to fail.  Make sure there is not a broken
+  alias in your environment" "$LINENO" 5
+     fi
+     if test "$2" = conftest.file || test $am_try -eq 2; then
+       break
+     fi
+     # Just in case.
+     sleep 1
+     am_has_slept=yes
+   done
+   test "$2" = conftest.file
+   )
+then
+   # Ok.
+   :
+else
+   as_fn_error $? "newly created file is older than distributed files!
+Check your system clock" "$LINENO" 5
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+# If we didn't sleep, we still need to ensure time stamps of config.status and
+# generated files are strictly newer.
+am_sleep_pid=
+if grep 'slept: no' conftest.file >/dev/null 2>&1; then
+  ( sleep 1 ) &
+  am_sleep_pid=$!
+fi
+
+rm -f conftest.file
+
+test "$program_prefix" != NONE &&
+  program_transform_name="s&^&$program_prefix&;$program_transform_name"
+# Use a double $ so make ignores it.
+test "$program_suffix" != NONE &&
+  program_transform_name="s&\$&$program_suffix&;$program_transform_name"
+# Double any \ or $.
+# By default was `s,x,x', remove it if useless.
+ac_script='s/[\\$]/&&/g;s/;s,x,x,$//'
+program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"`
+
+# expand $ac_aux_dir to an absolute path
+am_aux_dir=`cd $ac_aux_dir && pwd`
+
+if test x"${MISSING+set}" != xset; then
+  case $am_aux_dir in
+  *\ * | *\	*)
+    MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
+  *)
+    MISSING="\${SHELL} $am_aux_dir/missing" ;;
+  esac
+fi
+# Use eval to expand $SHELL
+if eval "$MISSING --is-lightweight"; then
+  am_missing_run="$MISSING "
+else
+  am_missing_run=
+  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: 'missing' script is too old or missing" >&5
+$as_echo "$as_me: WARNING: 'missing' script is too old or missing" >&2;}
+fi
+
+if test x"${install_sh}" != xset; then
+  case $am_aux_dir in
+  *\ * | *\	*)
+    install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
+  *)
+    install_sh="\${SHELL} $am_aux_dir/install-sh"
+  esac
+fi
+
+# Installed binaries are usually stripped using 'strip' when the user
+# run "make install-strip".  However 'strip' might not be the right
+# tool to use in cross-compilation environments, therefore Automake
+# will honor the 'STRIP' environment variable to overrule this program.
+if test "$cross_compiling" != no; then
+  if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
+set dummy ${ac_tool_prefix}strip; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_STRIP+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$STRIP"; then
+  ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_STRIP="${ac_tool_prefix}strip"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+STRIP=$ac_cv_prog_STRIP
+if test -n "$STRIP"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5
+$as_echo "$STRIP" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_STRIP"; then
+  ac_ct_STRIP=$STRIP
+  # Extract the first word of "strip", so it can be a program name with args.
+set dummy strip; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_STRIP+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$ac_ct_STRIP"; then
+  ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_ac_ct_STRIP="strip"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
+if test -n "$ac_ct_STRIP"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5
+$as_echo "$ac_ct_STRIP" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+  if test "x$ac_ct_STRIP" = x; then
+    STRIP=":"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    STRIP=$ac_ct_STRIP
+  fi
+else
+  STRIP="$ac_cv_prog_STRIP"
+fi
+
+fi
+INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a thread-safe mkdir -p" >&5
+$as_echo_n "checking for a thread-safe mkdir -p... " >&6; }
+if test -z "$MKDIR_P"; then
+  if ${ac_cv_path_mkdir+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_prog in mkdir gmkdir; do
+	 for ac_exec_ext in '' $ac_executable_extensions; do
+	   as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext" || continue
+	   case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #(
+	     'mkdir (GNU coreutils) '* | \
+	     'mkdir (coreutils) '* | \
+	     'mkdir (fileutils) '4.1*)
+	       ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext
+	       break 3;;
+	   esac
+	 done
+       done
+  done
+IFS=$as_save_IFS
+
+fi
+
+  test -d ./--version && rmdir ./--version
+  if test "${ac_cv_path_mkdir+set}" = set; then
+    MKDIR_P="$ac_cv_path_mkdir -p"
+  else
+    # As a last resort, use the slow shell script.  Don't cache a
+    # value for MKDIR_P within a source directory, because that will
+    # break other packages using the cache if that directory is
+    # removed, or if the value is a relative name.
+    MKDIR_P="$ac_install_sh -d"
+  fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5
+$as_echo "$MKDIR_P" >&6; }
+
+for ac_prog in gawk mawk nawk awk
+do
+  # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_AWK+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$AWK"; then
+  ac_cv_prog_AWK="$AWK" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_AWK="$ac_prog"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+AWK=$ac_cv_prog_AWK
+if test -n "$AWK"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5
+$as_echo "$AWK" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+  test -n "$AWK" && break
+done
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5
+$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
+set x ${MAKE-make}
+ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
+if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat >conftest.make <<\_ACEOF
+SHELL = /bin/sh
+all:
+	@echo '@@@%%%=$(MAKE)=@@@%%%'
+_ACEOF
+# GNU make sometimes prints "make[1]: Entering ...", which would confuse us.
+case `${MAKE-make} -f conftest.make 2>/dev/null` in
+  *@@@%%%=?*=@@@%%%*)
+    eval ac_cv_prog_make_${ac_make}_set=yes;;
+  *)
+    eval ac_cv_prog_make_${ac_make}_set=no;;
+esac
+rm -f conftest.make
+fi
+if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+  SET_MAKE=
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+  SET_MAKE="MAKE=${MAKE-make}"
+fi
+
+rm -rf .tst 2>/dev/null
+mkdir .tst 2>/dev/null
+if test -d .tst; then
+  am__leading_dot=.
+else
+  am__leading_dot=_
+fi
+rmdir .tst 2>/dev/null
+
+# Check whether --enable-silent-rules was given.
+if test "${enable_silent_rules+set}" = set; then :
+  enableval=$enable_silent_rules;
+fi
+
+case $enable_silent_rules in # (((
+  yes) AM_DEFAULT_VERBOSITY=0;;
+   no) AM_DEFAULT_VERBOSITY=1;;
+    *) AM_DEFAULT_VERBOSITY=1;;
+esac
+am_make=${MAKE-make}
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5
+$as_echo_n "checking whether $am_make supports nested variables... " >&6; }
+if ${am_cv_make_support_nested_variables+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if $as_echo 'TRUE=$(BAR$(V))
+BAR0=false
+BAR1=true
+V=1
+am__doit:
+	@$(TRUE)
+.PHONY: am__doit' | $am_make -f - >/dev/null 2>&1; then
+  am_cv_make_support_nested_variables=yes
+else
+  am_cv_make_support_nested_variables=no
+fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5
+$as_echo "$am_cv_make_support_nested_variables" >&6; }
+if test $am_cv_make_support_nested_variables = yes; then
+    AM_V='$(V)'
+  AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)'
+else
+  AM_V=$AM_DEFAULT_VERBOSITY
+  AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY
+fi
+AM_BACKSLASH='\'
+
+if test "`cd $srcdir && pwd`" != "`pwd`"; then
+  # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
+  # is not polluted with repeated "-I."
+  am__isrc=' -I$(srcdir)'
+  # test to see if srcdir already configured
+  if test -f $srcdir/config.status; then
+    as_fn_error $? "source directory already configured; run \"make distclean\" there first" "$LINENO" 5
+  fi
+fi
+
+# test whether we have cygpath
+if test -z "$CYGPATH_W"; then
+  if (cygpath --version) >/dev/null 2>/dev/null; then
+    CYGPATH_W='cygpath -w'
+  else
+    CYGPATH_W=echo
+  fi
+fi
+
+
+# Define the identity of the package.
+ PACKAGE='libsodium'
+ VERSION='0.4.3'
+
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE "$PACKAGE"
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define VERSION "$VERSION"
+_ACEOF
+
+# Some tools Automake needs.
+
+ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"}
+
+
+AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"}
+
+
+AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"}
+
+
+AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"}
+
+
+MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
+
+# For better backward compatibility.  To be removed once Automake 1.9.x
+# dies out for good.  For more background, see:
+# <http://lists.gnu.org/archive/html/automake/2012-07/msg00001.html>
+# <http://lists.gnu.org/archive/html/automake/2012-07/msg00014.html>
+mkdir_p='$(MKDIR_P)'
+
+# We need awk for the "check" target.  The system "awk" is bad on
+# some platforms.
+# Always define AMTAR for backward compatibility.  Yes, it's still used
+# in the wild :-(  We should find a proper way to deprecate it ...
+AMTAR='$${TAR-tar}'
+
+
+# We'll loop over all known methods to create a tar archive until one works.
+_am_tools='gnutar plaintar pax cpio none'
+
+# The POSIX 1988 'ustar' format is defined with fixed-size fields.
+      # There is notably a 21 bits limit for the UID and the GID.  In fact,
+      # the 'pax' utility can hang on bigger UID/GID (see automake bug#8343
+      # and bug#13588).
+      am_max_uid=2097151 # 2^21 - 1
+      am_max_gid=$am_max_uid
+      # The $UID and $GID variables are not portable, so we need to resort
+      # to the POSIX-mandated id(1) utility.  Errors in the 'id' calls
+      # below are definitely unexpected, so allow the users to see them
+      # (that is, avoid stderr redirection).
+      am_uid=`id -u || echo unknown`
+      am_gid=`id -g || echo unknown`
+      { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether UID '$am_uid' is supported by ustar format" >&5
+$as_echo_n "checking whether UID '$am_uid' is supported by ustar format... " >&6; }
+      if test $am_uid -le $am_max_uid; then
+         { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+      else
+         { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+         _am_tools=none
+      fi
+      { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether GID '$am_gid' is supported by ustar format" >&5
+$as_echo_n "checking whether GID '$am_gid' is supported by ustar format... " >&6; }
+      if test $am_gid -le $am_max_gid; then
+         { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+      else
+        { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+        _am_tools=none
+      fi
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to create a ustar tar archive" >&5
+$as_echo_n "checking how to create a ustar tar archive... " >&6; }
+
+  # Go ahead even if we have the value already cached.  We do so because we
+  # need to set the values for the 'am__tar' and 'am__untar' variables.
+  _am_tools=${am_cv_prog_tar_ustar-$_am_tools}
+
+  for _am_tool in $_am_tools; do
+    case $_am_tool in
+    gnutar)
+      for _am_tar in tar gnutar gtar; do
+        { echo "$as_me:$LINENO: $_am_tar --version" >&5
+   ($_am_tar --version) >&5 2>&5
+   ac_status=$?
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   (exit $ac_status); } && break
+      done
+      am__tar="$_am_tar --format=ustar -chf - "'"$$tardir"'
+      am__tar_="$_am_tar --format=ustar -chf - "'"$tardir"'
+      am__untar="$_am_tar -xf -"
+      ;;
+    plaintar)
+      # Must skip GNU tar: if it does not support --format= it doesn't create
+      # ustar tarball either.
+      (tar --version) >/dev/null 2>&1 && continue
+      am__tar='tar chf - "$$tardir"'
+      am__tar_='tar chf - "$tardir"'
+      am__untar='tar xf -'
+      ;;
+    pax)
+      am__tar='pax -L -x ustar -w "$$tardir"'
+      am__tar_='pax -L -x ustar -w "$tardir"'
+      am__untar='pax -r'
+      ;;
+    cpio)
+      am__tar='find "$$tardir" -print | cpio -o -H ustar -L'
+      am__tar_='find "$tardir" -print | cpio -o -H ustar -L'
+      am__untar='cpio -i -H ustar -d'
+      ;;
+    none)
+      am__tar=false
+      am__tar_=false
+      am__untar=false
+      ;;
+    esac
+
+    # If the value was cached, stop now.  We just wanted to have am__tar
+    # and am__untar set.
+    test -n "${am_cv_prog_tar_ustar}" && break
+
+    # tar/untar a dummy directory, and stop if the command works.
+    rm -rf conftest.dir
+    mkdir conftest.dir
+    echo GrepMe > conftest.dir/file
+    { echo "$as_me:$LINENO: tardir=conftest.dir && eval $am__tar_ >conftest.tar" >&5
+   (tardir=conftest.dir && eval $am__tar_ >conftest.tar) >&5 2>&5
+   ac_status=$?
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   (exit $ac_status); }
+    rm -rf conftest.dir
+    if test -s conftest.tar; then
+      { echo "$as_me:$LINENO: $am__untar <conftest.tar" >&5
+   ($am__untar <conftest.tar) >&5 2>&5
+   ac_status=$?
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   (exit $ac_status); }
+      { echo "$as_me:$LINENO: cat conftest.dir/file" >&5
+   (cat conftest.dir/file) >&5 2>&5
+   ac_status=$?
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   (exit $ac_status); }
+      grep GrepMe conftest.dir/file >/dev/null 2>&1 && break
+    fi
+  done
+  rm -rf conftest.dir
+
+  if ${am_cv_prog_tar_ustar+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  am_cv_prog_tar_ustar=$_am_tool
+fi
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_tar_ustar" >&5
+$as_echo "$am_cv_prog_tar_ustar" >&6; }
+
+
+
+
+
+
+# POSIX will say in a future version that running "rm -f" with no argument
+# is OK; and we want to be able to make that assumption in our Makefile
+# recipes.  So use an aggressive probe to check that the usage we want is
+# actually supported "in the wild" to an acceptable degree.
+# See automake bug#10828.
+# To make any issue more visible, cause the running configure to be aborted
+# by default if the 'rm' program in use doesn't match our expectations; the
+# user can still override this though.
+if rm -f && rm -fr && rm -rf; then : OK; else
+  cat >&2 <<'END'
+Oops!
+
+Your 'rm' program seems unable to run without file operands specified
+on the command line, even when the '-f' option is present.  This is contrary
+to the behaviour of most rm programs out there, and not conforming with
+the upcoming POSIX standard: <http://austingroupbugs.net/view.php?id=542>
+
+Please tell bug-automake@gnu.org about your system, including the value
+of your $PATH and any error possibly output before this message.  This
+can help us improve future automake versions.
+
+END
+  if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then
+    echo 'Configuration will proceed anyway, since you have set the' >&2
+    echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2
+    echo >&2
+  else
+    cat >&2 <<'END'
+Aborting the configuration process, to ensure you take notice of the issue.
+
+You can download and install GNU coreutils to get an 'rm' implementation
+that behaves properly: <http://www.gnu.org/software/coreutils/>.
+
+If you want to complete the configuration process using your problematic
+'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM
+to "yes", and re-run configure.
+
+END
+    as_fn_error $? "Your 'rm' program is bad, sorry." "$LINENO" 5
+  fi
+fi
+# Check whether --enable-silent-rules was given.
+if test "${enable_silent_rules+set}" = set; then :
+  enableval=$enable_silent_rules;
+fi
+
+case $enable_silent_rules in # (((
+  yes) AM_DEFAULT_VERBOSITY=0;;
+   no) AM_DEFAULT_VERBOSITY=1;;
+    *) AM_DEFAULT_VERBOSITY=0;;
+esac
+am_make=${MAKE-make}
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5
+$as_echo_n "checking whether $am_make supports nested variables... " >&6; }
+if ${am_cv_make_support_nested_variables+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if $as_echo 'TRUE=$(BAR$(V))
+BAR0=false
+BAR1=true
+V=1
+am__doit:
+	@$(TRUE)
+.PHONY: am__doit' | $am_make -f - >/dev/null 2>&1; then
+  am_cv_make_support_nested_variables=yes
+else
+  am_cv_make_support_nested_variables=no
+fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5
+$as_echo "$am_cv_make_support_nested_variables" >&6; }
+if test $am_cv_make_support_nested_variables = yes; then
+    AM_V='$(V)'
+  AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)'
+else
+  AM_V=$AM_DEFAULT_VERBOSITY
+  AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY
+fi
+AM_BACKSLASH='\'
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable maintainer-specific portions of Makefiles" >&5
+$as_echo_n "checking whether to enable maintainer-specific portions of Makefiles... " >&6; }
+    # Check whether --enable-maintainer-mode was given.
+if test "${enable_maintainer_mode+set}" = set; then :
+  enableval=$enable_maintainer_mode; USE_MAINTAINER_MODE=$enableval
+else
+  USE_MAINTAINER_MODE=no
+fi
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_MAINTAINER_MODE" >&5
+$as_echo "$USE_MAINTAINER_MODE" >&6; }
+   if test $USE_MAINTAINER_MODE = yes; then
+  MAINTAINER_MODE_TRUE=
+  MAINTAINER_MODE_FALSE='#'
+else
+  MAINTAINER_MODE_TRUE='#'
+  MAINTAINER_MODE_FALSE=
+fi
+
+  MAINT=$MAINTAINER_MODE_TRUE
+
+
+# Check whether --enable-dependency-tracking was given.
+if test "${enable_dependency_tracking+set}" = set; then :
+  enableval=$enable_dependency_tracking;
+fi
+
+if test "x$enable_dependency_tracking" != xno; then
+  am_depcomp="$ac_aux_dir/depcomp"
+  AMDEPBACKSLASH='\'
+  am__nodep='_no'
+fi
+ if test "x$enable_dependency_tracking" != xno; then
+  AMDEP_TRUE=
+  AMDEP_FALSE='#'
+else
+  AMDEP_TRUE='#'
+  AMDEP_FALSE=
+fi
+
+
+
+
+ISODATE=`date +%Y-%m-%d`
+
+
+SODIUM_LIBRARY_VERSION_MAJOR=4
+SODIUM_LIBRARY_VERSION_MINOR=3
+DLL_VERSION=4
+SODIUM_LIBRARY_VERSION=7:0:3
+#                      | | |
+#               +------+ | +---+
+#               |        |     |
+#            current:revision:age
+#               |        |     |
+#               |        |     +- increment if interfaces have been added
+#               |        |        set to zero if interfaces have been removed
+#               |        |        or changed
+#               |        +- increment if source code has changed
+#               |           set to zero if current is incremented
+#               +- increment if interfaces have been added, removed or changed
+
+
+
+
+
+LX_CFLAGS=${CFLAGS-NONE}
+
+
+# Check whether --enable-ssp was given.
+if test "${enable_ssp+set}" = set; then :
+  enableval=$enable_ssp;
+  if test "x$enableval" = "xno"; then :
+
+    enable_ssp="no"
+
+else
+
+    enable_ssp="yes"
+
+fi
+
+else
+
+  enable_ssp="yes"
+
+fi
+
+
+# Check whether --enable-asm was given.
+if test "${enable_asm+set}" = set; then :
+  enableval=$enable_asm;
+  if test "x$enableval" = "xno"; then :
+
+    enable_asm="no"
+
+else
+
+    enable_asm="yes"
+
+fi
+
+else
+
+  enable_asm="yes"
+
+fi
+
+
+if test "x$EMSCRIPTEN" != "x"; then :
+
+  enable_asm="no"
+  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: compiling to javascript - asm implementations disabled" >&5
+$as_echo "$as_me: WARNING: compiling to javascript - asm implementations disabled" >&2;}
+
+fi
+
+case $host in #(
+  x86_64-*-mingw* | x86_64-*-cygwin*) :
+    enable_asm="no" ;; #(
+  *) :
+     ;;
+esac
+
+# Check whether --enable-pie was given.
+if test "${enable_pie+set}" = set; then :
+  enableval=$enable_pie; enable_pie=$enableval
+else
+  enable_pie="maybe"
+fi
+
+
+case $host_os in #(
+  mingw*) :
+    enable_pie="no" ;; #(
+  *) :
+     ;;
+esac
+
+# Check whether --enable-blocking-random was given.
+if test "${enable_blocking_random+set}" = set; then :
+  enableval=$enable_blocking_random;
+  if test "x$enableval" = "xyes"; then :
+
+
+$as_echo "#define USE_BLOCKING_RANDOM 1" >>confdefs.h
+
+
+fi
+
+fi
+
+
+
+# Check whether --with-safecode was given.
+if test "${with_safecode+set}" = set; then :
+  withval=$with_safecode; if test "x$withval" = "xyes"; then :
+
+
+    : ${SAFECODE_HOME:=/opt/safecode}
+    LDFLAGS="$LDFLAGS -L${SAFECODE_HOME}/lib"
+    LIBS="$LIBS -lsc_dbg_rt -lpoolalloc_bitmap -lstdc++"
+    CFLAGS="$CFLAGS -fmemsafety"
+
+fi
+
+fi
+
+
+# Check whether --enable-debug was given.
+if test "${enable_debug+set}" = set; then :
+  enableval=$enable_debug;
+  if test "x$enableval" = "xyes"; then :
+
+    if test "x$LX_CFLAGS" = "xNONE"; then :
+
+      nxflags=""
+      for flag in `echo $CFLAGS`; do
+        case $flag in #(
+  -O*) :
+      ;; #(
+  -g*) :
+      ;; #(
+  *) :
+    as_fn_append nxflags " $flag" ;; #(
+  *) :
+     ;;
+esac
+      done
+      CFLAGS="$nxflags -O0 -g3"
+
+fi
+    CPPFLAGS="$CPPFLAGS -DDEBUG=1"
+
+fi
+
+fi
+
+
+
+
+
+
+
+
+
+
+
+
+if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
+	if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args.
+set dummy ${ac_tool_prefix}pkg-config; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_path_PKG_CONFIG+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  case $PKG_CONFIG in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+  ;;
+esac
+fi
+PKG_CONFIG=$ac_cv_path_PKG_CONFIG
+if test -n "$PKG_CONFIG"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5
+$as_echo "$PKG_CONFIG" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_path_PKG_CONFIG"; then
+  ac_pt_PKG_CONFIG=$PKG_CONFIG
+  # Extract the first word of "pkg-config", so it can be a program name with args.
+set dummy pkg-config; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_path_ac_pt_PKG_CONFIG+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  case $ac_pt_PKG_CONFIG in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_ac_pt_PKG_CONFIG="$ac_pt_PKG_CONFIG" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_path_ac_pt_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+  ;;
+esac
+fi
+ac_pt_PKG_CONFIG=$ac_cv_path_ac_pt_PKG_CONFIG
+if test -n "$ac_pt_PKG_CONFIG"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_pt_PKG_CONFIG" >&5
+$as_echo "$ac_pt_PKG_CONFIG" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+  if test "x$ac_pt_PKG_CONFIG" = x; then
+    PKG_CONFIG=""
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    PKG_CONFIG=$ac_pt_PKG_CONFIG
+  fi
+else
+  PKG_CONFIG="$ac_cv_path_PKG_CONFIG"
+fi
+
+fi
+if test -n "$PKG_CONFIG"; then
+	_pkg_min_version=0.25
+	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking pkg-config is at least version $_pkg_min_version" >&5
+$as_echo_n "checking pkg-config is at least version $_pkg_min_version... " >&6; }
+	if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then
+		{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+	else
+		{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+		PKG_CONFIG=""
+	fi
+fi
+ if test "x$PKG_CONFIG" != "x"; then
+  HAVE_PKG_CONFIG_TRUE=
+  HAVE_PKG_CONFIG_FALSE='#'
+else
+  HAVE_PKG_CONFIG_TRUE='#'
+  HAVE_PKG_CONFIG_FALSE=
+fi
+
+
+
+DEPDIR="${am__leading_dot}deps"
+
+ac_config_commands="$ac_config_commands depfiles"
+
+
+am_make=${MAKE-make}
+cat > confinc << 'END'
+am__doit:
+	@echo this is the am__doit target
+.PHONY: am__doit
+END
+# If we don't find an include directive, just comment out the code.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for style of include used by $am_make" >&5
+$as_echo_n "checking for style of include used by $am_make... " >&6; }
+am__include="#"
+am__quote=
+_am_result=none
+# First try GNU make style include.
+echo "include confinc" > confmf
+# Ignore all kinds of additional output from 'make'.
+case `$am_make -s -f confmf 2> /dev/null` in #(
+*the\ am__doit\ target*)
+  am__include=include
+  am__quote=
+  _am_result=GNU
+  ;;
+esac
+# Now try BSD make style include.
+if test "$am__include" = "#"; then
+   echo '.include "confinc"' > confmf
+   case `$am_make -s -f confmf 2> /dev/null` in #(
+   *the\ am__doit\ target*)
+     am__include=.include
+     am__quote="\""
+     _am_result=BSD
+     ;;
+   esac
+fi
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $_am_result" >&5
+$as_echo "$_am_result" >&6; }
+rm -f confinc confmf
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
+set dummy ${ac_tool_prefix}gcc; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_CC+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$CC"; then
+  ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_CC="${ac_tool_prefix}gcc"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+$as_echo "$CC" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_CC"; then
+  ac_ct_CC=$CC
+  # Extract the first word of "gcc", so it can be a program name with args.
+set dummy gcc; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_CC+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$ac_ct_CC"; then
+  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_ac_ct_CC="gcc"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_CC=$ac_cv_prog_ac_ct_CC
+if test -n "$ac_ct_CC"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
+$as_echo "$ac_ct_CC" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+  if test "x$ac_ct_CC" = x; then
+    CC=""
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    CC=$ac_ct_CC
+  fi
+else
+  CC="$ac_cv_prog_CC"
+fi
+
+if test -z "$CC"; then
+          if test -n "$ac_tool_prefix"; then
+    # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
+set dummy ${ac_tool_prefix}cc; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_CC+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$CC"; then
+  ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_CC="${ac_tool_prefix}cc"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+$as_echo "$CC" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+  fi
+fi
+if test -z "$CC"; then
+  # Extract the first word of "cc", so it can be a program name with args.
+set dummy cc; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_CC+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$CC"; then
+  ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+  ac_prog_rejected=no
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
+       ac_prog_rejected=yes
+       continue
+     fi
+    ac_cv_prog_CC="cc"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+if test $ac_prog_rejected = yes; then
+  # We found a bogon in the path, so make sure we never use it.
+  set dummy $ac_cv_prog_CC
+  shift
+  if test $# != 0; then
+    # We chose a different compiler from the bogus one.
+    # However, it has the same basename, so the bogon will be chosen
+    # first if we set CC to just the basename; use the full file name.
+    shift
+    ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@"
+  fi
+fi
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+$as_echo "$CC" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$CC"; then
+  if test -n "$ac_tool_prefix"; then
+  for ac_prog in cl.exe
+  do
+    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
+set dummy $ac_tool_prefix$ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_CC+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$CC"; then
+  ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+$as_echo "$CC" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+    test -n "$CC" && break
+  done
+fi
+if test -z "$CC"; then
+  ac_ct_CC=$CC
+  for ac_prog in cl.exe
+do
+  # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_CC+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$ac_ct_CC"; then
+  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_ac_ct_CC="$ac_prog"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_CC=$ac_cv_prog_ac_ct_CC
+if test -n "$ac_ct_CC"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
+$as_echo "$ac_ct_CC" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+  test -n "$ac_ct_CC" && break
+done
+
+  if test "x$ac_ct_CC" = x; then
+    CC=""
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    CC=$ac_ct_CC
+  fi
+fi
+
+fi
+
+
+test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "no acceptable C compiler found in \$PATH
+See \`config.log' for more details" "$LINENO" 5; }
+
+# Provide some information about the compiler.
+$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
+set X $ac_compile
+ac_compiler=$2
+for ac_option in --version -v -V -qversion; do
+  { { ac_try="$ac_compiler $ac_option >&5"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_compiler $ac_option >&5") 2>conftest.err
+  ac_status=$?
+  if test -s conftest.err; then
+    sed '10a\
+... rest of stderr output deleted ...
+         10q' conftest.err >conftest.er1
+    cat conftest.er1 >&5
+  fi
+  rm -f conftest.er1 conftest.err
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+done
+
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+ac_clean_files_save=$ac_clean_files
+ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out"
+# Try to create an executable without -o first, disregard a.out.
+# It will help us diagnose broken compilers, and finding out an intuition
+# of exeext.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
+$as_echo_n "checking whether the C compiler works... " >&6; }
+ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
+
+# The possible output files:
+ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*"
+
+ac_rmfiles=
+for ac_file in $ac_files
+do
+  case $ac_file in
+    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
+    * ) ac_rmfiles="$ac_rmfiles $ac_file";;
+  esac
+done
+rm -f $ac_rmfiles
+
+if { { ac_try="$ac_link_default"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_link_default") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then :
+  # Autoconf-2.13 could set the ac_cv_exeext variable to `no'.
+# So ignore a value of `no', otherwise this would lead to `EXEEXT = no'
+# in a Makefile.  We should not override ac_cv_exeext if it was cached,
+# so that the user can short-circuit this test for compilers unknown to
+# Autoconf.
+for ac_file in $ac_files ''
+do
+  test -f "$ac_file" || continue
+  case $ac_file in
+    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj )
+	;;
+    [ab].out )
+	# We found the default executable, but exeext='' is most
+	# certainly right.
+	break;;
+    *.* )
+	if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no;
+	then :; else
+	   ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
+	fi
+	# We set ac_cv_exeext here because the later test for it is not
+	# safe: cross compilers may not add the suffix if given an `-o'
+	# argument, so we may need to know it at that point already.
+	# Even if this section looks crufty: it has the advantage of
+	# actually working.
+	break;;
+    * )
+	break;;
+  esac
+done
+test "$ac_cv_exeext" = no && ac_cv_exeext=
+
+else
+  ac_file=''
+fi
+if test -z "$ac_file"; then :
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+$as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error 77 "C compiler cannot create executables
+See \`config.log' for more details" "$LINENO" 5; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
+$as_echo_n "checking for C compiler default output file name... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
+$as_echo "$ac_file" >&6; }
+ac_exeext=$ac_cv_exeext
+
+rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out
+ac_clean_files=$ac_clean_files_save
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5
+$as_echo_n "checking for suffix of executables... " >&6; }
+if { { ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_link") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then :
+  # If both `conftest.exe' and `conftest' are `present' (well, observable)
+# catch `conftest.exe'.  For instance with Cygwin, `ls conftest' will
+# work properly (i.e., refer to `conftest.exe'), while it won't with
+# `rm'.
+for ac_file in conftest.exe conftest conftest.*; do
+  test -f "$ac_file" || continue
+  case $ac_file in
+    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
+    *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
+	  break;;
+    * ) break;;
+  esac
+done
+else
+  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "cannot compute suffix of executables: cannot compile and link
+See \`config.log' for more details" "$LINENO" 5; }
+fi
+rm -f conftest conftest$ac_cv_exeext
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
+$as_echo "$ac_cv_exeext" >&6; }
+
+rm -f conftest.$ac_ext
+EXEEXT=$ac_cv_exeext
+ac_exeext=$EXEEXT
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdio.h>
+int
+main ()
+{
+FILE *f = fopen ("conftest.out", "w");
+ return ferror (f) || fclose (f) != 0;
+
+  ;
+  return 0;
+}
+_ACEOF
+ac_clean_files="$ac_clean_files conftest.out"
+# Check that the compiler produces executables we can run.  If not, either
+# the compiler is broken, or we cross compile.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
+$as_echo_n "checking whether we are cross compiling... " >&6; }
+if test "$cross_compiling" != yes; then
+  { { ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_link") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+  if { ac_try='./conftest$ac_cv_exeext'
+  { { case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; }; then
+    cross_compiling=no
+  else
+    if test "$cross_compiling" = maybe; then
+	cross_compiling=yes
+    else
+	{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "cannot run C compiled programs.
+If you meant to cross compile, use \`--host'.
+See \`config.log' for more details" "$LINENO" 5; }
+    fi
+  fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
+$as_echo "$cross_compiling" >&6; }
+
+rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out
+ac_clean_files=$ac_clean_files_save
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5
+$as_echo_n "checking for suffix of object files... " >&6; }
+if ${ac_cv_objext+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.o conftest.obj
+if { { ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_compile") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then :
+  for ac_file in conftest.o conftest.obj conftest.*; do
+  test -f "$ac_file" || continue;
+  case $ac_file in
+    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;;
+    *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
+       break;;
+  esac
+done
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "cannot compute suffix of object files: cannot compile
+See \`config.log' for more details" "$LINENO" 5; }
+fi
+rm -f conftest.$ac_cv_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5
+$as_echo "$ac_cv_objext" >&6; }
+OBJEXT=$ac_cv_objext
+ac_objext=$OBJEXT
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5
+$as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
+if ${ac_cv_c_compiler_gnu+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+#ifndef __GNUC__
+       choke me
+#endif
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_compiler_gnu=yes
+else
+  ac_compiler_gnu=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ac_cv_c_compiler_gnu=$ac_compiler_gnu
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5
+$as_echo "$ac_cv_c_compiler_gnu" >&6; }
+if test $ac_compiler_gnu = yes; then
+  GCC=yes
+else
+  GCC=
+fi
+ac_test_CFLAGS=${CFLAGS+set}
+ac_save_CFLAGS=$CFLAGS
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
+$as_echo_n "checking whether $CC accepts -g... " >&6; }
+if ${ac_cv_prog_cc_g+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_save_c_werror_flag=$ac_c_werror_flag
+   ac_c_werror_flag=yes
+   ac_cv_prog_cc_g=no
+   CFLAGS="-g"
+   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_cv_prog_cc_g=yes
+else
+  CFLAGS=""
+      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+
+else
+  ac_c_werror_flag=$ac_save_c_werror_flag
+	 CFLAGS="-g"
+	 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_cv_prog_cc_g=yes
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+   ac_c_werror_flag=$ac_save_c_werror_flag
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5
+$as_echo "$ac_cv_prog_cc_g" >&6; }
+if test "$ac_test_CFLAGS" = set; then
+  CFLAGS=$ac_save_CFLAGS
+elif test $ac_cv_prog_cc_g = yes; then
+  if test "$GCC" = yes; then
+    CFLAGS="-g -O2"
+  else
+    CFLAGS="-g"
+  fi
+else
+  if test "$GCC" = yes; then
+    CFLAGS="-O2"
+  else
+    CFLAGS=
+  fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
+$as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
+if ${ac_cv_prog_cc_c89+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_cv_prog_cc_c89=no
+ac_save_CC=$CC
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdarg.h>
+#include <stdio.h>
+struct stat;
+/* Most of the following tests are stolen from RCS 5.7's src/conf.sh.  */
+struct buf { int x; };
+FILE * (*rcsopen) (struct buf *, struct stat *, int);
+static char *e (p, i)
+     char **p;
+     int i;
+{
+  return p[i];
+}
+static char *f (char * (*g) (char **, int), char **p, ...)
+{
+  char *s;
+  va_list v;
+  va_start (v,p);
+  s = g (p, va_arg (v,int));
+  va_end (v);
+  return s;
+}
+
+/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default.  It has
+   function prototypes and stuff, but not '\xHH' hex character constants.
+   These don't provoke an error unfortunately, instead are silently treated
+   as 'x'.  The following induces an error, until -std is added to get
+   proper ANSI mode.  Curiously '\x00'!='x' always comes out true, for an
+   array size at least.  It's necessary to write '\x00'==0 to get something
+   that's true only with -std.  */
+int osf4_cc_array ['\x00' == 0 ? 1 : -1];
+
+/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
+   inside strings and character constants.  */
+#define FOO(x) 'x'
+int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
+
+int test (int i, double x);
+struct s1 {int (*f) (int a);};
+struct s2 {int (*f) (double a);};
+int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
+int argc;
+char **argv;
+int
+main ()
+{
+return f (e, argv, 0) != argv[0]  ||  f (e, argv, 1) != argv[1];
+  ;
+  return 0;
+}
+_ACEOF
+for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \
+	-Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
+do
+  CC="$ac_save_CC $ac_arg"
+  if ac_fn_c_try_compile "$LINENO"; then :
+  ac_cv_prog_cc_c89=$ac_arg
+fi
+rm -f core conftest.err conftest.$ac_objext
+  test "x$ac_cv_prog_cc_c89" != "xno" && break
+done
+rm -f conftest.$ac_ext
+CC=$ac_save_CC
+
+fi
+# AC_CACHE_VAL
+case "x$ac_cv_prog_cc_c89" in
+  x)
+    { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
+$as_echo "none needed" >&6; } ;;
+  xno)
+    { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
+$as_echo "unsupported" >&6; } ;;
+  *)
+    CC="$CC $ac_cv_prog_cc_c89"
+    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5
+$as_echo "$ac_cv_prog_cc_c89" >&6; } ;;
+esac
+if test "x$ac_cv_prog_cc_c89" != xno; then :
+
+fi
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC understands -c and -o together" >&5
+$as_echo_n "checking whether $CC understands -c and -o together... " >&6; }
+if ${am_cv_prog_cc_c_o+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+  # Make sure it works both with $CC and with simple cc.
+  # Following AC_PROG_CC_C_O, we do the test twice because some
+  # compilers refuse to overwrite an existing .o file with -o,
+  # though they will create one.
+  am_cv_prog_cc_c_o=yes
+  for am_i in 1 2; do
+    if { echo "$as_me:$LINENO: $CC -c conftest.$ac_ext -o conftest2.$ac_objext" >&5
+   ($CC -c conftest.$ac_ext -o conftest2.$ac_objext) >&5 2>&5
+   ac_status=$?
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   (exit $ac_status); } \
+         && test -f conftest2.$ac_objext; then
+      : OK
+    else
+      am_cv_prog_cc_c_o=no
+      break
+    fi
+  done
+  rm -f core conftest*
+  unset am_i
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_cc_c_o" >&5
+$as_echo "$am_cv_prog_cc_c_o" >&6; }
+if test "$am_cv_prog_cc_c_o" != yes; then
+   # Losing compiler, so override with the script.
+   # FIXME: It is wrong to rewrite CC.
+   # But if we don't then we get into trouble of one sort or another.
+   # A longer-term fix would be to have automake use am__CC in this case,
+   # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
+   CC="$am_aux_dir/compile $CC"
+fi
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+depcc="$CC"   am_compiler_list=
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
+$as_echo_n "checking dependency style of $depcc... " >&6; }
+if ${am_cv_CC_dependencies_compiler_type+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
+  # We make a subdir and do the tests there.  Otherwise we can end up
+  # making bogus files that we don't know about and never remove.  For
+  # instance it was reported that on HP-UX the gcc test will end up
+  # making a dummy file named 'D' -- because '-MD' means "put the output
+  # in D".
+  rm -rf conftest.dir
+  mkdir conftest.dir
+  # Copy depcomp to subdir because otherwise we won't find it if we're
+  # using a relative directory.
+  cp "$am_depcomp" conftest.dir
+  cd conftest.dir
+  # We will build objects and dependencies in a subdirectory because
+  # it helps to detect inapplicable dependency modes.  For instance
+  # both Tru64's cc and ICC support -MD to output dependencies as a
+  # side effect of compilation, but ICC will put the dependencies in
+  # the current directory while Tru64 will put them in the object
+  # directory.
+  mkdir sub
+
+  am_cv_CC_dependencies_compiler_type=none
+  if test "$am_compiler_list" = ""; then
+     am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
+  fi
+  am__universal=false
+  case " $depcc " in #(
+     *\ -arch\ *\ -arch\ *) am__universal=true ;;
+     esac
+
+  for depmode in $am_compiler_list; do
+    # Setup a source with many dependencies, because some compilers
+    # like to wrap large dependency lists on column 80 (with \), and
+    # we should not choose a depcomp mode which is confused by this.
+    #
+    # We need to recreate these files for each test, as the compiler may
+    # overwrite some of them when testing with obscure command lines.
+    # This happens at least with the AIX C compiler.
+    : > sub/conftest.c
+    for i in 1 2 3 4 5 6; do
+      echo '#include "conftst'$i'.h"' >> sub/conftest.c
+      # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with
+      # Solaris 10 /bin/sh.
+      echo '/* dummy */' > sub/conftst$i.h
+    done
+    echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
+
+    # We check with '-c' and '-o' for the sake of the "dashmstdout"
+    # mode.  It turns out that the SunPro C++ compiler does not properly
+    # handle '-M -o', and we need to detect this.  Also, some Intel
+    # versions had trouble with output in subdirs.
+    am__obj=sub/conftest.${OBJEXT-o}
+    am__minus_obj="-o $am__obj"
+    case $depmode in
+    gcc)
+      # This depmode causes a compiler race in universal mode.
+      test "$am__universal" = false || continue
+      ;;
+    nosideeffect)
+      # After this tag, mechanisms are not by side-effect, so they'll
+      # only be used when explicitly requested.
+      if test "x$enable_dependency_tracking" = xyes; then
+	continue
+      else
+	break
+      fi
+      ;;
+    msvc7 | msvc7msys | msvisualcpp | msvcmsys)
+      # This compiler won't grok '-c -o', but also, the minuso test has
+      # not run yet.  These depmodes are late enough in the game, and
+      # so weak that their functioning should not be impacted.
+      am__obj=conftest.${OBJEXT-o}
+      am__minus_obj=
+      ;;
+    none) break ;;
+    esac
+    if depmode=$depmode \
+       source=sub/conftest.c object=$am__obj \
+       depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
+       $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
+         >/dev/null 2>conftest.err &&
+       grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
+       grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
+       grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
+       ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
+      # icc doesn't choke on unknown options, it will just issue warnings
+      # or remarks (even with -Werror).  So we grep stderr for any message
+      # that says an option was ignored or not supported.
+      # When given -MP, icc 7.0 and 7.1 complain thusly:
+      #   icc: Command line warning: ignoring option '-M'; no argument required
+      # The diagnosis changed in icc 8.0:
+      #   icc: Command line remark: option '-MP' not supported
+      if (grep 'ignoring option' conftest.err ||
+          grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
+        am_cv_CC_dependencies_compiler_type=$depmode
+        break
+      fi
+    fi
+  done
+
+  cd ..
+  rm -rf conftest.dir
+else
+  am_cv_CC_dependencies_compiler_type=none
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5
+$as_echo "$am_cv_CC_dependencies_compiler_type" >&6; }
+CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type
+
+ if
+  test "x$enable_dependency_tracking" != xno \
+  && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then
+  am__fastdepCC_TRUE=
+  am__fastdepCC_FALSE='#'
+else
+  am__fastdepCC_TRUE='#'
+  am__fastdepCC_FALSE=
+fi
+
+
+   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C99" >&5
+$as_echo_n "checking for $CC option to accept ISO C99... " >&6; }
+if ${ac_cv_prog_cc_c99+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_cv_prog_cc_c99=no
+ac_save_CC=$CC
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdarg.h>
+#include <stdbool.h>
+#include <stdlib.h>
+#include <wchar.h>
+#include <stdio.h>
+
+// Check varargs macros.  These examples are taken from C99 6.10.3.5.
+#define debug(...) fprintf (stderr, __VA_ARGS__)
+#define showlist(...) puts (#__VA_ARGS__)
+#define report(test,...) ((test) ? puts (#test) : printf (__VA_ARGS__))
+static void
+test_varargs_macros (void)
+{
+  int x = 1234;
+  int y = 5678;
+  debug ("Flag");
+  debug ("X = %d\n", x);
+  showlist (The first, second, and third items.);
+  report (x>y, "x is %d but y is %d", x, y);
+}
+
+// Check long long types.
+#define BIG64 18446744073709551615ull
+#define BIG32 4294967295ul
+#define BIG_OK (BIG64 / BIG32 == 4294967297ull && BIG64 % BIG32 == 0)
+#if !BIG_OK
+  your preprocessor is broken;
+#endif
+#if BIG_OK
+#else
+  your preprocessor is broken;
+#endif
+static long long int bignum = -9223372036854775807LL;
+static unsigned long long int ubignum = BIG64;
+
+struct incomplete_array
+{
+  int datasize;
+  double data[];
+};
+
+struct named_init {
+  int number;
+  const wchar_t *name;
+  double average;
+};
+
+typedef const char *ccp;
+
+static inline int
+test_restrict (ccp restrict text)
+{
+  // See if C++-style comments work.
+  // Iterate through items via the restricted pointer.
+  // Also check for declarations in for loops.
+  for (unsigned int i = 0; *(text+i) != '\0'; ++i)
+    continue;
+  return 0;
+}
+
+// Check varargs and va_copy.
+static void
+test_varargs (const char *format, ...)
+{
+  va_list args;
+  va_start (args, format);
+  va_list args_copy;
+  va_copy (args_copy, args);
+
+  const char *str;
+  int number;
+  float fnumber;
+
+  while (*format)
+    {
+      switch (*format++)
+	{
+	case 's': // string
+	  str = va_arg (args_copy, const char *);
+	  break;
+	case 'd': // int
+	  number = va_arg (args_copy, int);
+	  break;
+	case 'f': // float
+	  fnumber = va_arg (args_copy, double);
+	  break;
+	default:
+	  break;
+	}
+    }
+  va_end (args_copy);
+  va_end (args);
+}
+
+int
+main ()
+{
+
+  // Check bool.
+  _Bool success = false;
+
+  // Check restrict.
+  if (test_restrict ("String literal") == 0)
+    success = true;
+  char *restrict newvar = "Another string";
+
+  // Check varargs.
+  test_varargs ("s, d' f .", "string", 65, 34.234);
+  test_varargs_macros ();
+
+  // Check flexible array members.
+  struct incomplete_array *ia =
+    malloc (sizeof (struct incomplete_array) + (sizeof (double) * 10));
+  ia->datasize = 10;
+  for (int i = 0; i < ia->datasize; ++i)
+    ia->data[i] = i * 1.234;
+
+  // Check named initializers.
+  struct named_init ni = {
+    .number = 34,
+    .name = L"Test wide string",
+    .average = 543.34343,
+  };
+
+  ni.number = 58;
+
+  int dynamic_array[ni.number];
+  dynamic_array[ni.number - 1] = 543;
+
+  // work around unused variable warnings
+  return (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == 'x'
+	  || dynamic_array[ni.number - 1] != 543);
+
+  ;
+  return 0;
+}
+_ACEOF
+for ac_arg in '' -std=gnu99 -std=c99 -c99 -AC99 -D_STDC_C99= -qlanglvl=extc99
+do
+  CC="$ac_save_CC $ac_arg"
+  if ac_fn_c_try_compile "$LINENO"; then :
+  ac_cv_prog_cc_c99=$ac_arg
+fi
+rm -f core conftest.err conftest.$ac_objext
+  test "x$ac_cv_prog_cc_c99" != "xno" && break
+done
+rm -f conftest.$ac_ext
+CC=$ac_save_CC
+
+fi
+# AC_CACHE_VAL
+case "x$ac_cv_prog_cc_c99" in
+  x)
+    { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
+$as_echo "none needed" >&6; } ;;
+  xno)
+    { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
+$as_echo "unsupported" >&6; } ;;
+  *)
+    CC="$CC $ac_cv_prog_cc_c99"
+    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c99" >&5
+$as_echo "$ac_cv_prog_cc_c99" >&6; } ;;
+esac
+if test "x$ac_cv_prog_cc_c99" != xno; then :
+
+fi
+
+
+# By default we simply use the C compiler to build assembly code.
+
+test "${CCAS+set}" = set || CCAS=$CC
+test "${CCASFLAGS+set}" = set || CCASFLAGS=$CFLAGS
+
+
+
+depcc="$CCAS"   am_compiler_list=
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
+$as_echo_n "checking dependency style of $depcc... " >&6; }
+if ${am_cv_CCAS_dependencies_compiler_type+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
+  # We make a subdir and do the tests there.  Otherwise we can end up
+  # making bogus files that we don't know about and never remove.  For
+  # instance it was reported that on HP-UX the gcc test will end up
+  # making a dummy file named 'D' -- because '-MD' means "put the output
+  # in D".
+  rm -rf conftest.dir
+  mkdir conftest.dir
+  # Copy depcomp to subdir because otherwise we won't find it if we're
+  # using a relative directory.
+  cp "$am_depcomp" conftest.dir
+  cd conftest.dir
+  # We will build objects and dependencies in a subdirectory because
+  # it helps to detect inapplicable dependency modes.  For instance
+  # both Tru64's cc and ICC support -MD to output dependencies as a
+  # side effect of compilation, but ICC will put the dependencies in
+  # the current directory while Tru64 will put them in the object
+  # directory.
+  mkdir sub
+
+  am_cv_CCAS_dependencies_compiler_type=none
+  if test "$am_compiler_list" = ""; then
+     am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
+  fi
+  am__universal=false
+
+
+  for depmode in $am_compiler_list; do
+    # Setup a source with many dependencies, because some compilers
+    # like to wrap large dependency lists on column 80 (with \), and
+    # we should not choose a depcomp mode which is confused by this.
+    #
+    # We need to recreate these files for each test, as the compiler may
+    # overwrite some of them when testing with obscure command lines.
+    # This happens at least with the AIX C compiler.
+    : > sub/conftest.c
+    for i in 1 2 3 4 5 6; do
+      echo '#include "conftst'$i'.h"' >> sub/conftest.c
+      # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with
+      # Solaris 10 /bin/sh.
+      echo '/* dummy */' > sub/conftst$i.h
+    done
+    echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
+
+    # We check with '-c' and '-o' for the sake of the "dashmstdout"
+    # mode.  It turns out that the SunPro C++ compiler does not properly
+    # handle '-M -o', and we need to detect this.  Also, some Intel
+    # versions had trouble with output in subdirs.
+    am__obj=sub/conftest.${OBJEXT-o}
+    am__minus_obj="-o $am__obj"
+    case $depmode in
+    gcc)
+      # This depmode causes a compiler race in universal mode.
+      test "$am__universal" = false || continue
+      ;;
+    nosideeffect)
+      # After this tag, mechanisms are not by side-effect, so they'll
+      # only be used when explicitly requested.
+      if test "x$enable_dependency_tracking" = xyes; then
+	continue
+      else
+	break
+      fi
+      ;;
+    msvc7 | msvc7msys | msvisualcpp | msvcmsys)
+      # This compiler won't grok '-c -o', but also, the minuso test has
+      # not run yet.  These depmodes are late enough in the game, and
+      # so weak that their functioning should not be impacted.
+      am__obj=conftest.${OBJEXT-o}
+      am__minus_obj=
+      ;;
+    none) break ;;
+    esac
+    if depmode=$depmode \
+       source=sub/conftest.c object=$am__obj \
+       depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
+       $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
+         >/dev/null 2>conftest.err &&
+       grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
+       grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
+       grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
+       ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
+      # icc doesn't choke on unknown options, it will just issue warnings
+      # or remarks (even with -Werror).  So we grep stderr for any message
+      # that says an option was ignored or not supported.
+      # When given -MP, icc 7.0 and 7.1 complain thusly:
+      #   icc: Command line warning: ignoring option '-M'; no argument required
+      # The diagnosis changed in icc 8.0:
+      #   icc: Command line remark: option '-MP' not supported
+      if (grep 'ignoring option' conftest.err ||
+          grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
+        am_cv_CCAS_dependencies_compiler_type=$depmode
+        break
+      fi
+    fi
+  done
+
+  cd ..
+  rm -rf conftest.dir
+else
+  am_cv_CCAS_dependencies_compiler_type=none
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CCAS_dependencies_compiler_type" >&5
+$as_echo "$am_cv_CCAS_dependencies_compiler_type" >&6; }
+CCASDEPMODE=depmode=$am_cv_CCAS_dependencies_compiler_type
+
+ if
+  test "x$enable_dependency_tracking" != xno \
+  && test "$am_cv_CCAS_dependencies_compiler_type" = gcc3; then
+  am__fastdepCCAS_TRUE=
+  am__fastdepCCAS_FALSE='#'
+else
+  am__fastdepCCAS_TRUE='#'
+  am__fastdepCCAS_FALSE=
+fi
+
+
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5
+$as_echo_n "checking how to run the C preprocessor... " >&6; }
+# On Suns, sometimes $CPP names a directory.
+if test -n "$CPP" && test -d "$CPP"; then
+  CPP=
+fi
+if test -z "$CPP"; then
+  if ${ac_cv_prog_CPP+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+      # Double quotes because CPP needs to be expanded
+    for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
+    do
+      ac_preproc_ok=false
+for ac_c_preproc_warn_flag in '' yes
+do
+  # Use a header file that comes with gcc, so configuring glibc
+  # with a fresh cross-compiler works.
+  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+  # <limits.h> exists even on freestanding compilers.
+  # On the NeXT, cc -E runs the code through the compiler's parser,
+  # not just through cpp. "Syntax error" is here to catch this case.
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+		     Syntax error
+_ACEOF
+if ac_fn_c_try_cpp "$LINENO"; then :
+
+else
+  # Broken: fails on valid input.
+continue
+fi
+rm -f conftest.err conftest.i conftest.$ac_ext
+
+  # OK, works on sane cases.  Now check whether nonexistent headers
+  # can be detected and how.
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <ac_nonexistent.h>
+_ACEOF
+if ac_fn_c_try_cpp "$LINENO"; then :
+  # Broken: success on invalid input.
+continue
+else
+  # Passes both tests.
+ac_preproc_ok=:
+break
+fi
+rm -f conftest.err conftest.i conftest.$ac_ext
+
+done
+# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
+rm -f conftest.i conftest.err conftest.$ac_ext
+if $ac_preproc_ok; then :
+  break
+fi
+
+    done
+    ac_cv_prog_CPP=$CPP
+
+fi
+  CPP=$ac_cv_prog_CPP
+else
+  ac_cv_prog_CPP=$CPP
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5
+$as_echo "$CPP" >&6; }
+ac_preproc_ok=false
+for ac_c_preproc_warn_flag in '' yes
+do
+  # Use a header file that comes with gcc, so configuring glibc
+  # with a fresh cross-compiler works.
+  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+  # <limits.h> exists even on freestanding compilers.
+  # On the NeXT, cc -E runs the code through the compiler's parser,
+  # not just through cpp. "Syntax error" is here to catch this case.
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+		     Syntax error
+_ACEOF
+if ac_fn_c_try_cpp "$LINENO"; then :
+
+else
+  # Broken: fails on valid input.
+continue
+fi
+rm -f conftest.err conftest.i conftest.$ac_ext
+
+  # OK, works on sane cases.  Now check whether nonexistent headers
+  # can be detected and how.
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <ac_nonexistent.h>
+_ACEOF
+if ac_fn_c_try_cpp "$LINENO"; then :
+  # Broken: success on invalid input.
+continue
+else
+  # Passes both tests.
+ac_preproc_ok=:
+break
+fi
+rm -f conftest.err conftest.i conftest.$ac_ext
+
+done
+# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
+rm -f conftest.i conftest.err conftest.$ac_ext
+if $ac_preproc_ok; then :
+
+else
+  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "C preprocessor \"$CPP\" fails sanity check
+See \`config.log' for more details" "$LINENO" 5; }
+fi
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
+$as_echo_n "checking for grep that handles long lines and -e... " >&6; }
+if ${ac_cv_path_GREP+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -z "$GREP"; then
+  ac_path_GREP_found=false
+  # Loop through the user's path and test for each of PROGNAME-LIST
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_prog in grep ggrep; do
+    for ac_exec_ext in '' $ac_executable_extensions; do
+      ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
+      as_fn_executable_p "$ac_path_GREP" || continue
+# Check for GNU ac_path_GREP and select it if it is found.
+  # Check for GNU $ac_path_GREP
+case `"$ac_path_GREP" --version 2>&1` in
+*GNU*)
+  ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;;
+*)
+  ac_count=0
+  $as_echo_n 0123456789 >"conftest.in"
+  while :
+  do
+    cat "conftest.in" "conftest.in" >"conftest.tmp"
+    mv "conftest.tmp" "conftest.in"
+    cp "conftest.in" "conftest.nl"
+    $as_echo 'GREP' >> "conftest.nl"
+    "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break
+    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
+    as_fn_arith $ac_count + 1 && ac_count=$as_val
+    if test $ac_count -gt ${ac_path_GREP_max-0}; then
+      # Best one so far, save it but keep looking for a better one
+      ac_cv_path_GREP="$ac_path_GREP"
+      ac_path_GREP_max=$ac_count
+    fi
+    # 10*(2^10) chars as input seems more than enough
+    test $ac_count -gt 10 && break
+  done
+  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
+esac
+
+      $ac_path_GREP_found && break 3
+    done
+  done
+  done
+IFS=$as_save_IFS
+  if test -z "$ac_cv_path_GREP"; then
+    as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+  fi
+else
+  ac_cv_path_GREP=$GREP
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5
+$as_echo "$ac_cv_path_GREP" >&6; }
+ GREP="$ac_cv_path_GREP"
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
+$as_echo_n "checking for egrep... " >&6; }
+if ${ac_cv_path_EGREP+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
+   then ac_cv_path_EGREP="$GREP -E"
+   else
+     if test -z "$EGREP"; then
+  ac_path_EGREP_found=false
+  # Loop through the user's path and test for each of PROGNAME-LIST
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_prog in egrep; do
+    for ac_exec_ext in '' $ac_executable_extensions; do
+      ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
+      as_fn_executable_p "$ac_path_EGREP" || continue
+# Check for GNU ac_path_EGREP and select it if it is found.
+  # Check for GNU $ac_path_EGREP
+case `"$ac_path_EGREP" --version 2>&1` in
+*GNU*)
+  ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;;
+*)
+  ac_count=0
+  $as_echo_n 0123456789 >"conftest.in"
+  while :
+  do
+    cat "conftest.in" "conftest.in" >"conftest.tmp"
+    mv "conftest.tmp" "conftest.in"
+    cp "conftest.in" "conftest.nl"
+    $as_echo 'EGREP' >> "conftest.nl"
+    "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break
+    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
+    as_fn_arith $ac_count + 1 && ac_count=$as_val
+    if test $ac_count -gt ${ac_path_EGREP_max-0}; then
+      # Best one so far, save it but keep looking for a better one
+      ac_cv_path_EGREP="$ac_path_EGREP"
+      ac_path_EGREP_max=$ac_count
+    fi
+    # 10*(2^10) chars as input seems more than enough
+    test $ac_count -gt 10 && break
+  done
+  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
+esac
+
+      $ac_path_EGREP_found && break 3
+    done
+  done
+  done
+IFS=$as_save_IFS
+  if test -z "$ac_cv_path_EGREP"; then
+    as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+  fi
+else
+  ac_cv_path_EGREP=$EGREP
+fi
+
+   fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5
+$as_echo "$ac_cv_path_EGREP" >&6; }
+ EGREP="$ac_cv_path_EGREP"
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
+$as_echo_n "checking for ANSI C header files... " >&6; }
+if ${ac_cv_header_stdc+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdlib.h>
+#include <stdarg.h>
+#include <string.h>
+#include <float.h>
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_cv_header_stdc=yes
+else
+  ac_cv_header_stdc=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+if test $ac_cv_header_stdc = yes; then
+  # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <string.h>
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+  $EGREP "memchr" >/dev/null 2>&1; then :
+
+else
+  ac_cv_header_stdc=no
+fi
+rm -f conftest*
+
+fi
+
+if test $ac_cv_header_stdc = yes; then
+  # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdlib.h>
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+  $EGREP "free" >/dev/null 2>&1; then :
+
+else
+  ac_cv_header_stdc=no
+fi
+rm -f conftest*
+
+fi
+
+if test $ac_cv_header_stdc = yes; then
+  # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
+  if test "$cross_compiling" = yes; then :
+  :
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <ctype.h>
+#include <stdlib.h>
+#if ((' ' & 0x0FF) == 0x020)
+# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
+# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
+#else
+# define ISLOWER(c) \
+		   (('a' <= (c) && (c) <= 'i') \
+		     || ('j' <= (c) && (c) <= 'r') \
+		     || ('s' <= (c) && (c) <= 'z'))
+# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
+#endif
+
+#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
+int
+main ()
+{
+  int i;
+  for (i = 0; i < 256; i++)
+    if (XOR (islower (i), ISLOWER (i))
+	|| toupper (i) != TOUPPER (i))
+      return 2;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+
+else
+  ac_cv_header_stdc=no
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5
+$as_echo "$ac_cv_header_stdc" >&6; }
+if test $ac_cv_header_stdc = yes; then
+
+$as_echo "#define STDC_HEADERS 1" >>confdefs.h
+
+fi
+
+# On IRIX 5.3, sys/types and inttypes.h are conflicting.
+for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
+		  inttypes.h stdint.h unistd.h
+do :
+  as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
+ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
+"
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
+  cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+
+done
+
+
+
+  ac_fn_c_check_header_mongrel "$LINENO" "minix/config.h" "ac_cv_header_minix_config_h" "$ac_includes_default"
+if test "x$ac_cv_header_minix_config_h" = xyes; then :
+  MINIX=yes
+else
+  MINIX=
+fi
+
+
+  if test "$MINIX" = yes; then
+
+$as_echo "#define _POSIX_SOURCE 1" >>confdefs.h
+
+
+$as_echo "#define _POSIX_1_SOURCE 2" >>confdefs.h
+
+
+$as_echo "#define _MINIX 1" >>confdefs.h
+
+  fi
+
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether it is safe to define __EXTENSIONS__" >&5
+$as_echo_n "checking whether it is safe to define __EXTENSIONS__... " >&6; }
+if ${ac_cv_safe_to_define___extensions__+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+#         define __EXTENSIONS__ 1
+          $ac_includes_default
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_cv_safe_to_define___extensions__=yes
+else
+  ac_cv_safe_to_define___extensions__=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_safe_to_define___extensions__" >&5
+$as_echo "$ac_cv_safe_to_define___extensions__" >&6; }
+  test $ac_cv_safe_to_define___extensions__ = yes &&
+    $as_echo "#define __EXTENSIONS__ 1" >>confdefs.h
+
+  $as_echo "#define _ALL_SOURCE 1" >>confdefs.h
+
+  $as_echo "#define _GNU_SOURCE 1" >>confdefs.h
+
+  $as_echo "#define _POSIX_PTHREAD_SEMANTICS 1" >>confdefs.h
+
+  $as_echo "#define _TANDEM_SOURCE 1" >>confdefs.h
+
+
+CPPFLAGS="$CPPFLAGS -D_FORTIFY_SOURCE=2"
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -fvisibility=hidden" >&5
+$as_echo_n "checking whether C compiler accepts -fvisibility=hidden... " >&6; }
+if ${ax_cv_check_cflags___fvisibility_hidden+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+
+  ax_check_save_flags=$CFLAGS
+  CFLAGS="$CFLAGS  -fvisibility=hidden"
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdio.h>
+int
+main ()
+{
+char x[42U], fodder = 0;if (fodder > -1000 && fgets(x,1000,stdin)) puts(x)
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ax_cv_check_cflags___fvisibility_hidden=yes
+else
+  ax_cv_check_cflags___fvisibility_hidden=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  CFLAGS=$ax_check_save_flags
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags___fvisibility_hidden" >&5
+$as_echo "$ax_cv_check_cflags___fvisibility_hidden" >&6; }
+if test x"$ax_cv_check_cflags___fvisibility_hidden" = xyes; then :
+  CFLAGS="$CFLAGS -fvisibility=hidden"
+else
+  :
+fi
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -fPIC" >&5
+$as_echo_n "checking whether C compiler accepts -fPIC... " >&6; }
+if ${ax_cv_check_cflags___fPIC+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+
+  ax_check_save_flags=$CFLAGS
+  CFLAGS="$CFLAGS  -fPIC"
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdio.h>
+int
+main ()
+{
+char x[42U], fodder = 0;if (fodder > -1000 && fgets(x,1000,stdin)) puts(x)
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ax_cv_check_cflags___fPIC=yes
+else
+  ax_cv_check_cflags___fPIC=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  CFLAGS=$ax_check_save_flags
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags___fPIC" >&5
+$as_echo "$ax_cv_check_cflags___fPIC" >&6; }
+if test x"$ax_cv_check_cflags___fPIC" = xyes; then :
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the linker accepts -fPIC" >&5
+$as_echo_n "checking whether the linker accepts -fPIC... " >&6; }
+if ${ax_cv_check_ldflags___fPIC+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+
+  ax_check_save_flags=$LDFLAGS
+  LDFLAGS="$LDFLAGS  -fPIC"
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdio.h>
+int
+main ()
+{
+char x[42U];if (fgets(x,1000,stdin)) puts(x)
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ax_cv_check_ldflags___fPIC=yes
+else
+  ax_cv_check_ldflags___fPIC=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+  LDFLAGS=$ax_check_save_flags
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_ldflags___fPIC" >&5
+$as_echo "$ax_cv_check_ldflags___fPIC" >&6; }
+if test x"$ax_cv_check_ldflags___fPIC" = xyes; then :
+  CFLAGS="$CFLAGS -fPIC"
+
+else
+  :
+fi
+
+
+else
+  :
+fi
+
+
+if test "$enable_pie" != "no"; then :
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -fPIE" >&5
+$as_echo_n "checking whether C compiler accepts -fPIE... " >&6; }
+if ${ax_cv_check_cflags___fPIE+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+
+  ax_check_save_flags=$CFLAGS
+  CFLAGS="$CFLAGS  -fPIE"
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdio.h>
+int
+main ()
+{
+char x[42U], fodder = 0;if (fodder > -1000 && fgets(x,1000,stdin)) puts(x)
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ax_cv_check_cflags___fPIE=yes
+else
+  ax_cv_check_cflags___fPIE=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  CFLAGS=$ax_check_save_flags
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags___fPIE" >&5
+$as_echo "$ax_cv_check_cflags___fPIE" >&6; }
+if test x"$ax_cv_check_cflags___fPIE" = xyes; then :
+
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the linker accepts -fPIE" >&5
+$as_echo_n "checking whether the linker accepts -fPIE... " >&6; }
+if ${ax_cv_check_ldflags___fPIE+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+
+  ax_check_save_flags=$LDFLAGS
+  LDFLAGS="$LDFLAGS  -fPIE"
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdio.h>
+int
+main ()
+{
+char x[42U];if (fgets(x,1000,stdin)) puts(x)
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ax_cv_check_ldflags___fPIE=yes
+else
+  ax_cv_check_ldflags___fPIE=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+  LDFLAGS=$ax_check_save_flags
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_ldflags___fPIE" >&5
+$as_echo "$ax_cv_check_ldflags___fPIE" >&6; }
+if test x"$ax_cv_check_ldflags___fPIE" = xyes; then :
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the linker accepts -pie" >&5
+$as_echo_n "checking whether the linker accepts -pie... " >&6; }
+if ${ax_cv_check_ldflags___pie+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+
+  ax_check_save_flags=$LDFLAGS
+  LDFLAGS="$LDFLAGS  -pie"
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdio.h>
+int
+main ()
+{
+char x[42U];if (fgets(x,1000,stdin)) puts(x)
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ax_cv_check_ldflags___pie=yes
+else
+  ax_cv_check_ldflags___pie=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+  LDFLAGS=$ax_check_save_flags
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_ldflags___pie" >&5
+$as_echo "$ax_cv_check_ldflags___pie" >&6; }
+if test x"$ax_cv_check_ldflags___pie" = xyes; then :
+  CFLAGS="$CFLAGS -fPIE"
+         LDFLAGS="$LDFLAGS -pie"
+else
+  :
+fi
+
+
+else
+  :
+fi
+
+
+else
+  :
+fi
+
+
+fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -fwrapv" >&5
+$as_echo_n "checking whether C compiler accepts -fwrapv... " >&6; }
+if ${ax_cv_check_cflags___fwrapv+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+
+  ax_check_save_flags=$CFLAGS
+  CFLAGS="$CFLAGS  -fwrapv"
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdio.h>
+int
+main ()
+{
+char x[42U], fodder = 0;if (fodder > -1000 && fgets(x,1000,stdin)) puts(x)
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ax_cv_check_cflags___fwrapv=yes
+else
+  ax_cv_check_cflags___fwrapv=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  CFLAGS=$ax_check_save_flags
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags___fwrapv" >&5
+$as_echo "$ax_cv_check_cflags___fwrapv" >&6; }
+if test x"$ax_cv_check_cflags___fwrapv" = xyes; then :
+  CFLAGS="$CFLAGS -fwrapv"
+else
+  :
+fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -fno-strict-aliasing" >&5
+$as_echo_n "checking whether C compiler accepts -fno-strict-aliasing... " >&6; }
+if ${ax_cv_check_cflags___fno_strict_aliasing+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+
+  ax_check_save_flags=$CFLAGS
+  CFLAGS="$CFLAGS  -fno-strict-aliasing"
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdio.h>
+int
+main ()
+{
+char x[42U], fodder = 0;if (fodder > -1000 && fgets(x,1000,stdin)) puts(x)
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ax_cv_check_cflags___fno_strict_aliasing=yes
+else
+  ax_cv_check_cflags___fno_strict_aliasing=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  CFLAGS=$ax_check_save_flags
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags___fno_strict_aliasing" >&5
+$as_echo "$ax_cv_check_cflags___fno_strict_aliasing" >&6; }
+if test x"$ax_cv_check_cflags___fno_strict_aliasing" = xyes; then :
+  CFLAGS="$CFLAGS -fno-strict-aliasing"
+else
+  :
+fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -fno-strict-overflow" >&5
+$as_echo_n "checking whether C compiler accepts -fno-strict-overflow... " >&6; }
+if ${ax_cv_check_cflags___fno_strict_overflow+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+
+  ax_check_save_flags=$CFLAGS
+  CFLAGS="$CFLAGS  -fno-strict-overflow"
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdio.h>
+int
+main ()
+{
+char x[42U], fodder = 0;if (fodder > -1000 && fgets(x,1000,stdin)) puts(x)
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ax_cv_check_cflags___fno_strict_overflow=yes
+else
+  ax_cv_check_cflags___fno_strict_overflow=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  CFLAGS=$ax_check_save_flags
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags___fno_strict_overflow" >&5
+$as_echo "$ax_cv_check_cflags___fno_strict_overflow" >&6; }
+if test x"$ax_cv_check_cflags___fno_strict_overflow" = xyes; then :
+  CFLAGS="$CFLAGS -fno-strict-overflow"
+else
+  :
+fi
+
+
+LIBTOOL_EXTRA_FLAGS="-version-info $SODIUM_LIBRARY_VERSION"
+
+case $host_os in #(
+  cygwin* | mingw* | pw32* | cegcc*) :
+
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the linker accepts -Wl,--dynamicbase" >&5
+$as_echo_n "checking whether the linker accepts -Wl,--dynamicbase... " >&6; }
+if ${ax_cv_check_ldflags___Wl___dynamicbase+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+
+  ax_check_save_flags=$LDFLAGS
+  LDFLAGS="$LDFLAGS  -Wl,--dynamicbase"
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdio.h>
+int
+main ()
+{
+char x[42U];if (fgets(x,1000,stdin)) puts(x)
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ax_cv_check_ldflags___Wl___dynamicbase=yes
+else
+  ax_cv_check_ldflags___Wl___dynamicbase=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+  LDFLAGS=$ax_check_save_flags
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_ldflags___Wl___dynamicbase" >&5
+$as_echo "$ax_cv_check_ldflags___Wl___dynamicbase" >&6; }
+if test x"$ax_cv_check_ldflags___Wl___dynamicbase" = xyes; then :
+  LDFLAGS="$LDFLAGS -Wl,--dynamicbase"
+else
+  :
+fi
+
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the linker accepts -Wl,--nxcompat" >&5
+$as_echo_n "checking whether the linker accepts -Wl,--nxcompat... " >&6; }
+if ${ax_cv_check_ldflags___Wl___nxcompat+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+
+  ax_check_save_flags=$LDFLAGS
+  LDFLAGS="$LDFLAGS  -Wl,--nxcompat"
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdio.h>
+int
+main ()
+{
+char x[42U];if (fgets(x,1000,stdin)) puts(x)
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ax_cv_check_ldflags___Wl___nxcompat=yes
+else
+  ax_cv_check_ldflags___Wl___nxcompat=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+  LDFLAGS=$ax_check_save_flags
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_ldflags___Wl___nxcompat" >&5
+$as_echo "$ax_cv_check_ldflags___Wl___nxcompat" >&6; }
+if test x"$ax_cv_check_ldflags___Wl___nxcompat" = xyes; then :
+  LDFLAGS="$LDFLAGS -Wl,--nxcompat"
+else
+  :
+fi
+
+   ;; #(
+  *) :
+     ;;
+esac
+
+if test "x$enable_ssp" != "xno"; then :
+
+
+case $host_os in #(
+  cygwin* | mingw* | pw32* | cegcc*) :
+      ;; #(
+  dragonfly*) :
+
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -fstack-protector" >&5
+$as_echo_n "checking whether C compiler accepts -fstack-protector... " >&6; }
+if ${ax_cv_check_cflags___fstack_protector+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+
+  ax_check_save_flags=$CFLAGS
+  CFLAGS="$CFLAGS  -fstack-protector"
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdio.h>
+int
+main ()
+{
+char x[42U], fodder = 0;if (fodder > -1000 && fgets(x,1000,stdin)) puts(x)
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ax_cv_check_cflags___fstack_protector=yes
+else
+  ax_cv_check_cflags___fstack_protector=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  CFLAGS=$ax_check_save_flags
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags___fstack_protector" >&5
+$as_echo "$ax_cv_check_cflags___fstack_protector" >&6; }
+if test x"$ax_cv_check_cflags___fstack_protector" = xyes; then :
+
+      { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the linker accepts -fstack-protector" >&5
+$as_echo_n "checking whether the linker accepts -fstack-protector... " >&6; }
+if ${ax_cv_check_ldflags___fstack_protector+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+
+  ax_check_save_flags=$LDFLAGS
+  LDFLAGS="$LDFLAGS  -fstack-protector"
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdio.h>
+int
+main ()
+{
+char x[42U];if (fgets(x,1000,stdin)) puts(x)
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ax_cv_check_ldflags___fstack_protector=yes
+else
+  ax_cv_check_ldflags___fstack_protector=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+  LDFLAGS=$ax_check_save_flags
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_ldflags___fstack_protector" >&5
+$as_echo "$ax_cv_check_ldflags___fstack_protector" >&6; }
+if test x"$ax_cv_check_ldflags___fstack_protector" = xyes; then :
+  CFLAGS="$CFLAGS -fstack-protector"
+
+else
+  :
+fi
+
+
+else
+  :
+fi
+
+   ;; #(
+  *) :
+
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -fstack-protector-all" >&5
+$as_echo_n "checking whether C compiler accepts -fstack-protector-all... " >&6; }
+if ${ax_cv_check_cflags___fstack_protector_all+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+
+  ax_check_save_flags=$CFLAGS
+  CFLAGS="$CFLAGS  -fstack-protector-all"
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdio.h>
+int
+main ()
+{
+char x[42U], fodder = 0;if (fodder > -1000 && fgets(x,1000,stdin)) puts(x)
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ax_cv_check_cflags___fstack_protector_all=yes
+else
+  ax_cv_check_cflags___fstack_protector_all=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  CFLAGS=$ax_check_save_flags
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags___fstack_protector_all" >&5
+$as_echo "$ax_cv_check_cflags___fstack_protector_all" >&6; }
+if test x"$ax_cv_check_cflags___fstack_protector_all" = xyes; then :
+
+      { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the linker accepts -fstack-protector-all" >&5
+$as_echo_n "checking whether the linker accepts -fstack-protector-all... " >&6; }
+if ${ax_cv_check_ldflags___fstack_protector_all+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+
+  ax_check_save_flags=$LDFLAGS
+  LDFLAGS="$LDFLAGS  -fstack-protector-all"
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdio.h>
+int
+main ()
+{
+char x[42U];if (fgets(x,1000,stdin)) puts(x)
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ax_cv_check_ldflags___fstack_protector_all=yes
+else
+  ax_cv_check_ldflags___fstack_protector_all=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+  LDFLAGS=$ax_check_save_flags
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_ldflags___fstack_protector_all" >&5
+$as_echo "$ax_cv_check_ldflags___fstack_protector_all" >&6; }
+if test x"$ax_cv_check_ldflags___fstack_protector_all" = xyes; then :
+  CFLAGS="$CFLAGS -fstack-protector-all"
+
+else
+  :
+fi
+
+
+else
+  :
+fi
+
+   ;; #(
+  *) :
+     ;;
+esac
+
+fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -Winit-self" >&5
+$as_echo_n "checking whether C compiler accepts -Winit-self... " >&6; }
+if ${ax_cv_check_cflags___Winit_self+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+
+  ax_check_save_flags=$CFLAGS
+  CFLAGS="$CFLAGS  -Winit-self"
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdio.h>
+int
+main ()
+{
+char x[42U], fodder = 0;if (fodder > -1000 && fgets(x,1000,stdin)) puts(x)
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ax_cv_check_cflags___Winit_self=yes
+else
+  ax_cv_check_cflags___Winit_self=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  CFLAGS=$ax_check_save_flags
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags___Winit_self" >&5
+$as_echo "$ax_cv_check_cflags___Winit_self" >&6; }
+if test x"$ax_cv_check_cflags___Winit_self" = xyes; then :
+  CFLAGS="$CFLAGS -Winit-self"
+else
+  :
+fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -Wwrite-strings" >&5
+$as_echo_n "checking whether C compiler accepts -Wwrite-strings... " >&6; }
+if ${ax_cv_check_cflags___Wwrite_strings+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+
+  ax_check_save_flags=$CFLAGS
+  CFLAGS="$CFLAGS  -Wwrite-strings"
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdio.h>
+int
+main ()
+{
+char x[42U], fodder = 0;if (fodder > -1000 && fgets(x,1000,stdin)) puts(x)
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ax_cv_check_cflags___Wwrite_strings=yes
+else
+  ax_cv_check_cflags___Wwrite_strings=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  CFLAGS=$ax_check_save_flags
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags___Wwrite_strings" >&5
+$as_echo "$ax_cv_check_cflags___Wwrite_strings" >&6; }
+if test x"$ax_cv_check_cflags___Wwrite_strings" = xyes; then :
+  CFLAGS="$CFLAGS -Wwrite-strings"
+else
+  :
+fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -Wdiv-by-zero" >&5
+$as_echo_n "checking whether C compiler accepts -Wdiv-by-zero... " >&6; }
+if ${ax_cv_check_cflags___Wdiv_by_zero+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+
+  ax_check_save_flags=$CFLAGS
+  CFLAGS="$CFLAGS  -Wdiv-by-zero"
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdio.h>
+int
+main ()
+{
+char x[42U], fodder = 0;if (fodder > -1000 && fgets(x,1000,stdin)) puts(x)
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ax_cv_check_cflags___Wdiv_by_zero=yes
+else
+  ax_cv_check_cflags___Wdiv_by_zero=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  CFLAGS=$ax_check_save_flags
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags___Wdiv_by_zero" >&5
+$as_echo "$ax_cv_check_cflags___Wdiv_by_zero" >&6; }
+if test x"$ax_cv_check_cflags___Wdiv_by_zero" = xyes; then :
+  CFLAGS="$CFLAGS -Wdiv-by-zero"
+else
+  :
+fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -Wsometimes-uninitialized" >&5
+$as_echo_n "checking whether C compiler accepts -Wsometimes-uninitialized... " >&6; }
+if ${ax_cv_check_cflags___Wsometimes_uninitialized+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+
+  ax_check_save_flags=$CFLAGS
+  CFLAGS="$CFLAGS  -Wsometimes-uninitialized"
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdio.h>
+int
+main ()
+{
+char x[42U], fodder = 0;if (fodder > -1000 && fgets(x,1000,stdin)) puts(x)
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ax_cv_check_cflags___Wsometimes_uninitialized=yes
+else
+  ax_cv_check_cflags___Wsometimes_uninitialized=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  CFLAGS=$ax_check_save_flags
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags___Wsometimes_uninitialized" >&5
+$as_echo "$ax_cv_check_cflags___Wsometimes_uninitialized" >&6; }
+if test x"$ax_cv_check_cflags___Wsometimes_uninitialized" = xyes; then :
+  CFLAGS="$CFLAGS -Wsometimes-uninitialized"
+else
+  :
+fi
+
+
+
+
+as_CACHEVAR=`$as_echo "ax_cv_check_cflags__$CWFLAGS -Wall" | $as_tr_sh`
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts $CWFLAGS -Wall" >&5
+$as_echo_n "checking whether C compiler accepts $CWFLAGS -Wall... " >&6; }
+if eval \${$as_CACHEVAR+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+
+  ax_check_save_flags=$CFLAGS
+  CFLAGS="$CFLAGS  $CWFLAGS -Wall"
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdio.h>
+int
+main ()
+{
+char x[42U], fodder = 0;if (fodder > -1000 && fgets(x,1000,stdin)) puts(x)
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  eval "$as_CACHEVAR=yes"
+else
+  eval "$as_CACHEVAR=no"
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  CFLAGS=$ax_check_save_flags
+fi
+eval ac_res=\$$as_CACHEVAR
+	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+if test x"`eval 'as_val=${'$as_CACHEVAR'};$as_echo "$as_val"'`" = xyes; then :
+  CWFLAGS="$CWFLAGS -Wall"
+else
+  :
+fi
+
+as_CACHEVAR=`$as_echo "ax_cv_check_cflags__$CWFLAGS -Wextra" | $as_tr_sh`
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts $CWFLAGS -Wextra" >&5
+$as_echo_n "checking whether C compiler accepts $CWFLAGS -Wextra... " >&6; }
+if eval \${$as_CACHEVAR+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+
+  ax_check_save_flags=$CFLAGS
+  CFLAGS="$CFLAGS  $CWFLAGS -Wextra"
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdio.h>
+int
+main ()
+{
+char x[42U], fodder = 0;if (fodder > -1000 && fgets(x,1000,stdin)) puts(x)
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  eval "$as_CACHEVAR=yes"
+else
+  eval "$as_CACHEVAR=no"
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  CFLAGS=$ax_check_save_flags
+fi
+eval ac_res=\$$as_CACHEVAR
+	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+if test x"`eval 'as_val=${'$as_CACHEVAR'};$as_echo "$as_val"'`" = xyes; then :
+  CWFLAGS="$CWFLAGS -Wextra"
+else
+  :
+fi
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for clang" >&5
+$as_echo_n "checking for clang... " >&6; }
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+#ifndef __clang__
+be sad
+#endif
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+   as_CACHEVAR=`$as_echo "ax_cv_check_cflags__$CWFLAGS -Wno-unknown-warning-option" | $as_tr_sh`
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts $CWFLAGS -Wno-unknown-warning-option" >&5
+$as_echo_n "checking whether C compiler accepts $CWFLAGS -Wno-unknown-warning-option... " >&6; }
+if eval \${$as_CACHEVAR+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+
+  ax_check_save_flags=$CFLAGS
+  CFLAGS="$CFLAGS  $CWFLAGS -Wno-unknown-warning-option"
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdio.h>
+int
+main ()
+{
+char x[42U], fodder = 0;if (fodder > -1000 && fgets(x,1000,stdin)) puts(x)
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  eval "$as_CACHEVAR=yes"
+else
+  eval "$as_CACHEVAR=no"
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  CFLAGS=$ax_check_save_flags
+fi
+eval ac_res=\$$as_CACHEVAR
+	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+if test x"`eval 'as_val=${'$as_CACHEVAR'};$as_echo "$as_val"'`" = xyes; then :
+  CWFLAGS="$CWFLAGS -Wno-unknown-warning-option"
+else
+  :
+fi
+
+
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+as_CACHEVAR=`$as_echo "ax_cv_check_cflags__$CWFLAGS -Wbad-function-cast" | $as_tr_sh`
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts $CWFLAGS -Wbad-function-cast" >&5
+$as_echo_n "checking whether C compiler accepts $CWFLAGS -Wbad-function-cast... " >&6; }
+if eval \${$as_CACHEVAR+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+
+  ax_check_save_flags=$CFLAGS
+  CFLAGS="$CFLAGS  $CWFLAGS -Wbad-function-cast"
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdio.h>
+int
+main ()
+{
+char x[42U], fodder = 0;if (fodder > -1000 && fgets(x,1000,stdin)) puts(x)
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  eval "$as_CACHEVAR=yes"
+else
+  eval "$as_CACHEVAR=no"
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  CFLAGS=$ax_check_save_flags
+fi
+eval ac_res=\$$as_CACHEVAR
+	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+if test x"`eval 'as_val=${'$as_CACHEVAR'};$as_echo "$as_val"'`" = xyes; then :
+  CWFLAGS="$CWFLAGS -Wbad-function-cast"
+else
+  :
+fi
+
+as_CACHEVAR=`$as_echo "ax_cv_check_cflags__$CWFLAGS -Wcast-align" | $as_tr_sh`
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts $CWFLAGS -Wcast-align" >&5
+$as_echo_n "checking whether C compiler accepts $CWFLAGS -Wcast-align... " >&6; }
+if eval \${$as_CACHEVAR+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+
+  ax_check_save_flags=$CFLAGS
+  CFLAGS="$CFLAGS  $CWFLAGS -Wcast-align"
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdio.h>
+int
+main ()
+{
+char x[42U], fodder = 0;if (fodder > -1000 && fgets(x,1000,stdin)) puts(x)
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  eval "$as_CACHEVAR=yes"
+else
+  eval "$as_CACHEVAR=no"
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  CFLAGS=$ax_check_save_flags
+fi
+eval ac_res=\$$as_CACHEVAR
+	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+if test x"`eval 'as_val=${'$as_CACHEVAR'};$as_echo "$as_val"'`" = xyes; then :
+  CWFLAGS="$CWFLAGS -Wcast-align"
+else
+  :
+fi
+
+as_CACHEVAR=`$as_echo "ax_cv_check_cflags__$CWFLAGS -Wcast-qual" | $as_tr_sh`
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts $CWFLAGS -Wcast-qual" >&5
+$as_echo_n "checking whether C compiler accepts $CWFLAGS -Wcast-qual... " >&6; }
+if eval \${$as_CACHEVAR+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+
+  ax_check_save_flags=$CFLAGS
+  CFLAGS="$CFLAGS  $CWFLAGS -Wcast-qual"
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdio.h>
+int
+main ()
+{
+char x[42U], fodder = 0;if (fodder > -1000 && fgets(x,1000,stdin)) puts(x)
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  eval "$as_CACHEVAR=yes"
+else
+  eval "$as_CACHEVAR=no"
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  CFLAGS=$ax_check_save_flags
+fi
+eval ac_res=\$$as_CACHEVAR
+	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+if test x"`eval 'as_val=${'$as_CACHEVAR'};$as_echo "$as_val"'`" = xyes; then :
+  CWFLAGS="$CWFLAGS -Wcast-qual"
+else
+  :
+fi
+
+as_CACHEVAR=`$as_echo "ax_cv_check_cflags__$CWFLAGS -Wchar-subscripts" | $as_tr_sh`
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts $CWFLAGS -Wchar-subscripts" >&5
+$as_echo_n "checking whether C compiler accepts $CWFLAGS -Wchar-subscripts... " >&6; }
+if eval \${$as_CACHEVAR+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+
+  ax_check_save_flags=$CFLAGS
+  CFLAGS="$CFLAGS  $CWFLAGS -Wchar-subscripts"
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdio.h>
+int
+main ()
+{
+char x[42U], fodder = 0;if (fodder > -1000 && fgets(x,1000,stdin)) puts(x)
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  eval "$as_CACHEVAR=yes"
+else
+  eval "$as_CACHEVAR=no"
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  CFLAGS=$ax_check_save_flags
+fi
+eval ac_res=\$$as_CACHEVAR
+	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+if test x"`eval 'as_val=${'$as_CACHEVAR'};$as_echo "$as_val"'`" = xyes; then :
+  CWFLAGS="$CWFLAGS -Wchar-subscripts"
+else
+  :
+fi
+
+as_CACHEVAR=`$as_echo "ax_cv_check_cflags__$CWFLAGS -Wcomment" | $as_tr_sh`
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts $CWFLAGS -Wcomment" >&5
+$as_echo_n "checking whether C compiler accepts $CWFLAGS -Wcomment... " >&6; }
+if eval \${$as_CACHEVAR+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+
+  ax_check_save_flags=$CFLAGS
+  CFLAGS="$CFLAGS  $CWFLAGS -Wcomment"
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdio.h>
+int
+main ()
+{
+char x[42U], fodder = 0;if (fodder > -1000 && fgets(x,1000,stdin)) puts(x)
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  eval "$as_CACHEVAR=yes"
+else
+  eval "$as_CACHEVAR=no"
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  CFLAGS=$ax_check_save_flags
+fi
+eval ac_res=\$$as_CACHEVAR
+	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+if test x"`eval 'as_val=${'$as_CACHEVAR'};$as_echo "$as_val"'`" = xyes; then :
+  CWFLAGS="$CWFLAGS -Wcomment"
+else
+  :
+fi
+
+as_CACHEVAR=`$as_echo "ax_cv_check_cflags__$CWFLAGS -Wfloat-equal" | $as_tr_sh`
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts $CWFLAGS -Wfloat-equal" >&5
+$as_echo_n "checking whether C compiler accepts $CWFLAGS -Wfloat-equal... " >&6; }
+if eval \${$as_CACHEVAR+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+
+  ax_check_save_flags=$CFLAGS
+  CFLAGS="$CFLAGS  $CWFLAGS -Wfloat-equal"
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdio.h>
+int
+main ()
+{
+char x[42U], fodder = 0;if (fodder > -1000 && fgets(x,1000,stdin)) puts(x)
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  eval "$as_CACHEVAR=yes"
+else
+  eval "$as_CACHEVAR=no"
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  CFLAGS=$ax_check_save_flags
+fi
+eval ac_res=\$$as_CACHEVAR
+	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+if test x"`eval 'as_val=${'$as_CACHEVAR'};$as_echo "$as_val"'`" = xyes; then :
+  CWFLAGS="$CWFLAGS -Wfloat-equal"
+else
+  :
+fi
+
+as_CACHEVAR=`$as_echo "ax_cv_check_cflags__$CWFLAGS -Wformat=2" | $as_tr_sh`
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts $CWFLAGS -Wformat=2" >&5
+$as_echo_n "checking whether C compiler accepts $CWFLAGS -Wformat=2... " >&6; }
+if eval \${$as_CACHEVAR+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+
+  ax_check_save_flags=$CFLAGS
+  CFLAGS="$CFLAGS  $CWFLAGS -Wformat=2"
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdio.h>
+int
+main ()
+{
+char x[42U], fodder = 0;if (fodder > -1000 && fgets(x,1000,stdin)) puts(x)
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  eval "$as_CACHEVAR=yes"
+else
+  eval "$as_CACHEVAR=no"
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  CFLAGS=$ax_check_save_flags
+fi
+eval ac_res=\$$as_CACHEVAR
+	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+if test x"`eval 'as_val=${'$as_CACHEVAR'};$as_echo "$as_val"'`" = xyes; then :
+  CWFLAGS="$CWFLAGS -Wformat=2"
+else
+  :
+fi
+
+as_CACHEVAR=`$as_echo "ax_cv_check_cflags__$CWFLAGS -Wimplicit" | $as_tr_sh`
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts $CWFLAGS -Wimplicit" >&5
+$as_echo_n "checking whether C compiler accepts $CWFLAGS -Wimplicit... " >&6; }
+if eval \${$as_CACHEVAR+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+
+  ax_check_save_flags=$CFLAGS
+  CFLAGS="$CFLAGS  $CWFLAGS -Wimplicit"
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdio.h>
+int
+main ()
+{
+char x[42U], fodder = 0;if (fodder > -1000 && fgets(x,1000,stdin)) puts(x)
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  eval "$as_CACHEVAR=yes"
+else
+  eval "$as_CACHEVAR=no"
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  CFLAGS=$ax_check_save_flags
+fi
+eval ac_res=\$$as_CACHEVAR
+	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+if test x"`eval 'as_val=${'$as_CACHEVAR'};$as_echo "$as_val"'`" = xyes; then :
+  CWFLAGS="$CWFLAGS -Wimplicit"
+else
+  :
+fi
+
+as_CACHEVAR=`$as_echo "ax_cv_check_cflags__$CWFLAGS -Wmissing-declarations" | $as_tr_sh`
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts $CWFLAGS -Wmissing-declarations" >&5
+$as_echo_n "checking whether C compiler accepts $CWFLAGS -Wmissing-declarations... " >&6; }
+if eval \${$as_CACHEVAR+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+
+  ax_check_save_flags=$CFLAGS
+  CFLAGS="$CFLAGS  $CWFLAGS -Wmissing-declarations"
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdio.h>
+int
+main ()
+{
+char x[42U], fodder = 0;if (fodder > -1000 && fgets(x,1000,stdin)) puts(x)
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  eval "$as_CACHEVAR=yes"
+else
+  eval "$as_CACHEVAR=no"
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  CFLAGS=$ax_check_save_flags
+fi
+eval ac_res=\$$as_CACHEVAR
+	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+if test x"`eval 'as_val=${'$as_CACHEVAR'};$as_echo "$as_val"'`" = xyes; then :
+  CWFLAGS="$CWFLAGS -Wmissing-declarations"
+else
+  :
+fi
+
+as_CACHEVAR=`$as_echo "ax_cv_check_cflags__$CWFLAGS -Wmissing-prototypes" | $as_tr_sh`
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts $CWFLAGS -Wmissing-prototypes" >&5
+$as_echo_n "checking whether C compiler accepts $CWFLAGS -Wmissing-prototypes... " >&6; }
+if eval \${$as_CACHEVAR+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+
+  ax_check_save_flags=$CFLAGS
+  CFLAGS="$CFLAGS  $CWFLAGS -Wmissing-prototypes"
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdio.h>
+int
+main ()
+{
+char x[42U], fodder = 0;if (fodder > -1000 && fgets(x,1000,stdin)) puts(x)
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  eval "$as_CACHEVAR=yes"
+else
+  eval "$as_CACHEVAR=no"
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  CFLAGS=$ax_check_save_flags
+fi
+eval ac_res=\$$as_CACHEVAR
+	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+if test x"`eval 'as_val=${'$as_CACHEVAR'};$as_echo "$as_val"'`" = xyes; then :
+  CWFLAGS="$CWFLAGS -Wmissing-prototypes"
+else
+  :
+fi
+
+as_CACHEVAR=`$as_echo "ax_cv_check_cflags__$CWFLAGS -Wnormalized=id" | $as_tr_sh`
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts $CWFLAGS -Wnormalized=id" >&5
+$as_echo_n "checking whether C compiler accepts $CWFLAGS -Wnormalized=id... " >&6; }
+if eval \${$as_CACHEVAR+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+
+  ax_check_save_flags=$CFLAGS
+  CFLAGS="$CFLAGS  $CWFLAGS -Wnormalized=id"
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdio.h>
+int
+main ()
+{
+char x[42U], fodder = 0;if (fodder > -1000 && fgets(x,1000,stdin)) puts(x)
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  eval "$as_CACHEVAR=yes"
+else
+  eval "$as_CACHEVAR=no"
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  CFLAGS=$ax_check_save_flags
+fi
+eval ac_res=\$$as_CACHEVAR
+	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+if test x"`eval 'as_val=${'$as_CACHEVAR'};$as_echo "$as_val"'`" = xyes; then :
+  CWFLAGS="$CWFLAGS -Wnormalized=id"
+else
+  :
+fi
+
+as_CACHEVAR=`$as_echo "ax_cv_check_cflags__$CWFLAGS -Woverride-init" | $as_tr_sh`
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts $CWFLAGS -Woverride-init" >&5
+$as_echo_n "checking whether C compiler accepts $CWFLAGS -Woverride-init... " >&6; }
+if eval \${$as_CACHEVAR+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+
+  ax_check_save_flags=$CFLAGS
+  CFLAGS="$CFLAGS  $CWFLAGS -Woverride-init"
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdio.h>
+int
+main ()
+{
+char x[42U], fodder = 0;if (fodder > -1000 && fgets(x,1000,stdin)) puts(x)
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  eval "$as_CACHEVAR=yes"
+else
+  eval "$as_CACHEVAR=no"
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  CFLAGS=$ax_check_save_flags
+fi
+eval ac_res=\$$as_CACHEVAR
+	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+if test x"`eval 'as_val=${'$as_CACHEVAR'};$as_echo "$as_val"'`" = xyes; then :
+  CWFLAGS="$CWFLAGS -Woverride-init"
+else
+  :
+fi
+
+as_CACHEVAR=`$as_echo "ax_cv_check_cflags__$CWFLAGS -Wparentheses" | $as_tr_sh`
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts $CWFLAGS -Wparentheses" >&5
+$as_echo_n "checking whether C compiler accepts $CWFLAGS -Wparentheses... " >&6; }
+if eval \${$as_CACHEVAR+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+
+  ax_check_save_flags=$CFLAGS
+  CFLAGS="$CFLAGS  $CWFLAGS -Wparentheses"
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdio.h>
+int
+main ()
+{
+char x[42U], fodder = 0;if (fodder > -1000 && fgets(x,1000,stdin)) puts(x)
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  eval "$as_CACHEVAR=yes"
+else
+  eval "$as_CACHEVAR=no"
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  CFLAGS=$ax_check_save_flags
+fi
+eval ac_res=\$$as_CACHEVAR
+	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+if test x"`eval 'as_val=${'$as_CACHEVAR'};$as_echo "$as_val"'`" = xyes; then :
+  CWFLAGS="$CWFLAGS -Wparentheses"
+else
+  :
+fi
+
+as_CACHEVAR=`$as_echo "ax_cv_check_cflags__$CWFLAGS -Wpointer-arith" | $as_tr_sh`
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts $CWFLAGS -Wpointer-arith" >&5
+$as_echo_n "checking whether C compiler accepts $CWFLAGS -Wpointer-arith... " >&6; }
+if eval \${$as_CACHEVAR+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+
+  ax_check_save_flags=$CFLAGS
+  CFLAGS="$CFLAGS  $CWFLAGS -Wpointer-arith"
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdio.h>
+int
+main ()
+{
+char x[42U], fodder = 0;if (fodder > -1000 && fgets(x,1000,stdin)) puts(x)
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  eval "$as_CACHEVAR=yes"
+else
+  eval "$as_CACHEVAR=no"
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  CFLAGS=$ax_check_save_flags
+fi
+eval ac_res=\$$as_CACHEVAR
+	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+if test x"`eval 'as_val=${'$as_CACHEVAR'};$as_echo "$as_val"'`" = xyes; then :
+  CWFLAGS="$CWFLAGS -Wpointer-arith"
+else
+  :
+fi
+
+as_CACHEVAR=`$as_echo "ax_cv_check_cflags__$CWFLAGS -Wredundant-decls" | $as_tr_sh`
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts $CWFLAGS -Wredundant-decls" >&5
+$as_echo_n "checking whether C compiler accepts $CWFLAGS -Wredundant-decls... " >&6; }
+if eval \${$as_CACHEVAR+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+
+  ax_check_save_flags=$CFLAGS
+  CFLAGS="$CFLAGS  $CWFLAGS -Wredundant-decls"
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdio.h>
+int
+main ()
+{
+char x[42U], fodder = 0;if (fodder > -1000 && fgets(x,1000,stdin)) puts(x)
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  eval "$as_CACHEVAR=yes"
+else
+  eval "$as_CACHEVAR=no"
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  CFLAGS=$ax_check_save_flags
+fi
+eval ac_res=\$$as_CACHEVAR
+	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+if test x"`eval 'as_val=${'$as_CACHEVAR'};$as_echo "$as_val"'`" = xyes; then :
+  CWFLAGS="$CWFLAGS -Wredundant-decls"
+else
+  :
+fi
+
+as_CACHEVAR=`$as_echo "ax_cv_check_cflags__$CWFLAGS -Wstrict-prototypes" | $as_tr_sh`
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts $CWFLAGS -Wstrict-prototypes" >&5
+$as_echo_n "checking whether C compiler accepts $CWFLAGS -Wstrict-prototypes... " >&6; }
+if eval \${$as_CACHEVAR+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+
+  ax_check_save_flags=$CFLAGS
+  CFLAGS="$CFLAGS  $CWFLAGS -Wstrict-prototypes"
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdio.h>
+int
+main ()
+{
+char x[42U], fodder = 0;if (fodder > -1000 && fgets(x,1000,stdin)) puts(x)
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  eval "$as_CACHEVAR=yes"
+else
+  eval "$as_CACHEVAR=no"
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  CFLAGS=$ax_check_save_flags
+fi
+eval ac_res=\$$as_CACHEVAR
+	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+if test x"`eval 'as_val=${'$as_CACHEVAR'};$as_echo "$as_val"'`" = xyes; then :
+  CWFLAGS="$CWFLAGS -Wstrict-prototypes"
+else
+  :
+fi
+
+as_CACHEVAR=`$as_echo "ax_cv_check_cflags__$CWFLAGS -Wswitch-enum" | $as_tr_sh`
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts $CWFLAGS -Wswitch-enum" >&5
+$as_echo_n "checking whether C compiler accepts $CWFLAGS -Wswitch-enum... " >&6; }
+if eval \${$as_CACHEVAR+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+
+  ax_check_save_flags=$CFLAGS
+  CFLAGS="$CFLAGS  $CWFLAGS -Wswitch-enum"
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdio.h>
+int
+main ()
+{
+char x[42U], fodder = 0;if (fodder > -1000 && fgets(x,1000,stdin)) puts(x)
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  eval "$as_CACHEVAR=yes"
+else
+  eval "$as_CACHEVAR=no"
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  CFLAGS=$ax_check_save_flags
+fi
+eval ac_res=\$$as_CACHEVAR
+	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+if test x"`eval 'as_val=${'$as_CACHEVAR'};$as_echo "$as_val"'`" = xyes; then :
+  CWFLAGS="$CWFLAGS -Wswitch-enum"
+else
+  :
+fi
+
+as_CACHEVAR=`$as_echo "ax_cv_check_cflags__$CWFLAGS -Wvariable-decl" | $as_tr_sh`
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts $CWFLAGS -Wvariable-decl" >&5
+$as_echo_n "checking whether C compiler accepts $CWFLAGS -Wvariable-decl... " >&6; }
+if eval \${$as_CACHEVAR+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+
+  ax_check_save_flags=$CFLAGS
+  CFLAGS="$CFLAGS  $CWFLAGS -Wvariable-decl"
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdio.h>
+int
+main ()
+{
+char x[42U], fodder = 0;if (fodder > -1000 && fgets(x,1000,stdin)) puts(x)
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  eval "$as_CACHEVAR=yes"
+else
+  eval "$as_CACHEVAR=no"
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  CFLAGS=$ax_check_save_flags
+fi
+eval ac_res=\$$as_CACHEVAR
+	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+if test x"`eval 'as_val=${'$as_CACHEVAR'};$as_echo "$as_val"'`" = xyes; then :
+  CWFLAGS="$CWFLAGS -Wvariable-decl"
+else
+  :
+fi
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the linker accepts -Wl,-z,relro" >&5
+$as_echo_n "checking whether the linker accepts -Wl,-z,relro... " >&6; }
+if ${ax_cv_check_ldflags___Wl__z_relro+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+
+  ax_check_save_flags=$LDFLAGS
+  LDFLAGS="$LDFLAGS  -Wl,-z,relro"
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdio.h>
+int
+main ()
+{
+char x[42U];if (fgets(x,1000,stdin)) puts(x)
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ax_cv_check_ldflags___Wl__z_relro=yes
+else
+  ax_cv_check_ldflags___Wl__z_relro=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+  LDFLAGS=$ax_check_save_flags
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_ldflags___Wl__z_relro" >&5
+$as_echo "$ax_cv_check_ldflags___Wl__z_relro" >&6; }
+if test x"$ax_cv_check_ldflags___Wl__z_relro" = xyes; then :
+  LDFLAGS="$LDFLAGS -Wl,-z,relro"
+else
+  :
+fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the linker accepts -Wl,-z,now" >&5
+$as_echo_n "checking whether the linker accepts -Wl,-z,now... " >&6; }
+if ${ax_cv_check_ldflags___Wl__z_now+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+
+  ax_check_save_flags=$LDFLAGS
+  LDFLAGS="$LDFLAGS  -Wl,-z,now"
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdio.h>
+int
+main ()
+{
+char x[42U];if (fgets(x,1000,stdin)) puts(x)
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ax_cv_check_ldflags___Wl__z_now=yes
+else
+  ax_cv_check_ldflags___Wl__z_now=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+  LDFLAGS=$ax_check_save_flags
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_ldflags___Wl__z_now" >&5
+$as_echo "$ax_cv_check_ldflags___Wl__z_now" >&6; }
+if test x"$ax_cv_check_ldflags___Wl__z_now" = xyes; then :
+  LDFLAGS="$LDFLAGS -Wl,-z,now"
+else
+  :
+fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the linker accepts -Wl,-z,noexecstack" >&5
+$as_echo_n "checking whether the linker accepts -Wl,-z,noexecstack... " >&6; }
+if ${ax_cv_check_ldflags___Wl__z_noexecstack+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+
+  ax_check_save_flags=$LDFLAGS
+  LDFLAGS="$LDFLAGS  -Wl,-z,noexecstack"
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdio.h>
+int
+main ()
+{
+char x[42U];if (fgets(x,1000,stdin)) puts(x)
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ax_cv_check_ldflags___Wl__z_noexecstack=yes
+else
+  ax_cv_check_ldflags___Wl__z_noexecstack=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+  LDFLAGS=$ax_check_save_flags
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_ldflags___Wl__z_noexecstack" >&5
+$as_echo "$ax_cv_check_ldflags___Wl__z_noexecstack" >&6; }
+if test x"$ax_cv_check_ldflags___Wl__z_noexecstack" = xyes; then :
+  LDFLAGS="$LDFLAGS -Wl,-z,noexecstack"
+else
+  :
+fi
+
+
+case `pwd` in
+  *\ * | *\	*)
+    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5
+$as_echo "$as_me: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&2;} ;;
+esac
+
+
+
+macro_version='2.4.2'
+macro_revision='1.3337'
+
+
+
+
+
+
+
+
+
+
+
+
+
+ltmain="$ac_aux_dir/ltmain.sh"
+
+# Backslashify metacharacters that are still active within
+# double-quoted strings.
+sed_quote_subst='s/\(["`$\\]\)/\\\1/g'
+
+# Same as above, but do not quote variable references.
+double_quote_subst='s/\(["`\\]\)/\\\1/g'
+
+# Sed substitution to delay expansion of an escaped shell variable in a
+# double_quote_subst'ed string.
+delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
+
+# Sed substitution to delay expansion of an escaped single quote.
+delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g'
+
+# Sed substitution to avoid accidental globbing in evaled expressions
+no_glob_subst='s/\*/\\\*/g'
+
+ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
+ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
+ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to print strings" >&5
+$as_echo_n "checking how to print strings... " >&6; }
+# Test print first, because it will be a builtin if present.
+if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \
+   test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then
+  ECHO='print -r --'
+elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then
+  ECHO='printf %s\n'
+else
+  # Use this function as a fallback that always works.
+  func_fallback_echo ()
+  {
+    eval 'cat <<_LTECHO_EOF
+$1
+_LTECHO_EOF'
+  }
+  ECHO='func_fallback_echo'
+fi
+
+# func_echo_all arg...
+# Invoke $ECHO with all args, space-separated.
+func_echo_all ()
+{
+    $ECHO ""
+}
+
+case "$ECHO" in
+  printf*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: printf" >&5
+$as_echo "printf" >&6; } ;;
+  print*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: print -r" >&5
+$as_echo "print -r" >&6; } ;;
+  *) { $as_echo "$as_me:${as_lineno-$LINENO}: result: cat" >&5
+$as_echo "cat" >&6; } ;;
+esac
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5
+$as_echo_n "checking for a sed that does not truncate output... " >&6; }
+if ${ac_cv_path_SED+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+            ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/
+     for ac_i in 1 2 3 4 5 6 7; do
+       ac_script="$ac_script$as_nl$ac_script"
+     done
+     echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed
+     { ac_script=; unset ac_script;}
+     if test -z "$SED"; then
+  ac_path_SED_found=false
+  # Loop through the user's path and test for each of PROGNAME-LIST
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_prog in sed gsed; do
+    for ac_exec_ext in '' $ac_executable_extensions; do
+      ac_path_SED="$as_dir/$ac_prog$ac_exec_ext"
+      as_fn_executable_p "$ac_path_SED" || continue
+# Check for GNU ac_path_SED and select it if it is found.
+  # Check for GNU $ac_path_SED
+case `"$ac_path_SED" --version 2>&1` in
+*GNU*)
+  ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;;
+*)
+  ac_count=0
+  $as_echo_n 0123456789 >"conftest.in"
+  while :
+  do
+    cat "conftest.in" "conftest.in" >"conftest.tmp"
+    mv "conftest.tmp" "conftest.in"
+    cp "conftest.in" "conftest.nl"
+    $as_echo '' >> "conftest.nl"
+    "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break
+    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
+    as_fn_arith $ac_count + 1 && ac_count=$as_val
+    if test $ac_count -gt ${ac_path_SED_max-0}; then
+      # Best one so far, save it but keep looking for a better one
+      ac_cv_path_SED="$ac_path_SED"
+      ac_path_SED_max=$ac_count
+    fi
+    # 10*(2^10) chars as input seems more than enough
+    test $ac_count -gt 10 && break
+  done
+  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
+esac
+
+      $ac_path_SED_found && break 3
+    done
+  done
+  done
+IFS=$as_save_IFS
+  if test -z "$ac_cv_path_SED"; then
+    as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5
+  fi
+else
+  ac_cv_path_SED=$SED
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5
+$as_echo "$ac_cv_path_SED" >&6; }
+ SED="$ac_cv_path_SED"
+  rm -f conftest.sed
+
+test -z "$SED" && SED=sed
+Xsed="$SED -e 1s/^X//"
+
+
+
+
+
+
+
+
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5
+$as_echo_n "checking for fgrep... " >&6; }
+if ${ac_cv_path_FGREP+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1
+   then ac_cv_path_FGREP="$GREP -F"
+   else
+     if test -z "$FGREP"; then
+  ac_path_FGREP_found=false
+  # Loop through the user's path and test for each of PROGNAME-LIST
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_prog in fgrep; do
+    for ac_exec_ext in '' $ac_executable_extensions; do
+      ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext"
+      as_fn_executable_p "$ac_path_FGREP" || continue
+# Check for GNU ac_path_FGREP and select it if it is found.
+  # Check for GNU $ac_path_FGREP
+case `"$ac_path_FGREP" --version 2>&1` in
+*GNU*)
+  ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_found=:;;
+*)
+  ac_count=0
+  $as_echo_n 0123456789 >"conftest.in"
+  while :
+  do
+    cat "conftest.in" "conftest.in" >"conftest.tmp"
+    mv "conftest.tmp" "conftest.in"
+    cp "conftest.in" "conftest.nl"
+    $as_echo 'FGREP' >> "conftest.nl"
+    "$ac_path_FGREP" FGREP < "conftest.nl" >"conftest.out" 2>/dev/null || break
+    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
+    as_fn_arith $ac_count + 1 && ac_count=$as_val
+    if test $ac_count -gt ${ac_path_FGREP_max-0}; then
+      # Best one so far, save it but keep looking for a better one
+      ac_cv_path_FGREP="$ac_path_FGREP"
+      ac_path_FGREP_max=$ac_count
+    fi
+    # 10*(2^10) chars as input seems more than enough
+    test $ac_count -gt 10 && break
+  done
+  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
+esac
+
+      $ac_path_FGREP_found && break 3
+    done
+  done
+  done
+IFS=$as_save_IFS
+  if test -z "$ac_cv_path_FGREP"; then
+    as_fn_error $? "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+  fi
+else
+  ac_cv_path_FGREP=$FGREP
+fi
+
+   fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_FGREP" >&5
+$as_echo "$ac_cv_path_FGREP" >&6; }
+ FGREP="$ac_cv_path_FGREP"
+
+
+test -z "$GREP" && GREP=grep
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+# Check whether --with-gnu-ld was given.
+if test "${with_gnu_ld+set}" = set; then :
+  withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes
+else
+  with_gnu_ld=no
+fi
+
+ac_prog=ld
+if test "$GCC" = yes; then
+  # Check if gcc -print-prog-name=ld gives a path.
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5
+$as_echo_n "checking for ld used by $CC... " >&6; }
+  case $host in
+  *-*-mingw*)
+    # gcc leaves a trailing carriage return which upsets mingw
+    ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
+  *)
+    ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
+  esac
+  case $ac_prog in
+    # Accept absolute paths.
+    [\\/]* | ?:[\\/]*)
+      re_direlt='/[^/][^/]*/\.\./'
+      # Canonicalize the pathname of ld
+      ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`
+      while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
+	ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
+      done
+      test -z "$LD" && LD="$ac_prog"
+      ;;
+  "")
+    # If it fails, then pretend we aren't using GCC.
+    ac_prog=ld
+    ;;
+  *)
+    # If it is relative, then search for the first ld in PATH.
+    with_gnu_ld=unknown
+    ;;
+  esac
+elif test "$with_gnu_ld" = yes; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5
+$as_echo_n "checking for GNU ld... " >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5
+$as_echo_n "checking for non-GNU ld... " >&6; }
+fi
+if ${lt_cv_path_LD+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -z "$LD"; then
+  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+  for ac_dir in $PATH; do
+    IFS="$lt_save_ifs"
+    test -z "$ac_dir" && ac_dir=.
+    if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
+      lt_cv_path_LD="$ac_dir/$ac_prog"
+      # Check to see if the program is GNU ld.  I'd rather use --version,
+      # but apparently some variants of GNU ld only accept -v.
+      # Break only if it was the GNU/non-GNU ld that we prefer.
+      case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
+      *GNU* | *'with BFD'*)
+	test "$with_gnu_ld" != no && break
+	;;
+      *)
+	test "$with_gnu_ld" != yes && break
+	;;
+      esac
+    fi
+  done
+  IFS="$lt_save_ifs"
+else
+  lt_cv_path_LD="$LD" # Let the user override the test with a path.
+fi
+fi
+
+LD="$lt_cv_path_LD"
+if test -n "$LD"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5
+$as_echo "$LD" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5
+$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; }
+if ${lt_cv_prog_gnu_ld+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  # I'd rather use --version here, but apparently some GNU lds only accept -v.
+case `$LD -v 2>&1 </dev/null` in
+*GNU* | *'with BFD'*)
+  lt_cv_prog_gnu_ld=yes
+  ;;
+*)
+  lt_cv_prog_gnu_ld=no
+  ;;
+esac
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_gnu_ld" >&5
+$as_echo "$lt_cv_prog_gnu_ld" >&6; }
+with_gnu_ld=$lt_cv_prog_gnu_ld
+
+
+
+
+
+
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for BSD- or MS-compatible name lister (nm)" >&5
+$as_echo_n "checking for BSD- or MS-compatible name lister (nm)... " >&6; }
+if ${lt_cv_path_NM+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$NM"; then
+  # Let the user override the test.
+  lt_cv_path_NM="$NM"
+else
+  lt_nm_to_check="${ac_tool_prefix}nm"
+  if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
+    lt_nm_to_check="$lt_nm_to_check nm"
+  fi
+  for lt_tmp_nm in $lt_nm_to_check; do
+    lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+    for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
+      IFS="$lt_save_ifs"
+      test -z "$ac_dir" && ac_dir=.
+      tmp_nm="$ac_dir/$lt_tmp_nm"
+      if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then
+	# Check to see if the nm accepts a BSD-compat flag.
+	# Adding the `sed 1q' prevents false positives on HP-UX, which says:
+	#   nm: unknown option "B" ignored
+	# Tru64's nm complains that /dev/null is an invalid object file
+	case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in
+	*/dev/null* | *'Invalid file or object type'*)
+	  lt_cv_path_NM="$tmp_nm -B"
+	  break
+	  ;;
+	*)
+	  case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
+	  */dev/null*)
+	    lt_cv_path_NM="$tmp_nm -p"
+	    break
+	    ;;
+	  *)
+	    lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
+	    continue # so that we can try to find one that supports BSD flags
+	    ;;
+	  esac
+	  ;;
+	esac
+      fi
+    done
+    IFS="$lt_save_ifs"
+  done
+  : ${lt_cv_path_NM=no}
+fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_NM" >&5
+$as_echo "$lt_cv_path_NM" >&6; }
+if test "$lt_cv_path_NM" != "no"; then
+  NM="$lt_cv_path_NM"
+else
+  # Didn't find any BSD compatible name lister, look for dumpbin.
+  if test -n "$DUMPBIN"; then :
+    # Let the user override the test.
+  else
+    if test -n "$ac_tool_prefix"; then
+  for ac_prog in dumpbin "link -dump"
+  do
+    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
+set dummy $ac_tool_prefix$ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_DUMPBIN+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$DUMPBIN"; then
+  ac_cv_prog_DUMPBIN="$DUMPBIN" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_DUMPBIN="$ac_tool_prefix$ac_prog"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+DUMPBIN=$ac_cv_prog_DUMPBIN
+if test -n "$DUMPBIN"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DUMPBIN" >&5
+$as_echo "$DUMPBIN" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+    test -n "$DUMPBIN" && break
+  done
+fi
+if test -z "$DUMPBIN"; then
+  ac_ct_DUMPBIN=$DUMPBIN
+  for ac_prog in dumpbin "link -dump"
+do
+  # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_DUMPBIN+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$ac_ct_DUMPBIN"; then
+  ac_cv_prog_ac_ct_DUMPBIN="$ac_ct_DUMPBIN" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_ac_ct_DUMPBIN="$ac_prog"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_DUMPBIN=$ac_cv_prog_ac_ct_DUMPBIN
+if test -n "$ac_ct_DUMPBIN"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DUMPBIN" >&5
+$as_echo "$ac_ct_DUMPBIN" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+  test -n "$ac_ct_DUMPBIN" && break
+done
+
+  if test "x$ac_ct_DUMPBIN" = x; then
+    DUMPBIN=":"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    DUMPBIN=$ac_ct_DUMPBIN
+  fi
+fi
+
+    case `$DUMPBIN -symbols /dev/null 2>&1 | sed '1q'` in
+    *COFF*)
+      DUMPBIN="$DUMPBIN -symbols"
+      ;;
+    *)
+      DUMPBIN=:
+      ;;
+    esac
+  fi
+
+  if test "$DUMPBIN" != ":"; then
+    NM="$DUMPBIN"
+  fi
+fi
+test -z "$NM" && NM=nm
+
+
+
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the name lister ($NM) interface" >&5
+$as_echo_n "checking the name lister ($NM) interface... " >&6; }
+if ${lt_cv_nm_interface+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  lt_cv_nm_interface="BSD nm"
+  echo "int some_variable = 0;" > conftest.$ac_ext
+  (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&5)
+  (eval "$ac_compile" 2>conftest.err)
+  cat conftest.err >&5
+  (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&5)
+  (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
+  cat conftest.err >&5
+  (eval echo "\"\$as_me:$LINENO: output\"" >&5)
+  cat conftest.out >&5
+  if $GREP 'External.*some_variable' conftest.out > /dev/null; then
+    lt_cv_nm_interface="MS dumpbin"
+  fi
+  rm -f conftest*
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_nm_interface" >&5
+$as_echo "$lt_cv_nm_interface" >&6; }
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5
+$as_echo_n "checking whether ln -s works... " >&6; }
+LN_S=$as_ln_s
+if test "$LN_S" = "ln -s"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5
+$as_echo "no, using $LN_S" >&6; }
+fi
+
+# find the maximum length of command line arguments
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the maximum length of command line arguments" >&5
+$as_echo_n "checking the maximum length of command line arguments... " >&6; }
+if ${lt_cv_sys_max_cmd_len+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+    i=0
+  teststring="ABCD"
+
+  case $build_os in
+  msdosdjgpp*)
+    # On DJGPP, this test can blow up pretty badly due to problems in libc
+    # (any single argument exceeding 2000 bytes causes a buffer overrun
+    # during glob expansion).  Even if it were fixed, the result of this
+    # check would be larger than it should be.
+    lt_cv_sys_max_cmd_len=12288;    # 12K is about right
+    ;;
+
+  gnu*)
+    # Under GNU Hurd, this test is not required because there is
+    # no limit to the length of command line arguments.
+    # Libtool will interpret -1 as no limit whatsoever
+    lt_cv_sys_max_cmd_len=-1;
+    ;;
+
+  cygwin* | mingw* | cegcc*)
+    # On Win9x/ME, this test blows up -- it succeeds, but takes
+    # about 5 minutes as the teststring grows exponentially.
+    # Worse, since 9x/ME are not pre-emptively multitasking,
+    # you end up with a "frozen" computer, even though with patience
+    # the test eventually succeeds (with a max line length of 256k).
+    # Instead, let's just punt: use the minimum linelength reported by
+    # all of the supported platforms: 8192 (on NT/2K/XP).
+    lt_cv_sys_max_cmd_len=8192;
+    ;;
+
+  mint*)
+    # On MiNT this can take a long time and run out of memory.
+    lt_cv_sys_max_cmd_len=8192;
+    ;;
+
+  amigaos*)
+    # On AmigaOS with pdksh, this test takes hours, literally.
+    # So we just punt and use a minimum line length of 8192.
+    lt_cv_sys_max_cmd_len=8192;
+    ;;
+
+  netbsd* | freebsd* | openbsd* | darwin* | dragonfly*)
+    # This has been around since 386BSD, at least.  Likely further.
+    if test -x /sbin/sysctl; then
+      lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
+    elif test -x /usr/sbin/sysctl; then
+      lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
+    else
+      lt_cv_sys_max_cmd_len=65536	# usable default for all BSDs
+    fi
+    # And add a safety zone
+    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
+    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
+    ;;
+
+  interix*)
+    # We know the value 262144 and hardcode it with a safety zone (like BSD)
+    lt_cv_sys_max_cmd_len=196608
+    ;;
+
+  os2*)
+    # The test takes a long time on OS/2.
+    lt_cv_sys_max_cmd_len=8192
+    ;;
+
+  osf*)
+    # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
+    # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
+    # nice to cause kernel panics so lets avoid the loop below.
+    # First set a reasonable default.
+    lt_cv_sys_max_cmd_len=16384
+    #
+    if test -x /sbin/sysconfig; then
+      case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
+        *1*) lt_cv_sys_max_cmd_len=-1 ;;
+      esac
+    fi
+    ;;
+  sco3.2v5*)
+    lt_cv_sys_max_cmd_len=102400
+    ;;
+  sysv5* | sco5v6* | sysv4.2uw2*)
+    kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
+    if test -n "$kargmax"; then
+      lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[	 ]//'`
+    else
+      lt_cv_sys_max_cmd_len=32768
+    fi
+    ;;
+  *)
+    lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
+    if test -n "$lt_cv_sys_max_cmd_len"; then
+      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
+      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
+    else
+      # Make teststring a little bigger before we do anything with it.
+      # a 1K string should be a reasonable start.
+      for i in 1 2 3 4 5 6 7 8 ; do
+        teststring=$teststring$teststring
+      done
+      SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
+      # If test is not a shell built-in, we'll probably end up computing a
+      # maximum length that is only half of the actual maximum length, but
+      # we can't tell.
+      while { test "X"`env echo "$teststring$teststring" 2>/dev/null` \
+	         = "X$teststring$teststring"; } >/dev/null 2>&1 &&
+	      test $i != 17 # 1/2 MB should be enough
+      do
+        i=`expr $i + 1`
+        teststring=$teststring$teststring
+      done
+      # Only check the string length outside the loop.
+      lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1`
+      teststring=
+      # Add a significant safety factor because C++ compilers can tack on
+      # massive amounts of additional arguments before passing them to the
+      # linker.  It appears as though 1/2 is a usable value.
+      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
+    fi
+    ;;
+  esac
+
+fi
+
+if test -n $lt_cv_sys_max_cmd_len ; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_max_cmd_len" >&5
+$as_echo "$lt_cv_sys_max_cmd_len" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: none" >&5
+$as_echo "none" >&6; }
+fi
+max_cmd_len=$lt_cv_sys_max_cmd_len
+
+
+
+
+
+
+: ${CP="cp -f"}
+: ${MV="mv -f"}
+: ${RM="rm -f"}
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the shell understands some XSI constructs" >&5
+$as_echo_n "checking whether the shell understands some XSI constructs... " >&6; }
+# Try some XSI features
+xsi_shell=no
+( _lt_dummy="a/b/c"
+  test "${_lt_dummy##*/},${_lt_dummy%/*},${_lt_dummy#??}"${_lt_dummy%"$_lt_dummy"}, \
+      = c,a/b,b/c, \
+    && eval 'test $(( 1 + 1 )) -eq 2 \
+    && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \
+  && xsi_shell=yes
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $xsi_shell" >&5
+$as_echo "$xsi_shell" >&6; }
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the shell understands \"+=\"" >&5
+$as_echo_n "checking whether the shell understands \"+=\"... " >&6; }
+lt_shell_append=no
+( foo=bar; set foo baz; eval "$1+=\$2" && test "$foo" = barbaz ) \
+    >/dev/null 2>&1 \
+  && lt_shell_append=yes
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_shell_append" >&5
+$as_echo "$lt_shell_append" >&6; }
+
+
+if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
+  lt_unset=unset
+else
+  lt_unset=false
+fi
+
+
+
+
+
+# test EBCDIC or ASCII
+case `echo X|tr X '\101'` in
+ A) # ASCII based system
+    # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
+  lt_SP2NL='tr \040 \012'
+  lt_NL2SP='tr \015\012 \040\040'
+  ;;
+ *) # EBCDIC based system
+  lt_SP2NL='tr \100 \n'
+  lt_NL2SP='tr \r\n \100\100'
+  ;;
+esac
+
+
+
+
+
+
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to $host format" >&5
+$as_echo_n "checking how to convert $build file names to $host format... " >&6; }
+if ${lt_cv_to_host_file_cmd+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  case $host in
+  *-*-mingw* )
+    case $build in
+      *-*-mingw* ) # actually msys
+        lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32
+        ;;
+      *-*-cygwin* )
+        lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32
+        ;;
+      * ) # otherwise, assume *nix
+        lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32
+        ;;
+    esac
+    ;;
+  *-*-cygwin* )
+    case $build in
+      *-*-mingw* ) # actually msys
+        lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin
+        ;;
+      *-*-cygwin* )
+        lt_cv_to_host_file_cmd=func_convert_file_noop
+        ;;
+      * ) # otherwise, assume *nix
+        lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin
+        ;;
+    esac
+    ;;
+  * ) # unhandled hosts (and "normal" native builds)
+    lt_cv_to_host_file_cmd=func_convert_file_noop
+    ;;
+esac
+
+fi
+
+to_host_file_cmd=$lt_cv_to_host_file_cmd
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_host_file_cmd" >&5
+$as_echo "$lt_cv_to_host_file_cmd" >&6; }
+
+
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to toolchain format" >&5
+$as_echo_n "checking how to convert $build file names to toolchain format... " >&6; }
+if ${lt_cv_to_tool_file_cmd+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  #assume ordinary cross tools, or native build.
+lt_cv_to_tool_file_cmd=func_convert_file_noop
+case $host in
+  *-*-mingw* )
+    case $build in
+      *-*-mingw* ) # actually msys
+        lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32
+        ;;
+    esac
+    ;;
+esac
+
+fi
+
+to_tool_file_cmd=$lt_cv_to_tool_file_cmd
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_tool_file_cmd" >&5
+$as_echo "$lt_cv_to_tool_file_cmd" >&6; }
+
+
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5
+$as_echo_n "checking for $LD option to reload object files... " >&6; }
+if ${lt_cv_ld_reload_flag+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  lt_cv_ld_reload_flag='-r'
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_reload_flag" >&5
+$as_echo "$lt_cv_ld_reload_flag" >&6; }
+reload_flag=$lt_cv_ld_reload_flag
+case $reload_flag in
+"" | " "*) ;;
+*) reload_flag=" $reload_flag" ;;
+esac
+reload_cmds='$LD$reload_flag -o $output$reload_objs'
+case $host_os in
+  cygwin* | mingw* | pw32* | cegcc*)
+    if test "$GCC" != yes; then
+      reload_cmds=false
+    fi
+    ;;
+  darwin*)
+    if test "$GCC" = yes; then
+      reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
+    else
+      reload_cmds='$LD$reload_flag -o $output$reload_objs'
+    fi
+    ;;
+esac
+
+
+
+
+
+
+
+
+
+if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args.
+set dummy ${ac_tool_prefix}objdump; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_OBJDUMP+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$OBJDUMP"; then
+  ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+OBJDUMP=$ac_cv_prog_OBJDUMP
+if test -n "$OBJDUMP"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5
+$as_echo "$OBJDUMP" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_OBJDUMP"; then
+  ac_ct_OBJDUMP=$OBJDUMP
+  # Extract the first word of "objdump", so it can be a program name with args.
+set dummy objdump; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_OBJDUMP+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$ac_ct_OBJDUMP"; then
+  ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_ac_ct_OBJDUMP="objdump"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP
+if test -n "$ac_ct_OBJDUMP"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5
+$as_echo "$ac_ct_OBJDUMP" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+  if test "x$ac_ct_OBJDUMP" = x; then
+    OBJDUMP="false"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    OBJDUMP=$ac_ct_OBJDUMP
+  fi
+else
+  OBJDUMP="$ac_cv_prog_OBJDUMP"
+fi
+
+test -z "$OBJDUMP" && OBJDUMP=objdump
+
+
+
+
+
+
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&5
+$as_echo_n "checking how to recognize dependent libraries... " >&6; }
+if ${lt_cv_deplibs_check_method+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  lt_cv_file_magic_cmd='$MAGIC_CMD'
+lt_cv_file_magic_test_file=
+lt_cv_deplibs_check_method='unknown'
+# Need to set the preceding variable on all platforms that support
+# interlibrary dependencies.
+# 'none' -- dependencies not supported.
+# `unknown' -- same as none, but documents that we really don't know.
+# 'pass_all' -- all dependencies passed with no checks.
+# 'test_compile' -- check by making test program.
+# 'file_magic [[regex]]' -- check by looking for files in library path
+# which responds to the $file_magic_cmd with a given extended regex.
+# If you have `file' or equivalent on your system and you're not sure
+# whether `pass_all' will *always* work, you probably want this one.
+
+case $host_os in
+aix[4-9]*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+beos*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+bsdi[45]*)
+  lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)'
+  lt_cv_file_magic_cmd='/usr/bin/file -L'
+  lt_cv_file_magic_test_file=/shlib/libc.so
+  ;;
+
+cygwin*)
+  # func_win32_libid is a shell function defined in ltmain.sh
+  lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
+  lt_cv_file_magic_cmd='func_win32_libid'
+  ;;
+
+mingw* | pw32*)
+  # Base MSYS/MinGW do not provide the 'file' command needed by
+  # func_win32_libid shell function, so use a weaker test based on 'objdump',
+  # unless we find 'file', for example because we are cross-compiling.
+  # func_win32_libid assumes BSD nm, so disallow it if using MS dumpbin.
+  if ( test "$lt_cv_nm_interface" = "BSD nm" && file / ) >/dev/null 2>&1; then
+    lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
+    lt_cv_file_magic_cmd='func_win32_libid'
+  else
+    # Keep this pattern in sync with the one in func_win32_libid.
+    lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)'
+    lt_cv_file_magic_cmd='$OBJDUMP -f'
+  fi
+  ;;
+
+cegcc*)
+  # use the weaker test based on 'objdump'. See mingw*.
+  lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?'
+  lt_cv_file_magic_cmd='$OBJDUMP -f'
+  ;;
+
+darwin* | rhapsody*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+freebsd* | dragonfly*)
+  if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
+    case $host_cpu in
+    i*86 )
+      # Not sure whether the presence of OpenBSD here was a mistake.
+      # Let's accept both of them until this is cleared up.
+      lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library'
+      lt_cv_file_magic_cmd=/usr/bin/file
+      lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
+      ;;
+    esac
+  else
+    lt_cv_deplibs_check_method=pass_all
+  fi
+  ;;
+
+gnu*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+haiku*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+hpux10.20* | hpux11*)
+  lt_cv_file_magic_cmd=/usr/bin/file
+  case $host_cpu in
+  ia64*)
+    lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64'
+    lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
+    ;;
+  hppa*64*)
+    lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF[ -][0-9][0-9])(-bit)?( [LM]SB)? shared object( file)?[, -]* PA-RISC [0-9]\.[0-9]'
+    lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
+    ;;
+  *)
+    lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9]\.[0-9]) shared library'
+    lt_cv_file_magic_test_file=/usr/lib/libc.sl
+    ;;
+  esac
+  ;;
+
+interix[3-9]*)
+  # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
+  lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$'
+  ;;
+
+irix5* | irix6* | nonstopux*)
+  case $LD in
+  *-32|*"-32 ") libmagic=32-bit;;
+  *-n32|*"-n32 ") libmagic=N32;;
+  *-64|*"-64 ") libmagic=64-bit;;
+  *) libmagic=never-match;;
+  esac
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+# This must be glibc/ELF.
+linux* | k*bsd*-gnu | kopensolaris*-gnu)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+netbsd*)
+  if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
+    lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
+  else
+    lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$'
+  fi
+  ;;
+
+newos6*)
+  lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)'
+  lt_cv_file_magic_cmd=/usr/bin/file
+  lt_cv_file_magic_test_file=/usr/lib/libnls.so
+  ;;
+
+*nto* | *qnx*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+openbsd*)
+  if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+    lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$'
+  else
+    lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
+  fi
+  ;;
+
+osf3* | osf4* | osf5*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+rdos*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+solaris*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+sysv4 | sysv4.3*)
+  case $host_vendor in
+  motorola)
+    lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]'
+    lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
+    ;;
+  ncr)
+    lt_cv_deplibs_check_method=pass_all
+    ;;
+  sequent)
+    lt_cv_file_magic_cmd='/bin/file'
+    lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )'
+    ;;
+  sni)
+    lt_cv_file_magic_cmd='/bin/file'
+    lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib"
+    lt_cv_file_magic_test_file=/lib/libc.so
+    ;;
+  siemens)
+    lt_cv_deplibs_check_method=pass_all
+    ;;
+  pc)
+    lt_cv_deplibs_check_method=pass_all
+    ;;
+  esac
+  ;;
+
+tpf*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+esac
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5
+$as_echo "$lt_cv_deplibs_check_method" >&6; }
+
+file_magic_glob=
+want_nocaseglob=no
+if test "$build" = "$host"; then
+  case $host_os in
+  mingw* | pw32*)
+    if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then
+      want_nocaseglob=yes
+    else
+      file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[\1]\/[\1]\/g;/g"`
+    fi
+    ;;
+  esac
+fi
+
+file_magic_cmd=$lt_cv_file_magic_cmd
+deplibs_check_method=$lt_cv_deplibs_check_method
+test -z "$deplibs_check_method" && deplibs_check_method=unknown
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args.
+set dummy ${ac_tool_prefix}dlltool; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_DLLTOOL+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$DLLTOOL"; then
+  ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+DLLTOOL=$ac_cv_prog_DLLTOOL
+if test -n "$DLLTOOL"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&5
+$as_echo "$DLLTOOL" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_DLLTOOL"; then
+  ac_ct_DLLTOOL=$DLLTOOL
+  # Extract the first word of "dlltool", so it can be a program name with args.
+set dummy dlltool; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_DLLTOOL+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$ac_ct_DLLTOOL"; then
+  ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_ac_ct_DLLTOOL="dlltool"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL
+if test -n "$ac_ct_DLLTOOL"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DLLTOOL" >&5
+$as_echo "$ac_ct_DLLTOOL" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+  if test "x$ac_ct_DLLTOOL" = x; then
+    DLLTOOL="false"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    DLLTOOL=$ac_ct_DLLTOOL
+  fi
+else
+  DLLTOOL="$ac_cv_prog_DLLTOOL"
+fi
+
+test -z "$DLLTOOL" && DLLTOOL=dlltool
+
+
+
+
+
+
+
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to associate runtime and link libraries" >&5
+$as_echo_n "checking how to associate runtime and link libraries... " >&6; }
+if ${lt_cv_sharedlib_from_linklib_cmd+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  lt_cv_sharedlib_from_linklib_cmd='unknown'
+
+case $host_os in
+cygwin* | mingw* | pw32* | cegcc*)
+  # two different shell functions defined in ltmain.sh
+  # decide which to use based on capabilities of $DLLTOOL
+  case `$DLLTOOL --help 2>&1` in
+  *--identify-strict*)
+    lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib
+    ;;
+  *)
+    lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback
+    ;;
+  esac
+  ;;
+*)
+  # fallback: assume linklib IS sharedlib
+  lt_cv_sharedlib_from_linklib_cmd="$ECHO"
+  ;;
+esac
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sharedlib_from_linklib_cmd" >&5
+$as_echo "$lt_cv_sharedlib_from_linklib_cmd" >&6; }
+sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd
+test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO
+
+
+
+
+
+
+
+if test -n "$ac_tool_prefix"; then
+  for ac_prog in ar
+  do
+    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
+set dummy $ac_tool_prefix$ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_AR+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$AR"; then
+  ac_cv_prog_AR="$AR" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_AR="$ac_tool_prefix$ac_prog"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+AR=$ac_cv_prog_AR
+if test -n "$AR"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5
+$as_echo "$AR" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+    test -n "$AR" && break
+  done
+fi
+if test -z "$AR"; then
+  ac_ct_AR=$AR
+  for ac_prog in ar
+do
+  # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_AR+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$ac_ct_AR"; then
+  ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_ac_ct_AR="$ac_prog"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_AR=$ac_cv_prog_ac_ct_AR
+if test -n "$ac_ct_AR"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5
+$as_echo "$ac_ct_AR" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+  test -n "$ac_ct_AR" && break
+done
+
+  if test "x$ac_ct_AR" = x; then
+    AR="false"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    AR=$ac_ct_AR
+  fi
+fi
+
+: ${AR=ar}
+: ${AR_FLAGS=cru}
+
+
+
+
+
+
+
+
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for archiver @FILE support" >&5
+$as_echo_n "checking for archiver @FILE support... " >&6; }
+if ${lt_cv_ar_at_file+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  lt_cv_ar_at_file=no
+   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  echo conftest.$ac_objext > conftest.lst
+      lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&5'
+      { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5
+  (eval $lt_ar_try) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+      if test "$ac_status" -eq 0; then
+	# Ensure the archiver fails upon bogus file names.
+	rm -f conftest.$ac_objext libconftest.a
+	{ { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5
+  (eval $lt_ar_try) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+	if test "$ac_status" -ne 0; then
+          lt_cv_ar_at_file=@
+        fi
+      fi
+      rm -f conftest.* libconftest.a
+
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ar_at_file" >&5
+$as_echo "$lt_cv_ar_at_file" >&6; }
+
+if test "x$lt_cv_ar_at_file" = xno; then
+  archiver_list_spec=
+else
+  archiver_list_spec=$lt_cv_ar_at_file
+fi
+
+
+
+
+
+
+
+if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
+set dummy ${ac_tool_prefix}strip; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_STRIP+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$STRIP"; then
+  ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_STRIP="${ac_tool_prefix}strip"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+STRIP=$ac_cv_prog_STRIP
+if test -n "$STRIP"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5
+$as_echo "$STRIP" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_STRIP"; then
+  ac_ct_STRIP=$STRIP
+  # Extract the first word of "strip", so it can be a program name with args.
+set dummy strip; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_STRIP+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$ac_ct_STRIP"; then
+  ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_ac_ct_STRIP="strip"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
+if test -n "$ac_ct_STRIP"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5
+$as_echo "$ac_ct_STRIP" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+  if test "x$ac_ct_STRIP" = x; then
+    STRIP=":"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    STRIP=$ac_ct_STRIP
+  fi
+else
+  STRIP="$ac_cv_prog_STRIP"
+fi
+
+test -z "$STRIP" && STRIP=:
+
+
+
+
+
+
+if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ranlib; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_RANLIB+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$RANLIB"; then
+  ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+RANLIB=$ac_cv_prog_RANLIB
+if test -n "$RANLIB"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5
+$as_echo "$RANLIB" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_RANLIB"; then
+  ac_ct_RANLIB=$RANLIB
+  # Extract the first word of "ranlib", so it can be a program name with args.
+set dummy ranlib; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_RANLIB+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$ac_ct_RANLIB"; then
+  ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_ac_ct_RANLIB="ranlib"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
+if test -n "$ac_ct_RANLIB"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5
+$as_echo "$ac_ct_RANLIB" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+  if test "x$ac_ct_RANLIB" = x; then
+    RANLIB=":"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    RANLIB=$ac_ct_RANLIB
+  fi
+else
+  RANLIB="$ac_cv_prog_RANLIB"
+fi
+
+test -z "$RANLIB" && RANLIB=:
+
+
+
+
+
+
+# Determine commands to create old-style static archives.
+old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
+old_postinstall_cmds='chmod 644 $oldlib'
+old_postuninstall_cmds=
+
+if test -n "$RANLIB"; then
+  case $host_os in
+  openbsd*)
+    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib"
+    ;;
+  *)
+    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib"
+    ;;
+  esac
+  old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib"
+fi
+
+case $host_os in
+  darwin*)
+    lock_old_archive_extraction=yes ;;
+  *)
+    lock_old_archive_extraction=no ;;
+esac
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+# If no C compiler was specified, use CC.
+LTCC=${LTCC-"$CC"}
+
+# If no C compiler flags were specified, use CFLAGS.
+LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
+
+# Allow CC to be a program name with arguments.
+compiler=$CC
+
+
+# Check for command to grab the raw symbol name followed by C symbol from nm.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking command to parse $NM output from $compiler object" >&5
+$as_echo_n "checking command to parse $NM output from $compiler object... " >&6; }
+if ${lt_cv_sys_global_symbol_pipe+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+
+# These are sane defaults that work on at least a few old systems.
+# [They come from Ultrix.  What could be older than Ultrix?!! ;)]
+
+# Character class describing NM global symbol codes.
+symcode='[BCDEGRST]'
+
+# Regexp to match symbols that can be accessed directly from C.
+sympat='\([_A-Za-z][_A-Za-z0-9]*\)'
+
+# Define system-specific variables.
+case $host_os in
+aix*)
+  symcode='[BCDT]'
+  ;;
+cygwin* | mingw* | pw32* | cegcc*)
+  symcode='[ABCDGISTW]'
+  ;;
+hpux*)
+  if test "$host_cpu" = ia64; then
+    symcode='[ABCDEGRST]'
+  fi
+  ;;
+irix* | nonstopux*)
+  symcode='[BCDEGRST]'
+  ;;
+osf*)
+  symcode='[BCDEGQRST]'
+  ;;
+solaris*)
+  symcode='[BDRT]'
+  ;;
+sco3.2v5*)
+  symcode='[DT]'
+  ;;
+sysv4.2uw2*)
+  symcode='[DT]'
+  ;;
+sysv5* | sco5v6* | unixware* | OpenUNIX*)
+  symcode='[ABDT]'
+  ;;
+sysv4)
+  symcode='[DFNSTU]'
+  ;;
+esac
+
+# If we're using GNU nm, then use its standard symbol codes.
+case `$NM -V 2>&1` in
+*GNU* | *'with BFD'*)
+  symcode='[ABCDGIRSTW]' ;;
+esac
+
+# Transform an extracted symbol line into a proper C declaration.
+# Some systems (esp. on ia64) link data and code symbols differently,
+# so use this general approach.
+lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
+
+# Transform an extracted symbol line into symbol name and symbol address
+lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\)[ ]*$/  {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/  {\"\2\", (void *) \&\2},/p'"
+lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([^ ]*\)[ ]*$/  {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \(lib[^ ]*\)$/  {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/  {\"lib\2\", (void *) \&\2},/p'"
+
+# Handle CRLF in mingw tool chain
+opt_cr=
+case $build_os in
+mingw*)
+  opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp
+  ;;
+esac
+
+# Try without a prefix underscore, then with it.
+for ac_symprfx in "" "_"; do
+
+  # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
+  symxfrm="\\1 $ac_symprfx\\2 \\2"
+
+  # Write the raw and C identifiers.
+  if test "$lt_cv_nm_interface" = "MS dumpbin"; then
+    # Fake it for dumpbin and say T for any non-static function
+    # and D for any global variable.
+    # Also find C++ and __fastcall symbols from MSVC++,
+    # which start with @ or ?.
+    lt_cv_sys_global_symbol_pipe="$AWK '"\
+"     {last_section=section; section=\$ 3};"\
+"     /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\
+"     /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
+"     \$ 0!~/External *\|/{next};"\
+"     / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
+"     {if(hide[section]) next};"\
+"     {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\
+"     {split(\$ 0, a, /\||\r/); split(a[2], s)};"\
+"     s[1]~/^[@?]/{print s[1], s[1]; next};"\
+"     s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\
+"     ' prfx=^$ac_symprfx"
+  else
+    lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[	 ]\($symcode$symcode*\)[	 ][	 ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
+  fi
+  lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'"
+
+  # Check to see that the pipe works correctly.
+  pipe_works=no
+
+  rm -f conftest*
+  cat > conftest.$ac_ext <<_LT_EOF
+#ifdef __cplusplus
+extern "C" {
+#endif
+char nm_test_var;
+void nm_test_func(void);
+void nm_test_func(void){}
+#ifdef __cplusplus
+}
+#endif
+int main(){nm_test_var='a';nm_test_func();return(0);}
+_LT_EOF
+
+  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+    # Now try to grab the symbols.
+    nlist=conftest.nm
+    if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist\""; } >&5
+  (eval $NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; } && test -s "$nlist"; then
+      # Try sorting and uniquifying the output.
+      if sort "$nlist" | uniq > "$nlist"T; then
+	mv -f "$nlist"T "$nlist"
+      else
+	rm -f "$nlist"T
+      fi
+
+      # Make sure that we snagged all the symbols we need.
+      if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
+	if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
+	  cat <<_LT_EOF > conftest.$ac_ext
+/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests.  */
+#if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE)
+/* DATA imports from DLLs on WIN32 con't be const, because runtime
+   relocations are performed -- see ld's documentation on pseudo-relocs.  */
+# define LT_DLSYM_CONST
+#elif defined(__osf__)
+/* This system does not cope well with relocations in const data.  */
+# define LT_DLSYM_CONST
+#else
+# define LT_DLSYM_CONST const
+#endif
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+_LT_EOF
+	  # Now generate the symbol file.
+	  eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext'
+
+	  cat <<_LT_EOF >> conftest.$ac_ext
+
+/* The mapping between symbol names and symbols.  */
+LT_DLSYM_CONST struct {
+  const char *name;
+  void       *address;
+}
+lt__PROGRAM__LTX_preloaded_symbols[] =
+{
+  { "@PROGRAM@", (void *) 0 },
+_LT_EOF
+	  $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/  {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext
+	  cat <<\_LT_EOF >> conftest.$ac_ext
+  {0, (void *) 0}
+};
+
+/* This works around a problem in FreeBSD linker */
+#ifdef FREEBSD_WORKAROUND
+static const void *lt_preloaded_setup() {
+  return lt__PROGRAM__LTX_preloaded_symbols;
+}
+#endif
+
+#ifdef __cplusplus
+}
+#endif
+_LT_EOF
+	  # Now try linking the two files.
+	  mv conftest.$ac_objext conftstm.$ac_objext
+	  lt_globsym_save_LIBS=$LIBS
+	  lt_globsym_save_CFLAGS=$CFLAGS
+	  LIBS="conftstm.$ac_objext"
+	  CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag"
+	  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
+  (eval $ac_link) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; } && test -s conftest${ac_exeext}; then
+	    pipe_works=yes
+	  fi
+	  LIBS=$lt_globsym_save_LIBS
+	  CFLAGS=$lt_globsym_save_CFLAGS
+	else
+	  echo "cannot find nm_test_func in $nlist" >&5
+	fi
+      else
+	echo "cannot find nm_test_var in $nlist" >&5
+      fi
+    else
+      echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5
+    fi
+  else
+    echo "$progname: failed program was:" >&5
+    cat conftest.$ac_ext >&5
+  fi
+  rm -rf conftest* conftst*
+
+  # Do not use the global_symbol_pipe unless it works.
+  if test "$pipe_works" = yes; then
+    break
+  else
+    lt_cv_sys_global_symbol_pipe=
+  fi
+done
+
+fi
+
+if test -z "$lt_cv_sys_global_symbol_pipe"; then
+  lt_cv_sys_global_symbol_to_cdecl=
+fi
+if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: failed" >&5
+$as_echo "failed" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5
+$as_echo "ok" >&6; }
+fi
+
+# Response file support.
+if test "$lt_cv_nm_interface" = "MS dumpbin"; then
+  nm_file_list_spec='@'
+elif $NM --help 2>/dev/null | grep '[@]FILE' >/dev/null; then
+  nm_file_list_spec='@'
+fi
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sysroot" >&5
+$as_echo_n "checking for sysroot... " >&6; }
+
+# Check whether --with-sysroot was given.
+if test "${with_sysroot+set}" = set; then :
+  withval=$with_sysroot;
+else
+  with_sysroot=no
+fi
+
+
+lt_sysroot=
+case ${with_sysroot} in #(
+ yes)
+   if test "$GCC" = yes; then
+     lt_sysroot=`$CC --print-sysroot 2>/dev/null`
+   fi
+   ;; #(
+ /*)
+   lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"`
+   ;; #(
+ no|'')
+   ;; #(
+ *)
+   { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${with_sysroot}" >&5
+$as_echo "${with_sysroot}" >&6; }
+   as_fn_error $? "The sysroot must be an absolute path." "$LINENO" 5
+   ;;
+esac
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${lt_sysroot:-no}" >&5
+$as_echo "${lt_sysroot:-no}" >&6; }
+
+
+
+
+
+# Check whether --enable-libtool-lock was given.
+if test "${enable_libtool_lock+set}" = set; then :
+  enableval=$enable_libtool_lock;
+fi
+
+test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
+
+# Some flags need to be propagated to the compiler or linker for good
+# libtool support.
+case $host in
+ia64-*-hpux*)
+  # Find out which ABI we are using.
+  echo 'int i;' > conftest.$ac_ext
+  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+    case `/usr/bin/file conftest.$ac_objext` in
+      *ELF-32*)
+	HPUX_IA64_MODE="32"
+	;;
+      *ELF-64*)
+	HPUX_IA64_MODE="64"
+	;;
+    esac
+  fi
+  rm -rf conftest*
+  ;;
+*-*-irix6*)
+  # Find out which ABI we are using.
+  echo '#line '$LINENO' "configure"' > conftest.$ac_ext
+  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+    if test "$lt_cv_prog_gnu_ld" = yes; then
+      case `/usr/bin/file conftest.$ac_objext` in
+	*32-bit*)
+	  LD="${LD-ld} -melf32bsmip"
+	  ;;
+	*N32*)
+	  LD="${LD-ld} -melf32bmipn32"
+	  ;;
+	*64-bit*)
+	  LD="${LD-ld} -melf64bmip"
+	;;
+      esac
+    else
+      case `/usr/bin/file conftest.$ac_objext` in
+	*32-bit*)
+	  LD="${LD-ld} -32"
+	  ;;
+	*N32*)
+	  LD="${LD-ld} -n32"
+	  ;;
+	*64-bit*)
+	  LD="${LD-ld} -64"
+	  ;;
+      esac
+    fi
+  fi
+  rm -rf conftest*
+  ;;
+
+x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \
+s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
+  # Find out which ABI we are using.
+  echo 'int i;' > conftest.$ac_ext
+  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+    case `/usr/bin/file conftest.o` in
+      *32-bit*)
+	case $host in
+	  x86_64-*kfreebsd*-gnu)
+	    LD="${LD-ld} -m elf_i386_fbsd"
+	    ;;
+	  x86_64-*linux*)
+	    LD="${LD-ld} -m elf_i386"
+	    ;;
+	  ppc64-*linux*|powerpc64-*linux*)
+	    LD="${LD-ld} -m elf32ppclinux"
+	    ;;
+	  s390x-*linux*)
+	    LD="${LD-ld} -m elf_s390"
+	    ;;
+	  sparc64-*linux*)
+	    LD="${LD-ld} -m elf32_sparc"
+	    ;;
+	esac
+	;;
+      *64-bit*)
+	case $host in
+	  x86_64-*kfreebsd*-gnu)
+	    LD="${LD-ld} -m elf_x86_64_fbsd"
+	    ;;
+	  x86_64-*linux*)
+	    LD="${LD-ld} -m elf_x86_64"
+	    ;;
+	  ppc*-*linux*|powerpc*-*linux*)
+	    LD="${LD-ld} -m elf64ppc"
+	    ;;
+	  s390*-*linux*|s390*-*tpf*)
+	    LD="${LD-ld} -m elf64_s390"
+	    ;;
+	  sparc*-*linux*)
+	    LD="${LD-ld} -m elf64_sparc"
+	    ;;
+	esac
+	;;
+    esac
+  fi
+  rm -rf conftest*
+  ;;
+
+*-*-sco3.2v5*)
+  # On SCO OpenServer 5, we need -belf to get full-featured binaries.
+  SAVE_CFLAGS="$CFLAGS"
+  CFLAGS="$CFLAGS -belf"
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5
+$as_echo_n "checking whether the C compiler needs -belf... " >&6; }
+if ${lt_cv_cc_needs_belf+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+     cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  lt_cv_cc_needs_belf=yes
+else
+  lt_cv_cc_needs_belf=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+     ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_cc_needs_belf" >&5
+$as_echo "$lt_cv_cc_needs_belf" >&6; }
+  if test x"$lt_cv_cc_needs_belf" != x"yes"; then
+    # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
+    CFLAGS="$SAVE_CFLAGS"
+  fi
+  ;;
+*-*solaris*)
+  # Find out which ABI we are using.
+  echo 'int i;' > conftest.$ac_ext
+  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+    case `/usr/bin/file conftest.o` in
+    *64-bit*)
+      case $lt_cv_prog_gnu_ld in
+      yes*)
+        case $host in
+        i?86-*-solaris*)
+          LD="${LD-ld} -m elf_x86_64"
+          ;;
+        sparc*-*-solaris*)
+          LD="${LD-ld} -m elf64_sparc"
+          ;;
+        esac
+        # GNU ld 2.21 introduced _sol2 emulations.  Use them if available.
+        if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then
+          LD="${LD-ld}_sol2"
+        fi
+        ;;
+      *)
+	if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
+	  LD="${LD-ld} -64"
+	fi
+	;;
+      esac
+      ;;
+    esac
+  fi
+  rm -rf conftest*
+  ;;
+esac
+
+need_locks="$enable_libtool_lock"
+
+if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}mt", so it can be a program name with args.
+set dummy ${ac_tool_prefix}mt; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_MANIFEST_TOOL+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$MANIFEST_TOOL"; then
+  ac_cv_prog_MANIFEST_TOOL="$MANIFEST_TOOL" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_MANIFEST_TOOL="${ac_tool_prefix}mt"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+MANIFEST_TOOL=$ac_cv_prog_MANIFEST_TOOL
+if test -n "$MANIFEST_TOOL"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MANIFEST_TOOL" >&5
+$as_echo "$MANIFEST_TOOL" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_MANIFEST_TOOL"; then
+  ac_ct_MANIFEST_TOOL=$MANIFEST_TOOL
+  # Extract the first word of "mt", so it can be a program name with args.
+set dummy mt; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_MANIFEST_TOOL+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$ac_ct_MANIFEST_TOOL"; then
+  ac_cv_prog_ac_ct_MANIFEST_TOOL="$ac_ct_MANIFEST_TOOL" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_ac_ct_MANIFEST_TOOL="mt"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_MANIFEST_TOOL=$ac_cv_prog_ac_ct_MANIFEST_TOOL
+if test -n "$ac_ct_MANIFEST_TOOL"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_MANIFEST_TOOL" >&5
+$as_echo "$ac_ct_MANIFEST_TOOL" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+  if test "x$ac_ct_MANIFEST_TOOL" = x; then
+    MANIFEST_TOOL=":"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    MANIFEST_TOOL=$ac_ct_MANIFEST_TOOL
+  fi
+else
+  MANIFEST_TOOL="$ac_cv_prog_MANIFEST_TOOL"
+fi
+
+test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $MANIFEST_TOOL is a manifest tool" >&5
+$as_echo_n "checking if $MANIFEST_TOOL is a manifest tool... " >&6; }
+if ${lt_cv_path_mainfest_tool+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  lt_cv_path_mainfest_tool=no
+  echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&5
+  $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out
+  cat conftest.err >&5
+  if $GREP 'Manifest Tool' conftest.out > /dev/null; then
+    lt_cv_path_mainfest_tool=yes
+  fi
+  rm -f conftest*
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_mainfest_tool" >&5
+$as_echo "$lt_cv_path_mainfest_tool" >&6; }
+if test "x$lt_cv_path_mainfest_tool" != xyes; then
+  MANIFEST_TOOL=:
+fi
+
+
+
+
+
+
+  case $host_os in
+    rhapsody* | darwin*)
+    if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}dsymutil", so it can be a program name with args.
+set dummy ${ac_tool_prefix}dsymutil; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_DSYMUTIL+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$DSYMUTIL"; then
+  ac_cv_prog_DSYMUTIL="$DSYMUTIL" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+DSYMUTIL=$ac_cv_prog_DSYMUTIL
+if test -n "$DSYMUTIL"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DSYMUTIL" >&5
+$as_echo "$DSYMUTIL" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_DSYMUTIL"; then
+  ac_ct_DSYMUTIL=$DSYMUTIL
+  # Extract the first word of "dsymutil", so it can be a program name with args.
+set dummy dsymutil; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_DSYMUTIL+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$ac_ct_DSYMUTIL"; then
+  ac_cv_prog_ac_ct_DSYMUTIL="$ac_ct_DSYMUTIL" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_ac_ct_DSYMUTIL="dsymutil"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL
+if test -n "$ac_ct_DSYMUTIL"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DSYMUTIL" >&5
+$as_echo "$ac_ct_DSYMUTIL" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+  if test "x$ac_ct_DSYMUTIL" = x; then
+    DSYMUTIL=":"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    DSYMUTIL=$ac_ct_DSYMUTIL
+  fi
+else
+  DSYMUTIL="$ac_cv_prog_DSYMUTIL"
+fi
+
+    if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}nmedit", so it can be a program name with args.
+set dummy ${ac_tool_prefix}nmedit; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_NMEDIT+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$NMEDIT"; then
+  ac_cv_prog_NMEDIT="$NMEDIT" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+NMEDIT=$ac_cv_prog_NMEDIT
+if test -n "$NMEDIT"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $NMEDIT" >&5
+$as_echo "$NMEDIT" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_NMEDIT"; then
+  ac_ct_NMEDIT=$NMEDIT
+  # Extract the first word of "nmedit", so it can be a program name with args.
+set dummy nmedit; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_NMEDIT+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$ac_ct_NMEDIT"; then
+  ac_cv_prog_ac_ct_NMEDIT="$ac_ct_NMEDIT" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_ac_ct_NMEDIT="nmedit"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_NMEDIT=$ac_cv_prog_ac_ct_NMEDIT
+if test -n "$ac_ct_NMEDIT"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_NMEDIT" >&5
+$as_echo "$ac_ct_NMEDIT" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+  if test "x$ac_ct_NMEDIT" = x; then
+    NMEDIT=":"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    NMEDIT=$ac_ct_NMEDIT
+  fi
+else
+  NMEDIT="$ac_cv_prog_NMEDIT"
+fi
+
+    if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}lipo", so it can be a program name with args.
+set dummy ${ac_tool_prefix}lipo; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_LIPO+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$LIPO"; then
+  ac_cv_prog_LIPO="$LIPO" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_LIPO="${ac_tool_prefix}lipo"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+LIPO=$ac_cv_prog_LIPO
+if test -n "$LIPO"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIPO" >&5
+$as_echo "$LIPO" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_LIPO"; then
+  ac_ct_LIPO=$LIPO
+  # Extract the first word of "lipo", so it can be a program name with args.
+set dummy lipo; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_LIPO+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$ac_ct_LIPO"; then
+  ac_cv_prog_ac_ct_LIPO="$ac_ct_LIPO" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_ac_ct_LIPO="lipo"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_LIPO=$ac_cv_prog_ac_ct_LIPO
+if test -n "$ac_ct_LIPO"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_LIPO" >&5
+$as_echo "$ac_ct_LIPO" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+  if test "x$ac_ct_LIPO" = x; then
+    LIPO=":"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    LIPO=$ac_ct_LIPO
+  fi
+else
+  LIPO="$ac_cv_prog_LIPO"
+fi
+
+    if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}otool", so it can be a program name with args.
+set dummy ${ac_tool_prefix}otool; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_OTOOL+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$OTOOL"; then
+  ac_cv_prog_OTOOL="$OTOOL" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_OTOOL="${ac_tool_prefix}otool"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+OTOOL=$ac_cv_prog_OTOOL
+if test -n "$OTOOL"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL" >&5
+$as_echo "$OTOOL" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_OTOOL"; then
+  ac_ct_OTOOL=$OTOOL
+  # Extract the first word of "otool", so it can be a program name with args.
+set dummy otool; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_OTOOL+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$ac_ct_OTOOL"; then
+  ac_cv_prog_ac_ct_OTOOL="$ac_ct_OTOOL" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_ac_ct_OTOOL="otool"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_OTOOL=$ac_cv_prog_ac_ct_OTOOL
+if test -n "$ac_ct_OTOOL"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL" >&5
+$as_echo "$ac_ct_OTOOL" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+  if test "x$ac_ct_OTOOL" = x; then
+    OTOOL=":"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    OTOOL=$ac_ct_OTOOL
+  fi
+else
+  OTOOL="$ac_cv_prog_OTOOL"
+fi
+
+    if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}otool64", so it can be a program name with args.
+set dummy ${ac_tool_prefix}otool64; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_OTOOL64+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$OTOOL64"; then
+  ac_cv_prog_OTOOL64="$OTOOL64" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_OTOOL64="${ac_tool_prefix}otool64"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+OTOOL64=$ac_cv_prog_OTOOL64
+if test -n "$OTOOL64"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL64" >&5
+$as_echo "$OTOOL64" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_OTOOL64"; then
+  ac_ct_OTOOL64=$OTOOL64
+  # Extract the first word of "otool64", so it can be a program name with args.
+set dummy otool64; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_OTOOL64+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$ac_ct_OTOOL64"; then
+  ac_cv_prog_ac_ct_OTOOL64="$ac_ct_OTOOL64" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_ac_ct_OTOOL64="otool64"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_OTOOL64=$ac_cv_prog_ac_ct_OTOOL64
+if test -n "$ac_ct_OTOOL64"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL64" >&5
+$as_echo "$ac_ct_OTOOL64" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+  if test "x$ac_ct_OTOOL64" = x; then
+    OTOOL64=":"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    OTOOL64=$ac_ct_OTOOL64
+  fi
+else
+  OTOOL64="$ac_cv_prog_OTOOL64"
+fi
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -single_module linker flag" >&5
+$as_echo_n "checking for -single_module linker flag... " >&6; }
+if ${lt_cv_apple_cc_single_mod+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  lt_cv_apple_cc_single_mod=no
+      if test -z "${LT_MULTI_MODULE}"; then
+	# By default we will add the -single_module flag. You can override
+	# by either setting the environment variable LT_MULTI_MODULE
+	# non-empty at configure time, or by adding -multi_module to the
+	# link flags.
+	rm -rf libconftest.dylib*
+	echo "int foo(void){return 1;}" > conftest.c
+	echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
+-dynamiclib -Wl,-single_module conftest.c" >&5
+	$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
+	  -dynamiclib -Wl,-single_module conftest.c 2>conftest.err
+        _lt_result=$?
+	# If there is a non-empty error log, and "single_module"
+	# appears in it, assume the flag caused a linker warning
+        if test -s conftest.err && $GREP single_module conftest.err; then
+	  cat conftest.err >&5
+	# Otherwise, if the output was created with a 0 exit code from
+	# the compiler, it worked.
+	elif test -f libconftest.dylib && test $_lt_result -eq 0; then
+	  lt_cv_apple_cc_single_mod=yes
+	else
+	  cat conftest.err >&5
+	fi
+	rm -rf libconftest.dylib*
+	rm -f conftest.*
+      fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_apple_cc_single_mod" >&5
+$as_echo "$lt_cv_apple_cc_single_mod" >&6; }
+
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5
+$as_echo_n "checking for -exported_symbols_list linker flag... " >&6; }
+if ${lt_cv_ld_exported_symbols_list+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  lt_cv_ld_exported_symbols_list=no
+      save_LDFLAGS=$LDFLAGS
+      echo "_main" > conftest.sym
+      LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
+      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  lt_cv_ld_exported_symbols_list=yes
+else
+  lt_cv_ld_exported_symbols_list=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+	LDFLAGS="$save_LDFLAGS"
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_exported_symbols_list" >&5
+$as_echo "$lt_cv_ld_exported_symbols_list" >&6; }
+
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -force_load linker flag" >&5
+$as_echo_n "checking for -force_load linker flag... " >&6; }
+if ${lt_cv_ld_force_load+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  lt_cv_ld_force_load=no
+      cat > conftest.c << _LT_EOF
+int forced_loaded() { return 2;}
+_LT_EOF
+      echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&5
+      $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&5
+      echo "$AR cru libconftest.a conftest.o" >&5
+      $AR cru libconftest.a conftest.o 2>&5
+      echo "$RANLIB libconftest.a" >&5
+      $RANLIB libconftest.a 2>&5
+      cat > conftest.c << _LT_EOF
+int main() { return 0;}
+_LT_EOF
+      echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&5
+      $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err
+      _lt_result=$?
+      if test -s conftest.err && $GREP force_load conftest.err; then
+	cat conftest.err >&5
+      elif test -f conftest && test $_lt_result -eq 0 && $GREP forced_load conftest >/dev/null 2>&1 ; then
+	lt_cv_ld_force_load=yes
+      else
+	cat conftest.err >&5
+      fi
+        rm -f conftest.err libconftest.a conftest conftest.c
+        rm -rf conftest.dSYM
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_force_load" >&5
+$as_echo "$lt_cv_ld_force_load" >&6; }
+    case $host_os in
+    rhapsody* | darwin1.[012])
+      _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;;
+    darwin1.*)
+      _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
+    darwin*) # darwin 5.x on
+      # if running on 10.5 or later, the deployment target defaults
+      # to the OS version, if on x86, and 10.4, the deployment
+      # target defaults to 10.4. Don't you love it?
+      case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
+	10.0,*86*-darwin8*|10.0,*-darwin[91]*)
+	  _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
+	10.[012]*)
+	  _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
+	10.*)
+	  _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
+      esac
+    ;;
+  esac
+    if test "$lt_cv_apple_cc_single_mod" = "yes"; then
+      _lt_dar_single_mod='$single_module'
+    fi
+    if test "$lt_cv_ld_exported_symbols_list" = "yes"; then
+      _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym'
+    else
+      _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}'
+    fi
+    if test "$DSYMUTIL" != ":" && test "$lt_cv_ld_force_load" = "no"; then
+      _lt_dsymutil='~$DSYMUTIL $lib || :'
+    else
+      _lt_dsymutil=
+    fi
+    ;;
+  esac
+
+for ac_header in dlfcn.h
+do :
+  ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default
+"
+if test "x$ac_cv_header_dlfcn_h" = xyes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_DLFCN_H 1
+_ACEOF
+
+fi
+
+done
+
+
+
+
+
+# Set options
+
+
+
+        enable_dlopen=no
+
+
+  enable_win32_dll=no
+
+
+            # Check whether --enable-shared was given.
+if test "${enable_shared+set}" = set; then :
+  enableval=$enable_shared; p=${PACKAGE-default}
+    case $enableval in
+    yes) enable_shared=yes ;;
+    no) enable_shared=no ;;
+    *)
+      enable_shared=no
+      # Look at the argument we got.  We use all the common list separators.
+      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+      for pkg in $enableval; do
+	IFS="$lt_save_ifs"
+	if test "X$pkg" = "X$p"; then
+	  enable_shared=yes
+	fi
+      done
+      IFS="$lt_save_ifs"
+      ;;
+    esac
+else
+  enable_shared=yes
+fi
+
+
+
+
+
+
+
+
+
+  # Check whether --enable-static was given.
+if test "${enable_static+set}" = set; then :
+  enableval=$enable_static; p=${PACKAGE-default}
+    case $enableval in
+    yes) enable_static=yes ;;
+    no) enable_static=no ;;
+    *)
+     enable_static=no
+      # Look at the argument we got.  We use all the common list separators.
+      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+      for pkg in $enableval; do
+	IFS="$lt_save_ifs"
+	if test "X$pkg" = "X$p"; then
+	  enable_static=yes
+	fi
+      done
+      IFS="$lt_save_ifs"
+      ;;
+    esac
+else
+  enable_static=yes
+fi
+
+
+
+
+
+
+
+
+
+
+# Check whether --with-pic was given.
+if test "${with_pic+set}" = set; then :
+  withval=$with_pic; lt_p=${PACKAGE-default}
+    case $withval in
+    yes|no) pic_mode=$withval ;;
+    *)
+      pic_mode=default
+      # Look at the argument we got.  We use all the common list separators.
+      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+      for lt_pkg in $withval; do
+	IFS="$lt_save_ifs"
+	if test "X$lt_pkg" = "X$lt_p"; then
+	  pic_mode=yes
+	fi
+      done
+      IFS="$lt_save_ifs"
+      ;;
+    esac
+else
+  pic_mode=default
+fi
+
+
+test -z "$pic_mode" && pic_mode=default
+
+
+
+
+
+
+
+  # Check whether --enable-fast-install was given.
+if test "${enable_fast_install+set}" = set; then :
+  enableval=$enable_fast_install; p=${PACKAGE-default}
+    case $enableval in
+    yes) enable_fast_install=yes ;;
+    no) enable_fast_install=no ;;
+    *)
+      enable_fast_install=no
+      # Look at the argument we got.  We use all the common list separators.
+      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+      for pkg in $enableval; do
+	IFS="$lt_save_ifs"
+	if test "X$pkg" = "X$p"; then
+	  enable_fast_install=yes
+	fi
+      done
+      IFS="$lt_save_ifs"
+      ;;
+    esac
+else
+  enable_fast_install=yes
+fi
+
+
+
+
+
+
+
+
+
+
+
+# This can be used to rebuild libtool when needed
+LIBTOOL_DEPS="$ltmain"
+
+# Always use our own libtool.
+LIBTOOL='$(SHELL) $(top_builddir)/libtool'
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+test -z "$LN_S" && LN_S="ln -s"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+if test -n "${ZSH_VERSION+set}" ; then
+   setopt NO_GLOB_SUBST
+fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for objdir" >&5
+$as_echo_n "checking for objdir... " >&6; }
+if ${lt_cv_objdir+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  rm -f .libs 2>/dev/null
+mkdir .libs 2>/dev/null
+if test -d .libs; then
+  lt_cv_objdir=.libs
+else
+  # MS-DOS does not allow filenames that begin with a dot.
+  lt_cv_objdir=_libs
+fi
+rmdir .libs 2>/dev/null
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_objdir" >&5
+$as_echo "$lt_cv_objdir" >&6; }
+objdir=$lt_cv_objdir
+
+
+
+
+
+cat >>confdefs.h <<_ACEOF
+#define LT_OBJDIR "$lt_cv_objdir/"
+_ACEOF
+
+
+
+
+case $host_os in
+aix3*)
+  # AIX sometimes has problems with the GCC collect2 program.  For some
+  # reason, if we set the COLLECT_NAMES environment variable, the problems
+  # vanish in a puff of smoke.
+  if test "X${COLLECT_NAMES+set}" != Xset; then
+    COLLECT_NAMES=
+    export COLLECT_NAMES
+  fi
+  ;;
+esac
+
+# Global variables:
+ofile=libtool
+can_build_shared=yes
+
+# All known linkers require a `.a' archive for static linking (except MSVC,
+# which needs '.lib').
+libext=a
+
+with_gnu_ld="$lt_cv_prog_gnu_ld"
+
+old_CC="$CC"
+old_CFLAGS="$CFLAGS"
+
+# Set sane defaults for various variables
+test -z "$CC" && CC=cc
+test -z "$LTCC" && LTCC=$CC
+test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
+test -z "$LD" && LD=ld
+test -z "$ac_objext" && ac_objext=o
+
+for cc_temp in $compiler""; do
+  case $cc_temp in
+    compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
+    distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
+    \-*) ;;
+    *) break;;
+  esac
+done
+cc_basename=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
+
+
+# Only perform the check for file, if the check method requires it
+test -z "$MAGIC_CMD" && MAGIC_CMD=file
+case $deplibs_check_method in
+file_magic*)
+  if test "$file_magic_cmd" = '$MAGIC_CMD'; then
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${ac_tool_prefix}file" >&5
+$as_echo_n "checking for ${ac_tool_prefix}file... " >&6; }
+if ${lt_cv_path_MAGIC_CMD+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  case $MAGIC_CMD in
+[\\/*] |  ?:[\\/]*)
+  lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
+  ;;
+*)
+  lt_save_MAGIC_CMD="$MAGIC_CMD"
+  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+  ac_dummy="/usr/bin$PATH_SEPARATOR$PATH"
+  for ac_dir in $ac_dummy; do
+    IFS="$lt_save_ifs"
+    test -z "$ac_dir" && ac_dir=.
+    if test -f $ac_dir/${ac_tool_prefix}file; then
+      lt_cv_path_MAGIC_CMD="$ac_dir/${ac_tool_prefix}file"
+      if test -n "$file_magic_test_file"; then
+	case $deplibs_check_method in
+	"file_magic "*)
+	  file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
+	  MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+	  if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
+	    $EGREP "$file_magic_regex" > /dev/null; then
+	    :
+	  else
+	    cat <<_LT_EOF 1>&2
+
+*** Warning: the command libtool uses to detect shared libraries,
+*** $file_magic_cmd, produces output that libtool cannot recognize.
+*** The result is that libtool may fail to recognize shared libraries
+*** as such.  This will affect the creation of libtool libraries that
+*** depend on shared libraries, but programs linked with such libtool
+*** libraries will work regardless of this problem.  Nevertheless, you
+*** may want to report the problem to your system manager and/or to
+*** bug-libtool@gnu.org
+
+_LT_EOF
+	  fi ;;
+	esac
+      fi
+      break
+    fi
+  done
+  IFS="$lt_save_ifs"
+  MAGIC_CMD="$lt_save_MAGIC_CMD"
+  ;;
+esac
+fi
+
+MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+if test -n "$MAGIC_CMD"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5
+$as_echo "$MAGIC_CMD" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+
+
+
+if test -z "$lt_cv_path_MAGIC_CMD"; then
+  if test -n "$ac_tool_prefix"; then
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for file" >&5
+$as_echo_n "checking for file... " >&6; }
+if ${lt_cv_path_MAGIC_CMD+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  case $MAGIC_CMD in
+[\\/*] |  ?:[\\/]*)
+  lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
+  ;;
+*)
+  lt_save_MAGIC_CMD="$MAGIC_CMD"
+  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+  ac_dummy="/usr/bin$PATH_SEPARATOR$PATH"
+  for ac_dir in $ac_dummy; do
+    IFS="$lt_save_ifs"
+    test -z "$ac_dir" && ac_dir=.
+    if test -f $ac_dir/file; then
+      lt_cv_path_MAGIC_CMD="$ac_dir/file"
+      if test -n "$file_magic_test_file"; then
+	case $deplibs_check_method in
+	"file_magic "*)
+	  file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
+	  MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+	  if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
+	    $EGREP "$file_magic_regex" > /dev/null; then
+	    :
+	  else
+	    cat <<_LT_EOF 1>&2
+
+*** Warning: the command libtool uses to detect shared libraries,
+*** $file_magic_cmd, produces output that libtool cannot recognize.
+*** The result is that libtool may fail to recognize shared libraries
+*** as such.  This will affect the creation of libtool libraries that
+*** depend on shared libraries, but programs linked with such libtool
+*** libraries will work regardless of this problem.  Nevertheless, you
+*** may want to report the problem to your system manager and/or to
+*** bug-libtool@gnu.org
+
+_LT_EOF
+	  fi ;;
+	esac
+      fi
+      break
+    fi
+  done
+  IFS="$lt_save_ifs"
+  MAGIC_CMD="$lt_save_MAGIC_CMD"
+  ;;
+esac
+fi
+
+MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+if test -n "$MAGIC_CMD"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5
+$as_echo "$MAGIC_CMD" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+  else
+    MAGIC_CMD=:
+  fi
+fi
+
+  fi
+  ;;
+esac
+
+# Use C for the default configuration in the libtool script
+
+lt_save_CC="$CC"
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+# Source file extension for C test sources.
+ac_ext=c
+
+# Object file extension for compiled C test sources.
+objext=o
+objext=$objext
+
+# Code to be used in simple compile tests
+lt_simple_compile_test_code="int some_variable = 0;"
+
+# Code to be used in simple link tests
+lt_simple_link_test_code='int main(){return(0);}'
+
+
+
+
+
+
+
+# If no C compiler was specified, use CC.
+LTCC=${LTCC-"$CC"}
+
+# If no C compiler flags were specified, use CFLAGS.
+LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
+
+# Allow CC to be a program name with arguments.
+compiler=$CC
+
+# Save the default compiler, since it gets overwritten when the other
+# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP.
+compiler_DEFAULT=$CC
+
+# save warnings/boilerplate of simple test code
+ac_outfile=conftest.$ac_objext
+echo "$lt_simple_compile_test_code" >conftest.$ac_ext
+eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
+_lt_compiler_boilerplate=`cat conftest.err`
+$RM conftest*
+
+ac_outfile=conftest.$ac_objext
+echo "$lt_simple_link_test_code" >conftest.$ac_ext
+eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
+_lt_linker_boilerplate=`cat conftest.err`
+$RM -r conftest*
+
+
+## CAVEAT EMPTOR:
+## There is no encapsulation within the following macros, do not change
+## the running order or otherwise move them around unless you know exactly
+## what you are doing...
+if test -n "$compiler"; then
+
+lt_prog_compiler_no_builtin_flag=
+
+if test "$GCC" = yes; then
+  case $cc_basename in
+  nvcc*)
+    lt_prog_compiler_no_builtin_flag=' -Xcompiler -fno-builtin' ;;
+  *)
+    lt_prog_compiler_no_builtin_flag=' -fno-builtin' ;;
+  esac
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
+$as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; }
+if ${lt_cv_prog_compiler_rtti_exceptions+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  lt_cv_prog_compiler_rtti_exceptions=no
+   ac_outfile=conftest.$ac_objext
+   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+   lt_compiler_flag="-fno-rtti -fno-exceptions"
+   # Insert the option either (1) after the last *FLAGS variable, or
+   # (2) before a word containing "conftest.", or (3) at the end.
+   # Note that $ac_compile itself does not contain backslashes and begins
+   # with a dollar sign (not a hyphen), so the echo should work correctly.
+   # The option is referenced via a variable to avoid confusing sed.
+   lt_compile=`echo "$ac_compile" | $SED \
+   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+   -e 's:$: $lt_compiler_flag:'`
+   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
+   (eval "$lt_compile" 2>conftest.err)
+   ac_status=$?
+   cat conftest.err >&5
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   if (exit $ac_status) && test -s "$ac_outfile"; then
+     # The compiler can only warn and ignore the option if not recognized
+     # So say no if there are warnings other than the usual output.
+     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
+     $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+     if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
+       lt_cv_prog_compiler_rtti_exceptions=yes
+     fi
+   fi
+   $RM conftest*
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_rtti_exceptions" >&5
+$as_echo "$lt_cv_prog_compiler_rtti_exceptions" >&6; }
+
+if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then
+    lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions"
+else
+    :
+fi
+
+fi
+
+
+
+
+
+
+  lt_prog_compiler_wl=
+lt_prog_compiler_pic=
+lt_prog_compiler_static=
+
+
+  if test "$GCC" = yes; then
+    lt_prog_compiler_wl='-Wl,'
+    lt_prog_compiler_static='-static'
+
+    case $host_os in
+      aix*)
+      # All AIX code is PIC.
+      if test "$host_cpu" = ia64; then
+	# AIX 5 now supports IA64 processor
+	lt_prog_compiler_static='-Bstatic'
+      fi
+      ;;
+
+    amigaos*)
+      case $host_cpu in
+      powerpc)
+            # see comment about AmigaOS4 .so support
+            lt_prog_compiler_pic='-fPIC'
+        ;;
+      m68k)
+            # FIXME: we need at least 68020 code to build shared libraries, but
+            # adding the `-m68020' flag to GCC prevents building anything better,
+            # like `-m68040'.
+            lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4'
+        ;;
+      esac
+      ;;
+
+    beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
+      # PIC is the default for these OSes.
+      ;;
+
+    mingw* | cygwin* | pw32* | os2* | cegcc*)
+      # This hack is so that the source file can tell whether it is being
+      # built for inclusion in a dll (and should export symbols for example).
+      # Although the cygwin gcc ignores -fPIC, still need this for old-style
+      # (--disable-auto-import) libraries
+      lt_prog_compiler_pic='-DDLL_EXPORT'
+      ;;
+
+    darwin* | rhapsody*)
+      # PIC is the default on this platform
+      # Common symbols not allowed in MH_DYLIB files
+      lt_prog_compiler_pic='-fno-common'
+      ;;
+
+    haiku*)
+      # PIC is the default for Haiku.
+      # The "-static" flag exists, but is broken.
+      lt_prog_compiler_static=
+      ;;
+
+    hpux*)
+      # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
+      # PA HP-UX.  On IA64 HP-UX, PIC is the default but the pic flag
+      # sets the default TLS model and affects inlining.
+      case $host_cpu in
+      hppa*64*)
+	# +Z the default
+	;;
+      *)
+	lt_prog_compiler_pic='-fPIC'
+	;;
+      esac
+      ;;
+
+    interix[3-9]*)
+      # Interix 3.x gcc -fpic/-fPIC options generate broken code.
+      # Instead, we relocate shared libraries at runtime.
+      ;;
+
+    msdosdjgpp*)
+      # Just because we use GCC doesn't mean we suddenly get shared libraries
+      # on systems that don't support them.
+      lt_prog_compiler_can_build_shared=no
+      enable_shared=no
+      ;;
+
+    *nto* | *qnx*)
+      # QNX uses GNU C++, but need to define -shared option too, otherwise
+      # it will coredump.
+      lt_prog_compiler_pic='-fPIC -shared'
+      ;;
+
+    sysv4*MP*)
+      if test -d /usr/nec; then
+	lt_prog_compiler_pic=-Kconform_pic
+      fi
+      ;;
+
+    *)
+      lt_prog_compiler_pic='-fPIC'
+      ;;
+    esac
+
+    case $cc_basename in
+    nvcc*) # Cuda Compiler Driver 2.2
+      lt_prog_compiler_wl='-Xlinker '
+      if test -n "$lt_prog_compiler_pic"; then
+        lt_prog_compiler_pic="-Xcompiler $lt_prog_compiler_pic"
+      fi
+      ;;
+    esac
+  else
+    # PORTME Check for flag to pass linker flags through the system compiler.
+    case $host_os in
+    aix*)
+      lt_prog_compiler_wl='-Wl,'
+      if test "$host_cpu" = ia64; then
+	# AIX 5 now supports IA64 processor
+	lt_prog_compiler_static='-Bstatic'
+      else
+	lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp'
+      fi
+      ;;
+
+    mingw* | cygwin* | pw32* | os2* | cegcc*)
+      # This hack is so that the source file can tell whether it is being
+      # built for inclusion in a dll (and should export symbols for example).
+      lt_prog_compiler_pic='-DDLL_EXPORT'
+      ;;
+
+    hpux9* | hpux10* | hpux11*)
+      lt_prog_compiler_wl='-Wl,'
+      # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
+      # not for PA HP-UX.
+      case $host_cpu in
+      hppa*64*|ia64*)
+	# +Z the default
+	;;
+      *)
+	lt_prog_compiler_pic='+Z'
+	;;
+      esac
+      # Is there a better lt_prog_compiler_static that works with the bundled CC?
+      lt_prog_compiler_static='${wl}-a ${wl}archive'
+      ;;
+
+    irix5* | irix6* | nonstopux*)
+      lt_prog_compiler_wl='-Wl,'
+      # PIC (with -KPIC) is the default.
+      lt_prog_compiler_static='-non_shared'
+      ;;
+
+    linux* | k*bsd*-gnu | kopensolaris*-gnu)
+      case $cc_basename in
+      # old Intel for x86_64 which still supported -KPIC.
+      ecc*)
+	lt_prog_compiler_wl='-Wl,'
+	lt_prog_compiler_pic='-KPIC'
+	lt_prog_compiler_static='-static'
+        ;;
+      # icc used to be incompatible with GCC.
+      # ICC 10 doesn't accept -KPIC any more.
+      icc* | ifort*)
+	lt_prog_compiler_wl='-Wl,'
+	lt_prog_compiler_pic='-fPIC'
+	lt_prog_compiler_static='-static'
+        ;;
+      # Lahey Fortran 8.1.
+      lf95*)
+	lt_prog_compiler_wl='-Wl,'
+	lt_prog_compiler_pic='--shared'
+	lt_prog_compiler_static='--static'
+	;;
+      nagfor*)
+	# NAG Fortran compiler
+	lt_prog_compiler_wl='-Wl,-Wl,,'
+	lt_prog_compiler_pic='-PIC'
+	lt_prog_compiler_static='-Bstatic'
+	;;
+      pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
+        # Portland Group compilers (*not* the Pentium gcc compiler,
+	# which looks to be a dead project)
+	lt_prog_compiler_wl='-Wl,'
+	lt_prog_compiler_pic='-fpic'
+	lt_prog_compiler_static='-Bstatic'
+        ;;
+      ccc*)
+        lt_prog_compiler_wl='-Wl,'
+        # All Alpha code is PIC.
+        lt_prog_compiler_static='-non_shared'
+        ;;
+      xl* | bgxl* | bgf* | mpixl*)
+	# IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene
+	lt_prog_compiler_wl='-Wl,'
+	lt_prog_compiler_pic='-qpic'
+	lt_prog_compiler_static='-qstaticlink'
+	;;
+      *)
+	case `$CC -V 2>&1 | sed 5q` in
+	*Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [1-7].* | *Sun*Fortran*\ 8.[0-3]*)
+	  # Sun Fortran 8.3 passes all unrecognized flags to the linker
+	  lt_prog_compiler_pic='-KPIC'
+	  lt_prog_compiler_static='-Bstatic'
+	  lt_prog_compiler_wl=''
+	  ;;
+	*Sun\ F* | *Sun*Fortran*)
+	  lt_prog_compiler_pic='-KPIC'
+	  lt_prog_compiler_static='-Bstatic'
+	  lt_prog_compiler_wl='-Qoption ld '
+	  ;;
+	*Sun\ C*)
+	  # Sun C 5.9
+	  lt_prog_compiler_pic='-KPIC'
+	  lt_prog_compiler_static='-Bstatic'
+	  lt_prog_compiler_wl='-Wl,'
+	  ;;
+        *Intel*\ [CF]*Compiler*)
+	  lt_prog_compiler_wl='-Wl,'
+	  lt_prog_compiler_pic='-fPIC'
+	  lt_prog_compiler_static='-static'
+	  ;;
+	*Portland\ Group*)
+	  lt_prog_compiler_wl='-Wl,'
+	  lt_prog_compiler_pic='-fpic'
+	  lt_prog_compiler_static='-Bstatic'
+	  ;;
+	esac
+	;;
+      esac
+      ;;
+
+    newsos6)
+      lt_prog_compiler_pic='-KPIC'
+      lt_prog_compiler_static='-Bstatic'
+      ;;
+
+    *nto* | *qnx*)
+      # QNX uses GNU C++, but need to define -shared option too, otherwise
+      # it will coredump.
+      lt_prog_compiler_pic='-fPIC -shared'
+      ;;
+
+    osf3* | osf4* | osf5*)
+      lt_prog_compiler_wl='-Wl,'
+      # All OSF/1 code is PIC.
+      lt_prog_compiler_static='-non_shared'
+      ;;
+
+    rdos*)
+      lt_prog_compiler_static='-non_shared'
+      ;;
+
+    solaris*)
+      lt_prog_compiler_pic='-KPIC'
+      lt_prog_compiler_static='-Bstatic'
+      case $cc_basename in
+      f77* | f90* | f95* | sunf77* | sunf90* | sunf95*)
+	lt_prog_compiler_wl='-Qoption ld ';;
+      *)
+	lt_prog_compiler_wl='-Wl,';;
+      esac
+      ;;
+
+    sunos4*)
+      lt_prog_compiler_wl='-Qoption ld '
+      lt_prog_compiler_pic='-PIC'
+      lt_prog_compiler_static='-Bstatic'
+      ;;
+
+    sysv4 | sysv4.2uw2* | sysv4.3*)
+      lt_prog_compiler_wl='-Wl,'
+      lt_prog_compiler_pic='-KPIC'
+      lt_prog_compiler_static='-Bstatic'
+      ;;
+
+    sysv4*MP*)
+      if test -d /usr/nec ;then
+	lt_prog_compiler_pic='-Kconform_pic'
+	lt_prog_compiler_static='-Bstatic'
+      fi
+      ;;
+
+    sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
+      lt_prog_compiler_wl='-Wl,'
+      lt_prog_compiler_pic='-KPIC'
+      lt_prog_compiler_static='-Bstatic'
+      ;;
+
+    unicos*)
+      lt_prog_compiler_wl='-Wl,'
+      lt_prog_compiler_can_build_shared=no
+      ;;
+
+    uts4*)
+      lt_prog_compiler_pic='-pic'
+      lt_prog_compiler_static='-Bstatic'
+      ;;
+
+    *)
+      lt_prog_compiler_can_build_shared=no
+      ;;
+    esac
+  fi
+
+case $host_os in
+  # For platforms which do not support PIC, -DPIC is meaningless:
+  *djgpp*)
+    lt_prog_compiler_pic=
+    ;;
+  *)
+    lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC"
+    ;;
+esac
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5
+$as_echo_n "checking for $compiler option to produce PIC... " >&6; }
+if ${lt_cv_prog_compiler_pic+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  lt_cv_prog_compiler_pic=$lt_prog_compiler_pic
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic" >&5
+$as_echo "$lt_cv_prog_compiler_pic" >&6; }
+lt_prog_compiler_pic=$lt_cv_prog_compiler_pic
+
+#
+# Check to make sure the PIC flag actually works.
+#
+if test -n "$lt_prog_compiler_pic"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5
+$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; }
+if ${lt_cv_prog_compiler_pic_works+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  lt_cv_prog_compiler_pic_works=no
+   ac_outfile=conftest.$ac_objext
+   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+   lt_compiler_flag="$lt_prog_compiler_pic -DPIC"
+   # Insert the option either (1) after the last *FLAGS variable, or
+   # (2) before a word containing "conftest.", or (3) at the end.
+   # Note that $ac_compile itself does not contain backslashes and begins
+   # with a dollar sign (not a hyphen), so the echo should work correctly.
+   # The option is referenced via a variable to avoid confusing sed.
+   lt_compile=`echo "$ac_compile" | $SED \
+   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+   -e 's:$: $lt_compiler_flag:'`
+   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
+   (eval "$lt_compile" 2>conftest.err)
+   ac_status=$?
+   cat conftest.err >&5
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   if (exit $ac_status) && test -s "$ac_outfile"; then
+     # The compiler can only warn and ignore the option if not recognized
+     # So say no if there are warnings other than the usual output.
+     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
+     $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+     if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
+       lt_cv_prog_compiler_pic_works=yes
+     fi
+   fi
+   $RM conftest*
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works" >&5
+$as_echo "$lt_cv_prog_compiler_pic_works" >&6; }
+
+if test x"$lt_cv_prog_compiler_pic_works" = xyes; then
+    case $lt_prog_compiler_pic in
+     "" | " "*) ;;
+     *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;;
+     esac
+else
+    lt_prog_compiler_pic=
+     lt_prog_compiler_can_build_shared=no
+fi
+
+fi
+
+
+
+
+
+
+
+
+
+
+
+#
+# Check to make sure the static flag actually works.
+#
+wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\"
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5
+$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; }
+if ${lt_cv_prog_compiler_static_works+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  lt_cv_prog_compiler_static_works=no
+   save_LDFLAGS="$LDFLAGS"
+   LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
+   echo "$lt_simple_link_test_code" > conftest.$ac_ext
+   if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
+     # The linker can only warn and ignore the option if not recognized
+     # So say no if there are warnings
+     if test -s conftest.err; then
+       # Append any errors to the config.log.
+       cat conftest.err 1>&5
+       $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
+       $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+       if diff conftest.exp conftest.er2 >/dev/null; then
+         lt_cv_prog_compiler_static_works=yes
+       fi
+     else
+       lt_cv_prog_compiler_static_works=yes
+     fi
+   fi
+   $RM -r conftest*
+   LDFLAGS="$save_LDFLAGS"
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works" >&5
+$as_echo "$lt_cv_prog_compiler_static_works" >&6; }
+
+if test x"$lt_cv_prog_compiler_static_works" = xyes; then
+    :
+else
+    lt_prog_compiler_static=
+fi
+
+
+
+
+
+
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
+$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
+if ${lt_cv_prog_compiler_c_o+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  lt_cv_prog_compiler_c_o=no
+   $RM -r conftest 2>/dev/null
+   mkdir conftest
+   cd conftest
+   mkdir out
+   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+
+   lt_compiler_flag="-o out/conftest2.$ac_objext"
+   # Insert the option either (1) after the last *FLAGS variable, or
+   # (2) before a word containing "conftest.", or (3) at the end.
+   # Note that $ac_compile itself does not contain backslashes and begins
+   # with a dollar sign (not a hyphen), so the echo should work correctly.
+   lt_compile=`echo "$ac_compile" | $SED \
+   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+   -e 's:$: $lt_compiler_flag:'`
+   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
+   (eval "$lt_compile" 2>out/conftest.err)
+   ac_status=$?
+   cat out/conftest.err >&5
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   if (exit $ac_status) && test -s out/conftest2.$ac_objext
+   then
+     # The compiler can only warn and ignore the option if not recognized
+     # So say no if there are warnings
+     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
+     $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
+     if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
+       lt_cv_prog_compiler_c_o=yes
+     fi
+   fi
+   chmod u+w . 2>&5
+   $RM conftest*
+   # SGI C++ compiler will create directory out/ii_files/ for
+   # template instantiation
+   test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
+   $RM out/* && rmdir out
+   cd ..
+   $RM -r conftest
+   $RM conftest*
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5
+$as_echo "$lt_cv_prog_compiler_c_o" >&6; }
+
+
+
+
+
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
+$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
+if ${lt_cv_prog_compiler_c_o+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  lt_cv_prog_compiler_c_o=no
+   $RM -r conftest 2>/dev/null
+   mkdir conftest
+   cd conftest
+   mkdir out
+   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+
+   lt_compiler_flag="-o out/conftest2.$ac_objext"
+   # Insert the option either (1) after the last *FLAGS variable, or
+   # (2) before a word containing "conftest.", or (3) at the end.
+   # Note that $ac_compile itself does not contain backslashes and begins
+   # with a dollar sign (not a hyphen), so the echo should work correctly.
+   lt_compile=`echo "$ac_compile" | $SED \
+   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+   -e 's:$: $lt_compiler_flag:'`
+   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
+   (eval "$lt_compile" 2>out/conftest.err)
+   ac_status=$?
+   cat out/conftest.err >&5
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   if (exit $ac_status) && test -s out/conftest2.$ac_objext
+   then
+     # The compiler can only warn and ignore the option if not recognized
+     # So say no if there are warnings
+     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
+     $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
+     if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
+       lt_cv_prog_compiler_c_o=yes
+     fi
+   fi
+   chmod u+w . 2>&5
+   $RM conftest*
+   # SGI C++ compiler will create directory out/ii_files/ for
+   # template instantiation
+   test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
+   $RM out/* && rmdir out
+   cd ..
+   $RM -r conftest
+   $RM conftest*
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5
+$as_echo "$lt_cv_prog_compiler_c_o" >&6; }
+
+
+
+
+hard_links="nottested"
+if test "$lt_cv_prog_compiler_c_o" = no && test "$need_locks" != no; then
+  # do not overwrite the value of need_locks provided by the user
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5
+$as_echo_n "checking if we can lock with hard links... " >&6; }
+  hard_links=yes
+  $RM conftest*
+  ln conftest.a conftest.b 2>/dev/null && hard_links=no
+  touch conftest.a
+  ln conftest.a conftest.b 2>&5 || hard_links=no
+  ln conftest.a conftest.b 2>/dev/null && hard_links=no
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5
+$as_echo "$hard_links" >&6; }
+  if test "$hard_links" = no; then
+    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
+$as_echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
+    need_locks=warn
+  fi
+else
+  need_locks=no
+fi
+
+
+
+
+
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5
+$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; }
+
+  runpath_var=
+  allow_undefined_flag=
+  always_export_symbols=no
+  archive_cmds=
+  archive_expsym_cmds=
+  compiler_needs_object=no
+  enable_shared_with_static_runtimes=no
+  export_dynamic_flag_spec=
+  export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+  hardcode_automatic=no
+  hardcode_direct=no
+  hardcode_direct_absolute=no
+  hardcode_libdir_flag_spec=
+  hardcode_libdir_separator=
+  hardcode_minus_L=no
+  hardcode_shlibpath_var=unsupported
+  inherit_rpath=no
+  link_all_deplibs=unknown
+  module_cmds=
+  module_expsym_cmds=
+  old_archive_from_new_cmds=
+  old_archive_from_expsyms_cmds=
+  thread_safe_flag_spec=
+  whole_archive_flag_spec=
+  # include_expsyms should be a list of space-separated symbols to be *always*
+  # included in the symbol list
+  include_expsyms=
+  # exclude_expsyms can be an extended regexp of symbols to exclude
+  # it will be wrapped by ` (' and `)$', so one must not match beginning or
+  # end of line.  Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
+  # as well as any symbol that contains `d'.
+  exclude_expsyms='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'
+  # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
+  # platforms (ab)use it in PIC code, but their linkers get confused if
+  # the symbol is explicitly referenced.  Since portable code cannot
+  # rely on this symbol name, it's probably fine to never include it in
+  # preloaded symbol tables.
+  # Exclude shared library initialization/finalization symbols.
+  extract_expsyms_cmds=
+
+  case $host_os in
+  cygwin* | mingw* | pw32* | cegcc*)
+    # FIXME: the MSVC++ port hasn't been tested in a loooong time
+    # When not using gcc, we currently assume that we are using
+    # Microsoft Visual C++.
+    if test "$GCC" != yes; then
+      with_gnu_ld=no
+    fi
+    ;;
+  interix*)
+    # we just hope/assume this is gcc and not c89 (= MSVC++)
+    with_gnu_ld=yes
+    ;;
+  openbsd*)
+    with_gnu_ld=no
+    ;;
+  esac
+
+  ld_shlibs=yes
+
+  # On some targets, GNU ld is compatible enough with the native linker
+  # that we're better off using the native interface for both.
+  lt_use_gnu_ld_interface=no
+  if test "$with_gnu_ld" = yes; then
+    case $host_os in
+      aix*)
+	# The AIX port of GNU ld has always aspired to compatibility
+	# with the native linker.  However, as the warning in the GNU ld
+	# block says, versions before 2.19.5* couldn't really create working
+	# shared libraries, regardless of the interface used.
+	case `$LD -v 2>&1` in
+	  *\ \(GNU\ Binutils\)\ 2.19.5*) ;;
+	  *\ \(GNU\ Binutils\)\ 2.[2-9]*) ;;
+	  *\ \(GNU\ Binutils\)\ [3-9]*) ;;
+	  *)
+	    lt_use_gnu_ld_interface=yes
+	    ;;
+	esac
+	;;
+      *)
+	lt_use_gnu_ld_interface=yes
+	;;
+    esac
+  fi
+
+  if test "$lt_use_gnu_ld_interface" = yes; then
+    # If archive_cmds runs LD, not CC, wlarc should be empty
+    wlarc='${wl}'
+
+    # Set some defaults for GNU ld with shared library support. These
+    # are reset later if shared libraries are not supported. Putting them
+    # here allows them to be overridden if necessary.
+    runpath_var=LD_RUN_PATH
+    hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+    export_dynamic_flag_spec='${wl}--export-dynamic'
+    # ancient GNU ld didn't support --whole-archive et. al.
+    if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then
+      whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+    else
+      whole_archive_flag_spec=
+    fi
+    supports_anon_versioning=no
+    case `$LD -v 2>&1` in
+      *GNU\ gold*) supports_anon_versioning=yes ;;
+      *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11
+      *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
+      *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
+      *\ 2.11.*) ;; # other 2.11 versions
+      *) supports_anon_versioning=yes ;;
+    esac
+
+    # See if GNU ld supports shared libraries.
+    case $host_os in
+    aix[3-9]*)
+      # On AIX/PPC, the GNU linker is very broken
+      if test "$host_cpu" != ia64; then
+	ld_shlibs=no
+	cat <<_LT_EOF 1>&2
+
+*** Warning: the GNU linker, at least up to release 2.19, is reported
+*** to be unable to reliably create shared libraries on AIX.
+*** Therefore, libtool is disabling shared libraries support.  If you
+*** really care for shared libraries, you may want to install binutils
+*** 2.20 or above, or modify your PATH so that a non-GNU linker is found.
+*** You will then need to restart the configuration process.
+
+_LT_EOF
+      fi
+      ;;
+
+    amigaos*)
+      case $host_cpu in
+      powerpc)
+            # see comment about AmigaOS4 .so support
+            archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+            archive_expsym_cmds=''
+        ;;
+      m68k)
+            archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
+            hardcode_libdir_flag_spec='-L$libdir'
+            hardcode_minus_L=yes
+        ;;
+      esac
+      ;;
+
+    beos*)
+      if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+	allow_undefined_flag=unsupported
+	# Joseph Beckenbach <jrb3@best.com> says some releases of gcc
+	# support --undefined.  This deserves some investigation.  FIXME
+	archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+      else
+	ld_shlibs=no
+      fi
+      ;;
+
+    cygwin* | mingw* | pw32* | cegcc*)
+      # _LT_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless,
+      # as there is no search path for DLLs.
+      hardcode_libdir_flag_spec='-L$libdir'
+      export_dynamic_flag_spec='${wl}--export-all-symbols'
+      allow_undefined_flag=unsupported
+      always_export_symbols=no
+      enable_shared_with_static_runtimes=yes
+      export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols'
+      exclude_expsyms='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'
+
+      if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
+        archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+	# If the export-symbols file already is a .def file (1st line
+	# is EXPORTS), use it as is; otherwise, prepend...
+	archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
+	  cp $export_symbols $output_objdir/$soname.def;
+	else
+	  echo EXPORTS > $output_objdir/$soname.def;
+	  cat $export_symbols >> $output_objdir/$soname.def;
+	fi~
+	$CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+      else
+	ld_shlibs=no
+      fi
+      ;;
+
+    haiku*)
+      archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+      link_all_deplibs=yes
+      ;;
+
+    interix[3-9]*)
+      hardcode_direct=no
+      hardcode_shlibpath_var=no
+      hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
+      export_dynamic_flag_spec='${wl}-E'
+      # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
+      # Instead, shared libraries are loaded at an image base (0x10000000 by
+      # default) and relocated if they conflict, which is a slow very memory
+      # consuming and fragmenting process.  To avoid this, we pick a random,
+      # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
+      # time.  Moving up from 0x10000000 also allows more sbrk(2) space.
+      archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+      archive_expsym_cmds='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+      ;;
+
+    gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu)
+      tmp_diet=no
+      if test "$host_os" = linux-dietlibc; then
+	case $cc_basename in
+	  diet\ *) tmp_diet=yes;;	# linux-dietlibc with static linking (!diet-dyn)
+	esac
+      fi
+      if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
+	 && test "$tmp_diet" = no
+      then
+	tmp_addflag=' $pic_flag'
+	tmp_sharedflag='-shared'
+	case $cc_basename,$host_cpu in
+        pgcc*)				# Portland Group C compiler
+	  whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
+	  tmp_addflag=' $pic_flag'
+	  ;;
+	pgf77* | pgf90* | pgf95* | pgfortran*)
+					# Portland Group f77 and f90 compilers
+	  whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
+	  tmp_addflag=' $pic_flag -Mnomain' ;;
+	ecc*,ia64* | icc*,ia64*)	# Intel C compiler on ia64
+	  tmp_addflag=' -i_dynamic' ;;
+	efc*,ia64* | ifort*,ia64*)	# Intel Fortran compiler on ia64
+	  tmp_addflag=' -i_dynamic -nofor_main' ;;
+	ifc* | ifort*)			# Intel Fortran compiler
+	  tmp_addflag=' -nofor_main' ;;
+	lf95*)				# Lahey Fortran 8.1
+	  whole_archive_flag_spec=
+	  tmp_sharedflag='--shared' ;;
+	xl[cC]* | bgxl[cC]* | mpixl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below)
+	  tmp_sharedflag='-qmkshrobj'
+	  tmp_addflag= ;;
+	nvcc*)	# Cuda Compiler Driver 2.2
+	  whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
+	  compiler_needs_object=yes
+	  ;;
+	esac
+	case `$CC -V 2>&1 | sed 5q` in
+	*Sun\ C*)			# Sun C 5.9
+	  whole_archive_flag_spec='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
+	  compiler_needs_object=yes
+	  tmp_sharedflag='-G' ;;
+	*Sun\ F*)			# Sun Fortran 8.3
+	  tmp_sharedflag='-G' ;;
+	esac
+	archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+
+        if test "x$supports_anon_versioning" = xyes; then
+          archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
+	    cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+	    echo "local: *; };" >> $output_objdir/$libname.ver~
+	    $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
+        fi
+
+	case $cc_basename in
+	xlf* | bgf* | bgxlf* | mpixlf*)
+	  # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
+	  whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive'
+	  hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+	  archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib'
+	  if test "x$supports_anon_versioning" = xyes; then
+	    archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
+	      cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+	      echo "local: *; };" >> $output_objdir/$libname.ver~
+	      $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
+	  fi
+	  ;;
+	esac
+      else
+        ld_shlibs=no
+      fi
+      ;;
+
+    netbsd*)
+      if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
+	archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
+	wlarc=
+      else
+	archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+	archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+      fi
+      ;;
+
+    solaris*)
+      if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then
+	ld_shlibs=no
+	cat <<_LT_EOF 1>&2
+
+*** Warning: The releases 2.8.* of the GNU linker cannot reliably
+*** create shared libraries on Solaris systems.  Therefore, libtool
+*** is disabling shared libraries support.  We urge you to upgrade GNU
+*** binutils to release 2.9.1 or newer.  Another option is to modify
+*** your PATH or compiler configuration so that the native linker is
+*** used, and then restart.
+
+_LT_EOF
+      elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+	archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+	archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+      else
+	ld_shlibs=no
+      fi
+      ;;
+
+    sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
+      case `$LD -v 2>&1` in
+        *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*)
+	ld_shlibs=no
+	cat <<_LT_EOF 1>&2
+
+*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
+*** reliably create shared libraries on SCO systems.  Therefore, libtool
+*** is disabling shared libraries support.  We urge you to upgrade GNU
+*** binutils to release 2.16.91.0.3 or newer.  Another option is to modify
+*** your PATH or compiler configuration so that the native linker is
+*** used, and then restart.
+
+_LT_EOF
+	;;
+	*)
+	  # For security reasons, it is highly recommended that you always
+	  # use absolute paths for naming shared libraries, and exclude the
+	  # DT_RUNPATH tag from executables and libraries.  But doing so
+	  # requires that you compile everything twice, which is a pain.
+	  if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+	    hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+	    archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+	    archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+	  else
+	    ld_shlibs=no
+	  fi
+	;;
+      esac
+      ;;
+
+    sunos4*)
+      archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+      wlarc=
+      hardcode_direct=yes
+      hardcode_shlibpath_var=no
+      ;;
+
+    *)
+      if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+	archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+	archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+      else
+	ld_shlibs=no
+      fi
+      ;;
+    esac
+
+    if test "$ld_shlibs" = no; then
+      runpath_var=
+      hardcode_libdir_flag_spec=
+      export_dynamic_flag_spec=
+      whole_archive_flag_spec=
+    fi
+  else
+    # PORTME fill in a description of your system's linker (not GNU ld)
+    case $host_os in
+    aix3*)
+      allow_undefined_flag=unsupported
+      always_export_symbols=yes
+      archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
+      # Note: this linker hardcodes the directories in LIBPATH if there
+      # are no directories specified by -L.
+      hardcode_minus_L=yes
+      if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
+	# Neither direct hardcoding nor static linking is supported with a
+	# broken collect2.
+	hardcode_direct=unsupported
+      fi
+      ;;
+
+    aix[4-9]*)
+      if test "$host_cpu" = ia64; then
+	# On IA64, the linker does run time linking by default, so we don't
+	# have to do anything special.
+	aix_use_runtimelinking=no
+	exp_sym_flag='-Bexport'
+	no_entry_flag=""
+      else
+	# If we're using GNU nm, then we don't want the "-C" option.
+	# -C means demangle to AIX nm, but means don't demangle with GNU nm
+	# Also, AIX nm treats weak defined symbols like other global
+	# defined symbols, whereas GNU nm marks them as "W".
+	if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
+	  export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
+	else
+	  export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
+	fi
+	aix_use_runtimelinking=no
+
+	# Test if we are trying to use run time linking or normal
+	# AIX style linking. If -brtl is somewhere in LDFLAGS, we
+	# need to do runtime linking.
+	case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*)
+	  for ld_flag in $LDFLAGS; do
+	  if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
+	    aix_use_runtimelinking=yes
+	    break
+	  fi
+	  done
+	  ;;
+	esac
+
+	exp_sym_flag='-bexport'
+	no_entry_flag='-bnoentry'
+      fi
+
+      # When large executables or shared objects are built, AIX ld can
+      # have problems creating the table of contents.  If linking a library
+      # or program results in "error TOC overflow" add -mminimal-toc to
+      # CXXFLAGS/CFLAGS for g++/gcc.  In the cases where that is not
+      # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
+
+      archive_cmds=''
+      hardcode_direct=yes
+      hardcode_direct_absolute=yes
+      hardcode_libdir_separator=':'
+      link_all_deplibs=yes
+      file_list_spec='${wl}-f,'
+
+      if test "$GCC" = yes; then
+	case $host_os in aix4.[012]|aix4.[012].*)
+	# We only want to do this on AIX 4.2 and lower, the check
+	# below for broken collect2 doesn't work under 4.3+
+	  collect2name=`${CC} -print-prog-name=collect2`
+	  if test -f "$collect2name" &&
+	   strings "$collect2name" | $GREP resolve_lib_name >/dev/null
+	  then
+	  # We have reworked collect2
+	  :
+	  else
+	  # We have old collect2
+	  hardcode_direct=unsupported
+	  # It fails to find uninstalled libraries when the uninstalled
+	  # path is not listed in the libpath.  Setting hardcode_minus_L
+	  # to unsupported forces relinking
+	  hardcode_minus_L=yes
+	  hardcode_libdir_flag_spec='-L$libdir'
+	  hardcode_libdir_separator=
+	  fi
+	  ;;
+	esac
+	shared_flag='-shared'
+	if test "$aix_use_runtimelinking" = yes; then
+	  shared_flag="$shared_flag "'${wl}-G'
+	fi
+      else
+	# not using gcc
+	if test "$host_cpu" = ia64; then
+	# VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
+	# chokes on -Wl,-G. The following line is correct:
+	  shared_flag='-G'
+	else
+	  if test "$aix_use_runtimelinking" = yes; then
+	    shared_flag='${wl}-G'
+	  else
+	    shared_flag='${wl}-bM:SRE'
+	  fi
+	fi
+      fi
+
+      export_dynamic_flag_spec='${wl}-bexpall'
+      # It seems that -bexpall does not export symbols beginning with
+      # underscore (_), so it is better to generate a list of symbols to export.
+      always_export_symbols=yes
+      if test "$aix_use_runtimelinking" = yes; then
+	# Warning - without using the other runtime loading flags (-brtl),
+	# -berok will link without error, but may produce a broken library.
+	allow_undefined_flag='-berok'
+        # Determine the default libpath from the value encoded in an
+        # empty executable.
+        if test "${lt_cv_aix_libpath+set}" = set; then
+  aix_libpath=$lt_cv_aix_libpath
+else
+  if ${lt_cv_aix_libpath_+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+
+  lt_aix_libpath_sed='
+      /Import File Strings/,/^$/ {
+	  /^0/ {
+	      s/^0  *\([^ ]*\) *$/\1/
+	      p
+	  }
+      }'
+  lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+  # Check for a 64-bit object if we didn't find anything.
+  if test -z "$lt_cv_aix_libpath_"; then
+    lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+  fi
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+  if test -z "$lt_cv_aix_libpath_"; then
+    lt_cv_aix_libpath_="/usr/lib:/lib"
+  fi
+
+fi
+
+  aix_libpath=$lt_cv_aix_libpath_
+fi
+
+        hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
+        archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
+      else
+	if test "$host_cpu" = ia64; then
+	  hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib'
+	  allow_undefined_flag="-z nodefs"
+	  archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
+	else
+	 # Determine the default libpath from the value encoded in an
+	 # empty executable.
+	 if test "${lt_cv_aix_libpath+set}" = set; then
+  aix_libpath=$lt_cv_aix_libpath
+else
+  if ${lt_cv_aix_libpath_+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+
+  lt_aix_libpath_sed='
+      /Import File Strings/,/^$/ {
+	  /^0/ {
+	      s/^0  *\([^ ]*\) *$/\1/
+	      p
+	  }
+      }'
+  lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+  # Check for a 64-bit object if we didn't find anything.
+  if test -z "$lt_cv_aix_libpath_"; then
+    lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+  fi
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+  if test -z "$lt_cv_aix_libpath_"; then
+    lt_cv_aix_libpath_="/usr/lib:/lib"
+  fi
+
+fi
+
+  aix_libpath=$lt_cv_aix_libpath_
+fi
+
+	 hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
+	  # Warning - without using the other run time loading flags,
+	  # -berok will link without error, but may produce a broken library.
+	  no_undefined_flag=' ${wl}-bernotok'
+	  allow_undefined_flag=' ${wl}-berok'
+	  if test "$with_gnu_ld" = yes; then
+	    # We only use this code for GNU lds that support --whole-archive.
+	    whole_archive_flag_spec='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
+	  else
+	    # Exported symbols can be pulled into shared objects from archives
+	    whole_archive_flag_spec='$convenience'
+	  fi
+	  archive_cmds_need_lc=yes
+	  # This is similar to how AIX traditionally builds its shared libraries.
+	  archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
+	fi
+      fi
+      ;;
+
+    amigaos*)
+      case $host_cpu in
+      powerpc)
+            # see comment about AmigaOS4 .so support
+            archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+            archive_expsym_cmds=''
+        ;;
+      m68k)
+            archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
+            hardcode_libdir_flag_spec='-L$libdir'
+            hardcode_minus_L=yes
+        ;;
+      esac
+      ;;
+
+    bsdi[45]*)
+      export_dynamic_flag_spec=-rdynamic
+      ;;
+
+    cygwin* | mingw* | pw32* | cegcc*)
+      # When not using gcc, we currently assume that we are using
+      # Microsoft Visual C++.
+      # hardcode_libdir_flag_spec is actually meaningless, as there is
+      # no search path for DLLs.
+      case $cc_basename in
+      cl*)
+	# Native MSVC
+	hardcode_libdir_flag_spec=' '
+	allow_undefined_flag=unsupported
+	always_export_symbols=yes
+	file_list_spec='@'
+	# Tell ltmain to make .lib files, not .a files.
+	libext=lib
+	# Tell ltmain to make .dll files, not .so files.
+	shrext_cmds=".dll"
+	# FIXME: Setting linknames here is a bad hack.
+	archive_cmds='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames='
+	archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
+	    sed -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp;
+	  else
+	    sed -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp;
+	  fi~
+	  $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
+	  linknames='
+	# The linker will not automatically build a static lib if we build a DLL.
+	# _LT_TAGVAR(old_archive_from_new_cmds, )='true'
+	enable_shared_with_static_runtimes=yes
+	exclude_expsyms='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*'
+	export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1,DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols'
+	# Don't use ranlib
+	old_postinstall_cmds='chmod 644 $oldlib'
+	postlink_cmds='lt_outputfile="@OUTPUT@"~
+	  lt_tool_outputfile="@TOOL_OUTPUT@"~
+	  case $lt_outputfile in
+	    *.exe|*.EXE) ;;
+	    *)
+	      lt_outputfile="$lt_outputfile.exe"
+	      lt_tool_outputfile="$lt_tool_outputfile.exe"
+	      ;;
+	  esac~
+	  if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then
+	    $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
+	    $RM "$lt_outputfile.manifest";
+	  fi'
+	;;
+      *)
+	# Assume MSVC wrapper
+	hardcode_libdir_flag_spec=' '
+	allow_undefined_flag=unsupported
+	# Tell ltmain to make .lib files, not .a files.
+	libext=lib
+	# Tell ltmain to make .dll files, not .so files.
+	shrext_cmds=".dll"
+	# FIXME: Setting linknames here is a bad hack.
+	archive_cmds='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames='
+	# The linker will automatically build a .lib file if we build a DLL.
+	old_archive_from_new_cmds='true'
+	# FIXME: Should let the user specify the lib program.
+	old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs'
+	enable_shared_with_static_runtimes=yes
+	;;
+      esac
+      ;;
+
+    darwin* | rhapsody*)
+
+
+  archive_cmds_need_lc=no
+  hardcode_direct=no
+  hardcode_automatic=yes
+  hardcode_shlibpath_var=unsupported
+  if test "$lt_cv_ld_force_load" = "yes"; then
+    whole_archive_flag_spec='`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience ${wl}-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`'
+
+  else
+    whole_archive_flag_spec=''
+  fi
+  link_all_deplibs=yes
+  allow_undefined_flag="$_lt_dar_allow_undefined"
+  case $cc_basename in
+     ifort*) _lt_dar_can_shared=yes ;;
+     *) _lt_dar_can_shared=$GCC ;;
+  esac
+  if test "$_lt_dar_can_shared" = "yes"; then
+    output_verbose_link_cmd=func_echo_all
+    archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
+    module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
+    archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
+    module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
+
+  else
+  ld_shlibs=no
+  fi
+
+      ;;
+
+    dgux*)
+      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+      hardcode_libdir_flag_spec='-L$libdir'
+      hardcode_shlibpath_var=no
+      ;;
+
+    # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
+    # support.  Future versions do this automatically, but an explicit c++rt0.o
+    # does not break anything, and helps significantly (at the cost of a little
+    # extra space).
+    freebsd2.2*)
+      archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
+      hardcode_libdir_flag_spec='-R$libdir'
+      hardcode_direct=yes
+      hardcode_shlibpath_var=no
+      ;;
+
+    # Unfortunately, older versions of FreeBSD 2 do not have this feature.
+    freebsd2.*)
+      archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+      hardcode_direct=yes
+      hardcode_minus_L=yes
+      hardcode_shlibpath_var=no
+      ;;
+
+    # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
+    freebsd* | dragonfly*)
+      archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+      hardcode_libdir_flag_spec='-R$libdir'
+      hardcode_direct=yes
+      hardcode_shlibpath_var=no
+      ;;
+
+    hpux9*)
+      if test "$GCC" = yes; then
+	archive_cmds='$RM $output_objdir/$soname~$CC -shared $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+      else
+	archive_cmds='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+      fi
+      hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
+      hardcode_libdir_separator=:
+      hardcode_direct=yes
+
+      # hardcode_minus_L: Not really in the search PATH,
+      # but as the default location of the library.
+      hardcode_minus_L=yes
+      export_dynamic_flag_spec='${wl}-E'
+      ;;
+
+    hpux10*)
+      if test "$GCC" = yes && test "$with_gnu_ld" = no; then
+	archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+      else
+	archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
+      fi
+      if test "$with_gnu_ld" = no; then
+	hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
+	hardcode_libdir_separator=:
+	hardcode_direct=yes
+	hardcode_direct_absolute=yes
+	export_dynamic_flag_spec='${wl}-E'
+	# hardcode_minus_L: Not really in the search PATH,
+	# but as the default location of the library.
+	hardcode_minus_L=yes
+      fi
+      ;;
+
+    hpux11*)
+      if test "$GCC" = yes && test "$with_gnu_ld" = no; then
+	case $host_cpu in
+	hppa*64*)
+	  archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+	  ;;
+	ia64*)
+	  archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+	  ;;
+	*)
+	  archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+	  ;;
+	esac
+      else
+	case $host_cpu in
+	hppa*64*)
+	  archive_cmds='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+	  ;;
+	ia64*)
+	  archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+	  ;;
+	*)
+
+	  # Older versions of the 11.00 compiler do not understand -b yet
+	  # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does)
+	  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC understands -b" >&5
+$as_echo_n "checking if $CC understands -b... " >&6; }
+if ${lt_cv_prog_compiler__b+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  lt_cv_prog_compiler__b=no
+   save_LDFLAGS="$LDFLAGS"
+   LDFLAGS="$LDFLAGS -b"
+   echo "$lt_simple_link_test_code" > conftest.$ac_ext
+   if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
+     # The linker can only warn and ignore the option if not recognized
+     # So say no if there are warnings
+     if test -s conftest.err; then
+       # Append any errors to the config.log.
+       cat conftest.err 1>&5
+       $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
+       $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+       if diff conftest.exp conftest.er2 >/dev/null; then
+         lt_cv_prog_compiler__b=yes
+       fi
+     else
+       lt_cv_prog_compiler__b=yes
+     fi
+   fi
+   $RM -r conftest*
+   LDFLAGS="$save_LDFLAGS"
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler__b" >&5
+$as_echo "$lt_cv_prog_compiler__b" >&6; }
+
+if test x"$lt_cv_prog_compiler__b" = xyes; then
+    archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+else
+    archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
+fi
+
+	  ;;
+	esac
+      fi
+      if test "$with_gnu_ld" = no; then
+	hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
+	hardcode_libdir_separator=:
+
+	case $host_cpu in
+	hppa*64*|ia64*)
+	  hardcode_direct=no
+	  hardcode_shlibpath_var=no
+	  ;;
+	*)
+	  hardcode_direct=yes
+	  hardcode_direct_absolute=yes
+	  export_dynamic_flag_spec='${wl}-E'
+
+	  # hardcode_minus_L: Not really in the search PATH,
+	  # but as the default location of the library.
+	  hardcode_minus_L=yes
+	  ;;
+	esac
+      fi
+      ;;
+
+    irix5* | irix6* | nonstopux*)
+      if test "$GCC" = yes; then
+	archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+	# Try to use the -exported_symbol ld option, if it does not
+	# work, assume that -exports_file does not work either and
+	# implicitly export all symbols.
+	# This should be the same for all languages, so no per-tag cache variable.
+	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $host_os linker accepts -exported_symbol" >&5
+$as_echo_n "checking whether the $host_os linker accepts -exported_symbol... " >&6; }
+if ${lt_cv_irix_exported_symbol+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  save_LDFLAGS="$LDFLAGS"
+	   LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null"
+	   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+int foo (void) { return 0; }
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  lt_cv_irix_exported_symbol=yes
+else
+  lt_cv_irix_exported_symbol=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+           LDFLAGS="$save_LDFLAGS"
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_irix_exported_symbol" >&5
+$as_echo "$lt_cv_irix_exported_symbol" >&6; }
+	if test "$lt_cv_irix_exported_symbol" = yes; then
+          archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib'
+	fi
+      else
+	archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
+	archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib'
+      fi
+      archive_cmds_need_lc='no'
+      hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+      hardcode_libdir_separator=:
+      inherit_rpath=yes
+      link_all_deplibs=yes
+      ;;
+
+    netbsd*)
+      if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
+	archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'  # a.out
+      else
+	archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags'      # ELF
+      fi
+      hardcode_libdir_flag_spec='-R$libdir'
+      hardcode_direct=yes
+      hardcode_shlibpath_var=no
+      ;;
+
+    newsos6)
+      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+      hardcode_direct=yes
+      hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+      hardcode_libdir_separator=:
+      hardcode_shlibpath_var=no
+      ;;
+
+    *nto* | *qnx*)
+      ;;
+
+    openbsd*)
+      if test -f /usr/libexec/ld.so; then
+	hardcode_direct=yes
+	hardcode_shlibpath_var=no
+	hardcode_direct_absolute=yes
+	if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+	  archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+	  archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
+	  hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
+	  export_dynamic_flag_spec='${wl}-E'
+	else
+	  case $host_os in
+	   openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
+	     archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+	     hardcode_libdir_flag_spec='-R$libdir'
+	     ;;
+	   *)
+	     archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+	     hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
+	     ;;
+	  esac
+	fi
+      else
+	ld_shlibs=no
+      fi
+      ;;
+
+    os2*)
+      hardcode_libdir_flag_spec='-L$libdir'
+      hardcode_minus_L=yes
+      allow_undefined_flag=unsupported
+      archive_cmds='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~echo DATA >> $output_objdir/$libname.def~echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
+      old_archive_from_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
+      ;;
+
+    osf3*)
+      if test "$GCC" = yes; then
+	allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
+	archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+      else
+	allow_undefined_flag=' -expect_unresolved \*'
+	archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
+      fi
+      archive_cmds_need_lc='no'
+      hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+      hardcode_libdir_separator=:
+      ;;
+
+    osf4* | osf5*)	# as osf3* with the addition of -msym flag
+      if test "$GCC" = yes; then
+	allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
+	archive_cmds='$CC -shared${allow_undefined_flag} $pic_flag $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+	hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+      else
+	allow_undefined_flag=' -expect_unresolved \*'
+	archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
+	archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~
+	$CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp'
+
+	# Both c and cxx compiler support -rpath directly
+	hardcode_libdir_flag_spec='-rpath $libdir'
+      fi
+      archive_cmds_need_lc='no'
+      hardcode_libdir_separator=:
+      ;;
+
+    solaris*)
+      no_undefined_flag=' -z defs'
+      if test "$GCC" = yes; then
+	wlarc='${wl}'
+	archive_cmds='$CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+	archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+	  $CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
+      else
+	case `$CC -V 2>&1` in
+	*"Compilers 5.0"*)
+	  wlarc=''
+	  archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
+	  archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+	  $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp'
+	  ;;
+	*)
+	  wlarc='${wl}'
+	  archive_cmds='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags'
+	  archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+	  $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
+	  ;;
+	esac
+      fi
+      hardcode_libdir_flag_spec='-R$libdir'
+      hardcode_shlibpath_var=no
+      case $host_os in
+      solaris2.[0-5] | solaris2.[0-5].*) ;;
+      *)
+	# The compiler driver will combine and reorder linker options,
+	# but understands `-z linker_flag'.  GCC discards it without `$wl',
+	# but is careful enough not to reorder.
+	# Supported since Solaris 2.6 (maybe 2.5.1?)
+	if test "$GCC" = yes; then
+	  whole_archive_flag_spec='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
+	else
+	  whole_archive_flag_spec='-z allextract$convenience -z defaultextract'
+	fi
+	;;
+      esac
+      link_all_deplibs=yes
+      ;;
+
+    sunos4*)
+      if test "x$host_vendor" = xsequent; then
+	# Use $CC to link under sequent, because it throws in some extra .o
+	# files that make .init and .fini sections work.
+	archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
+      else
+	archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
+      fi
+      hardcode_libdir_flag_spec='-L$libdir'
+      hardcode_direct=yes
+      hardcode_minus_L=yes
+      hardcode_shlibpath_var=no
+      ;;
+
+    sysv4)
+      case $host_vendor in
+	sni)
+	  archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+	  hardcode_direct=yes # is this really true???
+	;;
+	siemens)
+	  ## LD is ld it makes a PLAMLIB
+	  ## CC just makes a GrossModule.
+	  archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags'
+	  reload_cmds='$CC -r -o $output$reload_objs'
+	  hardcode_direct=no
+        ;;
+	motorola)
+	  archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+	  hardcode_direct=no #Motorola manual says yes, but my tests say they lie
+	;;
+      esac
+      runpath_var='LD_RUN_PATH'
+      hardcode_shlibpath_var=no
+      ;;
+
+    sysv4.3*)
+      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+      hardcode_shlibpath_var=no
+      export_dynamic_flag_spec='-Bexport'
+      ;;
+
+    sysv4*MP*)
+      if test -d /usr/nec; then
+	archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+	hardcode_shlibpath_var=no
+	runpath_var=LD_RUN_PATH
+	hardcode_runpath_var=yes
+	ld_shlibs=yes
+      fi
+      ;;
+
+    sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)
+      no_undefined_flag='${wl}-z,text'
+      archive_cmds_need_lc=no
+      hardcode_shlibpath_var=no
+      runpath_var='LD_RUN_PATH'
+
+      if test "$GCC" = yes; then
+	archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+      else
+	archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+      fi
+      ;;
+
+    sysv5* | sco3.2v5* | sco5v6*)
+      # Note: We can NOT use -z defs as we might desire, because we do not
+      # link with -lc, and that would cause any symbols used from libc to
+      # always be unresolved, which means just about no library would
+      # ever link correctly.  If we're not using GNU ld we use -z text
+      # though, which does catch some bad symbols but isn't as heavy-handed
+      # as -z defs.
+      no_undefined_flag='${wl}-z,text'
+      allow_undefined_flag='${wl}-z,nodefs'
+      archive_cmds_need_lc=no
+      hardcode_shlibpath_var=no
+      hardcode_libdir_flag_spec='${wl}-R,$libdir'
+      hardcode_libdir_separator=':'
+      link_all_deplibs=yes
+      export_dynamic_flag_spec='${wl}-Bexport'
+      runpath_var='LD_RUN_PATH'
+
+      if test "$GCC" = yes; then
+	archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+      else
+	archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+      fi
+      ;;
+
+    uts4*)
+      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+      hardcode_libdir_flag_spec='-L$libdir'
+      hardcode_shlibpath_var=no
+      ;;
+
+    *)
+      ld_shlibs=no
+      ;;
+    esac
+
+    if test x$host_vendor = xsni; then
+      case $host in
+      sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
+	export_dynamic_flag_spec='${wl}-Blargedynsym'
+	;;
+      esac
+    fi
+  fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs" >&5
+$as_echo "$ld_shlibs" >&6; }
+test "$ld_shlibs" = no && can_build_shared=no
+
+with_gnu_ld=$with_gnu_ld
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+#
+# Do we need to explicitly link libc?
+#
+case "x$archive_cmds_need_lc" in
+x|xyes)
+  # Assume -lc should be added
+  archive_cmds_need_lc=yes
+
+  if test "$enable_shared" = yes && test "$GCC" = yes; then
+    case $archive_cmds in
+    *'~'*)
+      # FIXME: we may have to deal with multi-command sequences.
+      ;;
+    '$CC '*)
+      # Test whether the compiler implicitly links with -lc since on some
+      # systems, -lgcc has to come before -lc. If gcc already passes -lc
+      # to ld, don't add -lc before -lgcc.
+      { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5
+$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; }
+if ${lt_cv_archive_cmds_need_lc+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  $RM conftest*
+	echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+
+	if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; } 2>conftest.err; then
+	  soname=conftest
+	  lib=conftest
+	  libobjs=conftest.$ac_objext
+	  deplibs=
+	  wl=$lt_prog_compiler_wl
+	  pic_flag=$lt_prog_compiler_pic
+	  compiler_flags=-v
+	  linker_flags=-v
+	  verstring=
+	  output_objdir=.
+	  libname=conftest
+	  lt_save_allow_undefined_flag=$allow_undefined_flag
+	  allow_undefined_flag=
+	  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5
+  (eval $archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+	  then
+	    lt_cv_archive_cmds_need_lc=no
+	  else
+	    lt_cv_archive_cmds_need_lc=yes
+	  fi
+	  allow_undefined_flag=$lt_save_allow_undefined_flag
+	else
+	  cat conftest.err 1>&5
+	fi
+	$RM conftest*
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc" >&5
+$as_echo "$lt_cv_archive_cmds_need_lc" >&6; }
+      archive_cmds_need_lc=$lt_cv_archive_cmds_need_lc
+      ;;
+    esac
+  fi
+  ;;
+esac
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5
+$as_echo_n "checking dynamic linker characteristics... " >&6; }
+
+if test "$GCC" = yes; then
+  case $host_os in
+    darwin*) lt_awk_arg="/^libraries:/,/LR/" ;;
+    *) lt_awk_arg="/^libraries:/" ;;
+  esac
+  case $host_os in
+    mingw* | cegcc*) lt_sed_strip_eq="s,=\([A-Za-z]:\),\1,g" ;;
+    *) lt_sed_strip_eq="s,=/,/,g" ;;
+  esac
+  lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq`
+  case $lt_search_path_spec in
+  *\;*)
+    # if the path contains ";" then we assume it to be the separator
+    # otherwise default to the standard path separator (i.e. ":") - it is
+    # assumed that no part of a normal pathname contains ";" but that should
+    # okay in the real world where ";" in dirpaths is itself problematic.
+    lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'`
+    ;;
+  *)
+    lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"`
+    ;;
+  esac
+  # Ok, now we have the path, separated by spaces, we can step through it
+  # and add multilib dir if necessary.
+  lt_tmp_lt_search_path_spec=
+  lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
+  for lt_sys_path in $lt_search_path_spec; do
+    if test -d "$lt_sys_path/$lt_multi_os_dir"; then
+      lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir"
+    else
+      test -d "$lt_sys_path" && \
+	lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
+    fi
+  done
+  lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk '
+BEGIN {RS=" "; FS="/|\n";} {
+  lt_foo="";
+  lt_count=0;
+  for (lt_i = NF; lt_i > 0; lt_i--) {
+    if ($lt_i != "" && $lt_i != ".") {
+      if ($lt_i == "..") {
+        lt_count++;
+      } else {
+        if (lt_count == 0) {
+          lt_foo="/" $lt_i lt_foo;
+        } else {
+          lt_count--;
+        }
+      }
+    }
+  }
+  if (lt_foo != "") { lt_freq[lt_foo]++; }
+  if (lt_freq[lt_foo] == 1) { print lt_foo; }
+}'`
+  # AWK program above erroneously prepends '/' to C:/dos/paths
+  # for these hosts.
+  case $host_os in
+    mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\
+      $SED 's,/\([A-Za-z]:\),\1,g'` ;;
+  esac
+  sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP`
+else
+  sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
+fi
+library_names_spec=
+libname_spec='lib$name'
+soname_spec=
+shrext_cmds=".so"
+postinstall_cmds=
+postuninstall_cmds=
+finish_cmds=
+finish_eval=
+shlibpath_var=
+shlibpath_overrides_runpath=unknown
+version_type=none
+dynamic_linker="$host_os ld.so"
+sys_lib_dlsearch_path_spec="/lib /usr/lib"
+need_lib_prefix=unknown
+hardcode_into_libs=no
+
+# when you set need_version to no, make sure it does not cause -set_version
+# flags to be left without arguments
+need_version=unknown
+
+case $host_os in
+aix3*)
+  version_type=linux # correct to gnu/linux during the next big refactor
+  library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
+  shlibpath_var=LIBPATH
+
+  # AIX 3 has no versioning support, so we append a major version to the name.
+  soname_spec='${libname}${release}${shared_ext}$major'
+  ;;
+
+aix[4-9]*)
+  version_type=linux # correct to gnu/linux during the next big refactor
+  need_lib_prefix=no
+  need_version=no
+  hardcode_into_libs=yes
+  if test "$host_cpu" = ia64; then
+    # AIX 5 supports IA64
+    library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
+    shlibpath_var=LD_LIBRARY_PATH
+  else
+    # With GCC up to 2.95.x, collect2 would create an import file
+    # for dependence libraries.  The import file would start with
+    # the line `#! .'.  This would cause the generated library to
+    # depend on `.', always an invalid library.  This was fixed in
+    # development snapshots of GCC prior to 3.0.
+    case $host_os in
+      aix4 | aix4.[01] | aix4.[01].*)
+      if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
+	   echo ' yes '
+	   echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then
+	:
+      else
+	can_build_shared=no
+      fi
+      ;;
+    esac
+    # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
+    # soname into executable. Probably we can add versioning support to
+    # collect2, so additional links can be useful in future.
+    if test "$aix_use_runtimelinking" = yes; then
+      # If using run time linking (on AIX 4.2 or later) use lib<name>.so
+      # instead of lib<name>.a to let people know that these are not
+      # typical AIX shared libraries.
+      library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+    else
+      # We preserve .a as extension for shared libraries through AIX4.2
+      # and later when we are not doing run time linking.
+      library_names_spec='${libname}${release}.a $libname.a'
+      soname_spec='${libname}${release}${shared_ext}$major'
+    fi
+    shlibpath_var=LIBPATH
+  fi
+  ;;
+
+amigaos*)
+  case $host_cpu in
+  powerpc)
+    # Since July 2007 AmigaOS4 officially supports .so libraries.
+    # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
+    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+    ;;
+  m68k)
+    library_names_spec='$libname.ixlibrary $libname.a'
+    # Create ${libname}_ixlibrary.a entries in /sys/libs.
+    finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
+    ;;
+  esac
+  ;;
+
+beos*)
+  library_names_spec='${libname}${shared_ext}'
+  dynamic_linker="$host_os ld.so"
+  shlibpath_var=LIBRARY_PATH
+  ;;
+
+bsdi[45]*)
+  version_type=linux # correct to gnu/linux during the next big refactor
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
+  shlibpath_var=LD_LIBRARY_PATH
+  sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
+  sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
+  # the default ld.so.conf also contains /usr/contrib/lib and
+  # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
+  # libtool to hard-code these into programs
+  ;;
+
+cygwin* | mingw* | pw32* | cegcc*)
+  version_type=windows
+  shrext_cmds=".dll"
+  need_version=no
+  need_lib_prefix=no
+
+  case $GCC,$cc_basename in
+  yes,*)
+    # gcc
+    library_names_spec='$libname.dll.a'
+    # DLL is installed to $(libdir)/../bin by postinstall_cmds
+    postinstall_cmds='base_file=`basename \${file}`~
+      dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
+      dldir=$destdir/`dirname \$dlpath`~
+      test -d \$dldir || mkdir -p \$dldir~
+      $install_prog $dir/$dlname \$dldir/$dlname~
+      chmod a+x \$dldir/$dlname~
+      if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
+        eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
+      fi'
+    postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
+      dlpath=$dir/\$dldll~
+       $RM \$dlpath'
+    shlibpath_overrides_runpath=yes
+
+    case $host_os in
+    cygwin*)
+      # Cygwin DLLs use 'cyg' prefix rather than 'lib'
+      soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
+
+      sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"
+      ;;
+    mingw* | cegcc*)
+      # MinGW DLLs use traditional 'lib' prefix
+      soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
+      ;;
+    pw32*)
+      # pw32 DLLs use 'pw' prefix rather than 'lib'
+      library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
+      ;;
+    esac
+    dynamic_linker='Win32 ld.exe'
+    ;;
+
+  *,cl*)
+    # Native MSVC
+    libname_spec='$name'
+    soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
+    library_names_spec='${libname}.dll.lib'
+
+    case $build_os in
+    mingw*)
+      sys_lib_search_path_spec=
+      lt_save_ifs=$IFS
+      IFS=';'
+      for lt_path in $LIB
+      do
+        IFS=$lt_save_ifs
+        # Let DOS variable expansion print the short 8.3 style file name.
+        lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"`
+        sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path"
+      done
+      IFS=$lt_save_ifs
+      # Convert to MSYS style.
+      sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'`
+      ;;
+    cygwin*)
+      # Convert to unix form, then to dos form, then back to unix form
+      # but this time dos style (no spaces!) so that the unix form looks
+      # like /cygdrive/c/PROGRA~1:/cygdr...
+      sys_lib_search_path_spec=`cygpath --path --unix "$LIB"`
+      sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null`
+      sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
+      ;;
+    *)
+      sys_lib_search_path_spec="$LIB"
+      if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then
+        # It is most probably a Windows format PATH.
+        sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
+      else
+        sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
+      fi
+      # FIXME: find the short name or the path components, as spaces are
+      # common. (e.g. "Program Files" -> "PROGRA~1")
+      ;;
+    esac
+
+    # DLL is installed to $(libdir)/../bin by postinstall_cmds
+    postinstall_cmds='base_file=`basename \${file}`~
+      dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
+      dldir=$destdir/`dirname \$dlpath`~
+      test -d \$dldir || mkdir -p \$dldir~
+      $install_prog $dir/$dlname \$dldir/$dlname'
+    postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
+      dlpath=$dir/\$dldll~
+       $RM \$dlpath'
+    shlibpath_overrides_runpath=yes
+    dynamic_linker='Win32 link.exe'
+    ;;
+
+  *)
+    # Assume MSVC wrapper
+    library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib'
+    dynamic_linker='Win32 ld.exe'
+    ;;
+  esac
+  # FIXME: first we should search . and the directory the executable is in
+  shlibpath_var=PATH
+  ;;
+
+darwin* | rhapsody*)
+  dynamic_linker="$host_os dyld"
+  version_type=darwin
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext'
+  soname_spec='${libname}${release}${major}$shared_ext'
+  shlibpath_overrides_runpath=yes
+  shlibpath_var=DYLD_LIBRARY_PATH
+  shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
+
+  sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"
+  sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
+  ;;
+
+dgux*)
+  version_type=linux # correct to gnu/linux during the next big refactor
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  ;;
+
+freebsd* | dragonfly*)
+  # DragonFly does not have aout.  When/if they implement a new
+  # versioning mechanism, adjust this.
+  if test -x /usr/bin/objformat; then
+    objformat=`/usr/bin/objformat`
+  else
+    case $host_os in
+    freebsd[23].*) objformat=aout ;;
+    *) objformat=elf ;;
+    esac
+  fi
+  version_type=freebsd-$objformat
+  case $version_type in
+    freebsd-elf*)
+      library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
+      need_version=no
+      need_lib_prefix=no
+      ;;
+    freebsd-*)
+      library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
+      need_version=yes
+      ;;
+  esac
+  shlibpath_var=LD_LIBRARY_PATH
+  case $host_os in
+  freebsd2.*)
+    shlibpath_overrides_runpath=yes
+    ;;
+  freebsd3.[01]* | freebsdelf3.[01]*)
+    shlibpath_overrides_runpath=yes
+    hardcode_into_libs=yes
+    ;;
+  freebsd3.[2-9]* | freebsdelf3.[2-9]* | \
+  freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1)
+    shlibpath_overrides_runpath=no
+    hardcode_into_libs=yes
+    ;;
+  *) # from 4.6 on, and DragonFly
+    shlibpath_overrides_runpath=yes
+    hardcode_into_libs=yes
+    ;;
+  esac
+  ;;
+
+gnu*)
+  version_type=linux # correct to gnu/linux during the next big refactor
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  hardcode_into_libs=yes
+  ;;
+
+haiku*)
+  version_type=linux # correct to gnu/linux during the next big refactor
+  need_lib_prefix=no
+  need_version=no
+  dynamic_linker="$host_os runtime_loader"
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib'
+  hardcode_into_libs=yes
+  ;;
+
+hpux9* | hpux10* | hpux11*)
+  # Give a soname corresponding to the major version so that dld.sl refuses to
+  # link against other versions.
+  version_type=sunos
+  need_lib_prefix=no
+  need_version=no
+  case $host_cpu in
+  ia64*)
+    shrext_cmds='.so'
+    hardcode_into_libs=yes
+    dynamic_linker="$host_os dld.so"
+    shlibpath_var=LD_LIBRARY_PATH
+    shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
+    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+    soname_spec='${libname}${release}${shared_ext}$major'
+    if test "X$HPUX_IA64_MODE" = X32; then
+      sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
+    else
+      sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
+    fi
+    sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+    ;;
+  hppa*64*)
+    shrext_cmds='.sl'
+    hardcode_into_libs=yes
+    dynamic_linker="$host_os dld.sl"
+    shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
+    shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
+    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+    soname_spec='${libname}${release}${shared_ext}$major'
+    sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
+    sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+    ;;
+  *)
+    shrext_cmds='.sl'
+    dynamic_linker="$host_os dld.sl"
+    shlibpath_var=SHLIB_PATH
+    shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
+    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+    soname_spec='${libname}${release}${shared_ext}$major'
+    ;;
+  esac
+  # HP-UX runs *really* slowly unless shared libraries are mode 555, ...
+  postinstall_cmds='chmod 555 $lib'
+  # or fails outright, so override atomically:
+  install_override_mode=555
+  ;;
+
+interix[3-9]*)
+  version_type=linux # correct to gnu/linux during the next big refactor
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  hardcode_into_libs=yes
+  ;;
+
+irix5* | irix6* | nonstopux*)
+  case $host_os in
+    nonstopux*) version_type=nonstopux ;;
+    *)
+	if test "$lt_cv_prog_gnu_ld" = yes; then
+		version_type=linux # correct to gnu/linux during the next big refactor
+	else
+		version_type=irix
+	fi ;;
+  esac
+  need_lib_prefix=no
+  need_version=no
+  soname_spec='${libname}${release}${shared_ext}$major'
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
+  case $host_os in
+  irix5* | nonstopux*)
+    libsuff= shlibsuff=
+    ;;
+  *)
+    case $LD in # libtool.m4 will add one of these switches to LD
+    *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
+      libsuff= shlibsuff= libmagic=32-bit;;
+    *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
+      libsuff=32 shlibsuff=N32 libmagic=N32;;
+    *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
+      libsuff=64 shlibsuff=64 libmagic=64-bit;;
+    *) libsuff= shlibsuff= libmagic=never-match;;
+    esac
+    ;;
+  esac
+  shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
+  shlibpath_overrides_runpath=no
+  sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
+  sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
+  hardcode_into_libs=yes
+  ;;
+
+# No shared lib support for Linux oldld, aout, or coff.
+linux*oldld* | linux*aout* | linux*coff*)
+  dynamic_linker=no
+  ;;
+
+# This must be glibc/ELF.
+linux* | k*bsd*-gnu | kopensolaris*-gnu)
+  version_type=linux # correct to gnu/linux during the next big refactor
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+
+  # Some binutils ld are patched to set DT_RUNPATH
+  if ${lt_cv_shlibpath_overrides_runpath+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  lt_cv_shlibpath_overrides_runpath=no
+    save_LDFLAGS=$LDFLAGS
+    save_libdir=$libdir
+    eval "libdir=/foo; wl=\"$lt_prog_compiler_wl\"; \
+	 LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec\""
+    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  if  ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then :
+  lt_cv_shlibpath_overrides_runpath=yes
+fi
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+    LDFLAGS=$save_LDFLAGS
+    libdir=$save_libdir
+
+fi
+
+  shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath
+
+  # This implies no fast_install, which is unacceptable.
+  # Some rework will be needed to allow for fast_install
+  # before this can be enabled.
+  hardcode_into_libs=yes
+
+  # Append ld.so.conf contents to the search path
+  if test -f /etc/ld.so.conf; then
+    lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[	 ]*hwcap[	 ]/d;s/[:,	]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '`
+    sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
+  fi
+
+  # We used to test for /lib/ld.so.1 and disable shared libraries on
+  # powerpc, because MkLinux only supported shared libraries with the
+  # GNU dynamic linker.  Since this was broken with cross compilers,
+  # most powerpc-linux boxes support dynamic linking these days and
+  # people can always --disable-shared, the test was removed, and we
+  # assume the GNU/Linux dynamic linker is in use.
+  dynamic_linker='GNU/Linux ld.so'
+  ;;
+
+netbsd*)
+  version_type=sunos
+  need_lib_prefix=no
+  need_version=no
+  if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
+    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+    finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+    dynamic_linker='NetBSD (a.out) ld.so'
+  else
+    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+    soname_spec='${libname}${release}${shared_ext}$major'
+    dynamic_linker='NetBSD ld.elf_so'
+  fi
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  hardcode_into_libs=yes
+  ;;
+
+newsos6)
+  version_type=linux # correct to gnu/linux during the next big refactor
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  ;;
+
+*nto* | *qnx*)
+  version_type=qnx
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  hardcode_into_libs=yes
+  dynamic_linker='ldqnx.so'
+  ;;
+
+openbsd*)
+  version_type=sunos
+  sys_lib_dlsearch_path_spec="/usr/lib"
+  need_lib_prefix=no
+  # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
+  case $host_os in
+    openbsd3.3 | openbsd3.3.*)	need_version=yes ;;
+    *)				need_version=no  ;;
+  esac
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+  finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+  shlibpath_var=LD_LIBRARY_PATH
+  if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+    case $host_os in
+      openbsd2.[89] | openbsd2.[89].*)
+	shlibpath_overrides_runpath=no
+	;;
+      *)
+	shlibpath_overrides_runpath=yes
+	;;
+      esac
+  else
+    shlibpath_overrides_runpath=yes
+  fi
+  ;;
+
+os2*)
+  libname_spec='$name'
+  shrext_cmds=".dll"
+  need_lib_prefix=no
+  library_names_spec='$libname${shared_ext} $libname.a'
+  dynamic_linker='OS/2 ld.exe'
+  shlibpath_var=LIBPATH
+  ;;
+
+osf3* | osf4* | osf5*)
+  version_type=osf
+  need_lib_prefix=no
+  need_version=no
+  soname_spec='${libname}${release}${shared_ext}$major'
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  shlibpath_var=LD_LIBRARY_PATH
+  sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
+  sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
+  ;;
+
+rdos*)
+  dynamic_linker=no
+  ;;
+
+solaris*)
+  version_type=linux # correct to gnu/linux during the next big refactor
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  hardcode_into_libs=yes
+  # ldd complains unless libraries are executable
+  postinstall_cmds='chmod +x $lib'
+  ;;
+
+sunos4*)
+  version_type=sunos
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+  finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  if test "$with_gnu_ld" = yes; then
+    need_lib_prefix=no
+  fi
+  need_version=yes
+  ;;
+
+sysv4 | sysv4.3*)
+  version_type=linux # correct to gnu/linux during the next big refactor
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  case $host_vendor in
+    sni)
+      shlibpath_overrides_runpath=no
+      need_lib_prefix=no
+      runpath_var=LD_RUN_PATH
+      ;;
+    siemens)
+      need_lib_prefix=no
+      ;;
+    motorola)
+      need_lib_prefix=no
+      need_version=no
+      shlibpath_overrides_runpath=no
+      sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
+      ;;
+  esac
+  ;;
+
+sysv4*MP*)
+  if test -d /usr/nec ;then
+    version_type=linux # correct to gnu/linux during the next big refactor
+    library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
+    soname_spec='$libname${shared_ext}.$major'
+    shlibpath_var=LD_LIBRARY_PATH
+  fi
+  ;;
+
+sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
+  version_type=freebsd-elf
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  hardcode_into_libs=yes
+  if test "$with_gnu_ld" = yes; then
+    sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
+  else
+    sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
+    case $host_os in
+      sco3.2v5*)
+        sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
+	;;
+    esac
+  fi
+  sys_lib_dlsearch_path_spec='/usr/lib'
+  ;;
+
+tpf*)
+  # TPF is a cross-target only.  Preferred cross-host = GNU/Linux.
+  version_type=linux # correct to gnu/linux during the next big refactor
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  hardcode_into_libs=yes
+  ;;
+
+uts4*)
+  version_type=linux # correct to gnu/linux during the next big refactor
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  ;;
+
+*)
+  dynamic_linker=no
+  ;;
+esac
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5
+$as_echo "$dynamic_linker" >&6; }
+test "$dynamic_linker" = no && can_build_shared=no
+
+variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
+if test "$GCC" = yes; then
+  variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
+fi
+
+if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
+  sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
+fi
+if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then
+  sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
+fi
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5
+$as_echo_n "checking how to hardcode library paths into programs... " >&6; }
+hardcode_action=
+if test -n "$hardcode_libdir_flag_spec" ||
+   test -n "$runpath_var" ||
+   test "X$hardcode_automatic" = "Xyes" ; then
+
+  # We can hardcode non-existent directories.
+  if test "$hardcode_direct" != no &&
+     # If the only mechanism to avoid hardcoding is shlibpath_var, we
+     # have to relink, otherwise we might link with an installed library
+     # when we should be linking with a yet-to-be-installed one
+     ## test "$_LT_TAGVAR(hardcode_shlibpath_var, )" != no &&
+     test "$hardcode_minus_L" != no; then
+    # Linking always hardcodes the temporary library directory.
+    hardcode_action=relink
+  else
+    # We can link without hardcoding, and we can hardcode nonexisting dirs.
+    hardcode_action=immediate
+  fi
+else
+  # We cannot hardcode anything, or else we can only hardcode existing
+  # directories.
+  hardcode_action=unsupported
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action" >&5
+$as_echo "$hardcode_action" >&6; }
+
+if test "$hardcode_action" = relink ||
+   test "$inherit_rpath" = yes; then
+  # Fast installation is not supported
+  enable_fast_install=no
+elif test "$shlibpath_overrides_runpath" = yes ||
+     test "$enable_shared" = no; then
+  # Fast installation is not necessary
+  enable_fast_install=needless
+fi
+
+
+
+
+
+
+  if test "x$enable_dlopen" != xyes; then
+  enable_dlopen=unknown
+  enable_dlopen_self=unknown
+  enable_dlopen_self_static=unknown
+else
+  lt_cv_dlopen=no
+  lt_cv_dlopen_libs=
+
+  case $host_os in
+  beos*)
+    lt_cv_dlopen="load_add_on"
+    lt_cv_dlopen_libs=
+    lt_cv_dlopen_self=yes
+    ;;
+
+  mingw* | pw32* | cegcc*)
+    lt_cv_dlopen="LoadLibrary"
+    lt_cv_dlopen_libs=
+    ;;
+
+  cygwin*)
+    lt_cv_dlopen="dlopen"
+    lt_cv_dlopen_libs=
+    ;;
+
+  darwin*)
+  # if libdl is installed we need to link against it
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
+$as_echo_n "checking for dlopen in -ldl... " >&6; }
+if ${ac_cv_lib_dl_dlopen+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-ldl  $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char dlopen ();
+int
+main ()
+{
+return dlopen ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_lib_dl_dlopen=yes
+else
+  ac_cv_lib_dl_dlopen=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
+$as_echo "$ac_cv_lib_dl_dlopen" >&6; }
+if test "x$ac_cv_lib_dl_dlopen" = xyes; then :
+  lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
+else
+
+    lt_cv_dlopen="dyld"
+    lt_cv_dlopen_libs=
+    lt_cv_dlopen_self=yes
+
+fi
+
+    ;;
+
+  *)
+    ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load"
+if test "x$ac_cv_func_shl_load" = xyes; then :
+  lt_cv_dlopen="shl_load"
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5
+$as_echo_n "checking for shl_load in -ldld... " >&6; }
+if ${ac_cv_lib_dld_shl_load+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-ldld  $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char shl_load ();
+int
+main ()
+{
+return shl_load ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_lib_dld_shl_load=yes
+else
+  ac_cv_lib_dld_shl_load=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5
+$as_echo "$ac_cv_lib_dld_shl_load" >&6; }
+if test "x$ac_cv_lib_dld_shl_load" = xyes; then :
+  lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"
+else
+  ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen"
+if test "x$ac_cv_func_dlopen" = xyes; then :
+  lt_cv_dlopen="dlopen"
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
+$as_echo_n "checking for dlopen in -ldl... " >&6; }
+if ${ac_cv_lib_dl_dlopen+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-ldl  $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char dlopen ();
+int
+main ()
+{
+return dlopen ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_lib_dl_dlopen=yes
+else
+  ac_cv_lib_dl_dlopen=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
+$as_echo "$ac_cv_lib_dl_dlopen" >&6; }
+if test "x$ac_cv_lib_dl_dlopen" = xyes; then :
+  lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5
+$as_echo_n "checking for dlopen in -lsvld... " >&6; }
+if ${ac_cv_lib_svld_dlopen+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-lsvld  $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char dlopen ();
+int
+main ()
+{
+return dlopen ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_lib_svld_dlopen=yes
+else
+  ac_cv_lib_svld_dlopen=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5
+$as_echo "$ac_cv_lib_svld_dlopen" >&6; }
+if test "x$ac_cv_lib_svld_dlopen" = xyes; then :
+  lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5
+$as_echo_n "checking for dld_link in -ldld... " >&6; }
+if ${ac_cv_lib_dld_dld_link+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-ldld  $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char dld_link ();
+int
+main ()
+{
+return dld_link ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_lib_dld_dld_link=yes
+else
+  ac_cv_lib_dld_dld_link=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5
+$as_echo "$ac_cv_lib_dld_dld_link" >&6; }
+if test "x$ac_cv_lib_dld_dld_link" = xyes; then :
+  lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"
+fi
+
+
+fi
+
+
+fi
+
+
+fi
+
+
+fi
+
+
+fi
+
+    ;;
+  esac
+
+  if test "x$lt_cv_dlopen" != xno; then
+    enable_dlopen=yes
+  else
+    enable_dlopen=no
+  fi
+
+  case $lt_cv_dlopen in
+  dlopen)
+    save_CPPFLAGS="$CPPFLAGS"
+    test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
+
+    save_LDFLAGS="$LDFLAGS"
+    wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
+
+    save_LIBS="$LIBS"
+    LIBS="$lt_cv_dlopen_libs $LIBS"
+
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&5
+$as_echo_n "checking whether a program can dlopen itself... " >&6; }
+if ${lt_cv_dlopen_self+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  	  if test "$cross_compiling" = yes; then :
+  lt_cv_dlopen_self=cross
+else
+  lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
+  lt_status=$lt_dlunknown
+  cat > conftest.$ac_ext <<_LT_EOF
+#line $LINENO "configure"
+#include "confdefs.h"
+
+#if HAVE_DLFCN_H
+#include <dlfcn.h>
+#endif
+
+#include <stdio.h>
+
+#ifdef RTLD_GLOBAL
+#  define LT_DLGLOBAL		RTLD_GLOBAL
+#else
+#  ifdef DL_GLOBAL
+#    define LT_DLGLOBAL		DL_GLOBAL
+#  else
+#    define LT_DLGLOBAL		0
+#  endif
+#endif
+
+/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
+   find out it does not work in some platform. */
+#ifndef LT_DLLAZY_OR_NOW
+#  ifdef RTLD_LAZY
+#    define LT_DLLAZY_OR_NOW		RTLD_LAZY
+#  else
+#    ifdef DL_LAZY
+#      define LT_DLLAZY_OR_NOW		DL_LAZY
+#    else
+#      ifdef RTLD_NOW
+#        define LT_DLLAZY_OR_NOW	RTLD_NOW
+#      else
+#        ifdef DL_NOW
+#          define LT_DLLAZY_OR_NOW	DL_NOW
+#        else
+#          define LT_DLLAZY_OR_NOW	0
+#        endif
+#      endif
+#    endif
+#  endif
+#endif
+
+/* When -fvisbility=hidden is used, assume the code has been annotated
+   correspondingly for the symbols needed.  */
+#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
+int fnord () __attribute__((visibility("default")));
+#endif
+
+int fnord () { return 42; }
+int main ()
+{
+  void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
+  int status = $lt_dlunknown;
+
+  if (self)
+    {
+      if (dlsym (self,"fnord"))       status = $lt_dlno_uscore;
+      else
+        {
+	  if (dlsym( self,"_fnord"))  status = $lt_dlneed_uscore;
+          else puts (dlerror ());
+	}
+      /* dlclose (self); */
+    }
+  else
+    puts (dlerror ());
+
+  return status;
+}
+_LT_EOF
+  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
+  (eval $ac_link) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; } && test -s conftest${ac_exeext} 2>/dev/null; then
+    (./conftest; exit; ) >&5 2>/dev/null
+    lt_status=$?
+    case x$lt_status in
+      x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;;
+      x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;;
+      x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;;
+    esac
+  else :
+    # compilation failed
+    lt_cv_dlopen_self=no
+  fi
+fi
+rm -fr conftest*
+
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self" >&5
+$as_echo "$lt_cv_dlopen_self" >&6; }
+
+    if test "x$lt_cv_dlopen_self" = xyes; then
+      wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
+      { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a statically linked program can dlopen itself" >&5
+$as_echo_n "checking whether a statically linked program can dlopen itself... " >&6; }
+if ${lt_cv_dlopen_self_static+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  	  if test "$cross_compiling" = yes; then :
+  lt_cv_dlopen_self_static=cross
+else
+  lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
+  lt_status=$lt_dlunknown
+  cat > conftest.$ac_ext <<_LT_EOF
+#line $LINENO "configure"
+#include "confdefs.h"
+
+#if HAVE_DLFCN_H
+#include <dlfcn.h>
+#endif
+
+#include <stdio.h>
+
+#ifdef RTLD_GLOBAL
+#  define LT_DLGLOBAL		RTLD_GLOBAL
+#else
+#  ifdef DL_GLOBAL
+#    define LT_DLGLOBAL		DL_GLOBAL
+#  else
+#    define LT_DLGLOBAL		0
+#  endif
+#endif
+
+/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
+   find out it does not work in some platform. */
+#ifndef LT_DLLAZY_OR_NOW
+#  ifdef RTLD_LAZY
+#    define LT_DLLAZY_OR_NOW		RTLD_LAZY
+#  else
+#    ifdef DL_LAZY
+#      define LT_DLLAZY_OR_NOW		DL_LAZY
+#    else
+#      ifdef RTLD_NOW
+#        define LT_DLLAZY_OR_NOW	RTLD_NOW
+#      else
+#        ifdef DL_NOW
+#          define LT_DLLAZY_OR_NOW	DL_NOW
+#        else
+#          define LT_DLLAZY_OR_NOW	0
+#        endif
+#      endif
+#    endif
+#  endif
+#endif
+
+/* When -fvisbility=hidden is used, assume the code has been annotated
+   correspondingly for the symbols needed.  */
+#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
+int fnord () __attribute__((visibility("default")));
+#endif
+
+int fnord () { return 42; }
+int main ()
+{
+  void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
+  int status = $lt_dlunknown;
+
+  if (self)
+    {
+      if (dlsym (self,"fnord"))       status = $lt_dlno_uscore;
+      else
+        {
+	  if (dlsym( self,"_fnord"))  status = $lt_dlneed_uscore;
+          else puts (dlerror ());
+	}
+      /* dlclose (self); */
+    }
+  else
+    puts (dlerror ());
+
+  return status;
+}
+_LT_EOF
+  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
+  (eval $ac_link) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; } && test -s conftest${ac_exeext} 2>/dev/null; then
+    (./conftest; exit; ) >&5 2>/dev/null
+    lt_status=$?
+    case x$lt_status in
+      x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;;
+      x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;;
+      x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;;
+    esac
+  else :
+    # compilation failed
+    lt_cv_dlopen_self_static=no
+  fi
+fi
+rm -fr conftest*
+
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self_static" >&5
+$as_echo "$lt_cv_dlopen_self_static" >&6; }
+    fi
+
+    CPPFLAGS="$save_CPPFLAGS"
+    LDFLAGS="$save_LDFLAGS"
+    LIBS="$save_LIBS"
+    ;;
+  esac
+
+  case $lt_cv_dlopen_self in
+  yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
+  *) enable_dlopen_self=unknown ;;
+  esac
+
+  case $lt_cv_dlopen_self_static in
+  yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
+  *) enable_dlopen_self_static=unknown ;;
+  esac
+fi
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+striplib=
+old_striplib=
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stripping libraries is possible" >&5
+$as_echo_n "checking whether stripping libraries is possible... " >&6; }
+if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then
+  test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
+  test -z "$striplib" && striplib="$STRIP --strip-unneeded"
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+else
+# FIXME - insert some real tests, host_os isn't really good enough
+  case $host_os in
+  darwin*)
+    if test -n "$STRIP" ; then
+      striplib="$STRIP -x"
+      old_striplib="$STRIP -S"
+      { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+    else
+      { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+    fi
+    ;;
+  *)
+    { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+    ;;
+  esac
+fi
+
+
+
+
+
+
+
+
+
+
+
+
+  # Report which library types will actually be built
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if libtool supports shared libraries" >&5
+$as_echo_n "checking if libtool supports shared libraries... " >&6; }
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $can_build_shared" >&5
+$as_echo "$can_build_shared" >&6; }
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build shared libraries" >&5
+$as_echo_n "checking whether to build shared libraries... " >&6; }
+  test "$can_build_shared" = "no" && enable_shared=no
+
+  # On AIX, shared libraries and static libraries use the same namespace, and
+  # are all built from PIC.
+  case $host_os in
+  aix3*)
+    test "$enable_shared" = yes && enable_static=no
+    if test -n "$RANLIB"; then
+      archive_cmds="$archive_cmds~\$RANLIB \$lib"
+      postinstall_cmds='$RANLIB $lib'
+    fi
+    ;;
+
+  aix[4-9]*)
+    if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
+      test "$enable_shared" = yes && enable_static=no
+    fi
+    ;;
+  esac
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_shared" >&5
+$as_echo "$enable_shared" >&6; }
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build static libraries" >&5
+$as_echo_n "checking whether to build static libraries... " >&6; }
+  # Make sure either enable_shared or enable_static is yes.
+  test "$enable_shared" = yes || enable_static=yes
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_static" >&5
+$as_echo "$enable_static" >&6; }
+
+
+
+
+fi
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+CC="$lt_save_CC"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+        ac_config_commands="$ac_config_commands libtool"
+
+
+
+
+# Only expand once:
+
+
+
+
+
+if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ar; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_AR+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$AR"; then
+  ac_cv_prog_AR="$AR" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_AR="${ac_tool_prefix}ar"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+AR=$ac_cv_prog_AR
+if test -n "$AR"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5
+$as_echo "$AR" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_AR"; then
+  ac_ct_AR=$AR
+  # Extract the first word of "ar", so it can be a program name with args.
+set dummy ar; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_AR+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$ac_ct_AR"; then
+  ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_ac_ct_AR="ar"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_AR=$ac_cv_prog_ac_ct_AR
+if test -n "$ac_ct_AR"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5
+$as_echo "$ac_ct_AR" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+  if test "x$ac_ct_AR" = x; then
+    AR="ar"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    AR=$ac_ct_AR
+  fi
+else
+  AR="$ac_cv_prog_AR"
+fi
+
+
+for ac_header in emmintrin.h
+do :
+  ac_fn_c_check_header_compile "$LINENO" "emmintrin.h" "ac_cv_header_emmintrin_h" "
+#pragma GCC target(\"sse2\")
+
+"
+if test "x$ac_cv_header_emmintrin_h" = xyes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_EMMINTRIN_H 1
+_ACEOF
+
+fi
+
+done
+
+
+for ac_header in tmmintrin.h
+do :
+  ac_fn_c_check_header_compile "$LINENO" "tmmintrin.h" "ac_cv_header_tmmintrin_h" "
+#pragma GCC target(\"ssse3\")
+
+"
+if test "x$ac_cv_header_tmmintrin_h" = xyes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_TMMINTRIN_H 1
+_ACEOF
+
+fi
+
+done
+
+
+for ac_header in smmintrin.h
+do :
+  ac_fn_c_check_header_compile "$LINENO" "smmintrin.h" "ac_cv_header_smmintrin_h" "
+#pragma GCC target(\"sse4.1\")
+
+"
+if test "x$ac_cv_header_smmintrin_h" = xyes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_SMMINTRIN_H 1
+_ACEOF
+
+fi
+
+done
+
+
+for ac_header in immintrin.h
+do :
+  ac_fn_c_check_header_compile "$LINENO" "immintrin.h" "ac_cv_header_immintrin_h" "
+#pragma GCC target(\"avx\")
+
+"
+if test "x$ac_cv_header_immintrin_h" = xyes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_IMMINTRIN_H 1
+_ACEOF
+
+fi
+
+done
+
+
+for ac_header in avxintrin.h
+do :
+  ac_fn_c_check_header_compile "$LINENO" "avxintrin.h" "ac_cv_header_avxintrin_h" "
+#pragma GCC target(\"avx\")
+
+"
+if test "x$ac_cv_header_avxintrin_h" = xyes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_AVXINTRIN_H 1
+_ACEOF
+
+fi
+
+done
+
+
+for ac_header in x86intrin.h
+do :
+  ac_fn_c_check_header_compile "$LINENO" "x86intrin.h" "ac_cv_header_x86intrin_h" "
+#pragma GCC target(\"xop\")
+
+"
+if test "x$ac_cv_header_x86intrin_h" = xyes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_X86INTRIN_H 1
+_ACEOF
+
+fi
+
+done
+
+
+for ac_header in wmmintrin.h
+do :
+  ac_fn_c_check_header_compile "$LINENO" "wmmintrin.h" "ac_cv_header_wmmintrin_h" "
+#pragma GCC target(\"aes\")
+
+"
+if test "x$ac_cv_header_wmmintrin_h" = xyes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_WMMINTRIN_H 1
+_ACEOF
+
+fi
+
+done
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for access to floating-point rounding mode" >&5
+$as_echo_n "checking for access to floating-point rounding mode... " >&6; }
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+  #include <fenv.h>
+  #pragma STDC FENV_ACCESS ON
+
+int
+main ()
+{
+
+  const int previous_rounding_mode = fegetround();
+  fesetround(FE_TONEAREST);
+  fesetround(previous_rounding_mode);
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+
+$as_echo "#define HAVE_FENV_H 1" >>confdefs.h
+
+
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether byte ordering is bigendian" >&5
+$as_echo_n "checking whether byte ordering is bigendian... " >&6; }
+if ${ac_cv_c_bigendian+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_cv_c_bigendian=unknown
+    # See if we're dealing with a universal compiler.
+    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#ifndef __APPLE_CC__
+	       not a universal capable compiler
+	     #endif
+	     typedef int dummy;
+
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+
+	# Check for potential -arch flags.  It is not universal unless
+	# there are at least two -arch flags with different values.
+	ac_arch=
+	ac_prev=
+	for ac_word in $CC $CFLAGS $CPPFLAGS $LDFLAGS; do
+	 if test -n "$ac_prev"; then
+	   case $ac_word in
+	     i?86 | x86_64 | ppc | ppc64)
+	       if test -z "$ac_arch" || test "$ac_arch" = "$ac_word"; then
+		 ac_arch=$ac_word
+	       else
+		 ac_cv_c_bigendian=universal
+		 break
+	       fi
+	       ;;
+	   esac
+	   ac_prev=
+	 elif test "x$ac_word" = "x-arch"; then
+	   ac_prev=arch
+	 fi
+       done
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+    if test $ac_cv_c_bigendian = unknown; then
+      # See if sys/param.h defines the BYTE_ORDER macro.
+      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <sys/types.h>
+	     #include <sys/param.h>
+
+int
+main ()
+{
+#if ! (defined BYTE_ORDER && defined BIG_ENDIAN \
+		     && defined LITTLE_ENDIAN && BYTE_ORDER && BIG_ENDIAN \
+		     && LITTLE_ENDIAN)
+	      bogus endian macros
+	     #endif
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  # It does; now see whether it defined to BIG_ENDIAN or not.
+	 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <sys/types.h>
+		#include <sys/param.h>
+
+int
+main ()
+{
+#if BYTE_ORDER != BIG_ENDIAN
+		 not big endian
+		#endif
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_cv_c_bigendian=yes
+else
+  ac_cv_c_bigendian=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+    fi
+    if test $ac_cv_c_bigendian = unknown; then
+      # See if <limits.h> defines _LITTLE_ENDIAN or _BIG_ENDIAN (e.g., Solaris).
+      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <limits.h>
+
+int
+main ()
+{
+#if ! (defined _LITTLE_ENDIAN || defined _BIG_ENDIAN)
+	      bogus endian macros
+	     #endif
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  # It does; now see whether it defined to _BIG_ENDIAN or not.
+	 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <limits.h>
+
+int
+main ()
+{
+#ifndef _BIG_ENDIAN
+		 not big endian
+		#endif
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_cv_c_bigendian=yes
+else
+  ac_cv_c_bigendian=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+    fi
+    if test $ac_cv_c_bigendian = unknown; then
+      # Compile a test program.
+      if test "$cross_compiling" = yes; then :
+  # Try to guess by grepping values from an object file.
+	 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+short int ascii_mm[] =
+		  { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 };
+		short int ascii_ii[] =
+		  { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 };
+		int use_ascii (int i) {
+		  return ascii_mm[i] + ascii_ii[i];
+		}
+		short int ebcdic_ii[] =
+		  { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 };
+		short int ebcdic_mm[] =
+		  { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 };
+		int use_ebcdic (int i) {
+		  return ebcdic_mm[i] + ebcdic_ii[i];
+		}
+		extern int foo;
+
+int
+main ()
+{
+return use_ascii (foo) == use_ebcdic (foo);
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  if grep BIGenDianSyS conftest.$ac_objext >/dev/null; then
+	      ac_cv_c_bigendian=yes
+	    fi
+	    if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then
+	      if test "$ac_cv_c_bigendian" = unknown; then
+		ac_cv_c_bigendian=no
+	      else
+		# finding both strings is unlikely to happen, but who knows?
+		ac_cv_c_bigendian=unknown
+	      fi
+	    fi
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+$ac_includes_default
+int
+main ()
+{
+
+	     /* Are we little or big endian?  From Harbison&Steele.  */
+	     union
+	     {
+	       long int l;
+	       char c[sizeof (long int)];
+	     } u;
+	     u.l = 1;
+	     return u.c[sizeof (long int) - 1] == 1;
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+  ac_cv_c_bigendian=no
+else
+  ac_cv_c_bigendian=yes
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+    fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_bigendian" >&5
+$as_echo "$ac_cv_c_bigendian" >&6; }
+ case $ac_cv_c_bigendian in #(
+   yes)
+
+$as_echo "#define NATIVE_BIG_ENDIAN 1" >>confdefs.h
+;; #(
+   no)
+
+$as_echo "#define NATIVE_LITTLE_ENDIAN 1" >>confdefs.h
+ ;; #(
+   universal)
+     { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: universal endianess" >&5
+$as_echo "$as_me: WARNING: universal endianess" >&2;}
+
+     ;; #(
+   *)
+     as_fn_error $? "unknown endianess" "$LINENO" 5 ;;
+ esac
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether __STDC_LIMIT_MACROS is required" >&5
+$as_echo_n "checking whether __STDC_LIMIT_MACROS is required... " >&6; }
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+#include <limits.h>
+#include <stdint.h>
+
+int
+main ()
+{
+
+(void) SIZE_MAX;
+(void) UINT64_MAX;
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+   CPPFLAGS="$CPPFLAGS -D__STDC_LIMIT_MACROS -D__STDC_CONSTANT_MACROS"
+
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+HAVE_AMD64_ASM_V=0
+if test "$enable_asm" != "no"; then :
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we can assemble basic amd64 code" >&5
+$as_echo_n "checking whether we can assemble basic amd64 code... " >&6; }
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+
+int
+main ()
+{
+
+#if defined(__amd64) || defined(__amd64__) || defined(__x86_64__)
+/* neat */
+#else
+# error !amd64
+#endif
+__asm__("pxor %xmm12,%xmm6");
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+
+$as_echo "#define HAVE_AMD64_ASM 1" >>confdefs.h
+
+   HAVE_AMD64_ASM_V=1
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+fi
+ if test $HAVE_AMD64_ASM_V = 1; then
+  HAVE_AMD64_ASM_TRUE=
+  HAVE_AMD64_ASM_FALSE='#'
+else
+  HAVE_AMD64_ASM_TRUE='#'
+  HAVE_AMD64_ASM_FALSE=
+fi
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for 128-bit arithmetic" >&5
+$as_echo_n "checking for 128-bit arithmetic... " >&6; }
+HAVE_TI_MODE_V=0
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+#ifndef __GNUC__
+# error mode(TI) is a gcc extension
+#endif
+#if defined(__clang__) && !defined(__x86_64__)
+# error clang doesn't properly compile smult_curve25519_donna_c64.c
+#endif
+#include <stdint.h>
+typedef unsigned uint128_t __attribute__((mode(TI)));
+void fcontract(uint128_t *t) {
+  *t += 0x8000000000000 - 1;
+}
+
+int
+main ()
+{
+
+(void) fcontract;
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+
+$as_echo "#define HAVE_TI_MODE 1" >>confdefs.h
+
+ HAVE_TI_MODE_V=1
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ if test $HAVE_TI_MODE_V = 1; then
+  HAVE_TI_MODE_TRUE=
+  HAVE_TI_MODE_FALSE='#'
+else
+  HAVE_TI_MODE_TRUE='#'
+  HAVE_TI_MODE_FALSE=
+fi
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for cpuid instruction" >&5
+$as_echo_n "checking for cpuid instruction... " >&6; }
+HAVE_CPUID_V=0
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+__asm__("movl %ebx,%esi\n"
+        "cpuid\n"
+        "movl %esi,%ebx");
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+
+$as_echo "#define HAVE_CPUID 1" >>confdefs.h
+
+ HAVE_CPUID_V=1
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ if test $HAVE_CPUID_V = 1; then
+  HAVE_CPUID_TRUE=
+  HAVE_CPUID_FALSE='#'
+else
+  HAVE_CPUID_TRUE='#'
+  HAVE_CPUID_FALSE=
+fi
+
+
+
+case $host_cpu in #(
+  i*86 | x86_64 | powerpc* | s390*) :
+    { $as_echo "$as_me:${as_lineno-$LINENO}: data alignment is not required on this target" >&5
+$as_echo "$as_me: data alignment is not required on this target" >&6;} ;; #(
+  *) :
+    { $as_echo "$as_me:${as_lineno-$LINENO}: data alignment is required on this target" >&5
+$as_echo "$as_me: data alignment is required on this target" >&6;}
+
+$as_echo "#define CPU_ALIGNED_ACCESS_REQUIRED 1" >>confdefs.h
+
+ ;; #(
+  *) :
+     ;;
+esac
+
+
+ac_fn_c_check_func "$LINENO" "clock_gettime" "ac_cv_func_clock_gettime"
+if test "x$ac_cv_func_clock_gettime" = xyes; then :
+
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for clock_gettime in -lrt" >&5
+$as_echo_n "checking for clock_gettime in -lrt... " >&6; }
+if ${ac_cv_lib_rt_clock_gettime+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-lrt  $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char clock_gettime ();
+int
+main ()
+{
+return clock_gettime ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_lib_rt_clock_gettime=yes
+else
+  ac_cv_lib_rt_clock_gettime=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_rt_clock_gettime" >&5
+$as_echo "$ac_cv_lib_rt_clock_gettime" >&6; }
+if test "x$ac_cv_lib_rt_clock_gettime" = xyes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_LIBRT 1
+_ACEOF
+
+  LIBS="-lrt $LIBS"
+
+fi
+
+fi
+
+ac_fn_c_check_func "$LINENO" "fegetenv" "ac_cv_func_fegetenv"
+if test "x$ac_cv_func_fegetenv" = xyes; then :
+
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for fegetenv in -lm" >&5
+$as_echo_n "checking for fegetenv in -lm... " >&6; }
+if ${ac_cv_lib_m_fegetenv+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-lm  $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char fegetenv ();
+int
+main ()
+{
+return fegetenv ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_lib_m_fegetenv=yes
+else
+  ac_cv_lib_m_fegetenv=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_m_fegetenv" >&5
+$as_echo "$ac_cv_lib_m_fegetenv" >&6; }
+if test "x$ac_cv_lib_m_fegetenv" = xyes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_LIBM 1
+_ACEOF
+
+  LIBS="-lm $LIBS"
+
+fi
+
+fi
+
+
+for ac_func in SecureZeroMemory
+do :
+  ac_fn_c_check_func "$LINENO" "SecureZeroMemory" "ac_cv_func_SecureZeroMemory"
+if test "x$ac_cv_func_SecureZeroMemory" = xyes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_SECUREZEROMEMORY 1
+_ACEOF
+
+fi
+done
+
+
+
+
+
+
+enable_win32_dll=yes
+
+case $host in
+*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-cegcc*)
+  if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}as", so it can be a program name with args.
+set dummy ${ac_tool_prefix}as; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_AS+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$AS"; then
+  ac_cv_prog_AS="$AS" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_AS="${ac_tool_prefix}as"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+AS=$ac_cv_prog_AS
+if test -n "$AS"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AS" >&5
+$as_echo "$AS" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_AS"; then
+  ac_ct_AS=$AS
+  # Extract the first word of "as", so it can be a program name with args.
+set dummy as; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_AS+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$ac_ct_AS"; then
+  ac_cv_prog_ac_ct_AS="$ac_ct_AS" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_ac_ct_AS="as"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_AS=$ac_cv_prog_ac_ct_AS
+if test -n "$ac_ct_AS"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AS" >&5
+$as_echo "$ac_ct_AS" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+  if test "x$ac_ct_AS" = x; then
+    AS="false"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    AS=$ac_ct_AS
+  fi
+else
+  AS="$ac_cv_prog_AS"
+fi
+
+  if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args.
+set dummy ${ac_tool_prefix}dlltool; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_DLLTOOL+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$DLLTOOL"; then
+  ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+DLLTOOL=$ac_cv_prog_DLLTOOL
+if test -n "$DLLTOOL"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&5
+$as_echo "$DLLTOOL" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_DLLTOOL"; then
+  ac_ct_DLLTOOL=$DLLTOOL
+  # Extract the first word of "dlltool", so it can be a program name with args.
+set dummy dlltool; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_DLLTOOL+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$ac_ct_DLLTOOL"; then
+  ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_ac_ct_DLLTOOL="dlltool"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL
+if test -n "$ac_ct_DLLTOOL"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DLLTOOL" >&5
+$as_echo "$ac_ct_DLLTOOL" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+  if test "x$ac_ct_DLLTOOL" = x; then
+    DLLTOOL="false"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    DLLTOOL=$ac_ct_DLLTOOL
+  fi
+else
+  DLLTOOL="$ac_cv_prog_DLLTOOL"
+fi
+
+  if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args.
+set dummy ${ac_tool_prefix}objdump; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_OBJDUMP+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$OBJDUMP"; then
+  ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+OBJDUMP=$ac_cv_prog_OBJDUMP
+if test -n "$OBJDUMP"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5
+$as_echo "$OBJDUMP" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_OBJDUMP"; then
+  ac_ct_OBJDUMP=$OBJDUMP
+  # Extract the first word of "objdump", so it can be a program name with args.
+set dummy objdump; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_OBJDUMP+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$ac_ct_OBJDUMP"; then
+  ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_ac_ct_OBJDUMP="objdump"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP
+if test -n "$ac_ct_OBJDUMP"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5
+$as_echo "$ac_ct_OBJDUMP" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+  if test "x$ac_ct_OBJDUMP" = x; then
+    OBJDUMP="false"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    OBJDUMP=$ac_ct_OBJDUMP
+  fi
+else
+  OBJDUMP="$ac_cv_prog_OBJDUMP"
+fi
+
+  ;;
+esac
+
+test -z "$AS" && AS=as
+
+
+
+
+
+test -z "$DLLTOOL" && DLLTOOL=dlltool
+
+
+test -z "$OBJDUMP" && OBJDUMP=objdump
+
+
+
+
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if gcc/ld supports -Wl,--output-def" >&5
+$as_echo_n "checking if gcc/ld supports -Wl,--output-def... " >&6; }
+if ${gl_cv_ld_output_def+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test "$enable_shared" = no; then
+       gl_cv_ld_output_def="not needed, shared libraries are disabled"
+     else
+       gl_ldflags_save=$LDFLAGS
+       LDFLAGS="-Wl,--output-def,conftest.def"
+       cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  gl_cv_ld_output_def=yes
+else
+  gl_cv_ld_output_def=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+       rm -f conftest.def
+       LDFLAGS="$gl_ldflags_save"
+     fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_ld_output_def" >&5
+$as_echo "$gl_cv_ld_output_def" >&6; }
+   if test "x$gl_cv_ld_output_def" = "xyes"; then
+  HAVE_LD_OUTPUT_DEF_TRUE=
+  HAVE_LD_OUTPUT_DEF_FALSE='#'
+else
+  HAVE_LD_OUTPUT_DEF_TRUE='#'
+  HAVE_LD_OUTPUT_DEF_FALSE=
+fi
+
+
+
+
+
+
+if test "x$PKG_CONFIG" != "x"; then :
+
+  ac_config_files="$ac_config_files libsodium.pc"
+
+
+fi
+ac_config_files="$ac_config_files Makefile src/Makefile src/libsodium/Makefile src/libsodium/include/Makefile src/libsodium/include/sodium/version.h src/libsodium/include/sodium/crypto_scalarmult_curve25519.h src/libsodium/include/sodium/crypto_stream_salsa20.h test/default/Makefile test/Makefile"
+
+cat >confcache <<\_ACEOF
+# This file is a shell script that caches the results of configure
+# tests run on this system so they can be shared between configure
+# scripts and configure runs, see configure's option --config-cache.
+# It is not useful on other systems.  If it contains results you don't
+# want to keep, you may remove or edit it.
+#
+# config.status only pays attention to the cache file if you give it
+# the --recheck option to rerun configure.
+#
+# `ac_cv_env_foo' variables (set or unset) will be overridden when
+# loading this file, other *unset* `ac_cv_foo' will be assigned the
+# following values.
+
+_ACEOF
+
+# The following way of writing the cache mishandles newlines in values,
+# but we know of no workaround that is simple, portable, and efficient.
+# So, we kill variables containing newlines.
+# Ultrix sh set writes to stderr and can't be redirected directly,
+# and sets the high bit in the cache file unless we assign to the vars.
+(
+  for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do
+    eval ac_val=\$$ac_var
+    case $ac_val in #(
+    *${as_nl}*)
+      case $ac_var in #(
+      *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
+$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
+      esac
+      case $ac_var in #(
+      _ | IFS | as_nl) ;; #(
+      BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
+      *) { eval $ac_var=; unset $ac_var;} ;;
+      esac ;;
+    esac
+  done
+
+  (set) 2>&1 |
+    case $as_nl`(ac_space=' '; set) 2>&1` in #(
+    *${as_nl}ac_space=\ *)
+      # `set' does not quote correctly, so add quotes: double-quote
+      # substitution turns \\\\ into \\, and sed turns \\ into \.
+      sed -n \
+	"s/'/'\\\\''/g;
+	  s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
+      ;; #(
+    *)
+      # `set' quotes correctly as required by POSIX, so do not add quotes.
+      sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
+      ;;
+    esac |
+    sort
+) |
+  sed '
+     /^ac_cv_env_/b end
+     t clear
+     :clear
+     s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
+     t end
+     s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
+     :end' >>confcache
+if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
+  if test -w "$cache_file"; then
+    if test "x$cache_file" != "x/dev/null"; then
+      { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5
+$as_echo "$as_me: updating cache $cache_file" >&6;}
+      if test ! -f "$cache_file" || test -h "$cache_file"; then
+	cat confcache >"$cache_file"
+      else
+        case $cache_file in #(
+        */* | ?:*)
+	  mv -f confcache "$cache_file"$$ &&
+	  mv -f "$cache_file"$$ "$cache_file" ;; #(
+        *)
+	  mv -f confcache "$cache_file" ;;
+	esac
+      fi
+    fi
+  else
+    { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5
+$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
+  fi
+fi
+rm -f confcache
+
+test "x$prefix" = xNONE && prefix=$ac_default_prefix
+# Let make expand exec_prefix.
+test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
+
+# Transform confdefs.h into DEFS.
+# Protect against shell expansion while executing Makefile rules.
+# Protect against Makefile macro expansion.
+#
+# If the first sed substitution is executed (which looks for macros that
+# take arguments), then branch to the quote section.  Otherwise,
+# look for a macro that doesn't take arguments.
+ac_script='
+:mline
+/\\$/{
+ N
+ s,\\\n,,
+ b mline
+}
+t clear
+:clear
+s/^[	 ]*#[	 ]*define[	 ][	 ]*\([^	 (][^	 (]*([^)]*)\)[	 ]*\(.*\)/-D\1=\2/g
+t quote
+s/^[	 ]*#[	 ]*define[	 ][	 ]*\([^	 ][^	 ]*\)[	 ]*\(.*\)/-D\1=\2/g
+t quote
+b any
+:quote
+s/[	 `~#$^&*(){}\\|;'\''"<>?]/\\&/g
+s/\[/\\&/g
+s/\]/\\&/g
+s/\$/$$/g
+H
+:any
+${
+	g
+	s/^\n//
+	s/\n/ /g
+	p
+}
+'
+DEFS=`sed -n "$ac_script" confdefs.h`
+
+
+ac_libobjs=
+ac_ltlibobjs=
+U=
+for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
+  # 1. Remove the extension, and $U if already installed.
+  ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
+  ac_i=`$as_echo "$ac_i" | sed "$ac_script"`
+  # 2. Prepend LIBOBJDIR.  When used with automake>=1.10 LIBOBJDIR
+  #    will be set to the directory where LIBOBJS objects are built.
+  as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext"
+  as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo'
+done
+LIBOBJS=$ac_libobjs
+
+LTLIBOBJS=$ac_ltlibobjs
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking that generated files are newer than configure" >&5
+$as_echo_n "checking that generated files are newer than configure... " >&6; }
+   if test -n "$am_sleep_pid"; then
+     # Hide warnings about reused PIDs.
+     wait $am_sleep_pid 2>/dev/null
+   fi
+   { $as_echo "$as_me:${as_lineno-$LINENO}: result: done" >&5
+$as_echo "done" >&6; }
+ if test -n "$EXEEXT"; then
+  am__EXEEXT_TRUE=
+  am__EXEEXT_FALSE='#'
+else
+  am__EXEEXT_TRUE='#'
+  am__EXEEXT_FALSE=
+fi
+
+if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then
+  as_fn_error $? "conditional \"MAINTAINER_MODE\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then
+  as_fn_error $? "conditional \"AMDEP\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${HAVE_PKG_CONFIG_TRUE}" && test -z "${HAVE_PKG_CONFIG_FALSE}"; then
+  as_fn_error $? "conditional \"HAVE_PKG_CONFIG\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then
+  as_fn_error $? "conditional \"am__fastdepCC\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${am__fastdepCCAS_TRUE}" && test -z "${am__fastdepCCAS_FALSE}"; then
+  as_fn_error $? "conditional \"am__fastdepCCAS\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${HAVE_AMD64_ASM_TRUE}" && test -z "${HAVE_AMD64_ASM_FALSE}"; then
+  as_fn_error $? "conditional \"HAVE_AMD64_ASM\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${HAVE_TI_MODE_TRUE}" && test -z "${HAVE_TI_MODE_FALSE}"; then
+  as_fn_error $? "conditional \"HAVE_TI_MODE\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${HAVE_CPUID_TRUE}" && test -z "${HAVE_CPUID_FALSE}"; then
+  as_fn_error $? "conditional \"HAVE_CPUID\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${HAVE_LD_OUTPUT_DEF_TRUE}" && test -z "${HAVE_LD_OUTPUT_DEF_FALSE}"; then
+  as_fn_error $? "conditional \"HAVE_LD_OUTPUT_DEF\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+
+: "${CONFIG_STATUS=./config.status}"
+ac_write_fail=0
+ac_clean_files_save=$ac_clean_files
+ac_clean_files="$ac_clean_files $CONFIG_STATUS"
+{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5
+$as_echo "$as_me: creating $CONFIG_STATUS" >&6;}
+as_write_fail=0
+cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1
+#! $SHELL
+# Generated by $as_me.
+# Run this file to recreate the current configuration.
+# Compiler output produced by configure, useful for debugging
+# configure, is in config.log if it exists.
+
+debug=false
+ac_cs_recheck=false
+ac_cs_silent=false
+
+SHELL=\${CONFIG_SHELL-$SHELL}
+export SHELL
+_ASEOF
+cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1
+## -------------------- ##
+## M4sh Initialization. ##
+## -------------------- ##
+
+# Be more Bourne compatible
+DUALCASE=1; export DUALCASE # for MKS sh
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
+  emulate sh
+  NULLCMD=:
+  # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
+  # is contrary to our usage.  Disable this feature.
+  alias -g '${1+"$@"}'='"$@"'
+  setopt NO_GLOB_SUBST
+else
+  case `(set -o) 2>/dev/null` in #(
+  *posix*) :
+    set -o posix ;; #(
+  *) :
+     ;;
+esac
+fi
+
+
+as_nl='
+'
+export as_nl
+# Printing a long string crashes Solaris 7 /usr/bin/printf.
+as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
+# Prefer a ksh shell builtin over an external printf program on Solaris,
+# but without wasting forks for bash or zsh.
+if test -z "$BASH_VERSION$ZSH_VERSION" \
+    && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
+  as_echo='print -r --'
+  as_echo_n='print -rn --'
+elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
+  as_echo='printf %s\n'
+  as_echo_n='printf %s'
+else
+  if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
+    as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
+    as_echo_n='/usr/ucb/echo -n'
+  else
+    as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
+    as_echo_n_body='eval
+      arg=$1;
+      case $arg in #(
+      *"$as_nl"*)
+	expr "X$arg" : "X\\(.*\\)$as_nl";
+	arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
+      esac;
+      expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
+    '
+    export as_echo_n_body
+    as_echo_n='sh -c $as_echo_n_body as_echo'
+  fi
+  export as_echo_body
+  as_echo='sh -c $as_echo_body as_echo'
+fi
+
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+  PATH_SEPARATOR=:
+  (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
+    (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
+      PATH_SEPARATOR=';'
+  }
+fi
+
+
+# IFS
+# We need space, tab and new line, in precisely that order.  Quoting is
+# there to prevent editors from complaining about space-tab.
+# (If _AS_PATH_WALK were called with IFS unset, it would disable word
+# splitting by setting IFS to empty value.)
+IFS=" ""	$as_nl"
+
+# Find who we are.  Look in the path if we contain no directory separator.
+as_myself=
+case $0 in #((
+  *[\\/]* ) as_myself=$0 ;;
+  *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
+  done
+IFS=$as_save_IFS
+
+     ;;
+esac
+# We did not find ourselves, most probably we were run as `sh COMMAND'
+# in which case we are not to be found in the path.
+if test "x$as_myself" = x; then
+  as_myself=$0
+fi
+if test ! -f "$as_myself"; then
+  $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
+  exit 1
+fi
+
+# Unset variables that we do not need and which cause bugs (e.g. in
+# pre-3.0 UWIN ksh).  But do not cause bugs in bash 2.01; the "|| exit 1"
+# suppresses any "Segmentation fault" message there.  '((' could
+# trigger a bug in pdksh 5.2.14.
+for as_var in BASH_ENV ENV MAIL MAILPATH
+do eval test x\${$as_var+set} = xset \
+  && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
+done
+PS1='$ '
+PS2='> '
+PS4='+ '
+
+# NLS nuisances.
+LC_ALL=C
+export LC_ALL
+LANGUAGE=C
+export LANGUAGE
+
+# CDPATH.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+
+# as_fn_error STATUS ERROR [LINENO LOG_FD]
+# ----------------------------------------
+# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
+# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
+# script with STATUS, using 1 if that was 0.
+as_fn_error ()
+{
+  as_status=$1; test $as_status -eq 0 && as_status=1
+  if test "$4"; then
+    as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+    $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
+  fi
+  $as_echo "$as_me: error: $2" >&2
+  as_fn_exit $as_status
+} # as_fn_error
+
+
+# as_fn_set_status STATUS
+# -----------------------
+# Set $? to STATUS, without forking.
+as_fn_set_status ()
+{
+  return $1
+} # as_fn_set_status
+
+# as_fn_exit STATUS
+# -----------------
+# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
+as_fn_exit ()
+{
+  set +e
+  as_fn_set_status $1
+  exit $1
+} # as_fn_exit
+
+# as_fn_unset VAR
+# ---------------
+# Portably unset VAR.
+as_fn_unset ()
+{
+  { eval $1=; unset $1;}
+}
+as_unset=as_fn_unset
+# as_fn_append VAR VALUE
+# ----------------------
+# Append the text in VALUE to the end of the definition contained in VAR. Take
+# advantage of any shell optimizations that allow amortized linear growth over
+# repeated appends, instead of the typical quadratic growth present in naive
+# implementations.
+if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
+  eval 'as_fn_append ()
+  {
+    eval $1+=\$2
+  }'
+else
+  as_fn_append ()
+  {
+    eval $1=\$$1\$2
+  }
+fi # as_fn_append
+
+# as_fn_arith ARG...
+# ------------------
+# Perform arithmetic evaluation on the ARGs, and store the result in the
+# global $as_val. Take advantage of shells that can avoid forks. The arguments
+# must be portable across $(()) and expr.
+if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
+  eval 'as_fn_arith ()
+  {
+    as_val=$(( $* ))
+  }'
+else
+  as_fn_arith ()
+  {
+    as_val=`expr "$@" || test $? -eq 1`
+  }
+fi # as_fn_arith
+
+
+if expr a : '\(a\)' >/dev/null 2>&1 &&
+   test "X`expr 00001 : '.*\(...\)'`" = X001; then
+  as_expr=expr
+else
+  as_expr=false
+fi
+
+if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
+  as_basename=basename
+else
+  as_basename=false
+fi
+
+if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
+  as_dirname=dirname
+else
+  as_dirname=false
+fi
+
+as_me=`$as_basename -- "$0" ||
+$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
+	 X"$0" : 'X\(//\)$' \| \
+	 X"$0" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X/"$0" |
+    sed '/^.*\/\([^/][^/]*\)\/*$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\/\(\/\/\)$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\/\(\/\).*/{
+	    s//\1/
+	    q
+	  }
+	  s/.*/./; q'`
+
+# Avoid depending upon Character Ranges.
+as_cr_letters='abcdefghijklmnopqrstuvwxyz'
+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
+as_cr_Letters=$as_cr_letters$as_cr_LETTERS
+as_cr_digits='0123456789'
+as_cr_alnum=$as_cr_Letters$as_cr_digits
+
+ECHO_C= ECHO_N= ECHO_T=
+case `echo -n x` in #(((((
+-n*)
+  case `echo 'xy\c'` in
+  *c*) ECHO_T='	';;	# ECHO_T is single tab character.
+  xy)  ECHO_C='\c';;
+  *)   echo `echo ksh88 bug on AIX 6.1` > /dev/null
+       ECHO_T='	';;
+  esac;;
+*)
+  ECHO_N='-n';;
+esac
+
+rm -f conf$$ conf$$.exe conf$$.file
+if test -d conf$$.dir; then
+  rm -f conf$$.dir/conf$$.file
+else
+  rm -f conf$$.dir
+  mkdir conf$$.dir 2>/dev/null
+fi
+if (echo >conf$$.file) 2>/dev/null; then
+  if ln -s conf$$.file conf$$ 2>/dev/null; then
+    as_ln_s='ln -s'
+    # ... but there are two gotchas:
+    # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
+    # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
+    # In both cases, we have to default to `cp -pR'.
+    ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
+      as_ln_s='cp -pR'
+  elif ln conf$$.file conf$$ 2>/dev/null; then
+    as_ln_s=ln
+  else
+    as_ln_s='cp -pR'
+  fi
+else
+  as_ln_s='cp -pR'
+fi
+rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
+rmdir conf$$.dir 2>/dev/null
+
+
+# as_fn_mkdir_p
+# -------------
+# Create "$as_dir" as a directory, including parents if necessary.
+as_fn_mkdir_p ()
+{
+
+  case $as_dir in #(
+  -*) as_dir=./$as_dir;;
+  esac
+  test -d "$as_dir" || eval $as_mkdir_p || {
+    as_dirs=
+    while :; do
+      case $as_dir in #(
+      *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
+      *) as_qdir=$as_dir;;
+      esac
+      as_dirs="'$as_qdir' $as_dirs"
+      as_dir=`$as_dirname -- "$as_dir" ||
+$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+	 X"$as_dir" : 'X\(//\)[^/]' \| \
+	 X"$as_dir" : 'X\(//\)$' \| \
+	 X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$as_dir" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\/\)[^/].*/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\/\)$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\).*/{
+	    s//\1/
+	    q
+	  }
+	  s/.*/./; q'`
+      test -d "$as_dir" && break
+    done
+    test -z "$as_dirs" || eval "mkdir $as_dirs"
+  } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
+
+
+} # as_fn_mkdir_p
+if mkdir -p . 2>/dev/null; then
+  as_mkdir_p='mkdir -p "$as_dir"'
+else
+  test -d ./-p && rmdir ./-p
+  as_mkdir_p=false
+fi
+
+
+# as_fn_executable_p FILE
+# -----------------------
+# Test if FILE is an executable regular file.
+as_fn_executable_p ()
+{
+  test -f "$1" && test -x "$1"
+} # as_fn_executable_p
+as_test_x='test -x'
+as_executable_p=as_fn_executable_p
+
+# Sed expression to map a string onto a valid CPP name.
+as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
+
+# Sed expression to map a string onto a valid variable name.
+as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
+
+
+exec 6>&1
+## ----------------------------------- ##
+## Main body of $CONFIG_STATUS script. ##
+## ----------------------------------- ##
+_ASEOF
+test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1
+
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+# Save the log message, to keep $0 and so on meaningful, and to
+# report actual input values of CONFIG_FILES etc. instead of their
+# values after options handling.
+ac_log="
+This file was extended by libsodium $as_me 0.4.3, which was
+generated by GNU Autoconf 2.69.  Invocation command line was
+
+  CONFIG_FILES    = $CONFIG_FILES
+  CONFIG_HEADERS  = $CONFIG_HEADERS
+  CONFIG_LINKS    = $CONFIG_LINKS
+  CONFIG_COMMANDS = $CONFIG_COMMANDS
+  $ $0 $@
+
+on `(hostname || uname -n) 2>/dev/null | sed 1q`
+"
+
+_ACEOF
+
+case $ac_config_files in *"
+"*) set x $ac_config_files; shift; ac_config_files=$*;;
+esac
+
+
+
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+# Files that config.status was made for.
+config_files="$ac_config_files"
+config_commands="$ac_config_commands"
+
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+ac_cs_usage="\
+\`$as_me' instantiates files and other configuration actions
+from templates according to the current configuration.  Unless the files
+and actions are specified as TAGs, all are instantiated by default.
+
+Usage: $0 [OPTION]... [TAG]...
+
+  -h, --help       print this help, then exit
+  -V, --version    print version number and configuration settings, then exit
+      --config     print configuration, then exit
+  -q, --quiet, --silent
+                   do not print progress messages
+  -d, --debug      don't remove temporary files
+      --recheck    update $as_me by reconfiguring in the same conditions
+      --file=FILE[:TEMPLATE]
+                   instantiate the configuration file FILE
+
+Configuration files:
+$config_files
+
+Configuration commands:
+$config_commands
+
+Report bugs to <https://github.com/jedisct1/libsodium/issues>.
+libsodium home page: <https://github.com/jedisct1/libsodium>."
+
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
+ac_cs_version="\\
+libsodium config.status 0.4.3
+configured by $0, generated by GNU Autoconf 2.69,
+  with options \\"\$ac_cs_config\\"
+
+Copyright (C) 2012 Free Software Foundation, Inc.
+This config.status script is free software; the Free Software Foundation
+gives unlimited permission to copy, distribute and modify it."
+
+ac_pwd='$ac_pwd'
+srcdir='$srcdir'
+INSTALL='$INSTALL'
+MKDIR_P='$MKDIR_P'
+AWK='$AWK'
+test -n "\$AWK" || AWK=awk
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+# The default lists apply if the user does not specify any file.
+ac_need_defaults=:
+while test $# != 0
+do
+  case $1 in
+  --*=?*)
+    ac_option=`expr "X$1" : 'X\([^=]*\)='`
+    ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
+    ac_shift=:
+    ;;
+  --*=)
+    ac_option=`expr "X$1" : 'X\([^=]*\)='`
+    ac_optarg=
+    ac_shift=:
+    ;;
+  *)
+    ac_option=$1
+    ac_optarg=$2
+    ac_shift=shift
+    ;;
+  esac
+
+  case $ac_option in
+  # Handling of the options.
+  -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
+    ac_cs_recheck=: ;;
+  --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
+    $as_echo "$ac_cs_version"; exit ;;
+  --config | --confi | --conf | --con | --co | --c )
+    $as_echo "$ac_cs_config"; exit ;;
+  --debug | --debu | --deb | --de | --d | -d )
+    debug=: ;;
+  --file | --fil | --fi | --f )
+    $ac_shift
+    case $ac_optarg in
+    *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
+    '') as_fn_error $? "missing file argument" ;;
+    esac
+    as_fn_append CONFIG_FILES " '$ac_optarg'"
+    ac_need_defaults=false;;
+  --he | --h |  --help | --hel | -h )
+    $as_echo "$ac_cs_usage"; exit ;;
+  -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+  | -silent | --silent | --silen | --sile | --sil | --si | --s)
+    ac_cs_silent=: ;;
+
+  # This is an error.
+  -*) as_fn_error $? "unrecognized option: \`$1'
+Try \`$0 --help' for more information." ;;
+
+  *) as_fn_append ac_config_targets " $1"
+     ac_need_defaults=false ;;
+
+  esac
+  shift
+done
+
+ac_configure_extra_args=
+
+if $ac_cs_silent; then
+  exec 6>/dev/null
+  ac_configure_extra_args="$ac_configure_extra_args --silent"
+fi
+
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+if \$ac_cs_recheck; then
+  set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
+  shift
+  \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6
+  CONFIG_SHELL='$SHELL'
+  export CONFIG_SHELL
+  exec "\$@"
+fi
+
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+exec 5>>config.log
+{
+  echo
+  sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
+## Running $as_me. ##
+_ASBOX
+  $as_echo "$ac_log"
+} >&5
+
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+#
+# INIT-COMMANDS
+#
+AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"
+
+
+# The HP-UX ksh and POSIX shell print the target directory to stdout
+# if CDPATH is set.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+sed_quote_subst='$sed_quote_subst'
+double_quote_subst='$double_quote_subst'
+delay_variable_subst='$delay_variable_subst'
+macro_version='`$ECHO "$macro_version" | $SED "$delay_single_quote_subst"`'
+macro_revision='`$ECHO "$macro_revision" | $SED "$delay_single_quote_subst"`'
+enable_shared='`$ECHO "$enable_shared" | $SED "$delay_single_quote_subst"`'
+enable_static='`$ECHO "$enable_static" | $SED "$delay_single_quote_subst"`'
+pic_mode='`$ECHO "$pic_mode" | $SED "$delay_single_quote_subst"`'
+enable_fast_install='`$ECHO "$enable_fast_install" | $SED "$delay_single_quote_subst"`'
+SHELL='`$ECHO "$SHELL" | $SED "$delay_single_quote_subst"`'
+ECHO='`$ECHO "$ECHO" | $SED "$delay_single_quote_subst"`'
+PATH_SEPARATOR='`$ECHO "$PATH_SEPARATOR" | $SED "$delay_single_quote_subst"`'
+host_alias='`$ECHO "$host_alias" | $SED "$delay_single_quote_subst"`'
+host='`$ECHO "$host" | $SED "$delay_single_quote_subst"`'
+host_os='`$ECHO "$host_os" | $SED "$delay_single_quote_subst"`'
+build_alias='`$ECHO "$build_alias" | $SED "$delay_single_quote_subst"`'
+build='`$ECHO "$build" | $SED "$delay_single_quote_subst"`'
+build_os='`$ECHO "$build_os" | $SED "$delay_single_quote_subst"`'
+SED='`$ECHO "$SED" | $SED "$delay_single_quote_subst"`'
+Xsed='`$ECHO "$Xsed" | $SED "$delay_single_quote_subst"`'
+GREP='`$ECHO "$GREP" | $SED "$delay_single_quote_subst"`'
+EGREP='`$ECHO "$EGREP" | $SED "$delay_single_quote_subst"`'
+FGREP='`$ECHO "$FGREP" | $SED "$delay_single_quote_subst"`'
+LD='`$ECHO "$LD" | $SED "$delay_single_quote_subst"`'
+NM='`$ECHO "$NM" | $SED "$delay_single_quote_subst"`'
+LN_S='`$ECHO "$LN_S" | $SED "$delay_single_quote_subst"`'
+max_cmd_len='`$ECHO "$max_cmd_len" | $SED "$delay_single_quote_subst"`'
+ac_objext='`$ECHO "$ac_objext" | $SED "$delay_single_quote_subst"`'
+exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`'
+lt_unset='`$ECHO "$lt_unset" | $SED "$delay_single_quote_subst"`'
+lt_SP2NL='`$ECHO "$lt_SP2NL" | $SED "$delay_single_quote_subst"`'
+lt_NL2SP='`$ECHO "$lt_NL2SP" | $SED "$delay_single_quote_subst"`'
+lt_cv_to_host_file_cmd='`$ECHO "$lt_cv_to_host_file_cmd" | $SED "$delay_single_quote_subst"`'
+lt_cv_to_tool_file_cmd='`$ECHO "$lt_cv_to_tool_file_cmd" | $SED "$delay_single_quote_subst"`'
+reload_flag='`$ECHO "$reload_flag" | $SED "$delay_single_quote_subst"`'
+reload_cmds='`$ECHO "$reload_cmds" | $SED "$delay_single_quote_subst"`'
+OBJDUMP='`$ECHO "$OBJDUMP" | $SED "$delay_single_quote_subst"`'
+deplibs_check_method='`$ECHO "$deplibs_check_method" | $SED "$delay_single_quote_subst"`'
+file_magic_cmd='`$ECHO "$file_magic_cmd" | $SED "$delay_single_quote_subst"`'
+file_magic_glob='`$ECHO "$file_magic_glob" | $SED "$delay_single_quote_subst"`'
+want_nocaseglob='`$ECHO "$want_nocaseglob" | $SED "$delay_single_quote_subst"`'
+DLLTOOL='`$ECHO "$DLLTOOL" | $SED "$delay_single_quote_subst"`'
+sharedlib_from_linklib_cmd='`$ECHO "$sharedlib_from_linklib_cmd" | $SED "$delay_single_quote_subst"`'
+AR='`$ECHO "$AR" | $SED "$delay_single_quote_subst"`'
+AR_FLAGS='`$ECHO "$AR_FLAGS" | $SED "$delay_single_quote_subst"`'
+archiver_list_spec='`$ECHO "$archiver_list_spec" | $SED "$delay_single_quote_subst"`'
+STRIP='`$ECHO "$STRIP" | $SED "$delay_single_quote_subst"`'
+RANLIB='`$ECHO "$RANLIB" | $SED "$delay_single_quote_subst"`'
+old_postinstall_cmds='`$ECHO "$old_postinstall_cmds" | $SED "$delay_single_quote_subst"`'
+old_postuninstall_cmds='`$ECHO "$old_postuninstall_cmds" | $SED "$delay_single_quote_subst"`'
+old_archive_cmds='`$ECHO "$old_archive_cmds" | $SED "$delay_single_quote_subst"`'
+lock_old_archive_extraction='`$ECHO "$lock_old_archive_extraction" | $SED "$delay_single_quote_subst"`'
+CC='`$ECHO "$CC" | $SED "$delay_single_quote_subst"`'
+CFLAGS='`$ECHO "$CFLAGS" | $SED "$delay_single_quote_subst"`'
+compiler='`$ECHO "$compiler" | $SED "$delay_single_quote_subst"`'
+GCC='`$ECHO "$GCC" | $SED "$delay_single_quote_subst"`'
+lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$delay_single_quote_subst"`'
+lt_cv_sys_global_symbol_to_cdecl='`$ECHO "$lt_cv_sys_global_symbol_to_cdecl" | $SED "$delay_single_quote_subst"`'
+lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address" | $SED "$delay_single_quote_subst"`'
+lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $SED "$delay_single_quote_subst"`'
+nm_file_list_spec='`$ECHO "$nm_file_list_spec" | $SED "$delay_single_quote_subst"`'
+lt_sysroot='`$ECHO "$lt_sysroot" | $SED "$delay_single_quote_subst"`'
+objdir='`$ECHO "$objdir" | $SED "$delay_single_quote_subst"`'
+MAGIC_CMD='`$ECHO "$MAGIC_CMD" | $SED "$delay_single_quote_subst"`'
+lt_prog_compiler_no_builtin_flag='`$ECHO "$lt_prog_compiler_no_builtin_flag" | $SED "$delay_single_quote_subst"`'
+lt_prog_compiler_pic='`$ECHO "$lt_prog_compiler_pic" | $SED "$delay_single_quote_subst"`'
+lt_prog_compiler_wl='`$ECHO "$lt_prog_compiler_wl" | $SED "$delay_single_quote_subst"`'
+lt_prog_compiler_static='`$ECHO "$lt_prog_compiler_static" | $SED "$delay_single_quote_subst"`'
+lt_cv_prog_compiler_c_o='`$ECHO "$lt_cv_prog_compiler_c_o" | $SED "$delay_single_quote_subst"`'
+need_locks='`$ECHO "$need_locks" | $SED "$delay_single_quote_subst"`'
+MANIFEST_TOOL='`$ECHO "$MANIFEST_TOOL" | $SED "$delay_single_quote_subst"`'
+DSYMUTIL='`$ECHO "$DSYMUTIL" | $SED "$delay_single_quote_subst"`'
+NMEDIT='`$ECHO "$NMEDIT" | $SED "$delay_single_quote_subst"`'
+LIPO='`$ECHO "$LIPO" | $SED "$delay_single_quote_subst"`'
+OTOOL='`$ECHO "$OTOOL" | $SED "$delay_single_quote_subst"`'
+OTOOL64='`$ECHO "$OTOOL64" | $SED "$delay_single_quote_subst"`'
+libext='`$ECHO "$libext" | $SED "$delay_single_quote_subst"`'
+shrext_cmds='`$ECHO "$shrext_cmds" | $SED "$delay_single_quote_subst"`'
+extract_expsyms_cmds='`$ECHO "$extract_expsyms_cmds" | $SED "$delay_single_quote_subst"`'
+archive_cmds_need_lc='`$ECHO "$archive_cmds_need_lc" | $SED "$delay_single_quote_subst"`'
+enable_shared_with_static_runtimes='`$ECHO "$enable_shared_with_static_runtimes" | $SED "$delay_single_quote_subst"`'
+export_dynamic_flag_spec='`$ECHO "$export_dynamic_flag_spec" | $SED "$delay_single_quote_subst"`'
+whole_archive_flag_spec='`$ECHO "$whole_archive_flag_spec" | $SED "$delay_single_quote_subst"`'
+compiler_needs_object='`$ECHO "$compiler_needs_object" | $SED "$delay_single_quote_subst"`'
+old_archive_from_new_cmds='`$ECHO "$old_archive_from_new_cmds" | $SED "$delay_single_quote_subst"`'
+old_archive_from_expsyms_cmds='`$ECHO "$old_archive_from_expsyms_cmds" | $SED "$delay_single_quote_subst"`'
+archive_cmds='`$ECHO "$archive_cmds" | $SED "$delay_single_quote_subst"`'
+archive_expsym_cmds='`$ECHO "$archive_expsym_cmds" | $SED "$delay_single_quote_subst"`'
+module_cmds='`$ECHO "$module_cmds" | $SED "$delay_single_quote_subst"`'
+module_expsym_cmds='`$ECHO "$module_expsym_cmds" | $SED "$delay_single_quote_subst"`'
+with_gnu_ld='`$ECHO "$with_gnu_ld" | $SED "$delay_single_quote_subst"`'
+allow_undefined_flag='`$ECHO "$allow_undefined_flag" | $SED "$delay_single_quote_subst"`'
+no_undefined_flag='`$ECHO "$no_undefined_flag" | $SED "$delay_single_quote_subst"`'
+hardcode_libdir_flag_spec='`$ECHO "$hardcode_libdir_flag_spec" | $SED "$delay_single_quote_subst"`'
+hardcode_libdir_separator='`$ECHO "$hardcode_libdir_separator" | $SED "$delay_single_quote_subst"`'
+hardcode_direct='`$ECHO "$hardcode_direct" | $SED "$delay_single_quote_subst"`'
+hardcode_direct_absolute='`$ECHO "$hardcode_direct_absolute" | $SED "$delay_single_quote_subst"`'
+hardcode_minus_L='`$ECHO "$hardcode_minus_L" | $SED "$delay_single_quote_subst"`'
+hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_quote_subst"`'
+hardcode_automatic='`$ECHO "$hardcode_automatic" | $SED "$delay_single_quote_subst"`'
+inherit_rpath='`$ECHO "$inherit_rpath" | $SED "$delay_single_quote_subst"`'
+link_all_deplibs='`$ECHO "$link_all_deplibs" | $SED "$delay_single_quote_subst"`'
+always_export_symbols='`$ECHO "$always_export_symbols" | $SED "$delay_single_quote_subst"`'
+export_symbols_cmds='`$ECHO "$export_symbols_cmds" | $SED "$delay_single_quote_subst"`'
+exclude_expsyms='`$ECHO "$exclude_expsyms" | $SED "$delay_single_quote_subst"`'
+include_expsyms='`$ECHO "$include_expsyms" | $SED "$delay_single_quote_subst"`'
+prelink_cmds='`$ECHO "$prelink_cmds" | $SED "$delay_single_quote_subst"`'
+postlink_cmds='`$ECHO "$postlink_cmds" | $SED "$delay_single_quote_subst"`'
+file_list_spec='`$ECHO "$file_list_spec" | $SED "$delay_single_quote_subst"`'
+variables_saved_for_relink='`$ECHO "$variables_saved_for_relink" | $SED "$delay_single_quote_subst"`'
+need_lib_prefix='`$ECHO "$need_lib_prefix" | $SED "$delay_single_quote_subst"`'
+need_version='`$ECHO "$need_version" | $SED "$delay_single_quote_subst"`'
+version_type='`$ECHO "$version_type" | $SED "$delay_single_quote_subst"`'
+runpath_var='`$ECHO "$runpath_var" | $SED "$delay_single_quote_subst"`'
+shlibpath_var='`$ECHO "$shlibpath_var" | $SED "$delay_single_quote_subst"`'
+shlibpath_overrides_runpath='`$ECHO "$shlibpath_overrides_runpath" | $SED "$delay_single_quote_subst"`'
+libname_spec='`$ECHO "$libname_spec" | $SED "$delay_single_quote_subst"`'
+library_names_spec='`$ECHO "$library_names_spec" | $SED "$delay_single_quote_subst"`'
+soname_spec='`$ECHO "$soname_spec" | $SED "$delay_single_quote_subst"`'
+install_override_mode='`$ECHO "$install_override_mode" | $SED "$delay_single_quote_subst"`'
+postinstall_cmds='`$ECHO "$postinstall_cmds" | $SED "$delay_single_quote_subst"`'
+postuninstall_cmds='`$ECHO "$postuninstall_cmds" | $SED "$delay_single_quote_subst"`'
+finish_cmds='`$ECHO "$finish_cmds" | $SED "$delay_single_quote_subst"`'
+finish_eval='`$ECHO "$finish_eval" | $SED "$delay_single_quote_subst"`'
+hardcode_into_libs='`$ECHO "$hardcode_into_libs" | $SED "$delay_single_quote_subst"`'
+sys_lib_search_path_spec='`$ECHO "$sys_lib_search_path_spec" | $SED "$delay_single_quote_subst"`'
+sys_lib_dlsearch_path_spec='`$ECHO "$sys_lib_dlsearch_path_spec" | $SED "$delay_single_quote_subst"`'
+hardcode_action='`$ECHO "$hardcode_action" | $SED "$delay_single_quote_subst"`'
+enable_dlopen='`$ECHO "$enable_dlopen" | $SED "$delay_single_quote_subst"`'
+enable_dlopen_self='`$ECHO "$enable_dlopen_self" | $SED "$delay_single_quote_subst"`'
+enable_dlopen_self_static='`$ECHO "$enable_dlopen_self_static" | $SED "$delay_single_quote_subst"`'
+old_striplib='`$ECHO "$old_striplib" | $SED "$delay_single_quote_subst"`'
+striplib='`$ECHO "$striplib" | $SED "$delay_single_quote_subst"`'
+AS='`$ECHO "$AS" | $SED "$delay_single_quote_subst"`'
+
+LTCC='$LTCC'
+LTCFLAGS='$LTCFLAGS'
+compiler='$compiler_DEFAULT'
+
+# A function that is used when there is no print builtin or printf.
+func_fallback_echo ()
+{
+  eval 'cat <<_LTECHO_EOF
+\$1
+_LTECHO_EOF'
+}
+
+# Quote evaled strings.
+for var in SHELL \
+ECHO \
+PATH_SEPARATOR \
+SED \
+GREP \
+EGREP \
+FGREP \
+LD \
+NM \
+LN_S \
+lt_SP2NL \
+lt_NL2SP \
+reload_flag \
+OBJDUMP \
+deplibs_check_method \
+file_magic_cmd \
+file_magic_glob \
+want_nocaseglob \
+DLLTOOL \
+sharedlib_from_linklib_cmd \
+AR \
+AR_FLAGS \
+archiver_list_spec \
+STRIP \
+RANLIB \
+CC \
+CFLAGS \
+compiler \
+lt_cv_sys_global_symbol_pipe \
+lt_cv_sys_global_symbol_to_cdecl \
+lt_cv_sys_global_symbol_to_c_name_address \
+lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \
+nm_file_list_spec \
+lt_prog_compiler_no_builtin_flag \
+lt_prog_compiler_pic \
+lt_prog_compiler_wl \
+lt_prog_compiler_static \
+lt_cv_prog_compiler_c_o \
+need_locks \
+MANIFEST_TOOL \
+DSYMUTIL \
+NMEDIT \
+LIPO \
+OTOOL \
+OTOOL64 \
+shrext_cmds \
+export_dynamic_flag_spec \
+whole_archive_flag_spec \
+compiler_needs_object \
+with_gnu_ld \
+allow_undefined_flag \
+no_undefined_flag \
+hardcode_libdir_flag_spec \
+hardcode_libdir_separator \
+exclude_expsyms \
+include_expsyms \
+file_list_spec \
+variables_saved_for_relink \
+libname_spec \
+library_names_spec \
+soname_spec \
+install_override_mode \
+finish_eval \
+old_striplib \
+striplib \
+AS; do
+    case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
+    *[\\\\\\\`\\"\\\$]*)
+      eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\""
+      ;;
+    *)
+      eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
+      ;;
+    esac
+done
+
+# Double-quote double-evaled strings.
+for var in reload_cmds \
+old_postinstall_cmds \
+old_postuninstall_cmds \
+old_archive_cmds \
+extract_expsyms_cmds \
+old_archive_from_new_cmds \
+old_archive_from_expsyms_cmds \
+archive_cmds \
+archive_expsym_cmds \
+module_cmds \
+module_expsym_cmds \
+export_symbols_cmds \
+prelink_cmds \
+postlink_cmds \
+postinstall_cmds \
+postuninstall_cmds \
+finish_cmds \
+sys_lib_search_path_spec \
+sys_lib_dlsearch_path_spec; do
+    case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
+    *[\\\\\\\`\\"\\\$]*)
+      eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\""
+      ;;
+    *)
+      eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
+      ;;
+    esac
+done
+
+ac_aux_dir='$ac_aux_dir'
+xsi_shell='$xsi_shell'
+lt_shell_append='$lt_shell_append'
+
+# See if we are running on zsh, and set the options which allow our
+# commands through without removal of \ escapes INIT.
+if test -n "\${ZSH_VERSION+set}" ; then
+   setopt NO_GLOB_SUBST
+fi
+
+
+    PACKAGE='$PACKAGE'
+    VERSION='$VERSION'
+    TIMESTAMP='$TIMESTAMP'
+    RM='$RM'
+    ofile='$ofile'
+
+
+
+
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+
+# Handling of arguments.
+for ac_config_target in $ac_config_targets
+do
+  case $ac_config_target in
+    "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
+    "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;;
+    "libsodium.pc") CONFIG_FILES="$CONFIG_FILES libsodium.pc" ;;
+    "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
+    "src/Makefile") CONFIG_FILES="$CONFIG_FILES src/Makefile" ;;
+    "src/libsodium/Makefile") CONFIG_FILES="$CONFIG_FILES src/libsodium/Makefile" ;;
+    "src/libsodium/include/Makefile") CONFIG_FILES="$CONFIG_FILES src/libsodium/include/Makefile" ;;
+    "src/libsodium/include/sodium/version.h") CONFIG_FILES="$CONFIG_FILES src/libsodium/include/sodium/version.h" ;;
+    "src/libsodium/include/sodium/crypto_scalarmult_curve25519.h") CONFIG_FILES="$CONFIG_FILES src/libsodium/include/sodium/crypto_scalarmult_curve25519.h" ;;
+    "src/libsodium/include/sodium/crypto_stream_salsa20.h") CONFIG_FILES="$CONFIG_FILES src/libsodium/include/sodium/crypto_stream_salsa20.h" ;;
+    "test/default/Makefile") CONFIG_FILES="$CONFIG_FILES test/default/Makefile" ;;
+    "test/Makefile") CONFIG_FILES="$CONFIG_FILES test/Makefile" ;;
+
+  *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
+  esac
+done
+
+
+# If the user did not use the arguments to specify the items to instantiate,
+# then the envvar interface is used.  Set only those that are not.
+# We use the long form for the default assignment because of an extremely
+# bizarre bug on SunOS 4.1.3.
+if $ac_need_defaults; then
+  test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
+  test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands
+fi
+
+# Have a temporary directory for convenience.  Make it in the build tree
+# simply because there is no reason against having it here, and in addition,
+# creating and moving files from /tmp can sometimes cause problems.
+# Hook for its removal unless debugging.
+# Note that there is a small window in which the directory will not be cleaned:
+# after its creation but before its name has been assigned to `$tmp'.
+$debug ||
+{
+  tmp= ac_tmp=
+  trap 'exit_status=$?
+  : "${ac_tmp:=$tmp}"
+  { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status
+' 0
+  trap 'as_fn_exit 1' 1 2 13 15
+}
+# Create a (secure) tmp directory for tmp files.
+
+{
+  tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
+  test -d "$tmp"
+}  ||
+{
+  tmp=./conf$$-$RANDOM
+  (umask 077 && mkdir "$tmp")
+} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5
+ac_tmp=$tmp
+
+# Set up the scripts for CONFIG_FILES section.
+# No need to generate them if there are no CONFIG_FILES.
+# This happens for instance with `./config.status config.h'.
+if test -n "$CONFIG_FILES"; then
+
+
+ac_cr=`echo X | tr X '\015'`
+# On cygwin, bash can eat \r inside `` if the user requested igncr.
+# But we know of no other shell where ac_cr would be empty at this
+# point, so we can use a bashism as a fallback.
+if test "x$ac_cr" = x; then
+  eval ac_cr=\$\'\\r\'
+fi
+ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null`
+if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
+  ac_cs_awk_cr='\\r'
+else
+  ac_cs_awk_cr=$ac_cr
+fi
+
+echo 'BEGIN {' >"$ac_tmp/subs1.awk" &&
+_ACEOF
+
+
+{
+  echo "cat >conf$$subs.awk <<_ACEOF" &&
+  echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
+  echo "_ACEOF"
+} >conf$$subs.sh ||
+  as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
+ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'`
+ac_delim='%!_!# '
+for ac_last_try in false false false false false :; do
+  . ./conf$$subs.sh ||
+    as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
+
+  ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X`
+  if test $ac_delim_n = $ac_delim_num; then
+    break
+  elif $ac_last_try; then
+    as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
+  else
+    ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
+  fi
+done
+rm -f conf$$subs.sh
+
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK &&
+_ACEOF
+sed -n '
+h
+s/^/S["/; s/!.*/"]=/
+p
+g
+s/^[^!]*!//
+:repl
+t repl
+s/'"$ac_delim"'$//
+t delim
+:nl
+h
+s/\(.\{148\}\)..*/\1/
+t more1
+s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/
+p
+n
+b repl
+:more1
+s/["\\]/\\&/g; s/^/"/; s/$/"\\/
+p
+g
+s/.\{148\}//
+t nl
+:delim
+h
+s/\(.\{148\}\)..*/\1/
+t more2
+s/["\\]/\\&/g; s/^/"/; s/$/"/
+p
+b
+:more2
+s/["\\]/\\&/g; s/^/"/; s/$/"\\/
+p
+g
+s/.\{148\}//
+t delim
+' <conf$$subs.awk | sed '
+/^[^""]/{
+  N
+  s/\n//
+}
+' >>$CONFIG_STATUS || ac_write_fail=1
+rm -f conf$$subs.awk
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+_ACAWK
+cat >>"\$ac_tmp/subs1.awk" <<_ACAWK &&
+  for (key in S) S_is_set[key] = 1
+  FS = ""
+
+}
+{
+  line = $ 0
+  nfields = split(line, field, "@")
+  substed = 0
+  len = length(field[1])
+  for (i = 2; i < nfields; i++) {
+    key = field[i]
+    keylen = length(key)
+    if (S_is_set[key]) {
+      value = S[key]
+      line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3)
+      len += length(value) + length(field[++i])
+      substed = 1
+    } else
+      len += 1 + keylen
+  }
+
+  print line
+}
+
+_ACAWK
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then
+  sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
+else
+  cat
+fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \
+  || as_fn_error $? "could not setup config files machinery" "$LINENO" 5
+_ACEOF
+
+# VPATH may cause trouble with some makes, so we remove sole $(srcdir),
+# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and
+# trailing colons and then remove the whole line if VPATH becomes empty
+# (actually we leave an empty line to preserve line numbers).
+if test "x$srcdir" = x.; then
+  ac_vpsub='/^[	 ]*VPATH[	 ]*=[	 ]*/{
+h
+s///
+s/^/:/
+s/[	 ]*$/:/
+s/:\$(srcdir):/:/g
+s/:\${srcdir}:/:/g
+s/:@srcdir@:/:/g
+s/^:*//
+s/:*$//
+x
+s/\(=[	 ]*\).*/\1/
+G
+s/\n//
+s/^[^=]*=[	 ]*$//
+}'
+fi
+
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+fi # test -n "$CONFIG_FILES"
+
+
+eval set X "  :F $CONFIG_FILES      :C $CONFIG_COMMANDS"
+shift
+for ac_tag
+do
+  case $ac_tag in
+  :[FHLC]) ac_mode=$ac_tag; continue;;
+  esac
+  case $ac_mode$ac_tag in
+  :[FHL]*:*);;
+  :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;;
+  :[FH]-) ac_tag=-:-;;
+  :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
+  esac
+  ac_save_IFS=$IFS
+  IFS=:
+  set x $ac_tag
+  IFS=$ac_save_IFS
+  shift
+  ac_file=$1
+  shift
+
+  case $ac_mode in
+  :L) ac_source=$1;;
+  :[FH])
+    ac_file_inputs=
+    for ac_f
+    do
+      case $ac_f in
+      -) ac_f="$ac_tmp/stdin";;
+      *) # Look for the file first in the build tree, then in the source tree
+	 # (if the path is not absolute).  The absolute path cannot be DOS-style,
+	 # because $ac_f cannot contain `:'.
+	 test -f "$ac_f" ||
+	   case $ac_f in
+	   [\\/$]*) false;;
+	   *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
+	   esac ||
+	   as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;;
+      esac
+      case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
+      as_fn_append ac_file_inputs " '$ac_f'"
+    done
+
+    # Let's still pretend it is `configure' which instantiates (i.e., don't
+    # use $as_me), people would be surprised to read:
+    #    /* config.h.  Generated by config.status.  */
+    configure_input='Generated from '`
+	  $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g'
+	`' by configure.'
+    if test x"$ac_file" != x-; then
+      configure_input="$ac_file.  $configure_input"
+      { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5
+$as_echo "$as_me: creating $ac_file" >&6;}
+    fi
+    # Neutralize special characters interpreted by sed in replacement strings.
+    case $configure_input in #(
+    *\&* | *\|* | *\\* )
+       ac_sed_conf_input=`$as_echo "$configure_input" |
+       sed 's/[\\\\&|]/\\\\&/g'`;; #(
+    *) ac_sed_conf_input=$configure_input;;
+    esac
+
+    case $ac_tag in
+    *:-:* | *:-) cat >"$ac_tmp/stdin" \
+      || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;;
+    esac
+    ;;
+  esac
+
+  ac_dir=`$as_dirname -- "$ac_file" ||
+$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+	 X"$ac_file" : 'X\(//\)[^/]' \| \
+	 X"$ac_file" : 'X\(//\)$' \| \
+	 X"$ac_file" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$ac_file" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\/\)[^/].*/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\/\)$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\).*/{
+	    s//\1/
+	    q
+	  }
+	  s/.*/./; q'`
+  as_dir="$ac_dir"; as_fn_mkdir_p
+  ac_builddir=.
+
+case "$ac_dir" in
+.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
+*)
+  ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
+  # A ".." for each directory in $ac_dir_suffix.
+  ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
+  case $ac_top_builddir_sub in
+  "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
+  *)  ac_top_build_prefix=$ac_top_builddir_sub/ ;;
+  esac ;;
+esac
+ac_abs_top_builddir=$ac_pwd
+ac_abs_builddir=$ac_pwd$ac_dir_suffix
+# for backward compatibility:
+ac_top_builddir=$ac_top_build_prefix
+
+case $srcdir in
+  .)  # We are building in place.
+    ac_srcdir=.
+    ac_top_srcdir=$ac_top_builddir_sub
+    ac_abs_top_srcdir=$ac_pwd ;;
+  [\\/]* | ?:[\\/]* )  # Absolute name.
+    ac_srcdir=$srcdir$ac_dir_suffix;
+    ac_top_srcdir=$srcdir
+    ac_abs_top_srcdir=$srcdir ;;
+  *) # Relative name.
+    ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
+    ac_top_srcdir=$ac_top_build_prefix$srcdir
+    ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
+esac
+ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
+
+
+  case $ac_mode in
+  :F)
+  #
+  # CONFIG_FILE
+  #
+
+  case $INSTALL in
+  [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
+  *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;;
+  esac
+  ac_MKDIR_P=$MKDIR_P
+  case $MKDIR_P in
+  [\\/$]* | ?:[\\/]* ) ;;
+  */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;;
+  esac
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+# If the template does not know about datarootdir, expand it.
+# FIXME: This hack should be removed a few years after 2.60.
+ac_datarootdir_hack=; ac_datarootdir_seen=
+ac_sed_dataroot='
+/datarootdir/ {
+  p
+  q
+}
+/@datadir@/p
+/@docdir@/p
+/@infodir@/p
+/@localedir@/p
+/@mandir@/p'
+case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in
+*datarootdir*) ac_datarootdir_seen=yes;;
+*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*)
+  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
+$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+  ac_datarootdir_hack='
+  s&@datadir@&$datadir&g
+  s&@docdir@&$docdir&g
+  s&@infodir@&$infodir&g
+  s&@localedir@&$localedir&g
+  s&@mandir@&$mandir&g
+  s&\\\${datarootdir}&$datarootdir&g' ;;
+esac
+_ACEOF
+
+# Neutralize VPATH when `$srcdir' = `.'.
+# Shell code in configure.ac might set extrasub.
+# FIXME: do we really want to maintain this feature?
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ac_sed_extra="$ac_vpsub
+$extrasub
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+:t
+/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
+s|@configure_input@|$ac_sed_conf_input|;t t
+s&@top_builddir@&$ac_top_builddir_sub&;t t
+s&@top_build_prefix@&$ac_top_build_prefix&;t t
+s&@srcdir@&$ac_srcdir&;t t
+s&@abs_srcdir@&$ac_abs_srcdir&;t t
+s&@top_srcdir@&$ac_top_srcdir&;t t
+s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t
+s&@builddir@&$ac_builddir&;t t
+s&@abs_builddir@&$ac_abs_builddir&;t t
+s&@abs_top_builddir@&$ac_abs_top_builddir&;t t
+s&@INSTALL@&$ac_INSTALL&;t t
+s&@MKDIR_P@&$ac_MKDIR_P&;t t
+$ac_datarootdir_hack
+"
+eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \
+  >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5
+
+test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
+  { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } &&
+  { ac_out=`sed -n '/^[	 ]*datarootdir[	 ]*:*=/p' \
+      "$ac_tmp/out"`; test -z "$ac_out"; } &&
+  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir'
+which seems to be undefined.  Please make sure it is defined" >&5
+$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
+which seems to be undefined.  Please make sure it is defined" >&2;}
+
+  rm -f "$ac_tmp/stdin"
+  case $ac_file in
+  -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";;
+  *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";;
+  esac \
+  || as_fn_error $? "could not create $ac_file" "$LINENO" 5
+ ;;
+
+
+  :C)  { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5
+$as_echo "$as_me: executing $ac_file commands" >&6;}
+ ;;
+  esac
+
+
+  case $ac_file$ac_mode in
+    "depfiles":C) test x"$AMDEP_TRUE" != x"" || {
+  # Older Autoconf quotes --file arguments for eval, but not when files
+  # are listed without --file.  Let's play safe and only enable the eval
+  # if we detect the quoting.
+  case $CONFIG_FILES in
+  *\'*) eval set x "$CONFIG_FILES" ;;
+  *)   set x $CONFIG_FILES ;;
+  esac
+  shift
+  for mf
+  do
+    # Strip MF so we end up with the name of the file.
+    mf=`echo "$mf" | sed -e 's/:.*$//'`
+    # Check whether this is an Automake generated Makefile or not.
+    # We used to match only the files named 'Makefile.in', but
+    # some people rename them; so instead we look at the file content.
+    # Grep'ing the first line is not enough: some people post-process
+    # each Makefile.in and add a new line on top of each file to say so.
+    # Grep'ing the whole file is not good either: AIX grep has a line
+    # limit of 2048, but all sed's we know have understand at least 4000.
+    if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
+      dirpart=`$as_dirname -- "$mf" ||
+$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+	 X"$mf" : 'X\(//\)[^/]' \| \
+	 X"$mf" : 'X\(//\)$' \| \
+	 X"$mf" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$mf" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\/\)[^/].*/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\/\)$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\).*/{
+	    s//\1/
+	    q
+	  }
+	  s/.*/./; q'`
+    else
+      continue
+    fi
+    # Extract the definition of DEPDIR, am__include, and am__quote
+    # from the Makefile without running 'make'.
+    DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
+    test -z "$DEPDIR" && continue
+    am__include=`sed -n 's/^am__include = //p' < "$mf"`
+    test -z "$am__include" && continue
+    am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
+    # Find all dependency output files, they are included files with
+    # $(DEPDIR) in their names.  We invoke sed twice because it is the
+    # simplest approach to changing $(DEPDIR) to its actual value in the
+    # expansion.
+    for file in `sed -n "
+      s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
+	 sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do
+      # Make sure the directory exists.
+      test -f "$dirpart/$file" && continue
+      fdir=`$as_dirname -- "$file" ||
+$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+	 X"$file" : 'X\(//\)[^/]' \| \
+	 X"$file" : 'X\(//\)$' \| \
+	 X"$file" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$file" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\/\)[^/].*/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\/\)$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\).*/{
+	    s//\1/
+	    q
+	  }
+	  s/.*/./; q'`
+      as_dir=$dirpart/$fdir; as_fn_mkdir_p
+      # echo "creating $dirpart/$file"
+      echo '# dummy' > "$dirpart/$file"
+    done
+  done
+}
+ ;;
+    "libtool":C)
+
+    # See if we are running on zsh, and set the options which allow our
+    # commands through without removal of \ escapes.
+    if test -n "${ZSH_VERSION+set}" ; then
+      setopt NO_GLOB_SUBST
+    fi
+
+    cfgfile="${ofile}T"
+    trap "$RM \"$cfgfile\"; exit 1" 1 2 15
+    $RM "$cfgfile"
+
+    cat <<_LT_EOF >> "$cfgfile"
+#! $SHELL
+
+# `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
+# Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION
+# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
+# NOTE: Changes made to this file will be lost: look at ltmain.sh.
+#
+#   Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
+#                 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+#                 Foundation, Inc.
+#   Written by Gordon Matzigkeit, 1996
+#
+#   This file is part of GNU Libtool.
+#
+# GNU Libtool is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License as
+# published by the Free Software Foundation; either version 2 of
+# the License, or (at your option) any later version.
+#
+# As a special exception to the GNU General Public License,
+# if you distribute this file as part of a program or library that
+# is built using GNU Libtool, you may include this file under the
+# same distribution terms that you use for the rest of that program.
+#
+# GNU Libtool is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with GNU Libtool; see the file COPYING.  If not, a copy
+# can be downloaded from http://www.gnu.org/licenses/gpl.html, or
+# obtained by writing to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+
+
+# The names of the tagged configurations supported by this script.
+available_tags=""
+
+# ### BEGIN LIBTOOL CONFIG
+
+# Which release of libtool.m4 was used?
+macro_version=$macro_version
+macro_revision=$macro_revision
+
+# Whether or not to build shared libraries.
+build_libtool_libs=$enable_shared
+
+# Whether or not to build static libraries.
+build_old_libs=$enable_static
+
+# What type of objects to build.
+pic_mode=$pic_mode
+
+# Whether or not to optimize for fast installation.
+fast_install=$enable_fast_install
+
+# Shell to use when invoking shell scripts.
+SHELL=$lt_SHELL
+
+# An echo program that protects backslashes.
+ECHO=$lt_ECHO
+
+# The PATH separator for the build system.
+PATH_SEPARATOR=$lt_PATH_SEPARATOR
+
+# The host system.
+host_alias=$host_alias
+host=$host
+host_os=$host_os
+
+# The build system.
+build_alias=$build_alias
+build=$build
+build_os=$build_os
+
+# A sed program that does not truncate output.
+SED=$lt_SED
+
+# Sed that helps us avoid accidentally triggering echo(1) options like -n.
+Xsed="\$SED -e 1s/^X//"
+
+# A grep program that handles long lines.
+GREP=$lt_GREP
+
+# An ERE matcher.
+EGREP=$lt_EGREP
+
+# A literal string matcher.
+FGREP=$lt_FGREP
+
+# A BSD- or MS-compatible name lister.
+NM=$lt_NM
+
+# Whether we need soft or hard links.
+LN_S=$lt_LN_S
+
+# What is the maximum length of a command?
+max_cmd_len=$max_cmd_len
+
+# Object file suffix (normally "o").
+objext=$ac_objext
+
+# Executable file suffix (normally "").
+exeext=$exeext
+
+# whether the shell understands "unset".
+lt_unset=$lt_unset
+
+# turn spaces into newlines.
+SP2NL=$lt_lt_SP2NL
+
+# turn newlines into spaces.
+NL2SP=$lt_lt_NL2SP
+
+# convert \$build file names to \$host format.
+to_host_file_cmd=$lt_cv_to_host_file_cmd
+
+# convert \$build files to toolchain format.
+to_tool_file_cmd=$lt_cv_to_tool_file_cmd
+
+# An object symbol dumper.
+OBJDUMP=$lt_OBJDUMP
+
+# Method to check whether dependent libraries are shared objects.
+deplibs_check_method=$lt_deplibs_check_method
+
+# Command to use when deplibs_check_method = "file_magic".
+file_magic_cmd=$lt_file_magic_cmd
+
+# How to find potential files when deplibs_check_method = "file_magic".
+file_magic_glob=$lt_file_magic_glob
+
+# Find potential files using nocaseglob when deplibs_check_method = "file_magic".
+want_nocaseglob=$lt_want_nocaseglob
+
+# DLL creation program.
+DLLTOOL=$lt_DLLTOOL
+
+# Command to associate shared and link libraries.
+sharedlib_from_linklib_cmd=$lt_sharedlib_from_linklib_cmd
+
+# The archiver.
+AR=$lt_AR
+
+# Flags to create an archive.
+AR_FLAGS=$lt_AR_FLAGS
+
+# How to feed a file listing to the archiver.
+archiver_list_spec=$lt_archiver_list_spec
+
+# A symbol stripping program.
+STRIP=$lt_STRIP
+
+# Commands used to install an old-style archive.
+RANLIB=$lt_RANLIB
+old_postinstall_cmds=$lt_old_postinstall_cmds
+old_postuninstall_cmds=$lt_old_postuninstall_cmds
+
+# Whether to use a lock for old archive extraction.
+lock_old_archive_extraction=$lock_old_archive_extraction
+
+# A C compiler.
+LTCC=$lt_CC
+
+# LTCC compiler flags.
+LTCFLAGS=$lt_CFLAGS
+
+# Take the output of nm and produce a listing of raw symbols and C names.
+global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe
+
+# Transform the output of nm in a proper C declaration.
+global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
+
+# Transform the output of nm in a C name address pair.
+global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
+
+# Transform the output of nm in a C name address pair when lib prefix is needed.
+global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix
+
+# Specify filename containing input files for \$NM.
+nm_file_list_spec=$lt_nm_file_list_spec
+
+# The root where to search for dependent libraries,and in which our libraries should be installed.
+lt_sysroot=$lt_sysroot
+
+# The name of the directory that contains temporary libtool files.
+objdir=$objdir
+
+# Used to examine libraries when file_magic_cmd begins with "file".
+MAGIC_CMD=$MAGIC_CMD
+
+# Must we lock files when doing compilation?
+need_locks=$lt_need_locks
+
+# Manifest tool.
+MANIFEST_TOOL=$lt_MANIFEST_TOOL
+
+# Tool to manipulate archived DWARF debug symbol files on Mac OS X.
+DSYMUTIL=$lt_DSYMUTIL
+
+# Tool to change global to local symbols on Mac OS X.
+NMEDIT=$lt_NMEDIT
+
+# Tool to manipulate fat objects and archives on Mac OS X.
+LIPO=$lt_LIPO
+
+# ldd/readelf like tool for Mach-O binaries on Mac OS X.
+OTOOL=$lt_OTOOL
+
+# ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4.
+OTOOL64=$lt_OTOOL64
+
+# Old archive suffix (normally "a").
+libext=$libext
+
+# Shared library suffix (normally ".so").
+shrext_cmds=$lt_shrext_cmds
+
+# The commands to extract the exported symbol list from a shared archive.
+extract_expsyms_cmds=$lt_extract_expsyms_cmds
+
+# Variables whose values should be saved in libtool wrapper scripts and
+# restored at link time.
+variables_saved_for_relink=$lt_variables_saved_for_relink
+
+# Do we need the "lib" prefix for modules?
+need_lib_prefix=$need_lib_prefix
+
+# Do we need a version for libraries?
+need_version=$need_version
+
+# Library versioning type.
+version_type=$version_type
+
+# Shared library runtime path variable.
+runpath_var=$runpath_var
+
+# Shared library path variable.
+shlibpath_var=$shlibpath_var
+
+# Is shlibpath searched before the hard-coded library search path?
+shlibpath_overrides_runpath=$shlibpath_overrides_runpath
+
+# Format of library name prefix.
+libname_spec=$lt_libname_spec
+
+# List of archive names.  First name is the real one, the rest are links.
+# The last name is the one that the linker finds with -lNAME
+library_names_spec=$lt_library_names_spec
+
+# The coded name of the library, if different from the real name.
+soname_spec=$lt_soname_spec
+
+# Permission mode override for installation of shared libraries.
+install_override_mode=$lt_install_override_mode
+
+# Command to use after installation of a shared archive.
+postinstall_cmds=$lt_postinstall_cmds
+
+# Command to use after uninstallation of a shared archive.
+postuninstall_cmds=$lt_postuninstall_cmds
+
+# Commands used to finish a libtool library installation in a directory.
+finish_cmds=$lt_finish_cmds
+
+# As "finish_cmds", except a single script fragment to be evaled but
+# not shown.
+finish_eval=$lt_finish_eval
+
+# Whether we should hardcode library paths into libraries.
+hardcode_into_libs=$hardcode_into_libs
+
+# Compile-time system search path for libraries.
+sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
+
+# Run-time system search path for libraries.
+sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
+
+# Whether dlopen is supported.
+dlopen_support=$enable_dlopen
+
+# Whether dlopen of programs is supported.
+dlopen_self=$enable_dlopen_self
+
+# Whether dlopen of statically linked programs is supported.
+dlopen_self_static=$enable_dlopen_self_static
+
+# Commands to strip libraries.
+old_striplib=$lt_old_striplib
+striplib=$lt_striplib
+
+# Assembler program.
+AS=$lt_AS
+
+
+# The linker used to build libraries.
+LD=$lt_LD
+
+# How to create reloadable object files.
+reload_flag=$lt_reload_flag
+reload_cmds=$lt_reload_cmds
+
+# Commands used to build an old-style archive.
+old_archive_cmds=$lt_old_archive_cmds
+
+# A language specific compiler.
+CC=$lt_compiler
+
+# Is the compiler the GNU compiler?
+with_gcc=$GCC
+
+# Compiler flag to turn off builtin functions.
+no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag
+
+# Additional compiler flags for building library objects.
+pic_flag=$lt_lt_prog_compiler_pic
+
+# How to pass a linker flag through the compiler.
+wl=$lt_lt_prog_compiler_wl
+
+# Compiler flag to prevent dynamic linking.
+link_static_flag=$lt_lt_prog_compiler_static
+
+# Does compiler simultaneously support -c and -o options?
+compiler_c_o=$lt_lt_cv_prog_compiler_c_o
+
+# Whether or not to add -lc for building shared libraries.
+build_libtool_need_lc=$archive_cmds_need_lc
+
+# Whether or not to disallow shared libs when runtime libs are static.
+allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes
+
+# Compiler flag to allow reflexive dlopens.
+export_dynamic_flag_spec=$lt_export_dynamic_flag_spec
+
+# Compiler flag to generate shared objects directly from archives.
+whole_archive_flag_spec=$lt_whole_archive_flag_spec
+
+# Whether the compiler copes with passing no objects directly.
+compiler_needs_object=$lt_compiler_needs_object
+
+# Create an old-style archive from a shared archive.
+old_archive_from_new_cmds=$lt_old_archive_from_new_cmds
+
+# Create a temporary old-style archive to link instead of a shared archive.
+old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds
+
+# Commands used to build a shared archive.
+archive_cmds=$lt_archive_cmds
+archive_expsym_cmds=$lt_archive_expsym_cmds
+
+# Commands used to build a loadable module if different from building
+# a shared archive.
+module_cmds=$lt_module_cmds
+module_expsym_cmds=$lt_module_expsym_cmds
+
+# Whether we are building with GNU ld or not.
+with_gnu_ld=$lt_with_gnu_ld
+
+# Flag that allows shared libraries with undefined symbols to be built.
+allow_undefined_flag=$lt_allow_undefined_flag
+
+# Flag that enforces no undefined symbols.
+no_undefined_flag=$lt_no_undefined_flag
+
+# Flag to hardcode \$libdir into a binary during linking.
+# This must work even if \$libdir does not exist
+hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec
+
+# Whether we need a single "-rpath" flag with a separated argument.
+hardcode_libdir_separator=$lt_hardcode_libdir_separator
+
+# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes
+# DIR into the resulting binary.
+hardcode_direct=$hardcode_direct
+
+# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes
+# DIR into the resulting binary and the resulting library dependency is
+# "absolute",i.e impossible to change by setting \${shlibpath_var} if the
+# library is relocated.
+hardcode_direct_absolute=$hardcode_direct_absolute
+
+# Set to "yes" if using the -LDIR flag during linking hardcodes DIR
+# into the resulting binary.
+hardcode_minus_L=$hardcode_minus_L
+
+# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
+# into the resulting binary.
+hardcode_shlibpath_var=$hardcode_shlibpath_var
+
+# Set to "yes" if building a shared library automatically hardcodes DIR
+# into the library and all subsequent libraries and executables linked
+# against it.
+hardcode_automatic=$hardcode_automatic
+
+# Set to yes if linker adds runtime paths of dependent libraries
+# to runtime path list.
+inherit_rpath=$inherit_rpath
+
+# Whether libtool must link a program against all its dependency libraries.
+link_all_deplibs=$link_all_deplibs
+
+# Set to "yes" if exported symbols are required.
+always_export_symbols=$always_export_symbols
+
+# The commands to list exported symbols.
+export_symbols_cmds=$lt_export_symbols_cmds
+
+# Symbols that should not be listed in the preloaded symbols.
+exclude_expsyms=$lt_exclude_expsyms
+
+# Symbols that must always be exported.
+include_expsyms=$lt_include_expsyms
+
+# Commands necessary for linking programs (against libraries) with templates.
+prelink_cmds=$lt_prelink_cmds
+
+# Commands necessary for finishing linking programs.
+postlink_cmds=$lt_postlink_cmds
+
+# Specify filename containing input files.
+file_list_spec=$lt_file_list_spec
+
+# How to hardcode a shared library path into an executable.
+hardcode_action=$hardcode_action
+
+# ### END LIBTOOL CONFIG
+
+_LT_EOF
+
+  case $host_os in
+  aix3*)
+    cat <<\_LT_EOF >> "$cfgfile"
+# AIX sometimes has problems with the GCC collect2 program.  For some
+# reason, if we set the COLLECT_NAMES environment variable, the problems
+# vanish in a puff of smoke.
+if test "X${COLLECT_NAMES+set}" != Xset; then
+  COLLECT_NAMES=
+  export COLLECT_NAMES
+fi
+_LT_EOF
+    ;;
+  esac
+
+
+ltmain="$ac_aux_dir/ltmain.sh"
+
+
+  # We use sed instead of cat because bash on DJGPP gets confused if
+  # if finds mixed CR/LF and LF-only lines.  Since sed operates in
+  # text mode, it properly converts lines to CR/LF.  This bash problem
+  # is reportedly fixed, but why not run on old versions too?
+  sed '$q' "$ltmain" >> "$cfgfile" \
+     || (rm -f "$cfgfile"; exit 1)
+
+  if test x"$xsi_shell" = xyes; then
+  sed -e '/^func_dirname ()$/,/^} # func_dirname /c\
+func_dirname ()\
+{\
+\    case ${1} in\
+\      */*) func_dirname_result="${1%/*}${2}" ;;\
+\      *  ) func_dirname_result="${3}" ;;\
+\    esac\
+} # Extended-shell func_dirname implementation' "$cfgfile" > $cfgfile.tmp \
+  && mv -f "$cfgfile.tmp" "$cfgfile" \
+    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
+test 0 -eq $? || _lt_function_replace_fail=:
+
+
+  sed -e '/^func_basename ()$/,/^} # func_basename /c\
+func_basename ()\
+{\
+\    func_basename_result="${1##*/}"\
+} # Extended-shell func_basename implementation' "$cfgfile" > $cfgfile.tmp \
+  && mv -f "$cfgfile.tmp" "$cfgfile" \
+    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
+test 0 -eq $? || _lt_function_replace_fail=:
+
+
+  sed -e '/^func_dirname_and_basename ()$/,/^} # func_dirname_and_basename /c\
+func_dirname_and_basename ()\
+{\
+\    case ${1} in\
+\      */*) func_dirname_result="${1%/*}${2}" ;;\
+\      *  ) func_dirname_result="${3}" ;;\
+\    esac\
+\    func_basename_result="${1##*/}"\
+} # Extended-shell func_dirname_and_basename implementation' "$cfgfile" > $cfgfile.tmp \
+  && mv -f "$cfgfile.tmp" "$cfgfile" \
+    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
+test 0 -eq $? || _lt_function_replace_fail=:
+
+
+  sed -e '/^func_stripname ()$/,/^} # func_stripname /c\
+func_stripname ()\
+{\
+\    # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are\
+\    # positional parameters, so assign one to ordinary parameter first.\
+\    func_stripname_result=${3}\
+\    func_stripname_result=${func_stripname_result#"${1}"}\
+\    func_stripname_result=${func_stripname_result%"${2}"}\
+} # Extended-shell func_stripname implementation' "$cfgfile" > $cfgfile.tmp \
+  && mv -f "$cfgfile.tmp" "$cfgfile" \
+    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
+test 0 -eq $? || _lt_function_replace_fail=:
+
+
+  sed -e '/^func_split_long_opt ()$/,/^} # func_split_long_opt /c\
+func_split_long_opt ()\
+{\
+\    func_split_long_opt_name=${1%%=*}\
+\    func_split_long_opt_arg=${1#*=}\
+} # Extended-shell func_split_long_opt implementation' "$cfgfile" > $cfgfile.tmp \
+  && mv -f "$cfgfile.tmp" "$cfgfile" \
+    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
+test 0 -eq $? || _lt_function_replace_fail=:
+
+
+  sed -e '/^func_split_short_opt ()$/,/^} # func_split_short_opt /c\
+func_split_short_opt ()\
+{\
+\    func_split_short_opt_arg=${1#??}\
+\    func_split_short_opt_name=${1%"$func_split_short_opt_arg"}\
+} # Extended-shell func_split_short_opt implementation' "$cfgfile" > $cfgfile.tmp \
+  && mv -f "$cfgfile.tmp" "$cfgfile" \
+    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
+test 0 -eq $? || _lt_function_replace_fail=:
+
+
+  sed -e '/^func_lo2o ()$/,/^} # func_lo2o /c\
+func_lo2o ()\
+{\
+\    case ${1} in\
+\      *.lo) func_lo2o_result=${1%.lo}.${objext} ;;\
+\      *)    func_lo2o_result=${1} ;;\
+\    esac\
+} # Extended-shell func_lo2o implementation' "$cfgfile" > $cfgfile.tmp \
+  && mv -f "$cfgfile.tmp" "$cfgfile" \
+    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
+test 0 -eq $? || _lt_function_replace_fail=:
+
+
+  sed -e '/^func_xform ()$/,/^} # func_xform /c\
+func_xform ()\
+{\
+    func_xform_result=${1%.*}.lo\
+} # Extended-shell func_xform implementation' "$cfgfile" > $cfgfile.tmp \
+  && mv -f "$cfgfile.tmp" "$cfgfile" \
+    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
+test 0 -eq $? || _lt_function_replace_fail=:
+
+
+  sed -e '/^func_arith ()$/,/^} # func_arith /c\
+func_arith ()\
+{\
+    func_arith_result=$(( $* ))\
+} # Extended-shell func_arith implementation' "$cfgfile" > $cfgfile.tmp \
+  && mv -f "$cfgfile.tmp" "$cfgfile" \
+    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
+test 0 -eq $? || _lt_function_replace_fail=:
+
+
+  sed -e '/^func_len ()$/,/^} # func_len /c\
+func_len ()\
+{\
+    func_len_result=${#1}\
+} # Extended-shell func_len implementation' "$cfgfile" > $cfgfile.tmp \
+  && mv -f "$cfgfile.tmp" "$cfgfile" \
+    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
+test 0 -eq $? || _lt_function_replace_fail=:
+
+fi
+
+if test x"$lt_shell_append" = xyes; then
+  sed -e '/^func_append ()$/,/^} # func_append /c\
+func_append ()\
+{\
+    eval "${1}+=\\${2}"\
+} # Extended-shell func_append implementation' "$cfgfile" > $cfgfile.tmp \
+  && mv -f "$cfgfile.tmp" "$cfgfile" \
+    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
+test 0 -eq $? || _lt_function_replace_fail=:
+
+
+  sed -e '/^func_append_quoted ()$/,/^} # func_append_quoted /c\
+func_append_quoted ()\
+{\
+\    func_quote_for_eval "${2}"\
+\    eval "${1}+=\\\\ \\$func_quote_for_eval_result"\
+} # Extended-shell func_append_quoted implementation' "$cfgfile" > $cfgfile.tmp \
+  && mv -f "$cfgfile.tmp" "$cfgfile" \
+    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
+test 0 -eq $? || _lt_function_replace_fail=:
+
+
+  # Save a `func_append' function call where possible by direct use of '+='
+  sed -e 's%func_append \([a-zA-Z_]\{1,\}\) "%\1+="%g' $cfgfile > $cfgfile.tmp \
+    && mv -f "$cfgfile.tmp" "$cfgfile" \
+      || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
+  test 0 -eq $? || _lt_function_replace_fail=:
+else
+  # Save a `func_append' function call even when '+=' is not available
+  sed -e 's%func_append \([a-zA-Z_]\{1,\}\) "%\1="$\1%g' $cfgfile > $cfgfile.tmp \
+    && mv -f "$cfgfile.tmp" "$cfgfile" \
+      || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
+  test 0 -eq $? || _lt_function_replace_fail=:
+fi
+
+if test x"$_lt_function_replace_fail" = x":"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Unable to substitute extended shell functions in $ofile" >&5
+$as_echo "$as_me: WARNING: Unable to substitute extended shell functions in $ofile" >&2;}
+fi
+
+
+   mv -f "$cfgfile" "$ofile" ||
+    (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
+  chmod +x "$ofile"
+
+ ;;
+
+  esac
+done # for ac_tag
+
+
+as_fn_exit 0
+_ACEOF
+ac_clean_files=$ac_clean_files_save
+
+test $ac_write_fail = 0 ||
+  as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5
+
+
+# configure is writing to config.log, and then calls config.status.
+# config.status does its own redirection, appending to config.log.
+# Unfortunately, on DOS this fails, as config.log is still kept open
+# by configure, so config.status won't be able to write to it; its
+# output is simply discarded.  So we exec the FD to /dev/null,
+# effectively closing config.log, so it can be properly (re)opened and
+# appended to by config.status.  When coming back to configure, we
+# need to make the FD available again.
+if test "$no_create" != yes; then
+  ac_cs_success=:
+  ac_config_status_args=
+  test "$silent" = yes &&
+    ac_config_status_args="$ac_config_status_args --quiet"
+  exec 5>/dev/null
+  $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false
+  exec 5>>config.log
+  # Use ||, not &&, to avoid exiting from the if with $? = 1, which
+  # would make configure fail if this is the last instruction.
+  $ac_cs_success || as_fn_exit 1
+fi
+if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
+$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
+fi
+
diff --git a/src/libsodium/configure.ac b/src/libsodium/configure.ac
new file mode 100644
index 00000000..2cd07186
--- /dev/null
+++ b/src/libsodium/configure.ac
@@ -0,0 +1,400 @@
+AC_PREREQ([2.65])
+AC_INIT([libsodium],[0.4.3],
+  [https://github.com/jedisct1/libsodium/issues],
+  [libsodium],
+  [https://github.com/jedisct1/libsodium])
+AC_CONFIG_MACRO_DIR([m4])
+AC_CONFIG_SRCDIR([src/libsodium/sodium/version.c])
+AC_CANONICAL_HOST
+AM_INIT_AUTOMAKE([1.11 dist-bzip2 tar-ustar foreign subdir-objects])
+m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
+AM_MAINTAINER_MODE
+AM_DEP_TRACK
+
+AC_SUBST(VERSION)
+ISODATE=`date +%Y-%m-%d`
+AC_SUBST(ISODATE)
+
+SODIUM_LIBRARY_VERSION_MAJOR=4
+SODIUM_LIBRARY_VERSION_MINOR=3
+DLL_VERSION=4
+SODIUM_LIBRARY_VERSION=7:0:3
+#                      | | |
+#               +------+ | +---+
+#               |        |     |
+#            current:revision:age
+#               |        |     |
+#               |        |     +- increment if interfaces have been added
+#               |        |        set to zero if interfaces have been removed
+#               |        |        or changed
+#               |        +- increment if source code has changed
+#               |           set to zero if current is incremented
+#               +- increment if interfaces have been added, removed or changed
+AC_SUBST(SODIUM_LIBRARY_VERSION_MAJOR)
+AC_SUBST(SODIUM_LIBRARY_VERSION_MINOR)
+AC_SUBST(SODIUM_LIBRARY_VERSION)
+AC_SUBST(DLL_VERSION)
+
+LX_CFLAGS=${CFLAGS-NONE}
+
+dnl Switches
+
+AC_ARG_ENABLE(ssp,
+[AS_HELP_STRING(--disable-ssp,Do not compile with -fstack-protector)],
+[
+  AS_IF([test "x$enableval" = "xno"], [
+    enable_ssp="no"
+  ], [
+    enable_ssp="yes"
+  ])
+],
+[
+  enable_ssp="yes"
+])
+
+AC_ARG_ENABLE(asm,
+[AS_HELP_STRING(--disable-asm,Disable assembly implementations)],
+[
+  AS_IF([test "x$enableval" = "xno"], [
+    enable_asm="no"
+  ], [
+    enable_asm="yes"
+  ])
+],
+[
+  enable_asm="yes"
+])
+
+AS_IF([test "x$EMSCRIPTEN" != "x"],[
+  enable_asm="no"
+  AC_MSG_WARN([compiling to javascript - asm implementations disabled])
+])
+
+AS_CASE([$host], [x86_64-*-mingw* | x86_64-*-cygwin*], [enable_asm="no"])
+
+AC_ARG_ENABLE(pie,
+[AS_HELP_STRING(--disable-pie,Do not produce position independent executables)],
+ enable_pie=$enableval, enable_pie="maybe")
+
+AS_CASE([$host_os], [mingw*], [enable_pie="no"])
+
+AC_ARG_ENABLE(blocking-random,
+[AS_HELP_STRING(--enable-blocking-random,Use /dev/random instead of /dev/urandom)],
+[
+  AS_IF([test "x$enableval" = "xyes"], [
+    AC_DEFINE([USE_BLOCKING_RANDOM], [1], [Use blocking random])
+  ])
+])
+
+AC_ARG_WITH(safecode,
+[AS_HELP_STRING(--with-safecode,For maintainers only - please do not use)],
+[AS_IF([test "x$withval" = "xyes"], [
+    AC_ARG_VAR([SAFECODE_HOME], [set to the safecode base directory])
+    : ${SAFECODE_HOME:=/opt/safecode}
+    LDFLAGS="$LDFLAGS -L${SAFECODE_HOME}/lib"
+    LIBS="$LIBS -lsc_dbg_rt -lpoolalloc_bitmap -lstdc++"
+    CFLAGS="$CFLAGS -fmemsafety"
+  ])
+])
+
+AC_ARG_ENABLE(debug,
+[AS_HELP_STRING(--enable-debug,For maintainers only - please do not use)],
+[
+  AS_IF([test "x$enableval" = "xyes"], [
+    AS_IF([test "x$LX_CFLAGS" = "xNONE"], [
+      nxflags=""
+      for flag in `echo $CFLAGS`; do
+        AS_CASE([$flag],
+          [-O*], [ ],
+          [-g*], [ ],
+          [*], [AS_VAR_APPEND([nxflags], [" $flag"])])
+      done
+      CFLAGS="$nxflags -O0 -g3"
+    ])
+    CPPFLAGS="$CPPFLAGS -DDEBUG=1"
+  ])
+])
+
+AC_SUBST([MAINT])
+
+dnl Checks
+
+PKG_PROG_PKG_CONFIG([0.25])
+AM_CONDITIONAL([HAVE_PKG_CONFIG], [test "x$PKG_CONFIG" != "x"])
+AC_SUBST(HAVE_PKG_CONFIG)
+
+AC_PROG_CC_C99
+AM_PROG_AS
+AC_USE_SYSTEM_EXTENSIONS
+CPPFLAGS="$CPPFLAGS -D_FORTIFY_SOURCE=2"
+
+AX_CHECK_COMPILE_FLAG([-fvisibility=hidden],
+  [CFLAGS="$CFLAGS -fvisibility=hidden"])
+
+AX_CHECK_COMPILE_FLAG([-fPIC], [
+  AX_CHECK_LINK_FLAG([-fPIC],
+    [CFLAGS="$CFLAGS -fPIC"]
+  )
+])
+
+AS_IF([test "$enable_pie" != "no"],[
+  AX_CHECK_COMPILE_FLAG([-fPIE], [
+    AX_CHECK_LINK_FLAG([-fPIE],
+      [AX_CHECK_LINK_FLAG([-pie],
+        [CFLAGS="$CFLAGS -fPIE"
+         LDFLAGS="$LDFLAGS -pie"])
+    ])
+  ])
+])
+
+AX_CHECK_COMPILE_FLAG([-fwrapv], [CFLAGS="$CFLAGS -fwrapv"])
+AX_CHECK_COMPILE_FLAG([-fno-strict-aliasing], [CFLAGS="$CFLAGS -fno-strict-aliasing"])
+AX_CHECK_COMPILE_FLAG([-fno-strict-overflow], [CFLAGS="$CFLAGS -fno-strict-overflow"])
+
+LIBTOOL_EXTRA_FLAGS="-version-info $SODIUM_LIBRARY_VERSION"
+
+AS_CASE([$host_os],
+  [cygwin* | mingw* | pw32* | cegcc*], [
+    AX_CHECK_LINK_FLAG([-Wl,--dynamicbase], [LDFLAGS="$LDFLAGS -Wl,--dynamicbase"])
+    AX_CHECK_LINK_FLAG([-Wl,--nxcompat], [LDFLAGS="$LDFLAGS -Wl,--nxcompat"])
+  ])
+
+AS_IF([test "x$enable_ssp" != "xno"],[
+
+AS_CASE([$host_os],
+  [cygwin* | mingw* | pw32* | cegcc*], [ ],
+  [dragonfly*], [
+    AX_CHECK_COMPILE_FLAG([-fstack-protector], [
+      AX_CHECK_LINK_FLAG([-fstack-protector],
+        [CFLAGS="$CFLAGS -fstack-protector"]
+      )
+    ])
+  ],
+  [*], [
+    AX_CHECK_COMPILE_FLAG([-fstack-protector-all], [
+      AX_CHECK_LINK_FLAG([-fstack-protector-all],
+        [CFLAGS="$CFLAGS -fstack-protector-all"]
+      )
+    ])
+  ])
+])
+
+AX_CHECK_COMPILE_FLAG([-Winit-self], [CFLAGS="$CFLAGS -Winit-self"])
+AX_CHECK_COMPILE_FLAG([-Wwrite-strings], [CFLAGS="$CFLAGS -Wwrite-strings"])
+AX_CHECK_COMPILE_FLAG([-Wdiv-by-zero], [CFLAGS="$CFLAGS -Wdiv-by-zero"])
+AX_CHECK_COMPILE_FLAG([-Wsometimes-uninitialized], [CFLAGS="$CFLAGS -Wsometimes-uninitialized"])
+
+AC_ARG_VAR([CWFLAGS], [define to compilation flags for generating extra warnings])
+
+AX_CHECK_COMPILE_FLAG([$CWFLAGS -Wall], [CWFLAGS="$CWFLAGS -Wall"])
+AX_CHECK_COMPILE_FLAG([$CWFLAGS -Wextra], [CWFLAGS="$CWFLAGS -Wextra"])
+
+AC_MSG_CHECKING(for clang)
+AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[
+#ifndef __clang__
+be sad
+#endif
+]])],
+  [AC_MSG_RESULT(yes)
+   AX_CHECK_COMPILE_FLAG([$CWFLAGS -Wno-unknown-warning-option],
+     [CWFLAGS="$CWFLAGS -Wno-unknown-warning-option"])
+  ],
+  [AC_MSG_RESULT(no)
+])
+
+AX_CHECK_COMPILE_FLAG([$CWFLAGS -Wbad-function-cast], [CWFLAGS="$CWFLAGS -Wbad-function-cast"])
+AX_CHECK_COMPILE_FLAG([$CWFLAGS -Wcast-align], [CWFLAGS="$CWFLAGS -Wcast-align"])
+AX_CHECK_COMPILE_FLAG([$CWFLAGS -Wcast-qual], [CWFLAGS="$CWFLAGS -Wcast-qual"])
+AX_CHECK_COMPILE_FLAG([$CWFLAGS -Wchar-subscripts], [CWFLAGS="$CWFLAGS -Wchar-subscripts"])
+AX_CHECK_COMPILE_FLAG([$CWFLAGS -Wcomment], [CWFLAGS="$CWFLAGS -Wcomment"])
+AX_CHECK_COMPILE_FLAG([$CWFLAGS -Wfloat-equal], [CWFLAGS="$CWFLAGS -Wfloat-equal"])
+AX_CHECK_COMPILE_FLAG([$CWFLAGS -Wformat=2], [CWFLAGS="$CWFLAGS -Wformat=2"])
+AX_CHECK_COMPILE_FLAG([$CWFLAGS -Wimplicit], [CWFLAGS="$CWFLAGS -Wimplicit"])
+AX_CHECK_COMPILE_FLAG([$CWFLAGS -Wmissing-declarations], [CWFLAGS="$CWFLAGS -Wmissing-declarations"])
+AX_CHECK_COMPILE_FLAG([$CWFLAGS -Wmissing-prototypes], [CWFLAGS="$CWFLAGS -Wmissing-prototypes"])
+AX_CHECK_COMPILE_FLAG([$CWFLAGS -Wnormalized=id], [CWFLAGS="$CWFLAGS -Wnormalized=id"])
+AX_CHECK_COMPILE_FLAG([$CWFLAGS -Woverride-init], [CWFLAGS="$CWFLAGS -Woverride-init"])
+AX_CHECK_COMPILE_FLAG([$CWFLAGS -Wparentheses], [CWFLAGS="$CWFLAGS -Wparentheses"])
+AX_CHECK_COMPILE_FLAG([$CWFLAGS -Wpointer-arith], [CWFLAGS="$CWFLAGS -Wpointer-arith"])
+AX_CHECK_COMPILE_FLAG([$CWFLAGS -Wredundant-decls], [CWFLAGS="$CWFLAGS -Wredundant-decls"])
+AX_CHECK_COMPILE_FLAG([$CWFLAGS -Wstrict-prototypes], [CWFLAGS="$CWFLAGS -Wstrict-prototypes"])
+AX_CHECK_COMPILE_FLAG([$CWFLAGS -Wswitch-enum], [CWFLAGS="$CWFLAGS -Wswitch-enum"])
+AX_CHECK_COMPILE_FLAG([$CWFLAGS -Wvariable-decl], [CWFLAGS="$CWFLAGS -Wvariable-decl"])
+
+AX_CHECK_LINK_FLAG([-Wl,-z,relro], [LDFLAGS="$LDFLAGS -Wl,-z,relro"])
+AX_CHECK_LINK_FLAG([-Wl,-z,now], [LDFLAGS="$LDFLAGS -Wl,-z,now"])
+AX_CHECK_LINK_FLAG([-Wl,-z,noexecstack], [LDFLAGS="$LDFLAGS -Wl,-z,noexecstack"])
+
+LT_INIT
+AC_SUBST(LIBTOOL_DEPS)
+
+AC_ARG_VAR([AR], [path to the ar utility])
+AC_CHECK_TOOL([AR], [ar], [ar])
+
+dnl Checks for headers
+AC_CHECK_HEADERS([emmintrin.h], [], [], [
+#pragma GCC target("sse2")
+])
+
+AC_CHECK_HEADERS([tmmintrin.h], [], [], [
+#pragma GCC target("ssse3")
+])
+
+AC_CHECK_HEADERS([smmintrin.h], [], [], [
+#pragma GCC target("sse4.1")
+])
+
+AC_CHECK_HEADERS([immintrin.h], [], [], [
+#pragma GCC target("avx")
+])
+
+AC_CHECK_HEADERS([avxintrin.h], [], [], [
+#pragma GCC target("avx")
+])
+
+AC_CHECK_HEADERS([x86intrin.h], [], [], [
+#pragma GCC target("xop")
+])
+
+AC_CHECK_HEADERS([wmmintrin.h], [], [], [
+#pragma GCC target("aes")
+])
+
+AC_MSG_CHECKING(for access to floating-point rounding mode)
+AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
+  #include <fenv.h>
+  #pragma STDC FENV_ACCESS ON
+]], [[
+  const int previous_rounding_mode = fegetround();
+  fesetround(FE_TONEAREST);
+  fesetround(previous_rounding_mode);
+]])],
+[AC_MSG_RESULT(yes)
+ AC_DEFINE([HAVE_FENV_H], [1], [floating-point rounding mode is accessible])
+],
+[AC_MSG_RESULT(no)])
+
+dnl Checks for typedefs, structures, and compiler characteristics.
+
+AC_C_BIGENDIAN(
+  AC_DEFINE(NATIVE_BIG_ENDIAN, 1, [machine is bigendian]),
+  AC_DEFINE(NATIVE_LITTLE_ENDIAN, 1, [machine is littleendian]),
+  AC_MSG_ERROR([unknown endianess]),
+  AC_MSG_WARN([universal endianess])
+)
+
+AC_MSG_CHECKING(whether __STDC_LIMIT_MACROS is required)
+AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
+#include <limits.h>
+#include <stdint.h>
+]], [[
+(void) SIZE_MAX;
+(void) UINT64_MAX;
+]])],
+  [AC_MSG_RESULT(no)],
+  [AC_MSG_RESULT(yes)
+   CPPFLAGS="$CPPFLAGS -D__STDC_LIMIT_MACROS -D__STDC_CONSTANT_MACROS"
+])
+
+HAVE_AMD64_ASM_V=0
+AS_IF([test "$enable_asm" != "no"],[
+  AC_MSG_CHECKING(whether we can assemble basic amd64 code)
+  AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
+  ]], [[
+#if defined(__amd64) || defined(__amd64__) || defined(__x86_64__)
+/* neat */
+#else
+# error !amd64
+#endif
+__asm__("pxor %xmm12,%xmm6");
+]])],
+  [AC_MSG_RESULT(yes)
+   AC_DEFINE([HAVE_AMD64_ASM], [1], [basic amd64 code can be assembled])
+   HAVE_AMD64_ASM_V=1],
+  [AC_MSG_RESULT(no)])
+])
+AM_CONDITIONAL([HAVE_AMD64_ASM], [test $HAVE_AMD64_ASM_V = 1])
+AC_SUBST(HAVE_AMD64_ASM_V)
+
+AC_MSG_CHECKING(for 128-bit arithmetic)
+HAVE_TI_MODE_V=0
+AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
+#ifndef __GNUC__
+# error mode(TI) is a gcc extension
+#endif
+#if defined(__clang__) && !defined(__x86_64__)
+# error clang doesn't properly compile smult_curve25519_donna_c64.c
+#endif
+#include <stdint.h>
+typedef unsigned uint128_t __attribute__((mode(TI)));
+void fcontract(uint128_t *t) {
+  *t += 0x8000000000000 - 1;
+}
+]], [[
+(void) fcontract;
+]])],
+[AC_MSG_RESULT(yes)
+ AC_DEFINE([HAVE_TI_MODE], [1], [gcc TI mode is available])
+ HAVE_TI_MODE_V=1],
+[AC_MSG_RESULT(no)])
+AM_CONDITIONAL([HAVE_TI_MODE], [test $HAVE_TI_MODE_V = 1])
+AC_SUBST(HAVE_TI_MODE_V)
+
+AC_MSG_CHECKING(for cpuid instruction)
+HAVE_CPUID_V=0
+AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ ]], [[
+__asm__("movl %ebx,%esi\n"
+        "cpuid\n"
+        "movl %esi,%ebx");
+]])],
+[AC_MSG_RESULT(yes)
+ AC_DEFINE([HAVE_CPUID], [1], [cpuid instruction is available])
+ HAVE_CPUID_V=1],
+[AC_MSG_RESULT(no)])
+AM_CONDITIONAL([HAVE_CPUID], [test $HAVE_CPUID_V = 1])
+AC_SUBST(HAVE_CPUID_V)
+
+AS_CASE([$host_cpu],
+  [i*86 | x86_64 | powerpc* | s390*],
+    [AC_MSG_NOTICE([data alignment is not required on this target])],
+  [*],
+    [AC_MSG_NOTICE([data alignment is required on this target])
+     AC_DEFINE([CPU_ALIGNED_ACCESS_REQUIRED], [1], [data alignment is required])]
+)
+
+dnl Checks for functions and headers
+
+AC_CHECK_FUNC(clock_gettime, , [AC_CHECK_LIB(rt, clock_gettime)])
+AC_CHECK_FUNC(fegetenv, , [AC_CHECK_LIB(m, fegetenv)])
+
+AC_CHECK_FUNCS([SecureZeroMemory])
+
+AC_SUBST([LIBTOOL_EXTRA_FLAGS])
+
+dnl Libtool.
+
+LT_INIT([dlopen])
+AC_LIBTOOL_WIN32_DLL
+gl_LD_OUTPUT_DEF
+
+dnl Output.
+
+AH_VERBATIM([NDEBUG], [/* Never ever ignore assertions */
+#ifdef NDEBUG
+#/**/undef/**/ NDEBUG
+#endif])
+
+AS_IF([test "x$PKG_CONFIG" != "x"], [
+  AC_CONFIG_FILES([libsodium.pc])
+])
+AC_CONFIG_FILES([Makefile
+                 src/Makefile
+                 src/libsodium/Makefile
+                 src/libsodium/include/Makefile
+                 src/libsodium/include/sodium/version.h
+                 src/libsodium/include/sodium/crypto_scalarmult_curve25519.h
+                 src/libsodium/include/sodium/crypto_stream_salsa20.h
+                 test/default/Makefile
+                 test/Makefile
+                 ])
+AC_OUTPUT
diff --git a/src/libsodium/depcomp b/src/libsodium/depcomp
new file mode 100755
index 00000000..4ebd5b3a
--- /dev/null
+++ b/src/libsodium/depcomp
@@ -0,0 +1,791 @@
+#! /bin/sh
+# depcomp - compile a program generating dependencies as side-effects
+
+scriptversion=2013-05-30.07; # UTC
+
+# Copyright (C) 1999-2013 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+# Originally written by Alexandre Oliva <oliva@dcc.unicamp.br>.
+
+case $1 in
+  '')
+    echo "$0: No command.  Try '$0 --help' for more information." 1>&2
+    exit 1;
+    ;;
+  -h | --h*)
+    cat <<\EOF
+Usage: depcomp [--help] [--version] PROGRAM [ARGS]
+
+Run PROGRAMS ARGS to compile a file, generating dependencies
+as side-effects.
+
+Environment variables:
+  depmode     Dependency tracking mode.
+  source      Source file read by 'PROGRAMS ARGS'.
+  object      Object file output by 'PROGRAMS ARGS'.
+  DEPDIR      directory where to store dependencies.
+  depfile     Dependency file to output.
+  tmpdepfile  Temporary file to use when outputting dependencies.
+  libtool     Whether libtool is used (yes/no).
+
+Report bugs to <bug-automake@gnu.org>.
+EOF
+    exit $?
+    ;;
+  -v | --v*)
+    echo "depcomp $scriptversion"
+    exit $?
+    ;;
+esac
+
+# Get the directory component of the given path, and save it in the
+# global variables '$dir'.  Note that this directory component will
+# be either empty or ending with a '/' character.  This is deliberate.
+set_dir_from ()
+{
+  case $1 in
+    */*) dir=`echo "$1" | sed -e 's|/[^/]*$|/|'`;;
+      *) dir=;;
+  esac
+}
+
+# Get the suffix-stripped basename of the given path, and save it the
+# global variable '$base'.
+set_base_from ()
+{
+  base=`echo "$1" | sed -e 's|^.*/||' -e 's/\.[^.]*$//'`
+}
+
+# If no dependency file was actually created by the compiler invocation,
+# we still have to create a dummy depfile, to avoid errors with the
+# Makefile "include basename.Plo" scheme.
+make_dummy_depfile ()
+{
+  echo "#dummy" > "$depfile"
+}
+
+# Factor out some common post-processing of the generated depfile.
+# Requires the auxiliary global variable '$tmpdepfile' to be set.
+aix_post_process_depfile ()
+{
+  # If the compiler actually managed to produce a dependency file,
+  # post-process it.
+  if test -f "$tmpdepfile"; then
+    # Each line is of the form 'foo.o: dependency.h'.
+    # Do two passes, one to just change these to
+    #   $object: dependency.h
+    # and one to simply output
+    #   dependency.h:
+    # which is needed to avoid the deleted-header problem.
+    { sed -e "s,^.*\.[$lower]*:,$object:," < "$tmpdepfile"
+      sed -e "s,^.*\.[$lower]*:[$tab ]*,," -e 's,$,:,' < "$tmpdepfile"
+    } > "$depfile"
+    rm -f "$tmpdepfile"
+  else
+    make_dummy_depfile
+  fi
+}
+
+# A tabulation character.
+tab='	'
+# A newline character.
+nl='
+'
+# Character ranges might be problematic outside the C locale.
+# These definitions help.
+upper=ABCDEFGHIJKLMNOPQRSTUVWXYZ
+lower=abcdefghijklmnopqrstuvwxyz
+digits=0123456789
+alpha=${upper}${lower}
+
+if test -z "$depmode" || test -z "$source" || test -z "$object"; then
+  echo "depcomp: Variables source, object and depmode must be set" 1>&2
+  exit 1
+fi
+
+# Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po.
+depfile=${depfile-`echo "$object" |
+  sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`}
+tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`}
+
+rm -f "$tmpdepfile"
+
+# Avoid interferences from the environment.
+gccflag= dashmflag=
+
+# Some modes work just like other modes, but use different flags.  We
+# parameterize here, but still list the modes in the big case below,
+# to make depend.m4 easier to write.  Note that we *cannot* use a case
+# here, because this file can only contain one case statement.
+if test "$depmode" = hp; then
+  # HP compiler uses -M and no extra arg.
+  gccflag=-M
+  depmode=gcc
+fi
+
+if test "$depmode" = dashXmstdout; then
+  # This is just like dashmstdout with a different argument.
+  dashmflag=-xM
+  depmode=dashmstdout
+fi
+
+cygpath_u="cygpath -u -f -"
+if test "$depmode" = msvcmsys; then
+  # This is just like msvisualcpp but w/o cygpath translation.
+  # Just convert the backslash-escaped backslashes to single forward
+  # slashes to satisfy depend.m4
+  cygpath_u='sed s,\\\\,/,g'
+  depmode=msvisualcpp
+fi
+
+if test "$depmode" = msvc7msys; then
+  # This is just like msvc7 but w/o cygpath translation.
+  # Just convert the backslash-escaped backslashes to single forward
+  # slashes to satisfy depend.m4
+  cygpath_u='sed s,\\\\,/,g'
+  depmode=msvc7
+fi
+
+if test "$depmode" = xlc; then
+  # IBM C/C++ Compilers xlc/xlC can output gcc-like dependency information.
+  gccflag=-qmakedep=gcc,-MF
+  depmode=gcc
+fi
+
+case "$depmode" in
+gcc3)
+## gcc 3 implements dependency tracking that does exactly what
+## we want.  Yay!  Note: for some reason libtool 1.4 doesn't like
+## it if -MD -MP comes after the -MF stuff.  Hmm.
+## Unfortunately, FreeBSD c89 acceptance of flags depends upon
+## the command line argument order; so add the flags where they
+## appear in depend2.am.  Note that the slowdown incurred here
+## affects only configure: in makefiles, %FASTDEP% shortcuts this.
+  for arg
+  do
+    case $arg in
+    -c) set fnord "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" "$arg" ;;
+    *)  set fnord "$@" "$arg" ;;
+    esac
+    shift # fnord
+    shift # $arg
+  done
+  "$@"
+  stat=$?
+  if test $stat -ne 0; then
+    rm -f "$tmpdepfile"
+    exit $stat
+  fi
+  mv "$tmpdepfile" "$depfile"
+  ;;
+
+gcc)
+## Note that this doesn't just cater to obsosete pre-3.x GCC compilers.
+## but also to in-use compilers like IMB xlc/xlC and the HP C compiler.
+## (see the conditional assignment to $gccflag above).
+## There are various ways to get dependency output from gcc.  Here's
+## why we pick this rather obscure method:
+## - Don't want to use -MD because we'd like the dependencies to end
+##   up in a subdir.  Having to rename by hand is ugly.
+##   (We might end up doing this anyway to support other compilers.)
+## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like
+##   -MM, not -M (despite what the docs say).  Also, it might not be
+##   supported by the other compilers which use the 'gcc' depmode.
+## - Using -M directly means running the compiler twice (even worse
+##   than renaming).
+  if test -z "$gccflag"; then
+    gccflag=-MD,
+  fi
+  "$@" -Wp,"$gccflag$tmpdepfile"
+  stat=$?
+  if test $stat -ne 0; then
+    rm -f "$tmpdepfile"
+    exit $stat
+  fi
+  rm -f "$depfile"
+  echo "$object : \\" > "$depfile"
+  # The second -e expression handles DOS-style file names with drive
+  # letters.
+  sed -e 's/^[^:]*: / /' \
+      -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile"
+## This next piece of magic avoids the "deleted header file" problem.
+## The problem is that when a header file which appears in a .P file
+## is deleted, the dependency causes make to die (because there is
+## typically no way to rebuild the header).  We avoid this by adding
+## dummy dependencies for each header file.  Too bad gcc doesn't do
+## this for us directly.
+## Some versions of gcc put a space before the ':'.  On the theory
+## that the space means something, we add a space to the output as
+## well.  hp depmode also adds that space, but also prefixes the VPATH
+## to the object.  Take care to not repeat it in the output.
+## Some versions of the HPUX 10.20 sed can't process this invocation
+## correctly.  Breaking it into two sed invocations is a workaround.
+  tr ' ' "$nl" < "$tmpdepfile" \
+    | sed -e 's/^\\$//' -e '/^$/d' -e "s|.*$object$||" -e '/:$/d' \
+    | sed -e 's/$/ :/' >> "$depfile"
+  rm -f "$tmpdepfile"
+  ;;
+
+hp)
+  # This case exists only to let depend.m4 do its work.  It works by
+  # looking at the text of this script.  This case will never be run,
+  # since it is checked for above.
+  exit 1
+  ;;
+
+sgi)
+  if test "$libtool" = yes; then
+    "$@" "-Wp,-MDupdate,$tmpdepfile"
+  else
+    "$@" -MDupdate "$tmpdepfile"
+  fi
+  stat=$?
+  if test $stat -ne 0; then
+    rm -f "$tmpdepfile"
+    exit $stat
+  fi
+  rm -f "$depfile"
+
+  if test -f "$tmpdepfile"; then  # yes, the sourcefile depend on other files
+    echo "$object : \\" > "$depfile"
+    # Clip off the initial element (the dependent).  Don't try to be
+    # clever and replace this with sed code, as IRIX sed won't handle
+    # lines with more than a fixed number of characters (4096 in
+    # IRIX 6.2 sed, 8192 in IRIX 6.5).  We also remove comment lines;
+    # the IRIX cc adds comments like '#:fec' to the end of the
+    # dependency line.
+    tr ' ' "$nl" < "$tmpdepfile" \
+      | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' \
+      | tr "$nl" ' ' >> "$depfile"
+    echo >> "$depfile"
+    # The second pass generates a dummy entry for each header file.
+    tr ' ' "$nl" < "$tmpdepfile" \
+      | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \
+      >> "$depfile"
+  else
+    make_dummy_depfile
+  fi
+  rm -f "$tmpdepfile"
+  ;;
+
+xlc)
+  # This case exists only to let depend.m4 do its work.  It works by
+  # looking at the text of this script.  This case will never be run,
+  # since it is checked for above.
+  exit 1
+  ;;
+
+aix)
+  # The C for AIX Compiler uses -M and outputs the dependencies
+  # in a .u file.  In older versions, this file always lives in the
+  # current directory.  Also, the AIX compiler puts '$object:' at the
+  # start of each line; $object doesn't have directory information.
+  # Version 6 uses the directory in both cases.
+  set_dir_from "$object"
+  set_base_from "$object"
+  if test "$libtool" = yes; then
+    tmpdepfile1=$dir$base.u
+    tmpdepfile2=$base.u
+    tmpdepfile3=$dir.libs/$base.u
+    "$@" -Wc,-M
+  else
+    tmpdepfile1=$dir$base.u
+    tmpdepfile2=$dir$base.u
+    tmpdepfile3=$dir$base.u
+    "$@" -M
+  fi
+  stat=$?
+  if test $stat -ne 0; then
+    rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
+    exit $stat
+  fi
+
+  for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
+  do
+    test -f "$tmpdepfile" && break
+  done
+  aix_post_process_depfile
+  ;;
+
+tcc)
+  # tcc (Tiny C Compiler) understand '-MD -MF file' since version 0.9.26
+  # FIXME: That version still under development at the moment of writing.
+  #        Make that this statement remains true also for stable, released
+  #        versions.
+  # It will wrap lines (doesn't matter whether long or short) with a
+  # trailing '\', as in:
+  #
+  #   foo.o : \
+  #    foo.c \
+  #    foo.h \
+  #
+  # It will put a trailing '\' even on the last line, and will use leading
+  # spaces rather than leading tabs (at least since its commit 0394caf7
+  # "Emit spaces for -MD").
+  "$@" -MD -MF "$tmpdepfile"
+  stat=$?
+  if test $stat -ne 0; then
+    rm -f "$tmpdepfile"
+    exit $stat
+  fi
+  rm -f "$depfile"
+  # Each non-empty line is of the form 'foo.o : \' or ' dep.h \'.
+  # We have to change lines of the first kind to '$object: \'.
+  sed -e "s|.*:|$object :|" < "$tmpdepfile" > "$depfile"
+  # And for each line of the second kind, we have to emit a 'dep.h:'
+  # dummy dependency, to avoid the deleted-header problem.
+  sed -n -e 's|^  *\(.*\) *\\$|\1:|p' < "$tmpdepfile" >> "$depfile"
+  rm -f "$tmpdepfile"
+  ;;
+
+## The order of this option in the case statement is important, since the
+## shell code in configure will try each of these formats in the order
+## listed in this file.  A plain '-MD' option would be understood by many
+## compilers, so we must ensure this comes after the gcc and icc options.
+pgcc)
+  # Portland's C compiler understands '-MD'.
+  # Will always output deps to 'file.d' where file is the root name of the
+  # source file under compilation, even if file resides in a subdirectory.
+  # The object file name does not affect the name of the '.d' file.
+  # pgcc 10.2 will output
+  #    foo.o: sub/foo.c sub/foo.h
+  # and will wrap long lines using '\' :
+  #    foo.o: sub/foo.c ... \
+  #     sub/foo.h ... \
+  #     ...
+  set_dir_from "$object"
+  # Use the source, not the object, to determine the base name, since
+  # that's sadly what pgcc will do too.
+  set_base_from "$source"
+  tmpdepfile=$base.d
+
+  # For projects that build the same source file twice into different object
+  # files, the pgcc approach of using the *source* file root name can cause
+  # problems in parallel builds.  Use a locking strategy to avoid stomping on
+  # the same $tmpdepfile.
+  lockdir=$base.d-lock
+  trap "
+    echo '$0: caught signal, cleaning up...' >&2
+    rmdir '$lockdir'
+    exit 1
+  " 1 2 13 15
+  numtries=100
+  i=$numtries
+  while test $i -gt 0; do
+    # mkdir is a portable test-and-set.
+    if mkdir "$lockdir" 2>/dev/null; then
+      # This process acquired the lock.
+      "$@" -MD
+      stat=$?
+      # Release the lock.
+      rmdir "$lockdir"
+      break
+    else
+      # If the lock is being held by a different process, wait
+      # until the winning process is done or we timeout.
+      while test -d "$lockdir" && test $i -gt 0; do
+        sleep 1
+        i=`expr $i - 1`
+      done
+    fi
+    i=`expr $i - 1`
+  done
+  trap - 1 2 13 15
+  if test $i -le 0; then
+    echo "$0: failed to acquire lock after $numtries attempts" >&2
+    echo "$0: check lockdir '$lockdir'" >&2
+    exit 1
+  fi
+
+  if test $stat -ne 0; then
+    rm -f "$tmpdepfile"
+    exit $stat
+  fi
+  rm -f "$depfile"
+  # Each line is of the form `foo.o: dependent.h',
+  # or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'.
+  # Do two passes, one to just change these to
+  # `$object: dependent.h' and one to simply `dependent.h:'.
+  sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile"
+  # Some versions of the HPUX 10.20 sed can't process this invocation
+  # correctly.  Breaking it into two sed invocations is a workaround.
+  sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" \
+    | sed -e 's/$/ :/' >> "$depfile"
+  rm -f "$tmpdepfile"
+  ;;
+
+hp2)
+  # The "hp" stanza above does not work with aCC (C++) and HP's ia64
+  # compilers, which have integrated preprocessors.  The correct option
+  # to use with these is +Maked; it writes dependencies to a file named
+  # 'foo.d', which lands next to the object file, wherever that
+  # happens to be.
+  # Much of this is similar to the tru64 case; see comments there.
+  set_dir_from  "$object"
+  set_base_from "$object"
+  if test "$libtool" = yes; then
+    tmpdepfile1=$dir$base.d
+    tmpdepfile2=$dir.libs/$base.d
+    "$@" -Wc,+Maked
+  else
+    tmpdepfile1=$dir$base.d
+    tmpdepfile2=$dir$base.d
+    "$@" +Maked
+  fi
+  stat=$?
+  if test $stat -ne 0; then
+     rm -f "$tmpdepfile1" "$tmpdepfile2"
+     exit $stat
+  fi
+
+  for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2"
+  do
+    test -f "$tmpdepfile" && break
+  done
+  if test -f "$tmpdepfile"; then
+    sed -e "s,^.*\.[$lower]*:,$object:," "$tmpdepfile" > "$depfile"
+    # Add 'dependent.h:' lines.
+    sed -ne '2,${
+               s/^ *//
+               s/ \\*$//
+               s/$/:/
+               p
+             }' "$tmpdepfile" >> "$depfile"
+  else
+    make_dummy_depfile
+  fi
+  rm -f "$tmpdepfile" "$tmpdepfile2"
+  ;;
+
+tru64)
+  # The Tru64 compiler uses -MD to generate dependencies as a side
+  # effect.  'cc -MD -o foo.o ...' puts the dependencies into 'foo.o.d'.
+  # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put
+  # dependencies in 'foo.d' instead, so we check for that too.
+  # Subdirectories are respected.
+  set_dir_from  "$object"
+  set_base_from "$object"
+
+  if test "$libtool" = yes; then
+    # Libtool generates 2 separate objects for the 2 libraries.  These
+    # two compilations output dependencies in $dir.libs/$base.o.d and
+    # in $dir$base.o.d.  We have to check for both files, because
+    # one of the two compilations can be disabled.  We should prefer
+    # $dir$base.o.d over $dir.libs/$base.o.d because the latter is
+    # automatically cleaned when .libs/ is deleted, while ignoring
+    # the former would cause a distcleancheck panic.
+    tmpdepfile1=$dir$base.o.d          # libtool 1.5
+    tmpdepfile2=$dir.libs/$base.o.d    # Likewise.
+    tmpdepfile3=$dir.libs/$base.d      # Compaq CCC V6.2-504
+    "$@" -Wc,-MD
+  else
+    tmpdepfile1=$dir$base.d
+    tmpdepfile2=$dir$base.d
+    tmpdepfile3=$dir$base.d
+    "$@" -MD
+  fi
+
+  stat=$?
+  if test $stat -ne 0; then
+    rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
+    exit $stat
+  fi
+
+  for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
+  do
+    test -f "$tmpdepfile" && break
+  done
+  # Same post-processing that is required for AIX mode.
+  aix_post_process_depfile
+  ;;
+
+msvc7)
+  if test "$libtool" = yes; then
+    showIncludes=-Wc,-showIncludes
+  else
+    showIncludes=-showIncludes
+  fi
+  "$@" $showIncludes > "$tmpdepfile"
+  stat=$?
+  grep -v '^Note: including file: ' "$tmpdepfile"
+  if test $stat -ne 0; then
+    rm -f "$tmpdepfile"
+    exit $stat
+  fi
+  rm -f "$depfile"
+  echo "$object : \\" > "$depfile"
+  # The first sed program below extracts the file names and escapes
+  # backslashes for cygpath.  The second sed program outputs the file
+  # name when reading, but also accumulates all include files in the
+  # hold buffer in order to output them again at the end.  This only
+  # works with sed implementations that can handle large buffers.
+  sed < "$tmpdepfile" -n '
+/^Note: including file:  *\(.*\)/ {
+  s//\1/
+  s/\\/\\\\/g
+  p
+}' | $cygpath_u | sort -u | sed -n '
+s/ /\\ /g
+s/\(.*\)/'"$tab"'\1 \\/p
+s/.\(.*\) \\/\1:/
+H
+$ {
+  s/.*/'"$tab"'/
+  G
+  p
+}' >> "$depfile"
+  echo >> "$depfile" # make sure the fragment doesn't end with a backslash
+  rm -f "$tmpdepfile"
+  ;;
+
+msvc7msys)
+  # This case exists only to let depend.m4 do its work.  It works by
+  # looking at the text of this script.  This case will never be run,
+  # since it is checked for above.
+  exit 1
+  ;;
+
+#nosideeffect)
+  # This comment above is used by automake to tell side-effect
+  # dependency tracking mechanisms from slower ones.
+
+dashmstdout)
+  # Important note: in order to support this mode, a compiler *must*
+  # always write the preprocessed file to stdout, regardless of -o.
+  "$@" || exit $?
+
+  # Remove the call to Libtool.
+  if test "$libtool" = yes; then
+    while test "X$1" != 'X--mode=compile'; do
+      shift
+    done
+    shift
+  fi
+
+  # Remove '-o $object'.
+  IFS=" "
+  for arg
+  do
+    case $arg in
+    -o)
+      shift
+      ;;
+    $object)
+      shift
+      ;;
+    *)
+      set fnord "$@" "$arg"
+      shift # fnord
+      shift # $arg
+      ;;
+    esac
+  done
+
+  test -z "$dashmflag" && dashmflag=-M
+  # Require at least two characters before searching for ':'
+  # in the target name.  This is to cope with DOS-style filenames:
+  # a dependency such as 'c:/foo/bar' could be seen as target 'c' otherwise.
+  "$@" $dashmflag |
+    sed "s|^[$tab ]*[^:$tab ][^:][^:]*:[$tab ]*|$object: |" > "$tmpdepfile"
+  rm -f "$depfile"
+  cat < "$tmpdepfile" > "$depfile"
+  # Some versions of the HPUX 10.20 sed can't process this sed invocation
+  # correctly.  Breaking it into two sed invocations is a workaround.
+  tr ' ' "$nl" < "$tmpdepfile" \
+    | sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' \
+    | sed -e 's/$/ :/' >> "$depfile"
+  rm -f "$tmpdepfile"
+  ;;
+
+dashXmstdout)
+  # This case only exists to satisfy depend.m4.  It is never actually
+  # run, as this mode is specially recognized in the preamble.
+  exit 1
+  ;;
+
+makedepend)
+  "$@" || exit $?
+  # Remove any Libtool call
+  if test "$libtool" = yes; then
+    while test "X$1" != 'X--mode=compile'; do
+      shift
+    done
+    shift
+  fi
+  # X makedepend
+  shift
+  cleared=no eat=no
+  for arg
+  do
+    case $cleared in
+    no)
+      set ""; shift
+      cleared=yes ;;
+    esac
+    if test $eat = yes; then
+      eat=no
+      continue
+    fi
+    case "$arg" in
+    -D*|-I*)
+      set fnord "$@" "$arg"; shift ;;
+    # Strip any option that makedepend may not understand.  Remove
+    # the object too, otherwise makedepend will parse it as a source file.
+    -arch)
+      eat=yes ;;
+    -*|$object)
+      ;;
+    *)
+      set fnord "$@" "$arg"; shift ;;
+    esac
+  done
+  obj_suffix=`echo "$object" | sed 's/^.*\././'`
+  touch "$tmpdepfile"
+  ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@"
+  rm -f "$depfile"
+  # makedepend may prepend the VPATH from the source file name to the object.
+  # No need to regex-escape $object, excess matching of '.' is harmless.
+  sed "s|^.*\($object *:\)|\1|" "$tmpdepfile" > "$depfile"
+  # Some versions of the HPUX 10.20 sed can't process the last invocation
+  # correctly.  Breaking it into two sed invocations is a workaround.
+  sed '1,2d' "$tmpdepfile" \
+    | tr ' ' "$nl" \
+    | sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' \
+    | sed -e 's/$/ :/' >> "$depfile"
+  rm -f "$tmpdepfile" "$tmpdepfile".bak
+  ;;
+
+cpp)
+  # Important note: in order to support this mode, a compiler *must*
+  # always write the preprocessed file to stdout.
+  "$@" || exit $?
+
+  # Remove the call to Libtool.
+  if test "$libtool" = yes; then
+    while test "X$1" != 'X--mode=compile'; do
+      shift
+    done
+    shift
+  fi
+
+  # Remove '-o $object'.
+  IFS=" "
+  for arg
+  do
+    case $arg in
+    -o)
+      shift
+      ;;
+    $object)
+      shift
+      ;;
+    *)
+      set fnord "$@" "$arg"
+      shift # fnord
+      shift # $arg
+      ;;
+    esac
+  done
+
+  "$@" -E \
+    | sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
+             -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
+    | sed '$ s: \\$::' > "$tmpdepfile"
+  rm -f "$depfile"
+  echo "$object : \\" > "$depfile"
+  cat < "$tmpdepfile" >> "$depfile"
+  sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile"
+  rm -f "$tmpdepfile"
+  ;;
+
+msvisualcpp)
+  # Important note: in order to support this mode, a compiler *must*
+  # always write the preprocessed file to stdout.
+  "$@" || exit $?
+
+  # Remove the call to Libtool.
+  if test "$libtool" = yes; then
+    while test "X$1" != 'X--mode=compile'; do
+      shift
+    done
+    shift
+  fi
+
+  IFS=" "
+  for arg
+  do
+    case "$arg" in
+    -o)
+      shift
+      ;;
+    $object)
+      shift
+      ;;
+    "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI")
+        set fnord "$@"
+        shift
+        shift
+        ;;
+    *)
+        set fnord "$@" "$arg"
+        shift
+        shift
+        ;;
+    esac
+  done
+  "$@" -E 2>/dev/null |
+  sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::\1:p' | $cygpath_u | sort -u > "$tmpdepfile"
+  rm -f "$depfile"
+  echo "$object : \\" > "$depfile"
+  sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::'"$tab"'\1 \\:p' >> "$depfile"
+  echo "$tab" >> "$depfile"
+  sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::\1\::p' >> "$depfile"
+  rm -f "$tmpdepfile"
+  ;;
+
+msvcmsys)
+  # This case exists only to let depend.m4 do its work.  It works by
+  # looking at the text of this script.  This case will never be run,
+  # since it is checked for above.
+  exit 1
+  ;;
+
+none)
+  exec "$@"
+  ;;
+
+*)
+  echo "Unknown depmode $depmode" 1>&2
+  exit 1
+  ;;
+esac
+
+exit 0
+
+# Local Variables:
+# mode: shell-script
+# sh-indentation: 2
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "scriptversion="
+# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-time-zone: "UTC"
+# time-stamp-end: "; # UTC"
+# End:
diff --git a/src/libsodium/install-sh b/src/libsodium/install-sh
new file mode 100755
index 00000000..377bb868
--- /dev/null
+++ b/src/libsodium/install-sh
@@ -0,0 +1,527 @@
+#!/bin/sh
+# install - install a program, script, or datafile
+
+scriptversion=2011-11-20.07; # UTC
+
+# This originates from X11R5 (mit/util/scripts/install.sh), which was
+# later released in X11R6 (xc/config/util/install.sh) with the
+# following copyright and license.
+#
+# Copyright (C) 1994 X Consortium
+#
+# Permission is hereby granted, free of charge, to any person obtaining a copy
+# of this software and associated documentation files (the "Software"), to
+# deal in the Software without restriction, including without limitation the
+# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
+# sell copies of the Software, and to permit persons to whom the Software is
+# furnished to do so, subject to the following conditions:
+#
+# The above copyright notice and this permission notice shall be included in
+# all copies or substantial portions of the Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
+# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC-
+# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+#
+# Except as contained in this notice, the name of the X Consortium shall not
+# be used in advertising or otherwise to promote the sale, use or other deal-
+# ings in this Software without prior written authorization from the X Consor-
+# tium.
+#
+#
+# FSF changes to this file are in the public domain.
+#
+# Calling this script install-sh is preferred over install.sh, to prevent
+# 'make' implicit rules from creating a file called install from it
+# when there is no Makefile.
+#
+# This script is compatible with the BSD install script, but was written
+# from scratch.
+
+nl='
+'
+IFS=" ""	$nl"
+
+# set DOITPROG to echo to test this script
+
+# Don't use :- since 4.3BSD and earlier shells don't like it.
+doit=${DOITPROG-}
+if test -z "$doit"; then
+  doit_exec=exec
+else
+  doit_exec=$doit
+fi
+
+# Put in absolute file names if you don't have them in your path;
+# or use environment vars.
+
+chgrpprog=${CHGRPPROG-chgrp}
+chmodprog=${CHMODPROG-chmod}
+chownprog=${CHOWNPROG-chown}
+cmpprog=${CMPPROG-cmp}
+cpprog=${CPPROG-cp}
+mkdirprog=${MKDIRPROG-mkdir}
+mvprog=${MVPROG-mv}
+rmprog=${RMPROG-rm}
+stripprog=${STRIPPROG-strip}
+
+posix_glob='?'
+initialize_posix_glob='
+  test "$posix_glob" != "?" || {
+    if (set -f) 2>/dev/null; then
+      posix_glob=
+    else
+      posix_glob=:
+    fi
+  }
+'
+
+posix_mkdir=
+
+# Desired mode of installed file.
+mode=0755
+
+chgrpcmd=
+chmodcmd=$chmodprog
+chowncmd=
+mvcmd=$mvprog
+rmcmd="$rmprog -f"
+stripcmd=
+
+src=
+dst=
+dir_arg=
+dst_arg=
+
+copy_on_change=false
+no_target_directory=
+
+usage="\
+Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE
+   or: $0 [OPTION]... SRCFILES... DIRECTORY
+   or: $0 [OPTION]... -t DIRECTORY SRCFILES...
+   or: $0 [OPTION]... -d DIRECTORIES...
+
+In the 1st form, copy SRCFILE to DSTFILE.
+In the 2nd and 3rd, copy all SRCFILES to DIRECTORY.
+In the 4th, create DIRECTORIES.
+
+Options:
+     --help     display this help and exit.
+     --version  display version info and exit.
+
+  -c            (ignored)
+  -C            install only if different (preserve the last data modification time)
+  -d            create directories instead of installing files.
+  -g GROUP      $chgrpprog installed files to GROUP.
+  -m MODE       $chmodprog installed files to MODE.
+  -o USER       $chownprog installed files to USER.
+  -s            $stripprog installed files.
+  -t DIRECTORY  install into DIRECTORY.
+  -T            report an error if DSTFILE is a directory.
+
+Environment variables override the default commands:
+  CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG
+  RMPROG STRIPPROG
+"
+
+while test $# -ne 0; do
+  case $1 in
+    -c) ;;
+
+    -C) copy_on_change=true;;
+
+    -d) dir_arg=true;;
+
+    -g) chgrpcmd="$chgrpprog $2"
+	shift;;
+
+    --help) echo "$usage"; exit $?;;
+
+    -m) mode=$2
+	case $mode in
+	  *' '* | *'	'* | *'
+'*	  | *'*'* | *'?'* | *'['*)
+	    echo "$0: invalid mode: $mode" >&2
+	    exit 1;;
+	esac
+	shift;;
+
+    -o) chowncmd="$chownprog $2"
+	shift;;
+
+    -s) stripcmd=$stripprog;;
+
+    -t) dst_arg=$2
+	# Protect names problematic for 'test' and other utilities.
+	case $dst_arg in
+	  -* | [=\(\)!]) dst_arg=./$dst_arg;;
+	esac
+	shift;;
+
+    -T) no_target_directory=true;;
+
+    --version) echo "$0 $scriptversion"; exit $?;;
+
+    --)	shift
+	break;;
+
+    -*)	echo "$0: invalid option: $1" >&2
+	exit 1;;
+
+    *)  break;;
+  esac
+  shift
+done
+
+if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then
+  # When -d is used, all remaining arguments are directories to create.
+  # When -t is used, the destination is already specified.
+  # Otherwise, the last argument is the destination.  Remove it from $@.
+  for arg
+  do
+    if test -n "$dst_arg"; then
+      # $@ is not empty: it contains at least $arg.
+      set fnord "$@" "$dst_arg"
+      shift # fnord
+    fi
+    shift # arg
+    dst_arg=$arg
+    # Protect names problematic for 'test' and other utilities.
+    case $dst_arg in
+      -* | [=\(\)!]) dst_arg=./$dst_arg;;
+    esac
+  done
+fi
+
+if test $# -eq 0; then
+  if test -z "$dir_arg"; then
+    echo "$0: no input file specified." >&2
+    exit 1
+  fi
+  # It's OK to call 'install-sh -d' without argument.
+  # This can happen when creating conditional directories.
+  exit 0
+fi
+
+if test -z "$dir_arg"; then
+  do_exit='(exit $ret); exit $ret'
+  trap "ret=129; $do_exit" 1
+  trap "ret=130; $do_exit" 2
+  trap "ret=141; $do_exit" 13
+  trap "ret=143; $do_exit" 15
+
+  # Set umask so as not to create temps with too-generous modes.
+  # However, 'strip' requires both read and write access to temps.
+  case $mode in
+    # Optimize common cases.
+    *644) cp_umask=133;;
+    *755) cp_umask=22;;
+
+    *[0-7])
+      if test -z "$stripcmd"; then
+	u_plus_rw=
+      else
+	u_plus_rw='% 200'
+      fi
+      cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;;
+    *)
+      if test -z "$stripcmd"; then
+	u_plus_rw=
+      else
+	u_plus_rw=,u+rw
+      fi
+      cp_umask=$mode$u_plus_rw;;
+  esac
+fi
+
+for src
+do
+  # Protect names problematic for 'test' and other utilities.
+  case $src in
+    -* | [=\(\)!]) src=./$src;;
+  esac
+
+  if test -n "$dir_arg"; then
+    dst=$src
+    dstdir=$dst
+    test -d "$dstdir"
+    dstdir_status=$?
+  else
+
+    # Waiting for this to be detected by the "$cpprog $src $dsttmp" command
+    # might cause directories to be created, which would be especially bad
+    # if $src (and thus $dsttmp) contains '*'.
+    if test ! -f "$src" && test ! -d "$src"; then
+      echo "$0: $src does not exist." >&2
+      exit 1
+    fi
+
+    if test -z "$dst_arg"; then
+      echo "$0: no destination specified." >&2
+      exit 1
+    fi
+    dst=$dst_arg
+
+    # If destination is a directory, append the input filename; won't work
+    # if double slashes aren't ignored.
+    if test -d "$dst"; then
+      if test -n "$no_target_directory"; then
+	echo "$0: $dst_arg: Is a directory" >&2
+	exit 1
+      fi
+      dstdir=$dst
+      dst=$dstdir/`basename "$src"`
+      dstdir_status=0
+    else
+      # Prefer dirname, but fall back on a substitute if dirname fails.
+      dstdir=`
+	(dirname "$dst") 2>/dev/null ||
+	expr X"$dst" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+	     X"$dst" : 'X\(//\)[^/]' \| \
+	     X"$dst" : 'X\(//\)$' \| \
+	     X"$dst" : 'X\(/\)' \| . 2>/dev/null ||
+	echo X"$dst" |
+	    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+		   s//\1/
+		   q
+		 }
+		 /^X\(\/\/\)[^/].*/{
+		   s//\1/
+		   q
+		 }
+		 /^X\(\/\/\)$/{
+		   s//\1/
+		   q
+		 }
+		 /^X\(\/\).*/{
+		   s//\1/
+		   q
+		 }
+		 s/.*/./; q'
+      `
+
+      test -d "$dstdir"
+      dstdir_status=$?
+    fi
+  fi
+
+  obsolete_mkdir_used=false
+
+  if test $dstdir_status != 0; then
+    case $posix_mkdir in
+      '')
+	# Create intermediate dirs using mode 755 as modified by the umask.
+	# This is like FreeBSD 'install' as of 1997-10-28.
+	umask=`umask`
+	case $stripcmd.$umask in
+	  # Optimize common cases.
+	  *[2367][2367]) mkdir_umask=$umask;;
+	  .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;;
+
+	  *[0-7])
+	    mkdir_umask=`expr $umask + 22 \
+	      - $umask % 100 % 40 + $umask % 20 \
+	      - $umask % 10 % 4 + $umask % 2
+	    `;;
+	  *) mkdir_umask=$umask,go-w;;
+	esac
+
+	# With -d, create the new directory with the user-specified mode.
+	# Otherwise, rely on $mkdir_umask.
+	if test -n "$dir_arg"; then
+	  mkdir_mode=-m$mode
+	else
+	  mkdir_mode=
+	fi
+
+	posix_mkdir=false
+	case $umask in
+	  *[123567][0-7][0-7])
+	    # POSIX mkdir -p sets u+wx bits regardless of umask, which
+	    # is incompatible with FreeBSD 'install' when (umask & 300) != 0.
+	    ;;
+	  *)
+	    tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
+	    trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0
+
+	    if (umask $mkdir_umask &&
+		exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1
+	    then
+	      if test -z "$dir_arg" || {
+		   # Check for POSIX incompatibilities with -m.
+		   # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
+		   # other-writable bit of parent directory when it shouldn't.
+		   # FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
+		   ls_ld_tmpdir=`ls -ld "$tmpdir"`
+		   case $ls_ld_tmpdir in
+		     d????-?r-*) different_mode=700;;
+		     d????-?--*) different_mode=755;;
+		     *) false;;
+		   esac &&
+		   $mkdirprog -m$different_mode -p -- "$tmpdir" && {
+		     ls_ld_tmpdir_1=`ls -ld "$tmpdir"`
+		     test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"
+		   }
+		 }
+	      then posix_mkdir=:
+	      fi
+	      rmdir "$tmpdir/d" "$tmpdir"
+	    else
+	      # Remove any dirs left behind by ancient mkdir implementations.
+	      rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null
+	    fi
+	    trap '' 0;;
+	esac;;
+    esac
+
+    if
+      $posix_mkdir && (
+	umask $mkdir_umask &&
+	$doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir"
+      )
+    then :
+    else
+
+      # The umask is ridiculous, or mkdir does not conform to POSIX,
+      # or it failed possibly due to a race condition.  Create the
+      # directory the slow way, step by step, checking for races as we go.
+
+      case $dstdir in
+	/*) prefix='/';;
+	[-=\(\)!]*) prefix='./';;
+	*)  prefix='';;
+      esac
+
+      eval "$initialize_posix_glob"
+
+      oIFS=$IFS
+      IFS=/
+      $posix_glob set -f
+      set fnord $dstdir
+      shift
+      $posix_glob set +f
+      IFS=$oIFS
+
+      prefixes=
+
+      for d
+      do
+	test X"$d" = X && continue
+
+	prefix=$prefix$d
+	if test -d "$prefix"; then
+	  prefixes=
+	else
+	  if $posix_mkdir; then
+	    (umask=$mkdir_umask &&
+	     $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break
+	    # Don't fail if two instances are running concurrently.
+	    test -d "$prefix" || exit 1
+	  else
+	    case $prefix in
+	      *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;;
+	      *) qprefix=$prefix;;
+	    esac
+	    prefixes="$prefixes '$qprefix'"
+	  fi
+	fi
+	prefix=$prefix/
+      done
+
+      if test -n "$prefixes"; then
+	# Don't fail if two instances are running concurrently.
+	(umask $mkdir_umask &&
+	 eval "\$doit_exec \$mkdirprog $prefixes") ||
+	  test -d "$dstdir" || exit 1
+	obsolete_mkdir_used=true
+      fi
+    fi
+  fi
+
+  if test -n "$dir_arg"; then
+    { test -z "$chowncmd" || $doit $chowncmd "$dst"; } &&
+    { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } &&
+    { test "$obsolete_mkdir_used$chowncmd$chgrpcmd" = false ||
+      test -z "$chmodcmd" || $doit $chmodcmd $mode "$dst"; } || exit 1
+  else
+
+    # Make a couple of temp file names in the proper directory.
+    dsttmp=$dstdir/_inst.$$_
+    rmtmp=$dstdir/_rm.$$_
+
+    # Trap to clean up those temp files at exit.
+    trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0
+
+    # Copy the file name to the temp name.
+    (umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") &&
+
+    # and set any options; do chmod last to preserve setuid bits.
+    #
+    # If any of these fail, we abort the whole thing.  If we want to
+    # ignore errors from any of these, just make sure not to ignore
+    # errors from the above "$doit $cpprog $src $dsttmp" command.
+    #
+    { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } &&
+    { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } &&
+    { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } &&
+    { test -z "$chmodcmd" || $doit $chmodcmd $mode "$dsttmp"; } &&
+
+    # If -C, don't bother to copy if it wouldn't change the file.
+    if $copy_on_change &&
+       old=`LC_ALL=C ls -dlL "$dst"	2>/dev/null` &&
+       new=`LC_ALL=C ls -dlL "$dsttmp"	2>/dev/null` &&
+
+       eval "$initialize_posix_glob" &&
+       $posix_glob set -f &&
+       set X $old && old=:$2:$4:$5:$6 &&
+       set X $new && new=:$2:$4:$5:$6 &&
+       $posix_glob set +f &&
+
+       test "$old" = "$new" &&
+       $cmpprog "$dst" "$dsttmp" >/dev/null 2>&1
+    then
+      rm -f "$dsttmp"
+    else
+      # Rename the file to the real destination.
+      $doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null ||
+
+      # The rename failed, perhaps because mv can't rename something else
+      # to itself, or perhaps because mv is so ancient that it does not
+      # support -f.
+      {
+	# Now remove or move aside any old file at destination location.
+	# We try this two ways since rm can't unlink itself on some
+	# systems and the destination file might be busy for other
+	# reasons.  In this case, the final cleanup might fail but the new
+	# file should still install successfully.
+	{
+	  test ! -f "$dst" ||
+	  $doit $rmcmd -f "$dst" 2>/dev/null ||
+	  { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null &&
+	    { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; }
+	  } ||
+	  { echo "$0: cannot unlink or rename $dst" >&2
+	    (exit 1); exit 1
+	  }
+	} &&
+
+	# Now rename the file to the real destination.
+	$doit $mvcmd "$dsttmp" "$dst"
+      }
+    fi || exit 1
+
+    trap '' 0
+  fi
+done
+
+# Local variables:
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "scriptversion="
+# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-time-zone: "UTC"
+# time-stamp-end: "; # UTC"
+# End:
diff --git a/src/libsodium/libsodium.pc.in b/src/libsodium/libsodium.pc.in
new file mode 100644
index 00000000..c1d43725
--- /dev/null
+++ b/src/libsodium/libsodium.pc.in
@@ -0,0 +1,11 @@
+prefix=@prefix@
+exec_prefix=@prefix@
+libdir=@libdir@
+includedir=@includedir@
+
+Name: @PACKAGE_NAME@
+Version: @PACKAGE_VERSION@
+Description: A portable, cross-compilable, installable, packageable fork of NaCl, with a compatible API.
+
+Libs: -L${libdir} -lsodium
+Cflags: -I${includedir}
diff --git a/src/libsodium/ltmain.sh b/src/libsodium/ltmain.sh
new file mode 100644
index 00000000..63ae69dc
--- /dev/null
+++ b/src/libsodium/ltmain.sh
@@ -0,0 +1,9655 @@
+
+# libtool (GNU libtool) 2.4.2
+# Written by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
+
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006,
+# 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
+# This is free software; see the source for copying conditions.  There is NO
+# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+# GNU Libtool is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# As a special exception to the GNU General Public License,
+# if you distribute this file as part of a program or library that
+# is built using GNU Libtool, you may include this file under the
+# same distribution terms that you use for the rest of that program.
+#
+# GNU Libtool is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with GNU Libtool; see the file COPYING.  If not, a copy
+# can be downloaded from http://www.gnu.org/licenses/gpl.html,
+# or obtained by writing to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+
+# Usage: $progname [OPTION]... [MODE-ARG]...
+#
+# Provide generalized library-building support services.
+#
+#       --config             show all configuration variables
+#       --debug              enable verbose shell tracing
+#   -n, --dry-run            display commands without modifying any files
+#       --features           display basic configuration information and exit
+#       --mode=MODE          use operation mode MODE
+#       --preserve-dup-deps  don't remove duplicate dependency libraries
+#       --quiet, --silent    don't print informational messages
+#       --no-quiet, --no-silent
+#                            print informational messages (default)
+#       --no-warn            don't display warning messages
+#       --tag=TAG            use configuration variables from tag TAG
+#   -v, --verbose            print more informational messages than default
+#       --no-verbose         don't print the extra informational messages
+#       --version            print version information
+#   -h, --help, --help-all   print short, long, or detailed help message
+#
+# MODE must be one of the following:
+#
+#         clean              remove files from the build directory
+#         compile            compile a source file into a libtool object
+#         execute            automatically set library path, then run a program
+#         finish             complete the installation of libtool libraries
+#         install            install libraries or executables
+#         link               create a library or an executable
+#         uninstall          remove libraries from an installed directory
+#
+# MODE-ARGS vary depending on the MODE.  When passed as first option,
+# `--mode=MODE' may be abbreviated as `MODE' or a unique abbreviation of that.
+# Try `$progname --help --mode=MODE' for a more detailed description of MODE.
+#
+# When reporting a bug, please describe a test case to reproduce it and
+# include the following information:
+#
+#         host-triplet:	$host
+#         shell:		$SHELL
+#         compiler:		$LTCC
+#         compiler flags:		$LTCFLAGS
+#         linker:		$LD (gnu? $with_gnu_ld)
+#         $progname:	(GNU libtool) 2.4.2
+#         automake:	$automake_version
+#         autoconf:	$autoconf_version
+#
+# Report bugs to <bug-libtool@gnu.org>.
+# GNU libtool home page: <http://www.gnu.org/software/libtool/>.
+# General help using GNU software: <http://www.gnu.org/gethelp/>.
+
+PROGRAM=libtool
+PACKAGE=libtool
+VERSION=2.4.2
+TIMESTAMP=""
+package_revision=1.3337
+
+# Be Bourne compatible
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+  emulate sh
+  NULLCMD=:
+  # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
+  # is contrary to our usage.  Disable this feature.
+  alias -g '${1+"$@"}'='"$@"'
+  setopt NO_GLOB_SUBST
+else
+  case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac
+fi
+BIN_SH=xpg4; export BIN_SH # for Tru64
+DUALCASE=1; export DUALCASE # for MKS sh
+
+# A function that is used when there is no print builtin or printf.
+func_fallback_echo ()
+{
+  eval 'cat <<_LTECHO_EOF
+$1
+_LTECHO_EOF'
+}
+
+# NLS nuisances: We save the old values to restore during execute mode.
+lt_user_locale=
+lt_safe_locale=
+for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES
+do
+  eval "if test \"\${$lt_var+set}\" = set; then
+          save_$lt_var=\$$lt_var
+          $lt_var=C
+	  export $lt_var
+	  lt_user_locale=\"$lt_var=\\\$save_\$lt_var; \$lt_user_locale\"
+	  lt_safe_locale=\"$lt_var=C; \$lt_safe_locale\"
+	fi"
+done
+LC_ALL=C
+LANGUAGE=C
+export LANGUAGE LC_ALL
+
+$lt_unset CDPATH
+
+
+# Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh
+# is ksh but when the shell is invoked as "sh" and the current value of
+# the _XPG environment variable is not equal to 1 (one), the special
+# positional parameter $0, within a function call, is the name of the
+# function.
+progpath="$0"
+
+
+
+: ${CP="cp -f"}
+test "${ECHO+set}" = set || ECHO=${as_echo-'printf %s\n'}
+: ${MAKE="make"}
+: ${MKDIR="mkdir"}
+: ${MV="mv -f"}
+: ${RM="rm -f"}
+: ${SHELL="${CONFIG_SHELL-/bin/sh}"}
+: ${Xsed="$SED -e 1s/^X//"}
+
+# Global variables:
+EXIT_SUCCESS=0
+EXIT_FAILURE=1
+EXIT_MISMATCH=63  # $? = 63 is used to indicate version mismatch to missing.
+EXIT_SKIP=77	  # $? = 77 is used to indicate a skipped test to automake.
+
+exit_status=$EXIT_SUCCESS
+
+# Make sure IFS has a sensible default
+lt_nl='
+'
+IFS=" 	$lt_nl"
+
+dirname="s,/[^/]*$,,"
+basename="s,^.*/,,"
+
+# func_dirname file append nondir_replacement
+# Compute the dirname of FILE.  If nonempty, add APPEND to the result,
+# otherwise set result to NONDIR_REPLACEMENT.
+func_dirname ()
+{
+    func_dirname_result=`$ECHO "${1}" | $SED "$dirname"`
+    if test "X$func_dirname_result" = "X${1}"; then
+      func_dirname_result="${3}"
+    else
+      func_dirname_result="$func_dirname_result${2}"
+    fi
+} # func_dirname may be replaced by extended shell implementation
+
+
+# func_basename file
+func_basename ()
+{
+    func_basename_result=`$ECHO "${1}" | $SED "$basename"`
+} # func_basename may be replaced by extended shell implementation
+
+
+# func_dirname_and_basename file append nondir_replacement
+# perform func_basename and func_dirname in a single function
+# call:
+#   dirname:  Compute the dirname of FILE.  If nonempty,
+#             add APPEND to the result, otherwise set result
+#             to NONDIR_REPLACEMENT.
+#             value returned in "$func_dirname_result"
+#   basename: Compute filename of FILE.
+#             value retuned in "$func_basename_result"
+# Implementation must be kept synchronized with func_dirname
+# and func_basename. For efficiency, we do not delegate to
+# those functions but instead duplicate the functionality here.
+func_dirname_and_basename ()
+{
+    # Extract subdirectory from the argument.
+    func_dirname_result=`$ECHO "${1}" | $SED -e "$dirname"`
+    if test "X$func_dirname_result" = "X${1}"; then
+      func_dirname_result="${3}"
+    else
+      func_dirname_result="$func_dirname_result${2}"
+    fi
+    func_basename_result=`$ECHO "${1}" | $SED -e "$basename"`
+} # func_dirname_and_basename may be replaced by extended shell implementation
+
+
+# func_stripname prefix suffix name
+# strip PREFIX and SUFFIX off of NAME.
+# PREFIX and SUFFIX must not contain globbing or regex special
+# characters, hashes, percent signs, but SUFFIX may contain a leading
+# dot (in which case that matches only a dot).
+# func_strip_suffix prefix name
+func_stripname ()
+{
+    case ${2} in
+      .*) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%\\\\${2}\$%%"`;;
+      *)  func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%${2}\$%%"`;;
+    esac
+} # func_stripname may be replaced by extended shell implementation
+
+
+# These SED scripts presuppose an absolute path with a trailing slash.
+pathcar='s,^/\([^/]*\).*$,\1,'
+pathcdr='s,^/[^/]*,,'
+removedotparts=':dotsl
+		s@/\./@/@g
+		t dotsl
+		s,/\.$,/,'
+collapseslashes='s@/\{1,\}@/@g'
+finalslash='s,/*$,/,'
+
+# func_normal_abspath PATH
+# Remove doubled-up and trailing slashes, "." path components,
+# and cancel out any ".." path components in PATH after making
+# it an absolute path.
+#             value returned in "$func_normal_abspath_result"
+func_normal_abspath ()
+{
+  # Start from root dir and reassemble the path.
+  func_normal_abspath_result=
+  func_normal_abspath_tpath=$1
+  func_normal_abspath_altnamespace=
+  case $func_normal_abspath_tpath in
+    "")
+      # Empty path, that just means $cwd.
+      func_stripname '' '/' "`pwd`"
+      func_normal_abspath_result=$func_stripname_result
+      return
+    ;;
+    # The next three entries are used to spot a run of precisely
+    # two leading slashes without using negated character classes;
+    # we take advantage of case's first-match behaviour.
+    ///*)
+      # Unusual form of absolute path, do nothing.
+    ;;
+    //*)
+      # Not necessarily an ordinary path; POSIX reserves leading '//'
+      # and for example Cygwin uses it to access remote file shares
+      # over CIFS/SMB, so we conserve a leading double slash if found.
+      func_normal_abspath_altnamespace=/
+    ;;
+    /*)
+      # Absolute path, do nothing.
+    ;;
+    *)
+      # Relative path, prepend $cwd.
+      func_normal_abspath_tpath=`pwd`/$func_normal_abspath_tpath
+    ;;
+  esac
+  # Cancel out all the simple stuff to save iterations.  We also want
+  # the path to end with a slash for ease of parsing, so make sure
+  # there is one (and only one) here.
+  func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \
+        -e "$removedotparts" -e "$collapseslashes" -e "$finalslash"`
+  while :; do
+    # Processed it all yet?
+    if test "$func_normal_abspath_tpath" = / ; then
+      # If we ascended to the root using ".." the result may be empty now.
+      if test -z "$func_normal_abspath_result" ; then
+        func_normal_abspath_result=/
+      fi
+      break
+    fi
+    func_normal_abspath_tcomponent=`$ECHO "$func_normal_abspath_tpath" | $SED \
+        -e "$pathcar"`
+    func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \
+        -e "$pathcdr"`
+    # Figure out what to do with it
+    case $func_normal_abspath_tcomponent in
+      "")
+        # Trailing empty path component, ignore it.
+      ;;
+      ..)
+        # Parent dir; strip last assembled component from result.
+        func_dirname "$func_normal_abspath_result"
+        func_normal_abspath_result=$func_dirname_result
+      ;;
+      *)
+        # Actual path component, append it.
+        func_normal_abspath_result=$func_normal_abspath_result/$func_normal_abspath_tcomponent
+      ;;
+    esac
+  done
+  # Restore leading double-slash if one was found on entry.
+  func_normal_abspath_result=$func_normal_abspath_altnamespace$func_normal_abspath_result
+}
+
+# func_relative_path SRCDIR DSTDIR
+# generates a relative path from SRCDIR to DSTDIR, with a trailing
+# slash if non-empty, suitable for immediately appending a filename
+# without needing to append a separator.
+#             value returned in "$func_relative_path_result"
+func_relative_path ()
+{
+  func_relative_path_result=
+  func_normal_abspath "$1"
+  func_relative_path_tlibdir=$func_normal_abspath_result
+  func_normal_abspath "$2"
+  func_relative_path_tbindir=$func_normal_abspath_result
+
+  # Ascend the tree starting from libdir
+  while :; do
+    # check if we have found a prefix of bindir
+    case $func_relative_path_tbindir in
+      $func_relative_path_tlibdir)
+        # found an exact match
+        func_relative_path_tcancelled=
+        break
+        ;;
+      $func_relative_path_tlibdir*)
+        # found a matching prefix
+        func_stripname "$func_relative_path_tlibdir" '' "$func_relative_path_tbindir"
+        func_relative_path_tcancelled=$func_stripname_result
+        if test -z "$func_relative_path_result"; then
+          func_relative_path_result=.
+        fi
+        break
+        ;;
+      *)
+        func_dirname $func_relative_path_tlibdir
+        func_relative_path_tlibdir=${func_dirname_result}
+        if test "x$func_relative_path_tlibdir" = x ; then
+          # Have to descend all the way to the root!
+          func_relative_path_result=../$func_relative_path_result
+          func_relative_path_tcancelled=$func_relative_path_tbindir
+          break
+        fi
+        func_relative_path_result=../$func_relative_path_result
+        ;;
+    esac
+  done
+
+  # Now calculate path; take care to avoid doubling-up slashes.
+  func_stripname '' '/' "$func_relative_path_result"
+  func_relative_path_result=$func_stripname_result
+  func_stripname '/' '/' "$func_relative_path_tcancelled"
+  if test "x$func_stripname_result" != x ; then
+    func_relative_path_result=${func_relative_path_result}/${func_stripname_result}
+  fi
+
+  # Normalisation. If bindir is libdir, return empty string,
+  # else relative path ending with a slash; either way, target
+  # file name can be directly appended.
+  if test ! -z "$func_relative_path_result"; then
+    func_stripname './' '' "$func_relative_path_result/"
+    func_relative_path_result=$func_stripname_result
+  fi
+}
+
+# The name of this program:
+func_dirname_and_basename "$progpath"
+progname=$func_basename_result
+
+# Make sure we have an absolute path for reexecution:
+case $progpath in
+  [\\/]*|[A-Za-z]:\\*) ;;
+  *[\\/]*)
+     progdir=$func_dirname_result
+     progdir=`cd "$progdir" && pwd`
+     progpath="$progdir/$progname"
+     ;;
+  *)
+     save_IFS="$IFS"
+     IFS=${PATH_SEPARATOR-:}
+     for progdir in $PATH; do
+       IFS="$save_IFS"
+       test -x "$progdir/$progname" && break
+     done
+     IFS="$save_IFS"
+     test -n "$progdir" || progdir=`pwd`
+     progpath="$progdir/$progname"
+     ;;
+esac
+
+# Sed substitution that helps us do robust quoting.  It backslashifies
+# metacharacters that are still active within double-quoted strings.
+Xsed="${SED}"' -e 1s/^X//'
+sed_quote_subst='s/\([`"$\\]\)/\\\1/g'
+
+# Same as above, but do not quote variable references.
+double_quote_subst='s/\(["`\\]\)/\\\1/g'
+
+# Sed substitution that turns a string into a regex matching for the
+# string literally.
+sed_make_literal_regex='s,[].[^$\\*\/],\\&,g'
+
+# Sed substitution that converts a w32 file name or path
+# which contains forward slashes, into one that contains
+# (escaped) backslashes.  A very naive implementation.
+lt_sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g'
+
+# Re-`\' parameter expansions in output of double_quote_subst that were
+# `\'-ed in input to the same.  If an odd number of `\' preceded a '$'
+# in input to double_quote_subst, that '$' was protected from expansion.
+# Since each input `\' is now two `\'s, look for any number of runs of
+# four `\'s followed by two `\'s and then a '$'.  `\' that '$'.
+bs='\\'
+bs2='\\\\'
+bs4='\\\\\\\\'
+dollar='\$'
+sed_double_backslash="\
+  s/$bs4/&\\
+/g
+  s/^$bs2$dollar/$bs&/
+  s/\\([^$bs]\\)$bs2$dollar/\\1$bs2$bs$dollar/g
+  s/\n//g"
+
+# Standard options:
+opt_dry_run=false
+opt_help=false
+opt_quiet=false
+opt_verbose=false
+opt_warning=:
+
+# func_echo arg...
+# Echo program name prefixed message, along with the current mode
+# name if it has been set yet.
+func_echo ()
+{
+    $ECHO "$progname: ${opt_mode+$opt_mode: }$*"
+}
+
+# func_verbose arg...
+# Echo program name prefixed message in verbose mode only.
+func_verbose ()
+{
+    $opt_verbose && func_echo ${1+"$@"}
+
+    # A bug in bash halts the script if the last line of a function
+    # fails when set -e is in force, so we need another command to
+    # work around that:
+    :
+}
+
+# func_echo_all arg...
+# Invoke $ECHO with all args, space-separated.
+func_echo_all ()
+{
+    $ECHO "$*"
+}
+
+# func_error arg...
+# Echo program name prefixed message to standard error.
+func_error ()
+{
+    $ECHO "$progname: ${opt_mode+$opt_mode: }"${1+"$@"} 1>&2
+}
+
+# func_warning arg...
+# Echo program name prefixed warning message to standard error.
+func_warning ()
+{
+    $opt_warning && $ECHO "$progname: ${opt_mode+$opt_mode: }warning: "${1+"$@"} 1>&2
+
+    # bash bug again:
+    :
+}
+
+# func_fatal_error arg...
+# Echo program name prefixed message to standard error, and exit.
+func_fatal_error ()
+{
+    func_error ${1+"$@"}
+    exit $EXIT_FAILURE
+}
+
+# func_fatal_help arg...
+# Echo program name prefixed message to standard error, followed by
+# a help hint, and exit.
+func_fatal_help ()
+{
+    func_error ${1+"$@"}
+    func_fatal_error "$help"
+}
+help="Try \`$progname --help' for more information."  ## default
+
+
+# func_grep expression filename
+# Check whether EXPRESSION matches any line of FILENAME, without output.
+func_grep ()
+{
+    $GREP "$1" "$2" >/dev/null 2>&1
+}
+
+
+# func_mkdir_p directory-path
+# Make sure the entire path to DIRECTORY-PATH is available.
+func_mkdir_p ()
+{
+    my_directory_path="$1"
+    my_dir_list=
+
+    if test -n "$my_directory_path" && test "$opt_dry_run" != ":"; then
+
+      # Protect directory names starting with `-'
+      case $my_directory_path in
+        -*) my_directory_path="./$my_directory_path" ;;
+      esac
+
+      # While some portion of DIR does not yet exist...
+      while test ! -d "$my_directory_path"; do
+        # ...make a list in topmost first order.  Use a colon delimited
+	# list incase some portion of path contains whitespace.
+        my_dir_list="$my_directory_path:$my_dir_list"
+
+        # If the last portion added has no slash in it, the list is done
+        case $my_directory_path in */*) ;; *) break ;; esac
+
+        # ...otherwise throw away the child directory and loop
+        my_directory_path=`$ECHO "$my_directory_path" | $SED -e "$dirname"`
+      done
+      my_dir_list=`$ECHO "$my_dir_list" | $SED 's,:*$,,'`
+
+      save_mkdir_p_IFS="$IFS"; IFS=':'
+      for my_dir in $my_dir_list; do
+	IFS="$save_mkdir_p_IFS"
+        # mkdir can fail with a `File exist' error if two processes
+        # try to create one of the directories concurrently.  Don't
+        # stop in that case!
+        $MKDIR "$my_dir" 2>/dev/null || :
+      done
+      IFS="$save_mkdir_p_IFS"
+
+      # Bail out if we (or some other process) failed to create a directory.
+      test -d "$my_directory_path" || \
+        func_fatal_error "Failed to create \`$1'"
+    fi
+}
+
+
+# func_mktempdir [string]
+# Make a temporary directory that won't clash with other running
+# libtool processes, and avoids race conditions if possible.  If
+# given, STRING is the basename for that directory.
+func_mktempdir ()
+{
+    my_template="${TMPDIR-/tmp}/${1-$progname}"
+
+    if test "$opt_dry_run" = ":"; then
+      # Return a directory name, but don't create it in dry-run mode
+      my_tmpdir="${my_template}-$$"
+    else
+
+      # If mktemp works, use that first and foremost
+      my_tmpdir=`mktemp -d "${my_template}-XXXXXXXX" 2>/dev/null`
+
+      if test ! -d "$my_tmpdir"; then
+        # Failing that, at least try and use $RANDOM to avoid a race
+        my_tmpdir="${my_template}-${RANDOM-0}$$"
+
+        save_mktempdir_umask=`umask`
+        umask 0077
+        $MKDIR "$my_tmpdir"
+        umask $save_mktempdir_umask
+      fi
+
+      # If we're not in dry-run mode, bomb out on failure
+      test -d "$my_tmpdir" || \
+        func_fatal_error "cannot create temporary directory \`$my_tmpdir'"
+    fi
+
+    $ECHO "$my_tmpdir"
+}
+
+
+# func_quote_for_eval arg
+# Aesthetically quote ARG to be evaled later.
+# This function returns two values: FUNC_QUOTE_FOR_EVAL_RESULT
+# is double-quoted, suitable for a subsequent eval, whereas
+# FUNC_QUOTE_FOR_EVAL_UNQUOTED_RESULT has merely all characters
+# which are still active within double quotes backslashified.
+func_quote_for_eval ()
+{
+    case $1 in
+      *[\\\`\"\$]*)
+	func_quote_for_eval_unquoted_result=`$ECHO "$1" | $SED "$sed_quote_subst"` ;;
+      *)
+        func_quote_for_eval_unquoted_result="$1" ;;
+    esac
+
+    case $func_quote_for_eval_unquoted_result in
+      # Double-quote args containing shell metacharacters to delay
+      # word splitting, command substitution and and variable
+      # expansion for a subsequent eval.
+      # Many Bourne shells cannot handle close brackets correctly
+      # in scan sets, so we specify it separately.
+      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
+        func_quote_for_eval_result="\"$func_quote_for_eval_unquoted_result\""
+        ;;
+      *)
+        func_quote_for_eval_result="$func_quote_for_eval_unquoted_result"
+    esac
+}
+
+
+# func_quote_for_expand arg
+# Aesthetically quote ARG to be evaled later; same as above,
+# but do not quote variable references.
+func_quote_for_expand ()
+{
+    case $1 in
+      *[\\\`\"]*)
+	my_arg=`$ECHO "$1" | $SED \
+	    -e "$double_quote_subst" -e "$sed_double_backslash"` ;;
+      *)
+        my_arg="$1" ;;
+    esac
+
+    case $my_arg in
+      # Double-quote args containing shell metacharacters to delay
+      # word splitting and command substitution for a subsequent eval.
+      # Many Bourne shells cannot handle close brackets correctly
+      # in scan sets, so we specify it separately.
+      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
+        my_arg="\"$my_arg\""
+        ;;
+    esac
+
+    func_quote_for_expand_result="$my_arg"
+}
+
+
+# func_show_eval cmd [fail_exp]
+# Unless opt_silent is true, then output CMD.  Then, if opt_dryrun is
+# not true, evaluate CMD.  If the evaluation of CMD fails, and FAIL_EXP
+# is given, then evaluate it.
+func_show_eval ()
+{
+    my_cmd="$1"
+    my_fail_exp="${2-:}"
+
+    ${opt_silent-false} || {
+      func_quote_for_expand "$my_cmd"
+      eval "func_echo $func_quote_for_expand_result"
+    }
+
+    if ${opt_dry_run-false}; then :; else
+      eval "$my_cmd"
+      my_status=$?
+      if test "$my_status" -eq 0; then :; else
+	eval "(exit $my_status); $my_fail_exp"
+      fi
+    fi
+}
+
+
+# func_show_eval_locale cmd [fail_exp]
+# Unless opt_silent is true, then output CMD.  Then, if opt_dryrun is
+# not true, evaluate CMD.  If the evaluation of CMD fails, and FAIL_EXP
+# is given, then evaluate it.  Use the saved locale for evaluation.
+func_show_eval_locale ()
+{
+    my_cmd="$1"
+    my_fail_exp="${2-:}"
+
+    ${opt_silent-false} || {
+      func_quote_for_expand "$my_cmd"
+      eval "func_echo $func_quote_for_expand_result"
+    }
+
+    if ${opt_dry_run-false}; then :; else
+      eval "$lt_user_locale
+	    $my_cmd"
+      my_status=$?
+      eval "$lt_safe_locale"
+      if test "$my_status" -eq 0; then :; else
+	eval "(exit $my_status); $my_fail_exp"
+      fi
+    fi
+}
+
+# func_tr_sh
+# Turn $1 into a string suitable for a shell variable name.
+# Result is stored in $func_tr_sh_result.  All characters
+# not in the set a-zA-Z0-9_ are replaced with '_'. Further,
+# if $1 begins with a digit, a '_' is prepended as well.
+func_tr_sh ()
+{
+  case $1 in
+  [0-9]* | *[!a-zA-Z0-9_]*)
+    func_tr_sh_result=`$ECHO "$1" | $SED 's/^\([0-9]\)/_\1/; s/[^a-zA-Z0-9_]/_/g'`
+    ;;
+  * )
+    func_tr_sh_result=$1
+    ;;
+  esac
+}
+
+
+# func_version
+# Echo version message to standard output and exit.
+func_version ()
+{
+    $opt_debug
+
+    $SED -n '/(C)/!b go
+	:more
+	/\./!{
+	  N
+	  s/\n# / /
+	  b more
+	}
+	:go
+	/^# '$PROGRAM' (GNU /,/# warranty; / {
+        s/^# //
+	s/^# *$//
+        s/\((C)\)[ 0-9,-]*\( [1-9][0-9]*\)/\1\2/
+        p
+     }' < "$progpath"
+     exit $?
+}
+
+# func_usage
+# Echo short help message to standard output and exit.
+func_usage ()
+{
+    $opt_debug
+
+    $SED -n '/^# Usage:/,/^#  *.*--help/ {
+        s/^# //
+	s/^# *$//
+	s/\$progname/'$progname'/
+	p
+    }' < "$progpath"
+    echo
+    $ECHO "run \`$progname --help | more' for full usage"
+    exit $?
+}
+
+# func_help [NOEXIT]
+# Echo long help message to standard output and exit,
+# unless 'noexit' is passed as argument.
+func_help ()
+{
+    $opt_debug
+
+    $SED -n '/^# Usage:/,/# Report bugs to/ {
+	:print
+        s/^# //
+	s/^# *$//
+	s*\$progname*'$progname'*
+	s*\$host*'"$host"'*
+	s*\$SHELL*'"$SHELL"'*
+	s*\$LTCC*'"$LTCC"'*
+	s*\$LTCFLAGS*'"$LTCFLAGS"'*
+	s*\$LD*'"$LD"'*
+	s/\$with_gnu_ld/'"$with_gnu_ld"'/
+	s/\$automake_version/'"`(${AUTOMAKE-automake} --version) 2>/dev/null |$SED 1q`"'/
+	s/\$autoconf_version/'"`(${AUTOCONF-autoconf} --version) 2>/dev/null |$SED 1q`"'/
+	p
+	d
+     }
+     /^# .* home page:/b print
+     /^# General help using/b print
+     ' < "$progpath"
+    ret=$?
+    if test -z "$1"; then
+      exit $ret
+    fi
+}
+
+# func_missing_arg argname
+# Echo program name prefixed message to standard error and set global
+# exit_cmd.
+func_missing_arg ()
+{
+    $opt_debug
+
+    func_error "missing argument for $1."
+    exit_cmd=exit
+}
+
+
+# func_split_short_opt shortopt
+# Set func_split_short_opt_name and func_split_short_opt_arg shell
+# variables after splitting SHORTOPT after the 2nd character.
+func_split_short_opt ()
+{
+    my_sed_short_opt='1s/^\(..\).*$/\1/;q'
+    my_sed_short_rest='1s/^..\(.*\)$/\1/;q'
+
+    func_split_short_opt_name=`$ECHO "$1" | $SED "$my_sed_short_opt"`
+    func_split_short_opt_arg=`$ECHO "$1" | $SED "$my_sed_short_rest"`
+} # func_split_short_opt may be replaced by extended shell implementation
+
+
+# func_split_long_opt longopt
+# Set func_split_long_opt_name and func_split_long_opt_arg shell
+# variables after splitting LONGOPT at the `=' sign.
+func_split_long_opt ()
+{
+    my_sed_long_opt='1s/^\(--[^=]*\)=.*/\1/;q'
+    my_sed_long_arg='1s/^--[^=]*=//'
+
+    func_split_long_opt_name=`$ECHO "$1" | $SED "$my_sed_long_opt"`
+    func_split_long_opt_arg=`$ECHO "$1" | $SED "$my_sed_long_arg"`
+} # func_split_long_opt may be replaced by extended shell implementation
+
+exit_cmd=:
+
+
+
+
+
+magic="%%%MAGIC variable%%%"
+magic_exe="%%%MAGIC EXE variable%%%"
+
+# Global variables.
+nonopt=
+preserve_args=
+lo2o="s/\\.lo\$/.${objext}/"
+o2lo="s/\\.${objext}\$/.lo/"
+extracted_archives=
+extracted_serial=0
+
+# If this variable is set in any of the actions, the command in it
+# will be execed at the end.  This prevents here-documents from being
+# left over by shells.
+exec_cmd=
+
+# func_append var value
+# Append VALUE to the end of shell variable VAR.
+func_append ()
+{
+    eval "${1}=\$${1}\${2}"
+} # func_append may be replaced by extended shell implementation
+
+# func_append_quoted var value
+# Quote VALUE and append to the end of shell variable VAR, separated
+# by a space.
+func_append_quoted ()
+{
+    func_quote_for_eval "${2}"
+    eval "${1}=\$${1}\\ \$func_quote_for_eval_result"
+} # func_append_quoted may be replaced by extended shell implementation
+
+
+# func_arith arithmetic-term...
+func_arith ()
+{
+    func_arith_result=`expr "${@}"`
+} # func_arith may be replaced by extended shell implementation
+
+
+# func_len string
+# STRING may not start with a hyphen.
+func_len ()
+{
+    func_len_result=`expr "${1}" : ".*" 2>/dev/null || echo $max_cmd_len`
+} # func_len may be replaced by extended shell implementation
+
+
+# func_lo2o object
+func_lo2o ()
+{
+    func_lo2o_result=`$ECHO "${1}" | $SED "$lo2o"`
+} # func_lo2o may be replaced by extended shell implementation
+
+
+# func_xform libobj-or-source
+func_xform ()
+{
+    func_xform_result=`$ECHO "${1}" | $SED 's/\.[^.]*$/.lo/'`
+} # func_xform may be replaced by extended shell implementation
+
+
+# func_fatal_configuration arg...
+# Echo program name prefixed message to standard error, followed by
+# a configuration failure hint, and exit.
+func_fatal_configuration ()
+{
+    func_error ${1+"$@"}
+    func_error "See the $PACKAGE documentation for more information."
+    func_fatal_error "Fatal configuration error."
+}
+
+
+# func_config
+# Display the configuration for all the tags in this script.
+func_config ()
+{
+    re_begincf='^# ### BEGIN LIBTOOL'
+    re_endcf='^# ### END LIBTOOL'
+
+    # Default configuration.
+    $SED "1,/$re_begincf CONFIG/d;/$re_endcf CONFIG/,\$d" < "$progpath"
+
+    # Now print the configurations for the tags.
+    for tagname in $taglist; do
+      $SED -n "/$re_begincf TAG CONFIG: $tagname\$/,/$re_endcf TAG CONFIG: $tagname\$/p" < "$progpath"
+    done
+
+    exit $?
+}
+
+# func_features
+# Display the features supported by this script.
+func_features ()
+{
+    echo "host: $host"
+    if test "$build_libtool_libs" = yes; then
+      echo "enable shared libraries"
+    else
+      echo "disable shared libraries"
+    fi
+    if test "$build_old_libs" = yes; then
+      echo "enable static libraries"
+    else
+      echo "disable static libraries"
+    fi
+
+    exit $?
+}
+
+# func_enable_tag tagname
+# Verify that TAGNAME is valid, and either flag an error and exit, or
+# enable the TAGNAME tag.  We also add TAGNAME to the global $taglist
+# variable here.
+func_enable_tag ()
+{
+  # Global variable:
+  tagname="$1"
+
+  re_begincf="^# ### BEGIN LIBTOOL TAG CONFIG: $tagname\$"
+  re_endcf="^# ### END LIBTOOL TAG CONFIG: $tagname\$"
+  sed_extractcf="/$re_begincf/,/$re_endcf/p"
+
+  # Validate tagname.
+  case $tagname in
+    *[!-_A-Za-z0-9,/]*)
+      func_fatal_error "invalid tag name: $tagname"
+      ;;
+  esac
+
+  # Don't test for the "default" C tag, as we know it's
+  # there but not specially marked.
+  case $tagname in
+    CC) ;;
+    *)
+      if $GREP "$re_begincf" "$progpath" >/dev/null 2>&1; then
+	taglist="$taglist $tagname"
+
+	# Evaluate the configuration.  Be careful to quote the path
+	# and the sed script, to avoid splitting on whitespace, but
+	# also don't use non-portable quotes within backquotes within
+	# quotes we have to do it in 2 steps:
+	extractedcf=`$SED -n -e "$sed_extractcf" < "$progpath"`
+	eval "$extractedcf"
+      else
+	func_error "ignoring unknown tag $tagname"
+      fi
+      ;;
+  esac
+}
+
+# func_check_version_match
+# Ensure that we are using m4 macros, and libtool script from the same
+# release of libtool.
+func_check_version_match ()
+{
+  if test "$package_revision" != "$macro_revision"; then
+    if test "$VERSION" != "$macro_version"; then
+      if test -z "$macro_version"; then
+        cat >&2 <<_LT_EOF
+$progname: Version mismatch error.  This is $PACKAGE $VERSION, but the
+$progname: definition of this LT_INIT comes from an older release.
+$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION
+$progname: and run autoconf again.
+_LT_EOF
+      else
+        cat >&2 <<_LT_EOF
+$progname: Version mismatch error.  This is $PACKAGE $VERSION, but the
+$progname: definition of this LT_INIT comes from $PACKAGE $macro_version.
+$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION
+$progname: and run autoconf again.
+_LT_EOF
+      fi
+    else
+      cat >&2 <<_LT_EOF
+$progname: Version mismatch error.  This is $PACKAGE $VERSION, revision $package_revision,
+$progname: but the definition of this LT_INIT comes from revision $macro_revision.
+$progname: You should recreate aclocal.m4 with macros from revision $package_revision
+$progname: of $PACKAGE $VERSION and run autoconf again.
+_LT_EOF
+    fi
+
+    exit $EXIT_MISMATCH
+  fi
+}
+
+
+# Shorthand for --mode=foo, only valid as the first argument
+case $1 in
+clean|clea|cle|cl)
+  shift; set dummy --mode clean ${1+"$@"}; shift
+  ;;
+compile|compil|compi|comp|com|co|c)
+  shift; set dummy --mode compile ${1+"$@"}; shift
+  ;;
+execute|execut|execu|exec|exe|ex|e)
+  shift; set dummy --mode execute ${1+"$@"}; shift
+  ;;
+finish|finis|fini|fin|fi|f)
+  shift; set dummy --mode finish ${1+"$@"}; shift
+  ;;
+install|instal|insta|inst|ins|in|i)
+  shift; set dummy --mode install ${1+"$@"}; shift
+  ;;
+link|lin|li|l)
+  shift; set dummy --mode link ${1+"$@"}; shift
+  ;;
+uninstall|uninstal|uninsta|uninst|unins|unin|uni|un|u)
+  shift; set dummy --mode uninstall ${1+"$@"}; shift
+  ;;
+esac
+
+
+
+# Option defaults:
+opt_debug=:
+opt_dry_run=false
+opt_config=false
+opt_preserve_dup_deps=false
+opt_features=false
+opt_finish=false
+opt_help=false
+opt_help_all=false
+opt_silent=:
+opt_warning=:
+opt_verbose=:
+opt_silent=false
+opt_verbose=false
+
+
+# Parse options once, thoroughly.  This comes as soon as possible in the
+# script to make things like `--version' happen as quickly as we can.
+{
+  # this just eases exit handling
+  while test $# -gt 0; do
+    opt="$1"
+    shift
+    case $opt in
+      --debug|-x)	opt_debug='set -x'
+			func_echo "enabling shell trace mode"
+			$opt_debug
+			;;
+      --dry-run|--dryrun|-n)
+			opt_dry_run=:
+			;;
+      --config)
+			opt_config=:
+func_config
+			;;
+      --dlopen|-dlopen)
+			optarg="$1"
+			opt_dlopen="${opt_dlopen+$opt_dlopen
+}$optarg"
+			shift
+			;;
+      --preserve-dup-deps)
+			opt_preserve_dup_deps=:
+			;;
+      --features)
+			opt_features=:
+func_features
+			;;
+      --finish)
+			opt_finish=:
+set dummy --mode finish ${1+"$@"}; shift
+			;;
+      --help)
+			opt_help=:
+			;;
+      --help-all)
+			opt_help_all=:
+opt_help=': help-all'
+			;;
+      --mode)
+			test $# = 0 && func_missing_arg $opt && break
+			optarg="$1"
+			opt_mode="$optarg"
+case $optarg in
+  # Valid mode arguments:
+  clean|compile|execute|finish|install|link|relink|uninstall) ;;
+
+  # Catch anything else as an error
+  *) func_error "invalid argument for $opt"
+     exit_cmd=exit
+     break
+     ;;
+esac
+			shift
+			;;
+      --no-silent|--no-quiet)
+			opt_silent=false
+func_append preserve_args " $opt"
+			;;
+      --no-warning|--no-warn)
+			opt_warning=false
+func_append preserve_args " $opt"
+			;;
+      --no-verbose)
+			opt_verbose=false
+func_append preserve_args " $opt"
+			;;
+      --silent|--quiet)
+			opt_silent=:
+func_append preserve_args " $opt"
+        opt_verbose=false
+			;;
+      --verbose|-v)
+			opt_verbose=:
+func_append preserve_args " $opt"
+opt_silent=false
+			;;
+      --tag)
+			test $# = 0 && func_missing_arg $opt && break
+			optarg="$1"
+			opt_tag="$optarg"
+func_append preserve_args " $opt $optarg"
+func_enable_tag "$optarg"
+			shift
+			;;
+
+      -\?|-h)		func_usage				;;
+      --help)		func_help				;;
+      --version)	func_version				;;
+
+      # Separate optargs to long options:
+      --*=*)
+			func_split_long_opt "$opt"
+			set dummy "$func_split_long_opt_name" "$func_split_long_opt_arg" ${1+"$@"}
+			shift
+			;;
+
+      # Separate non-argument short options:
+      -\?*|-h*|-n*|-v*)
+			func_split_short_opt "$opt"
+			set dummy "$func_split_short_opt_name" "-$func_split_short_opt_arg" ${1+"$@"}
+			shift
+			;;
+
+      --)		break					;;
+      -*)		func_fatal_help "unrecognized option \`$opt'" ;;
+      *)		set dummy "$opt" ${1+"$@"};	shift; break  ;;
+    esac
+  done
+
+  # Validate options:
+
+  # save first non-option argument
+  if test "$#" -gt 0; then
+    nonopt="$opt"
+    shift
+  fi
+
+  # preserve --debug
+  test "$opt_debug" = : || func_append preserve_args " --debug"
+
+  case $host in
+    *cygwin* | *mingw* | *pw32* | *cegcc*)
+      # don't eliminate duplications in $postdeps and $predeps
+      opt_duplicate_compiler_generated_deps=:
+      ;;
+    *)
+      opt_duplicate_compiler_generated_deps=$opt_preserve_dup_deps
+      ;;
+  esac
+
+  $opt_help || {
+    # Sanity checks first:
+    func_check_version_match
+
+    if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then
+      func_fatal_configuration "not configured to build any kind of library"
+    fi
+
+    # Darwin sucks
+    eval std_shrext=\"$shrext_cmds\"
+
+    # Only execute mode is allowed to have -dlopen flags.
+    if test -n "$opt_dlopen" && test "$opt_mode" != execute; then
+      func_error "unrecognized option \`-dlopen'"
+      $ECHO "$help" 1>&2
+      exit $EXIT_FAILURE
+    fi
+
+    # Change the help message to a mode-specific one.
+    generic_help="$help"
+    help="Try \`$progname --help --mode=$opt_mode' for more information."
+  }
+
+
+  # Bail if the options were screwed
+  $exit_cmd $EXIT_FAILURE
+}
+
+
+
+
+## ----------- ##
+##    Main.    ##
+## ----------- ##
+
+# func_lalib_p file
+# True iff FILE is a libtool `.la' library or `.lo' object file.
+# This function is only a basic sanity check; it will hardly flush out
+# determined imposters.
+func_lalib_p ()
+{
+    test -f "$1" &&
+      $SED -e 4q "$1" 2>/dev/null \
+        | $GREP "^# Generated by .*$PACKAGE" > /dev/null 2>&1
+}
+
+# func_lalib_unsafe_p file
+# True iff FILE is a libtool `.la' library or `.lo' object file.
+# This function implements the same check as func_lalib_p without
+# resorting to external programs.  To this end, it redirects stdin and
+# closes it afterwards, without saving the original file descriptor.
+# As a safety measure, use it only where a negative result would be
+# fatal anyway.  Works if `file' does not exist.
+func_lalib_unsafe_p ()
+{
+    lalib_p=no
+    if test -f "$1" && test -r "$1" && exec 5<&0 <"$1"; then
+	for lalib_p_l in 1 2 3 4
+	do
+	    read lalib_p_line
+	    case "$lalib_p_line" in
+		\#\ Generated\ by\ *$PACKAGE* ) lalib_p=yes; break;;
+	    esac
+	done
+	exec 0<&5 5<&-
+    fi
+    test "$lalib_p" = yes
+}
+
+# func_ltwrapper_script_p file
+# True iff FILE is a libtool wrapper script
+# This function is only a basic sanity check; it will hardly flush out
+# determined imposters.
+func_ltwrapper_script_p ()
+{
+    func_lalib_p "$1"
+}
+
+# func_ltwrapper_executable_p file
+# True iff FILE is a libtool wrapper executable
+# This function is only a basic sanity check; it will hardly flush out
+# determined imposters.
+func_ltwrapper_executable_p ()
+{
+    func_ltwrapper_exec_suffix=
+    case $1 in
+    *.exe) ;;
+    *) func_ltwrapper_exec_suffix=.exe ;;
+    esac
+    $GREP "$magic_exe" "$1$func_ltwrapper_exec_suffix" >/dev/null 2>&1
+}
+
+# func_ltwrapper_scriptname file
+# Assumes file is an ltwrapper_executable
+# uses $file to determine the appropriate filename for a
+# temporary ltwrapper_script.
+func_ltwrapper_scriptname ()
+{
+    func_dirname_and_basename "$1" "" "."
+    func_stripname '' '.exe' "$func_basename_result"
+    func_ltwrapper_scriptname_result="$func_dirname_result/$objdir/${func_stripname_result}_ltshwrapper"
+}
+
+# func_ltwrapper_p file
+# True iff FILE is a libtool wrapper script or wrapper executable
+# This function is only a basic sanity check; it will hardly flush out
+# determined imposters.
+func_ltwrapper_p ()
+{
+    func_ltwrapper_script_p "$1" || func_ltwrapper_executable_p "$1"
+}
+
+
+# func_execute_cmds commands fail_cmd
+# Execute tilde-delimited COMMANDS.
+# If FAIL_CMD is given, eval that upon failure.
+# FAIL_CMD may read-access the current command in variable CMD!
+func_execute_cmds ()
+{
+    $opt_debug
+    save_ifs=$IFS; IFS='~'
+    for cmd in $1; do
+      IFS=$save_ifs
+      eval cmd=\"$cmd\"
+      func_show_eval "$cmd" "${2-:}"
+    done
+    IFS=$save_ifs
+}
+
+
+# func_source file
+# Source FILE, adding directory component if necessary.
+# Note that it is not necessary on cygwin/mingw to append a dot to
+# FILE even if both FILE and FILE.exe exist: automatic-append-.exe
+# behavior happens only for exec(3), not for open(2)!  Also, sourcing
+# `FILE.' does not work on cygwin managed mounts.
+func_source ()
+{
+    $opt_debug
+    case $1 in
+    */* | *\\*)	. "$1" ;;
+    *)		. "./$1" ;;
+    esac
+}
+
+
+# func_resolve_sysroot PATH
+# Replace a leading = in PATH with a sysroot.  Store the result into
+# func_resolve_sysroot_result
+func_resolve_sysroot ()
+{
+  func_resolve_sysroot_result=$1
+  case $func_resolve_sysroot_result in
+  =*)
+    func_stripname '=' '' "$func_resolve_sysroot_result"
+    func_resolve_sysroot_result=$lt_sysroot$func_stripname_result
+    ;;
+  esac
+}
+
+# func_replace_sysroot PATH
+# If PATH begins with the sysroot, replace it with = and
+# store the result into func_replace_sysroot_result.
+func_replace_sysroot ()
+{
+  case "$lt_sysroot:$1" in
+  ?*:"$lt_sysroot"*)
+    func_stripname "$lt_sysroot" '' "$1"
+    func_replace_sysroot_result="=$func_stripname_result"
+    ;;
+  *)
+    # Including no sysroot.
+    func_replace_sysroot_result=$1
+    ;;
+  esac
+}
+
+# func_infer_tag arg
+# Infer tagged configuration to use if any are available and
+# if one wasn't chosen via the "--tag" command line option.
+# Only attempt this if the compiler in the base compile
+# command doesn't match the default compiler.
+# arg is usually of the form 'gcc ...'
+func_infer_tag ()
+{
+    $opt_debug
+    if test -n "$available_tags" && test -z "$tagname"; then
+      CC_quoted=
+      for arg in $CC; do
+	func_append_quoted CC_quoted "$arg"
+      done
+      CC_expanded=`func_echo_all $CC`
+      CC_quoted_expanded=`func_echo_all $CC_quoted`
+      case $@ in
+      # Blanks in the command may have been stripped by the calling shell,
+      # but not from the CC environment variable when configure was run.
+      " $CC "* | "$CC "* | " $CC_expanded "* | "$CC_expanded "* | \
+      " $CC_quoted"* | "$CC_quoted "* | " $CC_quoted_expanded "* | "$CC_quoted_expanded "*) ;;
+      # Blanks at the start of $base_compile will cause this to fail
+      # if we don't check for them as well.
+      *)
+	for z in $available_tags; do
+	  if $GREP "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/null; then
+	    # Evaluate the configuration.
+	    eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`"
+	    CC_quoted=
+	    for arg in $CC; do
+	      # Double-quote args containing other shell metacharacters.
+	      func_append_quoted CC_quoted "$arg"
+	    done
+	    CC_expanded=`func_echo_all $CC`
+	    CC_quoted_expanded=`func_echo_all $CC_quoted`
+	    case "$@ " in
+	    " $CC "* | "$CC "* | " $CC_expanded "* | "$CC_expanded "* | \
+	    " $CC_quoted"* | "$CC_quoted "* | " $CC_quoted_expanded "* | "$CC_quoted_expanded "*)
+	      # The compiler in the base compile command matches
+	      # the one in the tagged configuration.
+	      # Assume this is the tagged configuration we want.
+	      tagname=$z
+	      break
+	      ;;
+	    esac
+	  fi
+	done
+	# If $tagname still isn't set, then no tagged configuration
+	# was found and let the user know that the "--tag" command
+	# line option must be used.
+	if test -z "$tagname"; then
+	  func_echo "unable to infer tagged configuration"
+	  func_fatal_error "specify a tag with \`--tag'"
+#	else
+#	  func_verbose "using $tagname tagged configuration"
+	fi
+	;;
+      esac
+    fi
+}
+
+
+
+# func_write_libtool_object output_name pic_name nonpic_name
+# Create a libtool object file (analogous to a ".la" file),
+# but don't create it if we're doing a dry run.
+func_write_libtool_object ()
+{
+    write_libobj=${1}
+    if test "$build_libtool_libs" = yes; then
+      write_lobj=\'${2}\'
+    else
+      write_lobj=none
+    fi
+
+    if test "$build_old_libs" = yes; then
+      write_oldobj=\'${3}\'
+    else
+      write_oldobj=none
+    fi
+
+    $opt_dry_run || {
+      cat >${write_libobj}T <<EOF
+# $write_libobj - a libtool object file
+# Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object=$write_lobj
+
+# Name of the non-PIC object
+non_pic_object=$write_oldobj
+
+EOF
+      $MV "${write_libobj}T" "${write_libobj}"
+    }
+}
+
+
+##################################################
+# FILE NAME AND PATH CONVERSION HELPER FUNCTIONS #
+##################################################
+
+# func_convert_core_file_wine_to_w32 ARG
+# Helper function used by file name conversion functions when $build is *nix,
+# and $host is mingw, cygwin, or some other w32 environment. Relies on a
+# correctly configured wine environment available, with the winepath program
+# in $build's $PATH.
+#
+# ARG is the $build file name to be converted to w32 format.
+# Result is available in $func_convert_core_file_wine_to_w32_result, and will
+# be empty on error (or when ARG is empty)
+func_convert_core_file_wine_to_w32 ()
+{
+  $opt_debug
+  func_convert_core_file_wine_to_w32_result="$1"
+  if test -n "$1"; then
+    # Unfortunately, winepath does not exit with a non-zero error code, so we
+    # are forced to check the contents of stdout. On the other hand, if the
+    # command is not found, the shell will set an exit code of 127 and print
+    # *an error message* to stdout. So we must check for both error code of
+    # zero AND non-empty stdout, which explains the odd construction:
+    func_convert_core_file_wine_to_w32_tmp=`winepath -w "$1" 2>/dev/null`
+    if test "$?" -eq 0 && test -n "${func_convert_core_file_wine_to_w32_tmp}"; then
+      func_convert_core_file_wine_to_w32_result=`$ECHO "$func_convert_core_file_wine_to_w32_tmp" |
+        $SED -e "$lt_sed_naive_backslashify"`
+    else
+      func_convert_core_file_wine_to_w32_result=
+    fi
+  fi
+}
+# end: func_convert_core_file_wine_to_w32
+
+
+# func_convert_core_path_wine_to_w32 ARG
+# Helper function used by path conversion functions when $build is *nix, and
+# $host is mingw, cygwin, or some other w32 environment. Relies on a correctly
+# configured wine environment available, with the winepath program in $build's
+# $PATH. Assumes ARG has no leading or trailing path separator characters.
+#
+# ARG is path to be converted from $build format to win32.
+# Result is available in $func_convert_core_path_wine_to_w32_result.
+# Unconvertible file (directory) names in ARG are skipped; if no directory names
+# are convertible, then the result may be empty.
+func_convert_core_path_wine_to_w32 ()
+{
+  $opt_debug
+  # unfortunately, winepath doesn't convert paths, only file names
+  func_convert_core_path_wine_to_w32_result=""
+  if test -n "$1"; then
+    oldIFS=$IFS
+    IFS=:
+    for func_convert_core_path_wine_to_w32_f in $1; do
+      IFS=$oldIFS
+      func_convert_core_file_wine_to_w32 "$func_convert_core_path_wine_to_w32_f"
+      if test -n "$func_convert_core_file_wine_to_w32_result" ; then
+        if test -z "$func_convert_core_path_wine_to_w32_result"; then
+          func_convert_core_path_wine_to_w32_result="$func_convert_core_file_wine_to_w32_result"
+        else
+          func_append func_convert_core_path_wine_to_w32_result ";$func_convert_core_file_wine_to_w32_result"
+        fi
+      fi
+    done
+    IFS=$oldIFS
+  fi
+}
+# end: func_convert_core_path_wine_to_w32
+
+
+# func_cygpath ARGS...
+# Wrapper around calling the cygpath program via LT_CYGPATH. This is used when
+# when (1) $build is *nix and Cygwin is hosted via a wine environment; or (2)
+# $build is MSYS and $host is Cygwin, or (3) $build is Cygwin. In case (1) or
+# (2), returns the Cygwin file name or path in func_cygpath_result (input
+# file name or path is assumed to be in w32 format, as previously converted
+# from $build's *nix or MSYS format). In case (3), returns the w32 file name
+# or path in func_cygpath_result (input file name or path is assumed to be in
+# Cygwin format). Returns an empty string on error.
+#
+# ARGS are passed to cygpath, with the last one being the file name or path to
+# be converted.
+#
+# Specify the absolute *nix (or w32) name to cygpath in the LT_CYGPATH
+# environment variable; do not put it in $PATH.
+func_cygpath ()
+{
+  $opt_debug
+  if test -n "$LT_CYGPATH" && test -f "$LT_CYGPATH"; then
+    func_cygpath_result=`$LT_CYGPATH "$@" 2>/dev/null`
+    if test "$?" -ne 0; then
+      # on failure, ensure result is empty
+      func_cygpath_result=
+    fi
+  else
+    func_cygpath_result=
+    func_error "LT_CYGPATH is empty or specifies non-existent file: \`$LT_CYGPATH'"
+  fi
+}
+#end: func_cygpath
+
+
+# func_convert_core_msys_to_w32 ARG
+# Convert file name or path ARG from MSYS format to w32 format.  Return
+# result in func_convert_core_msys_to_w32_result.
+func_convert_core_msys_to_w32 ()
+{
+  $opt_debug
+  # awkward: cmd appends spaces to result
+  func_convert_core_msys_to_w32_result=`( cmd //c echo "$1" ) 2>/dev/null |
+    $SED -e 's/[ ]*$//' -e "$lt_sed_naive_backslashify"`
+}
+#end: func_convert_core_msys_to_w32
+
+
+# func_convert_file_check ARG1 ARG2
+# Verify that ARG1 (a file name in $build format) was converted to $host
+# format in ARG2. Otherwise, emit an error message, but continue (resetting
+# func_to_host_file_result to ARG1).
+func_convert_file_check ()
+{
+  $opt_debug
+  if test -z "$2" && test -n "$1" ; then
+    func_error "Could not determine host file name corresponding to"
+    func_error "  \`$1'"
+    func_error "Continuing, but uninstalled executables may not work."
+    # Fallback:
+    func_to_host_file_result="$1"
+  fi
+}
+# end func_convert_file_check
+
+
+# func_convert_path_check FROM_PATHSEP TO_PATHSEP FROM_PATH TO_PATH
+# Verify that FROM_PATH (a path in $build format) was converted to $host
+# format in TO_PATH. Otherwise, emit an error message, but continue, resetting
+# func_to_host_file_result to a simplistic fallback value (see below).
+func_convert_path_check ()
+{
+  $opt_debug
+  if test -z "$4" && test -n "$3"; then
+    func_error "Could not determine the host path corresponding to"
+    func_error "  \`$3'"
+    func_error "Continuing, but uninstalled executables may not work."
+    # Fallback.  This is a deliberately simplistic "conversion" and
+    # should not be "improved".  See libtool.info.
+    if test "x$1" != "x$2"; then
+      lt_replace_pathsep_chars="s|$1|$2|g"
+      func_to_host_path_result=`echo "$3" |
+        $SED -e "$lt_replace_pathsep_chars"`
+    else
+      func_to_host_path_result="$3"
+    fi
+  fi
+}
+# end func_convert_path_check
+
+
+# func_convert_path_front_back_pathsep FRONTPAT BACKPAT REPL ORIG
+# Modifies func_to_host_path_result by prepending REPL if ORIG matches FRONTPAT
+# and appending REPL if ORIG matches BACKPAT.
+func_convert_path_front_back_pathsep ()
+{
+  $opt_debug
+  case $4 in
+  $1 ) func_to_host_path_result="$3$func_to_host_path_result"
+    ;;
+  esac
+  case $4 in
+  $2 ) func_append func_to_host_path_result "$3"
+    ;;
+  esac
+}
+# end func_convert_path_front_back_pathsep
+
+
+##################################################
+# $build to $host FILE NAME CONVERSION FUNCTIONS #
+##################################################
+# invoked via `$to_host_file_cmd ARG'
+#
+# In each case, ARG is the path to be converted from $build to $host format.
+# Result will be available in $func_to_host_file_result.
+
+
+# func_to_host_file ARG
+# Converts the file name ARG from $build format to $host format. Return result
+# in func_to_host_file_result.
+func_to_host_file ()
+{
+  $opt_debug
+  $to_host_file_cmd "$1"
+}
+# end func_to_host_file
+
+
+# func_to_tool_file ARG LAZY
+# converts the file name ARG from $build format to toolchain format. Return
+# result in func_to_tool_file_result.  If the conversion in use is listed
+# in (the comma separated) LAZY, no conversion takes place.
+func_to_tool_file ()
+{
+  $opt_debug
+  case ,$2, in
+    *,"$to_tool_file_cmd",*)
+      func_to_tool_file_result=$1
+      ;;
+    *)
+      $to_tool_file_cmd "$1"
+      func_to_tool_file_result=$func_to_host_file_result
+      ;;
+  esac
+}
+# end func_to_tool_file
+
+
+# func_convert_file_noop ARG
+# Copy ARG to func_to_host_file_result.
+func_convert_file_noop ()
+{
+  func_to_host_file_result="$1"
+}
+# end func_convert_file_noop
+
+
+# func_convert_file_msys_to_w32 ARG
+# Convert file name ARG from (mingw) MSYS to (mingw) w32 format; automatic
+# conversion to w32 is not available inside the cwrapper.  Returns result in
+# func_to_host_file_result.
+func_convert_file_msys_to_w32 ()
+{
+  $opt_debug
+  func_to_host_file_result="$1"
+  if test -n "$1"; then
+    func_convert_core_msys_to_w32 "$1"
+    func_to_host_file_result="$func_convert_core_msys_to_w32_result"
+  fi
+  func_convert_file_check "$1" "$func_to_host_file_result"
+}
+# end func_convert_file_msys_to_w32
+
+
+# func_convert_file_cygwin_to_w32 ARG
+# Convert file name ARG from Cygwin to w32 format.  Returns result in
+# func_to_host_file_result.
+func_convert_file_cygwin_to_w32 ()
+{
+  $opt_debug
+  func_to_host_file_result="$1"
+  if test -n "$1"; then
+    # because $build is cygwin, we call "the" cygpath in $PATH; no need to use
+    # LT_CYGPATH in this case.
+    func_to_host_file_result=`cygpath -m "$1"`
+  fi
+  func_convert_file_check "$1" "$func_to_host_file_result"
+}
+# end func_convert_file_cygwin_to_w32
+
+
+# func_convert_file_nix_to_w32 ARG
+# Convert file name ARG from *nix to w32 format.  Requires a wine environment
+# and a working winepath. Returns result in func_to_host_file_result.
+func_convert_file_nix_to_w32 ()
+{
+  $opt_debug
+  func_to_host_file_result="$1"
+  if test -n "$1"; then
+    func_convert_core_file_wine_to_w32 "$1"
+    func_to_host_file_result="$func_convert_core_file_wine_to_w32_result"
+  fi
+  func_convert_file_check "$1" "$func_to_host_file_result"
+}
+# end func_convert_file_nix_to_w32
+
+
+# func_convert_file_msys_to_cygwin ARG
+# Convert file name ARG from MSYS to Cygwin format.  Requires LT_CYGPATH set.
+# Returns result in func_to_host_file_result.
+func_convert_file_msys_to_cygwin ()
+{
+  $opt_debug
+  func_to_host_file_result="$1"
+  if test -n "$1"; then
+    func_convert_core_msys_to_w32 "$1"
+    func_cygpath -u "$func_convert_core_msys_to_w32_result"
+    func_to_host_file_result="$func_cygpath_result"
+  fi
+  func_convert_file_check "$1" "$func_to_host_file_result"
+}
+# end func_convert_file_msys_to_cygwin
+
+
+# func_convert_file_nix_to_cygwin ARG
+# Convert file name ARG from *nix to Cygwin format.  Requires Cygwin installed
+# in a wine environment, working winepath, and LT_CYGPATH set.  Returns result
+# in func_to_host_file_result.
+func_convert_file_nix_to_cygwin ()
+{
+  $opt_debug
+  func_to_host_file_result="$1"
+  if test -n "$1"; then
+    # convert from *nix to w32, then use cygpath to convert from w32 to cygwin.
+    func_convert_core_file_wine_to_w32 "$1"
+    func_cygpath -u "$func_convert_core_file_wine_to_w32_result"
+    func_to_host_file_result="$func_cygpath_result"
+  fi
+  func_convert_file_check "$1" "$func_to_host_file_result"
+}
+# end func_convert_file_nix_to_cygwin
+
+
+#############################################
+# $build to $host PATH CONVERSION FUNCTIONS #
+#############################################
+# invoked via `$to_host_path_cmd ARG'
+#
+# In each case, ARG is the path to be converted from $build to $host format.
+# The result will be available in $func_to_host_path_result.
+#
+# Path separators are also converted from $build format to $host format.  If
+# ARG begins or ends with a path separator character, it is preserved (but
+# converted to $host format) on output.
+#
+# All path conversion functions are named using the following convention:
+#   file name conversion function    : func_convert_file_X_to_Y ()
+#   path conversion function         : func_convert_path_X_to_Y ()
+# where, for any given $build/$host combination the 'X_to_Y' value is the
+# same.  If conversion functions are added for new $build/$host combinations,
+# the two new functions must follow this pattern, or func_init_to_host_path_cmd
+# will break.
+
+
+# func_init_to_host_path_cmd
+# Ensures that function "pointer" variable $to_host_path_cmd is set to the
+# appropriate value, based on the value of $to_host_file_cmd.
+to_host_path_cmd=
+func_init_to_host_path_cmd ()
+{
+  $opt_debug
+  if test -z "$to_host_path_cmd"; then
+    func_stripname 'func_convert_file_' '' "$to_host_file_cmd"
+    to_host_path_cmd="func_convert_path_${func_stripname_result}"
+  fi
+}
+
+
+# func_to_host_path ARG
+# Converts the path ARG from $build format to $host format. Return result
+# in func_to_host_path_result.
+func_to_host_path ()
+{
+  $opt_debug
+  func_init_to_host_path_cmd
+  $to_host_path_cmd "$1"
+}
+# end func_to_host_path
+
+
+# func_convert_path_noop ARG
+# Copy ARG to func_to_host_path_result.
+func_convert_path_noop ()
+{
+  func_to_host_path_result="$1"
+}
+# end func_convert_path_noop
+
+
+# func_convert_path_msys_to_w32 ARG
+# Convert path ARG from (mingw) MSYS to (mingw) w32 format; automatic
+# conversion to w32 is not available inside the cwrapper.  Returns result in
+# func_to_host_path_result.
+func_convert_path_msys_to_w32 ()
+{
+  $opt_debug
+  func_to_host_path_result="$1"
+  if test -n "$1"; then
+    # Remove leading and trailing path separator characters from ARG.  MSYS
+    # behavior is inconsistent here; cygpath turns them into '.;' and ';.';
+    # and winepath ignores them completely.
+    func_stripname : : "$1"
+    func_to_host_path_tmp1=$func_stripname_result
+    func_convert_core_msys_to_w32 "$func_to_host_path_tmp1"
+    func_to_host_path_result="$func_convert_core_msys_to_w32_result"
+    func_convert_path_check : ";" \
+      "$func_to_host_path_tmp1" "$func_to_host_path_result"
+    func_convert_path_front_back_pathsep ":*" "*:" ";" "$1"
+  fi
+}
+# end func_convert_path_msys_to_w32
+
+
+# func_convert_path_cygwin_to_w32 ARG
+# Convert path ARG from Cygwin to w32 format.  Returns result in
+# func_to_host_file_result.
+func_convert_path_cygwin_to_w32 ()
+{
+  $opt_debug
+  func_to_host_path_result="$1"
+  if test -n "$1"; then
+    # See func_convert_path_msys_to_w32:
+    func_stripname : : "$1"
+    func_to_host_path_tmp1=$func_stripname_result
+    func_to_host_path_result=`cygpath -m -p "$func_to_host_path_tmp1"`
+    func_convert_path_check : ";" \
+      "$func_to_host_path_tmp1" "$func_to_host_path_result"
+    func_convert_path_front_back_pathsep ":*" "*:" ";" "$1"
+  fi
+}
+# end func_convert_path_cygwin_to_w32
+
+
+# func_convert_path_nix_to_w32 ARG
+# Convert path ARG from *nix to w32 format.  Requires a wine environment and
+# a working winepath.  Returns result in func_to_host_file_result.
+func_convert_path_nix_to_w32 ()
+{
+  $opt_debug
+  func_to_host_path_result="$1"
+  if test -n "$1"; then
+    # See func_convert_path_msys_to_w32:
+    func_stripname : : "$1"
+    func_to_host_path_tmp1=$func_stripname_result
+    func_convert_core_path_wine_to_w32 "$func_to_host_path_tmp1"
+    func_to_host_path_result="$func_convert_core_path_wine_to_w32_result"
+    func_convert_path_check : ";" \
+      "$func_to_host_path_tmp1" "$func_to_host_path_result"
+    func_convert_path_front_back_pathsep ":*" "*:" ";" "$1"
+  fi
+}
+# end func_convert_path_nix_to_w32
+
+
+# func_convert_path_msys_to_cygwin ARG
+# Convert path ARG from MSYS to Cygwin format.  Requires LT_CYGPATH set.
+# Returns result in func_to_host_file_result.
+func_convert_path_msys_to_cygwin ()
+{
+  $opt_debug
+  func_to_host_path_result="$1"
+  if test -n "$1"; then
+    # See func_convert_path_msys_to_w32:
+    func_stripname : : "$1"
+    func_to_host_path_tmp1=$func_stripname_result
+    func_convert_core_msys_to_w32 "$func_to_host_path_tmp1"
+    func_cygpath -u -p "$func_convert_core_msys_to_w32_result"
+    func_to_host_path_result="$func_cygpath_result"
+    func_convert_path_check : : \
+      "$func_to_host_path_tmp1" "$func_to_host_path_result"
+    func_convert_path_front_back_pathsep ":*" "*:" : "$1"
+  fi
+}
+# end func_convert_path_msys_to_cygwin
+
+
+# func_convert_path_nix_to_cygwin ARG
+# Convert path ARG from *nix to Cygwin format.  Requires Cygwin installed in a
+# a wine environment, working winepath, and LT_CYGPATH set.  Returns result in
+# func_to_host_file_result.
+func_convert_path_nix_to_cygwin ()
+{
+  $opt_debug
+  func_to_host_path_result="$1"
+  if test -n "$1"; then
+    # Remove leading and trailing path separator characters from
+    # ARG. msys behavior is inconsistent here, cygpath turns them
+    # into '.;' and ';.', and winepath ignores them completely.
+    func_stripname : : "$1"
+    func_to_host_path_tmp1=$func_stripname_result
+    func_convert_core_path_wine_to_w32 "$func_to_host_path_tmp1"
+    func_cygpath -u -p "$func_convert_core_path_wine_to_w32_result"
+    func_to_host_path_result="$func_cygpath_result"
+    func_convert_path_check : : \
+      "$func_to_host_path_tmp1" "$func_to_host_path_result"
+    func_convert_path_front_back_pathsep ":*" "*:" : "$1"
+  fi
+}
+# end func_convert_path_nix_to_cygwin
+
+
+# func_mode_compile arg...
+func_mode_compile ()
+{
+    $opt_debug
+    # Get the compilation command and the source file.
+    base_compile=
+    srcfile="$nonopt"  #  always keep a non-empty value in "srcfile"
+    suppress_opt=yes
+    suppress_output=
+    arg_mode=normal
+    libobj=
+    later=
+    pie_flag=
+
+    for arg
+    do
+      case $arg_mode in
+      arg  )
+	# do not "continue".  Instead, add this to base_compile
+	lastarg="$arg"
+	arg_mode=normal
+	;;
+
+      target )
+	libobj="$arg"
+	arg_mode=normal
+	continue
+	;;
+
+      normal )
+	# Accept any command-line options.
+	case $arg in
+	-o)
+	  test -n "$libobj" && \
+	    func_fatal_error "you cannot specify \`-o' more than once"
+	  arg_mode=target
+	  continue
+	  ;;
+
+	-pie | -fpie | -fPIE)
+          func_append pie_flag " $arg"
+	  continue
+	  ;;
+
+	-shared | -static | -prefer-pic | -prefer-non-pic)
+	  func_append later " $arg"
+	  continue
+	  ;;
+
+	-no-suppress)
+	  suppress_opt=no
+	  continue
+	  ;;
+
+	-Xcompiler)
+	  arg_mode=arg  #  the next one goes into the "base_compile" arg list
+	  continue      #  The current "srcfile" will either be retained or
+	  ;;            #  replaced later.  I would guess that would be a bug.
+
+	-Wc,*)
+	  func_stripname '-Wc,' '' "$arg"
+	  args=$func_stripname_result
+	  lastarg=
+	  save_ifs="$IFS"; IFS=','
+	  for arg in $args; do
+	    IFS="$save_ifs"
+	    func_append_quoted lastarg "$arg"
+	  done
+	  IFS="$save_ifs"
+	  func_stripname ' ' '' "$lastarg"
+	  lastarg=$func_stripname_result
+
+	  # Add the arguments to base_compile.
+	  func_append base_compile " $lastarg"
+	  continue
+	  ;;
+
+	*)
+	  # Accept the current argument as the source file.
+	  # The previous "srcfile" becomes the current argument.
+	  #
+	  lastarg="$srcfile"
+	  srcfile="$arg"
+	  ;;
+	esac  #  case $arg
+	;;
+      esac    #  case $arg_mode
+
+      # Aesthetically quote the previous argument.
+      func_append_quoted base_compile "$lastarg"
+    done # for arg
+
+    case $arg_mode in
+    arg)
+      func_fatal_error "you must specify an argument for -Xcompile"
+      ;;
+    target)
+      func_fatal_error "you must specify a target with \`-o'"
+      ;;
+    *)
+      # Get the name of the library object.
+      test -z "$libobj" && {
+	func_basename "$srcfile"
+	libobj="$func_basename_result"
+      }
+      ;;
+    esac
+
+    # Recognize several different file suffixes.
+    # If the user specifies -o file.o, it is replaced with file.lo
+    case $libobj in
+    *.[cCFSifmso] | \
+    *.ada | *.adb | *.ads | *.asm | \
+    *.c++ | *.cc | *.ii | *.class | *.cpp | *.cxx | \
+    *.[fF][09]? | *.for | *.java | *.go | *.obj | *.sx | *.cu | *.cup)
+      func_xform "$libobj"
+      libobj=$func_xform_result
+      ;;
+    esac
+
+    case $libobj in
+    *.lo) func_lo2o "$libobj"; obj=$func_lo2o_result ;;
+    *)
+      func_fatal_error "cannot determine name of library object from \`$libobj'"
+      ;;
+    esac
+
+    func_infer_tag $base_compile
+
+    for arg in $later; do
+      case $arg in
+      -shared)
+	test "$build_libtool_libs" != yes && \
+	  func_fatal_configuration "can not build a shared library"
+	build_old_libs=no
+	continue
+	;;
+
+      -static)
+	build_libtool_libs=no
+	build_old_libs=yes
+	continue
+	;;
+
+      -prefer-pic)
+	pic_mode=yes
+	continue
+	;;
+
+      -prefer-non-pic)
+	pic_mode=no
+	continue
+	;;
+      esac
+    done
+
+    func_quote_for_eval "$libobj"
+    test "X$libobj" != "X$func_quote_for_eval_result" \
+      && $ECHO "X$libobj" | $GREP '[]~#^*{};<>?"'"'"'	 &()|`$[]' \
+      && func_warning "libobj name \`$libobj' may not contain shell special characters."
+    func_dirname_and_basename "$obj" "/" ""
+    objname="$func_basename_result"
+    xdir="$func_dirname_result"
+    lobj=${xdir}$objdir/$objname
+
+    test -z "$base_compile" && \
+      func_fatal_help "you must specify a compilation command"
+
+    # Delete any leftover library objects.
+    if test "$build_old_libs" = yes; then
+      removelist="$obj $lobj $libobj ${libobj}T"
+    else
+      removelist="$lobj $libobj ${libobj}T"
+    fi
+
+    # On Cygwin there's no "real" PIC flag so we must build both object types
+    case $host_os in
+    cygwin* | mingw* | pw32* | os2* | cegcc*)
+      pic_mode=default
+      ;;
+    esac
+    if test "$pic_mode" = no && test "$deplibs_check_method" != pass_all; then
+      # non-PIC code in shared libraries is not supported
+      pic_mode=default
+    fi
+
+    # Calculate the filename of the output object if compiler does
+    # not support -o with -c
+    if test "$compiler_c_o" = no; then
+      output_obj=`$ECHO "$srcfile" | $SED 's%^.*/%%; s%\.[^.]*$%%'`.${objext}
+      lockfile="$output_obj.lock"
+    else
+      output_obj=
+      need_locks=no
+      lockfile=
+    fi
+
+    # Lock this critical section if it is needed
+    # We use this script file to make the link, it avoids creating a new file
+    if test "$need_locks" = yes; then
+      until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do
+	func_echo "Waiting for $lockfile to be removed"
+	sleep 2
+      done
+    elif test "$need_locks" = warn; then
+      if test -f "$lockfile"; then
+	$ECHO "\
+*** ERROR, $lockfile exists and contains:
+`cat $lockfile 2>/dev/null`
+
+This indicates that another process is trying to use the same
+temporary object file, and libtool could not work around it because
+your compiler does not support \`-c' and \`-o' together.  If you
+repeat this compilation, it may succeed, by chance, but you had better
+avoid parallel builds (make -j) in this platform, or get a better
+compiler."
+
+	$opt_dry_run || $RM $removelist
+	exit $EXIT_FAILURE
+      fi
+      func_append removelist " $output_obj"
+      $ECHO "$srcfile" > "$lockfile"
+    fi
+
+    $opt_dry_run || $RM $removelist
+    func_append removelist " $lockfile"
+    trap '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE' 1 2 15
+
+    func_to_tool_file "$srcfile" func_convert_file_msys_to_w32
+    srcfile=$func_to_tool_file_result
+    func_quote_for_eval "$srcfile"
+    qsrcfile=$func_quote_for_eval_result
+
+    # Only build a PIC object if we are building libtool libraries.
+    if test "$build_libtool_libs" = yes; then
+      # Without this assignment, base_compile gets emptied.
+      fbsd_hideous_sh_bug=$base_compile
+
+      if test "$pic_mode" != no; then
+	command="$base_compile $qsrcfile $pic_flag"
+      else
+	# Don't build PIC code
+	command="$base_compile $qsrcfile"
+      fi
+
+      func_mkdir_p "$xdir$objdir"
+
+      if test -z "$output_obj"; then
+	# Place PIC objects in $objdir
+	func_append command " -o $lobj"
+      fi
+
+      func_show_eval_locale "$command"	\
+          'test -n "$output_obj" && $RM $removelist; exit $EXIT_FAILURE'
+
+      if test "$need_locks" = warn &&
+	 test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then
+	$ECHO "\
+*** ERROR, $lockfile contains:
+`cat $lockfile 2>/dev/null`
+
+but it should contain:
+$srcfile
+
+This indicates that another process is trying to use the same
+temporary object file, and libtool could not work around it because
+your compiler does not support \`-c' and \`-o' together.  If you
+repeat this compilation, it may succeed, by chance, but you had better
+avoid parallel builds (make -j) in this platform, or get a better
+compiler."
+
+	$opt_dry_run || $RM $removelist
+	exit $EXIT_FAILURE
+      fi
+
+      # Just move the object if needed, then go on to compile the next one
+      if test -n "$output_obj" && test "X$output_obj" != "X$lobj"; then
+	func_show_eval '$MV "$output_obj" "$lobj"' \
+	  'error=$?; $opt_dry_run || $RM $removelist; exit $error'
+      fi
+
+      # Allow error messages only from the first compilation.
+      if test "$suppress_opt" = yes; then
+	suppress_output=' >/dev/null 2>&1'
+      fi
+    fi
+
+    # Only build a position-dependent object if we build old libraries.
+    if test "$build_old_libs" = yes; then
+      if test "$pic_mode" != yes; then
+	# Don't build PIC code
+	command="$base_compile $qsrcfile$pie_flag"
+      else
+	command="$base_compile $qsrcfile $pic_flag"
+      fi
+      if test "$compiler_c_o" = yes; then
+	func_append command " -o $obj"
+      fi
+
+      # Suppress compiler output if we already did a PIC compilation.
+      func_append command "$suppress_output"
+      func_show_eval_locale "$command" \
+        '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE'
+
+      if test "$need_locks" = warn &&
+	 test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then
+	$ECHO "\
+*** ERROR, $lockfile contains:
+`cat $lockfile 2>/dev/null`
+
+but it should contain:
+$srcfile
+
+This indicates that another process is trying to use the same
+temporary object file, and libtool could not work around it because
+your compiler does not support \`-c' and \`-o' together.  If you
+repeat this compilation, it may succeed, by chance, but you had better
+avoid parallel builds (make -j) in this platform, or get a better
+compiler."
+
+	$opt_dry_run || $RM $removelist
+	exit $EXIT_FAILURE
+      fi
+
+      # Just move the object if needed
+      if test -n "$output_obj" && test "X$output_obj" != "X$obj"; then
+	func_show_eval '$MV "$output_obj" "$obj"' \
+	  'error=$?; $opt_dry_run || $RM $removelist; exit $error'
+      fi
+    fi
+
+    $opt_dry_run || {
+      func_write_libtool_object "$libobj" "$objdir/$objname" "$objname"
+
+      # Unlock the critical section if it was locked
+      if test "$need_locks" != no; then
+	removelist=$lockfile
+        $RM "$lockfile"
+      fi
+    }
+
+    exit $EXIT_SUCCESS
+}
+
+$opt_help || {
+  test "$opt_mode" = compile && func_mode_compile ${1+"$@"}
+}
+
+func_mode_help ()
+{
+    # We need to display help for each of the modes.
+    case $opt_mode in
+      "")
+        # Generic help is extracted from the usage comments
+        # at the start of this file.
+        func_help
+        ;;
+
+      clean)
+        $ECHO \
+"Usage: $progname [OPTION]... --mode=clean RM [RM-OPTION]... FILE...
+
+Remove files from the build directory.
+
+RM is the name of the program to use to delete files associated with each FILE
+(typically \`/bin/rm').  RM-OPTIONS are options (such as \`-f') to be passed
+to RM.
+
+If FILE is a libtool library, object or program, all the files associated
+with it are deleted. Otherwise, only FILE itself is deleted using RM."
+        ;;
+
+      compile)
+      $ECHO \
+"Usage: $progname [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE
+
+Compile a source file into a libtool library object.
+
+This mode accepts the following additional options:
+
+  -o OUTPUT-FILE    set the output file name to OUTPUT-FILE
+  -no-suppress      do not suppress compiler output for multiple passes
+  -prefer-pic       try to build PIC objects only
+  -prefer-non-pic   try to build non-PIC objects only
+  -shared           do not build a \`.o' file suitable for static linking
+  -static           only build a \`.o' file suitable for static linking
+  -Wc,FLAG          pass FLAG directly to the compiler
+
+COMPILE-COMMAND is a command to be used in creating a \`standard' object file
+from the given SOURCEFILE.
+
+The output file name is determined by removing the directory component from
+SOURCEFILE, then substituting the C source code suffix \`.c' with the
+library object suffix, \`.lo'."
+        ;;
+
+      execute)
+        $ECHO \
+"Usage: $progname [OPTION]... --mode=execute COMMAND [ARGS]...
+
+Automatically set library path, then run a program.
+
+This mode accepts the following additional options:
+
+  -dlopen FILE      add the directory containing FILE to the library path
+
+This mode sets the library path environment variable according to \`-dlopen'
+flags.
+
+If any of the ARGS are libtool executable wrappers, then they are translated
+into their corresponding uninstalled binary, and any of their required library
+directories are added to the library path.
+
+Then, COMMAND is executed, with ARGS as arguments."
+        ;;
+
+      finish)
+        $ECHO \
+"Usage: $progname [OPTION]... --mode=finish [LIBDIR]...
+
+Complete the installation of libtool libraries.
+
+Each LIBDIR is a directory that contains libtool libraries.
+
+The commands that this mode executes may require superuser privileges.  Use
+the \`--dry-run' option if you just want to see what would be executed."
+        ;;
+
+      install)
+        $ECHO \
+"Usage: $progname [OPTION]... --mode=install INSTALL-COMMAND...
+
+Install executables or libraries.
+
+INSTALL-COMMAND is the installation command.  The first component should be
+either the \`install' or \`cp' program.
+
+The following components of INSTALL-COMMAND are treated specially:
+
+  -inst-prefix-dir PREFIX-DIR  Use PREFIX-DIR as a staging area for installation
+
+The rest of the components are interpreted as arguments to that command (only
+BSD-compatible install options are recognized)."
+        ;;
+
+      link)
+        $ECHO \
+"Usage: $progname [OPTION]... --mode=link LINK-COMMAND...
+
+Link object files or libraries together to form another library, or to
+create an executable program.
+
+LINK-COMMAND is a command using the C compiler that you would use to create
+a program from several object files.
+
+The following components of LINK-COMMAND are treated specially:
+
+  -all-static       do not do any dynamic linking at all
+  -avoid-version    do not add a version suffix if possible
+  -bindir BINDIR    specify path to binaries directory (for systems where
+                    libraries must be found in the PATH setting at runtime)
+  -dlopen FILE      \`-dlpreopen' FILE if it cannot be dlopened at runtime
+  -dlpreopen FILE   link in FILE and add its symbols to lt_preloaded_symbols
+  -export-dynamic   allow symbols from OUTPUT-FILE to be resolved with dlsym(3)
+  -export-symbols SYMFILE
+                    try to export only the symbols listed in SYMFILE
+  -export-symbols-regex REGEX
+                    try to export only the symbols matching REGEX
+  -LLIBDIR          search LIBDIR for required installed libraries
+  -lNAME            OUTPUT-FILE requires the installed library libNAME
+  -module           build a library that can dlopened
+  -no-fast-install  disable the fast-install mode
+  -no-install       link a not-installable executable
+  -no-undefined     declare that a library does not refer to external symbols
+  -o OUTPUT-FILE    create OUTPUT-FILE from the specified objects
+  -objectlist FILE  Use a list of object files found in FILE to specify objects
+  -precious-files-regex REGEX
+                    don't remove output files matching REGEX
+  -release RELEASE  specify package release information
+  -rpath LIBDIR     the created library will eventually be installed in LIBDIR
+  -R[ ]LIBDIR       add LIBDIR to the runtime path of programs and libraries
+  -shared           only do dynamic linking of libtool libraries
+  -shrext SUFFIX    override the standard shared library file extension
+  -static           do not do any dynamic linking of uninstalled libtool libraries
+  -static-libtool-libs
+                    do not do any dynamic linking of libtool libraries
+  -version-info CURRENT[:REVISION[:AGE]]
+                    specify library version info [each variable defaults to 0]
+  -weak LIBNAME     declare that the target provides the LIBNAME interface
+  -Wc,FLAG
+  -Xcompiler FLAG   pass linker-specific FLAG directly to the compiler
+  -Wl,FLAG
+  -Xlinker FLAG     pass linker-specific FLAG directly to the linker
+  -XCClinker FLAG   pass link-specific FLAG to the compiler driver (CC)
+
+All other options (arguments beginning with \`-') are ignored.
+
+Every other argument is treated as a filename.  Files ending in \`.la' are
+treated as uninstalled libtool libraries, other files are standard or library
+object files.
+
+If the OUTPUT-FILE ends in \`.la', then a libtool library is created,
+only library objects (\`.lo' files) may be specified, and \`-rpath' is
+required, except when creating a convenience library.
+
+If OUTPUT-FILE ends in \`.a' or \`.lib', then a standard library is created
+using \`ar' and \`ranlib', or on Windows using \`lib'.
+
+If OUTPUT-FILE ends in \`.lo' or \`.${objext}', then a reloadable object file
+is created, otherwise an executable program is created."
+        ;;
+
+      uninstall)
+        $ECHO \
+"Usage: $progname [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE...
+
+Remove libraries from an installation directory.
+
+RM is the name of the program to use to delete files associated with each FILE
+(typically \`/bin/rm').  RM-OPTIONS are options (such as \`-f') to be passed
+to RM.
+
+If FILE is a libtool library, all the files associated with it are deleted.
+Otherwise, only FILE itself is deleted using RM."
+        ;;
+
+      *)
+        func_fatal_help "invalid operation mode \`$opt_mode'"
+        ;;
+    esac
+
+    echo
+    $ECHO "Try \`$progname --help' for more information about other modes."
+}
+
+# Now that we've collected a possible --mode arg, show help if necessary
+if $opt_help; then
+  if test "$opt_help" = :; then
+    func_mode_help
+  else
+    {
+      func_help noexit
+      for opt_mode in compile link execute install finish uninstall clean; do
+	func_mode_help
+      done
+    } | sed -n '1p; 2,$s/^Usage:/  or: /p'
+    {
+      func_help noexit
+      for opt_mode in compile link execute install finish uninstall clean; do
+	echo
+	func_mode_help
+      done
+    } |
+    sed '1d
+      /^When reporting/,/^Report/{
+	H
+	d
+      }
+      $x
+      /information about other modes/d
+      /more detailed .*MODE/d
+      s/^Usage:.*--mode=\([^ ]*\) .*/Description of \1 mode:/'
+  fi
+  exit $?
+fi
+
+
+# func_mode_execute arg...
+func_mode_execute ()
+{
+    $opt_debug
+    # The first argument is the command name.
+    cmd="$nonopt"
+    test -z "$cmd" && \
+      func_fatal_help "you must specify a COMMAND"
+
+    # Handle -dlopen flags immediately.
+    for file in $opt_dlopen; do
+      test -f "$file" \
+	|| func_fatal_help "\`$file' is not a file"
+
+      dir=
+      case $file in
+      *.la)
+	func_resolve_sysroot "$file"
+	file=$func_resolve_sysroot_result
+
+	# Check to see that this really is a libtool archive.
+	func_lalib_unsafe_p "$file" \
+	  || func_fatal_help "\`$lib' is not a valid libtool archive"
+
+	# Read the libtool library.
+	dlname=
+	library_names=
+	func_source "$file"
+
+	# Skip this library if it cannot be dlopened.
+	if test -z "$dlname"; then
+	  # Warn if it was a shared library.
+	  test -n "$library_names" && \
+	    func_warning "\`$file' was not linked with \`-export-dynamic'"
+	  continue
+	fi
+
+	func_dirname "$file" "" "."
+	dir="$func_dirname_result"
+
+	if test -f "$dir/$objdir/$dlname"; then
+	  func_append dir "/$objdir"
+	else
+	  if test ! -f "$dir/$dlname"; then
+	    func_fatal_error "cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'"
+	  fi
+	fi
+	;;
+
+      *.lo)
+	# Just add the directory containing the .lo file.
+	func_dirname "$file" "" "."
+	dir="$func_dirname_result"
+	;;
+
+      *)
+	func_warning "\`-dlopen' is ignored for non-libtool libraries and objects"
+	continue
+	;;
+      esac
+
+      # Get the absolute pathname.
+      absdir=`cd "$dir" && pwd`
+      test -n "$absdir" && dir="$absdir"
+
+      # Now add the directory to shlibpath_var.
+      if eval "test -z \"\$$shlibpath_var\""; then
+	eval "$shlibpath_var=\"\$dir\""
+      else
+	eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\""
+      fi
+    done
+
+    # This variable tells wrapper scripts just to set shlibpath_var
+    # rather than running their programs.
+    libtool_execute_magic="$magic"
+
+    # Check if any of the arguments is a wrapper script.
+    args=
+    for file
+    do
+      case $file in
+      -* | *.la | *.lo ) ;;
+      *)
+	# Do a test to see if this is really a libtool program.
+	if func_ltwrapper_script_p "$file"; then
+	  func_source "$file"
+	  # Transform arg to wrapped name.
+	  file="$progdir/$program"
+	elif func_ltwrapper_executable_p "$file"; then
+	  func_ltwrapper_scriptname "$file"
+	  func_source "$func_ltwrapper_scriptname_result"
+	  # Transform arg to wrapped name.
+	  file="$progdir/$program"
+	fi
+	;;
+      esac
+      # Quote arguments (to preserve shell metacharacters).
+      func_append_quoted args "$file"
+    done
+
+    if test "X$opt_dry_run" = Xfalse; then
+      if test -n "$shlibpath_var"; then
+	# Export the shlibpath_var.
+	eval "export $shlibpath_var"
+      fi
+
+      # Restore saved environment variables
+      for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES
+      do
+	eval "if test \"\${save_$lt_var+set}\" = set; then
+                $lt_var=\$save_$lt_var; export $lt_var
+	      else
+		$lt_unset $lt_var
+	      fi"
+      done
+
+      # Now prepare to actually exec the command.
+      exec_cmd="\$cmd$args"
+    else
+      # Display what would be done.
+      if test -n "$shlibpath_var"; then
+	eval "\$ECHO \"\$shlibpath_var=\$$shlibpath_var\""
+	echo "export $shlibpath_var"
+      fi
+      $ECHO "$cmd$args"
+      exit $EXIT_SUCCESS
+    fi
+}
+
+test "$opt_mode" = execute && func_mode_execute ${1+"$@"}
+
+
+# func_mode_finish arg...
+func_mode_finish ()
+{
+    $opt_debug
+    libs=
+    libdirs=
+    admincmds=
+
+    for opt in "$nonopt" ${1+"$@"}
+    do
+      if test -d "$opt"; then
+	func_append libdirs " $opt"
+
+      elif test -f "$opt"; then
+	if func_lalib_unsafe_p "$opt"; then
+	  func_append libs " $opt"
+	else
+	  func_warning "\`$opt' is not a valid libtool archive"
+	fi
+
+      else
+	func_fatal_error "invalid argument \`$opt'"
+      fi
+    done
+
+    if test -n "$libs"; then
+      if test -n "$lt_sysroot"; then
+        sysroot_regex=`$ECHO "$lt_sysroot" | $SED "$sed_make_literal_regex"`
+        sysroot_cmd="s/\([ ']\)$sysroot_regex/\1/g;"
+      else
+        sysroot_cmd=
+      fi
+
+      # Remove sysroot references
+      if $opt_dry_run; then
+        for lib in $libs; do
+          echo "removing references to $lt_sysroot and \`=' prefixes from $lib"
+        done
+      else
+        tmpdir=`func_mktempdir`
+        for lib in $libs; do
+	  sed -e "${sysroot_cmd} s/\([ ']-[LR]\)=/\1/g; s/\([ ']\)=/\1/g" $lib \
+	    > $tmpdir/tmp-la
+	  mv -f $tmpdir/tmp-la $lib
+	done
+        ${RM}r "$tmpdir"
+      fi
+    fi
+
+    if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then
+      for libdir in $libdirs; do
+	if test -n "$finish_cmds"; then
+	  # Do each command in the finish commands.
+	  func_execute_cmds "$finish_cmds" 'admincmds="$admincmds
+'"$cmd"'"'
+	fi
+	if test -n "$finish_eval"; then
+	  # Do the single finish_eval.
+	  eval cmds=\"$finish_eval\"
+	  $opt_dry_run || eval "$cmds" || func_append admincmds "
+       $cmds"
+	fi
+      done
+    fi
+
+    # Exit here if they wanted silent mode.
+    $opt_silent && exit $EXIT_SUCCESS
+
+    if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then
+      echo "----------------------------------------------------------------------"
+      echo "Libraries have been installed in:"
+      for libdir in $libdirs; do
+	$ECHO "   $libdir"
+      done
+      echo
+      echo "If you ever happen to want to link against installed libraries"
+      echo "in a given directory, LIBDIR, you must either use libtool, and"
+      echo "specify the full pathname of the library, or use the \`-LLIBDIR'"
+      echo "flag during linking and do at least one of the following:"
+      if test -n "$shlibpath_var"; then
+	echo "   - add LIBDIR to the \`$shlibpath_var' environment variable"
+	echo "     during execution"
+      fi
+      if test -n "$runpath_var"; then
+	echo "   - add LIBDIR to the \`$runpath_var' environment variable"
+	echo "     during linking"
+      fi
+      if test -n "$hardcode_libdir_flag_spec"; then
+	libdir=LIBDIR
+	eval flag=\"$hardcode_libdir_flag_spec\"
+
+	$ECHO "   - use the \`$flag' linker flag"
+      fi
+      if test -n "$admincmds"; then
+	$ECHO "   - have your system administrator run these commands:$admincmds"
+      fi
+      if test -f /etc/ld.so.conf; then
+	echo "   - have your system administrator add LIBDIR to \`/etc/ld.so.conf'"
+      fi
+      echo
+
+      echo "See any operating system documentation about shared libraries for"
+      case $host in
+	solaris2.[6789]|solaris2.1[0-9])
+	  echo "more information, such as the ld(1), crle(1) and ld.so(8) manual"
+	  echo "pages."
+	  ;;
+	*)
+	  echo "more information, such as the ld(1) and ld.so(8) manual pages."
+	  ;;
+      esac
+      echo "----------------------------------------------------------------------"
+    fi
+    exit $EXIT_SUCCESS
+}
+
+test "$opt_mode" = finish && func_mode_finish ${1+"$@"}
+
+
+# func_mode_install arg...
+func_mode_install ()
+{
+    $opt_debug
+    # There may be an optional sh(1) argument at the beginning of
+    # install_prog (especially on Windows NT).
+    if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh ||
+       # Allow the use of GNU shtool's install command.
+       case $nonopt in *shtool*) :;; *) false;; esac; then
+      # Aesthetically quote it.
+      func_quote_for_eval "$nonopt"
+      install_prog="$func_quote_for_eval_result "
+      arg=$1
+      shift
+    else
+      install_prog=
+      arg=$nonopt
+    fi
+
+    # The real first argument should be the name of the installation program.
+    # Aesthetically quote it.
+    func_quote_for_eval "$arg"
+    func_append install_prog "$func_quote_for_eval_result"
+    install_shared_prog=$install_prog
+    case " $install_prog " in
+      *[\\\ /]cp\ *) install_cp=: ;;
+      *) install_cp=false ;;
+    esac
+
+    # We need to accept at least all the BSD install flags.
+    dest=
+    files=
+    opts=
+    prev=
+    install_type=
+    isdir=no
+    stripme=
+    no_mode=:
+    for arg
+    do
+      arg2=
+      if test -n "$dest"; then
+	func_append files " $dest"
+	dest=$arg
+	continue
+      fi
+
+      case $arg in
+      -d) isdir=yes ;;
+      -f)
+	if $install_cp; then :; else
+	  prev=$arg
+	fi
+	;;
+      -g | -m | -o)
+	prev=$arg
+	;;
+      -s)
+	stripme=" -s"
+	continue
+	;;
+      -*)
+	;;
+      *)
+	# If the previous option needed an argument, then skip it.
+	if test -n "$prev"; then
+	  if test "x$prev" = x-m && test -n "$install_override_mode"; then
+	    arg2=$install_override_mode
+	    no_mode=false
+	  fi
+	  prev=
+	else
+	  dest=$arg
+	  continue
+	fi
+	;;
+      esac
+
+      # Aesthetically quote the argument.
+      func_quote_for_eval "$arg"
+      func_append install_prog " $func_quote_for_eval_result"
+      if test -n "$arg2"; then
+	func_quote_for_eval "$arg2"
+      fi
+      func_append install_shared_prog " $func_quote_for_eval_result"
+    done
+
+    test -z "$install_prog" && \
+      func_fatal_help "you must specify an install program"
+
+    test -n "$prev" && \
+      func_fatal_help "the \`$prev' option requires an argument"
+
+    if test -n "$install_override_mode" && $no_mode; then
+      if $install_cp; then :; else
+	func_quote_for_eval "$install_override_mode"
+	func_append install_shared_prog " -m $func_quote_for_eval_result"
+      fi
+    fi
+
+    if test -z "$files"; then
+      if test -z "$dest"; then
+	func_fatal_help "no file or destination specified"
+      else
+	func_fatal_help "you must specify a destination"
+      fi
+    fi
+
+    # Strip any trailing slash from the destination.
+    func_stripname '' '/' "$dest"
+    dest=$func_stripname_result
+
+    # Check to see that the destination is a directory.
+    test -d "$dest" && isdir=yes
+    if test "$isdir" = yes; then
+      destdir="$dest"
+      destname=
+    else
+      func_dirname_and_basename "$dest" "" "."
+      destdir="$func_dirname_result"
+      destname="$func_basename_result"
+
+      # Not a directory, so check to see that there is only one file specified.
+      set dummy $files; shift
+      test "$#" -gt 1 && \
+	func_fatal_help "\`$dest' is not a directory"
+    fi
+    case $destdir in
+    [\\/]* | [A-Za-z]:[\\/]*) ;;
+    *)
+      for file in $files; do
+	case $file in
+	*.lo) ;;
+	*)
+	  func_fatal_help "\`$destdir' must be an absolute directory name"
+	  ;;
+	esac
+      done
+      ;;
+    esac
+
+    # This variable tells wrapper scripts just to set variables rather
+    # than running their programs.
+    libtool_install_magic="$magic"
+
+    staticlibs=
+    future_libdirs=
+    current_libdirs=
+    for file in $files; do
+
+      # Do each installation.
+      case $file in
+      *.$libext)
+	# Do the static libraries later.
+	func_append staticlibs " $file"
+	;;
+
+      *.la)
+	func_resolve_sysroot "$file"
+	file=$func_resolve_sysroot_result
+
+	# Check to see that this really is a libtool archive.
+	func_lalib_unsafe_p "$file" \
+	  || func_fatal_help "\`$file' is not a valid libtool archive"
+
+	library_names=
+	old_library=
+	relink_command=
+	func_source "$file"
+
+	# Add the libdir to current_libdirs if it is the destination.
+	if test "X$destdir" = "X$libdir"; then
+	  case "$current_libdirs " in
+	  *" $libdir "*) ;;
+	  *) func_append current_libdirs " $libdir" ;;
+	  esac
+	else
+	  # Note the libdir as a future libdir.
+	  case "$future_libdirs " in
+	  *" $libdir "*) ;;
+	  *) func_append future_libdirs " $libdir" ;;
+	  esac
+	fi
+
+	func_dirname "$file" "/" ""
+	dir="$func_dirname_result"
+	func_append dir "$objdir"
+
+	if test -n "$relink_command"; then
+	  # Determine the prefix the user has applied to our future dir.
+	  inst_prefix_dir=`$ECHO "$destdir" | $SED -e "s%$libdir\$%%"`
+
+	  # Don't allow the user to place us outside of our expected
+	  # location b/c this prevents finding dependent libraries that
+	  # are installed to the same prefix.
+	  # At present, this check doesn't affect windows .dll's that
+	  # are installed into $libdir/../bin (currently, that works fine)
+	  # but it's something to keep an eye on.
+	  test "$inst_prefix_dir" = "$destdir" && \
+	    func_fatal_error "error: cannot install \`$file' to a directory not ending in $libdir"
+
+	  if test -n "$inst_prefix_dir"; then
+	    # Stick the inst_prefix_dir data into the link command.
+	    relink_command=`$ECHO "$relink_command" | $SED "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"`
+	  else
+	    relink_command=`$ECHO "$relink_command" | $SED "s%@inst_prefix_dir@%%"`
+	  fi
+
+	  func_warning "relinking \`$file'"
+	  func_show_eval "$relink_command" \
+	    'func_fatal_error "error: relink \`$file'\'' with the above command before installing it"'
+	fi
+
+	# See the names of the shared library.
+	set dummy $library_names; shift
+	if test -n "$1"; then
+	  realname="$1"
+	  shift
+
+	  srcname="$realname"
+	  test -n "$relink_command" && srcname="$realname"T
+
+	  # Install the shared library and build the symlinks.
+	  func_show_eval "$install_shared_prog $dir/$srcname $destdir/$realname" \
+	      'exit $?'
+	  tstripme="$stripme"
+	  case $host_os in
+	  cygwin* | mingw* | pw32* | cegcc*)
+	    case $realname in
+	    *.dll.a)
+	      tstripme=""
+	      ;;
+	    esac
+	    ;;
+	  esac
+	  if test -n "$tstripme" && test -n "$striplib"; then
+	    func_show_eval "$striplib $destdir/$realname" 'exit $?'
+	  fi
+
+	  if test "$#" -gt 0; then
+	    # Delete the old symlinks, and create new ones.
+	    # Try `ln -sf' first, because the `ln' binary might depend on
+	    # the symlink we replace!  Solaris /bin/ln does not understand -f,
+	    # so we also need to try rm && ln -s.
+	    for linkname
+	    do
+	      test "$linkname" != "$realname" \
+		&& func_show_eval "(cd $destdir && { $LN_S -f $realname $linkname || { $RM $linkname && $LN_S $realname $linkname; }; })"
+	    done
+	  fi
+
+	  # Do each command in the postinstall commands.
+	  lib="$destdir/$realname"
+	  func_execute_cmds "$postinstall_cmds" 'exit $?'
+	fi
+
+	# Install the pseudo-library for information purposes.
+	func_basename "$file"
+	name="$func_basename_result"
+	instname="$dir/$name"i
+	func_show_eval "$install_prog $instname $destdir/$name" 'exit $?'
+
+	# Maybe install the static library, too.
+	test -n "$old_library" && func_append staticlibs " $dir/$old_library"
+	;;
+
+      *.lo)
+	# Install (i.e. copy) a libtool object.
+
+	# Figure out destination file name, if it wasn't already specified.
+	if test -n "$destname"; then
+	  destfile="$destdir/$destname"
+	else
+	  func_basename "$file"
+	  destfile="$func_basename_result"
+	  destfile="$destdir/$destfile"
+	fi
+
+	# Deduce the name of the destination old-style object file.
+	case $destfile in
+	*.lo)
+	  func_lo2o "$destfile"
+	  staticdest=$func_lo2o_result
+	  ;;
+	*.$objext)
+	  staticdest="$destfile"
+	  destfile=
+	  ;;
+	*)
+	  func_fatal_help "cannot copy a libtool object to \`$destfile'"
+	  ;;
+	esac
+
+	# Install the libtool object if requested.
+	test -n "$destfile" && \
+	  func_show_eval "$install_prog $file $destfile" 'exit $?'
+
+	# Install the old object if enabled.
+	if test "$build_old_libs" = yes; then
+	  # Deduce the name of the old-style object file.
+	  func_lo2o "$file"
+	  staticobj=$func_lo2o_result
+	  func_show_eval "$install_prog \$staticobj \$staticdest" 'exit $?'
+	fi
+	exit $EXIT_SUCCESS
+	;;
+
+      *)
+	# Figure out destination file name, if it wasn't already specified.
+	if test -n "$destname"; then
+	  destfile="$destdir/$destname"
+	else
+	  func_basename "$file"
+	  destfile="$func_basename_result"
+	  destfile="$destdir/$destfile"
+	fi
+
+	# If the file is missing, and there is a .exe on the end, strip it
+	# because it is most likely a libtool script we actually want to
+	# install
+	stripped_ext=""
+	case $file in
+	  *.exe)
+	    if test ! -f "$file"; then
+	      func_stripname '' '.exe' "$file"
+	      file=$func_stripname_result
+	      stripped_ext=".exe"
+	    fi
+	    ;;
+	esac
+
+	# Do a test to see if this is really a libtool program.
+	case $host in
+	*cygwin* | *mingw*)
+	    if func_ltwrapper_executable_p "$file"; then
+	      func_ltwrapper_scriptname "$file"
+	      wrapper=$func_ltwrapper_scriptname_result
+	    else
+	      func_stripname '' '.exe' "$file"
+	      wrapper=$func_stripname_result
+	    fi
+	    ;;
+	*)
+	    wrapper=$file
+	    ;;
+	esac
+	if func_ltwrapper_script_p "$wrapper"; then
+	  notinst_deplibs=
+	  relink_command=
+
+	  func_source "$wrapper"
+
+	  # Check the variables that should have been set.
+	  test -z "$generated_by_libtool_version" && \
+	    func_fatal_error "invalid libtool wrapper script \`$wrapper'"
+
+	  finalize=yes
+	  for lib in $notinst_deplibs; do
+	    # Check to see that each library is installed.
+	    libdir=
+	    if test -f "$lib"; then
+	      func_source "$lib"
+	    fi
+	    libfile="$libdir/"`$ECHO "$lib" | $SED 's%^.*/%%g'` ### testsuite: skip nested quoting test
+	    if test -n "$libdir" && test ! -f "$libfile"; then
+	      func_warning "\`$lib' has not been installed in \`$libdir'"
+	      finalize=no
+	    fi
+	  done
+
+	  relink_command=
+	  func_source "$wrapper"
+
+	  outputname=
+	  if test "$fast_install" = no && test -n "$relink_command"; then
+	    $opt_dry_run || {
+	      if test "$finalize" = yes; then
+	        tmpdir=`func_mktempdir`
+		func_basename "$file$stripped_ext"
+		file="$func_basename_result"
+	        outputname="$tmpdir/$file"
+	        # Replace the output file specification.
+	        relink_command=`$ECHO "$relink_command" | $SED 's%@OUTPUT@%'"$outputname"'%g'`
+
+	        $opt_silent || {
+	          func_quote_for_expand "$relink_command"
+		  eval "func_echo $func_quote_for_expand_result"
+	        }
+	        if eval "$relink_command"; then :
+	          else
+		  func_error "error: relink \`$file' with the above command before installing it"
+		  $opt_dry_run || ${RM}r "$tmpdir"
+		  continue
+	        fi
+	        file="$outputname"
+	      else
+	        func_warning "cannot relink \`$file'"
+	      fi
+	    }
+	  else
+	    # Install the binary that we compiled earlier.
+	    file=`$ECHO "$file$stripped_ext" | $SED "s%\([^/]*\)$%$objdir/\1%"`
+	  fi
+	fi
+
+	# remove .exe since cygwin /usr/bin/install will append another
+	# one anyway
+	case $install_prog,$host in
+	*/usr/bin/install*,*cygwin*)
+	  case $file:$destfile in
+	  *.exe:*.exe)
+	    # this is ok
+	    ;;
+	  *.exe:*)
+	    destfile=$destfile.exe
+	    ;;
+	  *:*.exe)
+	    func_stripname '' '.exe' "$destfile"
+	    destfile=$func_stripname_result
+	    ;;
+	  esac
+	  ;;
+	esac
+	func_show_eval "$install_prog\$stripme \$file \$destfile" 'exit $?'
+	$opt_dry_run || if test -n "$outputname"; then
+	  ${RM}r "$tmpdir"
+	fi
+	;;
+      esac
+    done
+
+    for file in $staticlibs; do
+      func_basename "$file"
+      name="$func_basename_result"
+
+      # Set up the ranlib parameters.
+      oldlib="$destdir/$name"
+      func_to_tool_file "$oldlib" func_convert_file_msys_to_w32
+      tool_oldlib=$func_to_tool_file_result
+
+      func_show_eval "$install_prog \$file \$oldlib" 'exit $?'
+
+      if test -n "$stripme" && test -n "$old_striplib"; then
+	func_show_eval "$old_striplib $tool_oldlib" 'exit $?'
+      fi
+
+      # Do each command in the postinstall commands.
+      func_execute_cmds "$old_postinstall_cmds" 'exit $?'
+    done
+
+    test -n "$future_libdirs" && \
+      func_warning "remember to run \`$progname --finish$future_libdirs'"
+
+    if test -n "$current_libdirs"; then
+      # Maybe just do a dry run.
+      $opt_dry_run && current_libdirs=" -n$current_libdirs"
+      exec_cmd='$SHELL $progpath $preserve_args --finish$current_libdirs'
+    else
+      exit $EXIT_SUCCESS
+    fi
+}
+
+test "$opt_mode" = install && func_mode_install ${1+"$@"}
+
+
+# func_generate_dlsyms outputname originator pic_p
+# Extract symbols from dlprefiles and create ${outputname}S.o with
+# a dlpreopen symbol table.
+func_generate_dlsyms ()
+{
+    $opt_debug
+    my_outputname="$1"
+    my_originator="$2"
+    my_pic_p="${3-no}"
+    my_prefix=`$ECHO "$my_originator" | sed 's%[^a-zA-Z0-9]%_%g'`
+    my_dlsyms=
+
+    if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
+      if test -n "$NM" && test -n "$global_symbol_pipe"; then
+	my_dlsyms="${my_outputname}S.c"
+      else
+	func_error "not configured to extract global symbols from dlpreopened files"
+      fi
+    fi
+
+    if test -n "$my_dlsyms"; then
+      case $my_dlsyms in
+      "") ;;
+      *.c)
+	# Discover the nlist of each of the dlfiles.
+	nlist="$output_objdir/${my_outputname}.nm"
+
+	func_show_eval "$RM $nlist ${nlist}S ${nlist}T"
+
+	# Parse the name list into a source file.
+	func_verbose "creating $output_objdir/$my_dlsyms"
+
+	$opt_dry_run || $ECHO > "$output_objdir/$my_dlsyms" "\
+/* $my_dlsyms - symbol resolution table for \`$my_outputname' dlsym emulation. */
+/* Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION */
+
+#ifdef __cplusplus
+extern \"C\" {
+#endif
+
+#if defined(__GNUC__) && (((__GNUC__ == 4) && (__GNUC_MINOR__ >= 4)) || (__GNUC__ > 4))
+#pragma GCC diagnostic ignored \"-Wstrict-prototypes\"
+#endif
+
+/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests.  */
+#if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE)
+/* DATA imports from DLLs on WIN32 con't be const, because runtime
+   relocations are performed -- see ld's documentation on pseudo-relocs.  */
+# define LT_DLSYM_CONST
+#elif defined(__osf__)
+/* This system does not cope well with relocations in const data.  */
+# define LT_DLSYM_CONST
+#else
+# define LT_DLSYM_CONST const
+#endif
+
+/* External symbol declarations for the compiler. */\
+"
+
+	if test "$dlself" = yes; then
+	  func_verbose "generating symbol list for \`$output'"
+
+	  $opt_dry_run || echo ': @PROGRAM@ ' > "$nlist"
+
+	  # Add our own program objects to the symbol list.
+	  progfiles=`$ECHO "$objs$old_deplibs" | $SP2NL | $SED "$lo2o" | $NL2SP`
+	  for progfile in $progfiles; do
+	    func_to_tool_file "$progfile" func_convert_file_msys_to_w32
+	    func_verbose "extracting global C symbols from \`$func_to_tool_file_result'"
+	    $opt_dry_run || eval "$NM $func_to_tool_file_result | $global_symbol_pipe >> '$nlist'"
+	  done
+
+	  if test -n "$exclude_expsyms"; then
+	    $opt_dry_run || {
+	      eval '$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T'
+	      eval '$MV "$nlist"T "$nlist"'
+	    }
+	  fi
+
+	  if test -n "$export_symbols_regex"; then
+	    $opt_dry_run || {
+	      eval '$EGREP -e "$export_symbols_regex" "$nlist" > "$nlist"T'
+	      eval '$MV "$nlist"T "$nlist"'
+	    }
+	  fi
+
+	  # Prepare the list of exported symbols
+	  if test -z "$export_symbols"; then
+	    export_symbols="$output_objdir/$outputname.exp"
+	    $opt_dry_run || {
+	      $RM $export_symbols
+	      eval "${SED} -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"'
+	      case $host in
+	      *cygwin* | *mingw* | *cegcc* )
+                eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
+                eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"'
+	        ;;
+	      esac
+	    }
+	  else
+	    $opt_dry_run || {
+	      eval "${SED} -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"'
+	      eval '$GREP -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T'
+	      eval '$MV "$nlist"T "$nlist"'
+	      case $host in
+	        *cygwin* | *mingw* | *cegcc* )
+	          eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
+	          eval 'cat "$nlist" >> "$output_objdir/$outputname.def"'
+	          ;;
+	      esac
+	    }
+	  fi
+	fi
+
+	for dlprefile in $dlprefiles; do
+	  func_verbose "extracting global C symbols from \`$dlprefile'"
+	  func_basename "$dlprefile"
+	  name="$func_basename_result"
+          case $host in
+	    *cygwin* | *mingw* | *cegcc* )
+	      # if an import library, we need to obtain dlname
+	      if func_win32_import_lib_p "$dlprefile"; then
+	        func_tr_sh "$dlprefile"
+	        eval "curr_lafile=\$libfile_$func_tr_sh_result"
+	        dlprefile_dlbasename=""
+	        if test -n "$curr_lafile" && func_lalib_p "$curr_lafile"; then
+	          # Use subshell, to avoid clobbering current variable values
+	          dlprefile_dlname=`source "$curr_lafile" && echo "$dlname"`
+	          if test -n "$dlprefile_dlname" ; then
+	            func_basename "$dlprefile_dlname"
+	            dlprefile_dlbasename="$func_basename_result"
+	          else
+	            # no lafile. user explicitly requested -dlpreopen <import library>.
+	            $sharedlib_from_linklib_cmd "$dlprefile"
+	            dlprefile_dlbasename=$sharedlib_from_linklib_result
+	          fi
+	        fi
+	        $opt_dry_run || {
+	          if test -n "$dlprefile_dlbasename" ; then
+	            eval '$ECHO ": $dlprefile_dlbasename" >> "$nlist"'
+	          else
+	            func_warning "Could not compute DLL name from $name"
+	            eval '$ECHO ": $name " >> "$nlist"'
+	          fi
+	          func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32
+	          eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe |
+	            $SED -e '/I __imp/d' -e 's/I __nm_/D /;s/_nm__//' >> '$nlist'"
+	        }
+	      else # not an import lib
+	        $opt_dry_run || {
+	          eval '$ECHO ": $name " >> "$nlist"'
+	          func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32
+	          eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe >> '$nlist'"
+	        }
+	      fi
+	    ;;
+	    *)
+	      $opt_dry_run || {
+	        eval '$ECHO ": $name " >> "$nlist"'
+	        func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32
+	        eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe >> '$nlist'"
+	      }
+	    ;;
+          esac
+	done
+
+	$opt_dry_run || {
+	  # Make sure we have at least an empty file.
+	  test -f "$nlist" || : > "$nlist"
+
+	  if test -n "$exclude_expsyms"; then
+	    $EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T
+	    $MV "$nlist"T "$nlist"
+	  fi
+
+	  # Try sorting and uniquifying the output.
+	  if $GREP -v "^: " < "$nlist" |
+	      if sort -k 3 </dev/null >/dev/null 2>&1; then
+		sort -k 3
+	      else
+		sort +2
+	      fi |
+	      uniq > "$nlist"S; then
+	    :
+	  else
+	    $GREP -v "^: " < "$nlist" > "$nlist"S
+	  fi
+
+	  if test -f "$nlist"S; then
+	    eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$my_dlsyms"'
+	  else
+	    echo '/* NONE */' >> "$output_objdir/$my_dlsyms"
+	  fi
+
+	  echo >> "$output_objdir/$my_dlsyms" "\
+
+/* The mapping between symbol names and symbols.  */
+typedef struct {
+  const char *name;
+  void *address;
+} lt_dlsymlist;
+extern LT_DLSYM_CONST lt_dlsymlist
+lt_${my_prefix}_LTX_preloaded_symbols[];
+LT_DLSYM_CONST lt_dlsymlist
+lt_${my_prefix}_LTX_preloaded_symbols[] =
+{\
+  { \"$my_originator\", (void *) 0 },"
+
+	  case $need_lib_prefix in
+	  no)
+	    eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$my_dlsyms"
+	    ;;
+	  *)
+	    eval "$global_symbol_to_c_name_address_lib_prefix" < "$nlist" >> "$output_objdir/$my_dlsyms"
+	    ;;
+	  esac
+	  echo >> "$output_objdir/$my_dlsyms" "\
+  {0, (void *) 0}
+};
+
+/* This works around a problem in FreeBSD linker */
+#ifdef FREEBSD_WORKAROUND
+static const void *lt_preloaded_setup() {
+  return lt_${my_prefix}_LTX_preloaded_symbols;
+}
+#endif
+
+#ifdef __cplusplus
+}
+#endif\
+"
+	} # !$opt_dry_run
+
+	pic_flag_for_symtable=
+	case "$compile_command " in
+	*" -static "*) ;;
+	*)
+	  case $host in
+	  # compiling the symbol table file with pic_flag works around
+	  # a FreeBSD bug that causes programs to crash when -lm is
+	  # linked before any other PIC object.  But we must not use
+	  # pic_flag when linking with -static.  The problem exists in
+	  # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1.
+	  *-*-freebsd2.*|*-*-freebsd3.0*|*-*-freebsdelf3.0*)
+	    pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND" ;;
+	  *-*-hpux*)
+	    pic_flag_for_symtable=" $pic_flag"  ;;
+	  *)
+	    if test "X$my_pic_p" != Xno; then
+	      pic_flag_for_symtable=" $pic_flag"
+	    fi
+	    ;;
+	  esac
+	  ;;
+	esac
+	symtab_cflags=
+	for arg in $LTCFLAGS; do
+	  case $arg in
+	  -pie | -fpie | -fPIE) ;;
+	  *) func_append symtab_cflags " $arg" ;;
+	  esac
+	done
+
+	# Now compile the dynamic symbol file.
+	func_show_eval '(cd $output_objdir && $LTCC$symtab_cflags -c$no_builtin_flag$pic_flag_for_symtable "$my_dlsyms")' 'exit $?'
+
+	# Clean up the generated files.
+	func_show_eval '$RM "$output_objdir/$my_dlsyms" "$nlist" "${nlist}S" "${nlist}T"'
+
+	# Transform the symbol file into the correct name.
+	symfileobj="$output_objdir/${my_outputname}S.$objext"
+	case $host in
+	*cygwin* | *mingw* | *cegcc* )
+	  if test -f "$output_objdir/$my_outputname.def"; then
+	    compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"`
+	    finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"`
+	  else
+	    compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$symfileobj%"`
+	    finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$symfileobj%"`
+	  fi
+	  ;;
+	*)
+	  compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$symfileobj%"`
+	  finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$symfileobj%"`
+	  ;;
+	esac
+	;;
+      *)
+	func_fatal_error "unknown suffix for \`$my_dlsyms'"
+	;;
+      esac
+    else
+      # We keep going just in case the user didn't refer to
+      # lt_preloaded_symbols.  The linker will fail if global_symbol_pipe
+      # really was required.
+
+      # Nullify the symbol file.
+      compile_command=`$ECHO "$compile_command" | $SED "s% @SYMFILE@%%"`
+      finalize_command=`$ECHO "$finalize_command" | $SED "s% @SYMFILE@%%"`
+    fi
+}
+
+# func_win32_libid arg
+# return the library type of file 'arg'
+#
+# Need a lot of goo to handle *both* DLLs and import libs
+# Has to be a shell function in order to 'eat' the argument
+# that is supplied when $file_magic_command is called.
+# Despite the name, also deal with 64 bit binaries.
+func_win32_libid ()
+{
+  $opt_debug
+  win32_libid_type="unknown"
+  win32_fileres=`file -L $1 2>/dev/null`
+  case $win32_fileres in
+  *ar\ archive\ import\ library*) # definitely import
+    win32_libid_type="x86 archive import"
+    ;;
+  *ar\ archive*) # could be an import, or static
+    # Keep the egrep pattern in sync with the one in _LT_CHECK_MAGIC_METHOD.
+    if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null |
+       $EGREP 'file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' >/dev/null; then
+      func_to_tool_file "$1" func_convert_file_msys_to_w32
+      win32_nmres=`eval $NM -f posix -A \"$func_to_tool_file_result\" |
+	$SED -n -e '
+	    1,100{
+		/ I /{
+		    s,.*,import,
+		    p
+		    q
+		}
+	    }'`
+      case $win32_nmres in
+      import*)  win32_libid_type="x86 archive import";;
+      *)        win32_libid_type="x86 archive static";;
+      esac
+    fi
+    ;;
+  *DLL*)
+    win32_libid_type="x86 DLL"
+    ;;
+  *executable*) # but shell scripts are "executable" too...
+    case $win32_fileres in
+    *MS\ Windows\ PE\ Intel*)
+      win32_libid_type="x86 DLL"
+      ;;
+    esac
+    ;;
+  esac
+  $ECHO "$win32_libid_type"
+}
+
+# func_cygming_dll_for_implib ARG
+#
+# Platform-specific function to extract the
+# name of the DLL associated with the specified
+# import library ARG.
+# Invoked by eval'ing the libtool variable
+#    $sharedlib_from_linklib_cmd
+# Result is available in the variable
+#    $sharedlib_from_linklib_result
+func_cygming_dll_for_implib ()
+{
+  $opt_debug
+  sharedlib_from_linklib_result=`$DLLTOOL --identify-strict --identify "$1"`
+}
+
+# func_cygming_dll_for_implib_fallback_core SECTION_NAME LIBNAMEs
+#
+# The is the core of a fallback implementation of a
+# platform-specific function to extract the name of the
+# DLL associated with the specified import library LIBNAME.
+#
+# SECTION_NAME is either .idata$6 or .idata$7, depending
+# on the platform and compiler that created the implib.
+#
+# Echos the name of the DLL associated with the
+# specified import library.
+func_cygming_dll_for_implib_fallback_core ()
+{
+  $opt_debug
+  match_literal=`$ECHO "$1" | $SED "$sed_make_literal_regex"`
+  $OBJDUMP -s --section "$1" "$2" 2>/dev/null |
+    $SED '/^Contents of section '"$match_literal"':/{
+      # Place marker at beginning of archive member dllname section
+      s/.*/====MARK====/
+      p
+      d
+    }
+    # These lines can sometimes be longer than 43 characters, but
+    # are always uninteresting
+    /:[	 ]*file format pe[i]\{,1\}-/d
+    /^In archive [^:]*:/d
+    # Ensure marker is printed
+    /^====MARK====/p
+    # Remove all lines with less than 43 characters
+    /^.\{43\}/!d
+    # From remaining lines, remove first 43 characters
+    s/^.\{43\}//' |
+    $SED -n '
+      # Join marker and all lines until next marker into a single line
+      /^====MARK====/ b para
+      H
+      $ b para
+      b
+      :para
+      x
+      s/\n//g
+      # Remove the marker
+      s/^====MARK====//
+      # Remove trailing dots and whitespace
+      s/[\. \t]*$//
+      # Print
+      /./p' |
+    # we now have a list, one entry per line, of the stringified
+    # contents of the appropriate section of all members of the
+    # archive which possess that section. Heuristic: eliminate
+    # all those which have a first or second character that is
+    # a '.' (that is, objdump's representation of an unprintable
+    # character.) This should work for all archives with less than
+    # 0x302f exports -- but will fail for DLLs whose name actually
+    # begins with a literal '.' or a single character followed by
+    # a '.'.
+    #
+    # Of those that remain, print the first one.
+    $SED -e '/^\./d;/^.\./d;q'
+}
+
+# func_cygming_gnu_implib_p ARG
+# This predicate returns with zero status (TRUE) if
+# ARG is a GNU/binutils-style import library. Returns
+# with nonzero status (FALSE) otherwise.
+func_cygming_gnu_implib_p ()
+{
+  $opt_debug
+  func_to_tool_file "$1" func_convert_file_msys_to_w32
+  func_cygming_gnu_implib_tmp=`$NM "$func_to_tool_file_result" | eval "$global_symbol_pipe" | $EGREP ' (_head_[A-Za-z0-9_]+_[ad]l*|[A-Za-z0-9_]+_[ad]l*_iname)$'`
+  test -n "$func_cygming_gnu_implib_tmp"
+}
+
+# func_cygming_ms_implib_p ARG
+# This predicate returns with zero status (TRUE) if
+# ARG is an MS-style import library. Returns
+# with nonzero status (FALSE) otherwise.
+func_cygming_ms_implib_p ()
+{
+  $opt_debug
+  func_to_tool_file "$1" func_convert_file_msys_to_w32
+  func_cygming_ms_implib_tmp=`$NM "$func_to_tool_file_result" | eval "$global_symbol_pipe" | $GREP '_NULL_IMPORT_DESCRIPTOR'`
+  test -n "$func_cygming_ms_implib_tmp"
+}
+
+# func_cygming_dll_for_implib_fallback ARG
+# Platform-specific function to extract the
+# name of the DLL associated with the specified
+# import library ARG.
+#
+# This fallback implementation is for use when $DLLTOOL
+# does not support the --identify-strict option.
+# Invoked by eval'ing the libtool variable
+#    $sharedlib_from_linklib_cmd
+# Result is available in the variable
+#    $sharedlib_from_linklib_result
+func_cygming_dll_for_implib_fallback ()
+{
+  $opt_debug
+  if func_cygming_gnu_implib_p "$1" ; then
+    # binutils import library
+    sharedlib_from_linklib_result=`func_cygming_dll_for_implib_fallback_core '.idata$7' "$1"`
+  elif func_cygming_ms_implib_p "$1" ; then
+    # ms-generated import library
+    sharedlib_from_linklib_result=`func_cygming_dll_for_implib_fallback_core '.idata$6' "$1"`
+  else
+    # unknown
+    sharedlib_from_linklib_result=""
+  fi
+}
+
+
+# func_extract_an_archive dir oldlib
+func_extract_an_archive ()
+{
+    $opt_debug
+    f_ex_an_ar_dir="$1"; shift
+    f_ex_an_ar_oldlib="$1"
+    if test "$lock_old_archive_extraction" = yes; then
+      lockfile=$f_ex_an_ar_oldlib.lock
+      until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do
+	func_echo "Waiting for $lockfile to be removed"
+	sleep 2
+      done
+    fi
+    func_show_eval "(cd \$f_ex_an_ar_dir && $AR x \"\$f_ex_an_ar_oldlib\")" \
+		   'stat=$?; rm -f "$lockfile"; exit $stat'
+    if test "$lock_old_archive_extraction" = yes; then
+      $opt_dry_run || rm -f "$lockfile"
+    fi
+    if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then
+     :
+    else
+      func_fatal_error "object name conflicts in archive: $f_ex_an_ar_dir/$f_ex_an_ar_oldlib"
+    fi
+}
+
+
+# func_extract_archives gentop oldlib ...
+func_extract_archives ()
+{
+    $opt_debug
+    my_gentop="$1"; shift
+    my_oldlibs=${1+"$@"}
+    my_oldobjs=""
+    my_xlib=""
+    my_xabs=""
+    my_xdir=""
+
+    for my_xlib in $my_oldlibs; do
+      # Extract the objects.
+      case $my_xlib in
+	[\\/]* | [A-Za-z]:[\\/]*) my_xabs="$my_xlib" ;;
+	*) my_xabs=`pwd`"/$my_xlib" ;;
+      esac
+      func_basename "$my_xlib"
+      my_xlib="$func_basename_result"
+      my_xlib_u=$my_xlib
+      while :; do
+        case " $extracted_archives " in
+	*" $my_xlib_u "*)
+	  func_arith $extracted_serial + 1
+	  extracted_serial=$func_arith_result
+	  my_xlib_u=lt$extracted_serial-$my_xlib ;;
+	*) break ;;
+	esac
+      done
+      extracted_archives="$extracted_archives $my_xlib_u"
+      my_xdir="$my_gentop/$my_xlib_u"
+
+      func_mkdir_p "$my_xdir"
+
+      case $host in
+      *-darwin*)
+	func_verbose "Extracting $my_xabs"
+	# Do not bother doing anything if just a dry run
+	$opt_dry_run || {
+	  darwin_orig_dir=`pwd`
+	  cd $my_xdir || exit $?
+	  darwin_archive=$my_xabs
+	  darwin_curdir=`pwd`
+	  darwin_base_archive=`basename "$darwin_archive"`
+	  darwin_arches=`$LIPO -info "$darwin_archive" 2>/dev/null | $GREP Architectures 2>/dev/null || true`
+	  if test -n "$darwin_arches"; then
+	    darwin_arches=`$ECHO "$darwin_arches" | $SED -e 's/.*are://'`
+	    darwin_arch=
+	    func_verbose "$darwin_base_archive has multiple architectures $darwin_arches"
+	    for darwin_arch in  $darwin_arches ; do
+	      func_mkdir_p "unfat-$$/${darwin_base_archive}-${darwin_arch}"
+	      $LIPO -thin $darwin_arch -output "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" "${darwin_archive}"
+	      cd "unfat-$$/${darwin_base_archive}-${darwin_arch}"
+	      func_extract_an_archive "`pwd`" "${darwin_base_archive}"
+	      cd "$darwin_curdir"
+	      $RM "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}"
+	    done # $darwin_arches
+            ## Okay now we've a bunch of thin objects, gotta fatten them up :)
+	    darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print | $SED -e "$basename" | sort -u`
+	    darwin_file=
+	    darwin_files=
+	    for darwin_file in $darwin_filelist; do
+	      darwin_files=`find unfat-$$ -name $darwin_file -print | sort | $NL2SP`
+	      $LIPO -create -output "$darwin_file" $darwin_files
+	    done # $darwin_filelist
+	    $RM -rf unfat-$$
+	    cd "$darwin_orig_dir"
+	  else
+	    cd $darwin_orig_dir
+	    func_extract_an_archive "$my_xdir" "$my_xabs"
+	  fi # $darwin_arches
+	} # !$opt_dry_run
+	;;
+      *)
+        func_extract_an_archive "$my_xdir" "$my_xabs"
+	;;
+      esac
+      my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | sort | $NL2SP`
+    done
+
+    func_extract_archives_result="$my_oldobjs"
+}
+
+
+# func_emit_wrapper [arg=no]
+#
+# Emit a libtool wrapper script on stdout.
+# Don't directly open a file because we may want to
+# incorporate the script contents within a cygwin/mingw
+# wrapper executable.  Must ONLY be called from within
+# func_mode_link because it depends on a number of variables
+# set therein.
+#
+# ARG is the value that the WRAPPER_SCRIPT_BELONGS_IN_OBJDIR
+# variable will take.  If 'yes', then the emitted script
+# will assume that the directory in which it is stored is
+# the $objdir directory.  This is a cygwin/mingw-specific
+# behavior.
+func_emit_wrapper ()
+{
+	func_emit_wrapper_arg1=${1-no}
+
+	$ECHO "\
+#! $SHELL
+
+# $output - temporary wrapper script for $objdir/$outputname
+# Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION
+#
+# The $output program cannot be directly executed until all the libtool
+# libraries that it depends on are installed.
+#
+# This wrapper script should never be moved out of the build directory.
+# If it is, it will not operate correctly.
+
+# Sed substitution that helps us do robust quoting.  It backslashifies
+# metacharacters that are still active within double-quoted strings.
+sed_quote_subst='$sed_quote_subst'
+
+# Be Bourne compatible
+if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then
+  emulate sh
+  NULLCMD=:
+  # Zsh 3.x and 4.x performs word splitting on \${1+\"\$@\"}, which
+  # is contrary to our usage.  Disable this feature.
+  alias -g '\${1+\"\$@\"}'='\"\$@\"'
+  setopt NO_GLOB_SUBST
+else
+  case \`(set -o) 2>/dev/null\` in *posix*) set -o posix;; esac
+fi
+BIN_SH=xpg4; export BIN_SH # for Tru64
+DUALCASE=1; export DUALCASE # for MKS sh
+
+# The HP-UX ksh and POSIX shell print the target directory to stdout
+# if CDPATH is set.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+relink_command=\"$relink_command\"
+
+# This environment variable determines our operation mode.
+if test \"\$libtool_install_magic\" = \"$magic\"; then
+  # install mode needs the following variables:
+  generated_by_libtool_version='$macro_version'
+  notinst_deplibs='$notinst_deplibs'
+else
+  # When we are sourced in execute mode, \$file and \$ECHO are already set.
+  if test \"\$libtool_execute_magic\" != \"$magic\"; then
+    file=\"\$0\""
+
+    qECHO=`$ECHO "$ECHO" | $SED "$sed_quote_subst"`
+    $ECHO "\
+
+# A function that is used when there is no print builtin or printf.
+func_fallback_echo ()
+{
+  eval 'cat <<_LTECHO_EOF
+\$1
+_LTECHO_EOF'
+}
+    ECHO=\"$qECHO\"
+  fi
+
+# Very basic option parsing. These options are (a) specific to
+# the libtool wrapper, (b) are identical between the wrapper
+# /script/ and the wrapper /executable/ which is used only on
+# windows platforms, and (c) all begin with the string "--lt-"
+# (application programs are unlikely to have options which match
+# this pattern).
+#
+# There are only two supported options: --lt-debug and
+# --lt-dump-script. There is, deliberately, no --lt-help.
+#
+# The first argument to this parsing function should be the
+# script's $0 value, followed by "$@".
+lt_option_debug=
+func_parse_lt_options ()
+{
+  lt_script_arg0=\$0
+  shift
+  for lt_opt
+  do
+    case \"\$lt_opt\" in
+    --lt-debug) lt_option_debug=1 ;;
+    --lt-dump-script)
+        lt_dump_D=\`\$ECHO \"X\$lt_script_arg0\" | $SED -e 's/^X//' -e 's%/[^/]*$%%'\`
+        test \"X\$lt_dump_D\" = \"X\$lt_script_arg0\" && lt_dump_D=.
+        lt_dump_F=\`\$ECHO \"X\$lt_script_arg0\" | $SED -e 's/^X//' -e 's%^.*/%%'\`
+        cat \"\$lt_dump_D/\$lt_dump_F\"
+        exit 0
+      ;;
+    --lt-*)
+        \$ECHO \"Unrecognized --lt- option: '\$lt_opt'\" 1>&2
+        exit 1
+      ;;
+    esac
+  done
+
+  # Print the debug banner immediately:
+  if test -n \"\$lt_option_debug\"; then
+    echo \"${outputname}:${output}:\${LINENO}: libtool wrapper (GNU $PACKAGE$TIMESTAMP) $VERSION\" 1>&2
+  fi
+}
+
+# Used when --lt-debug. Prints its arguments to stdout
+# (redirection is the responsibility of the caller)
+func_lt_dump_args ()
+{
+  lt_dump_args_N=1;
+  for lt_arg
+  do
+    \$ECHO \"${outputname}:${output}:\${LINENO}: newargv[\$lt_dump_args_N]: \$lt_arg\"
+    lt_dump_args_N=\`expr \$lt_dump_args_N + 1\`
+  done
+}
+
+# Core function for launching the target application
+func_exec_program_core ()
+{
+"
+  case $host in
+  # Backslashes separate directories on plain windows
+  *-*-mingw | *-*-os2* | *-cegcc*)
+    $ECHO "\
+      if test -n \"\$lt_option_debug\"; then
+        \$ECHO \"${outputname}:${output}:\${LINENO}: newargv[0]: \$progdir\\\\\$program\" 1>&2
+        func_lt_dump_args \${1+\"\$@\"} 1>&2
+      fi
+      exec \"\$progdir\\\\\$program\" \${1+\"\$@\"}
+"
+    ;;
+
+  *)
+    $ECHO "\
+      if test -n \"\$lt_option_debug\"; then
+        \$ECHO \"${outputname}:${output}:\${LINENO}: newargv[0]: \$progdir/\$program\" 1>&2
+        func_lt_dump_args \${1+\"\$@\"} 1>&2
+      fi
+      exec \"\$progdir/\$program\" \${1+\"\$@\"}
+"
+    ;;
+  esac
+  $ECHO "\
+      \$ECHO \"\$0: cannot exec \$program \$*\" 1>&2
+      exit 1
+}
+
+# A function to encapsulate launching the target application
+# Strips options in the --lt-* namespace from \$@ and
+# launches target application with the remaining arguments.
+func_exec_program ()
+{
+  case \" \$* \" in
+  *\\ --lt-*)
+    for lt_wr_arg
+    do
+      case \$lt_wr_arg in
+      --lt-*) ;;
+      *) set x \"\$@\" \"\$lt_wr_arg\"; shift;;
+      esac
+      shift
+    done ;;
+  esac
+  func_exec_program_core \${1+\"\$@\"}
+}
+
+  # Parse options
+  func_parse_lt_options \"\$0\" \${1+\"\$@\"}
+
+  # Find the directory that this script lives in.
+  thisdir=\`\$ECHO \"\$file\" | $SED 's%/[^/]*$%%'\`
+  test \"x\$thisdir\" = \"x\$file\" && thisdir=.
+
+  # Follow symbolic links until we get to the real thisdir.
+  file=\`ls -ld \"\$file\" | $SED -n 's/.*-> //p'\`
+  while test -n \"\$file\"; do
+    destdir=\`\$ECHO \"\$file\" | $SED 's%/[^/]*\$%%'\`
+
+    # If there was a directory component, then change thisdir.
+    if test \"x\$destdir\" != \"x\$file\"; then
+      case \"\$destdir\" in
+      [\\\\/]* | [A-Za-z]:[\\\\/]*) thisdir=\"\$destdir\" ;;
+      *) thisdir=\"\$thisdir/\$destdir\" ;;
+      esac
+    fi
+
+    file=\`\$ECHO \"\$file\" | $SED 's%^.*/%%'\`
+    file=\`ls -ld \"\$thisdir/\$file\" | $SED -n 's/.*-> //p'\`
+  done
+
+  # Usually 'no', except on cygwin/mingw when embedded into
+  # the cwrapper.
+  WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=$func_emit_wrapper_arg1
+  if test \"\$WRAPPER_SCRIPT_BELONGS_IN_OBJDIR\" = \"yes\"; then
+    # special case for '.'
+    if test \"\$thisdir\" = \".\"; then
+      thisdir=\`pwd\`
+    fi
+    # remove .libs from thisdir
+    case \"\$thisdir\" in
+    *[\\\\/]$objdir ) thisdir=\`\$ECHO \"\$thisdir\" | $SED 's%[\\\\/][^\\\\/]*$%%'\` ;;
+    $objdir )   thisdir=. ;;
+    esac
+  fi
+
+  # Try to get the absolute directory name.
+  absdir=\`cd \"\$thisdir\" && pwd\`
+  test -n \"\$absdir\" && thisdir=\"\$absdir\"
+"
+
+	if test "$fast_install" = yes; then
+	  $ECHO "\
+  program=lt-'$outputname'$exeext
+  progdir=\"\$thisdir/$objdir\"
+
+  if test ! -f \"\$progdir/\$program\" ||
+     { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | ${SED} 1q\`; \\
+       test \"X\$file\" != \"X\$progdir/\$program\"; }; then
+
+    file=\"\$\$-\$program\"
+
+    if test ! -d \"\$progdir\"; then
+      $MKDIR \"\$progdir\"
+    else
+      $RM \"\$progdir/\$file\"
+    fi"
+
+	  $ECHO "\
+
+    # relink executable if necessary
+    if test -n \"\$relink_command\"; then
+      if relink_command_output=\`eval \$relink_command 2>&1\`; then :
+      else
+	$ECHO \"\$relink_command_output\" >&2
+	$RM \"\$progdir/\$file\"
+	exit 1
+      fi
+    fi
+
+    $MV \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null ||
+    { $RM \"\$progdir/\$program\";
+      $MV \"\$progdir/\$file\" \"\$progdir/\$program\"; }
+    $RM \"\$progdir/\$file\"
+  fi"
+	else
+	  $ECHO "\
+  program='$outputname'
+  progdir=\"\$thisdir/$objdir\"
+"
+	fi
+
+	$ECHO "\
+
+  if test -f \"\$progdir/\$program\"; then"
+
+	# fixup the dll searchpath if we need to.
+	#
+	# Fix the DLL searchpath if we need to.  Do this before prepending
+	# to shlibpath, because on Windows, both are PATH and uninstalled
+	# libraries must come first.
+	if test -n "$dllsearchpath"; then
+	  $ECHO "\
+    # Add the dll search path components to the executable PATH
+    PATH=$dllsearchpath:\$PATH
+"
+	fi
+
+	# Export our shlibpath_var if we have one.
+	if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then
+	  $ECHO "\
+    # Add our own library path to $shlibpath_var
+    $shlibpath_var=\"$temp_rpath\$$shlibpath_var\"
+
+    # Some systems cannot cope with colon-terminated $shlibpath_var
+    # The second colon is a workaround for a bug in BeOS R4 sed
+    $shlibpath_var=\`\$ECHO \"\$$shlibpath_var\" | $SED 's/::*\$//'\`
+
+    export $shlibpath_var
+"
+	fi
+
+	$ECHO "\
+    if test \"\$libtool_execute_magic\" != \"$magic\"; then
+      # Run the actual program with our arguments.
+      func_exec_program \${1+\"\$@\"}
+    fi
+  else
+    # The program doesn't exist.
+    \$ECHO \"\$0: error: \\\`\$progdir/\$program' does not exist\" 1>&2
+    \$ECHO \"This script is just a wrapper for \$program.\" 1>&2
+    \$ECHO \"See the $PACKAGE documentation for more information.\" 1>&2
+    exit 1
+  fi
+fi\
+"
+}
+
+
+# func_emit_cwrapperexe_src
+# emit the source code for a wrapper executable on stdout
+# Must ONLY be called from within func_mode_link because
+# it depends on a number of variable set therein.
+func_emit_cwrapperexe_src ()
+{
+	cat <<EOF
+
+/* $cwrappersource - temporary wrapper executable for $objdir/$outputname
+   Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION
+
+   The $output program cannot be directly executed until all the libtool
+   libraries that it depends on are installed.
+
+   This wrapper executable should never be moved out of the build directory.
+   If it is, it will not operate correctly.
+*/
+EOF
+	    cat <<"EOF"
+#ifdef _MSC_VER
+# define _CRT_SECURE_NO_DEPRECATE 1
+#endif
+#include <stdio.h>
+#include <stdlib.h>
+#ifdef _MSC_VER
+# include <direct.h>
+# include <process.h>
+# include <io.h>
+#else
+# include <unistd.h>
+# include <stdint.h>
+# ifdef __CYGWIN__
+#  include <io.h>
+# endif
+#endif
+#include <malloc.h>
+#include <stdarg.h>
+#include <assert.h>
+#include <string.h>
+#include <ctype.h>
+#include <errno.h>
+#include <fcntl.h>
+#include <sys/stat.h>
+
+/* declarations of non-ANSI functions */
+#if defined(__MINGW32__)
+# ifdef __STRICT_ANSI__
+int _putenv (const char *);
+# endif
+#elif defined(__CYGWIN__)
+# ifdef __STRICT_ANSI__
+char *realpath (const char *, char *);
+int putenv (char *);
+int setenv (const char *, const char *, int);
+# endif
+/* #elif defined (other platforms) ... */
+#endif
+
+/* portability defines, excluding path handling macros */
+#if defined(_MSC_VER)
+# define setmode _setmode
+# define stat    _stat
+# define chmod   _chmod
+# define getcwd  _getcwd
+# define putenv  _putenv
+# define S_IXUSR _S_IEXEC
+# ifndef _INTPTR_T_DEFINED
+#  define _INTPTR_T_DEFINED
+#  define intptr_t int
+# endif
+#elif defined(__MINGW32__)
+# define setmode _setmode
+# define stat    _stat
+# define chmod   _chmod
+# define getcwd  _getcwd
+# define putenv  _putenv
+#elif defined(__CYGWIN__)
+# define HAVE_SETENV
+# define FOPEN_WB "wb"
+/* #elif defined (other platforms) ... */
+#endif
+
+#if defined(PATH_MAX)
+# define LT_PATHMAX PATH_MAX
+#elif defined(MAXPATHLEN)
+# define LT_PATHMAX MAXPATHLEN
+#else
+# define LT_PATHMAX 1024
+#endif
+
+#ifndef S_IXOTH
+# define S_IXOTH 0
+#endif
+#ifndef S_IXGRP
+# define S_IXGRP 0
+#endif
+
+/* path handling portability macros */
+#ifndef DIR_SEPARATOR
+# define DIR_SEPARATOR '/'
+# define PATH_SEPARATOR ':'
+#endif
+
+#if defined (_WIN32) || defined (__MSDOS__) || defined (__DJGPP__) || \
+  defined (__OS2__)
+# define HAVE_DOS_BASED_FILE_SYSTEM
+# define FOPEN_WB "wb"
+# ifndef DIR_SEPARATOR_2
+#  define DIR_SEPARATOR_2 '\\'
+# endif
+# ifndef PATH_SEPARATOR_2
+#  define PATH_SEPARATOR_2 ';'
+# endif
+#endif
+
+#ifndef DIR_SEPARATOR_2
+# define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR)
+#else /* DIR_SEPARATOR_2 */
+# define IS_DIR_SEPARATOR(ch) \
+	(((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2))
+#endif /* DIR_SEPARATOR_2 */
+
+#ifndef PATH_SEPARATOR_2
+# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR)
+#else /* PATH_SEPARATOR_2 */
+# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2)
+#endif /* PATH_SEPARATOR_2 */
+
+#ifndef FOPEN_WB
+# define FOPEN_WB "w"
+#endif
+#ifndef _O_BINARY
+# define _O_BINARY 0
+#endif
+
+#define XMALLOC(type, num)      ((type *) xmalloc ((num) * sizeof(type)))
+#define XFREE(stale) do { \
+  if (stale) { free ((void *) stale); stale = 0; } \
+} while (0)
+
+#if defined(LT_DEBUGWRAPPER)
+static int lt_debug = 1;
+#else
+static int lt_debug = 0;
+#endif
+
+const char *program_name = "libtool-wrapper"; /* in case xstrdup fails */
+
+void *xmalloc (size_t num);
+char *xstrdup (const char *string);
+const char *base_name (const char *name);
+char *find_executable (const char *wrapper);
+char *chase_symlinks (const char *pathspec);
+int make_executable (const char *path);
+int check_executable (const char *path);
+char *strendzap (char *str, const char *pat);
+void lt_debugprintf (const char *file, int line, const char *fmt, ...);
+void lt_fatal (const char *file, int line, const char *message, ...);
+static const char *nonnull (const char *s);
+static const char *nonempty (const char *s);
+void lt_setenv (const char *name, const char *value);
+char *lt_extend_str (const char *orig_value, const char *add, int to_end);
+void lt_update_exe_path (const char *name, const char *value);
+void lt_update_lib_path (const char *name, const char *value);
+char **prepare_spawn (char **argv);
+void lt_dump_script (FILE *f);
+EOF
+
+	    cat <<EOF
+volatile const char * MAGIC_EXE = "$magic_exe";
+const char * LIB_PATH_VARNAME = "$shlibpath_var";
+EOF
+
+	    if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then
+              func_to_host_path "$temp_rpath"
+	      cat <<EOF
+const char * LIB_PATH_VALUE   = "$func_to_host_path_result";
+EOF
+	    else
+	      cat <<"EOF"
+const char * LIB_PATH_VALUE   = "";
+EOF
+	    fi
+
+	    if test -n "$dllsearchpath"; then
+              func_to_host_path "$dllsearchpath:"
+	      cat <<EOF
+const char * EXE_PATH_VARNAME = "PATH";
+const char * EXE_PATH_VALUE   = "$func_to_host_path_result";
+EOF
+	    else
+	      cat <<"EOF"
+const char * EXE_PATH_VARNAME = "";
+const char * EXE_PATH_VALUE   = "";
+EOF
+	    fi
+
+	    if test "$fast_install" = yes; then
+	      cat <<EOF
+const char * TARGET_PROGRAM_NAME = "lt-$outputname"; /* hopefully, no .exe */
+EOF
+	    else
+	      cat <<EOF
+const char * TARGET_PROGRAM_NAME = "$outputname"; /* hopefully, no .exe */
+EOF
+	    fi
+
+
+	    cat <<"EOF"
+
+#define LTWRAPPER_OPTION_PREFIX         "--lt-"
+
+static const char *ltwrapper_option_prefix = LTWRAPPER_OPTION_PREFIX;
+static const char *dumpscript_opt       = LTWRAPPER_OPTION_PREFIX "dump-script";
+static const char *debug_opt            = LTWRAPPER_OPTION_PREFIX "debug";
+
+int
+main (int argc, char *argv[])
+{
+  char **newargz;
+  int  newargc;
+  char *tmp_pathspec;
+  char *actual_cwrapper_path;
+  char *actual_cwrapper_name;
+  char *target_name;
+  char *lt_argv_zero;
+  intptr_t rval = 127;
+
+  int i;
+
+  program_name = (char *) xstrdup (base_name (argv[0]));
+  newargz = XMALLOC (char *, argc + 1);
+
+  /* very simple arg parsing; don't want to rely on getopt
+   * also, copy all non cwrapper options to newargz, except
+   * argz[0], which is handled differently
+   */
+  newargc=0;
+  for (i = 1; i < argc; i++)
+    {
+      if (strcmp (argv[i], dumpscript_opt) == 0)
+	{
+EOF
+	    case "$host" in
+	      *mingw* | *cygwin* )
+		# make stdout use "unix" line endings
+		echo "          setmode(1,_O_BINARY);"
+		;;
+	      esac
+
+	    cat <<"EOF"
+	  lt_dump_script (stdout);
+	  return 0;
+	}
+      if (strcmp (argv[i], debug_opt) == 0)
+	{
+          lt_debug = 1;
+          continue;
+	}
+      if (strcmp (argv[i], ltwrapper_option_prefix) == 0)
+        {
+          /* however, if there is an option in the LTWRAPPER_OPTION_PREFIX
+             namespace, but it is not one of the ones we know about and
+             have already dealt with, above (inluding dump-script), then
+             report an error. Otherwise, targets might begin to believe
+             they are allowed to use options in the LTWRAPPER_OPTION_PREFIX
+             namespace. The first time any user complains about this, we'll
+             need to make LTWRAPPER_OPTION_PREFIX a configure-time option
+             or a configure.ac-settable value.
+           */
+          lt_fatal (__FILE__, __LINE__,
+		    "unrecognized %s option: '%s'",
+                    ltwrapper_option_prefix, argv[i]);
+        }
+      /* otherwise ... */
+      newargz[++newargc] = xstrdup (argv[i]);
+    }
+  newargz[++newargc] = NULL;
+
+EOF
+	    cat <<EOF
+  /* The GNU banner must be the first non-error debug message */
+  lt_debugprintf (__FILE__, __LINE__, "libtool wrapper (GNU $PACKAGE$TIMESTAMP) $VERSION\n");
+EOF
+	    cat <<"EOF"
+  lt_debugprintf (__FILE__, __LINE__, "(main) argv[0]: %s\n", argv[0]);
+  lt_debugprintf (__FILE__, __LINE__, "(main) program_name: %s\n", program_name);
+
+  tmp_pathspec = find_executable (argv[0]);
+  if (tmp_pathspec == NULL)
+    lt_fatal (__FILE__, __LINE__, "couldn't find %s", argv[0]);
+  lt_debugprintf (__FILE__, __LINE__,
+                  "(main) found exe (before symlink chase) at: %s\n",
+		  tmp_pathspec);
+
+  actual_cwrapper_path = chase_symlinks (tmp_pathspec);
+  lt_debugprintf (__FILE__, __LINE__,
+                  "(main) found exe (after symlink chase) at: %s\n",
+		  actual_cwrapper_path);
+  XFREE (tmp_pathspec);
+
+  actual_cwrapper_name = xstrdup (base_name (actual_cwrapper_path));
+  strendzap (actual_cwrapper_path, actual_cwrapper_name);
+
+  /* wrapper name transforms */
+  strendzap (actual_cwrapper_name, ".exe");
+  tmp_pathspec = lt_extend_str (actual_cwrapper_name, ".exe", 1);
+  XFREE (actual_cwrapper_name);
+  actual_cwrapper_name = tmp_pathspec;
+  tmp_pathspec = 0;
+
+  /* target_name transforms -- use actual target program name; might have lt- prefix */
+  target_name = xstrdup (base_name (TARGET_PROGRAM_NAME));
+  strendzap (target_name, ".exe");
+  tmp_pathspec = lt_extend_str (target_name, ".exe", 1);
+  XFREE (target_name);
+  target_name = tmp_pathspec;
+  tmp_pathspec = 0;
+
+  lt_debugprintf (__FILE__, __LINE__,
+		  "(main) libtool target name: %s\n",
+		  target_name);
+EOF
+
+	    cat <<EOF
+  newargz[0] =
+    XMALLOC (char, (strlen (actual_cwrapper_path) +
+		    strlen ("$objdir") + 1 + strlen (actual_cwrapper_name) + 1));
+  strcpy (newargz[0], actual_cwrapper_path);
+  strcat (newargz[0], "$objdir");
+  strcat (newargz[0], "/");
+EOF
+
+	    cat <<"EOF"
+  /* stop here, and copy so we don't have to do this twice */
+  tmp_pathspec = xstrdup (newargz[0]);
+
+  /* do NOT want the lt- prefix here, so use actual_cwrapper_name */
+  strcat (newargz[0], actual_cwrapper_name);
+
+  /* DO want the lt- prefix here if it exists, so use target_name */
+  lt_argv_zero = lt_extend_str (tmp_pathspec, target_name, 1);
+  XFREE (tmp_pathspec);
+  tmp_pathspec = NULL;
+EOF
+
+	    case $host_os in
+	      mingw*)
+	    cat <<"EOF"
+  {
+    char* p;
+    while ((p = strchr (newargz[0], '\\')) != NULL)
+      {
+	*p = '/';
+      }
+    while ((p = strchr (lt_argv_zero, '\\')) != NULL)
+      {
+	*p = '/';
+      }
+  }
+EOF
+	    ;;
+	    esac
+
+	    cat <<"EOF"
+  XFREE (target_name);
+  XFREE (actual_cwrapper_path);
+  XFREE (actual_cwrapper_name);
+
+  lt_setenv ("BIN_SH", "xpg4"); /* for Tru64 */
+  lt_setenv ("DUALCASE", "1");  /* for MSK sh */
+  /* Update the DLL searchpath.  EXE_PATH_VALUE ($dllsearchpath) must
+     be prepended before (that is, appear after) LIB_PATH_VALUE ($temp_rpath)
+     because on Windows, both *_VARNAMEs are PATH but uninstalled
+     libraries must come first. */
+  lt_update_exe_path (EXE_PATH_VARNAME, EXE_PATH_VALUE);
+  lt_update_lib_path (LIB_PATH_VARNAME, LIB_PATH_VALUE);
+
+  lt_debugprintf (__FILE__, __LINE__, "(main) lt_argv_zero: %s\n",
+		  nonnull (lt_argv_zero));
+  for (i = 0; i < newargc; i++)
+    {
+      lt_debugprintf (__FILE__, __LINE__, "(main) newargz[%d]: %s\n",
+		      i, nonnull (newargz[i]));
+    }
+
+EOF
+
+	    case $host_os in
+	      mingw*)
+		cat <<"EOF"
+  /* execv doesn't actually work on mingw as expected on unix */
+  newargz = prepare_spawn (newargz);
+  rval = _spawnv (_P_WAIT, lt_argv_zero, (const char * const *) newargz);
+  if (rval == -1)
+    {
+      /* failed to start process */
+      lt_debugprintf (__FILE__, __LINE__,
+		      "(main) failed to launch target \"%s\": %s\n",
+		      lt_argv_zero, nonnull (strerror (errno)));
+      return 127;
+    }
+  return rval;
+EOF
+		;;
+	      *)
+		cat <<"EOF"
+  execv (lt_argv_zero, newargz);
+  return rval; /* =127, but avoids unused variable warning */
+EOF
+		;;
+	    esac
+
+	    cat <<"EOF"
+}
+
+void *
+xmalloc (size_t num)
+{
+  void *p = (void *) malloc (num);
+  if (!p)
+    lt_fatal (__FILE__, __LINE__, "memory exhausted");
+
+  return p;
+}
+
+char *
+xstrdup (const char *string)
+{
+  return string ? strcpy ((char *) xmalloc (strlen (string) + 1),
+			  string) : NULL;
+}
+
+const char *
+base_name (const char *name)
+{
+  const char *base;
+
+#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
+  /* Skip over the disk name in MSDOS pathnames. */
+  if (isalpha ((unsigned char) name[0]) && name[1] == ':')
+    name += 2;
+#endif
+
+  for (base = name; *name; name++)
+    if (IS_DIR_SEPARATOR (*name))
+      base = name + 1;
+  return base;
+}
+
+int
+check_executable (const char *path)
+{
+  struct stat st;
+
+  lt_debugprintf (__FILE__, __LINE__, "(check_executable): %s\n",
+                  nonempty (path));
+  if ((!path) || (!*path))
+    return 0;
+
+  if ((stat (path, &st) >= 0)
+      && (st.st_mode & (S_IXUSR | S_IXGRP | S_IXOTH)))
+    return 1;
+  else
+    return 0;
+}
+
+int
+make_executable (const char *path)
+{
+  int rval = 0;
+  struct stat st;
+
+  lt_debugprintf (__FILE__, __LINE__, "(make_executable): %s\n",
+                  nonempty (path));
+  if ((!path) || (!*path))
+    return 0;
+
+  if (stat (path, &st) >= 0)
+    {
+      rval = chmod (path, st.st_mode | S_IXOTH | S_IXGRP | S_IXUSR);
+    }
+  return rval;
+}
+
+/* Searches for the full path of the wrapper.  Returns
+   newly allocated full path name if found, NULL otherwise
+   Does not chase symlinks, even on platforms that support them.
+*/
+char *
+find_executable (const char *wrapper)
+{
+  int has_slash = 0;
+  const char *p;
+  const char *p_next;
+  /* static buffer for getcwd */
+  char tmp[LT_PATHMAX + 1];
+  int tmp_len;
+  char *concat_name;
+
+  lt_debugprintf (__FILE__, __LINE__, "(find_executable): %s\n",
+                  nonempty (wrapper));
+
+  if ((wrapper == NULL) || (*wrapper == '\0'))
+    return NULL;
+
+  /* Absolute path? */
+#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
+  if (isalpha ((unsigned char) wrapper[0]) && wrapper[1] == ':')
+    {
+      concat_name = xstrdup (wrapper);
+      if (check_executable (concat_name))
+	return concat_name;
+      XFREE (concat_name);
+    }
+  else
+    {
+#endif
+      if (IS_DIR_SEPARATOR (wrapper[0]))
+	{
+	  concat_name = xstrdup (wrapper);
+	  if (check_executable (concat_name))
+	    return concat_name;
+	  XFREE (concat_name);
+	}
+#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
+    }
+#endif
+
+  for (p = wrapper; *p; p++)
+    if (*p == '/')
+      {
+	has_slash = 1;
+	break;
+      }
+  if (!has_slash)
+    {
+      /* no slashes; search PATH */
+      const char *path = getenv ("PATH");
+      if (path != NULL)
+	{
+	  for (p = path; *p; p = p_next)
+	    {
+	      const char *q;
+	      size_t p_len;
+	      for (q = p; *q; q++)
+		if (IS_PATH_SEPARATOR (*q))
+		  break;
+	      p_len = q - p;
+	      p_next = (*q == '\0' ? q : q + 1);
+	      if (p_len == 0)
+		{
+		  /* empty path: current directory */
+		  if (getcwd (tmp, LT_PATHMAX) == NULL)
+		    lt_fatal (__FILE__, __LINE__, "getcwd failed: %s",
+                              nonnull (strerror (errno)));
+		  tmp_len = strlen (tmp);
+		  concat_name =
+		    XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1);
+		  memcpy (concat_name, tmp, tmp_len);
+		  concat_name[tmp_len] = '/';
+		  strcpy (concat_name + tmp_len + 1, wrapper);
+		}
+	      else
+		{
+		  concat_name =
+		    XMALLOC (char, p_len + 1 + strlen (wrapper) + 1);
+		  memcpy (concat_name, p, p_len);
+		  concat_name[p_len] = '/';
+		  strcpy (concat_name + p_len + 1, wrapper);
+		}
+	      if (check_executable (concat_name))
+		return concat_name;
+	      XFREE (concat_name);
+	    }
+	}
+      /* not found in PATH; assume curdir */
+    }
+  /* Relative path | not found in path: prepend cwd */
+  if (getcwd (tmp, LT_PATHMAX) == NULL)
+    lt_fatal (__FILE__, __LINE__, "getcwd failed: %s",
+              nonnull (strerror (errno)));
+  tmp_len = strlen (tmp);
+  concat_name = XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1);
+  memcpy (concat_name, tmp, tmp_len);
+  concat_name[tmp_len] = '/';
+  strcpy (concat_name + tmp_len + 1, wrapper);
+
+  if (check_executable (concat_name))
+    return concat_name;
+  XFREE (concat_name);
+  return NULL;
+}
+
+char *
+chase_symlinks (const char *pathspec)
+{
+#ifndef S_ISLNK
+  return xstrdup (pathspec);
+#else
+  char buf[LT_PATHMAX];
+  struct stat s;
+  char *tmp_pathspec = xstrdup (pathspec);
+  char *p;
+  int has_symlinks = 0;
+  while (strlen (tmp_pathspec) && !has_symlinks)
+    {
+      lt_debugprintf (__FILE__, __LINE__,
+		      "checking path component for symlinks: %s\n",
+		      tmp_pathspec);
+      if (lstat (tmp_pathspec, &s) == 0)
+	{
+	  if (S_ISLNK (s.st_mode) != 0)
+	    {
+	      has_symlinks = 1;
+	      break;
+	    }
+
+	  /* search backwards for last DIR_SEPARATOR */
+	  p = tmp_pathspec + strlen (tmp_pathspec) - 1;
+	  while ((p > tmp_pathspec) && (!IS_DIR_SEPARATOR (*p)))
+	    p--;
+	  if ((p == tmp_pathspec) && (!IS_DIR_SEPARATOR (*p)))
+	    {
+	      /* no more DIR_SEPARATORS left */
+	      break;
+	    }
+	  *p = '\0';
+	}
+      else
+	{
+	  lt_fatal (__FILE__, __LINE__,
+		    "error accessing file \"%s\": %s",
+		    tmp_pathspec, nonnull (strerror (errno)));
+	}
+    }
+  XFREE (tmp_pathspec);
+
+  if (!has_symlinks)
+    {
+      return xstrdup (pathspec);
+    }
+
+  tmp_pathspec = realpath (pathspec, buf);
+  if (tmp_pathspec == 0)
+    {
+      lt_fatal (__FILE__, __LINE__,
+		"could not follow symlinks for %s", pathspec);
+    }
+  return xstrdup (tmp_pathspec);
+#endif
+}
+
+char *
+strendzap (char *str, const char *pat)
+{
+  size_t len, patlen;
+
+  assert (str != NULL);
+  assert (pat != NULL);
+
+  len = strlen (str);
+  patlen = strlen (pat);
+
+  if (patlen <= len)
+    {
+      str += len - patlen;
+      if (strcmp (str, pat) == 0)
+	*str = '\0';
+    }
+  return str;
+}
+
+void
+lt_debugprintf (const char *file, int line, const char *fmt, ...)
+{
+  va_list args;
+  if (lt_debug)
+    {
+      (void) fprintf (stderr, "%s:%s:%d: ", program_name, file, line);
+      va_start (args, fmt);
+      (void) vfprintf (stderr, fmt, args);
+      va_end (args);
+    }
+}
+
+static void
+lt_error_core (int exit_status, const char *file,
+	       int line, const char *mode,
+	       const char *message, va_list ap)
+{
+  fprintf (stderr, "%s:%s:%d: %s: ", program_name, file, line, mode);
+  vfprintf (stderr, message, ap);
+  fprintf (stderr, ".\n");
+
+  if (exit_status >= 0)
+    exit (exit_status);
+}
+
+void
+lt_fatal (const char *file, int line, const char *message, ...)
+{
+  va_list ap;
+  va_start (ap, message);
+  lt_error_core (EXIT_FAILURE, file, line, "FATAL", message, ap);
+  va_end (ap);
+}
+
+static const char *
+nonnull (const char *s)
+{
+  return s ? s : "(null)";
+}
+
+static const char *
+nonempty (const char *s)
+{
+  return (s && !*s) ? "(empty)" : nonnull (s);
+}
+
+void
+lt_setenv (const char *name, const char *value)
+{
+  lt_debugprintf (__FILE__, __LINE__,
+		  "(lt_setenv) setting '%s' to '%s'\n",
+                  nonnull (name), nonnull (value));
+  {
+#ifdef HAVE_SETENV
+    /* always make a copy, for consistency with !HAVE_SETENV */
+    char *str = xstrdup (value);
+    setenv (name, str, 1);
+#else
+    int len = strlen (name) + 1 + strlen (value) + 1;
+    char *str = XMALLOC (char, len);
+    sprintf (str, "%s=%s", name, value);
+    if (putenv (str) != EXIT_SUCCESS)
+      {
+        XFREE (str);
+      }
+#endif
+  }
+}
+
+char *
+lt_extend_str (const char *orig_value, const char *add, int to_end)
+{
+  char *new_value;
+  if (orig_value && *orig_value)
+    {
+      int orig_value_len = strlen (orig_value);
+      int add_len = strlen (add);
+      new_value = XMALLOC (char, add_len + orig_value_len + 1);
+      if (to_end)
+        {
+          strcpy (new_value, orig_value);
+          strcpy (new_value + orig_value_len, add);
+        }
+      else
+        {
+          strcpy (new_value, add);
+          strcpy (new_value + add_len, orig_value);
+        }
+    }
+  else
+    {
+      new_value = xstrdup (add);
+    }
+  return new_value;
+}
+
+void
+lt_update_exe_path (const char *name, const char *value)
+{
+  lt_debugprintf (__FILE__, __LINE__,
+		  "(lt_update_exe_path) modifying '%s' by prepending '%s'\n",
+                  nonnull (name), nonnull (value));
+
+  if (name && *name && value && *value)
+    {
+      char *new_value = lt_extend_str (getenv (name), value, 0);
+      /* some systems can't cope with a ':'-terminated path #' */
+      int len = strlen (new_value);
+      while (((len = strlen (new_value)) > 0) && IS_PATH_SEPARATOR (new_value[len-1]))
+        {
+          new_value[len-1] = '\0';
+        }
+      lt_setenv (name, new_value);
+      XFREE (new_value);
+    }
+}
+
+void
+lt_update_lib_path (const char *name, const char *value)
+{
+  lt_debugprintf (__FILE__, __LINE__,
+		  "(lt_update_lib_path) modifying '%s' by prepending '%s'\n",
+                  nonnull (name), nonnull (value));
+
+  if (name && *name && value && *value)
+    {
+      char *new_value = lt_extend_str (getenv (name), value, 0);
+      lt_setenv (name, new_value);
+      XFREE (new_value);
+    }
+}
+
+EOF
+	    case $host_os in
+	      mingw*)
+		cat <<"EOF"
+
+/* Prepares an argument vector before calling spawn().
+   Note that spawn() does not by itself call the command interpreter
+     (getenv ("COMSPEC") != NULL ? getenv ("COMSPEC") :
+      ({ OSVERSIONINFO v; v.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);
+         GetVersionEx(&v);
+         v.dwPlatformId == VER_PLATFORM_WIN32_NT;
+      }) ? "cmd.exe" : "command.com").
+   Instead it simply concatenates the arguments, separated by ' ', and calls
+   CreateProcess().  We must quote the arguments since Win32 CreateProcess()
+   interprets characters like ' ', '\t', '\\', '"' (but not '<' and '>') in a
+   special way:
+   - Space and tab are interpreted as delimiters. They are not treated as
+     delimiters if they are surrounded by double quotes: "...".
+   - Unescaped double quotes are removed from the input. Their only effect is
+     that within double quotes, space and tab are treated like normal
+     characters.
+   - Backslashes not followed by double quotes are not special.
+   - But 2*n+1 backslashes followed by a double quote become
+     n backslashes followed by a double quote (n >= 0):
+       \" -> "
+       \\\" -> \"
+       \\\\\" -> \\"
+ */
+#define SHELL_SPECIAL_CHARS "\"\\ \001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037"
+#define SHELL_SPACE_CHARS " \001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037"
+char **
+prepare_spawn (char **argv)
+{
+  size_t argc;
+  char **new_argv;
+  size_t i;
+
+  /* Count number of arguments.  */
+  for (argc = 0; argv[argc] != NULL; argc++)
+    ;
+
+  /* Allocate new argument vector.  */
+  new_argv = XMALLOC (char *, argc + 1);
+
+  /* Put quoted arguments into the new argument vector.  */
+  for (i = 0; i < argc; i++)
+    {
+      const char *string = argv[i];
+
+      if (string[0] == '\0')
+	new_argv[i] = xstrdup ("\"\"");
+      else if (strpbrk (string, SHELL_SPECIAL_CHARS) != NULL)
+	{
+	  int quote_around = (strpbrk (string, SHELL_SPACE_CHARS) != NULL);
+	  size_t length;
+	  unsigned int backslashes;
+	  const char *s;
+	  char *quoted_string;
+	  char *p;
+
+	  length = 0;
+	  backslashes = 0;
+	  if (quote_around)
+	    length++;
+	  for (s = string; *s != '\0'; s++)
+	    {
+	      char c = *s;
+	      if (c == '"')
+		length += backslashes + 1;
+	      length++;
+	      if (c == '\\')
+		backslashes++;
+	      else
+		backslashes = 0;
+	    }
+	  if (quote_around)
+	    length += backslashes + 1;
+
+	  quoted_string = XMALLOC (char, length + 1);
+
+	  p = quoted_string;
+	  backslashes = 0;
+	  if (quote_around)
+	    *p++ = '"';
+	  for (s = string; *s != '\0'; s++)
+	    {
+	      char c = *s;
+	      if (c == '"')
+		{
+		  unsigned int j;
+		  for (j = backslashes + 1; j > 0; j--)
+		    *p++ = '\\';
+		}
+	      *p++ = c;
+	      if (c == '\\')
+		backslashes++;
+	      else
+		backslashes = 0;
+	    }
+	  if (quote_around)
+	    {
+	      unsigned int j;
+	      for (j = backslashes; j > 0; j--)
+		*p++ = '\\';
+	      *p++ = '"';
+	    }
+	  *p = '\0';
+
+	  new_argv[i] = quoted_string;
+	}
+      else
+	new_argv[i] = (char *) string;
+    }
+  new_argv[argc] = NULL;
+
+  return new_argv;
+}
+EOF
+		;;
+	    esac
+
+            cat <<"EOF"
+void lt_dump_script (FILE* f)
+{
+EOF
+	    func_emit_wrapper yes |
+	      $SED -n -e '
+s/^\(.\{79\}\)\(..*\)/\1\
+\2/
+h
+s/\([\\"]\)/\\\1/g
+s/$/\\n/
+s/\([^\n]*\).*/  fputs ("\1", f);/p
+g
+D'
+            cat <<"EOF"
+}
+EOF
+}
+# end: func_emit_cwrapperexe_src
+
+# func_win32_import_lib_p ARG
+# True if ARG is an import lib, as indicated by $file_magic_cmd
+func_win32_import_lib_p ()
+{
+    $opt_debug
+    case `eval $file_magic_cmd \"\$1\" 2>/dev/null | $SED -e 10q` in
+    *import*) : ;;
+    *) false ;;
+    esac
+}
+
+# func_mode_link arg...
+func_mode_link ()
+{
+    $opt_debug
+    case $host in
+    *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*)
+      # It is impossible to link a dll without this setting, and
+      # we shouldn't force the makefile maintainer to figure out
+      # which system we are compiling for in order to pass an extra
+      # flag for every libtool invocation.
+      # allow_undefined=no
+
+      # FIXME: Unfortunately, there are problems with the above when trying
+      # to make a dll which has undefined symbols, in which case not
+      # even a static library is built.  For now, we need to specify
+      # -no-undefined on the libtool link line when we can be certain
+      # that all symbols are satisfied, otherwise we get a static library.
+      allow_undefined=yes
+      ;;
+    *)
+      allow_undefined=yes
+      ;;
+    esac
+    libtool_args=$nonopt
+    base_compile="$nonopt $@"
+    compile_command=$nonopt
+    finalize_command=$nonopt
+
+    compile_rpath=
+    finalize_rpath=
+    compile_shlibpath=
+    finalize_shlibpath=
+    convenience=
+    old_convenience=
+    deplibs=
+    old_deplibs=
+    compiler_flags=
+    linker_flags=
+    dllsearchpath=
+    lib_search_path=`pwd`
+    inst_prefix_dir=
+    new_inherited_linker_flags=
+
+    avoid_version=no
+    bindir=
+    dlfiles=
+    dlprefiles=
+    dlself=no
+    export_dynamic=no
+    export_symbols=
+    export_symbols_regex=
+    generated=
+    libobjs=
+    ltlibs=
+    module=no
+    no_install=no
+    objs=
+    non_pic_objects=
+    precious_files_regex=
+    prefer_static_libs=no
+    preload=no
+    prev=
+    prevarg=
+    release=
+    rpath=
+    xrpath=
+    perm_rpath=
+    temp_rpath=
+    thread_safe=no
+    vinfo=
+    vinfo_number=no
+    weak_libs=
+    single_module="${wl}-single_module"
+    func_infer_tag $base_compile
+
+    # We need to know -static, to get the right output filenames.
+    for arg
+    do
+      case $arg in
+      -shared)
+	test "$build_libtool_libs" != yes && \
+	  func_fatal_configuration "can not build a shared library"
+	build_old_libs=no
+	break
+	;;
+      -all-static | -static | -static-libtool-libs)
+	case $arg in
+	-all-static)
+	  if test "$build_libtool_libs" = yes && test -z "$link_static_flag"; then
+	    func_warning "complete static linking is impossible in this configuration"
+	  fi
+	  if test -n "$link_static_flag"; then
+	    dlopen_self=$dlopen_self_static
+	  fi
+	  prefer_static_libs=yes
+	  ;;
+	-static)
+	  if test -z "$pic_flag" && test -n "$link_static_flag"; then
+	    dlopen_self=$dlopen_self_static
+	  fi
+	  prefer_static_libs=built
+	  ;;
+	-static-libtool-libs)
+	  if test -z "$pic_flag" && test -n "$link_static_flag"; then
+	    dlopen_self=$dlopen_self_static
+	  fi
+	  prefer_static_libs=yes
+	  ;;
+	esac
+	build_libtool_libs=no
+	build_old_libs=yes
+	break
+	;;
+      esac
+    done
+
+    # See if our shared archives depend on static archives.
+    test -n "$old_archive_from_new_cmds" && build_old_libs=yes
+
+    # Go through the arguments, transforming them on the way.
+    while test "$#" -gt 0; do
+      arg="$1"
+      shift
+      func_quote_for_eval "$arg"
+      qarg=$func_quote_for_eval_unquoted_result
+      func_append libtool_args " $func_quote_for_eval_result"
+
+      # If the previous option needs an argument, assign it.
+      if test -n "$prev"; then
+	case $prev in
+	output)
+	  func_append compile_command " @OUTPUT@"
+	  func_append finalize_command " @OUTPUT@"
+	  ;;
+	esac
+
+	case $prev in
+	bindir)
+	  bindir="$arg"
+	  prev=
+	  continue
+	  ;;
+	dlfiles|dlprefiles)
+	  if test "$preload" = no; then
+	    # Add the symbol object into the linking commands.
+	    func_append compile_command " @SYMFILE@"
+	    func_append finalize_command " @SYMFILE@"
+	    preload=yes
+	  fi
+	  case $arg in
+	  *.la | *.lo) ;;  # We handle these cases below.
+	  force)
+	    if test "$dlself" = no; then
+	      dlself=needless
+	      export_dynamic=yes
+	    fi
+	    prev=
+	    continue
+	    ;;
+	  self)
+	    if test "$prev" = dlprefiles; then
+	      dlself=yes
+	    elif test "$prev" = dlfiles && test "$dlopen_self" != yes; then
+	      dlself=yes
+	    else
+	      dlself=needless
+	      export_dynamic=yes
+	    fi
+	    prev=
+	    continue
+	    ;;
+	  *)
+	    if test "$prev" = dlfiles; then
+	      func_append dlfiles " $arg"
+	    else
+	      func_append dlprefiles " $arg"
+	    fi
+	    prev=
+	    continue
+	    ;;
+	  esac
+	  ;;
+	expsyms)
+	  export_symbols="$arg"
+	  test -f "$arg" \
+	    || func_fatal_error "symbol file \`$arg' does not exist"
+	  prev=
+	  continue
+	  ;;
+	expsyms_regex)
+	  export_symbols_regex="$arg"
+	  prev=
+	  continue
+	  ;;
+	framework)
+	  case $host in
+	    *-*-darwin*)
+	      case "$deplibs " in
+		*" $qarg.ltframework "*) ;;
+		*) func_append deplibs " $qarg.ltframework" # this is fixed later
+		   ;;
+	      esac
+	      ;;
+	  esac
+	  prev=
+	  continue
+	  ;;
+	inst_prefix)
+	  inst_prefix_dir="$arg"
+	  prev=
+	  continue
+	  ;;
+	objectlist)
+	  if test -f "$arg"; then
+	    save_arg=$arg
+	    moreargs=
+	    for fil in `cat "$save_arg"`
+	    do
+#	      func_append moreargs " $fil"
+	      arg=$fil
+	      # A libtool-controlled object.
+
+	      # Check to see that this really is a libtool object.
+	      if func_lalib_unsafe_p "$arg"; then
+		pic_object=
+		non_pic_object=
+
+		# Read the .lo file
+		func_source "$arg"
+
+		if test -z "$pic_object" ||
+		   test -z "$non_pic_object" ||
+		   test "$pic_object" = none &&
+		   test "$non_pic_object" = none; then
+		  func_fatal_error "cannot find name of object for \`$arg'"
+		fi
+
+		# Extract subdirectory from the argument.
+		func_dirname "$arg" "/" ""
+		xdir="$func_dirname_result"
+
+		if test "$pic_object" != none; then
+		  # Prepend the subdirectory the object is found in.
+		  pic_object="$xdir$pic_object"
+
+		  if test "$prev" = dlfiles; then
+		    if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then
+		      func_append dlfiles " $pic_object"
+		      prev=
+		      continue
+		    else
+		      # If libtool objects are unsupported, then we need to preload.
+		      prev=dlprefiles
+		    fi
+		  fi
+
+		  # CHECK ME:  I think I busted this.  -Ossama
+		  if test "$prev" = dlprefiles; then
+		    # Preload the old-style object.
+		    func_append dlprefiles " $pic_object"
+		    prev=
+		  fi
+
+		  # A PIC object.
+		  func_append libobjs " $pic_object"
+		  arg="$pic_object"
+		fi
+
+		# Non-PIC object.
+		if test "$non_pic_object" != none; then
+		  # Prepend the subdirectory the object is found in.
+		  non_pic_object="$xdir$non_pic_object"
+
+		  # A standard non-PIC object
+		  func_append non_pic_objects " $non_pic_object"
+		  if test -z "$pic_object" || test "$pic_object" = none ; then
+		    arg="$non_pic_object"
+		  fi
+		else
+		  # If the PIC object exists, use it instead.
+		  # $xdir was prepended to $pic_object above.
+		  non_pic_object="$pic_object"
+		  func_append non_pic_objects " $non_pic_object"
+		fi
+	      else
+		# Only an error if not doing a dry-run.
+		if $opt_dry_run; then
+		  # Extract subdirectory from the argument.
+		  func_dirname "$arg" "/" ""
+		  xdir="$func_dirname_result"
+
+		  func_lo2o "$arg"
+		  pic_object=$xdir$objdir/$func_lo2o_result
+		  non_pic_object=$xdir$func_lo2o_result
+		  func_append libobjs " $pic_object"
+		  func_append non_pic_objects " $non_pic_object"
+	        else
+		  func_fatal_error "\`$arg' is not a valid libtool object"
+		fi
+	      fi
+	    done
+	  else
+	    func_fatal_error "link input file \`$arg' does not exist"
+	  fi
+	  arg=$save_arg
+	  prev=
+	  continue
+	  ;;
+	precious_regex)
+	  precious_files_regex="$arg"
+	  prev=
+	  continue
+	  ;;
+	release)
+	  release="-$arg"
+	  prev=
+	  continue
+	  ;;
+	rpath | xrpath)
+	  # We need an absolute path.
+	  case $arg in
+	  [\\/]* | [A-Za-z]:[\\/]*) ;;
+	  *)
+	    func_fatal_error "only absolute run-paths are allowed"
+	    ;;
+	  esac
+	  if test "$prev" = rpath; then
+	    case "$rpath " in
+	    *" $arg "*) ;;
+	    *) func_append rpath " $arg" ;;
+	    esac
+	  else
+	    case "$xrpath " in
+	    *" $arg "*) ;;
+	    *) func_append xrpath " $arg" ;;
+	    esac
+	  fi
+	  prev=
+	  continue
+	  ;;
+	shrext)
+	  shrext_cmds="$arg"
+	  prev=
+	  continue
+	  ;;
+	weak)
+	  func_append weak_libs " $arg"
+	  prev=
+	  continue
+	  ;;
+	xcclinker)
+	  func_append linker_flags " $qarg"
+	  func_append compiler_flags " $qarg"
+	  prev=
+	  func_append compile_command " $qarg"
+	  func_append finalize_command " $qarg"
+	  continue
+	  ;;
+	xcompiler)
+	  func_append compiler_flags " $qarg"
+	  prev=
+	  func_append compile_command " $qarg"
+	  func_append finalize_command " $qarg"
+	  continue
+	  ;;
+	xlinker)
+	  func_append linker_flags " $qarg"
+	  func_append compiler_flags " $wl$qarg"
+	  prev=
+	  func_append compile_command " $wl$qarg"
+	  func_append finalize_command " $wl$qarg"
+	  continue
+	  ;;
+	*)
+	  eval "$prev=\"\$arg\""
+	  prev=
+	  continue
+	  ;;
+	esac
+      fi # test -n "$prev"
+
+      prevarg="$arg"
+
+      case $arg in
+      -all-static)
+	if test -n "$link_static_flag"; then
+	  # See comment for -static flag below, for more details.
+	  func_append compile_command " $link_static_flag"
+	  func_append finalize_command " $link_static_flag"
+	fi
+	continue
+	;;
+
+      -allow-undefined)
+	# FIXME: remove this flag sometime in the future.
+	func_fatal_error "\`-allow-undefined' must not be used because it is the default"
+	;;
+
+      -avoid-version)
+	avoid_version=yes
+	continue
+	;;
+
+      -bindir)
+	prev=bindir
+	continue
+	;;
+
+      -dlopen)
+	prev=dlfiles
+	continue
+	;;
+
+      -dlpreopen)
+	prev=dlprefiles
+	continue
+	;;
+
+      -export-dynamic)
+	export_dynamic=yes
+	continue
+	;;
+
+      -export-symbols | -export-symbols-regex)
+	if test -n "$export_symbols" || test -n "$export_symbols_regex"; then
+	  func_fatal_error "more than one -exported-symbols argument is not allowed"
+	fi
+	if test "X$arg" = "X-export-symbols"; then
+	  prev=expsyms
+	else
+	  prev=expsyms_regex
+	fi
+	continue
+	;;
+
+      -framework)
+	prev=framework
+	continue
+	;;
+
+      -inst-prefix-dir)
+	prev=inst_prefix
+	continue
+	;;
+
+      # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:*
+      # so, if we see these flags be careful not to treat them like -L
+      -L[A-Z][A-Z]*:*)
+	case $with_gcc/$host in
+	no/*-*-irix* | /*-*-irix*)
+	  func_append compile_command " $arg"
+	  func_append finalize_command " $arg"
+	  ;;
+	esac
+	continue
+	;;
+
+      -L*)
+	func_stripname "-L" '' "$arg"
+	if test -z "$func_stripname_result"; then
+	  if test "$#" -gt 0; then
+	    func_fatal_error "require no space between \`-L' and \`$1'"
+	  else
+	    func_fatal_error "need path for \`-L' option"
+	  fi
+	fi
+	func_resolve_sysroot "$func_stripname_result"
+	dir=$func_resolve_sysroot_result
+	# We need an absolute path.
+	case $dir in
+	[\\/]* | [A-Za-z]:[\\/]*) ;;
+	*)
+	  absdir=`cd "$dir" && pwd`
+	  test -z "$absdir" && \
+	    func_fatal_error "cannot determine absolute directory name of \`$dir'"
+	  dir="$absdir"
+	  ;;
+	esac
+	case "$deplibs " in
+	*" -L$dir "* | *" $arg "*)
+	  # Will only happen for absolute or sysroot arguments
+	  ;;
+	*)
+	  # Preserve sysroot, but never include relative directories
+	  case $dir in
+	    [\\/]* | [A-Za-z]:[\\/]* | =*) func_append deplibs " $arg" ;;
+	    *) func_append deplibs " -L$dir" ;;
+	  esac
+	  func_append lib_search_path " $dir"
+	  ;;
+	esac
+	case $host in
+	*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*)
+	  testbindir=`$ECHO "$dir" | $SED 's*/lib$*/bin*'`
+	  case :$dllsearchpath: in
+	  *":$dir:"*) ;;
+	  ::) dllsearchpath=$dir;;
+	  *) func_append dllsearchpath ":$dir";;
+	  esac
+	  case :$dllsearchpath: in
+	  *":$testbindir:"*) ;;
+	  ::) dllsearchpath=$testbindir;;
+	  *) func_append dllsearchpath ":$testbindir";;
+	  esac
+	  ;;
+	esac
+	continue
+	;;
+
+      -l*)
+	if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then
+	  case $host in
+	  *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos* | *-cegcc* | *-*-haiku*)
+	    # These systems don't actually have a C or math library (as such)
+	    continue
+	    ;;
+	  *-*-os2*)
+	    # These systems don't actually have a C library (as such)
+	    test "X$arg" = "X-lc" && continue
+	    ;;
+	  *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
+	    # Do not include libc due to us having libc/libc_r.
+	    test "X$arg" = "X-lc" && continue
+	    ;;
+	  *-*-rhapsody* | *-*-darwin1.[012])
+	    # Rhapsody C and math libraries are in the System framework
+	    func_append deplibs " System.ltframework"
+	    continue
+	    ;;
+	  *-*-sco3.2v5* | *-*-sco5v6*)
+	    # Causes problems with __ctype
+	    test "X$arg" = "X-lc" && continue
+	    ;;
+	  *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*)
+	    # Compiler inserts libc in the correct place for threads to work
+	    test "X$arg" = "X-lc" && continue
+	    ;;
+	  esac
+	elif test "X$arg" = "X-lc_r"; then
+	 case $host in
+	 *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
+	   # Do not include libc_r directly, use -pthread flag.
+	   continue
+	   ;;
+	 esac
+	fi
+	func_append deplibs " $arg"
+	continue
+	;;
+
+      -module)
+	module=yes
+	continue
+	;;
+
+      # Tru64 UNIX uses -model [arg] to determine the layout of C++
+      # classes, name mangling, and exception handling.
+      # Darwin uses the -arch flag to determine output architecture.
+      -model|-arch|-isysroot|--sysroot)
+	func_append compiler_flags " $arg"
+	func_append compile_command " $arg"
+	func_append finalize_command " $arg"
+	prev=xcompiler
+	continue
+	;;
+
+      -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe \
+      |-threads|-fopenmp|-openmp|-mp|-xopenmp|-omp|-qsmp=*)
+	func_append compiler_flags " $arg"
+	func_append compile_command " $arg"
+	func_append finalize_command " $arg"
+	case "$new_inherited_linker_flags " in
+	    *" $arg "*) ;;
+	    * ) func_append new_inherited_linker_flags " $arg" ;;
+	esac
+	continue
+	;;
+
+      -multi_module)
+	single_module="${wl}-multi_module"
+	continue
+	;;
+
+      -no-fast-install)
+	fast_install=no
+	continue
+	;;
+
+      -no-install)
+	case $host in
+	*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-darwin* | *-cegcc*)
+	  # The PATH hackery in wrapper scripts is required on Windows
+	  # and Darwin in order for the loader to find any dlls it needs.
+	  func_warning "\`-no-install' is ignored for $host"
+	  func_warning "assuming \`-no-fast-install' instead"
+	  fast_install=no
+	  ;;
+	*) no_install=yes ;;
+	esac
+	continue
+	;;
+
+      -no-undefined)
+	allow_undefined=no
+	continue
+	;;
+
+      -objectlist)
+	prev=objectlist
+	continue
+	;;
+
+      -o) prev=output ;;
+
+      -precious-files-regex)
+	prev=precious_regex
+	continue
+	;;
+
+      -release)
+	prev=release
+	continue
+	;;
+
+      -rpath)
+	prev=rpath
+	continue
+	;;
+
+      -R)
+	prev=xrpath
+	continue
+	;;
+
+      -R*)
+	func_stripname '-R' '' "$arg"
+	dir=$func_stripname_result
+	# We need an absolute path.
+	case $dir in
+	[\\/]* | [A-Za-z]:[\\/]*) ;;
+	=*)
+	  func_stripname '=' '' "$dir"
+	  dir=$lt_sysroot$func_stripname_result
+	  ;;
+	*)
+	  func_fatal_error "only absolute run-paths are allowed"
+	  ;;
+	esac
+	case "$xrpath " in
+	*" $dir "*) ;;
+	*) func_append xrpath " $dir" ;;
+	esac
+	continue
+	;;
+
+      -shared)
+	# The effects of -shared are defined in a previous loop.
+	continue
+	;;
+
+      -shrext)
+	prev=shrext
+	continue
+	;;
+
+      -static | -static-libtool-libs)
+	# The effects of -static are defined in a previous loop.
+	# We used to do the same as -all-static on platforms that
+	# didn't have a PIC flag, but the assumption that the effects
+	# would be equivalent was wrong.  It would break on at least
+	# Digital Unix and AIX.
+	continue
+	;;
+
+      -thread-safe)
+	thread_safe=yes
+	continue
+	;;
+
+      -version-info)
+	prev=vinfo
+	continue
+	;;
+
+      -version-number)
+	prev=vinfo
+	vinfo_number=yes
+	continue
+	;;
+
+      -weak)
+        prev=weak
+	continue
+	;;
+
+      -Wc,*)
+	func_stripname '-Wc,' '' "$arg"
+	args=$func_stripname_result
+	arg=
+	save_ifs="$IFS"; IFS=','
+	for flag in $args; do
+	  IFS="$save_ifs"
+          func_quote_for_eval "$flag"
+	  func_append arg " $func_quote_for_eval_result"
+	  func_append compiler_flags " $func_quote_for_eval_result"
+	done
+	IFS="$save_ifs"
+	func_stripname ' ' '' "$arg"
+	arg=$func_stripname_result
+	;;
+
+      -Wl,*)
+	func_stripname '-Wl,' '' "$arg"
+	args=$func_stripname_result
+	arg=
+	save_ifs="$IFS"; IFS=','
+	for flag in $args; do
+	  IFS="$save_ifs"
+          func_quote_for_eval "$flag"
+	  func_append arg " $wl$func_quote_for_eval_result"
+	  func_append compiler_flags " $wl$func_quote_for_eval_result"
+	  func_append linker_flags " $func_quote_for_eval_result"
+	done
+	IFS="$save_ifs"
+	func_stripname ' ' '' "$arg"
+	arg=$func_stripname_result
+	;;
+
+      -Xcompiler)
+	prev=xcompiler
+	continue
+	;;
+
+      -Xlinker)
+	prev=xlinker
+	continue
+	;;
+
+      -XCClinker)
+	prev=xcclinker
+	continue
+	;;
+
+      # -msg_* for osf cc
+      -msg_*)
+	func_quote_for_eval "$arg"
+	arg="$func_quote_for_eval_result"
+	;;
+
+      # Flags to be passed through unchanged, with rationale:
+      # -64, -mips[0-9]      enable 64-bit mode for the SGI compiler
+      # -r[0-9][0-9]*        specify processor for the SGI compiler
+      # -xarch=*, -xtarget=* enable 64-bit mode for the Sun compiler
+      # +DA*, +DD*           enable 64-bit mode for the HP compiler
+      # -q*                  compiler args for the IBM compiler
+      # -m*, -t[45]*, -txscale* architecture-specific flags for GCC
+      # -F/path              path to uninstalled frameworks, gcc on darwin
+      # -p, -pg, --coverage, -fprofile-*  profiling flags for GCC
+      # @file                GCC response files
+      # -tp=*                Portland pgcc target processor selection
+      # --sysroot=*          for sysroot support
+      # -O*, -flto*, -fwhopr*, -fuse-linker-plugin GCC link-time optimization
+      -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \
+      -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*|--sysroot=*| \
+      -O*|-flto*|-fwhopr*|-fuse-linker-plugin)
+        func_quote_for_eval "$arg"
+	arg="$func_quote_for_eval_result"
+        func_append compile_command " $arg"
+        func_append finalize_command " $arg"
+        func_append compiler_flags " $arg"
+        continue
+        ;;
+
+      # Some other compiler flag.
+      -* | +*)
+        func_quote_for_eval "$arg"
+	arg="$func_quote_for_eval_result"
+	;;
+
+      *.$objext)
+	# A standard object.
+	func_append objs " $arg"
+	;;
+
+      *.lo)
+	# A libtool-controlled object.
+
+	# Check to see that this really is a libtool object.
+	if func_lalib_unsafe_p "$arg"; then
+	  pic_object=
+	  non_pic_object=
+
+	  # Read the .lo file
+	  func_source "$arg"
+
+	  if test -z "$pic_object" ||
+	     test -z "$non_pic_object" ||
+	     test "$pic_object" = none &&
+	     test "$non_pic_object" = none; then
+	    func_fatal_error "cannot find name of object for \`$arg'"
+	  fi
+
+	  # Extract subdirectory from the argument.
+	  func_dirname "$arg" "/" ""
+	  xdir="$func_dirname_result"
+
+	  if test "$pic_object" != none; then
+	    # Prepend the subdirectory the object is found in.
+	    pic_object="$xdir$pic_object"
+
+	    if test "$prev" = dlfiles; then
+	      if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then
+		func_append dlfiles " $pic_object"
+		prev=
+		continue
+	      else
+		# If libtool objects are unsupported, then we need to preload.
+		prev=dlprefiles
+	      fi
+	    fi
+
+	    # CHECK ME:  I think I busted this.  -Ossama
+	    if test "$prev" = dlprefiles; then
+	      # Preload the old-style object.
+	      func_append dlprefiles " $pic_object"
+	      prev=
+	    fi
+
+	    # A PIC object.
+	    func_append libobjs " $pic_object"
+	    arg="$pic_object"
+	  fi
+
+	  # Non-PIC object.
+	  if test "$non_pic_object" != none; then
+	    # Prepend the subdirectory the object is found in.
+	    non_pic_object="$xdir$non_pic_object"
+
+	    # A standard non-PIC object
+	    func_append non_pic_objects " $non_pic_object"
+	    if test -z "$pic_object" || test "$pic_object" = none ; then
+	      arg="$non_pic_object"
+	    fi
+	  else
+	    # If the PIC object exists, use it instead.
+	    # $xdir was prepended to $pic_object above.
+	    non_pic_object="$pic_object"
+	    func_append non_pic_objects " $non_pic_object"
+	  fi
+	else
+	  # Only an error if not doing a dry-run.
+	  if $opt_dry_run; then
+	    # Extract subdirectory from the argument.
+	    func_dirname "$arg" "/" ""
+	    xdir="$func_dirname_result"
+
+	    func_lo2o "$arg"
+	    pic_object=$xdir$objdir/$func_lo2o_result
+	    non_pic_object=$xdir$func_lo2o_result
+	    func_append libobjs " $pic_object"
+	    func_append non_pic_objects " $non_pic_object"
+	  else
+	    func_fatal_error "\`$arg' is not a valid libtool object"
+	  fi
+	fi
+	;;
+
+      *.$libext)
+	# An archive.
+	func_append deplibs " $arg"
+	func_append old_deplibs " $arg"
+	continue
+	;;
+
+      *.la)
+	# A libtool-controlled library.
+
+	func_resolve_sysroot "$arg"
+	if test "$prev" = dlfiles; then
+	  # This library was specified with -dlopen.
+	  func_append dlfiles " $func_resolve_sysroot_result"
+	  prev=
+	elif test "$prev" = dlprefiles; then
+	  # The library was specified with -dlpreopen.
+	  func_append dlprefiles " $func_resolve_sysroot_result"
+	  prev=
+	else
+	  func_append deplibs " $func_resolve_sysroot_result"
+	fi
+	continue
+	;;
+
+      # Some other compiler argument.
+      *)
+	# Unknown arguments in both finalize_command and compile_command need
+	# to be aesthetically quoted because they are evaled later.
+	func_quote_for_eval "$arg"
+	arg="$func_quote_for_eval_result"
+	;;
+      esac # arg
+
+      # Now actually substitute the argument into the commands.
+      if test -n "$arg"; then
+	func_append compile_command " $arg"
+	func_append finalize_command " $arg"
+      fi
+    done # argument parsing loop
+
+    test -n "$prev" && \
+      func_fatal_help "the \`$prevarg' option requires an argument"
+
+    if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then
+      eval arg=\"$export_dynamic_flag_spec\"
+      func_append compile_command " $arg"
+      func_append finalize_command " $arg"
+    fi
+
+    oldlibs=
+    # calculate the name of the file, without its directory
+    func_basename "$output"
+    outputname="$func_basename_result"
+    libobjs_save="$libobjs"
+
+    if test -n "$shlibpath_var"; then
+      # get the directories listed in $shlibpath_var
+      eval shlib_search_path=\`\$ECHO \"\${$shlibpath_var}\" \| \$SED \'s/:/ /g\'\`
+    else
+      shlib_search_path=
+    fi
+    eval sys_lib_search_path=\"$sys_lib_search_path_spec\"
+    eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\"
+
+    func_dirname "$output" "/" ""
+    output_objdir="$func_dirname_result$objdir"
+    func_to_tool_file "$output_objdir/"
+    tool_output_objdir=$func_to_tool_file_result
+    # Create the object directory.
+    func_mkdir_p "$output_objdir"
+
+    # Determine the type of output
+    case $output in
+    "")
+      func_fatal_help "you must specify an output file"
+      ;;
+    *.$libext) linkmode=oldlib ;;
+    *.lo | *.$objext) linkmode=obj ;;
+    *.la) linkmode=lib ;;
+    *) linkmode=prog ;; # Anything else should be a program.
+    esac
+
+    specialdeplibs=
+
+    libs=
+    # Find all interdependent deplibs by searching for libraries
+    # that are linked more than once (e.g. -la -lb -la)
+    for deplib in $deplibs; do
+      if $opt_preserve_dup_deps ; then
+	case "$libs " in
+	*" $deplib "*) func_append specialdeplibs " $deplib" ;;
+	esac
+      fi
+      func_append libs " $deplib"
+    done
+
+    if test "$linkmode" = lib; then
+      libs="$predeps $libs $compiler_lib_search_path $postdeps"
+
+      # Compute libraries that are listed more than once in $predeps
+      # $postdeps and mark them as special (i.e., whose duplicates are
+      # not to be eliminated).
+      pre_post_deps=
+      if $opt_duplicate_compiler_generated_deps; then
+	for pre_post_dep in $predeps $postdeps; do
+	  case "$pre_post_deps " in
+	  *" $pre_post_dep "*) func_append specialdeplibs " $pre_post_deps" ;;
+	  esac
+	  func_append pre_post_deps " $pre_post_dep"
+	done
+      fi
+      pre_post_deps=
+    fi
+
+    deplibs=
+    newdependency_libs=
+    newlib_search_path=
+    need_relink=no # whether we're linking any uninstalled libtool libraries
+    notinst_deplibs= # not-installed libtool libraries
+    notinst_path= # paths that contain not-installed libtool libraries
+
+    case $linkmode in
+    lib)
+	passes="conv dlpreopen link"
+	for file in $dlfiles $dlprefiles; do
+	  case $file in
+	  *.la) ;;
+	  *)
+	    func_fatal_help "libraries can \`-dlopen' only libtool libraries: $file"
+	    ;;
+	  esac
+	done
+	;;
+    prog)
+	compile_deplibs=
+	finalize_deplibs=
+	alldeplibs=no
+	newdlfiles=
+	newdlprefiles=
+	passes="conv scan dlopen dlpreopen link"
+	;;
+    *)  passes="conv"
+	;;
+    esac
+
+    for pass in $passes; do
+      # The preopen pass in lib mode reverses $deplibs; put it back here
+      # so that -L comes before libs that need it for instance...
+      if test "$linkmode,$pass" = "lib,link"; then
+	## FIXME: Find the place where the list is rebuilt in the wrong
+	##        order, and fix it there properly
+        tmp_deplibs=
+	for deplib in $deplibs; do
+	  tmp_deplibs="$deplib $tmp_deplibs"
+	done
+	deplibs="$tmp_deplibs"
+      fi
+
+      if test "$linkmode,$pass" = "lib,link" ||
+	 test "$linkmode,$pass" = "prog,scan"; then
+	libs="$deplibs"
+	deplibs=
+      fi
+      if test "$linkmode" = prog; then
+	case $pass in
+	dlopen) libs="$dlfiles" ;;
+	dlpreopen) libs="$dlprefiles" ;;
+	link) libs="$deplibs %DEPLIBS% $dependency_libs" ;;
+	esac
+      fi
+      if test "$linkmode,$pass" = "lib,dlpreopen"; then
+	# Collect and forward deplibs of preopened libtool libs
+	for lib in $dlprefiles; do
+	  # Ignore non-libtool-libs
+	  dependency_libs=
+	  func_resolve_sysroot "$lib"
+	  case $lib in
+	  *.la)	func_source "$func_resolve_sysroot_result" ;;
+	  esac
+
+	  # Collect preopened libtool deplibs, except any this library
+	  # has declared as weak libs
+	  for deplib in $dependency_libs; do
+	    func_basename "$deplib"
+            deplib_base=$func_basename_result
+	    case " $weak_libs " in
+	    *" $deplib_base "*) ;;
+	    *) func_append deplibs " $deplib" ;;
+	    esac
+	  done
+	done
+	libs="$dlprefiles"
+      fi
+      if test "$pass" = dlopen; then
+	# Collect dlpreopened libraries
+	save_deplibs="$deplibs"
+	deplibs=
+      fi
+
+      for deplib in $libs; do
+	lib=
+	found=no
+	case $deplib in
+	-mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe \
+        |-threads|-fopenmp|-openmp|-mp|-xopenmp|-omp|-qsmp=*)
+	  if test "$linkmode,$pass" = "prog,link"; then
+	    compile_deplibs="$deplib $compile_deplibs"
+	    finalize_deplibs="$deplib $finalize_deplibs"
+	  else
+	    func_append compiler_flags " $deplib"
+	    if test "$linkmode" = lib ; then
+		case "$new_inherited_linker_flags " in
+		    *" $deplib "*) ;;
+		    * ) func_append new_inherited_linker_flags " $deplib" ;;
+		esac
+	    fi
+	  fi
+	  continue
+	  ;;
+	-l*)
+	  if test "$linkmode" != lib && test "$linkmode" != prog; then
+	    func_warning "\`-l' is ignored for archives/objects"
+	    continue
+	  fi
+	  func_stripname '-l' '' "$deplib"
+	  name=$func_stripname_result
+	  if test "$linkmode" = lib; then
+	    searchdirs="$newlib_search_path $lib_search_path $compiler_lib_search_dirs $sys_lib_search_path $shlib_search_path"
+	  else
+	    searchdirs="$newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path"
+	  fi
+	  for searchdir in $searchdirs; do
+	    for search_ext in .la $std_shrext .so .a; do
+	      # Search the libtool library
+	      lib="$searchdir/lib${name}${search_ext}"
+	      if test -f "$lib"; then
+		if test "$search_ext" = ".la"; then
+		  found=yes
+		else
+		  found=no
+		fi
+		break 2
+	      fi
+	    done
+	  done
+	  if test "$found" != yes; then
+	    # deplib doesn't seem to be a libtool library
+	    if test "$linkmode,$pass" = "prog,link"; then
+	      compile_deplibs="$deplib $compile_deplibs"
+	      finalize_deplibs="$deplib $finalize_deplibs"
+	    else
+	      deplibs="$deplib $deplibs"
+	      test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs"
+	    fi
+	    continue
+	  else # deplib is a libtool library
+	    # If $allow_libtool_libs_with_static_runtimes && $deplib is a stdlib,
+	    # We need to do some special things here, and not later.
+	    if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
+	      case " $predeps $postdeps " in
+	      *" $deplib "*)
+		if func_lalib_p "$lib"; then
+		  library_names=
+		  old_library=
+		  func_source "$lib"
+		  for l in $old_library $library_names; do
+		    ll="$l"
+		  done
+		  if test "X$ll" = "X$old_library" ; then # only static version available
+		    found=no
+		    func_dirname "$lib" "" "."
+		    ladir="$func_dirname_result"
+		    lib=$ladir/$old_library
+		    if test "$linkmode,$pass" = "prog,link"; then
+		      compile_deplibs="$deplib $compile_deplibs"
+		      finalize_deplibs="$deplib $finalize_deplibs"
+		    else
+		      deplibs="$deplib $deplibs"
+		      test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs"
+		    fi
+		    continue
+		  fi
+		fi
+		;;
+	      *) ;;
+	      esac
+	    fi
+	  fi
+	  ;; # -l
+	*.ltframework)
+	  if test "$linkmode,$pass" = "prog,link"; then
+	    compile_deplibs="$deplib $compile_deplibs"
+	    finalize_deplibs="$deplib $finalize_deplibs"
+	  else
+	    deplibs="$deplib $deplibs"
+	    if test "$linkmode" = lib ; then
+		case "$new_inherited_linker_flags " in
+		    *" $deplib "*) ;;
+		    * ) func_append new_inherited_linker_flags " $deplib" ;;
+		esac
+	    fi
+	  fi
+	  continue
+	  ;;
+	-L*)
+	  case $linkmode in
+	  lib)
+	    deplibs="$deplib $deplibs"
+	    test "$pass" = conv && continue
+	    newdependency_libs="$deplib $newdependency_libs"
+	    func_stripname '-L' '' "$deplib"
+	    func_resolve_sysroot "$func_stripname_result"
+	    func_append newlib_search_path " $func_resolve_sysroot_result"
+	    ;;
+	  prog)
+	    if test "$pass" = conv; then
+	      deplibs="$deplib $deplibs"
+	      continue
+	    fi
+	    if test "$pass" = scan; then
+	      deplibs="$deplib $deplibs"
+	    else
+	      compile_deplibs="$deplib $compile_deplibs"
+	      finalize_deplibs="$deplib $finalize_deplibs"
+	    fi
+	    func_stripname '-L' '' "$deplib"
+	    func_resolve_sysroot "$func_stripname_result"
+	    func_append newlib_search_path " $func_resolve_sysroot_result"
+	    ;;
+	  *)
+	    func_warning "\`-L' is ignored for archives/objects"
+	    ;;
+	  esac # linkmode
+	  continue
+	  ;; # -L
+	-R*)
+	  if test "$pass" = link; then
+	    func_stripname '-R' '' "$deplib"
+	    func_resolve_sysroot "$func_stripname_result"
+	    dir=$func_resolve_sysroot_result
+	    # Make sure the xrpath contains only unique directories.
+	    case "$xrpath " in
+	    *" $dir "*) ;;
+	    *) func_append xrpath " $dir" ;;
+	    esac
+	  fi
+	  deplibs="$deplib $deplibs"
+	  continue
+	  ;;
+	*.la)
+	  func_resolve_sysroot "$deplib"
+	  lib=$func_resolve_sysroot_result
+	  ;;
+	*.$libext)
+	  if test "$pass" = conv; then
+	    deplibs="$deplib $deplibs"
+	    continue
+	  fi
+	  case $linkmode in
+	  lib)
+	    # Linking convenience modules into shared libraries is allowed,
+	    # but linking other static libraries is non-portable.
+	    case " $dlpreconveniencelibs " in
+	    *" $deplib "*) ;;
+	    *)
+	      valid_a_lib=no
+	      case $deplibs_check_method in
+		match_pattern*)
+		  set dummy $deplibs_check_method; shift
+		  match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"`
+		  if eval "\$ECHO \"$deplib\"" 2>/dev/null | $SED 10q \
+		    | $EGREP "$match_pattern_regex" > /dev/null; then
+		    valid_a_lib=yes
+		  fi
+		;;
+		pass_all)
+		  valid_a_lib=yes
+		;;
+	      esac
+	      if test "$valid_a_lib" != yes; then
+		echo
+		$ECHO "*** Warning: Trying to link with static lib archive $deplib."
+		echo "*** I have the capability to make that library automatically link in when"
+		echo "*** you link to this library.  But I can only do this if you have a"
+		echo "*** shared version of the library, which you do not appear to have"
+		echo "*** because the file extensions .$libext of this argument makes me believe"
+		echo "*** that it is just a static archive that I should not use here."
+	      else
+		echo
+		$ECHO "*** Warning: Linking the shared library $output against the"
+		$ECHO "*** static library $deplib is not portable!"
+		deplibs="$deplib $deplibs"
+	      fi
+	      ;;
+	    esac
+	    continue
+	    ;;
+	  prog)
+	    if test "$pass" != link; then
+	      deplibs="$deplib $deplibs"
+	    else
+	      compile_deplibs="$deplib $compile_deplibs"
+	      finalize_deplibs="$deplib $finalize_deplibs"
+	    fi
+	    continue
+	    ;;
+	  esac # linkmode
+	  ;; # *.$libext
+	*.lo | *.$objext)
+	  if test "$pass" = conv; then
+	    deplibs="$deplib $deplibs"
+	  elif test "$linkmode" = prog; then
+	    if test "$pass" = dlpreopen || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then
+	      # If there is no dlopen support or we're linking statically,
+	      # we need to preload.
+	      func_append newdlprefiles " $deplib"
+	      compile_deplibs="$deplib $compile_deplibs"
+	      finalize_deplibs="$deplib $finalize_deplibs"
+	    else
+	      func_append newdlfiles " $deplib"
+	    fi
+	  fi
+	  continue
+	  ;;
+	%DEPLIBS%)
+	  alldeplibs=yes
+	  continue
+	  ;;
+	esac # case $deplib
+
+	if test "$found" = yes || test -f "$lib"; then :
+	else
+	  func_fatal_error "cannot find the library \`$lib' or unhandled argument \`$deplib'"
+	fi
+
+	# Check to see that this really is a libtool archive.
+	func_lalib_unsafe_p "$lib" \
+	  || func_fatal_error "\`$lib' is not a valid libtool archive"
+
+	func_dirname "$lib" "" "."
+	ladir="$func_dirname_result"
+
+	dlname=
+	dlopen=
+	dlpreopen=
+	libdir=
+	library_names=
+	old_library=
+	inherited_linker_flags=
+	# If the library was installed with an old release of libtool,
+	# it will not redefine variables installed, or shouldnotlink
+	installed=yes
+	shouldnotlink=no
+	avoidtemprpath=
+
+
+	# Read the .la file
+	func_source "$lib"
+
+	# Convert "-framework foo" to "foo.ltframework"
+	if test -n "$inherited_linker_flags"; then
+	  tmp_inherited_linker_flags=`$ECHO "$inherited_linker_flags" | $SED 's/-framework \([^ $]*\)/\1.ltframework/g'`
+	  for tmp_inherited_linker_flag in $tmp_inherited_linker_flags; do
+	    case " $new_inherited_linker_flags " in
+	      *" $tmp_inherited_linker_flag "*) ;;
+	      *) func_append new_inherited_linker_flags " $tmp_inherited_linker_flag";;
+	    esac
+	  done
+	fi
+	dependency_libs=`$ECHO " $dependency_libs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
+	if test "$linkmode,$pass" = "lib,link" ||
+	   test "$linkmode,$pass" = "prog,scan" ||
+	   { test "$linkmode" != prog && test "$linkmode" != lib; }; then
+	  test -n "$dlopen" && func_append dlfiles " $dlopen"
+	  test -n "$dlpreopen" && func_append dlprefiles " $dlpreopen"
+	fi
+
+	if test "$pass" = conv; then
+	  # Only check for convenience libraries
+	  deplibs="$lib $deplibs"
+	  if test -z "$libdir"; then
+	    if test -z "$old_library"; then
+	      func_fatal_error "cannot find name of link library for \`$lib'"
+	    fi
+	    # It is a libtool convenience library, so add in its objects.
+	    func_append convenience " $ladir/$objdir/$old_library"
+	    func_append old_convenience " $ladir/$objdir/$old_library"
+	  elif test "$linkmode" != prog && test "$linkmode" != lib; then
+	    func_fatal_error "\`$lib' is not a convenience library"
+	  fi
+	  tmp_libs=
+	  for deplib in $dependency_libs; do
+	    deplibs="$deplib $deplibs"
+	    if $opt_preserve_dup_deps ; then
+	      case "$tmp_libs " in
+	      *" $deplib "*) func_append specialdeplibs " $deplib" ;;
+	      esac
+	    fi
+	    func_append tmp_libs " $deplib"
+	  done
+	  continue
+	fi # $pass = conv
+
+
+	# Get the name of the library we link against.
+	linklib=
+	if test -n "$old_library" &&
+	   { test "$prefer_static_libs" = yes ||
+	     test "$prefer_static_libs,$installed" = "built,no"; }; then
+	  linklib=$old_library
+	else
+	  for l in $old_library $library_names; do
+	    linklib="$l"
+	  done
+	fi
+	if test -z "$linklib"; then
+	  func_fatal_error "cannot find name of link library for \`$lib'"
+	fi
+
+	# This library was specified with -dlopen.
+	if test "$pass" = dlopen; then
+	  if test -z "$libdir"; then
+	    func_fatal_error "cannot -dlopen a convenience library: \`$lib'"
+	  fi
+	  if test -z "$dlname" ||
+	     test "$dlopen_support" != yes ||
+	     test "$build_libtool_libs" = no; then
+	    # If there is no dlname, no dlopen support or we're linking
+	    # statically, we need to preload.  We also need to preload any
+	    # dependent libraries so libltdl's deplib preloader doesn't
+	    # bomb out in the load deplibs phase.
+	    func_append dlprefiles " $lib $dependency_libs"
+	  else
+	    func_append newdlfiles " $lib"
+	  fi
+	  continue
+	fi # $pass = dlopen
+
+	# We need an absolute path.
+	case $ladir in
+	[\\/]* | [A-Za-z]:[\\/]*) abs_ladir="$ladir" ;;
+	*)
+	  abs_ladir=`cd "$ladir" && pwd`
+	  if test -z "$abs_ladir"; then
+	    func_warning "cannot determine absolute directory name of \`$ladir'"
+	    func_warning "passing it literally to the linker, although it might fail"
+	    abs_ladir="$ladir"
+	  fi
+	  ;;
+	esac
+	func_basename "$lib"
+	laname="$func_basename_result"
+
+	# Find the relevant object directory and library name.
+	if test "X$installed" = Xyes; then
+	  if test ! -f "$lt_sysroot$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then
+	    func_warning "library \`$lib' was moved."
+	    dir="$ladir"
+	    absdir="$abs_ladir"
+	    libdir="$abs_ladir"
+	  else
+	    dir="$lt_sysroot$libdir"
+	    absdir="$lt_sysroot$libdir"
+	  fi
+	  test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes
+	else
+	  if test ! -f "$ladir/$objdir/$linklib" && test -f "$abs_ladir/$linklib"; then
+	    dir="$ladir"
+	    absdir="$abs_ladir"
+	    # Remove this search path later
+	    func_append notinst_path " $abs_ladir"
+	  else
+	    dir="$ladir/$objdir"
+	    absdir="$abs_ladir/$objdir"
+	    # Remove this search path later
+	    func_append notinst_path " $abs_ladir"
+	  fi
+	fi # $installed = yes
+	func_stripname 'lib' '.la' "$laname"
+	name=$func_stripname_result
+
+	# This library was specified with -dlpreopen.
+	if test "$pass" = dlpreopen; then
+	  if test -z "$libdir" && test "$linkmode" = prog; then
+	    func_fatal_error "only libraries may -dlpreopen a convenience library: \`$lib'"
+	  fi
+	  case "$host" in
+	    # special handling for platforms with PE-DLLs.
+	    *cygwin* | *mingw* | *cegcc* )
+	      # Linker will automatically link against shared library if both
+	      # static and shared are present.  Therefore, ensure we extract
+	      # symbols from the import library if a shared library is present
+	      # (otherwise, the dlopen module name will be incorrect).  We do
+	      # this by putting the import library name into $newdlprefiles.
+	      # We recover the dlopen module name by 'saving' the la file
+	      # name in a special purpose variable, and (later) extracting the
+	      # dlname from the la file.
+	      if test -n "$dlname"; then
+	        func_tr_sh "$dir/$linklib"
+	        eval "libfile_$func_tr_sh_result=\$abs_ladir/\$laname"
+	        func_append newdlprefiles " $dir/$linklib"
+	      else
+	        func_append newdlprefiles " $dir/$old_library"
+	        # Keep a list of preopened convenience libraries to check
+	        # that they are being used correctly in the link pass.
+	        test -z "$libdir" && \
+	          func_append dlpreconveniencelibs " $dir/$old_library"
+	      fi
+	    ;;
+	    * )
+	      # Prefer using a static library (so that no silly _DYNAMIC symbols
+	      # are required to link).
+	      if test -n "$old_library"; then
+	        func_append newdlprefiles " $dir/$old_library"
+	        # Keep a list of preopened convenience libraries to check
+	        # that they are being used correctly in the link pass.
+	        test -z "$libdir" && \
+	          func_append dlpreconveniencelibs " $dir/$old_library"
+	      # Otherwise, use the dlname, so that lt_dlopen finds it.
+	      elif test -n "$dlname"; then
+	        func_append newdlprefiles " $dir/$dlname"
+	      else
+	        func_append newdlprefiles " $dir/$linklib"
+	      fi
+	    ;;
+	  esac
+	fi # $pass = dlpreopen
+
+	if test -z "$libdir"; then
+	  # Link the convenience library
+	  if test "$linkmode" = lib; then
+	    deplibs="$dir/$old_library $deplibs"
+	  elif test "$linkmode,$pass" = "prog,link"; then
+	    compile_deplibs="$dir/$old_library $compile_deplibs"
+	    finalize_deplibs="$dir/$old_library $finalize_deplibs"
+	  else
+	    deplibs="$lib $deplibs" # used for prog,scan pass
+	  fi
+	  continue
+	fi
+
+
+	if test "$linkmode" = prog && test "$pass" != link; then
+	  func_append newlib_search_path " $ladir"
+	  deplibs="$lib $deplibs"
+
+	  linkalldeplibs=no
+	  if test "$link_all_deplibs" != no || test -z "$library_names" ||
+	     test "$build_libtool_libs" = no; then
+	    linkalldeplibs=yes
+	  fi
+
+	  tmp_libs=
+	  for deplib in $dependency_libs; do
+	    case $deplib in
+	    -L*) func_stripname '-L' '' "$deplib"
+	         func_resolve_sysroot "$func_stripname_result"
+	         func_append newlib_search_path " $func_resolve_sysroot_result"
+		 ;;
+	    esac
+	    # Need to link against all dependency_libs?
+	    if test "$linkalldeplibs" = yes; then
+	      deplibs="$deplib $deplibs"
+	    else
+	      # Need to hardcode shared library paths
+	      # or/and link against static libraries
+	      newdependency_libs="$deplib $newdependency_libs"
+	    fi
+	    if $opt_preserve_dup_deps ; then
+	      case "$tmp_libs " in
+	      *" $deplib "*) func_append specialdeplibs " $deplib" ;;
+	      esac
+	    fi
+	    func_append tmp_libs " $deplib"
+	  done # for deplib
+	  continue
+	fi # $linkmode = prog...
+
+	if test "$linkmode,$pass" = "prog,link"; then
+	  if test -n "$library_names" &&
+	     { { test "$prefer_static_libs" = no ||
+	         test "$prefer_static_libs,$installed" = "built,yes"; } ||
+	       test -z "$old_library"; }; then
+	    # We need to hardcode the library path
+	    if test -n "$shlibpath_var" && test -z "$avoidtemprpath" ; then
+	      # Make sure the rpath contains only unique directories.
+	      case "$temp_rpath:" in
+	      *"$absdir:"*) ;;
+	      *) func_append temp_rpath "$absdir:" ;;
+	      esac
+	    fi
+
+	    # Hardcode the library path.
+	    # Skip directories that are in the system default run-time
+	    # search path.
+	    case " $sys_lib_dlsearch_path " in
+	    *" $absdir "*) ;;
+	    *)
+	      case "$compile_rpath " in
+	      *" $absdir "*) ;;
+	      *) func_append compile_rpath " $absdir" ;;
+	      esac
+	      ;;
+	    esac
+	    case " $sys_lib_dlsearch_path " in
+	    *" $libdir "*) ;;
+	    *)
+	      case "$finalize_rpath " in
+	      *" $libdir "*) ;;
+	      *) func_append finalize_rpath " $libdir" ;;
+	      esac
+	      ;;
+	    esac
+	  fi # $linkmode,$pass = prog,link...
+
+	  if test "$alldeplibs" = yes &&
+	     { test "$deplibs_check_method" = pass_all ||
+	       { test "$build_libtool_libs" = yes &&
+		 test -n "$library_names"; }; }; then
+	    # We only need to search for static libraries
+	    continue
+	  fi
+	fi
+
+	link_static=no # Whether the deplib will be linked statically
+	use_static_libs=$prefer_static_libs
+	if test "$use_static_libs" = built && test "$installed" = yes; then
+	  use_static_libs=no
+	fi
+	if test -n "$library_names" &&
+	   { test "$use_static_libs" = no || test -z "$old_library"; }; then
+	  case $host in
+	  *cygwin* | *mingw* | *cegcc*)
+	      # No point in relinking DLLs because paths are not encoded
+	      func_append notinst_deplibs " $lib"
+	      need_relink=no
+	    ;;
+	  *)
+	    if test "$installed" = no; then
+	      func_append notinst_deplibs " $lib"
+	      need_relink=yes
+	    fi
+	    ;;
+	  esac
+	  # This is a shared library
+
+	  # Warn about portability, can't link against -module's on some
+	  # systems (darwin).  Don't bleat about dlopened modules though!
+	  dlopenmodule=""
+	  for dlpremoduletest in $dlprefiles; do
+	    if test "X$dlpremoduletest" = "X$lib"; then
+	      dlopenmodule="$dlpremoduletest"
+	      break
+	    fi
+	  done
+	  if test -z "$dlopenmodule" && test "$shouldnotlink" = yes && test "$pass" = link; then
+	    echo
+	    if test "$linkmode" = prog; then
+	      $ECHO "*** Warning: Linking the executable $output against the loadable module"
+	    else
+	      $ECHO "*** Warning: Linking the shared library $output against the loadable module"
+	    fi
+	    $ECHO "*** $linklib is not portable!"
+	  fi
+	  if test "$linkmode" = lib &&
+	     test "$hardcode_into_libs" = yes; then
+	    # Hardcode the library path.
+	    # Skip directories that are in the system default run-time
+	    # search path.
+	    case " $sys_lib_dlsearch_path " in
+	    *" $absdir "*) ;;
+	    *)
+	      case "$compile_rpath " in
+	      *" $absdir "*) ;;
+	      *) func_append compile_rpath " $absdir" ;;
+	      esac
+	      ;;
+	    esac
+	    case " $sys_lib_dlsearch_path " in
+	    *" $libdir "*) ;;
+	    *)
+	      case "$finalize_rpath " in
+	      *" $libdir "*) ;;
+	      *) func_append finalize_rpath " $libdir" ;;
+	      esac
+	      ;;
+	    esac
+	  fi
+
+	  if test -n "$old_archive_from_expsyms_cmds"; then
+	    # figure out the soname
+	    set dummy $library_names
+	    shift
+	    realname="$1"
+	    shift
+	    libname=`eval "\\$ECHO \"$libname_spec\""`
+	    # use dlname if we got it. it's perfectly good, no?
+	    if test -n "$dlname"; then
+	      soname="$dlname"
+	    elif test -n "$soname_spec"; then
+	      # bleh windows
+	      case $host in
+	      *cygwin* | mingw* | *cegcc*)
+	        func_arith $current - $age
+		major=$func_arith_result
+		versuffix="-$major"
+		;;
+	      esac
+	      eval soname=\"$soname_spec\"
+	    else
+	      soname="$realname"
+	    fi
+
+	    # Make a new name for the extract_expsyms_cmds to use
+	    soroot="$soname"
+	    func_basename "$soroot"
+	    soname="$func_basename_result"
+	    func_stripname 'lib' '.dll' "$soname"
+	    newlib=libimp-$func_stripname_result.a
+
+	    # If the library has no export list, then create one now
+	    if test -f "$output_objdir/$soname-def"; then :
+	    else
+	      func_verbose "extracting exported symbol list from \`$soname'"
+	      func_execute_cmds "$extract_expsyms_cmds" 'exit $?'
+	    fi
+
+	    # Create $newlib
+	    if test -f "$output_objdir/$newlib"; then :; else
+	      func_verbose "generating import library for \`$soname'"
+	      func_execute_cmds "$old_archive_from_expsyms_cmds" 'exit $?'
+	    fi
+	    # make sure the library variables are pointing to the new library
+	    dir=$output_objdir
+	    linklib=$newlib
+	  fi # test -n "$old_archive_from_expsyms_cmds"
+
+	  if test "$linkmode" = prog || test "$opt_mode" != relink; then
+	    add_shlibpath=
+	    add_dir=
+	    add=
+	    lib_linked=yes
+	    case $hardcode_action in
+	    immediate | unsupported)
+	      if test "$hardcode_direct" = no; then
+		add="$dir/$linklib"
+		case $host in
+		  *-*-sco3.2v5.0.[024]*) add_dir="-L$dir" ;;
+		  *-*-sysv4*uw2*) add_dir="-L$dir" ;;
+		  *-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \
+		    *-*-unixware7*) add_dir="-L$dir" ;;
+		  *-*-darwin* )
+		    # if the lib is a (non-dlopened) module then we can not
+		    # link against it, someone is ignoring the earlier warnings
+		    if /usr/bin/file -L $add 2> /dev/null |
+			 $GREP ": [^:]* bundle" >/dev/null ; then
+		      if test "X$dlopenmodule" != "X$lib"; then
+			$ECHO "*** Warning: lib $linklib is a module, not a shared library"
+			if test -z "$old_library" ; then
+			  echo
+			  echo "*** And there doesn't seem to be a static archive available"
+			  echo "*** The link will probably fail, sorry"
+			else
+			  add="$dir/$old_library"
+			fi
+		      elif test -n "$old_library"; then
+			add="$dir/$old_library"
+		      fi
+		    fi
+		esac
+	      elif test "$hardcode_minus_L" = no; then
+		case $host in
+		*-*-sunos*) add_shlibpath="$dir" ;;
+		esac
+		add_dir="-L$dir"
+		add="-l$name"
+	      elif test "$hardcode_shlibpath_var" = no; then
+		add_shlibpath="$dir"
+		add="-l$name"
+	      else
+		lib_linked=no
+	      fi
+	      ;;
+	    relink)
+	      if test "$hardcode_direct" = yes &&
+	         test "$hardcode_direct_absolute" = no; then
+		add="$dir/$linklib"
+	      elif test "$hardcode_minus_L" = yes; then
+		add_dir="-L$absdir"
+		# Try looking first in the location we're being installed to.
+		if test -n "$inst_prefix_dir"; then
+		  case $libdir in
+		    [\\/]*)
+		      func_append add_dir " -L$inst_prefix_dir$libdir"
+		      ;;
+		  esac
+		fi
+		add="-l$name"
+	      elif test "$hardcode_shlibpath_var" = yes; then
+		add_shlibpath="$dir"
+		add="-l$name"
+	      else
+		lib_linked=no
+	      fi
+	      ;;
+	    *) lib_linked=no ;;
+	    esac
+
+	    if test "$lib_linked" != yes; then
+	      func_fatal_configuration "unsupported hardcode properties"
+	    fi
+
+	    if test -n "$add_shlibpath"; then
+	      case :$compile_shlibpath: in
+	      *":$add_shlibpath:"*) ;;
+	      *) func_append compile_shlibpath "$add_shlibpath:" ;;
+	      esac
+	    fi
+	    if test "$linkmode" = prog; then
+	      test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs"
+	      test -n "$add" && compile_deplibs="$add $compile_deplibs"
+	    else
+	      test -n "$add_dir" && deplibs="$add_dir $deplibs"
+	      test -n "$add" && deplibs="$add $deplibs"
+	      if test "$hardcode_direct" != yes &&
+		 test "$hardcode_minus_L" != yes &&
+		 test "$hardcode_shlibpath_var" = yes; then
+		case :$finalize_shlibpath: in
+		*":$libdir:"*) ;;
+		*) func_append finalize_shlibpath "$libdir:" ;;
+		esac
+	      fi
+	    fi
+	  fi
+
+	  if test "$linkmode" = prog || test "$opt_mode" = relink; then
+	    add_shlibpath=
+	    add_dir=
+	    add=
+	    # Finalize command for both is simple: just hardcode it.
+	    if test "$hardcode_direct" = yes &&
+	       test "$hardcode_direct_absolute" = no; then
+	      add="$libdir/$linklib"
+	    elif test "$hardcode_minus_L" = yes; then
+	      add_dir="-L$libdir"
+	      add="-l$name"
+	    elif test "$hardcode_shlibpath_var" = yes; then
+	      case :$finalize_shlibpath: in
+	      *":$libdir:"*) ;;
+	      *) func_append finalize_shlibpath "$libdir:" ;;
+	      esac
+	      add="-l$name"
+	    elif test "$hardcode_automatic" = yes; then
+	      if test -n "$inst_prefix_dir" &&
+		 test -f "$inst_prefix_dir$libdir/$linklib" ; then
+		add="$inst_prefix_dir$libdir/$linklib"
+	      else
+		add="$libdir/$linklib"
+	      fi
+	    else
+	      # We cannot seem to hardcode it, guess we'll fake it.
+	      add_dir="-L$libdir"
+	      # Try looking first in the location we're being installed to.
+	      if test -n "$inst_prefix_dir"; then
+		case $libdir in
+		  [\\/]*)
+		    func_append add_dir " -L$inst_prefix_dir$libdir"
+		    ;;
+		esac
+	      fi
+	      add="-l$name"
+	    fi
+
+	    if test "$linkmode" = prog; then
+	      test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs"
+	      test -n "$add" && finalize_deplibs="$add $finalize_deplibs"
+	    else
+	      test -n "$add_dir" && deplibs="$add_dir $deplibs"
+	      test -n "$add" && deplibs="$add $deplibs"
+	    fi
+	  fi
+	elif test "$linkmode" = prog; then
+	  # Here we assume that one of hardcode_direct or hardcode_minus_L
+	  # is not unsupported.  This is valid on all known static and
+	  # shared platforms.
+	  if test "$hardcode_direct" != unsupported; then
+	    test -n "$old_library" && linklib="$old_library"
+	    compile_deplibs="$dir/$linklib $compile_deplibs"
+	    finalize_deplibs="$dir/$linklib $finalize_deplibs"
+	  else
+	    compile_deplibs="-l$name -L$dir $compile_deplibs"
+	    finalize_deplibs="-l$name -L$dir $finalize_deplibs"
+	  fi
+	elif test "$build_libtool_libs" = yes; then
+	  # Not a shared library
+	  if test "$deplibs_check_method" != pass_all; then
+	    # We're trying link a shared library against a static one
+	    # but the system doesn't support it.
+
+	    # Just print a warning and add the library to dependency_libs so
+	    # that the program can be linked against the static library.
+	    echo
+	    $ECHO "*** Warning: This system can not link to static lib archive $lib."
+	    echo "*** I have the capability to make that library automatically link in when"
+	    echo "*** you link to this library.  But I can only do this if you have a"
+	    echo "*** shared version of the library, which you do not appear to have."
+	    if test "$module" = yes; then
+	      echo "*** But as you try to build a module library, libtool will still create "
+	      echo "*** a static module, that should work as long as the dlopening application"
+	      echo "*** is linked with the -dlopen flag to resolve symbols at runtime."
+	      if test -z "$global_symbol_pipe"; then
+		echo
+		echo "*** However, this would only work if libtool was able to extract symbol"
+		echo "*** lists from a program, using \`nm' or equivalent, but libtool could"
+		echo "*** not find such a program.  So, this module is probably useless."
+		echo "*** \`nm' from GNU binutils and a full rebuild may help."
+	      fi
+	      if test "$build_old_libs" = no; then
+		build_libtool_libs=module
+		build_old_libs=yes
+	      else
+		build_libtool_libs=no
+	      fi
+	    fi
+	  else
+	    deplibs="$dir/$old_library $deplibs"
+	    link_static=yes
+	  fi
+	fi # link shared/static library?
+
+	if test "$linkmode" = lib; then
+	  if test -n "$dependency_libs" &&
+	     { test "$hardcode_into_libs" != yes ||
+	       test "$build_old_libs" = yes ||
+	       test "$link_static" = yes; }; then
+	    # Extract -R from dependency_libs
+	    temp_deplibs=
+	    for libdir in $dependency_libs; do
+	      case $libdir in
+	      -R*) func_stripname '-R' '' "$libdir"
+	           temp_xrpath=$func_stripname_result
+		   case " $xrpath " in
+		   *" $temp_xrpath "*) ;;
+		   *) func_append xrpath " $temp_xrpath";;
+		   esac;;
+	      *) func_append temp_deplibs " $libdir";;
+	      esac
+	    done
+	    dependency_libs="$temp_deplibs"
+	  fi
+
+	  func_append newlib_search_path " $absdir"
+	  # Link against this library
+	  test "$link_static" = no && newdependency_libs="$abs_ladir/$laname $newdependency_libs"
+	  # ... and its dependency_libs
+	  tmp_libs=
+	  for deplib in $dependency_libs; do
+	    newdependency_libs="$deplib $newdependency_libs"
+	    case $deplib in
+              -L*) func_stripname '-L' '' "$deplib"
+                   func_resolve_sysroot "$func_stripname_result";;
+              *) func_resolve_sysroot "$deplib" ;;
+            esac
+	    if $opt_preserve_dup_deps ; then
+	      case "$tmp_libs " in
+	      *" $func_resolve_sysroot_result "*)
+                func_append specialdeplibs " $func_resolve_sysroot_result" ;;
+	      esac
+	    fi
+	    func_append tmp_libs " $func_resolve_sysroot_result"
+	  done
+
+	  if test "$link_all_deplibs" != no; then
+	    # Add the search paths of all dependency libraries
+	    for deplib in $dependency_libs; do
+	      path=
+	      case $deplib in
+	      -L*) path="$deplib" ;;
+	      *.la)
+	        func_resolve_sysroot "$deplib"
+	        deplib=$func_resolve_sysroot_result
+	        func_dirname "$deplib" "" "."
+		dir=$func_dirname_result
+		# We need an absolute path.
+		case $dir in
+		[\\/]* | [A-Za-z]:[\\/]*) absdir="$dir" ;;
+		*)
+		  absdir=`cd "$dir" && pwd`
+		  if test -z "$absdir"; then
+		    func_warning "cannot determine absolute directory name of \`$dir'"
+		    absdir="$dir"
+		  fi
+		  ;;
+		esac
+		if $GREP "^installed=no" $deplib > /dev/null; then
+		case $host in
+		*-*-darwin*)
+		  depdepl=
+		  eval deplibrary_names=`${SED} -n -e 's/^library_names=\(.*\)$/\1/p' $deplib`
+		  if test -n "$deplibrary_names" ; then
+		    for tmp in $deplibrary_names ; do
+		      depdepl=$tmp
+		    done
+		    if test -f "$absdir/$objdir/$depdepl" ; then
+		      depdepl="$absdir/$objdir/$depdepl"
+		      darwin_install_name=`${OTOOL} -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'`
+                      if test -z "$darwin_install_name"; then
+                          darwin_install_name=`${OTOOL64} -L $depdepl  | awk '{if (NR == 2) {print $1;exit}}'`
+                      fi
+		      func_append compiler_flags " ${wl}-dylib_file ${wl}${darwin_install_name}:${depdepl}"
+		      func_append linker_flags " -dylib_file ${darwin_install_name}:${depdepl}"
+		      path=
+		    fi
+		  fi
+		  ;;
+		*)
+		  path="-L$absdir/$objdir"
+		  ;;
+		esac
+		else
+		  eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
+		  test -z "$libdir" && \
+		    func_fatal_error "\`$deplib' is not a valid libtool archive"
+		  test "$absdir" != "$libdir" && \
+		    func_warning "\`$deplib' seems to be moved"
+
+		  path="-L$absdir"
+		fi
+		;;
+	      esac
+	      case " $deplibs " in
+	      *" $path "*) ;;
+	      *) deplibs="$path $deplibs" ;;
+	      esac
+	    done
+	  fi # link_all_deplibs != no
+	fi # linkmode = lib
+      done # for deplib in $libs
+      if test "$pass" = link; then
+	if test "$linkmode" = "prog"; then
+	  compile_deplibs="$new_inherited_linker_flags $compile_deplibs"
+	  finalize_deplibs="$new_inherited_linker_flags $finalize_deplibs"
+	else
+	  compiler_flags="$compiler_flags "`$ECHO " $new_inherited_linker_flags" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
+	fi
+      fi
+      dependency_libs="$newdependency_libs"
+      if test "$pass" = dlpreopen; then
+	# Link the dlpreopened libraries before other libraries
+	for deplib in $save_deplibs; do
+	  deplibs="$deplib $deplibs"
+	done
+      fi
+      if test "$pass" != dlopen; then
+	if test "$pass" != conv; then
+	  # Make sure lib_search_path contains only unique directories.
+	  lib_search_path=
+	  for dir in $newlib_search_path; do
+	    case "$lib_search_path " in
+	    *" $dir "*) ;;
+	    *) func_append lib_search_path " $dir" ;;
+	    esac
+	  done
+	  newlib_search_path=
+	fi
+
+	if test "$linkmode,$pass" != "prog,link"; then
+	  vars="deplibs"
+	else
+	  vars="compile_deplibs finalize_deplibs"
+	fi
+	for var in $vars dependency_libs; do
+	  # Add libraries to $var in reverse order
+	  eval tmp_libs=\"\$$var\"
+	  new_libs=
+	  for deplib in $tmp_libs; do
+	    # FIXME: Pedantically, this is the right thing to do, so
+	    #        that some nasty dependency loop isn't accidentally
+	    #        broken:
+	    #new_libs="$deplib $new_libs"
+	    # Pragmatically, this seems to cause very few problems in
+	    # practice:
+	    case $deplib in
+	    -L*) new_libs="$deplib $new_libs" ;;
+	    -R*) ;;
+	    *)
+	      # And here is the reason: when a library appears more
+	      # than once as an explicit dependence of a library, or
+	      # is implicitly linked in more than once by the
+	      # compiler, it is considered special, and multiple
+	      # occurrences thereof are not removed.  Compare this
+	      # with having the same library being listed as a
+	      # dependency of multiple other libraries: in this case,
+	      # we know (pedantically, we assume) the library does not
+	      # need to be listed more than once, so we keep only the
+	      # last copy.  This is not always right, but it is rare
+	      # enough that we require users that really mean to play
+	      # such unportable linking tricks to link the library
+	      # using -Wl,-lname, so that libtool does not consider it
+	      # for duplicate removal.
+	      case " $specialdeplibs " in
+	      *" $deplib "*) new_libs="$deplib $new_libs" ;;
+	      *)
+		case " $new_libs " in
+		*" $deplib "*) ;;
+		*) new_libs="$deplib $new_libs" ;;
+		esac
+		;;
+	      esac
+	      ;;
+	    esac
+	  done
+	  tmp_libs=
+	  for deplib in $new_libs; do
+	    case $deplib in
+	    -L*)
+	      case " $tmp_libs " in
+	      *" $deplib "*) ;;
+	      *) func_append tmp_libs " $deplib" ;;
+	      esac
+	      ;;
+	    *) func_append tmp_libs " $deplib" ;;
+	    esac
+	  done
+	  eval $var=\"$tmp_libs\"
+	done # for var
+      fi
+      # Last step: remove runtime libs from dependency_libs
+      # (they stay in deplibs)
+      tmp_libs=
+      for i in $dependency_libs ; do
+	case " $predeps $postdeps $compiler_lib_search_path " in
+	*" $i "*)
+	  i=""
+	  ;;
+	esac
+	if test -n "$i" ; then
+	  func_append tmp_libs " $i"
+	fi
+      done
+      dependency_libs=$tmp_libs
+    done # for pass
+    if test "$linkmode" = prog; then
+      dlfiles="$newdlfiles"
+    fi
+    if test "$linkmode" = prog || test "$linkmode" = lib; then
+      dlprefiles="$newdlprefiles"
+    fi
+
+    case $linkmode in
+    oldlib)
+      if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
+	func_warning "\`-dlopen' is ignored for archives"
+      fi
+
+      case " $deplibs" in
+      *\ -l* | *\ -L*)
+	func_warning "\`-l' and \`-L' are ignored for archives" ;;
+      esac
+
+      test -n "$rpath" && \
+	func_warning "\`-rpath' is ignored for archives"
+
+      test -n "$xrpath" && \
+	func_warning "\`-R' is ignored for archives"
+
+      test -n "$vinfo" && \
+	func_warning "\`-version-info/-version-number' is ignored for archives"
+
+      test -n "$release" && \
+	func_warning "\`-release' is ignored for archives"
+
+      test -n "$export_symbols$export_symbols_regex" && \
+	func_warning "\`-export-symbols' is ignored for archives"
+
+      # Now set the variables for building old libraries.
+      build_libtool_libs=no
+      oldlibs="$output"
+      func_append objs "$old_deplibs"
+      ;;
+
+    lib)
+      # Make sure we only generate libraries of the form `libNAME.la'.
+      case $outputname in
+      lib*)
+	func_stripname 'lib' '.la' "$outputname"
+	name=$func_stripname_result
+	eval shared_ext=\"$shrext_cmds\"
+	eval libname=\"$libname_spec\"
+	;;
+      *)
+	test "$module" = no && \
+	  func_fatal_help "libtool library \`$output' must begin with \`lib'"
+
+	if test "$need_lib_prefix" != no; then
+	  # Add the "lib" prefix for modules if required
+	  func_stripname '' '.la' "$outputname"
+	  name=$func_stripname_result
+	  eval shared_ext=\"$shrext_cmds\"
+	  eval libname=\"$libname_spec\"
+	else
+	  func_stripname '' '.la' "$outputname"
+	  libname=$func_stripname_result
+	fi
+	;;
+      esac
+
+      if test -n "$objs"; then
+	if test "$deplibs_check_method" != pass_all; then
+	  func_fatal_error "cannot build libtool library \`$output' from non-libtool objects on this host:$objs"
+	else
+	  echo
+	  $ECHO "*** Warning: Linking the shared library $output against the non-libtool"
+	  $ECHO "*** objects $objs is not portable!"
+	  func_append libobjs " $objs"
+	fi
+      fi
+
+      test "$dlself" != no && \
+	func_warning "\`-dlopen self' is ignored for libtool libraries"
+
+      set dummy $rpath
+      shift
+      test "$#" -gt 1 && \
+	func_warning "ignoring multiple \`-rpath's for a libtool library"
+
+      install_libdir="$1"
+
+      oldlibs=
+      if test -z "$rpath"; then
+	if test "$build_libtool_libs" = yes; then
+	  # Building a libtool convenience library.
+	  # Some compilers have problems with a `.al' extension so
+	  # convenience libraries should have the same extension an
+	  # archive normally would.
+	  oldlibs="$output_objdir/$libname.$libext $oldlibs"
+	  build_libtool_libs=convenience
+	  build_old_libs=yes
+	fi
+
+	test -n "$vinfo" && \
+	  func_warning "\`-version-info/-version-number' is ignored for convenience libraries"
+
+	test -n "$release" && \
+	  func_warning "\`-release' is ignored for convenience libraries"
+      else
+
+	# Parse the version information argument.
+	save_ifs="$IFS"; IFS=':'
+	set dummy $vinfo 0 0 0
+	shift
+	IFS="$save_ifs"
+
+	test -n "$7" && \
+	  func_fatal_help "too many parameters to \`-version-info'"
+
+	# convert absolute version numbers to libtool ages
+	# this retains compatibility with .la files and attempts
+	# to make the code below a bit more comprehensible
+
+	case $vinfo_number in
+	yes)
+	  number_major="$1"
+	  number_minor="$2"
+	  number_revision="$3"
+	  #
+	  # There are really only two kinds -- those that
+	  # use the current revision as the major version
+	  # and those that subtract age and use age as
+	  # a minor version.  But, then there is irix
+	  # which has an extra 1 added just for fun
+	  #
+	  case $version_type in
+	  # correct linux to gnu/linux during the next big refactor
+	  darwin|linux|osf|windows|none)
+	    func_arith $number_major + $number_minor
+	    current=$func_arith_result
+	    age="$number_minor"
+	    revision="$number_revision"
+	    ;;
+	  freebsd-aout|freebsd-elf|qnx|sunos)
+	    current="$number_major"
+	    revision="$number_minor"
+	    age="0"
+	    ;;
+	  irix|nonstopux)
+	    func_arith $number_major + $number_minor
+	    current=$func_arith_result
+	    age="$number_minor"
+	    revision="$number_minor"
+	    lt_irix_increment=no
+	    ;;
+	  esac
+	  ;;
+	no)
+	  current="$1"
+	  revision="$2"
+	  age="$3"
+	  ;;
+	esac
+
+	# Check that each of the things are valid numbers.
+	case $current in
+	0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
+	*)
+	  func_error "CURRENT \`$current' must be a nonnegative integer"
+	  func_fatal_error "\`$vinfo' is not valid version information"
+	  ;;
+	esac
+
+	case $revision in
+	0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
+	*)
+	  func_error "REVISION \`$revision' must be a nonnegative integer"
+	  func_fatal_error "\`$vinfo' is not valid version information"
+	  ;;
+	esac
+
+	case $age in
+	0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
+	*)
+	  func_error "AGE \`$age' must be a nonnegative integer"
+	  func_fatal_error "\`$vinfo' is not valid version information"
+	  ;;
+	esac
+
+	if test "$age" -gt "$current"; then
+	  func_error "AGE \`$age' is greater than the current interface number \`$current'"
+	  func_fatal_error "\`$vinfo' is not valid version information"
+	fi
+
+	# Calculate the version variables.
+	major=
+	versuffix=
+	verstring=
+	case $version_type in
+	none) ;;
+
+	darwin)
+	  # Like Linux, but with the current version available in
+	  # verstring for coding it into the library header
+	  func_arith $current - $age
+	  major=.$func_arith_result
+	  versuffix="$major.$age.$revision"
+	  # Darwin ld doesn't like 0 for these options...
+	  func_arith $current + 1
+	  minor_current=$func_arith_result
+	  xlcverstring="${wl}-compatibility_version ${wl}$minor_current ${wl}-current_version ${wl}$minor_current.$revision"
+	  verstring="-compatibility_version $minor_current -current_version $minor_current.$revision"
+	  ;;
+
+	freebsd-aout)
+	  major=".$current"
+	  versuffix=".$current.$revision";
+	  ;;
+
+	freebsd-elf)
+	  major=".$current"
+	  versuffix=".$current"
+	  ;;
+
+	irix | nonstopux)
+	  if test "X$lt_irix_increment" = "Xno"; then
+	    func_arith $current - $age
+	  else
+	    func_arith $current - $age + 1
+	  fi
+	  major=$func_arith_result
+
+	  case $version_type in
+	    nonstopux) verstring_prefix=nonstopux ;;
+	    *)         verstring_prefix=sgi ;;
+	  esac
+	  verstring="$verstring_prefix$major.$revision"
+
+	  # Add in all the interfaces that we are compatible with.
+	  loop=$revision
+	  while test "$loop" -ne 0; do
+	    func_arith $revision - $loop
+	    iface=$func_arith_result
+	    func_arith $loop - 1
+	    loop=$func_arith_result
+	    verstring="$verstring_prefix$major.$iface:$verstring"
+	  done
+
+	  # Before this point, $major must not contain `.'.
+	  major=.$major
+	  versuffix="$major.$revision"
+	  ;;
+
+	linux) # correct to gnu/linux during the next big refactor
+	  func_arith $current - $age
+	  major=.$func_arith_result
+	  versuffix="$major.$age.$revision"
+	  ;;
+
+	osf)
+	  func_arith $current - $age
+	  major=.$func_arith_result
+	  versuffix=".$current.$age.$revision"
+	  verstring="$current.$age.$revision"
+
+	  # Add in all the interfaces that we are compatible with.
+	  loop=$age
+	  while test "$loop" -ne 0; do
+	    func_arith $current - $loop
+	    iface=$func_arith_result
+	    func_arith $loop - 1
+	    loop=$func_arith_result
+	    verstring="$verstring:${iface}.0"
+	  done
+
+	  # Make executables depend on our current version.
+	  func_append verstring ":${current}.0"
+	  ;;
+
+	qnx)
+	  major=".$current"
+	  versuffix=".$current"
+	  ;;
+
+	sunos)
+	  major=".$current"
+	  versuffix=".$current.$revision"
+	  ;;
+
+	windows)
+	  # Use '-' rather than '.', since we only want one
+	  # extension on DOS 8.3 filesystems.
+	  func_arith $current - $age
+	  major=$func_arith_result
+	  versuffix="-$major"
+	  ;;
+
+	*)
+	  func_fatal_configuration "unknown library version type \`$version_type'"
+	  ;;
+	esac
+
+	# Clear the version info if we defaulted, and they specified a release.
+	if test -z "$vinfo" && test -n "$release"; then
+	  major=
+	  case $version_type in
+	  darwin)
+	    # we can't check for "0.0" in archive_cmds due to quoting
+	    # problems, so we reset it completely
+	    verstring=
+	    ;;
+	  *)
+	    verstring="0.0"
+	    ;;
+	  esac
+	  if test "$need_version" = no; then
+	    versuffix=
+	  else
+	    versuffix=".0.0"
+	  fi
+	fi
+
+	# Remove version info from name if versioning should be avoided
+	if test "$avoid_version" = yes && test "$need_version" = no; then
+	  major=
+	  versuffix=
+	  verstring=""
+	fi
+
+	# Check to see if the archive will have undefined symbols.
+	if test "$allow_undefined" = yes; then
+	  if test "$allow_undefined_flag" = unsupported; then
+	    func_warning "undefined symbols not allowed in $host shared libraries"
+	    build_libtool_libs=no
+	    build_old_libs=yes
+	  fi
+	else
+	  # Don't allow undefined symbols.
+	  allow_undefined_flag="$no_undefined_flag"
+	fi
+
+      fi
+
+      func_generate_dlsyms "$libname" "$libname" "yes"
+      func_append libobjs " $symfileobj"
+      test "X$libobjs" = "X " && libobjs=
+
+      if test "$opt_mode" != relink; then
+	# Remove our outputs, but don't remove object files since they
+	# may have been created when compiling PIC objects.
+	removelist=
+	tempremovelist=`$ECHO "$output_objdir/*"`
+	for p in $tempremovelist; do
+	  case $p in
+	    *.$objext | *.gcno)
+	       ;;
+	    $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/${libname}${release}.*)
+	       if test "X$precious_files_regex" != "X"; then
+		 if $ECHO "$p" | $EGREP -e "$precious_files_regex" >/dev/null 2>&1
+		 then
+		   continue
+		 fi
+	       fi
+	       func_append removelist " $p"
+	       ;;
+	    *) ;;
+	  esac
+	done
+	test -n "$removelist" && \
+	  func_show_eval "${RM}r \$removelist"
+      fi
+
+      # Now set the variables for building old libraries.
+      if test "$build_old_libs" = yes && test "$build_libtool_libs" != convenience ; then
+	func_append oldlibs " $output_objdir/$libname.$libext"
+
+	# Transform .lo files to .o files.
+	oldobjs="$objs "`$ECHO "$libobjs" | $SP2NL | $SED "/\.${libext}$/d; $lo2o" | $NL2SP`
+      fi
+
+      # Eliminate all temporary directories.
+      #for path in $notinst_path; do
+      #	lib_search_path=`$ECHO "$lib_search_path " | $SED "s% $path % %g"`
+      #	deplibs=`$ECHO "$deplibs " | $SED "s% -L$path % %g"`
+      #	dependency_libs=`$ECHO "$dependency_libs " | $SED "s% -L$path % %g"`
+      #done
+
+      if test -n "$xrpath"; then
+	# If the user specified any rpath flags, then add them.
+	temp_xrpath=
+	for libdir in $xrpath; do
+	  func_replace_sysroot "$libdir"
+	  func_append temp_xrpath " -R$func_replace_sysroot_result"
+	  case "$finalize_rpath " in
+	  *" $libdir "*) ;;
+	  *) func_append finalize_rpath " $libdir" ;;
+	  esac
+	done
+	if test "$hardcode_into_libs" != yes || test "$build_old_libs" = yes; then
+	  dependency_libs="$temp_xrpath $dependency_libs"
+	fi
+      fi
+
+      # Make sure dlfiles contains only unique files that won't be dlpreopened
+      old_dlfiles="$dlfiles"
+      dlfiles=
+      for lib in $old_dlfiles; do
+	case " $dlprefiles $dlfiles " in
+	*" $lib "*) ;;
+	*) func_append dlfiles " $lib" ;;
+	esac
+      done
+
+      # Make sure dlprefiles contains only unique files
+      old_dlprefiles="$dlprefiles"
+      dlprefiles=
+      for lib in $old_dlprefiles; do
+	case "$dlprefiles " in
+	*" $lib "*) ;;
+	*) func_append dlprefiles " $lib" ;;
+	esac
+      done
+
+      if test "$build_libtool_libs" = yes; then
+	if test -n "$rpath"; then
+	  case $host in
+	  *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos* | *-cegcc* | *-*-haiku*)
+	    # these systems don't actually have a c library (as such)!
+	    ;;
+	  *-*-rhapsody* | *-*-darwin1.[012])
+	    # Rhapsody C library is in the System framework
+	    func_append deplibs " System.ltframework"
+	    ;;
+	  *-*-netbsd*)
+	    # Don't link with libc until the a.out ld.so is fixed.
+	    ;;
+	  *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
+	    # Do not include libc due to us having libc/libc_r.
+	    ;;
+	  *-*-sco3.2v5* | *-*-sco5v6*)
+	    # Causes problems with __ctype
+	    ;;
+	  *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*)
+	    # Compiler inserts libc in the correct place for threads to work
+	    ;;
+	  *)
+	    # Add libc to deplibs on all other systems if necessary.
+	    if test "$build_libtool_need_lc" = "yes"; then
+	      func_append deplibs " -lc"
+	    fi
+	    ;;
+	  esac
+	fi
+
+	# Transform deplibs into only deplibs that can be linked in shared.
+	name_save=$name
+	libname_save=$libname
+	release_save=$release
+	versuffix_save=$versuffix
+	major_save=$major
+	# I'm not sure if I'm treating the release correctly.  I think
+	# release should show up in the -l (ie -lgmp5) so we don't want to
+	# add it in twice.  Is that correct?
+	release=""
+	versuffix=""
+	major=""
+	newdeplibs=
+	droppeddeps=no
+	case $deplibs_check_method in
+	pass_all)
+	  # Don't check for shared/static.  Everything works.
+	  # This might be a little naive.  We might want to check
+	  # whether the library exists or not.  But this is on
+	  # osf3 & osf4 and I'm not really sure... Just
+	  # implementing what was already the behavior.
+	  newdeplibs=$deplibs
+	  ;;
+	test_compile)
+	  # This code stresses the "libraries are programs" paradigm to its
+	  # limits. Maybe even breaks it.  We compile a program, linking it
+	  # against the deplibs as a proxy for the library.  Then we can check
+	  # whether they linked in statically or dynamically with ldd.
+	  $opt_dry_run || $RM conftest.c
+	  cat > conftest.c <<EOF
+	  int main() { return 0; }
+EOF
+	  $opt_dry_run || $RM conftest
+	  if $LTCC $LTCFLAGS -o conftest conftest.c $deplibs; then
+	    ldd_output=`ldd conftest`
+	    for i in $deplibs; do
+	      case $i in
+	      -l*)
+		func_stripname -l '' "$i"
+		name=$func_stripname_result
+		if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
+		  case " $predeps $postdeps " in
+		  *" $i "*)
+		    func_append newdeplibs " $i"
+		    i=""
+		    ;;
+		  esac
+		fi
+		if test -n "$i" ; then
+		  libname=`eval "\\$ECHO \"$libname_spec\""`
+		  deplib_matches=`eval "\\$ECHO \"$library_names_spec\""`
+		  set dummy $deplib_matches; shift
+		  deplib_match=$1
+		  if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then
+		    func_append newdeplibs " $i"
+		  else
+		    droppeddeps=yes
+		    echo
+		    $ECHO "*** Warning: dynamic linker does not accept needed library $i."
+		    echo "*** I have the capability to make that library automatically link in when"
+		    echo "*** you link to this library.  But I can only do this if you have a"
+		    echo "*** shared version of the library, which I believe you do not have"
+		    echo "*** because a test_compile did reveal that the linker did not use it for"
+		    echo "*** its dynamic dependency list that programs get resolved with at runtime."
+		  fi
+		fi
+		;;
+	      *)
+		func_append newdeplibs " $i"
+		;;
+	      esac
+	    done
+	  else
+	    # Error occurred in the first compile.  Let's try to salvage
+	    # the situation: Compile a separate program for each library.
+	    for i in $deplibs; do
+	      case $i in
+	      -l*)
+		func_stripname -l '' "$i"
+		name=$func_stripname_result
+		$opt_dry_run || $RM conftest
+		if $LTCC $LTCFLAGS -o conftest conftest.c $i; then
+		  ldd_output=`ldd conftest`
+		  if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
+		    case " $predeps $postdeps " in
+		    *" $i "*)
+		      func_append newdeplibs " $i"
+		      i=""
+		      ;;
+		    esac
+		  fi
+		  if test -n "$i" ; then
+		    libname=`eval "\\$ECHO \"$libname_spec\""`
+		    deplib_matches=`eval "\\$ECHO \"$library_names_spec\""`
+		    set dummy $deplib_matches; shift
+		    deplib_match=$1
+		    if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then
+		      func_append newdeplibs " $i"
+		    else
+		      droppeddeps=yes
+		      echo
+		      $ECHO "*** Warning: dynamic linker does not accept needed library $i."
+		      echo "*** I have the capability to make that library automatically link in when"
+		      echo "*** you link to this library.  But I can only do this if you have a"
+		      echo "*** shared version of the library, which you do not appear to have"
+		      echo "*** because a test_compile did reveal that the linker did not use this one"
+		      echo "*** as a dynamic dependency that programs can get resolved with at runtime."
+		    fi
+		  fi
+		else
+		  droppeddeps=yes
+		  echo
+		  $ECHO "*** Warning!  Library $i is needed by this library but I was not able to"
+		  echo "*** make it link in!  You will probably need to install it or some"
+		  echo "*** library that it depends on before this library will be fully"
+		  echo "*** functional.  Installing it before continuing would be even better."
+		fi
+		;;
+	      *)
+		func_append newdeplibs " $i"
+		;;
+	      esac
+	    done
+	  fi
+	  ;;
+	file_magic*)
+	  set dummy $deplibs_check_method; shift
+	  file_magic_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"`
+	  for a_deplib in $deplibs; do
+	    case $a_deplib in
+	    -l*)
+	      func_stripname -l '' "$a_deplib"
+	      name=$func_stripname_result
+	      if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
+		case " $predeps $postdeps " in
+		*" $a_deplib "*)
+		  func_append newdeplibs " $a_deplib"
+		  a_deplib=""
+		  ;;
+		esac
+	      fi
+	      if test -n "$a_deplib" ; then
+		libname=`eval "\\$ECHO \"$libname_spec\""`
+		if test -n "$file_magic_glob"; then
+		  libnameglob=`func_echo_all "$libname" | $SED -e $file_magic_glob`
+		else
+		  libnameglob=$libname
+		fi
+		test "$want_nocaseglob" = yes && nocaseglob=`shopt -p nocaseglob`
+		for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do
+		  if test "$want_nocaseglob" = yes; then
+		    shopt -s nocaseglob
+		    potential_libs=`ls $i/$libnameglob[.-]* 2>/dev/null`
+		    $nocaseglob
+		  else
+		    potential_libs=`ls $i/$libnameglob[.-]* 2>/dev/null`
+		  fi
+		  for potent_lib in $potential_libs; do
+		      # Follow soft links.
+		      if ls -lLd "$potent_lib" 2>/dev/null |
+			 $GREP " -> " >/dev/null; then
+			continue
+		      fi
+		      # The statement above tries to avoid entering an
+		      # endless loop below, in case of cyclic links.
+		      # We might still enter an endless loop, since a link
+		      # loop can be closed while we follow links,
+		      # but so what?
+		      potlib="$potent_lib"
+		      while test -h "$potlib" 2>/dev/null; do
+			potliblink=`ls -ld $potlib | ${SED} 's/.* -> //'`
+			case $potliblink in
+			[\\/]* | [A-Za-z]:[\\/]*) potlib="$potliblink";;
+			*) potlib=`$ECHO "$potlib" | $SED 's,[^/]*$,,'`"$potliblink";;
+			esac
+		      done
+		      if eval $file_magic_cmd \"\$potlib\" 2>/dev/null |
+			 $SED -e 10q |
+			 $EGREP "$file_magic_regex" > /dev/null; then
+			func_append newdeplibs " $a_deplib"
+			a_deplib=""
+			break 2
+		      fi
+		  done
+		done
+	      fi
+	      if test -n "$a_deplib" ; then
+		droppeddeps=yes
+		echo
+		$ECHO "*** Warning: linker path does not have real file for library $a_deplib."
+		echo "*** I have the capability to make that library automatically link in when"
+		echo "*** you link to this library.  But I can only do this if you have a"
+		echo "*** shared version of the library, which you do not appear to have"
+		echo "*** because I did check the linker path looking for a file starting"
+		if test -z "$potlib" ; then
+		  $ECHO "*** with $libname but no candidates were found. (...for file magic test)"
+		else
+		  $ECHO "*** with $libname and none of the candidates passed a file format test"
+		  $ECHO "*** using a file magic. Last file checked: $potlib"
+		fi
+	      fi
+	      ;;
+	    *)
+	      # Add a -L argument.
+	      func_append newdeplibs " $a_deplib"
+	      ;;
+	    esac
+	  done # Gone through all deplibs.
+	  ;;
+	match_pattern*)
+	  set dummy $deplibs_check_method; shift
+	  match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"`
+	  for a_deplib in $deplibs; do
+	    case $a_deplib in
+	    -l*)
+	      func_stripname -l '' "$a_deplib"
+	      name=$func_stripname_result
+	      if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
+		case " $predeps $postdeps " in
+		*" $a_deplib "*)
+		  func_append newdeplibs " $a_deplib"
+		  a_deplib=""
+		  ;;
+		esac
+	      fi
+	      if test -n "$a_deplib" ; then
+		libname=`eval "\\$ECHO \"$libname_spec\""`
+		for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do
+		  potential_libs=`ls $i/$libname[.-]* 2>/dev/null`
+		  for potent_lib in $potential_libs; do
+		    potlib="$potent_lib" # see symlink-check above in file_magic test
+		    if eval "\$ECHO \"$potent_lib\"" 2>/dev/null | $SED 10q | \
+		       $EGREP "$match_pattern_regex" > /dev/null; then
+		      func_append newdeplibs " $a_deplib"
+		      a_deplib=""
+		      break 2
+		    fi
+		  done
+		done
+	      fi
+	      if test -n "$a_deplib" ; then
+		droppeddeps=yes
+		echo
+		$ECHO "*** Warning: linker path does not have real file for library $a_deplib."
+		echo "*** I have the capability to make that library automatically link in when"
+		echo "*** you link to this library.  But I can only do this if you have a"
+		echo "*** shared version of the library, which you do not appear to have"
+		echo "*** because I did check the linker path looking for a file starting"
+		if test -z "$potlib" ; then
+		  $ECHO "*** with $libname but no candidates were found. (...for regex pattern test)"
+		else
+		  $ECHO "*** with $libname and none of the candidates passed a file format test"
+		  $ECHO "*** using a regex pattern. Last file checked: $potlib"
+		fi
+	      fi
+	      ;;
+	    *)
+	      # Add a -L argument.
+	      func_append newdeplibs " $a_deplib"
+	      ;;
+	    esac
+	  done # Gone through all deplibs.
+	  ;;
+	none | unknown | *)
+	  newdeplibs=""
+	  tmp_deplibs=`$ECHO " $deplibs" | $SED 's/ -lc$//; s/ -[LR][^ ]*//g'`
+	  if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
+	    for i in $predeps $postdeps ; do
+	      # can't use Xsed below, because $i might contain '/'
+	      tmp_deplibs=`$ECHO " $tmp_deplibs" | $SED "s,$i,,"`
+	    done
+	  fi
+	  case $tmp_deplibs in
+	  *[!\	\ ]*)
+	    echo
+	    if test "X$deplibs_check_method" = "Xnone"; then
+	      echo "*** Warning: inter-library dependencies are not supported in this platform."
+	    else
+	      echo "*** Warning: inter-library dependencies are not known to be supported."
+	    fi
+	    echo "*** All declared inter-library dependencies are being dropped."
+	    droppeddeps=yes
+	    ;;
+	  esac
+	  ;;
+	esac
+	versuffix=$versuffix_save
+	major=$major_save
+	release=$release_save
+	libname=$libname_save
+	name=$name_save
+
+	case $host in
+	*-*-rhapsody* | *-*-darwin1.[012])
+	  # On Rhapsody replace the C library with the System framework
+	  newdeplibs=`$ECHO " $newdeplibs" | $SED 's/ -lc / System.ltframework /'`
+	  ;;
+	esac
+
+	if test "$droppeddeps" = yes; then
+	  if test "$module" = yes; then
+	    echo
+	    echo "*** Warning: libtool could not satisfy all declared inter-library"
+	    $ECHO "*** dependencies of module $libname.  Therefore, libtool will create"
+	    echo "*** a static module, that should work as long as the dlopening"
+	    echo "*** application is linked with the -dlopen flag."
+	    if test -z "$global_symbol_pipe"; then
+	      echo
+	      echo "*** However, this would only work if libtool was able to extract symbol"
+	      echo "*** lists from a program, using \`nm' or equivalent, but libtool could"
+	      echo "*** not find such a program.  So, this module is probably useless."
+	      echo "*** \`nm' from GNU binutils and a full rebuild may help."
+	    fi
+	    if test "$build_old_libs" = no; then
+	      oldlibs="$output_objdir/$libname.$libext"
+	      build_libtool_libs=module
+	      build_old_libs=yes
+	    else
+	      build_libtool_libs=no
+	    fi
+	  else
+	    echo "*** The inter-library dependencies that have been dropped here will be"
+	    echo "*** automatically added whenever a program is linked with this library"
+	    echo "*** or is declared to -dlopen it."
+
+	    if test "$allow_undefined" = no; then
+	      echo
+	      echo "*** Since this library must not contain undefined symbols,"
+	      echo "*** because either the platform does not support them or"
+	      echo "*** it was explicitly requested with -no-undefined,"
+	      echo "*** libtool will only create a static version of it."
+	      if test "$build_old_libs" = no; then
+		oldlibs="$output_objdir/$libname.$libext"
+		build_libtool_libs=module
+		build_old_libs=yes
+	      else
+		build_libtool_libs=no
+	      fi
+	    fi
+	  fi
+	fi
+	# Done checking deplibs!
+	deplibs=$newdeplibs
+      fi
+      # Time to change all our "foo.ltframework" stuff back to "-framework foo"
+      case $host in
+	*-*-darwin*)
+	  newdeplibs=`$ECHO " $newdeplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
+	  new_inherited_linker_flags=`$ECHO " $new_inherited_linker_flags" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
+	  deplibs=`$ECHO " $deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
+	  ;;
+      esac
+
+      # move library search paths that coincide with paths to not yet
+      # installed libraries to the beginning of the library search list
+      new_libs=
+      for path in $notinst_path; do
+	case " $new_libs " in
+	*" -L$path/$objdir "*) ;;
+	*)
+	  case " $deplibs " in
+	  *" -L$path/$objdir "*)
+	    func_append new_libs " -L$path/$objdir" ;;
+	  esac
+	  ;;
+	esac
+      done
+      for deplib in $deplibs; do
+	case $deplib in
+	-L*)
+	  case " $new_libs " in
+	  *" $deplib "*) ;;
+	  *) func_append new_libs " $deplib" ;;
+	  esac
+	  ;;
+	*) func_append new_libs " $deplib" ;;
+	esac
+      done
+      deplibs="$new_libs"
+
+      # All the library-specific variables (install_libdir is set above).
+      library_names=
+      old_library=
+      dlname=
+
+      # Test again, we may have decided not to build it any more
+      if test "$build_libtool_libs" = yes; then
+	# Remove ${wl} instances when linking with ld.
+	# FIXME: should test the right _cmds variable.
+	case $archive_cmds in
+	  *\$LD\ *) wl= ;;
+        esac
+	if test "$hardcode_into_libs" = yes; then
+	  # Hardcode the library paths
+	  hardcode_libdirs=
+	  dep_rpath=
+	  rpath="$finalize_rpath"
+	  test "$opt_mode" != relink && rpath="$compile_rpath$rpath"
+	  for libdir in $rpath; do
+	    if test -n "$hardcode_libdir_flag_spec"; then
+	      if test -n "$hardcode_libdir_separator"; then
+		func_replace_sysroot "$libdir"
+		libdir=$func_replace_sysroot_result
+		if test -z "$hardcode_libdirs"; then
+		  hardcode_libdirs="$libdir"
+		else
+		  # Just accumulate the unique libdirs.
+		  case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
+		  *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
+		    ;;
+		  *)
+		    func_append hardcode_libdirs "$hardcode_libdir_separator$libdir"
+		    ;;
+		  esac
+		fi
+	      else
+		eval flag=\"$hardcode_libdir_flag_spec\"
+		func_append dep_rpath " $flag"
+	      fi
+	    elif test -n "$runpath_var"; then
+	      case "$perm_rpath " in
+	      *" $libdir "*) ;;
+	      *) func_append perm_rpath " $libdir" ;;
+	      esac
+	    fi
+	  done
+	  # Substitute the hardcoded libdirs into the rpath.
+	  if test -n "$hardcode_libdir_separator" &&
+	     test -n "$hardcode_libdirs"; then
+	    libdir="$hardcode_libdirs"
+	    eval "dep_rpath=\"$hardcode_libdir_flag_spec\""
+	  fi
+	  if test -n "$runpath_var" && test -n "$perm_rpath"; then
+	    # We should set the runpath_var.
+	    rpath=
+	    for dir in $perm_rpath; do
+	      func_append rpath "$dir:"
+	    done
+	    eval "$runpath_var='$rpath\$$runpath_var'; export $runpath_var"
+	  fi
+	  test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs"
+	fi
+
+	shlibpath="$finalize_shlibpath"
+	test "$opt_mode" != relink && shlibpath="$compile_shlibpath$shlibpath"
+	if test -n "$shlibpath"; then
+	  eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var"
+	fi
+
+	# Get the real and link names of the library.
+	eval shared_ext=\"$shrext_cmds\"
+	eval library_names=\"$library_names_spec\"
+	set dummy $library_names
+	shift
+	realname="$1"
+	shift
+
+	if test -n "$soname_spec"; then
+	  eval soname=\"$soname_spec\"
+	else
+	  soname="$realname"
+	fi
+	if test -z "$dlname"; then
+	  dlname=$soname
+	fi
+
+	lib="$output_objdir/$realname"
+	linknames=
+	for link
+	do
+	  func_append linknames " $link"
+	done
+
+	# Use standard objects if they are pic
+	test -z "$pic_flag" && libobjs=`$ECHO "$libobjs" | $SP2NL | $SED "$lo2o" | $NL2SP`
+	test "X$libobjs" = "X " && libobjs=
+
+	delfiles=
+	if test -n "$export_symbols" && test -n "$include_expsyms"; then
+	  $opt_dry_run || cp "$export_symbols" "$output_objdir/$libname.uexp"
+	  export_symbols="$output_objdir/$libname.uexp"
+	  func_append delfiles " $export_symbols"
+	fi
+
+	orig_export_symbols=
+	case $host_os in
+	cygwin* | mingw* | cegcc*)
+	  if test -n "$export_symbols" && test -z "$export_symbols_regex"; then
+	    # exporting using user supplied symfile
+	    if test "x`$SED 1q $export_symbols`" != xEXPORTS; then
+	      # and it's NOT already a .def file. Must figure out
+	      # which of the given symbols are data symbols and tag
+	      # them as such. So, trigger use of export_symbols_cmds.
+	      # export_symbols gets reassigned inside the "prepare
+	      # the list of exported symbols" if statement, so the
+	      # include_expsyms logic still works.
+	      orig_export_symbols="$export_symbols"
+	      export_symbols=
+	      always_export_symbols=yes
+	    fi
+	  fi
+	  ;;
+	esac
+
+	# Prepare the list of exported symbols
+	if test -z "$export_symbols"; then
+	  if test "$always_export_symbols" = yes || test -n "$export_symbols_regex"; then
+	    func_verbose "generating symbol list for \`$libname.la'"
+	    export_symbols="$output_objdir/$libname.exp"
+	    $opt_dry_run || $RM $export_symbols
+	    cmds=$export_symbols_cmds
+	    save_ifs="$IFS"; IFS='~'
+	    for cmd1 in $cmds; do
+	      IFS="$save_ifs"
+	      # Take the normal branch if the nm_file_list_spec branch
+	      # doesn't work or if tool conversion is not needed.
+	      case $nm_file_list_spec~$to_tool_file_cmd in
+		*~func_convert_file_noop | *~func_convert_file_msys_to_w32 | ~*)
+		  try_normal_branch=yes
+		  eval cmd=\"$cmd1\"
+		  func_len " $cmd"
+		  len=$func_len_result
+		  ;;
+		*)
+		  try_normal_branch=no
+		  ;;
+	      esac
+	      if test "$try_normal_branch" = yes \
+		 && { test "$len" -lt "$max_cmd_len" \
+		      || test "$max_cmd_len" -le -1; }
+	      then
+		func_show_eval "$cmd" 'exit $?'
+		skipped_export=false
+	      elif test -n "$nm_file_list_spec"; then
+		func_basename "$output"
+		output_la=$func_basename_result
+		save_libobjs=$libobjs
+		save_output=$output
+		output=${output_objdir}/${output_la}.nm
+		func_to_tool_file "$output"
+		libobjs=$nm_file_list_spec$func_to_tool_file_result
+		func_append delfiles " $output"
+		func_verbose "creating $NM input file list: $output"
+		for obj in $save_libobjs; do
+		  func_to_tool_file "$obj"
+		  $ECHO "$func_to_tool_file_result"
+		done > "$output"
+		eval cmd=\"$cmd1\"
+		func_show_eval "$cmd" 'exit $?'
+		output=$save_output
+		libobjs=$save_libobjs
+		skipped_export=false
+	      else
+		# The command line is too long to execute in one step.
+		func_verbose "using reloadable object file for export list..."
+		skipped_export=:
+		# Break out early, otherwise skipped_export may be
+		# set to false by a later but shorter cmd.
+		break
+	      fi
+	    done
+	    IFS="$save_ifs"
+	    if test -n "$export_symbols_regex" && test "X$skipped_export" != "X:"; then
+	      func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"'
+	      func_show_eval '$MV "${export_symbols}T" "$export_symbols"'
+	    fi
+	  fi
+	fi
+
+	if test -n "$export_symbols" && test -n "$include_expsyms"; then
+	  tmp_export_symbols="$export_symbols"
+	  test -n "$orig_export_symbols" && tmp_export_symbols="$orig_export_symbols"
+	  $opt_dry_run || eval '$ECHO "$include_expsyms" | $SP2NL >> "$tmp_export_symbols"'
+	fi
+
+	if test "X$skipped_export" != "X:" && test -n "$orig_export_symbols"; then
+	  # The given exports_symbols file has to be filtered, so filter it.
+	  func_verbose "filter symbol list for \`$libname.la' to tag DATA exports"
+	  # FIXME: $output_objdir/$libname.filter potentially contains lots of
+	  # 's' commands which not all seds can handle. GNU sed should be fine
+	  # though. Also, the filter scales superlinearly with the number of
+	  # global variables. join(1) would be nice here, but unfortunately
+	  # isn't a blessed tool.
+	  $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter
+	  func_append delfiles " $export_symbols $output_objdir/$libname.filter"
+	  export_symbols=$output_objdir/$libname.def
+	  $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols
+	fi
+
+	tmp_deplibs=
+	for test_deplib in $deplibs; do
+	  case " $convenience " in
+	  *" $test_deplib "*) ;;
+	  *)
+	    func_append tmp_deplibs " $test_deplib"
+	    ;;
+	  esac
+	done
+	deplibs="$tmp_deplibs"
+
+	if test -n "$convenience"; then
+	  if test -n "$whole_archive_flag_spec" &&
+	    test "$compiler_needs_object" = yes &&
+	    test -z "$libobjs"; then
+	    # extract the archives, so we have objects to list.
+	    # TODO: could optimize this to just extract one archive.
+	    whole_archive_flag_spec=
+	  fi
+	  if test -n "$whole_archive_flag_spec"; then
+	    save_libobjs=$libobjs
+	    eval libobjs=\"\$libobjs $whole_archive_flag_spec\"
+	    test "X$libobjs" = "X " && libobjs=
+	  else
+	    gentop="$output_objdir/${outputname}x"
+	    func_append generated " $gentop"
+
+	    func_extract_archives $gentop $convenience
+	    func_append libobjs " $func_extract_archives_result"
+	    test "X$libobjs" = "X " && libobjs=
+	  fi
+	fi
+
+	if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then
+	  eval flag=\"$thread_safe_flag_spec\"
+	  func_append linker_flags " $flag"
+	fi
+
+	# Make a backup of the uninstalled library when relinking
+	if test "$opt_mode" = relink; then
+	  $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}U && $MV $realname ${realname}U)' || exit $?
+	fi
+
+	# Do each of the archive commands.
+	if test "$module" = yes && test -n "$module_cmds" ; then
+	  if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then
+	    eval test_cmds=\"$module_expsym_cmds\"
+	    cmds=$module_expsym_cmds
+	  else
+	    eval test_cmds=\"$module_cmds\"
+	    cmds=$module_cmds
+	  fi
+	else
+	  if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then
+	    eval test_cmds=\"$archive_expsym_cmds\"
+	    cmds=$archive_expsym_cmds
+	  else
+	    eval test_cmds=\"$archive_cmds\"
+	    cmds=$archive_cmds
+	  fi
+	fi
+
+	if test "X$skipped_export" != "X:" &&
+	   func_len " $test_cmds" &&
+	   len=$func_len_result &&
+	   test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then
+	  :
+	else
+	  # The command line is too long to link in one step, link piecewise
+	  # or, if using GNU ld and skipped_export is not :, use a linker
+	  # script.
+
+	  # Save the value of $output and $libobjs because we want to
+	  # use them later.  If we have whole_archive_flag_spec, we
+	  # want to use save_libobjs as it was before
+	  # whole_archive_flag_spec was expanded, because we can't
+	  # assume the linker understands whole_archive_flag_spec.
+	  # This may have to be revisited, in case too many
+	  # convenience libraries get linked in and end up exceeding
+	  # the spec.
+	  if test -z "$convenience" || test -z "$whole_archive_flag_spec"; then
+	    save_libobjs=$libobjs
+	  fi
+	  save_output=$output
+	  func_basename "$output"
+	  output_la=$func_basename_result
+
+	  # Clear the reloadable object creation command queue and
+	  # initialize k to one.
+	  test_cmds=
+	  concat_cmds=
+	  objlist=
+	  last_robj=
+	  k=1
+
+	  if test -n "$save_libobjs" && test "X$skipped_export" != "X:" && test "$with_gnu_ld" = yes; then
+	    output=${output_objdir}/${output_la}.lnkscript
+	    func_verbose "creating GNU ld script: $output"
+	    echo 'INPUT (' > $output
+	    for obj in $save_libobjs
+	    do
+	      func_to_tool_file "$obj"
+	      $ECHO "$func_to_tool_file_result" >> $output
+	    done
+	    echo ')' >> $output
+	    func_append delfiles " $output"
+	    func_to_tool_file "$output"
+	    output=$func_to_tool_file_result
+	  elif test -n "$save_libobjs" && test "X$skipped_export" != "X:" && test "X$file_list_spec" != X; then
+	    output=${output_objdir}/${output_la}.lnk
+	    func_verbose "creating linker input file list: $output"
+	    : > $output
+	    set x $save_libobjs
+	    shift
+	    firstobj=
+	    if test "$compiler_needs_object" = yes; then
+	      firstobj="$1 "
+	      shift
+	    fi
+	    for obj
+	    do
+	      func_to_tool_file "$obj"
+	      $ECHO "$func_to_tool_file_result" >> $output
+	    done
+	    func_append delfiles " $output"
+	    func_to_tool_file "$output"
+	    output=$firstobj\"$file_list_spec$func_to_tool_file_result\"
+	  else
+	    if test -n "$save_libobjs"; then
+	      func_verbose "creating reloadable object files..."
+	      output=$output_objdir/$output_la-${k}.$objext
+	      eval test_cmds=\"$reload_cmds\"
+	      func_len " $test_cmds"
+	      len0=$func_len_result
+	      len=$len0
+
+	      # Loop over the list of objects to be linked.
+	      for obj in $save_libobjs
+	      do
+		func_len " $obj"
+		func_arith $len + $func_len_result
+		len=$func_arith_result
+		if test "X$objlist" = X ||
+		   test "$len" -lt "$max_cmd_len"; then
+		  func_append objlist " $obj"
+		else
+		  # The command $test_cmds is almost too long, add a
+		  # command to the queue.
+		  if test "$k" -eq 1 ; then
+		    # The first file doesn't have a previous command to add.
+		    reload_objs=$objlist
+		    eval concat_cmds=\"$reload_cmds\"
+		  else
+		    # All subsequent reloadable object files will link in
+		    # the last one created.
+		    reload_objs="$objlist $last_robj"
+		    eval concat_cmds=\"\$concat_cmds~$reload_cmds~\$RM $last_robj\"
+		  fi
+		  last_robj=$output_objdir/$output_la-${k}.$objext
+		  func_arith $k + 1
+		  k=$func_arith_result
+		  output=$output_objdir/$output_la-${k}.$objext
+		  objlist=" $obj"
+		  func_len " $last_robj"
+		  func_arith $len0 + $func_len_result
+		  len=$func_arith_result
+		fi
+	      done
+	      # Handle the remaining objects by creating one last
+	      # reloadable object file.  All subsequent reloadable object
+	      # files will link in the last one created.
+	      test -z "$concat_cmds" || concat_cmds=$concat_cmds~
+	      reload_objs="$objlist $last_robj"
+	      eval concat_cmds=\"\${concat_cmds}$reload_cmds\"
+	      if test -n "$last_robj"; then
+	        eval concat_cmds=\"\${concat_cmds}~\$RM $last_robj\"
+	      fi
+	      func_append delfiles " $output"
+
+	    else
+	      output=
+	    fi
+
+	    if ${skipped_export-false}; then
+	      func_verbose "generating symbol list for \`$libname.la'"
+	      export_symbols="$output_objdir/$libname.exp"
+	      $opt_dry_run || $RM $export_symbols
+	      libobjs=$output
+	      # Append the command to create the export file.
+	      test -z "$concat_cmds" || concat_cmds=$concat_cmds~
+	      eval concat_cmds=\"\$concat_cmds$export_symbols_cmds\"
+	      if test -n "$last_robj"; then
+		eval concat_cmds=\"\$concat_cmds~\$RM $last_robj\"
+	      fi
+	    fi
+
+	    test -n "$save_libobjs" &&
+	      func_verbose "creating a temporary reloadable object file: $output"
+
+	    # Loop through the commands generated above and execute them.
+	    save_ifs="$IFS"; IFS='~'
+	    for cmd in $concat_cmds; do
+	      IFS="$save_ifs"
+	      $opt_silent || {
+		  func_quote_for_expand "$cmd"
+		  eval "func_echo $func_quote_for_expand_result"
+	      }
+	      $opt_dry_run || eval "$cmd" || {
+		lt_exit=$?
+
+		# Restore the uninstalled library and exit
+		if test "$opt_mode" = relink; then
+		  ( cd "$output_objdir" && \
+		    $RM "${realname}T" && \
+		    $MV "${realname}U" "$realname" )
+		fi
+
+		exit $lt_exit
+	      }
+	    done
+	    IFS="$save_ifs"
+
+	    if test -n "$export_symbols_regex" && ${skipped_export-false}; then
+	      func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"'
+	      func_show_eval '$MV "${export_symbols}T" "$export_symbols"'
+	    fi
+	  fi
+
+          if ${skipped_export-false}; then
+	    if test -n "$export_symbols" && test -n "$include_expsyms"; then
+	      tmp_export_symbols="$export_symbols"
+	      test -n "$orig_export_symbols" && tmp_export_symbols="$orig_export_symbols"
+	      $opt_dry_run || eval '$ECHO "$include_expsyms" | $SP2NL >> "$tmp_export_symbols"'
+	    fi
+
+	    if test -n "$orig_export_symbols"; then
+	      # The given exports_symbols file has to be filtered, so filter it.
+	      func_verbose "filter symbol list for \`$libname.la' to tag DATA exports"
+	      # FIXME: $output_objdir/$libname.filter potentially contains lots of
+	      # 's' commands which not all seds can handle. GNU sed should be fine
+	      # though. Also, the filter scales superlinearly with the number of
+	      # global variables. join(1) would be nice here, but unfortunately
+	      # isn't a blessed tool.
+	      $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter
+	      func_append delfiles " $export_symbols $output_objdir/$libname.filter"
+	      export_symbols=$output_objdir/$libname.def
+	      $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols
+	    fi
+	  fi
+
+	  libobjs=$output
+	  # Restore the value of output.
+	  output=$save_output
+
+	  if test -n "$convenience" && test -n "$whole_archive_flag_spec"; then
+	    eval libobjs=\"\$libobjs $whole_archive_flag_spec\"
+	    test "X$libobjs" = "X " && libobjs=
+	  fi
+	  # Expand the library linking commands again to reset the
+	  # value of $libobjs for piecewise linking.
+
+	  # Do each of the archive commands.
+	  if test "$module" = yes && test -n "$module_cmds" ; then
+	    if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then
+	      cmds=$module_expsym_cmds
+	    else
+	      cmds=$module_cmds
+	    fi
+	  else
+	    if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then
+	      cmds=$archive_expsym_cmds
+	    else
+	      cmds=$archive_cmds
+	    fi
+	  fi
+	fi
+
+	if test -n "$delfiles"; then
+	  # Append the command to remove temporary files to $cmds.
+	  eval cmds=\"\$cmds~\$RM $delfiles\"
+	fi
+
+	# Add any objects from preloaded convenience libraries
+	if test -n "$dlprefiles"; then
+	  gentop="$output_objdir/${outputname}x"
+	  func_append generated " $gentop"
+
+	  func_extract_archives $gentop $dlprefiles
+	  func_append libobjs " $func_extract_archives_result"
+	  test "X$libobjs" = "X " && libobjs=
+	fi
+
+	save_ifs="$IFS"; IFS='~'
+	for cmd in $cmds; do
+	  IFS="$save_ifs"
+	  eval cmd=\"$cmd\"
+	  $opt_silent || {
+	    func_quote_for_expand "$cmd"
+	    eval "func_echo $func_quote_for_expand_result"
+	  }
+	  $opt_dry_run || eval "$cmd" || {
+	    lt_exit=$?
+
+	    # Restore the uninstalled library and exit
+	    if test "$opt_mode" = relink; then
+	      ( cd "$output_objdir" && \
+	        $RM "${realname}T" && \
+		$MV "${realname}U" "$realname" )
+	    fi
+
+	    exit $lt_exit
+	  }
+	done
+	IFS="$save_ifs"
+
+	# Restore the uninstalled library and exit
+	if test "$opt_mode" = relink; then
+	  $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}T && $MV $realname ${realname}T && $MV ${realname}U $realname)' || exit $?
+
+	  if test -n "$convenience"; then
+	    if test -z "$whole_archive_flag_spec"; then
+	      func_show_eval '${RM}r "$gentop"'
+	    fi
+	  fi
+
+	  exit $EXIT_SUCCESS
+	fi
+
+	# Create links to the real library.
+	for linkname in $linknames; do
+	  if test "$realname" != "$linkname"; then
+	    func_show_eval '(cd "$output_objdir" && $RM "$linkname" && $LN_S "$realname" "$linkname")' 'exit $?'
+	  fi
+	done
+
+	# If -module or -export-dynamic was specified, set the dlname.
+	if test "$module" = yes || test "$export_dynamic" = yes; then
+	  # On all known operating systems, these are identical.
+	  dlname="$soname"
+	fi
+      fi
+      ;;
+
+    obj)
+      if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
+	func_warning "\`-dlopen' is ignored for objects"
+      fi
+
+      case " $deplibs" in
+      *\ -l* | *\ -L*)
+	func_warning "\`-l' and \`-L' are ignored for objects" ;;
+      esac
+
+      test -n "$rpath" && \
+	func_warning "\`-rpath' is ignored for objects"
+
+      test -n "$xrpath" && \
+	func_warning "\`-R' is ignored for objects"
+
+      test -n "$vinfo" && \
+	func_warning "\`-version-info' is ignored for objects"
+
+      test -n "$release" && \
+	func_warning "\`-release' is ignored for objects"
+
+      case $output in
+      *.lo)
+	test -n "$objs$old_deplibs" && \
+	  func_fatal_error "cannot build library object \`$output' from non-libtool objects"
+
+	libobj=$output
+	func_lo2o "$libobj"
+	obj=$func_lo2o_result
+	;;
+      *)
+	libobj=
+	obj="$output"
+	;;
+      esac
+
+      # Delete the old objects.
+      $opt_dry_run || $RM $obj $libobj
+
+      # Objects from convenience libraries.  This assumes
+      # single-version convenience libraries.  Whenever we create
+      # different ones for PIC/non-PIC, this we'll have to duplicate
+      # the extraction.
+      reload_conv_objs=
+      gentop=
+      # reload_cmds runs $LD directly, so let us get rid of
+      # -Wl from whole_archive_flag_spec and hope we can get by with
+      # turning comma into space..
+      wl=
+
+      if test -n "$convenience"; then
+	if test -n "$whole_archive_flag_spec"; then
+	  eval tmp_whole_archive_flags=\"$whole_archive_flag_spec\"
+	  reload_conv_objs=$reload_objs\ `$ECHO "$tmp_whole_archive_flags" | $SED 's|,| |g'`
+	else
+	  gentop="$output_objdir/${obj}x"
+	  func_append generated " $gentop"
+
+	  func_extract_archives $gentop $convenience
+	  reload_conv_objs="$reload_objs $func_extract_archives_result"
+	fi
+      fi
+
+      # If we're not building shared, we need to use non_pic_objs
+      test "$build_libtool_libs" != yes && libobjs="$non_pic_objects"
+
+      # Create the old-style object.
+      reload_objs="$objs$old_deplibs "`$ECHO "$libobjs" | $SP2NL | $SED "/\.${libext}$/d; /\.lib$/d; $lo2o" | $NL2SP`" $reload_conv_objs" ### testsuite: skip nested quoting test
+
+      output="$obj"
+      func_execute_cmds "$reload_cmds" 'exit $?'
+
+      # Exit if we aren't doing a library object file.
+      if test -z "$libobj"; then
+	if test -n "$gentop"; then
+	  func_show_eval '${RM}r "$gentop"'
+	fi
+
+	exit $EXIT_SUCCESS
+      fi
+
+      if test "$build_libtool_libs" != yes; then
+	if test -n "$gentop"; then
+	  func_show_eval '${RM}r "$gentop"'
+	fi
+
+	# Create an invalid libtool object if no PIC, so that we don't
+	# accidentally link it into a program.
+	# $show "echo timestamp > $libobj"
+	# $opt_dry_run || eval "echo timestamp > $libobj" || exit $?
+	exit $EXIT_SUCCESS
+      fi
+
+      if test -n "$pic_flag" || test "$pic_mode" != default; then
+	# Only do commands if we really have different PIC objects.
+	reload_objs="$libobjs $reload_conv_objs"
+	output="$libobj"
+	func_execute_cmds "$reload_cmds" 'exit $?'
+      fi
+
+      if test -n "$gentop"; then
+	func_show_eval '${RM}r "$gentop"'
+      fi
+
+      exit $EXIT_SUCCESS
+      ;;
+
+    prog)
+      case $host in
+	*cygwin*) func_stripname '' '.exe' "$output"
+	          output=$func_stripname_result.exe;;
+      esac
+      test -n "$vinfo" && \
+	func_warning "\`-version-info' is ignored for programs"
+
+      test -n "$release" && \
+	func_warning "\`-release' is ignored for programs"
+
+      test "$preload" = yes \
+        && test "$dlopen_support" = unknown \
+	&& test "$dlopen_self" = unknown \
+	&& test "$dlopen_self_static" = unknown && \
+	  func_warning "\`LT_INIT([dlopen])' not used. Assuming no dlopen support."
+
+      case $host in
+      *-*-rhapsody* | *-*-darwin1.[012])
+	# On Rhapsody replace the C library is the System framework
+	compile_deplibs=`$ECHO " $compile_deplibs" | $SED 's/ -lc / System.ltframework /'`
+	finalize_deplibs=`$ECHO " $finalize_deplibs" | $SED 's/ -lc / System.ltframework /'`
+	;;
+      esac
+
+      case $host in
+      *-*-darwin*)
+	# Don't allow lazy linking, it breaks C++ global constructors
+	# But is supposedly fixed on 10.4 or later (yay!).
+	if test "$tagname" = CXX ; then
+	  case ${MACOSX_DEPLOYMENT_TARGET-10.0} in
+	    10.[0123])
+	      func_append compile_command " ${wl}-bind_at_load"
+	      func_append finalize_command " ${wl}-bind_at_load"
+	    ;;
+	  esac
+	fi
+	# Time to change all our "foo.ltframework" stuff back to "-framework foo"
+	compile_deplibs=`$ECHO " $compile_deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
+	finalize_deplibs=`$ECHO " $finalize_deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
+	;;
+      esac
+
+
+      # move library search paths that coincide with paths to not yet
+      # installed libraries to the beginning of the library search list
+      new_libs=
+      for path in $notinst_path; do
+	case " $new_libs " in
+	*" -L$path/$objdir "*) ;;
+	*)
+	  case " $compile_deplibs " in
+	  *" -L$path/$objdir "*)
+	    func_append new_libs " -L$path/$objdir" ;;
+	  esac
+	  ;;
+	esac
+      done
+      for deplib in $compile_deplibs; do
+	case $deplib in
+	-L*)
+	  case " $new_libs " in
+	  *" $deplib "*) ;;
+	  *) func_append new_libs " $deplib" ;;
+	  esac
+	  ;;
+	*) func_append new_libs " $deplib" ;;
+	esac
+      done
+      compile_deplibs="$new_libs"
+
+
+      func_append compile_command " $compile_deplibs"
+      func_append finalize_command " $finalize_deplibs"
+
+      if test -n "$rpath$xrpath"; then
+	# If the user specified any rpath flags, then add them.
+	for libdir in $rpath $xrpath; do
+	  # This is the magic to use -rpath.
+	  case "$finalize_rpath " in
+	  *" $libdir "*) ;;
+	  *) func_append finalize_rpath " $libdir" ;;
+	  esac
+	done
+      fi
+
+      # Now hardcode the library paths
+      rpath=
+      hardcode_libdirs=
+      for libdir in $compile_rpath $finalize_rpath; do
+	if test -n "$hardcode_libdir_flag_spec"; then
+	  if test -n "$hardcode_libdir_separator"; then
+	    if test -z "$hardcode_libdirs"; then
+	      hardcode_libdirs="$libdir"
+	    else
+	      # Just accumulate the unique libdirs.
+	      case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
+	      *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
+		;;
+	      *)
+		func_append hardcode_libdirs "$hardcode_libdir_separator$libdir"
+		;;
+	      esac
+	    fi
+	  else
+	    eval flag=\"$hardcode_libdir_flag_spec\"
+	    func_append rpath " $flag"
+	  fi
+	elif test -n "$runpath_var"; then
+	  case "$perm_rpath " in
+	  *" $libdir "*) ;;
+	  *) func_append perm_rpath " $libdir" ;;
+	  esac
+	fi
+	case $host in
+	*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*)
+	  testbindir=`${ECHO} "$libdir" | ${SED} -e 's*/lib$*/bin*'`
+	  case :$dllsearchpath: in
+	  *":$libdir:"*) ;;
+	  ::) dllsearchpath=$libdir;;
+	  *) func_append dllsearchpath ":$libdir";;
+	  esac
+	  case :$dllsearchpath: in
+	  *":$testbindir:"*) ;;
+	  ::) dllsearchpath=$testbindir;;
+	  *) func_append dllsearchpath ":$testbindir";;
+	  esac
+	  ;;
+	esac
+      done
+      # Substitute the hardcoded libdirs into the rpath.
+      if test -n "$hardcode_libdir_separator" &&
+	 test -n "$hardcode_libdirs"; then
+	libdir="$hardcode_libdirs"
+	eval rpath=\" $hardcode_libdir_flag_spec\"
+      fi
+      compile_rpath="$rpath"
+
+      rpath=
+      hardcode_libdirs=
+      for libdir in $finalize_rpath; do
+	if test -n "$hardcode_libdir_flag_spec"; then
+	  if test -n "$hardcode_libdir_separator"; then
+	    if test -z "$hardcode_libdirs"; then
+	      hardcode_libdirs="$libdir"
+	    else
+	      # Just accumulate the unique libdirs.
+	      case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
+	      *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
+		;;
+	      *)
+		func_append hardcode_libdirs "$hardcode_libdir_separator$libdir"
+		;;
+	      esac
+	    fi
+	  else
+	    eval flag=\"$hardcode_libdir_flag_spec\"
+	    func_append rpath " $flag"
+	  fi
+	elif test -n "$runpath_var"; then
+	  case "$finalize_perm_rpath " in
+	  *" $libdir "*) ;;
+	  *) func_append finalize_perm_rpath " $libdir" ;;
+	  esac
+	fi
+      done
+      # Substitute the hardcoded libdirs into the rpath.
+      if test -n "$hardcode_libdir_separator" &&
+	 test -n "$hardcode_libdirs"; then
+	libdir="$hardcode_libdirs"
+	eval rpath=\" $hardcode_libdir_flag_spec\"
+      fi
+      finalize_rpath="$rpath"
+
+      if test -n "$libobjs" && test "$build_old_libs" = yes; then
+	# Transform all the library objects into standard objects.
+	compile_command=`$ECHO "$compile_command" | $SP2NL | $SED "$lo2o" | $NL2SP`
+	finalize_command=`$ECHO "$finalize_command" | $SP2NL | $SED "$lo2o" | $NL2SP`
+      fi
+
+      func_generate_dlsyms "$outputname" "@PROGRAM@" "no"
+
+      # template prelinking step
+      if test -n "$prelink_cmds"; then
+	func_execute_cmds "$prelink_cmds" 'exit $?'
+      fi
+
+      wrappers_required=yes
+      case $host in
+      *cegcc* | *mingw32ce*)
+        # Disable wrappers for cegcc and mingw32ce hosts, we are cross compiling anyway.
+        wrappers_required=no
+        ;;
+      *cygwin* | *mingw* )
+        if test "$build_libtool_libs" != yes; then
+          wrappers_required=no
+        fi
+        ;;
+      *)
+        if test "$need_relink" = no || test "$build_libtool_libs" != yes; then
+          wrappers_required=no
+        fi
+        ;;
+      esac
+      if test "$wrappers_required" = no; then
+	# Replace the output file specification.
+	compile_command=`$ECHO "$compile_command" | $SED 's%@OUTPUT@%'"$output"'%g'`
+	link_command="$compile_command$compile_rpath"
+
+	# We have no uninstalled library dependencies, so finalize right now.
+	exit_status=0
+	func_show_eval "$link_command" 'exit_status=$?'
+
+	if test -n "$postlink_cmds"; then
+	  func_to_tool_file "$output"
+	  postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'`
+	  func_execute_cmds "$postlink_cmds" 'exit $?'
+	fi
+
+	# Delete the generated files.
+	if test -f "$output_objdir/${outputname}S.${objext}"; then
+	  func_show_eval '$RM "$output_objdir/${outputname}S.${objext}"'
+	fi
+
+	exit $exit_status
+      fi
+
+      if test -n "$compile_shlibpath$finalize_shlibpath"; then
+	compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command"
+      fi
+      if test -n "$finalize_shlibpath"; then
+	finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command"
+      fi
+
+      compile_var=
+      finalize_var=
+      if test -n "$runpath_var"; then
+	if test -n "$perm_rpath"; then
+	  # We should set the runpath_var.
+	  rpath=
+	  for dir in $perm_rpath; do
+	    func_append rpath "$dir:"
+	  done
+	  compile_var="$runpath_var=\"$rpath\$$runpath_var\" "
+	fi
+	if test -n "$finalize_perm_rpath"; then
+	  # We should set the runpath_var.
+	  rpath=
+	  for dir in $finalize_perm_rpath; do
+	    func_append rpath "$dir:"
+	  done
+	  finalize_var="$runpath_var=\"$rpath\$$runpath_var\" "
+	fi
+      fi
+
+      if test "$no_install" = yes; then
+	# We don't need to create a wrapper script.
+	link_command="$compile_var$compile_command$compile_rpath"
+	# Replace the output file specification.
+	link_command=`$ECHO "$link_command" | $SED 's%@OUTPUT@%'"$output"'%g'`
+	# Delete the old output file.
+	$opt_dry_run || $RM $output
+	# Link the executable and exit
+	func_show_eval "$link_command" 'exit $?'
+
+	if test -n "$postlink_cmds"; then
+	  func_to_tool_file "$output"
+	  postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'`
+	  func_execute_cmds "$postlink_cmds" 'exit $?'
+	fi
+
+	exit $EXIT_SUCCESS
+      fi
+
+      if test "$hardcode_action" = relink; then
+	# Fast installation is not supported
+	link_command="$compile_var$compile_command$compile_rpath"
+	relink_command="$finalize_var$finalize_command$finalize_rpath"
+
+	func_warning "this platform does not like uninstalled shared libraries"
+	func_warning "\`$output' will be relinked during installation"
+      else
+	if test "$fast_install" != no; then
+	  link_command="$finalize_var$compile_command$finalize_rpath"
+	  if test "$fast_install" = yes; then
+	    relink_command=`$ECHO "$compile_var$compile_command$compile_rpath" | $SED 's%@OUTPUT@%\$progdir/\$file%g'`
+	  else
+	    # fast_install is set to needless
+	    relink_command=
+	  fi
+	else
+	  link_command="$compile_var$compile_command$compile_rpath"
+	  relink_command="$finalize_var$finalize_command$finalize_rpath"
+	fi
+      fi
+
+      # Replace the output file specification.
+      link_command=`$ECHO "$link_command" | $SED 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'`
+
+      # Delete the old output files.
+      $opt_dry_run || $RM $output $output_objdir/$outputname $output_objdir/lt-$outputname
+
+      func_show_eval "$link_command" 'exit $?'
+
+      if test -n "$postlink_cmds"; then
+	func_to_tool_file "$output_objdir/$outputname"
+	postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'`
+	func_execute_cmds "$postlink_cmds" 'exit $?'
+      fi
+
+      # Now create the wrapper script.
+      func_verbose "creating $output"
+
+      # Quote the relink command for shipping.
+      if test -n "$relink_command"; then
+	# Preserve any variables that may affect compiler behavior
+	for var in $variables_saved_for_relink; do
+	  if eval test -z \"\${$var+set}\"; then
+	    relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command"
+	  elif eval var_value=\$$var; test -z "$var_value"; then
+	    relink_command="$var=; export $var; $relink_command"
+	  else
+	    func_quote_for_eval "$var_value"
+	    relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command"
+	  fi
+	done
+	relink_command="(cd `pwd`; $relink_command)"
+	relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"`
+      fi
+
+      # Only actually do things if not in dry run mode.
+      $opt_dry_run || {
+	# win32 will think the script is a binary if it has
+	# a .exe suffix, so we strip it off here.
+	case $output in
+	  *.exe) func_stripname '' '.exe' "$output"
+	         output=$func_stripname_result ;;
+	esac
+	# test for cygwin because mv fails w/o .exe extensions
+	case $host in
+	  *cygwin*)
+	    exeext=.exe
+	    func_stripname '' '.exe' "$outputname"
+	    outputname=$func_stripname_result ;;
+	  *) exeext= ;;
+	esac
+	case $host in
+	  *cygwin* | *mingw* )
+	    func_dirname_and_basename "$output" "" "."
+	    output_name=$func_basename_result
+	    output_path=$func_dirname_result
+	    cwrappersource="$output_path/$objdir/lt-$output_name.c"
+	    cwrapper="$output_path/$output_name.exe"
+	    $RM $cwrappersource $cwrapper
+	    trap "$RM $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15
+
+	    func_emit_cwrapperexe_src > $cwrappersource
+
+	    # The wrapper executable is built using the $host compiler,
+	    # because it contains $host paths and files. If cross-
+	    # compiling, it, like the target executable, must be
+	    # executed on the $host or under an emulation environment.
+	    $opt_dry_run || {
+	      $LTCC $LTCFLAGS -o $cwrapper $cwrappersource
+	      $STRIP $cwrapper
+	    }
+
+	    # Now, create the wrapper script for func_source use:
+	    func_ltwrapper_scriptname $cwrapper
+	    $RM $func_ltwrapper_scriptname_result
+	    trap "$RM $func_ltwrapper_scriptname_result; exit $EXIT_FAILURE" 1 2 15
+	    $opt_dry_run || {
+	      # note: this script will not be executed, so do not chmod.
+	      if test "x$build" = "x$host" ; then
+		$cwrapper --lt-dump-script > $func_ltwrapper_scriptname_result
+	      else
+		func_emit_wrapper no > $func_ltwrapper_scriptname_result
+	      fi
+	    }
+	  ;;
+	  * )
+	    $RM $output
+	    trap "$RM $output; exit $EXIT_FAILURE" 1 2 15
+
+	    func_emit_wrapper no > $output
+	    chmod +x $output
+	  ;;
+	esac
+      }
+      exit $EXIT_SUCCESS
+      ;;
+    esac
+
+    # See if we need to build an old-fashioned archive.
+    for oldlib in $oldlibs; do
+
+      if test "$build_libtool_libs" = convenience; then
+	oldobjs="$libobjs_save $symfileobj"
+	addlibs="$convenience"
+	build_libtool_libs=no
+      else
+	if test "$build_libtool_libs" = module; then
+	  oldobjs="$libobjs_save"
+	  build_libtool_libs=no
+	else
+	  oldobjs="$old_deplibs $non_pic_objects"
+	  if test "$preload" = yes && test -f "$symfileobj"; then
+	    func_append oldobjs " $symfileobj"
+	  fi
+	fi
+	addlibs="$old_convenience"
+      fi
+
+      if test -n "$addlibs"; then
+	gentop="$output_objdir/${outputname}x"
+	func_append generated " $gentop"
+
+	func_extract_archives $gentop $addlibs
+	func_append oldobjs " $func_extract_archives_result"
+      fi
+
+      # Do each command in the archive commands.
+      if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then
+	cmds=$old_archive_from_new_cmds
+      else
+
+	# Add any objects from preloaded convenience libraries
+	if test -n "$dlprefiles"; then
+	  gentop="$output_objdir/${outputname}x"
+	  func_append generated " $gentop"
+
+	  func_extract_archives $gentop $dlprefiles
+	  func_append oldobjs " $func_extract_archives_result"
+	fi
+
+	# POSIX demands no paths to be encoded in archives.  We have
+	# to avoid creating archives with duplicate basenames if we
+	# might have to extract them afterwards, e.g., when creating a
+	# static archive out of a convenience library, or when linking
+	# the entirety of a libtool archive into another (currently
+	# not supported by libtool).
+	if (for obj in $oldobjs
+	    do
+	      func_basename "$obj"
+	      $ECHO "$func_basename_result"
+	    done | sort | sort -uc >/dev/null 2>&1); then
+	  :
+	else
+	  echo "copying selected object files to avoid basename conflicts..."
+	  gentop="$output_objdir/${outputname}x"
+	  func_append generated " $gentop"
+	  func_mkdir_p "$gentop"
+	  save_oldobjs=$oldobjs
+	  oldobjs=
+	  counter=1
+	  for obj in $save_oldobjs
+	  do
+	    func_basename "$obj"
+	    objbase="$func_basename_result"
+	    case " $oldobjs " in
+	    " ") oldobjs=$obj ;;
+	    *[\ /]"$objbase "*)
+	      while :; do
+		# Make sure we don't pick an alternate name that also
+		# overlaps.
+		newobj=lt$counter-$objbase
+		func_arith $counter + 1
+		counter=$func_arith_result
+		case " $oldobjs " in
+		*[\ /]"$newobj "*) ;;
+		*) if test ! -f "$gentop/$newobj"; then break; fi ;;
+		esac
+	      done
+	      func_show_eval "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj"
+	      func_append oldobjs " $gentop/$newobj"
+	      ;;
+	    *) func_append oldobjs " $obj" ;;
+	    esac
+	  done
+	fi
+	func_to_tool_file "$oldlib" func_convert_file_msys_to_w32
+	tool_oldlib=$func_to_tool_file_result
+	eval cmds=\"$old_archive_cmds\"
+
+	func_len " $cmds"
+	len=$func_len_result
+	if test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then
+	  cmds=$old_archive_cmds
+	elif test -n "$archiver_list_spec"; then
+	  func_verbose "using command file archive linking..."
+	  for obj in $oldobjs
+	  do
+	    func_to_tool_file "$obj"
+	    $ECHO "$func_to_tool_file_result"
+	  done > $output_objdir/$libname.libcmd
+	  func_to_tool_file "$output_objdir/$libname.libcmd"
+	  oldobjs=" $archiver_list_spec$func_to_tool_file_result"
+	  cmds=$old_archive_cmds
+	else
+	  # the command line is too long to link in one step, link in parts
+	  func_verbose "using piecewise archive linking..."
+	  save_RANLIB=$RANLIB
+	  RANLIB=:
+	  objlist=
+	  concat_cmds=
+	  save_oldobjs=$oldobjs
+	  oldobjs=
+	  # Is there a better way of finding the last object in the list?
+	  for obj in $save_oldobjs
+	  do
+	    last_oldobj=$obj
+	  done
+	  eval test_cmds=\"$old_archive_cmds\"
+	  func_len " $test_cmds"
+	  len0=$func_len_result
+	  len=$len0
+	  for obj in $save_oldobjs
+	  do
+	    func_len " $obj"
+	    func_arith $len + $func_len_result
+	    len=$func_arith_result
+	    func_append objlist " $obj"
+	    if test "$len" -lt "$max_cmd_len"; then
+	      :
+	    else
+	      # the above command should be used before it gets too long
+	      oldobjs=$objlist
+	      if test "$obj" = "$last_oldobj" ; then
+		RANLIB=$save_RANLIB
+	      fi
+	      test -z "$concat_cmds" || concat_cmds=$concat_cmds~
+	      eval concat_cmds=\"\${concat_cmds}$old_archive_cmds\"
+	      objlist=
+	      len=$len0
+	    fi
+	  done
+	  RANLIB=$save_RANLIB
+	  oldobjs=$objlist
+	  if test "X$oldobjs" = "X" ; then
+	    eval cmds=\"\$concat_cmds\"
+	  else
+	    eval cmds=\"\$concat_cmds~\$old_archive_cmds\"
+	  fi
+	fi
+      fi
+      func_execute_cmds "$cmds" 'exit $?'
+    done
+
+    test -n "$generated" && \
+      func_show_eval "${RM}r$generated"
+
+    # Now create the libtool archive.
+    case $output in
+    *.la)
+      old_library=
+      test "$build_old_libs" = yes && old_library="$libname.$libext"
+      func_verbose "creating $output"
+
+      # Preserve any variables that may affect compiler behavior
+      for var in $variables_saved_for_relink; do
+	if eval test -z \"\${$var+set}\"; then
+	  relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command"
+	elif eval var_value=\$$var; test -z "$var_value"; then
+	  relink_command="$var=; export $var; $relink_command"
+	else
+	  func_quote_for_eval "$var_value"
+	  relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command"
+	fi
+      done
+      # Quote the link command for shipping.
+      relink_command="(cd `pwd`; $SHELL $progpath $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)"
+      relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"`
+      if test "$hardcode_automatic" = yes ; then
+	relink_command=
+      fi
+
+      # Only create the output if not a dry run.
+      $opt_dry_run || {
+	for installed in no yes; do
+	  if test "$installed" = yes; then
+	    if test -z "$install_libdir"; then
+	      break
+	    fi
+	    output="$output_objdir/$outputname"i
+	    # Replace all uninstalled libtool libraries with the installed ones
+	    newdependency_libs=
+	    for deplib in $dependency_libs; do
+	      case $deplib in
+	      *.la)
+		func_basename "$deplib"
+		name="$func_basename_result"
+		func_resolve_sysroot "$deplib"
+		eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $func_resolve_sysroot_result`
+		test -z "$libdir" && \
+		  func_fatal_error "\`$deplib' is not a valid libtool archive"
+		func_append newdependency_libs " ${lt_sysroot:+=}$libdir/$name"
+		;;
+	      -L*)
+		func_stripname -L '' "$deplib"
+		func_replace_sysroot "$func_stripname_result"
+		func_append newdependency_libs " -L$func_replace_sysroot_result"
+		;;
+	      -R*)
+		func_stripname -R '' "$deplib"
+		func_replace_sysroot "$func_stripname_result"
+		func_append newdependency_libs " -R$func_replace_sysroot_result"
+		;;
+	      *) func_append newdependency_libs " $deplib" ;;
+	      esac
+	    done
+	    dependency_libs="$newdependency_libs"
+	    newdlfiles=
+
+	    for lib in $dlfiles; do
+	      case $lib in
+	      *.la)
+	        func_basename "$lib"
+		name="$func_basename_result"
+		eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
+		test -z "$libdir" && \
+		  func_fatal_error "\`$lib' is not a valid libtool archive"
+		func_append newdlfiles " ${lt_sysroot:+=}$libdir/$name"
+		;;
+	      *) func_append newdlfiles " $lib" ;;
+	      esac
+	    done
+	    dlfiles="$newdlfiles"
+	    newdlprefiles=
+	    for lib in $dlprefiles; do
+	      case $lib in
+	      *.la)
+		# Only pass preopened files to the pseudo-archive (for
+		# eventual linking with the app. that links it) if we
+		# didn't already link the preopened objects directly into
+		# the library:
+		func_basename "$lib"
+		name="$func_basename_result"
+		eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
+		test -z "$libdir" && \
+		  func_fatal_error "\`$lib' is not a valid libtool archive"
+		func_append newdlprefiles " ${lt_sysroot:+=}$libdir/$name"
+		;;
+	      esac
+	    done
+	    dlprefiles="$newdlprefiles"
+	  else
+	    newdlfiles=
+	    for lib in $dlfiles; do
+	      case $lib in
+		[\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;;
+		*) abs=`pwd`"/$lib" ;;
+	      esac
+	      func_append newdlfiles " $abs"
+	    done
+	    dlfiles="$newdlfiles"
+	    newdlprefiles=
+	    for lib in $dlprefiles; do
+	      case $lib in
+		[\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;;
+		*) abs=`pwd`"/$lib" ;;
+	      esac
+	      func_append newdlprefiles " $abs"
+	    done
+	    dlprefiles="$newdlprefiles"
+	  fi
+	  $RM $output
+	  # place dlname in correct position for cygwin
+	  # In fact, it would be nice if we could use this code for all target
+	  # systems that can't hard-code library paths into their executables
+	  # and that have no shared library path variable independent of PATH,
+	  # but it turns out we can't easily determine that from inspecting
+	  # libtool variables, so we have to hard-code the OSs to which it
+	  # applies here; at the moment, that means platforms that use the PE
+	  # object format with DLL files.  See the long comment at the top of
+	  # tests/bindir.at for full details.
+	  tdlname=$dlname
+	  case $host,$output,$installed,$module,$dlname in
+	    *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll | *cegcc*,*lai,yes,no,*.dll)
+	      # If a -bindir argument was supplied, place the dll there.
+	      if test "x$bindir" != x ;
+	      then
+		func_relative_path "$install_libdir" "$bindir"
+		tdlname=$func_relative_path_result$dlname
+	      else
+		# Otherwise fall back on heuristic.
+		tdlname=../bin/$dlname
+	      fi
+	      ;;
+	  esac
+	  $ECHO > $output "\
+# $outputname - a libtool library file
+# Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# The name that we can dlopen(3).
+dlname='$tdlname'
+
+# Names of this library.
+library_names='$library_names'
+
+# The name of the static archive.
+old_library='$old_library'
+
+# Linker flags that can not go in dependency_libs.
+inherited_linker_flags='$new_inherited_linker_flags'
+
+# Libraries that this one depends upon.
+dependency_libs='$dependency_libs'
+
+# Names of additional weak libraries provided by this library
+weak_library_names='$weak_libs'
+
+# Version information for $libname.
+current=$current
+age=$age
+revision=$revision
+
+# Is this an already installed library?
+installed=$installed
+
+# Should we warn about portability when linking against -modules?
+shouldnotlink=$module
+
+# Files to dlopen/dlpreopen
+dlopen='$dlfiles'
+dlpreopen='$dlprefiles'
+
+# Directory that this library needs to be installed in:
+libdir='$install_libdir'"
+	  if test "$installed" = no && test "$need_relink" = yes; then
+	    $ECHO >> $output "\
+relink_command=\"$relink_command\""
+	  fi
+	done
+      }
+
+      # Do a symbolic link so that the libtool archive can be found in
+      # LD_LIBRARY_PATH before the program is installed.
+      func_show_eval '( cd "$output_objdir" && $RM "$outputname" && $LN_S "../$outputname" "$outputname" )' 'exit $?'
+      ;;
+    esac
+    exit $EXIT_SUCCESS
+}
+
+{ test "$opt_mode" = link || test "$opt_mode" = relink; } &&
+    func_mode_link ${1+"$@"}
+
+
+# func_mode_uninstall arg...
+func_mode_uninstall ()
+{
+    $opt_debug
+    RM="$nonopt"
+    files=
+    rmforce=
+    exit_status=0
+
+    # This variable tells wrapper scripts just to set variables rather
+    # than running their programs.
+    libtool_install_magic="$magic"
+
+    for arg
+    do
+      case $arg in
+      -f) func_append RM " $arg"; rmforce=yes ;;
+      -*) func_append RM " $arg" ;;
+      *) func_append files " $arg" ;;
+      esac
+    done
+
+    test -z "$RM" && \
+      func_fatal_help "you must specify an RM program"
+
+    rmdirs=
+
+    for file in $files; do
+      func_dirname "$file" "" "."
+      dir="$func_dirname_result"
+      if test "X$dir" = X.; then
+	odir="$objdir"
+      else
+	odir="$dir/$objdir"
+      fi
+      func_basename "$file"
+      name="$func_basename_result"
+      test "$opt_mode" = uninstall && odir="$dir"
+
+      # Remember odir for removal later, being careful to avoid duplicates
+      if test "$opt_mode" = clean; then
+	case " $rmdirs " in
+	  *" $odir "*) ;;
+	  *) func_append rmdirs " $odir" ;;
+	esac
+      fi
+
+      # Don't error if the file doesn't exist and rm -f was used.
+      if { test -L "$file"; } >/dev/null 2>&1 ||
+	 { test -h "$file"; } >/dev/null 2>&1 ||
+	 test -f "$file"; then
+	:
+      elif test -d "$file"; then
+	exit_status=1
+	continue
+      elif test "$rmforce" = yes; then
+	continue
+      fi
+
+      rmfiles="$file"
+
+      case $name in
+      *.la)
+	# Possibly a libtool archive, so verify it.
+	if func_lalib_p "$file"; then
+	  func_source $dir/$name
+
+	  # Delete the libtool libraries and symlinks.
+	  for n in $library_names; do
+	    func_append rmfiles " $odir/$n"
+	  done
+	  test -n "$old_library" && func_append rmfiles " $odir/$old_library"
+
+	  case "$opt_mode" in
+	  clean)
+	    case " $library_names " in
+	    *" $dlname "*) ;;
+	    *) test -n "$dlname" && func_append rmfiles " $odir/$dlname" ;;
+	    esac
+	    test -n "$libdir" && func_append rmfiles " $odir/$name $odir/${name}i"
+	    ;;
+	  uninstall)
+	    if test -n "$library_names"; then
+	      # Do each command in the postuninstall commands.
+	      func_execute_cmds "$postuninstall_cmds" 'test "$rmforce" = yes || exit_status=1'
+	    fi
+
+	    if test -n "$old_library"; then
+	      # Do each command in the old_postuninstall commands.
+	      func_execute_cmds "$old_postuninstall_cmds" 'test "$rmforce" = yes || exit_status=1'
+	    fi
+	    # FIXME: should reinstall the best remaining shared library.
+	    ;;
+	  esac
+	fi
+	;;
+
+      *.lo)
+	# Possibly a libtool object, so verify it.
+	if func_lalib_p "$file"; then
+
+	  # Read the .lo file
+	  func_source $dir/$name
+
+	  # Add PIC object to the list of files to remove.
+	  if test -n "$pic_object" &&
+	     test "$pic_object" != none; then
+	    func_append rmfiles " $dir/$pic_object"
+	  fi
+
+	  # Add non-PIC object to the list of files to remove.
+	  if test -n "$non_pic_object" &&
+	     test "$non_pic_object" != none; then
+	    func_append rmfiles " $dir/$non_pic_object"
+	  fi
+	fi
+	;;
+
+      *)
+	if test "$opt_mode" = clean ; then
+	  noexename=$name
+	  case $file in
+	  *.exe)
+	    func_stripname '' '.exe' "$file"
+	    file=$func_stripname_result
+	    func_stripname '' '.exe' "$name"
+	    noexename=$func_stripname_result
+	    # $file with .exe has already been added to rmfiles,
+	    # add $file without .exe
+	    func_append rmfiles " $file"
+	    ;;
+	  esac
+	  # Do a test to see if this is a libtool program.
+	  if func_ltwrapper_p "$file"; then
+	    if func_ltwrapper_executable_p "$file"; then
+	      func_ltwrapper_scriptname "$file"
+	      relink_command=
+	      func_source $func_ltwrapper_scriptname_result
+	      func_append rmfiles " $func_ltwrapper_scriptname_result"
+	    else
+	      relink_command=
+	      func_source $dir/$noexename
+	    fi
+
+	    # note $name still contains .exe if it was in $file originally
+	    # as does the version of $file that was added into $rmfiles
+	    func_append rmfiles " $odir/$name $odir/${name}S.${objext}"
+	    if test "$fast_install" = yes && test -n "$relink_command"; then
+	      func_append rmfiles " $odir/lt-$name"
+	    fi
+	    if test "X$noexename" != "X$name" ; then
+	      func_append rmfiles " $odir/lt-${noexename}.c"
+	    fi
+	  fi
+	fi
+	;;
+      esac
+      func_show_eval "$RM $rmfiles" 'exit_status=1'
+    done
+
+    # Try to remove the ${objdir}s in the directories where we deleted files
+    for dir in $rmdirs; do
+      if test -d "$dir"; then
+	func_show_eval "rmdir $dir >/dev/null 2>&1"
+      fi
+    done
+
+    exit $exit_status
+}
+
+{ test "$opt_mode" = uninstall || test "$opt_mode" = clean; } &&
+    func_mode_uninstall ${1+"$@"}
+
+test -z "$opt_mode" && {
+  help="$generic_help"
+  func_fatal_help "you must specify a MODE"
+}
+
+test -z "$exec_cmd" && \
+  func_fatal_help "invalid operation mode \`$opt_mode'"
+
+if test -n "$exec_cmd"; then
+  eval exec "$exec_cmd"
+  exit $EXIT_FAILURE
+fi
+
+exit $exit_status
+
+
+# The TAGs below are defined such that we never get into a situation
+# in which we disable both kinds of libraries.  Given conflicting
+# choices, we go for a static library, that is the most portable,
+# since we can't tell whether shared libraries were disabled because
+# the user asked for that or because the platform doesn't support
+# them.  This is particularly important on AIX, because we don't
+# support having both static and shared libraries enabled at the same
+# time on that platform, so we default to a shared-only configuration.
+# If a disable-shared tag is given, we'll fallback to a static-only
+# configuration.  But we'll never go from static-only to shared-only.
+
+# ### BEGIN LIBTOOL TAG CONFIG: disable-shared
+build_libtool_libs=no
+build_old_libs=yes
+# ### END LIBTOOL TAG CONFIG: disable-shared
+
+# ### BEGIN LIBTOOL TAG CONFIG: disable-static
+build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac`
+# ### END LIBTOOL TAG CONFIG: disable-static
+
+# Local Variables:
+# mode:shell-script
+# sh-indentation:2
+# End:
+# vi:sw=2
+
diff --git a/src/libsodium/m4/ax_check_compile_flag.m4 b/src/libsodium/m4/ax_check_compile_flag.m4
new file mode 100644
index 00000000..af1b556b
--- /dev/null
+++ b/src/libsodium/m4/ax_check_compile_flag.m4
@@ -0,0 +1,73 @@
+# ===========================================================================
+#   http://www.gnu.org/software/autoconf-archive/ax_check_compile_flag.html
+# ===========================================================================
+#
+# SYNOPSIS
+#
+#   AX_CHECK_COMPILE_FLAG(FLAG, [ACTION-SUCCESS], [ACTION-FAILURE], [EXTRA-FLAGS])
+#
+# DESCRIPTION
+#
+#   Check whether the given FLAG works with the current language's compiler
+#   or gives an error.  (Warnings, however, are ignored)
+#
+#   ACTION-SUCCESS/ACTION-FAILURE are shell commands to execute on
+#   success/failure.
+#
+#   If EXTRA-FLAGS is defined, it is added to the current language's default
+#   flags (e.g. CFLAGS) when the check is done.  The check is thus made with
+#   the flags: "CFLAGS EXTRA-FLAGS FLAG".  This can for example be used to
+#   force the compiler to issue an error when a bad flag is given.
+#
+#   NOTE: Implementation based on AX_CFLAGS_GCC_OPTION. Please keep this
+#   macro in sync with AX_CHECK_{PREPROC,LINK}_FLAG.
+#
+# LICENSE
+#
+#   Copyright (c) 2008 Guido U. Draheim <guidod@gmx.de>
+#   Copyright (c) 2011 Maarten Bosmans <mkbosmans@gmail.com>
+#
+#   This program is free software: you can redistribute it and/or modify it
+#   under the terms of the GNU General Public License as published by the
+#   Free Software Foundation, either version 3 of the License, or (at your
+#   option) any later version.
+#
+#   This program is distributed in the hope that it will be useful, but
+#   WITHOUT ANY WARRANTY; without even the implied warranty of
+#   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
+#   Public License for more details.
+#
+#   You should have received a copy of the GNU General Public License along
+#   with this program. If not, see <http://www.gnu.org/licenses/>.
+#
+#   As a special exception, the respective Autoconf Macro's copyright owner
+#   gives unlimited permission to copy, distribute and modify the configure
+#   scripts that are the output of Autoconf when processing the Macro. You
+#   need not follow the terms of the GNU General Public License when using
+#   or distributing such scripts, even though portions of the text of the
+#   Macro appear in them. The GNU General Public License (GPL) does govern
+#   all other use of the material that constitutes the Autoconf Macro.
+#
+#   This special exception to the GPL applies to versions of the Autoconf
+#   Macro released by the Autoconf Archive. When you make and distribute a
+#   modified version of the Autoconf Macro, you may extend this special
+#   exception to the GPL to apply to your modified version as well.
+
+#serial 2
+
+AC_DEFUN([AX_CHECK_COMPILE_FLAG],
+[AC_PREREQ(2.59)dnl for _AC_LANG_PREFIX
+AS_VAR_PUSHDEF([CACHEVAR],[ax_cv_check_[]_AC_LANG_ABBREV[]flags_$4_$1])dnl
+AC_CACHE_CHECK([whether _AC_LANG compiler accepts $1], CACHEVAR, [
+  ax_check_save_flags=$[]_AC_LANG_PREFIX[]FLAGS
+  _AC_LANG_PREFIX[]FLAGS="$[]_AC_LANG_PREFIX[]FLAGS $4 $1"
+  AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <stdio.h>]],
+  [[char x[42U], fodder = 0;if (fodder > -1000 && fgets(x,1000,stdin)) puts(x)]])],
+    [AS_VAR_SET(CACHEVAR,[yes])],
+    [AS_VAR_SET(CACHEVAR,[no])])
+  _AC_LANG_PREFIX[]FLAGS=$ax_check_save_flags])
+AS_IF([test x"AS_VAR_GET(CACHEVAR)" = xyes],
+  [m4_default([$2], :)],
+  [m4_default([$3], :)])
+AS_VAR_POPDEF([CACHEVAR])dnl
+])dnl AX_CHECK_COMPILE_FLAGS
diff --git a/src/libsodium/m4/ax_check_link_flag.m4 b/src/libsodium/m4/ax_check_link_flag.m4
new file mode 100644
index 00000000..5895fa3d
--- /dev/null
+++ b/src/libsodium/m4/ax_check_link_flag.m4
@@ -0,0 +1,72 @@
+# ===========================================================================
+#    http://www.gnu.org/software/autoconf-archive/ax_check_link_flag.html
+# ===========================================================================
+#
+# SYNOPSIS
+#
+#   AX_CHECK_LINK_FLAG(FLAG, [ACTION-SUCCESS], [ACTION-FAILURE], [EXTRA-FLAGS])
+#
+# DESCRIPTION
+#
+#   Check whether the given FLAG works with the linker or gives an error.
+#   (Warnings, however, are ignored)
+#
+#   ACTION-SUCCESS/ACTION-FAILURE are shell commands to execute on
+#   success/failure.
+#
+#   If EXTRA-FLAGS is defined, it is added to the linker's default flags
+#   when the check is done.  The check is thus made with the flags: "LDFLAGS
+#   EXTRA-FLAGS FLAG".  This can for example be used to force the linker to
+#   issue an error when a bad flag is given.
+#
+#   NOTE: Implementation based on AX_CFLAGS_GCC_OPTION. Please keep this
+#   macro in sync with AX_CHECK_{PREPROC,COMPILE}_FLAG.
+#
+# LICENSE
+#
+#   Copyright (c) 2008 Guido U. Draheim <guidod@gmx.de>
+#   Copyright (c) 2011 Maarten Bosmans <mkbosmans@gmail.com>
+#
+#   This program is free software: you can redistribute it and/or modify it
+#   under the terms of the GNU General Public License as published by the
+#   Free Software Foundation, either version 3 of the License, or (at your
+#   option) any later version.
+#
+#   This program is distributed in the hope that it will be useful, but
+#   WITHOUT ANY WARRANTY; without even the implied warranty of
+#   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
+#   Public License for more details.
+#
+#   You should have received a copy of the GNU General Public License along
+#   with this program. If not, see <http://www.gnu.org/licenses/>.
+#
+#   As a special exception, the respective Autoconf Macro's copyright owner
+#   gives unlimited permission to copy, distribute and modify the configure
+#   scripts that are the output of Autoconf when processing the Macro. You
+#   need not follow the terms of the GNU General Public License when using
+#   or distributing such scripts, even though portions of the text of the
+#   Macro appear in them. The GNU General Public License (GPL) does govern
+#   all other use of the material that constitutes the Autoconf Macro.
+#
+#   This special exception to the GPL applies to versions of the Autoconf
+#   Macro released by the Autoconf Archive. When you make and distribute a
+#   modified version of the Autoconf Macro, you may extend this special
+#   exception to the GPL to apply to your modified version as well.
+
+#serial 2
+
+AC_DEFUN([AX_CHECK_LINK_FLAG],
+[AS_VAR_PUSHDEF([CACHEVAR],[ax_cv_check_ldflags_$4_$1])dnl
+AC_CACHE_CHECK([whether the linker accepts $1], CACHEVAR, [
+  ax_check_save_flags=$LDFLAGS
+  LDFLAGS="$LDFLAGS $4 $1"
+  AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <stdio.h>]],
+  [[char x[42U];if (fgets(x,1000,stdin)) puts(x)]])],
+    [AS_VAR_SET(CACHEVAR,[yes])],
+    [AS_VAR_SET(CACHEVAR,[no])])
+  LDFLAGS=$ax_check_save_flags])
+AS_IF([test x"AS_VAR_GET(CACHEVAR)" = xyes],
+  [m4_default([$2], :)],
+  [m4_default([$3], :)])
+AS_VAR_POPDEF([CACHEVAR])dnl
+])dnl AX_CHECK_LINK_FLAGS
diff --git a/src/libsodium/m4/ld-output-def.m4 b/src/libsodium/m4/ld-output-def.m4
new file mode 100644
index 00000000..59895bc2
--- /dev/null
+++ b/src/libsodium/m4/ld-output-def.m4
@@ -0,0 +1,29 @@
+# ld-output-def.m4 serial 2
+dnl Copyright (C) 2008-2013 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl From Simon Josefsson
+
+# gl_LD_OUTPUT_DEF()
+# -------------
+# Check if linker supports -Wl,--output-def and define automake
+# conditional HAVE_LD_OUTPUT_DEF if it is.
+AC_DEFUN([gl_LD_OUTPUT_DEF],
+[
+  AC_CACHE_CHECK([if gcc/ld supports -Wl,--output-def],
+    [gl_cv_ld_output_def],
+    [if test "$enable_shared" = no; then
+       gl_cv_ld_output_def="not needed, shared libraries are disabled"
+     else
+       gl_ldflags_save=$LDFLAGS
+       LDFLAGS="-Wl,--output-def,conftest.def"
+       AC_LINK_IFELSE([AC_LANG_PROGRAM([])],
+                   [gl_cv_ld_output_def=yes],
+                   [gl_cv_ld_output_def=no])
+       rm -f conftest.def
+       LDFLAGS="$gl_ldflags_save"
+     fi])
+  AM_CONDITIONAL([HAVE_LD_OUTPUT_DEF], test "x$gl_cv_ld_output_def" = "xyes")
+])
diff --git a/src/libsodium/m4/libtool.m4 b/src/libsodium/m4/libtool.m4
new file mode 100644
index 00000000..44e0ecff
--- /dev/null
+++ b/src/libsodium/m4/libtool.m4
@@ -0,0 +1,7982 @@
+# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*-
+#
+#   Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
+#                 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+#                 Foundation, Inc.
+#   Written by Gordon Matzigkeit, 1996
+#
+# This file is free software; the Free Software Foundation gives
+# unlimited permission to copy and/or distribute it, with or without
+# modifications, as long as this notice is preserved.
+
+m4_define([_LT_COPYING], [dnl
+#   Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
+#                 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+#                 Foundation, Inc.
+#   Written by Gordon Matzigkeit, 1996
+#
+#   This file is part of GNU Libtool.
+#
+# GNU Libtool is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License as
+# published by the Free Software Foundation; either version 2 of
+# the License, or (at your option) any later version.
+#
+# As a special exception to the GNU General Public License,
+# if you distribute this file as part of a program or library that
+# is built using GNU Libtool, you may include this file under the
+# same distribution terms that you use for the rest of that program.
+#
+# GNU Libtool is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with GNU Libtool; see the file COPYING.  If not, a copy
+# can be downloaded from http://www.gnu.org/licenses/gpl.html, or
+# obtained by writing to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+])
+
+# serial 57 LT_INIT
+
+
+# LT_PREREQ(VERSION)
+# ------------------
+# Complain and exit if this libtool version is less that VERSION.
+m4_defun([LT_PREREQ],
+[m4_if(m4_version_compare(m4_defn([LT_PACKAGE_VERSION]), [$1]), -1,
+       [m4_default([$3],
+		   [m4_fatal([Libtool version $1 or higher is required],
+		             63)])],
+       [$2])])
+
+
+# _LT_CHECK_BUILDDIR
+# ------------------
+# Complain if the absolute build directory name contains unusual characters
+m4_defun([_LT_CHECK_BUILDDIR],
+[case `pwd` in
+  *\ * | *\	*)
+    AC_MSG_WARN([Libtool does not cope well with whitespace in `pwd`]) ;;
+esac
+])
+
+
+# LT_INIT([OPTIONS])
+# ------------------
+AC_DEFUN([LT_INIT],
+[AC_PREREQ([2.58])dnl We use AC_INCLUDES_DEFAULT
+AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl
+AC_BEFORE([$0], [LT_LANG])dnl
+AC_BEFORE([$0], [LT_OUTPUT])dnl
+AC_BEFORE([$0], [LTDL_INIT])dnl
+m4_require([_LT_CHECK_BUILDDIR])dnl
+
+dnl Autoconf doesn't catch unexpanded LT_ macros by default:
+m4_pattern_forbid([^_?LT_[A-Z_]+$])dnl
+m4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$])dnl
+dnl aclocal doesn't pull ltoptions.m4, ltsugar.m4, or ltversion.m4
+dnl unless we require an AC_DEFUNed macro:
+AC_REQUIRE([LTOPTIONS_VERSION])dnl
+AC_REQUIRE([LTSUGAR_VERSION])dnl
+AC_REQUIRE([LTVERSION_VERSION])dnl
+AC_REQUIRE([LTOBSOLETE_VERSION])dnl
+m4_require([_LT_PROG_LTMAIN])dnl
+
+_LT_SHELL_INIT([SHELL=${CONFIG_SHELL-/bin/sh}])
+
+dnl Parse OPTIONS
+_LT_SET_OPTIONS([$0], [$1])
+
+# This can be used to rebuild libtool when needed
+LIBTOOL_DEPS="$ltmain"
+
+# Always use our own libtool.
+LIBTOOL='$(SHELL) $(top_builddir)/libtool'
+AC_SUBST(LIBTOOL)dnl
+
+_LT_SETUP
+
+# Only expand once:
+m4_define([LT_INIT])
+])# LT_INIT
+
+# Old names:
+AU_ALIAS([AC_PROG_LIBTOOL], [LT_INIT])
+AU_ALIAS([AM_PROG_LIBTOOL], [LT_INIT])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_PROG_LIBTOOL], [])
+dnl AC_DEFUN([AM_PROG_LIBTOOL], [])
+
+
+# _LT_CC_BASENAME(CC)
+# -------------------
+# Calculate cc_basename.  Skip known compiler wrappers and cross-prefix.
+m4_defun([_LT_CC_BASENAME],
+[for cc_temp in $1""; do
+  case $cc_temp in
+    compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;;
+    distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;;
+    \-*) ;;
+    *) break;;
+  esac
+done
+cc_basename=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
+])
+
+
+# _LT_FILEUTILS_DEFAULTS
+# ----------------------
+# It is okay to use these file commands and assume they have been set
+# sensibly after `m4_require([_LT_FILEUTILS_DEFAULTS])'.
+m4_defun([_LT_FILEUTILS_DEFAULTS],
+[: ${CP="cp -f"}
+: ${MV="mv -f"}
+: ${RM="rm -f"}
+])# _LT_FILEUTILS_DEFAULTS
+
+
+# _LT_SETUP
+# ---------
+m4_defun([_LT_SETUP],
+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
+AC_REQUIRE([AC_CANONICAL_BUILD])dnl
+AC_REQUIRE([_LT_PREPARE_SED_QUOTE_VARS])dnl
+AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])dnl
+
+_LT_DECL([], [PATH_SEPARATOR], [1], [The PATH separator for the build system])dnl
+dnl
+_LT_DECL([], [host_alias], [0], [The host system])dnl
+_LT_DECL([], [host], [0])dnl
+_LT_DECL([], [host_os], [0])dnl
+dnl
+_LT_DECL([], [build_alias], [0], [The build system])dnl
+_LT_DECL([], [build], [0])dnl
+_LT_DECL([], [build_os], [0])dnl
+dnl
+AC_REQUIRE([AC_PROG_CC])dnl
+AC_REQUIRE([LT_PATH_LD])dnl
+AC_REQUIRE([LT_PATH_NM])dnl
+dnl
+AC_REQUIRE([AC_PROG_LN_S])dnl
+test -z "$LN_S" && LN_S="ln -s"
+_LT_DECL([], [LN_S], [1], [Whether we need soft or hard links])dnl
+dnl
+AC_REQUIRE([LT_CMD_MAX_LEN])dnl
+_LT_DECL([objext], [ac_objext], [0], [Object file suffix (normally "o")])dnl
+_LT_DECL([], [exeext], [0], [Executable file suffix (normally "")])dnl
+dnl
+m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+m4_require([_LT_CHECK_SHELL_FEATURES])dnl
+m4_require([_LT_PATH_CONVERSION_FUNCTIONS])dnl
+m4_require([_LT_CMD_RELOAD])dnl
+m4_require([_LT_CHECK_MAGIC_METHOD])dnl
+m4_require([_LT_CHECK_SHAREDLIB_FROM_LINKLIB])dnl
+m4_require([_LT_CMD_OLD_ARCHIVE])dnl
+m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
+m4_require([_LT_WITH_SYSROOT])dnl
+
+_LT_CONFIG_LIBTOOL_INIT([
+# See if we are running on zsh, and set the options which allow our
+# commands through without removal of \ escapes INIT.
+if test -n "\${ZSH_VERSION+set}" ; then
+   setopt NO_GLOB_SUBST
+fi
+])
+if test -n "${ZSH_VERSION+set}" ; then
+   setopt NO_GLOB_SUBST
+fi
+
+_LT_CHECK_OBJDIR
+
+m4_require([_LT_TAG_COMPILER])dnl
+
+case $host_os in
+aix3*)
+  # AIX sometimes has problems with the GCC collect2 program.  For some
+  # reason, if we set the COLLECT_NAMES environment variable, the problems
+  # vanish in a puff of smoke.
+  if test "X${COLLECT_NAMES+set}" != Xset; then
+    COLLECT_NAMES=
+    export COLLECT_NAMES
+  fi
+  ;;
+esac
+
+# Global variables:
+ofile=libtool
+can_build_shared=yes
+
+# All known linkers require a `.a' archive for static linking (except MSVC,
+# which needs '.lib').
+libext=a
+
+with_gnu_ld="$lt_cv_prog_gnu_ld"
+
+old_CC="$CC"
+old_CFLAGS="$CFLAGS"
+
+# Set sane defaults for various variables
+test -z "$CC" && CC=cc
+test -z "$LTCC" && LTCC=$CC
+test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
+test -z "$LD" && LD=ld
+test -z "$ac_objext" && ac_objext=o
+
+_LT_CC_BASENAME([$compiler])
+
+# Only perform the check for file, if the check method requires it
+test -z "$MAGIC_CMD" && MAGIC_CMD=file
+case $deplibs_check_method in
+file_magic*)
+  if test "$file_magic_cmd" = '$MAGIC_CMD'; then
+    _LT_PATH_MAGIC
+  fi
+  ;;
+esac
+
+# Use C for the default configuration in the libtool script
+LT_SUPPORTED_TAG([CC])
+_LT_LANG_C_CONFIG
+_LT_LANG_DEFAULT_CONFIG
+_LT_CONFIG_COMMANDS
+])# _LT_SETUP
+
+
+# _LT_PREPARE_SED_QUOTE_VARS
+# --------------------------
+# Define a few sed substitution that help us do robust quoting.
+m4_defun([_LT_PREPARE_SED_QUOTE_VARS],
+[# Backslashify metacharacters that are still active within
+# double-quoted strings.
+sed_quote_subst='s/\([["`$\\]]\)/\\\1/g'
+
+# Same as above, but do not quote variable references.
+double_quote_subst='s/\([["`\\]]\)/\\\1/g'
+
+# Sed substitution to delay expansion of an escaped shell variable in a
+# double_quote_subst'ed string.
+delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
+
+# Sed substitution to delay expansion of an escaped single quote.
+delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g'
+
+# Sed substitution to avoid accidental globbing in evaled expressions
+no_glob_subst='s/\*/\\\*/g'
+])
+
+# _LT_PROG_LTMAIN
+# ---------------
+# Note that this code is called both from `configure', and `config.status'
+# now that we use AC_CONFIG_COMMANDS to generate libtool.  Notably,
+# `config.status' has no value for ac_aux_dir unless we are using Automake,
+# so we pass a copy along to make sure it has a sensible value anyway.
+m4_defun([_LT_PROG_LTMAIN],
+[m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([ltmain.sh])])dnl
+_LT_CONFIG_LIBTOOL_INIT([ac_aux_dir='$ac_aux_dir'])
+ltmain="$ac_aux_dir/ltmain.sh"
+])# _LT_PROG_LTMAIN
+
+
+## ------------------------------------- ##
+## Accumulate code for creating libtool. ##
+## ------------------------------------- ##
+
+# So that we can recreate a full libtool script including additional
+# tags, we accumulate the chunks of code to send to AC_CONFIG_COMMANDS
+# in macros and then make a single call at the end using the `libtool'
+# label.
+
+
+# _LT_CONFIG_LIBTOOL_INIT([INIT-COMMANDS])
+# ----------------------------------------
+# Register INIT-COMMANDS to be passed to AC_CONFIG_COMMANDS later.
+m4_define([_LT_CONFIG_LIBTOOL_INIT],
+[m4_ifval([$1],
+          [m4_append([_LT_OUTPUT_LIBTOOL_INIT],
+                     [$1
+])])])
+
+# Initialize.
+m4_define([_LT_OUTPUT_LIBTOOL_INIT])
+
+
+# _LT_CONFIG_LIBTOOL([COMMANDS])
+# ------------------------------
+# Register COMMANDS to be passed to AC_CONFIG_COMMANDS later.
+m4_define([_LT_CONFIG_LIBTOOL],
+[m4_ifval([$1],
+          [m4_append([_LT_OUTPUT_LIBTOOL_COMMANDS],
+                     [$1
+])])])
+
+# Initialize.
+m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS])
+
+
+# _LT_CONFIG_SAVE_COMMANDS([COMMANDS], [INIT_COMMANDS])
+# -----------------------------------------------------
+m4_defun([_LT_CONFIG_SAVE_COMMANDS],
+[_LT_CONFIG_LIBTOOL([$1])
+_LT_CONFIG_LIBTOOL_INIT([$2])
+])
+
+
+# _LT_FORMAT_COMMENT([COMMENT])
+# -----------------------------
+# Add leading comment marks to the start of each line, and a trailing
+# full-stop to the whole comment if one is not present already.
+m4_define([_LT_FORMAT_COMMENT],
+[m4_ifval([$1], [
+m4_bpatsubst([m4_bpatsubst([$1], [^ *], [# ])],
+              [['`$\]], [\\\&])]m4_bmatch([$1], [[!?.]$], [], [.])
+)])
+
+
+
+## ------------------------ ##
+## FIXME: Eliminate VARNAME ##
+## ------------------------ ##
+
+
+# _LT_DECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION], [IS-TAGGED?])
+# -------------------------------------------------------------------
+# CONFIGNAME is the name given to the value in the libtool script.
+# VARNAME is the (base) name used in the configure script.
+# VALUE may be 0, 1 or 2 for a computed quote escaped value based on
+# VARNAME.  Any other value will be used directly.
+m4_define([_LT_DECL],
+[lt_if_append_uniq([lt_decl_varnames], [$2], [, ],
+    [lt_dict_add_subkey([lt_decl_dict], [$2], [libtool_name],
+	[m4_ifval([$1], [$1], [$2])])
+    lt_dict_add_subkey([lt_decl_dict], [$2], [value], [$3])
+    m4_ifval([$4],
+	[lt_dict_add_subkey([lt_decl_dict], [$2], [description], [$4])])
+    lt_dict_add_subkey([lt_decl_dict], [$2],
+	[tagged?], [m4_ifval([$5], [yes], [no])])])
+])
+
+
+# _LT_TAGDECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION])
+# --------------------------------------------------------
+m4_define([_LT_TAGDECL], [_LT_DECL([$1], [$2], [$3], [$4], [yes])])
+
+
+# lt_decl_tag_varnames([SEPARATOR], [VARNAME1...])
+# ------------------------------------------------
+m4_define([lt_decl_tag_varnames],
+[_lt_decl_filter([tagged?], [yes], $@)])
+
+
+# _lt_decl_filter(SUBKEY, VALUE, [SEPARATOR], [VARNAME1..])
+# ---------------------------------------------------------
+m4_define([_lt_decl_filter],
+[m4_case([$#],
+  [0], [m4_fatal([$0: too few arguments: $#])],
+  [1], [m4_fatal([$0: too few arguments: $#: $1])],
+  [2], [lt_dict_filter([lt_decl_dict], [$1], [$2], [], lt_decl_varnames)],
+  [3], [lt_dict_filter([lt_decl_dict], [$1], [$2], [$3], lt_decl_varnames)],
+  [lt_dict_filter([lt_decl_dict], $@)])[]dnl
+])
+
+
+# lt_decl_quote_varnames([SEPARATOR], [VARNAME1...])
+# --------------------------------------------------
+m4_define([lt_decl_quote_varnames],
+[_lt_decl_filter([value], [1], $@)])
+
+
+# lt_decl_dquote_varnames([SEPARATOR], [VARNAME1...])
+# ---------------------------------------------------
+m4_define([lt_decl_dquote_varnames],
+[_lt_decl_filter([value], [2], $@)])
+
+
+# lt_decl_varnames_tagged([SEPARATOR], [VARNAME1...])
+# ---------------------------------------------------
+m4_define([lt_decl_varnames_tagged],
+[m4_assert([$# <= 2])dnl
+_$0(m4_quote(m4_default([$1], [[, ]])),
+    m4_ifval([$2], [[$2]], [m4_dquote(lt_decl_tag_varnames)]),
+    m4_split(m4_normalize(m4_quote(_LT_TAGS)), [ ]))])
+m4_define([_lt_decl_varnames_tagged],
+[m4_ifval([$3], [lt_combine([$1], [$2], [_], $3)])])
+
+
+# lt_decl_all_varnames([SEPARATOR], [VARNAME1...])
+# ------------------------------------------------
+m4_define([lt_decl_all_varnames],
+[_$0(m4_quote(m4_default([$1], [[, ]])),
+     m4_if([$2], [],
+	   m4_quote(lt_decl_varnames),
+	m4_quote(m4_shift($@))))[]dnl
+])
+m4_define([_lt_decl_all_varnames],
+[lt_join($@, lt_decl_varnames_tagged([$1],
+			lt_decl_tag_varnames([[, ]], m4_shift($@))))dnl
+])
+
+
+# _LT_CONFIG_STATUS_DECLARE([VARNAME])
+# ------------------------------------
+# Quote a variable value, and forward it to `config.status' so that its
+# declaration there will have the same value as in `configure'.  VARNAME
+# must have a single quote delimited value for this to work.
+m4_define([_LT_CONFIG_STATUS_DECLARE],
+[$1='`$ECHO "$][$1" | $SED "$delay_single_quote_subst"`'])
+
+
+# _LT_CONFIG_STATUS_DECLARATIONS
+# ------------------------------
+# We delimit libtool config variables with single quotes, so when
+# we write them to config.status, we have to be sure to quote all
+# embedded single quotes properly.  In configure, this macro expands
+# each variable declared with _LT_DECL (and _LT_TAGDECL) into:
+#
+#    <var>='`$ECHO "$<var>" | $SED "$delay_single_quote_subst"`'
+m4_defun([_LT_CONFIG_STATUS_DECLARATIONS],
+[m4_foreach([_lt_var], m4_quote(lt_decl_all_varnames),
+    [m4_n([_LT_CONFIG_STATUS_DECLARE(_lt_var)])])])
+
+
+# _LT_LIBTOOL_TAGS
+# ----------------
+# Output comment and list of tags supported by the script
+m4_defun([_LT_LIBTOOL_TAGS],
+[_LT_FORMAT_COMMENT([The names of the tagged configurations supported by this script])dnl
+available_tags="_LT_TAGS"dnl
+])
+
+
+# _LT_LIBTOOL_DECLARE(VARNAME, [TAG])
+# -----------------------------------
+# Extract the dictionary values for VARNAME (optionally with TAG) and
+# expand to a commented shell variable setting:
+#
+#    # Some comment about what VAR is for.
+#    visible_name=$lt_internal_name
+m4_define([_LT_LIBTOOL_DECLARE],
+[_LT_FORMAT_COMMENT(m4_quote(lt_dict_fetch([lt_decl_dict], [$1],
+					   [description])))[]dnl
+m4_pushdef([_libtool_name],
+    m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [libtool_name])))[]dnl
+m4_case(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [value])),
+    [0], [_libtool_name=[$]$1],
+    [1], [_libtool_name=$lt_[]$1],
+    [2], [_libtool_name=$lt_[]$1],
+    [_libtool_name=lt_dict_fetch([lt_decl_dict], [$1], [value])])[]dnl
+m4_ifval([$2], [_$2])[]m4_popdef([_libtool_name])[]dnl
+])
+
+
+# _LT_LIBTOOL_CONFIG_VARS
+# -----------------------
+# Produce commented declarations of non-tagged libtool config variables
+# suitable for insertion in the LIBTOOL CONFIG section of the `libtool'
+# script.  Tagged libtool config variables (even for the LIBTOOL CONFIG
+# section) are produced by _LT_LIBTOOL_TAG_VARS.
+m4_defun([_LT_LIBTOOL_CONFIG_VARS],
+[m4_foreach([_lt_var],
+    m4_quote(_lt_decl_filter([tagged?], [no], [], lt_decl_varnames)),
+    [m4_n([_LT_LIBTOOL_DECLARE(_lt_var)])])])
+
+
+# _LT_LIBTOOL_TAG_VARS(TAG)
+# -------------------------
+m4_define([_LT_LIBTOOL_TAG_VARS],
+[m4_foreach([_lt_var], m4_quote(lt_decl_tag_varnames),
+    [m4_n([_LT_LIBTOOL_DECLARE(_lt_var, [$1])])])])
+
+
+# _LT_TAGVAR(VARNAME, [TAGNAME])
+# ------------------------------
+m4_define([_LT_TAGVAR], [m4_ifval([$2], [$1_$2], [$1])])
+
+
+# _LT_CONFIG_COMMANDS
+# -------------------
+# Send accumulated output to $CONFIG_STATUS.  Thanks to the lists of
+# variables for single and double quote escaping we saved from calls
+# to _LT_DECL, we can put quote escaped variables declarations
+# into `config.status', and then the shell code to quote escape them in
+# for loops in `config.status'.  Finally, any additional code accumulated
+# from calls to _LT_CONFIG_LIBTOOL_INIT is expanded.
+m4_defun([_LT_CONFIG_COMMANDS],
+[AC_PROVIDE_IFELSE([LT_OUTPUT],
+	dnl If the libtool generation code has been placed in $CONFIG_LT,
+	dnl instead of duplicating it all over again into config.status,
+	dnl then we will have config.status run $CONFIG_LT later, so it
+	dnl needs to know what name is stored there:
+        [AC_CONFIG_COMMANDS([libtool],
+            [$SHELL $CONFIG_LT || AS_EXIT(1)], [CONFIG_LT='$CONFIG_LT'])],
+    dnl If the libtool generation code is destined for config.status,
+    dnl expand the accumulated commands and init code now:
+    [AC_CONFIG_COMMANDS([libtool],
+        [_LT_OUTPUT_LIBTOOL_COMMANDS], [_LT_OUTPUT_LIBTOOL_COMMANDS_INIT])])
+])#_LT_CONFIG_COMMANDS
+
+
+# Initialize.
+m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS_INIT],
+[
+
+# The HP-UX ksh and POSIX shell print the target directory to stdout
+# if CDPATH is set.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+sed_quote_subst='$sed_quote_subst'
+double_quote_subst='$double_quote_subst'
+delay_variable_subst='$delay_variable_subst'
+_LT_CONFIG_STATUS_DECLARATIONS
+LTCC='$LTCC'
+LTCFLAGS='$LTCFLAGS'
+compiler='$compiler_DEFAULT'
+
+# A function that is used when there is no print builtin or printf.
+func_fallback_echo ()
+{
+  eval 'cat <<_LTECHO_EOF
+\$[]1
+_LTECHO_EOF'
+}
+
+# Quote evaled strings.
+for var in lt_decl_all_varnames([[ \
+]], lt_decl_quote_varnames); do
+    case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
+    *[[\\\\\\\`\\"\\\$]]*)
+      eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\""
+      ;;
+    *)
+      eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
+      ;;
+    esac
+done
+
+# Double-quote double-evaled strings.
+for var in lt_decl_all_varnames([[ \
+]], lt_decl_dquote_varnames); do
+    case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
+    *[[\\\\\\\`\\"\\\$]]*)
+      eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\""
+      ;;
+    *)
+      eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
+      ;;
+    esac
+done
+
+_LT_OUTPUT_LIBTOOL_INIT
+])
+
+# _LT_GENERATED_FILE_INIT(FILE, [COMMENT])
+# ------------------------------------
+# Generate a child script FILE with all initialization necessary to
+# reuse the environment learned by the parent script, and make the
+# file executable.  If COMMENT is supplied, it is inserted after the
+# `#!' sequence but before initialization text begins.  After this
+# macro, additional text can be appended to FILE to form the body of
+# the child script.  The macro ends with non-zero status if the
+# file could not be fully written (such as if the disk is full).
+m4_ifdef([AS_INIT_GENERATED],
+[m4_defun([_LT_GENERATED_FILE_INIT],[AS_INIT_GENERATED($@)])],
+[m4_defun([_LT_GENERATED_FILE_INIT],
+[m4_require([AS_PREPARE])]dnl
+[m4_pushdef([AS_MESSAGE_LOG_FD])]dnl
+[lt_write_fail=0
+cat >$1 <<_ASEOF || lt_write_fail=1
+#! $SHELL
+# Generated by $as_me.
+$2
+SHELL=\${CONFIG_SHELL-$SHELL}
+export SHELL
+_ASEOF
+cat >>$1 <<\_ASEOF || lt_write_fail=1
+AS_SHELL_SANITIZE
+_AS_PREPARE
+exec AS_MESSAGE_FD>&1
+_ASEOF
+test $lt_write_fail = 0 && chmod +x $1[]dnl
+m4_popdef([AS_MESSAGE_LOG_FD])])])# _LT_GENERATED_FILE_INIT
+
+# LT_OUTPUT
+# ---------
+# This macro allows early generation of the libtool script (before
+# AC_OUTPUT is called), incase it is used in configure for compilation
+# tests.
+AC_DEFUN([LT_OUTPUT],
+[: ${CONFIG_LT=./config.lt}
+AC_MSG_NOTICE([creating $CONFIG_LT])
+_LT_GENERATED_FILE_INIT(["$CONFIG_LT"],
+[# Run this file to recreate a libtool stub with the current configuration.])
+
+cat >>"$CONFIG_LT" <<\_LTEOF
+lt_cl_silent=false
+exec AS_MESSAGE_LOG_FD>>config.log
+{
+  echo
+  AS_BOX([Running $as_me.])
+} >&AS_MESSAGE_LOG_FD
+
+lt_cl_help="\
+\`$as_me' creates a local libtool stub from the current configuration,
+for use in further configure time tests before the real libtool is
+generated.
+
+Usage: $[0] [[OPTIONS]]
+
+  -h, --help      print this help, then exit
+  -V, --version   print version number, then exit
+  -q, --quiet     do not print progress messages
+  -d, --debug     don't remove temporary files
+
+Report bugs to <bug-libtool@gnu.org>."
+
+lt_cl_version="\
+m4_ifset([AC_PACKAGE_NAME], [AC_PACKAGE_NAME ])config.lt[]dnl
+m4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION])
+configured by $[0], generated by m4_PACKAGE_STRING.
+
+Copyright (C) 2011 Free Software Foundation, Inc.
+This config.lt script is free software; the Free Software Foundation
+gives unlimited permision to copy, distribute and modify it."
+
+while test $[#] != 0
+do
+  case $[1] in
+    --version | --v* | -V )
+      echo "$lt_cl_version"; exit 0 ;;
+    --help | --h* | -h )
+      echo "$lt_cl_help"; exit 0 ;;
+    --debug | --d* | -d )
+      debug=: ;;
+    --quiet | --q* | --silent | --s* | -q )
+      lt_cl_silent=: ;;
+
+    -*) AC_MSG_ERROR([unrecognized option: $[1]
+Try \`$[0] --help' for more information.]) ;;
+
+    *) AC_MSG_ERROR([unrecognized argument: $[1]
+Try \`$[0] --help' for more information.]) ;;
+  esac
+  shift
+done
+
+if $lt_cl_silent; then
+  exec AS_MESSAGE_FD>/dev/null
+fi
+_LTEOF
+
+cat >>"$CONFIG_LT" <<_LTEOF
+_LT_OUTPUT_LIBTOOL_COMMANDS_INIT
+_LTEOF
+
+cat >>"$CONFIG_LT" <<\_LTEOF
+AC_MSG_NOTICE([creating $ofile])
+_LT_OUTPUT_LIBTOOL_COMMANDS
+AS_EXIT(0)
+_LTEOF
+chmod +x "$CONFIG_LT"
+
+# configure is writing to config.log, but config.lt does its own redirection,
+# appending to config.log, which fails on DOS, as config.log is still kept
+# open by configure.  Here we exec the FD to /dev/null, effectively closing
+# config.log, so it can be properly (re)opened and appended to by config.lt.
+lt_cl_success=:
+test "$silent" = yes &&
+  lt_config_lt_args="$lt_config_lt_args --quiet"
+exec AS_MESSAGE_LOG_FD>/dev/null
+$SHELL "$CONFIG_LT" $lt_config_lt_args || lt_cl_success=false
+exec AS_MESSAGE_LOG_FD>>config.log
+$lt_cl_success || AS_EXIT(1)
+])# LT_OUTPUT
+
+
+# _LT_CONFIG(TAG)
+# ---------------
+# If TAG is the built-in tag, create an initial libtool script with a
+# default configuration from the untagged config vars.  Otherwise add code
+# to config.status for appending the configuration named by TAG from the
+# matching tagged config vars.
+m4_defun([_LT_CONFIG],
+[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+_LT_CONFIG_SAVE_COMMANDS([
+  m4_define([_LT_TAG], m4_if([$1], [], [C], [$1]))dnl
+  m4_if(_LT_TAG, [C], [
+    # See if we are running on zsh, and set the options which allow our
+    # commands through without removal of \ escapes.
+    if test -n "${ZSH_VERSION+set}" ; then
+      setopt NO_GLOB_SUBST
+    fi
+
+    cfgfile="${ofile}T"
+    trap "$RM \"$cfgfile\"; exit 1" 1 2 15
+    $RM "$cfgfile"
+
+    cat <<_LT_EOF >> "$cfgfile"
+#! $SHELL
+
+# `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
+# Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION
+# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
+# NOTE: Changes made to this file will be lost: look at ltmain.sh.
+#
+_LT_COPYING
+_LT_LIBTOOL_TAGS
+
+# ### BEGIN LIBTOOL CONFIG
+_LT_LIBTOOL_CONFIG_VARS
+_LT_LIBTOOL_TAG_VARS
+# ### END LIBTOOL CONFIG
+
+_LT_EOF
+
+  case $host_os in
+  aix3*)
+    cat <<\_LT_EOF >> "$cfgfile"
+# AIX sometimes has problems with the GCC collect2 program.  For some
+# reason, if we set the COLLECT_NAMES environment variable, the problems
+# vanish in a puff of smoke.
+if test "X${COLLECT_NAMES+set}" != Xset; then
+  COLLECT_NAMES=
+  export COLLECT_NAMES
+fi
+_LT_EOF
+    ;;
+  esac
+
+  _LT_PROG_LTMAIN
+
+  # We use sed instead of cat because bash on DJGPP gets confused if
+  # if finds mixed CR/LF and LF-only lines.  Since sed operates in
+  # text mode, it properly converts lines to CR/LF.  This bash problem
+  # is reportedly fixed, but why not run on old versions too?
+  sed '$q' "$ltmain" >> "$cfgfile" \
+     || (rm -f "$cfgfile"; exit 1)
+
+  _LT_PROG_REPLACE_SHELLFNS
+
+   mv -f "$cfgfile" "$ofile" ||
+    (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
+  chmod +x "$ofile"
+],
+[cat <<_LT_EOF >> "$ofile"
+
+dnl Unfortunately we have to use $1 here, since _LT_TAG is not expanded
+dnl in a comment (ie after a #).
+# ### BEGIN LIBTOOL TAG CONFIG: $1
+_LT_LIBTOOL_TAG_VARS(_LT_TAG)
+# ### END LIBTOOL TAG CONFIG: $1
+_LT_EOF
+])dnl /m4_if
+],
+[m4_if([$1], [], [
+    PACKAGE='$PACKAGE'
+    VERSION='$VERSION'
+    TIMESTAMP='$TIMESTAMP'
+    RM='$RM'
+    ofile='$ofile'], [])
+])dnl /_LT_CONFIG_SAVE_COMMANDS
+])# _LT_CONFIG
+
+
+# LT_SUPPORTED_TAG(TAG)
+# ---------------------
+# Trace this macro to discover what tags are supported by the libtool
+# --tag option, using:
+#    autoconf --trace 'LT_SUPPORTED_TAG:$1'
+AC_DEFUN([LT_SUPPORTED_TAG], [])
+
+
+# C support is built-in for now
+m4_define([_LT_LANG_C_enabled], [])
+m4_define([_LT_TAGS], [])
+
+
+# LT_LANG(LANG)
+# -------------
+# Enable libtool support for the given language if not already enabled.
+AC_DEFUN([LT_LANG],
+[AC_BEFORE([$0], [LT_OUTPUT])dnl
+m4_case([$1],
+  [C],			[_LT_LANG(C)],
+  [C++],		[_LT_LANG(CXX)],
+  [Go],			[_LT_LANG(GO)],
+  [Java],		[_LT_LANG(GCJ)],
+  [Fortran 77],		[_LT_LANG(F77)],
+  [Fortran],		[_LT_LANG(FC)],
+  [Windows Resource],	[_LT_LANG(RC)],
+  [m4_ifdef([_LT_LANG_]$1[_CONFIG],
+    [_LT_LANG($1)],
+    [m4_fatal([$0: unsupported language: "$1"])])])dnl
+])# LT_LANG
+
+
+# _LT_LANG(LANGNAME)
+# ------------------
+m4_defun([_LT_LANG],
+[m4_ifdef([_LT_LANG_]$1[_enabled], [],
+  [LT_SUPPORTED_TAG([$1])dnl
+  m4_append([_LT_TAGS], [$1 ])dnl
+  m4_define([_LT_LANG_]$1[_enabled], [])dnl
+  _LT_LANG_$1_CONFIG($1)])dnl
+])# _LT_LANG
+
+
+m4_ifndef([AC_PROG_GO], [
+############################################################
+# NOTE: This macro has been submitted for inclusion into   #
+#  GNU Autoconf as AC_PROG_GO.  When it is available in    #
+#  a released version of Autoconf we should remove this    #
+#  macro and use it instead.                               #
+############################################################
+m4_defun([AC_PROG_GO],
+[AC_LANG_PUSH(Go)dnl
+AC_ARG_VAR([GOC],     [Go compiler command])dnl
+AC_ARG_VAR([GOFLAGS], [Go compiler flags])dnl
+_AC_ARG_VAR_LDFLAGS()dnl
+AC_CHECK_TOOL(GOC, gccgo)
+if test -z "$GOC"; then
+  if test -n "$ac_tool_prefix"; then
+    AC_CHECK_PROG(GOC, [${ac_tool_prefix}gccgo], [${ac_tool_prefix}gccgo])
+  fi
+fi
+if test -z "$GOC"; then
+  AC_CHECK_PROG(GOC, gccgo, gccgo, false)
+fi
+])#m4_defun
+])#m4_ifndef
+
+
+# _LT_LANG_DEFAULT_CONFIG
+# -----------------------
+m4_defun([_LT_LANG_DEFAULT_CONFIG],
+[AC_PROVIDE_IFELSE([AC_PROG_CXX],
+  [LT_LANG(CXX)],
+  [m4_define([AC_PROG_CXX], defn([AC_PROG_CXX])[LT_LANG(CXX)])])
+
+AC_PROVIDE_IFELSE([AC_PROG_F77],
+  [LT_LANG(F77)],
+  [m4_define([AC_PROG_F77], defn([AC_PROG_F77])[LT_LANG(F77)])])
+
+AC_PROVIDE_IFELSE([AC_PROG_FC],
+  [LT_LANG(FC)],
+  [m4_define([AC_PROG_FC], defn([AC_PROG_FC])[LT_LANG(FC)])])
+
+dnl The call to [A][M_PROG_GCJ] is quoted like that to stop aclocal
+dnl pulling things in needlessly.
+AC_PROVIDE_IFELSE([AC_PROG_GCJ],
+  [LT_LANG(GCJ)],
+  [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],
+    [LT_LANG(GCJ)],
+    [AC_PROVIDE_IFELSE([LT_PROG_GCJ],
+      [LT_LANG(GCJ)],
+      [m4_ifdef([AC_PROG_GCJ],
+	[m4_define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[LT_LANG(GCJ)])])
+       m4_ifdef([A][M_PROG_GCJ],
+	[m4_define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[LT_LANG(GCJ)])])
+       m4_ifdef([LT_PROG_GCJ],
+	[m4_define([LT_PROG_GCJ], defn([LT_PROG_GCJ])[LT_LANG(GCJ)])])])])])
+
+AC_PROVIDE_IFELSE([AC_PROG_GO],
+  [LT_LANG(GO)],
+  [m4_define([AC_PROG_GO], defn([AC_PROG_GO])[LT_LANG(GO)])])
+
+AC_PROVIDE_IFELSE([LT_PROG_RC],
+  [LT_LANG(RC)],
+  [m4_define([LT_PROG_RC], defn([LT_PROG_RC])[LT_LANG(RC)])])
+])# _LT_LANG_DEFAULT_CONFIG
+
+# Obsolete macros:
+AU_DEFUN([AC_LIBTOOL_CXX], [LT_LANG(C++)])
+AU_DEFUN([AC_LIBTOOL_F77], [LT_LANG(Fortran 77)])
+AU_DEFUN([AC_LIBTOOL_FC], [LT_LANG(Fortran)])
+AU_DEFUN([AC_LIBTOOL_GCJ], [LT_LANG(Java)])
+AU_DEFUN([AC_LIBTOOL_RC], [LT_LANG(Windows Resource)])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_CXX], [])
+dnl AC_DEFUN([AC_LIBTOOL_F77], [])
+dnl AC_DEFUN([AC_LIBTOOL_FC], [])
+dnl AC_DEFUN([AC_LIBTOOL_GCJ], [])
+dnl AC_DEFUN([AC_LIBTOOL_RC], [])
+
+
+# _LT_TAG_COMPILER
+# ----------------
+m4_defun([_LT_TAG_COMPILER],
+[AC_REQUIRE([AC_PROG_CC])dnl
+
+_LT_DECL([LTCC], [CC], [1], [A C compiler])dnl
+_LT_DECL([LTCFLAGS], [CFLAGS], [1], [LTCC compiler flags])dnl
+_LT_TAGDECL([CC], [compiler], [1], [A language specific compiler])dnl
+_LT_TAGDECL([with_gcc], [GCC], [0], [Is the compiler the GNU compiler?])dnl
+
+# If no C compiler was specified, use CC.
+LTCC=${LTCC-"$CC"}
+
+# If no C compiler flags were specified, use CFLAGS.
+LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
+
+# Allow CC to be a program name with arguments.
+compiler=$CC
+])# _LT_TAG_COMPILER
+
+
+# _LT_COMPILER_BOILERPLATE
+# ------------------------
+# Check for compiler boilerplate output or warnings with
+# the simple compiler test code.
+m4_defun([_LT_COMPILER_BOILERPLATE],
+[m4_require([_LT_DECL_SED])dnl
+ac_outfile=conftest.$ac_objext
+echo "$lt_simple_compile_test_code" >conftest.$ac_ext
+eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
+_lt_compiler_boilerplate=`cat conftest.err`
+$RM conftest*
+])# _LT_COMPILER_BOILERPLATE
+
+
+# _LT_LINKER_BOILERPLATE
+# ----------------------
+# Check for linker boilerplate output or warnings with
+# the simple link test code.
+m4_defun([_LT_LINKER_BOILERPLATE],
+[m4_require([_LT_DECL_SED])dnl
+ac_outfile=conftest.$ac_objext
+echo "$lt_simple_link_test_code" >conftest.$ac_ext
+eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
+_lt_linker_boilerplate=`cat conftest.err`
+$RM -r conftest*
+])# _LT_LINKER_BOILERPLATE
+
+# _LT_REQUIRED_DARWIN_CHECKS
+# -------------------------
+m4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[
+  case $host_os in
+    rhapsody* | darwin*)
+    AC_CHECK_TOOL([DSYMUTIL], [dsymutil], [:])
+    AC_CHECK_TOOL([NMEDIT], [nmedit], [:])
+    AC_CHECK_TOOL([LIPO], [lipo], [:])
+    AC_CHECK_TOOL([OTOOL], [otool], [:])
+    AC_CHECK_TOOL([OTOOL64], [otool64], [:])
+    _LT_DECL([], [DSYMUTIL], [1],
+      [Tool to manipulate archived DWARF debug symbol files on Mac OS X])
+    _LT_DECL([], [NMEDIT], [1],
+      [Tool to change global to local symbols on Mac OS X])
+    _LT_DECL([], [LIPO], [1],
+      [Tool to manipulate fat objects and archives on Mac OS X])
+    _LT_DECL([], [OTOOL], [1],
+      [ldd/readelf like tool for Mach-O binaries on Mac OS X])
+    _LT_DECL([], [OTOOL64], [1],
+      [ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4])
+
+    AC_CACHE_CHECK([for -single_module linker flag],[lt_cv_apple_cc_single_mod],
+      [lt_cv_apple_cc_single_mod=no
+      if test -z "${LT_MULTI_MODULE}"; then
+	# By default we will add the -single_module flag. You can override
+	# by either setting the environment variable LT_MULTI_MODULE
+	# non-empty at configure time, or by adding -multi_module to the
+	# link flags.
+	rm -rf libconftest.dylib*
+	echo "int foo(void){return 1;}" > conftest.c
+	echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
+-dynamiclib -Wl,-single_module conftest.c" >&AS_MESSAGE_LOG_FD
+	$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
+	  -dynamiclib -Wl,-single_module conftest.c 2>conftest.err
+        _lt_result=$?
+	# If there is a non-empty error log, and "single_module"
+	# appears in it, assume the flag caused a linker warning
+        if test -s conftest.err && $GREP single_module conftest.err; then
+	  cat conftest.err >&AS_MESSAGE_LOG_FD
+	# Otherwise, if the output was created with a 0 exit code from
+	# the compiler, it worked.
+	elif test -f libconftest.dylib && test $_lt_result -eq 0; then
+	  lt_cv_apple_cc_single_mod=yes
+	else
+	  cat conftest.err >&AS_MESSAGE_LOG_FD
+	fi
+	rm -rf libconftest.dylib*
+	rm -f conftest.*
+      fi])
+
+    AC_CACHE_CHECK([for -exported_symbols_list linker flag],
+      [lt_cv_ld_exported_symbols_list],
+      [lt_cv_ld_exported_symbols_list=no
+      save_LDFLAGS=$LDFLAGS
+      echo "_main" > conftest.sym
+      LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
+      AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
+	[lt_cv_ld_exported_symbols_list=yes],
+	[lt_cv_ld_exported_symbols_list=no])
+	LDFLAGS="$save_LDFLAGS"
+    ])
+
+    AC_CACHE_CHECK([for -force_load linker flag],[lt_cv_ld_force_load],
+      [lt_cv_ld_force_load=no
+      cat > conftest.c << _LT_EOF
+int forced_loaded() { return 2;}
+_LT_EOF
+      echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&AS_MESSAGE_LOG_FD
+      $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&AS_MESSAGE_LOG_FD
+      echo "$AR cru libconftest.a conftest.o" >&AS_MESSAGE_LOG_FD
+      $AR cru libconftest.a conftest.o 2>&AS_MESSAGE_LOG_FD
+      echo "$RANLIB libconftest.a" >&AS_MESSAGE_LOG_FD
+      $RANLIB libconftest.a 2>&AS_MESSAGE_LOG_FD
+      cat > conftest.c << _LT_EOF
+int main() { return 0;}
+_LT_EOF
+      echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&AS_MESSAGE_LOG_FD
+      $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err
+      _lt_result=$?
+      if test -s conftest.err && $GREP force_load conftest.err; then
+	cat conftest.err >&AS_MESSAGE_LOG_FD
+      elif test -f conftest && test $_lt_result -eq 0 && $GREP forced_load conftest >/dev/null 2>&1 ; then
+	lt_cv_ld_force_load=yes
+      else
+	cat conftest.err >&AS_MESSAGE_LOG_FD
+      fi
+        rm -f conftest.err libconftest.a conftest conftest.c
+        rm -rf conftest.dSYM
+    ])
+    case $host_os in
+    rhapsody* | darwin1.[[012]])
+      _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;;
+    darwin1.*)
+      _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
+    darwin*) # darwin 5.x on
+      # if running on 10.5 or later, the deployment target defaults
+      # to the OS version, if on x86, and 10.4, the deployment
+      # target defaults to 10.4. Don't you love it?
+      case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
+	10.0,*86*-darwin8*|10.0,*-darwin[[91]]*)
+	  _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
+	10.[[012]]*)
+	  _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
+	10.*)
+	  _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
+      esac
+    ;;
+  esac
+    if test "$lt_cv_apple_cc_single_mod" = "yes"; then
+      _lt_dar_single_mod='$single_module'
+    fi
+    if test "$lt_cv_ld_exported_symbols_list" = "yes"; then
+      _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym'
+    else
+      _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}'
+    fi
+    if test "$DSYMUTIL" != ":" && test "$lt_cv_ld_force_load" = "no"; then
+      _lt_dsymutil='~$DSYMUTIL $lib || :'
+    else
+      _lt_dsymutil=
+    fi
+    ;;
+  esac
+])
+
+
+# _LT_DARWIN_LINKER_FEATURES([TAG])
+# ---------------------------------
+# Checks for linker and compiler features on darwin
+m4_defun([_LT_DARWIN_LINKER_FEATURES],
+[
+  m4_require([_LT_REQUIRED_DARWIN_CHECKS])
+  _LT_TAGVAR(archive_cmds_need_lc, $1)=no
+  _LT_TAGVAR(hardcode_direct, $1)=no
+  _LT_TAGVAR(hardcode_automatic, $1)=yes
+  _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
+  if test "$lt_cv_ld_force_load" = "yes"; then
+    _LT_TAGVAR(whole_archive_flag_spec, $1)='`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience ${wl}-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`'
+    m4_case([$1], [F77], [_LT_TAGVAR(compiler_needs_object, $1)=yes],
+                  [FC],  [_LT_TAGVAR(compiler_needs_object, $1)=yes])
+  else
+    _LT_TAGVAR(whole_archive_flag_spec, $1)=''
+  fi
+  _LT_TAGVAR(link_all_deplibs, $1)=yes
+  _LT_TAGVAR(allow_undefined_flag, $1)="$_lt_dar_allow_undefined"
+  case $cc_basename in
+     ifort*) _lt_dar_can_shared=yes ;;
+     *) _lt_dar_can_shared=$GCC ;;
+  esac
+  if test "$_lt_dar_can_shared" = "yes"; then
+    output_verbose_link_cmd=func_echo_all
+    _LT_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
+    _LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
+    _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
+    _LT_TAGVAR(module_expsym_cmds, $1)="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
+    m4_if([$1], [CXX],
+[   if test "$lt_cv_apple_cc_single_mod" != "yes"; then
+      _LT_TAGVAR(archive_cmds, $1)="\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dsymutil}"
+      _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dar_export_syms}${_lt_dsymutil}"
+    fi
+],[])
+  else
+  _LT_TAGVAR(ld_shlibs, $1)=no
+  fi
+])
+
+# _LT_SYS_MODULE_PATH_AIX([TAGNAME])
+# ----------------------------------
+# Links a minimal program and checks the executable
+# for the system default hardcoded library path. In most cases,
+# this is /usr/lib:/lib, but when the MPI compilers are used
+# the location of the communication and MPI libs are included too.
+# If we don't find anything, use the default library path according
+# to the aix ld manual.
+# Store the results from the different compilers for each TAGNAME.
+# Allow to override them for all tags through lt_cv_aix_libpath.
+m4_defun([_LT_SYS_MODULE_PATH_AIX],
+[m4_require([_LT_DECL_SED])dnl
+if test "${lt_cv_aix_libpath+set}" = set; then
+  aix_libpath=$lt_cv_aix_libpath
+else
+  AC_CACHE_VAL([_LT_TAGVAR([lt_cv_aix_libpath_], [$1])],
+  [AC_LINK_IFELSE([AC_LANG_PROGRAM],[
+  lt_aix_libpath_sed='[
+      /Import File Strings/,/^$/ {
+	  /^0/ {
+	      s/^0  *\([^ ]*\) *$/\1/
+	      p
+	  }
+      }]'
+  _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+  # Check for a 64-bit object if we didn't find anything.
+  if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then
+    _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+  fi],[])
+  if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then
+    _LT_TAGVAR([lt_cv_aix_libpath_], [$1])="/usr/lib:/lib"
+  fi
+  ])
+  aix_libpath=$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])
+fi
+])# _LT_SYS_MODULE_PATH_AIX
+
+
+# _LT_SHELL_INIT(ARG)
+# -------------------
+m4_define([_LT_SHELL_INIT],
+[m4_divert_text([M4SH-INIT], [$1
+])])# _LT_SHELL_INIT
+
+
+
+# _LT_PROG_ECHO_BACKSLASH
+# -----------------------
+# Find how we can fake an echo command that does not interpret backslash.
+# In particular, with Autoconf 2.60 or later we add some code to the start
+# of the generated configure script which will find a shell with a builtin
+# printf (which we can use as an echo command).
+m4_defun([_LT_PROG_ECHO_BACKSLASH],
+[ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
+ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
+ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
+
+AC_MSG_CHECKING([how to print strings])
+# Test print first, because it will be a builtin if present.
+if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \
+   test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then
+  ECHO='print -r --'
+elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then
+  ECHO='printf %s\n'
+else
+  # Use this function as a fallback that always works.
+  func_fallback_echo ()
+  {
+    eval 'cat <<_LTECHO_EOF
+$[]1
+_LTECHO_EOF'
+  }
+  ECHO='func_fallback_echo'
+fi
+
+# func_echo_all arg...
+# Invoke $ECHO with all args, space-separated.
+func_echo_all ()
+{
+    $ECHO "$*" 
+}
+
+case "$ECHO" in
+  printf*) AC_MSG_RESULT([printf]) ;;
+  print*) AC_MSG_RESULT([print -r]) ;;
+  *) AC_MSG_RESULT([cat]) ;;
+esac
+
+m4_ifdef([_AS_DETECT_SUGGESTED],
+[_AS_DETECT_SUGGESTED([
+  test -n "${ZSH_VERSION+set}${BASH_VERSION+set}" || (
+    ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
+    ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
+    ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
+    PATH=/empty FPATH=/empty; export PATH FPATH
+    test "X`printf %s $ECHO`" = "X$ECHO" \
+      || test "X`print -r -- $ECHO`" = "X$ECHO" )])])
+
+_LT_DECL([], [SHELL], [1], [Shell to use when invoking shell scripts])
+_LT_DECL([], [ECHO], [1], [An echo program that protects backslashes])
+])# _LT_PROG_ECHO_BACKSLASH
+
+
+# _LT_WITH_SYSROOT
+# ----------------
+AC_DEFUN([_LT_WITH_SYSROOT],
+[AC_MSG_CHECKING([for sysroot])
+AC_ARG_WITH([sysroot],
+[  --with-sysroot[=DIR] Search for dependent libraries within DIR
+                        (or the compiler's sysroot if not specified).],
+[], [with_sysroot=no])
+
+dnl lt_sysroot will always be passed unquoted.  We quote it here
+dnl in case the user passed a directory name.
+lt_sysroot=
+case ${with_sysroot} in #(
+ yes)
+   if test "$GCC" = yes; then
+     lt_sysroot=`$CC --print-sysroot 2>/dev/null`
+   fi
+   ;; #(
+ /*)
+   lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"`
+   ;; #(
+ no|'')
+   ;; #(
+ *)
+   AC_MSG_RESULT([${with_sysroot}])
+   AC_MSG_ERROR([The sysroot must be an absolute path.])
+   ;;
+esac
+
+ AC_MSG_RESULT([${lt_sysroot:-no}])
+_LT_DECL([], [lt_sysroot], [0], [The root where to search for ]dnl
+[dependent libraries, and in which our libraries should be installed.])])
+
+# _LT_ENABLE_LOCK
+# ---------------
+m4_defun([_LT_ENABLE_LOCK],
+[AC_ARG_ENABLE([libtool-lock],
+  [AS_HELP_STRING([--disable-libtool-lock],
+    [avoid locking (might break parallel builds)])])
+test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
+
+# Some flags need to be propagated to the compiler or linker for good
+# libtool support.
+case $host in
+ia64-*-hpux*)
+  # Find out which ABI we are using.
+  echo 'int i;' > conftest.$ac_ext
+  if AC_TRY_EVAL(ac_compile); then
+    case `/usr/bin/file conftest.$ac_objext` in
+      *ELF-32*)
+	HPUX_IA64_MODE="32"
+	;;
+      *ELF-64*)
+	HPUX_IA64_MODE="64"
+	;;
+    esac
+  fi
+  rm -rf conftest*
+  ;;
+*-*-irix6*)
+  # Find out which ABI we are using.
+  echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext
+  if AC_TRY_EVAL(ac_compile); then
+    if test "$lt_cv_prog_gnu_ld" = yes; then
+      case `/usr/bin/file conftest.$ac_objext` in
+	*32-bit*)
+	  LD="${LD-ld} -melf32bsmip"
+	  ;;
+	*N32*)
+	  LD="${LD-ld} -melf32bmipn32"
+	  ;;
+	*64-bit*)
+	  LD="${LD-ld} -melf64bmip"
+	;;
+      esac
+    else
+      case `/usr/bin/file conftest.$ac_objext` in
+	*32-bit*)
+	  LD="${LD-ld} -32"
+	  ;;
+	*N32*)
+	  LD="${LD-ld} -n32"
+	  ;;
+	*64-bit*)
+	  LD="${LD-ld} -64"
+	  ;;
+      esac
+    fi
+  fi
+  rm -rf conftest*
+  ;;
+
+x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \
+s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
+  # Find out which ABI we are using.
+  echo 'int i;' > conftest.$ac_ext
+  if AC_TRY_EVAL(ac_compile); then
+    case `/usr/bin/file conftest.o` in
+      *32-bit*)
+	case $host in
+	  x86_64-*kfreebsd*-gnu)
+	    LD="${LD-ld} -m elf_i386_fbsd"
+	    ;;
+	  x86_64-*linux*)
+	    LD="${LD-ld} -m elf_i386"
+	    ;;
+	  ppc64-*linux*|powerpc64-*linux*)
+	    LD="${LD-ld} -m elf32ppclinux"
+	    ;;
+	  s390x-*linux*)
+	    LD="${LD-ld} -m elf_s390"
+	    ;;
+	  sparc64-*linux*)
+	    LD="${LD-ld} -m elf32_sparc"
+	    ;;
+	esac
+	;;
+      *64-bit*)
+	case $host in
+	  x86_64-*kfreebsd*-gnu)
+	    LD="${LD-ld} -m elf_x86_64_fbsd"
+	    ;;
+	  x86_64-*linux*)
+	    LD="${LD-ld} -m elf_x86_64"
+	    ;;
+	  ppc*-*linux*|powerpc*-*linux*)
+	    LD="${LD-ld} -m elf64ppc"
+	    ;;
+	  s390*-*linux*|s390*-*tpf*)
+	    LD="${LD-ld} -m elf64_s390"
+	    ;;
+	  sparc*-*linux*)
+	    LD="${LD-ld} -m elf64_sparc"
+	    ;;
+	esac
+	;;
+    esac
+  fi
+  rm -rf conftest*
+  ;;
+
+*-*-sco3.2v5*)
+  # On SCO OpenServer 5, we need -belf to get full-featured binaries.
+  SAVE_CFLAGS="$CFLAGS"
+  CFLAGS="$CFLAGS -belf"
+  AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf,
+    [AC_LANG_PUSH(C)
+     AC_LINK_IFELSE([AC_LANG_PROGRAM([[]],[[]])],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no])
+     AC_LANG_POP])
+  if test x"$lt_cv_cc_needs_belf" != x"yes"; then
+    # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
+    CFLAGS="$SAVE_CFLAGS"
+  fi
+  ;;
+*-*solaris*)
+  # Find out which ABI we are using.
+  echo 'int i;' > conftest.$ac_ext
+  if AC_TRY_EVAL(ac_compile); then
+    case `/usr/bin/file conftest.o` in
+    *64-bit*)
+      case $lt_cv_prog_gnu_ld in
+      yes*)
+        case $host in
+        i?86-*-solaris*)
+          LD="${LD-ld} -m elf_x86_64"
+          ;;
+        sparc*-*-solaris*)
+          LD="${LD-ld} -m elf64_sparc"
+          ;;
+        esac
+        # GNU ld 2.21 introduced _sol2 emulations.  Use them if available.
+        if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then
+          LD="${LD-ld}_sol2"
+        fi
+        ;;
+      *)
+	if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
+	  LD="${LD-ld} -64"
+	fi
+	;;
+      esac
+      ;;
+    esac
+  fi
+  rm -rf conftest*
+  ;;
+esac
+
+need_locks="$enable_libtool_lock"
+])# _LT_ENABLE_LOCK
+
+
+# _LT_PROG_AR
+# -----------
+m4_defun([_LT_PROG_AR],
+[AC_CHECK_TOOLS(AR, [ar], false)
+: ${AR=ar}
+: ${AR_FLAGS=cru}
+_LT_DECL([], [AR], [1], [The archiver])
+_LT_DECL([], [AR_FLAGS], [1], [Flags to create an archive])
+
+AC_CACHE_CHECK([for archiver @FILE support], [lt_cv_ar_at_file],
+  [lt_cv_ar_at_file=no
+   AC_COMPILE_IFELSE([AC_LANG_PROGRAM],
+     [echo conftest.$ac_objext > conftest.lst
+      lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&AS_MESSAGE_LOG_FD'
+      AC_TRY_EVAL([lt_ar_try])
+      if test "$ac_status" -eq 0; then
+	# Ensure the archiver fails upon bogus file names.
+	rm -f conftest.$ac_objext libconftest.a
+	AC_TRY_EVAL([lt_ar_try])
+	if test "$ac_status" -ne 0; then
+          lt_cv_ar_at_file=@
+        fi
+      fi
+      rm -f conftest.* libconftest.a
+     ])
+  ])
+
+if test "x$lt_cv_ar_at_file" = xno; then
+  archiver_list_spec=
+else
+  archiver_list_spec=$lt_cv_ar_at_file
+fi
+_LT_DECL([], [archiver_list_spec], [1],
+  [How to feed a file listing to the archiver])
+])# _LT_PROG_AR
+
+
+# _LT_CMD_OLD_ARCHIVE
+# -------------------
+m4_defun([_LT_CMD_OLD_ARCHIVE],
+[_LT_PROG_AR
+
+AC_CHECK_TOOL(STRIP, strip, :)
+test -z "$STRIP" && STRIP=:
+_LT_DECL([], [STRIP], [1], [A symbol stripping program])
+
+AC_CHECK_TOOL(RANLIB, ranlib, :)
+test -z "$RANLIB" && RANLIB=:
+_LT_DECL([], [RANLIB], [1],
+    [Commands used to install an old-style archive])
+
+# Determine commands to create old-style static archives.
+old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
+old_postinstall_cmds='chmod 644 $oldlib'
+old_postuninstall_cmds=
+
+if test -n "$RANLIB"; then
+  case $host_os in
+  openbsd*)
+    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib"
+    ;;
+  *)
+    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib"
+    ;;
+  esac
+  old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib"
+fi
+
+case $host_os in
+  darwin*)
+    lock_old_archive_extraction=yes ;;
+  *)
+    lock_old_archive_extraction=no ;;
+esac
+_LT_DECL([], [old_postinstall_cmds], [2])
+_LT_DECL([], [old_postuninstall_cmds], [2])
+_LT_TAGDECL([], [old_archive_cmds], [2],
+    [Commands used to build an old-style archive])
+_LT_DECL([], [lock_old_archive_extraction], [0],
+    [Whether to use a lock for old archive extraction])
+])# _LT_CMD_OLD_ARCHIVE
+
+
+# _LT_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
+#		[OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE])
+# ----------------------------------------------------------------
+# Check whether the given compiler option works
+AC_DEFUN([_LT_COMPILER_OPTION],
+[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+m4_require([_LT_DECL_SED])dnl
+AC_CACHE_CHECK([$1], [$2],
+  [$2=no
+   m4_if([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4])
+   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+   lt_compiler_flag="$3"
+   # Insert the option either (1) after the last *FLAGS variable, or
+   # (2) before a word containing "conftest.", or (3) at the end.
+   # Note that $ac_compile itself does not contain backslashes and begins
+   # with a dollar sign (not a hyphen), so the echo should work correctly.
+   # The option is referenced via a variable to avoid confusing sed.
+   lt_compile=`echo "$ac_compile" | $SED \
+   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+   -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
+   -e 's:$: $lt_compiler_flag:'`
+   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
+   (eval "$lt_compile" 2>conftest.err)
+   ac_status=$?
+   cat conftest.err >&AS_MESSAGE_LOG_FD
+   echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
+   if (exit $ac_status) && test -s "$ac_outfile"; then
+     # The compiler can only warn and ignore the option if not recognized
+     # So say no if there are warnings other than the usual output.
+     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
+     $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+     if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
+       $2=yes
+     fi
+   fi
+   $RM conftest*
+])
+
+if test x"[$]$2" = xyes; then
+    m4_if([$5], , :, [$5])
+else
+    m4_if([$6], , :, [$6])
+fi
+])# _LT_COMPILER_OPTION
+
+# Old name:
+AU_ALIAS([AC_LIBTOOL_COMPILER_OPTION], [_LT_COMPILER_OPTION])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], [])
+
+
+# _LT_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
+#                  [ACTION-SUCCESS], [ACTION-FAILURE])
+# ----------------------------------------------------
+# Check whether the given linker option works
+AC_DEFUN([_LT_LINKER_OPTION],
+[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+m4_require([_LT_DECL_SED])dnl
+AC_CACHE_CHECK([$1], [$2],
+  [$2=no
+   save_LDFLAGS="$LDFLAGS"
+   LDFLAGS="$LDFLAGS $3"
+   echo "$lt_simple_link_test_code" > conftest.$ac_ext
+   if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
+     # The linker can only warn and ignore the option if not recognized
+     # So say no if there are warnings
+     if test -s conftest.err; then
+       # Append any errors to the config.log.
+       cat conftest.err 1>&AS_MESSAGE_LOG_FD
+       $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
+       $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+       if diff conftest.exp conftest.er2 >/dev/null; then
+         $2=yes
+       fi
+     else
+       $2=yes
+     fi
+   fi
+   $RM -r conftest*
+   LDFLAGS="$save_LDFLAGS"
+])
+
+if test x"[$]$2" = xyes; then
+    m4_if([$4], , :, [$4])
+else
+    m4_if([$5], , :, [$5])
+fi
+])# _LT_LINKER_OPTION
+
+# Old name:
+AU_ALIAS([AC_LIBTOOL_LINKER_OPTION], [_LT_LINKER_OPTION])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], [])
+
+
+# LT_CMD_MAX_LEN
+#---------------
+AC_DEFUN([LT_CMD_MAX_LEN],
+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
+# find the maximum length of command line arguments
+AC_MSG_CHECKING([the maximum length of command line arguments])
+AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
+  i=0
+  teststring="ABCD"
+
+  case $build_os in
+  msdosdjgpp*)
+    # On DJGPP, this test can blow up pretty badly due to problems in libc
+    # (any single argument exceeding 2000 bytes causes a buffer overrun
+    # during glob expansion).  Even if it were fixed, the result of this
+    # check would be larger than it should be.
+    lt_cv_sys_max_cmd_len=12288;    # 12K is about right
+    ;;
+
+  gnu*)
+    # Under GNU Hurd, this test is not required because there is
+    # no limit to the length of command line arguments.
+    # Libtool will interpret -1 as no limit whatsoever
+    lt_cv_sys_max_cmd_len=-1;
+    ;;
+
+  cygwin* | mingw* | cegcc*)
+    # On Win9x/ME, this test blows up -- it succeeds, but takes
+    # about 5 minutes as the teststring grows exponentially.
+    # Worse, since 9x/ME are not pre-emptively multitasking,
+    # you end up with a "frozen" computer, even though with patience
+    # the test eventually succeeds (with a max line length of 256k).
+    # Instead, let's just punt: use the minimum linelength reported by
+    # all of the supported platforms: 8192 (on NT/2K/XP).
+    lt_cv_sys_max_cmd_len=8192;
+    ;;
+
+  mint*)
+    # On MiNT this can take a long time and run out of memory.
+    lt_cv_sys_max_cmd_len=8192;
+    ;;
+
+  amigaos*)
+    # On AmigaOS with pdksh, this test takes hours, literally.
+    # So we just punt and use a minimum line length of 8192.
+    lt_cv_sys_max_cmd_len=8192;
+    ;;
+
+  netbsd* | freebsd* | openbsd* | darwin* | dragonfly*)
+    # This has been around since 386BSD, at least.  Likely further.
+    if test -x /sbin/sysctl; then
+      lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
+    elif test -x /usr/sbin/sysctl; then
+      lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
+    else
+      lt_cv_sys_max_cmd_len=65536	# usable default for all BSDs
+    fi
+    # And add a safety zone
+    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
+    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
+    ;;
+
+  interix*)
+    # We know the value 262144 and hardcode it with a safety zone (like BSD)
+    lt_cv_sys_max_cmd_len=196608
+    ;;
+
+  os2*)
+    # The test takes a long time on OS/2.
+    lt_cv_sys_max_cmd_len=8192
+    ;;
+
+  osf*)
+    # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
+    # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
+    # nice to cause kernel panics so lets avoid the loop below.
+    # First set a reasonable default.
+    lt_cv_sys_max_cmd_len=16384
+    #
+    if test -x /sbin/sysconfig; then
+      case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
+        *1*) lt_cv_sys_max_cmd_len=-1 ;;
+      esac
+    fi
+    ;;
+  sco3.2v5*)
+    lt_cv_sys_max_cmd_len=102400
+    ;;
+  sysv5* | sco5v6* | sysv4.2uw2*)
+    kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
+    if test -n "$kargmax"; then
+      lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[	 ]]//'`
+    else
+      lt_cv_sys_max_cmd_len=32768
+    fi
+    ;;
+  *)
+    lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
+    if test -n "$lt_cv_sys_max_cmd_len"; then
+      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
+      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
+    else
+      # Make teststring a little bigger before we do anything with it.
+      # a 1K string should be a reasonable start.
+      for i in 1 2 3 4 5 6 7 8 ; do
+        teststring=$teststring$teststring
+      done
+      SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
+      # If test is not a shell built-in, we'll probably end up computing a
+      # maximum length that is only half of the actual maximum length, but
+      # we can't tell.
+      while { test "X"`env echo "$teststring$teststring" 2>/dev/null` \
+	         = "X$teststring$teststring"; } >/dev/null 2>&1 &&
+	      test $i != 17 # 1/2 MB should be enough
+      do
+        i=`expr $i + 1`
+        teststring=$teststring$teststring
+      done
+      # Only check the string length outside the loop.
+      lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1`
+      teststring=
+      # Add a significant safety factor because C++ compilers can tack on
+      # massive amounts of additional arguments before passing them to the
+      # linker.  It appears as though 1/2 is a usable value.
+      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
+    fi
+    ;;
+  esac
+])
+if test -n $lt_cv_sys_max_cmd_len ; then
+  AC_MSG_RESULT($lt_cv_sys_max_cmd_len)
+else
+  AC_MSG_RESULT(none)
+fi
+max_cmd_len=$lt_cv_sys_max_cmd_len
+_LT_DECL([], [max_cmd_len], [0],
+    [What is the maximum length of a command?])
+])# LT_CMD_MAX_LEN
+
+# Old name:
+AU_ALIAS([AC_LIBTOOL_SYS_MAX_CMD_LEN], [LT_CMD_MAX_LEN])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], [])
+
+
+# _LT_HEADER_DLFCN
+# ----------------
+m4_defun([_LT_HEADER_DLFCN],
+[AC_CHECK_HEADERS([dlfcn.h], [], [], [AC_INCLUDES_DEFAULT])dnl
+])# _LT_HEADER_DLFCN
+
+
+# _LT_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE,
+#                      ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING)
+# ----------------------------------------------------------------
+m4_defun([_LT_TRY_DLOPEN_SELF],
+[m4_require([_LT_HEADER_DLFCN])dnl
+if test "$cross_compiling" = yes; then :
+  [$4]
+else
+  lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
+  lt_status=$lt_dlunknown
+  cat > conftest.$ac_ext <<_LT_EOF
+[#line $LINENO "configure"
+#include "confdefs.h"
+
+#if HAVE_DLFCN_H
+#include <dlfcn.h>
+#endif
+
+#include <stdio.h>
+
+#ifdef RTLD_GLOBAL
+#  define LT_DLGLOBAL		RTLD_GLOBAL
+#else
+#  ifdef DL_GLOBAL
+#    define LT_DLGLOBAL		DL_GLOBAL
+#  else
+#    define LT_DLGLOBAL		0
+#  endif
+#endif
+
+/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
+   find out it does not work in some platform. */
+#ifndef LT_DLLAZY_OR_NOW
+#  ifdef RTLD_LAZY
+#    define LT_DLLAZY_OR_NOW		RTLD_LAZY
+#  else
+#    ifdef DL_LAZY
+#      define LT_DLLAZY_OR_NOW		DL_LAZY
+#    else
+#      ifdef RTLD_NOW
+#        define LT_DLLAZY_OR_NOW	RTLD_NOW
+#      else
+#        ifdef DL_NOW
+#          define LT_DLLAZY_OR_NOW	DL_NOW
+#        else
+#          define LT_DLLAZY_OR_NOW	0
+#        endif
+#      endif
+#    endif
+#  endif
+#endif
+
+/* When -fvisbility=hidden is used, assume the code has been annotated
+   correspondingly for the symbols needed.  */
+#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
+int fnord () __attribute__((visibility("default")));
+#endif
+
+int fnord () { return 42; }
+int main ()
+{
+  void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
+  int status = $lt_dlunknown;
+
+  if (self)
+    {
+      if (dlsym (self,"fnord"))       status = $lt_dlno_uscore;
+      else
+        {
+	  if (dlsym( self,"_fnord"))  status = $lt_dlneed_uscore;
+          else puts (dlerror ());
+	}
+      /* dlclose (self); */
+    }
+  else
+    puts (dlerror ());
+
+  return status;
+}]
+_LT_EOF
+  if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then
+    (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null
+    lt_status=$?
+    case x$lt_status in
+      x$lt_dlno_uscore) $1 ;;
+      x$lt_dlneed_uscore) $2 ;;
+      x$lt_dlunknown|x*) $3 ;;
+    esac
+  else :
+    # compilation failed
+    $3
+  fi
+fi
+rm -fr conftest*
+])# _LT_TRY_DLOPEN_SELF
+
+
+# LT_SYS_DLOPEN_SELF
+# ------------------
+AC_DEFUN([LT_SYS_DLOPEN_SELF],
+[m4_require([_LT_HEADER_DLFCN])dnl
+if test "x$enable_dlopen" != xyes; then
+  enable_dlopen=unknown
+  enable_dlopen_self=unknown
+  enable_dlopen_self_static=unknown
+else
+  lt_cv_dlopen=no
+  lt_cv_dlopen_libs=
+
+  case $host_os in
+  beos*)
+    lt_cv_dlopen="load_add_on"
+    lt_cv_dlopen_libs=
+    lt_cv_dlopen_self=yes
+    ;;
+
+  mingw* | pw32* | cegcc*)
+    lt_cv_dlopen="LoadLibrary"
+    lt_cv_dlopen_libs=
+    ;;
+
+  cygwin*)
+    lt_cv_dlopen="dlopen"
+    lt_cv_dlopen_libs=
+    ;;
+
+  darwin*)
+  # if libdl is installed we need to link against it
+    AC_CHECK_LIB([dl], [dlopen],
+		[lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],[
+    lt_cv_dlopen="dyld"
+    lt_cv_dlopen_libs=
+    lt_cv_dlopen_self=yes
+    ])
+    ;;
+
+  *)
+    AC_CHECK_FUNC([shl_load],
+	  [lt_cv_dlopen="shl_load"],
+      [AC_CHECK_LIB([dld], [shl_load],
+	    [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"],
+	[AC_CHECK_FUNC([dlopen],
+	      [lt_cv_dlopen="dlopen"],
+	  [AC_CHECK_LIB([dl], [dlopen],
+		[lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],
+	    [AC_CHECK_LIB([svld], [dlopen],
+		  [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"],
+	      [AC_CHECK_LIB([dld], [dld_link],
+		    [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"])
+	      ])
+	    ])
+	  ])
+	])
+      ])
+    ;;
+  esac
+
+  if test "x$lt_cv_dlopen" != xno; then
+    enable_dlopen=yes
+  else
+    enable_dlopen=no
+  fi
+
+  case $lt_cv_dlopen in
+  dlopen)
+    save_CPPFLAGS="$CPPFLAGS"
+    test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
+
+    save_LDFLAGS="$LDFLAGS"
+    wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
+
+    save_LIBS="$LIBS"
+    LIBS="$lt_cv_dlopen_libs $LIBS"
+
+    AC_CACHE_CHECK([whether a program can dlopen itself],
+	  lt_cv_dlopen_self, [dnl
+	  _LT_TRY_DLOPEN_SELF(
+	    lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes,
+	    lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross)
+    ])
+
+    if test "x$lt_cv_dlopen_self" = xyes; then
+      wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
+      AC_CACHE_CHECK([whether a statically linked program can dlopen itself],
+	  lt_cv_dlopen_self_static, [dnl
+	  _LT_TRY_DLOPEN_SELF(
+	    lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes,
+	    lt_cv_dlopen_self_static=no,  lt_cv_dlopen_self_static=cross)
+      ])
+    fi
+
+    CPPFLAGS="$save_CPPFLAGS"
+    LDFLAGS="$save_LDFLAGS"
+    LIBS="$save_LIBS"
+    ;;
+  esac
+
+  case $lt_cv_dlopen_self in
+  yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
+  *) enable_dlopen_self=unknown ;;
+  esac
+
+  case $lt_cv_dlopen_self_static in
+  yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
+  *) enable_dlopen_self_static=unknown ;;
+  esac
+fi
+_LT_DECL([dlopen_support], [enable_dlopen], [0],
+	 [Whether dlopen is supported])
+_LT_DECL([dlopen_self], [enable_dlopen_self], [0],
+	 [Whether dlopen of programs is supported])
+_LT_DECL([dlopen_self_static], [enable_dlopen_self_static], [0],
+	 [Whether dlopen of statically linked programs is supported])
+])# LT_SYS_DLOPEN_SELF
+
+# Old name:
+AU_ALIAS([AC_LIBTOOL_DLOPEN_SELF], [LT_SYS_DLOPEN_SELF])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], [])
+
+
+# _LT_COMPILER_C_O([TAGNAME])
+# ---------------------------
+# Check to see if options -c and -o are simultaneously supported by compiler.
+# This macro does not hard code the compiler like AC_PROG_CC_C_O.
+m4_defun([_LT_COMPILER_C_O],
+[m4_require([_LT_DECL_SED])dnl
+m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+m4_require([_LT_TAG_COMPILER])dnl
+AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext],
+  [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)],
+  [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no
+   $RM -r conftest 2>/dev/null
+   mkdir conftest
+   cd conftest
+   mkdir out
+   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+
+   lt_compiler_flag="-o out/conftest2.$ac_objext"
+   # Insert the option either (1) after the last *FLAGS variable, or
+   # (2) before a word containing "conftest.", or (3) at the end.
+   # Note that $ac_compile itself does not contain backslashes and begins
+   # with a dollar sign (not a hyphen), so the echo should work correctly.
+   lt_compile=`echo "$ac_compile" | $SED \
+   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+   -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
+   -e 's:$: $lt_compiler_flag:'`
+   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
+   (eval "$lt_compile" 2>out/conftest.err)
+   ac_status=$?
+   cat out/conftest.err >&AS_MESSAGE_LOG_FD
+   echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
+   if (exit $ac_status) && test -s out/conftest2.$ac_objext
+   then
+     # The compiler can only warn and ignore the option if not recognized
+     # So say no if there are warnings
+     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
+     $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
+     if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
+       _LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
+     fi
+   fi
+   chmod u+w . 2>&AS_MESSAGE_LOG_FD
+   $RM conftest*
+   # SGI C++ compiler will create directory out/ii_files/ for
+   # template instantiation
+   test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
+   $RM out/* && rmdir out
+   cd ..
+   $RM -r conftest
+   $RM conftest*
+])
+_LT_TAGDECL([compiler_c_o], [lt_cv_prog_compiler_c_o], [1],
+	[Does compiler simultaneously support -c and -o options?])
+])# _LT_COMPILER_C_O
+
+
+# _LT_COMPILER_FILE_LOCKS([TAGNAME])
+# ----------------------------------
+# Check to see if we can do hard links to lock some files if needed
+m4_defun([_LT_COMPILER_FILE_LOCKS],
+[m4_require([_LT_ENABLE_LOCK])dnl
+m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+_LT_COMPILER_C_O([$1])
+
+hard_links="nottested"
+if test "$_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" != no; then
+  # do not overwrite the value of need_locks provided by the user
+  AC_MSG_CHECKING([if we can lock with hard links])
+  hard_links=yes
+  $RM conftest*
+  ln conftest.a conftest.b 2>/dev/null && hard_links=no
+  touch conftest.a
+  ln conftest.a conftest.b 2>&5 || hard_links=no
+  ln conftest.a conftest.b 2>/dev/null && hard_links=no
+  AC_MSG_RESULT([$hard_links])
+  if test "$hard_links" = no; then
+    AC_MSG_WARN([`$CC' does not support `-c -o', so `make -j' may be unsafe])
+    need_locks=warn
+  fi
+else
+  need_locks=no
+fi
+_LT_DECL([], [need_locks], [1], [Must we lock files when doing compilation?])
+])# _LT_COMPILER_FILE_LOCKS
+
+
+# _LT_CHECK_OBJDIR
+# ----------------
+m4_defun([_LT_CHECK_OBJDIR],
+[AC_CACHE_CHECK([for objdir], [lt_cv_objdir],
+[rm -f .libs 2>/dev/null
+mkdir .libs 2>/dev/null
+if test -d .libs; then
+  lt_cv_objdir=.libs
+else
+  # MS-DOS does not allow filenames that begin with a dot.
+  lt_cv_objdir=_libs
+fi
+rmdir .libs 2>/dev/null])
+objdir=$lt_cv_objdir
+_LT_DECL([], [objdir], [0],
+         [The name of the directory that contains temporary libtool files])dnl
+m4_pattern_allow([LT_OBJDIR])dnl
+AC_DEFINE_UNQUOTED(LT_OBJDIR, "$lt_cv_objdir/",
+  [Define to the sub-directory in which libtool stores uninstalled libraries.])
+])# _LT_CHECK_OBJDIR
+
+
+# _LT_LINKER_HARDCODE_LIBPATH([TAGNAME])
+# --------------------------------------
+# Check hardcoding attributes.
+m4_defun([_LT_LINKER_HARDCODE_LIBPATH],
+[AC_MSG_CHECKING([how to hardcode library paths into programs])
+_LT_TAGVAR(hardcode_action, $1)=
+if test -n "$_LT_TAGVAR(hardcode_libdir_flag_spec, $1)" ||
+   test -n "$_LT_TAGVAR(runpath_var, $1)" ||
+   test "X$_LT_TAGVAR(hardcode_automatic, $1)" = "Xyes" ; then
+
+  # We can hardcode non-existent directories.
+  if test "$_LT_TAGVAR(hardcode_direct, $1)" != no &&
+     # If the only mechanism to avoid hardcoding is shlibpath_var, we
+     # have to relink, otherwise we might link with an installed library
+     # when we should be linking with a yet-to-be-installed one
+     ## test "$_LT_TAGVAR(hardcode_shlibpath_var, $1)" != no &&
+     test "$_LT_TAGVAR(hardcode_minus_L, $1)" != no; then
+    # Linking always hardcodes the temporary library directory.
+    _LT_TAGVAR(hardcode_action, $1)=relink
+  else
+    # We can link without hardcoding, and we can hardcode nonexisting dirs.
+    _LT_TAGVAR(hardcode_action, $1)=immediate
+  fi
+else
+  # We cannot hardcode anything, or else we can only hardcode existing
+  # directories.
+  _LT_TAGVAR(hardcode_action, $1)=unsupported
+fi
+AC_MSG_RESULT([$_LT_TAGVAR(hardcode_action, $1)])
+
+if test "$_LT_TAGVAR(hardcode_action, $1)" = relink ||
+   test "$_LT_TAGVAR(inherit_rpath, $1)" = yes; then
+  # Fast installation is not supported
+  enable_fast_install=no
+elif test "$shlibpath_overrides_runpath" = yes ||
+     test "$enable_shared" = no; then
+  # Fast installation is not necessary
+  enable_fast_install=needless
+fi
+_LT_TAGDECL([], [hardcode_action], [0],
+    [How to hardcode a shared library path into an executable])
+])# _LT_LINKER_HARDCODE_LIBPATH
+
+
+# _LT_CMD_STRIPLIB
+# ----------------
+m4_defun([_LT_CMD_STRIPLIB],
+[m4_require([_LT_DECL_EGREP])
+striplib=
+old_striplib=
+AC_MSG_CHECKING([whether stripping libraries is possible])
+if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then
+  test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
+  test -z "$striplib" && striplib="$STRIP --strip-unneeded"
+  AC_MSG_RESULT([yes])
+else
+# FIXME - insert some real tests, host_os isn't really good enough
+  case $host_os in
+  darwin*)
+    if test -n "$STRIP" ; then
+      striplib="$STRIP -x"
+      old_striplib="$STRIP -S"
+      AC_MSG_RESULT([yes])
+    else
+      AC_MSG_RESULT([no])
+    fi
+    ;;
+  *)
+    AC_MSG_RESULT([no])
+    ;;
+  esac
+fi
+_LT_DECL([], [old_striplib], [1], [Commands to strip libraries])
+_LT_DECL([], [striplib], [1])
+])# _LT_CMD_STRIPLIB
+
+
+# _LT_SYS_DYNAMIC_LINKER([TAG])
+# -----------------------------
+# PORTME Fill in your ld.so characteristics
+m4_defun([_LT_SYS_DYNAMIC_LINKER],
+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
+m4_require([_LT_DECL_EGREP])dnl
+m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+m4_require([_LT_DECL_OBJDUMP])dnl
+m4_require([_LT_DECL_SED])dnl
+m4_require([_LT_CHECK_SHELL_FEATURES])dnl
+AC_MSG_CHECKING([dynamic linker characteristics])
+m4_if([$1],
+	[], [
+if test "$GCC" = yes; then
+  case $host_os in
+    darwin*) lt_awk_arg="/^libraries:/,/LR/" ;;
+    *) lt_awk_arg="/^libraries:/" ;;
+  esac
+  case $host_os in
+    mingw* | cegcc*) lt_sed_strip_eq="s,=\([[A-Za-z]]:\),\1,g" ;;
+    *) lt_sed_strip_eq="s,=/,/,g" ;;
+  esac
+  lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq`
+  case $lt_search_path_spec in
+  *\;*)
+    # if the path contains ";" then we assume it to be the separator
+    # otherwise default to the standard path separator (i.e. ":") - it is
+    # assumed that no part of a normal pathname contains ";" but that should
+    # okay in the real world where ";" in dirpaths is itself problematic.
+    lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'`
+    ;;
+  *)
+    lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"`
+    ;;
+  esac
+  # Ok, now we have the path, separated by spaces, we can step through it
+  # and add multilib dir if necessary.
+  lt_tmp_lt_search_path_spec=
+  lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
+  for lt_sys_path in $lt_search_path_spec; do
+    if test -d "$lt_sys_path/$lt_multi_os_dir"; then
+      lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir"
+    else
+      test -d "$lt_sys_path" && \
+	lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
+    fi
+  done
+  lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk '
+BEGIN {RS=" "; FS="/|\n";} {
+  lt_foo="";
+  lt_count=0;
+  for (lt_i = NF; lt_i > 0; lt_i--) {
+    if ($lt_i != "" && $lt_i != ".") {
+      if ($lt_i == "..") {
+        lt_count++;
+      } else {
+        if (lt_count == 0) {
+          lt_foo="/" $lt_i lt_foo;
+        } else {
+          lt_count--;
+        }
+      }
+    }
+  }
+  if (lt_foo != "") { lt_freq[[lt_foo]]++; }
+  if (lt_freq[[lt_foo]] == 1) { print lt_foo; }
+}'`
+  # AWK program above erroneously prepends '/' to C:/dos/paths
+  # for these hosts.
+  case $host_os in
+    mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\
+      $SED 's,/\([[A-Za-z]]:\),\1,g'` ;;
+  esac
+  sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP`
+else
+  sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
+fi])
+library_names_spec=
+libname_spec='lib$name'
+soname_spec=
+shrext_cmds=".so"
+postinstall_cmds=
+postuninstall_cmds=
+finish_cmds=
+finish_eval=
+shlibpath_var=
+shlibpath_overrides_runpath=unknown
+version_type=none
+dynamic_linker="$host_os ld.so"
+sys_lib_dlsearch_path_spec="/lib /usr/lib"
+need_lib_prefix=unknown
+hardcode_into_libs=no
+
+# when you set need_version to no, make sure it does not cause -set_version
+# flags to be left without arguments
+need_version=unknown
+
+case $host_os in
+aix3*)
+  version_type=linux # correct to gnu/linux during the next big refactor
+  library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
+  shlibpath_var=LIBPATH
+
+  # AIX 3 has no versioning support, so we append a major version to the name.
+  soname_spec='${libname}${release}${shared_ext}$major'
+  ;;
+
+aix[[4-9]]*)
+  version_type=linux # correct to gnu/linux during the next big refactor
+  need_lib_prefix=no
+  need_version=no
+  hardcode_into_libs=yes
+  if test "$host_cpu" = ia64; then
+    # AIX 5 supports IA64
+    library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
+    shlibpath_var=LD_LIBRARY_PATH
+  else
+    # With GCC up to 2.95.x, collect2 would create an import file
+    # for dependence libraries.  The import file would start with
+    # the line `#! .'.  This would cause the generated library to
+    # depend on `.', always an invalid library.  This was fixed in
+    # development snapshots of GCC prior to 3.0.
+    case $host_os in
+      aix4 | aix4.[[01]] | aix4.[[01]].*)
+      if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
+	   echo ' yes '
+	   echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then
+	:
+      else
+	can_build_shared=no
+      fi
+      ;;
+    esac
+    # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
+    # soname into executable. Probably we can add versioning support to
+    # collect2, so additional links can be useful in future.
+    if test "$aix_use_runtimelinking" = yes; then
+      # If using run time linking (on AIX 4.2 or later) use lib<name>.so
+      # instead of lib<name>.a to let people know that these are not
+      # typical AIX shared libraries.
+      library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+    else
+      # We preserve .a as extension for shared libraries through AIX4.2
+      # and later when we are not doing run time linking.
+      library_names_spec='${libname}${release}.a $libname.a'
+      soname_spec='${libname}${release}${shared_ext}$major'
+    fi
+    shlibpath_var=LIBPATH
+  fi
+  ;;
+
+amigaos*)
+  case $host_cpu in
+  powerpc)
+    # Since July 2007 AmigaOS4 officially supports .so libraries.
+    # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
+    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+    ;;
+  m68k)
+    library_names_spec='$libname.ixlibrary $libname.a'
+    # Create ${libname}_ixlibrary.a entries in /sys/libs.
+    finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
+    ;;
+  esac
+  ;;
+
+beos*)
+  library_names_spec='${libname}${shared_ext}'
+  dynamic_linker="$host_os ld.so"
+  shlibpath_var=LIBRARY_PATH
+  ;;
+
+bsdi[[45]]*)
+  version_type=linux # correct to gnu/linux during the next big refactor
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
+  shlibpath_var=LD_LIBRARY_PATH
+  sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
+  sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
+  # the default ld.so.conf also contains /usr/contrib/lib and
+  # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
+  # libtool to hard-code these into programs
+  ;;
+
+cygwin* | mingw* | pw32* | cegcc*)
+  version_type=windows
+  shrext_cmds=".dll"
+  need_version=no
+  need_lib_prefix=no
+
+  case $GCC,$cc_basename in
+  yes,*)
+    # gcc
+    library_names_spec='$libname.dll.a'
+    # DLL is installed to $(libdir)/../bin by postinstall_cmds
+    postinstall_cmds='base_file=`basename \${file}`~
+      dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
+      dldir=$destdir/`dirname \$dlpath`~
+      test -d \$dldir || mkdir -p \$dldir~
+      $install_prog $dir/$dlname \$dldir/$dlname~
+      chmod a+x \$dldir/$dlname~
+      if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
+        eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
+      fi'
+    postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
+      dlpath=$dir/\$dldll~
+       $RM \$dlpath'
+    shlibpath_overrides_runpath=yes
+
+    case $host_os in
+    cygwin*)
+      # Cygwin DLLs use 'cyg' prefix rather than 'lib'
+      soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
+m4_if([$1], [],[
+      sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"])
+      ;;
+    mingw* | cegcc*)
+      # MinGW DLLs use traditional 'lib' prefix
+      soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
+      ;;
+    pw32*)
+      # pw32 DLLs use 'pw' prefix rather than 'lib'
+      library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
+      ;;
+    esac
+    dynamic_linker='Win32 ld.exe'
+    ;;
+
+  *,cl*)
+    # Native MSVC
+    libname_spec='$name'
+    soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
+    library_names_spec='${libname}.dll.lib'
+
+    case $build_os in
+    mingw*)
+      sys_lib_search_path_spec=
+      lt_save_ifs=$IFS
+      IFS=';'
+      for lt_path in $LIB
+      do
+        IFS=$lt_save_ifs
+        # Let DOS variable expansion print the short 8.3 style file name.
+        lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"`
+        sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path"
+      done
+      IFS=$lt_save_ifs
+      # Convert to MSYS style.
+      sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([[a-zA-Z]]\\):| /\\1|g' -e 's|^ ||'`
+      ;;
+    cygwin*)
+      # Convert to unix form, then to dos form, then back to unix form
+      # but this time dos style (no spaces!) so that the unix form looks
+      # like /cygdrive/c/PROGRA~1:/cygdr...
+      sys_lib_search_path_spec=`cygpath --path --unix "$LIB"`
+      sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null`
+      sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
+      ;;
+    *)
+      sys_lib_search_path_spec="$LIB"
+      if $ECHO "$sys_lib_search_path_spec" | [$GREP ';[c-zC-Z]:/' >/dev/null]; then
+        # It is most probably a Windows format PATH.
+        sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
+      else
+        sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
+      fi
+      # FIXME: find the short name or the path components, as spaces are
+      # common. (e.g. "Program Files" -> "PROGRA~1")
+      ;;
+    esac
+
+    # DLL is installed to $(libdir)/../bin by postinstall_cmds
+    postinstall_cmds='base_file=`basename \${file}`~
+      dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
+      dldir=$destdir/`dirname \$dlpath`~
+      test -d \$dldir || mkdir -p \$dldir~
+      $install_prog $dir/$dlname \$dldir/$dlname'
+    postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
+      dlpath=$dir/\$dldll~
+       $RM \$dlpath'
+    shlibpath_overrides_runpath=yes
+    dynamic_linker='Win32 link.exe'
+    ;;
+
+  *)
+    # Assume MSVC wrapper
+    library_names_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext} $libname.lib'
+    dynamic_linker='Win32 ld.exe'
+    ;;
+  esac
+  # FIXME: first we should search . and the directory the executable is in
+  shlibpath_var=PATH
+  ;;
+
+darwin* | rhapsody*)
+  dynamic_linker="$host_os dyld"
+  version_type=darwin
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext'
+  soname_spec='${libname}${release}${major}$shared_ext'
+  shlibpath_overrides_runpath=yes
+  shlibpath_var=DYLD_LIBRARY_PATH
+  shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
+m4_if([$1], [],[
+  sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"])
+  sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
+  ;;
+
+dgux*)
+  version_type=linux # correct to gnu/linux during the next big refactor
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  ;;
+
+freebsd* | dragonfly*)
+  # DragonFly does not have aout.  When/if they implement a new
+  # versioning mechanism, adjust this.
+  if test -x /usr/bin/objformat; then
+    objformat=`/usr/bin/objformat`
+  else
+    case $host_os in
+    freebsd[[23]].*) objformat=aout ;;
+    *) objformat=elf ;;
+    esac
+  fi
+  version_type=freebsd-$objformat
+  case $version_type in
+    freebsd-elf*)
+      library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
+      need_version=no
+      need_lib_prefix=no
+      ;;
+    freebsd-*)
+      library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
+      need_version=yes
+      ;;
+  esac
+  shlibpath_var=LD_LIBRARY_PATH
+  case $host_os in
+  freebsd2.*)
+    shlibpath_overrides_runpath=yes
+    ;;
+  freebsd3.[[01]]* | freebsdelf3.[[01]]*)
+    shlibpath_overrides_runpath=yes
+    hardcode_into_libs=yes
+    ;;
+  freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \
+  freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1)
+    shlibpath_overrides_runpath=no
+    hardcode_into_libs=yes
+    ;;
+  *) # from 4.6 on, and DragonFly
+    shlibpath_overrides_runpath=yes
+    hardcode_into_libs=yes
+    ;;
+  esac
+  ;;
+
+gnu*)
+  version_type=linux # correct to gnu/linux during the next big refactor
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  hardcode_into_libs=yes
+  ;;
+
+haiku*)
+  version_type=linux # correct to gnu/linux during the next big refactor
+  need_lib_prefix=no
+  need_version=no
+  dynamic_linker="$host_os runtime_loader"
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib'
+  hardcode_into_libs=yes
+  ;;
+
+hpux9* | hpux10* | hpux11*)
+  # Give a soname corresponding to the major version so that dld.sl refuses to
+  # link against other versions.
+  version_type=sunos
+  need_lib_prefix=no
+  need_version=no
+  case $host_cpu in
+  ia64*)
+    shrext_cmds='.so'
+    hardcode_into_libs=yes
+    dynamic_linker="$host_os dld.so"
+    shlibpath_var=LD_LIBRARY_PATH
+    shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
+    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+    soname_spec='${libname}${release}${shared_ext}$major'
+    if test "X$HPUX_IA64_MODE" = X32; then
+      sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
+    else
+      sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
+    fi
+    sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+    ;;
+  hppa*64*)
+    shrext_cmds='.sl'
+    hardcode_into_libs=yes
+    dynamic_linker="$host_os dld.sl"
+    shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
+    shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
+    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+    soname_spec='${libname}${release}${shared_ext}$major'
+    sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
+    sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+    ;;
+  *)
+    shrext_cmds='.sl'
+    dynamic_linker="$host_os dld.sl"
+    shlibpath_var=SHLIB_PATH
+    shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
+    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+    soname_spec='${libname}${release}${shared_ext}$major'
+    ;;
+  esac
+  # HP-UX runs *really* slowly unless shared libraries are mode 555, ...
+  postinstall_cmds='chmod 555 $lib'
+  # or fails outright, so override atomically:
+  install_override_mode=555
+  ;;
+
+interix[[3-9]]*)
+  version_type=linux # correct to gnu/linux during the next big refactor
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  hardcode_into_libs=yes
+  ;;
+
+irix5* | irix6* | nonstopux*)
+  case $host_os in
+    nonstopux*) version_type=nonstopux ;;
+    *)
+	if test "$lt_cv_prog_gnu_ld" = yes; then
+		version_type=linux # correct to gnu/linux during the next big refactor
+	else
+		version_type=irix
+	fi ;;
+  esac
+  need_lib_prefix=no
+  need_version=no
+  soname_spec='${libname}${release}${shared_ext}$major'
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
+  case $host_os in
+  irix5* | nonstopux*)
+    libsuff= shlibsuff=
+    ;;
+  *)
+    case $LD in # libtool.m4 will add one of these switches to LD
+    *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
+      libsuff= shlibsuff= libmagic=32-bit;;
+    *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
+      libsuff=32 shlibsuff=N32 libmagic=N32;;
+    *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
+      libsuff=64 shlibsuff=64 libmagic=64-bit;;
+    *) libsuff= shlibsuff= libmagic=never-match;;
+    esac
+    ;;
+  esac
+  shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
+  shlibpath_overrides_runpath=no
+  sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
+  sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
+  hardcode_into_libs=yes
+  ;;
+
+# No shared lib support for Linux oldld, aout, or coff.
+linux*oldld* | linux*aout* | linux*coff*)
+  dynamic_linker=no
+  ;;
+
+# This must be glibc/ELF.
+linux* | k*bsd*-gnu | kopensolaris*-gnu)
+  version_type=linux # correct to gnu/linux during the next big refactor
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+
+  # Some binutils ld are patched to set DT_RUNPATH
+  AC_CACHE_VAL([lt_cv_shlibpath_overrides_runpath],
+    [lt_cv_shlibpath_overrides_runpath=no
+    save_LDFLAGS=$LDFLAGS
+    save_libdir=$libdir
+    eval "libdir=/foo; wl=\"$_LT_TAGVAR(lt_prog_compiler_wl, $1)\"; \
+	 LDFLAGS=\"\$LDFLAGS $_LT_TAGVAR(hardcode_libdir_flag_spec, $1)\""
+    AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
+      [AS_IF([ ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null],
+	 [lt_cv_shlibpath_overrides_runpath=yes])])
+    LDFLAGS=$save_LDFLAGS
+    libdir=$save_libdir
+    ])
+  shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath
+
+  # This implies no fast_install, which is unacceptable.
+  # Some rework will be needed to allow for fast_install
+  # before this can be enabled.
+  hardcode_into_libs=yes
+
+  # Append ld.so.conf contents to the search path
+  if test -f /etc/ld.so.conf; then
+    lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[	 ]*hwcap[	 ]/d;s/[:,	]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '`
+    sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
+  fi
+
+  # We used to test for /lib/ld.so.1 and disable shared libraries on
+  # powerpc, because MkLinux only supported shared libraries with the
+  # GNU dynamic linker.  Since this was broken with cross compilers,
+  # most powerpc-linux boxes support dynamic linking these days and
+  # people can always --disable-shared, the test was removed, and we
+  # assume the GNU/Linux dynamic linker is in use.
+  dynamic_linker='GNU/Linux ld.so'
+  ;;
+
+netbsd*)
+  version_type=sunos
+  need_lib_prefix=no
+  need_version=no
+  if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
+    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+    finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+    dynamic_linker='NetBSD (a.out) ld.so'
+  else
+    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+    soname_spec='${libname}${release}${shared_ext}$major'
+    dynamic_linker='NetBSD ld.elf_so'
+  fi
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  hardcode_into_libs=yes
+  ;;
+
+newsos6)
+  version_type=linux # correct to gnu/linux during the next big refactor
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  ;;
+
+*nto* | *qnx*)
+  version_type=qnx
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  hardcode_into_libs=yes
+  dynamic_linker='ldqnx.so'
+  ;;
+
+openbsd*)
+  version_type=sunos
+  sys_lib_dlsearch_path_spec="/usr/lib"
+  need_lib_prefix=no
+  # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
+  case $host_os in
+    openbsd3.3 | openbsd3.3.*)	need_version=yes ;;
+    *)				need_version=no  ;;
+  esac
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+  finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+  shlibpath_var=LD_LIBRARY_PATH
+  if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+    case $host_os in
+      openbsd2.[[89]] | openbsd2.[[89]].*)
+	shlibpath_overrides_runpath=no
+	;;
+      *)
+	shlibpath_overrides_runpath=yes
+	;;
+      esac
+  else
+    shlibpath_overrides_runpath=yes
+  fi
+  ;;
+
+os2*)
+  libname_spec='$name'
+  shrext_cmds=".dll"
+  need_lib_prefix=no
+  library_names_spec='$libname${shared_ext} $libname.a'
+  dynamic_linker='OS/2 ld.exe'
+  shlibpath_var=LIBPATH
+  ;;
+
+osf3* | osf4* | osf5*)
+  version_type=osf
+  need_lib_prefix=no
+  need_version=no
+  soname_spec='${libname}${release}${shared_ext}$major'
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  shlibpath_var=LD_LIBRARY_PATH
+  sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
+  sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
+  ;;
+
+rdos*)
+  dynamic_linker=no
+  ;;
+
+solaris*)
+  version_type=linux # correct to gnu/linux during the next big refactor
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  hardcode_into_libs=yes
+  # ldd complains unless libraries are executable
+  postinstall_cmds='chmod +x $lib'
+  ;;
+
+sunos4*)
+  version_type=sunos
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+  finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  if test "$with_gnu_ld" = yes; then
+    need_lib_prefix=no
+  fi
+  need_version=yes
+  ;;
+
+sysv4 | sysv4.3*)
+  version_type=linux # correct to gnu/linux during the next big refactor
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  case $host_vendor in
+    sni)
+      shlibpath_overrides_runpath=no
+      need_lib_prefix=no
+      runpath_var=LD_RUN_PATH
+      ;;
+    siemens)
+      need_lib_prefix=no
+      ;;
+    motorola)
+      need_lib_prefix=no
+      need_version=no
+      shlibpath_overrides_runpath=no
+      sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
+      ;;
+  esac
+  ;;
+
+sysv4*MP*)
+  if test -d /usr/nec ;then
+    version_type=linux # correct to gnu/linux during the next big refactor
+    library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
+    soname_spec='$libname${shared_ext}.$major'
+    shlibpath_var=LD_LIBRARY_PATH
+  fi
+  ;;
+
+sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
+  version_type=freebsd-elf
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  hardcode_into_libs=yes
+  if test "$with_gnu_ld" = yes; then
+    sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
+  else
+    sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
+    case $host_os in
+      sco3.2v5*)
+        sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
+	;;
+    esac
+  fi
+  sys_lib_dlsearch_path_spec='/usr/lib'
+  ;;
+
+tpf*)
+  # TPF is a cross-target only.  Preferred cross-host = GNU/Linux.
+  version_type=linux # correct to gnu/linux during the next big refactor
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  hardcode_into_libs=yes
+  ;;
+
+uts4*)
+  version_type=linux # correct to gnu/linux during the next big refactor
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  ;;
+
+*)
+  dynamic_linker=no
+  ;;
+esac
+AC_MSG_RESULT([$dynamic_linker])
+test "$dynamic_linker" = no && can_build_shared=no
+
+variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
+if test "$GCC" = yes; then
+  variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
+fi
+
+if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
+  sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
+fi
+if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then
+  sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
+fi
+
+_LT_DECL([], [variables_saved_for_relink], [1],
+    [Variables whose values should be saved in libtool wrapper scripts and
+    restored at link time])
+_LT_DECL([], [need_lib_prefix], [0],
+    [Do we need the "lib" prefix for modules?])
+_LT_DECL([], [need_version], [0], [Do we need a version for libraries?])
+_LT_DECL([], [version_type], [0], [Library versioning type])
+_LT_DECL([], [runpath_var], [0],  [Shared library runtime path variable])
+_LT_DECL([], [shlibpath_var], [0],[Shared library path variable])
+_LT_DECL([], [shlibpath_overrides_runpath], [0],
+    [Is shlibpath searched before the hard-coded library search path?])
+_LT_DECL([], [libname_spec], [1], [Format of library name prefix])
+_LT_DECL([], [library_names_spec], [1],
+    [[List of archive names.  First name is the real one, the rest are links.
+    The last name is the one that the linker finds with -lNAME]])
+_LT_DECL([], [soname_spec], [1],
+    [[The coded name of the library, if different from the real name]])
+_LT_DECL([], [install_override_mode], [1],
+    [Permission mode override for installation of shared libraries])
+_LT_DECL([], [postinstall_cmds], [2],
+    [Command to use after installation of a shared archive])
+_LT_DECL([], [postuninstall_cmds], [2],
+    [Command to use after uninstallation of a shared archive])
+_LT_DECL([], [finish_cmds], [2],
+    [Commands used to finish a libtool library installation in a directory])
+_LT_DECL([], [finish_eval], [1],
+    [[As "finish_cmds", except a single script fragment to be evaled but
+    not shown]])
+_LT_DECL([], [hardcode_into_libs], [0],
+    [Whether we should hardcode library paths into libraries])
+_LT_DECL([], [sys_lib_search_path_spec], [2],
+    [Compile-time system search path for libraries])
+_LT_DECL([], [sys_lib_dlsearch_path_spec], [2],
+    [Run-time system search path for libraries])
+])# _LT_SYS_DYNAMIC_LINKER
+
+
+# _LT_PATH_TOOL_PREFIX(TOOL)
+# --------------------------
+# find a file program which can recognize shared library
+AC_DEFUN([_LT_PATH_TOOL_PREFIX],
+[m4_require([_LT_DECL_EGREP])dnl
+AC_MSG_CHECKING([for $1])
+AC_CACHE_VAL(lt_cv_path_MAGIC_CMD,
+[case $MAGIC_CMD in
+[[\\/*] |  ?:[\\/]*])
+  lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
+  ;;
+*)
+  lt_save_MAGIC_CMD="$MAGIC_CMD"
+  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+dnl $ac_dummy forces splitting on constant user-supplied paths.
+dnl POSIX.2 word splitting is done only on the output of word expansions,
+dnl not every word.  This closes a longstanding sh security hole.
+  ac_dummy="m4_if([$2], , $PATH, [$2])"
+  for ac_dir in $ac_dummy; do
+    IFS="$lt_save_ifs"
+    test -z "$ac_dir" && ac_dir=.
+    if test -f $ac_dir/$1; then
+      lt_cv_path_MAGIC_CMD="$ac_dir/$1"
+      if test -n "$file_magic_test_file"; then
+	case $deplibs_check_method in
+	"file_magic "*)
+	  file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
+	  MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+	  if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
+	    $EGREP "$file_magic_regex" > /dev/null; then
+	    :
+	  else
+	    cat <<_LT_EOF 1>&2
+
+*** Warning: the command libtool uses to detect shared libraries,
+*** $file_magic_cmd, produces output that libtool cannot recognize.
+*** The result is that libtool may fail to recognize shared libraries
+*** as such.  This will affect the creation of libtool libraries that
+*** depend on shared libraries, but programs linked with such libtool
+*** libraries will work regardless of this problem.  Nevertheless, you
+*** may want to report the problem to your system manager and/or to
+*** bug-libtool@gnu.org
+
+_LT_EOF
+	  fi ;;
+	esac
+      fi
+      break
+    fi
+  done
+  IFS="$lt_save_ifs"
+  MAGIC_CMD="$lt_save_MAGIC_CMD"
+  ;;
+esac])
+MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+if test -n "$MAGIC_CMD"; then
+  AC_MSG_RESULT($MAGIC_CMD)
+else
+  AC_MSG_RESULT(no)
+fi
+_LT_DECL([], [MAGIC_CMD], [0],
+	 [Used to examine libraries when file_magic_cmd begins with "file"])dnl
+])# _LT_PATH_TOOL_PREFIX
+
+# Old name:
+AU_ALIAS([AC_PATH_TOOL_PREFIX], [_LT_PATH_TOOL_PREFIX])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_PATH_TOOL_PREFIX], [])
+
+
+# _LT_PATH_MAGIC
+# --------------
+# find a file program which can recognize a shared library
+m4_defun([_LT_PATH_MAGIC],
+[_LT_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH)
+if test -z "$lt_cv_path_MAGIC_CMD"; then
+  if test -n "$ac_tool_prefix"; then
+    _LT_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH)
+  else
+    MAGIC_CMD=:
+  fi
+fi
+])# _LT_PATH_MAGIC
+
+
+# LT_PATH_LD
+# ----------
+# find the pathname to the GNU or non-GNU linker
+AC_DEFUN([LT_PATH_LD],
+[AC_REQUIRE([AC_PROG_CC])dnl
+AC_REQUIRE([AC_CANONICAL_HOST])dnl
+AC_REQUIRE([AC_CANONICAL_BUILD])dnl
+m4_require([_LT_DECL_SED])dnl
+m4_require([_LT_DECL_EGREP])dnl
+m4_require([_LT_PROG_ECHO_BACKSLASH])dnl
+
+AC_ARG_WITH([gnu-ld],
+    [AS_HELP_STRING([--with-gnu-ld],
+	[assume the C compiler uses GNU ld @<:@default=no@:>@])],
+    [test "$withval" = no || with_gnu_ld=yes],
+    [with_gnu_ld=no])dnl
+
+ac_prog=ld
+if test "$GCC" = yes; then
+  # Check if gcc -print-prog-name=ld gives a path.
+  AC_MSG_CHECKING([for ld used by $CC])
+  case $host in
+  *-*-mingw*)
+    # gcc leaves a trailing carriage return which upsets mingw
+    ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
+  *)
+    ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
+  esac
+  case $ac_prog in
+    # Accept absolute paths.
+    [[\\/]]* | ?:[[\\/]]*)
+      re_direlt='/[[^/]][[^/]]*/\.\./'
+      # Canonicalize the pathname of ld
+      ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`
+      while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
+	ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
+      done
+      test -z "$LD" && LD="$ac_prog"
+      ;;
+  "")
+    # If it fails, then pretend we aren't using GCC.
+    ac_prog=ld
+    ;;
+  *)
+    # If it is relative, then search for the first ld in PATH.
+    with_gnu_ld=unknown
+    ;;
+  esac
+elif test "$with_gnu_ld" = yes; then
+  AC_MSG_CHECKING([for GNU ld])
+else
+  AC_MSG_CHECKING([for non-GNU ld])
+fi
+AC_CACHE_VAL(lt_cv_path_LD,
+[if test -z "$LD"; then
+  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+  for ac_dir in $PATH; do
+    IFS="$lt_save_ifs"
+    test -z "$ac_dir" && ac_dir=.
+    if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
+      lt_cv_path_LD="$ac_dir/$ac_prog"
+      # Check to see if the program is GNU ld.  I'd rather use --version,
+      # but apparently some variants of GNU ld only accept -v.
+      # Break only if it was the GNU/non-GNU ld that we prefer.
+      case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
+      *GNU* | *'with BFD'*)
+	test "$with_gnu_ld" != no && break
+	;;
+      *)
+	test "$with_gnu_ld" != yes && break
+	;;
+      esac
+    fi
+  done
+  IFS="$lt_save_ifs"
+else
+  lt_cv_path_LD="$LD" # Let the user override the test with a path.
+fi])
+LD="$lt_cv_path_LD"
+if test -n "$LD"; then
+  AC_MSG_RESULT($LD)
+else
+  AC_MSG_RESULT(no)
+fi
+test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
+_LT_PATH_LD_GNU
+AC_SUBST([LD])
+
+_LT_TAGDECL([], [LD], [1], [The linker used to build libraries])
+])# LT_PATH_LD
+
+# Old names:
+AU_ALIAS([AM_PROG_LD], [LT_PATH_LD])
+AU_ALIAS([AC_PROG_LD], [LT_PATH_LD])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AM_PROG_LD], [])
+dnl AC_DEFUN([AC_PROG_LD], [])
+
+
+# _LT_PATH_LD_GNU
+#- --------------
+m4_defun([_LT_PATH_LD_GNU],
+[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], lt_cv_prog_gnu_ld,
+[# I'd rather use --version here, but apparently some GNU lds only accept -v.
+case `$LD -v 2>&1 </dev/null` in
+*GNU* | *'with BFD'*)
+  lt_cv_prog_gnu_ld=yes
+  ;;
+*)
+  lt_cv_prog_gnu_ld=no
+  ;;
+esac])
+with_gnu_ld=$lt_cv_prog_gnu_ld
+])# _LT_PATH_LD_GNU
+
+
+# _LT_CMD_RELOAD
+# --------------
+# find reload flag for linker
+#   -- PORTME Some linkers may need a different reload flag.
+m4_defun([_LT_CMD_RELOAD],
+[AC_CACHE_CHECK([for $LD option to reload object files],
+  lt_cv_ld_reload_flag,
+  [lt_cv_ld_reload_flag='-r'])
+reload_flag=$lt_cv_ld_reload_flag
+case $reload_flag in
+"" | " "*) ;;
+*) reload_flag=" $reload_flag" ;;
+esac
+reload_cmds='$LD$reload_flag -o $output$reload_objs'
+case $host_os in
+  cygwin* | mingw* | pw32* | cegcc*)
+    if test "$GCC" != yes; then
+      reload_cmds=false
+    fi
+    ;;
+  darwin*)
+    if test "$GCC" = yes; then
+      reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
+    else
+      reload_cmds='$LD$reload_flag -o $output$reload_objs'
+    fi
+    ;;
+esac
+_LT_TAGDECL([], [reload_flag], [1], [How to create reloadable object files])dnl
+_LT_TAGDECL([], [reload_cmds], [2])dnl
+])# _LT_CMD_RELOAD
+
+
+# _LT_CHECK_MAGIC_METHOD
+# ----------------------
+# how to check for library dependencies
+#  -- PORTME fill in with the dynamic library characteristics
+m4_defun([_LT_CHECK_MAGIC_METHOD],
+[m4_require([_LT_DECL_EGREP])
+m4_require([_LT_DECL_OBJDUMP])
+AC_CACHE_CHECK([how to recognize dependent libraries],
+lt_cv_deplibs_check_method,
+[lt_cv_file_magic_cmd='$MAGIC_CMD'
+lt_cv_file_magic_test_file=
+lt_cv_deplibs_check_method='unknown'
+# Need to set the preceding variable on all platforms that support
+# interlibrary dependencies.
+# 'none' -- dependencies not supported.
+# `unknown' -- same as none, but documents that we really don't know.
+# 'pass_all' -- all dependencies passed with no checks.
+# 'test_compile' -- check by making test program.
+# 'file_magic [[regex]]' -- check by looking for files in library path
+# which responds to the $file_magic_cmd with a given extended regex.
+# If you have `file' or equivalent on your system and you're not sure
+# whether `pass_all' will *always* work, you probably want this one.
+
+case $host_os in
+aix[[4-9]]*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+beos*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+bsdi[[45]]*)
+  lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib)'
+  lt_cv_file_magic_cmd='/usr/bin/file -L'
+  lt_cv_file_magic_test_file=/shlib/libc.so
+  ;;
+
+cygwin*)
+  # func_win32_libid is a shell function defined in ltmain.sh
+  lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
+  lt_cv_file_magic_cmd='func_win32_libid'
+  ;;
+
+mingw* | pw32*)
+  # Base MSYS/MinGW do not provide the 'file' command needed by
+  # func_win32_libid shell function, so use a weaker test based on 'objdump',
+  # unless we find 'file', for example because we are cross-compiling.
+  # func_win32_libid assumes BSD nm, so disallow it if using MS dumpbin.
+  if ( test "$lt_cv_nm_interface" = "BSD nm" && file / ) >/dev/null 2>&1; then
+    lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
+    lt_cv_file_magic_cmd='func_win32_libid'
+  else
+    # Keep this pattern in sync with the one in func_win32_libid.
+    lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)'
+    lt_cv_file_magic_cmd='$OBJDUMP -f'
+  fi
+  ;;
+
+cegcc*)
+  # use the weaker test based on 'objdump'. See mingw*.
+  lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?'
+  lt_cv_file_magic_cmd='$OBJDUMP -f'
+  ;;
+
+darwin* | rhapsody*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+freebsd* | dragonfly*)
+  if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
+    case $host_cpu in
+    i*86 )
+      # Not sure whether the presence of OpenBSD here was a mistake.
+      # Let's accept both of them until this is cleared up.
+      lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library'
+      lt_cv_file_magic_cmd=/usr/bin/file
+      lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
+      ;;
+    esac
+  else
+    lt_cv_deplibs_check_method=pass_all
+  fi
+  ;;
+
+gnu*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+haiku*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+hpux10.20* | hpux11*)
+  lt_cv_file_magic_cmd=/usr/bin/file
+  case $host_cpu in
+  ia64*)
+    lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64'
+    lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
+    ;;
+  hppa*64*)
+    [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF[ -][0-9][0-9])(-bit)?( [LM]SB)? shared object( file)?[, -]* PA-RISC [0-9]\.[0-9]']
+    lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
+    ;;
+  *)
+    lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]]\.[[0-9]]) shared library'
+    lt_cv_file_magic_test_file=/usr/lib/libc.sl
+    ;;
+  esac
+  ;;
+
+interix[[3-9]]*)
+  # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
+  lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$'
+  ;;
+
+irix5* | irix6* | nonstopux*)
+  case $LD in
+  *-32|*"-32 ") libmagic=32-bit;;
+  *-n32|*"-n32 ") libmagic=N32;;
+  *-64|*"-64 ") libmagic=64-bit;;
+  *) libmagic=never-match;;
+  esac
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+# This must be glibc/ELF.
+linux* | k*bsd*-gnu | kopensolaris*-gnu)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+netbsd*)
+  if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
+    lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
+  else
+    lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$'
+  fi
+  ;;
+
+newos6*)
+  lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)'
+  lt_cv_file_magic_cmd=/usr/bin/file
+  lt_cv_file_magic_test_file=/usr/lib/libnls.so
+  ;;
+
+*nto* | *qnx*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+openbsd*)
+  if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+    lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$'
+  else
+    lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
+  fi
+  ;;
+
+osf3* | osf4* | osf5*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+rdos*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+solaris*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+sysv4 | sysv4.3*)
+  case $host_vendor in
+  motorola)
+    lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib) M[[0-9]][[0-9]]* Version [[0-9]]'
+    lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
+    ;;
+  ncr)
+    lt_cv_deplibs_check_method=pass_all
+    ;;
+  sequent)
+    lt_cv_file_magic_cmd='/bin/file'
+    lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )'
+    ;;
+  sni)
+    lt_cv_file_magic_cmd='/bin/file'
+    lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib"
+    lt_cv_file_magic_test_file=/lib/libc.so
+    ;;
+  siemens)
+    lt_cv_deplibs_check_method=pass_all
+    ;;
+  pc)
+    lt_cv_deplibs_check_method=pass_all
+    ;;
+  esac
+  ;;
+
+tpf*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+esac
+])
+
+file_magic_glob=
+want_nocaseglob=no
+if test "$build" = "$host"; then
+  case $host_os in
+  mingw* | pw32*)
+    if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then
+      want_nocaseglob=yes
+    else
+      file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[[\1]]\/[[\1]]\/g;/g"`
+    fi
+    ;;
+  esac
+fi
+
+file_magic_cmd=$lt_cv_file_magic_cmd
+deplibs_check_method=$lt_cv_deplibs_check_method
+test -z "$deplibs_check_method" && deplibs_check_method=unknown
+
+_LT_DECL([], [deplibs_check_method], [1],
+    [Method to check whether dependent libraries are shared objects])
+_LT_DECL([], [file_magic_cmd], [1],
+    [Command to use when deplibs_check_method = "file_magic"])
+_LT_DECL([], [file_magic_glob], [1],
+    [How to find potential files when deplibs_check_method = "file_magic"])
+_LT_DECL([], [want_nocaseglob], [1],
+    [Find potential files using nocaseglob when deplibs_check_method = "file_magic"])
+])# _LT_CHECK_MAGIC_METHOD
+
+
+# LT_PATH_NM
+# ----------
+# find the pathname to a BSD- or MS-compatible name lister
+AC_DEFUN([LT_PATH_NM],
+[AC_REQUIRE([AC_PROG_CC])dnl
+AC_CACHE_CHECK([for BSD- or MS-compatible name lister (nm)], lt_cv_path_NM,
+[if test -n "$NM"; then
+  # Let the user override the test.
+  lt_cv_path_NM="$NM"
+else
+  lt_nm_to_check="${ac_tool_prefix}nm"
+  if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
+    lt_nm_to_check="$lt_nm_to_check nm"
+  fi
+  for lt_tmp_nm in $lt_nm_to_check; do
+    lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+    for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
+      IFS="$lt_save_ifs"
+      test -z "$ac_dir" && ac_dir=.
+      tmp_nm="$ac_dir/$lt_tmp_nm"
+      if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then
+	# Check to see if the nm accepts a BSD-compat flag.
+	# Adding the `sed 1q' prevents false positives on HP-UX, which says:
+	#   nm: unknown option "B" ignored
+	# Tru64's nm complains that /dev/null is an invalid object file
+	case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in
+	*/dev/null* | *'Invalid file or object type'*)
+	  lt_cv_path_NM="$tmp_nm -B"
+	  break
+	  ;;
+	*)
+	  case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
+	  */dev/null*)
+	    lt_cv_path_NM="$tmp_nm -p"
+	    break
+	    ;;
+	  *)
+	    lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
+	    continue # so that we can try to find one that supports BSD flags
+	    ;;
+	  esac
+	  ;;
+	esac
+      fi
+    done
+    IFS="$lt_save_ifs"
+  done
+  : ${lt_cv_path_NM=no}
+fi])
+if test "$lt_cv_path_NM" != "no"; then
+  NM="$lt_cv_path_NM"
+else
+  # Didn't find any BSD compatible name lister, look for dumpbin.
+  if test -n "$DUMPBIN"; then :
+    # Let the user override the test.
+  else
+    AC_CHECK_TOOLS(DUMPBIN, [dumpbin "link -dump"], :)
+    case `$DUMPBIN -symbols /dev/null 2>&1 | sed '1q'` in
+    *COFF*)
+      DUMPBIN="$DUMPBIN -symbols"
+      ;;
+    *)
+      DUMPBIN=:
+      ;;
+    esac
+  fi
+  AC_SUBST([DUMPBIN])
+  if test "$DUMPBIN" != ":"; then
+    NM="$DUMPBIN"
+  fi
+fi
+test -z "$NM" && NM=nm
+AC_SUBST([NM])
+_LT_DECL([], [NM], [1], [A BSD- or MS-compatible name lister])dnl
+
+AC_CACHE_CHECK([the name lister ($NM) interface], [lt_cv_nm_interface],
+  [lt_cv_nm_interface="BSD nm"
+  echo "int some_variable = 0;" > conftest.$ac_ext
+  (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&AS_MESSAGE_LOG_FD)
+  (eval "$ac_compile" 2>conftest.err)
+  cat conftest.err >&AS_MESSAGE_LOG_FD
+  (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&AS_MESSAGE_LOG_FD)
+  (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
+  cat conftest.err >&AS_MESSAGE_LOG_FD
+  (eval echo "\"\$as_me:$LINENO: output\"" >&AS_MESSAGE_LOG_FD)
+  cat conftest.out >&AS_MESSAGE_LOG_FD
+  if $GREP 'External.*some_variable' conftest.out > /dev/null; then
+    lt_cv_nm_interface="MS dumpbin"
+  fi
+  rm -f conftest*])
+])# LT_PATH_NM
+
+# Old names:
+AU_ALIAS([AM_PROG_NM], [LT_PATH_NM])
+AU_ALIAS([AC_PROG_NM], [LT_PATH_NM])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AM_PROG_NM], [])
+dnl AC_DEFUN([AC_PROG_NM], [])
+
+# _LT_CHECK_SHAREDLIB_FROM_LINKLIB
+# --------------------------------
+# how to determine the name of the shared library
+# associated with a specific link library.
+#  -- PORTME fill in with the dynamic library characteristics
+m4_defun([_LT_CHECK_SHAREDLIB_FROM_LINKLIB],
+[m4_require([_LT_DECL_EGREP])
+m4_require([_LT_DECL_OBJDUMP])
+m4_require([_LT_DECL_DLLTOOL])
+AC_CACHE_CHECK([how to associate runtime and link libraries],
+lt_cv_sharedlib_from_linklib_cmd,
+[lt_cv_sharedlib_from_linklib_cmd='unknown'
+
+case $host_os in
+cygwin* | mingw* | pw32* | cegcc*)
+  # two different shell functions defined in ltmain.sh
+  # decide which to use based on capabilities of $DLLTOOL
+  case `$DLLTOOL --help 2>&1` in
+  *--identify-strict*)
+    lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib
+    ;;
+  *)
+    lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback
+    ;;
+  esac
+  ;;
+*)
+  # fallback: assume linklib IS sharedlib
+  lt_cv_sharedlib_from_linklib_cmd="$ECHO"
+  ;;
+esac
+])
+sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd
+test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO
+
+_LT_DECL([], [sharedlib_from_linklib_cmd], [1],
+    [Command to associate shared and link libraries])
+])# _LT_CHECK_SHAREDLIB_FROM_LINKLIB
+
+
+# _LT_PATH_MANIFEST_TOOL
+# ----------------------
+# locate the manifest tool
+m4_defun([_LT_PATH_MANIFEST_TOOL],
+[AC_CHECK_TOOL(MANIFEST_TOOL, mt, :)
+test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt
+AC_CACHE_CHECK([if $MANIFEST_TOOL is a manifest tool], [lt_cv_path_mainfest_tool],
+  [lt_cv_path_mainfest_tool=no
+  echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&AS_MESSAGE_LOG_FD
+  $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out
+  cat conftest.err >&AS_MESSAGE_LOG_FD
+  if $GREP 'Manifest Tool' conftest.out > /dev/null; then
+    lt_cv_path_mainfest_tool=yes
+  fi
+  rm -f conftest*])
+if test "x$lt_cv_path_mainfest_tool" != xyes; then
+  MANIFEST_TOOL=:
+fi
+_LT_DECL([], [MANIFEST_TOOL], [1], [Manifest tool])dnl
+])# _LT_PATH_MANIFEST_TOOL
+
+
+# LT_LIB_M
+# --------
+# check for math library
+AC_DEFUN([LT_LIB_M],
+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
+LIBM=
+case $host in
+*-*-beos* | *-*-cegcc* | *-*-cygwin* | *-*-haiku* | *-*-pw32* | *-*-darwin*)
+  # These system don't have libm, or don't need it
+  ;;
+*-ncr-sysv4.3*)
+  AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw")
+  AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm")
+  ;;
+*)
+  AC_CHECK_LIB(m, cos, LIBM="-lm")
+  ;;
+esac
+AC_SUBST([LIBM])
+])# LT_LIB_M
+
+# Old name:
+AU_ALIAS([AC_CHECK_LIBM], [LT_LIB_M])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_CHECK_LIBM], [])
+
+
+# _LT_COMPILER_NO_RTTI([TAGNAME])
+# -------------------------------
+m4_defun([_LT_COMPILER_NO_RTTI],
+[m4_require([_LT_TAG_COMPILER])dnl
+
+_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
+
+if test "$GCC" = yes; then
+  case $cc_basename in
+  nvcc*)
+    _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -Xcompiler -fno-builtin' ;;
+  *)
+    _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' ;;
+  esac
+
+  _LT_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions],
+    lt_cv_prog_compiler_rtti_exceptions,
+    [-fno-rtti -fno-exceptions], [],
+    [_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"])
+fi
+_LT_TAGDECL([no_builtin_flag], [lt_prog_compiler_no_builtin_flag], [1],
+	[Compiler flag to turn off builtin functions])
+])# _LT_COMPILER_NO_RTTI
+
+
+# _LT_CMD_GLOBAL_SYMBOLS
+# ----------------------
+m4_defun([_LT_CMD_GLOBAL_SYMBOLS],
+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
+AC_REQUIRE([AC_PROG_CC])dnl
+AC_REQUIRE([AC_PROG_AWK])dnl
+AC_REQUIRE([LT_PATH_NM])dnl
+AC_REQUIRE([LT_PATH_LD])dnl
+m4_require([_LT_DECL_SED])dnl
+m4_require([_LT_DECL_EGREP])dnl
+m4_require([_LT_TAG_COMPILER])dnl
+
+# Check for command to grab the raw symbol name followed by C symbol from nm.
+AC_MSG_CHECKING([command to parse $NM output from $compiler object])
+AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe],
+[
+# These are sane defaults that work on at least a few old systems.
+# [They come from Ultrix.  What could be older than Ultrix?!! ;)]
+
+# Character class describing NM global symbol codes.
+symcode='[[BCDEGRST]]'
+
+# Regexp to match symbols that can be accessed directly from C.
+sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)'
+
+# Define system-specific variables.
+case $host_os in
+aix*)
+  symcode='[[BCDT]]'
+  ;;
+cygwin* | mingw* | pw32* | cegcc*)
+  symcode='[[ABCDGISTW]]'
+  ;;
+hpux*)
+  if test "$host_cpu" = ia64; then
+    symcode='[[ABCDEGRST]]'
+  fi
+  ;;
+irix* | nonstopux*)
+  symcode='[[BCDEGRST]]'
+  ;;
+osf*)
+  symcode='[[BCDEGQRST]]'
+  ;;
+solaris*)
+  symcode='[[BDRT]]'
+  ;;
+sco3.2v5*)
+  symcode='[[DT]]'
+  ;;
+sysv4.2uw2*)
+  symcode='[[DT]]'
+  ;;
+sysv5* | sco5v6* | unixware* | OpenUNIX*)
+  symcode='[[ABDT]]'
+  ;;
+sysv4)
+  symcode='[[DFNSTU]]'
+  ;;
+esac
+
+# If we're using GNU nm, then use its standard symbol codes.
+case `$NM -V 2>&1` in
+*GNU* | *'with BFD'*)
+  symcode='[[ABCDGIRSTW]]' ;;
+esac
+
+# Transform an extracted symbol line into a proper C declaration.
+# Some systems (esp. on ia64) link data and code symbols differently,
+# so use this general approach.
+lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
+
+# Transform an extracted symbol line into symbol name and symbol address
+lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\)[[ ]]*$/  {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/  {\"\2\", (void *) \&\2},/p'"
+lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([[^ ]]*\)[[ ]]*$/  {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \(lib[[^ ]]*\)$/  {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/  {\"lib\2\", (void *) \&\2},/p'"
+
+# Handle CRLF in mingw tool chain
+opt_cr=
+case $build_os in
+mingw*)
+  opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp
+  ;;
+esac
+
+# Try without a prefix underscore, then with it.
+for ac_symprfx in "" "_"; do
+
+  # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
+  symxfrm="\\1 $ac_symprfx\\2 \\2"
+
+  # Write the raw and C identifiers.
+  if test "$lt_cv_nm_interface" = "MS dumpbin"; then
+    # Fake it for dumpbin and say T for any non-static function
+    # and D for any global variable.
+    # Also find C++ and __fastcall symbols from MSVC++,
+    # which start with @ or ?.
+    lt_cv_sys_global_symbol_pipe="$AWK ['"\
+"     {last_section=section; section=\$ 3};"\
+"     /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\
+"     /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
+"     \$ 0!~/External *\|/{next};"\
+"     / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
+"     {if(hide[section]) next};"\
+"     {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\
+"     {split(\$ 0, a, /\||\r/); split(a[2], s)};"\
+"     s[1]~/^[@?]/{print s[1], s[1]; next};"\
+"     s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\
+"     ' prfx=^$ac_symprfx]"
+  else
+    lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[	 ]]\($symcode$symcode*\)[[	 ]][[	 ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
+  fi
+  lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'"
+
+  # Check to see that the pipe works correctly.
+  pipe_works=no
+
+  rm -f conftest*
+  cat > conftest.$ac_ext <<_LT_EOF
+#ifdef __cplusplus
+extern "C" {
+#endif
+char nm_test_var;
+void nm_test_func(void);
+void nm_test_func(void){}
+#ifdef __cplusplus
+}
+#endif
+int main(){nm_test_var='a';nm_test_func();return(0);}
+_LT_EOF
+
+  if AC_TRY_EVAL(ac_compile); then
+    # Now try to grab the symbols.
+    nlist=conftest.nm
+    if AC_TRY_EVAL(NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) && test -s "$nlist"; then
+      # Try sorting and uniquifying the output.
+      if sort "$nlist" | uniq > "$nlist"T; then
+	mv -f "$nlist"T "$nlist"
+      else
+	rm -f "$nlist"T
+      fi
+
+      # Make sure that we snagged all the symbols we need.
+      if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
+	if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
+	  cat <<_LT_EOF > conftest.$ac_ext
+/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests.  */
+#if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE)
+/* DATA imports from DLLs on WIN32 con't be const, because runtime
+   relocations are performed -- see ld's documentation on pseudo-relocs.  */
+# define LT@&t@_DLSYM_CONST
+#elif defined(__osf__)
+/* This system does not cope well with relocations in const data.  */
+# define LT@&t@_DLSYM_CONST
+#else
+# define LT@&t@_DLSYM_CONST const
+#endif
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+_LT_EOF
+	  # Now generate the symbol file.
+	  eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext'
+
+	  cat <<_LT_EOF >> conftest.$ac_ext
+
+/* The mapping between symbol names and symbols.  */
+LT@&t@_DLSYM_CONST struct {
+  const char *name;
+  void       *address;
+}
+lt__PROGRAM__LTX_preloaded_symbols[[]] =
+{
+  { "@PROGRAM@", (void *) 0 },
+_LT_EOF
+	  $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/  {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext
+	  cat <<\_LT_EOF >> conftest.$ac_ext
+  {0, (void *) 0}
+};
+
+/* This works around a problem in FreeBSD linker */
+#ifdef FREEBSD_WORKAROUND
+static const void *lt_preloaded_setup() {
+  return lt__PROGRAM__LTX_preloaded_symbols;
+}
+#endif
+
+#ifdef __cplusplus
+}
+#endif
+_LT_EOF
+	  # Now try linking the two files.
+	  mv conftest.$ac_objext conftstm.$ac_objext
+	  lt_globsym_save_LIBS=$LIBS
+	  lt_globsym_save_CFLAGS=$CFLAGS
+	  LIBS="conftstm.$ac_objext"
+	  CFLAGS="$CFLAGS$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)"
+	  if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext}; then
+	    pipe_works=yes
+	  fi
+	  LIBS=$lt_globsym_save_LIBS
+	  CFLAGS=$lt_globsym_save_CFLAGS
+	else
+	  echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD
+	fi
+      else
+	echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD
+      fi
+    else
+      echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD
+    fi
+  else
+    echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD
+    cat conftest.$ac_ext >&5
+  fi
+  rm -rf conftest* conftst*
+
+  # Do not use the global_symbol_pipe unless it works.
+  if test "$pipe_works" = yes; then
+    break
+  else
+    lt_cv_sys_global_symbol_pipe=
+  fi
+done
+])
+if test -z "$lt_cv_sys_global_symbol_pipe"; then
+  lt_cv_sys_global_symbol_to_cdecl=
+fi
+if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
+  AC_MSG_RESULT(failed)
+else
+  AC_MSG_RESULT(ok)
+fi
+
+# Response file support.
+if test "$lt_cv_nm_interface" = "MS dumpbin"; then
+  nm_file_list_spec='@'
+elif $NM --help 2>/dev/null | grep '[[@]]FILE' >/dev/null; then
+  nm_file_list_spec='@'
+fi
+
+_LT_DECL([global_symbol_pipe], [lt_cv_sys_global_symbol_pipe], [1],
+    [Take the output of nm and produce a listing of raw symbols and C names])
+_LT_DECL([global_symbol_to_cdecl], [lt_cv_sys_global_symbol_to_cdecl], [1],
+    [Transform the output of nm in a proper C declaration])
+_LT_DECL([global_symbol_to_c_name_address],
+    [lt_cv_sys_global_symbol_to_c_name_address], [1],
+    [Transform the output of nm in a C name address pair])
+_LT_DECL([global_symbol_to_c_name_address_lib_prefix],
+    [lt_cv_sys_global_symbol_to_c_name_address_lib_prefix], [1],
+    [Transform the output of nm in a C name address pair when lib prefix is needed])
+_LT_DECL([], [nm_file_list_spec], [1],
+    [Specify filename containing input files for $NM])
+]) # _LT_CMD_GLOBAL_SYMBOLS
+
+
+# _LT_COMPILER_PIC([TAGNAME])
+# ---------------------------
+m4_defun([_LT_COMPILER_PIC],
+[m4_require([_LT_TAG_COMPILER])dnl
+_LT_TAGVAR(lt_prog_compiler_wl, $1)=
+_LT_TAGVAR(lt_prog_compiler_pic, $1)=
+_LT_TAGVAR(lt_prog_compiler_static, $1)=
+
+m4_if([$1], [CXX], [
+  # C++ specific cases for pic, static, wl, etc.
+  if test "$GXX" = yes; then
+    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+    _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+
+    case $host_os in
+    aix*)
+      # All AIX code is PIC.
+      if test "$host_cpu" = ia64; then
+	# AIX 5 now supports IA64 processor
+	_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+      fi
+      ;;
+
+    amigaos*)
+      case $host_cpu in
+      powerpc)
+            # see comment about AmigaOS4 .so support
+            _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+        ;;
+      m68k)
+            # FIXME: we need at least 68020 code to build shared libraries, but
+            # adding the `-m68020' flag to GCC prevents building anything better,
+            # like `-m68040'.
+            _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
+        ;;
+      esac
+      ;;
+
+    beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
+      # PIC is the default for these OSes.
+      ;;
+    mingw* | cygwin* | os2* | pw32* | cegcc*)
+      # This hack is so that the source file can tell whether it is being
+      # built for inclusion in a dll (and should export symbols for example).
+      # Although the cygwin gcc ignores -fPIC, still need this for old-style
+      # (--disable-auto-import) libraries
+      m4_if([$1], [GCJ], [],
+	[_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
+      ;;
+    darwin* | rhapsody*)
+      # PIC is the default on this platform
+      # Common symbols not allowed in MH_DYLIB files
+      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
+      ;;
+    *djgpp*)
+      # DJGPP does not support shared libraries at all
+      _LT_TAGVAR(lt_prog_compiler_pic, $1)=
+      ;;
+    haiku*)
+      # PIC is the default for Haiku.
+      # The "-static" flag exists, but is broken.
+      _LT_TAGVAR(lt_prog_compiler_static, $1)=
+      ;;
+    interix[[3-9]]*)
+      # Interix 3.x gcc -fpic/-fPIC options generate broken code.
+      # Instead, we relocate shared libraries at runtime.
+      ;;
+    sysv4*MP*)
+      if test -d /usr/nec; then
+	_LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
+      fi
+      ;;
+    hpux*)
+      # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
+      # PA HP-UX.  On IA64 HP-UX, PIC is the default but the pic flag
+      # sets the default TLS model and affects inlining.
+      case $host_cpu in
+      hppa*64*)
+	;;
+      *)
+	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+	;;
+      esac
+      ;;
+    *qnx* | *nto*)
+      # QNX uses GNU C++, but need to define -shared option too, otherwise
+      # it will coredump.
+      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
+      ;;
+    *)
+      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+      ;;
+    esac
+  else
+    case $host_os in
+      aix[[4-9]]*)
+	# All AIX code is PIC.
+	if test "$host_cpu" = ia64; then
+	  # AIX 5 now supports IA64 processor
+	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+	else
+	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
+	fi
+	;;
+      chorus*)
+	case $cc_basename in
+	cxch68*)
+	  # Green Hills C++ Compiler
+	  # _LT_TAGVAR(lt_prog_compiler_static, $1)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a"
+	  ;;
+	esac
+	;;
+      mingw* | cygwin* | os2* | pw32* | cegcc*)
+	# This hack is so that the source file can tell whether it is being
+	# built for inclusion in a dll (and should export symbols for example).
+	m4_if([$1], [GCJ], [],
+	  [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
+	;;
+      dgux*)
+	case $cc_basename in
+	  ec++*)
+	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+	    ;;
+	  ghcx*)
+	    # Green Hills C++ Compiler
+	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
+	    ;;
+	  *)
+	    ;;
+	esac
+	;;
+      freebsd* | dragonfly*)
+	# FreeBSD uses GNU C++
+	;;
+      hpux9* | hpux10* | hpux11*)
+	case $cc_basename in
+	  CC*)
+	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	    _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
+	    if test "$host_cpu" != ia64; then
+	      _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
+	    fi
+	    ;;
+	  aCC*)
+	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	    _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
+	    case $host_cpu in
+	    hppa*64*|ia64*)
+	      # +Z the default
+	      ;;
+	    *)
+	      _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
+	      ;;
+	    esac
+	    ;;
+	  *)
+	    ;;
+	esac
+	;;
+      interix*)
+	# This is c89, which is MS Visual C++ (no shared libs)
+	# Anyone wants to do a port?
+	;;
+      irix5* | irix6* | nonstopux*)
+	case $cc_basename in
+	  CC*)
+	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+	    # CC pic flag -KPIC is the default.
+	    ;;
+	  *)
+	    ;;
+	esac
+	;;
+      linux* | k*bsd*-gnu | kopensolaris*-gnu)
+	case $cc_basename in
+	  KCC*)
+	    # KAI C++ Compiler
+	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
+	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+	    ;;
+	  ecpc* )
+	    # old Intel C++ for x86_64 which still supported -KPIC.
+	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+	    ;;
+	  icpc* )
+	    # Intel C++, used to be incompatible with GCC.
+	    # ICC 10 doesn't accept -KPIC any more.
+	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+	    ;;
+	  pgCC* | pgcpp*)
+	    # Portland Group C++ compiler
+	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
+	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+	    ;;
+	  cxx*)
+	    # Compaq C++
+	    # Make sure the PIC flag is empty.  It appears that all Alpha
+	    # Linux and Compaq Tru64 Unix objects are PIC.
+	    _LT_TAGVAR(lt_prog_compiler_pic, $1)=
+	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+	    ;;
+	  xlc* | xlC* | bgxl[[cC]]* | mpixl[[cC]]*)
+	    # IBM XL 8.0, 9.0 on PPC and BlueGene
+	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic'
+	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink'
+	    ;;
+	  *)
+	    case `$CC -V 2>&1 | sed 5q` in
+	    *Sun\ C*)
+	      # Sun C++ 5.9
+	      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+	      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+	      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
+	      ;;
+	    esac
+	    ;;
+	esac
+	;;
+      lynxos*)
+	;;
+      m88k*)
+	;;
+      mvs*)
+	case $cc_basename in
+	  cxx*)
+	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall'
+	    ;;
+	  *)
+	    ;;
+	esac
+	;;
+      netbsd*)
+	;;
+      *qnx* | *nto*)
+        # QNX uses GNU C++, but need to define -shared option too, otherwise
+        # it will coredump.
+        _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
+        ;;
+      osf3* | osf4* | osf5*)
+	case $cc_basename in
+	  KCC*)
+	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
+	    ;;
+	  RCC*)
+	    # Rational C++ 2.4.1
+	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
+	    ;;
+	  cxx*)
+	    # Digital/Compaq C++
+	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	    # Make sure the PIC flag is empty.  It appears that all Alpha
+	    # Linux and Compaq Tru64 Unix objects are PIC.
+	    _LT_TAGVAR(lt_prog_compiler_pic, $1)=
+	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+	    ;;
+	  *)
+	    ;;
+	esac
+	;;
+      psos*)
+	;;
+      solaris*)
+	case $cc_basename in
+	  CC* | sunCC*)
+	    # Sun C++ 4.2, 5.x and Centerline C++
+	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
+	    ;;
+	  gcx*)
+	    # Green Hills C++ Compiler
+	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
+	    ;;
+	  *)
+	    ;;
+	esac
+	;;
+      sunos4*)
+	case $cc_basename in
+	  CC*)
+	    # Sun C++ 4.x
+	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
+	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+	    ;;
+	  lcc*)
+	    # Lucid
+	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
+	    ;;
+	  *)
+	    ;;
+	esac
+	;;
+      sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
+	case $cc_basename in
+	  CC*)
+	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+	    ;;
+	esac
+	;;
+      tandem*)
+	case $cc_basename in
+	  NCC*)
+	    # NonStop-UX NCC 3.20
+	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+	    ;;
+	  *)
+	    ;;
+	esac
+	;;
+      vxworks*)
+	;;
+      *)
+	_LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
+	;;
+    esac
+  fi
+],
+[
+  if test "$GCC" = yes; then
+    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+    _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+
+    case $host_os in
+      aix*)
+      # All AIX code is PIC.
+      if test "$host_cpu" = ia64; then
+	# AIX 5 now supports IA64 processor
+	_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+      fi
+      ;;
+
+    amigaos*)
+      case $host_cpu in
+      powerpc)
+            # see comment about AmigaOS4 .so support
+            _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+        ;;
+      m68k)
+            # FIXME: we need at least 68020 code to build shared libraries, but
+            # adding the `-m68020' flag to GCC prevents building anything better,
+            # like `-m68040'.
+            _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
+        ;;
+      esac
+      ;;
+
+    beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
+      # PIC is the default for these OSes.
+      ;;
+
+    mingw* | cygwin* | pw32* | os2* | cegcc*)
+      # This hack is so that the source file can tell whether it is being
+      # built for inclusion in a dll (and should export symbols for example).
+      # Although the cygwin gcc ignores -fPIC, still need this for old-style
+      # (--disable-auto-import) libraries
+      m4_if([$1], [GCJ], [],
+	[_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
+      ;;
+
+    darwin* | rhapsody*)
+      # PIC is the default on this platform
+      # Common symbols not allowed in MH_DYLIB files
+      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
+      ;;
+
+    haiku*)
+      # PIC is the default for Haiku.
+      # The "-static" flag exists, but is broken.
+      _LT_TAGVAR(lt_prog_compiler_static, $1)=
+      ;;
+
+    hpux*)
+      # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
+      # PA HP-UX.  On IA64 HP-UX, PIC is the default but the pic flag
+      # sets the default TLS model and affects inlining.
+      case $host_cpu in
+      hppa*64*)
+	# +Z the default
+	;;
+      *)
+	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+	;;
+      esac
+      ;;
+
+    interix[[3-9]]*)
+      # Interix 3.x gcc -fpic/-fPIC options generate broken code.
+      # Instead, we relocate shared libraries at runtime.
+      ;;
+
+    msdosdjgpp*)
+      # Just because we use GCC doesn't mean we suddenly get shared libraries
+      # on systems that don't support them.
+      _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
+      enable_shared=no
+      ;;
+
+    *nto* | *qnx*)
+      # QNX uses GNU C++, but need to define -shared option too, otherwise
+      # it will coredump.
+      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
+      ;;
+
+    sysv4*MP*)
+      if test -d /usr/nec; then
+	_LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
+      fi
+      ;;
+
+    *)
+      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+      ;;
+    esac
+
+    case $cc_basename in
+    nvcc*) # Cuda Compiler Driver 2.2
+      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Xlinker '
+      if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then
+        _LT_TAGVAR(lt_prog_compiler_pic, $1)="-Xcompiler $_LT_TAGVAR(lt_prog_compiler_pic, $1)"
+      fi
+      ;;
+    esac
+  else
+    # PORTME Check for flag to pass linker flags through the system compiler.
+    case $host_os in
+    aix*)
+      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+      if test "$host_cpu" = ia64; then
+	# AIX 5 now supports IA64 processor
+	_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+      else
+	_LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
+      fi
+      ;;
+
+    mingw* | cygwin* | pw32* | os2* | cegcc*)
+      # This hack is so that the source file can tell whether it is being
+      # built for inclusion in a dll (and should export symbols for example).
+      m4_if([$1], [GCJ], [],
+	[_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
+      ;;
+
+    hpux9* | hpux10* | hpux11*)
+      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+      # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
+      # not for PA HP-UX.
+      case $host_cpu in
+      hppa*64*|ia64*)
+	# +Z the default
+	;;
+      *)
+	_LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
+	;;
+      esac
+      # Is there a better lt_prog_compiler_static that works with the bundled CC?
+      _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
+      ;;
+
+    irix5* | irix6* | nonstopux*)
+      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+      # PIC (with -KPIC) is the default.
+      _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+      ;;
+
+    linux* | k*bsd*-gnu | kopensolaris*-gnu)
+      case $cc_basename in
+      # old Intel for x86_64 which still supported -KPIC.
+      ecc*)
+	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+	_LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+        ;;
+      # icc used to be incompatible with GCC.
+      # ICC 10 doesn't accept -KPIC any more.
+      icc* | ifort*)
+	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+	_LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+        ;;
+      # Lahey Fortran 8.1.
+      lf95*)
+	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	_LT_TAGVAR(lt_prog_compiler_pic, $1)='--shared'
+	_LT_TAGVAR(lt_prog_compiler_static, $1)='--static'
+	;;
+      nagfor*)
+	# NAG Fortran compiler
+	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,-Wl,,'
+	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
+	_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+	;;
+      pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
+        # Portland Group compilers (*not* the Pentium gcc compiler,
+	# which looks to be a dead project)
+	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
+	_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+        ;;
+      ccc*)
+        _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+        # All Alpha code is PIC.
+        _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+        ;;
+      xl* | bgxl* | bgf* | mpixl*)
+	# IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene
+	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic'
+	_LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink'
+	;;
+      *)
+	case `$CC -V 2>&1 | sed 5q` in
+	*Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [[1-7]].* | *Sun*Fortran*\ 8.[[0-3]]*)
+	  # Sun Fortran 8.3 passes all unrecognized flags to the linker
+	  _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+	  _LT_TAGVAR(lt_prog_compiler_wl, $1)=''
+	  ;;
+	*Sun\ F* | *Sun*Fortran*)
+	  _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+	  _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
+	  ;;
+	*Sun\ C*)
+	  # Sun C 5.9
+	  _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+	  _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	  ;;
+        *Intel*\ [[CF]]*Compiler*)
+	  _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	  _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+	  ;;
+	*Portland\ Group*)
+	  _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	  _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
+	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+	  ;;
+	esac
+	;;
+      esac
+      ;;
+
+    newsos6)
+      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+      ;;
+
+    *nto* | *qnx*)
+      # QNX uses GNU C++, but need to define -shared option too, otherwise
+      # it will coredump.
+      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
+      ;;
+
+    osf3* | osf4* | osf5*)
+      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+      # All OSF/1 code is PIC.
+      _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+      ;;
+
+    rdos*)
+      _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+      ;;
+
+    solaris*)
+      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+      case $cc_basename in
+      f77* | f90* | f95* | sunf77* | sunf90* | sunf95*)
+	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';;
+      *)
+	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';;
+      esac
+      ;;
+
+    sunos4*)
+      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
+      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
+      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+      ;;
+
+    sysv4 | sysv4.2uw2* | sysv4.3*)
+      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+      ;;
+
+    sysv4*MP*)
+      if test -d /usr/nec ;then
+	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic'
+	_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+      fi
+      ;;
+
+    sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
+      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+      ;;
+
+    unicos*)
+      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+      _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
+      ;;
+
+    uts4*)
+      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
+      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+      ;;
+
+    *)
+      _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
+      ;;
+    esac
+  fi
+])
+case $host_os in
+  # For platforms which do not support PIC, -DPIC is meaningless:
+  *djgpp*)
+    _LT_TAGVAR(lt_prog_compiler_pic, $1)=
+    ;;
+  *)
+    _LT_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])"
+    ;;
+esac
+
+AC_CACHE_CHECK([for $compiler option to produce PIC],
+  [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)],
+  [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_prog_compiler_pic, $1)])
+_LT_TAGVAR(lt_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)
+
+#
+# Check to make sure the PIC flag actually works.
+#
+if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then
+  _LT_COMPILER_OPTION([if $compiler PIC flag $_LT_TAGVAR(lt_prog_compiler_pic, $1) works],
+    [_LT_TAGVAR(lt_cv_prog_compiler_pic_works, $1)],
+    [$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])], [],
+    [case $_LT_TAGVAR(lt_prog_compiler_pic, $1) in
+     "" | " "*) ;;
+     *) _LT_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_TAGVAR(lt_prog_compiler_pic, $1)" ;;
+     esac],
+    [_LT_TAGVAR(lt_prog_compiler_pic, $1)=
+     _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no])
+fi
+_LT_TAGDECL([pic_flag], [lt_prog_compiler_pic], [1],
+	[Additional compiler flags for building library objects])
+
+_LT_TAGDECL([wl], [lt_prog_compiler_wl], [1],
+	[How to pass a linker flag through the compiler])
+#
+# Check to make sure the static flag actually works.
+#
+wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_TAGVAR(lt_prog_compiler_static, $1)\"
+_LT_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works],
+  _LT_TAGVAR(lt_cv_prog_compiler_static_works, $1),
+  $lt_tmp_static_flag,
+  [],
+  [_LT_TAGVAR(lt_prog_compiler_static, $1)=])
+_LT_TAGDECL([link_static_flag], [lt_prog_compiler_static], [1],
+	[Compiler flag to prevent dynamic linking])
+])# _LT_COMPILER_PIC
+
+
+# _LT_LINKER_SHLIBS([TAGNAME])
+# ----------------------------
+# See if the linker supports building shared libraries.
+m4_defun([_LT_LINKER_SHLIBS],
+[AC_REQUIRE([LT_PATH_LD])dnl
+AC_REQUIRE([LT_PATH_NM])dnl
+m4_require([_LT_PATH_MANIFEST_TOOL])dnl
+m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+m4_require([_LT_DECL_EGREP])dnl
+m4_require([_LT_DECL_SED])dnl
+m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
+m4_require([_LT_TAG_COMPILER])dnl
+AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
+m4_if([$1], [CXX], [
+  _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+  _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
+  case $host_os in
+  aix[[4-9]]*)
+    # If we're using GNU nm, then we don't want the "-C" option.
+    # -C means demangle to AIX nm, but means don't demangle with GNU nm
+    # Also, AIX nm treats weak defined symbols like other global defined
+    # symbols, whereas GNU nm marks them as "W".
+    if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
+      _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
+    else
+      _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
+    fi
+    ;;
+  pw32*)
+    _LT_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds"
+    ;;
+  cygwin* | mingw* | cegcc*)
+    case $cc_basename in
+    cl*)
+      _LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*'
+      ;;
+    *)
+      _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols'
+      _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname']
+      ;;
+    esac
+    ;;
+  *)
+    _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+    ;;
+  esac
+], [
+  runpath_var=
+  _LT_TAGVAR(allow_undefined_flag, $1)=
+  _LT_TAGVAR(always_export_symbols, $1)=no
+  _LT_TAGVAR(archive_cmds, $1)=
+  _LT_TAGVAR(archive_expsym_cmds, $1)=
+  _LT_TAGVAR(compiler_needs_object, $1)=no
+  _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
+  _LT_TAGVAR(export_dynamic_flag_spec, $1)=
+  _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+  _LT_TAGVAR(hardcode_automatic, $1)=no
+  _LT_TAGVAR(hardcode_direct, $1)=no
+  _LT_TAGVAR(hardcode_direct_absolute, $1)=no
+  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
+  _LT_TAGVAR(hardcode_libdir_separator, $1)=
+  _LT_TAGVAR(hardcode_minus_L, $1)=no
+  _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
+  _LT_TAGVAR(inherit_rpath, $1)=no
+  _LT_TAGVAR(link_all_deplibs, $1)=unknown
+  _LT_TAGVAR(module_cmds, $1)=
+  _LT_TAGVAR(module_expsym_cmds, $1)=
+  _LT_TAGVAR(old_archive_from_new_cmds, $1)=
+  _LT_TAGVAR(old_archive_from_expsyms_cmds, $1)=
+  _LT_TAGVAR(thread_safe_flag_spec, $1)=
+  _LT_TAGVAR(whole_archive_flag_spec, $1)=
+  # include_expsyms should be a list of space-separated symbols to be *always*
+  # included in the symbol list
+  _LT_TAGVAR(include_expsyms, $1)=
+  # exclude_expsyms can be an extended regexp of symbols to exclude
+  # it will be wrapped by ` (' and `)$', so one must not match beginning or
+  # end of line.  Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
+  # as well as any symbol that contains `d'.
+  _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
+  # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
+  # platforms (ab)use it in PIC code, but their linkers get confused if
+  # the symbol is explicitly referenced.  Since portable code cannot
+  # rely on this symbol name, it's probably fine to never include it in
+  # preloaded symbol tables.
+  # Exclude shared library initialization/finalization symbols.
+dnl Note also adjust exclude_expsyms for C++ above.
+  extract_expsyms_cmds=
+
+  case $host_os in
+  cygwin* | mingw* | pw32* | cegcc*)
+    # FIXME: the MSVC++ port hasn't been tested in a loooong time
+    # When not using gcc, we currently assume that we are using
+    # Microsoft Visual C++.
+    if test "$GCC" != yes; then
+      with_gnu_ld=no
+    fi
+    ;;
+  interix*)
+    # we just hope/assume this is gcc and not c89 (= MSVC++)
+    with_gnu_ld=yes
+    ;;
+  openbsd*)
+    with_gnu_ld=no
+    ;;
+  esac
+
+  _LT_TAGVAR(ld_shlibs, $1)=yes
+
+  # On some targets, GNU ld is compatible enough with the native linker
+  # that we're better off using the native interface for both.
+  lt_use_gnu_ld_interface=no
+  if test "$with_gnu_ld" = yes; then
+    case $host_os in
+      aix*)
+	# The AIX port of GNU ld has always aspired to compatibility
+	# with the native linker.  However, as the warning in the GNU ld
+	# block says, versions before 2.19.5* couldn't really create working
+	# shared libraries, regardless of the interface used.
+	case `$LD -v 2>&1` in
+	  *\ \(GNU\ Binutils\)\ 2.19.5*) ;;
+	  *\ \(GNU\ Binutils\)\ 2.[[2-9]]*) ;;
+	  *\ \(GNU\ Binutils\)\ [[3-9]]*) ;;
+	  *)
+	    lt_use_gnu_ld_interface=yes
+	    ;;
+	esac
+	;;
+      *)
+	lt_use_gnu_ld_interface=yes
+	;;
+    esac
+  fi
+
+  if test "$lt_use_gnu_ld_interface" = yes; then
+    # If archive_cmds runs LD, not CC, wlarc should be empty
+    wlarc='${wl}'
+
+    # Set some defaults for GNU ld with shared library support. These
+    # are reset later if shared libraries are not supported. Putting them
+    # here allows them to be overridden if necessary.
+    runpath_var=LD_RUN_PATH
+    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+    _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
+    # ancient GNU ld didn't support --whole-archive et. al.
+    if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then
+      _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+    else
+      _LT_TAGVAR(whole_archive_flag_spec, $1)=
+    fi
+    supports_anon_versioning=no
+    case `$LD -v 2>&1` in
+      *GNU\ gold*) supports_anon_versioning=yes ;;
+      *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11
+      *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
+      *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
+      *\ 2.11.*) ;; # other 2.11 versions
+      *) supports_anon_versioning=yes ;;
+    esac
+
+    # See if GNU ld supports shared libraries.
+    case $host_os in
+    aix[[3-9]]*)
+      # On AIX/PPC, the GNU linker is very broken
+      if test "$host_cpu" != ia64; then
+	_LT_TAGVAR(ld_shlibs, $1)=no
+	cat <<_LT_EOF 1>&2
+
+*** Warning: the GNU linker, at least up to release 2.19, is reported
+*** to be unable to reliably create shared libraries on AIX.
+*** Therefore, libtool is disabling shared libraries support.  If you
+*** really care for shared libraries, you may want to install binutils
+*** 2.20 or above, or modify your PATH so that a non-GNU linker is found.
+*** You will then need to restart the configuration process.
+
+_LT_EOF
+      fi
+      ;;
+
+    amigaos*)
+      case $host_cpu in
+      powerpc)
+            # see comment about AmigaOS4 .so support
+            _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+            _LT_TAGVAR(archive_expsym_cmds, $1)=''
+        ;;
+      m68k)
+            _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
+            _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+            _LT_TAGVAR(hardcode_minus_L, $1)=yes
+        ;;
+      esac
+      ;;
+
+    beos*)
+      if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+	_LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+	# Joseph Beckenbach <jrb3@best.com> says some releases of gcc
+	# support --undefined.  This deserves some investigation.  FIXME
+	_LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+      else
+	_LT_TAGVAR(ld_shlibs, $1)=no
+      fi
+      ;;
+
+    cygwin* | mingw* | pw32* | cegcc*)
+      # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
+      # as there is no search path for DLLs.
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+      _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-all-symbols'
+      _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+      _LT_TAGVAR(always_export_symbols, $1)=no
+      _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+      _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols'
+      _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname']
+
+      if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
+        _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+	# If the export-symbols file already is a .def file (1st line
+	# is EXPORTS), use it as is; otherwise, prepend...
+	_LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
+	  cp $export_symbols $output_objdir/$soname.def;
+	else
+	  echo EXPORTS > $output_objdir/$soname.def;
+	  cat $export_symbols >> $output_objdir/$soname.def;
+	fi~
+	$CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+      else
+	_LT_TAGVAR(ld_shlibs, $1)=no
+      fi
+      ;;
+
+    haiku*)
+      _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+      _LT_TAGVAR(link_all_deplibs, $1)=yes
+      ;;
+
+    interix[[3-9]]*)
+      _LT_TAGVAR(hardcode_direct, $1)=no
+      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+      _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+      # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
+      # Instead, shared libraries are loaded at an image base (0x10000000 by
+      # default) and relocated if they conflict, which is a slow very memory
+      # consuming and fragmenting process.  To avoid this, we pick a random,
+      # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
+      # time.  Moving up from 0x10000000 also allows more sbrk(2) space.
+      _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+      _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+      ;;
+
+    gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu)
+      tmp_diet=no
+      if test "$host_os" = linux-dietlibc; then
+	case $cc_basename in
+	  diet\ *) tmp_diet=yes;;	# linux-dietlibc with static linking (!diet-dyn)
+	esac
+      fi
+      if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
+	 && test "$tmp_diet" = no
+      then
+	tmp_addflag=' $pic_flag'
+	tmp_sharedflag='-shared'
+	case $cc_basename,$host_cpu in
+        pgcc*)				# Portland Group C compiler
+	  _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
+	  tmp_addflag=' $pic_flag'
+	  ;;
+	pgf77* | pgf90* | pgf95* | pgfortran*)
+					# Portland Group f77 and f90 compilers
+	  _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
+	  tmp_addflag=' $pic_flag -Mnomain' ;;
+	ecc*,ia64* | icc*,ia64*)	# Intel C compiler on ia64
+	  tmp_addflag=' -i_dynamic' ;;
+	efc*,ia64* | ifort*,ia64*)	# Intel Fortran compiler on ia64
+	  tmp_addflag=' -i_dynamic -nofor_main' ;;
+	ifc* | ifort*)			# Intel Fortran compiler
+	  tmp_addflag=' -nofor_main' ;;
+	lf95*)				# Lahey Fortran 8.1
+	  _LT_TAGVAR(whole_archive_flag_spec, $1)=
+	  tmp_sharedflag='--shared' ;;
+	xl[[cC]]* | bgxl[[cC]]* | mpixl[[cC]]*) # IBM XL C 8.0 on PPC (deal with xlf below)
+	  tmp_sharedflag='-qmkshrobj'
+	  tmp_addflag= ;;
+	nvcc*)	# Cuda Compiler Driver 2.2
+	  _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
+	  _LT_TAGVAR(compiler_needs_object, $1)=yes
+	  ;;
+	esac
+	case `$CC -V 2>&1 | sed 5q` in
+	*Sun\ C*)			# Sun C 5.9
+	  _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
+	  _LT_TAGVAR(compiler_needs_object, $1)=yes
+	  tmp_sharedflag='-G' ;;
+	*Sun\ F*)			# Sun Fortran 8.3
+	  tmp_sharedflag='-G' ;;
+	esac
+	_LT_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+
+        if test "x$supports_anon_versioning" = xyes; then
+          _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
+	    cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+	    echo "local: *; };" >> $output_objdir/$libname.ver~
+	    $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
+        fi
+
+	case $cc_basename in
+	xlf* | bgf* | bgxlf* | mpixlf*)
+	  # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
+	  _LT_TAGVAR(whole_archive_flag_spec, $1)='--whole-archive$convenience --no-whole-archive'
+	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+	  _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib'
+	  if test "x$supports_anon_versioning" = xyes; then
+	    _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
+	      cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+	      echo "local: *; };" >> $output_objdir/$libname.ver~
+	      $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
+	  fi
+	  ;;
+	esac
+      else
+        _LT_TAGVAR(ld_shlibs, $1)=no
+      fi
+      ;;
+
+    netbsd*)
+      if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
+	_LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
+	wlarc=
+      else
+	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+      fi
+      ;;
+
+    solaris*)
+      if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then
+	_LT_TAGVAR(ld_shlibs, $1)=no
+	cat <<_LT_EOF 1>&2
+
+*** Warning: The releases 2.8.* of the GNU linker cannot reliably
+*** create shared libraries on Solaris systems.  Therefore, libtool
+*** is disabling shared libraries support.  We urge you to upgrade GNU
+*** binutils to release 2.9.1 or newer.  Another option is to modify
+*** your PATH or compiler configuration so that the native linker is
+*** used, and then restart.
+
+_LT_EOF
+      elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+      else
+	_LT_TAGVAR(ld_shlibs, $1)=no
+      fi
+      ;;
+
+    sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
+      case `$LD -v 2>&1` in
+        *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*)
+	_LT_TAGVAR(ld_shlibs, $1)=no
+	cat <<_LT_EOF 1>&2
+
+*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
+*** reliably create shared libraries on SCO systems.  Therefore, libtool
+*** is disabling shared libraries support.  We urge you to upgrade GNU
+*** binutils to release 2.16.91.0.3 or newer.  Another option is to modify
+*** your PATH or compiler configuration so that the native linker is
+*** used, and then restart.
+
+_LT_EOF
+	;;
+	*)
+	  # For security reasons, it is highly recommended that you always
+	  # use absolute paths for naming shared libraries, and exclude the
+	  # DT_RUNPATH tag from executables and libraries.  But doing so
+	  # requires that you compile everything twice, which is a pain.
+	  if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+	    _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+	    _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+	  else
+	    _LT_TAGVAR(ld_shlibs, $1)=no
+	  fi
+	;;
+      esac
+      ;;
+
+    sunos4*)
+      _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+      wlarc=
+      _LT_TAGVAR(hardcode_direct, $1)=yes
+      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+      ;;
+
+    *)
+      if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+      else
+	_LT_TAGVAR(ld_shlibs, $1)=no
+      fi
+      ;;
+    esac
+
+    if test "$_LT_TAGVAR(ld_shlibs, $1)" = no; then
+      runpath_var=
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
+      _LT_TAGVAR(export_dynamic_flag_spec, $1)=
+      _LT_TAGVAR(whole_archive_flag_spec, $1)=
+    fi
+  else
+    # PORTME fill in a description of your system's linker (not GNU ld)
+    case $host_os in
+    aix3*)
+      _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+      _LT_TAGVAR(always_export_symbols, $1)=yes
+      _LT_TAGVAR(archive_expsym_cmds, $1)='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
+      # Note: this linker hardcodes the directories in LIBPATH if there
+      # are no directories specified by -L.
+      _LT_TAGVAR(hardcode_minus_L, $1)=yes
+      if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
+	# Neither direct hardcoding nor static linking is supported with a
+	# broken collect2.
+	_LT_TAGVAR(hardcode_direct, $1)=unsupported
+      fi
+      ;;
+
+    aix[[4-9]]*)
+      if test "$host_cpu" = ia64; then
+	# On IA64, the linker does run time linking by default, so we don't
+	# have to do anything special.
+	aix_use_runtimelinking=no
+	exp_sym_flag='-Bexport'
+	no_entry_flag=""
+      else
+	# If we're using GNU nm, then we don't want the "-C" option.
+	# -C means demangle to AIX nm, but means don't demangle with GNU nm
+	# Also, AIX nm treats weak defined symbols like other global
+	# defined symbols, whereas GNU nm marks them as "W".
+	if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
+	  _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
+	else
+	  _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
+	fi
+	aix_use_runtimelinking=no
+
+	# Test if we are trying to use run time linking or normal
+	# AIX style linking. If -brtl is somewhere in LDFLAGS, we
+	# need to do runtime linking.
+	case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
+	  for ld_flag in $LDFLAGS; do
+	  if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
+	    aix_use_runtimelinking=yes
+	    break
+	  fi
+	  done
+	  ;;
+	esac
+
+	exp_sym_flag='-bexport'
+	no_entry_flag='-bnoentry'
+      fi
+
+      # When large executables or shared objects are built, AIX ld can
+      # have problems creating the table of contents.  If linking a library
+      # or program results in "error TOC overflow" add -mminimal-toc to
+      # CXXFLAGS/CFLAGS for g++/gcc.  In the cases where that is not
+      # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
+
+      _LT_TAGVAR(archive_cmds, $1)=''
+      _LT_TAGVAR(hardcode_direct, $1)=yes
+      _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
+      _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
+      _LT_TAGVAR(link_all_deplibs, $1)=yes
+      _LT_TAGVAR(file_list_spec, $1)='${wl}-f,'
+
+      if test "$GCC" = yes; then
+	case $host_os in aix4.[[012]]|aix4.[[012]].*)
+	# We only want to do this on AIX 4.2 and lower, the check
+	# below for broken collect2 doesn't work under 4.3+
+	  collect2name=`${CC} -print-prog-name=collect2`
+	  if test -f "$collect2name" &&
+	   strings "$collect2name" | $GREP resolve_lib_name >/dev/null
+	  then
+	  # We have reworked collect2
+	  :
+	  else
+	  # We have old collect2
+	  _LT_TAGVAR(hardcode_direct, $1)=unsupported
+	  # It fails to find uninstalled libraries when the uninstalled
+	  # path is not listed in the libpath.  Setting hardcode_minus_L
+	  # to unsupported forces relinking
+	  _LT_TAGVAR(hardcode_minus_L, $1)=yes
+	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+	  _LT_TAGVAR(hardcode_libdir_separator, $1)=
+	  fi
+	  ;;
+	esac
+	shared_flag='-shared'
+	if test "$aix_use_runtimelinking" = yes; then
+	  shared_flag="$shared_flag "'${wl}-G'
+	fi
+      else
+	# not using gcc
+	if test "$host_cpu" = ia64; then
+	# VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
+	# chokes on -Wl,-G. The following line is correct:
+	  shared_flag='-G'
+	else
+	  if test "$aix_use_runtimelinking" = yes; then
+	    shared_flag='${wl}-G'
+	  else
+	    shared_flag='${wl}-bM:SRE'
+	  fi
+	fi
+      fi
+
+      _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall'
+      # It seems that -bexpall does not export symbols beginning with
+      # underscore (_), so it is better to generate a list of symbols to export.
+      _LT_TAGVAR(always_export_symbols, $1)=yes
+      if test "$aix_use_runtimelinking" = yes; then
+	# Warning - without using the other runtime loading flags (-brtl),
+	# -berok will link without error, but may produce a broken library.
+	_LT_TAGVAR(allow_undefined_flag, $1)='-berok'
+        # Determine the default libpath from the value encoded in an
+        # empty executable.
+        _LT_SYS_MODULE_PATH_AIX([$1])
+        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
+        _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
+      else
+	if test "$host_cpu" = ia64; then
+	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
+	  _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
+	  _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
+	else
+	 # Determine the default libpath from the value encoded in an
+	 # empty executable.
+	 _LT_SYS_MODULE_PATH_AIX([$1])
+	 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
+	  # Warning - without using the other run time loading flags,
+	  # -berok will link without error, but may produce a broken library.
+	  _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
+	  _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
+	  if test "$with_gnu_ld" = yes; then
+	    # We only use this code for GNU lds that support --whole-archive.
+	    _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
+	  else
+	    # Exported symbols can be pulled into shared objects from archives
+	    _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
+	  fi
+	  _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
+	  # This is similar to how AIX traditionally builds its shared libraries.
+	  _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
+	fi
+      fi
+      ;;
+
+    amigaos*)
+      case $host_cpu in
+      powerpc)
+            # see comment about AmigaOS4 .so support
+            _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+            _LT_TAGVAR(archive_expsym_cmds, $1)=''
+        ;;
+      m68k)
+            _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
+            _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+            _LT_TAGVAR(hardcode_minus_L, $1)=yes
+        ;;
+      esac
+      ;;
+
+    bsdi[[45]]*)
+      _LT_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic
+      ;;
+
+    cygwin* | mingw* | pw32* | cegcc*)
+      # When not using gcc, we currently assume that we are using
+      # Microsoft Visual C++.
+      # hardcode_libdir_flag_spec is actually meaningless, as there is
+      # no search path for DLLs.
+      case $cc_basename in
+      cl*)
+	# Native MSVC
+	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
+	_LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+	_LT_TAGVAR(always_export_symbols, $1)=yes
+	_LT_TAGVAR(file_list_spec, $1)='@'
+	# Tell ltmain to make .lib files, not .a files.
+	libext=lib
+	# Tell ltmain to make .dll files, not .so files.
+	shrext_cmds=".dll"
+	# FIXME: Setting linknames here is a bad hack.
+	_LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames='
+	_LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
+	    sed -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp;
+	  else
+	    sed -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp;
+	  fi~
+	  $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
+	  linknames='
+	# The linker will not automatically build a static lib if we build a DLL.
+	# _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
+	_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+	_LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*'
+	_LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1,DATA/'\'' | $SED -e '\''/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols'
+	# Don't use ranlib
+	_LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib'
+	_LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~
+	  lt_tool_outputfile="@TOOL_OUTPUT@"~
+	  case $lt_outputfile in
+	    *.exe|*.EXE) ;;
+	    *)
+	      lt_outputfile="$lt_outputfile.exe"
+	      lt_tool_outputfile="$lt_tool_outputfile.exe"
+	      ;;
+	  esac~
+	  if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then
+	    $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
+	    $RM "$lt_outputfile.manifest";
+	  fi'
+	;;
+      *)
+	# Assume MSVC wrapper
+	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
+	_LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+	# Tell ltmain to make .lib files, not .a files.
+	libext=lib
+	# Tell ltmain to make .dll files, not .so files.
+	shrext_cmds=".dll"
+	# FIXME: Setting linknames here is a bad hack.
+	_LT_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames='
+	# The linker will automatically build a .lib file if we build a DLL.
+	_LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
+	# FIXME: Should let the user specify the lib program.
+	_LT_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs'
+	_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+	;;
+      esac
+      ;;
+
+    darwin* | rhapsody*)
+      _LT_DARWIN_LINKER_FEATURES($1)
+      ;;
+
+    dgux*)
+      _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+      ;;
+
+    # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
+    # support.  Future versions do this automatically, but an explicit c++rt0.o
+    # does not break anything, and helps significantly (at the cost of a little
+    # extra space).
+    freebsd2.2*)
+      _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+      _LT_TAGVAR(hardcode_direct, $1)=yes
+      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+      ;;
+
+    # Unfortunately, older versions of FreeBSD 2 do not have this feature.
+    freebsd2.*)
+      _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+      _LT_TAGVAR(hardcode_direct, $1)=yes
+      _LT_TAGVAR(hardcode_minus_L, $1)=yes
+      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+      ;;
+
+    # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
+    freebsd* | dragonfly*)
+      _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+      _LT_TAGVAR(hardcode_direct, $1)=yes
+      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+      ;;
+
+    hpux9*)
+      if test "$GCC" = yes; then
+	_LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+      else
+	_LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+      fi
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
+      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+      _LT_TAGVAR(hardcode_direct, $1)=yes
+
+      # hardcode_minus_L: Not really in the search PATH,
+      # but as the default location of the library.
+      _LT_TAGVAR(hardcode_minus_L, $1)=yes
+      _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+      ;;
+
+    hpux10*)
+      if test "$GCC" = yes && test "$with_gnu_ld" = no; then
+	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+      else
+	_LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
+      fi
+      if test "$with_gnu_ld" = no; then
+	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
+	_LT_TAGVAR(hardcode_libdir_separator, $1)=:
+	_LT_TAGVAR(hardcode_direct, $1)=yes
+	_LT_TAGVAR(hardcode_direct_absolute, $1)=yes
+	_LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+	# hardcode_minus_L: Not really in the search PATH,
+	# but as the default location of the library.
+	_LT_TAGVAR(hardcode_minus_L, $1)=yes
+      fi
+      ;;
+
+    hpux11*)
+      if test "$GCC" = yes && test "$with_gnu_ld" = no; then
+	case $host_cpu in
+	hppa*64*)
+	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+	  ;;
+	ia64*)
+	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+	  ;;
+	*)
+	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+	  ;;
+	esac
+      else
+	case $host_cpu in
+	hppa*64*)
+	  _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+	  ;;
+	ia64*)
+	  _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+	  ;;
+	*)
+	m4_if($1, [], [
+	  # Older versions of the 11.00 compiler do not understand -b yet
+	  # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does)
+	  _LT_LINKER_OPTION([if $CC understands -b],
+	    _LT_TAGVAR(lt_cv_prog_compiler__b, $1), [-b],
+	    [_LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'],
+	    [_LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'])],
+	  [_LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'])
+	  ;;
+	esac
+      fi
+      if test "$with_gnu_ld" = no; then
+	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
+	_LT_TAGVAR(hardcode_libdir_separator, $1)=:
+
+	case $host_cpu in
+	hppa*64*|ia64*)
+	  _LT_TAGVAR(hardcode_direct, $1)=no
+	  _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+	  ;;
+	*)
+	  _LT_TAGVAR(hardcode_direct, $1)=yes
+	  _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
+	  _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+
+	  # hardcode_minus_L: Not really in the search PATH,
+	  # but as the default location of the library.
+	  _LT_TAGVAR(hardcode_minus_L, $1)=yes
+	  ;;
+	esac
+      fi
+      ;;
+
+    irix5* | irix6* | nonstopux*)
+      if test "$GCC" = yes; then
+	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+	# Try to use the -exported_symbol ld option, if it does not
+	# work, assume that -exports_file does not work either and
+	# implicitly export all symbols.
+	# This should be the same for all languages, so no per-tag cache variable.
+	AC_CACHE_CHECK([whether the $host_os linker accepts -exported_symbol],
+	  [lt_cv_irix_exported_symbol],
+	  [save_LDFLAGS="$LDFLAGS"
+	   LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null"
+	   AC_LINK_IFELSE(
+	     [AC_LANG_SOURCE(
+	        [AC_LANG_CASE([C], [[int foo (void) { return 0; }]],
+			      [C++], [[int foo (void) { return 0; }]],
+			      [Fortran 77], [[
+      subroutine foo
+      end]],
+			      [Fortran], [[
+      subroutine foo
+      end]])])],
+	      [lt_cv_irix_exported_symbol=yes],
+	      [lt_cv_irix_exported_symbol=no])
+           LDFLAGS="$save_LDFLAGS"])
+	if test "$lt_cv_irix_exported_symbol" = yes; then
+          _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib'
+	fi
+      else
+	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
+	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib'
+      fi
+      _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+      _LT_TAGVAR(inherit_rpath, $1)=yes
+      _LT_TAGVAR(link_all_deplibs, $1)=yes
+      ;;
+
+    netbsd*)
+      if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
+	_LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'  # a.out
+      else
+	_LT_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags'      # ELF
+      fi
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+      _LT_TAGVAR(hardcode_direct, $1)=yes
+      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+      ;;
+
+    newsos6)
+      _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+      _LT_TAGVAR(hardcode_direct, $1)=yes
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+      ;;
+
+    *nto* | *qnx*)
+      ;;
+
+    openbsd*)
+      if test -f /usr/libexec/ld.so; then
+	_LT_TAGVAR(hardcode_direct, $1)=yes
+	_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+	_LT_TAGVAR(hardcode_direct_absolute, $1)=yes
+	if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+	  _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
+	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+	  _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+	else
+	  case $host_os in
+	   openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*)
+	     _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+	     _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+	     ;;
+	   *)
+	     _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+	     _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+	     ;;
+	  esac
+	fi
+      else
+	_LT_TAGVAR(ld_shlibs, $1)=no
+      fi
+      ;;
+
+    os2*)
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+      _LT_TAGVAR(hardcode_minus_L, $1)=yes
+      _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+      _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~echo DATA >> $output_objdir/$libname.def~echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
+      _LT_TAGVAR(old_archive_from_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
+      ;;
+
+    osf3*)
+      if test "$GCC" = yes; then
+	_LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
+	_LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+      else
+	_LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
+	_LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
+      fi
+      _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+      ;;
+
+    osf4* | osf5*)	# as osf3* with the addition of -msym flag
+      if test "$GCC" = yes; then
+	_LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
+	_LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $pic_flag $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+      else
+	_LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
+	_LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
+	_LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~
+	$CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp'
+
+	# Both c and cxx compiler support -rpath directly
+	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
+      fi
+      _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
+      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+      ;;
+
+    solaris*)
+      _LT_TAGVAR(no_undefined_flag, $1)=' -z defs'
+      if test "$GCC" = yes; then
+	wlarc='${wl}'
+	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+	_LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+	  $CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
+      else
+	case `$CC -V 2>&1` in
+	*"Compilers 5.0"*)
+	  wlarc=''
+	  _LT_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
+	  _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+	  $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp'
+	  ;;
+	*)
+	  wlarc='${wl}'
+	  _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags'
+	  _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+	  $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
+	  ;;
+	esac
+      fi
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+      case $host_os in
+      solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
+      *)
+	# The compiler driver will combine and reorder linker options,
+	# but understands `-z linker_flag'.  GCC discards it without `$wl',
+	# but is careful enough not to reorder.
+	# Supported since Solaris 2.6 (maybe 2.5.1?)
+	if test "$GCC" = yes; then
+	  _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
+	else
+	  _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
+	fi
+	;;
+      esac
+      _LT_TAGVAR(link_all_deplibs, $1)=yes
+      ;;
+
+    sunos4*)
+      if test "x$host_vendor" = xsequent; then
+	# Use $CC to link under sequent, because it throws in some extra .o
+	# files that make .init and .fini sections work.
+	_LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
+      else
+	_LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
+      fi
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+      _LT_TAGVAR(hardcode_direct, $1)=yes
+      _LT_TAGVAR(hardcode_minus_L, $1)=yes
+      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+      ;;
+
+    sysv4)
+      case $host_vendor in
+	sni)
+	  _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+	  _LT_TAGVAR(hardcode_direct, $1)=yes # is this really true???
+	;;
+	siemens)
+	  ## LD is ld it makes a PLAMLIB
+	  ## CC just makes a GrossModule.
+	  _LT_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags'
+	  _LT_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs'
+	  _LT_TAGVAR(hardcode_direct, $1)=no
+        ;;
+	motorola)
+	  _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+	  _LT_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie
+	;;
+      esac
+      runpath_var='LD_RUN_PATH'
+      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+      ;;
+
+    sysv4.3*)
+      _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+      _LT_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport'
+      ;;
+
+    sysv4*MP*)
+      if test -d /usr/nec; then
+	_LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+	_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+	runpath_var=LD_RUN_PATH
+	hardcode_runpath_var=yes
+	_LT_TAGVAR(ld_shlibs, $1)=yes
+      fi
+      ;;
+
+    sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
+      _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
+      _LT_TAGVAR(archive_cmds_need_lc, $1)=no
+      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+      runpath_var='LD_RUN_PATH'
+
+      if test "$GCC" = yes; then
+	_LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+      else
+	_LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+      fi
+      ;;
+
+    sysv5* | sco3.2v5* | sco5v6*)
+      # Note: We can NOT use -z defs as we might desire, because we do not
+      # link with -lc, and that would cause any symbols used from libc to
+      # always be unresolved, which means just about no library would
+      # ever link correctly.  If we're not using GNU ld we use -z text
+      # though, which does catch some bad symbols but isn't as heavy-handed
+      # as -z defs.
+      _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
+      _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs'
+      _LT_TAGVAR(archive_cmds_need_lc, $1)=no
+      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir'
+      _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
+      _LT_TAGVAR(link_all_deplibs, $1)=yes
+      _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport'
+      runpath_var='LD_RUN_PATH'
+
+      if test "$GCC" = yes; then
+	_LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+      else
+	_LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+      fi
+      ;;
+
+    uts4*)
+      _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+      ;;
+
+    *)
+      _LT_TAGVAR(ld_shlibs, $1)=no
+      ;;
+    esac
+
+    if test x$host_vendor = xsni; then
+      case $host in
+      sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
+	_LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Blargedynsym'
+	;;
+      esac
+    fi
+  fi
+])
+AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)])
+test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
+
+_LT_TAGVAR(with_gnu_ld, $1)=$with_gnu_ld
+
+_LT_DECL([], [libext], [0], [Old archive suffix (normally "a")])dnl
+_LT_DECL([], [shrext_cmds], [1], [Shared library suffix (normally ".so")])dnl
+_LT_DECL([], [extract_expsyms_cmds], [2],
+    [The commands to extract the exported symbol list from a shared archive])
+
+#
+# Do we need to explicitly link libc?
+#
+case "x$_LT_TAGVAR(archive_cmds_need_lc, $1)" in
+x|xyes)
+  # Assume -lc should be added
+  _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
+
+  if test "$enable_shared" = yes && test "$GCC" = yes; then
+    case $_LT_TAGVAR(archive_cmds, $1) in
+    *'~'*)
+      # FIXME: we may have to deal with multi-command sequences.
+      ;;
+    '$CC '*)
+      # Test whether the compiler implicitly links with -lc since on some
+      # systems, -lgcc has to come before -lc. If gcc already passes -lc
+      # to ld, don't add -lc before -lgcc.
+      AC_CACHE_CHECK([whether -lc should be explicitly linked in],
+	[lt_cv_]_LT_TAGVAR(archive_cmds_need_lc, $1),
+	[$RM conftest*
+	echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+
+	if AC_TRY_EVAL(ac_compile) 2>conftest.err; then
+	  soname=conftest
+	  lib=conftest
+	  libobjs=conftest.$ac_objext
+	  deplibs=
+	  wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1)
+	  pic_flag=$_LT_TAGVAR(lt_prog_compiler_pic, $1)
+	  compiler_flags=-v
+	  linker_flags=-v
+	  verstring=
+	  output_objdir=.
+	  libname=conftest
+	  lt_save_allow_undefined_flag=$_LT_TAGVAR(allow_undefined_flag, $1)
+	  _LT_TAGVAR(allow_undefined_flag, $1)=
+	  if AC_TRY_EVAL(_LT_TAGVAR(archive_cmds, $1) 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1)
+	  then
+	    lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=no
+	  else
+	    lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=yes
+	  fi
+	  _LT_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag
+	else
+	  cat conftest.err 1>&5
+	fi
+	$RM conftest*
+	])
+      _LT_TAGVAR(archive_cmds_need_lc, $1)=$lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)
+      ;;
+    esac
+  fi
+  ;;
+esac
+
+_LT_TAGDECL([build_libtool_need_lc], [archive_cmds_need_lc], [0],
+    [Whether or not to add -lc for building shared libraries])
+_LT_TAGDECL([allow_libtool_libs_with_static_runtimes],
+    [enable_shared_with_static_runtimes], [0],
+    [Whether or not to disallow shared libs when runtime libs are static])
+_LT_TAGDECL([], [export_dynamic_flag_spec], [1],
+    [Compiler flag to allow reflexive dlopens])
+_LT_TAGDECL([], [whole_archive_flag_spec], [1],
+    [Compiler flag to generate shared objects directly from archives])
+_LT_TAGDECL([], [compiler_needs_object], [1],
+    [Whether the compiler copes with passing no objects directly])
+_LT_TAGDECL([], [old_archive_from_new_cmds], [2],
+    [Create an old-style archive from a shared archive])
+_LT_TAGDECL([], [old_archive_from_expsyms_cmds], [2],
+    [Create a temporary old-style archive to link instead of a shared archive])
+_LT_TAGDECL([], [archive_cmds], [2], [Commands used to build a shared archive])
+_LT_TAGDECL([], [archive_expsym_cmds], [2])
+_LT_TAGDECL([], [module_cmds], [2],
+    [Commands used to build a loadable module if different from building
+    a shared archive.])
+_LT_TAGDECL([], [module_expsym_cmds], [2])
+_LT_TAGDECL([], [with_gnu_ld], [1],
+    [Whether we are building with GNU ld or not])
+_LT_TAGDECL([], [allow_undefined_flag], [1],
+    [Flag that allows shared libraries with undefined symbols to be built])
+_LT_TAGDECL([], [no_undefined_flag], [1],
+    [Flag that enforces no undefined symbols])
+_LT_TAGDECL([], [hardcode_libdir_flag_spec], [1],
+    [Flag to hardcode $libdir into a binary during linking.
+    This must work even if $libdir does not exist])
+_LT_TAGDECL([], [hardcode_libdir_separator], [1],
+    [Whether we need a single "-rpath" flag with a separated argument])
+_LT_TAGDECL([], [hardcode_direct], [0],
+    [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes
+    DIR into the resulting binary])
+_LT_TAGDECL([], [hardcode_direct_absolute], [0],
+    [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes
+    DIR into the resulting binary and the resulting library dependency is
+    "absolute", i.e impossible to change by setting ${shlibpath_var} if the
+    library is relocated])
+_LT_TAGDECL([], [hardcode_minus_L], [0],
+    [Set to "yes" if using the -LDIR flag during linking hardcodes DIR
+    into the resulting binary])
+_LT_TAGDECL([], [hardcode_shlibpath_var], [0],
+    [Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
+    into the resulting binary])
+_LT_TAGDECL([], [hardcode_automatic], [0],
+    [Set to "yes" if building a shared library automatically hardcodes DIR
+    into the library and all subsequent libraries and executables linked
+    against it])
+_LT_TAGDECL([], [inherit_rpath], [0],
+    [Set to yes if linker adds runtime paths of dependent libraries
+    to runtime path list])
+_LT_TAGDECL([], [link_all_deplibs], [0],
+    [Whether libtool must link a program against all its dependency libraries])
+_LT_TAGDECL([], [always_export_symbols], [0],
+    [Set to "yes" if exported symbols are required])
+_LT_TAGDECL([], [export_symbols_cmds], [2],
+    [The commands to list exported symbols])
+_LT_TAGDECL([], [exclude_expsyms], [1],
+    [Symbols that should not be listed in the preloaded symbols])
+_LT_TAGDECL([], [include_expsyms], [1],
+    [Symbols that must always be exported])
+_LT_TAGDECL([], [prelink_cmds], [2],
+    [Commands necessary for linking programs (against libraries) with templates])
+_LT_TAGDECL([], [postlink_cmds], [2],
+    [Commands necessary for finishing linking programs])
+_LT_TAGDECL([], [file_list_spec], [1],
+    [Specify filename containing input files])
+dnl FIXME: Not yet implemented
+dnl _LT_TAGDECL([], [thread_safe_flag_spec], [1],
+dnl    [Compiler flag to generate thread safe objects])
+])# _LT_LINKER_SHLIBS
+
+
+# _LT_LANG_C_CONFIG([TAG])
+# ------------------------
+# Ensure that the configuration variables for a C compiler are suitably
+# defined.  These variables are subsequently used by _LT_CONFIG to write
+# the compiler configuration to `libtool'.
+m4_defun([_LT_LANG_C_CONFIG],
+[m4_require([_LT_DECL_EGREP])dnl
+lt_save_CC="$CC"
+AC_LANG_PUSH(C)
+
+# Source file extension for C test sources.
+ac_ext=c
+
+# Object file extension for compiled C test sources.
+objext=o
+_LT_TAGVAR(objext, $1)=$objext
+
+# Code to be used in simple compile tests
+lt_simple_compile_test_code="int some_variable = 0;"
+
+# Code to be used in simple link tests
+lt_simple_link_test_code='int main(){return(0);}'
+
+_LT_TAG_COMPILER
+# Save the default compiler, since it gets overwritten when the other
+# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP.
+compiler_DEFAULT=$CC
+
+# save warnings/boilerplate of simple test code
+_LT_COMPILER_BOILERPLATE
+_LT_LINKER_BOILERPLATE
+
+## CAVEAT EMPTOR:
+## There is no encapsulation within the following macros, do not change
+## the running order or otherwise move them around unless you know exactly
+## what you are doing...
+if test -n "$compiler"; then
+  _LT_COMPILER_NO_RTTI($1)
+  _LT_COMPILER_PIC($1)
+  _LT_COMPILER_C_O($1)
+  _LT_COMPILER_FILE_LOCKS($1)
+  _LT_LINKER_SHLIBS($1)
+  _LT_SYS_DYNAMIC_LINKER($1)
+  _LT_LINKER_HARDCODE_LIBPATH($1)
+  LT_SYS_DLOPEN_SELF
+  _LT_CMD_STRIPLIB
+
+  # Report which library types will actually be built
+  AC_MSG_CHECKING([if libtool supports shared libraries])
+  AC_MSG_RESULT([$can_build_shared])
+
+  AC_MSG_CHECKING([whether to build shared libraries])
+  test "$can_build_shared" = "no" && enable_shared=no
+
+  # On AIX, shared libraries and static libraries use the same namespace, and
+  # are all built from PIC.
+  case $host_os in
+  aix3*)
+    test "$enable_shared" = yes && enable_static=no
+    if test -n "$RANLIB"; then
+      archive_cmds="$archive_cmds~\$RANLIB \$lib"
+      postinstall_cmds='$RANLIB $lib'
+    fi
+    ;;
+
+  aix[[4-9]]*)
+    if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
+      test "$enable_shared" = yes && enable_static=no
+    fi
+    ;;
+  esac
+  AC_MSG_RESULT([$enable_shared])
+
+  AC_MSG_CHECKING([whether to build static libraries])
+  # Make sure either enable_shared or enable_static is yes.
+  test "$enable_shared" = yes || enable_static=yes
+  AC_MSG_RESULT([$enable_static])
+
+  _LT_CONFIG($1)
+fi
+AC_LANG_POP
+CC="$lt_save_CC"
+])# _LT_LANG_C_CONFIG
+
+
+# _LT_LANG_CXX_CONFIG([TAG])
+# --------------------------
+# Ensure that the configuration variables for a C++ compiler are suitably
+# defined.  These variables are subsequently used by _LT_CONFIG to write
+# the compiler configuration to `libtool'.
+m4_defun([_LT_LANG_CXX_CONFIG],
+[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+m4_require([_LT_DECL_EGREP])dnl
+m4_require([_LT_PATH_MANIFEST_TOOL])dnl
+if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
+    ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
+    (test "X$CXX" != "Xg++"))) ; then
+  AC_PROG_CXXCPP
+else
+  _lt_caught_CXX_error=yes
+fi
+
+AC_LANG_PUSH(C++)
+_LT_TAGVAR(archive_cmds_need_lc, $1)=no
+_LT_TAGVAR(allow_undefined_flag, $1)=
+_LT_TAGVAR(always_export_symbols, $1)=no
+_LT_TAGVAR(archive_expsym_cmds, $1)=
+_LT_TAGVAR(compiler_needs_object, $1)=no
+_LT_TAGVAR(export_dynamic_flag_spec, $1)=
+_LT_TAGVAR(hardcode_direct, $1)=no
+_LT_TAGVAR(hardcode_direct_absolute, $1)=no
+_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
+_LT_TAGVAR(hardcode_libdir_separator, $1)=
+_LT_TAGVAR(hardcode_minus_L, $1)=no
+_LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
+_LT_TAGVAR(hardcode_automatic, $1)=no
+_LT_TAGVAR(inherit_rpath, $1)=no
+_LT_TAGVAR(module_cmds, $1)=
+_LT_TAGVAR(module_expsym_cmds, $1)=
+_LT_TAGVAR(link_all_deplibs, $1)=unknown
+_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
+_LT_TAGVAR(reload_flag, $1)=$reload_flag
+_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
+_LT_TAGVAR(no_undefined_flag, $1)=
+_LT_TAGVAR(whole_archive_flag_spec, $1)=
+_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
+
+# Source file extension for C++ test sources.
+ac_ext=cpp
+
+# Object file extension for compiled C++ test sources.
+objext=o
+_LT_TAGVAR(objext, $1)=$objext
+
+# No sense in running all these tests if we already determined that
+# the CXX compiler isn't working.  Some variables (like enable_shared)
+# are currently assumed to apply to all compilers on this platform,
+# and will be corrupted by setting them based on a non-working compiler.
+if test "$_lt_caught_CXX_error" != yes; then
+  # Code to be used in simple compile tests
+  lt_simple_compile_test_code="int some_variable = 0;"
+
+  # Code to be used in simple link tests
+  lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }'
+
+  # ltmain only uses $CC for tagged configurations so make sure $CC is set.
+  _LT_TAG_COMPILER
+
+  # save warnings/boilerplate of simple test code
+  _LT_COMPILER_BOILERPLATE
+  _LT_LINKER_BOILERPLATE
+
+  # Allow CC to be a program name with arguments.
+  lt_save_CC=$CC
+  lt_save_CFLAGS=$CFLAGS
+  lt_save_LD=$LD
+  lt_save_GCC=$GCC
+  GCC=$GXX
+  lt_save_with_gnu_ld=$with_gnu_ld
+  lt_save_path_LD=$lt_cv_path_LD
+  if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then
+    lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx
+  else
+    $as_unset lt_cv_prog_gnu_ld
+  fi
+  if test -n "${lt_cv_path_LDCXX+set}"; then
+    lt_cv_path_LD=$lt_cv_path_LDCXX
+  else
+    $as_unset lt_cv_path_LD
+  fi
+  test -z "${LDCXX+set}" || LD=$LDCXX
+  CC=${CXX-"c++"}
+  CFLAGS=$CXXFLAGS
+  compiler=$CC
+  _LT_TAGVAR(compiler, $1)=$CC
+  _LT_CC_BASENAME([$compiler])
+
+  if test -n "$compiler"; then
+    # We don't want -fno-exception when compiling C++ code, so set the
+    # no_builtin_flag separately
+    if test "$GXX" = yes; then
+      _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
+    else
+      _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
+    fi
+
+    if test "$GXX" = yes; then
+      # Set up default GNU C++ configuration
+
+      LT_PATH_LD
+
+      # Check if GNU C++ uses GNU ld as the underlying linker, since the
+      # archiving commands below assume that GNU ld is being used.
+      if test "$with_gnu_ld" = yes; then
+        _LT_TAGVAR(archive_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
+        _LT_TAGVAR(archive_expsym_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+
+        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+        _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
+
+        # If archive_cmds runs LD, not CC, wlarc should be empty
+        # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to
+        #     investigate it a little bit more. (MM)
+        wlarc='${wl}'
+
+        # ancient GNU ld didn't support --whole-archive et. al.
+        if eval "`$CC -print-prog-name=ld` --help 2>&1" |
+	  $GREP 'no-whole-archive' > /dev/null; then
+          _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+        else
+          _LT_TAGVAR(whole_archive_flag_spec, $1)=
+        fi
+      else
+        with_gnu_ld=no
+        wlarc=
+
+        # A generic and very simple default shared library creation
+        # command for GNU C++ for the case where it uses the native
+        # linker, instead of GNU ld.  If possible, this setting should
+        # overridden to take advantage of the native linker features on
+        # the platform it is being used on.
+        _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
+      fi
+
+      # Commands to make compiler produce verbose output that lists
+      # what "hidden" libraries, object files and flags are used when
+      # linking a shared library.
+      output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
+
+    else
+      GXX=no
+      with_gnu_ld=no
+      wlarc=
+    fi
+
+    # PORTME: fill in a description of your system's C++ link characteristics
+    AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
+    _LT_TAGVAR(ld_shlibs, $1)=yes
+    case $host_os in
+      aix3*)
+        # FIXME: insert proper C++ library support
+        _LT_TAGVAR(ld_shlibs, $1)=no
+        ;;
+      aix[[4-9]]*)
+        if test "$host_cpu" = ia64; then
+          # On IA64, the linker does run time linking by default, so we don't
+          # have to do anything special.
+          aix_use_runtimelinking=no
+          exp_sym_flag='-Bexport'
+          no_entry_flag=""
+        else
+          aix_use_runtimelinking=no
+
+          # Test if we are trying to use run time linking or normal
+          # AIX style linking. If -brtl is somewhere in LDFLAGS, we
+          # need to do runtime linking.
+          case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
+	    for ld_flag in $LDFLAGS; do
+	      case $ld_flag in
+	      *-brtl*)
+	        aix_use_runtimelinking=yes
+	        break
+	        ;;
+	      esac
+	    done
+	    ;;
+          esac
+
+          exp_sym_flag='-bexport'
+          no_entry_flag='-bnoentry'
+        fi
+
+        # When large executables or shared objects are built, AIX ld can
+        # have problems creating the table of contents.  If linking a library
+        # or program results in "error TOC overflow" add -mminimal-toc to
+        # CXXFLAGS/CFLAGS for g++/gcc.  In the cases where that is not
+        # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
+
+        _LT_TAGVAR(archive_cmds, $1)=''
+        _LT_TAGVAR(hardcode_direct, $1)=yes
+        _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
+        _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
+        _LT_TAGVAR(link_all_deplibs, $1)=yes
+        _LT_TAGVAR(file_list_spec, $1)='${wl}-f,'
+
+        if test "$GXX" = yes; then
+          case $host_os in aix4.[[012]]|aix4.[[012]].*)
+          # We only want to do this on AIX 4.2 and lower, the check
+          # below for broken collect2 doesn't work under 4.3+
+	  collect2name=`${CC} -print-prog-name=collect2`
+	  if test -f "$collect2name" &&
+	     strings "$collect2name" | $GREP resolve_lib_name >/dev/null
+	  then
+	    # We have reworked collect2
+	    :
+	  else
+	    # We have old collect2
+	    _LT_TAGVAR(hardcode_direct, $1)=unsupported
+	    # It fails to find uninstalled libraries when the uninstalled
+	    # path is not listed in the libpath.  Setting hardcode_minus_L
+	    # to unsupported forces relinking
+	    _LT_TAGVAR(hardcode_minus_L, $1)=yes
+	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+	    _LT_TAGVAR(hardcode_libdir_separator, $1)=
+	  fi
+          esac
+          shared_flag='-shared'
+	  if test "$aix_use_runtimelinking" = yes; then
+	    shared_flag="$shared_flag "'${wl}-G'
+	  fi
+        else
+          # not using gcc
+          if test "$host_cpu" = ia64; then
+	  # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
+	  # chokes on -Wl,-G. The following line is correct:
+	  shared_flag='-G'
+          else
+	    if test "$aix_use_runtimelinking" = yes; then
+	      shared_flag='${wl}-G'
+	    else
+	      shared_flag='${wl}-bM:SRE'
+	    fi
+          fi
+        fi
+
+        _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall'
+        # It seems that -bexpall does not export symbols beginning with
+        # underscore (_), so it is better to generate a list of symbols to
+	# export.
+        _LT_TAGVAR(always_export_symbols, $1)=yes
+        if test "$aix_use_runtimelinking" = yes; then
+          # Warning - without using the other runtime loading flags (-brtl),
+          # -berok will link without error, but may produce a broken library.
+          _LT_TAGVAR(allow_undefined_flag, $1)='-berok'
+          # Determine the default libpath from the value encoded in an empty
+          # executable.
+          _LT_SYS_MODULE_PATH_AIX([$1])
+          _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
+
+          _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
+        else
+          if test "$host_cpu" = ia64; then
+	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
+	    _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
+	    _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
+          else
+	    # Determine the default libpath from the value encoded in an
+	    # empty executable.
+	    _LT_SYS_MODULE_PATH_AIX([$1])
+	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
+	    # Warning - without using the other run time loading flags,
+	    # -berok will link without error, but may produce a broken library.
+	    _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
+	    _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
+	    if test "$with_gnu_ld" = yes; then
+	      # We only use this code for GNU lds that support --whole-archive.
+	      _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
+	    else
+	      # Exported symbols can be pulled into shared objects from archives
+	      _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
+	    fi
+	    _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
+	    # This is similar to how AIX traditionally builds its shared
+	    # libraries.
+	    _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
+          fi
+        fi
+        ;;
+
+      beos*)
+	if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+	  _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+	  # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
+	  # support --undefined.  This deserves some investigation.  FIXME
+	  _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+	else
+	  _LT_TAGVAR(ld_shlibs, $1)=no
+	fi
+	;;
+
+      chorus*)
+        case $cc_basename in
+          *)
+	  # FIXME: insert proper C++ library support
+	  _LT_TAGVAR(ld_shlibs, $1)=no
+	  ;;
+        esac
+        ;;
+
+      cygwin* | mingw* | pw32* | cegcc*)
+	case $GXX,$cc_basename in
+	,cl* | no,cl*)
+	  # Native MSVC
+	  # hardcode_libdir_flag_spec is actually meaningless, as there is
+	  # no search path for DLLs.
+	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
+	  _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+	  _LT_TAGVAR(always_export_symbols, $1)=yes
+	  _LT_TAGVAR(file_list_spec, $1)='@'
+	  # Tell ltmain to make .lib files, not .a files.
+	  libext=lib
+	  # Tell ltmain to make .dll files, not .so files.
+	  shrext_cmds=".dll"
+	  # FIXME: Setting linknames here is a bad hack.
+	  _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames='
+	  _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
+	      $SED -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp;
+	    else
+	      $SED -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp;
+	    fi~
+	    $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
+	    linknames='
+	  # The linker will not automatically build a static lib if we build a DLL.
+	  # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
+	  _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+	  # Don't use ranlib
+	  _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib'
+	  _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~
+	    lt_tool_outputfile="@TOOL_OUTPUT@"~
+	    case $lt_outputfile in
+	      *.exe|*.EXE) ;;
+	      *)
+		lt_outputfile="$lt_outputfile.exe"
+		lt_tool_outputfile="$lt_tool_outputfile.exe"
+		;;
+	    esac~
+	    func_to_tool_file "$lt_outputfile"~
+	    if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then
+	      $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
+	      $RM "$lt_outputfile.manifest";
+	    fi'
+	  ;;
+	*)
+	  # g++
+	  # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
+	  # as there is no search path for DLLs.
+	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+	  _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-all-symbols'
+	  _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+	  _LT_TAGVAR(always_export_symbols, $1)=no
+	  _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+
+	  if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
+	    _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+	    # If the export-symbols file already is a .def file (1st line
+	    # is EXPORTS), use it as is; otherwise, prepend...
+	    _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
+	      cp $export_symbols $output_objdir/$soname.def;
+	    else
+	      echo EXPORTS > $output_objdir/$soname.def;
+	      cat $export_symbols >> $output_objdir/$soname.def;
+	    fi~
+	    $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+	  else
+	    _LT_TAGVAR(ld_shlibs, $1)=no
+	  fi
+	  ;;
+	esac
+	;;
+      darwin* | rhapsody*)
+        _LT_DARWIN_LINKER_FEATURES($1)
+	;;
+
+      dgux*)
+        case $cc_basename in
+          ec++*)
+	    # FIXME: insert proper C++ library support
+	    _LT_TAGVAR(ld_shlibs, $1)=no
+	    ;;
+          ghcx*)
+	    # Green Hills C++ Compiler
+	    # FIXME: insert proper C++ library support
+	    _LT_TAGVAR(ld_shlibs, $1)=no
+	    ;;
+          *)
+	    # FIXME: insert proper C++ library support
+	    _LT_TAGVAR(ld_shlibs, $1)=no
+	    ;;
+        esac
+        ;;
+
+      freebsd2.*)
+        # C++ shared libraries reported to be fairly broken before
+	# switch to ELF
+        _LT_TAGVAR(ld_shlibs, $1)=no
+        ;;
+
+      freebsd-elf*)
+        _LT_TAGVAR(archive_cmds_need_lc, $1)=no
+        ;;
+
+      freebsd* | dragonfly*)
+        # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
+        # conventions
+        _LT_TAGVAR(ld_shlibs, $1)=yes
+        ;;
+
+      gnu*)
+        ;;
+
+      haiku*)
+        _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+        _LT_TAGVAR(link_all_deplibs, $1)=yes
+        ;;
+
+      hpux9*)
+        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
+        _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+        _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+        _LT_TAGVAR(hardcode_direct, $1)=yes
+        _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
+				             # but as the default
+				             # location of the library.
+
+        case $cc_basename in
+          CC*)
+            # FIXME: insert proper C++ library support
+            _LT_TAGVAR(ld_shlibs, $1)=no
+            ;;
+          aCC*)
+            _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+            # Commands to make compiler produce verbose output that lists
+            # what "hidden" libraries, object files and flags are used when
+            # linking a shared library.
+            #
+            # There doesn't appear to be a way to prevent this compiler from
+            # explicitly linking system object files so we need to strip them
+            # from the output so that they don't get included in the library
+            # dependencies.
+            output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
+            ;;
+          *)
+            if test "$GXX" = yes; then
+              _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -nostdlib $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+            else
+              # FIXME: insert proper C++ library support
+              _LT_TAGVAR(ld_shlibs, $1)=no
+            fi
+            ;;
+        esac
+        ;;
+
+      hpux10*|hpux11*)
+        if test $with_gnu_ld = no; then
+	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
+	  _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+
+          case $host_cpu in
+            hppa*64*|ia64*)
+              ;;
+            *)
+	      _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+              ;;
+          esac
+        fi
+        case $host_cpu in
+          hppa*64*|ia64*)
+            _LT_TAGVAR(hardcode_direct, $1)=no
+            _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+            ;;
+          *)
+            _LT_TAGVAR(hardcode_direct, $1)=yes
+            _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
+            _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
+					         # but as the default
+					         # location of the library.
+            ;;
+        esac
+
+        case $cc_basename in
+          CC*)
+	    # FIXME: insert proper C++ library support
+	    _LT_TAGVAR(ld_shlibs, $1)=no
+	    ;;
+          aCC*)
+	    case $host_cpu in
+	      hppa*64*)
+	        _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+	        ;;
+	      ia64*)
+	        _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+	        ;;
+	      *)
+	        _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+	        ;;
+	    esac
+	    # Commands to make compiler produce verbose output that lists
+	    # what "hidden" libraries, object files and flags are used when
+	    # linking a shared library.
+	    #
+	    # There doesn't appear to be a way to prevent this compiler from
+	    # explicitly linking system object files so we need to strip them
+	    # from the output so that they don't get included in the library
+	    # dependencies.
+	    output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
+	    ;;
+          *)
+	    if test "$GXX" = yes; then
+	      if test $with_gnu_ld = no; then
+	        case $host_cpu in
+	          hppa*64*)
+	            _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+	            ;;
+	          ia64*)
+	            _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+	            ;;
+	          *)
+	            _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+	            ;;
+	        esac
+	      fi
+	    else
+	      # FIXME: insert proper C++ library support
+	      _LT_TAGVAR(ld_shlibs, $1)=no
+	    fi
+	    ;;
+        esac
+        ;;
+
+      interix[[3-9]]*)
+	_LT_TAGVAR(hardcode_direct, $1)=no
+	_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+	_LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+	# Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
+	# Instead, shared libraries are loaded at an image base (0x10000000 by
+	# default) and relocated if they conflict, which is a slow very memory
+	# consuming and fragmenting process.  To avoid this, we pick a random,
+	# 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
+	# time.  Moving up from 0x10000000 also allows more sbrk(2) space.
+	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+	_LT_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+	;;
+      irix5* | irix6*)
+        case $cc_basename in
+          CC*)
+	    # SGI C++
+	    _LT_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
+
+	    # Archives containing C++ object files must be created using
+	    # "CC -ar", where "CC" is the IRIX C++ compiler.  This is
+	    # necessary to make sure instantiated templates are included
+	    # in the archive.
+	    _LT_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs'
+	    ;;
+          *)
+	    if test "$GXX" = yes; then
+	      if test "$with_gnu_ld" = no; then
+	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+	      else
+	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` -o $lib'
+	      fi
+	    fi
+	    _LT_TAGVAR(link_all_deplibs, $1)=yes
+	    ;;
+        esac
+        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+        _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+        _LT_TAGVAR(inherit_rpath, $1)=yes
+        ;;
+
+      linux* | k*bsd*-gnu | kopensolaris*-gnu)
+        case $cc_basename in
+          KCC*)
+	    # Kuck and Associates, Inc. (KAI) C++ Compiler
+
+	    # KCC will only create a shared library if the output file
+	    # ends with ".so" (or ".sl" for HP-UX), so rename the library
+	    # to its proper name (with version) after linking.
+	    _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
+	    _LT_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib'
+	    # Commands to make compiler produce verbose output that lists
+	    # what "hidden" libraries, object files and flags are used when
+	    # linking a shared library.
+	    #
+	    # There doesn't appear to be a way to prevent this compiler from
+	    # explicitly linking system object files so we need to strip them
+	    # from the output so that they don't get included in the library
+	    # dependencies.
+	    output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
+
+	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+	    _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
+
+	    # Archives containing C++ object files must be created using
+	    # "CC -Bstatic", where "CC" is the KAI C++ compiler.
+	    _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs'
+	    ;;
+	  icpc* | ecpc* )
+	    # Intel C++
+	    with_gnu_ld=yes
+	    # version 8.0 and above of icpc choke on multiply defined symbols
+	    # if we add $predep_objects and $postdep_objects, however 7.1 and
+	    # earlier do not add the objects themselves.
+	    case `$CC -V 2>&1` in
+	      *"Version 7."*)
+	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
+		_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+		;;
+	      *)  # Version 8.0 or newer
+	        tmp_idyn=
+	        case $host_cpu in
+		  ia64*) tmp_idyn=' -i_dynamic';;
+		esac
+	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+		_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+		;;
+	    esac
+	    _LT_TAGVAR(archive_cmds_need_lc, $1)=no
+	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+	    _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
+	    _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
+	    ;;
+          pgCC* | pgcpp*)
+            # Portland Group C++ compiler
+	    case `$CC -V` in
+	    *pgCC\ [[1-5]].* | *pgcpp\ [[1-5]].*)
+	      _LT_TAGVAR(prelink_cmds, $1)='tpldir=Template.dir~
+		rm -rf $tpldir~
+		$CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~
+		compile_command="$compile_command `find $tpldir -name \*.o | sort | $NL2SP`"'
+	      _LT_TAGVAR(old_archive_cmds, $1)='tpldir=Template.dir~
+		rm -rf $tpldir~
+		$CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~
+		$AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | sort | $NL2SP`~
+		$RANLIB $oldlib'
+	      _LT_TAGVAR(archive_cmds, $1)='tpldir=Template.dir~
+		rm -rf $tpldir~
+		$CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
+		$CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
+	      _LT_TAGVAR(archive_expsym_cmds, $1)='tpldir=Template.dir~
+		rm -rf $tpldir~
+		$CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
+		$CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
+	      ;;
+	    *) # Version 6 and above use weak symbols
+	      _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
+	      _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
+	      ;;
+	    esac
+
+	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir'
+	    _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
+	    _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
+            ;;
+	  cxx*)
+	    # Compaq C++
+	    _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
+	    _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname  -o $lib ${wl}-retain-symbols-file $wl$export_symbols'
+
+	    runpath_var=LD_RUN_PATH
+	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
+	    _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+
+	    # Commands to make compiler produce verbose output that lists
+	    # what "hidden" libraries, object files and flags are used when
+	    # linking a shared library.
+	    #
+	    # There doesn't appear to be a way to prevent this compiler from
+	    # explicitly linking system object files so we need to strip them
+	    # from the output so that they don't get included in the library
+	    # dependencies.
+	    output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "X$list" | $Xsed'
+	    ;;
+	  xl* | mpixl* | bgxl*)
+	    # IBM XL 8.0 on PPC, with GNU ld
+	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+	    _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
+	    _LT_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+	    if test "x$supports_anon_versioning" = xyes; then
+	      _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
+		cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+		echo "local: *; };" >> $output_objdir/$libname.ver~
+		$CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
+	    fi
+	    ;;
+	  *)
+	    case `$CC -V 2>&1 | sed 5q` in
+	    *Sun\ C*)
+	      # Sun C++ 5.9
+	      _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs'
+	      _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+	      _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols'
+	      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+	      _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
+	      _LT_TAGVAR(compiler_needs_object, $1)=yes
+
+	      # Not sure whether something based on
+	      # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1
+	      # would be better.
+	      output_verbose_link_cmd='func_echo_all'
+
+	      # Archives containing C++ object files must be created using
+	      # "CC -xar", where "CC" is the Sun C++ compiler.  This is
+	      # necessary to make sure instantiated templates are included
+	      # in the archive.
+	      _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
+	      ;;
+	    esac
+	    ;;
+	esac
+	;;
+
+      lynxos*)
+        # FIXME: insert proper C++ library support
+	_LT_TAGVAR(ld_shlibs, $1)=no
+	;;
+
+      m88k*)
+        # FIXME: insert proper C++ library support
+        _LT_TAGVAR(ld_shlibs, $1)=no
+	;;
+
+      mvs*)
+        case $cc_basename in
+          cxx*)
+	    # FIXME: insert proper C++ library support
+	    _LT_TAGVAR(ld_shlibs, $1)=no
+	    ;;
+	  *)
+	    # FIXME: insert proper C++ library support
+	    _LT_TAGVAR(ld_shlibs, $1)=no
+	    ;;
+	esac
+	;;
+
+      netbsd*)
+        if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
+	  _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable  -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags'
+	  wlarc=
+	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+	  _LT_TAGVAR(hardcode_direct, $1)=yes
+	  _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+	fi
+	# Workaround some broken pre-1.5 toolchains
+	output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"'
+	;;
+
+      *nto* | *qnx*)
+        _LT_TAGVAR(ld_shlibs, $1)=yes
+	;;
+
+      openbsd2*)
+        # C++ shared libraries are fairly broken
+	_LT_TAGVAR(ld_shlibs, $1)=no
+	;;
+
+      openbsd*)
+	if test -f /usr/libexec/ld.so; then
+	  _LT_TAGVAR(hardcode_direct, $1)=yes
+	  _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+	  _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
+	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
+	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+	  if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+	    _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib'
+	    _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+	    _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+	  fi
+	  output_verbose_link_cmd=func_echo_all
+	else
+	  _LT_TAGVAR(ld_shlibs, $1)=no
+	fi
+	;;
+
+      osf3* | osf4* | osf5*)
+        case $cc_basename in
+          KCC*)
+	    # Kuck and Associates, Inc. (KAI) C++ Compiler
+
+	    # KCC will only create a shared library if the output file
+	    # ends with ".so" (or ".sl" for HP-UX), so rename the library
+	    # to its proper name (with version) after linking.
+	    _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo "$lib" | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
+
+	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+	    _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+
+	    # Archives containing C++ object files must be created using
+	    # the KAI C++ compiler.
+	    case $host in
+	      osf3*) _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' ;;
+	      *) _LT_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' ;;
+	    esac
+	    ;;
+          RCC*)
+	    # Rational C++ 2.4.1
+	    # FIXME: insert proper C++ library support
+	    _LT_TAGVAR(ld_shlibs, $1)=no
+	    ;;
+          cxx*)
+	    case $host in
+	      osf3*)
+	        _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
+	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && func_echo_all "${wl}-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
+	        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+		;;
+	      *)
+	        _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
+	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
+	        _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~
+	          echo "-hidden">> $lib.exp~
+	          $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname ${wl}-input ${wl}$lib.exp  `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~
+	          $RM $lib.exp'
+	        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
+		;;
+	    esac
+
+	    _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+
+	    # Commands to make compiler produce verbose output that lists
+	    # what "hidden" libraries, object files and flags are used when
+	    # linking a shared library.
+	    #
+	    # There doesn't appear to be a way to prevent this compiler from
+	    # explicitly linking system object files so we need to strip them
+	    # from the output so that they don't get included in the library
+	    # dependencies.
+	    output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
+	    ;;
+	  *)
+	    if test "$GXX" = yes && test "$with_gnu_ld" = no; then
+	      _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
+	      case $host in
+	        osf3*)
+	          _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+		  ;;
+	        *)
+	          _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+		  ;;
+	      esac
+
+	      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+	      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+
+	      # Commands to make compiler produce verbose output that lists
+	      # what "hidden" libraries, object files and flags are used when
+	      # linking a shared library.
+	      output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
+
+	    else
+	      # FIXME: insert proper C++ library support
+	      _LT_TAGVAR(ld_shlibs, $1)=no
+	    fi
+	    ;;
+        esac
+        ;;
+
+      psos*)
+        # FIXME: insert proper C++ library support
+        _LT_TAGVAR(ld_shlibs, $1)=no
+        ;;
+
+      sunos4*)
+        case $cc_basename in
+          CC*)
+	    # Sun C++ 4.x
+	    # FIXME: insert proper C++ library support
+	    _LT_TAGVAR(ld_shlibs, $1)=no
+	    ;;
+          lcc*)
+	    # Lucid
+	    # FIXME: insert proper C++ library support
+	    _LT_TAGVAR(ld_shlibs, $1)=no
+	    ;;
+          *)
+	    # FIXME: insert proper C++ library support
+	    _LT_TAGVAR(ld_shlibs, $1)=no
+	    ;;
+        esac
+        ;;
+
+      solaris*)
+        case $cc_basename in
+          CC* | sunCC*)
+	    # Sun C++ 4.2, 5.x and Centerline C++
+            _LT_TAGVAR(archive_cmds_need_lc,$1)=yes
+	    _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs'
+	    _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag}  -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+	    _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+	      $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
+
+	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+	    _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+	    case $host_os in
+	      solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
+	      *)
+		# The compiler driver will combine and reorder linker options,
+		# but understands `-z linker_flag'.
+	        # Supported since Solaris 2.6 (maybe 2.5.1?)
+		_LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
+	        ;;
+	    esac
+	    _LT_TAGVAR(link_all_deplibs, $1)=yes
+
+	    output_verbose_link_cmd='func_echo_all'
+
+	    # Archives containing C++ object files must be created using
+	    # "CC -xar", where "CC" is the Sun C++ compiler.  This is
+	    # necessary to make sure instantiated templates are included
+	    # in the archive.
+	    _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
+	    ;;
+          gcx*)
+	    # Green Hills C++ Compiler
+	    _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
+
+	    # The C++ compiler must be used to create the archive.
+	    _LT_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs'
+	    ;;
+          *)
+	    # GNU C++ compiler with Solaris linker
+	    if test "$GXX" = yes && test "$with_gnu_ld" = no; then
+	      _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs'
+	      if $CC --version | $GREP -v '^2\.7' > /dev/null; then
+	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
+	        _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+		  $CC -shared $pic_flag -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
+
+	        # Commands to make compiler produce verbose output that lists
+	        # what "hidden" libraries, object files and flags are used when
+	        # linking a shared library.
+	        output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
+	      else
+	        # g++ 2.7 appears to require `-G' NOT `-shared' on this
+	        # platform.
+	        _LT_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
+	        _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+		  $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
+
+	        # Commands to make compiler produce verbose output that lists
+	        # what "hidden" libraries, object files and flags are used when
+	        # linking a shared library.
+	        output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
+	      fi
+
+	      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir'
+	      case $host_os in
+		solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
+		*)
+		  _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
+		  ;;
+	      esac
+	    fi
+	    ;;
+        esac
+        ;;
+
+    sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
+      _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
+      _LT_TAGVAR(archive_cmds_need_lc, $1)=no
+      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+      runpath_var='LD_RUN_PATH'
+
+      case $cc_basename in
+        CC*)
+	  _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	  _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	  ;;
+	*)
+	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	  _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	  ;;
+      esac
+      ;;
+
+      sysv5* | sco3.2v5* | sco5v6*)
+	# Note: We can NOT use -z defs as we might desire, because we do not
+	# link with -lc, and that would cause any symbols used from libc to
+	# always be unresolved, which means just about no library would
+	# ever link correctly.  If we're not using GNU ld we use -z text
+	# though, which does catch some bad symbols but isn't as heavy-handed
+	# as -z defs.
+	_LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
+	_LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs'
+	_LT_TAGVAR(archive_cmds_need_lc, $1)=no
+	_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir'
+	_LT_TAGVAR(hardcode_libdir_separator, $1)=':'
+	_LT_TAGVAR(link_all_deplibs, $1)=yes
+	_LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport'
+	runpath_var='LD_RUN_PATH'
+
+	case $cc_basename in
+          CC*)
+	    _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	    _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	    _LT_TAGVAR(old_archive_cmds, $1)='$CC -Tprelink_objects $oldobjs~
+	      '"$_LT_TAGVAR(old_archive_cmds, $1)"
+	    _LT_TAGVAR(reload_cmds, $1)='$CC -Tprelink_objects $reload_objs~
+	      '"$_LT_TAGVAR(reload_cmds, $1)"
+	    ;;
+	  *)
+	    _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	    _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	    ;;
+	esac
+      ;;
+
+      tandem*)
+        case $cc_basename in
+          NCC*)
+	    # NonStop-UX NCC 3.20
+	    # FIXME: insert proper C++ library support
+	    _LT_TAGVAR(ld_shlibs, $1)=no
+	    ;;
+          *)
+	    # FIXME: insert proper C++ library support
+	    _LT_TAGVAR(ld_shlibs, $1)=no
+	    ;;
+        esac
+        ;;
+
+      vxworks*)
+        # FIXME: insert proper C++ library support
+        _LT_TAGVAR(ld_shlibs, $1)=no
+        ;;
+
+      *)
+        # FIXME: insert proper C++ library support
+        _LT_TAGVAR(ld_shlibs, $1)=no
+        ;;
+    esac
+
+    AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)])
+    test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
+
+    _LT_TAGVAR(GCC, $1)="$GXX"
+    _LT_TAGVAR(LD, $1)="$LD"
+
+    ## CAVEAT EMPTOR:
+    ## There is no encapsulation within the following macros, do not change
+    ## the running order or otherwise move them around unless you know exactly
+    ## what you are doing...
+    _LT_SYS_HIDDEN_LIBDEPS($1)
+    _LT_COMPILER_PIC($1)
+    _LT_COMPILER_C_O($1)
+    _LT_COMPILER_FILE_LOCKS($1)
+    _LT_LINKER_SHLIBS($1)
+    _LT_SYS_DYNAMIC_LINKER($1)
+    _LT_LINKER_HARDCODE_LIBPATH($1)
+
+    _LT_CONFIG($1)
+  fi # test -n "$compiler"
+
+  CC=$lt_save_CC
+  CFLAGS=$lt_save_CFLAGS
+  LDCXX=$LD
+  LD=$lt_save_LD
+  GCC=$lt_save_GCC
+  with_gnu_ld=$lt_save_with_gnu_ld
+  lt_cv_path_LDCXX=$lt_cv_path_LD
+  lt_cv_path_LD=$lt_save_path_LD
+  lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld
+  lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld
+fi # test "$_lt_caught_CXX_error" != yes
+
+AC_LANG_POP
+])# _LT_LANG_CXX_CONFIG
+
+
+# _LT_FUNC_STRIPNAME_CNF
+# ----------------------
+# func_stripname_cnf prefix suffix name
+# strip PREFIX and SUFFIX off of NAME.
+# PREFIX and SUFFIX must not contain globbing or regex special
+# characters, hashes, percent signs, but SUFFIX may contain a leading
+# dot (in which case that matches only a dot).
+#
+# This function is identical to the (non-XSI) version of func_stripname,
+# except this one can be used by m4 code that may be executed by configure,
+# rather than the libtool script.
+m4_defun([_LT_FUNC_STRIPNAME_CNF],[dnl
+AC_REQUIRE([_LT_DECL_SED])
+AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])
+func_stripname_cnf ()
+{
+  case ${2} in
+  .*) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%\\\\${2}\$%%"`;;
+  *)  func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%${2}\$%%"`;;
+  esac
+} # func_stripname_cnf
+])# _LT_FUNC_STRIPNAME_CNF
+
+# _LT_SYS_HIDDEN_LIBDEPS([TAGNAME])
+# ---------------------------------
+# Figure out "hidden" library dependencies from verbose
+# compiler output when linking a shared library.
+# Parse the compiler output and extract the necessary
+# objects, libraries and library flags.
+m4_defun([_LT_SYS_HIDDEN_LIBDEPS],
+[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+AC_REQUIRE([_LT_FUNC_STRIPNAME_CNF])dnl
+# Dependencies to place before and after the object being linked:
+_LT_TAGVAR(predep_objects, $1)=
+_LT_TAGVAR(postdep_objects, $1)=
+_LT_TAGVAR(predeps, $1)=
+_LT_TAGVAR(postdeps, $1)=
+_LT_TAGVAR(compiler_lib_search_path, $1)=
+
+dnl we can't use the lt_simple_compile_test_code here,
+dnl because it contains code intended for an executable,
+dnl not a library.  It's possible we should let each
+dnl tag define a new lt_????_link_test_code variable,
+dnl but it's only used here...
+m4_if([$1], [], [cat > conftest.$ac_ext <<_LT_EOF
+int a;
+void foo (void) { a = 0; }
+_LT_EOF
+], [$1], [CXX], [cat > conftest.$ac_ext <<_LT_EOF
+class Foo
+{
+public:
+  Foo (void) { a = 0; }
+private:
+  int a;
+};
+_LT_EOF
+], [$1], [F77], [cat > conftest.$ac_ext <<_LT_EOF
+      subroutine foo
+      implicit none
+      integer*4 a
+      a=0
+      return
+      end
+_LT_EOF
+], [$1], [FC], [cat > conftest.$ac_ext <<_LT_EOF
+      subroutine foo
+      implicit none
+      integer a
+      a=0
+      return
+      end
+_LT_EOF
+], [$1], [GCJ], [cat > conftest.$ac_ext <<_LT_EOF
+public class foo {
+  private int a;
+  public void bar (void) {
+    a = 0;
+  }
+};
+_LT_EOF
+], [$1], [GO], [cat > conftest.$ac_ext <<_LT_EOF
+package foo
+func foo() {
+}
+_LT_EOF
+])
+
+_lt_libdeps_save_CFLAGS=$CFLAGS
+case "$CC $CFLAGS " in #(
+*\ -flto*\ *) CFLAGS="$CFLAGS -fno-lto" ;;
+*\ -fwhopr*\ *) CFLAGS="$CFLAGS -fno-whopr" ;;
+*\ -fuse-linker-plugin*\ *) CFLAGS="$CFLAGS -fno-use-linker-plugin" ;;
+esac
+
+dnl Parse the compiler output and extract the necessary
+dnl objects, libraries and library flags.
+if AC_TRY_EVAL(ac_compile); then
+  # Parse the compiler output and extract the necessary
+  # objects, libraries and library flags.
+
+  # Sentinel used to keep track of whether or not we are before
+  # the conftest object file.
+  pre_test_object_deps_done=no
+
+  for p in `eval "$output_verbose_link_cmd"`; do
+    case ${prev}${p} in
+
+    -L* | -R* | -l*)
+       # Some compilers place space between "-{L,R}" and the path.
+       # Remove the space.
+       if test $p = "-L" ||
+          test $p = "-R"; then
+	 prev=$p
+	 continue
+       fi
+
+       # Expand the sysroot to ease extracting the directories later.
+       if test -z "$prev"; then
+         case $p in
+         -L*) func_stripname_cnf '-L' '' "$p"; prev=-L; p=$func_stripname_result ;;
+         -R*) func_stripname_cnf '-R' '' "$p"; prev=-R; p=$func_stripname_result ;;
+         -l*) func_stripname_cnf '-l' '' "$p"; prev=-l; p=$func_stripname_result ;;
+         esac
+       fi
+       case $p in
+       =*) func_stripname_cnf '=' '' "$p"; p=$lt_sysroot$func_stripname_result ;;
+       esac
+       if test "$pre_test_object_deps_done" = no; then
+	 case ${prev} in
+	 -L | -R)
+	   # Internal compiler library paths should come after those
+	   # provided the user.  The postdeps already come after the
+	   # user supplied libs so there is no need to process them.
+	   if test -z "$_LT_TAGVAR(compiler_lib_search_path, $1)"; then
+	     _LT_TAGVAR(compiler_lib_search_path, $1)="${prev}${p}"
+	   else
+	     _LT_TAGVAR(compiler_lib_search_path, $1)="${_LT_TAGVAR(compiler_lib_search_path, $1)} ${prev}${p}"
+	   fi
+	   ;;
+	 # The "-l" case would never come before the object being
+	 # linked, so don't bother handling this case.
+	 esac
+       else
+	 if test -z "$_LT_TAGVAR(postdeps, $1)"; then
+	   _LT_TAGVAR(postdeps, $1)="${prev}${p}"
+	 else
+	   _LT_TAGVAR(postdeps, $1)="${_LT_TAGVAR(postdeps, $1)} ${prev}${p}"
+	 fi
+       fi
+       prev=
+       ;;
+
+    *.lto.$objext) ;; # Ignore GCC LTO objects
+    *.$objext)
+       # This assumes that the test object file only shows up
+       # once in the compiler output.
+       if test "$p" = "conftest.$objext"; then
+	 pre_test_object_deps_done=yes
+	 continue
+       fi
+
+       if test "$pre_test_object_deps_done" = no; then
+	 if test -z "$_LT_TAGVAR(predep_objects, $1)"; then
+	   _LT_TAGVAR(predep_objects, $1)="$p"
+	 else
+	   _LT_TAGVAR(predep_objects, $1)="$_LT_TAGVAR(predep_objects, $1) $p"
+	 fi
+       else
+	 if test -z "$_LT_TAGVAR(postdep_objects, $1)"; then
+	   _LT_TAGVAR(postdep_objects, $1)="$p"
+	 else
+	   _LT_TAGVAR(postdep_objects, $1)="$_LT_TAGVAR(postdep_objects, $1) $p"
+	 fi
+       fi
+       ;;
+
+    *) ;; # Ignore the rest.
+
+    esac
+  done
+
+  # Clean up.
+  rm -f a.out a.exe
+else
+  echo "libtool.m4: error: problem compiling $1 test program"
+fi
+
+$RM -f confest.$objext
+CFLAGS=$_lt_libdeps_save_CFLAGS
+
+# PORTME: override above test on systems where it is broken
+m4_if([$1], [CXX],
+[case $host_os in
+interix[[3-9]]*)
+  # Interix 3.5 installs completely hosed .la files for C++, so rather than
+  # hack all around it, let's just trust "g++" to DTRT.
+  _LT_TAGVAR(predep_objects,$1)=
+  _LT_TAGVAR(postdep_objects,$1)=
+  _LT_TAGVAR(postdeps,$1)=
+  ;;
+
+linux*)
+  case `$CC -V 2>&1 | sed 5q` in
+  *Sun\ C*)
+    # Sun C++ 5.9
+
+    # The more standards-conforming stlport4 library is
+    # incompatible with the Cstd library. Avoid specifying
+    # it if it's in CXXFLAGS. Ignore libCrun as
+    # -library=stlport4 depends on it.
+    case " $CXX $CXXFLAGS " in
+    *" -library=stlport4 "*)
+      solaris_use_stlport4=yes
+      ;;
+    esac
+
+    if test "$solaris_use_stlport4" != yes; then
+      _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun'
+    fi
+    ;;
+  esac
+  ;;
+
+solaris*)
+  case $cc_basename in
+  CC* | sunCC*)
+    # The more standards-conforming stlport4 library is
+    # incompatible with the Cstd library. Avoid specifying
+    # it if it's in CXXFLAGS. Ignore libCrun as
+    # -library=stlport4 depends on it.
+    case " $CXX $CXXFLAGS " in
+    *" -library=stlport4 "*)
+      solaris_use_stlport4=yes
+      ;;
+    esac
+
+    # Adding this requires a known-good setup of shared libraries for
+    # Sun compiler versions before 5.6, else PIC objects from an old
+    # archive will be linked into the output, leading to subtle bugs.
+    if test "$solaris_use_stlport4" != yes; then
+      _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun'
+    fi
+    ;;
+  esac
+  ;;
+esac
+])
+
+case " $_LT_TAGVAR(postdeps, $1) " in
+*" -lc "*) _LT_TAGVAR(archive_cmds_need_lc, $1)=no ;;
+esac
+ _LT_TAGVAR(compiler_lib_search_dirs, $1)=
+if test -n "${_LT_TAGVAR(compiler_lib_search_path, $1)}"; then
+ _LT_TAGVAR(compiler_lib_search_dirs, $1)=`echo " ${_LT_TAGVAR(compiler_lib_search_path, $1)}" | ${SED} -e 's! -L! !g' -e 's!^ !!'`
+fi
+_LT_TAGDECL([], [compiler_lib_search_dirs], [1],
+    [The directories searched by this compiler when creating a shared library])
+_LT_TAGDECL([], [predep_objects], [1],
+    [Dependencies to place before and after the objects being linked to
+    create a shared library])
+_LT_TAGDECL([], [postdep_objects], [1])
+_LT_TAGDECL([], [predeps], [1])
+_LT_TAGDECL([], [postdeps], [1])
+_LT_TAGDECL([], [compiler_lib_search_path], [1],
+    [The library search path used internally by the compiler when linking
+    a shared library])
+])# _LT_SYS_HIDDEN_LIBDEPS
+
+
+# _LT_LANG_F77_CONFIG([TAG])
+# --------------------------
+# Ensure that the configuration variables for a Fortran 77 compiler are
+# suitably defined.  These variables are subsequently used by _LT_CONFIG
+# to write the compiler configuration to `libtool'.
+m4_defun([_LT_LANG_F77_CONFIG],
+[AC_LANG_PUSH(Fortran 77)
+if test -z "$F77" || test "X$F77" = "Xno"; then
+  _lt_disable_F77=yes
+fi
+
+_LT_TAGVAR(archive_cmds_need_lc, $1)=no
+_LT_TAGVAR(allow_undefined_flag, $1)=
+_LT_TAGVAR(always_export_symbols, $1)=no
+_LT_TAGVAR(archive_expsym_cmds, $1)=
+_LT_TAGVAR(export_dynamic_flag_spec, $1)=
+_LT_TAGVAR(hardcode_direct, $1)=no
+_LT_TAGVAR(hardcode_direct_absolute, $1)=no
+_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
+_LT_TAGVAR(hardcode_libdir_separator, $1)=
+_LT_TAGVAR(hardcode_minus_L, $1)=no
+_LT_TAGVAR(hardcode_automatic, $1)=no
+_LT_TAGVAR(inherit_rpath, $1)=no
+_LT_TAGVAR(module_cmds, $1)=
+_LT_TAGVAR(module_expsym_cmds, $1)=
+_LT_TAGVAR(link_all_deplibs, $1)=unknown
+_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
+_LT_TAGVAR(reload_flag, $1)=$reload_flag
+_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
+_LT_TAGVAR(no_undefined_flag, $1)=
+_LT_TAGVAR(whole_archive_flag_spec, $1)=
+_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
+
+# Source file extension for f77 test sources.
+ac_ext=f
+
+# Object file extension for compiled f77 test sources.
+objext=o
+_LT_TAGVAR(objext, $1)=$objext
+
+# No sense in running all these tests if we already determined that
+# the F77 compiler isn't working.  Some variables (like enable_shared)
+# are currently assumed to apply to all compilers on this platform,
+# and will be corrupted by setting them based on a non-working compiler.
+if test "$_lt_disable_F77" != yes; then
+  # Code to be used in simple compile tests
+  lt_simple_compile_test_code="\
+      subroutine t
+      return
+      end
+"
+
+  # Code to be used in simple link tests
+  lt_simple_link_test_code="\
+      program t
+      end
+"
+
+  # ltmain only uses $CC for tagged configurations so make sure $CC is set.
+  _LT_TAG_COMPILER
+
+  # save warnings/boilerplate of simple test code
+  _LT_COMPILER_BOILERPLATE
+  _LT_LINKER_BOILERPLATE
+
+  # Allow CC to be a program name with arguments.
+  lt_save_CC="$CC"
+  lt_save_GCC=$GCC
+  lt_save_CFLAGS=$CFLAGS
+  CC=${F77-"f77"}
+  CFLAGS=$FFLAGS
+  compiler=$CC
+  _LT_TAGVAR(compiler, $1)=$CC
+  _LT_CC_BASENAME([$compiler])
+  GCC=$G77
+  if test -n "$compiler"; then
+    AC_MSG_CHECKING([if libtool supports shared libraries])
+    AC_MSG_RESULT([$can_build_shared])
+
+    AC_MSG_CHECKING([whether to build shared libraries])
+    test "$can_build_shared" = "no" && enable_shared=no
+
+    # On AIX, shared libraries and static libraries use the same namespace, and
+    # are all built from PIC.
+    case $host_os in
+      aix3*)
+        test "$enable_shared" = yes && enable_static=no
+        if test -n "$RANLIB"; then
+          archive_cmds="$archive_cmds~\$RANLIB \$lib"
+          postinstall_cmds='$RANLIB $lib'
+        fi
+        ;;
+      aix[[4-9]]*)
+	if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
+	  test "$enable_shared" = yes && enable_static=no
+	fi
+        ;;
+    esac
+    AC_MSG_RESULT([$enable_shared])
+
+    AC_MSG_CHECKING([whether to build static libraries])
+    # Make sure either enable_shared or enable_static is yes.
+    test "$enable_shared" = yes || enable_static=yes
+    AC_MSG_RESULT([$enable_static])
+
+    _LT_TAGVAR(GCC, $1)="$G77"
+    _LT_TAGVAR(LD, $1)="$LD"
+
+    ## CAVEAT EMPTOR:
+    ## There is no encapsulation within the following macros, do not change
+    ## the running order or otherwise move them around unless you know exactly
+    ## what you are doing...
+    _LT_COMPILER_PIC($1)
+    _LT_COMPILER_C_O($1)
+    _LT_COMPILER_FILE_LOCKS($1)
+    _LT_LINKER_SHLIBS($1)
+    _LT_SYS_DYNAMIC_LINKER($1)
+    _LT_LINKER_HARDCODE_LIBPATH($1)
+
+    _LT_CONFIG($1)
+  fi # test -n "$compiler"
+
+  GCC=$lt_save_GCC
+  CC="$lt_save_CC"
+  CFLAGS="$lt_save_CFLAGS"
+fi # test "$_lt_disable_F77" != yes
+
+AC_LANG_POP
+])# _LT_LANG_F77_CONFIG
+
+
+# _LT_LANG_FC_CONFIG([TAG])
+# -------------------------
+# Ensure that the configuration variables for a Fortran compiler are
+# suitably defined.  These variables are subsequently used by _LT_CONFIG
+# to write the compiler configuration to `libtool'.
+m4_defun([_LT_LANG_FC_CONFIG],
+[AC_LANG_PUSH(Fortran)
+
+if test -z "$FC" || test "X$FC" = "Xno"; then
+  _lt_disable_FC=yes
+fi
+
+_LT_TAGVAR(archive_cmds_need_lc, $1)=no
+_LT_TAGVAR(allow_undefined_flag, $1)=
+_LT_TAGVAR(always_export_symbols, $1)=no
+_LT_TAGVAR(archive_expsym_cmds, $1)=
+_LT_TAGVAR(export_dynamic_flag_spec, $1)=
+_LT_TAGVAR(hardcode_direct, $1)=no
+_LT_TAGVAR(hardcode_direct_absolute, $1)=no
+_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
+_LT_TAGVAR(hardcode_libdir_separator, $1)=
+_LT_TAGVAR(hardcode_minus_L, $1)=no
+_LT_TAGVAR(hardcode_automatic, $1)=no
+_LT_TAGVAR(inherit_rpath, $1)=no
+_LT_TAGVAR(module_cmds, $1)=
+_LT_TAGVAR(module_expsym_cmds, $1)=
+_LT_TAGVAR(link_all_deplibs, $1)=unknown
+_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
+_LT_TAGVAR(reload_flag, $1)=$reload_flag
+_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
+_LT_TAGVAR(no_undefined_flag, $1)=
+_LT_TAGVAR(whole_archive_flag_spec, $1)=
+_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
+
+# Source file extension for fc test sources.
+ac_ext=${ac_fc_srcext-f}
+
+# Object file extension for compiled fc test sources.
+objext=o
+_LT_TAGVAR(objext, $1)=$objext
+
+# No sense in running all these tests if we already determined that
+# the FC compiler isn't working.  Some variables (like enable_shared)
+# are currently assumed to apply to all compilers on this platform,
+# and will be corrupted by setting them based on a non-working compiler.
+if test "$_lt_disable_FC" != yes; then
+  # Code to be used in simple compile tests
+  lt_simple_compile_test_code="\
+      subroutine t
+      return
+      end
+"
+
+  # Code to be used in simple link tests
+  lt_simple_link_test_code="\
+      program t
+      end
+"
+
+  # ltmain only uses $CC for tagged configurations so make sure $CC is set.
+  _LT_TAG_COMPILER
+
+  # save warnings/boilerplate of simple test code
+  _LT_COMPILER_BOILERPLATE
+  _LT_LINKER_BOILERPLATE
+
+  # Allow CC to be a program name with arguments.
+  lt_save_CC="$CC"
+  lt_save_GCC=$GCC
+  lt_save_CFLAGS=$CFLAGS
+  CC=${FC-"f95"}
+  CFLAGS=$FCFLAGS
+  compiler=$CC
+  GCC=$ac_cv_fc_compiler_gnu
+
+  _LT_TAGVAR(compiler, $1)=$CC
+  _LT_CC_BASENAME([$compiler])
+
+  if test -n "$compiler"; then
+    AC_MSG_CHECKING([if libtool supports shared libraries])
+    AC_MSG_RESULT([$can_build_shared])
+
+    AC_MSG_CHECKING([whether to build shared libraries])
+    test "$can_build_shared" = "no" && enable_shared=no
+
+    # On AIX, shared libraries and static libraries use the same namespace, and
+    # are all built from PIC.
+    case $host_os in
+      aix3*)
+        test "$enable_shared" = yes && enable_static=no
+        if test -n "$RANLIB"; then
+          archive_cmds="$archive_cmds~\$RANLIB \$lib"
+          postinstall_cmds='$RANLIB $lib'
+        fi
+        ;;
+      aix[[4-9]]*)
+	if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
+	  test "$enable_shared" = yes && enable_static=no
+	fi
+        ;;
+    esac
+    AC_MSG_RESULT([$enable_shared])
+
+    AC_MSG_CHECKING([whether to build static libraries])
+    # Make sure either enable_shared or enable_static is yes.
+    test "$enable_shared" = yes || enable_static=yes
+    AC_MSG_RESULT([$enable_static])
+
+    _LT_TAGVAR(GCC, $1)="$ac_cv_fc_compiler_gnu"
+    _LT_TAGVAR(LD, $1)="$LD"
+
+    ## CAVEAT EMPTOR:
+    ## There is no encapsulation within the following macros, do not change
+    ## the running order or otherwise move them around unless you know exactly
+    ## what you are doing...
+    _LT_SYS_HIDDEN_LIBDEPS($1)
+    _LT_COMPILER_PIC($1)
+    _LT_COMPILER_C_O($1)
+    _LT_COMPILER_FILE_LOCKS($1)
+    _LT_LINKER_SHLIBS($1)
+    _LT_SYS_DYNAMIC_LINKER($1)
+    _LT_LINKER_HARDCODE_LIBPATH($1)
+
+    _LT_CONFIG($1)
+  fi # test -n "$compiler"
+
+  GCC=$lt_save_GCC
+  CC=$lt_save_CC
+  CFLAGS=$lt_save_CFLAGS
+fi # test "$_lt_disable_FC" != yes
+
+AC_LANG_POP
+])# _LT_LANG_FC_CONFIG
+
+
+# _LT_LANG_GCJ_CONFIG([TAG])
+# --------------------------
+# Ensure that the configuration variables for the GNU Java Compiler compiler
+# are suitably defined.  These variables are subsequently used by _LT_CONFIG
+# to write the compiler configuration to `libtool'.
+m4_defun([_LT_LANG_GCJ_CONFIG],
+[AC_REQUIRE([LT_PROG_GCJ])dnl
+AC_LANG_SAVE
+
+# Source file extension for Java test sources.
+ac_ext=java
+
+# Object file extension for compiled Java test sources.
+objext=o
+_LT_TAGVAR(objext, $1)=$objext
+
+# Code to be used in simple compile tests
+lt_simple_compile_test_code="class foo {}"
+
+# Code to be used in simple link tests
+lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }'
+
+# ltmain only uses $CC for tagged configurations so make sure $CC is set.
+_LT_TAG_COMPILER
+
+# save warnings/boilerplate of simple test code
+_LT_COMPILER_BOILERPLATE
+_LT_LINKER_BOILERPLATE
+
+# Allow CC to be a program name with arguments.
+lt_save_CC=$CC
+lt_save_CFLAGS=$CFLAGS
+lt_save_GCC=$GCC
+GCC=yes
+CC=${GCJ-"gcj"}
+CFLAGS=$GCJFLAGS
+compiler=$CC
+_LT_TAGVAR(compiler, $1)=$CC
+_LT_TAGVAR(LD, $1)="$LD"
+_LT_CC_BASENAME([$compiler])
+
+# GCJ did not exist at the time GCC didn't implicitly link libc in.
+_LT_TAGVAR(archive_cmds_need_lc, $1)=no
+
+_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
+_LT_TAGVAR(reload_flag, $1)=$reload_flag
+_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
+
+## CAVEAT EMPTOR:
+## There is no encapsulation within the following macros, do not change
+## the running order or otherwise move them around unless you know exactly
+## what you are doing...
+if test -n "$compiler"; then
+  _LT_COMPILER_NO_RTTI($1)
+  _LT_COMPILER_PIC($1)
+  _LT_COMPILER_C_O($1)
+  _LT_COMPILER_FILE_LOCKS($1)
+  _LT_LINKER_SHLIBS($1)
+  _LT_LINKER_HARDCODE_LIBPATH($1)
+
+  _LT_CONFIG($1)
+fi
+
+AC_LANG_RESTORE
+
+GCC=$lt_save_GCC
+CC=$lt_save_CC
+CFLAGS=$lt_save_CFLAGS
+])# _LT_LANG_GCJ_CONFIG
+
+
+# _LT_LANG_GO_CONFIG([TAG])
+# --------------------------
+# Ensure that the configuration variables for the GNU Go compiler
+# are suitably defined.  These variables are subsequently used by _LT_CONFIG
+# to write the compiler configuration to `libtool'.
+m4_defun([_LT_LANG_GO_CONFIG],
+[AC_REQUIRE([LT_PROG_GO])dnl
+AC_LANG_SAVE
+
+# Source file extension for Go test sources.
+ac_ext=go
+
+# Object file extension for compiled Go test sources.
+objext=o
+_LT_TAGVAR(objext, $1)=$objext
+
+# Code to be used in simple compile tests
+lt_simple_compile_test_code="package main; func main() { }"
+
+# Code to be used in simple link tests
+lt_simple_link_test_code='package main; func main() { }'
+
+# ltmain only uses $CC for tagged configurations so make sure $CC is set.
+_LT_TAG_COMPILER
+
+# save warnings/boilerplate of simple test code
+_LT_COMPILER_BOILERPLATE
+_LT_LINKER_BOILERPLATE
+
+# Allow CC to be a program name with arguments.
+lt_save_CC=$CC
+lt_save_CFLAGS=$CFLAGS
+lt_save_GCC=$GCC
+GCC=yes
+CC=${GOC-"gccgo"}
+CFLAGS=$GOFLAGS
+compiler=$CC
+_LT_TAGVAR(compiler, $1)=$CC
+_LT_TAGVAR(LD, $1)="$LD"
+_LT_CC_BASENAME([$compiler])
+
+# Go did not exist at the time GCC didn't implicitly link libc in.
+_LT_TAGVAR(archive_cmds_need_lc, $1)=no
+
+_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
+_LT_TAGVAR(reload_flag, $1)=$reload_flag
+_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
+
+## CAVEAT EMPTOR:
+## There is no encapsulation within the following macros, do not change
+## the running order or otherwise move them around unless you know exactly
+## what you are doing...
+if test -n "$compiler"; then
+  _LT_COMPILER_NO_RTTI($1)
+  _LT_COMPILER_PIC($1)
+  _LT_COMPILER_C_O($1)
+  _LT_COMPILER_FILE_LOCKS($1)
+  _LT_LINKER_SHLIBS($1)
+  _LT_LINKER_HARDCODE_LIBPATH($1)
+
+  _LT_CONFIG($1)
+fi
+
+AC_LANG_RESTORE
+
+GCC=$lt_save_GCC
+CC=$lt_save_CC
+CFLAGS=$lt_save_CFLAGS
+])# _LT_LANG_GO_CONFIG
+
+
+# _LT_LANG_RC_CONFIG([TAG])
+# -------------------------
+# Ensure that the configuration variables for the Windows resource compiler
+# are suitably defined.  These variables are subsequently used by _LT_CONFIG
+# to write the compiler configuration to `libtool'.
+m4_defun([_LT_LANG_RC_CONFIG],
+[AC_REQUIRE([LT_PROG_RC])dnl
+AC_LANG_SAVE
+
+# Source file extension for RC test sources.
+ac_ext=rc
+
+# Object file extension for compiled RC test sources.
+objext=o
+_LT_TAGVAR(objext, $1)=$objext
+
+# Code to be used in simple compile tests
+lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }'
+
+# Code to be used in simple link tests
+lt_simple_link_test_code="$lt_simple_compile_test_code"
+
+# ltmain only uses $CC for tagged configurations so make sure $CC is set.
+_LT_TAG_COMPILER
+
+# save warnings/boilerplate of simple test code
+_LT_COMPILER_BOILERPLATE
+_LT_LINKER_BOILERPLATE
+
+# Allow CC to be a program name with arguments.
+lt_save_CC="$CC"
+lt_save_CFLAGS=$CFLAGS
+lt_save_GCC=$GCC
+GCC=
+CC=${RC-"windres"}
+CFLAGS=
+compiler=$CC
+_LT_TAGVAR(compiler, $1)=$CC
+_LT_CC_BASENAME([$compiler])
+_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
+
+if test -n "$compiler"; then
+  :
+  _LT_CONFIG($1)
+fi
+
+GCC=$lt_save_GCC
+AC_LANG_RESTORE
+CC=$lt_save_CC
+CFLAGS=$lt_save_CFLAGS
+])# _LT_LANG_RC_CONFIG
+
+
+# LT_PROG_GCJ
+# -----------
+AC_DEFUN([LT_PROG_GCJ],
+[m4_ifdef([AC_PROG_GCJ], [AC_PROG_GCJ],
+  [m4_ifdef([A][M_PROG_GCJ], [A][M_PROG_GCJ],
+    [AC_CHECK_TOOL(GCJ, gcj,)
+      test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2"
+      AC_SUBST(GCJFLAGS)])])[]dnl
+])
+
+# Old name:
+AU_ALIAS([LT_AC_PROG_GCJ], [LT_PROG_GCJ])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([LT_AC_PROG_GCJ], [])
+
+
+# LT_PROG_GO
+# ----------
+AC_DEFUN([LT_PROG_GO],
+[AC_CHECK_TOOL(GOC, gccgo,)
+])
+
+
+# LT_PROG_RC
+# ----------
+AC_DEFUN([LT_PROG_RC],
+[AC_CHECK_TOOL(RC, windres,)
+])
+
+# Old name:
+AU_ALIAS([LT_AC_PROG_RC], [LT_PROG_RC])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([LT_AC_PROG_RC], [])
+
+
+# _LT_DECL_EGREP
+# --------------
+# If we don't have a new enough Autoconf to choose the best grep
+# available, choose the one first in the user's PATH.
+m4_defun([_LT_DECL_EGREP],
+[AC_REQUIRE([AC_PROG_EGREP])dnl
+AC_REQUIRE([AC_PROG_FGREP])dnl
+test -z "$GREP" && GREP=grep
+_LT_DECL([], [GREP], [1], [A grep program that handles long lines])
+_LT_DECL([], [EGREP], [1], [An ERE matcher])
+_LT_DECL([], [FGREP], [1], [A literal string matcher])
+dnl Non-bleeding-edge autoconf doesn't subst GREP, so do it here too
+AC_SUBST([GREP])
+])
+
+
+# _LT_DECL_OBJDUMP
+# --------------
+# If we don't have a new enough Autoconf to choose the best objdump
+# available, choose the one first in the user's PATH.
+m4_defun([_LT_DECL_OBJDUMP],
+[AC_CHECK_TOOL(OBJDUMP, objdump, false)
+test -z "$OBJDUMP" && OBJDUMP=objdump
+_LT_DECL([], [OBJDUMP], [1], [An object symbol dumper])
+AC_SUBST([OBJDUMP])
+])
+
+# _LT_DECL_DLLTOOL
+# ----------------
+# Ensure DLLTOOL variable is set.
+m4_defun([_LT_DECL_DLLTOOL],
+[AC_CHECK_TOOL(DLLTOOL, dlltool, false)
+test -z "$DLLTOOL" && DLLTOOL=dlltool
+_LT_DECL([], [DLLTOOL], [1], [DLL creation program])
+AC_SUBST([DLLTOOL])
+])
+
+# _LT_DECL_SED
+# ------------
+# Check for a fully-functional sed program, that truncates
+# as few characters as possible.  Prefer GNU sed if found.
+m4_defun([_LT_DECL_SED],
+[AC_PROG_SED
+test -z "$SED" && SED=sed
+Xsed="$SED -e 1s/^X//"
+_LT_DECL([], [SED], [1], [A sed program that does not truncate output])
+_LT_DECL([], [Xsed], ["\$SED -e 1s/^X//"],
+    [Sed that helps us avoid accidentally triggering echo(1) options like -n])
+])# _LT_DECL_SED
+
+m4_ifndef([AC_PROG_SED], [
+############################################################
+# NOTE: This macro has been submitted for inclusion into   #
+#  GNU Autoconf as AC_PROG_SED.  When it is available in   #
+#  a released version of Autoconf we should remove this    #
+#  macro and use it instead.                               #
+############################################################
+
+m4_defun([AC_PROG_SED],
+[AC_MSG_CHECKING([for a sed that does not truncate output])
+AC_CACHE_VAL(lt_cv_path_SED,
+[# Loop through the user's path and test for sed and gsed.
+# Then use that list of sed's as ones to test for truncation.
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for lt_ac_prog in sed gsed; do
+    for ac_exec_ext in '' $ac_executable_extensions; do
+      if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then
+        lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext"
+      fi
+    done
+  done
+done
+IFS=$as_save_IFS
+lt_ac_max=0
+lt_ac_count=0
+# Add /usr/xpg4/bin/sed as it is typically found on Solaris
+# along with /bin/sed that truncates output.
+for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do
+  test ! -f $lt_ac_sed && continue
+  cat /dev/null > conftest.in
+  lt_ac_count=0
+  echo $ECHO_N "0123456789$ECHO_C" >conftest.in
+  # Check for GNU sed and select it if it is found.
+  if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then
+    lt_cv_path_SED=$lt_ac_sed
+    break
+  fi
+  while true; do
+    cat conftest.in conftest.in >conftest.tmp
+    mv conftest.tmp conftest.in
+    cp conftest.in conftest.nl
+    echo >>conftest.nl
+    $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break
+    cmp -s conftest.out conftest.nl || break
+    # 10000 chars as input seems more than enough
+    test $lt_ac_count -gt 10 && break
+    lt_ac_count=`expr $lt_ac_count + 1`
+    if test $lt_ac_count -gt $lt_ac_max; then
+      lt_ac_max=$lt_ac_count
+      lt_cv_path_SED=$lt_ac_sed
+    fi
+  done
+done
+])
+SED=$lt_cv_path_SED
+AC_SUBST([SED])
+AC_MSG_RESULT([$SED])
+])#AC_PROG_SED
+])#m4_ifndef
+
+# Old name:
+AU_ALIAS([LT_AC_PROG_SED], [AC_PROG_SED])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([LT_AC_PROG_SED], [])
+
+
+# _LT_CHECK_SHELL_FEATURES
+# ------------------------
+# Find out whether the shell is Bourne or XSI compatible,
+# or has some other useful features.
+m4_defun([_LT_CHECK_SHELL_FEATURES],
+[AC_MSG_CHECKING([whether the shell understands some XSI constructs])
+# Try some XSI features
+xsi_shell=no
+( _lt_dummy="a/b/c"
+  test "${_lt_dummy##*/},${_lt_dummy%/*},${_lt_dummy#??}"${_lt_dummy%"$_lt_dummy"}, \
+      = c,a/b,b/c, \
+    && eval 'test $(( 1 + 1 )) -eq 2 \
+    && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \
+  && xsi_shell=yes
+AC_MSG_RESULT([$xsi_shell])
+_LT_CONFIG_LIBTOOL_INIT([xsi_shell='$xsi_shell'])
+
+AC_MSG_CHECKING([whether the shell understands "+="])
+lt_shell_append=no
+( foo=bar; set foo baz; eval "$[1]+=\$[2]" && test "$foo" = barbaz ) \
+    >/dev/null 2>&1 \
+  && lt_shell_append=yes
+AC_MSG_RESULT([$lt_shell_append])
+_LT_CONFIG_LIBTOOL_INIT([lt_shell_append='$lt_shell_append'])
+
+if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
+  lt_unset=unset
+else
+  lt_unset=false
+fi
+_LT_DECL([], [lt_unset], [0], [whether the shell understands "unset"])dnl
+
+# test EBCDIC or ASCII
+case `echo X|tr X '\101'` in
+ A) # ASCII based system
+    # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
+  lt_SP2NL='tr \040 \012'
+  lt_NL2SP='tr \015\012 \040\040'
+  ;;
+ *) # EBCDIC based system
+  lt_SP2NL='tr \100 \n'
+  lt_NL2SP='tr \r\n \100\100'
+  ;;
+esac
+_LT_DECL([SP2NL], [lt_SP2NL], [1], [turn spaces into newlines])dnl
+_LT_DECL([NL2SP], [lt_NL2SP], [1], [turn newlines into spaces])dnl
+])# _LT_CHECK_SHELL_FEATURES
+
+
+# _LT_PROG_FUNCTION_REPLACE (FUNCNAME, REPLACEMENT-BODY)
+# ------------------------------------------------------
+# In `$cfgfile', look for function FUNCNAME delimited by `^FUNCNAME ()$' and
+# '^} FUNCNAME ', and replace its body with REPLACEMENT-BODY.
+m4_defun([_LT_PROG_FUNCTION_REPLACE],
+[dnl {
+sed -e '/^$1 ()$/,/^} # $1 /c\
+$1 ()\
+{\
+m4_bpatsubsts([$2], [$], [\\], [^\([	 ]\)], [\\\1])
+} # Extended-shell $1 implementation' "$cfgfile" > $cfgfile.tmp \
+  && mv -f "$cfgfile.tmp" "$cfgfile" \
+    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
+test 0 -eq $? || _lt_function_replace_fail=:
+])
+
+
+# _LT_PROG_REPLACE_SHELLFNS
+# -------------------------
+# Replace existing portable implementations of several shell functions with
+# equivalent extended shell implementations where those features are available..
+m4_defun([_LT_PROG_REPLACE_SHELLFNS],
+[if test x"$xsi_shell" = xyes; then
+  _LT_PROG_FUNCTION_REPLACE([func_dirname], [dnl
+    case ${1} in
+      */*) func_dirname_result="${1%/*}${2}" ;;
+      *  ) func_dirname_result="${3}" ;;
+    esac])
+
+  _LT_PROG_FUNCTION_REPLACE([func_basename], [dnl
+    func_basename_result="${1##*/}"])
+
+  _LT_PROG_FUNCTION_REPLACE([func_dirname_and_basename], [dnl
+    case ${1} in
+      */*) func_dirname_result="${1%/*}${2}" ;;
+      *  ) func_dirname_result="${3}" ;;
+    esac
+    func_basename_result="${1##*/}"])
+
+  _LT_PROG_FUNCTION_REPLACE([func_stripname], [dnl
+    # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are
+    # positional parameters, so assign one to ordinary parameter first.
+    func_stripname_result=${3}
+    func_stripname_result=${func_stripname_result#"${1}"}
+    func_stripname_result=${func_stripname_result%"${2}"}])
+
+  _LT_PROG_FUNCTION_REPLACE([func_split_long_opt], [dnl
+    func_split_long_opt_name=${1%%=*}
+    func_split_long_opt_arg=${1#*=}])
+
+  _LT_PROG_FUNCTION_REPLACE([func_split_short_opt], [dnl
+    func_split_short_opt_arg=${1#??}
+    func_split_short_opt_name=${1%"$func_split_short_opt_arg"}])
+
+  _LT_PROG_FUNCTION_REPLACE([func_lo2o], [dnl
+    case ${1} in
+      *.lo) func_lo2o_result=${1%.lo}.${objext} ;;
+      *)    func_lo2o_result=${1} ;;
+    esac])
+
+  _LT_PROG_FUNCTION_REPLACE([func_xform], [    func_xform_result=${1%.*}.lo])
+
+  _LT_PROG_FUNCTION_REPLACE([func_arith], [    func_arith_result=$(( $[*] ))])
+
+  _LT_PROG_FUNCTION_REPLACE([func_len], [    func_len_result=${#1}])
+fi
+
+if test x"$lt_shell_append" = xyes; then
+  _LT_PROG_FUNCTION_REPLACE([func_append], [    eval "${1}+=\\${2}"])
+
+  _LT_PROG_FUNCTION_REPLACE([func_append_quoted], [dnl
+    func_quote_for_eval "${2}"
+dnl m4 expansion turns \\\\ into \\, and then the shell eval turns that into \
+    eval "${1}+=\\\\ \\$func_quote_for_eval_result"])
+
+  # Save a `func_append' function call where possible by direct use of '+='
+  sed -e 's%func_append \([[a-zA-Z_]]\{1,\}\) "%\1+="%g' $cfgfile > $cfgfile.tmp \
+    && mv -f "$cfgfile.tmp" "$cfgfile" \
+      || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
+  test 0 -eq $? || _lt_function_replace_fail=:
+else
+  # Save a `func_append' function call even when '+=' is not available
+  sed -e 's%func_append \([[a-zA-Z_]]\{1,\}\) "%\1="$\1%g' $cfgfile > $cfgfile.tmp \
+    && mv -f "$cfgfile.tmp" "$cfgfile" \
+      || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
+  test 0 -eq $? || _lt_function_replace_fail=:
+fi
+
+if test x"$_lt_function_replace_fail" = x":"; then
+  AC_MSG_WARN([Unable to substitute extended shell functions in $ofile])
+fi
+])
+
+# _LT_PATH_CONVERSION_FUNCTIONS
+# -----------------------------
+# Determine which file name conversion functions should be used by
+# func_to_host_file (and, implicitly, by func_to_host_path).  These are needed
+# for certain cross-compile configurations and native mingw.
+m4_defun([_LT_PATH_CONVERSION_FUNCTIONS],
+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
+AC_REQUIRE([AC_CANONICAL_BUILD])dnl
+AC_MSG_CHECKING([how to convert $build file names to $host format])
+AC_CACHE_VAL(lt_cv_to_host_file_cmd,
+[case $host in
+  *-*-mingw* )
+    case $build in
+      *-*-mingw* ) # actually msys
+        lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32
+        ;;
+      *-*-cygwin* )
+        lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32
+        ;;
+      * ) # otherwise, assume *nix
+        lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32
+        ;;
+    esac
+    ;;
+  *-*-cygwin* )
+    case $build in
+      *-*-mingw* ) # actually msys
+        lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin
+        ;;
+      *-*-cygwin* )
+        lt_cv_to_host_file_cmd=func_convert_file_noop
+        ;;
+      * ) # otherwise, assume *nix
+        lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin
+        ;;
+    esac
+    ;;
+  * ) # unhandled hosts (and "normal" native builds)
+    lt_cv_to_host_file_cmd=func_convert_file_noop
+    ;;
+esac
+])
+to_host_file_cmd=$lt_cv_to_host_file_cmd
+AC_MSG_RESULT([$lt_cv_to_host_file_cmd])
+_LT_DECL([to_host_file_cmd], [lt_cv_to_host_file_cmd],
+         [0], [convert $build file names to $host format])dnl
+
+AC_MSG_CHECKING([how to convert $build file names to toolchain format])
+AC_CACHE_VAL(lt_cv_to_tool_file_cmd,
+[#assume ordinary cross tools, or native build.
+lt_cv_to_tool_file_cmd=func_convert_file_noop
+case $host in
+  *-*-mingw* )
+    case $build in
+      *-*-mingw* ) # actually msys
+        lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32
+        ;;
+    esac
+    ;;
+esac
+])
+to_tool_file_cmd=$lt_cv_to_tool_file_cmd
+AC_MSG_RESULT([$lt_cv_to_tool_file_cmd])
+_LT_DECL([to_tool_file_cmd], [lt_cv_to_tool_file_cmd],
+         [0], [convert $build files to toolchain format])dnl
+])# _LT_PATH_CONVERSION_FUNCTIONS
diff --git a/src/libsodium/m4/ltoptions.m4 b/src/libsodium/m4/ltoptions.m4
new file mode 100644
index 00000000..5d9acd8e
--- /dev/null
+++ b/src/libsodium/m4/ltoptions.m4
@@ -0,0 +1,384 @@
+# Helper functions for option handling.                    -*- Autoconf -*-
+#
+#   Copyright (C) 2004, 2005, 2007, 2008, 2009 Free Software Foundation,
+#   Inc.
+#   Written by Gary V. Vaughan, 2004
+#
+# This file is free software; the Free Software Foundation gives
+# unlimited permission to copy and/or distribute it, with or without
+# modifications, as long as this notice is preserved.
+
+# serial 7 ltoptions.m4
+
+# This is to help aclocal find these macros, as it can't see m4_define.
+AC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])])
+
+
+# _LT_MANGLE_OPTION(MACRO-NAME, OPTION-NAME)
+# ------------------------------------------
+m4_define([_LT_MANGLE_OPTION],
+[[_LT_OPTION_]m4_bpatsubst($1__$2, [[^a-zA-Z0-9_]], [_])])
+
+
+# _LT_SET_OPTION(MACRO-NAME, OPTION-NAME)
+# ---------------------------------------
+# Set option OPTION-NAME for macro MACRO-NAME, and if there is a
+# matching handler defined, dispatch to it.  Other OPTION-NAMEs are
+# saved as a flag.
+m4_define([_LT_SET_OPTION],
+[m4_define(_LT_MANGLE_OPTION([$1], [$2]))dnl
+m4_ifdef(_LT_MANGLE_DEFUN([$1], [$2]),
+        _LT_MANGLE_DEFUN([$1], [$2]),
+    [m4_warning([Unknown $1 option `$2'])])[]dnl
+])
+
+
+# _LT_IF_OPTION(MACRO-NAME, OPTION-NAME, IF-SET, [IF-NOT-SET])
+# ------------------------------------------------------------
+# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
+m4_define([_LT_IF_OPTION],
+[m4_ifdef(_LT_MANGLE_OPTION([$1], [$2]), [$3], [$4])])
+
+
+# _LT_UNLESS_OPTIONS(MACRO-NAME, OPTION-LIST, IF-NOT-SET)
+# -------------------------------------------------------
+# Execute IF-NOT-SET unless all options in OPTION-LIST for MACRO-NAME
+# are set.
+m4_define([_LT_UNLESS_OPTIONS],
+[m4_foreach([_LT_Option], m4_split(m4_normalize([$2])),
+	    [m4_ifdef(_LT_MANGLE_OPTION([$1], _LT_Option),
+		      [m4_define([$0_found])])])[]dnl
+m4_ifdef([$0_found], [m4_undefine([$0_found])], [$3
+])[]dnl
+])
+
+
+# _LT_SET_OPTIONS(MACRO-NAME, OPTION-LIST)
+# ----------------------------------------
+# OPTION-LIST is a space-separated list of Libtool options associated
+# with MACRO-NAME.  If any OPTION has a matching handler declared with
+# LT_OPTION_DEFINE, dispatch to that macro; otherwise complain about
+# the unknown option and exit.
+m4_defun([_LT_SET_OPTIONS],
+[# Set options
+m4_foreach([_LT_Option], m4_split(m4_normalize([$2])),
+    [_LT_SET_OPTION([$1], _LT_Option)])
+
+m4_if([$1],[LT_INIT],[
+  dnl
+  dnl Simply set some default values (i.e off) if boolean options were not
+  dnl specified:
+  _LT_UNLESS_OPTIONS([LT_INIT], [dlopen], [enable_dlopen=no
+  ])
+  _LT_UNLESS_OPTIONS([LT_INIT], [win32-dll], [enable_win32_dll=no
+  ])
+  dnl
+  dnl If no reference was made to various pairs of opposing options, then
+  dnl we run the default mode handler for the pair.  For example, if neither
+  dnl `shared' nor `disable-shared' was passed, we enable building of shared
+  dnl archives by default:
+  _LT_UNLESS_OPTIONS([LT_INIT], [shared disable-shared], [_LT_ENABLE_SHARED])
+  _LT_UNLESS_OPTIONS([LT_INIT], [static disable-static], [_LT_ENABLE_STATIC])
+  _LT_UNLESS_OPTIONS([LT_INIT], [pic-only no-pic], [_LT_WITH_PIC])
+  _LT_UNLESS_OPTIONS([LT_INIT], [fast-install disable-fast-install],
+  		   [_LT_ENABLE_FAST_INSTALL])
+  ])
+])# _LT_SET_OPTIONS
+
+
+## --------------------------------- ##
+## Macros to handle LT_INIT options. ##
+## --------------------------------- ##
+
+# _LT_MANGLE_DEFUN(MACRO-NAME, OPTION-NAME)
+# -----------------------------------------
+m4_define([_LT_MANGLE_DEFUN],
+[[_LT_OPTION_DEFUN_]m4_bpatsubst(m4_toupper([$1__$2]), [[^A-Z0-9_]], [_])])
+
+
+# LT_OPTION_DEFINE(MACRO-NAME, OPTION-NAME, CODE)
+# -----------------------------------------------
+m4_define([LT_OPTION_DEFINE],
+[m4_define(_LT_MANGLE_DEFUN([$1], [$2]), [$3])[]dnl
+])# LT_OPTION_DEFINE
+
+
+# dlopen
+# ------
+LT_OPTION_DEFINE([LT_INIT], [dlopen], [enable_dlopen=yes
+])
+
+AU_DEFUN([AC_LIBTOOL_DLOPEN],
+[_LT_SET_OPTION([LT_INIT], [dlopen])
+AC_DIAGNOSE([obsolete],
+[$0: Remove this warning and the call to _LT_SET_OPTION when you
+put the `dlopen' option into LT_INIT's first parameter.])
+])
+
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_DLOPEN], [])
+
+
+# win32-dll
+# ---------
+# Declare package support for building win32 dll's.
+LT_OPTION_DEFINE([LT_INIT], [win32-dll],
+[enable_win32_dll=yes
+
+case $host in
+*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-cegcc*)
+  AC_CHECK_TOOL(AS, as, false)
+  AC_CHECK_TOOL(DLLTOOL, dlltool, false)
+  AC_CHECK_TOOL(OBJDUMP, objdump, false)
+  ;;
+esac
+
+test -z "$AS" && AS=as
+_LT_DECL([], [AS],      [1], [Assembler program])dnl
+
+test -z "$DLLTOOL" && DLLTOOL=dlltool
+_LT_DECL([], [DLLTOOL], [1], [DLL creation program])dnl
+
+test -z "$OBJDUMP" && OBJDUMP=objdump
+_LT_DECL([], [OBJDUMP], [1], [Object dumper program])dnl
+])# win32-dll
+
+AU_DEFUN([AC_LIBTOOL_WIN32_DLL],
+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
+_LT_SET_OPTION([LT_INIT], [win32-dll])
+AC_DIAGNOSE([obsolete],
+[$0: Remove this warning and the call to _LT_SET_OPTION when you
+put the `win32-dll' option into LT_INIT's first parameter.])
+])
+
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_WIN32_DLL], [])
+
+
+# _LT_ENABLE_SHARED([DEFAULT])
+# ----------------------------
+# implement the --enable-shared flag, and supports the `shared' and
+# `disable-shared' LT_INIT options.
+# DEFAULT is either `yes' or `no'.  If omitted, it defaults to `yes'.
+m4_define([_LT_ENABLE_SHARED],
+[m4_define([_LT_ENABLE_SHARED_DEFAULT], [m4_if($1, no, no, yes)])dnl
+AC_ARG_ENABLE([shared],
+    [AS_HELP_STRING([--enable-shared@<:@=PKGS@:>@],
+	[build shared libraries @<:@default=]_LT_ENABLE_SHARED_DEFAULT[@:>@])],
+    [p=${PACKAGE-default}
+    case $enableval in
+    yes) enable_shared=yes ;;
+    no) enable_shared=no ;;
+    *)
+      enable_shared=no
+      # Look at the argument we got.  We use all the common list separators.
+      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+      for pkg in $enableval; do
+	IFS="$lt_save_ifs"
+	if test "X$pkg" = "X$p"; then
+	  enable_shared=yes
+	fi
+      done
+      IFS="$lt_save_ifs"
+      ;;
+    esac],
+    [enable_shared=]_LT_ENABLE_SHARED_DEFAULT)
+
+    _LT_DECL([build_libtool_libs], [enable_shared], [0],
+	[Whether or not to build shared libraries])
+])# _LT_ENABLE_SHARED
+
+LT_OPTION_DEFINE([LT_INIT], [shared], [_LT_ENABLE_SHARED([yes])])
+LT_OPTION_DEFINE([LT_INIT], [disable-shared], [_LT_ENABLE_SHARED([no])])
+
+# Old names:
+AC_DEFUN([AC_ENABLE_SHARED],
+[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[shared])
+])
+
+AC_DEFUN([AC_DISABLE_SHARED],
+[_LT_SET_OPTION([LT_INIT], [disable-shared])
+])
+
+AU_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)])
+AU_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)])
+
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AM_ENABLE_SHARED], [])
+dnl AC_DEFUN([AM_DISABLE_SHARED], [])
+
+
+
+# _LT_ENABLE_STATIC([DEFAULT])
+# ----------------------------
+# implement the --enable-static flag, and support the `static' and
+# `disable-static' LT_INIT options.
+# DEFAULT is either `yes' or `no'.  If omitted, it defaults to `yes'.
+m4_define([_LT_ENABLE_STATIC],
+[m4_define([_LT_ENABLE_STATIC_DEFAULT], [m4_if($1, no, no, yes)])dnl
+AC_ARG_ENABLE([static],
+    [AS_HELP_STRING([--enable-static@<:@=PKGS@:>@],
+	[build static libraries @<:@default=]_LT_ENABLE_STATIC_DEFAULT[@:>@])],
+    [p=${PACKAGE-default}
+    case $enableval in
+    yes) enable_static=yes ;;
+    no) enable_static=no ;;
+    *)
+     enable_static=no
+      # Look at the argument we got.  We use all the common list separators.
+      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+      for pkg in $enableval; do
+	IFS="$lt_save_ifs"
+	if test "X$pkg" = "X$p"; then
+	  enable_static=yes
+	fi
+      done
+      IFS="$lt_save_ifs"
+      ;;
+    esac],
+    [enable_static=]_LT_ENABLE_STATIC_DEFAULT)
+
+    _LT_DECL([build_old_libs], [enable_static], [0],
+	[Whether or not to build static libraries])
+])# _LT_ENABLE_STATIC
+
+LT_OPTION_DEFINE([LT_INIT], [static], [_LT_ENABLE_STATIC([yes])])
+LT_OPTION_DEFINE([LT_INIT], [disable-static], [_LT_ENABLE_STATIC([no])])
+
+# Old names:
+AC_DEFUN([AC_ENABLE_STATIC],
+[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[static])
+])
+
+AC_DEFUN([AC_DISABLE_STATIC],
+[_LT_SET_OPTION([LT_INIT], [disable-static])
+])
+
+AU_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)])
+AU_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)])
+
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AM_ENABLE_STATIC], [])
+dnl AC_DEFUN([AM_DISABLE_STATIC], [])
+
+
+
+# _LT_ENABLE_FAST_INSTALL([DEFAULT])
+# ----------------------------------
+# implement the --enable-fast-install flag, and support the `fast-install'
+# and `disable-fast-install' LT_INIT options.
+# DEFAULT is either `yes' or `no'.  If omitted, it defaults to `yes'.
+m4_define([_LT_ENABLE_FAST_INSTALL],
+[m4_define([_LT_ENABLE_FAST_INSTALL_DEFAULT], [m4_if($1, no, no, yes)])dnl
+AC_ARG_ENABLE([fast-install],
+    [AS_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@],
+    [optimize for fast installation @<:@default=]_LT_ENABLE_FAST_INSTALL_DEFAULT[@:>@])],
+    [p=${PACKAGE-default}
+    case $enableval in
+    yes) enable_fast_install=yes ;;
+    no) enable_fast_install=no ;;
+    *)
+      enable_fast_install=no
+      # Look at the argument we got.  We use all the common list separators.
+      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+      for pkg in $enableval; do
+	IFS="$lt_save_ifs"
+	if test "X$pkg" = "X$p"; then
+	  enable_fast_install=yes
+	fi
+      done
+      IFS="$lt_save_ifs"
+      ;;
+    esac],
+    [enable_fast_install=]_LT_ENABLE_FAST_INSTALL_DEFAULT)
+
+_LT_DECL([fast_install], [enable_fast_install], [0],
+	 [Whether or not to optimize for fast installation])dnl
+])# _LT_ENABLE_FAST_INSTALL
+
+LT_OPTION_DEFINE([LT_INIT], [fast-install], [_LT_ENABLE_FAST_INSTALL([yes])])
+LT_OPTION_DEFINE([LT_INIT], [disable-fast-install], [_LT_ENABLE_FAST_INSTALL([no])])
+
+# Old names:
+AU_DEFUN([AC_ENABLE_FAST_INSTALL],
+[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[fast-install])
+AC_DIAGNOSE([obsolete],
+[$0: Remove this warning and the call to _LT_SET_OPTION when you put
+the `fast-install' option into LT_INIT's first parameter.])
+])
+
+AU_DEFUN([AC_DISABLE_FAST_INSTALL],
+[_LT_SET_OPTION([LT_INIT], [disable-fast-install])
+AC_DIAGNOSE([obsolete],
+[$0: Remove this warning and the call to _LT_SET_OPTION when you put
+the `disable-fast-install' option into LT_INIT's first parameter.])
+])
+
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_ENABLE_FAST_INSTALL], [])
+dnl AC_DEFUN([AM_DISABLE_FAST_INSTALL], [])
+
+
+# _LT_WITH_PIC([MODE])
+# --------------------
+# implement the --with-pic flag, and support the `pic-only' and `no-pic'
+# LT_INIT options.
+# MODE is either `yes' or `no'.  If omitted, it defaults to `both'.
+m4_define([_LT_WITH_PIC],
+[AC_ARG_WITH([pic],
+    [AS_HELP_STRING([--with-pic@<:@=PKGS@:>@],
+	[try to use only PIC/non-PIC objects @<:@default=use both@:>@])],
+    [lt_p=${PACKAGE-default}
+    case $withval in
+    yes|no) pic_mode=$withval ;;
+    *)
+      pic_mode=default
+      # Look at the argument we got.  We use all the common list separators.
+      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+      for lt_pkg in $withval; do
+	IFS="$lt_save_ifs"
+	if test "X$lt_pkg" = "X$lt_p"; then
+	  pic_mode=yes
+	fi
+      done
+      IFS="$lt_save_ifs"
+      ;;
+    esac],
+    [pic_mode=default])
+
+test -z "$pic_mode" && pic_mode=m4_default([$1], [default])
+
+_LT_DECL([], [pic_mode], [0], [What type of objects to build])dnl
+])# _LT_WITH_PIC
+
+LT_OPTION_DEFINE([LT_INIT], [pic-only], [_LT_WITH_PIC([yes])])
+LT_OPTION_DEFINE([LT_INIT], [no-pic], [_LT_WITH_PIC([no])])
+
+# Old name:
+AU_DEFUN([AC_LIBTOOL_PICMODE],
+[_LT_SET_OPTION([LT_INIT], [pic-only])
+AC_DIAGNOSE([obsolete],
+[$0: Remove this warning and the call to _LT_SET_OPTION when you
+put the `pic-only' option into LT_INIT's first parameter.])
+])
+
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_PICMODE], [])
+
+## ----------------- ##
+## LTDL_INIT Options ##
+## ----------------- ##
+
+m4_define([_LTDL_MODE], [])
+LT_OPTION_DEFINE([LTDL_INIT], [nonrecursive],
+		 [m4_define([_LTDL_MODE], [nonrecursive])])
+LT_OPTION_DEFINE([LTDL_INIT], [recursive],
+		 [m4_define([_LTDL_MODE], [recursive])])
+LT_OPTION_DEFINE([LTDL_INIT], [subproject],
+		 [m4_define([_LTDL_MODE], [subproject])])
+
+m4_define([_LTDL_TYPE], [])
+LT_OPTION_DEFINE([LTDL_INIT], [installable],
+		 [m4_define([_LTDL_TYPE], [installable])])
+LT_OPTION_DEFINE([LTDL_INIT], [convenience],
+		 [m4_define([_LTDL_TYPE], [convenience])])
diff --git a/src/libsodium/m4/ltsugar.m4 b/src/libsodium/m4/ltsugar.m4
new file mode 100644
index 00000000..9000a057
--- /dev/null
+++ b/src/libsodium/m4/ltsugar.m4
@@ -0,0 +1,123 @@
+# ltsugar.m4 -- libtool m4 base layer.                         -*-Autoconf-*-
+#
+# Copyright (C) 2004, 2005, 2007, 2008 Free Software Foundation, Inc.
+# Written by Gary V. Vaughan, 2004
+#
+# This file is free software; the Free Software Foundation gives
+# unlimited permission to copy and/or distribute it, with or without
+# modifications, as long as this notice is preserved.
+
+# serial 6 ltsugar.m4
+
+# This is to help aclocal find these macros, as it can't see m4_define.
+AC_DEFUN([LTSUGAR_VERSION], [m4_if([0.1])])
+
+
+# lt_join(SEP, ARG1, [ARG2...])
+# -----------------------------
+# Produce ARG1SEPARG2...SEPARGn, omitting [] arguments and their
+# associated separator.
+# Needed until we can rely on m4_join from Autoconf 2.62, since all earlier
+# versions in m4sugar had bugs.
+m4_define([lt_join],
+[m4_if([$#], [1], [],
+       [$#], [2], [[$2]],
+       [m4_if([$2], [], [], [[$2]_])$0([$1], m4_shift(m4_shift($@)))])])
+m4_define([_lt_join],
+[m4_if([$#$2], [2], [],
+       [m4_if([$2], [], [], [[$1$2]])$0([$1], m4_shift(m4_shift($@)))])])
+
+
+# lt_car(LIST)
+# lt_cdr(LIST)
+# ------------
+# Manipulate m4 lists.
+# These macros are necessary as long as will still need to support
+# Autoconf-2.59 which quotes differently.
+m4_define([lt_car], [[$1]])
+m4_define([lt_cdr],
+[m4_if([$#], 0, [m4_fatal([$0: cannot be called without arguments])],
+       [$#], 1, [],
+       [m4_dquote(m4_shift($@))])])
+m4_define([lt_unquote], $1)
+
+
+# lt_append(MACRO-NAME, STRING, [SEPARATOR])
+# ------------------------------------------
+# Redefine MACRO-NAME to hold its former content plus `SEPARATOR'`STRING'.
+# Note that neither SEPARATOR nor STRING are expanded; they are appended
+# to MACRO-NAME as is (leaving the expansion for when MACRO-NAME is invoked).
+# No SEPARATOR is output if MACRO-NAME was previously undefined (different
+# than defined and empty).
+#
+# This macro is needed until we can rely on Autoconf 2.62, since earlier
+# versions of m4sugar mistakenly expanded SEPARATOR but not STRING.
+m4_define([lt_append],
+[m4_define([$1],
+	   m4_ifdef([$1], [m4_defn([$1])[$3]])[$2])])
+
+
+
+# lt_combine(SEP, PREFIX-LIST, INFIX, SUFFIX1, [SUFFIX2...])
+# ----------------------------------------------------------
+# Produce a SEP delimited list of all paired combinations of elements of
+# PREFIX-LIST with SUFFIX1 through SUFFIXn.  Each element of the list
+# has the form PREFIXmINFIXSUFFIXn.
+# Needed until we can rely on m4_combine added in Autoconf 2.62.
+m4_define([lt_combine],
+[m4_if(m4_eval([$# > 3]), [1],
+       [m4_pushdef([_Lt_sep], [m4_define([_Lt_sep], m4_defn([lt_car]))])]]dnl
+[[m4_foreach([_Lt_prefix], [$2],
+	     [m4_foreach([_Lt_suffix],
+		]m4_dquote(m4_dquote(m4_shift(m4_shift(m4_shift($@)))))[,
+	[_Lt_sep([$1])[]m4_defn([_Lt_prefix])[$3]m4_defn([_Lt_suffix])])])])])
+
+
+# lt_if_append_uniq(MACRO-NAME, VARNAME, [SEPARATOR], [UNIQ], [NOT-UNIQ])
+# -----------------------------------------------------------------------
+# Iff MACRO-NAME does not yet contain VARNAME, then append it (delimited
+# by SEPARATOR if supplied) and expand UNIQ, else NOT-UNIQ.
+m4_define([lt_if_append_uniq],
+[m4_ifdef([$1],
+	  [m4_if(m4_index([$3]m4_defn([$1])[$3], [$3$2$3]), [-1],
+		 [lt_append([$1], [$2], [$3])$4],
+		 [$5])],
+	  [lt_append([$1], [$2], [$3])$4])])
+
+
+# lt_dict_add(DICT, KEY, VALUE)
+# -----------------------------
+m4_define([lt_dict_add],
+[m4_define([$1($2)], [$3])])
+
+
+# lt_dict_add_subkey(DICT, KEY, SUBKEY, VALUE)
+# --------------------------------------------
+m4_define([lt_dict_add_subkey],
+[m4_define([$1($2:$3)], [$4])])
+
+
+# lt_dict_fetch(DICT, KEY, [SUBKEY])
+# ----------------------------------
+m4_define([lt_dict_fetch],
+[m4_ifval([$3],
+	m4_ifdef([$1($2:$3)], [m4_defn([$1($2:$3)])]),
+    m4_ifdef([$1($2)], [m4_defn([$1($2)])]))])
+
+
+# lt_if_dict_fetch(DICT, KEY, [SUBKEY], VALUE, IF-TRUE, [IF-FALSE])
+# -----------------------------------------------------------------
+m4_define([lt_if_dict_fetch],
+[m4_if(lt_dict_fetch([$1], [$2], [$3]), [$4],
+	[$5],
+    [$6])])
+
+
+# lt_dict_filter(DICT, [SUBKEY], VALUE, [SEPARATOR], KEY, [...])
+# --------------------------------------------------------------
+m4_define([lt_dict_filter],
+[m4_if([$5], [], [],
+  [lt_join(m4_quote(m4_default([$4], [[, ]])),
+           lt_unquote(m4_split(m4_normalize(m4_foreach(_Lt_key, lt_car([m4_shiftn(4, $@)]),
+		      [lt_if_dict_fetch([$1], _Lt_key, [$2], [$3], [_Lt_key ])])))))])[]dnl
+])
diff --git a/src/libsodium/m4/ltversion.m4 b/src/libsodium/m4/ltversion.m4
new file mode 100644
index 00000000..07a8602d
--- /dev/null
+++ b/src/libsodium/m4/ltversion.m4
@@ -0,0 +1,23 @@
+# ltversion.m4 -- version numbers			-*- Autoconf -*-
+#
+#   Copyright (C) 2004 Free Software Foundation, Inc.
+#   Written by Scott James Remnant, 2004
+#
+# This file is free software; the Free Software Foundation gives
+# unlimited permission to copy and/or distribute it, with or without
+# modifications, as long as this notice is preserved.
+
+# @configure_input@
+
+# serial 3337 ltversion.m4
+# This file is part of GNU Libtool
+
+m4_define([LT_PACKAGE_VERSION], [2.4.2])
+m4_define([LT_PACKAGE_REVISION], [1.3337])
+
+AC_DEFUN([LTVERSION_VERSION],
+[macro_version='2.4.2'
+macro_revision='1.3337'
+_LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?])
+_LT_DECL(, macro_revision, 0)
+])
diff --git a/src/libsodium/m4/lt~obsolete.m4 b/src/libsodium/m4/lt~obsolete.m4
new file mode 100644
index 00000000..c573da90
--- /dev/null
+++ b/src/libsodium/m4/lt~obsolete.m4
@@ -0,0 +1,98 @@
+# lt~obsolete.m4 -- aclocal satisfying obsolete definitions.    -*-Autoconf-*-
+#
+#   Copyright (C) 2004, 2005, 2007, 2009 Free Software Foundation, Inc.
+#   Written by Scott James Remnant, 2004.
+#
+# This file is free software; the Free Software Foundation gives
+# unlimited permission to copy and/or distribute it, with or without
+# modifications, as long as this notice is preserved.
+
+# serial 5 lt~obsolete.m4
+
+# These exist entirely to fool aclocal when bootstrapping libtool.
+#
+# In the past libtool.m4 has provided macros via AC_DEFUN (or AU_DEFUN)
+# which have later been changed to m4_define as they aren't part of the
+# exported API, or moved to Autoconf or Automake where they belong.
+#
+# The trouble is, aclocal is a bit thick.  It'll see the old AC_DEFUN
+# in /usr/share/aclocal/libtool.m4 and remember it, then when it sees us
+# using a macro with the same name in our local m4/libtool.m4 it'll
+# pull the old libtool.m4 in (it doesn't see our shiny new m4_define
+# and doesn't know about Autoconf macros at all.)
+#
+# So we provide this file, which has a silly filename so it's always
+# included after everything else.  This provides aclocal with the
+# AC_DEFUNs it wants, but when m4 processes it, it doesn't do anything
+# because those macros already exist, or will be overwritten later.
+# We use AC_DEFUN over AU_DEFUN for compatibility with aclocal-1.6. 
+#
+# Anytime we withdraw an AC_DEFUN or AU_DEFUN, remember to add it here.
+# Yes, that means every name once taken will need to remain here until
+# we give up compatibility with versions before 1.7, at which point
+# we need to keep only those names which we still refer to.
+
+# This is to help aclocal find these macros, as it can't see m4_define.
+AC_DEFUN([LTOBSOLETE_VERSION], [m4_if([1])])
+
+m4_ifndef([AC_LIBTOOL_LINKER_OPTION],	[AC_DEFUN([AC_LIBTOOL_LINKER_OPTION])])
+m4_ifndef([AC_PROG_EGREP],		[AC_DEFUN([AC_PROG_EGREP])])
+m4_ifndef([_LT_AC_PROG_ECHO_BACKSLASH],	[AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH])])
+m4_ifndef([_LT_AC_SHELL_INIT],		[AC_DEFUN([_LT_AC_SHELL_INIT])])
+m4_ifndef([_LT_AC_SYS_LIBPATH_AIX],	[AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX])])
+m4_ifndef([_LT_PROG_LTMAIN],		[AC_DEFUN([_LT_PROG_LTMAIN])])
+m4_ifndef([_LT_AC_TAGVAR],		[AC_DEFUN([_LT_AC_TAGVAR])])
+m4_ifndef([AC_LTDL_ENABLE_INSTALL],	[AC_DEFUN([AC_LTDL_ENABLE_INSTALL])])
+m4_ifndef([AC_LTDL_PREOPEN],		[AC_DEFUN([AC_LTDL_PREOPEN])])
+m4_ifndef([_LT_AC_SYS_COMPILER],	[AC_DEFUN([_LT_AC_SYS_COMPILER])])
+m4_ifndef([_LT_AC_LOCK],		[AC_DEFUN([_LT_AC_LOCK])])
+m4_ifndef([AC_LIBTOOL_SYS_OLD_ARCHIVE],	[AC_DEFUN([AC_LIBTOOL_SYS_OLD_ARCHIVE])])
+m4_ifndef([_LT_AC_TRY_DLOPEN_SELF],	[AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF])])
+m4_ifndef([AC_LIBTOOL_PROG_CC_C_O],	[AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O])])
+m4_ifndef([AC_LIBTOOL_SYS_HARD_LINK_LOCKS], [AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS])])
+m4_ifndef([AC_LIBTOOL_OBJDIR],		[AC_DEFUN([AC_LIBTOOL_OBJDIR])])
+m4_ifndef([AC_LTDL_OBJDIR],		[AC_DEFUN([AC_LTDL_OBJDIR])])
+m4_ifndef([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH], [AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH])])
+m4_ifndef([AC_LIBTOOL_SYS_LIB_STRIP],	[AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP])])
+m4_ifndef([AC_PATH_MAGIC],		[AC_DEFUN([AC_PATH_MAGIC])])
+m4_ifndef([AC_PROG_LD_GNU],		[AC_DEFUN([AC_PROG_LD_GNU])])
+m4_ifndef([AC_PROG_LD_RELOAD_FLAG],	[AC_DEFUN([AC_PROG_LD_RELOAD_FLAG])])
+m4_ifndef([AC_DEPLIBS_CHECK_METHOD],	[AC_DEFUN([AC_DEPLIBS_CHECK_METHOD])])
+m4_ifndef([AC_LIBTOOL_PROG_COMPILER_NO_RTTI], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI])])
+m4_ifndef([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], [AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE])])
+m4_ifndef([AC_LIBTOOL_PROG_COMPILER_PIC], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC])])
+m4_ifndef([AC_LIBTOOL_PROG_LD_SHLIBS],	[AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS])])
+m4_ifndef([AC_LIBTOOL_POSTDEP_PREDEP],	[AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP])])
+m4_ifndef([LT_AC_PROG_EGREP],		[AC_DEFUN([LT_AC_PROG_EGREP])])
+m4_ifndef([LT_AC_PROG_SED],		[AC_DEFUN([LT_AC_PROG_SED])])
+m4_ifndef([_LT_CC_BASENAME],		[AC_DEFUN([_LT_CC_BASENAME])])
+m4_ifndef([_LT_COMPILER_BOILERPLATE],	[AC_DEFUN([_LT_COMPILER_BOILERPLATE])])
+m4_ifndef([_LT_LINKER_BOILERPLATE],	[AC_DEFUN([_LT_LINKER_BOILERPLATE])])
+m4_ifndef([_AC_PROG_LIBTOOL],		[AC_DEFUN([_AC_PROG_LIBTOOL])])
+m4_ifndef([AC_LIBTOOL_SETUP],		[AC_DEFUN([AC_LIBTOOL_SETUP])])
+m4_ifndef([_LT_AC_CHECK_DLFCN],		[AC_DEFUN([_LT_AC_CHECK_DLFCN])])
+m4_ifndef([AC_LIBTOOL_SYS_DYNAMIC_LINKER],	[AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER])])
+m4_ifndef([_LT_AC_TAGCONFIG],		[AC_DEFUN([_LT_AC_TAGCONFIG])])
+m4_ifndef([AC_DISABLE_FAST_INSTALL],	[AC_DEFUN([AC_DISABLE_FAST_INSTALL])])
+m4_ifndef([_LT_AC_LANG_CXX],		[AC_DEFUN([_LT_AC_LANG_CXX])])
+m4_ifndef([_LT_AC_LANG_F77],		[AC_DEFUN([_LT_AC_LANG_F77])])
+m4_ifndef([_LT_AC_LANG_GCJ],		[AC_DEFUN([_LT_AC_LANG_GCJ])])
+m4_ifndef([AC_LIBTOOL_LANG_C_CONFIG],	[AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG])])
+m4_ifndef([_LT_AC_LANG_C_CONFIG],	[AC_DEFUN([_LT_AC_LANG_C_CONFIG])])
+m4_ifndef([AC_LIBTOOL_LANG_CXX_CONFIG],	[AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG])])
+m4_ifndef([_LT_AC_LANG_CXX_CONFIG],	[AC_DEFUN([_LT_AC_LANG_CXX_CONFIG])])
+m4_ifndef([AC_LIBTOOL_LANG_F77_CONFIG],	[AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG])])
+m4_ifndef([_LT_AC_LANG_F77_CONFIG],	[AC_DEFUN([_LT_AC_LANG_F77_CONFIG])])
+m4_ifndef([AC_LIBTOOL_LANG_GCJ_CONFIG],	[AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG])])
+m4_ifndef([_LT_AC_LANG_GCJ_CONFIG],	[AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG])])
+m4_ifndef([AC_LIBTOOL_LANG_RC_CONFIG],	[AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG])])
+m4_ifndef([_LT_AC_LANG_RC_CONFIG],	[AC_DEFUN([_LT_AC_LANG_RC_CONFIG])])
+m4_ifndef([AC_LIBTOOL_CONFIG],		[AC_DEFUN([AC_LIBTOOL_CONFIG])])
+m4_ifndef([_LT_AC_FILE_LTDLL_C],	[AC_DEFUN([_LT_AC_FILE_LTDLL_C])])
+m4_ifndef([_LT_REQUIRED_DARWIN_CHECKS],	[AC_DEFUN([_LT_REQUIRED_DARWIN_CHECKS])])
+m4_ifndef([_LT_AC_PROG_CXXCPP],		[AC_DEFUN([_LT_AC_PROG_CXXCPP])])
+m4_ifndef([_LT_PREPARE_SED_QUOTE_VARS],	[AC_DEFUN([_LT_PREPARE_SED_QUOTE_VARS])])
+m4_ifndef([_LT_PROG_ECHO_BACKSLASH],	[AC_DEFUN([_LT_PROG_ECHO_BACKSLASH])])
+m4_ifndef([_LT_PROG_F77],		[AC_DEFUN([_LT_PROG_F77])])
+m4_ifndef([_LT_PROG_FC],		[AC_DEFUN([_LT_PROG_FC])])
+m4_ifndef([_LT_PROG_CXX],		[AC_DEFUN([_LT_PROG_CXX])])
diff --git a/src/libsodium/m4/pkg.m4 b/src/libsodium/m4/pkg.m4
new file mode 100644
index 00000000..c5b26b52
--- /dev/null
+++ b/src/libsodium/m4/pkg.m4
@@ -0,0 +1,214 @@
+# pkg.m4 - Macros to locate and utilise pkg-config.            -*- Autoconf -*-
+# serial 1 (pkg-config-0.24)
+# 
+# Copyright © 2004 Scott James Remnant <scott@netsplit.com>.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+#
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+# PKG_PROG_PKG_CONFIG([MIN-VERSION])
+# ----------------------------------
+AC_DEFUN([PKG_PROG_PKG_CONFIG],
+[m4_pattern_forbid([^_?PKG_[A-Z_]+$])
+m4_pattern_allow([^PKG_CONFIG(_(PATH|LIBDIR|SYSROOT_DIR|ALLOW_SYSTEM_(CFLAGS|LIBS)))?$])
+m4_pattern_allow([^PKG_CONFIG_(DISABLE_UNINSTALLED|TOP_BUILD_DIR|DEBUG_SPEW)$])
+AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility])
+AC_ARG_VAR([PKG_CONFIG_PATH], [directories to add to pkg-config's search path])
+AC_ARG_VAR([PKG_CONFIG_LIBDIR], [path overriding pkg-config's built-in search path])
+
+if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
+	AC_PATH_TOOL([PKG_CONFIG], [pkg-config])
+fi
+if test -n "$PKG_CONFIG"; then
+	_pkg_min_version=m4_default([$1], [0.9.0])
+	AC_MSG_CHECKING([pkg-config is at least version $_pkg_min_version])
+	if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then
+		AC_MSG_RESULT([yes])
+	else
+		AC_MSG_RESULT([no])
+		PKG_CONFIG=""
+	fi
+fi[]dnl
+])# PKG_PROG_PKG_CONFIG
+
+# PKG_CHECK_EXISTS(MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
+#
+# Check to see whether a particular set of modules exists.  Similar
+# to PKG_CHECK_MODULES(), but does not set variables or print errors.
+#
+# Please remember that m4 expands AC_REQUIRE([PKG_PROG_PKG_CONFIG])
+# only at the first occurence in configure.ac, so if the first place
+# it's called might be skipped (such as if it is within an "if", you
+# have to call PKG_CHECK_EXISTS manually
+# --------------------------------------------------------------
+AC_DEFUN([PKG_CHECK_EXISTS],
+[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
+if test -n "$PKG_CONFIG" && \
+    AC_RUN_LOG([$PKG_CONFIG --exists --print-errors "$1"]); then
+  m4_default([$2], [:])
+m4_ifvaln([$3], [else
+  $3])dnl
+fi])
+
+# _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES])
+# ---------------------------------------------
+m4_define([_PKG_CONFIG],
+[if test -n "$$1"; then
+    pkg_cv_[]$1="$$1"
+ elif test -n "$PKG_CONFIG"; then
+    PKG_CHECK_EXISTS([$3],
+                     [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null`
+		      test "x$?" != "x0" && pkg_failed=yes ],
+		     [pkg_failed=yes])
+ else
+    pkg_failed=untried
+fi[]dnl
+])# _PKG_CONFIG
+
+# _PKG_SHORT_ERRORS_SUPPORTED
+# -----------------------------
+AC_DEFUN([_PKG_SHORT_ERRORS_SUPPORTED],
+[AC_REQUIRE([PKG_PROG_PKG_CONFIG])
+if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
+        _pkg_short_errors_supported=yes
+else
+        _pkg_short_errors_supported=no
+fi[]dnl
+])# _PKG_SHORT_ERRORS_SUPPORTED
+
+
+# PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND],
+# [ACTION-IF-NOT-FOUND])
+#
+#
+# Note that if there is a possibility the first call to
+# PKG_CHECK_MODULES might not happen, you should be sure to include an
+# explicit call to PKG_PROG_PKG_CONFIG in your configure.ac
+#
+#
+# --------------------------------------------------------------
+AC_DEFUN([PKG_CHECK_MODULES],
+[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
+AC_ARG_VAR([$1][_CFLAGS], [C compiler flags for $1, overriding pkg-config])dnl
+AC_ARG_VAR([$1][_LIBS], [linker flags for $1, overriding pkg-config])dnl
+
+pkg_failed=no
+AC_MSG_CHECKING([for $1])
+
+_PKG_CONFIG([$1][_CFLAGS], [cflags], [$2])
+_PKG_CONFIG([$1][_LIBS], [libs], [$2])
+
+m4_define([_PKG_TEXT], [Alternatively, you may set the environment variables $1[]_CFLAGS
+and $1[]_LIBS to avoid the need to call pkg-config.
+See the pkg-config man page for more details.])
+
+if test $pkg_failed = yes; then
+   	AC_MSG_RESULT([no])
+        _PKG_SHORT_ERRORS_SUPPORTED
+        if test $_pkg_short_errors_supported = yes; then
+	        $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "$2" 2>&1`
+        else 
+	        $1[]_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "$2" 2>&1`
+        fi
+	# Put the nasty error message in config.log where it belongs
+	echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD
+
+	m4_default([$4], [AC_MSG_ERROR(
+[Package requirements ($2) were not met:
+
+$$1_PKG_ERRORS
+
+Consider adjusting the PKG_CONFIG_PATH environment variable if you
+installed software in a non-standard prefix.
+
+_PKG_TEXT])[]dnl
+        ])
+elif test $pkg_failed = untried; then
+     	AC_MSG_RESULT([no])
+	m4_default([$4], [AC_MSG_FAILURE(
+[The pkg-config script could not be found or is too old.  Make sure it
+is in your PATH or set the PKG_CONFIG environment variable to the full
+path to pkg-config.
+
+_PKG_TEXT
+
+To get pkg-config, see <http://pkg-config.freedesktop.org/>.])[]dnl
+        ])
+else
+	$1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS
+	$1[]_LIBS=$pkg_cv_[]$1[]_LIBS
+        AC_MSG_RESULT([yes])
+	$3
+fi[]dnl
+])# PKG_CHECK_MODULES
+
+
+# PKG_INSTALLDIR(DIRECTORY)
+# -------------------------
+# Substitutes the variable pkgconfigdir as the location where a module
+# should install pkg-config .pc files. By default the directory is
+# $libdir/pkgconfig, but the default can be changed by passing
+# DIRECTORY. The user can override through the --with-pkgconfigdir
+# parameter.
+AC_DEFUN([PKG_INSTALLDIR],
+[m4_pushdef([pkg_default], [m4_default([$1], ['${libdir}/pkgconfig'])])
+m4_pushdef([pkg_description],
+    [pkg-config installation directory @<:@]pkg_default[@:>@])
+AC_ARG_WITH([pkgconfigdir],
+    [AS_HELP_STRING([--with-pkgconfigdir], pkg_description)],,
+    [with_pkgconfigdir=]pkg_default)
+AC_SUBST([pkgconfigdir], [$with_pkgconfigdir])
+m4_popdef([pkg_default])
+m4_popdef([pkg_description])
+]) dnl PKG_INSTALLDIR
+
+
+# PKG_NOARCH_INSTALLDIR(DIRECTORY)
+# -------------------------
+# Substitutes the variable noarch_pkgconfigdir as the location where a
+# module should install arch-independent pkg-config .pc files. By
+# default the directory is $datadir/pkgconfig, but the default can be
+# changed by passing DIRECTORY. The user can override through the
+# --with-noarch-pkgconfigdir parameter.
+AC_DEFUN([PKG_NOARCH_INSTALLDIR],
+[m4_pushdef([pkg_default], [m4_default([$1], ['${datadir}/pkgconfig'])])
+m4_pushdef([pkg_description],
+    [pkg-config arch-independent installation directory @<:@]pkg_default[@:>@])
+AC_ARG_WITH([noarch-pkgconfigdir],
+    [AS_HELP_STRING([--with-noarch-pkgconfigdir], pkg_description)],,
+    [with_noarch_pkgconfigdir=]pkg_default)
+AC_SUBST([noarch_pkgconfigdir], [$with_noarch_pkgconfigdir])
+m4_popdef([pkg_default])
+m4_popdef([pkg_description])
+]) dnl PKG_NOARCH_INSTALLDIR
+
+
+# PKG_CHECK_VAR(VARIABLE, MODULE, CONFIG-VARIABLE,
+# [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
+# -------------------------------------------
+# Retrieves the value of the pkg-config variable for the given module.
+AC_DEFUN([PKG_CHECK_VAR],
+[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
+AC_ARG_VAR([$1], [value of $3 for $2, overriding pkg-config])dnl
+
+_PKG_CONFIG([$1], [variable="][$3]["], [$2])
+AS_VAR_COPY([$1], [pkg_cv_][$1])
+
+AS_VAR_IF([$1], [""], [$5], [$4])dnl
+])# PKG_CHECK_VAR
diff --git a/src/libsodium/missing b/src/libsodium/missing
new file mode 100755
index 00000000..cdea5149
--- /dev/null
+++ b/src/libsodium/missing
@@ -0,0 +1,215 @@
+#! /bin/sh
+# Common wrapper for a few potentially missing GNU programs.
+
+scriptversion=2012-06-26.16; # UTC
+
+# Copyright (C) 1996-2013 Free Software Foundation, Inc.
+# Originally written by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+if test $# -eq 0; then
+  echo 1>&2 "Try '$0 --help' for more information"
+  exit 1
+fi
+
+case $1 in
+
+  --is-lightweight)
+    # Used by our autoconf macros to check whether the available missing
+    # script is modern enough.
+    exit 0
+    ;;
+
+  --run)
+    # Back-compat with the calling convention used by older automake.
+    shift
+    ;;
+
+  -h|--h|--he|--hel|--help)
+    echo "\
+$0 [OPTION]... PROGRAM [ARGUMENT]...
+
+Run 'PROGRAM [ARGUMENT]...', returning a proper advice when this fails due
+to PROGRAM being missing or too old.
+
+Options:
+  -h, --help      display this help and exit
+  -v, --version   output version information and exit
+
+Supported PROGRAM values:
+  aclocal   autoconf  autoheader   autom4te  automake  makeinfo
+  bison     yacc      flex         lex       help2man
+
+Version suffixes to PROGRAM as well as the prefixes 'gnu-', 'gnu', and
+'g' are ignored when checking the name.
+
+Send bug reports to <bug-automake@gnu.org>."
+    exit $?
+    ;;
+
+  -v|--v|--ve|--ver|--vers|--versi|--versio|--version)
+    echo "missing $scriptversion (GNU Automake)"
+    exit $?
+    ;;
+
+  -*)
+    echo 1>&2 "$0: unknown '$1' option"
+    echo 1>&2 "Try '$0 --help' for more information"
+    exit 1
+    ;;
+
+esac
+
+# Run the given program, remember its exit status.
+"$@"; st=$?
+
+# If it succeeded, we are done.
+test $st -eq 0 && exit 0
+
+# Also exit now if we it failed (or wasn't found), and '--version' was
+# passed; such an option is passed most likely to detect whether the
+# program is present and works.
+case $2 in --version|--help) exit $st;; esac
+
+# Exit code 63 means version mismatch.  This often happens when the user
+# tries to use an ancient version of a tool on a file that requires a
+# minimum version.
+if test $st -eq 63; then
+  msg="probably too old"
+elif test $st -eq 127; then
+  # Program was missing.
+  msg="missing on your system"
+else
+  # Program was found and executed, but failed.  Give up.
+  exit $st
+fi
+
+perl_URL=http://www.perl.org/
+flex_URL=http://flex.sourceforge.net/
+gnu_software_URL=http://www.gnu.org/software
+
+program_details ()
+{
+  case $1 in
+    aclocal|automake)
+      echo "The '$1' program is part of the GNU Automake package:"
+      echo "<$gnu_software_URL/automake>"
+      echo "It also requires GNU Autoconf, GNU m4 and Perl in order to run:"
+      echo "<$gnu_software_URL/autoconf>"
+      echo "<$gnu_software_URL/m4/>"
+      echo "<$perl_URL>"
+      ;;
+    autoconf|autom4te|autoheader)
+      echo "The '$1' program is part of the GNU Autoconf package:"
+      echo "<$gnu_software_URL/autoconf/>"
+      echo "It also requires GNU m4 and Perl in order to run:"
+      echo "<$gnu_software_URL/m4/>"
+      echo "<$perl_URL>"
+      ;;
+  esac
+}
+
+give_advice ()
+{
+  # Normalize program name to check for.
+  normalized_program=`echo "$1" | sed '
+    s/^gnu-//; t
+    s/^gnu//; t
+    s/^g//; t'`
+
+  printf '%s\n' "'$1' is $msg."
+
+  configure_deps="'configure.ac' or m4 files included by 'configure.ac'"
+  case $normalized_program in
+    autoconf*)
+      echo "You should only need it if you modified 'configure.ac',"
+      echo "or m4 files included by it."
+      program_details 'autoconf'
+      ;;
+    autoheader*)
+      echo "You should only need it if you modified 'acconfig.h' or"
+      echo "$configure_deps."
+      program_details 'autoheader'
+      ;;
+    automake*)
+      echo "You should only need it if you modified 'Makefile.am' or"
+      echo "$configure_deps."
+      program_details 'automake'
+      ;;
+    aclocal*)
+      echo "You should only need it if you modified 'acinclude.m4' or"
+      echo "$configure_deps."
+      program_details 'aclocal'
+      ;;
+   autom4te*)
+      echo "You might have modified some maintainer files that require"
+      echo "the 'automa4te' program to be rebuilt."
+      program_details 'autom4te'
+      ;;
+    bison*|yacc*)
+      echo "You should only need it if you modified a '.y' file."
+      echo "You may want to install the GNU Bison package:"
+      echo "<$gnu_software_URL/bison/>"
+      ;;
+    lex*|flex*)
+      echo "You should only need it if you modified a '.l' file."
+      echo "You may want to install the Fast Lexical Analyzer package:"
+      echo "<$flex_URL>"
+      ;;
+    help2man*)
+      echo "You should only need it if you modified a dependency" \
+           "of a man page."
+      echo "You may want to install the GNU Help2man package:"
+      echo "<$gnu_software_URL/help2man/>"
+    ;;
+    makeinfo*)
+      echo "You should only need it if you modified a '.texi' file, or"
+      echo "any other file indirectly affecting the aspect of the manual."
+      echo "You might want to install the Texinfo package:"
+      echo "<$gnu_software_URL/texinfo/>"
+      echo "The spurious makeinfo call might also be the consequence of"
+      echo "using a buggy 'make' (AIX, DU, IRIX), in which case you might"
+      echo "want to install GNU make:"
+      echo "<$gnu_software_URL/make/>"
+      ;;
+    *)
+      echo "You might have modified some files without having the proper"
+      echo "tools for further handling them.  Check the 'README' file, it"
+      echo "often tells you about the needed prerequisites for installing"
+      echo "this package.  You may also peek at any GNU archive site, in"
+      echo "case some other package contains this missing '$1' program."
+      ;;
+  esac
+}
+
+give_advice "$1" | sed -e '1s/^/WARNING: /' \
+                       -e '2,$s/^/         /' >&2
+
+# Propagate the correct exit status (expected to be 127 for a program
+# not found, 63 for a program that failed due to version mismatch).
+exit $st
+
+# Local variables:
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "scriptversion="
+# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-time-zone: "UTC"
+# time-stamp-end: "; # UTC"
+# End:
diff --git a/src/libsodium/src/Makefile.am b/src/libsodium/src/Makefile.am
new file mode 100644
index 00000000..64445045
--- /dev/null
+++ b/src/libsodium/src/Makefile.am
@@ -0,0 +1,3 @@
+
+SUBDIRS = \
+	libsodium
diff --git a/src/libsodium/src/Makefile.in b/src/libsodium/src/Makefile.in
new file mode 100644
index 00000000..f058b607
--- /dev/null
+++ b/src/libsodium/src/Makefile.in
@@ -0,0 +1,626 @@
+# Makefile.in generated by automake 1.14 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+VPATH = @srcdir@
+am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__make_running_with_option = \
+  case $${target_option-} in \
+      ?) ;; \
+      *) echo "am__make_running_with_option: internal error: invalid" \
+              "target option '$${target_option-}' specified" >&2; \
+         exit 1;; \
+  esac; \
+  has_opt=no; \
+  sane_makeflags=$$MAKEFLAGS; \
+  if $(am__is_gnu_make); then \
+    sane_makeflags=$$MFLAGS; \
+  else \
+    case $$MAKEFLAGS in \
+      *\\[\ \	]*) \
+        bs=\\; \
+        sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+          | sed "s/$$bs$$bs[$$bs $$bs	]*//g"`;; \
+    esac; \
+  fi; \
+  skip_next=no; \
+  strip_trailopt () \
+  { \
+    flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+  }; \
+  for flg in $$sane_makeflags; do \
+    test $$skip_next = yes && { skip_next=no; continue; }; \
+    case $$flg in \
+      *=*|--*) continue;; \
+        -*I) strip_trailopt 'I'; skip_next=yes;; \
+      -*I?*) strip_trailopt 'I';; \
+        -*O) strip_trailopt 'O'; skip_next=yes;; \
+      -*O?*) strip_trailopt 'O';; \
+        -*l) strip_trailopt 'l'; skip_next=yes;; \
+      -*l?*) strip_trailopt 'l';; \
+      -[dEDm]) skip_next=yes;; \
+      -[JT]) skip_next=yes;; \
+    esac; \
+    case $$flg in \
+      *$$target_option*) has_opt=yes; break;; \
+    esac; \
+  done; \
+  test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
+pkgdatadir = $(datadir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+subdir = src
+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/ax_check_compile_flag.m4 \
+	$(top_srcdir)/m4/ax_check_link_flag.m4 \
+	$(top_srcdir)/m4/ld-output-def.m4 $(top_srcdir)/m4/libtool.m4 \
+	$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+	$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+	$(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+	$(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo "  GEN     " $@;
+am__v_GEN_1 = 
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 = 
+SOURCES =
+DIST_SOURCES =
+RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \
+	ctags-recursive dvi-recursive html-recursive info-recursive \
+	install-data-recursive install-dvi-recursive \
+	install-exec-recursive install-html-recursive \
+	install-info-recursive install-pdf-recursive \
+	install-ps-recursive install-recursive installcheck-recursive \
+	installdirs-recursive pdf-recursive ps-recursive \
+	tags-recursive uninstall-recursive
+am__can_run_installinfo = \
+  case $$AM_UPDATE_INFO_DIR in \
+    n|no|NO) false;; \
+    *) (install-info --version) >/dev/null 2>&1;; \
+  esac
+RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive	\
+  distclean-recursive maintainer-clean-recursive
+am__recursive_targets = \
+  $(RECURSIVE_TARGETS) \
+  $(RECURSIVE_CLEAN_TARGETS) \
+  $(am__extra_recursive_targets)
+AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
+	distdir
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates.  Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+  BEGIN { nonempty = 0; } \
+  { items[$$0] = 1; nonempty = 1; } \
+  END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique.  This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+  list='$(am__tagged_files)'; \
+  unique=`for i in $$list; do \
+    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+  done | $(am__uniquify_input)`
+ETAGS = etags
+CTAGS = ctags
+DIST_SUBDIRS = $(SUBDIRS)
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+am__relativize = \
+  dir0=`pwd`; \
+  sed_first='s,^\([^/]*\)/.*$$,\1,'; \
+  sed_rest='s,^[^/]*/*,,'; \
+  sed_last='s,^.*/\([^/]*\)$$,\1,'; \
+  sed_butlast='s,/*[^/]*$$,,'; \
+  while test -n "$$dir1"; do \
+    first=`echo "$$dir1" | sed -e "$$sed_first"`; \
+    if test "$$first" != "."; then \
+      if test "$$first" = ".."; then \
+        dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
+        dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
+      else \
+        first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
+        if test "$$first2" = "$$first"; then \
+          dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
+        else \
+          dir2="../$$dir2"; \
+        fi; \
+        dir0="$$dir0"/"$$first"; \
+      fi; \
+    fi; \
+    dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
+  done; \
+  reldir="$$dir2"
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AR = @AR@
+AS = @AS@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCAS = @CCAS@
+CCASDEPMODE = @CCASDEPMODE@
+CCASFLAGS = @CCASFLAGS@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CWFLAGS = @CWFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DLLTOOL = @DLLTOOL@
+DLL_VERSION = @DLL_VERSION@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+GREP = @GREP@
+HAVE_AMD64_ASM_V = @HAVE_AMD64_ASM_V@
+HAVE_CPUID_V = @HAVE_CPUID_V@
+HAVE_PKG_CONFIG = @HAVE_PKG_CONFIG@
+HAVE_TI_MODE_V = @HAVE_TI_MODE_V@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+ISODATE = @ISODATE@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIBTOOL_DEPS = @LIBTOOL_DEPS@
+LIBTOOL_EXTRA_FLAGS = @LIBTOOL_EXTRA_FLAGS@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MKDIR_P = @MKDIR_P@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
+RANLIB = @RANLIB@
+SAFECODE_HOME = @SAFECODE_HOME@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+SODIUM_LIBRARY_VERSION = @SODIUM_LIBRARY_VERSION@
+SODIUM_LIBRARY_VERSION_MAJOR = @SODIUM_LIBRARY_VERSION_MAJOR@
+SODIUM_LIBRARY_VERSION_MINOR = @SODIUM_LIBRARY_VERSION_MINOR@
+STRIP = @STRIP@
+VERSION = @VERSION@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+SUBDIRS = \
+	libsodium
+
+all: all-recursive
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__configure_deps)
+	@for dep in $?; do \
+	  case '$(am__configure_deps)' in \
+	    *$$dep*) \
+	      ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+	        && { if test -f $@; then exit 0; else break; fi; }; \
+	      exit 1;; \
+	  esac; \
+	done; \
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/Makefile'; \
+	$(am__cd) $(top_srcdir) && \
+	  $(AUTOMAKE) --foreign src/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+	@case '$?' in \
+	  *config.status*) \
+	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+	  *) \
+	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+	esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+
+mostlyclean-libtool:
+	-rm -f *.lo
+
+clean-libtool:
+	-rm -rf .libs _libs
+
+# This directory's subdirectories are mostly independent; you can cd
+# into them and run 'make' without going through this Makefile.
+# To change the values of 'make' variables: instead of editing Makefiles,
+# (1) if the variable is set in 'config.status', edit 'config.status'
+#     (which will cause the Makefiles to be regenerated when you run 'make');
+# (2) otherwise, pass the desired values on the 'make' command line.
+$(am__recursive_targets):
+	@fail=; \
+	if $(am__make_keepgoing); then \
+	  failcom='fail=yes'; \
+	else \
+	  failcom='exit 1'; \
+	fi; \
+	dot_seen=no; \
+	target=`echo $@ | sed s/-recursive//`; \
+	case "$@" in \
+	  distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
+	  *) list='$(SUBDIRS)' ;; \
+	esac; \
+	for subdir in $$list; do \
+	  echo "Making $$target in $$subdir"; \
+	  if test "$$subdir" = "."; then \
+	    dot_seen=yes; \
+	    local_target="$$target-am"; \
+	  else \
+	    local_target="$$target"; \
+	  fi; \
+	  ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+	  || eval $$failcom; \
+	done; \
+	if test "$$dot_seen" = "no"; then \
+	  $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
+	fi; test -z "$$fail"
+
+ID: $(am__tagged_files)
+	$(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-recursive
+TAGS: tags
+
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+	set x; \
+	here=`pwd`; \
+	if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
+	  include_option=--etags-include; \
+	  empty_fix=.; \
+	else \
+	  include_option=--include; \
+	  empty_fix=; \
+	fi; \
+	list='$(SUBDIRS)'; for subdir in $$list; do \
+	  if test "$$subdir" = .; then :; else \
+	    test ! -f $$subdir/TAGS || \
+	      set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
+	  fi; \
+	done; \
+	$(am__define_uniq_tagged_files); \
+	shift; \
+	if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+	  test -n "$$unique" || unique=$$empty_fix; \
+	  if test $$# -gt 0; then \
+	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	      "$$@" $$unique; \
+	  else \
+	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	      $$unique; \
+	  fi; \
+	fi
+ctags: ctags-recursive
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+	$(am__define_uniq_tagged_files); \
+	test -z "$(CTAGS_ARGS)$$unique" \
+	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+	     $$unique
+
+GTAGS:
+	here=`$(am__cd) $(top_builddir) && pwd` \
+	  && $(am__cd) $(top_srcdir) \
+	  && gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-recursive
+
+cscopelist-am: $(am__tagged_files)
+	list='$(am__tagged_files)'; \
+	case "$(srcdir)" in \
+	  [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+	  *) sdir=$(subdir)/$(srcdir) ;; \
+	esac; \
+	for i in $$list; do \
+	  if test -f "$$i"; then \
+	    echo "$(subdir)/$$i"; \
+	  else \
+	    echo "$$sdir/$$i"; \
+	  fi; \
+	done >> $(top_builddir)/cscope.files
+
+distclean-tags:
+	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+	list='$(DISTFILES)'; \
+	  dist_files=`for file in $$list; do echo $$file; done | \
+	  sed -e "s|^$$srcdirstrip/||;t" \
+	      -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+	case $$dist_files in \
+	  */*) $(MKDIR_P) `echo "$$dist_files" | \
+			   sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+			   sort -u` ;; \
+	esac; \
+	for file in $$dist_files; do \
+	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	  if test -d $$d/$$file; then \
+	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+	    if test -d "$(distdir)/$$file"; then \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
+	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
+	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
+	  else \
+	    test -f "$(distdir)/$$file" \
+	    || cp -p $$d/$$file "$(distdir)/$$file" \
+	    || exit 1; \
+	  fi; \
+	done
+	@list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+	  if test "$$subdir" = .; then :; else \
+	    $(am__make_dryrun) \
+	      || test -d "$(distdir)/$$subdir" \
+	      || $(MKDIR_P) "$(distdir)/$$subdir" \
+	      || exit 1; \
+	    dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
+	    $(am__relativize); \
+	    new_distdir=$$reldir; \
+	    dir1=$$subdir; dir2="$(top_distdir)"; \
+	    $(am__relativize); \
+	    new_top_distdir=$$reldir; \
+	    echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
+	    echo "     am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
+	    ($(am__cd) $$subdir && \
+	      $(MAKE) $(AM_MAKEFLAGS) \
+	        top_distdir="$$new_top_distdir" \
+	        distdir="$$new_distdir" \
+		am__remove_distdir=: \
+		am__skip_length_check=: \
+		am__skip_mode_fix=: \
+	        distdir) \
+	      || exit 1; \
+	  fi; \
+	done
+check-am: all-am
+check: check-recursive
+all-am: Makefile
+installdirs: installdirs-recursive
+installdirs-am:
+install: install-recursive
+install-exec: install-exec-recursive
+install-data: install-data-recursive
+uninstall: uninstall-recursive
+
+install-am: all-am
+	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-recursive
+install-strip:
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+
+maintainer-clean-generic:
+	@echo "This command is intended for maintainers to use"
+	@echo "it deletes files that may require special tools to rebuild."
+clean: clean-recursive
+
+clean-am: clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-recursive
+	-rm -f Makefile
+distclean-am: clean-am distclean-generic distclean-tags
+
+dvi: dvi-recursive
+
+dvi-am:
+
+html: html-recursive
+
+html-am:
+
+info: info-recursive
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-recursive
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-recursive
+
+install-html-am:
+
+install-info: install-info-recursive
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-recursive
+
+install-pdf-am:
+
+install-ps: install-ps-recursive
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-recursive
+	-rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-recursive
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-recursive
+
+pdf-am:
+
+ps: ps-recursive
+
+ps-am:
+
+uninstall-am:
+
+.MAKE: $(am__recursive_targets) install-am install-strip
+
+.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \
+	check-am clean clean-generic clean-libtool cscopelist-am ctags \
+	ctags-am distclean distclean-generic distclean-libtool \
+	distclean-tags distdir dvi dvi-am html html-am info info-am \
+	install install-am install-data install-data-am install-dvi \
+	install-dvi-am install-exec install-exec-am install-html \
+	install-html-am install-info install-info-am install-man \
+	install-pdf install-pdf-am install-ps install-ps-am \
+	install-strip installcheck installcheck-am installdirs \
+	installdirs-am maintainer-clean maintainer-clean-generic \
+	mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
+	ps ps-am tags tags-am uninstall uninstall-am
+
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/src/libsodium/src/libsodium/Makefile.am b/src/libsodium/src/libsodium/Makefile.am
new file mode 100644
index 00000000..124091d6
--- /dev/null
+++ b/src/libsodium/src/libsodium/Makefile.am
@@ -0,0 +1,227 @@
+lib_LTLIBRARIES = \
+	libsodium.la
+
+libsodium_la_SOURCES = \
+	crypto_auth/crypto_auth.c \
+	crypto_auth/hmacsha256/auth_hmacsha256_api.c \
+	crypto_auth/hmacsha256/ref/api.h \
+	crypto_auth/hmacsha256/ref/hmac_hmacsha256.c \
+	crypto_auth/hmacsha256/ref/verify_hmacsha256.c \
+	crypto_auth/hmacsha512256/auth_hmacsha512256_api.c \
+	crypto_auth/hmacsha512256/ref/api.h \
+	crypto_auth/hmacsha512256/ref/hmac_hmacsha512256.c \
+	crypto_auth/hmacsha512256/ref/verify_hmacsha512256.c \
+	crypto_box/crypto_box.c \
+	crypto_box/curve25519xsalsa20poly1305/box_curve25519xsalsa20poly1305_api.c \
+	crypto_box/curve25519xsalsa20poly1305/ref/api.h \
+	crypto_box/curve25519xsalsa20poly1305/ref/after_curve25519xsalsa20poly1305.c \
+	crypto_box/curve25519xsalsa20poly1305/ref/before_curve25519xsalsa20poly1305.c \
+	crypto_box/curve25519xsalsa20poly1305/ref/box_curve25519xsalsa20poly1305.c \
+	crypto_box/curve25519xsalsa20poly1305/ref/keypair_curve25519xsalsa20poly1305.c \
+	crypto_core/hsalsa20/ref2/core_hsalsa20.c \
+	crypto_core/hsalsa20/core_hsalsa20_api.c \
+	crypto_core/hsalsa20/ref2/api.h \
+	crypto_core/salsa20/ref/core_salsa20.c \
+	crypto_core/salsa20/core_salsa20_api.c \
+	crypto_core/salsa20/ref/api.h \
+	crypto_core/salsa2012/ref/core_salsa2012.c \
+	crypto_core/salsa2012/core_salsa2012_api.c \
+	crypto_core/salsa2012/ref/api.h \
+	crypto_core/salsa208/ref/core_salsa208.c \
+	crypto_core/salsa208/core_salsa208_api.c \
+	crypto_core/salsa208/ref/api.h \
+	crypto_generichash/crypto_generichash.c \
+	crypto_generichash/blake2/generichash_blake2_api.c \
+	crypto_generichash/blake2/ref/api.h \
+	crypto_generichash/blake2/ref/blake2-impl.h \
+	crypto_generichash/blake2/ref/blake2.h \
+	crypto_generichash/blake2/ref/blake2b-ref.c \
+	crypto_generichash/blake2/ref/generichash_blake2b.c \
+	crypto_hash/crypto_hash.c \
+	crypto_hash/sha256/hash_sha256_api.c \
+	crypto_hash/sha256/ref/api.h \
+	crypto_hash/sha256/ref/hash_sha256.c \
+	crypto_hash/sha512/hash_sha512_api.c \
+	crypto_hash/sha512/ref/api.h \
+	crypto_hash/sha512/ref/hash_sha512.c \
+	crypto_hashblocks/sha256/ref/blocks_sha256.c \
+	crypto_hashblocks/sha256/hashblocks_sha256_api.c \
+	crypto_hashblocks/sha256/ref/api.h \
+	crypto_hashblocks/sha512/ref/blocks_sha512.c \
+	crypto_hashblocks/sha512/hashblocks_sha512_api.c \
+	crypto_hashblocks/sha512/ref/api.h \
+	crypto_onetimeauth/crypto_onetimeauth.c \
+	crypto_onetimeauth/poly1305/onetimeauth_poly1305.c \
+	crypto_onetimeauth/poly1305/onetimeauth_poly1305_api.c \
+	crypto_onetimeauth/poly1305/onetimeauth_poly1305_try.c \
+	crypto_onetimeauth/poly1305/53/api.h \
+	crypto_onetimeauth/poly1305/53/auth_poly1305_53.c \
+	crypto_onetimeauth/poly1305/53/verify_poly1305_53.c \
+	crypto_onetimeauth/poly1305/donna/api.h \
+	crypto_onetimeauth/poly1305/donna/portable-jane.h \
+	crypto_onetimeauth/poly1305/donna/auth_poly1305_donna.c \
+	crypto_onetimeauth/poly1305/donna/verify_poly1305_donna.c \
+	crypto_scalarmult/crypto_scalarmult.c \
+	crypto_secretbox/crypto_secretbox.c \
+	crypto_secretbox/xsalsa20poly1305/secretbox_xsalsa20poly1305_api.c \
+	crypto_secretbox/xsalsa20poly1305/ref/api.h \
+	crypto_secretbox/xsalsa20poly1305/ref/box_xsalsa20poly1305.c \
+	crypto_shorthash/crypto_shorthash.c \
+	crypto_shorthash/siphash24/shorthash_siphash24_api.c \
+	crypto_shorthash/siphash24/ref/api.h \
+	crypto_shorthash/siphash24/ref/shorthash_siphash24.c \
+	crypto_sign/crypto_sign.c \
+	crypto_sign/ed25519/ref10/base.h \
+	crypto_sign/ed25519/ref10/base2.h \
+	crypto_sign/ed25519/sign_ed25519_api.c \
+	crypto_sign/ed25519/ref10/api.h \
+	crypto_sign/ed25519/ref10/d.h \
+	crypto_sign/ed25519/ref10/d2.h \
+	crypto_sign/ed25519/ref10/fe.h \
+	crypto_sign/ed25519/ref10/fe_0.c \
+	crypto_sign/ed25519/ref10/fe_1.c \
+	crypto_sign/ed25519/ref10/fe_add.c \
+	crypto_sign/ed25519/ref10/fe_cmov.c \
+	crypto_sign/ed25519/ref10/fe_copy.c \
+	crypto_sign/ed25519/ref10/fe_frombytes.c \
+	crypto_sign/ed25519/ref10/fe_invert.c \
+	crypto_sign/ed25519/ref10/fe_isnegative.c \
+	crypto_sign/ed25519/ref10/fe_isnonzero.c \
+	crypto_sign/ed25519/ref10/fe_mul.c \
+	crypto_sign/ed25519/ref10/fe_neg.c \
+	crypto_sign/ed25519/ref10/fe_pow22523.c \
+	crypto_sign/ed25519/ref10/fe_sq.c \
+	crypto_sign/ed25519/ref10/fe_sq2.c \
+	crypto_sign/ed25519/ref10/fe_sub.c \
+	crypto_sign/ed25519/ref10/fe_tobytes.c \
+	crypto_sign/ed25519/ref10/ge.h \
+	crypto_sign/ed25519/ref10/ge_add.c \
+	crypto_sign/ed25519/ref10/ge_add.h \
+	crypto_sign/ed25519/ref10/ge_double_scalarmult.c \
+	crypto_sign/ed25519/ref10/ge_frombytes.c \
+	crypto_sign/ed25519/ref10/ge_madd.c \
+	crypto_sign/ed25519/ref10/ge_madd.h \
+	crypto_sign/ed25519/ref10/ge_msub.c \
+	crypto_sign/ed25519/ref10/ge_msub.h \
+	crypto_sign/ed25519/ref10/ge_p1p1_to_p2.c \
+	crypto_sign/ed25519/ref10/ge_p1p1_to_p3.c \
+	crypto_sign/ed25519/ref10/ge_p2_0.c \
+	crypto_sign/ed25519/ref10/ge_p2_dbl.c \
+	crypto_sign/ed25519/ref10/ge_p2_dbl.h \
+	crypto_sign/ed25519/ref10/ge_p3_0.c \
+	crypto_sign/ed25519/ref10/ge_p3_dbl.c \
+	crypto_sign/ed25519/ref10/ge_p3_to_cached.c \
+	crypto_sign/ed25519/ref10/ge_p3_to_p2.c \
+	crypto_sign/ed25519/ref10/ge_p3_tobytes.c \
+	crypto_sign/ed25519/ref10/ge_precomp_0.c \
+	crypto_sign/ed25519/ref10/ge_scalarmult_base.c \
+	crypto_sign/ed25519/ref10/ge_sub.c \
+	crypto_sign/ed25519/ref10/ge_sub.h \
+	crypto_sign/ed25519/ref10/ge_tobytes.c \
+	crypto_sign/ed25519/ref10/keypair.c \
+	crypto_sign/ed25519/ref10/open.c \
+	crypto_sign/ed25519/ref10/pow22523.h \
+	crypto_sign/ed25519/ref10/pow225521.h \
+	crypto_sign/ed25519/ref10/sc.h \
+	crypto_sign/ed25519/ref10/sc_muladd.c \
+	crypto_sign/ed25519/ref10/sc_reduce.c \
+	crypto_sign/ed25519/ref10/sign.c \
+	crypto_sign/ed25519/ref10/sqrtm1.h \
+	crypto_sign/edwards25519sha512batch/sign_edwards25519sha512batch_api.c \
+	crypto_sign/edwards25519sha512batch/ref/api.h \
+	crypto_sign/edwards25519sha512batch/ref/fe25519.h \
+	crypto_sign/edwards25519sha512batch/ref/fe25519_edwards25519sha512batch.c \
+	crypto_sign/edwards25519sha512batch/ref/ge25519.h \
+	crypto_sign/edwards25519sha512batch/ref/ge25519_edwards25519sha512batch.c \
+	crypto_sign/edwards25519sha512batch/ref/sc25519.h \
+	crypto_sign/edwards25519sha512batch/ref/sc25519_edwards25519sha512batch.c \
+	crypto_sign/edwards25519sha512batch/ref/sign_edwards25519sha512batch.c \
+	crypto_stream/crypto_stream.c \
+	crypto_stream/aes128ctr/portable/afternm_aes128ctr.c \
+	crypto_stream/aes128ctr/stream_aes128ctr_api.c \
+	crypto_stream/aes128ctr/portable/api.h \
+	crypto_stream/aes128ctr/portable/beforenm_aes128ctr.c \
+	crypto_stream/aes128ctr/portable/common.h \
+	crypto_stream/aes128ctr/portable/common_aes128ctr.c \
+	crypto_stream/aes128ctr/portable/consts.h \
+	crypto_stream/aes128ctr/portable/consts_aes128ctr.c \
+	crypto_stream/aes128ctr/portable/int128.h \
+	crypto_stream/aes128ctr/portable/int128_aes128ctr.c \
+	crypto_stream/aes128ctr/portable/stream_aes128ctr.c \
+	crypto_stream/aes128ctr/portable/types.h \
+	crypto_stream/aes128ctr/portable/xor_afternm_aes128ctr.c \
+	crypto_stream/aes256estream/hongjun/aes-table.h \
+	crypto_stream/aes256estream/hongjun/aes256-ctr.c \
+	crypto_stream/aes256estream/hongjun/aes256.h \
+	crypto_stream/aes256estream/stream_aes256estream_api.c \
+	crypto_stream/aes256estream/hongjun/api.h \
+	crypto_stream/aes256estream/hongjun/ecrypt-sync.h \
+	crypto_stream/salsa2012/stream_salsa2012_api.c \
+	crypto_stream/salsa2012/ref/api.h \
+	crypto_stream/salsa2012/ref/stream_salsa2012.c \
+	crypto_stream/salsa2012/ref/xor_salsa2012.c \
+	crypto_stream/salsa208/stream_salsa208_api.c \
+	crypto_stream/salsa208/ref/api.h \
+	crypto_stream/salsa208/ref/stream_salsa208.c \
+	crypto_stream/salsa208/ref/xor_salsa208.c \
+	crypto_stream/xsalsa20/stream_xsalsa20_api.c \
+	crypto_stream/xsalsa20/ref/api.h \
+	crypto_stream/xsalsa20/ref/stream_xsalsa20.c \
+	crypto_stream/xsalsa20/ref/xor_xsalsa20.c \
+	crypto_verify/16/verify_16_api.c \
+	crypto_verify/16/ref/api.h \
+	crypto_verify/16/ref/verify_16.c \
+	crypto_verify/32/verify_32_api.c \
+	crypto_verify/32/ref/api.h \
+	crypto_verify/32/ref/verify_32.c \
+	randombytes/randombytes.c \
+	randombytes/salsa20/randombytes_salsa20_random.c \
+	randombytes/sysrandom/randombytes_sysrandom.c \
+	sodium/compat.c \
+	sodium/core.c \
+	sodium/utils.c \
+	sodium/version.c
+
+if HAVE_TI_MODE
+libsodium_la_SOURCES += \
+	crypto_scalarmult/curve25519/donna_c64/api.h \
+	crypto_scalarmult/curve25519/donna_c64/base_curve25519_donna_c64.c \
+	crypto_scalarmult/curve25519/donna_c64/smult_curve25519_donna_c64.c
+else
+libsodium_la_SOURCES += \
+	crypto_scalarmult/curve25519/ref/api.h \
+	crypto_scalarmult/curve25519/ref/base_curve25519_ref.c \
+	crypto_scalarmult/curve25519/ref/smult_curve25519_ref.c
+endif
+
+if HAVE_AMD64_ASM
+libsodium_la_SOURCES += \
+	crypto_stream/salsa20/amd64_xmm6/api.h \
+	crypto_stream/salsa20/amd64_xmm6/stream_salsa20_amd64_xmm6.S
+else
+libsodium_la_SOURCES += \
+	crypto_stream/salsa20/ref/api.h \
+	crypto_stream/salsa20/ref/stream_salsa20_ref.c \
+	crypto_stream/salsa20/ref/xor_salsa20_ref.c
+endif
+
+libsodium_la_LDFLAGS = \
+	$(AM_LDFLAGS) \
+	-export-dynamic \
+	-no-undefined \
+	$(LIBTOOL_EXTRA_FLAGS)
+
+libsodium_la_CPPFLAGS = \
+	$(LTDLINCL) \
+	-I$(srcdir)/include/sodium \
+	-I$(builddir)/include/sodium
+
+if HAVE_LD_OUTPUT_DEF
+libsodium_la_LDFLAGS += -Wl,--output-def,libsodium-$(DLL_VERSION).def
+defexecdir = $(bindir)
+defexec_DATA = libsodium-$(DLL_VERSION).def
+DISTCLEANFILES = $(defexec_DATA)
+endif
+
+SUBDIRS = \
+	include
diff --git a/src/libsodium/src/libsodium/Makefile.in b/src/libsodium/src/libsodium/Makefile.in
new file mode 100644
index 00000000..63abc674
--- /dev/null
+++ b/src/libsodium/src/libsodium/Makefile.in
@@ -0,0 +1,3535 @@
+# Makefile.in generated by automake 1.14 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+
+VPATH = @srcdir@
+am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__make_running_with_option = \
+  case $${target_option-} in \
+      ?) ;; \
+      *) echo "am__make_running_with_option: internal error: invalid" \
+              "target option '$${target_option-}' specified" >&2; \
+         exit 1;; \
+  esac; \
+  has_opt=no; \
+  sane_makeflags=$$MAKEFLAGS; \
+  if $(am__is_gnu_make); then \
+    sane_makeflags=$$MFLAGS; \
+  else \
+    case $$MAKEFLAGS in \
+      *\\[\ \	]*) \
+        bs=\\; \
+        sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+          | sed "s/$$bs$$bs[$$bs $$bs	]*//g"`;; \
+    esac; \
+  fi; \
+  skip_next=no; \
+  strip_trailopt () \
+  { \
+    flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+  }; \
+  for flg in $$sane_makeflags; do \
+    test $$skip_next = yes && { skip_next=no; continue; }; \
+    case $$flg in \
+      *=*|--*) continue;; \
+        -*I) strip_trailopt 'I'; skip_next=yes;; \
+      -*I?*) strip_trailopt 'I';; \
+        -*O) strip_trailopt 'O'; skip_next=yes;; \
+      -*O?*) strip_trailopt 'O';; \
+        -*l) strip_trailopt 'l'; skip_next=yes;; \
+      -*l?*) strip_trailopt 'l';; \
+      -[dEDm]) skip_next=yes;; \
+      -[JT]) skip_next=yes;; \
+    esac; \
+    case $$flg in \
+      *$$target_option*) has_opt=yes; break;; \
+    esac; \
+  done; \
+  test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
+pkgdatadir = $(datadir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+@HAVE_TI_MODE_TRUE@am__append_1 = \
+@HAVE_TI_MODE_TRUE@	crypto_scalarmult/curve25519/donna_c64/api.h \
+@HAVE_TI_MODE_TRUE@	crypto_scalarmult/curve25519/donna_c64/base_curve25519_donna_c64.c \
+@HAVE_TI_MODE_TRUE@	crypto_scalarmult/curve25519/donna_c64/smult_curve25519_donna_c64.c
+
+@HAVE_TI_MODE_FALSE@am__append_2 = \
+@HAVE_TI_MODE_FALSE@	crypto_scalarmult/curve25519/ref/api.h \
+@HAVE_TI_MODE_FALSE@	crypto_scalarmult/curve25519/ref/base_curve25519_ref.c \
+@HAVE_TI_MODE_FALSE@	crypto_scalarmult/curve25519/ref/smult_curve25519_ref.c
+
+@HAVE_AMD64_ASM_TRUE@am__append_3 = \
+@HAVE_AMD64_ASM_TRUE@	crypto_stream/salsa20/amd64_xmm6/api.h \
+@HAVE_AMD64_ASM_TRUE@	crypto_stream/salsa20/amd64_xmm6/stream_salsa20_amd64_xmm6.S
+
+@HAVE_AMD64_ASM_FALSE@am__append_4 = \
+@HAVE_AMD64_ASM_FALSE@	crypto_stream/salsa20/ref/api.h \
+@HAVE_AMD64_ASM_FALSE@	crypto_stream/salsa20/ref/stream_salsa20_ref.c \
+@HAVE_AMD64_ASM_FALSE@	crypto_stream/salsa20/ref/xor_salsa20_ref.c
+
+@HAVE_LD_OUTPUT_DEF_TRUE@am__append_5 = -Wl,--output-def,libsodium-$(DLL_VERSION).def
+subdir = src/libsodium
+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
+	$(top_srcdir)/depcomp
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/ax_check_compile_flag.m4 \
+	$(top_srcdir)/m4/ax_check_link_flag.m4 \
+	$(top_srcdir)/m4/ld-output-def.m4 $(top_srcdir)/m4/libtool.m4 \
+	$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+	$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+	$(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+	$(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+    $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+    *) f=$$p;; \
+  esac;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+  srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+  for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+  for p in $$list; do echo "$$p $$p"; done | \
+  sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+  $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+    if (++n[$$2] == $(am__install_max)) \
+      { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+    END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+  sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+  sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+  test -z "$$files" \
+    || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+    || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+         $(am__cd) "$$dir" && rm -f $$files; }; \
+  }
+am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(defexecdir)"
+LTLIBRARIES = $(lib_LTLIBRARIES)
+libsodium_la_LIBADD =
+am__libsodium_la_SOURCES_DIST = crypto_auth/crypto_auth.c \
+	crypto_auth/hmacsha256/auth_hmacsha256_api.c \
+	crypto_auth/hmacsha256/ref/api.h \
+	crypto_auth/hmacsha256/ref/hmac_hmacsha256.c \
+	crypto_auth/hmacsha256/ref/verify_hmacsha256.c \
+	crypto_auth/hmacsha512256/auth_hmacsha512256_api.c \
+	crypto_auth/hmacsha512256/ref/api.h \
+	crypto_auth/hmacsha512256/ref/hmac_hmacsha512256.c \
+	crypto_auth/hmacsha512256/ref/verify_hmacsha512256.c \
+	crypto_box/crypto_box.c \
+	crypto_box/curve25519xsalsa20poly1305/box_curve25519xsalsa20poly1305_api.c \
+	crypto_box/curve25519xsalsa20poly1305/ref/api.h \
+	crypto_box/curve25519xsalsa20poly1305/ref/after_curve25519xsalsa20poly1305.c \
+	crypto_box/curve25519xsalsa20poly1305/ref/before_curve25519xsalsa20poly1305.c \
+	crypto_box/curve25519xsalsa20poly1305/ref/box_curve25519xsalsa20poly1305.c \
+	crypto_box/curve25519xsalsa20poly1305/ref/keypair_curve25519xsalsa20poly1305.c \
+	crypto_core/hsalsa20/ref2/core_hsalsa20.c \
+	crypto_core/hsalsa20/core_hsalsa20_api.c \
+	crypto_core/hsalsa20/ref2/api.h \
+	crypto_core/salsa20/ref/core_salsa20.c \
+	crypto_core/salsa20/core_salsa20_api.c \
+	crypto_core/salsa20/ref/api.h \
+	crypto_core/salsa2012/ref/core_salsa2012.c \
+	crypto_core/salsa2012/core_salsa2012_api.c \
+	crypto_core/salsa2012/ref/api.h \
+	crypto_core/salsa208/ref/core_salsa208.c \
+	crypto_core/salsa208/core_salsa208_api.c \
+	crypto_core/salsa208/ref/api.h \
+	crypto_generichash/crypto_generichash.c \
+	crypto_generichash/blake2/generichash_blake2_api.c \
+	crypto_generichash/blake2/ref/api.h \
+	crypto_generichash/blake2/ref/blake2-impl.h \
+	crypto_generichash/blake2/ref/blake2.h \
+	crypto_generichash/blake2/ref/blake2b-ref.c \
+	crypto_generichash/blake2/ref/generichash_blake2b.c \
+	crypto_hash/crypto_hash.c crypto_hash/sha256/hash_sha256_api.c \
+	crypto_hash/sha256/ref/api.h \
+	crypto_hash/sha256/ref/hash_sha256.c \
+	crypto_hash/sha512/hash_sha512_api.c \
+	crypto_hash/sha512/ref/api.h \
+	crypto_hash/sha512/ref/hash_sha512.c \
+	crypto_hashblocks/sha256/ref/blocks_sha256.c \
+	crypto_hashblocks/sha256/hashblocks_sha256_api.c \
+	crypto_hashblocks/sha256/ref/api.h \
+	crypto_hashblocks/sha512/ref/blocks_sha512.c \
+	crypto_hashblocks/sha512/hashblocks_sha512_api.c \
+	crypto_hashblocks/sha512/ref/api.h \
+	crypto_onetimeauth/crypto_onetimeauth.c \
+	crypto_onetimeauth/poly1305/onetimeauth_poly1305.c \
+	crypto_onetimeauth/poly1305/onetimeauth_poly1305_api.c \
+	crypto_onetimeauth/poly1305/onetimeauth_poly1305_try.c \
+	crypto_onetimeauth/poly1305/53/api.h \
+	crypto_onetimeauth/poly1305/53/auth_poly1305_53.c \
+	crypto_onetimeauth/poly1305/53/verify_poly1305_53.c \
+	crypto_onetimeauth/poly1305/donna/api.h \
+	crypto_onetimeauth/poly1305/donna/portable-jane.h \
+	crypto_onetimeauth/poly1305/donna/auth_poly1305_donna.c \
+	crypto_onetimeauth/poly1305/donna/verify_poly1305_donna.c \
+	crypto_scalarmult/crypto_scalarmult.c \
+	crypto_secretbox/crypto_secretbox.c \
+	crypto_secretbox/xsalsa20poly1305/secretbox_xsalsa20poly1305_api.c \
+	crypto_secretbox/xsalsa20poly1305/ref/api.h \
+	crypto_secretbox/xsalsa20poly1305/ref/box_xsalsa20poly1305.c \
+	crypto_shorthash/crypto_shorthash.c \
+	crypto_shorthash/siphash24/shorthash_siphash24_api.c \
+	crypto_shorthash/siphash24/ref/api.h \
+	crypto_shorthash/siphash24/ref/shorthash_siphash24.c \
+	crypto_sign/crypto_sign.c crypto_sign/ed25519/ref10/base.h \
+	crypto_sign/ed25519/ref10/base2.h \
+	crypto_sign/ed25519/sign_ed25519_api.c \
+	crypto_sign/ed25519/ref10/api.h crypto_sign/ed25519/ref10/d.h \
+	crypto_sign/ed25519/ref10/d2.h crypto_sign/ed25519/ref10/fe.h \
+	crypto_sign/ed25519/ref10/fe_0.c \
+	crypto_sign/ed25519/ref10/fe_1.c \
+	crypto_sign/ed25519/ref10/fe_add.c \
+	crypto_sign/ed25519/ref10/fe_cmov.c \
+	crypto_sign/ed25519/ref10/fe_copy.c \
+	crypto_sign/ed25519/ref10/fe_frombytes.c \
+	crypto_sign/ed25519/ref10/fe_invert.c \
+	crypto_sign/ed25519/ref10/fe_isnegative.c \
+	crypto_sign/ed25519/ref10/fe_isnonzero.c \
+	crypto_sign/ed25519/ref10/fe_mul.c \
+	crypto_sign/ed25519/ref10/fe_neg.c \
+	crypto_sign/ed25519/ref10/fe_pow22523.c \
+	crypto_sign/ed25519/ref10/fe_sq.c \
+	crypto_sign/ed25519/ref10/fe_sq2.c \
+	crypto_sign/ed25519/ref10/fe_sub.c \
+	crypto_sign/ed25519/ref10/fe_tobytes.c \
+	crypto_sign/ed25519/ref10/ge.h \
+	crypto_sign/ed25519/ref10/ge_add.c \
+	crypto_sign/ed25519/ref10/ge_add.h \
+	crypto_sign/ed25519/ref10/ge_double_scalarmult.c \
+	crypto_sign/ed25519/ref10/ge_frombytes.c \
+	crypto_sign/ed25519/ref10/ge_madd.c \
+	crypto_sign/ed25519/ref10/ge_madd.h \
+	crypto_sign/ed25519/ref10/ge_msub.c \
+	crypto_sign/ed25519/ref10/ge_msub.h \
+	crypto_sign/ed25519/ref10/ge_p1p1_to_p2.c \
+	crypto_sign/ed25519/ref10/ge_p1p1_to_p3.c \
+	crypto_sign/ed25519/ref10/ge_p2_0.c \
+	crypto_sign/ed25519/ref10/ge_p2_dbl.c \
+	crypto_sign/ed25519/ref10/ge_p2_dbl.h \
+	crypto_sign/ed25519/ref10/ge_p3_0.c \
+	crypto_sign/ed25519/ref10/ge_p3_dbl.c \
+	crypto_sign/ed25519/ref10/ge_p3_to_cached.c \
+	crypto_sign/ed25519/ref10/ge_p3_to_p2.c \
+	crypto_sign/ed25519/ref10/ge_p3_tobytes.c \
+	crypto_sign/ed25519/ref10/ge_precomp_0.c \
+	crypto_sign/ed25519/ref10/ge_scalarmult_base.c \
+	crypto_sign/ed25519/ref10/ge_sub.c \
+	crypto_sign/ed25519/ref10/ge_sub.h \
+	crypto_sign/ed25519/ref10/ge_tobytes.c \
+	crypto_sign/ed25519/ref10/keypair.c \
+	crypto_sign/ed25519/ref10/open.c \
+	crypto_sign/ed25519/ref10/pow22523.h \
+	crypto_sign/ed25519/ref10/pow225521.h \
+	crypto_sign/ed25519/ref10/sc.h \
+	crypto_sign/ed25519/ref10/sc_muladd.c \
+	crypto_sign/ed25519/ref10/sc_reduce.c \
+	crypto_sign/ed25519/ref10/sign.c \
+	crypto_sign/ed25519/ref10/sqrtm1.h \
+	crypto_sign/edwards25519sha512batch/sign_edwards25519sha512batch_api.c \
+	crypto_sign/edwards25519sha512batch/ref/api.h \
+	crypto_sign/edwards25519sha512batch/ref/fe25519.h \
+	crypto_sign/edwards25519sha512batch/ref/fe25519_edwards25519sha512batch.c \
+	crypto_sign/edwards25519sha512batch/ref/ge25519.h \
+	crypto_sign/edwards25519sha512batch/ref/ge25519_edwards25519sha512batch.c \
+	crypto_sign/edwards25519sha512batch/ref/sc25519.h \
+	crypto_sign/edwards25519sha512batch/ref/sc25519_edwards25519sha512batch.c \
+	crypto_sign/edwards25519sha512batch/ref/sign_edwards25519sha512batch.c \
+	crypto_stream/crypto_stream.c \
+	crypto_stream/aes128ctr/portable/afternm_aes128ctr.c \
+	crypto_stream/aes128ctr/stream_aes128ctr_api.c \
+	crypto_stream/aes128ctr/portable/api.h \
+	crypto_stream/aes128ctr/portable/beforenm_aes128ctr.c \
+	crypto_stream/aes128ctr/portable/common.h \
+	crypto_stream/aes128ctr/portable/common_aes128ctr.c \
+	crypto_stream/aes128ctr/portable/consts.h \
+	crypto_stream/aes128ctr/portable/consts_aes128ctr.c \
+	crypto_stream/aes128ctr/portable/int128.h \
+	crypto_stream/aes128ctr/portable/int128_aes128ctr.c \
+	crypto_stream/aes128ctr/portable/stream_aes128ctr.c \
+	crypto_stream/aes128ctr/portable/types.h \
+	crypto_stream/aes128ctr/portable/xor_afternm_aes128ctr.c \
+	crypto_stream/aes256estream/hongjun/aes-table.h \
+	crypto_stream/aes256estream/hongjun/aes256-ctr.c \
+	crypto_stream/aes256estream/hongjun/aes256.h \
+	crypto_stream/aes256estream/stream_aes256estream_api.c \
+	crypto_stream/aes256estream/hongjun/api.h \
+	crypto_stream/aes256estream/hongjun/ecrypt-sync.h \
+	crypto_stream/salsa2012/stream_salsa2012_api.c \
+	crypto_stream/salsa2012/ref/api.h \
+	crypto_stream/salsa2012/ref/stream_salsa2012.c \
+	crypto_stream/salsa2012/ref/xor_salsa2012.c \
+	crypto_stream/salsa208/stream_salsa208_api.c \
+	crypto_stream/salsa208/ref/api.h \
+	crypto_stream/salsa208/ref/stream_salsa208.c \
+	crypto_stream/salsa208/ref/xor_salsa208.c \
+	crypto_stream/xsalsa20/stream_xsalsa20_api.c \
+	crypto_stream/xsalsa20/ref/api.h \
+	crypto_stream/xsalsa20/ref/stream_xsalsa20.c \
+	crypto_stream/xsalsa20/ref/xor_xsalsa20.c \
+	crypto_verify/16/verify_16_api.c crypto_verify/16/ref/api.h \
+	crypto_verify/16/ref/verify_16.c \
+	crypto_verify/32/verify_32_api.c crypto_verify/32/ref/api.h \
+	crypto_verify/32/ref/verify_32.c randombytes/randombytes.c \
+	randombytes/salsa20/randombytes_salsa20_random.c \
+	randombytes/sysrandom/randombytes_sysrandom.c sodium/compat.c \
+	sodium/core.c sodium/utils.c sodium/version.c \
+	crypto_scalarmult/curve25519/donna_c64/api.h \
+	crypto_scalarmult/curve25519/donna_c64/base_curve25519_donna_c64.c \
+	crypto_scalarmult/curve25519/donna_c64/smult_curve25519_donna_c64.c \
+	crypto_scalarmult/curve25519/ref/api.h \
+	crypto_scalarmult/curve25519/ref/base_curve25519_ref.c \
+	crypto_scalarmult/curve25519/ref/smult_curve25519_ref.c \
+	crypto_stream/salsa20/amd64_xmm6/api.h \
+	crypto_stream/salsa20/amd64_xmm6/stream_salsa20_amd64_xmm6.S \
+	crypto_stream/salsa20/ref/api.h \
+	crypto_stream/salsa20/ref/stream_salsa20_ref.c \
+	crypto_stream/salsa20/ref/xor_salsa20_ref.c
+am__dirstamp = $(am__leading_dot)dirstamp
+@HAVE_TI_MODE_TRUE@am__objects_1 = crypto_scalarmult/curve25519/donna_c64/libsodium_la-base_curve25519_donna_c64.lo \
+@HAVE_TI_MODE_TRUE@	crypto_scalarmult/curve25519/donna_c64/libsodium_la-smult_curve25519_donna_c64.lo
+@HAVE_TI_MODE_FALSE@am__objects_2 = crypto_scalarmult/curve25519/ref/libsodium_la-base_curve25519_ref.lo \
+@HAVE_TI_MODE_FALSE@	crypto_scalarmult/curve25519/ref/libsodium_la-smult_curve25519_ref.lo
+@HAVE_AMD64_ASM_TRUE@am__objects_3 = crypto_stream/salsa20/amd64_xmm6/libsodium_la-stream_salsa20_amd64_xmm6.lo
+@HAVE_AMD64_ASM_FALSE@am__objects_4 = crypto_stream/salsa20/ref/libsodium_la-stream_salsa20_ref.lo \
+@HAVE_AMD64_ASM_FALSE@	crypto_stream/salsa20/ref/libsodium_la-xor_salsa20_ref.lo
+am_libsodium_la_OBJECTS = crypto_auth/libsodium_la-crypto_auth.lo \
+	crypto_auth/hmacsha256/libsodium_la-auth_hmacsha256_api.lo \
+	crypto_auth/hmacsha256/ref/libsodium_la-hmac_hmacsha256.lo \
+	crypto_auth/hmacsha256/ref/libsodium_la-verify_hmacsha256.lo \
+	crypto_auth/hmacsha512256/libsodium_la-auth_hmacsha512256_api.lo \
+	crypto_auth/hmacsha512256/ref/libsodium_la-hmac_hmacsha512256.lo \
+	crypto_auth/hmacsha512256/ref/libsodium_la-verify_hmacsha512256.lo \
+	crypto_box/libsodium_la-crypto_box.lo \
+	crypto_box/curve25519xsalsa20poly1305/libsodium_la-box_curve25519xsalsa20poly1305_api.lo \
+	crypto_box/curve25519xsalsa20poly1305/ref/libsodium_la-after_curve25519xsalsa20poly1305.lo \
+	crypto_box/curve25519xsalsa20poly1305/ref/libsodium_la-before_curve25519xsalsa20poly1305.lo \
+	crypto_box/curve25519xsalsa20poly1305/ref/libsodium_la-box_curve25519xsalsa20poly1305.lo \
+	crypto_box/curve25519xsalsa20poly1305/ref/libsodium_la-keypair_curve25519xsalsa20poly1305.lo \
+	crypto_core/hsalsa20/ref2/libsodium_la-core_hsalsa20.lo \
+	crypto_core/hsalsa20/libsodium_la-core_hsalsa20_api.lo \
+	crypto_core/salsa20/ref/libsodium_la-core_salsa20.lo \
+	crypto_core/salsa20/libsodium_la-core_salsa20_api.lo \
+	crypto_core/salsa2012/ref/libsodium_la-core_salsa2012.lo \
+	crypto_core/salsa2012/libsodium_la-core_salsa2012_api.lo \
+	crypto_core/salsa208/ref/libsodium_la-core_salsa208.lo \
+	crypto_core/salsa208/libsodium_la-core_salsa208_api.lo \
+	crypto_generichash/libsodium_la-crypto_generichash.lo \
+	crypto_generichash/blake2/libsodium_la-generichash_blake2_api.lo \
+	crypto_generichash/blake2/ref/libsodium_la-blake2b-ref.lo \
+	crypto_generichash/blake2/ref/libsodium_la-generichash_blake2b.lo \
+	crypto_hash/libsodium_la-crypto_hash.lo \
+	crypto_hash/sha256/libsodium_la-hash_sha256_api.lo \
+	crypto_hash/sha256/ref/libsodium_la-hash_sha256.lo \
+	crypto_hash/sha512/libsodium_la-hash_sha512_api.lo \
+	crypto_hash/sha512/ref/libsodium_la-hash_sha512.lo \
+	crypto_hashblocks/sha256/ref/libsodium_la-blocks_sha256.lo \
+	crypto_hashblocks/sha256/libsodium_la-hashblocks_sha256_api.lo \
+	crypto_hashblocks/sha512/ref/libsodium_la-blocks_sha512.lo \
+	crypto_hashblocks/sha512/libsodium_la-hashblocks_sha512_api.lo \
+	crypto_onetimeauth/libsodium_la-crypto_onetimeauth.lo \
+	crypto_onetimeauth/poly1305/libsodium_la-onetimeauth_poly1305.lo \
+	crypto_onetimeauth/poly1305/libsodium_la-onetimeauth_poly1305_api.lo \
+	crypto_onetimeauth/poly1305/libsodium_la-onetimeauth_poly1305_try.lo \
+	crypto_onetimeauth/poly1305/53/libsodium_la-auth_poly1305_53.lo \
+	crypto_onetimeauth/poly1305/53/libsodium_la-verify_poly1305_53.lo \
+	crypto_onetimeauth/poly1305/donna/libsodium_la-auth_poly1305_donna.lo \
+	crypto_onetimeauth/poly1305/donna/libsodium_la-verify_poly1305_donna.lo \
+	crypto_scalarmult/libsodium_la-crypto_scalarmult.lo \
+	crypto_secretbox/libsodium_la-crypto_secretbox.lo \
+	crypto_secretbox/xsalsa20poly1305/libsodium_la-secretbox_xsalsa20poly1305_api.lo \
+	crypto_secretbox/xsalsa20poly1305/ref/libsodium_la-box_xsalsa20poly1305.lo \
+	crypto_shorthash/libsodium_la-crypto_shorthash.lo \
+	crypto_shorthash/siphash24/libsodium_la-shorthash_siphash24_api.lo \
+	crypto_shorthash/siphash24/ref/libsodium_la-shorthash_siphash24.lo \
+	crypto_sign/libsodium_la-crypto_sign.lo \
+	crypto_sign/ed25519/libsodium_la-sign_ed25519_api.lo \
+	crypto_sign/ed25519/ref10/libsodium_la-fe_0.lo \
+	crypto_sign/ed25519/ref10/libsodium_la-fe_1.lo \
+	crypto_sign/ed25519/ref10/libsodium_la-fe_add.lo \
+	crypto_sign/ed25519/ref10/libsodium_la-fe_cmov.lo \
+	crypto_sign/ed25519/ref10/libsodium_la-fe_copy.lo \
+	crypto_sign/ed25519/ref10/libsodium_la-fe_frombytes.lo \
+	crypto_sign/ed25519/ref10/libsodium_la-fe_invert.lo \
+	crypto_sign/ed25519/ref10/libsodium_la-fe_isnegative.lo \
+	crypto_sign/ed25519/ref10/libsodium_la-fe_isnonzero.lo \
+	crypto_sign/ed25519/ref10/libsodium_la-fe_mul.lo \
+	crypto_sign/ed25519/ref10/libsodium_la-fe_neg.lo \
+	crypto_sign/ed25519/ref10/libsodium_la-fe_pow22523.lo \
+	crypto_sign/ed25519/ref10/libsodium_la-fe_sq.lo \
+	crypto_sign/ed25519/ref10/libsodium_la-fe_sq2.lo \
+	crypto_sign/ed25519/ref10/libsodium_la-fe_sub.lo \
+	crypto_sign/ed25519/ref10/libsodium_la-fe_tobytes.lo \
+	crypto_sign/ed25519/ref10/libsodium_la-ge_add.lo \
+	crypto_sign/ed25519/ref10/libsodium_la-ge_double_scalarmult.lo \
+	crypto_sign/ed25519/ref10/libsodium_la-ge_frombytes.lo \
+	crypto_sign/ed25519/ref10/libsodium_la-ge_madd.lo \
+	crypto_sign/ed25519/ref10/libsodium_la-ge_msub.lo \
+	crypto_sign/ed25519/ref10/libsodium_la-ge_p1p1_to_p2.lo \
+	crypto_sign/ed25519/ref10/libsodium_la-ge_p1p1_to_p3.lo \
+	crypto_sign/ed25519/ref10/libsodium_la-ge_p2_0.lo \
+	crypto_sign/ed25519/ref10/libsodium_la-ge_p2_dbl.lo \
+	crypto_sign/ed25519/ref10/libsodium_la-ge_p3_0.lo \
+	crypto_sign/ed25519/ref10/libsodium_la-ge_p3_dbl.lo \
+	crypto_sign/ed25519/ref10/libsodium_la-ge_p3_to_cached.lo \
+	crypto_sign/ed25519/ref10/libsodium_la-ge_p3_to_p2.lo \
+	crypto_sign/ed25519/ref10/libsodium_la-ge_p3_tobytes.lo \
+	crypto_sign/ed25519/ref10/libsodium_la-ge_precomp_0.lo \
+	crypto_sign/ed25519/ref10/libsodium_la-ge_scalarmult_base.lo \
+	crypto_sign/ed25519/ref10/libsodium_la-ge_sub.lo \
+	crypto_sign/ed25519/ref10/libsodium_la-ge_tobytes.lo \
+	crypto_sign/ed25519/ref10/libsodium_la-keypair.lo \
+	crypto_sign/ed25519/ref10/libsodium_la-open.lo \
+	crypto_sign/ed25519/ref10/libsodium_la-sc_muladd.lo \
+	crypto_sign/ed25519/ref10/libsodium_la-sc_reduce.lo \
+	crypto_sign/ed25519/ref10/libsodium_la-sign.lo \
+	crypto_sign/edwards25519sha512batch/libsodium_la-sign_edwards25519sha512batch_api.lo \
+	crypto_sign/edwards25519sha512batch/ref/libsodium_la-fe25519_edwards25519sha512batch.lo \
+	crypto_sign/edwards25519sha512batch/ref/libsodium_la-ge25519_edwards25519sha512batch.lo \
+	crypto_sign/edwards25519sha512batch/ref/libsodium_la-sc25519_edwards25519sha512batch.lo \
+	crypto_sign/edwards25519sha512batch/ref/libsodium_la-sign_edwards25519sha512batch.lo \
+	crypto_stream/libsodium_la-crypto_stream.lo \
+	crypto_stream/aes128ctr/portable/libsodium_la-afternm_aes128ctr.lo \
+	crypto_stream/aes128ctr/libsodium_la-stream_aes128ctr_api.lo \
+	crypto_stream/aes128ctr/portable/libsodium_la-beforenm_aes128ctr.lo \
+	crypto_stream/aes128ctr/portable/libsodium_la-common_aes128ctr.lo \
+	crypto_stream/aes128ctr/portable/libsodium_la-consts_aes128ctr.lo \
+	crypto_stream/aes128ctr/portable/libsodium_la-int128_aes128ctr.lo \
+	crypto_stream/aes128ctr/portable/libsodium_la-stream_aes128ctr.lo \
+	crypto_stream/aes128ctr/portable/libsodium_la-xor_afternm_aes128ctr.lo \
+	crypto_stream/aes256estream/hongjun/libsodium_la-aes256-ctr.lo \
+	crypto_stream/aes256estream/libsodium_la-stream_aes256estream_api.lo \
+	crypto_stream/salsa2012/libsodium_la-stream_salsa2012_api.lo \
+	crypto_stream/salsa2012/ref/libsodium_la-stream_salsa2012.lo \
+	crypto_stream/salsa2012/ref/libsodium_la-xor_salsa2012.lo \
+	crypto_stream/salsa208/libsodium_la-stream_salsa208_api.lo \
+	crypto_stream/salsa208/ref/libsodium_la-stream_salsa208.lo \
+	crypto_stream/salsa208/ref/libsodium_la-xor_salsa208.lo \
+	crypto_stream/xsalsa20/libsodium_la-stream_xsalsa20_api.lo \
+	crypto_stream/xsalsa20/ref/libsodium_la-stream_xsalsa20.lo \
+	crypto_stream/xsalsa20/ref/libsodium_la-xor_xsalsa20.lo \
+	crypto_verify/16/libsodium_la-verify_16_api.lo \
+	crypto_verify/16/ref/libsodium_la-verify_16.lo \
+	crypto_verify/32/libsodium_la-verify_32_api.lo \
+	crypto_verify/32/ref/libsodium_la-verify_32.lo \
+	randombytes/libsodium_la-randombytes.lo \
+	randombytes/salsa20/libsodium_la-randombytes_salsa20_random.lo \
+	randombytes/sysrandom/libsodium_la-randombytes_sysrandom.lo \
+	sodium/libsodium_la-compat.lo sodium/libsodium_la-core.lo \
+	sodium/libsodium_la-utils.lo sodium/libsodium_la-version.lo \
+	$(am__objects_1) $(am__objects_2) $(am__objects_3) \
+	$(am__objects_4)
+libsodium_la_OBJECTS = $(am_libsodium_la_OBJECTS)
+AM_V_lt = $(am__v_lt_@AM_V@)
+am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
+am__v_lt_0 = --silent
+am__v_lt_1 = 
+libsodium_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+	$(libsodium_la_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo "  GEN     " $@;
+am__v_GEN_1 = 
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 = 
+DEFAULT_INCLUDES = -I.@am__isrc@
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+am__depfiles_maybe = depfiles
+am__mv = mv -f
+CPPASCOMPILE = $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CCASFLAGS) $(CCASFLAGS)
+LTCPPASCOMPILE = $(LIBTOOL) $(AM_V_lt) $(AM_LIBTOOLFLAGS) \
+	$(LIBTOOLFLAGS) --mode=compile $(CCAS) $(DEFS) \
+	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+	$(AM_CCASFLAGS) $(CCASFLAGS)
+AM_V_CPPAS = $(am__v_CPPAS_@AM_V@)
+am__v_CPPAS_ = $(am__v_CPPAS_@AM_DEFAULT_V@)
+am__v_CPPAS_0 = @echo "  CPPAS   " $@;
+am__v_CPPAS_1 = 
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+	$(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+	$(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_@AM_V@)
+am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
+am__v_CC_0 = @echo "  CC      " $@;
+am__v_CC_1 = 
+CCLD = $(CC)
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+	$(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_@AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
+am__v_CCLD_0 = @echo "  CCLD    " $@;
+am__v_CCLD_1 = 
+SOURCES = $(libsodium_la_SOURCES)
+DIST_SOURCES = $(am__libsodium_la_SOURCES_DIST)
+RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \
+	ctags-recursive dvi-recursive html-recursive info-recursive \
+	install-data-recursive install-dvi-recursive \
+	install-exec-recursive install-html-recursive \
+	install-info-recursive install-pdf-recursive \
+	install-ps-recursive install-recursive installcheck-recursive \
+	installdirs-recursive pdf-recursive ps-recursive \
+	tags-recursive uninstall-recursive
+am__can_run_installinfo = \
+  case $$AM_UPDATE_INFO_DIR in \
+    n|no|NO) false;; \
+    *) (install-info --version) >/dev/null 2>&1;; \
+  esac
+DATA = $(defexec_DATA)
+RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive	\
+  distclean-recursive maintainer-clean-recursive
+am__recursive_targets = \
+  $(RECURSIVE_TARGETS) \
+  $(RECURSIVE_CLEAN_TARGETS) \
+  $(am__extra_recursive_targets)
+AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
+	distdir
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates.  Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+  BEGIN { nonempty = 0; } \
+  { items[$$0] = 1; nonempty = 1; } \
+  END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique.  This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+  list='$(am__tagged_files)'; \
+  unique=`for i in $$list; do \
+    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+  done | $(am__uniquify_input)`
+ETAGS = etags
+CTAGS = ctags
+DIST_SUBDIRS = $(SUBDIRS)
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+am__relativize = \
+  dir0=`pwd`; \
+  sed_first='s,^\([^/]*\)/.*$$,\1,'; \
+  sed_rest='s,^[^/]*/*,,'; \
+  sed_last='s,^.*/\([^/]*\)$$,\1,'; \
+  sed_butlast='s,/*[^/]*$$,,'; \
+  while test -n "$$dir1"; do \
+    first=`echo "$$dir1" | sed -e "$$sed_first"`; \
+    if test "$$first" != "."; then \
+      if test "$$first" = ".."; then \
+        dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
+        dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
+      else \
+        first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
+        if test "$$first2" = "$$first"; then \
+          dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
+        else \
+          dir2="../$$dir2"; \
+        fi; \
+        dir0="$$dir0"/"$$first"; \
+      fi; \
+    fi; \
+    dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
+  done; \
+  reldir="$$dir2"
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AR = @AR@
+AS = @AS@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCAS = @CCAS@
+CCASDEPMODE = @CCASDEPMODE@
+CCASFLAGS = @CCASFLAGS@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CWFLAGS = @CWFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DLLTOOL = @DLLTOOL@
+DLL_VERSION = @DLL_VERSION@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+GREP = @GREP@
+HAVE_AMD64_ASM_V = @HAVE_AMD64_ASM_V@
+HAVE_CPUID_V = @HAVE_CPUID_V@
+HAVE_PKG_CONFIG = @HAVE_PKG_CONFIG@
+HAVE_TI_MODE_V = @HAVE_TI_MODE_V@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+ISODATE = @ISODATE@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIBTOOL_DEPS = @LIBTOOL_DEPS@
+LIBTOOL_EXTRA_FLAGS = @LIBTOOL_EXTRA_FLAGS@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MKDIR_P = @MKDIR_P@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
+RANLIB = @RANLIB@
+SAFECODE_HOME = @SAFECODE_HOME@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+SODIUM_LIBRARY_VERSION = @SODIUM_LIBRARY_VERSION@
+SODIUM_LIBRARY_VERSION_MAJOR = @SODIUM_LIBRARY_VERSION_MAJOR@
+SODIUM_LIBRARY_VERSION_MINOR = @SODIUM_LIBRARY_VERSION_MINOR@
+STRIP = @STRIP@
+VERSION = @VERSION@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+lib_LTLIBRARIES = \
+	libsodium.la
+
+libsodium_la_SOURCES = crypto_auth/crypto_auth.c \
+	crypto_auth/hmacsha256/auth_hmacsha256_api.c \
+	crypto_auth/hmacsha256/ref/api.h \
+	crypto_auth/hmacsha256/ref/hmac_hmacsha256.c \
+	crypto_auth/hmacsha256/ref/verify_hmacsha256.c \
+	crypto_auth/hmacsha512256/auth_hmacsha512256_api.c \
+	crypto_auth/hmacsha512256/ref/api.h \
+	crypto_auth/hmacsha512256/ref/hmac_hmacsha512256.c \
+	crypto_auth/hmacsha512256/ref/verify_hmacsha512256.c \
+	crypto_box/crypto_box.c \
+	crypto_box/curve25519xsalsa20poly1305/box_curve25519xsalsa20poly1305_api.c \
+	crypto_box/curve25519xsalsa20poly1305/ref/api.h \
+	crypto_box/curve25519xsalsa20poly1305/ref/after_curve25519xsalsa20poly1305.c \
+	crypto_box/curve25519xsalsa20poly1305/ref/before_curve25519xsalsa20poly1305.c \
+	crypto_box/curve25519xsalsa20poly1305/ref/box_curve25519xsalsa20poly1305.c \
+	crypto_box/curve25519xsalsa20poly1305/ref/keypair_curve25519xsalsa20poly1305.c \
+	crypto_core/hsalsa20/ref2/core_hsalsa20.c \
+	crypto_core/hsalsa20/core_hsalsa20_api.c \
+	crypto_core/hsalsa20/ref2/api.h \
+	crypto_core/salsa20/ref/core_salsa20.c \
+	crypto_core/salsa20/core_salsa20_api.c \
+	crypto_core/salsa20/ref/api.h \
+	crypto_core/salsa2012/ref/core_salsa2012.c \
+	crypto_core/salsa2012/core_salsa2012_api.c \
+	crypto_core/salsa2012/ref/api.h \
+	crypto_core/salsa208/ref/core_salsa208.c \
+	crypto_core/salsa208/core_salsa208_api.c \
+	crypto_core/salsa208/ref/api.h \
+	crypto_generichash/crypto_generichash.c \
+	crypto_generichash/blake2/generichash_blake2_api.c \
+	crypto_generichash/blake2/ref/api.h \
+	crypto_generichash/blake2/ref/blake2-impl.h \
+	crypto_generichash/blake2/ref/blake2.h \
+	crypto_generichash/blake2/ref/blake2b-ref.c \
+	crypto_generichash/blake2/ref/generichash_blake2b.c \
+	crypto_hash/crypto_hash.c crypto_hash/sha256/hash_sha256_api.c \
+	crypto_hash/sha256/ref/api.h \
+	crypto_hash/sha256/ref/hash_sha256.c \
+	crypto_hash/sha512/hash_sha512_api.c \
+	crypto_hash/sha512/ref/api.h \
+	crypto_hash/sha512/ref/hash_sha512.c \
+	crypto_hashblocks/sha256/ref/blocks_sha256.c \
+	crypto_hashblocks/sha256/hashblocks_sha256_api.c \
+	crypto_hashblocks/sha256/ref/api.h \
+	crypto_hashblocks/sha512/ref/blocks_sha512.c \
+	crypto_hashblocks/sha512/hashblocks_sha512_api.c \
+	crypto_hashblocks/sha512/ref/api.h \
+	crypto_onetimeauth/crypto_onetimeauth.c \
+	crypto_onetimeauth/poly1305/onetimeauth_poly1305.c \
+	crypto_onetimeauth/poly1305/onetimeauth_poly1305_api.c \
+	crypto_onetimeauth/poly1305/onetimeauth_poly1305_try.c \
+	crypto_onetimeauth/poly1305/53/api.h \
+	crypto_onetimeauth/poly1305/53/auth_poly1305_53.c \
+	crypto_onetimeauth/poly1305/53/verify_poly1305_53.c \
+	crypto_onetimeauth/poly1305/donna/api.h \
+	crypto_onetimeauth/poly1305/donna/portable-jane.h \
+	crypto_onetimeauth/poly1305/donna/auth_poly1305_donna.c \
+	crypto_onetimeauth/poly1305/donna/verify_poly1305_donna.c \
+	crypto_scalarmult/crypto_scalarmult.c \
+	crypto_secretbox/crypto_secretbox.c \
+	crypto_secretbox/xsalsa20poly1305/secretbox_xsalsa20poly1305_api.c \
+	crypto_secretbox/xsalsa20poly1305/ref/api.h \
+	crypto_secretbox/xsalsa20poly1305/ref/box_xsalsa20poly1305.c \
+	crypto_shorthash/crypto_shorthash.c \
+	crypto_shorthash/siphash24/shorthash_siphash24_api.c \
+	crypto_shorthash/siphash24/ref/api.h \
+	crypto_shorthash/siphash24/ref/shorthash_siphash24.c \
+	crypto_sign/crypto_sign.c crypto_sign/ed25519/ref10/base.h \
+	crypto_sign/ed25519/ref10/base2.h \
+	crypto_sign/ed25519/sign_ed25519_api.c \
+	crypto_sign/ed25519/ref10/api.h crypto_sign/ed25519/ref10/d.h \
+	crypto_sign/ed25519/ref10/d2.h crypto_sign/ed25519/ref10/fe.h \
+	crypto_sign/ed25519/ref10/fe_0.c \
+	crypto_sign/ed25519/ref10/fe_1.c \
+	crypto_sign/ed25519/ref10/fe_add.c \
+	crypto_sign/ed25519/ref10/fe_cmov.c \
+	crypto_sign/ed25519/ref10/fe_copy.c \
+	crypto_sign/ed25519/ref10/fe_frombytes.c \
+	crypto_sign/ed25519/ref10/fe_invert.c \
+	crypto_sign/ed25519/ref10/fe_isnegative.c \
+	crypto_sign/ed25519/ref10/fe_isnonzero.c \
+	crypto_sign/ed25519/ref10/fe_mul.c \
+	crypto_sign/ed25519/ref10/fe_neg.c \
+	crypto_sign/ed25519/ref10/fe_pow22523.c \
+	crypto_sign/ed25519/ref10/fe_sq.c \
+	crypto_sign/ed25519/ref10/fe_sq2.c \
+	crypto_sign/ed25519/ref10/fe_sub.c \
+	crypto_sign/ed25519/ref10/fe_tobytes.c \
+	crypto_sign/ed25519/ref10/ge.h \
+	crypto_sign/ed25519/ref10/ge_add.c \
+	crypto_sign/ed25519/ref10/ge_add.h \
+	crypto_sign/ed25519/ref10/ge_double_scalarmult.c \
+	crypto_sign/ed25519/ref10/ge_frombytes.c \
+	crypto_sign/ed25519/ref10/ge_madd.c \
+	crypto_sign/ed25519/ref10/ge_madd.h \
+	crypto_sign/ed25519/ref10/ge_msub.c \
+	crypto_sign/ed25519/ref10/ge_msub.h \
+	crypto_sign/ed25519/ref10/ge_p1p1_to_p2.c \
+	crypto_sign/ed25519/ref10/ge_p1p1_to_p3.c \
+	crypto_sign/ed25519/ref10/ge_p2_0.c \
+	crypto_sign/ed25519/ref10/ge_p2_dbl.c \
+	crypto_sign/ed25519/ref10/ge_p2_dbl.h \
+	crypto_sign/ed25519/ref10/ge_p3_0.c \
+	crypto_sign/ed25519/ref10/ge_p3_dbl.c \
+	crypto_sign/ed25519/ref10/ge_p3_to_cached.c \
+	crypto_sign/ed25519/ref10/ge_p3_to_p2.c \
+	crypto_sign/ed25519/ref10/ge_p3_tobytes.c \
+	crypto_sign/ed25519/ref10/ge_precomp_0.c \
+	crypto_sign/ed25519/ref10/ge_scalarmult_base.c \
+	crypto_sign/ed25519/ref10/ge_sub.c \
+	crypto_sign/ed25519/ref10/ge_sub.h \
+	crypto_sign/ed25519/ref10/ge_tobytes.c \
+	crypto_sign/ed25519/ref10/keypair.c \
+	crypto_sign/ed25519/ref10/open.c \
+	crypto_sign/ed25519/ref10/pow22523.h \
+	crypto_sign/ed25519/ref10/pow225521.h \
+	crypto_sign/ed25519/ref10/sc.h \
+	crypto_sign/ed25519/ref10/sc_muladd.c \
+	crypto_sign/ed25519/ref10/sc_reduce.c \
+	crypto_sign/ed25519/ref10/sign.c \
+	crypto_sign/ed25519/ref10/sqrtm1.h \
+	crypto_sign/edwards25519sha512batch/sign_edwards25519sha512batch_api.c \
+	crypto_sign/edwards25519sha512batch/ref/api.h \
+	crypto_sign/edwards25519sha512batch/ref/fe25519.h \
+	crypto_sign/edwards25519sha512batch/ref/fe25519_edwards25519sha512batch.c \
+	crypto_sign/edwards25519sha512batch/ref/ge25519.h \
+	crypto_sign/edwards25519sha512batch/ref/ge25519_edwards25519sha512batch.c \
+	crypto_sign/edwards25519sha512batch/ref/sc25519.h \
+	crypto_sign/edwards25519sha512batch/ref/sc25519_edwards25519sha512batch.c \
+	crypto_sign/edwards25519sha512batch/ref/sign_edwards25519sha512batch.c \
+	crypto_stream/crypto_stream.c \
+	crypto_stream/aes128ctr/portable/afternm_aes128ctr.c \
+	crypto_stream/aes128ctr/stream_aes128ctr_api.c \
+	crypto_stream/aes128ctr/portable/api.h \
+	crypto_stream/aes128ctr/portable/beforenm_aes128ctr.c \
+	crypto_stream/aes128ctr/portable/common.h \
+	crypto_stream/aes128ctr/portable/common_aes128ctr.c \
+	crypto_stream/aes128ctr/portable/consts.h \
+	crypto_stream/aes128ctr/portable/consts_aes128ctr.c \
+	crypto_stream/aes128ctr/portable/int128.h \
+	crypto_stream/aes128ctr/portable/int128_aes128ctr.c \
+	crypto_stream/aes128ctr/portable/stream_aes128ctr.c \
+	crypto_stream/aes128ctr/portable/types.h \
+	crypto_stream/aes128ctr/portable/xor_afternm_aes128ctr.c \
+	crypto_stream/aes256estream/hongjun/aes-table.h \
+	crypto_stream/aes256estream/hongjun/aes256-ctr.c \
+	crypto_stream/aes256estream/hongjun/aes256.h \
+	crypto_stream/aes256estream/stream_aes256estream_api.c \
+	crypto_stream/aes256estream/hongjun/api.h \
+	crypto_stream/aes256estream/hongjun/ecrypt-sync.h \
+	crypto_stream/salsa2012/stream_salsa2012_api.c \
+	crypto_stream/salsa2012/ref/api.h \
+	crypto_stream/salsa2012/ref/stream_salsa2012.c \
+	crypto_stream/salsa2012/ref/xor_salsa2012.c \
+	crypto_stream/salsa208/stream_salsa208_api.c \
+	crypto_stream/salsa208/ref/api.h \
+	crypto_stream/salsa208/ref/stream_salsa208.c \
+	crypto_stream/salsa208/ref/xor_salsa208.c \
+	crypto_stream/xsalsa20/stream_xsalsa20_api.c \
+	crypto_stream/xsalsa20/ref/api.h \
+	crypto_stream/xsalsa20/ref/stream_xsalsa20.c \
+	crypto_stream/xsalsa20/ref/xor_xsalsa20.c \
+	crypto_verify/16/verify_16_api.c crypto_verify/16/ref/api.h \
+	crypto_verify/16/ref/verify_16.c \
+	crypto_verify/32/verify_32_api.c crypto_verify/32/ref/api.h \
+	crypto_verify/32/ref/verify_32.c randombytes/randombytes.c \
+	randombytes/salsa20/randombytes_salsa20_random.c \
+	randombytes/sysrandom/randombytes_sysrandom.c sodium/compat.c \
+	sodium/core.c sodium/utils.c sodium/version.c $(am__append_1) \
+	$(am__append_2) $(am__append_3) $(am__append_4)
+libsodium_la_LDFLAGS = $(AM_LDFLAGS) -export-dynamic -no-undefined \
+	$(LIBTOOL_EXTRA_FLAGS) $(am__append_5)
+libsodium_la_CPPFLAGS = \
+	$(LTDLINCL) \
+	-I$(srcdir)/include/sodium \
+	-I$(builddir)/include/sodium
+
+@HAVE_LD_OUTPUT_DEF_TRUE@defexecdir = $(bindir)
+@HAVE_LD_OUTPUT_DEF_TRUE@defexec_DATA = libsodium-$(DLL_VERSION).def
+@HAVE_LD_OUTPUT_DEF_TRUE@DISTCLEANFILES = $(defexec_DATA)
+SUBDIRS = \
+	include
+
+all: all-recursive
+
+.SUFFIXES:
+.SUFFIXES: .S .c .lo .o .obj
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__configure_deps)
+	@for dep in $?; do \
+	  case '$(am__configure_deps)' in \
+	    *$$dep*) \
+	      ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+	        && { if test -f $@; then exit 0; else break; fi; }; \
+	      exit 1;; \
+	  esac; \
+	done; \
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/libsodium/Makefile'; \
+	$(am__cd) $(top_srcdir) && \
+	  $(AUTOMAKE) --foreign src/libsodium/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+	@case '$?' in \
+	  *config.status*) \
+	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+	  *) \
+	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+	esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+
+install-libLTLIBRARIES: $(lib_LTLIBRARIES)
+	@$(NORMAL_INSTALL)
+	@list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
+	list2=; for p in $$list; do \
+	  if test -f $$p; then \
+	    list2="$$list2 $$p"; \
+	  else :; fi; \
+	done; \
+	test -z "$$list2" || { \
+	  echo " $(MKDIR_P) '$(DESTDIR)$(libdir)'"; \
+	  $(MKDIR_P) "$(DESTDIR)$(libdir)" || exit 1; \
+	  echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \
+	  $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \
+	}
+
+uninstall-libLTLIBRARIES:
+	@$(NORMAL_UNINSTALL)
+	@list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
+	for p in $$list; do \
+	  $(am__strip_dir) \
+	  echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$f'"; \
+	  $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$f"; \
+	done
+
+clean-libLTLIBRARIES:
+	-test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES)
+	@list='$(lib_LTLIBRARIES)'; \
+	locs=`for p in $$list; do echo $$p; done | \
+	      sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
+	      sort -u`; \
+	test -z "$$locs" || { \
+	  echo rm -f $${locs}; \
+	  rm -f $${locs}; \
+	}
+crypto_auth/$(am__dirstamp):
+	@$(MKDIR_P) crypto_auth
+	@: > crypto_auth/$(am__dirstamp)
+crypto_auth/$(DEPDIR)/$(am__dirstamp):
+	@$(MKDIR_P) crypto_auth/$(DEPDIR)
+	@: > crypto_auth/$(DEPDIR)/$(am__dirstamp)
+crypto_auth/libsodium_la-crypto_auth.lo: crypto_auth/$(am__dirstamp) \
+	crypto_auth/$(DEPDIR)/$(am__dirstamp)
+crypto_auth/hmacsha256/$(am__dirstamp):
+	@$(MKDIR_P) crypto_auth/hmacsha256
+	@: > crypto_auth/hmacsha256/$(am__dirstamp)
+crypto_auth/hmacsha256/$(DEPDIR)/$(am__dirstamp):
+	@$(MKDIR_P) crypto_auth/hmacsha256/$(DEPDIR)
+	@: > crypto_auth/hmacsha256/$(DEPDIR)/$(am__dirstamp)
+crypto_auth/hmacsha256/libsodium_la-auth_hmacsha256_api.lo:  \
+	crypto_auth/hmacsha256/$(am__dirstamp) \
+	crypto_auth/hmacsha256/$(DEPDIR)/$(am__dirstamp)
+crypto_auth/hmacsha256/ref/$(am__dirstamp):
+	@$(MKDIR_P) crypto_auth/hmacsha256/ref
+	@: > crypto_auth/hmacsha256/ref/$(am__dirstamp)
+crypto_auth/hmacsha256/ref/$(DEPDIR)/$(am__dirstamp):
+	@$(MKDIR_P) crypto_auth/hmacsha256/ref/$(DEPDIR)
+	@: > crypto_auth/hmacsha256/ref/$(DEPDIR)/$(am__dirstamp)
+crypto_auth/hmacsha256/ref/libsodium_la-hmac_hmacsha256.lo:  \
+	crypto_auth/hmacsha256/ref/$(am__dirstamp) \
+	crypto_auth/hmacsha256/ref/$(DEPDIR)/$(am__dirstamp)
+crypto_auth/hmacsha256/ref/libsodium_la-verify_hmacsha256.lo:  \
+	crypto_auth/hmacsha256/ref/$(am__dirstamp) \
+	crypto_auth/hmacsha256/ref/$(DEPDIR)/$(am__dirstamp)
+crypto_auth/hmacsha512256/$(am__dirstamp):
+	@$(MKDIR_P) crypto_auth/hmacsha512256
+	@: > crypto_auth/hmacsha512256/$(am__dirstamp)
+crypto_auth/hmacsha512256/$(DEPDIR)/$(am__dirstamp):
+	@$(MKDIR_P) crypto_auth/hmacsha512256/$(DEPDIR)
+	@: > crypto_auth/hmacsha512256/$(DEPDIR)/$(am__dirstamp)
+crypto_auth/hmacsha512256/libsodium_la-auth_hmacsha512256_api.lo:  \
+	crypto_auth/hmacsha512256/$(am__dirstamp) \
+	crypto_auth/hmacsha512256/$(DEPDIR)/$(am__dirstamp)
+crypto_auth/hmacsha512256/ref/$(am__dirstamp):
+	@$(MKDIR_P) crypto_auth/hmacsha512256/ref
+	@: > crypto_auth/hmacsha512256/ref/$(am__dirstamp)
+crypto_auth/hmacsha512256/ref/$(DEPDIR)/$(am__dirstamp):
+	@$(MKDIR_P) crypto_auth/hmacsha512256/ref/$(DEPDIR)
+	@: > crypto_auth/hmacsha512256/ref/$(DEPDIR)/$(am__dirstamp)
+crypto_auth/hmacsha512256/ref/libsodium_la-hmac_hmacsha512256.lo:  \
+	crypto_auth/hmacsha512256/ref/$(am__dirstamp) \
+	crypto_auth/hmacsha512256/ref/$(DEPDIR)/$(am__dirstamp)
+crypto_auth/hmacsha512256/ref/libsodium_la-verify_hmacsha512256.lo:  \
+	crypto_auth/hmacsha512256/ref/$(am__dirstamp) \
+	crypto_auth/hmacsha512256/ref/$(DEPDIR)/$(am__dirstamp)
+crypto_box/$(am__dirstamp):
+	@$(MKDIR_P) crypto_box
+	@: > crypto_box/$(am__dirstamp)
+crypto_box/$(DEPDIR)/$(am__dirstamp):
+	@$(MKDIR_P) crypto_box/$(DEPDIR)
+	@: > crypto_box/$(DEPDIR)/$(am__dirstamp)
+crypto_box/libsodium_la-crypto_box.lo: crypto_box/$(am__dirstamp) \
+	crypto_box/$(DEPDIR)/$(am__dirstamp)
+crypto_box/curve25519xsalsa20poly1305/$(am__dirstamp):
+	@$(MKDIR_P) crypto_box/curve25519xsalsa20poly1305
+	@: > crypto_box/curve25519xsalsa20poly1305/$(am__dirstamp)
+crypto_box/curve25519xsalsa20poly1305/$(DEPDIR)/$(am__dirstamp):
+	@$(MKDIR_P) crypto_box/curve25519xsalsa20poly1305/$(DEPDIR)
+	@: > crypto_box/curve25519xsalsa20poly1305/$(DEPDIR)/$(am__dirstamp)
+crypto_box/curve25519xsalsa20poly1305/libsodium_la-box_curve25519xsalsa20poly1305_api.lo:  \
+	crypto_box/curve25519xsalsa20poly1305/$(am__dirstamp) \
+	crypto_box/curve25519xsalsa20poly1305/$(DEPDIR)/$(am__dirstamp)
+crypto_box/curve25519xsalsa20poly1305/ref/$(am__dirstamp):
+	@$(MKDIR_P) crypto_box/curve25519xsalsa20poly1305/ref
+	@: > crypto_box/curve25519xsalsa20poly1305/ref/$(am__dirstamp)
+crypto_box/curve25519xsalsa20poly1305/ref/$(DEPDIR)/$(am__dirstamp):
+	@$(MKDIR_P) crypto_box/curve25519xsalsa20poly1305/ref/$(DEPDIR)
+	@: > crypto_box/curve25519xsalsa20poly1305/ref/$(DEPDIR)/$(am__dirstamp)
+crypto_box/curve25519xsalsa20poly1305/ref/libsodium_la-after_curve25519xsalsa20poly1305.lo:  \
+	crypto_box/curve25519xsalsa20poly1305/ref/$(am__dirstamp) \
+	crypto_box/curve25519xsalsa20poly1305/ref/$(DEPDIR)/$(am__dirstamp)
+crypto_box/curve25519xsalsa20poly1305/ref/libsodium_la-before_curve25519xsalsa20poly1305.lo:  \
+	crypto_box/curve25519xsalsa20poly1305/ref/$(am__dirstamp) \
+	crypto_box/curve25519xsalsa20poly1305/ref/$(DEPDIR)/$(am__dirstamp)
+crypto_box/curve25519xsalsa20poly1305/ref/libsodium_la-box_curve25519xsalsa20poly1305.lo:  \
+	crypto_box/curve25519xsalsa20poly1305/ref/$(am__dirstamp) \
+	crypto_box/curve25519xsalsa20poly1305/ref/$(DEPDIR)/$(am__dirstamp)
+crypto_box/curve25519xsalsa20poly1305/ref/libsodium_la-keypair_curve25519xsalsa20poly1305.lo:  \
+	crypto_box/curve25519xsalsa20poly1305/ref/$(am__dirstamp) \
+	crypto_box/curve25519xsalsa20poly1305/ref/$(DEPDIR)/$(am__dirstamp)
+crypto_core/hsalsa20/ref2/$(am__dirstamp):
+	@$(MKDIR_P) crypto_core/hsalsa20/ref2
+	@: > crypto_core/hsalsa20/ref2/$(am__dirstamp)
+crypto_core/hsalsa20/ref2/$(DEPDIR)/$(am__dirstamp):
+	@$(MKDIR_P) crypto_core/hsalsa20/ref2/$(DEPDIR)
+	@: > crypto_core/hsalsa20/ref2/$(DEPDIR)/$(am__dirstamp)
+crypto_core/hsalsa20/ref2/libsodium_la-core_hsalsa20.lo:  \
+	crypto_core/hsalsa20/ref2/$(am__dirstamp) \
+	crypto_core/hsalsa20/ref2/$(DEPDIR)/$(am__dirstamp)
+crypto_core/hsalsa20/$(am__dirstamp):
+	@$(MKDIR_P) crypto_core/hsalsa20
+	@: > crypto_core/hsalsa20/$(am__dirstamp)
+crypto_core/hsalsa20/$(DEPDIR)/$(am__dirstamp):
+	@$(MKDIR_P) crypto_core/hsalsa20/$(DEPDIR)
+	@: > crypto_core/hsalsa20/$(DEPDIR)/$(am__dirstamp)
+crypto_core/hsalsa20/libsodium_la-core_hsalsa20_api.lo:  \
+	crypto_core/hsalsa20/$(am__dirstamp) \
+	crypto_core/hsalsa20/$(DEPDIR)/$(am__dirstamp)
+crypto_core/salsa20/ref/$(am__dirstamp):
+	@$(MKDIR_P) crypto_core/salsa20/ref
+	@: > crypto_core/salsa20/ref/$(am__dirstamp)
+crypto_core/salsa20/ref/$(DEPDIR)/$(am__dirstamp):
+	@$(MKDIR_P) crypto_core/salsa20/ref/$(DEPDIR)
+	@: > crypto_core/salsa20/ref/$(DEPDIR)/$(am__dirstamp)
+crypto_core/salsa20/ref/libsodium_la-core_salsa20.lo:  \
+	crypto_core/salsa20/ref/$(am__dirstamp) \
+	crypto_core/salsa20/ref/$(DEPDIR)/$(am__dirstamp)
+crypto_core/salsa20/$(am__dirstamp):
+	@$(MKDIR_P) crypto_core/salsa20
+	@: > crypto_core/salsa20/$(am__dirstamp)
+crypto_core/salsa20/$(DEPDIR)/$(am__dirstamp):
+	@$(MKDIR_P) crypto_core/salsa20/$(DEPDIR)
+	@: > crypto_core/salsa20/$(DEPDIR)/$(am__dirstamp)
+crypto_core/salsa20/libsodium_la-core_salsa20_api.lo:  \
+	crypto_core/salsa20/$(am__dirstamp) \
+	crypto_core/salsa20/$(DEPDIR)/$(am__dirstamp)
+crypto_core/salsa2012/ref/$(am__dirstamp):
+	@$(MKDIR_P) crypto_core/salsa2012/ref
+	@: > crypto_core/salsa2012/ref/$(am__dirstamp)
+crypto_core/salsa2012/ref/$(DEPDIR)/$(am__dirstamp):
+	@$(MKDIR_P) crypto_core/salsa2012/ref/$(DEPDIR)
+	@: > crypto_core/salsa2012/ref/$(DEPDIR)/$(am__dirstamp)
+crypto_core/salsa2012/ref/libsodium_la-core_salsa2012.lo:  \
+	crypto_core/salsa2012/ref/$(am__dirstamp) \
+	crypto_core/salsa2012/ref/$(DEPDIR)/$(am__dirstamp)
+crypto_core/salsa2012/$(am__dirstamp):
+	@$(MKDIR_P) crypto_core/salsa2012
+	@: > crypto_core/salsa2012/$(am__dirstamp)
+crypto_core/salsa2012/$(DEPDIR)/$(am__dirstamp):
+	@$(MKDIR_P) crypto_core/salsa2012/$(DEPDIR)
+	@: > crypto_core/salsa2012/$(DEPDIR)/$(am__dirstamp)
+crypto_core/salsa2012/libsodium_la-core_salsa2012_api.lo:  \
+	crypto_core/salsa2012/$(am__dirstamp) \
+	crypto_core/salsa2012/$(DEPDIR)/$(am__dirstamp)
+crypto_core/salsa208/ref/$(am__dirstamp):
+	@$(MKDIR_P) crypto_core/salsa208/ref
+	@: > crypto_core/salsa208/ref/$(am__dirstamp)
+crypto_core/salsa208/ref/$(DEPDIR)/$(am__dirstamp):
+	@$(MKDIR_P) crypto_core/salsa208/ref/$(DEPDIR)
+	@: > crypto_core/salsa208/ref/$(DEPDIR)/$(am__dirstamp)
+crypto_core/salsa208/ref/libsodium_la-core_salsa208.lo:  \
+	crypto_core/salsa208/ref/$(am__dirstamp) \
+	crypto_core/salsa208/ref/$(DEPDIR)/$(am__dirstamp)
+crypto_core/salsa208/$(am__dirstamp):
+	@$(MKDIR_P) crypto_core/salsa208
+	@: > crypto_core/salsa208/$(am__dirstamp)
+crypto_core/salsa208/$(DEPDIR)/$(am__dirstamp):
+	@$(MKDIR_P) crypto_core/salsa208/$(DEPDIR)
+	@: > crypto_core/salsa208/$(DEPDIR)/$(am__dirstamp)
+crypto_core/salsa208/libsodium_la-core_salsa208_api.lo:  \
+	crypto_core/salsa208/$(am__dirstamp) \
+	crypto_core/salsa208/$(DEPDIR)/$(am__dirstamp)
+crypto_generichash/$(am__dirstamp):
+	@$(MKDIR_P) crypto_generichash
+	@: > crypto_generichash/$(am__dirstamp)
+crypto_generichash/$(DEPDIR)/$(am__dirstamp):
+	@$(MKDIR_P) crypto_generichash/$(DEPDIR)
+	@: > crypto_generichash/$(DEPDIR)/$(am__dirstamp)
+crypto_generichash/libsodium_la-crypto_generichash.lo:  \
+	crypto_generichash/$(am__dirstamp) \
+	crypto_generichash/$(DEPDIR)/$(am__dirstamp)
+crypto_generichash/blake2/$(am__dirstamp):
+	@$(MKDIR_P) crypto_generichash/blake2
+	@: > crypto_generichash/blake2/$(am__dirstamp)
+crypto_generichash/blake2/$(DEPDIR)/$(am__dirstamp):
+	@$(MKDIR_P) crypto_generichash/blake2/$(DEPDIR)
+	@: > crypto_generichash/blake2/$(DEPDIR)/$(am__dirstamp)
+crypto_generichash/blake2/libsodium_la-generichash_blake2_api.lo:  \
+	crypto_generichash/blake2/$(am__dirstamp) \
+	crypto_generichash/blake2/$(DEPDIR)/$(am__dirstamp)
+crypto_generichash/blake2/ref/$(am__dirstamp):
+	@$(MKDIR_P) crypto_generichash/blake2/ref
+	@: > crypto_generichash/blake2/ref/$(am__dirstamp)
+crypto_generichash/blake2/ref/$(DEPDIR)/$(am__dirstamp):
+	@$(MKDIR_P) crypto_generichash/blake2/ref/$(DEPDIR)
+	@: > crypto_generichash/blake2/ref/$(DEPDIR)/$(am__dirstamp)
+crypto_generichash/blake2/ref/libsodium_la-blake2b-ref.lo:  \
+	crypto_generichash/blake2/ref/$(am__dirstamp) \
+	crypto_generichash/blake2/ref/$(DEPDIR)/$(am__dirstamp)
+crypto_generichash/blake2/ref/libsodium_la-generichash_blake2b.lo:  \
+	crypto_generichash/blake2/ref/$(am__dirstamp) \
+	crypto_generichash/blake2/ref/$(DEPDIR)/$(am__dirstamp)
+crypto_hash/$(am__dirstamp):
+	@$(MKDIR_P) crypto_hash
+	@: > crypto_hash/$(am__dirstamp)
+crypto_hash/$(DEPDIR)/$(am__dirstamp):
+	@$(MKDIR_P) crypto_hash/$(DEPDIR)
+	@: > crypto_hash/$(DEPDIR)/$(am__dirstamp)
+crypto_hash/libsodium_la-crypto_hash.lo: crypto_hash/$(am__dirstamp) \
+	crypto_hash/$(DEPDIR)/$(am__dirstamp)
+crypto_hash/sha256/$(am__dirstamp):
+	@$(MKDIR_P) crypto_hash/sha256
+	@: > crypto_hash/sha256/$(am__dirstamp)
+crypto_hash/sha256/$(DEPDIR)/$(am__dirstamp):
+	@$(MKDIR_P) crypto_hash/sha256/$(DEPDIR)
+	@: > crypto_hash/sha256/$(DEPDIR)/$(am__dirstamp)
+crypto_hash/sha256/libsodium_la-hash_sha256_api.lo:  \
+	crypto_hash/sha256/$(am__dirstamp) \
+	crypto_hash/sha256/$(DEPDIR)/$(am__dirstamp)
+crypto_hash/sha256/ref/$(am__dirstamp):
+	@$(MKDIR_P) crypto_hash/sha256/ref
+	@: > crypto_hash/sha256/ref/$(am__dirstamp)
+crypto_hash/sha256/ref/$(DEPDIR)/$(am__dirstamp):
+	@$(MKDIR_P) crypto_hash/sha256/ref/$(DEPDIR)
+	@: > crypto_hash/sha256/ref/$(DEPDIR)/$(am__dirstamp)
+crypto_hash/sha256/ref/libsodium_la-hash_sha256.lo:  \
+	crypto_hash/sha256/ref/$(am__dirstamp) \
+	crypto_hash/sha256/ref/$(DEPDIR)/$(am__dirstamp)
+crypto_hash/sha512/$(am__dirstamp):
+	@$(MKDIR_P) crypto_hash/sha512
+	@: > crypto_hash/sha512/$(am__dirstamp)
+crypto_hash/sha512/$(DEPDIR)/$(am__dirstamp):
+	@$(MKDIR_P) crypto_hash/sha512/$(DEPDIR)
+	@: > crypto_hash/sha512/$(DEPDIR)/$(am__dirstamp)
+crypto_hash/sha512/libsodium_la-hash_sha512_api.lo:  \
+	crypto_hash/sha512/$(am__dirstamp) \
+	crypto_hash/sha512/$(DEPDIR)/$(am__dirstamp)
+crypto_hash/sha512/ref/$(am__dirstamp):
+	@$(MKDIR_P) crypto_hash/sha512/ref
+	@: > crypto_hash/sha512/ref/$(am__dirstamp)
+crypto_hash/sha512/ref/$(DEPDIR)/$(am__dirstamp):
+	@$(MKDIR_P) crypto_hash/sha512/ref/$(DEPDIR)
+	@: > crypto_hash/sha512/ref/$(DEPDIR)/$(am__dirstamp)
+crypto_hash/sha512/ref/libsodium_la-hash_sha512.lo:  \
+	crypto_hash/sha512/ref/$(am__dirstamp) \
+	crypto_hash/sha512/ref/$(DEPDIR)/$(am__dirstamp)
+crypto_hashblocks/sha256/ref/$(am__dirstamp):
+	@$(MKDIR_P) crypto_hashblocks/sha256/ref
+	@: > crypto_hashblocks/sha256/ref/$(am__dirstamp)
+crypto_hashblocks/sha256/ref/$(DEPDIR)/$(am__dirstamp):
+	@$(MKDIR_P) crypto_hashblocks/sha256/ref/$(DEPDIR)
+	@: > crypto_hashblocks/sha256/ref/$(DEPDIR)/$(am__dirstamp)
+crypto_hashblocks/sha256/ref/libsodium_la-blocks_sha256.lo:  \
+	crypto_hashblocks/sha256/ref/$(am__dirstamp) \
+	crypto_hashblocks/sha256/ref/$(DEPDIR)/$(am__dirstamp)
+crypto_hashblocks/sha256/$(am__dirstamp):
+	@$(MKDIR_P) crypto_hashblocks/sha256
+	@: > crypto_hashblocks/sha256/$(am__dirstamp)
+crypto_hashblocks/sha256/$(DEPDIR)/$(am__dirstamp):
+	@$(MKDIR_P) crypto_hashblocks/sha256/$(DEPDIR)
+	@: > crypto_hashblocks/sha256/$(DEPDIR)/$(am__dirstamp)
+crypto_hashblocks/sha256/libsodium_la-hashblocks_sha256_api.lo:  \
+	crypto_hashblocks/sha256/$(am__dirstamp) \
+	crypto_hashblocks/sha256/$(DEPDIR)/$(am__dirstamp)
+crypto_hashblocks/sha512/ref/$(am__dirstamp):
+	@$(MKDIR_P) crypto_hashblocks/sha512/ref
+	@: > crypto_hashblocks/sha512/ref/$(am__dirstamp)
+crypto_hashblocks/sha512/ref/$(DEPDIR)/$(am__dirstamp):
+	@$(MKDIR_P) crypto_hashblocks/sha512/ref/$(DEPDIR)
+	@: > crypto_hashblocks/sha512/ref/$(DEPDIR)/$(am__dirstamp)
+crypto_hashblocks/sha512/ref/libsodium_la-blocks_sha512.lo:  \
+	crypto_hashblocks/sha512/ref/$(am__dirstamp) \
+	crypto_hashblocks/sha512/ref/$(DEPDIR)/$(am__dirstamp)
+crypto_hashblocks/sha512/$(am__dirstamp):
+	@$(MKDIR_P) crypto_hashblocks/sha512
+	@: > crypto_hashblocks/sha512/$(am__dirstamp)
+crypto_hashblocks/sha512/$(DEPDIR)/$(am__dirstamp):
+	@$(MKDIR_P) crypto_hashblocks/sha512/$(DEPDIR)
+	@: > crypto_hashblocks/sha512/$(DEPDIR)/$(am__dirstamp)
+crypto_hashblocks/sha512/libsodium_la-hashblocks_sha512_api.lo:  \
+	crypto_hashblocks/sha512/$(am__dirstamp) \
+	crypto_hashblocks/sha512/$(DEPDIR)/$(am__dirstamp)
+crypto_onetimeauth/$(am__dirstamp):
+	@$(MKDIR_P) crypto_onetimeauth
+	@: > crypto_onetimeauth/$(am__dirstamp)
+crypto_onetimeauth/$(DEPDIR)/$(am__dirstamp):
+	@$(MKDIR_P) crypto_onetimeauth/$(DEPDIR)
+	@: > crypto_onetimeauth/$(DEPDIR)/$(am__dirstamp)
+crypto_onetimeauth/libsodium_la-crypto_onetimeauth.lo:  \
+	crypto_onetimeauth/$(am__dirstamp) \
+	crypto_onetimeauth/$(DEPDIR)/$(am__dirstamp)
+crypto_onetimeauth/poly1305/$(am__dirstamp):
+	@$(MKDIR_P) crypto_onetimeauth/poly1305
+	@: > crypto_onetimeauth/poly1305/$(am__dirstamp)
+crypto_onetimeauth/poly1305/$(DEPDIR)/$(am__dirstamp):
+	@$(MKDIR_P) crypto_onetimeauth/poly1305/$(DEPDIR)
+	@: > crypto_onetimeauth/poly1305/$(DEPDIR)/$(am__dirstamp)
+crypto_onetimeauth/poly1305/libsodium_la-onetimeauth_poly1305.lo:  \
+	crypto_onetimeauth/poly1305/$(am__dirstamp) \
+	crypto_onetimeauth/poly1305/$(DEPDIR)/$(am__dirstamp)
+crypto_onetimeauth/poly1305/libsodium_la-onetimeauth_poly1305_api.lo:  \
+	crypto_onetimeauth/poly1305/$(am__dirstamp) \
+	crypto_onetimeauth/poly1305/$(DEPDIR)/$(am__dirstamp)
+crypto_onetimeauth/poly1305/libsodium_la-onetimeauth_poly1305_try.lo:  \
+	crypto_onetimeauth/poly1305/$(am__dirstamp) \
+	crypto_onetimeauth/poly1305/$(DEPDIR)/$(am__dirstamp)
+crypto_onetimeauth/poly1305/53/$(am__dirstamp):
+	@$(MKDIR_P) crypto_onetimeauth/poly1305/53
+	@: > crypto_onetimeauth/poly1305/53/$(am__dirstamp)
+crypto_onetimeauth/poly1305/53/$(DEPDIR)/$(am__dirstamp):
+	@$(MKDIR_P) crypto_onetimeauth/poly1305/53/$(DEPDIR)
+	@: > crypto_onetimeauth/poly1305/53/$(DEPDIR)/$(am__dirstamp)
+crypto_onetimeauth/poly1305/53/libsodium_la-auth_poly1305_53.lo:  \
+	crypto_onetimeauth/poly1305/53/$(am__dirstamp) \
+	crypto_onetimeauth/poly1305/53/$(DEPDIR)/$(am__dirstamp)
+crypto_onetimeauth/poly1305/53/libsodium_la-verify_poly1305_53.lo:  \
+	crypto_onetimeauth/poly1305/53/$(am__dirstamp) \
+	crypto_onetimeauth/poly1305/53/$(DEPDIR)/$(am__dirstamp)
+crypto_onetimeauth/poly1305/donna/$(am__dirstamp):
+	@$(MKDIR_P) crypto_onetimeauth/poly1305/donna
+	@: > crypto_onetimeauth/poly1305/donna/$(am__dirstamp)
+crypto_onetimeauth/poly1305/donna/$(DEPDIR)/$(am__dirstamp):
+	@$(MKDIR_P) crypto_onetimeauth/poly1305/donna/$(DEPDIR)
+	@: > crypto_onetimeauth/poly1305/donna/$(DEPDIR)/$(am__dirstamp)
+crypto_onetimeauth/poly1305/donna/libsodium_la-auth_poly1305_donna.lo:  \
+	crypto_onetimeauth/poly1305/donna/$(am__dirstamp) \
+	crypto_onetimeauth/poly1305/donna/$(DEPDIR)/$(am__dirstamp)
+crypto_onetimeauth/poly1305/donna/libsodium_la-verify_poly1305_donna.lo:  \
+	crypto_onetimeauth/poly1305/donna/$(am__dirstamp) \
+	crypto_onetimeauth/poly1305/donna/$(DEPDIR)/$(am__dirstamp)
+crypto_scalarmult/$(am__dirstamp):
+	@$(MKDIR_P) crypto_scalarmult
+	@: > crypto_scalarmult/$(am__dirstamp)
+crypto_scalarmult/$(DEPDIR)/$(am__dirstamp):
+	@$(MKDIR_P) crypto_scalarmult/$(DEPDIR)
+	@: > crypto_scalarmult/$(DEPDIR)/$(am__dirstamp)
+crypto_scalarmult/libsodium_la-crypto_scalarmult.lo:  \
+	crypto_scalarmult/$(am__dirstamp) \
+	crypto_scalarmult/$(DEPDIR)/$(am__dirstamp)
+crypto_secretbox/$(am__dirstamp):
+	@$(MKDIR_P) crypto_secretbox
+	@: > crypto_secretbox/$(am__dirstamp)
+crypto_secretbox/$(DEPDIR)/$(am__dirstamp):
+	@$(MKDIR_P) crypto_secretbox/$(DEPDIR)
+	@: > crypto_secretbox/$(DEPDIR)/$(am__dirstamp)
+crypto_secretbox/libsodium_la-crypto_secretbox.lo:  \
+	crypto_secretbox/$(am__dirstamp) \
+	crypto_secretbox/$(DEPDIR)/$(am__dirstamp)
+crypto_secretbox/xsalsa20poly1305/$(am__dirstamp):
+	@$(MKDIR_P) crypto_secretbox/xsalsa20poly1305
+	@: > crypto_secretbox/xsalsa20poly1305/$(am__dirstamp)
+crypto_secretbox/xsalsa20poly1305/$(DEPDIR)/$(am__dirstamp):
+	@$(MKDIR_P) crypto_secretbox/xsalsa20poly1305/$(DEPDIR)
+	@: > crypto_secretbox/xsalsa20poly1305/$(DEPDIR)/$(am__dirstamp)
+crypto_secretbox/xsalsa20poly1305/libsodium_la-secretbox_xsalsa20poly1305_api.lo:  \
+	crypto_secretbox/xsalsa20poly1305/$(am__dirstamp) \
+	crypto_secretbox/xsalsa20poly1305/$(DEPDIR)/$(am__dirstamp)
+crypto_secretbox/xsalsa20poly1305/ref/$(am__dirstamp):
+	@$(MKDIR_P) crypto_secretbox/xsalsa20poly1305/ref
+	@: > crypto_secretbox/xsalsa20poly1305/ref/$(am__dirstamp)
+crypto_secretbox/xsalsa20poly1305/ref/$(DEPDIR)/$(am__dirstamp):
+	@$(MKDIR_P) crypto_secretbox/xsalsa20poly1305/ref/$(DEPDIR)
+	@: > crypto_secretbox/xsalsa20poly1305/ref/$(DEPDIR)/$(am__dirstamp)
+crypto_secretbox/xsalsa20poly1305/ref/libsodium_la-box_xsalsa20poly1305.lo:  \
+	crypto_secretbox/xsalsa20poly1305/ref/$(am__dirstamp) \
+	crypto_secretbox/xsalsa20poly1305/ref/$(DEPDIR)/$(am__dirstamp)
+crypto_shorthash/$(am__dirstamp):
+	@$(MKDIR_P) crypto_shorthash
+	@: > crypto_shorthash/$(am__dirstamp)
+crypto_shorthash/$(DEPDIR)/$(am__dirstamp):
+	@$(MKDIR_P) crypto_shorthash/$(DEPDIR)
+	@: > crypto_shorthash/$(DEPDIR)/$(am__dirstamp)
+crypto_shorthash/libsodium_la-crypto_shorthash.lo:  \
+	crypto_shorthash/$(am__dirstamp) \
+	crypto_shorthash/$(DEPDIR)/$(am__dirstamp)
+crypto_shorthash/siphash24/$(am__dirstamp):
+	@$(MKDIR_P) crypto_shorthash/siphash24
+	@: > crypto_shorthash/siphash24/$(am__dirstamp)
+crypto_shorthash/siphash24/$(DEPDIR)/$(am__dirstamp):
+	@$(MKDIR_P) crypto_shorthash/siphash24/$(DEPDIR)
+	@: > crypto_shorthash/siphash24/$(DEPDIR)/$(am__dirstamp)
+crypto_shorthash/siphash24/libsodium_la-shorthash_siphash24_api.lo:  \
+	crypto_shorthash/siphash24/$(am__dirstamp) \
+	crypto_shorthash/siphash24/$(DEPDIR)/$(am__dirstamp)
+crypto_shorthash/siphash24/ref/$(am__dirstamp):
+	@$(MKDIR_P) crypto_shorthash/siphash24/ref
+	@: > crypto_shorthash/siphash24/ref/$(am__dirstamp)
+crypto_shorthash/siphash24/ref/$(DEPDIR)/$(am__dirstamp):
+	@$(MKDIR_P) crypto_shorthash/siphash24/ref/$(DEPDIR)
+	@: > crypto_shorthash/siphash24/ref/$(DEPDIR)/$(am__dirstamp)
+crypto_shorthash/siphash24/ref/libsodium_la-shorthash_siphash24.lo:  \
+	crypto_shorthash/siphash24/ref/$(am__dirstamp) \
+	crypto_shorthash/siphash24/ref/$(DEPDIR)/$(am__dirstamp)
+crypto_sign/$(am__dirstamp):
+	@$(MKDIR_P) crypto_sign
+	@: > crypto_sign/$(am__dirstamp)
+crypto_sign/$(DEPDIR)/$(am__dirstamp):
+	@$(MKDIR_P) crypto_sign/$(DEPDIR)
+	@: > crypto_sign/$(DEPDIR)/$(am__dirstamp)
+crypto_sign/libsodium_la-crypto_sign.lo: crypto_sign/$(am__dirstamp) \
+	crypto_sign/$(DEPDIR)/$(am__dirstamp)
+crypto_sign/ed25519/$(am__dirstamp):
+	@$(MKDIR_P) crypto_sign/ed25519
+	@: > crypto_sign/ed25519/$(am__dirstamp)
+crypto_sign/ed25519/$(DEPDIR)/$(am__dirstamp):
+	@$(MKDIR_P) crypto_sign/ed25519/$(DEPDIR)
+	@: > crypto_sign/ed25519/$(DEPDIR)/$(am__dirstamp)
+crypto_sign/ed25519/libsodium_la-sign_ed25519_api.lo:  \
+	crypto_sign/ed25519/$(am__dirstamp) \
+	crypto_sign/ed25519/$(DEPDIR)/$(am__dirstamp)
+crypto_sign/ed25519/ref10/$(am__dirstamp):
+	@$(MKDIR_P) crypto_sign/ed25519/ref10
+	@: > crypto_sign/ed25519/ref10/$(am__dirstamp)
+crypto_sign/ed25519/ref10/$(DEPDIR)/$(am__dirstamp):
+	@$(MKDIR_P) crypto_sign/ed25519/ref10/$(DEPDIR)
+	@: > crypto_sign/ed25519/ref10/$(DEPDIR)/$(am__dirstamp)
+crypto_sign/ed25519/ref10/libsodium_la-fe_0.lo:  \
+	crypto_sign/ed25519/ref10/$(am__dirstamp) \
+	crypto_sign/ed25519/ref10/$(DEPDIR)/$(am__dirstamp)
+crypto_sign/ed25519/ref10/libsodium_la-fe_1.lo:  \
+	crypto_sign/ed25519/ref10/$(am__dirstamp) \
+	crypto_sign/ed25519/ref10/$(DEPDIR)/$(am__dirstamp)
+crypto_sign/ed25519/ref10/libsodium_la-fe_add.lo:  \
+	crypto_sign/ed25519/ref10/$(am__dirstamp) \
+	crypto_sign/ed25519/ref10/$(DEPDIR)/$(am__dirstamp)
+crypto_sign/ed25519/ref10/libsodium_la-fe_cmov.lo:  \
+	crypto_sign/ed25519/ref10/$(am__dirstamp) \
+	crypto_sign/ed25519/ref10/$(DEPDIR)/$(am__dirstamp)
+crypto_sign/ed25519/ref10/libsodium_la-fe_copy.lo:  \
+	crypto_sign/ed25519/ref10/$(am__dirstamp) \
+	crypto_sign/ed25519/ref10/$(DEPDIR)/$(am__dirstamp)
+crypto_sign/ed25519/ref10/libsodium_la-fe_frombytes.lo:  \
+	crypto_sign/ed25519/ref10/$(am__dirstamp) \
+	crypto_sign/ed25519/ref10/$(DEPDIR)/$(am__dirstamp)
+crypto_sign/ed25519/ref10/libsodium_la-fe_invert.lo:  \
+	crypto_sign/ed25519/ref10/$(am__dirstamp) \
+	crypto_sign/ed25519/ref10/$(DEPDIR)/$(am__dirstamp)
+crypto_sign/ed25519/ref10/libsodium_la-fe_isnegative.lo:  \
+	crypto_sign/ed25519/ref10/$(am__dirstamp) \
+	crypto_sign/ed25519/ref10/$(DEPDIR)/$(am__dirstamp)
+crypto_sign/ed25519/ref10/libsodium_la-fe_isnonzero.lo:  \
+	crypto_sign/ed25519/ref10/$(am__dirstamp) \
+	crypto_sign/ed25519/ref10/$(DEPDIR)/$(am__dirstamp)
+crypto_sign/ed25519/ref10/libsodium_la-fe_mul.lo:  \
+	crypto_sign/ed25519/ref10/$(am__dirstamp) \
+	crypto_sign/ed25519/ref10/$(DEPDIR)/$(am__dirstamp)
+crypto_sign/ed25519/ref10/libsodium_la-fe_neg.lo:  \
+	crypto_sign/ed25519/ref10/$(am__dirstamp) \
+	crypto_sign/ed25519/ref10/$(DEPDIR)/$(am__dirstamp)
+crypto_sign/ed25519/ref10/libsodium_la-fe_pow22523.lo:  \
+	crypto_sign/ed25519/ref10/$(am__dirstamp) \
+	crypto_sign/ed25519/ref10/$(DEPDIR)/$(am__dirstamp)
+crypto_sign/ed25519/ref10/libsodium_la-fe_sq.lo:  \
+	crypto_sign/ed25519/ref10/$(am__dirstamp) \
+	crypto_sign/ed25519/ref10/$(DEPDIR)/$(am__dirstamp)
+crypto_sign/ed25519/ref10/libsodium_la-fe_sq2.lo:  \
+	crypto_sign/ed25519/ref10/$(am__dirstamp) \
+	crypto_sign/ed25519/ref10/$(DEPDIR)/$(am__dirstamp)
+crypto_sign/ed25519/ref10/libsodium_la-fe_sub.lo:  \
+	crypto_sign/ed25519/ref10/$(am__dirstamp) \
+	crypto_sign/ed25519/ref10/$(DEPDIR)/$(am__dirstamp)
+crypto_sign/ed25519/ref10/libsodium_la-fe_tobytes.lo:  \
+	crypto_sign/ed25519/ref10/$(am__dirstamp) \
+	crypto_sign/ed25519/ref10/$(DEPDIR)/$(am__dirstamp)
+crypto_sign/ed25519/ref10/libsodium_la-ge_add.lo:  \
+	crypto_sign/ed25519/ref10/$(am__dirstamp) \
+	crypto_sign/ed25519/ref10/$(DEPDIR)/$(am__dirstamp)
+crypto_sign/ed25519/ref10/libsodium_la-ge_double_scalarmult.lo:  \
+	crypto_sign/ed25519/ref10/$(am__dirstamp) \
+	crypto_sign/ed25519/ref10/$(DEPDIR)/$(am__dirstamp)
+crypto_sign/ed25519/ref10/libsodium_la-ge_frombytes.lo:  \
+	crypto_sign/ed25519/ref10/$(am__dirstamp) \
+	crypto_sign/ed25519/ref10/$(DEPDIR)/$(am__dirstamp)
+crypto_sign/ed25519/ref10/libsodium_la-ge_madd.lo:  \
+	crypto_sign/ed25519/ref10/$(am__dirstamp) \
+	crypto_sign/ed25519/ref10/$(DEPDIR)/$(am__dirstamp)
+crypto_sign/ed25519/ref10/libsodium_la-ge_msub.lo:  \
+	crypto_sign/ed25519/ref10/$(am__dirstamp) \
+	crypto_sign/ed25519/ref10/$(DEPDIR)/$(am__dirstamp)
+crypto_sign/ed25519/ref10/libsodium_la-ge_p1p1_to_p2.lo:  \
+	crypto_sign/ed25519/ref10/$(am__dirstamp) \
+	crypto_sign/ed25519/ref10/$(DEPDIR)/$(am__dirstamp)
+crypto_sign/ed25519/ref10/libsodium_la-ge_p1p1_to_p3.lo:  \
+	crypto_sign/ed25519/ref10/$(am__dirstamp) \
+	crypto_sign/ed25519/ref10/$(DEPDIR)/$(am__dirstamp)
+crypto_sign/ed25519/ref10/libsodium_la-ge_p2_0.lo:  \
+	crypto_sign/ed25519/ref10/$(am__dirstamp) \
+	crypto_sign/ed25519/ref10/$(DEPDIR)/$(am__dirstamp)
+crypto_sign/ed25519/ref10/libsodium_la-ge_p2_dbl.lo:  \
+	crypto_sign/ed25519/ref10/$(am__dirstamp) \
+	crypto_sign/ed25519/ref10/$(DEPDIR)/$(am__dirstamp)
+crypto_sign/ed25519/ref10/libsodium_la-ge_p3_0.lo:  \
+	crypto_sign/ed25519/ref10/$(am__dirstamp) \
+	crypto_sign/ed25519/ref10/$(DEPDIR)/$(am__dirstamp)
+crypto_sign/ed25519/ref10/libsodium_la-ge_p3_dbl.lo:  \
+	crypto_sign/ed25519/ref10/$(am__dirstamp) \
+	crypto_sign/ed25519/ref10/$(DEPDIR)/$(am__dirstamp)
+crypto_sign/ed25519/ref10/libsodium_la-ge_p3_to_cached.lo:  \
+	crypto_sign/ed25519/ref10/$(am__dirstamp) \
+	crypto_sign/ed25519/ref10/$(DEPDIR)/$(am__dirstamp)
+crypto_sign/ed25519/ref10/libsodium_la-ge_p3_to_p2.lo:  \
+	crypto_sign/ed25519/ref10/$(am__dirstamp) \
+	crypto_sign/ed25519/ref10/$(DEPDIR)/$(am__dirstamp)
+crypto_sign/ed25519/ref10/libsodium_la-ge_p3_tobytes.lo:  \
+	crypto_sign/ed25519/ref10/$(am__dirstamp) \
+	crypto_sign/ed25519/ref10/$(DEPDIR)/$(am__dirstamp)
+crypto_sign/ed25519/ref10/libsodium_la-ge_precomp_0.lo:  \
+	crypto_sign/ed25519/ref10/$(am__dirstamp) \
+	crypto_sign/ed25519/ref10/$(DEPDIR)/$(am__dirstamp)
+crypto_sign/ed25519/ref10/libsodium_la-ge_scalarmult_base.lo:  \
+	crypto_sign/ed25519/ref10/$(am__dirstamp) \
+	crypto_sign/ed25519/ref10/$(DEPDIR)/$(am__dirstamp)
+crypto_sign/ed25519/ref10/libsodium_la-ge_sub.lo:  \
+	crypto_sign/ed25519/ref10/$(am__dirstamp) \
+	crypto_sign/ed25519/ref10/$(DEPDIR)/$(am__dirstamp)
+crypto_sign/ed25519/ref10/libsodium_la-ge_tobytes.lo:  \
+	crypto_sign/ed25519/ref10/$(am__dirstamp) \
+	crypto_sign/ed25519/ref10/$(DEPDIR)/$(am__dirstamp)
+crypto_sign/ed25519/ref10/libsodium_la-keypair.lo:  \
+	crypto_sign/ed25519/ref10/$(am__dirstamp) \
+	crypto_sign/ed25519/ref10/$(DEPDIR)/$(am__dirstamp)
+crypto_sign/ed25519/ref10/libsodium_la-open.lo:  \
+	crypto_sign/ed25519/ref10/$(am__dirstamp) \
+	crypto_sign/ed25519/ref10/$(DEPDIR)/$(am__dirstamp)
+crypto_sign/ed25519/ref10/libsodium_la-sc_muladd.lo:  \
+	crypto_sign/ed25519/ref10/$(am__dirstamp) \
+	crypto_sign/ed25519/ref10/$(DEPDIR)/$(am__dirstamp)
+crypto_sign/ed25519/ref10/libsodium_la-sc_reduce.lo:  \
+	crypto_sign/ed25519/ref10/$(am__dirstamp) \
+	crypto_sign/ed25519/ref10/$(DEPDIR)/$(am__dirstamp)
+crypto_sign/ed25519/ref10/libsodium_la-sign.lo:  \
+	crypto_sign/ed25519/ref10/$(am__dirstamp) \
+	crypto_sign/ed25519/ref10/$(DEPDIR)/$(am__dirstamp)
+crypto_sign/edwards25519sha512batch/$(am__dirstamp):
+	@$(MKDIR_P) crypto_sign/edwards25519sha512batch
+	@: > crypto_sign/edwards25519sha512batch/$(am__dirstamp)
+crypto_sign/edwards25519sha512batch/$(DEPDIR)/$(am__dirstamp):
+	@$(MKDIR_P) crypto_sign/edwards25519sha512batch/$(DEPDIR)
+	@: > crypto_sign/edwards25519sha512batch/$(DEPDIR)/$(am__dirstamp)
+crypto_sign/edwards25519sha512batch/libsodium_la-sign_edwards25519sha512batch_api.lo:  \
+	crypto_sign/edwards25519sha512batch/$(am__dirstamp) \
+	crypto_sign/edwards25519sha512batch/$(DEPDIR)/$(am__dirstamp)
+crypto_sign/edwards25519sha512batch/ref/$(am__dirstamp):
+	@$(MKDIR_P) crypto_sign/edwards25519sha512batch/ref
+	@: > crypto_sign/edwards25519sha512batch/ref/$(am__dirstamp)
+crypto_sign/edwards25519sha512batch/ref/$(DEPDIR)/$(am__dirstamp):
+	@$(MKDIR_P) crypto_sign/edwards25519sha512batch/ref/$(DEPDIR)
+	@: > crypto_sign/edwards25519sha512batch/ref/$(DEPDIR)/$(am__dirstamp)
+crypto_sign/edwards25519sha512batch/ref/libsodium_la-fe25519_edwards25519sha512batch.lo:  \
+	crypto_sign/edwards25519sha512batch/ref/$(am__dirstamp) \
+	crypto_sign/edwards25519sha512batch/ref/$(DEPDIR)/$(am__dirstamp)
+crypto_sign/edwards25519sha512batch/ref/libsodium_la-ge25519_edwards25519sha512batch.lo:  \
+	crypto_sign/edwards25519sha512batch/ref/$(am__dirstamp) \
+	crypto_sign/edwards25519sha512batch/ref/$(DEPDIR)/$(am__dirstamp)
+crypto_sign/edwards25519sha512batch/ref/libsodium_la-sc25519_edwards25519sha512batch.lo:  \
+	crypto_sign/edwards25519sha512batch/ref/$(am__dirstamp) \
+	crypto_sign/edwards25519sha512batch/ref/$(DEPDIR)/$(am__dirstamp)
+crypto_sign/edwards25519sha512batch/ref/libsodium_la-sign_edwards25519sha512batch.lo:  \
+	crypto_sign/edwards25519sha512batch/ref/$(am__dirstamp) \
+	crypto_sign/edwards25519sha512batch/ref/$(DEPDIR)/$(am__dirstamp)
+crypto_stream/$(am__dirstamp):
+	@$(MKDIR_P) crypto_stream
+	@: > crypto_stream/$(am__dirstamp)
+crypto_stream/$(DEPDIR)/$(am__dirstamp):
+	@$(MKDIR_P) crypto_stream/$(DEPDIR)
+	@: > crypto_stream/$(DEPDIR)/$(am__dirstamp)
+crypto_stream/libsodium_la-crypto_stream.lo:  \
+	crypto_stream/$(am__dirstamp) \
+	crypto_stream/$(DEPDIR)/$(am__dirstamp)
+crypto_stream/aes128ctr/portable/$(am__dirstamp):
+	@$(MKDIR_P) crypto_stream/aes128ctr/portable
+	@: > crypto_stream/aes128ctr/portable/$(am__dirstamp)
+crypto_stream/aes128ctr/portable/$(DEPDIR)/$(am__dirstamp):
+	@$(MKDIR_P) crypto_stream/aes128ctr/portable/$(DEPDIR)
+	@: > crypto_stream/aes128ctr/portable/$(DEPDIR)/$(am__dirstamp)
+crypto_stream/aes128ctr/portable/libsodium_la-afternm_aes128ctr.lo:  \
+	crypto_stream/aes128ctr/portable/$(am__dirstamp) \
+	crypto_stream/aes128ctr/portable/$(DEPDIR)/$(am__dirstamp)
+crypto_stream/aes128ctr/$(am__dirstamp):
+	@$(MKDIR_P) crypto_stream/aes128ctr
+	@: > crypto_stream/aes128ctr/$(am__dirstamp)
+crypto_stream/aes128ctr/$(DEPDIR)/$(am__dirstamp):
+	@$(MKDIR_P) crypto_stream/aes128ctr/$(DEPDIR)
+	@: > crypto_stream/aes128ctr/$(DEPDIR)/$(am__dirstamp)
+crypto_stream/aes128ctr/libsodium_la-stream_aes128ctr_api.lo:  \
+	crypto_stream/aes128ctr/$(am__dirstamp) \
+	crypto_stream/aes128ctr/$(DEPDIR)/$(am__dirstamp)
+crypto_stream/aes128ctr/portable/libsodium_la-beforenm_aes128ctr.lo:  \
+	crypto_stream/aes128ctr/portable/$(am__dirstamp) \
+	crypto_stream/aes128ctr/portable/$(DEPDIR)/$(am__dirstamp)
+crypto_stream/aes128ctr/portable/libsodium_la-common_aes128ctr.lo:  \
+	crypto_stream/aes128ctr/portable/$(am__dirstamp) \
+	crypto_stream/aes128ctr/portable/$(DEPDIR)/$(am__dirstamp)
+crypto_stream/aes128ctr/portable/libsodium_la-consts_aes128ctr.lo:  \
+	crypto_stream/aes128ctr/portable/$(am__dirstamp) \
+	crypto_stream/aes128ctr/portable/$(DEPDIR)/$(am__dirstamp)
+crypto_stream/aes128ctr/portable/libsodium_la-int128_aes128ctr.lo:  \
+	crypto_stream/aes128ctr/portable/$(am__dirstamp) \
+	crypto_stream/aes128ctr/portable/$(DEPDIR)/$(am__dirstamp)
+crypto_stream/aes128ctr/portable/libsodium_la-stream_aes128ctr.lo:  \
+	crypto_stream/aes128ctr/portable/$(am__dirstamp) \
+	crypto_stream/aes128ctr/portable/$(DEPDIR)/$(am__dirstamp)
+crypto_stream/aes128ctr/portable/libsodium_la-xor_afternm_aes128ctr.lo:  \
+	crypto_stream/aes128ctr/portable/$(am__dirstamp) \
+	crypto_stream/aes128ctr/portable/$(DEPDIR)/$(am__dirstamp)
+crypto_stream/aes256estream/hongjun/$(am__dirstamp):
+	@$(MKDIR_P) crypto_stream/aes256estream/hongjun
+	@: > crypto_stream/aes256estream/hongjun/$(am__dirstamp)
+crypto_stream/aes256estream/hongjun/$(DEPDIR)/$(am__dirstamp):
+	@$(MKDIR_P) crypto_stream/aes256estream/hongjun/$(DEPDIR)
+	@: > crypto_stream/aes256estream/hongjun/$(DEPDIR)/$(am__dirstamp)
+crypto_stream/aes256estream/hongjun/libsodium_la-aes256-ctr.lo:  \
+	crypto_stream/aes256estream/hongjun/$(am__dirstamp) \
+	crypto_stream/aes256estream/hongjun/$(DEPDIR)/$(am__dirstamp)
+crypto_stream/aes256estream/$(am__dirstamp):
+	@$(MKDIR_P) crypto_stream/aes256estream
+	@: > crypto_stream/aes256estream/$(am__dirstamp)
+crypto_stream/aes256estream/$(DEPDIR)/$(am__dirstamp):
+	@$(MKDIR_P) crypto_stream/aes256estream/$(DEPDIR)
+	@: > crypto_stream/aes256estream/$(DEPDIR)/$(am__dirstamp)
+crypto_stream/aes256estream/libsodium_la-stream_aes256estream_api.lo:  \
+	crypto_stream/aes256estream/$(am__dirstamp) \
+	crypto_stream/aes256estream/$(DEPDIR)/$(am__dirstamp)
+crypto_stream/salsa2012/$(am__dirstamp):
+	@$(MKDIR_P) crypto_stream/salsa2012
+	@: > crypto_stream/salsa2012/$(am__dirstamp)
+crypto_stream/salsa2012/$(DEPDIR)/$(am__dirstamp):
+	@$(MKDIR_P) crypto_stream/salsa2012/$(DEPDIR)
+	@: > crypto_stream/salsa2012/$(DEPDIR)/$(am__dirstamp)
+crypto_stream/salsa2012/libsodium_la-stream_salsa2012_api.lo:  \
+	crypto_stream/salsa2012/$(am__dirstamp) \
+	crypto_stream/salsa2012/$(DEPDIR)/$(am__dirstamp)
+crypto_stream/salsa2012/ref/$(am__dirstamp):
+	@$(MKDIR_P) crypto_stream/salsa2012/ref
+	@: > crypto_stream/salsa2012/ref/$(am__dirstamp)
+crypto_stream/salsa2012/ref/$(DEPDIR)/$(am__dirstamp):
+	@$(MKDIR_P) crypto_stream/salsa2012/ref/$(DEPDIR)
+	@: > crypto_stream/salsa2012/ref/$(DEPDIR)/$(am__dirstamp)
+crypto_stream/salsa2012/ref/libsodium_la-stream_salsa2012.lo:  \
+	crypto_stream/salsa2012/ref/$(am__dirstamp) \
+	crypto_stream/salsa2012/ref/$(DEPDIR)/$(am__dirstamp)
+crypto_stream/salsa2012/ref/libsodium_la-xor_salsa2012.lo:  \
+	crypto_stream/salsa2012/ref/$(am__dirstamp) \
+	crypto_stream/salsa2012/ref/$(DEPDIR)/$(am__dirstamp)
+crypto_stream/salsa208/$(am__dirstamp):
+	@$(MKDIR_P) crypto_stream/salsa208
+	@: > crypto_stream/salsa208/$(am__dirstamp)
+crypto_stream/salsa208/$(DEPDIR)/$(am__dirstamp):
+	@$(MKDIR_P) crypto_stream/salsa208/$(DEPDIR)
+	@: > crypto_stream/salsa208/$(DEPDIR)/$(am__dirstamp)
+crypto_stream/salsa208/libsodium_la-stream_salsa208_api.lo:  \
+	crypto_stream/salsa208/$(am__dirstamp) \
+	crypto_stream/salsa208/$(DEPDIR)/$(am__dirstamp)
+crypto_stream/salsa208/ref/$(am__dirstamp):
+	@$(MKDIR_P) crypto_stream/salsa208/ref
+	@: > crypto_stream/salsa208/ref/$(am__dirstamp)
+crypto_stream/salsa208/ref/$(DEPDIR)/$(am__dirstamp):
+	@$(MKDIR_P) crypto_stream/salsa208/ref/$(DEPDIR)
+	@: > crypto_stream/salsa208/ref/$(DEPDIR)/$(am__dirstamp)
+crypto_stream/salsa208/ref/libsodium_la-stream_salsa208.lo:  \
+	crypto_stream/salsa208/ref/$(am__dirstamp) \
+	crypto_stream/salsa208/ref/$(DEPDIR)/$(am__dirstamp)
+crypto_stream/salsa208/ref/libsodium_la-xor_salsa208.lo:  \
+	crypto_stream/salsa208/ref/$(am__dirstamp) \
+	crypto_stream/salsa208/ref/$(DEPDIR)/$(am__dirstamp)
+crypto_stream/xsalsa20/$(am__dirstamp):
+	@$(MKDIR_P) crypto_stream/xsalsa20
+	@: > crypto_stream/xsalsa20/$(am__dirstamp)
+crypto_stream/xsalsa20/$(DEPDIR)/$(am__dirstamp):
+	@$(MKDIR_P) crypto_stream/xsalsa20/$(DEPDIR)
+	@: > crypto_stream/xsalsa20/$(DEPDIR)/$(am__dirstamp)
+crypto_stream/xsalsa20/libsodium_la-stream_xsalsa20_api.lo:  \
+	crypto_stream/xsalsa20/$(am__dirstamp) \
+	crypto_stream/xsalsa20/$(DEPDIR)/$(am__dirstamp)
+crypto_stream/xsalsa20/ref/$(am__dirstamp):
+	@$(MKDIR_P) crypto_stream/xsalsa20/ref
+	@: > crypto_stream/xsalsa20/ref/$(am__dirstamp)
+crypto_stream/xsalsa20/ref/$(DEPDIR)/$(am__dirstamp):
+	@$(MKDIR_P) crypto_stream/xsalsa20/ref/$(DEPDIR)
+	@: > crypto_stream/xsalsa20/ref/$(DEPDIR)/$(am__dirstamp)
+crypto_stream/xsalsa20/ref/libsodium_la-stream_xsalsa20.lo:  \
+	crypto_stream/xsalsa20/ref/$(am__dirstamp) \
+	crypto_stream/xsalsa20/ref/$(DEPDIR)/$(am__dirstamp)
+crypto_stream/xsalsa20/ref/libsodium_la-xor_xsalsa20.lo:  \
+	crypto_stream/xsalsa20/ref/$(am__dirstamp) \
+	crypto_stream/xsalsa20/ref/$(DEPDIR)/$(am__dirstamp)
+crypto_verify/16/$(am__dirstamp):
+	@$(MKDIR_P) crypto_verify/16
+	@: > crypto_verify/16/$(am__dirstamp)
+crypto_verify/16/$(DEPDIR)/$(am__dirstamp):
+	@$(MKDIR_P) crypto_verify/16/$(DEPDIR)
+	@: > crypto_verify/16/$(DEPDIR)/$(am__dirstamp)
+crypto_verify/16/libsodium_la-verify_16_api.lo:  \
+	crypto_verify/16/$(am__dirstamp) \
+	crypto_verify/16/$(DEPDIR)/$(am__dirstamp)
+crypto_verify/16/ref/$(am__dirstamp):
+	@$(MKDIR_P) crypto_verify/16/ref
+	@: > crypto_verify/16/ref/$(am__dirstamp)
+crypto_verify/16/ref/$(DEPDIR)/$(am__dirstamp):
+	@$(MKDIR_P) crypto_verify/16/ref/$(DEPDIR)
+	@: > crypto_verify/16/ref/$(DEPDIR)/$(am__dirstamp)
+crypto_verify/16/ref/libsodium_la-verify_16.lo:  \
+	crypto_verify/16/ref/$(am__dirstamp) \
+	crypto_verify/16/ref/$(DEPDIR)/$(am__dirstamp)
+crypto_verify/32/$(am__dirstamp):
+	@$(MKDIR_P) crypto_verify/32
+	@: > crypto_verify/32/$(am__dirstamp)
+crypto_verify/32/$(DEPDIR)/$(am__dirstamp):
+	@$(MKDIR_P) crypto_verify/32/$(DEPDIR)
+	@: > crypto_verify/32/$(DEPDIR)/$(am__dirstamp)
+crypto_verify/32/libsodium_la-verify_32_api.lo:  \
+	crypto_verify/32/$(am__dirstamp) \
+	crypto_verify/32/$(DEPDIR)/$(am__dirstamp)
+crypto_verify/32/ref/$(am__dirstamp):
+	@$(MKDIR_P) crypto_verify/32/ref
+	@: > crypto_verify/32/ref/$(am__dirstamp)
+crypto_verify/32/ref/$(DEPDIR)/$(am__dirstamp):
+	@$(MKDIR_P) crypto_verify/32/ref/$(DEPDIR)
+	@: > crypto_verify/32/ref/$(DEPDIR)/$(am__dirstamp)
+crypto_verify/32/ref/libsodium_la-verify_32.lo:  \
+	crypto_verify/32/ref/$(am__dirstamp) \
+	crypto_verify/32/ref/$(DEPDIR)/$(am__dirstamp)
+randombytes/$(am__dirstamp):
+	@$(MKDIR_P) randombytes
+	@: > randombytes/$(am__dirstamp)
+randombytes/$(DEPDIR)/$(am__dirstamp):
+	@$(MKDIR_P) randombytes/$(DEPDIR)
+	@: > randombytes/$(DEPDIR)/$(am__dirstamp)
+randombytes/libsodium_la-randombytes.lo: randombytes/$(am__dirstamp) \
+	randombytes/$(DEPDIR)/$(am__dirstamp)
+randombytes/salsa20/$(am__dirstamp):
+	@$(MKDIR_P) randombytes/salsa20
+	@: > randombytes/salsa20/$(am__dirstamp)
+randombytes/salsa20/$(DEPDIR)/$(am__dirstamp):
+	@$(MKDIR_P) randombytes/salsa20/$(DEPDIR)
+	@: > randombytes/salsa20/$(DEPDIR)/$(am__dirstamp)
+randombytes/salsa20/libsodium_la-randombytes_salsa20_random.lo:  \
+	randombytes/salsa20/$(am__dirstamp) \
+	randombytes/salsa20/$(DEPDIR)/$(am__dirstamp)
+randombytes/sysrandom/$(am__dirstamp):
+	@$(MKDIR_P) randombytes/sysrandom
+	@: > randombytes/sysrandom/$(am__dirstamp)
+randombytes/sysrandom/$(DEPDIR)/$(am__dirstamp):
+	@$(MKDIR_P) randombytes/sysrandom/$(DEPDIR)
+	@: > randombytes/sysrandom/$(DEPDIR)/$(am__dirstamp)
+randombytes/sysrandom/libsodium_la-randombytes_sysrandom.lo:  \
+	randombytes/sysrandom/$(am__dirstamp) \
+	randombytes/sysrandom/$(DEPDIR)/$(am__dirstamp)
+sodium/$(am__dirstamp):
+	@$(MKDIR_P) sodium
+	@: > sodium/$(am__dirstamp)
+sodium/$(DEPDIR)/$(am__dirstamp):
+	@$(MKDIR_P) sodium/$(DEPDIR)
+	@: > sodium/$(DEPDIR)/$(am__dirstamp)
+sodium/libsodium_la-compat.lo: sodium/$(am__dirstamp) \
+	sodium/$(DEPDIR)/$(am__dirstamp)
+sodium/libsodium_la-core.lo: sodium/$(am__dirstamp) \
+	sodium/$(DEPDIR)/$(am__dirstamp)
+sodium/libsodium_la-utils.lo: sodium/$(am__dirstamp) \
+	sodium/$(DEPDIR)/$(am__dirstamp)
+sodium/libsodium_la-version.lo: sodium/$(am__dirstamp) \
+	sodium/$(DEPDIR)/$(am__dirstamp)
+crypto_scalarmult/curve25519/donna_c64/$(am__dirstamp):
+	@$(MKDIR_P) crypto_scalarmult/curve25519/donna_c64
+	@: > crypto_scalarmult/curve25519/donna_c64/$(am__dirstamp)
+crypto_scalarmult/curve25519/donna_c64/$(DEPDIR)/$(am__dirstamp):
+	@$(MKDIR_P) crypto_scalarmult/curve25519/donna_c64/$(DEPDIR)
+	@: > crypto_scalarmult/curve25519/donna_c64/$(DEPDIR)/$(am__dirstamp)
+crypto_scalarmult/curve25519/donna_c64/libsodium_la-base_curve25519_donna_c64.lo:  \
+	crypto_scalarmult/curve25519/donna_c64/$(am__dirstamp) \
+	crypto_scalarmult/curve25519/donna_c64/$(DEPDIR)/$(am__dirstamp)
+crypto_scalarmult/curve25519/donna_c64/libsodium_la-smult_curve25519_donna_c64.lo:  \
+	crypto_scalarmult/curve25519/donna_c64/$(am__dirstamp) \
+	crypto_scalarmult/curve25519/donna_c64/$(DEPDIR)/$(am__dirstamp)
+crypto_scalarmult/curve25519/ref/$(am__dirstamp):
+	@$(MKDIR_P) crypto_scalarmult/curve25519/ref
+	@: > crypto_scalarmult/curve25519/ref/$(am__dirstamp)
+crypto_scalarmult/curve25519/ref/$(DEPDIR)/$(am__dirstamp):
+	@$(MKDIR_P) crypto_scalarmult/curve25519/ref/$(DEPDIR)
+	@: > crypto_scalarmult/curve25519/ref/$(DEPDIR)/$(am__dirstamp)
+crypto_scalarmult/curve25519/ref/libsodium_la-base_curve25519_ref.lo:  \
+	crypto_scalarmult/curve25519/ref/$(am__dirstamp) \
+	crypto_scalarmult/curve25519/ref/$(DEPDIR)/$(am__dirstamp)
+crypto_scalarmult/curve25519/ref/libsodium_la-smult_curve25519_ref.lo:  \
+	crypto_scalarmult/curve25519/ref/$(am__dirstamp) \
+	crypto_scalarmult/curve25519/ref/$(DEPDIR)/$(am__dirstamp)
+crypto_stream/salsa20/amd64_xmm6/$(am__dirstamp):
+	@$(MKDIR_P) crypto_stream/salsa20/amd64_xmm6
+	@: > crypto_stream/salsa20/amd64_xmm6/$(am__dirstamp)
+crypto_stream/salsa20/amd64_xmm6/$(DEPDIR)/$(am__dirstamp):
+	@$(MKDIR_P) crypto_stream/salsa20/amd64_xmm6/$(DEPDIR)
+	@: > crypto_stream/salsa20/amd64_xmm6/$(DEPDIR)/$(am__dirstamp)
+crypto_stream/salsa20/amd64_xmm6/libsodium_la-stream_salsa20_amd64_xmm6.lo:  \
+	crypto_stream/salsa20/amd64_xmm6/$(am__dirstamp) \
+	crypto_stream/salsa20/amd64_xmm6/$(DEPDIR)/$(am__dirstamp)
+crypto_stream/salsa20/ref/$(am__dirstamp):
+	@$(MKDIR_P) crypto_stream/salsa20/ref
+	@: > crypto_stream/salsa20/ref/$(am__dirstamp)
+crypto_stream/salsa20/ref/$(DEPDIR)/$(am__dirstamp):
+	@$(MKDIR_P) crypto_stream/salsa20/ref/$(DEPDIR)
+	@: > crypto_stream/salsa20/ref/$(DEPDIR)/$(am__dirstamp)
+crypto_stream/salsa20/ref/libsodium_la-stream_salsa20_ref.lo:  \
+	crypto_stream/salsa20/ref/$(am__dirstamp) \
+	crypto_stream/salsa20/ref/$(DEPDIR)/$(am__dirstamp)
+crypto_stream/salsa20/ref/libsodium_la-xor_salsa20_ref.lo:  \
+	crypto_stream/salsa20/ref/$(am__dirstamp) \
+	crypto_stream/salsa20/ref/$(DEPDIR)/$(am__dirstamp)
+
+libsodium.la: $(libsodium_la_OBJECTS) $(libsodium_la_DEPENDENCIES) $(EXTRA_libsodium_la_DEPENDENCIES) 
+	$(AM_V_CCLD)$(libsodium_la_LINK) -rpath $(libdir) $(libsodium_la_OBJECTS) $(libsodium_la_LIBADD) $(LIBS)
+
+mostlyclean-compile:
+	-rm -f *.$(OBJEXT)
+	-rm -f crypto_auth/*.$(OBJEXT)
+	-rm -f crypto_auth/*.lo
+	-rm -f crypto_auth/hmacsha256/*.$(OBJEXT)
+	-rm -f crypto_auth/hmacsha256/*.lo
+	-rm -f crypto_auth/hmacsha256/ref/*.$(OBJEXT)
+	-rm -f crypto_auth/hmacsha256/ref/*.lo
+	-rm -f crypto_auth/hmacsha512256/*.$(OBJEXT)
+	-rm -f crypto_auth/hmacsha512256/*.lo
+	-rm -f crypto_auth/hmacsha512256/ref/*.$(OBJEXT)
+	-rm -f crypto_auth/hmacsha512256/ref/*.lo
+	-rm -f crypto_box/*.$(OBJEXT)
+	-rm -f crypto_box/*.lo
+	-rm -f crypto_box/curve25519xsalsa20poly1305/*.$(OBJEXT)
+	-rm -f crypto_box/curve25519xsalsa20poly1305/*.lo
+	-rm -f crypto_box/curve25519xsalsa20poly1305/ref/*.$(OBJEXT)
+	-rm -f crypto_box/curve25519xsalsa20poly1305/ref/*.lo
+	-rm -f crypto_core/hsalsa20/*.$(OBJEXT)
+	-rm -f crypto_core/hsalsa20/*.lo
+	-rm -f crypto_core/hsalsa20/ref2/*.$(OBJEXT)
+	-rm -f crypto_core/hsalsa20/ref2/*.lo
+	-rm -f crypto_core/salsa20/*.$(OBJEXT)
+	-rm -f crypto_core/salsa20/*.lo
+	-rm -f crypto_core/salsa20/ref/*.$(OBJEXT)
+	-rm -f crypto_core/salsa20/ref/*.lo
+	-rm -f crypto_core/salsa2012/*.$(OBJEXT)
+	-rm -f crypto_core/salsa2012/*.lo
+	-rm -f crypto_core/salsa2012/ref/*.$(OBJEXT)
+	-rm -f crypto_core/salsa2012/ref/*.lo
+	-rm -f crypto_core/salsa208/*.$(OBJEXT)
+	-rm -f crypto_core/salsa208/*.lo
+	-rm -f crypto_core/salsa208/ref/*.$(OBJEXT)
+	-rm -f crypto_core/salsa208/ref/*.lo
+	-rm -f crypto_generichash/*.$(OBJEXT)
+	-rm -f crypto_generichash/*.lo
+	-rm -f crypto_generichash/blake2/*.$(OBJEXT)
+	-rm -f crypto_generichash/blake2/*.lo
+	-rm -f crypto_generichash/blake2/ref/*.$(OBJEXT)
+	-rm -f crypto_generichash/blake2/ref/*.lo
+	-rm -f crypto_hash/*.$(OBJEXT)
+	-rm -f crypto_hash/*.lo
+	-rm -f crypto_hash/sha256/*.$(OBJEXT)
+	-rm -f crypto_hash/sha256/*.lo
+	-rm -f crypto_hash/sha256/ref/*.$(OBJEXT)
+	-rm -f crypto_hash/sha256/ref/*.lo
+	-rm -f crypto_hash/sha512/*.$(OBJEXT)
+	-rm -f crypto_hash/sha512/*.lo
+	-rm -f crypto_hash/sha512/ref/*.$(OBJEXT)
+	-rm -f crypto_hash/sha512/ref/*.lo
+	-rm -f crypto_hashblocks/sha256/*.$(OBJEXT)
+	-rm -f crypto_hashblocks/sha256/*.lo
+	-rm -f crypto_hashblocks/sha256/ref/*.$(OBJEXT)
+	-rm -f crypto_hashblocks/sha256/ref/*.lo
+	-rm -f crypto_hashblocks/sha512/*.$(OBJEXT)
+	-rm -f crypto_hashblocks/sha512/*.lo
+	-rm -f crypto_hashblocks/sha512/ref/*.$(OBJEXT)
+	-rm -f crypto_hashblocks/sha512/ref/*.lo
+	-rm -f crypto_onetimeauth/*.$(OBJEXT)
+	-rm -f crypto_onetimeauth/*.lo
+	-rm -f crypto_onetimeauth/poly1305/*.$(OBJEXT)
+	-rm -f crypto_onetimeauth/poly1305/*.lo
+	-rm -f crypto_onetimeauth/poly1305/53/*.$(OBJEXT)
+	-rm -f crypto_onetimeauth/poly1305/53/*.lo
+	-rm -f crypto_onetimeauth/poly1305/donna/*.$(OBJEXT)
+	-rm -f crypto_onetimeauth/poly1305/donna/*.lo
+	-rm -f crypto_scalarmult/*.$(OBJEXT)
+	-rm -f crypto_scalarmult/*.lo
+	-rm -f crypto_scalarmult/curve25519/donna_c64/*.$(OBJEXT)
+	-rm -f crypto_scalarmult/curve25519/donna_c64/*.lo
+	-rm -f crypto_scalarmult/curve25519/ref/*.$(OBJEXT)
+	-rm -f crypto_scalarmult/curve25519/ref/*.lo
+	-rm -f crypto_secretbox/*.$(OBJEXT)
+	-rm -f crypto_secretbox/*.lo
+	-rm -f crypto_secretbox/xsalsa20poly1305/*.$(OBJEXT)
+	-rm -f crypto_secretbox/xsalsa20poly1305/*.lo
+	-rm -f crypto_secretbox/xsalsa20poly1305/ref/*.$(OBJEXT)
+	-rm -f crypto_secretbox/xsalsa20poly1305/ref/*.lo
+	-rm -f crypto_shorthash/*.$(OBJEXT)
+	-rm -f crypto_shorthash/*.lo
+	-rm -f crypto_shorthash/siphash24/*.$(OBJEXT)
+	-rm -f crypto_shorthash/siphash24/*.lo
+	-rm -f crypto_shorthash/siphash24/ref/*.$(OBJEXT)
+	-rm -f crypto_shorthash/siphash24/ref/*.lo
+	-rm -f crypto_sign/*.$(OBJEXT)
+	-rm -f crypto_sign/*.lo
+	-rm -f crypto_sign/ed25519/*.$(OBJEXT)
+	-rm -f crypto_sign/ed25519/*.lo
+	-rm -f crypto_sign/ed25519/ref10/*.$(OBJEXT)
+	-rm -f crypto_sign/ed25519/ref10/*.lo
+	-rm -f crypto_sign/edwards25519sha512batch/*.$(OBJEXT)
+	-rm -f crypto_sign/edwards25519sha512batch/*.lo
+	-rm -f crypto_sign/edwards25519sha512batch/ref/*.$(OBJEXT)
+	-rm -f crypto_sign/edwards25519sha512batch/ref/*.lo
+	-rm -f crypto_stream/*.$(OBJEXT)
+	-rm -f crypto_stream/*.lo
+	-rm -f crypto_stream/aes128ctr/*.$(OBJEXT)
+	-rm -f crypto_stream/aes128ctr/*.lo
+	-rm -f crypto_stream/aes128ctr/portable/*.$(OBJEXT)
+	-rm -f crypto_stream/aes128ctr/portable/*.lo
+	-rm -f crypto_stream/aes256estream/*.$(OBJEXT)
+	-rm -f crypto_stream/aes256estream/*.lo
+	-rm -f crypto_stream/aes256estream/hongjun/*.$(OBJEXT)
+	-rm -f crypto_stream/aes256estream/hongjun/*.lo
+	-rm -f crypto_stream/salsa20/amd64_xmm6/*.$(OBJEXT)
+	-rm -f crypto_stream/salsa20/amd64_xmm6/*.lo
+	-rm -f crypto_stream/salsa20/ref/*.$(OBJEXT)
+	-rm -f crypto_stream/salsa20/ref/*.lo
+	-rm -f crypto_stream/salsa2012/*.$(OBJEXT)
+	-rm -f crypto_stream/salsa2012/*.lo
+	-rm -f crypto_stream/salsa2012/ref/*.$(OBJEXT)
+	-rm -f crypto_stream/salsa2012/ref/*.lo
+	-rm -f crypto_stream/salsa208/*.$(OBJEXT)
+	-rm -f crypto_stream/salsa208/*.lo
+	-rm -f crypto_stream/salsa208/ref/*.$(OBJEXT)
+	-rm -f crypto_stream/salsa208/ref/*.lo
+	-rm -f crypto_stream/xsalsa20/*.$(OBJEXT)
+	-rm -f crypto_stream/xsalsa20/*.lo
+	-rm -f crypto_stream/xsalsa20/ref/*.$(OBJEXT)
+	-rm -f crypto_stream/xsalsa20/ref/*.lo
+	-rm -f crypto_verify/16/*.$(OBJEXT)
+	-rm -f crypto_verify/16/*.lo
+	-rm -f crypto_verify/16/ref/*.$(OBJEXT)
+	-rm -f crypto_verify/16/ref/*.lo
+	-rm -f crypto_verify/32/*.$(OBJEXT)
+	-rm -f crypto_verify/32/*.lo
+	-rm -f crypto_verify/32/ref/*.$(OBJEXT)
+	-rm -f crypto_verify/32/ref/*.lo
+	-rm -f randombytes/*.$(OBJEXT)
+	-rm -f randombytes/*.lo
+	-rm -f randombytes/salsa20/*.$(OBJEXT)
+	-rm -f randombytes/salsa20/*.lo
+	-rm -f randombytes/sysrandom/*.$(OBJEXT)
+	-rm -f randombytes/sysrandom/*.lo
+	-rm -f sodium/*.$(OBJEXT)
+	-rm -f sodium/*.lo
+
+distclean-compile:
+	-rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@crypto_auth/$(DEPDIR)/libsodium_la-crypto_auth.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@crypto_auth/hmacsha256/$(DEPDIR)/libsodium_la-auth_hmacsha256_api.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@crypto_auth/hmacsha256/ref/$(DEPDIR)/libsodium_la-hmac_hmacsha256.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@crypto_auth/hmacsha256/ref/$(DEPDIR)/libsodium_la-verify_hmacsha256.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@crypto_auth/hmacsha512256/$(DEPDIR)/libsodium_la-auth_hmacsha512256_api.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@crypto_auth/hmacsha512256/ref/$(DEPDIR)/libsodium_la-hmac_hmacsha512256.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@crypto_auth/hmacsha512256/ref/$(DEPDIR)/libsodium_la-verify_hmacsha512256.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@crypto_box/$(DEPDIR)/libsodium_la-crypto_box.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@crypto_box/curve25519xsalsa20poly1305/$(DEPDIR)/libsodium_la-box_curve25519xsalsa20poly1305_api.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@crypto_box/curve25519xsalsa20poly1305/ref/$(DEPDIR)/libsodium_la-after_curve25519xsalsa20poly1305.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@crypto_box/curve25519xsalsa20poly1305/ref/$(DEPDIR)/libsodium_la-before_curve25519xsalsa20poly1305.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@crypto_box/curve25519xsalsa20poly1305/ref/$(DEPDIR)/libsodium_la-box_curve25519xsalsa20poly1305.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@crypto_box/curve25519xsalsa20poly1305/ref/$(DEPDIR)/libsodium_la-keypair_curve25519xsalsa20poly1305.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@crypto_core/hsalsa20/$(DEPDIR)/libsodium_la-core_hsalsa20_api.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@crypto_core/hsalsa20/ref2/$(DEPDIR)/libsodium_la-core_hsalsa20.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@crypto_core/salsa20/$(DEPDIR)/libsodium_la-core_salsa20_api.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@crypto_core/salsa20/ref/$(DEPDIR)/libsodium_la-core_salsa20.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@crypto_core/salsa2012/$(DEPDIR)/libsodium_la-core_salsa2012_api.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@crypto_core/salsa2012/ref/$(DEPDIR)/libsodium_la-core_salsa2012.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@crypto_core/salsa208/$(DEPDIR)/libsodium_la-core_salsa208_api.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@crypto_core/salsa208/ref/$(DEPDIR)/libsodium_la-core_salsa208.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@crypto_generichash/$(DEPDIR)/libsodium_la-crypto_generichash.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@crypto_generichash/blake2/$(DEPDIR)/libsodium_la-generichash_blake2_api.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@crypto_generichash/blake2/ref/$(DEPDIR)/libsodium_la-blake2b-ref.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@crypto_generichash/blake2/ref/$(DEPDIR)/libsodium_la-generichash_blake2b.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@crypto_hash/$(DEPDIR)/libsodium_la-crypto_hash.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@crypto_hash/sha256/$(DEPDIR)/libsodium_la-hash_sha256_api.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@crypto_hash/sha256/ref/$(DEPDIR)/libsodium_la-hash_sha256.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@crypto_hash/sha512/$(DEPDIR)/libsodium_la-hash_sha512_api.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@crypto_hash/sha512/ref/$(DEPDIR)/libsodium_la-hash_sha512.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@crypto_hashblocks/sha256/$(DEPDIR)/libsodium_la-hashblocks_sha256_api.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@crypto_hashblocks/sha256/ref/$(DEPDIR)/libsodium_la-blocks_sha256.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@crypto_hashblocks/sha512/$(DEPDIR)/libsodium_la-hashblocks_sha512_api.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@crypto_hashblocks/sha512/ref/$(DEPDIR)/libsodium_la-blocks_sha512.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@crypto_onetimeauth/$(DEPDIR)/libsodium_la-crypto_onetimeauth.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@crypto_onetimeauth/poly1305/$(DEPDIR)/libsodium_la-onetimeauth_poly1305.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@crypto_onetimeauth/poly1305/$(DEPDIR)/libsodium_la-onetimeauth_poly1305_api.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@crypto_onetimeauth/poly1305/$(DEPDIR)/libsodium_la-onetimeauth_poly1305_try.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@crypto_onetimeauth/poly1305/53/$(DEPDIR)/libsodium_la-auth_poly1305_53.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@crypto_onetimeauth/poly1305/53/$(DEPDIR)/libsodium_la-verify_poly1305_53.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@crypto_onetimeauth/poly1305/donna/$(DEPDIR)/libsodium_la-auth_poly1305_donna.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@crypto_onetimeauth/poly1305/donna/$(DEPDIR)/libsodium_la-verify_poly1305_donna.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@crypto_scalarmult/$(DEPDIR)/libsodium_la-crypto_scalarmult.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@crypto_scalarmult/curve25519/donna_c64/$(DEPDIR)/libsodium_la-base_curve25519_donna_c64.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@crypto_scalarmult/curve25519/donna_c64/$(DEPDIR)/libsodium_la-smult_curve25519_donna_c64.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@crypto_scalarmult/curve25519/ref/$(DEPDIR)/libsodium_la-base_curve25519_ref.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@crypto_scalarmult/curve25519/ref/$(DEPDIR)/libsodium_la-smult_curve25519_ref.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@crypto_secretbox/$(DEPDIR)/libsodium_la-crypto_secretbox.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@crypto_secretbox/xsalsa20poly1305/$(DEPDIR)/libsodium_la-secretbox_xsalsa20poly1305_api.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@crypto_secretbox/xsalsa20poly1305/ref/$(DEPDIR)/libsodium_la-box_xsalsa20poly1305.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@crypto_shorthash/$(DEPDIR)/libsodium_la-crypto_shorthash.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@crypto_shorthash/siphash24/$(DEPDIR)/libsodium_la-shorthash_siphash24_api.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@crypto_shorthash/siphash24/ref/$(DEPDIR)/libsodium_la-shorthash_siphash24.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@crypto_sign/$(DEPDIR)/libsodium_la-crypto_sign.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@crypto_sign/ed25519/$(DEPDIR)/libsodium_la-sign_ed25519_api.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@crypto_sign/ed25519/ref10/$(DEPDIR)/libsodium_la-fe_0.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@crypto_sign/ed25519/ref10/$(DEPDIR)/libsodium_la-fe_1.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@crypto_sign/ed25519/ref10/$(DEPDIR)/libsodium_la-fe_add.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@crypto_sign/ed25519/ref10/$(DEPDIR)/libsodium_la-fe_cmov.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@crypto_sign/ed25519/ref10/$(DEPDIR)/libsodium_la-fe_copy.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@crypto_sign/ed25519/ref10/$(DEPDIR)/libsodium_la-fe_frombytes.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@crypto_sign/ed25519/ref10/$(DEPDIR)/libsodium_la-fe_invert.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@crypto_sign/ed25519/ref10/$(DEPDIR)/libsodium_la-fe_isnegative.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@crypto_sign/ed25519/ref10/$(DEPDIR)/libsodium_la-fe_isnonzero.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@crypto_sign/ed25519/ref10/$(DEPDIR)/libsodium_la-fe_mul.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@crypto_sign/ed25519/ref10/$(DEPDIR)/libsodium_la-fe_neg.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@crypto_sign/ed25519/ref10/$(DEPDIR)/libsodium_la-fe_pow22523.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@crypto_sign/ed25519/ref10/$(DEPDIR)/libsodium_la-fe_sq.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@crypto_sign/ed25519/ref10/$(DEPDIR)/libsodium_la-fe_sq2.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@crypto_sign/ed25519/ref10/$(DEPDIR)/libsodium_la-fe_sub.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@crypto_sign/ed25519/ref10/$(DEPDIR)/libsodium_la-fe_tobytes.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@crypto_sign/ed25519/ref10/$(DEPDIR)/libsodium_la-ge_add.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@crypto_sign/ed25519/ref10/$(DEPDIR)/libsodium_la-ge_double_scalarmult.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@crypto_sign/ed25519/ref10/$(DEPDIR)/libsodium_la-ge_frombytes.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@crypto_sign/ed25519/ref10/$(DEPDIR)/libsodium_la-ge_madd.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@crypto_sign/ed25519/ref10/$(DEPDIR)/libsodium_la-ge_msub.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@crypto_sign/ed25519/ref10/$(DEPDIR)/libsodium_la-ge_p1p1_to_p2.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@crypto_sign/ed25519/ref10/$(DEPDIR)/libsodium_la-ge_p1p1_to_p3.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@crypto_sign/ed25519/ref10/$(DEPDIR)/libsodium_la-ge_p2_0.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@crypto_sign/ed25519/ref10/$(DEPDIR)/libsodium_la-ge_p2_dbl.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@crypto_sign/ed25519/ref10/$(DEPDIR)/libsodium_la-ge_p3_0.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@crypto_sign/ed25519/ref10/$(DEPDIR)/libsodium_la-ge_p3_dbl.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@crypto_sign/ed25519/ref10/$(DEPDIR)/libsodium_la-ge_p3_to_cached.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@crypto_sign/ed25519/ref10/$(DEPDIR)/libsodium_la-ge_p3_to_p2.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@crypto_sign/ed25519/ref10/$(DEPDIR)/libsodium_la-ge_p3_tobytes.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@crypto_sign/ed25519/ref10/$(DEPDIR)/libsodium_la-ge_precomp_0.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@crypto_sign/ed25519/ref10/$(DEPDIR)/libsodium_la-ge_scalarmult_base.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@crypto_sign/ed25519/ref10/$(DEPDIR)/libsodium_la-ge_sub.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@crypto_sign/ed25519/ref10/$(DEPDIR)/libsodium_la-ge_tobytes.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@crypto_sign/ed25519/ref10/$(DEPDIR)/libsodium_la-keypair.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@crypto_sign/ed25519/ref10/$(DEPDIR)/libsodium_la-open.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@crypto_sign/ed25519/ref10/$(DEPDIR)/libsodium_la-sc_muladd.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@crypto_sign/ed25519/ref10/$(DEPDIR)/libsodium_la-sc_reduce.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@crypto_sign/ed25519/ref10/$(DEPDIR)/libsodium_la-sign.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@crypto_sign/edwards25519sha512batch/$(DEPDIR)/libsodium_la-sign_edwards25519sha512batch_api.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@crypto_sign/edwards25519sha512batch/ref/$(DEPDIR)/libsodium_la-fe25519_edwards25519sha512batch.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@crypto_sign/edwards25519sha512batch/ref/$(DEPDIR)/libsodium_la-ge25519_edwards25519sha512batch.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@crypto_sign/edwards25519sha512batch/ref/$(DEPDIR)/libsodium_la-sc25519_edwards25519sha512batch.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@crypto_sign/edwards25519sha512batch/ref/$(DEPDIR)/libsodium_la-sign_edwards25519sha512batch.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@crypto_stream/$(DEPDIR)/libsodium_la-crypto_stream.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@crypto_stream/aes128ctr/$(DEPDIR)/libsodium_la-stream_aes128ctr_api.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@crypto_stream/aes128ctr/portable/$(DEPDIR)/libsodium_la-afternm_aes128ctr.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@crypto_stream/aes128ctr/portable/$(DEPDIR)/libsodium_la-beforenm_aes128ctr.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@crypto_stream/aes128ctr/portable/$(DEPDIR)/libsodium_la-common_aes128ctr.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@crypto_stream/aes128ctr/portable/$(DEPDIR)/libsodium_la-consts_aes128ctr.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@crypto_stream/aes128ctr/portable/$(DEPDIR)/libsodium_la-int128_aes128ctr.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@crypto_stream/aes128ctr/portable/$(DEPDIR)/libsodium_la-stream_aes128ctr.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@crypto_stream/aes128ctr/portable/$(DEPDIR)/libsodium_la-xor_afternm_aes128ctr.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@crypto_stream/aes256estream/$(DEPDIR)/libsodium_la-stream_aes256estream_api.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@crypto_stream/aes256estream/hongjun/$(DEPDIR)/libsodium_la-aes256-ctr.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@crypto_stream/salsa20/amd64_xmm6/$(DEPDIR)/libsodium_la-stream_salsa20_amd64_xmm6.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@crypto_stream/salsa20/ref/$(DEPDIR)/libsodium_la-stream_salsa20_ref.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@crypto_stream/salsa20/ref/$(DEPDIR)/libsodium_la-xor_salsa20_ref.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@crypto_stream/salsa2012/$(DEPDIR)/libsodium_la-stream_salsa2012_api.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@crypto_stream/salsa2012/ref/$(DEPDIR)/libsodium_la-stream_salsa2012.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@crypto_stream/salsa2012/ref/$(DEPDIR)/libsodium_la-xor_salsa2012.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@crypto_stream/salsa208/$(DEPDIR)/libsodium_la-stream_salsa208_api.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@crypto_stream/salsa208/ref/$(DEPDIR)/libsodium_la-stream_salsa208.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@crypto_stream/salsa208/ref/$(DEPDIR)/libsodium_la-xor_salsa208.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@crypto_stream/xsalsa20/$(DEPDIR)/libsodium_la-stream_xsalsa20_api.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@crypto_stream/xsalsa20/ref/$(DEPDIR)/libsodium_la-stream_xsalsa20.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@crypto_stream/xsalsa20/ref/$(DEPDIR)/libsodium_la-xor_xsalsa20.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@crypto_verify/16/$(DEPDIR)/libsodium_la-verify_16_api.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@crypto_verify/16/ref/$(DEPDIR)/libsodium_la-verify_16.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@crypto_verify/32/$(DEPDIR)/libsodium_la-verify_32_api.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@crypto_verify/32/ref/$(DEPDIR)/libsodium_la-verify_32.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@randombytes/$(DEPDIR)/libsodium_la-randombytes.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@randombytes/salsa20/$(DEPDIR)/libsodium_la-randombytes_salsa20_random.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@randombytes/sysrandom/$(DEPDIR)/libsodium_la-randombytes_sysrandom.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@sodium/$(DEPDIR)/libsodium_la-compat.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@sodium/$(DEPDIR)/libsodium_la-core.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@sodium/$(DEPDIR)/libsodium_la-utils.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@sodium/$(DEPDIR)/libsodium_la-version.Plo@am__quote@
+
+.S.o:
+@am__fastdepCCAS_TRUE@	$(AM_V_CPPAS)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
+@am__fastdepCCAS_TRUE@	$(CPPASCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
+@am__fastdepCCAS_TRUE@	$(am__mv) $$depbase.Tpo $$depbase.Po
+@AMDEP_TRUE@@am__fastdepCCAS_FALSE@	$(AM_V_CPPAS)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCCAS_FALSE@	DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCCAS_FALSE@	$(AM_V_CPPAS@am__nodep@)$(CPPASCOMPILE) -c -o $@ $<
+
+.S.obj:
+@am__fastdepCCAS_TRUE@	$(AM_V_CPPAS)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\
+@am__fastdepCCAS_TRUE@	$(CPPASCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\
+@am__fastdepCCAS_TRUE@	$(am__mv) $$depbase.Tpo $$depbase.Po
+@AMDEP_TRUE@@am__fastdepCCAS_FALSE@	$(AM_V_CPPAS)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCCAS_FALSE@	DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCCAS_FALSE@	$(AM_V_CPPAS@am__nodep@)$(CPPASCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+.S.lo:
+@am__fastdepCCAS_TRUE@	$(AM_V_CPPAS)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\
+@am__fastdepCCAS_TRUE@	$(LTCPPASCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
+@am__fastdepCCAS_TRUE@	$(am__mv) $$depbase.Tpo $$depbase.Plo
+@AMDEP_TRUE@@am__fastdepCCAS_FALSE@	$(AM_V_CPPAS)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCCAS_FALSE@	DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCCAS_FALSE@	$(AM_V_CPPAS@am__nodep@)$(LTCPPASCOMPILE) -c -o $@ $<
+
+crypto_stream/salsa20/amd64_xmm6/libsodium_la-stream_salsa20_amd64_xmm6.lo: crypto_stream/salsa20/amd64_xmm6/stream_salsa20_amd64_xmm6.S
+@am__fastdepCCAS_TRUE@	$(AM_V_CPPAS)$(LIBTOOL) $(AM_V_lt) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CCASFLAGS) $(CCASFLAGS) -MT crypto_stream/salsa20/amd64_xmm6/libsodium_la-stream_salsa20_amd64_xmm6.lo -MD -MP -MF crypto_stream/salsa20/amd64_xmm6/$(DEPDIR)/libsodium_la-stream_salsa20_amd64_xmm6.Tpo -c -o crypto_stream/salsa20/amd64_xmm6/libsodium_la-stream_salsa20_amd64_xmm6.lo `test -f 'crypto_stream/salsa20/amd64_xmm6/stream_salsa20_amd64_xmm6.S' || echo '$(srcdir)/'`crypto_stream/salsa20/amd64_xmm6/stream_salsa20_amd64_xmm6.S
+@am__fastdepCCAS_TRUE@	$(AM_V_at)$(am__mv) crypto_stream/salsa20/amd64_xmm6/$(DEPDIR)/libsodium_la-stream_salsa20_amd64_xmm6.Tpo crypto_stream/salsa20/amd64_xmm6/$(DEPDIR)/libsodium_la-stream_salsa20_amd64_xmm6.Plo
+@AMDEP_TRUE@@am__fastdepCCAS_FALSE@	$(AM_V_CPPAS)source='crypto_stream/salsa20/amd64_xmm6/stream_salsa20_amd64_xmm6.S' object='crypto_stream/salsa20/amd64_xmm6/libsodium_la-stream_salsa20_amd64_xmm6.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCCAS_FALSE@	DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCCAS_FALSE@	$(AM_V_CPPAS@am__nodep@)$(LIBTOOL) $(AM_V_lt) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CCASFLAGS) $(CCASFLAGS) -c -o crypto_stream/salsa20/amd64_xmm6/libsodium_la-stream_salsa20_amd64_xmm6.lo `test -f 'crypto_stream/salsa20/amd64_xmm6/stream_salsa20_amd64_xmm6.S' || echo '$(srcdir)/'`crypto_stream/salsa20/amd64_xmm6/stream_salsa20_amd64_xmm6.S
+
+.c.o:
+@am__fastdepCC_TRUE@	$(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
+@am__fastdepCC_TRUE@	$(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
+@am__fastdepCC_TRUE@	$(am__mv) $$depbase.Tpo $$depbase.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $<
+
+.c.obj:
+@am__fastdepCC_TRUE@	$(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\
+@am__fastdepCC_TRUE@	$(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\
+@am__fastdepCC_TRUE@	$(am__mv) $$depbase.Tpo $$depbase.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+.c.lo:
+@am__fastdepCC_TRUE@	$(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\
+@am__fastdepCC_TRUE@	$(LTCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
+@am__fastdepCC_TRUE@	$(am__mv) $$depbase.Tpo $$depbase.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $<
+
+crypto_auth/libsodium_la-crypto_auth.lo: crypto_auth/crypto_auth.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT crypto_auth/libsodium_la-crypto_auth.lo -MD -MP -MF crypto_auth/$(DEPDIR)/libsodium_la-crypto_auth.Tpo -c -o crypto_auth/libsodium_la-crypto_auth.lo `test -f 'crypto_auth/crypto_auth.c' || echo '$(srcdir)/'`crypto_auth/crypto_auth.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) crypto_auth/$(DEPDIR)/libsodium_la-crypto_auth.Tpo crypto_auth/$(DEPDIR)/libsodium_la-crypto_auth.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='crypto_auth/crypto_auth.c' object='crypto_auth/libsodium_la-crypto_auth.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o crypto_auth/libsodium_la-crypto_auth.lo `test -f 'crypto_auth/crypto_auth.c' || echo '$(srcdir)/'`crypto_auth/crypto_auth.c
+
+crypto_auth/hmacsha256/libsodium_la-auth_hmacsha256_api.lo: crypto_auth/hmacsha256/auth_hmacsha256_api.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT crypto_auth/hmacsha256/libsodium_la-auth_hmacsha256_api.lo -MD -MP -MF crypto_auth/hmacsha256/$(DEPDIR)/libsodium_la-auth_hmacsha256_api.Tpo -c -o crypto_auth/hmacsha256/libsodium_la-auth_hmacsha256_api.lo `test -f 'crypto_auth/hmacsha256/auth_hmacsha256_api.c' || echo '$(srcdir)/'`crypto_auth/hmacsha256/auth_hmacsha256_api.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) crypto_auth/hmacsha256/$(DEPDIR)/libsodium_la-auth_hmacsha256_api.Tpo crypto_auth/hmacsha256/$(DEPDIR)/libsodium_la-auth_hmacsha256_api.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='crypto_auth/hmacsha256/auth_hmacsha256_api.c' object='crypto_auth/hmacsha256/libsodium_la-auth_hmacsha256_api.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o crypto_auth/hmacsha256/libsodium_la-auth_hmacsha256_api.lo `test -f 'crypto_auth/hmacsha256/auth_hmacsha256_api.c' || echo '$(srcdir)/'`crypto_auth/hmacsha256/auth_hmacsha256_api.c
+
+crypto_auth/hmacsha256/ref/libsodium_la-hmac_hmacsha256.lo: crypto_auth/hmacsha256/ref/hmac_hmacsha256.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT crypto_auth/hmacsha256/ref/libsodium_la-hmac_hmacsha256.lo -MD -MP -MF crypto_auth/hmacsha256/ref/$(DEPDIR)/libsodium_la-hmac_hmacsha256.Tpo -c -o crypto_auth/hmacsha256/ref/libsodium_la-hmac_hmacsha256.lo `test -f 'crypto_auth/hmacsha256/ref/hmac_hmacsha256.c' || echo '$(srcdir)/'`crypto_auth/hmacsha256/ref/hmac_hmacsha256.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) crypto_auth/hmacsha256/ref/$(DEPDIR)/libsodium_la-hmac_hmacsha256.Tpo crypto_auth/hmacsha256/ref/$(DEPDIR)/libsodium_la-hmac_hmacsha256.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='crypto_auth/hmacsha256/ref/hmac_hmacsha256.c' object='crypto_auth/hmacsha256/ref/libsodium_la-hmac_hmacsha256.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o crypto_auth/hmacsha256/ref/libsodium_la-hmac_hmacsha256.lo `test -f 'crypto_auth/hmacsha256/ref/hmac_hmacsha256.c' || echo '$(srcdir)/'`crypto_auth/hmacsha256/ref/hmac_hmacsha256.c
+
+crypto_auth/hmacsha256/ref/libsodium_la-verify_hmacsha256.lo: crypto_auth/hmacsha256/ref/verify_hmacsha256.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT crypto_auth/hmacsha256/ref/libsodium_la-verify_hmacsha256.lo -MD -MP -MF crypto_auth/hmacsha256/ref/$(DEPDIR)/libsodium_la-verify_hmacsha256.Tpo -c -o crypto_auth/hmacsha256/ref/libsodium_la-verify_hmacsha256.lo `test -f 'crypto_auth/hmacsha256/ref/verify_hmacsha256.c' || echo '$(srcdir)/'`crypto_auth/hmacsha256/ref/verify_hmacsha256.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) crypto_auth/hmacsha256/ref/$(DEPDIR)/libsodium_la-verify_hmacsha256.Tpo crypto_auth/hmacsha256/ref/$(DEPDIR)/libsodium_la-verify_hmacsha256.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='crypto_auth/hmacsha256/ref/verify_hmacsha256.c' object='crypto_auth/hmacsha256/ref/libsodium_la-verify_hmacsha256.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o crypto_auth/hmacsha256/ref/libsodium_la-verify_hmacsha256.lo `test -f 'crypto_auth/hmacsha256/ref/verify_hmacsha256.c' || echo '$(srcdir)/'`crypto_auth/hmacsha256/ref/verify_hmacsha256.c
+
+crypto_auth/hmacsha512256/libsodium_la-auth_hmacsha512256_api.lo: crypto_auth/hmacsha512256/auth_hmacsha512256_api.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT crypto_auth/hmacsha512256/libsodium_la-auth_hmacsha512256_api.lo -MD -MP -MF crypto_auth/hmacsha512256/$(DEPDIR)/libsodium_la-auth_hmacsha512256_api.Tpo -c -o crypto_auth/hmacsha512256/libsodium_la-auth_hmacsha512256_api.lo `test -f 'crypto_auth/hmacsha512256/auth_hmacsha512256_api.c' || echo '$(srcdir)/'`crypto_auth/hmacsha512256/auth_hmacsha512256_api.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) crypto_auth/hmacsha512256/$(DEPDIR)/libsodium_la-auth_hmacsha512256_api.Tpo crypto_auth/hmacsha512256/$(DEPDIR)/libsodium_la-auth_hmacsha512256_api.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='crypto_auth/hmacsha512256/auth_hmacsha512256_api.c' object='crypto_auth/hmacsha512256/libsodium_la-auth_hmacsha512256_api.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o crypto_auth/hmacsha512256/libsodium_la-auth_hmacsha512256_api.lo `test -f 'crypto_auth/hmacsha512256/auth_hmacsha512256_api.c' || echo '$(srcdir)/'`crypto_auth/hmacsha512256/auth_hmacsha512256_api.c
+
+crypto_auth/hmacsha512256/ref/libsodium_la-hmac_hmacsha512256.lo: crypto_auth/hmacsha512256/ref/hmac_hmacsha512256.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT crypto_auth/hmacsha512256/ref/libsodium_la-hmac_hmacsha512256.lo -MD -MP -MF crypto_auth/hmacsha512256/ref/$(DEPDIR)/libsodium_la-hmac_hmacsha512256.Tpo -c -o crypto_auth/hmacsha512256/ref/libsodium_la-hmac_hmacsha512256.lo `test -f 'crypto_auth/hmacsha512256/ref/hmac_hmacsha512256.c' || echo '$(srcdir)/'`crypto_auth/hmacsha512256/ref/hmac_hmacsha512256.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) crypto_auth/hmacsha512256/ref/$(DEPDIR)/libsodium_la-hmac_hmacsha512256.Tpo crypto_auth/hmacsha512256/ref/$(DEPDIR)/libsodium_la-hmac_hmacsha512256.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='crypto_auth/hmacsha512256/ref/hmac_hmacsha512256.c' object='crypto_auth/hmacsha512256/ref/libsodium_la-hmac_hmacsha512256.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o crypto_auth/hmacsha512256/ref/libsodium_la-hmac_hmacsha512256.lo `test -f 'crypto_auth/hmacsha512256/ref/hmac_hmacsha512256.c' || echo '$(srcdir)/'`crypto_auth/hmacsha512256/ref/hmac_hmacsha512256.c
+
+crypto_auth/hmacsha512256/ref/libsodium_la-verify_hmacsha512256.lo: crypto_auth/hmacsha512256/ref/verify_hmacsha512256.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT crypto_auth/hmacsha512256/ref/libsodium_la-verify_hmacsha512256.lo -MD -MP -MF crypto_auth/hmacsha512256/ref/$(DEPDIR)/libsodium_la-verify_hmacsha512256.Tpo -c -o crypto_auth/hmacsha512256/ref/libsodium_la-verify_hmacsha512256.lo `test -f 'crypto_auth/hmacsha512256/ref/verify_hmacsha512256.c' || echo '$(srcdir)/'`crypto_auth/hmacsha512256/ref/verify_hmacsha512256.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) crypto_auth/hmacsha512256/ref/$(DEPDIR)/libsodium_la-verify_hmacsha512256.Tpo crypto_auth/hmacsha512256/ref/$(DEPDIR)/libsodium_la-verify_hmacsha512256.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='crypto_auth/hmacsha512256/ref/verify_hmacsha512256.c' object='crypto_auth/hmacsha512256/ref/libsodium_la-verify_hmacsha512256.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o crypto_auth/hmacsha512256/ref/libsodium_la-verify_hmacsha512256.lo `test -f 'crypto_auth/hmacsha512256/ref/verify_hmacsha512256.c' || echo '$(srcdir)/'`crypto_auth/hmacsha512256/ref/verify_hmacsha512256.c
+
+crypto_box/libsodium_la-crypto_box.lo: crypto_box/crypto_box.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT crypto_box/libsodium_la-crypto_box.lo -MD -MP -MF crypto_box/$(DEPDIR)/libsodium_la-crypto_box.Tpo -c -o crypto_box/libsodium_la-crypto_box.lo `test -f 'crypto_box/crypto_box.c' || echo '$(srcdir)/'`crypto_box/crypto_box.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) crypto_box/$(DEPDIR)/libsodium_la-crypto_box.Tpo crypto_box/$(DEPDIR)/libsodium_la-crypto_box.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='crypto_box/crypto_box.c' object='crypto_box/libsodium_la-crypto_box.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o crypto_box/libsodium_la-crypto_box.lo `test -f 'crypto_box/crypto_box.c' || echo '$(srcdir)/'`crypto_box/crypto_box.c
+
+crypto_box/curve25519xsalsa20poly1305/libsodium_la-box_curve25519xsalsa20poly1305_api.lo: crypto_box/curve25519xsalsa20poly1305/box_curve25519xsalsa20poly1305_api.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT crypto_box/curve25519xsalsa20poly1305/libsodium_la-box_curve25519xsalsa20poly1305_api.lo -MD -MP -MF crypto_box/curve25519xsalsa20poly1305/$(DEPDIR)/libsodium_la-box_curve25519xsalsa20poly1305_api.Tpo -c -o crypto_box/curve25519xsalsa20poly1305/libsodium_la-box_curve25519xsalsa20poly1305_api.lo `test -f 'crypto_box/curve25519xsalsa20poly1305/box_curve25519xsalsa20poly1305_api.c' || echo '$(srcdir)/'`crypto_box/curve25519xsalsa20poly1305/box_curve25519xsalsa20poly1305_api.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) crypto_box/curve25519xsalsa20poly1305/$(DEPDIR)/libsodium_la-box_curve25519xsalsa20poly1305_api.Tpo crypto_box/curve25519xsalsa20poly1305/$(DEPDIR)/libsodium_la-box_curve25519xsalsa20poly1305_api.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='crypto_box/curve25519xsalsa20poly1305/box_curve25519xsalsa20poly1305_api.c' object='crypto_box/curve25519xsalsa20poly1305/libsodium_la-box_curve25519xsalsa20poly1305_api.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o crypto_box/curve25519xsalsa20poly1305/libsodium_la-box_curve25519xsalsa20poly1305_api.lo `test -f 'crypto_box/curve25519xsalsa20poly1305/box_curve25519xsalsa20poly1305_api.c' || echo '$(srcdir)/'`crypto_box/curve25519xsalsa20poly1305/box_curve25519xsalsa20poly1305_api.c
+
+crypto_box/curve25519xsalsa20poly1305/ref/libsodium_la-after_curve25519xsalsa20poly1305.lo: crypto_box/curve25519xsalsa20poly1305/ref/after_curve25519xsalsa20poly1305.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT crypto_box/curve25519xsalsa20poly1305/ref/libsodium_la-after_curve25519xsalsa20poly1305.lo -MD -MP -MF crypto_box/curve25519xsalsa20poly1305/ref/$(DEPDIR)/libsodium_la-after_curve25519xsalsa20poly1305.Tpo -c -o crypto_box/curve25519xsalsa20poly1305/ref/libsodium_la-after_curve25519xsalsa20poly1305.lo `test -f 'crypto_box/curve25519xsalsa20poly1305/ref/after_curve25519xsalsa20poly1305.c' || echo '$(srcdir)/'`crypto_box/curve25519xsalsa20poly1305/ref/after_curve25519xsalsa20poly1305.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) crypto_box/curve25519xsalsa20poly1305/ref/$(DEPDIR)/libsodium_la-after_curve25519xsalsa20poly1305.Tpo crypto_box/curve25519xsalsa20poly1305/ref/$(DEPDIR)/libsodium_la-after_curve25519xsalsa20poly1305.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='crypto_box/curve25519xsalsa20poly1305/ref/after_curve25519xsalsa20poly1305.c' object='crypto_box/curve25519xsalsa20poly1305/ref/libsodium_la-after_curve25519xsalsa20poly1305.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o crypto_box/curve25519xsalsa20poly1305/ref/libsodium_la-after_curve25519xsalsa20poly1305.lo `test -f 'crypto_box/curve25519xsalsa20poly1305/ref/after_curve25519xsalsa20poly1305.c' || echo '$(srcdir)/'`crypto_box/curve25519xsalsa20poly1305/ref/after_curve25519xsalsa20poly1305.c
+
+crypto_box/curve25519xsalsa20poly1305/ref/libsodium_la-before_curve25519xsalsa20poly1305.lo: crypto_box/curve25519xsalsa20poly1305/ref/before_curve25519xsalsa20poly1305.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT crypto_box/curve25519xsalsa20poly1305/ref/libsodium_la-before_curve25519xsalsa20poly1305.lo -MD -MP -MF crypto_box/curve25519xsalsa20poly1305/ref/$(DEPDIR)/libsodium_la-before_curve25519xsalsa20poly1305.Tpo -c -o crypto_box/curve25519xsalsa20poly1305/ref/libsodium_la-before_curve25519xsalsa20poly1305.lo `test -f 'crypto_box/curve25519xsalsa20poly1305/ref/before_curve25519xsalsa20poly1305.c' || echo '$(srcdir)/'`crypto_box/curve25519xsalsa20poly1305/ref/before_curve25519xsalsa20poly1305.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) crypto_box/curve25519xsalsa20poly1305/ref/$(DEPDIR)/libsodium_la-before_curve25519xsalsa20poly1305.Tpo crypto_box/curve25519xsalsa20poly1305/ref/$(DEPDIR)/libsodium_la-before_curve25519xsalsa20poly1305.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='crypto_box/curve25519xsalsa20poly1305/ref/before_curve25519xsalsa20poly1305.c' object='crypto_box/curve25519xsalsa20poly1305/ref/libsodium_la-before_curve25519xsalsa20poly1305.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o crypto_box/curve25519xsalsa20poly1305/ref/libsodium_la-before_curve25519xsalsa20poly1305.lo `test -f 'crypto_box/curve25519xsalsa20poly1305/ref/before_curve25519xsalsa20poly1305.c' || echo '$(srcdir)/'`crypto_box/curve25519xsalsa20poly1305/ref/before_curve25519xsalsa20poly1305.c
+
+crypto_box/curve25519xsalsa20poly1305/ref/libsodium_la-box_curve25519xsalsa20poly1305.lo: crypto_box/curve25519xsalsa20poly1305/ref/box_curve25519xsalsa20poly1305.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT crypto_box/curve25519xsalsa20poly1305/ref/libsodium_la-box_curve25519xsalsa20poly1305.lo -MD -MP -MF crypto_box/curve25519xsalsa20poly1305/ref/$(DEPDIR)/libsodium_la-box_curve25519xsalsa20poly1305.Tpo -c -o crypto_box/curve25519xsalsa20poly1305/ref/libsodium_la-box_curve25519xsalsa20poly1305.lo `test -f 'crypto_box/curve25519xsalsa20poly1305/ref/box_curve25519xsalsa20poly1305.c' || echo '$(srcdir)/'`crypto_box/curve25519xsalsa20poly1305/ref/box_curve25519xsalsa20poly1305.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) crypto_box/curve25519xsalsa20poly1305/ref/$(DEPDIR)/libsodium_la-box_curve25519xsalsa20poly1305.Tpo crypto_box/curve25519xsalsa20poly1305/ref/$(DEPDIR)/libsodium_la-box_curve25519xsalsa20poly1305.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='crypto_box/curve25519xsalsa20poly1305/ref/box_curve25519xsalsa20poly1305.c' object='crypto_box/curve25519xsalsa20poly1305/ref/libsodium_la-box_curve25519xsalsa20poly1305.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o crypto_box/curve25519xsalsa20poly1305/ref/libsodium_la-box_curve25519xsalsa20poly1305.lo `test -f 'crypto_box/curve25519xsalsa20poly1305/ref/box_curve25519xsalsa20poly1305.c' || echo '$(srcdir)/'`crypto_box/curve25519xsalsa20poly1305/ref/box_curve25519xsalsa20poly1305.c
+
+crypto_box/curve25519xsalsa20poly1305/ref/libsodium_la-keypair_curve25519xsalsa20poly1305.lo: crypto_box/curve25519xsalsa20poly1305/ref/keypair_curve25519xsalsa20poly1305.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT crypto_box/curve25519xsalsa20poly1305/ref/libsodium_la-keypair_curve25519xsalsa20poly1305.lo -MD -MP -MF crypto_box/curve25519xsalsa20poly1305/ref/$(DEPDIR)/libsodium_la-keypair_curve25519xsalsa20poly1305.Tpo -c -o crypto_box/curve25519xsalsa20poly1305/ref/libsodium_la-keypair_curve25519xsalsa20poly1305.lo `test -f 'crypto_box/curve25519xsalsa20poly1305/ref/keypair_curve25519xsalsa20poly1305.c' || echo '$(srcdir)/'`crypto_box/curve25519xsalsa20poly1305/ref/keypair_curve25519xsalsa20poly1305.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) crypto_box/curve25519xsalsa20poly1305/ref/$(DEPDIR)/libsodium_la-keypair_curve25519xsalsa20poly1305.Tpo crypto_box/curve25519xsalsa20poly1305/ref/$(DEPDIR)/libsodium_la-keypair_curve25519xsalsa20poly1305.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='crypto_box/curve25519xsalsa20poly1305/ref/keypair_curve25519xsalsa20poly1305.c' object='crypto_box/curve25519xsalsa20poly1305/ref/libsodium_la-keypair_curve25519xsalsa20poly1305.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o crypto_box/curve25519xsalsa20poly1305/ref/libsodium_la-keypair_curve25519xsalsa20poly1305.lo `test -f 'crypto_box/curve25519xsalsa20poly1305/ref/keypair_curve25519xsalsa20poly1305.c' || echo '$(srcdir)/'`crypto_box/curve25519xsalsa20poly1305/ref/keypair_curve25519xsalsa20poly1305.c
+
+crypto_core/hsalsa20/ref2/libsodium_la-core_hsalsa20.lo: crypto_core/hsalsa20/ref2/core_hsalsa20.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT crypto_core/hsalsa20/ref2/libsodium_la-core_hsalsa20.lo -MD -MP -MF crypto_core/hsalsa20/ref2/$(DEPDIR)/libsodium_la-core_hsalsa20.Tpo -c -o crypto_core/hsalsa20/ref2/libsodium_la-core_hsalsa20.lo `test -f 'crypto_core/hsalsa20/ref2/core_hsalsa20.c' || echo '$(srcdir)/'`crypto_core/hsalsa20/ref2/core_hsalsa20.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) crypto_core/hsalsa20/ref2/$(DEPDIR)/libsodium_la-core_hsalsa20.Tpo crypto_core/hsalsa20/ref2/$(DEPDIR)/libsodium_la-core_hsalsa20.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='crypto_core/hsalsa20/ref2/core_hsalsa20.c' object='crypto_core/hsalsa20/ref2/libsodium_la-core_hsalsa20.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o crypto_core/hsalsa20/ref2/libsodium_la-core_hsalsa20.lo `test -f 'crypto_core/hsalsa20/ref2/core_hsalsa20.c' || echo '$(srcdir)/'`crypto_core/hsalsa20/ref2/core_hsalsa20.c
+
+crypto_core/hsalsa20/libsodium_la-core_hsalsa20_api.lo: crypto_core/hsalsa20/core_hsalsa20_api.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT crypto_core/hsalsa20/libsodium_la-core_hsalsa20_api.lo -MD -MP -MF crypto_core/hsalsa20/$(DEPDIR)/libsodium_la-core_hsalsa20_api.Tpo -c -o crypto_core/hsalsa20/libsodium_la-core_hsalsa20_api.lo `test -f 'crypto_core/hsalsa20/core_hsalsa20_api.c' || echo '$(srcdir)/'`crypto_core/hsalsa20/core_hsalsa20_api.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) crypto_core/hsalsa20/$(DEPDIR)/libsodium_la-core_hsalsa20_api.Tpo crypto_core/hsalsa20/$(DEPDIR)/libsodium_la-core_hsalsa20_api.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='crypto_core/hsalsa20/core_hsalsa20_api.c' object='crypto_core/hsalsa20/libsodium_la-core_hsalsa20_api.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o crypto_core/hsalsa20/libsodium_la-core_hsalsa20_api.lo `test -f 'crypto_core/hsalsa20/core_hsalsa20_api.c' || echo '$(srcdir)/'`crypto_core/hsalsa20/core_hsalsa20_api.c
+
+crypto_core/salsa20/ref/libsodium_la-core_salsa20.lo: crypto_core/salsa20/ref/core_salsa20.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT crypto_core/salsa20/ref/libsodium_la-core_salsa20.lo -MD -MP -MF crypto_core/salsa20/ref/$(DEPDIR)/libsodium_la-core_salsa20.Tpo -c -o crypto_core/salsa20/ref/libsodium_la-core_salsa20.lo `test -f 'crypto_core/salsa20/ref/core_salsa20.c' || echo '$(srcdir)/'`crypto_core/salsa20/ref/core_salsa20.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) crypto_core/salsa20/ref/$(DEPDIR)/libsodium_la-core_salsa20.Tpo crypto_core/salsa20/ref/$(DEPDIR)/libsodium_la-core_salsa20.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='crypto_core/salsa20/ref/core_salsa20.c' object='crypto_core/salsa20/ref/libsodium_la-core_salsa20.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o crypto_core/salsa20/ref/libsodium_la-core_salsa20.lo `test -f 'crypto_core/salsa20/ref/core_salsa20.c' || echo '$(srcdir)/'`crypto_core/salsa20/ref/core_salsa20.c
+
+crypto_core/salsa20/libsodium_la-core_salsa20_api.lo: crypto_core/salsa20/core_salsa20_api.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT crypto_core/salsa20/libsodium_la-core_salsa20_api.lo -MD -MP -MF crypto_core/salsa20/$(DEPDIR)/libsodium_la-core_salsa20_api.Tpo -c -o crypto_core/salsa20/libsodium_la-core_salsa20_api.lo `test -f 'crypto_core/salsa20/core_salsa20_api.c' || echo '$(srcdir)/'`crypto_core/salsa20/core_salsa20_api.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) crypto_core/salsa20/$(DEPDIR)/libsodium_la-core_salsa20_api.Tpo crypto_core/salsa20/$(DEPDIR)/libsodium_la-core_salsa20_api.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='crypto_core/salsa20/core_salsa20_api.c' object='crypto_core/salsa20/libsodium_la-core_salsa20_api.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o crypto_core/salsa20/libsodium_la-core_salsa20_api.lo `test -f 'crypto_core/salsa20/core_salsa20_api.c' || echo '$(srcdir)/'`crypto_core/salsa20/core_salsa20_api.c
+
+crypto_core/salsa2012/ref/libsodium_la-core_salsa2012.lo: crypto_core/salsa2012/ref/core_salsa2012.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT crypto_core/salsa2012/ref/libsodium_la-core_salsa2012.lo -MD -MP -MF crypto_core/salsa2012/ref/$(DEPDIR)/libsodium_la-core_salsa2012.Tpo -c -o crypto_core/salsa2012/ref/libsodium_la-core_salsa2012.lo `test -f 'crypto_core/salsa2012/ref/core_salsa2012.c' || echo '$(srcdir)/'`crypto_core/salsa2012/ref/core_salsa2012.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) crypto_core/salsa2012/ref/$(DEPDIR)/libsodium_la-core_salsa2012.Tpo crypto_core/salsa2012/ref/$(DEPDIR)/libsodium_la-core_salsa2012.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='crypto_core/salsa2012/ref/core_salsa2012.c' object='crypto_core/salsa2012/ref/libsodium_la-core_salsa2012.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o crypto_core/salsa2012/ref/libsodium_la-core_salsa2012.lo `test -f 'crypto_core/salsa2012/ref/core_salsa2012.c' || echo '$(srcdir)/'`crypto_core/salsa2012/ref/core_salsa2012.c
+
+crypto_core/salsa2012/libsodium_la-core_salsa2012_api.lo: crypto_core/salsa2012/core_salsa2012_api.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT crypto_core/salsa2012/libsodium_la-core_salsa2012_api.lo -MD -MP -MF crypto_core/salsa2012/$(DEPDIR)/libsodium_la-core_salsa2012_api.Tpo -c -o crypto_core/salsa2012/libsodium_la-core_salsa2012_api.lo `test -f 'crypto_core/salsa2012/core_salsa2012_api.c' || echo '$(srcdir)/'`crypto_core/salsa2012/core_salsa2012_api.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) crypto_core/salsa2012/$(DEPDIR)/libsodium_la-core_salsa2012_api.Tpo crypto_core/salsa2012/$(DEPDIR)/libsodium_la-core_salsa2012_api.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='crypto_core/salsa2012/core_salsa2012_api.c' object='crypto_core/salsa2012/libsodium_la-core_salsa2012_api.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o crypto_core/salsa2012/libsodium_la-core_salsa2012_api.lo `test -f 'crypto_core/salsa2012/core_salsa2012_api.c' || echo '$(srcdir)/'`crypto_core/salsa2012/core_salsa2012_api.c
+
+crypto_core/salsa208/ref/libsodium_la-core_salsa208.lo: crypto_core/salsa208/ref/core_salsa208.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT crypto_core/salsa208/ref/libsodium_la-core_salsa208.lo -MD -MP -MF crypto_core/salsa208/ref/$(DEPDIR)/libsodium_la-core_salsa208.Tpo -c -o crypto_core/salsa208/ref/libsodium_la-core_salsa208.lo `test -f 'crypto_core/salsa208/ref/core_salsa208.c' || echo '$(srcdir)/'`crypto_core/salsa208/ref/core_salsa208.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) crypto_core/salsa208/ref/$(DEPDIR)/libsodium_la-core_salsa208.Tpo crypto_core/salsa208/ref/$(DEPDIR)/libsodium_la-core_salsa208.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='crypto_core/salsa208/ref/core_salsa208.c' object='crypto_core/salsa208/ref/libsodium_la-core_salsa208.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o crypto_core/salsa208/ref/libsodium_la-core_salsa208.lo `test -f 'crypto_core/salsa208/ref/core_salsa208.c' || echo '$(srcdir)/'`crypto_core/salsa208/ref/core_salsa208.c
+
+crypto_core/salsa208/libsodium_la-core_salsa208_api.lo: crypto_core/salsa208/core_salsa208_api.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT crypto_core/salsa208/libsodium_la-core_salsa208_api.lo -MD -MP -MF crypto_core/salsa208/$(DEPDIR)/libsodium_la-core_salsa208_api.Tpo -c -o crypto_core/salsa208/libsodium_la-core_salsa208_api.lo `test -f 'crypto_core/salsa208/core_salsa208_api.c' || echo '$(srcdir)/'`crypto_core/salsa208/core_salsa208_api.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) crypto_core/salsa208/$(DEPDIR)/libsodium_la-core_salsa208_api.Tpo crypto_core/salsa208/$(DEPDIR)/libsodium_la-core_salsa208_api.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='crypto_core/salsa208/core_salsa208_api.c' object='crypto_core/salsa208/libsodium_la-core_salsa208_api.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o crypto_core/salsa208/libsodium_la-core_salsa208_api.lo `test -f 'crypto_core/salsa208/core_salsa208_api.c' || echo '$(srcdir)/'`crypto_core/salsa208/core_salsa208_api.c
+
+crypto_generichash/libsodium_la-crypto_generichash.lo: crypto_generichash/crypto_generichash.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT crypto_generichash/libsodium_la-crypto_generichash.lo -MD -MP -MF crypto_generichash/$(DEPDIR)/libsodium_la-crypto_generichash.Tpo -c -o crypto_generichash/libsodium_la-crypto_generichash.lo `test -f 'crypto_generichash/crypto_generichash.c' || echo '$(srcdir)/'`crypto_generichash/crypto_generichash.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) crypto_generichash/$(DEPDIR)/libsodium_la-crypto_generichash.Tpo crypto_generichash/$(DEPDIR)/libsodium_la-crypto_generichash.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='crypto_generichash/crypto_generichash.c' object='crypto_generichash/libsodium_la-crypto_generichash.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o crypto_generichash/libsodium_la-crypto_generichash.lo `test -f 'crypto_generichash/crypto_generichash.c' || echo '$(srcdir)/'`crypto_generichash/crypto_generichash.c
+
+crypto_generichash/blake2/libsodium_la-generichash_blake2_api.lo: crypto_generichash/blake2/generichash_blake2_api.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT crypto_generichash/blake2/libsodium_la-generichash_blake2_api.lo -MD -MP -MF crypto_generichash/blake2/$(DEPDIR)/libsodium_la-generichash_blake2_api.Tpo -c -o crypto_generichash/blake2/libsodium_la-generichash_blake2_api.lo `test -f 'crypto_generichash/blake2/generichash_blake2_api.c' || echo '$(srcdir)/'`crypto_generichash/blake2/generichash_blake2_api.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) crypto_generichash/blake2/$(DEPDIR)/libsodium_la-generichash_blake2_api.Tpo crypto_generichash/blake2/$(DEPDIR)/libsodium_la-generichash_blake2_api.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='crypto_generichash/blake2/generichash_blake2_api.c' object='crypto_generichash/blake2/libsodium_la-generichash_blake2_api.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o crypto_generichash/blake2/libsodium_la-generichash_blake2_api.lo `test -f 'crypto_generichash/blake2/generichash_blake2_api.c' || echo '$(srcdir)/'`crypto_generichash/blake2/generichash_blake2_api.c
+
+crypto_generichash/blake2/ref/libsodium_la-blake2b-ref.lo: crypto_generichash/blake2/ref/blake2b-ref.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT crypto_generichash/blake2/ref/libsodium_la-blake2b-ref.lo -MD -MP -MF crypto_generichash/blake2/ref/$(DEPDIR)/libsodium_la-blake2b-ref.Tpo -c -o crypto_generichash/blake2/ref/libsodium_la-blake2b-ref.lo `test -f 'crypto_generichash/blake2/ref/blake2b-ref.c' || echo '$(srcdir)/'`crypto_generichash/blake2/ref/blake2b-ref.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) crypto_generichash/blake2/ref/$(DEPDIR)/libsodium_la-blake2b-ref.Tpo crypto_generichash/blake2/ref/$(DEPDIR)/libsodium_la-blake2b-ref.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='crypto_generichash/blake2/ref/blake2b-ref.c' object='crypto_generichash/blake2/ref/libsodium_la-blake2b-ref.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o crypto_generichash/blake2/ref/libsodium_la-blake2b-ref.lo `test -f 'crypto_generichash/blake2/ref/blake2b-ref.c' || echo '$(srcdir)/'`crypto_generichash/blake2/ref/blake2b-ref.c
+
+crypto_generichash/blake2/ref/libsodium_la-generichash_blake2b.lo: crypto_generichash/blake2/ref/generichash_blake2b.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT crypto_generichash/blake2/ref/libsodium_la-generichash_blake2b.lo -MD -MP -MF crypto_generichash/blake2/ref/$(DEPDIR)/libsodium_la-generichash_blake2b.Tpo -c -o crypto_generichash/blake2/ref/libsodium_la-generichash_blake2b.lo `test -f 'crypto_generichash/blake2/ref/generichash_blake2b.c' || echo '$(srcdir)/'`crypto_generichash/blake2/ref/generichash_blake2b.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) crypto_generichash/blake2/ref/$(DEPDIR)/libsodium_la-generichash_blake2b.Tpo crypto_generichash/blake2/ref/$(DEPDIR)/libsodium_la-generichash_blake2b.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='crypto_generichash/blake2/ref/generichash_blake2b.c' object='crypto_generichash/blake2/ref/libsodium_la-generichash_blake2b.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o crypto_generichash/blake2/ref/libsodium_la-generichash_blake2b.lo `test -f 'crypto_generichash/blake2/ref/generichash_blake2b.c' || echo '$(srcdir)/'`crypto_generichash/blake2/ref/generichash_blake2b.c
+
+crypto_hash/libsodium_la-crypto_hash.lo: crypto_hash/crypto_hash.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT crypto_hash/libsodium_la-crypto_hash.lo -MD -MP -MF crypto_hash/$(DEPDIR)/libsodium_la-crypto_hash.Tpo -c -o crypto_hash/libsodium_la-crypto_hash.lo `test -f 'crypto_hash/crypto_hash.c' || echo '$(srcdir)/'`crypto_hash/crypto_hash.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) crypto_hash/$(DEPDIR)/libsodium_la-crypto_hash.Tpo crypto_hash/$(DEPDIR)/libsodium_la-crypto_hash.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='crypto_hash/crypto_hash.c' object='crypto_hash/libsodium_la-crypto_hash.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o crypto_hash/libsodium_la-crypto_hash.lo `test -f 'crypto_hash/crypto_hash.c' || echo '$(srcdir)/'`crypto_hash/crypto_hash.c
+
+crypto_hash/sha256/libsodium_la-hash_sha256_api.lo: crypto_hash/sha256/hash_sha256_api.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT crypto_hash/sha256/libsodium_la-hash_sha256_api.lo -MD -MP -MF crypto_hash/sha256/$(DEPDIR)/libsodium_la-hash_sha256_api.Tpo -c -o crypto_hash/sha256/libsodium_la-hash_sha256_api.lo `test -f 'crypto_hash/sha256/hash_sha256_api.c' || echo '$(srcdir)/'`crypto_hash/sha256/hash_sha256_api.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) crypto_hash/sha256/$(DEPDIR)/libsodium_la-hash_sha256_api.Tpo crypto_hash/sha256/$(DEPDIR)/libsodium_la-hash_sha256_api.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='crypto_hash/sha256/hash_sha256_api.c' object='crypto_hash/sha256/libsodium_la-hash_sha256_api.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o crypto_hash/sha256/libsodium_la-hash_sha256_api.lo `test -f 'crypto_hash/sha256/hash_sha256_api.c' || echo '$(srcdir)/'`crypto_hash/sha256/hash_sha256_api.c
+
+crypto_hash/sha256/ref/libsodium_la-hash_sha256.lo: crypto_hash/sha256/ref/hash_sha256.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT crypto_hash/sha256/ref/libsodium_la-hash_sha256.lo -MD -MP -MF crypto_hash/sha256/ref/$(DEPDIR)/libsodium_la-hash_sha256.Tpo -c -o crypto_hash/sha256/ref/libsodium_la-hash_sha256.lo `test -f 'crypto_hash/sha256/ref/hash_sha256.c' || echo '$(srcdir)/'`crypto_hash/sha256/ref/hash_sha256.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) crypto_hash/sha256/ref/$(DEPDIR)/libsodium_la-hash_sha256.Tpo crypto_hash/sha256/ref/$(DEPDIR)/libsodium_la-hash_sha256.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='crypto_hash/sha256/ref/hash_sha256.c' object='crypto_hash/sha256/ref/libsodium_la-hash_sha256.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o crypto_hash/sha256/ref/libsodium_la-hash_sha256.lo `test -f 'crypto_hash/sha256/ref/hash_sha256.c' || echo '$(srcdir)/'`crypto_hash/sha256/ref/hash_sha256.c
+
+crypto_hash/sha512/libsodium_la-hash_sha512_api.lo: crypto_hash/sha512/hash_sha512_api.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT crypto_hash/sha512/libsodium_la-hash_sha512_api.lo -MD -MP -MF crypto_hash/sha512/$(DEPDIR)/libsodium_la-hash_sha512_api.Tpo -c -o crypto_hash/sha512/libsodium_la-hash_sha512_api.lo `test -f 'crypto_hash/sha512/hash_sha512_api.c' || echo '$(srcdir)/'`crypto_hash/sha512/hash_sha512_api.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) crypto_hash/sha512/$(DEPDIR)/libsodium_la-hash_sha512_api.Tpo crypto_hash/sha512/$(DEPDIR)/libsodium_la-hash_sha512_api.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='crypto_hash/sha512/hash_sha512_api.c' object='crypto_hash/sha512/libsodium_la-hash_sha512_api.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o crypto_hash/sha512/libsodium_la-hash_sha512_api.lo `test -f 'crypto_hash/sha512/hash_sha512_api.c' || echo '$(srcdir)/'`crypto_hash/sha512/hash_sha512_api.c
+
+crypto_hash/sha512/ref/libsodium_la-hash_sha512.lo: crypto_hash/sha512/ref/hash_sha512.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT crypto_hash/sha512/ref/libsodium_la-hash_sha512.lo -MD -MP -MF crypto_hash/sha512/ref/$(DEPDIR)/libsodium_la-hash_sha512.Tpo -c -o crypto_hash/sha512/ref/libsodium_la-hash_sha512.lo `test -f 'crypto_hash/sha512/ref/hash_sha512.c' || echo '$(srcdir)/'`crypto_hash/sha512/ref/hash_sha512.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) crypto_hash/sha512/ref/$(DEPDIR)/libsodium_la-hash_sha512.Tpo crypto_hash/sha512/ref/$(DEPDIR)/libsodium_la-hash_sha512.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='crypto_hash/sha512/ref/hash_sha512.c' object='crypto_hash/sha512/ref/libsodium_la-hash_sha512.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o crypto_hash/sha512/ref/libsodium_la-hash_sha512.lo `test -f 'crypto_hash/sha512/ref/hash_sha512.c' || echo '$(srcdir)/'`crypto_hash/sha512/ref/hash_sha512.c
+
+crypto_hashblocks/sha256/ref/libsodium_la-blocks_sha256.lo: crypto_hashblocks/sha256/ref/blocks_sha256.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT crypto_hashblocks/sha256/ref/libsodium_la-blocks_sha256.lo -MD -MP -MF crypto_hashblocks/sha256/ref/$(DEPDIR)/libsodium_la-blocks_sha256.Tpo -c -o crypto_hashblocks/sha256/ref/libsodium_la-blocks_sha256.lo `test -f 'crypto_hashblocks/sha256/ref/blocks_sha256.c' || echo '$(srcdir)/'`crypto_hashblocks/sha256/ref/blocks_sha256.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) crypto_hashblocks/sha256/ref/$(DEPDIR)/libsodium_la-blocks_sha256.Tpo crypto_hashblocks/sha256/ref/$(DEPDIR)/libsodium_la-blocks_sha256.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='crypto_hashblocks/sha256/ref/blocks_sha256.c' object='crypto_hashblocks/sha256/ref/libsodium_la-blocks_sha256.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o crypto_hashblocks/sha256/ref/libsodium_la-blocks_sha256.lo `test -f 'crypto_hashblocks/sha256/ref/blocks_sha256.c' || echo '$(srcdir)/'`crypto_hashblocks/sha256/ref/blocks_sha256.c
+
+crypto_hashblocks/sha256/libsodium_la-hashblocks_sha256_api.lo: crypto_hashblocks/sha256/hashblocks_sha256_api.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT crypto_hashblocks/sha256/libsodium_la-hashblocks_sha256_api.lo -MD -MP -MF crypto_hashblocks/sha256/$(DEPDIR)/libsodium_la-hashblocks_sha256_api.Tpo -c -o crypto_hashblocks/sha256/libsodium_la-hashblocks_sha256_api.lo `test -f 'crypto_hashblocks/sha256/hashblocks_sha256_api.c' || echo '$(srcdir)/'`crypto_hashblocks/sha256/hashblocks_sha256_api.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) crypto_hashblocks/sha256/$(DEPDIR)/libsodium_la-hashblocks_sha256_api.Tpo crypto_hashblocks/sha256/$(DEPDIR)/libsodium_la-hashblocks_sha256_api.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='crypto_hashblocks/sha256/hashblocks_sha256_api.c' object='crypto_hashblocks/sha256/libsodium_la-hashblocks_sha256_api.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o crypto_hashblocks/sha256/libsodium_la-hashblocks_sha256_api.lo `test -f 'crypto_hashblocks/sha256/hashblocks_sha256_api.c' || echo '$(srcdir)/'`crypto_hashblocks/sha256/hashblocks_sha256_api.c
+
+crypto_hashblocks/sha512/ref/libsodium_la-blocks_sha512.lo: crypto_hashblocks/sha512/ref/blocks_sha512.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT crypto_hashblocks/sha512/ref/libsodium_la-blocks_sha512.lo -MD -MP -MF crypto_hashblocks/sha512/ref/$(DEPDIR)/libsodium_la-blocks_sha512.Tpo -c -o crypto_hashblocks/sha512/ref/libsodium_la-blocks_sha512.lo `test -f 'crypto_hashblocks/sha512/ref/blocks_sha512.c' || echo '$(srcdir)/'`crypto_hashblocks/sha512/ref/blocks_sha512.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) crypto_hashblocks/sha512/ref/$(DEPDIR)/libsodium_la-blocks_sha512.Tpo crypto_hashblocks/sha512/ref/$(DEPDIR)/libsodium_la-blocks_sha512.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='crypto_hashblocks/sha512/ref/blocks_sha512.c' object='crypto_hashblocks/sha512/ref/libsodium_la-blocks_sha512.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o crypto_hashblocks/sha512/ref/libsodium_la-blocks_sha512.lo `test -f 'crypto_hashblocks/sha512/ref/blocks_sha512.c' || echo '$(srcdir)/'`crypto_hashblocks/sha512/ref/blocks_sha512.c
+
+crypto_hashblocks/sha512/libsodium_la-hashblocks_sha512_api.lo: crypto_hashblocks/sha512/hashblocks_sha512_api.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT crypto_hashblocks/sha512/libsodium_la-hashblocks_sha512_api.lo -MD -MP -MF crypto_hashblocks/sha512/$(DEPDIR)/libsodium_la-hashblocks_sha512_api.Tpo -c -o crypto_hashblocks/sha512/libsodium_la-hashblocks_sha512_api.lo `test -f 'crypto_hashblocks/sha512/hashblocks_sha512_api.c' || echo '$(srcdir)/'`crypto_hashblocks/sha512/hashblocks_sha512_api.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) crypto_hashblocks/sha512/$(DEPDIR)/libsodium_la-hashblocks_sha512_api.Tpo crypto_hashblocks/sha512/$(DEPDIR)/libsodium_la-hashblocks_sha512_api.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='crypto_hashblocks/sha512/hashblocks_sha512_api.c' object='crypto_hashblocks/sha512/libsodium_la-hashblocks_sha512_api.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o crypto_hashblocks/sha512/libsodium_la-hashblocks_sha512_api.lo `test -f 'crypto_hashblocks/sha512/hashblocks_sha512_api.c' || echo '$(srcdir)/'`crypto_hashblocks/sha512/hashblocks_sha512_api.c
+
+crypto_onetimeauth/libsodium_la-crypto_onetimeauth.lo: crypto_onetimeauth/crypto_onetimeauth.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT crypto_onetimeauth/libsodium_la-crypto_onetimeauth.lo -MD -MP -MF crypto_onetimeauth/$(DEPDIR)/libsodium_la-crypto_onetimeauth.Tpo -c -o crypto_onetimeauth/libsodium_la-crypto_onetimeauth.lo `test -f 'crypto_onetimeauth/crypto_onetimeauth.c' || echo '$(srcdir)/'`crypto_onetimeauth/crypto_onetimeauth.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) crypto_onetimeauth/$(DEPDIR)/libsodium_la-crypto_onetimeauth.Tpo crypto_onetimeauth/$(DEPDIR)/libsodium_la-crypto_onetimeauth.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='crypto_onetimeauth/crypto_onetimeauth.c' object='crypto_onetimeauth/libsodium_la-crypto_onetimeauth.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o crypto_onetimeauth/libsodium_la-crypto_onetimeauth.lo `test -f 'crypto_onetimeauth/crypto_onetimeauth.c' || echo '$(srcdir)/'`crypto_onetimeauth/crypto_onetimeauth.c
+
+crypto_onetimeauth/poly1305/libsodium_la-onetimeauth_poly1305.lo: crypto_onetimeauth/poly1305/onetimeauth_poly1305.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT crypto_onetimeauth/poly1305/libsodium_la-onetimeauth_poly1305.lo -MD -MP -MF crypto_onetimeauth/poly1305/$(DEPDIR)/libsodium_la-onetimeauth_poly1305.Tpo -c -o crypto_onetimeauth/poly1305/libsodium_la-onetimeauth_poly1305.lo `test -f 'crypto_onetimeauth/poly1305/onetimeauth_poly1305.c' || echo '$(srcdir)/'`crypto_onetimeauth/poly1305/onetimeauth_poly1305.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) crypto_onetimeauth/poly1305/$(DEPDIR)/libsodium_la-onetimeauth_poly1305.Tpo crypto_onetimeauth/poly1305/$(DEPDIR)/libsodium_la-onetimeauth_poly1305.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='crypto_onetimeauth/poly1305/onetimeauth_poly1305.c' object='crypto_onetimeauth/poly1305/libsodium_la-onetimeauth_poly1305.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o crypto_onetimeauth/poly1305/libsodium_la-onetimeauth_poly1305.lo `test -f 'crypto_onetimeauth/poly1305/onetimeauth_poly1305.c' || echo '$(srcdir)/'`crypto_onetimeauth/poly1305/onetimeauth_poly1305.c
+
+crypto_onetimeauth/poly1305/libsodium_la-onetimeauth_poly1305_api.lo: crypto_onetimeauth/poly1305/onetimeauth_poly1305_api.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT crypto_onetimeauth/poly1305/libsodium_la-onetimeauth_poly1305_api.lo -MD -MP -MF crypto_onetimeauth/poly1305/$(DEPDIR)/libsodium_la-onetimeauth_poly1305_api.Tpo -c -o crypto_onetimeauth/poly1305/libsodium_la-onetimeauth_poly1305_api.lo `test -f 'crypto_onetimeauth/poly1305/onetimeauth_poly1305_api.c' || echo '$(srcdir)/'`crypto_onetimeauth/poly1305/onetimeauth_poly1305_api.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) crypto_onetimeauth/poly1305/$(DEPDIR)/libsodium_la-onetimeauth_poly1305_api.Tpo crypto_onetimeauth/poly1305/$(DEPDIR)/libsodium_la-onetimeauth_poly1305_api.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='crypto_onetimeauth/poly1305/onetimeauth_poly1305_api.c' object='crypto_onetimeauth/poly1305/libsodium_la-onetimeauth_poly1305_api.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o crypto_onetimeauth/poly1305/libsodium_la-onetimeauth_poly1305_api.lo `test -f 'crypto_onetimeauth/poly1305/onetimeauth_poly1305_api.c' || echo '$(srcdir)/'`crypto_onetimeauth/poly1305/onetimeauth_poly1305_api.c
+
+crypto_onetimeauth/poly1305/libsodium_la-onetimeauth_poly1305_try.lo: crypto_onetimeauth/poly1305/onetimeauth_poly1305_try.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT crypto_onetimeauth/poly1305/libsodium_la-onetimeauth_poly1305_try.lo -MD -MP -MF crypto_onetimeauth/poly1305/$(DEPDIR)/libsodium_la-onetimeauth_poly1305_try.Tpo -c -o crypto_onetimeauth/poly1305/libsodium_la-onetimeauth_poly1305_try.lo `test -f 'crypto_onetimeauth/poly1305/onetimeauth_poly1305_try.c' || echo '$(srcdir)/'`crypto_onetimeauth/poly1305/onetimeauth_poly1305_try.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) crypto_onetimeauth/poly1305/$(DEPDIR)/libsodium_la-onetimeauth_poly1305_try.Tpo crypto_onetimeauth/poly1305/$(DEPDIR)/libsodium_la-onetimeauth_poly1305_try.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='crypto_onetimeauth/poly1305/onetimeauth_poly1305_try.c' object='crypto_onetimeauth/poly1305/libsodium_la-onetimeauth_poly1305_try.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o crypto_onetimeauth/poly1305/libsodium_la-onetimeauth_poly1305_try.lo `test -f 'crypto_onetimeauth/poly1305/onetimeauth_poly1305_try.c' || echo '$(srcdir)/'`crypto_onetimeauth/poly1305/onetimeauth_poly1305_try.c
+
+crypto_onetimeauth/poly1305/53/libsodium_la-auth_poly1305_53.lo: crypto_onetimeauth/poly1305/53/auth_poly1305_53.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT crypto_onetimeauth/poly1305/53/libsodium_la-auth_poly1305_53.lo -MD -MP -MF crypto_onetimeauth/poly1305/53/$(DEPDIR)/libsodium_la-auth_poly1305_53.Tpo -c -o crypto_onetimeauth/poly1305/53/libsodium_la-auth_poly1305_53.lo `test -f 'crypto_onetimeauth/poly1305/53/auth_poly1305_53.c' || echo '$(srcdir)/'`crypto_onetimeauth/poly1305/53/auth_poly1305_53.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) crypto_onetimeauth/poly1305/53/$(DEPDIR)/libsodium_la-auth_poly1305_53.Tpo crypto_onetimeauth/poly1305/53/$(DEPDIR)/libsodium_la-auth_poly1305_53.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='crypto_onetimeauth/poly1305/53/auth_poly1305_53.c' object='crypto_onetimeauth/poly1305/53/libsodium_la-auth_poly1305_53.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o crypto_onetimeauth/poly1305/53/libsodium_la-auth_poly1305_53.lo `test -f 'crypto_onetimeauth/poly1305/53/auth_poly1305_53.c' || echo '$(srcdir)/'`crypto_onetimeauth/poly1305/53/auth_poly1305_53.c
+
+crypto_onetimeauth/poly1305/53/libsodium_la-verify_poly1305_53.lo: crypto_onetimeauth/poly1305/53/verify_poly1305_53.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT crypto_onetimeauth/poly1305/53/libsodium_la-verify_poly1305_53.lo -MD -MP -MF crypto_onetimeauth/poly1305/53/$(DEPDIR)/libsodium_la-verify_poly1305_53.Tpo -c -o crypto_onetimeauth/poly1305/53/libsodium_la-verify_poly1305_53.lo `test -f 'crypto_onetimeauth/poly1305/53/verify_poly1305_53.c' || echo '$(srcdir)/'`crypto_onetimeauth/poly1305/53/verify_poly1305_53.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) crypto_onetimeauth/poly1305/53/$(DEPDIR)/libsodium_la-verify_poly1305_53.Tpo crypto_onetimeauth/poly1305/53/$(DEPDIR)/libsodium_la-verify_poly1305_53.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='crypto_onetimeauth/poly1305/53/verify_poly1305_53.c' object='crypto_onetimeauth/poly1305/53/libsodium_la-verify_poly1305_53.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o crypto_onetimeauth/poly1305/53/libsodium_la-verify_poly1305_53.lo `test -f 'crypto_onetimeauth/poly1305/53/verify_poly1305_53.c' || echo '$(srcdir)/'`crypto_onetimeauth/poly1305/53/verify_poly1305_53.c
+
+crypto_onetimeauth/poly1305/donna/libsodium_la-auth_poly1305_donna.lo: crypto_onetimeauth/poly1305/donna/auth_poly1305_donna.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT crypto_onetimeauth/poly1305/donna/libsodium_la-auth_poly1305_donna.lo -MD -MP -MF crypto_onetimeauth/poly1305/donna/$(DEPDIR)/libsodium_la-auth_poly1305_donna.Tpo -c -o crypto_onetimeauth/poly1305/donna/libsodium_la-auth_poly1305_donna.lo `test -f 'crypto_onetimeauth/poly1305/donna/auth_poly1305_donna.c' || echo '$(srcdir)/'`crypto_onetimeauth/poly1305/donna/auth_poly1305_donna.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) crypto_onetimeauth/poly1305/donna/$(DEPDIR)/libsodium_la-auth_poly1305_donna.Tpo crypto_onetimeauth/poly1305/donna/$(DEPDIR)/libsodium_la-auth_poly1305_donna.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='crypto_onetimeauth/poly1305/donna/auth_poly1305_donna.c' object='crypto_onetimeauth/poly1305/donna/libsodium_la-auth_poly1305_donna.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o crypto_onetimeauth/poly1305/donna/libsodium_la-auth_poly1305_donna.lo `test -f 'crypto_onetimeauth/poly1305/donna/auth_poly1305_donna.c' || echo '$(srcdir)/'`crypto_onetimeauth/poly1305/donna/auth_poly1305_donna.c
+
+crypto_onetimeauth/poly1305/donna/libsodium_la-verify_poly1305_donna.lo: crypto_onetimeauth/poly1305/donna/verify_poly1305_donna.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT crypto_onetimeauth/poly1305/donna/libsodium_la-verify_poly1305_donna.lo -MD -MP -MF crypto_onetimeauth/poly1305/donna/$(DEPDIR)/libsodium_la-verify_poly1305_donna.Tpo -c -o crypto_onetimeauth/poly1305/donna/libsodium_la-verify_poly1305_donna.lo `test -f 'crypto_onetimeauth/poly1305/donna/verify_poly1305_donna.c' || echo '$(srcdir)/'`crypto_onetimeauth/poly1305/donna/verify_poly1305_donna.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) crypto_onetimeauth/poly1305/donna/$(DEPDIR)/libsodium_la-verify_poly1305_donna.Tpo crypto_onetimeauth/poly1305/donna/$(DEPDIR)/libsodium_la-verify_poly1305_donna.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='crypto_onetimeauth/poly1305/donna/verify_poly1305_donna.c' object='crypto_onetimeauth/poly1305/donna/libsodium_la-verify_poly1305_donna.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o crypto_onetimeauth/poly1305/donna/libsodium_la-verify_poly1305_donna.lo `test -f 'crypto_onetimeauth/poly1305/donna/verify_poly1305_donna.c' || echo '$(srcdir)/'`crypto_onetimeauth/poly1305/donna/verify_poly1305_donna.c
+
+crypto_scalarmult/libsodium_la-crypto_scalarmult.lo: crypto_scalarmult/crypto_scalarmult.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT crypto_scalarmult/libsodium_la-crypto_scalarmult.lo -MD -MP -MF crypto_scalarmult/$(DEPDIR)/libsodium_la-crypto_scalarmult.Tpo -c -o crypto_scalarmult/libsodium_la-crypto_scalarmult.lo `test -f 'crypto_scalarmult/crypto_scalarmult.c' || echo '$(srcdir)/'`crypto_scalarmult/crypto_scalarmult.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) crypto_scalarmult/$(DEPDIR)/libsodium_la-crypto_scalarmult.Tpo crypto_scalarmult/$(DEPDIR)/libsodium_la-crypto_scalarmult.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='crypto_scalarmult/crypto_scalarmult.c' object='crypto_scalarmult/libsodium_la-crypto_scalarmult.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o crypto_scalarmult/libsodium_la-crypto_scalarmult.lo `test -f 'crypto_scalarmult/crypto_scalarmult.c' || echo '$(srcdir)/'`crypto_scalarmult/crypto_scalarmult.c
+
+crypto_secretbox/libsodium_la-crypto_secretbox.lo: crypto_secretbox/crypto_secretbox.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT crypto_secretbox/libsodium_la-crypto_secretbox.lo -MD -MP -MF crypto_secretbox/$(DEPDIR)/libsodium_la-crypto_secretbox.Tpo -c -o crypto_secretbox/libsodium_la-crypto_secretbox.lo `test -f 'crypto_secretbox/crypto_secretbox.c' || echo '$(srcdir)/'`crypto_secretbox/crypto_secretbox.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) crypto_secretbox/$(DEPDIR)/libsodium_la-crypto_secretbox.Tpo crypto_secretbox/$(DEPDIR)/libsodium_la-crypto_secretbox.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='crypto_secretbox/crypto_secretbox.c' object='crypto_secretbox/libsodium_la-crypto_secretbox.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o crypto_secretbox/libsodium_la-crypto_secretbox.lo `test -f 'crypto_secretbox/crypto_secretbox.c' || echo '$(srcdir)/'`crypto_secretbox/crypto_secretbox.c
+
+crypto_secretbox/xsalsa20poly1305/libsodium_la-secretbox_xsalsa20poly1305_api.lo: crypto_secretbox/xsalsa20poly1305/secretbox_xsalsa20poly1305_api.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT crypto_secretbox/xsalsa20poly1305/libsodium_la-secretbox_xsalsa20poly1305_api.lo -MD -MP -MF crypto_secretbox/xsalsa20poly1305/$(DEPDIR)/libsodium_la-secretbox_xsalsa20poly1305_api.Tpo -c -o crypto_secretbox/xsalsa20poly1305/libsodium_la-secretbox_xsalsa20poly1305_api.lo `test -f 'crypto_secretbox/xsalsa20poly1305/secretbox_xsalsa20poly1305_api.c' || echo '$(srcdir)/'`crypto_secretbox/xsalsa20poly1305/secretbox_xsalsa20poly1305_api.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) crypto_secretbox/xsalsa20poly1305/$(DEPDIR)/libsodium_la-secretbox_xsalsa20poly1305_api.Tpo crypto_secretbox/xsalsa20poly1305/$(DEPDIR)/libsodium_la-secretbox_xsalsa20poly1305_api.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='crypto_secretbox/xsalsa20poly1305/secretbox_xsalsa20poly1305_api.c' object='crypto_secretbox/xsalsa20poly1305/libsodium_la-secretbox_xsalsa20poly1305_api.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o crypto_secretbox/xsalsa20poly1305/libsodium_la-secretbox_xsalsa20poly1305_api.lo `test -f 'crypto_secretbox/xsalsa20poly1305/secretbox_xsalsa20poly1305_api.c' || echo '$(srcdir)/'`crypto_secretbox/xsalsa20poly1305/secretbox_xsalsa20poly1305_api.c
+
+crypto_secretbox/xsalsa20poly1305/ref/libsodium_la-box_xsalsa20poly1305.lo: crypto_secretbox/xsalsa20poly1305/ref/box_xsalsa20poly1305.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT crypto_secretbox/xsalsa20poly1305/ref/libsodium_la-box_xsalsa20poly1305.lo -MD -MP -MF crypto_secretbox/xsalsa20poly1305/ref/$(DEPDIR)/libsodium_la-box_xsalsa20poly1305.Tpo -c -o crypto_secretbox/xsalsa20poly1305/ref/libsodium_la-box_xsalsa20poly1305.lo `test -f 'crypto_secretbox/xsalsa20poly1305/ref/box_xsalsa20poly1305.c' || echo '$(srcdir)/'`crypto_secretbox/xsalsa20poly1305/ref/box_xsalsa20poly1305.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) crypto_secretbox/xsalsa20poly1305/ref/$(DEPDIR)/libsodium_la-box_xsalsa20poly1305.Tpo crypto_secretbox/xsalsa20poly1305/ref/$(DEPDIR)/libsodium_la-box_xsalsa20poly1305.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='crypto_secretbox/xsalsa20poly1305/ref/box_xsalsa20poly1305.c' object='crypto_secretbox/xsalsa20poly1305/ref/libsodium_la-box_xsalsa20poly1305.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o crypto_secretbox/xsalsa20poly1305/ref/libsodium_la-box_xsalsa20poly1305.lo `test -f 'crypto_secretbox/xsalsa20poly1305/ref/box_xsalsa20poly1305.c' || echo '$(srcdir)/'`crypto_secretbox/xsalsa20poly1305/ref/box_xsalsa20poly1305.c
+
+crypto_shorthash/libsodium_la-crypto_shorthash.lo: crypto_shorthash/crypto_shorthash.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT crypto_shorthash/libsodium_la-crypto_shorthash.lo -MD -MP -MF crypto_shorthash/$(DEPDIR)/libsodium_la-crypto_shorthash.Tpo -c -o crypto_shorthash/libsodium_la-crypto_shorthash.lo `test -f 'crypto_shorthash/crypto_shorthash.c' || echo '$(srcdir)/'`crypto_shorthash/crypto_shorthash.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) crypto_shorthash/$(DEPDIR)/libsodium_la-crypto_shorthash.Tpo crypto_shorthash/$(DEPDIR)/libsodium_la-crypto_shorthash.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='crypto_shorthash/crypto_shorthash.c' object='crypto_shorthash/libsodium_la-crypto_shorthash.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o crypto_shorthash/libsodium_la-crypto_shorthash.lo `test -f 'crypto_shorthash/crypto_shorthash.c' || echo '$(srcdir)/'`crypto_shorthash/crypto_shorthash.c
+
+crypto_shorthash/siphash24/libsodium_la-shorthash_siphash24_api.lo: crypto_shorthash/siphash24/shorthash_siphash24_api.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT crypto_shorthash/siphash24/libsodium_la-shorthash_siphash24_api.lo -MD -MP -MF crypto_shorthash/siphash24/$(DEPDIR)/libsodium_la-shorthash_siphash24_api.Tpo -c -o crypto_shorthash/siphash24/libsodium_la-shorthash_siphash24_api.lo `test -f 'crypto_shorthash/siphash24/shorthash_siphash24_api.c' || echo '$(srcdir)/'`crypto_shorthash/siphash24/shorthash_siphash24_api.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) crypto_shorthash/siphash24/$(DEPDIR)/libsodium_la-shorthash_siphash24_api.Tpo crypto_shorthash/siphash24/$(DEPDIR)/libsodium_la-shorthash_siphash24_api.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='crypto_shorthash/siphash24/shorthash_siphash24_api.c' object='crypto_shorthash/siphash24/libsodium_la-shorthash_siphash24_api.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o crypto_shorthash/siphash24/libsodium_la-shorthash_siphash24_api.lo `test -f 'crypto_shorthash/siphash24/shorthash_siphash24_api.c' || echo '$(srcdir)/'`crypto_shorthash/siphash24/shorthash_siphash24_api.c
+
+crypto_shorthash/siphash24/ref/libsodium_la-shorthash_siphash24.lo: crypto_shorthash/siphash24/ref/shorthash_siphash24.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT crypto_shorthash/siphash24/ref/libsodium_la-shorthash_siphash24.lo -MD -MP -MF crypto_shorthash/siphash24/ref/$(DEPDIR)/libsodium_la-shorthash_siphash24.Tpo -c -o crypto_shorthash/siphash24/ref/libsodium_la-shorthash_siphash24.lo `test -f 'crypto_shorthash/siphash24/ref/shorthash_siphash24.c' || echo '$(srcdir)/'`crypto_shorthash/siphash24/ref/shorthash_siphash24.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) crypto_shorthash/siphash24/ref/$(DEPDIR)/libsodium_la-shorthash_siphash24.Tpo crypto_shorthash/siphash24/ref/$(DEPDIR)/libsodium_la-shorthash_siphash24.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='crypto_shorthash/siphash24/ref/shorthash_siphash24.c' object='crypto_shorthash/siphash24/ref/libsodium_la-shorthash_siphash24.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o crypto_shorthash/siphash24/ref/libsodium_la-shorthash_siphash24.lo `test -f 'crypto_shorthash/siphash24/ref/shorthash_siphash24.c' || echo '$(srcdir)/'`crypto_shorthash/siphash24/ref/shorthash_siphash24.c
+
+crypto_sign/libsodium_la-crypto_sign.lo: crypto_sign/crypto_sign.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT crypto_sign/libsodium_la-crypto_sign.lo -MD -MP -MF crypto_sign/$(DEPDIR)/libsodium_la-crypto_sign.Tpo -c -o crypto_sign/libsodium_la-crypto_sign.lo `test -f 'crypto_sign/crypto_sign.c' || echo '$(srcdir)/'`crypto_sign/crypto_sign.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) crypto_sign/$(DEPDIR)/libsodium_la-crypto_sign.Tpo crypto_sign/$(DEPDIR)/libsodium_la-crypto_sign.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='crypto_sign/crypto_sign.c' object='crypto_sign/libsodium_la-crypto_sign.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o crypto_sign/libsodium_la-crypto_sign.lo `test -f 'crypto_sign/crypto_sign.c' || echo '$(srcdir)/'`crypto_sign/crypto_sign.c
+
+crypto_sign/ed25519/libsodium_la-sign_ed25519_api.lo: crypto_sign/ed25519/sign_ed25519_api.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT crypto_sign/ed25519/libsodium_la-sign_ed25519_api.lo -MD -MP -MF crypto_sign/ed25519/$(DEPDIR)/libsodium_la-sign_ed25519_api.Tpo -c -o crypto_sign/ed25519/libsodium_la-sign_ed25519_api.lo `test -f 'crypto_sign/ed25519/sign_ed25519_api.c' || echo '$(srcdir)/'`crypto_sign/ed25519/sign_ed25519_api.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) crypto_sign/ed25519/$(DEPDIR)/libsodium_la-sign_ed25519_api.Tpo crypto_sign/ed25519/$(DEPDIR)/libsodium_la-sign_ed25519_api.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='crypto_sign/ed25519/sign_ed25519_api.c' object='crypto_sign/ed25519/libsodium_la-sign_ed25519_api.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o crypto_sign/ed25519/libsodium_la-sign_ed25519_api.lo `test -f 'crypto_sign/ed25519/sign_ed25519_api.c' || echo '$(srcdir)/'`crypto_sign/ed25519/sign_ed25519_api.c
+
+crypto_sign/ed25519/ref10/libsodium_la-fe_0.lo: crypto_sign/ed25519/ref10/fe_0.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT crypto_sign/ed25519/ref10/libsodium_la-fe_0.lo -MD -MP -MF crypto_sign/ed25519/ref10/$(DEPDIR)/libsodium_la-fe_0.Tpo -c -o crypto_sign/ed25519/ref10/libsodium_la-fe_0.lo `test -f 'crypto_sign/ed25519/ref10/fe_0.c' || echo '$(srcdir)/'`crypto_sign/ed25519/ref10/fe_0.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) crypto_sign/ed25519/ref10/$(DEPDIR)/libsodium_la-fe_0.Tpo crypto_sign/ed25519/ref10/$(DEPDIR)/libsodium_la-fe_0.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='crypto_sign/ed25519/ref10/fe_0.c' object='crypto_sign/ed25519/ref10/libsodium_la-fe_0.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o crypto_sign/ed25519/ref10/libsodium_la-fe_0.lo `test -f 'crypto_sign/ed25519/ref10/fe_0.c' || echo '$(srcdir)/'`crypto_sign/ed25519/ref10/fe_0.c
+
+crypto_sign/ed25519/ref10/libsodium_la-fe_1.lo: crypto_sign/ed25519/ref10/fe_1.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT crypto_sign/ed25519/ref10/libsodium_la-fe_1.lo -MD -MP -MF crypto_sign/ed25519/ref10/$(DEPDIR)/libsodium_la-fe_1.Tpo -c -o crypto_sign/ed25519/ref10/libsodium_la-fe_1.lo `test -f 'crypto_sign/ed25519/ref10/fe_1.c' || echo '$(srcdir)/'`crypto_sign/ed25519/ref10/fe_1.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) crypto_sign/ed25519/ref10/$(DEPDIR)/libsodium_la-fe_1.Tpo crypto_sign/ed25519/ref10/$(DEPDIR)/libsodium_la-fe_1.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='crypto_sign/ed25519/ref10/fe_1.c' object='crypto_sign/ed25519/ref10/libsodium_la-fe_1.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o crypto_sign/ed25519/ref10/libsodium_la-fe_1.lo `test -f 'crypto_sign/ed25519/ref10/fe_1.c' || echo '$(srcdir)/'`crypto_sign/ed25519/ref10/fe_1.c
+
+crypto_sign/ed25519/ref10/libsodium_la-fe_add.lo: crypto_sign/ed25519/ref10/fe_add.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT crypto_sign/ed25519/ref10/libsodium_la-fe_add.lo -MD -MP -MF crypto_sign/ed25519/ref10/$(DEPDIR)/libsodium_la-fe_add.Tpo -c -o crypto_sign/ed25519/ref10/libsodium_la-fe_add.lo `test -f 'crypto_sign/ed25519/ref10/fe_add.c' || echo '$(srcdir)/'`crypto_sign/ed25519/ref10/fe_add.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) crypto_sign/ed25519/ref10/$(DEPDIR)/libsodium_la-fe_add.Tpo crypto_sign/ed25519/ref10/$(DEPDIR)/libsodium_la-fe_add.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='crypto_sign/ed25519/ref10/fe_add.c' object='crypto_sign/ed25519/ref10/libsodium_la-fe_add.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o crypto_sign/ed25519/ref10/libsodium_la-fe_add.lo `test -f 'crypto_sign/ed25519/ref10/fe_add.c' || echo '$(srcdir)/'`crypto_sign/ed25519/ref10/fe_add.c
+
+crypto_sign/ed25519/ref10/libsodium_la-fe_cmov.lo: crypto_sign/ed25519/ref10/fe_cmov.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT crypto_sign/ed25519/ref10/libsodium_la-fe_cmov.lo -MD -MP -MF crypto_sign/ed25519/ref10/$(DEPDIR)/libsodium_la-fe_cmov.Tpo -c -o crypto_sign/ed25519/ref10/libsodium_la-fe_cmov.lo `test -f 'crypto_sign/ed25519/ref10/fe_cmov.c' || echo '$(srcdir)/'`crypto_sign/ed25519/ref10/fe_cmov.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) crypto_sign/ed25519/ref10/$(DEPDIR)/libsodium_la-fe_cmov.Tpo crypto_sign/ed25519/ref10/$(DEPDIR)/libsodium_la-fe_cmov.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='crypto_sign/ed25519/ref10/fe_cmov.c' object='crypto_sign/ed25519/ref10/libsodium_la-fe_cmov.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o crypto_sign/ed25519/ref10/libsodium_la-fe_cmov.lo `test -f 'crypto_sign/ed25519/ref10/fe_cmov.c' || echo '$(srcdir)/'`crypto_sign/ed25519/ref10/fe_cmov.c
+
+crypto_sign/ed25519/ref10/libsodium_la-fe_copy.lo: crypto_sign/ed25519/ref10/fe_copy.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT crypto_sign/ed25519/ref10/libsodium_la-fe_copy.lo -MD -MP -MF crypto_sign/ed25519/ref10/$(DEPDIR)/libsodium_la-fe_copy.Tpo -c -o crypto_sign/ed25519/ref10/libsodium_la-fe_copy.lo `test -f 'crypto_sign/ed25519/ref10/fe_copy.c' || echo '$(srcdir)/'`crypto_sign/ed25519/ref10/fe_copy.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) crypto_sign/ed25519/ref10/$(DEPDIR)/libsodium_la-fe_copy.Tpo crypto_sign/ed25519/ref10/$(DEPDIR)/libsodium_la-fe_copy.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='crypto_sign/ed25519/ref10/fe_copy.c' object='crypto_sign/ed25519/ref10/libsodium_la-fe_copy.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o crypto_sign/ed25519/ref10/libsodium_la-fe_copy.lo `test -f 'crypto_sign/ed25519/ref10/fe_copy.c' || echo '$(srcdir)/'`crypto_sign/ed25519/ref10/fe_copy.c
+
+crypto_sign/ed25519/ref10/libsodium_la-fe_frombytes.lo: crypto_sign/ed25519/ref10/fe_frombytes.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT crypto_sign/ed25519/ref10/libsodium_la-fe_frombytes.lo -MD -MP -MF crypto_sign/ed25519/ref10/$(DEPDIR)/libsodium_la-fe_frombytes.Tpo -c -o crypto_sign/ed25519/ref10/libsodium_la-fe_frombytes.lo `test -f 'crypto_sign/ed25519/ref10/fe_frombytes.c' || echo '$(srcdir)/'`crypto_sign/ed25519/ref10/fe_frombytes.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) crypto_sign/ed25519/ref10/$(DEPDIR)/libsodium_la-fe_frombytes.Tpo crypto_sign/ed25519/ref10/$(DEPDIR)/libsodium_la-fe_frombytes.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='crypto_sign/ed25519/ref10/fe_frombytes.c' object='crypto_sign/ed25519/ref10/libsodium_la-fe_frombytes.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o crypto_sign/ed25519/ref10/libsodium_la-fe_frombytes.lo `test -f 'crypto_sign/ed25519/ref10/fe_frombytes.c' || echo '$(srcdir)/'`crypto_sign/ed25519/ref10/fe_frombytes.c
+
+crypto_sign/ed25519/ref10/libsodium_la-fe_invert.lo: crypto_sign/ed25519/ref10/fe_invert.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT crypto_sign/ed25519/ref10/libsodium_la-fe_invert.lo -MD -MP -MF crypto_sign/ed25519/ref10/$(DEPDIR)/libsodium_la-fe_invert.Tpo -c -o crypto_sign/ed25519/ref10/libsodium_la-fe_invert.lo `test -f 'crypto_sign/ed25519/ref10/fe_invert.c' || echo '$(srcdir)/'`crypto_sign/ed25519/ref10/fe_invert.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) crypto_sign/ed25519/ref10/$(DEPDIR)/libsodium_la-fe_invert.Tpo crypto_sign/ed25519/ref10/$(DEPDIR)/libsodium_la-fe_invert.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='crypto_sign/ed25519/ref10/fe_invert.c' object='crypto_sign/ed25519/ref10/libsodium_la-fe_invert.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o crypto_sign/ed25519/ref10/libsodium_la-fe_invert.lo `test -f 'crypto_sign/ed25519/ref10/fe_invert.c' || echo '$(srcdir)/'`crypto_sign/ed25519/ref10/fe_invert.c
+
+crypto_sign/ed25519/ref10/libsodium_la-fe_isnegative.lo: crypto_sign/ed25519/ref10/fe_isnegative.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT crypto_sign/ed25519/ref10/libsodium_la-fe_isnegative.lo -MD -MP -MF crypto_sign/ed25519/ref10/$(DEPDIR)/libsodium_la-fe_isnegative.Tpo -c -o crypto_sign/ed25519/ref10/libsodium_la-fe_isnegative.lo `test -f 'crypto_sign/ed25519/ref10/fe_isnegative.c' || echo '$(srcdir)/'`crypto_sign/ed25519/ref10/fe_isnegative.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) crypto_sign/ed25519/ref10/$(DEPDIR)/libsodium_la-fe_isnegative.Tpo crypto_sign/ed25519/ref10/$(DEPDIR)/libsodium_la-fe_isnegative.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='crypto_sign/ed25519/ref10/fe_isnegative.c' object='crypto_sign/ed25519/ref10/libsodium_la-fe_isnegative.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o crypto_sign/ed25519/ref10/libsodium_la-fe_isnegative.lo `test -f 'crypto_sign/ed25519/ref10/fe_isnegative.c' || echo '$(srcdir)/'`crypto_sign/ed25519/ref10/fe_isnegative.c
+
+crypto_sign/ed25519/ref10/libsodium_la-fe_isnonzero.lo: crypto_sign/ed25519/ref10/fe_isnonzero.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT crypto_sign/ed25519/ref10/libsodium_la-fe_isnonzero.lo -MD -MP -MF crypto_sign/ed25519/ref10/$(DEPDIR)/libsodium_la-fe_isnonzero.Tpo -c -o crypto_sign/ed25519/ref10/libsodium_la-fe_isnonzero.lo `test -f 'crypto_sign/ed25519/ref10/fe_isnonzero.c' || echo '$(srcdir)/'`crypto_sign/ed25519/ref10/fe_isnonzero.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) crypto_sign/ed25519/ref10/$(DEPDIR)/libsodium_la-fe_isnonzero.Tpo crypto_sign/ed25519/ref10/$(DEPDIR)/libsodium_la-fe_isnonzero.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='crypto_sign/ed25519/ref10/fe_isnonzero.c' object='crypto_sign/ed25519/ref10/libsodium_la-fe_isnonzero.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o crypto_sign/ed25519/ref10/libsodium_la-fe_isnonzero.lo `test -f 'crypto_sign/ed25519/ref10/fe_isnonzero.c' || echo '$(srcdir)/'`crypto_sign/ed25519/ref10/fe_isnonzero.c
+
+crypto_sign/ed25519/ref10/libsodium_la-fe_mul.lo: crypto_sign/ed25519/ref10/fe_mul.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT crypto_sign/ed25519/ref10/libsodium_la-fe_mul.lo -MD -MP -MF crypto_sign/ed25519/ref10/$(DEPDIR)/libsodium_la-fe_mul.Tpo -c -o crypto_sign/ed25519/ref10/libsodium_la-fe_mul.lo `test -f 'crypto_sign/ed25519/ref10/fe_mul.c' || echo '$(srcdir)/'`crypto_sign/ed25519/ref10/fe_mul.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) crypto_sign/ed25519/ref10/$(DEPDIR)/libsodium_la-fe_mul.Tpo crypto_sign/ed25519/ref10/$(DEPDIR)/libsodium_la-fe_mul.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='crypto_sign/ed25519/ref10/fe_mul.c' object='crypto_sign/ed25519/ref10/libsodium_la-fe_mul.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o crypto_sign/ed25519/ref10/libsodium_la-fe_mul.lo `test -f 'crypto_sign/ed25519/ref10/fe_mul.c' || echo '$(srcdir)/'`crypto_sign/ed25519/ref10/fe_mul.c
+
+crypto_sign/ed25519/ref10/libsodium_la-fe_neg.lo: crypto_sign/ed25519/ref10/fe_neg.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT crypto_sign/ed25519/ref10/libsodium_la-fe_neg.lo -MD -MP -MF crypto_sign/ed25519/ref10/$(DEPDIR)/libsodium_la-fe_neg.Tpo -c -o crypto_sign/ed25519/ref10/libsodium_la-fe_neg.lo `test -f 'crypto_sign/ed25519/ref10/fe_neg.c' || echo '$(srcdir)/'`crypto_sign/ed25519/ref10/fe_neg.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) crypto_sign/ed25519/ref10/$(DEPDIR)/libsodium_la-fe_neg.Tpo crypto_sign/ed25519/ref10/$(DEPDIR)/libsodium_la-fe_neg.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='crypto_sign/ed25519/ref10/fe_neg.c' object='crypto_sign/ed25519/ref10/libsodium_la-fe_neg.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o crypto_sign/ed25519/ref10/libsodium_la-fe_neg.lo `test -f 'crypto_sign/ed25519/ref10/fe_neg.c' || echo '$(srcdir)/'`crypto_sign/ed25519/ref10/fe_neg.c
+
+crypto_sign/ed25519/ref10/libsodium_la-fe_pow22523.lo: crypto_sign/ed25519/ref10/fe_pow22523.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT crypto_sign/ed25519/ref10/libsodium_la-fe_pow22523.lo -MD -MP -MF crypto_sign/ed25519/ref10/$(DEPDIR)/libsodium_la-fe_pow22523.Tpo -c -o crypto_sign/ed25519/ref10/libsodium_la-fe_pow22523.lo `test -f 'crypto_sign/ed25519/ref10/fe_pow22523.c' || echo '$(srcdir)/'`crypto_sign/ed25519/ref10/fe_pow22523.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) crypto_sign/ed25519/ref10/$(DEPDIR)/libsodium_la-fe_pow22523.Tpo crypto_sign/ed25519/ref10/$(DEPDIR)/libsodium_la-fe_pow22523.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='crypto_sign/ed25519/ref10/fe_pow22523.c' object='crypto_sign/ed25519/ref10/libsodium_la-fe_pow22523.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o crypto_sign/ed25519/ref10/libsodium_la-fe_pow22523.lo `test -f 'crypto_sign/ed25519/ref10/fe_pow22523.c' || echo '$(srcdir)/'`crypto_sign/ed25519/ref10/fe_pow22523.c
+
+crypto_sign/ed25519/ref10/libsodium_la-fe_sq.lo: crypto_sign/ed25519/ref10/fe_sq.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT crypto_sign/ed25519/ref10/libsodium_la-fe_sq.lo -MD -MP -MF crypto_sign/ed25519/ref10/$(DEPDIR)/libsodium_la-fe_sq.Tpo -c -o crypto_sign/ed25519/ref10/libsodium_la-fe_sq.lo `test -f 'crypto_sign/ed25519/ref10/fe_sq.c' || echo '$(srcdir)/'`crypto_sign/ed25519/ref10/fe_sq.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) crypto_sign/ed25519/ref10/$(DEPDIR)/libsodium_la-fe_sq.Tpo crypto_sign/ed25519/ref10/$(DEPDIR)/libsodium_la-fe_sq.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='crypto_sign/ed25519/ref10/fe_sq.c' object='crypto_sign/ed25519/ref10/libsodium_la-fe_sq.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o crypto_sign/ed25519/ref10/libsodium_la-fe_sq.lo `test -f 'crypto_sign/ed25519/ref10/fe_sq.c' || echo '$(srcdir)/'`crypto_sign/ed25519/ref10/fe_sq.c
+
+crypto_sign/ed25519/ref10/libsodium_la-fe_sq2.lo: crypto_sign/ed25519/ref10/fe_sq2.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT crypto_sign/ed25519/ref10/libsodium_la-fe_sq2.lo -MD -MP -MF crypto_sign/ed25519/ref10/$(DEPDIR)/libsodium_la-fe_sq2.Tpo -c -o crypto_sign/ed25519/ref10/libsodium_la-fe_sq2.lo `test -f 'crypto_sign/ed25519/ref10/fe_sq2.c' || echo '$(srcdir)/'`crypto_sign/ed25519/ref10/fe_sq2.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) crypto_sign/ed25519/ref10/$(DEPDIR)/libsodium_la-fe_sq2.Tpo crypto_sign/ed25519/ref10/$(DEPDIR)/libsodium_la-fe_sq2.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='crypto_sign/ed25519/ref10/fe_sq2.c' object='crypto_sign/ed25519/ref10/libsodium_la-fe_sq2.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o crypto_sign/ed25519/ref10/libsodium_la-fe_sq2.lo `test -f 'crypto_sign/ed25519/ref10/fe_sq2.c' || echo '$(srcdir)/'`crypto_sign/ed25519/ref10/fe_sq2.c
+
+crypto_sign/ed25519/ref10/libsodium_la-fe_sub.lo: crypto_sign/ed25519/ref10/fe_sub.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT crypto_sign/ed25519/ref10/libsodium_la-fe_sub.lo -MD -MP -MF crypto_sign/ed25519/ref10/$(DEPDIR)/libsodium_la-fe_sub.Tpo -c -o crypto_sign/ed25519/ref10/libsodium_la-fe_sub.lo `test -f 'crypto_sign/ed25519/ref10/fe_sub.c' || echo '$(srcdir)/'`crypto_sign/ed25519/ref10/fe_sub.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) crypto_sign/ed25519/ref10/$(DEPDIR)/libsodium_la-fe_sub.Tpo crypto_sign/ed25519/ref10/$(DEPDIR)/libsodium_la-fe_sub.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='crypto_sign/ed25519/ref10/fe_sub.c' object='crypto_sign/ed25519/ref10/libsodium_la-fe_sub.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o crypto_sign/ed25519/ref10/libsodium_la-fe_sub.lo `test -f 'crypto_sign/ed25519/ref10/fe_sub.c' || echo '$(srcdir)/'`crypto_sign/ed25519/ref10/fe_sub.c
+
+crypto_sign/ed25519/ref10/libsodium_la-fe_tobytes.lo: crypto_sign/ed25519/ref10/fe_tobytes.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT crypto_sign/ed25519/ref10/libsodium_la-fe_tobytes.lo -MD -MP -MF crypto_sign/ed25519/ref10/$(DEPDIR)/libsodium_la-fe_tobytes.Tpo -c -o crypto_sign/ed25519/ref10/libsodium_la-fe_tobytes.lo `test -f 'crypto_sign/ed25519/ref10/fe_tobytes.c' || echo '$(srcdir)/'`crypto_sign/ed25519/ref10/fe_tobytes.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) crypto_sign/ed25519/ref10/$(DEPDIR)/libsodium_la-fe_tobytes.Tpo crypto_sign/ed25519/ref10/$(DEPDIR)/libsodium_la-fe_tobytes.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='crypto_sign/ed25519/ref10/fe_tobytes.c' object='crypto_sign/ed25519/ref10/libsodium_la-fe_tobytes.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o crypto_sign/ed25519/ref10/libsodium_la-fe_tobytes.lo `test -f 'crypto_sign/ed25519/ref10/fe_tobytes.c' || echo '$(srcdir)/'`crypto_sign/ed25519/ref10/fe_tobytes.c
+
+crypto_sign/ed25519/ref10/libsodium_la-ge_add.lo: crypto_sign/ed25519/ref10/ge_add.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT crypto_sign/ed25519/ref10/libsodium_la-ge_add.lo -MD -MP -MF crypto_sign/ed25519/ref10/$(DEPDIR)/libsodium_la-ge_add.Tpo -c -o crypto_sign/ed25519/ref10/libsodium_la-ge_add.lo `test -f 'crypto_sign/ed25519/ref10/ge_add.c' || echo '$(srcdir)/'`crypto_sign/ed25519/ref10/ge_add.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) crypto_sign/ed25519/ref10/$(DEPDIR)/libsodium_la-ge_add.Tpo crypto_sign/ed25519/ref10/$(DEPDIR)/libsodium_la-ge_add.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='crypto_sign/ed25519/ref10/ge_add.c' object='crypto_sign/ed25519/ref10/libsodium_la-ge_add.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o crypto_sign/ed25519/ref10/libsodium_la-ge_add.lo `test -f 'crypto_sign/ed25519/ref10/ge_add.c' || echo '$(srcdir)/'`crypto_sign/ed25519/ref10/ge_add.c
+
+crypto_sign/ed25519/ref10/libsodium_la-ge_double_scalarmult.lo: crypto_sign/ed25519/ref10/ge_double_scalarmult.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT crypto_sign/ed25519/ref10/libsodium_la-ge_double_scalarmult.lo -MD -MP -MF crypto_sign/ed25519/ref10/$(DEPDIR)/libsodium_la-ge_double_scalarmult.Tpo -c -o crypto_sign/ed25519/ref10/libsodium_la-ge_double_scalarmult.lo `test -f 'crypto_sign/ed25519/ref10/ge_double_scalarmult.c' || echo '$(srcdir)/'`crypto_sign/ed25519/ref10/ge_double_scalarmult.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) crypto_sign/ed25519/ref10/$(DEPDIR)/libsodium_la-ge_double_scalarmult.Tpo crypto_sign/ed25519/ref10/$(DEPDIR)/libsodium_la-ge_double_scalarmult.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='crypto_sign/ed25519/ref10/ge_double_scalarmult.c' object='crypto_sign/ed25519/ref10/libsodium_la-ge_double_scalarmult.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o crypto_sign/ed25519/ref10/libsodium_la-ge_double_scalarmult.lo `test -f 'crypto_sign/ed25519/ref10/ge_double_scalarmult.c' || echo '$(srcdir)/'`crypto_sign/ed25519/ref10/ge_double_scalarmult.c
+
+crypto_sign/ed25519/ref10/libsodium_la-ge_frombytes.lo: crypto_sign/ed25519/ref10/ge_frombytes.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT crypto_sign/ed25519/ref10/libsodium_la-ge_frombytes.lo -MD -MP -MF crypto_sign/ed25519/ref10/$(DEPDIR)/libsodium_la-ge_frombytes.Tpo -c -o crypto_sign/ed25519/ref10/libsodium_la-ge_frombytes.lo `test -f 'crypto_sign/ed25519/ref10/ge_frombytes.c' || echo '$(srcdir)/'`crypto_sign/ed25519/ref10/ge_frombytes.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) crypto_sign/ed25519/ref10/$(DEPDIR)/libsodium_la-ge_frombytes.Tpo crypto_sign/ed25519/ref10/$(DEPDIR)/libsodium_la-ge_frombytes.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='crypto_sign/ed25519/ref10/ge_frombytes.c' object='crypto_sign/ed25519/ref10/libsodium_la-ge_frombytes.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o crypto_sign/ed25519/ref10/libsodium_la-ge_frombytes.lo `test -f 'crypto_sign/ed25519/ref10/ge_frombytes.c' || echo '$(srcdir)/'`crypto_sign/ed25519/ref10/ge_frombytes.c
+
+crypto_sign/ed25519/ref10/libsodium_la-ge_madd.lo: crypto_sign/ed25519/ref10/ge_madd.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT crypto_sign/ed25519/ref10/libsodium_la-ge_madd.lo -MD -MP -MF crypto_sign/ed25519/ref10/$(DEPDIR)/libsodium_la-ge_madd.Tpo -c -o crypto_sign/ed25519/ref10/libsodium_la-ge_madd.lo `test -f 'crypto_sign/ed25519/ref10/ge_madd.c' || echo '$(srcdir)/'`crypto_sign/ed25519/ref10/ge_madd.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) crypto_sign/ed25519/ref10/$(DEPDIR)/libsodium_la-ge_madd.Tpo crypto_sign/ed25519/ref10/$(DEPDIR)/libsodium_la-ge_madd.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='crypto_sign/ed25519/ref10/ge_madd.c' object='crypto_sign/ed25519/ref10/libsodium_la-ge_madd.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o crypto_sign/ed25519/ref10/libsodium_la-ge_madd.lo `test -f 'crypto_sign/ed25519/ref10/ge_madd.c' || echo '$(srcdir)/'`crypto_sign/ed25519/ref10/ge_madd.c
+
+crypto_sign/ed25519/ref10/libsodium_la-ge_msub.lo: crypto_sign/ed25519/ref10/ge_msub.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT crypto_sign/ed25519/ref10/libsodium_la-ge_msub.lo -MD -MP -MF crypto_sign/ed25519/ref10/$(DEPDIR)/libsodium_la-ge_msub.Tpo -c -o crypto_sign/ed25519/ref10/libsodium_la-ge_msub.lo `test -f 'crypto_sign/ed25519/ref10/ge_msub.c' || echo '$(srcdir)/'`crypto_sign/ed25519/ref10/ge_msub.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) crypto_sign/ed25519/ref10/$(DEPDIR)/libsodium_la-ge_msub.Tpo crypto_sign/ed25519/ref10/$(DEPDIR)/libsodium_la-ge_msub.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='crypto_sign/ed25519/ref10/ge_msub.c' object='crypto_sign/ed25519/ref10/libsodium_la-ge_msub.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o crypto_sign/ed25519/ref10/libsodium_la-ge_msub.lo `test -f 'crypto_sign/ed25519/ref10/ge_msub.c' || echo '$(srcdir)/'`crypto_sign/ed25519/ref10/ge_msub.c
+
+crypto_sign/ed25519/ref10/libsodium_la-ge_p1p1_to_p2.lo: crypto_sign/ed25519/ref10/ge_p1p1_to_p2.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT crypto_sign/ed25519/ref10/libsodium_la-ge_p1p1_to_p2.lo -MD -MP -MF crypto_sign/ed25519/ref10/$(DEPDIR)/libsodium_la-ge_p1p1_to_p2.Tpo -c -o crypto_sign/ed25519/ref10/libsodium_la-ge_p1p1_to_p2.lo `test -f 'crypto_sign/ed25519/ref10/ge_p1p1_to_p2.c' || echo '$(srcdir)/'`crypto_sign/ed25519/ref10/ge_p1p1_to_p2.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) crypto_sign/ed25519/ref10/$(DEPDIR)/libsodium_la-ge_p1p1_to_p2.Tpo crypto_sign/ed25519/ref10/$(DEPDIR)/libsodium_la-ge_p1p1_to_p2.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='crypto_sign/ed25519/ref10/ge_p1p1_to_p2.c' object='crypto_sign/ed25519/ref10/libsodium_la-ge_p1p1_to_p2.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o crypto_sign/ed25519/ref10/libsodium_la-ge_p1p1_to_p2.lo `test -f 'crypto_sign/ed25519/ref10/ge_p1p1_to_p2.c' || echo '$(srcdir)/'`crypto_sign/ed25519/ref10/ge_p1p1_to_p2.c
+
+crypto_sign/ed25519/ref10/libsodium_la-ge_p1p1_to_p3.lo: crypto_sign/ed25519/ref10/ge_p1p1_to_p3.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT crypto_sign/ed25519/ref10/libsodium_la-ge_p1p1_to_p3.lo -MD -MP -MF crypto_sign/ed25519/ref10/$(DEPDIR)/libsodium_la-ge_p1p1_to_p3.Tpo -c -o crypto_sign/ed25519/ref10/libsodium_la-ge_p1p1_to_p3.lo `test -f 'crypto_sign/ed25519/ref10/ge_p1p1_to_p3.c' || echo '$(srcdir)/'`crypto_sign/ed25519/ref10/ge_p1p1_to_p3.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) crypto_sign/ed25519/ref10/$(DEPDIR)/libsodium_la-ge_p1p1_to_p3.Tpo crypto_sign/ed25519/ref10/$(DEPDIR)/libsodium_la-ge_p1p1_to_p3.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='crypto_sign/ed25519/ref10/ge_p1p1_to_p3.c' object='crypto_sign/ed25519/ref10/libsodium_la-ge_p1p1_to_p3.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o crypto_sign/ed25519/ref10/libsodium_la-ge_p1p1_to_p3.lo `test -f 'crypto_sign/ed25519/ref10/ge_p1p1_to_p3.c' || echo '$(srcdir)/'`crypto_sign/ed25519/ref10/ge_p1p1_to_p3.c
+
+crypto_sign/ed25519/ref10/libsodium_la-ge_p2_0.lo: crypto_sign/ed25519/ref10/ge_p2_0.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT crypto_sign/ed25519/ref10/libsodium_la-ge_p2_0.lo -MD -MP -MF crypto_sign/ed25519/ref10/$(DEPDIR)/libsodium_la-ge_p2_0.Tpo -c -o crypto_sign/ed25519/ref10/libsodium_la-ge_p2_0.lo `test -f 'crypto_sign/ed25519/ref10/ge_p2_0.c' || echo '$(srcdir)/'`crypto_sign/ed25519/ref10/ge_p2_0.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) crypto_sign/ed25519/ref10/$(DEPDIR)/libsodium_la-ge_p2_0.Tpo crypto_sign/ed25519/ref10/$(DEPDIR)/libsodium_la-ge_p2_0.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='crypto_sign/ed25519/ref10/ge_p2_0.c' object='crypto_sign/ed25519/ref10/libsodium_la-ge_p2_0.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o crypto_sign/ed25519/ref10/libsodium_la-ge_p2_0.lo `test -f 'crypto_sign/ed25519/ref10/ge_p2_0.c' || echo '$(srcdir)/'`crypto_sign/ed25519/ref10/ge_p2_0.c
+
+crypto_sign/ed25519/ref10/libsodium_la-ge_p2_dbl.lo: crypto_sign/ed25519/ref10/ge_p2_dbl.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT crypto_sign/ed25519/ref10/libsodium_la-ge_p2_dbl.lo -MD -MP -MF crypto_sign/ed25519/ref10/$(DEPDIR)/libsodium_la-ge_p2_dbl.Tpo -c -o crypto_sign/ed25519/ref10/libsodium_la-ge_p2_dbl.lo `test -f 'crypto_sign/ed25519/ref10/ge_p2_dbl.c' || echo '$(srcdir)/'`crypto_sign/ed25519/ref10/ge_p2_dbl.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) crypto_sign/ed25519/ref10/$(DEPDIR)/libsodium_la-ge_p2_dbl.Tpo crypto_sign/ed25519/ref10/$(DEPDIR)/libsodium_la-ge_p2_dbl.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='crypto_sign/ed25519/ref10/ge_p2_dbl.c' object='crypto_sign/ed25519/ref10/libsodium_la-ge_p2_dbl.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o crypto_sign/ed25519/ref10/libsodium_la-ge_p2_dbl.lo `test -f 'crypto_sign/ed25519/ref10/ge_p2_dbl.c' || echo '$(srcdir)/'`crypto_sign/ed25519/ref10/ge_p2_dbl.c
+
+crypto_sign/ed25519/ref10/libsodium_la-ge_p3_0.lo: crypto_sign/ed25519/ref10/ge_p3_0.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT crypto_sign/ed25519/ref10/libsodium_la-ge_p3_0.lo -MD -MP -MF crypto_sign/ed25519/ref10/$(DEPDIR)/libsodium_la-ge_p3_0.Tpo -c -o crypto_sign/ed25519/ref10/libsodium_la-ge_p3_0.lo `test -f 'crypto_sign/ed25519/ref10/ge_p3_0.c' || echo '$(srcdir)/'`crypto_sign/ed25519/ref10/ge_p3_0.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) crypto_sign/ed25519/ref10/$(DEPDIR)/libsodium_la-ge_p3_0.Tpo crypto_sign/ed25519/ref10/$(DEPDIR)/libsodium_la-ge_p3_0.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='crypto_sign/ed25519/ref10/ge_p3_0.c' object='crypto_sign/ed25519/ref10/libsodium_la-ge_p3_0.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o crypto_sign/ed25519/ref10/libsodium_la-ge_p3_0.lo `test -f 'crypto_sign/ed25519/ref10/ge_p3_0.c' || echo '$(srcdir)/'`crypto_sign/ed25519/ref10/ge_p3_0.c
+
+crypto_sign/ed25519/ref10/libsodium_la-ge_p3_dbl.lo: crypto_sign/ed25519/ref10/ge_p3_dbl.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT crypto_sign/ed25519/ref10/libsodium_la-ge_p3_dbl.lo -MD -MP -MF crypto_sign/ed25519/ref10/$(DEPDIR)/libsodium_la-ge_p3_dbl.Tpo -c -o crypto_sign/ed25519/ref10/libsodium_la-ge_p3_dbl.lo `test -f 'crypto_sign/ed25519/ref10/ge_p3_dbl.c' || echo '$(srcdir)/'`crypto_sign/ed25519/ref10/ge_p3_dbl.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) crypto_sign/ed25519/ref10/$(DEPDIR)/libsodium_la-ge_p3_dbl.Tpo crypto_sign/ed25519/ref10/$(DEPDIR)/libsodium_la-ge_p3_dbl.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='crypto_sign/ed25519/ref10/ge_p3_dbl.c' object='crypto_sign/ed25519/ref10/libsodium_la-ge_p3_dbl.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o crypto_sign/ed25519/ref10/libsodium_la-ge_p3_dbl.lo `test -f 'crypto_sign/ed25519/ref10/ge_p3_dbl.c' || echo '$(srcdir)/'`crypto_sign/ed25519/ref10/ge_p3_dbl.c
+
+crypto_sign/ed25519/ref10/libsodium_la-ge_p3_to_cached.lo: crypto_sign/ed25519/ref10/ge_p3_to_cached.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT crypto_sign/ed25519/ref10/libsodium_la-ge_p3_to_cached.lo -MD -MP -MF crypto_sign/ed25519/ref10/$(DEPDIR)/libsodium_la-ge_p3_to_cached.Tpo -c -o crypto_sign/ed25519/ref10/libsodium_la-ge_p3_to_cached.lo `test -f 'crypto_sign/ed25519/ref10/ge_p3_to_cached.c' || echo '$(srcdir)/'`crypto_sign/ed25519/ref10/ge_p3_to_cached.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) crypto_sign/ed25519/ref10/$(DEPDIR)/libsodium_la-ge_p3_to_cached.Tpo crypto_sign/ed25519/ref10/$(DEPDIR)/libsodium_la-ge_p3_to_cached.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='crypto_sign/ed25519/ref10/ge_p3_to_cached.c' object='crypto_sign/ed25519/ref10/libsodium_la-ge_p3_to_cached.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o crypto_sign/ed25519/ref10/libsodium_la-ge_p3_to_cached.lo `test -f 'crypto_sign/ed25519/ref10/ge_p3_to_cached.c' || echo '$(srcdir)/'`crypto_sign/ed25519/ref10/ge_p3_to_cached.c
+
+crypto_sign/ed25519/ref10/libsodium_la-ge_p3_to_p2.lo: crypto_sign/ed25519/ref10/ge_p3_to_p2.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT crypto_sign/ed25519/ref10/libsodium_la-ge_p3_to_p2.lo -MD -MP -MF crypto_sign/ed25519/ref10/$(DEPDIR)/libsodium_la-ge_p3_to_p2.Tpo -c -o crypto_sign/ed25519/ref10/libsodium_la-ge_p3_to_p2.lo `test -f 'crypto_sign/ed25519/ref10/ge_p3_to_p2.c' || echo '$(srcdir)/'`crypto_sign/ed25519/ref10/ge_p3_to_p2.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) crypto_sign/ed25519/ref10/$(DEPDIR)/libsodium_la-ge_p3_to_p2.Tpo crypto_sign/ed25519/ref10/$(DEPDIR)/libsodium_la-ge_p3_to_p2.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='crypto_sign/ed25519/ref10/ge_p3_to_p2.c' object='crypto_sign/ed25519/ref10/libsodium_la-ge_p3_to_p2.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o crypto_sign/ed25519/ref10/libsodium_la-ge_p3_to_p2.lo `test -f 'crypto_sign/ed25519/ref10/ge_p3_to_p2.c' || echo '$(srcdir)/'`crypto_sign/ed25519/ref10/ge_p3_to_p2.c
+
+crypto_sign/ed25519/ref10/libsodium_la-ge_p3_tobytes.lo: crypto_sign/ed25519/ref10/ge_p3_tobytes.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT crypto_sign/ed25519/ref10/libsodium_la-ge_p3_tobytes.lo -MD -MP -MF crypto_sign/ed25519/ref10/$(DEPDIR)/libsodium_la-ge_p3_tobytes.Tpo -c -o crypto_sign/ed25519/ref10/libsodium_la-ge_p3_tobytes.lo `test -f 'crypto_sign/ed25519/ref10/ge_p3_tobytes.c' || echo '$(srcdir)/'`crypto_sign/ed25519/ref10/ge_p3_tobytes.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) crypto_sign/ed25519/ref10/$(DEPDIR)/libsodium_la-ge_p3_tobytes.Tpo crypto_sign/ed25519/ref10/$(DEPDIR)/libsodium_la-ge_p3_tobytes.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='crypto_sign/ed25519/ref10/ge_p3_tobytes.c' object='crypto_sign/ed25519/ref10/libsodium_la-ge_p3_tobytes.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o crypto_sign/ed25519/ref10/libsodium_la-ge_p3_tobytes.lo `test -f 'crypto_sign/ed25519/ref10/ge_p3_tobytes.c' || echo '$(srcdir)/'`crypto_sign/ed25519/ref10/ge_p3_tobytes.c
+
+crypto_sign/ed25519/ref10/libsodium_la-ge_precomp_0.lo: crypto_sign/ed25519/ref10/ge_precomp_0.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT crypto_sign/ed25519/ref10/libsodium_la-ge_precomp_0.lo -MD -MP -MF crypto_sign/ed25519/ref10/$(DEPDIR)/libsodium_la-ge_precomp_0.Tpo -c -o crypto_sign/ed25519/ref10/libsodium_la-ge_precomp_0.lo `test -f 'crypto_sign/ed25519/ref10/ge_precomp_0.c' || echo '$(srcdir)/'`crypto_sign/ed25519/ref10/ge_precomp_0.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) crypto_sign/ed25519/ref10/$(DEPDIR)/libsodium_la-ge_precomp_0.Tpo crypto_sign/ed25519/ref10/$(DEPDIR)/libsodium_la-ge_precomp_0.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='crypto_sign/ed25519/ref10/ge_precomp_0.c' object='crypto_sign/ed25519/ref10/libsodium_la-ge_precomp_0.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o crypto_sign/ed25519/ref10/libsodium_la-ge_precomp_0.lo `test -f 'crypto_sign/ed25519/ref10/ge_precomp_0.c' || echo '$(srcdir)/'`crypto_sign/ed25519/ref10/ge_precomp_0.c
+
+crypto_sign/ed25519/ref10/libsodium_la-ge_scalarmult_base.lo: crypto_sign/ed25519/ref10/ge_scalarmult_base.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT crypto_sign/ed25519/ref10/libsodium_la-ge_scalarmult_base.lo -MD -MP -MF crypto_sign/ed25519/ref10/$(DEPDIR)/libsodium_la-ge_scalarmult_base.Tpo -c -o crypto_sign/ed25519/ref10/libsodium_la-ge_scalarmult_base.lo `test -f 'crypto_sign/ed25519/ref10/ge_scalarmult_base.c' || echo '$(srcdir)/'`crypto_sign/ed25519/ref10/ge_scalarmult_base.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) crypto_sign/ed25519/ref10/$(DEPDIR)/libsodium_la-ge_scalarmult_base.Tpo crypto_sign/ed25519/ref10/$(DEPDIR)/libsodium_la-ge_scalarmult_base.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='crypto_sign/ed25519/ref10/ge_scalarmult_base.c' object='crypto_sign/ed25519/ref10/libsodium_la-ge_scalarmult_base.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o crypto_sign/ed25519/ref10/libsodium_la-ge_scalarmult_base.lo `test -f 'crypto_sign/ed25519/ref10/ge_scalarmult_base.c' || echo '$(srcdir)/'`crypto_sign/ed25519/ref10/ge_scalarmult_base.c
+
+crypto_sign/ed25519/ref10/libsodium_la-ge_sub.lo: crypto_sign/ed25519/ref10/ge_sub.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT crypto_sign/ed25519/ref10/libsodium_la-ge_sub.lo -MD -MP -MF crypto_sign/ed25519/ref10/$(DEPDIR)/libsodium_la-ge_sub.Tpo -c -o crypto_sign/ed25519/ref10/libsodium_la-ge_sub.lo `test -f 'crypto_sign/ed25519/ref10/ge_sub.c' || echo '$(srcdir)/'`crypto_sign/ed25519/ref10/ge_sub.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) crypto_sign/ed25519/ref10/$(DEPDIR)/libsodium_la-ge_sub.Tpo crypto_sign/ed25519/ref10/$(DEPDIR)/libsodium_la-ge_sub.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='crypto_sign/ed25519/ref10/ge_sub.c' object='crypto_sign/ed25519/ref10/libsodium_la-ge_sub.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o crypto_sign/ed25519/ref10/libsodium_la-ge_sub.lo `test -f 'crypto_sign/ed25519/ref10/ge_sub.c' || echo '$(srcdir)/'`crypto_sign/ed25519/ref10/ge_sub.c
+
+crypto_sign/ed25519/ref10/libsodium_la-ge_tobytes.lo: crypto_sign/ed25519/ref10/ge_tobytes.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT crypto_sign/ed25519/ref10/libsodium_la-ge_tobytes.lo -MD -MP -MF crypto_sign/ed25519/ref10/$(DEPDIR)/libsodium_la-ge_tobytes.Tpo -c -o crypto_sign/ed25519/ref10/libsodium_la-ge_tobytes.lo `test -f 'crypto_sign/ed25519/ref10/ge_tobytes.c' || echo '$(srcdir)/'`crypto_sign/ed25519/ref10/ge_tobytes.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) crypto_sign/ed25519/ref10/$(DEPDIR)/libsodium_la-ge_tobytes.Tpo crypto_sign/ed25519/ref10/$(DEPDIR)/libsodium_la-ge_tobytes.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='crypto_sign/ed25519/ref10/ge_tobytes.c' object='crypto_sign/ed25519/ref10/libsodium_la-ge_tobytes.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o crypto_sign/ed25519/ref10/libsodium_la-ge_tobytes.lo `test -f 'crypto_sign/ed25519/ref10/ge_tobytes.c' || echo '$(srcdir)/'`crypto_sign/ed25519/ref10/ge_tobytes.c
+
+crypto_sign/ed25519/ref10/libsodium_la-keypair.lo: crypto_sign/ed25519/ref10/keypair.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT crypto_sign/ed25519/ref10/libsodium_la-keypair.lo -MD -MP -MF crypto_sign/ed25519/ref10/$(DEPDIR)/libsodium_la-keypair.Tpo -c -o crypto_sign/ed25519/ref10/libsodium_la-keypair.lo `test -f 'crypto_sign/ed25519/ref10/keypair.c' || echo '$(srcdir)/'`crypto_sign/ed25519/ref10/keypair.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) crypto_sign/ed25519/ref10/$(DEPDIR)/libsodium_la-keypair.Tpo crypto_sign/ed25519/ref10/$(DEPDIR)/libsodium_la-keypair.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='crypto_sign/ed25519/ref10/keypair.c' object='crypto_sign/ed25519/ref10/libsodium_la-keypair.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o crypto_sign/ed25519/ref10/libsodium_la-keypair.lo `test -f 'crypto_sign/ed25519/ref10/keypair.c' || echo '$(srcdir)/'`crypto_sign/ed25519/ref10/keypair.c
+
+crypto_sign/ed25519/ref10/libsodium_la-open.lo: crypto_sign/ed25519/ref10/open.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT crypto_sign/ed25519/ref10/libsodium_la-open.lo -MD -MP -MF crypto_sign/ed25519/ref10/$(DEPDIR)/libsodium_la-open.Tpo -c -o crypto_sign/ed25519/ref10/libsodium_la-open.lo `test -f 'crypto_sign/ed25519/ref10/open.c' || echo '$(srcdir)/'`crypto_sign/ed25519/ref10/open.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) crypto_sign/ed25519/ref10/$(DEPDIR)/libsodium_la-open.Tpo crypto_sign/ed25519/ref10/$(DEPDIR)/libsodium_la-open.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='crypto_sign/ed25519/ref10/open.c' object='crypto_sign/ed25519/ref10/libsodium_la-open.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o crypto_sign/ed25519/ref10/libsodium_la-open.lo `test -f 'crypto_sign/ed25519/ref10/open.c' || echo '$(srcdir)/'`crypto_sign/ed25519/ref10/open.c
+
+crypto_sign/ed25519/ref10/libsodium_la-sc_muladd.lo: crypto_sign/ed25519/ref10/sc_muladd.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT crypto_sign/ed25519/ref10/libsodium_la-sc_muladd.lo -MD -MP -MF crypto_sign/ed25519/ref10/$(DEPDIR)/libsodium_la-sc_muladd.Tpo -c -o crypto_sign/ed25519/ref10/libsodium_la-sc_muladd.lo `test -f 'crypto_sign/ed25519/ref10/sc_muladd.c' || echo '$(srcdir)/'`crypto_sign/ed25519/ref10/sc_muladd.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) crypto_sign/ed25519/ref10/$(DEPDIR)/libsodium_la-sc_muladd.Tpo crypto_sign/ed25519/ref10/$(DEPDIR)/libsodium_la-sc_muladd.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='crypto_sign/ed25519/ref10/sc_muladd.c' object='crypto_sign/ed25519/ref10/libsodium_la-sc_muladd.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o crypto_sign/ed25519/ref10/libsodium_la-sc_muladd.lo `test -f 'crypto_sign/ed25519/ref10/sc_muladd.c' || echo '$(srcdir)/'`crypto_sign/ed25519/ref10/sc_muladd.c
+
+crypto_sign/ed25519/ref10/libsodium_la-sc_reduce.lo: crypto_sign/ed25519/ref10/sc_reduce.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT crypto_sign/ed25519/ref10/libsodium_la-sc_reduce.lo -MD -MP -MF crypto_sign/ed25519/ref10/$(DEPDIR)/libsodium_la-sc_reduce.Tpo -c -o crypto_sign/ed25519/ref10/libsodium_la-sc_reduce.lo `test -f 'crypto_sign/ed25519/ref10/sc_reduce.c' || echo '$(srcdir)/'`crypto_sign/ed25519/ref10/sc_reduce.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) crypto_sign/ed25519/ref10/$(DEPDIR)/libsodium_la-sc_reduce.Tpo crypto_sign/ed25519/ref10/$(DEPDIR)/libsodium_la-sc_reduce.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='crypto_sign/ed25519/ref10/sc_reduce.c' object='crypto_sign/ed25519/ref10/libsodium_la-sc_reduce.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o crypto_sign/ed25519/ref10/libsodium_la-sc_reduce.lo `test -f 'crypto_sign/ed25519/ref10/sc_reduce.c' || echo '$(srcdir)/'`crypto_sign/ed25519/ref10/sc_reduce.c
+
+crypto_sign/ed25519/ref10/libsodium_la-sign.lo: crypto_sign/ed25519/ref10/sign.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT crypto_sign/ed25519/ref10/libsodium_la-sign.lo -MD -MP -MF crypto_sign/ed25519/ref10/$(DEPDIR)/libsodium_la-sign.Tpo -c -o crypto_sign/ed25519/ref10/libsodium_la-sign.lo `test -f 'crypto_sign/ed25519/ref10/sign.c' || echo '$(srcdir)/'`crypto_sign/ed25519/ref10/sign.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) crypto_sign/ed25519/ref10/$(DEPDIR)/libsodium_la-sign.Tpo crypto_sign/ed25519/ref10/$(DEPDIR)/libsodium_la-sign.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='crypto_sign/ed25519/ref10/sign.c' object='crypto_sign/ed25519/ref10/libsodium_la-sign.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o crypto_sign/ed25519/ref10/libsodium_la-sign.lo `test -f 'crypto_sign/ed25519/ref10/sign.c' || echo '$(srcdir)/'`crypto_sign/ed25519/ref10/sign.c
+
+crypto_sign/edwards25519sha512batch/libsodium_la-sign_edwards25519sha512batch_api.lo: crypto_sign/edwards25519sha512batch/sign_edwards25519sha512batch_api.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT crypto_sign/edwards25519sha512batch/libsodium_la-sign_edwards25519sha512batch_api.lo -MD -MP -MF crypto_sign/edwards25519sha512batch/$(DEPDIR)/libsodium_la-sign_edwards25519sha512batch_api.Tpo -c -o crypto_sign/edwards25519sha512batch/libsodium_la-sign_edwards25519sha512batch_api.lo `test -f 'crypto_sign/edwards25519sha512batch/sign_edwards25519sha512batch_api.c' || echo '$(srcdir)/'`crypto_sign/edwards25519sha512batch/sign_edwards25519sha512batch_api.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) crypto_sign/edwards25519sha512batch/$(DEPDIR)/libsodium_la-sign_edwards25519sha512batch_api.Tpo crypto_sign/edwards25519sha512batch/$(DEPDIR)/libsodium_la-sign_edwards25519sha512batch_api.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='crypto_sign/edwards25519sha512batch/sign_edwards25519sha512batch_api.c' object='crypto_sign/edwards25519sha512batch/libsodium_la-sign_edwards25519sha512batch_api.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o crypto_sign/edwards25519sha512batch/libsodium_la-sign_edwards25519sha512batch_api.lo `test -f 'crypto_sign/edwards25519sha512batch/sign_edwards25519sha512batch_api.c' || echo '$(srcdir)/'`crypto_sign/edwards25519sha512batch/sign_edwards25519sha512batch_api.c
+
+crypto_sign/edwards25519sha512batch/ref/libsodium_la-fe25519_edwards25519sha512batch.lo: crypto_sign/edwards25519sha512batch/ref/fe25519_edwards25519sha512batch.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT crypto_sign/edwards25519sha512batch/ref/libsodium_la-fe25519_edwards25519sha512batch.lo -MD -MP -MF crypto_sign/edwards25519sha512batch/ref/$(DEPDIR)/libsodium_la-fe25519_edwards25519sha512batch.Tpo -c -o crypto_sign/edwards25519sha512batch/ref/libsodium_la-fe25519_edwards25519sha512batch.lo `test -f 'crypto_sign/edwards25519sha512batch/ref/fe25519_edwards25519sha512batch.c' || echo '$(srcdir)/'`crypto_sign/edwards25519sha512batch/ref/fe25519_edwards25519sha512batch.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) crypto_sign/edwards25519sha512batch/ref/$(DEPDIR)/libsodium_la-fe25519_edwards25519sha512batch.Tpo crypto_sign/edwards25519sha512batch/ref/$(DEPDIR)/libsodium_la-fe25519_edwards25519sha512batch.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='crypto_sign/edwards25519sha512batch/ref/fe25519_edwards25519sha512batch.c' object='crypto_sign/edwards25519sha512batch/ref/libsodium_la-fe25519_edwards25519sha512batch.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o crypto_sign/edwards25519sha512batch/ref/libsodium_la-fe25519_edwards25519sha512batch.lo `test -f 'crypto_sign/edwards25519sha512batch/ref/fe25519_edwards25519sha512batch.c' || echo '$(srcdir)/'`crypto_sign/edwards25519sha512batch/ref/fe25519_edwards25519sha512batch.c
+
+crypto_sign/edwards25519sha512batch/ref/libsodium_la-ge25519_edwards25519sha512batch.lo: crypto_sign/edwards25519sha512batch/ref/ge25519_edwards25519sha512batch.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT crypto_sign/edwards25519sha512batch/ref/libsodium_la-ge25519_edwards25519sha512batch.lo -MD -MP -MF crypto_sign/edwards25519sha512batch/ref/$(DEPDIR)/libsodium_la-ge25519_edwards25519sha512batch.Tpo -c -o crypto_sign/edwards25519sha512batch/ref/libsodium_la-ge25519_edwards25519sha512batch.lo `test -f 'crypto_sign/edwards25519sha512batch/ref/ge25519_edwards25519sha512batch.c' || echo '$(srcdir)/'`crypto_sign/edwards25519sha512batch/ref/ge25519_edwards25519sha512batch.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) crypto_sign/edwards25519sha512batch/ref/$(DEPDIR)/libsodium_la-ge25519_edwards25519sha512batch.Tpo crypto_sign/edwards25519sha512batch/ref/$(DEPDIR)/libsodium_la-ge25519_edwards25519sha512batch.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='crypto_sign/edwards25519sha512batch/ref/ge25519_edwards25519sha512batch.c' object='crypto_sign/edwards25519sha512batch/ref/libsodium_la-ge25519_edwards25519sha512batch.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o crypto_sign/edwards25519sha512batch/ref/libsodium_la-ge25519_edwards25519sha512batch.lo `test -f 'crypto_sign/edwards25519sha512batch/ref/ge25519_edwards25519sha512batch.c' || echo '$(srcdir)/'`crypto_sign/edwards25519sha512batch/ref/ge25519_edwards25519sha512batch.c
+
+crypto_sign/edwards25519sha512batch/ref/libsodium_la-sc25519_edwards25519sha512batch.lo: crypto_sign/edwards25519sha512batch/ref/sc25519_edwards25519sha512batch.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT crypto_sign/edwards25519sha512batch/ref/libsodium_la-sc25519_edwards25519sha512batch.lo -MD -MP -MF crypto_sign/edwards25519sha512batch/ref/$(DEPDIR)/libsodium_la-sc25519_edwards25519sha512batch.Tpo -c -o crypto_sign/edwards25519sha512batch/ref/libsodium_la-sc25519_edwards25519sha512batch.lo `test -f 'crypto_sign/edwards25519sha512batch/ref/sc25519_edwards25519sha512batch.c' || echo '$(srcdir)/'`crypto_sign/edwards25519sha512batch/ref/sc25519_edwards25519sha512batch.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) crypto_sign/edwards25519sha512batch/ref/$(DEPDIR)/libsodium_la-sc25519_edwards25519sha512batch.Tpo crypto_sign/edwards25519sha512batch/ref/$(DEPDIR)/libsodium_la-sc25519_edwards25519sha512batch.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='crypto_sign/edwards25519sha512batch/ref/sc25519_edwards25519sha512batch.c' object='crypto_sign/edwards25519sha512batch/ref/libsodium_la-sc25519_edwards25519sha512batch.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o crypto_sign/edwards25519sha512batch/ref/libsodium_la-sc25519_edwards25519sha512batch.lo `test -f 'crypto_sign/edwards25519sha512batch/ref/sc25519_edwards25519sha512batch.c' || echo '$(srcdir)/'`crypto_sign/edwards25519sha512batch/ref/sc25519_edwards25519sha512batch.c
+
+crypto_sign/edwards25519sha512batch/ref/libsodium_la-sign_edwards25519sha512batch.lo: crypto_sign/edwards25519sha512batch/ref/sign_edwards25519sha512batch.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT crypto_sign/edwards25519sha512batch/ref/libsodium_la-sign_edwards25519sha512batch.lo -MD -MP -MF crypto_sign/edwards25519sha512batch/ref/$(DEPDIR)/libsodium_la-sign_edwards25519sha512batch.Tpo -c -o crypto_sign/edwards25519sha512batch/ref/libsodium_la-sign_edwards25519sha512batch.lo `test -f 'crypto_sign/edwards25519sha512batch/ref/sign_edwards25519sha512batch.c' || echo '$(srcdir)/'`crypto_sign/edwards25519sha512batch/ref/sign_edwards25519sha512batch.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) crypto_sign/edwards25519sha512batch/ref/$(DEPDIR)/libsodium_la-sign_edwards25519sha512batch.Tpo crypto_sign/edwards25519sha512batch/ref/$(DEPDIR)/libsodium_la-sign_edwards25519sha512batch.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='crypto_sign/edwards25519sha512batch/ref/sign_edwards25519sha512batch.c' object='crypto_sign/edwards25519sha512batch/ref/libsodium_la-sign_edwards25519sha512batch.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o crypto_sign/edwards25519sha512batch/ref/libsodium_la-sign_edwards25519sha512batch.lo `test -f 'crypto_sign/edwards25519sha512batch/ref/sign_edwards25519sha512batch.c' || echo '$(srcdir)/'`crypto_sign/edwards25519sha512batch/ref/sign_edwards25519sha512batch.c
+
+crypto_stream/libsodium_la-crypto_stream.lo: crypto_stream/crypto_stream.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT crypto_stream/libsodium_la-crypto_stream.lo -MD -MP -MF crypto_stream/$(DEPDIR)/libsodium_la-crypto_stream.Tpo -c -o crypto_stream/libsodium_la-crypto_stream.lo `test -f 'crypto_stream/crypto_stream.c' || echo '$(srcdir)/'`crypto_stream/crypto_stream.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) crypto_stream/$(DEPDIR)/libsodium_la-crypto_stream.Tpo crypto_stream/$(DEPDIR)/libsodium_la-crypto_stream.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='crypto_stream/crypto_stream.c' object='crypto_stream/libsodium_la-crypto_stream.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o crypto_stream/libsodium_la-crypto_stream.lo `test -f 'crypto_stream/crypto_stream.c' || echo '$(srcdir)/'`crypto_stream/crypto_stream.c
+
+crypto_stream/aes128ctr/portable/libsodium_la-afternm_aes128ctr.lo: crypto_stream/aes128ctr/portable/afternm_aes128ctr.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT crypto_stream/aes128ctr/portable/libsodium_la-afternm_aes128ctr.lo -MD -MP -MF crypto_stream/aes128ctr/portable/$(DEPDIR)/libsodium_la-afternm_aes128ctr.Tpo -c -o crypto_stream/aes128ctr/portable/libsodium_la-afternm_aes128ctr.lo `test -f 'crypto_stream/aes128ctr/portable/afternm_aes128ctr.c' || echo '$(srcdir)/'`crypto_stream/aes128ctr/portable/afternm_aes128ctr.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) crypto_stream/aes128ctr/portable/$(DEPDIR)/libsodium_la-afternm_aes128ctr.Tpo crypto_stream/aes128ctr/portable/$(DEPDIR)/libsodium_la-afternm_aes128ctr.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='crypto_stream/aes128ctr/portable/afternm_aes128ctr.c' object='crypto_stream/aes128ctr/portable/libsodium_la-afternm_aes128ctr.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o crypto_stream/aes128ctr/portable/libsodium_la-afternm_aes128ctr.lo `test -f 'crypto_stream/aes128ctr/portable/afternm_aes128ctr.c' || echo '$(srcdir)/'`crypto_stream/aes128ctr/portable/afternm_aes128ctr.c
+
+crypto_stream/aes128ctr/libsodium_la-stream_aes128ctr_api.lo: crypto_stream/aes128ctr/stream_aes128ctr_api.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT crypto_stream/aes128ctr/libsodium_la-stream_aes128ctr_api.lo -MD -MP -MF crypto_stream/aes128ctr/$(DEPDIR)/libsodium_la-stream_aes128ctr_api.Tpo -c -o crypto_stream/aes128ctr/libsodium_la-stream_aes128ctr_api.lo `test -f 'crypto_stream/aes128ctr/stream_aes128ctr_api.c' || echo '$(srcdir)/'`crypto_stream/aes128ctr/stream_aes128ctr_api.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) crypto_stream/aes128ctr/$(DEPDIR)/libsodium_la-stream_aes128ctr_api.Tpo crypto_stream/aes128ctr/$(DEPDIR)/libsodium_la-stream_aes128ctr_api.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='crypto_stream/aes128ctr/stream_aes128ctr_api.c' object='crypto_stream/aes128ctr/libsodium_la-stream_aes128ctr_api.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o crypto_stream/aes128ctr/libsodium_la-stream_aes128ctr_api.lo `test -f 'crypto_stream/aes128ctr/stream_aes128ctr_api.c' || echo '$(srcdir)/'`crypto_stream/aes128ctr/stream_aes128ctr_api.c
+
+crypto_stream/aes128ctr/portable/libsodium_la-beforenm_aes128ctr.lo: crypto_stream/aes128ctr/portable/beforenm_aes128ctr.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT crypto_stream/aes128ctr/portable/libsodium_la-beforenm_aes128ctr.lo -MD -MP -MF crypto_stream/aes128ctr/portable/$(DEPDIR)/libsodium_la-beforenm_aes128ctr.Tpo -c -o crypto_stream/aes128ctr/portable/libsodium_la-beforenm_aes128ctr.lo `test -f 'crypto_stream/aes128ctr/portable/beforenm_aes128ctr.c' || echo '$(srcdir)/'`crypto_stream/aes128ctr/portable/beforenm_aes128ctr.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) crypto_stream/aes128ctr/portable/$(DEPDIR)/libsodium_la-beforenm_aes128ctr.Tpo crypto_stream/aes128ctr/portable/$(DEPDIR)/libsodium_la-beforenm_aes128ctr.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='crypto_stream/aes128ctr/portable/beforenm_aes128ctr.c' object='crypto_stream/aes128ctr/portable/libsodium_la-beforenm_aes128ctr.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o crypto_stream/aes128ctr/portable/libsodium_la-beforenm_aes128ctr.lo `test -f 'crypto_stream/aes128ctr/portable/beforenm_aes128ctr.c' || echo '$(srcdir)/'`crypto_stream/aes128ctr/portable/beforenm_aes128ctr.c
+
+crypto_stream/aes128ctr/portable/libsodium_la-common_aes128ctr.lo: crypto_stream/aes128ctr/portable/common_aes128ctr.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT crypto_stream/aes128ctr/portable/libsodium_la-common_aes128ctr.lo -MD -MP -MF crypto_stream/aes128ctr/portable/$(DEPDIR)/libsodium_la-common_aes128ctr.Tpo -c -o crypto_stream/aes128ctr/portable/libsodium_la-common_aes128ctr.lo `test -f 'crypto_stream/aes128ctr/portable/common_aes128ctr.c' || echo '$(srcdir)/'`crypto_stream/aes128ctr/portable/common_aes128ctr.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) crypto_stream/aes128ctr/portable/$(DEPDIR)/libsodium_la-common_aes128ctr.Tpo crypto_stream/aes128ctr/portable/$(DEPDIR)/libsodium_la-common_aes128ctr.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='crypto_stream/aes128ctr/portable/common_aes128ctr.c' object='crypto_stream/aes128ctr/portable/libsodium_la-common_aes128ctr.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o crypto_stream/aes128ctr/portable/libsodium_la-common_aes128ctr.lo `test -f 'crypto_stream/aes128ctr/portable/common_aes128ctr.c' || echo '$(srcdir)/'`crypto_stream/aes128ctr/portable/common_aes128ctr.c
+
+crypto_stream/aes128ctr/portable/libsodium_la-consts_aes128ctr.lo: crypto_stream/aes128ctr/portable/consts_aes128ctr.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT crypto_stream/aes128ctr/portable/libsodium_la-consts_aes128ctr.lo -MD -MP -MF crypto_stream/aes128ctr/portable/$(DEPDIR)/libsodium_la-consts_aes128ctr.Tpo -c -o crypto_stream/aes128ctr/portable/libsodium_la-consts_aes128ctr.lo `test -f 'crypto_stream/aes128ctr/portable/consts_aes128ctr.c' || echo '$(srcdir)/'`crypto_stream/aes128ctr/portable/consts_aes128ctr.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) crypto_stream/aes128ctr/portable/$(DEPDIR)/libsodium_la-consts_aes128ctr.Tpo crypto_stream/aes128ctr/portable/$(DEPDIR)/libsodium_la-consts_aes128ctr.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='crypto_stream/aes128ctr/portable/consts_aes128ctr.c' object='crypto_stream/aes128ctr/portable/libsodium_la-consts_aes128ctr.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o crypto_stream/aes128ctr/portable/libsodium_la-consts_aes128ctr.lo `test -f 'crypto_stream/aes128ctr/portable/consts_aes128ctr.c' || echo '$(srcdir)/'`crypto_stream/aes128ctr/portable/consts_aes128ctr.c
+
+crypto_stream/aes128ctr/portable/libsodium_la-int128_aes128ctr.lo: crypto_stream/aes128ctr/portable/int128_aes128ctr.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT crypto_stream/aes128ctr/portable/libsodium_la-int128_aes128ctr.lo -MD -MP -MF crypto_stream/aes128ctr/portable/$(DEPDIR)/libsodium_la-int128_aes128ctr.Tpo -c -o crypto_stream/aes128ctr/portable/libsodium_la-int128_aes128ctr.lo `test -f 'crypto_stream/aes128ctr/portable/int128_aes128ctr.c' || echo '$(srcdir)/'`crypto_stream/aes128ctr/portable/int128_aes128ctr.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) crypto_stream/aes128ctr/portable/$(DEPDIR)/libsodium_la-int128_aes128ctr.Tpo crypto_stream/aes128ctr/portable/$(DEPDIR)/libsodium_la-int128_aes128ctr.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='crypto_stream/aes128ctr/portable/int128_aes128ctr.c' object='crypto_stream/aes128ctr/portable/libsodium_la-int128_aes128ctr.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o crypto_stream/aes128ctr/portable/libsodium_la-int128_aes128ctr.lo `test -f 'crypto_stream/aes128ctr/portable/int128_aes128ctr.c' || echo '$(srcdir)/'`crypto_stream/aes128ctr/portable/int128_aes128ctr.c
+
+crypto_stream/aes128ctr/portable/libsodium_la-stream_aes128ctr.lo: crypto_stream/aes128ctr/portable/stream_aes128ctr.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT crypto_stream/aes128ctr/portable/libsodium_la-stream_aes128ctr.lo -MD -MP -MF crypto_stream/aes128ctr/portable/$(DEPDIR)/libsodium_la-stream_aes128ctr.Tpo -c -o crypto_stream/aes128ctr/portable/libsodium_la-stream_aes128ctr.lo `test -f 'crypto_stream/aes128ctr/portable/stream_aes128ctr.c' || echo '$(srcdir)/'`crypto_stream/aes128ctr/portable/stream_aes128ctr.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) crypto_stream/aes128ctr/portable/$(DEPDIR)/libsodium_la-stream_aes128ctr.Tpo crypto_stream/aes128ctr/portable/$(DEPDIR)/libsodium_la-stream_aes128ctr.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='crypto_stream/aes128ctr/portable/stream_aes128ctr.c' object='crypto_stream/aes128ctr/portable/libsodium_la-stream_aes128ctr.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o crypto_stream/aes128ctr/portable/libsodium_la-stream_aes128ctr.lo `test -f 'crypto_stream/aes128ctr/portable/stream_aes128ctr.c' || echo '$(srcdir)/'`crypto_stream/aes128ctr/portable/stream_aes128ctr.c
+
+crypto_stream/aes128ctr/portable/libsodium_la-xor_afternm_aes128ctr.lo: crypto_stream/aes128ctr/portable/xor_afternm_aes128ctr.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT crypto_stream/aes128ctr/portable/libsodium_la-xor_afternm_aes128ctr.lo -MD -MP -MF crypto_stream/aes128ctr/portable/$(DEPDIR)/libsodium_la-xor_afternm_aes128ctr.Tpo -c -o crypto_stream/aes128ctr/portable/libsodium_la-xor_afternm_aes128ctr.lo `test -f 'crypto_stream/aes128ctr/portable/xor_afternm_aes128ctr.c' || echo '$(srcdir)/'`crypto_stream/aes128ctr/portable/xor_afternm_aes128ctr.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) crypto_stream/aes128ctr/portable/$(DEPDIR)/libsodium_la-xor_afternm_aes128ctr.Tpo crypto_stream/aes128ctr/portable/$(DEPDIR)/libsodium_la-xor_afternm_aes128ctr.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='crypto_stream/aes128ctr/portable/xor_afternm_aes128ctr.c' object='crypto_stream/aes128ctr/portable/libsodium_la-xor_afternm_aes128ctr.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o crypto_stream/aes128ctr/portable/libsodium_la-xor_afternm_aes128ctr.lo `test -f 'crypto_stream/aes128ctr/portable/xor_afternm_aes128ctr.c' || echo '$(srcdir)/'`crypto_stream/aes128ctr/portable/xor_afternm_aes128ctr.c
+
+crypto_stream/aes256estream/hongjun/libsodium_la-aes256-ctr.lo: crypto_stream/aes256estream/hongjun/aes256-ctr.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT crypto_stream/aes256estream/hongjun/libsodium_la-aes256-ctr.lo -MD -MP -MF crypto_stream/aes256estream/hongjun/$(DEPDIR)/libsodium_la-aes256-ctr.Tpo -c -o crypto_stream/aes256estream/hongjun/libsodium_la-aes256-ctr.lo `test -f 'crypto_stream/aes256estream/hongjun/aes256-ctr.c' || echo '$(srcdir)/'`crypto_stream/aes256estream/hongjun/aes256-ctr.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) crypto_stream/aes256estream/hongjun/$(DEPDIR)/libsodium_la-aes256-ctr.Tpo crypto_stream/aes256estream/hongjun/$(DEPDIR)/libsodium_la-aes256-ctr.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='crypto_stream/aes256estream/hongjun/aes256-ctr.c' object='crypto_stream/aes256estream/hongjun/libsodium_la-aes256-ctr.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o crypto_stream/aes256estream/hongjun/libsodium_la-aes256-ctr.lo `test -f 'crypto_stream/aes256estream/hongjun/aes256-ctr.c' || echo '$(srcdir)/'`crypto_stream/aes256estream/hongjun/aes256-ctr.c
+
+crypto_stream/aes256estream/libsodium_la-stream_aes256estream_api.lo: crypto_stream/aes256estream/stream_aes256estream_api.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT crypto_stream/aes256estream/libsodium_la-stream_aes256estream_api.lo -MD -MP -MF crypto_stream/aes256estream/$(DEPDIR)/libsodium_la-stream_aes256estream_api.Tpo -c -o crypto_stream/aes256estream/libsodium_la-stream_aes256estream_api.lo `test -f 'crypto_stream/aes256estream/stream_aes256estream_api.c' || echo '$(srcdir)/'`crypto_stream/aes256estream/stream_aes256estream_api.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) crypto_stream/aes256estream/$(DEPDIR)/libsodium_la-stream_aes256estream_api.Tpo crypto_stream/aes256estream/$(DEPDIR)/libsodium_la-stream_aes256estream_api.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='crypto_stream/aes256estream/stream_aes256estream_api.c' object='crypto_stream/aes256estream/libsodium_la-stream_aes256estream_api.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o crypto_stream/aes256estream/libsodium_la-stream_aes256estream_api.lo `test -f 'crypto_stream/aes256estream/stream_aes256estream_api.c' || echo '$(srcdir)/'`crypto_stream/aes256estream/stream_aes256estream_api.c
+
+crypto_stream/salsa2012/libsodium_la-stream_salsa2012_api.lo: crypto_stream/salsa2012/stream_salsa2012_api.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT crypto_stream/salsa2012/libsodium_la-stream_salsa2012_api.lo -MD -MP -MF crypto_stream/salsa2012/$(DEPDIR)/libsodium_la-stream_salsa2012_api.Tpo -c -o crypto_stream/salsa2012/libsodium_la-stream_salsa2012_api.lo `test -f 'crypto_stream/salsa2012/stream_salsa2012_api.c' || echo '$(srcdir)/'`crypto_stream/salsa2012/stream_salsa2012_api.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) crypto_stream/salsa2012/$(DEPDIR)/libsodium_la-stream_salsa2012_api.Tpo crypto_stream/salsa2012/$(DEPDIR)/libsodium_la-stream_salsa2012_api.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='crypto_stream/salsa2012/stream_salsa2012_api.c' object='crypto_stream/salsa2012/libsodium_la-stream_salsa2012_api.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o crypto_stream/salsa2012/libsodium_la-stream_salsa2012_api.lo `test -f 'crypto_stream/salsa2012/stream_salsa2012_api.c' || echo '$(srcdir)/'`crypto_stream/salsa2012/stream_salsa2012_api.c
+
+crypto_stream/salsa2012/ref/libsodium_la-stream_salsa2012.lo: crypto_stream/salsa2012/ref/stream_salsa2012.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT crypto_stream/salsa2012/ref/libsodium_la-stream_salsa2012.lo -MD -MP -MF crypto_stream/salsa2012/ref/$(DEPDIR)/libsodium_la-stream_salsa2012.Tpo -c -o crypto_stream/salsa2012/ref/libsodium_la-stream_salsa2012.lo `test -f 'crypto_stream/salsa2012/ref/stream_salsa2012.c' || echo '$(srcdir)/'`crypto_stream/salsa2012/ref/stream_salsa2012.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) crypto_stream/salsa2012/ref/$(DEPDIR)/libsodium_la-stream_salsa2012.Tpo crypto_stream/salsa2012/ref/$(DEPDIR)/libsodium_la-stream_salsa2012.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='crypto_stream/salsa2012/ref/stream_salsa2012.c' object='crypto_stream/salsa2012/ref/libsodium_la-stream_salsa2012.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o crypto_stream/salsa2012/ref/libsodium_la-stream_salsa2012.lo `test -f 'crypto_stream/salsa2012/ref/stream_salsa2012.c' || echo '$(srcdir)/'`crypto_stream/salsa2012/ref/stream_salsa2012.c
+
+crypto_stream/salsa2012/ref/libsodium_la-xor_salsa2012.lo: crypto_stream/salsa2012/ref/xor_salsa2012.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT crypto_stream/salsa2012/ref/libsodium_la-xor_salsa2012.lo -MD -MP -MF crypto_stream/salsa2012/ref/$(DEPDIR)/libsodium_la-xor_salsa2012.Tpo -c -o crypto_stream/salsa2012/ref/libsodium_la-xor_salsa2012.lo `test -f 'crypto_stream/salsa2012/ref/xor_salsa2012.c' || echo '$(srcdir)/'`crypto_stream/salsa2012/ref/xor_salsa2012.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) crypto_stream/salsa2012/ref/$(DEPDIR)/libsodium_la-xor_salsa2012.Tpo crypto_stream/salsa2012/ref/$(DEPDIR)/libsodium_la-xor_salsa2012.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='crypto_stream/salsa2012/ref/xor_salsa2012.c' object='crypto_stream/salsa2012/ref/libsodium_la-xor_salsa2012.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o crypto_stream/salsa2012/ref/libsodium_la-xor_salsa2012.lo `test -f 'crypto_stream/salsa2012/ref/xor_salsa2012.c' || echo '$(srcdir)/'`crypto_stream/salsa2012/ref/xor_salsa2012.c
+
+crypto_stream/salsa208/libsodium_la-stream_salsa208_api.lo: crypto_stream/salsa208/stream_salsa208_api.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT crypto_stream/salsa208/libsodium_la-stream_salsa208_api.lo -MD -MP -MF crypto_stream/salsa208/$(DEPDIR)/libsodium_la-stream_salsa208_api.Tpo -c -o crypto_stream/salsa208/libsodium_la-stream_salsa208_api.lo `test -f 'crypto_stream/salsa208/stream_salsa208_api.c' || echo '$(srcdir)/'`crypto_stream/salsa208/stream_salsa208_api.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) crypto_stream/salsa208/$(DEPDIR)/libsodium_la-stream_salsa208_api.Tpo crypto_stream/salsa208/$(DEPDIR)/libsodium_la-stream_salsa208_api.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='crypto_stream/salsa208/stream_salsa208_api.c' object='crypto_stream/salsa208/libsodium_la-stream_salsa208_api.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o crypto_stream/salsa208/libsodium_la-stream_salsa208_api.lo `test -f 'crypto_stream/salsa208/stream_salsa208_api.c' || echo '$(srcdir)/'`crypto_stream/salsa208/stream_salsa208_api.c
+
+crypto_stream/salsa208/ref/libsodium_la-stream_salsa208.lo: crypto_stream/salsa208/ref/stream_salsa208.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT crypto_stream/salsa208/ref/libsodium_la-stream_salsa208.lo -MD -MP -MF crypto_stream/salsa208/ref/$(DEPDIR)/libsodium_la-stream_salsa208.Tpo -c -o crypto_stream/salsa208/ref/libsodium_la-stream_salsa208.lo `test -f 'crypto_stream/salsa208/ref/stream_salsa208.c' || echo '$(srcdir)/'`crypto_stream/salsa208/ref/stream_salsa208.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) crypto_stream/salsa208/ref/$(DEPDIR)/libsodium_la-stream_salsa208.Tpo crypto_stream/salsa208/ref/$(DEPDIR)/libsodium_la-stream_salsa208.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='crypto_stream/salsa208/ref/stream_salsa208.c' object='crypto_stream/salsa208/ref/libsodium_la-stream_salsa208.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o crypto_stream/salsa208/ref/libsodium_la-stream_salsa208.lo `test -f 'crypto_stream/salsa208/ref/stream_salsa208.c' || echo '$(srcdir)/'`crypto_stream/salsa208/ref/stream_salsa208.c
+
+crypto_stream/salsa208/ref/libsodium_la-xor_salsa208.lo: crypto_stream/salsa208/ref/xor_salsa208.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT crypto_stream/salsa208/ref/libsodium_la-xor_salsa208.lo -MD -MP -MF crypto_stream/salsa208/ref/$(DEPDIR)/libsodium_la-xor_salsa208.Tpo -c -o crypto_stream/salsa208/ref/libsodium_la-xor_salsa208.lo `test -f 'crypto_stream/salsa208/ref/xor_salsa208.c' || echo '$(srcdir)/'`crypto_stream/salsa208/ref/xor_salsa208.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) crypto_stream/salsa208/ref/$(DEPDIR)/libsodium_la-xor_salsa208.Tpo crypto_stream/salsa208/ref/$(DEPDIR)/libsodium_la-xor_salsa208.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='crypto_stream/salsa208/ref/xor_salsa208.c' object='crypto_stream/salsa208/ref/libsodium_la-xor_salsa208.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o crypto_stream/salsa208/ref/libsodium_la-xor_salsa208.lo `test -f 'crypto_stream/salsa208/ref/xor_salsa208.c' || echo '$(srcdir)/'`crypto_stream/salsa208/ref/xor_salsa208.c
+
+crypto_stream/xsalsa20/libsodium_la-stream_xsalsa20_api.lo: crypto_stream/xsalsa20/stream_xsalsa20_api.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT crypto_stream/xsalsa20/libsodium_la-stream_xsalsa20_api.lo -MD -MP -MF crypto_stream/xsalsa20/$(DEPDIR)/libsodium_la-stream_xsalsa20_api.Tpo -c -o crypto_stream/xsalsa20/libsodium_la-stream_xsalsa20_api.lo `test -f 'crypto_stream/xsalsa20/stream_xsalsa20_api.c' || echo '$(srcdir)/'`crypto_stream/xsalsa20/stream_xsalsa20_api.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) crypto_stream/xsalsa20/$(DEPDIR)/libsodium_la-stream_xsalsa20_api.Tpo crypto_stream/xsalsa20/$(DEPDIR)/libsodium_la-stream_xsalsa20_api.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='crypto_stream/xsalsa20/stream_xsalsa20_api.c' object='crypto_stream/xsalsa20/libsodium_la-stream_xsalsa20_api.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o crypto_stream/xsalsa20/libsodium_la-stream_xsalsa20_api.lo `test -f 'crypto_stream/xsalsa20/stream_xsalsa20_api.c' || echo '$(srcdir)/'`crypto_stream/xsalsa20/stream_xsalsa20_api.c
+
+crypto_stream/xsalsa20/ref/libsodium_la-stream_xsalsa20.lo: crypto_stream/xsalsa20/ref/stream_xsalsa20.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT crypto_stream/xsalsa20/ref/libsodium_la-stream_xsalsa20.lo -MD -MP -MF crypto_stream/xsalsa20/ref/$(DEPDIR)/libsodium_la-stream_xsalsa20.Tpo -c -o crypto_stream/xsalsa20/ref/libsodium_la-stream_xsalsa20.lo `test -f 'crypto_stream/xsalsa20/ref/stream_xsalsa20.c' || echo '$(srcdir)/'`crypto_stream/xsalsa20/ref/stream_xsalsa20.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) crypto_stream/xsalsa20/ref/$(DEPDIR)/libsodium_la-stream_xsalsa20.Tpo crypto_stream/xsalsa20/ref/$(DEPDIR)/libsodium_la-stream_xsalsa20.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='crypto_stream/xsalsa20/ref/stream_xsalsa20.c' object='crypto_stream/xsalsa20/ref/libsodium_la-stream_xsalsa20.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o crypto_stream/xsalsa20/ref/libsodium_la-stream_xsalsa20.lo `test -f 'crypto_stream/xsalsa20/ref/stream_xsalsa20.c' || echo '$(srcdir)/'`crypto_stream/xsalsa20/ref/stream_xsalsa20.c
+
+crypto_stream/xsalsa20/ref/libsodium_la-xor_xsalsa20.lo: crypto_stream/xsalsa20/ref/xor_xsalsa20.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT crypto_stream/xsalsa20/ref/libsodium_la-xor_xsalsa20.lo -MD -MP -MF crypto_stream/xsalsa20/ref/$(DEPDIR)/libsodium_la-xor_xsalsa20.Tpo -c -o crypto_stream/xsalsa20/ref/libsodium_la-xor_xsalsa20.lo `test -f 'crypto_stream/xsalsa20/ref/xor_xsalsa20.c' || echo '$(srcdir)/'`crypto_stream/xsalsa20/ref/xor_xsalsa20.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) crypto_stream/xsalsa20/ref/$(DEPDIR)/libsodium_la-xor_xsalsa20.Tpo crypto_stream/xsalsa20/ref/$(DEPDIR)/libsodium_la-xor_xsalsa20.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='crypto_stream/xsalsa20/ref/xor_xsalsa20.c' object='crypto_stream/xsalsa20/ref/libsodium_la-xor_xsalsa20.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o crypto_stream/xsalsa20/ref/libsodium_la-xor_xsalsa20.lo `test -f 'crypto_stream/xsalsa20/ref/xor_xsalsa20.c' || echo '$(srcdir)/'`crypto_stream/xsalsa20/ref/xor_xsalsa20.c
+
+crypto_verify/16/libsodium_la-verify_16_api.lo: crypto_verify/16/verify_16_api.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT crypto_verify/16/libsodium_la-verify_16_api.lo -MD -MP -MF crypto_verify/16/$(DEPDIR)/libsodium_la-verify_16_api.Tpo -c -o crypto_verify/16/libsodium_la-verify_16_api.lo `test -f 'crypto_verify/16/verify_16_api.c' || echo '$(srcdir)/'`crypto_verify/16/verify_16_api.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) crypto_verify/16/$(DEPDIR)/libsodium_la-verify_16_api.Tpo crypto_verify/16/$(DEPDIR)/libsodium_la-verify_16_api.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='crypto_verify/16/verify_16_api.c' object='crypto_verify/16/libsodium_la-verify_16_api.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o crypto_verify/16/libsodium_la-verify_16_api.lo `test -f 'crypto_verify/16/verify_16_api.c' || echo '$(srcdir)/'`crypto_verify/16/verify_16_api.c
+
+crypto_verify/16/ref/libsodium_la-verify_16.lo: crypto_verify/16/ref/verify_16.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT crypto_verify/16/ref/libsodium_la-verify_16.lo -MD -MP -MF crypto_verify/16/ref/$(DEPDIR)/libsodium_la-verify_16.Tpo -c -o crypto_verify/16/ref/libsodium_la-verify_16.lo `test -f 'crypto_verify/16/ref/verify_16.c' || echo '$(srcdir)/'`crypto_verify/16/ref/verify_16.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) crypto_verify/16/ref/$(DEPDIR)/libsodium_la-verify_16.Tpo crypto_verify/16/ref/$(DEPDIR)/libsodium_la-verify_16.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='crypto_verify/16/ref/verify_16.c' object='crypto_verify/16/ref/libsodium_la-verify_16.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o crypto_verify/16/ref/libsodium_la-verify_16.lo `test -f 'crypto_verify/16/ref/verify_16.c' || echo '$(srcdir)/'`crypto_verify/16/ref/verify_16.c
+
+crypto_verify/32/libsodium_la-verify_32_api.lo: crypto_verify/32/verify_32_api.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT crypto_verify/32/libsodium_la-verify_32_api.lo -MD -MP -MF crypto_verify/32/$(DEPDIR)/libsodium_la-verify_32_api.Tpo -c -o crypto_verify/32/libsodium_la-verify_32_api.lo `test -f 'crypto_verify/32/verify_32_api.c' || echo '$(srcdir)/'`crypto_verify/32/verify_32_api.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) crypto_verify/32/$(DEPDIR)/libsodium_la-verify_32_api.Tpo crypto_verify/32/$(DEPDIR)/libsodium_la-verify_32_api.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='crypto_verify/32/verify_32_api.c' object='crypto_verify/32/libsodium_la-verify_32_api.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o crypto_verify/32/libsodium_la-verify_32_api.lo `test -f 'crypto_verify/32/verify_32_api.c' || echo '$(srcdir)/'`crypto_verify/32/verify_32_api.c
+
+crypto_verify/32/ref/libsodium_la-verify_32.lo: crypto_verify/32/ref/verify_32.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT crypto_verify/32/ref/libsodium_la-verify_32.lo -MD -MP -MF crypto_verify/32/ref/$(DEPDIR)/libsodium_la-verify_32.Tpo -c -o crypto_verify/32/ref/libsodium_la-verify_32.lo `test -f 'crypto_verify/32/ref/verify_32.c' || echo '$(srcdir)/'`crypto_verify/32/ref/verify_32.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) crypto_verify/32/ref/$(DEPDIR)/libsodium_la-verify_32.Tpo crypto_verify/32/ref/$(DEPDIR)/libsodium_la-verify_32.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='crypto_verify/32/ref/verify_32.c' object='crypto_verify/32/ref/libsodium_la-verify_32.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o crypto_verify/32/ref/libsodium_la-verify_32.lo `test -f 'crypto_verify/32/ref/verify_32.c' || echo '$(srcdir)/'`crypto_verify/32/ref/verify_32.c
+
+randombytes/libsodium_la-randombytes.lo: randombytes/randombytes.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT randombytes/libsodium_la-randombytes.lo -MD -MP -MF randombytes/$(DEPDIR)/libsodium_la-randombytes.Tpo -c -o randombytes/libsodium_la-randombytes.lo `test -f 'randombytes/randombytes.c' || echo '$(srcdir)/'`randombytes/randombytes.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) randombytes/$(DEPDIR)/libsodium_la-randombytes.Tpo randombytes/$(DEPDIR)/libsodium_la-randombytes.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='randombytes/randombytes.c' object='randombytes/libsodium_la-randombytes.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o randombytes/libsodium_la-randombytes.lo `test -f 'randombytes/randombytes.c' || echo '$(srcdir)/'`randombytes/randombytes.c
+
+randombytes/salsa20/libsodium_la-randombytes_salsa20_random.lo: randombytes/salsa20/randombytes_salsa20_random.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT randombytes/salsa20/libsodium_la-randombytes_salsa20_random.lo -MD -MP -MF randombytes/salsa20/$(DEPDIR)/libsodium_la-randombytes_salsa20_random.Tpo -c -o randombytes/salsa20/libsodium_la-randombytes_salsa20_random.lo `test -f 'randombytes/salsa20/randombytes_salsa20_random.c' || echo '$(srcdir)/'`randombytes/salsa20/randombytes_salsa20_random.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) randombytes/salsa20/$(DEPDIR)/libsodium_la-randombytes_salsa20_random.Tpo randombytes/salsa20/$(DEPDIR)/libsodium_la-randombytes_salsa20_random.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='randombytes/salsa20/randombytes_salsa20_random.c' object='randombytes/salsa20/libsodium_la-randombytes_salsa20_random.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o randombytes/salsa20/libsodium_la-randombytes_salsa20_random.lo `test -f 'randombytes/salsa20/randombytes_salsa20_random.c' || echo '$(srcdir)/'`randombytes/salsa20/randombytes_salsa20_random.c
+
+randombytes/sysrandom/libsodium_la-randombytes_sysrandom.lo: randombytes/sysrandom/randombytes_sysrandom.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT randombytes/sysrandom/libsodium_la-randombytes_sysrandom.lo -MD -MP -MF randombytes/sysrandom/$(DEPDIR)/libsodium_la-randombytes_sysrandom.Tpo -c -o randombytes/sysrandom/libsodium_la-randombytes_sysrandom.lo `test -f 'randombytes/sysrandom/randombytes_sysrandom.c' || echo '$(srcdir)/'`randombytes/sysrandom/randombytes_sysrandom.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) randombytes/sysrandom/$(DEPDIR)/libsodium_la-randombytes_sysrandom.Tpo randombytes/sysrandom/$(DEPDIR)/libsodium_la-randombytes_sysrandom.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='randombytes/sysrandom/randombytes_sysrandom.c' object='randombytes/sysrandom/libsodium_la-randombytes_sysrandom.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o randombytes/sysrandom/libsodium_la-randombytes_sysrandom.lo `test -f 'randombytes/sysrandom/randombytes_sysrandom.c' || echo '$(srcdir)/'`randombytes/sysrandom/randombytes_sysrandom.c
+
+sodium/libsodium_la-compat.lo: sodium/compat.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sodium/libsodium_la-compat.lo -MD -MP -MF sodium/$(DEPDIR)/libsodium_la-compat.Tpo -c -o sodium/libsodium_la-compat.lo `test -f 'sodium/compat.c' || echo '$(srcdir)/'`sodium/compat.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) sodium/$(DEPDIR)/libsodium_la-compat.Tpo sodium/$(DEPDIR)/libsodium_la-compat.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='sodium/compat.c' object='sodium/libsodium_la-compat.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sodium/libsodium_la-compat.lo `test -f 'sodium/compat.c' || echo '$(srcdir)/'`sodium/compat.c
+
+sodium/libsodium_la-core.lo: sodium/core.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sodium/libsodium_la-core.lo -MD -MP -MF sodium/$(DEPDIR)/libsodium_la-core.Tpo -c -o sodium/libsodium_la-core.lo `test -f 'sodium/core.c' || echo '$(srcdir)/'`sodium/core.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) sodium/$(DEPDIR)/libsodium_la-core.Tpo sodium/$(DEPDIR)/libsodium_la-core.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='sodium/core.c' object='sodium/libsodium_la-core.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sodium/libsodium_la-core.lo `test -f 'sodium/core.c' || echo '$(srcdir)/'`sodium/core.c
+
+sodium/libsodium_la-utils.lo: sodium/utils.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sodium/libsodium_la-utils.lo -MD -MP -MF sodium/$(DEPDIR)/libsodium_la-utils.Tpo -c -o sodium/libsodium_la-utils.lo `test -f 'sodium/utils.c' || echo '$(srcdir)/'`sodium/utils.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) sodium/$(DEPDIR)/libsodium_la-utils.Tpo sodium/$(DEPDIR)/libsodium_la-utils.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='sodium/utils.c' object='sodium/libsodium_la-utils.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sodium/libsodium_la-utils.lo `test -f 'sodium/utils.c' || echo '$(srcdir)/'`sodium/utils.c
+
+sodium/libsodium_la-version.lo: sodium/version.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sodium/libsodium_la-version.lo -MD -MP -MF sodium/$(DEPDIR)/libsodium_la-version.Tpo -c -o sodium/libsodium_la-version.lo `test -f 'sodium/version.c' || echo '$(srcdir)/'`sodium/version.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) sodium/$(DEPDIR)/libsodium_la-version.Tpo sodium/$(DEPDIR)/libsodium_la-version.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='sodium/version.c' object='sodium/libsodium_la-version.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sodium/libsodium_la-version.lo `test -f 'sodium/version.c' || echo '$(srcdir)/'`sodium/version.c
+
+crypto_scalarmult/curve25519/donna_c64/libsodium_la-base_curve25519_donna_c64.lo: crypto_scalarmult/curve25519/donna_c64/base_curve25519_donna_c64.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT crypto_scalarmult/curve25519/donna_c64/libsodium_la-base_curve25519_donna_c64.lo -MD -MP -MF crypto_scalarmult/curve25519/donna_c64/$(DEPDIR)/libsodium_la-base_curve25519_donna_c64.Tpo -c -o crypto_scalarmult/curve25519/donna_c64/libsodium_la-base_curve25519_donna_c64.lo `test -f 'crypto_scalarmult/curve25519/donna_c64/base_curve25519_donna_c64.c' || echo '$(srcdir)/'`crypto_scalarmult/curve25519/donna_c64/base_curve25519_donna_c64.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) crypto_scalarmult/curve25519/donna_c64/$(DEPDIR)/libsodium_la-base_curve25519_donna_c64.Tpo crypto_scalarmult/curve25519/donna_c64/$(DEPDIR)/libsodium_la-base_curve25519_donna_c64.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='crypto_scalarmult/curve25519/donna_c64/base_curve25519_donna_c64.c' object='crypto_scalarmult/curve25519/donna_c64/libsodium_la-base_curve25519_donna_c64.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o crypto_scalarmult/curve25519/donna_c64/libsodium_la-base_curve25519_donna_c64.lo `test -f 'crypto_scalarmult/curve25519/donna_c64/base_curve25519_donna_c64.c' || echo '$(srcdir)/'`crypto_scalarmult/curve25519/donna_c64/base_curve25519_donna_c64.c
+
+crypto_scalarmult/curve25519/donna_c64/libsodium_la-smult_curve25519_donna_c64.lo: crypto_scalarmult/curve25519/donna_c64/smult_curve25519_donna_c64.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT crypto_scalarmult/curve25519/donna_c64/libsodium_la-smult_curve25519_donna_c64.lo -MD -MP -MF crypto_scalarmult/curve25519/donna_c64/$(DEPDIR)/libsodium_la-smult_curve25519_donna_c64.Tpo -c -o crypto_scalarmult/curve25519/donna_c64/libsodium_la-smult_curve25519_donna_c64.lo `test -f 'crypto_scalarmult/curve25519/donna_c64/smult_curve25519_donna_c64.c' || echo '$(srcdir)/'`crypto_scalarmult/curve25519/donna_c64/smult_curve25519_donna_c64.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) crypto_scalarmult/curve25519/donna_c64/$(DEPDIR)/libsodium_la-smult_curve25519_donna_c64.Tpo crypto_scalarmult/curve25519/donna_c64/$(DEPDIR)/libsodium_la-smult_curve25519_donna_c64.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='crypto_scalarmult/curve25519/donna_c64/smult_curve25519_donna_c64.c' object='crypto_scalarmult/curve25519/donna_c64/libsodium_la-smult_curve25519_donna_c64.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o crypto_scalarmult/curve25519/donna_c64/libsodium_la-smult_curve25519_donna_c64.lo `test -f 'crypto_scalarmult/curve25519/donna_c64/smult_curve25519_donna_c64.c' || echo '$(srcdir)/'`crypto_scalarmult/curve25519/donna_c64/smult_curve25519_donna_c64.c
+
+crypto_scalarmult/curve25519/ref/libsodium_la-base_curve25519_ref.lo: crypto_scalarmult/curve25519/ref/base_curve25519_ref.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT crypto_scalarmult/curve25519/ref/libsodium_la-base_curve25519_ref.lo -MD -MP -MF crypto_scalarmult/curve25519/ref/$(DEPDIR)/libsodium_la-base_curve25519_ref.Tpo -c -o crypto_scalarmult/curve25519/ref/libsodium_la-base_curve25519_ref.lo `test -f 'crypto_scalarmult/curve25519/ref/base_curve25519_ref.c' || echo '$(srcdir)/'`crypto_scalarmult/curve25519/ref/base_curve25519_ref.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) crypto_scalarmult/curve25519/ref/$(DEPDIR)/libsodium_la-base_curve25519_ref.Tpo crypto_scalarmult/curve25519/ref/$(DEPDIR)/libsodium_la-base_curve25519_ref.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='crypto_scalarmult/curve25519/ref/base_curve25519_ref.c' object='crypto_scalarmult/curve25519/ref/libsodium_la-base_curve25519_ref.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o crypto_scalarmult/curve25519/ref/libsodium_la-base_curve25519_ref.lo `test -f 'crypto_scalarmult/curve25519/ref/base_curve25519_ref.c' || echo '$(srcdir)/'`crypto_scalarmult/curve25519/ref/base_curve25519_ref.c
+
+crypto_scalarmult/curve25519/ref/libsodium_la-smult_curve25519_ref.lo: crypto_scalarmult/curve25519/ref/smult_curve25519_ref.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT crypto_scalarmult/curve25519/ref/libsodium_la-smult_curve25519_ref.lo -MD -MP -MF crypto_scalarmult/curve25519/ref/$(DEPDIR)/libsodium_la-smult_curve25519_ref.Tpo -c -o crypto_scalarmult/curve25519/ref/libsodium_la-smult_curve25519_ref.lo `test -f 'crypto_scalarmult/curve25519/ref/smult_curve25519_ref.c' || echo '$(srcdir)/'`crypto_scalarmult/curve25519/ref/smult_curve25519_ref.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) crypto_scalarmult/curve25519/ref/$(DEPDIR)/libsodium_la-smult_curve25519_ref.Tpo crypto_scalarmult/curve25519/ref/$(DEPDIR)/libsodium_la-smult_curve25519_ref.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='crypto_scalarmult/curve25519/ref/smult_curve25519_ref.c' object='crypto_scalarmult/curve25519/ref/libsodium_la-smult_curve25519_ref.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o crypto_scalarmult/curve25519/ref/libsodium_la-smult_curve25519_ref.lo `test -f 'crypto_scalarmult/curve25519/ref/smult_curve25519_ref.c' || echo '$(srcdir)/'`crypto_scalarmult/curve25519/ref/smult_curve25519_ref.c
+
+crypto_stream/salsa20/ref/libsodium_la-stream_salsa20_ref.lo: crypto_stream/salsa20/ref/stream_salsa20_ref.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT crypto_stream/salsa20/ref/libsodium_la-stream_salsa20_ref.lo -MD -MP -MF crypto_stream/salsa20/ref/$(DEPDIR)/libsodium_la-stream_salsa20_ref.Tpo -c -o crypto_stream/salsa20/ref/libsodium_la-stream_salsa20_ref.lo `test -f 'crypto_stream/salsa20/ref/stream_salsa20_ref.c' || echo '$(srcdir)/'`crypto_stream/salsa20/ref/stream_salsa20_ref.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) crypto_stream/salsa20/ref/$(DEPDIR)/libsodium_la-stream_salsa20_ref.Tpo crypto_stream/salsa20/ref/$(DEPDIR)/libsodium_la-stream_salsa20_ref.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='crypto_stream/salsa20/ref/stream_salsa20_ref.c' object='crypto_stream/salsa20/ref/libsodium_la-stream_salsa20_ref.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o crypto_stream/salsa20/ref/libsodium_la-stream_salsa20_ref.lo `test -f 'crypto_stream/salsa20/ref/stream_salsa20_ref.c' || echo '$(srcdir)/'`crypto_stream/salsa20/ref/stream_salsa20_ref.c
+
+crypto_stream/salsa20/ref/libsodium_la-xor_salsa20_ref.lo: crypto_stream/salsa20/ref/xor_salsa20_ref.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT crypto_stream/salsa20/ref/libsodium_la-xor_salsa20_ref.lo -MD -MP -MF crypto_stream/salsa20/ref/$(DEPDIR)/libsodium_la-xor_salsa20_ref.Tpo -c -o crypto_stream/salsa20/ref/libsodium_la-xor_salsa20_ref.lo `test -f 'crypto_stream/salsa20/ref/xor_salsa20_ref.c' || echo '$(srcdir)/'`crypto_stream/salsa20/ref/xor_salsa20_ref.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) crypto_stream/salsa20/ref/$(DEPDIR)/libsodium_la-xor_salsa20_ref.Tpo crypto_stream/salsa20/ref/$(DEPDIR)/libsodium_la-xor_salsa20_ref.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='crypto_stream/salsa20/ref/xor_salsa20_ref.c' object='crypto_stream/salsa20/ref/libsodium_la-xor_salsa20_ref.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libsodium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o crypto_stream/salsa20/ref/libsodium_la-xor_salsa20_ref.lo `test -f 'crypto_stream/salsa20/ref/xor_salsa20_ref.c' || echo '$(srcdir)/'`crypto_stream/salsa20/ref/xor_salsa20_ref.c
+
+mostlyclean-libtool:
+	-rm -f *.lo
+
+clean-libtool:
+	-rm -rf .libs _libs
+	-rm -rf crypto_auth/.libs crypto_auth/_libs
+	-rm -rf crypto_auth/hmacsha256/.libs crypto_auth/hmacsha256/_libs
+	-rm -rf crypto_auth/hmacsha256/ref/.libs crypto_auth/hmacsha256/ref/_libs
+	-rm -rf crypto_auth/hmacsha512256/.libs crypto_auth/hmacsha512256/_libs
+	-rm -rf crypto_auth/hmacsha512256/ref/.libs crypto_auth/hmacsha512256/ref/_libs
+	-rm -rf crypto_box/.libs crypto_box/_libs
+	-rm -rf crypto_box/curve25519xsalsa20poly1305/.libs crypto_box/curve25519xsalsa20poly1305/_libs
+	-rm -rf crypto_box/curve25519xsalsa20poly1305/ref/.libs crypto_box/curve25519xsalsa20poly1305/ref/_libs
+	-rm -rf crypto_core/hsalsa20/.libs crypto_core/hsalsa20/_libs
+	-rm -rf crypto_core/hsalsa20/ref2/.libs crypto_core/hsalsa20/ref2/_libs
+	-rm -rf crypto_core/salsa20/.libs crypto_core/salsa20/_libs
+	-rm -rf crypto_core/salsa20/ref/.libs crypto_core/salsa20/ref/_libs
+	-rm -rf crypto_core/salsa2012/.libs crypto_core/salsa2012/_libs
+	-rm -rf crypto_core/salsa2012/ref/.libs crypto_core/salsa2012/ref/_libs
+	-rm -rf crypto_core/salsa208/.libs crypto_core/salsa208/_libs
+	-rm -rf crypto_core/salsa208/ref/.libs crypto_core/salsa208/ref/_libs
+	-rm -rf crypto_generichash/.libs crypto_generichash/_libs
+	-rm -rf crypto_generichash/blake2/.libs crypto_generichash/blake2/_libs
+	-rm -rf crypto_generichash/blake2/ref/.libs crypto_generichash/blake2/ref/_libs
+	-rm -rf crypto_hash/.libs crypto_hash/_libs
+	-rm -rf crypto_hash/sha256/.libs crypto_hash/sha256/_libs
+	-rm -rf crypto_hash/sha256/ref/.libs crypto_hash/sha256/ref/_libs
+	-rm -rf crypto_hash/sha512/.libs crypto_hash/sha512/_libs
+	-rm -rf crypto_hash/sha512/ref/.libs crypto_hash/sha512/ref/_libs
+	-rm -rf crypto_hashblocks/sha256/.libs crypto_hashblocks/sha256/_libs
+	-rm -rf crypto_hashblocks/sha256/ref/.libs crypto_hashblocks/sha256/ref/_libs
+	-rm -rf crypto_hashblocks/sha512/.libs crypto_hashblocks/sha512/_libs
+	-rm -rf crypto_hashblocks/sha512/ref/.libs crypto_hashblocks/sha512/ref/_libs
+	-rm -rf crypto_onetimeauth/.libs crypto_onetimeauth/_libs
+	-rm -rf crypto_onetimeauth/poly1305/.libs crypto_onetimeauth/poly1305/_libs
+	-rm -rf crypto_onetimeauth/poly1305/53/.libs crypto_onetimeauth/poly1305/53/_libs
+	-rm -rf crypto_onetimeauth/poly1305/donna/.libs crypto_onetimeauth/poly1305/donna/_libs
+	-rm -rf crypto_scalarmult/.libs crypto_scalarmult/_libs
+	-rm -rf crypto_scalarmult/curve25519/donna_c64/.libs crypto_scalarmult/curve25519/donna_c64/_libs
+	-rm -rf crypto_scalarmult/curve25519/ref/.libs crypto_scalarmult/curve25519/ref/_libs
+	-rm -rf crypto_secretbox/.libs crypto_secretbox/_libs
+	-rm -rf crypto_secretbox/xsalsa20poly1305/.libs crypto_secretbox/xsalsa20poly1305/_libs
+	-rm -rf crypto_secretbox/xsalsa20poly1305/ref/.libs crypto_secretbox/xsalsa20poly1305/ref/_libs
+	-rm -rf crypto_shorthash/.libs crypto_shorthash/_libs
+	-rm -rf crypto_shorthash/siphash24/.libs crypto_shorthash/siphash24/_libs
+	-rm -rf crypto_shorthash/siphash24/ref/.libs crypto_shorthash/siphash24/ref/_libs
+	-rm -rf crypto_sign/.libs crypto_sign/_libs
+	-rm -rf crypto_sign/ed25519/.libs crypto_sign/ed25519/_libs
+	-rm -rf crypto_sign/ed25519/ref10/.libs crypto_sign/ed25519/ref10/_libs
+	-rm -rf crypto_sign/edwards25519sha512batch/.libs crypto_sign/edwards25519sha512batch/_libs
+	-rm -rf crypto_sign/edwards25519sha512batch/ref/.libs crypto_sign/edwards25519sha512batch/ref/_libs
+	-rm -rf crypto_stream/.libs crypto_stream/_libs
+	-rm -rf crypto_stream/aes128ctr/.libs crypto_stream/aes128ctr/_libs
+	-rm -rf crypto_stream/aes128ctr/portable/.libs crypto_stream/aes128ctr/portable/_libs
+	-rm -rf crypto_stream/aes256estream/.libs crypto_stream/aes256estream/_libs
+	-rm -rf crypto_stream/aes256estream/hongjun/.libs crypto_stream/aes256estream/hongjun/_libs
+	-rm -rf crypto_stream/salsa20/amd64_xmm6/.libs crypto_stream/salsa20/amd64_xmm6/_libs
+	-rm -rf crypto_stream/salsa20/ref/.libs crypto_stream/salsa20/ref/_libs
+	-rm -rf crypto_stream/salsa2012/.libs crypto_stream/salsa2012/_libs
+	-rm -rf crypto_stream/salsa2012/ref/.libs crypto_stream/salsa2012/ref/_libs
+	-rm -rf crypto_stream/salsa208/.libs crypto_stream/salsa208/_libs
+	-rm -rf crypto_stream/salsa208/ref/.libs crypto_stream/salsa208/ref/_libs
+	-rm -rf crypto_stream/xsalsa20/.libs crypto_stream/xsalsa20/_libs
+	-rm -rf crypto_stream/xsalsa20/ref/.libs crypto_stream/xsalsa20/ref/_libs
+	-rm -rf crypto_verify/16/.libs crypto_verify/16/_libs
+	-rm -rf crypto_verify/16/ref/.libs crypto_verify/16/ref/_libs
+	-rm -rf crypto_verify/32/.libs crypto_verify/32/_libs
+	-rm -rf crypto_verify/32/ref/.libs crypto_verify/32/ref/_libs
+	-rm -rf randombytes/.libs randombytes/_libs
+	-rm -rf randombytes/salsa20/.libs randombytes/salsa20/_libs
+	-rm -rf randombytes/sysrandom/.libs randombytes/sysrandom/_libs
+	-rm -rf sodium/.libs sodium/_libs
+install-defexecDATA: $(defexec_DATA)
+	@$(NORMAL_INSTALL)
+	@list='$(defexec_DATA)'; test -n "$(defexecdir)" || list=; \
+	if test -n "$$list"; then \
+	  echo " $(MKDIR_P) '$(DESTDIR)$(defexecdir)'"; \
+	  $(MKDIR_P) "$(DESTDIR)$(defexecdir)" || exit 1; \
+	fi; \
+	for p in $$list; do \
+	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+	  echo "$$d$$p"; \
+	done | $(am__base_list) | \
+	while read files; do \
+	  echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(defexecdir)'"; \
+	  $(INSTALL_DATA) $$files "$(DESTDIR)$(defexecdir)" || exit $$?; \
+	done
+
+uninstall-defexecDATA:
+	@$(NORMAL_UNINSTALL)
+	@list='$(defexec_DATA)'; test -n "$(defexecdir)" || list=; \
+	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+	dir='$(DESTDIR)$(defexecdir)'; $(am__uninstall_files_from_dir)
+
+# This directory's subdirectories are mostly independent; you can cd
+# into them and run 'make' without going through this Makefile.
+# To change the values of 'make' variables: instead of editing Makefiles,
+# (1) if the variable is set in 'config.status', edit 'config.status'
+#     (which will cause the Makefiles to be regenerated when you run 'make');
+# (2) otherwise, pass the desired values on the 'make' command line.
+$(am__recursive_targets):
+	@fail=; \
+	if $(am__make_keepgoing); then \
+	  failcom='fail=yes'; \
+	else \
+	  failcom='exit 1'; \
+	fi; \
+	dot_seen=no; \
+	target=`echo $@ | sed s/-recursive//`; \
+	case "$@" in \
+	  distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
+	  *) list='$(SUBDIRS)' ;; \
+	esac; \
+	for subdir in $$list; do \
+	  echo "Making $$target in $$subdir"; \
+	  if test "$$subdir" = "."; then \
+	    dot_seen=yes; \
+	    local_target="$$target-am"; \
+	  else \
+	    local_target="$$target"; \
+	  fi; \
+	  ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+	  || eval $$failcom; \
+	done; \
+	if test "$$dot_seen" = "no"; then \
+	  $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
+	fi; test -z "$$fail"
+
+ID: $(am__tagged_files)
+	$(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-recursive
+TAGS: tags
+
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+	set x; \
+	here=`pwd`; \
+	if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
+	  include_option=--etags-include; \
+	  empty_fix=.; \
+	else \
+	  include_option=--include; \
+	  empty_fix=; \
+	fi; \
+	list='$(SUBDIRS)'; for subdir in $$list; do \
+	  if test "$$subdir" = .; then :; else \
+	    test ! -f $$subdir/TAGS || \
+	      set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
+	  fi; \
+	done; \
+	$(am__define_uniq_tagged_files); \
+	shift; \
+	if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+	  test -n "$$unique" || unique=$$empty_fix; \
+	  if test $$# -gt 0; then \
+	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	      "$$@" $$unique; \
+	  else \
+	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	      $$unique; \
+	  fi; \
+	fi
+ctags: ctags-recursive
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+	$(am__define_uniq_tagged_files); \
+	test -z "$(CTAGS_ARGS)$$unique" \
+	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+	     $$unique
+
+GTAGS:
+	here=`$(am__cd) $(top_builddir) && pwd` \
+	  && $(am__cd) $(top_srcdir) \
+	  && gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-recursive
+
+cscopelist-am: $(am__tagged_files)
+	list='$(am__tagged_files)'; \
+	case "$(srcdir)" in \
+	  [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+	  *) sdir=$(subdir)/$(srcdir) ;; \
+	esac; \
+	for i in $$list; do \
+	  if test -f "$$i"; then \
+	    echo "$(subdir)/$$i"; \
+	  else \
+	    echo "$$sdir/$$i"; \
+	  fi; \
+	done >> $(top_builddir)/cscope.files
+
+distclean-tags:
+	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+	list='$(DISTFILES)'; \
+	  dist_files=`for file in $$list; do echo $$file; done | \
+	  sed -e "s|^$$srcdirstrip/||;t" \
+	      -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+	case $$dist_files in \
+	  */*) $(MKDIR_P) `echo "$$dist_files" | \
+			   sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+			   sort -u` ;; \
+	esac; \
+	for file in $$dist_files; do \
+	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	  if test -d $$d/$$file; then \
+	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+	    if test -d "$(distdir)/$$file"; then \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
+	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
+	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
+	  else \
+	    test -f "$(distdir)/$$file" \
+	    || cp -p $$d/$$file "$(distdir)/$$file" \
+	    || exit 1; \
+	  fi; \
+	done
+	@list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+	  if test "$$subdir" = .; then :; else \
+	    $(am__make_dryrun) \
+	      || test -d "$(distdir)/$$subdir" \
+	      || $(MKDIR_P) "$(distdir)/$$subdir" \
+	      || exit 1; \
+	    dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
+	    $(am__relativize); \
+	    new_distdir=$$reldir; \
+	    dir1=$$subdir; dir2="$(top_distdir)"; \
+	    $(am__relativize); \
+	    new_top_distdir=$$reldir; \
+	    echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
+	    echo "     am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
+	    ($(am__cd) $$subdir && \
+	      $(MAKE) $(AM_MAKEFLAGS) \
+	        top_distdir="$$new_top_distdir" \
+	        distdir="$$new_distdir" \
+		am__remove_distdir=: \
+		am__skip_length_check=: \
+		am__skip_mode_fix=: \
+	        distdir) \
+	      || exit 1; \
+	  fi; \
+	done
+check-am: all-am
+check: check-recursive
+all-am: Makefile $(LTLIBRARIES) $(DATA)
+installdirs: installdirs-recursive
+installdirs-am:
+	for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(defexecdir)"; do \
+	  test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+	done
+install: install-recursive
+install-exec: install-exec-recursive
+install-data: install-data-recursive
+uninstall: uninstall-recursive
+
+install-am: all-am
+	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-recursive
+install-strip:
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+	-rm -f crypto_auth/$(DEPDIR)/$(am__dirstamp)
+	-rm -f crypto_auth/$(am__dirstamp)
+	-rm -f crypto_auth/hmacsha256/$(DEPDIR)/$(am__dirstamp)
+	-rm -f crypto_auth/hmacsha256/$(am__dirstamp)
+	-rm -f crypto_auth/hmacsha256/ref/$(DEPDIR)/$(am__dirstamp)
+	-rm -f crypto_auth/hmacsha256/ref/$(am__dirstamp)
+	-rm -f crypto_auth/hmacsha512256/$(DEPDIR)/$(am__dirstamp)
+	-rm -f crypto_auth/hmacsha512256/$(am__dirstamp)
+	-rm -f crypto_auth/hmacsha512256/ref/$(DEPDIR)/$(am__dirstamp)
+	-rm -f crypto_auth/hmacsha512256/ref/$(am__dirstamp)
+	-rm -f crypto_box/$(DEPDIR)/$(am__dirstamp)
+	-rm -f crypto_box/$(am__dirstamp)
+	-rm -f crypto_box/curve25519xsalsa20poly1305/$(DEPDIR)/$(am__dirstamp)
+	-rm -f crypto_box/curve25519xsalsa20poly1305/$(am__dirstamp)
+	-rm -f crypto_box/curve25519xsalsa20poly1305/ref/$(DEPDIR)/$(am__dirstamp)
+	-rm -f crypto_box/curve25519xsalsa20poly1305/ref/$(am__dirstamp)
+	-rm -f crypto_core/hsalsa20/$(DEPDIR)/$(am__dirstamp)
+	-rm -f crypto_core/hsalsa20/$(am__dirstamp)
+	-rm -f crypto_core/hsalsa20/ref2/$(DEPDIR)/$(am__dirstamp)
+	-rm -f crypto_core/hsalsa20/ref2/$(am__dirstamp)
+	-rm -f crypto_core/salsa20/$(DEPDIR)/$(am__dirstamp)
+	-rm -f crypto_core/salsa20/$(am__dirstamp)
+	-rm -f crypto_core/salsa20/ref/$(DEPDIR)/$(am__dirstamp)
+	-rm -f crypto_core/salsa20/ref/$(am__dirstamp)
+	-rm -f crypto_core/salsa2012/$(DEPDIR)/$(am__dirstamp)
+	-rm -f crypto_core/salsa2012/$(am__dirstamp)
+	-rm -f crypto_core/salsa2012/ref/$(DEPDIR)/$(am__dirstamp)
+	-rm -f crypto_core/salsa2012/ref/$(am__dirstamp)
+	-rm -f crypto_core/salsa208/$(DEPDIR)/$(am__dirstamp)
+	-rm -f crypto_core/salsa208/$(am__dirstamp)
+	-rm -f crypto_core/salsa208/ref/$(DEPDIR)/$(am__dirstamp)
+	-rm -f crypto_core/salsa208/ref/$(am__dirstamp)
+	-rm -f crypto_generichash/$(DEPDIR)/$(am__dirstamp)
+	-rm -f crypto_generichash/$(am__dirstamp)
+	-rm -f crypto_generichash/blake2/$(DEPDIR)/$(am__dirstamp)
+	-rm -f crypto_generichash/blake2/$(am__dirstamp)
+	-rm -f crypto_generichash/blake2/ref/$(DEPDIR)/$(am__dirstamp)
+	-rm -f crypto_generichash/blake2/ref/$(am__dirstamp)
+	-rm -f crypto_hash/$(DEPDIR)/$(am__dirstamp)
+	-rm -f crypto_hash/$(am__dirstamp)
+	-rm -f crypto_hash/sha256/$(DEPDIR)/$(am__dirstamp)
+	-rm -f crypto_hash/sha256/$(am__dirstamp)
+	-rm -f crypto_hash/sha256/ref/$(DEPDIR)/$(am__dirstamp)
+	-rm -f crypto_hash/sha256/ref/$(am__dirstamp)
+	-rm -f crypto_hash/sha512/$(DEPDIR)/$(am__dirstamp)
+	-rm -f crypto_hash/sha512/$(am__dirstamp)
+	-rm -f crypto_hash/sha512/ref/$(DEPDIR)/$(am__dirstamp)
+	-rm -f crypto_hash/sha512/ref/$(am__dirstamp)
+	-rm -f crypto_hashblocks/sha256/$(DEPDIR)/$(am__dirstamp)
+	-rm -f crypto_hashblocks/sha256/$(am__dirstamp)
+	-rm -f crypto_hashblocks/sha256/ref/$(DEPDIR)/$(am__dirstamp)
+	-rm -f crypto_hashblocks/sha256/ref/$(am__dirstamp)
+	-rm -f crypto_hashblocks/sha512/$(DEPDIR)/$(am__dirstamp)
+	-rm -f crypto_hashblocks/sha512/$(am__dirstamp)
+	-rm -f crypto_hashblocks/sha512/ref/$(DEPDIR)/$(am__dirstamp)
+	-rm -f crypto_hashblocks/sha512/ref/$(am__dirstamp)
+	-rm -f crypto_onetimeauth/$(DEPDIR)/$(am__dirstamp)
+	-rm -f crypto_onetimeauth/$(am__dirstamp)
+	-rm -f crypto_onetimeauth/poly1305/$(DEPDIR)/$(am__dirstamp)
+	-rm -f crypto_onetimeauth/poly1305/$(am__dirstamp)
+	-rm -f crypto_onetimeauth/poly1305/53/$(DEPDIR)/$(am__dirstamp)
+	-rm -f crypto_onetimeauth/poly1305/53/$(am__dirstamp)
+	-rm -f crypto_onetimeauth/poly1305/donna/$(DEPDIR)/$(am__dirstamp)
+	-rm -f crypto_onetimeauth/poly1305/donna/$(am__dirstamp)
+	-rm -f crypto_scalarmult/$(DEPDIR)/$(am__dirstamp)
+	-rm -f crypto_scalarmult/$(am__dirstamp)
+	-rm -f crypto_scalarmult/curve25519/donna_c64/$(DEPDIR)/$(am__dirstamp)
+	-rm -f crypto_scalarmult/curve25519/donna_c64/$(am__dirstamp)
+	-rm -f crypto_scalarmult/curve25519/ref/$(DEPDIR)/$(am__dirstamp)
+	-rm -f crypto_scalarmult/curve25519/ref/$(am__dirstamp)
+	-rm -f crypto_secretbox/$(DEPDIR)/$(am__dirstamp)
+	-rm -f crypto_secretbox/$(am__dirstamp)
+	-rm -f crypto_secretbox/xsalsa20poly1305/$(DEPDIR)/$(am__dirstamp)
+	-rm -f crypto_secretbox/xsalsa20poly1305/$(am__dirstamp)
+	-rm -f crypto_secretbox/xsalsa20poly1305/ref/$(DEPDIR)/$(am__dirstamp)
+	-rm -f crypto_secretbox/xsalsa20poly1305/ref/$(am__dirstamp)
+	-rm -f crypto_shorthash/$(DEPDIR)/$(am__dirstamp)
+	-rm -f crypto_shorthash/$(am__dirstamp)
+	-rm -f crypto_shorthash/siphash24/$(DEPDIR)/$(am__dirstamp)
+	-rm -f crypto_shorthash/siphash24/$(am__dirstamp)
+	-rm -f crypto_shorthash/siphash24/ref/$(DEPDIR)/$(am__dirstamp)
+	-rm -f crypto_shorthash/siphash24/ref/$(am__dirstamp)
+	-rm -f crypto_sign/$(DEPDIR)/$(am__dirstamp)
+	-rm -f crypto_sign/$(am__dirstamp)
+	-rm -f crypto_sign/ed25519/$(DEPDIR)/$(am__dirstamp)
+	-rm -f crypto_sign/ed25519/$(am__dirstamp)
+	-rm -f crypto_sign/ed25519/ref10/$(DEPDIR)/$(am__dirstamp)
+	-rm -f crypto_sign/ed25519/ref10/$(am__dirstamp)
+	-rm -f crypto_sign/edwards25519sha512batch/$(DEPDIR)/$(am__dirstamp)
+	-rm -f crypto_sign/edwards25519sha512batch/$(am__dirstamp)
+	-rm -f crypto_sign/edwards25519sha512batch/ref/$(DEPDIR)/$(am__dirstamp)
+	-rm -f crypto_sign/edwards25519sha512batch/ref/$(am__dirstamp)
+	-rm -f crypto_stream/$(DEPDIR)/$(am__dirstamp)
+	-rm -f crypto_stream/$(am__dirstamp)
+	-rm -f crypto_stream/aes128ctr/$(DEPDIR)/$(am__dirstamp)
+	-rm -f crypto_stream/aes128ctr/$(am__dirstamp)
+	-rm -f crypto_stream/aes128ctr/portable/$(DEPDIR)/$(am__dirstamp)
+	-rm -f crypto_stream/aes128ctr/portable/$(am__dirstamp)
+	-rm -f crypto_stream/aes256estream/$(DEPDIR)/$(am__dirstamp)
+	-rm -f crypto_stream/aes256estream/$(am__dirstamp)
+	-rm -f crypto_stream/aes256estream/hongjun/$(DEPDIR)/$(am__dirstamp)
+	-rm -f crypto_stream/aes256estream/hongjun/$(am__dirstamp)
+	-rm -f crypto_stream/salsa20/amd64_xmm6/$(DEPDIR)/$(am__dirstamp)
+	-rm -f crypto_stream/salsa20/amd64_xmm6/$(am__dirstamp)
+	-rm -f crypto_stream/salsa20/ref/$(DEPDIR)/$(am__dirstamp)
+	-rm -f crypto_stream/salsa20/ref/$(am__dirstamp)
+	-rm -f crypto_stream/salsa2012/$(DEPDIR)/$(am__dirstamp)
+	-rm -f crypto_stream/salsa2012/$(am__dirstamp)
+	-rm -f crypto_stream/salsa2012/ref/$(DEPDIR)/$(am__dirstamp)
+	-rm -f crypto_stream/salsa2012/ref/$(am__dirstamp)
+	-rm -f crypto_stream/salsa208/$(DEPDIR)/$(am__dirstamp)
+	-rm -f crypto_stream/salsa208/$(am__dirstamp)
+	-rm -f crypto_stream/salsa208/ref/$(DEPDIR)/$(am__dirstamp)
+	-rm -f crypto_stream/salsa208/ref/$(am__dirstamp)
+	-rm -f crypto_stream/xsalsa20/$(DEPDIR)/$(am__dirstamp)
+	-rm -f crypto_stream/xsalsa20/$(am__dirstamp)
+	-rm -f crypto_stream/xsalsa20/ref/$(DEPDIR)/$(am__dirstamp)
+	-rm -f crypto_stream/xsalsa20/ref/$(am__dirstamp)
+	-rm -f crypto_verify/16/$(DEPDIR)/$(am__dirstamp)
+	-rm -f crypto_verify/16/$(am__dirstamp)
+	-rm -f crypto_verify/16/ref/$(DEPDIR)/$(am__dirstamp)
+	-rm -f crypto_verify/16/ref/$(am__dirstamp)
+	-rm -f crypto_verify/32/$(DEPDIR)/$(am__dirstamp)
+	-rm -f crypto_verify/32/$(am__dirstamp)
+	-rm -f crypto_verify/32/ref/$(DEPDIR)/$(am__dirstamp)
+	-rm -f crypto_verify/32/ref/$(am__dirstamp)
+	-rm -f randombytes/$(DEPDIR)/$(am__dirstamp)
+	-rm -f randombytes/$(am__dirstamp)
+	-rm -f randombytes/salsa20/$(DEPDIR)/$(am__dirstamp)
+	-rm -f randombytes/salsa20/$(am__dirstamp)
+	-rm -f randombytes/sysrandom/$(DEPDIR)/$(am__dirstamp)
+	-rm -f randombytes/sysrandom/$(am__dirstamp)
+	-rm -f sodium/$(DEPDIR)/$(am__dirstamp)
+	-rm -f sodium/$(am__dirstamp)
+	-test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES)
+
+maintainer-clean-generic:
+	@echo "This command is intended for maintainers to use"
+	@echo "it deletes files that may require special tools to rebuild."
+clean: clean-recursive
+
+clean-am: clean-generic clean-libLTLIBRARIES clean-libtool \
+	mostlyclean-am
+
+distclean: distclean-recursive
+	-rm -rf crypto_auth/$(DEPDIR) crypto_auth/hmacsha256/$(DEPDIR) crypto_auth/hmacsha256/ref/$(DEPDIR) crypto_auth/hmacsha512256/$(DEPDIR) crypto_auth/hmacsha512256/ref/$(DEPDIR) crypto_box/$(DEPDIR) crypto_box/curve25519xsalsa20poly1305/$(DEPDIR) crypto_box/curve25519xsalsa20poly1305/ref/$(DEPDIR) crypto_core/hsalsa20/$(DEPDIR) crypto_core/hsalsa20/ref2/$(DEPDIR) crypto_core/salsa20/$(DEPDIR) crypto_core/salsa20/ref/$(DEPDIR) crypto_core/salsa2012/$(DEPDIR) crypto_core/salsa2012/ref/$(DEPDIR) crypto_core/salsa208/$(DEPDIR) crypto_core/salsa208/ref/$(DEPDIR) crypto_generichash/$(DEPDIR) crypto_generichash/blake2/$(DEPDIR) crypto_generichash/blake2/ref/$(DEPDIR) crypto_hash/$(DEPDIR) crypto_hash/sha256/$(DEPDIR) crypto_hash/sha256/ref/$(DEPDIR) crypto_hash/sha512/$(DEPDIR) crypto_hash/sha512/ref/$(DEPDIR) crypto_hashblocks/sha256/$(DEPDIR) crypto_hashblocks/sha256/ref/$(DEPDIR) crypto_hashblocks/sha512/$(DEPDIR) crypto_hashblocks/sha512/ref/$(DEPDIR) crypto_onetimeauth/$(DEPDIR) crypto_onetimeauth/poly1305/$(DEPDIR) crypto_onetimeauth/poly1305/53/$(DEPDIR) crypto_onetimeauth/poly1305/donna/$(DEPDIR) crypto_scalarmult/$(DEPDIR) crypto_scalarmult/curve25519/donna_c64/$(DEPDIR) crypto_scalarmult/curve25519/ref/$(DEPDIR) crypto_secretbox/$(DEPDIR) crypto_secretbox/xsalsa20poly1305/$(DEPDIR) crypto_secretbox/xsalsa20poly1305/ref/$(DEPDIR) crypto_shorthash/$(DEPDIR) crypto_shorthash/siphash24/$(DEPDIR) crypto_shorthash/siphash24/ref/$(DEPDIR) crypto_sign/$(DEPDIR) crypto_sign/ed25519/$(DEPDIR) crypto_sign/ed25519/ref10/$(DEPDIR) crypto_sign/edwards25519sha512batch/$(DEPDIR) crypto_sign/edwards25519sha512batch/ref/$(DEPDIR) crypto_stream/$(DEPDIR) crypto_stream/aes128ctr/$(DEPDIR) crypto_stream/aes128ctr/portable/$(DEPDIR) crypto_stream/aes256estream/$(DEPDIR) crypto_stream/aes256estream/hongjun/$(DEPDIR) crypto_stream/salsa20/amd64_xmm6/$(DEPDIR) crypto_stream/salsa20/ref/$(DEPDIR) crypto_stream/salsa2012/$(DEPDIR) crypto_stream/salsa2012/ref/$(DEPDIR) crypto_stream/salsa208/$(DEPDIR) crypto_stream/salsa208/ref/$(DEPDIR) crypto_stream/xsalsa20/$(DEPDIR) crypto_stream/xsalsa20/ref/$(DEPDIR) crypto_verify/16/$(DEPDIR) crypto_verify/16/ref/$(DEPDIR) crypto_verify/32/$(DEPDIR) crypto_verify/32/ref/$(DEPDIR) randombytes/$(DEPDIR) randombytes/salsa20/$(DEPDIR) randombytes/sysrandom/$(DEPDIR) sodium/$(DEPDIR)
+	-rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+	distclean-tags
+
+dvi: dvi-recursive
+
+dvi-am:
+
+html: html-recursive
+
+html-am:
+
+info: info-recursive
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-recursive
+
+install-dvi-am:
+
+install-exec-am: install-defexecDATA install-libLTLIBRARIES
+
+install-html: install-html-recursive
+
+install-html-am:
+
+install-info: install-info-recursive
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-recursive
+
+install-pdf-am:
+
+install-ps: install-ps-recursive
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-recursive
+	-rm -rf crypto_auth/$(DEPDIR) crypto_auth/hmacsha256/$(DEPDIR) crypto_auth/hmacsha256/ref/$(DEPDIR) crypto_auth/hmacsha512256/$(DEPDIR) crypto_auth/hmacsha512256/ref/$(DEPDIR) crypto_box/$(DEPDIR) crypto_box/curve25519xsalsa20poly1305/$(DEPDIR) crypto_box/curve25519xsalsa20poly1305/ref/$(DEPDIR) crypto_core/hsalsa20/$(DEPDIR) crypto_core/hsalsa20/ref2/$(DEPDIR) crypto_core/salsa20/$(DEPDIR) crypto_core/salsa20/ref/$(DEPDIR) crypto_core/salsa2012/$(DEPDIR) crypto_core/salsa2012/ref/$(DEPDIR) crypto_core/salsa208/$(DEPDIR) crypto_core/salsa208/ref/$(DEPDIR) crypto_generichash/$(DEPDIR) crypto_generichash/blake2/$(DEPDIR) crypto_generichash/blake2/ref/$(DEPDIR) crypto_hash/$(DEPDIR) crypto_hash/sha256/$(DEPDIR) crypto_hash/sha256/ref/$(DEPDIR) crypto_hash/sha512/$(DEPDIR) crypto_hash/sha512/ref/$(DEPDIR) crypto_hashblocks/sha256/$(DEPDIR) crypto_hashblocks/sha256/ref/$(DEPDIR) crypto_hashblocks/sha512/$(DEPDIR) crypto_hashblocks/sha512/ref/$(DEPDIR) crypto_onetimeauth/$(DEPDIR) crypto_onetimeauth/poly1305/$(DEPDIR) crypto_onetimeauth/poly1305/53/$(DEPDIR) crypto_onetimeauth/poly1305/donna/$(DEPDIR) crypto_scalarmult/$(DEPDIR) crypto_scalarmult/curve25519/donna_c64/$(DEPDIR) crypto_scalarmult/curve25519/ref/$(DEPDIR) crypto_secretbox/$(DEPDIR) crypto_secretbox/xsalsa20poly1305/$(DEPDIR) crypto_secretbox/xsalsa20poly1305/ref/$(DEPDIR) crypto_shorthash/$(DEPDIR) crypto_shorthash/siphash24/$(DEPDIR) crypto_shorthash/siphash24/ref/$(DEPDIR) crypto_sign/$(DEPDIR) crypto_sign/ed25519/$(DEPDIR) crypto_sign/ed25519/ref10/$(DEPDIR) crypto_sign/edwards25519sha512batch/$(DEPDIR) crypto_sign/edwards25519sha512batch/ref/$(DEPDIR) crypto_stream/$(DEPDIR) crypto_stream/aes128ctr/$(DEPDIR) crypto_stream/aes128ctr/portable/$(DEPDIR) crypto_stream/aes256estream/$(DEPDIR) crypto_stream/aes256estream/hongjun/$(DEPDIR) crypto_stream/salsa20/amd64_xmm6/$(DEPDIR) crypto_stream/salsa20/ref/$(DEPDIR) crypto_stream/salsa2012/$(DEPDIR) crypto_stream/salsa2012/ref/$(DEPDIR) crypto_stream/salsa208/$(DEPDIR) crypto_stream/salsa208/ref/$(DEPDIR) crypto_stream/xsalsa20/$(DEPDIR) crypto_stream/xsalsa20/ref/$(DEPDIR) crypto_verify/16/$(DEPDIR) crypto_verify/16/ref/$(DEPDIR) crypto_verify/32/$(DEPDIR) crypto_verify/32/ref/$(DEPDIR) randombytes/$(DEPDIR) randombytes/salsa20/$(DEPDIR) randombytes/sysrandom/$(DEPDIR) sodium/$(DEPDIR)
+	-rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-recursive
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+	mostlyclean-libtool
+
+pdf: pdf-recursive
+
+pdf-am:
+
+ps: ps-recursive
+
+ps-am:
+
+uninstall-am: uninstall-defexecDATA uninstall-libLTLIBRARIES
+
+.MAKE: $(am__recursive_targets) install-am install-strip
+
+.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \
+	check-am clean clean-generic clean-libLTLIBRARIES \
+	clean-libtool cscopelist-am ctags ctags-am distclean \
+	distclean-compile distclean-generic distclean-libtool \
+	distclean-tags distdir dvi dvi-am html html-am info info-am \
+	install install-am install-data install-data-am \
+	install-defexecDATA install-dvi install-dvi-am install-exec \
+	install-exec-am install-html install-html-am install-info \
+	install-info-am install-libLTLIBRARIES install-man install-pdf \
+	install-pdf-am install-ps install-ps-am install-strip \
+	installcheck installcheck-am installdirs installdirs-am \
+	maintainer-clean maintainer-clean-generic mostlyclean \
+	mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
+	pdf pdf-am ps ps-am tags tags-am uninstall uninstall-am \
+	uninstall-defexecDATA uninstall-libLTLIBRARIES
+
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/src/libsodium/src/libsodium/crypto_auth/crypto_auth.c b/src/libsodium/src/libsodium/crypto_auth/crypto_auth.c
new file mode 100644
index 00000000..e76b1494
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_auth/crypto_auth.c
@@ -0,0 +1,34 @@
+
+#include "crypto_auth.h"
+
+size_t
+crypto_auth_bytes(void)
+{
+    return crypto_auth_BYTES;
+}
+
+size_t
+crypto_auth_keybytes(void)
+{
+    return crypto_auth_KEYBYTES;
+}
+
+const char *
+crypto_auth_primitive(void)
+{
+    return crypto_auth_PRIMITIVE;
+}
+
+int
+crypto_auth(unsigned char *out, const unsigned char *in,
+            unsigned long long inlen, const unsigned char *k)
+{
+    return crypto_auth_hmacsha512256(out, in, inlen, k);
+}
+
+int
+crypto_auth_verify(const unsigned char *h, const unsigned char *in,
+                   unsigned long long inlen,const unsigned char *k)
+{
+    return crypto_auth_hmacsha512256_verify(h, in, inlen, k);
+}
diff --git a/src/libsodium/src/libsodium/crypto_auth/hmacsha256/auth_hmacsha256_api.c b/src/libsodium/src/libsodium/crypto_auth/hmacsha256/auth_hmacsha256_api.c
new file mode 100644
index 00000000..0ac96dcd
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_auth/hmacsha256/auth_hmacsha256_api.c
@@ -0,0 +1,16 @@
+#include "crypto_auth_hmacsha256.h"
+
+size_t
+crypto_auth_hmacsha256_bytes(void) {
+    return crypto_auth_hmacsha256_BYTES;
+}
+
+size_t
+crypto_auth_hmacsha256_keybytes(void) {
+    return crypto_auth_hmacsha256_KEYBYTES;
+}
+
+const char *
+crypto_auth_hmacsha256_primitive(void) {
+    return "hmacsha256";
+}
diff --git a/src/libsodium/src/libsodium/crypto_auth/hmacsha256/ref/api.h b/src/libsodium/src/libsodium/crypto_auth/hmacsha256/ref/api.h
new file mode 100644
index 00000000..46fcdb60
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_auth/hmacsha256/ref/api.h
@@ -0,0 +1,10 @@
+
+#include "crypto_auth_hmacsha256.h"
+
+#define crypto_auth crypto_auth_hmacsha256
+#define crypto_auth_verify crypto_auth_hmacsha256_verify
+#define crypto_auth_BYTES crypto_auth_hmacsha256_BYTES
+#define crypto_auth_KEYBYTES crypto_auth_hmacsha256_KEYBYTES
+#define crypto_auth_PRIMITIVE "hmacsha256"
+#define crypto_auth_IMPLEMENTATION crypto_auth_hmacsha256_IMPLEMENTATION
+#define crypto_auth_VERSION crypto_auth_hmacsha256_VERSION
diff --git a/src/libsodium/src/libsodium/crypto_auth/hmacsha256/ref/hmac_hmacsha256.c b/src/libsodium/src/libsodium/crypto_auth/hmacsha256/ref/hmac_hmacsha256.c
new file mode 100644
index 00000000..2e7564a6
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_auth/hmacsha256/ref/hmac_hmacsha256.c
@@ -0,0 +1,83 @@
+/*
+ * 20080913
+ * D. J. Bernstein
+ * Public domain.
+ * */
+
+#include "api.h"
+#include "crypto_hashblocks_sha256.h"
+
+#define blocks crypto_hashblocks_sha256
+
+typedef unsigned int uint32;
+
+static const char iv[32] = {
+  0x6a,0x09,0xe6,0x67,
+  0xbb,0x67,0xae,0x85,
+  0x3c,0x6e,0xf3,0x72,
+  0xa5,0x4f,0xf5,0x3a,
+  0x51,0x0e,0x52,0x7f,
+  0x9b,0x05,0x68,0x8c,
+  0x1f,0x83,0xd9,0xab,
+  0x5b,0xe0,0xcd,0x19,
+} ;
+
+int crypto_auth(unsigned char *out,const unsigned char *in,unsigned long long inlen,const unsigned char *k)
+{
+  unsigned char h[32];
+  unsigned char padded[128];
+  unsigned long long i;
+  unsigned long long bits = 512 + (inlen << 3);
+
+  for (i = 0;i < 32;++i) h[i] = iv[i];
+
+  for (i = 0;i < 32;++i) padded[i] = k[i] ^ 0x36;
+  for (i = 32;i < 64;++i) padded[i] = 0x36;
+
+  blocks(h,padded,64);
+  blocks(h,in,inlen);
+  in += inlen;
+  inlen &= 63;
+  in -= inlen;
+
+  for (i = 0;i < inlen;++i) padded[i] = in[i];
+  padded[inlen] = 0x80;
+
+  if (inlen < 56) {
+    for (i = inlen + 1;i < 56;++i) padded[i] = 0;
+    padded[56] = bits >> 56;
+    padded[57] = bits >> 48;
+    padded[58] = bits >> 40;
+    padded[59] = bits >> 32;
+    padded[60] = bits >> 24;
+    padded[61] = bits >> 16;
+    padded[62] = bits >> 8;
+    padded[63] = bits;
+    blocks(h,padded,64);
+  } else {
+    for (i = inlen + 1;i < 120;++i) padded[i] = 0;
+    padded[120] = bits >> 56;
+    padded[121] = bits >> 48;
+    padded[122] = bits >> 40;
+    padded[123] = bits >> 32;
+    padded[124] = bits >> 24;
+    padded[125] = bits >> 16;
+    padded[126] = bits >> 8;
+    padded[127] = bits;
+    blocks(h,padded,128);
+  }
+
+  for (i = 0;i < 32;++i) padded[i] = k[i] ^ 0x5c;
+  for (i = 32;i < 64;++i) padded[i] = 0x5c;
+  for (i = 0;i < 32;++i) padded[64 + i] = h[i];
+
+  for (i = 0;i < 32;++i) out[i] = iv[i];
+
+  for (i = 32;i < 64;++i) padded[64 + i] = 0;
+  padded[64 + 32] = 0x80;
+  padded[64 + 62] = 3;
+
+  blocks(out,padded,128);
+
+  return 0;
+}
diff --git a/src/libsodium/src/libsodium/crypto_auth/hmacsha256/ref/verify_hmacsha256.c b/src/libsodium/src/libsodium/crypto_auth/hmacsha256/ref/verify_hmacsha256.c
new file mode 100644
index 00000000..b6cf4893
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_auth/hmacsha256/ref/verify_hmacsha256.c
@@ -0,0 +1,9 @@
+#include "api.h"
+#include "crypto_verify_32.h"
+
+int crypto_auth_verify(const unsigned char *h,const unsigned char *in,unsigned long long inlen,const unsigned char *k)
+{
+  unsigned char correct[32];
+  crypto_auth(correct,in,inlen,k);
+  return crypto_verify_32(h,correct);
+}
diff --git a/src/libsodium/src/libsodium/crypto_auth/hmacsha512256/auth_hmacsha512256_api.c b/src/libsodium/src/libsodium/crypto_auth/hmacsha512256/auth_hmacsha512256_api.c
new file mode 100644
index 00000000..48c92b3d
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_auth/hmacsha512256/auth_hmacsha512256_api.c
@@ -0,0 +1,16 @@
+#include "crypto_auth_hmacsha512256.h"
+
+size_t
+crypto_auth_hmacsha512256_bytes(void) {
+    return crypto_auth_hmacsha512256_BYTES;
+}
+
+size_t
+crypto_auth_hmacsha512256_keybytes(void) {
+    return crypto_auth_hmacsha512256_KEYBYTES;
+}
+
+const char *
+crypto_auth_hmacsha512256_primitive(void) {
+    return "hmacsha512256";
+}
diff --git a/src/libsodium/src/libsodium/crypto_auth/hmacsha512256/ref/api.h b/src/libsodium/src/libsodium/crypto_auth/hmacsha512256/ref/api.h
new file mode 100644
index 00000000..f0331271
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_auth/hmacsha512256/ref/api.h
@@ -0,0 +1,10 @@
+
+#include "crypto_auth_hmacsha512256.h"
+
+#define crypto_auth crypto_auth_hmacsha512256
+#define crypto_auth_verify crypto_auth_hmacsha512256_verify
+#define crypto_auth_BYTES crypto_auth_hmacsha512256_BYTES
+#define crypto_auth_KEYBYTES crypto_auth_hmacsha512256_KEYBYTES
+#define crypto_auth_PRIMITIVE "hmacsha512256"
+#define crypto_auth_IMPLEMENTATION crypto_auth_hmacsha512256_IMPLEMENTATION
+#define crypto_auth_VERSION crypto_auth_hmacsha512256_VERSION
diff --git a/src/libsodium/src/libsodium/crypto_auth/hmacsha512256/ref/hmac_hmacsha512256.c b/src/libsodium/src/libsodium/crypto_auth/hmacsha512256/ref/hmac_hmacsha512256.c
new file mode 100644
index 00000000..be871ced
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_auth/hmacsha512256/ref/hmac_hmacsha512256.c
@@ -0,0 +1,86 @@
+/*
+ * 20080913
+ * D. J. Bernstein
+ * Public domain.
+ * */
+
+#include "api.h"
+#include "crypto_hashblocks_sha512.h"
+
+#define blocks crypto_hashblocks_sha512
+
+typedef unsigned long long uint64;
+
+static const unsigned char iv[64] = {
+  0x6a,0x09,0xe6,0x67,0xf3,0xbc,0xc9,0x08,
+  0xbb,0x67,0xae,0x85,0x84,0xca,0xa7,0x3b,
+  0x3c,0x6e,0xf3,0x72,0xfe,0x94,0xf8,0x2b,
+  0xa5,0x4f,0xf5,0x3a,0x5f,0x1d,0x36,0xf1,
+  0x51,0x0e,0x52,0x7f,0xad,0xe6,0x82,0xd1,
+  0x9b,0x05,0x68,0x8c,0x2b,0x3e,0x6c,0x1f,
+  0x1f,0x83,0xd9,0xab,0xfb,0x41,0xbd,0x6b,
+  0x5b,0xe0,0xcd,0x19,0x13,0x7e,0x21,0x79
+} ;
+
+int crypto_auth(unsigned char *out,const unsigned char *in,unsigned long long inlen,const unsigned char *k)
+{
+  unsigned char h[64];
+  unsigned char padded[256];
+  unsigned long long i;
+  unsigned long long bytes = 128 + inlen;
+
+  for (i = 0;i < 64;++i) h[i] = iv[i];
+
+  for (i = 0;i < 32;++i) padded[i] = k[i] ^ 0x36;
+  for (i = 32;i < 128;++i) padded[i] = 0x36;
+
+  blocks(h,padded,128);
+  blocks(h,in,inlen);
+  in += inlen;
+  inlen &= 127;
+  in -= inlen;
+
+  for (i = 0;i < inlen;++i) padded[i] = in[i];
+  padded[inlen] = 0x80;
+
+  if (inlen < 112) {
+    for (i = inlen + 1;i < 119;++i) padded[i] = 0;
+    padded[119] = bytes >> 61;
+    padded[120] = bytes >> 53;
+    padded[121] = bytes >> 45;
+    padded[122] = bytes >> 37;
+    padded[123] = bytes >> 29;
+    padded[124] = bytes >> 21;
+    padded[125] = bytes >> 13;
+    padded[126] = bytes >> 5;
+    padded[127] = bytes << 3;
+    blocks(h,padded,128);
+  } else {
+    for (i = inlen + 1;i < 247;++i) padded[i] = 0;
+    padded[247] = bytes >> 61;
+    padded[248] = bytes >> 53;
+    padded[249] = bytes >> 45;
+    padded[250] = bytes >> 37;
+    padded[251] = bytes >> 29;
+    padded[252] = bytes >> 21;
+    padded[253] = bytes >> 13;
+    padded[254] = bytes >> 5;
+    padded[255] = bytes << 3;
+    blocks(h,padded,256);
+  }
+
+  for (i = 0;i < 32;++i) padded[i] = k[i] ^ 0x5c;
+  for (i = 32;i < 128;++i) padded[i] = 0x5c;
+
+  for (i = 0;i < 64;++i) padded[128 + i] = h[i];
+  for (i = 0;i < 64;++i) h[i] = iv[i];
+
+  for (i = 64;i < 128;++i) padded[128 + i] = 0;
+  padded[128 + 64] = 0x80;
+  padded[128 + 126] = 6;
+
+  blocks(h,padded,256);
+  for (i = 0;i < 32;++i) out[i] = h[i];
+
+  return 0;
+}
diff --git a/src/libsodium/src/libsodium/crypto_auth/hmacsha512256/ref/verify_hmacsha512256.c b/src/libsodium/src/libsodium/crypto_auth/hmacsha512256/ref/verify_hmacsha512256.c
new file mode 100644
index 00000000..b6cf4893
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_auth/hmacsha512256/ref/verify_hmacsha512256.c
@@ -0,0 +1,9 @@
+#include "api.h"
+#include "crypto_verify_32.h"
+
+int crypto_auth_verify(const unsigned char *h,const unsigned char *in,unsigned long long inlen,const unsigned char *k)
+{
+  unsigned char correct[32];
+  crypto_auth(correct,in,inlen,k);
+  return crypto_verify_32(h,correct);
+}
diff --git a/src/libsodium/src/libsodium/crypto_box/crypto_box.c b/src/libsodium/src/libsodium/crypto_box/crypto_box.c
new file mode 100644
index 00000000..7ec820a4
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_box/crypto_box.c
@@ -0,0 +1,95 @@
+
+#include "crypto_box.h"
+
+size_t
+crypto_box_publickeybytes(void)
+{
+    return crypto_box_PUBLICKEYBYTES;
+}
+
+size_t
+crypto_box_secretkeybytes(void)
+{
+    return crypto_box_SECRETKEYBYTES;
+}
+
+size_t
+crypto_box_beforenmbytes(void)
+{
+    return crypto_box_BEFORENMBYTES;
+}
+
+size_t
+crypto_box_noncebytes(void)
+{
+    return crypto_box_NONCEBYTES;
+}
+
+size_t
+crypto_box_zerobytes(void)
+{
+    return crypto_box_ZEROBYTES;
+}
+
+size_t
+crypto_box_boxzerobytes(void)
+{
+    return crypto_box_BOXZEROBYTES;
+}
+
+size_t
+crypto_box_macbytes(void)
+{
+    return crypto_box_MACBYTES;
+}
+
+const char *
+crypto_box_primitive(void)
+{
+    return crypto_box_PRIMITIVE;
+}
+
+int
+crypto_box_keypair(unsigned char *pk, unsigned char *sk)
+{
+    return crypto_box_curve25519xsalsa20poly1305_keypair(pk, sk);
+}
+
+int
+crypto_box_beforenm(unsigned char *k, const unsigned char *pk,
+                    const unsigned char *sk)
+{
+    return crypto_box_curve25519xsalsa20poly1305_beforenm(k, pk, sk);
+}
+
+int
+crypto_box_afternm(unsigned char *c, const unsigned char *m,
+                   unsigned long long mlen, const unsigned char *n,
+                   const unsigned char *k)
+{
+    return crypto_box_curve25519xsalsa20poly1305_afternm(c, m, mlen, n, k);
+}
+
+int
+crypto_box_open_afternm(unsigned char *m, const unsigned char *c,
+                        unsigned long long clen, const unsigned char *n,
+                        const unsigned char *k)
+{
+    return crypto_box_curve25519xsalsa20poly1305_open_afternm(m, c, clen, n, k);
+}
+
+int
+crypto_box(unsigned char *c, const unsigned char *m,
+           unsigned long long mlen, const unsigned char *n,
+           const unsigned char *pk, const unsigned char *sk)
+{
+    return crypto_box_curve25519xsalsa20poly1305(c, m, mlen, n, pk, sk);
+}
+
+int
+crypto_box_open(unsigned char *m, const unsigned char *c,
+                unsigned long long clen, const unsigned char *n,
+                const unsigned char *pk, const unsigned char *sk)
+{
+    return crypto_box_curve25519xsalsa20poly1305_open(m, c, clen, n, pk, sk);
+}
diff --git a/src/libsodium/src/libsodium/crypto_box/curve25519xsalsa20poly1305/box_curve25519xsalsa20poly1305_api.c b/src/libsodium/src/libsodium/crypto_box/curve25519xsalsa20poly1305/box_curve25519xsalsa20poly1305_api.c
new file mode 100644
index 00000000..6f04bf86
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_box/curve25519xsalsa20poly1305/box_curve25519xsalsa20poly1305_api.c
@@ -0,0 +1,41 @@
+#include "crypto_box_curve25519xsalsa20poly1305.h"
+
+size_t
+crypto_box_curve25519xsalsa20poly1305_publickeybytes(void) {
+    return crypto_box_curve25519xsalsa20poly1305_PUBLICKEYBYTES;
+}
+
+size_t
+crypto_box_curve25519xsalsa20poly1305_secretkeybytes(void) {
+    return crypto_box_curve25519xsalsa20poly1305_SECRETKEYBYTES;
+}
+
+size_t
+crypto_box_curve25519xsalsa20poly1305_beforenmbytes(void) {
+    return crypto_box_curve25519xsalsa20poly1305_BEFORENMBYTES;
+}
+
+size_t
+crypto_box_curve25519xsalsa20poly1305_noncebytes(void) {
+    return crypto_box_curve25519xsalsa20poly1305_NONCEBYTES;
+}
+
+size_t
+crypto_box_curve25519xsalsa20poly1305_zerobytes(void) {
+    return crypto_box_curve25519xsalsa20poly1305_ZEROBYTES;
+}
+
+size_t
+crypto_box_curve25519xsalsa20poly1305_boxzerobytes(void) {
+    return crypto_box_curve25519xsalsa20poly1305_BOXZEROBYTES;
+}
+
+size_t
+crypto_box_curve25519xsalsa20poly1305_macbytes(void) {
+    return crypto_box_curve25519xsalsa20poly1305_MACBYTES;
+}
+
+const char *
+crypto_box_curve25519xsalsa20poly1305_primitive(void) {
+    return "curve25519xsalsa20poly1305";
+}
diff --git a/src/libsodium/src/libsodium/crypto_box/curve25519xsalsa20poly1305/ref/after_curve25519xsalsa20poly1305.c b/src/libsodium/src/libsodium/crypto_box/curve25519xsalsa20poly1305/ref/after_curve25519xsalsa20poly1305.c
new file mode 100644
index 00000000..a830936b
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_box/curve25519xsalsa20poly1305/ref/after_curve25519xsalsa20poly1305.c
@@ -0,0 +1,22 @@
+#include "api.h"
+#include "crypto_secretbox_xsalsa20poly1305.h"
+
+int crypto_box_afternm(
+  unsigned char *c,
+  const unsigned char *m,unsigned long long mlen,
+  const unsigned char *n,
+  const unsigned char *k
+)
+{
+  return crypto_secretbox_xsalsa20poly1305(c,m,mlen,n,k);
+}
+
+int crypto_box_open_afternm(
+  unsigned char *m,
+  const unsigned char *c,unsigned long long clen,
+  const unsigned char *n,
+  const unsigned char *k
+)
+{
+  return crypto_secretbox_xsalsa20poly1305_open(m,c,clen,n,k);
+}
diff --git a/src/libsodium/src/libsodium/crypto_box/curve25519xsalsa20poly1305/ref/api.h b/src/libsodium/src/libsodium/crypto_box/curve25519xsalsa20poly1305/ref/api.h
new file mode 100644
index 00000000..394a75ec
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_box/curve25519xsalsa20poly1305/ref/api.h
@@ -0,0 +1,19 @@
+
+#include "crypto_box_curve25519xsalsa20poly1305.h"
+
+#define crypto_box crypto_box_curve25519xsalsa20poly1305
+#define crypto_box_open crypto_box_curve25519xsalsa20poly1305_open
+#define crypto_box_keypair crypto_box_curve25519xsalsa20poly1305_keypair
+#define crypto_box_beforenm crypto_box_curve25519xsalsa20poly1305_beforenm
+#define crypto_box_afternm crypto_box_curve25519xsalsa20poly1305_afternm
+#define crypto_box_open_afternm crypto_box_curve25519xsalsa20poly1305_open_afternm
+#define crypto_box_PUBLICKEYBYTES crypto_box_curve25519xsalsa20poly1305_PUBLICKEYBYTES
+#define crypto_box_SECRETKEYBYTES crypto_box_curve25519xsalsa20poly1305_SECRETKEYBYTES
+#define crypto_box_BEFORENMBYTES crypto_box_curve25519xsalsa20poly1305_BEFORENMBYTES
+#define crypto_box_NONCEBYTES crypto_box_curve25519xsalsa20poly1305_NONCEBYTES
+#define crypto_box_ZEROBYTES crypto_box_curve25519xsalsa20poly1305_ZEROBYTES
+#define crypto_box_BOXZEROBYTES crypto_box_curve25519xsalsa20poly1305_BOXZEROBYTES
+#define crypto_box_MACBYTES (crypto_box_ZEROBYTES - crypto_box_BOXZEROBYTES)
+#define crypto_box_PRIMITIVE "curve25519xsalsa20poly1305"
+#define crypto_box_IMPLEMENTATION crypto_box_curve25519xsalsa20poly1305_IMPLEMENTATION
+#define crypto_box_VERSION crypto_box_curve25519xsalsa20poly1305_VERSION
diff --git a/src/libsodium/src/libsodium/crypto_box/curve25519xsalsa20poly1305/ref/before_curve25519xsalsa20poly1305.c b/src/libsodium/src/libsodium/crypto_box/curve25519xsalsa20poly1305/ref/before_curve25519xsalsa20poly1305.c
new file mode 100644
index 00000000..40d4300e
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_box/curve25519xsalsa20poly1305/ref/before_curve25519xsalsa20poly1305.c
@@ -0,0 +1,19 @@
+#include "api.h"
+#include "crypto_core_hsalsa20.h"
+#include "crypto_scalarmult_curve25519.h"
+
+static const unsigned char sigma[16] = {
+    'e', 'x', 'p', 'a', 'n', 'd', ' ', '3', '2', '-', 'b', 'y', 't', 'e', ' ', 'k'
+};
+static const unsigned char n[16] = {0};
+
+int crypto_box_beforenm(
+  unsigned char *k,
+  const unsigned char *pk,
+  const unsigned char *sk
+)
+{
+  unsigned char s[32];
+  crypto_scalarmult_curve25519(s,sk,pk);
+  return crypto_core_hsalsa20(k,n,s,sigma);
+}
diff --git a/src/libsodium/src/libsodium/crypto_box/curve25519xsalsa20poly1305/ref/box_curve25519xsalsa20poly1305.c b/src/libsodium/src/libsodium/crypto_box/curve25519xsalsa20poly1305/ref/box_curve25519xsalsa20poly1305.c
new file mode 100644
index 00000000..4b75ece8
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_box/curve25519xsalsa20poly1305/ref/box_curve25519xsalsa20poly1305.c
@@ -0,0 +1,27 @@
+#include "api.h"
+
+int crypto_box(
+  unsigned char *c,
+  const unsigned char *m,unsigned long long mlen,
+  const unsigned char *n,
+  const unsigned char *pk,
+  const unsigned char *sk
+)
+{
+  unsigned char k[crypto_box_BEFORENMBYTES];
+  crypto_box_beforenm(k,pk,sk);
+  return crypto_box_afternm(c,m,mlen,n,k);
+}
+
+int crypto_box_open(
+  unsigned char *m,
+  const unsigned char *c,unsigned long long clen,
+  const unsigned char *n,
+  const unsigned char *pk,
+  const unsigned char *sk
+)
+{
+  unsigned char k[crypto_box_BEFORENMBYTES];
+  crypto_box_beforenm(k,pk,sk);
+  return crypto_box_open_afternm(m,c,clen,n,k);
+}
diff --git a/src/libsodium/src/libsodium/crypto_box/curve25519xsalsa20poly1305/ref/keypair_curve25519xsalsa20poly1305.c b/src/libsodium/src/libsodium/crypto_box/curve25519xsalsa20poly1305/ref/keypair_curve25519xsalsa20poly1305.c
new file mode 100644
index 00000000..69fb1cfc
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_box/curve25519xsalsa20poly1305/ref/keypair_curve25519xsalsa20poly1305.c
@@ -0,0 +1,12 @@
+#include "crypto_scalarmult_curve25519.h"
+#include "api.h"
+#include "randombytes.h"
+
+int crypto_box_keypair(
+  unsigned char *pk,
+  unsigned char *sk
+)
+{
+  randombytes(sk,32);
+  return crypto_scalarmult_curve25519_base(pk,sk);
+}
diff --git a/src/libsodium/src/libsodium/crypto_core/hsalsa20/core_hsalsa20_api.c b/src/libsodium/src/libsodium/crypto_core/hsalsa20/core_hsalsa20_api.c
new file mode 100644
index 00000000..31836abd
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_core/hsalsa20/core_hsalsa20_api.c
@@ -0,0 +1,26 @@
+#include "crypto_core_hsalsa20.h"
+
+size_t
+crypto_core_hsalsa20_outputbytes(void) {
+    return crypto_core_hsalsa20_OUTPUTBYTES;
+}
+
+size_t
+crypto_core_hsalsa20_inputbytes(void) {
+    return crypto_core_hsalsa20_INPUTBYTES;
+}
+
+size_t
+crypto_core_hsalsa20_keybytes(void) {
+    return crypto_core_hsalsa20_KEYBYTES;
+}
+
+size_t
+crypto_core_hsalsa20_constbytes(void) {
+    return crypto_core_hsalsa20_CONSTBYTES;
+}
+
+const char *
+crypto_core_hsalsa20_primitive(void) {
+    return "hsalsa20";
+}
diff --git a/src/libsodium/src/libsodium/crypto_core/hsalsa20/ref2/api.h b/src/libsodium/src/libsodium/crypto_core/hsalsa20/ref2/api.h
new file mode 100644
index 00000000..e7866bac
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_core/hsalsa20/ref2/api.h
@@ -0,0 +1,11 @@
+
+#include "crypto_core_hsalsa20.h"
+
+#define crypto_core crypto_core_hsalsa20
+#define crypto_core_OUTPUTBYTES crypto_core_hsalsa20_OUTPUTBYTES
+#define crypto_core_INPUTBYTES crypto_core_hsalsa20_INPUTBYTES
+#define crypto_core_KEYBYTES crypto_core_hsalsa20_KEYBYTES
+#define crypto_core_CONSTBYTES crypto_core_hsalsa20_CONSTBYTES
+#define crypto_core_PRIMITIVE "hsalsa20"
+#define crypto_core_IMPLEMENTATION crypto_core_hsalsa20_IMPLEMENTATION
+#define crypto_core_VERSION crypto_core_hsalsa20_VERSION
diff --git a/src/libsodium/src/libsodium/crypto_core/hsalsa20/ref2/core_hsalsa20.c b/src/libsodium/src/libsodium/crypto_core/hsalsa20/ref2/core_hsalsa20.c
new file mode 100644
index 00000000..c9bd359e
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_core/hsalsa20/ref2/core_hsalsa20.c
@@ -0,0 +1,108 @@
+/*
+version 20080912
+D. J. Bernstein
+Public domain.
+*/
+
+#include "api.h"
+
+#define ROUNDS 20
+
+typedef unsigned int uint32;
+
+static uint32 rotate(uint32 u,int c)
+{
+  return (u << c) | (u >> (32 - c));
+}
+
+static uint32 load_littleendian(const unsigned char *x)
+{
+  return
+      (uint32) (x[0]) \
+  | (((uint32) (x[1])) << 8) \
+  | (((uint32) (x[2])) << 16) \
+  | (((uint32) (x[3])) << 24)
+  ;
+}
+
+static void store_littleendian(unsigned char *x,uint32 u)
+{
+  x[0] = u; u >>= 8;
+  x[1] = u; u >>= 8;
+  x[2] = u; u >>= 8;
+  x[3] = u;
+}
+
+int crypto_core(
+        unsigned char *out,
+  const unsigned char *in,
+  const unsigned char *k,
+  const unsigned char *c
+)
+{
+  uint32 x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15;
+  int i;
+
+  x0 = load_littleendian(c + 0);
+  x1 = load_littleendian(k + 0);
+  x2 = load_littleendian(k + 4);
+  x3 = load_littleendian(k + 8);
+  x4 = load_littleendian(k + 12);
+  x5 = load_littleendian(c + 4);
+  x6 = load_littleendian(in + 0);
+  x7 = load_littleendian(in + 4);
+  x8 = load_littleendian(in + 8);
+  x9 = load_littleendian(in + 12);
+  x10 = load_littleendian(c + 8);
+  x11 = load_littleendian(k + 16);
+  x12 = load_littleendian(k + 20);
+  x13 = load_littleendian(k + 24);
+  x14 = load_littleendian(k + 28);
+  x15 = load_littleendian(c + 12);
+
+  for (i = ROUNDS;i > 0;i -= 2) {
+     x4 ^= rotate( x0+x12, 7);
+     x8 ^= rotate( x4+ x0, 9);
+    x12 ^= rotate( x8+ x4,13);
+     x0 ^= rotate(x12+ x8,18);
+     x9 ^= rotate( x5+ x1, 7);
+    x13 ^= rotate( x9+ x5, 9);
+     x1 ^= rotate(x13+ x9,13);
+     x5 ^= rotate( x1+x13,18);
+    x14 ^= rotate(x10+ x6, 7);
+     x2 ^= rotate(x14+x10, 9);
+     x6 ^= rotate( x2+x14,13);
+    x10 ^= rotate( x6+ x2,18);
+     x3 ^= rotate(x15+x11, 7);
+     x7 ^= rotate( x3+x15, 9);
+    x11 ^= rotate( x7+ x3,13);
+    x15 ^= rotate(x11+ x7,18);
+     x1 ^= rotate( x0+ x3, 7);
+     x2 ^= rotate( x1+ x0, 9);
+     x3 ^= rotate( x2+ x1,13);
+     x0 ^= rotate( x3+ x2,18);
+     x6 ^= rotate( x5+ x4, 7);
+     x7 ^= rotate( x6+ x5, 9);
+     x4 ^= rotate( x7+ x6,13);
+     x5 ^= rotate( x4+ x7,18);
+    x11 ^= rotate(x10+ x9, 7);
+     x8 ^= rotate(x11+x10, 9);
+     x9 ^= rotate( x8+x11,13);
+    x10 ^= rotate( x9+ x8,18);
+    x12 ^= rotate(x15+x14, 7);
+    x13 ^= rotate(x12+x15, 9);
+    x14 ^= rotate(x13+x12,13);
+    x15 ^= rotate(x14+x13,18);
+  }
+
+  store_littleendian(out + 0,x0);
+  store_littleendian(out + 4,x5);
+  store_littleendian(out + 8,x10);
+  store_littleendian(out + 12,x15);
+  store_littleendian(out + 16,x6);
+  store_littleendian(out + 20,x7);
+  store_littleendian(out + 24,x8);
+  store_littleendian(out + 28,x9);
+
+  return 0;
+}
diff --git a/src/libsodium/src/libsodium/crypto_core/salsa20/core_salsa20_api.c b/src/libsodium/src/libsodium/crypto_core/salsa20/core_salsa20_api.c
new file mode 100644
index 00000000..6ea9ee0c
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_core/salsa20/core_salsa20_api.c
@@ -0,0 +1,26 @@
+#include "crypto_core_salsa20.h"
+
+size_t
+crypto_core_salsa20_outputbytes(void) {
+    return crypto_core_salsa20_OUTPUTBYTES;
+}
+
+size_t
+crypto_core_salsa20_inputbytes(void) {
+    return crypto_core_salsa20_INPUTBYTES;
+}
+
+size_t
+crypto_core_salsa20_keybytes(void) {
+    return crypto_core_salsa20_KEYBYTES;
+}
+
+size_t
+crypto_core_salsa20_constbytes(void) {
+    return crypto_core_salsa20_CONSTBYTES;
+}
+
+const char *
+crypto_core_salsa20_primitive(void) {
+    return "salsa20";
+}
diff --git a/src/libsodium/src/libsodium/crypto_core/salsa20/ref/api.h b/src/libsodium/src/libsodium/crypto_core/salsa20/ref/api.h
new file mode 100644
index 00000000..d800a1ed
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_core/salsa20/ref/api.h
@@ -0,0 +1,11 @@
+
+#include "crypto_core_salsa20.h"
+
+#define crypto_core crypto_core_salsa20
+#define crypto_core_OUTPUTBYTES crypto_core_salsa20_OUTPUTBYTES
+#define crypto_core_INPUTBYTES crypto_core_salsa20_INPUTBYTES
+#define crypto_core_KEYBYTES crypto_core_salsa20_KEYBYTES
+#define crypto_core_CONSTBYTES crypto_core_salsa20_CONSTBYTES
+#define crypto_core_PRIMITIVE "salsa20"
+#define crypto_core_IMPLEMENTATION crypto_core_salsa20_IMPLEMENTATION
+#define crypto_core_VERSION crypto_core_salsa20_VERSION
diff --git a/src/libsodium/src/libsodium/crypto_core/salsa20/ref/core_salsa20.c b/src/libsodium/src/libsodium/crypto_core/salsa20/ref/core_salsa20.c
new file mode 100644
index 00000000..b2f6f5c7
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_core/salsa20/ref/core_salsa20.c
@@ -0,0 +1,134 @@
+/*
+version 20080912
+D. J. Bernstein
+Public domain.
+*/
+
+#include "api.h"
+
+#define ROUNDS 20
+
+typedef unsigned int uint32;
+
+static uint32 rotate(uint32 u,int c)
+{
+  return (u << c) | (u >> (32 - c));
+}
+
+static uint32 load_littleendian(const unsigned char *x)
+{
+  return
+      (uint32) (x[0]) \
+  | (((uint32) (x[1])) << 8) \
+  | (((uint32) (x[2])) << 16) \
+  | (((uint32) (x[3])) << 24)
+  ;
+}
+
+static void store_littleendian(unsigned char *x,uint32 u)
+{
+  x[0] = u; u >>= 8;
+  x[1] = u; u >>= 8;
+  x[2] = u; u >>= 8;
+  x[3] = u;
+}
+
+int crypto_core(
+        unsigned char *out,
+  const unsigned char *in,
+  const unsigned char *k,
+  const unsigned char *c
+)
+{
+  uint32 x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15;
+  uint32 j0, j1, j2, j3, j4, j5, j6, j7, j8, j9, j10, j11, j12, j13, j14, j15;
+  int i;
+
+  j0 = x0 = load_littleendian(c + 0);
+  j1 = x1 = load_littleendian(k + 0);
+  j2 = x2 = load_littleendian(k + 4);
+  j3 = x3 = load_littleendian(k + 8);
+  j4 = x4 = load_littleendian(k + 12);
+  j5 = x5 = load_littleendian(c + 4);
+  j6 = x6 = load_littleendian(in + 0);
+  j7 = x7 = load_littleendian(in + 4);
+  j8 = x8 = load_littleendian(in + 8);
+  j9 = x9 = load_littleendian(in + 12);
+  j10 = x10 = load_littleendian(c + 8);
+  j11 = x11 = load_littleendian(k + 16);
+  j12 = x12 = load_littleendian(k + 20);
+  j13 = x13 = load_littleendian(k + 24);
+  j14 = x14 = load_littleendian(k + 28);
+  j15 = x15 = load_littleendian(c + 12);
+
+  for (i = ROUNDS;i > 0;i -= 2) {
+     x4 ^= rotate( x0+x12, 7);
+     x8 ^= rotate( x4+ x0, 9);
+    x12 ^= rotate( x8+ x4,13);
+     x0 ^= rotate(x12+ x8,18);
+     x9 ^= rotate( x5+ x1, 7);
+    x13 ^= rotate( x9+ x5, 9);
+     x1 ^= rotate(x13+ x9,13);
+     x5 ^= rotate( x1+x13,18);
+    x14 ^= rotate(x10+ x6, 7);
+     x2 ^= rotate(x14+x10, 9);
+     x6 ^= rotate( x2+x14,13);
+    x10 ^= rotate( x6+ x2,18);
+     x3 ^= rotate(x15+x11, 7);
+     x7 ^= rotate( x3+x15, 9);
+    x11 ^= rotate( x7+ x3,13);
+    x15 ^= rotate(x11+ x7,18);
+     x1 ^= rotate( x0+ x3, 7);
+     x2 ^= rotate( x1+ x0, 9);
+     x3 ^= rotate( x2+ x1,13);
+     x0 ^= rotate( x3+ x2,18);
+     x6 ^= rotate( x5+ x4, 7);
+     x7 ^= rotate( x6+ x5, 9);
+     x4 ^= rotate( x7+ x6,13);
+     x5 ^= rotate( x4+ x7,18);
+    x11 ^= rotate(x10+ x9, 7);
+     x8 ^= rotate(x11+x10, 9);
+     x9 ^= rotate( x8+x11,13);
+    x10 ^= rotate( x9+ x8,18);
+    x12 ^= rotate(x15+x14, 7);
+    x13 ^= rotate(x12+x15, 9);
+    x14 ^= rotate(x13+x12,13);
+    x15 ^= rotate(x14+x13,18);
+  }
+
+  x0 += j0;
+  x1 += j1;
+  x2 += j2;
+  x3 += j3;
+  x4 += j4;
+  x5 += j5;
+  x6 += j6;
+  x7 += j7;
+  x8 += j8;
+  x9 += j9;
+  x10 += j10;
+  x11 += j11;
+  x12 += j12;
+  x13 += j13;
+  x14 += j14;
+  x15 += j15;
+
+  store_littleendian(out + 0,x0);
+  store_littleendian(out + 4,x1);
+  store_littleendian(out + 8,x2);
+  store_littleendian(out + 12,x3);
+  store_littleendian(out + 16,x4);
+  store_littleendian(out + 20,x5);
+  store_littleendian(out + 24,x6);
+  store_littleendian(out + 28,x7);
+  store_littleendian(out + 32,x8);
+  store_littleendian(out + 36,x9);
+  store_littleendian(out + 40,x10);
+  store_littleendian(out + 44,x11);
+  store_littleendian(out + 48,x12);
+  store_littleendian(out + 52,x13);
+  store_littleendian(out + 56,x14);
+  store_littleendian(out + 60,x15);
+
+  return 0;
+}
diff --git a/src/libsodium/src/libsodium/crypto_core/salsa2012/core_salsa2012_api.c b/src/libsodium/src/libsodium/crypto_core/salsa2012/core_salsa2012_api.c
new file mode 100644
index 00000000..15b0533c
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_core/salsa2012/core_salsa2012_api.c
@@ -0,0 +1,26 @@
+#include "crypto_core_salsa2012.h"
+
+size_t
+crypto_core_salsa2012_outputbytes(void) {
+    return crypto_core_salsa2012_OUTPUTBYTES;
+}
+
+size_t
+crypto_core_salsa2012_inputbytes(void) {
+    return crypto_core_salsa2012_INPUTBYTES;
+}
+
+size_t
+crypto_core_salsa2012_keybytes(void) {
+    return crypto_core_salsa2012_KEYBYTES;
+}
+
+size_t
+crypto_core_salsa2012_constbytes(void) {
+    return crypto_core_salsa2012_CONSTBYTES;
+}
+
+const char *
+crypto_core_salsa2012_primitive(void) {
+    return "salsa2012";
+}
diff --git a/src/libsodium/src/libsodium/crypto_core/salsa2012/ref/api.h b/src/libsodium/src/libsodium/crypto_core/salsa2012/ref/api.h
new file mode 100644
index 00000000..3e27241d
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_core/salsa2012/ref/api.h
@@ -0,0 +1,11 @@
+
+#include "crypto_core_salsa2012.h"
+
+#define crypto_core crypto_core_salsa2012
+#define crypto_core_OUTPUTBYTES crypto_core_salsa2012_OUTPUTBYTES
+#define crypto_core_INPUTBYTES crypto_core_salsa2012_INPUTBYTES
+#define crypto_core_KEYBYTES crypto_core_salsa2012_KEYBYTES
+#define crypto_core_CONSTBYTES crypto_core_salsa2012_CONSTBYTES
+#define crypto_core_PRIMITIVE "salsa2012"
+#define crypto_core_IMPLEMENTATION crypto_core_salsa2012_IMPLEMENTATION
+#define crypto_core_VERSION crypto_core_salsa2012_VERSION
diff --git a/src/libsodium/src/libsodium/crypto_core/salsa2012/ref/core_salsa2012.c b/src/libsodium/src/libsodium/crypto_core/salsa2012/ref/core_salsa2012.c
new file mode 100644
index 00000000..07a72e71
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_core/salsa2012/ref/core_salsa2012.c
@@ -0,0 +1,134 @@
+/*
+version 20080913
+D. J. Bernstein
+Public domain.
+*/
+
+#include "api.h"
+
+#define ROUNDS 12
+
+typedef unsigned int uint32;
+
+static uint32 rotate(uint32 u,int c)
+{
+  return (u << c) | (u >> (32 - c));
+}
+
+static uint32 load_littleendian(const unsigned char *x)
+{
+  return
+      (uint32) (x[0]) \
+  | (((uint32) (x[1])) << 8) \
+  | (((uint32) (x[2])) << 16) \
+  | (((uint32) (x[3])) << 24)
+  ;
+}
+
+static void store_littleendian(unsigned char *x,uint32 u)
+{
+  x[0] = u; u >>= 8;
+  x[1] = u; u >>= 8;
+  x[2] = u; u >>= 8;
+  x[3] = u;
+}
+
+int crypto_core(
+        unsigned char *out,
+  const unsigned char *in,
+  const unsigned char *k,
+  const unsigned char *c
+)
+{
+  uint32 x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15;
+  uint32 j0, j1, j2, j3, j4, j5, j6, j7, j8, j9, j10, j11, j12, j13, j14, j15;
+  int i;
+
+  j0 = x0 = load_littleendian(c + 0);
+  j1 = x1 = load_littleendian(k + 0);
+  j2 = x2 = load_littleendian(k + 4);
+  j3 = x3 = load_littleendian(k + 8);
+  j4 = x4 = load_littleendian(k + 12);
+  j5 = x5 = load_littleendian(c + 4);
+  j6 = x6 = load_littleendian(in + 0);
+  j7 = x7 = load_littleendian(in + 4);
+  j8 = x8 = load_littleendian(in + 8);
+  j9 = x9 = load_littleendian(in + 12);
+  j10 = x10 = load_littleendian(c + 8);
+  j11 = x11 = load_littleendian(k + 16);
+  j12 = x12 = load_littleendian(k + 20);
+  j13 = x13 = load_littleendian(k + 24);
+  j14 = x14 = load_littleendian(k + 28);
+  j15 = x15 = load_littleendian(c + 12);
+
+  for (i = ROUNDS;i > 0;i -= 2) {
+     x4 ^= rotate( x0+x12, 7);
+     x8 ^= rotate( x4+ x0, 9);
+    x12 ^= rotate( x8+ x4,13);
+     x0 ^= rotate(x12+ x8,18);
+     x9 ^= rotate( x5+ x1, 7);
+    x13 ^= rotate( x9+ x5, 9);
+     x1 ^= rotate(x13+ x9,13);
+     x5 ^= rotate( x1+x13,18);
+    x14 ^= rotate(x10+ x6, 7);
+     x2 ^= rotate(x14+x10, 9);
+     x6 ^= rotate( x2+x14,13);
+    x10 ^= rotate( x6+ x2,18);
+     x3 ^= rotate(x15+x11, 7);
+     x7 ^= rotate( x3+x15, 9);
+    x11 ^= rotate( x7+ x3,13);
+    x15 ^= rotate(x11+ x7,18);
+     x1 ^= rotate( x0+ x3, 7);
+     x2 ^= rotate( x1+ x0, 9);
+     x3 ^= rotate( x2+ x1,13);
+     x0 ^= rotate( x3+ x2,18);
+     x6 ^= rotate( x5+ x4, 7);
+     x7 ^= rotate( x6+ x5, 9);
+     x4 ^= rotate( x7+ x6,13);
+     x5 ^= rotate( x4+ x7,18);
+    x11 ^= rotate(x10+ x9, 7);
+     x8 ^= rotate(x11+x10, 9);
+     x9 ^= rotate( x8+x11,13);
+    x10 ^= rotate( x9+ x8,18);
+    x12 ^= rotate(x15+x14, 7);
+    x13 ^= rotate(x12+x15, 9);
+    x14 ^= rotate(x13+x12,13);
+    x15 ^= rotate(x14+x13,18);
+  }
+
+  x0 += j0;
+  x1 += j1;
+  x2 += j2;
+  x3 += j3;
+  x4 += j4;
+  x5 += j5;
+  x6 += j6;
+  x7 += j7;
+  x8 += j8;
+  x9 += j9;
+  x10 += j10;
+  x11 += j11;
+  x12 += j12;
+  x13 += j13;
+  x14 += j14;
+  x15 += j15;
+
+  store_littleendian(out + 0,x0);
+  store_littleendian(out + 4,x1);
+  store_littleendian(out + 8,x2);
+  store_littleendian(out + 12,x3);
+  store_littleendian(out + 16,x4);
+  store_littleendian(out + 20,x5);
+  store_littleendian(out + 24,x6);
+  store_littleendian(out + 28,x7);
+  store_littleendian(out + 32,x8);
+  store_littleendian(out + 36,x9);
+  store_littleendian(out + 40,x10);
+  store_littleendian(out + 44,x11);
+  store_littleendian(out + 48,x12);
+  store_littleendian(out + 52,x13);
+  store_littleendian(out + 56,x14);
+  store_littleendian(out + 60,x15);
+
+  return 0;
+}
diff --git a/src/libsodium/src/libsodium/crypto_core/salsa208/core_salsa208_api.c b/src/libsodium/src/libsodium/crypto_core/salsa208/core_salsa208_api.c
new file mode 100644
index 00000000..13af9a9c
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_core/salsa208/core_salsa208_api.c
@@ -0,0 +1,26 @@
+#include "crypto_core_salsa208.h"
+
+size_t
+crypto_core_salsa208_outputbytes(void) {
+    return crypto_core_salsa208_OUTPUTBYTES;
+}
+
+size_t
+crypto_core_salsa208_inputbytes(void) {
+    return crypto_core_salsa208_INPUTBYTES;
+}
+
+size_t
+crypto_core_salsa208_keybytes(void) {
+    return crypto_core_salsa208_KEYBYTES;
+}
+
+size_t
+crypto_core_salsa208_constbytes(void) {
+    return crypto_core_salsa208_CONSTBYTES;
+}
+
+const char *
+crypto_core_salsa208_primitive(void) {
+    return "salsa208";
+}
diff --git a/src/libsodium/src/libsodium/crypto_core/salsa208/ref/api.h b/src/libsodium/src/libsodium/crypto_core/salsa208/ref/api.h
new file mode 100644
index 00000000..1172a352
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_core/salsa208/ref/api.h
@@ -0,0 +1,11 @@
+
+#include "crypto_core_salsa208.h"
+
+#define crypto_core crypto_core_salsa208
+#define crypto_core_OUTPUTBYTES crypto_core_salsa208_OUTPUTBYTES
+#define crypto_core_INPUTBYTES crypto_core_salsa208_INPUTBYTES
+#define crypto_core_KEYBYTES crypto_core_salsa208_KEYBYTES
+#define crypto_core_CONSTBYTES crypto_core_salsa208_CONSTBYTES
+#define crypto_core_PRIMITIVE "salsa208"
+#define crypto_core_IMPLEMENTATION crypto_core_salsa208_IMPLEMENTATION
+#define crypto_core_VERSION crypto_core_salsa208_VERSION
diff --git a/src/libsodium/src/libsodium/crypto_core/salsa208/ref/core_salsa208.c b/src/libsodium/src/libsodium/crypto_core/salsa208/ref/core_salsa208.c
new file mode 100644
index 00000000..be26f82a
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_core/salsa208/ref/core_salsa208.c
@@ -0,0 +1,134 @@
+/*
+version 20080913
+D. J. Bernstein
+Public domain.
+*/
+
+#include "api.h"
+
+#define ROUNDS 8
+
+typedef unsigned int uint32;
+
+static uint32 rotate(uint32 u,int c)
+{
+  return (u << c) | (u >> (32 - c));
+}
+
+static uint32 load_littleendian(const unsigned char *x)
+{
+  return
+      (uint32) (x[0]) \
+  | (((uint32) (x[1])) << 8) \
+  | (((uint32) (x[2])) << 16) \
+  | (((uint32) (x[3])) << 24)
+  ;
+}
+
+static void store_littleendian(unsigned char *x,uint32 u)
+{
+  x[0] = u; u >>= 8;
+  x[1] = u; u >>= 8;
+  x[2] = u; u >>= 8;
+  x[3] = u;
+}
+
+int crypto_core(
+        unsigned char *out,
+  const unsigned char *in,
+  const unsigned char *k,
+  const unsigned char *c
+)
+{
+  uint32 x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15;
+  uint32 j0, j1, j2, j3, j4, j5, j6, j7, j8, j9, j10, j11, j12, j13, j14, j15;
+  int i;
+
+  j0 = x0 = load_littleendian(c + 0);
+  j1 = x1 = load_littleendian(k + 0);
+  j2 = x2 = load_littleendian(k + 4);
+  j3 = x3 = load_littleendian(k + 8);
+  j4 = x4 = load_littleendian(k + 12);
+  j5 = x5 = load_littleendian(c + 4);
+  j6 = x6 = load_littleendian(in + 0);
+  j7 = x7 = load_littleendian(in + 4);
+  j8 = x8 = load_littleendian(in + 8);
+  j9 = x9 = load_littleendian(in + 12);
+  j10 = x10 = load_littleendian(c + 8);
+  j11 = x11 = load_littleendian(k + 16);
+  j12 = x12 = load_littleendian(k + 20);
+  j13 = x13 = load_littleendian(k + 24);
+  j14 = x14 = load_littleendian(k + 28);
+  j15 = x15 = load_littleendian(c + 12);
+
+  for (i = ROUNDS;i > 0;i -= 2) {
+     x4 ^= rotate( x0+x12, 7);
+     x8 ^= rotate( x4+ x0, 9);
+    x12 ^= rotate( x8+ x4,13);
+     x0 ^= rotate(x12+ x8,18);
+     x9 ^= rotate( x5+ x1, 7);
+    x13 ^= rotate( x9+ x5, 9);
+     x1 ^= rotate(x13+ x9,13);
+     x5 ^= rotate( x1+x13,18);
+    x14 ^= rotate(x10+ x6, 7);
+     x2 ^= rotate(x14+x10, 9);
+     x6 ^= rotate( x2+x14,13);
+    x10 ^= rotate( x6+ x2,18);
+     x3 ^= rotate(x15+x11, 7);
+     x7 ^= rotate( x3+x15, 9);
+    x11 ^= rotate( x7+ x3,13);
+    x15 ^= rotate(x11+ x7,18);
+     x1 ^= rotate( x0+ x3, 7);
+     x2 ^= rotate( x1+ x0, 9);
+     x3 ^= rotate( x2+ x1,13);
+     x0 ^= rotate( x3+ x2,18);
+     x6 ^= rotate( x5+ x4, 7);
+     x7 ^= rotate( x6+ x5, 9);
+     x4 ^= rotate( x7+ x6,13);
+     x5 ^= rotate( x4+ x7,18);
+    x11 ^= rotate(x10+ x9, 7);
+     x8 ^= rotate(x11+x10, 9);
+     x9 ^= rotate( x8+x11,13);
+    x10 ^= rotate( x9+ x8,18);
+    x12 ^= rotate(x15+x14, 7);
+    x13 ^= rotate(x12+x15, 9);
+    x14 ^= rotate(x13+x12,13);
+    x15 ^= rotate(x14+x13,18);
+  }
+
+  x0 += j0;
+  x1 += j1;
+  x2 += j2;
+  x3 += j3;
+  x4 += j4;
+  x5 += j5;
+  x6 += j6;
+  x7 += j7;
+  x8 += j8;
+  x9 += j9;
+  x10 += j10;
+  x11 += j11;
+  x12 += j12;
+  x13 += j13;
+  x14 += j14;
+  x15 += j15;
+
+  store_littleendian(out + 0,x0);
+  store_littleendian(out + 4,x1);
+  store_littleendian(out + 8,x2);
+  store_littleendian(out + 12,x3);
+  store_littleendian(out + 16,x4);
+  store_littleendian(out + 20,x5);
+  store_littleendian(out + 24,x6);
+  store_littleendian(out + 28,x7);
+  store_littleendian(out + 32,x8);
+  store_littleendian(out + 36,x9);
+  store_littleendian(out + 40,x10);
+  store_littleendian(out + 44,x11);
+  store_littleendian(out + 48,x12);
+  store_littleendian(out + 52,x13);
+  store_littleendian(out + 56,x14);
+  store_littleendian(out + 60,x15);
+
+  return 0;
+}
diff --git a/src/libsodium/src/libsodium/crypto_generichash/blake2/generichash_blake2_api.c b/src/libsodium/src/libsodium/crypto_generichash/blake2/generichash_blake2_api.c
new file mode 100644
index 00000000..c62693f6
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_generichash/blake2/generichash_blake2_api.c
@@ -0,0 +1,31 @@
+#include "crypto_generichash_blake2b.h"
+
+size_t
+crypto_generichash_blake2b_bytes_min(void) {
+    return crypto_generichash_blake2b_BYTES_MIN;
+}
+
+size_t
+crypto_generichash_blake2b_bytes_max(void) {
+    return crypto_generichash_blake2b_BYTES_MAX;
+}
+
+size_t
+crypto_generichash_blake2b_keybytes_min(void) {
+    return crypto_generichash_blake2b_KEYBYTES_MIN;
+}
+
+size_t
+crypto_generichash_blake2b_keybytes_max(void) {
+    return crypto_generichash_blake2b_KEYBYTES_MAX;
+}
+
+size_t
+crypto_generichash_blake2b_blockbytes(void) {
+    return crypto_generichash_blake2b_BLOCKBYTES;
+}
+
+const char *
+crypto_generichash_blake2b_blockbytes_primitive(void) {
+    return "blake2b";
+}
diff --git a/src/libsodium/src/libsodium/crypto_generichash/blake2/ref/api.h b/src/libsodium/src/libsodium/crypto_generichash/blake2/ref/api.h
new file mode 100644
index 00000000..6dab81cb
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_generichash/blake2/ref/api.h
@@ -0,0 +1,4 @@
+
+#include "crypto_generichash_blake2b.h"
+
+#define crypto_generichash_blake2b crypto_generichash_blake2b_ref
diff --git a/src/libsodium/src/libsodium/crypto_generichash/blake2/ref/blake2-impl.h b/src/libsodium/src/libsodium/crypto_generichash/blake2/ref/blake2-impl.h
new file mode 100644
index 00000000..276d3054
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_generichash/blake2/ref/blake2-impl.h
@@ -0,0 +1,132 @@
+/*
+   BLAKE2 reference source code package - reference C implementations
+
+   Written in 2012 by Samuel Neves <sneves@dei.uc.pt>
+
+   To the extent possible under law, the author(s) have dedicated all copyright
+   and related and neighboring rights to this software to the public domain
+   worldwide. This software is distributed without any warranty.
+
+   You should have received a copy of the CC0 Public Domain Dedication along with
+   this software. If not, see <http://creativecommons.org/publicdomain/zero/1.0/>.
+*/
+
+#ifndef __BLAKE2_IMPL_H__
+#define __BLAKE2_IMPL_H__
+
+#include <stdint.h>
+
+#include "utils.h"
+
+static inline uint32_t load32( const void *src )
+{
+#if defined(NATIVE_LITTLE_ENDIAN)
+  return *( uint32_t * )( src );
+#else
+  const uint8_t *p = ( const uint8_t * )src;
+  uint32_t w = *p++;
+  w |= ( uint32_t )( *p++ ) <<  8;
+  w |= ( uint32_t )( *p++ ) << 16;
+  w |= ( uint32_t )( *p++ ) << 24;
+  return w;
+#endif
+}
+
+static inline uint64_t load64( const void *src )
+{
+#if defined(NATIVE_LITTLE_ENDIAN)
+  return *( uint64_t * )( src );
+#else
+  const uint8_t *p = ( const uint8_t * )src;
+  uint64_t w = *p++;
+  w |= ( uint64_t )( *p++ ) <<  8;
+  w |= ( uint64_t )( *p++ ) << 16;
+  w |= ( uint64_t )( *p++ ) << 24;
+  w |= ( uint64_t )( *p++ ) << 32;
+  w |= ( uint64_t )( *p++ ) << 40;
+  w |= ( uint64_t )( *p++ ) << 48;
+  w |= ( uint64_t )( *p++ ) << 56;
+  return w;
+#endif
+}
+
+static inline void store32( void *dst, uint32_t w )
+{
+#if defined(NATIVE_LITTLE_ENDIAN)
+  *( uint32_t * )( dst ) = w;
+#else
+  uint8_t *p = ( uint8_t * )dst;
+  *p++ = ( uint8_t )w; w >>= 8;
+  *p++ = ( uint8_t )w; w >>= 8;
+  *p++ = ( uint8_t )w; w >>= 8;
+  *p++ = ( uint8_t )w;
+#endif
+}
+
+static inline void store64( void *dst, uint64_t w )
+{
+#if defined(NATIVE_LITTLE_ENDIAN)
+  *( uint64_t * )( dst ) = w;
+#else
+  uint8_t *p = ( uint8_t * )dst;
+  *p++ = ( uint8_t )w; w >>= 8;
+  *p++ = ( uint8_t )w; w >>= 8;
+  *p++ = ( uint8_t )w; w >>= 8;
+  *p++ = ( uint8_t )w; w >>= 8;
+  *p++ = ( uint8_t )w; w >>= 8;
+  *p++ = ( uint8_t )w; w >>= 8;
+  *p++ = ( uint8_t )w; w >>= 8;
+  *p++ = ( uint8_t )w;
+#endif
+}
+
+static inline uint64_t load48( const void *src )
+{
+  const uint8_t *p = ( const uint8_t * )src;
+  uint64_t w = *p++;
+  w |= ( uint64_t )( *p++ ) <<  8;
+  w |= ( uint64_t )( *p++ ) << 16;
+  w |= ( uint64_t )( *p++ ) << 24;
+  w |= ( uint64_t )( *p++ ) << 32;
+  w |= ( uint64_t )( *p++ ) << 40;
+  return w;
+}
+
+static inline void store48( void *dst, uint64_t w )
+{
+  uint8_t *p = ( uint8_t * )dst;
+  *p++ = ( uint8_t )w; w >>= 8;
+  *p++ = ( uint8_t )w; w >>= 8;
+  *p++ = ( uint8_t )w; w >>= 8;
+  *p++ = ( uint8_t )w; w >>= 8;
+  *p++ = ( uint8_t )w; w >>= 8;
+  *p++ = ( uint8_t )w;
+}
+
+static inline uint32_t rotl32( const uint32_t w, const unsigned c )
+{
+  return ( w << c ) | ( w >> ( 32 - c ) );
+}
+
+static inline uint64_t rotl64( const uint64_t w, const unsigned c )
+{
+  return ( w << c ) | ( w >> ( 64 - c ) );
+}
+
+static inline uint32_t rotr32( const uint32_t w, const unsigned c )
+{
+  return ( w >> c ) | ( w << ( 32 - c ) );
+}
+
+static inline uint64_t rotr64( const uint64_t w, const unsigned c )
+{
+  return ( w >> c ) | ( w << ( 64 - c ) );
+}
+
+/* prevents compiler optimizing out memset() */
+static inline void secure_zero_memory( void *v, size_t n )
+{
+  sodium_memzero(v, n);
+}
+
+#endif
diff --git a/src/libsodium/src/libsodium/crypto_generichash/blake2/ref/blake2.h b/src/libsodium/src/libsodium/crypto_generichash/blake2/ref/blake2.h
new file mode 100644
index 00000000..81f63c04
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_generichash/blake2/ref/blake2.h
@@ -0,0 +1,169 @@
+/*
+   BLAKE2 reference source code package - reference C implementations
+
+   Written in 2012 by Samuel Neves <sneves@dei.uc.pt>
+
+   To the extent possible under law, the author(s) have dedicated all copyright
+   and related and neighboring rights to this software to the public domain
+   worldwide. This software is distributed without any warranty.
+
+   You should have received a copy of the CC0 Public Domain Dedication along with
+   this software. If not, see <http://creativecommons.org/publicdomain/zero/1.0/>.
+*/
+
+#ifndef __BLAKE2_H__
+#define __BLAKE2_H__
+
+#include <stddef.h>
+#include <stdint.h>
+
+#include "crypto_generichash_blake2b.h"
+
+#define blake2b_init_param crypto_generichash_blake2b__init_param
+#define blake2b_init       crypto_generichash_blake2b__init
+#define blake2b_init_key   crypto_generichash_blake2b__init_key
+#define blake2b_update     crypto_generichash_blake2b__update
+#define blake2b_final      crypto_generichash_blake2b__final
+#define blake2b            crypto_generichash_blake2b__blake2b
+
+#if defined(_MSC_VER)
+#define ALIGN(x) __declspec(align(x))
+#else
+#define ALIGN(x) __attribute__((aligned(x)))
+#endif
+
+#if defined(__cplusplus)
+extern "C" {
+#endif
+
+  enum blake2s_constant
+  {
+    BLAKE2S_BLOCKBYTES = 64,
+    BLAKE2S_OUTBYTES   = 32,
+    BLAKE2S_KEYBYTES   = 32,
+    BLAKE2S_SALTBYTES  = 8,
+    BLAKE2S_PERSONALBYTES = 8
+  };
+
+  enum blake2b_constant
+  {
+    BLAKE2B_BLOCKBYTES = 128,
+    BLAKE2B_OUTBYTES   = 64,
+    BLAKE2B_KEYBYTES   = 64,
+    BLAKE2B_SALTBYTES  = 16,
+    BLAKE2B_PERSONALBYTES = 16
+  };
+
+#pragma pack(push, 1)
+  typedef struct __blake2s_param
+  {
+    uint8_t  digest_length; // 1
+    uint8_t  key_length;    // 2
+    uint8_t  fanout;        // 3
+    uint8_t  depth;         // 4
+    uint32_t leaf_length;   // 8
+    uint8_t  node_offset[6];// 14
+    uint8_t  node_depth;    // 15
+    uint8_t  inner_length;  // 16
+    // uint8_t  reserved[0];
+    uint8_t  salt[BLAKE2S_SALTBYTES]; // 24
+    uint8_t  personal[BLAKE2S_PERSONALBYTES];  // 32
+  } blake2s_param;
+
+  ALIGN( 64 ) typedef struct __blake2s_state
+  {
+    uint32_t h[8];
+    uint32_t t[2];
+    uint32_t f[2];
+    uint8_t  buf[2 * BLAKE2S_BLOCKBYTES];
+    size_t   buflen;
+    uint8_t  last_node;
+  } blake2s_state ;
+
+  typedef struct __blake2b_param
+  {
+    uint8_t  digest_length; // 1
+    uint8_t  key_length;    // 2
+    uint8_t  fanout;        // 3
+    uint8_t  depth;         // 4
+    uint32_t leaf_length;   // 8
+    uint64_t node_offset;   // 16
+    uint8_t  node_depth;    // 17
+    uint8_t  inner_length;  // 18
+    uint8_t  reserved[14];  // 32
+    uint8_t  salt[BLAKE2B_SALTBYTES]; // 48
+    uint8_t  personal[BLAKE2B_PERSONALBYTES];  // 64
+  } blake2b_param;
+
+#ifndef DEFINE_BLAKE2B_STATE
+typedef crypto_generichash_blake2b_state blake2b_state;
+#else
+  ALIGN( 64 ) typedef struct __blake2b_state
+  {
+    uint64_t h[8];
+    uint64_t t[2];
+    uint64_t f[2];
+    uint8_t  buf[2 * BLAKE2B_BLOCKBYTES];
+    size_t   buflen;
+    uint8_t  last_node;
+  } blake2b_state;
+#endif
+
+  typedef struct __blake2sp_state
+  {
+    blake2s_state S[8][1];
+    blake2s_state R[1];
+    uint8_t buf[8 * BLAKE2S_BLOCKBYTES];
+    size_t  buflen;
+  } blake2sp_state;
+
+  typedef struct __blake2bp_state
+  {
+    blake2b_state S[4][1];
+    blake2b_state R[1];
+    uint8_t buf[4 * BLAKE2B_BLOCKBYTES];
+    size_t  buflen;
+  } blake2bp_state;
+#pragma pack(pop)
+
+  // Streaming API
+  int blake2s_init( blake2s_state *S, const uint8_t outlen );
+  int blake2s_init_key( blake2s_state *S, const uint8_t outlen, const void *key, const uint8_t keylen );
+  int blake2s_init_param( blake2s_state *S, const blake2s_param *P );
+  int blake2s_update( blake2s_state *S, const uint8_t *in, uint64_t inlen );
+  int blake2s_final( blake2s_state *S, uint8_t *out, uint8_t outlen );
+
+  int blake2b_init( blake2b_state *S, const uint8_t outlen );
+  int blake2b_init_key( blake2b_state *S, const uint8_t outlen, const void *key, const uint8_t keylen );
+  int blake2b_init_param( blake2b_state *S, const blake2b_param *P );
+  int blake2b_update( blake2b_state *S, const uint8_t *in, uint64_t inlen );
+  int blake2b_final( blake2b_state *S, uint8_t *out, uint8_t outlen );
+
+  int blake2sp_init( blake2sp_state *S, const uint8_t outlen );
+  int blake2sp_init_key( blake2sp_state *S, const uint8_t outlen, const void *key, const uint8_t keylen );
+  int blake2sp_update( blake2sp_state *S, const uint8_t *in, uint64_t inlen );
+  int blake2sp_final( blake2sp_state *S, uint8_t *out, uint8_t outlen );
+
+  int blake2bp_init( blake2bp_state *S, const uint8_t outlen );
+  int blake2bp_init_key( blake2bp_state *S, const uint8_t outlen, const void *key, const uint8_t keylen );
+  int blake2bp_update( blake2bp_state *S, const uint8_t *in, uint64_t inlen );
+  int blake2bp_final( blake2bp_state *S, uint8_t *out, uint8_t outlen );
+
+  // Simple API
+  int blake2s( uint8_t *out, const void *in, const void *key, const uint8_t outlen, const uint64_t inlen, uint8_t keylen );
+  int blake2b( uint8_t *out, const void *in, const void *key, const uint8_t outlen, const uint64_t inlen, uint8_t keylen );
+
+  int blake2sp( uint8_t *out, const void *in, const void *key, const uint8_t outlen, const uint64_t inlen, uint8_t keylen );
+  int blake2bp( uint8_t *out, const void *in, const void *key, const uint8_t outlen, const uint64_t inlen, uint8_t keylen );
+
+  static inline int blake2( uint8_t *out, const void *in, const void *key, const uint8_t outlen, const uint64_t inlen, uint8_t keylen )
+  {
+    return blake2b( out, in, key, outlen, inlen, keylen );
+  }
+
+#if defined(__cplusplus)
+}
+#endif
+
+#endif
+
diff --git a/src/libsodium/src/libsodium/crypto_generichash/blake2/ref/blake2b-ref.c b/src/libsodium/src/libsodium/crypto_generichash/blake2/ref/blake2b-ref.c
new file mode 100644
index 00000000..dcb02398
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_generichash/blake2/ref/blake2b-ref.c
@@ -0,0 +1,359 @@
+/*
+   BLAKE2 reference source code package - reference C implementations
+
+   Written in 2012 by Samuel Neves <sneves@dei.uc.pt>
+
+   To the extent possible under law, the author(s) have dedicated all copyright
+   and related and neighboring rights to this software to the public domain
+   worldwide. This software is distributed without any warranty.
+
+   You should have received a copy of the CC0 Public Domain Dedication along with
+   this software. If not, see <http://creativecommons.org/publicdomain/zero/1.0/>.
+*/
+
+#include <stdint.h>
+#include <string.h>
+#include <stdio.h>
+
+#include "blake2.h"
+#include "blake2-impl.h"
+
+static const uint64_t blake2b_IV[8] =
+{
+  0x6a09e667f3bcc908ULL, 0xbb67ae8584caa73bULL,
+  0x3c6ef372fe94f82bULL, 0xa54ff53a5f1d36f1ULL,
+  0x510e527fade682d1ULL, 0x9b05688c2b3e6c1fULL,
+  0x1f83d9abfb41bd6bULL, 0x5be0cd19137e2179ULL
+};
+
+static const uint8_t blake2b_sigma[12][16] =
+{
+  {  0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14, 15 } ,
+  { 14, 10,  4,  8,  9, 15, 13,  6,  1, 12,  0,  2, 11,  7,  5,  3 } ,
+  { 11,  8, 12,  0,  5,  2, 15, 13, 10, 14,  3,  6,  7,  1,  9,  4 } ,
+  {  7,  9,  3,  1, 13, 12, 11, 14,  2,  6,  5, 10,  4,  0, 15,  8 } ,
+  {  9,  0,  5,  7,  2,  4, 10, 15, 14,  1, 11, 12,  6,  8,  3, 13 } ,
+  {  2, 12,  6, 10,  0, 11,  8,  3,  4, 13,  7,  5, 15, 14,  1,  9 } ,
+  { 12,  5,  1, 15, 14, 13,  4, 10,  0,  7,  6,  3,  9,  2,  8, 11 } ,
+  { 13, 11,  7, 14, 12,  1,  3,  9,  5,  0, 15,  4,  8,  6,  2, 10 } ,
+  {  6, 15, 14,  9, 11,  3,  0,  8, 12,  2, 13,  7,  1,  4, 10,  5 } ,
+  { 10,  2,  8,  4,  7,  6,  1,  5, 15, 11,  9, 14,  3, 12, 13 , 0 } ,
+  {  0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14, 15 } ,
+  { 14, 10,  4,  8,  9, 15, 13,  6,  1, 12,  0,  2, 11,  7,  5,  3 }
+};
+
+
+static inline int blake2b_set_lastnode( blake2b_state *S )
+{
+  S->f[1] = ~0ULL;
+  return 0;
+}
+
+static inline int blake2b_clear_lastnode( blake2b_state *S )
+{
+  S->f[1] = 0ULL;
+  return 0;
+}
+
+/* Some helper functions, not necessarily useful */
+static inline int blake2b_set_lastblock( blake2b_state *S )
+{
+  if( S->last_node ) blake2b_set_lastnode( S );
+
+  S->f[0] = ~0ULL;
+  return 0;
+}
+
+static inline int blake2b_clear_lastblock( blake2b_state *S )
+{
+  if( S->last_node ) blake2b_clear_lastnode( S );
+
+  S->f[0] = 0ULL;
+  return 0;
+}
+
+static inline int blake2b_increment_counter( blake2b_state *S, const uint64_t inc )
+{
+  S->t[0] += inc;
+  S->t[1] += ( S->t[0] < inc );
+  return 0;
+}
+
+
+
+// Parameter-related functions
+static inline int blake2b_param_set_digest_length( blake2b_param *P, const uint8_t digest_length )
+{
+  P->digest_length = digest_length;
+  return 0;
+}
+
+static inline int blake2b_param_set_fanout( blake2b_param *P, const uint8_t fanout )
+{
+  P->fanout = fanout;
+  return 0;
+}
+
+static inline int blake2b_param_set_max_depth( blake2b_param *P, const uint8_t depth )
+{
+  P->depth = depth;
+  return 0;
+}
+
+static inline int blake2b_param_set_leaf_length( blake2b_param *P, const uint32_t leaf_length )
+{
+  store32( &P->leaf_length, leaf_length );
+  return 0;
+}
+
+static inline int blake2b_param_set_node_offset( blake2b_param *P, const uint64_t node_offset )
+{
+  store64( &P->node_offset, node_offset );
+  return 0;
+}
+
+static inline int blake2b_param_set_node_depth( blake2b_param *P, const uint8_t node_depth )
+{
+  P->node_depth = node_depth;
+  return 0;
+}
+
+static inline int blake2b_param_set_inner_length( blake2b_param *P, const uint8_t inner_length )
+{
+  P->inner_length = inner_length;
+  return 0;
+}
+
+static inline int blake2b_param_set_salt( blake2b_param *P, const uint8_t salt[BLAKE2B_SALTBYTES] )
+{
+  memcpy( P->salt, salt, BLAKE2B_SALTBYTES );
+  return 0;
+}
+
+static inline int blake2b_param_set_personal( blake2b_param *P, const uint8_t personal[BLAKE2B_PERSONALBYTES] )
+{
+  memcpy( P->personal, personal, BLAKE2B_PERSONALBYTES );
+  return 0;
+}
+
+static inline int blake2b_init0( blake2b_state *S )
+{
+  memset( S, 0, sizeof( blake2b_state ) );
+
+  for( int i = 0; i < 8; ++i ) S->h[i] = blake2b_IV[i];
+
+  return 0;
+}
+
+/* init xors IV with input parameter block */
+int blake2b_init_param( blake2b_state *S, const blake2b_param *P )
+{
+  blake2b_init0( S );
+  const uint8_t *p = ( const uint8_t * )( P );
+
+  /* IV XOR ParamBlock */
+  for( size_t i = 0; i < 8; ++i )
+    S->h[i] ^= load64( p + sizeof( S->h[i] ) * i );
+
+  return 0;
+}
+
+
+
+int blake2b_init( blake2b_state *S, const uint8_t outlen )
+{
+  blake2b_param P[1];
+
+  if ( ( !outlen ) || ( outlen > BLAKE2B_OUTBYTES ) ) return -1;
+
+  P->digest_length = outlen;
+  P->key_length    = 0;
+  P->fanout        = 1;
+  P->depth         = 1;
+  store32( &P->leaf_length, 0 );
+  store64( &P->node_offset, 0 );
+  P->node_depth    = 0;
+  P->inner_length  = 0;
+  memset( P->reserved, 0, sizeof( P->reserved ) );
+  memset( P->salt,     0, sizeof( P->salt ) );
+  memset( P->personal, 0, sizeof( P->personal ) );
+  return blake2b_init_param( S, P );
+}
+
+
+int blake2b_init_key( blake2b_state *S, const uint8_t outlen, const void *key, const uint8_t keylen )
+{
+  blake2b_param P[1];
+
+  if ( ( !outlen ) || ( outlen > BLAKE2B_OUTBYTES ) ) return -1;
+
+  if ( !key || !keylen || keylen > BLAKE2B_KEYBYTES ) return -1;
+
+  P->digest_length = outlen;
+  P->key_length    = keylen;
+  P->fanout        = 1;
+  P->depth         = 1;
+  store32( &P->leaf_length, 0 );
+  store64( &P->node_offset, 0 );
+  P->node_depth    = 0;
+  P->inner_length  = 0;
+  memset( P->reserved, 0, sizeof( P->reserved ) );
+  memset( P->salt,     0, sizeof( P->salt ) );
+  memset( P->personal, 0, sizeof( P->personal ) );
+
+  if( blake2b_init_param( S, P ) < 0 ) return -1;
+
+  {
+    uint8_t block[BLAKE2B_BLOCKBYTES];
+    memset( block, 0, BLAKE2B_BLOCKBYTES );
+    memcpy( block, key, keylen );
+    blake2b_update( S, block, BLAKE2B_BLOCKBYTES );
+    secure_zero_memory( block, BLAKE2B_BLOCKBYTES ); /* Burn the key from stack */
+  }
+  return 0;
+}
+
+static int blake2b_compress( blake2b_state *S, const uint8_t block[BLAKE2B_BLOCKBYTES] )
+{
+  uint64_t m[16];
+  uint64_t v[16];
+  int i;
+
+  for( i = 0; i < 16; ++i )
+    m[i] = load64( block + i * sizeof( m[i] ) );
+
+  for( i = 0; i < 8; ++i )
+    v[i] = S->h[i];
+
+  v[ 8] = blake2b_IV[0];
+  v[ 9] = blake2b_IV[1];
+  v[10] = blake2b_IV[2];
+  v[11] = blake2b_IV[3];
+  v[12] = S->t[0] ^ blake2b_IV[4];
+  v[13] = S->t[1] ^ blake2b_IV[5];
+  v[14] = S->f[0] ^ blake2b_IV[6];
+  v[15] = S->f[1] ^ blake2b_IV[7];
+#define G(r,i,a,b,c,d) \
+  do { \
+    a = a + b + m[blake2b_sigma[r][2*i+0]]; \
+    d = rotr64(d ^ a, 32); \
+    c = c + d; \
+    b = rotr64(b ^ c, 24); \
+    a = a + b + m[blake2b_sigma[r][2*i+1]]; \
+    d = rotr64(d ^ a, 16); \
+    c = c + d; \
+    b = rotr64(b ^ c, 63); \
+  } while(0)
+#define ROUND(r)  \
+  do { \
+    G(r,0,v[ 0],v[ 4],v[ 8],v[12]); \
+    G(r,1,v[ 1],v[ 5],v[ 9],v[13]); \
+    G(r,2,v[ 2],v[ 6],v[10],v[14]); \
+    G(r,3,v[ 3],v[ 7],v[11],v[15]); \
+    G(r,4,v[ 0],v[ 5],v[10],v[15]); \
+    G(r,5,v[ 1],v[ 6],v[11],v[12]); \
+    G(r,6,v[ 2],v[ 7],v[ 8],v[13]); \
+    G(r,7,v[ 3],v[ 4],v[ 9],v[14]); \
+  } while(0)
+  ROUND( 0 );
+  ROUND( 1 );
+  ROUND( 2 );
+  ROUND( 3 );
+  ROUND( 4 );
+  ROUND( 5 );
+  ROUND( 6 );
+  ROUND( 7 );
+  ROUND( 8 );
+  ROUND( 9 );
+  ROUND( 10 );
+  ROUND( 11 );
+
+  for( i = 0; i < 8; ++i )
+    S->h[i] = S->h[i] ^ v[i] ^ v[i + 8];
+
+#undef G
+#undef ROUND
+  return 0;
+}
+
+/* inlen now in bytes */
+int blake2b_update( blake2b_state *S, const uint8_t *in, uint64_t inlen )
+{
+  while( inlen > 0 )
+  {
+    size_t left = S->buflen;
+    size_t fill = 2 * BLAKE2B_BLOCKBYTES - left;
+
+    if( inlen > fill )
+    {
+      memcpy( S->buf + left, in, fill ); // Fill buffer
+      S->buflen += fill;
+      blake2b_increment_counter( S, BLAKE2B_BLOCKBYTES );
+      blake2b_compress( S, S->buf ); // Compress
+      memcpy( S->buf, S->buf + BLAKE2B_BLOCKBYTES, BLAKE2B_BLOCKBYTES ); // Shift buffer left
+      S->buflen -= BLAKE2B_BLOCKBYTES;
+      in += fill;
+      inlen -= fill;
+    }
+    else // inlen <= fill
+    {
+      memcpy( S->buf + left, in, inlen );
+      S->buflen += inlen; // Be lazy, do not compress
+      in += inlen;
+      inlen -= inlen;
+    }
+  }
+
+  return 0;
+}
+
+/* Is this correct? */
+int blake2b_final( blake2b_state *S, uint8_t *out, uint8_t outlen )
+{
+  uint8_t buffer[BLAKE2B_OUTBYTES];
+
+  if( S->buflen > BLAKE2B_BLOCKBYTES )
+  {
+    blake2b_increment_counter( S, BLAKE2B_BLOCKBYTES );
+    blake2b_compress( S, S->buf );
+    S->buflen -= BLAKE2B_BLOCKBYTES;
+    memcpy( S->buf, S->buf + BLAKE2B_BLOCKBYTES, S->buflen );
+  }
+
+  blake2b_increment_counter( S, S->buflen );
+  blake2b_set_lastblock( S );
+  memset( S->buf + S->buflen, 0, 2 * BLAKE2B_BLOCKBYTES - S->buflen ); /* Padding */
+  blake2b_compress( S, S->buf );
+
+  for( int i = 0; i < 8; ++i ) /* Output full hash to temp buffer */
+    store64( buffer + sizeof( S->h[i] ) * i, S->h[i] );
+
+  memcpy( out, buffer, outlen );
+  return 0;
+}
+
+/* inlen, at least, should be uint64_t. Others can be size_t. */
+int blake2b( uint8_t *out, const void *in, const void *key, const uint8_t outlen, const uint64_t inlen, uint8_t keylen )
+{
+  blake2b_state S[1];
+
+  /* Verify parameters */
+  if ( NULL == in ) return -1;
+
+  if ( NULL == out ) return -1;
+
+  if( NULL == key ) keylen = 0;
+
+  if( keylen > 0 )
+  {
+    if( blake2b_init_key( S, outlen, key, keylen ) < 0 ) return -1;
+  }
+  else
+  {
+    if( blake2b_init( S, outlen ) < 0 ) return -1;
+  }
+
+  blake2b_update( S, ( const uint8_t * )in, inlen );
+  blake2b_final( S, out, outlen );
+  return 0;
+}
diff --git a/src/libsodium/src/libsodium/crypto_generichash/blake2/ref/generichash_blake2b.c b/src/libsodium/src/libsodium/crypto_generichash/blake2/ref/generichash_blake2b.c
new file mode 100644
index 00000000..8329ba38
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_generichash/blake2/ref/generichash_blake2b.c
@@ -0,0 +1,61 @@
+
+#include <assert.h>
+#include <limits.h>
+#include <stdint.h>
+
+#include "api.h"
+#include "blake2.h"
+
+int
+crypto_generichash_blake2b(unsigned char *out, size_t outlen,
+                           const unsigned char *in, unsigned long long inlen,
+                           const unsigned char *key, size_t keylen)
+{
+    if (outlen <= 0U || outlen > BLAKE2B_OUTBYTES ||
+        keylen > BLAKE2B_KEYBYTES || inlen > UINT64_MAX) {
+        return -1;
+    }
+    assert(outlen <= UINT8_MAX);
+    assert(keylen <= UINT8_MAX);
+
+    return blake2b((uint8_t *) out, in, key,
+                   (uint8_t) outlen, (uint64_t) inlen, (uint8_t) keylen);
+}
+
+int
+crypto_generichash_blake2b_init(crypto_generichash_blake2b_state *state,
+                                const unsigned char *key,
+                                const size_t keylen, const size_t outlen)
+{
+    if (outlen <= 0U || outlen > BLAKE2B_OUTBYTES ||
+        keylen > BLAKE2B_KEYBYTES) {
+        return -1;
+    }
+    assert(outlen <= UINT8_MAX);
+    assert(keylen <= UINT8_MAX);
+    if (blake2b_init(state, (uint8_t) outlen) != 0) {
+        return -1;
+    }
+    if (key != NULL && keylen > 0U &&
+        blake2b_init_key(state, (uint8_t) outlen, key, keylen) != 0) {
+        return -1;
+    }
+    return 0;
+}
+
+int
+crypto_generichash_blake2b_update(crypto_generichash_blake2b_state *state,
+                                  const unsigned char *in,
+                                  unsigned long long inlen)
+{
+    return blake2b_update(state, (const uint8_t *) in, (uint64_t) inlen);
+}
+
+int
+crypto_generichash_blake2b_final(crypto_generichash_blake2b_state *state,
+                                 unsigned char *out,
+                                 const size_t outlen)
+{
+    assert(outlen <= UINT8_MAX);
+    return blake2b_final(state, (uint8_t *) out, (uint8_t) outlen);
+}
diff --git a/src/libsodium/src/libsodium/crypto_generichash/crypto_generichash.c b/src/libsodium/src/libsodium/crypto_generichash/crypto_generichash.c
new file mode 100644
index 00000000..e418a94a
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_generichash/crypto_generichash.c
@@ -0,0 +1,84 @@
+
+#include "crypto_generichash.h"
+
+size_t
+crypto_generichash_bytes(void)
+{
+    return crypto_generichash_BYTES;
+}
+
+size_t
+crypto_generichash_bytes_min(void)
+{
+    return crypto_generichash_BYTES_MIN;
+}
+
+size_t
+crypto_generichash_bytes_max(void)
+{
+    return crypto_generichash_BYTES_MAX;
+}
+
+size_t
+crypto_generichash_keybytes(void)
+{
+    return crypto_generichash_KEYBYTES;
+}
+
+size_t
+crypto_generichash_keybytes_min(void)
+{
+    return crypto_generichash_KEYBYTES_MIN;
+}
+
+size_t
+crypto_generichash_keybytes_max(void)
+{
+    return crypto_generichash_KEYBYTES_MAX;
+}
+
+size_t
+crypto_generichash_blockbytes(void)
+{
+    return crypto_generichash_BLOCKBYTES;
+}
+
+const char *crypto_generichash_primitive(void)
+{
+    return crypto_generichash_PRIMITIVE;
+}
+
+int
+crypto_generichash(unsigned char *out, size_t outlen, const unsigned char *in,
+                   unsigned long long inlen, const unsigned char *key,
+                   size_t keylen)
+{
+    return crypto_generichash_blake2b(out, outlen, in, inlen, key, keylen);
+}
+
+int
+crypto_generichash_init(crypto_generichash_state *state,
+                        const unsigned char *key,
+                        const size_t keylen, const size_t outlen)
+{
+    return crypto_generichash_blake2b_init
+        ((crypto_generichash_blake2b_state *) state,
+            key, keylen, outlen);
+}
+
+int
+crypto_generichash_update(crypto_generichash_state *state,
+                          const unsigned char *in,
+                          unsigned long long inlen)
+{
+    return crypto_generichash_blake2b_update
+        ((crypto_generichash_blake2b_state *) state, in, inlen);
+}
+
+int
+crypto_generichash_final(crypto_generichash_state *state,
+                         unsigned char *out, const size_t outlen)
+{
+    return crypto_generichash_blake2b_final
+        ((crypto_generichash_blake2b_state *) state, out, outlen);
+}
diff --git a/src/libsodium/src/libsodium/crypto_hash/crypto_hash.c b/src/libsodium/src/libsodium/crypto_hash/crypto_hash.c
new file mode 100644
index 00000000..2718b494
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_hash/crypto_hash.c
@@ -0,0 +1,9 @@
+
+#include "crypto_hash.h"
+
+int
+crypto_hash(unsigned char *out, const unsigned char *in,
+            unsigned long long inlen)
+{
+    return crypto_hash_sha512(out, in, inlen);
+}
diff --git a/src/libsodium/src/libsodium/crypto_hash/sha256/hash_sha256_api.c b/src/libsodium/src/libsodium/crypto_hash/sha256/hash_sha256_api.c
new file mode 100644
index 00000000..084eaf31
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_hash/sha256/hash_sha256_api.c
@@ -0,0 +1,11 @@
+#include "crypto_hash_sha256.h"
+
+size_t
+crypto_hash_sha256_bytes(void) {
+    return crypto_hash_sha256_BYTES;
+}
+
+const char *
+crypto_hash_sha256_primitive(void) {
+    return "sha256";
+}
diff --git a/src/libsodium/src/libsodium/crypto_hash/sha256/ref/api.h b/src/libsodium/src/libsodium/crypto_hash/sha256/ref/api.h
new file mode 100644
index 00000000..9878f8e8
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_hash/sha256/ref/api.h
@@ -0,0 +1,8 @@
+
+#include "crypto_hash_sha256.h"
+
+#define crypto_hash crypto_hash_sha256
+#define crypto_hash_BYTES crypto_hash_sha256_BYTES
+#define crypto_hash_PRIMITIVE "sha256"
+#define crypto_hash_IMPLEMENTATION crypto_hash_sha256_IMPLEMENTATION
+#define crypto_hash_VERSION crypto_hash_sha256_VERSION
diff --git a/src/libsodium/src/libsodium/crypto_hash/sha256/ref/hash_sha256.c b/src/libsodium/src/libsodium/crypto_hash/sha256/ref/hash_sha256.c
new file mode 100644
index 00000000..774271d6
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_hash/sha256/ref/hash_sha256.c
@@ -0,0 +1,69 @@
+/*
+20080913
+D. J. Bernstein
+Public domain.
+*/
+
+#include "api.h"
+#include "crypto_hashblocks_sha256.h"
+
+#define blocks crypto_hashblocks_sha256
+
+typedef unsigned int uint32;
+
+static const char iv[32] = {
+  0x6a,0x09,0xe6,0x67,
+  0xbb,0x67,0xae,0x85,
+  0x3c,0x6e,0xf3,0x72,
+  0xa5,0x4f,0xf5,0x3a,
+  0x51,0x0e,0x52,0x7f,
+  0x9b,0x05,0x68,0x8c,
+  0x1f,0x83,0xd9,0xab,
+  0x5b,0xe0,0xcd,0x19,
+} ;
+
+int crypto_hash(unsigned char *out,const unsigned char *in,unsigned long long inlen)
+{
+  unsigned char h[32];
+  unsigned char padded[128];
+  unsigned long long i;
+  unsigned long long bits = inlen << 3;
+
+  for (i = 0;i < 32;++i) h[i] = iv[i];
+
+  blocks(h,in,inlen);
+  in += inlen;
+  inlen &= 63;
+  in -= inlen;
+
+  for (i = 0;i < inlen;++i) padded[i] = in[i];
+  padded[inlen] = 0x80;
+
+  if (inlen < 56) {
+    for (i = inlen + 1;i < 56;++i) padded[i] = 0;
+    padded[56] = bits >> 56;
+    padded[57] = bits >> 48;
+    padded[58] = bits >> 40;
+    padded[59] = bits >> 32;
+    padded[60] = bits >> 24;
+    padded[61] = bits >> 16;
+    padded[62] = bits >> 8;
+    padded[63] = bits;
+    blocks(h,padded,64);
+  } else {
+    for (i = inlen + 1;i < 120;++i) padded[i] = 0;
+    padded[120] = bits >> 56;
+    padded[121] = bits >> 48;
+    padded[122] = bits >> 40;
+    padded[123] = bits >> 32;
+    padded[124] = bits >> 24;
+    padded[125] = bits >> 16;
+    padded[126] = bits >> 8;
+    padded[127] = bits;
+    blocks(h,padded,128);
+  }
+
+  for (i = 0;i < 32;++i) out[i] = h[i];
+
+  return 0;
+}
diff --git a/src/libsodium/src/libsodium/crypto_hash/sha512/hash_sha512_api.c b/src/libsodium/src/libsodium/crypto_hash/sha512/hash_sha512_api.c
new file mode 100644
index 00000000..6a16a032
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_hash/sha512/hash_sha512_api.c
@@ -0,0 +1,11 @@
+#include "crypto_hash_sha512.h"
+
+size_t
+crypto_hash_sha512_bytes(void) {
+    return crypto_hash_sha512_BYTES;
+}
+
+const char *
+crypto_hash_sha512_primitive(void) {
+    return "sha512";
+}
diff --git a/src/libsodium/src/libsodium/crypto_hash/sha512/ref/api.h b/src/libsodium/src/libsodium/crypto_hash/sha512/ref/api.h
new file mode 100644
index 00000000..afea983f
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_hash/sha512/ref/api.h
@@ -0,0 +1,8 @@
+
+#include "crypto_hash_sha512.h"
+
+#define crypto_hash crypto_hash_sha512
+#define crypto_hash_BYTES crypto_hash_sha512_BYTES
+#define crypto_hash_PRIMITIVE "sha512"
+#define crypto_hash_IMPLEMENTATION crypto_hash_sha512_IMPLEMENTATION
+#define crypto_hash_VERSION crypto_hash_sha512_VERSION
diff --git a/src/libsodium/src/libsodium/crypto_hash/sha512/ref/hash_sha512.c b/src/libsodium/src/libsodium/crypto_hash/sha512/ref/hash_sha512.c
new file mode 100644
index 00000000..7cc8b85d
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_hash/sha512/ref/hash_sha512.c
@@ -0,0 +1,71 @@
+/*
+20080913
+D. J. Bernstein
+Public domain.
+*/
+
+#include "api.h"
+#include "crypto_hashblocks_sha512.h"
+
+#define blocks crypto_hashblocks_sha512
+
+static const unsigned char iv[64] = {
+  0x6a,0x09,0xe6,0x67,0xf3,0xbc,0xc9,0x08,
+  0xbb,0x67,0xae,0x85,0x84,0xca,0xa7,0x3b,
+  0x3c,0x6e,0xf3,0x72,0xfe,0x94,0xf8,0x2b,
+  0xa5,0x4f,0xf5,0x3a,0x5f,0x1d,0x36,0xf1,
+  0x51,0x0e,0x52,0x7f,0xad,0xe6,0x82,0xd1,
+  0x9b,0x05,0x68,0x8c,0x2b,0x3e,0x6c,0x1f,
+  0x1f,0x83,0xd9,0xab,0xfb,0x41,0xbd,0x6b,
+  0x5b,0xe0,0xcd,0x19,0x13,0x7e,0x21,0x79
+} ;
+
+typedef unsigned long long uint64;
+
+int crypto_hash(unsigned char *out,const unsigned char *in,unsigned long long inlen)
+{
+  unsigned char h[64];
+  unsigned char padded[256];
+  unsigned long long i;
+  unsigned long long bytes = inlen;
+
+  for (i = 0;i < 64;++i) h[i] = iv[i];
+
+  blocks(h,in,inlen);
+  in += inlen;
+  inlen &= 127;
+  in -= inlen;
+
+  for (i = 0;i < inlen;++i) padded[i] = in[i];
+  padded[inlen] = 0x80;
+
+  if (inlen < 112) {
+    for (i = inlen + 1;i < 119;++i) padded[i] = 0;
+    padded[119] = bytes >> 61;
+    padded[120] = bytes >> 53;
+    padded[121] = bytes >> 45;
+    padded[122] = bytes >> 37;
+    padded[123] = bytes >> 29;
+    padded[124] = bytes >> 21;
+    padded[125] = bytes >> 13;
+    padded[126] = bytes >> 5;
+    padded[127] = bytes << 3;
+    blocks(h,padded,128);
+  } else {
+    for (i = inlen + 1;i < 247;++i) padded[i] = 0;
+    padded[247] = bytes >> 61;
+    padded[248] = bytes >> 53;
+    padded[249] = bytes >> 45;
+    padded[250] = bytes >> 37;
+    padded[251] = bytes >> 29;
+    padded[252] = bytes >> 21;
+    padded[253] = bytes >> 13;
+    padded[254] = bytes >> 5;
+    padded[255] = bytes << 3;
+    blocks(h,padded,256);
+  }
+
+  for (i = 0;i < 64;++i) out[i] = h[i];
+
+  return 0;
+}
diff --git a/src/libsodium/src/libsodium/crypto_hashblocks/sha256/hashblocks_sha256_api.c b/src/libsodium/src/libsodium/crypto_hashblocks/sha256/hashblocks_sha256_api.c
new file mode 100644
index 00000000..2b609907
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_hashblocks/sha256/hashblocks_sha256_api.c
@@ -0,0 +1,16 @@
+#include "crypto_hashblocks_sha256.h"
+
+size_t
+crypto_hashblocks_sha256_statebytes(void) {
+    return crypto_hashblocks_sha256_STATEBYTES;
+}
+
+size_t
+crypto_hashblocks_sha256_blockbytes(void) {
+    return crypto_hashblocks_sha256_BLOCKBYTES;
+}
+
+const char *
+crypto_hashblocks_sha256_primitive(void) {
+    return "sha256";
+}
diff --git a/src/libsodium/src/libsodium/crypto_hashblocks/sha256/ref/api.h b/src/libsodium/src/libsodium/crypto_hashblocks/sha256/ref/api.h
new file mode 100644
index 00000000..4e1701ff
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_hashblocks/sha256/ref/api.h
@@ -0,0 +1,9 @@
+
+#include "crypto_hashblocks_sha256.h"
+
+#define crypto_hashblocks crypto_hashblocks_sha256
+#define crypto_hashblocks_STATEBYTES crypto_hashblocks_sha256_STATEBYTES
+#define crypto_hashblocks_BLOCKBYTES crypto_hashblocks_sha256_BLOCKBYTES
+#define crypto_hashblocks_PRIMITIVE "sha256"
+#define crypto_hashblocks_IMPLEMENTATION crypto_hashblocks_sha256_IMPLEMENTATION
+#define crypto_hashblocks_VERSION crypto_hashblocks_sha256_VERSION
diff --git a/src/libsodium/src/libsodium/crypto_hashblocks/sha256/ref/blocks_sha256.c b/src/libsodium/src/libsodium/crypto_hashblocks/sha256/ref/blocks_sha256.c
new file mode 100644
index 00000000..8d89a886
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_hashblocks/sha256/ref/blocks_sha256.c
@@ -0,0 +1,212 @@
+#include "api.h"
+
+typedef unsigned int uint32;
+
+static uint32 load_bigendian(const unsigned char *x)
+{
+  return
+      (uint32) (x[3]) \
+  | (((uint32) (x[2])) << 8) \
+  | (((uint32) (x[1])) << 16) \
+  | (((uint32) (x[0])) << 24)
+  ;
+}
+
+static void store_bigendian(unsigned char *x,uint32 u)
+{
+  x[3] = u; u >>= 8;
+  x[2] = u; u >>= 8;
+  x[1] = u; u >>= 8;
+  x[0] = u;
+}
+
+#define SHR(x,c) ((x) >> (c))
+#define ROTR(x,c) (((x) >> (c)) | ((x) << (32 - (c))))
+
+#define Ch(x,y,z) ((x & y) ^ (~x & z))
+#define Maj(x,y,z) ((x & y) ^ (x & z) ^ (y & z))
+#define Sigma0(x) (ROTR(x, 2) ^ ROTR(x,13) ^ ROTR(x,22))
+#define Sigma1(x) (ROTR(x, 6) ^ ROTR(x,11) ^ ROTR(x,25))
+#define sigma0(x) (ROTR(x, 7) ^ ROTR(x,18) ^ SHR(x, 3))
+#define sigma1(x) (ROTR(x,17) ^ ROTR(x,19) ^ SHR(x,10))
+
+#define M(w0,w14,w9,w1) w0 = sigma1(w14) + w9 + sigma0(w1) + w0;
+
+#define EXPAND \
+  M(w0 ,w14,w9 ,w1 ) \
+  M(w1 ,w15,w10,w2 ) \
+  M(w2 ,w0 ,w11,w3 ) \
+  M(w3 ,w1 ,w12,w4 ) \
+  M(w4 ,w2 ,w13,w5 ) \
+  M(w5 ,w3 ,w14,w6 ) \
+  M(w6 ,w4 ,w15,w7 ) \
+  M(w7 ,w5 ,w0 ,w8 ) \
+  M(w8 ,w6 ,w1 ,w9 ) \
+  M(w9 ,w7 ,w2 ,w10) \
+  M(w10,w8 ,w3 ,w11) \
+  M(w11,w9 ,w4 ,w12) \
+  M(w12,w10,w5 ,w13) \
+  M(w13,w11,w6 ,w14) \
+  M(w14,w12,w7 ,w15) \
+  M(w15,w13,w8 ,w0 )
+
+#define F(w,k) \
+  T1 = h + Sigma1(e) + Ch(e,f,g) + k + w; \
+  T2 = Sigma0(a) + Maj(a,b,c); \
+  h = g; \
+  g = f; \
+  f = e; \
+  e = d + T1; \
+  d = c; \
+  c = b; \
+  b = a; \
+  a = T1 + T2;
+
+int crypto_hashblocks(unsigned char *statebytes,const unsigned char *in,unsigned long long inlen)
+{
+  uint32 state[8];
+  uint32 a;
+  uint32 b;
+  uint32 c;
+  uint32 d;
+  uint32 e;
+  uint32 f;
+  uint32 g;
+  uint32 h;
+  uint32 T1;
+  uint32 T2;
+
+  a = load_bigendian(statebytes +  0); state[0] = a;
+  b = load_bigendian(statebytes +  4); state[1] = b;
+  c = load_bigendian(statebytes +  8); state[2] = c;
+  d = load_bigendian(statebytes + 12); state[3] = d;
+  e = load_bigendian(statebytes + 16); state[4] = e;
+  f = load_bigendian(statebytes + 20); state[5] = f;
+  g = load_bigendian(statebytes + 24); state[6] = g;
+  h = load_bigendian(statebytes + 28); state[7] = h;
+
+  while (inlen >= 64) {
+    uint32 w0  = load_bigendian(in +  0);
+    uint32 w1  = load_bigendian(in +  4);
+    uint32 w2  = load_bigendian(in +  8);
+    uint32 w3  = load_bigendian(in + 12);
+    uint32 w4  = load_bigendian(in + 16);
+    uint32 w5  = load_bigendian(in + 20);
+    uint32 w6  = load_bigendian(in + 24);
+    uint32 w7  = load_bigendian(in + 28);
+    uint32 w8  = load_bigendian(in + 32);
+    uint32 w9  = load_bigendian(in + 36);
+    uint32 w10 = load_bigendian(in + 40);
+    uint32 w11 = load_bigendian(in + 44);
+    uint32 w12 = load_bigendian(in + 48);
+    uint32 w13 = load_bigendian(in + 52);
+    uint32 w14 = load_bigendian(in + 56);
+    uint32 w15 = load_bigendian(in + 60);
+
+    F(w0 ,0x428a2f98)
+    F(w1 ,0x71374491)
+    F(w2 ,0xb5c0fbcf)
+    F(w3 ,0xe9b5dba5)
+    F(w4 ,0x3956c25b)
+    F(w5 ,0x59f111f1)
+    F(w6 ,0x923f82a4)
+    F(w7 ,0xab1c5ed5)
+    F(w8 ,0xd807aa98)
+    F(w9 ,0x12835b01)
+    F(w10,0x243185be)
+    F(w11,0x550c7dc3)
+    F(w12,0x72be5d74)
+    F(w13,0x80deb1fe)
+    F(w14,0x9bdc06a7)
+    F(w15,0xc19bf174)
+
+    EXPAND
+
+    F(w0 ,0xe49b69c1)
+    F(w1 ,0xefbe4786)
+    F(w2 ,0x0fc19dc6)
+    F(w3 ,0x240ca1cc)
+    F(w4 ,0x2de92c6f)
+    F(w5 ,0x4a7484aa)
+    F(w6 ,0x5cb0a9dc)
+    F(w7 ,0x76f988da)
+    F(w8 ,0x983e5152)
+    F(w9 ,0xa831c66d)
+    F(w10,0xb00327c8)
+    F(w11,0xbf597fc7)
+    F(w12,0xc6e00bf3)
+    F(w13,0xd5a79147)
+    F(w14,0x06ca6351)
+    F(w15,0x14292967)
+
+    EXPAND
+
+    F(w0 ,0x27b70a85)
+    F(w1 ,0x2e1b2138)
+    F(w2 ,0x4d2c6dfc)
+    F(w3 ,0x53380d13)
+    F(w4 ,0x650a7354)
+    F(w5 ,0x766a0abb)
+    F(w6 ,0x81c2c92e)
+    F(w7 ,0x92722c85)
+    F(w8 ,0xa2bfe8a1)
+    F(w9 ,0xa81a664b)
+    F(w10,0xc24b8b70)
+    F(w11,0xc76c51a3)
+    F(w12,0xd192e819)
+    F(w13,0xd6990624)
+    F(w14,0xf40e3585)
+    F(w15,0x106aa070)
+
+    EXPAND
+
+    F(w0 ,0x19a4c116)
+    F(w1 ,0x1e376c08)
+    F(w2 ,0x2748774c)
+    F(w3 ,0x34b0bcb5)
+    F(w4 ,0x391c0cb3)
+    F(w5 ,0x4ed8aa4a)
+    F(w6 ,0x5b9cca4f)
+    F(w7 ,0x682e6ff3)
+    F(w8 ,0x748f82ee)
+    F(w9 ,0x78a5636f)
+    F(w10,0x84c87814)
+    F(w11,0x8cc70208)
+    F(w12,0x90befffa)
+    F(w13,0xa4506ceb)
+    F(w14,0xbef9a3f7)
+    F(w15,0xc67178f2)
+
+    a += state[0];
+    b += state[1];
+    c += state[2];
+    d += state[3];
+    e += state[4];
+    f += state[5];
+    g += state[6];
+    h += state[7];
+
+    state[0] = a;
+    state[1] = b;
+    state[2] = c;
+    state[3] = d;
+    state[4] = e;
+    state[5] = f;
+    state[6] = g;
+    state[7] = h;
+
+    in += 64;
+    inlen -= 64;
+  }
+
+  store_bigendian(statebytes +  0,state[0]);
+  store_bigendian(statebytes +  4,state[1]);
+  store_bigendian(statebytes +  8,state[2]);
+  store_bigendian(statebytes + 12,state[3]);
+  store_bigendian(statebytes + 16,state[4]);
+  store_bigendian(statebytes + 20,state[5]);
+  store_bigendian(statebytes + 24,state[6]);
+  store_bigendian(statebytes + 28,state[7]);
+
+  return 0;
+}
diff --git a/src/libsodium/src/libsodium/crypto_hashblocks/sha512/hashblocks_sha512_api.c b/src/libsodium/src/libsodium/crypto_hashblocks/sha512/hashblocks_sha512_api.c
new file mode 100644
index 00000000..63cf6ed5
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_hashblocks/sha512/hashblocks_sha512_api.c
@@ -0,0 +1,16 @@
+#include "crypto_hashblocks_sha512.h"
+
+size_t
+crypto_hashblocks_sha512_statebytes(void) {
+    return crypto_hashblocks_sha512_STATEBYTES;
+}
+
+size_t
+crypto_hashblocks_sha512_blockbytes(void) {
+    return crypto_hashblocks_sha512_BLOCKBYTES;
+}
+
+const char *
+crypto_hashblocks_sha512_primitive(void) {
+    return "sha512";
+}
diff --git a/src/libsodium/src/libsodium/crypto_hashblocks/sha512/ref/api.h b/src/libsodium/src/libsodium/crypto_hashblocks/sha512/ref/api.h
new file mode 100644
index 00000000..1662652d
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_hashblocks/sha512/ref/api.h
@@ -0,0 +1,9 @@
+
+#include "crypto_hashblocks_sha512.h"
+
+#define crypto_hashblocks crypto_hashblocks_sha512
+#define crypto_hashblocks_STATEBYTES crypto_hashblocks_sha512_STATEBYTES
+#define crypto_hashblocks_BLOCKBYTES crypto_hashblocks_sha512_BLOCKBYTES
+#define crypto_hashblocks_PRIMITIVE "sha512"
+#define crypto_hashblocks_IMPLEMENTATION crypto_hashblocks_sha512_IMPLEMENTATION
+#define crypto_hashblocks_VERSION crypto_hashblocks_sha512_VERSION
diff --git a/src/libsodium/src/libsodium/crypto_hashblocks/sha512/ref/blocks_sha512.c b/src/libsodium/src/libsodium/crypto_hashblocks/sha512/ref/blocks_sha512.c
new file mode 100644
index 00000000..6571ed64
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_hashblocks/sha512/ref/blocks_sha512.c
@@ -0,0 +1,239 @@
+#include "api.h"
+
+typedef unsigned long long uint64;
+
+static uint64 load_bigendian(const unsigned char *x)
+{
+  return
+      (uint64) (x[7]) \
+  | (((uint64) (x[6])) << 8) \
+  | (((uint64) (x[5])) << 16) \
+  | (((uint64) (x[4])) << 24) \
+  | (((uint64) (x[3])) << 32) \
+  | (((uint64) (x[2])) << 40) \
+  | (((uint64) (x[1])) << 48) \
+  | (((uint64) (x[0])) << 56)
+  ;
+}
+
+static void store_bigendian(unsigned char *x,uint64 u)
+{
+  x[7] = u; u >>= 8;
+  x[6] = u; u >>= 8;
+  x[5] = u; u >>= 8;
+  x[4] = u; u >>= 8;
+  x[3] = u; u >>= 8;
+  x[2] = u; u >>= 8;
+  x[1] = u; u >>= 8;
+  x[0] = u;
+}
+
+#define SHR(x,c) ((x) >> (c))
+#define ROTR(x,c) (((x) >> (c)) | ((x) << (64 - (c))))
+
+#define Ch(x,y,z) ((x & y) ^ (~x & z))
+#define Maj(x,y,z) ((x & y) ^ (x & z) ^ (y & z))
+#define Sigma0(x) (ROTR(x,28) ^ ROTR(x,34) ^ ROTR(x,39))
+#define Sigma1(x) (ROTR(x,14) ^ ROTR(x,18) ^ ROTR(x,41))
+#define sigma0(x) (ROTR(x, 1) ^ ROTR(x, 8) ^ SHR(x,7))
+#define sigma1(x) (ROTR(x,19) ^ ROTR(x,61) ^ SHR(x,6))
+
+#define M(w0,w14,w9,w1) w0 = sigma1(w14) + w9 + sigma0(w1) + w0;
+
+#define EXPAND \
+  M(w0 ,w14,w9 ,w1 ) \
+  M(w1 ,w15,w10,w2 ) \
+  M(w2 ,w0 ,w11,w3 ) \
+  M(w3 ,w1 ,w12,w4 ) \
+  M(w4 ,w2 ,w13,w5 ) \
+  M(w5 ,w3 ,w14,w6 ) \
+  M(w6 ,w4 ,w15,w7 ) \
+  M(w7 ,w5 ,w0 ,w8 ) \
+  M(w8 ,w6 ,w1 ,w9 ) \
+  M(w9 ,w7 ,w2 ,w10) \
+  M(w10,w8 ,w3 ,w11) \
+  M(w11,w9 ,w4 ,w12) \
+  M(w12,w10,w5 ,w13) \
+  M(w13,w11,w6 ,w14) \
+  M(w14,w12,w7 ,w15) \
+  M(w15,w13,w8 ,w0 )
+
+#define F(w,k) \
+  T1 = h + Sigma1(e) + Ch(e,f,g) + k + w; \
+  T2 = Sigma0(a) + Maj(a,b,c); \
+  h = g; \
+  g = f; \
+  f = e; \
+  e = d + T1; \
+  d = c; \
+  c = b; \
+  b = a; \
+  a = T1 + T2;
+
+int crypto_hashblocks(unsigned char *statebytes,const unsigned char *in,unsigned long long inlen)
+{
+  uint64 state[8];
+  uint64 a;
+  uint64 b;
+  uint64 c;
+  uint64 d;
+  uint64 e;
+  uint64 f;
+  uint64 g;
+  uint64 h;
+  uint64 T1;
+  uint64 T2;
+
+  a = load_bigendian(statebytes +  0); state[0] = a;
+  b = load_bigendian(statebytes +  8); state[1] = b;
+  c = load_bigendian(statebytes + 16); state[2] = c;
+  d = load_bigendian(statebytes + 24); state[3] = d;
+  e = load_bigendian(statebytes + 32); state[4] = e;
+  f = load_bigendian(statebytes + 40); state[5] = f;
+  g = load_bigendian(statebytes + 48); state[6] = g;
+  h = load_bigendian(statebytes + 56); state[7] = h;
+
+  while (inlen >= 128) {
+    uint64 w0  = load_bigendian(in +   0);
+    uint64 w1  = load_bigendian(in +   8);
+    uint64 w2  = load_bigendian(in +  16);
+    uint64 w3  = load_bigendian(in +  24);
+    uint64 w4  = load_bigendian(in +  32);
+    uint64 w5  = load_bigendian(in +  40);
+    uint64 w6  = load_bigendian(in +  48);
+    uint64 w7  = load_bigendian(in +  56);
+    uint64 w8  = load_bigendian(in +  64);
+    uint64 w9  = load_bigendian(in +  72);
+    uint64 w10 = load_bigendian(in +  80);
+    uint64 w11 = load_bigendian(in +  88);
+    uint64 w12 = load_bigendian(in +  96);
+    uint64 w13 = load_bigendian(in + 104);
+    uint64 w14 = load_bigendian(in + 112);
+    uint64 w15 = load_bigendian(in + 120);
+
+    F(w0 ,0x428a2f98d728ae22ULL)
+    F(w1 ,0x7137449123ef65cdULL)
+    F(w2 ,0xb5c0fbcfec4d3b2fULL)
+    F(w3 ,0xe9b5dba58189dbbcULL)
+    F(w4 ,0x3956c25bf348b538ULL)
+    F(w5 ,0x59f111f1b605d019ULL)
+    F(w6 ,0x923f82a4af194f9bULL)
+    F(w7 ,0xab1c5ed5da6d8118ULL)
+    F(w8 ,0xd807aa98a3030242ULL)
+    F(w9 ,0x12835b0145706fbeULL)
+    F(w10,0x243185be4ee4b28cULL)
+    F(w11,0x550c7dc3d5ffb4e2ULL)
+    F(w12,0x72be5d74f27b896fULL)
+    F(w13,0x80deb1fe3b1696b1ULL)
+    F(w14,0x9bdc06a725c71235ULL)
+    F(w15,0xc19bf174cf692694ULL)
+
+    EXPAND
+
+    F(w0 ,0xe49b69c19ef14ad2ULL)
+    F(w1 ,0xefbe4786384f25e3ULL)
+    F(w2 ,0x0fc19dc68b8cd5b5ULL)
+    F(w3 ,0x240ca1cc77ac9c65ULL)
+    F(w4 ,0x2de92c6f592b0275ULL)
+    F(w5 ,0x4a7484aa6ea6e483ULL)
+    F(w6 ,0x5cb0a9dcbd41fbd4ULL)
+    F(w7 ,0x76f988da831153b5ULL)
+    F(w8 ,0x983e5152ee66dfabULL)
+    F(w9 ,0xa831c66d2db43210ULL)
+    F(w10,0xb00327c898fb213fULL)
+    F(w11,0xbf597fc7beef0ee4ULL)
+    F(w12,0xc6e00bf33da88fc2ULL)
+    F(w13,0xd5a79147930aa725ULL)
+    F(w14,0x06ca6351e003826fULL)
+    F(w15,0x142929670a0e6e70ULL)
+
+    EXPAND
+
+    F(w0 ,0x27b70a8546d22ffcULL)
+    F(w1 ,0x2e1b21385c26c926ULL)
+    F(w2 ,0x4d2c6dfc5ac42aedULL)
+    F(w3 ,0x53380d139d95b3dfULL)
+    F(w4 ,0x650a73548baf63deULL)
+    F(w5 ,0x766a0abb3c77b2a8ULL)
+    F(w6 ,0x81c2c92e47edaee6ULL)
+    F(w7 ,0x92722c851482353bULL)
+    F(w8 ,0xa2bfe8a14cf10364ULL)
+    F(w9 ,0xa81a664bbc423001ULL)
+    F(w10,0xc24b8b70d0f89791ULL)
+    F(w11,0xc76c51a30654be30ULL)
+    F(w12,0xd192e819d6ef5218ULL)
+    F(w13,0xd69906245565a910ULL)
+    F(w14,0xf40e35855771202aULL)
+    F(w15,0x106aa07032bbd1b8ULL)
+
+    EXPAND
+
+    F(w0 ,0x19a4c116b8d2d0c8ULL)
+    F(w1 ,0x1e376c085141ab53ULL)
+    F(w2 ,0x2748774cdf8eeb99ULL)
+    F(w3 ,0x34b0bcb5e19b48a8ULL)
+    F(w4 ,0x391c0cb3c5c95a63ULL)
+    F(w5 ,0x4ed8aa4ae3418acbULL)
+    F(w6 ,0x5b9cca4f7763e373ULL)
+    F(w7 ,0x682e6ff3d6b2b8a3ULL)
+    F(w8 ,0x748f82ee5defb2fcULL)
+    F(w9 ,0x78a5636f43172f60ULL)
+    F(w10,0x84c87814a1f0ab72ULL)
+    F(w11,0x8cc702081a6439ecULL)
+    F(w12,0x90befffa23631e28ULL)
+    F(w13,0xa4506cebde82bde9ULL)
+    F(w14,0xbef9a3f7b2c67915ULL)
+    F(w15,0xc67178f2e372532bULL)
+
+    EXPAND
+
+    F(w0 ,0xca273eceea26619cULL)
+    F(w1 ,0xd186b8c721c0c207ULL)
+    F(w2 ,0xeada7dd6cde0eb1eULL)
+    F(w3 ,0xf57d4f7fee6ed178ULL)
+    F(w4 ,0x06f067aa72176fbaULL)
+    F(w5 ,0x0a637dc5a2c898a6ULL)
+    F(w6 ,0x113f9804bef90daeULL)
+    F(w7 ,0x1b710b35131c471bULL)
+    F(w8 ,0x28db77f523047d84ULL)
+    F(w9 ,0x32caab7b40c72493ULL)
+    F(w10,0x3c9ebe0a15c9bebcULL)
+    F(w11,0x431d67c49c100d4cULL)
+    F(w12,0x4cc5d4becb3e42b6ULL)
+    F(w13,0x597f299cfc657e2aULL)
+    F(w14,0x5fcb6fab3ad6faecULL)
+    F(w15,0x6c44198c4a475817ULL)
+
+    a += state[0];
+    b += state[1];
+    c += state[2];
+    d += state[3];
+    e += state[4];
+    f += state[5];
+    g += state[6];
+    h += state[7];
+
+    state[0] = a;
+    state[1] = b;
+    state[2] = c;
+    state[3] = d;
+    state[4] = e;
+    state[5] = f;
+    state[6] = g;
+    state[7] = h;
+
+    in += 128;
+    inlen -= 128;
+  }
+
+  store_bigendian(statebytes +  0,state[0]);
+  store_bigendian(statebytes +  8,state[1]);
+  store_bigendian(statebytes + 16,state[2]);
+  store_bigendian(statebytes + 24,state[3]);
+  store_bigendian(statebytes + 32,state[4]);
+  store_bigendian(statebytes + 40,state[5]);
+  store_bigendian(statebytes + 48,state[6]);
+  store_bigendian(statebytes + 56,state[7]);
+
+  return 0;
+}
diff --git a/src/libsodium/src/libsodium/crypto_onetimeauth/crypto_onetimeauth.c b/src/libsodium/src/libsodium/crypto_onetimeauth/crypto_onetimeauth.c
new file mode 100644
index 00000000..19c6e71b
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_onetimeauth/crypto_onetimeauth.c
@@ -0,0 +1,34 @@
+
+#include "crypto_onetimeauth.h"
+
+size_t
+crypto_onetimeauth_bytes(void)
+{
+    return crypto_onetimeauth_BYTES;
+}
+
+size_t
+crypto_onetimeauth_keybytes(void)
+{
+    return crypto_onetimeauth_KEYBYTES;
+}
+
+const char *
+crypto_onetimeauth_primitive(void)
+{
+    return crypto_onetimeauth_PRIMITIVE;
+}
+
+int
+crypto_onetimeauth(unsigned char *out, const unsigned char *in,
+                   unsigned long long inlen, const unsigned char *k)
+{
+    return crypto_onetimeauth_poly1305(out, in, inlen, k);
+}
+
+int
+crypto_onetimeauth_verify(const unsigned char *h, const unsigned char *in,
+                          unsigned long long inlen, const unsigned char *k)
+{
+    return crypto_onetimeauth_poly1305_verify(h, in, inlen, k);
+}
diff --git a/src/libsodium/src/libsodium/crypto_onetimeauth/poly1305/53/api.h b/src/libsodium/src/libsodium/crypto_onetimeauth/poly1305/53/api.h
new file mode 100644
index 00000000..e45d7a63
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_onetimeauth/poly1305/53/api.h
@@ -0,0 +1,8 @@
+
+#include "crypto_onetimeauth_poly1305.h"
+
+#define crypto_onetimeauth_poly1305_implementation_name \
+    crypto_onetimeauth_poly1305_53_implementation_name
+
+#define crypto_onetimeauth crypto_onetimeauth_poly1305_53
+#define crypto_onetimeauth_verify crypto_onetimeauth_poly1305_53_verify
diff --git a/src/libsodium/src/libsodium/crypto_onetimeauth/poly1305/53/auth_poly1305_53.c b/src/libsodium/src/libsodium/crypto_onetimeauth/poly1305/53/auth_poly1305_53.c
new file mode 100644
index 00000000..4570cc15
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_onetimeauth/poly1305/53/auth_poly1305_53.c
@@ -0,0 +1,1657 @@
+/*
+20080910
+D. J. Bernstein
+Public domain.
+*/
+
+#ifdef HAVE_FENV_H
+# include <fenv.h>
+#endif
+#include <stdint.h>
+#include <stdlib.h>
+
+#include "api.h"
+#include "crypto_onetimeauth_poly1305_53.h"
+#include "utils.h"
+
+#ifdef HAVE_FENV_H
+# pragma STDC FENV_ACCESS ON
+#endif
+
+typedef uint8_t  uchar;
+typedef int32_t  int32;
+typedef uint32_t uint32;
+typedef int64_t  int64;
+typedef uint64_t uint64;
+
+static const double poly1305_53_constants[] = {
+  0.00000000558793544769287109375 /* alpham80 = 3 2^(-29) */
+, 24.0 /* alpham48 = 3 2^3 */
+, 103079215104.0 /* alpham16 = 3 2^35 */
+, 6755399441055744.0 /* alpha0 = 3 2^51 */
+, 1770887431076116955136.0 /* alpha18 = 3 2^69 */
+, 29014219670751100192948224.0 /* alpha32 = 3 2^83 */
+, 7605903601369376408980219232256.0 /* alpha50 = 3 2^101 */
+, 124615124604835863084731911901282304.0 /* alpha64 = 3 2^115 */
+, 32667107224410092492483962313449748299776.0 /* alpha82 = 3 2^133 */
+, 535217884764734955396857238543560676143529984.0 /* alpha96 = 3 2^147 */
+, 35076039295941670036888435985190792471742381031424.0 /* alpha112 = 3 2^163 */
+, 9194973245195333150150082162901855101712434733101613056.0 /* alpha130 = 3 2^181 */
+, 0.0000000000000000000000000000000000000036734198463196484624023016788195177431833298649127735047148490821200539357960224151611328125 /* scale = 5 2^(-130) */
+, 6755408030990331.0 /* offset0 = alpha0 + 2^33 - 5 */
+, 29014256564239239022116864.0 /* offset1 = alpha32 + 2^65 - 2^33 */
+, 124615283061160854719918951570079744.0 /* offset2 = alpha64 + 2^97 - 2^65 */
+, 535219245894202480694386063513315216128475136.0 /* offset3 = alpha96 + 2^130 - 2^97 */
+} ;
+
+int crypto_onetimeauth(unsigned char *out,const unsigned char *m,unsigned long long l,const unsigned char *k)
+{
+  register const unsigned char *r = k;
+  register const unsigned char *s = k + 16;
+  double r0high_stack;
+  double r1high_stack;
+  double r1low_stack;
+  double sr1high_stack;
+  double r2low_stack;
+  double sr2high_stack;
+  double r0low_stack;
+  double sr1low_stack;
+  double r2high_stack;
+  double sr2low_stack;
+  double r3high_stack;
+  double sr3high_stack;
+  double r3low_stack;
+  double sr3low_stack;
+  int64 d0;
+  int64 d1;
+  int64 d2;
+  int64 d3;
+  register double scale;
+  register double alpha0;
+  register double alpha32;
+  register double alpha64;
+  register double alpha96;
+  register double alpha130;
+  register double h0;
+  register double h1;
+  register double h2;
+  register double h3;
+  register double h4;
+  register double h5;
+  register double h6;
+  register double h7;
+  register double y7;
+  register double y6;
+  register double y1;
+  register double y0;
+  register double y5;
+  register double y4;
+  register double x7;
+  register double x6;
+  register double x1;
+  register double x0;
+  register double y3;
+  register double y2;
+  register double r3low;
+  register double r0low;
+  register double r3high;
+  register double r0high;
+  register double sr1low;
+  register double x5;
+  register double r3lowx0;
+  register double sr1high;
+  register double x4;
+  register double r0lowx6;
+  register double r1low;
+  register double x3;
+  register double r3highx0;
+  register double r1high;
+  register double x2;
+  register double r0highx6;
+  register double sr2low;
+  register double r0lowx0;
+  register double sr2high;
+  register double sr1lowx6;
+  register double r2low;
+  register double r0highx0;
+  register double r2high;
+  register double sr1highx6;
+  register double sr3low;
+  register double r1lowx0;
+  register double sr3high;
+  register double sr2lowx6;
+  register double r1highx0;
+  register double sr2highx6;
+  register double r2lowx0;
+  register double sr3lowx6;
+  register double r2highx0;
+  register double sr3highx6;
+  register double r1highx4;
+  register double r1lowx4;
+  register double r0highx4;
+  register double r0lowx4;
+  register double sr3highx4;
+  register double sr3lowx4;
+  register double sr2highx4;
+  register double sr2lowx4;
+  register double r0lowx2;
+  register double r0highx2;
+  register double r1lowx2;
+  register double r1highx2;
+  register double r2lowx2;
+  register double r2highx2;
+  register double sr3lowx2;
+  register double sr3highx2;
+  register double z0;
+  register double z1;
+  register double z2;
+  register double z3;
+  register int64 r0;
+  register int64 r1;
+  register int64 r2;
+  register int64 r3;
+  register uint32 r00;
+  register uint32 r01;
+  register uint32 r02;
+  register uint32 r03;
+  register uint32 r10;
+  register uint32 r11;
+  register uint32 r12;
+  register uint32 r13;
+  register uint32 r20;
+  register uint32 r21;
+  register uint32 r22;
+  register uint32 r23;
+  register uint32 r30;
+  register uint32 r31;
+  register uint32 r32;
+  register uint32 r33;
+  register int64 m0;
+  register int64 m1;
+  register int64 m2;
+  register int64 m3;
+  register uint32 m00;
+  register uint32 m01;
+  register uint32 m02;
+  register uint32 m03;
+  register uint32 m10;
+  register uint32 m11;
+  register uint32 m12;
+  register uint32 m13;
+  register uint32 m20;
+  register uint32 m21;
+  register uint32 m22;
+  register uint32 m23;
+  register uint32 m30;
+  register uint32 m31;
+  register uint32 m32;
+  register uint64 m33;
+  register char *constants;
+  register int32 lbelow2;
+  register int32 lbelow3;
+  register int32 lbelow4;
+  register int32 lbelow5;
+  register int32 lbelow6;
+  register int32 lbelow7;
+  register int32 lbelow8;
+  register int32 lbelow9;
+  register int32 lbelow10;
+  register int32 lbelow11;
+  register int32 lbelow12;
+  register int32 lbelow13;
+  register int32 lbelow14;
+  register int32 lbelow15;
+  register double alpham80;
+  register double alpham48;
+  register double alpham16;
+  register double alpha18;
+  register double alpha50;
+  register double alpha82;
+  register double alpha112;
+  register double offset0;
+  register double offset1;
+  register double offset2;
+  register double offset3;
+  register uint32 s00;
+  register uint32 s01;
+  register uint32 s02;
+  register uint32 s03;
+  register uint32 s10;
+  register uint32 s11;
+  register uint32 s12;
+  register uint32 s13;
+  register uint32 s20;
+  register uint32 s21;
+  register uint32 s22;
+  register uint32 s23;
+  register uint32 s30;
+  register uint32 s31;
+  register uint32 s32;
+  register uint32 s33;
+  register uint64 bits32;
+  register uint64 f;
+  register uint64 f0;
+  register uint64 f1;
+  register uint64 f2;
+  register uint64 f3;
+  register uint64 f4;
+  register uint64 g;
+  register uint64 g0;
+  register uint64 g1;
+  register uint64 g2;
+  register uint64 g3;
+  register uint64 g4;
+
+#ifdef HAVE_FENV_H
+  const int previous_rounding_mode = fegetround();
+  if (previous_rounding_mode != FE_TONEAREST) {
+      if (fesetround(FE_TONEAREST) != 0) {
+          return -1;
+      }
+  }
+#endif
+
+  r00 = *(const uchar *) (r + 0);
+  constants = (char *) &poly1305_53_constants;
+
+  r01 = *(const uchar *) (r + 1);
+
+  r02 = *(const uchar *) (r + 2);
+  r0 = 2151;
+
+  r03 = *(const uchar *) (r + 3); r03 &= 15;
+  r0 <<= 51;
+
+  r10 = *(const uchar *) (r + 4); r10 &= 252;
+  r01 <<= 8;
+  r0 += r00;
+
+  r11 = *(const uchar *) (r + 5);
+  r02 <<= 16;
+  r0 += r01;
+
+  r12 = *(const uchar *) (r + 6);
+  r03 <<= 24;
+  r0 += r02;
+
+  r13 = *(const uchar *) (r + 7); r13 &= 15;
+  r1 = 2215;
+  r0 += r03;
+
+  d0 = r0;
+  r1 <<= 51;
+  r2 = 2279;
+
+  r20 = *(const uchar *) (r + 8); r20 &= 252;
+  r11 <<= 8;
+  r1 += r10;
+
+  r21 = *(const uchar *) (r + 9);
+  r12 <<= 16;
+  r1 += r11;
+
+  r22 = *(const uchar *) (r + 10);
+  r13 <<= 24;
+  r1 += r12;
+
+  r23 = *(const uchar *) (r + 11); r23 &= 15;
+  r2 <<= 51;
+  r1 += r13;
+
+  d1 = r1;
+  r21 <<= 8;
+  r2 += r20;
+
+  r30 = *(const uchar *) (r + 12); r30 &= 252;
+  r22 <<= 16;
+  r2 += r21;
+
+  r31 = *(const uchar *) (r + 13);
+  r23 <<= 24;
+  r2 += r22;
+
+  r32 = *(const uchar *) (r + 14);
+  r2 += r23;
+  r3 = 2343;
+
+  d2 = r2;
+  r3 <<= 51;
+  alpha32 = *(double *) (constants + 40);
+
+  r33 = *(const uchar *) (r + 15); r33 &= 15;
+  r31 <<= 8;
+  r3 += r30;
+
+  r32 <<= 16;
+  r3 += r31;
+
+  r33 <<= 24;
+  r3 += r32;
+
+  r3 += r33;
+  h0 = alpha32 - alpha32;
+
+  d3 = r3;
+  h1 = alpha32 - alpha32;
+
+  alpha0 = *(double *) (constants + 24);
+  h2 = alpha32 - alpha32;
+
+  alpha64 = *(double *) (constants + 56);
+  h3 = alpha32 - alpha32;
+
+  alpha18 = *(double *) (constants + 32);
+  h4 = alpha32 - alpha32;
+
+  r0low = *(double *) &d0;
+  h5 = alpha32 - alpha32;
+
+  r1low = *(double *) &d1;
+  h6 = alpha32 - alpha32;
+
+  r2low = *(double *) &d2;
+  h7 = alpha32 - alpha32;
+
+  alpha50 = *(double *) (constants + 48);
+  r0low -= alpha0;
+
+  alpha82 = *(double *) (constants + 64);
+  r1low -= alpha32;
+
+  scale = *(double *) (constants + 96);
+  r2low -= alpha64;
+
+  alpha96 = *(double *) (constants + 72);
+  r0high = r0low + alpha18;
+
+  r3low = *(double *) &d3;
+
+  alpham80 = *(double *) (constants + 0);
+  r1high = r1low + alpha50;
+  sr1low = scale * r1low;
+
+  alpham48 = *(double *) (constants + 8);
+  r2high = r2low + alpha82;
+  sr2low = scale * r2low;
+
+  r0high -= alpha18;
+  r0high_stack = r0high;
+
+  r3low -= alpha96;
+
+  r1high -= alpha50;
+  r1high_stack = r1high;
+
+  sr1high = sr1low + alpham80;
+
+  alpha112 = *(double *) (constants + 80);
+  r0low -= r0high;
+
+  alpham16 = *(double *) (constants + 16);
+  r2high -= alpha82;
+  sr3low = scale * r3low;
+
+  alpha130 = *(double *) (constants + 88);
+  sr2high = sr2low + alpham48;
+
+  r1low -= r1high;
+  r1low_stack = r1low;
+
+  sr1high -= alpham80;
+  sr1high_stack = sr1high;
+
+  r2low -= r2high;
+  r2low_stack = r2low;
+
+  sr2high -= alpham48;
+  sr2high_stack = sr2high;
+
+  r3high = r3low + alpha112;
+  r0low_stack = r0low;
+
+  sr1low -= sr1high;
+  sr1low_stack = sr1low;
+
+  sr3high = sr3low + alpham16;
+  r2high_stack = r2high;
+
+  sr2low -= sr2high;
+  sr2low_stack = sr2low;
+
+  r3high -= alpha112;
+  r3high_stack = r3high;
+
+
+  sr3high -= alpham16;
+  sr3high_stack = sr3high;
+
+
+  r3low -= r3high;
+  r3low_stack = r3low;
+
+
+  sr3low -= sr3high;
+  sr3low_stack = sr3low;
+
+if (l < 16) goto addatmost15bytes;
+
+  m00 = *(const uchar *) (m + 0);
+  m0 = 2151;
+
+  m0 <<= 51;
+  m1 = 2215;
+  m01 = *(const uchar *) (m + 1);
+
+  m1 <<= 51;
+  m2 = 2279;
+  m02 = *(const uchar *) (m + 2);
+
+  m2 <<= 51;
+  m3 = 2343;
+  m03 = *(const uchar *) (m + 3);
+
+  m10 = *(const uchar *) (m + 4);
+  m01 <<= 8;
+  m0 += m00;
+
+  m11 = *(const uchar *) (m + 5);
+  m02 <<= 16;
+  m0 += m01;
+
+  m12 = *(const uchar *) (m + 6);
+  m03 <<= 24;
+  m0 += m02;
+
+  m13 = *(const uchar *) (m + 7);
+  m3 <<= 51;
+  m0 += m03;
+
+  m20 = *(const uchar *) (m + 8);
+  m11 <<= 8;
+  m1 += m10;
+
+  m21 = *(const uchar *) (m + 9);
+  m12 <<= 16;
+  m1 += m11;
+
+  m22 = *(const uchar *) (m + 10);
+  m13 <<= 24;
+  m1 += m12;
+
+  m23 = *(const uchar *) (m + 11);
+  m1 += m13;
+
+  m30 = *(const uchar *) (m + 12);
+  m21 <<= 8;
+  m2 += m20;
+
+  m31 = *(const uchar *) (m + 13);
+  m22 <<= 16;
+  m2 += m21;
+
+  m32 = *(const uchar *) (m + 14);
+  m23 <<= 24;
+  m2 += m22;
+
+  m33 = *(const uchar *) (m + 15);
+  m2 += m23;
+
+  d0 = m0;
+  m31 <<= 8;
+  m3 += m30;
+
+  d1 = m1;
+  m32 <<= 16;
+  m3 += m31;
+
+  d2 = m2;
+  m33 += 256;
+
+  m33 <<= 24;
+  m3 += m32;
+
+  m3 += m33;
+  d3 = m3;
+
+  m += 16;
+  l -= 16;
+
+  z0 = *(double *) &d0;
+
+  z1 = *(double *) &d1;
+
+  z2 = *(double *) &d2;
+
+  z3 = *(double *) &d3;
+
+  z0 -= alpha0;
+
+  z1 -= alpha32;
+
+  z2 -= alpha64;
+
+  z3 -= alpha96;
+
+  h0 += z0;
+
+  h1 += z1;
+
+  h3 += z2;
+
+  h5 += z3;
+
+if (l < 16) goto multiplyaddatmost15bytes;
+
+multiplyaddatleast16bytes:;
+
+  m2 = 2279;
+  m20 = *(const uchar *) (m + 8);
+  y7 = h7 + alpha130;
+
+  m2 <<= 51;
+  m3 = 2343;
+  m21 = *(const uchar *) (m + 9);
+  y6 = h6 + alpha130;
+
+  m3 <<= 51;
+  m0 = 2151;
+  m22 = *(const uchar *) (m + 10);
+  y1 = h1 + alpha32;
+
+  m0 <<= 51;
+  m1 = 2215;
+  m23 = *(const uchar *) (m + 11);
+  y0 = h0 + alpha32;
+
+  m1 <<= 51;
+  m30 = *(const uchar *) (m + 12);
+  y7 -= alpha130;
+
+  m21 <<= 8;
+  m2 += m20;
+  m31 = *(const uchar *) (m + 13);
+  y6 -= alpha130;
+
+  m22 <<= 16;
+  m2 += m21;
+  m32 = *(const uchar *) (m + 14);
+  y1 -= alpha32;
+
+  m23 <<= 24;
+  m2 += m22;
+  m33 = *(const uchar *) (m + 15);
+  y0 -= alpha32;
+
+  m2 += m23;
+  m00 = *(const uchar *) (m + 0);
+  y5 = h5 + alpha96;
+
+  m31 <<= 8;
+  m3 += m30;
+  m01 = *(const uchar *) (m + 1);
+  y4 = h4 + alpha96;
+
+  m32 <<= 16;
+  m02 = *(const uchar *) (m + 2);
+  x7 = h7 - y7;
+  y7 *= scale;
+
+  m33 += 256;
+  m03 = *(const uchar *) (m + 3);
+  x6 = h6 - y6;
+  y6 *= scale;
+
+  m33 <<= 24;
+  m3 += m31;
+  m10 = *(const uchar *) (m + 4);
+  x1 = h1 - y1;
+
+  m01 <<= 8;
+  m3 += m32;
+  m11 = *(const uchar *) (m + 5);
+  x0 = h0 - y0;
+
+  m3 += m33;
+  m0 += m00;
+  m12 = *(const uchar *) (m + 6);
+  y5 -= alpha96;
+
+  m02 <<= 16;
+  m0 += m01;
+  m13 = *(const uchar *) (m + 7);
+  y4 -= alpha96;
+
+  m03 <<= 24;
+  m0 += m02;
+  d2 = m2;
+  x1 += y7;
+
+  m0 += m03;
+  d3 = m3;
+  x0 += y6;
+
+  m11 <<= 8;
+  m1 += m10;
+  d0 = m0;
+  x7 += y5;
+
+  m12 <<= 16;
+  m1 += m11;
+  x6 += y4;
+
+  m13 <<= 24;
+  m1 += m12;
+  y3 = h3 + alpha64;
+
+  m1 += m13;
+  d1 = m1;
+  y2 = h2 + alpha64;
+
+  x0 += x1;
+
+  x6 += x7;
+
+  y3 -= alpha64;
+  r3low = r3low_stack;
+
+  y2 -= alpha64;
+  r0low = r0low_stack;
+
+  x5 = h5 - y5;
+  r3lowx0 = r3low * x0;
+  r3high = r3high_stack;
+
+  x4 = h4 - y4;
+  r0lowx6 = r0low * x6;
+  r0high = r0high_stack;
+
+  x3 = h3 - y3;
+  r3highx0 = r3high * x0;
+  sr1low = sr1low_stack;
+
+  x2 = h2 - y2;
+  r0highx6 = r0high * x6;
+  sr1high = sr1high_stack;
+
+  x5 += y3;
+  r0lowx0 = r0low * x0;
+  r1low = r1low_stack;
+
+  h6 = r3lowx0 + r0lowx6;
+  sr1lowx6 = sr1low * x6;
+  r1high = r1high_stack;
+
+  x4 += y2;
+  r0highx0 = r0high * x0;
+  sr2low = sr2low_stack;
+
+  h7 = r3highx0 + r0highx6;
+  sr1highx6 = sr1high * x6;
+  sr2high = sr2high_stack;
+
+  x3 += y1;
+  r1lowx0 = r1low * x0;
+  r2low = r2low_stack;
+
+  h0 = r0lowx0 + sr1lowx6;
+  sr2lowx6 = sr2low * x6;
+  r2high = r2high_stack;
+
+  x2 += y0;
+  r1highx0 = r1high * x0;
+  sr3low = sr3low_stack;
+
+  h1 = r0highx0 + sr1highx6;
+  sr2highx6 = sr2high * x6;
+  sr3high = sr3high_stack;
+
+  x4 += x5;
+  r2lowx0 = r2low * x0;
+  z2 = *(double *) &d2;
+
+  h2 = r1lowx0 + sr2lowx6;
+  sr3lowx6 = sr3low * x6;
+
+  x2 += x3;
+  r2highx0 = r2high * x0;
+  z3 = *(double *) &d3;
+
+  h3 = r1highx0 + sr2highx6;
+  sr3highx6 = sr3high * x6;
+
+  r1highx4 = r1high * x4;
+  z2 -= alpha64;
+
+  h4 = r2lowx0 + sr3lowx6;
+  r1lowx4 = r1low * x4;
+
+  r0highx4 = r0high * x4;
+  z3 -= alpha96;
+
+  h5 = r2highx0 + sr3highx6;
+  r0lowx4 = r0low * x4;
+
+  h7 += r1highx4;
+  sr3highx4 = sr3high * x4;
+
+  h6 += r1lowx4;
+  sr3lowx4 = sr3low * x4;
+
+  h5 += r0highx4;
+  sr2highx4 = sr2high * x4;
+
+  h4 += r0lowx4;
+  sr2lowx4 = sr2low * x4;
+
+  h3 += sr3highx4;
+  r0lowx2 = r0low * x2;
+
+  h2 += sr3lowx4;
+  r0highx2 = r0high * x2;
+
+  h1 += sr2highx4;
+  r1lowx2 = r1low * x2;
+
+  h0 += sr2lowx4;
+  r1highx2 = r1high * x2;
+
+  h2 += r0lowx2;
+  r2lowx2 = r2low * x2;
+
+  h3 += r0highx2;
+  r2highx2 = r2high * x2;
+
+  h4 += r1lowx2;
+  sr3lowx2 = sr3low * x2;
+
+  h5 += r1highx2;
+  sr3highx2 = sr3high * x2;
+  alpha0 = *(double *) (constants + 24);
+
+  m += 16;
+  h6 += r2lowx2;
+
+  l -= 16;
+  h7 += r2highx2;
+
+  z1 = *(double *) &d1;
+  h0 += sr3lowx2;
+
+  z0 = *(double *) &d0;
+  h1 += sr3highx2;
+
+  z1 -= alpha32;
+
+  z0 -= alpha0;
+
+  h5 += z3;
+
+  h3 += z2;
+
+  h1 += z1;
+
+  h0 += z0;
+
+if (l >= 16) goto multiplyaddatleast16bytes;
+
+multiplyaddatmost15bytes:;
+
+  y7 = h7 + alpha130;
+
+  y6 = h6 + alpha130;
+
+  y1 = h1 + alpha32;
+
+  y0 = h0 + alpha32;
+
+  y7 -= alpha130;
+
+  y6 -= alpha130;
+
+  y1 -= alpha32;
+
+  y0 -= alpha32;
+
+  y5 = h5 + alpha96;
+
+  y4 = h4 + alpha96;
+
+  x7 = h7 - y7;
+  y7 *= scale;
+
+  x6 = h6 - y6;
+  y6 *= scale;
+
+  x1 = h1 - y1;
+
+  x0 = h0 - y0;
+
+  y5 -= alpha96;
+
+  y4 -= alpha96;
+
+  x1 += y7;
+
+  x0 += y6;
+
+  x7 += y5;
+
+  x6 += y4;
+
+  y3 = h3 + alpha64;
+
+  y2 = h2 + alpha64;
+
+  x0 += x1;
+
+  x6 += x7;
+
+  y3 -= alpha64;
+  r3low = r3low_stack;
+
+  y2 -= alpha64;
+  r0low = r0low_stack;
+
+  x5 = h5 - y5;
+  r3lowx0 = r3low * x0;
+  r3high = r3high_stack;
+
+  x4 = h4 - y4;
+  r0lowx6 = r0low * x6;
+  r0high = r0high_stack;
+
+  x3 = h3 - y3;
+  r3highx0 = r3high * x0;
+  sr1low = sr1low_stack;
+
+  x2 = h2 - y2;
+  r0highx6 = r0high * x6;
+  sr1high = sr1high_stack;
+
+  x5 += y3;
+  r0lowx0 = r0low * x0;
+  r1low = r1low_stack;
+
+  h6 = r3lowx0 + r0lowx6;
+  sr1lowx6 = sr1low * x6;
+  r1high = r1high_stack;
+
+  x4 += y2;
+  r0highx0 = r0high * x0;
+  sr2low = sr2low_stack;
+
+  h7 = r3highx0 + r0highx6;
+  sr1highx6 = sr1high * x6;
+  sr2high = sr2high_stack;
+
+  x3 += y1;
+  r1lowx0 = r1low * x0;
+  r2low = r2low_stack;
+
+  h0 = r0lowx0 + sr1lowx6;
+  sr2lowx6 = sr2low * x6;
+  r2high = r2high_stack;
+
+  x2 += y0;
+  r1highx0 = r1high * x0;
+  sr3low = sr3low_stack;
+
+  h1 = r0highx0 + sr1highx6;
+  sr2highx6 = sr2high * x6;
+  sr3high = sr3high_stack;
+
+  x4 += x5;
+  r2lowx0 = r2low * x0;
+
+  h2 = r1lowx0 + sr2lowx6;
+  sr3lowx6 = sr3low * x6;
+
+  x2 += x3;
+  r2highx0 = r2high * x0;
+
+  h3 = r1highx0 + sr2highx6;
+  sr3highx6 = sr3high * x6;
+
+  r1highx4 = r1high * x4;
+
+  h4 = r2lowx0 + sr3lowx6;
+  r1lowx4 = r1low * x4;
+
+  r0highx4 = r0high * x4;
+
+  h5 = r2highx0 + sr3highx6;
+  r0lowx4 = r0low * x4;
+
+  h7 += r1highx4;
+  sr3highx4 = sr3high * x4;
+
+  h6 += r1lowx4;
+  sr3lowx4 = sr3low * x4;
+
+  h5 += r0highx4;
+  sr2highx4 = sr2high * x4;
+
+  h4 += r0lowx4;
+  sr2lowx4 = sr2low * x4;
+
+  h3 += sr3highx4;
+  r0lowx2 = r0low * x2;
+
+  h2 += sr3lowx4;
+  r0highx2 = r0high * x2;
+
+  h1 += sr2highx4;
+  r1lowx2 = r1low * x2;
+
+  h0 += sr2lowx4;
+  r1highx2 = r1high * x2;
+
+  h2 += r0lowx2;
+  r2lowx2 = r2low * x2;
+
+  h3 += r0highx2;
+  r2highx2 = r2high * x2;
+
+  h4 += r1lowx2;
+  sr3lowx2 = sr3low * x2;
+
+  h5 += r1highx2;
+  sr3highx2 = sr3high * x2;
+
+  h6 += r2lowx2;
+
+  h7 += r2highx2;
+
+  h0 += sr3lowx2;
+
+  h1 += sr3highx2;
+
+addatmost15bytes:;
+
+if (l == 0) goto nomorebytes;
+
+  lbelow2 = l - 2;
+
+  lbelow3 = l - 3;
+
+  lbelow2 >>= 31;
+  lbelow4 = l - 4;
+
+  m00 = *(const uchar *) (m + 0);
+  lbelow3 >>= 31;
+  m += lbelow2;
+
+  m01 = *(const uchar *) (m + 1);
+  lbelow4 >>= 31;
+  m += lbelow3;
+
+  m02 = *(const uchar *) (m + 2);
+  m += lbelow4;
+  m0 = 2151;
+
+  m03 = *(const uchar *) (m + 3);
+  m0 <<= 51;
+  m1 = 2215;
+
+  m0 += m00;
+  m01 &= ~lbelow2;
+
+  m02 &= ~lbelow3;
+  m01 -= lbelow2;
+
+  m01 <<= 8;
+  m03 &= ~lbelow4;
+
+  m0 += m01;
+  lbelow2 -= lbelow3;
+
+  m02 += lbelow2;
+  lbelow3 -= lbelow4;
+
+  m02 <<= 16;
+  m03 += lbelow3;
+
+  m03 <<= 24;
+  m0 += m02;
+
+  m0 += m03;
+  lbelow5 = l - 5;
+
+  lbelow6 = l - 6;
+  lbelow7 = l - 7;
+
+  lbelow5 >>= 31;
+  lbelow8 = l - 8;
+
+  lbelow6 >>= 31;
+  m += lbelow5;
+
+  m10 = *(const uchar *) (m + 4);
+  lbelow7 >>= 31;
+  m += lbelow6;
+
+  m11 = *(const uchar *) (m + 5);
+  lbelow8 >>= 31;
+  m += lbelow7;
+
+  m12 = *(const uchar *) (m + 6);
+  m1 <<= 51;
+  m += lbelow8;
+
+  m13 = *(const uchar *) (m + 7);
+  m10 &= ~lbelow5;
+  lbelow4 -= lbelow5;
+
+  m10 += lbelow4;
+  lbelow5 -= lbelow6;
+
+  m11 &= ~lbelow6;
+  m11 += lbelow5;
+
+  m11 <<= 8;
+  m1 += m10;
+
+  m1 += m11;
+  m12 &= ~lbelow7;
+
+  lbelow6 -= lbelow7;
+  m13 &= ~lbelow8;
+
+  m12 += lbelow6;
+  lbelow7 -= lbelow8;
+
+  m12 <<= 16;
+  m13 += lbelow7;
+
+  m13 <<= 24;
+  m1 += m12;
+
+  m1 += m13;
+  m2 = 2279;
+
+  lbelow9 = l - 9;
+  m3 = 2343;
+
+  lbelow10 = l - 10;
+  lbelow11 = l - 11;
+
+  lbelow9 >>= 31;
+  lbelow12 = l - 12;
+
+  lbelow10 >>= 31;
+  m += lbelow9;
+
+  m20 = *(const uchar *) (m + 8);
+  lbelow11 >>= 31;
+  m += lbelow10;
+
+  m21 = *(const uchar *) (m + 9);
+  lbelow12 >>= 31;
+  m += lbelow11;
+
+  m22 = *(const uchar *) (m + 10);
+  m2 <<= 51;
+  m += lbelow12;
+
+  m23 = *(const uchar *) (m + 11);
+  m20 &= ~lbelow9;
+  lbelow8 -= lbelow9;
+
+  m20 += lbelow8;
+  lbelow9 -= lbelow10;
+
+  m21 &= ~lbelow10;
+  m21 += lbelow9;
+
+  m21 <<= 8;
+  m2 += m20;
+
+  m2 += m21;
+  m22 &= ~lbelow11;
+
+  lbelow10 -= lbelow11;
+  m23 &= ~lbelow12;
+
+  m22 += lbelow10;
+  lbelow11 -= lbelow12;
+
+  m22 <<= 16;
+  m23 += lbelow11;
+
+  m23 <<= 24;
+  m2 += m22;
+
+  m3 <<= 51;
+  lbelow13 = l - 13;
+
+  lbelow13 >>= 31;
+  lbelow14 = l - 14;
+
+  lbelow14 >>= 31;
+  m += lbelow13;
+  lbelow15 = l - 15;
+
+  m30 = *(const uchar *) (m + 12);
+  lbelow15 >>= 31;
+  m += lbelow14;
+
+  m31 = *(const uchar *) (m + 13);
+  m += lbelow15;
+  m2 += m23;
+
+  m32 = *(const uchar *) (m + 14);
+  m30 &= ~lbelow13;
+  lbelow12 -= lbelow13;
+
+  m30 += lbelow12;
+  lbelow13 -= lbelow14;
+
+  m3 += m30;
+  m31 &= ~lbelow14;
+
+  m31 += lbelow13;
+  m32 &= ~lbelow15;
+
+  m31 <<= 8;
+  lbelow14 -= lbelow15;
+
+  m3 += m31;
+  m32 += lbelow14;
+  d0 = m0;
+
+  m32 <<= 16;
+  m33 = lbelow15 + 1;
+  d1 = m1;
+
+  m33 <<= 24;
+  m3 += m32;
+  d2 = m2;
+
+  m3 += m33;
+  d3 = m3;
+
+  alpha0 = *(double *) (constants + 24);
+
+  z3 = *(double *) &d3;
+
+  z2 = *(double *) &d2;
+
+  z1 = *(double *) &d1;
+
+  z0 = *(double *) &d0;
+
+  z3 -= alpha96;
+
+  z2 -= alpha64;
+
+  z1 -= alpha32;
+
+  z0 -= alpha0;
+
+  h5 += z3;
+
+  h3 += z2;
+
+  h1 += z1;
+
+  h0 += z0;
+
+  y7 = h7 + alpha130;
+
+  y6 = h6 + alpha130;
+
+  y1 = h1 + alpha32;
+
+  y0 = h0 + alpha32;
+
+  y7 -= alpha130;
+
+  y6 -= alpha130;
+
+  y1 -= alpha32;
+
+  y0 -= alpha32;
+
+  y5 = h5 + alpha96;
+
+  y4 = h4 + alpha96;
+
+  x7 = h7 - y7;
+  y7 *= scale;
+
+  x6 = h6 - y6;
+  y6 *= scale;
+
+  x1 = h1 - y1;
+
+  x0 = h0 - y0;
+
+  y5 -= alpha96;
+
+  y4 -= alpha96;
+
+  x1 += y7;
+
+  x0 += y6;
+
+  x7 += y5;
+
+  x6 += y4;
+
+  y3 = h3 + alpha64;
+
+  y2 = h2 + alpha64;
+
+  x0 += x1;
+
+  x6 += x7;
+
+  y3 -= alpha64;
+  r3low = r3low_stack;
+
+  y2 -= alpha64;
+  r0low = r0low_stack;
+
+  x5 = h5 - y5;
+  r3lowx0 = r3low * x0;
+  r3high = r3high_stack;
+
+  x4 = h4 - y4;
+  r0lowx6 = r0low * x6;
+  r0high = r0high_stack;
+
+  x3 = h3 - y3;
+  r3highx0 = r3high * x0;
+  sr1low = sr1low_stack;
+
+  x2 = h2 - y2;
+  r0highx6 = r0high * x6;
+  sr1high = sr1high_stack;
+
+  x5 += y3;
+  r0lowx0 = r0low * x0;
+  r1low = r1low_stack;
+
+  h6 = r3lowx0 + r0lowx6;
+  sr1lowx6 = sr1low * x6;
+  r1high = r1high_stack;
+
+  x4 += y2;
+  r0highx0 = r0high * x0;
+  sr2low = sr2low_stack;
+
+  h7 = r3highx0 + r0highx6;
+  sr1highx6 = sr1high * x6;
+  sr2high = sr2high_stack;
+
+  x3 += y1;
+  r1lowx0 = r1low * x0;
+  r2low = r2low_stack;
+
+  h0 = r0lowx0 + sr1lowx6;
+  sr2lowx6 = sr2low * x6;
+  r2high = r2high_stack;
+
+  x2 += y0;
+  r1highx0 = r1high * x0;
+  sr3low = sr3low_stack;
+
+  h1 = r0highx0 + sr1highx6;
+  sr2highx6 = sr2high * x6;
+  sr3high = sr3high_stack;
+
+  x4 += x5;
+  r2lowx0 = r2low * x0;
+
+  h2 = r1lowx0 + sr2lowx6;
+  sr3lowx6 = sr3low * x6;
+
+  x2 += x3;
+  r2highx0 = r2high * x0;
+
+  h3 = r1highx0 + sr2highx6;
+  sr3highx6 = sr3high * x6;
+
+  r1highx4 = r1high * x4;
+
+  h4 = r2lowx0 + sr3lowx6;
+  r1lowx4 = r1low * x4;
+
+  r0highx4 = r0high * x4;
+
+  h5 = r2highx0 + sr3highx6;
+  r0lowx4 = r0low * x4;
+
+  h7 += r1highx4;
+  sr3highx4 = sr3high * x4;
+
+  h6 += r1lowx4;
+  sr3lowx4 = sr3low * x4;
+
+  h5 += r0highx4;
+  sr2highx4 = sr2high * x4;
+
+  h4 += r0lowx4;
+  sr2lowx4 = sr2low * x4;
+
+  h3 += sr3highx4;
+  r0lowx2 = r0low * x2;
+
+  h2 += sr3lowx4;
+  r0highx2 = r0high * x2;
+
+  h1 += sr2highx4;
+  r1lowx2 = r1low * x2;
+
+  h0 += sr2lowx4;
+  r1highx2 = r1high * x2;
+
+  h2 += r0lowx2;
+  r2lowx2 = r2low * x2;
+
+  h3 += r0highx2;
+  r2highx2 = r2high * x2;
+
+  h4 += r1lowx2;
+  sr3lowx2 = sr3low * x2;
+
+  h5 += r1highx2;
+  sr3highx2 = sr3high * x2;
+
+  h6 += r2lowx2;
+
+  h7 += r2highx2;
+
+  h0 += sr3lowx2;
+
+  h1 += sr3highx2;
+
+
+nomorebytes:;
+
+  offset0 = *(double *) (constants + 104);
+  y7 = h7 + alpha130;
+
+  offset1 = *(double *) (constants + 112);
+  y0 = h0 + alpha32;
+
+  offset2 = *(double *) (constants + 120);
+  y1 = h1 + alpha32;
+
+  offset3 = *(double *) (constants + 128);
+  y2 = h2 + alpha64;
+
+  y7 -= alpha130;
+
+  y3 = h3 + alpha64;
+
+  y4 = h4 + alpha96;
+
+  y5 = h5 + alpha96;
+
+  x7 = h7 - y7;
+  y7 *= scale;
+
+  y0 -= alpha32;
+
+  y1 -= alpha32;
+
+  y2 -= alpha64;
+
+  h6 += x7;
+
+  y3 -= alpha64;
+
+  y4 -= alpha96;
+
+  y5 -= alpha96;
+
+  y6 = h6 + alpha130;
+
+  x0 = h0 - y0;
+
+  x1 = h1 - y1;
+
+  x2 = h2 - y2;
+
+  y6 -= alpha130;
+
+  x0 += y7;
+
+  x3 = h3 - y3;
+
+  x4 = h4 - y4;
+
+  x5 = h5 - y5;
+
+  x6 = h6 - y6;
+
+  y6 *= scale;
+
+  x2 += y0;
+
+  x3 += y1;
+
+  x4 += y2;
+
+  x0 += y6;
+
+  x5 += y3;
+
+  x6 += y4;
+
+  x2 += x3;
+
+  x0 += x1;
+
+  x4 += x5;
+
+  x6 += y5;
+
+  x2 += offset1;
+  *(double *) &d1 = x2;
+
+  x0 += offset0;
+  *(double *) &d0 = x0;
+
+  x4 += offset2;
+  *(double *) &d2 = x4;
+
+  x6 += offset3;
+  *(double *) &d3 = x6;
+
+
+
+
+  f0 = d0;
+
+  f1 = d1;
+  bits32 = -1;
+
+  f2 = d2;
+  bits32 >>= 32;
+
+  f3 = d3;
+  f = f0 >> 32;
+
+  f0 &= bits32;
+  f &= 255;
+
+  f1 += f;
+  g0 = f0 + 5;
+
+  g = g0 >> 32;
+  g0 &= bits32;
+
+  f = f1 >> 32;
+  f1 &= bits32;
+
+  f &= 255;
+  g1 = f1 + g;
+
+  g = g1 >> 32;
+  f2 += f;
+
+  f = f2 >> 32;
+  g1 &= bits32;
+
+  f2 &= bits32;
+  f &= 255;
+
+  f3 += f;
+  g2 = f2 + g;
+
+  g = g2 >> 32;
+  g2 &= bits32;
+
+  f4 = f3 >> 32;
+  f3 &= bits32;
+
+  f4 &= 255;
+  g3 = f3 + g;
+
+  g = g3 >> 32;
+  g3 &= bits32;
+
+  g4 = f4 + g;
+
+  g4 = g4 - 4;
+  s00 = *(const uchar *) (s + 0);
+
+  f = (int64) g4 >> 63;
+  s01 = *(const uchar *) (s + 1);
+
+  f0 &= f;
+  g0 &= ~f;
+  s02 = *(const uchar *) (s + 2);
+
+  f1 &= f;
+  f0 |= g0;
+  s03 = *(const uchar *) (s + 3);
+
+  g1 &= ~f;
+  f2 &= f;
+  s10 = *(const uchar *) (s + 4);
+
+  f3 &= f;
+  g2 &= ~f;
+  s11 = *(const uchar *) (s + 5);
+
+  g3 &= ~f;
+  f1 |= g1;
+  s12 = *(const uchar *) (s + 6);
+
+  f2 |= g2;
+  f3 |= g3;
+  s13 = *(const uchar *) (s + 7);
+
+  s01 <<= 8;
+  f0 += s00;
+  s20 = *(const uchar *) (s + 8);
+
+  s02 <<= 16;
+  f0 += s01;
+  s21 = *(const uchar *) (s + 9);
+
+  s03 <<= 24;
+  f0 += s02;
+  s22 = *(const uchar *) (s + 10);
+
+  s11 <<= 8;
+  f1 += s10;
+  s23 = *(const uchar *) (s + 11);
+
+  s12 <<= 16;
+  f1 += s11;
+  s30 = *(const uchar *) (s + 12);
+
+  s13 <<= 24;
+  f1 += s12;
+  s31 = *(const uchar *) (s + 13);
+
+  f0 += s03;
+  f1 += s13;
+  s32 = *(const uchar *) (s + 14);
+
+  s21 <<= 8;
+  f2 += s20;
+  s33 = *(const uchar *) (s + 15);
+
+  s22 <<= 16;
+  f2 += s21;
+
+  s23 <<= 24;
+  f2 += s22;
+
+  s31 <<= 8;
+  f3 += s30;
+
+  s32 <<= 16;
+  f3 += s31;
+
+  s33 <<= 24;
+  f3 += s32;
+
+  f2 += s23;
+  f3 += s33;
+
+  *(uchar *) (out + 0) = f0;
+  f0 >>= 8;
+  *(uchar *) (out + 1) = f0;
+  f0 >>= 8;
+  *(uchar *) (out + 2) = f0;
+  f0 >>= 8;
+  *(uchar *) (out + 3) = f0;
+  f0 >>= 8;
+  f1 += f0;
+
+  *(uchar *) (out + 4) = f1;
+  f1 >>= 8;
+  *(uchar *) (out + 5) = f1;
+  f1 >>= 8;
+  *(uchar *) (out + 6) = f1;
+  f1 >>= 8;
+  *(uchar *) (out + 7) = f1;
+  f1 >>= 8;
+  f2 += f1;
+
+  *(uchar *) (out + 8) = f2;
+  f2 >>= 8;
+  *(uchar *) (out + 9) = f2;
+  f2 >>= 8;
+  *(uchar *) (out + 10) = f2;
+  f2 >>= 8;
+  *(uchar *) (out + 11) = f2;
+  f2 >>= 8;
+  f3 += f2;
+
+  *(uchar *) (out + 12) = f3;
+  f3 >>= 8;
+  *(uchar *) (out + 13) = f3;
+  f3 >>= 8;
+  *(uchar *) (out + 14) = f3;
+  f3 >>= 8;
+  *(uchar *) (out + 15) = f3;
+
+#ifdef HAVE_FENV_H
+  if (previous_rounding_mode != FE_TONEAREST &&
+      fesetround(previous_rounding_mode) != 0) {
+      abort();
+  }
+#endif
+
+  return 0;
+}
+
+const char *
+crypto_onetimeauth_poly1305_implementation_name(void)
+{
+    return "53";
+}
+
+struct crypto_onetimeauth_poly1305_implementation
+crypto_onetimeauth_poly1305_53_implementation = {
+    _SODIUM_C99(.implementation_name =) crypto_onetimeauth_poly1305_implementation_name,
+    _SODIUM_C99(.onetimeauth =) crypto_onetimeauth,
+    _SODIUM_C99(.onetimeauth_verify =) crypto_onetimeauth_verify
+};
diff --git a/src/libsodium/src/libsodium/crypto_onetimeauth/poly1305/53/verify_poly1305_53.c b/src/libsodium/src/libsodium/crypto_onetimeauth/poly1305/53/verify_poly1305_53.c
new file mode 100644
index 00000000..fba6ab62
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_onetimeauth/poly1305/53/verify_poly1305_53.c
@@ -0,0 +1,10 @@
+#include "api.h"
+#include "crypto_onetimeauth_poly1305_53.h"
+#include "crypto_verify_16.h"
+
+int crypto_onetimeauth_verify(const unsigned char *h,const unsigned char *in,unsigned long long inlen,const unsigned char *k)
+{
+  unsigned char correct[16];
+  crypto_onetimeauth(correct,in,inlen,k);
+  return crypto_verify_16(h,correct);
+}
diff --git a/src/libsodium/src/libsodium/crypto_onetimeauth/poly1305/donna/api.h b/src/libsodium/src/libsodium/crypto_onetimeauth/poly1305/donna/api.h
new file mode 100644
index 00000000..43abd4a4
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_onetimeauth/poly1305/donna/api.h
@@ -0,0 +1,8 @@
+
+#include "crypto_onetimeauth_poly1305.h"
+
+#define crypto_onetimeauth_poly1305_implementation_name \
+    crypto_onetimeauth_poly1305_donna_implementation_name
+
+#define crypto_onetimeauth crypto_onetimeauth_poly1305_donna
+#define crypto_onetimeauth_verify crypto_onetimeauth_poly1305_donna_verify
diff --git a/src/libsodium/src/libsodium/crypto_onetimeauth/poly1305/donna/auth_poly1305_donna.c b/src/libsodium/src/libsodium/crypto_onetimeauth/poly1305/donna/auth_poly1305_donna.c
new file mode 100644
index 00000000..eaea9786
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_onetimeauth/poly1305/donna/auth_poly1305_donna.c
@@ -0,0 +1,151 @@
+
+#include "api.h"
+#include "crypto_onetimeauth_poly1305_donna.h"
+#include "utils.h"
+
+#include "portable-jane.h"
+
+int
+crypto_onetimeauth(unsigned char *out, const unsigned char *m,
+                   unsigned long long inlen, const unsigned char *key)
+{
+	uint32_t t0,t1,t2,t3;
+	uint32_t h0,h1,h2,h3,h4;
+	uint32_t r0,r1,r2,r3,r4;
+	uint32_t s1,s2,s3,s4;
+	uint32_t b, nb;
+	unsigned long long j;
+	uint64_t t[5];
+	uint64_t f0,f1,f2,f3;
+	uint32_t g0,g1,g2,g3,g4;
+	uint64_t c;
+	unsigned char mp[16];
+
+	/* clamp key */
+	t0 = U8TO32_LE(key+0);
+	t1 = U8TO32_LE(key+4);
+	t2 = U8TO32_LE(key+8);
+	t3 = U8TO32_LE(key+12);
+
+	/* precompute multipliers */
+	r0 = t0 & 0x3ffffff; t0 >>= 26; t0 |= t1 << 6;
+	r1 = t0 & 0x3ffff03; t1 >>= 20; t1 |= t2 << 12;
+	r2 = t1 & 0x3ffc0ff; t2 >>= 14; t2 |= t3 << 18;
+	r3 = t2 & 0x3f03fff; t3 >>= 8;
+	r4 = t3 & 0x00fffff;
+
+	s1 = r1 * 5;
+	s2 = r2 * 5;
+	s3 = r3 * 5;
+	s4 = r4 * 5;
+
+	/* init state */
+	h0 = 0;
+	h1 = 0;
+	h2 = 0;
+	h3 = 0;
+	h4 = 0;
+
+	/* full blocks */
+	if (inlen < 16) goto poly1305_donna_atmost15bytes;
+poly1305_donna_16bytes:
+	m += 16;
+	inlen -= 16;
+
+	t0 = U8TO32_LE(m-16);
+	t1 = U8TO32_LE(m-12);
+	t2 = U8TO32_LE(m-8);
+	t3 = U8TO32_LE(m-4);
+
+	h0 += t0 & 0x3ffffff;
+	h1 += ((((uint64_t)t1 << 32) | t0) >> 26) & 0x3ffffff;
+	h2 += ((((uint64_t)t2 << 32) | t1) >> 20) & 0x3ffffff;
+	h3 += ((((uint64_t)t3 << 32) | t2) >> 14) & 0x3ffffff;
+	h4 += (t3 >> 8) | (1 << 24);
+
+
+poly1305_donna_mul:
+	t[0]  = mul32x32_64(h0,r0) + mul32x32_64(h1,s4) + mul32x32_64(h2,s3) + mul32x32_64(h3,s2) + mul32x32_64(h4,s1);
+	t[1]  = mul32x32_64(h0,r1) + mul32x32_64(h1,r0) + mul32x32_64(h2,s4) + mul32x32_64(h3,s3) + mul32x32_64(h4,s2);
+	t[2]  = mul32x32_64(h0,r2) + mul32x32_64(h1,r1) + mul32x32_64(h2,r0) + mul32x32_64(h3,s4) + mul32x32_64(h4,s3);
+	t[3]  = mul32x32_64(h0,r3) + mul32x32_64(h1,r2) + mul32x32_64(h2,r1) + mul32x32_64(h3,r0) + mul32x32_64(h4,s4);
+	t[4]  = mul32x32_64(h0,r4) + mul32x32_64(h1,r3) + mul32x32_64(h2,r2) + mul32x32_64(h3,r1) + mul32x32_64(h4,r0);
+
+	                h0 = (uint32_t)t[0] & 0x3ffffff; c =           (t[0] >> 26);
+	t[1] += c;      h1 = (uint32_t)t[1] & 0x3ffffff; b = (uint32_t)(t[1] >> 26);
+	t[2] += b;      h2 = (uint32_t)t[2] & 0x3ffffff; b = (uint32_t)(t[2] >> 26);
+	t[3] += b;      h3 = (uint32_t)t[3] & 0x3ffffff; b = (uint32_t)(t[3] >> 26);
+	t[4] += b;      h4 = (uint32_t)t[4] & 0x3ffffff; b = (uint32_t)(t[4] >> 26);
+	h0 += b * 5;
+
+	if (inlen >= 16) goto poly1305_donna_16bytes;
+
+	/* final bytes */
+poly1305_donna_atmost15bytes:
+	if (!inlen) goto poly1305_donna_finish;
+
+	for (j = 0; j < inlen; j++) mp[j] = m[j];
+	mp[j++] = 1;
+	for (; j < 16; j++)	mp[j] = 0;
+	inlen = 0;
+
+	t0 = U8TO32_LE(mp+0);
+	t1 = U8TO32_LE(mp+4);
+	t2 = U8TO32_LE(mp+8);
+	t3 = U8TO32_LE(mp+12);
+
+	h0 += t0 & 0x3ffffff;
+	h1 += ((((uint64_t)t1 << 32) | t0) >> 26) & 0x3ffffff;
+	h2 += ((((uint64_t)t2 << 32) | t1) >> 20) & 0x3ffffff;
+	h3 += ((((uint64_t)t3 << 32) | t2) >> 14) & 0x3ffffff;
+	h4 += (t3 >> 8);
+
+	goto poly1305_donna_mul;
+
+poly1305_donna_finish:
+	             b = h0 >> 26; h0 = h0 & 0x3ffffff;
+	h1 +=     b; b = h1 >> 26; h1 = h1 & 0x3ffffff;
+	h2 +=     b; b = h2 >> 26; h2 = h2 & 0x3ffffff;
+	h3 +=     b; b = h3 >> 26; h3 = h3 & 0x3ffffff;
+	h4 +=     b; b = h4 >> 26; h4 = h4 & 0x3ffffff;
+	h0 += b * 5;
+
+	g0 = h0 + 5; b = g0 >> 26; g0 &= 0x3ffffff;
+	g1 = h1 + b; b = g1 >> 26; g1 &= 0x3ffffff;
+	g2 = h2 + b; b = g2 >> 26; g2 &= 0x3ffffff;
+	g3 = h3 + b; b = g3 >> 26; g3 &= 0x3ffffff;
+	g4 = h4 + b - (1 << 26);
+
+	b = (g4 >> 31) - 1;
+	nb = ~b;
+	h0 = (h0 & nb) | (g0 & b);
+	h1 = (h1 & nb) | (g1 & b);
+	h2 = (h2 & nb) | (g2 & b);
+	h3 = (h3 & nb) | (g3 & b);
+	h4 = (h4 & nb) | (g4 & b);
+
+	f0 = ((h0      ) | (h1 << 26)) + (uint64_t)U8TO32_LE(&key[16]);
+	f1 = ((h1 >>  6) | (h2 << 20)) + (uint64_t)U8TO32_LE(&key[20]);
+	f2 = ((h2 >> 12) | (h3 << 14)) + (uint64_t)U8TO32_LE(&key[24]);
+	f3 = ((h3 >> 18) | (h4 <<  8)) + (uint64_t)U8TO32_LE(&key[28]);
+
+	U32TO8_LE(&out[ 0], f0); f1 += (f0 >> 32);
+	U32TO8_LE(&out[ 4], f1); f2 += (f1 >> 32);
+	U32TO8_LE(&out[ 8], f2); f3 += (f2 >> 32);
+	U32TO8_LE(&out[12], f3);
+
+    return 0;
+}
+
+const char *
+crypto_onetimeauth_poly1305_implementation_name(void)
+{
+    return "donna";
+}
+
+struct crypto_onetimeauth_poly1305_implementation
+crypto_onetimeauth_poly1305_donna_implementation = {
+    _SODIUM_C99(.implementation_name =) crypto_onetimeauth_poly1305_implementation_name,
+    _SODIUM_C99(.onetimeauth =) crypto_onetimeauth,
+    _SODIUM_C99(.onetimeauth_verify =) crypto_onetimeauth_verify
+};
diff --git a/src/libsodium/src/libsodium/crypto_onetimeauth/poly1305/donna/portable-jane.h b/src/libsodium/src/libsodium/crypto_onetimeauth/poly1305/donna/portable-jane.h
new file mode 100644
index 00000000..4d1f93a7
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_onetimeauth/poly1305/donna/portable-jane.h
@@ -0,0 +1,782 @@
+#ifndef PORTABLE_JANE_H
+#define PORTABLE_JANE_H "+endian +uint128"
+/* 0000-os-100-solaris.h */
+
+#if defined(sun) || defined(__sun) || defined(__SVR4) || defined(__svr4__)
+	#include <sys/mman.h>
+	#include <sys/time.h>
+	#include <fcntl.h>
+
+	#define OS_SOLARIS
+#endif
+
+/* 0000-os-100-unix.h */
+
+#if defined(__unix__) || defined(unix)
+	#include <sys/mman.h>
+	#include <sys/time.h>
+	#if !defined(USG)
+		#include <sys/param.h> /* need this to define BSD */
+	#endif
+	#include <unistd.h>
+	#include <fcntl.h>
+
+	#define OS_NIX
+	#if defined(__linux__)
+		#include <endian.h>
+		#define OS_LINUX
+	#elif defined(BSD)
+		#define OS_BSD
+
+		#if defined(MACOS_X) || (defined(__APPLE__) & defined(__MACH__))
+			#define OS_OSX
+		#elif defined(macintosh) || defined(Macintosh)
+			#define OS_MAC
+		#elif defined(__OpenBSD__)
+			#define OS_OPENBSD
+		#elif defined(__FreeBSD__)
+			#define OS_FREEBSD
+		#elif defined(__NetBSD__)
+			#define OS_NETBSD
+		#endif
+	#endif
+#endif
+
+/* 0000-os-100-windows.h */
+
+#if defined(_WIN32)	|| defined(_WIN64) || defined(__TOS_WIN__) || defined(__WINDOWS__)
+	#include <windows.h>
+	#include <wincrypt.h>
+	#define OS_WINDOWS
+#endif
+
+/* 0100-compiler-000.h */
+
+#undef NOINLINE
+#undef INLINE
+#undef FASTCALL
+#undef CDECL
+#undef STDCALL
+#undef NAKED
+
+/* 0100-compiler-100-clang.h */
+
+#if defined(__clang__)
+	#define COMPILER_CLANG ((__clang_major__ * 10000) + (__clang_minor__ * 100) + (__clang_patchlevel__))
+#endif
+
+/* 0100-compiler-100-gcc.h */
+
+#if defined(__GNUC__)
+	#if (__GNUC__ >= 3)
+		#define COMPILER_GCC_PATCHLEVEL __GNUC_PATCHLEVEL__
+	#else
+		#define COMPILER_GCC_PATCHLEVEL 0
+	#endif
+	#define COMPILER_GCC ((__GNUC__ * 10000) + (__GNUC_MINOR__ * 100) + (COMPILER_GCC_PATCHLEVEL))
+
+	#include <stdint.h>
+
+	typedef unsigned int fpu_control_t;
+
+	#define ROTL32(a,b) (((a) << (b)) | ((a) >> (32 - b)))
+	#define ROTR32(a,b) (((a) >> (b)) | ((a) << (32 - b)))
+	#define ROTL64(a,b) (((a) << (b)) | ((a) >> (64 - b)))
+	#define ROTR64(a,b) (((a) >> (b)) | ((a) << (64 - b)))
+
+	#if (COMPILER_GCC >= 30000)
+		#define NOINLINE __attribute__((noinline))
+	#else
+		#define NOINLINE
+	#endif
+	#if (COMPILER_GCC >= 30000)
+		#define INLINE inline __attribute__((always_inline))
+	#else
+		#define INLINE inline
+	#endif
+	#if (COMPILER_GCC >= 30400)
+		#define FASTCALL __attribute__((fastcall))
+	#else
+		#define FASTCALL
+	#endif
+	#define CDECL __attribute__((cdecl))
+	#define STDCALL __attribute__((stdcall))
+
+	#define mul32x32_64(a,b) ((uint64_t)(a) * (b))
+	#define mul32x32_64s(a,b) (((int64_t)(a))*(b))
+#endif
+
+/* 0100-compiler-100-icc.h */
+
+#if defined(__ICC)
+	#define COMPILER_ICC __ICC
+#endif
+
+/* 0100-compiler-100-mingw.h */
+
+#if defined(__MINGW32__) || defined(__MINGW64__)
+	#define COMPILER_MINGW
+#endif
+
+/* 0100-compiler-100-msvc.h */
+
+#if defined(_MSC_VER)
+	#define _CRT_SECURE_NO_WARNINGS	
+
+	#pragma warning(disable : 4127) /* conditional expression is constant */
+	#pragma warning(disable : 4100) /* unreferenced formal parameter */
+
+	#include <float.h>
+	#include <stdlib.h> /* _rotl */
+	#include <intrin.h>
+
+	#define COMPILER_MSVC_VS6       120000000
+	#define COMPILER_MSVC_VS6PP     121000000
+	#define COMPILER_MSVC_VS2002    130000000
+	#define COMPILER_MSVC_VS2003    131000000
+	#define COMPILER_MSVC_VS2005    140050727
+	#define COMPILER_MSVC_VS2008    150000000
+	#define COMPILER_MSVC_VS2008SP1 150030729
+	#define COMPILER_MSVC_VS2010    160000000
+	#define COMPILER_MSVC_VS2010SP1 160040219
+	#define COMPILER_MSVC_VS2012RC  170000000
+	#define COMPILER_MSVC_VS2012    170050727
+
+	#if _MSC_FULL_VER > 100000000
+		#define COMPILER_MSVC (_MSC_FULL_VER)
+	#else
+		#define COMPILER_MSVC (_MSC_FULL_VER * 10)
+	#endif
+
+	#if ((_MSC_VER == 1200) && defined(_mm_free))
+		#undef COMPILER_MSVC
+		#define COMPILER_MSVC COMPILER_MSVC_VS6PP
+	#endif
+
+	typedef unsigned char uint8_t;
+	typedef unsigned short uint16_t;
+	typedef unsigned int uint32_t;
+	typedef signed int int32_t;
+	typedef unsigned __int64 uint64_t;
+	typedef signed __int64 int64_t;
+
+	typedef uint16_t fpu_control_t;
+
+	#define ROTL32(a,b) _rotl(a,b)
+	#define ROTR32(a,b) _rotr(a,b)
+	#define ROTL64(a,b) _rotl64(a,b)
+	#define ROTR64(a,b) _rotr64(a,b)
+
+	#define NOINLINE __declspec(noinline)
+	#define INLINE __forceinline
+	#define FASTCALL __fastcall
+	#define CDECL __cdecl
+	#define STDCALL __stdcall
+	#define NAKED __declspec(naked)
+
+	#if defined(_DEBUG)
+		#define mul32x32_64(a,b) (((uint64_t)(a))*(b))
+		#define mul32x32_64s(a,b) (((int64_t)(a))*(b))
+	#else
+		#define mul32x32_64(a,b) __emulu(a,b)
+		#define mul32x32_64s(a,b) __emul(a,b)
+	#endif
+#endif
+/* 0100-compiler-999.h */
+
+#define OPTIONAL_INLINE /* config */
+#if defined(OPTIONAL_INLINE)
+	#undef OPTIONAL_INLINE
+	#define OPTIONAL_INLINE INLINE
+#else
+	#define OPTIONAL_INLINE
+#endif
+
+#define Preprocessor_ToString(s) #s
+#define Stringify(s) Preprocessor_ToString(s)
+
+#include <stdio.h>
+#include <string.h>
+
+/* 0200-cpu-100-alpha.h */
+
+#if defined(__alpha__) || defined(__alpha) || defined(_M_ALPHA)
+	#define CPU_ALPHA
+#endif
+
+/* 0200-cpu-100-hppa.h */
+
+#if defined(__hppa__) || defined(__hppa)
+	#define CPU_HPPA
+#endif
+
+/* 0200-cpu-100-intel.h */
+
+#if defined(__amd64__) || defined(__amd64) || defined(__x86_64__ ) || defined(_M_X64)
+	#define CPU_X86_64
+#elif defined(__i586__) || defined(__i686__) || (defined(_M_IX86) && (_M_IX86 >= 500))
+	#define CPU_X86 500
+#elif defined(__i486__) || (defined(_M_IX86) && (_M_IX86 >= 400))
+	#define CPU_X86 400
+#elif defined(__i386__) || (defined(_M_IX86) && (_M_IX86 >= 300)) || defined(__X86__) || defined(_X86_) || defined(__I86__)
+	#define CPU_X86 300
+#elif defined(__ia64__) || defined(_IA64) || defined(__IA64__) || defined(_M_IA64) || defined(__ia64)
+	#define CPU_IA64
+#endif
+
+/* 0200-cpu-100-ppc.h */
+
+#if defined(powerpc) || defined(__PPC__) || defined(__ppc__) || defined(_ARCH_PPC) || defined(__powerpc__) || defined(__powerpc) || defined(POWERPC) || defined(_M_PPC)
+	#define CPU_PPC
+	#if defined(_ARCH_PWR7)
+		#define CPU_POWER7
+	#elif defined(__64BIT__)
+		#define CPU_PPC64
+	#else
+		#define CPU_PPC32
+	#endif
+#endif
+
+/* 0200-cpu-100-sparc.h */
+
+#if defined(__sparc__) || defined(__sparc) || defined(__sparcv9)
+	#define CPU_SPARC
+	#if defined(__sparcv9)
+		#define CPU_SPARC64
+	#else
+		#define CPU_SPARC32
+	#endif
+#endif
+
+/* 0200-cpu-200-bits.h */
+
+#if defined(CPU_X86_64) || defined(CPU_IA64) || defined(CPU_SPARC64) || defined(__64BIT__) || defined(__LP64__) || defined(_LP64) || (defined(_MIPS_SZLONG) && (_MIPS_SZLONG == 64))
+	#define CPU_64BITS
+
+	#undef FASTCALL
+	#undef CDECL
+	#undef STDCALL
+
+	#define FASTCALL
+	#define CDECL
+	#define STDCALL
+#endif
+
+/* 0200-cpu-200-endian.h */
+
+#if ((defined(__BYTE_ORDER) && defined(__LITTLE_ENDIAN) && (__BYTE_ORDER == __LITTLE_ENDIAN)) || \
+	 (defined(BYTE_ORDER) && defined(LITTLE_ENDIAN) && (BYTE_ORDER == LITTLE_ENDIAN)) || \
+	 (defined(CPU_X86) || defined(CPU_X86_64)) || \
+	 (defined(vax) || defined(MIPSEL) || defined(_MIPSEL)))
+#define CPU_LE
+#elif ((defined(__BYTE_ORDER) && defined(__BIG_ENDIAN) && (__BYTE_ORDER == __BIG_ENDIAN)) || \
+	   (defined(BYTE_ORDER) && defined(BIG_ENDIAN) && (BYTE_ORDER == BIG_ENDIAN)) || \
+	   (defined(CPU_SPARC) || defined(CPU_PPC) || defined(mc68000) || defined(sel)) || defined(_MIPSEB))
+#define CPU_BE
+#else
+	/* unknown endian! */
+#endif
+
+#if defined(__s390__) || defined(__zarch__) || defined(__SYSC_ZARCH__)
+# define CPU_Z390
+#endif
+
+/* 0400-endian-100-be.h */
+
+#if defined(CPU_BE) && !defined(CPU_ALIGNED_ACCESS_REQUIRED)
+	static INLINE uint16_t fU8TO16_BE_FAST(const uint8_t *p) { return *(const uint16_t *)p; }
+	static INLINE uint32_t fU8TO32_BE_FAST(const uint8_t *p) { return *(const uint32_t *)p; }
+	static INLINE uint64_t fU8TO64_BE_FAST(const uint8_t *p) {	return *(const uint64_t *)p; }
+	static INLINE void fU16TO8_BE_FAST(uint8_t *p, const uint16_t v) { *(uint16_t *)p = v; }
+	static INLINE void fU32TO8_BE_FAST(uint8_t *p, const uint32_t v) { *(uint32_t *)p = v; }
+	static INLINE void fU64TO8_BE_FAST(uint8_t *p, const uint64_t v) { *(uint64_t *)p = v; }
+
+	#define U8TO16_BE(p) fU8TO16_BE_FAST(p)
+	#define U8TO32_BE(p) fU8TO32_BE_FAST(p)
+	#define U8TO64_BE(p) fU8TO64_BE_FAST(p)
+	#define U16TO8_BE(p, v) fU16TO8_BE_FAST(p, v)
+	#define U32TO8_BE(p, v) fU32TO8_BE_FAST(p, v)
+	#define U64TO8_BE(p, v) fU64TO8_BE_FAST(p, v)
+#endif
+
+/* 0400-endian-100-le.h */
+
+#if defined(CPU_LE) && !defined(CPU_ALIGNED_ACCESS_REQUIRED)
+	static INLINE uint16_t fU8TO16_LE_FAST(const uint8_t *p) { return *(const uint16_t *)p; }
+	static INLINE uint32_t fU8TO32_LE_FAST(const uint8_t *p) { return *(const uint32_t *)p; }
+	static INLINE uint64_t fU8TO64_LE_FAST(const uint8_t *p) {	return *(const uint64_t *)p; }
+	static INLINE void fU16TO8_LE_FAST(uint8_t *p, const uint16_t v) { *(uint16_t *)p = v; }
+	static INLINE void fU32TO8_LE_FAST(uint8_t *p, const uint32_t v) { *(uint32_t *)p = v; }
+	static INLINE void fU64TO8_LE_FAST(uint8_t *p, const uint64_t v) { *(uint64_t *)p = v; }
+
+	#define U8TO16_LE(p) fU8TO16_LE_FAST(p)
+	#define U8TO32_LE(p) fU8TO32_LE_FAST(p)
+	#define U8TO64_LE(p) fU8TO64_LE_FAST(p)
+	#define U16TO8_LE(p, v) fU16TO8_LE_FAST(p, v)
+	#define U32TO8_LE(p, v) fU32TO8_LE_FAST(p, v)
+	#define U64TO8_LE(p, v) fU64TO8_LE_FAST(p, v)
+#endif
+
+/* 0400-endian-100-ppc.h */
+
+#if defined(CPU_PPC)
+	#if defined(CPU_POWER7)
+		static INLINE uint64_t fU8TO64_LE_FAST(const uint8_t *p) {
+			uint64_d d;
+			__asm__ ("ldbrx %0,0,%1" : "=r"(d) : "r"(p))
+			return d;
+		}
+
+		static INLINE void
+		fU64TO8_LE_FAST(uint8_t *p, const uint64_t v) {
+			__asm__ ("stdbrx %1,0,%0" : : "r"(p), "r"(v))
+		}
+	#elif defined(CPU_PPC64)
+		static INLINE uint64_t
+		fU8TO64_LE_FAST(const uint8_t *p) {
+			uint64_t *s4, h, d;
+			__asm__ ("addi %0,%3,4;lwbrx %1,0,%3;lwbrx %2,0,%0;rldimi %1,%2,32,0" : "+r"(s4), "=r"(d), "=r"(h) : "b"(p));
+			return d;
+		}
+
+		static INLINE void
+		fU64TO8_LE_FAST(uint8_t *p, const uint64_t v) {
+			uint64_t *s4, h = v >> 32;
+			__asm__ ("addi %0,%3,4;stwbrx %1,0,%3;stwbrx %2,0,%0" : "+r"(s4) : "r"(v), "r"(h), "b"(p));
+		}
+	#elif defined(CPU_PPC32)
+		static INLINE uint64_t
+		fU8TO64_LE_FAST(const uint8_t *p) {
+			uint32_t *s4, h, l;
+			__asm__ ("addi %0,%3,4;lwbrx %1,0,%3;lwbrx %2,0,%0" : "+r"(s4), "=r"(l), "=r"(h) : "b"(p));\
+			return ((uint64_t)h << 32) | l;
+		}
+
+		static INLINE void
+		fU64TO8_LE_FAST(uint8_t *p, const uint64_t v) {
+			uint32_t *s4, h = (uint32_t)(v >> 32), l = (uint32_t)(v & (uint32_t)0xffffffff);
+			__asm__ ("addi %0,%3,4;stwbrx %1,0,%3;stwbrx %2,0,%0" : "+r"(s4) : "r"(l), "r"(h), "b"(p));
+		}
+	#endif
+
+	static INLINE uint32_t
+	fU8TO32_LE_FAST(const uint8_t *p) {
+		uint32_t d;
+		__asm__ ("lwbrx %0,0,%1" : "=r"(d) : "r"(p));
+		return d;
+	}
+
+	static INLINE void
+	fU32TO8_LE_FAST(uint8_t *p, const uint32_t v) {
+		__asm__ __volatile__("stwbrx %1,0,%0" : : "r"(p), "r"(v));
+	}
+
+	#define U8TO32_LE(p) fU8TO32_LE_FAST(p)
+	#define U8TO64_LE(p) fU8TO64_LE_FAST(p)
+	#define U32TO8_LE(p, v) fU32TO8_LE_FAST(p, v)
+	#define U64TO8_LE(p, v) fU64TO8_LE_FAST(p, v)
+#endif
+
+/* 0400-endian-100-sparc.h */
+
+#if defined(CPU_SPARC)
+	#if defined(CPU_SPARC64)
+		static INLINE uint64_t
+		fU8TO64_LE_FAST(const uint8_t *p) {
+			uint64_d d;
+			__asm__ ("ldxa [%1]0x88,%0" : "=r"(d) : "r"(p));
+			return d;
+		}
+
+		static INLINE void
+		fU64TO8_LE_FAST(uint8_t *p, const uint64_t v) {
+			__asm__ ("stxa %0,[%1]0x88" : : "r"(v), "r"(p));
+		}
+	#else
+		static INLINE uint64_t
+		fU8TO64_LE_FAST(const uint8_t *p) {
+			uint32_t *s4, h, l;
+			__asm__ ("add %3,4,%0\n\tlda [%3]0x88,%1\n\tlda [%0]0x88,%2" : "+r"(s4), "=r"(l), "=r"(h) : "r"(p));
+			return ((uint64_t)h << 32) | l;
+		}
+
+		static INLINE void
+		fU64TO8_LE_FAST(uint8_t *p, const uint64_t v) {
+			uint32_t *s4, h = (uint32_t)(v >> 32), l = (uint32_t)(v & (uint32_t)0xffffffff);
+			__asm__ ("add %3,4,%0\n\tsta %1,[%3]0x88\n\tsta %2,[%0]0x88" : "+r"(s4) : "r"(l), "r"(h), "r"(p));
+		}
+	#endif
+
+	static INLINE uint32_t
+	fU8TO32_LE_FAST(const uint8_t *p) {
+		uint32_t d;
+		__asm__ ("lda [%1]0x88,%0" : "=r"(d) : "r"(p));
+		return d;
+	}
+
+	static INLINE void
+	fU32TO8_LE_FAST(uint8_t *p, const uint32_t v) {
+		__asm__ ("sta %0,[%1]0x88" : : "r"(p), "r"(v));
+	}
+
+	#define U8TO32_LE(p) fU8TO32_LE_FAST(p)
+	#define U8TO64_LE(p) fU8TO64_LE_FAST(p)
+	#define U32TO8_LE(p, v) fU32TO8_LE_FAST(p, v)
+	#define U64TO8_LE(p, v) fU64TO8_LE_FAST(p, v)
+#endif
+
+/* 0400-endian-100-x86.h */
+
+#if (((defined(CPU_X86) && (CPU_X86 >= 400)) || defined(CPU_X86_64)) && (defined(COMPILER_MSVC) || defined(COMPILER_GCC)))
+	#if defined(COMPILER_MSVC)
+		static INLINE uint16_t U16_SWAP_FAST(uint16_t v) { return _byteswap_ushort(v); }
+		static INLINE uint32_t U32_SWAP_FAST(uint32_t v) { return _byteswap_ulong(v); }
+		static INLINE uint64_t U64_SWAP_FAST(uint64_t v) { return _byteswap_uint64(v); }
+	#else
+		static INLINE uint16_t U16_SWAP_FAST(uint16_t v) { __asm__("rorw $8,%0" : "+r" (v)); return v; }
+		static INLINE uint32_t U32_SWAP_FAST(uint32_t v) { __asm__("bswap %0" : "+r" (v)); return v; }
+		#if defined(CPU_X86_64)
+			static INLINE uint64_t U64_SWAP_FAST(uint64_t v) { __asm__("bswap %0" : "+r" (v)); return v; }
+		#else
+			static INLINE uint64_t U64_SWAP_FAST(uint64_t v) { 
+				uint32_t lo = U32_SWAP_FAST((uint32_t)(v)), hi = U32_SWAP_FAST((uint32_t)(v >> 32));
+				return ((uint64_t)lo << 32) | hi;
+			}
+		#endif
+	#endif
+
+
+	static INLINE uint16_t fU8TO16_BE_FAST(const uint8_t *p) { return U16_SWAP_FAST(*(const uint16_t *)p); }
+	static INLINE uint32_t fU8TO32_BE_FAST(const uint8_t *p) { return U32_SWAP_FAST(*(const uint32_t *)p); }
+	static INLINE uint64_t fU8TO64_BE_FAST(const uint8_t *p) { return U64_SWAP_FAST(*(const uint64_t *)p); }
+	static INLINE void fU16TO8_BE_FAST(uint8_t *p, const uint16_t v) { *(uint16_t *)p = U16_SWAP_FAST(v); }
+	static INLINE void fU32TO8_BE_FAST(uint8_t *p, const uint32_t v) { *(uint32_t *)p = U32_SWAP_FAST(v); }
+	static INLINE void fU64TO8_BE_FAST(uint8_t *p, const uint64_t v) { *(uint64_t *)p = U64_SWAP_FAST(v); }
+
+	#define U16_SWAP(p) U16_SWAP_FAST(p)
+	#define U32_SWAP(p) U32_SWAP_FAST(p)
+	#define U64_SWAP(p) U64_SWAP_FAST(p)
+	#define U8TO16_BE(p) fU8TO16_BE_FAST(p)
+	#define U8TO32_BE(p) fU8TO32_BE_FAST(p)
+	#define U8TO64_BE(p) fU8TO64_BE_FAST(p)
+	#define U16TO8_BE(p, v) fU16TO8_BE_FAST(p, v)
+	#define U32TO8_BE(p, v) fU32TO8_BE_FAST(p, v)
+	#define U64TO8_BE(p, v) fU64TO8_BE_FAST(p, v)
+#endif
+
+/* 0400-endian-999-generic-be.h */
+
+#if !defined(U8TO16_BE)
+	static INLINE uint16_t
+	fU8TO16_BE_SLOW(const uint8_t *p) {
+		return
+		(((uint16_t)(p[0]) <<  8) |
+		 ((uint16_t)(p[1])      ));
+	}
+
+	#define U8TO16_BE(p) fU8TO16_BE_SLOW(p)
+#endif
+
+
+#if !defined(U8TO32_BE)
+	static INLINE uint32_t
+	fU8TO32_BE_SLOW(const uint8_t *p) {
+		return
+		(((uint32_t)(p[0]) << 24) |
+		 ((uint32_t)(p[1]) << 16) |
+		 ((uint32_t)(p[2]) <<  8) |
+		 ((uint32_t)(p[3])      ));
+	}
+
+	#define U8TO32_BE(p) fU8TO32_BE_SLOW(p)
+#endif
+
+#if !defined(U8TO64_BE)
+	static INLINE uint64_t
+	fU8TO64_BE_SLOW(const uint8_t *p) {
+		return
+		(((uint64_t)(p[0]) << 56) |
+		 ((uint64_t)(p[1]) << 48) |
+		 ((uint64_t)(p[2]) << 40) |
+		 ((uint64_t)(p[3]) << 32) |
+		 ((uint64_t)(p[4]) << 24) |
+		 ((uint64_t)(p[5]) << 16) |
+		 ((uint64_t)(p[6]) <<  8) |
+		 ((uint64_t)(p[7])      ));
+	}
+
+	#define U8TO64_BE(p) fU8TO64_BE_SLOW(p)
+#endif
+
+#if !defined(U16TO8_BE)
+	static INLINE void
+	fU16TO8_BE_SLOW(uint8_t *p, const uint16_t v) {
+		p[0] = (uint8_t)(v >>  8);
+		p[1] = (uint8_t)(v      );
+	}
+
+	#define U16TO8_BE(p, v) fU16TO8_BE_SLOW(p, v)
+#endif
+
+#if !defined(U32TO8_BE)
+	static INLINE void
+	fU32TO8_BE_SLOW(uint8_t *p, const uint32_t v) {
+		p[0] = (uint8_t)(v >> 24);
+		p[1] = (uint8_t)(v >> 16);
+		p[2] = (uint8_t)(v >>  8);
+		p[3] = (uint8_t)(v      );
+	}
+
+	#define U32TO8_BE(p, v) fU32TO8_BE_SLOW(p, v)
+#endif
+
+#if !defined(U64TO8_BE)
+	static INLINE void
+	fU64TO8_BE_SLOW(uint8_t *p, const uint64_t v) {
+		p[0] = (uint8_t)(v >> 56);
+		p[1] = (uint8_t)(v >> 48);
+		p[2] = (uint8_t)(v >> 40);
+		p[3] = (uint8_t)(v >> 32);
+		p[4] = (uint8_t)(v >> 24);
+		p[5] = (uint8_t)(v >> 16);
+		p[6] = (uint8_t)(v >>  8);
+		p[7] = (uint8_t)(v      );
+	}
+
+	#define U64TO8_BE(p, v) fU64TO8_BE_SLOW(p, v)
+#endif
+
+/* 0400-endian-999-generic-le.h */
+
+#if !defined(U8TO16_LE)
+	static INLINE uint16_t
+	fU8TO16_LE_SLOW(const uint8_t *p) {
+		return
+		(((uint16_t)(p[0])      ) |
+		 ((uint16_t)(p[1]) <<  8));
+	}
+
+	#define U8TO16_LE(p) fU8TO16_LE_SLOW(p)
+#endif
+
+#if !defined(U8TO32_LE)
+	static INLINE uint32_t
+	fU8TO32_LE_SLOW(const uint8_t *p) {
+		return
+		(((uint32_t)(p[0])      ) |
+		 ((uint32_t)(p[1]) <<  8) |
+		 ((uint32_t)(p[2]) << 16) |
+		 ((uint32_t)(p[3]) << 24));
+	}
+
+	#define U8TO32_LE(p) fU8TO32_LE_SLOW(p)
+#endif
+
+
+#if !defined(U8TO64_LE)
+	static INLINE uint64_t
+	fU8TO64_LE_SLOW(const uint8_t *p) {
+		return
+		(((uint64_t)(p[0])      ) |
+		 ((uint64_t)(p[1]) <<  8) |
+		 ((uint64_t)(p[2]) << 16) |
+		 ((uint64_t)(p[3]) << 24) |
+		 ((uint64_t)(p[4]) << 32) |
+		 ((uint64_t)(p[5]) << 40) |
+		 ((uint64_t)(p[6]) << 48) |
+		 ((uint64_t)(p[7]) << 56));
+	}
+
+	#define U8TO64_LE(p) fU8TO64_LE_SLOW(p)
+#endif
+
+#if !defined(U16TO8_LE)
+	static INLINE void
+	fU16TO8_LE_SLOW(uint8_t *p, const uint16_t v) {
+		p[0] = (uint8_t)(v      );
+		p[1] = (uint8_t)(v >>  8);
+	}
+
+	#define U16TO8_LE(p, v) fU16TO8_LE_SLOW(p, v)
+#endif
+
+#if !defined(U32TO8_LE)
+	static INLINE void
+	fU32TO8_LE_SLOW(uint8_t *p, const uint32_t v) {
+		p[0] = (uint8_t)(v      );
+		p[1] = (uint8_t)(v >>  8);
+		p[2] = (uint8_t)(v >> 16);
+		p[3] = (uint8_t)(v >> 24);
+	}
+
+	#define U32TO8_LE(p, v) fU32TO8_LE_SLOW(p, v)
+#endif
+
+#if !defined(U64TO8_LE)
+	static INLINE void
+	fU64TO8_LE_SLOW(uint8_t *p, const uint64_t v) {
+		p[0] = (uint8_t)(v      );
+		p[1] = (uint8_t)(v >>  8);
+		p[2] = (uint8_t)(v >> 16);
+		p[3] = (uint8_t)(v >> 24);
+		p[4] = (uint8_t)(v >> 32);
+		p[5] = (uint8_t)(v >> 40);
+		p[6] = (uint8_t)(v >> 48);
+		p[7] = (uint8_t)(v >> 56);
+	}
+
+	#define U64TO8_LE(p, v) fU64TO8_LE_SLOW(p, v)
+#endif
+
+/* 0400-endian-999-generic-swap.h */
+
+#if !defined(U16_SWAP)
+	static INLINE uint16_t
+	fU16_SWAP_SLOW(uint16_t v) {
+	    v = (v << 8) | (v >> 8);
+	    return v;
+	}
+
+	#define U16_SWAP(p) fU16_SWAP_SLOW(p)
+#endif
+
+#if !defined(U32_SWAP)
+	static INLINE uint32_t
+	fU32_SWAP_SLOW(uint32_t v) {
+		v = ((v << 8) & 0xFF00FF00) | ((v >> 8) & 0xFF00FF);
+	    v = (v << 16) | (v >> 16);
+	    return v;
+	}
+
+	#define U32_SWAP(p) fU32_SWAP_SLOW(p)
+#endif
+
+#if !defined(U64_SWAP)
+	static INLINE uint64_t
+	fU64_SWAP_SLOW(uint64_t v) {
+		v = ((v <<  8) & 0xFF00FF00FF00FF00ull) | ((v >>  8) & 0x00FF00FF00FF00FFull);
+		v = ((v << 16) & 0xFFFF0000FFFF0000ull) | ((v >> 16) & 0x0000FFFF0000FFFFull);
+	    v = (v << 32) | (v >> 32);
+	    return v;
+	}
+
+	#define U64_SWAP(p) fU64_SWAP_SLOW(p)
+#endif
+
+/* 0400-uint128-000.h */
+
+/* 0400-uint128-100-clang.h */
+
+#if defined(CPU_64BITS) && (defined(COMPILER_CLANG) && (COMPILER_CLANG >= 30100))
+	#define HAVE_NATIVE_UINT128
+	typedef unsigned __int128 uint128_t;
+#endif
+
+/* 0400-uint128-100-gcc.h */
+
+#if (defined(CPU_64BITS) && defined(COMPILER_GCC)) && (!defined(COMPILER_CLANG) || (COMPILER_CLANG < 30100))
+	#if defined(__SIZEOF_INT128__)
+		#define HAVE_NATIVE_UINT128
+		typedef unsigned __int128 uint128_t;
+	#elif (COMPILER_GCC >= 40400)
+		#define HAVE_NATIVE_UINT128
+		typedef unsigned uint128_t __attribute__((mode(TI)));
+	#endif
+#endif
+
+/* 0400-uint128-100-msvc.h */
+
+#if defined(CPU_64BITS) && defined(COMPILER_MSVC)
+	#define HAVE_UINT128
+
+	typedef struct uint128 {
+		uint64_t lo, hi;
+	} uint128_t;
+
+	static INLINE uint128_t
+	mul64x64_128(uint64_t a, uint64_t b) {
+		uint128_t v;
+		v.lo = _umul128(a, b, &v.hi);
+		return v;
+	}
+
+	static INLINE uint64_t
+	shr128_pair(uint64_t hi, uint64_t lo, const int shift) {
+		return __shiftright128(lo, hi, shift);
+	}
+
+	static INLINE uint64_t
+	shr128(uint128_t v, const int shift) {
+		return __shiftright128(v.lo, v.hi, shift);
+	}
+
+	static INLINE uint128_t
+	add128(uint128_t a, uint128_t b) {
+		uint64_t t = a.lo;
+		a.lo += b.lo;
+		a.hi += b.hi + (a.lo < t);
+		return a;
+	}
+
+	static INLINE uint128_t
+	add128_64(uint128_t a, uint64_t b) {
+		uint64_t t = a.lo;
+		a.lo += b;
+		a.hi += (a.lo < t);
+		return a;
+	}
+
+	static INLINE uint64_t
+	lo128(uint128_t a) {
+		return a.lo;
+	}
+
+	static INLINE uint64_t
+	hi128(uint128_t a) {
+		return a.hi;
+	}
+#endif
+
+/* 0400-uint128-999.h */
+
+#if defined(HAVE_NATIVE_UINT128)
+	#define HAVE_UINT128
+
+	static INLINE uint128_t
+	mul64x64_128(uint64_t a, uint64_t b) {
+		return (uint128_t)a * b;
+	}
+
+	static INLINE uint64_t
+	shr128(uint128_t v, const int shift) {
+		return (uint64_t)(v >> shift);
+	}
+
+	static INLINE uint64_t
+	shr128_pair(uint64_t hi, uint64_t lo, const int shift) {
+		return (uint64_t)((((uint128_t)hi << 64) | lo) >> shift);
+	}
+
+	static INLINE uint128_t
+	add128(uint128_t a, uint128_t b) {
+		return a + b;
+	}
+
+	static INLINE uint128_t
+	add128_64(uint128_t a, uint64_t b) {
+		return a + b;
+	}
+
+	static INLINE uint64_t
+	lo128(uint128_t a) {
+		return (uint64_t)a;
+	}
+
+	static INLINE uint64_t
+	hi128(uint128_t a) {
+		return (uint64_t)(a >> 64);
+	}
+#endif
+
+#endif /* PORTABLE_JANE_H */
+
diff --git a/src/libsodium/src/libsodium/crypto_onetimeauth/poly1305/donna/verify_poly1305_donna.c b/src/libsodium/src/libsodium/crypto_onetimeauth/poly1305/donna/verify_poly1305_donna.c
new file mode 100644
index 00000000..af9054b5
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_onetimeauth/poly1305/donna/verify_poly1305_donna.c
@@ -0,0 +1,10 @@
+#include "api.h"
+#include "crypto_onetimeauth_poly1305_donna.h"
+#include "crypto_verify_16.h"
+
+int crypto_onetimeauth_verify(const unsigned char *h,const unsigned char *in,unsigned long long inlen,const unsigned char *k)
+{
+  unsigned char correct[16];
+  crypto_onetimeauth(correct,in,inlen,k);
+  return crypto_verify_16(h,correct);
+}
diff --git a/src/libsodium/src/libsodium/crypto_onetimeauth/poly1305/onetimeauth_poly1305.c b/src/libsodium/src/libsodium/crypto_onetimeauth/poly1305/onetimeauth_poly1305.c
new file mode 100644
index 00000000..15d4fc36
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_onetimeauth/poly1305/onetimeauth_poly1305.c
@@ -0,0 +1,42 @@
+
+#include <sys/types.h>
+
+#include <assert.h>
+#include <inttypes.h>
+#include <limits.h>
+
+#include "crypto_onetimeauth_poly1305.h"
+#include "crypto_onetimeauth_poly1305_donna.h"
+
+static const crypto_onetimeauth_poly1305_implementation *implementation =
+    &crypto_onetimeauth_poly1305_donna_implementation;
+
+int
+crypto_onetimeauth_poly1305_set_implementation(crypto_onetimeauth_poly1305_implementation *impl)
+{
+    implementation = impl;
+
+    return 0;
+}
+
+const char *
+crypto_onetimeauth_poly1305_implementation_name(void)
+{
+    return implementation->implementation_name();
+}
+
+int
+crypto_onetimeauth_poly1305(unsigned char *out, const unsigned char *in,
+                            unsigned long long inlen, const unsigned char *k)
+{
+    return implementation->onetimeauth(out, in, inlen, k);
+}
+
+int
+crypto_onetimeauth_poly1305_verify(const unsigned char *h,
+                                   const unsigned char *in,
+                                   unsigned long long inlen,
+                                   const unsigned char *k)
+{
+    return implementation->onetimeauth_verify(h, in, inlen, k);
+}
diff --git a/src/libsodium/src/libsodium/crypto_onetimeauth/poly1305/onetimeauth_poly1305_api.c b/src/libsodium/src/libsodium/crypto_onetimeauth/poly1305/onetimeauth_poly1305_api.c
new file mode 100644
index 00000000..bd36a1f6
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_onetimeauth/poly1305/onetimeauth_poly1305_api.c
@@ -0,0 +1,16 @@
+#include "crypto_onetimeauth_poly1305.h"
+
+size_t
+crypto_onetimeauth_poly1305_bytes(void) {
+    return crypto_onetimeauth_poly1305_BYTES;
+}
+
+size_t
+crypto_onetimeauth_poly1305_keybytes(void) {
+    return crypto_onetimeauth_poly1305_KEYBYTES;
+}
+
+const char *
+crypto_onetimeauth_poly1305_primitive(void) {
+    return "poly1305";
+}
diff --git a/src/libsodium/src/libsodium/crypto_onetimeauth/poly1305/onetimeauth_poly1305_try.c b/src/libsodium/src/libsodium/crypto_onetimeauth/poly1305/onetimeauth_poly1305_try.c
new file mode 100644
index 00000000..6e242d22
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_onetimeauth/poly1305/onetimeauth_poly1305_try.c
@@ -0,0 +1,147 @@
+
+#include <stdlib.h>
+#include <string.h>
+#include "crypto_hash_sha256.h"
+#include "crypto_onetimeauth.h"
+#include "crypto_onetimeauth_poly1305.h"
+#include "crypto_onetimeauth_poly1305_donna.h"
+#include "crypto_onetimeauth_poly1305_53.h"
+#include "utils.h"
+
+#define MAXTEST_BYTES 10000
+#define CHECKSUM_BYTES 4096
+
+#define CHECKSUM "e836d5ca58cf673fca2b4910f23f3990"
+
+static char checksum[crypto_onetimeauth_BYTES * 2U + 1U];
+
+static unsigned char *h,  *h_;
+static unsigned char *m,  *m_;
+static unsigned char *k,  *k_;
+static unsigned char *h2, *h2_;
+static unsigned char *m2, *m2_;
+static unsigned char *k2, *k2_;
+
+static int
+allocate(void)
+{
+    h  = _sodium_alignedcalloc(&h_, crypto_onetimeauth_BYTES);
+    m  = _sodium_alignedcalloc(&m_, MAXTEST_BYTES);
+    k  = _sodium_alignedcalloc(&k_, crypto_onetimeauth_KEYBYTES);
+    h2 = _sodium_alignedcalloc(&h2_, crypto_onetimeauth_BYTES);
+    m2 = _sodium_alignedcalloc(&m2_, MAXTEST_BYTES + crypto_onetimeauth_BYTES);
+    k2 = _sodium_alignedcalloc(&k2_, crypto_onetimeauth_KEYBYTES +
+                               crypto_onetimeauth_BYTES);
+
+    return -!(h && m && k && h2 && m2 && k2);
+}
+
+static void
+deallocate(void)
+{
+    free(h_);
+    free(m_);
+    free(k_);
+    free(h2_);
+    free(m2_);
+    free(k2_);
+}
+
+static const char *
+checksum_compute(void)
+{
+    long long i;
+    long long j;
+
+    for (i = 0;i < CHECKSUM_BYTES;++i) {
+        long long mlen = i;
+        long long klen = crypto_onetimeauth_KEYBYTES;
+        long long hlen = crypto_onetimeauth_BYTES;
+
+        for (j = -16;j < 0;++j) h[j] = rand();
+        for (j = -16;j < 0;++j) k[j] = rand();
+        for (j = -16;j < 0;++j) m[j] = rand();
+        for (j = hlen;j < hlen + 16;++j) h[j] = rand();
+        for (j = klen;j < klen + 16;++j) k[j] = rand();
+        for (j = mlen;j < mlen + 16;++j) m[j] = rand();
+        for (j = -16;j < hlen + 16;++j) h2[j] = h[j];
+        for (j = -16;j < klen + 16;++j) k2[j] = k[j];
+        for (j = -16;j < mlen + 16;++j) m2[j] = m[j];
+
+        if (crypto_onetimeauth(h,m,mlen,k) != 0) return "crypto_onetimeauth returns nonzero";
+
+        for (j = -16;j < klen + 16;++j) if (k[j] != k2[j]) return "crypto_onetimeauth overwrites k";
+        for (j = -16;j < mlen + 16;++j) if (m[j] != m2[j]) return "crypto_onetimeauth overwrites m";
+        for (j = -16;j < 0;++j) if (h[j] != h2[j]) return "crypto_onetimeauth writes before output";
+        for (j = hlen;j < hlen + 16;++j) if (h[j] != h2[j]) return "crypto_onetimeauth writes after output";
+
+        for (j = -16;j < 0;++j) h[j] = rand();
+        for (j = -16;j < 0;++j) k[j] = rand();
+        for (j = -16;j < 0;++j) m[j] = rand();
+        for (j = hlen;j < hlen + 16;++j) h[j] = rand();
+        for (j = klen;j < klen + 16;++j) k[j] = rand();
+        for (j = mlen;j < mlen + 16;++j) m[j] = rand();
+        for (j = -16;j < hlen + 16;++j) h2[j] = h[j];
+        for (j = -16;j < klen + 16;++j) k2[j] = k[j];
+        for (j = -16;j < mlen + 16;++j) m2[j] = m[j];
+
+        if (crypto_onetimeauth(m2,m2,mlen,k) != 0) return "crypto_onetimeauth returns nonzero";
+        for (j = 0;j < hlen;++j) if (m2[j] != h[j]) return "crypto_onetimeauth does not handle m overlap";
+        for (j = 0;j < hlen;++j) m2[j] = m[j];
+        if (crypto_onetimeauth(k2,m2,mlen,k2) != 0) return "crypto_onetimeauth returns nonzero";
+        for (j = 0;j < hlen;++j) if (k2[j] != h[j]) return "crypto_onetimeauth does not handle k overlap";
+        for (j = 0;j < hlen;++j) k2[j] = k[j];
+
+        if (crypto_onetimeauth_verify(h,m,mlen,k) != 0) return "crypto_onetimeauth_verify returns nonzero";
+
+        for (j = -16;j < hlen + 16;++j) if (h[j] != h2[j]) return "crypto_onetimeauth overwrites h";
+        for (j = -16;j < klen + 16;++j) if (k[j] != k2[j]) return "crypto_onetimeauth overwrites k";
+        for (j = -16;j < mlen + 16;++j) if (m[j] != m2[j]) return "crypto_onetimeauth overwrites m";
+
+        crypto_hash_sha256(h2,h,hlen);
+        for (j = 0;j < klen;++j) k[j] ^= h2[j % 32];
+        if (crypto_onetimeauth(h,m,mlen,k) != 0) return "crypto_onetimeauth returns nonzero";
+        if (crypto_onetimeauth_verify(h,m,mlen,k) != 0) return "crypto_onetimeauth_verify returns nonzero";
+
+        crypto_hash_sha256(h2,h,hlen);
+        for (j = 0;j < mlen;++j) m[j] ^= h2[j % 32];
+        m[mlen] = h2[0];
+    }
+    if (crypto_onetimeauth(h,m,CHECKSUM_BYTES,k) != 0) return "crypto_onetimeauth returns nonzero";
+    if (crypto_onetimeauth_verify(h,m,CHECKSUM_BYTES,k) != 0) return "crypto_onetimeauth_verify returns nonzero";
+
+    sodium_bin2hex(checksum, sizeof checksum, h, crypto_onetimeauth_BYTES);
+
+    return NULL;
+}
+
+crypto_onetimeauth_poly1305_implementation *
+crypto_onetimeauth_pick_best_implementation(void)
+{
+    crypto_onetimeauth_poly1305_implementation *implementations[] = {
+#ifdef HAVE_FENV_H
+        &crypto_onetimeauth_poly1305_53_implementation,
+#endif
+        &crypto_onetimeauth_poly1305_donna_implementation,
+        NULL
+    };
+    const char *err;
+    size_t      i = (size_t) 0U;
+
+    do {
+        if (crypto_onetimeauth_poly1305_set_implementation
+            (implementations[i]) != 0) {
+            continue;
+        }
+        if (allocate() != 0) {
+            return NULL;
+        }
+        err = checksum_compute();
+        deallocate();
+        if (err == NULL && strcmp(checksum, CHECKSUM) == 0) {
+            break;
+        }
+    } while (implementations[++i] != NULL);
+
+    return implementations[i];
+}
diff --git a/src/libsodium/src/libsodium/crypto_scalarmult/crypto_scalarmult.c b/src/libsodium/src/libsodium/crypto_scalarmult/crypto_scalarmult.c
new file mode 100644
index 00000000..25d7397f
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_scalarmult/crypto_scalarmult.c
@@ -0,0 +1,34 @@
+
+#include "crypto_scalarmult.h"
+
+size_t
+crypto_scalarmult_bytes(void)
+{
+    return crypto_scalarmult_BYTES;
+}
+
+size_t
+crypto_scalarmult_scalarbytes(void)
+{
+    return crypto_scalarmult_SCALARBYTES;
+}
+
+const char *
+crypto_scalarmult_primitive(void)
+{
+    return crypto_scalarmult_PRIMITIVE;
+}
+
+int
+crypto_scalarmult_base(unsigned char *q, const unsigned char *n)
+{
+    return crypto_scalarmult_curve25519_base(q, n);
+}
+
+int
+crypto_scalarmult(unsigned char *q, const unsigned char *n,
+                  const unsigned char *p)
+{
+    return crypto_scalarmult_curve25519(q, n, p);
+}
+
diff --git a/src/libsodium/src/libsodium/crypto_scalarmult/curve25519/donna_c64/api.h b/src/libsodium/src/libsodium/crypto_scalarmult/curve25519/donna_c64/api.h
new file mode 100644
index 00000000..373c6aa8
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_scalarmult/curve25519/donna_c64/api.h
@@ -0,0 +1,9 @@
+
+#include "crypto_scalarmult_curve25519.h"
+
+#define crypto_scalarmult_curve25519_implementation_name \
+    crypto_scalarmult_curve25519_donna_c64_implementation_name
+
+#define crypto_scalarmult crypto_scalarmult_curve25519_donna_c64
+#define crypto_scalarmult_base crypto_scalarmult_curve25519_donna_c64_base
+
diff --git a/src/libsodium/src/libsodium/crypto_scalarmult/curve25519/donna_c64/base_curve25519_donna_c64.c b/src/libsodium/src/libsodium/crypto_scalarmult/curve25519/donna_c64/base_curve25519_donna_c64.c
new file mode 100644
index 00000000..58a3f1c9
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_scalarmult/curve25519/donna_c64/base_curve25519_donna_c64.c
@@ -0,0 +1,13 @@
+
+#include "api.h"
+
+#ifdef HAVE_TI_MODE
+
+static const unsigned char basepoint[32] = {9};
+
+int crypto_scalarmult_base(unsigned char *q,const unsigned char *n)
+{
+  return crypto_scalarmult(q, n, basepoint);
+}
+
+#endif
diff --git a/src/libsodium/src/libsodium/crypto_scalarmult/curve25519/donna_c64/smult_curve25519_donna_c64.c b/src/libsodium/src/libsodium/crypto_scalarmult/curve25519/donna_c64/smult_curve25519_donna_c64.c
new file mode 100644
index 00000000..c10b9ad7
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_scalarmult/curve25519/donna_c64/smult_curve25519_donna_c64.c
@@ -0,0 +1,426 @@
+/* Copyright 2008, Google Inc.
+ * All rights reserved.
+ *
+ * Code released into the public domain.
+ *
+ * curve25519-donna: Curve25519 elliptic curve, public key function
+ *
+ * http://code.google.com/p/curve25519-donna/
+ *
+ * Adam Langley <agl@imperialviolet.org>
+ * Parts optimised by floodyberry
+ * Derived from public domain C code by Daniel J. Bernstein <djb@cr.yp.to>
+ *
+ * More information about curve25519 can be found here
+ *   http://cr.yp.to/ecdh.html
+ *
+ * djb's sample implementation of curve25519 is written in a special assembly
+ * language called qhasm and uses the floating point registers.
+ *
+ * This is, almost, a clean room reimplementation from the curve25519 paper. It
+ * uses many of the tricks described therein. Only the crecip function is taken
+ * from the sample implementation.
+ */
+
+#include <string.h>
+#include <stdint.h>
+#include "api.h"
+
+#ifdef HAVE_TI_MODE
+
+typedef uint8_t u8;
+typedef uint64_t limb;
+typedef limb felem[5];
+// This is a special gcc mode for 128-bit integers. It's implemented on 64-bit
+// platforms only as far as I know.
+typedef unsigned uint128_t __attribute__((mode(TI)));
+
+#undef force_inline
+#define force_inline inline __attribute__((always_inline))
+
+/* Sum two numbers: output += in */
+static force_inline void
+fsum(limb *output, const limb *in) {
+  output[0] += in[0];
+  output[1] += in[1];
+  output[2] += in[2];
+  output[3] += in[3];
+  output[4] += in[4];
+}
+
+/* Find the difference of two numbers: output = in - output
+ * (note the order of the arguments!)
+ *
+ * Assumes that out[i] < 2**52
+ * On return, out[i] < 2**55
+ */
+static force_inline void
+fdifference_backwards(felem out, const felem in) {
+  /* 152 is 19 << 3 */
+  static const limb two54m152 = (((limb)1) << 54) - 152;
+  static const limb two54m8 = (((limb)1) << 54) - 8;
+
+  out[0] = in[0] + two54m152 - out[0];
+  out[1] = in[1] + two54m8 - out[1];
+  out[2] = in[2] + two54m8 - out[2];
+  out[3] = in[3] + two54m8 - out[3];
+  out[4] = in[4] + two54m8 - out[4];
+}
+
+/* Multiply a number by a scalar: output = in * scalar */
+static force_inline void
+fscalar_product(felem output, const felem in, const limb scalar) {
+  uint128_t a;
+
+  a = ((uint128_t) in[0]) * scalar;
+  output[0] = ((limb)a) & 0x7ffffffffffff;
+
+  a = ((uint128_t) in[1]) * scalar + ((limb) (a >> 51));
+  output[1] = ((limb)a) & 0x7ffffffffffff;
+
+  a = ((uint128_t) in[2]) * scalar + ((limb) (a >> 51));
+  output[2] = ((limb)a) & 0x7ffffffffffff;
+
+  a = ((uint128_t) in[3]) * scalar + ((limb) (a >> 51));
+  output[3] = ((limb)a) & 0x7ffffffffffff;
+
+  a = ((uint128_t) in[4]) * scalar + ((limb) (a >> 51));
+  output[4] = ((limb)a) & 0x7ffffffffffff;
+
+  output[0] += (a >> 51) * 19;
+}
+
+/* Multiply two numbers: output = in2 * in
+ *
+ * output must be distinct to both inputs. The inputs are reduced coefficient
+ * form, the output is not.
+ *
+ * Assumes that in[i] < 2**55 and likewise for in2.
+ * On return, output[i] < 2**52
+ */
+static force_inline void
+fmul(felem output, const felem in2, const felem in) {
+  uint128_t t[5];
+  limb r0,r1,r2,r3,r4,s0,s1,s2,s3,s4,c;
+
+  r0 = in[0];
+  r1 = in[1];
+  r2 = in[2];
+  r3 = in[3];
+  r4 = in[4];
+
+  s0 = in2[0];
+  s1 = in2[1];
+  s2 = in2[2];
+  s3 = in2[3];
+  s4 = in2[4];
+
+  t[0]  =  ((uint128_t) r0) * s0;
+  t[1]  =  ((uint128_t) r0) * s1 + ((uint128_t) r1) * s0;
+  t[2]  =  ((uint128_t) r0) * s2 + ((uint128_t) r2) * s0 + ((uint128_t) r1) * s1;
+  t[3]  =  ((uint128_t) r0) * s3 + ((uint128_t) r3) * s0 + ((uint128_t) r1) * s2 + ((uint128_t) r2) * s1;
+  t[4]  =  ((uint128_t) r0) * s4 + ((uint128_t) r4) * s0 + ((uint128_t) r3) * s1 + ((uint128_t) r1) * s3 + ((uint128_t) r2) * s2;
+
+  r4 *= 19;
+  r1 *= 19;
+  r2 *= 19;
+  r3 *= 19;
+
+  t[0] += ((uint128_t) r4) * s1 + ((uint128_t) r1) * s4 + ((uint128_t) r2) * s3 + ((uint128_t) r3) * s2;
+  t[1] += ((uint128_t) r4) * s2 + ((uint128_t) r2) * s4 + ((uint128_t) r3) * s3;
+  t[2] += ((uint128_t) r4) * s3 + ((uint128_t) r3) * s4;
+  t[3] += ((uint128_t) r4) * s4;
+
+                  r0 = (limb)t[0] & 0x7ffffffffffff; c = (limb)(t[0] >> 51);
+  t[1] += c;      r1 = (limb)t[1] & 0x7ffffffffffff; c = (limb)(t[1] >> 51);
+  t[2] += c;      r2 = (limb)t[2] & 0x7ffffffffffff; c = (limb)(t[2] >> 51);
+  t[3] += c;      r3 = (limb)t[3] & 0x7ffffffffffff; c = (limb)(t[3] >> 51);
+  t[4] += c;      r4 = (limb)t[4] & 0x7ffffffffffff; c = (limb)(t[4] >> 51);
+  r0 +=   c * 19; c = r0 >> 51; r0 = r0 & 0x7ffffffffffff;
+  r1 +=   c;      c = r1 >> 51; r1 = r1 & 0x7ffffffffffff;
+  r2 +=   c;
+
+  output[0] = r0;
+  output[1] = r1;
+  output[2] = r2;
+  output[3] = r3;
+  output[4] = r4;
+}
+
+static force_inline void
+fsquare_times(felem output, const felem in, limb count) {
+  uint128_t t[5];
+  limb r0,r1,r2,r3,r4,c;
+  limb d0,d1,d2,d4,d419;
+
+  r0 = in[0];
+  r1 = in[1];
+  r2 = in[2];
+  r3 = in[3];
+  r4 = in[4];
+
+  do {
+    d0 = r0 * 2;
+    d1 = r1 * 2;
+    d2 = r2 * 2 * 19;
+    d419 = r4 * 19;
+    d4 = d419 * 2;
+
+    t[0] = ((uint128_t) r0) * r0 + ((uint128_t) d4) * r1 + (((uint128_t) d2) * (r3     ));
+    t[1] = ((uint128_t) d0) * r1 + ((uint128_t) d4) * r2 + (((uint128_t) r3) * (r3 * 19));
+    t[2] = ((uint128_t) d0) * r2 + ((uint128_t) r1) * r1 + (((uint128_t) d4) * (r3     ));
+    t[3] = ((uint128_t) d0) * r3 + ((uint128_t) d1) * r2 + (((uint128_t) r4) * (d419   ));
+    t[4] = ((uint128_t) d0) * r4 + ((uint128_t) d1) * r3 + (((uint128_t) r2) * (r2     ));
+
+                    r0 = (limb)t[0] & 0x7ffffffffffff; c = (limb)(t[0] >> 51);
+    t[1] += c;      r1 = (limb)t[1] & 0x7ffffffffffff; c = (limb)(t[1] >> 51);
+    t[2] += c;      r2 = (limb)t[2] & 0x7ffffffffffff; c = (limb)(t[2] >> 51);
+    t[3] += c;      r3 = (limb)t[3] & 0x7ffffffffffff; c = (limb)(t[3] >> 51);
+    t[4] += c;      r4 = (limb)t[4] & 0x7ffffffffffff; c = (limb)(t[4] >> 51);
+    r0 +=   c * 19; c = r0 >> 51; r0 = r0 & 0x7ffffffffffff;
+    r1 +=   c;      c = r1 >> 51; r1 = r1 & 0x7ffffffffffff;
+    r2 +=   c;
+  } while(--count);
+
+  output[0] = r0;
+  output[1] = r1;
+  output[2] = r2;
+  output[3] = r3;
+  output[4] = r4;
+}
+
+/* Take a little-endian, 32-byte number and expand it into polynomial form */
+static void
+fexpand(limb *output, const u8 *in) {
+  output[0] = *((const uint64_t *)(in)) & 0x7ffffffffffff;
+  output[1] = (*((const uint64_t *)(in+6)) >> 3) & 0x7ffffffffffff;
+  output[2] = (*((const uint64_t *)(in+12)) >> 6) & 0x7ffffffffffff;
+  output[3] = (*((const uint64_t *)(in+19)) >> 1) & 0x7ffffffffffff;
+  output[4] = (*((const uint64_t *)(in+25)) >> 4) & 0x7ffffffffffff;
+}
+
+/* Take a fully reduced polynomial form number and contract it into a
+ * little-endian, 32-byte array
+ */
+static void
+fcontract(u8 *output, const felem input) {
+  uint128_t t[5];
+
+  t[0] = input[0];
+  t[1] = input[1];
+  t[2] = input[2];
+  t[3] = input[3];
+  t[4] = input[4];
+
+  t[1] += t[0] >> 51; t[0] &= 0x7ffffffffffff;
+  t[2] += t[1] >> 51; t[1] &= 0x7ffffffffffff;
+  t[3] += t[2] >> 51; t[2] &= 0x7ffffffffffff;
+  t[4] += t[3] >> 51; t[3] &= 0x7ffffffffffff;
+  t[0] += 19 * (t[4] >> 51); t[4] &= 0x7ffffffffffff;
+
+  t[1] += t[0] >> 51; t[0] &= 0x7ffffffffffff;
+  t[2] += t[1] >> 51; t[1] &= 0x7ffffffffffff;
+  t[3] += t[2] >> 51; t[2] &= 0x7ffffffffffff;
+  t[4] += t[3] >> 51; t[3] &= 0x7ffffffffffff;
+  t[0] += 19 * (t[4] >> 51); t[4] &= 0x7ffffffffffff;
+
+  /* now t is between 0 and 2^255-1, properly carried. */
+  /* case 1: between 0 and 2^255-20. case 2: between 2^255-19 and 2^255-1. */
+
+  t[0] += 19;
+
+  t[1] += t[0] >> 51; t[0] &= 0x7ffffffffffff;
+  t[2] += t[1] >> 51; t[1] &= 0x7ffffffffffff;
+  t[3] += t[2] >> 51; t[2] &= 0x7ffffffffffff;
+  t[4] += t[3] >> 51; t[3] &= 0x7ffffffffffff;
+  t[0] += 19 * (t[4] >> 51); t[4] &= 0x7ffffffffffff;
+
+  /* now between 19 and 2^255-1 in both cases, and offset by 19. */
+
+  t[0] += 0x8000000000000 - 19;
+  t[1] += 0x8000000000000 - 1;
+  t[2] += 0x8000000000000 - 1;
+  t[3] += 0x8000000000000 - 1;
+  t[4] += 0x8000000000000 - 1;
+
+  /* now between 2^255 and 2^256-20, and offset by 2^255. */
+
+  t[1] += t[0] >> 51; t[0] &= 0x7ffffffffffff;
+  t[2] += t[1] >> 51; t[1] &= 0x7ffffffffffff;
+  t[3] += t[2] >> 51; t[2] &= 0x7ffffffffffff;
+  t[4] += t[3] >> 51; t[3] &= 0x7ffffffffffff;
+  t[4] &= 0x7ffffffffffff;
+
+  *((uint64_t *)(output)) = t[0] | (t[1] << 51);
+  *((uint64_t *)(output+8)) = (t[1] >> 13) | (t[2] << 38);
+  *((uint64_t *)(output+16)) = (t[2] >> 26) | (t[3] << 25);
+  *((uint64_t *)(output+24)) = (t[3] >> 39) | (t[4] << 12);
+}
+
+/* Input: Q, Q', Q-Q'
+ * Output: 2Q, Q+Q'
+ *
+ *   x2 z3: long form
+ *   x3 z3: long form
+ *   x z: short form, destroyed
+ *   xprime zprime: short form, destroyed
+ *   qmqp: short form, preserved
+ */
+static void
+fmonty(limb *x2, limb *z2, /* output 2Q */
+       limb *x3, limb *z3, /* output Q + Q' */
+       limb *x, limb *z,   /* input Q */
+       limb *xprime, limb *zprime, /* input Q' */
+       const limb *qmqp /* input Q - Q' */) {
+  limb origx[5], origxprime[5], zzz[5], xx[5], zz[5], xxprime[5],
+        zzprime[5], zzzprime[5];
+
+  memcpy(origx, x, 5 * sizeof(limb));
+  fsum(x, z);
+  fdifference_backwards(z, origx);  // does x - z
+
+  memcpy(origxprime, xprime, sizeof(limb) * 5);
+  fsum(xprime, zprime);
+  fdifference_backwards(zprime, origxprime);
+  fmul(xxprime, xprime, z);
+  fmul(zzprime, x, zprime);
+  memcpy(origxprime, xxprime, sizeof(limb) * 5);
+  fsum(xxprime, zzprime);
+  fdifference_backwards(zzprime, origxprime);
+  fsquare_times(x3, xxprime, 1);
+  fsquare_times(zzzprime, zzprime, 1);
+  fmul(z3, zzzprime, qmqp);
+
+  fsquare_times(xx, x, 1);
+  fsquare_times(zz, z, 1);
+  fmul(x2, xx, zz);
+  fdifference_backwards(zz, xx);  // does zz = xx - zz
+  fscalar_product(zzz, zz, 121665);
+  fsum(zzz, xx);
+  fmul(z2, zz, zzz);
+}
+
+// -----------------------------------------------------------------------------
+// Maybe swap the contents of two limb arrays (@a and @b), each @len elements
+// long. Perform the swap iff @swap is non-zero.
+//
+// This function performs the swap without leaking any side-channel
+// information.
+// -----------------------------------------------------------------------------
+static void
+swap_conditional(limb a[5], limb b[5], limb iswap) {
+  unsigned i;
+  const limb swap = -iswap;
+
+  for (i = 0; i < 5; ++i) {
+    const limb x = swap & (a[i] ^ b[i]);
+    a[i] ^= x;
+    b[i] ^= x;
+  }
+}
+
+/* Calculates nQ where Q is the x-coordinate of a point on the curve
+ *
+ *   resultx/resultz: the x coordinate of the resulting curve point (short form)
+ *   n: a little endian, 32-byte number
+ *   q: a point of the curve (short form)
+ */
+static void
+cmult(limb *resultx, limb *resultz, const u8 *n, const limb *q) {
+  limb a[5] = {0}, b[5] = {1}, c[5] = {1}, d[5] = {0};
+  limb *nqpqx = a, *nqpqz = b, *nqx = c, *nqz = d, *t;
+  limb e[5] = {0}, f[5] = {1}, g[5] = {0}, h[5] = {1};
+  limb *nqpqx2 = e, *nqpqz2 = f, *nqx2 = g, *nqz2 = h;
+
+  unsigned i, j;
+
+  memcpy(nqpqx, q, sizeof(limb) * 5);
+
+  for (i = 0; i < 32; ++i) {
+    u8 byte = n[31 - i];
+    for (j = 0; j < 8; ++j) {
+      const limb bit = byte >> 7;
+
+      swap_conditional(nqx, nqpqx, bit);
+      swap_conditional(nqz, nqpqz, bit);
+      fmonty(nqx2, nqz2,
+             nqpqx2, nqpqz2,
+             nqx, nqz,
+             nqpqx, nqpqz,
+             q);
+      swap_conditional(nqx2, nqpqx2, bit);
+      swap_conditional(nqz2, nqpqz2, bit);
+
+      t = nqx;
+      nqx = nqx2;
+      nqx2 = t;
+      t = nqz;
+      nqz = nqz2;
+      nqz2 = t;
+      t = nqpqx;
+      nqpqx = nqpqx2;
+      nqpqx2 = t;
+      t = nqpqz;
+      nqpqz = nqpqz2;
+      nqpqz2 = t;
+
+      byte <<= 1;
+    }
+  }
+
+  memcpy(resultx, nqx, sizeof(limb) * 5);
+  memcpy(resultz, nqz, sizeof(limb) * 5);
+}
+
+
+// -----------------------------------------------------------------------------
+// Shamelessly copied from djb's code, tightened a little
+// -----------------------------------------------------------------------------
+static void
+crecip(felem out, const felem z) {
+  felem a,t0,b,c;
+
+  /* 2 */ fsquare_times(a, z, 1); // a = 2
+  /* 8 */ fsquare_times(t0, a, 2);
+  /* 9 */ fmul(b, t0, z); // b = 9
+  /* 11 */ fmul(a, b, a); // a = 11
+  /* 22 */ fsquare_times(t0, a, 1);
+  /* 2^5 - 2^0 = 31 */ fmul(b, t0, b);
+  /* 2^10 - 2^5 */ fsquare_times(t0, b, 5);
+  /* 2^10 - 2^0 */ fmul(b, t0, b);
+  /* 2^20 - 2^10 */ fsquare_times(t0, b, 10);
+  /* 2^20 - 2^0 */ fmul(c, t0, b);
+  /* 2^40 - 2^20 */ fsquare_times(t0, c, 20);
+  /* 2^40 - 2^0 */ fmul(t0, t0, c);
+  /* 2^50 - 2^10 */ fsquare_times(t0, t0, 10);
+  /* 2^50 - 2^0 */ fmul(b, t0, b);
+  /* 2^100 - 2^50 */ fsquare_times(t0, b, 50);
+  /* 2^100 - 2^0 */ fmul(c, t0, b);
+  /* 2^200 - 2^100 */ fsquare_times(t0, c, 100);
+  /* 2^200 - 2^0 */ fmul(t0, t0, c);
+  /* 2^250 - 2^50 */ fsquare_times(t0, t0, 50);
+  /* 2^250 - 2^0 */ fmul(t0, t0, b);
+  /* 2^255 - 2^5 */ fsquare_times(t0, t0, 5);
+  /* 2^255 - 21 */ fmul(out, t0, a);
+}
+
+int
+crypto_scalarmult(u8 *mypublic, const u8 *secret, const u8 *basepoint) {
+  limb bp[5], x[5], z[5], zmone[5];
+  uint8_t e[32];
+  int i;
+
+  for (i = 0;i < 32;++i) e[i] = secret[i];
+  e[0] &= 248;
+  e[31] &= 127;
+  e[31] |= 64;
+
+  fexpand(bp, basepoint);
+  cmult(x, z, e, bp);
+  crecip(zmone, z);
+  fmul(z, x, zmone);
+  fcontract(mypublic, z);
+  return 0;
+}
+
+#endif
diff --git a/src/libsodium/src/libsodium/crypto_scalarmult/curve25519/ref/api.h b/src/libsodium/src/libsodium/crypto_scalarmult/curve25519/ref/api.h
new file mode 100644
index 00000000..7c664421
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_scalarmult/curve25519/ref/api.h
@@ -0,0 +1,8 @@
+
+#include "crypto_scalarmult_curve25519.h"
+
+#define crypto_scalarmult_curve25519_implementation_name \
+    crypto_scalarmult_curve25519_ref_implementation_name
+
+#define crypto_scalarmult crypto_scalarmult_curve25519_ref
+#define crypto_scalarmult_base crypto_scalarmult_curve25519_ref_base
diff --git a/src/libsodium/src/libsodium/crypto_scalarmult/curve25519/ref/base_curve25519_ref.c b/src/libsodium/src/libsodium/crypto_scalarmult/curve25519/ref/base_curve25519_ref.c
new file mode 100644
index 00000000..6f58df2e
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_scalarmult/curve25519/ref/base_curve25519_ref.c
@@ -0,0 +1,20 @@
+/*
+version 20081011
+Matthew Dempsky
+Public domain.
+Derived from public domain code by D. J. Bernstein.
+*/
+
+#include "api.h"
+
+#ifndef HAVE_TI_MODE
+
+const unsigned char base[32] = {9};
+
+int crypto_scalarmult_base(unsigned char *q,
+  const unsigned char *n)
+{
+  return crypto_scalarmult(q,n,base);
+}
+
+#endif
diff --git a/src/libsodium/src/libsodium/crypto_scalarmult/curve25519/ref/smult_curve25519_ref.c b/src/libsodium/src/libsodium/crypto_scalarmult/curve25519/ref/smult_curve25519_ref.c
new file mode 100644
index 00000000..ba201955
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_scalarmult/curve25519/ref/smult_curve25519_ref.c
@@ -0,0 +1,268 @@
+/*
+version 20081011
+Matthew Dempsky
+Public domain.
+Derived from public domain code by D. J. Bernstein.
+*/
+
+#include "api.h"
+
+#ifndef HAVE_TI_MODE
+
+static void add(unsigned int out[32],const unsigned int a[32],const unsigned int b[32])
+{
+  unsigned int j;
+  unsigned int u;
+  u = 0;
+  for (j = 0;j < 31;++j) { u += a[j] + b[j]; out[j] = u & 255; u >>= 8; }
+  u += a[31] + b[31]; out[31] = u;
+}
+
+static void sub(unsigned int out[32],const unsigned int a[32],const unsigned int b[32])
+{
+  unsigned int j;
+  unsigned int u;
+  u = 218;
+  for (j = 0;j < 31;++j) {
+    u += a[j] + 65280 - b[j];
+    out[j] = u & 255;
+    u >>= 8;
+  }
+  u += a[31] - b[31];
+  out[31] = u;
+}
+
+static void squeeze(unsigned int a[32])
+{
+  unsigned int j;
+  unsigned int u;
+  u = 0;
+  for (j = 0;j < 31;++j) { u += a[j]; a[j] = u & 255; u >>= 8; }
+  u += a[31]; a[31] = u & 127;
+  u = 19 * (u >> 7);
+  for (j = 0;j < 31;++j) { u += a[j]; a[j] = u & 255; u >>= 8; }
+  u += a[31]; a[31] = u;
+}
+
+static const unsigned int minusp[32] = {
+ 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128
+} ;
+
+static void freeze(unsigned int a[32])
+{
+  unsigned int aorig[32];
+  unsigned int j;
+  unsigned int negative;
+
+  for (j = 0;j < 32;++j) aorig[j] = a[j];
+  add(a,a,minusp);
+  negative = -((a[31] >> 7) & 1);
+  for (j = 0;j < 32;++j) a[j] ^= negative & (aorig[j] ^ a[j]);
+}
+
+static void mult(unsigned int out[32],const unsigned int a[32],const unsigned int b[32])
+{
+  unsigned int i;
+  unsigned int j;
+  unsigned int u;
+
+  for (i = 0;i < 32;++i) {
+    u = 0;
+    for (j = 0;j <= i;++j) u += a[j] * b[i - j];
+    for (j = i + 1;j < 32;++j) u += 38 * a[j] * b[i + 32 - j];
+    out[i] = u;
+  }
+  squeeze(out);
+}
+
+static void mult121665(unsigned int out[32],const unsigned int a[32])
+{
+  unsigned int j;
+  unsigned int u;
+
+  u = 0;
+  for (j = 0;j < 31;++j) { u += 121665 * a[j]; out[j] = u & 255; u >>= 8; }
+  u += 121665 * a[31]; out[31] = u & 127;
+  u = 19 * (u >> 7);
+  for (j = 0;j < 31;++j) { u += out[j]; out[j] = u & 255; u >>= 8; }
+  u += out[j]; out[j] = u;
+}
+
+static void square(unsigned int out[32],const unsigned int a[32])
+{
+  unsigned int i;
+  unsigned int j;
+  unsigned int u;
+
+  for (i = 0;i < 32;++i) {
+    u = 0;
+    for (j = 0;j < i - j;++j) u += a[j] * a[i - j];
+    for (j = i + 1;j < i + 32 - j;++j) u += 38 * a[j] * a[i + 32 - j];
+    u *= 2;
+    if ((i & 1) == 0) {
+      u += a[i / 2] * a[i / 2];
+      u += 38 * a[i / 2 + 16] * a[i / 2 + 16];
+    }
+    out[i] = u;
+  }
+  squeeze(out);
+}
+
+static void select(unsigned int p[64],unsigned int q[64],const unsigned int r[64],const unsigned int s[64],unsigned int b)
+{
+  unsigned int j;
+  unsigned int t;
+  unsigned int bminus1;
+
+  bminus1 = b - 1;
+  for (j = 0;j < 64;++j) {
+    t = bminus1 & (r[j] ^ s[j]);
+    p[j] = s[j] ^ t;
+    q[j] = r[j] ^ t;
+  }
+}
+
+static void mainloop(unsigned int work[64],const unsigned char e[32])
+{
+  unsigned int xzm1[64];
+  unsigned int xzm[64];
+  unsigned int xzmb[64];
+  unsigned int xzm1b[64];
+  unsigned int xznb[64];
+  unsigned int xzn1b[64];
+  unsigned int a0[64];
+  unsigned int a1[64];
+  unsigned int b0[64];
+  unsigned int b1[64];
+  unsigned int c1[64];
+  unsigned int r[32];
+  unsigned int s[32];
+  unsigned int t[32];
+  unsigned int u[32];
+  unsigned int j;
+  unsigned int b;
+  int pos;
+
+  for (j = 0;j < 32;++j) xzm1[j] = work[j];
+  xzm1[32] = 1;
+  for (j = 33;j < 64;++j) xzm1[j] = 0;
+
+  xzm[0] = 1;
+  for (j = 1;j < 64;++j) xzm[j] = 0;
+
+  for (pos = 254;pos >= 0;--pos) {
+    b = e[pos / 8] >> (pos & 7);
+    b &= 1;
+    select(xzmb,xzm1b,xzm,xzm1,b);
+    add(a0,xzmb,xzmb + 32);
+    sub(a0 + 32,xzmb,xzmb + 32);
+    add(a1,xzm1b,xzm1b + 32);
+    sub(a1 + 32,xzm1b,xzm1b + 32);
+    square(b0,a0);
+    square(b0 + 32,a0 + 32);
+    mult(b1,a1,a0 + 32);
+    mult(b1 + 32,a1 + 32,a0);
+    add(c1,b1,b1 + 32);
+    sub(c1 + 32,b1,b1 + 32);
+    square(r,c1 + 32);
+    sub(s,b0,b0 + 32);
+    mult121665(t,s);
+    add(u,t,b0);
+    mult(xznb,b0,b0 + 32);
+    mult(xznb + 32,s,u);
+    square(xzn1b,c1);
+    mult(xzn1b + 32,r,work);
+    select(xzm,xzm1,xznb,xzn1b,b);
+  }
+
+  for (j = 0;j < 64;++j) work[j] = xzm[j];
+}
+
+static void recip(unsigned int out[32],const unsigned int z[32])
+{
+  unsigned int z2[32];
+  unsigned int z9[32];
+  unsigned int z11[32];
+  unsigned int z2_5_0[32];
+  unsigned int z2_10_0[32];
+  unsigned int z2_20_0[32];
+  unsigned int z2_50_0[32];
+  unsigned int z2_100_0[32];
+  unsigned int t0[32];
+  unsigned int t1[32];
+  int i;
+
+  /* 2 */ square(z2,z);
+  /* 4 */ square(t1,z2);
+  /* 8 */ square(t0,t1);
+  /* 9 */ mult(z9,t0,z);
+  /* 11 */ mult(z11,z9,z2);
+  /* 22 */ square(t0,z11);
+  /* 2^5 - 2^0 = 31 */ mult(z2_5_0,t0,z9);
+
+  /* 2^6 - 2^1 */ square(t0,z2_5_0);
+  /* 2^7 - 2^2 */ square(t1,t0);
+  /* 2^8 - 2^3 */ square(t0,t1);
+  /* 2^9 - 2^4 */ square(t1,t0);
+  /* 2^10 - 2^5 */ square(t0,t1);
+  /* 2^10 - 2^0 */ mult(z2_10_0,t0,z2_5_0);
+
+  /* 2^11 - 2^1 */ square(t0,z2_10_0);
+  /* 2^12 - 2^2 */ square(t1,t0);
+  /* 2^20 - 2^10 */ for (i = 2;i < 10;i += 2) { square(t0,t1); square(t1,t0); }
+  /* 2^20 - 2^0 */ mult(z2_20_0,t1,z2_10_0);
+
+  /* 2^21 - 2^1 */ square(t0,z2_20_0);
+  /* 2^22 - 2^2 */ square(t1,t0);
+  /* 2^40 - 2^20 */ for (i = 2;i < 20;i += 2) { square(t0,t1); square(t1,t0); }
+  /* 2^40 - 2^0 */ mult(t0,t1,z2_20_0);
+
+  /* 2^41 - 2^1 */ square(t1,t0);
+  /* 2^42 - 2^2 */ square(t0,t1);
+  /* 2^50 - 2^10 */ for (i = 2;i < 10;i += 2) { square(t1,t0); square(t0,t1); }
+  /* 2^50 - 2^0 */ mult(z2_50_0,t0,z2_10_0);
+
+  /* 2^51 - 2^1 */ square(t0,z2_50_0);
+  /* 2^52 - 2^2 */ square(t1,t0);
+  /* 2^100 - 2^50 */ for (i = 2;i < 50;i += 2) { square(t0,t1); square(t1,t0); }
+  /* 2^100 - 2^0 */ mult(z2_100_0,t1,z2_50_0);
+
+  /* 2^101 - 2^1 */ square(t1,z2_100_0);
+  /* 2^102 - 2^2 */ square(t0,t1);
+  /* 2^200 - 2^100 */ for (i = 2;i < 100;i += 2) { square(t1,t0); square(t0,t1); }
+  /* 2^200 - 2^0 */ mult(t1,t0,z2_100_0);
+
+  /* 2^201 - 2^1 */ square(t0,t1);
+  /* 2^202 - 2^2 */ square(t1,t0);
+  /* 2^250 - 2^50 */ for (i = 2;i < 50;i += 2) { square(t0,t1); square(t1,t0); }
+  /* 2^250 - 2^0 */ mult(t0,t1,z2_50_0);
+
+  /* 2^251 - 2^1 */ square(t1,t0);
+  /* 2^252 - 2^2 */ square(t0,t1);
+  /* 2^253 - 2^3 */ square(t1,t0);
+  /* 2^254 - 2^4 */ square(t0,t1);
+  /* 2^255 - 2^5 */ square(t1,t0);
+  /* 2^255 - 21 */ mult(out,t1,z11);
+}
+
+int crypto_scalarmult(unsigned char *q,
+  const unsigned char *n,
+  const unsigned char *p)
+{
+  unsigned int work[96];
+  unsigned char e[32];
+  unsigned int i;
+  for (i = 0;i < 32;++i) e[i] = n[i];
+  e[0] &= 248;
+  e[31] &= 127;
+  e[31] |= 64;
+  for (i = 0;i < 32;++i) work[i] = p[i];
+  mainloop(work,e);
+  recip(work + 32,work + 32);
+  mult(work + 64,work,work + 32);
+  freeze(work + 64);
+  for (i = 0;i < 32;++i) q[i] = work[64 + i];
+  return 0;
+}
+
+#endif
diff --git a/src/libsodium/src/libsodium/crypto_secretbox/crypto_secretbox.c b/src/libsodium/src/libsodium/crypto_secretbox/crypto_secretbox.c
new file mode 100644
index 00000000..06801ee1
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_secretbox/crypto_secretbox.c
@@ -0,0 +1,48 @@
+
+#include "crypto_secretbox.h"
+
+size_t
+crypto_secretbox_keybytes(void)
+{
+    return crypto_secretbox_KEYBYTES;
+}
+
+size_t
+crypto_secretbox_noncebytes(void)
+{
+    return crypto_secretbox_NONCEBYTES;
+}
+
+size_t
+crypto_secretbox_zerobytes(void)
+{
+    return crypto_secretbox_ZEROBYTES;
+}
+
+size_t
+crypto_secretbox_boxzerobytes(void)
+{
+    return crypto_secretbox_BOXZEROBYTES;
+}
+
+const char *
+crypto_secretbox_primitive(void)
+{
+    return crypto_secretbox_PRIMITIVE;
+}
+
+int
+crypto_secretbox(unsigned char *c, const unsigned char *m,
+                 unsigned long long mlen, const unsigned char *n,
+                 const unsigned char *k)
+{
+    return crypto_secretbox_xsalsa20poly1305(c, m, mlen, n, k);
+}
+
+int
+crypto_secretbox_open(unsigned char *m, const unsigned char *c,
+                      unsigned long long clen, const unsigned char *n,
+                      const unsigned char *k)
+{
+    return crypto_secretbox_xsalsa20poly1305_open(m, c, clen, n, k);
+}
diff --git a/src/libsodium/src/libsodium/crypto_secretbox/xsalsa20poly1305/ref/api.h b/src/libsodium/src/libsodium/crypto_secretbox/xsalsa20poly1305/ref/api.h
new file mode 100644
index 00000000..a4920ddd
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_secretbox/xsalsa20poly1305/ref/api.h
@@ -0,0 +1,12 @@
+
+#include "crypto_secretbox_xsalsa20poly1305.h"
+
+#define crypto_secretbox crypto_secretbox_xsalsa20poly1305
+#define crypto_secretbox_open crypto_secretbox_xsalsa20poly1305_open
+#define crypto_secretbox_KEYBYTES crypto_secretbox_xsalsa20poly1305_KEYBYTES
+#define crypto_secretbox_NONCEBYTES crypto_secretbox_xsalsa20poly1305_NONCEBYTES
+#define crypto_secretbox_ZEROBYTES crypto_secretbox_xsalsa20poly1305_ZEROBYTES
+#define crypto_secretbox_BOXZEROBYTES crypto_secretbox_xsalsa20poly1305_BOXZEROBYTES
+#define crypto_secretbox_PRIMITIVE "xsalsa20poly1305"
+#define crypto_secretbox_IMPLEMENTATION crypto_secretbox_xsalsa20poly1305_IMPLEMENTATION
+#define crypto_secretbox_VERSION crypto_secretbox_xsalsa20poly1305_VERSION
diff --git a/src/libsodium/src/libsodium/crypto_secretbox/xsalsa20poly1305/ref/box_xsalsa20poly1305.c b/src/libsodium/src/libsodium/crypto_secretbox/xsalsa20poly1305/ref/box_xsalsa20poly1305.c
new file mode 100644
index 00000000..f68334ef
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_secretbox/xsalsa20poly1305/ref/box_xsalsa20poly1305.c
@@ -0,0 +1,35 @@
+#include "api.h"
+#include "crypto_onetimeauth_poly1305.h"
+#include "crypto_stream_xsalsa20.h"
+
+int crypto_secretbox(
+  unsigned char *c,
+  const unsigned char *m,unsigned long long mlen,
+  const unsigned char *n,
+  const unsigned char *k
+)
+{
+  int i;
+  if (mlen < 32) return -1;
+  crypto_stream_xsalsa20_xor(c,m,mlen,n,k);
+  crypto_onetimeauth_poly1305(c + 16,c + 32,mlen - 32,c);
+  for (i = 0;i < 16;++i) c[i] = 0;
+  return 0;
+}
+
+int crypto_secretbox_open(
+  unsigned char *m,
+  const unsigned char *c,unsigned long long clen,
+  const unsigned char *n,
+  const unsigned char *k
+)
+{
+  int i;
+  unsigned char subkey[32];
+  if (clen < 32) return -1;
+  crypto_stream_xsalsa20(subkey,32,n,k);
+  if (crypto_onetimeauth_poly1305_verify(c + 16,c + 32,clen - 32,subkey) != 0) return -1;
+  crypto_stream_xsalsa20_xor(m,c,clen,n,k);
+  for (i = 0;i < 32;++i) m[i] = 0;
+  return 0;
+}
diff --git a/src/libsodium/src/libsodium/crypto_secretbox/xsalsa20poly1305/secretbox_xsalsa20poly1305_api.c b/src/libsodium/src/libsodium/crypto_secretbox/xsalsa20poly1305/secretbox_xsalsa20poly1305_api.c
new file mode 100644
index 00000000..498437f3
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_secretbox/xsalsa20poly1305/secretbox_xsalsa20poly1305_api.c
@@ -0,0 +1,26 @@
+#include "crypto_secretbox_xsalsa20poly1305.h"
+
+size_t
+crypto_secretbox_xsalsa20poly1305_keybytes(void) {
+    return crypto_secretbox_xsalsa20poly1305_KEYBYTES;
+}
+
+size_t
+crypto_secretbox_xsalsa20poly1305_noncebytes(void) {
+    return crypto_secretbox_xsalsa20poly1305_NONCEBYTES;
+}
+
+size_t
+crypto_secretbox_xsalsa20poly1305_zerobytes(void) {
+    return crypto_secretbox_xsalsa20poly1305_ZEROBYTES;
+}
+
+size_t
+crypto_secretbox_xsalsa20poly1305_boxzerobytes(void) {
+    return crypto_secretbox_xsalsa20poly1305_BOXZEROBYTES;
+}
+
+const char *
+crypto_secretbox_xsalsa20poly1305_primitive(void) {
+    return "xsalsa20poly1305";
+}
diff --git a/src/libsodium/src/libsodium/crypto_shorthash/crypto_shorthash.c b/src/libsodium/src/libsodium/crypto_shorthash/crypto_shorthash.c
new file mode 100644
index 00000000..b68b58a4
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_shorthash/crypto_shorthash.c
@@ -0,0 +1,27 @@
+
+#include "crypto_shorthash.h"
+
+size_t
+crypto_shorthash_bytes(void)
+{
+    return crypto_shorthash_BYTES;
+}
+
+size_t
+crypto_shorthash_keybytes(void)
+{
+    return crypto_shorthash_KEYBYTES;
+}
+
+const char *
+crypto_shorthash_primitive(void)
+{
+    return crypto_shorthash_PRIMITIVE;
+}
+
+int
+crypto_shorthash(unsigned char *out, const unsigned char *in,
+                 unsigned long long inlen, const unsigned char *k)
+{
+    return crypto_shorthash_siphash24(out, in, inlen, k);
+}
diff --git a/src/libsodium/src/libsodium/crypto_shorthash/siphash24/ref/api.h b/src/libsodium/src/libsodium/crypto_shorthash/siphash24/ref/api.h
new file mode 100644
index 00000000..55cc26fe
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_shorthash/siphash24/ref/api.h
@@ -0,0 +1,8 @@
+
+#include "crypto_shorthash_siphash24.h"
+
+#define crypto_shorthash crypto_shorthash_siphash24
+#define crypto_shorthash_BYTES crypto_shorthash_siphash24_BYTES
+#define crypto_shorthash_PRIMITIVE "siphash24"
+#define crypto_shorthash_IMPLEMENTATION crypto_shorthash_siphash24_IMPLEMENTATION
+#define crypto_shorthash_VERSION crypto_shorthash_siphash24_VERSION
diff --git a/src/libsodium/src/libsodium/crypto_shorthash/siphash24/ref/shorthash_siphash24.c b/src/libsodium/src/libsodium/crypto_shorthash/siphash24/ref/shorthash_siphash24.c
new file mode 100644
index 00000000..36763820
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_shorthash/siphash24/ref/shorthash_siphash24.c
@@ -0,0 +1,91 @@
+#include "api.h"
+#include "crypto_uint64.h"
+#include "crypto_uint32.h"
+#include "crypto_uint8.h"
+
+typedef crypto_uint64 u64;
+typedef crypto_uint32 u32;
+typedef crypto_uint8   u8;
+
+#define ROTL(x,b) (u64)( ((x) << (b)) | ( (x) >> (64 - (b))) )
+
+#define U32TO8_LE(p, v)         \
+    (p)[0] = (u8)((v)      ); (p)[1] = (u8)((v) >>  8); \
+    (p)[2] = (u8)((v) >> 16); (p)[3] = (u8)((v) >> 24);
+
+#define U64TO8_LE(p, v)         \
+  U32TO8_LE((p),     (u32)((v)      ));   \
+  U32TO8_LE((p) + 4, (u32)((v) >> 32));
+
+#define U8TO64_LE(p) \
+  (((u64)((p)[0])      ) | \
+   ((u64)((p)[1]) <<  8) | \
+   ((u64)((p)[2]) << 16) | \
+   ((u64)((p)[3]) << 24) | \
+   ((u64)((p)[4]) << 32) | \
+   ((u64)((p)[5]) << 40) | \
+   ((u64)((p)[6]) << 48) | \
+   ((u64)((p)[7]) << 56))
+
+#define SIPROUND            \
+  do {              \
+    v0 += v1; v1=ROTL(v1,13); v1 ^= v0; v0=ROTL(v0,32); \
+    v2 += v3; v3=ROTL(v3,16); v3 ^= v2;     \
+    v0 += v3; v3=ROTL(v3,21); v3 ^= v0;     \
+    v2 += v1; v1=ROTL(v1,17); v1 ^= v2; v2=ROTL(v2,32); \
+  } while(0)
+
+int crypto_shorthash(unsigned char *out,const unsigned char *in,unsigned long long inlen,const unsigned char *k)
+{
+  /* "somepseudorandomlygeneratedbytes" */
+  u64 v0 = 0x736f6d6570736575ULL;
+  u64 v1 = 0x646f72616e646f6dULL;
+  u64 v2 = 0x6c7967656e657261ULL;
+  u64 v3 = 0x7465646279746573ULL;
+  u64 b;
+  u64 k0 = U8TO64_LE( k );
+  u64 k1 = U8TO64_LE( k + 8 );
+  u64 m;
+  const u8 *end = in + inlen - ( inlen % sizeof( u64 ) );
+  const int left = inlen & 7;
+  b = ( ( u64 )inlen ) << 56;
+  v3 ^= k1;
+  v2 ^= k0;
+  v1 ^= k1;
+  v0 ^= k0;
+
+  for ( ; in != end; in += 8 )
+  {
+    m = U8TO64_LE( in );
+    v3 ^= m;
+    SIPROUND;
+    SIPROUND;
+    v0 ^= m;
+  }
+
+  switch( left )
+  {
+  case 7: b |= ( ( u64 )in[ 6] )  << 48;
+  case 6: b |= ( ( u64 )in[ 5] )  << 40;
+  case 5: b |= ( ( u64 )in[ 4] )  << 32;
+  case 4: b |= ( ( u64 )in[ 3] )  << 24;
+  case 3: b |= ( ( u64 )in[ 2] )  << 16;
+  case 2: b |= ( ( u64 )in[ 1] )  <<  8;
+  case 1: b |= ( ( u64 )in[ 0] ); break;
+  case 0: break;
+  }
+
+  v3 ^= b;
+  SIPROUND;
+  SIPROUND;
+  v0 ^= b;
+  v2 ^= 0xff;
+  SIPROUND;
+  SIPROUND;
+  SIPROUND;
+  SIPROUND;
+  b = v0 ^ v1 ^ v2  ^ v3;
+  U64TO8_LE( out, b );
+  return 0;
+}
+
diff --git a/src/libsodium/src/libsodium/crypto_shorthash/siphash24/shorthash_siphash24_api.c b/src/libsodium/src/libsodium/crypto_shorthash/siphash24/shorthash_siphash24_api.c
new file mode 100644
index 00000000..dd60202c
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_shorthash/siphash24/shorthash_siphash24_api.c
@@ -0,0 +1,11 @@
+#include "crypto_shorthash_siphash24.h"
+
+size_t
+crypto_shorthash_siphash24_bytes(void) {
+    return crypto_shorthash_siphash24_BYTES;
+}
+
+const char *
+crypto_shorthash_siphash24_primitive(void) {
+    return "siphash24";
+}
diff --git a/src/libsodium/src/libsodium/crypto_sign/crypto_sign.c b/src/libsodium/src/libsodium/crypto_sign/crypto_sign.c
new file mode 100644
index 00000000..81fb1b96
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_sign/crypto_sign.c
@@ -0,0 +1,61 @@
+
+#include "crypto_sign.h"
+
+size_t
+crypto_sign_bytes(void)
+{
+    return crypto_sign_BYTES;
+}
+
+size_t
+crypto_sign_seedbytes(void)
+{
+    return crypto_sign_SEEDBYTES;
+}
+
+size_t
+crypto_sign_publickeybytes(void)
+{
+    return crypto_sign_PUBLICKEYBYTES;
+}
+
+size_t
+crypto_sign_secretkeybytes(void)
+{
+    return crypto_sign_SECRETKEYBYTES;
+}
+
+const char *
+crypto_sign_primitive(void)
+{
+    return crypto_sign_PRIMITIVE;
+}
+
+int
+crypto_sign_seed_keypair(unsigned char *pk, unsigned char *sk,
+                         const unsigned char *seed)
+{
+    return crypto_sign_ed25519_seed_keypair(pk, sk, seed);
+}
+
+int
+crypto_sign_keypair(unsigned char *pk, unsigned char *sk)
+{
+    return crypto_sign_ed25519_keypair(pk, sk);
+}
+
+int
+crypto_sign(unsigned char *sm, unsigned long long *smlen,
+            const unsigned char *m, unsigned long long mlen,
+            const unsigned char *sk)
+{
+    return crypto_sign_ed25519(sm, smlen, m, mlen, sk);
+}
+
+int
+crypto_sign_open(unsigned char *m, unsigned long long *mlen,
+                 const unsigned char *sm, unsigned long long smlen,
+                 const unsigned char *pk)
+{
+    return crypto_sign_ed25519_open(m, mlen, sm, smlen, pk);
+}
diff --git a/src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/api.h b/src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/api.h
new file mode 100644
index 00000000..74309f7e
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/api.h
@@ -0,0 +1,14 @@
+
+#include "crypto_sign_ed25519.h"
+
+#define crypto_sign crypto_sign_ed25519
+#define crypto_sign_open crypto_sign_ed25519_open
+#define crypto_sign_keypair crypto_sign_ed25519_keypair
+#define crypto_sign_seed_keypair crypto_sign_ed25519_seed_keypair
+#define crypto_sign_BYTES crypto_sign_ed25519_BYTES
+#define crypto_sign_SEEDBYTES crypto_sign_ed25519_SEEDBYTES
+#define crypto_sign_PUBLICKEYBYTES crypto_sign_ed25519_PUBLICKEYBYTES
+#define crypto_sign_SECRETKEYBYTES crypto_sign_ed25519_SECRETKEYBYTES
+#define crypto_sign_PRIMITIVE "ed25519"
+#define crypto_sign_IMPLEMENTATION crypto_sign_ed25519_IMPLEMENTATION
+#define crypto_sign_VERSION crypto_sign_ed25519_VERSION
diff --git a/src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/base.h b/src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/base.h
new file mode 100644
index 00000000..573bd8a0
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/base.h
@@ -0,0 +1,1344 @@
+{
+ {
+  { 25967493,-14356035,29566456,3660896,-12694345,4014787,27544626,-11754271,-6079156,2047605 },
+  { -12545711,934262,-2722910,3049990,-727428,9406986,12720692,5043384,19500929,-15469378 },
+  { -8738181,4489570,9688441,-14785194,10184609,-12363380,29287919,11864899,-24514362,-4438546 },
+ },
+ {
+  { -12815894,-12976347,-21581243,11784320,-25355658,-2750717,-11717903,-3814571,-358445,-10211303 },
+  { -21703237,6903825,27185491,6451973,-29577724,-9554005,-15616551,11189268,-26829678,-5319081 },
+  { 26966642,11152617,32442495,15396054,14353839,-12752335,-3128826,-9541118,-15472047,-4166697 },
+ },
+ {
+  { 15636291,-9688557,24204773,-7912398,616977,-16685262,27787600,-14772189,28944400,-1550024 },
+  { 16568933,4717097,-11556148,-1102322,15682896,-11807043,16354577,-11775962,7689662,11199574 },
+  { 30464156,-5976125,-11779434,-15670865,23220365,15915852,7512774,10017326,-17749093,-9920357 },
+ },
+ {
+  { -17036878,13921892,10945806,-6033431,27105052,-16084379,-28926210,15006023,3284568,-6276540 },
+  { 23599295,-8306047,-11193664,-7687416,13236774,10506355,7464579,9656445,13059162,10374397 },
+  { 7798556,16710257,3033922,2874086,28997861,2835604,32406664,-3839045,-641708,-101325 },
+ },
+ {
+  { 10861363,11473154,27284546,1981175,-30064349,12577861,32867885,14515107,-15438304,10819380 },
+  { 4708026,6336745,20377586,9066809,-11272109,6594696,-25653668,12483688,-12668491,5581306 },
+  { 19563160,16186464,-29386857,4097519,10237984,-4348115,28542350,13850243,-23678021,-15815942 },
+ },
+ {
+  { -15371964,-12862754,32573250,4720197,-26436522,5875511,-19188627,-15224819,-9818940,-12085777 },
+  { -8549212,109983,15149363,2178705,22900618,4543417,3044240,-15689887,1762328,14866737 },
+  { -18199695,-15951423,-10473290,1707278,-17185920,3916101,-28236412,3959421,27914454,4383652 },
+ },
+ {
+  { 5153746,9909285,1723747,-2777874,30523605,5516873,19480852,5230134,-23952439,-15175766 },
+  { -30269007,-3463509,7665486,10083793,28475525,1649722,20654025,16520125,30598449,7715701 },
+  { 28881845,14381568,9657904,3680757,-20181635,7843316,-31400660,1370708,29794553,-1409300 },
+ },
+ {
+  { 14499471,-2729599,-33191113,-4254652,28494862,14271267,30290735,10876454,-33154098,2381726 },
+  { -7195431,-2655363,-14730155,462251,-27724326,3941372,-6236617,3696005,-32300832,15351955 },
+  { 27431194,8222322,16448760,-3907995,-18707002,11938355,-32961401,-2970515,29551813,10109425 },
+ },
+},
+{
+ {
+  { -13657040,-13155431,-31283750,11777098,21447386,6519384,-2378284,-1627556,10092783,-4764171 },
+  { 27939166,14210322,4677035,16277044,-22964462,-12398139,-32508754,12005538,-17810127,12803510 },
+  { 17228999,-15661624,-1233527,300140,-1224870,-11714777,30364213,-9038194,18016357,4397660 },
+ },
+ {
+  { -10958843,-7690207,4776341,-14954238,27850028,-15602212,-26619106,14544525,-17477504,982639 },
+  { 29253598,15796703,-2863982,-9908884,10057023,3163536,7332899,-4120128,-21047696,9934963 },
+  { 5793303,16271923,-24131614,-10116404,29188560,1206517,-14747930,4559895,-30123922,-10897950 },
+ },
+ {
+  { -27643952,-11493006,16282657,-11036493,28414021,-15012264,24191034,4541697,-13338309,5500568 },
+  { 12650548,-1497113,9052871,11355358,-17680037,-8400164,-17430592,12264343,10874051,13524335 },
+  { 25556948,-3045990,714651,2510400,23394682,-10415330,33119038,5080568,-22528059,5376628 },
+ },
+ {
+  { -26088264,-4011052,-17013699,-3537628,-6726793,1920897,-22321305,-9447443,4535768,1569007 },
+  { -2255422,14606630,-21692440,-8039818,28430649,8775819,-30494562,3044290,31848280,12543772 },
+  { -22028579,2943893,-31857513,6777306,13784462,-4292203,-27377195,-2062731,7718482,14474653 },
+ },
+ {
+  { 2385315,2454213,-22631320,46603,-4437935,-15680415,656965,-7236665,24316168,-5253567 },
+  { 13741529,10911568,-33233417,-8603737,-20177830,-1033297,33040651,-13424532,-20729456,8321686 },
+  { 21060490,-2212744,15712757,-4336099,1639040,10656336,23845965,-11874838,-9984458,608372 },
+ },
+ {
+  { -13672732,-15087586,-10889693,-7557059,-6036909,11305547,1123968,-6780577,27229399,23887 },
+  { -23244140,-294205,-11744728,14712571,-29465699,-2029617,12797024,-6440308,-1633405,16678954 },
+  { -29500620,4770662,-16054387,14001338,7830047,9564805,-1508144,-4795045,-17169265,4904953 },
+ },
+ {
+  { 24059557,14617003,19037157,-15039908,19766093,-14906429,5169211,16191880,2128236,-4326833 },
+  { -16981152,4124966,-8540610,-10653797,30336522,-14105247,-29806336,916033,-6882542,-2986532 },
+  { -22630907,12419372,-7134229,-7473371,-16478904,16739175,285431,2763829,15736322,4143876 },
+ },
+ {
+  { 2379352,11839345,-4110402,-5988665,11274298,794957,212801,-14594663,23527084,-16458268 },
+  { 33431127,-11130478,-17838966,-15626900,8909499,8376530,-32625340,4087881,-15188911,-14416214 },
+  { 1767683,7197987,-13205226,-2022635,-13091350,448826,5799055,4357868,-4774191,-16323038 },
+ },
+},
+{
+ {
+  { 6721966,13833823,-23523388,-1551314,26354293,-11863321,23365147,-3949732,7390890,2759800 },
+  { 4409041,2052381,23373853,10530217,7676779,-12885954,21302353,-4264057,1244380,-12919645 },
+  { -4421239,7169619,4982368,-2957590,30256825,-2777540,14086413,9208236,15886429,16489664 },
+ },
+ {
+  { 1996075,10375649,14346367,13311202,-6874135,-16438411,-13693198,398369,-30606455,-712933 },
+  { -25307465,9795880,-2777414,14878809,-33531835,14780363,13348553,12076947,-30836462,5113182 },
+  { -17770784,11797796,31950843,13929123,-25888302,12288344,-30341101,-7336386,13847711,5387222 },
+ },
+ {
+  { -18582163,-3416217,17824843,-2340966,22744343,-10442611,8763061,3617786,-19600662,10370991 },
+  { 20246567,-14369378,22358229,-543712,18507283,-10413996,14554437,-8746092,32232924,16763880 },
+  { 9648505,10094563,26416693,14745928,-30374318,-6472621,11094161,15689506,3140038,-16510092 },
+ },
+ {
+  { -16160072,5472695,31895588,4744994,8823515,10365685,-27224800,9448613,-28774454,366295 },
+  { 19153450,11523972,-11096490,-6503142,-24647631,5420647,28344573,8041113,719605,11671788 },
+  { 8678025,2694440,-6808014,2517372,4964326,11152271,-15432916,-15266516,27000813,-10195553 },
+ },
+ {
+  { -15157904,7134312,8639287,-2814877,-7235688,10421742,564065,5336097,6750977,-14521026 },
+  { 11836410,-3979488,26297894,16080799,23455045,15735944,1695823,-8819122,8169720,16220347 },
+  { -18115838,8653647,17578566,-6092619,-8025777,-16012763,-11144307,-2627664,-5990708,-14166033 },
+ },
+ {
+  { -23308498,-10968312,15213228,-10081214,-30853605,-11050004,27884329,2847284,2655861,1738395 },
+  { -27537433,-14253021,-25336301,-8002780,-9370762,8129821,21651608,-3239336,-19087449,-11005278 },
+  { 1533110,3437855,23735889,459276,29970501,11335377,26030092,5821408,10478196,8544890 },
+ },
+ {
+  { 32173121,-16129311,24896207,3921497,22579056,-3410854,19270449,12217473,17789017,-3395995 },
+  { -30552961,-2228401,-15578829,-10147201,13243889,517024,15479401,-3853233,30460520,1052596 },
+  { -11614875,13323618,32618793,8175907,-15230173,12596687,27491595,-4612359,3179268,-9478891 },
+ },
+ {
+  { 31947069,-14366651,-4640583,-15339921,-15125977,-6039709,-14756777,-16411740,19072640,-9511060 },
+  { 11685058,11822410,3158003,-13952594,33402194,-4165066,5977896,-5215017,473099,5040608 },
+  { -20290863,8198642,-27410132,11602123,1290375,-2799760,28326862,1721092,-19558642,-3131606 },
+ },
+},
+{
+ {
+  { 7881532,10687937,7578723,7738378,-18951012,-2553952,21820786,8076149,-27868496,11538389 },
+  { -19935666,3899861,18283497,-6801568,-15728660,-11249211,8754525,7446702,-5676054,5797016 },
+  { -11295600,-3793569,-15782110,-7964573,12708869,-8456199,2014099,-9050574,-2369172,-5877341 },
+ },
+ {
+  { -22472376,-11568741,-27682020,1146375,18956691,16640559,1192730,-3714199,15123619,10811505 },
+  { 14352098,-3419715,-18942044,10822655,32750596,4699007,-70363,15776356,-28886779,-11974553 },
+  { -28241164,-8072475,-4978962,-5315317,29416931,1847569,-20654173,-16484855,4714547,-9600655 },
+ },
+ {
+  { 15200332,8368572,19679101,15970074,-31872674,1959451,24611599,-4543832,-11745876,12340220 },
+  { 12876937,-10480056,33134381,6590940,-6307776,14872440,9613953,8241152,15370987,9608631 },
+  { -4143277,-12014408,8446281,-391603,4407738,13629032,-7724868,15866074,-28210621,-8814099 },
+ },
+ {
+  { 26660628,-15677655,8393734,358047,-7401291,992988,-23904233,858697,20571223,8420556 },
+  { 14620715,13067227,-15447274,8264467,14106269,15080814,33531827,12516406,-21574435,-12476749 },
+  { 236881,10476226,57258,-14677024,6472998,2466984,17258519,7256740,8791136,15069930 },
+ },
+ {
+  { 1276410,-9371918,22949635,-16322807,-23493039,-5702186,14711875,4874229,-30663140,-2331391 },
+  { 5855666,4990204,-13711848,7294284,-7804282,1924647,-1423175,-7912378,-33069337,9234253 },
+  { 20590503,-9018988,31529744,-7352666,-2706834,10650548,31559055,-11609587,18979186,13396066 },
+ },
+ {
+  { 24474287,4968103,22267082,4407354,24063882,-8325180,-18816887,13594782,33514650,7021958 },
+  { -11566906,-6565505,-21365085,15928892,-26158305,4315421,-25948728,-3916677,-21480480,12868082 },
+  { -28635013,13504661,19988037,-2132761,21078225,6443208,-21446107,2244500,-12455797,-8089383 },
+ },
+ {
+  { -30595528,13793479,-5852820,319136,-25723172,-6263899,33086546,8957937,-15233648,5540521 },
+  { -11630176,-11503902,-8119500,-7643073,2620056,1022908,-23710744,-1568984,-16128528,-14962807 },
+  { 23152971,775386,27395463,14006635,-9701118,4649512,1689819,892185,-11513277,-15205948 },
+ },
+ {
+  { 9770129,9586738,26496094,4324120,1556511,-3550024,27453819,4763127,-19179614,5867134 },
+  { -32765025,1927590,31726409,-4753295,23962434,-16019500,27846559,5931263,-29749703,-16108455 },
+  { 27461885,-2977536,22380810,1815854,-23033753,-3031938,7283490,-15148073,-19526700,7734629 },
+ },
+},
+{
+ {
+  { -8010264,-9590817,-11120403,6196038,29344158,-13430885,7585295,-3176626,18549497,15302069 },
+  { -32658337,-6171222,-7672793,-11051681,6258878,13504381,10458790,-6418461,-8872242,8424746 },
+  { 24687205,8613276,-30667046,-3233545,1863892,-1830544,19206234,7134917,-11284482,-828919 },
+ },
+ {
+  { 11334899,-9218022,8025293,12707519,17523892,-10476071,10243738,-14685461,-5066034,16498837 },
+  { 8911542,6887158,-9584260,-6958590,11145641,-9543680,17303925,-14124238,6536641,10543906 },
+  { -28946384,15479763,-17466835,568876,-1497683,11223454,-2669190,-16625574,-27235709,8876771 },
+ },
+ {
+  { -25742899,-12566864,-15649966,-846607,-33026686,-796288,-33481822,15824474,-604426,-9039817 },
+  { 10330056,70051,7957388,-9002667,9764902,15609756,27698697,-4890037,1657394,3084098 },
+  { 10477963,-7470260,12119566,-13250805,29016247,-5365589,31280319,14396151,-30233575,15272409 },
+ },
+ {
+  { -12288309,3169463,28813183,16658753,25116432,-5630466,-25173957,-12636138,-25014757,1950504 },
+  { -26180358,9489187,11053416,-14746161,-31053720,5825630,-8384306,-8767532,15341279,8373727 },
+  { 28685821,7759505,-14378516,-12002860,-31971820,4079242,298136,-10232602,-2878207,15190420 },
+ },
+ {
+  { -32932876,13806336,-14337485,-15794431,-24004620,10940928,8669718,2742393,-26033313,-6875003 },
+  { -1580388,-11729417,-25979658,-11445023,-17411874,-10912854,9291594,-16247779,-12154742,6048605 },
+  { -30305315,14843444,1539301,11864366,20201677,1900163,13934231,5128323,11213262,9168384 },
+ },
+ {
+  { -26280513,11007847,19408960,-940758,-18592965,-4328580,-5088060,-11105150,20470157,-16398701 },
+  { -23136053,9282192,14855179,-15390078,-7362815,-14408560,-22783952,14461608,14042978,5230683 },
+  { 29969567,-2741594,-16711867,-8552442,9175486,-2468974,21556951,3506042,-5933891,-12449708 },
+ },
+ {
+  { -3144746,8744661,19704003,4581278,-20430686,6830683,-21284170,8971513,-28539189,15326563 },
+  { -19464629,10110288,-17262528,-3503892,-23500387,1355669,-15523050,15300988,-20514118,9168260 },
+  { -5353335,4488613,-23803248,16314347,7780487,-15638939,-28948358,9601605,33087103,-9011387 },
+ },
+ {
+  { -19443170,-15512900,-20797467,-12445323,-29824447,10229461,-27444329,-15000531,-5996870,15664672 },
+  { 23294591,-16632613,-22650781,-8470978,27844204,11461195,13099750,-2460356,18151676,13417686 },
+  { -24722913,-4176517,-31150679,5988919,-26858785,6685065,1661597,-12551441,15271676,-15452665 },
+ },
+},
+{
+ {
+  { 11433042,-13228665,8239631,-5279517,-1985436,-725718,-18698764,2167544,-6921301,-13440182 },
+  { -31436171,15575146,30436815,12192228,-22463353,9395379,-9917708,-8638997,12215110,12028277 },
+  { 14098400,6555944,23007258,5757252,-15427832,-12950502,30123440,4617780,-16900089,-655628 },
+ },
+ {
+  { -4026201,-15240835,11893168,13718664,-14809462,1847385,-15819999,10154009,23973261,-12684474 },
+  { -26531820,-3695990,-1908898,2534301,-31870557,-16550355,18341390,-11419951,32013174,-10103539 },
+  { -25479301,10876443,-11771086,-14625140,-12369567,1838104,21911214,6354752,4425632,-837822 },
+ },
+ {
+  { -10433389,-14612966,22229858,-3091047,-13191166,776729,-17415375,-12020462,4725005,14044970 },
+  { 19268650,-7304421,1555349,8692754,-21474059,-9910664,6347390,-1411784,-19522291,-16109756 },
+  { -24864089,12986008,-10898878,-5558584,-11312371,-148526,19541418,8180106,9282262,10282508 },
+ },
+ {
+  { -26205082,4428547,-8661196,-13194263,4098402,-14165257,15522535,8372215,5542595,-10702683 },
+  { -10562541,14895633,26814552,-16673850,-17480754,-2489360,-2781891,6993761,-18093885,10114655 },
+  { -20107055,-929418,31422704,10427861,-7110749,6150669,-29091755,-11529146,25953725,-106158 },
+ },
+ {
+  { -4234397,-8039292,-9119125,3046000,2101609,-12607294,19390020,6094296,-3315279,12831125 },
+  { -15998678,7578152,5310217,14408357,-33548620,-224739,31575954,6326196,7381791,-2421839 },
+  { -20902779,3296811,24736065,-16328389,18374254,7318640,6295303,8082724,-15362489,12339664 },
+ },
+ {
+  { 27724736,2291157,6088201,-14184798,1792727,5857634,13848414,15768922,25091167,14856294 },
+  { -18866652,8331043,24373479,8541013,-701998,-9269457,12927300,-12695493,-22182473,-9012899 },
+  { -11423429,-5421590,11632845,3405020,30536730,-11674039,-27260765,13866390,30146206,9142070 },
+ },
+ {
+  { 3924129,-15307516,-13817122,-10054960,12291820,-668366,-27702774,9326384,-8237858,4171294 },
+  { -15921940,16037937,6713787,16606682,-21612135,2790944,26396185,3731949,345228,-5462949 },
+  { -21327538,13448259,25284571,1143661,20614966,-8849387,2031539,-12391231,-16253183,-13582083 },
+ },
+ {
+  { 31016211,-16722429,26371392,-14451233,-5027349,14854137,17477601,3842657,28012650,-16405420 },
+  { -5075835,9368966,-8562079,-4600902,-15249953,6970560,-9189873,16292057,-8867157,3507940 },
+  { 29439664,3537914,23333589,6997794,-17555561,-11018068,-15209202,-15051267,-9164929,6580396 },
+ },
+},
+{
+ {
+  { -12185861,-7679788,16438269,10826160,-8696817,-6235611,17860444,-9273846,-2095802,9304567 },
+  { 20714564,-4336911,29088195,7406487,11426967,-5095705,14792667,-14608617,5289421,-477127 },
+  { -16665533,-10650790,-6160345,-13305760,9192020,-1802462,17271490,12349094,26939669,-3752294 },
+ },
+ {
+  { -12889898,9373458,31595848,16374215,21471720,13221525,-27283495,-12348559,-3698806,117887 },
+  { 22263325,-6560050,3984570,-11174646,-15114008,-566785,28311253,5358056,-23319780,541964 },
+  { 16259219,3261970,2309254,-15534474,-16885711,-4581916,24134070,-16705829,-13337066,-13552195 },
+ },
+ {
+  { 9378160,-13140186,-22845982,-12745264,28198281,-7244098,-2399684,-717351,690426,14876244 },
+  { 24977353,-314384,-8223969,-13465086,28432343,-1176353,-13068804,-12297348,-22380984,6618999 },
+  { -1538174,11685646,12944378,13682314,-24389511,-14413193,8044829,-13817328,32239829,-5652762 },
+ },
+ {
+  { -18603066,4762990,-926250,8885304,-28412480,-3187315,9781647,-10350059,32779359,5095274 },
+  { -33008130,-5214506,-32264887,-3685216,9460461,-9327423,-24601656,14506724,21639561,-2630236 },
+  { -16400943,-13112215,25239338,15531969,3987758,-4499318,-1289502,-6863535,17874574,558605 },
+ },
+ {
+  { -13600129,10240081,9171883,16131053,-20869254,9599700,33499487,5080151,2085892,5119761 },
+  { -22205145,-2519528,-16381601,414691,-25019550,2170430,30634760,-8363614,-31999993,-5759884 },
+  { -6845704,15791202,8550074,-1312654,29928809,-12092256,27534430,-7192145,-22351378,12961482 },
+ },
+ {
+  { -24492060,-9570771,10368194,11582341,-23397293,-2245287,16533930,8206996,-30194652,-5159638 },
+  { -11121496,-3382234,2307366,6362031,-135455,8868177,-16835630,7031275,7589640,8945490 },
+  { -32152748,8917967,6661220,-11677616,-1192060,-15793393,7251489,-11182180,24099109,-14456170 },
+ },
+ {
+  { 5019558,-7907470,4244127,-14714356,-26933272,6453165,-19118182,-13289025,-6231896,-10280736 },
+  { 10853594,10721687,26480089,5861829,-22995819,1972175,-1866647,-10557898,-3363451,-6441124 },
+  { -17002408,5906790,221599,-6563147,7828208,-13248918,24362661,-2008168,-13866408,7421392 },
+ },
+ {
+  { 8139927,-6546497,32257646,-5890546,30375719,1886181,-21175108,15441252,28826358,-4123029 },
+  { 6267086,9695052,7709135,-16603597,-32869068,-1886135,14795160,-7840124,13746021,-1742048 },
+  { 28584902,7787108,-6732942,-15050729,22846041,-7571236,-3181936,-363524,4771362,-8419958 },
+ },
+},
+{
+ {
+  { 24949256,6376279,-27466481,-8174608,-18646154,-9930606,33543569,-12141695,3569627,11342593 },
+  { 26514989,4740088,27912651,3697550,19331575,-11472339,6809886,4608608,7325975,-14801071 },
+  { -11618399,-14554430,-24321212,7655128,-1369274,5214312,-27400540,10258390,-17646694,-8186692 },
+ },
+ {
+  { 11431204,15823007,26570245,14329124,18029990,4796082,-31446179,15580664,9280358,-3973687 },
+  { -160783,-10326257,-22855316,-4304997,-20861367,-13621002,-32810901,-11181622,-15545091,4387441 },
+  { -20799378,12194512,3937617,-5805892,-27154820,9340370,-24513992,8548137,20617071,-7482001 },
+ },
+ {
+  { -938825,-3930586,-8714311,16124718,24603125,-6225393,-13775352,-11875822,24345683,10325460 },
+  { -19855277,-1568885,-22202708,8714034,14007766,6928528,16318175,-1010689,4766743,3552007 },
+  { -21751364,-16730916,1351763,-803421,-4009670,3950935,3217514,14481909,10988822,-3994762 },
+ },
+ {
+  { 15564307,-14311570,3101243,5684148,30446780,-8051356,12677127,-6505343,-8295852,13296005 },
+  { -9442290,6624296,-30298964,-11913677,-4670981,-2057379,31521204,9614054,-30000824,12074674 },
+  { 4771191,-135239,14290749,-13089852,27992298,14998318,-1413936,-1556716,29832613,-16391035 },
+ },
+ {
+  { 7064884,-7541174,-19161962,-5067537,-18891269,-2912736,25825242,5293297,-27122660,13101590 },
+  { -2298563,2439670,-7466610,1719965,-27267541,-16328445,32512469,-5317593,-30356070,-4190957 },
+  { -30006540,10162316,-33180176,3981723,-16482138,-13070044,14413974,9515896,19568978,9628812 },
+ },
+ {
+  { 33053803,199357,15894591,1583059,27380243,-4580435,-17838894,-6106839,-6291786,3437740 },
+  { -18978877,3884493,19469877,12726490,15913552,13614290,-22961733,70104,7463304,4176122 },
+  { -27124001,10659917,11482427,-16070381,12771467,-6635117,-32719404,-5322751,24216882,5944158 },
+ },
+ {
+  { 8894125,7450974,-2664149,-9765752,-28080517,-12389115,19345746,14680796,11632993,5847885 },
+  { 26942781,-2315317,9129564,-4906607,26024105,11769399,-11518837,6367194,-9727230,4782140 },
+  { 19916461,-4828410,-22910704,-11414391,25606324,-5972441,33253853,8220911,6358847,-1873857 },
+ },
+ {
+  { 801428,-2081702,16569428,11065167,29875704,96627,7908388,-4480480,-13538503,1387155 },
+  { 19646058,5720633,-11416706,12814209,11607948,12749789,14147075,15156355,-21866831,11835260 },
+  { 19299512,1155910,28703737,14890794,2925026,7269399,26121523,15467869,-26560550,5052483 },
+ },
+},
+{
+ {
+  { -3017432,10058206,1980837,3964243,22160966,12322533,-6431123,-12618185,12228557,-7003677 },
+  { 32944382,14922211,-22844894,5188528,21913450,-8719943,4001465,13238564,-6114803,8653815 },
+  { 22865569,-4652735,27603668,-12545395,14348958,8234005,24808405,5719875,28483275,2841751 },
+ },
+ {
+  { -16420968,-1113305,-327719,-12107856,21886282,-15552774,-1887966,-315658,19932058,-12739203 },
+  { -11656086,10087521,-8864888,-5536143,-19278573,-3055912,3999228,13239134,-4777469,-13910208 },
+  { 1382174,-11694719,17266790,9194690,-13324356,9720081,20403944,11284705,-14013818,3093230 },
+ },
+ {
+  { 16650921,-11037932,-1064178,1570629,-8329746,7352753,-302424,16271225,-24049421,-6691850 },
+  { -21911077,-5927941,-4611316,-5560156,-31744103,-10785293,24123614,15193618,-21652117,-16739389 },
+  { -9935934,-4289447,-25279823,4372842,2087473,10399484,31870908,14690798,17361620,11864968 },
+ },
+ {
+  { -11307610,6210372,13206574,5806320,-29017692,-13967200,-12331205,-7486601,-25578460,-16240689 },
+  { 14668462,-12270235,26039039,15305210,25515617,4542480,10453892,6577524,9145645,-6443880 },
+  { 5974874,3053895,-9433049,-10385191,-31865124,3225009,-7972642,3936128,-5652273,-3050304 },
+ },
+ {
+  { 30625386,-4729400,-25555961,-12792866,-20484575,7695099,17097188,-16303496,-27999779,1803632 },
+  { -3553091,9865099,-5228566,4272701,-5673832,-16689700,14911344,12196514,-21405489,7047412 },
+  { 20093277,9920966,-11138194,-5343857,13161587,12044805,-32856851,4124601,-32343828,-10257566 },
+ },
+ {
+  { -20788824,14084654,-13531713,7842147,19119038,-13822605,4752377,-8714640,-21679658,2288038 },
+  { -26819236,-3283715,29965059,3039786,-14473765,2540457,29457502,14625692,-24819617,12570232 },
+  { -1063558,-11551823,16920318,12494842,1278292,-5869109,-21159943,-3498680,-11974704,4724943 },
+ },
+ {
+  { 17960970,-11775534,-4140968,-9702530,-8876562,-1410617,-12907383,-8659932,-29576300,1903856 },
+  { 23134274,-14279132,-10681997,-1611936,20684485,15770816,-12989750,3190296,26955097,14109738 },
+  { 15308788,5320727,-30113809,-14318877,22902008,7767164,29425325,-11277562,31960942,11934971 },
+ },
+ {
+  { -27395711,8435796,4109644,12222639,-24627868,14818669,20638173,4875028,10491392,1379718 },
+  { -13159415,9197841,3875503,-8936108,-1383712,-5879801,33518459,16176658,21432314,12180697 },
+  { -11787308,11500838,13787581,-13832590,-22430679,10140205,1465425,12689540,-10301319,-13872883 },
+ },
+},
+{
+ {
+  { 5414091,-15386041,-21007664,9643570,12834970,1186149,-2622916,-1342231,26128231,6032912 },
+  { -26337395,-13766162,32496025,-13653919,17847801,-12669156,3604025,8316894,-25875034,-10437358 },
+  { 3296484,6223048,24680646,-12246460,-23052020,5903205,-8862297,-4639164,12376617,3188849 },
+ },
+ {
+  { 29190488,-14659046,27549113,-1183516,3520066,-10697301,32049515,-7309113,-16109234,-9852307 },
+  { -14744486,-9309156,735818,-598978,-20407687,-5057904,25246078,-15795669,18640741,-960977 },
+  { -6928835,-16430795,10361374,5642961,4910474,12345252,-31638386,-494430,10530747,1053335 },
+ },
+ {
+  { -29265967,-14186805,-13538216,-12117373,-19457059,-10655384,-31462369,-2948985,24018831,15026644 },
+  { -22592535,-3145277,-2289276,5953843,-13440189,9425631,25310643,13003497,-2314791,-15145616 },
+  { -27419985,-603321,-8043984,-1669117,-26092265,13987819,-27297622,187899,-23166419,-2531735 },
+ },
+ {
+  { -21744398,-13810475,1844840,5021428,-10434399,-15911473,9716667,16266922,-5070217,726099 },
+  { 29370922,-6053998,7334071,-15342259,9385287,2247707,-13661962,-4839461,30007388,-15823341 },
+  { -936379,16086691,23751945,-543318,-1167538,-5189036,9137109,730663,9835848,4555336 },
+ },
+ {
+  { -23376435,1410446,-22253753,-12899614,30867635,15826977,17693930,544696,-11985298,12422646 },
+  { 31117226,-12215734,-13502838,6561947,-9876867,-12757670,-5118685,-4096706,29120153,13924425 },
+  { -17400879,-14233209,19675799,-2734756,-11006962,-5858820,-9383939,-11317700,7240931,-237388 },
+ },
+ {
+  { -31361739,-11346780,-15007447,-5856218,-22453340,-12152771,1222336,4389483,3293637,-15551743 },
+  { -16684801,-14444245,11038544,11054958,-13801175,-3338533,-24319580,7733547,12796905,-6335822 },
+  { -8759414,-10817836,-25418864,10783769,-30615557,-9746811,-28253339,3647836,3222231,-11160462 },
+ },
+ {
+  { 18606113,1693100,-25448386,-15170272,4112353,10045021,23603893,-2048234,-7550776,2484985 },
+  { 9255317,-3131197,-12156162,-1004256,13098013,-9214866,16377220,-2102812,-19802075,-3034702 },
+  { -22729289,7496160,-5742199,11329249,19991973,-3347502,-31718148,9936966,-30097688,-10618797 },
+ },
+ {
+  { 21878590,-5001297,4338336,13643897,-3036865,13160960,19708896,5415497,-7360503,-4109293 },
+  { 27736861,10103576,12500508,8502413,-3413016,-9633558,10436918,-1550276,-23659143,-8132100 },
+  { 19492550,-12104365,-29681976,-852630,-3208171,12403437,30066266,8367329,13243957,8709688 },
+ },
+},
+{
+ {
+  { 12015105,2801261,28198131,10151021,24818120,-4743133,-11194191,-5645734,5150968,7274186 },
+  { 2831366,-12492146,1478975,6122054,23825128,-12733586,31097299,6083058,31021603,-9793610 },
+  { -2529932,-2229646,445613,10720828,-13849527,-11505937,-23507731,16354465,15067285,-14147707 },
+ },
+ {
+  { 7840942,14037873,-33364863,15934016,-728213,-3642706,21403988,1057586,-19379462,-12403220 },
+  { 915865,-16469274,15608285,-8789130,-24357026,6060030,-17371319,8410997,-7220461,16527025 },
+  { 32922597,-556987,20336074,-16184568,10903705,-5384487,16957574,52992,23834301,6588044 },
+ },
+ {
+  { 32752030,11232950,3381995,-8714866,22652988,-10744103,17159699,16689107,-20314580,-1305992 },
+  { -4689649,9166776,-25710296,-10847306,11576752,12733943,7924251,-2752281,1976123,-7249027 },
+  { 21251222,16309901,-2983015,-6783122,30810597,12967303,156041,-3371252,12331345,-8237197 },
+ },
+ {
+  { 8651614,-4477032,-16085636,-4996994,13002507,2950805,29054427,-5106970,10008136,-4667901 },
+  { 31486080,15114593,-14261250,12951354,14369431,-7387845,16347321,-13662089,8684155,-10532952 },
+  { 19443825,11385320,24468943,-9659068,-23919258,2187569,-26263207,-6086921,31316348,14219878 },
+ },
+ {
+  { -28594490,1193785,32245219,11392485,31092169,15722801,27146014,6992409,29126555,9207390 },
+  { 32382935,1110093,18477781,11028262,-27411763,-7548111,-4980517,10843782,-7957600,-14435730 },
+  { 2814918,7836403,27519878,-7868156,-20894015,-11553689,-21494559,8550130,28346258,1994730 },
+ },
+ {
+  { -19578299,8085545,-14000519,-3948622,2785838,-16231307,-19516951,7174894,22628102,8115180 },
+  { -30405132,955511,-11133838,-15078069,-32447087,-13278079,-25651578,3317160,-9943017,930272 },
+  { -15303681,-6833769,28856490,1357446,23421993,1057177,24091212,-1388970,-22765376,-10650715 },
+ },
+ {
+  { -22751231,-5303997,-12907607,-12768866,-15811511,-7797053,-14839018,-16554220,-1867018,8398970 },
+  { -31969310,2106403,-4736360,1362501,12813763,16200670,22981545,-6291273,18009408,-15772772 },
+  { -17220923,-9545221,-27784654,14166835,29815394,7444469,29551787,-3727419,19288549,1325865 },
+ },
+ {
+  { 15100157,-15835752,-23923978,-1005098,-26450192,15509408,12376730,-3479146,33166107,-8042750 },
+  { 20909231,13023121,-9209752,16251778,-5778415,-8094914,12412151,10018715,2213263,-13878373 },
+  { 32529814,-11074689,30361439,-16689753,-9135940,1513226,22922121,6382134,-5766928,8371348 },
+ },
+},
+{
+ {
+  { 9923462,11271500,12616794,3544722,-29998368,-1721626,12891687,-8193132,-26442943,10486144 },
+  { -22597207,-7012665,8587003,-8257861,4084309,-12970062,361726,2610596,-23921530,-11455195 },
+  { 5408411,-1136691,-4969122,10561668,24145918,14240566,31319731,-4235541,19985175,-3436086 },
+ },
+ {
+  { -13994457,16616821,14549246,3341099,32155958,13648976,-17577068,8849297,65030,8370684 },
+  { -8320926,-12049626,31204563,5839400,-20627288,-1057277,-19442942,6922164,12743482,-9800518 },
+  { -2361371,12678785,28815050,4759974,-23893047,4884717,23783145,11038569,18800704,255233 },
+ },
+ {
+  { -5269658,-1773886,13957886,7990715,23132995,728773,13393847,9066957,19258688,-14753793 },
+  { -2936654,-10827535,-10432089,14516793,-3640786,4372541,-31934921,2209390,-1524053,2055794 },
+  { 580882,16705327,5468415,-2683018,-30926419,-14696000,-7203346,-8994389,-30021019,7394435 },
+ },
+ {
+  { 23838809,1822728,-15738443,15242727,8318092,-3733104,-21672180,-3492205,-4821741,14799921 },
+  { 13345610,9759151,3371034,-16137791,16353039,8577942,31129804,13496856,-9056018,7402518 },
+  { 2286874,-4435931,-20042458,-2008336,-13696227,5038122,11006906,-15760352,8205061,1607563 },
+ },
+ {
+  { 14414086,-8002132,3331830,-3208217,22249151,-5594188,18364661,-2906958,30019587,-9029278 },
+  { -27688051,1585953,-10775053,931069,-29120221,-11002319,-14410829,12029093,9944378,8024 },
+  { 4368715,-3709630,29874200,-15022983,-20230386,-11410704,-16114594,-999085,-8142388,5640030 },
+ },
+ {
+  { 10299610,13746483,11661824,16234854,7630238,5998374,9809887,-16694564,15219798,-14327783 },
+  { 27425505,-5719081,3055006,10660664,23458024,595578,-15398605,-1173195,-18342183,9742717 },
+  { 6744077,2427284,26042789,2720740,-847906,1118974,32324614,7406442,12420155,1994844 },
+ },
+ {
+  { 14012521,-5024720,-18384453,-9578469,-26485342,-3936439,-13033478,-10909803,24319929,-6446333 },
+  { 16412690,-4507367,10772641,15929391,-17068788,-4658621,10555945,-10484049,-30102368,-4739048 },
+  { 22397382,-7767684,-9293161,-12792868,17166287,-9755136,-27333065,6199366,21880021,-12250760 },
+ },
+ {
+  { -4283307,5368523,-31117018,8163389,-30323063,3209128,16557151,8890729,8840445,4957760 },
+  { -15447727,709327,-6919446,-10870178,-29777922,6522332,-21720181,12130072,-14796503,5005757 },
+  { -2114751,-14308128,23019042,15765735,-25269683,6002752,10183197,-13239326,-16395286,-2176112 },
+ },
+},
+{
+ {
+  { -19025756,1632005,13466291,-7995100,-23640451,16573537,-32013908,-3057104,22208662,2000468 },
+  { 3065073,-1412761,-25598674,-361432,-17683065,-5703415,-8164212,11248527,-3691214,-7414184 },
+  { 10379208,-6045554,8877319,1473647,-29291284,-12507580,16690915,2553332,-3132688,16400289 },
+ },
+ {
+  { 15716668,1254266,-18472690,7446274,-8448918,6344164,-22097271,-7285580,26894937,9132066 },
+  { 24158887,12938817,11085297,-8177598,-28063478,-4457083,-30576463,64452,-6817084,-2692882 },
+  { 13488534,7794716,22236231,5989356,25426474,-12578208,2350710,-3418511,-4688006,2364226 },
+ },
+ {
+  { 16335052,9132434,25640582,6678888,1725628,8517937,-11807024,-11697457,15445875,-7798101 },
+  { 29004207,-7867081,28661402,-640412,-12794003,-7943086,31863255,-4135540,-278050,-15759279 },
+  { -6122061,-14866665,-28614905,14569919,-10857999,-3591829,10343412,-6976290,-29828287,-10815811 },
+ },
+ {
+  { 27081650,3463984,14099042,-4517604,1616303,-6205604,29542636,15372179,17293797,960709 },
+  { 20263915,11434237,-5765435,11236810,13505955,-10857102,-16111345,6493122,-19384511,7639714 },
+  { -2830798,-14839232,25403038,-8215196,-8317012,-16173699,18006287,-16043750,29994677,-15808121 },
+ },
+ {
+  { 9769828,5202651,-24157398,-13631392,-28051003,-11561624,-24613141,-13860782,-31184575,709464 },
+  { 12286395,13076066,-21775189,-1176622,-25003198,4057652,-32018128,-8890874,16102007,13205847 },
+  { 13733362,5599946,10557076,3195751,-5557991,8536970,-25540170,8525972,10151379,10394400 },
+ },
+ {
+  { 4024660,-16137551,22436262,12276534,-9099015,-2686099,19698229,11743039,-33302334,8934414 },
+  { -15879800,-4525240,-8580747,-2934061,14634845,-698278,-9449077,3137094,-11536886,11721158 },
+  { 17555939,-5013938,8268606,2331751,-22738815,9761013,9319229,8835153,-9205489,-1280045 },
+ },
+ {
+  { -461409,-7830014,20614118,16688288,-7514766,-4807119,22300304,505429,6108462,-6183415 },
+  { -5070281,12367917,-30663534,3234473,32617080,-8422642,29880583,-13483331,-26898490,-7867459 },
+  { -31975283,5726539,26934134,10237677,-3173717,-605053,24199304,3795095,7592688,-14992079 },
+ },
+ {
+  { 21594432,-14964228,17466408,-4077222,32537084,2739898,6407723,12018833,-28256052,4298412 },
+  { -20650503,-11961496,-27236275,570498,3767144,-1717540,13891942,-1569194,13717174,10805743 },
+  { -14676630,-15644296,15287174,11927123,24177847,-8175568,-796431,14860609,-26938930,-5863836 },
+ },
+},
+{
+ {
+  { 12962541,5311799,-10060768,11658280,18855286,-7954201,13286263,-12808704,-4381056,9882022 },
+  { 18512079,11319350,-20123124,15090309,18818594,5271736,-22727904,3666879,-23967430,-3299429 },
+  { -6789020,-3146043,16192429,13241070,15898607,-14206114,-10084880,-6661110,-2403099,5276065 },
+ },
+ {
+  { 30169808,-5317648,26306206,-11750859,27814964,7069267,7152851,3684982,1449224,13082861 },
+  { 10342826,3098505,2119311,193222,25702612,12233820,23697382,15056736,-21016438,-8202000 },
+  { -33150110,3261608,22745853,7948688,19370557,-15177665,-26171976,6482814,-10300080,-11060101 },
+ },
+ {
+  { 32869458,-5408545,25609743,15678670,-10687769,-15471071,26112421,2521008,-22664288,6904815 },
+  { 29506923,4457497,3377935,-9796444,-30510046,12935080,1561737,3841096,-29003639,-6657642 },
+  { 10340844,-6630377,-18656632,-2278430,12621151,-13339055,30878497,-11824370,-25584551,5181966 },
+ },
+ {
+  { 25940115,-12658025,17324188,-10307374,-8671468,15029094,24396252,-16450922,-2322852,-12388574 },
+  { -21765684,9916823,-1300409,4079498,-1028346,11909559,1782390,12641087,20603771,-6561742 },
+  { -18882287,-11673380,24849422,11501709,13161720,-4768874,1925523,11914390,4662781,7820689 },
+ },
+ {
+  { 12241050,-425982,8132691,9393934,32846760,-1599620,29749456,12172924,16136752,15264020 },
+  { -10349955,-14680563,-8211979,2330220,-17662549,-14545780,10658213,6671822,19012087,3772772 },
+  { 3753511,-3421066,10617074,2028709,14841030,-6721664,28718732,-15762884,20527771,12988982 },
+ },
+ {
+  { -14822485,-5797269,-3707987,12689773,-898983,-10914866,-24183046,-10564943,3299665,-12424953 },
+  { -16777703,-15253301,-9642417,4978983,3308785,8755439,6943197,6461331,-25583147,8991218 },
+  { -17226263,1816362,-1673288,-6086439,31783888,-8175991,-32948145,7417950,-30242287,1507265 },
+ },
+ {
+  { 29692663,6829891,-10498800,4334896,20945975,-11906496,-28887608,8209391,14606362,-10647073 },
+  { -3481570,8707081,32188102,5672294,22096700,1711240,-33020695,9761487,4170404,-2085325 },
+  { -11587470,14855945,-4127778,-1531857,-26649089,15084046,22186522,16002000,-14276837,-8400798 },
+ },
+ {
+  { -4811456,13761029,-31703877,-2483919,-3312471,7869047,-7113572,-9620092,13240845,10965870 },
+  { -7742563,-8256762,-14768334,-13656260,-23232383,12387166,4498947,14147411,29514390,4302863 },
+  { -13413405,-12407859,20757302,-13801832,14785143,8976368,-5061276,-2144373,17846988,-13971927 },
+ },
+},
+{
+ {
+  { -2244452,-754728,-4597030,-1066309,-6247172,1455299,-21647728,-9214789,-5222701,12650267 },
+  { -9906797,-16070310,21134160,12198166,-27064575,708126,387813,13770293,-19134326,10958663 },
+  { 22470984,12369526,23446014,-5441109,-21520802,-9698723,-11772496,-11574455,-25083830,4271862 },
+ },
+ {
+  { -25169565,-10053642,-19909332,15361595,-5984358,2159192,75375,-4278529,-32526221,8469673 },
+  { 15854970,4148314,-8893890,7259002,11666551,13824734,-30531198,2697372,24154791,-9460943 },
+  { 15446137,-15806644,29759747,14019369,30811221,-9610191,-31582008,12840104,24913809,9815020 },
+ },
+ {
+  { -4709286,-5614269,-31841498,-12288893,-14443537,10799414,-9103676,13438769,18735128,9466238 },
+  { 11933045,9281483,5081055,-5183824,-2628162,-4905629,-7727821,-10896103,-22728655,16199064 },
+  { 14576810,379472,-26786533,-8317236,-29426508,-10812974,-102766,1876699,30801119,2164795 },
+ },
+ {
+  { 15995086,3199873,13672555,13712240,-19378835,-4647646,-13081610,-15496269,-13492807,1268052 },
+  { -10290614,-3659039,-3286592,10948818,23037027,3794475,-3470338,-12600221,-17055369,3565904 },
+  { 29210088,-9419337,-5919792,-4952785,10834811,-13327726,-16512102,-10820713,-27162222,-14030531 },
+ },
+ {
+  { -13161890,15508588,16663704,-8156150,-28349942,9019123,-29183421,-3769423,2244111,-14001979 },
+  { -5152875,-3800936,-9306475,-6071583,16243069,14684434,-25673088,-16180800,13491506,4641841 },
+  { 10813417,643330,-19188515,-728916,30292062,-16600078,27548447,-7721242,14476989,-12767431 },
+ },
+ {
+  { 10292079,9984945,6481436,8279905,-7251514,7032743,27282937,-1644259,-27912810,12651324 },
+  { -31185513,-813383,22271204,11835308,10201545,15351028,17099662,3988035,21721536,-3148940 },
+  { 10202177,-6545839,-31373232,-9574638,-32150642,-8119683,-12906320,3852694,13216206,14842320 },
+ },
+ {
+  { -15815640,-10601066,-6538952,-7258995,-6984659,-6581778,-31500847,13765824,-27434397,9900184 },
+  { 14465505,-13833331,-32133984,-14738873,-27443187,12990492,33046193,15796406,-7051866,-8040114 },
+  { 30924417,-8279620,6359016,-12816335,16508377,9071735,-25488601,15413635,9524356,-7018878 },
+ },
+ {
+  { 12274201,-13175547,32627641,-1785326,6736625,13267305,5237659,-5109483,15663516,4035784 },
+  { -2951309,8903985,17349946,601635,-16432815,-4612556,-13732739,-15889334,-22258478,4659091 },
+  { -16916263,-4952973,-30393711,-15158821,20774812,15897498,5736189,15026997,-2178256,-13455585 },
+ },
+},
+{
+ {
+  { -8858980,-2219056,28571666,-10155518,-474467,-10105698,-3801496,278095,23440562,-290208 },
+  { 10226241,-5928702,15139956,120818,-14867693,5218603,32937275,11551483,-16571960,-7442864 },
+  { 17932739,-12437276,-24039557,10749060,11316803,7535897,22503767,5561594,-3646624,3898661 },
+ },
+ {
+  { 7749907,-969567,-16339731,-16464,-25018111,15122143,-1573531,7152530,21831162,1245233 },
+  { 26958459,-14658026,4314586,8346991,-5677764,11960072,-32589295,-620035,-30402091,-16716212 },
+  { -12165896,9166947,33491384,13673479,29787085,13096535,6280834,14587357,-22338025,13987525 },
+ },
+ {
+  { -24349909,7778775,21116000,15572597,-4833266,-5357778,-4300898,-5124639,-7469781,-2858068 },
+  { 9681908,-6737123,-31951644,13591838,-6883821,386950,31622781,6439245,-14581012,4091397 },
+  { -8426427,1470727,-28109679,-1596990,3978627,-5123623,-19622683,12092163,29077877,-14741988 },
+ },
+ {
+  { 5269168,-6859726,-13230211,-8020715,25932563,1763552,-5606110,-5505881,-20017847,2357889 },
+  { 32264008,-15407652,-5387735,-1160093,-2091322,-3946900,23104804,-12869908,5727338,189038 },
+  { 14609123,-8954470,-6000566,-16622781,-14577387,-7743898,-26745169,10942115,-25888931,-14884697 },
+ },
+ {
+  { 20513500,5557931,-15604613,7829531,26413943,-2019404,-21378968,7471781,13913677,-5137875 },
+  { -25574376,11967826,29233242,12948236,-6754465,4713227,-8940970,14059180,12878652,8511905 },
+  { -25656801,3393631,-2955415,-7075526,-2250709,9366908,-30223418,6812974,5568676,-3127656 },
+ },
+ {
+  { 11630004,12144454,2116339,13606037,27378885,15676917,-17408753,-13504373,-14395196,8070818 },
+  { 27117696,-10007378,-31282771,-5570088,1127282,12772488,-29845906,10483306,-11552749,-1028714 },
+  { 10637467,-5688064,5674781,1072708,-26343588,-6982302,-1683975,9177853,-27493162,15431203 },
+ },
+ {
+  { 20525145,10892566,-12742472,12779443,-29493034,16150075,-28240519,14943142,-15056790,-7935931 },
+  { -30024462,5626926,-551567,-9981087,753598,11981191,25244767,-3239766,-3356550,9594024 },
+  { -23752644,2636870,-5163910,-10103818,585134,7877383,11345683,-6492290,13352335,-10977084 },
+ },
+ {
+  { -1931799,-5407458,3304649,-12884869,17015806,-4877091,-29783850,-7752482,-13215537,-319204 },
+  { 20239939,6607058,6203985,3483793,-18386976,-779229,-20723742,15077870,-22750759,14523817 },
+  { 27406042,-6041657,27423596,-4497394,4996214,10002360,-28842031,-4545494,-30172742,-4805667 },
+ },
+},
+{
+ {
+  { 11374242,12660715,17861383,-12540833,10935568,1099227,-13886076,-9091740,-27727044,11358504 },
+  { -12730809,10311867,1510375,10778093,-2119455,-9145702,32676003,11149336,-26123651,4985768 },
+  { -19096303,341147,-6197485,-239033,15756973,-8796662,-983043,13794114,-19414307,-15621255 },
+ },
+ {
+  { 6490081,11940286,25495923,-7726360,8668373,-8751316,3367603,6970005,-1691065,-9004790 },
+  { 1656497,13457317,15370807,6364910,13605745,8362338,-19174622,-5475723,-16796596,-5031438 },
+  { -22273315,-13524424,-64685,-4334223,-18605636,-10921968,-20571065,-7007978,-99853,-10237333 },
+ },
+ {
+  { 17747465,10039260,19368299,-4050591,-20630635,-16041286,31992683,-15857976,-29260363,-5511971 },
+  { 31932027,-4986141,-19612382,16366580,22023614,88450,11371999,-3744247,4882242,-10626905 },
+  { 29796507,37186,19818052,10115756,-11829032,3352736,18551198,3272828,-5190932,-4162409 },
+ },
+ {
+  { 12501286,4044383,-8612957,-13392385,-32430052,5136599,-19230378,-3529697,330070,-3659409 },
+  { 6384877,2899513,17807477,7663917,-2358888,12363165,25366522,-8573892,-271295,12071499 },
+  { -8365515,-4042521,25133448,-4517355,-6211027,2265927,-32769618,1936675,-5159697,3829363 },
+ },
+ {
+  { 28425966,-5835433,-577090,-4697198,-14217555,6870930,7921550,-6567787,26333140,14267664 },
+  { -11067219,11871231,27385719,-10559544,-4585914,-11189312,10004786,-8709488,-21761224,8930324 },
+  { -21197785,-16396035,25654216,-1725397,12282012,11008919,1541940,4757911,-26491501,-16408940 },
+ },
+ {
+  { 13537262,-7759490,-20604840,10961927,-5922820,-13218065,-13156584,6217254,-15943699,13814990 },
+  { -17422573,15157790,18705543,29619,24409717,-260476,27361681,9257833,-1956526,-1776914 },
+  { -25045300,-10191966,15366585,15166509,-13105086,8423556,-29171540,12361135,-18685978,4578290 },
+ },
+ {
+  { 24579768,3711570,1342322,-11180126,-27005135,14124956,-22544529,14074919,21964432,8235257 },
+  { -6528613,-2411497,9442966,-5925588,12025640,-1487420,-2981514,-1669206,13006806,2355433 },
+  { -16304899,-13605259,-6632427,-5142349,16974359,-10911083,27202044,1719366,1141648,-12796236 },
+ },
+ {
+  { -12863944,-13219986,-8318266,-11018091,-6810145,-4843894,13475066,-3133972,32674895,13715045 },
+  { 11423335,-5468059,32344216,8962751,24989809,9241752,-13265253,16086212,-28740881,-15642093 },
+  { -1409668,12530728,-6368726,10847387,19531186,-14132160,-11709148,7791794,-27245943,4383347 },
+ },
+},
+{
+ {
+  { -28970898,5271447,-1266009,-9736989,-12455236,16732599,-4862407,-4906449,27193557,6245191 },
+  { -15193956,5362278,-1783893,2695834,4960227,12840725,23061898,3260492,22510453,8577507 },
+  { -12632451,11257346,-32692994,13548177,-721004,10879011,31168030,13952092,-29571492,-3635906 },
+ },
+ {
+  { 3877321,-9572739,32416692,5405324,-11004407,-13656635,3759769,11935320,5611860,8164018 },
+  { -16275802,14667797,15906460,12155291,-22111149,-9039718,32003002,-8832289,5773085,-8422109 },
+  { -23788118,-8254300,1950875,8937633,18686727,16459170,-905725,12376320,31632953,190926 },
+ },
+ {
+  { -24593607,-16138885,-8423991,13378746,14162407,6901328,-8288749,4508564,-25341555,-3627528 },
+  { 8884438,-5884009,6023974,10104341,-6881569,-4941533,18722941,-14786005,-1672488,827625 },
+  { -32720583,-16289296,-32503547,7101210,13354605,2659080,-1800575,-14108036,-24878478,1541286 },
+ },
+ {
+  { 2901347,-1117687,3880376,-10059388,-17620940,-3612781,-21802117,-3567481,20456845,-1885033 },
+  { 27019610,12299467,-13658288,-1603234,-12861660,-4861471,-19540150,-5016058,29439641,15138866 },
+  { 21536104,-6626420,-32447818,-10690208,-22408077,5175814,-5420040,-16361163,7779328,109896 },
+ },
+ {
+  { 30279744,14648750,-8044871,6425558,13639621,-743509,28698390,12180118,23177719,-554075 },
+  { 26572847,3405927,-31701700,12890905,-19265668,5335866,-6493768,2378492,4439158,-13279347 },
+  { -22716706,3489070,-9225266,-332753,18875722,-1140095,14819434,-12731527,-17717757,-5461437 },
+ },
+ {
+  { -5056483,16566551,15953661,3767752,-10436499,15627060,-820954,2177225,8550082,-15114165 },
+  { -18473302,16596775,-381660,15663611,22860960,15585581,-27844109,-3582739,-23260460,-8428588 },
+  { -32480551,15707275,-8205912,-5652081,29464558,2713815,-22725137,15860482,-21902570,1494193 },
+ },
+ {
+  { -19562091,-14087393,-25583872,-9299552,13127842,759709,21923482,16529112,8742704,12967017 },
+  { -28464899,1553205,32536856,-10473729,-24691605,-406174,-8914625,-2933896,-29903758,15553883 },
+  { 21877909,3230008,9881174,10539357,-4797115,2841332,11543572,14513274,19375923,-12647961 },
+ },
+ {
+  { 8832269,-14495485,13253511,5137575,5037871,4078777,24880818,-6222716,2862653,9455043 },
+  { 29306751,5123106,20245049,-14149889,9592566,8447059,-2077124,-2990080,15511449,4789663 },
+  { -20679756,7004547,8824831,-9434977,-4045704,-3750736,-5754762,108893,23513200,16652362 },
+ },
+},
+{
+ {
+  { -33256173,4144782,-4476029,-6579123,10770039,-7155542,-6650416,-12936300,-18319198,10212860 },
+  { 2756081,8598110,7383731,-6859892,22312759,-1105012,21179801,2600940,-9988298,-12506466 },
+  { -24645692,13317462,-30449259,-15653928,21365574,-10869657,11344424,864440,-2499677,-16710063 },
+ },
+ {
+  { -26432803,6148329,-17184412,-14474154,18782929,-275997,-22561534,211300,2719757,4940997 },
+  { -1323882,3911313,-6948744,14759765,-30027150,7851207,21690126,8518463,26699843,5276295 },
+  { -13149873,-6429067,9396249,365013,24703301,-10488939,1321586,149635,-15452774,7159369 },
+ },
+ {
+  { 9987780,-3404759,17507962,9505530,9731535,-2165514,22356009,8312176,22477218,-8403385 },
+  { 18155857,-16504990,19744716,9006923,15154154,-10538976,24256460,-4864995,-22548173,9334109 },
+  { 2986088,-4911893,10776628,-3473844,10620590,-7083203,-21413845,14253545,-22587149,536906 },
+ },
+ {
+  { 4377756,8115836,24567078,15495314,11625074,13064599,7390551,10589625,10838060,-15420424 },
+  { -19342404,867880,9277171,-3218459,-14431572,-1986443,19295826,-15796950,6378260,699185 },
+  { 7895026,4057113,-7081772,-13077756,-17886831,-323126,-716039,15693155,-5045064,-13373962 },
+ },
+ {
+  { -7737563,-5869402,-14566319,-7406919,11385654,13201616,31730678,-10962840,-3918636,-9669325 },
+  { 10188286,-15770834,-7336361,13427543,22223443,14896287,30743455,7116568,-21786507,5427593 },
+  { 696102,13206899,27047647,-10632082,15285305,-9853179,10798490,-4578720,19236243,12477404 },
+ },
+ {
+  { -11229439,11243796,-17054270,-8040865,-788228,-8167967,-3897669,11180504,-23169516,7733644 },
+  { 17800790,-14036179,-27000429,-11766671,23887827,3149671,23466177,-10538171,10322027,15313801 },
+  { 26246234,11968874,32263343,-5468728,6830755,-13323031,-15794704,-101982,-24449242,10890804 },
+ },
+ {
+  { -31365647,10271363,-12660625,-6267268,16690207,-13062544,-14982212,16484931,25180797,-5334884 },
+  { -586574,10376444,-32586414,-11286356,19801893,10997610,2276632,9482883,316878,13820577 },
+  { -9882808,-4510367,-2115506,16457136,-11100081,11674996,30756178,-7515054,30696930,-3712849 },
+ },
+ {
+  { 32988917,-9603412,12499366,7910787,-10617257,-11931514,-7342816,-9985397,-32349517,7392473 },
+  { -8855661,15927861,9866406,-3649411,-2396914,-16655781,-30409476,-9134995,25112947,-2926644 },
+  { -2504044,-436966,25621774,-5678772,15085042,-5479877,-24884878,-13526194,5537438,-13914319 },
+ },
+},
+{
+ {
+  { -11225584,2320285,-9584280,10149187,-33444663,5808648,-14876251,-1729667,31234590,6090599 },
+  { -9633316,116426,26083934,2897444,-6364437,-2688086,609721,15878753,-6970405,-9034768 },
+  { -27757857,247744,-15194774,-9002551,23288161,-10011936,-23869595,6503646,20650474,1804084 },
+ },
+ {
+  { -27589786,15456424,8972517,8469608,15640622,4439847,3121995,-10329713,27842616,-202328 },
+  { -15306973,2839644,22530074,10026331,4602058,5048462,28248656,5031932,-11375082,12714369 },
+  { 20807691,-7270825,29286141,11421711,-27876523,-13868230,-21227475,1035546,-19733229,12796920 },
+ },
+ {
+  { 12076899,-14301286,-8785001,-11848922,-25012791,16400684,-17591495,-12899438,3480665,-15182815 },
+  { -32361549,5457597,28548107,7833186,7303070,-11953545,-24363064,-15921875,-33374054,2771025 },
+  { -21389266,421932,26597266,6860826,22486084,-6737172,-17137485,-4210226,-24552282,15673397 },
+ },
+ {
+  { -20184622,2338216,19788685,-9620956,-4001265,-8740893,-20271184,4733254,3727144,-12934448 },
+  { 6120119,814863,-11794402,-622716,6812205,-15747771,2019594,7975683,31123697,-10958981 },
+  { 30069250,-11435332,30434654,2958439,18399564,-976289,12296869,9204260,-16432438,9648165 },
+ },
+ {
+  { 32705432,-1550977,30705658,7451065,-11805606,9631813,3305266,5248604,-26008332,-11377501 },
+  { 17219865,2375039,-31570947,-5575615,-19459679,9219903,294711,15298639,2662509,-16297073 },
+  { -1172927,-7558695,-4366770,-4287744,-21346413,-8434326,32087529,-1222777,32247248,-14389861 },
+ },
+ {
+  { 14312628,1221556,17395390,-8700143,-4945741,-8684635,-28197744,-9637817,-16027623,-13378845 },
+  { -1428825,-9678990,-9235681,6549687,-7383069,-468664,23046502,9803137,17597934,2346211 },
+  { 18510800,15337574,26171504,981392,-22241552,7827556,-23491134,-11323352,3059833,-11782870 },
+ },
+ {
+  { 10141598,6082907,17829293,-1947643,9830092,13613136,-25556636,-5544586,-33502212,3592096 },
+  { 33114168,-15889352,-26525686,-13343397,33076705,8716171,1151462,1521897,-982665,-6837803 },
+  { -32939165,-4255815,23947181,-324178,-33072974,-12305637,-16637686,3891704,26353178,693168 },
+ },
+ {
+  { 30374239,1595580,-16884039,13186931,4600344,406904,9585294,-400668,31375464,14369965 },
+  { -14370654,-7772529,1510301,6434173,-18784789,-6262728,32732230,-13108839,17901441,16011505 },
+  { 18171223,-11934626,-12500402,15197122,-11038147,-15230035,-19172240,-16046376,8764035,12309598 },
+ },
+},
+{
+ {
+  { 5975908,-5243188,-19459362,-9681747,-11541277,14015782,-23665757,1228319,17544096,-10593782 },
+  { 5811932,-1715293,3442887,-2269310,-18367348,-8359541,-18044043,-15410127,-5565381,12348900 },
+  { -31399660,11407555,25755363,6891399,-3256938,14872274,-24849353,8141295,-10632534,-585479 },
+ },
+ {
+  { -12675304,694026,-5076145,13300344,14015258,-14451394,-9698672,-11329050,30944593,1130208 },
+  { 8247766,-6710942,-26562381,-7709309,-14401939,-14648910,4652152,2488540,23550156,-271232 },
+  { 17294316,-3788438,7026748,15626851,22990044,113481,2267737,-5908146,-408818,-137719 },
+ },
+ {
+  { 16091085,-16253926,18599252,7340678,2137637,-1221657,-3364161,14550936,3260525,-7166271 },
+  { -4910104,-13332887,18550887,10864893,-16459325,-7291596,-23028869,-13204905,-12748722,2701326 },
+  { -8574695,16099415,4629974,-16340524,-20786213,-6005432,-10018363,9276971,11329923,1862132 },
+ },
+ {
+  { 14763076,-15903608,-30918270,3689867,3511892,10313526,-21951088,12219231,-9037963,-940300 },
+  { 8894987,-3446094,6150753,3013931,301220,15693451,-31981216,-2909717,-15438168,11595570 },
+  { 15214962,3537601,-26238722,-14058872,4418657,-15230761,13947276,10730794,-13489462,-4363670 },
+ },
+ {
+  { -2538306,7682793,32759013,263109,-29984731,-7955452,-22332124,-10188635,977108,699994 },
+  { -12466472,4195084,-9211532,550904,-15565337,12917920,19118110,-439841,-30534533,-14337913 },
+  { 31788461,-14507657,4799989,7372237,8808585,-14747943,9408237,-10051775,12493932,-5409317 },
+ },
+ {
+  { -25680606,5260744,-19235809,-6284470,-3695942,16566087,27218280,2607121,29375955,6024730 },
+  { 842132,-2794693,-4763381,-8722815,26332018,-12405641,11831880,6985184,-9940361,2854096 },
+  { -4847262,-7969331,2516242,-5847713,9695691,-7221186,16512645,960770,12121869,16648078 },
+ },
+ {
+  { -15218652,14667096,-13336229,2013717,30598287,-464137,-31504922,-7882064,20237806,2838411 },
+  { -19288047,4453152,15298546,-16178388,22115043,-15972604,12544294,-13470457,1068881,-12499905 },
+  { -9558883,-16518835,33238498,13506958,30505848,-1114596,-8486907,-2630053,12521378,4845654 },
+ },
+ {
+  { -28198521,10744108,-2958380,10199664,7759311,-13088600,3409348,-873400,-6482306,-12885870 },
+  { -23561822,6230156,-20382013,10655314,-24040585,-11621172,10477734,-1240216,-3113227,13974498 },
+  { 12966261,15550616,-32038948,-1615346,21025980,-629444,5642325,7188737,18895762,12629579 },
+ },
+},
+{
+ {
+  { 14741879,-14946887,22177208,-11721237,1279741,8058600,11758140,789443,32195181,3895677 },
+  { 10758205,15755439,-4509950,9243698,-4879422,6879879,-2204575,-3566119,-8982069,4429647 },
+  { -2453894,15725973,-20436342,-10410672,-5803908,-11040220,-7135870,-11642895,18047436,-15281743 },
+ },
+ {
+  { -25173001,-11307165,29759956,11776784,-22262383,-15820455,10993114,-12850837,-17620701,-9408468 },
+  { 21987233,700364,-24505048,14972008,-7774265,-5718395,32155026,2581431,-29958985,8773375 },
+  { -25568350,454463,-13211935,16126715,25240068,8594567,20656846,12017935,-7874389,-13920155 },
+ },
+ {
+  { 6028182,6263078,-31011806,-11301710,-818919,2461772,-31841174,-5468042,-1721788,-2776725 },
+  { -12278994,16624277,987579,-5922598,32908203,1248608,7719845,-4166698,28408820,6816612 },
+  { -10358094,-8237829,19549651,-12169222,22082623,16147817,20613181,13982702,-10339570,5067943 },
+ },
+ {
+  { -30505967,-3821767,12074681,13582412,-19877972,2443951,-19719286,12746132,5331210,-10105944 },
+  { 30528811,3601899,-1957090,4619785,-27361822,-15436388,24180793,-12570394,27679908,-1648928 },
+  { 9402404,-13957065,32834043,10838634,-26580150,-13237195,26653274,-8685565,22611444,-12715406 },
+ },
+ {
+  { 22190590,1118029,22736441,15130463,-30460692,-5991321,19189625,-4648942,4854859,6622139 },
+  { -8310738,-2953450,-8262579,-3388049,-10401731,-271929,13424426,-3567227,26404409,13001963 },
+  { -31241838,-15415700,-2994250,8939346,11562230,-12840670,-26064365,-11621720,-15405155,11020693 },
+ },
+ {
+  { 1866042,-7949489,-7898649,-10301010,12483315,13477547,3175636,-12424163,28761762,1406734 },
+  { -448555,-1777666,13018551,3194501,-9580420,-11161737,24760585,-4347088,25577411,-13378680 },
+  { -24290378,4759345,-690653,-1852816,2066747,10693769,-29595790,9884936,-9368926,4745410 },
+ },
+ {
+  { -9141284,6049714,-19531061,-4341411,-31260798,9944276,-15462008,-11311852,10931924,-11931931 },
+  { -16561513,14112680,-8012645,4817318,-8040464,-11414606,-22853429,10856641,-20470770,13434654 },
+  { 22759489,-10073434,-16766264,-1871422,13637442,-10168091,1765144,-12654326,28445307,-5364710 },
+ },
+ {
+  { 29875063,12493613,2795536,-3786330,1710620,15181182,-10195717,-8788675,9074234,1167180 },
+  { -26205683,11014233,-9842651,-2635485,-26908120,7532294,-18716888,-9535498,3843903,9367684 },
+  { -10969595,-6403711,9591134,9582310,11349256,108879,16235123,8601684,-139197,4242895 },
+ },
+},
+{
+ {
+  { 22092954,-13191123,-2042793,-11968512,32186753,-11517388,-6574341,2470660,-27417366,16625501 },
+  { -11057722,3042016,13770083,-9257922,584236,-544855,-7770857,2602725,-27351616,14247413 },
+  { 6314175,-10264892,-32772502,15957557,-10157730,168750,-8618807,14290061,27108877,-1180880 },
+ },
+ {
+  { -8586597,-7170966,13241782,10960156,-32991015,-13794596,33547976,-11058889,-27148451,981874 },
+  { 22833440,9293594,-32649448,-13618667,-9136966,14756819,-22928859,-13970780,-10479804,-16197962 },
+  { -7768587,3326786,-28111797,10783824,19178761,14905060,22680049,13906969,-15933690,3797899 },
+ },
+ {
+  { 21721356,-4212746,-12206123,9310182,-3882239,-13653110,23740224,-2709232,20491983,-8042152 },
+  { 9209270,-15135055,-13256557,-6167798,-731016,15289673,25947805,15286587,30997318,-6703063 },
+  { 7392032,16618386,23946583,-8039892,-13265164,-1533858,-14197445,-2321576,17649998,-250080 },
+ },
+ {
+  { -9301088,-14193827,30609526,-3049543,-25175069,-1283752,-15241566,-9525724,-2233253,7662146 },
+  { -17558673,1763594,-33114336,15908610,-30040870,-12174295,7335080,-8472199,-3174674,3440183 },
+  { -19889700,-5977008,-24111293,-9688870,10799743,-16571957,40450,-4431835,4862400,1133 },
+ },
+ {
+  { -32856209,-7873957,-5422389,14860950,-16319031,7956142,7258061,311861,-30594991,-7379421 },
+  { -3773428,-1565936,28985340,7499440,24445838,9325937,29727763,16527196,18278453,15405622 },
+  { -4381906,8508652,-19898366,-3674424,-5984453,15149970,-13313598,843523,-21875062,13626197 },
+ },
+ {
+  { 2281448,-13487055,-10915418,-2609910,1879358,16164207,-10783882,3953792,13340839,15928663 },
+  { 31727126,-7179855,-18437503,-8283652,2875793,-16390330,-25269894,-7014826,-23452306,5964753 },
+  { 4100420,-5959452,-17179337,6017714,-18705837,12227141,-26684835,11344144,2538215,-7570755 },
+ },
+ {
+  { -9433605,6123113,11159803,-2156608,30016280,14966241,-20474983,1485421,-629256,-15958862 },
+  { -26804558,4260919,11851389,9658551,-32017107,16367492,-20205425,-13191288,11659922,-11115118 },
+  { 26180396,10015009,-30844224,-8581293,5418197,9480663,2231568,-10170080,33100372,-1306171 },
+ },
+ {
+  { 15121113,-5201871,-10389905,15427821,-27509937,-15992507,21670947,4486675,-5931810,-14466380 },
+  { 16166486,-9483733,-11104130,6023908,-31926798,-1364923,2340060,-16254968,-10735770,-10039824 },
+  { 28042865,-3557089,-12126526,12259706,-3717498,-6945899,6766453,-8689599,18036436,5803270 },
+ },
+},
+{
+ {
+  { -817581,6763912,11803561,1585585,10958447,-2671165,23855391,4598332,-6159431,-14117438 },
+  { -31031306,-14256194,17332029,-2383520,31312682,-5967183,696309,50292,-20095739,11763584 },
+  { -594563,-2514283,-32234153,12643980,12650761,14811489,665117,-12613632,-19773211,-10713562 },
+ },
+ {
+  { 30464590,-11262872,-4127476,-12734478,19835327,-7105613,-24396175,2075773,-17020157,992471 },
+  { 18357185,-6994433,7766382,16342475,-29324918,411174,14578841,8080033,-11574335,-10601610 },
+  { 19598397,10334610,12555054,2555664,18821899,-10339780,21873263,16014234,26224780,16452269 },
+ },
+ {
+  { -30223925,5145196,5944548,16385966,3976735,2009897,-11377804,-7618186,-20533829,3698650 },
+  { 14187449,3448569,-10636236,-10810935,-22663880,-3433596,7268410,-10890444,27394301,12015369 },
+  { 19695761,16087646,28032085,12999827,6817792,11427614,20244189,-1312777,-13259127,-3402461 },
+ },
+ {
+  { 30860103,12735208,-1888245,-4699734,-16974906,2256940,-8166013,12298312,-8550524,-10393462 },
+  { -5719826,-11245325,-1910649,15569035,26642876,-7587760,-5789354,-15118654,-4976164,12651793 },
+  { -2848395,9953421,11531313,-5282879,26895123,-12697089,-13118820,-16517902,9768698,-2533218 },
+ },
+ {
+  { -24719459,1894651,-287698,-4704085,15348719,-8156530,32767513,12765450,4940095,10678226 },
+  { 18860224,15980149,-18987240,-1562570,-26233012,-11071856,-7843882,13944024,-24372348,16582019 },
+  { -15504260,4970268,-29893044,4175593,-20993212,-2199756,-11704054,15444560,-11003761,7989037 },
+ },
+ {
+  { 31490452,5568061,-2412803,2182383,-32336847,4531686,-32078269,6200206,-19686113,-14800171 },
+  { -17308668,-15879940,-31522777,-2831,-32887382,16375549,8680158,-16371713,28550068,-6857132 },
+  { -28126887,-5688091,16837845,-1820458,-6850681,12700016,-30039981,4364038,1155602,5988841 },
+ },
+ {
+  { 21890435,-13272907,-12624011,12154349,-7831873,15300496,23148983,-4470481,24618407,8283181 },
+  { -33136107,-10512751,9975416,6841041,-31559793,16356536,3070187,-7025928,1466169,10740210 },
+  { -1509399,-15488185,-13503385,-10655916,32799044,909394,-13938903,-5779719,-32164649,-15327040 },
+ },
+ {
+  { 3960823,-14267803,-28026090,-15918051,-19404858,13146868,15567327,951507,-3260321,-573935 },
+  { 24740841,5052253,-30094131,8961361,25877428,6165135,-24368180,14397372,-7380369,-6144105 },
+  { -28888365,3510803,-28103278,-1158478,-11238128,-10631454,-15441463,-14453128,-1625486,-6494814 },
+ },
+},
+{
+ {
+  { 793299,-9230478,8836302,-6235707,-27360908,-2369593,33152843,-4885251,-9906200,-621852 },
+  { 5666233,525582,20782575,-8038419,-24538499,14657740,16099374,1468826,-6171428,-15186581 },
+  { -4859255,-3779343,-2917758,-6748019,7778750,11688288,-30404353,-9871238,-1558923,-9863646 },
+ },
+ {
+  { 10896332,-7719704,824275,472601,-19460308,3009587,25248958,14783338,-30581476,-15757844 },
+  { 10566929,12612572,-31944212,11118703,-12633376,12362879,21752402,8822496,24003793,14264025 },
+  { 27713862,-7355973,-11008240,9227530,27050101,2504721,23886875,-13117525,13958495,-5732453 },
+ },
+ {
+  { -23481610,4867226,-27247128,3900521,29838369,-8212291,-31889399,-10041781,7340521,-15410068 },
+  { 4646514,-8011124,-22766023,-11532654,23184553,8566613,31366726,-1381061,-15066784,-10375192 },
+  { -17270517,12723032,-16993061,14878794,21619651,-6197576,27584817,3093888,-8843694,3849921 },
+ },
+ {
+  { -9064912,2103172,25561640,-15125738,-5239824,9582958,32477045,-9017955,5002294,-15550259 },
+  { -12057553,-11177906,21115585,-13365155,8808712,-12030708,16489530,13378448,-25845716,12741426 },
+  { -5946367,10645103,-30911586,15390284,-3286982,-7118677,24306472,15852464,28834118,-7646072 },
+ },
+ {
+  { -17335748,-9107057,-24531279,9434953,-8472084,-583362,-13090771,455841,20461858,5491305 },
+  { 13669248,-16095482,-12481974,-10203039,-14569770,-11893198,-24995986,11293807,-28588204,-9421832 },
+  { 28497928,6272777,-33022994,14470570,8906179,-1225630,18504674,-14165166,29867745,-8795943 },
+ },
+ {
+  { -16207023,13517196,-27799630,-13697798,24009064,-6373891,-6367600,-13175392,22853429,-4012011 },
+  { 24191378,16712145,-13931797,15217831,14542237,1646131,18603514,-11037887,12876623,-2112447 },
+  { 17902668,4518229,-411702,-2829247,26878217,5258055,-12860753,608397,16031844,3723494 },
+ },
+ {
+  { -28632773,12763728,-20446446,7577504,33001348,-13017745,17558842,-7872890,23896954,-4314245 },
+  { -20005381,-12011952,31520464,605201,2543521,5991821,-2945064,7229064,-9919646,-8826859 },
+  { 28816045,298879,-28165016,-15920938,19000928,-1665890,-12680833,-2949325,-18051778,-2082915 },
+ },
+ {
+  { 16000882,-344896,3493092,-11447198,-29504595,-13159789,12577740,16041268,-19715240,7847707 },
+  { 10151868,10572098,27312476,7922682,14825339,4723128,-32855931,-6519018,-10020567,3852848 },
+  { -11430470,15697596,-21121557,-4420647,5386314,15063598,16514493,-15932110,29330899,-15076224 },
+ },
+},
+{
+ {
+  { -25499735,-4378794,-15222908,-6901211,16615731,2051784,3303702,15490,-27548796,12314391 },
+  { 15683520,-6003043,18109120,-9980648,15337968,-5997823,-16717435,15921866,16103996,-3731215 },
+  { -23169824,-10781249,13588192,-1628807,-3798557,-1074929,-19273607,5402699,-29815713,-9841101 },
+ },
+ {
+  { 23190676,2384583,-32714340,3462154,-29903655,-1529132,-11266856,8911517,-25205859,2739713 },
+  { 21374101,-3554250,-33524649,9874411,15377179,11831242,-33529904,6134907,4931255,11987849 },
+  { -7732,-2978858,-16223486,7277597,105524,-322051,-31480539,13861388,-30076310,10117930 },
+ },
+ {
+  { -29501170,-10744872,-26163768,13051539,-25625564,5089643,-6325503,6704079,12890019,15728940 },
+  { -21972360,-11771379,-951059,-4418840,14704840,2695116,903376,-10428139,12885167,8311031 },
+  { -17516482,5352194,10384213,-13811658,7506451,13453191,26423267,4384730,1888765,-5435404 },
+ },
+ {
+  { -25817338,-3107312,-13494599,-3182506,30896459,-13921729,-32251644,-12707869,-19464434,-3340243 },
+  { -23607977,-2665774,-526091,4651136,5765089,4618330,6092245,14845197,17151279,-9854116 },
+  { -24830458,-12733720,-15165978,10367250,-29530908,-265356,22825805,-7087279,-16866484,16176525 },
+ },
+ {
+  { -23583256,6564961,20063689,3798228,-4740178,7359225,2006182,-10363426,-28746253,-10197509 },
+  { -10626600,-4486402,-13320562,-5125317,3432136,-6393229,23632037,-1940610,32808310,1099883 },
+  { 15030977,5768825,-27451236,-2887299,-6427378,-15361371,-15277896,-6809350,2051441,-15225865 },
+ },
+ {
+  { -3362323,-7239372,7517890,9824992,23555850,295369,5148398,-14154188,-22686354,16633660 },
+  { 4577086,-16752288,13249841,-15304328,19958763,-14537274,18559670,-10759549,8402478,-9864273 },
+  { -28406330,-1051581,-26790155,-907698,-17212414,-11030789,9453451,-14980072,17983010,9967138 },
+ },
+ {
+  { -25762494,6524722,26585488,9969270,24709298,1220360,-1677990,7806337,17507396,3651560 },
+  { -10420457,-4118111,14584639,15971087,-15768321,8861010,26556809,-5574557,-18553322,-11357135 },
+  { 2839101,14284142,4029895,3472686,14402957,12689363,-26642121,8459447,-5605463,-7621941 },
+ },
+ {
+  { -4839289,-3535444,9744961,2871048,25113978,3187018,-25110813,-849066,17258084,-7977739 },
+  { 18164541,-10595176,-17154882,-1542417,19237078,-9745295,23357533,-15217008,26908270,12150756 },
+  { -30264870,-7647865,5112249,-7036672,-1499807,-6974257,43168,-5537701,-32302074,16215819 },
+ },
+},
+{
+ {
+  { -6898905,9824394,-12304779,-4401089,-31397141,-6276835,32574489,12532905,-7503072,-8675347 },
+  { -27343522,-16515468,-27151524,-10722951,946346,16291093,254968,7168080,21676107,-1943028 },
+  { 21260961,-8424752,-16831886,-11920822,-23677961,3968121,-3651949,-6215466,-3556191,-7913075 },
+ },
+ {
+  { 16544754,13250366,-16804428,15546242,-4583003,12757258,-2462308,-8680336,-18907032,-9662799 },
+  { -2415239,-15577728,18312303,4964443,-15272530,-12653564,26820651,16690659,25459437,-4564609 },
+  { -25144690,11425020,28423002,-11020557,-6144921,-15826224,9142795,-2391602,-6432418,-1644817 },
+ },
+ {
+  { -23104652,6253476,16964147,-3768872,-25113972,-12296437,-27457225,-16344658,6335692,7249989 },
+  { -30333227,13979675,7503222,-12368314,-11956721,-4621693,-30272269,2682242,25993170,-12478523 },
+  { 4364628,5930691,32304656,-10044554,-8054781,15091131,22857016,-10598955,31820368,15075278 },
+ },
+ {
+  { 31879134,-8918693,17258761,90626,-8041836,-4917709,24162788,-9650886,-17970238,12833045 },
+  { 19073683,14851414,-24403169,-11860168,7625278,11091125,-19619190,2074449,-9413939,14905377 },
+  { 24483667,-11935567,-2518866,-11547418,-1553130,15355506,-25282080,9253129,27628530,-7555480 },
+ },
+ {
+  { 17597607,8340603,19355617,552187,26198470,-3176583,4593324,-9157582,-14110875,15297016 },
+  { 510886,14337390,-31785257,16638632,6328095,2713355,-20217417,-11864220,8683221,2921426 },
+  { 18606791,11874196,27155355,-5281482,-24031742,6265446,-25178240,-1278924,4674690,13890525 },
+ },
+ {
+  { 13609624,13069022,-27372361,-13055908,24360586,9592974,14977157,9835105,4389687,288396 },
+  { 9922506,-519394,13613107,5883594,-18758345,-434263,-12304062,8317628,23388070,16052080 },
+  { 12720016,11937594,-31970060,-5028689,26900120,8561328,-20155687,-11632979,-14754271,-10812892 },
+ },
+ {
+  { 15961858,14150409,26716931,-665832,-22794328,13603569,11829573,7467844,-28822128,929275 },
+  { 11038231,-11582396,-27310482,-7316562,-10498527,-16307831,-23479533,-9371869,-21393143,2465074 },
+  { 20017163,-4323226,27915242,1529148,12396362,15675764,13817261,-9658066,2463391,-4622140 },
+ },
+ {
+  { -16358878,-12663911,-12065183,4996454,-1256422,1073572,9583558,12851107,4003896,12673717 },
+  { -1731589,-15155870,-3262930,16143082,19294135,13385325,14741514,-9103726,7903886,2348101 },
+  { 24536016,-16515207,12715592,-3862155,1511293,10047386,-3842346,-7129159,-28377538,10048127 },
+ },
+},
+{
+ {
+  { -12622226,-6204820,30718825,2591312,-10617028,12192840,18873298,-7297090,-32297756,15221632 },
+  { -26478122,-11103864,11546244,-1852483,9180880,7656409,-21343950,2095755,29769758,6593415 },
+  { -31994208,-2907461,4176912,3264766,12538965,-868111,26312345,-6118678,30958054,8292160 },
+ },
+ {
+  { 31429822,-13959116,29173532,15632448,12174511,-2760094,32808831,3977186,26143136,-3148876 },
+  { 22648901,1402143,-22799984,13746059,7936347,365344,-8668633,-1674433,-3758243,-2304625 },
+  { -15491917,8012313,-2514730,-12702462,-23965846,-10254029,-1612713,-1535569,-16664475,8194478 },
+ },
+ {
+  { 27338066,-7507420,-7414224,10140405,-19026427,-6589889,27277191,8855376,28572286,3005164 },
+  { 26287124,4821776,25476601,-4145903,-3764513,-15788984,-18008582,1182479,-26094821,-13079595 },
+  { -7171154,3178080,23970071,6201893,-17195577,-4489192,-21876275,-13982627,32208683,-1198248 },
+ },
+ {
+  { -16657702,2817643,-10286362,14811298,6024667,13349505,-27315504,-10497842,-27672585,-11539858 },
+  { 15941029,-9405932,-21367050,8062055,31876073,-238629,-15278393,-1444429,15397331,-4130193 },
+  { 8934485,-13485467,-23286397,-13423241,-32446090,14047986,31170398,-1441021,-27505566,15087184 },
+ },
+ {
+  { -18357243,-2156491,24524913,-16677868,15520427,-6360776,-15502406,11461896,16788528,-5868942 },
+  { -1947386,16013773,21750665,3714552,-17401782,-16055433,-3770287,-10323320,31322514,-11615635 },
+  { 21426655,-5650218,-13648287,-5347537,-28812189,-4920970,-18275391,-14621414,13040862,-12112948 },
+ },
+ {
+  { 11293895,12478086,-27136401,15083750,-29307421,14748872,14555558,-13417103,1613711,4896935 },
+  { -25894883,15323294,-8489791,-8057900,25967126,-13425460,2825960,-4897045,-23971776,-11267415 },
+  { -15924766,-5229880,-17443532,6410664,3622847,10243618,20615400,12405433,-23753030,-8436416 },
+ },
+ {
+  { -7091295,12556208,-20191352,9025187,-17072479,4333801,4378436,2432030,23097949,-566018 },
+  { 4565804,-16025654,20084412,-7842817,1724999,189254,24767264,10103221,-18512313,2424778 },
+  { 366633,-11976806,8173090,-6890119,30788634,5745705,-7168678,1344109,-3642553,12412659 },
+ },
+ {
+  { -24001791,7690286,14929416,-168257,-32210835,-13412986,24162697,-15326504,-3141501,11179385 },
+  { 18289522,-14724954,8056945,16430056,-21729724,7842514,-6001441,-1486897,-18684645,-11443503 },
+  { 476239,6601091,-6152790,-9723375,17503545,-4863900,27672959,13403813,11052904,5219329 },
+ },
+},
+{
+ {
+  { 20678546,-8375738,-32671898,8849123,-5009758,14574752,31186971,-3973730,9014762,-8579056 },
+  { -13644050,-10350239,-15962508,5075808,-1514661,-11534600,-33102500,9160280,8473550,-3256838 },
+  { 24900749,14435722,17209120,-15292541,-22592275,9878983,-7689309,-16335821,-24568481,11788948 },
+ },
+ {
+  { -3118155,-11395194,-13802089,14797441,9652448,-6845904,-20037437,10410733,-24568470,-1458691 },
+  { -15659161,16736706,-22467150,10215878,-9097177,7563911,11871841,-12505194,-18513325,8464118 },
+  { -23400612,8348507,-14585951,-861714,-3950205,-6373419,14325289,8628612,33313881,-8370517 },
+ },
+ {
+  { -20186973,-4967935,22367356,5271547,-1097117,-4788838,-24805667,-10236854,-8940735,-5818269 },
+  { -6948785,-1795212,-32625683,-16021179,32635414,-7374245,15989197,-12838188,28358192,-4253904 },
+  { -23561781,-2799059,-32351682,-1661963,-9147719,10429267,-16637684,4072016,-5351664,5596589 },
+ },
+ {
+  { -28236598,-3390048,12312896,6213178,3117142,16078565,29266239,2557221,1768301,15373193 },
+  { -7243358,-3246960,-4593467,-7553353,-127927,-912245,-1090902,-4504991,-24660491,3442910 },
+  { -30210571,5124043,14181784,8197961,18964734,-11939093,22597931,7176455,-18585478,13365930 },
+ },
+ {
+  { -7877390,-1499958,8324673,4690079,6261860,890446,24538107,-8570186,-9689599,-3031667 },
+  { 25008904,-10771599,-4305031,-9638010,16265036,15721635,683793,-11823784,15723479,-15163481 },
+  { -9660625,12374379,-27006999,-7026148,-7724114,-12314514,11879682,5400171,519526,-1235876 },
+ },
+ {
+  { 22258397,-16332233,-7869817,14613016,-22520255,-2950923,-20353881,7315967,16648397,7605640 },
+  { -8081308,-8464597,-8223311,9719710,19259459,-15348212,23994942,-5281555,-9468848,4763278 },
+  { -21699244,9220969,-15730624,1084137,-25476107,-2852390,31088447,-7764523,-11356529,728112 },
+ },
+ {
+  { 26047220,-11751471,-6900323,-16521798,24092068,9158119,-4273545,-12555558,-29365436,-5498272 },
+  { 17510331,-322857,5854289,8403524,17133918,-3112612,-28111007,12327945,10750447,10014012 },
+  { -10312768,3936952,9156313,-8897683,16498692,-994647,-27481051,-666732,3424691,7540221 },
+ },
+ {
+  { 30322361,-6964110,11361005,-4143317,7433304,4989748,-7071422,-16317219,-9244265,15258046 },
+  { 13054562,-2779497,19155474,469045,-12482797,4566042,5631406,2711395,1062915,-5136345 },
+  { -19240248,-11254599,-29509029,-7499965,-5835763,13005411,-6066489,12194497,32960380,1459310 },
+ },
+},
+{
+ {
+  { 19852034,7027924,23669353,10020366,8586503,-6657907,394197,-6101885,18638003,-11174937 },
+  { 31395534,15098109,26581030,8030562,-16527914,-5007134,9012486,-7584354,-6643087,-5442636 },
+  { -9192165,-2347377,-1997099,4529534,25766844,607986,-13222,9677543,-32294889,-6456008 },
+ },
+ {
+  { -2444496,-149937,29348902,8186665,1873760,12489863,-30934579,-7839692,-7852844,-8138429 },
+  { -15236356,-15433509,7766470,746860,26346930,-10221762,-27333451,10754588,-9431476,5203576 },
+  { 31834314,14135496,-770007,5159118,20917671,-16768096,-7467973,-7337524,31809243,7347066 },
+ },
+ {
+  { -9606723,-11874240,20414459,13033986,13716524,-11691881,19797970,-12211255,15192876,-2087490 },
+  { -12663563,-2181719,1168162,-3804809,26747877,-14138091,10609330,12694420,33473243,-13382104 },
+  { 33184999,11180355,15832085,-11385430,-1633671,225884,15089336,-11023903,-6135662,14480053 },
+ },
+ {
+  { 31308717,-5619998,31030840,-1897099,15674547,-6582883,5496208,13685227,27595050,8737275 },
+  { -20318852,-15150239,10933843,-16178022,8335352,-7546022,-31008351,-12610604,26498114,66511 },
+  { 22644454,-8761729,-16671776,4884562,-3105614,-13559366,30540766,-4286747,-13327787,-7515095 },
+ },
+ {
+  { -28017847,9834845,18617207,-2681312,-3401956,-13307506,8205540,13585437,-17127465,15115439 },
+  { 23711543,-672915,31206561,-8362711,6164647,-9709987,-33535882,-1426096,8236921,16492939 },
+  { -23910559,-13515526,-26299483,-4503841,25005590,-7687270,19574902,10071562,6708380,-6222424 },
+ },
+ {
+  { 2101391,-4930054,19702731,2367575,-15427167,1047675,5301017,9328700,29955601,-11678310 },
+  { 3096359,9271816,-21620864,-15521844,-14847996,-7592937,-25892142,-12635595,-9917575,6216608 },
+  { -32615849,338663,-25195611,2510422,-29213566,-13820213,24822830,-6146567,-26767480,7525079 },
+ },
+ {
+  { -23066649,-13985623,16133487,-7896178,-3389565,778788,-910336,-2782495,-19386633,11994101 },
+  { 21691500,-13624626,-641331,-14367021,3285881,-3483596,-25064666,9718258,-7477437,13381418 },
+  { 18445390,-4202236,14979846,11622458,-1727110,-3582980,23111648,-6375247,28535282,15779576 },
+ },
+ {
+  { 30098053,3089662,-9234387,16662135,-21306940,11308411,-14068454,12021730,9955285,-16303356 },
+  { 9734894,-14576830,-7473633,-9138735,2060392,11313496,-18426029,9924399,20194861,13380996 },
+  { -26378102,-7965207,-22167821,15789297,-18055342,-6168792,-1984914,15707771,26342023,10146099 },
+ },
+},
+{
+ {
+  { -26016874,-219943,21339191,-41388,19745256,-2878700,-29637280,2227040,21612326,-545728 },
+  { -13077387,1184228,23562814,-5970442,-20351244,-6348714,25764461,12243797,-20856566,11649658 },
+  { -10031494,11262626,27384172,2271902,26947504,-15997771,39944,6114064,33514190,2333242 },
+ },
+ {
+  { -21433588,-12421821,8119782,7219913,-21830522,-9016134,-6679750,-12670638,24350578,-13450001 },
+  { -4116307,-11271533,-23886186,4843615,-30088339,690623,-31536088,-10406836,8317860,12352766 },
+  { 18200138,-14475911,-33087759,-2696619,-23702521,-9102511,-23552096,-2287550,20712163,6719373 },
+ },
+ {
+  { 26656208,6075253,-7858556,1886072,-28344043,4262326,11117530,-3763210,26224235,-3297458 },
+  { -17168938,-14854097,-3395676,-16369877,-19954045,14050420,21728352,9493610,18620611,-16428628 },
+  { -13323321,13325349,11432106,5964811,18609221,6062965,-5269471,-9725556,-30701573,-16479657 },
+ },
+ {
+  { -23860538,-11233159,26961357,1640861,-32413112,-16737940,12248509,-5240639,13735342,1934062 },
+  { 25089769,6742589,17081145,-13406266,21909293,-16067981,-15136294,-3765346,-21277997,5473616 },
+  { 31883677,-7961101,1083432,-11572403,22828471,13290673,-7125085,12469656,29111212,-5451014 },
+ },
+ {
+  { 24244947,-15050407,-26262976,2791540,-14997599,16666678,24367466,6388839,-10295587,452383 },
+  { -25640782,-3417841,5217916,16224624,19987036,-4082269,-24236251,-5915248,15766062,8407814 },
+  { -20406999,13990231,15495425,16395525,5377168,15166495,-8917023,-4388953,-8067909,2276718 },
+ },
+ {
+  { 30157918,12924066,-17712050,9245753,19895028,3368142,-23827587,5096219,22740376,-7303417 },
+  { 2041139,-14256350,7783687,13876377,-25946985,-13352459,24051124,13742383,-15637599,13295222 },
+  { 33338237,-8505733,12532113,7977527,9106186,-1715251,-17720195,-4612972,-4451357,-14669444 },
+ },
+ {
+  { -20045281,5454097,-14346548,6447146,28862071,1883651,-2469266,-4141880,7770569,9620597 },
+  { 23208068,7979712,33071466,8149229,1758231,-10834995,30945528,-1694323,-33502340,-14767970 },
+  { 1439958,-16270480,-1079989,-793782,4625402,10647766,-5043801,1220118,30494170,-11440799 },
+ },
+ {
+  { -5037580,-13028295,-2970559,-3061767,15640974,-6701666,-26739026,926050,-1684339,-13333647 },
+  { 13908495,-3549272,30919928,-6273825,-21521863,7989039,9021034,9078865,3353509,4033511 },
+  { -29663431,-15113610,32259991,-344482,24295849,-12912123,23161163,8839127,27485041,7356032 },
+ },
+},
+{
+ {
+  { 9661027,705443,11980065,-5370154,-1628543,14661173,-6346142,2625015,28431036,-16771834 },
+  { -23839233,-8311415,-25945511,7480958,-17681669,-8354183,-22545972,14150565,15970762,4099461 },
+  { 29262576,16756590,26350592,-8793563,8529671,-11208050,13617293,-9937143,11465739,8317062 },
+ },
+ {
+  { -25493081,-6962928,32500200,-9419051,-23038724,-2302222,14898637,3848455,20969334,-5157516 },
+  { -20384450,-14347713,-18336405,13884722,-33039454,2842114,-21610826,-3649888,11177095,14989547 },
+  { -24496721,-11716016,16959896,2278463,12066309,10137771,13515641,2581286,-28487508,9930240 },
+ },
+ {
+  { -17751622,-2097826,16544300,-13009300,-15914807,-14949081,18345767,-13403753,16291481,-5314038 },
+  { -33229194,2553288,32678213,9875984,8534129,6889387,-9676774,6957617,4368891,9788741 },
+  { 16660756,7281060,-10830758,12911820,20108584,-8101676,-21722536,-8613148,16250552,-11111103 },
+ },
+ {
+  { -19765507,2390526,-16551031,14161980,1905286,6414907,4689584,10604807,-30190403,4782747 },
+  { -1354539,14736941,-7367442,-13292886,7710542,-14155590,-9981571,4383045,22546403,437323 },
+  { 31665577,-12180464,-16186830,1491339,-18368625,3294682,27343084,2786261,-30633590,-14097016 },
+ },
+ {
+  { -14467279,-683715,-33374107,7448552,19294360,14334329,-19690631,2355319,-19284671,-6114373 },
+  { 15121312,-15796162,6377020,-6031361,-10798111,-12957845,18952177,15496498,-29380133,11754228 },
+  { -2637277,-13483075,8488727,-14303896,12728761,-1622493,7141596,11724556,22761615,-10134141 },
+ },
+ {
+  { 16918416,11729663,-18083579,3022987,-31015732,-13339659,-28741185,-12227393,32851222,11717399 },
+  { 11166634,7338049,-6722523,4531520,-29468672,-7302055,31474879,3483633,-1193175,-4030831 },
+  { -185635,9921305,31456609,-13536438,-12013818,13348923,33142652,6546660,-19985279,-3948376 },
+ },
+ {
+  { -32460596,11266712,-11197107,-7899103,31703694,3855903,-8537131,-12833048,-30772034,-15486313 },
+  { -18006477,12709068,3991746,-6479188,-21491523,-10550425,-31135347,-16049879,10928917,3011958 },
+  { -6957757,-15594337,31696059,334240,29576716,14796075,-30831056,-12805180,18008031,10258577 },
+ },
+ {
+  { -22448644,15655569,7018479,-4410003,-30314266,-1201591,-1853465,1367120,25127874,6671743 },
+  { 29701166,-14373934,-10878120,9279288,-17568,13127210,21382910,11042292,25838796,4642684 },
+  { -20430234,14955537,-24126347,8124619,-5369288,-5990470,30468147,-13900640,18423289,4177476 },
+ },
+},
diff --git a/src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/base2.h b/src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/base2.h
new file mode 100644
index 00000000..8c538440
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/base2.h
@@ -0,0 +1,40 @@
+ {
+  { 25967493,-14356035,29566456,3660896,-12694345,4014787,27544626,-11754271,-6079156,2047605 },
+  { -12545711,934262,-2722910,3049990,-727428,9406986,12720692,5043384,19500929,-15469378 },
+  { -8738181,4489570,9688441,-14785194,10184609,-12363380,29287919,11864899,-24514362,-4438546 },
+ },
+ {
+  { 15636291,-9688557,24204773,-7912398,616977,-16685262,27787600,-14772189,28944400,-1550024 },
+  { 16568933,4717097,-11556148,-1102322,15682896,-11807043,16354577,-11775962,7689662,11199574 },
+  { 30464156,-5976125,-11779434,-15670865,23220365,15915852,7512774,10017326,-17749093,-9920357 },
+ },
+ {
+  { 10861363,11473154,27284546,1981175,-30064349,12577861,32867885,14515107,-15438304,10819380 },
+  { 4708026,6336745,20377586,9066809,-11272109,6594696,-25653668,12483688,-12668491,5581306 },
+  { 19563160,16186464,-29386857,4097519,10237984,-4348115,28542350,13850243,-23678021,-15815942 },
+ },
+ {
+  { 5153746,9909285,1723747,-2777874,30523605,5516873,19480852,5230134,-23952439,-15175766 },
+  { -30269007,-3463509,7665486,10083793,28475525,1649722,20654025,16520125,30598449,7715701 },
+  { 28881845,14381568,9657904,3680757,-20181635,7843316,-31400660,1370708,29794553,-1409300 },
+ },
+ {
+  { -22518993,-6692182,14201702,-8745502,-23510406,8844726,18474211,-1361450,-13062696,13821877 },
+  { -6455177,-7839871,3374702,-4740862,-27098617,-10571707,31655028,-7212327,18853322,-14220951 },
+  { 4566830,-12963868,-28974889,-12240689,-7602672,-2830569,-8514358,-10431137,2207753,-3209784 },
+ },
+ {
+  { -25154831,-4185821,29681144,7868801,-6854661,-9423865,-12437364,-663000,-31111463,-16132436 },
+  { 25576264,-2703214,7349804,-11814844,16472782,9300885,3844789,15725684,171356,6466918 },
+  { 23103977,13316479,9739013,-16149481,817875,-15038942,8965339,-14088058,-30714912,16193877 },
+ },
+ {
+  { -33521811,3180713,-2394130,14003687,-16903474,-16270840,17238398,4729455,-18074513,9256800 },
+  { -25182317,-4174131,32336398,5036987,-21236817,11360617,22616405,9761698,-19827198,630305 },
+  { -13720693,2639453,-24237460,-7406481,9494427,-5774029,-6554551,-15960994,-2449256,-14291300 },
+ },
+ {
+  { -3151181,-5046075,9282714,6866145,-31907062,-863023,-18940575,15033784,25105118,-7894876 },
+  { -24326370,15950226,-31801215,-14592823,-11662737,-5090925,1573892,-2625887,2198790,-15804619 },
+  { -3099351,10324967,-2241613,7453183,-5446979,-2735503,-13812022,-16236442,-32461234,-12290683 },
+ },
diff --git a/src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/d.h b/src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/d.h
new file mode 100644
index 00000000..e25f5783
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/d.h
@@ -0,0 +1 @@
+-10913610,13857413,-15372611,6949391,114729,-8787816,-6275908,-3247719,-18696448,-12055116
diff --git a/src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/d2.h b/src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/d2.h
new file mode 100644
index 00000000..01aaec75
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/d2.h
@@ -0,0 +1 @@
+-21827239,-5839606,-30745221,13898782,229458,15978800,-12551817,-6495438,29715968,9444199
diff --git a/src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/fe.h b/src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/fe.h
new file mode 100644
index 00000000..60c308ba
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/fe.h
@@ -0,0 +1,56 @@
+#ifndef FE_H
+#define FE_H
+
+#include "crypto_int32.h"
+
+typedef crypto_int32 fe[10];
+
+/*
+fe means field element.
+Here the field is \Z/(2^255-19).
+An element t, entries t[0]...t[9], represents the integer
+t[0]+2^26 t[1]+2^51 t[2]+2^77 t[3]+2^102 t[4]+...+2^230 t[9].
+Bounds on each t[i] vary depending on context.
+*/
+
+#define fe_frombytes crypto_sign_ed25519_ref10_fe_frombytes
+#define fe_tobytes crypto_sign_ed25519_ref10_fe_tobytes
+#define fe_copy crypto_sign_ed25519_ref10_fe_copy
+#define fe_isnonzero crypto_sign_ed25519_ref10_fe_isnonzero
+#define fe_isnegative crypto_sign_ed25519_ref10_fe_isnegative
+#define fe_0 crypto_sign_ed25519_ref10_fe_0
+#define fe_1 crypto_sign_ed25519_ref10_fe_1
+#define fe_cswap crypto_sign_ed25519_ref10_fe_cswap
+#define fe_cmov crypto_sign_ed25519_ref10_fe_cmov
+#define fe_add crypto_sign_ed25519_ref10_fe_add
+#define fe_sub crypto_sign_ed25519_ref10_fe_sub
+#define fe_neg crypto_sign_ed25519_ref10_fe_neg
+#define fe_mul crypto_sign_ed25519_ref10_fe_mul
+#define fe_sq crypto_sign_ed25519_ref10_fe_sq
+#define fe_sq2 crypto_sign_ed25519_ref10_fe_sq2
+#define fe_mul121666 crypto_sign_ed25519_ref10_fe_mul121666
+#define fe_invert crypto_sign_ed25519_ref10_fe_invert
+#define fe_pow22523 crypto_sign_ed25519_ref10_fe_pow22523
+
+extern void fe_frombytes(fe,const unsigned char *);
+extern void fe_tobytes(unsigned char *,const fe);
+
+extern void fe_copy(fe,const fe);
+extern int fe_isnonzero(const fe);
+extern int fe_isnegative(const fe);
+extern void fe_0(fe);
+extern void fe_1(fe);
+extern void fe_cswap(fe,fe,unsigned int);
+extern void fe_cmov(fe,const fe,unsigned int);
+
+extern void fe_add(fe,const fe,const fe);
+extern void fe_sub(fe,const fe,const fe);
+extern void fe_neg(fe,const fe);
+extern void fe_mul(fe,const fe,const fe);
+extern void fe_sq(fe,const fe);
+extern void fe_sq2(fe,const fe);
+extern void fe_mul121666(fe,const fe);
+extern void fe_invert(fe,const fe);
+extern void fe_pow22523(fe,const fe);
+
+#endif
diff --git a/src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/fe_0.c b/src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/fe_0.c
new file mode 100644
index 00000000..ec879d73
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/fe_0.c
@@ -0,0 +1,19 @@
+#include "fe.h"
+
+/*
+h = 0
+*/
+
+void fe_0(fe h)
+{
+  h[0] = 0;
+  h[1] = 0;
+  h[2] = 0;
+  h[3] = 0;
+  h[4] = 0;
+  h[5] = 0;
+  h[6] = 0;
+  h[7] = 0;
+  h[8] = 0;
+  h[9] = 0;
+}
diff --git a/src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/fe_1.c b/src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/fe_1.c
new file mode 100644
index 00000000..8cf77848
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/fe_1.c
@@ -0,0 +1,19 @@
+#include "fe.h"
+
+/*
+h = 1
+*/
+
+void fe_1(fe h)
+{
+  h[0] = 1;
+  h[1] = 0;
+  h[2] = 0;
+  h[3] = 0;
+  h[4] = 0;
+  h[5] = 0;
+  h[6] = 0;
+  h[7] = 0;
+  h[8] = 0;
+  h[9] = 0;
+}
diff --git a/src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/fe_add.c b/src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/fe_add.c
new file mode 100644
index 00000000..e6a81da2
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/fe_add.c
@@ -0,0 +1,57 @@
+#include "fe.h"
+
+/*
+h = f + g
+Can overlap h with f or g.
+
+Preconditions:
+   |f| bounded by 1.1*2^25,1.1*2^24,1.1*2^25,1.1*2^24,etc.
+   |g| bounded by 1.1*2^25,1.1*2^24,1.1*2^25,1.1*2^24,etc.
+
+Postconditions:
+   |h| bounded by 1.1*2^26,1.1*2^25,1.1*2^26,1.1*2^25,etc.
+*/
+
+void fe_add(fe h,const fe f,const fe g)
+{
+  crypto_int32 f0 = f[0];
+  crypto_int32 f1 = f[1];
+  crypto_int32 f2 = f[2];
+  crypto_int32 f3 = f[3];
+  crypto_int32 f4 = f[4];
+  crypto_int32 f5 = f[5];
+  crypto_int32 f6 = f[6];
+  crypto_int32 f7 = f[7];
+  crypto_int32 f8 = f[8];
+  crypto_int32 f9 = f[9];
+  crypto_int32 g0 = g[0];
+  crypto_int32 g1 = g[1];
+  crypto_int32 g2 = g[2];
+  crypto_int32 g3 = g[3];
+  crypto_int32 g4 = g[4];
+  crypto_int32 g5 = g[5];
+  crypto_int32 g6 = g[6];
+  crypto_int32 g7 = g[7];
+  crypto_int32 g8 = g[8];
+  crypto_int32 g9 = g[9];
+  crypto_int32 h0 = f0 + g0;
+  crypto_int32 h1 = f1 + g1;
+  crypto_int32 h2 = f2 + g2;
+  crypto_int32 h3 = f3 + g3;
+  crypto_int32 h4 = f4 + g4;
+  crypto_int32 h5 = f5 + g5;
+  crypto_int32 h6 = f6 + g6;
+  crypto_int32 h7 = f7 + g7;
+  crypto_int32 h8 = f8 + g8;
+  crypto_int32 h9 = f9 + g9;
+  h[0] = h0;
+  h[1] = h1;
+  h[2] = h2;
+  h[3] = h3;
+  h[4] = h4;
+  h[5] = h5;
+  h[6] = h6;
+  h[7] = h7;
+  h[8] = h8;
+  h[9] = h9;
+}
diff --git a/src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/fe_cmov.c b/src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/fe_cmov.c
new file mode 100644
index 00000000..8ca584fb
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/fe_cmov.c
@@ -0,0 +1,63 @@
+#include "fe.h"
+
+/*
+Replace (f,g) with (g,g) if b == 1;
+replace (f,g) with (f,g) if b == 0.
+
+Preconditions: b in {0,1}.
+*/
+
+void fe_cmov(fe f,const fe g,unsigned int b)
+{
+  crypto_int32 f0 = f[0];
+  crypto_int32 f1 = f[1];
+  crypto_int32 f2 = f[2];
+  crypto_int32 f3 = f[3];
+  crypto_int32 f4 = f[4];
+  crypto_int32 f5 = f[5];
+  crypto_int32 f6 = f[6];
+  crypto_int32 f7 = f[7];
+  crypto_int32 f8 = f[8];
+  crypto_int32 f9 = f[9];
+  crypto_int32 g0 = g[0];
+  crypto_int32 g1 = g[1];
+  crypto_int32 g2 = g[2];
+  crypto_int32 g3 = g[3];
+  crypto_int32 g4 = g[4];
+  crypto_int32 g5 = g[5];
+  crypto_int32 g6 = g[6];
+  crypto_int32 g7 = g[7];
+  crypto_int32 g8 = g[8];
+  crypto_int32 g9 = g[9];
+  crypto_int32 x0 = f0 ^ g0;
+  crypto_int32 x1 = f1 ^ g1;
+  crypto_int32 x2 = f2 ^ g2;
+  crypto_int32 x3 = f3 ^ g3;
+  crypto_int32 x4 = f4 ^ g4;
+  crypto_int32 x5 = f5 ^ g5;
+  crypto_int32 x6 = f6 ^ g6;
+  crypto_int32 x7 = f7 ^ g7;
+  crypto_int32 x8 = f8 ^ g8;
+  crypto_int32 x9 = f9 ^ g9;
+  b = -b;
+  x0 &= b;
+  x1 &= b;
+  x2 &= b;
+  x3 &= b;
+  x4 &= b;
+  x5 &= b;
+  x6 &= b;
+  x7 &= b;
+  x8 &= b;
+  x9 &= b;
+  f[0] = f0 ^ x0;
+  f[1] = f1 ^ x1;
+  f[2] = f2 ^ x2;
+  f[3] = f3 ^ x3;
+  f[4] = f4 ^ x4;
+  f[5] = f5 ^ x5;
+  f[6] = f6 ^ x6;
+  f[7] = f7 ^ x7;
+  f[8] = f8 ^ x8;
+  f[9] = f9 ^ x9;
+}
diff --git a/src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/fe_copy.c b/src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/fe_copy.c
new file mode 100644
index 00000000..9c5bf865
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/fe_copy.c
@@ -0,0 +1,29 @@
+#include "fe.h"
+
+/*
+h = f
+*/
+
+void fe_copy(fe h,const fe f)
+{
+  crypto_int32 f0 = f[0];
+  crypto_int32 f1 = f[1];
+  crypto_int32 f2 = f[2];
+  crypto_int32 f3 = f[3];
+  crypto_int32 f4 = f[4];
+  crypto_int32 f5 = f[5];
+  crypto_int32 f6 = f[6];
+  crypto_int32 f7 = f[7];
+  crypto_int32 f8 = f[8];
+  crypto_int32 f9 = f[9];
+  h[0] = f0;
+  h[1] = f1;
+  h[2] = f2;
+  h[3] = f3;
+  h[4] = f4;
+  h[5] = f5;
+  h[6] = f6;
+  h[7] = f7;
+  h[8] = f8;
+  h[9] = f9;
+}
diff --git a/src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/fe_frombytes.c b/src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/fe_frombytes.c
new file mode 100644
index 00000000..5c179174
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/fe_frombytes.c
@@ -0,0 +1,73 @@
+#include "fe.h"
+#include "crypto_int64.h"
+#include "crypto_uint64.h"
+
+static crypto_uint64 load_3(const unsigned char *in)
+{
+  crypto_uint64 result;
+  result = (crypto_uint64) in[0];
+  result |= ((crypto_uint64) in[1]) << 8;
+  result |= ((crypto_uint64) in[2]) << 16;
+  return result;
+}
+
+static crypto_uint64 load_4(const unsigned char *in)
+{
+  crypto_uint64 result;
+  result = (crypto_uint64) in[0];
+  result |= ((crypto_uint64) in[1]) << 8;
+  result |= ((crypto_uint64) in[2]) << 16;
+  result |= ((crypto_uint64) in[3]) << 24;
+  return result;
+}
+
+/*
+Ignores top bit of h.
+*/
+
+void fe_frombytes(fe h,const unsigned char *s)
+{
+  crypto_int64 h0 = load_4(s);
+  crypto_int64 h1 = load_3(s + 4) << 6;
+  crypto_int64 h2 = load_3(s + 7) << 5;
+  crypto_int64 h3 = load_3(s + 10) << 3;
+  crypto_int64 h4 = load_3(s + 13) << 2;
+  crypto_int64 h5 = load_4(s + 16);
+  crypto_int64 h6 = load_3(s + 20) << 7;
+  crypto_int64 h7 = load_3(s + 23) << 5;
+  crypto_int64 h8 = load_3(s + 26) << 4;
+  crypto_int64 h9 = (load_3(s + 29) & 8388607) << 2;
+  crypto_int64 carry0;
+  crypto_int64 carry1;
+  crypto_int64 carry2;
+  crypto_int64 carry3;
+  crypto_int64 carry4;
+  crypto_int64 carry5;
+  crypto_int64 carry6;
+  crypto_int64 carry7;
+  crypto_int64 carry8;
+  crypto_int64 carry9;
+
+  carry9 = (h9 + (crypto_int64) (1<<24)) >> 25; h0 += carry9 * 19; h9 -= carry9 << 25;
+  carry1 = (h1 + (crypto_int64) (1<<24)) >> 25; h2 += carry1; h1 -= carry1 << 25;
+  carry3 = (h3 + (crypto_int64) (1<<24)) >> 25; h4 += carry3; h3 -= carry3 << 25;
+  carry5 = (h5 + (crypto_int64) (1<<24)) >> 25; h6 += carry5; h5 -= carry5 << 25;
+  carry7 = (h7 + (crypto_int64) (1<<24)) >> 25; h8 += carry7; h7 -= carry7 << 25;
+
+  carry0 = (h0 + (crypto_int64) (1<<25)) >> 26; h1 += carry0; h0 -= carry0 << 26;
+  carry2 = (h2 + (crypto_int64) (1<<25)) >> 26; h3 += carry2; h2 -= carry2 << 26;
+  carry4 = (h4 + (crypto_int64) (1<<25)) >> 26; h5 += carry4; h4 -= carry4 << 26;
+  carry6 = (h6 + (crypto_int64) (1<<25)) >> 26; h7 += carry6; h6 -= carry6 << 26;
+  carry8 = (h8 + (crypto_int64) (1<<25)) >> 26; h9 += carry8; h8 -= carry8 << 26;
+
+  h[0] = h0;
+  h[1] = h1;
+  h[2] = h2;
+  h[3] = h3;
+  h[4] = h4;
+  h[5] = h5;
+  h[6] = h6;
+  h[7] = h7;
+  h[8] = h8;
+  h[9] = h9;
+}
diff --git a/src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/fe_invert.c b/src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/fe_invert.c
new file mode 100644
index 00000000..bcfdb8ff
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/fe_invert.c
@@ -0,0 +1,14 @@
+#include "fe.h"
+
+void fe_invert(fe out,const fe z)
+{
+  fe t0;
+  fe t1;
+  fe t2;
+  fe t3;
+  int i;
+
+#include "pow225521.h"
+
+  return;
+}
diff --git a/src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/fe_isnegative.c b/src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/fe_isnegative.c
new file mode 100644
index 00000000..3b2c8b8d
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/fe_isnegative.c
@@ -0,0 +1,16 @@
+#include "fe.h"
+
+/*
+return 1 if f is in {1,3,5,...,q-2}
+return 0 if f is in {0,2,4,...,q-1}
+
+Preconditions:
+   |f| bounded by 1.1*2^26,1.1*2^25,1.1*2^26,1.1*2^25,etc.
+*/
+
+int fe_isnegative(const fe f)
+{
+  unsigned char s[32];
+  fe_tobytes(s,f);
+  return s[0] & 1;
+}
diff --git a/src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/fe_isnonzero.c b/src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/fe_isnonzero.c
new file mode 100644
index 00000000..db29c254
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/fe_isnonzero.c
@@ -0,0 +1,19 @@
+#include "fe.h"
+#include "crypto_verify_32.h"
+
+/*
+return 1 if f == 0
+return 0 if f != 0
+
+Preconditions:
+   |f| bounded by 1.1*2^26,1.1*2^25,1.1*2^26,1.1*2^25,etc.
+*/
+
+static unsigned char zero[32];
+
+int fe_isnonzero(const fe f)
+{
+  unsigned char s[32];
+  fe_tobytes(s,f);
+  return crypto_verify_32(s,zero);
+}
diff --git a/src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/fe_mul.c b/src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/fe_mul.c
new file mode 100644
index 00000000..26ca8b36
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/fe_mul.c
@@ -0,0 +1,253 @@
+#include "fe.h"
+#include "crypto_int64.h"
+
+/*
+h = f * g
+Can overlap h with f or g.
+
+Preconditions:
+   |f| bounded by 1.65*2^26,1.65*2^25,1.65*2^26,1.65*2^25,etc.
+   |g| bounded by 1.65*2^26,1.65*2^25,1.65*2^26,1.65*2^25,etc.
+
+Postconditions:
+   |h| bounded by 1.01*2^25,1.01*2^24,1.01*2^25,1.01*2^24,etc.
+*/
+
+/*
+Notes on implementation strategy:
+
+Using schoolbook multiplication.
+Karatsuba would save a little in some cost models.
+
+Most multiplications by 2 and 19 are 32-bit precomputations;
+cheaper than 64-bit postcomputations.
+
+There is one remaining multiplication by 19 in the carry chain;
+one *19 precomputation can be merged into this,
+but the resulting data flow is considerably less clean.
+
+There are 12 carries below.
+10 of them are 2-way parallelizable and vectorizable.
+Can get away with 11 carries, but then data flow is much deeper.
+
+With tighter constraints on inputs can squeeze carries into int32.
+*/
+
+void fe_mul(fe h,const fe f,const fe g)
+{
+  crypto_int32 f0 = f[0];
+  crypto_int32 f1 = f[1];
+  crypto_int32 f2 = f[2];
+  crypto_int32 f3 = f[3];
+  crypto_int32 f4 = f[4];
+  crypto_int32 f5 = f[5];
+  crypto_int32 f6 = f[6];
+  crypto_int32 f7 = f[7];
+  crypto_int32 f8 = f[8];
+  crypto_int32 f9 = f[9];
+  crypto_int32 g0 = g[0];
+  crypto_int32 g1 = g[1];
+  crypto_int32 g2 = g[2];
+  crypto_int32 g3 = g[3];
+  crypto_int32 g4 = g[4];
+  crypto_int32 g5 = g[5];
+  crypto_int32 g6 = g[6];
+  crypto_int32 g7 = g[7];
+  crypto_int32 g8 = g[8];
+  crypto_int32 g9 = g[9];
+  crypto_int32 g1_19 = 19 * g1; /* 1.959375*2^29 */
+  crypto_int32 g2_19 = 19 * g2; /* 1.959375*2^30; still ok */
+  crypto_int32 g3_19 = 19 * g3;
+  crypto_int32 g4_19 = 19 * g4;
+  crypto_int32 g5_19 = 19 * g5;
+  crypto_int32 g6_19 = 19 * g6;
+  crypto_int32 g7_19 = 19 * g7;
+  crypto_int32 g8_19 = 19 * g8;
+  crypto_int32 g9_19 = 19 * g9;
+  crypto_int32 f1_2 = 2 * f1;
+  crypto_int32 f3_2 = 2 * f3;
+  crypto_int32 f5_2 = 2 * f5;
+  crypto_int32 f7_2 = 2 * f7;
+  crypto_int32 f9_2 = 2 * f9;
+  crypto_int64 f0g0    = f0   * (crypto_int64) g0;
+  crypto_int64 f0g1    = f0   * (crypto_int64) g1;
+  crypto_int64 f0g2    = f0   * (crypto_int64) g2;
+  crypto_int64 f0g3    = f0   * (crypto_int64) g3;
+  crypto_int64 f0g4    = f0   * (crypto_int64) g4;
+  crypto_int64 f0g5    = f0   * (crypto_int64) g5;
+  crypto_int64 f0g6    = f0   * (crypto_int64) g6;
+  crypto_int64 f0g7    = f0   * (crypto_int64) g7;
+  crypto_int64 f0g8    = f0   * (crypto_int64) g8;
+  crypto_int64 f0g9    = f0   * (crypto_int64) g9;
+  crypto_int64 f1g0    = f1   * (crypto_int64) g0;
+  crypto_int64 f1g1_2  = f1_2 * (crypto_int64) g1;
+  crypto_int64 f1g2    = f1   * (crypto_int64) g2;
+  crypto_int64 f1g3_2  = f1_2 * (crypto_int64) g3;
+  crypto_int64 f1g4    = f1   * (crypto_int64) g4;
+  crypto_int64 f1g5_2  = f1_2 * (crypto_int64) g5;
+  crypto_int64 f1g6    = f1   * (crypto_int64) g6;
+  crypto_int64 f1g7_2  = f1_2 * (crypto_int64) g7;
+  crypto_int64 f1g8    = f1   * (crypto_int64) g8;
+  crypto_int64 f1g9_38 = f1_2 * (crypto_int64) g9_19;
+  crypto_int64 f2g0    = f2   * (crypto_int64) g0;
+  crypto_int64 f2g1    = f2   * (crypto_int64) g1;
+  crypto_int64 f2g2    = f2   * (crypto_int64) g2;
+  crypto_int64 f2g3    = f2   * (crypto_int64) g3;
+  crypto_int64 f2g4    = f2   * (crypto_int64) g4;
+  crypto_int64 f2g5    = f2   * (crypto_int64) g5;
+  crypto_int64 f2g6    = f2   * (crypto_int64) g6;
+  crypto_int64 f2g7    = f2   * (crypto_int64) g7;
+  crypto_int64 f2g8_19 = f2   * (crypto_int64) g8_19;
+  crypto_int64 f2g9_19 = f2   * (crypto_int64) g9_19;
+  crypto_int64 f3g0    = f3   * (crypto_int64) g0;
+  crypto_int64 f3g1_2  = f3_2 * (crypto_int64) g1;
+  crypto_int64 f3g2    = f3   * (crypto_int64) g2;
+  crypto_int64 f3g3_2  = f3_2 * (crypto_int64) g3;
+  crypto_int64 f3g4    = f3   * (crypto_int64) g4;
+  crypto_int64 f3g5_2  = f3_2 * (crypto_int64) g5;
+  crypto_int64 f3g6    = f3   * (crypto_int64) g6;
+  crypto_int64 f3g7_38 = f3_2 * (crypto_int64) g7_19;
+  crypto_int64 f3g8_19 = f3   * (crypto_int64) g8_19;
+  crypto_int64 f3g9_38 = f3_2 * (crypto_int64) g9_19;
+  crypto_int64 f4g0    = f4   * (crypto_int64) g0;
+  crypto_int64 f4g1    = f4   * (crypto_int64) g1;
+  crypto_int64 f4g2    = f4   * (crypto_int64) g2;
+  crypto_int64 f4g3    = f4   * (crypto_int64) g3;
+  crypto_int64 f4g4    = f4   * (crypto_int64) g4;
+  crypto_int64 f4g5    = f4   * (crypto_int64) g5;
+  crypto_int64 f4g6_19 = f4   * (crypto_int64) g6_19;
+  crypto_int64 f4g7_19 = f4   * (crypto_int64) g7_19;
+  crypto_int64 f4g8_19 = f4   * (crypto_int64) g8_19;
+  crypto_int64 f4g9_19 = f4   * (crypto_int64) g9_19;
+  crypto_int64 f5g0    = f5   * (crypto_int64) g0;
+  crypto_int64 f5g1_2  = f5_2 * (crypto_int64) g1;
+  crypto_int64 f5g2    = f5   * (crypto_int64) g2;
+  crypto_int64 f5g3_2  = f5_2 * (crypto_int64) g3;
+  crypto_int64 f5g4    = f5   * (crypto_int64) g4;
+  crypto_int64 f5g5_38 = f5_2 * (crypto_int64) g5_19;
+  crypto_int64 f5g6_19 = f5   * (crypto_int64) g6_19;
+  crypto_int64 f5g7_38 = f5_2 * (crypto_int64) g7_19;
+  crypto_int64 f5g8_19 = f5   * (crypto_int64) g8_19;
+  crypto_int64 f5g9_38 = f5_2 * (crypto_int64) g9_19;
+  crypto_int64 f6g0    = f6   * (crypto_int64) g0;
+  crypto_int64 f6g1    = f6   * (crypto_int64) g1;
+  crypto_int64 f6g2    = f6   * (crypto_int64) g2;
+  crypto_int64 f6g3    = f6   * (crypto_int64) g3;
+  crypto_int64 f6g4_19 = f6   * (crypto_int64) g4_19;
+  crypto_int64 f6g5_19 = f6   * (crypto_int64) g5_19;
+  crypto_int64 f6g6_19 = f6   * (crypto_int64) g6_19;
+  crypto_int64 f6g7_19 = f6   * (crypto_int64) g7_19;
+  crypto_int64 f6g8_19 = f6   * (crypto_int64) g8_19;
+  crypto_int64 f6g9_19 = f6   * (crypto_int64) g9_19;
+  crypto_int64 f7g0    = f7   * (crypto_int64) g0;
+  crypto_int64 f7g1_2  = f7_2 * (crypto_int64) g1;
+  crypto_int64 f7g2    = f7   * (crypto_int64) g2;
+  crypto_int64 f7g3_38 = f7_2 * (crypto_int64) g3_19;
+  crypto_int64 f7g4_19 = f7   * (crypto_int64) g4_19;
+  crypto_int64 f7g5_38 = f7_2 * (crypto_int64) g5_19;
+  crypto_int64 f7g6_19 = f7   * (crypto_int64) g6_19;
+  crypto_int64 f7g7_38 = f7_2 * (crypto_int64) g7_19;
+  crypto_int64 f7g8_19 = f7   * (crypto_int64) g8_19;
+  crypto_int64 f7g9_38 = f7_2 * (crypto_int64) g9_19;
+  crypto_int64 f8g0    = f8   * (crypto_int64) g0;
+  crypto_int64 f8g1    = f8   * (crypto_int64) g1;
+  crypto_int64 f8g2_19 = f8   * (crypto_int64) g2_19;
+  crypto_int64 f8g3_19 = f8   * (crypto_int64) g3_19;
+  crypto_int64 f8g4_19 = f8   * (crypto_int64) g4_19;
+  crypto_int64 f8g5_19 = f8   * (crypto_int64) g5_19;
+  crypto_int64 f8g6_19 = f8   * (crypto_int64) g6_19;
+  crypto_int64 f8g7_19 = f8   * (crypto_int64) g7_19;
+  crypto_int64 f8g8_19 = f8   * (crypto_int64) g8_19;
+  crypto_int64 f8g9_19 = f8   * (crypto_int64) g9_19;
+  crypto_int64 f9g0    = f9   * (crypto_int64) g0;
+  crypto_int64 f9g1_38 = f9_2 * (crypto_int64) g1_19;
+  crypto_int64 f9g2_19 = f9   * (crypto_int64) g2_19;
+  crypto_int64 f9g3_38 = f9_2 * (crypto_int64) g3_19;
+  crypto_int64 f9g4_19 = f9   * (crypto_int64) g4_19;
+  crypto_int64 f9g5_38 = f9_2 * (crypto_int64) g5_19;
+  crypto_int64 f9g6_19 = f9   * (crypto_int64) g6_19;
+  crypto_int64 f9g7_38 = f9_2 * (crypto_int64) g7_19;
+  crypto_int64 f9g8_19 = f9   * (crypto_int64) g8_19;
+  crypto_int64 f9g9_38 = f9_2 * (crypto_int64) g9_19;
+  crypto_int64 h0 = f0g0+f1g9_38+f2g8_19+f3g7_38+f4g6_19+f5g5_38+f6g4_19+f7g3_38+f8g2_19+f9g1_38;
+  crypto_int64 h1 = f0g1+f1g0   +f2g9_19+f3g8_19+f4g7_19+f5g6_19+f6g5_19+f7g4_19+f8g3_19+f9g2_19;
+  crypto_int64 h2 = f0g2+f1g1_2 +f2g0   +f3g9_38+f4g8_19+f5g7_38+f6g6_19+f7g5_38+f8g4_19+f9g3_38;
+  crypto_int64 h3 = f0g3+f1g2   +f2g1   +f3g0   +f4g9_19+f5g8_19+f6g7_19+f7g6_19+f8g5_19+f9g4_19;
+  crypto_int64 h4 = f0g4+f1g3_2 +f2g2   +f3g1_2 +f4g0   +f5g9_38+f6g8_19+f7g7_38+f8g6_19+f9g5_38;
+  crypto_int64 h5 = f0g5+f1g4   +f2g3   +f3g2   +f4g1   +f5g0   +f6g9_19+f7g8_19+f8g7_19+f9g6_19;
+  crypto_int64 h6 = f0g6+f1g5_2 +f2g4   +f3g3_2 +f4g2   +f5g1_2 +f6g0   +f7g9_38+f8g8_19+f9g7_38;
+  crypto_int64 h7 = f0g7+f1g6   +f2g5   +f3g4   +f4g3   +f5g2   +f6g1   +f7g0   +f8g9_19+f9g8_19;
+  crypto_int64 h8 = f0g8+f1g7_2 +f2g6   +f3g5_2 +f4g4   +f5g3_2 +f6g2   +f7g1_2 +f8g0   +f9g9_38;
+  crypto_int64 h9 = f0g9+f1g8   +f2g7   +f3g6   +f4g5   +f5g4   +f6g3   +f7g2   +f8g1   +f9g0   ;
+  crypto_int64 carry0;
+  crypto_int64 carry1;
+  crypto_int64 carry2;
+  crypto_int64 carry3;
+  crypto_int64 carry4;
+  crypto_int64 carry5;
+  crypto_int64 carry6;
+  crypto_int64 carry7;
+  crypto_int64 carry8;
+  crypto_int64 carry9;
+
+  /*
+  |h0| <= (1.65*1.65*2^52*(1+19+19+19+19)+1.65*1.65*2^50*(38+38+38+38+38))
+    i.e. |h0| <= 1.4*2^60; narrower ranges for h2, h4, h6, h8
+  |h1| <= (1.65*1.65*2^51*(1+1+19+19+19+19+19+19+19+19))
+    i.e. |h1| <= 1.7*2^59; narrower ranges for h3, h5, h7, h9
+  */
+
+  carry0 = (h0 + (crypto_int64) (1<<25)) >> 26; h1 += carry0; h0 -= carry0 << 26;
+  carry4 = (h4 + (crypto_int64) (1<<25)) >> 26; h5 += carry4; h4 -= carry4 << 26;
+  /* |h0| <= 2^25 */
+  /* |h4| <= 2^25 */
+  /* |h1| <= 1.71*2^59 */
+  /* |h5| <= 1.71*2^59 */
+
+  carry1 = (h1 + (crypto_int64) (1<<24)) >> 25; h2 += carry1; h1 -= carry1 << 25;
+  carry5 = (h5 + (crypto_int64) (1<<24)) >> 25; h6 += carry5; h5 -= carry5 << 25;
+  /* |h1| <= 2^24; from now on fits into int32 */
+  /* |h5| <= 2^24; from now on fits into int32 */
+  /* |h2| <= 1.41*2^60 */
+  /* |h6| <= 1.41*2^60 */
+
+  carry2 = (h2 + (crypto_int64) (1<<25)) >> 26; h3 += carry2; h2 -= carry2 << 26;
+  carry6 = (h6 + (crypto_int64) (1<<25)) >> 26; h7 += carry6; h6 -= carry6 << 26;
+  /* |h2| <= 2^25; from now on fits into int32 unchanged */
+  /* |h6| <= 2^25; from now on fits into int32 unchanged */
+  /* |h3| <= 1.71*2^59 */
+  /* |h7| <= 1.71*2^59 */
+
+  carry3 = (h3 + (crypto_int64) (1<<24)) >> 25; h4 += carry3; h3 -= carry3 << 25;
+  carry7 = (h7 + (crypto_int64) (1<<24)) >> 25; h8 += carry7; h7 -= carry7 << 25;
+  /* |h3| <= 2^24; from now on fits into int32 unchanged */
+  /* |h7| <= 2^24; from now on fits into int32 unchanged */
+  /* |h4| <= 1.72*2^34 */
+  /* |h8| <= 1.41*2^60 */
+
+  carry4 = (h4 + (crypto_int64) (1<<25)) >> 26; h5 += carry4; h4 -= carry4 << 26;
+  carry8 = (h8 + (crypto_int64) (1<<25)) >> 26; h9 += carry8; h8 -= carry8 << 26;
+  /* |h4| <= 2^25; from now on fits into int32 unchanged */
+  /* |h8| <= 2^25; from now on fits into int32 unchanged */
+  /* |h5| <= 1.01*2^24 */
+  /* |h9| <= 1.71*2^59 */
+
+  carry9 = (h9 + (crypto_int64) (1<<24)) >> 25; h0 += carry9 * 19; h9 -= carry9 << 25;
+  /* |h9| <= 2^24; from now on fits into int32 unchanged */
+  /* |h0| <= 1.1*2^39 */
+
+  carry0 = (h0 + (crypto_int64) (1<<25)) >> 26; h1 += carry0; h0 -= carry0 << 26;
+  /* |h0| <= 2^25; from now on fits into int32 unchanged */
+  /* |h1| <= 1.01*2^24 */
+
+  h[0] = h0;
+  h[1] = h1;
+  h[2] = h2;
+  h[3] = h3;
+  h[4] = h4;
+  h[5] = h5;
+  h[6] = h6;
+  h[7] = h7;
+  h[8] = h8;
+  h[9] = h9;
+}
diff --git a/src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/fe_neg.c b/src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/fe_neg.c
new file mode 100644
index 00000000..2078ce52
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/fe_neg.c
@@ -0,0 +1,45 @@
+#include "fe.h"
+
+/*
+h = -f
+
+Preconditions:
+   |f| bounded by 1.1*2^25,1.1*2^24,1.1*2^25,1.1*2^24,etc.
+
+Postconditions:
+   |h| bounded by 1.1*2^25,1.1*2^24,1.1*2^25,1.1*2^24,etc.
+*/
+
+void fe_neg(fe h,const fe f)
+{
+  crypto_int32 f0 = f[0];
+  crypto_int32 f1 = f[1];
+  crypto_int32 f2 = f[2];
+  crypto_int32 f3 = f[3];
+  crypto_int32 f4 = f[4];
+  crypto_int32 f5 = f[5];
+  crypto_int32 f6 = f[6];
+  crypto_int32 f7 = f[7];
+  crypto_int32 f8 = f[8];
+  crypto_int32 f9 = f[9];
+  crypto_int32 h0 = -f0;
+  crypto_int32 h1 = -f1;
+  crypto_int32 h2 = -f2;
+  crypto_int32 h3 = -f3;
+  crypto_int32 h4 = -f4;
+  crypto_int32 h5 = -f5;
+  crypto_int32 h6 = -f6;
+  crypto_int32 h7 = -f7;
+  crypto_int32 h8 = -f8;
+  crypto_int32 h9 = -f9;
+  h[0] = h0;
+  h[1] = h1;
+  h[2] = h2;
+  h[3] = h3;
+  h[4] = h4;
+  h[5] = h5;
+  h[6] = h6;
+  h[7] = h7;
+  h[8] = h8;
+  h[9] = h9;
+}
diff --git a/src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/fe_pow22523.c b/src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/fe_pow22523.c
new file mode 100644
index 00000000..56675a59
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/fe_pow22523.c
@@ -0,0 +1,13 @@
+#include "fe.h"
+
+void fe_pow22523(fe out,const fe z)
+{
+  fe t0;
+  fe t1;
+  fe t2;
+  int i;
+
+#include "pow22523.h"
+
+  return;
+}
diff --git a/src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/fe_sq.c b/src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/fe_sq.c
new file mode 100644
index 00000000..8dd11984
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/fe_sq.c
@@ -0,0 +1,149 @@
+#include "fe.h"
+#include "crypto_int64.h"
+
+/*
+h = f * f
+Can overlap h with f.
+
+Preconditions:
+   |f| bounded by 1.65*2^26,1.65*2^25,1.65*2^26,1.65*2^25,etc.
+
+Postconditions:
+   |h| bounded by 1.01*2^25,1.01*2^24,1.01*2^25,1.01*2^24,etc.
+*/
+
+/*
+See fe_mul.c for discussion of implementation strategy.
+*/
+
+void fe_sq(fe h,const fe f)
+{
+  crypto_int32 f0 = f[0];
+  crypto_int32 f1 = f[1];
+  crypto_int32 f2 = f[2];
+  crypto_int32 f3 = f[3];
+  crypto_int32 f4 = f[4];
+  crypto_int32 f5 = f[5];
+  crypto_int32 f6 = f[6];
+  crypto_int32 f7 = f[7];
+  crypto_int32 f8 = f[8];
+  crypto_int32 f9 = f[9];
+  crypto_int32 f0_2 = 2 * f0;
+  crypto_int32 f1_2 = 2 * f1;
+  crypto_int32 f2_2 = 2 * f2;
+  crypto_int32 f3_2 = 2 * f3;
+  crypto_int32 f4_2 = 2 * f4;
+  crypto_int32 f5_2 = 2 * f5;
+  crypto_int32 f6_2 = 2 * f6;
+  crypto_int32 f7_2 = 2 * f7;
+  crypto_int32 f5_38 = 38 * f5; /* 1.959375*2^30 */
+  crypto_int32 f6_19 = 19 * f6; /* 1.959375*2^30 */
+  crypto_int32 f7_38 = 38 * f7; /* 1.959375*2^30 */
+  crypto_int32 f8_19 = 19 * f8; /* 1.959375*2^30 */
+  crypto_int32 f9_38 = 38 * f9; /* 1.959375*2^30 */
+  crypto_int64 f0f0    = f0   * (crypto_int64) f0;
+  crypto_int64 f0f1_2  = f0_2 * (crypto_int64) f1;
+  crypto_int64 f0f2_2  = f0_2 * (crypto_int64) f2;
+  crypto_int64 f0f3_2  = f0_2 * (crypto_int64) f3;
+  crypto_int64 f0f4_2  = f0_2 * (crypto_int64) f4;
+  crypto_int64 f0f5_2  = f0_2 * (crypto_int64) f5;
+  crypto_int64 f0f6_2  = f0_2 * (crypto_int64) f6;
+  crypto_int64 f0f7_2  = f0_2 * (crypto_int64) f7;
+  crypto_int64 f0f8_2  = f0_2 * (crypto_int64) f8;
+  crypto_int64 f0f9_2  = f0_2 * (crypto_int64) f9;
+  crypto_int64 f1f1_2  = f1_2 * (crypto_int64) f1;
+  crypto_int64 f1f2_2  = f1_2 * (crypto_int64) f2;
+  crypto_int64 f1f3_4  = f1_2 * (crypto_int64) f3_2;
+  crypto_int64 f1f4_2  = f1_2 * (crypto_int64) f4;
+  crypto_int64 f1f5_4  = f1_2 * (crypto_int64) f5_2;
+  crypto_int64 f1f6_2  = f1_2 * (crypto_int64) f6;
+  crypto_int64 f1f7_4  = f1_2 * (crypto_int64) f7_2;
+  crypto_int64 f1f8_2  = f1_2 * (crypto_int64) f8;
+  crypto_int64 f1f9_76 = f1_2 * (crypto_int64) f9_38;
+  crypto_int64 f2f2    = f2   * (crypto_int64) f2;
+  crypto_int64 f2f3_2  = f2_2 * (crypto_int64) f3;
+  crypto_int64 f2f4_2  = f2_2 * (crypto_int64) f4;
+  crypto_int64 f2f5_2  = f2_2 * (crypto_int64) f5;
+  crypto_int64 f2f6_2  = f2_2 * (crypto_int64) f6;
+  crypto_int64 f2f7_2  = f2_2 * (crypto_int64) f7;
+  crypto_int64 f2f8_38 = f2_2 * (crypto_int64) f8_19;
+  crypto_int64 f2f9_38 = f2   * (crypto_int64) f9_38;
+  crypto_int64 f3f3_2  = f3_2 * (crypto_int64) f3;
+  crypto_int64 f3f4_2  = f3_2 * (crypto_int64) f4;
+  crypto_int64 f3f5_4  = f3_2 * (crypto_int64) f5_2;
+  crypto_int64 f3f6_2  = f3_2 * (crypto_int64) f6;
+  crypto_int64 f3f7_76 = f3_2 * (crypto_int64) f7_38;
+  crypto_int64 f3f8_38 = f3_2 * (crypto_int64) f8_19;
+  crypto_int64 f3f9_76 = f3_2 * (crypto_int64) f9_38;
+  crypto_int64 f4f4    = f4   * (crypto_int64) f4;
+  crypto_int64 f4f5_2  = f4_2 * (crypto_int64) f5;
+  crypto_int64 f4f6_38 = f4_2 * (crypto_int64) f6_19;
+  crypto_int64 f4f7_38 = f4   * (crypto_int64) f7_38;
+  crypto_int64 f4f8_38 = f4_2 * (crypto_int64) f8_19;
+  crypto_int64 f4f9_38 = f4   * (crypto_int64) f9_38;
+  crypto_int64 f5f5_38 = f5   * (crypto_int64) f5_38;
+  crypto_int64 f5f6_38 = f5_2 * (crypto_int64) f6_19;
+  crypto_int64 f5f7_76 = f5_2 * (crypto_int64) f7_38;
+  crypto_int64 f5f8_38 = f5_2 * (crypto_int64) f8_19;
+  crypto_int64 f5f9_76 = f5_2 * (crypto_int64) f9_38;
+  crypto_int64 f6f6_19 = f6   * (crypto_int64) f6_19;
+  crypto_int64 f6f7_38 = f6   * (crypto_int64) f7_38;
+  crypto_int64 f6f8_38 = f6_2 * (crypto_int64) f8_19;
+  crypto_int64 f6f9_38 = f6   * (crypto_int64) f9_38;
+  crypto_int64 f7f7_38 = f7   * (crypto_int64) f7_38;
+  crypto_int64 f7f8_38 = f7_2 * (crypto_int64) f8_19;
+  crypto_int64 f7f9_76 = f7_2 * (crypto_int64) f9_38;
+  crypto_int64 f8f8_19 = f8   * (crypto_int64) f8_19;
+  crypto_int64 f8f9_38 = f8   * (crypto_int64) f9_38;
+  crypto_int64 f9f9_38 = f9   * (crypto_int64) f9_38;
+  crypto_int64 h0 = f0f0  +f1f9_76+f2f8_38+f3f7_76+f4f6_38+f5f5_38;
+  crypto_int64 h1 = f0f1_2+f2f9_38+f3f8_38+f4f7_38+f5f6_38;
+  crypto_int64 h2 = f0f2_2+f1f1_2 +f3f9_76+f4f8_38+f5f7_76+f6f6_19;
+  crypto_int64 h3 = f0f3_2+f1f2_2 +f4f9_38+f5f8_38+f6f7_38;
+  crypto_int64 h4 = f0f4_2+f1f3_4 +f2f2   +f5f9_76+f6f8_38+f7f7_38;
+  crypto_int64 h5 = f0f5_2+f1f4_2 +f2f3_2 +f6f9_38+f7f8_38;
+  crypto_int64 h6 = f0f6_2+f1f5_4 +f2f4_2 +f3f3_2 +f7f9_76+f8f8_19;
+  crypto_int64 h7 = f0f7_2+f1f6_2 +f2f5_2 +f3f4_2 +f8f9_38;
+  crypto_int64 h8 = f0f8_2+f1f7_4 +f2f6_2 +f3f5_4 +f4f4   +f9f9_38;
+  crypto_int64 h9 = f0f9_2+f1f8_2 +f2f7_2 +f3f6_2 +f4f5_2;
+  crypto_int64 carry0;
+  crypto_int64 carry1;
+  crypto_int64 carry2;
+  crypto_int64 carry3;
+  crypto_int64 carry4;
+  crypto_int64 carry5;
+  crypto_int64 carry6;
+  crypto_int64 carry7;
+  crypto_int64 carry8;
+  crypto_int64 carry9;
+
+  carry0 = (h0 + (crypto_int64) (1<<25)) >> 26; h1 += carry0; h0 -= carry0 << 26;
+  carry4 = (h4 + (crypto_int64) (1<<25)) >> 26; h5 += carry4; h4 -= carry4 << 26;
+
+  carry1 = (h1 + (crypto_int64) (1<<24)) >> 25; h2 += carry1; h1 -= carry1 << 25;
+  carry5 = (h5 + (crypto_int64) (1<<24)) >> 25; h6 += carry5; h5 -= carry5 << 25;
+
+  carry2 = (h2 + (crypto_int64) (1<<25)) >> 26; h3 += carry2; h2 -= carry2 << 26;
+  carry6 = (h6 + (crypto_int64) (1<<25)) >> 26; h7 += carry6; h6 -= carry6 << 26;
+
+  carry3 = (h3 + (crypto_int64) (1<<24)) >> 25; h4 += carry3; h3 -= carry3 << 25;
+  carry7 = (h7 + (crypto_int64) (1<<24)) >> 25; h8 += carry7; h7 -= carry7 << 25;
+
+  carry4 = (h4 + (crypto_int64) (1<<25)) >> 26; h5 += carry4; h4 -= carry4 << 26;
+  carry8 = (h8 + (crypto_int64) (1<<25)) >> 26; h9 += carry8; h8 -= carry8 << 26;
+
+  carry9 = (h9 + (crypto_int64) (1<<24)) >> 25; h0 += carry9 * 19; h9 -= carry9 << 25;
+
+  carry0 = (h0 + (crypto_int64) (1<<25)) >> 26; h1 += carry0; h0 -= carry0 << 26;
+
+  h[0] = h0;
+  h[1] = h1;
+  h[2] = h2;
+  h[3] = h3;
+  h[4] = h4;
+  h[5] = h5;
+  h[6] = h6;
+  h[7] = h7;
+  h[8] = h8;
+  h[9] = h9;
+}
diff --git a/src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/fe_sq2.c b/src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/fe_sq2.c
new file mode 100644
index 00000000..026ed3aa
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/fe_sq2.c
@@ -0,0 +1,160 @@
+#include "fe.h"
+#include "crypto_int64.h"
+
+/*
+h = 2 * f * f
+Can overlap h with f.
+
+Preconditions:
+   |f| bounded by 1.65*2^26,1.65*2^25,1.65*2^26,1.65*2^25,etc.
+
+Postconditions:
+   |h| bounded by 1.01*2^25,1.01*2^24,1.01*2^25,1.01*2^24,etc.
+*/
+
+/*
+See fe_mul.c for discussion of implementation strategy.
+*/
+
+void fe_sq2(fe h,const fe f)
+{
+  crypto_int32 f0 = f[0];
+  crypto_int32 f1 = f[1];
+  crypto_int32 f2 = f[2];
+  crypto_int32 f3 = f[3];
+  crypto_int32 f4 = f[4];
+  crypto_int32 f5 = f[5];
+  crypto_int32 f6 = f[6];
+  crypto_int32 f7 = f[7];
+  crypto_int32 f8 = f[8];
+  crypto_int32 f9 = f[9];
+  crypto_int32 f0_2 = 2 * f0;
+  crypto_int32 f1_2 = 2 * f1;
+  crypto_int32 f2_2 = 2 * f2;
+  crypto_int32 f3_2 = 2 * f3;
+  crypto_int32 f4_2 = 2 * f4;
+  crypto_int32 f5_2 = 2 * f5;
+  crypto_int32 f6_2 = 2 * f6;
+  crypto_int32 f7_2 = 2 * f7;
+  crypto_int32 f5_38 = 38 * f5; /* 1.959375*2^30 */
+  crypto_int32 f6_19 = 19 * f6; /* 1.959375*2^30 */
+  crypto_int32 f7_38 = 38 * f7; /* 1.959375*2^30 */
+  crypto_int32 f8_19 = 19 * f8; /* 1.959375*2^30 */
+  crypto_int32 f9_38 = 38 * f9; /* 1.959375*2^30 */
+  crypto_int64 f0f0    = f0   * (crypto_int64) f0;
+  crypto_int64 f0f1_2  = f0_2 * (crypto_int64) f1;
+  crypto_int64 f0f2_2  = f0_2 * (crypto_int64) f2;
+  crypto_int64 f0f3_2  = f0_2 * (crypto_int64) f3;
+  crypto_int64 f0f4_2  = f0_2 * (crypto_int64) f4;
+  crypto_int64 f0f5_2  = f0_2 * (crypto_int64) f5;
+  crypto_int64 f0f6_2  = f0_2 * (crypto_int64) f6;
+  crypto_int64 f0f7_2  = f0_2 * (crypto_int64) f7;
+  crypto_int64 f0f8_2  = f0_2 * (crypto_int64) f8;
+  crypto_int64 f0f9_2  = f0_2 * (crypto_int64) f9;
+  crypto_int64 f1f1_2  = f1_2 * (crypto_int64) f1;
+  crypto_int64 f1f2_2  = f1_2 * (crypto_int64) f2;
+  crypto_int64 f1f3_4  = f1_2 * (crypto_int64) f3_2;
+  crypto_int64 f1f4_2  = f1_2 * (crypto_int64) f4;
+  crypto_int64 f1f5_4  = f1_2 * (crypto_int64) f5_2;
+  crypto_int64 f1f6_2  = f1_2 * (crypto_int64) f6;
+  crypto_int64 f1f7_4  = f1_2 * (crypto_int64) f7_2;
+  crypto_int64 f1f8_2  = f1_2 * (crypto_int64) f8;
+  crypto_int64 f1f9_76 = f1_2 * (crypto_int64) f9_38;
+  crypto_int64 f2f2    = f2   * (crypto_int64) f2;
+  crypto_int64 f2f3_2  = f2_2 * (crypto_int64) f3;
+  crypto_int64 f2f4_2  = f2_2 * (crypto_int64) f4;
+  crypto_int64 f2f5_2  = f2_2 * (crypto_int64) f5;
+  crypto_int64 f2f6_2  = f2_2 * (crypto_int64) f6;
+  crypto_int64 f2f7_2  = f2_2 * (crypto_int64) f7;
+  crypto_int64 f2f8_38 = f2_2 * (crypto_int64) f8_19;
+  crypto_int64 f2f9_38 = f2   * (crypto_int64) f9_38;
+  crypto_int64 f3f3_2  = f3_2 * (crypto_int64) f3;
+  crypto_int64 f3f4_2  = f3_2 * (crypto_int64) f4;
+  crypto_int64 f3f5_4  = f3_2 * (crypto_int64) f5_2;
+  crypto_int64 f3f6_2  = f3_2 * (crypto_int64) f6;
+  crypto_int64 f3f7_76 = f3_2 * (crypto_int64) f7_38;
+  crypto_int64 f3f8_38 = f3_2 * (crypto_int64) f8_19;
+  crypto_int64 f3f9_76 = f3_2 * (crypto_int64) f9_38;
+  crypto_int64 f4f4    = f4   * (crypto_int64) f4;
+  crypto_int64 f4f5_2  = f4_2 * (crypto_int64) f5;
+  crypto_int64 f4f6_38 = f4_2 * (crypto_int64) f6_19;
+  crypto_int64 f4f7_38 = f4   * (crypto_int64) f7_38;
+  crypto_int64 f4f8_38 = f4_2 * (crypto_int64) f8_19;
+  crypto_int64 f4f9_38 = f4   * (crypto_int64) f9_38;
+  crypto_int64 f5f5_38 = f5   * (crypto_int64) f5_38;
+  crypto_int64 f5f6_38 = f5_2 * (crypto_int64) f6_19;
+  crypto_int64 f5f7_76 = f5_2 * (crypto_int64) f7_38;
+  crypto_int64 f5f8_38 = f5_2 * (crypto_int64) f8_19;
+  crypto_int64 f5f9_76 = f5_2 * (crypto_int64) f9_38;
+  crypto_int64 f6f6_19 = f6   * (crypto_int64) f6_19;
+  crypto_int64 f6f7_38 = f6   * (crypto_int64) f7_38;
+  crypto_int64 f6f8_38 = f6_2 * (crypto_int64) f8_19;
+  crypto_int64 f6f9_38 = f6   * (crypto_int64) f9_38;
+  crypto_int64 f7f7_38 = f7   * (crypto_int64) f7_38;
+  crypto_int64 f7f8_38 = f7_2 * (crypto_int64) f8_19;
+  crypto_int64 f7f9_76 = f7_2 * (crypto_int64) f9_38;
+  crypto_int64 f8f8_19 = f8   * (crypto_int64) f8_19;
+  crypto_int64 f8f9_38 = f8   * (crypto_int64) f9_38;
+  crypto_int64 f9f9_38 = f9   * (crypto_int64) f9_38;
+  crypto_int64 h0 = f0f0  +f1f9_76+f2f8_38+f3f7_76+f4f6_38+f5f5_38;
+  crypto_int64 h1 = f0f1_2+f2f9_38+f3f8_38+f4f7_38+f5f6_38;
+  crypto_int64 h2 = f0f2_2+f1f1_2 +f3f9_76+f4f8_38+f5f7_76+f6f6_19;
+  crypto_int64 h3 = f0f3_2+f1f2_2 +f4f9_38+f5f8_38+f6f7_38;
+  crypto_int64 h4 = f0f4_2+f1f3_4 +f2f2   +f5f9_76+f6f8_38+f7f7_38;
+  crypto_int64 h5 = f0f5_2+f1f4_2 +f2f3_2 +f6f9_38+f7f8_38;
+  crypto_int64 h6 = f0f6_2+f1f5_4 +f2f4_2 +f3f3_2 +f7f9_76+f8f8_19;
+  crypto_int64 h7 = f0f7_2+f1f6_2 +f2f5_2 +f3f4_2 +f8f9_38;
+  crypto_int64 h8 = f0f8_2+f1f7_4 +f2f6_2 +f3f5_4 +f4f4   +f9f9_38;
+  crypto_int64 h9 = f0f9_2+f1f8_2 +f2f7_2 +f3f6_2 +f4f5_2;
+  crypto_int64 carry0;
+  crypto_int64 carry1;
+  crypto_int64 carry2;
+  crypto_int64 carry3;
+  crypto_int64 carry4;
+  crypto_int64 carry5;
+  crypto_int64 carry6;
+  crypto_int64 carry7;
+  crypto_int64 carry8;
+  crypto_int64 carry9;
+
+  h0 += h0;
+  h1 += h1;
+  h2 += h2;
+  h3 += h3;
+  h4 += h4;
+  h5 += h5;
+  h6 += h6;
+  h7 += h7;
+  h8 += h8;
+  h9 += h9;
+
+  carry0 = (h0 + (crypto_int64) (1<<25)) >> 26; h1 += carry0; h0 -= carry0 << 26;
+  carry4 = (h4 + (crypto_int64) (1<<25)) >> 26; h5 += carry4; h4 -= carry4 << 26;
+
+  carry1 = (h1 + (crypto_int64) (1<<24)) >> 25; h2 += carry1; h1 -= carry1 << 25;
+  carry5 = (h5 + (crypto_int64) (1<<24)) >> 25; h6 += carry5; h5 -= carry5 << 25;
+
+  carry2 = (h2 + (crypto_int64) (1<<25)) >> 26; h3 += carry2; h2 -= carry2 << 26;
+  carry6 = (h6 + (crypto_int64) (1<<25)) >> 26; h7 += carry6; h6 -= carry6 << 26;
+
+  carry3 = (h3 + (crypto_int64) (1<<24)) >> 25; h4 += carry3; h3 -= carry3 << 25;
+  carry7 = (h7 + (crypto_int64) (1<<24)) >> 25; h8 += carry7; h7 -= carry7 << 25;
+
+  carry4 = (h4 + (crypto_int64) (1<<25)) >> 26; h5 += carry4; h4 -= carry4 << 26;
+  carry8 = (h8 + (crypto_int64) (1<<25)) >> 26; h9 += carry8; h8 -= carry8 << 26;
+
+  carry9 = (h9 + (crypto_int64) (1<<24)) >> 25; h0 += carry9 * 19; h9 -= carry9 << 25;
+
+  carry0 = (h0 + (crypto_int64) (1<<25)) >> 26; h1 += carry0; h0 -= carry0 << 26;
+
+  h[0] = h0;
+  h[1] = h1;
+  h[2] = h2;
+  h[3] = h3;
+  h[4] = h4;
+  h[5] = h5;
+  h[6] = h6;
+  h[7] = h7;
+  h[8] = h8;
+  h[9] = h9;
+}
diff --git a/src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/fe_sub.c b/src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/fe_sub.c
new file mode 100644
index 00000000..6e26b7df
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/fe_sub.c
@@ -0,0 +1,57 @@
+#include "fe.h"
+
+/*
+h = f - g
+Can overlap h with f or g.
+
+Preconditions:
+   |f| bounded by 1.1*2^25,1.1*2^24,1.1*2^25,1.1*2^24,etc.
+   |g| bounded by 1.1*2^25,1.1*2^24,1.1*2^25,1.1*2^24,etc.
+
+Postconditions:
+   |h| bounded by 1.1*2^26,1.1*2^25,1.1*2^26,1.1*2^25,etc.
+*/
+
+void fe_sub(fe h,const fe f,const fe g)
+{
+  crypto_int32 f0 = f[0];
+  crypto_int32 f1 = f[1];
+  crypto_int32 f2 = f[2];
+  crypto_int32 f3 = f[3];
+  crypto_int32 f4 = f[4];
+  crypto_int32 f5 = f[5];
+  crypto_int32 f6 = f[6];
+  crypto_int32 f7 = f[7];
+  crypto_int32 f8 = f[8];
+  crypto_int32 f9 = f[9];
+  crypto_int32 g0 = g[0];
+  crypto_int32 g1 = g[1];
+  crypto_int32 g2 = g[2];
+  crypto_int32 g3 = g[3];
+  crypto_int32 g4 = g[4];
+  crypto_int32 g5 = g[5];
+  crypto_int32 g6 = g[6];
+  crypto_int32 g7 = g[7];
+  crypto_int32 g8 = g[8];
+  crypto_int32 g9 = g[9];
+  crypto_int32 h0 = f0 - g0;
+  crypto_int32 h1 = f1 - g1;
+  crypto_int32 h2 = f2 - g2;
+  crypto_int32 h3 = f3 - g3;
+  crypto_int32 h4 = f4 - g4;
+  crypto_int32 h5 = f5 - g5;
+  crypto_int32 h6 = f6 - g6;
+  crypto_int32 h7 = f7 - g7;
+  crypto_int32 h8 = f8 - g8;
+  crypto_int32 h9 = f9 - g9;
+  h[0] = h0;
+  h[1] = h1;
+  h[2] = h2;
+  h[3] = h3;
+  h[4] = h4;
+  h[5] = h5;
+  h[6] = h6;
+  h[7] = h7;
+  h[8] = h8;
+  h[9] = h9;
+}
diff --git a/src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/fe_tobytes.c b/src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/fe_tobytes.c
new file mode 100644
index 00000000..0a63baf9
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/fe_tobytes.c
@@ -0,0 +1,119 @@
+#include "fe.h"
+
+/*
+Preconditions:
+  |h| bounded by 1.1*2^26,1.1*2^25,1.1*2^26,1.1*2^25,etc.
+
+Write p=2^255-19; q=floor(h/p).
+Basic claim: q = floor(2^(-255)(h + 19 2^(-25)h9 + 2^(-1))).
+
+Proof:
+  Have |h|<=p so |q|<=1 so |19^2 2^(-255) q|<1/4.
+  Also have |h-2^230 h9|<2^231 so |19 2^(-255)(h-2^230 h9)|<1/4.
+
+  Write y=2^(-1)-19^2 2^(-255)q-19 2^(-255)(h-2^230 h9).
+  Then 0<y<1.
+
+  Write r=h-pq.
+  Have 0<=r<=p-1=2^255-20.
+  Thus 0<=r+19(2^-255)r<r+19(2^-255)2^255<=2^255-1.
+
+  Write x=r+19(2^-255)r+y.
+  Then 0<x<2^255 so floor(2^(-255)x) = 0 so floor(q+2^(-255)x) = q.
+
+  Have q+2^(-255)x = 2^(-255)(h + 19 2^(-25) h9 + 2^(-1))
+  so floor(2^(-255)(h + 19 2^(-25) h9 + 2^(-1))) = q.
+*/
+
+void fe_tobytes(unsigned char *s,const fe h)
+{
+  crypto_int32 h0 = h[0];
+  crypto_int32 h1 = h[1];
+  crypto_int32 h2 = h[2];
+  crypto_int32 h3 = h[3];
+  crypto_int32 h4 = h[4];
+  crypto_int32 h5 = h[5];
+  crypto_int32 h6 = h[6];
+  crypto_int32 h7 = h[7];
+  crypto_int32 h8 = h[8];
+  crypto_int32 h9 = h[9];
+  crypto_int32 q;
+  crypto_int32 carry0;
+  crypto_int32 carry1;
+  crypto_int32 carry2;
+  crypto_int32 carry3;
+  crypto_int32 carry4;
+  crypto_int32 carry5;
+  crypto_int32 carry6;
+  crypto_int32 carry7;
+  crypto_int32 carry8;
+  crypto_int32 carry9;
+
+  q = (19 * h9 + (((crypto_int32) 1) << 24)) >> 25;
+  q = (h0 + q) >> 26;
+  q = (h1 + q) >> 25;
+  q = (h2 + q) >> 26;
+  q = (h3 + q) >> 25;
+  q = (h4 + q) >> 26;
+  q = (h5 + q) >> 25;
+  q = (h6 + q) >> 26;
+  q = (h7 + q) >> 25;
+  q = (h8 + q) >> 26;
+  q = (h9 + q) >> 25;
+
+  /* Goal: Output h-(2^255-19)q, which is between 0 and 2^255-20. */
+  h0 += 19 * q;
+  /* Goal: Output h-2^255 q, which is between 0 and 2^255-20. */
+
+  carry0 = h0 >> 26; h1 += carry0; h0 -= carry0 << 26;
+  carry1 = h1 >> 25; h2 += carry1; h1 -= carry1 << 25;
+  carry2 = h2 >> 26; h3 += carry2; h2 -= carry2 << 26;
+  carry3 = h3 >> 25; h4 += carry3; h3 -= carry3 << 25;
+  carry4 = h4 >> 26; h5 += carry4; h4 -= carry4 << 26;
+  carry5 = h5 >> 25; h6 += carry5; h5 -= carry5 << 25;
+  carry6 = h6 >> 26; h7 += carry6; h6 -= carry6 << 26;
+  carry7 = h7 >> 25; h8 += carry7; h7 -= carry7 << 25;
+  carry8 = h8 >> 26; h9 += carry8; h8 -= carry8 << 26;
+  carry9 = h9 >> 25;               h9 -= carry9 << 25;
+                  /* h10 = carry9 */
+
+  /*
+  Goal: Output h0+...+2^255 h10-2^255 q, which is between 0 and 2^255-20.
+  Have h0+...+2^230 h9 between 0 and 2^255-1;
+  evidently 2^255 h10-2^255 q = 0.
+  Goal: Output h0+...+2^230 h9.
+  */
+
+  s[0] = h0 >> 0;
+  s[1] = h0 >> 8;
+  s[2] = h0 >> 16;
+  s[3] = (h0 >> 24) | (h1 << 2);
+  s[4] = h1 >> 6;
+  s[5] = h1 >> 14;
+  s[6] = (h1 >> 22) | (h2 << 3);
+  s[7] = h2 >> 5;
+  s[8] = h2 >> 13;
+  s[9] = (h2 >> 21) | (h3 << 5);
+  s[10] = h3 >> 3;
+  s[11] = h3 >> 11;
+  s[12] = (h3 >> 19) | (h4 << 6);
+  s[13] = h4 >> 2;
+  s[14] = h4 >> 10;
+  s[15] = h4 >> 18;
+  s[16] = h5 >> 0;
+  s[17] = h5 >> 8;
+  s[18] = h5 >> 16;
+  s[19] = (h5 >> 24) | (h6 << 1);
+  s[20] = h6 >> 7;
+  s[21] = h6 >> 15;
+  s[22] = (h6 >> 23) | (h7 << 3);
+  s[23] = h7 >> 5;
+  s[24] = h7 >> 13;
+  s[25] = (h7 >> 21) | (h8 << 4);
+  s[26] = h8 >> 4;
+  s[27] = h8 >> 12;
+  s[28] = (h8 >> 20) | (h9 << 6);
+  s[29] = h9 >> 2;
+  s[30] = h9 >> 10;
+  s[31] = h9 >> 18;
+}
diff --git a/src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge.h b/src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge.h
new file mode 100644
index 00000000..55e95f95
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge.h
@@ -0,0 +1,95 @@
+#ifndef GE_H
+#define GE_H
+
+/*
+ge means group element.
+
+Here the group is the set of pairs (x,y) of field elements (see fe.h)
+satisfying -x^2 + y^2 = 1 + d x^2y^2
+where d = -121665/121666.
+
+Representations:
+  ge_p2 (projective): (X:Y:Z) satisfying x=X/Z, y=Y/Z
+  ge_p3 (extended): (X:Y:Z:T) satisfying x=X/Z, y=Y/Z, XY=ZT
+  ge_p1p1 (completed): ((X:Z),(Y:T)) satisfying x=X/Z, y=Y/T
+  ge_precomp (Duif): (y+x,y-x,2dxy)
+*/
+
+#include "fe.h"
+
+typedef struct {
+  fe X;
+  fe Y;
+  fe Z;
+} ge_p2;
+
+typedef struct {
+  fe X;
+  fe Y;
+  fe Z;
+  fe T;
+} ge_p3;
+
+typedef struct {
+  fe X;
+  fe Y;
+  fe Z;
+  fe T;
+} ge_p1p1;
+
+typedef struct {
+  fe yplusx;
+  fe yminusx;
+  fe xy2d;
+} ge_precomp;
+
+typedef struct {
+  fe YplusX;
+  fe YminusX;
+  fe Z;
+  fe T2d;
+} ge_cached;
+
+#define ge_frombytes_negate_vartime crypto_sign_ed25519_ref10_ge_frombytes_negate_vartime
+#define ge_tobytes crypto_sign_ed25519_ref10_ge_tobytes
+#define ge_p3_tobytes crypto_sign_ed25519_ref10_ge_p3_tobytes
+
+#define ge_p2_0 crypto_sign_ed25519_ref10_ge_p2_0
+#define ge_p3_0 crypto_sign_ed25519_ref10_ge_p3_0
+#define ge_precomp_0 crypto_sign_ed25519_ref10_ge_precomp_0
+#define ge_p3_to_p2 crypto_sign_ed25519_ref10_ge_p3_to_p2
+#define ge_p3_to_cached crypto_sign_ed25519_ref10_ge_p3_to_cached
+#define ge_p1p1_to_p2 crypto_sign_ed25519_ref10_ge_p1p1_to_p2
+#define ge_p1p1_to_p3 crypto_sign_ed25519_ref10_ge_p1p1_to_p3
+#define ge_p2_dbl crypto_sign_ed25519_ref10_ge_p2_dbl
+#define ge_p3_dbl crypto_sign_ed25519_ref10_ge_p3_dbl
+
+#define ge_madd crypto_sign_ed25519_ref10_ge_madd
+#define ge_msub crypto_sign_ed25519_ref10_ge_msub
+#define ge_add crypto_sign_ed25519_ref10_ge_add
+#define ge_sub crypto_sign_ed25519_ref10_ge_sub
+#define ge_scalarmult_base crypto_sign_ed25519_ref10_ge_scalarmult_base
+#define ge_double_scalarmult_vartime crypto_sign_ed25519_ref10_ge_double_scalarmult_vartime
+
+extern void ge_tobytes(unsigned char *,const ge_p2 *);
+extern void ge_p3_tobytes(unsigned char *,const ge_p3 *);
+extern int ge_frombytes_negate_vartime(ge_p3 *,const unsigned char *);
+
+extern void ge_p2_0(ge_p2 *);
+extern void ge_p3_0(ge_p3 *);
+extern void ge_precomp_0(ge_precomp *);
+extern void ge_p3_to_p2(ge_p2 *,const ge_p3 *);
+extern void ge_p3_to_cached(ge_cached *,const ge_p3 *);
+extern void ge_p1p1_to_p2(ge_p2 *,const ge_p1p1 *);
+extern void ge_p1p1_to_p3(ge_p3 *,const ge_p1p1 *);
+extern void ge_p2_dbl(ge_p1p1 *,const ge_p2 *);
+extern void ge_p3_dbl(ge_p1p1 *,const ge_p3 *);
+
+extern void ge_madd(ge_p1p1 *,const ge_p3 *,const ge_precomp *);
+extern void ge_msub(ge_p1p1 *,const ge_p3 *,const ge_precomp *);
+extern void ge_add(ge_p1p1 *,const ge_p3 *,const ge_cached *);
+extern void ge_sub(ge_p1p1 *,const ge_p3 *,const ge_cached *);
+extern void ge_scalarmult_base(ge_p3 *,const unsigned char *);
+extern void ge_double_scalarmult_vartime(ge_p2 *,const unsigned char *,const ge_p3 *,const unsigned char *);
+
+#endif
diff --git a/src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge_add.c b/src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge_add.c
new file mode 100644
index 00000000..da7ff5d2
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge_add.c
@@ -0,0 +1,11 @@
+#include "ge.h"
+
+/*
+r = p + q
+*/
+
+void ge_add(ge_p1p1 *r,const ge_p3 *p,const ge_cached *q)
+{
+  fe t0;
+#include "ge_add.h"
+}
diff --git a/src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge_add.h b/src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge_add.h
new file mode 100644
index 00000000..7481f8ff
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge_add.h
@@ -0,0 +1,97 @@
+
+/* qhasm: enter ge_add */
+
+/* qhasm: fe X1 */
+
+/* qhasm: fe Y1 */
+
+/* qhasm: fe Z1 */
+
+/* qhasm: fe Z2 */
+
+/* qhasm: fe T1 */
+
+/* qhasm: fe ZZ */
+
+/* qhasm: fe YpX2 */
+
+/* qhasm: fe YmX2 */
+
+/* qhasm: fe T2d2 */
+
+/* qhasm: fe X3 */
+
+/* qhasm: fe Y3 */
+
+/* qhasm: fe Z3 */
+
+/* qhasm: fe T3 */
+
+/* qhasm: fe YpX1 */
+
+/* qhasm: fe YmX1 */
+
+/* qhasm: fe A */
+
+/* qhasm: fe B */
+
+/* qhasm: fe C */
+
+/* qhasm: fe D */
+
+/* qhasm: YpX1 = Y1+X1 */
+/* asm 1: fe_add(>YpX1=fe#1,<Y1=fe#12,<X1=fe#11); */
+/* asm 2: fe_add(>YpX1=r->X,<Y1=p->Y,<X1=p->X); */
+fe_add(r->X,p->Y,p->X);
+
+/* qhasm: YmX1 = Y1-X1 */
+/* asm 1: fe_sub(>YmX1=fe#2,<Y1=fe#12,<X1=fe#11); */
+/* asm 2: fe_sub(>YmX1=r->Y,<Y1=p->Y,<X1=p->X); */
+fe_sub(r->Y,p->Y,p->X);
+
+/* qhasm: A = YpX1*YpX2 */
+/* asm 1: fe_mul(>A=fe#3,<YpX1=fe#1,<YpX2=fe#15); */
+/* asm 2: fe_mul(>A=r->Z,<YpX1=r->X,<YpX2=q->YplusX); */
+fe_mul(r->Z,r->X,q->YplusX);
+
+/* qhasm: B = YmX1*YmX2 */
+/* asm 1: fe_mul(>B=fe#2,<YmX1=fe#2,<YmX2=fe#16); */
+/* asm 2: fe_mul(>B=r->Y,<YmX1=r->Y,<YmX2=q->YminusX); */
+fe_mul(r->Y,r->Y,q->YminusX);
+
+/* qhasm: C = T2d2*T1 */
+/* asm 1: fe_mul(>C=fe#4,<T2d2=fe#18,<T1=fe#14); */
+/* asm 2: fe_mul(>C=r->T,<T2d2=q->T2d,<T1=p->T); */
+fe_mul(r->T,q->T2d,p->T);
+
+/* qhasm: ZZ = Z1*Z2 */
+/* asm 1: fe_mul(>ZZ=fe#1,<Z1=fe#13,<Z2=fe#17); */
+/* asm 2: fe_mul(>ZZ=r->X,<Z1=p->Z,<Z2=q->Z); */
+fe_mul(r->X,p->Z,q->Z);
+
+/* qhasm: D = 2*ZZ */
+/* asm 1: fe_add(>D=fe#5,<ZZ=fe#1,<ZZ=fe#1); */
+/* asm 2: fe_add(>D=t0,<ZZ=r->X,<ZZ=r->X); */
+fe_add(t0,r->X,r->X);
+
+/* qhasm: X3 = A-B */
+/* asm 1: fe_sub(>X3=fe#1,<A=fe#3,<B=fe#2); */
+/* asm 2: fe_sub(>X3=r->X,<A=r->Z,<B=r->Y); */
+fe_sub(r->X,r->Z,r->Y);
+
+/* qhasm: Y3 = A+B */
+/* asm 1: fe_add(>Y3=fe#2,<A=fe#3,<B=fe#2); */
+/* asm 2: fe_add(>Y3=r->Y,<A=r->Z,<B=r->Y); */
+fe_add(r->Y,r->Z,r->Y);
+
+/* qhasm: Z3 = D+C */
+/* asm 1: fe_add(>Z3=fe#3,<D=fe#5,<C=fe#4); */
+/* asm 2: fe_add(>Z3=r->Z,<D=t0,<C=r->T); */
+fe_add(r->Z,t0,r->T);
+
+/* qhasm: T3 = D-C */
+/* asm 1: fe_sub(>T3=fe#4,<D=fe#5,<C=fe#4); */
+/* asm 2: fe_sub(>T3=r->T,<D=t0,<C=r->T); */
+fe_sub(r->T,t0,r->T);
+
+/* qhasm: return */
diff --git a/src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge_double_scalarmult.c b/src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge_double_scalarmult.c
new file mode 100644
index 00000000..f8bf4bf7
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge_double_scalarmult.c
@@ -0,0 +1,96 @@
+#include "ge.h"
+
+static void slide(signed char *r,const unsigned char *a)
+{
+  int i;
+  int b;
+  int k;
+
+  for (i = 0;i < 256;++i)
+    r[i] = 1 & (a[i >> 3] >> (i & 7));
+
+  for (i = 0;i < 256;++i)
+    if (r[i]) {
+      for (b = 1;b <= 6 && i + b < 256;++b) {
+        if (r[i + b]) {
+          if (r[i] + (r[i + b] << b) <= 15) {
+            r[i] += r[i + b] << b; r[i + b] = 0;
+          } else if (r[i] - (r[i + b] << b) >= -15) {
+            r[i] -= r[i + b] << b;
+            for (k = i + b;k < 256;++k) {
+              if (!r[k]) {
+                r[k] = 1;
+                break;
+              }
+              r[k] = 0;
+            }
+          } else
+            break;
+        }
+      }
+    }
+
+}
+
+static ge_precomp Bi[8] = {
+#include "base2.h"
+} ;
+
+/*
+r = a * A + b * B
+where a = a[0]+256*a[1]+...+256^31 a[31].
+and b = b[0]+256*b[1]+...+256^31 b[31].
+B is the Ed25519 base point (x,4/5) with x positive.
+*/
+
+void ge_double_scalarmult_vartime(ge_p2 *r,const unsigned char *a,const ge_p3 *A,const unsigned char *b)
+{
+  signed char aslide[256];
+  signed char bslide[256];
+  ge_cached Ai[8]; /* A,3A,5A,7A,9A,11A,13A,15A */
+  ge_p1p1 t;
+  ge_p3 u;
+  ge_p3 A2;
+  int i;
+
+  slide(aslide,a);
+  slide(bslide,b);
+
+  ge_p3_to_cached(&Ai[0],A);
+  ge_p3_dbl(&t,A); ge_p1p1_to_p3(&A2,&t);
+  ge_add(&t,&A2,&Ai[0]); ge_p1p1_to_p3(&u,&t); ge_p3_to_cached(&Ai[1],&u);
+  ge_add(&t,&A2,&Ai[1]); ge_p1p1_to_p3(&u,&t); ge_p3_to_cached(&Ai[2],&u);
+  ge_add(&t,&A2,&Ai[2]); ge_p1p1_to_p3(&u,&t); ge_p3_to_cached(&Ai[3],&u);
+  ge_add(&t,&A2,&Ai[3]); ge_p1p1_to_p3(&u,&t); ge_p3_to_cached(&Ai[4],&u);
+  ge_add(&t,&A2,&Ai[4]); ge_p1p1_to_p3(&u,&t); ge_p3_to_cached(&Ai[5],&u);
+  ge_add(&t,&A2,&Ai[5]); ge_p1p1_to_p3(&u,&t); ge_p3_to_cached(&Ai[6],&u);
+  ge_add(&t,&A2,&Ai[6]); ge_p1p1_to_p3(&u,&t); ge_p3_to_cached(&Ai[7],&u);
+
+  ge_p2_0(r);
+
+  for (i = 255;i >= 0;--i) {
+    if (aslide[i] || bslide[i]) break;
+  }
+
+  for (;i >= 0;--i) {
+    ge_p2_dbl(&t,r);
+
+    if (aslide[i] > 0) {
+      ge_p1p1_to_p3(&u,&t);
+      ge_add(&t,&u,&Ai[aslide[i]/2]);
+    } else if (aslide[i] < 0) {
+      ge_p1p1_to_p3(&u,&t);
+      ge_sub(&t,&u,&Ai[(-aslide[i])/2]);
+    }
+
+    if (bslide[i] > 0) {
+      ge_p1p1_to_p3(&u,&t);
+      ge_madd(&t,&u,&Bi[bslide[i]/2]);
+    } else if (bslide[i] < 0) {
+      ge_p1p1_to_p3(&u,&t);
+      ge_msub(&t,&u,&Bi[(-bslide[i])/2]);
+    }
+
+    ge_p1p1_to_p2(r,&t);
+  }
+}
diff --git a/src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge_frombytes.c b/src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge_frombytes.c
new file mode 100644
index 00000000..1a059ee9
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge_frombytes.c
@@ -0,0 +1,50 @@
+#include "ge.h"
+
+static const fe d = {
+#include "d.h"
+} ;
+
+static const fe sqrtm1 = {
+#include "sqrtm1.h"
+} ;
+
+int ge_frombytes_negate_vartime(ge_p3 *h,const unsigned char *s)
+{
+  fe u;
+  fe v;
+  fe v3;
+  fe vxx;
+  fe check;
+
+  fe_frombytes(h->Y,s);
+  fe_1(h->Z);
+  fe_sq(u,h->Y);
+  fe_mul(v,u,d);
+  fe_sub(u,u,h->Z);       /* u = y^2-1 */
+  fe_add(v,v,h->Z);       /* v = dy^2+1 */
+
+  fe_sq(v3,v);
+  fe_mul(v3,v3,v);        /* v3 = v^3 */
+  fe_sq(h->X,v3);
+  fe_mul(h->X,h->X,v);
+  fe_mul(h->X,h->X,u);    /* x = uv^7 */
+
+  fe_pow22523(h->X,h->X); /* x = (uv^7)^((q-5)/8) */
+  fe_mul(h->X,h->X,v3);
+  fe_mul(h->X,h->X,u);    /* x = uv^3(uv^7)^((q-5)/8) */
+
+  fe_sq(vxx,h->X);
+  fe_mul(vxx,vxx,v);
+  fe_sub(check,vxx,u);    /* vx^2-u */
+  if (fe_isnonzero(check)) {
+    fe_add(check,vxx,u);  /* vx^2+u */
+    if (fe_isnonzero(check)) return -1;
+    fe_mul(h->X,h->X,sqrtm1);
+  }
+
+  if (fe_isnegative(h->X) == (s[31] >> 7))
+    fe_neg(h->X,h->X);
+
+  fe_mul(h->T,h->X,h->Y);
+  return 0;
+}
diff --git a/src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge_madd.c b/src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge_madd.c
new file mode 100644
index 00000000..62257177
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge_madd.c
@@ -0,0 +1,11 @@
+#include "ge.h"
+
+/*
+r = p + q
+*/
+
+void ge_madd(ge_p1p1 *r,const ge_p3 *p,const ge_precomp *q)
+{
+  fe t0;
+#include "ge_madd.h"
+}
diff --git a/src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge_madd.h b/src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge_madd.h
new file mode 100644
index 00000000..ecae8495
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge_madd.h
@@ -0,0 +1,88 @@
+
+/* qhasm: enter ge_madd */
+
+/* qhasm: fe X1 */
+
+/* qhasm: fe Y1 */
+
+/* qhasm: fe Z1 */
+
+/* qhasm: fe T1 */
+
+/* qhasm: fe ypx2 */
+
+/* qhasm: fe ymx2 */
+
+/* qhasm: fe xy2d2 */
+
+/* qhasm: fe X3 */
+
+/* qhasm: fe Y3 */
+
+/* qhasm: fe Z3 */
+
+/* qhasm: fe T3 */
+
+/* qhasm: fe YpX1 */
+
+/* qhasm: fe YmX1 */
+
+/* qhasm: fe A */
+
+/* qhasm: fe B */
+
+/* qhasm: fe C */
+
+/* qhasm: fe D */
+
+/* qhasm: YpX1 = Y1+X1 */
+/* asm 1: fe_add(>YpX1=fe#1,<Y1=fe#12,<X1=fe#11); */
+/* asm 2: fe_add(>YpX1=r->X,<Y1=p->Y,<X1=p->X); */
+fe_add(r->X,p->Y,p->X);
+
+/* qhasm: YmX1 = Y1-X1 */
+/* asm 1: fe_sub(>YmX1=fe#2,<Y1=fe#12,<X1=fe#11); */
+/* asm 2: fe_sub(>YmX1=r->Y,<Y1=p->Y,<X1=p->X); */
+fe_sub(r->Y,p->Y,p->X);
+
+/* qhasm: A = YpX1*ypx2 */
+/* asm 1: fe_mul(>A=fe#3,<YpX1=fe#1,<ypx2=fe#15); */
+/* asm 2: fe_mul(>A=r->Z,<YpX1=r->X,<ypx2=q->yplusx); */
+fe_mul(r->Z,r->X,q->yplusx);
+
+/* qhasm: B = YmX1*ymx2 */
+/* asm 1: fe_mul(>B=fe#2,<YmX1=fe#2,<ymx2=fe#16); */
+/* asm 2: fe_mul(>B=r->Y,<YmX1=r->Y,<ymx2=q->yminusx); */
+fe_mul(r->Y,r->Y,q->yminusx);
+
+/* qhasm: C = xy2d2*T1 */
+/* asm 1: fe_mul(>C=fe#4,<xy2d2=fe#17,<T1=fe#14); */
+/* asm 2: fe_mul(>C=r->T,<xy2d2=q->xy2d,<T1=p->T); */
+fe_mul(r->T,q->xy2d,p->T);
+
+/* qhasm: D = 2*Z1 */
+/* asm 1: fe_add(>D=fe#5,<Z1=fe#13,<Z1=fe#13); */
+/* asm 2: fe_add(>D=t0,<Z1=p->Z,<Z1=p->Z); */
+fe_add(t0,p->Z,p->Z);
+
+/* qhasm: X3 = A-B */
+/* asm 1: fe_sub(>X3=fe#1,<A=fe#3,<B=fe#2); */
+/* asm 2: fe_sub(>X3=r->X,<A=r->Z,<B=r->Y); */
+fe_sub(r->X,r->Z,r->Y);
+
+/* qhasm: Y3 = A+B */
+/* asm 1: fe_add(>Y3=fe#2,<A=fe#3,<B=fe#2); */
+/* asm 2: fe_add(>Y3=r->Y,<A=r->Z,<B=r->Y); */
+fe_add(r->Y,r->Z,r->Y);
+
+/* qhasm: Z3 = D+C */
+/* asm 1: fe_add(>Z3=fe#3,<D=fe#5,<C=fe#4); */
+/* asm 2: fe_add(>Z3=r->Z,<D=t0,<C=r->T); */
+fe_add(r->Z,t0,r->T);
+
+/* qhasm: T3 = D-C */
+/* asm 1: fe_sub(>T3=fe#4,<D=fe#5,<C=fe#4); */
+/* asm 2: fe_sub(>T3=r->T,<D=t0,<C=r->T); */
+fe_sub(r->T,t0,r->T);
+
+/* qhasm: return */
diff --git a/src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge_msub.c b/src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge_msub.c
new file mode 100644
index 00000000..741ecbf1
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge_msub.c
@@ -0,0 +1,11 @@
+#include "ge.h"
+
+/*
+r = p - q
+*/
+
+void ge_msub(ge_p1p1 *r,const ge_p3 *p,const ge_precomp *q)
+{
+  fe t0;
+#include "ge_msub.h"
+}
diff --git a/src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge_msub.h b/src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge_msub.h
new file mode 100644
index 00000000..500f986b
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge_msub.h
@@ -0,0 +1,88 @@
+
+/* qhasm: enter ge_msub */
+
+/* qhasm: fe X1 */
+
+/* qhasm: fe Y1 */
+
+/* qhasm: fe Z1 */
+
+/* qhasm: fe T1 */
+
+/* qhasm: fe ypx2 */
+
+/* qhasm: fe ymx2 */
+
+/* qhasm: fe xy2d2 */
+
+/* qhasm: fe X3 */
+
+/* qhasm: fe Y3 */
+
+/* qhasm: fe Z3 */
+
+/* qhasm: fe T3 */
+
+/* qhasm: fe YpX1 */
+
+/* qhasm: fe YmX1 */
+
+/* qhasm: fe A */
+
+/* qhasm: fe B */
+
+/* qhasm: fe C */
+
+/* qhasm: fe D */
+
+/* qhasm: YpX1 = Y1+X1 */
+/* asm 1: fe_add(>YpX1=fe#1,<Y1=fe#12,<X1=fe#11); */
+/* asm 2: fe_add(>YpX1=r->X,<Y1=p->Y,<X1=p->X); */
+fe_add(r->X,p->Y,p->X);
+
+/* qhasm: YmX1 = Y1-X1 */
+/* asm 1: fe_sub(>YmX1=fe#2,<Y1=fe#12,<X1=fe#11); */
+/* asm 2: fe_sub(>YmX1=r->Y,<Y1=p->Y,<X1=p->X); */
+fe_sub(r->Y,p->Y,p->X);
+
+/* qhasm: A = YpX1*ymx2 */
+/* asm 1: fe_mul(>A=fe#3,<YpX1=fe#1,<ymx2=fe#16); */
+/* asm 2: fe_mul(>A=r->Z,<YpX1=r->X,<ymx2=q->yminusx); */
+fe_mul(r->Z,r->X,q->yminusx);
+
+/* qhasm: B = YmX1*ypx2 */
+/* asm 1: fe_mul(>B=fe#2,<YmX1=fe#2,<ypx2=fe#15); */
+/* asm 2: fe_mul(>B=r->Y,<YmX1=r->Y,<ypx2=q->yplusx); */
+fe_mul(r->Y,r->Y,q->yplusx);
+
+/* qhasm: C = xy2d2*T1 */
+/* asm 1: fe_mul(>C=fe#4,<xy2d2=fe#17,<T1=fe#14); */
+/* asm 2: fe_mul(>C=r->T,<xy2d2=q->xy2d,<T1=p->T); */
+fe_mul(r->T,q->xy2d,p->T);
+
+/* qhasm: D = 2*Z1 */
+/* asm 1: fe_add(>D=fe#5,<Z1=fe#13,<Z1=fe#13); */
+/* asm 2: fe_add(>D=t0,<Z1=p->Z,<Z1=p->Z); */
+fe_add(t0,p->Z,p->Z);
+
+/* qhasm: X3 = A-B */
+/* asm 1: fe_sub(>X3=fe#1,<A=fe#3,<B=fe#2); */
+/* asm 2: fe_sub(>X3=r->X,<A=r->Z,<B=r->Y); */
+fe_sub(r->X,r->Z,r->Y);
+
+/* qhasm: Y3 = A+B */
+/* asm 1: fe_add(>Y3=fe#2,<A=fe#3,<B=fe#2); */
+/* asm 2: fe_add(>Y3=r->Y,<A=r->Z,<B=r->Y); */
+fe_add(r->Y,r->Z,r->Y);
+
+/* qhasm: Z3 = D-C */
+/* asm 1: fe_sub(>Z3=fe#3,<D=fe#5,<C=fe#4); */
+/* asm 2: fe_sub(>Z3=r->Z,<D=t0,<C=r->T); */
+fe_sub(r->Z,t0,r->T);
+
+/* qhasm: T3 = D+C */
+/* asm 1: fe_add(>T3=fe#4,<D=fe#5,<C=fe#4); */
+/* asm 2: fe_add(>T3=r->T,<D=t0,<C=r->T); */
+fe_add(r->T,t0,r->T);
+
+/* qhasm: return */
diff --git a/src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge_p1p1_to_p2.c b/src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge_p1p1_to_p2.c
new file mode 100644
index 00000000..9bb5013d
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge_p1p1_to_p2.c
@@ -0,0 +1,12 @@
+#include "ge.h"
+
+/*
+r = p
+*/
+
+extern void ge_p1p1_to_p2(ge_p2 *r,const ge_p1p1 *p)
+{
+  fe_mul(r->X,p->X,p->T);
+  fe_mul(r->Y,p->Y,p->Z);
+  fe_mul(r->Z,p->Z,p->T);
+}
diff --git a/src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge_p1p1_to_p3.c b/src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge_p1p1_to_p3.c
new file mode 100644
index 00000000..2f57b109
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge_p1p1_to_p3.c
@@ -0,0 +1,13 @@
+#include "ge.h"
+
+/*
+r = p
+*/
+
+extern void ge_p1p1_to_p3(ge_p3 *r,const ge_p1p1 *p)
+{
+  fe_mul(r->X,p->X,p->T);
+  fe_mul(r->Y,p->Y,p->Z);
+  fe_mul(r->Z,p->Z,p->T);
+  fe_mul(r->T,p->X,p->Y);
+}
diff --git a/src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge_p2_0.c b/src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge_p2_0.c
new file mode 100644
index 00000000..6191d1e6
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge_p2_0.c
@@ -0,0 +1,8 @@
+#include "ge.h"
+
+void ge_p2_0(ge_p2 *h)
+{
+  fe_0(h->X);
+  fe_1(h->Y);
+  fe_1(h->Z);
+}
diff --git a/src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge_p2_dbl.c b/src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge_p2_dbl.c
new file mode 100644
index 00000000..2e332b5c
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge_p2_dbl.c
@@ -0,0 +1,11 @@
+#include "ge.h"
+
+/*
+r = 2 * p
+*/
+
+void ge_p2_dbl(ge_p1p1 *r,const ge_p2 *p)
+{
+  fe t0;
+#include "ge_p2_dbl.h"
+}
diff --git a/src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge_p2_dbl.h b/src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge_p2_dbl.h
new file mode 100644
index 00000000..128efed9
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge_p2_dbl.h
@@ -0,0 +1,73 @@
+
+/* qhasm: enter ge_p2_dbl */
+
+/* qhasm: fe X1 */
+
+/* qhasm: fe Y1 */
+
+/* qhasm: fe Z1 */
+
+/* qhasm: fe A */
+
+/* qhasm: fe AA */
+
+/* qhasm: fe XX */
+
+/* qhasm: fe YY */
+
+/* qhasm: fe B */
+
+/* qhasm: fe X3 */
+
+/* qhasm: fe Y3 */
+
+/* qhasm: fe Z3 */
+
+/* qhasm: fe T3 */
+
+/* qhasm: XX=X1^2 */
+/* asm 1: fe_sq(>XX=fe#1,<X1=fe#11); */
+/* asm 2: fe_sq(>XX=r->X,<X1=p->X); */
+fe_sq(r->X,p->X);
+
+/* qhasm: YY=Y1^2 */
+/* asm 1: fe_sq(>YY=fe#3,<Y1=fe#12); */
+/* asm 2: fe_sq(>YY=r->Z,<Y1=p->Y); */
+fe_sq(r->Z,p->Y);
+
+/* qhasm: B=2*Z1^2 */
+/* asm 1: fe_sq2(>B=fe#4,<Z1=fe#13); */
+/* asm 2: fe_sq2(>B=r->T,<Z1=p->Z); */
+fe_sq2(r->T,p->Z);
+
+/* qhasm: A=X1+Y1 */
+/* asm 1: fe_add(>A=fe#2,<X1=fe#11,<Y1=fe#12); */
+/* asm 2: fe_add(>A=r->Y,<X1=p->X,<Y1=p->Y); */
+fe_add(r->Y,p->X,p->Y);
+
+/* qhasm: AA=A^2 */
+/* asm 1: fe_sq(>AA=fe#5,<A=fe#2); */
+/* asm 2: fe_sq(>AA=t0,<A=r->Y); */
+fe_sq(t0,r->Y);
+
+/* qhasm: Y3=YY+XX */
+/* asm 1: fe_add(>Y3=fe#2,<YY=fe#3,<XX=fe#1); */
+/* asm 2: fe_add(>Y3=r->Y,<YY=r->Z,<XX=r->X); */
+fe_add(r->Y,r->Z,r->X);
+
+/* qhasm: Z3=YY-XX */
+/* asm 1: fe_sub(>Z3=fe#3,<YY=fe#3,<XX=fe#1); */
+/* asm 2: fe_sub(>Z3=r->Z,<YY=r->Z,<XX=r->X); */
+fe_sub(r->Z,r->Z,r->X);
+
+/* qhasm: X3=AA-Y3 */
+/* asm 1: fe_sub(>X3=fe#1,<AA=fe#5,<Y3=fe#2); */
+/* asm 2: fe_sub(>X3=r->X,<AA=t0,<Y3=r->Y); */
+fe_sub(r->X,t0,r->Y);
+
+/* qhasm: T3=B-Z3 */
+/* asm 1: fe_sub(>T3=fe#4,<B=fe#4,<Z3=fe#3); */
+/* asm 2: fe_sub(>T3=r->T,<B=r->T,<Z3=r->Z); */
+fe_sub(r->T,r->T,r->Z);
+
+/* qhasm: return */
diff --git a/src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge_p3_0.c b/src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge_p3_0.c
new file mode 100644
index 00000000..401b2935
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge_p3_0.c
@@ -0,0 +1,9 @@
+#include "ge.h"
+
+void ge_p3_0(ge_p3 *h)
+{
+  fe_0(h->X);
+  fe_1(h->Y);
+  fe_1(h->Z);
+  fe_0(h->T);
+}
diff --git a/src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge_p3_dbl.c b/src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge_p3_dbl.c
new file mode 100644
index 00000000..0d8a0591
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge_p3_dbl.c
@@ -0,0 +1,12 @@
+#include "ge.h"
+
+/*
+r = 2 * p
+*/
+
+void ge_p3_dbl(ge_p1p1 *r,const ge_p3 *p)
+{
+  ge_p2 q;
+  ge_p3_to_p2(&q,p);
+  ge_p2_dbl(r,&q);
+}
diff --git a/src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge_p3_to_cached.c b/src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge_p3_to_cached.c
new file mode 100644
index 00000000..bde64228
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge_p3_to_cached.c
@@ -0,0 +1,17 @@
+#include "ge.h"
+
+/*
+r = p
+*/
+
+static const fe d2 = {
+#include "d2.h"
+} ;
+
+extern void ge_p3_to_cached(ge_cached *r,const ge_p3 *p)
+{
+  fe_add(r->YplusX,p->Y,p->X);
+  fe_sub(r->YminusX,p->Y,p->X);
+  fe_copy(r->Z,p->Z);
+  fe_mul(r->T2d,p->T,d2);
+}
diff --git a/src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge_p3_to_p2.c b/src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge_p3_to_p2.c
new file mode 100644
index 00000000..e532a9e4
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge_p3_to_p2.c
@@ -0,0 +1,12 @@
+#include "ge.h"
+
+/*
+r = p
+*/
+
+extern void ge_p3_to_p2(ge_p2 *r,const ge_p3 *p)
+{
+  fe_copy(r->X,p->X);
+  fe_copy(r->Y,p->Y);
+  fe_copy(r->Z,p->Z);
+}
diff --git a/src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge_p3_tobytes.c b/src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge_p3_tobytes.c
new file mode 100644
index 00000000..21cb2fc6
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge_p3_tobytes.c
@@ -0,0 +1,14 @@
+#include "ge.h"
+
+void ge_p3_tobytes(unsigned char *s,const ge_p3 *h)
+{
+  fe recip;
+  fe x;
+  fe y;
+
+  fe_invert(recip,h->Z);
+  fe_mul(x,h->X,recip);
+  fe_mul(y,h->Y,recip);
+  fe_tobytes(s,y);
+  s[31] ^= fe_isnegative(x) << 7;
+}
diff --git a/src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge_precomp_0.c b/src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge_precomp_0.c
new file mode 100644
index 00000000..2e218861
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge_precomp_0.c
@@ -0,0 +1,8 @@
+#include "ge.h"
+
+void ge_precomp_0(ge_precomp *h)
+{
+  fe_1(h->yplusx);
+  fe_1(h->yminusx);
+  fe_0(h->xy2d);
+}
diff --git a/src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge_scalarmult_base.c b/src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge_scalarmult_base.c
new file mode 100644
index 00000000..421e4fa0
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge_scalarmult_base.c
@@ -0,0 +1,105 @@
+#include "ge.h"
+#include "crypto_uint32.h"
+
+static unsigned char equal(signed char b,signed char c)
+{
+  unsigned char ub = b;
+  unsigned char uc = c;
+  unsigned char x = ub ^ uc; /* 0: yes; 1..255: no */
+  crypto_uint32 y = x; /* 0: yes; 1..255: no */
+  y -= 1; /* 4294967295: yes; 0..254: no */
+  y >>= 31; /* 1: yes; 0: no */
+  return y;
+}
+
+static unsigned char negative(signed char b)
+{
+  unsigned long long x = b; /* 18446744073709551361..18446744073709551615: yes; 0..255: no */
+  x >>= 63; /* 1: yes; 0: no */
+  return x;
+}
+
+static void cmov(ge_precomp *t,ge_precomp *u,unsigned char b)
+{
+  fe_cmov(t->yplusx,u->yplusx,b);
+  fe_cmov(t->yminusx,u->yminusx,b);
+  fe_cmov(t->xy2d,u->xy2d,b);
+}
+
+/* base[i][j] = (j+1)*256^i*B */
+static ge_precomp base[32][8] = {
+#include "base.h"
+} ;
+
+static void select(ge_precomp *t,int pos,signed char b)
+{
+  ge_precomp minust;
+  unsigned char bnegative = negative(b);
+  unsigned char babs = b - (((-bnegative) & b) << 1);
+
+  ge_precomp_0(t);
+  cmov(t,&base[pos][0],equal(babs,1));
+  cmov(t,&base[pos][1],equal(babs,2));
+  cmov(t,&base[pos][2],equal(babs,3));
+  cmov(t,&base[pos][3],equal(babs,4));
+  cmov(t,&base[pos][4],equal(babs,5));
+  cmov(t,&base[pos][5],equal(babs,6));
+  cmov(t,&base[pos][6],equal(babs,7));
+  cmov(t,&base[pos][7],equal(babs,8));
+  fe_copy(minust.yplusx,t->yminusx);
+  fe_copy(minust.yminusx,t->yplusx);
+  fe_neg(minust.xy2d,t->xy2d);
+  cmov(t,&minust,bnegative);
+}
+
+/*
+h = a * B
+where a = a[0]+256*a[1]+...+256^31 a[31]
+B is the Ed25519 base point (x,4/5) with x positive.
+
+Preconditions:
+  a[31] <= 127
+*/
+
+void ge_scalarmult_base(ge_p3 *h,const unsigned char *a)
+{
+  signed char e[64];
+  signed char carry;
+  ge_p1p1 r;
+  ge_p2 s;
+  ge_precomp t;
+  int i;
+
+  for (i = 0;i < 32;++i) {
+    e[2 * i + 0] = (a[i] >> 0) & 15;
+    e[2 * i + 1] = (a[i] >> 4) & 15;
+  }
+  /* each e[i] is between 0 and 15 */
+  /* e[63] is between 0 and 7 */
+
+  carry = 0;
+  for (i = 0;i < 63;++i) {
+    e[i] += carry;
+    carry = e[i] + 8;
+    carry >>= 4;
+    e[i] -= carry << 4;
+  }
+  e[63] += carry;
+  /* each e[i] is between -8 and 8 */
+
+  ge_p3_0(h);
+  for (i = 1;i < 64;i += 2) {
+    select(&t,i / 2,e[i]);
+    ge_madd(&r,h,&t); ge_p1p1_to_p3(h,&r);
+  }
+
+  ge_p3_dbl(&r,h);  ge_p1p1_to_p2(&s,&r);
+  ge_p2_dbl(&r,&s); ge_p1p1_to_p2(&s,&r);
+  ge_p2_dbl(&r,&s); ge_p1p1_to_p2(&s,&r);
+  ge_p2_dbl(&r,&s); ge_p1p1_to_p3(h,&r);
+
+  for (i = 0;i < 64;i += 2) {
+    select(&t,i / 2,e[i]);
+    ge_madd(&r,h,&t); ge_p1p1_to_p3(h,&r);
+  }
+}
diff --git a/src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge_sub.c b/src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge_sub.c
new file mode 100644
index 00000000..69f3d540
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge_sub.c
@@ -0,0 +1,11 @@
+#include "ge.h"
+
+/*
+r = p - q
+*/
+
+void ge_sub(ge_p1p1 *r,const ge_p3 *p,const ge_cached *q)
+{
+  fe t0;
+#include "ge_sub.h"
+}
diff --git a/src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge_sub.h b/src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge_sub.h
new file mode 100644
index 00000000..b4ef1f5d
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge_sub.h
@@ -0,0 +1,97 @@
+
+/* qhasm: enter ge_sub */
+
+/* qhasm: fe X1 */
+
+/* qhasm: fe Y1 */
+
+/* qhasm: fe Z1 */
+
+/* qhasm: fe Z2 */
+
+/* qhasm: fe T1 */
+
+/* qhasm: fe ZZ */
+
+/* qhasm: fe YpX2 */
+
+/* qhasm: fe YmX2 */
+
+/* qhasm: fe T2d2 */
+
+/* qhasm: fe X3 */
+
+/* qhasm: fe Y3 */
+
+/* qhasm: fe Z3 */
+
+/* qhasm: fe T3 */
+
+/* qhasm: fe YpX1 */
+
+/* qhasm: fe YmX1 */
+
+/* qhasm: fe A */
+
+/* qhasm: fe B */
+
+/* qhasm: fe C */
+
+/* qhasm: fe D */
+
+/* qhasm: YpX1 = Y1+X1 */
+/* asm 1: fe_add(>YpX1=fe#1,<Y1=fe#12,<X1=fe#11); */
+/* asm 2: fe_add(>YpX1=r->X,<Y1=p->Y,<X1=p->X); */
+fe_add(r->X,p->Y,p->X);
+
+/* qhasm: YmX1 = Y1-X1 */
+/* asm 1: fe_sub(>YmX1=fe#2,<Y1=fe#12,<X1=fe#11); */
+/* asm 2: fe_sub(>YmX1=r->Y,<Y1=p->Y,<X1=p->X); */
+fe_sub(r->Y,p->Y,p->X);
+
+/* qhasm: A = YpX1*YmX2 */
+/* asm 1: fe_mul(>A=fe#3,<YpX1=fe#1,<YmX2=fe#16); */
+/* asm 2: fe_mul(>A=r->Z,<YpX1=r->X,<YmX2=q->YminusX); */
+fe_mul(r->Z,r->X,q->YminusX);
+
+/* qhasm: B = YmX1*YpX2 */
+/* asm 1: fe_mul(>B=fe#2,<YmX1=fe#2,<YpX2=fe#15); */
+/* asm 2: fe_mul(>B=r->Y,<YmX1=r->Y,<YpX2=q->YplusX); */
+fe_mul(r->Y,r->Y,q->YplusX);
+
+/* qhasm: C = T2d2*T1 */
+/* asm 1: fe_mul(>C=fe#4,<T2d2=fe#18,<T1=fe#14); */
+/* asm 2: fe_mul(>C=r->T,<T2d2=q->T2d,<T1=p->T); */
+fe_mul(r->T,q->T2d,p->T);
+
+/* qhasm: ZZ = Z1*Z2 */
+/* asm 1: fe_mul(>ZZ=fe#1,<Z1=fe#13,<Z2=fe#17); */
+/* asm 2: fe_mul(>ZZ=r->X,<Z1=p->Z,<Z2=q->Z); */
+fe_mul(r->X,p->Z,q->Z);
+
+/* qhasm: D = 2*ZZ */
+/* asm 1: fe_add(>D=fe#5,<ZZ=fe#1,<ZZ=fe#1); */
+/* asm 2: fe_add(>D=t0,<ZZ=r->X,<ZZ=r->X); */
+fe_add(t0,r->X,r->X);
+
+/* qhasm: X3 = A-B */
+/* asm 1: fe_sub(>X3=fe#1,<A=fe#3,<B=fe#2); */
+/* asm 2: fe_sub(>X3=r->X,<A=r->Z,<B=r->Y); */
+fe_sub(r->X,r->Z,r->Y);
+
+/* qhasm: Y3 = A+B */
+/* asm 1: fe_add(>Y3=fe#2,<A=fe#3,<B=fe#2); */
+/* asm 2: fe_add(>Y3=r->Y,<A=r->Z,<B=r->Y); */
+fe_add(r->Y,r->Z,r->Y);
+
+/* qhasm: Z3 = D-C */
+/* asm 1: fe_sub(>Z3=fe#3,<D=fe#5,<C=fe#4); */
+/* asm 2: fe_sub(>Z3=r->Z,<D=t0,<C=r->T); */
+fe_sub(r->Z,t0,r->T);
+
+/* qhasm: T3 = D+C */
+/* asm 1: fe_add(>T3=fe#4,<D=fe#5,<C=fe#4); */
+/* asm 2: fe_add(>T3=r->T,<D=t0,<C=r->T); */
+fe_add(r->T,t0,r->T);
+
+/* qhasm: return */
diff --git a/src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge_tobytes.c b/src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge_tobytes.c
new file mode 100644
index 00000000..31b3d33e
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge_tobytes.c
@@ -0,0 +1,14 @@
+#include "ge.h"
+
+void ge_tobytes(unsigned char *s,const ge_p2 *h)
+{
+  fe recip;
+  fe x;
+  fe y;
+
+  fe_invert(recip,h->Z);
+  fe_mul(x,h->X,recip);
+  fe_mul(y,h->Y,recip);
+  fe_tobytes(s,y);
+  s[31] ^= fe_isnegative(x) << 7;
+}
diff --git a/src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/keypair.c b/src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/keypair.c
new file mode 100644
index 00000000..d1969254
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/keypair.c
@@ -0,0 +1,31 @@
+#include "api.h"
+#include "randombytes.h"
+#include "crypto_hash_sha512.h"
+#include "ge.h"
+
+int crypto_sign_seed_keypair(unsigned char *pk, unsigned char *sk,
+                             const unsigned char *seed)
+{
+    ge_p3 A;
+    int i;
+
+    crypto_hash_sha512(sk,seed,32);
+    sk[0] &= 248;
+    sk[31] &= 63;
+    sk[31] |= 64;
+
+    ge_scalarmult_base(&A,sk);
+    ge_p3_tobytes(pk,&A);
+
+    for (i = 0;i < 32;++i) sk[i] = seed[i];
+    for (i = 0;i < 32;++i) sk[32 + i] = pk[i];
+    return 0;
+}
+
+int crypto_sign_keypair(unsigned char *pk, unsigned char *sk)
+{
+    unsigned char seed[32];
+
+    randombytes(seed,32);
+    return crypto_sign_seed_keypair(pk,sk,seed);
+}
diff --git a/src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/open.c b/src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/open.c
new file mode 100644
index 00000000..7e30bfc1
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/open.c
@@ -0,0 +1,40 @@
+#include "api.h"
+#include "crypto_hash_sha512.h"
+#include "crypto_verify_32.h"
+#include "ge.h"
+#include "sc.h"
+
+int crypto_sign_open(
+  unsigned char *m,unsigned long long *mlen,
+  const unsigned char *sm,unsigned long long smlen,
+  const unsigned char *pk
+)
+{
+  unsigned char h[64];
+  unsigned char checkr[32];
+  ge_p3 A;
+  ge_p2 R;
+  unsigned long long i;
+
+  *mlen = -1;
+  if (smlen < 64) return -1;
+  if (sm[63] & 224) return -1;
+  if (ge_frombytes_negate_vartime(&A,pk) != 0) return -1;
+
+  for (i = 0;i < smlen;++i) m[i] = sm[i];
+  for (i = 0;i < 32;++i) m[32 + i] = pk[i];
+  crypto_hash_sha512(h,m,smlen);
+  sc_reduce(h);
+
+  ge_double_scalarmult_vartime(&R,h,&A,sm + 32);
+  ge_tobytes(checkr,&R);
+  if (crypto_verify_32(checkr,sm) != 0) {
+    for (i = 0;i < smlen;++i) m[i] = 0;
+    return -1;
+  }
+
+  for (i = 0;i < smlen - 64;++i) m[i] = sm[64 + i];
+  for (i = smlen - 64;i < smlen;++i) m[i] = 0;
+  *mlen = smlen - 64;
+  return 0;
+}
diff --git a/src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/pow22523.h b/src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/pow22523.h
new file mode 100644
index 00000000..60ffe0d3
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/pow22523.h
@@ -0,0 +1,160 @@
+
+/* qhasm: fe z1 */
+
+/* qhasm: fe z2 */
+
+/* qhasm: fe z8 */
+
+/* qhasm: fe z9 */
+
+/* qhasm: fe z11 */
+
+/* qhasm: fe z22 */
+
+/* qhasm: fe z_5_0 */
+
+/* qhasm: fe z_10_5 */
+
+/* qhasm: fe z_10_0 */
+
+/* qhasm: fe z_20_10 */
+
+/* qhasm: fe z_20_0 */
+
+/* qhasm: fe z_40_20 */
+
+/* qhasm: fe z_40_0 */
+
+/* qhasm: fe z_50_10 */
+
+/* qhasm: fe z_50_0 */
+
+/* qhasm: fe z_100_50 */
+
+/* qhasm: fe z_100_0 */
+
+/* qhasm: fe z_200_100 */
+
+/* qhasm: fe z_200_0 */
+
+/* qhasm: fe z_250_50 */
+
+/* qhasm: fe z_250_0 */
+
+/* qhasm: fe z_252_2 */
+
+/* qhasm: fe z_252_3 */
+
+/* qhasm: enter pow22523 */
+
+/* qhasm: z2 = z1^2^1 */
+/* asm 1: fe_sq(>z2=fe#1,<z1=fe#11); for (i = 1;i < 1;++i) fe_sq(>z2=fe#1,>z2=fe#1); */
+/* asm 2: fe_sq(>z2=t0,<z1=z); for (i = 1;i < 1;++i) fe_sq(>z2=t0,>z2=t0); */
+fe_sq(t0,z); for (i = 1;i < 1;++i) fe_sq(t0,t0);
+
+/* qhasm: z8 = z2^2^2 */
+/* asm 1: fe_sq(>z8=fe#2,<z2=fe#1); for (i = 1;i < 2;++i) fe_sq(>z8=fe#2,>z8=fe#2); */
+/* asm 2: fe_sq(>z8=t1,<z2=t0); for (i = 1;i < 2;++i) fe_sq(>z8=t1,>z8=t1); */
+fe_sq(t1,t0); for (i = 1;i < 2;++i) fe_sq(t1,t1);
+
+/* qhasm: z9 = z1*z8 */
+/* asm 1: fe_mul(>z9=fe#2,<z1=fe#11,<z8=fe#2); */
+/* asm 2: fe_mul(>z9=t1,<z1=z,<z8=t1); */
+fe_mul(t1,z,t1);
+
+/* qhasm: z11 = z2*z9 */
+/* asm 1: fe_mul(>z11=fe#1,<z2=fe#1,<z9=fe#2); */
+/* asm 2: fe_mul(>z11=t0,<z2=t0,<z9=t1); */
+fe_mul(t0,t0,t1);
+
+/* qhasm: z22 = z11^2^1 */
+/* asm 1: fe_sq(>z22=fe#1,<z11=fe#1); for (i = 1;i < 1;++i) fe_sq(>z22=fe#1,>z22=fe#1); */
+/* asm 2: fe_sq(>z22=t0,<z11=t0); for (i = 1;i < 1;++i) fe_sq(>z22=t0,>z22=t0); */
+fe_sq(t0,t0); for (i = 1;i < 1;++i) fe_sq(t0,t0);
+
+/* qhasm: z_5_0 = z9*z22 */
+/* asm 1: fe_mul(>z_5_0=fe#1,<z9=fe#2,<z22=fe#1); */
+/* asm 2: fe_mul(>z_5_0=t0,<z9=t1,<z22=t0); */
+fe_mul(t0,t1,t0);
+
+/* qhasm: z_10_5 = z_5_0^2^5 */
+/* asm 1: fe_sq(>z_10_5=fe#2,<z_5_0=fe#1); for (i = 1;i < 5;++i) fe_sq(>z_10_5=fe#2,>z_10_5=fe#2); */
+/* asm 2: fe_sq(>z_10_5=t1,<z_5_0=t0); for (i = 1;i < 5;++i) fe_sq(>z_10_5=t1,>z_10_5=t1); */
+fe_sq(t1,t0); for (i = 1;i < 5;++i) fe_sq(t1,t1);
+
+/* qhasm: z_10_0 = z_10_5*z_5_0 */
+/* asm 1: fe_mul(>z_10_0=fe#1,<z_10_5=fe#2,<z_5_0=fe#1); */
+/* asm 2: fe_mul(>z_10_0=t0,<z_10_5=t1,<z_5_0=t0); */
+fe_mul(t0,t1,t0);
+
+/* qhasm: z_20_10 = z_10_0^2^10 */
+/* asm 1: fe_sq(>z_20_10=fe#2,<z_10_0=fe#1); for (i = 1;i < 10;++i) fe_sq(>z_20_10=fe#2,>z_20_10=fe#2); */
+/* asm 2: fe_sq(>z_20_10=t1,<z_10_0=t0); for (i = 1;i < 10;++i) fe_sq(>z_20_10=t1,>z_20_10=t1); */
+fe_sq(t1,t0); for (i = 1;i < 10;++i) fe_sq(t1,t1);
+
+/* qhasm: z_20_0 = z_20_10*z_10_0 */
+/* asm 1: fe_mul(>z_20_0=fe#2,<z_20_10=fe#2,<z_10_0=fe#1); */
+/* asm 2: fe_mul(>z_20_0=t1,<z_20_10=t1,<z_10_0=t0); */
+fe_mul(t1,t1,t0);
+
+/* qhasm: z_40_20 = z_20_0^2^20 */
+/* asm 1: fe_sq(>z_40_20=fe#3,<z_20_0=fe#2); for (i = 1;i < 20;++i) fe_sq(>z_40_20=fe#3,>z_40_20=fe#3); */
+/* asm 2: fe_sq(>z_40_20=t2,<z_20_0=t1); for (i = 1;i < 20;++i) fe_sq(>z_40_20=t2,>z_40_20=t2); */
+fe_sq(t2,t1); for (i = 1;i < 20;++i) fe_sq(t2,t2);
+
+/* qhasm: z_40_0 = z_40_20*z_20_0 */
+/* asm 1: fe_mul(>z_40_0=fe#2,<z_40_20=fe#3,<z_20_0=fe#2); */
+/* asm 2: fe_mul(>z_40_0=t1,<z_40_20=t2,<z_20_0=t1); */
+fe_mul(t1,t2,t1);
+
+/* qhasm: z_50_10 = z_40_0^2^10 */
+/* asm 1: fe_sq(>z_50_10=fe#2,<z_40_0=fe#2); for (i = 1;i < 10;++i) fe_sq(>z_50_10=fe#2,>z_50_10=fe#2); */
+/* asm 2: fe_sq(>z_50_10=t1,<z_40_0=t1); for (i = 1;i < 10;++i) fe_sq(>z_50_10=t1,>z_50_10=t1); */
+fe_sq(t1,t1); for (i = 1;i < 10;++i) fe_sq(t1,t1);
+
+/* qhasm: z_50_0 = z_50_10*z_10_0 */
+/* asm 1: fe_mul(>z_50_0=fe#1,<z_50_10=fe#2,<z_10_0=fe#1); */
+/* asm 2: fe_mul(>z_50_0=t0,<z_50_10=t1,<z_10_0=t0); */
+fe_mul(t0,t1,t0);
+
+/* qhasm: z_100_50 = z_50_0^2^50 */
+/* asm 1: fe_sq(>z_100_50=fe#2,<z_50_0=fe#1); for (i = 1;i < 50;++i) fe_sq(>z_100_50=fe#2,>z_100_50=fe#2); */
+/* asm 2: fe_sq(>z_100_50=t1,<z_50_0=t0); for (i = 1;i < 50;++i) fe_sq(>z_100_50=t1,>z_100_50=t1); */
+fe_sq(t1,t0); for (i = 1;i < 50;++i) fe_sq(t1,t1);
+
+/* qhasm: z_100_0 = z_100_50*z_50_0 */
+/* asm 1: fe_mul(>z_100_0=fe#2,<z_100_50=fe#2,<z_50_0=fe#1); */
+/* asm 2: fe_mul(>z_100_0=t1,<z_100_50=t1,<z_50_0=t0); */
+fe_mul(t1,t1,t0);
+
+/* qhasm: z_200_100 = z_100_0^2^100 */
+/* asm 1: fe_sq(>z_200_100=fe#3,<z_100_0=fe#2); for (i = 1;i < 100;++i) fe_sq(>z_200_100=fe#3,>z_200_100=fe#3); */
+/* asm 2: fe_sq(>z_200_100=t2,<z_100_0=t1); for (i = 1;i < 100;++i) fe_sq(>z_200_100=t2,>z_200_100=t2); */
+fe_sq(t2,t1); for (i = 1;i < 100;++i) fe_sq(t2,t2);
+
+/* qhasm: z_200_0 = z_200_100*z_100_0 */
+/* asm 1: fe_mul(>z_200_0=fe#2,<z_200_100=fe#3,<z_100_0=fe#2); */
+/* asm 2: fe_mul(>z_200_0=t1,<z_200_100=t2,<z_100_0=t1); */
+fe_mul(t1,t2,t1);
+
+/* qhasm: z_250_50 = z_200_0^2^50 */
+/* asm 1: fe_sq(>z_250_50=fe#2,<z_200_0=fe#2); for (i = 1;i < 50;++i) fe_sq(>z_250_50=fe#2,>z_250_50=fe#2); */
+/* asm 2: fe_sq(>z_250_50=t1,<z_200_0=t1); for (i = 1;i < 50;++i) fe_sq(>z_250_50=t1,>z_250_50=t1); */
+fe_sq(t1,t1); for (i = 1;i < 50;++i) fe_sq(t1,t1);
+
+/* qhasm: z_250_0 = z_250_50*z_50_0 */
+/* asm 1: fe_mul(>z_250_0=fe#1,<z_250_50=fe#2,<z_50_0=fe#1); */
+/* asm 2: fe_mul(>z_250_0=t0,<z_250_50=t1,<z_50_0=t0); */
+fe_mul(t0,t1,t0);
+
+/* qhasm: z_252_2 = z_250_0^2^2 */
+/* asm 1: fe_sq(>z_252_2=fe#1,<z_250_0=fe#1); for (i = 1;i < 2;++i) fe_sq(>z_252_2=fe#1,>z_252_2=fe#1); */
+/* asm 2: fe_sq(>z_252_2=t0,<z_250_0=t0); for (i = 1;i < 2;++i) fe_sq(>z_252_2=t0,>z_252_2=t0); */
+fe_sq(t0,t0); for (i = 1;i < 2;++i) fe_sq(t0,t0);
+
+/* qhasm: z_252_3 = z_252_2*z1 */
+/* asm 1: fe_mul(>z_252_3=fe#12,<z_252_2=fe#1,<z1=fe#11); */
+/* asm 2: fe_mul(>z_252_3=out,<z_252_2=t0,<z1=z); */
+fe_mul(out,t0,z);
+
+/* qhasm: return */
diff --git a/src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/pow225521.h b/src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/pow225521.h
new file mode 100644
index 00000000..109df779
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/pow225521.h
@@ -0,0 +1,160 @@
+
+/* qhasm: fe z1 */
+
+/* qhasm: fe z2 */
+
+/* qhasm: fe z8 */
+
+/* qhasm: fe z9 */
+
+/* qhasm: fe z11 */
+
+/* qhasm: fe z22 */
+
+/* qhasm: fe z_5_0 */
+
+/* qhasm: fe z_10_5 */
+
+/* qhasm: fe z_10_0 */
+
+/* qhasm: fe z_20_10 */
+
+/* qhasm: fe z_20_0 */
+
+/* qhasm: fe z_40_20 */
+
+/* qhasm: fe z_40_0 */
+
+/* qhasm: fe z_50_10 */
+
+/* qhasm: fe z_50_0 */
+
+/* qhasm: fe z_100_50 */
+
+/* qhasm: fe z_100_0 */
+
+/* qhasm: fe z_200_100 */
+
+/* qhasm: fe z_200_0 */
+
+/* qhasm: fe z_250_50 */
+
+/* qhasm: fe z_250_0 */
+
+/* qhasm: fe z_255_5 */
+
+/* qhasm: fe z_255_21 */
+
+/* qhasm: enter pow225521 */
+
+/* qhasm: z2 = z1^2^1 */
+/* asm 1: fe_sq(>z2=fe#1,<z1=fe#11); for (i = 1;i < 1;++i) fe_sq(>z2=fe#1,>z2=fe#1); */
+/* asm 2: fe_sq(>z2=t0,<z1=z); for (i = 1;i < 1;++i) fe_sq(>z2=t0,>z2=t0); */
+fe_sq(t0,z); for (i = 1;i < 1;++i) fe_sq(t0,t0);
+
+/* qhasm: z8 = z2^2^2 */
+/* asm 1: fe_sq(>z8=fe#2,<z2=fe#1); for (i = 1;i < 2;++i) fe_sq(>z8=fe#2,>z8=fe#2); */
+/* asm 2: fe_sq(>z8=t1,<z2=t0); for (i = 1;i < 2;++i) fe_sq(>z8=t1,>z8=t1); */
+fe_sq(t1,t0); for (i = 1;i < 2;++i) fe_sq(t1,t1);
+
+/* qhasm: z9 = z1*z8 */
+/* asm 1: fe_mul(>z9=fe#2,<z1=fe#11,<z8=fe#2); */
+/* asm 2: fe_mul(>z9=t1,<z1=z,<z8=t1); */
+fe_mul(t1,z,t1);
+
+/* qhasm: z11 = z2*z9 */
+/* asm 1: fe_mul(>z11=fe#1,<z2=fe#1,<z9=fe#2); */
+/* asm 2: fe_mul(>z11=t0,<z2=t0,<z9=t1); */
+fe_mul(t0,t0,t1);
+
+/* qhasm: z22 = z11^2^1 */
+/* asm 1: fe_sq(>z22=fe#3,<z11=fe#1); for (i = 1;i < 1;++i) fe_sq(>z22=fe#3,>z22=fe#3); */
+/* asm 2: fe_sq(>z22=t2,<z11=t0); for (i = 1;i < 1;++i) fe_sq(>z22=t2,>z22=t2); */
+fe_sq(t2,t0); for (i = 1;i < 1;++i) fe_sq(t2,t2);
+
+/* qhasm: z_5_0 = z9*z22 */
+/* asm 1: fe_mul(>z_5_0=fe#2,<z9=fe#2,<z22=fe#3); */
+/* asm 2: fe_mul(>z_5_0=t1,<z9=t1,<z22=t2); */
+fe_mul(t1,t1,t2);
+
+/* qhasm: z_10_5 = z_5_0^2^5 */
+/* asm 1: fe_sq(>z_10_5=fe#3,<z_5_0=fe#2); for (i = 1;i < 5;++i) fe_sq(>z_10_5=fe#3,>z_10_5=fe#3); */
+/* asm 2: fe_sq(>z_10_5=t2,<z_5_0=t1); for (i = 1;i < 5;++i) fe_sq(>z_10_5=t2,>z_10_5=t2); */
+fe_sq(t2,t1); for (i = 1;i < 5;++i) fe_sq(t2,t2);
+
+/* qhasm: z_10_0 = z_10_5*z_5_0 */
+/* asm 1: fe_mul(>z_10_0=fe#2,<z_10_5=fe#3,<z_5_0=fe#2); */
+/* asm 2: fe_mul(>z_10_0=t1,<z_10_5=t2,<z_5_0=t1); */
+fe_mul(t1,t2,t1);
+
+/* qhasm: z_20_10 = z_10_0^2^10 */
+/* asm 1: fe_sq(>z_20_10=fe#3,<z_10_0=fe#2); for (i = 1;i < 10;++i) fe_sq(>z_20_10=fe#3,>z_20_10=fe#3); */
+/* asm 2: fe_sq(>z_20_10=t2,<z_10_0=t1); for (i = 1;i < 10;++i) fe_sq(>z_20_10=t2,>z_20_10=t2); */
+fe_sq(t2,t1); for (i = 1;i < 10;++i) fe_sq(t2,t2);
+
+/* qhasm: z_20_0 = z_20_10*z_10_0 */
+/* asm 1: fe_mul(>z_20_0=fe#3,<z_20_10=fe#3,<z_10_0=fe#2); */
+/* asm 2: fe_mul(>z_20_0=t2,<z_20_10=t2,<z_10_0=t1); */
+fe_mul(t2,t2,t1);
+
+/* qhasm: z_40_20 = z_20_0^2^20 */
+/* asm 1: fe_sq(>z_40_20=fe#4,<z_20_0=fe#3); for (i = 1;i < 20;++i) fe_sq(>z_40_20=fe#4,>z_40_20=fe#4); */
+/* asm 2: fe_sq(>z_40_20=t3,<z_20_0=t2); for (i = 1;i < 20;++i) fe_sq(>z_40_20=t3,>z_40_20=t3); */
+fe_sq(t3,t2); for (i = 1;i < 20;++i) fe_sq(t3,t3);
+
+/* qhasm: z_40_0 = z_40_20*z_20_0 */
+/* asm 1: fe_mul(>z_40_0=fe#3,<z_40_20=fe#4,<z_20_0=fe#3); */
+/* asm 2: fe_mul(>z_40_0=t2,<z_40_20=t3,<z_20_0=t2); */
+fe_mul(t2,t3,t2);
+
+/* qhasm: z_50_10 = z_40_0^2^10 */
+/* asm 1: fe_sq(>z_50_10=fe#3,<z_40_0=fe#3); for (i = 1;i < 10;++i) fe_sq(>z_50_10=fe#3,>z_50_10=fe#3); */
+/* asm 2: fe_sq(>z_50_10=t2,<z_40_0=t2); for (i = 1;i < 10;++i) fe_sq(>z_50_10=t2,>z_50_10=t2); */
+fe_sq(t2,t2); for (i = 1;i < 10;++i) fe_sq(t2,t2);
+
+/* qhasm: z_50_0 = z_50_10*z_10_0 */
+/* asm 1: fe_mul(>z_50_0=fe#2,<z_50_10=fe#3,<z_10_0=fe#2); */
+/* asm 2: fe_mul(>z_50_0=t1,<z_50_10=t2,<z_10_0=t1); */
+fe_mul(t1,t2,t1);
+
+/* qhasm: z_100_50 = z_50_0^2^50 */
+/* asm 1: fe_sq(>z_100_50=fe#3,<z_50_0=fe#2); for (i = 1;i < 50;++i) fe_sq(>z_100_50=fe#3,>z_100_50=fe#3); */
+/* asm 2: fe_sq(>z_100_50=t2,<z_50_0=t1); for (i = 1;i < 50;++i) fe_sq(>z_100_50=t2,>z_100_50=t2); */
+fe_sq(t2,t1); for (i = 1;i < 50;++i) fe_sq(t2,t2);
+
+/* qhasm: z_100_0 = z_100_50*z_50_0 */
+/* asm 1: fe_mul(>z_100_0=fe#3,<z_100_50=fe#3,<z_50_0=fe#2); */
+/* asm 2: fe_mul(>z_100_0=t2,<z_100_50=t2,<z_50_0=t1); */
+fe_mul(t2,t2,t1);
+
+/* qhasm: z_200_100 = z_100_0^2^100 */
+/* asm 1: fe_sq(>z_200_100=fe#4,<z_100_0=fe#3); for (i = 1;i < 100;++i) fe_sq(>z_200_100=fe#4,>z_200_100=fe#4); */
+/* asm 2: fe_sq(>z_200_100=t3,<z_100_0=t2); for (i = 1;i < 100;++i) fe_sq(>z_200_100=t3,>z_200_100=t3); */
+fe_sq(t3,t2); for (i = 1;i < 100;++i) fe_sq(t3,t3);
+
+/* qhasm: z_200_0 = z_200_100*z_100_0 */
+/* asm 1: fe_mul(>z_200_0=fe#3,<z_200_100=fe#4,<z_100_0=fe#3); */
+/* asm 2: fe_mul(>z_200_0=t2,<z_200_100=t3,<z_100_0=t2); */
+fe_mul(t2,t3,t2);
+
+/* qhasm: z_250_50 = z_200_0^2^50 */
+/* asm 1: fe_sq(>z_250_50=fe#3,<z_200_0=fe#3); for (i = 1;i < 50;++i) fe_sq(>z_250_50=fe#3,>z_250_50=fe#3); */
+/* asm 2: fe_sq(>z_250_50=t2,<z_200_0=t2); for (i = 1;i < 50;++i) fe_sq(>z_250_50=t2,>z_250_50=t2); */
+fe_sq(t2,t2); for (i = 1;i < 50;++i) fe_sq(t2,t2);
+
+/* qhasm: z_250_0 = z_250_50*z_50_0 */
+/* asm 1: fe_mul(>z_250_0=fe#2,<z_250_50=fe#3,<z_50_0=fe#2); */
+/* asm 2: fe_mul(>z_250_0=t1,<z_250_50=t2,<z_50_0=t1); */
+fe_mul(t1,t2,t1);
+
+/* qhasm: z_255_5 = z_250_0^2^5 */
+/* asm 1: fe_sq(>z_255_5=fe#2,<z_250_0=fe#2); for (i = 1;i < 5;++i) fe_sq(>z_255_5=fe#2,>z_255_5=fe#2); */
+/* asm 2: fe_sq(>z_255_5=t1,<z_250_0=t1); for (i = 1;i < 5;++i) fe_sq(>z_255_5=t1,>z_255_5=t1); */
+fe_sq(t1,t1); for (i = 1;i < 5;++i) fe_sq(t1,t1);
+
+/* qhasm: z_255_21 = z_255_5*z11 */
+/* asm 1: fe_mul(>z_255_21=fe#12,<z_255_5=fe#2,<z11=fe#1); */
+/* asm 2: fe_mul(>z_255_21=out,<z_255_5=t1,<z11=t0); */
+fe_mul(out,t1,t0);
+
+/* qhasm: return */
diff --git a/src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/sc.h b/src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/sc.h
new file mode 100644
index 00000000..d32ed2e8
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/sc.h
@@ -0,0 +1,15 @@
+#ifndef SC_H
+#define SC_H
+
+/*
+The set of scalars is \Z/l
+where l = 2^252 + 27742317777372353535851937790883648493.
+*/
+
+#define sc_reduce crypto_sign_ed25519_ref10_sc_reduce
+#define sc_muladd crypto_sign_ed25519_ref10_sc_muladd
+
+extern void sc_reduce(unsigned char *);
+extern void sc_muladd(unsigned char *,const unsigned char *,const unsigned char *,const unsigned char *);
+
+#endif
diff --git a/src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/sc_muladd.c b/src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/sc_muladd.c
new file mode 100644
index 00000000..ccf4a682
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/sc_muladd.c
@@ -0,0 +1,368 @@
+#include "sc.h"
+#include "crypto_int64.h"
+#include "crypto_uint32.h"
+#include "crypto_uint64.h"
+
+static crypto_uint64 load_3(const unsigned char *in)
+{
+  crypto_uint64 result;
+  result = (crypto_uint64) in[0];
+  result |= ((crypto_uint64) in[1]) << 8;
+  result |= ((crypto_uint64) in[2]) << 16;
+  return result;
+}
+
+static crypto_uint64 load_4(const unsigned char *in)
+{
+  crypto_uint64 result;
+  result = (crypto_uint64) in[0];
+  result |= ((crypto_uint64) in[1]) << 8;
+  result |= ((crypto_uint64) in[2]) << 16;
+  result |= ((crypto_uint64) in[3]) << 24;
+  return result;
+}
+
+/*
+Input:
+  a[0]+256*a[1]+...+256^31*a[31] = a
+  b[0]+256*b[1]+...+256^31*b[31] = b
+  c[0]+256*c[1]+...+256^31*c[31] = c
+
+Output:
+  s[0]+256*s[1]+...+256^31*s[31] = (ab+c) mod l
+  where l = 2^252 + 27742317777372353535851937790883648493.
+*/
+
+void sc_muladd(unsigned char *s,const unsigned char *a,const unsigned char *b,const unsigned char *c)
+{
+  crypto_int64 a0 = 2097151 & load_3(a);
+  crypto_int64 a1 = 2097151 & (load_4(a + 2) >> 5);
+  crypto_int64 a2 = 2097151 & (load_3(a + 5) >> 2);
+  crypto_int64 a3 = 2097151 & (load_4(a + 7) >> 7);
+  crypto_int64 a4 = 2097151 & (load_4(a + 10) >> 4);
+  crypto_int64 a5 = 2097151 & (load_3(a + 13) >> 1);
+  crypto_int64 a6 = 2097151 & (load_4(a + 15) >> 6);
+  crypto_int64 a7 = 2097151 & (load_3(a + 18) >> 3);
+  crypto_int64 a8 = 2097151 & load_3(a + 21);
+  crypto_int64 a9 = 2097151 & (load_4(a + 23) >> 5);
+  crypto_int64 a10 = 2097151 & (load_3(a + 26) >> 2);
+  crypto_int64 a11 = (load_4(a + 28) >> 7);
+  crypto_int64 b0 = 2097151 & load_3(b);
+  crypto_int64 b1 = 2097151 & (load_4(b + 2) >> 5);
+  crypto_int64 b2 = 2097151 & (load_3(b + 5) >> 2);
+  crypto_int64 b3 = 2097151 & (load_4(b + 7) >> 7);
+  crypto_int64 b4 = 2097151 & (load_4(b + 10) >> 4);
+  crypto_int64 b5 = 2097151 & (load_3(b + 13) >> 1);
+  crypto_int64 b6 = 2097151 & (load_4(b + 15) >> 6);
+  crypto_int64 b7 = 2097151 & (load_3(b + 18) >> 3);
+  crypto_int64 b8 = 2097151 & load_3(b + 21);
+  crypto_int64 b9 = 2097151 & (load_4(b + 23) >> 5);
+  crypto_int64 b10 = 2097151 & (load_3(b + 26) >> 2);
+  crypto_int64 b11 = (load_4(b + 28) >> 7);
+  crypto_int64 c0 = 2097151 & load_3(c);
+  crypto_int64 c1 = 2097151 & (load_4(c + 2) >> 5);
+  crypto_int64 c2 = 2097151 & (load_3(c + 5) >> 2);
+  crypto_int64 c3 = 2097151 & (load_4(c + 7) >> 7);
+  crypto_int64 c4 = 2097151 & (load_4(c + 10) >> 4);
+  crypto_int64 c5 = 2097151 & (load_3(c + 13) >> 1);
+  crypto_int64 c6 = 2097151 & (load_4(c + 15) >> 6);
+  crypto_int64 c7 = 2097151 & (load_3(c + 18) >> 3);
+  crypto_int64 c8 = 2097151 & load_3(c + 21);
+  crypto_int64 c9 = 2097151 & (load_4(c + 23) >> 5);
+  crypto_int64 c10 = 2097151 & (load_3(c + 26) >> 2);
+  crypto_int64 c11 = (load_4(c + 28) >> 7);
+  crypto_int64 s0;
+  crypto_int64 s1;
+  crypto_int64 s2;
+  crypto_int64 s3;
+  crypto_int64 s4;
+  crypto_int64 s5;
+  crypto_int64 s6;
+  crypto_int64 s7;
+  crypto_int64 s8;
+  crypto_int64 s9;
+  crypto_int64 s10;
+  crypto_int64 s11;
+  crypto_int64 s12;
+  crypto_int64 s13;
+  crypto_int64 s14;
+  crypto_int64 s15;
+  crypto_int64 s16;
+  crypto_int64 s17;
+  crypto_int64 s18;
+  crypto_int64 s19;
+  crypto_int64 s20;
+  crypto_int64 s21;
+  crypto_int64 s22;
+  crypto_int64 s23;
+  crypto_int64 carry0;
+  crypto_int64 carry1;
+  crypto_int64 carry2;
+  crypto_int64 carry3;
+  crypto_int64 carry4;
+  crypto_int64 carry5;
+  crypto_int64 carry6;
+  crypto_int64 carry7;
+  crypto_int64 carry8;
+  crypto_int64 carry9;
+  crypto_int64 carry10;
+  crypto_int64 carry11;
+  crypto_int64 carry12;
+  crypto_int64 carry13;
+  crypto_int64 carry14;
+  crypto_int64 carry15;
+  crypto_int64 carry16;
+  crypto_int64 carry17;
+  crypto_int64 carry18;
+  crypto_int64 carry19;
+  crypto_int64 carry20;
+  crypto_int64 carry21;
+  crypto_int64 carry22;
+
+  s0 = c0 + a0*b0;
+  s1 = c1 + a0*b1 + a1*b0;
+  s2 = c2 + a0*b2 + a1*b1 + a2*b0;
+  s3 = c3 + a0*b3 + a1*b2 + a2*b1 + a3*b0;
+  s4 = c4 + a0*b4 + a1*b3 + a2*b2 + a3*b1 + a4*b0;
+  s5 = c5 + a0*b5 + a1*b4 + a2*b3 + a3*b2 + a4*b1 + a5*b0;
+  s6 = c6 + a0*b6 + a1*b5 + a2*b4 + a3*b3 + a4*b2 + a5*b1 + a6*b0;
+  s7 = c7 + a0*b7 + a1*b6 + a2*b5 + a3*b4 + a4*b3 + a5*b2 + a6*b1 + a7*b0;
+  s8 = c8 + a0*b8 + a1*b7 + a2*b6 + a3*b5 + a4*b4 + a5*b3 + a6*b2 + a7*b1 + a8*b0;
+  s9 = c9 + a0*b9 + a1*b8 + a2*b7 + a3*b6 + a4*b5 + a5*b4 + a6*b3 + a7*b2 + a8*b1 + a9*b0;
+  s10 = c10 + a0*b10 + a1*b9 + a2*b8 + a3*b7 + a4*b6 + a5*b5 + a6*b4 + a7*b3 + a8*b2 + a9*b1 + a10*b0;
+  s11 = c11 + a0*b11 + a1*b10 + a2*b9 + a3*b8 + a4*b7 + a5*b6 + a6*b5 + a7*b4 + a8*b3 + a9*b2 + a10*b1 + a11*b0;
+  s12 = a1*b11 + a2*b10 + a3*b9 + a4*b8 + a5*b7 + a6*b6 + a7*b5 + a8*b4 + a9*b3 + a10*b2 + a11*b1;
+  s13 = a2*b11 + a3*b10 + a4*b9 + a5*b8 + a6*b7 + a7*b6 + a8*b5 + a9*b4 + a10*b3 + a11*b2;
+  s14 = a3*b11 + a4*b10 + a5*b9 + a6*b8 + a7*b7 + a8*b6 + a9*b5 + a10*b4 + a11*b3;
+  s15 = a4*b11 + a5*b10 + a6*b9 + a7*b8 + a8*b7 + a9*b6 + a10*b5 + a11*b4;
+  s16 = a5*b11 + a6*b10 + a7*b9 + a8*b8 + a9*b7 + a10*b6 + a11*b5;
+  s17 = a6*b11 + a7*b10 + a8*b9 + a9*b8 + a10*b7 + a11*b6;
+  s18 = a7*b11 + a8*b10 + a9*b9 + a10*b8 + a11*b7;
+  s19 = a8*b11 + a9*b10 + a10*b9 + a11*b8;
+  s20 = a9*b11 + a10*b10 + a11*b9;
+  s21 = a10*b11 + a11*b10;
+  s22 = a11*b11;
+  s23 = 0;
+
+  carry0 = (s0 + (1<<20)) >> 21; s1 += carry0; s0 -= carry0 << 21;
+  carry2 = (s2 + (1<<20)) >> 21; s3 += carry2; s2 -= carry2 << 21;
+  carry4 = (s4 + (1<<20)) >> 21; s5 += carry4; s4 -= carry4 << 21;
+  carry6 = (s6 + (1<<20)) >> 21; s7 += carry6; s6 -= carry6 << 21;
+  carry8 = (s8 + (1<<20)) >> 21; s9 += carry8; s8 -= carry8 << 21;
+  carry10 = (s10 + (1<<20)) >> 21; s11 += carry10; s10 -= carry10 << 21;
+  carry12 = (s12 + (1<<20)) >> 21; s13 += carry12; s12 -= carry12 << 21;
+  carry14 = (s14 + (1<<20)) >> 21; s15 += carry14; s14 -= carry14 << 21;
+  carry16 = (s16 + (1<<20)) >> 21; s17 += carry16; s16 -= carry16 << 21;
+  carry18 = (s18 + (1<<20)) >> 21; s19 += carry18; s18 -= carry18 << 21;
+  carry20 = (s20 + (1<<20)) >> 21; s21 += carry20; s20 -= carry20 << 21;
+  carry22 = (s22 + (1<<20)) >> 21; s23 += carry22; s22 -= carry22 << 21;
+
+  carry1 = (s1 + (1<<20)) >> 21; s2 += carry1; s1 -= carry1 << 21;
+  carry3 = (s3 + (1<<20)) >> 21; s4 += carry3; s3 -= carry3 << 21;
+  carry5 = (s5 + (1<<20)) >> 21; s6 += carry5; s5 -= carry5 << 21;
+  carry7 = (s7 + (1<<20)) >> 21; s8 += carry7; s7 -= carry7 << 21;
+  carry9 = (s9 + (1<<20)) >> 21; s10 += carry9; s9 -= carry9 << 21;
+  carry11 = (s11 + (1<<20)) >> 21; s12 += carry11; s11 -= carry11 << 21;
+  carry13 = (s13 + (1<<20)) >> 21; s14 += carry13; s13 -= carry13 << 21;
+  carry15 = (s15 + (1<<20)) >> 21; s16 += carry15; s15 -= carry15 << 21;
+  carry17 = (s17 + (1<<20)) >> 21; s18 += carry17; s17 -= carry17 << 21;
+  carry19 = (s19 + (1<<20)) >> 21; s20 += carry19; s19 -= carry19 << 21;
+  carry21 = (s21 + (1<<20)) >> 21; s22 += carry21; s21 -= carry21 << 21;
+
+  s11 += s23 * 666643;
+  s12 += s23 * 470296;
+  s13 += s23 * 654183;
+  s14 -= s23 * 997805;
+  s15 += s23 * 136657;
+  s16 -= s23 * 683901;
+
+
+  s10 += s22 * 666643;
+  s11 += s22 * 470296;
+  s12 += s22 * 654183;
+  s13 -= s22 * 997805;
+  s14 += s22 * 136657;
+  s15 -= s22 * 683901;
+
+
+  s9 += s21 * 666643;
+  s10 += s21 * 470296;
+  s11 += s21 * 654183;
+  s12 -= s21 * 997805;
+  s13 += s21 * 136657;
+  s14 -= s21 * 683901;
+
+
+  s8 += s20 * 666643;
+  s9 += s20 * 470296;
+  s10 += s20 * 654183;
+  s11 -= s20 * 997805;
+  s12 += s20 * 136657;
+  s13 -= s20 * 683901;
+
+
+  s7 += s19 * 666643;
+  s8 += s19 * 470296;
+  s9 += s19 * 654183;
+  s10 -= s19 * 997805;
+  s11 += s19 * 136657;
+  s12 -= s19 * 683901;
+
+
+  s6 += s18 * 666643;
+  s7 += s18 * 470296;
+  s8 += s18 * 654183;
+  s9 -= s18 * 997805;
+  s10 += s18 * 136657;
+  s11 -= s18 * 683901;
+
+
+  carry6 = (s6 + (1<<20)) >> 21; s7 += carry6; s6 -= carry6 << 21;
+  carry8 = (s8 + (1<<20)) >> 21; s9 += carry8; s8 -= carry8 << 21;
+  carry10 = (s10 + (1<<20)) >> 21; s11 += carry10; s10 -= carry10 << 21;
+  carry12 = (s12 + (1<<20)) >> 21; s13 += carry12; s12 -= carry12 << 21;
+  carry14 = (s14 + (1<<20)) >> 21; s15 += carry14; s14 -= carry14 << 21;
+  carry16 = (s16 + (1<<20)) >> 21; s17 += carry16; s16 -= carry16 << 21;
+
+  carry7 = (s7 + (1<<20)) >> 21; s8 += carry7; s7 -= carry7 << 21;
+  carry9 = (s9 + (1<<20)) >> 21; s10 += carry9; s9 -= carry9 << 21;
+  carry11 = (s11 + (1<<20)) >> 21; s12 += carry11; s11 -= carry11 << 21;
+  carry13 = (s13 + (1<<20)) >> 21; s14 += carry13; s13 -= carry13 << 21;
+  carry15 = (s15 + (1<<20)) >> 21; s16 += carry15; s15 -= carry15 << 21;
+
+  s5 += s17 * 666643;
+  s6 += s17 * 470296;
+  s7 += s17 * 654183;
+  s8 -= s17 * 997805;
+  s9 += s17 * 136657;
+  s10 -= s17 * 683901;
+
+
+  s4 += s16 * 666643;
+  s5 += s16 * 470296;
+  s6 += s16 * 654183;
+  s7 -= s16 * 997805;
+  s8 += s16 * 136657;
+  s9 -= s16 * 683901;
+
+
+  s3 += s15 * 666643;
+  s4 += s15 * 470296;
+  s5 += s15 * 654183;
+  s6 -= s15 * 997805;
+  s7 += s15 * 136657;
+  s8 -= s15 * 683901;
+
+
+  s2 += s14 * 666643;
+  s3 += s14 * 470296;
+  s4 += s14 * 654183;
+  s5 -= s14 * 997805;
+  s6 += s14 * 136657;
+  s7 -= s14 * 683901;
+
+
+  s1 += s13 * 666643;
+  s2 += s13 * 470296;
+  s3 += s13 * 654183;
+  s4 -= s13 * 997805;
+  s5 += s13 * 136657;
+  s6 -= s13 * 683901;
+
+
+  s0 += s12 * 666643;
+  s1 += s12 * 470296;
+  s2 += s12 * 654183;
+  s3 -= s12 * 997805;
+  s4 += s12 * 136657;
+  s5 -= s12 * 683901;
+  s12 = 0;
+
+  carry0 = (s0 + (1<<20)) >> 21; s1 += carry0; s0 -= carry0 << 21;
+  carry2 = (s2 + (1<<20)) >> 21; s3 += carry2; s2 -= carry2 << 21;
+  carry4 = (s4 + (1<<20)) >> 21; s5 += carry4; s4 -= carry4 << 21;
+  carry6 = (s6 + (1<<20)) >> 21; s7 += carry6; s6 -= carry6 << 21;
+  carry8 = (s8 + (1<<20)) >> 21; s9 += carry8; s8 -= carry8 << 21;
+  carry10 = (s10 + (1<<20)) >> 21; s11 += carry10; s10 -= carry10 << 21;
+
+  carry1 = (s1 + (1<<20)) >> 21; s2 += carry1; s1 -= carry1 << 21;
+  carry3 = (s3 + (1<<20)) >> 21; s4 += carry3; s3 -= carry3 << 21;
+  carry5 = (s5 + (1<<20)) >> 21; s6 += carry5; s5 -= carry5 << 21;
+  carry7 = (s7 + (1<<20)) >> 21; s8 += carry7; s7 -= carry7 << 21;
+  carry9 = (s9 + (1<<20)) >> 21; s10 += carry9; s9 -= carry9 << 21;
+  carry11 = (s11 + (1<<20)) >> 21; s12 += carry11; s11 -= carry11 << 21;
+
+  s0 += s12 * 666643;
+  s1 += s12 * 470296;
+  s2 += s12 * 654183;
+  s3 -= s12 * 997805;
+  s4 += s12 * 136657;
+  s5 -= s12 * 683901;
+  s12 = 0;
+
+  carry0 = s0 >> 21; s1 += carry0; s0 -= carry0 << 21;
+  carry1 = s1 >> 21; s2 += carry1; s1 -= carry1 << 21;
+  carry2 = s2 >> 21; s3 += carry2; s2 -= carry2 << 21;
+  carry3 = s3 >> 21; s4 += carry3; s3 -= carry3 << 21;
+  carry4 = s4 >> 21; s5 += carry4; s4 -= carry4 << 21;
+  carry5 = s5 >> 21; s6 += carry5; s5 -= carry5 << 21;
+  carry6 = s6 >> 21; s7 += carry6; s6 -= carry6 << 21;
+  carry7 = s7 >> 21; s8 += carry7; s7 -= carry7 << 21;
+  carry8 = s8 >> 21; s9 += carry8; s8 -= carry8 << 21;
+  carry9 = s9 >> 21; s10 += carry9; s9 -= carry9 << 21;
+  carry10 = s10 >> 21; s11 += carry10; s10 -= carry10 << 21;
+  carry11 = s11 >> 21; s12 += carry11; s11 -= carry11 << 21;
+
+  s0 += s12 * 666643;
+  s1 += s12 * 470296;
+  s2 += s12 * 654183;
+  s3 -= s12 * 997805;
+  s4 += s12 * 136657;
+  s5 -= s12 * 683901;
+
+
+  carry0 = s0 >> 21; s1 += carry0; s0 -= carry0 << 21;
+  carry1 = s1 >> 21; s2 += carry1; s1 -= carry1 << 21;
+  carry2 = s2 >> 21; s3 += carry2; s2 -= carry2 << 21;
+  carry3 = s3 >> 21; s4 += carry3; s3 -= carry3 << 21;
+  carry4 = s4 >> 21; s5 += carry4; s4 -= carry4 << 21;
+  carry5 = s5 >> 21; s6 += carry5; s5 -= carry5 << 21;
+  carry6 = s6 >> 21; s7 += carry6; s6 -= carry6 << 21;
+  carry7 = s7 >> 21; s8 += carry7; s7 -= carry7 << 21;
+  carry8 = s8 >> 21; s9 += carry8; s8 -= carry8 << 21;
+  carry9 = s9 >> 21; s10 += carry9; s9 -= carry9 << 21;
+  carry10 = s10 >> 21; s11 += carry10; s10 -= carry10 << 21;
+
+  s[0] = s0 >> 0;
+  s[1] = s0 >> 8;
+  s[2] = (s0 >> 16) | (s1 << 5);
+  s[3] = s1 >> 3;
+  s[4] = s1 >> 11;
+  s[5] = (s1 >> 19) | (s2 << 2);
+  s[6] = s2 >> 6;
+  s[7] = (s2 >> 14) | (s3 << 7);
+  s[8] = s3 >> 1;
+  s[9] = s3 >> 9;
+  s[10] = (s3 >> 17) | (s4 << 4);
+  s[11] = s4 >> 4;
+  s[12] = s4 >> 12;
+  s[13] = (s4 >> 20) | (s5 << 1);
+  s[14] = s5 >> 7;
+  s[15] = (s5 >> 15) | (s6 << 6);
+  s[16] = s6 >> 2;
+  s[17] = s6 >> 10;
+  s[18] = (s6 >> 18) | (s7 << 3);
+  s[19] = s7 >> 5;
+  s[20] = s7 >> 13;
+  s[21] = s8 >> 0;
+  s[22] = s8 >> 8;
+  s[23] = (s8 >> 16) | (s9 << 5);
+  s[24] = s9 >> 3;
+  s[25] = s9 >> 11;
+  s[26] = (s9 >> 19) | (s10 << 2);
+  s[27] = s10 >> 6;
+  s[28] = (s10 >> 14) | (s11 << 7);
+  s[29] = s11 >> 1;
+  s[30] = s11 >> 9;
+  s[31] = s11 >> 17;
+}
diff --git a/src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/sc_reduce.c b/src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/sc_reduce.c
new file mode 100644
index 00000000..e5caefc2
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/sc_reduce.c
@@ -0,0 +1,275 @@
+#include "sc.h"
+#include "crypto_int64.h"
+#include "crypto_uint32.h"
+#include "crypto_uint64.h"
+
+static crypto_uint64 load_3(const unsigned char *in)
+{
+  crypto_uint64 result;
+  result = (crypto_uint64) in[0];
+  result |= ((crypto_uint64) in[1]) << 8;
+  result |= ((crypto_uint64) in[2]) << 16;
+  return result;
+}
+
+static crypto_uint64 load_4(const unsigned char *in)
+{
+  crypto_uint64 result;
+  result = (crypto_uint64) in[0];
+  result |= ((crypto_uint64) in[1]) << 8;
+  result |= ((crypto_uint64) in[2]) << 16;
+  result |= ((crypto_uint64) in[3]) << 24;
+  return result;
+}
+
+/*
+Input:
+  s[0]+256*s[1]+...+256^63*s[63] = s
+
+Output:
+  s[0]+256*s[1]+...+256^31*s[31] = s mod l
+  where l = 2^252 + 27742317777372353535851937790883648493.
+  Overwrites s in place.
+*/
+
+void sc_reduce(unsigned char *s)
+{
+  crypto_int64 s0 = 2097151 & load_3(s);
+  crypto_int64 s1 = 2097151 & (load_4(s + 2) >> 5);
+  crypto_int64 s2 = 2097151 & (load_3(s + 5) >> 2);
+  crypto_int64 s3 = 2097151 & (load_4(s + 7) >> 7);
+  crypto_int64 s4 = 2097151 & (load_4(s + 10) >> 4);
+  crypto_int64 s5 = 2097151 & (load_3(s + 13) >> 1);
+  crypto_int64 s6 = 2097151 & (load_4(s + 15) >> 6);
+  crypto_int64 s7 = 2097151 & (load_3(s + 18) >> 3);
+  crypto_int64 s8 = 2097151 & load_3(s + 21);
+  crypto_int64 s9 = 2097151 & (load_4(s + 23) >> 5);
+  crypto_int64 s10 = 2097151 & (load_3(s + 26) >> 2);
+  crypto_int64 s11 = 2097151 & (load_4(s + 28) >> 7);
+  crypto_int64 s12 = 2097151 & (load_4(s + 31) >> 4);
+  crypto_int64 s13 = 2097151 & (load_3(s + 34) >> 1);
+  crypto_int64 s14 = 2097151 & (load_4(s + 36) >> 6);
+  crypto_int64 s15 = 2097151 & (load_3(s + 39) >> 3);
+  crypto_int64 s16 = 2097151 & load_3(s + 42);
+  crypto_int64 s17 = 2097151 & (load_4(s + 44) >> 5);
+  crypto_int64 s18 = 2097151 & (load_3(s + 47) >> 2);
+  crypto_int64 s19 = 2097151 & (load_4(s + 49) >> 7);
+  crypto_int64 s20 = 2097151 & (load_4(s + 52) >> 4);
+  crypto_int64 s21 = 2097151 & (load_3(s + 55) >> 1);
+  crypto_int64 s22 = 2097151 & (load_4(s + 57) >> 6);
+  crypto_int64 s23 = (load_4(s + 60) >> 3);
+  crypto_int64 carry0;
+  crypto_int64 carry1;
+  crypto_int64 carry2;
+  crypto_int64 carry3;
+  crypto_int64 carry4;
+  crypto_int64 carry5;
+  crypto_int64 carry6;
+  crypto_int64 carry7;
+  crypto_int64 carry8;
+  crypto_int64 carry9;
+  crypto_int64 carry10;
+  crypto_int64 carry11;
+  crypto_int64 carry12;
+  crypto_int64 carry13;
+  crypto_int64 carry14;
+  crypto_int64 carry15;
+  crypto_int64 carry16;
+
+  s11 += s23 * 666643;
+  s12 += s23 * 470296;
+  s13 += s23 * 654183;
+  s14 -= s23 * 997805;
+  s15 += s23 * 136657;
+  s16 -= s23 * 683901;
+
+
+  s10 += s22 * 666643;
+  s11 += s22 * 470296;
+  s12 += s22 * 654183;
+  s13 -= s22 * 997805;
+  s14 += s22 * 136657;
+  s15 -= s22 * 683901;
+
+
+  s9 += s21 * 666643;
+  s10 += s21 * 470296;
+  s11 += s21 * 654183;
+  s12 -= s21 * 997805;
+  s13 += s21 * 136657;
+  s14 -= s21 * 683901;
+
+
+  s8 += s20 * 666643;
+  s9 += s20 * 470296;
+  s10 += s20 * 654183;
+  s11 -= s20 * 997805;
+  s12 += s20 * 136657;
+  s13 -= s20 * 683901;
+
+
+  s7 += s19 * 666643;
+  s8 += s19 * 470296;
+  s9 += s19 * 654183;
+  s10 -= s19 * 997805;
+  s11 += s19 * 136657;
+  s12 -= s19 * 683901;
+
+
+  s6 += s18 * 666643;
+  s7 += s18 * 470296;
+  s8 += s18 * 654183;
+  s9 -= s18 * 997805;
+  s10 += s18 * 136657;
+  s11 -= s18 * 683901;
+
+
+  carry6 = (s6 + (1<<20)) >> 21; s7 += carry6; s6 -= carry6 << 21;
+  carry8 = (s8 + (1<<20)) >> 21; s9 += carry8; s8 -= carry8 << 21;
+  carry10 = (s10 + (1<<20)) >> 21; s11 += carry10; s10 -= carry10 << 21;
+  carry12 = (s12 + (1<<20)) >> 21; s13 += carry12; s12 -= carry12 << 21;
+  carry14 = (s14 + (1<<20)) >> 21; s15 += carry14; s14 -= carry14 << 21;
+  carry16 = (s16 + (1<<20)) >> 21; s17 += carry16; s16 -= carry16 << 21;
+
+  carry7 = (s7 + (1<<20)) >> 21; s8 += carry7; s7 -= carry7 << 21;
+  carry9 = (s9 + (1<<20)) >> 21; s10 += carry9; s9 -= carry9 << 21;
+  carry11 = (s11 + (1<<20)) >> 21; s12 += carry11; s11 -= carry11 << 21;
+  carry13 = (s13 + (1<<20)) >> 21; s14 += carry13; s13 -= carry13 << 21;
+  carry15 = (s15 + (1<<20)) >> 21; s16 += carry15; s15 -= carry15 << 21;
+
+  s5 += s17 * 666643;
+  s6 += s17 * 470296;
+  s7 += s17 * 654183;
+  s8 -= s17 * 997805;
+  s9 += s17 * 136657;
+  s10 -= s17 * 683901;
+
+
+  s4 += s16 * 666643;
+  s5 += s16 * 470296;
+  s6 += s16 * 654183;
+  s7 -= s16 * 997805;
+  s8 += s16 * 136657;
+  s9 -= s16 * 683901;
+
+
+  s3 += s15 * 666643;
+  s4 += s15 * 470296;
+  s5 += s15 * 654183;
+  s6 -= s15 * 997805;
+  s7 += s15 * 136657;
+  s8 -= s15 * 683901;
+
+
+  s2 += s14 * 666643;
+  s3 += s14 * 470296;
+  s4 += s14 * 654183;
+  s5 -= s14 * 997805;
+  s6 += s14 * 136657;
+  s7 -= s14 * 683901;
+
+
+  s1 += s13 * 666643;
+  s2 += s13 * 470296;
+  s3 += s13 * 654183;
+  s4 -= s13 * 997805;
+  s5 += s13 * 136657;
+  s6 -= s13 * 683901;
+
+
+  s0 += s12 * 666643;
+  s1 += s12 * 470296;
+  s2 += s12 * 654183;
+  s3 -= s12 * 997805;
+  s4 += s12 * 136657;
+  s5 -= s12 * 683901;
+  s12 = 0;
+
+  carry0 = (s0 + (1<<20)) >> 21; s1 += carry0; s0 -= carry0 << 21;
+  carry2 = (s2 + (1<<20)) >> 21; s3 += carry2; s2 -= carry2 << 21;
+  carry4 = (s4 + (1<<20)) >> 21; s5 += carry4; s4 -= carry4 << 21;
+  carry6 = (s6 + (1<<20)) >> 21; s7 += carry6; s6 -= carry6 << 21;
+  carry8 = (s8 + (1<<20)) >> 21; s9 += carry8; s8 -= carry8 << 21;
+  carry10 = (s10 + (1<<20)) >> 21; s11 += carry10; s10 -= carry10 << 21;
+
+  carry1 = (s1 + (1<<20)) >> 21; s2 += carry1; s1 -= carry1 << 21;
+  carry3 = (s3 + (1<<20)) >> 21; s4 += carry3; s3 -= carry3 << 21;
+  carry5 = (s5 + (1<<20)) >> 21; s6 += carry5; s5 -= carry5 << 21;
+  carry7 = (s7 + (1<<20)) >> 21; s8 += carry7; s7 -= carry7 << 21;
+  carry9 = (s9 + (1<<20)) >> 21; s10 += carry9; s9 -= carry9 << 21;
+  carry11 = (s11 + (1<<20)) >> 21; s12 += carry11; s11 -= carry11 << 21;
+
+  s0 += s12 * 666643;
+  s1 += s12 * 470296;
+  s2 += s12 * 654183;
+  s3 -= s12 * 997805;
+  s4 += s12 * 136657;
+  s5 -= s12 * 683901;
+  s12 = 0;
+
+  carry0 = s0 >> 21; s1 += carry0; s0 -= carry0 << 21;
+  carry1 = s1 >> 21; s2 += carry1; s1 -= carry1 << 21;
+  carry2 = s2 >> 21; s3 += carry2; s2 -= carry2 << 21;
+  carry3 = s3 >> 21; s4 += carry3; s3 -= carry3 << 21;
+  carry4 = s4 >> 21; s5 += carry4; s4 -= carry4 << 21;
+  carry5 = s5 >> 21; s6 += carry5; s5 -= carry5 << 21;
+  carry6 = s6 >> 21; s7 += carry6; s6 -= carry6 << 21;
+  carry7 = s7 >> 21; s8 += carry7; s7 -= carry7 << 21;
+  carry8 = s8 >> 21; s9 += carry8; s8 -= carry8 << 21;
+  carry9 = s9 >> 21; s10 += carry9; s9 -= carry9 << 21;
+  carry10 = s10 >> 21; s11 += carry10; s10 -= carry10 << 21;
+  carry11 = s11 >> 21; s12 += carry11; s11 -= carry11 << 21;
+
+  s0 += s12 * 666643;
+  s1 += s12 * 470296;
+  s2 += s12 * 654183;
+  s3 -= s12 * 997805;
+  s4 += s12 * 136657;
+  s5 -= s12 * 683901;
+
+
+  carry0 = s0 >> 21; s1 += carry0; s0 -= carry0 << 21;
+  carry1 = s1 >> 21; s2 += carry1; s1 -= carry1 << 21;
+  carry2 = s2 >> 21; s3 += carry2; s2 -= carry2 << 21;
+  carry3 = s3 >> 21; s4 += carry3; s3 -= carry3 << 21;
+  carry4 = s4 >> 21; s5 += carry4; s4 -= carry4 << 21;
+  carry5 = s5 >> 21; s6 += carry5; s5 -= carry5 << 21;
+  carry6 = s6 >> 21; s7 += carry6; s6 -= carry6 << 21;
+  carry7 = s7 >> 21; s8 += carry7; s7 -= carry7 << 21;
+  carry8 = s8 >> 21; s9 += carry8; s8 -= carry8 << 21;
+  carry9 = s9 >> 21; s10 += carry9; s9 -= carry9 << 21;
+  carry10 = s10 >> 21; s11 += carry10; s10 -= carry10 << 21;
+
+  s[0] = s0 >> 0;
+  s[1] = s0 >> 8;
+  s[2] = (s0 >> 16) | (s1 << 5);
+  s[3] = s1 >> 3;
+  s[4] = s1 >> 11;
+  s[5] = (s1 >> 19) | (s2 << 2);
+  s[6] = s2 >> 6;
+  s[7] = (s2 >> 14) | (s3 << 7);
+  s[8] = s3 >> 1;
+  s[9] = s3 >> 9;
+  s[10] = (s3 >> 17) | (s4 << 4);
+  s[11] = s4 >> 4;
+  s[12] = s4 >> 12;
+  s[13] = (s4 >> 20) | (s5 << 1);
+  s[14] = s5 >> 7;
+  s[15] = (s5 >> 15) | (s6 << 6);
+  s[16] = s6 >> 2;
+  s[17] = s6 >> 10;
+  s[18] = (s6 >> 18) | (s7 << 3);
+  s[19] = s7 >> 5;
+  s[20] = s7 >> 13;
+  s[21] = s8 >> 0;
+  s[22] = s8 >> 8;
+  s[23] = (s8 >> 16) | (s9 << 5);
+  s[24] = s9 >> 3;
+  s[25] = s9 >> 11;
+  s[26] = (s9 >> 19) | (s10 << 2);
+  s[27] = s10 >> 6;
+  s[28] = (s10 >> 14) | (s11 << 7);
+  s[29] = s11 >> 1;
+  s[30] = s11 >> 9;
+  s[31] = s11 >> 17;
+}
diff --git a/src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/sign.c b/src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/sign.c
new file mode 100644
index 00000000..49507b02
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/sign.c
@@ -0,0 +1,38 @@
+#include "api.h"
+#include "crypto_hash_sha512.h"
+#include "ge.h"
+#include "sc.h"
+
+int crypto_sign(
+  unsigned char *sm,unsigned long long *smlen,
+  const unsigned char *m,unsigned long long mlen,
+  const unsigned char *sk
+)
+{
+  unsigned char az[64];
+  unsigned char r[64];
+  unsigned char hram[64];
+  ge_p3 R;
+  unsigned long long i;
+
+  crypto_hash_sha512(az,sk,32);
+  az[0] &= 248;
+  az[31] &= 63;
+  az[31] |= 64;
+
+  *smlen = mlen + 64;
+  for (i = 0;i < mlen;++i) sm[64 + i] = m[i];
+  for (i = 0;i < 32;++i) sm[32 + i] = az[32 + i];
+  crypto_hash_sha512(r,sm + 32,mlen + 32);
+  for (i = 0;i < 32;++i) sm[32 + i] = sk[32 + i];
+
+  sc_reduce(r);
+  ge_scalarmult_base(&R,r);
+  ge_p3_tobytes(sm,&R);
+
+  crypto_hash_sha512(hram,sm,mlen + 64);
+  sc_reduce(hram);
+  sc_muladd(sm + 32,hram,az,r);
+
+  return 0;
+}
diff --git a/src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/sqrtm1.h b/src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/sqrtm1.h
new file mode 100644
index 00000000..d8caa23b
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/sqrtm1.h
@@ -0,0 +1 @@
+-32595792,-7943725,9377950,3500415,12389472,-272473,-25146209,-2005654,326686,11406482
diff --git a/src/libsodium/src/libsodium/crypto_sign/ed25519/sign_ed25519_api.c b/src/libsodium/src/libsodium/crypto_sign/ed25519/sign_ed25519_api.c
new file mode 100644
index 00000000..8d2382c0
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_sign/ed25519/sign_ed25519_api.c
@@ -0,0 +1,26 @@
+#include "crypto_sign_ed25519.h"
+
+size_t
+crypto_sign_ed25519_bytes(void) {
+    return crypto_sign_ed25519_BYTES;
+}
+
+size_t
+crypto_sign_ed25519_seedbytes(void) {
+    return crypto_sign_ed25519_SEEDBYTES;
+}
+
+size_t
+crypto_sign_ed25519_publickeybytes(void) {
+    return crypto_sign_ed25519_PUBLICKEYBYTES;
+}
+
+size_t
+crypto_sign_ed25519_secretkeybytes(void) {
+    return crypto_sign_ed25519_SECRETKEYBYTES;
+}
+
+const char *
+crypto_sign_ed25519_primitive(void) {
+    return "ed25519";
+}
diff --git a/src/libsodium/src/libsodium/crypto_sign/edwards25519sha512batch/ref/api.h b/src/libsodium/src/libsodium/crypto_sign/edwards25519sha512batch/ref/api.h
new file mode 100644
index 00000000..1217a582
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_sign/edwards25519sha512batch/ref/api.h
@@ -0,0 +1,13 @@
+
+#include "crypto_sign_edwards25519sha512batch.h"
+
+#define crypto_sign crypto_sign_edwards25519sha512batch
+#define crypto_sign_open crypto_sign_edwards25519sha512batch_open
+#define crypto_sign_keypair crypto_sign_edwards25519sha512batch_keypair
+#define crypto_sign_BYTES crypto_sign_edwards25519sha512batch_BYTES
+#define crypto_sign_PUBLICKEYBYTES crypto_sign_edwards25519sha512batch_PUBLICKEYBYTES
+#define crypto_sign_SECRETKEYBYTES crypto_sign_edwards25519sha512batch_SECRETKEYBYTES
+#define crypto_sign_PRIMITIVE "edwards25519sha512batch"
+#define crypto_sign_IMPLEMENTATION crypto_sign_edwards25519sha512batch_IMPLEMENTATION
+#define crypto_sign_VERSION crypto_sign_edwards25519sha512batch_VERSION
+
diff --git a/src/libsodium/src/libsodium/crypto_sign/edwards25519sha512batch/ref/fe25519.h b/src/libsodium/src/libsodium/crypto_sign/edwards25519sha512batch/ref/fe25519.h
new file mode 100644
index 00000000..98c613fa
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_sign/edwards25519sha512batch/ref/fe25519.h
@@ -0,0 +1,54 @@
+#ifndef FE25519_H
+#define FE25519_H
+
+#define fe25519 crypto_sign_edwards25519sha512batch_fe25519
+#define fe25519_unpack crypto_sign_edwards25519sha512batch_fe25519_unpack
+#define fe25519_pack crypto_sign_edwards25519sha512batch_fe25519_pack
+#define fe25519_cmov crypto_sign_edwards25519sha512batch_fe25519_cmov
+#define fe25519_setone crypto_sign_edwards25519sha512batch_fe25519_setone
+#define fe25519_setzero crypto_sign_edwards25519sha512batch_fe25519_setzero
+#define fe25519_neg crypto_sign_edwards25519sha512batch_fe25519_neg
+#define fe25519_getparity crypto_sign_edwards25519sha512batch_fe25519_getparity
+#define fe25519_add crypto_sign_edwards25519sha512batch_fe25519_add
+#define fe25519_sub crypto_sign_edwards25519sha512batch_fe25519_sub
+#define fe25519_mul crypto_sign_edwards25519sha512batch_fe25519_mul
+#define fe25519_square crypto_sign_edwards25519sha512batch_fe25519_square
+#define fe25519_pow crypto_sign_edwards25519sha512batch_fe25519_pow
+#define fe25519_sqrt_vartime crypto_sign_edwards25519sha512batch_fe25519_sqrt_vartime
+#define fe25519_invert crypto_sign_edwards25519sha512batch_fe25519_invert
+
+#include "crypto_uint32.h"
+
+typedef struct {
+  crypto_uint32 v[32];
+} fe25519;
+
+void fe25519_unpack(fe25519 *r, const unsigned char x[32]);
+
+void fe25519_pack(unsigned char r[32], const fe25519 *x);
+
+void fe25519_cmov(fe25519 *r, const fe25519 *x, unsigned char b);
+
+void fe25519_setone(fe25519 *r);
+
+void fe25519_setzero(fe25519 *r);
+
+void fe25519_neg(fe25519 *r, const fe25519 *x);
+
+unsigned char fe25519_getparity(const fe25519 *x);
+
+void fe25519_add(fe25519 *r, const fe25519 *x, const fe25519 *y);
+
+void fe25519_sub(fe25519 *r, const fe25519 *x, const fe25519 *y);
+
+void fe25519_mul(fe25519 *r, const fe25519 *x, const fe25519 *y);
+
+void fe25519_square(fe25519 *r, const fe25519 *x);
+
+void fe25519_pow(fe25519 *r, const fe25519 *x, const unsigned char *e);
+
+int fe25519_sqrt_vartime(fe25519 *r, const fe25519 *x, unsigned char parity);
+
+void fe25519_invert(fe25519 *r, const fe25519 *x);
+
+#endif
diff --git a/src/libsodium/src/libsodium/crypto_sign/edwards25519sha512batch/ref/fe25519_edwards25519sha512batch.c b/src/libsodium/src/libsodium/crypto_sign/edwards25519sha512batch/ref/fe25519_edwards25519sha512batch.c
new file mode 100644
index 00000000..4a490446
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_sign/edwards25519sha512batch/ref/fe25519_edwards25519sha512batch.c
@@ -0,0 +1,345 @@
+#include "fe25519.h"
+
+#define WINDOWSIZE 4 /* Should be 1,2, or 4 */
+#define WINDOWMASK ((1<<WINDOWSIZE)-1)
+
+static void reduce_add_sub(fe25519 *r)
+{
+  crypto_uint32 t;
+  int i,rep;
+
+  for(rep=0;rep<4;rep++)
+  {
+    t = r->v[31] >> 7;
+    r->v[31] &= 127;
+    t *= 19;
+    r->v[0] += t;
+    for(i=0;i<31;i++)
+    {
+      t = r->v[i] >> 8;
+      r->v[i+1] += t;
+      r->v[i] &= 255;
+    }
+  }
+}
+
+static void reduce_mul(fe25519 *r)
+{
+  crypto_uint32 t;
+  int i,rep;
+
+  for(rep=0;rep<2;rep++)
+  {
+    t = r->v[31] >> 7;
+    r->v[31] &= 127;
+    t *= 19;
+    r->v[0] += t;
+    for(i=0;i<31;i++)
+    {
+      t = r->v[i] >> 8;
+      r->v[i+1] += t;
+      r->v[i] &= 255;
+    }
+  }
+}
+
+/* reduction modulo 2^255-19 */
+static void freeze(fe25519 *r)
+{
+  int i;
+  unsigned int m = (r->v[31] == 127);
+  for(i=30;i>1;i--)
+    m *= (r->v[i] == 255);
+  m *= (r->v[0] >= 237);
+
+  r->v[31] -= m*127;
+  for(i=30;i>0;i--)
+    r->v[i] -= m*255;
+  r->v[0] -= m*237;
+}
+
+/*freeze input before calling isone*/
+static int isone(const fe25519 *x)
+{
+  int i;
+  int r = (x->v[0] == 1);
+  for(i=1;i<32;i++)
+    r *= (x->v[i] == 0);
+  return r;
+}
+
+/*freeze input before calling iszero*/
+static int iszero(const fe25519 *x)
+{
+  int i;
+  int r = (x->v[0] == 0);
+  for(i=1;i<32;i++)
+    r *= (x->v[i] == 0);
+  return r;
+}
+
+
+static int issquare(const fe25519 *x)
+{
+  unsigned char e[32] = {0xf6,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x3f}; /* (p-1)/2 */
+  fe25519 t;
+
+  fe25519_pow(&t,x,e);
+  freeze(&t);
+  return isone(&t) || iszero(&t);
+}
+
+void fe25519_unpack(fe25519 *r, const unsigned char x[32])
+{
+  int i;
+  for(i=0;i<32;i++) r->v[i] = x[i];
+  r->v[31] &= 127;
+}
+
+/* Assumes input x being reduced mod 2^255 */
+void fe25519_pack(unsigned char r[32], const fe25519 *x)
+{
+  int i;
+  for(i=0;i<32;i++)
+    r[i] = x->v[i];
+
+  /* freeze byte array */
+  unsigned int m = (r[31] == 127); /* XXX: some compilers might use branches; fix */
+  for(i=30;i>1;i--)
+    m *= (r[i] == 255);
+  m *= (r[0] >= 237);
+  r[31] -= m*127;
+  for(i=30;i>0;i--)
+    r[i] -= m*255;
+  r[0] -= m*237;
+}
+
+void fe25519_cmov(fe25519 *r, const fe25519 *x, unsigned char b)
+{
+  unsigned char nb = 1-b;
+  int i;
+  for(i=0;i<32;i++) r->v[i] = nb * r->v[i] + b * x->v[i];
+}
+
+unsigned char fe25519_getparity(const fe25519 *x)
+{
+  fe25519 t;
+  int i;
+  for(i=0;i<32;i++) t.v[i] = x->v[i];
+  freeze(&t);
+  return t.v[0] & 1;
+}
+
+void fe25519_setone(fe25519 *r)
+{
+  int i;
+  r->v[0] = 1;
+  for(i=1;i<32;i++) r->v[i]=0;
+}
+
+void fe25519_setzero(fe25519 *r)
+{
+  int i;
+  for(i=0;i<32;i++) r->v[i]=0;
+}
+
+void fe25519_neg(fe25519 *r, const fe25519 *x)
+{
+  fe25519 t;
+  int i;
+  for(i=0;i<32;i++) t.v[i]=x->v[i];
+  fe25519_setzero(r);
+  fe25519_sub(r, r, &t);
+}
+
+void fe25519_add(fe25519 *r, const fe25519 *x, const fe25519 *y)
+{
+  int i;
+  for(i=0;i<32;i++) r->v[i] = x->v[i] + y->v[i];
+  reduce_add_sub(r);
+}
+
+void fe25519_sub(fe25519 *r, const fe25519 *x, const fe25519 *y)
+{
+  int i;
+  crypto_uint32 t[32];
+  t[0] = x->v[0] + 0x1da;
+  t[31] = x->v[31] + 0xfe;
+  for(i=1;i<31;i++) t[i] = x->v[i] + 0x1fe;
+  for(i=0;i<32;i++) r->v[i] = t[i] - y->v[i];
+  reduce_add_sub(r);
+}
+
+void fe25519_mul(fe25519 *r, const fe25519 *x, const fe25519 *y)
+{
+  int i,j;
+  crypto_uint32 t[63];
+  for(i=0;i<63;i++)t[i] = 0;
+
+  for(i=0;i<32;i++)
+    for(j=0;j<32;j++)
+      t[i+j] += x->v[i] * y->v[j];
+
+  for(i=32;i<63;i++)
+    r->v[i-32] = t[i-32] + 38*t[i];
+  r->v[31] = t[31]; /* result now in r[0]...r[31] */
+
+  reduce_mul(r);
+}
+
+void fe25519_square(fe25519 *r, const fe25519 *x)
+{
+  fe25519_mul(r, x, x);
+}
+
+/*XXX: Make constant time! */
+void fe25519_pow(fe25519 *r, const fe25519 *x, const unsigned char *e)
+{
+  /*
+  fe25519 g;
+  fe25519_setone(&g);
+  int i;
+  unsigned char j;
+  for(i=32;i>0;i--)
+  {
+    for(j=128;j>0;j>>=1)
+    {
+      fe25519_square(&g,&g);
+      if(e[i-1] & j)
+        fe25519_mul(&g,&g,x);
+    }
+  }
+  for(i=0;i<32;i++) r->v[i] = g.v[i];
+  */
+  fe25519 g;
+  fe25519_setone(&g);
+  int i,j,k;
+  fe25519 pre[(1 << WINDOWSIZE)];
+  fe25519 t;
+  unsigned char w;
+
+  // Precomputation
+  fe25519_setone(pre);
+  pre[1] = *x;
+  for(i=2;i<(1<<WINDOWSIZE);i+=2)
+  {
+    fe25519_square(pre+i, pre+i/2);
+    fe25519_mul(pre+i+1, pre+i, pre+1);
+  }
+
+  // Fixed-window scalar multiplication
+  for(i=32;i>0;i--)
+  {
+    for(j=8-WINDOWSIZE;j>=0;j-=WINDOWSIZE)
+    {
+      for(k=0;k<WINDOWSIZE;k++)
+        fe25519_square(&g, &g);
+      // Cache-timing resistant loading of precomputed value:
+      w = (e[i-1]>>j) & WINDOWMASK;
+      t = pre[0];
+      for(k=1;k<(1<<WINDOWSIZE);k++)
+        fe25519_cmov(&t, &pre[k], k==w);
+      fe25519_mul(&g, &g, &t);
+    }
+  }
+  *r = g;
+}
+
+/* Return 0 on success, 1 otherwise */
+int fe25519_sqrt_vartime(fe25519 *r, const fe25519 *x, unsigned char parity)
+{
+  /* See HAC, Alg. 3.37 */
+  if (!issquare(x)) return -1;
+  unsigned char e[32] = {0xfb,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x1f}; /* (p-1)/4 */
+  unsigned char e2[32] = {0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0f}; /* (p+3)/8 */
+  unsigned char e3[32] = {0xfd,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0f}; /* (p-5)/8 */
+  fe25519 p = {{0}};
+  fe25519 d;
+  int i;
+  fe25519_pow(&d,x,e);
+  freeze(&d);
+  if(isone(&d))
+    fe25519_pow(r,x,e2);
+  else
+  {
+    for(i=0;i<32;i++)
+      d.v[i] = 4*x->v[i];
+    fe25519_pow(&d,&d,e3);
+    for(i=0;i<32;i++)
+      r->v[i] = 2*x->v[i];
+    fe25519_mul(r,r,&d);
+  }
+  freeze(r);
+  if((r->v[0] & 1) != (parity & 1))
+  {
+    fe25519_sub(r,&p,r);
+  }
+  return 0;
+}
+
+void fe25519_invert(fe25519 *r, const fe25519 *x)
+{
+        fe25519 z2;
+        fe25519 z9;
+        fe25519 z11;
+        fe25519 z2_5_0;
+        fe25519 z2_10_0;
+        fe25519 z2_20_0;
+        fe25519 z2_50_0;
+        fe25519 z2_100_0;
+        fe25519 t0;
+        fe25519 t1;
+        int i;
+
+        /* 2 */ fe25519_square(&z2,x);
+        /* 4 */ fe25519_square(&t1,&z2);
+        /* 8 */ fe25519_square(&t0,&t1);
+        /* 9 */ fe25519_mul(&z9,&t0,x);
+        /* 11 */ fe25519_mul(&z11,&z9,&z2);
+        /* 22 */ fe25519_square(&t0,&z11);
+        /* 2^5 - 2^0 = 31 */ fe25519_mul(&z2_5_0,&t0,&z9);
+
+        /* 2^6 - 2^1 */ fe25519_square(&t0,&z2_5_0);
+        /* 2^7 - 2^2 */ fe25519_square(&t1,&t0);
+        /* 2^8 - 2^3 */ fe25519_square(&t0,&t1);
+        /* 2^9 - 2^4 */ fe25519_square(&t1,&t0);
+        /* 2^10 - 2^5 */ fe25519_square(&t0,&t1);
+        /* 2^10 - 2^0 */ fe25519_mul(&z2_10_0,&t0,&z2_5_0);
+
+        /* 2^11 - 2^1 */ fe25519_square(&t0,&z2_10_0);
+        /* 2^12 - 2^2 */ fe25519_square(&t1,&t0);
+        /* 2^20 - 2^10 */ for (i = 2;i < 10;i += 2) { fe25519_square(&t0,&t1); fe25519_square(&t1,&t0); }
+        /* 2^20 - 2^0 */ fe25519_mul(&z2_20_0,&t1,&z2_10_0);
+
+        /* 2^21 - 2^1 */ fe25519_square(&t0,&z2_20_0);
+        /* 2^22 - 2^2 */ fe25519_square(&t1,&t0);
+        /* 2^40 - 2^20 */ for (i = 2;i < 20;i += 2) { fe25519_square(&t0,&t1); fe25519_square(&t1,&t0); }
+        /* 2^40 - 2^0 */ fe25519_mul(&t0,&t1,&z2_20_0);
+
+        /* 2^41 - 2^1 */ fe25519_square(&t1,&t0);
+        /* 2^42 - 2^2 */ fe25519_square(&t0,&t1);
+        /* 2^50 - 2^10 */ for (i = 2;i < 10;i += 2) { fe25519_square(&t1,&t0); fe25519_square(&t0,&t1); }
+        /* 2^50 - 2^0 */ fe25519_mul(&z2_50_0,&t0,&z2_10_0);
+
+        /* 2^51 - 2^1 */ fe25519_square(&t0,&z2_50_0);
+        /* 2^52 - 2^2 */ fe25519_square(&t1,&t0);
+        /* 2^100 - 2^50 */ for (i = 2;i < 50;i += 2) { fe25519_square(&t0,&t1); fe25519_square(&t1,&t0); }
+        /* 2^100 - 2^0 */ fe25519_mul(&z2_100_0,&t1,&z2_50_0);
+
+        /* 2^101 - 2^1 */ fe25519_square(&t1,&z2_100_0);
+        /* 2^102 - 2^2 */ fe25519_square(&t0,&t1);
+        /* 2^200 - 2^100 */ for (i = 2;i < 100;i += 2) { fe25519_square(&t1,&t0); fe25519_square(&t0,&t1); }
+        /* 2^200 - 2^0 */ fe25519_mul(&t1,&t0,&z2_100_0);
+
+        /* 2^201 - 2^1 */ fe25519_square(&t0,&t1);
+        /* 2^202 - 2^2 */ fe25519_square(&t1,&t0);
+        /* 2^250 - 2^50 */ for (i = 2;i < 50;i += 2) { fe25519_square(&t0,&t1); fe25519_square(&t1,&t0); }
+        /* 2^250 - 2^0 */ fe25519_mul(&t0,&t1,&z2_50_0);
+
+        /* 2^251 - 2^1 */ fe25519_square(&t1,&t0);
+        /* 2^252 - 2^2 */ fe25519_square(&t0,&t1);
+        /* 2^253 - 2^3 */ fe25519_square(&t1,&t0);
+        /* 2^254 - 2^4 */ fe25519_square(&t0,&t1);
+        /* 2^255 - 2^5 */ fe25519_square(&t1,&t0);
+        /* 2^255 - 21 */ fe25519_mul(r,&t1,&z11);
+}
diff --git a/src/libsodium/src/libsodium/crypto_sign/edwards25519sha512batch/ref/ge25519.h b/src/libsodium/src/libsodium/crypto_sign/edwards25519sha512batch/ref/ge25519.h
new file mode 100644
index 00000000..49ad163a
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_sign/edwards25519sha512batch/ref/ge25519.h
@@ -0,0 +1,34 @@
+#ifndef GE25519_H
+#define GE25519_H
+
+#include "fe25519.h"
+#include "sc25519.h"
+
+#define ge25519 crypto_sign_edwards25519sha512batch_ge25519
+#define ge25519_unpack_vartime crypto_sign_edwards25519sha512batch_ge25519_unpack_vartime
+#define ge25519_pack crypto_sign_edwards25519sha512batch_ge25519_pack
+#define ge25519_add crypto_sign_edwards25519sha512batch_ge25519_add
+#define ge25519_double crypto_sign_edwards25519sha512batch_ge25519_double
+#define ge25519_scalarmult crypto_sign_edwards25519sha512batch_ge25519_scalarmult
+#define ge25519_scalarmult_base crypto_sign_edwards25519sha512batch_ge25519_scalarmult_base
+
+typedef struct {
+  fe25519 x;
+  fe25519 y;
+  fe25519 z;
+  fe25519 t;
+} ge25519;
+
+int ge25519_unpack_vartime(ge25519 *r, const unsigned char p[32]);
+
+void ge25519_pack(unsigned char r[32], const ge25519 *p);
+
+void ge25519_add(ge25519 *r, const ge25519 *p, const ge25519 *q);
+
+void ge25519_double(ge25519 *r, const ge25519 *p);
+
+void ge25519_scalarmult(ge25519 *r, const ge25519 *p, const sc25519 *s);
+
+void ge25519_scalarmult_base(ge25519 *r, const sc25519 *s);
+
+#endif
diff --git a/src/libsodium/src/libsodium/crypto_sign/edwards25519sha512batch/ref/ge25519_edwards25519sha512batch.c b/src/libsodium/src/libsodium/crypto_sign/edwards25519sha512batch/ref/ge25519_edwards25519sha512batch.c
new file mode 100644
index 00000000..7a8ff0ef
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_sign/edwards25519sha512batch/ref/ge25519_edwards25519sha512batch.c
@@ -0,0 +1,227 @@
+#include "fe25519.h"
+#include "sc25519.h"
+#include "ge25519.h"
+
+/*
+ * Arithmetic on the twisted Edwards curve -x^2 + y^2 = 1 + dx^2y^2
+ * with d = -(121665/121666) = 37095705934669439343138083508754565189542113879843219016388785533085940283555
+ * Base point: (15112221349535400772501151409588531511454012693041857206046113283949847762202,46316835694926478169428394003475163141307993866256225615783033603165251855960);
+ */
+
+typedef struct
+{
+  fe25519 x;
+  fe25519 z;
+  fe25519 y;
+  fe25519 t;
+} ge25519_p1p1;
+
+typedef struct
+{
+  fe25519 x;
+  fe25519 y;
+  fe25519 z;
+} ge25519_p2;
+
+#define ge25519_p3 ge25519
+
+/* Windowsize for fixed-window scalar multiplication */
+#define WINDOWSIZE 2                      /* Should be 1,2, or 4 */
+#define WINDOWMASK ((1<<WINDOWSIZE)-1)
+
+/* packed parameter d in the Edwards curve equation */
+static const unsigned char ecd[32] = {0xA3, 0x78, 0x59, 0x13, 0xCA, 0x4D, 0xEB, 0x75, 0xAB, 0xD8, 0x41, 0x41, 0x4D, 0x0A, 0x70, 0x00,
+                                      0x98, 0xE8, 0x79, 0x77, 0x79, 0x40, 0xC7, 0x8C, 0x73, 0xFE, 0x6F, 0x2B, 0xEE, 0x6C, 0x03, 0x52};
+
+/* Packed coordinates of the base point */
+static const unsigned char ge25519_base_x[32] = {0x1A, 0xD5, 0x25, 0x8F, 0x60, 0x2D, 0x56, 0xC9, 0xB2, 0xA7, 0x25, 0x95, 0x60, 0xC7, 0x2C, 0x69,
+                                                 0x5C, 0xDC, 0xD6, 0xFD, 0x31, 0xE2, 0xA4, 0xC0, 0xFE, 0x53, 0x6E, 0xCD, 0xD3, 0x36, 0x69, 0x21};
+static const unsigned char ge25519_base_y[32] = {0x58, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66,
+                                                 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66};
+static const unsigned char ge25519_base_z[32] = {1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
+static const unsigned char ge25519_base_t[32] = {0xA3, 0xDD, 0xB7, 0xA5, 0xB3, 0x8A, 0xDE, 0x6D, 0xF5, 0x52, 0x51, 0x77, 0x80, 0x9F, 0xF0, 0x20,
+                                                 0x7D, 0xE3, 0xAB, 0x64, 0x8E, 0x4E, 0xEA, 0x66, 0x65, 0x76, 0x8B, 0xD7, 0x0F, 0x5F, 0x87, 0x67};
+
+/* Packed coordinates of the neutral element */
+static const unsigned char ge25519_neutral_x[32] = {0};
+static const unsigned char ge25519_neutral_y[32] = {1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
+static const unsigned char ge25519_neutral_z[32] = {1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
+static const unsigned char ge25519_neutral_t[32] = {0};
+
+static void p1p1_to_p2(ge25519_p2 *r, const ge25519_p1p1 *p)
+{
+  fe25519_mul(&r->x, &p->x, &p->t);
+  fe25519_mul(&r->y, &p->y, &p->z);
+  fe25519_mul(&r->z, &p->z, &p->t);
+}
+
+static void p1p1_to_p3(ge25519_p3 *r, const ge25519_p1p1 *p)
+{
+  p1p1_to_p2((ge25519_p2 *)r, p);
+  fe25519_mul(&r->t, &p->x, &p->y);
+}
+
+/* Constant-time version of: if(b) r = p */
+static void cmov_p3(ge25519_p3 *r, const ge25519_p3 *p, unsigned char b)
+{
+  fe25519_cmov(&r->x, &p->x, b);
+  fe25519_cmov(&r->y, &p->y, b);
+  fe25519_cmov(&r->z, &p->z, b);
+  fe25519_cmov(&r->t, &p->t, b);
+}
+
+/* See http://www.hyperelliptic.org/EFD/g1p/auto-twisted-extended-1.html#doubling-dbl-2008-hwcd */
+static void dbl_p1p1(ge25519_p1p1 *r, const ge25519_p2 *p)
+{
+  fe25519 a,b,c,d;
+  fe25519_square(&a, &p->x);
+  fe25519_square(&b, &p->y);
+  fe25519_square(&c, &p->z);
+  fe25519_add(&c, &c, &c);
+  fe25519_neg(&d, &a);
+
+  fe25519_add(&r->x, &p->x, &p->y);
+  fe25519_square(&r->x, &r->x);
+  fe25519_sub(&r->x, &r->x, &a);
+  fe25519_sub(&r->x, &r->x, &b);
+  fe25519_add(&r->z, &d, &b);
+  fe25519_sub(&r->t, &r->z, &c);
+  fe25519_sub(&r->y, &d, &b);
+}
+
+static void add_p1p1(ge25519_p1p1 *r, const ge25519_p3 *p, const ge25519_p3 *q)
+{
+  fe25519 a, b, c, d, t, fd;
+  fe25519_unpack(&fd, ecd);
+
+  fe25519_sub(&a, &p->y, &p->x); // A = (Y1-X1)*(Y2-X2)
+  fe25519_sub(&t, &q->y, &q->x);
+  fe25519_mul(&a, &a, &t);
+  fe25519_add(&b, &p->x, &p->y); // B = (Y1+X1)*(Y2+X2)
+  fe25519_add(&t, &q->x, &q->y);
+  fe25519_mul(&b, &b, &t);
+  fe25519_mul(&c, &p->t, &q->t); //C = T1*k*T2
+  fe25519_mul(&c, &c, &fd);
+  fe25519_add(&c, &c, &c);       //XXX: Can save this addition by precomputing 2*ecd
+  fe25519_mul(&d, &p->z, &q->z); //D = Z1*2*Z2
+  fe25519_add(&d, &d, &d);
+  fe25519_sub(&r->x, &b, &a); // E = B-A
+  fe25519_sub(&r->t, &d, &c); // F = D-C
+  fe25519_add(&r->z, &d, &c); // G = D+C
+  fe25519_add(&r->y, &b, &a); // H = B+A
+}
+
+/* ********************************************************************
+ *                    EXPORTED FUNCTIONS
+ ******************************************************************** */
+
+/* return 0 on success, -1 otherwise */
+int ge25519_unpack_vartime(ge25519_p3 *r, const unsigned char p[32])
+{
+  int ret;
+  fe25519 t, fd;
+  fe25519_setone(&r->z);
+  fe25519_unpack(&fd, ecd);
+  unsigned char par = p[31] >> 7;
+  fe25519_unpack(&r->y, p);
+  fe25519_square(&r->x, &r->y);
+  fe25519_mul(&t, &r->x, &fd);
+  fe25519_sub(&r->x, &r->x, &r->z);
+  fe25519_add(&t, &r->z, &t);
+  fe25519_invert(&t, &t);
+  fe25519_mul(&r->x, &r->x, &t);
+  ret = fe25519_sqrt_vartime(&r->x, &r->x, par);
+  fe25519_mul(&r->t, &r->x, &r->y);
+  return ret;
+}
+
+void ge25519_pack(unsigned char r[32], const ge25519_p3 *p)
+{
+  fe25519 tx, ty, zi;
+  fe25519_invert(&zi, &p->z);
+  fe25519_mul(&tx, &p->x, &zi);
+  fe25519_mul(&ty, &p->y, &zi);
+  fe25519_pack(r, &ty);
+  r[31] ^= fe25519_getparity(&tx) << 7;
+}
+
+void ge25519_add(ge25519_p3 *r, const ge25519_p3 *p, const ge25519_p3 *q)
+{
+  ge25519_p1p1 grp1p1;
+  add_p1p1(&grp1p1, p, q);
+  p1p1_to_p3(r, &grp1p1);
+}
+
+void ge25519_double(ge25519_p3 *r, const ge25519_p3 *p)
+{
+  ge25519_p1p1 grp1p1;
+  dbl_p1p1(&grp1p1, (const ge25519_p2 *)p);
+  p1p1_to_p3(r, &grp1p1);
+}
+
+void ge25519_scalarmult(ge25519_p3 *r, const ge25519_p3 *p, const sc25519 *s)
+{
+  int i,j,k;
+  ge25519_p3 g;
+  fe25519_unpack(&g.x, ge25519_neutral_x);
+  fe25519_unpack(&g.y, ge25519_neutral_y);
+  fe25519_unpack(&g.z, ge25519_neutral_z);
+  fe25519_unpack(&g.t, ge25519_neutral_t);
+
+  ge25519_p3 pre[(1 << WINDOWSIZE)];
+  ge25519_p3 t;
+  ge25519_p1p1 tp1p1;
+  unsigned char w;
+  unsigned char sb[32];
+  sc25519_to32bytes(sb, s);
+
+  // Precomputation
+  pre[0] = g;
+  pre[1] = *p;
+  for(i=2;i<(1<<WINDOWSIZE);i+=2)
+  {
+    dbl_p1p1(&tp1p1, (ge25519_p2 *)(pre+i/2));
+    p1p1_to_p3(pre+i, &tp1p1);
+    add_p1p1(&tp1p1, pre+i, pre+1);
+    p1p1_to_p3(pre+i+1, &tp1p1);
+  }
+
+  // Fixed-window scalar multiplication
+  for(i=32;i>0;i--)
+  {
+    for(j=8-WINDOWSIZE;j>=0;j-=WINDOWSIZE)
+    {
+      for(k=0;k<WINDOWSIZE-1;k++)
+      {
+        dbl_p1p1(&tp1p1, (ge25519_p2 *)&g);
+        p1p1_to_p2((ge25519_p2 *)&g, &tp1p1);
+      }
+      dbl_p1p1(&tp1p1, (ge25519_p2 *)&g);
+      p1p1_to_p3(&g, &tp1p1);
+      // Cache-timing resistant loading of precomputed value:
+      w = (sb[i-1]>>j) & WINDOWMASK;
+      t = pre[0];
+      for(k=1;k<(1<<WINDOWSIZE);k++)
+        cmov_p3(&t, &pre[k], k==w);
+
+      add_p1p1(&tp1p1, &g, &t);
+      if(j != 0) p1p1_to_p2((ge25519_p2 *)&g, &tp1p1);
+      else p1p1_to_p3(&g, &tp1p1); /* convert to p3 representation at the end */
+    }
+  }
+  r->x = g.x;
+  r->y = g.y;
+  r->z = g.z;
+  r->t = g.t;
+}
+
+void ge25519_scalarmult_base(ge25519_p3 *r, const sc25519 *s)
+{
+  /* XXX: Better algorithm for known-base-point scalar multiplication */
+  ge25519_p3 t;
+  fe25519_unpack(&t.x, ge25519_base_x);
+  fe25519_unpack(&t.y, ge25519_base_y);
+  fe25519_unpack(&t.z, ge25519_base_z);
+  fe25519_unpack(&t.t, ge25519_base_t);
+  ge25519_scalarmult(r, &t, s);
+}
diff --git a/src/libsodium/src/libsodium/crypto_sign/edwards25519sha512batch/ref/sc25519.h b/src/libsodium/src/libsodium/crypto_sign/edwards25519sha512batch/ref/sc25519.h
new file mode 100644
index 00000000..f791dea4
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_sign/edwards25519sha512batch/ref/sc25519.h
@@ -0,0 +1,51 @@
+#ifndef SC25519_H
+#define SC25519_H
+
+#define sc25519 crypto_sign_edwards25519sha512batch_sc25519
+#define sc25519_from32bytes crypto_sign_edwards25519sha512batch_sc25519_from32bytes
+#define sc25519_from64bytes crypto_sign_edwards25519sha512batch_sc25519_from64bytes
+#define sc25519_to32bytes crypto_sign_edwards25519sha512batch_sc25519_to32bytes
+#define sc25519_pack crypto_sign_edwards25519sha512batch_sc25519_pack
+#define sc25519_getparity crypto_sign_edwards25519sha512batch_sc25519_getparity
+#define sc25519_setone crypto_sign_edwards25519sha512batch_sc25519_setone
+#define sc25519_setzero crypto_sign_edwards25519sha512batch_sc25519_setzero
+#define sc25519_neg crypto_sign_edwards25519sha512batch_sc25519_neg
+#define sc25519_add crypto_sign_edwards25519sha512batch_sc25519_add
+#define sc25519_sub crypto_sign_edwards25519sha512batch_sc25519_sub
+#define sc25519_mul crypto_sign_edwards25519sha512batch_sc25519_mul
+#define sc25519_square crypto_sign_edwards25519sha512batch_sc25519_square
+#define sc25519_invert crypto_sign_edwards25519sha512batch_sc25519_invert
+
+#include "crypto_uint32.h"
+
+typedef struct {
+  crypto_uint32 v[32];
+} sc25519;
+
+void sc25519_from32bytes(sc25519 *r, const unsigned char x[32]);
+
+void sc25519_from64bytes(sc25519 *r, const unsigned char x[64]);
+
+void sc25519_to32bytes(unsigned char r[32], const sc25519 *x);
+
+void sc25519_pack(unsigned char r[32], const sc25519 *x);
+
+unsigned char sc25519_getparity(const sc25519 *x);
+
+void sc25519_setone(sc25519 *r);
+
+void sc25519_setzero(sc25519 *r);
+
+void sc25519_neg(sc25519 *r, const sc25519 *x);
+
+void sc25519_add(sc25519 *r, const sc25519 *x, const sc25519 *y);
+
+void sc25519_sub(sc25519 *r, const sc25519 *x, const sc25519 *y);
+
+void sc25519_mul(sc25519 *r, const sc25519 *x, const sc25519 *y);
+
+void sc25519_square(sc25519 *r, const sc25519 *x);
+
+void sc25519_invert(sc25519 *r, const sc25519 *x);
+
+#endif
diff --git a/src/libsodium/src/libsodium/crypto_sign/edwards25519sha512batch/ref/sc25519_edwards25519sha512batch.c b/src/libsodium/src/libsodium/crypto_sign/edwards25519sha512batch/ref/sc25519_edwards25519sha512batch.c
new file mode 100644
index 00000000..ad232d78
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_sign/edwards25519sha512batch/ref/sc25519_edwards25519sha512batch.c
@@ -0,0 +1,146 @@
+#include "sc25519.h"
+
+/*Arithmetic modulo the group order n = 2^252 +  27742317777372353535851937790883648493 = 7237005577332262213973186563042994240857116359379907606001950938285454250989 */
+
+static const crypto_uint32 m[32] = {0xED, 0xD3, 0xF5, 0x5C, 0x1A, 0x63, 0x12, 0x58, 0xD6, 0x9C, 0xF7, 0xA2, 0xDE, 0xF9, 0xDE, 0x14,
+                                    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10};
+
+static const crypto_uint32 mu[33] = {0x1B, 0x13, 0x2C, 0x0A, 0xA3, 0xE5, 0x9C, 0xED, 0xA7, 0x29, 0x63, 0x08, 0x5D, 0x21, 0x06, 0x21,
+                                     0xEB, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0F};
+
+/* Reduce coefficients of r before calling reduce_add_sub */
+static void reduce_add_sub(sc25519 *r)
+{
+  int i, b, pb=0, nb;
+  unsigned char t[32];
+
+  for(i=0;i<32;i++)
+  {
+    b = (r->v[i]<pb+m[i]);
+    t[i] = r->v[i]-pb-m[i]+b*256;
+    pb = b;
+  }
+  nb = 1-b;
+  for(i=0;i<32;i++)
+    r->v[i] = r->v[i]*b + t[i]*nb;
+}
+
+/* Reduce coefficients of x before calling barrett_reduce */
+static void barrett_reduce(sc25519 *r, const crypto_uint32 x[64])
+{
+  /* See HAC, Alg. 14.42 */
+  int i,j;
+  crypto_uint32 q2[66] = {0};
+  crypto_uint32 *q3 = q2 + 33;
+  crypto_uint32 r1[33];
+  crypto_uint32 r2[33] = {0};
+  crypto_uint32 carry;
+  int b, pb=0;
+
+  for(i=0;i<33;i++)
+    for(j=0;j<33;j++)
+      if(i+j >= 31) q2[i+j] += mu[i]*x[j+31];
+  carry = q2[31] >> 8;
+  q2[32] += carry;
+  carry = q2[32] >> 8;
+  q2[33] += carry;
+
+  for(i=0;i<33;i++)r1[i] = x[i];
+  for(i=0;i<32;i++)
+    for(j=0;j<33;j++)
+      if(i+j < 33) r2[i+j] += m[i]*q3[j];
+
+  for(i=0;i<32;i++)
+  {
+    carry = r2[i] >> 8;
+    r2[i+1] += carry;
+    r2[i] &= 0xff;
+  }
+
+  for(i=0;i<32;i++)
+  {
+    b = (r1[i]<pb+r2[i]);
+    r->v[i] = r1[i]-pb-r2[i]+b*256;
+    pb = b;
+  }
+
+  /* XXX: Can it really happen that r<0?, See HAC, Alg 14.42, Step 3
+   * If so: Handle  it here!
+   */
+
+  reduce_add_sub(r);
+  reduce_add_sub(r);
+}
+
+/*
+static int iszero(const sc25519 *x)
+{
+  // Implement
+  return 0;
+}
+*/
+
+void sc25519_from32bytes(sc25519 *r, const unsigned char x[32])
+{
+  int i;
+  crypto_uint32 t[64] = {0};
+  for(i=0;i<32;i++) t[i] = x[i];
+  barrett_reduce(r, t);
+}
+
+void sc25519_from64bytes(sc25519 *r, const unsigned char x[64])
+{
+  int i;
+  crypto_uint32 t[64] = {0};
+  for(i=0;i<64;i++) t[i] = x[i];
+  barrett_reduce(r, t);
+}
+
+/* XXX: What we actually want for crypto_group is probably just something like
+ * void sc25519_frombytes(sc25519 *r, const unsigned char *x, size_t xlen)
+ */
+
+void sc25519_to32bytes(unsigned char r[32], const sc25519 *x)
+{
+  int i;
+  for(i=0;i<32;i++) r[i] = x->v[i];
+}
+
+void sc25519_add(sc25519 *r, const sc25519 *x, const sc25519 *y)
+{
+  int i, carry;
+  for(i=0;i<32;i++) r->v[i] = x->v[i] + y->v[i];
+  for(i=0;i<31;i++)
+  {
+    carry = r->v[i] >> 8;
+    r->v[i+1] += carry;
+    r->v[i] &= 0xff;
+  }
+  reduce_add_sub(r);
+}
+
+void sc25519_mul(sc25519 *r, const sc25519 *x, const sc25519 *y)
+{
+  int i,j,carry;
+  crypto_uint32 t[64];
+  for(i=0;i<64;i++)t[i] = 0;
+
+  for(i=0;i<32;i++)
+    for(j=0;j<32;j++)
+      t[i+j] += x->v[i] * y->v[j];
+
+  /* Reduce coefficients */
+  for(i=0;i<63;i++)
+  {
+    carry = t[i] >> 8;
+    t[i+1] += carry;
+    t[i] &= 0xff;
+  }
+
+  barrett_reduce(r, t);
+}
+
+void sc25519_square(sc25519 *r, const sc25519 *x)
+{
+  sc25519_mul(r, x, x);
+}
diff --git a/src/libsodium/src/libsodium/crypto_sign/edwards25519sha512batch/ref/sign_edwards25519sha512batch.c b/src/libsodium/src/libsodium/crypto_sign/edwards25519sha512batch/ref/sign_edwards25519sha512batch.c
new file mode 100644
index 00000000..885d7b1a
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_sign/edwards25519sha512batch/ref/sign_edwards25519sha512batch.c
@@ -0,0 +1,102 @@
+#include "api.h"
+#include "crypto_hash_sha512.h"
+#include "randombytes.h"
+#include "crypto_verify_32.h"
+
+#include "ge25519.h"
+
+int crypto_sign_keypair(
+    unsigned char *pk,
+    unsigned char *sk
+    )
+{
+  sc25519 scsk;
+  ge25519 gepk;
+
+  randombytes(sk, 32);
+  crypto_hash_sha512(sk, sk, 32);
+  sk[0] &= 248;
+  sk[31] &= 127;
+  sk[31] |= 64;
+
+  sc25519_from32bytes(&scsk,sk);
+
+  ge25519_scalarmult_base(&gepk, &scsk);
+  ge25519_pack(pk, &gepk);
+  return 0;
+}
+
+int crypto_sign(
+    unsigned char *sm,unsigned long long *smlen,
+    const unsigned char *m,unsigned long long mlen,
+    const unsigned char *sk
+    )
+{
+  sc25519 sck, scs, scsk;
+  ge25519 ger;
+  unsigned char r[32];
+  unsigned char s[32];
+  unsigned long long i;
+  unsigned char hmg[crypto_hash_sha512_BYTES];
+  unsigned char hmr[crypto_hash_sha512_BYTES];
+
+  *smlen = mlen+64;
+  for(i=0;i<mlen;i++)
+    sm[32 + i] = m[i];
+  for(i=0;i<32;i++)
+    sm[i] = sk[32+i];
+  crypto_hash_sha512(hmg, sm, mlen+32); /* Generate k as h(m,sk[32],...,sk[63]) */
+
+  sc25519_from64bytes(&sck, hmg);
+  ge25519_scalarmult_base(&ger, &sck);
+  ge25519_pack(r, &ger);
+
+  for(i=0;i<32;i++)
+    sm[i] = r[i];
+
+  crypto_hash_sha512(hmr, sm, mlen+32); /* Compute h(m,r) */
+  sc25519_from64bytes(&scs, hmr);
+  sc25519_mul(&scs, &scs, &sck);
+
+  sc25519_from32bytes(&scsk, sk);
+  sc25519_add(&scs, &scs, &scsk);
+
+  sc25519_to32bytes(s,&scs); /* cat s */
+  for(i=0;i<32;i++)
+    sm[mlen+32+i] = s[i];
+
+  return 0;
+}
+
+int crypto_sign_open(
+    unsigned char *m,unsigned long long *mlen,
+    const unsigned char *sm,unsigned long long smlen,
+    const unsigned char *pk
+    )
+{
+  unsigned long long i;
+  unsigned char t1[32], t2[32];
+  ge25519 get1, get2, gepk;
+  sc25519 schmr, scs;
+  unsigned char hmr[crypto_hash_sha512_BYTES];
+
+  if (ge25519_unpack_vartime(&get1, sm)) return -1;
+  if (ge25519_unpack_vartime(&gepk, pk)) return -1;
+
+  crypto_hash_sha512(hmr,sm,smlen-32);
+
+  sc25519_from64bytes(&schmr, hmr);
+  ge25519_scalarmult(&get1, &get1, &schmr);
+  ge25519_add(&get1, &get1, &gepk);
+  ge25519_pack(t1, &get1);
+
+  sc25519_from32bytes(&scs, &sm[smlen-32]);
+  ge25519_scalarmult_base(&get2, &scs);
+  ge25519_pack(t2, &get2);
+
+  for(i=0;i<smlen-64;i++)
+    m[i] = sm[i + 32];
+  *mlen = smlen-64;
+
+  return crypto_verify_32(t1, t2);
+}
diff --git a/src/libsodium/src/libsodium/crypto_sign/edwards25519sha512batch/sign_edwards25519sha512batch_api.c b/src/libsodium/src/libsodium/crypto_sign/edwards25519sha512batch/sign_edwards25519sha512batch_api.c
new file mode 100644
index 00000000..142f4ffc
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_sign/edwards25519sha512batch/sign_edwards25519sha512batch_api.c
@@ -0,0 +1,21 @@
+#include "crypto_sign_edwards25519sha512batch.h"
+
+size_t
+crypto_sign_edwards25519sha512batch_bytes(void) {
+    return crypto_sign_edwards25519sha512batch_BYTES;
+}
+
+size_t
+crypto_sign_edwards25519sha512batch_publickeybytes(void) {
+    return crypto_sign_edwards25519sha512batch_PUBLICKEYBYTES;
+}
+
+size_t
+crypto_sign_edwards25519sha512batch_secretkeybytes(void) {
+    return crypto_sign_edwards25519sha512batch_SECRETKEYBYTES;
+}
+
+const char *
+crypto_sign_edwards25519sha512batch_primitive(void) {
+    return "edwards25519sha512batch";
+}
diff --git a/src/libsodium/src/libsodium/crypto_stream/aes128ctr/portable/afternm_aes128ctr.c b/src/libsodium/src/libsodium/crypto_stream/aes128ctr/portable/afternm_aes128ctr.c
new file mode 100644
index 00000000..f74937e6
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_stream/aes128ctr/portable/afternm_aes128ctr.c
@@ -0,0 +1,158 @@
+/* Author: Peter Schwabe, ported from an assembly implementation by Emilia Käsper
+ * Date: 2009-03-19
+ * Public domain */
+
+#include "api.h"
+#include "int128.h"
+#include "common.h"
+#include "consts.h"
+
+int crypto_stream_afternm(unsigned char *outp, unsigned long long len, const unsigned char *noncep, const unsigned char *c)
+{
+
+  int128 xmm0;
+  int128 xmm1;
+  int128 xmm2;
+  int128 xmm3;
+  int128 xmm4;
+  int128 xmm5;
+  int128 xmm6;
+  int128 xmm7;
+
+  int128 xmm8;
+  int128 xmm9;
+  int128 xmm10;
+  int128 xmm11;
+  int128 xmm12;
+  int128 xmm13;
+  int128 xmm14;
+  int128 xmm15;
+
+  int128 nonce_stack;
+  unsigned long long lensav;
+  unsigned char bl[128];
+  unsigned char *blp;
+  unsigned char b;
+
+  uint32 tmp;
+
+  /* Copy nonce on the stack */
+  copy2(&nonce_stack, (const int128 *) (noncep + 0));
+  unsigned char *np = (unsigned char *)&nonce_stack;
+
+    enc_block:
+
+    xmm0 = *(int128 *) (np + 0);
+    copy2(&xmm1, &xmm0);
+    shufb(&xmm1, SWAP32);
+    copy2(&xmm2, &xmm1);
+    copy2(&xmm3, &xmm1);
+    copy2(&xmm4, &xmm1);
+    copy2(&xmm5, &xmm1);
+    copy2(&xmm6, &xmm1);
+    copy2(&xmm7, &xmm1);
+
+    add_uint32_big(&xmm1, 1);
+    add_uint32_big(&xmm2, 2);
+    add_uint32_big(&xmm3, 3);
+    add_uint32_big(&xmm4, 4);
+    add_uint32_big(&xmm5, 5);
+    add_uint32_big(&xmm6, 6);
+    add_uint32_big(&xmm7, 7);
+
+    shufb(&xmm0, M0);
+    shufb(&xmm1, M0SWAP);
+    shufb(&xmm2, M0SWAP);
+    shufb(&xmm3, M0SWAP);
+    shufb(&xmm4, M0SWAP);
+    shufb(&xmm5, M0SWAP);
+    shufb(&xmm6, M0SWAP);
+    shufb(&xmm7, M0SWAP);
+
+    bitslice(xmm7, xmm6, xmm5, xmm4, xmm3, xmm2, xmm1, xmm0, xmm8)
+
+    aesround( 1, xmm0, xmm1, xmm2, xmm3, xmm4, xmm5, xmm6, xmm7, xmm8, xmm9, xmm10, xmm11, xmm12, xmm13, xmm14, xmm15,c)
+    aesround( 2, xmm8, xmm9, xmm10, xmm11, xmm12, xmm13, xmm14, xmm15, xmm0, xmm1, xmm2, xmm3, xmm4, xmm5, xmm6, xmm7,c)
+    aesround( 3, xmm0, xmm1, xmm2, xmm3, xmm4, xmm5, xmm6, xmm7, xmm8, xmm9, xmm10, xmm11, xmm12, xmm13, xmm14, xmm15,c)
+    aesround( 4, xmm8, xmm9, xmm10, xmm11, xmm12, xmm13, xmm14, xmm15, xmm0, xmm1, xmm2, xmm3, xmm4, xmm5, xmm6, xmm7,c)
+    aesround( 5, xmm0, xmm1, xmm2, xmm3, xmm4, xmm5, xmm6, xmm7, xmm8, xmm9, xmm10, xmm11, xmm12, xmm13, xmm14, xmm15,c)
+    aesround( 6, xmm8, xmm9, xmm10, xmm11, xmm12, xmm13, xmm14, xmm15, xmm0, xmm1, xmm2, xmm3, xmm4, xmm5, xmm6, xmm7,c)
+    aesround( 7, xmm0, xmm1, xmm2, xmm3, xmm4, xmm5, xmm6, xmm7, xmm8, xmm9, xmm10, xmm11, xmm12, xmm13, xmm14, xmm15,c)
+    aesround( 8, xmm8, xmm9, xmm10, xmm11, xmm12, xmm13, xmm14, xmm15, xmm0, xmm1, xmm2, xmm3, xmm4, xmm5, xmm6, xmm7,c)
+    aesround( 9, xmm0, xmm1, xmm2, xmm3, xmm4, xmm5, xmm6, xmm7, xmm8, xmm9, xmm10, xmm11, xmm12, xmm13, xmm14, xmm15,c)
+    lastround(xmm8, xmm9, xmm10, xmm11, xmm12, xmm13, xmm14, xmm15, xmm0, xmm1, xmm2, xmm3, xmm4, xmm5, xmm6, xmm7,c)
+
+    bitslice(xmm13, xmm10, xmm15, xmm11, xmm14, xmm12, xmm9, xmm8, xmm0)
+
+    if(len < 128) goto partial;
+    if(len == 128) goto full;
+
+    tmp = load32_bigendian(np + 12);
+    tmp += 8;
+    store32_bigendian(np + 12, tmp);
+
+    *(int128 *) (outp + 0) = xmm8;
+    *(int128 *) (outp + 16) = xmm9;
+    *(int128 *) (outp + 32) = xmm12;
+    *(int128 *) (outp + 48) = xmm14;
+    *(int128 *) (outp + 64) = xmm11;
+    *(int128 *) (outp + 80) = xmm15;
+    *(int128 *) (outp + 96) = xmm10;
+    *(int128 *) (outp + 112) = xmm13;
+
+    len -= 128;
+    outp += 128;
+
+    goto enc_block;
+
+    partial:
+
+    lensav = len;
+    len >>= 4;
+
+    tmp = load32_bigendian(np + 12);
+    tmp += len;
+    store32_bigendian(np + 12, tmp);
+
+    blp = bl;
+    *(int128 *)(blp + 0) = xmm8;
+    *(int128 *)(blp + 16) = xmm9;
+    *(int128 *)(blp + 32) = xmm12;
+    *(int128 *)(blp + 48) = xmm14;
+    *(int128 *)(blp + 64) = xmm11;
+    *(int128 *)(blp + 80) = xmm15;
+    *(int128 *)(blp + 96) = xmm10;
+    *(int128 *)(blp + 112) = xmm13;
+
+    bytes:
+
+    if(lensav == 0) goto end;
+
+    b = blp[0]; /* clang false positive */
+    *(unsigned char *)(outp + 0) = b;
+
+    blp += 1;
+    outp +=1;
+    lensav -= 1;
+
+    goto bytes;
+
+    full:
+
+    tmp = load32_bigendian(np + 12);
+    tmp += 8;
+    store32_bigendian(np + 12, tmp);
+
+    *(int128 *) (outp + 0) = xmm8;
+    *(int128 *) (outp + 16) = xmm9;
+    *(int128 *) (outp + 32) = xmm12;
+    *(int128 *) (outp + 48) = xmm14;
+    *(int128 *) (outp + 64) = xmm11;
+    *(int128 *) (outp + 80) = xmm15;
+    *(int128 *) (outp + 96) = xmm10;
+    *(int128 *) (outp + 112) = xmm13;
+
+    end:
+    return 0;
+
+}
diff --git a/src/libsodium/src/libsodium/crypto_stream/aes128ctr/portable/api.h b/src/libsodium/src/libsodium/crypto_stream/aes128ctr/portable/api.h
new file mode 100644
index 00000000..bc951d13
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_stream/aes128ctr/portable/api.h
@@ -0,0 +1,14 @@
+
+#include "crypto_stream_aes128ctr.h"
+
+#define crypto_stream crypto_stream_aes128ctr
+#define crypto_stream_xor crypto_stream_aes128ctr_xor
+#define crypto_stream_beforenm crypto_stream_aes128ctr_beforenm
+#define crypto_stream_afternm crypto_stream_aes128ctr_afternm
+#define crypto_stream_xor_afternm crypto_stream_aes128ctr_xor_afternm
+#define crypto_stream_KEYBYTES crypto_stream_aes128ctr_KEYBYTES
+#define crypto_stream_NONCEBYTES crypto_stream_aes128ctr_NONCEBYTES
+#define crypto_stream_BEFORENMBYTES crypto_stream_aes128ctr_BEFORENMBYTES
+#define crypto_stream_PRIMITIVE "aes128ctr"
+#define crypto_stream_IMPLEMENTATION crypto_stream_aes128ctr_IMPLEMENTATION
+#define crypto_stream_VERSION crypto_stream_aes128ctr_VERSION
diff --git a/src/libsodium/src/libsodium/crypto_stream/aes128ctr/portable/beforenm_aes128ctr.c b/src/libsodium/src/libsodium/crypto_stream/aes128ctr/portable/beforenm_aes128ctr.c
new file mode 100644
index 00000000..f8623dd2
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_stream/aes128ctr/portable/beforenm_aes128ctr.c
@@ -0,0 +1,59 @@
+/* Author: Peter Schwabe, ported from an assembly implementation by Emilia Käsper
+ * Date: 2009-03-19
+ * Public domain */
+
+#include "api.h"
+#include "consts.h"
+#include "int128.h"
+#include "common.h"
+
+int crypto_stream_beforenm(unsigned char *c, const unsigned char *k)
+{
+
+  /*
+     int64 x0;
+     int64 x1;
+     int64 x2;
+     int64 x3;
+     int64 e;
+     int64 q0;
+     int64 q1;
+     int64 q2;
+     int64 q3;
+     */
+
+  int128 xmm0;
+  int128 xmm1;
+  int128 xmm2;
+  int128 xmm3;
+  int128 xmm4;
+  int128 xmm5;
+  int128 xmm6;
+  int128 xmm7;
+  int128 xmm8;
+  int128 xmm9;
+  int128 xmm10;
+  int128 xmm11;
+  int128 xmm12;
+  int128 xmm13;
+  int128 xmm14;
+  int128 xmm15;
+  int128 t;
+
+  bitslicekey0(k, c)
+
+    keyexpbs1(xmm0, xmm1, xmm2, xmm3, xmm4, xmm5, xmm6, xmm7, xmm8, xmm9, xmm10, xmm11, xmm12, xmm13, xmm14, xmm15,c)
+    keyexpbs(xmm0, xmm1, xmm4, xmm6, xmm3, xmm7, xmm2, xmm5, xmm8, xmm9, xmm10, xmm11, xmm12, xmm13, xmm14, xmm15, xor_rcon(&xmm1);, 2,c)
+    keyexpbs(xmm0, xmm1, xmm3, xmm2, xmm6, xmm5, xmm4, xmm7, xmm8, xmm9, xmm10, xmm11, xmm12, xmm13, xmm14, xmm15, xor_rcon(&xmm6);, 3,c)
+    keyexpbs(xmm0, xmm1, xmm6, xmm4, xmm2, xmm7, xmm3, xmm5, xmm8, xmm9, xmm10, xmm11, xmm12, xmm13, xmm14, xmm15, xor_rcon(&xmm3);, 4,c)
+
+    keyexpbs(xmm0, xmm1, xmm2, xmm3, xmm4, xmm5, xmm6, xmm7, xmm8, xmm9, xmm10, xmm11, xmm12, xmm13, xmm14, xmm15, xor_rcon(&xmm3);, 5,c)
+    keyexpbs(xmm0, xmm1, xmm4, xmm6, xmm3, xmm7, xmm2, xmm5, xmm8, xmm9, xmm10, xmm11, xmm12, xmm13, xmm14, xmm15, xor_rcon(&xmm5);, 6,c)
+    keyexpbs(xmm0, xmm1, xmm3, xmm2, xmm6, xmm5, xmm4, xmm7, xmm8, xmm9, xmm10, xmm11, xmm12, xmm13, xmm14, xmm15, xor_rcon(&xmm3);, 7,c)
+    keyexpbs(xmm0, xmm1, xmm6, xmm4, xmm2, xmm7, xmm3, xmm5, xmm8, xmm9, xmm10, xmm11, xmm12, xmm13, xmm14, xmm15, xor_rcon(&xmm7);, 8,c)
+
+    keyexpbs(xmm0, xmm1, xmm2, xmm3, xmm4, xmm5, xmm6, xmm7, xmm8, xmm9, xmm10, xmm11, xmm12, xmm13, xmm14, xmm15, xor_rcon(&xmm0); xor_rcon(&xmm1); xor_rcon(&xmm6); xor_rcon(&xmm3);, 9,c)
+    keyexpbs10(xmm0, xmm1, xmm4, xmm6, xmm3, xmm7, xmm2, xmm5, xmm8, xmm9, xmm10, xmm11, xmm12, xmm13, xmm14, xmm15,c)
+
+    return 0;
+}
diff --git a/src/libsodium/src/libsodium/crypto_stream/aes128ctr/portable/common.h b/src/libsodium/src/libsodium/crypto_stream/aes128ctr/portable/common.h
new file mode 100644
index 00000000..3923c02d
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_stream/aes128ctr/portable/common.h
@@ -0,0 +1,788 @@
+/* Author: Peter Schwabe, ported from an assembly implementation by Emilia Käsper
+ Date: 2009-03-19
+ Public domain */
+#ifndef COMMON_H
+#define COMMON_H
+
+#include "types.h"
+
+#define load32_bigendian crypto_stream_aes128ctr_portable_load32_bigendian
+uint32 load32_bigendian(const unsigned char *x);
+
+#define store32_bigendian crypto_stream_aes128ctr_portable_store32_bigendian
+void store32_bigendian(unsigned char *x,uint32 u);
+
+#define load32_littleendian crypto_stream_aes128ctr_portable_load32_littleendian
+uint32 load32_littleendian(const unsigned char *x);
+
+#define store32_littleendian crypto_stream_aes128ctr_portable_store32_littleendian
+void store32_littleendian(unsigned char *x,uint32 u);
+
+#define load64_littleendian crypto_stream_aes128ctr_portable_load64_littleendian
+uint64 load64_littleendian(const unsigned char *x);
+
+#define store64_littleendian crypto_stream_aes128ctr_portable_store64_littleendian
+void store64_littleendian(unsigned char *x,uint64 u);
+
+/* Macros required only for key expansion */
+
+#define keyexpbs1(b0, b1, b2, b3, b4, b5, b6, b7, t0, t1, t2, t3, t4, t5, t6, t7, bskey) \
+  rotbyte(&b0);\
+  rotbyte(&b1);\
+  rotbyte(&b2);\
+  rotbyte(&b3);\
+  rotbyte(&b4);\
+  rotbyte(&b5);\
+  rotbyte(&b6);\
+  rotbyte(&b7);\
+  ;\
+  sbox(b0, b1, b2, b3, b4, b5, b6, b7, t0, t1, t2, t3, t4, t5, t6, t7);\
+  ;\
+  xor_rcon(&b0);\
+  shufb(&b0, EXPB0);\
+  shufb(&b1, EXPB0);\
+  shufb(&b4, EXPB0);\
+  shufb(&b6, EXPB0);\
+  shufb(&b3, EXPB0);\
+  shufb(&b7, EXPB0);\
+  shufb(&b2, EXPB0);\
+  shufb(&b5, EXPB0);\
+  shufb(&b0, EXPB0);\
+  ;\
+  t0 = *(int128 *)(bskey + 0);\
+  t1 = *(int128 *)(bskey + 16);\
+  t2 = *(int128 *)(bskey + 32);\
+  t3 = *(int128 *)(bskey + 48);\
+  t4 = *(int128 *)(bskey + 64);\
+  t5 = *(int128 *)(bskey + 80);\
+  t6 = *(int128 *)(bskey + 96);\
+  t7 = *(int128 *)(bskey + 112);\
+  ;\
+  xor2(&b0, &t0);\
+  xor2(&b1, &t1);\
+  xor2(&b4, &t2);\
+  xor2(&b6, &t3);\
+  xor2(&b3, &t4);\
+  xor2(&b7, &t5);\
+  xor2(&b2, &t6);\
+  xor2(&b5, &t7);\
+  ;\
+  rshift32_littleendian(&t0, 8);\
+  rshift32_littleendian(&t1, 8);\
+  rshift32_littleendian(&t2, 8);\
+  rshift32_littleendian(&t3, 8);\
+  rshift32_littleendian(&t4, 8);\
+  rshift32_littleendian(&t5, 8);\
+  rshift32_littleendian(&t6, 8);\
+  rshift32_littleendian(&t7, 8);\
+  ;\
+  xor2(&b0, &t0);\
+  xor2(&b1, &t1);\
+  xor2(&b4, &t2);\
+  xor2(&b6, &t3);\
+  xor2(&b3, &t4);\
+  xor2(&b7, &t5);\
+  xor2(&b2, &t6);\
+  xor2(&b5, &t7);\
+  ;\
+  rshift32_littleendian(&t0, 8);\
+  rshift32_littleendian(&t1, 8);\
+  rshift32_littleendian(&t2, 8);\
+  rshift32_littleendian(&t3, 8);\
+  rshift32_littleendian(&t4, 8);\
+  rshift32_littleendian(&t5, 8);\
+  rshift32_littleendian(&t6, 8);\
+  rshift32_littleendian(&t7, 8);\
+  ;\
+  xor2(&b0, &t0);\
+  xor2(&b1, &t1);\
+  xor2(&b4, &t2);\
+  xor2(&b6, &t3);\
+  xor2(&b3, &t4);\
+  xor2(&b7, &t5);\
+  xor2(&b2, &t6);\
+  xor2(&b5, &t7);\
+  ;\
+  rshift32_littleendian(&t0, 8);\
+  rshift32_littleendian(&t1, 8);\
+  rshift32_littleendian(&t2, 8);\
+  rshift32_littleendian(&t3, 8);\
+  rshift32_littleendian(&t4, 8);\
+  rshift32_littleendian(&t5, 8);\
+  rshift32_littleendian(&t6, 8);\
+  rshift32_littleendian(&t7, 8);\
+  ;\
+  xor2(&b0, &t0);\
+  xor2(&b1, &t1);\
+  xor2(&b4, &t2);\
+  xor2(&b6, &t3);\
+  xor2(&b3, &t4);\
+  xor2(&b7, &t5);\
+  xor2(&b2, &t6);\
+  xor2(&b5, &t7);\
+  ;\
+  *(int128 *)(bskey + 128) = b0;\
+  *(int128 *)(bskey + 144) = b1;\
+  *(int128 *)(bskey + 160) = b4;\
+  *(int128 *)(bskey + 176) = b6;\
+  *(int128 *)(bskey + 192) = b3;\
+  *(int128 *)(bskey + 208) = b7;\
+  *(int128 *)(bskey + 224) = b2;\
+  *(int128 *)(bskey + 240) = b5;\
+
+#define keyexpbs10(b0, b1, b2, b3, b4, b5, b6, b7, t0, t1, t2, t3, t4, t5, t6, t7, bskey) ;\
+  toggle(&b0);\
+  toggle(&b1);\
+  toggle(&b5);\
+  toggle(&b6);\
+  rotbyte(&b0);\
+  rotbyte(&b1);\
+  rotbyte(&b2);\
+  rotbyte(&b3);\
+  rotbyte(&b4);\
+  rotbyte(&b5);\
+  rotbyte(&b6);\
+  rotbyte(&b7);\
+  ;\
+  sbox(b0, b1, b2, b3, b4, b5, b6, b7, t0, t1, t2, t3, t4, t5, t6, t7);\
+  ;\
+  xor_rcon(&b1);\
+  xor_rcon(&b4);\
+  xor_rcon(&b3);\
+  xor_rcon(&b7);\
+  shufb(&b0, EXPB0);\
+  shufb(&b1, EXPB0);\
+  shufb(&b4, EXPB0);\
+  shufb(&b6, EXPB0);\
+  shufb(&b3, EXPB0);\
+  shufb(&b7, EXPB0);\
+  shufb(&b2, EXPB0);\
+  shufb(&b5, EXPB0);\
+  ;\
+  t0 = *(int128 *)(bskey + 9 * 128 +   0);\
+  t1 = *(int128 *)(bskey + 9 * 128 +  16);\
+  t2 = *(int128 *)(bskey + 9 * 128 +  32);\
+  t3 = *(int128 *)(bskey + 9 * 128 +  48);\
+  t4 = *(int128 *)(bskey + 9 * 128 +  64);\
+  t5 = *(int128 *)(bskey + 9 * 128 +  80);\
+  t6 = *(int128 *)(bskey + 9 * 128 +  96);\
+  t7 = *(int128 *)(bskey + 9 * 128 + 112);\
+  ;\
+  toggle(&t0);\
+  toggle(&t1);\
+  toggle(&t5);\
+  toggle(&t6);\
+  ;\
+  xor2(&b0, &t0);\
+  xor2(&b1, &t1);\
+  xor2(&b4, &t2);\
+  xor2(&b6, &t3);\
+  xor2(&b3, &t4);\
+  xor2(&b7, &t5);\
+  xor2(&b2, &t6);\
+  xor2(&b5, &t7);\
+  ;\
+  rshift32_littleendian(&t0, 8);\
+  rshift32_littleendian(&t1, 8);\
+  rshift32_littleendian(&t2, 8);\
+  rshift32_littleendian(&t3, 8);\
+  rshift32_littleendian(&t4, 8);\
+  rshift32_littleendian(&t5, 8);\
+  rshift32_littleendian(&t6, 8);\
+  rshift32_littleendian(&t7, 8);\
+  ;\
+  xor2(&b0, &t0);\
+  xor2(&b1, &t1);\
+  xor2(&b4, &t2);\
+  xor2(&b6, &t3);\
+  xor2(&b3, &t4);\
+  xor2(&b7, &t5);\
+  xor2(&b2, &t6);\
+  xor2(&b5, &t7);\
+  ;\
+  rshift32_littleendian(&t0, 8);\
+  rshift32_littleendian(&t1, 8);\
+  rshift32_littleendian(&t2, 8);\
+  rshift32_littleendian(&t3, 8);\
+  rshift32_littleendian(&t4, 8);\
+  rshift32_littleendian(&t5, 8);\
+  rshift32_littleendian(&t6, 8);\
+  rshift32_littleendian(&t7, 8);\
+  ;\
+  xor2(&b0, &t0);\
+  xor2(&b1, &t1);\
+  xor2(&b4, &t2);\
+  xor2(&b6, &t3);\
+  xor2(&b3, &t4);\
+  xor2(&b7, &t5);\
+  xor2(&b2, &t6);\
+  xor2(&b5, &t7);\
+  ;\
+  rshift32_littleendian(&t0, 8);\
+  rshift32_littleendian(&t1, 8);\
+  rshift32_littleendian(&t2, 8);\
+  rshift32_littleendian(&t3, 8);\
+  rshift32_littleendian(&t4, 8);\
+  rshift32_littleendian(&t5, 8);\
+  rshift32_littleendian(&t6, 8);\
+  rshift32_littleendian(&t7, 8);\
+  ;\
+  xor2(&b0, &t0);\
+  xor2(&b1, &t1);\
+  xor2(&b4, &t2);\
+  xor2(&b6, &t3);\
+  xor2(&b3, &t4);\
+  xor2(&b7, &t5);\
+  xor2(&b2, &t6);\
+  xor2(&b5, &t7);\
+  ;\
+  shufb(&b0, M0);\
+  shufb(&b1, M0);\
+  shufb(&b2, M0);\
+  shufb(&b3, M0);\
+  shufb(&b4, M0);\
+  shufb(&b5, M0);\
+  shufb(&b6, M0);\
+  shufb(&b7, M0);\
+  ;\
+  *(int128 *)(bskey + 1280) = b0;\
+  *(int128 *)(bskey + 1296) = b1;\
+  *(int128 *)(bskey + 1312) = b4;\
+  *(int128 *)(bskey + 1328) = b6;\
+  *(int128 *)(bskey + 1344) = b3;\
+  *(int128 *)(bskey + 1360) = b7;\
+  *(int128 *)(bskey + 1376) = b2;\
+  *(int128 *)(bskey + 1392) = b5;\
+
+
+#define keyexpbs(b0, b1, b2, b3, b4, b5, b6, b7, t0, t1, t2, t3, t4, t5, t6, t7, rcon, i, bskey) \
+  toggle(&b0);\
+  toggle(&b1);\
+  toggle(&b5);\
+  toggle(&b6);\
+  rotbyte(&b0);\
+  rotbyte(&b1);\
+  rotbyte(&b2);\
+  rotbyte(&b3);\
+  rotbyte(&b4);\
+  rotbyte(&b5);\
+  rotbyte(&b6);\
+  rotbyte(&b7);\
+  ;\
+  sbox(b0, b1, b2, b3, b4, b5, b6, b7, t0, t1, t2, t3, t4, t5, t6, t7);\
+  ;\
+  rcon;\
+  shufb(&b0, EXPB0);\
+  shufb(&b1, EXPB0);\
+  shufb(&b4, EXPB0);\
+  shufb(&b6, EXPB0);\
+  shufb(&b3, EXPB0);\
+  shufb(&b7, EXPB0);\
+  shufb(&b2, EXPB0);\
+  shufb(&b5, EXPB0);\
+  ;\
+  t0 = *(int128 *)(bskey + (i-1) * 128 +   0);\
+  t1 = *(int128 *)(bskey + (i-1) * 128 +  16);\
+  t2 = *(int128 *)(bskey + (i-1) * 128 +  32);\
+  t3 = *(int128 *)(bskey + (i-1) * 128 +  48);\
+  t4 = *(int128 *)(bskey + (i-1) * 128 +  64);\
+  t5 = *(int128 *)(bskey + (i-1) * 128 +  80);\
+  t6 = *(int128 *)(bskey + (i-1) * 128 +  96);\
+  t7 = *(int128 *)(bskey + (i-1) * 128 + 112);\
+  ;\
+  toggle(&t0);\
+  toggle(&t1);\
+  toggle(&t5);\
+  toggle(&t6);\
+  ;\
+  xor2(&b0, &t0);\
+  xor2(&b1, &t1);\
+  xor2(&b4, &t2);\
+  xor2(&b6, &t3);\
+  xor2(&b3, &t4);\
+  xor2(&b7, &t5);\
+  xor2(&b2, &t6);\
+  xor2(&b5, &t7);\
+  ;\
+  rshift32_littleendian(&t0, 8);\
+  rshift32_littleendian(&t1, 8);\
+  rshift32_littleendian(&t2, 8);\
+  rshift32_littleendian(&t3, 8);\
+  rshift32_littleendian(&t4, 8);\
+  rshift32_littleendian(&t5, 8);\
+  rshift32_littleendian(&t6, 8);\
+  rshift32_littleendian(&t7, 8);\
+  ;\
+  xor2(&b0, &t0);\
+  xor2(&b1, &t1);\
+  xor2(&b4, &t2);\
+  xor2(&b6, &t3);\
+  xor2(&b3, &t4);\
+  xor2(&b7, &t5);\
+  xor2(&b2, &t6);\
+  xor2(&b5, &t7);\
+  ;\
+  rshift32_littleendian(&t0, 8);\
+  rshift32_littleendian(&t1, 8);\
+  rshift32_littleendian(&t2, 8);\
+  rshift32_littleendian(&t3, 8);\
+  rshift32_littleendian(&t4, 8);\
+  rshift32_littleendian(&t5, 8);\
+  rshift32_littleendian(&t6, 8);\
+  rshift32_littleendian(&t7, 8);\
+  ;\
+  xor2(&b0, &t0);\
+  xor2(&b1, &t1);\
+  xor2(&b4, &t2);\
+  xor2(&b6, &t3);\
+  xor2(&b3, &t4);\
+  xor2(&b7, &t5);\
+  xor2(&b2, &t6);\
+  xor2(&b5, &t7);\
+  ;\
+  rshift32_littleendian(&t0, 8);\
+  rshift32_littleendian(&t1, 8);\
+  rshift32_littleendian(&t2, 8);\
+  rshift32_littleendian(&t3, 8);\
+  rshift32_littleendian(&t4, 8);\
+  rshift32_littleendian(&t5, 8);\
+  rshift32_littleendian(&t6, 8);\
+  rshift32_littleendian(&t7, 8);\
+  ;\
+  xor2(&b0, &t0);\
+  xor2(&b1, &t1);\
+  xor2(&b4, &t2);\
+  xor2(&b6, &t3);\
+  xor2(&b3, &t4);\
+  xor2(&b7, &t5);\
+  xor2(&b2, &t6);\
+  xor2(&b5, &t7);\
+  ;\
+  *(int128 *)(bskey + i*128 +   0) = b0;\
+  *(int128 *)(bskey + i*128 +  16) = b1;\
+  *(int128 *)(bskey + i*128 +  32) = b4;\
+  *(int128 *)(bskey + i*128 +  48) = b6;\
+  *(int128 *)(bskey + i*128 +  64) = b3;\
+  *(int128 *)(bskey + i*128 +  80) = b7;\
+  *(int128 *)(bskey + i*128 +  96) = b2;\
+  *(int128 *)(bskey + i*128 + 112) = b5;\
+
+/* Macros used in multiple contexts */
+
+#define bitslicekey0(key, bskey) \
+  xmm0 = *(const int128 *) (key + 0);\
+  shufb(&xmm0, M0);\
+  copy2(&xmm1, &xmm0);\
+  copy2(&xmm2, &xmm0);\
+  copy2(&xmm3, &xmm0);\
+  copy2(&xmm4, &xmm0);\
+  copy2(&xmm5, &xmm0);\
+  copy2(&xmm6, &xmm0);\
+  copy2(&xmm7, &xmm0);\
+  ;\
+  bitslice(xmm7, xmm6, xmm5, xmm4, xmm3, xmm2, xmm1, xmm0, t);\
+  ;\
+  *(int128 *) (bskey + 0) = xmm0;\
+  *(int128 *) (bskey + 16) = xmm1;\
+  *(int128 *) (bskey + 32) = xmm2;\
+  *(int128 *) (bskey + 48) = xmm3;\
+  *(int128 *) (bskey + 64) = xmm4;\
+  *(int128 *) (bskey + 80) = xmm5;\
+  *(int128 *) (bskey + 96) = xmm6;\
+  *(int128 *) (bskey + 112) = xmm7;\
+
+
+#define bitslicekey10(key, bskey) \
+  xmm0 = *(int128 *) (key + 0);\
+  copy2(xmm1, xmm0);\
+  copy2(xmm2, xmm0);\
+  copy2(xmm3, xmm0);\
+  copy2(xmm4, xmm0);\
+  copy2(xmm5, xmm0);\
+  copy2(xmm6, xmm0);\
+  copy2(xmm7, xmm0);\
+  ;\
+  bitslice(xmm7, xmm6, xmm5, xmm4, xmm3, xmm2, xmm1, xmm0, t);\
+  ;\
+  toggle(&xmm6);\
+  toggle(&xmm5);\
+  toggle(&xmm1);\
+  toggle(&xmm0);\
+  ;\
+  *(int128 *) (bskey +   0 + 1280) = xmm0;\
+  *(int128 *) (bskey +  16 + 1280) = xmm1;\
+  *(int128 *) (bskey +  32 + 1280) = xmm2;\
+  *(int128 *) (bskey +  48 + 1280) = xmm3;\
+  *(int128 *) (bskey +  64 + 1280) = xmm4;\
+  *(int128 *) (bskey +  80 + 1280) = xmm5;\
+  *(int128 *) (bskey +  96 + 1280) = xmm6;\
+  *(int128 *) (bskey + 112 + 1280) = xmm7;\
+
+
+#define bitslicekey(i,key,bskey) \
+  xmm0 = *(int128 *) (key + 0);\
+  shufb(&xmm0, M0);\
+  copy2(&xmm1, &xmm0);\
+  copy2(&xmm2, &xmm0);\
+  copy2(&xmm3, &xmm0);\
+  copy2(&xmm4, &xmm0);\
+  copy2(&xmm5, &xmm0);\
+  copy2(&xmm6, &xmm0);\
+  copy2(&xmm7, &xmm0);\
+  ;\
+  bitslice(xmm7, xmm6, xmm5, xmm4, xmm3, xmm2, xmm1, xmm0, t);\
+  ;\
+  toggle(&xmm6);\
+  toggle(&xmm5);\
+  toggle(&xmm1);\
+  toggle(&xmm0);\
+  ;\
+  *(int128 *) (bskey +   0 + 128*i) = xmm0;\
+  *(int128 *) (bskey +  16 + 128*i) = xmm1;\
+  *(int128 *) (bskey +  32 + 128*i) = xmm2;\
+  *(int128 *) (bskey +  48 + 128*i) = xmm3;\
+  *(int128 *) (bskey +  64 + 128*i) = xmm4;\
+  *(int128 *) (bskey +  80 + 128*i) = xmm5;\
+  *(int128 *) (bskey +  96 + 128*i) = xmm6;\
+  *(int128 *) (bskey + 112 + 128*i) = xmm7;\
+
+
+#define bitslice(x0, x1, x2, x3, x4, x5, x6, x7, t) \
+        swapmove(x0, x1, 1, BS0, t);\
+        swapmove(x2, x3, 1, BS0, t);\
+        swapmove(x4, x5, 1, BS0, t);\
+        swapmove(x6, x7, 1, BS0, t);\
+        ;\
+        swapmove(x0, x2, 2, BS1, t);\
+        swapmove(x1, x3, 2, BS1, t);\
+        swapmove(x4, x6, 2, BS1, t);\
+        swapmove(x5, x7, 2, BS1, t);\
+        ;\
+        swapmove(x0, x4, 4, BS2, t);\
+        swapmove(x1, x5, 4, BS2, t);\
+        swapmove(x2, x6, 4, BS2, t);\
+        swapmove(x3, x7, 4, BS2, t);\
+
+
+#define swapmove(a, b, n, m, t) \
+        copy2(&t, &b);\
+  rshift64_littleendian(&t, n);\
+        xor2(&t, &a);\
+  and2(&t, &m);\
+  xor2(&a, &t);\
+  lshift64_littleendian(&t, n);\
+  xor2(&b, &t);
+
+#define rotbyte(x) \
+  shufb(x, ROTB) /* TODO: Make faster */
+
+
+/* Macros used for encryption (and decryption) */
+
+#define shiftrows(x0, x1, x2, x3, x4, x5, x6, x7, i, M, bskey) \
+        xor2(&x0, (const int128 *)(bskey + 128*(i-1) + 0));\
+  shufb(&x0, M);\
+        xor2(&x1, (const int128 *)(bskey + 128*(i-1) + 16));\
+  shufb(&x1, M);\
+        xor2(&x2, (const int128 *)(bskey + 128*(i-1) + 32));\
+  shufb(&x2, M);\
+        xor2(&x3, (const int128 *)(bskey + 128*(i-1) + 48));\
+  shufb(&x3, M);\
+        xor2(&x4, (const int128 *)(bskey + 128*(i-1) + 64));\
+  shufb(&x4, M);\
+        xor2(&x5, (const int128 *)(bskey + 128*(i-1) + 80));\
+  shufb(&x5, M);\
+        xor2(&x6, (const int128 *)(bskey + 128*(i-1) + 96));\
+  shufb(&x6, M);\
+        xor2(&x7, (const int128 *)(bskey + 128*(i-1) + 112));\
+  shufb(&x7, M);\
+
+
+#define mixcolumns(x0, x1, x2, x3, x4, x5, x6, x7, t0, t1, t2, t3, t4, t5, t6, t7) \
+  shufd(&t0, &x0, 0x93);\
+  shufd(&t1, &x1, 0x93);\
+  shufd(&t2, &x2, 0x93);\
+  shufd(&t3, &x3, 0x93);\
+  shufd(&t4, &x4, 0x93);\
+  shufd(&t5, &x5, 0x93);\
+  shufd(&t6, &x6, 0x93);\
+  shufd(&t7, &x7, 0x93);\
+        ;\
+        xor2(&x0, &t0);\
+        xor2(&x1, &t1);\
+        xor2(&x2, &t2);\
+        xor2(&x3, &t3);\
+        xor2(&x4, &t4);\
+        xor2(&x5, &t5);\
+        xor2(&x6, &t6);\
+        xor2(&x7, &t7);\
+        ;\
+        xor2(&t0, &x7);\
+        xor2(&t1, &x0);\
+        xor2(&t2, &x1);\
+        xor2(&t1, &x7);\
+        xor2(&t3, &x2);\
+        xor2(&t4, &x3);\
+        xor2(&t5, &x4);\
+        xor2(&t3, &x7);\
+        xor2(&t6, &x5);\
+        xor2(&t7, &x6);\
+        xor2(&t4, &x7);\
+        ;\
+  shufd(&x0, &x0, 0x4e);\
+  shufd(&x1, &x1, 0x4e);\
+  shufd(&x2, &x2, 0x4e);\
+  shufd(&x3, &x3, 0x4e);\
+  shufd(&x4, &x4, 0x4e);\
+  shufd(&x5, &x5, 0x4e);\
+  shufd(&x6, &x6, 0x4e);\
+  shufd(&x7, &x7, 0x4e);\
+        ;\
+        xor2(&t0, &x0);\
+        xor2(&t1, &x1);\
+        xor2(&t2, &x2);\
+        xor2(&t3, &x3);\
+        xor2(&t4, &x4);\
+        xor2(&t5, &x5);\
+        xor2(&t6, &x6);\
+        xor2(&t7, &x7);\
+
+
+#define aesround(i, b0, b1, b2, b3, b4, b5, b6, b7, t0, t1, t2, t3, t4, t5, t6, t7, bskey) \
+        shiftrows(b0, b1, b2, b3, b4, b5, b6, b7, i, SR, bskey);\
+        sbox(b0, b1, b2, b3, b4, b5, b6, b7, t0, t1, t2, t3, t4, t5, t6, t7);\
+        mixcolumns(b0, b1, b4, b6, b3, b7, b2, b5, t0, t1, t2, t3, t4, t5, t6, t7);\
+
+
+#define lastround(b0, b1, b2, b3, b4, b5, b6, b7, t0, t1, t2, t3, t4, t5, t6, t7, bskey) \
+        shiftrows(b0, b1, b2, b3, b4, b5, b6, b7, 10, SRM0, bskey);\
+        sbox(b0, b1, b2, b3, b4, b5, b6, b7, t0, t1, t2, t3, t4, t5, t6, t7);\
+        xor2(&b0,(const int128 *)(bskey + 128*10));\
+        xor2(&b1,(const int128 *)(bskey + 128*10+16));\
+        xor2(&b4,(const int128 *)(bskey + 128*10+32));\
+        xor2(&b6,(const int128 *)(bskey + 128*10+48));\
+        xor2(&b3,(const int128 *)(bskey + 128*10+64));\
+        xor2(&b7,(const int128 *)(bskey + 128*10+80));\
+        xor2(&b2,(const int128 *)(bskey + 128*10+96));\
+        xor2(&b5,(const int128 *)(bskey + 128*10+112));\
+
+
+#define sbox(b0, b1, b2, b3, b4, b5, b6, b7, t0, t1, t2, t3, s0, s1, s2, s3) \
+        InBasisChange(b0, b1, b2, b3, b4, b5, b6, b7); \
+        Inv_GF256(b6, b5, b0, b3, b7, b1, b4, b2, t0, t1, t2, t3, s0, s1, s2, s3); \
+        OutBasisChange(b7, b1, b4, b2, b6, b5, b0, b3); \
+
+
+#define InBasisChange(b0, b1, b2, b3, b4, b5, b6, b7) \
+        xor2(&b5, &b6);\
+        xor2(&b2, &b1);\
+        xor2(&b5, &b0);\
+        xor2(&b6, &b2);\
+        xor2(&b3, &b0);\
+        ;\
+        xor2(&b6, &b3);\
+        xor2(&b3, &b7);\
+        xor2(&b3, &b4);\
+        xor2(&b7, &b5);\
+        xor2(&b3, &b1);\
+        ;\
+        xor2(&b4, &b5);\
+        xor2(&b2, &b7);\
+        xor2(&b1, &b5);\
+
+#define OutBasisChange(b0, b1, b2, b3, b4, b5, b6, b7) \
+        xor2(&b0, &b6);\
+        xor2(&b1, &b4);\
+        xor2(&b2, &b0);\
+        xor2(&b4, &b6);\
+        xor2(&b6, &b1);\
+        ;\
+        xor2(&b1, &b5);\
+        xor2(&b5, &b3);\
+        xor2(&b2, &b5);\
+        xor2(&b3, &b7);\
+        xor2(&b7, &b5);\
+        ;\
+        xor2(&b4, &b7);\
+
+#define Mul_GF4(x0, x1, y0, y1, t0) \
+        copy2(&t0, &y0);\
+        xor2(&t0, &y1);\
+        and2(&t0, &x0);\
+        xor2(&x0, &x1);\
+        and2(&x0, &y1);\
+        and2(&x1, &y0);\
+        xor2(&x0, &x1);\
+        xor2(&x1, &t0);\
+
+#define Mul_GF4_N(x0, x1, y0, y1, t0) \
+        copy2(&t0, &y0);\
+        xor2(&t0, &y1);\
+        and2(&t0, &x0);\
+        xor2(&x0, &x1);\
+        and2(&x0, &y1);\
+        and2(&x1, &y0);\
+        xor2(&x1, &x0);\
+        xor2(&x0, &t0);\
+
+#define Mul_GF4_2(x0, x1, x2, x3, y0, y1, t0, t1) \
+        copy2(&t0, = y0);\
+        xor2(&t0, &y1);\
+        copy2(&t1, &t0);\
+        and2(&t0, &x0);\
+        and2(&t1, &x2);\
+        xor2(&x0, &x1);\
+        xor2(&x2, &x3);\
+        and2(&x0, &y1);\
+        and2(&x2, &y1);\
+        and2(&x1, &y0);\
+        and2(&x3, &y0);\
+        xor2(&x0, &x1);\
+        xor2(&x2, &x3);\
+        xor2(&x1, &t0);\
+        xor2(&x3, &t1);\
+
+#define Mul_GF16(x0, x1, x2, x3, y0, y1, y2, y3, t0, t1, t2, t3) \
+        copy2(&t0, &x0);\
+        copy2(&t1, &x1);\
+        Mul_GF4(x0, x1, y0, y1, t2);\
+        xor2(&t0, &x2);\
+        xor2(&t1, &x3);\
+        xor2(&y0, &y2);\
+        xor2(&y1, &y3);\
+        Mul_GF4_N(t0, t1, y0, y1, t2);\
+        Mul_GF4(x2, x3, y2, y3, t3);\
+        ;\
+        xor2(&x0, &t0);\
+        xor2(&x2, &t0);\
+        xor2(&x1, &t1);\
+        xor2(&x3, &t1);\
+
+#define Mul_GF16_2(x0, x1, x2, x3, x4, x5, x6, x7, y0, y1, y2, y3, t0, t1, t2, t3) \
+        copy2(&t0, &x0);\
+        copy2(&t1, &x1);\
+        Mul_GF4(x0, x1, y0, y1, t2);\
+        xor2(&t0, &x2);\
+        xor2(&t1, &x3);\
+        xor2(&y0, &y2);\
+        xor2(&y1, &y3);\
+        Mul_GF4_N(t0, t1, y0, y1, t3);\
+        Mul_GF4(x2, x3, y2, y3, t2);\
+        ;\
+        xor2(&x0, &t0);\
+        xor2(&x2, &t0);\
+        xor2(&x1, &t1);\
+        xor2(&x3, &t1);\
+        ;\
+        copy2(&t0, &x4);\
+        copy2(&t1, &x5);\
+        xor2(&t0, &x6);\
+        xor2(&t1, &x7);\
+        Mul_GF4_N(t0, t1, y0, y1, t3);\
+        Mul_GF4(x6, x7, y2, y3, t2);\
+        xor2(&y0, &y2);\
+        xor2(&y1, &y3);\
+        Mul_GF4(x4, x5, y0, y1, t3);\
+        ;\
+        xor2(&x4, &t0);\
+        xor2(&x6, &t0);\
+        xor2(&x5, &t1);\
+        xor2(&x7, &t1);\
+
+#define Inv_GF16(x0, x1, x2, x3, t0, t1, t2, t3) \
+        copy2(&t0, &x1);\
+        copy2(&t1, &x0);\
+        and2(&t0, &x3);\
+        or2(&t1, &x2);\
+        copy2(&t2, &x1);\
+        copy2(&t3, &x0);\
+        or2(&t2, &x2);\
+        or2(&t3, &x3);\
+        xor2(&t2, &t3);\
+        ;\
+        xor2(&t0, &t2);\
+        xor2(&t1, &t2);\
+        ;\
+        Mul_GF4_2(x0, x1, x2, x3, t1, t0, t2, t3);\
+
+
+#define Inv_GF256(x0,  x1, x2, x3, x4, x5, x6, x7, t0, t1, t2, t3, s0, s1, s2, s3) \
+        copy2(&t3, &x4);\
+        copy2(&t2, &x5);\
+        copy2(&t1, &x1);\
+        copy2(&s1, &x7);\
+        copy2(&s0, &x0);\
+        ;\
+        xor2(&t3, &x6);\
+        xor2(&t2, &x7);\
+        xor2(&t1, &x3);\
+        xor2(&s1, &x6);\
+        xor2(&s0, &x2);\
+        ;\
+        copy2(&s2, &t3);\
+        copy2(&t0, &t2);\
+        copy2(&s3, &t3);\
+        ;\
+        or2(&t2, &t1);\
+        or2(&t3, &s0);\
+        xor2(&s3, &t0);\
+        and2(&s2, &s0);\
+        and2(&t0, &t1);\
+        xor2(&s0, &t1);\
+        and2(&s3, &s0);\
+        copy2(&s0, &x3);\
+        xor2(&s0, &x2);\
+        and2(&s1, &s0);\
+        xor2(&t3, &s1);\
+        xor2(&t2, &s1);\
+        copy2(&s1, &x4);\
+        xor2(&s1, &x5);\
+        copy2(&s0, &x1);\
+        copy2(&t1, &s1);\
+        xor2(&s0, &x0);\
+        or2(&t1, &s0);\
+        and2(&s1, &s0);\
+        xor2(&t0, &s1);\
+        xor2(&t3, &s3);\
+        xor2(&t2, &s2);\
+        xor2(&t1, &s3);\
+        xor2(&t0, &s2);\
+        xor2(&t1, &s2);\
+        copy2(&s0, &x7);\
+        copy2(&s1, &x6);\
+        copy2(&s2, &x5);\
+        copy2(&s3, &x4);\
+        and2(&s0, &x3);\
+        and2(&s1, &x2);\
+        and2(&s2, &x1);\
+        or2(&s3, &x0);\
+        xor2(&t3, &s0);\
+        xor2(&t2, &s1);\
+        xor2(&t1, &s2);\
+        xor2(&t0, &s3);\
+  ;\
+  copy2(&s0, &t3);\
+  xor2(&s0, &t2);\
+  and2(&t3, &t1);\
+  copy2(&s2, &t0);\
+  xor2(&s2, &t3);\
+  copy2(&s3, &s0);\
+  and2(&s3, &s2);\
+  xor2(&s3, &t2);\
+  copy2(&s1, &t1);\
+  xor2(&s1, &t0);\
+  xor2(&t3, &t2);\
+  and2(&s1, &t3);\
+  xor2(&s1, &t0);\
+  xor2(&t1, &s1);\
+  copy2(&t2, &s2);\
+  xor2(&t2, &s1);\
+  and2(&t2, &t0);\
+  xor2(&t1, &t2);\
+  xor2(&s2, &t2);\
+  and2(&s2, &s3);\
+  xor2(&s2, &s0);\
+  ;\
+  Mul_GF16_2(x0, x1, x2, x3, x4, x5, x6, x7, s3, s2, s1, t1, s0, t0, t2, t3);\
+
+#endif
diff --git a/src/libsodium/src/libsodium/crypto_stream/aes128ctr/portable/common_aes128ctr.c b/src/libsodium/src/libsodium/crypto_stream/aes128ctr/portable/common_aes128ctr.c
new file mode 100644
index 00000000..14a28cc6
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_stream/aes128ctr/portable/common_aes128ctr.c
@@ -0,0 +1,64 @@
+#include "common.h"
+
+uint32 load32_bigendian(const unsigned char *x)
+{
+  return
+      (uint32) (x[3]) \
+  | (((uint32) (x[2])) << 8) \
+  | (((uint32) (x[1])) << 16) \
+  | (((uint32) (x[0])) << 24)
+  ;
+}
+
+void store32_bigendian(unsigned char *x,uint32 u)
+{
+  x[3] = u; u >>= 8;
+  x[2] = u; u >>= 8;
+  x[1] = u; u >>= 8;
+  x[0] = u;
+}
+
+uint32 load32_littleendian(const unsigned char *x)
+{
+  return
+      (uint32) (x[0]) \
+  | (((uint32) (x[1])) << 8) \
+  | (((uint32) (x[2])) << 16) \
+  | (((uint32) (x[3])) << 24)
+  ;
+}
+
+void store32_littleendian(unsigned char *x,uint32 u)
+{
+  x[0] = u; u >>= 8;
+  x[1] = u; u >>= 8;
+  x[2] = u; u >>= 8;
+  x[3] = u;
+}
+
+
+uint64 load64_littleendian(const unsigned char *x)
+{
+  return
+      (uint64) (x[0]) \
+  | (((uint64) (x[1])) << 8) \
+  | (((uint64) (x[2])) << 16) \
+  | (((uint64) (x[3])) << 24)
+  | (((uint64) (x[4])) << 32)
+  | (((uint64) (x[5])) << 40)
+  | (((uint64) (x[6])) << 48)
+  | (((uint64) (x[7])) << 56)
+  ;
+}
+
+void store64_littleendian(unsigned char *x,uint64 u)
+{
+  x[0] = u; u >>= 8;
+  x[1] = u; u >>= 8;
+  x[2] = u; u >>= 8;
+  x[3] = u; u >>= 8;
+  x[4] = u; u >>= 8;
+  x[5] = u; u >>= 8;
+  x[6] = u; u >>= 8;
+  x[7] = u;
+}
diff --git a/src/libsodium/src/libsodium/crypto_stream/aes128ctr/portable/consts.h b/src/libsodium/src/libsodium/crypto_stream/aes128ctr/portable/consts.h
new file mode 100644
index 00000000..4c50360b
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_stream/aes128ctr/portable/consts.h
@@ -0,0 +1,28 @@
+#ifndef CONSTS_H
+#define CONSTS_H
+
+#include "int128.h"
+
+#define ROTB crypto_stream_aes128ctr_portable_ROTB
+#define M0 crypto_stream_aes128ctr_portable_M0
+#define EXPB0 crypto_stream_aes128ctr_portable_EXPB0
+#define SWAP32 crypto_stream_aes128ctr_portable_SWAP32
+#define M0SWAP crypto_stream_aes128ctr_portable_M0SWAP
+#define SR crypto_stream_aes128ctr_portable_SR
+#define SRM0 crypto_stream_aes128ctr_portable_SRM0
+#define BS0 crypto_stream_aes128ctr_portable_BS0
+#define BS1 crypto_stream_aes128ctr_portable_BS1
+#define BS2 crypto_stream_aes128ctr_portable_BS2
+
+extern const unsigned char ROTB[16];
+extern const unsigned char M0[16];
+extern const unsigned char EXPB0[16];
+extern const unsigned char SWAP32[16];
+extern const unsigned char M0SWAP[16];
+extern const unsigned char SR[16];
+extern const unsigned char SRM0[16];
+extern const int128 BS0;
+extern const int128 BS1;
+extern const int128 BS2;
+
+#endif
diff --git a/src/libsodium/src/libsodium/crypto_stream/aes128ctr/portable/consts_aes128ctr.c b/src/libsodium/src/libsodium/crypto_stream/aes128ctr/portable/consts_aes128ctr.c
new file mode 100644
index 00000000..72296c04
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_stream/aes128ctr/portable/consts_aes128ctr.c
@@ -0,0 +1,14 @@
+#include "consts.h"
+
+const unsigned char ROTB[16] = {0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x08};
+const unsigned char M0[16]   = {0x0f, 0x0b, 0x07, 0x03, 0x0e, 0x0a, 0x06, 0x02, 0x0d, 0x09, 0x05, 0x01, 0x0c, 0x08, 0x04, 0x00};
+const unsigned char EXPB0[16] = {0x03, 0x03, 0x03, 0x03, 0x07, 0x07, 0x07, 0x07, 0x0b, 0x0b, 0x0b, 0x0b, 0x0f, 0x0f, 0x0f, 0x0f};
+
+const unsigned char SWAP32[16] = {0x03, 0x02, 0x01, 0x00, 0x07, 0x06, 0x05, 0x04, 0x0b, 0x0a, 0x09, 0x08, 0x0f, 0x0e, 0x0d, 0x0c};
+const unsigned char M0SWAP[16] = {0x0c, 0x08, 0x04, 0x00, 0x0d, 0x09, 0x05, 0x01, 0x0e, 0x0a, 0x06, 0x02, 0x0f, 0x0b, 0x07, 0x03};
+const unsigned char SR[16] = {0x01, 0x02, 0x03, 0x00, 0x06, 0x07, 0x04, 0x05, 0x0b, 0x08, 0x09, 0x0a, 0x0c, 0x0d, 0x0e, 0x0f};
+const unsigned char SRM0[16] = {0x0f, 0x0a, 0x05, 0x00, 0x0e, 0x09, 0x04, 0x03, 0x0d, 0x08, 0x07, 0x02, 0x0c, 0x0b, 0x06, 0x01};
+
+const int128 BS0 = {0x5555555555555555ULL, 0x5555555555555555ULL};
+const int128 BS1 = {0x3333333333333333ULL, 0x3333333333333333ULL};
+const int128 BS2 = {0x0f0f0f0f0f0f0f0fULL, 0x0f0f0f0f0f0f0f0fULL};
diff --git a/src/libsodium/src/libsodium/crypto_stream/aes128ctr/portable/int128.h b/src/libsodium/src/libsodium/crypto_stream/aes128ctr/portable/int128.h
new file mode 100644
index 00000000..7099e5b1
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_stream/aes128ctr/portable/int128.h
@@ -0,0 +1,47 @@
+#ifndef INT128_H
+#define INT128_H
+
+#include "common.h"
+
+typedef struct{
+  unsigned long long a;
+  unsigned long long b;
+} int128;
+
+#define xor2 crypto_stream_aes128ctr_portable_xor2
+void xor2(int128 *r, const int128 *x);
+
+#define and2 crypto_stream_aes128ctr_portable_and2
+void and2(int128 *r, const int128 *x);
+
+#define or2 crypto_stream_aes128ctr_portable_or2
+void or2(int128 *r, const int128 *x);
+
+#define copy2 crypto_stream_aes128ctr_portable_copy2
+void copy2(int128 *r, const int128 *x);
+
+#define shufb crypto_stream_aes128ctr_portable_shufb
+void shufb(int128 *r, const unsigned char *l);
+
+#define shufd crypto_stream_aes128ctr_portable_shufd
+void shufd(int128 *r, const int128 *x, const unsigned int c);
+
+#define rshift32_littleendian crypto_stream_aes128ctr_portable_rshift32_littleendian
+void rshift32_littleendian(int128 *r, const unsigned int n);
+
+#define rshift64_littleendian crypto_stream_aes128ctr_portable_rshift64_littleendian
+void rshift64_littleendian(int128 *r, const unsigned int n);
+
+#define lshift64_littleendian crypto_stream_aes128ctr_portable_lshift64_littleendian
+void lshift64_littleendian(int128 *r, const unsigned int n);
+
+#define toggle crypto_stream_aes128ctr_portable_toggle
+void toggle(int128 *r);
+
+#define xor_rcon crypto_stream_aes128ctr_portable_xor_rcon
+void xor_rcon(int128 *r);
+
+#define add_uint32_big crypto_stream_aes128ctr_portable_add_uint32_big
+void add_uint32_big(int128 *r, uint32 x);
+
+#endif
diff --git a/src/libsodium/src/libsodium/crypto_stream/aes128ctr/portable/int128_aes128ctr.c b/src/libsodium/src/libsodium/crypto_stream/aes128ctr/portable/int128_aes128ctr.c
new file mode 100644
index 00000000..5433bd60
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_stream/aes128ctr/portable/int128_aes128ctr.c
@@ -0,0 +1,128 @@
+#include "int128.h"
+#include "common.h"
+
+void xor2(int128 *r, const int128 *x)
+{
+  r->a ^= x->a;
+  r->b ^= x->b;
+}
+
+void and2(int128 *r, const int128 *x)
+{
+  r->a &= x->a;
+  r->b &= x->b;
+}
+
+void or2(int128 *r, const int128 *x)
+{
+  r->a |= x->a;
+  r->b |= x->b;
+}
+
+void copy2(int128 *r, const int128 *x)
+{
+  r->a = x->a;
+  r->b = x->b;
+}
+
+void shufb(int128 *r, const unsigned char *l)
+{
+  int128 t;
+  copy2(&t,r);
+  unsigned char *cr = (unsigned char *)r;
+  unsigned char *ct = (unsigned char *)&t;
+  cr[0] = ct[l[0]];
+  cr[1] = ct[l[1]];
+  cr[2] = ct[l[2]];
+  cr[3] = ct[l[3]];
+  cr[4] = ct[l[4]];
+  cr[5] = ct[l[5]];
+  cr[6] = ct[l[6]];
+  cr[7] = ct[l[7]];
+  cr[8] = ct[l[8]];
+  cr[9] = ct[l[9]];
+  cr[10] = ct[l[10]];
+  cr[11] = ct[l[11]];
+  cr[12] = ct[l[12]];
+  cr[13] = ct[l[13]];
+  cr[14] = ct[l[14]];
+  cr[15] = ct[l[15]];
+}
+
+void shufd(int128 *r, const int128 *x, const unsigned int c)
+{
+  int128 t;
+  uint32 *tp = (uint32 *)&t;
+  const uint32 *xp = (const uint32 *)x;
+  tp[0] = xp[c&3];
+  tp[1] = xp[(c>>2)&3];
+  tp[2] = xp[(c>>4)&3];
+  tp[3] = xp[(c>>6)&3];
+  copy2(r,&t);
+}
+
+void rshift32_littleendian(int128 *r, const unsigned int n)
+{
+  unsigned char *rp = (unsigned char *)r;
+  uint32 t;
+  t = load32_littleendian(rp);
+  t >>= n;
+  store32_littleendian(rp, t);
+  t = load32_littleendian(rp+4);
+  t >>= n;
+  store32_littleendian(rp+4, t);
+  t = load32_littleendian(rp+8);
+  t >>= n;
+  store32_littleendian(rp+8, t);
+  t = load32_littleendian(rp+12);
+  t >>= n;
+  store32_littleendian(rp+12, t);
+}
+
+void rshift64_littleendian(int128 *r, const unsigned int n)
+{
+  unsigned char *rp = (unsigned char *)r;
+  uint64 t;
+  t = load64_littleendian(rp);
+  t >>= n;
+  store64_littleendian(rp, t);
+  t = load64_littleendian(rp+8);
+  t >>= n;
+  store64_littleendian(rp+8, t);
+}
+
+void lshift64_littleendian(int128 *r, const unsigned int n)
+{
+  unsigned char *rp = (unsigned char *)r;
+  uint64 t;
+  t = load64_littleendian(rp);
+  t <<= n;
+  store64_littleendian(rp, t);
+  t = load64_littleendian(rp+8);
+  t <<= n;
+  store64_littleendian(rp+8, t);
+}
+
+void toggle(int128 *r)
+{
+  r->a ^= 0xffffffffffffffffULL;
+  r->b ^= 0xffffffffffffffffULL;
+}
+
+void xor_rcon(int128 *r)
+{
+  unsigned char *rp = (unsigned char *)r;
+  uint32 t;
+  t = load32_littleendian(rp+12);
+  t ^= 0xffffffff;
+  store32_littleendian(rp+12, t);
+}
+
+void add_uint32_big(int128 *r, uint32 x)
+{
+  unsigned char *rp = (unsigned char *)r;
+  uint32 t;
+  t = load32_littleendian(rp+12);
+  t += x;
+  store32_littleendian(rp+12, t);
+}
diff --git a/src/libsodium/src/libsodium/crypto_stream/aes128ctr/portable/stream_aes128ctr.c b/src/libsodium/src/libsodium/crypto_stream/aes128ctr/portable/stream_aes128ctr.c
new file mode 100644
index 00000000..8f4ec72a
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_stream/aes128ctr/portable/stream_aes128ctr.c
@@ -0,0 +1,28 @@
+#include "api.h"
+
+int crypto_stream(
+        unsigned char *out,
+        unsigned long long outlen,
+        const unsigned char *n,
+        const unsigned char *k
+        )
+{
+    unsigned char d[crypto_stream_BEFORENMBYTES];
+    crypto_stream_beforenm(d, k);
+    crypto_stream_afternm(out, outlen, n, d);
+    return 0;
+}
+
+int crypto_stream_xor(
+        unsigned char *out,
+        const unsigned char *in,
+        unsigned long long inlen,
+        const unsigned char *n,
+        const unsigned char *k
+        )
+{
+    unsigned char d[crypto_stream_BEFORENMBYTES];
+    crypto_stream_beforenm(d, k);
+    crypto_stream_xor_afternm(out, in, inlen, n, d);
+    return 0;
+}
diff --git a/src/libsodium/src/libsodium/crypto_stream/aes128ctr/portable/types.h b/src/libsodium/src/libsodium/crypto_stream/aes128ctr/portable/types.h
new file mode 100644
index 00000000..6aa502fc
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_stream/aes128ctr/portable/types.h
@@ -0,0 +1,10 @@
+#ifndef TYPES_H
+#define TYPES_H
+
+#include "crypto_uint32.h"
+typedef crypto_uint32 uint32;
+
+#include "crypto_uint64.h"
+typedef crypto_uint64 uint64;
+
+#endif
diff --git a/src/libsodium/src/libsodium/crypto_stream/aes128ctr/portable/xor_afternm_aes128ctr.c b/src/libsodium/src/libsodium/crypto_stream/aes128ctr/portable/xor_afternm_aes128ctr.c
new file mode 100644
index 00000000..def7011a
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_stream/aes128ctr/portable/xor_afternm_aes128ctr.c
@@ -0,0 +1,180 @@
+/* Author: Peter Schwabe, ported from an assembly implementation by Emilia Käsper
+ * Date: 2009-03-19
+ * Public domain */
+
+#include <stdio.h>
+#include "api.h"
+#include "int128.h"
+#include "common.h"
+#include "consts.h"
+
+int crypto_stream_xor_afternm(unsigned char *outp, const unsigned char *inp, unsigned long long len, const unsigned char *noncep, const unsigned char *c)
+{
+
+  int128 xmm0;
+  int128 xmm1;
+  int128 xmm2;
+  int128 xmm3;
+  int128 xmm4;
+  int128 xmm5;
+  int128 xmm6;
+  int128 xmm7;
+
+  int128 xmm8;
+  int128 xmm9;
+  int128 xmm10;
+  int128 xmm11;
+  int128 xmm12;
+  int128 xmm13;
+  int128 xmm14;
+  int128 xmm15;
+
+  int128 nonce_stack;
+  unsigned long long lensav;
+  unsigned char bl[128];
+  unsigned char *blp;
+  unsigned char b;
+
+  uint32 tmp;
+
+  /* Copy nonce on the stack */
+  copy2(&nonce_stack, (const int128 *) (noncep + 0));
+  unsigned char *np = (unsigned char *)&nonce_stack;
+
+    enc_block:
+
+    xmm0 = *(int128 *) (np + 0);
+    copy2(&xmm1, &xmm0);
+    shufb(&xmm1, SWAP32);
+    copy2(&xmm2, &xmm1);
+    copy2(&xmm3, &xmm1);
+    copy2(&xmm4, &xmm1);
+    copy2(&xmm5, &xmm1);
+    copy2(&xmm6, &xmm1);
+    copy2(&xmm7, &xmm1);
+
+    add_uint32_big(&xmm1, 1);
+    add_uint32_big(&xmm2, 2);
+    add_uint32_big(&xmm3, 3);
+    add_uint32_big(&xmm4, 4);
+    add_uint32_big(&xmm5, 5);
+    add_uint32_big(&xmm6, 6);
+    add_uint32_big(&xmm7, 7);
+
+    shufb(&xmm0, M0);
+    shufb(&xmm1, M0SWAP);
+    shufb(&xmm2, M0SWAP);
+    shufb(&xmm3, M0SWAP);
+    shufb(&xmm4, M0SWAP);
+    shufb(&xmm5, M0SWAP);
+    shufb(&xmm6, M0SWAP);
+    shufb(&xmm7, M0SWAP);
+
+    bitslice(xmm7, xmm6, xmm5, xmm4, xmm3, xmm2, xmm1, xmm0, xmm8)
+
+    aesround( 1, xmm0, xmm1, xmm2, xmm3, xmm4, xmm5, xmm6, xmm7, xmm8, xmm9, xmm10, xmm11, xmm12, xmm13, xmm14, xmm15,c)
+    aesround( 2, xmm8, xmm9, xmm10, xmm11, xmm12, xmm13, xmm14, xmm15, xmm0, xmm1, xmm2, xmm3, xmm4, xmm5, xmm6, xmm7,c)
+    aesround( 3, xmm0, xmm1, xmm2, xmm3, xmm4, xmm5, xmm6, xmm7, xmm8, xmm9, xmm10, xmm11, xmm12, xmm13, xmm14, xmm15,c)
+    aesround( 4, xmm8, xmm9, xmm10, xmm11, xmm12, xmm13, xmm14, xmm15, xmm0, xmm1, xmm2, xmm3, xmm4, xmm5, xmm6, xmm7,c)
+    aesround( 5, xmm0, xmm1, xmm2, xmm3, xmm4, xmm5, xmm6, xmm7, xmm8, xmm9, xmm10, xmm11, xmm12, xmm13, xmm14, xmm15,c)
+    aesround( 6, xmm8, xmm9, xmm10, xmm11, xmm12, xmm13, xmm14, xmm15, xmm0, xmm1, xmm2, xmm3, xmm4, xmm5, xmm6, xmm7,c)
+    aesround( 7, xmm0, xmm1, xmm2, xmm3, xmm4, xmm5, xmm6, xmm7, xmm8, xmm9, xmm10, xmm11, xmm12, xmm13, xmm14, xmm15,c)
+    aesround( 8, xmm8, xmm9, xmm10, xmm11, xmm12, xmm13, xmm14, xmm15, xmm0, xmm1, xmm2, xmm3, xmm4, xmm5, xmm6, xmm7,c)
+    aesround( 9, xmm0, xmm1, xmm2, xmm3, xmm4, xmm5, xmm6, xmm7, xmm8, xmm9, xmm10, xmm11, xmm12, xmm13, xmm14, xmm15,c)
+    lastround(xmm8, xmm9, xmm10, xmm11, xmm12, xmm13, xmm14, xmm15, xmm0, xmm1, xmm2, xmm3, xmm4, xmm5, xmm6, xmm7,c)
+
+    bitslice(xmm13, xmm10, xmm15, xmm11, xmm14, xmm12, xmm9, xmm8, xmm0)
+
+    if(len < 128) goto partial;
+    if(len == 128) goto full;
+
+    tmp = load32_bigendian(np + 12);
+    tmp += 8;
+    store32_bigendian(np + 12, tmp);
+
+    xor2(&xmm8, (const int128 *)(inp + 0));
+    xor2(&xmm9, (const int128 *)(inp + 16));
+    xor2(&xmm12, (const int128 *)(inp + 32));
+    xor2(&xmm14, (const int128 *)(inp + 48));
+    xor2(&xmm11, (const int128 *)(inp + 64));
+    xor2(&xmm15, (const int128 *)(inp + 80));
+    xor2(&xmm10, (const int128 *)(inp + 96));
+    xor2(&xmm13, (const int128 *)(inp + 112));
+
+    *(int128 *) (outp + 0) = xmm8;
+    *(int128 *) (outp + 16) = xmm9;
+    *(int128 *) (outp + 32) = xmm12;
+    *(int128 *) (outp + 48) = xmm14;
+    *(int128 *) (outp + 64) = xmm11;
+    *(int128 *) (outp + 80) = xmm15;
+    *(int128 *) (outp + 96) = xmm10;
+    *(int128 *) (outp + 112) = xmm13;
+
+    len -= 128;
+    inp += 128;
+    outp += 128;
+
+    goto enc_block;
+
+    partial:
+
+    lensav = len;
+    len >>= 4;
+
+    tmp = load32_bigendian(np + 12);
+    tmp += len;
+    store32_bigendian(np + 12, tmp);
+
+    blp = bl;
+    *(int128 *)(blp + 0) = xmm8;
+    *(int128 *)(blp + 16) = xmm9;
+    *(int128 *)(blp + 32) = xmm12;
+    *(int128 *)(blp + 48) = xmm14;
+    *(int128 *)(blp + 64) = xmm11;
+    *(int128 *)(blp + 80) = xmm15;
+    *(int128 *)(blp + 96) = xmm10;
+    *(int128 *)(blp + 112) = xmm13;
+
+    bytes:
+
+    if(lensav == 0) goto end;
+
+    b = blp[0]; /* clang false positive */
+    b ^= *(const unsigned char *)(inp + 0);
+    *(unsigned char *)(outp + 0) = b;
+
+    blp += 1;
+    inp +=1;
+    outp +=1;
+    lensav -= 1;
+
+    goto bytes;
+
+    full:
+
+    tmp = load32_bigendian(np + 12);
+    tmp += 8;
+    store32_bigendian(np + 12, tmp);
+
+    xor2(&xmm8, (const int128 *)(inp + 0));
+    xor2(&xmm9, (const int128 *)(inp + 16));
+    xor2(&xmm12, (const int128 *)(inp + 32));
+    xor2(&xmm14, (const int128 *)(inp + 48));
+    xor2(&xmm11, (const int128 *)(inp + 64));
+    xor2(&xmm15, (const int128 *)(inp + 80));
+    xor2(&xmm10, (const int128 *)(inp + 96));
+    xor2(&xmm13, (const int128 *)(inp + 112));
+
+    *(int128 *) (outp + 0) = xmm8;
+    *(int128 *) (outp + 16) = xmm9;
+    *(int128 *) (outp + 32) = xmm12;
+    *(int128 *) (outp + 48) = xmm14;
+    *(int128 *) (outp + 64) = xmm11;
+    *(int128 *) (outp + 80) = xmm15;
+    *(int128 *) (outp + 96) = xmm10;
+    *(int128 *) (outp + 112) = xmm13;
+
+    end:
+    return 0;
+
+}
diff --git a/src/libsodium/src/libsodium/crypto_stream/aes128ctr/stream_aes128ctr_api.c b/src/libsodium/src/libsodium/crypto_stream/aes128ctr/stream_aes128ctr_api.c
new file mode 100644
index 00000000..350494ef
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_stream/aes128ctr/stream_aes128ctr_api.c
@@ -0,0 +1,21 @@
+#include "crypto_stream_aes128ctr.h"
+
+size_t
+crypto_stream_aes128ctr_keybytes(void) {
+    return crypto_stream_aes128ctr_KEYBYTES;
+}
+
+size_t
+crypto_stream_aes128ctr_noncebytes(void) {
+    return crypto_stream_aes128ctr_NONCEBYTES;
+}
+
+size_t
+crypto_stream_aes128ctr_beforenmbytes(void) {
+    return crypto_stream_aes128ctr_BEFORENMBYTES;
+}
+
+const char *
+crypto_stream_aes128ctr_primitive(void) {
+    return "aes128ctr";
+}
diff --git a/src/libsodium/src/libsodium/crypto_stream/aes256estream/hongjun/aes-table.h b/src/libsodium/src/libsodium/crypto_stream/aes256estream/hongjun/aes-table.h
new file mode 100644
index 00000000..827e9330
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_stream/aes256estream/hongjun/aes-table.h
@@ -0,0 +1,309 @@
+static const unsigned char Rcon[31] =
+{
+        0x0, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20,
+        0x40, 0x80, 0x1b, 0x36, 0x6c, 0xc0,
+        0xab, 0x4d, 0x9a, 0x2f, 0x5e, 0xbc,
+        0x63, 0xc6, 0x97, 0x35, 0x6a, 0xd4,
+        0xb3, 0x7d, 0xfa, 0xef, 0xc5, 0x91
+};
+
+
+static const unsigned char Sbox[256] = {
+        0x63, 0x7c, 0x77, 0x7b, 0xf2, 0x6b, 0x6f, 0xc5,
+        0x30, 0x01, 0x67, 0x2b, 0xfe, 0xd7, 0xab, 0x76,
+        0xca, 0x82, 0xc9, 0x7d, 0xfa, 0x59, 0x47, 0xf0,
+        0xad, 0xd4, 0xa2, 0xaf, 0x9c, 0xa4, 0x72, 0xc0,
+        0xb7, 0xfd, 0x93, 0x26, 0x36, 0x3f, 0xf7, 0xcc,
+        0x34, 0xa5, 0xe5, 0xf1, 0x71, 0xd8, 0x31, 0x15,
+        0x04, 0xc7, 0x23, 0xc3, 0x18, 0x96, 0x05, 0x9a,
+        0x07, 0x12, 0x80, 0xe2, 0xeb, 0x27, 0xb2, 0x75,
+        0x09, 0x83, 0x2c, 0x1a, 0x1b, 0x6e, 0x5a, 0xa0,
+        0x52, 0x3b, 0xd6, 0xb3, 0x29, 0xe3, 0x2f, 0x84,
+        0x53, 0xd1, 0x00, 0xed, 0x20, 0xfc, 0xb1, 0x5b,
+        0x6a, 0xcb, 0xbe, 0x39, 0x4a, 0x4c, 0x58, 0xcf,
+        0xd0, 0xef, 0xaa, 0xfb, 0x43, 0x4d, 0x33, 0x85,
+        0x45, 0xf9, 0x02, 0x7f, 0x50, 0x3c, 0x9f, 0xa8,
+        0x51, 0xa3, 0x40, 0x8f, 0x92, 0x9d, 0x38, 0xf5,
+        0xbc, 0xb6, 0xda, 0x21, 0x10, 0xff, 0xf3, 0xd2,
+        0xcd, 0x0c, 0x13, 0xec, 0x5f, 0x97, 0x44, 0x17,
+        0xc4, 0xa7, 0x7e, 0x3d, 0x64, 0x5d, 0x19, 0x73,
+        0x60, 0x81, 0x4f, 0xdc, 0x22, 0x2a, 0x90, 0x88,
+        0x46, 0xee, 0xb8, 0x14, 0xde, 0x5e, 0x0b, 0xdb,
+        0xe0, 0x32, 0x3a, 0x0a, 0x49, 0x06, 0x24, 0x5c,
+        0xc2, 0xd3, 0xac, 0x62, 0x91, 0x95, 0xe4, 0x79,
+        0xe7, 0xc8, 0x37, 0x6d, 0x8d, 0xd5, 0x4e, 0xa9,
+        0x6c, 0x56, 0xf4, 0xea, 0x65, 0x7a, 0xae, 0x08,
+        0xba, 0x78, 0x25, 0x2e, 0x1c, 0xa6, 0xb4, 0xc6,
+        0xe8, 0xdd, 0x74, 0x1f, 0x4b, 0xbd, 0x8b, 0x8a,
+        0x70, 0x3e, 0xb5, 0x66, 0x48, 0x03, 0xf6, 0x0e,
+        0x61, 0x35, 0x57, 0xb9, 0x86, 0xc1, 0x1d, 0x9e,
+        0xe1, 0xf8, 0x98, 0x11, 0x69, 0xd9, 0x8e, 0x94,
+        0x9b, 0x1e, 0x87, 0xe9, 0xce, 0x55, 0x28, 0xdf,
+        0x8c, 0xa1, 0x89, 0x0d, 0xbf, 0xe6, 0x42, 0x68,
+        0x41, 0x99, 0x2d, 0x0f, 0xb0, 0x54, 0xbb, 0x16};
+
+unsigned int T0[256] = {
+0xa56363c6, 0x847c7cf8, 0x997777ee, 0x8d7b7bf6,
+0xdf2f2ff,  0xbd6b6bd6, 0xb16f6fde, 0x54c5c591,
+0x50303060, 0x3010102,  0xa96767ce, 0x7d2b2b56,
+0x19fefee7, 0x62d7d7b5, 0xe6abab4d, 0x9a7676ec,
+0x45caca8f, 0x9d82821f, 0x40c9c989, 0x877d7dfa,
+0x15fafaef, 0xeb5959b2, 0xc947478e, 0xbf0f0fb,
+0xecadad41, 0x67d4d4b3, 0xfda2a25f, 0xeaafaf45,
+0xbf9c9c23, 0xf7a4a453, 0x967272e4, 0x5bc0c09b,
+0xc2b7b775, 0x1cfdfde1, 0xae93933d, 0x6a26264c,
+0x5a36366c, 0x413f3f7e, 0x2f7f7f5,  0x4fcccc83,
+0x5c343468, 0xf4a5a551, 0x34e5e5d1, 0x8f1f1f9,
+0x937171e2, 0x73d8d8ab, 0x53313162, 0x3f15152a,
+0xc040408,  0x52c7c795, 0x65232346, 0x5ec3c39d,
+0x28181830, 0xa1969637, 0xf05050a,  0xb59a9a2f,
+0x907070e,  0x36121224, 0x9b80801b, 0x3de2e2df,
+0x26ebebcd, 0x6927274e, 0xcdb2b27f, 0x9f7575ea,
+0x1b090912, 0x9e83831d, 0x742c2c58, 0x2e1a1a34,
+0x2d1b1b36, 0xb26e6edc, 0xee5a5ab4, 0xfba0a05b,
+0xf65252a4, 0x4d3b3b76, 0x61d6d6b7, 0xceb3b37d,
+0x7b292952, 0x3ee3e3dd, 0x712f2f5e, 0x97848413,
+0xf55353a6, 0x68d1d1b9, 0x0,        0x2cededc1,
+0x60202040, 0x1ffcfce3, 0xc8b1b179, 0xed5b5bb6,
+0xbe6a6ad4, 0x46cbcb8d, 0xd9bebe67, 0x4b393972,
+0xde4a4a94, 0xd44c4c98, 0xe85858b0, 0x4acfcf85,
+0x6bd0d0bb, 0x2aefefc5, 0xe5aaaa4f, 0x16fbfbed,
+0xc5434386, 0xd74d4d9a, 0x55333366, 0x94858511,
+0xcf45458a, 0x10f9f9e9, 0x6020204,  0x817f7ffe,
+0xf05050a0, 0x443c3c78, 0xba9f9f25, 0xe3a8a84b,
+0xf35151a2, 0xfea3a35d, 0xc0404080, 0x8a8f8f05,
+0xad92923f, 0xbc9d9d21, 0x48383870, 0x4f5f5f1,
+0xdfbcbc63, 0xc1b6b677, 0x75dadaaf, 0x63212142,
+0x30101020, 0x1affffe5, 0xef3f3fd,  0x6dd2d2bf,
+0x4ccdcd81, 0x140c0c18, 0x35131326, 0x2fececc3,
+0xe15f5fbe, 0xa2979735, 0xcc444488, 0x3917172e,
+0x57c4c493, 0xf2a7a755, 0x827e7efc, 0x473d3d7a,
+0xac6464c8, 0xe75d5dba, 0x2b191932, 0x957373e6,
+0xa06060c0, 0x98818119, 0xd14f4f9e, 0x7fdcdca3,
+0x66222244, 0x7e2a2a54, 0xab90903b, 0x8388880b,
+0xca46468c, 0x29eeeec7, 0xd3b8b86b, 0x3c141428,
+0x79dedea7, 0xe25e5ebc, 0x1d0b0b16, 0x76dbdbad,
+0x3be0e0db, 0x56323264, 0x4e3a3a74, 0x1e0a0a14,
+0xdb494992, 0xa06060c,  0x6c242448, 0xe45c5cb8,
+0x5dc2c29f, 0x6ed3d3bd, 0xefacac43, 0xa66262c4,
+0xa8919139, 0xa4959531, 0x37e4e4d3, 0x8b7979f2,
+0x32e7e7d5, 0x43c8c88b, 0x5937376e, 0xb76d6dda,
+0x8c8d8d01, 0x64d5d5b1, 0xd24e4e9c, 0xe0a9a949,
+0xb46c6cd8, 0xfa5656ac, 0x7f4f4f3,  0x25eaeacf,
+0xaf6565ca, 0x8e7a7af4, 0xe9aeae47, 0x18080810,
+0xd5baba6f, 0x887878f0, 0x6f25254a, 0x722e2e5c,
+0x241c1c38, 0xf1a6a657, 0xc7b4b473, 0x51c6c697,
+0x23e8e8cb, 0x7cdddda1, 0x9c7474e8, 0x211f1f3e,
+0xdd4b4b96, 0xdcbdbd61, 0x868b8b0d, 0x858a8a0f,
+0x907070e0, 0x423e3e7c, 0xc4b5b571, 0xaa6666cc,
+0xd8484890, 0x5030306,  0x1f6f6f7,  0x120e0e1c,
+0xa36161c2, 0x5f35356a, 0xf95757ae, 0xd0b9b969,
+0x91868617, 0x58c1c199, 0x271d1d3a, 0xb99e9e27,
+0x38e1e1d9, 0x13f8f8eb, 0xb398982b, 0x33111122,
+0xbb6969d2, 0x70d9d9a9, 0x898e8e07, 0xa7949433,
+0xb69b9b2d, 0x221e1e3c, 0x92878715, 0x20e9e9c9,
+0x49cece87, 0xff5555aa, 0x78282850, 0x7adfdfa5,
+0x8f8c8c03, 0xf8a1a159, 0x80898909, 0x170d0d1a,
+0xdabfbf65, 0x31e6e6d7, 0xc6424284, 0xb86868d0,
+0xc3414182, 0xb0999929, 0x772d2d5a, 0x110f0f1e,
+0xcbb0b07b, 0xfc5454a8, 0xd6bbbb6d, 0x3a16162c};
+
+
+unsigned int T1[256] = {
+0x6363c6a5, 0x7c7cf884, 0x7777ee99, 0x7b7bf68d,
+0xf2f2ff0d, 0x6b6bd6bd, 0x6f6fdeb1, 0xc5c59154,
+0x30306050, 0x1010203,  0x6767cea9, 0x2b2b567d,
+0xfefee719, 0xd7d7b562, 0xabab4de6, 0x7676ec9a,
+0xcaca8f45, 0x82821f9d, 0xc9c98940, 0x7d7dfa87,
+0xfafaef15, 0x5959b2eb, 0x47478ec9, 0xf0f0fb0b,
+0xadad41ec, 0xd4d4b367, 0xa2a25ffd, 0xafaf45ea,
+0x9c9c23bf, 0xa4a453f7, 0x7272e496, 0xc0c09b5b,
+0xb7b775c2, 0xfdfde11c, 0x93933dae, 0x26264c6a,
+0x36366c5a, 0x3f3f7e41, 0xf7f7f502, 0xcccc834f,
+0x3434685c, 0xa5a551f4, 0xe5e5d134, 0xf1f1f908,
+0x7171e293, 0xd8d8ab73, 0x31316253, 0x15152a3f,
+0x404080c,  0xc7c79552, 0x23234665, 0xc3c39d5e,
+0x18183028, 0x969637a1, 0x5050a0f,  0x9a9a2fb5,
+0x7070e09,  0x12122436, 0x80801b9b, 0xe2e2df3d,
+0xebebcd26, 0x27274e69, 0xb2b27fcd, 0x7575ea9f,
+0x909121b,  0x83831d9e, 0x2c2c5874, 0x1a1a342e,
+0x1b1b362d, 0x6e6edcb2, 0x5a5ab4ee, 0xa0a05bfb,
+0x5252a4f6, 0x3b3b764d, 0xd6d6b761, 0xb3b37dce,
+0x2929527b, 0xe3e3dd3e, 0x2f2f5e71, 0x84841397,
+0x5353a6f5, 0xd1d1b968, 0x0,        0xededc12c,
+0x20204060, 0xfcfce31f, 0xb1b179c8, 0x5b5bb6ed,
+0x6a6ad4be, 0xcbcb8d46, 0xbebe67d9, 0x3939724b,
+0x4a4a94de, 0x4c4c98d4, 0x5858b0e8, 0xcfcf854a,
+0xd0d0bb6b, 0xefefc52a, 0xaaaa4fe5, 0xfbfbed16,
+0x434386c5, 0x4d4d9ad7, 0x33336655, 0x85851194,
+0x45458acf, 0xf9f9e910, 0x2020406,  0x7f7ffe81,
+0x5050a0f0, 0x3c3c7844, 0x9f9f25ba, 0xa8a84be3,
+0x5151a2f3, 0xa3a35dfe, 0x404080c0, 0x8f8f058a,
+0x92923fad, 0x9d9d21bc, 0x38387048, 0xf5f5f104,
+0xbcbc63df, 0xb6b677c1, 0xdadaaf75, 0x21214263,
+0x10102030, 0xffffe51a, 0xf3f3fd0e, 0xd2d2bf6d,
+0xcdcd814c, 0xc0c1814,  0x13132635, 0xececc32f,
+0x5f5fbee1, 0x979735a2, 0x444488cc, 0x17172e39,
+0xc4c49357, 0xa7a755f2, 0x7e7efc82, 0x3d3d7a47,
+0x6464c8ac, 0x5d5dbae7, 0x1919322b, 0x7373e695,
+0x6060c0a0, 0x81811998, 0x4f4f9ed1, 0xdcdca37f,
+0x22224466, 0x2a2a547e, 0x90903bab, 0x88880b83,
+0x46468cca, 0xeeeec729, 0xb8b86bd3, 0x1414283c,
+0xdedea779, 0x5e5ebce2, 0xb0b161d,  0xdbdbad76,
+0xe0e0db3b, 0x32326456, 0x3a3a744e, 0xa0a141e,
+0x494992db, 0x6060c0a,  0x2424486c, 0x5c5cb8e4,
+0xc2c29f5d, 0xd3d3bd6e, 0xacac43ef, 0x6262c4a6,
+0x919139a8, 0x959531a4, 0xe4e4d337, 0x7979f28b,
+0xe7e7d532, 0xc8c88b43, 0x37376e59, 0x6d6ddab7,
+0x8d8d018c, 0xd5d5b164, 0x4e4e9cd2, 0xa9a949e0,
+0x6c6cd8b4, 0x5656acfa, 0xf4f4f307, 0xeaeacf25,
+0x6565caaf, 0x7a7af48e, 0xaeae47e9, 0x8081018,
+0xbaba6fd5, 0x7878f088, 0x25254a6f, 0x2e2e5c72,
+0x1c1c3824, 0xa6a657f1, 0xb4b473c7, 0xc6c69751,
+0xe8e8cb23, 0xdddda17c, 0x7474e89c, 0x1f1f3e21,
+0x4b4b96dd, 0xbdbd61dc, 0x8b8b0d86, 0x8a8a0f85,
+0x7070e090, 0x3e3e7c42, 0xb5b571c4, 0x6666ccaa,
+0x484890d8, 0x3030605,  0xf6f6f701, 0xe0e1c12,
+0x6161c2a3, 0x35356a5f, 0x5757aef9, 0xb9b969d0,
+0x86861791, 0xc1c19958, 0x1d1d3a27, 0x9e9e27b9,
+0xe1e1d938, 0xf8f8eb13, 0x98982bb3, 0x11112233,
+0x6969d2bb, 0xd9d9a970, 0x8e8e0789, 0x949433a7,
+0x9b9b2db6, 0x1e1e3c22, 0x87871592, 0xe9e9c920,
+0xcece8749, 0x5555aaff, 0x28285078, 0xdfdfa57a,
+0x8c8c038f, 0xa1a159f8, 0x89890980, 0xd0d1a17,
+0xbfbf65da, 0xe6e6d731, 0x424284c6, 0x6868d0b8,
+0x414182c3, 0x999929b0, 0x2d2d5a77, 0xf0f1e11,
+0xb0b07bcb, 0x5454a8fc, 0xbbbb6dd6, 0x16162c3a};
+
+unsigned int T2[256] = {
+0x63c6a563, 0x7cf8847c, 0x77ee9977, 0x7bf68d7b,
+0xf2ff0df2, 0x6bd6bd6b, 0x6fdeb16f, 0xc59154c5,
+0x30605030, 0x1020301,  0x67cea967, 0x2b567d2b,
+0xfee719fe, 0xd7b562d7, 0xab4de6ab, 0x76ec9a76,
+0xca8f45ca, 0x821f9d82, 0xc98940c9, 0x7dfa877d,
+0xfaef15fa, 0x59b2eb59, 0x478ec947, 0xf0fb0bf0,
+0xad41ecad, 0xd4b367d4, 0xa25ffda2, 0xaf45eaaf,
+0x9c23bf9c, 0xa453f7a4, 0x72e49672, 0xc09b5bc0,
+0xb775c2b7, 0xfde11cfd, 0x933dae93, 0x264c6a26,
+0x366c5a36, 0x3f7e413f, 0xf7f502f7, 0xcc834fcc,
+0x34685c34, 0xa551f4a5, 0xe5d134e5, 0xf1f908f1,
+0x71e29371, 0xd8ab73d8, 0x31625331, 0x152a3f15,
+0x4080c04,  0xc79552c7, 0x23466523, 0xc39d5ec3,
+0x18302818, 0x9637a196, 0x50a0f05,  0x9a2fb59a,
+0x70e0907,  0x12243612, 0x801b9b80, 0xe2df3de2,
+0xebcd26eb, 0x274e6927, 0xb27fcdb2, 0x75ea9f75,
+0x9121b09,  0x831d9e83, 0x2c58742c, 0x1a342e1a,
+0x1b362d1b, 0x6edcb26e, 0x5ab4ee5a, 0xa05bfba0,
+0x52a4f652, 0x3b764d3b, 0xd6b761d6, 0xb37dceb3,
+0x29527b29, 0xe3dd3ee3, 0x2f5e712f, 0x84139784,
+0x53a6f553, 0xd1b968d1, 0x0,        0xedc12ced,
+0x20406020, 0xfce31ffc, 0xb179c8b1, 0x5bb6ed5b,
+0x6ad4be6a, 0xcb8d46cb, 0xbe67d9be, 0x39724b39,
+0x4a94de4a, 0x4c98d44c, 0x58b0e858, 0xcf854acf,
+0xd0bb6bd0, 0xefc52aef, 0xaa4fe5aa, 0xfbed16fb,
+0x4386c543, 0x4d9ad74d, 0x33665533, 0x85119485,
+0x458acf45, 0xf9e910f9, 0x2040602,  0x7ffe817f,
+0x50a0f050, 0x3c78443c, 0x9f25ba9f, 0xa84be3a8,
+0x51a2f351, 0xa35dfea3, 0x4080c040, 0x8f058a8f,
+0x923fad92, 0x9d21bc9d, 0x38704838, 0xf5f104f5,
+0xbc63dfbc, 0xb677c1b6, 0xdaaf75da, 0x21426321,
+0x10203010, 0xffe51aff, 0xf3fd0ef3, 0xd2bf6dd2,
+0xcd814ccd, 0xc18140c,  0x13263513, 0xecc32fec,
+0x5fbee15f, 0x9735a297, 0x4488cc44, 0x172e3917,
+0xc49357c4, 0xa755f2a7, 0x7efc827e, 0x3d7a473d,
+0x64c8ac64, 0x5dbae75d, 0x19322b19, 0x73e69573,
+0x60c0a060, 0x81199881, 0x4f9ed14f, 0xdca37fdc,
+0x22446622, 0x2a547e2a, 0x903bab90, 0x880b8388,
+0x468cca46, 0xeec729ee, 0xb86bd3b8, 0x14283c14,
+0xdea779de, 0x5ebce25e, 0xb161d0b,  0xdbad76db,
+0xe0db3be0, 0x32645632, 0x3a744e3a, 0xa141e0a,
+0x4992db49, 0x60c0a06,  0x24486c24, 0x5cb8e45c,
+0xc29f5dc2, 0xd3bd6ed3, 0xac43efac, 0x62c4a662,
+0x9139a891, 0x9531a495, 0xe4d337e4, 0x79f28b79,
+0xe7d532e7, 0xc88b43c8, 0x376e5937, 0x6ddab76d,
+0x8d018c8d, 0xd5b164d5, 0x4e9cd24e, 0xa949e0a9,
+0x6cd8b46c, 0x56acfa56, 0xf4f307f4, 0xeacf25ea,
+0x65caaf65, 0x7af48e7a, 0xae47e9ae, 0x8101808,
+0xba6fd5ba, 0x78f08878, 0x254a6f25, 0x2e5c722e,
+0x1c38241c, 0xa657f1a6, 0xb473c7b4, 0xc69751c6,
+0xe8cb23e8, 0xdda17cdd, 0x74e89c74, 0x1f3e211f,
+0x4b96dd4b, 0xbd61dcbd, 0x8b0d868b, 0x8a0f858a,
+0x70e09070, 0x3e7c423e, 0xb571c4b5, 0x66ccaa66,
+0x4890d848, 0x3060503,  0xf6f701f6, 0xe1c120e,
+0x61c2a361, 0x356a5f35, 0x57aef957, 0xb969d0b9,
+0x86179186, 0xc19958c1, 0x1d3a271d, 0x9e27b99e,
+0xe1d938e1, 0xf8eb13f8, 0x982bb398, 0x11223311,
+0x69d2bb69, 0xd9a970d9, 0x8e07898e, 0x9433a794,
+0x9b2db69b, 0x1e3c221e, 0x87159287, 0xe9c920e9,
+0xce8749ce, 0x55aaff55, 0x28507828, 0xdfa57adf,
+0x8c038f8c, 0xa159f8a1, 0x89098089, 0xd1a170d,
+0xbf65dabf, 0xe6d731e6, 0x4284c642, 0x68d0b868,
+0x4182c341, 0x9929b099, 0x2d5a772d, 0xf1e110f,
+0xb07bcbb0, 0x54a8fc54, 0xbb6dd6bb, 0x162c3a16};
+
+unsigned int T3[256] = {
+0xc6a56363, 0xf8847c7c, 0xee997777, 0xf68d7b7b,
+0xff0df2f2, 0xd6bd6b6b, 0xdeb16f6f, 0x9154c5c5,
+0x60503030, 0x2030101,  0xcea96767, 0x567d2b2b,
+0xe719fefe, 0xb562d7d7, 0x4de6abab, 0xec9a7676,
+0x8f45caca, 0x1f9d8282, 0x8940c9c9, 0xfa877d7d,
+0xef15fafa, 0xb2eb5959, 0x8ec94747, 0xfb0bf0f0,
+0x41ecadad, 0xb367d4d4, 0x5ffda2a2, 0x45eaafaf,
+0x23bf9c9c, 0x53f7a4a4, 0xe4967272, 0x9b5bc0c0,
+0x75c2b7b7, 0xe11cfdfd, 0x3dae9393, 0x4c6a2626,
+0x6c5a3636, 0x7e413f3f, 0xf502f7f7, 0x834fcccc,
+0x685c3434, 0x51f4a5a5, 0xd134e5e5, 0xf908f1f1,
+0xe2937171, 0xab73d8d8, 0x62533131, 0x2a3f1515,
+0x80c0404,  0x9552c7c7, 0x46652323, 0x9d5ec3c3,
+0x30281818, 0x37a19696, 0xa0f0505,  0x2fb59a9a,
+0xe090707,  0x24361212, 0x1b9b8080, 0xdf3de2e2,
+0xcd26ebeb, 0x4e692727, 0x7fcdb2b2, 0xea9f7575,
+0x121b0909, 0x1d9e8383, 0x58742c2c, 0x342e1a1a,
+0x362d1b1b, 0xdcb26e6e, 0xb4ee5a5a, 0x5bfba0a0,
+0xa4f65252, 0x764d3b3b, 0xb761d6d6, 0x7dceb3b3,
+0x527b2929, 0xdd3ee3e3, 0x5e712f2f, 0x13978484,
+0xa6f55353, 0xb968d1d1, 0x0,        0xc12ceded,
+0x40602020, 0xe31ffcfc, 0x79c8b1b1, 0xb6ed5b5b,
+0xd4be6a6a, 0x8d46cbcb, 0x67d9bebe, 0x724b3939,
+0x94de4a4a, 0x98d44c4c, 0xb0e85858, 0x854acfcf,
+0xbb6bd0d0, 0xc52aefef, 0x4fe5aaaa, 0xed16fbfb,
+0x86c54343, 0x9ad74d4d, 0x66553333, 0x11948585,
+0x8acf4545, 0xe910f9f9, 0x4060202,  0xfe817f7f,
+0xa0f05050, 0x78443c3c, 0x25ba9f9f, 0x4be3a8a8,
+0xa2f35151, 0x5dfea3a3, 0x80c04040, 0x58a8f8f,
+0x3fad9292, 0x21bc9d9d, 0x70483838, 0xf104f5f5,
+0x63dfbcbc, 0x77c1b6b6, 0xaf75dada, 0x42632121,
+0x20301010, 0xe51affff, 0xfd0ef3f3, 0xbf6dd2d2,
+0x814ccdcd, 0x18140c0c, 0x26351313, 0xc32fecec,
+0xbee15f5f, 0x35a29797, 0x88cc4444, 0x2e391717,
+0x9357c4c4, 0x55f2a7a7, 0xfc827e7e, 0x7a473d3d,
+0xc8ac6464, 0xbae75d5d, 0x322b1919, 0xe6957373,
+0xc0a06060, 0x19988181, 0x9ed14f4f, 0xa37fdcdc,
+0x44662222, 0x547e2a2a, 0x3bab9090, 0xb838888,
+0x8cca4646, 0xc729eeee, 0x6bd3b8b8, 0x283c1414,
+0xa779dede, 0xbce25e5e, 0x161d0b0b, 0xad76dbdb,
+0xdb3be0e0, 0x64563232, 0x744e3a3a, 0x141e0a0a,
+0x92db4949, 0xc0a0606,  0x486c2424, 0xb8e45c5c,
+0x9f5dc2c2, 0xbd6ed3d3, 0x43efacac, 0xc4a66262,
+0x39a89191, 0x31a49595, 0xd337e4e4, 0xf28b7979,
+0xd532e7e7, 0x8b43c8c8, 0x6e593737, 0xdab76d6d,
+0x18c8d8d,  0xb164d5d5, 0x9cd24e4e, 0x49e0a9a9,
+0xd8b46c6c, 0xacfa5656, 0xf307f4f4, 0xcf25eaea,
+0xcaaf6565, 0xf48e7a7a, 0x47e9aeae, 0x10180808,
+0x6fd5baba, 0xf0887878, 0x4a6f2525, 0x5c722e2e,
+0x38241c1c, 0x57f1a6a6, 0x73c7b4b4, 0x9751c6c6,
+0xcb23e8e8, 0xa17cdddd, 0xe89c7474, 0x3e211f1f,
+0x96dd4b4b, 0x61dcbdbd, 0xd868b8b,  0xf858a8a,
+0xe0907070, 0x7c423e3e, 0x71c4b5b5, 0xccaa6666,
+0x90d84848, 0x6050303,  0xf701f6f6, 0x1c120e0e,
+0xc2a36161, 0x6a5f3535, 0xaef95757, 0x69d0b9b9,
+0x17918686, 0x9958c1c1, 0x3a271d1d, 0x27b99e9e,
+0xd938e1e1, 0xeb13f8f8, 0x2bb39898, 0x22331111,
+0xd2bb6969, 0xa970d9d9, 0x7898e8e,  0x33a79494,
+0x2db69b9b, 0x3c221e1e, 0x15928787, 0xc920e9e9,
+0x8749cece, 0xaaff5555, 0x50782828, 0xa57adfdf,
+0x38f8c8c,  0x59f8a1a1, 0x9808989,  0x1a170d0d,
+0x65dabfbf, 0xd731e6e6, 0x84c64242, 0xd0b86868,
+0x82c34141, 0x29b09999, 0x5a772d2d, 0x1e110f0f,
+0x7bcbb0b0, 0xa8fc5454, 0x6dd6bbbb, 0x2c3a1616};
+
diff --git a/src/libsodium/src/libsodium/crypto_stream/aes256estream/hongjun/aes256-ctr.c b/src/libsodium/src/libsodium/crypto_stream/aes256estream/hongjun/aes256-ctr.c
new file mode 100644
index 00000000..4259ac35
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_stream/aes256estream/hongjun/aes256-ctr.c
@@ -0,0 +1,238 @@
+/* aes-ctr.c               */
+/* AES in CTR mode.        */
+
+/* Hongjun Wu, January 2007*/
+
+
+/* ------------------------------------------------------------------------- */
+
+#include "api.h"
+#include "aes256.h"
+
+#include <string.h>
+
+/* ------------------------------------------------------------------------- */
+/* key setup for AES-256*/
+static void
+ECRYPT_keysetup(ECRYPT_ctx* ctx, const u8* key, u32 keysize, u32 ivsize)
+{
+    unsigned int w[Nk*(Nr+1)], temp;
+    int i, j;
+
+    (void) keysize;
+    (void) ivsize;
+    (void) sizeof(char[sizeof *ctx == crypto_stream_BEFORENMBYTES ? 1 : -1]);
+
+    for( i = 0; i < Nk; i++ ) {
+        w[i] =  key[(i << 2)];
+        w[i] |= key[(i << 2)+1] << 8;
+        w[i] |= key[(i << 2)+2] << 16;
+        w[i] |= key[(i << 2)+3] << 24;
+    }
+
+    i = Nk;
+
+    while( i < Nb*(Nr+1) ) {
+        temp = w[i-1];
+
+        temp = Sbox[ temp & 0xFF] <<  24 ^
+            Sbox[(temp >> 8) & 0xFF]  ^
+            (Sbox[(temp >> 16) & 0xFF] << 8 ) ^
+            (Sbox[(temp >> 24) & 0xFF] << 16) ^
+            Rcon[i/Nk];
+        w[i] = w[i-Nk] ^ temp;
+        i++;
+
+        temp = w[i-1];
+        w[i] = w[i-Nk] ^ temp;
+        i++;
+
+        temp = w[i-1];
+        w[i] = w[i-Nk] ^ temp;
+        i++;
+
+        temp = w[i-1];
+        w[i] = w[i-Nk] ^ temp;
+        i++;
+
+        temp = w[i-1];
+        temp = Sbox[ temp & 0xFF] ^
+            Sbox[(temp >> 8) & 0xFF] << 8 ^
+            (Sbox[(temp >> 16) & 0xFF] << 16 ) ^
+            (Sbox[(temp >> 24) & 0xFF] << 24);
+        w[i] = w[i-Nk] ^ temp;
+        i++;
+
+        temp = w[i-1];
+        w[i] = w[i-Nk] ^ temp;
+        i++;
+
+        temp = w[i-1];
+        w[i] = w[i-Nk] ^ temp;
+        i++;
+
+        temp = w[i-1];
+        w[i] = w[i-Nk] ^ temp;
+        i++;
+    }
+
+    for (i = 0; i <= Nr; i++) {
+        for (j = 0; j < Nb; j++) {
+            ctx->round_key[i][j] = w[(i<<2)+j];
+        }
+    }
+}
+
+/* ------------------------------------------------------------------------- */
+
+static void
+ECRYPT_ivsetup(ECRYPT_ctx* ctx, const u8* iv)
+{
+    (void) sizeof(char[(sizeof ctx->counter) == crypto_stream_NONCEBYTES ? 1 : -1]);
+    memcpy(ctx->counter, iv, crypto_stream_NONCEBYTES);
+}
+
+/* ------------------------------------------------------------------------- */
+
+/*compute the intermediate values for the first two rounds*/
+static void
+partial_precompute_tworounds(ECRYPT_ctx* ctx)
+{
+  u32 x0,x1,x2,x3,y0,y1,y2,y3;
+
+  x0 = ctx->counter[0] ^ ctx->round_key[0][0];
+  x1 = ctx->counter[1] ^ ctx->round_key[0][1];
+  x2 = ctx->counter[2] ^ ctx->round_key[0][2];
+  x3 = ctx->counter[3] ^ ctx->round_key[0][3];
+  x0 &= 0xffffff00;
+  round(ctx,x0,x1,x2,x3,y0,y1,y2,y3,1);
+  ctx->first_round_output_x0 = y0 ^ T0[0];
+  y0 = 0;
+  round(ctx,y0,y1,y2,y3,x0,x1,x2,x3,2);
+  ctx->second_round_output[0] = x0 ^ T0[0];
+  ctx->second_round_output[1] = x1 ^ T3[0];
+  ctx->second_round_output[2] = x2 ^ T2[0];
+  ctx->second_round_output[3] = x3 ^ T1[0];
+}
+
+/* ------------------------------------------------------------------------- */
+
+#ifndef CPU_ALIGNED_ACCESS_REQUIRED
+# define UNALIGNED_U32_READ(P, I) (((const u32 *)(const void *) (P))[(I)])
+#else
+static inline uint32_t
+UNALIGNED_U32_READ(const u8 * const p, const size_t i)
+{
+    uint32_t t;
+    (void) sizeof(int[sizeof(*p) == sizeof(char) ? 1 : -1]);
+    memcpy(&t, p + i * (sizeof t / sizeof *p), sizeof t);
+    return t;
+}
+#endif
+
+/* ------------------------------------------------------------------------- */
+
+static void
+ECRYPT_process_bytes(int action, ECRYPT_ctx* ctx, const u8* input, u8* output,
+                     u32 msglen)
+{
+    __attribute__((aligned(32))) u8 keystream[16];
+    u32 i;
+
+    (void) action;
+    memset(keystream, 0, sizeof keystream);
+    partial_precompute_tworounds(ctx);
+
+    for ( ; msglen >= 16; msglen -= 16, input += 16, output += 16) {
+        aes256_enc_block(ctx->counter, keystream, ctx);
+
+        ((u32*)output)[0] = UNALIGNED_U32_READ(input, 0) ^ ((u32*)keystream)[0] ^ ctx->round_key[Nr][0];
+        ((u32*)output)[1] = UNALIGNED_U32_READ(input, 1) ^ ((u32*)keystream)[1] ^ ctx->round_key[Nr][1];
+        ((u32*)output)[2] = UNALIGNED_U32_READ(input, 2) ^ ((u32*)keystream)[2] ^ ctx->round_key[Nr][2];
+        ((u32*)output)[3] = UNALIGNED_U32_READ(input, 3) ^ ((u32*)keystream)[3] ^ ctx->round_key[Nr][3];
+
+        ctx->counter[0]++;
+
+        if ((ctx->counter[0] & 0xff)== 0) {
+            partial_precompute_tworounds(ctx);
+        }
+    }
+
+    if (msglen > 0) {
+        aes256_enc_block(ctx->counter, keystream, ctx);
+        ((u32*)keystream)[0] ^= ctx->round_key[Nr][0];
+        ((u32*)keystream)[1] ^= ctx->round_key[Nr][1];
+        ((u32*)keystream)[2] ^= ctx->round_key[Nr][2];
+        ((u32*)keystream)[3] ^= ctx->round_key[Nr][3];
+
+        for (i = 0; i < msglen; i ++) {
+            output[i] = input[i] ^ keystream[i];
+        }
+    }
+}
+
+/* ------------------------------------------------------------------------- */
+
+#include "ecrypt-sync.h"
+
+int
+crypto_stream_beforenm(unsigned char *c, const unsigned char *k)
+{
+    ECRYPT_ctx * const ctx = (ECRYPT_ctx *) c;
+
+    ECRYPT_keysetup(ctx, k, crypto_stream_KEYBYTES * 8,
+                    crypto_stream_NONCEBYTES * 8);
+    return 0;
+}
+
+int
+crypto_stream_afternm(unsigned char *outp, unsigned long long len,
+                      const unsigned char *noncep, const unsigned char *c)
+{
+    ECRYPT_ctx * const ctx = (ECRYPT_ctx *) c;
+    unsigned long long i;
+
+    ECRYPT_ivsetup(ctx, noncep);
+    for (i = 0U; i < len; ++i) {
+        outp[i] = 0U;
+    }
+    ECRYPT_encrypt_bytes(ctx, (u8 *) outp, (u8 *) outp, len);
+
+    return 0;
+}
+
+int
+crypto_stream_xor_afternm(unsigned char *outp, const unsigned char *inp,
+                          unsigned long long len, const unsigned char *noncep,
+                          const unsigned char *c)
+{
+    ECRYPT_ctx * const ctx = (ECRYPT_ctx *) c;
+
+    ECRYPT_ivsetup(ctx, noncep);
+    ECRYPT_encrypt_bytes(ctx, (const u8 *) inp, (u8 *) outp, len);
+
+    return 0;
+}
+
+int
+crypto_stream(unsigned char *out, unsigned long long outlen,
+              const unsigned char *n, const unsigned char *k)
+{
+    unsigned char d[crypto_stream_BEFORENMBYTES];
+    crypto_stream_beforenm(d, k);
+    crypto_stream_afternm(out, outlen, n, d);
+
+    return 0;
+}
+
+int crypto_stream_xor(unsigned char *out, const unsigned char *in,
+                      unsigned long long inlen, const unsigned char *n,
+                      const unsigned char *k)
+{
+    unsigned char d[crypto_stream_BEFORENMBYTES];
+
+    crypto_stream_beforenm(d, k);
+    crypto_stream_xor_afternm(out, in, inlen, n, d);
+
+    return 0;
+}
diff --git a/src/libsodium/src/libsodium/crypto_stream/aes256estream/hongjun/aes256.h b/src/libsodium/src/libsodium/crypto_stream/aes256estream/hongjun/aes256.h
new file mode 100644
index 00000000..9b54f247
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_stream/aes256estream/hongjun/aes256.h
@@ -0,0 +1,158 @@
+/* aes256.h */
+/* Hongjun Wu, January 2007*/
+
+
+#include "ecrypt-sync.h"
+#include "aes-table.h"
+
+#include <stdio.h>
+
+#define first_round(ctx,x0,y0) { \
+        u32 z0,t0,tem0;              \
+        z0 = (x0) ^ ctx->round_key[0][0];        \
+        t0 = (u8) z0;                \
+        tem0 = T0[t0];               \
+        (y0) = tem0 ^ ctx->first_round_output_x0; \
+}
+
+#define second_round(ctx,x0,y0,y1,y2,y3) { \
+        u32 t0,t7,t10,t13; \
+        u32 tem0,tem7,tem10,tem13;    \
+        t0 = (u8)(x0);      \
+        tem0 = T0[t0];      \
+        (y0) = tem0 ^ ctx->second_round_output[0];   \
+        t7 = (u8)((x0)>>24);     \
+        tem7 = T3[t7];    \
+        (y1) = tem7 ^ ctx->second_round_output[1];   \
+        t10 = (u8)((x0)>>16);   \
+        tem10 = T2[t10]; \
+        (y2) = tem10 ^ ctx->second_round_output[2];  \
+        t13 = (u8)((x0)>>8);    \
+        tem13 = T1[t13];\
+        (y3) = tem13 ^ ctx->second_round_output[3];  \
+}
+
+#define round(ctx,x0,x1,x2,x3,y0,y1,y2,y3,r) { \
+        u32 t0,t1,t2,t3;    \
+        u32 t4,t5,t6,t7;    \
+        u32 t8,t9,t10,t11;  \
+        u32 t12,t13,t14,t15;\
+        u32 tem0,tem1,tem2,tem3;    \
+        u32 tem4,tem5,tem6,tem7;    \
+        u32 tem8,tem9,tem10,tem11;  \
+        u32 tem12,tem13,tem14,tem15;\
+        \
+        t0 = (u8)(x0);      \
+        tem0 = T0[t0];      \
+        t1 = (u8)((x1)>>8); \
+        tem1 = tem0 ^ T1[t1];    \
+        t2 = (u8)((x2)>>16);     \
+        tem2 = tem1 ^ T2[t2];    \
+        t3 = (u8)((x3)>>24);     \
+        tem3 = tem2 ^ T3[t3];    \
+        (y0) = tem3 ^ ctx->round_key[r][0];   \
+        \
+        t4 = (u8)(x1);      \
+        tem4 = T0[t4];      \
+        t5 = (u8)((x2)>>8); \
+        tem5 = tem4 ^ T1[t5];    \
+        t6 = (u8)((x3)>>16);     \
+        tem6 = tem5 ^ T2[t6];    \
+        t7 = (u8)((x0)>>24);     \
+        tem7 = tem6 ^ T3[t7];    \
+        (y1) = tem7 ^ ctx->round_key[r][1];   \
+        \
+        t8 = (u8)(x2);          \
+        tem8 = T0[t8];          \
+        t9 = (u8)((x3)>>8);     \
+        tem9 = tem8 ^ T1[t9];   \
+        t10 = (u8)((x0)>>16);   \
+        tem10 = tem9 ^ T2[t10]; \
+        t11 = (u8)((x1)>>24);   \
+        tem11 = tem10 ^ T3[t11];\
+        (y2) = tem11 ^ ctx->round_key[r][2]; \
+        \
+        t12 = (u8)(x3);         \
+        tem12 = T0[t12];        \
+        t13 = (u8)((x0)>>8);    \
+        tem13 = tem12 ^ T1[t13];\
+        t14 = (u8)((x1)>>16);   \
+        tem14 = tem13 ^ T2[t14];\
+        t15 = (u8)((x2)>>24);   \
+        tem15 = tem14 ^ T3[t15];\
+        (y3) = tem15 ^ ctx->round_key[r][3]; \
+}
+
+/* 22.14 cycles/byte*/
+#define last_round(ctx,x0,x1,x2,x3,output,r) { \
+        u32 t0,t1,t2,t3;    \
+        u32 t4,t5,t6,t7;    \
+        u32 t8,t9,t10,t11;  \
+        u32 t12,t13,t14,t15;\
+        \
+        t0 = (u8)(x0);        \
+        output[0] = Sbox[t0]; \
+      t7 = (u8)((x0)>>24);  \
+        output[7] = Sbox[t7]; \
+        t10 = (u8)((x0)>>16);   \
+        output[10] = Sbox[t10]; \
+        t13 = (u8)((x0)>>8);    \
+        output[13] = Sbox[t13]; \
+        \
+        t1 = (u8)((x1)>>8);   \
+        output[1] = Sbox[t1]; \
+        t4 = (u8)(x1);        \
+        output[4] = Sbox[t4]; \
+        t11 = (u8)((x1)>>24);     \
+        output[11] = Sbox[t11]; \
+        t14 = (u8)((x1)>>16);     \
+        output[14] = Sbox[t14]; \
+        \
+        t2 = (u8)((x2)>>16);  \
+        output[2] = Sbox[t2]; \
+        t5 = (u8)((x2)>>8);   \
+        output[5] = Sbox[t5]; \
+        t8 = (u8)(x2);            \
+        output[8] = Sbox[t8]; \
+        t15 = (u8)((x2)>>24);     \
+        output[15] = Sbox[t15]; \
+      \
+        t3 = (u8)((x3)>>24);  \
+        output[3] = Sbox[t3]; \
+        t6 = (u8)((x3)>>16);  \
+        output[6] = Sbox[t6]; \
+        t9 = (u8)((x3)>>8);       \
+        output[9] = Sbox[t9];     \
+        t12 = (u8)(x3);           \
+        output[12] = Sbox[t12];   \
+}
+
+#define aes256_enc_block(x,output,ctx) {\
+      u32 y0;\
+      u32 z0,z1,z2,z3;\
+      u32 a0,a1,a2,a3;\
+      u32 b0,b1,b2,b3;\
+      u32 c0,c1,c2,c3;\
+      u32 d0,d1,d2,d3;\
+      u32 e0,e1,e2,e3;\
+      u32 f0,f1,f2,f3;\
+      u32 g0,g1,g2,g3;\
+      u32 h0,h1,h2,h3;\
+      u32 i0,i1,i2,i3;\
+      u32 j0,j1,j2,j3;\
+      u32 k0,k1,k2,k3;\
+      first_round(ctx,x[0],y0);\
+      second_round(ctx,y0,z0,z1,z2,z3);\
+      round(ctx,z0,z1,z2,z3,a0,a1,a2,a3,3);\
+      round(ctx,a0,a1,a2,a3,b0,b1,b2,b3,4);\
+      round(ctx,b0,b1,b2,b3,c0,c1,c2,c3,5);\
+      round(ctx,c0,c1,c2,c3,d0,d1,d2,d3,6);\
+      round(ctx,d0,d1,d2,d3,e0,e1,e2,e3,7);\
+      round(ctx,e0,e1,e2,e3,f0,f1,f2,f3,8);\
+      round(ctx,f0,f1,f2,f3,g0,g1,g2,g3,9);\
+      round(ctx,g0,g1,g2,g3,h0,h1,h2,h3,10);\
+      round(ctx,h0,h1,h2,h3,i0,i1,i2,i3,11);\
+      round(ctx,i0,i1,i2,i3,j0,j1,j2,j3,12);\
+      round(ctx,j0,j1,j2,j3,k0,k1,k2,k3,13);\
+      last_round(ctx,k0,k1,k2,k3,(output),14);\
+}
diff --git a/src/libsodium/src/libsodium/crypto_stream/aes256estream/hongjun/api.h b/src/libsodium/src/libsodium/crypto_stream/aes256estream/hongjun/api.h
new file mode 100644
index 00000000..45243be9
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_stream/aes256estream/hongjun/api.h
@@ -0,0 +1,14 @@
+
+#include "crypto_stream_aes256estream.h"
+
+#define crypto_stream crypto_stream_aes256estream
+#define crypto_stream_xor crypto_stream_aes256estream_xor
+#define crypto_stream_beforenm crypto_stream_aes256estream_beforenm
+#define crypto_stream_afternm crypto_stream_aes256estream_afternm
+#define crypto_stream_xor_afternm crypto_stream_aes256estream_xor_afternm
+#define crypto_stream_KEYBYTES crypto_stream_aes256estream_KEYBYTES
+#define crypto_stream_NONCEBYTES crypto_stream_aes256estream_NONCEBYTES
+#define crypto_stream_BEFORENMBYTES crypto_stream_aes256estream_BEFORENMBYTES
+#define crypto_stream_PRIMITIVE "aes256estream"
+#define crypto_stream_IMPLEMENTATION crypto_stream_aes256estream_IMPLEMENTATION
+#define crypto_stream_VERSION crypto_stream_aes256estream_VERSION
diff --git a/src/libsodium/src/libsodium/crypto_stream/aes256estream/hongjun/ecrypt-sync.h b/src/libsodium/src/libsodium/crypto_stream/aes256estream/hongjun/ecrypt-sync.h
new file mode 100644
index 00000000..6dafedbe
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_stream/aes256estream/hongjun/ecrypt-sync.h
@@ -0,0 +1,27 @@
+
+#ifndef __ECRYPT_SYNC__
+#define __ECRYPT_SYNC__
+
+#include <stdint.h>
+
+typedef uint8_t  u8;
+typedef uint32_t u32;
+
+#define Nr 14
+#define Nk 8
+#define Nb 4
+
+#pragma pack(push, 1)
+__attribute__((aligned(64))) typedef struct ECRYPT_ctx
+{
+  u32 round_key[Nr+1][4];
+  u32 counter[4];
+  u32 first_round_output_x0;
+  u32 second_round_output[4];
+} ECRYPT_ctx;
+#pragma pack(pop)
+
+#define ECRYPT_encrypt_bytes(ctx, plaintext, ciphertext, msglen)   \
+  ECRYPT_process_bytes(0, ctx, plaintext, ciphertext, msglen)
+
+#endif
diff --git a/src/libsodium/src/libsodium/crypto_stream/aes256estream/stream_aes256estream_api.c b/src/libsodium/src/libsodium/crypto_stream/aes256estream/stream_aes256estream_api.c
new file mode 100644
index 00000000..a20fdb01
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_stream/aes256estream/stream_aes256estream_api.c
@@ -0,0 +1,21 @@
+#include "crypto_stream_aes256estream.h"
+
+size_t
+crypto_stream_aes256estream_keybytes(void) {
+    return crypto_stream_aes256estream_KEYBYTES;
+}
+
+size_t
+crypto_stream_aes256estream_noncebytes(void) {
+    return crypto_stream_aes256estream_NONCEBYTES;
+}
+
+size_t
+crypto_stream_aes256estream_beforenmbytes(void) {
+    return crypto_stream_aes256estream_BEFORENMBYTES;
+}
+
+const char *
+crypto_stream_aes256estream_primitive(void) {
+    return "aes256estream";
+}
diff --git a/src/libsodium/src/libsodium/crypto_stream/crypto_stream.c b/src/libsodium/src/libsodium/crypto_stream/crypto_stream.c
new file mode 100644
index 00000000..50a9c1c0
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_stream/crypto_stream.c
@@ -0,0 +1,36 @@
+
+#include "crypto_stream.h"
+
+size_t
+crypto_stream_keybytes(void)
+{
+    return crypto_stream_KEYBYTES;
+}
+
+size_t
+crypto_stream_noncebytes(void)
+{
+    return crypto_stream_NONCEBYTES;
+}
+
+const char *
+crypto_stream_primitive(void)
+{
+    return crypto_stream_PRIMITIVE;
+}
+
+int
+crypto_stream(unsigned char *c, unsigned long long clen,
+              const unsigned char *n, const unsigned char *k)
+{
+    return crypto_stream_xsalsa20(c, clen, n, k);
+}
+
+
+int
+crypto_stream_xor(unsigned char *c, const unsigned char *m,
+                  unsigned long long mlen, const unsigned char *n,
+                  const unsigned char *k)
+{
+    return crypto_stream_xsalsa20_xor(c, m, mlen, n, k);
+}
diff --git a/src/libsodium/src/libsodium/crypto_stream/salsa20/amd64_xmm6/api.h b/src/libsodium/src/libsodium/crypto_stream/salsa20/amd64_xmm6/api.h
new file mode 100644
index 00000000..037fb59d
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_stream/salsa20/amd64_xmm6/api.h
@@ -0,0 +1 @@
+#include "crypto_stream_salsa20.h"
diff --git a/src/libsodium/src/libsodium/crypto_stream/salsa20/amd64_xmm6/stream_salsa20_amd64_xmm6.S b/src/libsodium/src/libsodium/crypto_stream/salsa20/amd64_xmm6/stream_salsa20_amd64_xmm6.S
new file mode 100644
index 00000000..c96f7109
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_stream/salsa20/amd64_xmm6/stream_salsa20_amd64_xmm6.S
@@ -0,0 +1,950 @@
+#if defined(__amd64) || defined(__amd64__) || defined(__x86_64__)
+
+.text
+.p2align 5
+
+.globl _crypto_stream_salsa20
+.globl crypto_stream_salsa20
+_crypto_stream_salsa20:
+crypto_stream_salsa20:
+mov %rsp,%r11
+and $31,%r11
+add $480,%r11
+sub %r11,%rsp
+movq %r11,352(%rsp)
+movq %r12,360(%rsp)
+movq %r13,368(%rsp)
+movq %r14,376(%rsp)
+movq %r15,384(%rsp)
+movq %rbx,392(%rsp)
+movq %rbp,400(%rsp)
+mov  %rsi,%r9
+mov  %rdi,%rdi
+mov  %rdi,%rsi
+mov  %rdx,%rdx
+mov  %rcx,%r10
+cmp  $0,%r9
+jbe ._done
+
+mov  $0,%rax
+mov  %r9,%rcx
+rep stosb
+sub  %r9,%rdi
+jmp ._start
+
+.text
+.p2align 5
+
+.globl _crypto_stream_salsa20_xor
+.globl crypto_stream_salsa20_xor
+_crypto_stream_salsa20_xor:
+crypto_stream_salsa20_xor:
+mov %rsp,%r11
+and $31,%r11
+add $480,%r11
+sub %r11,%rsp
+movq %r11,352(%rsp)
+movq %r12,360(%rsp)
+movq %r13,368(%rsp)
+movq %r14,376(%rsp)
+movq %r15,384(%rsp)
+movq %rbx,392(%rsp)
+movq %rbp,400(%rsp)
+mov  %rdi,%rdi
+mov  %rsi,%rsi
+mov  %rdx,%r9
+mov  %rcx,%rdx
+mov  %r8,%r10
+cmp  $0,%r9
+jbe ._done
+
+._start:
+movl   20(%r10),%ecx
+movl   0(%r10),%r8d
+movl   0(%rdx),%eax
+movl   16(%r10),%r11d
+movl %ecx,0(%rsp)
+movl %r8d,4+0(%rsp)
+movl %eax,8+0(%rsp)
+movl %r11d,12+0(%rsp)
+mov  $0,%rcx
+movl   24(%r10),%r8d
+movl   4(%r10),%eax
+movl   4(%rdx),%edx
+movl %ecx,16(%rsp)
+movl %r8d,4+16(%rsp)
+movl %eax,8+16(%rsp)
+movl %edx,12+16(%rsp)
+movl   12(%r10),%edx
+mov  $0,%rcx
+movl   28(%r10),%r8d
+movl   8(%r10),%eax
+movl %edx,32(%rsp)
+movl %ecx,4+32(%rsp)
+movl %r8d,8+32(%rsp)
+movl %eax,12+32(%rsp)
+mov  $1634760805,%rdx
+mov  $857760878,%rcx
+mov  $2036477234,%r8
+mov  $1797285236,%rax
+movl %edx,48(%rsp)
+movl %ecx,4+48(%rsp)
+movl %r8d,8+48(%rsp)
+movl %eax,12+48(%rsp)
+cmp  $256,%r9
+jb ._bytesbetween1and255
+
+movdqa 48(%rsp),%xmm0
+pshufd $0x55,%xmm0,%xmm1
+pshufd $0xaa,%xmm0,%xmm2
+pshufd $0xff,%xmm0,%xmm3
+pshufd $0x00,%xmm0,%xmm0
+movdqa %xmm1,64(%rsp)
+movdqa %xmm2,80(%rsp)
+movdqa %xmm3,96(%rsp)
+movdqa %xmm0,112(%rsp)
+movdqa 0(%rsp),%xmm0
+pshufd $0xaa,%xmm0,%xmm1
+pshufd $0xff,%xmm0,%xmm2
+pshufd $0x00,%xmm0,%xmm3
+pshufd $0x55,%xmm0,%xmm0
+movdqa %xmm1,128(%rsp)
+movdqa %xmm2,144(%rsp)
+movdqa %xmm3,160(%rsp)
+movdqa %xmm0,176(%rsp)
+movdqa 16(%rsp),%xmm0
+pshufd $0xff,%xmm0,%xmm1
+pshufd $0x55,%xmm0,%xmm2
+pshufd $0xaa,%xmm0,%xmm0
+movdqa %xmm1,192(%rsp)
+movdqa %xmm2,208(%rsp)
+movdqa %xmm0,224(%rsp)
+movdqa 32(%rsp),%xmm0
+pshufd $0x00,%xmm0,%xmm1
+pshufd $0xaa,%xmm0,%xmm2
+pshufd $0xff,%xmm0,%xmm0
+movdqa %xmm1,240(%rsp)
+movdqa %xmm2,256(%rsp)
+movdqa %xmm0,272(%rsp)
+
+._bytesatleast256:
+movl 16(%rsp),%edx
+movl 4+32(%rsp),%ecx
+movl %edx,288(%rsp)
+movl %ecx,304(%rsp)
+add  $1,%rdx
+shl  $32,%rcx
+add  %rcx,%rdx
+mov  %rdx,%rcx
+shr  $32,%rcx
+movl %edx,4+288(%rsp)
+movl %ecx,4+304(%rsp)
+add  $1,%rdx
+shl  $32,%rcx
+add  %rcx,%rdx
+mov  %rdx,%rcx
+shr  $32,%rcx
+movl %edx,8+288(%rsp)
+movl %ecx,8+304(%rsp)
+add  $1,%rdx
+shl  $32,%rcx
+add  %rcx,%rdx
+mov  %rdx,%rcx
+shr  $32,%rcx
+movl %edx,12+288(%rsp)
+movl %ecx,12+304(%rsp)
+add  $1,%rdx
+shl  $32,%rcx
+add  %rcx,%rdx
+mov  %rdx,%rcx
+shr  $32,%rcx
+movl %edx,16(%rsp)
+movl %ecx,4+32(%rsp)
+movq %r9,408(%rsp)
+mov  $20,%rdx
+movdqa 64(%rsp),%xmm0
+movdqa 80(%rsp),%xmm1
+movdqa 96(%rsp),%xmm2
+movdqa 256(%rsp),%xmm3
+movdqa 272(%rsp),%xmm4
+movdqa 128(%rsp),%xmm5
+movdqa 144(%rsp),%xmm6
+movdqa 176(%rsp),%xmm7
+movdqa 192(%rsp),%xmm8
+movdqa 208(%rsp),%xmm9
+movdqa 224(%rsp),%xmm10
+movdqa 304(%rsp),%xmm11
+movdqa 112(%rsp),%xmm12
+movdqa 160(%rsp),%xmm13
+movdqa 240(%rsp),%xmm14
+movdqa 288(%rsp),%xmm15
+
+._mainloop1:
+movdqa %xmm1,320(%rsp)
+movdqa %xmm2,336(%rsp)
+movdqa %xmm13,%xmm1
+paddd %xmm12,%xmm1
+movdqa %xmm1,%xmm2
+pslld $7,%xmm1
+pxor  %xmm1,%xmm14
+psrld $25,%xmm2
+pxor  %xmm2,%xmm14
+movdqa %xmm7,%xmm1
+paddd %xmm0,%xmm1
+movdqa %xmm1,%xmm2
+pslld $7,%xmm1
+pxor  %xmm1,%xmm11
+psrld $25,%xmm2
+pxor  %xmm2,%xmm11
+movdqa %xmm12,%xmm1
+paddd %xmm14,%xmm1
+movdqa %xmm1,%xmm2
+pslld $9,%xmm1
+pxor  %xmm1,%xmm15
+psrld $23,%xmm2
+pxor  %xmm2,%xmm15
+movdqa %xmm0,%xmm1
+paddd %xmm11,%xmm1
+movdqa %xmm1,%xmm2
+pslld $9,%xmm1
+pxor  %xmm1,%xmm9
+psrld $23,%xmm2
+pxor  %xmm2,%xmm9
+movdqa %xmm14,%xmm1
+paddd %xmm15,%xmm1
+movdqa %xmm1,%xmm2
+pslld $13,%xmm1
+pxor  %xmm1,%xmm13
+psrld $19,%xmm2
+pxor  %xmm2,%xmm13
+movdqa %xmm11,%xmm1
+paddd %xmm9,%xmm1
+movdqa %xmm1,%xmm2
+pslld $13,%xmm1
+pxor  %xmm1,%xmm7
+psrld $19,%xmm2
+pxor  %xmm2,%xmm7
+movdqa %xmm15,%xmm1
+paddd %xmm13,%xmm1
+movdqa %xmm1,%xmm2
+pslld $18,%xmm1
+pxor  %xmm1,%xmm12
+psrld $14,%xmm2
+pxor  %xmm2,%xmm12
+movdqa 320(%rsp),%xmm1
+movdqa %xmm12,320(%rsp)
+movdqa %xmm9,%xmm2
+paddd %xmm7,%xmm2
+movdqa %xmm2,%xmm12
+pslld $18,%xmm2
+pxor  %xmm2,%xmm0
+psrld $14,%xmm12
+pxor  %xmm12,%xmm0
+movdqa %xmm5,%xmm2
+paddd %xmm1,%xmm2
+movdqa %xmm2,%xmm12
+pslld $7,%xmm2
+pxor  %xmm2,%xmm3
+psrld $25,%xmm12
+pxor  %xmm12,%xmm3
+movdqa 336(%rsp),%xmm2
+movdqa %xmm0,336(%rsp)
+movdqa %xmm6,%xmm0
+paddd %xmm2,%xmm0
+movdqa %xmm0,%xmm12
+pslld $7,%xmm0
+pxor  %xmm0,%xmm4
+psrld $25,%xmm12
+pxor  %xmm12,%xmm4
+movdqa %xmm1,%xmm0
+paddd %xmm3,%xmm0
+movdqa %xmm0,%xmm12
+pslld $9,%xmm0
+pxor  %xmm0,%xmm10
+psrld $23,%xmm12
+pxor  %xmm12,%xmm10
+movdqa %xmm2,%xmm0
+paddd %xmm4,%xmm0
+movdqa %xmm0,%xmm12
+pslld $9,%xmm0
+pxor  %xmm0,%xmm8
+psrld $23,%xmm12
+pxor  %xmm12,%xmm8
+movdqa %xmm3,%xmm0
+paddd %xmm10,%xmm0
+movdqa %xmm0,%xmm12
+pslld $13,%xmm0
+pxor  %xmm0,%xmm5
+psrld $19,%xmm12
+pxor  %xmm12,%xmm5
+movdqa %xmm4,%xmm0
+paddd %xmm8,%xmm0
+movdqa %xmm0,%xmm12
+pslld $13,%xmm0
+pxor  %xmm0,%xmm6
+psrld $19,%xmm12
+pxor  %xmm12,%xmm6
+movdqa %xmm10,%xmm0
+paddd %xmm5,%xmm0
+movdqa %xmm0,%xmm12
+pslld $18,%xmm0
+pxor  %xmm0,%xmm1
+psrld $14,%xmm12
+pxor  %xmm12,%xmm1
+movdqa 320(%rsp),%xmm0
+movdqa %xmm1,320(%rsp)
+movdqa %xmm4,%xmm1
+paddd %xmm0,%xmm1
+movdqa %xmm1,%xmm12
+pslld $7,%xmm1
+pxor  %xmm1,%xmm7
+psrld $25,%xmm12
+pxor  %xmm12,%xmm7
+movdqa %xmm8,%xmm1
+paddd %xmm6,%xmm1
+movdqa %xmm1,%xmm12
+pslld $18,%xmm1
+pxor  %xmm1,%xmm2
+psrld $14,%xmm12
+pxor  %xmm12,%xmm2
+movdqa 336(%rsp),%xmm12
+movdqa %xmm2,336(%rsp)
+movdqa %xmm14,%xmm1
+paddd %xmm12,%xmm1
+movdqa %xmm1,%xmm2
+pslld $7,%xmm1
+pxor  %xmm1,%xmm5
+psrld $25,%xmm2
+pxor  %xmm2,%xmm5
+movdqa %xmm0,%xmm1
+paddd %xmm7,%xmm1
+movdqa %xmm1,%xmm2
+pslld $9,%xmm1
+pxor  %xmm1,%xmm10
+psrld $23,%xmm2
+pxor  %xmm2,%xmm10
+movdqa %xmm12,%xmm1
+paddd %xmm5,%xmm1
+movdqa %xmm1,%xmm2
+pslld $9,%xmm1
+pxor  %xmm1,%xmm8
+psrld $23,%xmm2
+pxor  %xmm2,%xmm8
+movdqa %xmm7,%xmm1
+paddd %xmm10,%xmm1
+movdqa %xmm1,%xmm2
+pslld $13,%xmm1
+pxor  %xmm1,%xmm4
+psrld $19,%xmm2
+pxor  %xmm2,%xmm4
+movdqa %xmm5,%xmm1
+paddd %xmm8,%xmm1
+movdqa %xmm1,%xmm2
+pslld $13,%xmm1
+pxor  %xmm1,%xmm14
+psrld $19,%xmm2
+pxor  %xmm2,%xmm14
+movdqa %xmm10,%xmm1
+paddd %xmm4,%xmm1
+movdqa %xmm1,%xmm2
+pslld $18,%xmm1
+pxor  %xmm1,%xmm0
+psrld $14,%xmm2
+pxor  %xmm2,%xmm0
+movdqa 320(%rsp),%xmm1
+movdqa %xmm0,320(%rsp)
+movdqa %xmm8,%xmm0
+paddd %xmm14,%xmm0
+movdqa %xmm0,%xmm2
+pslld $18,%xmm0
+pxor  %xmm0,%xmm12
+psrld $14,%xmm2
+pxor  %xmm2,%xmm12
+movdqa %xmm11,%xmm0
+paddd %xmm1,%xmm0
+movdqa %xmm0,%xmm2
+pslld $7,%xmm0
+pxor  %xmm0,%xmm6
+psrld $25,%xmm2
+pxor  %xmm2,%xmm6
+movdqa 336(%rsp),%xmm2
+movdqa %xmm12,336(%rsp)
+movdqa %xmm3,%xmm0
+paddd %xmm2,%xmm0
+movdqa %xmm0,%xmm12
+pslld $7,%xmm0
+pxor  %xmm0,%xmm13
+psrld $25,%xmm12
+pxor  %xmm12,%xmm13
+movdqa %xmm1,%xmm0
+paddd %xmm6,%xmm0
+movdqa %xmm0,%xmm12
+pslld $9,%xmm0
+pxor  %xmm0,%xmm15
+psrld $23,%xmm12
+pxor  %xmm12,%xmm15
+movdqa %xmm2,%xmm0
+paddd %xmm13,%xmm0
+movdqa %xmm0,%xmm12
+pslld $9,%xmm0
+pxor  %xmm0,%xmm9
+psrld $23,%xmm12
+pxor  %xmm12,%xmm9
+movdqa %xmm6,%xmm0
+paddd %xmm15,%xmm0
+movdqa %xmm0,%xmm12
+pslld $13,%xmm0
+pxor  %xmm0,%xmm11
+psrld $19,%xmm12
+pxor  %xmm12,%xmm11
+movdqa %xmm13,%xmm0
+paddd %xmm9,%xmm0
+movdqa %xmm0,%xmm12
+pslld $13,%xmm0
+pxor  %xmm0,%xmm3
+psrld $19,%xmm12
+pxor  %xmm12,%xmm3
+movdqa %xmm15,%xmm0
+paddd %xmm11,%xmm0
+movdqa %xmm0,%xmm12
+pslld $18,%xmm0
+pxor  %xmm0,%xmm1
+psrld $14,%xmm12
+pxor  %xmm12,%xmm1
+movdqa %xmm9,%xmm0
+paddd %xmm3,%xmm0
+movdqa %xmm0,%xmm12
+pslld $18,%xmm0
+pxor  %xmm0,%xmm2
+psrld $14,%xmm12
+pxor  %xmm12,%xmm2
+movdqa 320(%rsp),%xmm12
+movdqa 336(%rsp),%xmm0
+sub  $2,%rdx
+ja ._mainloop1
+
+paddd 112(%rsp),%xmm12
+paddd 176(%rsp),%xmm7
+paddd 224(%rsp),%xmm10
+paddd 272(%rsp),%xmm4
+movd   %xmm12,%rdx
+movd   %xmm7,%rcx
+movd   %xmm10,%r8
+movd   %xmm4,%r9
+pshufd $0x39,%xmm12,%xmm12
+pshufd $0x39,%xmm7,%xmm7
+pshufd $0x39,%xmm10,%xmm10
+pshufd $0x39,%xmm4,%xmm4
+xorl 0(%rsi),%edx
+xorl 4(%rsi),%ecx
+xorl 8(%rsi),%r8d
+xorl 12(%rsi),%r9d
+movl   %edx,0(%rdi)
+movl   %ecx,4(%rdi)
+movl   %r8d,8(%rdi)
+movl   %r9d,12(%rdi)
+movd   %xmm12,%rdx
+movd   %xmm7,%rcx
+movd   %xmm10,%r8
+movd   %xmm4,%r9
+pshufd $0x39,%xmm12,%xmm12
+pshufd $0x39,%xmm7,%xmm7
+pshufd $0x39,%xmm10,%xmm10
+pshufd $0x39,%xmm4,%xmm4
+xorl 64(%rsi),%edx
+xorl 68(%rsi),%ecx
+xorl 72(%rsi),%r8d
+xorl 76(%rsi),%r9d
+movl   %edx,64(%rdi)
+movl   %ecx,68(%rdi)
+movl   %r8d,72(%rdi)
+movl   %r9d,76(%rdi)
+movd   %xmm12,%rdx
+movd   %xmm7,%rcx
+movd   %xmm10,%r8
+movd   %xmm4,%r9
+pshufd $0x39,%xmm12,%xmm12
+pshufd $0x39,%xmm7,%xmm7
+pshufd $0x39,%xmm10,%xmm10
+pshufd $0x39,%xmm4,%xmm4
+xorl 128(%rsi),%edx
+xorl 132(%rsi),%ecx
+xorl 136(%rsi),%r8d
+xorl 140(%rsi),%r9d
+movl   %edx,128(%rdi)
+movl   %ecx,132(%rdi)
+movl   %r8d,136(%rdi)
+movl   %r9d,140(%rdi)
+movd   %xmm12,%rdx
+movd   %xmm7,%rcx
+movd   %xmm10,%r8
+movd   %xmm4,%r9
+xorl 192(%rsi),%edx
+xorl 196(%rsi),%ecx
+xorl 200(%rsi),%r8d
+xorl 204(%rsi),%r9d
+movl   %edx,192(%rdi)
+movl   %ecx,196(%rdi)
+movl   %r8d,200(%rdi)
+movl   %r9d,204(%rdi)
+paddd 240(%rsp),%xmm14
+paddd 64(%rsp),%xmm0
+paddd 128(%rsp),%xmm5
+paddd 192(%rsp),%xmm8
+movd   %xmm14,%rdx
+movd   %xmm0,%rcx
+movd   %xmm5,%r8
+movd   %xmm8,%r9
+pshufd $0x39,%xmm14,%xmm14
+pshufd $0x39,%xmm0,%xmm0
+pshufd $0x39,%xmm5,%xmm5
+pshufd $0x39,%xmm8,%xmm8
+xorl 16(%rsi),%edx
+xorl 20(%rsi),%ecx
+xorl 24(%rsi),%r8d
+xorl 28(%rsi),%r9d
+movl   %edx,16(%rdi)
+movl   %ecx,20(%rdi)
+movl   %r8d,24(%rdi)
+movl   %r9d,28(%rdi)
+movd   %xmm14,%rdx
+movd   %xmm0,%rcx
+movd   %xmm5,%r8
+movd   %xmm8,%r9
+pshufd $0x39,%xmm14,%xmm14
+pshufd $0x39,%xmm0,%xmm0
+pshufd $0x39,%xmm5,%xmm5
+pshufd $0x39,%xmm8,%xmm8
+xorl 80(%rsi),%edx
+xorl 84(%rsi),%ecx
+xorl 88(%rsi),%r8d
+xorl 92(%rsi),%r9d
+movl   %edx,80(%rdi)
+movl   %ecx,84(%rdi)
+movl   %r8d,88(%rdi)
+movl   %r9d,92(%rdi)
+movd   %xmm14,%rdx
+movd   %xmm0,%rcx
+movd   %xmm5,%r8
+movd   %xmm8,%r9
+pshufd $0x39,%xmm14,%xmm14
+pshufd $0x39,%xmm0,%xmm0
+pshufd $0x39,%xmm5,%xmm5
+pshufd $0x39,%xmm8,%xmm8
+xorl 144(%rsi),%edx
+xorl 148(%rsi),%ecx
+xorl 152(%rsi),%r8d
+xorl 156(%rsi),%r9d
+movl   %edx,144(%rdi)
+movl   %ecx,148(%rdi)
+movl   %r8d,152(%rdi)
+movl   %r9d,156(%rdi)
+movd   %xmm14,%rdx
+movd   %xmm0,%rcx
+movd   %xmm5,%r8
+movd   %xmm8,%r9
+xorl 208(%rsi),%edx
+xorl 212(%rsi),%ecx
+xorl 216(%rsi),%r8d
+xorl 220(%rsi),%r9d
+movl   %edx,208(%rdi)
+movl   %ecx,212(%rdi)
+movl   %r8d,216(%rdi)
+movl   %r9d,220(%rdi)
+paddd 288(%rsp),%xmm15
+paddd 304(%rsp),%xmm11
+paddd 80(%rsp),%xmm1
+paddd 144(%rsp),%xmm6
+movd   %xmm15,%rdx
+movd   %xmm11,%rcx
+movd   %xmm1,%r8
+movd   %xmm6,%r9
+pshufd $0x39,%xmm15,%xmm15
+pshufd $0x39,%xmm11,%xmm11
+pshufd $0x39,%xmm1,%xmm1
+pshufd $0x39,%xmm6,%xmm6
+xorl 32(%rsi),%edx
+xorl 36(%rsi),%ecx
+xorl 40(%rsi),%r8d
+xorl 44(%rsi),%r9d
+movl   %edx,32(%rdi)
+movl   %ecx,36(%rdi)
+movl   %r8d,40(%rdi)
+movl   %r9d,44(%rdi)
+movd   %xmm15,%rdx
+movd   %xmm11,%rcx
+movd   %xmm1,%r8
+movd   %xmm6,%r9
+pshufd $0x39,%xmm15,%xmm15
+pshufd $0x39,%xmm11,%xmm11
+pshufd $0x39,%xmm1,%xmm1
+pshufd $0x39,%xmm6,%xmm6
+xorl 96(%rsi),%edx
+xorl 100(%rsi),%ecx
+xorl 104(%rsi),%r8d
+xorl 108(%rsi),%r9d
+movl   %edx,96(%rdi)
+movl   %ecx,100(%rdi)
+movl   %r8d,104(%rdi)
+movl   %r9d,108(%rdi)
+movd   %xmm15,%rdx
+movd   %xmm11,%rcx
+movd   %xmm1,%r8
+movd   %xmm6,%r9
+pshufd $0x39,%xmm15,%xmm15
+pshufd $0x39,%xmm11,%xmm11
+pshufd $0x39,%xmm1,%xmm1
+pshufd $0x39,%xmm6,%xmm6
+xorl 160(%rsi),%edx
+xorl 164(%rsi),%ecx
+xorl 168(%rsi),%r8d
+xorl 172(%rsi),%r9d
+movl   %edx,160(%rdi)
+movl   %ecx,164(%rdi)
+movl   %r8d,168(%rdi)
+movl   %r9d,172(%rdi)
+movd   %xmm15,%rdx
+movd   %xmm11,%rcx
+movd   %xmm1,%r8
+movd   %xmm6,%r9
+xorl 224(%rsi),%edx
+xorl 228(%rsi),%ecx
+xorl 232(%rsi),%r8d
+xorl 236(%rsi),%r9d
+movl   %edx,224(%rdi)
+movl   %ecx,228(%rdi)
+movl   %r8d,232(%rdi)
+movl   %r9d,236(%rdi)
+paddd 160(%rsp),%xmm13
+paddd 208(%rsp),%xmm9
+paddd 256(%rsp),%xmm3
+paddd 96(%rsp),%xmm2
+movd   %xmm13,%rdx
+movd   %xmm9,%rcx
+movd   %xmm3,%r8
+movd   %xmm2,%r9
+pshufd $0x39,%xmm13,%xmm13
+pshufd $0x39,%xmm9,%xmm9
+pshufd $0x39,%xmm3,%xmm3
+pshufd $0x39,%xmm2,%xmm2
+xorl 48(%rsi),%edx
+xorl 52(%rsi),%ecx
+xorl 56(%rsi),%r8d
+xorl 60(%rsi),%r9d
+movl   %edx,48(%rdi)
+movl   %ecx,52(%rdi)
+movl   %r8d,56(%rdi)
+movl   %r9d,60(%rdi)
+movd   %xmm13,%rdx
+movd   %xmm9,%rcx
+movd   %xmm3,%r8
+movd   %xmm2,%r9
+pshufd $0x39,%xmm13,%xmm13
+pshufd $0x39,%xmm9,%xmm9
+pshufd $0x39,%xmm3,%xmm3
+pshufd $0x39,%xmm2,%xmm2
+xorl 112(%rsi),%edx
+xorl 116(%rsi),%ecx
+xorl 120(%rsi),%r8d
+xorl 124(%rsi),%r9d
+movl   %edx,112(%rdi)
+movl   %ecx,116(%rdi)
+movl   %r8d,120(%rdi)
+movl   %r9d,124(%rdi)
+movd   %xmm13,%rdx
+movd   %xmm9,%rcx
+movd   %xmm3,%r8
+movd   %xmm2,%r9
+pshufd $0x39,%xmm13,%xmm13
+pshufd $0x39,%xmm9,%xmm9
+pshufd $0x39,%xmm3,%xmm3
+pshufd $0x39,%xmm2,%xmm2
+xorl 176(%rsi),%edx
+xorl 180(%rsi),%ecx
+xorl 184(%rsi),%r8d
+xorl 188(%rsi),%r9d
+movl   %edx,176(%rdi)
+movl   %ecx,180(%rdi)
+movl   %r8d,184(%rdi)
+movl   %r9d,188(%rdi)
+movd   %xmm13,%rdx
+movd   %xmm9,%rcx
+movd   %xmm3,%r8
+movd   %xmm2,%r9
+xorl 240(%rsi),%edx
+xorl 244(%rsi),%ecx
+xorl 248(%rsi),%r8d
+xorl 252(%rsi),%r9d
+movl   %edx,240(%rdi)
+movl   %ecx,244(%rdi)
+movl   %r8d,248(%rdi)
+movl   %r9d,252(%rdi)
+movq 408(%rsp),%r9
+sub  $256,%r9
+add  $256,%rsi
+add  $256,%rdi
+cmp  $256,%r9
+jae ._bytesatleast256
+
+cmp  $0,%r9
+jbe ._done
+
+._bytesbetween1and255:
+cmp  $64,%r9
+jae ._nocopy
+
+mov  %rdi,%rdx
+leaq 416(%rsp),%rdi
+mov  %r9,%rcx
+rep movsb
+leaq 416(%rsp),%rdi
+leaq 416(%rsp),%rsi
+
+._nocopy:
+movq %r9,408(%rsp)
+movdqa 48(%rsp),%xmm0
+movdqa 0(%rsp),%xmm1
+movdqa 16(%rsp),%xmm2
+movdqa 32(%rsp),%xmm3
+movdqa %xmm1,%xmm4
+mov  $20,%rcx
+
+._mainloop2:
+paddd %xmm0,%xmm4
+movdqa %xmm0,%xmm5
+movdqa %xmm4,%xmm6
+pslld $7,%xmm4
+psrld $25,%xmm6
+pxor  %xmm4,%xmm3
+pxor  %xmm6,%xmm3
+paddd %xmm3,%xmm5
+movdqa %xmm3,%xmm4
+movdqa %xmm5,%xmm6
+pslld $9,%xmm5
+psrld $23,%xmm6
+pxor  %xmm5,%xmm2
+pshufd $0x93,%xmm3,%xmm3
+pxor  %xmm6,%xmm2
+paddd %xmm2,%xmm4
+movdqa %xmm2,%xmm5
+movdqa %xmm4,%xmm6
+pslld $13,%xmm4
+psrld $19,%xmm6
+pxor  %xmm4,%xmm1
+pshufd $0x4e,%xmm2,%xmm2
+pxor  %xmm6,%xmm1
+paddd %xmm1,%xmm5
+movdqa %xmm3,%xmm4
+movdqa %xmm5,%xmm6
+pslld $18,%xmm5
+psrld $14,%xmm6
+pxor  %xmm5,%xmm0
+pshufd $0x39,%xmm1,%xmm1
+pxor  %xmm6,%xmm0
+paddd %xmm0,%xmm4
+movdqa %xmm0,%xmm5
+movdqa %xmm4,%xmm6
+pslld $7,%xmm4
+psrld $25,%xmm6
+pxor  %xmm4,%xmm1
+pxor  %xmm6,%xmm1
+paddd %xmm1,%xmm5
+movdqa %xmm1,%xmm4
+movdqa %xmm5,%xmm6
+pslld $9,%xmm5
+psrld $23,%xmm6
+pxor  %xmm5,%xmm2
+pshufd $0x93,%xmm1,%xmm1
+pxor  %xmm6,%xmm2
+paddd %xmm2,%xmm4
+movdqa %xmm2,%xmm5
+movdqa %xmm4,%xmm6
+pslld $13,%xmm4
+psrld $19,%xmm6
+pxor  %xmm4,%xmm3
+pshufd $0x4e,%xmm2,%xmm2
+pxor  %xmm6,%xmm3
+paddd %xmm3,%xmm5
+movdqa %xmm1,%xmm4
+movdqa %xmm5,%xmm6
+pslld $18,%xmm5
+psrld $14,%xmm6
+pxor  %xmm5,%xmm0
+pshufd $0x39,%xmm3,%xmm3
+pxor  %xmm6,%xmm0
+paddd %xmm0,%xmm4
+movdqa %xmm0,%xmm5
+movdqa %xmm4,%xmm6
+pslld $7,%xmm4
+psrld $25,%xmm6
+pxor  %xmm4,%xmm3
+pxor  %xmm6,%xmm3
+paddd %xmm3,%xmm5
+movdqa %xmm3,%xmm4
+movdqa %xmm5,%xmm6
+pslld $9,%xmm5
+psrld $23,%xmm6
+pxor  %xmm5,%xmm2
+pshufd $0x93,%xmm3,%xmm3
+pxor  %xmm6,%xmm2
+paddd %xmm2,%xmm4
+movdqa %xmm2,%xmm5
+movdqa %xmm4,%xmm6
+pslld $13,%xmm4
+psrld $19,%xmm6
+pxor  %xmm4,%xmm1
+pshufd $0x4e,%xmm2,%xmm2
+pxor  %xmm6,%xmm1
+paddd %xmm1,%xmm5
+movdqa %xmm3,%xmm4
+movdqa %xmm5,%xmm6
+pslld $18,%xmm5
+psrld $14,%xmm6
+pxor  %xmm5,%xmm0
+pshufd $0x39,%xmm1,%xmm1
+pxor  %xmm6,%xmm0
+paddd %xmm0,%xmm4
+movdqa %xmm0,%xmm5
+movdqa %xmm4,%xmm6
+pslld $7,%xmm4
+psrld $25,%xmm6
+pxor  %xmm4,%xmm1
+pxor  %xmm6,%xmm1
+paddd %xmm1,%xmm5
+movdqa %xmm1,%xmm4
+movdqa %xmm5,%xmm6
+pslld $9,%xmm5
+psrld $23,%xmm6
+pxor  %xmm5,%xmm2
+pshufd $0x93,%xmm1,%xmm1
+pxor  %xmm6,%xmm2
+paddd %xmm2,%xmm4
+movdqa %xmm2,%xmm5
+movdqa %xmm4,%xmm6
+pslld $13,%xmm4
+psrld $19,%xmm6
+pxor  %xmm4,%xmm3
+pshufd $0x4e,%xmm2,%xmm2
+pxor  %xmm6,%xmm3
+sub  $4,%rcx
+paddd %xmm3,%xmm5
+movdqa %xmm1,%xmm4
+movdqa %xmm5,%xmm6
+pslld $18,%xmm5
+pxor   %xmm7,%xmm7
+psrld $14,%xmm6
+pxor  %xmm5,%xmm0
+pshufd $0x39,%xmm3,%xmm3
+pxor  %xmm6,%xmm0
+ja ._mainloop2
+
+paddd 48(%rsp),%xmm0
+paddd 0(%rsp),%xmm1
+paddd 16(%rsp),%xmm2
+paddd 32(%rsp),%xmm3
+movd   %xmm0,%rcx
+movd   %xmm1,%r8
+movd   %xmm2,%r9
+movd   %xmm3,%rax
+pshufd $0x39,%xmm0,%xmm0
+pshufd $0x39,%xmm1,%xmm1
+pshufd $0x39,%xmm2,%xmm2
+pshufd $0x39,%xmm3,%xmm3
+xorl 0(%rsi),%ecx
+xorl 48(%rsi),%r8d
+xorl 32(%rsi),%r9d
+xorl 16(%rsi),%eax
+movl   %ecx,0(%rdi)
+movl   %r8d,48(%rdi)
+movl   %r9d,32(%rdi)
+movl   %eax,16(%rdi)
+movd   %xmm0,%rcx
+movd   %xmm1,%r8
+movd   %xmm2,%r9
+movd   %xmm3,%rax
+pshufd $0x39,%xmm0,%xmm0
+pshufd $0x39,%xmm1,%xmm1
+pshufd $0x39,%xmm2,%xmm2
+pshufd $0x39,%xmm3,%xmm3
+xorl 20(%rsi),%ecx
+xorl 4(%rsi),%r8d
+xorl 52(%rsi),%r9d
+xorl 36(%rsi),%eax
+movl   %ecx,20(%rdi)
+movl   %r8d,4(%rdi)
+movl   %r9d,52(%rdi)
+movl   %eax,36(%rdi)
+movd   %xmm0,%rcx
+movd   %xmm1,%r8
+movd   %xmm2,%r9
+movd   %xmm3,%rax
+pshufd $0x39,%xmm0,%xmm0
+pshufd $0x39,%xmm1,%xmm1
+pshufd $0x39,%xmm2,%xmm2
+pshufd $0x39,%xmm3,%xmm3
+xorl 40(%rsi),%ecx
+xorl 24(%rsi),%r8d
+xorl 8(%rsi),%r9d
+xorl 56(%rsi),%eax
+movl   %ecx,40(%rdi)
+movl   %r8d,24(%rdi)
+movl   %r9d,8(%rdi)
+movl   %eax,56(%rdi)
+movd   %xmm0,%rcx
+movd   %xmm1,%r8
+movd   %xmm2,%r9
+movd   %xmm3,%rax
+xorl 60(%rsi),%ecx
+xorl 44(%rsi),%r8d
+xorl 28(%rsi),%r9d
+xorl 12(%rsi),%eax
+movl   %ecx,60(%rdi)
+movl   %r8d,44(%rdi)
+movl   %r9d,28(%rdi)
+movl   %eax,12(%rdi)
+movq 408(%rsp),%r9
+movl 16(%rsp),%ecx
+movl 4+32(%rsp),%r8d
+add  $1,%rcx
+shl  $32,%r8
+add  %r8,%rcx
+mov  %rcx,%r8
+shr  $32,%r8
+movl %ecx,16(%rsp)
+movl %r8d,4+32(%rsp)
+cmp  $64,%r9
+
+ja ._bytesatleast65
+
+jae ._bytesatleast64
+
+mov  %rdi,%rsi
+mov  %rdx,%rdi
+mov  %r9,%rcx
+rep movsb
+
+._bytesatleast64:
+._done:
+movq 352(%rsp),%r11
+movq 360(%rsp),%r12
+movq 368(%rsp),%r13
+movq 376(%rsp),%r14
+movq 384(%rsp),%r15
+movq 392(%rsp),%rbx
+movq 400(%rsp),%rbp
+add %r11,%rsp
+xor %rax,%rax
+xor %rdx,%rdx
+ret
+
+._bytesatleast65:
+sub  $64,%r9
+add  $64,%rdi
+add  $64,%rsi
+jmp ._bytesbetween1and255
+
+#endif
+
+#if defined(__linux__) && defined(__ELF__)
+.section .note.GNU-stack,"",%progbits
+#endif
diff --git a/src/libsodium/src/libsodium/crypto_stream/salsa20/ref/api.h b/src/libsodium/src/libsodium/crypto_stream/salsa20/ref/api.h
new file mode 100644
index 00000000..4e9a8fc1
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_stream/salsa20/ref/api.h
@@ -0,0 +1,8 @@
+
+#include "crypto_stream_salsa20.h"
+
+#define crypto_stream_salsa20_implementation_name \
+    crypto_stream_salsa20_ref_implementation_name
+
+#define crypto_stream crypto_stream_salsa20_ref
+#define crypto_stream_xor crypto_stream_salsa20_ref_xor
diff --git a/src/libsodium/src/libsodium/crypto_stream/salsa20/ref/stream_salsa20_ref.c b/src/libsodium/src/libsodium/crypto_stream/salsa20/ref/stream_salsa20_ref.c
new file mode 100644
index 00000000..66015e32
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_stream/salsa20/ref/stream_salsa20_ref.c
@@ -0,0 +1,55 @@
+/*
+version 20080913
+D. J. Bernstein
+Public domain.
+*/
+
+#include "api.h"
+#include "crypto_core_salsa20.h"
+
+#ifndef HAVE_AMD64_ASM
+
+typedef unsigned int uint32;
+
+static const unsigned char sigma[16] = {
+    'e', 'x', 'p', 'a', 'n', 'd', ' ', '3', '2', '-', 'b', 'y', 't', 'e', ' ', 'k'
+};
+
+int crypto_stream(
+        unsigned char *c,unsigned long long clen,
+  const unsigned char *n,
+  const unsigned char *k
+)
+{
+  unsigned char in[16];
+  unsigned char block[64];
+  unsigned long long i;
+  unsigned int u;
+
+  if (!clen) return 0;
+
+  for (i = 0;i < 8;++i) in[i] = n[i];
+  for (i = 8;i < 16;++i) in[i] = 0;
+
+  while (clen >= 64) {
+    crypto_core_salsa20(c,in,k,sigma);
+
+    u = 1;
+    for (i = 8;i < 16;++i) {
+      u += (unsigned int) in[i];
+      in[i] = u;
+      u >>= 8;
+    }
+
+    clen -= 64;
+    c += 64;
+  }
+
+  if (clen) {
+    crypto_core_salsa20(block,in,k,sigma);
+    for (i = 0;i < clen;++i) c[i] = block[i];
+  }
+  return 0;
+}
+
+#endif
diff --git a/src/libsodium/src/libsodium/crypto_stream/salsa20/ref/xor_salsa20_ref.c b/src/libsodium/src/libsodium/crypto_stream/salsa20/ref/xor_salsa20_ref.c
new file mode 100644
index 00000000..7d728b27
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_stream/salsa20/ref/xor_salsa20_ref.c
@@ -0,0 +1,58 @@
+/*
+version 20080913
+D. J. Bernstein
+Public domain.
+*/
+
+#include "api.h"
+#include "crypto_core_salsa20.h"
+
+#ifndef HAVE_AMD64_ASM
+
+typedef unsigned int uint32;
+
+static const unsigned char sigma[16] = {
+    'e', 'x', 'p', 'a', 'n', 'd', ' ', '3', '2', '-', 'b', 'y', 't', 'e', ' ', 'k'
+};
+
+int crypto_stream_xor(
+        unsigned char *c,
+  const unsigned char *m,unsigned long long mlen,
+  const unsigned char *n,
+  const unsigned char *k
+)
+{
+  unsigned char in[16];
+  unsigned char block[64];
+  unsigned long long i;
+  unsigned int u;
+
+  if (!mlen) return 0;
+
+  for (i = 0;i < 8;++i) in[i] = n[i];
+  for (i = 8;i < 16;++i) in[i] = 0;
+
+  while (mlen >= 64) {
+    crypto_core_salsa20(block,in,k,sigma);
+    for (i = 0;i < 64;++i) c[i] = m[i] ^ block[i];
+
+    u = 1;
+    for (i = 8;i < 16;++i) {
+      u += (unsigned int) in[i];
+      in[i] = u;
+      u >>= 8;
+    }
+
+    mlen -= 64;
+    c += 64;
+    m += 64;
+  }
+
+  if (mlen) {
+    crypto_core_salsa20(block,in,k,sigma);
+    for (i = 0;i < mlen;++i) c[i] = m[i] ^ block[i];
+  }
+  return 0;
+}
+
+#endif
diff --git a/src/libsodium/src/libsodium/crypto_stream/salsa2012/ref/api.h b/src/libsodium/src/libsodium/crypto_stream/salsa2012/ref/api.h
new file mode 100644
index 00000000..216d529c
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_stream/salsa2012/ref/api.h
@@ -0,0 +1,11 @@
+
+#include "crypto_stream_salsa2012.h"
+
+#define crypto_stream crypto_stream_salsa2012
+#define crypto_stream_xor crypto_stream_salsa2012_xor
+#define crypto_stream_KEYBYTES crypto_stream_salsa2012_KEYBYTES
+#define crypto_stream_NONCEBYTES crypto_stream_salsa2012_NONCEBYTES
+#define crypto_stream_PRIMITIVE "salsa2012"
+#define crypto_stream_IMPLEMENTATION crypto_stream_salsa2012_IMPLEMENTATION
+#define crypto_stream_VERSION crypto_stream_salsa2012_VERSION
+
diff --git a/src/libsodium/src/libsodium/crypto_stream/salsa2012/ref/stream_salsa2012.c b/src/libsodium/src/libsodium/crypto_stream/salsa2012/ref/stream_salsa2012.c
new file mode 100644
index 00000000..793adaa5
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_stream/salsa2012/ref/stream_salsa2012.c
@@ -0,0 +1,51 @@
+/*
+version 20080913
+D. J. Bernstein
+Public domain.
+*/
+
+#include "api.h"
+#include "crypto_core_salsa2012.h"
+
+typedef unsigned int uint32;
+
+static const unsigned char sigma[16] = {
+    'e', 'x', 'p', 'a', 'n', 'd', ' ', '3', '2', '-', 'b', 'y', 't', 'e', ' ', 'k'
+};
+
+int crypto_stream(
+        unsigned char *c,unsigned long long clen,
+  const unsigned char *n,
+  const unsigned char *k
+)
+{
+  unsigned char in[16];
+  unsigned char block[64];
+  unsigned long long i;
+  unsigned int u;
+
+  if (!clen) return 0;
+
+  for (i = 0;i < 8;++i) in[i] = n[i];
+  for (i = 8;i < 16;++i) in[i] = 0;
+
+  while (clen >= 64) {
+    crypto_core_salsa2012(c,in,k,sigma);
+
+    u = 1;
+    for (i = 8;i < 16;++i) {
+      u += (unsigned int) in[i];
+      in[i] = u;
+      u >>= 8;
+    }
+
+    clen -= 64;
+    c += 64;
+  }
+
+  if (clen) {
+    crypto_core_salsa2012(block,in,k,sigma);
+    for (i = 0;i < clen;++i) c[i] = block[i];
+  }
+  return 0;
+}
diff --git a/src/libsodium/src/libsodium/crypto_stream/salsa2012/ref/xor_salsa2012.c b/src/libsodium/src/libsodium/crypto_stream/salsa2012/ref/xor_salsa2012.c
new file mode 100644
index 00000000..5970ca46
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_stream/salsa2012/ref/xor_salsa2012.c
@@ -0,0 +1,54 @@
+/*
+version 20080913
+D. J. Bernstein
+Public domain.
+*/
+
+#include "api.h"
+#include "crypto_core_salsa2012.h"
+
+typedef unsigned int uint32;
+
+static const unsigned char sigma[16] = {
+    'e', 'x', 'p', 'a', 'n', 'd', ' ', '3', '2', '-', 'b', 'y', 't', 'e', ' ', 'k'
+};
+
+int crypto_stream_xor(
+        unsigned char *c,
+  const unsigned char *m,unsigned long long mlen,
+  const unsigned char *n,
+  const unsigned char *k
+)
+{
+  unsigned char in[16];
+  unsigned char block[64];
+  unsigned long long i;
+  unsigned int u;
+
+  if (!mlen) return 0;
+
+  for (i = 0;i < 8;++i) in[i] = n[i];
+  for (i = 8;i < 16;++i) in[i] = 0;
+
+  while (mlen >= 64) {
+    crypto_core_salsa2012(block,in,k,sigma);
+    for (i = 0;i < 64;++i) c[i] = m[i] ^ block[i];
+
+    u = 1;
+    for (i = 8;i < 16;++i) {
+      u += (unsigned int) in[i];
+      in[i] = u;
+      u >>= 8;
+    }
+
+    mlen -= 64;
+    c += 64;
+    m += 64;
+  }
+
+  if (mlen) {
+    crypto_core_salsa2012(block,in,k,sigma);
+    for (i = 0;i < mlen;++i) c[i] = m[i] ^ block[i];
+  }
+  return 0;
+}
diff --git a/src/libsodium/src/libsodium/crypto_stream/salsa2012/stream_salsa2012_api.c b/src/libsodium/src/libsodium/crypto_stream/salsa2012/stream_salsa2012_api.c
new file mode 100644
index 00000000..f43d009c
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_stream/salsa2012/stream_salsa2012_api.c
@@ -0,0 +1,16 @@
+#include "crypto_stream_salsa2012.h"
+
+size_t
+crypto_stream_salsa2012_keybytes(void) {
+    return crypto_stream_salsa2012_KEYBYTES;
+}
+
+size_t
+crypto_stream_salsa2012_noncebytes(void) {
+    return crypto_stream_salsa2012_NONCEBYTES;
+}
+
+const char *
+crypto_stream_salsa2012_primitive(void) {
+    return "salsa2012";
+}
diff --git a/src/libsodium/src/libsodium/crypto_stream/salsa208/ref/api.h b/src/libsodium/src/libsodium/crypto_stream/salsa208/ref/api.h
new file mode 100644
index 00000000..be11510e
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_stream/salsa208/ref/api.h
@@ -0,0 +1,10 @@
+
+#include "crypto_stream_salsa208.h"
+
+#define crypto_stream crypto_stream_salsa208
+#define crypto_stream_xor crypto_stream_salsa208_xor
+#define crypto_stream_KEYBYTES crypto_stream_salsa208_KEYBYTES
+#define crypto_stream_NONCEBYTES crypto_stream_salsa208_NONCEBYTES
+#define crypto_stream_PRIMITIVE "salsa208"
+#define crypto_stream_IMPLEMENTATION crypto_stream_salsa208_IMPLEMENTATION
+#define crypto_stream_VERSION crypto_stream_salsa208_VERSION
diff --git a/src/libsodium/src/libsodium/crypto_stream/salsa208/ref/stream_salsa208.c b/src/libsodium/src/libsodium/crypto_stream/salsa208/ref/stream_salsa208.c
new file mode 100644
index 00000000..08890021
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_stream/salsa208/ref/stream_salsa208.c
@@ -0,0 +1,51 @@
+/*
+version 20080913
+D. J. Bernstein
+Public domain.
+*/
+
+#include "api.h"
+#include "crypto_core_salsa208.h"
+
+typedef unsigned int uint32;
+
+static const unsigned char sigma[16] = {
+        'e', 'x', 'p', 'a', 'n', 'd', ' ', '3', '2', '-', 'b', 'y', 't', 'e', ' ', 'k'
+};
+
+int crypto_stream(
+        unsigned char *c,unsigned long long clen,
+  const unsigned char *n,
+  const unsigned char *k
+)
+{
+  unsigned char in[16];
+  unsigned char block[64];
+  unsigned long long i;
+  unsigned int u;
+
+  if (!clen) return 0;
+
+  for (i = 0;i < 8;++i) in[i] = n[i];
+  for (i = 8;i < 16;++i) in[i] = 0;
+
+  while (clen >= 64) {
+    crypto_core_salsa208(c,in,k,sigma);
+
+    u = 1;
+    for (i = 8;i < 16;++i) {
+      u += (unsigned int) in[i];
+      in[i] = u;
+      u >>= 8;
+    }
+
+    clen -= 64;
+    c += 64;
+  }
+
+  if (clen) {
+    crypto_core_salsa208(block,in,k,sigma);
+    for (i = 0;i < clen;++i) c[i] = block[i];
+  }
+  return 0;
+}
diff --git a/src/libsodium/src/libsodium/crypto_stream/salsa208/ref/xor_salsa208.c b/src/libsodium/src/libsodium/crypto_stream/salsa208/ref/xor_salsa208.c
new file mode 100644
index 00000000..9f6dac55
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_stream/salsa208/ref/xor_salsa208.c
@@ -0,0 +1,54 @@
+/*
+version 20080913
+D. J. Bernstein
+Public domain.
+*/
+
+#include "api.h"
+#include "crypto_core_salsa208.h"
+
+typedef unsigned int uint32;
+
+static const unsigned char sigma[16] = {
+    'e', 'x', 'p', 'a', 'n', 'd', ' ', '3', '2', '-', 'b', 'y', 't', 'e', ' ', 'k'
+};
+
+int crypto_stream_xor(
+        unsigned char *c,
+  const unsigned char *m,unsigned long long mlen,
+  const unsigned char *n,
+  const unsigned char *k
+)
+{
+  unsigned char in[16];
+  unsigned char block[64];
+  unsigned long long i;
+  unsigned int u;
+
+  if (!mlen) return 0;
+
+  for (i = 0;i < 8;++i) in[i] = n[i];
+  for (i = 8;i < 16;++i) in[i] = 0;
+
+  while (mlen >= 64) {
+    crypto_core_salsa208(block,in,k,sigma);
+    for (i = 0;i < 64;++i) c[i] = m[i] ^ block[i];
+
+    u = 1;
+    for (i = 8;i < 16;++i) {
+      u += (unsigned int) in[i];
+      in[i] = u;
+      u >>= 8;
+    }
+
+    mlen -= 64;
+    c += 64;
+    m += 64;
+  }
+
+  if (mlen) {
+    crypto_core_salsa208(block,in,k,sigma);
+    for (i = 0;i < mlen;++i) c[i] = m[i] ^ block[i];
+  }
+  return 0;
+}
diff --git a/src/libsodium/src/libsodium/crypto_stream/salsa208/stream_salsa208_api.c b/src/libsodium/src/libsodium/crypto_stream/salsa208/stream_salsa208_api.c
new file mode 100644
index 00000000..7b160b35
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_stream/salsa208/stream_salsa208_api.c
@@ -0,0 +1,16 @@
+#include "crypto_stream_salsa208.h"
+
+size_t
+crypto_stream_salsa208_keybytes(void) {
+    return crypto_stream_salsa208_KEYBYTES;
+}
+
+size_t
+crypto_stream_salsa208_noncebytes(void) {
+    return crypto_stream_salsa208_NONCEBYTES;
+}
+
+const char *
+crypto_stream_salsa208_primitive(void) {
+    return "salsa208";
+}
diff --git a/src/libsodium/src/libsodium/crypto_stream/xsalsa20/ref/api.h b/src/libsodium/src/libsodium/crypto_stream/xsalsa20/ref/api.h
new file mode 100644
index 00000000..49b84bca
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_stream/xsalsa20/ref/api.h
@@ -0,0 +1,11 @@
+
+#include "crypto_stream_xsalsa20.h"
+
+#define crypto_stream crypto_stream_xsalsa20
+#define crypto_stream_xor crypto_stream_xsalsa20_xor
+#define crypto_stream_KEYBYTES crypto_stream_xsalsa20_KEYBYTES
+#define crypto_stream_NONCEBYTES crypto_stream_xsalsa20_NONCEBYTES
+#define crypto_stream_PRIMITIVE "xsalsa20"
+#define crypto_stream_IMPLEMENTATION crypto_stream_xsalsa20_IMPLEMENTATION
+#define crypto_stream_VERSION crypto_stream_xsalsa20_VERSION
+
diff --git a/src/libsodium/src/libsodium/crypto_stream/xsalsa20/ref/stream_xsalsa20.c b/src/libsodium/src/libsodium/crypto_stream/xsalsa20/ref/stream_xsalsa20.c
new file mode 100644
index 00000000..50f87887
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_stream/xsalsa20/ref/stream_xsalsa20.c
@@ -0,0 +1,24 @@
+/*
+version 20080914
+D. J. Bernstein
+Public domain.
+*/
+
+#include "api.h"
+#include "crypto_core_hsalsa20.h"
+#include "crypto_stream_salsa20.h"
+
+static const unsigned char sigma[16] = {
+    'e', 'x', 'p', 'a', 'n', 'd', ' ', '3', '2', '-', 'b', 'y', 't', 'e', ' ', 'k'
+};
+
+int crypto_stream(
+        unsigned char *c,unsigned long long clen,
+  const unsigned char *n,
+  const unsigned char *k
+)
+{
+  unsigned char subkey[32];
+  crypto_core_hsalsa20(subkey,n,k,sigma);
+  return crypto_stream_salsa20(c,clen,n + 16,subkey);
+}
diff --git a/src/libsodium/src/libsodium/crypto_stream/xsalsa20/ref/xor_xsalsa20.c b/src/libsodium/src/libsodium/crypto_stream/xsalsa20/ref/xor_xsalsa20.c
new file mode 100644
index 00000000..14cce18a
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_stream/xsalsa20/ref/xor_xsalsa20.c
@@ -0,0 +1,25 @@
+/*
+version 20080913
+D. J. Bernstein
+Public domain.
+*/
+
+#include "api.h"
+#include "crypto_core_hsalsa20.h"
+#include "crypto_stream_salsa20.h"
+
+static const unsigned char sigma[16] = {
+    'e', 'x', 'p', 'a', 'n', 'd', ' ', '3', '2', '-', 'b', 'y', 't', 'e', ' ', 'k'
+};
+
+int crypto_stream_xor(
+        unsigned char *c,
+  const unsigned char *m,unsigned long long mlen,
+  const unsigned char *n,
+  const unsigned char *k
+)
+{
+  unsigned char subkey[32];
+  crypto_core_hsalsa20(subkey,n,k,sigma);
+  return crypto_stream_salsa20_xor(c,m,mlen,n + 16,subkey);
+}
diff --git a/src/libsodium/src/libsodium/crypto_stream/xsalsa20/stream_xsalsa20_api.c b/src/libsodium/src/libsodium/crypto_stream/xsalsa20/stream_xsalsa20_api.c
new file mode 100644
index 00000000..def5f499
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_stream/xsalsa20/stream_xsalsa20_api.c
@@ -0,0 +1,16 @@
+#include "crypto_stream_xsalsa20.h"
+
+size_t
+crypto_stream_xsalsa20_keybytes(void) {
+    return crypto_stream_xsalsa20_KEYBYTES;
+}
+
+size_t
+crypto_stream_xsalsa20_noncebytes(void) {
+    return crypto_stream_xsalsa20_NONCEBYTES;
+}
+
+const char *
+crypto_stream_xsalsa20_primitive(void) {
+    return "xsalsa20";
+}
diff --git a/src/libsodium/src/libsodium/crypto_verify/16/ref/api.h b/src/libsodium/src/libsodium/crypto_verify/16/ref/api.h
new file mode 100644
index 00000000..8dcaf872
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_verify/16/ref/api.h
@@ -0,0 +1,2 @@
+
+#include "crypto_verify_16.h"
diff --git a/src/libsodium/src/libsodium/crypto_verify/16/ref/verify_16.c b/src/libsodium/src/libsodium/crypto_verify/16/ref/verify_16.c
new file mode 100644
index 00000000..f7e33f1c
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_verify/16/ref/verify_16.c
@@ -0,0 +1,24 @@
+#include "api.h"
+
+int crypto_verify_16(const unsigned char *x,const unsigned char *y)
+{
+  unsigned int differentbits = 0;
+#define F(i) differentbits |= x[i] ^ y[i];
+  F(0)
+  F(1)
+  F(2)
+  F(3)
+  F(4)
+  F(5)
+  F(6)
+  F(7)
+  F(8)
+  F(9)
+  F(10)
+  F(11)
+  F(12)
+  F(13)
+  F(14)
+  F(15)
+  return (1 & ((differentbits - 1) >> 8)) - 1;
+}
diff --git a/src/libsodium/src/libsodium/crypto_verify/16/verify_16_api.c b/src/libsodium/src/libsodium/crypto_verify/16/verify_16_api.c
new file mode 100644
index 00000000..757f9b63
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_verify/16/verify_16_api.c
@@ -0,0 +1,6 @@
+#include "crypto_verify_16.h"
+
+size_t
+crypto_verify_16_bytes(void) {
+    return crypto_verify_16_BYTES;
+}
diff --git a/src/libsodium/src/libsodium/crypto_verify/32/ref/api.h b/src/libsodium/src/libsodium/crypto_verify/32/ref/api.h
new file mode 100644
index 00000000..e2e3a1c7
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_verify/32/ref/api.h
@@ -0,0 +1,2 @@
+
+#include "crypto_verify_32.h"
diff --git a/src/libsodium/src/libsodium/crypto_verify/32/ref/verify_32.c b/src/libsodium/src/libsodium/crypto_verify/32/ref/verify_32.c
new file mode 100644
index 00000000..31c36971
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_verify/32/ref/verify_32.c
@@ -0,0 +1,40 @@
+#include "api.h"
+
+int crypto_verify_32(const unsigned char *x,const unsigned char *y)
+{
+  unsigned int differentbits = 0;
+#define F(i) differentbits |= x[i] ^ y[i];
+  F(0)
+  F(1)
+  F(2)
+  F(3)
+  F(4)
+  F(5)
+  F(6)
+  F(7)
+  F(8)
+  F(9)
+  F(10)
+  F(11)
+  F(12)
+  F(13)
+  F(14)
+  F(15)
+  F(16)
+  F(17)
+  F(18)
+  F(19)
+  F(20)
+  F(21)
+  F(22)
+  F(23)
+  F(24)
+  F(25)
+  F(26)
+  F(27)
+  F(28)
+  F(29)
+  F(30)
+  F(31)
+  return (1 & ((differentbits - 1) >> 8)) - 1;
+}
diff --git a/src/libsodium/src/libsodium/crypto_verify/32/verify_32_api.c b/src/libsodium/src/libsodium/crypto_verify/32/verify_32_api.c
new file mode 100644
index 00000000..6241c4d3
--- /dev/null
+++ b/src/libsodium/src/libsodium/crypto_verify/32/verify_32_api.c
@@ -0,0 +1,6 @@
+#include "crypto_verify_32.h"
+
+size_t
+crypto_verify_32_bytes(void) {
+    return crypto_verify_32_BYTES;
+}
diff --git a/src/libsodium/src/libsodium/include/Makefile.am b/src/libsodium/src/libsodium/include/Makefile.am
new file mode 100644
index 00000000..50e787a6
--- /dev/null
+++ b/src/libsodium/src/libsodium/include/Makefile.am
@@ -0,0 +1,61 @@
+
+SODIUM_EXPORT = \
+	sodium.h \
+	sodium/core.h \
+	sodium/crypto_auth.h \
+	sodium/crypto_auth_hmacsha256.h \
+	sodium/crypto_auth_hmacsha512256.h \
+	sodium/crypto_box.h \
+	sodium/crypto_box_curve25519xsalsa20poly1305.h \
+	sodium/crypto_core_hsalsa20.h \
+	sodium/crypto_core_salsa20.h \
+	sodium/crypto_core_salsa2012.h \
+	sodium/crypto_core_salsa208.h \
+	sodium/crypto_generichash.h \
+	sodium/crypto_generichash_blake2b.h \
+	sodium/crypto_hash.h \
+	sodium/crypto_hash_sha256.h \
+	sodium/crypto_hash_sha512.h \
+	sodium/crypto_hashblocks_sha256.h \
+	sodium/crypto_hashblocks_sha512.h \
+	sodium/crypto_onetimeauth.h \
+	sodium/crypto_onetimeauth_poly1305.h \
+	sodium/crypto_onetimeauth_poly1305_53.h \
+	sodium/crypto_onetimeauth_poly1305_donna.h \
+	sodium/crypto_scalarmult.h \
+	sodium/crypto_scalarmult_curve25519.h \
+	sodium/crypto_secretbox.h \
+	sodium/crypto_secretbox_xsalsa20poly1305.h \
+	sodium/crypto_shorthash.h \
+	sodium/crypto_shorthash_siphash24.h \
+	sodium/crypto_sign.h \
+	sodium/crypto_sign_ed25519.h \
+	sodium/crypto_sign_edwards25519sha512batch.h \
+	sodium/crypto_stream.h \
+	sodium/crypto_stream_aes128ctr.h \
+	sodium/crypto_stream_aes256estream.h \
+	sodium/crypto_stream_salsa20.h \
+	sodium/crypto_stream_salsa2012.h \
+	sodium/crypto_stream_salsa208.h \
+	sodium/crypto_stream_xsalsa20.h \
+	sodium/crypto_int32.h \
+	sodium/crypto_int64.h \
+	sodium/crypto_uint16.h \
+	sodium/crypto_uint32.h \
+	sodium/crypto_uint64.h \
+	sodium/crypto_uint8.h \
+	sodium/crypto_verify_16.h \
+	sodium/crypto_verify_32.h \
+	sodium/export.h \
+	sodium/randombytes.h \
+	sodium/randombytes_salsa20_random.h \
+	sodium/randombytes_sysrandom.h \
+	sodium/utils.h \
+	sodium/version.h
+
+EXTRA_SRC = $(SODIUM_EXPORT) \
+	sodium/crypto_scalarmult_curve25519.h.in \
+	sodium/crypto_stream_salsa20.h.in \
+	sodium/version.h.in
+
+nobase_include_HEADERS = $(SODIUM_EXPORT)
diff --git a/src/libsodium/src/libsodium/include/Makefile.in b/src/libsodium/src/libsodium/include/Makefile.in
new file mode 100644
index 00000000..a74029be
--- /dev/null
+++ b/src/libsodium/src/libsodium/include/Makefile.in
@@ -0,0 +1,627 @@
+# Makefile.in generated by automake 1.14 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+VPATH = @srcdir@
+am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__make_running_with_option = \
+  case $${target_option-} in \
+      ?) ;; \
+      *) echo "am__make_running_with_option: internal error: invalid" \
+              "target option '$${target_option-}' specified" >&2; \
+         exit 1;; \
+  esac; \
+  has_opt=no; \
+  sane_makeflags=$$MAKEFLAGS; \
+  if $(am__is_gnu_make); then \
+    sane_makeflags=$$MFLAGS; \
+  else \
+    case $$MAKEFLAGS in \
+      *\\[\ \	]*) \
+        bs=\\; \
+        sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+          | sed "s/$$bs$$bs[$$bs $$bs	]*//g"`;; \
+    esac; \
+  fi; \
+  skip_next=no; \
+  strip_trailopt () \
+  { \
+    flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+  }; \
+  for flg in $$sane_makeflags; do \
+    test $$skip_next = yes && { skip_next=no; continue; }; \
+    case $$flg in \
+      *=*|--*) continue;; \
+        -*I) strip_trailopt 'I'; skip_next=yes;; \
+      -*I?*) strip_trailopt 'I';; \
+        -*O) strip_trailopt 'O'; skip_next=yes;; \
+      -*O?*) strip_trailopt 'O';; \
+        -*l) strip_trailopt 'l'; skip_next=yes;; \
+      -*l?*) strip_trailopt 'l';; \
+      -[dEDm]) skip_next=yes;; \
+      -[JT]) skip_next=yes;; \
+    esac; \
+    case $$flg in \
+      *$$target_option*) has_opt=yes; break;; \
+    esac; \
+  done; \
+  test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
+pkgdatadir = $(datadir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+subdir = src/libsodium/include
+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
+	$(nobase_include_HEADERS)
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/ax_check_compile_flag.m4 \
+	$(top_srcdir)/m4/ax_check_link_flag.m4 \
+	$(top_srcdir)/m4/ld-output-def.m4 $(top_srcdir)/m4/libtool.m4 \
+	$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+	$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+	$(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+	$(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo "  GEN     " $@;
+am__v_GEN_1 = 
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 = 
+SOURCES =
+DIST_SOURCES =
+am__can_run_installinfo = \
+  case $$AM_UPDATE_INFO_DIR in \
+    n|no|NO) false;; \
+    *) (install-info --version) >/dev/null 2>&1;; \
+  esac
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+    $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+    *) f=$$p;; \
+  esac;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+  srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+  for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+  for p in $$list; do echo "$$p $$p"; done | \
+  sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+  $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+    if (++n[$$2] == $(am__install_max)) \
+      { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+    END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+  sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+  sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+  test -z "$$files" \
+    || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+    || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+         $(am__cd) "$$dir" && rm -f $$files; }; \
+  }
+am__installdirs = "$(DESTDIR)$(includedir)"
+HEADERS = $(nobase_include_HEADERS)
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates.  Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+  BEGIN { nonempty = 0; } \
+  { items[$$0] = 1; nonempty = 1; } \
+  END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique.  This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+  list='$(am__tagged_files)'; \
+  unique=`for i in $$list; do \
+    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+  done | $(am__uniquify_input)`
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AR = @AR@
+AS = @AS@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCAS = @CCAS@
+CCASDEPMODE = @CCASDEPMODE@
+CCASFLAGS = @CCASFLAGS@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CWFLAGS = @CWFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DLLTOOL = @DLLTOOL@
+DLL_VERSION = @DLL_VERSION@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+GREP = @GREP@
+HAVE_AMD64_ASM_V = @HAVE_AMD64_ASM_V@
+HAVE_CPUID_V = @HAVE_CPUID_V@
+HAVE_PKG_CONFIG = @HAVE_PKG_CONFIG@
+HAVE_TI_MODE_V = @HAVE_TI_MODE_V@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+ISODATE = @ISODATE@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIBTOOL_DEPS = @LIBTOOL_DEPS@
+LIBTOOL_EXTRA_FLAGS = @LIBTOOL_EXTRA_FLAGS@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MKDIR_P = @MKDIR_P@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
+RANLIB = @RANLIB@
+SAFECODE_HOME = @SAFECODE_HOME@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+SODIUM_LIBRARY_VERSION = @SODIUM_LIBRARY_VERSION@
+SODIUM_LIBRARY_VERSION_MAJOR = @SODIUM_LIBRARY_VERSION_MAJOR@
+SODIUM_LIBRARY_VERSION_MINOR = @SODIUM_LIBRARY_VERSION_MINOR@
+STRIP = @STRIP@
+VERSION = @VERSION@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+SODIUM_EXPORT = \
+	sodium.h \
+	sodium/core.h \
+	sodium/crypto_auth.h \
+	sodium/crypto_auth_hmacsha256.h \
+	sodium/crypto_auth_hmacsha512256.h \
+	sodium/crypto_box.h \
+	sodium/crypto_box_curve25519xsalsa20poly1305.h \
+	sodium/crypto_core_hsalsa20.h \
+	sodium/crypto_core_salsa20.h \
+	sodium/crypto_core_salsa2012.h \
+	sodium/crypto_core_salsa208.h \
+	sodium/crypto_generichash.h \
+	sodium/crypto_generichash_blake2b.h \
+	sodium/crypto_hash.h \
+	sodium/crypto_hash_sha256.h \
+	sodium/crypto_hash_sha512.h \
+	sodium/crypto_hashblocks_sha256.h \
+	sodium/crypto_hashblocks_sha512.h \
+	sodium/crypto_onetimeauth.h \
+	sodium/crypto_onetimeauth_poly1305.h \
+	sodium/crypto_onetimeauth_poly1305_53.h \
+	sodium/crypto_onetimeauth_poly1305_donna.h \
+	sodium/crypto_scalarmult.h \
+	sodium/crypto_scalarmult_curve25519.h \
+	sodium/crypto_secretbox.h \
+	sodium/crypto_secretbox_xsalsa20poly1305.h \
+	sodium/crypto_shorthash.h \
+	sodium/crypto_shorthash_siphash24.h \
+	sodium/crypto_sign.h \
+	sodium/crypto_sign_ed25519.h \
+	sodium/crypto_sign_edwards25519sha512batch.h \
+	sodium/crypto_stream.h \
+	sodium/crypto_stream_aes128ctr.h \
+	sodium/crypto_stream_aes256estream.h \
+	sodium/crypto_stream_salsa20.h \
+	sodium/crypto_stream_salsa2012.h \
+	sodium/crypto_stream_salsa208.h \
+	sodium/crypto_stream_xsalsa20.h \
+	sodium/crypto_int32.h \
+	sodium/crypto_int64.h \
+	sodium/crypto_uint16.h \
+	sodium/crypto_uint32.h \
+	sodium/crypto_uint64.h \
+	sodium/crypto_uint8.h \
+	sodium/crypto_verify_16.h \
+	sodium/crypto_verify_32.h \
+	sodium/export.h \
+	sodium/randombytes.h \
+	sodium/randombytes_salsa20_random.h \
+	sodium/randombytes_sysrandom.h \
+	sodium/utils.h \
+	sodium/version.h
+
+EXTRA_SRC = $(SODIUM_EXPORT) \
+	sodium/crypto_scalarmult_curve25519.h.in \
+	sodium/crypto_stream_salsa20.h.in \
+	sodium/version.h.in
+
+nobase_include_HEADERS = $(SODIUM_EXPORT)
+all: all-am
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__configure_deps)
+	@for dep in $?; do \
+	  case '$(am__configure_deps)' in \
+	    *$$dep*) \
+	      ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+	        && { if test -f $@; then exit 0; else break; fi; }; \
+	      exit 1;; \
+	  esac; \
+	done; \
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/libsodium/include/Makefile'; \
+	$(am__cd) $(top_srcdir) && \
+	  $(AUTOMAKE) --foreign src/libsodium/include/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+	@case '$?' in \
+	  *config.status*) \
+	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+	  *) \
+	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+	esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+
+mostlyclean-libtool:
+	-rm -f *.lo
+
+clean-libtool:
+	-rm -rf .libs _libs
+install-nobase_includeHEADERS: $(nobase_include_HEADERS)
+	@$(NORMAL_INSTALL)
+	@list='$(nobase_include_HEADERS)'; test -n "$(includedir)" || list=; \
+	if test -n "$$list"; then \
+	  echo " $(MKDIR_P) '$(DESTDIR)$(includedir)'"; \
+	  $(MKDIR_P) "$(DESTDIR)$(includedir)" || exit 1; \
+	fi; \
+	$(am__nobase_list) | while read dir files; do \
+	  xfiles=; for file in $$files; do \
+	    if test -f "$$file"; then xfiles="$$xfiles $$file"; \
+	    else xfiles="$$xfiles $(srcdir)/$$file"; fi; done; \
+	  test -z "$$xfiles" || { \
+	    test "x$$dir" = x. || { \
+	      echo " $(MKDIR_P) '$(DESTDIR)$(includedir)/$$dir'"; \
+	      $(MKDIR_P) "$(DESTDIR)$(includedir)/$$dir"; }; \
+	    echo " $(INSTALL_HEADER) $$xfiles '$(DESTDIR)$(includedir)/$$dir'"; \
+	    $(INSTALL_HEADER) $$xfiles "$(DESTDIR)$(includedir)/$$dir" || exit $$?; }; \
+	done
+
+uninstall-nobase_includeHEADERS:
+	@$(NORMAL_UNINSTALL)
+	@list='$(nobase_include_HEADERS)'; test -n "$(includedir)" || list=; \
+	$(am__nobase_strip_setup); files=`$(am__nobase_strip)`; \
+	dir='$(DESTDIR)$(includedir)'; $(am__uninstall_files_from_dir)
+
+ID: $(am__tagged_files)
+	$(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-am
+TAGS: tags
+
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+	set x; \
+	here=`pwd`; \
+	$(am__define_uniq_tagged_files); \
+	shift; \
+	if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+	  test -n "$$unique" || unique=$$empty_fix; \
+	  if test $$# -gt 0; then \
+	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	      "$$@" $$unique; \
+	  else \
+	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	      $$unique; \
+	  fi; \
+	fi
+ctags: ctags-am
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+	$(am__define_uniq_tagged_files); \
+	test -z "$(CTAGS_ARGS)$$unique" \
+	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+	     $$unique
+
+GTAGS:
+	here=`$(am__cd) $(top_builddir) && pwd` \
+	  && $(am__cd) $(top_srcdir) \
+	  && gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-am
+
+cscopelist-am: $(am__tagged_files)
+	list='$(am__tagged_files)'; \
+	case "$(srcdir)" in \
+	  [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+	  *) sdir=$(subdir)/$(srcdir) ;; \
+	esac; \
+	for i in $$list; do \
+	  if test -f "$$i"; then \
+	    echo "$(subdir)/$$i"; \
+	  else \
+	    echo "$$sdir/$$i"; \
+	  fi; \
+	done >> $(top_builddir)/cscope.files
+
+distclean-tags:
+	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+	list='$(DISTFILES)'; \
+	  dist_files=`for file in $$list; do echo $$file; done | \
+	  sed -e "s|^$$srcdirstrip/||;t" \
+	      -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+	case $$dist_files in \
+	  */*) $(MKDIR_P) `echo "$$dist_files" | \
+			   sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+			   sort -u` ;; \
+	esac; \
+	for file in $$dist_files; do \
+	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	  if test -d $$d/$$file; then \
+	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+	    if test -d "$(distdir)/$$file"; then \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
+	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
+	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
+	  else \
+	    test -f "$(distdir)/$$file" \
+	    || cp -p $$d/$$file "$(distdir)/$$file" \
+	    || exit 1; \
+	  fi; \
+	done
+check-am: all-am
+check: check-am
+all-am: Makefile $(HEADERS)
+installdirs:
+	for dir in "$(DESTDIR)$(includedir)"; do \
+	  test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+	done
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+
+maintainer-clean-generic:
+	@echo "This command is intended for maintainers to use"
+	@echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-am
+	-rm -f Makefile
+distclean-am: clean-am distclean-generic distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am: install-nobase_includeHEADERS
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+	-rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-nobase_includeHEADERS
+
+.MAKE: install-am install-strip
+
+.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \
+	clean-libtool cscopelist-am ctags ctags-am distclean \
+	distclean-generic distclean-libtool distclean-tags distdir dvi \
+	dvi-am html html-am info info-am install install-am \
+	install-data install-data-am install-dvi install-dvi-am \
+	install-exec install-exec-am install-html install-html-am \
+	install-info install-info-am install-man \
+	install-nobase_includeHEADERS install-pdf install-pdf-am \
+	install-ps install-ps-am install-strip installcheck \
+	installcheck-am installdirs maintainer-clean \
+	maintainer-clean-generic mostlyclean mostlyclean-generic \
+	mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \
+	uninstall-am uninstall-nobase_includeHEADERS
+
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/src/libsodium/src/libsodium/include/sodium.h b/src/libsodium/src/libsodium/include/sodium.h
new file mode 100644
index 00000000..ac37b16a
--- /dev/null
+++ b/src/libsodium/src/libsodium/include/sodium.h
@@ -0,0 +1,48 @@
+
+#ifndef __SODIUM_H__
+#define __SODIUM_H__
+
+#include <sodium/core.h>
+#include <sodium/crypto_auth.h>
+#include <sodium/crypto_auth_hmacsha256.h>
+#include <sodium/crypto_auth_hmacsha512256.h>
+#include <sodium/crypto_box.h>
+#include <sodium/crypto_box_curve25519xsalsa20poly1305.h>
+#include <sodium/crypto_core_hsalsa20.h>
+#include <sodium/crypto_core_salsa20.h>
+#include <sodium/crypto_core_salsa2012.h>
+#include <sodium/crypto_core_salsa208.h>
+#include <sodium/crypto_generichash.h>
+#include <sodium/crypto_generichash_blake2b.h>
+#include <sodium/crypto_hash.h>
+#include <sodium/crypto_hash_sha256.h>
+#include <sodium/crypto_hash_sha512.h>
+#include <sodium/crypto_hashblocks_sha256.h>
+#include <sodium/crypto_hashblocks_sha512.h>
+#include <sodium/crypto_onetimeauth.h>
+#include <sodium/crypto_onetimeauth_poly1305.h>
+#include <sodium/crypto_scalarmult.h>
+#include <sodium/crypto_scalarmult_curve25519.h>
+#include <sodium/crypto_secretbox.h>
+#include <sodium/crypto_secretbox_xsalsa20poly1305.h>
+#include <sodium/crypto_shorthash.h>
+#include <sodium/crypto_shorthash_siphash24.h>
+#include <sodium/crypto_sign.h>
+#include <sodium/crypto_sign_ed25519.h>
+#include <sodium/crypto_sign_edwards25519sha512batch.h>
+#include <sodium/crypto_stream.h>
+#include <sodium/crypto_stream_aes128ctr.h>
+#include <sodium/crypto_stream_aes256estream.h>
+#include <sodium/crypto_stream_salsa20.h>
+#include <sodium/crypto_stream_salsa2012.h>
+#include <sodium/crypto_stream_salsa208.h>
+#include <sodium/crypto_stream_xsalsa20.h>
+#include <sodium/crypto_verify_16.h>
+#include <sodium/crypto_verify_32.h>
+#include <sodium/randombytes.h>
+#include <sodium/randombytes_salsa20_random.h>
+#include <sodium/randombytes_sysrandom.h>
+#include <sodium/utils.h>
+#include <sodium/version.h>
+
+#endif
diff --git a/src/libsodium/src/libsodium/include/sodium/core.h b/src/libsodium/src/libsodium/include/sodium/core.h
new file mode 100644
index 00000000..6be22104
--- /dev/null
+++ b/src/libsodium/src/libsodium/include/sodium/core.h
@@ -0,0 +1,18 @@
+
+#ifndef __SODIUM_CORE_H__
+#define __SODIUM_CORE_H__
+
+#include "export.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+SODIUM_EXPORT
+int sodium_init(void);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
diff --git a/src/libsodium/src/libsodium/include/sodium/crypto_auth.h b/src/libsodium/src/libsodium/include/sodium/crypto_auth.h
new file mode 100644
index 00000000..b28533d0
--- /dev/null
+++ b/src/libsodium/src/libsodium/include/sodium/crypto_auth.h
@@ -0,0 +1,36 @@
+#ifndef crypto_auth_H
+#define crypto_auth_H
+
+#include <stddef.h>
+
+#include "crypto_auth_hmacsha512256.h"
+#include "export.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#define crypto_auth_BYTES crypto_auth_hmacsha512256_BYTES
+SODIUM_EXPORT
+size_t  crypto_auth_bytes(void);
+
+#define crypto_auth_KEYBYTES crypto_auth_hmacsha512256_KEYBYTES
+SODIUM_EXPORT
+size_t  crypto_auth_keybytes(void);
+
+#define crypto_auth_PRIMITIVE "hmacsha512256"
+SODIUM_EXPORT
+const char *crypto_auth_primitive(void);
+
+SODIUM_EXPORT
+int crypto_auth(unsigned char *out, const unsigned char *in,
+                unsigned long long inlen, const unsigned char *k);
+
+SODIUM_EXPORT
+int crypto_auth_verify(const unsigned char *h, const unsigned char *in,
+                       unsigned long long inlen, const unsigned char *k);
+#ifdef __cplusplus
+}
+#endif
+
+#endif
diff --git a/src/libsodium/src/libsodium/include/sodium/crypto_auth_hmacsha256.h b/src/libsodium/src/libsodium/include/sodium/crypto_auth_hmacsha256.h
new file mode 100644
index 00000000..a0b01004
--- /dev/null
+++ b/src/libsodium/src/libsodium/include/sodium/crypto_auth_hmacsha256.h
@@ -0,0 +1,36 @@
+#ifndef crypto_auth_hmacsha256_H
+#define crypto_auth_hmacsha256_H
+
+#include <stddef.h>
+#include "export.h"
+
+#define crypto_auth_hmacsha256_BYTES 32U
+#define crypto_auth_hmacsha256_KEYBYTES 32U
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+SODIUM_EXPORT
+size_t crypto_auth_hmacsha256_bytes(void);
+
+SODIUM_EXPORT
+size_t crypto_auth_hmacsha256_keybytes(void);
+
+SODIUM_EXPORT
+const char * crypto_auth_hmacsha256_primitive(void);
+
+SODIUM_EXPORT
+int crypto_auth_hmacsha256(unsigned char *,const unsigned char *,unsigned long long,const unsigned char *);
+
+SODIUM_EXPORT
+int crypto_auth_hmacsha256_verify(const unsigned char *,const unsigned char *,unsigned long long,const unsigned char *);
+
+#ifdef __cplusplus
+}
+#endif
+
+#define crypto_auth_hmacsha256_ref crypto_auth_hmacsha256
+#define crypto_auth_hmacsha256_ref_verify crypto_auth_hmacsha256_verify
+
+#endif
diff --git a/src/libsodium/src/libsodium/include/sodium/crypto_auth_hmacsha512256.h b/src/libsodium/src/libsodium/include/sodium/crypto_auth_hmacsha512256.h
new file mode 100644
index 00000000..d46653c6
--- /dev/null
+++ b/src/libsodium/src/libsodium/include/sodium/crypto_auth_hmacsha512256.h
@@ -0,0 +1,36 @@
+#ifndef crypto_auth_hmacsha512256_H
+#define crypto_auth_hmacsha512256_H
+
+#include <stddef.h>
+#include "export.h"
+
+#define crypto_auth_hmacsha512256_BYTES 32U
+#define crypto_auth_hmacsha512256_KEYBYTES 32U
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+SODIUM_EXPORT
+size_t crypto_auth_hmacsha512256_bytes(void);
+
+SODIUM_EXPORT
+size_t crypto_auth_hmacsha512256_keybytes(void);
+
+SODIUM_EXPORT
+const char * crypto_auth_hmacsha512256_primitive(void);
+
+SODIUM_EXPORT
+int crypto_auth_hmacsha512256(unsigned char *,const unsigned char *,unsigned long long,const unsigned char *);
+
+SODIUM_EXPORT
+int crypto_auth_hmacsha512256_verify(const unsigned char *,const unsigned char *,unsigned long long,const unsigned char *);
+
+#ifdef __cplusplus
+}
+#endif
+
+#define crypto_auth_hmacsha512256_ref crypto_auth_hmacsha512256
+#define crypto_auth_hmacsha512256_ref_verify crypto_auth_hmacsha512256_verify
+
+#endif
diff --git a/src/libsodium/src/libsodium/include/sodium/crypto_box.h b/src/libsodium/src/libsodium/include/sodium/crypto_box.h
new file mode 100644
index 00000000..a2ff0a1e
--- /dev/null
+++ b/src/libsodium/src/libsodium/include/sodium/crypto_box.h
@@ -0,0 +1,83 @@
+#ifndef crypto_box_H
+#define crypto_box_H
+
+/*
+ * THREAD SAFETY: crypto_box_keypair() is thread-safe,
+ * provided that you called sodium_init() once before using any
+ * other libsodium function.
+ * Other functions are always thread-safe.
+ */
+
+#include <stddef.h>
+
+#include "crypto_box_curve25519xsalsa20poly1305.h"
+#include "export.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#define crypto_box_PUBLICKEYBYTES crypto_box_curve25519xsalsa20poly1305_PUBLICKEYBYTES
+SODIUM_EXPORT
+size_t  crypto_box_publickeybytes(void);
+
+#define crypto_box_SECRETKEYBYTES crypto_box_curve25519xsalsa20poly1305_SECRETKEYBYTES
+SODIUM_EXPORT
+size_t  crypto_box_secretkeybytes(void);
+
+#define crypto_box_BEFORENMBYTES crypto_box_curve25519xsalsa20poly1305_BEFORENMBYTES
+SODIUM_EXPORT
+size_t  crypto_box_beforenmbytes(void);
+
+#define crypto_box_NONCEBYTES crypto_box_curve25519xsalsa20poly1305_NONCEBYTES
+SODIUM_EXPORT
+size_t  crypto_box_noncebytes(void);
+
+#define crypto_box_ZEROBYTES crypto_box_curve25519xsalsa20poly1305_ZEROBYTES
+SODIUM_EXPORT
+size_t  crypto_box_zerobytes(void);
+
+#define crypto_box_BOXZEROBYTES crypto_box_curve25519xsalsa20poly1305_BOXZEROBYTES
+SODIUM_EXPORT
+size_t  crypto_box_boxzerobytes(void);
+
+#define crypto_box_MACBYTES crypto_box_curve25519xsalsa20poly1305_MACBYTES
+SODIUM_EXPORT
+size_t  crypto_box_macbytes(void);
+
+#define crypto_box_PRIMITIVE "curve25519xsalsa20poly1305"
+SODIUM_EXPORT
+const char *crypto_box_primitive(void);
+
+SODIUM_EXPORT
+int crypto_box_keypair(unsigned char *pk, unsigned char *sk);
+
+SODIUM_EXPORT
+int crypto_box_beforenm(unsigned char *k, const unsigned char *pk,
+                        const unsigned char *sk);
+
+SODIUM_EXPORT
+int crypto_box_afternm(unsigned char *c, const unsigned char *m,
+                       unsigned long long mlen, const unsigned char *n,
+                       const unsigned char *k);
+
+SODIUM_EXPORT
+int crypto_box_open_afternm(unsigned char *m, const unsigned char *c,
+                            unsigned long long clen, const unsigned char *n,
+                            const unsigned char *k);
+
+SODIUM_EXPORT
+int crypto_box(unsigned char *c, const unsigned char *m,
+               unsigned long long mlen, const unsigned char *n,
+               const unsigned char *pk, const unsigned char *sk);
+
+SODIUM_EXPORT
+int crypto_box_open(unsigned char *m, const unsigned char *c,
+                    unsigned long long clen, const unsigned char *n,
+                    const unsigned char *pk, const unsigned char *sk);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
diff --git a/src/libsodium/src/libsodium/include/sodium/crypto_box_curve25519xsalsa20poly1305.h b/src/libsodium/src/libsodium/include/sodium/crypto_box_curve25519xsalsa20poly1305.h
new file mode 100644
index 00000000..d7b48c0c
--- /dev/null
+++ b/src/libsodium/src/libsodium/include/sodium/crypto_box_curve25519xsalsa20poly1305.h
@@ -0,0 +1,72 @@
+#ifndef crypto_box_curve25519xsalsa20poly1305_H
+#define crypto_box_curve25519xsalsa20poly1305_H
+
+#include <stddef.h>
+#include "export.h"
+
+#define crypto_box_curve25519xsalsa20poly1305_PUBLICKEYBYTES 32U
+#define crypto_box_curve25519xsalsa20poly1305_SECRETKEYBYTES 32U
+#define crypto_box_curve25519xsalsa20poly1305_BEFORENMBYTES 32U
+#define crypto_box_curve25519xsalsa20poly1305_NONCEBYTES 24U
+#define crypto_box_curve25519xsalsa20poly1305_ZEROBYTES 32U
+#define crypto_box_curve25519xsalsa20poly1305_BOXZEROBYTES 16U
+#define crypto_box_curve25519xsalsa20poly1305_MACBYTES (crypto_box_curve25519xsalsa20poly1305_ZEROBYTES - crypto_box_curve25519xsalsa20poly1305_BOXZEROBYTES)
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+SODIUM_EXPORT
+size_t crypto_box_curve25519xsalsa20poly1305_publickeybytes(void);
+
+SODIUM_EXPORT
+size_t crypto_box_curve25519xsalsa20poly1305_secretkeybytes(void);
+
+SODIUM_EXPORT
+size_t crypto_box_curve25519xsalsa20poly1305_beforenmbytes(void);
+
+SODIUM_EXPORT
+size_t crypto_box_curve25519xsalsa20poly1305_noncebytes(void);
+
+SODIUM_EXPORT
+size_t crypto_box_curve25519xsalsa20poly1305_zerobytes(void);
+
+SODIUM_EXPORT
+size_t crypto_box_curve25519xsalsa20poly1305_boxzerobytes(void);
+
+SODIUM_EXPORT
+size_t crypto_box_curve25519xsalsa20poly1305_macbytes(void);
+
+SODIUM_EXPORT
+const char * crypto_box_curve25519xsalsa20poly1305_primitive(void);
+
+SODIUM_EXPORT
+int crypto_box_curve25519xsalsa20poly1305(unsigned char *,const unsigned char *,unsigned long long,const unsigned char *,const unsigned char *,const unsigned char *);
+
+SODIUM_EXPORT
+int crypto_box_curve25519xsalsa20poly1305_open(unsigned char *,const unsigned char *,unsigned long long,const unsigned char *,const unsigned char *,const unsigned char *);
+
+SODIUM_EXPORT
+int crypto_box_curve25519xsalsa20poly1305_keypair(unsigned char *,unsigned char *);
+
+SODIUM_EXPORT
+int crypto_box_curve25519xsalsa20poly1305_beforenm(unsigned char *,const unsigned char *,const unsigned char *);
+
+SODIUM_EXPORT
+int crypto_box_curve25519xsalsa20poly1305_afternm(unsigned char *,const unsigned char *,unsigned long long,const unsigned char *,const unsigned char *);
+
+SODIUM_EXPORT
+int crypto_box_curve25519xsalsa20poly1305_open_afternm(unsigned char *,const unsigned char *,unsigned long long,const unsigned char *,const unsigned char *);
+
+#ifdef __cplusplus
+}
+#endif
+
+#define crypto_box_curve25519xsalsa20poly1305_ref crypto_box_curve25519xsalsa20poly1305
+#define crypto_box_curve25519xsalsa20poly1305_ref_open crypto_box_curve25519xsalsa20poly1305_open
+#define crypto_box_curve25519xsalsa20poly1305_ref_keypair crypto_box_curve25519xsalsa20poly1305_keypair
+#define crypto_box_curve25519xsalsa20poly1305_ref_beforenm crypto_box_curve25519xsalsa20poly1305_beforenm
+#define crypto_box_curve25519xsalsa20poly1305_ref_afternm crypto_box_curve25519xsalsa20poly1305_afternm
+#define crypto_box_curve25519xsalsa20poly1305_ref_open_afternm crypto_box_curve25519xsalsa20poly1305_open_afternm
+
+#endif
diff --git a/src/libsodium/src/libsodium/include/sodium/crypto_core_hsalsa20.h b/src/libsodium/src/libsodium/include/sodium/crypto_core_hsalsa20.h
new file mode 100644
index 00000000..52d4f08e
--- /dev/null
+++ b/src/libsodium/src/libsodium/include/sodium/crypto_core_hsalsa20.h
@@ -0,0 +1,40 @@
+#ifndef crypto_core_hsalsa20_H
+#define crypto_core_hsalsa20_H
+
+#include <stddef.h>
+#include "export.h"
+
+#define crypto_core_hsalsa20_OUTPUTBYTES 32U
+#define crypto_core_hsalsa20_INPUTBYTES 16U
+#define crypto_core_hsalsa20_KEYBYTES 32U
+#define crypto_core_hsalsa20_CONSTBYTES 16U
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+SODIUM_EXPORT
+size_t crypto_core_hsalsa20_outputbytes(void);
+
+SODIUM_EXPORT
+size_t crypto_core_hsalsa20_inputbytes(void);
+
+SODIUM_EXPORT
+size_t crypto_core_hsalsa20_keybytes(void);
+
+SODIUM_EXPORT
+size_t crypto_core_hsalsa20_constbytes(void);
+
+SODIUM_EXPORT
+const char * crypto_core_hsalsa20_primitive(void);
+
+SODIUM_EXPORT
+int crypto_core_hsalsa20(unsigned char *,const unsigned char *,const unsigned char *,const unsigned char *);
+
+#ifdef __cplusplus
+}
+#endif
+
+#define crypto_core_hsalsa20_ref2 crypto_core_hsalsa20
+
+#endif
diff --git a/src/libsodium/src/libsodium/include/sodium/crypto_core_salsa20.h b/src/libsodium/src/libsodium/include/sodium/crypto_core_salsa20.h
new file mode 100644
index 00000000..f2592bca
--- /dev/null
+++ b/src/libsodium/src/libsodium/include/sodium/crypto_core_salsa20.h
@@ -0,0 +1,40 @@
+#ifndef crypto_core_salsa20_H
+#define crypto_core_salsa20_H
+
+#include <stddef.h>
+#include "export.h"
+
+#define crypto_core_salsa20_OUTPUTBYTES 64U
+#define crypto_core_salsa20_INPUTBYTES 16U
+#define crypto_core_salsa20_KEYBYTES 32U
+#define crypto_core_salsa20_CONSTBYTES 16U
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+SODIUM_EXPORT
+size_t crypto_core_salsa20_outputbytes(void);
+
+SODIUM_EXPORT
+size_t crypto_core_salsa20_inputbytes(void);
+
+SODIUM_EXPORT
+size_t crypto_core_salsa20_keybytes(void);
+
+SODIUM_EXPORT
+size_t crypto_core_salsa20_constbytes(void);
+
+SODIUM_EXPORT
+const char * crypto_core_salsa20_primitive(void);
+
+SODIUM_EXPORT
+int crypto_core_salsa20(unsigned char *,const unsigned char *,const unsigned char *,const unsigned char *);
+
+#ifdef __cplusplus
+}
+#endif
+
+#define crypto_core_salsa20_ref crypto_core_salsa20
+
+#endif
diff --git a/src/libsodium/src/libsodium/include/sodium/crypto_core_salsa2012.h b/src/libsodium/src/libsodium/include/sodium/crypto_core_salsa2012.h
new file mode 100644
index 00000000..b5decc73
--- /dev/null
+++ b/src/libsodium/src/libsodium/include/sodium/crypto_core_salsa2012.h
@@ -0,0 +1,40 @@
+#ifndef crypto_core_salsa2012_H
+#define crypto_core_salsa2012_H
+
+#include <stddef.h>
+#include "export.h"
+
+#define crypto_core_salsa2012_OUTPUTBYTES 64U
+#define crypto_core_salsa2012_INPUTBYTES 16U
+#define crypto_core_salsa2012_KEYBYTES 32U
+#define crypto_core_salsa2012_CONSTBYTES 16U
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+SODIUM_EXPORT
+size_t crypto_core_salsa2012_outputbytes(void);
+
+SODIUM_EXPORT
+size_t crypto_core_salsa2012_inputbytes(void);
+
+SODIUM_EXPORT
+size_t crypto_core_salsa2012_keybytes(void);
+
+SODIUM_EXPORT
+size_t crypto_core_salsa2012_constbytes(void);
+
+SODIUM_EXPORT
+const char * crypto_core_salsa2012_primitive(void);
+
+SODIUM_EXPORT
+int crypto_core_salsa2012(unsigned char *,const unsigned char *,const unsigned char *,const unsigned char *);
+
+#ifdef __cplusplus
+}
+#endif
+
+#define crypto_core_salsa2012_ref crypto_core_salsa2012
+
+#endif
diff --git a/src/libsodium/src/libsodium/include/sodium/crypto_core_salsa208.h b/src/libsodium/src/libsodium/include/sodium/crypto_core_salsa208.h
new file mode 100644
index 00000000..4cc2fa51
--- /dev/null
+++ b/src/libsodium/src/libsodium/include/sodium/crypto_core_salsa208.h
@@ -0,0 +1,40 @@
+#ifndef crypto_core_salsa208_H
+#define crypto_core_salsa208_H
+
+#include <stddef.h>
+#include "export.h"
+
+#define crypto_core_salsa208_OUTPUTBYTES 64U
+#define crypto_core_salsa208_INPUTBYTES 16U
+#define crypto_core_salsa208_KEYBYTES 32U
+#define crypto_core_salsa208_CONSTBYTES 16U
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+SODIUM_EXPORT
+size_t crypto_core_salsa208_outputbytes(void);
+
+SODIUM_EXPORT
+size_t crypto_core_salsa208_inputbytes(void);
+
+SODIUM_EXPORT
+size_t crypto_core_salsa208_keybytes(void);
+
+SODIUM_EXPORT
+size_t crypto_core_salsa208_constbytes(void);
+
+SODIUM_EXPORT
+const char * crypto_core_salsa208_primitive(void);
+
+SODIUM_EXPORT
+int crypto_core_salsa208(unsigned char *,const unsigned char *,const unsigned char *,const unsigned char *);
+
+#ifdef __cplusplus
+}
+#endif
+
+#define crypto_core_salsa208_ref crypto_core_salsa208
+
+#endif
diff --git a/src/libsodium/src/libsodium/include/sodium/crypto_generichash.h b/src/libsodium/src/libsodium/include/sodium/crypto_generichash.h
new file mode 100644
index 00000000..52a16a8c
--- /dev/null
+++ b/src/libsodium/src/libsodium/include/sodium/crypto_generichash.h
@@ -0,0 +1,70 @@
+#ifndef crypto_generichash_H
+#define crypto_generichash_H
+
+#include <stddef.h>
+
+#include "crypto_generichash_blake2b.h"
+#include "export.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#define crypto_generichash_BYTES crypto_generichash_blake2b_BYTES
+SODIUM_EXPORT
+size_t  crypto_generichash_bytes(void);
+
+#define crypto_generichash_BYTES_MIN crypto_generichash_blake2b_BYTES_MIN
+SODIUM_EXPORT
+size_t  crypto_generichash_bytes_min(void);
+
+#define crypto_generichash_BYTES_MAX crypto_generichash_blake2b_BYTES_MAX
+SODIUM_EXPORT
+size_t  crypto_generichash_bytes_max(void);
+
+#define crypto_generichash_KEYBYTES crypto_generichash_blake2b_KEYBYTES
+SODIUM_EXPORT
+size_t  crypto_generichash_keybytes(void);
+
+#define crypto_generichash_KEYBYTES_MIN crypto_generichash_blake2b_KEYBYTES_MIN
+SODIUM_EXPORT
+size_t  crypto_generichash_keybytes_min(void);
+
+#define crypto_generichash_KEYBYTES_MAX crypto_generichash_blake2b_KEYBYTES_MAX
+SODIUM_EXPORT
+size_t  crypto_generichash_keybytes_max(void);
+
+#define crypto_generichash_BLOCKBYTES crypto_generichash_blake2b_BLOCKBYTES
+SODIUM_EXPORT
+size_t  crypto_generichash_blockbytes(void);
+
+#define crypto_generichash_PRIMITIVE "blake2b"
+SODIUM_EXPORT
+const char *crypto_generichash_primitive(void);
+
+typedef crypto_generichash_blake2b_state crypto_generichash_state;
+
+SODIUM_EXPORT
+int crypto_generichash(unsigned char *out, size_t outlen,
+                       const unsigned char *in, unsigned long long inlen,
+                       const unsigned char *key, size_t keylen);
+
+SODIUM_EXPORT
+int crypto_generichash_init(crypto_generichash_state *state,
+                            const unsigned char *key,
+                            const size_t keylen, const size_t outlen);
+
+SODIUM_EXPORT
+int crypto_generichash_update(crypto_generichash_state *state,
+                              const unsigned char *in,
+                              unsigned long long inlen);
+
+SODIUM_EXPORT
+int crypto_generichash_final(crypto_generichash_state *state,
+                             unsigned char *out, const size_t outlen);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
diff --git a/src/libsodium/src/libsodium/include/sodium/crypto_generichash_blake2b.h b/src/libsodium/src/libsodium/include/sodium/crypto_generichash_blake2b.h
new file mode 100644
index 00000000..108541d1
--- /dev/null
+++ b/src/libsodium/src/libsodium/include/sodium/crypto_generichash_blake2b.h
@@ -0,0 +1,87 @@
+#ifndef crypto_generichash_blake2b_H
+#define crypto_generichash_blake2b_H
+
+#include <stddef.h>
+#include <stdint.h>
+#include <stdlib.h>
+
+#include "export.h"
+
+#define crypto_generichash_blake2b_BYTES         32U
+#define crypto_generichash_blake2b_BYTES_MIN     16U
+#define crypto_generichash_blake2b_BYTES_MAX     64U
+#define crypto_generichash_blake2b_KEYBYTES      32U
+#define crypto_generichash_blake2b_KEYBYTES_MIN  16U
+#define crypto_generichash_blake2b_KEYBYTES_MAX  64U
+#define crypto_generichash_blake2b_BLOCKBYTES   128U
+
+#if defined(_MSC_VER)
+# define CRYPTO_ALIGN(x) __declspec(align(x))
+#else
+# define CRYPTO_ALIGN(x) __attribute__((aligned(x)))
+#endif
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#pragma pack(push, 1)
+CRYPTO_ALIGN(64) typedef struct crypto_generichash_blake2b_state {
+    uint64_t h[8];
+    uint64_t t[2];
+    uint64_t f[2];
+    uint8_t  buf[2 * crypto_generichash_blake2b_BLOCKBYTES];
+    size_t   buflen;
+    uint8_t  last_node;
+} crypto_generichash_blake2b_state;
+#pragma pack(pop)
+
+SODIUM_EXPORT
+size_t crypto_generichash_blake2b_bytes_min(void);
+
+SODIUM_EXPORT
+size_t crypto_generichash_blake2b_bytes_max(void);
+
+SODIUM_EXPORT
+size_t crypto_generichash_blake2b_keybytes_min(void);
+
+SODIUM_EXPORT
+size_t crypto_generichash_blake2b_keybytes_max(void);
+
+SODIUM_EXPORT
+size_t crypto_generichash_blake2b_blockbytes(void);
+
+SODIUM_EXPORT
+const char * crypto_generichash_blake2b_blockbytes_primitive(void);
+
+SODIUM_EXPORT
+int crypto_generichash_blake2b(unsigned char *out, size_t outlen,
+                               const unsigned char *in,
+                               unsigned long long inlen,
+                               const unsigned char *key, size_t keylen);
+
+SODIUM_EXPORT
+int crypto_generichash_blake2b_init(crypto_generichash_blake2b_state *state,
+                                    const unsigned char *key,
+                                    const size_t keylen, const size_t outlen);
+
+SODIUM_EXPORT
+int crypto_generichash_blake2b_update(crypto_generichash_blake2b_state *state,
+                                      const unsigned char *in,
+                                      unsigned long long inlen);
+
+SODIUM_EXPORT
+int crypto_generichash_blake2b_final(crypto_generichash_blake2b_state *state,
+                                     unsigned char *out,
+                                     const size_t outlen);
+
+#ifdef __cplusplus
+}
+#endif
+
+#define crypto_generichash_blake2b_ref crypto_generichash_blake2b
+#define crypto_generichash_blake2b_ref_init crypto_generichash_blake2b_init
+#define crypto_generichash_blake2b_ref_update crypto_generichash_blake2b_update
+#define crypto_generichash_blake2b_ref_final crypto_generichash_blake2b_final
+
+#endif
diff --git a/src/libsodium/src/libsodium/include/sodium/crypto_hash.h b/src/libsodium/src/libsodium/include/sodium/crypto_hash.h
new file mode 100644
index 00000000..738180f4
--- /dev/null
+++ b/src/libsodium/src/libsodium/include/sodium/crypto_hash.h
@@ -0,0 +1,23 @@
+#ifndef crypto_hash_H
+#define crypto_hash_H
+
+#include "crypto_hash_sha512.h"
+#include "export.h"
+
+#define crypto_hash_BYTES crypto_hash_sha512_BYTES
+#define crypto_hash_BLOCKBYTES crypto_hash_sha512_BLOCKBYTES
+#define crypto_hash_PRIMITIVE "sha512"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+SODIUM_EXPORT
+int crypto_hash(unsigned char *out, const unsigned char *in,
+                unsigned long long inlen);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
diff --git a/src/libsodium/src/libsodium/include/sodium/crypto_hash_sha256.h b/src/libsodium/src/libsodium/include/sodium/crypto_hash_sha256.h
new file mode 100644
index 00000000..ef93f9a4
--- /dev/null
+++ b/src/libsodium/src/libsodium/include/sodium/crypto_hash_sha256.h
@@ -0,0 +1,29 @@
+#ifndef crypto_hash_sha256_H
+#define crypto_hash_sha256_H
+
+#include <stddef.h>
+#include "export.h"
+
+#define crypto_hash_sha256_BYTES 32U
+#define crypto_hash_sha256_BLOCKBYTES 64U
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+SODIUM_EXPORT
+size_t crypto_hash_sha256_bytes(void);
+
+SODIUM_EXPORT
+const char * crypto_hash_sha256_primitive(void);
+
+SODIUM_EXPORT
+int crypto_hash_sha256(unsigned char *,const unsigned char *,unsigned long long);
+
+#ifdef __cplusplus
+}
+#endif
+
+#define crypto_hash_sha256_ref crypto_hash_sha256
+
+#endif
diff --git a/src/libsodium/src/libsodium/include/sodium/crypto_hash_sha512.h b/src/libsodium/src/libsodium/include/sodium/crypto_hash_sha512.h
new file mode 100644
index 00000000..42cb0a72
--- /dev/null
+++ b/src/libsodium/src/libsodium/include/sodium/crypto_hash_sha512.h
@@ -0,0 +1,29 @@
+#ifndef crypto_hash_sha512_H
+#define crypto_hash_sha512_H
+
+#include <stddef.h>
+#include "export.h"
+
+#define crypto_hash_sha512_BYTES 64U
+#define crypto_hash_sha512_BLOCKBYTES 128U
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+SODIUM_EXPORT
+size_t crypto_hash_sha512_bytes(void);
+
+SODIUM_EXPORT
+const char * crypto_hash_sha512_primitive(void);
+
+SODIUM_EXPORT
+int crypto_hash_sha512(unsigned char *,const unsigned char *,unsigned long long);
+
+#ifdef __cplusplus
+}
+#endif
+
+#define crypto_hash_sha512_ref crypto_hash_sha512
+
+#endif
diff --git a/src/libsodium/src/libsodium/include/sodium/crypto_hashblocks_sha256.h b/src/libsodium/src/libsodium/include/sodium/crypto_hashblocks_sha256.h
new file mode 100644
index 00000000..734a577f
--- /dev/null
+++ b/src/libsodium/src/libsodium/include/sodium/crypto_hashblocks_sha256.h
@@ -0,0 +1,32 @@
+#ifndef crypto_hashblocks_sha256_H
+#define crypto_hashblocks_sha256_H
+
+#include <stddef.h>
+#include "export.h"
+
+#define crypto_hashblocks_sha256_STATEBYTES 32U
+#define crypto_hashblocks_sha256_BLOCKBYTES 64U
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+SODIUM_EXPORT
+size_t crypto_hashblocks_sha256_statebytes(void);
+
+SODIUM_EXPORT
+size_t crypto_hashblocks_sha256_blockbytes(void);
+
+SODIUM_EXPORT
+const char * crypto_hashblocks_sha256_primitive(void);
+
+SODIUM_EXPORT
+int crypto_hashblocks_sha256(unsigned char *,const unsigned char *,unsigned long long);
+
+#ifdef __cplusplus
+}
+#endif
+
+#define crypto_hashblocks_sha256_ref crypto_hashblocks_sha256
+
+#endif
diff --git a/src/libsodium/src/libsodium/include/sodium/crypto_hashblocks_sha512.h b/src/libsodium/src/libsodium/include/sodium/crypto_hashblocks_sha512.h
new file mode 100644
index 00000000..50ce5fc6
--- /dev/null
+++ b/src/libsodium/src/libsodium/include/sodium/crypto_hashblocks_sha512.h
@@ -0,0 +1,32 @@
+#ifndef crypto_hashblocks_sha512_H
+#define crypto_hashblocks_sha512_H
+
+#include <stddef.h>
+#include "export.h"
+
+#define crypto_hashblocks_sha512_STATEBYTES 64U
+#define crypto_hashblocks_sha512_BLOCKBYTES 128U
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+SODIUM_EXPORT
+size_t crypto_hashblocks_sha512_statebytes(void);
+
+SODIUM_EXPORT
+size_t crypto_hashblocks_sha512_blockbytes(void);
+
+SODIUM_EXPORT
+const char * crypto_hashblocks_sha512_primitive(void);
+
+SODIUM_EXPORT
+int crypto_hashblocks_sha512(unsigned char *,const unsigned char *,unsigned long long);
+
+#ifdef __cplusplus
+}
+#endif
+
+#define crypto_hashblocks_sha512_ref crypto_hashblocks_sha512
+
+#endif
diff --git a/src/libsodium/src/libsodium/include/sodium/crypto_int32.h b/src/libsodium/src/libsodium/include/sodium/crypto_int32.h
new file mode 100644
index 00000000..a22019d8
--- /dev/null
+++ b/src/libsodium/src/libsodium/include/sodium/crypto_int32.h
@@ -0,0 +1,8 @@
+#ifndef crypto_int32_H
+#define crypto_int32_H
+
+#include <stdint.h>
+
+typedef int32_t crypto_int32;
+
+#endif
diff --git a/src/libsodium/src/libsodium/include/sodium/crypto_int64.h b/src/libsodium/src/libsodium/include/sodium/crypto_int64.h
new file mode 100644
index 00000000..f68a2836
--- /dev/null
+++ b/src/libsodium/src/libsodium/include/sodium/crypto_int64.h
@@ -0,0 +1,8 @@
+#ifndef crypto_int64_H
+#define crypto_int64_H
+
+#include <stdint.h>
+
+typedef int64_t crypto_int64;
+
+#endif
diff --git a/src/libsodium/src/libsodium/include/sodium/crypto_onetimeauth.h b/src/libsodium/src/libsodium/include/sodium/crypto_onetimeauth.h
new file mode 100644
index 00000000..f43d8319
--- /dev/null
+++ b/src/libsodium/src/libsodium/include/sodium/crypto_onetimeauth.h
@@ -0,0 +1,37 @@
+#ifndef crypto_onetimeauth_H
+#define crypto_onetimeauth_H
+
+#include <stddef.h>
+
+#include "crypto_onetimeauth_poly1305.h"
+#include "export.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#define crypto_onetimeauth_BYTES crypto_onetimeauth_poly1305_BYTES
+SODIUM_EXPORT
+size_t  crypto_onetimeauth_bytes(void);
+
+#define crypto_onetimeauth_KEYBYTES crypto_onetimeauth_poly1305_KEYBYTES
+SODIUM_EXPORT
+size_t  crypto_onetimeauth_keybytes(void);
+
+#define crypto_onetimeauth_PRIMITIVE "poly1305"
+SODIUM_EXPORT
+const char *crypto_onetimeauth_primitive(void);
+
+SODIUM_EXPORT
+int crypto_onetimeauth(unsigned char *out, const unsigned char *in,
+                       unsigned long long inlen, const unsigned char *k);
+
+SODIUM_EXPORT
+int crypto_onetimeauth_verify(const unsigned char *h, const unsigned char *in,
+                              unsigned long long inlen, const unsigned char *k);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
diff --git a/src/libsodium/src/libsodium/include/sodium/crypto_onetimeauth_poly1305.h b/src/libsodium/src/libsodium/include/sodium/crypto_onetimeauth_poly1305.h
new file mode 100644
index 00000000..e772340a
--- /dev/null
+++ b/src/libsodium/src/libsodium/include/sodium/crypto_onetimeauth_poly1305.h
@@ -0,0 +1,65 @@
+#ifndef crypto_onetimeauth_poly1305_H
+#define crypto_onetimeauth_poly1305_H
+
+#include <stddef.h>
+#include "export.h"
+
+#define crypto_onetimeauth_poly1305_BYTES 16U
+#define crypto_onetimeauth_poly1305_KEYBYTES 32U
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <sys/types.h>
+
+#include <stdint.h>
+#include <stdio.h>
+
+typedef struct crypto_onetimeauth_poly1305_implementation {
+    const char *(*implementation_name)(void);
+    int         (*onetimeauth)(unsigned char *out,
+                               const unsigned char *in,
+                               unsigned long long inlen,
+                               const unsigned char *k);
+    int         (*onetimeauth_verify)(const unsigned char *h,
+                                      const unsigned char *in,
+                                      unsigned long long inlen,
+                                      const unsigned char *k);
+} crypto_onetimeauth_poly1305_implementation;
+
+SODIUM_EXPORT
+size_t crypto_onetimeauth_poly1305_bytes(void);
+
+SODIUM_EXPORT
+size_t crypto_onetimeauth_poly1305_keybytes(void);
+
+SODIUM_EXPORT
+const char * crypto_onetimeauth_poly1305_primitive(void);
+
+SODIUM_EXPORT
+const char *crypto_onetimeauth_poly1305_implementation_name(void);
+
+SODIUM_EXPORT
+int crypto_onetimeauth_poly1305_set_implementation(crypto_onetimeauth_poly1305_implementation *impl);
+
+SODIUM_EXPORT
+crypto_onetimeauth_poly1305_implementation *
+        crypto_onetimeauth_pick_best_implementation(void);
+
+SODIUM_EXPORT
+int crypto_onetimeauth_poly1305(unsigned char *out,
+                                const unsigned char *in,
+                                unsigned long long inlen,
+                                const unsigned char *k);
+
+SODIUM_EXPORT
+int crypto_onetimeauth_poly1305_verify(const unsigned char *h,
+                                       const unsigned char *in,
+                                       unsigned long long inlen,
+                                       const unsigned char *k);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
diff --git a/src/libsodium/src/libsodium/include/sodium/crypto_onetimeauth_poly1305_53.h b/src/libsodium/src/libsodium/include/sodium/crypto_onetimeauth_poly1305_53.h
new file mode 100644
index 00000000..cdf93223
--- /dev/null
+++ b/src/libsodium/src/libsodium/include/sodium/crypto_onetimeauth_poly1305_53.h
@@ -0,0 +1,34 @@
+#ifndef crypto_onetimeauth_poly1305_53_H
+#define crypto_onetimeauth_poly1305_53_H
+
+#include "crypto_onetimeauth_poly1305.h"
+#include "export.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+SODIUM_EXPORT
+extern struct crypto_onetimeauth_poly1305_implementation
+        crypto_onetimeauth_poly1305_53_implementation;
+
+SODIUM_EXPORT
+const char *crypto_onetimeauth_poly1305_53_implementation_name(void);
+
+SODIUM_EXPORT
+int crypto_onetimeauth_poly1305_53(unsigned char *out,
+                                   const unsigned char *in,
+                                   unsigned long long inlen,
+                                   const unsigned char *k);
+
+SODIUM_EXPORT
+int crypto_onetimeauth_poly1305_53_verify(const unsigned char *h,
+                                          const unsigned char *in,
+                                          unsigned long long inlen,
+                                          const unsigned char *k);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
diff --git a/src/libsodium/src/libsodium/include/sodium/crypto_onetimeauth_poly1305_donna.h b/src/libsodium/src/libsodium/include/sodium/crypto_onetimeauth_poly1305_donna.h
new file mode 100644
index 00000000..a48d7d1f
--- /dev/null
+++ b/src/libsodium/src/libsodium/include/sodium/crypto_onetimeauth_poly1305_donna.h
@@ -0,0 +1,34 @@
+#ifndef crypto_onetimeauth_poly1305_donna_H
+#define crypto_onetimeauth_poly1305_donna_H
+
+#include "crypto_onetimeauth_poly1305.h"
+#include "export.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+SODIUM_EXPORT
+extern struct crypto_onetimeauth_poly1305_implementation
+        crypto_onetimeauth_poly1305_donna_implementation;
+
+SODIUM_EXPORT
+const char *crypto_onetimeauth_poly1305_donna_implementation_name(void);
+
+SODIUM_EXPORT
+int crypto_onetimeauth_poly1305_donna(unsigned char *out,
+                                      const unsigned char *in,
+                                      unsigned long long inlen,
+                                      const unsigned char *k);
+
+SODIUM_EXPORT
+int crypto_onetimeauth_poly1305_donna_verify(const unsigned char *h,
+                                             const unsigned char *in,
+                                             unsigned long long inlen,
+                                             const unsigned char *k);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
diff --git a/src/libsodium/src/libsodium/include/sodium/crypto_scalarmult.h b/src/libsodium/src/libsodium/include/sodium/crypto_scalarmult.h
new file mode 100644
index 00000000..3d59b3a2
--- /dev/null
+++ b/src/libsodium/src/libsodium/include/sodium/crypto_scalarmult.h
@@ -0,0 +1,36 @@
+#ifndef crypto_scalarmult_H
+#define crypto_scalarmult_H
+
+#include <stddef.h>
+
+#include "crypto_scalarmult_curve25519.h"
+#include "export.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#define crypto_scalarmult_BYTES crypto_scalarmult_curve25519_BYTES
+SODIUM_EXPORT
+size_t  crypto_scalarmult_bytes(void);
+
+#define crypto_scalarmult_SCALARBYTES crypto_scalarmult_curve25519_SCALARBYTES
+SODIUM_EXPORT
+size_t  crypto_scalarmult_scalarbytes(void);
+
+#define crypto_scalarmult_PRIMITIVE "curve25519"
+SODIUM_EXPORT
+const char *crypto_scalarmult_primitive(void);
+
+SODIUM_EXPORT
+int crypto_scalarmult_base(unsigned char *q, const unsigned char *n);
+
+SODIUM_EXPORT
+int crypto_scalarmult(unsigned char *q, const unsigned char *n,
+                      const unsigned char *p);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
diff --git a/src/libsodium/src/libsodium/include/sodium/crypto_scalarmult_curve25519.h b/src/libsodium/src/libsodium/include/sodium/crypto_scalarmult_curve25519.h
new file mode 100644
index 00000000..5d35d44c
--- /dev/null
+++ b/src/libsodium/src/libsodium/include/sodium/crypto_scalarmult_curve25519.h
@@ -0,0 +1,37 @@
+#ifndef crypto_scalarmult_curve25519_H
+#define crypto_scalarmult_curve25519_H
+
+#if 1
+# ifndef SODIUM_HAVE_TI_MODE
+#  define SODIUM_HAVE_TI_MODE
+# endif
+#endif
+
+#include "export.h"
+
+#define crypto_scalarmult_curve25519_BYTES 32
+#define crypto_scalarmult_curve25519_SCALARBYTES 32
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+SODIUM_EXPORT
+int crypto_scalarmult_curve25519(unsigned char *,const unsigned char *,const unsigned char *);
+
+SODIUM_EXPORT
+int crypto_scalarmult_curve25519_base(unsigned char *,const unsigned char *);
+
+#ifdef SODIUM_HAVE_TI_MODE
+# define crypto_scalarmult_curve25519_donna_c64 crypto_scalarmult_curve25519
+# define crypto_scalarmult_curve25519_donna_c64_base crypto_scalarmult_curve25519_base
+#else
+# define crypto_scalarmult_curve25519_ref crypto_scalarmult_curve25519
+# define crypto_scalarmult_curve25519_ref_base crypto_scalarmult_curve25519_base
+#endif
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
diff --git a/src/libsodium/src/libsodium/include/sodium/crypto_scalarmult_curve25519.h.in b/src/libsodium/src/libsodium/include/sodium/crypto_scalarmult_curve25519.h.in
new file mode 100644
index 00000000..e87657ff
--- /dev/null
+++ b/src/libsodium/src/libsodium/include/sodium/crypto_scalarmult_curve25519.h.in
@@ -0,0 +1,37 @@
+#ifndef crypto_scalarmult_curve25519_H
+#define crypto_scalarmult_curve25519_H
+
+#if @HAVE_TI_MODE_V@
+# ifndef SODIUM_HAVE_TI_MODE
+#  define SODIUM_HAVE_TI_MODE
+# endif
+#endif
+
+#include "export.h"
+
+#define crypto_scalarmult_curve25519_BYTES 32
+#define crypto_scalarmult_curve25519_SCALARBYTES 32
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+SODIUM_EXPORT
+int crypto_scalarmult_curve25519(unsigned char *,const unsigned char *,const unsigned char *);
+
+SODIUM_EXPORT
+int crypto_scalarmult_curve25519_base(unsigned char *,const unsigned char *);
+
+#ifdef SODIUM_HAVE_TI_MODE
+# define crypto_scalarmult_curve25519_donna_c64 crypto_scalarmult_curve25519
+# define crypto_scalarmult_curve25519_donna_c64_base crypto_scalarmult_curve25519_base
+#else
+# define crypto_scalarmult_curve25519_ref crypto_scalarmult_curve25519
+# define crypto_scalarmult_curve25519_ref_base crypto_scalarmult_curve25519_base
+#endif
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
diff --git a/src/libsodium/src/libsodium/include/sodium/crypto_secretbox.h b/src/libsodium/src/libsodium/include/sodium/crypto_secretbox.h
new file mode 100644
index 00000000..eb14bc52
--- /dev/null
+++ b/src/libsodium/src/libsodium/include/sodium/crypto_secretbox.h
@@ -0,0 +1,47 @@
+#ifndef crypto_secretbox_H
+#define crypto_secretbox_H
+
+#include <stddef.h>
+
+#include "crypto_secretbox_xsalsa20poly1305.h"
+#include "export.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#define crypto_secretbox_KEYBYTES crypto_secretbox_xsalsa20poly1305_KEYBYTES
+SODIUM_EXPORT
+size_t  crypto_secretbox_keybytes(void);
+
+#define crypto_secretbox_NONCEBYTES crypto_secretbox_xsalsa20poly1305_NONCEBYTES
+SODIUM_EXPORT
+size_t  crypto_secretbox_noncebytes(void);
+
+#define crypto_secretbox_ZEROBYTES crypto_secretbox_xsalsa20poly1305_ZEROBYTES
+SODIUM_EXPORT
+size_t  crypto_secretbox_zerobytes(void);
+
+#define crypto_secretbox_BOXZEROBYTES crypto_secretbox_xsalsa20poly1305_BOXZEROBYTES
+SODIUM_EXPORT
+size_t  crypto_secretbox_boxzerobytes(void);
+
+#define crypto_secretbox_PRIMITIVE "xsalsa20poly1305"
+SODIUM_EXPORT
+const char *crypto_secretbox_primitive(void);
+
+SODIUM_EXPORT
+int crypto_secretbox(unsigned char *c, const unsigned char *m,
+                     unsigned long long mlen, const unsigned char *n,
+                     const unsigned char *k);
+
+SODIUM_EXPORT
+int crypto_secretbox_open(unsigned char *m, const unsigned char *c,
+                          unsigned long long clen, const unsigned char *n,
+                          const unsigned char *k);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
diff --git a/src/libsodium/src/libsodium/include/sodium/crypto_secretbox_xsalsa20poly1305.h b/src/libsodium/src/libsodium/include/sodium/crypto_secretbox_xsalsa20poly1305.h
new file mode 100644
index 00000000..22f0d667
--- /dev/null
+++ b/src/libsodium/src/libsodium/include/sodium/crypto_secretbox_xsalsa20poly1305.h
@@ -0,0 +1,44 @@
+#ifndef crypto_secretbox_xsalsa20poly1305_H
+#define crypto_secretbox_xsalsa20poly1305_H
+
+#include <stddef.h>
+#include "export.h"
+
+#define crypto_secretbox_xsalsa20poly1305_KEYBYTES 32U
+#define crypto_secretbox_xsalsa20poly1305_NONCEBYTES 24U
+#define crypto_secretbox_xsalsa20poly1305_ZEROBYTES 32U
+#define crypto_secretbox_xsalsa20poly1305_BOXZEROBYTES 16U
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+SODIUM_EXPORT
+size_t crypto_secretbox_xsalsa20poly1305_keybytes(void);
+
+SODIUM_EXPORT
+size_t crypto_secretbox_xsalsa20poly1305_noncebytes(void);
+
+SODIUM_EXPORT
+size_t crypto_secretbox_xsalsa20poly1305_zerobytes(void);
+
+SODIUM_EXPORT
+size_t crypto_secretbox_xsalsa20poly1305_boxzerobytes(void);
+
+SODIUM_EXPORT
+const char * crypto_secretbox_xsalsa20poly1305_primitive(void);
+
+SODIUM_EXPORT
+int crypto_secretbox_xsalsa20poly1305(unsigned char *,const unsigned char *,unsigned long long,const unsigned char *,const unsigned char *);
+
+SODIUM_EXPORT
+int crypto_secretbox_xsalsa20poly1305_open(unsigned char *,const unsigned char *,unsigned long long,const unsigned char *,const unsigned char *);
+
+#ifdef __cplusplus
+}
+#endif
+
+#define crypto_secretbox_xsalsa20poly1305_ref crypto_secretbox_xsalsa20poly1305
+#define crypto_secretbox_xsalsa20poly1305_ref_open crypto_secretbox_xsalsa20poly1305_open
+
+#endif
diff --git a/src/libsodium/src/libsodium/include/sodium/crypto_shorthash.h b/src/libsodium/src/libsodium/include/sodium/crypto_shorthash.h
new file mode 100644
index 00000000..5173727a
--- /dev/null
+++ b/src/libsodium/src/libsodium/include/sodium/crypto_shorthash.h
@@ -0,0 +1,33 @@
+#ifndef crypto_shorthash_H
+#define crypto_shorthash_H
+
+#include <stddef.h>
+
+#include "crypto_shorthash_siphash24.h"
+#include "export.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#define crypto_shorthash_BYTES crypto_shorthash_siphash24_BYTES
+SODIUM_EXPORT
+size_t  crypto_shorthash_bytes(void);
+
+#define crypto_shorthash_KEYBYTES crypto_shorthash_siphash24_KEYBYTES
+SODIUM_EXPORT
+size_t  crypto_shorthash_keybytes(void);
+
+#define crypto_shorthash_PRIMITIVE "siphash24"
+SODIUM_EXPORT
+const char *crypto_shorthash_primitive(void);
+
+SODIUM_EXPORT
+int crypto_shorthash(unsigned char *out, const unsigned char *in,
+                     unsigned long long inlen, const unsigned char *k);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
diff --git a/src/libsodium/src/libsodium/include/sodium/crypto_shorthash_siphash24.h b/src/libsodium/src/libsodium/include/sodium/crypto_shorthash_siphash24.h
new file mode 100644
index 00000000..2885d974
--- /dev/null
+++ b/src/libsodium/src/libsodium/include/sodium/crypto_shorthash_siphash24.h
@@ -0,0 +1,29 @@
+#ifndef crypto_shorthash_siphash24_H
+#define crypto_shorthash_siphash24_H
+
+#include <stddef.h>
+#include "export.h"
+
+#define crypto_shorthash_siphash24_BYTES 8U
+#define crypto_shorthash_siphash24_KEYBYTES 16U
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+SODIUM_EXPORT
+size_t crypto_shorthash_siphash24_bytes(void);
+
+SODIUM_EXPORT
+const char * crypto_shorthash_siphash24_primitive(void);
+
+SODIUM_EXPORT
+int crypto_shorthash_siphash24(unsigned char *,const unsigned char *,unsigned long long,const unsigned char *);
+
+#ifdef __cplusplus
+}
+#endif
+
+#define crypto_shorthash_siphash24_ref crypto_shorthash_siphash24
+
+#endif
diff --git a/src/libsodium/src/libsodium/include/sodium/crypto_sign.h b/src/libsodium/src/libsodium/include/sodium/crypto_sign.h
new file mode 100644
index 00000000..9efb2ebc
--- /dev/null
+++ b/src/libsodium/src/libsodium/include/sodium/crypto_sign.h
@@ -0,0 +1,61 @@
+#ifndef crypto_sign_H
+#define crypto_sign_H
+
+/*
+ * THREAD SAFETY: crypto_sign_keypair() is thread-safe,
+ * provided that you called sodium_init() once before using any
+ * other libsodium function.
+ * Other functions, including crypto_sign_seed_keypair() are always thread-safe.
+ */
+
+#include <stddef.h>
+
+#include "crypto_sign_ed25519.h"
+#include "export.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#define crypto_sign_BYTES crypto_sign_ed25519_BYTES
+SODIUM_EXPORT
+size_t  crypto_sign_bytes(void);
+
+#define crypto_sign_SEEDBYTES crypto_sign_ed25519_SEEDBYTES
+SODIUM_EXPORT
+size_t  crypto_sign_seedbytes(void);
+
+#define crypto_sign_PUBLICKEYBYTES crypto_sign_ed25519_PUBLICKEYBYTES
+SODIUM_EXPORT
+size_t  crypto_sign_publickeybytes(void);
+
+#define crypto_sign_SECRETKEYBYTES crypto_sign_ed25519_SECRETKEYBYTES
+SODIUM_EXPORT
+size_t  crypto_sign_secretkeybytes(void);
+
+#define crypto_sign_PRIMITIVE "ed25519"
+SODIUM_EXPORT
+const char *crypto_sign_primitive(void);
+
+SODIUM_EXPORT
+int crypto_sign_seed_keypair(unsigned char *pk, unsigned char *sk,
+                             const unsigned char *seed);
+
+SODIUM_EXPORT
+int crypto_sign_keypair(unsigned char *pk, unsigned char *sk);
+
+SODIUM_EXPORT
+int crypto_sign(unsigned char *sm, unsigned long long *smlen,
+                const unsigned char *m, unsigned long long mlen,
+                const unsigned char *sk);
+
+SODIUM_EXPORT
+int crypto_sign_open(unsigned char *m, unsigned long long *mlen,
+                     const unsigned char *sm, unsigned long long smlen,
+                     const unsigned char *pk);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
diff --git a/src/libsodium/src/libsodium/include/sodium/crypto_sign_ed25519.h b/src/libsodium/src/libsodium/include/sodium/crypto_sign_ed25519.h
new file mode 100644
index 00000000..aaf7082c
--- /dev/null
+++ b/src/libsodium/src/libsodium/include/sodium/crypto_sign_ed25519.h
@@ -0,0 +1,52 @@
+#ifndef crypto_sign_ed25519_H
+#define crypto_sign_ed25519_H
+
+#include <stddef.h>
+#include "export.h"
+
+#define crypto_sign_ed25519_SECRETKEYBYTES 64U
+#define crypto_sign_ed25519_PUBLICKEYBYTES 32U
+#define crypto_sign_ed25519_SEEDBYTES 32U
+#define crypto_sign_ed25519_BYTES 64U
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+SODIUM_EXPORT
+size_t crypto_sign_ed25519_bytes(void);
+
+SODIUM_EXPORT
+size_t crypto_sign_ed25519_seedbytes(void);
+
+SODIUM_EXPORT
+size_t crypto_sign_ed25519_publickeybytes(void);
+
+SODIUM_EXPORT
+size_t crypto_sign_ed25519_secretkeybytes(void);
+
+SODIUM_EXPORT
+const char * crypto_sign_ed25519_primitive(void);
+
+SODIUM_EXPORT
+int crypto_sign_ed25519(unsigned char *,unsigned long long *,const unsigned char *,unsigned long long,const unsigned char *);
+
+SODIUM_EXPORT
+int crypto_sign_ed25519_open(unsigned char *,unsigned long long *,const unsigned char *,unsigned long long,const unsigned char *);
+
+SODIUM_EXPORT
+int crypto_sign_ed25519_keypair(unsigned char *,unsigned char *);
+
+SODIUM_EXPORT
+int crypto_sign_ed25519_seed_keypair(unsigned char *,unsigned char *,const unsigned char *);
+
+#ifdef __cplusplus
+}
+#endif
+
+#define crypto_sign_ed25519_ref10 crypto_sign_ed25519
+#define crypto_sign_ed25519_ref10_open crypto_sign_ed25519_open
+#define crypto_sign_ed25519_ref10_keypair crypto_sign_ed25519_keypair
+#define crypto_sign_ed25519_ref10_seed_keypair crypto_sign_ed25519_seed_keypair
+
+#endif
diff --git a/src/libsodium/src/libsodium/include/sodium/crypto_sign_edwards25519sha512batch.h b/src/libsodium/src/libsodium/include/sodium/crypto_sign_edwards25519sha512batch.h
new file mode 100644
index 00000000..eb8f7061
--- /dev/null
+++ b/src/libsodium/src/libsodium/include/sodium/crypto_sign_edwards25519sha512batch.h
@@ -0,0 +1,44 @@
+#ifndef crypto_sign_edwards25519sha512batch_H
+#define crypto_sign_edwards25519sha512batch_H
+
+#include <stddef.h>
+#include "export.h"
+
+#define crypto_sign_edwards25519sha512batch_SECRETKEYBYTES 64U
+#define crypto_sign_edwards25519sha512batch_PUBLICKEYBYTES 32U
+#define crypto_sign_edwards25519sha512batch_BYTES 64U
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+SODIUM_EXPORT
+size_t crypto_sign_edwards25519sha512batch_bytes(void);
+
+SODIUM_EXPORT
+size_t crypto_sign_edwards25519sha512batch_publickeybytes(void);
+
+SODIUM_EXPORT
+size_t crypto_sign_edwards25519sha512batch_secretkeybytes(void);
+
+SODIUM_EXPORT
+const char * crypto_sign_edwards25519sha512batch_primitive(void);
+
+SODIUM_EXPORT
+int crypto_sign_edwards25519sha512batch(unsigned char *,unsigned long long *,const unsigned char *,unsigned long long,const unsigned char *);
+
+SODIUM_EXPORT
+int crypto_sign_edwards25519sha512batch_open(unsigned char *,unsigned long long *,const unsigned char *,unsigned long long,const unsigned char *);
+
+SODIUM_EXPORT
+int crypto_sign_edwards25519sha512batch_keypair(unsigned char *,unsigned char *);
+
+#ifdef __cplusplus
+}
+#endif
+
+#define crypto_sign_edwards25519sha512batch_ref crypto_sign_edwards25519sha512batch
+#define crypto_sign_edwards25519sha512batch_ref_open crypto_sign_edwards25519sha512batch_open
+#define crypto_sign_edwards25519sha512batch_ref_keypair crypto_sign_edwards25519sha512batch_keypair
+
+#endif
diff --git a/src/libsodium/src/libsodium/include/sodium/crypto_stream.h b/src/libsodium/src/libsodium/include/sodium/crypto_stream.h
new file mode 100644
index 00000000..e16aef35
--- /dev/null
+++ b/src/libsodium/src/libsodium/include/sodium/crypto_stream.h
@@ -0,0 +1,46 @@
+#ifndef crypto_stream_H
+#define crypto_stream_H
+
+/*
+ *  WARNING: This is just a stream cipher. It is NOT authenticated encryption.
+ *  While it provides some protection against eavesdropping, it does NOT
+ *  provide any security against active attacks.
+ *  Unless you know what you're doing, what you are looking for is probably
+ *  the crypto_box functions.
+ */
+
+#include <stddef.h>
+
+#include "crypto_stream_xsalsa20.h"
+#include "export.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#define crypto_stream_KEYBYTES crypto_stream_xsalsa20_KEYBYTES
+SODIUM_EXPORT
+size_t  crypto_stream_keybytes(void);
+
+#define crypto_stream_NONCEBYTES crypto_stream_xsalsa20_NONCEBYTES
+SODIUM_EXPORT
+size_t  crypto_stream_noncebytes(void);
+
+#define crypto_stream_PRIMITIVE "xsalsa20"
+SODIUM_EXPORT
+const char *crypto_stream_primitive(void);
+
+SODIUM_EXPORT
+int crypto_stream(unsigned char *c, unsigned long long clen,
+                  const unsigned char *n, const unsigned char *k);
+
+SODIUM_EXPORT
+int crypto_stream_xor(unsigned char *c, const unsigned char *m,
+                      unsigned long long mlen, const unsigned char *n,
+                      const unsigned char *k);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
diff --git a/src/libsodium/src/libsodium/include/sodium/crypto_stream_aes128ctr.h b/src/libsodium/src/libsodium/include/sodium/crypto_stream_aes128ctr.h
new file mode 100644
index 00000000..df9ee34a
--- /dev/null
+++ b/src/libsodium/src/libsodium/include/sodium/crypto_stream_aes128ctr.h
@@ -0,0 +1,60 @@
+#ifndef crypto_stream_aes128ctr_H
+#define crypto_stream_aes128ctr_H
+
+/*
+ *  WARNING: This is just a stream cipher. It is NOT authenticated encryption.
+ *  While it provides some protection against eavesdropping, it does NOT
+ *  provide any security against active attacks.
+ *  Unless you know what you're doing, what you are looking for is probably
+ *  the crypto_box functions.
+ */
+
+#include <stddef.h>
+#include "export.h"
+
+#define crypto_stream_aes128ctr_KEYBYTES 16U
+#define crypto_stream_aes128ctr_NONCEBYTES 16U
+#define crypto_stream_aes128ctr_BEFORENMBYTES 1408U
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+SODIUM_EXPORT
+size_t crypto_stream_aes128ctr_keybytes(void);
+
+SODIUM_EXPORT
+size_t crypto_stream_aes128ctr_noncebytes(void);
+
+SODIUM_EXPORT
+size_t crypto_stream_aes128ctr_beforenmbytes(void);
+
+SODIUM_EXPORT
+const char * crypto_stream_aes128ctr_primitive(void);
+
+SODIUM_EXPORT
+int crypto_stream_aes128ctr(unsigned char *,unsigned long long,const unsigned char *,const unsigned char *);
+
+SODIUM_EXPORT
+int crypto_stream_aes128ctr_xor(unsigned char *,const unsigned char *,unsigned long long,const unsigned char *,const unsigned char *);
+
+SODIUM_EXPORT
+int crypto_stream_aes128ctr_beforenm(unsigned char *,const unsigned char *);
+
+SODIUM_EXPORT
+int crypto_stream_aes128ctr_afternm(unsigned char *,unsigned long long,const unsigned char *,const unsigned char *);
+
+SODIUM_EXPORT
+int crypto_stream_aes128ctr_xor_afternm(unsigned char *,const unsigned char *,unsigned long long,const unsigned char *,const unsigned char *);
+
+#ifdef __cplusplus
+}
+#endif
+
+#define crypto_stream_aes128ctr_portable crypto_stream_aes128ctr
+#define crypto_stream_aes128ctr_portable_xor crypto_stream_aes128ctr_xor
+#define crypto_stream_aes128ctr_portable_beforenm crypto_stream_aes128ctr_beforenm
+#define crypto_stream_aes128ctr_portable_afternm crypto_stream_aes128ctr_afternm
+#define crypto_stream_aes128ctr_portable_xor_afternm crypto_stream_aes128ctr_xor_afternm
+
+#endif
diff --git a/src/libsodium/src/libsodium/include/sodium/crypto_stream_aes256estream.h b/src/libsodium/src/libsodium/include/sodium/crypto_stream_aes256estream.h
new file mode 100644
index 00000000..7240b22f
--- /dev/null
+++ b/src/libsodium/src/libsodium/include/sodium/crypto_stream_aes256estream.h
@@ -0,0 +1,61 @@
+#ifndef crypto_stream_aes256estream_H
+#define crypto_stream_aes256estream_H
+
+/*
+ *  WARNING: This is just a stream cipher. It is NOT authenticated encryption.
+ *  While it provides some protection against eavesdropping, it does NOT
+ *  provide any security against active attacks.
+ *  Furthermore, this implementation was not part of NaCl.
+ *  Unless you know what you're doing, what you are looking for is probably
+ *  the crypto_box functions.
+ */
+
+#include <stddef.h>
+#include "export.h"
+
+#define crypto_stream_aes256estream_KEYBYTES 32U
+#define crypto_stream_aes256estream_NONCEBYTES 16U
+#define crypto_stream_aes256estream_BEFORENMBYTES 276U
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+SODIUM_EXPORT
+size_t crypto_stream_aes256estream_keybytes(void);
+
+SODIUM_EXPORT
+size_t crypto_stream_aes256estream_noncebytes(void);
+
+SODIUM_EXPORT
+size_t crypto_stream_aes256estream_beforenmbytes(void);
+
+SODIUM_EXPORT
+const char * crypto_stream_aes256estream_primitive(void);
+
+SODIUM_EXPORT
+int crypto_stream_aes256estream(unsigned char *,unsigned long long,const unsigned char *,const unsigned char *);
+
+SODIUM_EXPORT
+int crypto_stream_aes256estream_xor(unsigned char *,const unsigned char *,unsigned long long,const unsigned char *,const unsigned char *);
+
+SODIUM_EXPORT
+int crypto_stream_aes256estream_beforenm(unsigned char *,const unsigned char *);
+
+SODIUM_EXPORT
+int crypto_stream_aes256estream_afternm(unsigned char *,unsigned long long,const unsigned char *,const unsigned char *);
+
+SODIUM_EXPORT
+int crypto_stream_aes256estream_xor_afternm(unsigned char *,const unsigned char *,unsigned long long,const unsigned char *,const unsigned char *);
+
+#ifdef __cplusplus
+}
+#endif
+
+#define crypto_stream_aes256estream_hongjun crypto_stream_aes256estream
+#define crypto_stream_aes256estream_hongjun_xor crypto_stream_aes256estream_xor
+#define crypto_stream_aes256estream_hongjun_beforenm crypto_stream_aes256estream_beforenm
+#define crypto_stream_aes256estream_hongjun_afternm crypto_stream_aes256estream_afternm
+#define crypto_stream_aes256estream_hongjun_xor_afternm crypto_stream_aes256estream_xor_afternm
+
+#endif
diff --git a/src/libsodium/src/libsodium/include/sodium/crypto_stream_salsa20.h b/src/libsodium/src/libsodium/include/sodium/crypto_stream_salsa20.h
new file mode 100644
index 00000000..f3e1091a
--- /dev/null
+++ b/src/libsodium/src/libsodium/include/sodium/crypto_stream_salsa20.h
@@ -0,0 +1,45 @@
+#ifndef crypto_stream_salsa20_H
+#define crypto_stream_salsa20_H
+
+/*
+ *  WARNING: This is just a stream cipher. It is NOT authenticated encryption.
+ *  While it provides some protection against eavesdropping, it does NOT
+ *  provide any security against active attacks.
+ *  Unless you know what you're doing, what you are looking for is probably
+ *  the crypto_box functions.
+ */
+
+#if 1
+# ifndef SODIUM_HAVE_AMD64_ASM
+#  define SODIUM_HAVE_AMD64_ASM
+# endif
+#endif
+
+#include "export.h"
+
+#define crypto_stream_salsa20_KEYBYTES 32U
+#define crypto_stream_salsa20_NONCEBYTES 8U
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+SODIUM_EXPORT
+int crypto_stream_salsa20(unsigned char *,unsigned long long,const unsigned char *,const unsigned char *);
+
+SODIUM_EXPORT
+int crypto_stream_salsa20_xor(unsigned char *,const unsigned char *,unsigned long long,const unsigned char *,const unsigned char *);
+
+#ifdef SODIUM_HAVE_AMD64_ASM
+# define crypto_stream_salsa20_amd64_xmm6 crypto_stream_salsa20
+# define crypto_stream_salsa20_amd64_xmm6_xor crypto_stream_salsa20_xor
+#else
+# define crypto_stream_salsa20_ref crypto_stream_salsa20
+# define crypto_stream_salsa20_ref_xor crypto_stream_salsa20_xor
+#endif
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
diff --git a/src/libsodium/src/libsodium/include/sodium/crypto_stream_salsa20.h.in b/src/libsodium/src/libsodium/include/sodium/crypto_stream_salsa20.h.in
new file mode 100644
index 00000000..9f8e9df2
--- /dev/null
+++ b/src/libsodium/src/libsodium/include/sodium/crypto_stream_salsa20.h.in
@@ -0,0 +1,45 @@
+#ifndef crypto_stream_salsa20_H
+#define crypto_stream_salsa20_H
+
+/*
+ *  WARNING: This is just a stream cipher. It is NOT authenticated encryption.
+ *  While it provides some protection against eavesdropping, it does NOT
+ *  provide any security against active attacks.
+ *  Unless you know what you're doing, what you are looking for is probably
+ *  the crypto_box functions.
+ */
+
+#if @HAVE_AMD64_ASM_V@
+# ifndef SODIUM_HAVE_AMD64_ASM
+#  define SODIUM_HAVE_AMD64_ASM
+# endif
+#endif
+
+#include "export.h"
+
+#define crypto_stream_salsa20_KEYBYTES 32U
+#define crypto_stream_salsa20_NONCEBYTES 8U
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+SODIUM_EXPORT
+int crypto_stream_salsa20(unsigned char *,unsigned long long,const unsigned char *,const unsigned char *);
+
+SODIUM_EXPORT
+int crypto_stream_salsa20_xor(unsigned char *,const unsigned char *,unsigned long long,const unsigned char *,const unsigned char *);
+
+#ifdef SODIUM_HAVE_AMD64_ASM
+# define crypto_stream_salsa20_amd64_xmm6 crypto_stream_salsa20
+# define crypto_stream_salsa20_amd64_xmm6_xor crypto_stream_salsa20_xor
+#else
+# define crypto_stream_salsa20_ref crypto_stream_salsa20
+# define crypto_stream_salsa20_ref_xor crypto_stream_salsa20_xor
+#endif
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
diff --git a/src/libsodium/src/libsodium/include/sodium/crypto_stream_salsa2012.h b/src/libsodium/src/libsodium/include/sodium/crypto_stream_salsa2012.h
new file mode 100644
index 00000000..742a7a1a
--- /dev/null
+++ b/src/libsodium/src/libsodium/include/sodium/crypto_stream_salsa2012.h
@@ -0,0 +1,44 @@
+#ifndef crypto_stream_salsa2012_H
+#define crypto_stream_salsa2012_H
+
+/*
+ *  WARNING: This is just a stream cipher. It is NOT authenticated encryption.
+ *  While it provides some protection against eavesdropping, it does NOT
+ *  provide any security against active attacks.
+ *  Unless you know what you're doing, what you are looking for is probably
+ *  the crypto_box functions.
+ */
+
+#include <stddef.h>
+#include "export.h"
+
+#define crypto_stream_salsa2012_KEYBYTES 32U
+#define crypto_stream_salsa2012_NONCEBYTES 8U
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+SODIUM_EXPORT
+size_t crypto_stream_salsa2012_keybytes(void);
+
+SODIUM_EXPORT
+size_t crypto_stream_salsa2012_noncebytes(void);
+
+SODIUM_EXPORT
+const char * crypto_stream_salsa2012_primitive(void);
+
+SODIUM_EXPORT
+int crypto_stream_salsa2012(unsigned char *,unsigned long long,const unsigned char *,const unsigned char *);
+
+SODIUM_EXPORT
+int crypto_stream_salsa2012_xor(unsigned char *,const unsigned char *,unsigned long long,const unsigned char *,const unsigned char *);
+
+#ifdef __cplusplus
+}
+#endif
+
+#define crypto_stream_salsa2012_ref crypto_stream_salsa2012
+#define crypto_stream_salsa2012_ref_xor crypto_stream_salsa2012_xor
+
+#endif
diff --git a/src/libsodium/src/libsodium/include/sodium/crypto_stream_salsa208.h b/src/libsodium/src/libsodium/include/sodium/crypto_stream_salsa208.h
new file mode 100644
index 00000000..cd6742ce
--- /dev/null
+++ b/src/libsodium/src/libsodium/include/sodium/crypto_stream_salsa208.h
@@ -0,0 +1,44 @@
+#ifndef crypto_stream_salsa208_H
+#define crypto_stream_salsa208_H
+
+/*
+ *  WARNING: This is just a stream cipher. It is NOT authenticated encryption.
+ *  While it provides some protection against eavesdropping, it does NOT
+ *  provide any security against active attacks.
+ *  Unless you know what you're doing, what you are looking for is probably
+ *  the crypto_box functions.
+ */
+
+#include <stddef.h>
+#include "export.h"
+
+#define crypto_stream_salsa208_KEYBYTES 32U
+#define crypto_stream_salsa208_NONCEBYTES 8U
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+SODIUM_EXPORT
+size_t crypto_stream_salsa208_keybytes(void);
+
+SODIUM_EXPORT
+size_t crypto_stream_salsa208_noncebytes(void);
+
+SODIUM_EXPORT
+const char * crypto_stream_salsa208_primitive(void);
+
+SODIUM_EXPORT
+int crypto_stream_salsa208(unsigned char *,unsigned long long,const unsigned char *,const unsigned char *);
+
+SODIUM_EXPORT
+int crypto_stream_salsa208_xor(unsigned char *,const unsigned char *,unsigned long long,const unsigned char *,const unsigned char *);
+
+#ifdef __cplusplus
+}
+#endif
+
+#define crypto_stream_salsa208_ref crypto_stream_salsa208
+#define crypto_stream_salsa208_ref_xor crypto_stream_salsa208_xor
+
+#endif
diff --git a/src/libsodium/src/libsodium/include/sodium/crypto_stream_xsalsa20.h b/src/libsodium/src/libsodium/include/sodium/crypto_stream_xsalsa20.h
new file mode 100644
index 00000000..c5ad363d
--- /dev/null
+++ b/src/libsodium/src/libsodium/include/sodium/crypto_stream_xsalsa20.h
@@ -0,0 +1,44 @@
+#ifndef crypto_stream_xsalsa20_H
+#define crypto_stream_xsalsa20_H
+
+/*
+ *  WARNING: This is just a stream cipher. It is NOT authenticated encryption.
+ *  While it provides some protection against eavesdropping, it does NOT
+ *  provide any security against active attacks.
+ *  Unless you know what you're doing, what you are looking for is probably
+ *  the crypto_box functions.
+ */
+
+#include <stddef.h>
+#include "export.h"
+
+#define crypto_stream_xsalsa20_KEYBYTES 32U
+#define crypto_stream_xsalsa20_NONCEBYTES 24U
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+SODIUM_EXPORT
+size_t crypto_stream_xsalsa20_keybytes(void);
+
+SODIUM_EXPORT
+size_t crypto_stream_xsalsa20_noncebytes(void);
+
+SODIUM_EXPORT
+const char * crypto_stream_xsalsa20_primitive(void);
+
+SODIUM_EXPORT
+int crypto_stream_xsalsa20(unsigned char *,unsigned long long,const unsigned char *,const unsigned char *);
+
+SODIUM_EXPORT
+int crypto_stream_xsalsa20_xor(unsigned char *,const unsigned char *,unsigned long long,const unsigned char *,const unsigned char *);
+
+#ifdef __cplusplus
+}
+#endif
+
+#define crypto_stream_xsalsa20_ref crypto_stream_xsalsa20
+#define crypto_stream_xsalsa20_ref_xor crypto_stream_xsalsa20_xor
+
+#endif
diff --git a/src/libsodium/src/libsodium/include/sodium/crypto_uint16.h b/src/libsodium/src/libsodium/include/sodium/crypto_uint16.h
new file mode 100644
index 00000000..6be4e347
--- /dev/null
+++ b/src/libsodium/src/libsodium/include/sodium/crypto_uint16.h
@@ -0,0 +1,8 @@
+#ifndef crypto_uint16_H
+#define crypto_uint16_H
+
+#include <stdint.h>
+
+typedef uint16_t crypto_uint16;
+
+#endif
diff --git a/src/libsodium/src/libsodium/include/sodium/crypto_uint32.h b/src/libsodium/src/libsodium/include/sodium/crypto_uint32.h
new file mode 100644
index 00000000..ba66cecc
--- /dev/null
+++ b/src/libsodium/src/libsodium/include/sodium/crypto_uint32.h
@@ -0,0 +1,8 @@
+#ifndef crypto_uint32_H
+#define crypto_uint32_H
+
+#include <stdint.h>
+
+typedef uint32_t crypto_uint32;
+
+#endif
diff --git a/src/libsodium/src/libsodium/include/sodium/crypto_uint64.h b/src/libsodium/src/libsodium/include/sodium/crypto_uint64.h
new file mode 100644
index 00000000..98b3f6d3
--- /dev/null
+++ b/src/libsodium/src/libsodium/include/sodium/crypto_uint64.h
@@ -0,0 +1,8 @@
+#ifndef crypto_uint64_H
+#define crypto_uint64_H
+
+#include <stdint.h>
+
+typedef uint64_t crypto_uint64;
+
+#endif
diff --git a/src/libsodium/src/libsodium/include/sodium/crypto_uint8.h b/src/libsodium/src/libsodium/include/sodium/crypto_uint8.h
new file mode 100644
index 00000000..789613ba
--- /dev/null
+++ b/src/libsodium/src/libsodium/include/sodium/crypto_uint8.h
@@ -0,0 +1,8 @@
+#ifndef crypto_uint8_H
+#define crypto_uint8_H
+
+#include <stdint.h>
+
+typedef uint8_t crypto_uint8;
+
+#endif
diff --git a/src/libsodium/src/libsodium/include/sodium/crypto_verify_16.h b/src/libsodium/src/libsodium/include/sodium/crypto_verify_16.h
new file mode 100644
index 00000000..972a02f3
--- /dev/null
+++ b/src/libsodium/src/libsodium/include/sodium/crypto_verify_16.h
@@ -0,0 +1,25 @@
+#ifndef crypto_verify_16_H
+#define crypto_verify_16_H
+
+#include <stddef.h>
+#include "export.h"
+
+#define crypto_verify_16_BYTES 16U
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+SODIUM_EXPORT
+size_t crypto_verify_16_bytes(void);
+
+SODIUM_EXPORT
+int crypto_verify_16(const unsigned char *x, const unsigned char *y);
+
+#define crypto_verify_16_ref crypto_verify_16
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
diff --git a/src/libsodium/src/libsodium/include/sodium/crypto_verify_32.h b/src/libsodium/src/libsodium/include/sodium/crypto_verify_32.h
new file mode 100644
index 00000000..f3ada230
--- /dev/null
+++ b/src/libsodium/src/libsodium/include/sodium/crypto_verify_32.h
@@ -0,0 +1,25 @@
+#ifndef crypto_verify_32_H
+#define crypto_verify_32_H
+
+#include <stddef.h>
+#include "export.h"
+
+#define crypto_verify_32_BYTES 32U
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+SODIUM_EXPORT
+size_t crypto_verify_32_bytes(void);
+
+SODIUM_EXPORT
+int crypto_verify_32(const unsigned char *x, const unsigned char *y);
+
+#define crypto_verify_32_ref crypto_verify_32
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
diff --git a/src/libsodium/src/libsodium/include/sodium/export.h b/src/libsodium/src/libsodium/include/sodium/export.h
new file mode 100644
index 00000000..1fcbaae8
--- /dev/null
+++ b/src/libsodium/src/libsodium/include/sodium/export.h
@@ -0,0 +1,30 @@
+
+#ifndef __SODIUM_EXPORT_H__
+#define __SODIUM_EXPORT_H__
+
+#ifndef __GNUC__
+# ifdef __attribute__
+#  undef __attribute__
+# endif
+# define __attribute__(a)
+#endif
+
+#ifndef SODIUM_STATIC
+# if defined(_MSC_VER)
+#  ifdef DLL_EXPORT
+#   define SODIUM_EXPORT __declspec(dllexport)
+#  else
+#   define SODIUM_EXPORT __declspec(dllimport)
+#  endif
+# else
+#  if defined(__SUNPRO_C)
+#   define SODIUM_EXPORT __attribute__ __global
+#  elif defined(_MSG_VER)
+#   define SODIUM_EXPORT extern __declspec(dllexport)
+#  else
+#   define SODIUM_EXPORT __attribute__ ((visibility ("default")))
+#  endif
+# endif
+#endif
+
+#endif
diff --git a/src/libsodium/src/libsodium/include/sodium/randombytes.h b/src/libsodium/src/libsodium/include/sodium/randombytes.h
new file mode 100644
index 00000000..5a2176b9
--- /dev/null
+++ b/src/libsodium/src/libsodium/include/sodium/randombytes.h
@@ -0,0 +1,53 @@
+
+#ifndef randombytes_H
+#define randombytes_H
+
+#include <sys/types.h>
+
+#include <stddef.h>
+#include <stdint.h>
+
+#include "export.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+typedef struct randombytes_implementation {
+    const char *(*implementation_name)(void);
+    uint32_t    (*random)(void);
+    void        (*stir)(void);
+    uint32_t    (*uniform)(const uint32_t upper_bound);
+    void        (*buf)(void * const buf, const size_t size);
+    int         (*close)(void);
+} randombytes_implementation;
+
+SODIUM_EXPORT
+int         randombytes_set_implementation(randombytes_implementation *impl);
+
+SODIUM_EXPORT
+void        randombytes(unsigned char *buf, unsigned long long size);
+
+SODIUM_EXPORT
+const char *randombytes_implementation_name(void);
+
+SODIUM_EXPORT
+uint32_t    randombytes_random(void);
+
+SODIUM_EXPORT
+void        randombytes_stir(void);
+
+SODIUM_EXPORT
+uint32_t    randombytes_uniform(const uint32_t upper_bound);
+
+SODIUM_EXPORT
+void        randombytes_buf(void * const buf, const size_t size);
+
+SODIUM_EXPORT
+int         randombytes_close(void);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
diff --git a/src/libsodium/src/libsodium/include/sodium/randombytes_salsa20_random.h b/src/libsodium/src/libsodium/include/sodium/randombytes_salsa20_random.h
new file mode 100644
index 00000000..46d38c54
--- /dev/null
+++ b/src/libsodium/src/libsodium/include/sodium/randombytes_salsa20_random.h
@@ -0,0 +1,45 @@
+
+#ifndef randombytes_salsa20_random_H
+#define randombytes_salsa20_random_H
+
+/*
+ * THREAD SAFETY: randombytes_salsa20_random*() functions are
+ * fork()-safe but not thread-safe.
+ * Always wrap them in a mutex if you need thread safety.
+ */
+
+#include <stddef.h>
+#include <stdint.h>
+
+#include "export.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+SODIUM_EXPORT
+extern struct randombytes_implementation randombytes_salsa20_implementation;
+
+SODIUM_EXPORT
+const char *randombytes_salsa20_implementation_name(void);
+
+SODIUM_EXPORT
+uint32_t    randombytes_salsa20_random(void);
+
+SODIUM_EXPORT
+void        randombytes_salsa20_random_stir(void);
+
+SODIUM_EXPORT
+uint32_t    randombytes_salsa20_random_uniform(const uint32_t upper_bound);
+
+SODIUM_EXPORT
+void        randombytes_salsa20_random_buf(void * const buf, const size_t size);
+
+SODIUM_EXPORT
+int         randombytes_salsa20_random_close(void);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
diff --git a/src/libsodium/src/libsodium/include/sodium/randombytes_sysrandom.h b/src/libsodium/src/libsodium/include/sodium/randombytes_sysrandom.h
new file mode 100644
index 00000000..20dab781
--- /dev/null
+++ b/src/libsodium/src/libsodium/include/sodium/randombytes_sysrandom.h
@@ -0,0 +1,45 @@
+
+#ifndef randombytes_sysrandom_H
+#define randombytes_sysrandom_H
+
+/*
+ * THREAD SAFETY: randombytes_sysrandom() functions are thread-safe,
+ * provided that you called sodium_init() once before using any
+ * other libsodium function.
+ */
+
+#include <stddef.h>
+#include <stdint.h>
+
+#include "export.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+SODIUM_EXPORT
+extern struct randombytes_implementation randombytes_sysrandom_implementation;
+
+SODIUM_EXPORT
+const char *randombytes_sysrandom_implementation_name(void);
+
+SODIUM_EXPORT
+uint32_t    randombytes_sysrandom(void);
+
+SODIUM_EXPORT
+void        randombytes_sysrandom_stir(void);
+
+SODIUM_EXPORT
+uint32_t    randombytes_sysrandom_uniform(const uint32_t upper_bound);
+
+SODIUM_EXPORT
+void        randombytes_sysrandom_buf(void * const buf, const size_t size);
+
+SODIUM_EXPORT
+int         randombytes_sysrandom_close(void);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
diff --git a/src/libsodium/src/libsodium/include/sodium/utils.h b/src/libsodium/src/libsodium/include/sodium/utils.h
new file mode 100644
index 00000000..e2aaf697
--- /dev/null
+++ b/src/libsodium/src/libsodium/include/sodium/utils.h
@@ -0,0 +1,36 @@
+
+#ifndef __SODIUM_UTILS_H__
+#define __SODIUM_UTILS_H__
+
+#include <stddef.h>
+
+#include "export.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#ifndef __cplusplus
+# define _SODIUM_C99(X) X
+#else
+# define _SODIUM_C99(X)
+#endif
+
+unsigned char *_sodium_alignedcalloc(unsigned char ** const unaligned_p,
+                                     const size_t len);
+
+SODIUM_EXPORT
+void sodium_memzero(void * const pnt, const size_t len);
+
+SODIUM_EXPORT
+int sodium_memcmp(const void * const b1_, const void * const b2_, size_t size);
+
+SODIUM_EXPORT
+char *sodium_bin2hex(char * const hex, const size_t hexlen,
+                     const unsigned char *bin, const size_t binlen);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
diff --git a/src/libsodium/src/libsodium/include/sodium/version.h b/src/libsodium/src/libsodium/include/sodium/version.h
new file mode 100644
index 00000000..3a3f34fd
--- /dev/null
+++ b/src/libsodium/src/libsodium/include/sodium/version.h
@@ -0,0 +1,29 @@
+
+#ifndef __SODIUM_VERSION_H__
+#define __SODIUM_VERSION_H__
+
+#include "export.h"
+
+#define SODIUM_VERSION_STRING "0.4.3"
+
+#define SODIUM_LIBRARY_VERSION_MAJOR 4
+#define SODIUM_LIBRARY_VERSION_MINOR 3
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+SODIUM_EXPORT
+const char *sodium_version_string(void);
+
+SODIUM_EXPORT
+int         sodium_library_version_major(void);
+
+SODIUM_EXPORT
+int         sodium_library_version_minor(void);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
diff --git a/src/libsodium/src/libsodium/include/sodium/version.h.in b/src/libsodium/src/libsodium/include/sodium/version.h.in
new file mode 100644
index 00000000..ddc8cfd1
--- /dev/null
+++ b/src/libsodium/src/libsodium/include/sodium/version.h.in
@@ -0,0 +1,29 @@
+
+#ifndef __SODIUM_VERSION_H__
+#define __SODIUM_VERSION_H__
+
+#include "export.h"
+
+#define SODIUM_VERSION_STRING "@VERSION@"
+
+#define SODIUM_LIBRARY_VERSION_MAJOR @SODIUM_LIBRARY_VERSION_MAJOR@
+#define SODIUM_LIBRARY_VERSION_MINOR @SODIUM_LIBRARY_VERSION_MINOR@
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+SODIUM_EXPORT
+const char *sodium_version_string(void);
+
+SODIUM_EXPORT
+int         sodium_library_version_major(void);
+
+SODIUM_EXPORT
+int         sodium_library_version_minor(void);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
diff --git a/src/libsodium/src/libsodium/randombytes/randombytes.c b/src/libsodium/src/libsodium/randombytes/randombytes.c
new file mode 100644
index 00000000..38bc939b
--- /dev/null
+++ b/src/libsodium/src/libsodium/randombytes/randombytes.c
@@ -0,0 +1,64 @@
+
+#include <sys/types.h>
+
+#include <assert.h>
+#include <inttypes.h>
+#include <limits.h>
+#include <stdint.h>
+
+#include "randombytes.h"
+#include "randombytes_sysrandom.h"
+
+static const randombytes_implementation *implementation =
+    &randombytes_sysrandom_implementation;
+
+int
+randombytes_set_implementation(randombytes_implementation *impl)
+{
+    implementation = impl;
+
+    return 0;
+}
+
+const char *
+randombytes_implementation_name(void)
+{
+    return implementation->implementation_name();
+}
+
+uint32_t
+randombytes_random(void)
+{
+    return implementation->random();
+}
+
+void
+randombytes_stir(void)
+{
+    return implementation->stir();
+}
+
+uint32_t
+randombytes_uniform(const uint32_t upper_bound)
+{
+    return implementation->uniform(upper_bound);
+}
+
+void
+randombytes_buf(void * const buf, const size_t size)
+{
+    implementation->buf(buf, size);
+}
+
+int
+randombytes_close(void)
+{
+    return implementation->close();
+}
+
+void
+randombytes(unsigned char * const buf, const unsigned long long buf_len)
+{
+    assert(buf_len <= SIZE_MAX);
+    randombytes_buf(buf, (size_t) buf_len);
+}
diff --git a/src/libsodium/src/libsodium/randombytes/salsa20/randombytes_salsa20_random.c b/src/libsodium/src/libsodium/randombytes/salsa20/randombytes_salsa20_random.c
new file mode 100644
index 00000000..cf617360
--- /dev/null
+++ b/src/libsodium/src/libsodium/randombytes/salsa20/randombytes_salsa20_random.c
@@ -0,0 +1,306 @@
+
+#include <sys/types.h>
+#include <sys/time.h>
+
+#include <assert.h>
+#include <errno.h>
+#include <fcntl.h>
+#include <limits.h>
+#include <stdbool.h>
+#include <stdint.h>
+#include <stdlib.h>
+#include <string.h>
+#include <unistd.h>
+
+#include "crypto_core_salsa20.h"
+#include "crypto_auth_hmacsha512256.h"
+#include "crypto_stream_salsa20.h"
+#include "randombytes.h"
+#include "randombytes_salsa20_random.h"
+#include "utils.h"
+
+#ifdef _WIN32
+# include <windows.h>
+# include <wincrypt.h>
+# include <sys/timeb.h>
+#endif
+
+#define SALSA20_RANDOM_BLOCK_SIZE crypto_core_salsa20_OUTPUTBYTES
+#define SHA512_BLOCK_SIZE 128U
+#define SHA512_MIN_PAD_SIZE (1U + 16U)
+#define COMPILER_ASSERT(X) (void) sizeof(char[(X) ? 1 : -1])
+
+typedef struct Salsa20Random_ {
+    unsigned char key[crypto_stream_salsa20_KEYBYTES];
+    unsigned char rnd32[SALSA20_RANDOM_BLOCK_SIZE];
+    uint64_t      nonce;
+    size_t        rnd32_outleft;
+    pid_t         pid;
+#ifdef _WIN32
+    HCRYPTPROV    hcrypt_prov;
+#endif
+    int           random_data_source_fd;
+    bool          initialized;
+} Salsa20Random;
+
+static Salsa20Random stream = {
+    _SODIUM_C99(.random_data_source_fd =) -1,
+    _SODIUM_C99(.rnd32_outleft =) (size_t) 0U,
+    _SODIUM_C99(.initialized =) 0
+};
+
+static uint64_t
+sodium_hrtime(void)
+{
+    struct timeval tv;
+    uint64_t       ts = (uint64_t) 0U;
+    int            ret;
+
+#ifdef _WIN32
+    struct _timeb tb;
+
+    _ftime(&tb);
+    tv.tv_sec = (long) tb.time;
+    tv.tv_usec = ((int) tb.millitm) * 1000;
+    ret = 0;
+#else
+    ret = gettimeofday(&tv, NULL);
+#endif
+    assert(ret == 0);
+    if (ret == 0) {
+        ts = (uint64_t) tv.tv_sec * 1000000U + (uint64_t) tv.tv_usec;
+    }
+    return ts;
+}
+
+#ifndef _WIN32
+static ssize_t
+safe_read(const int fd, void * const buf_, size_t count)
+{
+    unsigned char *buf = (unsigned char *) buf_;
+    ssize_t        readnb;
+
+    do {
+        while ((readnb = read(fd, buf, count)) < (ssize_t) 0 &&
+               errno == EINTR);
+        if (readnb < (ssize_t) 0) {
+            return readnb;
+        }
+        if (readnb == (ssize_t) 0) {
+            break;
+        }
+        count -= (size_t) readnb;
+        buf += readnb;
+    } while (count > (ssize_t) 0);
+
+    return (ssize_t) (buf - (unsigned char *) buf_);
+}
+#endif
+
+#ifndef _WIN32
+static int
+randombytes_salsa20_random_random_dev_open(void)
+{
+    static const char * const devices[] = {
+# ifndef USE_BLOCKING_RANDOM
+        "/dev/arandom", "/dev/urandom",
+# endif
+        "/dev/random", NULL
+    };
+    const char * const *device = devices;
+
+    do {
+        if (access(*device, F_OK | R_OK) == 0) {
+            return open(*device, O_RDONLY);
+        }
+        device++;
+    } while (*device != NULL);
+
+    return -1;
+}
+
+static void
+randombytes_salsa20_random_init(void)
+{
+    stream.nonce = sodium_hrtime();
+    assert(stream.nonce != (uint64_t) 0U);
+
+    if ((stream.random_data_source_fd =
+         randombytes_salsa20_random_random_dev_open()) == -1) {
+        abort();
+    }
+}
+
+#else /* _WIN32 */
+
+static void
+randombytes_salsa20_random_init(void)
+{
+    stream.nonce = sodium_hrtime();
+    assert(stream.nonce != (uint64_t) 0U);
+
+    if (! CryptAcquireContext(&stream.hcrypt_prov, NULL, NULL,
+                              PROV_RSA_FULL, CRYPT_VERIFYCONTEXT)) {
+        abort();
+    }
+}
+#endif
+
+void
+randombytes_salsa20_random_stir(void)
+{
+    const unsigned char s[crypto_auth_hmacsha512256_KEYBYTES] = {
+        'T', 'h', 'i', 's', 'I', 's', 'J', 'u', 's', 't', 'A', 'T',
+        'h', 'i', 'r', 't', 'y', 'T', 'w', 'o', 'B', 'y', 't', 'e',
+        's', 'S', 'e', 'e', 'd', '.', '.', '.'
+    };
+    unsigned char  m0[crypto_auth_hmacsha512256_BYTES +
+                      2U * SHA512_BLOCK_SIZE - SHA512_MIN_PAD_SIZE];
+    unsigned char *k0 = m0 + crypto_auth_hmacsha512256_BYTES;
+    size_t         i;
+    size_t         sizeof_k0 = sizeof m0 - crypto_auth_hmacsha512256_BYTES;
+
+    memset(stream.rnd32, 0, sizeof stream.rnd32);
+    stream.rnd32_outleft = (size_t) 0U;
+    if (stream.initialized == 0) {
+        randombytes_salsa20_random_init();
+        stream.initialized = 1;
+    }
+#ifndef _WIN32
+    if (safe_read(stream.random_data_source_fd, m0,
+                  sizeof m0) != (ssize_t) sizeof m0) {
+        abort();
+    }
+#else /* _WIN32 */
+    if (! CryptGenRandom(stream.hcrypt_prov, sizeof m0, m0)) {
+        abort();
+    }
+#endif
+    COMPILER_ASSERT(sizeof stream.key == crypto_auth_hmacsha512256_BYTES);
+    crypto_auth_hmacsha512256(stream.key, k0, sizeof_k0, s);
+    COMPILER_ASSERT(sizeof stream.key <= sizeof m0);
+    for (i = (size_t) 0U; i < sizeof stream.key; i++) {
+        stream.key[i] ^= m0[i];
+    }
+    sodium_memzero(m0, sizeof m0);
+}
+
+static void
+randombytes_salsa20_random_stir_if_needed(void)
+{
+    const pid_t pid = getpid();
+
+    if (stream.initialized == 0 || stream.pid != pid) {
+        stream.pid = pid;
+        randombytes_salsa20_random_stir();
+    }
+}
+
+static uint32_t
+randombytes_salsa20_random_getword(void)
+{
+    uint32_t val;
+    int      ret;
+
+    COMPILER_ASSERT(sizeof stream.rnd32 >= sizeof val);
+    COMPILER_ASSERT(sizeof stream.rnd32 % sizeof val == (size_t) 0U);
+    if (stream.rnd32_outleft <= (size_t) 0U) {
+        randombytes_salsa20_random_stir_if_needed();
+        COMPILER_ASSERT(sizeof stream.nonce == crypto_stream_salsa20_NONCEBYTES);
+        ret = crypto_stream_salsa20((unsigned char *) stream.rnd32,
+                                    (unsigned long long) sizeof stream.rnd32,
+                                    (unsigned char *) &stream.nonce,
+                                    stream.key);
+        assert(ret == 0);
+        stream.nonce++;
+        stream.rnd32_outleft = sizeof stream.rnd32;
+    }
+    stream.rnd32_outleft -= sizeof val;
+    memcpy(&val, &stream.rnd32[stream.rnd32_outleft], sizeof val);
+
+    return val;
+}
+
+int
+randombytes_salsa20_random_close(void)
+{
+    int ret = -1;
+
+#ifndef _WIN32
+    if (stream.random_data_source_fd != -1 &&
+        close(stream.random_data_source_fd) == 0) {
+        stream.random_data_source_fd = -1;
+        stream.initialized = 0;
+        ret = 0;
+    }
+#else /* _WIN32 */
+    if (stream.initialized != 0 &&
+        CryptReleaseContext(stream.hcrypt_prov, 0)) {
+        stream.initialized = 0;
+        ret = 0;
+    }
+#endif
+    return ret;
+}
+
+uint32_t
+randombytes_salsa20_random(void)
+{
+    return randombytes_salsa20_random_getword();
+}
+
+void
+randombytes_salsa20_random_buf(void * const buf, const size_t size)
+{
+    int ret;
+
+    randombytes_salsa20_random_stir_if_needed();
+    COMPILER_ASSERT(sizeof stream.nonce == crypto_stream_salsa20_NONCEBYTES);
+#ifdef ULONG_LONG_MAX
+    assert(size <= ULONG_LONG_MAX);
+#endif
+    ret = crypto_stream_salsa20((unsigned char *) buf, (unsigned long long) size,
+                                (unsigned char *) &stream.nonce,
+                                stream.key);
+    assert(ret == 0);
+    stream.nonce++;
+}
+
+/*
+ * randombytes_salsa20_random_uniform() derives from OpenBSD's arc4random_uniform()
+ * Copyright (c) 2008, Damien Miller <djm@openbsd.org>
+ */
+
+uint32_t
+randombytes_salsa20_random_uniform(const uint32_t upper_bound)
+{
+    uint32_t min;
+    uint32_t r;
+
+    if (upper_bound < 2) {
+        return 0;
+    }
+    min = (uint32_t) (-upper_bound % upper_bound);
+    for (;;) {
+        r = randombytes_salsa20_random();
+        if (r >= min) {
+            break;
+        }
+    }
+    return r % upper_bound;
+}
+
+const char *
+randombytes_salsa20_implementation_name(void)
+{
+    return "salsa20";
+}
+
+struct randombytes_implementation randombytes_salsa20_implementation = {
+    _SODIUM_C99(.implementation_name =) randombytes_salsa20_implementation_name,
+    _SODIUM_C99(.random =) randombytes_salsa20_random,
+    _SODIUM_C99(.stir =) randombytes_salsa20_random_stir,
+    _SODIUM_C99(.uniform =) randombytes_salsa20_random_uniform,
+    _SODIUM_C99(.buf =) randombytes_salsa20_random_buf,
+    _SODIUM_C99(.close =) randombytes_salsa20_random_close
+};
diff --git a/src/libsodium/src/libsodium/randombytes/sysrandom/randombytes_sysrandom.c b/src/libsodium/src/libsodium/randombytes/sysrandom/randombytes_sysrandom.c
new file mode 100644
index 00000000..eec5e55c
--- /dev/null
+++ b/src/libsodium/src/libsodium/randombytes/sysrandom/randombytes_sysrandom.c
@@ -0,0 +1,211 @@
+
+#include <sys/types.h>
+#include <sys/time.h>
+
+#include <assert.h>
+#include <errno.h>
+#include <fcntl.h>
+#include <limits.h>
+#ifndef _WIN32
+# include <poll.h>
+#endif
+#include <stdbool.h>
+#include <stdint.h>
+#include <stdlib.h>
+#include <string.h>
+#include <unistd.h>
+
+#include "randombytes.h"
+#include "randombytes_sysrandom.h"
+#include "utils.h"
+
+#ifdef _WIN32
+# include <windows.h>
+# include <wincrypt.h>
+#endif
+
+typedef struct SysRandom_ {
+#ifdef _WIN32
+    HCRYPTPROV hcrypt_prov;
+#endif
+    int        random_data_source_fd;
+    bool       initialized;
+} SysRandom;
+
+static SysRandom stream = {
+    _SODIUM_C99(.random_data_source_fd =) -1,
+    _SODIUM_C99(.initialized =) 0
+};
+
+#ifndef _WIN32
+static ssize_t
+safe_read(const int fd, void * const buf_, size_t count)
+{
+    unsigned char *buf = (unsigned char *) buf_;
+    ssize_t        readnb;
+
+    do {
+        while ((readnb = read(fd, buf, count)) < (ssize_t) 0 &&
+               errno == EINTR);
+        if (readnb < (ssize_t) 0) {
+            return readnb;
+        }
+        if (readnb == (ssize_t) 0) {
+            break;
+        }
+        count -= (size_t) readnb;
+        buf += readnb;
+    } while (count > (ssize_t) 0);
+
+    return (ssize_t) (buf - (unsigned char *) buf_);
+}
+#endif
+
+#ifndef _WIN32
+static int
+randombytes_sysrandom_random_dev_open(void)
+{
+    static const char * const devices[] = {
+# ifndef USE_BLOCKING_RANDOM
+        "/dev/arandom", "/dev/urandom",
+# endif
+        "/dev/random", NULL
+    };
+    const char * const *device = devices;
+
+    do {
+        if (access(*device, F_OK | R_OK) == 0) {
+            return open(*device, O_RDONLY);
+        }
+        device++;
+    } while (*device != NULL);
+
+    return -1;
+}
+
+static void
+randombytes_sysrandom_init(void)
+{
+    if ((stream.random_data_source_fd =
+         randombytes_sysrandom_random_dev_open()) == -1) {
+        abort();
+    }
+}
+
+#else /* _WIN32 */
+
+static void
+randombytes_sysrandom_init(void)
+{
+    if (! CryptAcquireContext(&stream.hcrypt_prov, NULL, NULL,
+                              PROV_RSA_FULL, CRYPT_VERIFYCONTEXT)) {
+        abort();
+    }
+}
+#endif
+
+void
+randombytes_sysrandom_stir(void)
+{
+    if (stream.initialized == 0) {
+        randombytes_sysrandom_init();
+        stream.initialized = 1;
+    }
+}
+
+static void
+randombytes_sysrandom_stir_if_needed(void)
+{
+    if (stream.initialized == 0) {
+        randombytes_sysrandom_stir();
+    }
+}
+
+int
+randombytes_sysrandom_close(void)
+{
+    int ret = -1;
+
+#ifndef _WIN32
+    if (stream.random_data_source_fd != -1 &&
+        close(stream.random_data_source_fd) == 0) {
+        stream.random_data_source_fd = -1;
+        stream.initialized = 0;
+        ret = 0;
+    }
+#else /* _WIN32 */
+    if (stream.initialized != 0 &&
+        CryptReleaseContext(stream.hcrypt_prov, 0)) {
+        stream.initialized = 0;
+        ret = 0;
+    }
+#endif
+    return ret;
+}
+
+uint32_t
+randombytes_sysrandom(void)
+{
+    uint32_t r;
+
+    randombytes_sysrandom_buf(&r, sizeof r);
+
+    return r;
+}
+
+void
+randombytes_sysrandom_buf(void * const buf, const size_t size)
+{
+    randombytes_sysrandom_stir_if_needed();
+#ifdef ULONG_LONG_MAX
+    assert(size <= ULONG_LONG_MAX);
+#endif
+#ifndef _WIN32
+    if (safe_read(stream.random_data_source_fd, buf, size) != (ssize_t) size) {
+        abort();
+    }
+#else
+    if (! CryptGenRandom(stream.hcrypt_prov, size, buf)) {
+        abort();
+    }
+#endif
+}
+
+/*
+ * randombytes_sysrandom_uniform() derives from OpenBSD's arc4random_uniform()
+ * Copyright (c) 2008, Damien Miller <djm@openbsd.org>
+ */
+
+uint32_t
+randombytes_sysrandom_uniform(const uint32_t upper_bound)
+{
+    uint32_t min;
+    uint32_t r;
+
+    if (upper_bound < 2) {
+        return 0;
+    }
+    min = (uint32_t) (-upper_bound % upper_bound);
+    for (;;) {
+        r = randombytes_sysrandom();
+        if (r >= min) {
+            break;
+        }
+    }
+    return r % upper_bound;
+}
+
+const char *
+randombytes_sysrandom_implementation_name(void)
+{
+    return "sysrandom";
+}
+
+struct randombytes_implementation randombytes_sysrandom_implementation = {
+    _SODIUM_C99(.implementation_name =) randombytes_sysrandom_implementation_name,
+    _SODIUM_C99(.random =) randombytes_sysrandom,
+    _SODIUM_C99(.stir =) randombytes_sysrandom_stir,
+    _SODIUM_C99(.uniform =) randombytes_sysrandom_uniform,
+    _SODIUM_C99(.buf =) randombytes_sysrandom_buf,
+    _SODIUM_C99(.close =) randombytes_sysrandom_close
+};
diff --git a/src/libsodium/src/libsodium/sodium/compat.c b/src/libsodium/src/libsodium/sodium/compat.c
new file mode 100644
index 00000000..75db2418
--- /dev/null
+++ b/src/libsodium/src/libsodium/sodium/compat.c
@@ -0,0 +1,237 @@
+
+#include "crypto_auth_hmacsha256.h"
+#include "crypto_auth_hmacsha512256.h"
+#include "crypto_box_curve25519xsalsa20poly1305.h"
+#include "crypto_hash_sha256.h"
+#include "crypto_hash_sha512.h"
+#include "crypto_scalarmult_curve25519.h"
+#include "crypto_secretbox_xsalsa20poly1305.h"
+#include "crypto_sign_ed25519.h"
+#include "crypto_stream_xsalsa20.h"
+#include "crypto_verify_16.h"
+#include "crypto_verify_32.h"
+#include "export.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#undef crypto_hash_sha256_ref
+SODIUM_EXPORT int
+crypto_hash_sha256_ref(unsigned char *out, const unsigned char *in,
+                       unsigned long long inlen)
+{
+    return crypto_hash_sha256(out, in, inlen);
+}
+
+#undef crypto_hash_sha512_ref
+SODIUM_EXPORT int
+crypto_hash_sha512_ref(unsigned char *out, const unsigned char *in,
+                       unsigned long long inlen)
+{
+    return crypto_hash_sha512(out, in, inlen);
+}
+
+#undef crypto_auth_hmacsha256_ref
+SODIUM_EXPORT int
+crypto_auth_hmacsha256_ref(unsigned char *out, const unsigned char *in,
+                           unsigned long long inlen, const unsigned char *k)
+{
+    return crypto_auth_hmacsha256(out, in, inlen, k);
+}
+
+#undef crypto_auth_hmacsha256_ref_verify
+SODIUM_EXPORT int
+crypto_auth_hmacsha256_ref_verify(const unsigned char *h,
+                                  const unsigned char *in,
+                                  unsigned long long inlen,
+                                  const unsigned char *k)
+{
+    return crypto_auth_hmacsha256_verify(h, in, inlen, k);
+}
+
+#undef crypto_auth_hmacsha512256_ref
+SODIUM_EXPORT int
+crypto_auth_hmacsha512256_ref(unsigned char *out, const unsigned char *in,
+                              unsigned long long inlen, const unsigned char *k)
+{
+    return crypto_auth_hmacsha512256(out, in, inlen, k);
+}
+
+#undef crypto_auth_hmacsha512256_ref_verify
+SODIUM_EXPORT int
+crypto_auth_hmacsha512256_ref_verify(const unsigned char *h,
+                                     const unsigned char *in,
+                                     unsigned long long inlen,
+                                     const unsigned char *k)
+{
+    return crypto_auth_hmacsha512256_verify(h, in, inlen, k);
+}
+
+#undef crypto_box_curve25519xsalsa20poly1305_ref_keypair
+SODIUM_EXPORT int
+crypto_box_curve25519xsalsa20poly1305_ref_keypair(unsigned char *pk,
+                                                  unsigned char *sk)
+{
+    return crypto_box_curve25519xsalsa20poly1305_keypair(pk, sk);
+}
+
+#undef crypto_box_curve25519xsalsa20poly1305_ref_beforenm
+SODIUM_EXPORT int
+crypto_box_curve25519xsalsa20poly1305_ref_beforenm(unsigned char *k,
+                                                   const unsigned char *pk,
+                                                   const unsigned char *sk)
+{
+    return crypto_box_curve25519xsalsa20poly1305_beforenm(k, pk, sk);
+}
+
+#undef crypto_box_curve25519xsalsa20poly1305_ref_afternm
+SODIUM_EXPORT int
+crypto_box_curve25519xsalsa20poly1305_ref_afternm(unsigned char *c,
+                                                  const unsigned char *m,
+                                                  unsigned long long mlen,
+                                                  const unsigned char *n,
+                                                  const unsigned char *k)
+{
+    return crypto_box_curve25519xsalsa20poly1305_afternm(c, m, mlen, n, k);
+}
+
+#undef crypto_box_curve25519xsalsa20poly1305_ref_open_afternm
+SODIUM_EXPORT int
+crypto_box_curve25519xsalsa20poly1305_ref_open_afternm(unsigned char *m,
+                                                       const unsigned char *c,
+                                                       unsigned long long clen,
+                                                       const unsigned char *n,
+                                                       const unsigned char *k)
+{
+    return crypto_box_curve25519xsalsa20poly1305_open_afternm(m, c, clen, n, k);
+}
+
+#undef crypto_box_curve25519xsalsa20poly1305_ref
+SODIUM_EXPORT int
+crypto_box_curve25519xsalsa20poly1305_ref(unsigned char *c,
+                                          const unsigned char *m,
+                                          unsigned long long mlen,
+                                          const unsigned char *n,
+                                          const unsigned char *pk,
+                                          const unsigned char *sk)
+{
+    return crypto_box_curve25519xsalsa20poly1305(c, m, mlen, n, pk, sk);
+}
+
+#undef crypto_box_curve25519xsalsa20poly1305_ref_open
+SODIUM_EXPORT int
+crypto_box_curve25519xsalsa20poly1305_ref_open(unsigned char *m,
+                                               const unsigned char *c,
+                                               unsigned long long clen,
+                                               const unsigned char *n,
+                                               const unsigned char *pk,
+                                               const unsigned char *sk)
+{
+    return crypto_box_curve25519xsalsa20poly1305_open(m, c, clen, n, pk, sk);
+}
+
+#undef crypto_scalarmult_curve25519_ref_base
+SODIUM_EXPORT int
+crypto_scalarmult_curve25519_ref_base(unsigned char *q, const unsigned char *n)
+{
+    return crypto_scalarmult_curve25519_base(q, n);
+}
+
+#undef crypto_scalarmult_curve25519_ref
+SODIUM_EXPORT int
+crypto_scalarmult_curve25519_ref(unsigned char *q, const unsigned char *n,
+                                 const unsigned char *p)
+{
+    return crypto_scalarmult_curve25519(q, n, p);
+}
+
+#undef crypto_secretbox_xsalsa20poly1305_ref
+SODIUM_EXPORT int
+crypto_secretbox_xsalsa20poly1305_ref(unsigned char *c,
+                                      const unsigned char *m,
+                                      unsigned long long mlen,
+                                      const unsigned char *n,
+                                      const unsigned char *k)
+{
+    return crypto_secretbox_xsalsa20poly1305(c, m, mlen, n, k);
+}
+
+#undef crypto_secretbox_xsalsa20poly1305_ref_open
+SODIUM_EXPORT int
+crypto_secretbox_xsalsa20poly1305_ref_open(unsigned char *m,
+                                           const unsigned char *c,
+                                           unsigned long long clen,
+                                           const unsigned char *n,
+                                           const unsigned char *k)
+{
+    return crypto_secretbox_xsalsa20poly1305_open(m, c, clen, n, k);
+}
+
+#undef crypto_sign_ed25519_ref_seed_keypair
+SODIUM_EXPORT int
+crypto_sign_ed25519_ref_seed_keypair(unsigned char *pk, unsigned char *sk,
+                                     const unsigned char *seed)
+{
+    return crypto_sign_ed25519_seed_keypair(pk, sk, seed);
+}
+
+#undef crypto_sign_ed25519_ref_keypair
+SODIUM_EXPORT int
+crypto_sign_ed25519_ref_keypair(unsigned char *pk, unsigned char *sk)
+{
+    return crypto_sign_ed25519_keypair(pk, sk);
+}
+
+#undef crypto_sign_ed25519_ref
+SODIUM_EXPORT int
+crypto_sign_ed25519_ref(unsigned char *sm, unsigned long long *smlen,
+                        const unsigned char *m, unsigned long long mlen,
+                        const unsigned char *sk)
+{
+    return crypto_sign_ed25519(sm, smlen, m, mlen, sk);
+}
+
+#undef crypto_sign_ed25519_ref_open
+SODIUM_EXPORT int
+crypto_sign_ed25519_ref_open(unsigned char *m, unsigned long long *mlen,
+                             const unsigned char *sm, unsigned long long smlen,
+                             const unsigned char *pk)
+{
+    return crypto_sign_ed25519_open(m, mlen, sm, smlen, pk);
+}
+
+#undef crypto_stream_xsalsa20_ref
+SODIUM_EXPORT int
+crypto_stream_xsalsa20_ref(unsigned char *c, unsigned long long clen,
+                           const unsigned char *n, const unsigned char *k)
+{
+    return crypto_stream_xsalsa20(c, clen, n, k);
+}
+
+#undef crypto_stream_xsalsa20_ref_xor
+SODIUM_EXPORT int
+crypto_stream_xsalsa20_ref_xor(unsigned char *c, const unsigned char *m,
+                               unsigned long long mlen, const unsigned char *n,
+                               const unsigned char *k)
+{
+    return crypto_stream_xsalsa20_xor(c, m, mlen, n, k);
+}
+
+#undef crypto_verify_16_ref
+SODIUM_EXPORT int
+crypto_verify_16_ref(const unsigned char *x, const unsigned char *y)
+{
+    return crypto_verify_16(x, y);
+}
+
+#undef crypto_verify_32_ref
+SODIUM_EXPORT int
+crypto_verify_32_ref(const unsigned char *x, const unsigned char *y)
+{
+    return crypto_verify_32(x, y);
+}
+
+#ifdef __cplusplus
+}
+#endif
diff --git a/src/libsodium/src/libsodium/sodium/core.c b/src/libsodium/src/libsodium/sodium/core.c
new file mode 100644
index 00000000..654b1ec8
--- /dev/null
+++ b/src/libsodium/src/libsodium/sodium/core.c
@@ -0,0 +1,23 @@
+
+#include <stdbool.h>
+
+#include "core.h"
+#include "crypto_onetimeauth.h"
+#include "randombytes.h"
+
+static bool initialized;
+
+int
+sodium_init(void)
+{
+    if (initialized != 0) {
+        return 1;
+    }
+    if (crypto_onetimeauth_pick_best_implementation() == NULL) {
+        return -1;
+    }
+    randombytes_stir();
+    initialized = 1;
+
+    return 0;
+}
diff --git a/src/libsodium/src/libsodium/sodium/utils.c b/src/libsodium/src/libsodium/sodium/utils.c
new file mode 100644
index 00000000..74fc2d86
--- /dev/null
+++ b/src/libsodium/src/libsodium/sodium/utils.c
@@ -0,0 +1,89 @@
+
+#include <limits.h>
+#include <stddef.h>
+#include <stdint.h>
+#include <stdlib.h>
+#include <string.h>
+
+#include "utils.h"
+#include "randombytes.h"
+#ifdef _WIN32
+# include <windows.h>
+# include <wincrypt.h>
+#endif
+
+void
+sodium_memzero(void * const pnt, const size_t len)
+{
+#ifdef HAVE_SECUREZEROMEMORY
+    SecureZeroMemory(pnt, len);
+#else
+    volatile unsigned char *pnt_ = (volatile unsigned char *) pnt;
+    size_t                     i = (size_t) 0U;
+
+    while (i < len) {
+        pnt_[i++] = 0U;
+    }
+#endif
+}
+
+int
+sodium_memcmp(const void * const b1_, const void * const b2_, size_t size)
+{
+    const unsigned char *b1 = (const unsigned char *) b1_;
+    const unsigned char *b2 = (const unsigned char *) b2_;
+    size_t               i;
+    unsigned char        d = (unsigned char) 0U;
+
+    for (i = 0U; i < size; i++) {
+        d |= b1[i] ^ b2[i];
+    }
+    return (int) d;
+}
+
+unsigned char *
+_sodium_alignedcalloc(unsigned char ** const unaligned_p, const size_t len)
+{
+    unsigned char *aligned;
+    unsigned char *unaligned;
+    size_t         i;
+
+    if (SIZE_MAX - (size_t) 256U < len ||
+        (unaligned = (unsigned char *) malloc(len + (size_t) 256U)) == NULL) {
+        *unaligned_p = NULL;
+        return NULL;
+    }
+    *unaligned_p = unaligned;
+    for (i = (size_t) 0U; i < len + (size_t) 256U; ++i) {
+        unaligned[i] = (unsigned char) rand();
+    }
+    aligned = unaligned + 64;
+    aligned += (ptrdiff_t) 63 & (-(ptrdiff_t) aligned);
+    memset(aligned, 0, len);
+
+    return aligned;
+}
+
+char *
+sodium_bin2hex(char * const hex, const size_t hexlen,
+               const unsigned char *bin, const size_t binlen)
+{
+    static const char hexdigits[16] = {
+        '0', '1', '2', '3', '4', '5', '6', '7',
+        '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'
+    };
+    size_t            i = (size_t) 0U;
+    size_t            j = (size_t) 0U;
+
+    if (binlen >= SIZE_MAX / 2 || hexlen < binlen * 2U) {
+        abort();
+    }
+    while (i < binlen) {
+        hex[j++] = hexdigits[bin[i] >> 4];
+        hex[j++] = hexdigits[bin[i] & 0xf];
+        i++;
+    }
+    hex[j] = 0;
+
+    return hex;
+}
diff --git a/src/libsodium/src/libsodium/sodium/version.c b/src/libsodium/src/libsodium/sodium/version.c
new file mode 100644
index 00000000..4083c812
--- /dev/null
+++ b/src/libsodium/src/libsodium/sodium/version.c
@@ -0,0 +1,20 @@
+
+#include "version.h"
+
+const char *
+sodium_version_string(void)
+{
+    return SODIUM_VERSION_STRING;
+}
+
+int
+sodium_library_version_major(void)
+{
+    return SODIUM_LIBRARY_VERSION_MAJOR;
+}
+
+int
+sodium_library_version_minor(void)
+{
+    return SODIUM_LIBRARY_VERSION_MINOR;
+}
diff --git a/src/libsodium/test-driver b/src/libsodium/test-driver
new file mode 100755
index 00000000..32bf39e8
--- /dev/null
+++ b/src/libsodium/test-driver
@@ -0,0 +1,127 @@
+#! /bin/sh
+# test-driver - basic testsuite driver script.
+
+scriptversion=2012-06-27.10; # UTC
+
+# Copyright (C) 2011-2013 Free Software Foundation, Inc.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+# This file is maintained in Automake, please report
+# bugs to <bug-automake@gnu.org> or send patches to
+# <automake-patches@gnu.org>.
+
+# Make unconditional expansion of undefined variables an error.  This
+# helps a lot in preventing typo-related bugs.
+set -u
+
+usage_error ()
+{
+  echo "$0: $*" >&2
+  print_usage >&2
+  exit 2
+}
+
+print_usage ()
+{
+  cat <<END
+Usage:
+  test-driver --test-name=NAME --log-file=PATH --trs-file=PATH
+              [--expect-failure={yes|no}] [--color-tests={yes|no}]
+              [--enable-hard-errors={yes|no}] [--] TEST-SCRIPT
+The '--test-name', '--log-file' and '--trs-file' options are mandatory.
+END
+}
+
+# TODO: better error handling in option parsing (in particular, ensure
+# TODO: $log_file, $trs_file and $test_name are defined).
+test_name= # Used for reporting.
+log_file=  # Where to save the output of the test script.
+trs_file=  # Where to save the metadata of the test run.
+expect_failure=no
+color_tests=no
+enable_hard_errors=yes
+while test $# -gt 0; do
+  case $1 in
+  --help) print_usage; exit $?;;
+  --version) echo "test-driver $scriptversion"; exit $?;;
+  --test-name) test_name=$2; shift;;
+  --log-file) log_file=$2; shift;;
+  --trs-file) trs_file=$2; shift;;
+  --color-tests) color_tests=$2; shift;;
+  --expect-failure) expect_failure=$2; shift;;
+  --enable-hard-errors) enable_hard_errors=$2; shift;;
+  --) shift; break;;
+  -*) usage_error "invalid option: '$1'";;
+  esac
+  shift
+done
+
+if test $color_tests = yes; then
+  # Keep this in sync with 'lib/am/check.am:$(am__tty_colors)'.
+  red='' # Red.
+  grn='' # Green.
+  lgn='' # Light green.
+  blu='' # Blue.
+  mgn='' # Magenta.
+  std=''     # No color.
+else
+  red= grn= lgn= blu= mgn= std=
+fi
+
+do_exit='rm -f $log_file $trs_file; (exit $st); exit $st'
+trap "st=129; $do_exit" 1
+trap "st=130; $do_exit" 2
+trap "st=141; $do_exit" 13
+trap "st=143; $do_exit" 15
+
+# Test script is run here.
+"$@" >$log_file 2>&1
+estatus=$?
+if test $enable_hard_errors = no && test $estatus -eq 99; then
+  estatus=1
+fi
+
+case $estatus:$expect_failure in
+  0:yes) col=$red res=XPASS recheck=yes gcopy=yes;;
+  0:*)   col=$grn res=PASS  recheck=no  gcopy=no;;
+  77:*)  col=$blu res=SKIP  recheck=no  gcopy=yes;;
+  99:*)  col=$mgn res=ERROR recheck=yes gcopy=yes;;
+  *:yes) col=$lgn res=XFAIL recheck=no  gcopy=yes;;
+  *:*)   col=$red res=FAIL  recheck=yes gcopy=yes;;
+esac
+
+# Report outcome to console.
+echo "${col}${res}${std}: $test_name"
+
+# Register the test result, and other relevant metadata.
+echo ":test-result: $res" > $trs_file
+echo ":global-test-result: $res" >> $trs_file
+echo ":recheck: $recheck" >> $trs_file
+echo ":copy-in-global-log: $gcopy" >> $trs_file
+
+# Local Variables:
+# mode: shell-script
+# sh-indentation: 2
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "scriptversion="
+# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-time-zone: "UTC"
+# time-stamp-end: "; # UTC"
+# End:
diff --git a/src/libsodium/test/Makefile.am b/src/libsodium/test/Makefile.am
new file mode 100644
index 00000000..346d2692
--- /dev/null
+++ b/src/libsodium/test/Makefile.am
@@ -0,0 +1,5 @@
+SUBDIRS = \
+	default
+
+EXTRA_DIST = \
+	quirks/windows/windows-quirks.h
diff --git a/src/libsodium/test/Makefile.in b/src/libsodium/test/Makefile.in
new file mode 100644
index 00000000..263a768d
--- /dev/null
+++ b/src/libsodium/test/Makefile.in
@@ -0,0 +1,629 @@
+# Makefile.in generated by automake 1.14 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+VPATH = @srcdir@
+am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__make_running_with_option = \
+  case $${target_option-} in \
+      ?) ;; \
+      *) echo "am__make_running_with_option: internal error: invalid" \
+              "target option '$${target_option-}' specified" >&2; \
+         exit 1;; \
+  esac; \
+  has_opt=no; \
+  sane_makeflags=$$MAKEFLAGS; \
+  if $(am__is_gnu_make); then \
+    sane_makeflags=$$MFLAGS; \
+  else \
+    case $$MAKEFLAGS in \
+      *\\[\ \	]*) \
+        bs=\\; \
+        sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+          | sed "s/$$bs$$bs[$$bs $$bs	]*//g"`;; \
+    esac; \
+  fi; \
+  skip_next=no; \
+  strip_trailopt () \
+  { \
+    flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+  }; \
+  for flg in $$sane_makeflags; do \
+    test $$skip_next = yes && { skip_next=no; continue; }; \
+    case $$flg in \
+      *=*|--*) continue;; \
+        -*I) strip_trailopt 'I'; skip_next=yes;; \
+      -*I?*) strip_trailopt 'I';; \
+        -*O) strip_trailopt 'O'; skip_next=yes;; \
+      -*O?*) strip_trailopt 'O';; \
+        -*l) strip_trailopt 'l'; skip_next=yes;; \
+      -*l?*) strip_trailopt 'l';; \
+      -[dEDm]) skip_next=yes;; \
+      -[JT]) skip_next=yes;; \
+    esac; \
+    case $$flg in \
+      *$$target_option*) has_opt=yes; break;; \
+    esac; \
+  done; \
+  test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
+pkgdatadir = $(datadir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+subdir = test
+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/ax_check_compile_flag.m4 \
+	$(top_srcdir)/m4/ax_check_link_flag.m4 \
+	$(top_srcdir)/m4/ld-output-def.m4 $(top_srcdir)/m4/libtool.m4 \
+	$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+	$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+	$(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+	$(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo "  GEN     " $@;
+am__v_GEN_1 = 
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 = 
+SOURCES =
+DIST_SOURCES =
+RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \
+	ctags-recursive dvi-recursive html-recursive info-recursive \
+	install-data-recursive install-dvi-recursive \
+	install-exec-recursive install-html-recursive \
+	install-info-recursive install-pdf-recursive \
+	install-ps-recursive install-recursive installcheck-recursive \
+	installdirs-recursive pdf-recursive ps-recursive \
+	tags-recursive uninstall-recursive
+am__can_run_installinfo = \
+  case $$AM_UPDATE_INFO_DIR in \
+    n|no|NO) false;; \
+    *) (install-info --version) >/dev/null 2>&1;; \
+  esac
+RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive	\
+  distclean-recursive maintainer-clean-recursive
+am__recursive_targets = \
+  $(RECURSIVE_TARGETS) \
+  $(RECURSIVE_CLEAN_TARGETS) \
+  $(am__extra_recursive_targets)
+AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
+	distdir
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates.  Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+  BEGIN { nonempty = 0; } \
+  { items[$$0] = 1; nonempty = 1; } \
+  END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique.  This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+  list='$(am__tagged_files)'; \
+  unique=`for i in $$list; do \
+    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+  done | $(am__uniquify_input)`
+ETAGS = etags
+CTAGS = ctags
+DIST_SUBDIRS = $(SUBDIRS)
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+am__relativize = \
+  dir0=`pwd`; \
+  sed_first='s,^\([^/]*\)/.*$$,\1,'; \
+  sed_rest='s,^[^/]*/*,,'; \
+  sed_last='s,^.*/\([^/]*\)$$,\1,'; \
+  sed_butlast='s,/*[^/]*$$,,'; \
+  while test -n "$$dir1"; do \
+    first=`echo "$$dir1" | sed -e "$$sed_first"`; \
+    if test "$$first" != "."; then \
+      if test "$$first" = ".."; then \
+        dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
+        dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
+      else \
+        first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
+        if test "$$first2" = "$$first"; then \
+          dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
+        else \
+          dir2="../$$dir2"; \
+        fi; \
+        dir0="$$dir0"/"$$first"; \
+      fi; \
+    fi; \
+    dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
+  done; \
+  reldir="$$dir2"
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AR = @AR@
+AS = @AS@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCAS = @CCAS@
+CCASDEPMODE = @CCASDEPMODE@
+CCASFLAGS = @CCASFLAGS@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CWFLAGS = @CWFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DLLTOOL = @DLLTOOL@
+DLL_VERSION = @DLL_VERSION@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+GREP = @GREP@
+HAVE_AMD64_ASM_V = @HAVE_AMD64_ASM_V@
+HAVE_CPUID_V = @HAVE_CPUID_V@
+HAVE_PKG_CONFIG = @HAVE_PKG_CONFIG@
+HAVE_TI_MODE_V = @HAVE_TI_MODE_V@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+ISODATE = @ISODATE@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIBTOOL_DEPS = @LIBTOOL_DEPS@
+LIBTOOL_EXTRA_FLAGS = @LIBTOOL_EXTRA_FLAGS@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MKDIR_P = @MKDIR_P@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
+RANLIB = @RANLIB@
+SAFECODE_HOME = @SAFECODE_HOME@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+SODIUM_LIBRARY_VERSION = @SODIUM_LIBRARY_VERSION@
+SODIUM_LIBRARY_VERSION_MAJOR = @SODIUM_LIBRARY_VERSION_MAJOR@
+SODIUM_LIBRARY_VERSION_MINOR = @SODIUM_LIBRARY_VERSION_MINOR@
+STRIP = @STRIP@
+VERSION = @VERSION@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+SUBDIRS = \
+	default
+
+EXTRA_DIST = \
+	quirks/windows/windows-quirks.h
+
+all: all-recursive
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__configure_deps)
+	@for dep in $?; do \
+	  case '$(am__configure_deps)' in \
+	    *$$dep*) \
+	      ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+	        && { if test -f $@; then exit 0; else break; fi; }; \
+	      exit 1;; \
+	  esac; \
+	done; \
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign test/Makefile'; \
+	$(am__cd) $(top_srcdir) && \
+	  $(AUTOMAKE) --foreign test/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+	@case '$?' in \
+	  *config.status*) \
+	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+	  *) \
+	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+	esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+
+mostlyclean-libtool:
+	-rm -f *.lo
+
+clean-libtool:
+	-rm -rf .libs _libs
+
+# This directory's subdirectories are mostly independent; you can cd
+# into them and run 'make' without going through this Makefile.
+# To change the values of 'make' variables: instead of editing Makefiles,
+# (1) if the variable is set in 'config.status', edit 'config.status'
+#     (which will cause the Makefiles to be regenerated when you run 'make');
+# (2) otherwise, pass the desired values on the 'make' command line.
+$(am__recursive_targets):
+	@fail=; \
+	if $(am__make_keepgoing); then \
+	  failcom='fail=yes'; \
+	else \
+	  failcom='exit 1'; \
+	fi; \
+	dot_seen=no; \
+	target=`echo $@ | sed s/-recursive//`; \
+	case "$@" in \
+	  distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
+	  *) list='$(SUBDIRS)' ;; \
+	esac; \
+	for subdir in $$list; do \
+	  echo "Making $$target in $$subdir"; \
+	  if test "$$subdir" = "."; then \
+	    dot_seen=yes; \
+	    local_target="$$target-am"; \
+	  else \
+	    local_target="$$target"; \
+	  fi; \
+	  ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+	  || eval $$failcom; \
+	done; \
+	if test "$$dot_seen" = "no"; then \
+	  $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
+	fi; test -z "$$fail"
+
+ID: $(am__tagged_files)
+	$(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-recursive
+TAGS: tags
+
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+	set x; \
+	here=`pwd`; \
+	if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
+	  include_option=--etags-include; \
+	  empty_fix=.; \
+	else \
+	  include_option=--include; \
+	  empty_fix=; \
+	fi; \
+	list='$(SUBDIRS)'; for subdir in $$list; do \
+	  if test "$$subdir" = .; then :; else \
+	    test ! -f $$subdir/TAGS || \
+	      set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
+	  fi; \
+	done; \
+	$(am__define_uniq_tagged_files); \
+	shift; \
+	if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+	  test -n "$$unique" || unique=$$empty_fix; \
+	  if test $$# -gt 0; then \
+	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	      "$$@" $$unique; \
+	  else \
+	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	      $$unique; \
+	  fi; \
+	fi
+ctags: ctags-recursive
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+	$(am__define_uniq_tagged_files); \
+	test -z "$(CTAGS_ARGS)$$unique" \
+	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+	     $$unique
+
+GTAGS:
+	here=`$(am__cd) $(top_builddir) && pwd` \
+	  && $(am__cd) $(top_srcdir) \
+	  && gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-recursive
+
+cscopelist-am: $(am__tagged_files)
+	list='$(am__tagged_files)'; \
+	case "$(srcdir)" in \
+	  [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+	  *) sdir=$(subdir)/$(srcdir) ;; \
+	esac; \
+	for i in $$list; do \
+	  if test -f "$$i"; then \
+	    echo "$(subdir)/$$i"; \
+	  else \
+	    echo "$$sdir/$$i"; \
+	  fi; \
+	done >> $(top_builddir)/cscope.files
+
+distclean-tags:
+	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+	list='$(DISTFILES)'; \
+	  dist_files=`for file in $$list; do echo $$file; done | \
+	  sed -e "s|^$$srcdirstrip/||;t" \
+	      -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+	case $$dist_files in \
+	  */*) $(MKDIR_P) `echo "$$dist_files" | \
+			   sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+			   sort -u` ;; \
+	esac; \
+	for file in $$dist_files; do \
+	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	  if test -d $$d/$$file; then \
+	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+	    if test -d "$(distdir)/$$file"; then \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
+	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
+	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
+	  else \
+	    test -f "$(distdir)/$$file" \
+	    || cp -p $$d/$$file "$(distdir)/$$file" \
+	    || exit 1; \
+	  fi; \
+	done
+	@list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+	  if test "$$subdir" = .; then :; else \
+	    $(am__make_dryrun) \
+	      || test -d "$(distdir)/$$subdir" \
+	      || $(MKDIR_P) "$(distdir)/$$subdir" \
+	      || exit 1; \
+	    dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
+	    $(am__relativize); \
+	    new_distdir=$$reldir; \
+	    dir1=$$subdir; dir2="$(top_distdir)"; \
+	    $(am__relativize); \
+	    new_top_distdir=$$reldir; \
+	    echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
+	    echo "     am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
+	    ($(am__cd) $$subdir && \
+	      $(MAKE) $(AM_MAKEFLAGS) \
+	        top_distdir="$$new_top_distdir" \
+	        distdir="$$new_distdir" \
+		am__remove_distdir=: \
+		am__skip_length_check=: \
+		am__skip_mode_fix=: \
+	        distdir) \
+	      || exit 1; \
+	  fi; \
+	done
+check-am: all-am
+check: check-recursive
+all-am: Makefile
+installdirs: installdirs-recursive
+installdirs-am:
+install: install-recursive
+install-exec: install-exec-recursive
+install-data: install-data-recursive
+uninstall: uninstall-recursive
+
+install-am: all-am
+	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-recursive
+install-strip:
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+
+maintainer-clean-generic:
+	@echo "This command is intended for maintainers to use"
+	@echo "it deletes files that may require special tools to rebuild."
+clean: clean-recursive
+
+clean-am: clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-recursive
+	-rm -f Makefile
+distclean-am: clean-am distclean-generic distclean-tags
+
+dvi: dvi-recursive
+
+dvi-am:
+
+html: html-recursive
+
+html-am:
+
+info: info-recursive
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-recursive
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-recursive
+
+install-html-am:
+
+install-info: install-info-recursive
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-recursive
+
+install-pdf-am:
+
+install-ps: install-ps-recursive
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-recursive
+	-rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-recursive
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-recursive
+
+pdf-am:
+
+ps: ps-recursive
+
+ps-am:
+
+uninstall-am:
+
+.MAKE: $(am__recursive_targets) install-am install-strip
+
+.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \
+	check-am clean clean-generic clean-libtool cscopelist-am ctags \
+	ctags-am distclean distclean-generic distclean-libtool \
+	distclean-tags distdir dvi dvi-am html html-am info info-am \
+	install install-am install-data install-data-am install-dvi \
+	install-dvi-am install-exec install-exec-am install-html \
+	install-html-am install-info install-info-am install-man \
+	install-pdf install-pdf-am install-ps install-ps-am \
+	install-strip installcheck installcheck-am installdirs \
+	installdirs-am maintainer-clean maintainer-clean-generic \
+	mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
+	ps ps-am tags tags-am uninstall uninstall-am
+
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/src/libsodium/test/default/Makefile.am b/src/libsodium/test/default/Makefile.am
new file mode 100644
index 00000000..45f2494c
--- /dev/null
+++ b/src/libsodium/test/default/Makefile.am
@@ -0,0 +1,264 @@
+
+EXTRA_DIST = \
+	cmptest.h \
+	auth.exp \
+	auth2.exp \
+	auth3.exp \
+	auth5.exp \
+	box.exp \
+	box2.exp \
+	box7.exp \
+	box8.exp \
+	core1.exp \
+	core2.exp \
+	core3.exp \
+	core4.exp \
+	core5.exp \
+	core6.exp \
+	generichash.exp \
+	generichash2.exp \
+	hash.exp \
+	hash2.exp \
+	hash3.exp \
+	onetimeauth.exp \
+	onetimeauth2.exp \
+	onetimeauth7.exp \
+	scalarmult.exp \
+	scalarmult2.exp \
+	scalarmult5.exp \
+	scalarmult6.exp \
+	secretbox.exp \
+	secretbox2.exp \
+	secretbox7.exp \
+	secretbox8.exp \
+	shorthash.exp \
+	sodium_core.exp \
+	sodium_utils.exp \
+	sodium_version.exp \
+	stream.exp \
+	stream2.exp \
+	stream3.exp \
+	stream4.exp \
+	stream5.exp \
+	stream6.exp
+
+DISTCLEANFILES = \
+	auth.res \
+	auth2.res \
+	auth3.res \
+	auth5.res \
+	box.res \
+	box2.res \
+	box7.res \
+	box8.res \
+	core1.res \
+	core2.res \
+	core3.res \
+	core4.res \
+	core5.res \
+	core6.res \
+	generichash.res \
+	generichash2.res \
+	hash.res \
+	hash2.res \
+	hash3.res \
+	onetimeauth.res \
+	onetimeauth2.res \
+	onetimeauth7.res \
+	scalarmult.res \
+	scalarmult2.res \
+	scalarmult5.res \
+	scalarmult6.res \
+	secretbox.res \
+	secretbox2.res \
+	secretbox7.res \
+	secretbox8.res \
+	shorthash.res \
+	sodium_core.res \
+	sodium_utils.res \
+	sodium_version.res \
+	stream.res \
+	stream2.res \
+	stream3.res \
+	stream4.res \
+	stream5.res \
+	stream6.res
+
+AM_CPPFLAGS = \
+	-DTEST_SRCDIR=\"@srcdir@\" \
+	-I$(top_srcdir)/src/libsodium/include \
+	-I$(top_srcdir)/src/libsodium/include/sodium \
+	-I$(top_builddir)/src/libsodium/include \
+	-I$(top_builddir)/src/libsodium/include/sodium \
+	-I$(top_srcdir)/test/quirks
+
+TESTS_TARGETS = \
+	auth \
+	auth2 \
+	auth3 \
+	auth5 \
+	box \
+	box2 \
+	box7 \
+	box8 \
+	core1 \
+	core2 \
+	core3 \
+	core4 \
+	core5 \
+	core6 \
+	generichash \
+	generichash2 \
+	hash \
+	hash3 \
+	onetimeauth \
+	onetimeauth2 \
+	onetimeauth7 \
+	randombytes \
+	scalarmult \
+	scalarmult2 \
+	scalarmult5 \
+	scalarmult6 \
+	secretbox \
+	secretbox2 \
+	secretbox7 \
+	secretbox8 \
+	shorthash \
+	sodium_core \
+	sodium_utils \
+	sodium_version \
+	stream \
+	stream2 \
+	stream3 \
+	stream4 \
+	stream5 \
+	stream6
+
+check_PROGRAMS = $(TESTS_TARGETS)
+
+TESTS = $(TESTS_TARGETS)
+
+TESTS_LDADD = \
+	${top_builddir}/src/libsodium/libsodium.la
+
+auth_SOURCE               = cmptest.h auth.c
+auth_LDADD                = $(TESTS_LDADD)
+
+auth2_SOURCE              = cmptest.h auth2.c
+auth2_LDADD               = $(TESTS_LDADD)
+
+auth3_SOURCE              = cmptest.h auth3.c
+auth3_LDADD               = $(TESTS_LDADD)
+
+auth5_SOURCE              = cmptest.h auth5.c windows/windows-quirks.h
+auth5_LDADD               = $(TESTS_LDADD)
+
+box_SOURCE                = cmptest.h box.c
+box_LDADD                 = $(TESTS_LDADD)
+
+box2_SOURCE               = cmptest.h box2.c
+box2_LDADD                = $(TESTS_LDADD)
+
+box7_SOURCE               = cmptest.h box7.c
+box7_LDADD                = $(TESTS_LDADD)
+
+box8_SOURCE               = cmptest.h box8.c
+box8_LDADD                = $(TESTS_LDADD)
+
+core1_SOURCE              = cmptest.h core1.c
+core1_LDADD               = $(TESTS_LDADD)
+
+core2_SOURCE              = cmptest.h core2.c
+core2_LDADD               = $(TESTS_LDADD)
+
+core3_SOURCE              = cmptest.h core3.c
+core3_LDADD               = $(TESTS_LDADD)
+
+core4_SOURCE              = cmptest.h core4.c
+core4_LDADD               = $(TESTS_LDADD)
+
+core5_SOURCE              = cmptest.h core5.c
+core5_LDADD               = $(TESTS_LDADD)
+
+core6_SOURCE              = cmptest.h core6.c
+core6_LDADD               = $(TESTS_LDADD)
+
+generichash_SOURCE        = cmptest.h generichash.c
+generichash_LDADD         = $(TESTS_LDADD)
+
+generichash2_SOURCE       = cmptest.h generichash2.c
+generichash2_LDADD        = $(TESTS_LDADD)
+
+hash_SOURCE               = cmptest.h hash.c
+hash_LDADD                = $(TESTS_LDADD)
+
+hash3_SOURCE              = cmptest.h hash3.c
+hash3_LDADD               = $(TESTS_LDADD)
+
+onetimeauth_SOURCE        = cmptest.h onetimeauth.c
+onetimeauth_LDADD         = $(TESTS_LDADD)
+
+onetimeauth2_SOURCE       = cmptest.h onetimeauth2.c
+onetimeauth2_LDADD        = $(TESTS_LDADD)
+
+onetimeauth7_SOURCE       = cmptest.h onetimeauth7.c
+onetimeauth7_LDADD        = $(TESTS_LDADD)
+
+randombytes_SOURCE        = randombytes.c
+randombytes_LDADD         = $(TESTS_LDADD)
+
+scalarmult_SOURCE         = cmptest.h scalarmult.c
+scalarmult_LDADD          = $(TESTS_LDADD)
+
+scalarmult2_SOURCE        = cmptest.h scalarmult2.c
+scalarmult2_LDADD         = $(TESTS_LDADD)
+
+scalarmult5_SOURCE        = cmptest.h scalarmult5.c
+scalarmult5_LDADD         = $(TESTS_LDADD)
+
+scalarmult6_SOURCE        = cmptest.h scalarmult6.c
+scalarmult6_LDADD         = $(TESTS_LDADD)
+
+secretbox_SOURCE          = cmptest.h secretbox.c
+secretbox_LDADD           = $(TESTS_LDADD)
+
+secretbox2_SOURCE         = cmptest.h secretbox2.c
+secretbox2_LDADD          = $(TESTS_LDADD)
+
+secretbox7_SOURCE         = cmptest.h secretbox7.c
+secretbox7_LDADD          = $(TESTS_LDADD)
+
+secretbox8_SOURCE         = cmptest.h secretbox8.c
+secretbox8_LDADD          = $(TESTS_LDADD)
+
+shorthash_SOURCE          = cmptest.h shorthash.c
+shorthash_LDADD           = $(TESTS_LDADD)
+
+sodium_core_SOURCE        = cmptest.h sodium_core.c
+sodium_core_LDADD         = $(TESTS_LDADD)
+
+sodium_utils_SOURCE       = cmptest.h sodium_utils.c
+sodium_utils_LDADD        = $(TESTS_LDADD)
+
+sodium_version_SOURCE     = cmptest.h sodium_version.c
+sodium_version_LDADD      = $(TESTS_LDADD)
+
+stream_SOURCE             = cmptest.h stream.c
+stream_LDADD              = $(TESTS_LDADD)
+
+stream2_SOURCE            = cmptest.h stream2.c
+stream2_LDADD             = $(TESTS_LDADD)
+
+stream3_SOURCE            = cmptest.h stream3.c
+stream3_LDADD             = $(TESTS_LDADD)
+
+stream4_SOURCE            = cmptest.h stream4.c
+stream4_LDADD             = $(TESTS_LDADD)
+
+stream5_SOURCE            = cmptest.h stream5.c
+stream5_LDADD             = $(TESTS_LDADD)
+
+stream6_SOURCE            = cmptest.h stream6.c
+stream6_LDADD             = $(TESTS_LDADD)
+
+verify: check
diff --git a/src/libsodium/test/default/Makefile.in b/src/libsodium/test/default/Makefile.in
new file mode 100644
index 00000000..98813575
--- /dev/null
+++ b/src/libsodium/test/default/Makefile.in
@@ -0,0 +1,1797 @@
+# Makefile.in generated by automake 1.14 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+VPATH = @srcdir@
+am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__make_running_with_option = \
+  case $${target_option-} in \
+      ?) ;; \
+      *) echo "am__make_running_with_option: internal error: invalid" \
+              "target option '$${target_option-}' specified" >&2; \
+         exit 1;; \
+  esac; \
+  has_opt=no; \
+  sane_makeflags=$$MAKEFLAGS; \
+  if $(am__is_gnu_make); then \
+    sane_makeflags=$$MFLAGS; \
+  else \
+    case $$MAKEFLAGS in \
+      *\\[\ \	]*) \
+        bs=\\; \
+        sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+          | sed "s/$$bs$$bs[$$bs $$bs	]*//g"`;; \
+    esac; \
+  fi; \
+  skip_next=no; \
+  strip_trailopt () \
+  { \
+    flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+  }; \
+  for flg in $$sane_makeflags; do \
+    test $$skip_next = yes && { skip_next=no; continue; }; \
+    case $$flg in \
+      *=*|--*) continue;; \
+        -*I) strip_trailopt 'I'; skip_next=yes;; \
+      -*I?*) strip_trailopt 'I';; \
+        -*O) strip_trailopt 'O'; skip_next=yes;; \
+      -*O?*) strip_trailopt 'O';; \
+        -*l) strip_trailopt 'l'; skip_next=yes;; \
+      -*l?*) strip_trailopt 'l';; \
+      -[dEDm]) skip_next=yes;; \
+      -[JT]) skip_next=yes;; \
+    esac; \
+    case $$flg in \
+      *$$target_option*) has_opt=yes; break;; \
+    esac; \
+  done; \
+  test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
+pkgdatadir = $(datadir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+check_PROGRAMS = $(am__EXEEXT_1)
+TESTS = $(am__EXEEXT_1)
+subdir = test/default
+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
+	$(top_srcdir)/depcomp $(top_srcdir)/test-driver
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/ax_check_compile_flag.m4 \
+	$(top_srcdir)/m4/ax_check_link_flag.m4 \
+	$(top_srcdir)/m4/ld-output-def.m4 $(top_srcdir)/m4/libtool.m4 \
+	$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+	$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+	$(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+	$(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+am__EXEEXT_1 = auth$(EXEEXT) auth2$(EXEEXT) auth3$(EXEEXT) \
+	auth5$(EXEEXT) box$(EXEEXT) box2$(EXEEXT) box7$(EXEEXT) \
+	box8$(EXEEXT) core1$(EXEEXT) core2$(EXEEXT) core3$(EXEEXT) \
+	core4$(EXEEXT) core5$(EXEEXT) core6$(EXEEXT) \
+	generichash$(EXEEXT) generichash2$(EXEEXT) hash$(EXEEXT) \
+	hash3$(EXEEXT) onetimeauth$(EXEEXT) onetimeauth2$(EXEEXT) \
+	onetimeauth7$(EXEEXT) randombytes$(EXEEXT) scalarmult$(EXEEXT) \
+	scalarmult2$(EXEEXT) scalarmult5$(EXEEXT) scalarmult6$(EXEEXT) \
+	secretbox$(EXEEXT) secretbox2$(EXEEXT) secretbox7$(EXEEXT) \
+	secretbox8$(EXEEXT) shorthash$(EXEEXT) sodium_core$(EXEEXT) \
+	sodium_utils$(EXEEXT) sodium_version$(EXEEXT) stream$(EXEEXT) \
+	stream2$(EXEEXT) stream3$(EXEEXT) stream4$(EXEEXT) \
+	stream5$(EXEEXT) stream6$(EXEEXT)
+auth_SOURCES = auth.c
+auth_OBJECTS = auth.$(OBJEXT)
+auth_DEPENDENCIES = $(TESTS_LDADD)
+AM_V_lt = $(am__v_lt_@AM_V@)
+am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
+am__v_lt_0 = --silent
+am__v_lt_1 = 
+auth2_SOURCES = auth2.c
+auth2_OBJECTS = auth2.$(OBJEXT)
+auth2_DEPENDENCIES = $(TESTS_LDADD)
+auth3_SOURCES = auth3.c
+auth3_OBJECTS = auth3.$(OBJEXT)
+auth3_DEPENDENCIES = $(TESTS_LDADD)
+auth5_SOURCES = auth5.c
+auth5_OBJECTS = auth5.$(OBJEXT)
+auth5_DEPENDENCIES = $(TESTS_LDADD)
+box_SOURCES = box.c
+box_OBJECTS = box.$(OBJEXT)
+box_DEPENDENCIES = $(TESTS_LDADD)
+box2_SOURCES = box2.c
+box2_OBJECTS = box2.$(OBJEXT)
+box2_DEPENDENCIES = $(TESTS_LDADD)
+box7_SOURCES = box7.c
+box7_OBJECTS = box7.$(OBJEXT)
+box7_DEPENDENCIES = $(TESTS_LDADD)
+box8_SOURCES = box8.c
+box8_OBJECTS = box8.$(OBJEXT)
+box8_DEPENDENCIES = $(TESTS_LDADD)
+core1_SOURCES = core1.c
+core1_OBJECTS = core1.$(OBJEXT)
+core1_DEPENDENCIES = $(TESTS_LDADD)
+core2_SOURCES = core2.c
+core2_OBJECTS = core2.$(OBJEXT)
+core2_DEPENDENCIES = $(TESTS_LDADD)
+core3_SOURCES = core3.c
+core3_OBJECTS = core3.$(OBJEXT)
+core3_DEPENDENCIES = $(TESTS_LDADD)
+core4_SOURCES = core4.c
+core4_OBJECTS = core4.$(OBJEXT)
+core4_DEPENDENCIES = $(TESTS_LDADD)
+core5_SOURCES = core5.c
+core5_OBJECTS = core5.$(OBJEXT)
+core5_DEPENDENCIES = $(TESTS_LDADD)
+core6_SOURCES = core6.c
+core6_OBJECTS = core6.$(OBJEXT)
+core6_DEPENDENCIES = $(TESTS_LDADD)
+generichash_SOURCES = generichash.c
+generichash_OBJECTS = generichash.$(OBJEXT)
+generichash_DEPENDENCIES = $(TESTS_LDADD)
+generichash2_SOURCES = generichash2.c
+generichash2_OBJECTS = generichash2.$(OBJEXT)
+generichash2_DEPENDENCIES = $(TESTS_LDADD)
+hash_SOURCES = hash.c
+hash_OBJECTS = hash.$(OBJEXT)
+hash_DEPENDENCIES = $(TESTS_LDADD)
+hash3_SOURCES = hash3.c
+hash3_OBJECTS = hash3.$(OBJEXT)
+hash3_DEPENDENCIES = $(TESTS_LDADD)
+onetimeauth_SOURCES = onetimeauth.c
+onetimeauth_OBJECTS = onetimeauth.$(OBJEXT)
+onetimeauth_DEPENDENCIES = $(TESTS_LDADD)
+onetimeauth2_SOURCES = onetimeauth2.c
+onetimeauth2_OBJECTS = onetimeauth2.$(OBJEXT)
+onetimeauth2_DEPENDENCIES = $(TESTS_LDADD)
+onetimeauth7_SOURCES = onetimeauth7.c
+onetimeauth7_OBJECTS = onetimeauth7.$(OBJEXT)
+onetimeauth7_DEPENDENCIES = $(TESTS_LDADD)
+randombytes_SOURCES = randombytes.c
+randombytes_OBJECTS = randombytes.$(OBJEXT)
+randombytes_DEPENDENCIES = $(TESTS_LDADD)
+scalarmult_SOURCES = scalarmult.c
+scalarmult_OBJECTS = scalarmult.$(OBJEXT)
+scalarmult_DEPENDENCIES = $(TESTS_LDADD)
+scalarmult2_SOURCES = scalarmult2.c
+scalarmult2_OBJECTS = scalarmult2.$(OBJEXT)
+scalarmult2_DEPENDENCIES = $(TESTS_LDADD)
+scalarmult5_SOURCES = scalarmult5.c
+scalarmult5_OBJECTS = scalarmult5.$(OBJEXT)
+scalarmult5_DEPENDENCIES = $(TESTS_LDADD)
+scalarmult6_SOURCES = scalarmult6.c
+scalarmult6_OBJECTS = scalarmult6.$(OBJEXT)
+scalarmult6_DEPENDENCIES = $(TESTS_LDADD)
+secretbox_SOURCES = secretbox.c
+secretbox_OBJECTS = secretbox.$(OBJEXT)
+secretbox_DEPENDENCIES = $(TESTS_LDADD)
+secretbox2_SOURCES = secretbox2.c
+secretbox2_OBJECTS = secretbox2.$(OBJEXT)
+secretbox2_DEPENDENCIES = $(TESTS_LDADD)
+secretbox7_SOURCES = secretbox7.c
+secretbox7_OBJECTS = secretbox7.$(OBJEXT)
+secretbox7_DEPENDENCIES = $(TESTS_LDADD)
+secretbox8_SOURCES = secretbox8.c
+secretbox8_OBJECTS = secretbox8.$(OBJEXT)
+secretbox8_DEPENDENCIES = $(TESTS_LDADD)
+shorthash_SOURCES = shorthash.c
+shorthash_OBJECTS = shorthash.$(OBJEXT)
+shorthash_DEPENDENCIES = $(TESTS_LDADD)
+sodium_core_SOURCES = sodium_core.c
+sodium_core_OBJECTS = sodium_core.$(OBJEXT)
+sodium_core_DEPENDENCIES = $(TESTS_LDADD)
+sodium_utils_SOURCES = sodium_utils.c
+sodium_utils_OBJECTS = sodium_utils.$(OBJEXT)
+sodium_utils_DEPENDENCIES = $(TESTS_LDADD)
+sodium_version_SOURCES = sodium_version.c
+sodium_version_OBJECTS = sodium_version.$(OBJEXT)
+sodium_version_DEPENDENCIES = $(TESTS_LDADD)
+stream_SOURCES = stream.c
+stream_OBJECTS = stream.$(OBJEXT)
+stream_DEPENDENCIES = $(TESTS_LDADD)
+stream2_SOURCES = stream2.c
+stream2_OBJECTS = stream2.$(OBJEXT)
+stream2_DEPENDENCIES = $(TESTS_LDADD)
+stream3_SOURCES = stream3.c
+stream3_OBJECTS = stream3.$(OBJEXT)
+stream3_DEPENDENCIES = $(TESTS_LDADD)
+stream4_SOURCES = stream4.c
+stream4_OBJECTS = stream4.$(OBJEXT)
+stream4_DEPENDENCIES = $(TESTS_LDADD)
+stream5_SOURCES = stream5.c
+stream5_OBJECTS = stream5.$(OBJEXT)
+stream5_DEPENDENCIES = $(TESTS_LDADD)
+stream6_SOURCES = stream6.c
+stream6_OBJECTS = stream6.$(OBJEXT)
+stream6_DEPENDENCIES = $(TESTS_LDADD)
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo "  GEN     " $@;
+am__v_GEN_1 = 
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 = 
+DEFAULT_INCLUDES = -I.@am__isrc@
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+am__depfiles_maybe = depfiles
+am__mv = mv -f
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+	$(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+	$(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_@AM_V@)
+am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
+am__v_CC_0 = @echo "  CC      " $@;
+am__v_CC_1 = 
+CCLD = $(CC)
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+	$(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_@AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
+am__v_CCLD_0 = @echo "  CCLD    " $@;
+am__v_CCLD_1 = 
+SOURCES = auth.c auth2.c auth3.c auth5.c box.c box2.c box7.c box8.c \
+	core1.c core2.c core3.c core4.c core5.c core6.c generichash.c \
+	generichash2.c hash.c hash3.c onetimeauth.c onetimeauth2.c \
+	onetimeauth7.c randombytes.c scalarmult.c scalarmult2.c \
+	scalarmult5.c scalarmult6.c secretbox.c secretbox2.c \
+	secretbox7.c secretbox8.c shorthash.c sodium_core.c \
+	sodium_utils.c sodium_version.c stream.c stream2.c stream3.c \
+	stream4.c stream5.c stream6.c
+DIST_SOURCES = auth.c auth2.c auth3.c auth5.c box.c box2.c box7.c \
+	box8.c core1.c core2.c core3.c core4.c core5.c core6.c \
+	generichash.c generichash2.c hash.c hash3.c onetimeauth.c \
+	onetimeauth2.c onetimeauth7.c randombytes.c scalarmult.c \
+	scalarmult2.c scalarmult5.c scalarmult6.c secretbox.c \
+	secretbox2.c secretbox7.c secretbox8.c shorthash.c \
+	sodium_core.c sodium_utils.c sodium_version.c stream.c \
+	stream2.c stream3.c stream4.c stream5.c stream6.c
+am__can_run_installinfo = \
+  case $$AM_UPDATE_INFO_DIR in \
+    n|no|NO) false;; \
+    *) (install-info --version) >/dev/null 2>&1;; \
+  esac
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates.  Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+  BEGIN { nonempty = 0; } \
+  { items[$$0] = 1; nonempty = 1; } \
+  END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique.  This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+  list='$(am__tagged_files)'; \
+  unique=`for i in $$list; do \
+    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+  done | $(am__uniquify_input)`
+ETAGS = etags
+CTAGS = ctags
+am__tty_colors_dummy = \
+  mgn= red= grn= lgn= blu= brg= std=; \
+  am__color_tests=no
+am__tty_colors = { \
+  $(am__tty_colors_dummy); \
+  if test "X$(AM_COLOR_TESTS)" = Xno; then \
+    am__color_tests=no; \
+  elif test "X$(AM_COLOR_TESTS)" = Xalways; then \
+    am__color_tests=yes; \
+  elif test "X$$TERM" != Xdumb && { test -t 1; } 2>/dev/null; then \
+    am__color_tests=yes; \
+  fi; \
+  if test $$am__color_tests = yes; then \
+    red=''; \
+    grn=''; \
+    lgn=''; \
+    blu=''; \
+    mgn=''; \
+    brg=''; \
+    std=''; \
+  fi; \
+}
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+    $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+    *) f=$$p;; \
+  esac;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+  srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+  for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+  for p in $$list; do echo "$$p $$p"; done | \
+  sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+  $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+    if (++n[$$2] == $(am__install_max)) \
+      { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+    END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+  sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+  sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+  test -z "$$files" \
+    || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+    || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+         $(am__cd) "$$dir" && rm -f $$files; }; \
+  }
+am__recheck_rx = ^[ 	]*:recheck:[ 	]*
+am__global_test_result_rx = ^[ 	]*:global-test-result:[ 	]*
+am__copy_in_global_log_rx = ^[ 	]*:copy-in-global-log:[ 	]*
+# A command that, given a newline-separated list of test names on the
+# standard input, print the name of the tests that are to be re-run
+# upon "make recheck".
+am__list_recheck_tests = $(AWK) '{ \
+  recheck = 1; \
+  while ((rc = (getline line < ($$0 ".trs"))) != 0) \
+    { \
+      if (rc < 0) \
+        { \
+          if ((getline line2 < ($$0 ".log")) < 0) \
+	    recheck = 0; \
+          break; \
+        } \
+      else if (line ~ /$(am__recheck_rx)[nN][Oo]/) \
+        { \
+          recheck = 0; \
+          break; \
+        } \
+      else if (line ~ /$(am__recheck_rx)[yY][eE][sS]/) \
+        { \
+          break; \
+        } \
+    }; \
+  if (recheck) \
+    print $$0; \
+  close ($$0 ".trs"); \
+  close ($$0 ".log"); \
+}'
+# A command that, given a newline-separated list of test names on the
+# standard input, create the global log from their .trs and .log files.
+am__create_global_log = $(AWK) ' \
+function fatal(msg) \
+{ \
+  print "fatal: making $@: " msg | "cat >&2"; \
+  exit 1; \
+} \
+function rst_section(header) \
+{ \
+  print header; \
+  len = length(header); \
+  for (i = 1; i <= len; i = i + 1) \
+    printf "="; \
+  printf "\n\n"; \
+} \
+{ \
+  copy_in_global_log = 1; \
+  global_test_result = "RUN"; \
+  while ((rc = (getline line < ($$0 ".trs"))) != 0) \
+    { \
+      if (rc < 0) \
+         fatal("failed to read from " $$0 ".trs"); \
+      if (line ~ /$(am__global_test_result_rx)/) \
+        { \
+          sub("$(am__global_test_result_rx)", "", line); \
+          sub("[ 	]*$$", "", line); \
+          global_test_result = line; \
+        } \
+      else if (line ~ /$(am__copy_in_global_log_rx)[nN][oO]/) \
+        copy_in_global_log = 0; \
+    }; \
+  if (copy_in_global_log) \
+    { \
+      rst_section(global_test_result ": " $$0); \
+      while ((rc = (getline line < ($$0 ".log"))) != 0) \
+      { \
+        if (rc < 0) \
+          fatal("failed to read from " $$0 ".log"); \
+        print line; \
+      }; \
+      printf "\n"; \
+    }; \
+  close ($$0 ".trs"); \
+  close ($$0 ".log"); \
+}'
+# Restructured Text title.
+am__rst_title = { sed 's/.*/   &   /;h;s/./=/g;p;x;s/ *$$//;p;g' && echo; }
+# Solaris 10 'make', and several other traditional 'make' implementations,
+# pass "-e" to $(SHELL), and POSIX 2008 even requires this.  Work around it
+# by disabling -e (using the XSI extension "set +e") if it's set.
+am__sh_e_setup = case $$- in *e*) set +e;; esac
+# Default flags passed to test drivers.
+am__common_driver_flags = \
+  --color-tests "$$am__color_tests" \
+  --enable-hard-errors "$$am__enable_hard_errors" \
+  --expect-failure "$$am__expect_failure"
+# To be inserted before the command running the test.  Creates the
+# directory for the log if needed.  Stores in $dir the directory
+# containing $f, in $tst the test, in $log the log.  Executes the
+# developer- defined test setup AM_TESTS_ENVIRONMENT (if any), and
+# passes TESTS_ENVIRONMENT.  Set up options for the wrapper that
+# will run the test scripts (or their associated LOG_COMPILER, if
+# thy have one).
+am__check_pre = \
+$(am__sh_e_setup);					\
+$(am__vpath_adj_setup) $(am__vpath_adj)			\
+$(am__tty_colors);					\
+srcdir=$(srcdir); export srcdir;			\
+case "$@" in						\
+  */*) am__odir=`echo "./$@" | sed 's|/[^/]*$$||'`;;	\
+    *) am__odir=.;; 					\
+esac;							\
+test "x$$am__odir" = x"." || test -d "$$am__odir" 	\
+  || $(MKDIR_P) "$$am__odir" || exit $$?;		\
+if test -f "./$$f"; then dir=./;			\
+elif test -f "$$f"; then dir=;				\
+else dir="$(srcdir)/"; fi;				\
+tst=$$dir$$f; log='$@'; 				\
+if test -n '$(DISABLE_HARD_ERRORS)'; then		\
+  am__enable_hard_errors=no; 				\
+else							\
+  am__enable_hard_errors=yes; 				\
+fi; 							\
+case " $(XFAIL_TESTS) " in				\
+  *[\ \	]$$f[\ \	]* | *[\ \	]$$dir$$f[\ \	]*) \
+    am__expect_failure=yes;;				\
+  *)							\
+    am__expect_failure=no;;				\
+esac; 							\
+$(AM_TESTS_ENVIRONMENT) $(TESTS_ENVIRONMENT)
+# A shell command to get the names of the tests scripts with any registered
+# extension removed (i.e., equivalently, the names of the test logs, with
+# the '.log' extension removed).  The result is saved in the shell variable
+# '$bases'.  This honors runtime overriding of TESTS and TEST_LOGS.  Sadly,
+# we cannot use something simpler, involving e.g., "$(TEST_LOGS:.log=)",
+# since that might cause problem with VPATH rewrites for suffix-less tests.
+# See also 'test-harness-vpath-rewrite.sh' and 'test-trs-basic.sh'.
+am__set_TESTS_bases = \
+  bases='$(TEST_LOGS)'; \
+  bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \
+  bases=`echo $$bases`
+RECHECK_LOGS = $(TEST_LOGS)
+AM_RECURSIVE_TARGETS = check recheck
+TEST_SUITE_LOG = test-suite.log
+TEST_EXTENSIONS = @EXEEXT@ .test
+LOG_DRIVER = $(SHELL) $(top_srcdir)/test-driver
+LOG_COMPILE = $(LOG_COMPILER) $(AM_LOG_FLAGS) $(LOG_FLAGS)
+am__set_b = \
+  case '$@' in \
+    */*) \
+      case '$*' in \
+        */*) b='$*';; \
+          *) b=`echo '$@' | sed 's/\.log$$//'`; \
+       esac;; \
+    *) \
+      b='$*';; \
+  esac
+am__test_logs1 = $(TESTS:=.log)
+am__test_logs2 = $(am__test_logs1:@EXEEXT@.log=.log)
+TEST_LOGS = $(am__test_logs2:.test.log=.log)
+TEST_LOG_DRIVER = $(SHELL) $(top_srcdir)/test-driver
+TEST_LOG_COMPILE = $(TEST_LOG_COMPILER) $(AM_TEST_LOG_FLAGS) \
+	$(TEST_LOG_FLAGS)
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AR = @AR@
+AS = @AS@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCAS = @CCAS@
+CCASDEPMODE = @CCASDEPMODE@
+CCASFLAGS = @CCASFLAGS@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CWFLAGS = @CWFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DLLTOOL = @DLLTOOL@
+DLL_VERSION = @DLL_VERSION@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+GREP = @GREP@
+HAVE_AMD64_ASM_V = @HAVE_AMD64_ASM_V@
+HAVE_CPUID_V = @HAVE_CPUID_V@
+HAVE_PKG_CONFIG = @HAVE_PKG_CONFIG@
+HAVE_TI_MODE_V = @HAVE_TI_MODE_V@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+ISODATE = @ISODATE@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIBTOOL_DEPS = @LIBTOOL_DEPS@
+LIBTOOL_EXTRA_FLAGS = @LIBTOOL_EXTRA_FLAGS@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MKDIR_P = @MKDIR_P@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
+RANLIB = @RANLIB@
+SAFECODE_HOME = @SAFECODE_HOME@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+SODIUM_LIBRARY_VERSION = @SODIUM_LIBRARY_VERSION@
+SODIUM_LIBRARY_VERSION_MAJOR = @SODIUM_LIBRARY_VERSION_MAJOR@
+SODIUM_LIBRARY_VERSION_MINOR = @SODIUM_LIBRARY_VERSION_MINOR@
+STRIP = @STRIP@
+VERSION = @VERSION@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+EXTRA_DIST = \
+	cmptest.h \
+	auth.exp \
+	auth2.exp \
+	auth3.exp \
+	auth5.exp \
+	box.exp \
+	box2.exp \
+	box7.exp \
+	box8.exp \
+	core1.exp \
+	core2.exp \
+	core3.exp \
+	core4.exp \
+	core5.exp \
+	core6.exp \
+	generichash.exp \
+	generichash2.exp \
+	hash.exp \
+	hash2.exp \
+	hash3.exp \
+	onetimeauth.exp \
+	onetimeauth2.exp \
+	onetimeauth7.exp \
+	scalarmult.exp \
+	scalarmult2.exp \
+	scalarmult5.exp \
+	scalarmult6.exp \
+	secretbox.exp \
+	secretbox2.exp \
+	secretbox7.exp \
+	secretbox8.exp \
+	shorthash.exp \
+	sodium_core.exp \
+	sodium_utils.exp \
+	sodium_version.exp \
+	stream.exp \
+	stream2.exp \
+	stream3.exp \
+	stream4.exp \
+	stream5.exp \
+	stream6.exp
+
+DISTCLEANFILES = \
+	auth.res \
+	auth2.res \
+	auth3.res \
+	auth5.res \
+	box.res \
+	box2.res \
+	box7.res \
+	box8.res \
+	core1.res \
+	core2.res \
+	core3.res \
+	core4.res \
+	core5.res \
+	core6.res \
+	generichash.res \
+	generichash2.res \
+	hash.res \
+	hash2.res \
+	hash3.res \
+	onetimeauth.res \
+	onetimeauth2.res \
+	onetimeauth7.res \
+	scalarmult.res \
+	scalarmult2.res \
+	scalarmult5.res \
+	scalarmult6.res \
+	secretbox.res \
+	secretbox2.res \
+	secretbox7.res \
+	secretbox8.res \
+	shorthash.res \
+	sodium_core.res \
+	sodium_utils.res \
+	sodium_version.res \
+	stream.res \
+	stream2.res \
+	stream3.res \
+	stream4.res \
+	stream5.res \
+	stream6.res
+
+AM_CPPFLAGS = \
+	-DTEST_SRCDIR=\"@srcdir@\" \
+	-I$(top_srcdir)/src/libsodium/include \
+	-I$(top_srcdir)/src/libsodium/include/sodium \
+	-I$(top_builddir)/src/libsodium/include \
+	-I$(top_builddir)/src/libsodium/include/sodium \
+	-I$(top_srcdir)/test/quirks
+
+TESTS_TARGETS = \
+	auth \
+	auth2 \
+	auth3 \
+	auth5 \
+	box \
+	box2 \
+	box7 \
+	box8 \
+	core1 \
+	core2 \
+	core3 \
+	core4 \
+	core5 \
+	core6 \
+	generichash \
+	generichash2 \
+	hash \
+	hash3 \
+	onetimeauth \
+	onetimeauth2 \
+	onetimeauth7 \
+	randombytes \
+	scalarmult \
+	scalarmult2 \
+	scalarmult5 \
+	scalarmult6 \
+	secretbox \
+	secretbox2 \
+	secretbox7 \
+	secretbox8 \
+	shorthash \
+	sodium_core \
+	sodium_utils \
+	sodium_version \
+	stream \
+	stream2 \
+	stream3 \
+	stream4 \
+	stream5 \
+	stream6
+
+TESTS_LDADD = \
+	${top_builddir}/src/libsodium/libsodium.la
+
+auth_SOURCE = cmptest.h auth.c
+auth_LDADD = $(TESTS_LDADD)
+auth2_SOURCE = cmptest.h auth2.c
+auth2_LDADD = $(TESTS_LDADD)
+auth3_SOURCE = cmptest.h auth3.c
+auth3_LDADD = $(TESTS_LDADD)
+auth5_SOURCE = cmptest.h auth5.c windows/windows-quirks.h
+auth5_LDADD = $(TESTS_LDADD)
+box_SOURCE = cmptest.h box.c
+box_LDADD = $(TESTS_LDADD)
+box2_SOURCE = cmptest.h box2.c
+box2_LDADD = $(TESTS_LDADD)
+box7_SOURCE = cmptest.h box7.c
+box7_LDADD = $(TESTS_LDADD)
+box8_SOURCE = cmptest.h box8.c
+box8_LDADD = $(TESTS_LDADD)
+core1_SOURCE = cmptest.h core1.c
+core1_LDADD = $(TESTS_LDADD)
+core2_SOURCE = cmptest.h core2.c
+core2_LDADD = $(TESTS_LDADD)
+core3_SOURCE = cmptest.h core3.c
+core3_LDADD = $(TESTS_LDADD)
+core4_SOURCE = cmptest.h core4.c
+core4_LDADD = $(TESTS_LDADD)
+core5_SOURCE = cmptest.h core5.c
+core5_LDADD = $(TESTS_LDADD)
+core6_SOURCE = cmptest.h core6.c
+core6_LDADD = $(TESTS_LDADD)
+generichash_SOURCE = cmptest.h generichash.c
+generichash_LDADD = $(TESTS_LDADD)
+generichash2_SOURCE = cmptest.h generichash2.c
+generichash2_LDADD = $(TESTS_LDADD)
+hash_SOURCE = cmptest.h hash.c
+hash_LDADD = $(TESTS_LDADD)
+hash3_SOURCE = cmptest.h hash3.c
+hash3_LDADD = $(TESTS_LDADD)
+onetimeauth_SOURCE = cmptest.h onetimeauth.c
+onetimeauth_LDADD = $(TESTS_LDADD)
+onetimeauth2_SOURCE = cmptest.h onetimeauth2.c
+onetimeauth2_LDADD = $(TESTS_LDADD)
+onetimeauth7_SOURCE = cmptest.h onetimeauth7.c
+onetimeauth7_LDADD = $(TESTS_LDADD)
+randombytes_SOURCE = randombytes.c
+randombytes_LDADD = $(TESTS_LDADD)
+scalarmult_SOURCE = cmptest.h scalarmult.c
+scalarmult_LDADD = $(TESTS_LDADD)
+scalarmult2_SOURCE = cmptest.h scalarmult2.c
+scalarmult2_LDADD = $(TESTS_LDADD)
+scalarmult5_SOURCE = cmptest.h scalarmult5.c
+scalarmult5_LDADD = $(TESTS_LDADD)
+scalarmult6_SOURCE = cmptest.h scalarmult6.c
+scalarmult6_LDADD = $(TESTS_LDADD)
+secretbox_SOURCE = cmptest.h secretbox.c
+secretbox_LDADD = $(TESTS_LDADD)
+secretbox2_SOURCE = cmptest.h secretbox2.c
+secretbox2_LDADD = $(TESTS_LDADD)
+secretbox7_SOURCE = cmptest.h secretbox7.c
+secretbox7_LDADD = $(TESTS_LDADD)
+secretbox8_SOURCE = cmptest.h secretbox8.c
+secretbox8_LDADD = $(TESTS_LDADD)
+shorthash_SOURCE = cmptest.h shorthash.c
+shorthash_LDADD = $(TESTS_LDADD)
+sodium_core_SOURCE = cmptest.h sodium_core.c
+sodium_core_LDADD = $(TESTS_LDADD)
+sodium_utils_SOURCE = cmptest.h sodium_utils.c
+sodium_utils_LDADD = $(TESTS_LDADD)
+sodium_version_SOURCE = cmptest.h sodium_version.c
+sodium_version_LDADD = $(TESTS_LDADD)
+stream_SOURCE = cmptest.h stream.c
+stream_LDADD = $(TESTS_LDADD)
+stream2_SOURCE = cmptest.h stream2.c
+stream2_LDADD = $(TESTS_LDADD)
+stream3_SOURCE = cmptest.h stream3.c
+stream3_LDADD = $(TESTS_LDADD)
+stream4_SOURCE = cmptest.h stream4.c
+stream4_LDADD = $(TESTS_LDADD)
+stream5_SOURCE = cmptest.h stream5.c
+stream5_LDADD = $(TESTS_LDADD)
+stream6_SOURCE = cmptest.h stream6.c
+stream6_LDADD = $(TESTS_LDADD)
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .c .lo .log .o .obj .test .test$(EXEEXT) .trs
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__configure_deps)
+	@for dep in $?; do \
+	  case '$(am__configure_deps)' in \
+	    *$$dep*) \
+	      ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+	        && { if test -f $@; then exit 0; else break; fi; }; \
+	      exit 1;; \
+	  esac; \
+	done; \
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign test/default/Makefile'; \
+	$(am__cd) $(top_srcdir) && \
+	  $(AUTOMAKE) --foreign test/default/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+	@case '$?' in \
+	  *config.status*) \
+	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+	  *) \
+	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+	esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+
+clean-checkPROGRAMS:
+	@list='$(check_PROGRAMS)'; test -n "$$list" || exit 0; \
+	echo " rm -f" $$list; \
+	rm -f $$list || exit $$?; \
+	test -n "$(EXEEXT)" || exit 0; \
+	list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
+	echo " rm -f" $$list; \
+	rm -f $$list
+
+auth$(EXEEXT): $(auth_OBJECTS) $(auth_DEPENDENCIES) $(EXTRA_auth_DEPENDENCIES) 
+	@rm -f auth$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(auth_OBJECTS) $(auth_LDADD) $(LIBS)
+
+auth2$(EXEEXT): $(auth2_OBJECTS) $(auth2_DEPENDENCIES) $(EXTRA_auth2_DEPENDENCIES) 
+	@rm -f auth2$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(auth2_OBJECTS) $(auth2_LDADD) $(LIBS)
+
+auth3$(EXEEXT): $(auth3_OBJECTS) $(auth3_DEPENDENCIES) $(EXTRA_auth3_DEPENDENCIES) 
+	@rm -f auth3$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(auth3_OBJECTS) $(auth3_LDADD) $(LIBS)
+
+auth5$(EXEEXT): $(auth5_OBJECTS) $(auth5_DEPENDENCIES) $(EXTRA_auth5_DEPENDENCIES) 
+	@rm -f auth5$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(auth5_OBJECTS) $(auth5_LDADD) $(LIBS)
+
+box$(EXEEXT): $(box_OBJECTS) $(box_DEPENDENCIES) $(EXTRA_box_DEPENDENCIES) 
+	@rm -f box$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(box_OBJECTS) $(box_LDADD) $(LIBS)
+
+box2$(EXEEXT): $(box2_OBJECTS) $(box2_DEPENDENCIES) $(EXTRA_box2_DEPENDENCIES) 
+	@rm -f box2$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(box2_OBJECTS) $(box2_LDADD) $(LIBS)
+
+box7$(EXEEXT): $(box7_OBJECTS) $(box7_DEPENDENCIES) $(EXTRA_box7_DEPENDENCIES) 
+	@rm -f box7$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(box7_OBJECTS) $(box7_LDADD) $(LIBS)
+
+box8$(EXEEXT): $(box8_OBJECTS) $(box8_DEPENDENCIES) $(EXTRA_box8_DEPENDENCIES) 
+	@rm -f box8$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(box8_OBJECTS) $(box8_LDADD) $(LIBS)
+
+core1$(EXEEXT): $(core1_OBJECTS) $(core1_DEPENDENCIES) $(EXTRA_core1_DEPENDENCIES) 
+	@rm -f core1$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(core1_OBJECTS) $(core1_LDADD) $(LIBS)
+
+core2$(EXEEXT): $(core2_OBJECTS) $(core2_DEPENDENCIES) $(EXTRA_core2_DEPENDENCIES) 
+	@rm -f core2$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(core2_OBJECTS) $(core2_LDADD) $(LIBS)
+
+core3$(EXEEXT): $(core3_OBJECTS) $(core3_DEPENDENCIES) $(EXTRA_core3_DEPENDENCIES) 
+	@rm -f core3$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(core3_OBJECTS) $(core3_LDADD) $(LIBS)
+
+core4$(EXEEXT): $(core4_OBJECTS) $(core4_DEPENDENCIES) $(EXTRA_core4_DEPENDENCIES) 
+	@rm -f core4$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(core4_OBJECTS) $(core4_LDADD) $(LIBS)
+
+core5$(EXEEXT): $(core5_OBJECTS) $(core5_DEPENDENCIES) $(EXTRA_core5_DEPENDENCIES) 
+	@rm -f core5$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(core5_OBJECTS) $(core5_LDADD) $(LIBS)
+
+core6$(EXEEXT): $(core6_OBJECTS) $(core6_DEPENDENCIES) $(EXTRA_core6_DEPENDENCIES) 
+	@rm -f core6$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(core6_OBJECTS) $(core6_LDADD) $(LIBS)
+
+generichash$(EXEEXT): $(generichash_OBJECTS) $(generichash_DEPENDENCIES) $(EXTRA_generichash_DEPENDENCIES) 
+	@rm -f generichash$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(generichash_OBJECTS) $(generichash_LDADD) $(LIBS)
+
+generichash2$(EXEEXT): $(generichash2_OBJECTS) $(generichash2_DEPENDENCIES) $(EXTRA_generichash2_DEPENDENCIES) 
+	@rm -f generichash2$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(generichash2_OBJECTS) $(generichash2_LDADD) $(LIBS)
+
+hash$(EXEEXT): $(hash_OBJECTS) $(hash_DEPENDENCIES) $(EXTRA_hash_DEPENDENCIES) 
+	@rm -f hash$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(hash_OBJECTS) $(hash_LDADD) $(LIBS)
+
+hash3$(EXEEXT): $(hash3_OBJECTS) $(hash3_DEPENDENCIES) $(EXTRA_hash3_DEPENDENCIES) 
+	@rm -f hash3$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(hash3_OBJECTS) $(hash3_LDADD) $(LIBS)
+
+onetimeauth$(EXEEXT): $(onetimeauth_OBJECTS) $(onetimeauth_DEPENDENCIES) $(EXTRA_onetimeauth_DEPENDENCIES) 
+	@rm -f onetimeauth$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(onetimeauth_OBJECTS) $(onetimeauth_LDADD) $(LIBS)
+
+onetimeauth2$(EXEEXT): $(onetimeauth2_OBJECTS) $(onetimeauth2_DEPENDENCIES) $(EXTRA_onetimeauth2_DEPENDENCIES) 
+	@rm -f onetimeauth2$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(onetimeauth2_OBJECTS) $(onetimeauth2_LDADD) $(LIBS)
+
+onetimeauth7$(EXEEXT): $(onetimeauth7_OBJECTS) $(onetimeauth7_DEPENDENCIES) $(EXTRA_onetimeauth7_DEPENDENCIES) 
+	@rm -f onetimeauth7$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(onetimeauth7_OBJECTS) $(onetimeauth7_LDADD) $(LIBS)
+
+randombytes$(EXEEXT): $(randombytes_OBJECTS) $(randombytes_DEPENDENCIES) $(EXTRA_randombytes_DEPENDENCIES) 
+	@rm -f randombytes$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(randombytes_OBJECTS) $(randombytes_LDADD) $(LIBS)
+
+scalarmult$(EXEEXT): $(scalarmult_OBJECTS) $(scalarmult_DEPENDENCIES) $(EXTRA_scalarmult_DEPENDENCIES) 
+	@rm -f scalarmult$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(scalarmult_OBJECTS) $(scalarmult_LDADD) $(LIBS)
+
+scalarmult2$(EXEEXT): $(scalarmult2_OBJECTS) $(scalarmult2_DEPENDENCIES) $(EXTRA_scalarmult2_DEPENDENCIES) 
+	@rm -f scalarmult2$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(scalarmult2_OBJECTS) $(scalarmult2_LDADD) $(LIBS)
+
+scalarmult5$(EXEEXT): $(scalarmult5_OBJECTS) $(scalarmult5_DEPENDENCIES) $(EXTRA_scalarmult5_DEPENDENCIES) 
+	@rm -f scalarmult5$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(scalarmult5_OBJECTS) $(scalarmult5_LDADD) $(LIBS)
+
+scalarmult6$(EXEEXT): $(scalarmult6_OBJECTS) $(scalarmult6_DEPENDENCIES) $(EXTRA_scalarmult6_DEPENDENCIES) 
+	@rm -f scalarmult6$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(scalarmult6_OBJECTS) $(scalarmult6_LDADD) $(LIBS)
+
+secretbox$(EXEEXT): $(secretbox_OBJECTS) $(secretbox_DEPENDENCIES) $(EXTRA_secretbox_DEPENDENCIES) 
+	@rm -f secretbox$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(secretbox_OBJECTS) $(secretbox_LDADD) $(LIBS)
+
+secretbox2$(EXEEXT): $(secretbox2_OBJECTS) $(secretbox2_DEPENDENCIES) $(EXTRA_secretbox2_DEPENDENCIES) 
+	@rm -f secretbox2$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(secretbox2_OBJECTS) $(secretbox2_LDADD) $(LIBS)
+
+secretbox7$(EXEEXT): $(secretbox7_OBJECTS) $(secretbox7_DEPENDENCIES) $(EXTRA_secretbox7_DEPENDENCIES) 
+	@rm -f secretbox7$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(secretbox7_OBJECTS) $(secretbox7_LDADD) $(LIBS)
+
+secretbox8$(EXEEXT): $(secretbox8_OBJECTS) $(secretbox8_DEPENDENCIES) $(EXTRA_secretbox8_DEPENDENCIES) 
+	@rm -f secretbox8$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(secretbox8_OBJECTS) $(secretbox8_LDADD) $(LIBS)
+
+shorthash$(EXEEXT): $(shorthash_OBJECTS) $(shorthash_DEPENDENCIES) $(EXTRA_shorthash_DEPENDENCIES) 
+	@rm -f shorthash$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(shorthash_OBJECTS) $(shorthash_LDADD) $(LIBS)
+
+sodium_core$(EXEEXT): $(sodium_core_OBJECTS) $(sodium_core_DEPENDENCIES) $(EXTRA_sodium_core_DEPENDENCIES) 
+	@rm -f sodium_core$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(sodium_core_OBJECTS) $(sodium_core_LDADD) $(LIBS)
+
+sodium_utils$(EXEEXT): $(sodium_utils_OBJECTS) $(sodium_utils_DEPENDENCIES) $(EXTRA_sodium_utils_DEPENDENCIES) 
+	@rm -f sodium_utils$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(sodium_utils_OBJECTS) $(sodium_utils_LDADD) $(LIBS)
+
+sodium_version$(EXEEXT): $(sodium_version_OBJECTS) $(sodium_version_DEPENDENCIES) $(EXTRA_sodium_version_DEPENDENCIES) 
+	@rm -f sodium_version$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(sodium_version_OBJECTS) $(sodium_version_LDADD) $(LIBS)
+
+stream$(EXEEXT): $(stream_OBJECTS) $(stream_DEPENDENCIES) $(EXTRA_stream_DEPENDENCIES) 
+	@rm -f stream$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(stream_OBJECTS) $(stream_LDADD) $(LIBS)
+
+stream2$(EXEEXT): $(stream2_OBJECTS) $(stream2_DEPENDENCIES) $(EXTRA_stream2_DEPENDENCIES) 
+	@rm -f stream2$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(stream2_OBJECTS) $(stream2_LDADD) $(LIBS)
+
+stream3$(EXEEXT): $(stream3_OBJECTS) $(stream3_DEPENDENCIES) $(EXTRA_stream3_DEPENDENCIES) 
+	@rm -f stream3$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(stream3_OBJECTS) $(stream3_LDADD) $(LIBS)
+
+stream4$(EXEEXT): $(stream4_OBJECTS) $(stream4_DEPENDENCIES) $(EXTRA_stream4_DEPENDENCIES) 
+	@rm -f stream4$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(stream4_OBJECTS) $(stream4_LDADD) $(LIBS)
+
+stream5$(EXEEXT): $(stream5_OBJECTS) $(stream5_DEPENDENCIES) $(EXTRA_stream5_DEPENDENCIES) 
+	@rm -f stream5$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(stream5_OBJECTS) $(stream5_LDADD) $(LIBS)
+
+stream6$(EXEEXT): $(stream6_OBJECTS) $(stream6_DEPENDENCIES) $(EXTRA_stream6_DEPENDENCIES) 
+	@rm -f stream6$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(stream6_OBJECTS) $(stream6_LDADD) $(LIBS)
+
+mostlyclean-compile:
+	-rm -f *.$(OBJEXT)
+
+distclean-compile:
+	-rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/auth.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/auth2.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/auth3.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/auth5.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/box.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/box2.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/box7.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/box8.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/core1.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/core2.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/core3.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/core4.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/core5.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/core6.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/generichash.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/generichash2.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hash.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hash3.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/onetimeauth.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/onetimeauth2.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/onetimeauth7.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/randombytes.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/scalarmult.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/scalarmult2.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/scalarmult5.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/scalarmult6.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/secretbox.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/secretbox2.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/secretbox7.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/secretbox8.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/shorthash.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sodium_core.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sodium_utils.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sodium_version.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stream.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stream2.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stream3.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stream4.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stream5.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stream6.Po@am__quote@
+
+.c.o:
+@am__fastdepCC_TRUE@	$(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
+@am__fastdepCC_TRUE@	$(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
+@am__fastdepCC_TRUE@	$(am__mv) $$depbase.Tpo $$depbase.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $<
+
+.c.obj:
+@am__fastdepCC_TRUE@	$(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\
+@am__fastdepCC_TRUE@	$(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\
+@am__fastdepCC_TRUE@	$(am__mv) $$depbase.Tpo $$depbase.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+.c.lo:
+@am__fastdepCC_TRUE@	$(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\
+@am__fastdepCC_TRUE@	$(LTCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
+@am__fastdepCC_TRUE@	$(am__mv) $$depbase.Tpo $$depbase.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $<
+
+mostlyclean-libtool:
+	-rm -f *.lo
+
+clean-libtool:
+	-rm -rf .libs _libs
+
+ID: $(am__tagged_files)
+	$(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-am
+TAGS: tags
+
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+	set x; \
+	here=`pwd`; \
+	$(am__define_uniq_tagged_files); \
+	shift; \
+	if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+	  test -n "$$unique" || unique=$$empty_fix; \
+	  if test $$# -gt 0; then \
+	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	      "$$@" $$unique; \
+	  else \
+	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	      $$unique; \
+	  fi; \
+	fi
+ctags: ctags-am
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+	$(am__define_uniq_tagged_files); \
+	test -z "$(CTAGS_ARGS)$$unique" \
+	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+	     $$unique
+
+GTAGS:
+	here=`$(am__cd) $(top_builddir) && pwd` \
+	  && $(am__cd) $(top_srcdir) \
+	  && gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-am
+
+cscopelist-am: $(am__tagged_files)
+	list='$(am__tagged_files)'; \
+	case "$(srcdir)" in \
+	  [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+	  *) sdir=$(subdir)/$(srcdir) ;; \
+	esac; \
+	for i in $$list; do \
+	  if test -f "$$i"; then \
+	    echo "$(subdir)/$$i"; \
+	  else \
+	    echo "$$sdir/$$i"; \
+	  fi; \
+	done >> $(top_builddir)/cscope.files
+
+distclean-tags:
+	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+# Recover from deleted '.trs' file; this should ensure that
+# "rm -f foo.log; make foo.trs" re-run 'foo.test', and re-create
+# both 'foo.log' and 'foo.trs'.  Break the recipe in two subshells
+# to avoid problems with "make -n".
+.log.trs:
+	rm -f $< $@
+	$(MAKE) $(AM_MAKEFLAGS) $<
+
+# Leading 'am--fnord' is there to ensure the list of targets does not
+# expand to empty, as could happen e.g. with make check TESTS=''.
+am--fnord $(TEST_LOGS) $(TEST_LOGS:.log=.trs): $(am__force_recheck)
+am--force-recheck:
+	@:
+
+$(TEST_SUITE_LOG): $(TEST_LOGS)
+	@$(am__set_TESTS_bases); \
+	am__f_ok () { test -f "$$1" && test -r "$$1"; }; \
+	redo_bases=`for i in $$bases; do \
+	              am__f_ok $$i.trs && am__f_ok $$i.log || echo $$i; \
+	            done`; \
+	if test -n "$$redo_bases"; then \
+	  redo_logs=`for i in $$redo_bases; do echo $$i.log; done`; \
+	  redo_results=`for i in $$redo_bases; do echo $$i.trs; done`; \
+	  if $(am__make_dryrun); then :; else \
+	    rm -f $$redo_logs && rm -f $$redo_results || exit 1; \
+	  fi; \
+	fi; \
+	if test -n "$$am__remaking_logs"; then \
+	  echo "fatal: making $(TEST_SUITE_LOG): possible infinite" \
+	       "recursion detected" >&2; \
+	else \
+	  am__remaking_logs=yes $(MAKE) $(AM_MAKEFLAGS) $$redo_logs; \
+	fi; \
+	if $(am__make_dryrun); then :; else \
+	  st=0;  \
+	  errmsg="fatal: making $(TEST_SUITE_LOG): failed to create"; \
+	  for i in $$redo_bases; do \
+	    test -f $$i.trs && test -r $$i.trs \
+	      || { echo "$$errmsg $$i.trs" >&2; st=1; }; \
+	    test -f $$i.log && test -r $$i.log \
+	      || { echo "$$errmsg $$i.log" >&2; st=1; }; \
+	  done; \
+	  test $$st -eq 0 || exit 1; \
+	fi
+	@$(am__sh_e_setup); $(am__tty_colors); $(am__set_TESTS_bases); \
+	ws='[ 	]'; \
+	results=`for b in $$bases; do echo $$b.trs; done`; \
+	test -n "$$results" || results=/dev/null; \
+	all=`  grep "^$$ws*:test-result:"           $$results | wc -l`; \
+	pass=` grep "^$$ws*:test-result:$$ws*PASS"  $$results | wc -l`; \
+	fail=` grep "^$$ws*:test-result:$$ws*FAIL"  $$results | wc -l`; \
+	skip=` grep "^$$ws*:test-result:$$ws*SKIP"  $$results | wc -l`; \
+	xfail=`grep "^$$ws*:test-result:$$ws*XFAIL" $$results | wc -l`; \
+	xpass=`grep "^$$ws*:test-result:$$ws*XPASS" $$results | wc -l`; \
+	error=`grep "^$$ws*:test-result:$$ws*ERROR" $$results | wc -l`; \
+	if test `expr $$fail + $$xpass + $$error` -eq 0; then \
+	  success=true; \
+	else \
+	  success=false; \
+	fi; \
+	br='==================='; br=$$br$$br$$br$$br; \
+	result_count () \
+	{ \
+	    if test x"$$1" = x"--maybe-color"; then \
+	      maybe_colorize=yes; \
+	    elif test x"$$1" = x"--no-color"; then \
+	      maybe_colorize=no; \
+	    else \
+	      echo "$@: invalid 'result_count' usage" >&2; exit 4; \
+	    fi; \
+	    shift; \
+	    desc=$$1 count=$$2; \
+	    if test $$maybe_colorize = yes && test $$count -gt 0; then \
+	      color_start=$$3 color_end=$$std; \
+	    else \
+	      color_start= color_end=; \
+	    fi; \
+	    echo "$${color_start}# $$desc $$count$${color_end}"; \
+	}; \
+	create_testsuite_report () \
+	{ \
+	  result_count $$1 "TOTAL:" $$all   "$$brg"; \
+	  result_count $$1 "PASS: " $$pass  "$$grn"; \
+	  result_count $$1 "SKIP: " $$skip  "$$blu"; \
+	  result_count $$1 "XFAIL:" $$xfail "$$lgn"; \
+	  result_count $$1 "FAIL: " $$fail  "$$red"; \
+	  result_count $$1 "XPASS:" $$xpass "$$red"; \
+	  result_count $$1 "ERROR:" $$error "$$mgn"; \
+	}; \
+	{								\
+	  echo "$(PACKAGE_STRING): $(subdir)/$(TEST_SUITE_LOG)" |	\
+	    $(am__rst_title);						\
+	  create_testsuite_report --no-color;				\
+	  echo;								\
+	  echo ".. contents:: :depth: 2";				\
+	  echo;								\
+	  for b in $$bases; do echo $$b; done				\
+	    | $(am__create_global_log);					\
+	} >$(TEST_SUITE_LOG).tmp || exit 1;				\
+	mv $(TEST_SUITE_LOG).tmp $(TEST_SUITE_LOG);			\
+	if $$success; then						\
+	  col="$$grn";							\
+	 else								\
+	  col="$$red";							\
+	  test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG);		\
+	fi;								\
+	echo "$${col}$$br$${std}"; 					\
+	echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}";	\
+	echo "$${col}$$br$${std}"; 					\
+	create_testsuite_report --maybe-color;				\
+	echo "$$col$$br$$std";						\
+	if $$success; then :; else					\
+	  echo "$${col}See $(subdir)/$(TEST_SUITE_LOG)$${std}";		\
+	  if test -n "$(PACKAGE_BUGREPORT)"; then			\
+	    echo "$${col}Please report to $(PACKAGE_BUGREPORT)$${std}";	\
+	  fi;								\
+	  echo "$$col$$br$$std";					\
+	fi;								\
+	$$success || exit 1
+
+check-TESTS:
+	@list='$(RECHECK_LOGS)';           test -z "$$list" || rm -f $$list
+	@list='$(RECHECK_LOGS:.log=.trs)'; test -z "$$list" || rm -f $$list
+	@test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG)
+	@set +e; $(am__set_TESTS_bases); \
+	log_list=`for i in $$bases; do echo $$i.log; done`; \
+	trs_list=`for i in $$bases; do echo $$i.trs; done`; \
+	log_list=`echo $$log_list`; trs_list=`echo $$trs_list`; \
+	$(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) TEST_LOGS="$$log_list"; \
+	exit $$?;
+recheck: all $(check_PROGRAMS)
+	@test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG)
+	@set +e; $(am__set_TESTS_bases); \
+	bases=`for i in $$bases; do echo $$i; done \
+	         | $(am__list_recheck_tests)` || exit 1; \
+	log_list=`for i in $$bases; do echo $$i.log; done`; \
+	log_list=`echo $$log_list`; \
+	$(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) \
+	        am__force_recheck=am--force-recheck \
+	        TEST_LOGS="$$log_list"; \
+	exit $$?
+auth.log: auth$(EXEEXT)
+	@p='auth$(EXEEXT)'; \
+	b='auth'; \
+	$(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+	--log-file $$b.log --trs-file $$b.trs \
+	$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+	"$$tst" $(AM_TESTS_FD_REDIRECT)
+auth2.log: auth2$(EXEEXT)
+	@p='auth2$(EXEEXT)'; \
+	b='auth2'; \
+	$(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+	--log-file $$b.log --trs-file $$b.trs \
+	$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+	"$$tst" $(AM_TESTS_FD_REDIRECT)
+auth3.log: auth3$(EXEEXT)
+	@p='auth3$(EXEEXT)'; \
+	b='auth3'; \
+	$(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+	--log-file $$b.log --trs-file $$b.trs \
+	$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+	"$$tst" $(AM_TESTS_FD_REDIRECT)
+auth5.log: auth5$(EXEEXT)
+	@p='auth5$(EXEEXT)'; \
+	b='auth5'; \
+	$(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+	--log-file $$b.log --trs-file $$b.trs \
+	$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+	"$$tst" $(AM_TESTS_FD_REDIRECT)
+box.log: box$(EXEEXT)
+	@p='box$(EXEEXT)'; \
+	b='box'; \
+	$(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+	--log-file $$b.log --trs-file $$b.trs \
+	$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+	"$$tst" $(AM_TESTS_FD_REDIRECT)
+box2.log: box2$(EXEEXT)
+	@p='box2$(EXEEXT)'; \
+	b='box2'; \
+	$(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+	--log-file $$b.log --trs-file $$b.trs \
+	$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+	"$$tst" $(AM_TESTS_FD_REDIRECT)
+box7.log: box7$(EXEEXT)
+	@p='box7$(EXEEXT)'; \
+	b='box7'; \
+	$(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+	--log-file $$b.log --trs-file $$b.trs \
+	$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+	"$$tst" $(AM_TESTS_FD_REDIRECT)
+box8.log: box8$(EXEEXT)
+	@p='box8$(EXEEXT)'; \
+	b='box8'; \
+	$(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+	--log-file $$b.log --trs-file $$b.trs \
+	$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+	"$$tst" $(AM_TESTS_FD_REDIRECT)
+core1.log: core1$(EXEEXT)
+	@p='core1$(EXEEXT)'; \
+	b='core1'; \
+	$(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+	--log-file $$b.log --trs-file $$b.trs \
+	$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+	"$$tst" $(AM_TESTS_FD_REDIRECT)
+core2.log: core2$(EXEEXT)
+	@p='core2$(EXEEXT)'; \
+	b='core2'; \
+	$(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+	--log-file $$b.log --trs-file $$b.trs \
+	$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+	"$$tst" $(AM_TESTS_FD_REDIRECT)
+core3.log: core3$(EXEEXT)
+	@p='core3$(EXEEXT)'; \
+	b='core3'; \
+	$(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+	--log-file $$b.log --trs-file $$b.trs \
+	$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+	"$$tst" $(AM_TESTS_FD_REDIRECT)
+core4.log: core4$(EXEEXT)
+	@p='core4$(EXEEXT)'; \
+	b='core4'; \
+	$(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+	--log-file $$b.log --trs-file $$b.trs \
+	$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+	"$$tst" $(AM_TESTS_FD_REDIRECT)
+core5.log: core5$(EXEEXT)
+	@p='core5$(EXEEXT)'; \
+	b='core5'; \
+	$(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+	--log-file $$b.log --trs-file $$b.trs \
+	$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+	"$$tst" $(AM_TESTS_FD_REDIRECT)
+core6.log: core6$(EXEEXT)
+	@p='core6$(EXEEXT)'; \
+	b='core6'; \
+	$(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+	--log-file $$b.log --trs-file $$b.trs \
+	$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+	"$$tst" $(AM_TESTS_FD_REDIRECT)
+generichash.log: generichash$(EXEEXT)
+	@p='generichash$(EXEEXT)'; \
+	b='generichash'; \
+	$(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+	--log-file $$b.log --trs-file $$b.trs \
+	$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+	"$$tst" $(AM_TESTS_FD_REDIRECT)
+generichash2.log: generichash2$(EXEEXT)
+	@p='generichash2$(EXEEXT)'; \
+	b='generichash2'; \
+	$(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+	--log-file $$b.log --trs-file $$b.trs \
+	$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+	"$$tst" $(AM_TESTS_FD_REDIRECT)
+hash.log: hash$(EXEEXT)
+	@p='hash$(EXEEXT)'; \
+	b='hash'; \
+	$(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+	--log-file $$b.log --trs-file $$b.trs \
+	$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+	"$$tst" $(AM_TESTS_FD_REDIRECT)
+hash3.log: hash3$(EXEEXT)
+	@p='hash3$(EXEEXT)'; \
+	b='hash3'; \
+	$(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+	--log-file $$b.log --trs-file $$b.trs \
+	$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+	"$$tst" $(AM_TESTS_FD_REDIRECT)
+onetimeauth.log: onetimeauth$(EXEEXT)
+	@p='onetimeauth$(EXEEXT)'; \
+	b='onetimeauth'; \
+	$(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+	--log-file $$b.log --trs-file $$b.trs \
+	$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+	"$$tst" $(AM_TESTS_FD_REDIRECT)
+onetimeauth2.log: onetimeauth2$(EXEEXT)
+	@p='onetimeauth2$(EXEEXT)'; \
+	b='onetimeauth2'; \
+	$(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+	--log-file $$b.log --trs-file $$b.trs \
+	$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+	"$$tst" $(AM_TESTS_FD_REDIRECT)
+onetimeauth7.log: onetimeauth7$(EXEEXT)
+	@p='onetimeauth7$(EXEEXT)'; \
+	b='onetimeauth7'; \
+	$(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+	--log-file $$b.log --trs-file $$b.trs \
+	$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+	"$$tst" $(AM_TESTS_FD_REDIRECT)
+randombytes.log: randombytes$(EXEEXT)
+	@p='randombytes$(EXEEXT)'; \
+	b='randombytes'; \
+	$(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+	--log-file $$b.log --trs-file $$b.trs \
+	$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+	"$$tst" $(AM_TESTS_FD_REDIRECT)
+scalarmult.log: scalarmult$(EXEEXT)
+	@p='scalarmult$(EXEEXT)'; \
+	b='scalarmult'; \
+	$(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+	--log-file $$b.log --trs-file $$b.trs \
+	$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+	"$$tst" $(AM_TESTS_FD_REDIRECT)
+scalarmult2.log: scalarmult2$(EXEEXT)
+	@p='scalarmult2$(EXEEXT)'; \
+	b='scalarmult2'; \
+	$(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+	--log-file $$b.log --trs-file $$b.trs \
+	$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+	"$$tst" $(AM_TESTS_FD_REDIRECT)
+scalarmult5.log: scalarmult5$(EXEEXT)
+	@p='scalarmult5$(EXEEXT)'; \
+	b='scalarmult5'; \
+	$(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+	--log-file $$b.log --trs-file $$b.trs \
+	$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+	"$$tst" $(AM_TESTS_FD_REDIRECT)
+scalarmult6.log: scalarmult6$(EXEEXT)
+	@p='scalarmult6$(EXEEXT)'; \
+	b='scalarmult6'; \
+	$(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+	--log-file $$b.log --trs-file $$b.trs \
+	$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+	"$$tst" $(AM_TESTS_FD_REDIRECT)
+secretbox.log: secretbox$(EXEEXT)
+	@p='secretbox$(EXEEXT)'; \
+	b='secretbox'; \
+	$(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+	--log-file $$b.log --trs-file $$b.trs \
+	$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+	"$$tst" $(AM_TESTS_FD_REDIRECT)
+secretbox2.log: secretbox2$(EXEEXT)
+	@p='secretbox2$(EXEEXT)'; \
+	b='secretbox2'; \
+	$(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+	--log-file $$b.log --trs-file $$b.trs \
+	$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+	"$$tst" $(AM_TESTS_FD_REDIRECT)
+secretbox7.log: secretbox7$(EXEEXT)
+	@p='secretbox7$(EXEEXT)'; \
+	b='secretbox7'; \
+	$(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+	--log-file $$b.log --trs-file $$b.trs \
+	$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+	"$$tst" $(AM_TESTS_FD_REDIRECT)
+secretbox8.log: secretbox8$(EXEEXT)
+	@p='secretbox8$(EXEEXT)'; \
+	b='secretbox8'; \
+	$(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+	--log-file $$b.log --trs-file $$b.trs \
+	$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+	"$$tst" $(AM_TESTS_FD_REDIRECT)
+shorthash.log: shorthash$(EXEEXT)
+	@p='shorthash$(EXEEXT)'; \
+	b='shorthash'; \
+	$(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+	--log-file $$b.log --trs-file $$b.trs \
+	$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+	"$$tst" $(AM_TESTS_FD_REDIRECT)
+sodium_core.log: sodium_core$(EXEEXT)
+	@p='sodium_core$(EXEEXT)'; \
+	b='sodium_core'; \
+	$(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+	--log-file $$b.log --trs-file $$b.trs \
+	$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+	"$$tst" $(AM_TESTS_FD_REDIRECT)
+sodium_utils.log: sodium_utils$(EXEEXT)
+	@p='sodium_utils$(EXEEXT)'; \
+	b='sodium_utils'; \
+	$(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+	--log-file $$b.log --trs-file $$b.trs \
+	$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+	"$$tst" $(AM_TESTS_FD_REDIRECT)
+sodium_version.log: sodium_version$(EXEEXT)
+	@p='sodium_version$(EXEEXT)'; \
+	b='sodium_version'; \
+	$(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+	--log-file $$b.log --trs-file $$b.trs \
+	$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+	"$$tst" $(AM_TESTS_FD_REDIRECT)
+stream.log: stream$(EXEEXT)
+	@p='stream$(EXEEXT)'; \
+	b='stream'; \
+	$(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+	--log-file $$b.log --trs-file $$b.trs \
+	$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+	"$$tst" $(AM_TESTS_FD_REDIRECT)
+stream2.log: stream2$(EXEEXT)
+	@p='stream2$(EXEEXT)'; \
+	b='stream2'; \
+	$(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+	--log-file $$b.log --trs-file $$b.trs \
+	$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+	"$$tst" $(AM_TESTS_FD_REDIRECT)
+stream3.log: stream3$(EXEEXT)
+	@p='stream3$(EXEEXT)'; \
+	b='stream3'; \
+	$(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+	--log-file $$b.log --trs-file $$b.trs \
+	$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+	"$$tst" $(AM_TESTS_FD_REDIRECT)
+stream4.log: stream4$(EXEEXT)
+	@p='stream4$(EXEEXT)'; \
+	b='stream4'; \
+	$(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+	--log-file $$b.log --trs-file $$b.trs \
+	$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+	"$$tst" $(AM_TESTS_FD_REDIRECT)
+stream5.log: stream5$(EXEEXT)
+	@p='stream5$(EXEEXT)'; \
+	b='stream5'; \
+	$(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+	--log-file $$b.log --trs-file $$b.trs \
+	$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+	"$$tst" $(AM_TESTS_FD_REDIRECT)
+stream6.log: stream6$(EXEEXT)
+	@p='stream6$(EXEEXT)'; \
+	b='stream6'; \
+	$(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+	--log-file $$b.log --trs-file $$b.trs \
+	$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+	"$$tst" $(AM_TESTS_FD_REDIRECT)
+.test.log:
+	@p='$<'; \
+	$(am__set_b); \
+	$(am__check_pre) $(TEST_LOG_DRIVER) --test-name "$$f" \
+	--log-file $$b.log --trs-file $$b.trs \
+	$(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \
+	"$$tst" $(AM_TESTS_FD_REDIRECT)
+@am__EXEEXT_TRUE@.test$(EXEEXT).log:
+@am__EXEEXT_TRUE@	@p='$<'; \
+@am__EXEEXT_TRUE@	$(am__set_b); \
+@am__EXEEXT_TRUE@	$(am__check_pre) $(TEST_LOG_DRIVER) --test-name "$$f" \
+@am__EXEEXT_TRUE@	--log-file $$b.log --trs-file $$b.trs \
+@am__EXEEXT_TRUE@	$(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \
+@am__EXEEXT_TRUE@	"$$tst" $(AM_TESTS_FD_REDIRECT)
+
+distdir: $(DISTFILES)
+	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+	list='$(DISTFILES)'; \
+	  dist_files=`for file in $$list; do echo $$file; done | \
+	  sed -e "s|^$$srcdirstrip/||;t" \
+	      -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+	case $$dist_files in \
+	  */*) $(MKDIR_P) `echo "$$dist_files" | \
+			   sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+			   sort -u` ;; \
+	esac; \
+	for file in $$dist_files; do \
+	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	  if test -d $$d/$$file; then \
+	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+	    if test -d "$(distdir)/$$file"; then \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
+	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
+	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
+	  else \
+	    test -f "$(distdir)/$$file" \
+	    || cp -p $$d/$$file "$(distdir)/$$file" \
+	    || exit 1; \
+	  fi; \
+	done
+check-am: all-am
+	$(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS)
+	$(MAKE) $(AM_MAKEFLAGS) check-TESTS
+check: check-am
+all-am: Makefile
+installdirs:
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
+mostlyclean-generic:
+	-test -z "$(TEST_LOGS)" || rm -f $(TEST_LOGS)
+	-test -z "$(TEST_LOGS:.log=.trs)" || rm -f $(TEST_LOGS:.log=.trs)
+	-test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG)
+
+clean-generic:
+
+distclean-generic:
+	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+	-test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES)
+
+maintainer-clean-generic:
+	@echo "This command is intended for maintainers to use"
+	@echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-checkPROGRAMS clean-generic clean-libtool \
+	mostlyclean-am
+
+distclean: distclean-am
+	-rm -rf ./$(DEPDIR)
+	-rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+	distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+	-rm -rf ./$(DEPDIR)
+	-rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+	mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am:
+
+.MAKE: check-am install-am install-strip
+
+.PHONY: CTAGS GTAGS TAGS all all-am check check-TESTS check-am clean \
+	clean-checkPROGRAMS clean-generic clean-libtool cscopelist-am \
+	ctags ctags-am distclean distclean-compile distclean-generic \
+	distclean-libtool distclean-tags distdir dvi dvi-am html \
+	html-am info info-am install install-am install-data \
+	install-data-am install-dvi install-dvi-am install-exec \
+	install-exec-am install-html install-html-am install-info \
+	install-info-am install-man install-pdf install-pdf-am \
+	install-ps install-ps-am install-strip installcheck \
+	installcheck-am installdirs maintainer-clean \
+	maintainer-clean-generic mostlyclean mostlyclean-compile \
+	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+	recheck tags tags-am uninstall uninstall-am
+
+
+verify: check
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/src/libsodium/test/default/auth.c b/src/libsodium/test/default/auth.c
new file mode 100644
index 00000000..88c8207f
--- /dev/null
+++ b/src/libsodium/test/default/auth.c
@@ -0,0 +1,21 @@
+#include <stdio.h>
+
+#define TEST_NAME "auth"
+#include "cmptest.h"
+
+/* "Test Case 2" from RFC 4231 */
+unsigned char key[32] = "Jefe";
+unsigned char c[] = "what do ya want for nothing?";
+
+unsigned char a[32];
+
+int main(void)
+{
+  int i;
+  crypto_auth_hmacsha512256(a,c,sizeof c - 1U,key);
+  for (i = 0;i < 32;++i) {
+    printf(",0x%02x",(unsigned int) a[i]);
+    if (i % 8 == 7) printf("\n");
+  }
+  return 0;
+}
diff --git a/src/libsodium/test/default/auth.exp b/src/libsodium/test/default/auth.exp
new file mode 100644
index 00000000..35e5909d
--- /dev/null
+++ b/src/libsodium/test/default/auth.exp
@@ -0,0 +1,4 @@
+,0x16,0x4b,0x7a,0x7b,0xfc,0xf8,0x19,0xe2
+,0xe3,0x95,0xfb,0xe7,0x3b,0x56,0xe0,0xa3
+,0x87,0xbd,0x64,0x22,0x2e,0x83,0x1f,0xd6
+,0x10,0x27,0x0c,0xd7,0xea,0x25,0x05,0x54
diff --git a/src/libsodium/test/default/auth2.c b/src/libsodium/test/default/auth2.c
new file mode 100644
index 00000000..b3301cfe
--- /dev/null
+++ b/src/libsodium/test/default/auth2.c
@@ -0,0 +1,36 @@
+/* "Test Case AUTH256-4" from RFC 4868 */
+
+#include <stdio.h>
+
+#define TEST_NAME "auth2"
+#include "cmptest.h"
+
+unsigned char key[32] = {
+ 0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08
+,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10
+,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18
+,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20
+} ;
+
+unsigned char c[50] = {
+ 0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd
+,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd
+,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd
+,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd
+,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd
+,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd
+,0xcd,0xcd
+} ;
+
+unsigned char a[32];
+
+int main(void)
+{
+  int i;
+  crypto_auth_hmacsha256(a,c,sizeof c,key);
+  for (i = 0;i < 32;++i) {
+    printf(",0x%02x",(unsigned int) a[i]);
+    if (i % 8 == 7) printf("\n");
+  }
+  return 0;
+}
diff --git a/src/libsodium/test/default/auth2.exp b/src/libsodium/test/default/auth2.exp
new file mode 100644
index 00000000..955951a2
--- /dev/null
+++ b/src/libsodium/test/default/auth2.exp
@@ -0,0 +1,4 @@
+,0x37,0x2e,0xfc,0xf9,0xb4,0x0b,0x35,0xc2
+,0x11,0x5b,0x13,0x46,0x90,0x3d,0x2e,0xf4
+,0x2f,0xce,0xd4,0x6f,0x08,0x46,0xe7,0x25
+,0x7b,0xb1,0x56,0xd3,0xd7,0xb3,0x0d,0x3f
diff --git a/src/libsodium/test/default/auth3.c b/src/libsodium/test/default/auth3.c
new file mode 100644
index 00000000..08e275ad
--- /dev/null
+++ b/src/libsodium/test/default/auth3.c
@@ -0,0 +1,36 @@
+/* "Test Case AUTH256-4" from RFC 4868 */
+
+#include <stdio.h>
+
+#define TEST_NAME "auth3"
+#include "cmptest.h"
+
+unsigned char key[32] = {
+ 0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08
+,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10
+,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18
+,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20
+} ;
+
+unsigned char c[50] = {
+ 0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd
+,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd
+,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd
+,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd
+,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd
+,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd,0xcd
+,0xcd,0xcd
+} ;
+
+unsigned char a[32] = {
+ 0x37,0x2e,0xfc,0xf9,0xb4,0x0b,0x35,0xc2
+,0x11,0x5b,0x13,0x46,0x90,0x3d,0x2e,0xf4
+,0x2f,0xce,0xd4,0x6f,0x08,0x46,0xe7,0x25
+,0x7b,0xb1,0x56,0xd3,0xd7,0xb3,0x0d,0x3f
+} ;
+
+int main(void)
+{
+  printf("%d\n",crypto_auth_hmacsha256_verify(a,c,sizeof c,key));
+  return 0;
+}
diff --git a/src/libsodium/test/default/auth3.exp b/src/libsodium/test/default/auth3.exp
new file mode 100644
index 00000000..573541ac
--- /dev/null
+++ b/src/libsodium/test/default/auth3.exp
@@ -0,0 +1 @@
+0
diff --git a/src/libsodium/test/default/auth5.c b/src/libsodium/test/default/auth5.c
new file mode 100644
index 00000000..ded9489c
--- /dev/null
+++ b/src/libsodium/test/default/auth5.c
@@ -0,0 +1,37 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include "windows/windows-quirks.h"
+
+#define TEST_NAME "auth5"
+#include "cmptest.h"
+
+unsigned char key[32];
+unsigned char c[10000];
+unsigned char a[32];
+
+int main(void)
+{
+  int clen;
+  for (clen = 0;clen < 10000;++clen) {
+    randombytes(key,sizeof key);
+    randombytes(c,clen);
+    crypto_auth_hmacsha512256(a,c,clen,key);
+    if (crypto_auth_hmacsha512256_verify(a,c,clen,key) != 0) {
+      printf("fail %d\n",clen);
+      return 100;
+    }
+    if (clen > 0) {
+      c[rand() % clen] += 1 + (rand() % 255);
+      if (crypto_auth_hmacsha512256_verify(a,c,clen,key) == 0) {
+        printf("forgery %d\n",clen);
+        return 100;
+      }
+      a[rand() % sizeof a] += 1 + (rand() % 255);
+      if (crypto_auth_hmacsha512256_verify(a,c,clen,key) == 0) {
+        printf("forgery %d\n",clen);
+        return 100;
+      }
+    }
+  }
+  return 0;
+}
diff --git a/src/libsodium/test/default/auth5.exp b/src/libsodium/test/default/auth5.exp
new file mode 100644
index 00000000..e69de29b
diff --git a/src/libsodium/test/default/box.c b/src/libsodium/test/default/box.c
new file mode 100644
index 00000000..d9f26292
--- /dev/null
+++ b/src/libsodium/test/default/box.c
@@ -0,0 +1,65 @@
+#include <stdio.h>
+
+#define TEST_NAME "box"
+#include "cmptest.h"
+
+unsigned char alicesk[32] = {
+ 0x77,0x07,0x6d,0x0a,0x73,0x18,0xa5,0x7d
+,0x3c,0x16,0xc1,0x72,0x51,0xb2,0x66,0x45
+,0xdf,0x4c,0x2f,0x87,0xeb,0xc0,0x99,0x2a
+,0xb1,0x77,0xfb,0xa5,0x1d,0xb9,0x2c,0x2a
+} ;
+
+unsigned char bobpk[32] = {
+ 0xde,0x9e,0xdb,0x7d,0x7b,0x7d,0xc1,0xb4
+,0xd3,0x5b,0x61,0xc2,0xec,0xe4,0x35,0x37
+,0x3f,0x83,0x43,0xc8,0x5b,0x78,0x67,0x4d
+,0xad,0xfc,0x7e,0x14,0x6f,0x88,0x2b,0x4f
+} ;
+
+unsigned char nonce[24] = {
+ 0x69,0x69,0x6e,0xe9,0x55,0xb6,0x2b,0x73
+,0xcd,0x62,0xbd,0xa8,0x75,0xfc,0x73,0xd6
+,0x82,0x19,0xe0,0x03,0x6b,0x7a,0x0b,0x37
+} ;
+
+// API requires first 32 bytes to be 0
+unsigned char m[163] = {
+    0,   0,   0,   0,   0,   0,   0,   0
+,   0,   0,   0,   0,   0,   0,   0,   0
+,   0,   0,   0,   0,   0,   0,   0,   0
+,   0,   0,   0,   0,   0,   0,   0,   0
+,0xbe,0x07,0x5f,0xc5,0x3c,0x81,0xf2,0xd5
+,0xcf,0x14,0x13,0x16,0xeb,0xeb,0x0c,0x7b
+,0x52,0x28,0xc5,0x2a,0x4c,0x62,0xcb,0xd4
+,0x4b,0x66,0x84,0x9b,0x64,0x24,0x4f,0xfc
+,0xe5,0xec,0xba,0xaf,0x33,0xbd,0x75,0x1a
+,0x1a,0xc7,0x28,0xd4,0x5e,0x6c,0x61,0x29
+,0x6c,0xdc,0x3c,0x01,0x23,0x35,0x61,0xf4
+,0x1d,0xb6,0x6c,0xce,0x31,0x4a,0xdb,0x31
+,0x0e,0x3b,0xe8,0x25,0x0c,0x46,0xf0,0x6d
+,0xce,0xea,0x3a,0x7f,0xa1,0x34,0x80,0x57
+,0xe2,0xf6,0x55,0x6a,0xd6,0xb1,0x31,0x8a
+,0x02,0x4a,0x83,0x8f,0x21,0xaf,0x1f,0xde
+,0x04,0x89,0x77,0xeb,0x48,0xf5,0x9f,0xfd
+,0x49,0x24,0xca,0x1c,0x60,0x90,0x2e,0x52
+,0xf0,0xa0,0x89,0xbc,0x76,0x89,0x70,0x40
+,0xe0,0x82,0xf9,0x37,0x76,0x38,0x48,0x64
+,0x5e,0x07,0x05
+} ;
+
+unsigned char c[163];
+
+int main(void)
+{
+  int i;
+  crypto_box_curve25519xsalsa20poly1305(
+    c,m,163,nonce,bobpk,alicesk
+  );
+  for (i = 16;i < 163;++i) {
+    printf(",0x%02x",(unsigned int) c[i]);
+    if (i % 8 == 7) printf("\n");
+  }
+  printf("\n");
+  return 0;
+}
diff --git a/src/libsodium/test/default/box.exp b/src/libsodium/test/default/box.exp
new file mode 100644
index 00000000..2b6c51ea
--- /dev/null
+++ b/src/libsodium/test/default/box.exp
@@ -0,0 +1,19 @@
+,0xf3,0xff,0xc7,0x70,0x3f,0x94,0x00,0xe5
+,0x2a,0x7d,0xfb,0x4b,0x3d,0x33,0x05,0xd9
+,0x8e,0x99,0x3b,0x9f,0x48,0x68,0x12,0x73
+,0xc2,0x96,0x50,0xba,0x32,0xfc,0x76,0xce
+,0x48,0x33,0x2e,0xa7,0x16,0x4d,0x96,0xa4
+,0x47,0x6f,0xb8,0xc5,0x31,0xa1,0x18,0x6a
+,0xc0,0xdf,0xc1,0x7c,0x98,0xdc,0xe8,0x7b
+,0x4d,0xa7,0xf0,0x11,0xec,0x48,0xc9,0x72
+,0x71,0xd2,0xc2,0x0f,0x9b,0x92,0x8f,0xe2
+,0x27,0x0d,0x6f,0xb8,0x63,0xd5,0x17,0x38
+,0xb4,0x8e,0xee,0xe3,0x14,0xa7,0xcc,0x8a
+,0xb9,0x32,0x16,0x45,0x48,0xe5,0x26,0xae
+,0x90,0x22,0x43,0x68,0x51,0x7a,0xcf,0xea
+,0xbd,0x6b,0xb3,0x73,0x2b,0xc0,0xe9,0xda
+,0x99,0x83,0x2b,0x61,0xca,0x01,0xb6,0xde
+,0x56,0x24,0x4a,0x9e,0x88,0xd5,0xf9,0xb3
+,0x79,0x73,0xf6,0x22,0xa4,0x3d,0x14,0xa6
+,0x59,0x9b,0x1f,0x65,0x4c,0xb4,0x5a,0x74
+,0xe3,0x55,0xa5
diff --git a/src/libsodium/test/default/box2.c b/src/libsodium/test/default/box2.c
new file mode 100644
index 00000000..7af2f581
--- /dev/null
+++ b/src/libsodium/test/default/box2.c
@@ -0,0 +1,66 @@
+#include <stdio.h>
+
+#define TEST_NAME "box2"
+#include "cmptest.h"
+
+unsigned char bobsk[32] = {
+ 0x5d,0xab,0x08,0x7e,0x62,0x4a,0x8a,0x4b
+,0x79,0xe1,0x7f,0x8b,0x83,0x80,0x0e,0xe6
+,0x6f,0x3b,0xb1,0x29,0x26,0x18,0xb6,0xfd
+,0x1c,0x2f,0x8b,0x27,0xff,0x88,0xe0,0xeb
+} ;
+
+unsigned char alicepk[32] = {
+ 0x85,0x20,0xf0,0x09,0x89,0x30,0xa7,0x54
+,0x74,0x8b,0x7d,0xdc,0xb4,0x3e,0xf7,0x5a
+,0x0d,0xbf,0x3a,0x0d,0x26,0x38,0x1a,0xf4
+,0xeb,0xa4,0xa9,0x8e,0xaa,0x9b,0x4e,0x6a
+} ;
+
+unsigned char nonce[24] = {
+ 0x69,0x69,0x6e,0xe9,0x55,0xb6,0x2b,0x73
+,0xcd,0x62,0xbd,0xa8,0x75,0xfc,0x73,0xd6
+,0x82,0x19,0xe0,0x03,0x6b,0x7a,0x0b,0x37
+} ;
+
+// API requires first 16 bytes to be 0
+unsigned char c[163] = {
+    0,   0,   0,   0,   0,   0,   0,   0
+,   0,   0,   0,   0,   0,   0,   0,   0
+,0xf3,0xff,0xc7,0x70,0x3f,0x94,0x00,0xe5
+,0x2a,0x7d,0xfb,0x4b,0x3d,0x33,0x05,0xd9
+,0x8e,0x99,0x3b,0x9f,0x48,0x68,0x12,0x73
+,0xc2,0x96,0x50,0xba,0x32,0xfc,0x76,0xce
+,0x48,0x33,0x2e,0xa7,0x16,0x4d,0x96,0xa4
+,0x47,0x6f,0xb8,0xc5,0x31,0xa1,0x18,0x6a
+,0xc0,0xdf,0xc1,0x7c,0x98,0xdc,0xe8,0x7b
+,0x4d,0xa7,0xf0,0x11,0xec,0x48,0xc9,0x72
+,0x71,0xd2,0xc2,0x0f,0x9b,0x92,0x8f,0xe2
+,0x27,0x0d,0x6f,0xb8,0x63,0xd5,0x17,0x38
+,0xb4,0x8e,0xee,0xe3,0x14,0xa7,0xcc,0x8a
+,0xb9,0x32,0x16,0x45,0x48,0xe5,0x26,0xae
+,0x90,0x22,0x43,0x68,0x51,0x7a,0xcf,0xea
+,0xbd,0x6b,0xb3,0x73,0x2b,0xc0,0xe9,0xda
+,0x99,0x83,0x2b,0x61,0xca,0x01,0xb6,0xde
+,0x56,0x24,0x4a,0x9e,0x88,0xd5,0xf9,0xb3
+,0x79,0x73,0xf6,0x22,0xa4,0x3d,0x14,0xa6
+,0x59,0x9b,0x1f,0x65,0x4c,0xb4,0x5a,0x74
+,0xe3,0x55,0xa5
+} ;
+
+unsigned char m[163];
+
+int main(void)
+{
+  int i;
+  if (crypto_box_curve25519xsalsa20poly1305_open(
+       m,c,163,nonce,alicepk,bobsk
+     ) == 0) {
+    for (i = 32;i < 163;++i) {
+      printf(",0x%02x",(unsigned int) m[i]);
+      if (i % 8 == 7) printf("\n");
+    }
+    printf("\n");
+  }
+  return 0;
+}
diff --git a/src/libsodium/test/default/box2.exp b/src/libsodium/test/default/box2.exp
new file mode 100644
index 00000000..c61d4557
--- /dev/null
+++ b/src/libsodium/test/default/box2.exp
@@ -0,0 +1,17 @@
+,0xbe,0x07,0x5f,0xc5,0x3c,0x81,0xf2,0xd5
+,0xcf,0x14,0x13,0x16,0xeb,0xeb,0x0c,0x7b
+,0x52,0x28,0xc5,0x2a,0x4c,0x62,0xcb,0xd4
+,0x4b,0x66,0x84,0x9b,0x64,0x24,0x4f,0xfc
+,0xe5,0xec,0xba,0xaf,0x33,0xbd,0x75,0x1a
+,0x1a,0xc7,0x28,0xd4,0x5e,0x6c,0x61,0x29
+,0x6c,0xdc,0x3c,0x01,0x23,0x35,0x61,0xf4
+,0x1d,0xb6,0x6c,0xce,0x31,0x4a,0xdb,0x31
+,0x0e,0x3b,0xe8,0x25,0x0c,0x46,0xf0,0x6d
+,0xce,0xea,0x3a,0x7f,0xa1,0x34,0x80,0x57
+,0xe2,0xf6,0x55,0x6a,0xd6,0xb1,0x31,0x8a
+,0x02,0x4a,0x83,0x8f,0x21,0xaf,0x1f,0xde
+,0x04,0x89,0x77,0xeb,0x48,0xf5,0x9f,0xfd
+,0x49,0x24,0xca,0x1c,0x60,0x90,0x2e,0x52
+,0xf0,0xa0,0x89,0xbc,0x76,0x89,0x70,0x40
+,0xe0,0x82,0xf9,0x37,0x76,0x38,0x48,0x64
+,0x5e,0x07,0x05
diff --git a/src/libsodium/test/default/box7.c b/src/libsodium/test/default/box7.c
new file mode 100644
index 00000000..ea7b484e
--- /dev/null
+++ b/src/libsodium/test/default/box7.c
@@ -0,0 +1,37 @@
+#include <stdio.h>
+
+#define TEST_NAME "box7"
+#include "cmptest.h"
+
+unsigned char alicesk[crypto_box_SECRETKEYBYTES];
+unsigned char alicepk[crypto_box_PUBLICKEYBYTES];
+unsigned char bobsk[crypto_box_SECRETKEYBYTES];
+unsigned char bobpk[crypto_box_PUBLICKEYBYTES];
+unsigned char n[crypto_box_NONCEBYTES];
+unsigned char m[10000];
+unsigned char c[10000];
+unsigned char m2[10000];
+
+int main(void)
+{
+  size_t mlen;
+  size_t i;
+
+  for (mlen = 0;mlen < 1000 && mlen + crypto_box_ZEROBYTES < sizeof m;++mlen) {
+    crypto_box_keypair(alicepk,alicesk);
+    crypto_box_keypair(bobpk,bobsk);
+    randombytes(n,crypto_box_NONCEBYTES);
+    randombytes(m + crypto_box_ZEROBYTES,mlen);
+    crypto_box(c,m,mlen + crypto_box_ZEROBYTES,n,bobpk,alicesk);
+    if (crypto_box_open(m2,c,mlen + crypto_box_ZEROBYTES,n,alicepk,bobsk) == 0) {
+      for (i = 0;i < mlen + crypto_box_ZEROBYTES;++i)
+        if (m2[i] != m[i]) {
+          printf("bad decryption\n");
+          break;
+        }
+    } else {
+      printf("ciphertext fails verification\n");
+    }
+  }
+  return 0;
+}
diff --git a/src/libsodium/test/default/box7.exp b/src/libsodium/test/default/box7.exp
new file mode 100644
index 00000000..e69de29b
diff --git a/src/libsodium/test/default/box8.c b/src/libsodium/test/default/box8.c
new file mode 100644
index 00000000..cc85057a
--- /dev/null
+++ b/src/libsodium/test/default/box8.c
@@ -0,0 +1,44 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include "windows/windows-quirks.h"
+
+#define TEST_NAME "box8"
+#include "cmptest.h"
+
+unsigned char alicesk[crypto_box_SECRETKEYBYTES];
+unsigned char alicepk[crypto_box_PUBLICKEYBYTES];
+unsigned char bobsk[crypto_box_SECRETKEYBYTES];
+unsigned char bobpk[crypto_box_PUBLICKEYBYTES];
+unsigned char n[crypto_box_NONCEBYTES];
+unsigned char m[10000];
+unsigned char c[10000];
+unsigned char m2[10000];
+
+int main(void)
+{
+  size_t mlen;
+  size_t i;
+  int caught;
+
+  for (mlen = 0;mlen < 1000 && mlen + crypto_box_ZEROBYTES < sizeof m;++mlen) {
+    crypto_box_keypair(alicepk,alicesk);
+    crypto_box_keypair(bobpk,bobsk);
+    randombytes(n,crypto_box_NONCEBYTES);
+    randombytes(m + crypto_box_ZEROBYTES,mlen);
+    crypto_box(c,m,mlen + crypto_box_ZEROBYTES,n,bobpk,alicesk);
+    caught = 0;
+    while (caught < 10) {
+      c[rand() % (mlen + crypto_box_ZEROBYTES)] = rand();
+      if (crypto_box_open(m2,c,mlen + crypto_box_ZEROBYTES,n,alicepk,bobsk) == 0) {
+        for (i = 0;i < mlen + crypto_box_ZEROBYTES;++i)
+          if (m2[i] != m[i]) {
+            printf("forgery\n");
+            return 100;
+          }
+      } else {
+        ++caught;
+      }
+    }
+  }
+  return 0;
+}
diff --git a/src/libsodium/test/default/box8.exp b/src/libsodium/test/default/box8.exp
new file mode 100644
index 00000000..e69de29b
diff --git a/src/libsodium/test/default/cmptest.h b/src/libsodium/test/default/cmptest.h
new file mode 100644
index 00000000..dd383616
--- /dev/null
+++ b/src/libsodium/test/default/cmptest.h
@@ -0,0 +1,46 @@
+
+#ifndef __CMPTEST_H__
+#define __CMPTEST_H__
+
+#include <stdio.h>
+
+#include "sodium.h"
+
+#define TEST_NAME_RES TEST_NAME ".res"
+#define TEST_NAME_OUT TEST_SRCDIR "/" TEST_NAME ".exp"
+
+FILE *fp_res;
+int   xmain(void);
+
+int main(void)
+{
+    FILE *fp_out;
+    int   c;
+
+    if ((fp_res = fopen(TEST_NAME_RES, "w+")) == NULL) {
+        perror("fopen(" TEST_NAME_RES ")");
+        return 99;
+    }
+    if (sodium_init() != 0) {
+        return 99;
+    }
+    xmain();
+    rewind(fp_res);
+    if ((fp_out = fopen(TEST_NAME_OUT, "r")) == NULL) {
+        perror("fopen(" TEST_NAME_OUT ")");
+        return 99;
+    }
+    do {
+        if ((c = fgetc(fp_res)) != fgetc(fp_out)) {
+            return 99;
+        }
+    } while (c != EOF);
+
+    return 0;
+}
+
+#undef  printf
+#define printf(...) fprintf(fp_res, __VA_ARGS__)
+#define main xmain
+
+#endif
diff --git a/src/libsodium/test/default/core1.c b/src/libsodium/test/default/core1.c
new file mode 100644
index 00000000..4c9453fa
--- /dev/null
+++ b/src/libsodium/test/default/core1.c
@@ -0,0 +1,32 @@
+#include <stdio.h>
+
+#define TEST_NAME "core1"
+#include "cmptest.h"
+
+unsigned char shared[32] = {
+ 0x4a,0x5d,0x9d,0x5b,0xa4,0xce,0x2d,0xe1
+,0x72,0x8e,0x3b,0xf4,0x80,0x35,0x0f,0x25
+,0xe0,0x7e,0x21,0xc9,0x47,0xd1,0x9e,0x33
+,0x76,0xf0,0x9b,0x3c,0x1e,0x16,0x17,0x42
+} ;
+
+unsigned char zero[32] = { 0 };
+
+unsigned char c[16] = {
+ 0x65,0x78,0x70,0x61,0x6e,0x64,0x20,0x33
+,0x32,0x2d,0x62,0x79,0x74,0x65,0x20,0x6b
+} ;
+
+unsigned char firstkey[32];
+
+int main(void)
+{
+  int i;
+  crypto_core_hsalsa20(firstkey,zero,shared,c);
+  for (i = 0;i < 32;++i) {
+    if (i > 0) printf(","); else printf(" ");
+    printf("0x%02x",(unsigned int) firstkey[i]);
+    if (i % 8 == 7) printf("\n");
+  }
+  return 0;
+}
diff --git a/src/libsodium/test/default/core1.exp b/src/libsodium/test/default/core1.exp
new file mode 100644
index 00000000..715a489d
--- /dev/null
+++ b/src/libsodium/test/default/core1.exp
@@ -0,0 +1,4 @@
+ 0x1b,0x27,0x55,0x64,0x73,0xe9,0x85,0xd4
+,0x62,0xcd,0x51,0x19,0x7a,0x9a,0x46,0xc7
+,0x60,0x09,0x54,0x9e,0xac,0x64,0x74,0xf2
+,0x06,0xc4,0xee,0x08,0x44,0xf6,0x83,0x89
diff --git a/src/libsodium/test/default/core2.c b/src/libsodium/test/default/core2.c
new file mode 100644
index 00000000..b07df8df
--- /dev/null
+++ b/src/libsodium/test/default/core2.c
@@ -0,0 +1,35 @@
+#include <stdio.h>
+
+#define TEST_NAME "core2"
+#include "cmptest.h"
+
+unsigned char firstkey[32] = {
+ 0x1b,0x27,0x55,0x64,0x73,0xe9,0x85,0xd4
+,0x62,0xcd,0x51,0x19,0x7a,0x9a,0x46,0xc7
+,0x60,0x09,0x54,0x9e,0xac,0x64,0x74,0xf2
+,0x06,0xc4,0xee,0x08,0x44,0xf6,0x83,0x89
+} ;
+
+unsigned char nonceprefix[16] = {
+ 0x69,0x69,0x6e,0xe9,0x55,0xb6,0x2b,0x73
+,0xcd,0x62,0xbd,0xa8,0x75,0xfc,0x73,0xd6
+} ;
+
+unsigned char c[16] = {
+ 0x65,0x78,0x70,0x61,0x6e,0x64,0x20,0x33
+,0x32,0x2d,0x62,0x79,0x74,0x65,0x20,0x6b
+} ;
+
+unsigned char secondkey[32];
+
+int main(void)
+{
+  int i;
+  crypto_core_hsalsa20(secondkey,nonceprefix,firstkey,c);
+  for (i = 0;i < 32;++i) {
+    if (i > 0) printf(","); else printf(" ");
+    printf("0x%02x",(unsigned int) secondkey[i]);
+    if (i % 8 == 7) printf("\n");
+  }
+  return 0;
+}
diff --git a/src/libsodium/test/default/core2.exp b/src/libsodium/test/default/core2.exp
new file mode 100644
index 00000000..f4682af0
--- /dev/null
+++ b/src/libsodium/test/default/core2.exp
@@ -0,0 +1,4 @@
+ 0xdc,0x90,0x8d,0xda,0x0b,0x93,0x44,0xa9
+,0x53,0x62,0x9b,0x73,0x38,0x20,0x77,0x88
+,0x80,0xf3,0xce,0xb4,0x21,0xbb,0x61,0xb9
+,0x1c,0xbd,0x4c,0x3e,0x66,0x25,0x6c,0xe4
diff --git a/src/libsodium/test/default/core3.c b/src/libsodium/test/default/core3.c
new file mode 100644
index 00000000..5d24fdda
--- /dev/null
+++ b/src/libsodium/test/default/core3.c
@@ -0,0 +1,42 @@
+#include <stdio.h>
+
+#define TEST_NAME "core3"
+#include "cmptest.h"
+
+unsigned char secondkey[32] = {
+ 0xdc,0x90,0x8d,0xda,0x0b,0x93,0x44,0xa9
+,0x53,0x62,0x9b,0x73,0x38,0x20,0x77,0x88
+,0x80,0xf3,0xce,0xb4,0x21,0xbb,0x61,0xb9
+,0x1c,0xbd,0x4c,0x3e,0x66,0x25,0x6c,0xe4
+} ;
+
+unsigned char noncesuffix[8] = {
+ 0x82,0x19,0xe0,0x03,0x6b,0x7a,0x0b,0x37
+} ;
+
+unsigned char c[16] = {
+ 0x65,0x78,0x70,0x61,0x6e,0x64,0x20,0x33
+,0x32,0x2d,0x62,0x79,0x74,0x65,0x20,0x6b
+} ;
+
+unsigned char in[16] = { 0 } ;
+
+unsigned char output[64 * 256 * 256];
+
+unsigned char h[32];
+
+int main(void)
+{
+  int i;
+  long long pos = 0;
+  for (i = 0;i < 8;++i) in[i] = noncesuffix[i];
+  do {
+    do {
+      crypto_core_salsa20(output + pos,in,secondkey,c);
+      pos += 64;
+    } while (++in[8]);
+  } while (++in[9]);
+  crypto_hash_sha256(h,output,sizeof output);
+  for (i = 0;i < 32;++i) printf("%02x",h[i]); printf("\n");
+  return 0;
+}
diff --git a/src/libsodium/test/default/core3.exp b/src/libsodium/test/default/core3.exp
new file mode 100644
index 00000000..5fa208c1
--- /dev/null
+++ b/src/libsodium/test/default/core3.exp
@@ -0,0 +1 @@
+662b9d0e3463029156069b12f918691a98f7dfb2ca0393c96bbfc6b1fbd630a2
diff --git a/src/libsodium/test/default/core4.c b/src/libsodium/test/default/core4.c
new file mode 100644
index 00000000..d818723a
--- /dev/null
+++ b/src/libsodium/test/default/core4.c
@@ -0,0 +1,35 @@
+#include <stdio.h>
+
+#define TEST_NAME "core4"
+#include "cmptest.h"
+
+unsigned char k[32] = {
+   1,  2,  3,  4,  5,  6,  7,  8
+,  9, 10, 11, 12, 13, 14, 15, 16
+,201,202,203,204,205,206,207,208
+,209,210,211,212,213,214,215,216
+} ;
+
+unsigned char in[16] = {
+ 101,102,103,104,105,106,107,108
+,109,110,111,112,113,114,115,116
+} ;
+
+unsigned char c[16] = {
+ 101,120,112, 97,110,100, 32, 51
+, 50, 45, 98,121,116,101, 32,107
+} ;
+
+unsigned char out[64];
+
+int main(void)
+{
+  int i;
+  crypto_core_salsa20(out,in,k,c);
+  for (i = 0;i < 64;++i) {
+    if (i > 0) printf(","); else printf(" ");
+    printf("%3d",(unsigned int) out[i]);
+    if (i % 8 == 7) printf("\n");
+  }
+  return 0;
+}
diff --git a/src/libsodium/test/default/core4.exp b/src/libsodium/test/default/core4.exp
new file mode 100644
index 00000000..d04e5b5e
--- /dev/null
+++ b/src/libsodium/test/default/core4.exp
@@ -0,0 +1,8 @@
+  69, 37, 68, 39, 41, 15,107,193
+,255,139,122,  6,170,233,217, 98
+, 89,144,182,106, 21, 51,200, 65
+,239, 49,222, 34,215,114, 40,126
+,104,197,  7,225,197,153, 31,  2
+,102, 78, 76,176, 84,245,246,184
+,177,160,133,130,  6, 72,149,119
+,192,195,132,236,234,103,246, 74
diff --git a/src/libsodium/test/default/core5.c b/src/libsodium/test/default/core5.c
new file mode 100644
index 00000000..467b27a4
--- /dev/null
+++ b/src/libsodium/test/default/core5.c
@@ -0,0 +1,34 @@
+#include <stdio.h>
+
+#define TEST_NAME "core5"
+#include "cmptest.h"
+
+unsigned char k[32] = {
+ 0xee,0x30,0x4f,0xca,0x27,0x00,0x8d,0x8c
+,0x12,0x6f,0x90,0x02,0x79,0x01,0xd8,0x0f
+,0x7f,0x1d,0x8b,0x8d,0xc9,0x36,0xcf,0x3b
+,0x9f,0x81,0x96,0x92,0x82,0x7e,0x57,0x77
+} ;
+
+unsigned char in[16] = {
+ 0x81,0x91,0x8e,0xf2,0xa5,0xe0,0xda,0x9b
+,0x3e,0x90,0x60,0x52,0x1e,0x4b,0xb3,0x52
+} ;
+
+unsigned char c[16] = {
+ 101,120,112, 97,110,100, 32, 51
+, 50, 45, 98,121,116,101, 32,107
+} ;
+
+unsigned char out[32];
+
+int main(void)
+{
+  int i;
+  crypto_core_hsalsa20(out,in,k,c);
+  for (i = 0;i < 32;++i) {
+    printf(",0x%02x",(unsigned int) out[i]);
+    if (i % 8 == 7) printf("\n");
+  }
+  return 0;
+}
diff --git a/src/libsodium/test/default/core5.exp b/src/libsodium/test/default/core5.exp
new file mode 100644
index 00000000..562cf717
--- /dev/null
+++ b/src/libsodium/test/default/core5.exp
@@ -0,0 +1,4 @@
+,0xbc,0x1b,0x30,0xfc,0x07,0x2c,0xc1,0x40
+,0x75,0xe4,0xba,0xa7,0x31,0xb5,0xa8,0x45
+,0xea,0x9b,0x11,0xe9,0xa5,0x19,0x1f,0x94
+,0xe1,0x8c,0xba,0x8f,0xd8,0x21,0xa7,0xcd
diff --git a/src/libsodium/test/default/core6.c b/src/libsodium/test/default/core6.c
new file mode 100644
index 00000000..8a986968
--- /dev/null
+++ b/src/libsodium/test/default/core6.c
@@ -0,0 +1,49 @@
+#include <stdio.h>
+
+#define TEST_NAME "core6"
+#include "cmptest.h"
+
+unsigned char k[32] = {
+ 0xee,0x30,0x4f,0xca,0x27,0x00,0x8d,0x8c
+,0x12,0x6f,0x90,0x02,0x79,0x01,0xd8,0x0f
+,0x7f,0x1d,0x8b,0x8d,0xc9,0x36,0xcf,0x3b
+,0x9f,0x81,0x96,0x92,0x82,0x7e,0x57,0x77
+} ;
+
+unsigned char in[16] = {
+ 0x81,0x91,0x8e,0xf2,0xa5,0xe0,0xda,0x9b
+,0x3e,0x90,0x60,0x52,0x1e,0x4b,0xb3,0x52
+} ;
+
+unsigned char c[16] = {
+ 101,120,112, 97,110,100, 32, 51
+, 50, 45, 98,121,116,101, 32,107
+} ;
+
+unsigned char out[64];
+
+void print(unsigned char *x,unsigned char *y)
+{
+  int i;
+  unsigned int borrow = 0;
+  for (i = 0;i < 4;++i) {
+    unsigned int xi = x[i];
+    unsigned int yi = y[i];
+    printf(",0x%02x",255 & (xi - yi - borrow));
+    borrow = (xi < yi + borrow);
+  }
+}
+
+int main(void)
+{
+  crypto_core_salsa20(out,in,k,c);
+  print(out,c);
+  print(out + 20,c + 4); printf("\n");
+  print(out + 40,c + 8);
+  print(out + 60,c + 12); printf("\n");
+  print(out + 24,in);
+  print(out + 28,in + 4); printf("\n");
+  print(out + 32,in + 8);
+  print(out + 36,in + 12); printf("\n");
+  return 0;
+}
diff --git a/src/libsodium/test/default/core6.exp b/src/libsodium/test/default/core6.exp
new file mode 100644
index 00000000..562cf717
--- /dev/null
+++ b/src/libsodium/test/default/core6.exp
@@ -0,0 +1,4 @@
+,0xbc,0x1b,0x30,0xfc,0x07,0x2c,0xc1,0x40
+,0x75,0xe4,0xba,0xa7,0x31,0xb5,0xa8,0x45
+,0xea,0x9b,0x11,0xe9,0xa5,0x19,0x1f,0x94
+,0xe1,0x8c,0xba,0x8f,0xd8,0x21,0xa7,0xcd
diff --git a/src/libsodium/test/default/generichash.c b/src/libsodium/test/default/generichash.c
new file mode 100644
index 00000000..42a4a394
--- /dev/null
+++ b/src/libsodium/test/default/generichash.c
@@ -0,0 +1,27 @@
+#include <stdio.h>
+
+#include "crypto_uint8.h"
+
+#define TEST_NAME "generichash"
+#include "cmptest.h"
+
+int main(void)
+{
+#define MAXLEN 64
+    crypto_uint8 in[MAXLEN], out[crypto_generichash_BYTES_MAX], k[crypto_generichash_KEYBYTES_MAX];
+    size_t h,i,j;
+
+    for(h = 0; h < crypto_generichash_KEYBYTES_MAX; ++h) k[h] = h;
+
+    for(i = 0; i < MAXLEN; ++i) {
+        in[i]=i;
+        crypto_generichash(out, 1 + i % crypto_generichash_BYTES_MAX,
+                           in, i,
+                           k, 1 + i % crypto_generichash_KEYBYTES_MAX);
+        for (j = 0;j < 1 + i % crypto_generichash_BYTES_MAX;++j) {
+            printf("%02x",(unsigned int) out[j]);
+        }
+        printf("\n");
+    }
+    return 0;
+}
diff --git a/src/libsodium/test/default/generichash.exp b/src/libsodium/test/default/generichash.exp
new file mode 100644
index 00000000..1840ff24
--- /dev/null
+++ b/src/libsodium/test/default/generichash.exp
@@ -0,0 +1,64 @@
+05
+5d8c
+22221b
+d4974470
+be8492fb36
+edc178279907
+26848f2ae0c2e6
+045cf1235112b9f6
+5110bad569356dfa6c
+1339d95145bc8a33d3aa
+3dbb39b4d57c5566808a88
+22378260939cee01022686a2
+e18b37abcead6cc520e6504dac
+3cbb356604cf862e62ad2f534323
+44c41ba227b191961b475ec5875057
+0c7c9c3922d41a7b2b3b20f92685d560
+8508c01d19709bdd881866aa1f8c63ca06
+f6b2dddfbece6d7d52e114c7e5a97772e18d
+d36b5af9591d0cd3747254e26bc6e1de5b6081
+f7f7ce69149418d7ec33327bd86e14bcca4b8ed7
+2c9aba9a56de21165753c4f3cee9310a9c8fe546b9
+ee5e08cee5fbbcb51900341bb30db6695920faecda6a
+fe9ffb56dc5716b91bc7d77ce7b05e7cc39c31683bec91
+c500ae0f5bff0f1106ce104ae9c291add7207e0d8ebcb1ed
+68e23d12000b387158afd6458d3bcef9c26936ca68b5c0f3d6
+220efa2c09f67dbb02aa623bbc0cb92107a30f53b633e78d4b44
+54df984b47e4bcd489d9c045c488743fac91c9b3e0cbcc37495fac
+b4852cf66c6ce164c002bbb62ded0faeb4a39c39fdffb372ff14dd31
+d79cafb5565e7775616e1c9b09100d61fb71efaf25affcf2d480d2c980
+ae557883145e374adef583ba0550429d5cdd86b254c33bf52d02e070efda
+9f53d28c0df7b327c2eb4c8a12c742829225b7f30fda7baf64135098fdb01b
+a9f51bb7f6a3e9cdb96ce652c07d177962a348a9cced1b92f948187e59b44463
+f2960cf5fd57fc92f549cd5a2803147964f60e7703e1b8897c088cded74c7bd39f
+89981acbb690eb03ed2a67510d1d85a1b4f9d496fdfe134550ae14146bb05fd5fedd
+6d8245383fd7c418b46511339e711b9d4a0d1f5fdf6de45fdd3d0664164b7bf878a124
+1f0b6b083d524e0741710ddef499ce88f51083bb3ad80a1815cc57acf006436e9b6ad72b
+fc35bfe34c915020bb8b44fa0a19933774eaaf61919780fd55564e085bc31646dfc1d426e9
+117d58f1f8cb2c036102686035975be90550795e5a0e3469a8f7a2cba9bc88961852b18c8ae3
+c679c950818729c799bb7f39cef2d89fa80a147817f379a073ef1ccafea5d369815c70373bf5be
+d487ad2143024ee8c645a066c035b74abe3a11f1c9fcd738b154b8ca37134d74fb78c40d1a2274cf
+2d3ee00828b0ccea6812b40f214fab6d4f23f7e74ae228115bcb208ced2d5e1cb9cdff41de912af7a8
+a697b26d4c4475e312288b98ae2ec4954d3c74c8e144c0ab518616ff9f52918a946fd765af75e761178c
+f647bcba2a711f431d6d453aa7d75dcf5bb9ab6f8b83f89117230f633e7580f27c71c4f4c211cadd04f587
+1fc1d6a4db753e2f4fd1456b2b709dd70ad58547eeda9d5a55762b5cd4097a7a1bd73cc633ec27168ee65631
+1cfe0f63ab155379b4a1b5bf694a33635097b8e4b6dbd3b983d62454d36d7bf4550bece301abdd27b2dd76ca9f
+73dee8a0a558e7b6f6eefe411280e253b05ef006d499849fea5d6a95f9141ee160322fff3a3f70e10c84025e02ce
+edf9e706f4acae4f4bed72404f14458ba075d2b9d9a4a1ed46d1f1c5e23113a74cce9f7735432a922a3d8097f22c7a
+95d5cd54c6722ac4335fa0ab38d388c9fd0baea48a9078605e400534ef38f13abb1d770da84b90b0256e1c1b64f54ba9
+fe6b85ee8b5eb7da035264ed46e6dcd948571018d1f6976de4102fcb4bb5f1422e7df1b5aaa5b6b56c5961966db29ead6e
+499ab83c01e4bf74ea5036392f9f810eae8a066fff49e316e4288baccb2001efa24f64cef7bfae70c90f139b198e53ad87f1
+eac6c9d97264241a8adba22ee925438ed9787a547018608a10676a7594bc51c60294bd9159fbcada9022b44880a37c5b07c1b4
+0771e3ae24bbfe424800d4bae776fef3da1607990019e7c4b30bc8140061ebf0b64aad7b018a878d579caa67154b98a04402735e
+d569e5f5fe197387451441911a2be2effa606dad39820af44cea056bd9d1499dde41fa1c6c3a0459d5866c944bec2ac83328953726
+68e523ded865c4d8318d61c312189a59597bbc3995e312e85137611af761a5f73508ac79e359edf729d4508830fc642b432f09185914
+601af664ae596166707244adbb4f704593b355c6a659c844d853c6647fb265cdbcea26ed43657251dec37f2d6453fa0ace55f22d303cb0
+703d8e552236b2090143444545f0a61a809d8ef9843bcf6883f61671fb31c8d6ac9fd373e7f9f79a0c72fa6a37dc655ba1fb01a5f41e36d1
+03896f594afd1bf97acb862106eb05a1d8b54ec08d184812a79f4dc7b287a7486e60927b6c23e5f51fcbc94798648b28fd13438300567bec95
+cc66a891768e95a2717b040c111996f14942f10f2475c33aa5f1c97476e6f8386733d6b21c16102d01ff1f715475f01099e1f19aa763238a38a9
+007aac8eae29e5bf2be1b54857f5fe80c324424a3273b46e55482fbc4ae1033df4a97016b60c81a5344abd6366f56d8cee2c2e94619418293990de
+50c81e92605a6111ea4c7c602acfb3945d4c2631c8c08fa4b594134577f5c2ffcca90d48604162cfdb2a0bb40416ff9134a275461b829ff1b875f995
+661b7a1c70170aa7559aa82639fa65c1bdcfb5e336cb23b40a9edf5b4f6eeca1a176a9844da705cafb990dd94b9dc6194eb6b2de3eca9dbd255bb267a1
+9ff11c233aaf5e0242b0dbe6e110a42e58b86141ad0ef130fd2bb895700019782de66d435bf0a8d6f5eda5d7d1105e7a6f3ef17a9da8f9c16fc21075431a
+bdd3d0fafe8ba2b29d1ac0b79aa46e249cc9d3a82d0f772d690637bbdd353722356658d00436ff5dd5239ab747979329345eb8c7ed11b7331456ae87350fcf
+bd965bf31e87d70327536f2a341cebc4768eca275fa05ef98f7f1b71a0351298de006fba73fe6733ed01d75801b4a928e54231b38e38c562b2e33ea1284992fa
diff --git a/src/libsodium/test/default/generichash2.c b/src/libsodium/test/default/generichash2.c
new file mode 100644
index 00000000..4693a5f1
--- /dev/null
+++ b/src/libsodium/test/default/generichash2.c
@@ -0,0 +1,31 @@
+#include <stdio.h>
+
+#include "crypto_uint8.h"
+
+#define TEST_NAME "generichash2"
+#include "cmptest.h"
+
+int main(void)
+{
+#define MAXLEN 64
+    crypto_generichash_state st;
+    crypto_uint8 in[MAXLEN], out[crypto_generichash_BYTES_MAX], k[crypto_generichash_KEYBYTES_MAX];
+    size_t h,i,j;
+
+    for(h = 0; h < crypto_generichash_KEYBYTES_MAX; ++h) k[h] = h;
+
+    for(i = 0; i < MAXLEN; ++i) {
+        in[i]=i;
+        crypto_generichash_init(&st, k, 1 + i % crypto_generichash_KEYBYTES_MAX,
+                                1 + i % crypto_generichash_BYTES_MAX);
+        crypto_generichash_update(&st, in, i);
+        crypto_generichash_update(&st, in, i);
+        crypto_generichash_update(&st, in, i);
+        crypto_generichash_final(&st, out, 1 + i % crypto_generichash_BYTES_MAX);
+        for (j = 0;j < 1 + i % crypto_generichash_BYTES_MAX;++j) {
+            printf("%02x",(unsigned int) out[j]);
+        }
+        printf("\n");
+    }
+    return 0;
+}
diff --git a/src/libsodium/test/default/generichash2.exp b/src/libsodium/test/default/generichash2.exp
new file mode 100644
index 00000000..5ee6f605
--- /dev/null
+++ b/src/libsodium/test/default/generichash2.exp
@@ -0,0 +1,64 @@
+05
+22a8
+287a9d
+d8eeab1c
+d4ce34973f
+584f7ac46f0c
+32c848bb67545b
+8438e21361bca125
+27a6faae998b4fabb4
+508c05a4f2daee150bad
+68c886c97dce370e8c72fa
+d41e90824ace31ba7bf512ac
+6e0d7a1e2b92a68e45ea867895
+1fc5ee8715312db38da9066152a5
+3138504ba58fcd56c62752bc98a6d2
+b689ecd5357cb5276007627fbdf4082e
+afe251881beb8b9dfa3d4f76aafc7b2995
+980eaa215cb0911027c5564db809bb8ac0a1
+56048436883efdfc8feaa239d960fa5ce24d42
+fce905b6d57fd841f58899a77887a4988e6aa2d1
+6f7afd81d24ccf4d98188b71bdbb7e6c637620879b
+50406b4c37b48621505942b35dff30a75f7d2868146b
+32c21792e18e7a79a4a20ef291721d7eab4e4cf99fbe79
+4b9d9ac5dbfb825acd87588667e6683e0fde4cdcd0a532f9
+2b55a3ebb461623e5de4fbacfb8b26819cfa8adeb094c8c13b
+4c7d261780b25a864a008352ad64d1ae7fc21d608317813cf63f
+f0ca06b8e12c48f1511d0991ba562f06dbe6ba6d5e18280224cc6a
+838a5f7056bfbca65a245796dd3510cb07ff1614b44989d91ac650b2
+a58a8da276577160441f8b9e9c52a041b7caf7cd316acc506f620ab0e1
+e03940a7231049ff2b86c47a28e4951f105d2a3aa3421190fe0ed6aa4ad6
+a7af977c0b34294b1a03d0cc2dcf6eb72f9a32721c3f70128384aeb1f56047
+0e5625d74ada70b8a3b23ca76894e9a0f9dee88f5e3e370e27ad25061ea9dd6f
+775fd9257b265997a16557a445985091798af60e68d06e3ae8e2e886d23ed12f6e
+852e8d4208166a990e215ed06b86c708f491e014584ac9b08f97f24d9f08a84c8e83
+fbdca0db9a933fcffcce2ae694d7e16e7571b100564fcb3d69cec82ea42f254a493a32
+50530ae5eb9780f3fafc5d179f7b363a0d69314a8545d68588b5fec28c8e8d1a011857f6
+5eb71553ff1ac4aba3f84faeb70281c738e3428aae68edc9842ebf55ffd7184a015e323445
+39b279c6d9cca89f8052f953abf71041faf3491b2b965cef503d715e8bf339e02a58fd0e0fba
+e315bef5f4918e881dc8d39d3c6b3948c2ea8e21ac00ee7c7ab875a53e194add0c3d9b8bcba5b2
+4e950f0e1da3111d054136fbdf10b4b88b20de6ad0c6bd5024a5e0a8b4cd7059685c0b663a00cbfa
+b1ed8d99fd62a4f504ecdd58a01759a85932a7783f88f314cdca5019e05063dcc1fcb3c39b8c07758e
+e4d78e734b0cb5bbd83e22bc67f97bbc8a3644f789f6c26a3ec2fe72c75b4d48a3bc000e6f2f2f0726fe
+162e01beb796433a2771eab54611fc93677ed12c73a93ea4d75e148bec7ab14b3e31ab7f395456fb2b47ab
+759c30631fd52e80a22f0614125dcd136287db65079908b75fb5b03be1cdf6dd0a1c9de0cc759cdd82c33758
+af2992acdaf0908f03a2025854de6446123c919b1e24db711df6cb070091343b4e6f5b2716c20c2547f50f1fde
+b833064955778a611fe41a9f1a2de730a16fb4e61a7e2fb67425ce199101d4e71dd7b0c731ea4188e9cc30e9bc52
+e546ee327168d9b4e0d73d9a043f9ef03f880bc8aee91b0923704eb7361ac916b00f5c71c872e2f911a77ef76704b5
+83d86f056729fa1a6e1d3fe8c3d2ebe42b327025747f2e6ba923d2b7b893e31571839937222852033844e585b17d462f
+5d70402524fbef569552a3ff6854087e090ff9ac9ea03aba92cf9f33a28845fa6a1631090dca10e05cdd3341b391a15fcf
+64f4d3ebf0717900f7c04512d1e18f9985975991d4254d76c4e2ee02c0edd6f912f715991984731b808b8370be1f201e53bf
+7d45eae6626dfc9ec3591764b8c39c72ca67e6c1893ab590963a75922719937d1d0ff188a510ffbdf9c777a4d565b3683cbf38
+68e007db5067874548c0d12a9ca709221f9bd352e3eb9847fde6c5de4a8550f4b85b67fe4e5aad70626ebb27d71e5b528effb2e6
+b0dc4dc0bd0d41a8ccfa45a127542079bc4e6f63a63863a9ce21f44481d23eff1060ea03851759b9317209405d5b7cc4387cc2759b
+adf6a9df484e93eb3a6113c3fd68a49b2166878fc652833c9cbef3fd8dd281d385ad0374bc25bc865b216ca395e21c30b9eda1d58a8d
+f1df9bc169323da338daa8a94867db96a1a2a6feb26569198fb4591ae602ba6f766a879e745d71e93b6cb8886b914f2bf4aa55d4c48045
+0c7446078a5077f33bba1ebfad60bbf1b1df47aab2eb3f3f3274ce56ead7800cf095af8208b6d570c4c832fe33227bbbc0842a13e1e82ad9
+accd0b4682e56698ecc55a60a8db8b3f950b6bffc5a1d160daf6ca25e13e3b4983ced5903df0bdc21f70c2ec5adb1a2ec9617df645cdd17ac9
+b787bae190ff2608eb383e0299cc10d6b7232de67ab74285e7bfa933d79f91226066537d74a9d40140d7b1683c2d42cd1935f6430cc554db2b69
+d09b717a0c80f581c07b8813e0ae79cec2188f77122f7477954610655a20420f13eb1b68cacde8c1fdf7a9a398efa72f40c85f0122812eaa33aba0
+87fff156d9895917468e92848fdcfacc134ca3bfc7fce484bd6db41c682ee2ee47151df0fa863d5641633d908c0328e6cbe080e80d8293530ffd2c4f
+1b17b2c0e7afcd224ec9bbe9ce9a13a00bd0a336b863f1b4d5304043778244323bd23fb6154a2e1e94aa48f6ff0e12787a50ca09e9e72ece9e038f6218
+23ac1ccd5e7df51b65b284650158d662e7ef51ebae01b879f39cec484b688c792f8e854bd8ca31ffe8796d28f10e49ab402dab47878a21cb95556dc32b0a
+f8f5323ebcc28bf927e72d342b5b70d80ba67794afb4c28debad21b0dae24c7a9252e862eb4b83bea6d9c0bb7c108983c987f13d73f250c7f14483f0454a24
+55b97ca594d68ccf69a0a93fe7fa4004c7e2947a8cac4ca4a44e17ac6876f472e3f221b341a28004cd35a79cfad7fabb9378ce5af03e4c0445ebbe9540943bbd
diff --git a/src/libsodium/test/default/hash.c b/src/libsodium/test/default/hash.c
new file mode 100644
index 00000000..c24f9c49
--- /dev/null
+++ b/src/libsodium/test/default/hash.c
@@ -0,0 +1,16 @@
+#include <stdio.h>
+
+#define TEST_NAME "hash"
+#include "cmptest.h"
+
+unsigned char x[] = "testing\n";
+unsigned char h[crypto_hash_BYTES];
+
+int main(void)
+{
+  size_t i;
+  crypto_hash(h,x,sizeof x - 1U);
+  for (i = 0;i < crypto_hash_BYTES;++i) printf("%02x",(unsigned int) h[i]);
+  printf("\n");
+  return 0;
+}
diff --git a/src/libsodium/test/default/hash.exp b/src/libsodium/test/default/hash.exp
new file mode 100644
index 00000000..df582172
--- /dev/null
+++ b/src/libsodium/test/default/hash.exp
@@ -0,0 +1 @@
+24f950aac7b9ea9b3cb728228a0c82b67c39e96b4b344798870d5daee93e3ae5931baae8c7cacfea4b629452c38026a81d138bc7aad1af3ef7bfd5ec646d6c28
diff --git a/src/libsodium/test/default/hash2.exp b/src/libsodium/test/default/hash2.exp
new file mode 100644
index 00000000..df582172
--- /dev/null
+++ b/src/libsodium/test/default/hash2.exp
@@ -0,0 +1 @@
+24f950aac7b9ea9b3cb728228a0c82b67c39e96b4b344798870d5daee93e3ae5931baae8c7cacfea4b629452c38026a81d138bc7aad1af3ef7bfd5ec646d6c28
diff --git a/src/libsodium/test/default/hash3.c b/src/libsodium/test/default/hash3.c
new file mode 100644
index 00000000..a5461258
--- /dev/null
+++ b/src/libsodium/test/default/hash3.c
@@ -0,0 +1,16 @@
+#include <stdio.h>
+
+#define TEST_NAME "hash3"
+#include "cmptest.h"
+
+unsigned char x[] = "testing\n";
+unsigned char h[crypto_hash_sha512_BYTES];
+
+int main(void)
+{
+  size_t i;
+  crypto_hash_sha512(h,x,sizeof x - 1U);
+  for (i = 0;i < crypto_hash_sha512_BYTES;++i) printf("%02x",(unsigned int) h[i]);
+  printf("\n");
+  return 0;
+}
diff --git a/src/libsodium/test/default/hash3.exp b/src/libsodium/test/default/hash3.exp
new file mode 100644
index 00000000..df582172
--- /dev/null
+++ b/src/libsodium/test/default/hash3.exp
@@ -0,0 +1 @@
+24f950aac7b9ea9b3cb728228a0c82b67c39e96b4b344798870d5daee93e3ae5931baae8c7cacfea4b629452c38026a81d138bc7aad1af3ef7bfd5ec646d6c28
diff --git a/src/libsodium/test/default/onetimeauth.c b/src/libsodium/test/default/onetimeauth.c
new file mode 100644
index 00000000..ddeb8eec
--- /dev/null
+++ b/src/libsodium/test/default/onetimeauth.c
@@ -0,0 +1,44 @@
+#include <stdio.h>
+
+#define TEST_NAME "onetimeauth"
+#include "cmptest.h"
+
+unsigned char rs[32] = {
+ 0xee,0xa6,0xa7,0x25,0x1c,0x1e,0x72,0x91
+,0x6d,0x11,0xc2,0xcb,0x21,0x4d,0x3c,0x25
+,0x25,0x39,0x12,0x1d,0x8e,0x23,0x4e,0x65
+,0x2d,0x65,0x1f,0xa4,0xc8,0xcf,0xf8,0x80
+} ;
+
+unsigned char c[131] = {
+ 0x8e,0x99,0x3b,0x9f,0x48,0x68,0x12,0x73
+,0xc2,0x96,0x50,0xba,0x32,0xfc,0x76,0xce
+,0x48,0x33,0x2e,0xa7,0x16,0x4d,0x96,0xa4
+,0x47,0x6f,0xb8,0xc5,0x31,0xa1,0x18,0x6a
+,0xc0,0xdf,0xc1,0x7c,0x98,0xdc,0xe8,0x7b
+,0x4d,0xa7,0xf0,0x11,0xec,0x48,0xc9,0x72
+,0x71,0xd2,0xc2,0x0f,0x9b,0x92,0x8f,0xe2
+,0x27,0x0d,0x6f,0xb8,0x63,0xd5,0x17,0x38
+,0xb4,0x8e,0xee,0xe3,0x14,0xa7,0xcc,0x8a
+,0xb9,0x32,0x16,0x45,0x48,0xe5,0x26,0xae
+,0x90,0x22,0x43,0x68,0x51,0x7a,0xcf,0xea
+,0xbd,0x6b,0xb3,0x73,0x2b,0xc0,0xe9,0xda
+,0x99,0x83,0x2b,0x61,0xca,0x01,0xb6,0xde
+,0x56,0x24,0x4a,0x9e,0x88,0xd5,0xf9,0xb3
+,0x79,0x73,0xf6,0x22,0xa4,0x3d,0x14,0xa6
+,0x59,0x9b,0x1f,0x65,0x4c,0xb4,0x5a,0x74
+,0xe3,0x55,0xa5
+} ;
+
+unsigned char a[16];
+
+int main(void)
+{
+  int i;
+  crypto_onetimeauth_poly1305(a,c,131,rs);
+  for (i = 0;i < 16;++i) {
+    printf(",0x%02x",(unsigned int) a[i]);
+    if (i % 8 == 7) printf("\n");
+  }
+  return 0;
+}
diff --git a/src/libsodium/test/default/onetimeauth.exp b/src/libsodium/test/default/onetimeauth.exp
new file mode 100644
index 00000000..6d914615
--- /dev/null
+++ b/src/libsodium/test/default/onetimeauth.exp
@@ -0,0 +1,2 @@
+,0xf3,0xff,0xc7,0x70,0x3f,0x94,0x00,0xe5
+,0x2a,0x7d,0xfb,0x4b,0x3d,0x33,0x05,0xd9
diff --git a/src/libsodium/test/default/onetimeauth2.c b/src/libsodium/test/default/onetimeauth2.c
new file mode 100644
index 00000000..2114e291
--- /dev/null
+++ b/src/libsodium/test/default/onetimeauth2.c
@@ -0,0 +1,42 @@
+#include <stdio.h>
+
+#define TEST_NAME "onetimeauth2"
+#include "cmptest.h"
+
+unsigned char rs[32] = {
+ 0xee,0xa6,0xa7,0x25,0x1c,0x1e,0x72,0x91
+,0x6d,0x11,0xc2,0xcb,0x21,0x4d,0x3c,0x25
+,0x25,0x39,0x12,0x1d,0x8e,0x23,0x4e,0x65
+,0x2d,0x65,0x1f,0xa4,0xc8,0xcf,0xf8,0x80
+} ;
+
+unsigned char c[131] = {
+ 0x8e,0x99,0x3b,0x9f,0x48,0x68,0x12,0x73
+,0xc2,0x96,0x50,0xba,0x32,0xfc,0x76,0xce
+,0x48,0x33,0x2e,0xa7,0x16,0x4d,0x96,0xa4
+,0x47,0x6f,0xb8,0xc5,0x31,0xa1,0x18,0x6a
+,0xc0,0xdf,0xc1,0x7c,0x98,0xdc,0xe8,0x7b
+,0x4d,0xa7,0xf0,0x11,0xec,0x48,0xc9,0x72
+,0x71,0xd2,0xc2,0x0f,0x9b,0x92,0x8f,0xe2
+,0x27,0x0d,0x6f,0xb8,0x63,0xd5,0x17,0x38
+,0xb4,0x8e,0xee,0xe3,0x14,0xa7,0xcc,0x8a
+,0xb9,0x32,0x16,0x45,0x48,0xe5,0x26,0xae
+,0x90,0x22,0x43,0x68,0x51,0x7a,0xcf,0xea
+,0xbd,0x6b,0xb3,0x73,0x2b,0xc0,0xe9,0xda
+,0x99,0x83,0x2b,0x61,0xca,0x01,0xb6,0xde
+,0x56,0x24,0x4a,0x9e,0x88,0xd5,0xf9,0xb3
+,0x79,0x73,0xf6,0x22,0xa4,0x3d,0x14,0xa6
+,0x59,0x9b,0x1f,0x65,0x4c,0xb4,0x5a,0x74
+,0xe3,0x55,0xa5
+} ;
+
+unsigned char a[16] = {
+ 0xf3,0xff,0xc7,0x70,0x3f,0x94,0x00,0xe5
+,0x2a,0x7d,0xfb,0x4b,0x3d,0x33,0x05,0xd9
+} ;
+
+int main(void)
+{
+  printf("%d\n",crypto_onetimeauth_poly1305_verify(a,c,131,rs));
+  return 0;
+}
diff --git a/src/libsodium/test/default/onetimeauth2.exp b/src/libsodium/test/default/onetimeauth2.exp
new file mode 100644
index 00000000..573541ac
--- /dev/null
+++ b/src/libsodium/test/default/onetimeauth2.exp
@@ -0,0 +1 @@
+0
diff --git a/src/libsodium/test/default/onetimeauth7.c b/src/libsodium/test/default/onetimeauth7.c
new file mode 100644
index 00000000..6d99134c
--- /dev/null
+++ b/src/libsodium/test/default/onetimeauth7.c
@@ -0,0 +1,37 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include "windows/windows-quirks.h"
+
+#define TEST_NAME "onetimeauth7"
+#include "cmptest.h"
+
+unsigned char key[32];
+unsigned char c[10000];
+unsigned char a[16];
+
+int main(void)
+{
+  int clen;
+  for (clen = 0;clen < 10000;++clen) {
+    randombytes(key,sizeof key);
+    randombytes(c,clen);
+    crypto_onetimeauth_poly1305(a,c,clen,key);
+    if (crypto_onetimeauth_poly1305_verify(a,c,clen,key) != 0) {
+      printf("fail %d\n",clen);
+      return 100;
+    }
+    if (clen > 0) {
+      c[rand() % clen] += 1 + (rand() % 255);
+      if (crypto_onetimeauth_poly1305_verify(a,c,clen,key) == 0) {
+        printf("forgery %d\n",clen);
+        return 100;
+      }
+      a[rand() % sizeof a] += 1 + (rand() % 255);
+      if (crypto_onetimeauth_poly1305_verify(a,c,clen,key) == 0) {
+        printf("forgery %d\n",clen);
+        return 100;
+      }
+    }
+  }
+  return 0;
+}
diff --git a/src/libsodium/test/default/onetimeauth7.exp b/src/libsodium/test/default/onetimeauth7.exp
new file mode 100644
index 00000000..e69de29b
diff --git a/src/libsodium/test/default/randombytes.c b/src/libsodium/test/default/randombytes.c
new file mode 100644
index 00000000..f805c472
--- /dev/null
+++ b/src/libsodium/test/default/randombytes.c
@@ -0,0 +1,16 @@
+#include "randombytes.h"
+
+unsigned char x[65536];
+unsigned long long freq[256];
+
+int main(void)
+{
+  unsigned long long i;
+
+  randombytes(x,sizeof x);
+  for (i = 0;i < 256;++i) freq[i] = 0;
+  for (i = 0;i < sizeof x;++i) ++freq[255 & (int) x[i]];
+  for (i = 0;i < 256;++i) if (!freq[i]) return 111;
+
+  return 0;
+}
diff --git a/src/libsodium/test/default/scalarmult.c b/src/libsodium/test/default/scalarmult.c
new file mode 100644
index 00000000..957bc9c1
--- /dev/null
+++ b/src/libsodium/test/default/scalarmult.c
@@ -0,0 +1,25 @@
+#include <stdio.h>
+
+#define TEST_NAME "scalarmult"
+#include "cmptest.h"
+
+unsigned char alicesk[32] = {
+ 0x77,0x07,0x6d,0x0a,0x73,0x18,0xa5,0x7d
+,0x3c,0x16,0xc1,0x72,0x51,0xb2,0x66,0x45
+,0xdf,0x4c,0x2f,0x87,0xeb,0xc0,0x99,0x2a
+,0xb1,0x77,0xfb,0xa5,0x1d,0xb9,0x2c,0x2a
+} ;
+
+unsigned char alicepk[32];
+
+int main(void)
+{
+  int i;
+  crypto_scalarmult_curve25519_base(alicepk,alicesk);
+  for (i = 0;i < 32;++i) {
+    if (i > 0) printf(","); else printf(" ");
+    printf("0x%02x",(unsigned int) alicepk[i]);
+    if (i % 8 == 7) printf("\n");
+  }
+  return 0;
+}
diff --git a/src/libsodium/test/default/scalarmult.exp b/src/libsodium/test/default/scalarmult.exp
new file mode 100644
index 00000000..ddd130d6
--- /dev/null
+++ b/src/libsodium/test/default/scalarmult.exp
@@ -0,0 +1,4 @@
+ 0x85,0x20,0xf0,0x09,0x89,0x30,0xa7,0x54
+,0x74,0x8b,0x7d,0xdc,0xb4,0x3e,0xf7,0x5a
+,0x0d,0xbf,0x3a,0x0d,0x26,0x38,0x1a,0xf4
+,0xeb,0xa4,0xa9,0x8e,0xaa,0x9b,0x4e,0x6a
diff --git a/src/libsodium/test/default/scalarmult2.c b/src/libsodium/test/default/scalarmult2.c
new file mode 100644
index 00000000..93a37d07
--- /dev/null
+++ b/src/libsodium/test/default/scalarmult2.c
@@ -0,0 +1,25 @@
+#include <stdio.h>
+
+#define TEST_NAME "scalarmult2"
+#include "cmptest.h"
+
+unsigned char bobsk[32] = {
+ 0x5d,0xab,0x08,0x7e,0x62,0x4a,0x8a,0x4b
+,0x79,0xe1,0x7f,0x8b,0x83,0x80,0x0e,0xe6
+,0x6f,0x3b,0xb1,0x29,0x26,0x18,0xb6,0xfd
+,0x1c,0x2f,0x8b,0x27,0xff,0x88,0xe0,0xeb
+} ;
+
+unsigned char bobpk[32];
+
+int main(void)
+{
+  int i;
+  crypto_scalarmult_curve25519_base(bobpk,bobsk);
+  for (i = 0;i < 32;++i) {
+    if (i > 0) printf(","); else printf(" ");
+    printf("0x%02x",(unsigned int) bobpk[i]);
+    if (i % 8 == 7) printf("\n");
+  }
+  return 0;
+}
diff --git a/src/libsodium/test/default/scalarmult2.exp b/src/libsodium/test/default/scalarmult2.exp
new file mode 100644
index 00000000..b5391865
--- /dev/null
+++ b/src/libsodium/test/default/scalarmult2.exp
@@ -0,0 +1,4 @@
+ 0xde,0x9e,0xdb,0x7d,0x7b,0x7d,0xc1,0xb4
+,0xd3,0x5b,0x61,0xc2,0xec,0xe4,0x35,0x37
+,0x3f,0x83,0x43,0xc8,0x5b,0x78,0x67,0x4d
+,0xad,0xfc,0x7e,0x14,0x6f,0x88,0x2b,0x4f
diff --git a/src/libsodium/test/default/scalarmult5.c b/src/libsodium/test/default/scalarmult5.c
new file mode 100644
index 00000000..b6852a91
--- /dev/null
+++ b/src/libsodium/test/default/scalarmult5.c
@@ -0,0 +1,32 @@
+#include <stdio.h>
+
+#define TEST_NAME "scalarmult5"
+#include "cmptest.h"
+
+unsigned char alicesk[32] = {
+ 0x77,0x07,0x6d,0x0a,0x73,0x18,0xa5,0x7d
+,0x3c,0x16,0xc1,0x72,0x51,0xb2,0x66,0x45
+,0xdf,0x4c,0x2f,0x87,0xeb,0xc0,0x99,0x2a
+,0xb1,0x77,0xfb,0xa5,0x1d,0xb9,0x2c,0x2a
+} ;
+
+unsigned char bobpk[32] = {
+ 0xde,0x9e,0xdb,0x7d,0x7b,0x7d,0xc1,0xb4
+,0xd3,0x5b,0x61,0xc2,0xec,0xe4,0x35,0x37
+,0x3f,0x83,0x43,0xc8,0x5b,0x78,0x67,0x4d
+,0xad,0xfc,0x7e,0x14,0x6f,0x88,0x2b,0x4f
+} ;
+
+unsigned char k[32];
+
+int main(void)
+{
+  int i;
+  crypto_scalarmult_curve25519(k,alicesk,bobpk);
+  for (i = 0;i < 32;++i) {
+    if (i > 0) printf(","); else printf(" ");
+    printf("0x%02x",(unsigned int) k[i]);
+    if (i % 8 == 7) printf("\n");
+  }
+  return 0;
+}
diff --git a/src/libsodium/test/default/scalarmult5.exp b/src/libsodium/test/default/scalarmult5.exp
new file mode 100644
index 00000000..bec21130
--- /dev/null
+++ b/src/libsodium/test/default/scalarmult5.exp
@@ -0,0 +1,4 @@
+ 0x4a,0x5d,0x9d,0x5b,0xa4,0xce,0x2d,0xe1
+,0x72,0x8e,0x3b,0xf4,0x80,0x35,0x0f,0x25
+,0xe0,0x7e,0x21,0xc9,0x47,0xd1,0x9e,0x33
+,0x76,0xf0,0x9b,0x3c,0x1e,0x16,0x17,0x42
diff --git a/src/libsodium/test/default/scalarmult6.c b/src/libsodium/test/default/scalarmult6.c
new file mode 100644
index 00000000..c1ac8853
--- /dev/null
+++ b/src/libsodium/test/default/scalarmult6.c
@@ -0,0 +1,32 @@
+#include <stdio.h>
+
+#define TEST_NAME "scalarmult6"
+#include "cmptest.h"
+
+unsigned char bobsk[32] = {
+ 0x5d,0xab,0x08,0x7e,0x62,0x4a,0x8a,0x4b
+,0x79,0xe1,0x7f,0x8b,0x83,0x80,0x0e,0xe6
+,0x6f,0x3b,0xb1,0x29,0x26,0x18,0xb6,0xfd
+,0x1c,0x2f,0x8b,0x27,0xff,0x88,0xe0,0xeb
+} ;
+
+unsigned char alicepk[32] = {
+ 0x85,0x20,0xf0,0x09,0x89,0x30,0xa7,0x54
+,0x74,0x8b,0x7d,0xdc,0xb4,0x3e,0xf7,0x5a
+,0x0d,0xbf,0x3a,0x0d,0x26,0x38,0x1a,0xf4
+,0xeb,0xa4,0xa9,0x8e,0xaa,0x9b,0x4e,0x6a
+} ;
+
+unsigned char k[32];
+
+int main(void)
+{
+  int i;
+  crypto_scalarmult_curve25519(k,bobsk,alicepk);
+  for (i = 0;i < 32;++i) {
+    if (i > 0) printf(","); else printf(" ");
+    printf("0x%02x",(unsigned int) k[i]);
+    if (i % 8 == 7) printf("\n");
+  }
+  return 0;
+}
diff --git a/src/libsodium/test/default/scalarmult6.exp b/src/libsodium/test/default/scalarmult6.exp
new file mode 100644
index 00000000..bec21130
--- /dev/null
+++ b/src/libsodium/test/default/scalarmult6.exp
@@ -0,0 +1,4 @@
+ 0x4a,0x5d,0x9d,0x5b,0xa4,0xce,0x2d,0xe1
+,0x72,0x8e,0x3b,0xf4,0x80,0x35,0x0f,0x25
+,0xe0,0x7e,0x21,0xc9,0x47,0xd1,0x9e,0x33
+,0x76,0xf0,0x9b,0x3c,0x1e,0x16,0x17,0x42
diff --git a/src/libsodium/test/default/secretbox.c b/src/libsodium/test/default/secretbox.c
new file mode 100644
index 00000000..485a97a1
--- /dev/null
+++ b/src/libsodium/test/default/secretbox.c
@@ -0,0 +1,58 @@
+#include <stdio.h>
+
+#define TEST_NAME "secretbox"
+#include "cmptest.h"
+
+unsigned char firstkey[32] = {
+ 0x1b,0x27,0x55,0x64,0x73,0xe9,0x85,0xd4
+,0x62,0xcd,0x51,0x19,0x7a,0x9a,0x46,0xc7
+,0x60,0x09,0x54,0x9e,0xac,0x64,0x74,0xf2
+,0x06,0xc4,0xee,0x08,0x44,0xf6,0x83,0x89
+} ;
+
+unsigned char nonce[24] = {
+ 0x69,0x69,0x6e,0xe9,0x55,0xb6,0x2b,0x73
+,0xcd,0x62,0xbd,0xa8,0x75,0xfc,0x73,0xd6
+,0x82,0x19,0xe0,0x03,0x6b,0x7a,0x0b,0x37
+} ;
+
+// API requires first 32 bytes to be 0
+unsigned char m[163] = {
+    0,   0,   0,   0,   0,   0,   0,   0
+,   0,   0,   0,   0,   0,   0,   0,   0
+,   0,   0,   0,   0,   0,   0,   0,   0
+,   0,   0,   0,   0,   0,   0,   0,   0
+,0xbe,0x07,0x5f,0xc5,0x3c,0x81,0xf2,0xd5
+,0xcf,0x14,0x13,0x16,0xeb,0xeb,0x0c,0x7b
+,0x52,0x28,0xc5,0x2a,0x4c,0x62,0xcb,0xd4
+,0x4b,0x66,0x84,0x9b,0x64,0x24,0x4f,0xfc
+,0xe5,0xec,0xba,0xaf,0x33,0xbd,0x75,0x1a
+,0x1a,0xc7,0x28,0xd4,0x5e,0x6c,0x61,0x29
+,0x6c,0xdc,0x3c,0x01,0x23,0x35,0x61,0xf4
+,0x1d,0xb6,0x6c,0xce,0x31,0x4a,0xdb,0x31
+,0x0e,0x3b,0xe8,0x25,0x0c,0x46,0xf0,0x6d
+,0xce,0xea,0x3a,0x7f,0xa1,0x34,0x80,0x57
+,0xe2,0xf6,0x55,0x6a,0xd6,0xb1,0x31,0x8a
+,0x02,0x4a,0x83,0x8f,0x21,0xaf,0x1f,0xde
+,0x04,0x89,0x77,0xeb,0x48,0xf5,0x9f,0xfd
+,0x49,0x24,0xca,0x1c,0x60,0x90,0x2e,0x52
+,0xf0,0xa0,0x89,0xbc,0x76,0x89,0x70,0x40
+,0xe0,0x82,0xf9,0x37,0x76,0x38,0x48,0x64
+,0x5e,0x07,0x05
+} ;
+
+unsigned char c[163];
+
+int main(void)
+{
+  int i;
+  crypto_secretbox_xsalsa20poly1305(
+    c,m,163,nonce,firstkey
+  );
+  for (i = 16;i < 163;++i) {
+    printf(",0x%02x",(unsigned int) c[i]);
+    if (i % 8 == 7) printf("\n");
+  }
+  printf("\n");
+  return 0;
+}
diff --git a/src/libsodium/test/default/secretbox.exp b/src/libsodium/test/default/secretbox.exp
new file mode 100644
index 00000000..2b6c51ea
--- /dev/null
+++ b/src/libsodium/test/default/secretbox.exp
@@ -0,0 +1,19 @@
+,0xf3,0xff,0xc7,0x70,0x3f,0x94,0x00,0xe5
+,0x2a,0x7d,0xfb,0x4b,0x3d,0x33,0x05,0xd9
+,0x8e,0x99,0x3b,0x9f,0x48,0x68,0x12,0x73
+,0xc2,0x96,0x50,0xba,0x32,0xfc,0x76,0xce
+,0x48,0x33,0x2e,0xa7,0x16,0x4d,0x96,0xa4
+,0x47,0x6f,0xb8,0xc5,0x31,0xa1,0x18,0x6a
+,0xc0,0xdf,0xc1,0x7c,0x98,0xdc,0xe8,0x7b
+,0x4d,0xa7,0xf0,0x11,0xec,0x48,0xc9,0x72
+,0x71,0xd2,0xc2,0x0f,0x9b,0x92,0x8f,0xe2
+,0x27,0x0d,0x6f,0xb8,0x63,0xd5,0x17,0x38
+,0xb4,0x8e,0xee,0xe3,0x14,0xa7,0xcc,0x8a
+,0xb9,0x32,0x16,0x45,0x48,0xe5,0x26,0xae
+,0x90,0x22,0x43,0x68,0x51,0x7a,0xcf,0xea
+,0xbd,0x6b,0xb3,0x73,0x2b,0xc0,0xe9,0xda
+,0x99,0x83,0x2b,0x61,0xca,0x01,0xb6,0xde
+,0x56,0x24,0x4a,0x9e,0x88,0xd5,0xf9,0xb3
+,0x79,0x73,0xf6,0x22,0xa4,0x3d,0x14,0xa6
+,0x59,0x9b,0x1f,0x65,0x4c,0xb4,0x5a,0x74
+,0xe3,0x55,0xa5
diff --git a/src/libsodium/test/default/secretbox2.c b/src/libsodium/test/default/secretbox2.c
new file mode 100644
index 00000000..5af6c41b
--- /dev/null
+++ b/src/libsodium/test/default/secretbox2.c
@@ -0,0 +1,59 @@
+#include <stdio.h>
+
+#define TEST_NAME "secretbox2"
+#include "cmptest.h"
+
+unsigned char firstkey[32] = {
+ 0x1b,0x27,0x55,0x64,0x73,0xe9,0x85,0xd4
+,0x62,0xcd,0x51,0x19,0x7a,0x9a,0x46,0xc7
+,0x60,0x09,0x54,0x9e,0xac,0x64,0x74,0xf2
+,0x06,0xc4,0xee,0x08,0x44,0xf6,0x83,0x89
+} ;
+
+unsigned char nonce[24] = {
+ 0x69,0x69,0x6e,0xe9,0x55,0xb6,0x2b,0x73
+,0xcd,0x62,0xbd,0xa8,0x75,0xfc,0x73,0xd6
+,0x82,0x19,0xe0,0x03,0x6b,0x7a,0x0b,0x37
+} ;
+
+// API requires first 16 bytes to be 0
+unsigned char c[163] = {
+    0,   0,   0,   0,   0,   0,   0,   0
+,   0,   0,   0,   0,   0,   0,   0,   0
+,0xf3,0xff,0xc7,0x70,0x3f,0x94,0x00,0xe5
+,0x2a,0x7d,0xfb,0x4b,0x3d,0x33,0x05,0xd9
+,0x8e,0x99,0x3b,0x9f,0x48,0x68,0x12,0x73
+,0xc2,0x96,0x50,0xba,0x32,0xfc,0x76,0xce
+,0x48,0x33,0x2e,0xa7,0x16,0x4d,0x96,0xa4
+,0x47,0x6f,0xb8,0xc5,0x31,0xa1,0x18,0x6a
+,0xc0,0xdf,0xc1,0x7c,0x98,0xdc,0xe8,0x7b
+,0x4d,0xa7,0xf0,0x11,0xec,0x48,0xc9,0x72
+,0x71,0xd2,0xc2,0x0f,0x9b,0x92,0x8f,0xe2
+,0x27,0x0d,0x6f,0xb8,0x63,0xd5,0x17,0x38
+,0xb4,0x8e,0xee,0xe3,0x14,0xa7,0xcc,0x8a
+,0xb9,0x32,0x16,0x45,0x48,0xe5,0x26,0xae
+,0x90,0x22,0x43,0x68,0x51,0x7a,0xcf,0xea
+,0xbd,0x6b,0xb3,0x73,0x2b,0xc0,0xe9,0xda
+,0x99,0x83,0x2b,0x61,0xca,0x01,0xb6,0xde
+,0x56,0x24,0x4a,0x9e,0x88,0xd5,0xf9,0xb3
+,0x79,0x73,0xf6,0x22,0xa4,0x3d,0x14,0xa6
+,0x59,0x9b,0x1f,0x65,0x4c,0xb4,0x5a,0x74
+,0xe3,0x55,0xa5
+} ;
+
+unsigned char m[163];
+
+int main(void)
+{
+  int i;
+  if (crypto_secretbox_xsalsa20poly1305_open(
+       m,c,163,nonce,firstkey
+      ) == 0) {
+    for (i = 32;i < 163;++i) {
+      printf(",0x%02x",(unsigned int) m[i]);
+      if (i % 8 == 7) printf("\n");
+    }
+    printf("\n");
+  }
+  return 0;
+}
diff --git a/src/libsodium/test/default/secretbox2.exp b/src/libsodium/test/default/secretbox2.exp
new file mode 100644
index 00000000..c61d4557
--- /dev/null
+++ b/src/libsodium/test/default/secretbox2.exp
@@ -0,0 +1,17 @@
+,0xbe,0x07,0x5f,0xc5,0x3c,0x81,0xf2,0xd5
+,0xcf,0x14,0x13,0x16,0xeb,0xeb,0x0c,0x7b
+,0x52,0x28,0xc5,0x2a,0x4c,0x62,0xcb,0xd4
+,0x4b,0x66,0x84,0x9b,0x64,0x24,0x4f,0xfc
+,0xe5,0xec,0xba,0xaf,0x33,0xbd,0x75,0x1a
+,0x1a,0xc7,0x28,0xd4,0x5e,0x6c,0x61,0x29
+,0x6c,0xdc,0x3c,0x01,0x23,0x35,0x61,0xf4
+,0x1d,0xb6,0x6c,0xce,0x31,0x4a,0xdb,0x31
+,0x0e,0x3b,0xe8,0x25,0x0c,0x46,0xf0,0x6d
+,0xce,0xea,0x3a,0x7f,0xa1,0x34,0x80,0x57
+,0xe2,0xf6,0x55,0x6a,0xd6,0xb1,0x31,0x8a
+,0x02,0x4a,0x83,0x8f,0x21,0xaf,0x1f,0xde
+,0x04,0x89,0x77,0xeb,0x48,0xf5,0x9f,0xfd
+,0x49,0x24,0xca,0x1c,0x60,0x90,0x2e,0x52
+,0xf0,0xa0,0x89,0xbc,0x76,0x89,0x70,0x40
+,0xe0,0x82,0xf9,0x37,0x76,0x38,0x48,0x64
+,0x5e,0x07,0x05
diff --git a/src/libsodium/test/default/secretbox7.c b/src/libsodium/test/default/secretbox7.c
new file mode 100644
index 00000000..337f081b
--- /dev/null
+++ b/src/libsodium/test/default/secretbox7.c
@@ -0,0 +1,33 @@
+#include <stdio.h>
+
+#define TEST_NAME "secretbox7"
+#include "cmptest.h"
+
+unsigned char k[crypto_secretbox_KEYBYTES];
+unsigned char n[crypto_secretbox_NONCEBYTES];
+unsigned char m[10000];
+unsigned char c[10000];
+unsigned char m2[10000];
+
+int main(void)
+{
+  size_t mlen;
+  size_t i;
+
+  for (mlen = 0;mlen < 1000 && mlen + crypto_secretbox_ZEROBYTES < sizeof m;++mlen) {
+    randombytes(k,crypto_secretbox_KEYBYTES);
+    randombytes(n,crypto_secretbox_NONCEBYTES);
+    randombytes(m + crypto_secretbox_ZEROBYTES,mlen);
+    crypto_secretbox(c,m,mlen + crypto_secretbox_ZEROBYTES,n,k);
+    if (crypto_secretbox_open(m2,c,mlen + crypto_secretbox_ZEROBYTES,n,k) == 0) {
+      for (i = 0;i < mlen + crypto_secretbox_ZEROBYTES;++i)
+        if (m2[i] != m[i]) {
+          printf("bad decryption\n");
+          break;
+        }
+    } else {
+      printf("ciphertext fails verification\n");
+    }
+  }
+  return 0;
+}
diff --git a/src/libsodium/test/default/secretbox7.exp b/src/libsodium/test/default/secretbox7.exp
new file mode 100644
index 00000000..e69de29b
diff --git a/src/libsodium/test/default/secretbox8.c b/src/libsodium/test/default/secretbox8.c
new file mode 100644
index 00000000..94808dc9
--- /dev/null
+++ b/src/libsodium/test/default/secretbox8.c
@@ -0,0 +1,40 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include "windows/windows-quirks.h"
+
+#define TEST_NAME "secretbox8"
+#include "cmptest.h"
+
+unsigned char k[crypto_secretbox_KEYBYTES];
+unsigned char n[crypto_secretbox_NONCEBYTES];
+unsigned char m[10000];
+unsigned char c[10000];
+unsigned char m2[10000];
+
+int main(void)
+{
+  size_t mlen;
+  size_t i;
+  int caught;
+
+  for (mlen = 0;mlen < 1000 && mlen + crypto_secretbox_ZEROBYTES < sizeof m;++mlen) {
+    randombytes(k,crypto_secretbox_KEYBYTES);
+    randombytes(n,crypto_secretbox_NONCEBYTES);
+    randombytes(m + crypto_secretbox_ZEROBYTES,mlen);
+    crypto_secretbox(c,m,mlen + crypto_secretbox_ZEROBYTES,n,k);
+    caught = 0;
+    while (caught < 10) {
+      c[rand() % (mlen + crypto_secretbox_ZEROBYTES)] = rand();
+      if (crypto_secretbox_open(m2,c,mlen + crypto_secretbox_ZEROBYTES,n,k) == 0) {
+        for (i = 0;i < mlen + crypto_secretbox_ZEROBYTES;++i)
+          if (m2[i] != m[i]) {
+            printf("forgery\n");
+            return 100;
+          }
+      } else {
+        ++caught;
+      }
+    }
+  }
+  return 0;
+}
diff --git a/src/libsodium/test/default/secretbox8.exp b/src/libsodium/test/default/secretbox8.exp
new file mode 100644
index 00000000..e69de29b
diff --git a/src/libsodium/test/default/shorthash.c b/src/libsodium/test/default/shorthash.c
new file mode 100644
index 00000000..6f1d7f3c
--- /dev/null
+++ b/src/libsodium/test/default/shorthash.c
@@ -0,0 +1,23 @@
+#include <stdio.h>
+
+#include "crypto_uint8.h"
+
+#define TEST_NAME "shorthash"
+#include "cmptest.h"
+
+int main(void)
+{
+#define MAXLEN 64
+    crypto_uint8 in[MAXLEN], out[crypto_shorthash_BYTES], k[crypto_shorthash_KEYBYTES];
+    size_t i,j;
+
+    for( i = 0; i < crypto_shorthash_KEYBYTES; ++i ) k[i] = i;
+
+    for(i=0;i<MAXLEN;++i) {
+        in[i]=i;
+        crypto_shorthash( out, in, i, k );
+        for (j = 0;j < crypto_shorthash_BYTES;++j) printf("%02x",(unsigned int) out[j]);
+        printf("\n");
+    }
+    return 0;
+}
diff --git a/src/libsodium/test/default/shorthash.exp b/src/libsodium/test/default/shorthash.exp
new file mode 100644
index 00000000..6ec8684d
--- /dev/null
+++ b/src/libsodium/test/default/shorthash.exp
@@ -0,0 +1,64 @@
+310e0edd47db6f72
+fd67dc93c539f874
+5a4fa9d909806c0d
+2d7efbd796666785
+b7877127e09427cf
+8da699cd64557618
+cee3fe586e46c9cb
+37d1018bf50002ab
+6224939a79f5f593
+b0e4a90bdf82009e
+f3b9dd94c5bb5d7a
+a7ad6b22462fb3f4
+fbe50e86bc8f1e75
+903d84c02756ea14
+eef27a8e90ca23f7
+e545be4961ca29a1
+db9bc2577fcc2a3f
+9447be2cf5e99a69
+9cd38d96f0b3c14b
+bd6179a71dc96dbb
+98eea21af25cd6be
+c7673b2eb0cbf2d0
+883ea3e395675393
+c8ce5ccd8c030ca8
+94af49f6c650adb8
+eab8858ade92e1bc
+f315bb5bb835d817
+adcf6b0763612e2f
+a5c91da7acaa4dde
+716595876650a2a6
+28ef495c53a387ad
+42c341d8fa92d832
+ce7cf2722f512771
+e37859f94623f3a7
+381205bb1ab0e012
+ae97a10fd434e015
+b4a31508beff4d31
+81396229f0907902
+4d0cf49ee5d4dcca
+5c73336a76d8bf9a
+d0a704536ba93e0e
+925958fcd6420cad
+a915c29bc8067318
+952b79f3bc0aa6d4
+f21df2e41d4535f9
+87577519048f53a9
+10a56cf5dfcd9adb
+eb75095ccd986cd0
+51a9cb9ecba312e6
+96afadfc2ce666c7
+72fe52975a4364ee
+5a1645b276d592a1
+b274cb8ebf87870a
+6f9bb4203de7b381
+eaecb2a30b22a87f
+9924a43cc1315724
+bd838d3aafbf8db7
+0b1a2a3265d51aea
+135079a3231ce660
+932b2846e4d70666
+e1915f5cb1eca46c
+f325965ca16d629f
+575ff28e60381be5
+724506eb4c328a95
diff --git a/src/libsodium/test/default/sodium_core.c b/src/libsodium/test/default/sodium_core.c
new file mode 100644
index 00000000..7bdcca8f
--- /dev/null
+++ b/src/libsodium/test/default/sodium_core.c
@@ -0,0 +1,11 @@
+#include <stdio.h>
+
+#define TEST_NAME "sodium_core"
+#include "cmptest.h"
+
+int main(void)
+{
+  printf ("%d\n", sodium_init());
+
+  return 0;
+}
diff --git a/src/libsodium/test/default/sodium_core.exp b/src/libsodium/test/default/sodium_core.exp
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/src/libsodium/test/default/sodium_core.exp
@@ -0,0 +1 @@
+1
diff --git a/src/libsodium/test/default/sodium_utils.c b/src/libsodium/test/default/sodium_utils.c
new file mode 100644
index 00000000..177dbf23
--- /dev/null
+++ b/src/libsodium/test/default/sodium_utils.c
@@ -0,0 +1,27 @@
+#include <stdio.h>
+#include <string.h>
+
+#define TEST_NAME "sodium_utils"
+#include "cmptest.h"
+
+int main(void)
+{
+  unsigned char buf1[1000];
+  unsigned char buf2[1000];
+  char          buf3[33];
+
+  randombytes(buf1, sizeof buf1);
+  memcpy(buf2, buf1, sizeof buf2);
+  printf("%d\n", sodium_memcmp(buf1, buf2, sizeof buf1));
+  sodium_memzero(buf1, 0U);
+  printf("%d\n", sodium_memcmp(buf1, buf2, sizeof buf1));
+  sodium_memzero(buf1, sizeof buf1 / 2);
+  printf("%d\n", sodium_memcmp(buf1, buf2, sizeof buf1));
+  printf("%d\n", sodium_memcmp(buf1, buf2, 0U));
+  sodium_memzero(buf2, sizeof buf2 / 2);
+  printf("%d\n", sodium_memcmp(buf1, buf2, sizeof buf1));
+  printf("%s\n", sodium_bin2hex(buf3, 33U,
+                                (const unsigned char *)
+                                "0123456789ABCDEF", 16U));
+  return 0;
+}
diff --git a/src/libsodium/test/default/sodium_utils.exp b/src/libsodium/test/default/sodium_utils.exp
new file mode 100644
index 00000000..03cb2179
--- /dev/null
+++ b/src/libsodium/test/default/sodium_utils.exp
@@ -0,0 +1,6 @@
+0
+0
+255
+0
+0
+30313233343536373839414243444546
diff --git a/src/libsodium/test/default/sodium_version.c b/src/libsodium/test/default/sodium_version.c
new file mode 100644
index 00000000..aff06276
--- /dev/null
+++ b/src/libsodium/test/default/sodium_version.c
@@ -0,0 +1,13 @@
+#include <stdio.h>
+
+#define TEST_NAME "sodium_version"
+#include "cmptest.h"
+
+int main(void)
+{
+  printf ("%d\n", sodium_version_string() != NULL);
+  printf ("%d\n", sodium_library_version_major() > 0);
+  printf ("%d\n", sodium_library_version_minor() > 0);
+
+  return 0;
+}
diff --git a/src/libsodium/test/default/sodium_version.exp b/src/libsodium/test/default/sodium_version.exp
new file mode 100644
index 00000000..e8183f05
--- /dev/null
+++ b/src/libsodium/test/default/sodium_version.exp
@@ -0,0 +1,3 @@
+1
+1
+1
diff --git a/src/libsodium/test/default/stream.c b/src/libsodium/test/default/stream.c
new file mode 100644
index 00000000..cc6d4162
--- /dev/null
+++ b/src/libsodium/test/default/stream.c
@@ -0,0 +1,30 @@
+#include <stdio.h>
+
+#define TEST_NAME "stream"
+#include "cmptest.h"
+
+unsigned char firstkey[32] = {
+ 0x1b,0x27,0x55,0x64,0x73,0xe9,0x85,0xd4
+,0x62,0xcd,0x51,0x19,0x7a,0x9a,0x46,0xc7
+,0x60,0x09,0x54,0x9e,0xac,0x64,0x74,0xf2
+,0x06,0xc4,0xee,0x08,0x44,0xf6,0x83,0x89
+} ;
+
+unsigned char nonce[24] = {
+ 0x69,0x69,0x6e,0xe9,0x55,0xb6,0x2b,0x73
+,0xcd,0x62,0xbd,0xa8,0x75,0xfc,0x73,0xd6
+,0x82,0x19,0xe0,0x03,0x6b,0x7a,0x0b,0x37
+} ;
+
+unsigned char output[4194304];
+
+unsigned char h[32];
+
+int main(void)
+{
+  int i;
+  crypto_stream_xsalsa20(output,4194304,nonce,firstkey);
+  crypto_hash_sha256(h,output,sizeof output);
+  for (i = 0;i < 32;++i) printf("%02x",h[i]); printf("\n");
+  return 0;
+}
diff --git a/src/libsodium/test/default/stream.exp b/src/libsodium/test/default/stream.exp
new file mode 100644
index 00000000..5fa208c1
--- /dev/null
+++ b/src/libsodium/test/default/stream.exp
@@ -0,0 +1 @@
+662b9d0e3463029156069b12f918691a98f7dfb2ca0393c96bbfc6b1fbd630a2
diff --git a/src/libsodium/test/default/stream2.c b/src/libsodium/test/default/stream2.c
new file mode 100644
index 00000000..25cdb352
--- /dev/null
+++ b/src/libsodium/test/default/stream2.c
@@ -0,0 +1,28 @@
+#include <stdio.h>
+
+#define TEST_NAME "stream2"
+#include "cmptest.h"
+
+unsigned char secondkey[32] = {
+ 0xdc,0x90,0x8d,0xda,0x0b,0x93,0x44,0xa9
+,0x53,0x62,0x9b,0x73,0x38,0x20,0x77,0x88
+,0x80,0xf3,0xce,0xb4,0x21,0xbb,0x61,0xb9
+,0x1c,0xbd,0x4c,0x3e,0x66,0x25,0x6c,0xe4
+} ;
+
+unsigned char noncesuffix[8] = {
+ 0x82,0x19,0xe0,0x03,0x6b,0x7a,0x0b,0x37
+} ;
+
+unsigned char output[4194304];
+
+unsigned char h[32];
+
+int main(void)
+{
+  int i;
+  crypto_stream_salsa20(output,4194304,noncesuffix,secondkey);
+  crypto_hash_sha256(h,output,sizeof output);
+  for (i = 0;i < 32;++i) printf("%02x",h[i]); printf("\n");
+  return 0;
+}
diff --git a/src/libsodium/test/default/stream2.exp b/src/libsodium/test/default/stream2.exp
new file mode 100644
index 00000000..5fa208c1
--- /dev/null
+++ b/src/libsodium/test/default/stream2.exp
@@ -0,0 +1 @@
+662b9d0e3463029156069b12f918691a98f7dfb2ca0393c96bbfc6b1fbd630a2
diff --git a/src/libsodium/test/default/stream3.c b/src/libsodium/test/default/stream3.c
new file mode 100644
index 00000000..3a1f559d
--- /dev/null
+++ b/src/libsodium/test/default/stream3.c
@@ -0,0 +1,30 @@
+#include <stdio.h>
+
+#define TEST_NAME "stream3"
+#include "cmptest.h"
+
+unsigned char firstkey[32] = {
+ 0x1b,0x27,0x55,0x64,0x73,0xe9,0x85,0xd4
+,0x62,0xcd,0x51,0x19,0x7a,0x9a,0x46,0xc7
+,0x60,0x09,0x54,0x9e,0xac,0x64,0x74,0xf2
+,0x06,0xc4,0xee,0x08,0x44,0xf6,0x83,0x89
+} ;
+
+unsigned char nonce[24] = {
+ 0x69,0x69,0x6e,0xe9,0x55,0xb6,0x2b,0x73
+,0xcd,0x62,0xbd,0xa8,0x75,0xfc,0x73,0xd6
+,0x82,0x19,0xe0,0x03,0x6b,0x7a,0x0b,0x37
+} ;
+
+unsigned char rs[32];
+
+int main(void)
+{
+  int i;
+  crypto_stream_xsalsa20(rs,32,nonce,firstkey);
+  for (i = 0;i < 32;++i) {
+    printf(",0x%02x",(unsigned int) rs[i]);
+    if (i % 8 == 7) printf("\n");
+  }
+  return 0;
+}
diff --git a/src/libsodium/test/default/stream3.exp b/src/libsodium/test/default/stream3.exp
new file mode 100644
index 00000000..9cd78798
--- /dev/null
+++ b/src/libsodium/test/default/stream3.exp
@@ -0,0 +1,4 @@
+,0xee,0xa6,0xa7,0x25,0x1c,0x1e,0x72,0x91
+,0x6d,0x11,0xc2,0xcb,0x21,0x4d,0x3c,0x25
+,0x25,0x39,0x12,0x1d,0x8e,0x23,0x4e,0x65
+,0x2d,0x65,0x1f,0xa4,0xc8,0xcf,0xf8,0x80
diff --git a/src/libsodium/test/default/stream4.c b/src/libsodium/test/default/stream4.c
new file mode 100644
index 00000000..91c724f7
--- /dev/null
+++ b/src/libsodium/test/default/stream4.c
@@ -0,0 +1,55 @@
+#include <stdio.h>
+
+#define TEST_NAME "stream4"
+#include "cmptest.h"
+
+unsigned char firstkey[32] = {
+ 0x1b,0x27,0x55,0x64,0x73,0xe9,0x85,0xd4
+,0x62,0xcd,0x51,0x19,0x7a,0x9a,0x46,0xc7
+,0x60,0x09,0x54,0x9e,0xac,0x64,0x74,0xf2
+,0x06,0xc4,0xee,0x08,0x44,0xf6,0x83,0x89
+} ;
+
+unsigned char nonce[24] = {
+ 0x69,0x69,0x6e,0xe9,0x55,0xb6,0x2b,0x73
+,0xcd,0x62,0xbd,0xa8,0x75,0xfc,0x73,0xd6
+,0x82,0x19,0xe0,0x03,0x6b,0x7a,0x0b,0x37
+} ;
+
+unsigned char m[163] = {
+    0,   0,   0,   0,   0,   0,   0,   0
+,   0,   0,   0,   0,   0,   0,   0,   0
+,   0,   0,   0,   0,   0,   0,   0,   0
+,   0,   0,   0,   0,   0,   0,   0,   0
+,0xbe,0x07,0x5f,0xc5,0x3c,0x81,0xf2,0xd5
+,0xcf,0x14,0x13,0x16,0xeb,0xeb,0x0c,0x7b
+,0x52,0x28,0xc5,0x2a,0x4c,0x62,0xcb,0xd4
+,0x4b,0x66,0x84,0x9b,0x64,0x24,0x4f,0xfc
+,0xe5,0xec,0xba,0xaf,0x33,0xbd,0x75,0x1a
+,0x1a,0xc7,0x28,0xd4,0x5e,0x6c,0x61,0x29
+,0x6c,0xdc,0x3c,0x01,0x23,0x35,0x61,0xf4
+,0x1d,0xb6,0x6c,0xce,0x31,0x4a,0xdb,0x31
+,0x0e,0x3b,0xe8,0x25,0x0c,0x46,0xf0,0x6d
+,0xce,0xea,0x3a,0x7f,0xa1,0x34,0x80,0x57
+,0xe2,0xf6,0x55,0x6a,0xd6,0xb1,0x31,0x8a
+,0x02,0x4a,0x83,0x8f,0x21,0xaf,0x1f,0xde
+,0x04,0x89,0x77,0xeb,0x48,0xf5,0x9f,0xfd
+,0x49,0x24,0xca,0x1c,0x60,0x90,0x2e,0x52
+,0xf0,0xa0,0x89,0xbc,0x76,0x89,0x70,0x40
+,0xe0,0x82,0xf9,0x37,0x76,0x38,0x48,0x64
+,0x5e,0x07,0x05
+} ;
+
+unsigned char c[163];
+
+int main(void)
+{
+  int i;
+  crypto_stream_xsalsa20_xor(c,m,163,nonce,firstkey);
+  for (i = 32;i < 163;++i) {
+    printf(",0x%02x",(unsigned int) c[i]);
+    if (i % 8 == 7) printf("\n");
+  }
+  printf("\n");
+  return 0;
+}
diff --git a/src/libsodium/test/default/stream4.exp b/src/libsodium/test/default/stream4.exp
new file mode 100644
index 00000000..0d3d8e94
--- /dev/null
+++ b/src/libsodium/test/default/stream4.exp
@@ -0,0 +1,17 @@
+,0x8e,0x99,0x3b,0x9f,0x48,0x68,0x12,0x73
+,0xc2,0x96,0x50,0xba,0x32,0xfc,0x76,0xce
+,0x48,0x33,0x2e,0xa7,0x16,0x4d,0x96,0xa4
+,0x47,0x6f,0xb8,0xc5,0x31,0xa1,0x18,0x6a
+,0xc0,0xdf,0xc1,0x7c,0x98,0xdc,0xe8,0x7b
+,0x4d,0xa7,0xf0,0x11,0xec,0x48,0xc9,0x72
+,0x71,0xd2,0xc2,0x0f,0x9b,0x92,0x8f,0xe2
+,0x27,0x0d,0x6f,0xb8,0x63,0xd5,0x17,0x38
+,0xb4,0x8e,0xee,0xe3,0x14,0xa7,0xcc,0x8a
+,0xb9,0x32,0x16,0x45,0x48,0xe5,0x26,0xae
+,0x90,0x22,0x43,0x68,0x51,0x7a,0xcf,0xea
+,0xbd,0x6b,0xb3,0x73,0x2b,0xc0,0xe9,0xda
+,0x99,0x83,0x2b,0x61,0xca,0x01,0xb6,0xde
+,0x56,0x24,0x4a,0x9e,0x88,0xd5,0xf9,0xb3
+,0x79,0x73,0xf6,0x22,0xa4,0x3d,0x14,0xa6
+,0x59,0x9b,0x1f,0x65,0x4c,0xb4,0x5a,0x74
+,0xe3,0x55,0xa5
diff --git a/src/libsodium/test/default/stream5.c b/src/libsodium/test/default/stream5.c
new file mode 100644
index 00000000..58aa36f8
--- /dev/null
+++ b/src/libsodium/test/default/stream5.c
@@ -0,0 +1,29 @@
+#include <stdio.h>
+
+#define TEST_NAME "stream5"
+#include "cmptest.h"
+
+unsigned char firstkey[32] = {
+ 0x1b,0x27,0x55,0x64,0x73,0xe9,0x85,0xd4
+,0x62,0xcd,0x51,0x19,0x7a,0x9a,0x46,0xc7
+,0x60,0x09,0x54,0x9e,0xac,0x64,0x74,0xf2
+,0x06,0xc4,0xee,0x08,0x44,0xf6,0x83,0x89
+} ;
+
+unsigned char nonce[16] = {
+ 0x69,0x69,0x6e,0xe9,0x55,0xb6,0x2b,0x73
+,0xcd,0x62,0xbd,0xa8,0x75,0xfc,0x73,0xd6
+} ;
+
+unsigned char output[4194304];
+
+unsigned char h[32];
+
+int main(void)
+{
+  int i;
+  crypto_stream_aes256estream(output,4194304,nonce,firstkey);
+  crypto_hash_sha256(h,output,sizeof output);
+  for (i = 0;i < 32;++i) printf("%02x",h[i]); printf("\n");
+  return 0;
+}
diff --git a/src/libsodium/test/default/stream5.exp b/src/libsodium/test/default/stream5.exp
new file mode 100644
index 00000000..d55bf9f9
--- /dev/null
+++ b/src/libsodium/test/default/stream5.exp
@@ -0,0 +1 @@
+b5d3f979ab4a760787484b4e0cf7c82db358b06fdf365cc7d456cc91258af618
diff --git a/src/libsodium/test/default/stream6.c b/src/libsodium/test/default/stream6.c
new file mode 100644
index 00000000..668389fb
--- /dev/null
+++ b/src/libsodium/test/default/stream6.c
@@ -0,0 +1,54 @@
+#include <stdio.h>
+
+#define TEST_NAME "stream6"
+#include "cmptest.h"
+
+unsigned char firstkey[32] = {
+ 0x1b,0x27,0x55,0x64,0x73,0xe9,0x85,0xd4
+,0x62,0xcd,0x51,0x19,0x7a,0x9a,0x46,0xc7
+,0x60,0x09,0x54,0x9e,0xac,0x64,0x74,0xf2
+,0x06,0xc4,0xee,0x08,0x44,0xf6,0x83,0x89
+} ;
+
+unsigned char nonce[16] = {
+ 0x69,0x69,0x6e,0xe9,0x55,0xb6,0x2b,0x73
+,0xcd,0x62,0xbd,0xa8,0x75,0xfc,0x73,0xd6
+} ;
+
+unsigned char m[163] = {
+    0,   0,   0,   0,   0,   0,   0,   0
+,   0,   0,   0,   0,   0,   0,   0,   0
+,   0,   0,   0,   0,   0,   0,   0,   0
+,   0,   0,   0,   0,   0,   0,   0,   0
+,0xbe,0x07,0x5f,0xc5,0x3c,0x81,0xf2,0xd5
+,0xcf,0x14,0x13,0x16,0xeb,0xeb,0x0c,0x7b
+,0x52,0x28,0xc5,0x2a,0x4c,0x62,0xcb,0xd4
+,0x4b,0x66,0x84,0x9b,0x64,0x24,0x4f,0xfc
+,0xe5,0xec,0xba,0xaf,0x33,0xbd,0x75,0x1a
+,0x1a,0xc7,0x28,0xd4,0x5e,0x6c,0x61,0x29
+,0x6c,0xdc,0x3c,0x01,0x23,0x35,0x61,0xf4
+,0x1d,0xb6,0x6c,0xce,0x31,0x4a,0xdb,0x31
+,0x0e,0x3b,0xe8,0x25,0x0c,0x46,0xf0,0x6d
+,0xce,0xea,0x3a,0x7f,0xa1,0x34,0x80,0x57
+,0xe2,0xf6,0x55,0x6a,0xd6,0xb1,0x31,0x8a
+,0x02,0x4a,0x83,0x8f,0x21,0xaf,0x1f,0xde
+,0x04,0x89,0x77,0xeb,0x48,0xf5,0x9f,0xfd
+,0x49,0x24,0xca,0x1c,0x60,0x90,0x2e,0x52
+,0xf0,0xa0,0x89,0xbc,0x76,0x89,0x70,0x40
+,0xe0,0x82,0xf9,0x37,0x76,0x38,0x48,0x64
+,0x5e,0x07,0x05
+} ;
+
+unsigned char c[163];
+
+int main(void)
+{
+  int i;
+  crypto_stream_aes256estream_xor(c,m,163,nonce,firstkey);
+  for (i = 32;i < 163;++i) {
+    printf(",0x%02x",(unsigned int) c[i]);
+    if (i % 8 == 7) printf("\n");
+  }
+  printf("\n");
+  return 0;
+}
diff --git a/src/libsodium/test/default/stream6.exp b/src/libsodium/test/default/stream6.exp
new file mode 100644
index 00000000..a74aee22
--- /dev/null
+++ b/src/libsodium/test/default/stream6.exp
@@ -0,0 +1,17 @@
+,0x04,0x1d,0x9f,0xb0,0x61,0x23,0xe3,0x37
+,0x05,0xbb,0x0a,0xfe,0x81,0xc6,0x63,0x87
+,0xd0,0x61,0x26,0xd8,0xd7,0x18,0x97,0x66
+,0xc6,0x15,0xf3,0x46,0x58,0x7d,0xdc,0x0a
+,0x68,0xdd,0xc0,0xaa,0x44,0x80,0xc5,0xa2
+,0x1c,0xea,0x1f,0xfa,0x17,0xfe,0xe0,0xd1
+,0x00,0x0f,0x8f,0x70,0x0c,0xd2,0x9e,0xe1
+,0x00,0x88,0xdf,0xfa,0xf8,0xbd,0x07,0x62
+,0xbf,0xfd,0x81,0xa8,0x84,0x30,0x39,0x01
+,0x85,0x08,0x8d,0x66,0x5d,0x96,0x20,0x14
+,0xa0,0x5a,0xa4,0xe8,0xd2,0x07,0x4f,0x47
+,0x0c,0x2b,0xbc,0x9b,0xd1,0x11,0x85,0xda
+,0x71,0xc3,0x59,0x5c,0xd9,0x27,0x64,0x89
+,0xf2,0x2d,0xa7,0x10,0x80,0xdf,0xbb,0x0f
+,0x32,0xb9,0x9a,0x07,0x66,0x6c,0x7c,0x41
+,0xf6,0x78,0x71,0xf7,0x8d,0x69,0xb9,0xb1
+,0x79,0x8e,0xe3
diff --git a/src/libsodium/test/quirks/windows/windows-quirks.h b/src/libsodium/test/quirks/windows/windows-quirks.h
new file mode 100644
index 00000000..11d82bf9
--- /dev/null
+++ b/src/libsodium/test/quirks/windows/windows-quirks.h
@@ -0,0 +1,18 @@
+
+#include <stdlib.h>
+
+#ifdef _WIN32
+
+static void
+srandom(unsigned seed)
+{
+    srand(seed);
+}
+
+static long
+random(void)
+{
+    return (long) rand();
+}
+
+#endif
-- 
GitLab