]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
yasm-wrapper: hide libtool insanity from yasm
authorSage Weil <sage@inktank.com>
Tue, 20 Aug 2013 23:45:24 +0000 (16:45 -0700)
committerSage Weil <sage@inktank.com>
Thu, 22 Aug 2013 16:14:58 +0000 (09:14 -0700)
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>
src/Makefile.am
src/yasm-wrapper [new file with mode: 0755]

index 3219a15bc1769143c38dbc518baf099d091a9d9b..34e86fa1bf93627385f029500ca283d9e1fbc7be 100644 (file)
@@ -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 (executable)
index 0000000..8364d49
--- /dev/null
@@ -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