Revision: 75935
          http://sourceforge.net/p/brlcad/code/75935
Author:   starseeker
Date:     2020-05-26 02:53:36 +0000 (Tue, 26 May 2020)
Log Message:
-----------
Merge changes from trunk, r75879 - r75934

Modified Paths:
--------------
    brlcad/branches/dm-fb-merge/CMakeLists.txt
    brlcad/branches/dm-fb-merge/HACKING
    brlcad/branches/dm-fb-merge/include/analyze/defines.h
    brlcad/branches/dm-fb-merge/include/bg/defines.h
    brlcad/branches/dm-fb-merge/include/bn/defines.h
    brlcad/branches/dm-fb-merge/include/brep/defines.h
    brlcad/branches/dm-fb-merge/include/bu/defines.h
    brlcad/branches/dm-fb-merge/include/common.h
    brlcad/branches/dm-fb-merge/include/dm/defines.h
    brlcad/branches/dm-fb-merge/include/fft.h
    brlcad/branches/dm-fb-merge/include/gcv/defines.h
    brlcad/branches/dm-fb-merge/include/ged/defines.h
    brlcad/branches/dm-fb-merge/include/icv/defines.h
    brlcad/branches/dm-fb-merge/include/libtermio.h
    brlcad/branches/dm-fb-merge/include/nmg.h
    brlcad/branches/dm-fb-merge/include/optical/defines.h
    brlcad/branches/dm-fb-merge/include/pc.h
    brlcad/branches/dm-fb-merge/include/pkg.h
    brlcad/branches/dm-fb-merge/include/rt/db5.h
    brlcad/branches/dm-fb-merge/include/rt/defines.h
    brlcad/branches/dm-fb-merge/include/rt/tie.h
    brlcad/branches/dm-fb-merge/include/tclcad.h
    brlcad/branches/dm-fb-merge/include/wdb.h
    brlcad/branches/dm-fb-merge/misc/CMake/BRLCAD_Targets.cmake
    brlcad/branches/dm-fb-merge/misc/CMake/CMakeLists.txt
    brlcad/branches/dm-fb-merge/misc/CMake/FindTCL.cmake
    brlcad/branches/dm-fb-merge/misc/win32-msvc/CMakeLists.txt
    brlcad/branches/dm-fb-merge/regress/pkg/CMakeLists.txt
    brlcad/branches/dm-fb-merge/regress/pkg/regress_pkg.cpp
    brlcad/branches/dm-fb-merge/src/CMakeLists.txt
    brlcad/branches/dm-fb-merge/src/adrt/CMakeLists.txt
    brlcad/branches/dm-fb-merge/src/adrt/librender/render_internal.h
    brlcad/branches/dm-fb-merge/src/archer/CMakeLists.txt
    brlcad/branches/dm-fb-merge/src/brlman/CMakeLists.txt
    brlcad/branches/dm-fb-merge/src/bwish/CMakeLists.txt
    brlcad/branches/dm-fb-merge/src/conv/iges/CMakeLists.txt
    brlcad/branches/dm-fb-merge/src/conv/ply/CMakeLists.txt
    brlcad/branches/dm-fb-merge/src/conv/ply/rply.h
    brlcad/branches/dm-fb-merge/src/conv/step/ap203e2-g/CMakeLists.txt
    brlcad/branches/dm-fb-merge/src/conv/step/ap214-g/CMakeLists.txt
    brlcad/branches/dm-fb-merge/src/conv/step/ap242-g/CMakeLists.txt
    brlcad/branches/dm-fb-merge/src/conv/step/g-ap203e2/CMakeLists.txt
    brlcad/branches/dm-fb-merge/src/conv/step/g-ap214/CMakeLists.txt
    brlcad/branches/dm-fb-merge/src/conv/step/g-ap242/CMakeLists.txt
    brlcad/branches/dm-fb-merge/src/conv/step/g-step/CMakeLists.txt
    brlcad/branches/dm-fb-merge/src/conv/step/ifc-g/CMakeLists.txt
    brlcad/branches/dm-fb-merge/src/conv/step/step-g/CMakeLists.txt
    brlcad/branches/dm-fb-merge/src/conv/step/util/CMakeLists.txt
    brlcad/branches/dm-fb-merge/src/external/Creo/CMakeLists.txt
    brlcad/branches/dm-fb-merge/src/external/Cubit/CMakeLists.txt
    brlcad/branches/dm-fb-merge/src/external/Unigraphics/CMakeLists.txt
    brlcad/branches/dm-fb-merge/src/libbg/CMakeLists.txt
    brlcad/branches/dm-fb-merge/src/libbrep/CMakeLists.txt
    brlcad/branches/dm-fb-merge/src/libbu/realpath_bsd.c
    brlcad/branches/dm-fb-merge/src/libbu/tests/dylib/CMakeLists.txt
    brlcad/branches/dm-fb-merge/src/libbu/tests/dylib/dylib.h
    brlcad/branches/dm-fb-merge/src/libbu/whereami.c
    brlcad/branches/dm-fb-merge/src/libdm/CMakeLists.txt
    brlcad/branches/dm-fb-merge/src/libdm/wgl/CMakeLists.txt
    brlcad/branches/dm-fb-merge/src/libgcv/CMakeLists.txt
    brlcad/branches/dm-fb-merge/src/libgcv/plugins/CMakeLists.txt
    brlcad/branches/dm-fb-merge/src/libgcv/plugins/obj/obj_read.c
    brlcad/branches/dm-fb-merge/src/libgcv/plugins/obj/wfobj/CMakeLists.txt
    brlcad/branches/dm-fb-merge/src/libgcv/plugins/obj/wfobj/obj_util.h
    brlcad/branches/dm-fb-merge/src/libged/bot/extrude.cpp
    brlcad/branches/dm-fb-merge/src/libicv/CMakeLists.txt
    brlcad/branches/dm-fb-merge/src/librt/CMakeLists.txt
    brlcad/branches/dm-fb-merge/src/librt/primitives/sketch/sketch.c
    brlcad/branches/dm-fb-merge/src/libtclcad/tkImgFmtPIX.c
    brlcad/branches/dm-fb-merge/src/mged/CMakeLists.txt
    brlcad/branches/dm-fb-merge/src/other/CMakeLists.txt
    brlcad/branches/dm-fb-merge/src/other/libgdiam/gdiam.hpp
    brlcad/branches/dm-fb-merge/src/other/libnetpbm/pm.h
    brlcad/branches/dm-fb-merge/src/other/libnetpbm/ppm.h
    brlcad/branches/dm-fb-merge/src/other/libspsr/Src/SPSR.h
    brlcad/branches/dm-fb-merge/src/other/libvds/vds.h
    brlcad/branches/dm-fb-merge/src/other/lz4/lz4.h
    brlcad/branches/dm-fb-merge/src/other/openNURBS/CMakeLists.txt
    brlcad/branches/dm-fb-merge/src/other/openNURBS/opennurbs_defines.h
    brlcad/branches/dm-fb-merge/src/other/openNURBS/opennurbs_extensions.cpp
    brlcad/branches/dm-fb-merge/src/other/openNURBS/opennurbs_extensions.h
    brlcad/branches/dm-fb-merge/src/other/poly2tri/poly2tri/common/shapes.h
    brlcad/branches/dm-fb-merge/src/other/poly2tri/poly2tri/sweep/cdt.h
    brlcad/branches/dm-fb-merge/src/other/stepcode/include/sc_export.h
    brlcad/branches/dm-fb-merge/src/other/stepcode/src/base/judy/src/judy.h
    
brlcad/branches/dm-fb-merge/src/other/stepcode/src/exp2cxx/classes_wrapper.cc

Removed Paths:
-------------
    brlcad/branches/dm-fb-merge/misc/CMake/FindFontconfig.cmake
    brlcad/branches/dm-fb-merge/misc/CMake/FindGDAL.cmake

Property Changed:
----------------
    brlcad/branches/dm-fb-merge/
    brlcad/branches/dm-fb-merge/include/
    brlcad/branches/dm-fb-merge/regress/
    brlcad/branches/dm-fb-merge/src/libbu/
    brlcad/branches/dm-fb-merge/src/other/
    brlcad/branches/dm-fb-merge/src/other/libgdiam/
    brlcad/branches/dm-fb-merge/src/other/libnetpbm/
    brlcad/branches/dm-fb-merge/src/other/libspsr/
    brlcad/branches/dm-fb-merge/src/other/libvds/
    brlcad/branches/dm-fb-merge/src/other/poly2tri/
    brlcad/branches/dm-fb-merge/src/other/stepcode/

Index: brlcad/branches/dm-fb-merge
===================================================================
--- brlcad/branches/dm-fb-merge 2020-05-26 02:45:23 UTC (rev 75934)
+++ brlcad/branches/dm-fb-merge 2020-05-26 02:53:36 UTC (rev 75935)

Property changes on: brlcad/branches/dm-fb-merge
___________________________________________________________________
Modified: svn:mergeinfo
## -1,5 +1,5 ##
 
/brlcad/branches/RELEASE:57439,57447-57860,69901-69913,70323-70333,71915-72242,72525-72534,72826-72858,74376-74454,74964-75140,75682-75685
-/brlcad/branches/bioh:75720-75736,75740-75742
+/brlcad/branches/bioh:75720-75736,75740-75742,75860-75891
 
/brlcad/branches/brep-debug:61373,61375,61404,61427,61429,61470,61544,61567,61576,61999,62018,62094,62098,62107,62117,62406,62416-62519,62521-62584,62593-62614,62623,62658,62660-62674,62681-62771,62876,62901,62907,62910,62925,62928,62931-63025,63027,63051,63054-63056,63069,63071-63073,63122,63160-63161,63165,63171,63184,63187,63189-63190,63193-63196,63200,63202,63205-63210,63213,63219-63225,63232-63233,63236,63238,63338,63350-63353,63481,63618,63669,64173-64174,64176-64177,64229-64233,64242,64244,64360-64362,65165,65245,65249,65334,65833-65834,66370-66375,66931-66932,66934,67012-67015,67018-67019,67021-67022,67406,67740,67746-67748,67950,67952,68144-68145,68636,68640-68643,68820,69081,69109,69168,69206,69289,69346,69460-69461,69582-69583,69719-69721,69857-69859,69927,69995-69996,70148-70149,70347-70349,70377,70526-70527,71006-71007,71009-71022,71046-71047,71049,71096-71100
 /brlcad/branches/bullet:62518
 /brlcad/branches/cmake:43219
## -8,4 +8,4 ##
 /brlcad/branches/osg:62110-62113
 /brlcad/branches/prep-cache:68236-68933
 /brlcad/branches/tcltk86:68300-75257
-/brlcad/trunk:75440-75879
\ No newline at end of property
+/brlcad/trunk:75440-75934
\ No newline at end of property
Modified: brlcad/branches/dm-fb-merge/CMakeLists.txt
===================================================================
--- brlcad/branches/dm-fb-merge/CMakeLists.txt  2020-05-26 02:45:23 UTC (rev 
75934)
+++ brlcad/branches/dm-fb-merge/CMakeLists.txt  2020-05-26 02:53:36 UTC (rev 
75935)
@@ -114,14 +114,9 @@
 include(CMakeDependentOption)
 
 #---------------------------------------------------------------------
-# Check whether we need to add import/export lines to libraries
-if(MSVC)
-  set(CPP_DLL_DEFINES 1)
-endif(MSVC)
-
 # Define an option to use OBJECT libraries - when we build this
 # way, we also need position independent code.
-cmake_dependent_option(USE_OBJECT_LIBS "Use OBJECT libraries" ON "NOT 
CPP_DLL_DEFINES" OFF)
+cmake_dependent_option(USE_OBJECT_LIBS "Use OBJECT libraries" ON "NOT MSVC" 
OFF)
 mark_as_advanced(USE_OBJECT_LIBS)
 if(USE_OBJECT_LIBS)
   set(CMAKE_POSITION_INDEPENDENT_CODE TRUE)
@@ -1735,6 +1730,23 @@
 CHECK_C_FLAG(pipe)
 CHECK_CXX_FLAG(pipe)
 
+# Enable visibility restrictions.  We have to deal with this on Windows, so
+# enable it wherever we can to keep the code working across all platforms.
+CHECK_C_FLAG(fvisibility=hidden)
+CHECK_CXX_FLAG(fvisibility=hidden)
+# If we can, hide internal library symbols
+if(FVISIBILITY_HIDDEN_CXX_FLAG_FOUND)
+  set(HIDE_INTERNAL_SYMBOLS 1)
+endif(FVISIBILITY_HIDDEN_CXX_FLAG_FOUND)
+if(MSVC)
+  # On platforms other than MSVC, the hidden symbols are a convenience and may
+  # not be supported by system lib headers.  With Visual Studio, they are a
+  # necessity - define an extra flag so we know to always set them in that
+  # case in order to properly link against the system libs.
+  set(HIDE_INTERNAL_SYMBOLS 1)
+  set(HIDE_INTERNAL_SYMBOLS_EXT 1)
+endif(MSVC)
+
 # check for -fno-strict-aliasing
 # XXX - THIS FLAG IS REQUIRED if any level of optimization is
 # enabled with GCC as we do use aliasing and type-punning.
@@ -1954,7 +1966,20 @@
   CONFIG_H_APPEND(BRLCAD "#define HAVE_WARN_UNUSED_RESULT_ATTRIBUTE 1\n")
 endif(HAVE_WARN_UNUSED_RESULT_ATTRIBUTE)
 
+# Check whether the compiler supports __attribute__((visibility ("default")))
+check_c_source_compiles(" __attribute__((visibility (\"default\"))) int 
*func(int *); int *func(int *v){(*v)-=1; return v;} int main(int argc, char 
*argv[]) {int v = 1; int *vp = func(&v); return *vp;}" 
HAVE_VISIBILITY_DEFAULT_ATTRIBUTE)
+if(HAVE_VISIBILITY_DEFAULT_ATTRIBUTE)
+  CONFIG_H_APPEND(BRLCAD "#define COMPILER_DLLEXPORT __attribute__ 
((visibility (\"default\")))\n")
+  CONFIG_H_APPEND(BRLCAD "#define COMPILER_DLLIMPORT __attribute__ 
((visibility (\"default\")))\n")
+endif(HAVE_VISIBILITY_DEFAULT_ATTRIBUTE)
 
+# Check whether the compiler supports __declspec(dllexport)
+check_c_source_compiles(" __declspec(dllexport) int *func(int *); int 
*func(int *v){(*v)-=1; return v;} int main(int argc, char *argv[]) {int v = 1; 
int *vp = func(&v); return *vp;}" HAVE_DECLSPEC_EXPORT_ATTRIBUTE)
+if(HAVE_DECLSPEC_EXPORT_ATTRIBUTE)
+  CONFIG_H_APPEND(BRLCAD "#define COMPILER_DLLEXPORT __declspec(dllexport)\n")
+  CONFIG_H_APPEND(BRLCAD "#define COMPILER_DLLIMPORT __declspec(dllimport)\n")
+endif(HAVE_DECLSPEC_EXPORT_ATTRIBUTE)
+
 # Silence check for unused arguments (used to silence clang warnings about
 # unused options on the command line). By default clang generates a lot of
 # warnings about such arguments, and we don't really care.
@@ -2478,6 +2503,27 @@
   set(CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES_BAK})
 endif("${HAVE_TIMESETEVENT}" MATCHES "^${HAVE_TIMESETEVENT}$")
 
+# Grumble... find_library doesn't find ws2_32.  Until we come up with
+# working tests for these, set them by hand
+if(MSVC)
+  set(COMCTL32_LIBRARY comctl32.lib)
+  set(IMM32_LIBRARY imm32.lib)
+  # TODO - mged and adrt call this specific OpenGL library out - why doesn't
+  # OPENGL_LIBRARIES do the trick?
+  set(OPENGL32_LIBRARY opengl32.lib)
+  set(PSAPI_LIB psapi.lib)
+  set(RPCRT_LIB rpcrt4.lib)
+  set(WINSOCK_LIB ws2_32.lib)
+  set(WS2_32_LIBRARY ws2_32)
+else(MSVC)
+  set(COMCTL32_LIBRARY "")
+  set(IMM32_LIBRARY "")
+  set(OPENGL32_LIBRARY "")
+  set(PSAPI_LIB "")
+  set(RPCRT_LIB "")
+  set(WINSOCK_LIB "")
+  set(WS2_32_LIBRARY "")
+endif(MSVC)
 
 # *******************************************************************
 if(BRLCAD_PRINT_MSGS)
@@ -3055,12 +3101,7 @@
     return 0;
 }
 ")
-# Grumble... find_library doesn't find ws2_32, so set it by hand.
-if(CPP_DLL_DEFINES)
-  set(WS2_32_LIBRARY ws2_32)
-else(CPP_DLL_DEFINES)
-  set(WS2_32_LIBRARY "")
-endif(CPP_DLL_DEFINES)
+
 file(WRITE "${CMAKE_BINARY_DIR}/CMakeTmp/report_hostname.c" 
"${report_hostname_src}")
 try_run(RH_RESULT RH_COMPILED "${CMAKE_BINARY_DIR}/CMakeTmp"
   "${CMAKE_BINARY_DIR}/CMakeTmp/report_hostname.c"

Modified: brlcad/branches/dm-fb-merge/HACKING
===================================================================
--- brlcad/branches/dm-fb-merge/HACKING 2020-05-26 02:45:23 UTC (rev 75934)
+++ brlcad/branches/dm-fb-merge/HACKING 2020-05-26 02:53:36 UTC (rev 75935)
@@ -418,10 +418,12 @@
 except in very specific cases (should be discussed with the
 development team ahead of time to get consensus on the necessity.)
 
-There is currently no C++ interface to the core BRL-CAD libraries. If
-such an interface is eventually developed, it will be done separately
-rather than mixing C++ semantics into existing APIs.
+There is a C++ interface to the core BRL-CAD libraries called MOOSE
+that is maintained in a separate repository.  It is developed with
+separation in order to avoid mixing C++ semantics into existing APIs
+and to ensure clean separation of responsibilities and modularity.
 
+
 CODING STYLE & STANDARDS
 ------------------------
 
@@ -829,19 +831,16 @@
 
 All public library functions and most private or application functions
 should be appropriately documented using Doxygen/Javadoc style
-comments.  Without getting into the advanced details, this minimally
-means that you need to add an additional asterisk to a comment that
-precedes your functions:
+comments.  This minimally means that you need to add an additional
+asterisk to a comment that precedes your functions.  Public functions
+must be exported and imported using per-library macros that precede
+public symbol declarations (e.g., BU_EXPORT int func();).  Example:
 
 /**
  * Computes the answer to the meaning of life, the universe, and
  * everything.
  */
-int
-the_answer(void)
-{
-    return 42;
-}
+MYLIB_EXPORT int mylib_function();
 
 
 TESTING & DEBUGGING

Index: brlcad/branches/dm-fb-merge/include
===================================================================
--- brlcad/branches/dm-fb-merge/include 2020-05-26 02:45:23 UTC (rev 75934)
+++ brlcad/branches/dm-fb-merge/include 2020-05-26 02:53:36 UTC (rev 75935)

Property changes on: brlcad/branches/dm-fb-merge/include
___________________________________________________________________
Modified: svn:mergeinfo
## -1,5 +1,5 ##
 
/brlcad/branches/RELEASE/include:57439,57447-57860,69901-69913,71915-72242,72525-72534,72826-72858,74376-74454,74964-75140
-/brlcad/branches/bioh/include:75720-75736,75740-75742
+/brlcad/branches/bioh/include:75720-75736,75740-75742,75860-75891
 
/brlcad/branches/brep-debug/include:61373,61375,61404,61427,61429,61470,61544,61567,61576,61999,62018,62094,62098,62107,62117,62406,62416-62519,62521-62584,62593-62614,62623,62658,62660-62674,62681-62771,62876,62901,62907,62910,62925,62928,62931-63025,63027,63051,63054-63056,63069,63071-63073,63122,63160-63161,63165,63171,63184,63187,63189-63190,63193-63196,63200,63202,63205-63210,63213,63219-63225,63232-63233,63236,63238,63338,63350-63353,63481,63618,63669,64173-64174,64176-64177,64229-64233,64242,64244,64360-64362,65165,65245,65249,65334,65833-65834,66370-66375,66931-66932,66934,67012-67015,67018-67019,67021-67022,67406,67740,67746-67748,67950,67952,68144-68145,68636,68640-68643,68820,69081,69109,69206,69289,69346,69460-69461,69582-69583,69719-69721,69857-69859,69927
 /brlcad/branches/bullet/include:62518
 /brlcad/branches/cmake/include:43219
## -8,4 +8,4 ##
 /brlcad/branches/osg/include:62110-62113
 /brlcad/branches/prep-cache/include:68236-68933
 /brlcad/branches/tcltk86/include:68300-75257
-/brlcad/trunk/include:75463-75467,75630-75814
\ No newline at end of property
+/brlcad/trunk/include:75463-75467,75630-75814,75880-75934
\ No newline at end of property
Modified: brlcad/branches/dm-fb-merge/include/analyze/defines.h
===================================================================
--- brlcad/branches/dm-fb-merge/include/analyze/defines.h       2020-05-26 
02:45:23 UTC (rev 75934)
+++ brlcad/branches/dm-fb-merge/include/analyze/defines.h       2020-05-26 
02:53:36 UTC (rev 75935)
@@ -35,9 +35,9 @@
 #  if defined(ANALYZE_DLL_EXPORTS) && defined(ANALYZE_DLL_IMPORTS)
 #    error "Only ANALYZE_DLL_EXPORTS or ANALYZE_DLL_IMPORTS can be defined, 
not both."
 #  elif defined(ANALYZE_DLL_EXPORTS)
-#    define ANALYZE_EXPORT __declspec(dllexport)
+#    define ANALYZE_EXPORT COMPILER_DLLEXPORT
 #  elif defined(ANALYZE_DLL_IMPORTS)
-#    define ANALYZE_EXPORT __declspec(dllimport)
+#    define ANALYZE_EXPORT COMPILER_DLLIMPORT
 #  else
 #    define ANALYZE_EXPORT
 #  endif

Modified: brlcad/branches/dm-fb-merge/include/bg/defines.h
===================================================================
--- brlcad/branches/dm-fb-merge/include/bg/defines.h    2020-05-26 02:45:23 UTC 
(rev 75934)
+++ brlcad/branches/dm-fb-merge/include/bg/defines.h    2020-05-26 02:53:36 UTC 
(rev 75935)
@@ -35,9 +35,9 @@
 #  if defined(BG_DLL_EXPORTS) && defined(BG_DLL_IMPORTS)
 #    error "Only BG_DLL_EXPORTS or BG_DLL_IMPORTS can be defined, not both."
 #  elif defined(BG_DLL_EXPORTS)
-#    define BG_EXPORT __declspec(dllexport)
+#    define BG_EXPORT COMPILER_DLLEXPORT
 #  elif defined(BG_DLL_IMPORTS)
-#    define BG_EXPORT __declspec(dllimport)
+#    define BG_EXPORT COMPILER_DLLIMPORT
 #  else
 #    define BG_EXPORT
 #  endif

Modified: brlcad/branches/dm-fb-merge/include/bn/defines.h
===================================================================
--- brlcad/branches/dm-fb-merge/include/bn/defines.h    2020-05-26 02:45:23 UTC 
(rev 75934)
+++ brlcad/branches/dm-fb-merge/include/bn/defines.h    2020-05-26 02:53:36 UTC 
(rev 75935)
@@ -34,9 +34,9 @@
 #  if defined(BN_DLL_EXPORTS) && defined(BN_DLL_IMPORTS)
 #    error "Only BN_DLL_EXPORTS or BN_DLL_IMPORTS can be defined, not both."
 #  elif defined(BN_DLL_EXPORTS)
-#    define BN_EXPORT __declspec(dllexport)
+#    define BN_EXPORT COMPILER_DLLEXPORT
 #  elif defined(BN_DLL_IMPORTS)
-#    define BN_EXPORT __declspec(dllimport)
+#    define BN_EXPORT COMPILER_DLLIMPORT
 #  else
 #    define BN_EXPORT
 #  endif

Modified: brlcad/branches/dm-fb-merge/include/brep/defines.h
===================================================================
--- brlcad/branches/dm-fb-merge/include/brep/defines.h  2020-05-26 02:45:23 UTC 
(rev 75934)
+++ brlcad/branches/dm-fb-merge/include/brep/defines.h  2020-05-26 02:53:36 UTC 
(rev 75935)
@@ -67,9 +67,9 @@
 #  if defined(BREP_DLL_EXPORTS) && defined(BREP_DLL_IMPORTS)
 #    error "Only BREP_DLL_EXPORTS or BREP_DLL_IMPORTS can be defined, not 
both."
 #  elif defined(BREP_DLL_EXPORTS)
-#    define BREP_EXPORT __declspec(dllexport)
+#    define BREP_EXPORT COMPILER_DLLEXPORT
 #  elif defined(BREP_DLL_IMPORTS)
-#    define BREP_EXPORT __declspec(dllimport)
+#    define BREP_EXPORT COMPILER_DLLIMPORT
 #  else
 #    define BREP_EXPORT
 #  endif

Modified: brlcad/branches/dm-fb-merge/include/bu/defines.h
===================================================================
--- brlcad/branches/dm-fb-merge/include/bu/defines.h    2020-05-26 02:45:23 UTC 
(rev 75934)
+++ brlcad/branches/dm-fb-merge/include/bu/defines.h    2020-05-26 02:53:36 UTC 
(rev 75935)
@@ -38,9 +38,9 @@
 #  if defined(BU_DLL_EXPORTS) && defined(BU_DLL_IMPORTS)
 #    error "Only BU_DLL_EXPORTS or BU_DLL_IMPORTS can be defined, not both."
 #  elif defined(BU_DLL_EXPORTS)
-#    define BU_EXPORT __declspec(dllexport)
+#    define BU_EXPORT COMPILER_DLLEXPORT
 #  elif defined(BU_DLL_IMPORTS)
-#    define BU_EXPORT __declspec(dllimport)
+#    define BU_EXPORT COMPILER_DLLIMPORT
 #  else
 #    define BU_EXPORT
 #  endif

Modified: brlcad/branches/dm-fb-merge/include/common.h
===================================================================
--- brlcad/branches/dm-fb-merge/include/common.h        2020-05-26 02:45:23 UTC 
(rev 75934)
+++ brlcad/branches/dm-fb-merge/include/common.h        2020-05-26 02:53:36 UTC 
(rev 75935)
@@ -524,7 +524,6 @@
 #  define CPP_FILELINE __FILE__ ":" CPP_XSTR(__LINE__)
 #endif
 
-
 #endif  /* COMMON_H */
 
 /** @} */

Modified: brlcad/branches/dm-fb-merge/include/dm/defines.h
===================================================================
--- brlcad/branches/dm-fb-merge/include/dm/defines.h    2020-05-26 02:45:23 UTC 
(rev 75934)
+++ brlcad/branches/dm-fb-merge/include/dm/defines.h    2020-05-26 02:53:36 UTC 
(rev 75935)
@@ -30,9 +30,9 @@
 #  if defined(DM_DLL_EXPORTS) && defined(DM_DLL_IMPORTS)
 #    error "Only DM_DLL_EXPORTS or DM_DLL_IMPORTS can be defined, not both."
 #  elif defined(DM_DLL_EXPORTS)
-#    define DM_EXPORT __declspec(dllexport)
+#    define DM_EXPORT COMPILER_DLLEXPORT
 #  elif defined(DM_DLL_IMPORTS)
-#    define DM_EXPORT __declspec(dllimport)
+#    define DM_EXPORT COMPILER_DLLIMPORT
 #  else
 #    define DM_EXPORT
 #  endif
@@ -42,9 +42,9 @@
 #  if defined(FB_DLL_EXPORTS) && defined(FB_DLL_IMPORTS)
 #    error "Only FB_DLL_EXPORTS or FB_DLL_IMPORTS can be defined, not both."
 #  elif defined(FB_DLL_EXPORTS)
-#    define FB_EXPORT __declspec(dllexport)
+#    define FB_EXPORT COMPILER_DLLEXPORT
 #  elif defined(FB_DLL_IMPORTS)
-#    define FB_EXPORT __declspec(dllimport)
+#    define FB_EXPORT COMPILER_DLLIMPORT
 #  else
 #    define FB_EXPORT
 #  endif

Modified: brlcad/branches/dm-fb-merge/include/fft.h
===================================================================
--- brlcad/branches/dm-fb-merge/include/fft.h   2020-05-26 02:45:23 UTC (rev 
75934)
+++ brlcad/branches/dm-fb-merge/include/fft.h   2020-05-26 02:53:36 UTC (rev 
75935)
@@ -44,9 +44,9 @@
 #  if defined(FFT_DLL_EXPORTS) && defined(FFT_DLL_IMPORTS)
 #    error "Only FFT_DLL_EXPORTS or FFT_DLL_IMPORTS can be defined, not both."
 #  elif defined(FFT_DLL_EXPORTS)
-#    define FFT_EXPORT __declspec(dllexport)
+#    define FFT_EXPORT COMPILER_DLLEXPORT
 #  elif defined(FFT_DLL_IMPORTS)
-#    define FFT_EXPORT __declspec(dllimport)
+#    define FFT_EXPORT COMPILER_DLLIMPORT
 #  else
 #    define FFT_EXPORT
 #  endif

Modified: brlcad/branches/dm-fb-merge/include/gcv/defines.h
===================================================================
--- brlcad/branches/dm-fb-merge/include/gcv/defines.h   2020-05-26 02:45:23 UTC 
(rev 75934)
+++ brlcad/branches/dm-fb-merge/include/gcv/defines.h   2020-05-26 02:53:36 UTC 
(rev 75935)
@@ -34,9 +34,9 @@
 #  if defined(GCV_DLL_EXPORTS) && defined(GCV_DLL_IMPORTS)
 #    error "Only GCV_DLL_EXPORTS or GCV_DLL_IMPORTS can be defined, not both."
 #  elif defined(GCV_DLL_EXPORTS)
-#    define GCV_EXPORT __declspec(dllexport)
+#    define GCV_EXPORT COMPILER_DLLEXPORT
 #  elif defined(GCV_DLL_IMPORTS)
-#    define GCV_EXPORT __declspec(dllimport)
+#    define GCV_EXPORT COMPILER_DLLIMPORT
 #  else
 #    define GCV_EXPORT
 #  endif

Modified: brlcad/branches/dm-fb-merge/include/ged/defines.h
===================================================================
--- brlcad/branches/dm-fb-merge/include/ged/defines.h   2020-05-26 02:45:23 UTC 
(rev 75934)
+++ brlcad/branches/dm-fb-merge/include/ged/defines.h   2020-05-26 02:53:36 UTC 
(rev 75935)
@@ -42,9 +42,9 @@
 #  if defined(GED_DLL_EXPORTS) && defined(GED_DLL_IMPORTS)
 #    error "Only GED_DLL_EXPORTS or GED_DLL_IMPORTS can be defined, not both."
 #  elif defined(GED_DLL_EXPORTS)
-#    define GED_EXPORT __declspec(dllexport)
+#    define GED_EXPORT COMPILER_DLLEXPORT
 #  elif defined(GED_DLL_IMPORTS)
-#    define GED_EXPORT __declspec(dllimport)
+#    define GED_EXPORT COMPILER_DLLIMPORT
 #  else
 #    define GED_EXPORT
 #  endif

Modified: brlcad/branches/dm-fb-merge/include/icv/defines.h
===================================================================
--- brlcad/branches/dm-fb-merge/include/icv/defines.h   2020-05-26 02:45:23 UTC 
(rev 75934)
+++ brlcad/branches/dm-fb-merge/include/icv/defines.h   2020-05-26 02:53:36 UTC 
(rev 75935)
@@ -39,9 +39,9 @@
 #  if defined(ICV_DLL_EXPORTS) && defined(ICV_DLL_IMPORTS)
 #    error "Only ICV_DLL_EXPORTS or ICV_DLL_IMPORTS can be defined, not both."
 #  elif defined(ICV_DLL_EXPORTS)
-#    define ICV_EXPORT __declspec(dllexport)
+#    define ICV_EXPORT COMPILER_DLLEXPORT
 #  elif defined(ICV_DLL_IMPORTS)
-#    define ICV_EXPORT __declspec(dllimport)
+#    define ICV_EXPORT COMPILER_DLLIMPORT
 #  else
 #    define ICV_EXPORT
 #  endif

Modified: brlcad/branches/dm-fb-merge/include/libtermio.h
===================================================================
--- brlcad/branches/dm-fb-merge/include/libtermio.h     2020-05-26 02:45:23 UTC 
(rev 75934)
+++ brlcad/branches/dm-fb-merge/include/libtermio.h     2020-05-26 02:53:36 UTC 
(rev 75935)
@@ -47,22 +47,33 @@
 #  endif /* BSD */
 #endif /* HAVE_TERMIOS_H */
 
+#ifndef TERMIO_EXPORT
+#  if defined(TERMIO_DLL_EXPORTS) && defined(TERMIO_DLL_IMPORTS)
+#    error "Only TERMIO_DLL_EXPORTS or TERMIO_DLL_IMPORTS can be defined, not 
both."
+#  elif defined(TERMIO_DLL_EXPORTS)
+#    define TERMIO_EXPORT COMPILER_DLLEXPORT
+#  elif defined(TERMIO_DLL_IMPORTS)
+#    define TERMIO_EXPORT COMPILER_DLLIMPORT
+#  else
+#    define TERMIO_EXPORT
+#  endif
+#endif
 
 __BEGIN_DECLS
 
 void clr_Cbreak(int fd);
-void set_Cbreak(int fd);
+TERMIO_EXPORT void set_Cbreak(int fd);
 void clr_Raw(int fd);
-void set_Raw(int fd);
+TERMIO_EXPORT void set_Raw(int fd);
 void set_Echo(int fd);
-void clr_Echo(int fd);
+TERMIO_EXPORT void clr_Echo(int fd);
 void set_Tabs(int fd);
 void clr_Tabs(int fd);
 void set_HUPCL(int fd);
 void clr_CRNL(int fd);
 unsigned short get_O_Speed(int fd);
-void save_Tty(int fd);
-void reset_Tty(int fd);
+TERMIO_EXPORT void save_Tty(int fd);
+TERMIO_EXPORT void reset_Tty(int fd);
 int save_Fil_Stat(int fd);
 int reset_Fil_Stat(int fd);
 int set_O_NDELAY(int fd);

Modified: brlcad/branches/dm-fb-merge/include/nmg.h
===================================================================
--- brlcad/branches/dm-fb-merge/include/nmg.h   2020-05-26 02:45:23 UTC (rev 
75934)
+++ brlcad/branches/dm-fb-merge/include/nmg.h   2020-05-26 02:53:36 UTC (rev 
75935)
@@ -86,9 +86,9 @@
 #  if defined(NMG_DLL_EXPORTS) && defined(NMG_DLL_IMPORTS)
 #    error "Only NMG_DLL_EXPORTS or NMG_DLL_IMPORTS can be defined, not both."
 #  elif defined(NMG_DLL_EXPORTS)
-#    define NMG_EXPORT __declspec(dllexport)
+#    define NMG_EXPORT COMPILER_DLLEXPORT
 #  elif defined(NMG_DLL_IMPORTS)
-#    define NMG_EXPORT __declspec(dllimport)
+#    define NMG_EXPORT COMPILER_DLLIMPORT
 #  else
 #    define NMG_EXPORT
 #  endif

Modified: brlcad/branches/dm-fb-merge/include/optical/defines.h
===================================================================
--- brlcad/branches/dm-fb-merge/include/optical/defines.h       2020-05-26 
02:45:23 UTC (rev 75934)
+++ brlcad/branches/dm-fb-merge/include/optical/defines.h       2020-05-26 
02:53:36 UTC (rev 75935)
@@ -42,9 +42,9 @@
 #  if defined(OPTICAL_DLL_EXPORTS) && defined(OPTICAL_DLL_IMPORTS)
 #    error "Only OPTICAL_DLL_EXPORTS or OPTICAL_DLL_IMPORTS can be defined, 
not both."
 #  elif defined(OPTICAL_DLL_EXPORTS)
-#    define OPTICAL_EXPORT __declspec(dllexport)
+#    define OPTICAL_EXPORT COMPILER_DLLEXPORT
 #  elif defined(OPTICAL_DLL_IMPORTS)
-#    define OPTICAL_EXPORT __declspec(dllimport)
+#    define OPTICAL_EXPORT COMPILER_DLLIMPORT
 #  else
 #    define OPTICAL_EXPORT
 #  endif

Modified: brlcad/branches/dm-fb-merge/include/pc.h
===================================================================
--- brlcad/branches/dm-fb-merge/include/pc.h    2020-05-26 02:45:23 UTC (rev 
75934)
+++ brlcad/branches/dm-fb-merge/include/pc.h    2020-05-26 02:53:36 UTC (rev 
75935)
@@ -39,9 +39,9 @@
 #  if defined(PC_DLL_EXPORTS) && defined(PC_DLL_IMPORTS)
 #    error "Only PC_DLL_EXPORTS or PC_DLL_IMPORTS can be defined, not both."
 #  elif defined(PC_DLL_EXPORTS)
-#    define PC_EXPORT __declspec(dllexport)
+#    define PC_EXPORT COMPILER_DLLEXPORT
 #  elif defined(PC_DLL_IMPORTS)
-#    define PC_EXPORT __declspec(dllimport)
+#    define PC_EXPORT COMPILER_DLLIMPORT
 #  else
 #    define PC_EXPORT
 #  endif

Modified: brlcad/branches/dm-fb-merge/include/pkg.h
===================================================================
--- brlcad/branches/dm-fb-merge/include/pkg.h   2020-05-26 02:45:23 UTC (rev 
75934)
+++ brlcad/branches/dm-fb-merge/include/pkg.h   2020-05-26 02:53:36 UTC (rev 
75935)
@@ -38,9 +38,9 @@
 #  if defined(PKG_DLL_EXPORTS) && defined(PKG_DLL_IMPORTS)
 #    error "Only PKG_DLL_EXPORTS or PKG_DLL_IMPORTS can be defined, not both."
 #  elif defined(PKG_DLL_EXPORTS)
-#    define PKG_EXPORT __declspec(dllexport)
+#    define PKG_EXPORT COMPILER_DLLEXPORT
 #  elif defined(PKG_DLL_IMPORTS)
-#    define PKG_EXPORT __declspec(dllimport)
+#    define PKG_EXPORT COMPILER_DLLIMPORT
 #  else
 #    define PKG_EXPORT
 #  endif
@@ -51,6 +51,9 @@
 extern "C" {
 #endif
 
+/* ?? used in remrt */
+PKG_EXPORT extern int pkg_permport;
+
 struct pkg_conn;
 
 typedef void (*pkg_callback)(struct pkg_conn*, char*);

Modified: brlcad/branches/dm-fb-merge/include/rt/db5.h
===================================================================
--- brlcad/branches/dm-fb-merge/include/rt/db5.h        2020-05-26 02:45:23 UTC 
(rev 75934)
+++ brlcad/branches/dm-fb-merge/include/rt/db5.h        2020-05-26 02:53:36 UTC 
(rev 75935)
@@ -41,9 +41,9 @@
 #  if defined(RT_DLL_EXPORTS) && defined(RT_DLL_IMPORTS)
 #    error "Only RT_DLL_EXPORTS or RT_DLL_IMPORTS can be defined, not both."
 #  elif defined(RT_DLL_EXPORTS)
-#    define RT_EXPORT __declspec(dllexport)
+#    define RT_EXPORT COMPILER_DLLEXPORT
 #  elif defined(RT_DLL_IMPORTS)
-#    define RT_EXPORT __declspec(dllimport)
+#    define RT_EXPORT COMPILER_DLLIMPORT
 #  else
 #    define RT_EXPORT
 #  endif

Modified: brlcad/branches/dm-fb-merge/include/rt/defines.h
===================================================================
--- brlcad/branches/dm-fb-merge/include/rt/defines.h    2020-05-26 02:45:23 UTC 
(rev 75934)
+++ brlcad/branches/dm-fb-merge/include/rt/defines.h    2020-05-26 02:53:36 UTC 
(rev 75935)
@@ -33,9 +33,9 @@
 #  if defined(RT_DLL_EXPORTS) && defined(RT_DLL_IMPORTS)
 #    error "Only RT_DLL_EXPORTS or RT_DLL_IMPORTS can be defined, not both."
 #  elif defined(RT_DLL_EXPORTS)
-#    define RT_EXPORT __declspec(dllexport)
+#    define RT_EXPORT COMPILER_DLLEXPORT
 #  elif defined(RT_DLL_IMPORTS)
-#    define RT_EXPORT __declspec(dllimport)
+#    define RT_EXPORT COMPILER_DLLIMPORT
 #  else
 #    define RT_EXPORT
 #  endif

Modified: brlcad/branches/dm-fb-merge/include/rt/tie.h
===================================================================
--- brlcad/branches/dm-fb-merge/include/rt/tie.h        2020-05-26 02:45:23 UTC 
(rev 75934)
+++ brlcad/branches/dm-fb-merge/include/rt/tie.h        2020-05-26 02:53:36 UTC 
(rev 75935)
@@ -35,9 +35,9 @@
 #  if defined(RT_DLL_EXPORTS) && defined(RT_DLL_IMPORTS)
 #    error "Only RT_DLL_EXPORTS or RT_DLL_IMPORTS can be defined, not both."
 #  elif defined(RT_DLL_EXPORTS)
-#    define RT_EXPORT __declspec(dllexport)
+#    define RT_EXPORT COMPILER_DLLEXPORT
 #  elif defined(RT_DLL_IMPORTS)
-#    define RT_EXPORT __declspec(dllimport)
+#    define RT_EXPORT COMPILER_DLLIMPORT
 #  else
 #    define RT_EXPORT
 #  endif

Modified: brlcad/branches/dm-fb-merge/include/tclcad.h
===================================================================
--- brlcad/branches/dm-fb-merge/include/tclcad.h        2020-05-26 02:45:23 UTC 
(rev 75934)
+++ brlcad/branches/dm-fb-merge/include/tclcad.h        2020-05-26 02:53:36 UTC 
(rev 75935)
@@ -44,9 +44,9 @@
 #  if defined(TCLCAD_DLL_EXPORTS) && defined(TCLCAD_DLL_IMPORTS)
 #    error "Only TCLCAD_DLL_EXPORTS or TCLCAD_DLL_IMPORTS can be defined, not 
both."
 #  elif defined(TCLCAD_DLL_EXPORTS)
-#    define TCLCAD_EXPORT __declspec(dllexport)
+#    define TCLCAD_EXPORT COMPILER_DLLEXPORT
 #  elif defined(TCLCAD_DLL_IMPORTS)
-#    define TCLCAD_EXPORT __declspec(dllimport)
+#    define TCLCAD_EXPORT COMPILER_DLLIMPORT
 #  else
 #    define TCLCAD_EXPORT
 #  endif

Modified: brlcad/branches/dm-fb-merge/include/wdb.h
===================================================================
--- brlcad/branches/dm-fb-merge/include/wdb.h   2020-05-26 02:45:23 UTC (rev 
75934)
+++ brlcad/branches/dm-fb-merge/include/wdb.h   2020-05-26 02:53:36 UTC (rev 
75935)
@@ -59,9 +59,9 @@
 #  if defined(WDB_DLL_EXPORTS) && defined(WDB_DLL_IMPORTS)
 #    error "Only WDB_DLL_EXPORTS or WDB_DLL_IMPORTS can be defined, not both."
 #  elif defined(WDB_DLL_EXPORTS)
-#    define WDB_EXPORT __declspec(dllexport)
+#    define WDB_EXPORT COMPILER_DLLEXPORT
 #  elif defined(WDB_DLL_IMPORTS)
-#    define WDB_EXPORT __declspec(dllimport)
+#    define WDB_EXPORT COMPILER_DLLIMPORT
 #  else
 #    define WDB_EXPORT
 #  endif

Modified: brlcad/branches/dm-fb-merge/misc/CMake/BRLCAD_Targets.cmake
===================================================================
--- brlcad/branches/dm-fb-merge/misc/CMake/BRLCAD_Targets.cmake 2020-05-26 
02:45:23 UTC (rev 75934)
+++ brlcad/branches/dm-fb-merge/misc/CMake/BRLCAD_Targets.cmake 2020-05-26 
02:53:36 UTC (rev 75935)
@@ -465,11 +465,11 @@
     set(lsrcslist $<TARGET_OBJECTS:${libname}-obj>)
     set_target_properties(${libname}-obj PROPERTIES FOLDER "BRL-CAD OBJECT 
Libraries${SUBFOLDER}")
 
-    if(CPP_DLL_DEFINES)
+    if(HIDE_INTERNAL_SYMBOLS)
       string(REPLACE "lib" "" LOWERCORE "${libname}")
       string(TOUPPER ${LOWERCORE} UPPER_CORE)
       set_property(TARGET ${libname}-obj APPEND PROPERTY COMPILE_DEFINITIONS 
"${UPPER_CORE}_DLL_EXPORTS")
-    endif(CPP_DLL_DEFINES)
+    endif(HIDE_INTERNAL_SYMBOLS)
 
     if(NOT "${libslist}" STREQUAL "" AND NOT "${libslist}" STREQUAL "NONE")
       foreach(ll ${libslist})
@@ -486,12 +486,12 @@
 
     add_library(${libname} SHARED ${lsrcslist} ${L_SHARED_SRCS})
 
-    if(CPP_DLL_DEFINES)
+    if(HIDE_INTERNAL_SYMBOLS)
       string(REPLACE "lib" "" LOWERCORE "${libname}")
       string(TOUPPER ${LOWERCORE} UPPER_CORE)
       set_property(TARGET ${libname} APPEND PROPERTY COMPILE_DEFINITIONS 
"${UPPER_CORE}_DLL_EXPORTS")
       set_property(GLOBAL APPEND PROPERTY ${libname}_DLL_DEFINES 
"${UPPER_CORE}_DLL_IMPORTS")
-    endif(CPP_DLL_DEFINES)
+    endif(HIDE_INTERNAL_SYMBOLS)
 
   endif(L_SHARED OR (BUILD_SHARED_LIBS AND NOT L_STATIC))
 
@@ -502,9 +502,9 @@
       set(libstatic ${libname}-static)
     endif(L_STATIC)
     add_library(${libstatic} STATIC ${lsrcslist} ${L_STATIC_SRCS})
-    if(NOT CPP_DLL_DEFINES)
+    if(NOT MSVC)
       set_target_properties(${libstatic} PROPERTIES OUTPUT_NAME "${libname}")
-    endif(NOT CPP_DLL_DEFINES)
+    endif(NOT MSVC)
   endif(L_STATIC OR (BUILD_STATIC_LIBS AND NOT L_SHARED))
 
   # Make sure we don't end up with outputs named liblib...

Modified: brlcad/branches/dm-fb-merge/misc/CMake/CMakeLists.txt
===================================================================
--- brlcad/branches/dm-fb-merge/misc/CMake/CMakeLists.txt       2020-05-26 
02:45:23 UTC (rev 75934)
+++ brlcad/branches/dm-fb-merge/misc/CMake/CMakeLists.txt       2020-05-26 
02:53:36 UTC (rev 75935)
@@ -22,8 +22,6 @@
   FindAppleseed.cmake
   FindBlosc.cmake
   FindBSON.cmake
-  FindFontconfig.cmake
-  FindGDAL.cmake
   FindGECODE.cmake
   FindGL.cmake
   FindIlmBase.cmake

Deleted: brlcad/branches/dm-fb-merge/misc/CMake/FindFontconfig.cmake
===================================================================
--- brlcad/branches/dm-fb-merge/misc/CMake/FindFontconfig.cmake 2020-05-26 
02:45:23 UTC (rev 75934)
+++ brlcad/branches/dm-fb-merge/misc/CMake/FindFontconfig.cmake 2020-05-26 
02:53:36 UTC (rev 75935)
@@ -1,101 +0,0 @@
-# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
-# file Copyright.txt or https://cmake.org/licensing for details.
-
-#[=======================================================================[.rst:
-FindFontconfig
---------------
-
-Find Fontconfig headers and library.
-
-Imported Targets
-^^^^^^^^^^^^^^^^
-
-``Fontconfig::Fontconfig``
-  The Fontconfig library, if found.
-
-Result Variables
-^^^^^^^^^^^^^^^^
-
-This will define the following variables in your project:
-
-``Fontconfig_FOUND``
-  true if (the requested version of) Fontconfig is available.
-``Fontconfig_VERSION``
-  the version of Fontconfig.
-``Fontconfig_LIBRARIES``
-  the libraries to link against to use Fontconfig.
-``Fontconfig_INCLUDE_DIRS``
-  where to find the Fontconfig headers.
-``Fontconfig_COMPILE_OPTIONS``
-  this should be passed to target_compile_options(), if the
-  target is not used for linking
-
-#]=======================================================================]
-
-
-# use pkg-config to get the directories and then use these values
-# in the FIND_PATH() and FIND_LIBRARY() calls
-find_package(PkgConfig QUIET)
-pkg_check_modules(PKG_FONTCONFIG QUIET fontconfig)
-set(Fontconfig_COMPILE_OPTIONS ${PKG_FONTCONFIG_CFLAGS_OTHER})
-set(Fontconfig_VERSION ${PKG_FONTCONFIG_VERSION})
-
-find_path( Fontconfig_INCLUDE_DIR
-  NAMES
-    fontconfig/fontconfig.h
-  HINTS
-    ${PKG_FONTCONFIG_INCLUDE_DIRS}
-    /usr/X11/include
-)
-
-find_library( Fontconfig_LIBRARY
-  NAMES
-    fontconfig
-  PATHS
-    ${PKG_FONTCONFIG_LIBRARY_DIRS}
-)
-
-if (Fontconfig_INCLUDE_DIR AND NOT Fontconfig_VERSION)
-  file(STRINGS ${Fontconfig_INCLUDE_DIR}/fontconfig/fontconfig.h _contents 
REGEX "^#define[ \t]+FC_[A-Z]+[ \t]+[0-9]+$")
-  unset(Fontconfig_VERSION)
-  foreach(VPART MAJOR MINOR REVISION)
-    foreach(VLINE ${_contents})
-      if(VLINE MATCHES "^#define[\t ]+FC_${VPART}[\t ]+([0-9]+)$")
-        set(Fontconfig_VERSION_PART "${CMAKE_MATCH_1}")
-        if(Fontconfig_VERSION)
-          string(APPEND Fontconfig_VERSION ".${Fontconfig_VERSION_PART}")
-        else()
-          set(Fontconfig_VERSION "${Fontconfig_VERSION_PART}")
-        endif()
-      endif()
-    endforeach()
-  endforeach()
-endif ()
-
-include(FindPackageHandleStandardArgs)
-find_package_handle_standard_args(Fontconfig
-  FOUND_VAR
-    Fontconfig_FOUND
-  REQUIRED_VARS
-    Fontconfig_LIBRARY
-    Fontconfig_INCLUDE_DIR
-  VERSION_VAR
-    Fontconfig_VERSION
-)
-
-
-if(Fontconfig_FOUND AND NOT TARGET Fontconfig::Fontconfig)
-  add_library(Fontconfig::Fontconfig UNKNOWN IMPORTED)
-  set_target_properties(Fontconfig::Fontconfig PROPERTIES
-    IMPORTED_LOCATION "${Fontconfig_LIBRARY}"
-    INTERFACE_COMPILE_OPTIONS "${Fontconfig_COMPILE_OPTIONS}"
-    INTERFACE_INCLUDE_DIRECTORIES "${Fontconfig_INCLUDE_DIR}"
-  )
-endif()
-
-mark_as_advanced(Fontconfig_LIBRARY Fontconfig_INCLUDE_DIR)
-
-if(Fontconfig_FOUND)
-  set(Fontconfig_LIBRARIES ${Fontconfig_LIBRARY})
-  set(Fontconfig_INCLUDE_DIRS ${Fontconfig_INCLUDE_DIR})
-endif()

Deleted: brlcad/branches/dm-fb-merge/misc/CMake/FindGDAL.cmake
===================================================================
--- brlcad/branches/dm-fb-merge/misc/CMake/FindGDAL.cmake       2020-05-26 
02:45:23 UTC (rev 75934)
+++ brlcad/branches/dm-fb-merge/misc/CMake/FindGDAL.cmake       2020-05-26 
02:53:36 UTC (rev 75935)
@@ -1,193 +0,0 @@
-# Copyright 2000-2020 Kitware, Inc. and Contributors
-# All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions
-# are met:
-#
-# * Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-#
-# * Redistributions in binary form must reproduce the above copyright
-# notice, this list of conditions and the following disclaimer in the
-# documentation and/or other materials provided with the distribution.
-#
-# * Neither the name of Kitware, Inc. nor the names of Contributors
-# may be used to endorse or promote products derived from this
-# software without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-# HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
-# file Copyright.txt or https://cmake.org/licensing for details.
-
-#[=======================================================================[.rst:
-FindGDAL
---------
-
-Find Geospatial Data Abstraction Library (GDAL).
-
-IMPORTED Targets
-^^^^^^^^^^^^^^^^
-
-This module defines :prop_tgt:`IMPORTED` target ``GDAL::GDAL``
-if GDAL has been found.
-
-Result Variables
-^^^^^^^^^^^^^^^^
-
-This module will set the following variables in your project:
-
-``GDAL_FOUND``
-  True if GDAL is found.
-``GDAL_INCLUDE_DIRS``
-  Include directories for GDAL headers.
-``GDAL_LIBRARIES``
-  Libraries to link to GDAL.
-``GDAL_VERSION``
-  The version of GDAL found.
-
-Cache variables
-^^^^^^^^^^^^^^^
-
-The following cache variables may also be set:
-
-``GDAL_LIBRARY``
-  The libgdal library file.
-``GDAL_INCLUDE_DIR``
-  The directory containing ``gdal.h``.
-
-Hints
-^^^^^
-
-Set ``GDAL_DIR`` or ``GDAL_ROOT`` in the environment to specify the
-GDAL installation prefix.
-#]=======================================================================]
-
-# $GDALDIR is an environment variable that would
-# correspond to the ./configure --prefix=$GDAL_DIR
-# used in building gdal.
-#
-# Created by Eric Wing. I'm not a gdal user, but OpenSceneGraph uses it
-# for osgTerrain so I whipped this module together for completeness.
-# I actually don't know the conventions or where files are typically
-# placed in distros.
-# Any real gdal users are encouraged to correct this (but please don't
-# break the OS X framework stuff when doing so which is what usually seems
-# to happen).
-
-# This makes the presumption that you are include gdal.h like
-#
-#include "gdal.h"
-
-find_path(GDAL_INCLUDE_DIR gdal.h
-  HINTS
-    ENV GDAL_DIR
-    ENV GDAL_ROOT
-  PATH_SUFFIXES
-     include/gdal
-     include/GDAL
-     include
-)
-
-if(UNIX)
-    # Use gdal-config to obtain the library version (this should hopefully
-    # allow us to -lgdal1.x.y where x.y are correct version)
-    # For some reason, libgdal development packages do not contain
-    # libgdal.so...
-    find_program(GDAL_CONFIG gdal-config
-        HINTS
-          ENV GDAL_DIR
-          ENV GDAL_ROOT
-        PATH_SUFFIXES bin
-    )
-
-    if(GDAL_CONFIG)
-        exec_program(${GDAL_CONFIG} ARGS --libs OUTPUT_VARIABLE 
GDAL_CONFIG_LIBS)
-
-        if(GDAL_CONFIG_LIBS)
-            # treat the output as a command line and split it up
-            separate_arguments(args NATIVE_COMMAND "${GDAL_CONFIG_LIBS}")
-
-            # only consider libraries whose name matches this pattern
-            set(name_pattern "[gG][dD][aA][lL]")
-
-            # consider each entry as a possible library path, name, or parent 
directory
-            foreach(arg IN LISTS args)
-                # library name
-                if("${arg}" MATCHES "^-l(.*)$")
-                    set(lib "${CMAKE_MATCH_1}")
-
-                    # only consider libraries whose name matches the expected 
pattern
-                    if("${lib}" MATCHES "${name_pattern}")
-                        list(APPEND _gdal_lib "${lib}")
-                    endif()
-                # library search path
-                elseif("${arg}" MATCHES "^-L(.*)$")
-                    list(APPEND _gdal_libpath "${CMAKE_MATCH_1}")
-                # assume this is a full path to a library
-                elseif(IS_ABSOLUTE "${arg}" AND EXISTS "${arg}")
-                    # extract the file name
-                    get_filename_component(lib "${arg}" NAME)
-
-                    # only consider libraries whose name matches the expected 
pattern
-                    if(NOT "${lib}" MATCHES "${name_pattern}")
-                        continue()
-                    endif()
-
-                    # extract the file directory
-                    get_filename_component(dir "${arg}" DIRECTORY)
-
-                    # remove library prefixes/suffixes
-                    string(REGEX REPLACE 
"^(${CMAKE_SHARED_LIBRARY_PREFIX}|${CMAKE_STATIC_LIBRARY_PREFIX})" "" lib 
"${lib}")
-                    string(REGEX REPLACE 
"(${CMAKE_SHARED_LIBRARY_SUFFIX}|${CMAKE_STATIC_LIBRARY_SUFFIX})$" "" lib 
"${lib}")
-
-                    # use the file name and directory as hints
-                    list(APPEND _gdal_libpath "${dir}")
-                    list(APPEND _gdal_lib "${lib}")
-                endif()
-            endforeach()
-        endif()
-    endif()
-endif()
-
-find_library(GDAL_LIBRARY
-  NAMES ${_gdal_lib} gdal gdal_i gdal1.5.0 gdal1.4.0 gdal1.3.2 GDAL
-  HINTS
-     ENV GDAL_DIR
-     ENV GDAL_ROOT
-     ${_gdal_libpath}
-  PATH_SUFFIXES lib
-)
-
-if (EXISTS "${GDAL_INCLUDE_DIR}/gdal_version.h")
-    file(STRINGS "${GDAL_INCLUDE_DIR}/gdal_version.h" _gdal_version
-        REGEX "GDAL_RELEASE_NAME")
-    string(REGEX REPLACE ".*\"\(.*\)\"" "\\1" GDAL_VERSION "${_gdal_version}")
-    unset(_gdal_version)
-else ()
-    set(GDAL_VERSION GDAL_VERSION-NOTFOUND)
-endif ()
-
-FIND_PACKAGE_HANDLE_STANDARD_ARGS(GDAL
-    VERSION_VAR GDAL_VERSION
-    REQUIRED_VARS GDAL_LIBRARY GDAL_INCLUDE_DIR)
-
-if (GDAL_FOUND AND NOT TARGET GDAL::GDAL)
-    add_library(GDAL::GDAL UNKNOWN IMPORTED)
-    set_target_properties(GDAL::GDAL PROPERTIES
-        IMPORTED_LOCATION "${GDAL_LIBRARY}"
-        INTERFACE_INCLUDE_DIRECTORIES "${GDAL_INCLUDE_DIR}")
-endif ()
-
-set(GDAL_LIBRARIES ${GDAL_LIBRARY})
-set(GDAL_INCLUDE_DIRS ${GDAL_INCLUDE_DIR})

Modified: brlcad/branches/dm-fb-merge/misc/CMake/FindTCL.cmake
===================================================================
--- brlcad/branches/dm-fb-merge/misc/CMake/FindTCL.cmake        2020-05-26 
02:45:23 UTC (rev 75934)
+++ brlcad/branches/dm-fb-merge/misc/CMake/FindTCL.cmake        2020-05-26 
02:53:36 UTC (rev 75935)
@@ -275,6 +275,49 @@
   PATH_SUFFIXES ${TCLTK_POSSIBLE_INCLUDE_PATH_SUFFIXES}
   )
 
+# IFF we have TCL_TK_SYSTEM_GRAPHICS set and have a system TK_WISH, check that 
the
+# windowing system matches the specified type
+if (NOT "${TCL_TK_SYSTEM_GRAPHICS}" STREQUAL "" AND TK_WISH AND NOT TARGET 
"${TK_WISH}")
+       set(tkwin_script "
+       set filename \"${CMAKE_BINARY_DIR}/CMakeTmp/TK_WINDOWINGSYSTEM\"
+       set fileId [open $filename \"w\"]
+       set windowingsystem [tk windowingsystem]
+       puts $fileId $windowingsystem
+       close $fileId
+       exit
+       ")
+       set(tkwin_scriptfile 
"${CMAKE_BINARY_DIR}/CMakeTmp/tk_windowingsystem.tcl")
+       set(WSYS "wm-NOTFOUND")
+       file(WRITE ${tkwin_scriptfile} ${tkwin_script})
+       execute_process(COMMAND ${TK_WISH} ${tkwin_scriptfile} OUTPUT_VARIABLE 
EXECOUTPUT)
+       if (EXISTS "${CMAKE_BINARY_DIR}/CMakeTmp/TK_WINDOWINGSYSTEM")
+               file(READ "${CMAKE_BINARY_DIR}/CMakeTmp/TK_WINDOWINGSYSTEM" 
readresultvar)
+               string(REGEX REPLACE "\n" "" WSYS "${readresultvar}")
+       endif (EXISTS "${CMAKE_BINARY_DIR}/CMakeTmp/TK_WINDOWINGSYSTEM")
+
+       # If we have no information about the windowing system or it does not 
match
+       # a specified system, the find_package detection has failed
+       if (NOT "${WSYS}" STREQUAL "${TCL_TK_SYSTEM_GRAPHICS}")
+               unset(TCL_LIBRARY CACHE)
+               unset(TCL_STUB_LIBRARY CACHE)
+               unset(TK_LIBRARY CACHE)
+               unset(TK_STUB_LIBRARY CACHE)
+               unset(TCL_FOUND CACHE)
+               unset(TK_FOUND CACHE)
+               unset(TCLTK_FOUND CACHE)
+               unset(TCLSH_FOUND CACHE)
+               unset(TCL_LIBRARY CACHE)
+               unset(TCL_INCLUDE_PATH CACHE)
+               unset(TCL_TCLSH CACHE)
+               unset(TK_LIBRARY CACHE)
+               unset(TK_INCLUDE_PATH CACHE)
+               unset(TK_WISH CACHE)
+               unset(TCL_STUB_LIBRARY CACHE)
+               unset(TK_STUB_LIBRARY CACHE)
+               unset(TTK_STUB_LIBRARY CACHE)
+       endif (NOT "${WSYS}" STREQUAL "${TCL_TK_SYSTEM_GRAPHICS}")
+endif (NOT "${TCL_TK_SYSTEM_GRAPHICS}" STREQUAL "" AND TK_WISH AND NOT TARGET 
"${TK_WISH}")
+
 include(FindPackageHandleStandardArgs)
 
 FIND_PACKAGE_HANDLE_STANDARD_ARGS(TCL

Modified: brlcad/branches/dm-fb-merge/misc/win32-msvc/CMakeLists.txt
===================================================================
--- brlcad/branches/dm-fb-merge/misc/win32-msvc/CMakeLists.txt  2020-05-26 
02:45:23 UTC (rev 75934)
+++ brlcad/branches/dm-fb-merge/misc/win32-msvc/CMakeLists.txt  2020-05-26 
02:53:36 UTC (rev 75935)
@@ -1,9 +1,9 @@
 # build DLL
 add_subdirectory(Dll)
 
-if(CPP_DLL_DEFINES)
+if(MSVC)
   add_library(bs SHARED bootstrap.cpp)
-endif(CPP_DLL_DEFINES)
+endif(MSVC)
 
 CMAKEFILES(CMakeLists.txt)
 

Index: brlcad/branches/dm-fb-merge/regress
===================================================================
--- brlcad/branches/dm-fb-merge/regress 2020-05-26 02:45:23 UTC (rev 75934)
+++ brlcad/branches/dm-fb-merge/regress 2020-05-26 02:53:36 UTC (rev 75935)

Property changes on: brlcad/branches/dm-fb-merge/regress
___________________________________________________________________
Modified: svn:mergeinfo
## -1,4 +1,5 ##
 
/brlcad/branches/RELEASE/regress:57439,57447-57860,69901-69913,71917-72242,72525-72534,72826-72858,74376-74454
+/brlcad/branches/bioh/regress:75860-75891
 
/brlcad/branches/brep-debug/regress:61373,61375,61404,61427,61429,61470,61544,61567,61576,61999,62018,62094,62098,62107,62117,62406,62416-62519,62521-62584,62593-62614,62623,62658,62660-62674,62681-62771,62876,62901,62907,62910,62925,62928,62931-63025,63027,63051,63054-63056,63069,63071-63073,63122,63160-63161,63165,63171,63184,63187,63189-63190,63193-63196,63200,63202,63205-63210,63213,63219-63225,63232-63233,63236,63238,63338,63350-63353,63481,63618,63669,64173-64174,64176-64177,64229-64233,64242,64244,64360-64362,65165,65245,65249,65334,65833-65834,66370-66375,66931-66932,66934,67012-67015,67018-67019,67021-67022,67406,67740,67746-67748,67950,67952,68144-68145,68636,68640-68643,68820,69081,69109,69206,69289,69346,69460-69461,69582-69583,69719-69721,69857-69859,69927
 /brlcad/branches/bullet/regress:62518
 /brlcad/branches/cmake/regress:43219
## -7,4 +8,4 ##
 /brlcad/branches/osg/regress:62110-62113
 /brlcad/branches/prep-cache/regress:68236-68933
 /brlcad/branches/tcltk86/regress:68300-75257
-/brlcad/trunk/regress:75512-75597,75630-75879
\ No newline at end of property
+/brlcad/trunk/regress:75512-75597,75630-75934
\ No newline at end of property
Modified: brlcad/branches/dm-fb-merge/regress/pkg/CMakeLists.txt
===================================================================
--- brlcad/branches/dm-fb-merge/regress/pkg/CMakeLists.txt      2020-05-26 
02:45:23 UTC (rev 75934)
+++ brlcad/branches/dm-fb-merge/regress/pkg/CMakeLists.txt      2020-05-26 
02:53:36 UTC (rev 75935)
@@ -6,12 +6,13 @@
   )
 
 BRLCAD_ADDEXEC(regress_pkg regress_pkg.cpp 
"libpkg;libbu;${CMAKE_THREAD_LIBS_INIT}" NO_INSTALL)
+target_compile_definitions(regress_pkg PUBLIC BRLCADBUILD HAVE_CONFIG_H)
 set_target_properties(regress_pkg PROPERTIES FOLDER "BRL-CAD Regression 
Tests/libpkg")
 
 add_test(NAME regress-pkg
   COMMAND $<TARGET_FILE:regress_pkg>
   )
-set_tests_properties(regress-pkg PROPERTIES LABELS "Regression")
+set_tests_properties(regress-pkg PROPERTIES LABELS "NOT_WORKING")
 
 if (CMAKE_CONFIGURATION_TYPES)
   add_custom_target(regress-pkg COMMAND ${CMAKE_CTEST_COMMAND} -C 
${CMAKE_CFG_INTDIR} -R ^regress-pkg --output-on-failure)

Modified: brlcad/branches/dm-fb-merge/regress/pkg/regress_pkg.cpp
===================================================================
--- brlcad/branches/dm-fb-merge/regress/pkg/regress_pkg.cpp     2020-05-26 
02:45:23 UTC (rev 75934)
+++ brlcad/branches/dm-fb-merge/regress/pkg/regress_pkg.cpp     2020-05-26 
02:53:36 UTC (rev 75935)
@@ -131,7 +131,7 @@
        } else if (client == PKC_ERROR) {
            pkg_close(client);
            client = PKC_NULL;
-           bu_log("ERROR: no clients connected to server after %d seconds 
waiting\n");
+           bu_log("ERROR: client == PKC_ERROR\n");
            bu_exit(-1, "Server exiting\n");
            continue;
        }

Modified: brlcad/branches/dm-fb-merge/src/CMakeLists.txt
===================================================================
--- brlcad/branches/dm-fb-merge/src/CMakeLists.txt      2020-05-26 02:45:23 UTC 
(rev 75934)
+++ brlcad/branches/dm-fb-merge/src/CMakeLists.txt      2020-05-26 02:53:36 UTC 
(rev 75935)
@@ -17,13 +17,8 @@
   add_definitions(
     -D_CRT_SECURE_NO_WARNINGS
     )
-  # FIXME: these should be proper library checks, not based on MSVC "platform"
-  set(WINSOCK_LIB ws2_32.lib)
-  set(PSAPI_LIB psapi.lib)
-  set(RPCRT_LIB rpcrt4.lib)
 endif(MSVC)
 
-
 # We need to define a number of "components" to allow for easy building of
 # subsets of BRL-CAD.  We will control this process with an advanced
 # variable named BRLCAD_ENABLE_TARGETS - if set to 0 (default) everything

Modified: brlcad/branches/dm-fb-merge/src/adrt/CMakeLists.txt
===================================================================
--- brlcad/branches/dm-fb-merge/src/adrt/CMakeLists.txt 2020-05-26 02:45:23 UTC 
(rev 75934)
+++ brlcad/branches/dm-fb-merge/src/adrt/CMakeLists.txt 2020-05-26 02:53:36 UTC 
(rev 75935)
@@ -69,12 +69,8 @@
     )
   BRLCAD_INCLUDE_DIRS(isst_dirs)
 
-  set(isst_libs libtclcad librender libdm ${TCL_LIBRARY} ${OPENGL_LIBRARIES})
+  set(isst_libs libtclcad librender libdm ${TCL_LIBRARY} ${OPENGL_LIBRARIES} 
${IMM32_LIBRARY} ${COMCTL32_LIBRARY} ${OPENGL32_LIBRARY})
 
-  if(CPP_DLL_DEFINES)
-    set(isst_libs ${isst_libs} imm32.lib comctl32.lib opengl32.lib)
-  endif(CPP_DLL_DEFINES)
-
   BRLCAD_ADDDATA(isst.tcl tclscripts/isst)
   BRLCAD_ADDEXEC(isst isst.c "${isst_libs}" GUI)
   add_dependencies(isst isst_tcl_cp)

Modified: brlcad/branches/dm-fb-merge/src/adrt/librender/render_internal.h
===================================================================
--- brlcad/branches/dm-fb-merge/src/adrt/librender/render_internal.h    
2020-05-26 02:45:23 UTC (rev 75934)
+++ brlcad/branches/dm-fb-merge/src/adrt/librender/render_internal.h    
2020-05-26 02:53:36 UTC (rev 75935)
@@ -24,6 +24,7 @@
 #ifndef ADRT_LIBRENDER_RENDER_INTERNAL_H
 #define ADRT_LIBRENDER_RENDER_INTERNAL_H
 
+#include "common.h"
 #include "rt/tie.h"
 
 #ifndef RENDER_EXPORT
@@ -32,9 +33,9 @@
 #  elif defined(STATIC_BUILD)
 #    define RENDER_EXPORT
 #  elif defined(RENDER_DLL_EXPORTS)
-#    define RENDER_EXPORT __declspec(dllexport)
+#    define RENDER_EXPORT COMPILER_DLLEXPORT
 #  elif defined(RENDER_DLL_IMPORTS)
-#    define RENDER_EXPORT __declspec(dllimport)
+#    define RENDER_EXPORT COMPILER_DLLIMPORT
 #  else
 #    define RENDER_EXPORT
 #  endif

Modified: brlcad/branches/dm-fb-merge/src/archer/CMakeLists.txt
===================================================================
--- brlcad/branches/dm-fb-merge/src/archer/CMakeLists.txt       2020-05-26 
02:45:23 UTC (rev 75934)
+++ brlcad/branches/dm-fb-merge/src/archer/CMakeLists.txt       2020-05-26 
02:53:36 UTC (rev 75935)
@@ -9,12 +9,8 @@
 
 BRLCAD_ADDDATA(archer_launch.tcl tclscripts/archer)
 
-set(archer_libs libtclcad libbu ${ITCL_LIBRARY} ${ITK_LIBRARY} ${TCL_LIBRARY})
+set(archer_libs libtclcad libbu ${ITCL_LIBRARY} ${ITK_LIBRARY} ${TCL_LIBRARY} 
${IMM32_LIBRARY} ${COMCTL32_LIBRARY})
 
-if(CPP_DLL_DEFINES)
-  set(archer_libs ${archer_libs} imm32.lib comctl32.lib)
-endif(CPP_DLL_DEFINES)
-
 # NOTE: Building "GUI" doesn't matter except on Windows, but on Windows archer
 # currently works only in graphical mode - might as well behave "nicely" there.
 # If/when we add MGED's ability to work in "classic" mode, Archer will have

Modified: brlcad/branches/dm-fb-merge/src/brlman/CMakeLists.txt
===================================================================
--- brlcad/branches/dm-fb-merge/src/brlman/CMakeLists.txt       2020-05-26 
02:45:23 UTC (rev 75934)
+++ brlcad/branches/dm-fb-merge/src/brlman/CMakeLists.txt       2020-05-26 
02:53:36 UTC (rev 75935)
@@ -9,16 +9,12 @@
 
 BRLCAD_ADDDATA(brlman.tcl tclscripts/brlman)
 
-set(brlman_libs libtclcad libbu ${TCL_LIBRARY})
+set(brlman_libs libtclcad libbu ${TCL_LIBRARY} ${IMM32_LIBRARY} 
${COMCTL32_LIBRARY})
 
 if(TARGET Tkhtml)
   set(brlman_libs ${brlman_libs} Tkhtml)
 endif(TARGET Tkhtml)
 
-if(CPP_DLL_DEFINES)
-  set(brlman_libs ${brlman_libs} imm32.lib comctl32.lib)
-endif(CPP_DLL_DEFINES)
-
 # Building "GUI" doesn't matter except on Windows, but
 # on Windows brlman works only in graphical mode - might
 # as well behave "nicely" there.

Modified: brlcad/branches/dm-fb-merge/src/bwish/CMakeLists.txt
===================================================================
--- brlcad/branches/dm-fb-merge/src/bwish/CMakeLists.txt        2020-05-26 
02:45:23 UTC (rev 75934)
+++ brlcad/branches/dm-fb-merge/src/bwish/CMakeLists.txt        2020-05-26 
02:53:36 UTC (rev 75935)
@@ -25,16 +25,12 @@
 # If we have Tk enabled, we want bwish too
 if(BRLCAD_ENABLE_TK)
 
-  set(bwish_libs libtclcad libbu ${TCL_LIBRARY} ${ITCL_LIBRARY} ${TK_LIBRARY} 
${ITK_LIBRARY})
+  set(bwish_libs libtclcad libbu ${TCL_LIBRARY} ${ITCL_LIBRARY} ${TK_LIBRARY} 
${ITK_LIBRARY} ${IMM32_LIBRARY} ${COMCTL32_LIBRARY})
 
   if(TARGET libtermio)
     set(bwish_libs ${bwish_libs} libtermio)
   endif(TARGET libtermio)
 
-  if(CPP_DLL_DEFINES)
-    set(bwish_libs ${bwish_libs} imm32.lib comctl32.lib )
-  endif(CPP_DLL_DEFINES)
-
   BRLCAD_ADDEXEC(bwish "main.c;cmd.c;input.c" "${bwish_libs}" GUI)
   set_target_properties(bwish PROPERTIES COMPILE_DEFINITIONS "BWISH=1")
   set_target_properties(bwish PROPERTIES FOLDER "BRL-CAD Executables")

Modified: brlcad/branches/dm-fb-merge/src/conv/iges/CMakeLists.txt
===================================================================
--- brlcad/branches/dm-fb-merge/src/conv/iges/CMakeLists.txt    2020-05-26 
02:45:23 UTC (rev 75934)
+++ brlcad/branches/dm-fb-merge/src/conv/iges/CMakeLists.txt    2020-05-26 
02:53:36 UTC (rev 75935)
@@ -7,10 +7,6 @@
 list(REMOVE_DUPLICATES IGES_INCLUDE_DIRS)
 include_directories(${IGES_INCLUDE_DIRS})
 
-#if(MSVC)
-#  set(WIN32LIBS ${WINSOCK_LIB} Rpcrt4.lib)
-#endif(MSVC)
-
 #add_executable(iges
 #    BrepHandler.cpp
 #    brlcad_brep.cpp
@@ -17,7 +13,7 @@
 #    n_iges.cpp
 #    n_main.cpp
 #)
-#target_link_libraries(iges libwdb librt libbu ${OPENNURBS_LIBRARIES} 
${WIN32LIBS} ${M_LIBRARY})
+#target_link_libraries(iges libwdb librt libbu ${OPENNURBS_LIBRARIES} 
${WIN32LIBS} ${M_LIBRARY} ${WINSOCK_LIB} ${RPCRT_LIB})
 #install(TARGETS iges RUNTIME DESTINATION ${CMAKE_INSTALL_PREFIX}/bin)
 
 set(iges-g_SRCS

Modified: brlcad/branches/dm-fb-merge/src/conv/ply/CMakeLists.txt
===================================================================
--- brlcad/branches/dm-fb-merge/src/conv/ply/CMakeLists.txt     2020-05-26 
02:45:23 UTC (rev 75934)
+++ brlcad/branches/dm-fb-merge/src/conv/ply/CMakeLists.txt     2020-05-26 
02:53:36 UTC (rev 75935)
@@ -8,10 +8,10 @@
 BRLCAD_ADDEXEC(ply-g "ply-g.c;rply.c" "librt;libnmg;libbu;libwdb")
 BRLCAD_ADDEXEC(g-ply "g-ply.c;rply.c" "librt;libnmg;libbu")
 
-if (CPP_DLL_DEFINES)
+if (HIDE_INTERNAL_SYMBOLS)
   set_property(TARGET ply-g APPEND PROPERTY COMPILE_DEFINITIONS 
"RPLY_DLL_IMPORTS")
   set_property(TARGET g-ply APPEND PROPERTY COMPILE_DEFINITIONS 
"RPLY_DLL_IMPORTS")
-endif (CPP_DLL_DEFINES)
+endif (HIDE_INTERNAL_SYMBOLS)
 
 CMAKEFILES(
   CMakeLists.txt

Modified: brlcad/branches/dm-fb-merge/src/conv/ply/rply.h
===================================================================
--- brlcad/branches/dm-fb-merge/src/conv/ply/rply.h     2020-05-26 02:45:23 UTC 
(rev 75934)
+++ brlcad/branches/dm-fb-merge/src/conv/ply/rply.h     2020-05-26 02:53:36 UTC 
(rev 75935)
@@ -15,9 +15,9 @@
 #  if defined(RPLY_DLL_EXPORTS) && defined(RPLY_DLL_IMPORTS)
 #    error "Only RPLY_DLL_EXPORTS or RPLY_DLL_IMPORTS can be defined, not 
both."
 #  elif defined(RPLY_DLL_EXPORTS)
-#    define RPLY_EXPORT __declspec(dllexport)
+#    define RPLY_EXPORT COMPILER_DLLEXPORT
 #  elif defined(RPLY_DLL_IMPORTS)
-#    define RPLY_EXPORT __declspec(dllimport)
+#    define RPLY_EXPORT COMPILER_DLLIMPORT
 #  else
 #    define RPLY_EXPORT
 #  endif

Modified: brlcad/branches/dm-fb-merge/src/conv/step/ap203e2-g/CMakeLists.txt
===================================================================
--- brlcad/branches/dm-fb-merge/src/conv/step/ap203e2-g/CMakeLists.txt  
2020-05-26 02:45:23 UTC (rev 75934)
+++ brlcad/branches/dm-fb-merge/src/conv/step/ap203e2-g/CMakeLists.txt  
2020-05-26 02:53:36 UTC (rev 75935)
@@ -238,7 +238,7 @@
 BRLCAD_ADDEXEC(ap203e2-g "${ap203e2g_SOURCES}" "${ap203e2g_LIBS}" NO_STRICT)
 add_dependencies(ap203e2-g step-express-${SCHEMA_NAME}-ap203e2g)
 
-if(MSVC)
+if (HIDE_INTERNAL_SYMBOLS)
   set(ap203e2g_IMPORTS
     BU_DLL_IMPORTS
     RT_DLL_IMPORTS
@@ -250,7 +250,7 @@
     )
   list(APPEND ap203e2g_IMPORTS ${ap203e2g_IMPORTS})
   set_target_properties(step-g PROPERTIES COMPILE_DEFINITIONS 
"${ap203e2g_IMPORTS}")
-endif(MSVC)
+endif (HIDE_INTERNAL_SYMBOLS)
 
 CMAKEFILES(CMakeLists.txt)
 

Modified: brlcad/branches/dm-fb-merge/src/conv/step/ap214-g/CMakeLists.txt
===================================================================
--- brlcad/branches/dm-fb-merge/src/conv/step/ap214-g/CMakeLists.txt    
2020-05-26 02:45:23 UTC (rev 75934)
+++ brlcad/branches/dm-fb-merge/src/conv/step/ap214-g/CMakeLists.txt    
2020-05-26 02:53:36 UTC (rev 75935)
@@ -239,7 +239,7 @@
 BRLCAD_ADDEXEC(ap214-g "${ap214g_SOURCES}" "${ap214g_LIBS}" NO_STRICT)
 add_dependencies(ap214-g step-express-${SCHEMA_NAME}-ap214g)
 
-if(MSVC)
+if (HIDE_INTERNAL_SYMBOLS)
   set(ap214g_IMPORTS
     BU_DLL_IMPORTS
     RT_DLL_IMPORTS
@@ -251,7 +251,7 @@
     )
   list(APPEND ap214g_IMPORTS ${ap214g_IMPORTS})
   set_target_properties(step-g PROPERTIES COMPILE_DEFINITIONS 
"${ap214g_IMPORTS}")
-endif(MSVC)
+endif (HIDE_INTERNAL_SYMBOLS)
 
 CMAKEFILES(CMakeLists.txt)
 

Modified: brlcad/branches/dm-fb-merge/src/conv/step/ap242-g/CMakeLists.txt
===================================================================
--- brlcad/branches/dm-fb-merge/src/conv/step/ap242-g/CMakeLists.txt    
2020-05-26 02:45:23 UTC (rev 75934)
+++ brlcad/branches/dm-fb-merge/src/conv/step/ap242-g/CMakeLists.txt    
2020-05-26 02:53:36 UTC (rev 75935)
@@ -238,7 +238,7 @@
 BRLCAD_ADDEXEC(ap242-g "${ap242g_SOURCES}" "${ap242g_LIBS}" NO_STRICT)
 add_dependencies(ap242-g step-express-${SCHEMA_NAME}-ap242g)
 
-if(MSVC)
+if (HIDE_INTERNAL_SYMBOLS)
   set(ap242g_IMPORTS
     BU_DLL_IMPORTS
     RT_DLL_IMPORTS
@@ -250,7 +250,7 @@
     )
   list(APPEND ap242g_IMPORTS ${ap242g_IMPORTS})
   set_target_properties(step-g PROPERTIES COMPILE_DEFINITIONS 
"${ap242g_IMPORTS}")
-endif(MSVC)
+endif (HIDE_INTERNAL_SYMBOLS)
 
 CMAKEFILES(CMakeLists.txt)
 

Modified: brlcad/branches/dm-fb-merge/src/conv/step/g-ap203e2/CMakeLists.txt
===================================================================
--- brlcad/branches/dm-fb-merge/src/conv/step/g-ap203e2/CMakeLists.txt  
2020-05-26 02:45:23 UTC (rev 75934)
+++ brlcad/branches/dm-fb-merge/src/conv/step/g-ap203e2/CMakeLists.txt  
2020-05-26 02:53:36 UTC (rev 75935)
@@ -45,7 +45,7 @@
 BRLCAD_ADDEXEC(g-ap203e2 "${gap203e2_SOURCES}" "${gap203e2_LIBS}" NO_STRICT)
 add_dependencies(g-ap203e2 step-express-${SCHEMA_NAME}-gap203e2)
 
-if(MSVC)
+if (HIDE_INTERNAL_SYMBOLS)
   set(gap203e2_IMPORTS
     BU_DLL_IMPORTS
     BN_DLL_IMPORTS
@@ -58,7 +58,7 @@
     )
   list(APPEND gap203e2_IMPORTS ${gap203e2_IMPORTS})
   set_target_properties(g-step PROPERTIES COMPILE_DEFINITIONS 
"${gap203e2_IMPORTS}")
-endif(MSVC)
+endif (HIDE_INTERNAL_SYMBOLS)
 
 set(IGNORE_FILES
   CMakeLists.txt

Modified: brlcad/branches/dm-fb-merge/src/conv/step/g-ap214/CMakeLists.txt
===================================================================
--- brlcad/branches/dm-fb-merge/src/conv/step/g-ap214/CMakeLists.txt    
2020-05-26 02:45:23 UTC (rev 75934)
+++ brlcad/branches/dm-fb-merge/src/conv/step/g-ap214/CMakeLists.txt    
2020-05-26 02:53:36 UTC (rev 75935)
@@ -46,7 +46,7 @@
 BRLCAD_ADDEXEC(g-ap214 "${gap214_SOURCES}" "${gap214_LIBS}" NO_STRICT)
 add_dependencies(g-ap214 step-express-${SCHEMA_NAME}-gap214)
 
-if(MSVC)
+if (HIDE_INTERNAL_SYMBOLS)
   set(gap214_IMPORTS
     BU_DLL_IMPORTS
     BN_DLL_IMPORTS
@@ -62,7 +62,7 @@
   set_property(SOURCE
     ${CMAKE_CURRENT_BINARY_DIR}/AUTOMOTIVE_DESIGN/SdaiAUTOMOTIVE_DESIGN.cc
     APPEND PROPERTY COMPILE_FLAGS "/bigobj")
-endif(MSVC)
+endif (HIDE_INTERNAL_SYMBOLS)
 
 set(IGNORE_FILES
   CMakeLists.txt

Modified: brlcad/branches/dm-fb-merge/src/conv/step/g-ap242/CMakeLists.txt
===================================================================
--- brlcad/branches/dm-fb-merge/src/conv/step/g-ap242/CMakeLists.txt    
2020-05-26 02:45:23 UTC (rev 75934)
+++ brlcad/branches/dm-fb-merge/src/conv/step/g-ap242/CMakeLists.txt    
2020-05-26 02:53:36 UTC (rev 75935)
@@ -42,7 +42,7 @@
 BRLCAD_ADDEXEC(g-ap242 "${gap242_SOURCES}" "${gap242_LIBS}" NO_STRICT)
 add_dependencies(g-ap242 step-express-${SCHEMA_NAME}-gap242)
 
-if(MSVC)
+if (HIDE_INTERNAL_SYMBOLS)
   set(gap242_IMPORTS
     BU_DLL_IMPORTS
     BN_DLL_IMPORTS
@@ -58,7 +58,7 @@
   set_property(SOURCE
     
${CMAKE_CURRENT_BINARY_DIR}/AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF/SdaiAP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.cc
     APPEND PROPERTY COMPILE_FLAGS "/bigobj")
-endif(MSVC)
+endif (HIDE_INTERNAL_SYMBOLS)
 
 set(IGNORE_FILES
   CMakeLists.txt

Modified: brlcad/branches/dm-fb-merge/src/conv/step/g-step/CMakeLists.txt
===================================================================
--- brlcad/branches/dm-fb-merge/src/conv/step/g-step/CMakeLists.txt     
2020-05-26 02:45:23 UTC (rev 75934)
+++ brlcad/branches/dm-fb-merge/src/conv/step/g-step/CMakeLists.txt     
2020-05-26 02:53:36 UTC (rev 75935)
@@ -45,7 +45,7 @@
 add_dependencies(g-step step-express-${SCHEMA_NAME}-gstep)
 set_property(TARGET g-step APPEND PROPERTY INCLUDE_DIRECTORIES 
"${gstep_SCHEMA_OUT_DIR}")
 
-if(MSVC)
+if (HIDE_INTERNAL_SYMBOLS)
   set(gstep_IMPORTS
     BU_DLL_IMPORTS
     BN_DLL_IMPORTS
@@ -58,7 +58,7 @@
     )
   list(APPEND gstep_IMPORTS ${gstep_IMPORTS})
   set_target_properties(g-step PROPERTIES COMPILE_DEFINITIONS 
"${gstep_IMPORTS}")
-endif(MSVC)
+endif (HIDE_INTERNAL_SYMBOLS)
 
 set(IGNORE_FILES
   CMakeLists.txt

Modified: brlcad/branches/dm-fb-merge/src/conv/step/ifc-g/CMakeLists.txt
===================================================================
--- brlcad/branches/dm-fb-merge/src/conv/step/ifc-g/CMakeLists.txt      
2020-05-26 02:45:23 UTC (rev 75934)
+++ brlcad/branches/dm-fb-merge/src/conv/step/ifc-g/CMakeLists.txt      
2020-05-26 02:53:36 UTC (rev 75935)
@@ -31,7 +31,7 @@
 BRLCAD_ADDEXEC(ifc-g "${ifcg_SOURCES}" "${ifcg_LIBS}" NO_STRICT)
 add_dependencies(ifc-g ifc-express-${SCHEMA_NAME}-ifcg)
 
-if(MSVC)
+if (HIDE_INTERNAL_SYMBOLS)
   set(ifcg_IMPORTS
     BU_DLL_IMPORTS
     RT_DLL_IMPORTS
@@ -43,7 +43,7 @@
     )
   list(APPEND ifcg_IMPORTS ${ifcg_IMPORTS})
   set_target_properties(ifc-g PROPERTIES COMPILE_DEFINITIONS "${ifcg_IMPORTS}")
-endif(MSVC)
+endif (HIDE_INTERNAL_SYMBOLS)
 
 CMAKEFILES(CMakeLists.txt)
 

Modified: brlcad/branches/dm-fb-merge/src/conv/step/step-g/CMakeLists.txt
===================================================================
--- brlcad/branches/dm-fb-merge/src/conv/step/step-g/CMakeLists.txt     
2020-05-26 02:45:23 UTC (rev 75934)
+++ brlcad/branches/dm-fb-merge/src/conv/step/step-g/CMakeLists.txt     
2020-05-26 02:53:36 UTC (rev 75935)
@@ -469,12 +469,12 @@
 add_dependencies(step-g step-express-${SCHEMA_NAME}-stepg)
 set_property(TARGET step-g APPEND PROPERTY INCLUDE_DIRECTORIES 
"${stepg_SCHEMA_OUT_DIR}")
 
-if(CPP_DLL_DEFINES)
-  set(SCIMPORTS SC_CORE_DLL_IMPORTS SC_DAI_DLL_IMPORTS SC_EDITOR_DLL_IMPORTS 
SC_UTILS_DLL_IMPORTS)
+if(HIDE_INTERNAL_SYMBOLS)
+  set(SCIMPORTS SC_CORE_DLL_IMPORTS SC_DAI_DLL_IMPORTS SC_EDITOR_DLL_IMPORTS 
SC_UTILS_DLL_IMPORTS ON_DLL_IMPORTS)
   foreach(scp ${SCIMPORTS})
     set_property(TARGET step-g APPEND PROPERTY COMPILE_DEFINITIONS "${scp}")
   endforeach(scp ${SCIMPORTS})
-endif(CPP_DLL_DEFINES)
+endif(HIDE_INTERNAL_SYMBOLS)
 
 CMAKEFILES(CMakeLists.txt)
 

Modified: brlcad/branches/dm-fb-merge/src/conv/step/util/CMakeLists.txt
===================================================================
--- brlcad/branches/dm-fb-merge/src/conv/step/util/CMakeLists.txt       
2020-05-26 02:45:23 UTC (rev 75934)
+++ brlcad/branches/dm-fb-merge/src/conv/step/util/CMakeLists.txt       
2020-05-26 02:53:36 UTC (rev 75935)
@@ -24,7 +24,7 @@
 add_dependencies(list_elements step-express-${SCHEMA_NAME}-list_elements)
 set_property(TARGET list_elements APPEND PROPERTY INCLUDE_DIRECTORIES 
"${list_elements_SCHEMA_OUT_DIR}")
 
-if(MSVC)
+if (HIDE_INTERNAL_SYMBOLS)
   set(list_elements_IMPORTS
     BU_DLL_IMPORTS
     BN_DLL_IMPORTS
@@ -37,7 +37,7 @@
     )
   list(APPEND list_elements_IMPORTS ${list_elements_IMPORTS})
   set_target_properties(list_elements PROPERTIES COMPILE_DEFINITIONS 
"${list_elements_IMPORTS}")
-endif(MSVC)
+endif (HIDE_INTERNAL_SYMBOLS)
 
 CMAKEFILES(CMakeLists.txt)
 

Modified: brlcad/branches/dm-fb-merge/src/external/Creo/CMakeLists.txt
===================================================================
--- brlcad/branches/dm-fb-merge/src/external/Creo/CMakeLists.txt        
2020-05-26 02:45:23 UTC (rev 75934)
+++ brlcad/branches/dm-fb-merge/src/external/Creo/CMakeLists.txt        
2020-05-26 02:53:36 UTC (rev 75935)
@@ -365,7 +365,7 @@
   add_library(creo-brl ${creo_brl_srcs})
   target_link_libraries(creo-brl librt libwdb libbrep libbg libnmg libbn libbu)
   set_target_properties(creo-brl PROPERTIES FOLDER "BRL-CAD Executables/Build 
Only")
-  if(CPP_DLL_DEFINES)
+  if(HIDE_INTERNAL_SYMBOLS)
     set_property(TARGET creo-brl APPEND PROPERTY COMPILE_DEFINITIONS 
"BU_DLL_IMPORTS")
     set_property(TARGET creo-brl APPEND PROPERTY COMPILE_DEFINITIONS 
"BN_DLL_IMPORTS")
     set_property(TARGET creo-brl APPEND PROPERTY COMPILE_DEFINITIONS 
"NMG_DLL_IMPORTS")
@@ -379,7 +379,7 @@
     set_property(TARGET creo-brl APPEND PROPERTY COMPILE_DEFINITIONS 
"VDS_DLL_IMPORTS")
     set_property(TARGET creo-brl APPEND PROPERTY COMPILE_DEFINITIONS 
"ON_DLL_IMPORTS")
     set_property(TARGET creo-brl APPEND PROPERTY COMPILE_DEFINITIONS 
"LZ4_DLL_IMPORT=1")
-  endif(CPP_DLL_DEFINES)
+  endif(HIDE_INTERNAL_SYMBOLS)
 
   # Distcheck file list
   set(creo_dist_files

Modified: brlcad/branches/dm-fb-merge/src/external/Cubit/CMakeLists.txt
===================================================================
--- brlcad/branches/dm-fb-merge/src/external/Cubit/CMakeLists.txt       
2020-05-26 02:45:23 UTC (rev 75934)
+++ brlcad/branches/dm-fb-merge/src/external/Cubit/CMakeLists.txt       
2020-05-26 02:53:36 UTC (rev 75935)
@@ -24,7 +24,7 @@
   add_library(g-sat ${g_sat_srcs})
   target_link_libraries(g-sat librt libwdb libbrep libbg libnmg libbn libbu)
   set_target_properties(g-sat PROPERTIES FOLDER "BRL-CAD Executables/Build 
Only")
-  if(CPP_DLL_DEFINES)
+  if(HIDE_INTERNAL_SYMBOLS)
     set_property(TARGET g-sat APPEND PROPERTY COMPILE_DEFINITIONS 
"BU_DLL_IMPORTS")
     set_property(TARGET g-sat APPEND PROPERTY COMPILE_DEFINITIONS 
"BN_DLL_IMPORTS")
     set_property(TARGET g-sat APPEND PROPERTY COMPILE_DEFINITIONS 
"NMG_DLL_IMPORTS")
@@ -39,7 +39,7 @@
     set_property(TARGET g-sat APPEND PROPERTY COMPILE_DEFINITIONS 
"ON_DLL_IMPORTS")
     set_property(TARGET g-sat APPEND PROPERTY COMPILE_DEFINITIONS 
"TINYCTHREAD_DLL_IMPORTS")
     set_property(TARGET g-sat APPEND PROPERTY COMPILE_DEFINITIONS 
"LZ4_DLL_IMPORT=1")
-  endif(CPP_DLL_DEFINES)
+  endif(HIDE_INTERNAL_SYMBOLS)
 
   CMAKEFILES(${g_sat_srcs} shim.h)
   CMAKEFILES(CMakeLists.txt)

Modified: brlcad/branches/dm-fb-merge/src/external/Unigraphics/CMakeLists.txt
===================================================================
--- brlcad/branches/dm-fb-merge/src/external/Unigraphics/CMakeLists.txt 
2020-05-26 02:45:23 UTC (rev 75934)
+++ brlcad/branches/dm-fb-merge/src/external/Unigraphics/CMakeLists.txt 
2020-05-26 02:53:36 UTC (rev 75935)
@@ -26,7 +26,7 @@
   add_library(ug-g ${ug_g_srcs})
   target_link_libraries(ug-g librt libwdb libbrep libbg libnmg libbn libbu 
${TCL_LIBRARY})
   set_target_properties(ug-g PROPERTIES FOLDER "BRL-CAD Executables/Build 
Only")
-  if(CPP_DLL_DEFINES)
+  if(HIDE_INTERNAL_SYMBOLS)
     set_property(TARGET ug-g APPEND PROPERTY COMPILE_DEFINITIONS 
"BU_DLL_IMPORTS")
     set_property(TARGET ug-g APPEND PROPERTY COMPILE_DEFINITIONS 
"BN_DLL_IMPORTS")
     set_property(TARGET ug-g APPEND PROPERTY COMPILE_DEFINITIONS 
"NMG_DLL_IMPORTS")
@@ -41,7 +41,7 @@
     set_property(TARGET ug-g APPEND PROPERTY COMPILE_DEFINITIONS 
"ON_DLL_IMPORTS")
     set_property(TARGET ug-g APPEND PROPERTY COMPILE_DEFINITIONS 
"TINYCTHREAD_DLL_IMPORTS")
     set_property(TARGET ug-g APPEND PROPERTY COMPILE_DEFINITIONS 
"LZ4_DLL_IMPORT=1")
-  endif(CPP_DLL_DEFINES)
+  endif(HIDE_INTERNAL_SYMBOLS)
 
   # Distcheck file list
   CMAKEFILES(${ug_g_srcs} conv.h log.h shim.h ug-g.1 ug_misc.h)

Modified: brlcad/branches/dm-fb-merge/src/libbg/CMakeLists.txt
===================================================================
--- brlcad/branches/dm-fb-merge/src/libbg/CMakeLists.txt        2020-05-26 
02:45:23 UTC (rev 75934)
+++ brlcad/branches/dm-fb-merge/src/libbg/CMakeLists.txt        2020-05-26 
02:53:36 UTC (rev 75935)
@@ -32,10 +32,18 @@
 
 BRLCAD_ADDLIB(libbg "${LIBBG_SOURCES}" "libbn;libbu;SPSR;${P2T_LIBRARY}")
 set_target_properties(libbg PROPERTIES VERSION 20.0.1 SOVERSION 20)
-if(CPP_DLL_DEFINES)
+if (HIDE_INTERNAL_SYMBOLS)
   set_property(TARGET libbg APPEND PROPERTY COMPILE_DEFINITIONS 
"SPSR_DLL_IMPORTS")
-  set_property(TARGET libbg APPEND PROPERTY COMPILE_DEFINITIONS 
"P2T_DLL_IMPORTS")
-endif(CPP_DLL_DEFINES)
+  if (TARGET poly2tri OR HIDE_INTERNAL_SYMBOLS_EXT)
+    set_property(TARGET libbg APPEND PROPERTY COMPILE_DEFINITIONS 
"P2T_DLL_IMPORTS")
+  endif (TARGET poly2tri OR HIDE_INTERNAL_SYMBOLS_EXT)
+  if (TARGET libbg-obj)
+    set_property(TARGET libbg-obj APPEND PROPERTY COMPILE_DEFINITIONS 
"SPSR_DLL_IMPORTS")
+    if (TARGET poly2tri OR HIDE_INTERNAL_SYMBOLS_EXT)
+      set_property(TARGET libbg-obj APPEND PROPERTY COMPILE_DEFINITIONS 
"P2T_DLL_IMPORTS")
+    endif (TARGET poly2tri OR HIDE_INTERNAL_SYMBOLS_EXT)
+  endif (TARGET libbg-obj)
+endif (HIDE_INTERNAL_SYMBOLS)
 
 add_subdirectory(tests)
 

Modified: brlcad/branches/dm-fb-merge/src/libbrep/CMakeLists.txt
===================================================================
--- brlcad/branches/dm-fb-merge/src/libbrep/CMakeLists.txt      2020-05-26 
02:45:23 UTC (rev 75934)
+++ brlcad/branches/dm-fb-merge/src/libbrep/CMakeLists.txt      2020-05-26 
02:53:36 UTC (rev 75935)
@@ -82,9 +82,9 @@
 CMAKEFILES(${libbrep_ignored_files})
 
 # Anyone who needs to import libbrep will also need to import openNURBS
-if(CPP_DLL_DEFINES)
+if(HIDE_INTERNAL_SYMBOLS)
   set_property(GLOBAL APPEND PROPERTY libbrep_DLL_DEFINES "ON_DLL_IMPORTS")
-endif(CPP_DLL_DEFINES)
+endif(HIDE_INTERNAL_SYMBOLS)
 
 BRLCAD_ADDLIB(libbrep "${LIBBREP_SOURCES}" 
"libbg;libbn;libbu;${OPENNURBS_LIBRARIES};${P2T_LIBRARY};${WINSOCK_LIB};${RPCRT_LIB};${STDCXX_LIBRARIES}")
 

Index: brlcad/branches/dm-fb-merge/src/libbu
===================================================================
--- brlcad/branches/dm-fb-merge/src/libbu       2020-05-26 02:45:23 UTC (rev 
75934)
+++ brlcad/branches/dm-fb-merge/src/libbu       2020-05-26 02:53:36 UTC (rev 
75935)

Property changes on: brlcad/branches/dm-fb-merge/src/libbu
___________________________________________________________________
Modified: svn:mergeinfo
## -1,5 +1,5 ##
 
/brlcad/branches/RELEASE/src/libbu:70323-70333,71915-71935,72826-72858,74376-74454
-/brlcad/branches/bioh/src/libbu:75720-75736
+/brlcad/branches/bioh/src/libbu:75720-75736,75860-75891
 
/brlcad/branches/brep-debug/src/libbu:69168,69927,69995-69996,70148-70149,70347-70349,70377,70526-70527,71006-71007,71009-71022,71046-71047,71049,71096-71100
 /brlcad/branches/tcltk86/src/libbu:68300-75257
-/brlcad/trunk/src/libbu:75512-75597,75630-75814
\ No newline at end of property
+/brlcad/trunk/src/libbu:75512-75597,75630-75814,75880-75934
\ No newline at end of property
Modified: brlcad/branches/dm-fb-merge/src/libbu/realpath_bsd.c
===================================================================
--- brlcad/branches/dm-fb-merge/src/libbu/realpath_bsd.c        2020-05-26 
02:45:23 UTC (rev 75934)
+++ brlcad/branches/dm-fb-merge/src/libbu/realpath_bsd.c        2020-05-26 
02:53:36 UTC (rev 75935)
@@ -165,7 +165,11 @@
            errno = ENAMETOOLONG;
            goto err;
        }
-       slen = readlink(resolved, symlink, sizeof(symlink));
+       slen = readlink(resolved, symlink, sizeof(symlink) - 1);
+       /* POS30-C: ensure NULL termination of readlink */
+       if (slen >= 0) {
+           symlink[slen] = '\0';
+       }
        if (slen < 0) {
            switch (errno) {
                case EINVAL:

Modified: brlcad/branches/dm-fb-merge/src/libbu/tests/dylib/CMakeLists.txt
===================================================================
--- brlcad/branches/dm-fb-merge/src/libbu/tests/dylib/CMakeLists.txt    
2020-05-26 02:45:23 UTC (rev 75934)
+++ brlcad/branches/dm-fb-merge/src/libbu/tests/dylib/CMakeLists.txt    
2020-05-26 02:53:36 UTC (rev 75935)
@@ -32,19 +32,19 @@
 endforeach (target_name${plugins})
 
 add_library(libdylib SHARED dylib.c)
-if (CPP_DLL_DEFINES)
+if (HIDE_INTERNAL_SYMBOLS)
   set_property(TARGET plugin_1 APPEND PROPERTY COMPILE_DEFINITIONS 
BU_DYLIB_DLL_EXPORTS)
   set_property(TARGET plugin_2 APPEND PROPERTY COMPILE_DEFINITIONS 
BU_DYLIB_DLL_EXPORTS)
   set_property(TARGET libdylib APPEND PROPERTY COMPILE_DEFINITIONS 
BU_DYLIB_DLL_EXPORTS)
-endif (CPP_DLL_DEFINES)
+endif (HIDE_INTERNAL_SYMBOLS)
 target_link_libraries(libdylib libbu)
 set_target_properties(libdylib PROPERTIES FOLDER "BRL-CAD Executables/Test 
Programs/dylib")
 
 add_executable(bu_dylib run.c)
 target_link_libraries(bu_dylib libdylib libbu)
-if (CPP_DLL_DEFINES)
+if (HIDE_INTERNAL_SYMBOLS)
   set_property(TARGET bu_dylib APPEND PROPERTY COMPILE_DEFINITIONS 
BU_DYLIB_DLL_IMPORTS)
-endif (CPP_DLL_DEFINES)
+endif (HIDE_INTERNAL_SYMBOLS)
 set_target_properties(bu_dylib PROPERTIES FOLDER "BRL-CAD Executables/Test 
Programs/dylib")
 
 # As a build convenience, make bu_dylib depend on everything

Modified: brlcad/branches/dm-fb-merge/src/libbu/tests/dylib/dylib.h
===================================================================
--- brlcad/branches/dm-fb-merge/src/libbu/tests/dylib/dylib.h   2020-05-26 
02:45:23 UTC (rev 75934)
+++ brlcad/branches/dm-fb-merge/src/libbu/tests/dylib/dylib.h   2020-05-26 
02:53:36 UTC (rev 75935)
@@ -18,9 +18,9 @@
 #  if defined(BU_DYLIB_DLL_EXPORTS) && defined(BU_DYLIB_DLL_IMPORTS)
 #    error "Only BU_DYLIB_DLL_EXPORTS or BU_DYLIB_DLL_IMPORTS can be defined, 
not both."
 #  elif defined(BU_DYLIB_DLL_EXPORTS)
-#    define BU_DYLIB_EXPORT __declspec(dllexport)
+#    define BU_DYLIB_EXPORT COMPILER_DLLEXPORT
 #  elif defined(BU_DYLIB_DLL_IMPORTS)
-#    define BU_DYLIB_EXPORT __declspec(dllimport)
+#    define BU_DYLIB_EXPORT COMPILER_DLLIMPORT
 #  else
 #    define BU_DYLIB_EXPORT
 #  endif

Modified: brlcad/branches/dm-fb-merge/src/libbu/whereami.c
===================================================================
--- brlcad/branches/dm-fb-merge/src/libbu/whereami.c    2020-05-26 02:45:23 UTC 
(rev 75934)
+++ brlcad/branches/dm-fb-merge/src/libbu/whereami.c    2020-05-26 02:53:36 UTC 
(rev 75935)
@@ -89,6 +89,54 @@
 #error unsupported compiler
 #endif
 
+/* LIBBU fallback implementation */
+static
+int _bu_getExecutablePath(char* out, int capacity, int* dirname_length)
+{
+    const char *pname = _bu_progname_raw();
+    struct bu_vls epath = BU_VLS_INIT_ZERO;
+
+    if (pname[0] == '.') {
+        char iwd[MAXPATHLEN];
+        char fullpath[MAXPATHLEN];
+        bu_getiwd(iwd, MAXPATHLEN);
+       // Use a VLS for this, since in principle there's nothing stopping the
+       // iwd and the bu_progname each individually from running right up to
+       // MAXPATHLEN, and if they do a MAXPATHLEN buffer won't hold both of
+       // them for realpath to try and digest down into something sane.
+        bu_vls_sprintf(&epath, "%s%c%s", iwd, BU_DIR_SEPARATOR, pname);
+        if (!bu_file_realpath(bu_vls_cstr(&epath), fullpath)) {
+            /* Unable to resolve initial path concatentation */
+           bu_vls_free(&epath);
+           return -1;
+        }
+       bu_vls_sprintf(&epath, "%s", fullpath);
+    } else {
+       bu_vls_sprintf(&epath, "%s", pname);
+    }
+
+    int length = bu_vls_strlen(&epath);
+    if (length <= capacity) {
+
+       memcpy(out, bu_vls_cstr(&epath), length);
+
+       if (dirname_length) {
+           int i;
+           for (i = length - 1; i >= 0; --i) {
+               if (out[i] == '/') {
+                   *dirname_length = i;
+                   break;
+               }
+           }
+       }
+    }
+
+    bu_vls_free(&epath);
+
+    return length;
+}
+
+
 #if defined(_WIN32)
 
 #define WIN32_LEAN_AND_MEAN
@@ -260,6 +308,10 @@
     break;
   }
 
+  if (length <= 0) {
+    return _bu_getExecutablePath(out, capacity, dirname_length);
+  }
+
   return length;
 }
 
@@ -452,6 +504,10 @@
   if (path != buffer1)
     WAI_FREE(path);
 
+  if (length <= 0) {
+    return _bu_getExecutablePath(out, capacity, dirname_length);
+  }
+
   return length;
 }
 
@@ -558,6 +614,10 @@
 
   fclose(self_exe);
 
+  if (length <= 0) {
+    return _bu_getExecutablePath(out, capacity, dirname_length);
+  }
+
   return length;
 }
 
@@ -666,6 +726,10 @@
   if (path != buffer1)
     WAI_FREE(path);
 
+  if (length <= 0) {
+    return _bu_getExecutablePath(out, capacity, dirname_length);
+  }
+
   return length;
 }
 
@@ -719,47 +783,7 @@
 WAI_FUNCSPEC
 int WAI_PREFIX(getExecutablePath)(char* out, int capacity, int* dirname_length)
 {
-    const char *pname = _bu_progname_raw();
-    struct bu_vls epath = BU_VLS_INIT_ZERO;
-
-    if (pname[0] == '.') {
-        char iwd[MAXPATHLEN];
-        char fullpath[MAXPATHLEN];
-        bu_getiwd(iwd, MAXPATHLEN);
-       // Use a VLS for this, since in principle there's nothing stopping the
-       // iwd and the bu_progname each individually from running right up to
-       // MAXPATHLEN, and if they do a MAXPATHLEN buffer won't hold both of
-       // them for realpath to try and digest down into something sane.
-        bu_vls_sprintf(&epath, "%s%c%s", iwd, BU_DIR_SEPARATOR, pname);
-        if (!bu_file_realpath(bu_vls_cstr(&epath), fullpath)) {
-            /* Unable to resolve initial path concatentation */
-           bu_vls_free(&epath);
-           return -1;
-        }
-       bu_vls_sprintf(&epath, "%s", fullpath);
-    } else {
-       bu_vls_sprintf(&epath, "%s", pname);
-    }
-
-    int length = bu_vls_strlen(&epath);
-    if (length <= capacity) {
-
-       memcpy(out, bu_vls_cstr(&epath), length);
-
-       if (dirname_length) {
-           int i;
-           for (i = length - 1; i >= 0; --i) {
-               if (out[i] == '/') {
-                   *dirname_length = i;
-                   break;
-               }
-           }
-       }
-    }
-
-    bu_vls_free(&epath);
-
-    return length;
+    return _bu_getExecutablePath(out, capacity, dirname_length);
 }
 
 WAI_NOINLINE WAI_FUNCSPEC

Modified: brlcad/branches/dm-fb-merge/src/libdm/CMakeLists.txt
===================================================================
--- brlcad/branches/dm-fb-merge/src/libdm/CMakeLists.txt        2020-05-26 
02:45:23 UTC (rev 75934)
+++ brlcad/branches/dm-fb-merge/src/libdm/CMakeLists.txt        2020-05-26 
02:53:36 UTC (rev 75935)
@@ -32,10 +32,10 @@
   add_subdirectory(wgl)
   list(APPEND libdm_DEFINES DM_WGL IF_WGL)
 endif(WIN32 AND BRLCAD_ENABLE_OPENGL)
-if(BRLCAD_ENABLE_TK AND NOT WIN32)
+if(BRLCAD_ENABLE_TK AND BRLCAD_ENABLE_DM_TK)
   add_subdirectory(tk)
   list(APPEND libdm_DEFINES DM_TK IF_TK)
-endif(BRLCAD_ENABLE_TK AND NOT WIN32)
+endif(BRLCAD_ENABLE_TK AND BRLCAD_ENABLE_DM_TK)
 if(BRLCAD_ENABLE_OSG AND BRLCAD_ENABLE_TK)
   add_subdirectory(osgl)
   list(APPEND libdm_DEFINES DM_OSGL IF_OSGL)
@@ -84,9 +84,16 @@
 
 #if(BRLCAD_ENABLE_OSG)
 #  BRLCAD_ADDEXEC(osg-test osgl/osg-test.cpp "librt;libbu;${OSG_LIBRARIES}" 
NO_STRICT NO_INSTALL)
-#  if(CPP_DLL_DEFINES)
-#    set_property(TARGET libdm APPEND PROPERTY COMPILE_DEFINITIONS 
"FREETYPE_DLL_IMPORTS")
-#  endif(CPP_DLL_DEFINES)
+#  if(HIDE_INTERNAL_SYMBOLS)
+#    if (TARGET osg OR HIDE_INTERNAL_SYMBOLS_EXT)
+#      set_property(TARGET libdm APPEND PROPERTY COMPILE_DEFINITIONS 
"FREETYPE_DLL_IMPORTS")
+#    endif (TARGET osg OR HIDE_INTERNAL_SYMBOLS_EXT)
+#    if(TARGET libdm-obj)
+#      if (TARGET osg OR HIDE_INTERNAL_SYMBOLS_EXT)
+#        set_property(TARGET libdm-obj APPEND PROPERTY COMPILE_DEFINITIONS 
"FREETYPE_DLL_IMPORTS")
+#      endif (TARGET osg OR HIDE_INTERNAL_SYMBOLS_EXT)
+#    endif(TARGET libdm-obj)
+#  endif(HIDE_INTERNAL_SYMBOLS)
 #endif(BRLCAD_ENABLE_OSG)
 
 if (TARGET profont_ProFont_ttf_cp)

Modified: brlcad/branches/dm-fb-merge/src/libdm/wgl/CMakeLists.txt
===================================================================
--- brlcad/branches/dm-fb-merge/src/libdm/wgl/CMakeLists.txt    2020-05-26 
02:45:23 UTC (rev 75934)
+++ brlcad/branches/dm-fb-merge/src/libdm/wgl/CMakeLists.txt    2020-05-26 
02:53:36 UTC (rev 75935)
@@ -22,7 +22,7 @@
 add_definitions(-DDM_WGL -DIF_WGL)
 
 add_library(dm-wgl SHARED ${WGL_SRCS})
-target_link_libraries(dm-wgl libdm libbu ${TCL_LIBRARY} ${TK_LIBRARY} 
${OPENGL_LIBRARIES})
+target_link_libraries(dm-wgl libdm libbu ${TCL_LIBRARY} ${TK_LIBRARY} 
${OPENGL32_LIBRARY} ${OPENGL_LIBRARIES})
 if (CPP_DLL_DEFINES)
   set_property(TARGET dm-wgl APPEND PROPERTY COMPILE_DEFINITIONS 
"DM_DLL_EXPORTS")
 endif (CPP_DLL_DEFINES)

Modified: brlcad/branches/dm-fb-merge/src/libgcv/CMakeLists.txt
===================================================================
--- brlcad/branches/dm-fb-merge/src/libgcv/CMakeLists.txt       2020-05-26 
02:45:23 UTC (rev 75934)
+++ brlcad/branches/dm-fb-merge/src/libgcv/CMakeLists.txt       2020-05-26 
02:53:36 UTC (rev 75935)
@@ -9,11 +9,11 @@
   )
 BRLCAD_LIB_INCLUDE_DIRS(gcv GCV_INCLUDE_DIRS "")
 
-if(CPP_DLL_DEFINES)
+if(MSVC)
   set(LIBGCV_PLUGINS_PATH "${BIN_DIR}")
-else(CPP_DLL_DEFINES)
+else(MSVC)
   set(LIBGCV_PLUGINS_PATH "${LIB_DIR}")
-endif(CPP_DLL_DEFINES)
+endif(MSVC)
 set(LIBGCV_PLUGINS_DIRECTORY "libgcv_plugins")
 add_subdirectory(plugins)
 
@@ -35,9 +35,9 @@
 
 enable_testing()
 BRLCAD_ADDEXEC(test_bottess test_bottess.c libgcv NO_INSTALL)
-if(CPP_DLL_DEFINES)
+if(HIDE_INTERNAL_SYMBOLS)
   set_property(TARGET test_bottess APPEND PROPERTY COMPILE_DEFINITIONS 
"BOTTESS_DLL_IMPORTS")
-endif(CPP_DLL_DEFINES)
+endif(HIDE_INTERNAL_SYMBOLS)
 add_test(NAME bottess_test COMMAND test_bottess)
 
 

Modified: brlcad/branches/dm-fb-merge/src/libgcv/plugins/CMakeLists.txt
===================================================================
--- brlcad/branches/dm-fb-merge/src/libgcv/plugins/CMakeLists.txt       
2020-05-26 02:45:23 UTC (rev 75934)
+++ brlcad/branches/dm-fb-merge/src/libgcv/plugins/CMakeLists.txt       
2020-05-26 02:53:36 UTC (rev 75935)
@@ -28,9 +28,12 @@
   endif(NOT CMAKE_CONFIGURATION_TYPES)
 
   # We're using GCV_EXPORT for these plugins, so we need to set the 
DLL_EXPORTS accordingly
-  if(CPP_DLL_DEFINES)
+  if(HIDE_INTERNAL_SYMBOLS)
     set_property(TARGET ${target_name} APPEND PROPERTY COMPILE_DEFINITIONS 
"GCV_DLL_EXPORTS")
-  endif(CPP_DLL_DEFINES)
+    if (TARGET ${target_name}-obj)
+      set_property(TARGET ${target_name}-obj APPEND PROPERTY 
COMPILE_DEFINITIONS "GCV_DLL_EXPORTS")
+    endif (TARGET ${target_name}-obj)
+  endif(HIDE_INTERNAL_SYMBOLS)
 
   install(TARGETS ${target_name}
     RUNTIME DESTINATION ${BIN_DIR}/${LIBGCV_PLUGINS_DIRECTORY}

Modified: brlcad/branches/dm-fb-merge/src/libgcv/plugins/obj/obj_read.c
===================================================================
--- brlcad/branches/dm-fb-merge/src/libgcv/plugins/obj/obj_read.c       
2020-05-26 02:45:23 UTC (rev 75934)
+++ brlcad/branches/dm-fb-merge/src/libgcv/plugins/obj/obj_read.c       
2020-05-26 02:53:36 UTC (rev 75935)
@@ -1184,10 +1184,11 @@
     tri_arr_2D_t index_arr_tri_2D = NULL;
     tri_arr_3D_t index_arr_tri_3D = NULL;
 
-    double *facePoints;
-    int *triFaces;
-    size_t i, numFacePoints;
-    struct faceuse *fu;
+    double *facePoints = NULL;
+    int *triFaces = NULL;
+    size_t i = 0;
+    size_t numFacePoints = 0;
+    struct faceuse *fu = NULL;
     const int POINTS_PER_FACE = 3;
 
     if (ti->index_arr_tri == (void *)NULL) {

Modified: 
brlcad/branches/dm-fb-merge/src/libgcv/plugins/obj/wfobj/CMakeLists.txt
===================================================================
--- brlcad/branches/dm-fb-merge/src/libgcv/plugins/obj/wfobj/CMakeLists.txt     
2020-05-26 02:45:23 UTC (rev 75934)
+++ brlcad/branches/dm-fb-merge/src/libgcv/plugins/obj/wfobj/CMakeLists.txt     
2020-05-26 02:53:36 UTC (rev 75935)
@@ -109,10 +109,11 @@
 add_library(libwfobj SHARED ${WFOBJ_SRCS})
 set_target_properties(libwfobj PROPERTIES PREFIX "")
 set_target_properties(libwfobj PROPERTIES VERSION 20.0.1 SOVERSION 20)
-if(MSVC)
+if(HIDE_INTERNAL_SYMBOLS)
   set_property(TARGET libwfobj APPEND PROPERTY COMPILE_DEFINITIONS 
"WFOBJ_DLL_EXPORTS")
-endif(MSVC)
+endif(HIDE_INTERNAL_SYMBOLS)
 set_property(TARGET libwfobj APPEND PROPERTY INCLUDE_DIRECTORIES 
"${GENERATED_INCLUDES}")
+
 install(TARGETS libwfobj 
   RUNTIME DESTINATION ${BIN_DIR}
   LIBRARY DESTINATION ${LIB_DIR}

Modified: brlcad/branches/dm-fb-merge/src/libgcv/plugins/obj/wfobj/obj_util.h
===================================================================
--- brlcad/branches/dm-fb-merge/src/libgcv/plugins/obj/wfobj/obj_util.h 
2020-05-26 02:45:23 UTC (rev 75934)
+++ brlcad/branches/dm-fb-merge/src/libgcv/plugins/obj/wfobj/obj_util.h 
2020-05-26 02:53:36 UTC (rev 75935)
@@ -34,9 +34,9 @@
 #  elif defined(STATIC_BUILD)
 #    define WFOBJ_EXPORT
 #  elif defined(WFOBJ_DLL_EXPORTS)
-#    define WFOBJ_EXPORT __declspec(dllexport)
+#    define WFOBJ_EXPORT COMPILER_DLLEXPORT
 #  elif defined(WFOBJ_DLL_IMPORTS)
-#    define WFOBJ_EXPORT __declspec(dllimport)
+#    define WFOBJ_EXPORT COMPILER_DLLIMPORT
 #  else
 #    define WFOBJ_EXPORT
 #  endif

Modified: brlcad/branches/dm-fb-merge/src/libged/bot/extrude.cpp
===================================================================
--- brlcad/branches/dm-fb-merge/src/libged/bot/extrude.cpp      2020-05-26 
02:45:23 UTC (rev 75934)
+++ brlcad/branches/dm-fb-merge/src/libged/bot/extrude.cpp      2020-05-26 
02:53:36 UTC (rev 75935)
@@ -152,7 +152,7 @@
         point_t pnts[6];
         point_t pf[3];
         vect_t pv1[3], pv2[3];
-       vect_t n;
+       vect_t n = VINIT_ZERO;
        bot_face_normal(&n, bot, i);
 
        for (int j = 0; j < 3; j++) {

Modified: brlcad/branches/dm-fb-merge/src/libicv/CMakeLists.txt
===================================================================
--- brlcad/branches/dm-fb-merge/src/libicv/CMakeLists.txt       2020-05-26 
02:45:23 UTC (rev 75934)
+++ brlcad/branches/dm-fb-merge/src/libicv/CMakeLists.txt       2020-05-26 
02:53:36 UTC (rev 75935)
@@ -26,9 +26,16 @@
 
 BRLCAD_ADDLIB(libicv "${LIBICV_SOURCES}" 
"libbu;libbn;${PNG_LIBRARIES};${NETPBM_LIBRARY}")
 set_target_properties(libicv PROPERTIES VERSION 20.0.1 SOVERSION 20)
-if(CPP_DLL_DEFINES)
-  set_property(TARGET libicv APPEND PROPERTY COMPILE_DEFINITIONS 
"NETPBM_DLL_IMPORTS")
-endif(CPP_DLL_DEFINES)
+if (HIDE_INTERNAL_SYMBOLS)
+  if (TARGET netpbm OR HIDE_INTERNAL_SYMBOLS_EXT)
+    set_property(TARGET libicv APPEND PROPERTY COMPILE_DEFINITIONS 
"NETPBM_DLL_IMPORTS")
+  endif (TARGET netpbm OR HIDE_INTERNAL_SYMBOLS_EXT)
+  if (TARGET libicv-obj)
+    if (TARGET netpbm OR HIDE_INTERNAL_SYMBOLS_EXT)
+      set_property(TARGET libicv-obj APPEND PROPERTY COMPILE_DEFINITIONS 
"NETPBM_DLL_IMPORTS")
+    endif (TARGET netpbm OR HIDE_INTERNAL_SYMBOLS_EXT)
+  endif (TARGET libicv-obj)
+endif (HIDE_INTERNAL_SYMBOLS)
 
 add_subdirectory(tests)
 

Modified: brlcad/branches/dm-fb-merge/src/librt/CMakeLists.txt
===================================================================
--- brlcad/branches/dm-fb-merge/src/librt/CMakeLists.txt        2020-05-26 
02:45:23 UTC (rev 75934)
+++ brlcad/branches/dm-fb-merge/src/librt/CMakeLists.txt        2020-05-26 
02:53:36 UTC (rev 75935)
@@ -364,13 +364,32 @@
 BRLCAD_ADDLIB(librt "${LIBRT_SOURCES}" 
"${OPENCL_LIBS};${GDIAM_LIBRARY};${VDS_LIBRARY};libbrep;libnmg;libbg;libbn;libbu;${OPENNURBS_LIBRARIES};${P2T_LIBRARY};${SPR_LIB};${REGEX_LIBRARIES};${LZ4_LIBRARIES};${WINSOCK_LIB};${RPCRT_LIB};${STDCXX_LIBRARIES}")
 
 set_target_properties(librt PROPERTIES VERSION 20.0.1 SOVERSION 20)
-if(CPP_DLL_DEFINES)
+if(HIDE_INTERNAL_SYMBOLS)
   set_property(TARGET librt APPEND PROPERTY COMPILE_DEFINITIONS 
"TIE_DLL_EXPORTS")
   set_property(TARGET librt APPEND PROPERTY COMPILE_DEFINITIONS 
"DB5_DLL_EXPORTS")
-  set_property(TARGET librt APPEND PROPERTY COMPILE_DEFINITIONS 
"VDS_DLL_IMPORTS")
-  set_property(TARGET librt APPEND PROPERTY COMPILE_DEFINITIONS 
"GDIAM_DLL_IMPORTS")
-  set_property(TARGET librt APPEND PROPERTY COMPILE_DEFINITIONS 
"LZ4_DLL_IMPORT=1")
-endif(CPP_DLL_DEFINES)
+  if(TARGET vds OR HIDE_INTERNAL_SYMBOLS_EXT)
+    set_property(TARGET librt APPEND PROPERTY COMPILE_DEFINITIONS 
"VDS_DLL_IMPORTS")
+  endif(TARGET vds OR HIDE_INTERNAL_SYMBOLS_EXT)
+  if(TARGET gdiam OR HIDE_INTERNAL_SYMBOLS_EXT)
+    set_property(TARGET librt APPEND PROPERTY COMPILE_DEFINITIONS 
"GDIAM_DLL_IMPORTS")
+  endif(TARGET gdiam OR HIDE_INTERNAL_SYMBOLS_EXT)
+  if(TARGET lz4 OR HIDE_INTERNAL_SYMBOLS_EXT)
+    set_property(TARGET librt APPEND PROPERTY COMPILE_DEFINITIONS 
"LZ4_DLL_IMPORT=1")
+  endif(TARGET lz4 OR HIDE_INTERNAL_SYMBOLS_EXT)
+  if (TARGET librt-obj)
+    set_property(TARGET librt-obj APPEND PROPERTY COMPILE_DEFINITIONS 
"TIE_DLL_EXPORTS")
+    set_property(TARGET librt-obj APPEND PROPERTY COMPILE_DEFINITIONS 
"DB5_DLL_EXPORTS")
+    if(TARGET vds OR HIDE_INTERNAL_SYMBOLS_EXT)
+      set_property(TARGET librt-obj APPEND PROPERTY COMPILE_DEFINITIONS 
"VDS_DLL_IMPORTS")
+    endif(TARGET vds OR HIDE_INTERNAL_SYMBOLS_EXT)
+    if(TARGET gdiam OR HIDE_INTERNAL_SYMBOLS_EXT)
+      set_property(TARGET librt-obj APPEND PROPERTY COMPILE_DEFINITIONS 
"GDIAM_DLL_IMPORTS")
+    endif(TARGET gdiam OR HIDE_INTERNAL_SYMBOLS_EXT)
+    if(TARGET lz4 OR HIDE_INTERNAL_SYMBOLS_EXT)
+      set_property(TARGET librt-obj APPEND PROPERTY COMPILE_DEFINITIONS 
"LZ4_DLL_IMPORT=1")
+    endif(TARGET lz4 OR HIDE_INTERNAL_SYMBOLS_EXT)
+  endif (TARGET librt-obj)
+endif(HIDE_INTERNAL_SYMBOLS)
 
 # The following is build code for test applications used during
 # development

Modified: brlcad/branches/dm-fb-merge/src/librt/primitives/sketch/sketch.c
===================================================================
--- brlcad/branches/dm-fb-merge/src/librt/primitives/sketch/sketch.c    
2020-05-26 02:45:23 UTC (rev 75934)
+++ brlcad/branches/dm-fb-merge/src/librt/primitives/sketch/sketch.c    
2020-05-26 02:53:36 UTC (rev 75935)
@@ -2637,7 +2637,12 @@
 {
     int i, j, k;
     int count;
-    int start1, end1, start2, end2, start3, end3;
+    int start1 = 0;
+    int start2 = 0;
+    int start3 = 0;
+    int end1 = 0;
+    int end2 = 0;
+    int end3 = 0;
 
     count = crv->count;
     if (count < 2) {

Modified: brlcad/branches/dm-fb-merge/src/libtclcad/tkImgFmtPIX.c
===================================================================
--- brlcad/branches/dm-fb-merge/src/libtclcad/tkImgFmtPIX.c     2020-05-26 
02:45:23 UTC (rev 75934)
+++ brlcad/branches/dm-fb-merge/src/libtclcad/tkImgFmtPIX.c     2020-05-26 
02:53:36 UTC (rev 75935)
@@ -66,6 +66,7 @@
 #include "dm.h"
 #include "tk.h"
 
+#include "tclcad.h"
 
 /* we need tk version numbers for compatibility compilation */
 #if !defined(TK_MAJOR_VERSION) || (TK_MAJOR_VERSION != 8)
@@ -90,7 +91,7 @@
                                                  const char *fileName, Tcl_Obj 
*formatString,
                                                  Tk_PhotoImageBlock 
*blockPtr));
 
-Tk_PhotoImageFormat tkImgFmtPIX = {
+TCLCAD_EXPORT Tk_PhotoImageFormat tkImgFmtPIX = {
     "PIX",                     /* name */
     FileMatchPIX,              /* fileMatchProc */
     NULL,                      /* stringMatchProc */

Modified: brlcad/branches/dm-fb-merge/src/mged/CMakeLists.txt
===================================================================
--- brlcad/branches/dm-fb-merge/src/mged/CMakeLists.txt 2020-05-26 02:45:23 UTC 
(rev 75934)
+++ brlcad/branches/dm-fb-merge/src/mged/CMakeLists.txt 2020-05-26 02:53:36 UTC 
(rev 75935)
@@ -63,13 +63,10 @@
   wdb_obj.c
   )
 
-set(mged_libs libtclcad libged libwdb libdm libnmg ${ITCL_LIBRARY} 
${ITK_LIBRARY})
+set(mged_libs libtclcad libged libwdb libdm libnmg ${ITCL_LIBRARY} 
${ITK_LIBRARY} ${WS2_32_LIBRARY} ${OPENGL32_LIBRARY})
 if(TARGET libtermio)
   set(mged_libs ${mged_libs} libtermio)
 endif(TARGET libtermio)
-if(CPP_DLL_DEFINES)
-  set(mged_libs ${mged_libs} ws2_32.lib;opengl32.lib)
-endif(CPP_DLL_DEFINES)
 
 # Ideally we'd build as GUI for Windows to avoid the command window popping up,
 # but I'm not sure if that would be a problem for scripting with mged.exe on

Index: brlcad/branches/dm-fb-merge/src/other
===================================================================
--- brlcad/branches/dm-fb-merge/src/other       2020-05-26 02:45:23 UTC (rev 
75934)
+++ brlcad/branches/dm-fb-merge/src/other       2020-05-26 02:53:36 UTC (rev 
75935)

Property changes on: brlcad/branches/dm-fb-merge/src/other
___________________________________________________________________
Modified: svn:mergeinfo
## -1,5 +1,5 ##
 
/brlcad/branches/RELEASE/src/other:57439,57447-57860,69901-69913,71917-72242,72525-72534,72826-72858,74376-74454,75682-75685
-/brlcad/branches/bioh/src/other:75720-75736
+/brlcad/branches/bioh/src/other:75720-75736,75860-75891
 
/brlcad/branches/brep-debug/src/other:61373,61375,61404,61427,61429,61470,61544,61567,61576,61999,62018,62094,62098,62107,62117,62406,62416-62519,62521-62584,62593-62614,62623,62658,62660-62674,62681-62771,62876,62901,62907,62910,62925,62928,62931-63025,63027,63051,63054-63056,63069,63071-63073,63122,63160-63161,63165,63171,63184,63187,63189-63190,63193-63196,63200,63202,63205-63210,63213,63219-63225,63232-63233,63236,63238,63338,63350-63353,63481,63618,63669,64173-64174,64176-64177,64229-64233,64242,64244,64360-64362,65165,65245,65249,65334,65833-65834,66370-66375,66931-66932,66934,67012-67015,67018-67019,67021-67022,67406,67740,67746-67748,67950,67952,68144-68145,68636,68640-68643,68820,69081,69109,69206,69289,69346,69460-69461,69582-69583,69719-69721,69857-69859,69927
 /brlcad/branches/bullet/src/other:62518
 /brlcad/branches/cmake/src/other:43219
## -8,4 +8,4 ##
 /brlcad/branches/osg/src/other:62110-62113
 /brlcad/branches/prep-cache/src/other:68236-68933
 /brlcad/branches/tcltk86/src/other:68300-75257
-/brlcad/trunk/src/other:75440-75462,75512-75597,75630-75814
\ No newline at end of property
+/brlcad/trunk/src/other:75440-75462,75512-75597,75630-75814,75880-75934
\ No newline at end of property
Modified: brlcad/branches/dm-fb-merge/src/other/CMakeLists.txt
===================================================================
--- brlcad/branches/dm-fb-merge/src/other/CMakeLists.txt        2020-05-26 
02:45:23 UTC (rev 75934)
+++ brlcad/branches/dm-fb-merge/src/other/CMakeLists.txt        2020-05-26 
02:53:36 UTC (rev 75935)
@@ -308,13 +308,40 @@
 #                Tcl/Tk and related extensions
 ####################################################################
 
+function(TCL_RESET_VARS)
+  unset(TCL_LIBRARY CACHE)
+  unset(TCL_STUB_LIBRARY CACHE)
+  unset(TCL_FOUND CACHE)
+  unset(TCLSH_FOUND CACHE)
+  unset(TCL_LIBRARY CACHE)
+  unset(TCL_INCLUDE_PATH CACHE)
+  unset(TCL_TCLSH CACHE)
+  unset(TCL_STUB_LIBRARY CACHE)
+endfunction(TCL_RESET_VARS)
+
+function(TK_RESET_VARS)
+  unset(TK_LIBRARY CACHE)
+  unset(TK_STUB_LIBRARY CACHE)
+  unset(TK_FOUND CACHE)
+  unset(TCLTK_FOUND CACHE)
+  unset(TK_LIBRARY CACHE)
+  unset(TK_INCLUDE_PATH CACHE)
+  unset(TK_WISH CACHE)
+  unset(TK_STUB_LIBRARY CACHE)
+  unset(TTK_STUB_LIBRARY CACHE)
+endfunction(TK_RESET_VARS)
+
+
+# Set the expected graphics system (if known) before any find_package
+# calls related to Tcl
+if(BRLCAD_ENABLE_AQUA)
+  set(TK_ENABLE_AQUA ON CACHE STRING "BRL-CAD setting to enable AQUA" FORCE)
+  set(TCL_TK_SYSTEM_GRAPHICS "aqua" CACHE STRING "Tk system graphics type" 
FORCE)
+endif(BRLCAD_ENABLE_AQUA)
+
 # Make sure we actually look for these each time...
-unset(TCL_TCLSH CACHE)
-unset(TCL_LIBRARY CACHE)
-unset(TCL_INCLUDE_PATH CACHE)
-unset(TK_WISH CACHE)
-unset(TK_LIBRARY CACHE)
-unset(TK_INCLUDE_PATH CACHE)
+TCL_RESET_VARS()
+TK_RESET_VARS()
 
 set(tcl_DESCRIPTION "
 Option for enabling and disabling compilation of the Tcl library
@@ -375,7 +402,7 @@
   ")
   set(inittcl_scriptfile "${CMAKE_BINARY_DIR}/CMakeTmp/tcl_inittcl.tcl")
   file(WRITE ${inittcl_scriptfile} ${inittcl_script})
-  exec_program(${TCL_TCLSH} ARGS ${inittcl_scriptfile} OUTPUT_VARIABLE 
EXECOUTPUT)
+  execute_process(COMMAND ${TCL_TCLSH} ${inittcl_scriptfile} OUTPUT_VARIABLE 
EXECOUTPUT)
   file(READ "${CMAKE_BINARY_DIR}/CMakeTmp/tcl_inittcl" tcl_inittcl_raw)
   string(REGEX REPLACE "\n" "" tcl_inittcl_paths_1 ${tcl_inittcl_raw})
   string(REGEX REPLACE " " ";" tcl_inittcl_paths ${tcl_inittcl_paths_1})
@@ -411,9 +438,6 @@
 local copy is built even if a system version is present.  This option
 also depends on BRLCAD_ENABLE_TK being ON.
 ")
-if(BRLCAD_ENABLE_AQUA)
-  set(TK_ENABLE_AQUA ON CACHE STRING "BRL-CAD setting to enable AQUA" FORCE)
-endif(BRLCAD_ENABLE_AQUA)
 
 THIRD_PARTY_TCL_PACKAGE(Tk tk "${TCL_TCLSH}" "tcl" 
"BRLCAD_ENABLE_TK;BRLCAD_LEVEL2" "tk" tk_ALIASES tk_DESCRIPTION)
 
@@ -456,15 +480,13 @@
   set(HAVE_TK_H 1)
 
   # Packages probably still need to know the system graphics package
-  if (NOT WIN32)
-    if (APPLE AND TK_ENABLE_AQUA)
-      set(TK_SYSTEM_GRAPHICS aqua)
-    else ()
-      set(TK_SYSTEM_GRAPHICS x11)
-    endif (APPLE AND TK_ENABLE_AQUA)
-  else (NOT WIN32)
+  if (BRLCAD_ENABLE_AQUA)
+    set(TK_SYSTEM_GRAPHICS aqua)
+  elseif (BRLCAD_ENABLE_X11)
+    set(TK_SYSTEM_GRAPHICS x11)
+  elseif (WIN32)
     set(TK_SYSTEM_GRAPHICS win32)
-  endif (NOT WIN32)
+  endif ()
   set(TK_SYSTEM_GRAPHICS "${TK_SYSTEM_GRAPHICS}" CACHE STRING "Tk system 
graphics type" FORCE)
 
 else(BRLCAD_TK_BUILD)
@@ -472,11 +494,8 @@
   # If we're not using Tk, make sure the variables are empty - CMake won't be
   # happy if they're set to NOTFOUND and used, and FindTCL.cmake may have set
   # them.
-  set(TK_LIBRARY "" CACHE STRING "TK_LIBRARY" FORCE)
-  set(TK_STUB_LIBRARY "" CACHE STRING "TK_LIBRARY" FORCE)
-  set(TK_WISH "" CACHE STRING "TK_WISH" FORCE)
-  set(TK_INCLUDE_PATH "" CACHE STRING "Tk include path" FORCE)
-  set(TK_SYSTEM_GRAPHICS "" CACHE STRING "Tk system graphics type" FORCE)
+  TK_RESET_VARS()
+  unset(TK_SYSTEM_GRAPHICS CACHE)
 
 endif(BRLCAD_TK_BUILD)
 mark_as_advanced(TK_INCLUDE_PATH)

Index: brlcad/branches/dm-fb-merge/src/other/libgdiam
===================================================================
--- brlcad/branches/dm-fb-merge/src/other/libgdiam      2020-05-26 02:45:23 UTC 
(rev 75934)
+++ brlcad/branches/dm-fb-merge/src/other/libgdiam      2020-05-26 02:53:36 UTC 
(rev 75935)

Property changes on: brlcad/branches/dm-fb-merge/src/other/libgdiam
___________________________________________________________________
Modified: svn:mergeinfo
## -7,4 +7,5 ##
 /brlcad/branches/osg/src/other/libgdiam:62110-62113
 /brlcad/branches/prep-cache/src/other/libgdiam:68236-68933
 /brlcad/branches/tcltk86/src/other/libgdiam:68300-75257
-/brlcad/branches/thirdparty_rework/src/other/libgdiam:75098-75134
\ No newline at end of property
+/brlcad/branches/thirdparty_rework/src/other/libgdiam:75098-75134
+/brlcad/trunk/src/other/libgdiam:75880-75934
\ No newline at end of property
Modified: brlcad/branches/dm-fb-merge/src/other/libgdiam/gdiam.hpp
===================================================================
--- brlcad/branches/dm-fb-merge/src/other/libgdiam/gdiam.hpp    2020-05-26 
02:45:23 UTC (rev 75934)
+++ brlcad/branches/dm-fb-merge/src/other/libgdiam/gdiam.hpp    2020-05-26 
02:53:36 UTC (rev 75935)
@@ -32,13 +32,21 @@
 #  pragma clang diagnostic ignored "-Wfloat-equal"
 #endif
 
+#if defined(_WIN32)
+# define COMPILER_DLLEXPORT __declspec(dllexport)
+# define COMPILER_DLLIMPORT __declspec(dllimport)
+#else
+# define COMPILER_DLLEXPORT __attribute__ ((visibility ("default")))
+# define COMPILER_DLLIMPORT __attribute__ ((visibility ("default")))
+#endif
+
 #ifndef GDIAM_EXPORT
 #  if defined(GDIAM_DLL_EXPORTS) && defined(GDIAM_DLL_IMPORTS)
 #    error "Only GDIAM_DLL_EXPORTS or GDIAM_DLL_IMPORTS can be defined, not 
both."
 #  elif defined(GDIAM_DLL_EXPORTS)
-#    define GDIAM_EXPORT __declspec(dllexport)
+#    define GDIAM_EXPORT COMPILER_DLLEXPORT
 #  elif defined(GDIAM_DLL_IMPORTS)
-#    define GDIAM_EXPORT __declspec(dllimport)
+#    define GDIAM_EXPORT COMPILER_DLLIMPORT
 #  else
 #    define GDIAM_EXPORT
 #  endif

Index: brlcad/branches/dm-fb-merge/src/other/libnetpbm
===================================================================
--- brlcad/branches/dm-fb-merge/src/other/libnetpbm     2020-05-26 02:45:23 UTC 
(rev 75934)
+++ brlcad/branches/dm-fb-merge/src/other/libnetpbm     2020-05-26 02:53:36 UTC 
(rev 75935)

Property changes on: brlcad/branches/dm-fb-merge/src/other/libnetpbm
___________________________________________________________________
Modified: svn:mergeinfo
## -7,4 +7,5 ##
 /brlcad/branches/osg/src/other/libnetpbm:62110-62113
 /brlcad/branches/prep-cache/src/other/libnetpbm:68236-68933
 /brlcad/branches/tcltk86/src/other/libnetpbm:68300-75257
-/brlcad/branches/thirdparty_rework/src/other/libnetpbm:75119
\ No newline at end of property
+/brlcad/branches/thirdparty_rework/src/other/libnetpbm:75119
+/brlcad/trunk/src/other/libnetpbm:75880-75934
\ No newline at end of property
Modified: brlcad/branches/dm-fb-merge/src/other/libnetpbm/pm.h
===================================================================
--- brlcad/branches/dm-fb-merge/src/other/libnetpbm/pm.h        2020-05-26 
02:45:23 UTC (rev 75934)
+++ brlcad/branches/dm-fb-merge/src/other/libnetpbm/pm.h        2020-05-26 
02:53:36 UTC (rev 75935)
@@ -35,13 +35,21 @@
 } /* to fake out automatic code indenters */
 #endif
 
+#if defined(_WIN32)
+# define COMPILER_DLLEXPORT __declspec(dllexport)
+# define COMPILER_DLLIMPORT __declspec(dllimport)
+#else
+# define COMPILER_DLLEXPORT __attribute__ ((visibility ("default")))
+# define COMPILER_DLLIMPORT __attribute__ ((visibility ("default")))
+#endif
+
 #ifndef NETPBM_EXPORT
 #  if defined(NETPBM_DLL_EXPORTS) && defined(NETPBM_DLL_IMPORTS)
 #    error "Only NETPBM_DLL_EXPORTS or NETPBM_DLL_IMPORTS can be defined, not 
both."
 #  elif defined(NETPBM_DLL_EXPORTS)
-#    define NETPBM_EXPORT __declspec(dllexport)
+#    define NETPBM_EXPORT COMPILER_DLLEXPORT
 #  elif defined(NETPBM_DLL_IMPORTS)
-#    define NETPBM_EXPORT __declspec(dllimport)
+#    define NETPBM_EXPORT COMPILER_DLLIMPORT
 #  else
 #    define NETPBM_EXPORT
 #  endif

Modified: brlcad/branches/dm-fb-merge/src/other/libnetpbm/ppm.h
===================================================================
--- brlcad/branches/dm-fb-merge/src/other/libnetpbm/ppm.h       2020-05-26 
02:45:23 UTC (rev 75934)
+++ brlcad/branches/dm-fb-merge/src/other/libnetpbm/ppm.h       2020-05-26 
02:53:36 UTC (rev 75935)
@@ -3,13 +3,21 @@
 #ifndef _PPM_H_
 #define _PPM_H_
 
+#if defined(_WIN32)
+# define COMPILER_DLLEXPORT __declspec(dllexport)
+# define COMPILER_DLLIMPORT __declspec(dllimport)
+#else
+# define COMPILER_DLLEXPORT __attribute__ ((visibility ("default")))
+# define COMPILER_DLLIMPORT __attribute__ ((visibility ("default")))
+#endif
+
 #ifndef NETPBM_EXPORT
 #  if defined(NETPBM_DLL_EXPORTS) && defined(NETPBM_DLL_IMPORTS)
 #    error "Only NETPBM_DLL_EXPORTS or NETPBM_DLL_IMPORTS can be defined, not 
both."
 #  elif defined(NETPBM_DLL_EXPORTS)
-#    define NETPBM_EXPORT __declspec(dllexport)
+#    define NETPBM_EXPORT COMPILER_DLLEXPORT
 #  elif defined(NETPBM_DLL_IMPORTS)
-#    define NETPBM_EXPORT __declspec(dllimport)
+#    define NETPBM_EXPORT COMPILER_DLLIMPORT
 #  else
 #    define NETPBM_EXPORT
 #  endif

Index: brlcad/branches/dm-fb-merge/src/other/libspsr
===================================================================
--- brlcad/branches/dm-fb-merge/src/other/libspsr       2020-05-26 02:45:23 UTC 
(rev 75934)
+++ brlcad/branches/dm-fb-merge/src/other/libspsr       2020-05-26 02:53:36 UTC 
(rev 75935)

Property changes on: brlcad/branches/dm-fb-merge/src/other/libspsr
___________________________________________________________________
Modified: svn:mergeinfo
## -1,4 +1,4 ##
 /brlcad/branches/RELEASE/src/other/libspsr:71917-72242,72826-72858,74376-74454
 /brlcad/branches/tcltk86/src/other/libspsr:71985-75257
 /brlcad/branches/thirdparty_rework/src/other/libspsr:75098-75129
-/brlcad/trunk/src/other/libspsr:75630-75814
\ No newline at end of property
+/brlcad/trunk/src/other/libspsr:75630-75814,75880-75934
\ No newline at end of property
Modified: brlcad/branches/dm-fb-merge/src/other/libspsr/Src/SPSR.h
===================================================================
--- brlcad/branches/dm-fb-merge/src/other/libspsr/Src/SPSR.h    2020-05-26 
02:45:23 UTC (rev 75934)

@@ Diff output truncated at 100000 characters. @@
This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.



_______________________________________________
BRL-CAD Source Commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/brlcad-commits

Reply via email to