[mapguide-commits] r9776 - in sandbox/jng/vanilla_swig: Bindings Bindings/src/Bindings/DotNet Bindings/src/Bindings/DotNet/Foundation Bindings/src/Bindings/DotNet/Geometry Bindings/src/Bindings/DotNet/MapGuideCommon Bindings/src/Bindings/DotNet/PlatformBase Bindings/src/Bindings/DotNet/Web Bindings/src/Bindings/Java Common/Foundation

svn_mapguide at osgeo.org svn_mapguide at osgeo.org
Thu Nov 12 23:49:13 PST 2020


Author: jng
Date: 2020-11-12 23:49:13 -0800 (Thu, 12 Nov 2020)
New Revision: 9776

Modified:
   sandbox/jng/vanilla_swig/Bindings/TODO.txt
   sandbox/jng/vanilla_swig/Bindings/src/Bindings/DotNet/DotNetUnmanagedApi.vcxproj
   sandbox/jng/vanilla_swig/Bindings/src/Bindings/DotNet/Foundation/FoundationApi.vcxproj
   sandbox/jng/vanilla_swig/Bindings/src/Bindings/DotNet/Geometry/GeometryApi.vcxproj
   sandbox/jng/vanilla_swig/Bindings/src/Bindings/DotNet/MapGuideCommon/MapGuideCommonApi.vcxproj
   sandbox/jng/vanilla_swig/Bindings/src/Bindings/DotNet/PlatformBase/PlatformBaseApi.vcxproj
   sandbox/jng/vanilla_swig/Bindings/src/Bindings/DotNet/Web/WebApi.vcxproj
   sandbox/jng/vanilla_swig/Bindings/src/Bindings/Java/JavaApi.vcxproj
   sandbox/jng/vanilla_swig/Common/Foundation/Foundation.h
Log:
Yes, the wrapper instability was due to stubbing ACE_Recursive_Thread_Mutex as an empty class which presumably changed the assumed class layout from what is actually compiled into the libraries we're trying to wrap, causing all sorts of access violations as a result. So revert back to leaking the ACE_Recursive_Thread_Mutex header and add ACE to include paths of affected projects.

Modified: sandbox/jng/vanilla_swig/Bindings/TODO.txt
===================================================================
--- sandbox/jng/vanilla_swig/Bindings/TODO.txt	2020-11-12 14:31:46 UTC (rev 9775)
+++ sandbox/jng/vanilla_swig/Bindings/TODO.txt	2020-11-13 07:49:13 UTC (rev 9776)
@@ -1,5 +1,5 @@
  - [x] Check that .net error messages are being read (https://github.com/jumpinjackie/mapguide-api-bindings/issues/35)
- - [ ] Explore whether our current instability is due to invalid class layout assumptions due to stubbing ACE_Recursive_Thread_Mutex to avoid leaking ACE headers
+ - [x] Explore whether our current instability is due to invalid class layout assumptions due to stubbing ACE_Recursive_Thread_Mutex to avoid leaking ACE headers
  - [ ] Make sure we can build debug bindings
  - Split .net binding into the Foundation/Geometry/PlatformBase/MapGuideCommon/Web layout (https://github.com/jumpinjackie/mapguide-api-bindings/issues/18)
    - [ ] Add CentOS 6 Dockerfile that

Modified: sandbox/jng/vanilla_swig/Bindings/src/Bindings/DotNet/DotNetUnmanagedApi.vcxproj
===================================================================
--- sandbox/jng/vanilla_swig/Bindings/src/Bindings/DotNet/DotNetUnmanagedApi.vcxproj	2020-11-12 14:31:46 UTC (rev 9775)
+++ sandbox/jng/vanilla_swig/Bindings/src/Bindings/DotNet/DotNetUnmanagedApi.vcxproj	2020-11-13 07:49:13 UTC (rev 9776)
@@ -66,7 +66,7 @@
     </PreBuildEvent>
     <ClCompile>
       <Optimization>Disabled</Optimization>
-      <AdditionalIncludeDirectories>..\..\..\..\Web\src\HttpHandler;..\..\..\..\Web\src\WebApp;..\..\..\..\Web\src\WebSupport;..\..\..\..\Common\MdfModel;..\..\..\..\Common\Foundation;..\..\..\..\Common\Geometry;..\..\..\..\Common\PlatformBase;..\..\..\..\Common\MapGuideCommon;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories>..\..\..\..\Web\src\HttpHandler;..\..\..\..\Web\src\WebApp;..\..\..\..\Web\src\WebSupport;..\..\..\..\Common\MdfModel;..\..\..\..\Common\Foundation;..\..\..\..\Oem\ACE\ACE_wrappers;..\..\..\..\Common\Geometry;..\..\..\..\Common\PlatformBase;..\..\..\..\Common\MapGuideCommon;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;SWIG_PUBLIC_API;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <ExceptionHandling>Async</ExceptionHandling>
       <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
@@ -103,7 +103,7 @@
     </PreBuildEvent>
     <ClCompile>
       <Optimization>MaxSpeed</Optimization>
-      <AdditionalIncludeDirectories>..\..\..\..\Web\src\HttpHandler;..\..\..\..\Web\src\WebApp;..\..\..\..\Web\src\WebSupport;..\..\..\..\Common\MdfModel;..\..\..\..\Common\Foundation;..\..\..\..\Common\Geometry;..\..\..\..\Common\PlatformBase;..\..\..\..\Common\MapGuideCommon;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories>..\..\..\..\Web\src\HttpHandler;..\..\..\..\Web\src\WebApp;..\..\..\..\Web\src\WebSupport;..\..\..\..\Common\MdfModel;..\..\..\..\Common\Foundation;..\..\..\..\Oem\ACE\ACE_wrappers;..\..\..\..\Common\Geometry;..\..\..\..\Common\PlatformBase;..\..\..\..\Common\MapGuideCommon;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;_WIN64;SWIG_PUBLIC_API;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <ExceptionHandling>Async</ExceptionHandling>
       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>

Modified: sandbox/jng/vanilla_swig/Bindings/src/Bindings/DotNet/Foundation/FoundationApi.vcxproj
===================================================================
--- sandbox/jng/vanilla_swig/Bindings/src/Bindings/DotNet/Foundation/FoundationApi.vcxproj	2020-11-12 14:31:46 UTC (rev 9775)
+++ sandbox/jng/vanilla_swig/Bindings/src/Bindings/DotNet/Foundation/FoundationApi.vcxproj	2020-11-13 07:49:13 UTC (rev 9776)
@@ -69,7 +69,7 @@
     </PreBuildEvent>
     <ClCompile>
       <Optimization>Disabled</Optimization>
-      <AdditionalIncludeDirectories>..\..\..\..\..\..\Web\src\HttpHandler;..\..\..\..\..\..\Web\src\WebApp;..\..\..\..\..\..\Web\src\WebSupport;..\..\..\..\..\Common\MdfModel;..\..\..\..\..\Common\Foundation;..\..\..\..\..\Common\Geometry;..\..\..\..\..\Common\PlatformBase;..\..\..\..\..\Common\MapGuideCommon;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories>..\..\..\..\..\..\Web\src\HttpHandler;..\..\..\..\..\..\Web\src\WebApp;..\..\..\..\..\..\Web\src\WebSupport;..\..\..\..\..\Common\MdfModel;..\..\..\..\..\Common\Foundation;..\..\..\..\..\Oem\ACE\ACE_wrappers;..\..\..\..\..\Common\Geometry;..\..\..\..\..\Common\PlatformBase;..\..\..\..\..\Common\MapGuideCommon;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;SWIG_PUBLIC_API;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <ExceptionHandling>Async</ExceptionHandling>
       <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
@@ -109,7 +109,7 @@
     </PreBuildEvent>
     <ClCompile>
       <Optimization>MaxSpeed</Optimization>
-      <AdditionalIncludeDirectories>..\..\..\..\..\..\Web\src\HttpHandler;..\..\..\..\..\..\Web\src\WebApp;..\..\..\..\..\..\Web\src\WebSupport;..\..\..\..\..\Common\MdfModel;..\..\..\..\..\Common\Foundation;..\..\..\..\..\Common\Geometry;..\..\..\..\..\Common\PlatformBase;..\..\..\..\..\Common\MapGuideCommon;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories>..\..\..\..\..\..\Web\src\HttpHandler;..\..\..\..\..\..\Web\src\WebApp;..\..\..\..\..\..\Web\src\WebSupport;..\..\..\..\..\Common\MdfModel;..\..\..\..\..\Common\Foundation;..\..\..\..\..\Oem\ACE\ACE_wrappers;..\..\..\..\..\Common\Geometry;..\..\..\..\..\Common\PlatformBase;..\..\..\..\..\Common\MapGuideCommon;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;_WIN64;SWIG_PUBLIC_API;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <ExceptionHandling>Async</ExceptionHandling>
       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>

Modified: sandbox/jng/vanilla_swig/Bindings/src/Bindings/DotNet/Geometry/GeometryApi.vcxproj
===================================================================
--- sandbox/jng/vanilla_swig/Bindings/src/Bindings/DotNet/Geometry/GeometryApi.vcxproj	2020-11-12 14:31:46 UTC (rev 9775)
+++ sandbox/jng/vanilla_swig/Bindings/src/Bindings/DotNet/Geometry/GeometryApi.vcxproj	2020-11-13 07:49:13 UTC (rev 9776)
@@ -66,7 +66,7 @@
     </PreBuildEvent>
     <ClCompile>
       <Optimization>Disabled</Optimization>
-      <AdditionalIncludeDirectories>..\..\..\..\..\..\Web\src\HttpHandler;..\..\..\..\..\..\Web\src\WebApp;..\..\..\..\..\..\Web\src\WebSupport;..\..\..\..\..\Common\MdfModel;..\..\..\..\..\Common\Foundation;..\..\..\..\..\Common\Geometry;..\..\..\..\..\Common\PlatformBase;..\..\..\..\..\Common\MapGuideCommon;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories>..\..\..\..\..\..\Web\src\HttpHandler;..\..\..\..\..\..\Web\src\WebApp;..\..\..\..\..\..\Web\src\WebSupport;..\..\..\..\..\Common\MdfModel;..\..\..\..\..\Common\Foundation;..\..\..\..\..\Oem\ACE\ACE_wrappers;..\..\..\..\..\Common\Geometry;..\..\..\..\..\Common\PlatformBase;..\..\..\..\..\Common\MapGuideCommon;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;SWIG_PUBLIC_API;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <ExceptionHandling>Async</ExceptionHandling>
       <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
@@ -105,7 +105,7 @@
     </PreBuildEvent>
     <ClCompile>
       <Optimization>MaxSpeed</Optimization>
-      <AdditionalIncludeDirectories>..\..\..\..\..\..\Web\src\HttpHandler;..\..\..\..\..\..\Web\src\WebApp;..\..\..\..\..\..\Web\src\WebSupport;..\..\..\..\..\Common\MdfModel;..\..\..\..\..\Common\Foundation;..\..\..\..\..\Common\Geometry;..\..\..\..\..\Common\PlatformBase;..\..\..\..\..\Common\MapGuideCommon;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories>..\..\..\..\..\..\Web\src\HttpHandler;..\..\..\..\..\..\Web\src\WebApp;..\..\..\..\..\..\Web\src\WebSupport;..\..\..\..\..\Common\MdfModel;..\..\..\..\..\Common\Foundation;..\..\..\..\..\Oem\ACE\ACE_wrappers;..\..\..\..\..\Common\Geometry;..\..\..\..\..\Common\PlatformBase;..\..\..\..\..\Common\MapGuideCommon;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;_WIN64;SWIG_PUBLIC_API;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <ExceptionHandling>Async</ExceptionHandling>
       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>

Modified: sandbox/jng/vanilla_swig/Bindings/src/Bindings/DotNet/MapGuideCommon/MapGuideCommonApi.vcxproj
===================================================================
--- sandbox/jng/vanilla_swig/Bindings/src/Bindings/DotNet/MapGuideCommon/MapGuideCommonApi.vcxproj	2020-11-12 14:31:46 UTC (rev 9775)
+++ sandbox/jng/vanilla_swig/Bindings/src/Bindings/DotNet/MapGuideCommon/MapGuideCommonApi.vcxproj	2020-11-13 07:49:13 UTC (rev 9776)
@@ -67,7 +67,7 @@
     </PreBuildEvent>
     <ClCompile>
       <Optimization>Disabled</Optimization>
-      <AdditionalIncludeDirectories>..\..\..\..\..\..\Web\src\HttpHandler;..\..\..\..\..\..\Web\src\WebApp;..\..\..\..\..\..\Web\src\WebSupport;..\..\..\..\..\Common\MdfModel;..\..\..\..\..\Common\Foundation;..\..\..\..\..\Common\Geometry;..\..\..\..\..\Common\PlatformBase;..\..\..\..\..\Common\MapGuideCommon;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories>..\..\..\..\..\..\Web\src\HttpHandler;..\..\..\..\..\..\Web\src\WebApp;..\..\..\..\..\..\Web\src\WebSupport;..\..\..\..\..\Common\MdfModel;..\..\..\..\..\Common\Foundation;..\..\..\..\..\Oem\ACE\ACE_wrappers;..\..\..\..\..\Common\Geometry;..\..\..\..\..\Common\PlatformBase;..\..\..\..\..\Common\MapGuideCommon;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;SWIG_PUBLIC_API;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <ExceptionHandling>Async</ExceptionHandling>
       <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
@@ -105,7 +105,7 @@
     </PreBuildEvent>
     <ClCompile>
       <Optimization>MaxSpeed</Optimization>
-      <AdditionalIncludeDirectories>..\..\..\..\..\..\Web\src\HttpHandler;..\..\..\..\..\..\Web\src\WebApp;..\..\..\..\..\..\Web\src\WebSupport;..\..\..\..\..\Common\MdfModel;..\..\..\..\..\Common\Foundation;..\..\..\..\..\Common\Geometry;..\..\..\..\..\Common\PlatformBase;..\..\..\..\..\Common\MapGuideCommon;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories>..\..\..\..\..\..\Web\src\HttpHandler;..\..\..\..\..\..\Web\src\WebApp;..\..\..\..\..\..\Web\src\WebSupport;..\..\..\..\..\Common\MdfModel;..\..\..\..\..\Common\Foundation;..\..\..\..\..\Oem\ACE\ACE_wrappers;..\..\..\..\..\Common\Geometry;..\..\..\..\..\Common\PlatformBase;..\..\..\..\..\Common\MapGuideCommon;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;_WIN64;SWIG_PUBLIC_API;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <ExceptionHandling>Async</ExceptionHandling>
       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>

Modified: sandbox/jng/vanilla_swig/Bindings/src/Bindings/DotNet/PlatformBase/PlatformBaseApi.vcxproj
===================================================================
--- sandbox/jng/vanilla_swig/Bindings/src/Bindings/DotNet/PlatformBase/PlatformBaseApi.vcxproj	2020-11-12 14:31:46 UTC (rev 9775)
+++ sandbox/jng/vanilla_swig/Bindings/src/Bindings/DotNet/PlatformBase/PlatformBaseApi.vcxproj	2020-11-13 07:49:13 UTC (rev 9776)
@@ -69,7 +69,7 @@
     </PreBuildEvent>
     <ClCompile>
       <Optimization>Disabled</Optimization>
-      <AdditionalIncludeDirectories>..\..\..\..\..\..\Web\src\HttpHandler;..\..\..\..\..\..\Web\src\WebApp;..\..\..\..\..\..\Web\src\WebSupport;..\..\..\..\..\Common\MdfModel;..\..\..\..\..\Common\Foundation;..\..\..\..\..\Common\Geometry;..\..\..\..\..\Common\PlatformBase;..\..\..\..\..\Common\MapGuideCommon;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories>..\..\..\..\..\..\Web\src\HttpHandler;..\..\..\..\..\..\Web\src\WebApp;..\..\..\..\..\..\Web\src\WebSupport;..\..\..\..\..\Common\MdfModel;..\..\..\..\..\Common\Foundation;..\..\..\..\..\Oem\ACE\ACE_wrappers;..\..\..\..\..\Common\Geometry;..\..\..\..\..\Common\PlatformBase;..\..\..\..\..\Common\MapGuideCommon;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;SWIG_PUBLIC_API;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <ExceptionHandling>Async</ExceptionHandling>
       <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
@@ -109,7 +109,7 @@
     </PreBuildEvent>
     <ClCompile>
       <Optimization>MaxSpeed</Optimization>
-      <AdditionalIncludeDirectories>..\..\..\..\..\..\Web\src\HttpHandler;..\..\..\..\..\..\Web\src\WebApp;..\..\..\..\..\..\Web\src\WebSupport;..\..\..\..\..\Common\MdfModel;..\..\..\..\..\Common\Foundation;..\..\..\..\..\Common\Geometry;..\..\..\..\..\Common\PlatformBase;..\..\..\..\..\Common\MapGuideCommon;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories>..\..\..\..\..\..\Web\src\HttpHandler;..\..\..\..\..\..\Web\src\WebApp;..\..\..\..\..\..\Web\src\WebSupport;..\..\..\..\..\Common\MdfModel;..\..\..\..\..\Common\Foundation;..\..\..\..\..\Oem\ACE\ACE_wrappers;..\..\..\..\..\Common\Geometry;..\..\..\..\..\Common\PlatformBase;..\..\..\..\..\Common\MapGuideCommon;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;_WIN64;SWIG_PUBLIC_API;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <ExceptionHandling>Async</ExceptionHandling>
       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>

Modified: sandbox/jng/vanilla_swig/Bindings/src/Bindings/DotNet/Web/WebApi.vcxproj
===================================================================
--- sandbox/jng/vanilla_swig/Bindings/src/Bindings/DotNet/Web/WebApi.vcxproj	2020-11-12 14:31:46 UTC (rev 9775)
+++ sandbox/jng/vanilla_swig/Bindings/src/Bindings/DotNet/Web/WebApi.vcxproj	2020-11-13 07:49:13 UTC (rev 9776)
@@ -70,7 +70,7 @@
     </PreBuildEvent>
     <ClCompile>
       <Optimization>Disabled</Optimization>
-      <AdditionalIncludeDirectories>..\..\..\..\..\Web\src\HttpHandler;..\..\..\..\..\Web\src\WebApp;..\..\..\..\..\Web\src\WebSupport;..\..\..\..\..\Common\MdfModel;..\..\..\..\..\Common\Foundation;..\..\..\..\..\Common\Geometry;..\..\..\..\..\Common\PlatformBase;..\..\..\..\..\Common\MapGuideCommon;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories>..\..\..\..\..\Web\src\HttpHandler;..\..\..\..\..\Web\src\WebApp;..\..\..\..\..\Web\src\WebSupport;..\..\..\..\..\Common\MdfModel;..\..\..\..\..\Common\Foundation;..\..\..\..\..\Oem\ACE\ACE_wrappers;..\..\..\..\..\Common\Geometry;..\..\..\..\..\Common\PlatformBase;..\..\..\..\..\Common\MapGuideCommon;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;SWIG_PUBLIC_API;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <ExceptionHandling>Async</ExceptionHandling>
       <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
@@ -111,7 +111,7 @@
     </PreBuildEvent>
     <ClCompile>
       <Optimization>MaxSpeed</Optimization>
-      <AdditionalIncludeDirectories>..\..\..\..\..\Web\src\HttpHandler;..\..\..\..\..\Web\src\WebApp;..\..\..\..\..\Web\src\WebSupport;..\..\..\..\..\Common\MdfModel;..\..\..\..\..\Common\Foundation;..\..\..\..\..\Common\Geometry;..\..\..\..\..\Common\PlatformBase;..\..\..\..\..\Common\MapGuideCommon;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories>..\..\..\..\..\Web\src\HttpHandler;..\..\..\..\..\Web\src\WebApp;..\..\..\..\..\Web\src\WebSupport;..\..\..\..\..\Common\MdfModel;..\..\..\..\..\Common\Foundation;..\..\..\..\..\Oem\ACE\ACE_wrappers;..\..\..\..\..\Common\Geometry;..\..\..\..\..\Common\PlatformBase;..\..\..\..\..\Common\MapGuideCommon;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;_WIN64;SWIG_PUBLIC_API;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <ExceptionHandling>Async</ExceptionHandling>
       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>

Modified: sandbox/jng/vanilla_swig/Bindings/src/Bindings/Java/JavaApi.vcxproj
===================================================================
--- sandbox/jng/vanilla_swig/Bindings/src/Bindings/Java/JavaApi.vcxproj	2020-11-12 14:31:46 UTC (rev 9775)
+++ sandbox/jng/vanilla_swig/Bindings/src/Bindings/Java/JavaApi.vcxproj	2020-11-13 07:49:13 UTC (rev 9776)
@@ -64,7 +64,7 @@
     </PreBuildEvent>
     <ClCompile>
       <Optimization>Disabled</Optimization>
-      <AdditionalIncludeDirectories>..\..\..\..\Web\src\HttpHandler;..\..\..\..\Web\src\WebApp;..\..\..\..\Web\src\WebSupport;..\..\..\..\Common\MdfModel;..\..\..\..\Common\Foundation;..\..\..\..\Common\Geometry;..\..\..\..\Common\PlatformBase;..\..\..\..\Common\MapGuideCommon;$(JAVA_HOME)\include;$(JAVA_HOME)\include\win32;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories>..\..\..\..\Web\src\HttpHandler;..\..\..\..\Web\src\WebApp;..\..\..\..\Web\src\WebSupport;..\..\..\..\Common\MdfModel;..\..\..\..\Common\Foundation;..\..\..\..\Oem\ACE\ACE_wrappers;..\..\..\..\Common\Geometry;..\..\..\..\Common\PlatformBase;..\..\..\..\Common\MapGuideCommon;$(JAVA_HOME)\include;$(JAVA_HOME)\include\win32;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;JAVA;SWIG_PUBLIC_API;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <ExceptionHandling>Async</ExceptionHandling>
       <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
@@ -109,7 +109,7 @@
     </PreBuildEvent>
     <ClCompile>
       <Optimization>MaxSpeed</Optimization>
-      <AdditionalIncludeDirectories>..\..\..\..\Web\src\HttpHandler;..\..\..\..\Web\src\WebApp;..\..\..\..\Web\src\WebSupport;..\..\..\..\Common\MdfModel;..\..\..\..\Common\Foundation;..\..\..\..\Common\Geometry;..\..\..\..\Common\PlatformBase;..\..\..\..\Common\MapGuideCommon;$(JAVA_HOME)\include;$(JAVA_HOME)\include\win32;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories>..\..\..\..\Web\src\HttpHandler;..\..\..\..\Web\src\WebApp;..\..\..\..\Web\src\WebSupport;..\..\..\..\Common\MdfModel;..\..\..\..\Common\Foundation;..\..\..\..\Oem\ACE\ACE_wrappers;..\..\..\..\Common\Geometry;..\..\..\..\Common\PlatformBase;..\..\..\..\Common\MapGuideCommon;$(JAVA_HOME)\include;$(JAVA_HOME)\include\win32;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;JAVA;SWIG_PUBLIC_API;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <ExceptionHandling>Async</ExceptionHandling>
       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>

Modified: sandbox/jng/vanilla_swig/Common/Foundation/Foundation.h
===================================================================
--- sandbox/jng/vanilla_swig/Common/Foundation/Foundation.h	2020-11-12 14:31:46 UTC (rev 9775)
+++ sandbox/jng/vanilla_swig/Common/Foundation/Foundation.h	2020-11-13 07:49:13 UTC (rev 9776)
@@ -45,15 +45,14 @@
 // ignore warnings about using deprecated methods
 #pragma warning(disable: 4996)
 
-#ifdef SWIG_PUBLIC_API
-// ACE_Recursive_Thread_Mutex and ACE_thread_t are currently exposed as private members of several 
-// classes thare are exported out to the public MapGuide API surface area (MgGuardDisposable/MgSiteManager)
+// Unfortunately, we must leak this header out in a SWIG generation context as ACE_Recursive_Thread_Mutex 
+// is a private and public member of several classes thare are exported out to the public MapGuide API 
+// surface area (MgGuardDisposable/MgSiteManager)
 //
-// Private members do not (at least for us) factor into the SWIG code generation context, so for the
-// purpose of SWIG codegen, we can just stub these missing types
-typedef int ACE_thread_t;
-class ACE_Recursive_Thread_Mutex { };
-#endif
+// Every other ACE type/header however are internal implementation details that can be safely walled-off 
+// with SWIG_PUBLIC_API or forward-declared away to reduce the ACE header surface area to this one single 
+// header below
+#include "ace/Recursive_Thread_Mutex.h"
 
 #ifndef SWIG_PUBLIC_API
 #include "ace/Init_ACE.h"



More information about the mapguide-commits mailing list