diff options
author | Jamie Bullock <jamie@postlude.co.uk> | 2007-10-16 09:37:06 +0000 |
---|---|---|
committer | Jamie Bullock <jamie@postlude.co.uk> | 2007-10-16 09:37:06 +0000 |
commit | 9ca79a2cc14c18758baa1adfaead49e70d80003e (patch) | |
tree | b49f1ecfc58fee377d1fa223846862d9e98d89e8 /src/xtract_globals_private.h | |
parent | 0fbfa15686542864a067b3b03b698a024772eae3 (diff) | |
download | LibXtract-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.h | 23 |
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 */ + |