laag-libsodium 1.0.16.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (550) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +57 -0
  3. data/LICENSE.txt +18 -0
  4. data/README.org +34 -0
  5. data/ext/laag/libsodium/extconf.rb +13 -0
  6. data/laag-libsodium.gemspec +20 -0
  7. data/lib/laag/libsodium.rb +31 -0
  8. data/vendor/github.com/jedisct1/libsodium/.gitignore +157 -0
  9. data/vendor/github.com/jedisct1/libsodium/.travis.yml +33 -0
  10. data/vendor/github.com/jedisct1/libsodium/AUTHORS +135 -0
  11. data/vendor/github.com/jedisct1/libsodium/ChangeLog +505 -0
  12. data/vendor/github.com/jedisct1/libsodium/LICENSE +18 -0
  13. data/vendor/github.com/jedisct1/libsodium/Makefile.am +24 -0
  14. data/vendor/github.com/jedisct1/libsodium/README.markdown +46 -0
  15. data/vendor/github.com/jedisct1/libsodium/THANKS +91 -0
  16. data/vendor/github.com/jedisct1/libsodium/appveyor.yml +25 -0
  17. data/vendor/github.com/jedisct1/libsodium/autogen.sh +36 -0
  18. data/vendor/github.com/jedisct1/libsodium/builds/.gitignore +7 -0
  19. data/vendor/github.com/jedisct1/libsodium/builds/Makefile.am +65 -0
  20. data/vendor/github.com/jedisct1/libsodium/builds/msvc/build/buildall.bat +14 -0
  21. data/vendor/github.com/jedisct1/libsodium/builds/msvc/build/buildbase.bat +70 -0
  22. data/vendor/github.com/jedisct1/libsodium/builds/msvc/properties/Common.props +21 -0
  23. data/vendor/github.com/jedisct1/libsodium/builds/msvc/properties/DLL.props +16 -0
  24. data/vendor/github.com/jedisct1/libsodium/builds/msvc/properties/Debug.props +29 -0
  25. data/vendor/github.com/jedisct1/libsodium/builds/msvc/properties/DebugDEXE.props +21 -0
  26. data/vendor/github.com/jedisct1/libsodium/builds/msvc/properties/DebugDLL.props +20 -0
  27. data/vendor/github.com/jedisct1/libsodium/builds/msvc/properties/DebugLEXE.props +20 -0
  28. data/vendor/github.com/jedisct1/libsodium/builds/msvc/properties/DebugLIB.props +21 -0
  29. data/vendor/github.com/jedisct1/libsodium/builds/msvc/properties/DebugLTCG.props +20 -0
  30. data/vendor/github.com/jedisct1/libsodium/builds/msvc/properties/DebugSEXE.props +21 -0
  31. data/vendor/github.com/jedisct1/libsodium/builds/msvc/properties/EXE.props +17 -0
  32. data/vendor/github.com/jedisct1/libsodium/builds/msvc/properties/LIB.props +16 -0
  33. data/vendor/github.com/jedisct1/libsodium/builds/msvc/properties/LTCG.props +13 -0
  34. data/vendor/github.com/jedisct1/libsodium/builds/msvc/properties/Link.props +21 -0
  35. data/vendor/github.com/jedisct1/libsodium/builds/msvc/properties/Messages.props +15 -0
  36. data/vendor/github.com/jedisct1/libsodium/builds/msvc/properties/Output.props +30 -0
  37. data/vendor/github.com/jedisct1/libsodium/builds/msvc/properties/Release.props +41 -0
  38. data/vendor/github.com/jedisct1/libsodium/builds/msvc/properties/ReleaseDEXE.props +20 -0
  39. data/vendor/github.com/jedisct1/libsodium/builds/msvc/properties/ReleaseDLL.props +19 -0
  40. data/vendor/github.com/jedisct1/libsodium/builds/msvc/properties/ReleaseLEXE.props +20 -0
  41. data/vendor/github.com/jedisct1/libsodium/builds/msvc/properties/ReleaseLIB.props +19 -0
  42. data/vendor/github.com/jedisct1/libsodium/builds/msvc/properties/ReleaseLTCG.props +19 -0
  43. data/vendor/github.com/jedisct1/libsodium/builds/msvc/properties/ReleaseSEXE.props +20 -0
  44. data/vendor/github.com/jedisct1/libsodium/builds/msvc/properties/Win32.props +23 -0
  45. data/vendor/github.com/jedisct1/libsodium/builds/msvc/properties/x64.props +26 -0
  46. data/vendor/github.com/jedisct1/libsodium/builds/msvc/resource.h +14 -0
  47. data/vendor/github.com/jedisct1/libsodium/builds/msvc/resource.rc +63 -0
  48. data/vendor/github.com/jedisct1/libsodium/builds/msvc/version.h +32 -0
  49. data/vendor/github.com/jedisct1/libsodium/builds/msvc/vs2010/libsodium/libsodium.props +48 -0
  50. data/vendor/github.com/jedisct1/libsodium/builds/msvc/vs2010/libsodium/libsodium.vcxproj +324 -0
  51. data/vendor/github.com/jedisct1/libsodium/builds/msvc/vs2010/libsodium/libsodium.vcxproj.filters +986 -0
  52. data/vendor/github.com/jedisct1/libsodium/builds/msvc/vs2010/libsodium/libsodium.xml +15 -0
  53. data/vendor/github.com/jedisct1/libsodium/builds/msvc/vs2010/libsodium.import.props +52 -0
  54. data/vendor/github.com/jedisct1/libsodium/builds/msvc/vs2010/libsodium.import.xml +17 -0
  55. data/vendor/github.com/jedisct1/libsodium/builds/msvc/vs2010/libsodium.sln +50 -0
  56. data/vendor/github.com/jedisct1/libsodium/builds/msvc/vs2012/libsodium/libsodium.props +48 -0
  57. data/vendor/github.com/jedisct1/libsodium/builds/msvc/vs2012/libsodium/libsodium.vcxproj +324 -0
  58. data/vendor/github.com/jedisct1/libsodium/builds/msvc/vs2012/libsodium/libsodium.vcxproj.filters +986 -0
  59. data/vendor/github.com/jedisct1/libsodium/builds/msvc/vs2012/libsodium/libsodium.xml +15 -0
  60. data/vendor/github.com/jedisct1/libsodium/builds/msvc/vs2012/libsodium.import.props +52 -0
  61. data/vendor/github.com/jedisct1/libsodium/builds/msvc/vs2012/libsodium.import.xml +17 -0
  62. data/vendor/github.com/jedisct1/libsodium/builds/msvc/vs2012/libsodium.sln +50 -0
  63. data/vendor/github.com/jedisct1/libsodium/builds/msvc/vs2013/libsodium/libsodium.props +48 -0
  64. data/vendor/github.com/jedisct1/libsodium/builds/msvc/vs2013/libsodium/libsodium.vcxproj +324 -0
  65. data/vendor/github.com/jedisct1/libsodium/builds/msvc/vs2013/libsodium/libsodium.vcxproj.filters +986 -0
  66. data/vendor/github.com/jedisct1/libsodium/builds/msvc/vs2013/libsodium/libsodium.xml +15 -0
  67. data/vendor/github.com/jedisct1/libsodium/builds/msvc/vs2013/libsodium.import.props +52 -0
  68. data/vendor/github.com/jedisct1/libsodium/builds/msvc/vs2013/libsodium.import.xml +17 -0
  69. data/vendor/github.com/jedisct1/libsodium/builds/msvc/vs2013/libsodium.sln +52 -0
  70. data/vendor/github.com/jedisct1/libsodium/builds/msvc/vs2015/libsodium/libsodium.props +48 -0
  71. data/vendor/github.com/jedisct1/libsodium/builds/msvc/vs2015/libsodium/libsodium.vcxproj +324 -0
  72. data/vendor/github.com/jedisct1/libsodium/builds/msvc/vs2015/libsodium/libsodium.vcxproj.filters +986 -0
  73. data/vendor/github.com/jedisct1/libsodium/builds/msvc/vs2015/libsodium/libsodium.xml +15 -0
  74. data/vendor/github.com/jedisct1/libsodium/builds/msvc/vs2015/libsodium.import.props +52 -0
  75. data/vendor/github.com/jedisct1/libsodium/builds/msvc/vs2015/libsodium.import.xml +17 -0
  76. data/vendor/github.com/jedisct1/libsodium/builds/msvc/vs2015/libsodium.sln +52 -0
  77. data/vendor/github.com/jedisct1/libsodium/builds/msvc/vs2017/libsodium/libsodium.props +48 -0
  78. data/vendor/github.com/jedisct1/libsodium/builds/msvc/vs2017/libsodium/libsodium.vcxproj +324 -0
  79. data/vendor/github.com/jedisct1/libsodium/builds/msvc/vs2017/libsodium/libsodium.vcxproj.filters +986 -0
  80. data/vendor/github.com/jedisct1/libsodium/builds/msvc/vs2017/libsodium/libsodium.xml +15 -0
  81. data/vendor/github.com/jedisct1/libsodium/builds/msvc/vs2017/libsodium.import.props +52 -0
  82. data/vendor/github.com/jedisct1/libsodium/builds/msvc/vs2017/libsodium.import.xml +17 -0
  83. data/vendor/github.com/jedisct1/libsodium/builds/msvc/vs2017/libsodium.sln +52 -0
  84. data/vendor/github.com/jedisct1/libsodium/configure.ac +824 -0
  85. data/vendor/github.com/jedisct1/libsodium/contrib/Findsodium.cmake +288 -0
  86. data/vendor/github.com/jedisct1/libsodium/contrib/Makefile.am +3 -0
  87. data/vendor/github.com/jedisct1/libsodium/dist-build/Makefile.am +17 -0
  88. data/vendor/github.com/jedisct1/libsodium/dist-build/android-arm.sh +4 -0
  89. data/vendor/github.com/jedisct1/libsodium/dist-build/android-armv7-a.sh +4 -0
  90. data/vendor/github.com/jedisct1/libsodium/dist-build/android-armv8-a.sh +4 -0
  91. data/vendor/github.com/jedisct1/libsodium/dist-build/android-build.sh +82 -0
  92. data/vendor/github.com/jedisct1/libsodium/dist-build/android-mips32.sh +4 -0
  93. data/vendor/github.com/jedisct1/libsodium/dist-build/android-mips64.sh +4 -0
  94. data/vendor/github.com/jedisct1/libsodium/dist-build/android-x86.sh +4 -0
  95. data/vendor/github.com/jedisct1/libsodium/dist-build/android-x86_64.sh +4 -0
  96. data/vendor/github.com/jedisct1/libsodium/dist-build/emscripten-symbols.def +570 -0
  97. data/vendor/github.com/jedisct1/libsodium/dist-build/emscripten.sh +168 -0
  98. data/vendor/github.com/jedisct1/libsodium/dist-build/generate-emscripten-symbols.sh +57 -0
  99. data/vendor/github.com/jedisct1/libsodium/dist-build/ios.sh +125 -0
  100. data/vendor/github.com/jedisct1/libsodium/dist-build/msys2-win32.sh +18 -0
  101. data/vendor/github.com/jedisct1/libsodium/dist-build/msys2-win64.sh +18 -0
  102. data/vendor/github.com/jedisct1/libsodium/dist-build/nativeclient-pnacl.sh +27 -0
  103. data/vendor/github.com/jedisct1/libsodium/dist-build/nativeclient-x86.sh +19 -0
  104. data/vendor/github.com/jedisct1/libsodium/dist-build/nativeclient-x86_64.sh +19 -0
  105. data/vendor/github.com/jedisct1/libsodium/dist-build/osx.sh +20 -0
  106. data/vendor/github.com/jedisct1/libsodium/libsodium-uninstalled.pc.in +6 -0
  107. data/vendor/github.com/jedisct1/libsodium/libsodium.pc.in +11 -0
  108. data/vendor/github.com/jedisct1/libsodium/libsodium.sln +40 -0
  109. data/vendor/github.com/jedisct1/libsodium/libsodium.vcxproj +562 -0
  110. data/vendor/github.com/jedisct1/libsodium/libsodium.vcxproj.filters +720 -0
  111. data/vendor/github.com/jedisct1/libsodium/logo.png +0 -0
  112. data/vendor/github.com/jedisct1/libsodium/m4/ax_check_catchable_abrt.m4 +57 -0
  113. data/vendor/github.com/jedisct1/libsodium/m4/ax_check_catchable_segv.m4 +42 -0
  114. data/vendor/github.com/jedisct1/libsodium/m4/ax_check_compile_flag.m4 +75 -0
  115. data/vendor/github.com/jedisct1/libsodium/m4/ax_check_define.m4 +92 -0
  116. data/vendor/github.com/jedisct1/libsodium/m4/ax_check_gnu_make.m4 +84 -0
  117. data/vendor/github.com/jedisct1/libsodium/m4/ax_check_link_flag.m4 +75 -0
  118. data/vendor/github.com/jedisct1/libsodium/m4/ax_pthread.m4 +485 -0
  119. data/vendor/github.com/jedisct1/libsodium/m4/ax_tls.m4 +74 -0
  120. data/vendor/github.com/jedisct1/libsodium/m4/ax_valgrind_check.m4 +241 -0
  121. data/vendor/github.com/jedisct1/libsodium/m4/ld-output-def.m4 +29 -0
  122. data/vendor/github.com/jedisct1/libsodium/msvc-scripts/Makefile.am +4 -0
  123. data/vendor/github.com/jedisct1/libsodium/msvc-scripts/process.bat +5 -0
  124. data/vendor/github.com/jedisct1/libsodium/msvc-scripts/rep.vbs +12 -0
  125. data/vendor/github.com/jedisct1/libsodium/msvc-scripts/sodium.props +28 -0
  126. data/vendor/github.com/jedisct1/libsodium/packaging/dotnet-core/.gitignore +5 -0
  127. data/vendor/github.com/jedisct1/libsodium/packaging/dotnet-core/README.md +59 -0
  128. data/vendor/github.com/jedisct1/libsodium/packaging/dotnet-core/libsodium.props +36 -0
  129. data/vendor/github.com/jedisct1/libsodium/packaging/dotnet-core/prepare.py +244 -0
  130. data/vendor/github.com/jedisct1/libsodium/packaging/dotnet-core/recipes/alpine-x64 +3 -0
  131. data/vendor/github.com/jedisct1/libsodium/packaging/dotnet-core/recipes/build +9 -0
  132. data/vendor/github.com/jedisct1/libsodium/packaging/dotnet-core/recipes/centos-x64 +3 -0
  133. data/vendor/github.com/jedisct1/libsodium/packaging/dotnet-core/recipes/debian-x64 +4 -0
  134. data/vendor/github.com/jedisct1/libsodium/packaging/dotnet-core/recipes/fedora-x64 +3 -0
  135. data/vendor/github.com/jedisct1/libsodium/packaging/dotnet-core/recipes/linux-x64 +4 -0
  136. data/vendor/github.com/jedisct1/libsodium/packaging/dotnet-core/recipes/opensuse-x64 +3 -0
  137. data/vendor/github.com/jedisct1/libsodium/packaging/dotnet-core/recipes/pack +5 -0
  138. data/vendor/github.com/jedisct1/libsodium/packaging/dotnet-core/recipes/test +27 -0
  139. data/vendor/github.com/jedisct1/libsodium/packaging/dotnet-core/recipes/ubuntu-x64 +4 -0
  140. data/vendor/github.com/jedisct1/libsodium/packaging/nuget/.gitignore +4 -0
  141. data/vendor/github.com/jedisct1/libsodium/packaging/nuget/package.bat +13 -0
  142. data/vendor/github.com/jedisct1/libsodium/packaging/nuget/package.config +4 -0
  143. data/vendor/github.com/jedisct1/libsodium/packaging/nuget/package.gsl +260 -0
  144. data/vendor/github.com/jedisct1/libsodium/regen-msvc/libsodium.vcxproj +326 -0
  145. data/vendor/github.com/jedisct1/libsodium/regen-msvc/libsodium.vcxproj.filters +23 -0
  146. data/vendor/github.com/jedisct1/libsodium/regen-msvc/libsodium.vcxproj.filters.tpl +35 -0
  147. data/vendor/github.com/jedisct1/libsodium/regen-msvc/libsodium.vcxproj.tpl +93 -0
  148. data/vendor/github.com/jedisct1/libsodium/regen-msvc/regen-msvc.py +136 -0
  149. data/vendor/github.com/jedisct1/libsodium/regen-msvc/tl_libsodium.vcxproj.filters.tpl +23 -0
  150. data/vendor/github.com/jedisct1/libsodium/regen-msvc/tl_libsodium.vcxproj.tpl +331 -0
  151. data/vendor/github.com/jedisct1/libsodium/src/Makefile.am +3 -0
  152. data/vendor/github.com/jedisct1/libsodium/src/libsodium/Makefile.am +290 -0
  153. data/vendor/github.com/jedisct1/libsodium/src/libsodium/crypto_aead/aes256gcm/aesni/aead_aes256gcm_aesni.c +1079 -0
  154. data/vendor/github.com/jedisct1/libsodium/src/libsodium/crypto_aead/chacha20poly1305/sodium/aead_chacha20poly1305.c +399 -0
  155. data/vendor/github.com/jedisct1/libsodium/src/libsodium/crypto_aead/xchacha20poly1305/sodium/aead_xchacha20poly1305.c +160 -0
  156. data/vendor/github.com/jedisct1/libsodium/src/libsodium/crypto_auth/crypto_auth.c +41 -0
  157. data/vendor/github.com/jedisct1/libsodium/src/libsodium/crypto_auth/hmacsha256/auth_hmacsha256.c +118 -0
  158. data/vendor/github.com/jedisct1/libsodium/src/libsodium/crypto_auth/hmacsha512/auth_hmacsha512.c +118 -0
  159. data/vendor/github.com/jedisct1/libsodium/src/libsodium/crypto_auth/hmacsha512256/auth_hmacsha512256.c +93 -0
  160. data/vendor/github.com/jedisct1/libsodium/src/libsodium/crypto_box/crypto_box.c +114 -0
  161. data/vendor/github.com/jedisct1/libsodium/src/libsodium/crypto_box/crypto_box_easy.c +115 -0
  162. data/vendor/github.com/jedisct1/libsodium/src/libsodium/crypto_box/crypto_box_seal.c +68 -0
  163. data/vendor/github.com/jedisct1/libsodium/src/libsodium/crypto_box/curve25519xchacha20poly1305/box_curve25519xchacha20poly1305.c +204 -0
  164. data/vendor/github.com/jedisct1/libsodium/src/libsodium/crypto_box/curve25519xchacha20poly1305/box_seal_curve25519xchacha20poly1305.c +79 -0
  165. data/vendor/github.com/jedisct1/libsodium/src/libsodium/crypto_box/curve25519xsalsa20poly1305/box_curve25519xsalsa20poly1305.c +156 -0
  166. data/vendor/github.com/jedisct1/libsodium/src/libsodium/crypto_core/ed25519/core_ed25519.c +79 -0
  167. data/vendor/github.com/jedisct1/libsodium/src/libsodium/crypto_core/ed25519/ref10/ed25519_ref10.c +2031 -0
  168. data/vendor/github.com/jedisct1/libsodium/src/libsodium/crypto_core/ed25519/ref10/fe_25_5/base.h +1344 -0
  169. data/vendor/github.com/jedisct1/libsodium/src/libsodium/crypto_core/ed25519/ref10/fe_25_5/base2.h +40 -0
  170. data/vendor/github.com/jedisct1/libsodium/src/libsodium/crypto_core/ed25519/ref10/fe_25_5/constants.h +20 -0
  171. data/vendor/github.com/jedisct1/libsodium/src/libsodium/crypto_core/ed25519/ref10/fe_25_5/fe.h +220 -0
  172. data/vendor/github.com/jedisct1/libsodium/src/libsodium/crypto_core/ed25519/ref10/fe_51/base.h +1344 -0
  173. data/vendor/github.com/jedisct1/libsodium/src/libsodium/crypto_core/ed25519/ref10/fe_51/base2.h +40 -0
  174. data/vendor/github.com/jedisct1/libsodium/src/libsodium/crypto_core/ed25519/ref10/fe_51/constants.h +21 -0
  175. data/vendor/github.com/jedisct1/libsodium/src/libsodium/crypto_core/ed25519/ref10/fe_51/fe.h +116 -0
  176. data/vendor/github.com/jedisct1/libsodium/src/libsodium/crypto_core/hchacha20/core_hchacha20.c +93 -0
  177. data/vendor/github.com/jedisct1/libsodium/src/libsodium/crypto_core/hsalsa20/core_hsalsa20.c +21 -0
  178. data/vendor/github.com/jedisct1/libsodium/src/libsodium/crypto_core/hsalsa20/ref2/core_hsalsa20_ref2.c +95 -0
  179. data/vendor/github.com/jedisct1/libsodium/src/libsodium/crypto_core/salsa/ref/core_salsa_ref.c +195 -0
  180. data/vendor/github.com/jedisct1/libsodium/src/libsodium/crypto_generichash/blake2b/generichash_blake2.c +55 -0
  181. data/vendor/github.com/jedisct1/libsodium/src/libsodium/crypto_generichash/blake2b/ref/blake2.h +109 -0
  182. data/vendor/github.com/jedisct1/libsodium/src/libsodium/crypto_generichash/blake2b/ref/blake2b-compress-avx2.c +49 -0
  183. data/vendor/github.com/jedisct1/libsodium/src/libsodium/crypto_generichash/blake2b/ref/blake2b-compress-avx2.h +140 -0
  184. data/vendor/github.com/jedisct1/libsodium/src/libsodium/crypto_generichash/blake2b/ref/blake2b-compress-ref.c +93 -0
  185. data/vendor/github.com/jedisct1/libsodium/src/libsodium/crypto_generichash/blake2b/ref/blake2b-compress-sse41.c +87 -0
  186. data/vendor/github.com/jedisct1/libsodium/src/libsodium/crypto_generichash/blake2b/ref/blake2b-compress-sse41.h +103 -0
  187. data/vendor/github.com/jedisct1/libsodium/src/libsodium/crypto_generichash/blake2b/ref/blake2b-compress-ssse3.c +90 -0
  188. data/vendor/github.com/jedisct1/libsodium/src/libsodium/crypto_generichash/blake2b/ref/blake2b-compress-ssse3.h +103 -0
  189. data/vendor/github.com/jedisct1/libsodium/src/libsodium/crypto_generichash/blake2b/ref/blake2b-load-avx2.h +340 -0
  190. data/vendor/github.com/jedisct1/libsodium/src/libsodium/crypto_generichash/blake2b/ref/blake2b-load-sse2.h +164 -0
  191. data/vendor/github.com/jedisct1/libsodium/src/libsodium/crypto_generichash/blake2b/ref/blake2b-load-sse41.h +307 -0
  192. data/vendor/github.com/jedisct1/libsodium/src/libsodium/crypto_generichash/blake2b/ref/blake2b-ref.c +436 -0
  193. data/vendor/github.com/jedisct1/libsodium/src/libsodium/crypto_generichash/blake2b/ref/generichash_blake2b.c +111 -0
  194. data/vendor/github.com/jedisct1/libsodium/src/libsodium/crypto_generichash/crypto_generichash.c +91 -0
  195. data/vendor/github.com/jedisct1/libsodium/src/libsodium/crypto_hash/crypto_hash.c +20 -0
  196. data/vendor/github.com/jedisct1/libsodium/src/libsodium/crypto_hash/sha256/cp/hash_sha256_cp.c +254 -0
  197. data/vendor/github.com/jedisct1/libsodium/src/libsodium/crypto_hash/sha256/hash_sha256.c +13 -0
  198. data/vendor/github.com/jedisct1/libsodium/src/libsodium/crypto_hash/sha512/cp/hash_sha512_cp.c +282 -0
  199. data/vendor/github.com/jedisct1/libsodium/src/libsodium/crypto_hash/sha512/hash_sha512.c +13 -0
  200. data/vendor/github.com/jedisct1/libsodium/src/libsodium/crypto_kdf/blake2b/kdf_blake2b.c +52 -0
  201. data/vendor/github.com/jedisct1/libsodium/src/libsodium/crypto_kdf/crypto_kdf.c +49 -0
  202. data/vendor/github.com/jedisct1/libsodium/src/libsodium/crypto_kx/crypto_kx.c +143 -0
  203. data/vendor/github.com/jedisct1/libsodium/src/libsodium/crypto_onetimeauth/crypto_onetimeauth.c +71 -0
  204. data/vendor/github.com/jedisct1/libsodium/src/libsodium/crypto_onetimeauth/poly1305/donna/poly1305_donna.c +124 -0
  205. data/vendor/github.com/jedisct1/libsodium/src/libsodium/crypto_onetimeauth/poly1305/donna/poly1305_donna.h +12 -0
  206. data/vendor/github.com/jedisct1/libsodium/src/libsodium/crypto_onetimeauth/poly1305/donna/poly1305_donna32.h +235 -0
  207. data/vendor/github.com/jedisct1/libsodium/src/libsodium/crypto_onetimeauth/poly1305/donna/poly1305_donna64.h +220 -0
  208. data/vendor/github.com/jedisct1/libsodium/src/libsodium/crypto_onetimeauth/poly1305/onetimeauth_poly1305.c +90 -0
  209. data/vendor/github.com/jedisct1/libsodium/src/libsodium/crypto_onetimeauth/poly1305/onetimeauth_poly1305.h +21 -0
  210. data/vendor/github.com/jedisct1/libsodium/src/libsodium/crypto_onetimeauth/poly1305/sse2/poly1305_sse2.c +949 -0
  211. data/vendor/github.com/jedisct1/libsodium/src/libsodium/crypto_onetimeauth/poly1305/sse2/poly1305_sse2.h +12 -0
  212. data/vendor/github.com/jedisct1/libsodium/src/libsodium/crypto_pwhash/argon2/argon2-core.c +549 -0
  213. data/vendor/github.com/jedisct1/libsodium/src/libsodium/crypto_pwhash/argon2/argon2-core.h +297 -0
  214. data/vendor/github.com/jedisct1/libsodium/src/libsodium/crypto_pwhash/argon2/argon2-encoding.c +305 -0
  215. data/vendor/github.com/jedisct1/libsodium/src/libsodium/crypto_pwhash/argon2/argon2-encoding.h +33 -0
  216. data/vendor/github.com/jedisct1/libsodium/src/libsodium/crypto_pwhash/argon2/argon2-fill-block-avx2.c +239 -0
  217. data/vendor/github.com/jedisct1/libsodium/src/libsodium/crypto_pwhash/argon2/argon2-fill-block-avx512f.c +244 -0
  218. data/vendor/github.com/jedisct1/libsodium/src/libsodium/crypto_pwhash/argon2/argon2-fill-block-ref.c +233 -0
  219. data/vendor/github.com/jedisct1/libsodium/src/libsodium/crypto_pwhash/argon2/argon2-fill-block-ssse3.c +238 -0
  220. data/vendor/github.com/jedisct1/libsodium/src/libsodium/crypto_pwhash/argon2/argon2.c +277 -0
  221. data/vendor/github.com/jedisct1/libsodium/src/libsodium/crypto_pwhash/argon2/argon2.h +305 -0
  222. data/vendor/github.com/jedisct1/libsodium/src/libsodium/crypto_pwhash/argon2/blake2b-long.c +79 -0
  223. data/vendor/github.com/jedisct1/libsodium/src/libsodium/crypto_pwhash/argon2/blake2b-long.h +8 -0
  224. data/vendor/github.com/jedisct1/libsodium/src/libsodium/crypto_pwhash/argon2/blamka-round-avx2.h +150 -0
  225. data/vendor/github.com/jedisct1/libsodium/src/libsodium/crypto_pwhash/argon2/blamka-round-avx512f.h +145 -0
  226. data/vendor/github.com/jedisct1/libsodium/src/libsodium/crypto_pwhash/argon2/blamka-round-ref.h +40 -0
  227. data/vendor/github.com/jedisct1/libsodium/src/libsodium/crypto_pwhash/argon2/blamka-round-ssse3.h +120 -0
  228. data/vendor/github.com/jedisct1/libsodium/src/libsodium/crypto_pwhash/argon2/pwhash_argon2i.c +290 -0
  229. data/vendor/github.com/jedisct1/libsodium/src/libsodium/crypto_pwhash/argon2/pwhash_argon2id.c +234 -0
  230. data/vendor/github.com/jedisct1/libsodium/src/libsodium/crypto_pwhash/crypto_pwhash.c +211 -0
  231. data/vendor/github.com/jedisct1/libsodium/src/libsodium/crypto_pwhash/scryptsalsa208sha256/crypto_scrypt-common.c +263 -0
  232. data/vendor/github.com/jedisct1/libsodium/src/libsodium/crypto_pwhash/scryptsalsa208sha256/crypto_scrypt.h +98 -0
  233. data/vendor/github.com/jedisct1/libsodium/src/libsodium/crypto_pwhash/scryptsalsa208sha256/nosse/pwhash_scryptsalsa208sha256_nosse.c +375 -0
  234. data/vendor/github.com/jedisct1/libsodium/src/libsodium/crypto_pwhash/scryptsalsa208sha256/pbkdf2-sha256.c +95 -0
  235. data/vendor/github.com/jedisct1/libsodium/src/libsodium/crypto_pwhash/scryptsalsa208sha256/pbkdf2-sha256.h +45 -0
  236. data/vendor/github.com/jedisct1/libsodium/src/libsodium/crypto_pwhash/scryptsalsa208sha256/pwhash_scryptsalsa208sha256.c +285 -0
  237. data/vendor/github.com/jedisct1/libsodium/src/libsodium/crypto_pwhash/scryptsalsa208sha256/scrypt_platform.c +108 -0
  238. data/vendor/github.com/jedisct1/libsodium/src/libsodium/crypto_pwhash/scryptsalsa208sha256/sse/pwhash_scryptsalsa208sha256_sse.c +400 -0
  239. data/vendor/github.com/jedisct1/libsodium/src/libsodium/crypto_scalarmult/crypto_scalarmult.c +33 -0
  240. data/vendor/github.com/jedisct1/libsodium/src/libsodium/crypto_scalarmult/curve25519/ref10/x25519_ref10.c +159 -0
  241. data/vendor/github.com/jedisct1/libsodium/src/libsodium/crypto_scalarmult/curve25519/ref10/x25519_ref10.h +10 -0
  242. data/vendor/github.com/jedisct1/libsodium/src/libsodium/crypto_scalarmult/curve25519/sandy2x/consts.S +25 -0
  243. data/vendor/github.com/jedisct1/libsodium/src/libsodium/crypto_scalarmult/curve25519/sandy2x/consts_namespace.h +20 -0
  244. data/vendor/github.com/jedisct1/libsodium/src/libsodium/crypto_scalarmult/curve25519/sandy2x/curve25519_sandy2x.c +114 -0
  245. data/vendor/github.com/jedisct1/libsodium/src/libsodium/crypto_scalarmult/curve25519/sandy2x/curve25519_sandy2x.h +9 -0
  246. data/vendor/github.com/jedisct1/libsodium/src/libsodium/crypto_scalarmult/curve25519/sandy2x/fe.h +26 -0
  247. data/vendor/github.com/jedisct1/libsodium/src/libsodium/crypto_scalarmult/curve25519/sandy2x/fe51.h +35 -0
  248. data/vendor/github.com/jedisct1/libsodium/src/libsodium/crypto_scalarmult/curve25519/sandy2x/fe51_invert.c +58 -0
  249. data/vendor/github.com/jedisct1/libsodium/src/libsodium/crypto_scalarmult/curve25519/sandy2x/fe51_mul.S +197 -0
  250. data/vendor/github.com/jedisct1/libsodium/src/libsodium/crypto_scalarmult/curve25519/sandy2x/fe51_namespace.h +16 -0
  251. data/vendor/github.com/jedisct1/libsodium/src/libsodium/crypto_scalarmult/curve25519/sandy2x/fe51_nsquare.S +172 -0
  252. data/vendor/github.com/jedisct1/libsodium/src/libsodium/crypto_scalarmult/curve25519/sandy2x/fe51_pack.S +226 -0
  253. data/vendor/github.com/jedisct1/libsodium/src/libsodium/crypto_scalarmult/curve25519/sandy2x/fe_frombytes_sandy2x.c +78 -0
  254. data/vendor/github.com/jedisct1/libsodium/src/libsodium/crypto_scalarmult/curve25519/sandy2x/ladder.S +1440 -0
  255. data/vendor/github.com/jedisct1/libsodium/src/libsodium/crypto_scalarmult/curve25519/sandy2x/ladder.h +18 -0
  256. data/vendor/github.com/jedisct1/libsodium/src/libsodium/crypto_scalarmult/curve25519/sandy2x/ladder_base.S +1295 -0
  257. data/vendor/github.com/jedisct1/libsodium/src/libsodium/crypto_scalarmult/curve25519/sandy2x/ladder_base.h +18 -0
  258. data/vendor/github.com/jedisct1/libsodium/src/libsodium/crypto_scalarmult/curve25519/sandy2x/ladder_base_namespace.h +8 -0
  259. data/vendor/github.com/jedisct1/libsodium/src/libsodium/crypto_scalarmult/curve25519/sandy2x/ladder_namespace.h +8 -0
  260. data/vendor/github.com/jedisct1/libsodium/src/libsodium/crypto_scalarmult/curve25519/sandy2x/sandy2x.S +17 -0
  261. data/vendor/github.com/jedisct1/libsodium/src/libsodium/crypto_scalarmult/curve25519/scalarmult_curve25519.c +59 -0
  262. data/vendor/github.com/jedisct1/libsodium/src/libsodium/crypto_scalarmult/curve25519/scalarmult_curve25519.h +11 -0
  263. data/vendor/github.com/jedisct1/libsodium/src/libsodium/crypto_scalarmult/ed25519/ref10/scalarmult_ed25519_ref10.c +86 -0
  264. data/vendor/github.com/jedisct1/libsodium/src/libsodium/crypto_secretbox/crypto_secretbox.c +67 -0
  265. data/vendor/github.com/jedisct1/libsodium/src/libsodium/crypto_secretbox/crypto_secretbox_easy.c +144 -0
  266. data/vendor/github.com/jedisct1/libsodium/src/libsodium/crypto_secretbox/xchacha20poly1305/secretbox_xchacha20poly1305.c +177 -0
  267. data/vendor/github.com/jedisct1/libsodium/src/libsodium/crypto_secretbox/xsalsa20poly1305/secretbox_xsalsa20poly1305.c +89 -0
  268. data/vendor/github.com/jedisct1/libsodium/src/libsodium/crypto_secretstream/xchacha20poly1305/secretstream_xchacha20poly1305.c +311 -0
  269. data/vendor/github.com/jedisct1/libsodium/src/libsodium/crypto_shorthash/crypto_shorthash.c +34 -0
  270. data/vendor/github.com/jedisct1/libsodium/src/libsodium/crypto_shorthash/siphash24/ref/shorthash_siphash24_ref.c +65 -0
  271. data/vendor/github.com/jedisct1/libsodium/src/libsodium/crypto_shorthash/siphash24/ref/shorthash_siphash_ref.h +24 -0
  272. data/vendor/github.com/jedisct1/libsodium/src/libsodium/crypto_shorthash/siphash24/ref/shorthash_siphashx24_ref.c +71 -0
  273. data/vendor/github.com/jedisct1/libsodium/src/libsodium/crypto_shorthash/siphash24/shorthash_siphash24.c +11 -0
  274. data/vendor/github.com/jedisct1/libsodium/src/libsodium/crypto_shorthash/siphash24/shorthash_siphashx24.c +11 -0
  275. data/vendor/github.com/jedisct1/libsodium/src/libsodium/crypto_sign/crypto_sign.c +115 -0
  276. data/vendor/github.com/jedisct1/libsodium/src/libsodium/crypto_sign/ed25519/ref10/keypair.c +91 -0
  277. data/vendor/github.com/jedisct1/libsodium/src/libsodium/crypto_sign/ed25519/ref10/obsolete.c +116 -0
  278. data/vendor/github.com/jedisct1/libsodium/src/libsodium/crypto_sign/ed25519/ref10/open.c +93 -0
  279. data/vendor/github.com/jedisct1/libsodium/src/libsodium/crypto_sign/ed25519/ref10/sign.c +144 -0
  280. data/vendor/github.com/jedisct1/libsodium/src/libsodium/crypto_sign/ed25519/ref10/sign_ed25519_ref10.h +18 -0
  281. data/vendor/github.com/jedisct1/libsodium/src/libsodium/crypto_sign/ed25519/sign_ed25519.c +97 -0
  282. data/vendor/github.com/jedisct1/libsodium/src/libsodium/crypto_stream/chacha20/dolbeau/chacha20_dolbeau-avx2.c +180 -0
  283. data/vendor/github.com/jedisct1/libsodium/src/libsodium/crypto_stream/chacha20/dolbeau/chacha20_dolbeau-avx2.h +8 -0
  284. data/vendor/github.com/jedisct1/libsodium/src/libsodium/crypto_stream/chacha20/dolbeau/chacha20_dolbeau-ssse3.c +174 -0
  285. data/vendor/github.com/jedisct1/libsodium/src/libsodium/crypto_stream/chacha20/dolbeau/chacha20_dolbeau-ssse3.h +8 -0
  286. data/vendor/github.com/jedisct1/libsodium/src/libsodium/crypto_stream/chacha20/dolbeau/u0.h +86 -0
  287. data/vendor/github.com/jedisct1/libsodium/src/libsodium/crypto_stream/chacha20/dolbeau/u1.h +98 -0
  288. data/vendor/github.com/jedisct1/libsodium/src/libsodium/crypto_stream/chacha20/dolbeau/u4.h +175 -0
  289. data/vendor/github.com/jedisct1/libsodium/src/libsodium/crypto_stream/chacha20/dolbeau/u8.h +357 -0
  290. data/vendor/github.com/jedisct1/libsodium/src/libsodium/crypto_stream/chacha20/ref/chacha20_ref.c +315 -0
  291. data/vendor/github.com/jedisct1/libsodium/src/libsodium/crypto_stream/chacha20/ref/chacha20_ref.h +8 -0
  292. data/vendor/github.com/jedisct1/libsodium/src/libsodium/crypto_stream/chacha20/stream_chacha20.c +130 -0
  293. data/vendor/github.com/jedisct1/libsodium/src/libsodium/crypto_stream/chacha20/stream_chacha20.h +22 -0
  294. data/vendor/github.com/jedisct1/libsodium/src/libsodium/crypto_stream/crypto_stream.c +49 -0
  295. data/vendor/github.com/jedisct1/libsodium/src/libsodium/crypto_stream/salsa20/ref/salsa20_ref.c +120 -0
  296. data/vendor/github.com/jedisct1/libsodium/src/libsodium/crypto_stream/salsa20/ref/salsa20_ref.h +8 -0
  297. data/vendor/github.com/jedisct1/libsodium/src/libsodium/crypto_stream/salsa20/stream_salsa20.c +100 -0
  298. data/vendor/github.com/jedisct1/libsodium/src/libsodium/crypto_stream/salsa20/stream_salsa20.h +16 -0
  299. data/vendor/github.com/jedisct1/libsodium/src/libsodium/crypto_stream/salsa20/xmm6/salsa20_xmm6-asm.S +960 -0
  300. data/vendor/github.com/jedisct1/libsodium/src/libsodium/crypto_stream/salsa20/xmm6/salsa20_xmm6.c +31 -0
  301. data/vendor/github.com/jedisct1/libsodium/src/libsodium/crypto_stream/salsa20/xmm6/salsa20_xmm6.h +8 -0
  302. data/vendor/github.com/jedisct1/libsodium/src/libsodium/crypto_stream/salsa20/xmm6int/salsa20_xmm6int-avx2.c +131 -0
  303. data/vendor/github.com/jedisct1/libsodium/src/libsodium/crypto_stream/salsa20/xmm6int/salsa20_xmm6int-avx2.h +8 -0
  304. data/vendor/github.com/jedisct1/libsodium/src/libsodium/crypto_stream/salsa20/xmm6int/salsa20_xmm6int-sse2.c +122 -0
  305. data/vendor/github.com/jedisct1/libsodium/src/libsodium/crypto_stream/salsa20/xmm6int/salsa20_xmm6int-sse2.h +8 -0
  306. data/vendor/github.com/jedisct1/libsodium/src/libsodium/crypto_stream/salsa20/xmm6int/u0.h +195 -0
  307. data/vendor/github.com/jedisct1/libsodium/src/libsodium/crypto_stream/salsa20/xmm6int/u1.h +207 -0
  308. data/vendor/github.com/jedisct1/libsodium/src/libsodium/crypto_stream/salsa20/xmm6int/u4.h +547 -0
  309. data/vendor/github.com/jedisct1/libsodium/src/libsodium/crypto_stream/salsa20/xmm6int/u8.h +476 -0
  310. data/vendor/github.com/jedisct1/libsodium/src/libsodium/crypto_stream/salsa2012/ref/stream_salsa2012_ref.c +106 -0
  311. data/vendor/github.com/jedisct1/libsodium/src/libsodium/crypto_stream/salsa2012/stream_salsa2012.c +26 -0
  312. data/vendor/github.com/jedisct1/libsodium/src/libsodium/crypto_stream/salsa208/ref/stream_salsa208_ref.c +106 -0
  313. data/vendor/github.com/jedisct1/libsodium/src/libsodium/crypto_stream/salsa208/stream_salsa208.c +26 -0
  314. data/vendor/github.com/jedisct1/libsodium/src/libsodium/crypto_stream/xchacha20/stream_xchacha20.c +69 -0
  315. data/vendor/github.com/jedisct1/libsodium/src/libsodium/crypto_stream/xsalsa20/stream_xsalsa20.c +66 -0
  316. data/vendor/github.com/jedisct1/libsodium/src/libsodium/crypto_verify/sodium/verify.c +98 -0
  317. data/vendor/github.com/jedisct1/libsodium/src/libsodium/include/Makefile.am +75 -0
  318. data/vendor/github.com/jedisct1/libsodium/src/libsodium/include/sodium/core.h +28 -0
  319. data/vendor/github.com/jedisct1/libsodium/src/libsodium/include/sodium/crypto_aead_aes256gcm.h +171 -0
  320. data/vendor/github.com/jedisct1/libsodium/src/libsodium/include/sodium/crypto_aead_chacha20poly1305.h +174 -0
  321. data/vendor/github.com/jedisct1/libsodium/src/libsodium/include/sodium/crypto_aead_xchacha20poly1305.h +97 -0
  322. data/vendor/github.com/jedisct1/libsodium/src/libsodium/include/sodium/crypto_auth.h +44 -0
  323. data/vendor/github.com/jedisct1/libsodium/src/libsodium/include/sodium/crypto_auth_hmacsha256.h +68 -0
  324. data/vendor/github.com/jedisct1/libsodium/src/libsodium/include/sodium/crypto_auth_hmacsha512.h +67 -0
  325. data/vendor/github.com/jedisct1/libsodium/src/libsodium/include/sodium/crypto_auth_hmacsha512256.h +62 -0
  326. data/vendor/github.com/jedisct1/libsodium/src/libsodium/include/sodium/crypto_box.h +173 -0
  327. data/vendor/github.com/jedisct1/libsodium/src/libsodium/include/sodium/crypto_box_curve25519xchacha20poly1305.h +159 -0
  328. data/vendor/github.com/jedisct1/libsodium/src/libsodium/include/sodium/crypto_box_curve25519xsalsa20poly1305.h +109 -0
  329. data/vendor/github.com/jedisct1/libsodium/src/libsodium/include/sodium/crypto_core_ed25519.h +37 -0
  330. data/vendor/github.com/jedisct1/libsodium/src/libsodium/include/sodium/crypto_core_hchacha20.h +35 -0
  331. data/vendor/github.com/jedisct1/libsodium/src/libsodium/include/sodium/crypto_core_hsalsa20.h +35 -0
  332. data/vendor/github.com/jedisct1/libsodium/src/libsodium/include/sodium/crypto_core_salsa20.h +35 -0
  333. data/vendor/github.com/jedisct1/libsodium/src/libsodium/include/sodium/crypto_core_salsa2012.h +35 -0
  334. data/vendor/github.com/jedisct1/libsodium/src/libsodium/include/sodium/crypto_core_salsa208.h +39 -0
  335. data/vendor/github.com/jedisct1/libsodium/src/libsodium/include/sodium/crypto_generichash.h +75 -0
  336. data/vendor/github.com/jedisct1/libsodium/src/libsodium/include/sodium/crypto_generichash_blake2b.h +117 -0
  337. data/vendor/github.com/jedisct1/libsodium/src/libsodium/include/sodium/crypto_hash.h +40 -0
  338. data/vendor/github.com/jedisct1/libsodium/src/libsodium/include/sodium/crypto_hash_sha256.h +57 -0
  339. data/vendor/github.com/jedisct1/libsodium/src/libsodium/include/sodium/crypto_hash_sha512.h +57 -0
  340. data/vendor/github.com/jedisct1/libsodium/src/libsodium/include/sodium/crypto_kdf.h +51 -0
  341. data/vendor/github.com/jedisct1/libsodium/src/libsodium/include/sodium/crypto_kdf_blake2b.h +42 -0
  342. data/vendor/github.com/jedisct1/libsodium/src/libsodium/include/sodium/crypto_kx.h +64 -0
  343. data/vendor/github.com/jedisct1/libsodium/src/libsodium/include/sodium/crypto_onetimeauth.h +62 -0
  344. data/vendor/github.com/jedisct1/libsodium/src/libsodium/include/sodium/crypto_onetimeauth_poly1305.h +67 -0
  345. data/vendor/github.com/jedisct1/libsodium/src/libsodium/include/sodium/crypto_pwhash.h +147 -0
  346. data/vendor/github.com/jedisct1/libsodium/src/libsodium/include/sodium/crypto_pwhash_argon2i.h +122 -0
  347. data/vendor/github.com/jedisct1/libsodium/src/libsodium/include/sodium/crypto_pwhash_argon2id.h +122 -0
  348. data/vendor/github.com/jedisct1/libsodium/src/libsodium/include/sodium/crypto_pwhash_scryptsalsa208sha256.h +120 -0
  349. data/vendor/github.com/jedisct1/libsodium/src/libsodium/include/sodium/crypto_scalarmult.h +45 -0
  350. data/vendor/github.com/jedisct1/libsodium/src/libsodium/include/sodium/crypto_scalarmult_curve25519.h +40 -0
  351. data/vendor/github.com/jedisct1/libsodium/src/libsodium/include/sodium/crypto_scalarmult_ed25519.h +41 -0
  352. data/vendor/github.com/jedisct1/libsodium/src/libsodium/include/sodium/crypto_secretbox.h +91 -0
  353. data/vendor/github.com/jedisct1/libsodium/src/libsodium/include/sodium/crypto_secretbox_xchacha20poly1305.h +68 -0
  354. data/vendor/github.com/jedisct1/libsodium/src/libsodium/include/sodium/crypto_secretbox_xsalsa20poly1305.h +67 -0
  355. data/vendor/github.com/jedisct1/libsodium/src/libsodium/include/sodium/crypto_secretstream_xchacha20poly1305.h +102 -0
  356. data/vendor/github.com/jedisct1/libsodium/src/libsodium/include/sodium/crypto_shorthash.h +39 -0
  357. data/vendor/github.com/jedisct1/libsodium/src/libsodium/include/sodium/crypto_shorthash_siphash24.h +48 -0
  358. data/vendor/github.com/jedisct1/libsodium/src/libsodium/include/sodium/crypto_sign.h +103 -0
  359. data/vendor/github.com/jedisct1/libsodium/src/libsodium/include/sodium/crypto_sign_ed25519.h +114 -0
  360. data/vendor/github.com/jedisct1/libsodium/src/libsodium/include/sodium/crypto_sign_edwards25519sha512batch.h +55 -0
  361. data/vendor/github.com/jedisct1/libsodium/src/libsodium/include/sodium/crypto_stream.h +56 -0
  362. data/vendor/github.com/jedisct1/libsodium/src/libsodium/include/sodium/crypto_stream_chacha20.h +98 -0
  363. data/vendor/github.com/jedisct1/libsodium/src/libsodium/include/sodium/crypto_stream_salsa20.h +57 -0
  364. data/vendor/github.com/jedisct1/libsodium/src/libsodium/include/sodium/crypto_stream_salsa2012.h +50 -0
  365. data/vendor/github.com/jedisct1/libsodium/src/libsodium/include/sodium/crypto_stream_salsa208.h +56 -0
  366. data/vendor/github.com/jedisct1/libsodium/src/libsodium/include/sodium/crypto_stream_xchacha20.h +57 -0
  367. data/vendor/github.com/jedisct1/libsodium/src/libsodium/include/sodium/crypto_stream_xsalsa20.h +57 -0
  368. data/vendor/github.com/jedisct1/libsodium/src/libsodium/include/sodium/crypto_verify_16.h +23 -0
  369. data/vendor/github.com/jedisct1/libsodium/src/libsodium/include/sodium/crypto_verify_32.h +23 -0
  370. data/vendor/github.com/jedisct1/libsodium/src/libsodium/include/sodium/crypto_verify_64.h +23 -0
  371. data/vendor/github.com/jedisct1/libsodium/src/libsodium/include/sodium/export.h +53 -0
  372. data/vendor/github.com/jedisct1/libsodium/src/libsodium/include/sodium/private/common.h +246 -0
  373. data/vendor/github.com/jedisct1/libsodium/src/libsodium/include/sodium/private/ed25519_ref10.h +125 -0
  374. data/vendor/github.com/jedisct1/libsodium/src/libsodium/include/sodium/private/ed25519_ref10_fe_25_5.h +1050 -0
  375. data/vendor/github.com/jedisct1/libsodium/src/libsodium/include/sodium/private/ed25519_ref10_fe_51.h +518 -0
  376. data/vendor/github.com/jedisct1/libsodium/src/libsodium/include/sodium/private/implementations.h +11 -0
  377. data/vendor/github.com/jedisct1/libsodium/src/libsodium/include/sodium/private/mutex.h +7 -0
  378. data/vendor/github.com/jedisct1/libsodium/src/libsodium/include/sodium/private/sse2_64_32.h +50 -0
  379. data/vendor/github.com/jedisct1/libsodium/src/libsodium/include/sodium/randombytes.h +68 -0
  380. data/vendor/github.com/jedisct1/libsodium/src/libsodium/include/sodium/randombytes_nativeclient.h +23 -0
  381. data/vendor/github.com/jedisct1/libsodium/src/libsodium/include/sodium/randombytes_salsa20_random.h +19 -0
  382. data/vendor/github.com/jedisct1/libsodium/src/libsodium/include/sodium/randombytes_sysrandom.h +19 -0
  383. data/vendor/github.com/jedisct1/libsodium/src/libsodium/include/sodium/runtime.h +52 -0
  384. data/vendor/github.com/jedisct1/libsodium/src/libsodium/include/sodium/utils.h +170 -0
  385. data/vendor/github.com/jedisct1/libsodium/src/libsodium/include/sodium/version.h.in +33 -0
  386. data/vendor/github.com/jedisct1/libsodium/src/libsodium/include/sodium.h +70 -0
  387. data/vendor/github.com/jedisct1/libsodium/src/libsodium/randombytes/nativeclient/randombytes_nativeclient.c +61 -0
  388. data/vendor/github.com/jedisct1/libsodium/src/libsodium/randombytes/randombytes.c +206 -0
  389. data/vendor/github.com/jedisct1/libsodium/src/libsodium/randombytes/salsa20/randombytes_salsa20_random.c +564 -0
  390. data/vendor/github.com/jedisct1/libsodium/src/libsodium/randombytes/sysrandom/randombytes_sysrandom.c +382 -0
  391. data/vendor/github.com/jedisct1/libsodium/src/libsodium/sodium/codecs.c +333 -0
  392. data/vendor/github.com/jedisct1/libsodium/src/libsodium/sodium/core.c +231 -0
  393. data/vendor/github.com/jedisct1/libsodium/src/libsodium/sodium/runtime.c +286 -0
  394. data/vendor/github.com/jedisct1/libsodium/src/libsodium/sodium/utils.c +737 -0
  395. data/vendor/github.com/jedisct1/libsodium/src/libsodium/sodium/version.c +30 -0
  396. data/vendor/github.com/jedisct1/libsodium/test/Makefile.am +5 -0
  397. data/vendor/github.com/jedisct1/libsodium/test/constcheck.sh +19 -0
  398. data/vendor/github.com/jedisct1/libsodium/test/default/Makefile.am +624 -0
  399. data/vendor/github.com/jedisct1/libsodium/test/default/aead_aes256gcm.c +3243 -0
  400. data/vendor/github.com/jedisct1/libsodium/test/default/aead_aes256gcm.exp +1 -0
  401. data/vendor/github.com/jedisct1/libsodium/test/default/aead_chacha20poly1305.c +372 -0
  402. data/vendor/github.com/jedisct1/libsodium/test/default/aead_chacha20poly1305.exp +63 -0
  403. data/vendor/github.com/jedisct1/libsodium/test/default/aead_xchacha20poly1305.c +198 -0
  404. data/vendor/github.com/jedisct1/libsodium/test/default/aead_xchacha20poly1305.exp +51 -0
  405. data/vendor/github.com/jedisct1/libsodium/test/default/auth.c +85 -0
  406. data/vendor/github.com/jedisct1/libsodium/test/default/auth.exp +30 -0
  407. data/vendor/github.com/jedisct1/libsodium/test/default/auth2.c +34 -0
  408. data/vendor/github.com/jedisct1/libsodium/test/default/auth2.exp +4 -0
  409. data/vendor/github.com/jedisct1/libsodium/test/default/auth3.c +31 -0
  410. data/vendor/github.com/jedisct1/libsodium/test/default/auth3.exp +1 -0
  411. data/vendor/github.com/jedisct1/libsodium/test/default/auth5.c +36 -0
  412. data/vendor/github.com/jedisct1/libsodium/test/default/auth5.exp +0 -0
  413. data/vendor/github.com/jedisct1/libsodium/test/default/auth6.c +23 -0
  414. data/vendor/github.com/jedisct1/libsodium/test/default/auth6.exp +8 -0
  415. data/vendor/github.com/jedisct1/libsodium/test/default/auth7.c +36 -0
  416. data/vendor/github.com/jedisct1/libsodium/test/default/auth7.exp +0 -0
  417. data/vendor/github.com/jedisct1/libsodium/test/default/box.c +112 -0
  418. data/vendor/github.com/jedisct1/libsodium/test/default/box.exp +38 -0
  419. data/vendor/github.com/jedisct1/libsodium/test/default/box2.c +80 -0
  420. data/vendor/github.com/jedisct1/libsodium/test/default/box2.exp +34 -0
  421. data/vendor/github.com/jedisct1/libsodium/test/default/box7.c +50 -0
  422. data/vendor/github.com/jedisct1/libsodium/test/default/box7.exp +0 -0
  423. data/vendor/github.com/jedisct1/libsodium/test/default/box8.c +58 -0
  424. data/vendor/github.com/jedisct1/libsodium/test/default/box8.exp +0 -0
  425. data/vendor/github.com/jedisct1/libsodium/test/default/box_easy.c +71 -0
  426. data/vendor/github.com/jedisct1/libsodium/test/default/box_easy.exp +3 -0
  427. data/vendor/github.com/jedisct1/libsodium/test/default/box_easy2.c +149 -0
  428. data/vendor/github.com/jedisct1/libsodium/test/default/box_easy2.exp +7 -0
  429. data/vendor/github.com/jedisct1/libsodium/test/default/box_seal.c +44 -0
  430. data/vendor/github.com/jedisct1/libsodium/test/default/box_seal.exp +4 -0
  431. data/vendor/github.com/jedisct1/libsodium/test/default/box_seed.c +30 -0
  432. data/vendor/github.com/jedisct1/libsodium/test/default/box_seed.exp +8 -0
  433. data/vendor/github.com/jedisct1/libsodium/test/default/chacha20.c +186 -0
  434. data/vendor/github.com/jedisct1/libsodium/test/default/chacha20.exp +64 -0
  435. data/vendor/github.com/jedisct1/libsodium/test/default/cmptest.h +138 -0
  436. data/vendor/github.com/jedisct1/libsodium/test/default/codecs.c +226 -0
  437. data/vendor/github.com/jedisct1/libsodium/test/default/codecs.exp +28 -0
  438. data/vendor/github.com/jedisct1/libsodium/test/default/core1.c +41 -0
  439. data/vendor/github.com/jedisct1/libsodium/test/default/core1.exp +4 -0
  440. data/vendor/github.com/jedisct1/libsodium/test/default/core2.c +38 -0
  441. data/vendor/github.com/jedisct1/libsodium/test/default/core2.exp +4 -0
  442. data/vendor/github.com/jedisct1/libsodium/test/default/core3.c +115 -0
  443. data/vendor/github.com/jedisct1/libsodium/test/default/core3.exp +3 -0
  444. data/vendor/github.com/jedisct1/libsodium/test/default/core4.c +36 -0
  445. data/vendor/github.com/jedisct1/libsodium/test/default/core4.exp +8 -0
  446. data/vendor/github.com/jedisct1/libsodium/test/default/core5.c +33 -0
  447. data/vendor/github.com/jedisct1/libsodium/test/default/core5.exp +4 -0
  448. data/vendor/github.com/jedisct1/libsodium/test/default/core6.c +52 -0
  449. data/vendor/github.com/jedisct1/libsodium/test/default/core6.exp +4 -0
  450. data/vendor/github.com/jedisct1/libsodium/test/default/core_ed25519.c +151 -0
  451. data/vendor/github.com/jedisct1/libsodium/test/default/core_ed25519.exp +1 -0
  452. data/vendor/github.com/jedisct1/libsodium/test/default/ed25519_convert.c +76 -0
  453. data/vendor/github.com/jedisct1/libsodium/test/default/ed25519_convert.exp +3 -0
  454. data/vendor/github.com/jedisct1/libsodium/test/default/generichash.c +1406 -0
  455. data/vendor/github.com/jedisct1/libsodium/test/default/generichash.exp +65 -0
  456. data/vendor/github.com/jedisct1/libsodium/test/default/generichash2.c +56 -0
  457. data/vendor/github.com/jedisct1/libsodium/test/default/generichash2.exp +64 -0
  458. data/vendor/github.com/jedisct1/libsodium/test/default/generichash3.c +176 -0
  459. data/vendor/github.com/jedisct1/libsodium/test/default/generichash3.exp +75 -0
  460. data/vendor/github.com/jedisct1/libsodium/test/default/hash.c +47 -0
  461. data/vendor/github.com/jedisct1/libsodium/test/default/hash.exp +4 -0
  462. data/vendor/github.com/jedisct1/libsodium/test/default/hash2.exp +1 -0
  463. data/vendor/github.com/jedisct1/libsodium/test/default/hash3.c +20 -0
  464. data/vendor/github.com/jedisct1/libsodium/test/default/hash3.exp +1 -0
  465. data/vendor/github.com/jedisct1/libsodium/test/default/index.html.tpl +98 -0
  466. data/vendor/github.com/jedisct1/libsodium/test/default/kdf.c +67 -0
  467. data/vendor/github.com/jedisct1/libsodium/test/default/kdf.exp +77 -0
  468. data/vendor/github.com/jedisct1/libsodium/test/default/keygen.c +67 -0
  469. data/vendor/github.com/jedisct1/libsodium/test/default/keygen.exp +1 -0
  470. data/vendor/github.com/jedisct1/libsodium/test/default/kx.c +149 -0
  471. data/vendor/github.com/jedisct1/libsodium/test/default/kx.exp +7 -0
  472. data/vendor/github.com/jedisct1/libsodium/test/default/metamorphic.c +187 -0
  473. data/vendor/github.com/jedisct1/libsodium/test/default/metamorphic.exp +1 -0
  474. data/vendor/github.com/jedisct1/libsodium/test/default/misuse.c +173 -0
  475. data/vendor/github.com/jedisct1/libsodium/test/default/misuse.exp +0 -0
  476. data/vendor/github.com/jedisct1/libsodium/test/default/nacl-test-wrapper.sh +35 -0
  477. data/vendor/github.com/jedisct1/libsodium/test/default/onetimeauth.c +63 -0
  478. data/vendor/github.com/jedisct1/libsodium/test/default/onetimeauth.exp +4 -0
  479. data/vendor/github.com/jedisct1/libsodium/test/default/onetimeauth2.c +33 -0
  480. data/vendor/github.com/jedisct1/libsodium/test/default/onetimeauth2.exp +1 -0
  481. data/vendor/github.com/jedisct1/libsodium/test/default/onetimeauth7.c +36 -0
  482. data/vendor/github.com/jedisct1/libsodium/test/default/onetimeauth7.exp +0 -0
  483. data/vendor/github.com/jedisct1/libsodium/test/default/pre.js.inc +20 -0
  484. data/vendor/github.com/jedisct1/libsodium/test/default/pwhash_argon2i.c +452 -0
  485. data/vendor/github.com/jedisct1/libsodium/test/default/pwhash_argon2i.exp +11 -0
  486. data/vendor/github.com/jedisct1/libsodium/test/default/pwhash_argon2id.c +503 -0
  487. data/vendor/github.com/jedisct1/libsodium/test/default/pwhash_argon2id.exp +14 -0
  488. data/vendor/github.com/jedisct1/libsodium/test/default/pwhash_scrypt.c +400 -0
  489. data/vendor/github.com/jedisct1/libsodium/test/default/pwhash_scrypt.exp +38 -0
  490. data/vendor/github.com/jedisct1/libsodium/test/default/pwhash_scrypt_ll.c +59 -0
  491. data/vendor/github.com/jedisct1/libsodium/test/default/pwhash_scrypt_ll.exp +15 -0
  492. data/vendor/github.com/jedisct1/libsodium/test/default/randombytes.c +167 -0
  493. data/vendor/github.com/jedisct1/libsodium/test/default/randombytes.exp +2 -0
  494. data/vendor/github.com/jedisct1/libsodium/test/default/scalarmult.c +71 -0
  495. data/vendor/github.com/jedisct1/libsodium/test/default/scalarmult.exp +4 -0
  496. data/vendor/github.com/jedisct1/libsodium/test/default/scalarmult2.c +32 -0
  497. data/vendor/github.com/jedisct1/libsodium/test/default/scalarmult2.exp +4 -0
  498. data/vendor/github.com/jedisct1/libsodium/test/default/scalarmult5.c +40 -0
  499. data/vendor/github.com/jedisct1/libsodium/test/default/scalarmult5.exp +4 -0
  500. data/vendor/github.com/jedisct1/libsodium/test/default/scalarmult6.c +54 -0
  501. data/vendor/github.com/jedisct1/libsodium/test/default/scalarmult6.exp +4 -0
  502. data/vendor/github.com/jedisct1/libsodium/test/default/scalarmult7.c +34 -0
  503. data/vendor/github.com/jedisct1/libsodium/test/default/scalarmult7.exp +1 -0
  504. data/vendor/github.com/jedisct1/libsodium/test/default/scalarmult_ed25519.c +90 -0
  505. data/vendor/github.com/jedisct1/libsodium/test/default/scalarmult_ed25519.exp +1 -0
  506. data/vendor/github.com/jedisct1/libsodium/test/default/secretbox.c +84 -0
  507. data/vendor/github.com/jedisct1/libsodium/test/default/secretbox.exp +38 -0
  508. data/vendor/github.com/jedisct1/libsodium/test/default/secretbox2.c +55 -0
  509. data/vendor/github.com/jedisct1/libsodium/test/default/secretbox2.exp +17 -0
  510. data/vendor/github.com/jedisct1/libsodium/test/default/secretbox7.c +36 -0
  511. data/vendor/github.com/jedisct1/libsodium/test/default/secretbox7.exp +0 -0
  512. data/vendor/github.com/jedisct1/libsodium/test/default/secretbox8.c +41 -0
  513. data/vendor/github.com/jedisct1/libsodium/test/default/secretbox8.exp +0 -0
  514. data/vendor/github.com/jedisct1/libsodium/test/default/secretbox_easy.c +124 -0
  515. data/vendor/github.com/jedisct1/libsodium/test/default/secretbox_easy.exp +9 -0
  516. data/vendor/github.com/jedisct1/libsodium/test/default/secretbox_easy2.c +72 -0
  517. data/vendor/github.com/jedisct1/libsodium/test/default/secretbox_easy2.exp +5 -0
  518. data/vendor/github.com/jedisct1/libsodium/test/default/secretstream.c +329 -0
  519. data/vendor/github.com/jedisct1/libsodium/test/default/secretstream.exp +1 -0
  520. data/vendor/github.com/jedisct1/libsodium/test/default/shorthash.c +35 -0
  521. data/vendor/github.com/jedisct1/libsodium/test/default/shorthash.exp +64 -0
  522. data/vendor/github.com/jedisct1/libsodium/test/default/sign.c +1331 -0
  523. data/vendor/github.com/jedisct1/libsodium/test/default/sign.exp +5 -0
  524. data/vendor/github.com/jedisct1/libsodium/test/default/siphashx24.c +33 -0
  525. data/vendor/github.com/jedisct1/libsodium/test/default/siphashx24.exp +64 -0
  526. data/vendor/github.com/jedisct1/libsodium/test/default/sodium_core.c +42 -0
  527. data/vendor/github.com/jedisct1/libsodium/test/default/sodium_core.exp +1 -0
  528. data/vendor/github.com/jedisct1/libsodium/test/default/sodium_utils.c +178 -0
  529. data/vendor/github.com/jedisct1/libsodium/test/default/sodium_utils.exp +16 -0
  530. data/vendor/github.com/jedisct1/libsodium/test/default/sodium_utils2.c +98 -0
  531. data/vendor/github.com/jedisct1/libsodium/test/default/sodium_utils2.exp +3 -0
  532. data/vendor/github.com/jedisct1/libsodium/test/default/sodium_utils3.c +68 -0
  533. data/vendor/github.com/jedisct1/libsodium/test/default/sodium_utils3.exp +2 -0
  534. data/vendor/github.com/jedisct1/libsodium/test/default/sodium_version.c +18 -0
  535. data/vendor/github.com/jedisct1/libsodium/test/default/sodium_version.exp +3 -0
  536. data/vendor/github.com/jedisct1/libsodium/test/default/stream.c +65 -0
  537. data/vendor/github.com/jedisct1/libsodium/test/default/stream.exp +67 -0
  538. data/vendor/github.com/jedisct1/libsodium/test/default/stream2.c +47 -0
  539. data/vendor/github.com/jedisct1/libsodium/test/default/stream2.exp +2 -0
  540. data/vendor/github.com/jedisct1/libsodium/test/default/stream3.c +31 -0
  541. data/vendor/github.com/jedisct1/libsodium/test/default/stream3.exp +4 -0
  542. data/vendor/github.com/jedisct1/libsodium/test/default/stream4.c +50 -0
  543. data/vendor/github.com/jedisct1/libsodium/test/default/stream4.exp +17 -0
  544. data/vendor/github.com/jedisct1/libsodium/test/default/verify1.c +76 -0
  545. data/vendor/github.com/jedisct1/libsodium/test/default/verify1.exp +2 -0
  546. data/vendor/github.com/jedisct1/libsodium/test/default/wintest.bat +56 -0
  547. data/vendor/github.com/jedisct1/libsodium/test/default/xchacha20.c +428 -0
  548. data/vendor/github.com/jedisct1/libsodium/test/default/xchacha20.exp +5 -0
  549. data/vendor/github.com/jedisct1/libsodium/test/quirks/quirks.h +51 -0
  550. metadata +613 -0
@@ -0,0 +1,824 @@
1
+ AC_PREREQ([2.65])
2
+ AC_INIT([libsodium],[1.0.16],
3
+ [https://github.com/jedisct1/libsodium/issues],
4
+ [libsodium],
5
+ [https://github.com/jedisct1/libsodium])
6
+ AC_CONFIG_AUX_DIR([build-aux])
7
+ AC_CONFIG_MACRO_DIR([m4])
8
+ AC_CONFIG_SRCDIR([src/libsodium/sodium/version.c])
9
+ AC_CANONICAL_HOST
10
+ AM_INIT_AUTOMAKE([1.11 dist-bzip2 tar-ustar foreign subdir-objects])
11
+ m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
12
+ AM_MAINTAINER_MODE
13
+ AM_DEP_TRACK
14
+
15
+ AC_SUBST(VERSION)
16
+ ISODATE=`date +%Y-%m-%d`
17
+ AC_SUBST(ISODATE)
18
+
19
+ SODIUM_LIBRARY_VERSION_MAJOR=10
20
+ SODIUM_LIBRARY_VERSION_MINOR=1
21
+ DLL_VERSION=8
22
+ SODIUM_LIBRARY_VERSION=24:0:1
23
+ # | | |
24
+ # +------+ | +---+
25
+ # | | |
26
+ # current:revision:age
27
+ # | | |
28
+ # | | +- increment if interfaces have been added
29
+ # | | set to zero if interfaces have been removed
30
+ # | | or changed
31
+ # | +- increment if source code has changed
32
+ # | set to zero if current is incremented
33
+ # +- increment if interfaces have been added, removed or changed
34
+ AC_SUBST(SODIUM_LIBRARY_VERSION_MAJOR)
35
+ AC_SUBST(SODIUM_LIBRARY_VERSION_MINOR)
36
+ AC_SUBST(SODIUM_LIBRARY_VERSION)
37
+ AC_SUBST(DLL_VERSION)
38
+
39
+ AC_LANG_ASSERT(C)
40
+ LX_CFLAGS=${CFLAGS-NONE}
41
+
42
+ dnl Path check
43
+
44
+ AS_IF([pwd | fgrep ' ' > /dev/null 2>&1],
45
+ [AC_MSG_ERROR([The build directory contains whitespaces - This can cause tests/installation to fail due to limitations of some libtool versions])]
46
+ )
47
+
48
+ dnl Switches
49
+
50
+ AC_ARG_ENABLE(ssp,
51
+ [AS_HELP_STRING(--disable-ssp,Do not compile with -fstack-protector)],
52
+ [
53
+ AS_IF([test "x$enableval" = "xno"], [
54
+ enable_ssp="no"
55
+ ], [
56
+ enable_ssp="yes"
57
+ ])
58
+ ],
59
+ [
60
+ enable_ssp="yes"
61
+ ])
62
+
63
+ AC_ARG_ENABLE(asm,
64
+ [AS_HELP_STRING(--disable-asm,Do not compile assembly code -- This disables all (including non-assembly) platform-specific optimizations on Unix systems)],
65
+ [
66
+ AS_IF([test "x$enableval" = "xno"], [
67
+ enable_asm="no"
68
+ ], [
69
+ enable_asm="yes"
70
+ ])
71
+ ],
72
+ [
73
+ enable_asm="yes"
74
+ ])
75
+
76
+ AS_IF([test "x$EMSCRIPTEN" != "x"], [
77
+ AX_CHECK_COMPILE_FLAG([-s ASSERTIONS=0], [
78
+ enable_asm="no"
79
+ AC_MSG_WARN([compiling to JavaScript - asm implementations disabled])
80
+ ], [
81
+ AC_MSG_WARN([EMSCRIPTEN environment variable defined, but emcc doesn't appear to be used - Assuming compilation to native code])
82
+ CFLAGS="$CFLAGS -U__EMSCRIPTEN__"
83
+ unset EMSCRIPTEN
84
+ ])
85
+ ])
86
+ AS_IF([test "$host_os" = "nacl" -o "$host_os" = "pnacl"], [
87
+ enable_asm="no"
88
+ AC_MSG_WARN([compiling to Native Client - asm implementations disabled])
89
+ ])
90
+
91
+ AC_ARG_ENABLE(pie,
92
+ [AS_HELP_STRING(--disable-pie,Do not produce position independent executables)],
93
+ enable_pie=$enableval, enable_pie="maybe")
94
+
95
+ AS_CASE([$host_os], [mingw*|cygwin*|msys], [enable_pie="no"])
96
+
97
+ AC_ARG_ENABLE(blocking-random,
98
+ [AS_HELP_STRING(--enable-blocking-random,Enable this switch only if /dev/urandom is totally broken on the target platform)],
99
+ [
100
+ AS_IF([test "x$enableval" = "xyes"], [
101
+ AC_DEFINE([USE_BLOCKING_RANDOM], [1], [/dev/urandom is insecure on the target platform])
102
+ ])
103
+ ])
104
+
105
+ AC_ARG_ENABLE(minimal,
106
+ [AS_HELP_STRING(--enable-minimal,
107
+ [Only compile the minimum set of functions required for the high-level API])],
108
+ [
109
+ AS_IF([test "x$enableval" = "xyes"], [
110
+ enable_minimal="yes"
111
+ SODIUM_LIBRARY_MINIMAL_DEF="#define SODIUM_LIBRARY_MINIMAL 1"
112
+ AC_DEFINE([MINIMAL], [1], [Define for a minimal build, without deprecated functions and functions that high-level APIs depend on])
113
+ ], [
114
+ enable_minimal="no"
115
+ ])
116
+ ],
117
+ [
118
+ enable_minimal="no"
119
+ ])
120
+ AM_CONDITIONAL([MINIMAL], [test x$enable_minimal = xyes])
121
+ AC_SUBST(SODIUM_LIBRARY_MINIMAL_DEF)
122
+
123
+ AC_ARG_WITH(pthreads, AC_HELP_STRING([--with-pthreads],
124
+ [use pthreads library, or --without-pthreads to disable threading support.]),
125
+ [ ], [withval="yes"])
126
+
127
+ AS_IF([test "x$withval" = "xyes"], [
128
+ AX_PTHREAD([
129
+ AC_DEFINE([HAVE_PTHREAD], [1], [Define if you have POSIX threads libraries and header files])
130
+ with_threads="yes"
131
+ LIBS="$PTHREAD_LIBS $LIBS"
132
+ CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
133
+ CC="$PTHREAD_CC"])
134
+ ], [with_threads="no"])
135
+
136
+ AC_ARG_WITH(safecode,
137
+ [AS_HELP_STRING(--with-safecode,For maintainers only - please do not use)],
138
+ [AS_IF([test "x$withval" = "xyes"], [
139
+ AC_ARG_VAR([SAFECODE_HOME], [set to the safecode base directory])
140
+ : ${SAFECODE_HOME:=/opt/safecode}
141
+ LDFLAGS="$LDFLAGS -L${SAFECODE_HOME}/lib"
142
+ LIBS="$LIBS -lsc_dbg_rt -lpoolalloc_bitmap -lstdc++"
143
+ CFLAGS="$CFLAGS -fmemsafety"
144
+ ])
145
+ ])
146
+
147
+ AC_ARG_WITH(ctgrind,
148
+ [AS_HELP_STRING(--with-ctgrind,For maintainers only - please do not use)],
149
+ [AS_IF([test "x$withval" = "xyes"], [
150
+ AC_CHECK_LIB(ctgrind, ct_poison)
151
+ ])
152
+ ])
153
+
154
+ ENABLE_CWFLAGS=no
155
+ AC_ARG_ENABLE(debug,
156
+ [AS_HELP_STRING(--enable-debug,For maintainers only - please do not use)],
157
+ [
158
+ AS_IF([test "x$enableval" = "xyes"], [
159
+ AS_IF([test "x$LX_CFLAGS" = "xNONE"], [
160
+ nxflags=""
161
+ for flag in `echo $CFLAGS`; do
162
+ AS_CASE([$flag],
163
+ [-O*], [ ],
164
+ [-g*], [ ],
165
+ [*], [AS_VAR_APPEND([nxflags], [" $flag"])])
166
+ done
167
+ CFLAGS="$nxflags -O -g3"
168
+ ])
169
+ ENABLE_CWFLAGS=yes
170
+ CPPFLAGS="$CPPFLAGS -DDEBUG=1 -U_FORTIFY_SOURCE"
171
+ ])
172
+ ])
173
+
174
+ AC_ARG_ENABLE(opt,
175
+ [AS_HELP_STRING(--enable-opt,Optimize for the native CPU - The resulting library will be faster but not portable)],
176
+ [
177
+ AS_IF([test "x$enableval" = "xyes"], [
178
+ AX_CHECK_COMPILE_FLAG([-Ofast], [CFLAGS="$CFLAGS -Ofast"])
179
+ AX_CHECK_COMPILE_FLAG([-fomit-frame-pointer], [CFLAGS="$CFLAGS -fomit-frame-pointer"])
180
+ AX_CHECK_COMPILE_FLAG([-march=native], [CFLAGS="$CFLAGS -march=native"])
181
+ ])
182
+ ])
183
+
184
+ AC_SUBST([MAINT])
185
+
186
+ AX_VALGRIND_CHECK
187
+
188
+ dnl Checks
189
+
190
+ AC_PROG_CC_C99
191
+ AM_PROG_AS
192
+ AC_USE_SYSTEM_EXTENSIONS
193
+ AC_C_VARARRAYS
194
+
195
+ AC_CHECK_DEFINE([__native_client__], [NATIVECLIENT="yes"], [])
196
+
197
+ AC_CHECK_DEFINE([_FORTIFY_SOURCE], [], [
198
+ AX_CHECK_COMPILE_FLAG([-D_FORTIFY_SOURCE=2],
199
+ [CPPFLAGS="$CPPFLAGS -D_FORTIFY_SOURCE=2"])
200
+ ])
201
+
202
+ AX_CHECK_COMPILE_FLAG([-fvisibility=hidden],
203
+ [CFLAGS="$CFLAGS -fvisibility=hidden"])
204
+
205
+ AS_CASE([$host_os], [cygwin*|mingw*|msys|pw32*|cegcc*], [ ], [
206
+ AX_CHECK_COMPILE_FLAG([-fPIC], [CFLAGS="$CFLAGS -fPIC"])
207
+ ])
208
+
209
+ AS_IF([test "$enable_pie" != "no"],[
210
+ AX_CHECK_COMPILE_FLAG([-fPIE], [
211
+ AX_CHECK_LINK_FLAG([-pie], [
212
+ [CFLAGS="$CFLAGS -fPIE"
213
+ LDFLAGS="$LDFLAGS -pie"]
214
+ ])
215
+ ])
216
+ ])
217
+
218
+ AX_CHECK_COMPILE_FLAG([-fno-strict-aliasing], [CFLAGS="$CFLAGS -fno-strict-aliasing"])
219
+ AX_CHECK_COMPILE_FLAG([-fno-strict-overflow], [CFLAGS="$CFLAGS -fno-strict-overflow"], [
220
+ AX_CHECK_COMPILE_FLAG([-fwrapv], [CFLAGS="$CFLAGS -fwrapv"])
221
+ ])
222
+
223
+ AS_IF([test "$GCC" = "yes" ], [
224
+ AS_CASE([$host_cpu],
225
+ [i?86|amd64|x86_64], [
226
+ AC_COMPILE_IFELSE(
227
+ [AC_LANG_SOURCE([
228
+ #if !defined(__clang__) && defined(__GNUC__) && ((__GNUC__ << 8) | __GNUC_MINOR__) < 0x403
229
+ # error old gcc
230
+ #endif
231
+ int main(void) { return 0; }
232
+ ])],,[
233
+ AX_CHECK_COMPILE_FLAG([-flax-vector-conversions], [CFLAGS="$CFLAGS -flax-vector-conversions"])
234
+ ])
235
+ ]
236
+ )
237
+ ])
238
+
239
+ LIBTOOL_OLD_FLAGS="$LIBTOOL_EXTRA_FLAGS"
240
+ LIBTOOL_EXTRA_FLAGS="$LIBTOOL_EXTRA_FLAGS -version-info $SODIUM_LIBRARY_VERSION"
241
+ AC_ARG_ENABLE(soname-versions,
242
+ [AC_HELP_STRING([--enable-soname-versions], [enable soname versions (must be disabled for Android) (default: enabled)])],
243
+ [
244
+ AS_IF([test "x$enableval" = "xno"], [
245
+ LIBTOOL_EXTRA_FLAGS="$LIBTOOL_OLD_FLAGS -avoid-version"
246
+ ])
247
+ ]
248
+ )
249
+
250
+ AS_CASE([$host_os],
251
+ [cygwin*|mingw*|msys|pw32*|cegcc*], [
252
+ AX_CHECK_LINK_FLAG([-Wl,--dynamicbase], [LDFLAGS="$LDFLAGS -Wl,--dynamicbase"])
253
+ AX_CHECK_LINK_FLAG([-Wl,--high-entropy-va], [LDFLAGS="$LDFLAGS -Wl,--high-entropy-va"])
254
+ AX_CHECK_LINK_FLAG([-Wl,--nxcompat], [LDFLAGS="$LDFLAGS -Wl,--nxcompat"])
255
+ ])
256
+
257
+ AS_CASE([$host_os],
258
+ [cygwin*|mingw*|msys|pw32*|cegcc*], [
259
+ AX_CHECK_COMPILE_FLAG([-fno-asynchronous-unwind-tables], [
260
+ [CFLAGS="$CFLAGS -fno-asynchronous-unwind-tables"]
261
+ ])
262
+ ])
263
+
264
+ AS_IF([test "x$enable_ssp" != "xno"],[
265
+
266
+ AS_CASE([$host_os],
267
+ [cygwin*|mingw*|msys|pw32*|cegcc*], [ ],
268
+ [*], [
269
+ AX_CHECK_COMPILE_FLAG([-fstack-protector], [
270
+ AX_CHECK_LINK_FLAG([-fstack-protector],
271
+ [CFLAGS="$CFLAGS -fstack-protector"]
272
+ )
273
+ ])
274
+ ])
275
+ ])
276
+
277
+ AC_ARG_VAR([CWFLAGS], [define to compilation flags for generating extra warnings])
278
+
279
+ AX_CHECK_COMPILE_FLAG([$CFLAGS -Wall], [CWFLAGS="$CFLAGS -Wall"])
280
+ AX_CHECK_COMPILE_FLAG([$CFLAGS -Wextra], [CWFLAGS="$CFLAGS -Wextra"])
281
+
282
+ AC_MSG_CHECKING(for clang)
283
+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[
284
+ #ifndef __clang__
285
+ #error Not clang
286
+ #endif
287
+ ]])],
288
+ [AC_MSG_RESULT(yes)
289
+ AX_CHECK_COMPILE_FLAG([$CWFLAGS -Wno-unknown-warning-option],
290
+ [CWFLAGS="$CWFLAGS -Wno-unknown-warning-option"])
291
+ ],
292
+ [AC_MSG_RESULT(no)
293
+ ])
294
+
295
+ AX_CHECK_COMPILE_FLAG([$CWFLAGS -Wbad-function-cast], [CWFLAGS="$CWFLAGS -Wbad-function-cast"])
296
+ AX_CHECK_COMPILE_FLAG([$CWFLAGS -Wcast-qual], [CWFLAGS="$CWFLAGS -Wcast-qual"])
297
+ AX_CHECK_COMPILE_FLAG([$CWFLAGS -Wdiv-by-zero], [CWFLAGS="$CWFLAGS -Wdiv-by-zero"])
298
+ AX_CHECK_COMPILE_FLAG([$CWFLAGS -Wduplicated-branches], [CWFLAGS="$CWFLAGS -Wduplicated-branches"])
299
+ AX_CHECK_COMPILE_FLAG([$CWFLAGS -Wduplicated-cond], [CWFLAGS="$CWFLAGS -Wduplicated-cond"])
300
+ AX_CHECK_COMPILE_FLAG([$CWFLAGS -Wfloat-equal], [CWFLAGS="$CWFLAGS -Wfloat-equal"])
301
+ AX_CHECK_COMPILE_FLAG([$CWFLAGS -Wformat=2], [CWFLAGS="$CWFLAGS -Wformat=2"])
302
+ AX_CHECK_COMPILE_FLAG([$CWFLAGS -Wlogical-op], [CWFLAGS="$CWFLAGS -Wlogical-op"])
303
+ AX_CHECK_COMPILE_FLAG([$CWFLAGS -Wmaybe-uninitialized], [CWFLAGS="$CWFLAGS -Wmaybe-uninitialized"])
304
+ AX_CHECK_COMPILE_FLAG([$CWFLAGS -Wmisleading-indentation], [CWFLAGS="$CWFLAGS -Wmisleading-indentation"])
305
+ AX_CHECK_COMPILE_FLAG([$CWFLAGS -Wmissing-declarations], [CWFLAGS="$CWFLAGS -Wmissing-declarations"])
306
+ AX_CHECK_COMPILE_FLAG([$CWFLAGS -Wmissing-prototypes], [CWFLAGS="$CWFLAGS -Wmissing-prototypes"])
307
+ AX_CHECK_COMPILE_FLAG([$CWFLAGS -Wnested-externs], [CWFLAGS="$CWFLAGS -Wnested-externs"])
308
+ AX_CHECK_COMPILE_FLAG([$CWFLAGS -Wno-type-limits], [CWFLAGS="$CWFLAGS -Wno-type-limits"])
309
+ AX_CHECK_COMPILE_FLAG([$CWFLAGS -Wno-unknown-pragmas], [CWFLAGS="$CWFLAGS -Wno-unknown-pragmas"])
310
+ AX_CHECK_COMPILE_FLAG([$CWFLAGS -Wnormalized=id], [CWFLAGS="$CWFLAGS -Wnormalized=id"])
311
+ AX_CHECK_COMPILE_FLAG([$CWFLAGS -Wnull-dereference], [CWFLAGS="$CWFLAGS -Wnull-dereference"])
312
+ AX_CHECK_COMPILE_FLAG([$CWFLAGS -Wold-style-declaration], [CWFLAGS="$CWFLAGS -Wold-style-declaration"])
313
+ AX_CHECK_COMPILE_FLAG([$CWFLAGS -Wpointer-arith], [CWFLAGS="$CWFLAGS -Wpointer-arith"])
314
+ AX_CHECK_COMPILE_FLAG([$CWFLAGS -Wredundant-decls], [CWFLAGS="$CWFLAGS -Wredundant-decls"])
315
+ AX_CHECK_COMPILE_FLAG([$CWFLAGS -Wrestrict], [CWFLAGS="$CWFLAGS -Wrestrict"])
316
+ AX_CHECK_COMPILE_FLAG([$CWFLAGS -Wshorten-64-to-32], [CWFLAGS="$CWFLAGS -Wshorten-64-to-32"])
317
+ AX_CHECK_COMPILE_FLAG([$CWFLAGS -Wsometimes-uninitialized], [CWFLAGS="$CWFLAGS -Wsometimes-uninitialized"])
318
+ AX_CHECK_COMPILE_FLAG([$CWFLAGS -Wstrict-prototypes], [CWFLAGS="$CWFLAGS -Wstrict-prototypes"])
319
+ AX_CHECK_COMPILE_FLAG([$CWFLAGS -Wswitch-enum], [CWFLAGS="$CWFLAGS -Wswitch-enum"])
320
+ AX_CHECK_COMPILE_FLAG([$CWFLAGS -Wvariable-decl], [CWFLAGS="$CWFLAGS -Wvariable-decl"])
321
+ AX_CHECK_COMPILE_FLAG([$CWFLAGS -Wwrite-strings], [CWFLAGS="$CWFLAGS -Wwrite-strings"])
322
+
323
+ AX_CHECK_LINK_FLAG([-Wl,-z,relro], [LDFLAGS="$LDFLAGS -Wl,-z,relro"])
324
+ AX_CHECK_LINK_FLAG([-Wl,-z,now], [LDFLAGS="$LDFLAGS -Wl,-z,now"])
325
+ AX_CHECK_LINK_FLAG([-Wl,-z,noexecstack], [LDFLAGS="$LDFLAGS -Wl,-z,noexecstack"])
326
+
327
+ AC_MSG_CHECKING(for a broken clang + AVX512 combination)
328
+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[
329
+ #if !(defined(__AVX512F__) && defined(__clang__) && __clang_major__ < 4)
330
+ #error Not a broken clang + AVX512 combination
331
+ #endif
332
+ ]])],
333
+ [AC_MSG_RESULT(yes - disabling AVX512 optimizations)
334
+ AX_CHECK_COMPILE_FLAG([$CFLAGS -mno-avx512f],
335
+ [CFLAGS="$CFLAGS -mno-avx512f"])
336
+ ],
337
+ [AC_MSG_RESULT(no)
338
+ ])
339
+
340
+ AX_CHECK_CATCHABLE_SEGV
341
+ AX_CHECK_CATCHABLE_ABRT
342
+
343
+ AS_IF([test "x$with_threads" = "xyes"], [
344
+ AX_TLS([AC_MSG_RESULT(thread local storage is supported)],
345
+ [AC_MSG_RESULT(thread local storage is not supported)]) ])
346
+
347
+ LT_INIT
348
+ AC_SUBST(LIBTOOL_DEPS)
349
+
350
+ AC_ARG_VAR([AR], [path to the ar utility])
351
+ AC_CHECK_TOOL([AR], [ar], [ar])
352
+
353
+ dnl Checks for headers
354
+
355
+ AS_IF([test "x$EMSCRIPTEN" = "x" -a "$host_os" != "pnacl"], [
356
+
357
+ oldcflags="$CFLAGS"
358
+ AX_CHECK_COMPILE_FLAG([-mmmx], [CFLAGS="$CFLAGS -mmmx"])
359
+ AC_MSG_CHECKING(for MMX instructions set)
360
+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
361
+ #pragma GCC target("mmx")
362
+ #include <mmintrin.h>
363
+ ]], [[ __m64 x = _mm_setzero_si64(); ]])],
364
+ [AC_MSG_RESULT(yes)
365
+ AC_DEFINE([HAVE_MMINTRIN_H], [1], [mmx is available])
366
+ AX_CHECK_COMPILE_FLAG([-mmmx], [CFLAGS_MMX="-mmmx"])],
367
+ [AC_MSG_RESULT(no)])
368
+ CFLAGS="$oldcflags"
369
+
370
+ oldcflags="$CFLAGS"
371
+ AX_CHECK_COMPILE_FLAG([-msse2], [CFLAGS="$CFLAGS -msse2"])
372
+ AC_MSG_CHECKING(for SSE2 instructions set)
373
+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
374
+ #pragma GCC target("sse2")
375
+ #ifndef __SSE2__
376
+ # define __SSE2__
377
+ #endif
378
+ #include <emmintrin.h>
379
+ ]], [[ __m128d x = _mm_setzero_pd();
380
+ __m128i z = _mm_srli_epi64(_mm_setzero_si128(), 26); ]])],
381
+ [AC_MSG_RESULT(yes)
382
+ AC_DEFINE([HAVE_EMMINTRIN_H], [1], [sse2 is available])
383
+ AX_CHECK_COMPILE_FLAG([-msse2], [CFLAGS_SSE2="-msse2"])],
384
+ [AC_MSG_RESULT(no)])
385
+ CFLAGS="$oldcflags"
386
+
387
+ oldcflags="$CFLAGS"
388
+ AX_CHECK_COMPILE_FLAG([-msse3], [CFLAGS="$CFLAGS -msse3"])
389
+ AC_MSG_CHECKING(for SSE3 instructions set)
390
+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
391
+ #pragma GCC target("sse3")
392
+ #include <pmmintrin.h>
393
+ ]], [[ __m128 x = _mm_addsub_ps(_mm_cvtpd_ps(_mm_setzero_pd()),
394
+ _mm_cvtpd_ps(_mm_setzero_pd())); ]])],
395
+ [AC_MSG_RESULT(yes)
396
+ AC_DEFINE([HAVE_PMMINTRIN_H], [1], [sse3 is available])
397
+ AX_CHECK_COMPILE_FLAG([-msse3], [CFLAGS_SSE3="-msse3"])],
398
+ [AC_MSG_RESULT(no)])
399
+ CFLAGS="$oldcflags"
400
+
401
+ oldcflags="$CFLAGS"
402
+ AX_CHECK_COMPILE_FLAG([-mssse3], [CFLAGS="$CFLAGS -mssse3"])
403
+ AC_MSG_CHECKING(for SSSE3 instructions set)
404
+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
405
+ #pragma GCC target("ssse3")
406
+ #include <tmmintrin.h>
407
+ ]], [[ __m64 x = _mm_abs_pi32(_m_from_int(0)); ]])],
408
+ [AC_MSG_RESULT(yes)
409
+ AC_DEFINE([HAVE_TMMINTRIN_H], [1], [ssse3 is available])
410
+ AX_CHECK_COMPILE_FLAG([-mssse3], [CFLAGS_SSSE3="-mssse3"])],
411
+ [AC_MSG_RESULT(no)])
412
+ CFLAGS="$oldcflags"
413
+
414
+ oldcflags="$CFLAGS"
415
+ AX_CHECK_COMPILE_FLAG([-msse4.1], [CFLAGS="$CFLAGS -msse4.1"])
416
+ AC_MSG_CHECKING(for SSE4.1 instructions set)
417
+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
418
+ #pragma GCC target("sse4.1")
419
+ #include <smmintrin.h>
420
+ ]], [[ __m128i x = _mm_minpos_epu16(_mm_setzero_si128()); ]])],
421
+ [AC_MSG_RESULT(yes)
422
+ AC_DEFINE([HAVE_SMMINTRIN_H], [1], [sse4.1 is available])
423
+ AX_CHECK_COMPILE_FLAG([-msse4.1], [CFLAGS_SSE41="-msse4.1"])],
424
+ [AC_MSG_RESULT(no)])
425
+ CFLAGS="$oldcflags"
426
+
427
+ oldcflags="$CFLAGS"
428
+ AX_CHECK_COMPILE_FLAG([-mavx], [CFLAGS="$CFLAGS -mavx"])
429
+ AC_MSG_CHECKING(for AVX instructions set)
430
+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
431
+ #ifdef __native_client__
432
+ # error NativeClient detected - Avoiding AVX opcodes
433
+ #endif
434
+ #pragma GCC target("avx")
435
+ #include <immintrin.h>
436
+ ]], [[ _mm256_zeroall(); ]])],
437
+ [AC_MSG_RESULT(yes)
438
+ AC_DEFINE([HAVE_AVXINTRIN_H], [1], [AVX is available])
439
+ AX_CHECK_COMPILE_FLAG([-mavx], [CFLAGS_AVX="-mavx"])],
440
+ [AC_MSG_RESULT(no)])
441
+ CFLAGS="$oldcflags"
442
+
443
+ oldcflags="$CFLAGS"
444
+ AX_CHECK_COMPILE_FLAG([-mavx2], [CFLAGS="$CFLAGS -mavx2"])
445
+ AC_MSG_CHECKING(for AVX2 instructions set)
446
+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
447
+ #ifdef __native_client__
448
+ # error NativeClient detected - Avoiding AVX2 opcodes
449
+ #endif
450
+ #pragma GCC target("avx2")
451
+ #include <immintrin.h>
452
+ ]], [[
453
+ __m256 x = _mm256_set1_ps(3.14);
454
+ __m256 y = _mm256_permutevar8x32_ps(x, _mm256_set1_epi32(42));
455
+ return _mm256_movemask_ps(_mm256_cmp_ps(x, y, _CMP_NEQ_OQ));
456
+ ]])],
457
+ [AC_MSG_RESULT(yes)
458
+ AC_DEFINE([HAVE_AVX2INTRIN_H], [1], [AVX2 is available])
459
+ AX_CHECK_COMPILE_FLAG([-mavx2], [CFLAGS_AVX2="-mavx2"])
460
+ AC_MSG_CHECKING(if _mm256_broadcastsi128_si256 is correctly defined)
461
+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
462
+ #ifdef __native_client__
463
+ # error NativeClient detected - Avoiding AVX2 opcodes
464
+ #endif
465
+ #pragma GCC target("avx2")
466
+ #include <immintrin.h>
467
+ ]], [[ __m256i y = _mm256_broadcastsi128_si256(_mm_setzero_si128()); ]])],
468
+ [AC_MSG_RESULT(yes)],
469
+ [AC_MSG_RESULT(no)
470
+ AC_DEFINE([_mm256_broadcastsi128_si256], [_mm_broadcastsi128_si256],
471
+ [Define to the local name of _mm256_broadcastsi128_si256])])
472
+ ],
473
+ [AC_MSG_RESULT(no)])
474
+ CFLAGS="$oldcflags"
475
+
476
+ oldcflags="$CFLAGS"
477
+ AX_CHECK_COMPILE_FLAG([-mavx512f], [CFLAGS="$CFLAGS -mavx512f"])
478
+ AC_MSG_CHECKING(for AVX512F instructions set)
479
+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
480
+ #ifdef __native_client__
481
+ # error NativeClient detected - Avoiding AVX512F opcodes
482
+ #endif
483
+ #pragma GCC target("avx512f")
484
+ #include <immintrin.h>
485
+ ]], [[
486
+ __m512i x = _mm512_setzero_epi32();
487
+ __m512i y = _mm512_permutexvar_epi64(_mm512_setr_epi64(0, 1, 4, 5, 2, 3, 6, 7), x);
488
+ ]])],
489
+ [AC_MSG_RESULT(yes)
490
+ AC_DEFINE([HAVE_AVX512FINTRIN_H], [1], [AVX512F is available])
491
+ AX_CHECK_COMPILE_FLAG([-mavx512f], [CFLAGS_AVX512F="-mavx512f"])],
492
+ [AC_MSG_RESULT(no)])
493
+ CFLAGS="$oldcflags"
494
+
495
+ oldcflags="$CFLAGS"
496
+ AX_CHECK_COMPILE_FLAG([-maes], [CFLAGS="$CFLAGS -maes"])
497
+ AX_CHECK_COMPILE_FLAG([-mpclmul], [CFLAGS="$CFLAGS -mpclmul"])
498
+ AC_MSG_CHECKING(for AESNI instructions set and PCLMULQDQ)
499
+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
500
+ #ifdef __native_client__
501
+ # error NativeClient detected - Avoiding AESNI opcodes
502
+ #endif
503
+ #pragma GCC target("aes")
504
+ #pragma GCC target("pclmul")
505
+ #include <wmmintrin.h>
506
+ ]], [[ __m128i x = _mm_aesimc_si128(_mm_setzero_si128());
507
+ __m128i y = _mm_clmulepi64_si128(_mm_setzero_si128(), _mm_setzero_si128(), 0);]])],
508
+ [AC_MSG_RESULT(yes)
509
+ AC_DEFINE([HAVE_WMMINTRIN_H], [1], [aesni is available])
510
+ AX_CHECK_COMPILE_FLAG([-maes], [CFLAGS_AESNI="-maes"])
511
+ AX_CHECK_COMPILE_FLAG([-mpclmul], [CFLAGS_PCLMUL="-mpclmul"])
512
+ ],
513
+ [AC_MSG_RESULT(no)])
514
+ CFLAGS="$oldcflags"
515
+
516
+ oldcflags="$CFLAGS"
517
+ AX_CHECK_COMPILE_FLAG([-mrdrnd], [CFLAGS="$CFLAGS -mrdrnd"])
518
+ AC_MSG_CHECKING(for RDRAND)
519
+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
520
+ #ifdef __native_client__
521
+ # error NativeClient detected - Avoiding RDRAND opcodes
522
+ #endif
523
+ #pragma GCC target("rdrnd")
524
+ #include <immintrin.h>
525
+ ]], [[ unsigned long long x; _rdrand64_step(&x); ]])],
526
+ [AC_MSG_RESULT(yes)
527
+ AC_DEFINE([HAVE_RDRAND], [1], [rdrand is available])
528
+ AX_CHECK_COMPILE_FLAG([-mrdrnd], [CFLAGS_RDRAND="-mrdrnd"])
529
+ ],
530
+ [AC_MSG_RESULT(no)])
531
+ CFLAGS="$oldcflags"
532
+
533
+ ])
534
+
535
+ AC_SUBST(CFLAGS_MMX)
536
+ AC_SUBST(CFLAGS_SSE2)
537
+ AC_SUBST(CFLAGS_SSE3)
538
+ AC_SUBST(CFLAGS_SSSE3)
539
+ AC_SUBST(CFLAGS_SSE41)
540
+ AC_SUBST(CFLAGS_AVX)
541
+ AC_SUBST(CFLAGS_AVX2)
542
+ AC_SUBST(CFLAGS_AVX512F)
543
+ AC_SUBST(CFLAGS_AESNI)
544
+ AC_SUBST(CFLAGS_PCLMUL)
545
+ AC_SUBST(CFLAGS_RDRAND)
546
+
547
+ AC_CHECK_HEADERS([sys/mman.h intrin.h])
548
+
549
+ AC_MSG_CHECKING([if _xgetbv() is available])
550
+ AC_LINK_IFELSE(
551
+ [AC_LANG_PROGRAM([[ #include <intrin.h> ]], [[ (void) _xgetbv(0) ]])],
552
+ [AC_MSG_RESULT(yes)
553
+ AC_DEFINE([HAVE__XGETBV], [1], [_xgetbv() is available])],
554
+ [AC_MSG_RESULT(no)])
555
+
556
+ dnl Checks for typedefs, structures, and compiler characteristics.
557
+
558
+ AC_C_INLINE
559
+ AS_CASE([$host_cpu],
560
+ [i?86|amd64|x86_64],
561
+ [ac_cv_c_bigendian=no]
562
+ )
563
+ AC_C_BIGENDIAN(
564
+ AC_DEFINE(NATIVE_BIG_ENDIAN, 1, [machine is bigendian]),
565
+ AC_DEFINE(NATIVE_LITTLE_ENDIAN, 1, [machine is littleendian]),
566
+ AC_MSG_ERROR([unknown endianness]),
567
+ AC_MSG_ERROR([universal endianness is not supported - compile separately and use lipo(1)])
568
+ )
569
+
570
+ AC_MSG_CHECKING(whether __STDC_LIMIT_MACROS is required)
571
+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
572
+ #include <limits.h>
573
+ #include <stdint.h>
574
+ ]], [[
575
+ (void) SIZE_MAX;
576
+ (void) UINT64_MAX;
577
+ ]])],
578
+ [AC_MSG_RESULT(no)],
579
+ [AC_MSG_RESULT(yes)
580
+ CPPFLAGS="$CPPFLAGS -D__STDC_LIMIT_MACROS -D__STDC_CONSTANT_MACROS"
581
+ ])
582
+
583
+ HAVE_AMD64_ASM_V=0
584
+ AS_IF([test "$enable_asm" != "no"],[
585
+ AC_MSG_CHECKING(whether we can use x86_64 asm code)
586
+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
587
+ ]], [[
588
+ #if defined(__amd64) || defined(__amd64__) || defined(__x86_64__)
589
+ # if defined(__CYGWIN__) || defined(__MINGW32__) || defined(__MINGW64__) || defined(_WIN32) || defined(_WIN64)
590
+ # error Windows x86_64 calling conventions are not supported yet
591
+ # endif
592
+ /* neat */
593
+ #else
594
+ # error !x86_64
595
+ #endif
596
+ unsigned char i = 0, o = 0, t;
597
+ __asm__ __volatile__ ("pxor %%xmm12, %%xmm6 \n"
598
+ "movb (%[i]), %[t] \n"
599
+ "addb %[t], (%[o]) \n"
600
+ : [t] "=&r"(t)
601
+ : [o] "D"(&o), [i] "S"(&i)
602
+ : "memory", "flags", "cc");
603
+ ]])],
604
+ [AC_MSG_RESULT(yes)
605
+ AC_DEFINE([HAVE_AMD64_ASM], [1], [x86_64 asm code can be used])
606
+ HAVE_AMD64_ASM_V=1],
607
+ [AC_MSG_RESULT(no)])
608
+ ])
609
+ AM_CONDITIONAL([HAVE_AMD64_ASM], [test $HAVE_AMD64_ASM_V = 1])
610
+ AC_SUBST(HAVE_AMD64_ASM_V)
611
+
612
+ HAVE_AVX_ASM_V=0
613
+ AS_IF([test "$enable_asm" != "no"],[
614
+ AC_MSG_CHECKING(whether we can assemble AVX opcodes)
615
+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
616
+ ]], [[
617
+ #if defined(__amd64) || defined(__amd64__) || defined(__x86_64__)
618
+ # if defined(__CYGWIN__) || defined(__MINGW32__) || defined(__MINGW64__) || defined(_WIN32) || defined(_WIN64)
619
+ # error Windows x86_64 calling conventions are not supported yet
620
+ # endif
621
+ /* neat */
622
+ #else
623
+ # error !x86_64
624
+ #endif
625
+ __asm__ __volatile__ ("vpunpcklqdq %xmm0,%xmm13,%xmm0");
626
+ ]])],
627
+ [AC_MSG_RESULT(yes)
628
+ AC_DEFINE([HAVE_AVX_ASM], [1], [AVX opcodes are supported])
629
+ HAVE_AVX_ASM_V=1],
630
+ [AC_MSG_RESULT(no)])
631
+ ])
632
+ AM_CONDITIONAL([HAVE_AVX_ASM], [test $HAVE_AVX_ASM_V = 1])
633
+ AC_SUBST(HAVE_AVX_ASM_V)
634
+
635
+ AC_MSG_CHECKING(for 128-bit arithmetic)
636
+ HAVE_TI_MODE_V=0
637
+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
638
+ #if !defined(__GNUC__) && !defined(__SIZEOF_INT128__)
639
+ # error mode(TI) is a gcc extension, and __int128 is not available
640
+ #endif
641
+ #if defined(__clang__) && !defined(__x86_64__)
642
+ # error clang does not properly handle the 128-bit type on 32-bit systems
643
+ #endif
644
+ #ifndef NATIVE_LITTLE_ENDIAN
645
+ # error libsodium currently expects a little endian CPU for the 128-bit type
646
+ #endif
647
+ #ifdef __EMSCRIPTEN__
648
+ # error emscripten currently supports only shift operations on integers \
649
+ # larger than 64 bits
650
+ #endif
651
+ #include <stddef.h>
652
+ #include <stdint.h>
653
+ #if defined(__SIZEOF_INT128__)
654
+ typedef unsigned __int128 uint128_t;
655
+ #else
656
+ typedef unsigned uint128_t __attribute__((mode(TI)));
657
+ #endif
658
+ void fcontract(uint128_t *t) {
659
+ *t += 0x8000000000000 - 1;
660
+ }
661
+ ]], [[
662
+ (void) fcontract;
663
+ ]])],
664
+ [AC_MSG_RESULT(yes)
665
+ AC_DEFINE([HAVE_TI_MODE], [1], [gcc TI mode is available])
666
+ HAVE_TI_MODE_V=1],
667
+ [AC_MSG_RESULT(no)])
668
+ AM_CONDITIONAL([HAVE_TI_MODE], [test $HAVE_TI_MODE_V = 1])
669
+ AC_SUBST(HAVE_TI_MODE_V)
670
+
671
+ HAVE_CPUID_V=0
672
+ AS_IF([test "$enable_asm" != "no" -o "$host_alias" = "x86_64-nacl"],[
673
+ AC_MSG_CHECKING(for cpuid instruction)
674
+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ ]], [[
675
+ unsigned int cpu_info[4];
676
+ __asm__ __volatile__ ("xchgl %%ebx, %k1; cpuid; xchgl %%ebx, %k1" :
677
+ "=a" (cpu_info[0]), "=&r" (cpu_info[1]),
678
+ "=c" (cpu_info[2]), "=d" (cpu_info[3]) :
679
+ "0" (0U), "2" (0U));
680
+ ]])],
681
+ [AC_MSG_RESULT(yes)
682
+ AC_DEFINE([HAVE_CPUID], [1], [cpuid instruction is available])
683
+ HAVE_CPUID_V=1],
684
+ [AC_MSG_RESULT(no)])
685
+ ])
686
+ AC_SUBST(HAVE_CPUID_V)
687
+
688
+ asm_hide_symbol="unsupported"
689
+ AS_IF([test "$enable_asm" != "no" -o "$host_os" = "nacl"],[
690
+ AC_MSG_CHECKING(if the .private_extern asm directive is supported)
691
+ AC_LINK_IFELSE([AC_LANG_PROGRAM([[ ]], [[
692
+ __asm__ __volatile__ (".private_extern dummy_symbol \n"
693
+ ".private_extern _dummy_symbol \n"
694
+ ".globl dummy_symbol \n"
695
+ ".globl _dummy_symbol \n"
696
+ "dummy_symbol: \n"
697
+ "_dummy_symbol: \n"
698
+ " nop \n"
699
+ );
700
+ ]])],
701
+ [AC_MSG_RESULT(yes)
702
+ asm_hide_symbol=".private_extern"],
703
+ [AC_MSG_RESULT(no)])
704
+
705
+ AC_MSG_CHECKING(if the .hidden asm directive is supported)
706
+ AC_LINK_IFELSE([AC_LANG_PROGRAM([[ ]], [[
707
+ __asm__ __volatile__ (".hidden dummy_symbol \n"
708
+ ".hidden _dummy_symbol \n"
709
+ ".globl dummy_symbol \n"
710
+ ".globl _dummy_symbol \n"
711
+ "dummy_symbol: \n"
712
+ "_dummy_symbol: \n"
713
+ " nop \n"
714
+ );
715
+ ]])],
716
+ [AC_MSG_RESULT(yes)
717
+ AS_IF([test "$asm_hide_symbol" = "unsupported"],
718
+ [asm_hide_symbol=".hidden"],
719
+ [AC_MSG_NOTICE([unable to reliably tag symbols as private])
720
+ asm_hide_symbol="unsupported"])
721
+ ],
722
+ [AC_MSG_RESULT(no)])
723
+
724
+ AS_IF([test "$asm_hide_symbol" != "unsupported"],[
725
+ AC_DEFINE_UNQUOTED([ASM_HIDE_SYMBOL], [$asm_hide_symbol], [directive to hide symbols])
726
+ ])
727
+ ])
728
+
729
+ AC_MSG_CHECKING(if weak symbols are supported)
730
+ AC_LINK_IFELSE([AC_LANG_PROGRAM([[
731
+ #if !defined(__ELF__) && !defined(__APPLE_CC__)
732
+ # error Support for weak symbols may not be available
733
+ #endif
734
+ __attribute__((weak)) void __dummy(void *x) { }
735
+ void f(void *x) { __dummy(x); }
736
+ ]], [[ ]]
737
+ )],
738
+ [AC_MSG_RESULT(yes)
739
+ AC_DEFINE([HAVE_WEAK_SYMBOLS], [1], [weak symbols are supported])],
740
+ [AC_MSG_RESULT(no)])
741
+
742
+ AC_MSG_CHECKING(if data alignment is required)
743
+ aligned_access_required=yes
744
+ AS_CASE([$host_cpu],
745
+ [i?86|amd64|x86_64|powerpc*|s390*],
746
+ [aligned_access_required=no],
747
+ [arm*],
748
+ [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
749
+ #ifndef __ARM_FEATURE_UNALIGNED
750
+ # error data alignment is required
751
+ #endif
752
+ ]], [[]])], [aligned_access_required=no], [])]
753
+ )
754
+ AS_IF([test "x$aligned_access_required" = "xyes"],
755
+ [AC_MSG_RESULT(yes)],
756
+ [AC_MSG_RESULT(no)
757
+ AC_DEFINE([CPU_UNALIGNED_ACCESS], [1], [unaligned memory access is supported])])
758
+
759
+ AC_MSG_CHECKING(if atomic operations are supported)
760
+ AC_LINK_IFELSE([AC_LANG_PROGRAM([[ ]], [[
761
+ static volatile int _sodium_lock;
762
+ __sync_lock_test_and_set(&_sodium_lock, 1);
763
+ __sync_lock_release(&_sodium_lock);
764
+ ]]
765
+ )],
766
+ [AC_MSG_RESULT(yes)
767
+ AC_DEFINE([HAVE_ATOMIC_OPS], [1], [atomic operations are supported])],
768
+ [AC_MSG_RESULT(no)])
769
+
770
+ dnl Checks for functions and headers
771
+
772
+ AC_FUNC_ALLOCA
773
+ AS_IF([test "x$EMSCRIPTEN" = "x"],[
774
+ AC_CHECK_FUNCS([arc4random arc4random_buf])
775
+ AC_CHECK_FUNCS([mmap mlock madvise mprotect memset_s explicit_bzero nanosleep])
776
+ ])
777
+ AC_CHECK_FUNCS([posix_memalign getpid])
778
+
779
+ AC_SUBST([LIBTOOL_EXTRA_FLAGS])
780
+
781
+ TEST_LDFLAGS=''
782
+ AS_IF([test "x$EMSCRIPTEN" != "x"],[
783
+ EXEEXT=.js
784
+ TEST_LDFLAGS='--memory-init-file 0 --pre-js pre.js.inc -s RESERVED_FUNCTION_POINTERS=8'
785
+ ])
786
+ AC_SUBST(TEST_LDFLAGS)
787
+ AM_CONDITIONAL([EMSCRIPTEN], [test "x$EMSCRIPTEN" != "x"])
788
+
789
+ AM_CONDITIONAL([NATIVECLIENT], [test "x$NATIVECLIENT" != "x"])
790
+
791
+ AC_DEFINE([CONFIGURED], [1], [the build system was properly configured])
792
+
793
+ dnl Libtool.
794
+
795
+ LT_INIT([dlopen])
796
+ AC_LIBTOOL_WIN32_DLL
797
+ gl_LD_OUTPUT_DEF
798
+
799
+ dnl Output.
800
+
801
+ AH_VERBATIM([NDEBUG], [/* Always evaluate assert() calls */
802
+ #ifdef NDEBUG
803
+ #/**/undef/**/ NDEBUG
804
+ #endif])
805
+
806
+ AS_IF([test "x$ENABLE_CWFLAGS" = "xyes"], [
807
+ CFLAGS="$CFLAGS $CWFLAGS"
808
+ ])
809
+
810
+ AC_CONFIG_FILES([Makefile
811
+ builds/Makefile
812
+ contrib/Makefile
813
+ dist-build/Makefile
814
+ libsodium.pc
815
+ libsodium-uninstalled.pc
816
+ msvc-scripts/Makefile
817
+ src/Makefile
818
+ src/libsodium/Makefile
819
+ src/libsodium/include/Makefile
820
+ src/libsodium/include/sodium/version.h
821
+ test/default/Makefile
822
+ test/Makefile
823
+ ])
824
+ AC_OUTPUT