Config.in.toolchain 5.4 KB

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