Config.in.toolchain 5.0 KB

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