stlink: add hosttool for stm32 flashing
[openadk.git] / target / config / Config.in.toolchain
blob9750230f597ed5fca29e312449c74afa32bb6e2b
1 # This file is part of the OpenADK project. OpenADK is copyrighted
2 # material, please see the LICENCE file in the top-level directory.
4 choice
5 depends on ADK_TARGET_OS_LINUX
6 bool "Library support"
8 config ADK_TARGET_USE_SHARED_LIBS_ONLY
9         bool "Create shared libraries only and link dynamically"
10         depends on !ADK_TARGET_BINFMT_FLAT && !ADK_TARGET_BINFMT_DSBT
12 config ADK_TARGET_USE_STATIC_LIBS_ONLY
13         bool "Create static libraries only and link statically"
14         select BUSYBOX_STATIC
15         help
16           Useful for debugging of dynamic linker problems. Be aware of the fact, that uClibc and glibc
17           still requires libgcc_so.so.1 for pthread_cancel. Glibc also requires libnss_*.so libraries
18           at runtime. Full static builds are only supported for musl libc.
20 config ADK_TARGET_USE_SHARED_AND_STATIC_LIBS
21         bool "Create shared and static libraries and link dynamically"
22         depends on !ADK_TARGET_BINFMT_FLAT && !ADK_TARGET_BINFMT_DSBT
24 endchoice
26 config ADK_TARGET_LIBC_WITH_LOCALE
27         bool "Enable locale support"
28         depends on ADK_TARGET_LIB_UCLIBC_NG
29         select BUSYBOX_LOCALE_SUPPORT if ADK_PACKAGE_BUSYBOX
31 config ADK_TARGET_LIBC_WITH_LIBINTL
32         bool "Enable libintl stub support"
33         depends on ADK_TARGET_LIB_UCLIBC_NG
34         help
35           Enables uClibc-ng libintl stub.
37 config ADK_TARGET_LIBC_WITH_LIBICONV
38         bool "Enable basic libiconv"
39         depends on ADK_TARGET_LIB_UCLIBC_NG
40         help
41           Enables uClibc-ng included basic libiconv support.
43 config ADK_TARGET_CFLAGS_OPT
44         string
45         default "-Os -pipe" if ADK_TARGET_CFLAGS_OPT_OS
46         default "-Og -pipe" if ADK_TARGET_CFLAGS_OPT_OG
47         default "-O2 -pipe" if ADK_TARGET_CFLAGS_OPT_O2
48         default "-O3 -pipe" if ADK_TARGET_CFLAGS_OPT_O3
49         default "-O0 -pipe" if ADK_TARGET_CFLAGS_OPT_O0
51 choice
52 bool "Optimization level"
54 config ADK_TARGET_CFLAGS_OPT_OS
55         bool "optimize for size (-Os)"
57 config ADK_TARGET_CFLAGS_OPT_OG
58         bool "optimize, but allow debugging (-Og)"
60 config ADK_TARGET_CFLAGS_OPT_O1
61         bool "optimize for minor performance (-O1)"
63 config ADK_TARGET_CFLAGS_OPT_O2
64         bool "optimize for performance (-O2)"
66 config ADK_TARGET_CFLAGS_OPT_O3
67         bool "optimize for extra performance (-O3)"
69 config ADK_TARGET_CFLAGS_OPT_O0
70         bool "no optimization (-O0)"
72 endchoice
74 menu "Compiler language support"
75 config ADK_TOOLCHAIN_WITH_CXX
76         bool "enable C++"
78 config ADK_TOOLCHAIN_WITH_OBJC
79         bool "enable Objective-C"
81 config ADK_TOOLCHAIN_WITH_FORTRAN
82         bool "enable Fortran"
83         select ADK_PACKAGE_LIBGFORTRAN
85 config ADK_TOOLCHAIN_WITH_GO
86         bool "enable Go"
87         select ADK_PACKAGE_LIBGO
89 endmenu
91 menu "Advanced Toolchain options"
93 config ADK_TOOLCHAIN_WITH_SSP
94         bool
96 config ADK_TARGET_USE_SSP
97         bool "Use Stack Smashing Protection for all packages"
98         select ADK_TOOLCHAIN_WITH_SSP
100 config ADK_TARGET_USE_PIE
101         bool "Use Position Independent Executable for packages with have support for it"
103 config ADK_TOOLCHAIN_WITH_LTO
104         bool
106 config ADK_TARGET_USE_LTO
107         bool "Use Link Time Optimization for all packages"
108         select ADK_TOOLCHAIN_WITH_LTO
110 config ADK_TARGET_USE_LD_RELRO
111         bool "Use LD read-only (-z relro) relocations for all packages"
113 config ADK_TARGET_USE_LD_BIND_NOW
114         bool "Use LD bind now (-z now) for all packages"
116 config ADK_TARGET_USE_LD_GC
117         bool "Use LD garbage collection for all packages"
119 config ADK_TOOLCHAIN_WITH_GOLD
120         bool "Enable building of GOLD linker"
122 config ADK_TARGET_USE_GOLD
123         bool "Use GOLD as default linker"
124         depends on ADK_TOOLCHAIN_WITH_GOLD
125         depends on ADK_TARGET_LIB_GLIBC # can not be build with GOLD (glibc 2.24 checked)
127 config ADK_TARGET_USE_GNU_HASHSTYLE
128         bool "Use GNU hashstyle for all packages"
129         depends on !ADK_TARGET_ARCH_MIPS
130         depends on !ADK_TARGET_ARCH_MIPS64
131         help
132           Performance optimization for applications with lot of shared library
133           dependencies. See http://www.akkadia.org/drepper/dsohowto.pdf
135 config ADK_DEBUG
136         bool "Compile applications with debug support and do not strip"
137         help
138           All software for the target will be compiled with:
139           -fno-omit-frame-pointer
140           -funwind-tables
141           -fasynchronous-unwind-tables  
142           Software will not be stripped.
143           Mostly useful for NFS root or big USB/CF or hard disk setups.
145 config ADK_DEBUG_STRIP
146         bool "strip target binaries/libraries for gdbserver usage"
147         depends on ADK_DEBUG
148         help
149           All packages and C library will be compiled with debug information, 
150           but stripped for the target.
152 config ADK_STATIC_TOOLCHAIN
153         bool "Build the toolchain components statically (portable host binaries)"
154         help
155           If you want to create more portable toolchains, build them static.
157 config ADK_PRELINK
158         bool "Prelink binaries and libraries in Image"
159         depends on ADK_TARGET_OS_LINUX
160         help
161           Do prelinking for faster loading of binaries.
163 config ADK_PRELINK_OPTS
164         string "additional options to pass to prelink"
165         default "-mR"
166         depends on ADK_PRELINK
168 endmenu