Applied work around for a compiler bug, see 3014609 for details (one

bullet source file needs to be compiled with one additional flag to
avoid this bug causing STK to crash).


git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/trunk@5820 178a84e3-b1eb-0310-8ba1-8eac791a3b58
This commit is contained in:
hikerstk 2010-08-30 00:30:18 +00:00
parent bb696615f4
commit 73f7d795e7
2 changed files with 22 additions and 0 deletions

View File

@ -397,7 +397,9 @@ esac
SUMMARY="$SUMMARY\nUsing enet network support."
ENETTREE="src/enet"
# =================
# Check for gettext
# =================
CHECK_GETTEXT(external)
#disable/enable addons support
AC_ARG_WITH(addons,[AS_HELP_STRING([--with-addons],
@ -407,6 +409,18 @@ if test "x$with_addons" == "xyes" ; then
echo "STK will compile with addons support"
AC_DEFINE(ADDONS_MANAGER)
fi
# ==========================================
# Check for a known compiler bug, details in
# src/bullet/src/Makefile.am
# ==========================================
ORIGCXXFLAGS="$CXXFLAGS"
CXXFLAGS="$CXXFLAGS -fno-elide-constructors"
AC_COMPILE_IFELSE([AC_LANG_PROGRAM()],
AC_MSG_RESULT(yes); NOELIDE=-fno-elide-constructors,
AC_MSG_RESULT(no); NOELIDE="")
CXXFLAGS="$ORIGCXXFLAGS"
AC_SUBST(NOELIDE)
# =========================
# subst bars in Makefile.am
# =========================

View File

@ -16,6 +16,14 @@ libbulletmath_a_SOURCES = \
LinearMath/btVector3.h LinearMath/btHashMap.h \
LinearMath/btConvexHull.cpp LinearMath/btConvexHull.h
# Certain g++ versions causes stk to crash if btVoronoiSimplexSolver.cpp is
# compiled with optimisations. Since it's rather difficult to specify certain
# flags for one file only with auto-tools (you can only specify flags per
# library, so you have to put this one file into a separate library) we compile
# the whole libbulletcollision with the modified flags - i.e. by adding
# -fno-elide-constructors to the flags. The overall performance impact is
# quite low anyway.
libbulletcollision_a_CXXFLAGS = @NOELIDE@
libbulletcollision_a_SOURCES = \
btBulletCollisionCommon.h \
BulletCollision/BroadphaseCollision/btAxisSweep3.cpp \