Config.in.toolchain 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227
  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. menu "Toolchain settings"
  4. visible if !ADK_CHOOSE_APPLIANCE
  5. config ADK_VENDOR
  6. string "Vendor name"
  7. default "openadk"
  8. help
  9. Vendor string is used for toolchain.
  10. choice
  11. prompt "GCC version"
  12. config ADK_TOOLCHAIN_GCC_4_9_2
  13. bool "4.9.2"
  14. depends on !ADK_TARGET_ARCH_BFIN
  15. depends on !ADK_TARGET_ARCH_ARC
  16. depends on !ADK_TARGET_ARCH_AVR32
  17. depends on !ADK_TARGET_ARCH_CRIS
  18. depends on !ADK_TARGET_ARCH_C6X
  19. config ADK_TOOLCHAIN_GCC_4_8_4
  20. bool "4.8.4"
  21. depends on !ADK_TARGET_ARCH_BFIN
  22. depends on !ADK_TARGET_ARCH_AARCH64
  23. depends on !ADK_TARGET_ARCH_ARC
  24. depends on !ADK_TARGET_ARCH_AVR32
  25. depends on !ADK_TARGET_ARCH_CRIS
  26. depends on !ADK_TARGET_ARCH_TILE
  27. depends on !ADK_TARGET_ARCH_C6X
  28. config ADK_TOOLCHAIN_GCC_4_7_4
  29. bool "4.7.4"
  30. depends on ADK_TARGET_ARCH_CRIS \
  31. || ADK_TARGET_ARCH_C6X \
  32. || ADK_TARGET_ARCH_SPARC
  33. config ADK_TOOLCHAIN_GCC_4_8_0_ARC
  34. bool "4.8.0-arc"
  35. depends on ADK_TARGET_ARCH_ARC
  36. config ADK_TOOLCHAIN_GCC_4_5_4
  37. bool "4.5.4"
  38. depends on ADK_TARGET_ARCH_BFIN
  39. config ADK_TOOLCHAIN_GCC_4_4_7
  40. bool "4.4.7"
  41. depends on ADK_TARGET_ARCH_AVR32
  42. config ADK_TOOLCHAIN_GCC_GIT
  43. bool "git"
  44. depends on !ADK_TARGET_ARCH_BFIN
  45. depends on !ADK_TARGET_ARCH_ARC
  46. depends on !ADK_TARGET_ARCH_AVR32
  47. depends on !ADK_TARGET_ARCH_CRIS
  48. endchoice
  49. choice
  50. prompt "Binutils version"
  51. config ADK_TOOLCHAIN_BINUTILS_2_20_1
  52. bool "2.20.1"
  53. depends on ADK_TARGET_ARCH_AVR32
  54. config ADK_TOOLCHAIN_BINUTILS_2_22
  55. bool "2.22"
  56. depends on ADK_TARGET_ARCH_BFIN \
  57. || ADK_TARGET_ARCH_CRIS
  58. config ADK_TOOLCHAIN_BINUTILS_2_23_ARC
  59. bool "2.23-arc"
  60. depends on ADK_TARGET_ARCH_ARC
  61. config ADK_TOOLCHAIN_BINUTILS_2_25
  62. bool "2.25"
  63. depends on !ADK_TARGET_ARCH_BFIN
  64. depends on !ADK_TARGET_ARCH_ARC
  65. depends on !ADK_TARGET_ARCH_AVR32
  66. depends on !ADK_TARGET_ARCH_CRIS
  67. config ADK_TOOLCHAIN_BINUTILS_2_24
  68. bool "2.24"
  69. depends on !ADK_TARGET_ARCH_BFIN
  70. depends on !ADK_TARGET_ARCH_ARC
  71. depends on !ADK_TARGET_ARCH_AVR32
  72. depends on !ADK_TARGET_ARCH_CRIS
  73. config ADK_TOOLCHAIN_BINUTILS_GIT
  74. bool "git"
  75. depends on !ADK_TARGET_ARCH_BFIN
  76. depends on !ADK_TARGET_ARCH_ARC
  77. depends on !ADK_TARGET_ARCH_AVR32
  78. depends on !ADK_TARGET_ARCH_CRIS
  79. endchoice
  80. choice
  81. prompt "GNU debugger version"
  82. config ADK_TOOLCHAIN_GDB_7_8_2
  83. bool "7.8.2"
  84. depends on !ADK_TARGET_ARCH_AVR32
  85. config ADK_TOOLCHAIN_GDB_6_7_1
  86. bool "6.7.1"
  87. depends on ADK_TARGET_ARCH_AVR32
  88. config ADK_TOOLCHAIN_GDB_GIT
  89. bool "git"
  90. depends on !ADK_TARGET_ARCH_AVR32
  91. endchoice
  92. config ADK_TARGET_CFLAGS_OPT
  93. string
  94. default "-Os -pipe" if ADK_TARGET_CFLAGS_OPT_OS
  95. default "-O2 -pipe" if ADK_TARGET_CFLAGS_OPT_O2
  96. default "-O3 -pipe" if ADK_TARGET_CFLAGS_OPT_O3
  97. default "-O0 -pipe" if ADK_TARGET_CFLAGS_OPT_O0
  98. choice
  99. prompt "Optimization level"
  100. bool
  101. config ADK_TARGET_CFLAGS_OPT_OS
  102. prompt "optimize for size (-Os)"
  103. config ADK_TARGET_CFLAGS_OPT_O2
  104. prompt "optimize for performance (-O2)"
  105. config ADK_TARGET_CFLAGS_OPT_O3
  106. prompt "optimize for performance (-O3)"
  107. config ADK_TARGET_CFLAGS_OPT_O0
  108. prompt "no optimization (-O0)"
  109. endchoice
  110. config ADK_TARGET_ARCH_ARM_WITH_THUMB
  111. bool "Use THUMB2 only mode"
  112. select ADK_KERNEL_THUMB2_KERNEL
  113. depends on ADK_TARGET_ARCH_ARM
  114. help
  115. Experimental option. Use with care.
  116. config ADK_TOOLCHAIN_WITH_SSP
  117. bool
  118. config ADK_TARGET_USE_SSP
  119. bool "Use Stack Smashing Protection for all packages"
  120. select ADK_TOOLCHAIN_WITH_SSP
  121. config ADK_TARGET_USE_PIE
  122. bool "Use Position Independent Executable for packages with have support for it"
  123. config ADK_TOOLCHAIN_WITH_LTO
  124. bool
  125. config ADK_TARGET_USE_LTO
  126. bool "Use Link Time Optimization for all packages"
  127. select ADK_TOOLCHAIN_WITH_LTO
  128. config ADK_TARGET_USE_LD_RELRO
  129. bool "Use LD read-only (-z relro) relocations for all packages"
  130. config ADK_TARGET_USE_LD_BIND_NOW
  131. bool "Use LD bind now (-z now) for all packages"
  132. config ADK_TARGET_USE_LD_GC
  133. bool "Use LD garbage collection for all packages"
  134. config ADK_TOOLCHAIN_WITH_GOLD
  135. bool
  136. config ADK_TARGET_USE_GOLD
  137. bool "Use GOLD as linker for all packages"
  138. select ADK_TOOLCHAIN_WITH_GOLD
  139. depends on !ADK_TARGET_ARCH_MIPS
  140. depends on !ADK_TARGET_ARCH_MIPS64
  141. config ADK_TARGET_USE_GNU_HASHSTYLE
  142. bool "Use GNU hashstyle for all packages"
  143. depends on !ADK_TARGET_ARCH_MIPS
  144. depends on !ADK_TARGET_ARCH_MIPS64
  145. help
  146. Performance optimization for applications with lot of shared library
  147. dependencies. See http://www.akkadia.org/drepper/dsohowto.pdf
  148. config ADK_DEBUG
  149. bool "Compile applications with debug support and do not strip"
  150. help
  151. All software for the target will be compiled with:
  152. -fno-omit-frame-pointer
  153. -funwind-tables
  154. -fasynchronous-unwind-tables
  155. Software will not be stripped.
  156. Mostly useful for NFS root or big USB/CF or hard disk setups.
  157. config ADK_DEBUG_STRIP
  158. bool "strip target binaries/libraries for gdbserver usage"
  159. depends on ADK_DEBUG
  160. help
  161. All packages and C library will be compiled with debug information,
  162. but stripped for the target.
  163. config ADK_TARGET_USE_STATIC_LIBS
  164. bool "Link applications statically by default"
  165. select BUSYBOX_STATIC
  166. help
  167. Useful for debugging of dynamic linker problems. Be aware of the fact, that uClibc and glibc
  168. still requires libgcc_so.so.1 for pthread_cancel. Glibc also requires libnss_*.so libraries
  169. at runtime. Full static builds are only supported for musl libc.
  170. config ADK_STATIC_TOOLCHAIN
  171. bool "Build the toolchain components statically"
  172. help
  173. If you want to create more portable toolchains, build them static.
  174. config ADK_UCLIBC_TEST
  175. bool "Build testsuite for C library"
  176. depends on ADK_TARGET_LIB_UCLIBC_NG || ADK_TARGET_LIB_UCLIBC
  177. default y
  178. endmenu