From bd48685d3489e14e709673d79b4516fd980398d8 Mon Sep 17 00:00:00 2001 From: Andrew Meadows Date: Wed, 7 Feb 2007 20:33:52 +0000 Subject: Fixed a linux build issue when the llhavok suddenly required rtti in order to link. I added a #ifndef hack to v3math.h to eliminate LLString's from the llhavok project. I also removed lluuid.h's dependency on LLString (using std::string) instead and then fixed a bunch of bad dependency fallout on a few files around the project that suddenly lost their hidden access to some fundamental includes. The important parts were reviewed with James. --- indra/llmath/v3math.h | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'indra/llmath') diff --git a/indra/llmath/v3math.h b/indra/llmath/v3math.h index 09042b6dc3..8949ef0112 100644 --- a/indra/llmath/v3math.h +++ b/indra/llmath/v3math.h @@ -12,13 +12,17 @@ #include "llerror.h" #include "llmath.h" -#include "llsd.h" +#ifndef NO_RTTI +// LLSD includes LLString which is incompatible with some other +// stuff (Havok) that requires -fno-rtti +# include "llsd.h" +#endif class LLVector4; class LLMatrix3; class LLVector3d; class LLQuaternion; -// Llvector3 = |x y z w| +// LLvector3 = |x y z w| static const U32 LENGTHOFVECTOR3 = 3; @@ -41,6 +45,9 @@ class LLVector3 inline explicit LLVector3(const F32 *vec); // Initializes LLVector3 to (vec[0]. vec[1], vec[2]) explicit LLVector3(const LLVector3d &vec); // Initializes LLVector3 to (vec[0]. vec[1], vec[2]) explicit LLVector3(const LLVector4 &vec); // Initializes LLVector4 to (vec[0]. vec[1], vec[2]) +#ifndef NO_RTTI +// LLSD includes LLString which is incompatible with some other +// stuff (Havok) that requires -fno-rtti LLVector3(const LLSD& sd) { setValue(sd); @@ -67,6 +74,7 @@ class LLVector3 setValue(sd); return *this; } +#endif inline BOOL isFinite() const; // checks to see if all values of LLVector3 are finite BOOL clamp(F32 min, F32 max); // Clamps all values to (min,max), returns TRUE if data changed -- cgit v1.2.3