From 7d257fddc7f5d44a0565f4211bd30123c0c64466 Mon Sep 17 00:00:00 2001
From: Juan Escobar <escj@aero.obs-mip.fr>
Date: Thu, 22 Sep 2022 18:21:01 +0200
Subject: [PATCH] Juan 22/09/2022:Modif for Gfortran+MPIVIDE + add missing
 mpi_sendrecv in mpivide.c

---
 src/LIB/MPIvide/mpivide.c | 14 ++++++++++++++
 src/Makefile.MESONH.mk    |  2 +-
 src/Rules.LXgfortran.mk   |  5 +++--
 3 files changed, 18 insertions(+), 3 deletions(-)

diff --git a/src/LIB/MPIvide/mpivide.c b/src/LIB/MPIvide/mpivide.c
index eebe91b71..1a9a8d9a3 100644
--- a/src/LIB/MPIvide/mpivide.c
+++ b/src/LIB/MPIvide/mpivide.c
@@ -158,6 +158,20 @@ int              *__ierr;
     *__ierr = 0;
 }
 
+#pragma weak mpi_sendrecv__ = mpi_sendrecv
+#pragma weak mpi_sendrecv_  = mpi_sendrecv
+void mpi_sendrecv(void *sendbuf, int *sendcounts, int *sendtype, int *dest  , int *sendtag ,
+                  void *recvbuf, int *recvcounts, int *recvtype, int *source, int *recvtag ,
+		  int *comm, int *__ierr)
+{
+    int size;
+
+    disppass("sendrecv");
+    size = findtypesize(*sendtype);
+    memcpy(recvbuf, sendbuf, (*recvcounts)*size);
+
+    *__ierr = 0;
+}
 
 #pragma weak mpi_alltoallv__ = mpi_alltoallv
 #pragma weak mpi_alltoallv_  = mpi_alltoallv
diff --git a/src/Makefile.MESONH.mk b/src/Makefile.MESONH.mk
index 6ad235831..4bb42a92c 100644
--- a/src/Makefile.MESONH.mk
+++ b/src/Makefile.MESONH.mk
@@ -337,7 +337,7 @@ INC_MPI                = -I$(B)$(DIR_MPI)
 DIR_MASTER            += $(DIR_MPI)
 OBJS_LISTE_MASTER     += mpivide.o
 INC                   += $(INC_MPI)
-mpivide.o  : CPPFLAGS += -DMNH_INT=$(MNH_INT) -DMNH_REAL=$(MNH_REAL) \
+mpivide.o  : CPPFLAGS_C += -DMNH_INT=$(MNH_INT) -DMNH_REAL=$(MNH_REAL) \
                         -I$(DIR_MPI)/include
 VPATH                 += $(DIR_MPI)
 endif
diff --git a/src/Rules.LXgfortran.mk b/src/Rules.LXgfortran.mk
index 5ec39bca9..63e4afd01 100644
--- a/src/Rules.LXgfortran.mk
+++ b/src/Rules.LXgfortran.mk
@@ -97,9 +97,10 @@ LDFLAGS = $(OPT)
 #
 # preprocessing flags 
 #
-CPP = cpp -P -traditional -Wcomment
+#CPP = cpp -P -traditional -Wcomment
+CPP = mnh_expand -imacros MNH_OPENACC_NV_CR.CPP
 #
-CPPFLAGS_C         = -DLITTLE_endian
+CPPFLAGS_C         += -DLITTLE_endian
 CPPFLAGS_SURFEX    =
 CPPFLAGS_SURCOUCHE += -DDEV_NULL
 CPPFLAGS_RAD       =
-- 
GitLab