--- a/configure.in Sun Jun 03 19:21:07 2007 +0000
+++ b/configure.in Mon Jun 04 11:06:48 2007 +0000
@@ -662,38 +662,56 @@
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
+ 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
+ rm -f $1 $1.o
+ AC_MSG_RESULT($CompileNASM_ret)
+ test "$CompileNASM_ret" = "yes"
+ }
+
+ if test x"$NASMFLAGS" = x; then
+ case $ARCH in
+ win32)
+ NASMFLAGS="-f win32"
+ ;;
+ openbsd)
+ NASMFLAGS="-f aoutb"
+ ;;
+ macosx)
+ NASMFLAGS="-f macho"
+ ;;
+ *)
+ NASMFLAGS="-f elf"
+ ;;
+ 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"
- if test x"$NASMFLAGS" = x; then
- case $ARCH in
- win32)
- NASMFLAGS="-f win32"
- ;;
- openbsd)
- NASMFLAGS="-f aoutb"
- ;;
- macosx)
- NASMFLAGS="-f macho"
- ;;
- *)
- NASMFLAGS="-f elf"
- ;;
- esac
- fi
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)