Config.in.toolchain 4.3 KB

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