summaryrefslogtreecommitdiff
path: root/toolchain/toolchain-external/Config.in
blob: c007e623fd2115f9bf0209a8be27ef5d8deaf6ae (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
if BR2_TOOLCHAIN_EXTERNAL

comment "Toolchain External Options"

choice
	prompt "Toolchain"

comment "glibc toolchains only available with shared lib support"
	depends on BR2_STATIC_LIBS

# Kept toolchains sorted by architecture in order to use some toolchain
# as default choice

# Aarch64 (use Linaro toolchain by default)
source "toolchain/toolchain-external/toolchain-external-linaro-aarch64/Config.in"
source "toolchain/toolchain-external/toolchain-external-codesourcery-aarch64/Config.in"

# ARC
source "toolchain/toolchain-external/toolchain-external-synopsys-arc/Config.in"

# ARM (use Linaro toolchain by default)
source "toolchain/toolchain-external/toolchain-external-linaro-arm/Config.in"
source "toolchain/toolchain-external/toolchain-external-codesourcery-arm/Config.in"

# ARM big-endian
source "toolchain/toolchain-external/toolchain-external-linaro-armeb/Config.in"

# MIPS (use codesourcery toolchain by default)
source "toolchain/toolchain-external/toolchain-external-codesourcery-mips/Config.in"
source "toolchain/toolchain-external/toolchain-external-codescape-img-mips/Config.in"
source "toolchain/toolchain-external/toolchain-external-codescape-mti-mips/Config.in"

# NIOSII
source "toolchain/toolchain-external/toolchain-external-codesourcery-niosII/Config.in"

# SH4a
source "toolchain/toolchain-external/toolchain-external-codesourcery-sh/Config.in"

# x86/x86_64 (use amd64 toolchain by default for AMD64)
source "toolchain/toolchain-external/toolchain-external-codesourcery-amd64/Config.in"
source "toolchain/toolchain-external/toolchain-external-codesourcery-x86/Config.in"

# Musl based toolchains (after all the others)
source "toolchain/toolchain-external/toolchain-external-musl-cross/Config.in"

# Kept last, so it remains the non-default choice, unless there isn't
# any available toolchain profile for the currently selected
# architecture.
source "toolchain/toolchain-external/toolchain-external-custom/Config.in"

endchoice

choice
	prompt "Toolchain origin"
	# Keep compatibility with old defconfig files that are using
	# custom toolchains, and which are therefore assuming that
	# "preinstalled" in the default choice.
	default BR2_TOOLCHAIN_EXTERNAL_PREINSTALLED if BR2_TOOLCHAIN_EXTERNAL_CUSTOM

config BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD
	bool "Toolchain to be downloaded and installed"
	help
	  Select this option if you want Buildroot to download and install the
	  toolchain. If you have selected a custom toolchain, specify the URL
	  in BR2_TOOLCHAIN_EXTERNAL_URL.

config BR2_TOOLCHAIN_EXTERNAL_PREINSTALLED
	bool "Pre-installed toolchain"
	help
	  Select this option if you want to use a pre-installed toolchain.
	  Specify the path to this toolchain in BR2_TOOLCHAIN_EXTERNAL_PATH.

endchoice

config BR2_TOOLCHAIN_EXTERNAL_PATH
	string "Toolchain path"
	default "/path/to/toolchain/usr"
	depends on BR2_TOOLCHAIN_EXTERNAL_PREINSTALLED
	help
	  Path to where the external toolchain is installed.

config BR2_TOOLCHAIN_EXTERNAL_GLIBC
	bool
	select BR2_TOOLCHAIN_USES_GLIBC

config BR2_TOOLCHAIN_EXTERNAL_UCLIBC
	bool
	select BR2_TOOLCHAIN_USES_UCLIBC

config BR2_TOOLCHAIN_EXTERNAL_MUSL
	bool
	select BR2_TOOLCHAIN_USES_MUSL
	# Compatibility headers: cdefs.h, queue.h
	select BR2_PACKAGE_MUSL_COMPAT_HEADERS

# Make sure the virtual-package infra checks the provider
config BR2_PACKAGE_HAS_TOOLCHAIN_EXTERNAL
	bool
	default y

config BR2_PACKAGE_PROVIDES_TOOLCHAIN_EXTERNAL
	string

config BR2_TOOLCHAIN_EXTERNAL_PREFIX
	string

# Kept toolchains sorted as in the choice above
# The toolchain Config.in.options must define
# BR2_PACKAGE_PROVIDES_TOOLCHAIN_EXTERNAL and BR2_TOOLCHAIN_EXTERNAL_PREFIX

# Aarch64
source "toolchain/toolchain-external/toolchain-external-linaro-aarch64/Config.in.options"
source "toolchain/toolchain-external/toolchain-external-codesourcery-aarch64/Config.in.options"

# ARC
source "toolchain/toolchain-external/toolchain-external-synopsys-arc/Config.in.options"

# ARM
source "toolchain/toolchain-external/toolchain-external-linaro-arm/Config.in.options"
source "toolchain/toolchain-external/toolchain-external-codesourcery-arm/Config.in.options"

# ARM big-endian
source "toolchain/toolchain-external/toolchain-external-linaro-armeb/Config.in.options"

# MIPS
source "toolchain/toolchain-external/toolchain-external-codesourcery-mips/Config.in.options"
source "toolchain/toolchain-external/toolchain-external-codescape-img-mips/Config.in.options"
source "toolchain/toolchain-external/toolchain-external-codescape-mti-mips/Config.in.options"

# NIOSII
source "toolchain/toolchain-external/toolchain-external-codesourcery-niosII/Config.in.options"

# SH4a
source "toolchain/toolchain-external/toolchain-external-codesourcery-sh/Config.in.options"

# x86/x86_64
source "toolchain/toolchain-external/toolchain-external-codesourcery-amd64/Config.in.options"
source "toolchain/toolchain-external/toolchain-external-codesourcery-x86/Config.in.options"

# Musl based toolchains
source "toolchain/toolchain-external/toolchain-external-musl-cross/Config.in.options"

# Custom toolchains
source "toolchain/toolchain-external/toolchain-external-custom/Config.in.options"

config BR2_TOOLCHAIN_EXTERNAL_GDB_SERVER_COPY
	bool "Copy gdb server to the Target"
	depends on BR2_TOOLCHAIN_EXTERNAL
	help
	  Copy the gdbserver provided by the external toolchain to the
	  target.

endif # BR2_TOOLCHAIN_EXTERNAL