libsodium.gyp.in 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215
  1. {
  2. 'targets': [
  3. {
  4. 'target_name': 'libsodium',
  5. 'variables': {
  6. 'target_arch%': {ARCH}
  7. },
  8. 'type': 'static_library',
  9. 'dependencies': [],
  10. 'defines': [
  11. {DEFINES}
  12. 'SODIUM_STATIC',
  13. 'HAVE_LIBM=1'
  14. ],
  15. 'include_dirs': [
  16. 'libsodium/src/libsodium/include/sodium',
  17. ],
  18. 'xcode_settings': {
  19. 'OTHER_CFLAGS': [
  20. '-fPIC',
  21. '-fwrapv',
  22. '-fno-strict-aliasing',
  23. '-fstack-protector-all',
  24. '-Winit-self',
  25. '-Wwrite-strings',
  26. '-Wdiv-by-zero',
  27. '-Wmissing-braces',
  28. '-Wmissing-field-initializers',
  29. '-Wno-sign-compare',
  30. '-Wno-unused-const-variable',
  31. '-g',
  32. '-O2',
  33. '-fvisibility=hidden',
  34. '-Wno-missing-field-initializers',
  35. '-Wno-missing-braces',
  36. '-Wno-unused-function',
  37. '-Wno-strict-overflow',
  38. '-Wno-unknown-pragmas'
  39. ],
  40. 'GCC_ENABLE_CPP_EXCEPTIONS': 'YES'
  41. },
  42. '!cflags': ['-fno-exceptions'],
  43. 'cflags': [
  44. '-fexceptions',
  45. '-Winit-self',
  46. '-Wwrite-strings',
  47. '-Wdiv-by-zero',
  48. '-Wmissing-braces',
  49. '-Wmissing-field-initializers',
  50. '-Wno-sign-compare',
  51. '-Wno-unused-but-set-variable',
  52. '-g',
  53. '-O2',
  54. '-Wno-unknown-pragmas',
  55. '-Wno-missing-field-initializers',
  56. '-Wno-missing-braces'
  57. ],
  58. 'ldflags': [
  59. '-pie',
  60. '-Wl',
  61. '-z',
  62. 'relro'
  63. '-z',
  64. 'now'
  65. '-Wl',
  66. '-z',
  67. 'noexecstack'
  68. ],
  69. 'sources': [
  70. 'libsodium/src/libsodium/crypto_aead/chacha20poly1305/sodium/aead_chacha20poly1305.c',
  71. 'libsodium/src/libsodium/crypto_auth/crypto_auth.c',
  72. 'libsodium/src/libsodium/crypto_auth/hmacsha256/auth_hmacsha256_api.c',
  73. 'libsodium/src/libsodium/crypto_auth/hmacsha256/cp/hmac_hmacsha256.c',
  74. 'libsodium/src/libsodium/crypto_auth/hmacsha256/cp/verify_hmacsha256.c',
  75. 'libsodium/src/libsodium/crypto_auth/hmacsha512/auth_hmacsha512_api.c',
  76. 'libsodium/src/libsodium/crypto_auth/hmacsha512/cp/hmac_hmacsha512.c',
  77. 'libsodium/src/libsodium/crypto_auth/hmacsha512/cp/verify_hmacsha512.c',
  78. 'libsodium/src/libsodium/crypto_auth/hmacsha512256/auth_hmacsha512256_api.c',
  79. 'libsodium/src/libsodium/crypto_auth/hmacsha512256/cp/hmac_hmacsha512256.c',
  80. 'libsodium/src/libsodium/crypto_auth/hmacsha512256/cp/verify_hmacsha512256.c',
  81. 'libsodium/src/libsodium/crypto_box/crypto_box.c',
  82. 'libsodium/src/libsodium/crypto_box/crypto_box_easy.c',
  83. 'libsodium/src/libsodium/crypto_box/curve25519xsalsa20poly1305/box_curve25519xsalsa20poly1305_api.c',
  84. 'libsodium/src/libsodium/crypto_box/curve25519xsalsa20poly1305/ref/after_curve25519xsalsa20poly1305.c',
  85. 'libsodium/src/libsodium/crypto_box/curve25519xsalsa20poly1305/ref/before_curve25519xsalsa20poly1305.c',
  86. 'libsodium/src/libsodium/crypto_box/curve25519xsalsa20poly1305/ref/box_curve25519xsalsa20poly1305.c',
  87. 'libsodium/src/libsodium/crypto_box/curve25519xsalsa20poly1305/ref/keypair_curve25519xsalsa20poly1305.c',
  88. 'libsodium/src/libsodium/crypto_core/hsalsa20/ref2/core_hsalsa20.c',
  89. 'libsodium/src/libsodium/crypto_core/hsalsa20/core_hsalsa20_api.c',
  90. 'libsodium/src/libsodium/crypto_core/salsa20/ref/core_salsa20.c',
  91. 'libsodium/src/libsodium/crypto_core/salsa20/core_salsa20_api.c',
  92. 'libsodium/src/libsodium/crypto_generichash/crypto_generichash.c',
  93. 'libsodium/src/libsodium/crypto_generichash/blake2/generichash_blake2_api.c',
  94. 'libsodium/src/libsodium/crypto_generichash/blake2/ref/blake2b-ref.c',
  95. 'libsodium/src/libsodium/crypto_generichash/blake2/ref/generichash_blake2b.c',
  96. 'libsodium/src/libsodium/crypto_hash/crypto_hash.c',
  97. 'libsodium/src/libsodium/crypto_hash/sha256/hash_sha256_api.c',
  98. 'libsodium/src/libsodium/crypto_hash/sha256/cp/hash_sha256.c',
  99. 'libsodium/src/libsodium/crypto_hash/sha512/hash_sha512_api.c',
  100. 'libsodium/src/libsodium/crypto_hash/sha512/cp/hash_sha512.c',
  101. 'libsodium/src/libsodium/crypto_onetimeauth/crypto_onetimeauth.c',
  102. 'libsodium/src/libsodium/crypto_onetimeauth/poly1305/onetimeauth_poly1305.c',
  103. 'libsodium/src/libsodium/crypto_onetimeauth/poly1305/onetimeauth_poly1305_api.c',
  104. 'libsodium/src/libsodium/crypto_onetimeauth/poly1305/onetimeauth_poly1305_try.c',
  105. 'libsodium/src/libsodium/crypto_onetimeauth/poly1305/donna/auth_poly1305_donna.c',
  106. 'libsodium/src/libsodium/crypto_onetimeauth/poly1305/donna/verify_poly1305_donna.c',
  107. 'libsodium/src/libsodium/crypto_pwhash/scryptsalsa208sha256/crypto_scrypt-common.c',
  108. 'libsodium/src/libsodium/crypto_pwhash/scryptsalsa208sha256/scrypt_platform.c',
  109. 'libsodium/src/libsodium/crypto_pwhash/scryptsalsa208sha256/pbkdf2-sha256.c',
  110. 'libsodium/src/libsodium/crypto_pwhash/scryptsalsa208sha256/pwhash_scryptsalsa208sha256.c',
  111. 'libsodium/src/libsodium/crypto_pwhash/scryptsalsa208sha256/nosse/pwhash_scryptsalsa208sha256_nosse.c',
  112. 'libsodium/src/libsodium/crypto_pwhash/scryptsalsa208sha256/sse/pwhash_scryptsalsa208sha256_sse.c',
  113. 'libsodium/src/libsodium/crypto_scalarmult/crypto_scalarmult.c',
  114. 'libsodium/src/libsodium/crypto_scalarmult/curve25519/scalarmult_curve25519_api.c',
  115. 'libsodium/src/libsodium/crypto_secretbox/crypto_secretbox.c',
  116. 'libsodium/src/libsodium/crypto_secretbox/crypto_secretbox_easy.c',
  117. 'libsodium/src/libsodium/crypto_secretbox/xsalsa20poly1305/secretbox_xsalsa20poly1305_api.c',
  118. 'libsodium/src/libsodium/crypto_secretbox/xsalsa20poly1305/ref/box_xsalsa20poly1305.c',
  119. 'libsodium/src/libsodium/crypto_shorthash/crypto_shorthash.c',
  120. 'libsodium/src/libsodium/crypto_shorthash/siphash24/shorthash_siphash24_api.c',
  121. 'libsodium/src/libsodium/crypto_shorthash/siphash24/ref/shorthash_siphash24.c',
  122. 'libsodium/src/libsodium/crypto_sign/crypto_sign.c',
  123. 'libsodium/src/libsodium/crypto_sign/ed25519/sign_ed25519_api.c',
  124. 'libsodium/src/libsodium/crypto_sign/ed25519/ref10/fe_0.c',
  125. 'libsodium/src/libsodium/crypto_sign/ed25519/ref10/fe_1.c',
  126. 'libsodium/src/libsodium/crypto_sign/ed25519/ref10/fe_add.c',
  127. 'libsodium/src/libsodium/crypto_sign/ed25519/ref10/fe_cmov.c',
  128. 'libsodium/src/libsodium/crypto_sign/ed25519/ref10/fe_copy.c',
  129. 'libsodium/src/libsodium/crypto_sign/ed25519/ref10/fe_frombytes.c',
  130. 'libsodium/src/libsodium/crypto_sign/ed25519/ref10/fe_invert.c',
  131. 'libsodium/src/libsodium/crypto_sign/ed25519/ref10/fe_isnegative.c',
  132. 'libsodium/src/libsodium/crypto_sign/ed25519/ref10/fe_isnonzero.c',
  133. 'libsodium/src/libsodium/crypto_sign/ed25519/ref10/fe_mul.c',
  134. 'libsodium/src/libsodium/crypto_sign/ed25519/ref10/fe_neg.c',
  135. 'libsodium/src/libsodium/crypto_sign/ed25519/ref10/fe_pow22523.c',
  136. 'libsodium/src/libsodium/crypto_sign/ed25519/ref10/fe_sq.c',
  137. 'libsodium/src/libsodium/crypto_sign/ed25519/ref10/fe_sq2.c',
  138. 'libsodium/src/libsodium/crypto_sign/ed25519/ref10/fe_sub.c',
  139. 'libsodium/src/libsodium/crypto_sign/ed25519/ref10/fe_tobytes.c',
  140. 'libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge_add.c',
  141. 'libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge_double_scalarmult.c',
  142. 'libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge_frombytes.c',
  143. 'libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge_madd.c',
  144. 'libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge_msub.c',
  145. 'libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge_p1p1_to_p2.c',
  146. 'libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge_p1p1_to_p3.c',
  147. 'libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge_p2_0.c',
  148. 'libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge_p2_dbl.c',
  149. 'libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge_p3_0.c',
  150. 'libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge_p3_dbl.c',
  151. 'libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge_p3_to_cached.c',
  152. 'libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge_p3_to_p2.c',
  153. 'libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge_p3_tobytes.c',
  154. 'libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge_precomp_0.c',
  155. 'libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge_scalarmult_base.c',
  156. 'libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge_sub.c',
  157. 'libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge_tobytes.c',
  158. 'libsodium/src/libsodium/crypto_sign/ed25519/ref10/keypair.c',
  159. 'libsodium/src/libsodium/crypto_sign/ed25519/ref10/open.c',
  160. 'libsodium/src/libsodium/crypto_sign/ed25519/ref10/sc_muladd.c',
  161. 'libsodium/src/libsodium/crypto_sign/ed25519/ref10/sc_reduce.c',
  162. 'libsodium/src/libsodium/crypto_sign/ed25519/ref10/sign.c',
  163. 'libsodium/src/libsodium/crypto_stream/crypto_stream.c',
  164. 'libsodium/src/libsodium/crypto_stream/chacha20/stream_chacha20_api.c',
  165. 'libsodium/src/libsodium/crypto_stream/chacha20/ref/stream_chacha20_ref.c',
  166. 'libsodium/src/libsodium/crypto_stream/salsa20/stream_salsa20_api.c',
  167. 'libsodium/src/libsodium/crypto_stream/salsa20/ref/stream_salsa20_ref.c',
  168. 'libsodium/src/libsodium/crypto_stream/salsa20/ref/xor_salsa20_ref.c',
  169. 'libsodium/src/libsodium/crypto_stream/xsalsa20/stream_xsalsa20_api.c',
  170. 'libsodium/src/libsodium/crypto_stream/xsalsa20/ref/stream_xsalsa20.c',
  171. 'libsodium/src/libsodium/crypto_stream/xsalsa20/ref/xor_xsalsa20.c',
  172. 'libsodium/src/libsodium/crypto_verify/16/verify_16_api.c',
  173. 'libsodium/src/libsodium/crypto_verify/16/ref/verify_16.c',
  174. 'libsodium/src/libsodium/crypto_verify/32/verify_32_api.c',
  175. 'libsodium/src/libsodium/crypto_verify/32/ref/verify_32.c',
  176. 'libsodium/src/libsodium/crypto_verify/64/verify_64_api.c',
  177. 'libsodium/src/libsodium/crypto_verify/64/ref/verify_64.c',
  178. 'libsodium/src/libsodium/randombytes/randombytes.c',
  179. 'libsodium/src/libsodium/randombytes/salsa20/randombytes_salsa20_random.c',
  180. 'libsodium/src/libsodium/randombytes/sysrandom/randombytes_sysrandom.c',
  181. 'libsodium/src/libsodium/sodium/core.c',
  182. 'libsodium/src/libsodium/sodium/runtime.c',
  183. 'libsodium/src/libsodium/sodium/utils.c',
  184. 'libsodium/src/libsodium/sodium/version.c',
  185. 'libsodium/src/libsodium/crypto_scalarmult/curve25519/donna_c64/base_curve25519_donna_c64.c',
  186. 'libsodium/src/libsodium/crypto_scalarmult/curve25519/donna_c64/smult_curve25519_donna_c64.c',
  187. 'libsodium/src/libsodium/crypto_stream/salsa20/amd64_xmm6/stream_salsa20_amd64_xmm6.S',
  188. 'libsodium/src/libsodium/crypto_core/salsa2012/ref/core_salsa2012.c',
  189. 'libsodium/src/libsodium/crypto_core/salsa2012/core_salsa2012_api.c',
  190. 'libsodium/src/libsodium/crypto_core/salsa208/ref/core_salsa208.c',
  191. 'libsodium/src/libsodium/crypto_core/salsa208/core_salsa208_api.c',
  192. 'libsodium/src/libsodium/crypto_sign/edwards25519sha512batch/sign_edwards25519sha512batch_api.c',
  193. 'libsodium/src/libsodium/crypto_sign/edwards25519sha512batch/ref/fe25519_edwards25519sha512batch.c',
  194. 'libsodium/src/libsodium/crypto_sign/edwards25519sha512batch/ref/ge25519_edwards25519sha512batch.c',
  195. 'libsodium/src/libsodium/crypto_sign/edwards25519sha512batch/ref/sc25519_edwards25519sha512batch.c',
  196. 'libsodium/src/libsodium/crypto_sign/edwards25519sha512batch/ref/sign_edwards25519sha512batch.c',
  197. 'libsodium/src/libsodium/crypto_stream/aes128ctr/portable/afternm_aes128ctr.c',
  198. 'libsodium/src/libsodium/crypto_stream/aes128ctr/stream_aes128ctr_api.c',
  199. 'libsodium/src/libsodium/crypto_stream/aes128ctr/portable/beforenm_aes128ctr.c',
  200. 'libsodium/src/libsodium/crypto_stream/aes128ctr/portable/common_aes128ctr.c',
  201. 'libsodium/src/libsodium/crypto_stream/aes128ctr/portable/consts_aes128ctr.c',
  202. 'libsodium/src/libsodium/crypto_stream/aes128ctr/portable/int128_aes128ctr.c',
  203. 'libsodium/src/libsodium/crypto_stream/aes128ctr/portable/stream_aes128ctr.c',
  204. 'libsodium/src/libsodium/crypto_stream/aes128ctr/portable/xor_afternm_aes128ctr.c',
  205. 'libsodium/src/libsodium/crypto_stream/salsa2012/stream_salsa2012_api.c',
  206. 'libsodium/src/libsodium/crypto_stream/salsa2012/ref/stream_salsa2012.c',
  207. 'libsodium/src/libsodium/crypto_stream/salsa2012/ref/xor_salsa2012.c',
  208. 'libsodium/src/libsodium/crypto_stream/salsa208/stream_salsa208_api.c',
  209. 'libsodium/src/libsodium/crypto_stream/salsa208/ref/stream_salsa208.c',
  210. 'libsodium/src/libsodium/crypto_stream/salsa208/ref/xor_salsa208.c'
  211. ]
  212. }
  213. ]
  214. }