Permalink
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Browse files
Merged r3042:3043 from branches/SDL-1.2: legacy yasm fix.
- Loading branch information
Showing
with
40 additions
and
22 deletions.
-
+40
−22
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 <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) |
|
|