Commit f1107d91 authored by Ryan C. Gordon's avatar Ryan C. Gordon

Check if yasm supports a nasm-specific syntax we use (it doesn't in 0.5.0,

 which is still common in Linux distros, and does in 0.6.0). Disable it if we
 don't, attempting to fallback to using nasm. Thanks to Mike Frysinger for the
 patch.

   Fixes Bugzilla #393.

--HG--
branch : SDL-1.2
extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/branches/SDL-1.2%402328
parent a0395a87
......@@ -662,13 +662,20 @@ CheckNASM()
AC_HELP_STRING([--enable-nasm], [use nasm assembly blitters on x86 [[default=yes]]]),
, enable_nasm=yes)
if test x$enable_video = xyes -a x$enable_assembly = xyes -a x$enable_nasm = xyes; then
AC_PATH_PROG(NASM, yasm)
if test "x$NASM" = x -o "x$NASM" = x'"$NASM"'; then
AC_PATH_PROG(NASM, nasm)
CompileNASM()
{
# Usage: CompileNASM <filename>
AC_MSG_CHECKING(to see if $NASM supports $1)
if $NASM $NASMFLAGS $1 -o $1.o >&AS_MESSAGE_LOG_FD 2>&1; then
CompileNASM_ret="yes"
else
CompileNASM_ret="no"
fi
if test "x$NASM" != x -a "x$NASM" != x'"$NASM"'; then
AC_DEFINE(SDL_HERMES_BLITTERS)
SOURCES="$SOURCES $srcdir/src/hermes/*.asm"
rm -f $1 $1.o
AC_MSG_RESULT($CompileNASM_ret)
test "$CompileNASM_ret" = "yes"
}
if test x"$NASMFLAGS" = x; then
case $ARCH in
win32)
......@@ -685,15 +692,26 @@ AC_HELP_STRING([--enable-nasm], [use nasm assembly blitters on x86 [[default=yes
;;
esac
fi
AC_PATH_PROG(NASM, yasm)
echo "%ifidn __OUTPUT_FORMAT__,elf" > unquoted-sections
echo "section .note.GNU-stack noalloc noexec nowrite progbits" >> unquoted-sections
echo "%endif" >> unquoted-sections
CompileNASM unquoted-sections || NASM=""
if test "x$NASM" = x -o "x$NASM" = x'"$NASM"'; then
$as_unset ac_cv_path_NASM
AC_PATH_PROG(NASM, nasm)
fi
if test "x$NASM" != x -a "x$NASM" != x'"$NASM"'; then
AC_DEFINE(SDL_HERMES_BLITTERS)
SOURCES="$SOURCES $srcdir/src/hermes/*.asm"
NASMFLAGS="$NASMFLAGS -i $srcdir/src/hermes/"
dnl See if hidden visibility is supported
echo "GLOBAL _bar:function hidden" > nasm_vis.asm
echo "_bar:" >>nasm_vis.asm
if $NASM $NASMFLAGS nasm_vis.asm -o nasm_vis.o >&AS_MESSAGE_LOG_FD 2>&1; then
NASMFLAGS="$NASMFLAGS -DHIDDEN_VISIBILITY"
fi
rm -f nasm_vis.asm nasm_vis.o
echo "GLOBAL _bar:function hidden" > symbol-visibility
echo "_bar:" >> symbol-visibility
CompileNASM symbol-visibility && NASMFLAGS="$NASMFLAGS -DHIDDEN_VISIBILITY"
AC_SUBST(NASM)
AC_SUBST(NASMFLAGS)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment