Config.in.toolchain 4.9 KB

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