From fcf344d114ec3337d4927dae37abaf2fac0ed54e Mon Sep 17 00:00:00 2001
From: Matthieu Schaller <matthieu.schaller@durham.ac.uk>
Date: Mon, 8 Feb 2016 15:17:24 +0000
Subject: [PATCH] Better way of switching between SPH definition for the i/o
 routines.

---
 src/Makefile.am   |  2 +-
 src/hydro_io.h    | 31 +++++++++++++++++++++++++++++++
 src/parallel_io.c |  9 ++++-----
 src/serial_io.c   |  7 ++-----
 src/single_io.c   |  6 +-----
 5 files changed, 39 insertions(+), 16 deletions(-)
 create mode 100644 src/hydro_io.h

diff --git a/src/Makefile.am b/src/Makefile.am
index c820fa4a7c..da5d88e799 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -46,7 +46,7 @@ AM_SOURCES = space.c runner.c queue.c task.c cell.c engine.c \
 # Include files for distribution, not installation.
 noinst_HEADERS = atomic.h cycle.h error.h inline.h kernel.h vector.h \
 		 runner_doiact.h runner_doiact_grav.h units.h intrinsics.h \
-		 hydro.h gravity.h hydro/*/*.h gravity/*/*.h
+		 hydro.h hydro_io.h gravity.h hydro/*/*.h gravity/*/*.h
 
 # Sources and flags for regular library
 libswiftsim_la_SOURCES = $(AM_SOURCES)
diff --git a/src/hydro_io.h b/src/hydro_io.h
new file mode 100644
index 0000000000..b396611856
--- /dev/null
+++ b/src/hydro_io.h
@@ -0,0 +1,31 @@
+/*******************************************************************************
+ * This file is part of SWIFT.
+ * Coypright (c) 2016 Matthieu Schaller (matthieu.schaller@durham.ac.uk)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published
+ * by the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ *
+ ******************************************************************************/
+#ifndef SWIFT_HYDRO_IO_H
+#define SWIFT_HYDRO_IO_H
+
+#include "./const.h"
+
+/* Import the right functions */
+#ifdef LEGACY_GADGET2_SPH
+#include "./hydro/Gadget2/hydro_io.h"
+#else
+#include "./hydro/Default/hydro_io.h"
+#endif
+
+#endif
diff --git a/src/parallel_io.c b/src/parallel_io.c
index 7ba4400dcb..59bd5af1a9 100644
--- a/src/parallel_io.c
+++ b/src/parallel_io.c
@@ -337,12 +337,11 @@ void writeArrayBackEnd(hid_t grp, char* fileName, FILE* xmfFile, char* name,
                     mpi_rank, offset, (char*)(&(part[0]).field), us,          \
                     convFactor)
 
+
 /* Import the right hydro definition */
-#ifdef LEGACY_GADGET2_SPH
-#include "./hydro/Gadget2/hydro_io.h"
-#else
-#include "./hydro/Default/hydro_io.h"
-#endif
+#include "hydro_io.h"
+
+
 
 
 /**
diff --git a/src/serial_io.c b/src/serial_io.c
index 00a2e34d7a..6f2d5fc868 100644
--- a/src/serial_io.c
+++ b/src/serial_io.c
@@ -358,11 +358,8 @@ void writeArrayBackEnd(hid_t grp, char* name,
 
 
 /* Import the right hydro definition */
-#ifdef LEGACY_GADGET2_SPH
-#include "./hydro/Gadget2/hydro_io.h"
-#else
-#include "./hydro/Default/hydro_io.h"
-#endif
+#include "hydro_io.h"
+
 
 
 /**
diff --git a/src/single_io.c b/src/single_io.c
index ec4b6ba7ed..8ddbeda2e0 100644
--- a/src/single_io.c
+++ b/src/single_io.c
@@ -280,11 +280,7 @@ void writeArrayBackEnd(hid_t grp, char* fileName, FILE* xmfFile, char* name,
 
 
 /* Import the right hydro definition */
-#ifdef LEGACY_GADGET2_SPH
-#include "./hydro/Gadget2/hydro_io.h"
-#else
-#include "./hydro/Default/hydro_io.h"
-#endif
+#include "hydro_io.h"
 
 
 
-- 
GitLab