xeno-config
脚本的完整用法可以查看如下文档:
XENO-CONFIG(1) Manual Page
xenomai各种接口应用编译
1、编译参数获取
xenomai库libcobalt提供了多种编程接口,这些接口编写的实时应用程序如何编译呢?xenomai提供了一个脚本工具xeno-config
来生成各个接口的GCC编译链接参数:
$ /usr/xenomai/bin/xeno-config
xeno-config --verbose
--core=cobalt
--version="3.2.1"
--cc="gcc"
--ccld="/usr/xenomai/bin/wrap-link.sh gcc"
--arch="x86"
--prefix="/usr/xenomai"
--library-dir="/usr/xenomai/lib"
Usage xeno-config OPTIONS
Options :
--help
--v,--verbose
--version
--cc
--ccld
--arch
--prefix
--[skin=]posix|vxworks|psos|alchemy|rtdm|smokey|cobalt
--auto-init|auto-init-solib|no-auto-init
--mode-check|no-mode-check
--cflags
--ldflags
--lib*-dir|libdir|user-libdir
--core
--info
--compat
其中–[skin=]参数指定我们编译的应用程序是什么接口类型,例如编译一个POSIX接口的实时应用,指定接口(skin)–posix,同时使用参数–cflags来获取POSIX接口实时应用的编译参数:
$ /usr/xenomai/bin/xeno-config --skin=posix --cflags
-I/usr/xenomai/include/cobalt -I/usr/xenomai/include -D_GNU_SOURCE -D_REENTRANT -fasynchronous-unwind-tables -D__COBALT__ -D__COBALT_WRAP__
2、链接参数获取
$ /usr/xenomai/bin/xeno-config --skin=posix --ldflags
-Wl,--no-as-needed -Wl,@/usr/xenomai/lib/cobalt.wrappers -Wl,@/usr/xenomai/lib/modechk.wrappers /usr/xenomai/lib/xenomai/bootstrap.o -Wl,--wrap=main -Wl,--dynamic-list=/usr/xenomai/lib/dynlist.ld -L/usr/xenomai/lib -lcobalt -lmodechk -lpthread -lrt
同样通过指定–[skin=]为vxworks、psos来编译VxWorks、psos实时应用程序到xenomai上运行。