summaryrefslogtreecommitdiff
path: root/target/config/Config.in.toolchain
blob: 144f92a9baa9d063c75ee68a6e0b5d6e1a6b9ec7 (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
# This file is part of the OpenADK project. OpenADK is copyrighted
# material, please see the LICENCE file in the top-level directory.

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 "-O1 -pipe" if ADK_TARGET_CFLAGS_OPT_O1
	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

config ADK_TARGET_CFLAGS_DISABLE_EH
	bool "Disable exception handling and unwindung via compiler flags"
	depends on !ADK_DEBUG
	help
	  Do not use this optimization flags if you are planning to use C++
	  applications, which are often using exception handling.

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