Config.in.toolchain 4.6 KB

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