waldux: update to latest
[openadk.git] / target / config / Config.in.toolchain
blob0a60119176c59397d3776e5a4c7b74a874285f36
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 || ADK_TARGET_OS_WALDUX
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 config ADK_TARGET_USE_STATIC_AND_SHARED_LIBS
25         bool "Create static and shared libraries and link statically"
26         depends on !ADK_TARGET_BINFMT_FLAT && !ADK_TARGET_BINFMT_DSBT
28 endchoice
30 config ADK_TARGET_LIBC_WITH_LOCALE
31         bool "Enable locale support"
32         depends on ADK_TARGET_LIB_UCLIBC_NG
33         select BUSYBOX_LOCALE_SUPPORT if ADK_PACKAGE_BUSYBOX
35 config ADK_TARGET_LIBC_WITH_LIBINTL
36         bool "Enable libintl stub support"
37         depends on ADK_TARGET_LIB_UCLIBC_NG
38         help
39           Enables uClibc-ng libintl stub.
41 config ADK_TARGET_LIBC_WITH_LIBICONV
42         bool "Enable basic libiconv"
43         depends on ADK_TARGET_LIB_UCLIBC_NG && !ADK_PACKAGE_LIBICONV
44         help
45           Enables uClibc-ng included basic libiconv support.
47 config ADK_TARGET_CFLAGS_OPT
48         string
49         default "-Os -pipe" if ADK_TARGET_CFLAGS_OPT_OS
50         default "-Og -pipe" if ADK_TARGET_CFLAGS_OPT_OG
51         default "-O2 -pipe" if ADK_TARGET_CFLAGS_OPT_O2
52         default "-O3 -pipe" if ADK_TARGET_CFLAGS_OPT_O3
53         default "-O0 -pipe" if ADK_TARGET_CFLAGS_OPT_O0
55 choice
56 bool "Optimization level"
58 config ADK_TARGET_CFLAGS_OPT_OS
59         bool "optimize for size (-Os)"
61 config ADK_TARGET_CFLAGS_OPT_OG
62         bool "optimize, but allow debugging (-Og)"
64 config ADK_TARGET_CFLAGS_OPT_O1
65         bool "optimize for minor performance (-O1)"
67 config ADK_TARGET_CFLAGS_OPT_O2
68         bool "optimize for performance (-O2)"
70 config ADK_TARGET_CFLAGS_OPT_O3
71         bool "optimize for extra performance (-O3)"
73 config ADK_TARGET_CFLAGS_OPT_O0
74         bool "no optimization (-O0)"
76 endchoice
78 menu "Compiler language support"
79 config ADK_TOOLCHAIN_WITH_CXX
80         bool "enable C++"
82 config ADK_TOOLCHAIN_WITH_OBJC
83         bool "enable Objective-C"
85 config ADK_TOOLCHAIN_WITH_FORTRAN
86         bool "enable Fortran"
87         select ADK_PACKAGE_LIBGFORTRAN
89 config ADK_TOOLCHAIN_WITH_GO
90         bool "enable Go"
91         select ADK_PACKAGE_LIBGO
93 endmenu
95 menu "Advanced Toolchain options"
97 config ADK_TOOLCHAIN_WITH_SSP
98         bool
100 config ADK_TARGET_USE_SSP
101         bool "Use Stack Smashing Protection for all packages"
102         select ADK_TOOLCHAIN_WITH_SSP
104 config ADK_TARGET_USE_PIE
105         bool "Use Position Independent Executable for packages with have support for it"
107 config ADK_TOOLCHAIN_WITH_LTO
108         bool
110 config ADK_TARGET_USE_LTO
111         bool "Use Link Time Optimization for all packages"
112         select ADK_TOOLCHAIN_WITH_LTO
114 config ADK_TARGET_USE_LD_RELRO
115         bool "Use LD read-only (-z relro) relocations for all packages"
117 config ADK_TARGET_USE_LD_BIND_NOW
118         bool "Use LD bind now (-z now) for all packages"
120 config ADK_TARGET_USE_LD_GC
121         bool "Use LD garbage collection for all packages"
123 config ADK_TOOLCHAIN_WITH_GOLD
124         bool "Enable building of GOLD linker"
126 config ADK_TARGET_USE_GOLD
127         bool "Use GOLD as default linker"
128         depends on ADK_TOOLCHAIN_WITH_GOLD
129         depends on ADK_TARGET_LIB_GLIBC # can not be build with GOLD (glibc 2.24 checked)
131 config ADK_TARGET_USE_GNU_HASHSTYLE
132         bool "Use GNU hashstyle for all packages"
133         depends on !ADK_TARGET_ARCH_MIPS
134         depends on !ADK_TARGET_ARCH_MIPS64
135         help
136           Performance optimization for applications with lot of shared library
137           dependencies. See http://www.akkadia.org/drepper/dsohowto.pdf
139 config ADK_DEBUG
140         bool "Compile applications with debug support and do not strip"
141         help
142           All software for the target will be compiled with:
143           -fno-omit-frame-pointer
144           -funwind-tables
145           -fasynchronous-unwind-tables  
146           Software will not be stripped.
147           Mostly useful for NFS root or big USB/CF or hard disk setups.
149 config ADK_DEBUG_STRIP
150         bool "strip target binaries/libraries for gdbserver usage"
151         depends on ADK_DEBUG
152         help
153           All packages and C library will be compiled with debug information, 
154           but stripped for the target.
156 config ADK_STATIC_TOOLCHAIN
157         bool "Build the toolchain components statically (portable host binaries)"
158         help
159           If you want to create more portable toolchains, build them static.
161 config ADK_PRELINK
162         bool "Prelink binaries and libraries in Image"
163         depends on ADK_TARGET_OS_LINUX || ADK_TARGET_OS_WALDUX
164         help
165           Do prelinking for faster loading of binaries.
167 config ADK_PRELINK_OPTS
168         string "additional options to pass to prelink"
169         default "-mR"
170         depends on ADK_PRELINK
172 endmenu