forked from libass/libass
-
Notifications
You must be signed in to change notification settings - Fork 0
/
ltnasm.sh
executable file
·28 lines (25 loc) · 1015 Bytes
/
ltnasm.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#!/bin/sh
# Translate libtool supplied C-compiler options for NASM.
# libtool treats NASM like the C compiler, and may supply -f… options
# which are interpreted as the output file format by NASM, causing errors.
# Notably libtool will set -DPIC -fPIC and -fno-common;
# we want to use -DPIC by translating it to -DPIC=1, but remove everything else
#
# Theoretically the way the filtering is done here in a plain POSIX shell script,
# does mess up if there were spaces in any argument. However this will never happen
# since neither our filenames nor options do not contain spaces and source paths
# are not allowed to contain spaces by configure.
cmd=""
while [ "$#" -gt 0 ] ; do
case "$1" in
# NASM accepts both -f format and -fformat,
# we always use the former, and libtool supplied
# C-compiler options will always use the latter.
-f) cmd="$cmd $1" ;;
-f*) : ;;
-DPIC) cmd="$cmd -DPIC=1" ;;
*) cmd="$cmd $1" ;;
esac
shift
done
exec $cmd