e9470687c0
Xenomai has many configure options that users may or may not want to set. Providing individual Buildroot config options for every single one of them is not maintainable. Therefore, add a string option to allow the needed flexibility. Important options, or those that have 'select/depends on' impact, can still be turned into real Buildroot config options. Signed-off-by: Thomas De Schampheleire <thomas.de_schampheleire@nokia.com> [Thomas: rewrap Config.in help text.] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
159 lines
5.1 KiB
Makefile
159 lines
5.1 KiB
Makefile
################################################################################
|
|
#
|
|
# xenomai
|
|
#
|
|
################################################################################
|
|
|
|
XENOMAI_VERSION = $(call qstrip,$(BR2_PACKAGE_XENOMAI_VERSION))
|
|
ifeq ($(XENOMAI_VERSION),)
|
|
XENOMAI_VERSION = 3.0.4
|
|
else
|
|
BR_NO_CHECK_HASH_FOR += $(XENOMAI_SOURCE)
|
|
endif
|
|
|
|
XENOMAI_SITE = https://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)/ksrc/nucleus/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))
|