Chris@19: Chris@19: Chris@19: Installation on non-Unix systems - FFTW 3.3.4 Chris@19: Chris@19: Chris@19: Chris@19: Chris@19: Chris@19: Chris@19: Chris@19: Chris@19: Chris@19: Chris@19: Chris@19: Chris@19: Chris@19:
Chris@19: Chris@19: Chris@19:

Chris@19: Next: , Chris@19: Previous: Installation on Unix, Chris@19: Up: Installation and Customization Chris@19:


Chris@19:
Chris@19: Chris@19:

10.2 Installation on non-Unix systems

Chris@19: Chris@19:

It should be relatively straightforward to compile FFTW even on non-Unix Chris@19: systems lacking the niceties of a configure script. Basically, Chris@19: you need to edit the config.h header (copy it from Chris@19: config.h.in) to #define the various options and compiler Chris@19: characteristics, and then compile all the ‘.c’ files in the Chris@19: relevant directories. Chris@19: Chris@19:

The config.h header contains about 100 options to set, each one Chris@19: initially an #undef, each documented with a comment, and most of Chris@19: them fairly obvious. For most of the options, you should simply Chris@19: #define them to 1 if they are applicable, although a few Chris@19: options require a particular value (e.g. SIZEOF_LONG_LONG should Chris@19: be defined to the size of the long long type, in bytes, or zero Chris@19: if it is not supported). We will likely post some sample Chris@19: config.h files for various operating systems and compilers for Chris@19: you to use (at least as a starting point). Please let us know if you Chris@19: have to hand-create a configuration file (and/or a pre-compiled binary) Chris@19: that you want to share. Chris@19: Chris@19:

To create the FFTW library, you will then need to compile all of the Chris@19: ‘.c’ files in the kernel, dft, dft/scalar, Chris@19: dft/scalar/codelets, rdft, rdft/scalar, Chris@19: rdft/scalar/r2cf, rdft/scalar/r2cb, Chris@19: rdft/scalar/r2r, reodft, and api directories. Chris@19: If you are compiling with SIMD support (e.g. you defined Chris@19: HAVE_SSE2 in config.h), then you also need to compile Chris@19: the .c files in the simd-support, Chris@19: {dft,rdft}/simd, {dft,rdft}/simd/* directories. Chris@19: Chris@19:

Once these files are all compiled, link them into a library, or a shared Chris@19: library, or directly into your program. Chris@19: Chris@19:

To compile the FFTW test program, additionally compile the code in the Chris@19: libbench2/ directory, and link it into a library. Then compile Chris@19: the code in the tests/ directory and link it to the Chris@19: libbench2 and FFTW libraries. To compile the fftw-wisdom Chris@19: (command-line) tool (see Wisdom Utilities), compile Chris@19: tools/fftw-wisdom.c and link it to the libbench2 and FFTW Chris@19: libraries Chris@19: Chris@19: Chris@19: Chris@19: