Copyright (C) 2000-2012 |
GNU Info (fftw.info)Installation on UnixInstallation on Unix ==================== FFTW comes with a `configure' program in the GNU style. Installation can be as simple as: ./configure make make install This will build the uniprocessor complex and real transform libraries along with the test programs. We strongly recommend that you use GNU `make' if it is available; on some systems it is called `gmake'. The "`make install'" command installs the fftw and rfftw libraries in standard places, and typically requires root privileges (unless you specify a different install directory with the `--prefix' flag to `configure'). You can also type "`make check'" to put the FFTW test programs through their paces. If you have problems during configuration or compilation, you may want to run "`make distclean'" before trying again; this ensures that you don't have any stale files left over from previous compilation attempts. The `configure' script knows good `CFLAGS' (C compiler flags) for a few systems. If your system is not known, the `configure' script will print out a warning. (1) In this case, you can compile FFTW with the command make CFLAGS="<write your CFLAGS here>" If you do find an optimal set of `CFLAGS' for your system, please let us know what they are (along with the output of `config.guess') so that we can include them in future releases. The `configure' program supports all the standard flags defined by the GNU Coding Standards; see the `INSTALL' file in FFTW or the GNU web page (http://www.gnu.org/prep/standards_toc.html). Note especially `--help' to list all flags and `--enable-shared' to create shared, rather than static, libraries. `configure' also accepts a few FFTW-specific flags, particularly: * `--enable-float' Produces a single-precision version of FFTW (`float') instead of the default double-precision (`double'). Note: Installing FFTW in both single and double precision. * `--enable-type-prefix' Adds a `d' or `s' prefix to all installed libraries and header files to indicate the floating-point precision. Note: Installing FFTW in both single and double precision. (`--enable-type-prefix=<prefix>' lets you add an arbitrary prefix.) By default, no prefix is used. * `--enable-threads' Enables compilation and installation of the FFTW threads library (Note: Multi-threaded FFTW.), which provides a simple interface to parallel transforms for SMP systems. (By default, the threads routines are not compiled.) * `--enable-mpi' Enables compilation and installation of the FFTW MPI library (Note: MPI FFTW.), which provides parallel transforms for distributed-memory systems with MPI. (By default, the MPI routines are not compiled.) * `--disable-fortran' Disables inclusion of Fortran-callable wrapper routines (Note: Calling FFTW from Fortran.) in the standard FFTW libraries. These wrapper routines increase the library size by only a negligible amount, so they are included by default as long as the `configure' script finds a Fortran compiler on your system. * `--with-gcc' Enables the use of `gcc'. By default, FFTW uses the vendor-supplied `cc' compiler if present. Unfortunately, `gcc' produces slower code than `cc' on many systems. * `--enable-i386-hacks' Note: gcc and Pentium hacks, below. * `--enable-pentium-timer' Note: gcc and Pentium hacks, below. To force `configure' to use a particular C compiler (instead of the default, usually `cc'), set the environment variable `CC' to the name of the desired compiler before running `configure'; you may also need to set the flags via the variable `CFLAGS'. ---------- Footnotes ---------- (1) Each version of `cc' seems to have its own magic incantation to get the fastest code most of the time--you'd think that people would have agreed upon some convention, e.g. "`-Omax'", by now. automatically generated by info2www version 1.2.2.9 |