annotate src/fftw-3.3.3/doc/html/Installation-on-non_002dUnix-systems.html @ 83:ae30d91d2ffe

Replace these with versions built using an older toolset (so as to avoid ABI compatibilities when linking on Ubuntu 14.04 for packaging purposes)
author Chris Cannam
date Fri, 07 Feb 2020 11:51:13 +0000
parents 37bf6b4a2645
children
rev   line source
Chris@10 1 <html lang="en">
Chris@10 2 <head>
Chris@10 3 <title>Installation on non-Unix systems - FFTW 3.3.3</title>
Chris@10 4 <meta http-equiv="Content-Type" content="text/html">
Chris@10 5 <meta name="description" content="FFTW 3.3.3">
Chris@10 6 <meta name="generator" content="makeinfo 4.13">
Chris@10 7 <link title="Top" rel="start" href="index.html#Top">
Chris@10 8 <link rel="up" href="Installation-and-Customization.html#Installation-and-Customization" title="Installation and Customization">
Chris@10 9 <link rel="prev" href="Installation-on-Unix.html#Installation-on-Unix" title="Installation on Unix">
Chris@10 10 <link rel="next" href="Cycle-Counters.html#Cycle-Counters" title="Cycle Counters">
Chris@10 11 <link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
Chris@10 12 <!--
Chris@10 13 This manual is for FFTW
Chris@10 14 (version 3.3.3, 25 November 2012).
Chris@10 15
Chris@10 16 Copyright (C) 2003 Matteo Frigo.
Chris@10 17
Chris@10 18 Copyright (C) 2003 Massachusetts Institute of Technology.
Chris@10 19
Chris@10 20 Permission is granted to make and distribute verbatim copies of
Chris@10 21 this manual provided the copyright notice and this permission
Chris@10 22 notice are preserved on all copies.
Chris@10 23
Chris@10 24 Permission is granted to copy and distribute modified versions of
Chris@10 25 this manual under the conditions for verbatim copying, provided
Chris@10 26 that the entire resulting derived work is distributed under the
Chris@10 27 terms of a permission notice identical to this one.
Chris@10 28
Chris@10 29 Permission is granted to copy and distribute translations of this
Chris@10 30 manual into another language, under the above conditions for
Chris@10 31 modified versions, except that this permission notice may be
Chris@10 32 stated in a translation approved by the Free Software Foundation.
Chris@10 33 -->
Chris@10 34 <meta http-equiv="Content-Style-Type" content="text/css">
Chris@10 35 <style type="text/css"><!--
Chris@10 36 pre.display { font-family:inherit }
Chris@10 37 pre.format { font-family:inherit }
Chris@10 38 pre.smalldisplay { font-family:inherit; font-size:smaller }
Chris@10 39 pre.smallformat { font-family:inherit; font-size:smaller }
Chris@10 40 pre.smallexample { font-size:smaller }
Chris@10 41 pre.smalllisp { font-size:smaller }
Chris@10 42 span.sc { font-variant:small-caps }
Chris@10 43 span.roman { font-family:serif; font-weight:normal; }
Chris@10 44 span.sansserif { font-family:sans-serif; font-weight:normal; }
Chris@10 45 --></style>
Chris@10 46 </head>
Chris@10 47 <body>
Chris@10 48 <div class="node">
Chris@10 49 <a name="Installation-on-non-Unix-systems"></a>
Chris@10 50 <a name="Installation-on-non_002dUnix-systems"></a>
Chris@10 51 <p>
Chris@10 52 Next:&nbsp;<a rel="next" accesskey="n" href="Cycle-Counters.html#Cycle-Counters">Cycle Counters</a>,
Chris@10 53 Previous:&nbsp;<a rel="previous" accesskey="p" href="Installation-on-Unix.html#Installation-on-Unix">Installation on Unix</a>,
Chris@10 54 Up:&nbsp;<a rel="up" accesskey="u" href="Installation-and-Customization.html#Installation-and-Customization">Installation and Customization</a>
Chris@10 55 <hr>
Chris@10 56 </div>
Chris@10 57
Chris@10 58 <h3 class="section">10.2 Installation on non-Unix systems</h3>
Chris@10 59
Chris@10 60 <p>It should be relatively straightforward to compile FFTW even on non-Unix
Chris@10 61 systems lacking the niceties of a <code>configure</code> script. Basically,
Chris@10 62 you need to edit the <code>config.h</code> header (copy it from
Chris@10 63 <code>config.h.in</code>) to <code>#define</code> the various options and compiler
Chris@10 64 characteristics, and then compile all the &lsquo;<samp><span class="samp">.c</span></samp>&rsquo; files in the
Chris@10 65 relevant directories.
Chris@10 66
Chris@10 67 <p>The <code>config.h</code> header contains about 100 options to set, each one
Chris@10 68 initially an <code>#undef</code>, each documented with a comment, and most of
Chris@10 69 them fairly obvious. For most of the options, you should simply
Chris@10 70 <code>#define</code> them to <code>1</code> if they are applicable, although a few
Chris@10 71 options require a particular value (e.g. <code>SIZEOF_LONG_LONG</code> should
Chris@10 72 be defined to the size of the <code>long long</code> type, in bytes, or zero
Chris@10 73 if it is not supported). We will likely post some sample
Chris@10 74 <code>config.h</code> files for various operating systems and compilers for
Chris@10 75 you to use (at least as a starting point). Please let us know if you
Chris@10 76 have to hand-create a configuration file (and/or a pre-compiled binary)
Chris@10 77 that you want to share.
Chris@10 78
Chris@10 79 <p>To create the FFTW library, you will then need to compile all of the
Chris@10 80 &lsquo;<samp><span class="samp">.c</span></samp>&rsquo; files in the <code>kernel</code>, <code>dft</code>, <code>dft/scalar</code>,
Chris@10 81 <code>dft/scalar/codelets</code>, <code>rdft</code>, <code>rdft/scalar</code>,
Chris@10 82 <code>rdft/scalar/r2cf</code>, <code>rdft/scalar/r2cb</code>,
Chris@10 83 <code>rdft/scalar/r2r</code>, <code>reodft</code>, and <code>api</code> directories.
Chris@10 84 If you are compiling with SIMD support (e.g. you defined
Chris@10 85 <code>HAVE_SSE2</code> in <code>config.h</code>), then you also need to compile
Chris@10 86 the <code>.c</code> files in the <code>simd-support</code>,
Chris@10 87 <code>{dft,rdft}/simd</code>, <code>{dft,rdft}/simd/*</code> directories.
Chris@10 88
Chris@10 89 <p>Once these files are all compiled, link them into a library, or a shared
Chris@10 90 library, or directly into your program.
Chris@10 91
Chris@10 92 <p>To compile the FFTW test program, additionally compile the code in the
Chris@10 93 <code>libbench2/</code> directory, and link it into a library. Then compile
Chris@10 94 the code in the <code>tests/</code> directory and link it to the
Chris@10 95 <code>libbench2</code> and FFTW libraries. To compile the <code>fftw-wisdom</code>
Chris@10 96 (command-line) tool (see <a href="Wisdom-Utilities.html#Wisdom-Utilities">Wisdom Utilities</a>), compile
Chris@10 97 <code>tools/fftw-wisdom.c</code> and link it to the <code>libbench2</code> and FFTW
Chris@10 98 libraries
Chris@10 99
Chris@10 100 <!-- -->
Chris@10 101 </body></html>
Chris@10 102