From 9de516d315ebc1821ef38080ff555079d5ac9591 Mon Sep 17 00:00:00 2001 From: Mark Olesen Date: Thu, 14 May 2020 14:28:29 +0200 Subject: [PATCH] CONFIG: incremental improvement for scotch + mingw - linkage errors for ptscotch not yet solved CONFIG: add -I. for ThirdParty wmake Make/options - some might otherwise be missed with the change to '-iquote' for general wmake rules --- etc/makeFiles/kahip/options | 1 + etc/makeFiles/libccmio/options | 4 +--- .../scotch/Makefile.inc.OpenFOAM-Darwin.shlib | 2 +- .../Makefile.inc.OpenFOAM-Linux-Mingw.shlib | 17 +++++++++++++---- .../scotch/Makefile.inc.OpenFOAM-Linux.shlib | 2 +- makeSCOTCH | 14 ++++++++------ 6 files changed, 25 insertions(+), 15 deletions(-) diff --git a/etc/makeFiles/kahip/options b/etc/makeFiles/kahip/options index 8b328c4..00da709 100644 --- a/etc/makeFiles/kahip/options +++ b/etc/makeFiles/kahip/options @@ -8,6 +8,7 @@ EXE_INC = \ ${c++LESSWARN} \ ${COMP_OPENMP} \ -DNDEBUG -DMODE_NODESEP \ + -I. \ -I$(KAHIP_LIB_SRC) \ -I$(KAHIP_LIB_SRC)/partition \ -I$(KAHIP_LIB_SRC)/partition/uncoarsening/refinement/quotient_graph_refinement/flow_refinement diff --git a/etc/makeFiles/libccmio/options b/etc/makeFiles/libccmio/options index cbfafa0..de0cfc0 100644 --- a/etc/makeFiles/libccmio/options +++ b/etc/makeFiles/libccmio/options @@ -1,7 +1,5 @@ /* NOTE: make any changes to this file in etc/makeFiles/ */ -EXE_INC = - +EXE_INC = -I. LIB_LIBS = - PROJECT_LIBS = diff --git a/etc/makeFiles/scotch/Makefile.inc.OpenFOAM-Darwin.shlib b/etc/makeFiles/scotch/Makefile.inc.OpenFOAM-Darwin.shlib index f106e5a..575c71d 100644 --- a/etc/makeFiles/scotch/Makefile.inc.OpenFOAM-Darwin.shlib +++ b/etc/makeFiles/scotch/Makefile.inc.OpenFOAM-Darwin.shlib @@ -10,7 +10,7 @@ # - wmake -show-cflags : with -m32 / -m64 # - wmake -show-cflags-arch : with -m32 / -m64 # -# Pass these in via the enviroment since using '$(shell ...)' here does not +# Pass these in via the environment since using '$(shell ...)' here does not # always work well. # # Notes: diff --git a/etc/makeFiles/scotch/Makefile.inc.OpenFOAM-Linux-Mingw.shlib b/etc/makeFiles/scotch/Makefile.inc.OpenFOAM-Linux-Mingw.shlib index 0b769f1..1172327 100644 --- a/etc/makeFiles/scotch/Makefile.inc.OpenFOAM-Linux-Mingw.shlib +++ b/etc/makeFiles/scotch/Makefile.inc.OpenFOAM-Linux-Mingw.shlib @@ -10,7 +10,7 @@ # - wmake -show-cflags : with -m32 / -m64 # - wmake -show-cflags-arch : with -m32 / -m64 # -# Pass these in via the enviroment since using '$(shell ...)' here does not +# Pass these in via the environment since using '$(shell ...)' here does not # always work well. # # Notes: @@ -28,12 +28,17 @@ OBJ = .o CFLAGS_CROSS = -DCOMMON_WINDOWS -DCOMMON_STUB_FORK +# Flags for including windows MPI information (MSMPI) +CFLAGS_WINMPI = -I$(MPI_ARCH_PATH)/include \ + -DMSMPI_NO_SAL -DMSMPI_NO_DEPRECATE_20 \ + -D_MPICH_DLL_ + AR = x86_64-w64-mingw32-gcc ARFLAGS = $(CFLAGS) -shared -Wl,--output-def,libscotch.def,--out-implib,libscotch.a,--enable-auto-import,--strip-all -o CC = x86_64-w64-mingw32-gcc $(CFLAGS_CROSS) -CCS = x86_64-w64-mingw32-gcc -CCP = x86_64-w64-mingw32-gcc -CCD = gcc +CCS = x86_64-w64-mingw32-gcc $(CFLAGS_WINMPI) +CCP = x86_64-w64-mingw32-gcc $(CFLAGS_WINMPI) +CCD = gcc $(CFLAGS_WINMPI) CFLAGS = $(WM_CFLAGS) -fPIC -O3 \ -DCOMMON_PTHREAD_FILE \ -UCOMMON_FILE_COMPRESS \ @@ -48,6 +53,10 @@ ifeq ($(WM_LABEL_SIZE),64) CFLAGS += -DINTSIZE64 endif +# Non-standard "__stdcall" in MSMPI +CCDFLAGS = $(CFLAGS) -D__stdcall='' + + CLIBFLAGS = -shared LDFLAGS = diff --git a/etc/makeFiles/scotch/Makefile.inc.OpenFOAM-Linux.shlib b/etc/makeFiles/scotch/Makefile.inc.OpenFOAM-Linux.shlib index 00a50a4..c6ba241 100644 --- a/etc/makeFiles/scotch/Makefile.inc.OpenFOAM-Linux.shlib +++ b/etc/makeFiles/scotch/Makefile.inc.OpenFOAM-Linux.shlib @@ -10,7 +10,7 @@ # - wmake -show-cflags : with -m32 / -m64 # - wmake -show-cflags-arch : with -m32 / -m64 # -# Pass these in via the enviroment since using '$(shell ...)' here does not +# Pass these in via the environment since using '$(shell ...)' here does not # always work well. # # Notes: diff --git a/makeSCOTCH b/makeSCOTCH index 45a5ebf..d68794f 100755 --- a/makeSCOTCH +++ b/makeSCOTCH @@ -211,9 +211,9 @@ then includedir="$incDIR" \ install - rmdir "$binDIR" 2>/dev/null || true # Remove empty bin/ + rmdir "$binDIR" 2>/dev/null || true # Remove empty bin/ rmdir "${binDIR%/*}" 2>/dev/null || true # ... and empty parent - make realclean 2>/dev/null || true # Failed cleanup is uncritical + make realclean 2>/dev/null || true # Failed cleanup is uncritical ) || warnBuildIssues SCOTCH else warnNotFound SCOTCH @@ -222,11 +222,13 @@ fi # Build ptscotch when MPI (ThirdParty or system) is available -[ "${withMPI}" = true ] || { +if [ "${withMPI}" != true ] +then # Report that the above tests failed and pass-through the failure echo "Skipping pt-scotch (no mpi)" exit 0 -} +fi + # Build ptscotch if normal scotch was built (has include and library) # (reuse prefix/include/lib dirs set above) @@ -306,9 +308,9 @@ else includedir="$incDIR" \ install - rmdir "$binDIR" 2>/dev/null || true # Remove empty bin/ + rmdir "$binDIR" 2>/dev/null || true # Remove empty bin/ rmdir "${binDIR%/*}" 2>/dev/null || true # ... and empty parent - make realclean 2>/dev/null || true # Failed cleanup is uncritical + make realclean 2>/dev/null || true # Failed cleanup is uncritical ) || warnBuildIssues PTSCOTCH fi