d@0: d@0: d@0: Installation on non-Unix systems - FFTW 3.2.1 d@0: d@0: d@0: d@0: d@0: d@0: d@0: d@0: d@0: d@0: d@0: d@0: d@0: d@0:
d@0:

d@0: d@0: d@0: Next: , d@0: Previous: Installation on Unix, d@0: Up: Installation and Customization d@0:


d@0:
d@0: d@0:

9.2 Installation on non-Unix systems

d@0: d@0:

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

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

To create the FFTW library, you will then need to compile all of the d@0: `.c' files in the kernel, dft, dft/scalar, d@0: dft/scalar/codelets, rdft, rdft/scalar, d@0: rdft/scalar/r2cf, rdft/scalar/r2cb, d@0: rdft/scalar/r2r, reodft, and api directories. d@0: If you are compiling with SIMD support (e.g. you defined d@0: HAVE_SSE2 in config.h), then you also need to compile d@0: the .c files in the simd, simd/nonportable, d@0: dft/simd, and dft/simd/codelets directories. d@0: d@0:

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

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