Config.in.toolchain 3.1 KB

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