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

Reply via email to