[Xenomai-git] Gilles Chanteperdrix : Do not use the 2 stages build for building non-posix applications

2009-10-01 Thread GIT version control
Module: xenomai-abe
Branch: comedi
Commit: 50ee47db78117e8711d4d2f5310dff262a425eb7
URL:
http://git.xenomai.org/?p=xenomai-abe.git;a=commit;h=50ee47db78117e8711d4d2f5310dff262a425eb7

Author: Gilles Chanteperdrix gilles.chanteperd...@xenomai.org
Date:   Thu Sep 24 15:14:48 2009 +0200

Do not use the 2 stages build for building non-posix applications

---

 scripts/wrap-link.sh |   50 +++---
 1 files changed, 27 insertions(+), 23 deletions(-)

diff --git a/scripts/wrap-link.sh b/scripts/wrap-link.sh
index 0d53c7b..f4826ac 100755
--- a/scripts/wrap-link.sh
+++ b/scripts/wrap-link.sh
@@ -6,7 +6,7 @@ set -e
 
 usage() {
 cat EOF
-$progname [options] command-line
+$1 [options] command-line
 
 Split command-line in two parts for linking static applications with
 Xenomai user-space posix skin in two stages.
@@ -16,21 +16,25 @@ Options:
 -v be verbose (print each command before running it)
 
 Example:
-$progname -v gcc -o foo foo.o -Wl,@/usr/xenomai/lib/posix.wrappers 
-L/usr/xenomai/lib -lpthread_rt -lpthread -lrt
+$1 -v gcc -o foo foo.o -Wl,@/usr/xenomai/lib/posix.wrappers -L/usr/xenomai/lib 
-lpthread_rt -lpthread -lrt
 will print and run:
-+ gcc -o foo.tmp -Wl,-r -nostdlib tmp foo.o 
-Wl,@/usr/xenomai/lib/posix.wrappers -L/usr/xenomai/lib
-+ gcc -o foo foo.tmp -lpthread_rt -lpthread -lrt
++ gcc -o foo.tmp -Wl,-Ur -nostdlib foo.o -Wl,@/usr/xenomai/lib/posix.wrappers 
-L/usr/xenomai/lib
++ gcc -o foo foo.tmp -L/usr/xenomai/lib -lpthread_rt -lpthread -lrt
 + rm foo.tmp
 EOF
 }
 
+add_2stages() {
+stage1_args=$stage1_args $@
+stage2_args=$stage2_args $@
+}   
+
 add_linker_flag() {
 if $next_is_wrapped_symbol; then
stage1_args=$stage1_args -Wl,--wrap $@
next_is_wrapped_symbol=false
 else
-   stage1_args=$stage1_args $@
-   stage2_args=$stage2_args $@
+   add_2stages $@
 fi
 }
 
@@ -47,10 +51,10 @@ if test -n $V  test $V -gt 0; then
 else
 verbose=false
 fi
-progname=$0
+progname=$0
 
 if test $# -eq 0; then
-usage
+usage $progname
 exit 0
 fi
 
@@ -58,11 +62,6 @@ while test $# -gt 0; do
 arg=$1
 shift
 case $arg in
-   )
-   usage
-   exit 0
-   ;;
-
-v) 
verbose=:
;;
@@ -81,7 +80,7 @@ while test $# -gt 0; do
;;
 
*ld)
-   usage
+   usage $progname
/bin/echo -e \nlinker must be gcc or g++, not ld
exit 1
;;
@@ -93,6 +92,8 @@ while test $# -gt 0; do
 done
 
 next_is_wrapped_symbol=false
+
+onestage_args=$@
 stage1_args=
 stage2_args=
 stage2=false
@@ -100,7 +101,7 @@ while test $# -gt 0; do
 arg=$1
 shift
 case $arg in
-   *pthread_rt*|-lpthread)
+   *pthread_rt*)
stage2_args=$stage2_args $arg
stage2=:
;;
@@ -140,7 +141,7 @@ while test $# -gt 0; do
;;
 
-o*)
-   output=`expr $arg : '-o\(.*\)'`
+   output=`expr $arg : '-o\(.*\)'`
;;

-l) 
@@ -161,15 +162,18 @@ while test $# -gt 0; do
if test -e $arg; then
add_linker_obj $arg
else
-   stage1_args=$stage1_args $arg
-   stage2_args=$stage2_args $arg
+   add_2stages $arg
fi
   ;;
 esac
 done
 
-$verbose  set -x
-tmpobj=$output.wl$$
-$cc -o $tmpobj -Wl,-Ur -nostdlib $stage1_args
-$cc -o $output $tmpobj $stage2_args
-rm -f $tmpobj
+if $stage2; then
+$verbose  set -x
+$cc -o $output.tmp -Wl,-Ur -nostdlib $stage1_args
+$cc -o $output $output.tmp $stage2_args
+rm -f $output.tmp
+else
+$verbose  set -x
+$cc -o $output $onestage_args
+fi


___
Xenomai-git mailing list
Xenomai-git@gna.org
https://mail.gna.org/listinfo/xenomai-git


[Xenomai-git] Gilles Chanteperdrix : Do not use the 2 stages build for building non-posix applications

2009-09-24 Thread GIT version control
Module: xenomai-2.4
Branch: master
Commit: 38fd18b67cbbf6467162c1655d52d8ee6febf6ad
URL:
http://git.xenomai.org/?p=xenomai-2.4.git;a=commit;h=38fd18b67cbbf6467162c1655d52d8ee6febf6ad

Author: Gilles Chanteperdrix gilles.chanteperd...@xenomai.org
Date:   Thu Sep 24 15:14:48 2009 +0200

Do not use the 2 stages build for building non-posix applications

---

 scripts/wrap-link.sh |   50 +++---
 1 files changed, 27 insertions(+), 23 deletions(-)

diff --git a/scripts/wrap-link.sh b/scripts/wrap-link.sh
index 0d53c7b..f4826ac 100755
--- a/scripts/wrap-link.sh
+++ b/scripts/wrap-link.sh
@@ -6,7 +6,7 @@ set -e
 
 usage() {
 cat EOF
-$progname [options] command-line
+$1 [options] command-line
 
 Split command-line in two parts for linking static applications with
 Xenomai user-space posix skin in two stages.
@@ -16,21 +16,25 @@ Options:
 -v be verbose (print each command before running it)
 
 Example:
-$progname -v gcc -o foo foo.o -Wl,@/usr/xenomai/lib/posix.wrappers 
-L/usr/xenomai/lib -lpthread_rt -lpthread -lrt
+$1 -v gcc -o foo foo.o -Wl,@/usr/xenomai/lib/posix.wrappers -L/usr/xenomai/lib 
-lpthread_rt -lpthread -lrt
 will print and run:
-+ gcc -o foo.tmp -Wl,-r -nostdlib tmp foo.o 
-Wl,@/usr/xenomai/lib/posix.wrappers -L/usr/xenomai/lib
-+ gcc -o foo foo.tmp -lpthread_rt -lpthread -lrt
++ gcc -o foo.tmp -Wl,-Ur -nostdlib foo.o -Wl,@/usr/xenomai/lib/posix.wrappers 
-L/usr/xenomai/lib
++ gcc -o foo foo.tmp -L/usr/xenomai/lib -lpthread_rt -lpthread -lrt
 + rm foo.tmp
 EOF
 }
 
+add_2stages() {
+stage1_args=$stage1_args $@
+stage2_args=$stage2_args $@
+}   
+
 add_linker_flag() {
 if $next_is_wrapped_symbol; then
stage1_args=$stage1_args -Wl,--wrap $@
next_is_wrapped_symbol=false
 else
-   stage1_args=$stage1_args $@
-   stage2_args=$stage2_args $@
+   add_2stages $@
 fi
 }
 
@@ -47,10 +51,10 @@ if test -n $V  test $V -gt 0; then
 else
 verbose=false
 fi
-progname=$0
+progname=$0
 
 if test $# -eq 0; then
-usage
+usage $progname
 exit 0
 fi
 
@@ -58,11 +62,6 @@ while test $# -gt 0; do
 arg=$1
 shift
 case $arg in
-   )
-   usage
-   exit 0
-   ;;
-
-v) 
verbose=:
;;
@@ -81,7 +80,7 @@ while test $# -gt 0; do
;;
 
*ld)
-   usage
+   usage $progname
/bin/echo -e \nlinker must be gcc or g++, not ld
exit 1
;;
@@ -93,6 +92,8 @@ while test $# -gt 0; do
 done
 
 next_is_wrapped_symbol=false
+
+onestage_args=$@
 stage1_args=
 stage2_args=
 stage2=false
@@ -100,7 +101,7 @@ while test $# -gt 0; do
 arg=$1
 shift
 case $arg in
-   *pthread_rt*|-lpthread)
+   *pthread_rt*)
stage2_args=$stage2_args $arg
stage2=:
;;
@@ -140,7 +141,7 @@ while test $# -gt 0; do
;;
 
-o*)
-   output=`expr $arg : '-o\(.*\)'`
+   output=`expr $arg : '-o\(.*\)'`
;;

-l) 
@@ -161,15 +162,18 @@ while test $# -gt 0; do
if test -e $arg; then
add_linker_obj $arg
else
-   stage1_args=$stage1_args $arg
-   stage2_args=$stage2_args $arg
+   add_2stages $arg
fi
   ;;
 esac
 done
 
-$verbose  set -x
-tmpobj=$output.wl$$
-$cc -o $tmpobj -Wl,-Ur -nostdlib $stage1_args
-$cc -o $output $tmpobj $stage2_args
-rm -f $tmpobj
+if $stage2; then
+$verbose  set -x
+$cc -o $output.tmp -Wl,-Ur -nostdlib $stage1_args
+$cc -o $output $output.tmp $stage2_args
+rm -f $output.tmp
+else
+$verbose  set -x
+$cc -o $output $onestage_args
+fi


___
Xenomai-git mailing list
Xenomai-git@gna.org
https://mail.gna.org/listinfo/xenomai-git


[Xenomai-git] Gilles Chanteperdrix : Do not use the 2 stages build for building non-posix applications

2009-09-24 Thread GIT version control
Module: xenomai-head
Branch: master
Commit: 50ee47db78117e8711d4d2f5310dff262a425eb7
URL:
http://git.xenomai.org/?p=xenomai-head.git;a=commit;h=50ee47db78117e8711d4d2f5310dff262a425eb7

Author: Gilles Chanteperdrix gilles.chanteperd...@xenomai.org
Date:   Thu Sep 24 15:14:48 2009 +0200

Do not use the 2 stages build for building non-posix applications

---

 scripts/wrap-link.sh |   50 +++---
 1 files changed, 27 insertions(+), 23 deletions(-)

diff --git a/scripts/wrap-link.sh b/scripts/wrap-link.sh
index 0d53c7b..f4826ac 100755
--- a/scripts/wrap-link.sh
+++ b/scripts/wrap-link.sh
@@ -6,7 +6,7 @@ set -e
 
 usage() {
 cat EOF
-$progname [options] command-line
+$1 [options] command-line
 
 Split command-line in two parts for linking static applications with
 Xenomai user-space posix skin in two stages.
@@ -16,21 +16,25 @@ Options:
 -v be verbose (print each command before running it)
 
 Example:
-$progname -v gcc -o foo foo.o -Wl,@/usr/xenomai/lib/posix.wrappers 
-L/usr/xenomai/lib -lpthread_rt -lpthread -lrt
+$1 -v gcc -o foo foo.o -Wl,@/usr/xenomai/lib/posix.wrappers -L/usr/xenomai/lib 
-lpthread_rt -lpthread -lrt
 will print and run:
-+ gcc -o foo.tmp -Wl,-r -nostdlib tmp foo.o 
-Wl,@/usr/xenomai/lib/posix.wrappers -L/usr/xenomai/lib
-+ gcc -o foo foo.tmp -lpthread_rt -lpthread -lrt
++ gcc -o foo.tmp -Wl,-Ur -nostdlib foo.o -Wl,@/usr/xenomai/lib/posix.wrappers 
-L/usr/xenomai/lib
++ gcc -o foo foo.tmp -L/usr/xenomai/lib -lpthread_rt -lpthread -lrt
 + rm foo.tmp
 EOF
 }
 
+add_2stages() {
+stage1_args=$stage1_args $@
+stage2_args=$stage2_args $@
+}   
+
 add_linker_flag() {
 if $next_is_wrapped_symbol; then
stage1_args=$stage1_args -Wl,--wrap $@
next_is_wrapped_symbol=false
 else
-   stage1_args=$stage1_args $@
-   stage2_args=$stage2_args $@
+   add_2stages $@
 fi
 }
 
@@ -47,10 +51,10 @@ if test -n $V  test $V -gt 0; then
 else
 verbose=false
 fi
-progname=$0
+progname=$0
 
 if test $# -eq 0; then
-usage
+usage $progname
 exit 0
 fi
 
@@ -58,11 +62,6 @@ while test $# -gt 0; do
 arg=$1
 shift
 case $arg in
-   )
-   usage
-   exit 0
-   ;;
-
-v) 
verbose=:
;;
@@ -81,7 +80,7 @@ while test $# -gt 0; do
;;
 
*ld)
-   usage
+   usage $progname
/bin/echo -e \nlinker must be gcc or g++, not ld
exit 1
;;
@@ -93,6 +92,8 @@ while test $# -gt 0; do
 done
 
 next_is_wrapped_symbol=false
+
+onestage_args=$@
 stage1_args=
 stage2_args=
 stage2=false
@@ -100,7 +101,7 @@ while test $# -gt 0; do
 arg=$1
 shift
 case $arg in
-   *pthread_rt*|-lpthread)
+   *pthread_rt*)
stage2_args=$stage2_args $arg
stage2=:
;;
@@ -140,7 +141,7 @@ while test $# -gt 0; do
;;
 
-o*)
-   output=`expr $arg : '-o\(.*\)'`
+   output=`expr $arg : '-o\(.*\)'`
;;

-l) 
@@ -161,15 +162,18 @@ while test $# -gt 0; do
if test -e $arg; then
add_linker_obj $arg
else
-   stage1_args=$stage1_args $arg
-   stage2_args=$stage2_args $arg
+   add_2stages $arg
fi
   ;;
 esac
 done
 
-$verbose  set -x
-tmpobj=$output.wl$$
-$cc -o $tmpobj -Wl,-Ur -nostdlib $stage1_args
-$cc -o $output $tmpobj $stage2_args
-rm -f $tmpobj
+if $stage2; then
+$verbose  set -x
+$cc -o $output.tmp -Wl,-Ur -nostdlib $stage1_args
+$cc -o $output $output.tmp $stage2_args
+rm -f $output.tmp
+else
+$verbose  set -x
+$cc -o $output $onestage_args
+fi


___
Xenomai-git mailing list
Xenomai-git@gna.org
https://mail.gna.org/listinfo/xenomai-git