summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSage Weil <sage@inktank.com>2013-08-20 16:45:24 -0700
committerSage Weil <sage@inktank.com>2013-08-22 09:14:58 -0700
commit841a695527da8da98eda15b3d6bd17c1de4eacf7 (patch)
treeb59302b5e32fae889ccfe009ce2dbce3431a9e27
parent8437304c93a23b4544fe4ba1e85248e7c10ea4e8 (diff)
downloadceph-841a695527da8da98eda15b3d6bd17c1de4eacf7.tar.gz
yasm-wrapper: hide libtool insanity from yasm
libtool passes all kinds of crap to yasm that yasm does not understand. Hide it with this ugly wrapper. Sigh. Signed-off-by: Sage Weil <sage@inktank.com>
-rw-r--r--src/Makefile.am3
-rwxr-xr-xsrc/yasm-wrapper36
2 files changed, 38 insertions, 1 deletions
diff --git a/src/Makefile.am b/src/Makefile.am
index 3219a15bc17..34e86fa1bf9 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -20,7 +20,8 @@ EXTRA_DIST = \
libs3/mswin \
libs3/src \
libs3/test \
- unittest_bufferlist.sh
+ unittest_bufferlist.sh \
+ yasm-wrapper
CLEANFILES =
bin_PROGRAMS =
diff --git a/src/yasm-wrapper b/src/yasm-wrapper
new file mode 100755
index 00000000000..8364d49599f
--- /dev/null
+++ b/src/yasm-wrapper
@@ -0,0 +1,36 @@
+#!/bin/sh -e
+
+# libtool and yasm do not get along.
+# filter out any crap that libtool feeds us that yasm does not understand.
+new=""
+touch=""
+while [ -n "$*" ]; do
+ case "$1" in
+ -f )
+ shift
+ new="-f $1"
+ shift
+ ;;
+ -g | -f* | -W* | -MD | -MP | -fPIC | -c | -D* | --param* | -O* | -I* )
+ shift
+ ;;
+ -MT )
+ shift
+ shift
+ ;;
+ -MF )
+ shift
+ touch="$1"
+ shift
+ ;;
+ * )
+ new="$new $1"
+ shift
+ ;;
+ esac
+done
+
+echo yasm $new
+yasm $new
+
+[ -n "$touch" ] && touch $touch