diff options
author | pixdamix <pixdamix@e8e0d7a0-c8d9-11dd-a880-a1081c7ac358> | 2009-11-24 03:04:39 (EST) |
---|---|---|
committer | pixdamix <pixdamix@e8e0d7a0-c8d9-11dd-a880-a1081c7ac358> | 2009-11-24 03:04:39 (EST) |
commit | bf29bd974b428e00d7f614b082125f922c808486 (patch) | |
tree | 67e2863a1086e437ce72c8a3ca5e7e253f22acc4 /shave/shave.in | |
parent | 3d2102ff6d5f71acf929a55d1fb139fa71b7a306 (diff) |
shave: making the autotools output sane
Use shave (http://git.lespiau.name/cgit/shave) to make compilation more
human friendly.
Shave is enabled by default, Use --disable-shave to see the actual
compiler and linker commands being executed.
git-svn-id: http://opkg.googlecode.com/svn/trunk@364 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
Diffstat (limited to 'shave/shave.in')
-rw-r--r-- | shave/shave.in | 79 |
1 files changed, 79 insertions, 0 deletions
diff --git a/shave/shave.in b/shave/shave.in new file mode 100644 index 0000000..5c16f27 --- /dev/null +++ b/shave/shave.in @@ -0,0 +1,79 @@ +#!/bin/sh + +# we need sed +SED=@SED@ +if test -z "$SED" ; then +SED=sed +fi + +lt_unmangle () +{ + last_result=`echo $1 | $SED -e 's#.libs/##' -e 's#[0-9a-zA-Z_\-\.]*_la-##'` +} + +# the tool to wrap (cc, cxx, ar, ranlib, ..) +tool="$1" +shift + +# the reel tool (to call) +REEL_TOOL="$1" +shift + +pass_through=0 +preserved_args= +while test "$#" -gt 0; do + opt="$1" + shift + + case $opt in + --shave-mode=*) + mode=`echo $opt | $SED -e 's/[-_a-zA-Z0-9]*=//'` + ;; + -o) + lt_output="$1" + preserved_args="$preserved_args $opt" + ;; + *) + preserved_args="$preserved_args $opt" + ;; + esac +done + +# mode=link is handled in the libtool wrapper +case "$mode,$tool" in +link,*) + pass_through=1 + ;; +*,cxx) + Q=" CXX " + ;; +*,cc) + Q=" CC " + ;; +*,fc) + Q=" FC " + ;; +*,f77) + Q=" F77 " + ;; +*,objc) + Q=" OBJC " + ;; +*,*) + # should not happen + Q=" CC " + ;; +esac + +lt_unmangle "$lt_output" +output=$last_result + +if test -z $V; then + if test $pass_through -eq 0; then + echo "$Q$output" + fi + $REEL_TOOL $preserved_args +else + echo $REEL_TOOL $preserved_args + $REEL_TOOL $preserved_args +fi |