Kconfig 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
  1. # Kconfig - Cryptography primitive options for wolfSSL
  2. #
  3. # Copyright (c) 2016 Intel Corporation
  4. #
  5. # Licensed under the Apache License, Version 2.0 (the "License");
  6. # you may not use this file except in compliance with the License.
  7. # You may obtain a copy of the License at
  8. #
  9. # http://www.apache.org/licenses/LICENSE-2.0
  10. #
  11. # Unless required by applicable law or agreed to in writing, software
  12. # distributed under the License is distributed on an "AS IS" BASIS,
  13. # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  14. # See the License for the specific language governing permissions and
  15. # limitations under the License.
  16. #
  17. config ZEPHYR_WOLFSSL_MODULE
  18. bool
  19. config WOLFSSL_PROMPTLESS
  20. bool
  21. help
  22. Symbol to disable the prompt for WOLFSSL selection.
  23. This symbol may be used internally in a Kconfig tree to hide the
  24. wolfSSL menu prompt and instead handle the selection of WOLFSSL from
  25. dependent sub-configurations and thus prevent stuck symbol behavior.
  26. menuconfig WOLFSSL
  27. bool "wolfSSL Support" if !WOLFSSL_PROMPTLESS
  28. help
  29. This option enables the wolfSSL cryptography library.
  30. if WOLFSSL
  31. choice WOLFSSL_IMPLEMENTATION
  32. prompt "Select implementation"
  33. default WOLFSSL_BUILTIN
  34. config WOLFSSL_BUILTIN
  35. bool "Enable wolfSSL integrated sources"
  36. help
  37. Link with local wolfSSL sources instead of external library.
  38. config WOLFSSL_LIBRARY
  39. bool "Enable wolfSSL external library"
  40. help
  41. This option enables wolfSSL library.
  42. endchoice
  43. config WOLFSSL_SETTINGS_FILE
  44. string "wolfSSL settings file"
  45. depends on WOLFSSL_BUILTIN
  46. help
  47. Use a specific wolfSSL settings file. The default config file
  48. file can be tweaked with Kconfig. The default settings is
  49. suitable to communicate with majority of HTTPS servers on the Internet,
  50. but has relatively many features enabled. To optimize resources for
  51. special TLS usage, use available Kconfig settings, or select an
  52. alternative config.
  53. rsource "Kconfig.tls-generic"
  54. config WOLFCRYPT_FIPS
  55. bool "wolfCrypt FIPS support"
  56. depends on WOLFSSL_BUILTIN
  57. help
  58. Enables FIPS support in wolfCrypt. Requires the wolfSSL FIPS ready
  59. download that includes fips.c/fips_test.c.
  60. config WOLFCRYPT_ARMASM
  61. bool "wolfCrypt ARM Assembly support"
  62. depends on WOLFSSL_BUILTIN
  63. help
  64. wolfCrypt ARM (ARMv8/ARMv7) assembly support for AES, SHA-2, SHA-3,
  65. ChaCha20/Poly1305 and Curve25519
  66. config WOLFCRYPT_INTELASM
  67. bool "wolfCrypt Intel Assembly support"
  68. depends on WOLFSSL_BUILTIN
  69. help
  70. wolfCrypt Intel Aassembly support (AVX/AVX2/AESNI)
  71. config WOLFSSL_DEBUG
  72. bool "wolfSSL debug activation"
  73. depends on WOLFSSL_BUILTIN
  74. help
  75. Enable debugging activation for wolfSSL configuration. If you use
  76. wolfSSL/Zephyr integration (e.g. net_app), this will activate debug
  77. logging (of the level configured by WOLFSSL_DEBUG_LEVEL).
  78. config WOLFSSL_INSTALL_PATH
  79. string "wolfSSL install path"
  80. depends on WOLFSSL_LIBRARY
  81. help
  82. This option holds the path where the wolfSSL libraries and headers are
  83. installed. Make sure this option is properly set when WOLFSSL_LIBRARY
  84. is enabled otherwise the build will fail.
  85. config APP_LINK_WITH_WOLFSSL
  86. bool "Link 'app' with WOLFSSL"
  87. default y
  88. help
  89. Add WOLFSSL header files to the 'app' include path. It may be
  90. disabled if the include paths for WOLFSSL are causing aliasing
  91. issues for 'app'.
  92. endif