Config.in.toolchain 3.6 KB

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