Browse Source

Merge branch 'master' into deploy-ng

rdb 7 years ago
parent
commit
338b428e65
100 changed files with 286 additions and 100 deletions
  1. 1 1
      .travis.yml
  2. 1 1
      direct/src/deadrec/config_deadrec.cxx
  3. 1 1
      direct/src/directd/directd.cxx
  4. 1 1
      direct/src/distributed/config_distributed.cxx
  5. 24 3
      direct/src/gui/DirectFrame.py
  6. 1 1
      direct/src/interval/config_interval.cxx
  7. 1 0
      direct/src/leveleditor/ProtoPalette.py
  8. 1 1
      direct/src/motiontrail/config_motiontrail.cxx
  9. 2 2
      direct/src/showbase/Loader.py
  10. 1 1
      direct/src/showbase/showBase.cxx
  11. 1 1
      dtool/src/dconfig/config_dconfig.cxx
  12. 3 0
      dtool/src/dtoolbase/dtool_platform.h
  13. 1 1
      dtool/src/dtoolbase/dtoolbase.cxx
  14. 49 16
      dtool/src/dtoolbase/dtoolbase_cc.h
  15. 2 9
      dtool/src/dtoolbase/mutexSpinlockImpl.I
  16. 10 1
      dtool/src/dtoolbase/mutexSpinlockImpl.cxx
  17. 5 3
      dtool/src/dtoolbase/mutexSpinlockImpl.h
  18. 1 1
      dtool/src/dtoolbase/stl_compares.I
  19. 1 1
      dtool/src/dtoolutil/config_dtoolutil.cxx
  20. 2 3
      dtool/src/interrogate/functionRemap.cxx
  21. 2 2
      dtool/src/interrogate/interfaceMakerPythonNative.cxx
  22. 1 1
      dtool/src/interrogate/interrogate.cxx
  23. 1 1
      dtool/src/interrogate/parameterRemapConcreteToPointer.cxx
  24. 1 1
      dtool/src/interrogate/parameterRemapReferenceToPointer.cxx
  25. 1 1
      dtool/src/prc/config_prc.cxx
  26. 1 0
      makepanda/makepanda.py
  27. 1 1
      panda/metalibs/panda/panda.cxx
  28. 2 2
      panda/src/audio/audioManager.h
  29. 1 1
      panda/src/audio/config_audio.cxx
  30. 2 2
      panda/src/audio/nullAudioManager.cxx
  31. 2 2
      panda/src/audio/nullAudioManager.h
  32. 1 1
      panda/src/audiotraits/config_fmodAudio.cxx
  33. 1 1
      panda/src/audiotraits/config_milesAudio.cxx
  34. 1 1
      panda/src/audiotraits/config_openalAudio.cxx
  35. 2 2
      panda/src/audiotraits/fmodAudioManager.cxx
  36. 2 2
      panda/src/audiotraits/fmodAudioManager.h
  37. 2 2
      panda/src/audiotraits/milesAudioManager.cxx
  38. 2 2
      panda/src/audiotraits/milesAudioManager.h
  39. 2 2
      panda/src/audiotraits/openalAudioManager.cxx
  40. 2 2
      panda/src/audiotraits/openalAudioManager.h
  41. 1 1
      panda/src/awesomium/config_awesomium.cxx
  42. 9 1
      panda/src/bullet/bulletBodyNode.cxx
  43. 2 2
      panda/src/bullet/bulletBodyNode.h
  44. 3 0
      panda/src/bullet/bulletBoxShape.cxx
  45. 2 0
      panda/src/bullet/bulletCapsuleShape.cxx
  46. 4 0
      panda/src/bullet/bulletCharacterControllerNode.cxx
  47. 4 0
      panda/src/bullet/bulletConeShape.cxx
  48. 2 0
      panda/src/bullet/bulletConeTwistConstraint.cxx
  49. 2 0
      panda/src/bullet/bulletConstraint.cxx
  50. 2 0
      panda/src/bullet/bulletConvexHullShape.cxx
  51. 1 0
      panda/src/bullet/bulletConvexHullShape.h
  52. 4 0
      panda/src/bullet/bulletConvexPointCloudShape.cxx
  53. 2 0
      panda/src/bullet/bulletCylinderShape.cxx
  54. 4 0
      panda/src/bullet/bulletDebugNode.cxx
  55. 5 0
      panda/src/bullet/bulletDebugNode.h
  56. 2 0
      panda/src/bullet/bulletGenericConstraint.cxx
  57. 2 0
      panda/src/bullet/bulletGhostNode.cxx
  58. 4 0
      panda/src/bullet/bulletHeightfieldShape.cxx
  59. 4 0
      panda/src/bullet/bulletHelper.cxx
  60. 2 0
      panda/src/bullet/bulletHelper.h
  61. 2 0
      panda/src/bullet/bulletHingeConstraint.cxx
  62. 2 0
      panda/src/bullet/bulletManifoldPoint.cxx
  63. 2 0
      panda/src/bullet/bulletMinkowskiSumShape.cxx
  64. 2 0
      panda/src/bullet/bulletMultiSphereShape.cxx
  65. 1 0
      panda/src/bullet/bulletMultiSphereShape.h
  66. 2 0
      panda/src/bullet/bulletPersistentManifold.cxx
  67. 2 0
      panda/src/bullet/bulletPlaneShape.cxx
  68. 4 0
      panda/src/bullet/bulletRigidBodyNode.cxx
  69. 2 0
      panda/src/bullet/bulletRotationalLimitMotor.cxx
  70. 3 0
      panda/src/bullet/bulletShape.cxx
  71. 1 1
      panda/src/bullet/bulletShape.h
  72. 2 0
      panda/src/bullet/bulletSliderConstraint.cxx
  73. 4 0
      panda/src/bullet/bulletSoftBodyConfig.cxx
  74. 2 0
      panda/src/bullet/bulletSoftBodyConfig.h
  75. 9 0
      panda/src/bullet/bulletSoftBodyMaterial.I
  76. 2 9
      panda/src/bullet/bulletSoftBodyMaterial.cxx
  77. 2 0
      panda/src/bullet/bulletSoftBodyMaterial.h
  78. 2 0
      panda/src/bullet/bulletSoftBodyNode.cxx
  79. 1 0
      panda/src/bullet/bulletSoftBodyNode.h
  80. 2 0
      panda/src/bullet/bulletSoftBodyShape.cxx
  81. 2 0
      panda/src/bullet/bulletSoftBodyWorldInfo.cxx
  82. 2 0
      panda/src/bullet/bulletSphereShape.cxx
  83. 2 0
      panda/src/bullet/bulletSphericalConstraint.cxx
  84. 2 0
      panda/src/bullet/bulletTranslationalLimitMotor.cxx
  85. 3 0
      panda/src/bullet/bulletTriangleMesh.cxx
  86. 4 0
      panda/src/bullet/bulletTriangleMeshShape.cxx
  87. 1 0
      panda/src/bullet/bulletTriangleMeshShape.h
  88. 3 0
      panda/src/bullet/bulletVehicle.cxx
  89. 2 0
      panda/src/bullet/bulletWheel.cxx
  90. 5 0
      panda/src/bullet/bulletWorld.cxx
  91. 2 0
      panda/src/bullet/bullet_utils.h
  92. 1 1
      panda/src/bullet/config_bullet.cxx
  93. 1 1
      panda/src/chan/config_chan.cxx
  94. 1 1
      panda/src/char/config_char.cxx
  95. 1 1
      panda/src/cocoadisplay/config_cocoadisplay.mm
  96. 1 1
      panda/src/collada/config_collada.cxx
  97. 1 1
      panda/src/collide/config_collide.cxx
  98. 1 1
      panda/src/cull/config_cull.cxx
  99. 1 1
      panda/src/device/config_device.cxx
  100. 1 1
      panda/src/dgraph/config_dgraph.cxx

+ 1 - 1
.travis.yml

@@ -43,7 +43,7 @@ install:
 script:
 script:
     - $PYTHONV makepanda/makepanda.py --everything --git-commit $TRAVIS_COMMIT $FLAGS --threads 4
     - $PYTHONV makepanda/makepanda.py --everything --git-commit $TRAVIS_COMMIT $FLAGS --threads 4
     - LD_LIBRARY_PATH=built/lib PYTHONPATH=built $PYTHONV makepanda/test_imports.py
     - LD_LIBRARY_PATH=built/lib PYTHONPATH=built $PYTHONV makepanda/test_imports.py
-    - LD_LIBRARY_PATH=built/lib PYTHONPATH=built $PYTHONV -m pytest tests
+    - LD_LIBRARY_PATH=built/lib PYTHONPATH=built $PYTHONV -m pytest -v tests
 notifications:
 notifications:
   irc:
   irc:
     channels:
     channels:

+ 1 - 1
direct/src/deadrec/config_deadrec.cxx

@@ -15,7 +15,7 @@
 
 
 #include "dconfig.h"
 #include "dconfig.h"
 
 
-#if !defined(CPPPARSER) && !defined(BUILDING_DIRECT_DEADREC)
+#if !defined(CPPPARSER) && !defined(LINK_ALL_STATIC) && !defined(BUILDING_DIRECT_DEADREC)
   #error Buildsystem error: BUILDING_DIRECT_DEADREC not defined
   #error Buildsystem error: BUILDING_DIRECT_DEADREC not defined
 #endif
 #endif
 
 

+ 1 - 1
direct/src/directd/directd.cxx

@@ -30,7 +30,7 @@
 
 
 #include "pset.h"
 #include "pset.h"
 
 
-#if !defined(CPPPARSER) && !defined(BUILDING_DIRECT_DIRECTD)
+#if !defined(CPPPARSER) && !defined(LINK_ALL_STATIC) && !defined(BUILDING_DIRECT_DIRECTD)
   #error Buildsystem error: BUILDING_DIRECT_DIRECTD not defined
   #error Buildsystem error: BUILDING_DIRECT_DIRECTD not defined
 #endif
 #endif
 
 

+ 1 - 1
direct/src/distributed/config_distributed.cxx

@@ -14,7 +14,7 @@
 #include "config_distributed.h"
 #include "config_distributed.h"
 #include "dconfig.h"
 #include "dconfig.h"
 
 
-#if !defined(CPPPARSER) && !defined(BUILDING_DIRECT_DISTRIBUTED)
+#if !defined(CPPPARSER) && !defined(LINK_ALL_STATIC) && !defined(BUILDING_DIRECT_DISTRIBUTED)
   #error Buildsystem error: BUILDING_DIRECT_DISTRIBUTED not defined
   #error Buildsystem error: BUILDING_DIRECT_DISTRIBUTED not defined
 #endif
 #endif
 
 

+ 24 - 3
direct/src/gui/DirectFrame.py

@@ -61,7 +61,14 @@ class DirectFrame(DirectGuiWidget):
     def destroy(self):
     def destroy(self):
         DirectGuiWidget.destroy(self)
         DirectGuiWidget.destroy(self)
 
 
-    def setText(self):
+    def clearText(self):
+        self['text'] = None
+        self.setText()
+
+    def setText(self, text=None):
+        if text is not None:
+            self['text'] = text
+
         # Determine if user passed in single string or a sequence
         # Determine if user passed in single string or a sequence
         if self['text'] == None:
         if self['text'] == None:
             textList = (None,) * self['numStates']
             textList = (None,) * self['numStates']
@@ -100,7 +107,14 @@ class DirectFrame(DirectGuiWidget):
                         sort = DGG.TEXT_SORT_INDEX,
                         sort = DGG.TEXT_SORT_INDEX,
                         )
                         )
 
 
-    def setGeom(self):
+    def clearGeom(self):
+        self['geom'] = None
+        self.setGeom()
+
+    def setGeom(self, geom=None):
+        if geom is not None:
+            self['geom'] = geom
+
         # Determine argument type
         # Determine argument type
         geom = self['geom']
         geom = self['geom']
 
 
@@ -142,7 +156,14 @@ class DirectFrame(DirectGuiWidget):
                         geom = geom, scale = 1,
                         geom = geom, scale = 1,
                         sort = DGG.GEOM_SORT_INDEX)
                         sort = DGG.GEOM_SORT_INDEX)
 
 
-    def setImage(self):
+    def clearImage(self):
+        self['image'] = None
+        self.setImage()
+
+    def setImage(self, image=None):
+        if image is not None:
+            self['image'] = image
+
         # Determine argument type
         # Determine argument type
         arg = self['image']
         arg = self['image']
         if arg == None:
         if arg == None:

+ 1 - 1
direct/src/interval/config_interval.cxx

@@ -29,7 +29,7 @@
 
 
 #include "dconfig.h"
 #include "dconfig.h"
 
 
-#if !defined(CPPPARSER) && !defined(BUILDING_DIRECT_INTERVAL)
+#if !defined(CPPPARSER) && !defined(LINK_ALL_STATIC) && !defined(BUILDING_DIRECT_INTERVAL)
   #error Buildsystem error: BUILDING_DIRECT_INTERVAL not defined
   #error Buildsystem error: BUILDING_DIRECT_INTERVAL not defined
 #endif
 #endif
 
 

+ 1 - 0
direct/src/leveleditor/ProtoPalette.py

@@ -3,6 +3,7 @@ Palette for Prototyping
 """
 """
 
 
 from .ProtoPaletteBase import *
 from .ProtoPaletteBase import *
+import os
 
 
 class ProtoPalette(ProtoPaletteBase):
 class ProtoPalette(ProtoPaletteBase):
     def __init__(self):
     def __init__(self):

+ 1 - 1
direct/src/motiontrail/config_motiontrail.cxx

@@ -14,7 +14,7 @@
 #include "config_motiontrail.h"
 #include "config_motiontrail.h"
 #include "dconfig.h"
 #include "dconfig.h"
 
 
-#if !defined(CPPPARSER) && !defined(BUILDING_DIRECT_MOTIONTRAIL)
+#if !defined(CPPPARSER) && !defined(LINK_ALL_STATIC) && !defined(BUILDING_DIRECT_MOTIONTRAIL)
   #error Buildsystem error: BUILDING_DIRECT_MOTIONTRAIL not defined
   #error Buildsystem error: BUILDING_DIRECT_MOTIONTRAIL not defined
 #endif
 #endif
 
 

+ 2 - 2
direct/src/showbase/Loader.py

@@ -934,8 +934,8 @@ class Loader(DirectObject):
         just as in loadModel(); otherwise, the loading happens before
         just as in loadModel(); otherwise, the loading happens before
         loadSound() returns."""
         loadSound() returns."""
 
 
-        if not isinstance(soundPath, (MovieAudio, tuple, list, set)):
-            # We were given a single sound pathname.
+        if not isinstance(soundPath, (tuple, list, set)):
+            # We were given a single sound pathname or a MovieAudio instance.
             soundList = [soundPath]
             soundList = [soundPath]
             gotList = False
             gotList = False
         else:
         else:

+ 1 - 1
direct/src/showbase/showBase.cxx

@@ -37,7 +37,7 @@ FILTERKEYS g_StartupFilterKeys = {sizeof(FILTERKEYS), 0};
 using std::max;
 using std::max;
 using std::min;
 using std::min;
 
 
-#if !defined(CPPPARSER) && !defined(BUILDING_DIRECT_SHOWBASE)
+#if !defined(CPPPARSER) && !defined(LINK_ALL_STATIC) && !defined(BUILDING_DIRECT_SHOWBASE)
   #error Buildsystem error: BUILDING_DIRECT_SHOWBASE not defined
   #error Buildsystem error: BUILDING_DIRECT_SHOWBASE not defined
 #endif
 #endif
 
 

+ 1 - 1
dtool/src/dconfig/config_dconfig.cxx

@@ -13,7 +13,7 @@
 
 
 #include "config_dconfig.h"
 #include "config_dconfig.h"
 
 
-#if !defined(CPPPARSER) && !defined(BUILDING_DTOOL_DCONFIG)
+#if !defined(CPPPARSER) && !defined(LINK_ALL_STATIC) && !defined(BUILDING_DTOOL_DCONFIG)
   #error Buildsystem error: BUILDING_DTOOL_DCONFIG not defined
   #error Buildsystem error: BUILDING_DTOOL_DCONFIG not defined
 #endif
 #endif
 
 

+ 3 - 0
dtool/src/dtoolbase/dtool_platform.h

@@ -63,6 +63,9 @@
 #define DTOOL_PLATFORM "android_i386"
 #define DTOOL_PLATFORM "android_i386"
 #endif
 #endif
 
 
+#elif defined(__aarch64__)
+#define DTOOL_PLATFORM "linux_aarch64"
+
 #elif defined(__x86_64)
 #elif defined(__x86_64)
 #define DTOOL_PLATFORM "linux_amd64"
 #define DTOOL_PLATFORM "linux_amd64"
 
 

+ 1 - 1
dtool/src/dtoolbase/dtoolbase.cxx

@@ -14,7 +14,7 @@
 #include "dtoolbase.h"
 #include "dtoolbase.h"
 #include "memoryHook.h"
 #include "memoryHook.h"
 
 
-#if !defined(CPPPARSER) && !defined(BUILDING_DTOOL_DTOOLBASE)
+#if !defined(CPPPARSER) && !defined(LINK_ALL_STATIC) && !defined(BUILDING_DTOOL_DTOOLBASE)
   #error Buildsystem error: BUILDING_DTOOL_DTOOLBASE not defined
   #error Buildsystem error: BUILDING_DTOOL_DTOOLBASE not defined
 #endif
 #endif
 
 

+ 49 - 16
dtool/src/dtoolbase/dtoolbase_cc.h

@@ -49,6 +49,8 @@
 // interrogate pass (CPPPARSER isn't defined), this maps to public.
 // interrogate pass (CPPPARSER isn't defined), this maps to public.
 #define PUBLISHED __published
 #define PUBLISHED __published
 
 
+#define PHAVE_ATOMIC 1
+
 typedef int ios_openmode;
 typedef int ios_openmode;
 typedef int ios_fmtflags;
 typedef int ios_fmtflags;
 typedef int ios_iostate;
 typedef int ios_iostate;
@@ -93,6 +95,23 @@ typedef std::ios::iostate ios_iostate;
 typedef std::ios::seekdir ios_seekdir;
 typedef std::ios::seekdir ios_seekdir;
 #endif
 #endif
 
 
+#ifdef _MSC_VER
+#define ALWAYS_INLINE __forceinline
+#elif defined(__GNUC__)
+#define ALWAYS_INLINE __attribute__((always_inline)) inline
+#else
+#define ALWAYS_INLINE inline
+#endif
+
+#ifdef FORCE_INLINING
+// If FORCE_INLINING is defined, we use the keyword __forceinline, which tells
+// MS VC++ to override its internal benefit heuristic and inline the fn if it
+// is technically possible to do so.
+#define INLINE ALWAYS_INLINE
+#else
+#define INLINE inline
+#endif
+
 // Apple has an outdated libstdc++.  Not all is lost, though, as we can fill
 // Apple has an outdated libstdc++.  Not all is lost, though, as we can fill
 // in some important missing functions.
 // in some important missing functions.
 #if defined(__GLIBCXX__) && __GLIBCXX__ <= 20070719
 #if defined(__GLIBCXX__) && __GLIBCXX__ <= 20070719
@@ -115,24 +134,38 @@ namespace std {
   }
   }
 
 
   template<class T> struct owner_less;
   template<class T> struct owner_less;
-};
-#endif
-
-#ifdef _MSC_VER
-#define ALWAYS_INLINE __forceinline
-#elif defined(__GNUC__)
-#define ALWAYS_INLINE __attribute__((always_inline)) inline
-#else
-#define ALWAYS_INLINE inline
-#endif
 
 
-#ifdef FORCE_INLINING
-// If FORCE_INLINING is defined, we use the keyword __forceinline, which tells
-// MS VC++ to override its internal benefit heuristic and inline the fn if it
-// is technically possible to do so.
-#define INLINE ALWAYS_INLINE
+  typedef enum memory_order {
+    memory_order_relaxed,
+    memory_order_consume,
+    memory_order_acquire,
+    memory_order_release,
+    memory_order_acq_rel,
+    memory_order_seq_cst,
+  } memory_order;
+
+  #define ATOMIC_FLAG_INIT { 0 }
+  class atomic_flag {
+    bool _flag;
+
+  public:
+    atomic_flag() noexcept = default;
+    ALWAYS_INLINE constexpr atomic_flag(bool flag) noexcept : _flag(flag) {}
+    atomic_flag(const atomic_flag &) = delete;
+    ~atomic_flag() noexcept = default;
+    atomic_flag &operator = (const atomic_flag&) = delete;
+
+    ALWAYS_INLINE bool test_and_set(memory_order order = memory_order_seq_cst) noexcept {
+      return __atomic_test_and_set(&_flag, order);
+    }
+    ALWAYS_INLINE void clear(memory_order order = memory_order_seq_cst) noexcept {
+      __atomic_clear(&_flag, order);
+    }
+  };
+};
 #else
 #else
-#define INLINE inline
+// Expect that we have access to the <atomic> header.
+#define PHAVE_ATOMIC 1
 #endif
 #endif
 
 
 // Determine the availability of C++11 features.
 // Determine the availability of C++11 features.

+ 2 - 9
dtool/src/dtoolbase/mutexSpinlockImpl.I

@@ -11,13 +11,6 @@
  * @date 2006-04-11
  * @date 2006-04-11
  */
  */
 
 
-/**
- *
- */
-constexpr MutexSpinlockImpl::
-MutexSpinlockImpl() : _lock(0) {
-}
-
 /**
 /**
  *
  *
  */
  */
@@ -33,7 +26,7 @@ lock() {
  */
  */
 INLINE bool MutexSpinlockImpl::
 INLINE bool MutexSpinlockImpl::
 try_lock() {
 try_lock() {
-  return (AtomicAdjust::compare_and_exchange(_lock, 0, 1) == 0);
+  return !_flag.test_and_set(std::memory_order_acquire);
 }
 }
 
 
 /**
 /**
@@ -41,5 +34,5 @@ try_lock() {
  */
  */
 INLINE void MutexSpinlockImpl::
 INLINE void MutexSpinlockImpl::
 unlock() {
 unlock() {
-  AtomicAdjust::set(_lock, 0);
+  _flag.clear(std::memory_order_release);
 }
 }

+ 10 - 1
dtool/src/dtoolbase/mutexSpinlockImpl.cxx

@@ -17,12 +17,21 @@
 
 
 #include "mutexSpinlockImpl.h"
 #include "mutexSpinlockImpl.h"
 
 
+#if defined(__i386__) || defined(__x86_64) || defined(_M_IX86) || defined(_M_X64)
+#include <emmintrin.h>
+#define PAUSE() _mm_pause()
+#else
+#define PAUSE()
+#endif
+
 /**
 /**
  *
  *
  */
  */
 void MutexSpinlockImpl::
 void MutexSpinlockImpl::
 do_lock() {
 do_lock() {
-  while (AtomicAdjust::compare_and_exchange(_lock, 0, 1) != 0) {
+  // Loop until we changed the flag from 0 to 1 (and it wasn't already 1).
+  while (_flag.test_and_set(std::memory_order_acquire)) {
+    PAUSE();
   }
   }
 }
 }
 
 

+ 5 - 3
dtool/src/dtoolbase/mutexSpinlockImpl.h

@@ -19,7 +19,9 @@
 
 
 #ifdef MUTEX_SPINLOCK
 #ifdef MUTEX_SPINLOCK
 
 
-#include "atomicAdjust.h"
+#ifdef PHAVE_ATOMIC
+#include <atomic>
+#endif
 
 
 /**
 /**
  * Uses a simple user-space spinlock to implement a mutex.  It is usually not
  * Uses a simple user-space spinlock to implement a mutex.  It is usually not
@@ -29,7 +31,7 @@
  */
  */
 class EXPCL_DTOOL_DTOOLBASE MutexSpinlockImpl {
 class EXPCL_DTOOL_DTOOLBASE MutexSpinlockImpl {
 public:
 public:
-  constexpr MutexSpinlockImpl();
+  constexpr MutexSpinlockImpl() noexcept = default;
   MutexSpinlockImpl(const MutexSpinlockImpl &copy) = delete;
   MutexSpinlockImpl(const MutexSpinlockImpl &copy) = delete;
 
 
   MutexSpinlockImpl &operator = (const MutexSpinlockImpl &copy) = delete;
   MutexSpinlockImpl &operator = (const MutexSpinlockImpl &copy) = delete;
@@ -42,7 +44,7 @@ public:
 private:
 private:
   void do_lock();
   void do_lock();
 
 
-  TVOLATILE AtomicAdjust::Integer _lock;
+  std::atomic_flag _flag = ATOMIC_FLAG_INIT;
 };
 };
 
 
 #include "mutexSpinlockImpl.I"
 #include "mutexSpinlockImpl.I"

+ 1 - 1
dtool/src/dtoolbase/stl_compares.I

@@ -169,7 +169,7 @@ add_hash(size_t hash, const Key &key) {
 #ifdef _DEBUG
 #ifdef _DEBUG
   // We assume that the sequence is laid out sequentially in memory.
   // We assume that the sequence is laid out sequentially in memory.
   if (key.size() > 0) {
   if (key.size() > 0) {
-    assert(&key[key.size() - 1] - &key[0] == key.size() - 1);
+    assert(&key[key.size() - 1] - &key[0] == (ptrdiff_t)key.size() - 1);
   }
   }
 #endif
 #endif
   size_t num_bytes = (key.size() * sizeof(key[0]));
   size_t num_bytes = (key.size() * sizeof(key[0]));

+ 1 - 1
dtool/src/dtoolutil/config_dtoolutil.cxx

@@ -16,7 +16,7 @@
 #include "filename.h"
 #include "filename.h"
 #include "pandaSystem.h"
 #include "pandaSystem.h"
 
 
-#if !defined(CPPPARSER) && !defined(BUILDING_DTOOL_DTOOLUTIL)
+#if !defined(CPPPARSER) && !defined(LINK_ALL_STATIC) && !defined(BUILDING_DTOOL_DTOOLUTIL)
   #error Buildsystem error: BUILDING_DTOOL_DCTOOLUTIL not defined
   #error Buildsystem error: BUILDING_DTOOL_DCTOOLUTIL not defined
 #endif
 #endif
 
 

+ 2 - 3
dtool/src/interrogate/functionRemap.cxx

@@ -254,14 +254,13 @@ call_function(ostream &out, int indent_level, bool convert_result,
                                                            &parser);
                                                            &parser);
         out << " = " << call << ";\n";
         out << " = " << call << ";\n";
 
 
-        // MOVE() expands to std::move() when we are compiling with a compiler
-        // that supports rvalue references.  It basically turns an lvalue into
+        // Use of the C++11 std::move function basically turns an lvalue into
         // an rvalue, allowing a move constructor to be called instead of a
         // an rvalue, allowing a move constructor to be called instead of a
         // copy constructor (since we won't be using the return value any
         // copy constructor (since we won't be using the return value any
         // more), which is usually more efficient if it exists.  If it
         // more), which is usually more efficient if it exists.  If it
         // doesn't, it shouldn't do any harm.
         // doesn't, it shouldn't do any harm.
         string new_str =
         string new_str =
-          _return_type->prepare_return_expr(out, indent_level, "MOVE(result)");
+          _return_type->prepare_return_expr(out, indent_level, "std::move(result)");
         return_expr = _return_type->get_return_expr(new_str);
         return_expr = _return_type->get_return_expr(new_str);
 
 
       } else {
       } else {

+ 2 - 2
dtool/src/interrogate/interfaceMakerPythonNative.cxx

@@ -5491,7 +5491,7 @@ write_function_instance(ostream &out, FunctionRemap *remap,
 
 
           // Use move constructor when available for functions that take an
           // Use move constructor when available for functions that take an
           // actual PointerTo.  This eliminates an unref()ref() pair.
           // actual PointerTo.  This eliminates an unref()ref() pair.
-          pexpr_string = "MOVE(" + param_name + "_this)";
+          pexpr_string = "std::move(" + param_name + "_this)";
 
 
         } else {
         } else {
           // This is a move-assignable type, such as TypeHandle or LVecBase4.
           // This is a move-assignable type, such as TypeHandle or LVecBase4.
@@ -6156,7 +6156,7 @@ write_function_instance(ostream &out, FunctionRemap *remap,
       indent(out, indent_level) << "return true;\n";
       indent(out, indent_level) << "return true;\n";
 
 
     } else if (TypeManager::is_reference_count(remap->_cpptype)) {
     } else if (TypeManager::is_reference_count(remap->_cpptype)) {
-      indent(out, indent_level) << "coerced = MOVE(" << return_expr << ");\n";
+      indent(out, indent_level) << "coerced = std::move(" << return_expr << ");\n";
       indent(out, indent_level) << "return true;\n";
       indent(out, indent_level) << "return true;\n";
 
 
     } else {
     } else {

+ 1 - 1
dtool/src/interrogate/interrogate.cxx

@@ -516,7 +516,7 @@ main(int argc, char **argv) {
       cerr << "Error parsing file: '" << argv[i] << "'\n";
       cerr << "Error parsing file: '" << argv[i] << "'\n";
       exit(1);
       exit(1);
     }
     }
-    builder.add_source_file(filename);
+    builder.add_source_file(filename.to_os_generic());
   }
   }
 
 
   // Now that we've parsed all the source code, change the way things are
   // Now that we've parsed all the source code, change the way things are

+ 1 - 1
dtool/src/interrogate/parameterRemapConcreteToPointer.cxx

@@ -40,7 +40,7 @@ pass_parameter(std::ostream &out, const std::string &variable_name) {
   if (variable_name.size() > 1 && variable_name[0] == '&') {
   if (variable_name.size() > 1 && variable_name[0] == '&') {
     // Prevent generating something like *&param Also, if this is really some
     // Prevent generating something like *&param Also, if this is really some
     // local type, we can presumably just move it?
     // local type, we can presumably just move it?
-    out << "MOVE(" << variable_name.substr(1) << ")";
+    out << "std::move(" << variable_name.substr(1) << ")";
   } else {
   } else {
     out << "*" << variable_name;
     out << "*" << variable_name;
   }
   }

+ 1 - 1
dtool/src/interrogate/parameterRemapReferenceToPointer.cxx

@@ -42,7 +42,7 @@ pass_parameter(std::ostream &out, const std::string &variable_name) {
     // this parameter is an rvalue reference, but CPPParser can't know that,
     // this parameter is an rvalue reference, but CPPParser can't know that,
     // and it might have an overload that takes an rvalue reference.  It
     // and it might have an overload that takes an rvalue reference.  It
     // shouldn't hurt either way.
     // shouldn't hurt either way.
-    out << "MOVE(" << variable_name.substr(1) << ")";
+    out << "std::move(" << variable_name.substr(1) << ")";
   } else {
   } else {
     out << "*" << variable_name;
     out << "*" << variable_name;
   }
   }

+ 1 - 1
dtool/src/prc/config_prc.cxx

@@ -16,7 +16,7 @@
 #include "configVariableEnum.h"
 #include "configVariableEnum.h"
 #include "pandaFileStreamBuf.h"
 #include "pandaFileStreamBuf.h"
 
 
-#if !defined(CPPPARSER) && !defined(BUILDING_DTOOL_PRC)
+#if !defined(CPPPARSER) && !defined(LINK_ALL_STATIC) && !defined(BUILDING_DTOOL_PRC)
   #error Buildsystem error: BUILDING_DTOOL_PRC not defined
   #error Buildsystem error: BUILDING_DTOOL_PRC not defined
 #endif
 #endif
 
 

+ 1 - 0
makepanda/makepanda.py

@@ -2335,6 +2335,7 @@ DTOOL_CONFIG=[
     ("OS_SIMPLE_THREADS",              '1',                      '1'),
     ("OS_SIMPLE_THREADS",              '1',                      '1'),
     ("DEBUG_THREADS",                  'UNDEF',                  'UNDEF'),
     ("DEBUG_THREADS",                  'UNDEF',                  'UNDEF'),
     ("HAVE_POSIX_THREADS",             'UNDEF',                  '1'),
     ("HAVE_POSIX_THREADS",             'UNDEF',                  '1'),
+    ("MUTEX_SPINLOCK",                 'UNDEF',                  'UNDEF'),
     ("HAVE_AUDIO",                     '1',                      '1'),
     ("HAVE_AUDIO",                     '1',                      '1'),
     ("NOTIFY_DEBUG",                   'UNDEF',                  'UNDEF'),
     ("NOTIFY_DEBUG",                   'UNDEF',                  'UNDEF'),
     ("DO_PSTATS",                      'UNDEF',                  'UNDEF'),
     ("DO_PSTATS",                      'UNDEF',                  'UNDEF'),

+ 1 - 1
panda/metalibs/panda/panda.cxx

@@ -14,7 +14,7 @@
 #include "config_pstatclient.h"
 #include "config_pstatclient.h"
 #endif
 #endif
 
 
-#if !defined(CPPPARSER) && !defined(BUILDING_LIBPANDA)
+#if !defined(CPPPARSER) && !defined(LINK_ALL_STATIC) && !defined(BUILDING_LIBPANDA)
   #error Buildsystem error: BUILDING_LIBPANDA not defined
   #error Buildsystem error: BUILDING_LIBPANDA not defined
 #endif
 #endif
 
 

+ 2 - 2
panda/src/audio/audioManager.h

@@ -86,7 +86,7 @@ PUBLISHED:
   virtual bool is_valid() = 0;
   virtual bool is_valid() = 0;
 
 
   // Get a sound:
   // Get a sound:
-  virtual PT(AudioSound) get_sound(const std::string& file_name, bool positional = false, int mode=SM_heuristic) = 0;
+  virtual PT(AudioSound) get_sound(const Filename &file_name, bool positional = false, int mode=SM_heuristic) = 0;
   virtual PT(AudioSound) get_sound(MovieAudio *source, bool positional = false, int mode=SM_heuristic) = 0;
   virtual PT(AudioSound) get_sound(MovieAudio *source, bool positional = false, int mode=SM_heuristic) = 0;
 
 
   PT(AudioSound) get_null_sound();
   PT(AudioSound) get_null_sound();
@@ -95,7 +95,7 @@ PUBLISHED:
   // doesn't break any connection between AudioSounds that have already given
   // doesn't break any connection between AudioSounds that have already given
   // by get_sound() from this manager.  It's only affecting whether the
   // by get_sound() from this manager.  It's only affecting whether the
   // AudioManager keeps a copy of the sound in its poolcache.
   // AudioManager keeps a copy of the sound in its poolcache.
-  virtual void uncache_sound(const std::string& file_name) = 0;
+  virtual void uncache_sound(const Filename &file_name) = 0;
   virtual void clear_cache() = 0;
   virtual void clear_cache() = 0;
   virtual void set_cache_limit(unsigned int count) = 0;
   virtual void set_cache_limit(unsigned int count) = 0;
   virtual unsigned int get_cache_limit() const = 0;
   virtual unsigned int get_cache_limit() const = 0;

+ 1 - 1
panda/src/audio/config_audio.cxx

@@ -21,7 +21,7 @@
 #include "nullAudioSound.h"
 #include "nullAudioSound.h"
 #include "string_utils.h"
 #include "string_utils.h"
 
 
-#if !defined(CPPPARSER) && !defined(BUILDING_PANDA_AUDIO)
+#if !defined(CPPPARSER) && !defined(LINK_ALL_STATIC) && !defined(BUILDING_PANDA_AUDIO)
   #error Buildsystem error: BUILDING_PANDA_AUDIO not defined
   #error Buildsystem error: BUILDING_PANDA_AUDIO not defined
 #endif
 #endif
 
 

+ 2 - 2
panda/src/audio/nullAudioManager.cxx

@@ -49,7 +49,7 @@ is_valid() {
  *
  *
  */
  */
 PT(AudioSound) NullAudioManager::
 PT(AudioSound) NullAudioManager::
-get_sound(const std::string&, bool positional, int mode) {
+get_sound(const Filename &, bool positional, int mode) {
   return get_null_sound();
   return get_null_sound();
 }
 }
 
 
@@ -65,7 +65,7 @@ get_sound(MovieAudio *sound, bool positional, int mode) {
  *
  *
  */
  */
 void NullAudioManager::
 void NullAudioManager::
-uncache_sound(const std::string&) {
+uncache_sound(const Filename &) {
   // intentionally blank.
   // intentionally blank.
 }
 }
 
 

+ 2 - 2
panda/src/audio/nullAudioManager.h

@@ -29,9 +29,9 @@ public:
 
 
   virtual bool is_valid();
   virtual bool is_valid();
 
 
-  virtual PT(AudioSound) get_sound(const std::string&, bool positional = false, int mode=SM_heuristic);
+  virtual PT(AudioSound) get_sound(const Filename &, bool positional = false, int mode=SM_heuristic);
   virtual PT(AudioSound) get_sound(MovieAudio *sound, bool positional = false, int mode=SM_heuristic);
   virtual PT(AudioSound) get_sound(MovieAudio *sound, bool positional = false, int mode=SM_heuristic);
-  virtual void uncache_sound(const std::string&);
+  virtual void uncache_sound(const Filename &);
   virtual void clear_cache();
   virtual void clear_cache();
   virtual void set_cache_limit(unsigned int);
   virtual void set_cache_limit(unsigned int);
   virtual unsigned int get_cache_limit() const;
   virtual unsigned int get_cache_limit() const;

+ 1 - 1
panda/src/audiotraits/config_fmodAudio.cxx

@@ -19,7 +19,7 @@
 #include "pandaSystem.h"
 #include "pandaSystem.h"
 #include "dconfig.h"
 #include "dconfig.h"
 
 
-#if !defined(CPPPARSER) && !defined(BUILDING_FMOD_AUDIO)
+#if !defined(CPPPARSER) && !defined(LINK_ALL_STATIC) && !defined(BUILDING_FMOD_AUDIO)
   #error Buildsystem error: BUILDING_FMOD_AUDIO not defined
   #error Buildsystem error: BUILDING_FMOD_AUDIO not defined
 #endif
 #endif
 
 

+ 1 - 1
panda/src/audiotraits/config_milesAudio.cxx

@@ -22,7 +22,7 @@
 #include "pandaSystem.h"
 #include "pandaSystem.h"
 #include "dconfig.h"
 #include "dconfig.h"
 
 
-#if !defined(CPPPARSER) && !defined(BUILDING_MILES_AUDIO)
+#if !defined(CPPPARSER) && !defined(LINK_ALL_STATIC) && !defined(BUILDING_MILES_AUDIO)
   #error Buildsystem error: BUILDING_MILES_AUDIO not defined
   #error Buildsystem error: BUILDING_MILES_AUDIO not defined
 #endif
 #endif
 
 

+ 1 - 1
panda/src/audiotraits/config_openalAudio.cxx

@@ -18,7 +18,7 @@
 #include "pandaSystem.h"
 #include "pandaSystem.h"
 #include "dconfig.h"
 #include "dconfig.h"
 
 
-#if !defined(CPPPARSER) && !defined(BUILDING_OPENAL_AUDIO)
+#if !defined(CPPPARSER) && !defined(LINK_ALL_STATIC) && !defined(BUILDING_OPENAL_AUDIO)
   #error Buildsystem error: BUILDING_OPENAL_AUDIO not defined
   #error Buildsystem error: BUILDING_OPENAL_AUDIO not defined
 #endif
 #endif
 
 

+ 2 - 2
panda/src/audiotraits/fmodAudioManager.cxx

@@ -409,7 +409,7 @@ configure_filters(FilterProperties *config) {
  * This is what creates a sound instance.
  * This is what creates a sound instance.
  */
  */
 PT(AudioSound) FmodAudioManager::
 PT(AudioSound) FmodAudioManager::
-get_sound(const std::string &file_name, bool positional, int) {
+get_sound(const Filename &file_name, bool positional, int) {
   ReMutexHolder holder(_lock);
   ReMutexHolder holder(_lock);
   // Needed so People use Panda's Generic UNIX Style Paths for Filename.
   // Needed so People use Panda's Generic UNIX Style Paths for Filename.
   // path.to_os_specific() converts it back to the proper OS version later on.
   // path.to_os_specific() converts it back to the proper OS version later on.
@@ -772,7 +772,7 @@ reduce_sounds_playing_to(unsigned int count) {
  * NOT USED FOR FMOD-EX!!! Clears a sound out of the sound cache.
  * NOT USED FOR FMOD-EX!!! Clears a sound out of the sound cache.
  */
  */
 void FmodAudioManager::
 void FmodAudioManager::
-uncache_sound(const std::string& file_name) {
+uncache_sound(const Filename &file_name) {
   audio_debug("FmodAudioManager::uncache_sound(\""<<file_name<<"\")");
   audio_debug("FmodAudioManager::uncache_sound(\""<<file_name<<"\")");
 
 
 }
 }

+ 2 - 2
panda/src/audiotraits/fmodAudioManager.h

@@ -88,7 +88,7 @@ public:
 
 
   virtual bool is_valid();
   virtual bool is_valid();
 
 
-  virtual PT(AudioSound) get_sound(const std::string&, bool positional = false, int mode=SM_heuristic);
+  virtual PT(AudioSound) get_sound(const Filename &, bool positional = false, int mode=SM_heuristic);
   virtual PT(AudioSound) get_sound(MovieAudio *,  bool positional = false, int mode=SM_heuristic);
   virtual PT(AudioSound) get_sound(MovieAudio *,  bool positional = false, int mode=SM_heuristic);
 
 
   virtual int get_speaker_setup();
   virtual int get_speaker_setup();
@@ -146,7 +146,7 @@ public:
   virtual void set_concurrent_sound_limit(unsigned int limit = 0);
   virtual void set_concurrent_sound_limit(unsigned int limit = 0);
   virtual unsigned int get_concurrent_sound_limit() const;
   virtual unsigned int get_concurrent_sound_limit() const;
   virtual void reduce_sounds_playing_to(unsigned int count);
   virtual void reduce_sounds_playing_to(unsigned int count);
-  virtual void uncache_sound(const std::string&);
+  virtual void uncache_sound(const Filename &);
   virtual void clear_cache();
   virtual void clear_cache();
   virtual void set_cache_limit(unsigned int count);
   virtual void set_cache_limit(unsigned int count);
   virtual unsigned int get_cache_limit() const;
   virtual unsigned int get_cache_limit() const;

+ 2 - 2
panda/src/audiotraits/milesAudioManager.cxx

@@ -122,7 +122,7 @@ is_valid() {
  *
  *
  */
  */
 PT(AudioSound) MilesAudioManager::
 PT(AudioSound) MilesAudioManager::
-get_sound(const string &file_name, bool, int) {
+get_sound(const Filename &file_name, bool, int) {
   LightReMutexHolder holder(_lock);
   LightReMutexHolder holder(_lock);
   audio_debug("MilesAudioManager::get_sound(file_name=\""<<file_name<<"\")");
   audio_debug("MilesAudioManager::get_sound(file_name=\""<<file_name<<"\")");
 
 
@@ -218,7 +218,7 @@ get_sound(MovieAudio *sound, bool, int) {
  *
  *
  */
  */
 void MilesAudioManager::
 void MilesAudioManager::
-uncache_sound(const string &file_name) {
+uncache_sound(const Filename &file_name) {
   audio_debug("MilesAudioManager::uncache_sound(file_name=\""
   audio_debug("MilesAudioManager::uncache_sound(file_name=\""
       <<file_name<<"\")");
       <<file_name<<"\")");
   LightReMutexHolder holder(_lock);
   LightReMutexHolder holder(_lock);

+ 2 - 2
panda/src/audiotraits/milesAudioManager.h

@@ -43,9 +43,9 @@ public:
 
 
   virtual bool is_valid();
   virtual bool is_valid();
 
 
-  virtual PT(AudioSound) get_sound(const std::string &file_name, bool positional = false, int mode=SM_heuristic);
+  virtual PT(AudioSound) get_sound(const Filename &file_name, bool positional = false, int mode=SM_heuristic);
   virtual PT(AudioSound) get_sound(MovieAudio *sound, bool positional = false, int mode=SM_heuristic);
   virtual PT(AudioSound) get_sound(MovieAudio *sound, bool positional = false, int mode=SM_heuristic);
-  virtual void uncache_sound(const std::string &file_name);
+  virtual void uncache_sound(const Filename &file_name);
   virtual void clear_cache();
   virtual void clear_cache();
   virtual void set_cache_limit(unsigned int count);
   virtual void set_cache_limit(unsigned int count);
   virtual unsigned int get_cache_limit() const;
   virtual unsigned int get_cache_limit() const;

+ 2 - 2
panda/src/audiotraits/openalAudioManager.cxx

@@ -489,7 +489,7 @@ get_sound(MovieAudio *sound, bool positional, int mode) {
  * This is what creates a sound instance.
  * This is what creates a sound instance.
  */
  */
 PT(AudioSound) OpenALAudioManager::
 PT(AudioSound) OpenALAudioManager::
-get_sound(const string &file_name, bool positional, int mode) {
+get_sound(const Filename &file_name, bool positional, int mode) {
   ReMutexHolder holder(_lock);
   ReMutexHolder holder(_lock);
   if(!is_valid()) {
   if(!is_valid()) {
     return get_null_sound();
     return get_null_sound();
@@ -525,7 +525,7 @@ get_sound(const string &file_name, bool positional, int mode) {
  * use, then the sound cannot be deleted, and this function has no effect.
  * use, then the sound cannot be deleted, and this function has no effect.
  */
  */
 void OpenALAudioManager::
 void OpenALAudioManager::
-uncache_sound(const string& file_name) {
+uncache_sound(const Filename &file_name) {
   ReMutexHolder holder(_lock);
   ReMutexHolder holder(_lock);
   nassertv(is_valid());
   nassertv(is_valid());
   Filename path = file_name;
   Filename path = file_name;

+ 2 - 2
panda/src/audiotraits/openalAudioManager.h

@@ -51,10 +51,10 @@ class EXPCL_OPENAL_AUDIO OpenALAudioManager : public AudioManager {
 
 
   virtual bool is_valid();
   virtual bool is_valid();
 
 
-  virtual PT(AudioSound) get_sound(const std::string&,     bool positional = false, int mode=SM_heuristic);
+  virtual PT(AudioSound) get_sound(const Filename &, bool positional = false, int mode=SM_heuristic);
   virtual PT(AudioSound) get_sound(MovieAudio *sound, bool positional = false, int mode=SM_heuristic);
   virtual PT(AudioSound) get_sound(MovieAudio *sound, bool positional = false, int mode=SM_heuristic);
 
 
-  virtual void uncache_sound(const std::string&);
+  virtual void uncache_sound(const Filename &);
   virtual void clear_cache();
   virtual void clear_cache();
   virtual void set_cache_limit(unsigned int count);
   virtual void set_cache_limit(unsigned int count);
   virtual unsigned int get_cache_limit() const;
   virtual unsigned int get_cache_limit() const;

+ 1 - 1
panda/src/awesomium/config_awesomium.cxx

@@ -18,7 +18,7 @@
 #include "dconfig.h"
 #include "dconfig.h"
 
 
 
 
-#if !defined(CPPPARSER) && !defined(BUILDING_PANDAAWESOMIUM)
+#if !defined(CPPPARSER) && !defined(LINK_ALL_STATIC) && !defined(BUILDING_PANDAAWESOMIUM)
   #error Buildsystem error: BUILDING_PANDAAWESOMIUM not defined
   #error Buildsystem error: BUILDING_PANDAAWESOMIUM not defined
 #endif
 #endif
 
 

+ 9 - 1
panda/src/bullet/bulletBodyNode.cxx

@@ -12,9 +12,17 @@
  */
  */
 
 
 #include "bulletBodyNode.h"
 #include "bulletBodyNode.h"
+
+#include "config_bullet.h"
+
 #include "bulletShape.h"
 #include "bulletShape.h"
-#include "bulletWorld.h"
+#include "bulletBoxShape.h"
+#include "bulletCapsuleShape.h"
+#include "bulletPlaneShape.h"
+#include "bulletSphereShape.h"
+#include "bulletTriangleMeshShape.h"
 #include "bulletTriangleMesh.h"
 #include "bulletTriangleMesh.h"
+#include "bulletWorld.h"
 
 
 #include "collisionBox.h"
 #include "collisionBox.h"
 #include "collisionPlane.h"
 #include "collisionPlane.h"

+ 2 - 2
panda/src/bullet/bulletBodyNode.h

@@ -16,6 +16,8 @@
 
 
 #include "pandabase.h"
 #include "pandabase.h"
 
 
+#include "bulletShape.h"
+
 #include "bullet_includes.h"
 #include "bullet_includes.h"
 #include "bullet_utils.h"
 #include "bullet_utils.h"
 
 
@@ -25,8 +27,6 @@
 #include "transformState.h"
 #include "transformState.h"
 #include "boundingSphere.h"
 #include "boundingSphere.h"
 
 
-class BulletShape;
-
 /**
 /**
  *
  *
  */
  */

+ 3 - 0
panda/src/bullet/bulletBoxShape.cxx

@@ -12,6 +12,9 @@
  */
  */
 
 
 #include "bulletBoxShape.h"
 #include "bulletBoxShape.h"
+
+#include "bulletWorld.h"
+
 #include "bullet_utils.h"
 #include "bullet_utils.h"
 
 
 TypeHandle BulletBoxShape::_type_handle;
 TypeHandle BulletBoxShape::_type_handle;

+ 2 - 0
panda/src/bullet/bulletCapsuleShape.cxx

@@ -13,6 +13,8 @@
 
 
 #include "bulletCapsuleShape.h"
 #include "bulletCapsuleShape.h"
 
 
+#include "config_bullet.h"
+
 TypeHandle BulletCapsuleShape::_type_handle;
 TypeHandle BulletCapsuleShape::_type_handle;
 
 
 /**
 /**

+ 4 - 0
panda/src/bullet/bulletCharacterControllerNode.cxx

@@ -13,6 +13,10 @@
 
 
 #include "bulletCharacterControllerNode.h"
 #include "bulletCharacterControllerNode.h"
 
 
+#include "config_bullet.h"
+
+#include "bulletWorld.h"
+
 #if BT_BULLET_VERSION >= 285
 #if BT_BULLET_VERSION >= 285
 static const btVector3 up_vectors[3] = {btVector3(1.0f, 0.0f, 0.0f), btVector3(0.0f, 1.0f, 0.0f), btVector3(0.0f, 0.0f, 1.0f)};
 static const btVector3 up_vectors[3] = {btVector3(1.0f, 0.0f, 0.0f), btVector3(0.0f, 1.0f, 0.0f), btVector3(0.0f, 0.0f, 1.0f)};
 #endif
 #endif

+ 4 - 0
panda/src/bullet/bulletConeShape.cxx

@@ -13,6 +13,10 @@
 
 
 #include "bulletConeShape.h"
 #include "bulletConeShape.h"
 
 
+#include "config_bullet.h"
+
+#include "bulletWorld.h"
+
 TypeHandle BulletConeShape::_type_handle;
 TypeHandle BulletConeShape::_type_handle;
 
 
 /**
 /**

+ 2 - 0
panda/src/bullet/bulletConeTwistConstraint.cxx

@@ -12,7 +12,9 @@
  */
  */
 
 
 #include "bulletConeTwistConstraint.h"
 #include "bulletConeTwistConstraint.h"
+
 #include "bulletRigidBodyNode.h"
 #include "bulletRigidBodyNode.h"
+#include "bulletWorld.h"
 
 
 #include "deg_2_rad.h"
 #include "deg_2_rad.h"
 
 

+ 2 - 0
panda/src/bullet/bulletConstraint.cxx

@@ -12,7 +12,9 @@
  */
  */
 
 
 #include "bulletConstraint.h"
 #include "bulletConstraint.h"
+
 #include "bulletRigidBodyNode.h"
 #include "bulletRigidBodyNode.h"
+#include "bulletShape.h"
 
 
 TypeHandle BulletConstraint::_type_handle;
 TypeHandle BulletConstraint::_type_handle;
 
 

+ 2 - 0
panda/src/bullet/bulletConvexHullShape.cxx

@@ -13,6 +13,8 @@
 
 
 #include "bulletConvexHullShape.h"
 #include "bulletConvexHullShape.h"
 
 
+#include "bulletWorld.h"
+
 #include "nodePathCollection.h"
 #include "nodePathCollection.h"
 #include "geomNode.h"
 #include "geomNode.h"
 #include "geomVertexReader.h"
 #include "geomVertexReader.h"

+ 1 - 0
panda/src/bullet/bulletConvexHullShape.h

@@ -22,6 +22,7 @@
 #include "luse.h"
 #include "luse.h"
 #include "geom.h"
 #include "geom.h"
 #include "pta_LVecBase3.h"
 #include "pta_LVecBase3.h"
+#include "transformState.h"
 
 
 /**
 /**
  *
  *

+ 4 - 0
panda/src/bullet/bulletConvexPointCloudShape.cxx

@@ -13,6 +13,10 @@
 
 
 #include "bulletConvexPointCloudShape.h"
 #include "bulletConvexPointCloudShape.h"
 
 
+#include "bulletWorld.h"
+
+#include "bullet_utils.h"
+
 #include "geomVertexReader.h"
 #include "geomVertexReader.h"
 
 
 TypeHandle BulletConvexPointCloudShape::_type_handle;
 TypeHandle BulletConvexPointCloudShape::_type_handle;

+ 2 - 0
panda/src/bullet/bulletCylinderShape.cxx

@@ -13,6 +13,8 @@
 
 
 #include "bulletCylinderShape.h"
 #include "bulletCylinderShape.h"
 
 
+#include "config_bullet.h"
+
 using std::endl;
 using std::endl;
 
 
 TypeHandle BulletCylinderShape::_type_handle;
 TypeHandle BulletCylinderShape::_type_handle;

+ 4 - 0
panda/src/bullet/bulletDebugNode.cxx

@@ -13,6 +13,10 @@
 
 
 #include "bulletDebugNode.h"
 #include "bulletDebugNode.h"
 
 
+#include "config_bullet.h"
+
+#include "bulletWorld.h"
+
 #include "cullHandler.h"
 #include "cullHandler.h"
 #include "cullTraverser.h"
 #include "cullTraverser.h"
 #include "cullableObject.h"
 #include "cullableObject.h"

+ 5 - 0
panda/src/bullet/bulletDebugNode.h

@@ -16,8 +16,13 @@
 
 
 #include "pandabase.h"
 #include "pandabase.h"
 
 
+#include "pandaNode.h"
+
 #include "bullet_includes.h"
 #include "bullet_includes.h"
 
 
+class CullTraverser;
+class CullTraverserData;
+
 /**
 /**
  *
  *
  */
  */

+ 2 - 0
panda/src/bullet/bulletGenericConstraint.cxx

@@ -12,7 +12,9 @@
  */
  */
 
 
 #include "bulletGenericConstraint.h"
 #include "bulletGenericConstraint.h"
+
 #include "bulletRigidBodyNode.h"
 #include "bulletRigidBodyNode.h"
+#include "bulletWorld.h"
 
 
 TypeHandle BulletGenericConstraint::_type_handle;
 TypeHandle BulletGenericConstraint::_type_handle;
 
 

+ 2 - 0
panda/src/bullet/bulletGhostNode.cxx

@@ -12,7 +12,9 @@
  */
  */
 
 
 #include "bulletGhostNode.h"
 #include "bulletGhostNode.h"
+
 #include "bulletShape.h"
 #include "bulletShape.h"
+#include "bulletWorld.h"
 
 
 TypeHandle BulletGhostNode::_type_handle;
 TypeHandle BulletGhostNode::_type_handle;
 
 

+ 4 - 0
panda/src/bullet/bulletHeightfieldShape.cxx

@@ -13,6 +13,10 @@
 
 
 #include "bulletHeightfieldShape.h"
 #include "bulletHeightfieldShape.h"
 
 
+#include "config_bullet.h"
+
+#include "bulletWorld.h"
+
 TypeHandle BulletHeightfieldShape::_type_handle;
 TypeHandle BulletHeightfieldShape::_type_handle;
 
 
 /**
 /**

+ 4 - 0
panda/src/bullet/bulletHelper.cxx

@@ -12,13 +12,17 @@
  */
  */
 
 
 #include "bulletHelper.h"
 #include "bulletHelper.h"
+
 #include "bulletRigidBodyNode.h"
 #include "bulletRigidBodyNode.h"
+#include "bulletSoftBodyNode.h"
 #include "bulletGhostNode.h"
 #include "bulletGhostNode.h"
 
 
 #include "geomLines.h"
 #include "geomLines.h"
 #include "geomTriangles.h"
 #include "geomTriangles.h"
 #include "geomVertexRewriter.h"
 #include "geomVertexRewriter.h"
 
 
+#include "bullet_utils.h"
+
 PT(InternalName) BulletHelper::_sb_index;
 PT(InternalName) BulletHelper::_sb_index;
 PT(InternalName) BulletHelper::_sb_flip;
 PT(InternalName) BulletHelper::_sb_flip;
 
 

+ 2 - 0
panda/src/bullet/bulletHelper.h

@@ -23,6 +23,8 @@
 #include "nodePath.h"
 #include "nodePath.h"
 #include "nodePathCollection.h"
 #include "nodePathCollection.h"
 
 
+class BulletSoftBodyNode;
+
 /**
 /**
  *
  *
  */
  */

+ 2 - 0
panda/src/bullet/bulletHingeConstraint.cxx

@@ -12,7 +12,9 @@
  */
  */
 
 
 #include "bulletHingeConstraint.h"
 #include "bulletHingeConstraint.h"
+
 #include "bulletRigidBodyNode.h"
 #include "bulletRigidBodyNode.h"
+#include "bulletWorld.h"
 
 
 #include "deg_2_rad.h"
 #include "deg_2_rad.h"
 
 

+ 2 - 0
panda/src/bullet/bulletManifoldPoint.cxx

@@ -13,6 +13,8 @@
 
 
 #include "bulletManifoldPoint.h"
 #include "bulletManifoldPoint.h"
 
 
+#include "bulletWorld.h"
+
 /**
 /**
  *
  *
  */
  */

+ 2 - 0
panda/src/bullet/bulletMinkowskiSumShape.cxx

@@ -13,6 +13,8 @@
 
 
 #include "bulletMinkowskiSumShape.h"
 #include "bulletMinkowskiSumShape.h"
 
 
+#include "bulletWorld.h"
+
 TypeHandle BulletMinkowskiSumShape::_type_handle;
 TypeHandle BulletMinkowskiSumShape::_type_handle;
 
 
 /**
 /**

+ 2 - 0
panda/src/bullet/bulletMultiSphereShape.cxx

@@ -13,6 +13,8 @@
 
 
 #include "bulletMultiSphereShape.h"
 #include "bulletMultiSphereShape.h"
 
 
+#include "bulletWorld.h"
+
 #include "geomVertexReader.h"
 #include "geomVertexReader.h"
 
 
 TypeHandle BulletMultiSphereShape::_type_handle;
 TypeHandle BulletMultiSphereShape::_type_handle;

+ 1 - 0
panda/src/bullet/bulletMultiSphereShape.h

@@ -19,6 +19,7 @@
 #include "bullet_includes.h"
 #include "bullet_includes.h"
 #include "bulletShape.h"
 #include "bulletShape.h"
 
 
+#include "factoryParams.h"
 #include "pta_LVecBase3.h"
 #include "pta_LVecBase3.h"
 #include "pta_stdfloat.h"
 #include "pta_stdfloat.h"
 
 

+ 2 - 0
panda/src/bullet/bulletPersistentManifold.cxx

@@ -12,7 +12,9 @@
  */
  */
 
 
 #include "bulletPersistentManifold.h"
 #include "bulletPersistentManifold.h"
+
 #include "bulletManifoldPoint.h"
 #include "bulletManifoldPoint.h"
+#include "bulletWorld.h"
 
 
 /**
 /**
  *
  *

+ 2 - 0
panda/src/bullet/bulletPlaneShape.cxx

@@ -13,6 +13,8 @@
 
 
 #include "bulletPlaneShape.h"
 #include "bulletPlaneShape.h"
 
 
+#include "bulletWorld.h"
+
 TypeHandle BulletPlaneShape::_type_handle;
 TypeHandle BulletPlaneShape::_type_handle;
 
 
 /**
 /**

+ 4 - 0
panda/src/bullet/bulletRigidBodyNode.cxx

@@ -12,7 +12,11 @@
  */
  */
 
 
 #include "bulletRigidBodyNode.h"
 #include "bulletRigidBodyNode.h"
+
+#include "config_bullet.h"
+
 #include "bulletShape.h"
 #include "bulletShape.h"
+#include "bulletWorld.h"
 
 
 TypeHandle BulletRigidBodyNode::_type_handle;
 TypeHandle BulletRigidBodyNode::_type_handle;
 
 

+ 2 - 0
panda/src/bullet/bulletRotationalLimitMotor.cxx

@@ -13,6 +13,8 @@
 
 
 #include "bulletRotationalLimitMotor.h"
 #include "bulletRotationalLimitMotor.h"
 
 
+#include "bulletWorld.h"
+
 /**
 /**
  *
  *
  */
  */

+ 3 - 0
panda/src/bullet/bulletShape.cxx

@@ -12,6 +12,9 @@
  */
  */
 
 
 #include "bulletShape.h"
 #include "bulletShape.h"
+
+#include "bulletWorld.h"
+
 #include "bullet_utils.h"
 #include "bullet_utils.h"
 
 
 TypeHandle BulletShape::_type_handle;
 TypeHandle BulletShape::_type_handle;

+ 1 - 1
panda/src/bullet/bulletShape.h

@@ -18,7 +18,7 @@
 
 
 #include "bullet_includes.h"
 #include "bullet_includes.h"
 
 
-#include "typedReferenceCount.h"
+#include "typedWritableReferenceCount.h"
 #include "boundingSphere.h"
 #include "boundingSphere.h"
 
 
 /**
 /**

+ 2 - 0
panda/src/bullet/bulletSliderConstraint.cxx

@@ -12,7 +12,9 @@
  */
  */
 
 
 #include "bulletSliderConstraint.h"
 #include "bulletSliderConstraint.h"
+
 #include "bulletRigidBodyNode.h"
 #include "bulletRigidBodyNode.h"
+#include "bulletWorld.h"
 
 
 #include "deg_2_rad.h"
 #include "deg_2_rad.h"
 
 

+ 4 - 0
panda/src/bullet/bulletSoftBodyConfig.cxx

@@ -13,6 +13,10 @@
 
 
 #include "bulletSoftBodyConfig.h"
 #include "bulletSoftBodyConfig.h"
 
 
+#include "bulletWorld.h"
+
+#include "lightMutexHolder.h"
+
 /**
 /**
  *
  *
  */
  */

+ 2 - 0
panda/src/bullet/bulletSoftBodyConfig.h

@@ -18,6 +18,8 @@
 
 
 #include "bullet_includes.h"
 #include "bullet_includes.h"
 
 
+#include "numeric_types.h"
+
 /**
 /**
  *
  *
  */
  */

+ 9 - 0
panda/src/bullet/bulletSoftBodyMaterial.I

@@ -30,3 +30,12 @@ empty() {
 
 
   return BulletSoftBodyMaterial(material);
   return BulletSoftBodyMaterial(material);
 }
 }
+
+/**
+ *
+ */
+INLINE btSoftBody::Material &BulletSoftBodyMaterial::
+get_material() const {
+
+  return _material;
+}

+ 2 - 9
panda/src/bullet/bulletSoftBodyMaterial.cxx

@@ -13,6 +13,8 @@
 
 
 #include "bulletSoftBodyMaterial.h"
 #include "bulletSoftBodyMaterial.h"
 
 
+#include "bulletWorld.h"
+
 /**
 /**
  *
  *
  */
  */
@@ -21,15 +23,6 @@ BulletSoftBodyMaterial(btSoftBody::Material &material) : _material(material) {
 
 
 }
 }
 
 
-/**
- *
- */
-btSoftBody::Material &BulletSoftBodyMaterial::
-get_material() const {
-
-  return _material;
-}
-
 /**
 /**
  * Getter for the property m_kLST.
  * Getter for the property m_kLST.
  */
  */

+ 2 - 0
panda/src/bullet/bulletSoftBodyMaterial.h

@@ -18,6 +18,8 @@
 
 
 #include "bullet_includes.h"
 #include "bullet_includes.h"
 
 
+#include "numeric_types.h"
+
 /**
 /**
  *
  *
  */
  */

+ 2 - 0
panda/src/bullet/bulletSoftBodyNode.cxx

@@ -12,12 +12,14 @@
  */
  */
 
 
 #include "bulletSoftBodyNode.h"
 #include "bulletSoftBodyNode.h"
+
 #include "bulletSoftBodyConfig.h"
 #include "bulletSoftBodyConfig.h"
 #include "bulletSoftBodyControl.h"
 #include "bulletSoftBodyControl.h"
 #include "bulletSoftBodyMaterial.h"
 #include "bulletSoftBodyMaterial.h"
 #include "bulletSoftBodyShape.h"
 #include "bulletSoftBodyShape.h"
 #include "bulletSoftBodyWorldInfo.h"
 #include "bulletSoftBodyWorldInfo.h"
 #include "bulletHelper.h"
 #include "bulletHelper.h"
+#include "bulletWorld.h"
 
 
 #include "geomVertexRewriter.h"
 #include "geomVertexRewriter.h"
 #include "geomVertexReader.h"
 #include "geomVertexReader.h"

+ 1 - 0
panda/src/bullet/bulletSoftBodyNode.h

@@ -29,6 +29,7 @@
 #include "nurbsSurfaceEvaluator.h"
 #include "nurbsSurfaceEvaluator.h"
 #include "pta_LVecBase3.h"
 #include "pta_LVecBase3.h"
 
 
+class BulletRigidBodyNode;
 class BulletSoftBodyConfig;
 class BulletSoftBodyConfig;
 class BulletSoftBodyControl;
 class BulletSoftBodyControl;
 class BulletSoftBodyMaterial;
 class BulletSoftBodyMaterial;

+ 2 - 0
panda/src/bullet/bulletSoftBodyShape.cxx

@@ -12,7 +12,9 @@
  */
  */
 
 
 #include "bulletSoftBodyShape.h"
 #include "bulletSoftBodyShape.h"
+
 #include "bulletSoftBodyNode.h"
 #include "bulletSoftBodyNode.h"
+#include "bulletWorld.h"
 
 
 TypeHandle BulletSoftBodyShape::_type_handle;
 TypeHandle BulletSoftBodyShape::_type_handle;
 
 

+ 2 - 0
panda/src/bullet/bulletSoftBodyWorldInfo.cxx

@@ -13,6 +13,8 @@
 
 
 #include "bulletSoftBodyWorldInfo.h"
 #include "bulletSoftBodyWorldInfo.h"
 
 
+#include "bulletWorld.h"
+
 /**
 /**
  *
  *
  */
  */

+ 2 - 0
panda/src/bullet/bulletSphereShape.cxx

@@ -13,6 +13,8 @@
 
 
 #include "bulletSphereShape.h"
 #include "bulletSphereShape.h"
 
 
+#include "bulletWorld.h"
+
 TypeHandle BulletSphereShape::_type_handle;
 TypeHandle BulletSphereShape::_type_handle;
 
 
 /**
 /**

+ 2 - 0
panda/src/bullet/bulletSphericalConstraint.cxx

@@ -12,7 +12,9 @@
  */
  */
 
 
 #include "bulletSphericalConstraint.h"
 #include "bulletSphericalConstraint.h"
+
 #include "bulletRigidBodyNode.h"
 #include "bulletRigidBodyNode.h"
+#include "bulletWorld.h"
 
 
 TypeHandle BulletSphericalConstraint::_type_handle;
 TypeHandle BulletSphericalConstraint::_type_handle;
 
 

+ 2 - 0
panda/src/bullet/bulletTranslationalLimitMotor.cxx

@@ -13,6 +13,8 @@
 
 
 #include "bulletTranslationalLimitMotor.h"
 #include "bulletTranslationalLimitMotor.h"
 
 
+#include "bulletWorld.h"
+
 /**
 /**
  *
  *
  */
  */

+ 3 - 0
panda/src/bullet/bulletTriangleMesh.cxx

@@ -13,7 +13,10 @@
 
 
 #include "bulletTriangleMesh.h"
 #include "bulletTriangleMesh.h"
 
 
+#include "bulletWorld.h"
+
 #include "pvector.h"
 #include "pvector.h"
+#include "geomTriangles.h"
 #include "geomVertexData.h"
 #include "geomVertexData.h"
 #include "geomVertexReader.h"
 #include "geomVertexReader.h"
 
 

+ 4 - 0
panda/src/bullet/bulletTriangleMeshShape.cxx

@@ -12,7 +12,11 @@
  */
  */
 
 
 #include "bulletTriangleMeshShape.h"
 #include "bulletTriangleMeshShape.h"
+
+#include "config_bullet.h"
+
 #include "bulletTriangleMesh.h"
 #include "bulletTriangleMesh.h"
+#include "bulletWorld.h"
 
 
 #include "nodePathCollection.h"
 #include "nodePathCollection.h"
 #include "geomNode.h"
 #include "geomNode.h"

+ 1 - 0
panda/src/bullet/bulletTriangleMeshShape.h

@@ -19,6 +19,7 @@
 #include "bullet_includes.h"
 #include "bullet_includes.h"
 #include "bulletShape.h"
 #include "bulletShape.h"
 
 
+#include "factoryParams.h"
 #include "luse.h"
 #include "luse.h"
 
 
 class BulletTriangleMesh;
 class BulletTriangleMesh;

+ 3 - 0
panda/src/bullet/bulletVehicle.cxx

@@ -12,6 +12,9 @@
  */
  */
 
 
 #include "bulletVehicle.h"
 #include "bulletVehicle.h"
+
+#include "config_bullet.h"
+
 #include "bulletWorld.h"
 #include "bulletWorld.h"
 #include "bulletRigidBodyNode.h"
 #include "bulletRigidBodyNode.h"
 #include "bulletWheel.h"
 #include "bulletWheel.h"

+ 2 - 0
panda/src/bullet/bulletWheel.cxx

@@ -13,6 +13,8 @@
 
 
 #include "bulletWheel.h"
 #include "bulletWheel.h"
 
 
+#include "bulletWorld.h"
+
 /**
 /**
  *
  *
  */
  */

+ 5 - 0
panda/src/bullet/bulletWorld.cxx

@@ -12,9 +12,14 @@
  */
  */
 
 
 #include "bulletWorld.h"
 #include "bulletWorld.h"
+
+#include "config_bullet.h"
+
+#include "bulletFilterCallbackData.h"
 #include "bulletPersistentManifold.h"
 #include "bulletPersistentManifold.h"
 #include "bulletShape.h"
 #include "bulletShape.h"
 #include "bulletSoftBodyWorldInfo.h"
 #include "bulletSoftBodyWorldInfo.h"
+#include "bulletTickCallbackData.h"
 
 
 #include "collideMask.h"
 #include "collideMask.h"
 #include "lightMutexHolder.h"
 #include "lightMutexHolder.h"

+ 2 - 0
panda/src/bullet/bullet_utils.h

@@ -44,6 +44,8 @@ EXPCL_PANDABULLET CPT(TransformState) btTrans_to_TransformState(
 EXPCL_PANDABULLET btTransform TransformState_to_btTrans(
 EXPCL_PANDABULLET btTransform TransformState_to_btTrans(
   CPT(TransformState) ts);
   CPT(TransformState) ts);
 
 
+EXPCL_PANDABULLET void get_node_transform(btTransform &trans, PandaNode *node);
+
 // UpAxis
 // UpAxis
 BEGIN_PUBLISH
 BEGIN_PUBLISH
 
 

+ 1 - 1
panda/src/bullet/config_bullet.cxx

@@ -56,7 +56,7 @@ extern ContactDestroyedCallback gContactDestroyedCallback;
 #include "dconfig.h"
 #include "dconfig.h"
 #include "pandaSystem.h"
 #include "pandaSystem.h"
 
 
-#if !defined(CPPPARSER) && !defined(BUILDING_PANDABULLET)
+#if !defined(CPPPARSER) && !defined(LINK_ALL_STATIC) && !defined(BUILDING_PANDABULLET)
   #error Buildsystem error: BUILDING_PANDABULLET not defined
   #error Buildsystem error: BUILDING_PANDABULLET not defined
 #endif
 #endif
 
 

+ 1 - 1
panda/src/chan/config_chan.cxx

@@ -34,7 +34,7 @@
 #include "luse.h"
 #include "luse.h"
 #include "dconfig.h"
 #include "dconfig.h"
 
 
-#if !defined(CPPPARSER) && !defined(BUILDING_PANDA_CHAN)
+#if !defined(CPPPARSER) && !defined(LINK_ALL_STATIC) && !defined(BUILDING_PANDA_CHAN)
   #error Buildsystem error: BUILDING_PANDA_CHAN not defined
   #error Buildsystem error: BUILDING_PANDA_CHAN not defined
 #endif
 #endif
 
 

+ 1 - 1
panda/src/char/config_char.cxx

@@ -21,7 +21,7 @@
 #include "jointVertexTransform.h"
 #include "jointVertexTransform.h"
 #include "dconfig.h"
 #include "dconfig.h"
 
 
-#if !defined(CPPPARSER) && !defined(BUILDING_PANDA_CHAR)
+#if !defined(CPPPARSER) && !defined(LINK_ALL_STATIC) && !defined(BUILDING_PANDA_CHAR)
   #error Buildsystem error: BUILDING_PANDA_CHAR not defined
   #error Buildsystem error: BUILDING_PANDA_CHAR not defined
 #endif
 #endif
 
 

+ 1 - 1
panda/src/cocoadisplay/config_cocoadisplay.mm

@@ -20,7 +20,7 @@
 #include "dconfig.h"
 #include "dconfig.h"
 #include "pandaSystem.h"
 #include "pandaSystem.h"
 
 
-#if !defined(CPPPARSER) && !defined(BUILDING_PANDA_COCOADISPLAY)
+#if !defined(CPPPARSER) && !defined(LINK_ALL_STATIC) && !defined(BUILDING_PANDA_COCOADISPLAY)
   #error Buildsystem error: BUILDING_PANDA_COCOADISPLAY not defined
   #error Buildsystem error: BUILDING_PANDA_COCOADISPLAY not defined
 #endif
 #endif
 
 

+ 1 - 1
panda/src/collada/config_collada.cxx

@@ -17,7 +17,7 @@
 #include "loaderFileTypeDae.h"
 #include "loaderFileTypeDae.h"
 #include "loaderFileTypeRegistry.h"
 #include "loaderFileTypeRegistry.h"
 
 
-#if !defined(CPPPARSER) && !defined(BUILDING_COLLADA)
+#if !defined(CPPPARSER) && !defined(LINK_ALL_STATIC) && !defined(BUILDING_COLLADA)
   #error Buildsystem error: BUILDING_COLLADA not defined
   #error Buildsystem error: BUILDING_COLLADA not defined
 #endif
 #endif
 
 

+ 1 - 1
panda/src/collide/config_collide.cxx

@@ -42,7 +42,7 @@
 #include "collisionVisualizer.h"
 #include "collisionVisualizer.h"
 #include "dconfig.h"
 #include "dconfig.h"
 
 
-#if !defined(CPPPARSER) && !defined(BUILDING_PANDA_COLLIDE)
+#if !defined(CPPPARSER) && !defined(LINK_ALL_STATIC) && !defined(BUILDING_PANDA_COLLIDE)
   #error Buildsystem error: BUILDING_PANDA_COLLIDE not defined
   #error Buildsystem error: BUILDING_PANDA_COLLIDE not defined
 #endif
 #endif
 
 

+ 1 - 1
panda/src/cull/config_cull.cxx

@@ -22,7 +22,7 @@
 #include "cullBinManager.h"
 #include "cullBinManager.h"
 #include "dconfig.h"
 #include "dconfig.h"
 
 
-#if !defined(CPPPARSER) && !defined(BUILDING_PANDA_CULL)
+#if !defined(CPPPARSER) && !defined(LINK_ALL_STATIC) && !defined(BUILDING_PANDA_CULL)
   #error Buildsystem error: BUILDING_PANDA_CULL not defined
   #error Buildsystem error: BUILDING_PANDA_CULL not defined
 #endif
 #endif
 
 

+ 1 - 1
panda/src/device/config_device.cxx

@@ -27,7 +27,7 @@
 
 
 #include "dconfig.h"
 #include "dconfig.h"
 
 
-#if !defined(CPPPARSER) && !defined(BUILDING_PANDA_DEVICE)
+#if !defined(CPPPARSER) && !defined(LINK_ALL_STATIC) && !defined(BUILDING_PANDA_DEVICE)
   #error Buildsystem error: BUILDING_PANDA_DEVICE not defined
   #error Buildsystem error: BUILDING_PANDA_DEVICE not defined
 #endif
 #endif
 
 

+ 1 - 1
panda/src/dgraph/config_dgraph.cxx

@@ -17,7 +17,7 @@
 
 
 #include "dconfig.h"
 #include "dconfig.h"
 
 
-#if !defined(CPPPARSER) && !defined(BUILDING_PANDA_DGRAPH)
+#if !defined(CPPPARSER) && !defined(LINK_ALL_STATIC) && !defined(BUILDING_PANDA_DGRAPH)
   #error Buildsystem error: BUILDING_PANDA_DGRAPH not defined
   #error Buildsystem error: BUILDING_PANDA_DGRAPH not defined
 #endif
 #endif
 
 

Some files were not shown because too many files changed in this diff