Config.in.toolchain 3.8 KB

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