Config.in 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212
  1. #
  2. menuconfig EXTERNAL_TOOLCHAIN
  3. bool
  4. prompt "Use external toolchain" if DEVEL
  5. help
  6. If enabled, OpenWrt will compile using an existing toolchain instead of compiling one
  7. config NATIVE_TOOLCHAIN
  8. bool
  9. prompt "Use host's toolchain" if DEVEL
  10. depends EXTERNAL_TOOLCHAIN
  11. select NO_STRIP
  12. help
  13. If enabled, OpenWrt will compile using the native toolchain for your host instead of compiling one
  14. config TARGET_NAME
  15. string
  16. prompt "Target name" if DEVEL
  17. depends EXTERNAL_TOOLCHAIN && !NATIVE_TOOLCHAIN
  18. default "arm-unknown-linux-gnu" if arm
  19. default "armeb-unknown-linux-gnu" if armeb
  20. default "i486-unknown-linux-gnu" if i386
  21. default "mips-unknown-linux-gnu" if mips
  22. default "mipsel-unknown-linux-gnu" if mipsel
  23. default "powerpc-unknown-linux-gnu" if powerpc
  24. default "x86_64-unknown-linux-gnu" if x86_64
  25. config TOOLCHAIN_PREFIX
  26. string
  27. prompt "Toolchain prefix" if DEVEL
  28. depends EXTERNAL_TOOLCHAIN && !NATIVE_TOOLCHAIN
  29. default "arm-unknown-linux-gnu-" if arm
  30. default "armeb-unknown-linux-gnu-" if armeb
  31. default "i486-unknown-linux-gnu-" if i386
  32. default "mips-unknown-linux-gnu-" if mips
  33. default "mipsel-unknown-linux-gnu-" if mipsel
  34. default "powerpc-unknown-linux-gnu-" if powerpc
  35. default "x86_64-unknown-linux-gnu-" if x86_64
  36. config TOOLCHAIN_ROOT
  37. string
  38. prompt "Toolchain root" if DEVEL
  39. depends EXTERNAL_TOOLCHAIN && !NATIVE_TOOLCHAIN
  40. default "/opt/cross/arm-unknown-linux-gnu" if arm
  41. default "/opt/cross/armeb-unknown-linux-gnu" if armeb
  42. default "/opt/cross/i486-unknown-linux-gnu" if i386
  43. default "/opt/cross/mips-unknown-linux-gnu" if mips
  44. default "/opt/cross/mipsel-unknown-linux-gnu" if mipsel
  45. default "/opt/cross/powerpc-unknown-linux-gnu" if powerpc
  46. default "/opt/cross/x86_64-unknown-linux-gnu" if x86_64
  47. config TOOLCHAIN_BIN_PATH
  48. string
  49. prompt "Toolchain program path" if DEVEL
  50. depends EXTERNAL_TOOLCHAIN && !NATIVE_TOOLCHAIN
  51. default "./usr/bin ./bin"
  52. help
  53. Specify additional directories searched for toolchain binaries (override PATH)
  54. Use ./DIR for directories relative to the root above
  55. config TOOLCHAIN_INC_PATH
  56. string
  57. prompt "Toolchain include path" if DEVEL
  58. depends EXTERNAL_TOOLCHAIN && !NATIVE_TOOLCHAIN
  59. default "./usr/include ./include"
  60. help
  61. Specify additional directories searched for header files (override CPPFLAGS)
  62. Use ./DIR for directories relative to the root above
  63. config TOOLCHAIN_LIB_PATH
  64. string
  65. prompt "Toolchain library path" if DEVEL
  66. depends EXTERNAL_TOOLCHAIN && !NATIVE_TOOLCHAIN
  67. default "./usr/lib ./lib"
  68. help
  69. Specify additional directories searched for libraries (override LDFLAGS)
  70. Use ./DIR for directories relative to the root above
  71. config NEED_TOOLCHAIN
  72. bool
  73. depends DEVEL
  74. default y if !EXTERNAL_TOOLCHAIN
  75. menuconfig TOOLCHAINOPTS
  76. bool "Toolchain Options" if DEVEL
  77. depends NEED_TOOLCHAIN
  78. config EABI_SUPPORT
  79. bool
  80. depends arm||armeb
  81. prompt "Enable EABI support" if TOOLCHAINOPTS
  82. default n if TARGET_gemini
  83. default y
  84. help
  85. Enable ARM EABI support
  86. menuconfig EXTRA_TARGET_ARCH
  87. bool
  88. prompt "Enable an extra toolchain target architecture" if TOOLCHAINOPTS
  89. default y if powerpc64
  90. default n
  91. help
  92. Some builds may require a 'biarch' toolchain. This option
  93. allows you to specify an additional target arch.
  94. Most people will answer N here.
  95. config EXTRA_TARGET_ARCH_NAME
  96. string
  97. default "powerpc64" if powerpc64
  98. prompt "Extra architecture name" if EXTRA_TARGET_ARCH
  99. help
  100. Specify the cpu name (eg powerpc64 or x86_64) of the
  101. additional target architecture.
  102. config EXTRA_TARGET_ARCH_OPTS
  103. string
  104. default "-m64" if powerpc64
  105. prompt "Extra architecture compiler options" if EXTRA_TARGET_ARCH
  106. help
  107. If you're specifying an addition target architecture,
  108. you'll probably need to also provide options to make
  109. the compiler use this alternate arch.
  110. For example, if you're building a compiler that can build
  111. both powerpc and powerpc64 binaries, you'll need to
  112. specify -m64 here.
  113. comment "Binary tools"
  114. depends TOOLCHAINOPTS
  115. source "toolchain/binutils/Config.in"
  116. comment "Compiler"
  117. depends TOOLCHAINOPTS
  118. source "toolchain/gcc/Config.in"
  119. comment "C Library"
  120. depends TOOLCHAINOPTS
  121. choice
  122. prompt "C Library implementation" if TOOLCHAINOPTS
  123. default USE_UCLIBC
  124. help
  125. Select the C library implementation.
  126. config USE_EGLIBC
  127. bool "Use eglibc"
  128. depends !avr32
  129. config USE_GLIBC
  130. bool "Use glibc"
  131. depends !avr32
  132. config USE_UCLIBC
  133. bool "Use uClibc"
  134. endchoice
  135. source "toolchain/eglibc/Config.in"
  136. source "toolchain/glibc/Config.in"
  137. source "toolchain/uClibc/Config.in"
  138. comment "Debuggers"
  139. depends TOOLCHAINOPTS
  140. config GDB
  141. bool
  142. prompt "Build gdb" if TOOLCHAINOPTS
  143. default n
  144. help
  145. Enable if you want to build the gdb
  146. config INSIGHT
  147. bool
  148. prompt "Build insight-gdb" if TOOLCHAINOPTS
  149. select GDB
  150. default n
  151. help
  152. Enable if you want to build insight-gdb
  153. config USE_UCLIBC
  154. bool
  155. default y if !TOOLCHAINOPTS
  156. source "toolchain/gcc/Config.version"
  157. source "toolchain/eglibc/Config.version"
  158. source "toolchain/glibc/Config.version"
  159. source "toolchain/uClibc/Config.version"
  160. config LIBC
  161. string
  162. default "eglibc" if USE_EGLIBC
  163. default "glibc" if USE_GLIBC
  164. default "uClibc" if USE_UCLIBC
  165. config LIBC_VERSION
  166. string
  167. default EGLIBC_VERSION if USE_EGLIBC
  168. default GLIBC_VERSION if USE_GLIBC
  169. default UCLIBC_VERSION if USE_UCLIBC
  170. config TARGET_SUFFIX
  171. string
  172. default "gnueabi" if (USE_EGLIBC || USE_GLIBC) && EABI_SUPPORT
  173. default "gnu" if (USE_EGLIBC || USE_GLIBC) && !EABI_SUPPORT
  174. default "uclibcgnueabi" if USE_UCLIBC && EABI_SUPPORT
  175. default "uclibc" if USE_UCLIBC && !EABI_SUPPORT