summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Meadows <andrew@lindenlab.com>2007-02-07 20:33:52 +0000
committerAndrew Meadows <andrew@lindenlab.com>2007-02-07 20:33:52 +0000
commitbd48685d3489e14e709673d79b4516fd980398d8 (patch)
treed556e55f5ee0dede121d8e1c1542a837ef87dc14
parentd0d4670f4941dcf7430fb1269c6613140ecf3ff7 (diff)
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.
-rw-r--r--indra/llcommon/indra_constants.h1
-rw-r--r--indra/llcommon/llsd.cpp1
-rw-r--r--indra/llmath/v3math.h12
-rw-r--r--indra/test/llpipeutil.cpp1
-rw-r--r--indra/test/llsd_new_tut.cpp1
5 files changed, 14 insertions, 2 deletions
diff --git a/indra/llcommon/indra_constants.h b/indra/llcommon/indra_constants.h
index b8df3cbfe7..dc84350987 100644
--- a/indra/llcommon/indra_constants.h
+++ b/indra/llcommon/indra_constants.h
@@ -9,6 +9,7 @@
#ifndef LL_INDRA_CONSTANTS_H
#define LL_INDRA_CONSTANTS_H
+#include "stdtypes.h"
#include "lluuid.h"
// Viewer object cache version, change if object update
diff --git a/indra/llcommon/llsd.cpp b/indra/llcommon/llsd.cpp
index 45d7acd417..aa4cba99d1 100644
--- a/indra/llcommon/llsd.cpp
+++ b/indra/llcommon/llsd.cpp
@@ -8,6 +8,7 @@
#include "llsd.h"
+#include <sstream>
#include <math.h>
#include "../llmath/llmath.h"
#include "llformat.h"
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
diff --git a/indra/test/llpipeutil.cpp b/indra/test/llpipeutil.cpp
index 3a15bfdb7e..f4b1b28c1d 100644
--- a/indra/test/llpipeutil.cpp
+++ b/indra/test/llpipeutil.cpp
@@ -10,6 +10,7 @@
#include "llpipeutil.h"
#include <stdlib.h>
+#include <sstream>
#include "llbufferstream.h"
#include "lldefs.h"
diff --git a/indra/test/llsd_new_tut.cpp b/indra/test/llsd_new_tut.cpp
index e99da7195a..6a38a1a8ea 100644
--- a/indra/test/llsd_new_tut.cpp
+++ b/indra/test/llsd_new_tut.cpp
@@ -12,6 +12,7 @@
#include "lltut.h"
#include "llsd.h"
+#include "llstring.h"
namespace tut
{