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