aboutsummaryrefslogtreecommitdiff
path: root/src/xtract_globals_private.h
diff options
context:
space:
mode:
authorJamie Bullock <jamie@postlude.co.uk>2007-10-16 09:37:06 +0000
committerJamie Bullock <jamie@postlude.co.uk>2007-10-16 09:37:06 +0000
commit9ca79a2cc14c18758baa1adfaead49e70d80003e (patch)
treeb49f1ecfc58fee377d1fa223846862d9e98d89e8 /src/xtract_globals_private.h
parent0fbfa15686542864a067b3b03b698a024772eae3 (diff)
downloadLibXtract-9ca79a2cc14c18758baa1adfaead49e70d80003e.tar.gz
LibXtract-9ca79a2cc14c18758baa1adfaead49e70d80003e.tar.bz2
LibXtract-9ca79a2cc14c18758baa1adfaead49e70d80003e.zip
Fix for 'multiple symbol definitions' vs 'symbol not defined' dilemna. I think the solution is to wrap the globals in a struct, declare it in a header, and wrap with a definition guard, then define _once_ at library init time. (Sounds like a recipe for something...)
Diffstat (limited to 'src/xtract_globals_private.h')
-rw-r--r--src/xtract_globals_private.h23
1 files changed, 18 insertions, 5 deletions
diff --git a/src/xtract_globals_private.h b/src/xtract_globals_private.h
index dd0f36f..cab1660 100644
--- a/src/xtract_globals_private.h
+++ b/src/xtract_globals_private.h
@@ -26,11 +26,24 @@
#ifdef XTRACT_FFT
#include <fftw3.h>
-extern fftwf_plan spectrum_plan,
- autocorrelation_fft_plan_1,
- autocorrelation_fft_plan_2,
- dct_plan;
-#endif
+struct xtract_fft_plans_ {
+
+ fftwf_plan spectrum_plan;
+ fftwf_plan autocorrelation_fft_plan_1;
+ fftwf_plan autocorrelation_fft_plan_2;
+ fftwf_plan dct_plan;
+
+};
+#ifdef DEFINE_GLOBALS
+#define GLOBAL
+#else
+#define GLOBAL extern
#endif
+GLOBAL struct xtract_fft_plans_ fft_plans;
+
+#endif /* FFT */
+
+#endif /* Header guard */
+