From bb634369a4bf4b55806bef3259f7e1541fa9da14 Mon Sep 17 00:00:00 2001
From: Cristian Lalescu <Cristian.Lalescu@ds.mpg.de>
Date: Thu, 16 Nov 2017 11:28:40 +0100
Subject: [PATCH] move split-fftw-many definition to compile command

---
 bfps/cpp/fftw_interface.hpp | 3 ++-
 setup.py                    | 5 +++++
 2 files changed, 7 insertions(+), 1 deletion(-)

diff --git a/bfps/cpp/fftw_interface.hpp b/bfps/cpp/fftw_interface.hpp
index 00c71d27..7f5e0144 100644
--- a/bfps/cpp/fftw_interface.hpp
+++ b/bfps/cpp/fftw_interface.hpp
@@ -35,7 +35,8 @@
 #endif
 
 // To have multiple calls to c2r/r2c
-#define SPLIT_FFTW_MANY
+// you must define SPLIT_FFTW_MANY
+// by calling setup.py --split-fftw-many
 #ifdef SPLIT_FFTW_MANY
 #include <vector>
 #include <memory>
diff --git a/setup.py b/setup.py
index b03bd4f4..7d7e6ff2 100644
--- a/setup.py
+++ b/setup.py
@@ -183,15 +183,18 @@ class CompileLibCommand(distutils.cmd.Command):
     user_options = [
             ('timing-output=', None, 'Toggle timing output.'),
             ('fftw-estimate=', None, 'Use FFTW ESTIMATE.'),
+            ('split-fftw-many=', None, 'Turn on SPLIT_FFTW_MANY.'),
             ('disable-fftw-omp=', None, 'Turn Off FFTW OpenMP.'),
             ]
     def initialize_options(self):
         self.timing_output = 0
         self.fftw_estimate = 0
         self.disable_fftw_omp = 0
+        self.split_fftw_many = 0
         return None
     def finalize_options(self):
         self.timing_output = (int(self.timing_output) == 1)
+        self.split_fftw_many = (int(self.split_fftw_many) == 1)
         self.fftw_estimate = (int(self.fftw_estimate) == 1)
         self.disable_fftw_omp = (int(self.disable_fftw_omp) == 1)
         return None
@@ -216,6 +219,8 @@ class CompileLibCommand(distutils.cmd.Command):
         eca += ['-fPIC']
         if self.timing_output:
             eca += ['-DUSE_TIMINGOUTPUT']
+        if self.split_fftw_many:
+            eca += ['-DSPLIT_FFTW_MANY']
         if self.fftw_estimate:
             eca += ['-DUSE_FFTWESTIMATE']
         if self.disable_fftw_omp:
-- 
GitLab