d0fd8c51d8
Soem versions are tagged, but not tarballed, so we need to be able to retrieve them from git. Usually, we do not have a default value for the repository, but unlike for the kernel or the various bootloaders, the most prominent repository for Xeniomai is upstream's official one (for the reason above, amongst others), so we use that as a default. Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com> Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr> Cc: Romain Naour <romain.naour@gmail.com> Cc: Thomas De Schampheleire <thomas.de_schampheleire@nokia.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
215 lines
6.2 KiB
Plaintext
215 lines
6.2 KiB
Plaintext
config BR2_PACKAGE_XENOMAI_COBALT_ARCH_SUPPORTS
|
|
bool
|
|
default y
|
|
depends on BR2_i386 || BR2_x86_64 || (BR2_arm && !BR2_ARM_CPU_ARMV7M) || \
|
|
BR2_powerpc
|
|
|
|
comment "xenomai needs a glibc or uClibc toolchain w/ threads"
|
|
depends on BR2_USE_MMU
|
|
depends on BR2_TOOLCHAIN_HAS_SYNC_4
|
|
depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_TOOLCHAIN_USES_MUSL
|
|
|
|
config BR2_PACKAGE_XENOMAI
|
|
bool "Xenomai Userspace"
|
|
depends on BR2_USE_MMU
|
|
depends on BR2_TOOLCHAIN_HAS_SYNC_4
|
|
depends on BR2_TOOLCHAIN_HAS_THREADS
|
|
# uses <error.h>, __WORDSIZE and bits/local_lim.h
|
|
depends on !BR2_TOOLCHAIN_USES_MUSL
|
|
help
|
|
Real-Time Framework for Linux
|
|
http://www.xenomai.org
|
|
|
|
Xenomai is split in two parts: a kernel part and an
|
|
userspace part.
|
|
|
|
This package contains the userspace part, which consists
|
|
mainly in libraries to write userspace real-time programs
|
|
that interact with the in-kernel Xenomai real-time core.
|
|
|
|
For those libraries to work, you need a Xenomai-enabled
|
|
kernel. This is possible in two ways:
|
|
- if you compile your kernel with Buildroot, you need to go
|
|
to Linux Kernel -> Linux Kernel Extensions to enable the
|
|
Xenomai extension.
|
|
- if you compile your kernel outside of Buildroot, you need
|
|
to make sure that it is Xenomai-enabled.
|
|
|
|
Finally, if you are using a static /dev, make sure to
|
|
uncomment the Xenomai entries listed in
|
|
target/generic/device_table_dev.txt.
|
|
|
|
if BR2_PACKAGE_XENOMAI
|
|
|
|
choice
|
|
bool "Xenomai version"
|
|
help
|
|
Make sure that the selected version has a patch for your
|
|
selected Linux kernel. If it does not, download and select a
|
|
patch manually with BR2_LINUX_KERNEL_EXT_XENOMAI_ADEOS_PATCH,
|
|
in the Linux Kernel -> Linux Kernel Extensions menu.
|
|
|
|
config BR2_PACKAGE_XENOMAI_LATEST_VERSION
|
|
bool "Latest version (3.0.10)"
|
|
|
|
config BR2_PACKAGE_XENOMAI_CUSTOM_VERSION
|
|
bool "Custom version"
|
|
|
|
config BR2_PACKAGE_XENOMAI_CUSTOM_TARBALL
|
|
bool "Custom tarball"
|
|
|
|
config BR2_PACKAGE_XENOMAI_CUSTOM_GIT
|
|
bool "Custom Git repository"
|
|
|
|
endchoice
|
|
|
|
config BR2_PACKAGE_XENOMAI_REPOSITORY
|
|
string "URL of custom repository"
|
|
default "https://gitlab.denx.de/Xenomai/xenomai.git"
|
|
depends on BR2_PACKAGE_XENOMAI_CUSTOM_GIT
|
|
|
|
config BR2_PACKAGE_XENOMAI_VERSION
|
|
string "Custom Xenomai version" if !BR2_PACKAGE_XENOMAI_LATEST_VERSION
|
|
default "3.0.10" if BR2_PACKAGE_XENOMAI_LATEST_VERSION
|
|
depends on !BR2_PACKAGE_XENOMAI_CUSTOM_TARBALL
|
|
|
|
config BR2_PACKAGE_XENOMAI_CUSTOM_TARBALL_URL
|
|
string "URL of custom tarball"
|
|
depends on BR2_PACKAGE_XENOMAI_CUSTOM_TARBALL
|
|
|
|
choice
|
|
prompt "Xenomai core"
|
|
default BR2_PACKAGE_XENOMAI_MERCURY
|
|
help
|
|
Select the Xenomai core: dual kernel (Cobalt)
|
|
or native Linux Kernel (Mercury).
|
|
|
|
config BR2_PACKAGE_XENOMAI_MERCURY
|
|
bool "Mercury"
|
|
depends on !BR2_LINUX_KERNEL_EXT_XENOMAI
|
|
help
|
|
Select Mercury core for the Xenomai userspace.
|
|
You want to use it if you have the native Linux Kernel.
|
|
|
|
config BR2_PACKAGE_XENOMAI_COBALT
|
|
bool "Cobalt"
|
|
depends on BR2_PACKAGE_XENOMAI_COBALT_ARCH_SUPPORTS
|
|
help
|
|
Select Cobalt core (dual kernel) for the Xenomai
|
|
userspace. Use this if you use a Xenomai-patched
|
|
Linux kernel.
|
|
|
|
If you want to use Cobalt core, your kernel must have
|
|
the Adeos and Xenomai patches applied to it. You can
|
|
add these through the BR2_LINUX_KERNEL_EXT_XENOMAI option
|
|
in the Linux Kernel Extensions menu.
|
|
endchoice
|
|
|
|
config BR2_PACKAGE_XENOMAI_ENABLE_SMP
|
|
bool "Enable SMP support"
|
|
default y
|
|
help
|
|
This option enables SMP support in Xenomai userspace.
|
|
|
|
If this option is turned on while no SMP support is enabled
|
|
in the kernel, things will still work. However, if SMP is
|
|
enabled in the kernel but this option is not turned on,
|
|
Xenomai applications will complain with:
|
|
|
|
feature mismatch: missing="smp/nosmp"
|
|
|
|
Please refer to this troubleshooting guide for more
|
|
information:
|
|
|
|
http://xenomai.org/troubleshooting-a-dual-kernel-configuration/#feature_mismatch_missing8221smpnosmp8221
|
|
|
|
config BR2_PACKAGE_XENOMAI_ENABLE_REGISTRY
|
|
bool "Enable registry"
|
|
depends on !BR2_STATIC_LIBS # libfuse
|
|
depends on BR2_TOOLCHAIN_HAS_THREADS # libfuse
|
|
depends on BR2_USE_MMU # libfuse
|
|
select BR2_PACKAGE_LIBFUSE
|
|
help
|
|
Xenomai APIs can export their internal state through a
|
|
pseudo-filesystem, whose files may be read to obtain
|
|
information about the existing real-time objects, such as
|
|
tasks, semaphores, message queues and so on.
|
|
|
|
comment "registry needs a toolchain w/ threads, dynamic library"
|
|
depends on BR2_USE_MMU
|
|
depends on BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HAS_THREADS
|
|
|
|
config BR2_PACKAGE_XENOMAI_ENABLE_REGISTRY_PATH
|
|
string "Custom registry root path"
|
|
depends on BR2_PACKAGE_XENOMAI_ENABLE_REGISTRY
|
|
help
|
|
Specify the root path of the registry here.
|
|
To use the Xenomai default (currently: /var/run/xenomai),
|
|
leave this option empty.
|
|
|
|
config BR2_PACKAGE_XENOMAI_ADDITIONAL_CONF_OPTS
|
|
string "Additional configure options"
|
|
help
|
|
Specify any additional options to pass to the configure
|
|
script here. See Xenomai documentation for details.
|
|
|
|
config BR2_PACKAGE_XENOMAI_TESTSUITE
|
|
bool "Install testsuite"
|
|
help
|
|
This option allows to install the Xenomai test programs.
|
|
|
|
config BR2_PACKAGE_XENOMAI_RTCAN
|
|
bool "RTCan utilities"
|
|
help
|
|
This option allows to install the Xenomai RT-CAN utilities.
|
|
|
|
config BR2_PACKAGE_XENOMAI_ANALOGY
|
|
bool "Analogy libs and utils"
|
|
help
|
|
This option allows to install the Xenomai Analogy utilities
|
|
and libraries
|
|
|
|
menu "Skin selection"
|
|
|
|
config BR2_PACKAGE_XENOMAI_NATIVE_SKIN
|
|
bool "Alchemy (native) skin"
|
|
default y
|
|
help
|
|
This option allows to install the Alchemy Xenomai skin,
|
|
previously called 'native'
|
|
|
|
config BR2_PACKAGE_XENOMAI_POSIX_SKIN
|
|
bool "POSIX skin"
|
|
default y
|
|
help
|
|
This option allows to install the POSIX Xenomai skin
|
|
|
|
config BR2_PACKAGE_XENOMAI_PSOS_SKIN
|
|
bool "pSOS skin"
|
|
help
|
|
This option allows to install the pSOS Xenomai skin
|
|
|
|
config BR2_PACKAGE_XENOMAI_RTAI_SKIN
|
|
bool "RTAI skin"
|
|
help
|
|
This option allows to install the RTAI Xenomai skin
|
|
|
|
config BR2_PACKAGE_XENOMAI_UITRON_SKIN
|
|
bool "uITRON skin"
|
|
help
|
|
This option allows to install the uITRON Xenomai skin
|
|
|
|
config BR2_PACKAGE_XENOMAI_VRTX_SKIN
|
|
bool "VRTX skin"
|
|
help
|
|
This option allows to install the VRTX Xenomai skin
|
|
|
|
config BR2_PACKAGE_XENOMAI_VXWORKS_SKIN
|
|
bool "VxWorks skin"
|
|
help
|
|
This option allows to install the VxWorks Xenomai skin
|
|
|
|
endmenu
|
|
|
|
endif
|