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