aboutsummaryrefslogtreecommitdiffstats
path: root/shave.in
diff options
context:
space:
mode:
authorJonny Lamb <jonny.lamb@collabora.co.uk>2009-04-21 22:27:50 +0800
committerJonny Lamb <jonny.lamb@collabora.co.uk>2009-04-24 23:18:06 +0800
commit658bb59ac654bc4bbe95ae1aec17eec2fe9bb499 (patch)
tree284f031ab7cd5902cd129dd907c828c219893243 /shave.in
parentd696d6cc31f672884382d5b8949be504cdc718a5 (diff)
downloadgsoc2013-empathy-658bb59ac654bc4bbe95ae1aec17eec2fe9bb499.tar
gsoc2013-empathy-658bb59ac654bc4bbe95ae1aec17eec2fe9bb499.tar.gz
gsoc2013-empathy-658bb59ac654bc4bbe95ae1aec17eec2fe9bb499.tar.bz2
gsoc2013-empathy-658bb59ac654bc4bbe95ae1aec17eec2fe9bb499.tar.lz
gsoc2013-empathy-658bb59ac654bc4bbe95ae1aec17eec2fe9bb499.tar.xz
gsoc2013-empathy-658bb59ac654bc4bbe95ae1aec17eec2fe9bb499.tar.zst
gsoc2013-empathy-658bb59ac654bc4bbe95ae1aec17eec2fe9bb499.zip
Add shave support to build process.
Use --enable-shave to enable building with shave. Signed-off-by: Jonny Lamb <jonny.lamb@collabora.co.uk>
Diffstat (limited to 'shave.in')
-rw-r--r--shave.in79
1 files changed, 79 insertions, 0 deletions
diff --git a/shave.in b/shave.in
new file mode 100644
index 000000000..5c16f27ae
--- /dev/null
+++ b/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