xref: /OK3568_Linux_fs/buildroot/package/xenomai/Config.in (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1config BR2_PACKAGE_XENOMAI_COBALT_ARCH_SUPPORTS
2	bool
3	default y if BR2_i386
4	default y if BR2_x86_64
5	default y if BR2_powerpc
6	default y if BR2_arm && !BR2_ARM_CPU_ARMV7M && !BR2_ARM_CPU_ARMV8A
7	default y if BR2_aarch64
8
9comment "xenomai needs a glibc or uClibc toolchain w/ threads"
10	depends on BR2_USE_MMU
11	depends on BR2_TOOLCHAIN_HAS_SYNC_4
12	depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_TOOLCHAIN_USES_MUSL
13
14config BR2_PACKAGE_XENOMAI
15	bool "Xenomai Userspace"
16	depends on BR2_USE_MMU
17	depends on BR2_TOOLCHAIN_HAS_SYNC_4
18	depends on BR2_TOOLCHAIN_HAS_THREADS
19	# uses <error.h>, __WORDSIZE and bits/local_lim.h
20	depends on !BR2_TOOLCHAIN_USES_MUSL
21	help
22	  Real-Time Framework for Linux
23	  http://www.xenomai.org
24
25	  Xenomai is split in two parts: a kernel part and an
26	  userspace part.
27
28	  This package contains the userspace part, which consists
29	  mainly in libraries to write userspace real-time programs
30	  that interact with the in-kernel Xenomai real-time core.
31
32	  For those libraries to work, you need a Xenomai-enabled
33	  kernel. This is possible in two ways:
34	   - if you compile your kernel with Buildroot, you need to go
35	     to Linux Kernel -> Linux Kernel Extensions to enable the
36	     Xenomai extension.
37	   - if you compile your kernel outside of Buildroot, you need
38	     to make sure that it is Xenomai-enabled.
39
40	  Finally, if you are using a static /dev, make sure to
41	  uncomment the Xenomai entries listed in
42	  target/generic/device_table_dev.txt.
43
44if BR2_PACKAGE_XENOMAI
45
46choice
47	bool "Xenomai version"
48	help
49	  Make sure that the selected version has a patch for your
50	  selected Linux kernel. If it does not, download and select a
51	  patch manually with BR2_LINUX_KERNEL_EXT_XENOMAI_ADEOS_PATCH,
52	  in the Linux Kernel -> Linux Kernel Extensions menu.
53
54config BR2_PACKAGE_XENOMAI_3_2
55	bool "3.2"
56
57config BR2_PACKAGE_XENOMAI_3_1
58	bool "3.1"
59
60config BR2_PACKAGE_XENOMAI_3_0
61	bool "3.0"
62	depends on !BR2_aarch64
63
64config BR2_PACKAGE_XENOMAI_CUSTOM_VERSION
65	bool "Custom version"
66
67config BR2_PACKAGE_XENOMAI_CUSTOM_TARBALL
68	bool "Custom tarball"
69
70config BR2_PACKAGE_XENOMAI_CUSTOM_GIT
71	bool "Custom Git repository"
72
73endchoice
74
75config BR2_PACKAGE_XENOMAI_CUSTOM_VERSION_VALUE
76	string "Xenomai version"
77	depends on BR2_PACKAGE_XENOMAI_CUSTOM_VERSION
78
79config BR2_PACKAGE_XENOMAI_REPOSITORY
80	string "URL of custom repository"
81	depends on BR2_PACKAGE_XENOMAI_CUSTOM_GIT
82
83config BR2_PACKAGE_XENOMAI_REPOSITORY_VERSION
84	string "Custom repository version"
85	depends on BR2_PACKAGE_XENOMAI_CUSTOM_GIT
86	help
87	  Revision to use in the typical format used by Git, i.e a
88	  SHA1 or a tag.
89
90config BR2_PACKAGE_XENOMAI_VERSION
91	string
92	default "v3.2.2" if BR2_PACKAGE_XENOMAI_3_2
93	default "v3.1.3" if BR2_PACKAGE_XENOMAI_3_1
94	default "v3.0.13" if BR2_PACKAGE_XENOMAI_3_0
95	default BR2_PACKAGE_XENOMAI_CUSTOM_VERSION_VALUE \
96		if BR2_PACKAGE_XENOMAI_CUSTOM_VERSION
97	default "custom" if BR2_PACKAGE_XENOMAI_CUSTOM_TARBALL
98	default BR2_PACKAGE_XENOMAI_REPOSITORY_VERSION \
99		if BR2_PACKAGE_XENOMAI_CUSTOM_GIT
100
101config BR2_PACKAGE_XENOMAI_CUSTOM_TARBALL_URL
102	string "URL of custom tarball"
103	depends on BR2_PACKAGE_XENOMAI_CUSTOM_TARBALL
104
105choice
106	prompt "Xenomai core"
107	default BR2_PACKAGE_XENOMAI_MERCURY
108	help
109	  Select the Xenomai core: dual kernel (Cobalt)
110	  or native Linux Kernel (Mercury).
111
112config BR2_PACKAGE_XENOMAI_MERCURY
113	bool "Mercury"
114	depends on !BR2_LINUX_KERNEL_EXT_XENOMAI
115	help
116	  Select Mercury core for the Xenomai userspace.
117	  You want to use it if you have the native Linux Kernel.
118
119config BR2_PACKAGE_XENOMAI_COBALT
120	bool "Cobalt"
121	depends on BR2_PACKAGE_XENOMAI_COBALT_ARCH_SUPPORTS
122	help
123	  Select Cobalt core (dual kernel) for the Xenomai
124	  userspace. Use this if you use a Xenomai-patched
125	  Linux kernel.
126
127	  If you want to use Cobalt core, your kernel must have
128	  the Adeos and Xenomai patches applied to it. You can
129	  add these through the BR2_LINUX_KERNEL_EXT_XENOMAI option
130	  in the Linux Kernel Extensions menu.
131endchoice
132
133config BR2_PACKAGE_XENOMAI_ENABLE_SMP
134	bool "Enable SMP support"
135	default y
136	# SMP not supported below armv6
137	depends on !BR2_ARM_CPU_ARMV4 && !BR2_ARM_CPU_ARMV5
138	help
139	  This option enables SMP support in Xenomai userspace.
140
141	  If this option is turned on while no SMP support is enabled
142	  in the kernel, things will still work. However, if SMP is
143	  enabled in the kernel but this option is not turned on,
144	  Xenomai applications will complain with:
145
146	    feature mismatch: missing="smp/nosmp"
147
148	  Please refer to this troubleshooting guide for more
149	  information:
150
151	  http://xenomai.org/troubleshooting-a-dual-kernel-configuration/#feature_mismatch_missing8221smpnosmp8221
152
153config BR2_PACKAGE_XENOMAI_ENABLE_REGISTRY
154	bool "Enable registry"
155	depends on !BR2_STATIC_LIBS # libfuse
156	depends on BR2_TOOLCHAIN_HAS_THREADS # libfuse
157	depends on BR2_USE_MMU # libfuse
158	select BR2_PACKAGE_LIBFUSE
159	help
160	  Xenomai APIs can export their internal state through a
161	  pseudo-filesystem, whose files may be read to obtain
162	  information about the existing real-time objects, such as
163	  tasks, semaphores, message queues and so on.
164
165comment "registry needs a toolchain w/ threads, dynamic library"
166	depends on BR2_USE_MMU
167	depends on BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HAS_THREADS
168
169config BR2_PACKAGE_XENOMAI_ENABLE_REGISTRY_PATH
170	string "Custom registry root path"
171	depends on BR2_PACKAGE_XENOMAI_ENABLE_REGISTRY
172	help
173	  Specify the root path of the registry here.
174	  To use the Xenomai default (currently: /var/run/xenomai),
175	  leave this option empty.
176
177config BR2_PACKAGE_XENOMAI_ADDITIONAL_CONF_OPTS
178	string "Additional configure options"
179	help
180	  Specify any additional options to pass to the configure
181	  script here.  See Xenomai documentation for details.
182
183config BR2_PACKAGE_XENOMAI_TESTSUITE
184	bool "Install testsuite"
185	help
186	  This option allows to install the Xenomai test programs.
187
188config BR2_PACKAGE_XENOMAI_RTCAN
189	bool "RTCan utilities"
190	help
191	  This option allows to install the Xenomai RT-CAN utilities.
192
193config BR2_PACKAGE_XENOMAI_ANALOGY
194	bool "Analogy libs and utils"
195	help
196	  This option allows to install the Xenomai Analogy utilities
197	  and libraries
198
199menu "Skin selection"
200
201config BR2_PACKAGE_XENOMAI_NATIVE_SKIN
202	bool "Alchemy (native) skin"
203	default y
204	help
205	  This option allows to install the Alchemy Xenomai skin,
206	  previously called 'native'
207
208config BR2_PACKAGE_XENOMAI_POSIX_SKIN
209	bool "POSIX skin"
210	default y
211	help
212	  This option allows to install the POSIX Xenomai skin
213
214config BR2_PACKAGE_XENOMAI_PSOS_SKIN
215	bool "pSOS skin"
216	help
217	  This option allows to install the pSOS Xenomai skin
218
219config BR2_PACKAGE_XENOMAI_RTAI_SKIN
220	bool "RTAI skin"
221	help
222	  This option allows to install the RTAI Xenomai skin
223
224config BR2_PACKAGE_XENOMAI_UITRON_SKIN
225	bool "uITRON skin"
226	help
227	  This option allows to install the uITRON Xenomai skin
228
229config BR2_PACKAGE_XENOMAI_VRTX_SKIN
230	bool "VRTX skin"
231	help
232	  This option allows to install the VRTX Xenomai skin
233
234config BR2_PACKAGE_XENOMAI_VXWORKS_SKIN
235	bool "VxWorks skin"
236	help
237	  This option allows to install the VxWorks Xenomai skin
238
239endmenu
240
241endif
242