Config.in.toolchain 5.3 KB

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