From 482c49e8f5703574a11c546faaa6b9c11d3014a6 Mon Sep 17 00:00:00 2001 From: loikki <loic.hausammann@protonmail.ch> Date: Thu, 22 Nov 2018 13:38:18 +0100 Subject: [PATCH] Start removing python dependency --- logger/Makefile.am | 6 +++++- logger/header.c | 2 +- logger/header.h | 1 - logger/logger_tools.h | 31 +++++++++++++++++++++++++++---- 4 files changed, 33 insertions(+), 7 deletions(-) diff --git a/logger/Makefile.am b/logger/Makefile.am index bc0d67ffbc..f7542eb54b 100644 --- a/logger/Makefile.am +++ b/logger/Makefile.am @@ -43,7 +43,11 @@ include_HEADERS = header.h io.h particle.h timeline.h logger_tools.h # Common source files AM_SOURCES = header.c io.c logger_loader.c particle.c \ - timeline.c logger_tools.c + timeline.c +if HAVEPYTHON +AM_SOURCES += logger_loader.c +endif + # Include files for distribution, not installation. nobase_noinst_HEADERS = diff --git a/logger/header.c b/logger/header.c index 70a8066071..aeb48a6e77 100644 --- a/logger/header.c +++ b/logger/header.c @@ -3,7 +3,7 @@ #include "io.h" #include "logger_tools.h" -#include <Python.h> +#include <string.h> #include <stdio.h> #include <stdlib.h> diff --git a/logger/header.h b/logger/header.h index 06ada14066..11667a4914 100644 --- a/logger/header.h +++ b/logger/header.h @@ -3,7 +3,6 @@ #include "logger_tools.h" -#include <Python.h> #include <stdio.h> #include <stdlib.h> diff --git a/logger/logger_tools.h b/logger/logger_tools.h index f3b666485f..b3e009ce6f 100644 --- a/logger/logger_tools.h +++ b/logger/logger_tools.h @@ -1,9 +1,14 @@ -#ifndef __TOOLS_H__ -#define __TOOLS_H__ +#ifndef __LOGGER_TOOLS_H__ +#define __LOGGER_TOOLS_H__ -#define NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION +#include "../config.h" +#ifdef HAVE_PYTHON +#define NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION #include <Python.h> +#endif + +#include <errno.h> #include <stdio.h> #include <stdlib.h> @@ -11,6 +16,7 @@ struct header; +#ifdef HAVE_PYTHON /* Set the error message for python and return the error code * WARNING for python, you need to return NULL and not the error code */ @@ -30,6 +36,23 @@ struct header; PyErr_SetString(PyExc_RuntimeError, error_msg); \ }) +#else + +#define error(err, s, ...) \ + ({ \ + error_no_return(err, s, ##__VA_ARGS__); \ + exit(1); \ + }) + +#define error_no_return(err, s, ...) \ + ({ \ + char error_msg[STRING_SIZE]; \ + sprintf(error_msg, "%s:%s():%i: " s ": %s\n", __FILE__, __FUNCTION__, \ + __LINE__, ##__VA_ARGS__, strerror(err)); \ + }) + +#endif + #define message(s, ...) \ ({ \ printf("%s:%s():%i: " s "\n", __FILE__, __FUNCTION__, __LINE__, \ @@ -100,4 +123,4 @@ int tools_reverse_offset(const struct header *h, void *map, size_t *offset); */ int tools_check_offset(const struct header *h, void *map, size_t *offset); -#endif //__TOOLS_H__ +#endif //__LOGGER_TOOLS_H__ -- GitLab