[Buildroot] [PATCH v2] xenomai: Add choice for enabling/disabling Cobalt/Mercury core

Pawel Sikora sikor6 at gmail.com
Sun Apr 9 23:54:34 UTC 2017


Add an option choice for Cobalt or Mercury core
depending on option BR2_LINUX_KERNEL_EXT_XENOMAI.

Signed-off-by: Pawel Sikora <sikor6 at gmail.com>
---

Changes v1 -> v2:
 - explicitly setting Cobalt core  (suggested by Thomas de Schampheleire)
 - removing from Cobalt config dependency from Xenomai being set
   in the Linux Kernel Extensions (Thomas P., Arnout V.)

package/xenomai/Config.in  | 36 ++++++++++++++++++++++++++++++++++++
 package/xenomai/xenomai.mk |  6 ++++++
 2 files changed, 42 insertions(+)

diff --git a/package/xenomai/Config.in b/package/xenomai/Config.in
index b548ee810..3d6342c8f 100644
--- a/package/xenomai/Config.in
+++ b/package/xenomai/Config.in
@@ -51,6 +51,42 @@ config BR2_PACKAGE_XENOMAI_VERSION
 	  BR2_LINUX_KERNEL_EXT_XENOMAI_ADEOS_PATCH, in the Linux
 	  Kernel -> Linux Kernel Extensions menu.
 
+choice
+	prompt "Xenomai core"
+	default BR2_PACKAGE_XENOMAI_MERCURY
+	help
+	  Manually select the Xenomai core. Depends if
+	  you selected BR2_LINUX_KERNEL_EXT_XENOMAI.
+	  If yes, then default option will be Cobalt.
+	  Otherwise you can choose between Mercury/Cobalt
+	  depending from your needs.
+
+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.
+
+	  If you want Cobalt core, you need to either enable
+	  BR2_LINUX_KERNEL_EXT_XENOMAI in the Linux Kernel ->
+	  Linux Kernel Extensions menu or you can choose it
+	  anyway if you use external Linux Kernel with applied
+	  I-pipe patch.
+
+config BR2_PACKAGE_XENOMAI_COBALT
+	bool "Cobalt"
+	help
+	  Select Cobalt core for the Xenomai userspace.
+	  You should have the right I-pipe patch for your
+	  Linux Kernel version, you can add it via
+	  BR2_LINUX_KERNEL_EXT_XENOMAI_ADEOS_PATCH in the Linux Kernel ->
+	  Linux Kernel Extensions menu or from the interactive prompt
+	  at compile time of Xenomai.
+	  You can also compile it without providing this information
+	  if have an external Linux Kernel that is already patched.
+endchoice
+
 config BR2_PACKAGE_XENOMAI_TESTSUITE
 	bool "Install testsuite"
 	help
diff --git a/package/xenomai/xenomai.mk b/package/xenomai/xenomai.mk
index c9e810e05..73d9617b1 100644
--- a/package/xenomai/xenomai.mk
+++ b/package/xenomai/xenomai.mk
@@ -23,6 +23,12 @@ XENOMAI_INSTALL_STAGING_OPTS = DESTDIR=$(STAGING_DIR) install-user
 
 XENOMAI_CONF_OPTS += --includedir=/usr/include/xenomai/ --disable-doc-install
 
+ifeq ($(BR2_PACKAGE_XENOMAI_MERCURY),y)
+XENOMAI_CONF_OPTS += --with-core=mercury
+else
+XENOMAI_CONF_OPTS += --with-core=cobalt
+endif
+
 define XENOMAI_REMOVE_DEVFILES
 	for i in xeno-config xeno-info wrap-link.sh ; do \
 		rm -f $(TARGET_DIR)/usr/bin/$$i ; \
-- 
2.12.1




More information about the buildroot mailing list