config BR2_PACKAGE_XENOMAI
	bool "Xenomai Userspace"
	depends on BR2_i386 || BR2_x86_64 || BR2_arm || \
		   BR2_bfin || BR2_powerpc || BR2_sh4
	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

config BR2_PACKAGE_XENOMAI_VERSION
	string "Custom Xenomai version"
	help
	  Manually select Xenomai version.  If left empty, the default
	  version will be used.

	  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_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

config BR2_PACKAGE_XENOMAI_NATIVE_SKIN
       bool "Native skin library"
       default y
       help
	 This option allows to install the Native Xenomai skin

config BR2_PACKAGE_XENOMAI_POSIX_SKIN
       bool "POSIX skin library"
       default y
       help
	 This option allows to install the POSIX Xenomai skin

config BR2_PACKAGE_XENOMAI_VXWORKS_SKIN
       bool "VX-Works skin library"
       help
	 This option allows to install the VX-Works Xenomai skin

config BR2_PACKAGE_XENOMAI_PSOS_SKIN
       bool "PSOS skin library"
       help
	 This option allows to install the PSOS Xenomai skin

config BR2_PACKAGE_XENOMAI_RTAI_SKIN
       bool "RTAI skin library"
       help
	 This option allows to install the RTAI Xenomai skin

config BR2_PACKAGE_XENOMAI_UITRON_SKIN
       bool "uiTron skin library"
       help
	 This option allows to install the uiTron Xenomai skin

config BR2_PACKAGE_XENOMAI_VRTX_SKIN
       bool "VRTX skin library"
       help
	 This option allows to install the VRTX Xenomai skin

endif
