Config.in.toolchain 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196
  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. choice
  4. depends on ADK_TARGET_OS_LINUX
  5. bool "Library support"
  6. config ADK_TARGET_USE_SHARED_LIBS_ONLY
  7. bool "Create shared libraries only and link dynamically"
  8. depends on !ADK_TARGET_BINFMT_FLAT && !ADK_TARGET_BINFMT_DSBT
  9. config ADK_TARGET_USE_STATIC_LIBS_ONLY
  10. bool "Create static libraries only and link statically"
  11. select BUSYBOX_STATIC
  12. help
  13. Useful for debugging of dynamic linker problems. Be aware of the fact, that uClibc and glibc
  14. still requires libgcc_so.so.1 for pthread_cancel. Glibc also requires libnss_*.so libraries
  15. at runtime. Full static builds are only supported for musl libc.
  16. config ADK_TARGET_USE_SHARED_AND_STATIC_LIBS
  17. bool "Create shared and static libraries and link dynamically"
  18. depends on !ADK_TARGET_BINFMT_FLAT && !ADK_TARGET_BINFMT_DSBT
  19. endchoice
  20. choice
  21. depends on ADK_TARGET_LIB_UCLIBC_NG
  22. bool "Locale support"
  23. config ADK_TARGET_LIBC_WITHOUT_LOCALE
  24. bool "Disable locale support"
  25. config ADK_TARGET_LIBC_WITH_LOCALE
  26. bool "Enable locale support"
  27. select BUSYBOX_LOCALE_SUPPORT if ADK_PACKAGE_BUSYBOX
  28. endchoice
  29. choice
  30. depends on ADK_TARGET_LIB_UCLIBC_NG
  31. bool "Intl support"
  32. config ADK_TARGET_LIBC_WITHOUT_LIBINTL
  33. bool "Disable libintl support"
  34. help
  35. Disables uClibc-ng internal stub support.
  36. config ADK_TARGET_LIBC_WITH_LIBINTL
  37. bool "Enable libintl stub support"
  38. help
  39. Enables uClibc-ng libintl stub.
  40. endchoice
  41. choice
  42. depends on ADK_TARGET_LIB_UCLIBC_NG
  43. bool "Iconv support"
  44. config ADK_TARGET_LIBC_WITHOUT_LIBICONV
  45. bool "Disable libiconv support"
  46. help
  47. Disables uClibc-ng internal libiconv support.
  48. config ADK_TARGET_LIBC_WITH_LIBICONV
  49. bool "Enable basic libiconv"
  50. help
  51. Enables uClibc-ng included basic libiconv support.
  52. endchoice
  53. config ADK_TARGET_CFLAGS_OPT
  54. string
  55. default "-Os -pipe" if ADK_TARGET_CFLAGS_OPT_OS
  56. default "-Og -pipe" if ADK_TARGET_CFLAGS_OPT_OG
  57. default "-O2 -pipe" if ADK_TARGET_CFLAGS_OPT_O2
  58. default "-O3 -pipe" if ADK_TARGET_CFLAGS_OPT_O3
  59. default "-O0 -pipe" if ADK_TARGET_CFLAGS_OPT_O0
  60. choice
  61. bool "Optimization level"
  62. config ADK_TARGET_CFLAGS_OPT_OS
  63. bool "optimize for size (-Os)"
  64. config ADK_TARGET_CFLAGS_OPT_OG
  65. bool "optimize, but allow debugging (-Og)"
  66. config ADK_TARGET_CFLAGS_OPT_O1
  67. bool "optimize for minor performance (-O1)"
  68. config ADK_TARGET_CFLAGS_OPT_O2
  69. bool "optimize for performance (-O2)"
  70. config ADK_TARGET_CFLAGS_OPT_O3
  71. bool "optimize for extra performance (-O3)"
  72. config ADK_TARGET_CFLAGS_OPT_O0
  73. bool "no optimization (-O0)"
  74. endchoice
  75. menu "Compiler language support"
  76. config ADK_TOOLCHAIN_WITH_CXX
  77. bool "enable C++"
  78. config ADK_TOOLCHAIN_WITH_OBJC
  79. bool "enable Objective-C"
  80. config ADK_TOOLCHAIN_WITH_FORTRAN
  81. bool "enable Fortran"
  82. select ADK_PACKAGE_LIBGFORTRAN
  83. config ADK_TOOLCHAIN_WITH_GO
  84. bool "enable Go"
  85. select ADK_PACKAGE_LIBGO
  86. endmenu
  87. menu "Advanced Toolchain options"
  88. config ADK_TOOLCHAIN_WITH_SSP
  89. bool
  90. config ADK_TARGET_USE_SSP
  91. bool "Use Stack Smashing Protection for all packages"
  92. select ADK_TOOLCHAIN_WITH_SSP
  93. config ADK_TARGET_USE_PIE
  94. bool "Use Position Independent Executable for packages with have support for it"
  95. config ADK_TOOLCHAIN_WITH_LTO
  96. bool
  97. config ADK_TARGET_USE_LTO
  98. bool "Use Link Time Optimization for all packages"
  99. select ADK_TOOLCHAIN_WITH_LTO
  100. config ADK_TARGET_USE_LD_RELRO
  101. bool "Use LD read-only (-z relro) relocations for all packages"
  102. config ADK_TARGET_USE_LD_BIND_NOW
  103. bool "Use LD bind now (-z now) for all packages"
  104. config ADK_TARGET_USE_LD_GC
  105. bool "Use LD garbage collection for all packages"
  106. config ADK_TOOLCHAIN_WITH_GOLD
  107. bool "Enable building of GOLD linker"
  108. config ADK_TARGET_USE_GOLD
  109. bool "Use GOLD as default linker"
  110. depends on ADK_TOOLCHAIN_WITH_GOLD
  111. depends on ADK_TARGET_LIB_GLIBC # can not be build with GOLD (glibc 2.24 checked)
  112. config ADK_TARGET_USE_GNU_HASHSTYLE
  113. bool "Use GNU hashstyle for all packages"
  114. depends on !ADK_TARGET_ARCH_MIPS
  115. depends on !ADK_TARGET_ARCH_MIPS64
  116. help
  117. Performance optimization for applications with lot of shared library
  118. dependencies. See http://www.akkadia.org/drepper/dsohowto.pdf
  119. config ADK_DEBUG
  120. bool "Compile applications with debug support and do not strip"
  121. help
  122. All software for the target will be compiled with:
  123. -fno-omit-frame-pointer
  124. -funwind-tables
  125. -fasynchronous-unwind-tables
  126. Software will not be stripped.
  127. Mostly useful for NFS root or big USB/CF or hard disk setups.
  128. config ADK_DEBUG_STRIP
  129. bool "strip target binaries/libraries for gdbserver usage"
  130. depends on ADK_DEBUG
  131. help
  132. All packages and C library will be compiled with debug information,
  133. but stripped for the target.
  134. config ADK_STATIC_TOOLCHAIN
  135. bool "Build the toolchain components statically (portable host binaries)"
  136. help
  137. If you want to create more portable toolchains, build them static.
  138. config ADK_PRELINK
  139. bool "Prelink binaries and libraries in Image"
  140. depends on ADK_TARGET_OS_LINUX
  141. help
  142. Do prelinking for faster loading of binaries.
  143. config ADK_PRELINK_OPTS
  144. string "additional options to pass to prelink"
  145. default "-mR"
  146. depends on ADK_PRELINK
  147. endmenu