From 956d4ab0f501c44f977297d8faac95afa43f3082 Mon Sep 17 00:00:00 2001 From: Thomas De Schampheleire Date: Sat, 17 Sep 2011 22:22:52 +0200 Subject: Add xenomai real-time Framework to buildroot [Fixes by Thomas, including comments from Arnout: * Use AUTOTARGETS instead of GENTARGETS * Use $(KERNEL_ARCH) instead of $(BR2_ARCH) as argument to the prepare-kernel.sh script. This allows the arch name to be fixed with the usual sed expressions and the quotes to be stripped. * Add the --verbose option to prepare-kernel.sh. This allows to get some clear error message when no Xenomai patch has been found for the current kernel version. * Improve the help texts as suggested by Arnout, and remove the now useless README file. * Add a BR2_PACKAGE_XENOMAI_SMP option, instead of poking inside the kernel configuration to find out whether SMP is enabled or not. This cannot work because: 1) the kernel might be built outside of Buildroot and 2) if the kernel is built inside Buildroot, it is built *after* Xenomai, so the kernel configuration file is typically not yet present. * Simplify the ARM subarchitecture selection as suggested by Arnout. * Remove the documentation and development files according to Buildroot standards (using BR2_HAVE_DOCUMENTATION and BR2_HAVE_DEVFILES). * Simplify the /etc/ld.so.conf modification logic. ] [Peter: whitespace fixes] Signed-off-by: Benoit Mauduit Signed-off-by: Thomas De Schampheleire Signed-off-by: Thomas Petazzoni Signed-off-by: Peter Korsgaard --- package/xenomai/Config.in | 106 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 106 insertions(+) create mode 100644 package/xenomai/Config.in (limited to 'package/xenomai/Config.in') diff --git a/package/xenomai/Config.in b/package/xenomai/Config.in new file mode 100644 index 000000000..b5737b8f7 --- /dev/null +++ b/package/xenomai/Config.in @@ -0,0 +1,106 @@ +config BR2_PACKAGE_XENOMAI + bool "Xenomai Userspace" + 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_SMP + bool "Enable SMP support" + help + This option allows to enable or disable SMP support. It has + to match your kernel configuration. + +choice + prompt "Xenomai ARM CPU type" + depends on BR2_arm + default BR2_PACKAGE_XENOMAI_CPU_GENERIC_ARM + help + On the ARM architecture, Xenomai needs to be configured for + a specific sub-architecture. Select the appropriate + sub-architecture from the list. + + config BR2_PACKAGE_XENOMAI_CPU_AT91RM9200 + bool "Atmel AT91RM9200" + + config BR2_PACKAGE_XENOMAI_CPU_AT91SAM926X + bool "Atmel AT91SAM926X" + + config BR2_PACKAGE_XENOMAI_CPU_INTEGRATOR + bool "ARM Ltd. Integrator" + + config BR2_PACKAGE_XENOMAI_CPU_IXP4XX + bool "Intel IXP4XX (XScale)" + + config BR2_PACKAGE_XENOMAI_CPU_IMX + bool "Freescale i.MX (MX1/MXL)" + + config BR2_PACKAGE_XENOMAI_CPU_IMX21 + bool "Freescale i.MX21" + + config BR2_PACKAGE_XENOMAI_CPU_MX2 + bool "Freescale MXC/MX2" + + config BR2_PACKAGE_XENOMAI_CPU_MX3 + bool "Freescale MXC/MX3" + + config BR2_PACKAGE_XENOMAI_CPU_SA1100 + bool "StrongARM SA1100" + + config BR2_PACKAGE_XENOMAI_CPU_S3C2410 + bool "S3C2410" + + config BR2_PACKAGE_XENOMAI_CPU_GENERIC_ARM + bool "Generic ARM" + +endchoice + +# Now set CPU type. We force manually selected type even if detected in case +# user takes the risk. +config BR2_PACKAGE_XENOMAI_CPU_TYPE + string + depends on BR2_PACKAGE_XENOMAI && BR2_arm + default "at91rm9200" if BR2_PACKAGE_XENOMAI_CPU_AT91RM9200 + default "at91sam926x" if BR2_PACKAGE_XENOMAI_CPU_AT91SAM926X + default "integrator" if BR2_PACKAGE_XENOMAI_CPU_INTEGRATOR + default "ixp4xx" if BR2_PACKAGE_XENOMAI_CPU_IXP4XX + default "generic" if BR2_PACKAGE_XENOMAI_CPU_GENERIC_ARM + default "imx" if BR2_PACKAGE_XENOMAI_CPU_IMX + default "imx21" if BR2_PACKAGE_XENOMAI_CPU_IMX21 + default "mx2" if BR2_PACKAGE_XENOMAI_CPU_MX2 + default "mx3" if BR2_PACKAGE_XENOMAI_CPU_MX3 + default "s3c2410" if BR2_PACKAGE_XENOMAI_CPU_S3C2410 + +endif -- cgit v1.2.3