Config.in.toolchain 5.7 KB

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