cannam@167: cannam@167: cannam@167: cannam@167: cannam@167:
cannam@167:cannam@167: Next: Cycle Counters, Previous: Installation on Unix, Up: Installation and Customization [Contents][Index]
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:
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:
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:
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: Next: Cycle Counters, Previous: Installation on Unix, Up: Installation and Customization [Contents][Index]
cannam@167: