Module: xenomai-forge Branch: master Commit: b2909c52cd3d249ef9e4e83cbf230564bf87a981 URL: http://git.xenomai.org/?p=xenomai-forge.git;a=commit;h=b2909c52cd3d249ef9e4e83cbf230564bf87a981
Author: Philippe Gerum <r...@xenomai.org> Date: Fri Dec 9 17:24:25 2011 +0100 scripts: allow multiple --skin specs --- scripts/xeno-config-cobalt.in | 83 +++++++++++++++++++++------------------ scripts/xeno-config-mercury.in | 66 ++++++++++++++++++-------------- 2 files changed, 82 insertions(+), 67 deletions(-) diff --git a/scripts/xeno-config-cobalt.in b/scripts/xeno-config-cobalt.in index 082519a..088f4f3 100644 --- a/scripts/xeno-config-cobalt.in +++ b/scripts/xeno-config-cobalt.in @@ -21,7 +21,7 @@ XENO_POSIX_FAST_WRAPPING="@LD_FILE_OPTION@" XENO_LIBRARY_DIR="${staging}${libdir}" XENO_INCLUDE_DIR="${staging}${includedir}" -unset prefix exec_prefix libdir datadir datarootdir pkgdatadir includedir +unset prefix exec_prefix libdir datadir datarootdir pkgdatadir includedir skin_list posix_ldflags () { @@ -101,51 +101,58 @@ while test $# -gt 0; do echo $XENO_LIBRARY_DIR ;; --skin) - skin="$2" + skin_list="$skin_list $2" shift ;; --skin=*) - skin=`expr "$1" : '--skin=\(.*\)'` + skin_list="$skin_list `expr "$1" : '--skin=\(.*\)'`" ;; --cflags) - case "$skin" in - posix|cobalt) - echo $XENO_BASE_CFLAGS -I$XENO_INCLUDE_DIR/cobalt - ;; - vxworks|psos|alchemy) - echo $XENO_BASE_CFLAGS -I$XENO_INCLUDE_DIR/cobalt -I$XENO_INCLUDE_DIR/$skin -I$XENO_INCLUDE_DIR - ;; - "") - echo skin not set, please pass --skin before --cflags 1>&2 - exit 1 - ;; - *) - echo skin $skin unknown 1>&2 - exit 1 - ;; - esac + if test -z "$skin_list"; then + echo "no skin specified, missing --skin before --cflags" 1>&2 + exit 1 + fi + cflags="$XENO_BASE_CFLAGS -I$XENO_INCLUDE_DIR/cobalt -I$XENO_INCLUDE_DIR" + for skin in $skin_list; do + case "$skin" in + posix|cobalt) + ;; + vxworks|psos|alchemy) + cflags="$cflags -I$XENO_INCLUDE_DIR/$skin" + ;; + *) + echo "unknown skin: $skin" 1>&2 + exit 1 + ;; + esac + done + echo $cflags ;; --ldflags) - case "$skin" in - posix|cobalt) - posix_ldflags - echo - ;; - vxworks|psos|alchemy) - echo "-l$skin -lcopperplate" - posix_ldflags - echo - ;; - "") - echo skin not set, please pass --skin before --cflags 1>&2 - exit 1 - ;; - *) - echo skin $skin unknown 1>&2 - exit 1 - ;; - esac + if test -z "$skin_list"; then + echo "no skin specified, missing --skin before --ldflags" 1>&2 + exit 1 + fi + ldflags= + copperplate= + for skin in $skin_list; do + case "$skin" in + posix|cobalt) + ;; + vxworks|psos|alchemy) + copperplate=-lcopperplate + echo "-l$skin $ldflags" + echo + ;; + *) + echo "unknown skin: $skin" 1>&2 + exit 1 + ;; + esac + done + echo "$ldflags $copperplate" + posix_ldflags; echo ;; --core) echo cobalt diff --git a/scripts/xeno-config-mercury.in b/scripts/xeno-config-mercury.in index 2177c4a..5fba84f 100644 --- a/scripts/xeno-config-mercury.in +++ b/scripts/xeno-config-mercury.in @@ -18,7 +18,7 @@ XENO_BASE_LDFLAGS="-L${staging}${libdir} @XENO_USER_APP_LDFLAGS@ -lcopperplate - XENO_LIBRARY_DIR="${staging}${libdir}" XENO_INCLUDE_DIR="${staging}${includedir}" -unset prefix exec_prefix libdir datadir datarootdir pkgdatadir includedir +unset prefix exec_prefix libdir datadir datarootdir pkgdatadir includedir skin_list usage () { @@ -79,41 +79,49 @@ while test $# -gt 0; do echo $XENO_LIBRARY_DIR ;; --skin) - skin="$2" + skin_list="$skin_list $2" shift ;; --skin=*) - skin=`expr "$1" : '--skin=\(.*\)'` + skin_list="$skin_list `expr "$1" : '--skin=\(.*\)'`" ;; --cflags) - case "$skin" in - vxworks|psos|alchemy) - echo $XENO_BASE_CFLAGS -I$XENO_INCLUDE_DIR/$skin -I$XENO_INCLUDE_DIR - ;; - "") - echo skin not set, please pass --skin before --cflags 1>&2 - exit 1 - ;; - *) - echo skin $skin unknown 1>&2 - exit 1 - ;; - esac + if test -z "$skin_list"; then + echo "no skin specified, missing --skin before --cflags" 1>&2 + exit 1 + fi + cflags="$XENO_BASE_CFLAGS -I$XENO_INCLUDE_DIR" + for skin in $skin_list; do + case "$skin" in + vxworks|psos|alchemy) + cflags="$cflags -I$XENO_INCLUDE_DIR/$skin" + ;; + *) + echo "unknown skin: $skin" 1>&2 + exit 1 + ;; + esac + done + echo $cflags ;; --ldflags) - case "$skin" in - vxworks|psos|alchemy) - echo -l$skin $XENO_BASE_LDFLAGS - ;; - "") - echo skin not set, please pass --skin before --cflags 1>&2 - exit 1 - ;; - *) - echo skin $skin unknown 1>&2 - exit 1 - ;; - esac + if test -z "$skin_list"; then + echo "no skin specified, missing --skin before --ldflags" 1>&2 + exit 1 + fi + ldflags="$XENO_BASE_LDFLAGS" + for skin in $skin_list; do + case "$skin" in + vxworks|psos|alchemy) + ldflags="-l$skin $ldflags" + ;; + *) + echo "unknown skin: $skin" 1>&2 + exit 1 + ;; + esac + done + echo $ldflags ;; --core) echo mercury _______________________________________________ Xenomai-git mailing list Xenomai-git@gna.org https://mail.gna.org/listinfo/xenomai-git