makedef: Pass EXTERN_PREFIX from configure to makedef

This avoids having to use either "dumpbin -headers" to find out
the current architecture, or pass $ARCH from configure to deduce it.

When configuring with --disable-asm, ARCH is equal to "c", which doesn't
give any indication of what symbol prefix is to be used.

Signed-off-by: Martin Storsjö <martin@martin.st>
This commit is contained in:
Martin Storsjö
2017-11-16 09:32:15 +02:00
parent d070b9b703
commit bad7ce1d82
2 changed files with 4 additions and 29 deletions

View File

@@ -58,33 +58,7 @@ fi
IFS='
'
# Determine if we're building for x86 or x86_64 and
# set the symbol prefix accordingly.
prefix=""
if [ -n "$NM" ]; then
case $ARCH in
*86)
prefix="_"
;;
*)
;;
esac
else
arch=$(dumpbin -headers ${libname} |
tr '\t' ' ' |
grep '^ \+.\+machine \+(.\+)' |
head -1 |
sed -e 's/^ \{1,\}.\{1,\} \{1,\}machine \{1,\}(\(.\{3,5\}\)).*/\1/')
if [ "${arch}" = "x86" ]; then
prefix="_"
else
if [ "${arch}" != "ARM" ] && [ "${arch}" != "x64" ] && [ "${arch}" != "ARM64" ]; then
echo "Unknown machine type." >&2
exit 1
fi
fi
fi
prefix="$EXTERN_PREFIX"
started=0
regex="none"