From 37f80e027df3ea59931e26e788bdb852c41c8e8e Mon Sep 17 00:00:00 2001 From: Emil Tin Date: Thu, 24 Nov 2011 19:37:49 +0100 Subject: [PATCH 1/3] Fix compilation without OpenMP. --- extractor.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/extractor.cpp b/extractor.cpp index 11517362b..f88c4f6ee 100644 --- a/extractor.cpp +++ b/extractor.cpp @@ -17,6 +17,16 @@ along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA or see http://www.gnu.org/licenses/agpl.txt. */ + +#ifdef _OPENMP +#include +#else +int omp_get_num_procs() { return 1; } +int omp_get_max_threads() { return 1; } +int omp_get_thread_num() { return 0; } +int omp_set_num_threads(int i) {} +#endif + #ifdef STXXL_VERBOSE_LEVEL #undef STXXL_VERBOSE_LEVEL #endif From a3000019dbd11af31520fbd2cdf6dd5f4e40dd5b Mon Sep 17 00:00:00 2001 From: Emil Tin Date: Fri, 25 Nov 2011 18:42:27 +0100 Subject: [PATCH 2/3] Move OpenMP stubs to a header --- createHierarchy.cpp | 10 +--------- extractor.cpp | 10 +--------- openmp.h | 29 +++++++++++++++++++++++++++++ routed.cpp | 10 ++-------- 4 files changed, 33 insertions(+), 26 deletions(-) create mode 100644 openmp.h diff --git a/createHierarchy.cpp b/createHierarchy.cpp index 0464e36eb..e217dba59 100644 --- a/createHierarchy.cpp +++ b/createHierarchy.cpp @@ -36,15 +36,7 @@ or see http://www.gnu.org/licenses/agpl.txt. #include #include -#ifdef _OPENMP -#include -#else -int omp_get_num_procs() { return 1; } -int omp_get_max_threads() { return 1; } -int omp_get_thread_num() { return 0; } -int omp_set_num_threads(int i) {} -#endif - +#include "openmp.h" #include "typedefs.h" #include "Contractor/Contractor.h" #include "Contractor/ContractionCleanup.h" diff --git a/extractor.cpp b/extractor.cpp index f88c4f6ee..104fb8cd6 100644 --- a/extractor.cpp +++ b/extractor.cpp @@ -18,15 +18,6 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA or see http://www.gnu.org/licenses/agpl.txt. */ -#ifdef _OPENMP -#include -#else -int omp_get_num_procs() { return 1; } -int omp_get_max_threads() { return 1; } -int omp_get_thread_num() { return 0; } -int omp_set_num_threads(int i) {} -#endif - #ifdef STXXL_VERBOSE_LEVEL #undef STXXL_VERBOSE_LEVEL #endif @@ -52,6 +43,7 @@ int omp_set_num_threads(int i) {} #include #include +#include "openmp.h" #include "typedefs.h" #include "DataStructures/InputReaderFactory.h" #include "DataStructures/ExtractorCallBacks.h" diff --git a/openmp.h b/openmp.h new file mode 100644 index 000000000..18cddc928 --- /dev/null +++ b/openmp.h @@ -0,0 +1,29 @@ +/* + open source routing machine + Copyright (C) Dennis Luxen, others 2010 + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU AFFERO General Public License as published by +the Free Software Foundation; either version 3 of the License, or +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 Affero General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +or see http://www.gnu.org/licenses/agpl.txt. + +*/ + +#ifdef _OPENMP +#include +#else +const int omp_get_num_procs() { return 1; } +const int omp_get_max_threads() { return 1; } +const int omp_get_thread_num() { return 0; } +const int omp_set_num_threads(int i) {} +#endif \ No newline at end of file diff --git a/routed.cpp b/routed.cpp index 69595921f..4cbd902ab 100644 --- a/routed.cpp +++ b/routed.cpp @@ -21,17 +21,11 @@ or see http://www.gnu.org/licenses/agpl.txt. #include #include -#ifdef _OPENMP -#include -#else -int omp_get_num_procs() { return 1; } -int omp_get_max_threads() { return 1; } -int omp_get_thread_num() { return 0; } -#endif - #include #include +#include "openmp.h" + #include "Server/ServerConfiguration.h" #include "Server/ServerFactory.h" From d72c48500b5c3eaf3ab7351b5b4a3feb3d01a62f Mon Sep 17 00:00:00 2001 From: Emil Tin Date: Fri, 25 Nov 2011 21:54:19 +0100 Subject: [PATCH 3/3] moved openmp replacement header --- openmp.h => Util/OpenMPReplacement.h | 4 ---- createHierarchy.cpp | 7 ++++++- extractor.cpp | 7 ++++++- routed.cpp | 6 +++++- 4 files changed, 17 insertions(+), 7 deletions(-) rename openmp.h => Util/OpenMPReplacement.h (95%) diff --git a/openmp.h b/Util/OpenMPReplacement.h similarity index 95% rename from openmp.h rename to Util/OpenMPReplacement.h index 18cddc928..c92324676 100644 --- a/openmp.h +++ b/Util/OpenMPReplacement.h @@ -19,11 +19,7 @@ or see http://www.gnu.org/licenses/agpl.txt. */ -#ifdef _OPENMP -#include -#else const int omp_get_num_procs() { return 1; } const int omp_get_max_threads() { return 1; } const int omp_get_thread_num() { return 0; } const int omp_set_num_threads(int i) {} -#endif \ No newline at end of file diff --git a/createHierarchy.cpp b/createHierarchy.cpp index e217dba59..f9c68578d 100644 --- a/createHierarchy.cpp +++ b/createHierarchy.cpp @@ -36,7 +36,12 @@ or see http://www.gnu.org/licenses/agpl.txt. #include #include -#include "openmp.h" +#ifdef _OPENMP +#include +#else +#include "Util/OpenMPReplacement.h" +#endif + #include "typedefs.h" #include "Contractor/Contractor.h" #include "Contractor/ContractionCleanup.h" diff --git a/extractor.cpp b/extractor.cpp index 104fb8cd6..0f9e398af 100644 --- a/extractor.cpp +++ b/extractor.cpp @@ -43,7 +43,12 @@ or see http://www.gnu.org/licenses/agpl.txt. #include #include -#include "openmp.h" +#ifdef _OPENMP +#include +#else +#include "Util/OpenMPReplacement.h" +#endif + #include "typedefs.h" #include "DataStructures/InputReaderFactory.h" #include "DataStructures/ExtractorCallBacks.h" diff --git a/routed.cpp b/routed.cpp index 4cbd902ab..80f0b4ac4 100644 --- a/routed.cpp +++ b/routed.cpp @@ -24,7 +24,11 @@ or see http://www.gnu.org/licenses/agpl.txt. #include #include -#include "openmp.h" +#ifdef _OPENMP +#include +#else +#include "Util/OpenMPReplacement.h" +#endif #include "Server/ServerConfiguration.h" #include "Server/ServerFactory.h"