xenomai: install in /usr

By default, Xenomai installs everything with --prefix=/usr/xenomai,
and passing --prefix=/usr doesn't work because installing Xenomai
headers in /usr/include creates conflicts with other headers. However,
passing --prefix=/usr and --includedir=/usr/include/xenomai just works
fine. This allows to use the default configure command of the
AUTOTARGETS infrastructure, and allows to install the Xenomai headers
and libraries into more usual locations. Furthermore, it allows to
remove the documentation/headers removal hooks, as well as the
ld.so.conf hook since now everything is installed in standard
locations.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
This commit is contained in:
Thomas Petazzoni 2011-09-19 22:10:56 +02:00 committed by Peter Korsgaard
parent 3d99796923
commit c2a43fb12a

View File

@ -28,34 +28,12 @@ ifeq ($(BR2_PACKAGE_XENOMAI_SMP),y)
XENOMAI_CONF_OPT += --enable-smp XENOMAI_CONF_OPT += --enable-smp
endif endif
# The configure step needs to be overloaded, because Xenomai doesn't XENOMAI_CONF_OPT += --includedir=/usr/include/xenomai/
# support --prefix=/usr and the autotargets infrastructure enforces
# this.
define XENOMAI_CONFIGURE_CMDS
(cd $(@D); rm -rf config.cache; \
$(TARGET_CONFIGURE_OPTS) \
$(TARGET_CONFIGURE_ARGS) \
CCFLAGS_FOR_BUILD="$(HOST_CFLAGS)" \
./configure \
$(XENOMAI_CONF_OPT) \
--host=$(GNU_TARGET_NAME) \
)
endef
ifeq ($(BR2_HAVE_DOCUMENTATION),)
define XENOMAI_REMOVE_DOCUMENTATION
rm -rf $(TARGET_DIR)/usr/xenomai/share/doc
rm -rf $(TARGET_DIR)/usr/xenomai/share/man
endef
XENOMAI_POST_INSTALL_TARGET_HOOKS += XENOMAI_REMOVE_DOCUMENTATION
endif
ifeq ($(BR2_HAVE_DEVFILES),) ifeq ($(BR2_HAVE_DEVFILES),)
define XENOMAI_REMOVE_DEVFILES define XENOMAI_REMOVE_DEVFILES
rm -rf $(TARGET_DIR)/usr/xenomai/include
for i in xeno-config xeno-info wrap-link.sh ; do \ for i in xeno-config xeno-info wrap-link.sh ; do \
rm -f $(TARGET_DIR)/usr/xenomai/bin/$$i ; \ rm -f $(TARGET_DIR)/usr/bin/$$i ; \
done done
endef endef
@ -64,15 +42,13 @@ endif
ifeq ($(BR2_PACKAGE_XENOMAI_TESTSUITE),) ifeq ($(BR2_PACKAGE_XENOMAI_TESTSUITE),)
define XENOMAI_REMOVE_TESTSUITE define XENOMAI_REMOVE_TESTSUITE
rm -rf $(TARGET_DIR)/usr/xenomai/share/xenomai/testsuite/ rm -rf $(TARGET_DIR)/usr/share/xenomai/
rmdir --ignore-fail-on-non-empty $(TARGET_DIR)/usr/xenomai/share/xenomai/
rmdir --ignore-fail-on-non-empty $(TARGET_DIR)/usr/xenomai/share/
for i in klatency rtdm xeno xeno-load check-vdso \ for i in klatency rtdm xeno xeno-load check-vdso \
irqloop cond-torture-posix switchtest arith \ irqloop cond-torture-posix switchtest arith \
sigtest clocktest cyclictest latency wakeup-time \ sigtest clocktest cyclictest latency wakeup-time \
xeno-test cond-torture-native mutex-torture-posix \ xeno-test cond-torture-native mutex-torture-posix \
mutex-torture-native ; do \ mutex-torture-native ; do \
rm -f $(TARGET_DIR)/usr/xenomai/bin/$$i ; \ rm -f $(TARGET_DIR)/usr/bin/$$i ; \
done done
endef endef
@ -82,9 +58,9 @@ endif
ifeq ($(BR2_PACKAGE_XENOMAI_RTCAN),) ifeq ($(BR2_PACKAGE_XENOMAI_RTCAN),)
define XENOMAI_REMOVE_RTCAN_PROGS define XENOMAI_REMOVE_RTCAN_PROGS
for i in rtcanrecv rtcansend ; do \ for i in rtcanrecv rtcansend ; do \
rm -f $(TARGET_DIR)/usr/xenomai/bin/$$i ; \ rm -f $(TARGET_DIR)/usr/bin/$$i ; \
done done
rm -f $(TARGET_DIR)/usr/xenomai/sbin/rtcanconfig rm -f $(TARGET_DIR)/usr/sbin/rtcanconfig
endef endef
XENOMAI_POST_INSTALL_TARGET_HOOKS += XENOMAI_REMOVE_RTCAN_PROGS XENOMAI_POST_INSTALL_TARGET_HOOKS += XENOMAI_REMOVE_RTCAN_PROGS
@ -94,10 +70,10 @@ ifeq ($(BR2_PACKAGE_XENOMAI_ANALOGY),)
define XENOMAI_REMOVE_ANALOGY define XENOMAI_REMOVE_ANALOGY
for i in cmd_bits cmd_read cmd_write insn_write \ for i in cmd_bits cmd_read cmd_write insn_write \
insn_bits insn_read ; do \ insn_bits insn_read ; do \
rm -f $(TARGET_DIR)/usr/xenomai/bin/$$i ; \ rm -f $(TARGET_DIR)/usr/bin/$$i ; \
done done
rm -f $(TARGET_DIR)/usr/xenomai/sbin/analogy_config rm -f $(TARGET_DIR)/usr/sbin/analogy_config
rm -f $(TARGET_DIR)/usr/xenomai/lib/libanalogy.* rm -f $(TARGET_DIR)/usr/lib/libanalogy.*
endef endef
XENOMAI_POST_INSTALL_TARGET_HOOKS += XENOMAI_REMOVE_ANALOGY XENOMAI_POST_INSTALL_TARGET_HOOKS += XENOMAI_REMOVE_ANALOGY
@ -113,23 +89,15 @@ XENOMAI_REMOVE_SKIN_LIST += $(if $(BR2_PACKAGE_XENOMAI_VRTX_SKIN),,vrtx)
define XENOMAI_REMOVE_SKINS define XENOMAI_REMOVE_SKINS
for i in $(XENOMAI_REMOVE_SKIN_LIST) ; do \ for i in $(XENOMAI_REMOVE_SKIN_LIST) ; do \
rm -f $(TARGET_DIR)/usr/xenomai/lib/lib$$i.* ; \ rm -f $(TARGET_DIR)/usr/lib/lib$$i.* ; \
if [ $$i == "posix" ] ; then \ if [ $$i == "posix" ] ; then \
rm -f $(TARGET_DIR)/usr/xenomai/lib/posix.wrappers ; \ rm -f $(TARGET_DIR)/usr/lib/posix.wrappers ; \
fi ; \ fi ; \
done done
endef endef
XENOMAI_POST_INSTALL_TARGET_HOOKS += XENOMAI_REMOVE_SKINS XENOMAI_POST_INSTALL_TARGET_HOOKS += XENOMAI_REMOVE_SKINS
define XENOMAI_ADD_LD_SO_CONF
# Add /usr/xenomai/lib in the library search path
grep -q "^/usr/xenomai/lib" $(TARGET_DIR)/etc/ld.so.conf || \
echo "/usr/xenomai/lib" >> $(TARGET_DIR)/etc/ld.so.conf
endef
XENOMAI_POST_INSTALL_TARGET_HOOKS += XENOMAI_ADD_LD_SO_CONF
# If you use static /dev creation don't forget to update your # If you use static /dev creation don't forget to update your
# device_table_dev.txt # device_table_dev.txt
ifeq ($(BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_UDEV),y) ifeq ($(BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_UDEV),y)