aboutsummaryrefslogtreecommitdiff
path: root/src/secp256k1/nasm_lt.sh
diff options
context:
space:
mode:
authorPieter Wuille <pieter.wuille@gmail.com>2014-11-18 18:06:36 +0100
committerPieter Wuille <pieter.wuille@gmail.com>2014-11-18 18:06:36 +0100
commit2245a95ce8b35db19526f0ed6cba1e9850108340 (patch)
treed63b42106713225ccfb3780ad519e4a512733f77 /src/secp256k1/nasm_lt.sh
parent7a7e10913989aca949a2d42f29e3ffdcd14313f3 (diff)
parentd48555b36ac512161b81f9b6bca7bea16a0cd806 (diff)
Merge commit 'd48555b36ac512161b81f9b6bca7bea16a0cd806' as 'src/secp256k1'
Diffstat (limited to 'src/secp256k1/nasm_lt.sh')
-rwxr-xr-xsrc/secp256k1/nasm_lt.sh57
1 files changed, 57 insertions, 0 deletions
diff --git a/src/secp256k1/nasm_lt.sh b/src/secp256k1/nasm_lt.sh
new file mode 100755
index 0000000000..6cd73294c0
--- /dev/null
+++ b/src/secp256k1/nasm_lt.sh
@@ -0,0 +1,57 @@
+#! /bin/sh
+command=""
+infile=""
+o_opt=no
+pic=no
+while [ $# -gt 0 ]; do
+ case "$1" in
+ -DPIC|-fPIC|-fpic|-Kpic|-KPIC)
+ if [ "$pic" != "yes" ] ; then
+ command="$command -DPIC"
+ pic=yes
+ fi
+ ;;
+ -f|-fbin|-faout|-faoutb|-fcoff|-felf|-felf64|-fas86| \
+ -fobj|-fwin32|-fwin64|-frdf|-fieee|-fmacho|-fmacho64)
+ # it's a file format specifier for nasm.
+ command="$command $1"
+ ;;
+ -f*)
+ # maybe a code-generation flag for gcc.
+ ;;
+ -[Ii]*)
+ incdir=`echo "$1" | sed 's/^-[Ii]//'`
+ if [ "x$incdir" = x -a "x$2" != x ] ; then
+ case "$2" in
+ -*) ;;
+ *) incdir="$2"; shift;;
+ esac
+ fi
+ if [ "x$incdir" != x ] ; then
+ # In the case of NASM, the trailing slash is necessary.
+ incdir=`echo "$incdir" | sed 's%/*$%/%'`
+ command="$command -I$incdir"
+ fi
+ ;;
+ -o*)
+ o_opt=yes
+ command="$command $1"
+ ;;
+ *.asm)
+ infile=$1
+ command="$command $1"
+ ;;
+ *)
+ command="$command $1"
+ ;;
+ esac
+ shift
+done
+if [ "$o_opt" != yes ] ; then
+ # By default, NASM creates an output file
+ # in the same directory as the input file.
+ outfile="-o `echo $infile | sed -e 's%^.*/%%' -e 's%\.[^.]*$%%'`.o"
+ command="$command $outfile"
+fi
+echo $command
+exec $command