Kconfig 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. # C++ configuration options
  2. # Copyright (c) 2018 B. Leforestier
  3. # SPDX-License-Identifier: Apache-2.0
  4. menuconfig CPLUSPLUS
  5. bool "C++ support for the application"
  6. help
  7. This option enables the use of applications built with C++.
  8. if CPLUSPLUS
  9. choice
  10. prompt "C++ Standard"
  11. default STD_CPP11
  12. help
  13. C++ Standards.
  14. config STD_CPP98
  15. bool "C++ 98"
  16. help
  17. 1998 C++ standard as modified by the 2003 technical corrigendum
  18. and some later defect reports.
  19. config STD_CPP11
  20. bool "C++ 11"
  21. help
  22. 2011 C++ standard, previously known as C++0x.
  23. config STD_CPP14
  24. bool "C++ 14"
  25. help
  26. 2014 C++ standard.
  27. config STD_CPP17
  28. bool "C++ 17"
  29. help
  30. 2017 C++ standard, previously known as C++0x.
  31. config STD_CPP2A
  32. bool "C++ 2a"
  33. help
  34. Next revision of the C++ standard, which is expected to be published in 2020.
  35. config STD_CPP20
  36. bool "C++ 20"
  37. help
  38. 2020 C++ standard, previously known as C++2A.
  39. config STD_CPP2B
  40. bool "C++ 2b"
  41. help
  42. Next revision of the C++ standard, which is expected to be published in 2023.
  43. endchoice
  44. config LIB_CPLUSPLUS
  45. bool "Link with STD C++ library"
  46. depends on !MINIMAL_LIBC
  47. help
  48. Link with STD C++ Library.
  49. if LIB_CPLUSPLUS
  50. config EXCEPTIONS
  51. bool "Enable C++ exceptions support"
  52. depends on !NEWLIB_LIBC_NANO
  53. help
  54. This option enables support of C++ exceptions.
  55. config RTTI
  56. bool "Enable C++ RTTI support"
  57. help
  58. This option enables support of C++ RTTI.
  59. endif # LIB_CPLUSPLUS
  60. config CPP_STATIC_INIT_GNU
  61. # As of today only ARC MWDT toolchain doesn't support GNU-compatible
  62. # initialization of CPP static objects, new toolchains can be added
  63. # here if required.
  64. def_bool "$(ZEPHYR_TOOLCHAIN_VARIANT)" != "arcmwdt"
  65. help
  66. GNU-compatible initialization of CPP static objects
  67. endif # CPLUSPLUS