From b5db88c14f99f9ab0ea4e5c14b13ec293754fb68 Mon Sep 17 00:00:00 2001 From: "Ryan C. Gordon" Date: Mon, 4 Jun 2007 11:08:25 +0000 Subject: [PATCH] Merged r3042:3043 from branches/SDL-1.2: legacy yasm fix. --- configure.in | 62 +++++++++++++++++++++++++++++++++------------------- 1 file changed, 40 insertions(+), 22 deletions(-) diff --git a/configure.in b/configure.in index f97e5cfe4..46ac94916 100644 --- a/configure.in +++ b/configure.in @@ -641,38 +641,56 @@ 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 + CompileNASM() + { + # Usage: CompileNASM + 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)