From c1c995d3fe5f40cd231825c83db6ba915eb6513d Mon Sep 17 00:00:00 2001
From: Mark Olesen <Mark.Olesen@esi-group.com>
Date: Tue, 16 Jun 2020 14:47:50 +0200
Subject: [PATCH] COMP: fix some linkage issues for mingw

COMP: automatically add FlexLexer.h to MSwindows OSspecific

- useful, frequently forgotten step for cross-compiling
---
 .../interfacialModels/Make/options                   |  1 +
 .../twoPhaseEulerFoam/interfacialModels/Make/options |  2 ++
 .../utilities/mesh/generation/blockMesh/Make/options |  1 +
 .../PDRsetFields/pdrFields/Make/options              |  2 +-
 .../PDRsetFields/pdrFields/PDRarraysAnalyse.C        |  2 ++
 .../PDRsetFields/pdrFields/PDRarraysCalc.C           |  2 ++
 .../PDRsetFields/pdrFields/PDRutilsIntersect.C       |  2 ++
 .../PDRsetFields/pdrFields/PDRutilsOverlap.C         |  2 ++
 src/OSspecific/MSwindows/Allwmake                    | 12 ++++++++++++
 src/transportModels/geometricVoF/Make/options        |  6 ++++--
 10 files changed, 29 insertions(+), 3 deletions(-)

diff --git a/applications/solvers/multiphase/multiphaseEulerFoam/interfacialModels/Make/options b/applications/solvers/multiphase/multiphaseEulerFoam/interfacialModels/Make/options
index 682a2368432..f4c92c9d5e7 100644
--- a/applications/solvers/multiphase/multiphaseEulerFoam/interfacialModels/Make/options
+++ b/applications/solvers/multiphase/multiphaseEulerFoam/interfacialModels/Make/options
@@ -3,4 +3,5 @@ EXE_INC = \
     -I$(LIB_SRC)/finiteVolume/lnInclude
 
 LIB_LIBS = \
+    -lfiniteVolume \
     -lmultiphaseSystem
diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/Make/options b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/Make/options
index ff6d9b0ef04..0244b7df757 100644
--- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/Make/options
+++ b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/Make/options
@@ -10,6 +10,8 @@ EXE_INC = \
     -I../twoPhaseSystem/lnInclude
 
 LIB_LIBS = \
+    -lfiniteVolume \
+    -lmeshTools \
     -lcompressibleTwoPhaseSystem \
     -lcompressibleTransportModels \
     -lfluidThermophysicalModels \
diff --git a/applications/utilities/mesh/generation/blockMesh/Make/options b/applications/utilities/mesh/generation/blockMesh/Make/options
index 3828bbeca13..b0674ad5f84 100644
--- a/applications/utilities/mesh/generation/blockMesh/Make/options
+++ b/applications/utilities/mesh/generation/blockMesh/Make/options
@@ -6,5 +6,6 @@ EXE_INC = \
 
 EXE_LIBS = \
     -lblockMesh \
+    -lfileFormats \
     -lmeshTools \
     -ldynamicMesh
diff --git a/applications/utilities/preProcessing/PDRsetFields/pdrFields/Make/options b/applications/utilities/preProcessing/PDRsetFields/pdrFields/Make/options
index eb9d10ceb00..de37e37a759 100644
--- a/applications/utilities/preProcessing/PDRsetFields/pdrFields/Make/options
+++ b/applications/utilities/preProcessing/PDRsetFields/pdrFields/Make/options
@@ -6,7 +6,7 @@ EXE_INC = \
     -I$(LIB_SRC)/meshTools/lnInclude \
     -I$(LIB_SRC)/mesh/blockMesh/lnInclude
 
-EXE_LIBS = \
+LIB_LIBS = \
     -lfiniteVolume \
     -lfileFormats \
     -lsurfMesh \
diff --git a/applications/utilities/preProcessing/PDRsetFields/pdrFields/PDRarraysAnalyse.C b/applications/utilities/preProcessing/PDRsetFields/pdrFields/PDRarraysAnalyse.C
index f64d7d5a870..8060153e9b9 100644
--- a/applications/utilities/preProcessing/PDRsetFields/pdrFields/PDRarraysAnalyse.C
+++ b/applications/utilities/preProcessing/PDRsetFields/pdrFields/PDRarraysAnalyse.C
@@ -38,8 +38,10 @@ License
 #include <cstring>
 
 #ifndef FULLDEBUG
+#ifndef NDEBUG
 #define NDEBUG
 #endif
+#endif
 #include <cassert>
 
 using namespace Foam;
diff --git a/applications/utilities/preProcessing/PDRsetFields/pdrFields/PDRarraysCalc.C b/applications/utilities/preProcessing/PDRsetFields/pdrFields/PDRarraysCalc.C
index 6a063f0563d..3b4c27ccd4b 100644
--- a/applications/utilities/preProcessing/PDRsetFields/pdrFields/PDRarraysCalc.C
+++ b/applications/utilities/preProcessing/PDRsetFields/pdrFields/PDRarraysCalc.C
@@ -46,8 +46,10 @@ License
 #include "OSspecific.H"
 
 #ifndef FULLDEBUG
+#ifndef NDEBUG
 #define NDEBUG
 #endif
+#endif
 #include <cassert>
 
 using namespace Foam;
diff --git a/applications/utilities/preProcessing/PDRsetFields/pdrFields/PDRutilsIntersect.C b/applications/utilities/preProcessing/PDRsetFields/pdrFields/PDRutilsIntersect.C
index 6cadff43e5e..5d630740798 100644
--- a/applications/utilities/preProcessing/PDRsetFields/pdrFields/PDRutilsIntersect.C
+++ b/applications/utilities/preProcessing/PDRsetFields/pdrFields/PDRutilsIntersect.C
@@ -31,8 +31,10 @@ License
 #include "mathematicalConstants.H"
 
 #ifndef FULLDEBUG
+#ifndef NDEBUG
 #define NDEBUG
 #endif
+#endif
 #include <cassert>
 
 using namespace Foam::constant;
diff --git a/applications/utilities/preProcessing/PDRsetFields/pdrFields/PDRutilsOverlap.C b/applications/utilities/preProcessing/PDRsetFields/pdrFields/PDRutilsOverlap.C
index 95d0adffcad..45651b25317 100644
--- a/applications/utilities/preProcessing/PDRsetFields/pdrFields/PDRutilsOverlap.C
+++ b/applications/utilities/preProcessing/PDRsetFields/pdrFields/PDRutilsOverlap.C
@@ -31,8 +31,10 @@ License
 #include "mathematicalConstants.H"
 
 #ifndef FULLDEBUG
+#ifndef NDEBUG
 #define NDEBUG
 #endif
+#endif
 #include <cassert>
 
 using namespace Foam::constant;
diff --git a/src/OSspecific/MSwindows/Allwmake b/src/OSspecific/MSwindows/Allwmake
index c474ed4c239..b294db89205 100755
--- a/src/OSspecific/MSwindows/Allwmake
+++ b/src/OSspecific/MSwindows/Allwmake
@@ -4,6 +4,18 @@ targetType=libo                                     # Preferred library type
 . ${WM_PROJECT_DIR:?}/wmake/scripts/AllwmakeParseArguments $*
 
 #------------------------------------------------------------------------------
+
+if [ -f /usr/include/FlexLexer.h ] && [ ! -f FlexLexer.h ]
+then
+    echo "Adding FlexLexer.h link to ${PWD##*/} for cross-compilation"
+    ln -sf /usr/include/FlexLexer.h FlexLexer.h
+
+    if [ -d lnInclude ]
+    then
+        (cd lnInclude && ln -sf ../FlexLexer.h .)
+    fi
+fi
+
 unset COMP_FLAGS LINK_FLAGS
 
 # Make object (non-shared by default)
diff --git a/src/transportModels/geometricVoF/Make/options b/src/transportModels/geometricVoF/Make/options
index 00fc27d7cff..49ee6e6a4e0 100644
--- a/src/transportModels/geometricVoF/Make/options
+++ b/src/transportModels/geometricVoF/Make/options
@@ -3,15 +3,17 @@ EXE_INC = \
     -I$(LIB_SRC)/fileFormats/lnInclude \
     -I$(LIB_SRC)/surfMesh/lnInclude \
     -I$(LIB_SRC)/meshTools/lnInclude \
-    -I$(LIB_SRC)/transportModels/interfaceProperties/lnInclude \
-    -I$(LIB_SRC)/transportModels/twoPhaseProperties/lnInclude \
     -I$(LIB_SRC)/sampling/lnInclude \
     -I$(LIB_SRC)/dynamicMesh/lnInclude \
+    -I$(LIB_SRC)/transportModels/interfaceProperties/lnInclude \
+    -I$(LIB_SRC)/transportModels/twoPhaseProperties/lnInclude
 
 LIB_LIBS = \
     -lfiniteVolume \
     -lfileFormats \
     -lsurfMesh \
     -lmeshTools \
+    -lsampling \
+    -ldynamicMesh \
     -ltwoPhaseMixture \
     -ltwoPhaseProperties
-- 
GitLab