Add buildroot 2018-02

This commit is contained in:
Pascal Vizeli
2018-03-17 23:47:00 +00:00
parent 3776c47f83
commit 67742041ad
10007 changed files with 405098 additions and 0 deletions

View File

@@ -0,0 +1,192 @@
config BR2_PACKAGE_XENOMAI_ARCH_SUPPORTS
bool
default y
depends on BR2_i386 || BR2_x86_64 || (BR2_arm && !BR2_ARM_CPU_ARMV7M) || \
BR2_bfin || BR2_powerpc
comment "xenomai needs an glibc or uClibc toolchain w/ threads"
depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_TOOLCHAIN_USES_MUSL
depends on BR2_PACKAGE_XENOMAI_ARCH_SUPPORTS
config BR2_PACKAGE_XENOMAI
bool "Xenomai Userspace"
depends on BR2_PACKAGE_XENOMAI_ARCH_SUPPORTS
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
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.
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"
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_SMOKEY_SKIN
bool "Smokey skin"
help
This option allows to install the Smokey 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

View File

@@ -0,0 +1,2 @@
# Locally computed;
sha256 2c0dd3f0e36e4a10f97e0028989bb873e80f4d1ce212ac55fd3b28857c464f94 xenomai-3.0.6.tar.bz2

View File

@@ -0,0 +1,158 @@
################################################################################
#
# xenomai
#
################################################################################
XENOMAI_VERSION = $(call qstrip,$(BR2_PACKAGE_XENOMAI_VERSION))
ifeq ($(XENOMAI_VERSION),)
XENOMAI_VERSION = 3.0.6
else
BR_NO_CHECK_HASH_FOR += $(XENOMAI_SOURCE)
endif
XENOMAI_SITE = http://xenomai.org/downloads/xenomai/stable
XENOMAI_SOURCE = xenomai-$(XENOMAI_VERSION).tar.bz2
XENOMAI_LICENSE = GPL-2.0+ with exception (headers), LGPL-2.1+ (libraries), GPL-2.0+ (kernel), GFDL-1.2+ (docs), GPL-2.0 (ipipe patch, can driver)
# GFDL is not included but refers to gnu.org
XENOMAI_LICENSE_FILES = debian/copyright include/COPYING kernel/cobalt/COPYING \
kernel/cobalt/posix/COPYING kernel/cobalt/rtdm/COPYING \
lib/alchemy/COPYING lib/analogy/COPYING \
lib/boilerplate/iniparser/LICENSE lib/boilerplate/COPYING \
lib/cobalt/COPYING lib/copperplate/COPYING lib/psos/COPYING \
lib/smokey/COPYING lib/trank/COPYING lib/vxworks/COPYING
XENOMAI_DEPENDENCIES = host-pkgconf
# 0002-boilerplate-build-obstack-support-conditionally.patch
XENOMAI_AUTORECONF = YES
XENOMAI_INSTALL_STAGING = YES
XENOMAI_INSTALL_TARGET_OPTS = DESTDIR=$(TARGET_DIR) install-user
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
ifeq ($(BR2_PACKAGE_XENOMAI_ENABLE_SMP),y)
XENOMAI_CONF_OPTS += --enable-smp
else
XENOMAI_CONF_OPTS += --disable-smp
endif
ifeq ($(BR2_PACKAGE_XENOMAI_ENABLE_REGISTRY),y)
XENOMAI_DEPENDENCIES += libfuse
XENOMAI_REGISTRY_PATH = $(call qstrip,$(BR2_PACKAGE_XENOMAI_ENABLE_REGISTRY_PATH))
ifeq ($(XENOMAI_REGISTRY_PATH),)
XENOMAI_CONF_OPTS += --enable-registry
else
XENOMAI_CONF_OPTS += --enable-registry=$(XENOMAI_REGISTRY_PATH)
endif
else
XENOMAI_CONF_OPTS += --disable-registry
endif
XENOMAI_CONF_OPTS += $(call qstrip,$(BR2_PACKAGE_XENOMAI_ADDITIONAL_CONF_OPTS))
# Some of these files may be desired by some users -- at that point specific
# config options need to be added to keep a particular set.
define XENOMAI_REMOVE_UNNEEDED_FILES
for i in xeno xeno-config xeno-info wrap-link.sh ; do \
rm -f $(TARGET_DIR)/usr/bin/$$i ; \
done
for i in autotune corectl hdb rtnet nomaccfg rtcfg rtifconfig \
rtiwconfig rtping rtroute tdmacfg rtps slackspot version; do \
rm -f $(TARGET_DIR)/usr/sbin/$$i ; \
done
endef
XENOMAI_POST_INSTALL_TARGET_HOOKS += XENOMAI_REMOVE_UNNEEDED_FILES
ifeq ($(BR2_PACKAGE_XENOMAI_TESTSUITE),)
define XENOMAI_REMOVE_TESTSUITE
rm -rf $(TARGET_DIR)/usr/share/xenomai/
for i in clocktest gpiotest latency spitest switchtest \
xeno-test-run-wrapper dohell xeno-test-run xeno-test ; do \
rm -f $(TARGET_DIR)/usr/bin/$$i ; \
done
rm -rf $(TARGET_DIR)/usr/demo/
endef
XENOMAI_POST_INSTALL_TARGET_HOOKS += XENOMAI_REMOVE_TESTSUITE
endif
ifeq ($(BR2_PACKAGE_XENOMAI_RTCAN),)
define XENOMAI_REMOVE_RTCAN_PROGS
for i in rtcanrecv rtcansend ; do \
rm -f $(TARGET_DIR)/usr/bin/$$i ; \
done
rm -f $(TARGET_DIR)/usr/sbin/rtcanconfig
endef
XENOMAI_POST_INSTALL_TARGET_HOOKS += XENOMAI_REMOVE_RTCAN_PROGS
endif
ifeq ($(BR2_PACKAGE_XENOMAI_ANALOGY),)
define XENOMAI_REMOVE_ANALOGY
for i in cmd_read cmd_write cmd_bits insn_read insn_write insn_bits \
wf_generate ; do \
rm -f $(TARGET_DIR)/usr/bin/$$i ; \
done
for i in analogy_config analogy_calibrate ; do \
rm -f $(TARGET_DIR)/usr/sbin/$$i ; \
done
rm -f $(TARGET_DIR)/usr/lib/libanalogy.*
endef
XENOMAI_POST_INSTALL_TARGET_HOOKS += XENOMAI_REMOVE_ANALOGY
endif
XENOMAI_REMOVE_SKIN_LIST += $(if $(BR2_PACKAGE_XENOMAI_NATIVE_SKIN),,alchemy)
XENOMAI_REMOVE_SKIN_LIST += $(if $(BR2_PACKAGE_XENOMAI_POSIX_SKIN),,posix)
XENOMAI_REMOVE_SKIN_LIST += $(if $(BR2_PACKAGE_XENOMAI_PSOS_SKIN),,psos)
XENOMAI_REMOVE_SKIN_LIST += $(if $(BR2_PACKAGE_XENOMAI_RTAI_SKIN),,rtai)
XENOMAI_REMOVE_SKIN_LIST += $(if $(BR2_PACKAGE_XENOMAI_SMOKEY_SKIN),,smokey)
XENOMAI_REMOVE_SKIN_LIST += $(if $(BR2_PACKAGE_XENOMAI_UITRON_SKIN),,uitron)
XENOMAI_REMOVE_SKIN_LIST += $(if $(BR2_PACKAGE_XENOMAI_VXWORKS_SKIN),,vxworks)
XENOMAI_REMOVE_SKIN_LIST += $(if $(BR2_PACKAGE_XENOMAI_VRTX_SKIN),,vrtx)
define XENOMAI_REMOVE_SKINS
for i in $(XENOMAI_REMOVE_SKIN_LIST) ; do \
rm -f $(TARGET_DIR)/usr/lib/lib$$i.* ; \
if [ $$i == "posix" ] ; then \
rm -f $(TARGET_DIR)/usr/lib/posix.wrappers ; \
fi ; \
if [ $$i == "smokey" ] ; then \
rm -f $(TARGET_DIR)/usr/bin/smokey* ; \
fi ; \
done
endef
XENOMAI_POST_INSTALL_TARGET_HOOKS += XENOMAI_REMOVE_SKINS
define XENOMAI_DEVICES
/dev/rtheap c 666 0 0 10 254 0 0 -
/dev/rtscope c 666 0 0 10 253 0 0 -
/dev/rtp c 666 0 0 150 0 0 1 32
endef
ifeq ($(BR2_PACKAGE_HAS_UDEV),y)
XENOMAI_DEPENDENCIES += udev
define XENOMAI_INSTALL_UDEV_RULES
if test -d $(TARGET_DIR)/etc/udev/rules.d ; then \
for f in $(@D)/kernel/cobalt/udev/*.rules ; do \
cp $$f $(TARGET_DIR)/etc/udev/rules.d/ || exit 1 ; \
done ; \
fi;
endef
XENOMAI_POST_INSTALL_TARGET_HOOKS += XENOMAI_INSTALL_UDEV_RULES
endif # udev
$(eval $(autotools-package))