blob: 3cf310e68c65945cd5c08e84bbb742ebcb98fcf6 (
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
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
|
# This file is part of the OpenADK project. OpenADK is copyrighted
# material, please see the LICENCE file in the top-level directory.
choice
depends on ADK_TARGET_OS_LINUX
bool "Library support"
config ADK_TARGET_USE_SHARED_LIBS_ONLY
bool "Create shared libraries only and link dynamically"
depends on !ADK_TARGET_BINFMT_FLAT && !ADK_TARGET_BINFMT_DSBT
config ADK_TARGET_USE_STATIC_LIBS_ONLY
bool "Create static libraries only and link statically"
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_TARGET_USE_SHARED_AND_STATIC_LIBS
bool "Create shared and static libraries and link dynamically"
depends on !ADK_TARGET_BINFMT_FLAT && !ADK_TARGET_BINFMT_DSBT
endchoice
choice
depends on ADK_TARGET_OS_LINUX
bool "Iconv implementation"
default ADK_TARGET_WITHOUT_ICONV if ADK_TARGET_WITHOUT_MMU
config ADK_TARGET_LIBICONV_TINY
bool "Use tiny libiconv package"
select ADK_PACKAGE_LIBICONV_TINY
config ADK_TARGET_LIBC_ICONV
bool "Use iconv from C library"
config ADK_TARGET_LIBICONV
bool "Use libiconv package"
select ADK_PACKAGE_LIBICONV
config ADK_TARGET_WITHOUT_ICONV
bool "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
bool "Optimization level"
config ADK_TARGET_CFLAGS_OPT_OS
bool "optimize for size (-Os)"
config ADK_TARGET_CFLAGS_OPT_OG
bool "optimize, but allow debugging (-Og)"
config ADK_TARGET_CFLAGS_OPT_O1
bool "optimize for minor performance (-O1)"
config ADK_TARGET_CFLAGS_OPT_O2
bool "optimize for performance (-O2)"
config ADK_TARGET_CFLAGS_OPT_O3
bool "optimize for extra performance (-O3)"
config ADK_TARGET_CFLAGS_OPT_O0
bool "no optimization (-O0)"
endchoice
menu "Compiler language support"
config ADK_TOOLCHAIN_WITH_CXX
bool "enable C++"
config ADK_TOOLCHAIN_WITH_OBJC
bool "enable Objective-C"
config ADK_TOOLCHAIN_WITH_FORTRAN
bool "enable Fortran"
select ADK_PACKAGE_LIBGFORTRAN
config ADK_TOOLCHAIN_WITH_GO
bool "enable Go"
select ADK_PACKAGE_LIBGO
endmenu
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 "Enable building of GOLD linker"
config ADK_TARGET_USE_GOLD
bool "Use GOLD as default linker"
depends on ADK_TOOLCHAIN_WITH_GOLD
depends on ADK_TARGET_LIB_GLIBC # can not be build with GOLD (glibc 2.24 checked)
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_STATIC_TOOLCHAIN
bool "Build the toolchain components statically (portable host binaries)"
help
If you want to create more portable toolchains, build them static.
config ADK_PRELINK
bool "Prelink binaries and libraries in Image"
depends on ADK_TARGET_OS_LINUX
help
Do prelinking for faster loading of binaries.
config ADK_PRELINK_OPTS
string "additional options to pass to prelink"
default "-mR"
depends on ADK_PRELINK
endmenu
|