Config.in.toolchain 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137
  1. # This file is part of the OpenADK project. OpenADK is copyrighted
  2. # material, please see the LICENCE file in the top-level directory.
  3. config ADK_TARGET_CFLAGS_OPT
  4. string
  5. default "-Os -pipe" if ADK_TARGET_CFLAGS_OPT_OS
  6. default "-Og -pipe" if ADK_TARGET_CFLAGS_OPT_OG
  7. default "-O1 -pipe" if ADK_TARGET_CFLAGS_OPT_O1
  8. default "-O2 -pipe" if ADK_TARGET_CFLAGS_OPT_O2
  9. default "-O3 -pipe" if ADK_TARGET_CFLAGS_OPT_O3
  10. default "-O0 -pipe" if ADK_TARGET_CFLAGS_OPT_O0
  11. choice
  12. bool "Optimization level"
  13. config ADK_TARGET_CFLAGS_OPT_OS
  14. bool "optimize for size (-Os)"
  15. config ADK_TARGET_CFLAGS_OPT_OG
  16. bool "optimize, but allow debugging (-Og)"
  17. config ADK_TARGET_CFLAGS_OPT_O1
  18. bool "optimize for minor performance (-O1)"
  19. config ADK_TARGET_CFLAGS_OPT_O2
  20. bool "optimize for performance (-O2)"
  21. config ADK_TARGET_CFLAGS_OPT_O3
  22. bool "optimize for extra performance (-O3)"
  23. config ADK_TARGET_CFLAGS_OPT_O0
  24. bool "no optimization (-O0)"
  25. endchoice
  26. config ADK_TARGET_CFLAGS_DISABLE_EH
  27. bool "Disable exception handling and unwindung via compiler flags"
  28. depends on !ADK_DEBUG
  29. help
  30. Do not use this optimization flags if you are planning to use C++
  31. applications, which are often using exception handling.
  32. menu "Compiler language support"
  33. config ADK_TOOLCHAIN_WITH_CXX
  34. bool "enable C++"
  35. config ADK_TOOLCHAIN_WITH_OBJC
  36. bool "enable Objective-C"
  37. config ADK_TOOLCHAIN_WITH_FORTRAN
  38. bool "enable Fortran"
  39. select ADK_PACKAGE_LIBGFORTRAN
  40. config ADK_TOOLCHAIN_WITH_GO
  41. bool "enable Go"
  42. select ADK_PACKAGE_LIBGO
  43. endmenu
  44. menu "Advanced Toolchain options"
  45. config ADK_TOOLCHAIN_WITH_SANITIZER
  46. bool "Enable libsanitizer in GCC"
  47. select ADK_TOOLCHAIN_WITH_CXX
  48. depends on ADK_TOOLCHAIN_GCC_15
  49. help
  50. You have to add TARGET_CFLAGS/TARGET_LDFLAGS/TARGET_CXXFLAGS on
  51. your own to the packages you want to check.
  52. config ADK_TOOLCHAIN_WITH_SSP
  53. bool
  54. config ADK_TARGET_USE_SSP
  55. bool "Use Stack Smashing Protection for all packages"
  56. select ADK_TOOLCHAIN_WITH_SSP
  57. config ADK_TARGET_USE_PIE
  58. bool "Use Position Independent Executable for packages with have support for it"
  59. config ADK_TOOLCHAIN_WITH_LTO
  60. bool
  61. config ADK_TARGET_USE_LTO
  62. bool "Use Link Time Optimization for all packages"
  63. select ADK_TOOLCHAIN_WITH_LTO
  64. config ADK_TARGET_USE_LD_RELRO
  65. bool "Use LD read-only (-z relro) relocations for all packages"
  66. config ADK_TARGET_USE_LD_BIND_NOW
  67. bool "Use LD bind now (-z now) for all packages"
  68. config ADK_TARGET_USE_LD_GC
  69. bool "Use LD garbage collection for all packages"
  70. config ADK_TARGET_USE_GNU_HASHSTYLE
  71. bool "Use GNU hashstyle for all packages"
  72. depends on !ADK_TARGET_ARCH_MIPS
  73. depends on !ADK_TARGET_ARCH_MIPS64
  74. help
  75. Performance optimization for applications with lot of shared library
  76. dependencies. See http://www.akkadia.org/drepper/dsohowto.pdf
  77. config ADK_DEBUG
  78. bool "Compile applications with debug support and do not strip"
  79. help
  80. All software for the target will be compiled with:
  81. -fno-omit-frame-pointer
  82. -funwind-tables
  83. -fasynchronous-unwind-tables
  84. Software will not be stripped.
  85. Mostly useful for NFS root or big USB/CF or hard disk setups.
  86. config ADK_DEBUG_STRIP
  87. bool "strip target binaries/libraries for gdbserver usage"
  88. depends on ADK_DEBUG
  89. help
  90. All packages and C library will be compiled with debug information,
  91. but stripped for the target.
  92. config ADK_STATIC_TOOLCHAIN
  93. bool "Build the toolchain components statically (portable host binaries)"
  94. help
  95. If you want to create more portable toolchains, build them static.
  96. config ADK_PRELINK
  97. bool "Prelink binaries and libraries in Image"
  98. depends on ADK_TARGET_OS_LINUX
  99. help
  100. Do prelinking for faster loading of binaries.
  101. config ADK_PRELINK_OPTS
  102. string "additional options to pass to prelink"
  103. default "-mR"
  104. depends on ADK_PRELINK
  105. endmenu