Config.in.toolchain 3.5 KB

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