Config.in 5.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200
  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. menuconfig EXTRA_TARGET_ARCH
  79. bool
  80. prompt "Enable an extra toolchain target architecture" if TOOLCHAINOPTS
  81. depends !sparc
  82. default y if powerpc64
  83. default n
  84. help
  85. Some builds may require a 'biarch' toolchain. This option
  86. allows you to specify an additional target arch.
  87. Most people will answer N here.
  88. config EXTRA_TARGET_ARCH_NAME
  89. string
  90. default "powerpc64" if powerpc64
  91. prompt "Extra architecture name" if EXTRA_TARGET_ARCH
  92. help
  93. Specify the cpu name (eg powerpc64 or x86_64) of the
  94. additional target architecture.
  95. config EXTRA_TARGET_ARCH_OPTS
  96. string
  97. default "-m64" if powerpc64
  98. prompt "Extra architecture compiler options" if EXTRA_TARGET_ARCH
  99. help
  100. If you're specifying an addition target architecture,
  101. you'll probably need to also provide options to make
  102. the compiler use this alternate arch.
  103. For example, if you're building a compiler that can build
  104. both powerpc and powerpc64 binaries, you'll need to
  105. specify -m64 here.
  106. comment "Binary tools"
  107. depends TOOLCHAINOPTS
  108. source "toolchain/binutils/Config.in"
  109. comment "Compiler"
  110. depends TOOLCHAINOPTS
  111. source "toolchain/gcc/Config.in"
  112. comment "C Library"
  113. depends TOOLCHAINOPTS
  114. choice
  115. prompt "C Library implementation" if TOOLCHAINOPTS
  116. default USE_UCLIBC
  117. help
  118. Select the C library implementation.
  119. config USE_EGLIBC
  120. bool "Use eglibc"
  121. depends !avr32
  122. config USE_UCLIBC
  123. bool "Use uClibc"
  124. endchoice
  125. source "toolchain/eglibc/Config.in"
  126. source "toolchain/uClibc/Config.in"
  127. comment "Debuggers"
  128. depends TOOLCHAINOPTS
  129. config GDB
  130. bool
  131. depends !avr32
  132. prompt "Build gdb" if TOOLCHAINOPTS
  133. default n
  134. help
  135. Enable if you want to build the gdb
  136. config INSIGHT
  137. bool
  138. prompt "Build insight-gdb" if TOOLCHAINOPTS
  139. select GDB
  140. default n
  141. help
  142. Enable if you want to build insight-gdb
  143. config USE_UCLIBC
  144. bool
  145. default y if !TOOLCHAINOPTS && !EXTERNAL_TOOLCHAIN && !NATIVE_TOOLCHAIN
  146. config USE_EXTERNAL_LIBC
  147. bool
  148. default y if EXTERNAL_TOOLCHAIN || NATIVE_TOOLCHAIN
  149. source "toolchain/gcc/Config.version"
  150. source "toolchain/eglibc/Config.version"
  151. source "toolchain/uClibc/Config.version"
  152. config LIBC
  153. string
  154. default "eglibc" if USE_EGLIBC
  155. default "uClibc" if USE_UCLIBC
  156. config LIBC_VERSION
  157. string
  158. default EGLIBC_VERSION if USE_EGLIBC
  159. default UCLIBC_VERSION if USE_UCLIBC
  160. config TARGET_SUFFIX
  161. string
  162. default "gnueabi" if (USE_EGLIBC) && (arm || armeb)
  163. default "gnu" if (USE_EGLIBC) && !(arm || armeb)
  164. default "uclibcgnueabi" if USE_UCLIBC && (arm || armeb)
  165. default "uclibc" if USE_UCLIBC && !(arm || armeb)