diff --git a/indra/llcommon/llcallstack.h b/indra/llcommon/llcallstack.h
index 663b77eb991eb8ce4b1b4251ddba27a77e0e54a4..799208e77a287e98fafbb57e267f724db2b6773f 100644
--- a/indra/llcommon/llcallstack.h
+++ b/indra/llcommon/llcallstack.h
@@ -25,6 +25,7 @@
  */
 
 #include <map>
+#include <vector>
 
 class LLCallStackImpl;
 
diff --git a/indra/llcommon/llcoros.cpp b/indra/llcommon/llcoros.cpp
index eeca71e1af840a690e3ad3a644926d749b31970e..5ba688c86496dffb8d9a5008dd56a0d72873e18d 100644
--- a/indra/llcommon/llcoros.cpp
+++ b/indra/llcommon/llcoros.cpp
@@ -26,7 +26,7 @@
  * $/LicenseInfo$
  */
 
-#include "llwin32headers.h"
+#include "llwin32headerslean.h"
 
 // Precompiled header
 #include "linden_common.h"
diff --git a/indra/llcommon/llerror.h b/indra/llcommon/llerror.h
index 6ae95c9c01c5c20ecd4a26a7cf482f020efadbf1..385fdaadac2f5bafbd387235edb4f9dd1a87cf0c 100644
--- a/indra/llcommon/llerror.h
+++ b/indra/llcommon/llerror.h
@@ -34,7 +34,6 @@
 #include "stdtypes.h"
 
 #include "llpreprocessor.h"
-#include <boost/static_assert.hpp>
 
 const int LL_ERR_NOERR = 0;
 
@@ -86,13 +85,8 @@ const int LL_ERR_NOERR = 0;
 #define llverify(func)			do {if (func) {}} while(0)
 #endif
 
-#ifdef LL_WINDOWS
 #define LL_STATIC_ASSERT(func, msg) static_assert(func, msg)
 #define LL_BAD_TEMPLATE_INSTANTIATION(type, msg) static_assert(false, msg)
-#else
-#define LL_STATIC_ASSERT(func, msg) BOOST_STATIC_ASSERT(func)
-#define LL_BAD_TEMPLATE_INSTANTIATION(type, msg) BOOST_STATIC_ASSERT(sizeof(type) != 0 && false);
-#endif
 
 
 /** Error Logging Facility
diff --git a/indra/llcommon/llfindlocale.cpp b/indra/llcommon/llfindlocale.cpp
index 6aaa57f498a8c98f78a59708f82187f6c95184bb..493a72493bbed963444a30d42e516df61d6f32d8 100644
--- a/indra/llcommon/llfindlocale.cpp
+++ b/indra/llcommon/llfindlocale.cpp
@@ -33,7 +33,7 @@
 #include <ctype.h>
 
 #ifdef WIN32
-#include "llwin32headers.h"
+#include "llwin32headerslean.h"
 #include <winnt.h>
 #endif
 
diff --git a/indra/llcommon/llthread.h b/indra/llcommon/llthread.h
index ebd13226fd8e5dcb83969972e59ed2c08672c71f..5db13db41abff6e10ddb706d3e5bfb1d81a5528b 100644
--- a/indra/llcommon/llthread.h
+++ b/indra/llcommon/llthread.h
@@ -29,7 +29,6 @@
 
 #include "llapp.h"
 #include "llapr.h"
-#include "boost/intrusive_ptr.hpp"
 #include "llrefcount.h"
 #include <thread>
 
diff --git a/indra/llcommon/mutex.h b/indra/llcommon/mutex.h
index 90d0942270ab3af4c4f3b04f5aa4d193fd589c72..6c8e24ade75fdad61c961f58012cfe01f0119306 100644
--- a/indra/llcommon/mutex.h
+++ b/indra/llcommon/mutex.h
@@ -9,6 +9,8 @@
  * $/LicenseInfo$
  */
 
+#pragma once
+
 #if LL_WINDOWS
 #pragma warning (push)
 #pragma warning (disable:4265)
diff --git a/indra/llmath/llinterp.h b/indra/llmath/llinterp.h
index b2167b3486f969d053abb814142cef241538bf83..31a5bbaa4c2f4552e4789f40d5e8602ec77f2e9a 100644
--- a/indra/llmath/llinterp.h
+++ b/indra/llmath/llinterp.h
@@ -26,14 +26,7 @@
 #ifndef LL_LLINTERP_H
 #define LL_LLINTERP_H
 
-#if defined(LL_WINDOWS)
-// macro definitions for common math constants (e.g. M_PI) are declared under the _USE_MATH_DEFINES
-// on Windows system.
-// So, let's define _USE_MATH_DEFINES before including math.h
-	#define _USE_MATH_DEFINES
-#endif
-
-#include "math.h"
+#include <cmath>
 
 // Class from which different types of interpolators can be derived