cannam@167: cannam@167: cannam@167: cannam@167: cannam@167: cannam@167: FFTW 3.3.8: Installation on non-Unix systems cannam@167: cannam@167: cannam@167: cannam@167: cannam@167: cannam@167: cannam@167: cannam@167: cannam@167: cannam@167: cannam@167: cannam@167: cannam@167: cannam@167: cannam@167: cannam@167: cannam@167: cannam@167: cannam@167: cannam@167: cannam@167:
cannam@167:

cannam@167: Next: , Previous: , Up: Installation and Customization   [Contents][Index]

cannam@167:
cannam@167:
cannam@167: cannam@167:

10.2 Installation on non-Unix systems

cannam@167: cannam@167:

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

cannam@167:

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

cannam@167:

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

cannam@167:

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

cannam@167:

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

cannam@167:
cannam@167:
cannam@167:

cannam@167: Next: , Previous: , Up: Installation and Customization   [Contents][Index]

cannam@167:
cannam@167: cannam@167: cannam@167: cannam@167: cannam@167: