[fftw] 02/16: Imported Debian patch 2.0.1-1

Mattia Rizzolo mattia at debian.org
Fri Feb 12 22:42:05 UTC 2016


This is an automated email from the git hooks/post-receive script.

mattia pushed a commit to branch master
in repository fftw.

commit d93051ca94a9da204fb15e40619c850fa2b02064
Merge: 26612b5 88ac7af
Author: James A. Treacy <treacy at debian.org>
Date:   Thu Oct 1 13:10:51 1998 -0400

    Imported Debian patch 2.0.1-1

 AUTHORS                                |     4 +
 COPYING                                |   341 +
 COPYRIGHT                              |    40 +-
 ChangeLog                              |  1068 +++
 FAQ/fftw-faq.ascii                     |   359 +-
 FAQ/fftw-faq.bfnn                      |   280 +-
 FAQ/fftw-faq.html/index.html           |    48 +-
 FAQ/fftw-faq.html/section1.html        |    59 +-
 FAQ/fftw-faq.html/section2.html        |    97 +-
 FAQ/fftw-faq.html/section3.html        |   147 +-
 FAQ/fftw-faq.html/section4.html        |    75 +-
 FAQ/fftw-faq.html/section5.html        |    89 +
 FAQ/fftw-faq.info                      |   410 +-
 FAQ/fftw-faq.xrefdb                    |    35 +-
 FAQ/html.refs                          |     3 +-
 INSTALL                                |   214 +
 Makefile                               |   312 +
 Makefile.am                            |    17 +
 Makefile.in                            |   312 +
 NEWS                                   |   201 +
 README                                 |    38 +-
 README.hacks                           |    24 +-
 RELEASE-NOTES                          |    64 -
 TODO                                   |    31 +-
 acinclude.m4                           |   165 +
 aclocal.m4                             |   539 ++
 bootstrap.sh                           |    21 +
 build-distrib.sh                       |     5 -
 cilk/Makefile                          |    40 +-
 cilk/README                            |     2 +-
 cilk/executor_cilk.cilk                |   116 +-
 cilk/fftw_cilk.cilkh                   |    42 +-
 cilk/fftwnd_cilk.cilk                  |    83 +-
 cilk/test_cilk.cilk                    |    55 +-
 cilk/time_cilk.cilk                    |    50 +-
 config.cache                           |    44 +
 config.guess                           |   883 +++
 config.log                             |    52 +
 config.status                          |   323 +
 config.sub                             |   954 +++
 configure                              |  3121 ++++++++
 configure.in                           |   133 +
 debian/README.debian                   |    10 +-
 debian/changelog                       |    25 +
 debian/control                         |    30 +-
 debian/copyright                       |    46 +-
 debian/postinst                        |     9 +
 debian/rules                           |   108 +-
 debian/shlibs                          |     3 +-
 doc/Makefile                           |   338 +-
 doc/Makefile.am                        |    19 +
 doc/Makefile.in                        |   328 +
 doc/equation-4.gif                     |   Bin 0 -> 36918 bytes
 doc/fftw.dvi                           |   Bin 88332 -> 0 bytes
 doc/fftw.info                          |  1613 +---
 doc/fftw.info-1                        |  1074 +++
 doc/fftw.info-2                        |  1015 +++
 doc/fftw.info-3                        |   855 +++
 doc/fftw.ps                            | 12221 +++++++++++++++++++++++++------
 doc/fftw.texi                          |  3990 +++++++---
 doc/fftw_1.html                        |   141 +-
 doc/fftw_10.html                       |   215 +
 doc/fftw_2.html                        |   680 +-
 doc/fftw_3.html                        |   366 +-
 doc/fftw_4.html                        |   314 +-
 doc/fftw_5.html                        |   679 +-
 doc/fftw_6.html                        |  1765 ++++-
 doc/fftw_7.html                        |   323 +-
 doc/fftw_8.html                        |    72 +-
 doc/fftw_9.html                        |    79 +-
 doc/fftw_foot.html                     |    40 +-
 doc/fftw_toc.html                      |   116 +-
 doc/mdate-sh                           |    92 +
 doc/stamp-vti                          |     3 +
 doc/texi2html                          |   447 +-
 doc/version.texi                       |     3 +
 fftw/Makefile                          |   372 +
 fftw/Makefile.am                       |    25 +
 fftw/Makefile.in                       |   372 +
 fftw/config.c                          |   164 +
 fftw/config.h                          |    95 +
 fftw/config.h.in                       |    94 +
 {src => fftw}/executor.c               |   154 +-
 fftw/fftw-int.h                        |   467 ++
 fftw/fftw.h                            |   413 ++
 fftw/fftw.h.in                         |   412 ++
 fftw/fftwnd.c                          |   780 ++
 fftw/fn_1.c                            |    62 +
 fftw/fn_10.c                           |   281 +
 fftw/fn_11.c                           |   242 +
 fftw/fn_12.c                           |   322 +
 fftw/fn_13.c                           |   526 ++
 fftw/fn_14.c                           |   355 +
 fftw/fn_15.c                           |   446 ++
 fftw/fn_16.c                           |   439 ++
 fftw/fn_2.c                            |    68 +
 fftw/fn_3.c                            |    91 +
 fftw/fn_32.c                           |  1042 +++
 fftw/fn_4.c                            |   102 +
 fftw/fn_5.c                            |   146 +
 fftw/fn_6.c                            |   157 +
 fftw/fn_64.c                           |  2449 +++++++
 fftw/fn_7.c                            |   170 +
 fftw/fn_8.c                            |   201 +
 fftw/fn_9.c                            |   275 +
 fftw/fni_1.c                           |    62 +
 fftw/fni_10.c                          |   281 +
 fftw/fni_11.c                          |   242 +
 fftw/fni_12.c                          |   322 +
 fftw/fni_13.c                          |   526 ++
 fftw/fni_14.c                          |   355 +
 fftw/fni_15.c                          |   446 ++
 fftw/fni_16.c                          |   439 ++
 fftw/fni_2.c                           |    68 +
 fftw/fni_3.c                           |    91 +
 fftw/fni_32.c                          |  1042 +++
 fftw/fni_4.c                           |   102 +
 fftw/fni_5.c                           |   146 +
 fftw/fni_6.c                           |   157 +
 fftw/fni_64.c                          |  2449 +++++++
 fftw/fni_7.c                           |   170 +
 fftw/fni_8.c                           |   201 +
 fftw/fni_9.c                           |   275 +
 fftw/ftw_10.c                          |   375 +
 fftw/ftw_16.c                          |   611 ++
 fftw/ftw_2.c                           |    86 +
 fftw/ftw_3.c                           |   120 +
 fftw/ftw_32.c                          |  1384 ++++
 fftw/ftw_4.c                           |   142 +
 fftw/ftw_5.c                           |   194 +
 fftw/ftw_6.c                           |   219 +
 fftw/ftw_64.c                          |  3146 ++++++++
 fftw/ftw_7.c                           |   243 +
 fftw/ftw_8.c                           |   285 +
 fftw/ftw_9.c                           |   370 +
 fftw/ftwi_10.c                         |   375 +
 fftw/ftwi_16.c                         |   611 ++
 fftw/ftwi_2.c                          |    86 +
 fftw/ftwi_3.c                          |   120 +
 fftw/ftwi_32.c                         |  1384 ++++
 fftw/ftwi_4.c                          |   142 +
 fftw/ftwi_5.c                          |   194 +
 fftw/ftwi_6.c                          |   219 +
 fftw/ftwi_64.c                         |  3146 ++++++++
 fftw/ftwi_7.c                          |   243 +
 fftw/ftwi_8.c                          |   285 +
 fftw/ftwi_9.c                          |   370 +
 fftw/generic.c                         |   102 +
 fftw/libfftw.la                        |    22 +
 fftw/malloc.c                          |   252 +
 fftw/planner.c                         |   401 +
 fftw/putils.c                          |   551 ++
 fftw/rader.c                           |   362 +
 fftw/stamp-h1                          |     1 +
 fftw/stamp-h1.in                       |     0
 fftw/stamp-h2                          |     1 +
 fftw/stamp-h2.in                       |     0
 fftw/timer.c                           |   164 +
 fftw/twiddle.c                         |   203 +
 {src => fftw}/wisdom.c                 |   147 +-
 src/common_io.c => fftw/wisdomio.c     |    48 +-
 fortran/README                         |   191 +
 fortran/f77_test.F                     |    65 +
 fortran/fftw_f77.c                     |   143 +
 fortran/fftw_f77.i                     |    17 +
 fortran/fortranize.h                   |    50 +
 fortran/rfftw_f77.c                    |   136 +
 gensrc/.indent.pro                     |     4 +
 gensrc/Makefile                        |    30 +
 gensrc/Makefile.fftw.am                |    25 +
 gensrc/Makefile.genfft                 |    89 +
 gensrc/Makefile.rfftw.am               |    24 +
 gensrc/Makefile.sources                |    41 +
 gensrc/README                          |    46 +
 gensrc/asched.ml                       |   171 +
 gensrc/asched.mli                      |    36 +
 gensrc/ast.ml                          |   214 +
 gensrc/codelet_prelude                 |     9 +
 gensrc/complex.ml                      |   119 +
 gensrc/complex.mli                     |    43 +
 gensrc/config                          |    40 +
 gensrc/config_prelude                  |    20 +
 gensrc/dag.ml                          |   105 +
 gensrc/dag.mli                         |    42 +
 gensrc/expr.ml                         |    42 +
 gensrc/expr.mli                        |    30 +
 gensrc/exprdag.ml                      |   845 +++
 gensrc/exprdag.mli                     |    42 +
 gensrc/fft.ml                          |   311 +
 gensrc/genfft.ml                       |   540 ++
 gensrc/install.sh                      |     9 +
 gensrc/magic.ml                        |    61 +
 gensrc/makeconfig.sh                   |    43 +
 gensrc/makemakefile.sh                 |    66 +
 gensrc/makerconfig.sh                  |    43 +
 gensrc/makesources.sh                  |    38 +
 gensrc/number.ml                       |   152 +
 gensrc/number.mli                      |    47 +
 gensrc/rconfig_prelude                 |    37 +
 gensrc/schedule.ml                     |   171 +
 gensrc/schedule.mli                    |    27 +
 gensrc/symmetry.ml                     |   154 +
 gensrc/to_c.ml                         |   319 +
 gensrc/to_c.mli                        |    34 +
 gensrc/twiddle.ml                      |   117 +
 gensrc/util.ml                         |   151 +
 gensrc/util.mli                        |    43 +
 gensrc/variable.ml                     |   217 +
 gensrc/variable.mli                    |    71 +
 install-sh                             |   250 +
 libtool                                |  2624 +++++++
 ltconfig                               |  1512 ++++
 ltmain.sh                              |  2453 +++++++
 matlab/Makefile                        |     8 +
 matlab/README                          |    88 +
 matlab/fftw.c                          |   374 +
 matlab/fftw.m                          |    26 +
 missing                                |   188 +
 mkinstalldirs                          |    40 +
 mpi/Makefile                           |     6 +-
 mpi/README                             |    19 +-
 mpi/fftwnd_mpi.c                       |    48 +-
 mpi/fftwnd_mpi.h                       |    42 +-
 mpi/test_fftwnd_mpi.c                  |    52 +-
 mpi/time_fftwnd_mpi.c                  |    49 +-
 mpi/transpose_mpi/README               |     5 +
 mpi/transpose_mpi/TOMS_transpose.c     |     4 +-
 mpi/transpose_mpi/TOMS_transpose.h     |    55 +-
 mpi/transpose_mpi/test_transpose_mpi.c |    53 +-
 mpi/transpose_mpi/transpose_mpi.c      |   102 +-
 mpi/transpose_mpi/transpose_mpi.h      |    61 +-
 rfftw/Makefile                         |   344 +-
 rfftw/Makefile.am                      |    24 +
 rfftw/Makefile.in                      |   334 +
 rfftw/README.rfftw                     |   155 -
 rfftw/fcr_1.c                          |    59 +
 rfftw/fcr_10.c                         |   154 +
 rfftw/fcr_11.c                         |   123 +
 rfftw/fcr_12.c                         |   168 +
 rfftw/fcr_128.c                        |  2564 +++++++
 rfftw/fcr_13.c                         |   273 +
 rfftw/fcr_14.c                         |   175 +
 rfftw/fcr_15.c                         |   226 +
 rfftw/fcr_16.c                         |   226 +
 rfftw/fcr_2.c                          |    62 +
 rfftw/fcr_3.c                          |    71 +
 rfftw/fcr_32.c                         |   490 ++
 rfftw/fcr_4.c                          |    80 +
 rfftw/fcr_5.c                          |    93 +
 rfftw/fcr_6.c                          |    95 +
 rfftw/fcr_64.c                         |  1111 +++
 rfftw/fcr_7.c                          |    96 +
 rfftw/fcr_8.c                          |   119 +
 rfftw/fcr_9.c                          |   155 +
 rfftw/fhb_10.c                         |   685 ++
 rfftw/fhb_16.c                         |  1123 +++
 rfftw/fhb_2.c                          |   108 +
 rfftw/fhb_3.c                          |   176 +
 rfftw/fhb_32.c                         |  2632 +++++++
 rfftw/fhb_4.c                          |   209 +
 rfftw/fhb_5.c                          |   325 +
 rfftw/fhb_6.c                          |   344 +
 rfftw/fhb_7.c                          |   397 +
 rfftw/fhb_8.c                          |   471 ++
 rfftw/fhb_9.c                          |   676 ++
 rfftw/fhf_10.c                         |   691 ++
 rfftw/fhf_16.c                         |  1168 +++
 rfftw/fhf_2.c                          |   112 +
 rfftw/fhf_3.c                          |   167 +
 rfftw/fhf_32.c                         |  2795 +++++++
 rfftw/fhf_4.c                          |   207 +
 rfftw/fhf_5.c                          |   312 +
 rfftw/fhf_6.c                          |   355 +
 rfftw/fhf_7.c                          |   397 +
 rfftw/fhf_8.c                          |   483 ++
 rfftw/fhf_9.c                          |   646 ++
 rfftw/frc_1.c                          |    59 +
 rfftw/frc_10.c                         |   150 +
 rfftw/frc_11.c                         |   125 +
 rfftw/frc_12.c                         |   164 +
 rfftw/frc_128.c                        |  2574 +++++++
 rfftw/frc_13.c                         |   271 +
 rfftw/frc_14.c                         |   171 +
 rfftw/frc_15.c                         |   233 +
 rfftw/frc_16.c                         |   218 +
 rfftw/frc_2.c                          |    62 +
 rfftw/frc_3.c                          |    69 +
 rfftw/frc_32.c                         |   476 ++
 rfftw/frc_4.c                          |    72 +
 rfftw/frc_5.c                          |    92 +
 rfftw/frc_6.c                          |    95 +
 rfftw/frc_64.c                         |  1109 +++
 rfftw/frc_7.c                          |    98 +
 rfftw/frc_8.c                          |   114 +
 rfftw/frc_9.c                          |   146 +
 rfftw/librfftw.la                      |    22 +
 rfftw/rconfig.c                        |   181 +
 rfftw/rexec.c                          |   330 +
 rfftw/rexec2.c                         |   228 +
 rfftw/rfftw.c                          |   538 --
 rfftw/rfftw.h                          |   158 +-
 rfftw/rfftwnd.c                        |   980 +--
 rfftw/rgeneric.c                       |   188 +
 rfftw/rplanner.c                       |   394 +
 rfftw/test_rfftw.c                     |   372 -
 rfftw/time_rfftw.c                     |   161 -
 src/.indent.pro                        |     4 -
 src/Makefile                           |   132 -
 src/Makefile.sources                   |    24 -
 src/config.c                           |   191 -
 src/fftw.h                             |   456 --
 src/fftwnd.c                           |   408 --
 src/fn_1.c                             |    47 -
 src/fn_10.c                            |   199 -
 src/fn_11.c                            |   167 -
 src/fn_12.c                            |   271 -
 src/fn_13.c                            |   191 -
 src/fn_14.c                            |   267 -
 src/fn_15.c                            |   333 -
 src/fn_16.c                            |   403 -
 src/fn_2.c                             |    53 -
 src/fn_3.c                             |    71 -
 src/fn_32.c                            |   959 ---
 src/fn_4.c                             |    85 -
 src/fn_5.c                             |    95 -
 src/fn_6.c                             |   131 -
 src/fn_64.c                            |  2271 ------
 src/fn_7.c                             |   119 -
 src/fn_8.c                             |   175 -
 src/fn_9.c                             |   229 -
 src/fni_1.c                            |    47 -
 src/fni_10.c                           |   199 -
 src/fni_11.c                           |   167 -
 src/fni_12.c                           |   271 -
 src/fni_13.c                           |   191 -
 src/fni_14.c                           |   267 -
 src/fni_15.c                           |   333 -
 src/fni_16.c                           |   403 -
 src/fni_2.c                            |    53 -
 src/fni_3.c                            |    71 -
 src/fni_32.c                           |   959 ---
 src/fni_4.c                            |    85 -
 src/fni_5.c                            |    95 -
 src/fni_6.c                            |   131 -
 src/fni_64.c                           |  2271 ------
 src/fni_7.c                            |   119 -
 src/fni_8.c                            |   175 -
 src/fni_9.c                            |   229 -
 src/ftw_10.c                           |   294 -
 src/ftw_16.c                           |   558 --
 src/ftw_2.c                            |    68 -
 src/ftw_3.c                            |    96 -
 src/ftw_32.c                           |  1274 ----
 src/ftw_4.c                            |   120 -
 src/ftw_5.c                            |   140 -
 src/ftw_6.c                            |   186 -
 src/ftw_64.c                           |  2906 --------
 src/ftw_7.c                            |   184 -
 src/ftw_8.c                            |   250 -
 src/ftw_9.c                            |   314 -
 src/ftwi_10.c                          |   294 -
 src/ftwi_16.c                          |   558 --
 src/ftwi_2.c                           |    68 -
 src/ftwi_3.c                           |    96 -
 src/ftwi_32.c                          |  1274 ----
 src/ftwi_4.c                           |   120 -
 src/ftwi_5.c                           |   140 -
 src/ftwi_6.c                           |   186 -
 src/ftwi_64.c                          |  2906 --------
 src/ftwi_7.c                           |   184 -
 src/ftwi_8.c                           |   250 -
 src/ftwi_9.c                           |   314 -
 src/generic.c                          |   112 -
 src/genfft.ml                          |  1008 ---
 src/konst.h                            |  1317 ----
 src/malloc.c                           |   220 -
 src/naive.c                            |    79 -
 src/planner.c                          |   567 --
 src/prelude                            |     7 -
 src/timer.c                            |   188 -
 src/twiddle.c                          |   121 -
 tests/Makefile                         |   322 +-
 tests/Makefile.am                      |    32 +
 tests/Makefile.in                      |   309 +
 tests/Makefile.package                 |    16 +
 tests/README                           |    56 +-
 tests/fftw_test.c                      |  1303 ++--
 tests/go_fft.c                         |   853 ---
 tests/rfftw_test.c                     |   869 +++
 tests/test_main.c                      |   863 +++
 tests/test_main.h                      |    93 +
 tests/testnd.c                         |   341 -
 threads/Makefile                       |    18 +-
 threads/README                         |    28 +-
 threads/executor_threads.c             |   203 +-
 threads/fftw_threads.c                 |    36 +-
 threads/fftw_threads.h                 |    77 +-
 threads/fftwnd_threads.c               |   449 +-
 threads/test_threads.c                 |    66 +-
 threads/time_threads.c                 |   445 +-
 400 files changed, 111739 insertions(+), 41856 deletions(-)

diff --cc Makefile
index 0000000,0000000..b91c1fa
new file mode 100644
--- /dev/null
+++ b/Makefile
@@@ -1,0 -1,0 +1,312 @@@
++# Generated automatically from Makefile.in by configure.
++# Makefile.in generated automatically by automake 1.3 from Makefile.am
++
++# Copyright (C) 1994, 1995, 1996, 1997, 1998 Free Software Foundation, Inc.
++# This Makefile.in is free software; the Free Software Foundation
++# gives unlimited permission to copy and/or distribute it,
++# with or without modifications, as long as this notice is preserved.
++
++# This program is distributed in the hope that it will be useful,
++# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
++# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
++# PARTICULAR PURPOSE.
++
++
++SHELL = /bin/sh
++
++srcdir = .
++top_srcdir = .
++prefix = /usr
++exec_prefix = ${prefix}
++
++bindir = ${exec_prefix}/bin
++sbindir = ${exec_prefix}/sbin
++libexecdir = ${exec_prefix}/libexec
++datadir = ${prefix}/share
++sysconfdir = ${prefix}/etc
++sharedstatedir = ${prefix}/com
++localstatedir = ${prefix}/var
++libdir = ${exec_prefix}/lib
++infodir = ${prefix}/info
++mandir = ${prefix}/man
++includedir = ${prefix}/include
++oldincludedir = /usr/include
++
++DISTDIR =
++
++pkgdatadir = $(datadir)/fftw
++pkglibdir = $(libdir)/fftw
++pkgincludedir = $(includedir)/fftw
++
++top_builddir = .
++
++ACLOCAL = aclocal
++AUTOCONF = autoconf
++AUTOMAKE = automake
++AUTOHEADER = autoheader
++
++INSTALL = /usr/bin/install -c
++INSTALL_PROGRAM = ${INSTALL}
++INSTALL_DATA = ${INSTALL} -m 644
++INSTALL_SCRIPT = ${INSTALL_PROGRAM}
++transform = s,x,x,
++
++NORMAL_INSTALL = :
++PRE_INSTALL = :
++POST_INSTALL = :
++NORMAL_UNINSTALL = :
++PRE_UNINSTALL = :
++POST_UNINSTALL = :
++host_alias = i586-pc-linux-gnu
++host_triplet = i586-pc-linux-gnu
++CC = cc
++LD = /usr/bin/ld
++LIBTOOL = $(SHELL) $(top_builddir)/libtool
++LN_S = ln -s
++MAKEINFO = makeinfo
++NM = /usr/bin/nm -B
++PACKAGE = fftw
++PERL = perl
++RANLIB = ranlib
++SHARED_VERSION_INFO = 2:1:0
++VERSION = 2.0.1
++
++SUBDIRS = fftw rfftw tests doc
++EXTRA_DIST = README.hacks bootstrap.sh COPYRIGHT
++
++extradist = fortran gensrc matlab mpi threads cilk FAQ
++distsrc=$(distdir)/fftw
++ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
++mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
++CONFIG_HEADER = ./fftw/config.h ./fftw/fftw.h
++CONFIG_CLEAN_FILES = 
++DIST_COMMON =  README AUTHORS COPYING ChangeLog INSTALL Makefile.am \
++Makefile.in NEWS TODO acinclude.m4 aclocal.m4 config.guess config.sub \
++configure configure.in install-sh ltconfig ltmain.sh missing \
++mkinstalldirs
++
++
++DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
++
++TAR = tar
++GZIP = --best
++all: all-recursive all-am
++
++.SUFFIXES:
++$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
++	cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps Makefile
++
++Makefile: $(srcdir)/Makefile.in  $(top_builddir)/config.status
++	cd $(top_builddir) \
++	  && CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status
++
++$(ACLOCAL_M4):  configure.in  acinclude.m4
++	cd $(srcdir) && $(ACLOCAL)
++
++config.status: $(srcdir)/configure
++	$(SHELL) ./config.status --recheck
++$(srcdir)/configure: $(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES)
++	cd $(srcdir) && $(AUTOCONF)
++
++# This directory's subdirectories are mostly independent; you can cd
++# into them and run `make' without going through this Makefile.
++# To change the values of `make' variables: instead of editing Makefiles,
++# (1) if the variable is set in `config.status', edit `config.status'
++#     (which will cause the Makefiles to be regenerated when you run `make');
++# (2) otherwise, pass the desired values on the `make' command line.
++
++
++
++all-recursive install-data-recursive install-exec-recursive \
++installdirs-recursive install-recursive uninstall-recursive  \
++check-recursive installcheck-recursive info-recursive dvi-recursive:
++	@set fnord $(MAKEFLAGS); amf=$$2; \
++	list='$(SUBDIRS)'; for subdir in $$list; do \
++	  target=`echo $@ | sed s/-recursive//`; \
++	  echo "Making $$target in $$subdir"; \
++	  (cd $$subdir && $(MAKE) $$target) \
++	   || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
++	done && test -z "$$fail"
++
++mostlyclean-recursive clean-recursive distclean-recursive \
++maintainer-clean-recursive:
++	@set fnord $(MAKEFLAGS); amf=$$2; \
++	rev=''; list='$(SUBDIRS)'; for subdir in $$list; do \
++	  rev="$$subdir $$rev"; \
++	done; \
++	for subdir in $$rev; do \
++	  target=`echo $@ | sed s/-recursive//`; \
++	  echo "Making $$target in $$subdir"; \
++	  (cd $$subdir && $(MAKE) $$target) \
++	   || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
++	done && test -z "$$fail"
++tags-recursive:
++	list='$(SUBDIRS)'; for subdir in $$list; do \
++	  (cd $$subdir && $(MAKE) tags); \
++	done
++
++tags: TAGS
++
++ID: $(HEADERS) $(SOURCES) $(LISP)
++	here=`pwd` && cd $(srcdir) \
++	  && mkid -f$$here/ID $(SOURCES) $(HEADERS) $(LISP)
++
++TAGS: tags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) $(LISP)
++	tags=; \
++	here=`pwd`; \
++	list='$(SUBDIRS)'; for subdir in $$list; do \
++	  test -f $$subdir/TAGS && tags="$$tags -i $$here/$$subdir/TAGS"; \
++	done; \
++	list='$(SOURCES) $(HEADERS)'; \
++	unique=`for i in $$list; do echo $$i; done | \
++	  awk '    { files[$$0] = 1; } \
++	       END { for (i in files) print i; }'`; \
++	test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
++	  || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags  $$unique $(LISP) -o $$here/TAGS)
++
++mostlyclean-tags:
++
++clean-tags:
++
++distclean-tags:
++	-rm -f TAGS ID
++
++maintainer-clean-tags:
++
++distdir = $(PACKAGE)-$(VERSION)
++top_distdir = $(distdir)
++
++# This target untars the dist file and tries a VPATH configuration.  Then
++# it guarantees that the distribution is self-contained by making another
++# tarfile.
++distcheck: dist
++	-rm -rf $(distdir)
++	GZIP=$(GZIP) $(TAR) zxf $(distdir).tar.gz
++	mkdir $(distdir)/=build
++	mkdir $(distdir)/=inst
++	dc_install_base=`cd $(distdir)/=inst && pwd`; \
++	cd $(distdir)/=build \
++	  && ../configure --srcdir=.. --prefix=$$dc_install_base \
++	  && $(MAKE) \
++	  && $(MAKE) dvi \
++	  && $(MAKE) check \
++	  && $(MAKE) install \
++	  && $(MAKE) installcheck \
++	  && $(MAKE) dist
++	-rm -rf $(distdir)
++	@echo "========================"; \
++	echo "$(distdir).tar.gz is ready for distribution"; \
++	echo "========================"
++dist: distdir
++	-chmod -R a+r $(distdir)
++	GZIP=$(GZIP) $(TAR) chozf $(distdir).tar.gz $(distdir)
++	-rm -rf $(distdir)
++dist-all: distdir
++	-chmod -R a+r $(distdir)
++	GZIP=$(GZIP) $(TAR) chozf $(distdir).tar.gz $(distdir)
++	-rm -rf $(distdir)
++distdir: $(DISTFILES)
++	-rm -rf $(distdir)
++	mkdir $(distdir)
++	-chmod 777 $(distdir)
++	@for file in $(DISTFILES); do \
++	  d=$(srcdir); \
++	  test -f $(distdir)/$$file \
++	  || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
++	  || cp -p $$d/$$file $(distdir)/$$file; \
++	done
++	for subdir in $(SUBDIRS); do \
++	  test -d $(distdir)/$$subdir \
++	  || mkdir $(distdir)/$$subdir \
++	  || exit 1; \
++	  chmod 777 $(distdir)/$$subdir; \
++	  (cd $$subdir && $(MAKE) top_distdir=../$(distdir) distdir=../$(distdir)/$$subdir distdir) \
++	    || exit 1; \
++	done
++	$(MAKE) top_distdir="$(top_distdir)" distdir="$(distdir)" dist-hook
++info: info-recursive
++dvi: dvi-recursive
++check: all-am
++	$(MAKE) check-recursive
++installcheck: installcheck-recursive
++all-am: Makefile
++
++install-exec: install-exec-recursive
++	@$(NORMAL_INSTALL)
++
++install-data: install-data-recursive
++	@$(NORMAL_INSTALL)
++
++install: install-recursive
++	@:
++
++uninstall: uninstall-recursive
++
++install-strip:
++	$(MAKE) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' INSTALL_SCRIPT='$(INSTALL_PROGRAM)' install
++installdirs: installdirs-recursive
++
++
++mostlyclean-generic:
++	-test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
++
++clean-generic:
++	-test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
++
++distclean-generic:
++	-rm -f Makefile $(DISTCLEANFILES)
++	-rm -f config.cache config.log stamp-h stamp-h[0-9]*
++	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
++
++maintainer-clean-generic:
++	-test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
++	-test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
++mostlyclean-am:  mostlyclean-tags mostlyclean-generic
++
++clean-am:  clean-tags clean-generic mostlyclean-am
++
++distclean-am:  distclean-tags distclean-generic clean-am
++
++maintainer-clean-am:  maintainer-clean-tags maintainer-clean-generic \
++		distclean-am
++
++mostlyclean:  mostlyclean-recursive mostlyclean-am
++
++clean:  clean-recursive clean-am
++
++distclean:  distclean-recursive distclean-am
++	-rm -f config.status
++	-rm -f libtool
++
++maintainer-clean:  maintainer-clean-recursive maintainer-clean-am
++	@echo "This command is intended for maintainers to use;"
++	@echo "it deletes files that may require special tools to rebuild."
++	-rm -f config.status
++
++.PHONY: install-data-recursive uninstall-data-recursive \
++install-exec-recursive uninstall-exec-recursive installdirs-recursive \
++uninstalldirs-recursive all-recursive check-recursive \
++installcheck-recursive info-recursive dvi-recursive \
++mostlyclean-recursive distclean-recursive clean-recursive \
++maintainer-clean-recursive tags tags-recursive mostlyclean-tags \
++distclean-tags clean-tags maintainer-clean-tags distdir info dvi \
++installcheck all-am install-exec install-data install uninstall all \
++installdirs mostlyclean-generic distclean-generic clean-generic \
++maintainer-clean-generic clean mostlyclean distclean maintainer-clean
++
++
++dist-hook:
++	rm -f $(distsrc)/fftw.h
++	awk '{handled=0} /^#undef .*$$/ {print "/* " $$line " */"; handled=1} {if (handled == 0) print}' $(distsrc)/fftw.h.in > $(distsrc)/fftw.h
++	rm -f $(distsrc)/config.h
++	cat $(distsrc)/config.h.in | sed -e "s/^#undef FFTW_VERSION/#define FFTW_VERSION \"$(VERSION)\"/" | awk '{handled=0}	/^#undef .*$$/ {print "/* " $$line " */"; handled=1} {if (handled == 0) print}' > $(distsrc)/config.h
++	(cd FAQ; make clean; make)
++	for i in gensrc mpi threads cilk; do (cd $$i; make distclean); done
++	for i in $(extradist); do \
++	  echo "Adding $$i/ to the distribution"; \
++          find $$i -name CVS -prune -o -print | cpio -pd $(distdir); \
++        done
++
++# Tell versions [3.59,3.63) of GNU make to not export all variables.
++# Otherwise a system limit (for SysV at least) may be exceeded.
++.NOEXPORT:
diff --cc config.cache
index 0000000,0000000..49ceb9d
new file mode 100644
--- /dev/null
+++ b/config.cache
@@@ -1,0 -1,0 +1,44 @@@
++# This file is a shell script that caches the results of configure
++# tests run on this system so they can be shared between configure
++# scripts and configure runs.  It is not useful on other systems.
++# If it contains results you don't want to keep, you may remove or edit it.
++#
++# By default, configure uses ./config.cache as the cache file,
++# creating it if it does not exist already.  You can give configure
++# the --cache-file=FILE option to use a different cache file; that is
++# what configure does when it calls configure scripts in
++# subdirectories, so they share the cache.
++# Giving --cache-file=/dev/null disables caching, for debugging configure.
++# config.status only pays attention to the cache file if you give it the
++# --recheck option to rerun configure.
++#
++ac_cv_c_const=${ac_cv_c_const=yes}
++ac_cv_func_BSDgettimeofday=${ac_cv_func_BSDgettimeofday=no}
++ac_cv_func_alloca_works=${ac_cv_func_alloca_works=yes}
++ac_cv_func_gethrtime=${ac_cv_func_gethrtime=no}
++ac_cv_func_getopt=${ac_cv_func_getopt=yes}
++ac_cv_func_gettimeofday=${ac_cv_func_gettimeofday=yes}
++ac_cv_header_alloca_h=${ac_cv_header_alloca_h=yes}
++ac_cv_header_getopt_h=${ac_cv_header_getopt_h=yes}
++ac_cv_header_malloc_h=${ac_cv_header_malloc_h=yes}
++ac_cv_header_stdc=${ac_cv_header_stdc=yes}
++ac_cv_header_sys_time_h=${ac_cv_header_sys_time_h=yes}
++ac_cv_header_time=${ac_cv_header_time=yes}
++ac_cv_header_unistd_h=${ac_cv_header_unistd_h=yes}
++ac_cv_lib_m_sqrt=${ac_cv_lib_m_sqrt=yes}
++ac_cv_path_LD=${ac_cv_path_LD=/usr/bin/ld}
++ac_cv_path_NM=${ac_cv_path_NM='/usr/bin/nm -B'}
++ac_cv_path_install=${ac_cv_path_install='/usr/bin/install -c'}
++ac_cv_prog_CC=${ac_cv_prog_CC=cc}
++ac_cv_prog_CPP=${ac_cv_prog_CPP='cc -E'}
++ac_cv_prog_LN_S=${ac_cv_prog_LN_S='ln -s'}
++ac_cv_prog_PERL=${ac_cv_prog_PERL=perl}
++ac_cv_prog_RANLIB=${ac_cv_prog_RANLIB=ranlib}
++ac_cv_prog_cc_cross=${ac_cv_prog_cc_cross=no}
++ac_cv_prog_cc_g=${ac_cv_prog_cc_g=yes}
++ac_cv_prog_cc_works=${ac_cv_prog_cc_works=yes}
++ac_cv_prog_gcc=${ac_cv_prog_gcc=yes}
++ac_cv_prog_gnu_ld=${ac_cv_prog_gnu_ld=yes}
++ac_cv_prog_make_make_set=${ac_cv_prog_make_make_set=yes}
++ac_cv_type_size_t=${ac_cv_type_size_t=yes}
++acx_cv_prog_egcs=${acx_cv_prog_egcs=no}
diff --cc config.log
index 0000000,0000000..116ea72
new file mode 100644
--- /dev/null
+++ b/config.log
@@@ -1,0 -1,0 +1,52 @@@
++This file contains any messages produced by compilers while
++running configure, to aid debugging if configure makes a mistake.
++
++configure:574: checking for a BSD compatible install
++configure:627: checking whether build environment is sane
++configure:684: checking whether make sets ${MAKE}
++configure:730: checking for working aclocal
++configure:743: checking for working autoconf
++configure:756: checking for working automake
++configure:769: checking for working autoheader
++configure:782: checking for working makeinfo
++configure:913: checking for vendor's cc to be used instead of gcc
++configure:917: checking for cc
++configure:946: checking for gcc
++configure:1023: checking whether the C compiler (cc  ) works
++configure:1037: cc -o conftest    conftest.c  1>&5
++configure:1057: checking whether the C compiler (cc  ) is a cross-compiler
++configure:1062: checking whether we are using GNU C
++configure:1086: checking whether cc accepts -g
++configure:1114: checking whether we are using the egcs variant of GCC
++configure:1144: checking for a BSD compatible install
++configure:1194: checking whether make sets ${MAKE}
++configure:1223: checking for ranlib
++configure:1250: checking whether ln -s works
++configure:1300: checking host system type
++configure:1333: checking for ld used by GCC
++configure:1390: checking if the linker (/usr/bin/ld) is GNU ld
++configure:1406: checking for BSD-compatible nm
++configure:1491: checking for perl
++configure:1574: checking whether cc accepts -malign-double
++configure:1608: checking whether cc accepts -O6 -fomit-frame-pointer -Wall -W -Wcast-qual -Wpointer-arith -Wcast-align -pedantic -malign-double
++configure:1635: checking whether cc accepts -mcpu=pentium
++configure:1656: checking whether cc accepts -mpentium
++configure:1796: checking for sqrt in -lm
++configure:1844: checking how to run the C preprocessor
++configure:1905: checking for ANSI C header files
++configure:2012: checking for sys/time.h
++configure:2012: checking for unistd.h
++configure:2012: checking for getopt.h
++configure:2012: checking for malloc.h
++configure:2050: checking for working const
++configure:2125: checking for size_t
++configure:2158: checking whether time.h and sys/time.h may both be included
++configure:2210: checking for working alloca.h
++configure:2243: checking for alloca
++configure:2439: checking for gettimeofday
++configure:2494: checking for BSDgettimeofday
++configure:2549: checking for gethrtime
++configure:2604: checking for getopt
++configure:2666: cc -o conftest -O6 -fomit-frame-pointer -Wall -W -Wcast-qual -Wpointer-arith -Wcast-align -pedantic -malign-double    conftest.c -lm  1>&5
++configure:2681: checking whether cc accepts -fkeep-programmers-inline
++configure:2696: checking whether cc accepts -vomit-frame-pointer
diff --cc config.status
index 0000000,0000000..ee287cc
new file mode 100644
--- /dev/null
+++ b/config.status
@@@ -1,0 -1,0 +1,323 @@@
++#! /bin/sh
++# Generated automatically by configure.
++# Run this file to recreate the current configuration.
++# This directory was configured as follows,
++# on host landru:
++#
++# ./configure  --prefix=/usr --enable-i386-hacks
++#
++# Compiler output produced by configure, useful for debugging
++# configure, is in ./config.log if it exists.
++
++ac_cs_usage="Usage: ./config.status [--recheck] [--version] [--help]"
++for ac_option
++do
++  case "$ac_option" in
++  -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
++    echo "running ${CONFIG_SHELL-/bin/sh} ./configure  --prefix=/usr --enable-i386-hacks --no-create --no-recursion"
++    exec ${CONFIG_SHELL-/bin/sh} ./configure  --prefix=/usr --enable-i386-hacks --no-create --no-recursion ;;
++  -version | --version | --versio | --versi | --vers | --ver | --ve | --v)
++    echo "./config.status generated by autoconf version 2.12"
++    exit 0 ;;
++  -help | --help | --hel | --he | --h)
++    echo "$ac_cs_usage"; exit 0 ;;
++  *) echo "$ac_cs_usage"; exit 1 ;;
++  esac
++done
++
++ac_given_srcdir=.
++ac_given_INSTALL="/usr/bin/install -c"
++
++trap 'rm -fr fftw/Makefile tests/Makefile rfftw/Makefile doc/Makefile Makefile fftw/config.h fftw/fftw.h conftest*; exit 1' 1 2 15
++
++# Protect against being on the right side of a sed subst in config.status.
++sed 's/%@/@@/; s/@%/@@/; s/%g$/@g/; /@g$/s/[\\&%]/\\&/g;
++ s/@@/%@/; s/@@/@%/; s/@g$/%g/' > conftest.subs <<\CEOF
++/^[ 	]*VPATH[ 	]*=[^:]*$/d
++
++s%@CFLAGS@%-O6 -fomit-frame-pointer -Wall -W -Wcast-qual -Wpointer-arith -Wcast-align -pedantic -malign-double %g
++s%@CPPFLAGS@%%g
++s%@CXXFLAGS@%%g
++s%@DEFS@%-DHAVE_CONFIG_H%g
++s%@LDFLAGS@%%g
++s%@LIBS@%-lm %g
++s%@exec_prefix@%${prefix}%g
++s%@prefix@%/usr%g
++s%@program_transform_name@%s,x,x,%g
++s%@bindir@%${exec_prefix}/bin%g
++s%@sbindir@%${exec_prefix}/sbin%g
++s%@libexecdir@%${exec_prefix}/libexec%g
++s%@datadir@%${prefix}/share%g
++s%@sysconfdir@%${prefix}/etc%g
++s%@sharedstatedir@%${prefix}/com%g
++s%@localstatedir@%${prefix}/var%g
++s%@libdir@%${exec_prefix}/lib%g
++s%@includedir@%${prefix}/include%g
++s%@oldincludedir@%/usr/include%g
++s%@infodir@%${prefix}/info%g
++s%@mandir@%${prefix}/man%g
++s%@INSTALL_PROGRAM@%${INSTALL}%g
++s%@INSTALL_DATA@%${INSTALL} -m 644%g
++s%@INSTALL_SCRIPT@%${INSTALL_PROGRAM}%g
++s%@PACKAGE@%fftw%g
++s%@VERSION@%2.0.1%g
++s%@ACLOCAL@%aclocal%g
++s%@AUTOCONF@%autoconf%g
++s%@AUTOMAKE@%automake%g
++s%@AUTOHEADER@%autoheader%g
++s%@MAKEINFO@%makeinfo%g
++s%@SET_MAKE@%%g
++s%@CC@%cc%g
++s%@RANLIB@%ranlib%g
++s%@LN_S@%ln -s%g
++s%@host@%i586-pc-linux-gnu%g
++s%@host_alias@%i586-pc-linux-gnu%g
++s%@host_cpu@%i586%g
++s%@host_vendor@%pc%g
++s%@host_os@%linux-gnu%g
++s%@LD@%/usr/bin/ld%g
++s%@NM@%/usr/bin/nm -B%g
++s%@LIBTOOL@%$(SHELL) $(top_builddir)/libtool%g
++s%@PERL@%perl%g
++s%@SHARED_VERSION_INFO@%2:1:0%g
++s%@CPP@%cc -E%g
++s%@ALLOCA@%%g
++
++CEOF
++
++# Split the substitutions into bite-sized pieces for seds with
++# small command number limits, like on Digital OSF/1 and HP-UX.
++ac_max_sed_cmds=90 # Maximum number of lines to put in a sed script.
++ac_file=1 # Number of current file.
++ac_beg=1 # First line for current file.
++ac_end=$ac_max_sed_cmds # Line after last line for current file.
++ac_more_lines=:
++ac_sed_cmds=""
++while $ac_more_lines; do
++  if test $ac_beg -gt 1; then
++    sed "1,${ac_beg}d; ${ac_end}q" conftest.subs > conftest.s$ac_file
++  else
++    sed "${ac_end}q" conftest.subs > conftest.s$ac_file
++  fi
++  if test ! -s conftest.s$ac_file; then
++    ac_more_lines=false
++    rm -f conftest.s$ac_file
++  else
++    if test -z "$ac_sed_cmds"; then
++      ac_sed_cmds="sed -f conftest.s$ac_file"
++    else
++      ac_sed_cmds="$ac_sed_cmds | sed -f conftest.s$ac_file"
++    fi
++    ac_file=`expr $ac_file + 1`
++    ac_beg=$ac_end
++    ac_end=`expr $ac_end + $ac_max_sed_cmds`
++  fi
++done
++if test -z "$ac_sed_cmds"; then
++  ac_sed_cmds=cat
++fi
++
++CONFIG_FILES=${CONFIG_FILES-"fftw/Makefile tests/Makefile rfftw/Makefile doc/Makefile Makefile"}
++for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then
++  # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
++  case "$ac_file" in
++  *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'`
++       ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
++  *) ac_file_in="${ac_file}.in" ;;
++  esac
++
++  # Adjust a relative srcdir, top_srcdir, and INSTALL for subdirectories.
++
++  # Remove last slash and all that follows it.  Not all systems have dirname.
++  ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'`
++  if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
++    # The file is in a subdirectory.
++    test ! -d "$ac_dir" && mkdir "$ac_dir"
++    ac_dir_suffix="/`echo $ac_dir|sed 's%^\./%%'`"
++    # A "../" for each directory in $ac_dir_suffix.
++    ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'`
++  else
++    ac_dir_suffix= ac_dots=
++  fi
++
++  case "$ac_given_srcdir" in
++  .)  srcdir=.
++      if test -z "$ac_dots"; then top_srcdir=.
++      else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;;
++  /*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;;
++  *) # Relative path.
++    srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix"
++    top_srcdir="$ac_dots$ac_given_srcdir" ;;
++  esac
++
++  case "$ac_given_INSTALL" in
++  [/$]*) INSTALL="$ac_given_INSTALL" ;;
++  *) INSTALL="$ac_dots$ac_given_INSTALL" ;;
++  esac
++
++  echo creating "$ac_file"
++  rm -f "$ac_file"
++  configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure."
++  case "$ac_file" in
++  *Makefile*) ac_comsub="1i\\
++# $configure_input" ;;
++  *) ac_comsub= ;;
++  esac
++
++  ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"`
++  sed -e "$ac_comsub
++s%@configure_input@%$configure_input%g
++s%@srcdir@%$srcdir%g
++s%@top_srcdir@%$top_srcdir%g
++s%@INSTALL@%$INSTALL%g
++" $ac_file_inputs | (eval "$ac_sed_cmds") > $ac_file
++fi; done
++rm -f conftest.s*
++
++# These sed commands are passed to sed as "A NAME B NAME C VALUE D", where
++# NAME is the cpp macro being defined and VALUE is the value it is being given.
++#
++# ac_d sets the value in "#define NAME VALUE" lines.
++ac_dA='s%^\([ 	]*\)#\([ 	]*define[ 	][ 	]*\)'
++ac_dB='\([ 	][ 	]*\)[^ 	]*%\1#\2'
++ac_dC='\3'
++ac_dD='%g'
++# ac_u turns "#undef NAME" with trailing blanks into "#define NAME VALUE".
++ac_uA='s%^\([ 	]*\)#\([ 	]*\)undef\([ 	][ 	]*\)'
++ac_uB='\([ 	]\)%\1#\2define\3'
++ac_uC=' '
++ac_uD='\4%g'
++# ac_e turns "#undef NAME" without trailing blanks into "#define NAME VALUE".
++ac_eA='s%^\([ 	]*\)#\([ 	]*\)undef\([ 	][ 	]*\)'
++ac_eB='$%\1#\2define\3'
++ac_eC=' '
++ac_eD='%g'
++
++if test "${CONFIG_HEADERS+set}" != set; then
++  CONFIG_HEADERS="fftw/config.h fftw/fftw.h"
++fi
++for ac_file in .. $CONFIG_HEADERS; do if test "x$ac_file" != x..; then
++  # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
++  case "$ac_file" in
++  *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'`
++       ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
++  *) ac_file_in="${ac_file}.in" ;;
++  esac
++
++  echo creating $ac_file
++
++  rm -f conftest.frag conftest.in conftest.out
++  ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"`
++  cat $ac_file_inputs > conftest.in
++
++  cat > conftest.frag <<CEOF
++${ac_dA}PACKAGE${ac_dB}PACKAGE${ac_dC}"fftw"${ac_dD}
++${ac_uA}PACKAGE${ac_uB}PACKAGE${ac_uC}"fftw"${ac_uD}
++${ac_eA}PACKAGE${ac_eB}PACKAGE${ac_eC}"fftw"${ac_eD}
++${ac_dA}VERSION${ac_dB}VERSION${ac_dC}"2.0.1"${ac_dD}
++${ac_uA}VERSION${ac_uB}VERSION${ac_uC}"2.0.1"${ac_uD}
++${ac_eA}VERSION${ac_eB}VERSION${ac_eC}"2.0.1"${ac_eD}
++${ac_dA}FFTW_ENABLE_I386_HACKS${ac_dB}FFTW_ENABLE_I386_HACKS${ac_dC}1${ac_dD}
++${ac_uA}FFTW_ENABLE_I386_HACKS${ac_uB}FFTW_ENABLE_I386_HACKS${ac_uC}1${ac_uD}
++${ac_eA}FFTW_ENABLE_I386_HACKS${ac_eB}FFTW_ENABLE_I386_HACKS${ac_eC}1${ac_eD}
++${ac_dA}FFTW_VERSION${ac_dB}FFTW_VERSION${ac_dC}"2.0.1"${ac_dD}
++${ac_uA}FFTW_VERSION${ac_uB}FFTW_VERSION${ac_uC}"2.0.1"${ac_uD}
++${ac_eA}FFTW_VERSION${ac_eB}FFTW_VERSION${ac_eC}"2.0.1"${ac_eD}
++CEOF
++  sed -f conftest.frag conftest.in > conftest.out
++  rm -f conftest.in
++  mv conftest.out conftest.in
++
++  cat > conftest.frag <<CEOF
++${ac_dA}HAVE_LIBM${ac_dB}HAVE_LIBM${ac_dC}1${ac_dD}
++${ac_uA}HAVE_LIBM${ac_uB}HAVE_LIBM${ac_uC}1${ac_uD}
++${ac_eA}HAVE_LIBM${ac_eB}HAVE_LIBM${ac_eC}1${ac_eD}
++${ac_dA}STDC_HEADERS${ac_dB}STDC_HEADERS${ac_dC}1${ac_dD}
++${ac_uA}STDC_HEADERS${ac_uB}STDC_HEADERS${ac_uC}1${ac_uD}
++${ac_eA}STDC_HEADERS${ac_eB}STDC_HEADERS${ac_eC}1${ac_eD}
++${ac_dA}HAVE_SYS_TIME_H${ac_dB}HAVE_SYS_TIME_H${ac_dC}1${ac_dD}
++${ac_uA}HAVE_SYS_TIME_H${ac_uB}HAVE_SYS_TIME_H${ac_uC}1${ac_uD}
++${ac_eA}HAVE_SYS_TIME_H${ac_eB}HAVE_SYS_TIME_H${ac_eC}1${ac_eD}
++${ac_dA}HAVE_UNISTD_H${ac_dB}HAVE_UNISTD_H${ac_dC}1${ac_dD}
++${ac_uA}HAVE_UNISTD_H${ac_uB}HAVE_UNISTD_H${ac_uC}1${ac_uD}
++${ac_eA}HAVE_UNISTD_H${ac_eB}HAVE_UNISTD_H${ac_eC}1${ac_eD}
++CEOF
++  sed -f conftest.frag conftest.in > conftest.out
++  rm -f conftest.in
++  mv conftest.out conftest.in
++
++  cat > conftest.frag <<CEOF
++${ac_dA}HAVE_GETOPT_H${ac_dB}HAVE_GETOPT_H${ac_dC}1${ac_dD}
++${ac_uA}HAVE_GETOPT_H${ac_uB}HAVE_GETOPT_H${ac_uC}1${ac_uD}
++${ac_eA}HAVE_GETOPT_H${ac_eB}HAVE_GETOPT_H${ac_eC}1${ac_eD}
++${ac_dA}HAVE_MALLOC_H${ac_dB}HAVE_MALLOC_H${ac_dC}1${ac_dD}
++${ac_uA}HAVE_MALLOC_H${ac_uB}HAVE_MALLOC_H${ac_uC}1${ac_uD}
++${ac_eA}HAVE_MALLOC_H${ac_eB}HAVE_MALLOC_H${ac_eC}1${ac_eD}
++${ac_dA}TIME_WITH_SYS_TIME${ac_dB}TIME_WITH_SYS_TIME${ac_dC}1${ac_dD}
++${ac_uA}TIME_WITH_SYS_TIME${ac_uB}TIME_WITH_SYS_TIME${ac_uC}1${ac_uD}
++${ac_eA}TIME_WITH_SYS_TIME${ac_eB}TIME_WITH_SYS_TIME${ac_eC}1${ac_eD}
++${ac_dA}HAVE_ALLOCA_H${ac_dB}HAVE_ALLOCA_H${ac_dC}1${ac_dD}
++${ac_uA}HAVE_ALLOCA_H${ac_uB}HAVE_ALLOCA_H${ac_uC}1${ac_uD}
++${ac_eA}HAVE_ALLOCA_H${ac_eB}HAVE_ALLOCA_H${ac_eC}1${ac_eD}
++CEOF
++  sed -f conftest.frag conftest.in > conftest.out
++  rm -f conftest.in
++  mv conftest.out conftest.in
++
++  cat > conftest.frag <<CEOF
++${ac_dA}HAVE_ALLOCA${ac_dB}HAVE_ALLOCA${ac_dC}1${ac_dD}
++${ac_uA}HAVE_ALLOCA${ac_uB}HAVE_ALLOCA${ac_uC}1${ac_uD}
++${ac_eA}HAVE_ALLOCA${ac_eB}HAVE_ALLOCA${ac_eC}1${ac_eD}
++${ac_dA}HAVE_GETTIMEOFDAY${ac_dB}HAVE_GETTIMEOFDAY${ac_dC}1${ac_dD}
++${ac_uA}HAVE_GETTIMEOFDAY${ac_uB}HAVE_GETTIMEOFDAY${ac_uC}1${ac_uD}
++${ac_eA}HAVE_GETTIMEOFDAY${ac_eB}HAVE_GETTIMEOFDAY${ac_eC}1${ac_eD}
++${ac_dA}HAVE_GETOPT${ac_dB}HAVE_GETOPT${ac_dC}1${ac_dD}
++${ac_uA}HAVE_GETOPT${ac_uB}HAVE_GETOPT${ac_uC}1${ac_uD}
++${ac_eA}HAVE_GETOPT${ac_eB}HAVE_GETOPT${ac_eC}1${ac_eD}
++${ac_dA}HAVE_ISNAN${ac_dB}HAVE_ISNAN${ac_dC}1${ac_dD}
++${ac_uA}HAVE_ISNAN${ac_uB}HAVE_ISNAN${ac_uC}1${ac_uD}
++${ac_eA}HAVE_ISNAN${ac_eB}HAVE_ISNAN${ac_eC}1${ac_eD}
++CEOF
++  sed -f conftest.frag conftest.in > conftest.out
++  rm -f conftest.in
++  mv conftest.out conftest.in
++
++  cat > conftest.frag <<CEOF
++s%^[ 	]*#[ 	]*undef[ 	][ 	]*[a-zA-Z_][a-zA-Z_0-9]*%/* & */%
++CEOF
++  sed -f conftest.frag conftest.in > conftest.out
++  rm -f conftest.in
++  mv conftest.out conftest.in
++
++  rm -f conftest.frag conftest.h
++  echo "/* $ac_file.  Generated automatically by configure.  */" > conftest.h
++  cat conftest.in >> conftest.h
++  rm -f conftest.in
++  if cmp -s $ac_file conftest.h 2>/dev/null; then
++    echo "$ac_file is unchanged"
++    rm -f conftest.h
++  else
++    # Remove last slash and all that follows it.  Not all systems have dirname.
++      ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'`
++      if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
++      # The file is in a subdirectory.
++      test ! -d "$ac_dir" && mkdir "$ac_dir"
++    fi
++    rm -f $ac_file
++    mv conftest.h $ac_file
++  fi
++fi; done
++
++
++
++am_indx=1
++for am_file in fftw/config.h fftw/fftw.h; do
++  case " $CONFIG_HEADERS " in
++  *" $am_file "*)
++    echo timestamp > `echo $am_file | sed -e 's%:.*%%' -e 's%[^/]*$%%'`stamp-h$am_indx
++    ;;
++  esac
++  am_indx=`expr "$am_indx" + 1`
++done
++
++exit 0
diff --cc debian/README.debian
index 1409528,0000000..603fee6
mode 100644,000000..100644
--- a/debian/README.debian
+++ b/debian/README.debian
@@@ -1,8 -1,0 +1,10 @@@
 +fftw for DEBIAN
 +----------------------
 +
- If anyone is interested in a threaded version of fftw, send me
- mail and I will create fftw1-t-dev, which would include a threaded
- static library. It would conflict with fftw1-dev.
++The libraries of fftw in Debian are heavily optimized and not
++threaded. There is code in the source for creating a threaded
++version. If anyone is interested in a threaded version of fftw,
++send me mail and I will create a separate package containing
++threadsafe libraries.
 +
- James A. Treacy <treacy at debian.org>, Fri, 12 Feb 1998 21:42:20 -0500
++James A. Treacy <treacy at debian.org>, Fri, 11 Sep 1998 21:42:20 -0500
diff --cc debian/changelog
index d94fcea,0000000..31db851
mode 100644,000000..100644
--- a/debian/changelog
+++ b/debian/changelog
@@@ -1,28 -1,0 +1,53 @@@
++fftw (2.0.1-1) unstable; urgency=low
++
++  * New Upstream version.
++
++ -- James A. Treacy <treacy at debian.org>  Thu,  1 Oct 1998 13:10:51 -0400
++
++fftw (2.0-1) unstable; urgency=low
++
++  * New Upstream version.
++
++ -- James A. Treacy <treacy at debian.org>  Fri, 11 Sep 1998 16:00:00 -0400
++
++fftw (1.3-2) unstable; urgency=low
++
++  * missing .gif files added to documentation. Fixes bug #22304
++
++ -- James A. Treacy <treacy at debian.org>  Sun, 24 May 1998 00:03:36 -0400
++
++fftw (1.3-1) unstable; urgency=low
++
++  * new upstream version
++  * released under the GPL
++
++ -- James A. Treacy <treacy at debian.org>  Fri, 17 Apr 1998 03:09:51 -0400
++
 +fftw (1.2.1-4) unstable; urgency=low
 +
 +  * made -dev package depend on specific version of fftw1
 +
 + -- James A. Treacy <treacy at debian.org>  Mon, 16 Feb 1998 23:15:16 -0500
 +
 +fftw (1.2.1-3) unstable; urgency=low
 +
 +  * Got rid of lintian bugs.
 +
 + -- James A. Treacy <treacy at debian.org>  Thu, 12 Feb 1998 15:03:14 -0500
 +
 +fftw (1.2.1-2) unstable; urgency=low
 +
 +  * Added missing copyright file
 +
 + -- James A. Treacy <treacy at debian.org>  Mon,  2 Feb 1998 15:34:33 -0500
 +
 +fftw (1.2.1-1) unstable; urgency=low
 +
 +  * Initial Release.
 +
 + -- James A. Treacy <treacy at debian.org>  Fri,  9 Jan 1998 11:42:20 -0500
 +
 +Local variables:
 +mode: debian-changelog
 +add-log-mailing-address: "treacy at debian.org"
 +End:
diff --cc debian/control
index daaf47b,0000000..1a39c7e
mode 100644,000000..100644
--- a/debian/control
+++ b/debian/control
@@@ -1,24 -1,0 +1,26 @@@
 +Source: fftw
- Section: non-free/devel
++Section: math
 +Priority: optional
 +Maintainer: James A. Treacy <treacy at debian.org>
- Standards-Version: 2.3.0.1
++Standards-Version: 2.4.0.0
 +
- Package: fftw1
++Package: fftw2
 +Architecture: any
 +Depends: ${shlibs:Depends}
- Suggests: fftw1-dev
- Conflicts: fftw1-shared, fftw1-static
- Description: docs for fftw
-  This library computes FFTs in one or more dimensions. It
-  is extremely fast.  This is the base package for fftw.
-  It contains the docs and the shared version of the fftw
-  libraries. To get the static library you need to install fftw1-dev.
++Suggests: fftw-dev
++Description: library for computing Fast Fourier Transforms
++ This library computes Fast Fourier Transforms (FFT) in one
++ or more dimensions. It is extremely fast. This package
++ contains the documentation and the shared version of the fftw
++ libraries. To get the static library and the header files you
++ need to install fftw1-dev.
 +
- Package: fftw1-dev
++Package: fftw-dev
 +Architecture: any
- Depends: fftw1 (= ${Source-Version}), ${shlibs:Depends}
- Description: library for computing fast fourier transforms
++Depends: fftw2 (= ${Source-Version}), ${shlibs:Depends}
++Conflicts: fftw1-dev
++Description: library for computing Fast Fourier Transforms
 + This library computes FFTs in one or more dimensions. It
-  is extremely fast.
++ is extremely fast. This package contains the statically
++ linked library and the header files.
 +
diff --cc debian/copyright
index 9c0439a,0000000..ee35446
mode 100644,000000..100644
--- a/debian/copyright
+++ b/debian/copyright
@@@ -1,37 -1,0 +1,29 @@@
 +This package was debianized by James A. Treacy treacy at debian.org on
- Fri,  9 Jan 1998 11:42:20 -0500.
++Wed, 30 Sep 1998 03:09:51 -0400.
 +
- It was downloaded from ftp://theory.lcs.mit.edu/pub/fftw/fftw-1.2.1.tar.gz
++It was downloaded from ftp://theory.lcs.mit.edu/pub/fftw/fftw-2.0.1.tar.gz
 +
 +The homepage for fftw is at http://theory.lcs.mit.edu/~fftw/
 +
 +Copyright:
 +
 +/*
-  * Copyright (c) 1997 Massachusetts Institute of Technology
++ * Copyright (c) 1997,1998 Massachusetts Institute of Technology
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License as published by
++ * the Free Software Foundation; either version 2 of the License, or
++ * (at your option) any later version.
++ *
++ * This program is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++ * GNU General Public License for more details.
++ *
++ * You should have received a copy of the GNU General Public License
++ * along with this program; if not, write to the Free Software
++ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 + *
-  * Permission is hereby granted, free of charge, to any person obtaining
-  * a copy of this software and associated documentation files (the
-  * "Software"), to use, copy, modify, and distribute the Software without
-  * restriction, provided the Software, including any modified copies made
-  * under this license, is not distributed for a fee, subject to
-  * the following conditions:
-  * 
-  * The above copyright notice and this permission notice shall be
-  * included in all copies or substantial portions of the Software.
-  * 
-  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-  * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-  * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-  * IN NO EVENT SHALL THE MASSACHUSETTS INSTITUTE OF TECHNOLOGY BE LIABLE
-  * FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
-  * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-  * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-  * 
-  * Except as contained in this notice, the name of the Massachusetts
-  * Institute of Technology shall not be used in advertising or otherwise
-  * to promote the sale, use or other dealings in this Software without
-  * prior written authorization from the Massachusetts Institute of
-  * Technology.
-  *  
 + */
++
++A copy of the GPL can be found in /usr/doc/copyright/GPL
diff --cc debian/postinst
index 0000000,0000000..e40ca97
new file mode 100644
--- /dev/null
+++ b/debian/postinst
@@@ -1,0 -1,0 +1,9 @@@
++#!/bin/sh
++
++set -e
++
++if [ "$1" = "configure" ]; then
++  ldconfig
++fi
++
++exit
diff --cc debian/rules
index 5b0debb,0000000..2eb97b0
mode 100755,000000..100755
--- a/debian/rules
+++ b/debian/rules
@@@ -1,99 -1,0 +1,117 @@@
 +#!/usr/bin/make -f
 +# Made with the aid of debmake, by Christoph Lameter,
 +# based on the sample debian/rules file for GNU hello by Ian Jackson.
 +
 +package=fftw
 +lib=libfftw
 +
++version=2.0.1
++version_major=$(shell expr `pwd` : '.*-\([0-9]*\).[0-9.]*')
++ARCHITECTURE=$(shell dpkg --print-architecture)
 +INSTALL_DIR = install -m755 -o root -g root -d
 +INSTALL_DATA = install -m644 -o root -g root
 +INSTALL_LIB = install -m644 -o root -g root
 +INSTALL_BIN = install -m755 -o root -g root
 +
- 
- version=$(shell expr `pwd` : '.*-\([0-9.]*\)')
- version_major=$(shell expr `pwd` : '.*-\([0-9]*\).[0-9.]*')
- 
 +build:
 +	$(checkdir)
++	-mkdir shared static
 +
- 	-mkdir lib.shared lib.static
 +	#
- 	# First build the static library
++	# First build the shared library
 +	#
- 	cd src ; \
- 		$(MAKE) CFLAGS="-pipe -pedantic -ansi -O6 -fomit-frame-pointer -Wall -I." ; \
- 		mv *.o lib*.a ../lib.static
++ifeq ($(ARCHITECTURE), i386)
++	./configure --prefix=/usr --enable-shared --enable-i386-hacks
++else
++	./configure --prefix=/usr --enable-shared
++endif
++	$(MAKE)
++	mv fftw/.libs/libfftw.so.$(version) rfftw/.libs/librfftw.so.$(version) shared
++
 +	#
- 	# Build the shared library
++	# Build the static library
 +	#
- 	cd src ; \
- 		$(MAKE) CFLAGS="-fPIC -pedantic -ansi -O6 -fomit-frame-pointer -Wall -I." \
- 			LDFLAGS="-s" ; \
- 		gcc -shared -Wl,-soname,$(lib).so.$(version_major) -o $(lib).so.$(version) -lc *.o ; \
- 		mv *.o lib* ../lib.shared
++ifeq ($(ARCHITECTURE), i386)
++	./configure --prefix=/usr --enable-i386-hacks
++else
++	./configure --prefix=/usr
++endif
++	$(MAKE) clean ; $(MAKE) ; mv fftw/.libs/libfftw.a rfftw/.libs/librfftw.a static
++
++	cd doc ; $(MAKE) html
 +	touch build
 +
 +clean:
 +	$(checkdir)
- 	-rm -rf lib.static lib.shared
++	-rm -rf  fftw/*.o  fftw/*.lo  fftw/.libs
++	-rm -rf rfftw/*.o rfftw/*.lo rfftw/.libs
++	-rm -rf tests/*.o tests/.libs tests/fftw_test tests/rfftw_test
++	-rm -rf static shared
 +	-rm -f build
- 	-make clean
 +	-rm -f `find . -name "*~"`
 +	-rm -rf debian/tmp `find debian/* -type d ! -name CVS` debian/files* core
 +	-rm -f debian/*substvars
 +
 +binary-indep: checkroot build
 +	$(checkdir)
++# There are no architecture-independent files to be uploaded
++# generated by this package.  If there were any they would be
++# made here.
 +
 +binary-arch: checkroot build
 +	$(checkdir)
- 	rm -rf debian/tmp
++	-rm -rf debian/tmp `find debian/* -type d`
 +	$(INSTALL_DIR) debian/tmp
- 	$(INSTALL_DIR) debian/tmp/DEBIAN debian/tmp/usr/lib
- 	cd debian/tmp ; $(INSTALL_DIR) DEBIAN usr/doc/fftw1/html
- 	$(INSTALL_DATA) README README.hacks TODO debian/tmp/usr/doc/fftw1 
- 	$(INSTALL_DATA) COPYRIGHT debian/tmp/usr/doc/fftw1/copyright
- 	$(INSTALL_DATA) RELEASE-NOTES debian/tmp/usr/doc/fftw1/changelog
- 	$(INSTALL_DATA) debian/changelog debian/tmp/usr/doc/fftw1/changelog.Debian
- 	gzip -9 debian/tmp/usr/doc/fftw1/changelog*
- 	$(INSTALL_DATA) debian/README.debian debian/tmp/usr/doc/fftw1
- 	$(INSTALL_DATA) doc/*.html debian/tmp/usr/doc/fftw1/html
- 	$(INSTALL_DIR) debian/tmp/usr/doc/fftw1/FAQ
- 	$(INSTALL_DATA) FAQ/fftw-faq.html/* debian/tmp/usr/doc/fftw1/FAQ
- 	$(INSTALL_DIR) debian/tmp/usr/doc/fftw1/tests
- 	$(INSTALL_DATA) tests/* debian/tmp/usr/doc/fftw1/tests
- 	gzip -9 debian/tmp/usr/doc/fftw1/tests/*
- #
++	cd debian/tmp ; $(INSTALL_DIR) DEBIAN usr/lib usr/doc/fftw${version_major}/html
++	$(INSTALL_DATA) README README.hacks TODO debian/tmp/usr/doc/fftw${version_major}
++	$(INSTALL_DATA) debian/copyright debian/tmp/usr/doc/fftw${version_major}
++	$(INSTALL_DATA) ChangeLog debian/tmp/usr/doc/fftw${version_major}/changelog
++	$(INSTALL_DATA) NEWS debian/tmp/usr/doc/fftw${version_major}
++	$(INSTALL_DATA) debian/changelog debian/tmp/usr/doc/fftw${version_major}/changelog.Debian
++	gzip -9 debian/tmp/usr/doc/fftw${version_major}/changelog*
++	$(INSTALL_DATA) debian/README.debian debian/tmp/usr/doc/fftw${version_major}
++	$(INSTALL_DATA) doc/*.html doc/*.gif debian/tmp/usr/doc/fftw${version_major}/html
++	$(INSTALL_DIR) debian/tmp/usr/doc/fftw${version_major}/FAQ
++	$(INSTALL_DATA) FAQ/fftw-faq.html/* debian/tmp/usr/doc/fftw${version_major}/FAQ
++
 +	$(INSTALL_DATA) debian/shlibs debian/tmp/DEBIAN
- 	strip --strip-unneeded lib.shared/$(lib).so.$(version)
- 	$(INSTALL_LIB) lib.shared/$(lib).so.$(version) debian/tmp/usr/lib
- 	ln -s $(lib).so.$(version) debian/tmp/usr/lib/$(lib).so.$(version_major)
- #
- 	dpkg-shlibdeps lib.shared/$(lib).so.$(version)
- 	dpkg-gencontrol -isp -pfftw1 -Pdebian/tmp
++	$(INSTALL_BIN) debian/postinst debian/tmp/DEBIAN
++	strip --strip-unneeded shared/libfftw.so.$(version) shared/librfftw.so.$(version)
++	$(INSTALL_LIB) shared/libfftw.so.$(version) debian/tmp/usr/lib
++	$(INSTALL_LIB) shared/librfftw.so.$(version) debian/tmp/usr/lib
++	ln -s libfftw.so.$(version) debian/tmp/usr/lib/libfftw.so.$(version_major)
++	ln -s librfftw.so.$(version) debian/tmp/usr/lib/librfftw.so.$(version_major)
++	$(INSTALL_DIR) debian/tmp/usr/doc/fftw${version_major}/tests
++	$(INSTALL_DATA) tests/*.c tests/README debian/tmp/usr/doc/fftw${version_major}/tests
++	$(INSTALL_DATA) tests/Makefile.package debian/tmp/usr/doc/fftw${version_major}/tests/Makefile
++	$(INSTALL_DATA) fftw/fftw-int.h tests/test_main.h debian/tmp/usr/doc/fftw${version_major}/tests
++	gzip -9 debian/tmp/usr/doc/fftw${version_major}/tests/*
++
++	dpkg-shlibdeps shared/$(lib).so.$(version)
++	dpkg-gencontrol -isp -pfftw${version_major} -Pdebian/tmp
 +	dpkg --build debian/tmp ..
 +#
 +	-rm -rf debian/tmp-dev
 +	$(INSTALL_DIR) debian/tmp-dev
 +	( cd debian/tmp-dev && $(INSTALL_DIR) DEBIAN usr/lib usr/doc usr/include )
- 	ln -s fftw1 debian/tmp-dev/usr/doc/fftw1-dev
- 	strip --strip-debug lib.static/$(lib).a
- 	$(INSTALL_LIB) lib.static/$(lib).a debian/tmp-dev/usr/lib/
- 	ln -s $(lib).so.$(version_major) debian/tmp-dev/usr/lib/$(lib).so
- 	$(INSTALL_DATA) src/fftw.h debian/tmp-dev/usr/include
++	ln -s fftw${version_major} debian/tmp-dev/usr/doc/fftw-dev
++	strip --strip-debug static/libfftw.a static/librfftw.a
++	$(INSTALL_LIB) static/libfftw.a static/librfftw.a debian/tmp-dev/usr/lib/
++	ln -s libfftw.so.$(version_major) debian/tmp-dev/usr/lib/libfftw.so
++	ln -s librfftw.so.$(version_major) debian/tmp-dev/usr/lib/librfftw.so
++	$(INSTALL_DATA) fftw/fftw.h rfftw/rfftw.h debian/tmp-dev/usr/include
 +
- 	dpkg-gencontrol -isp -pfftw1-dev -Pdebian/tmp-dev
++	dpkg-gencontrol -isp -p${package}-dev -Pdebian/tmp-dev
 +	dpkg --build debian/tmp-dev ..
 +
 +define checkdir
 +	test -f debian/rules
 +endef
 +
 +binary: binary-indep binary-arch
 +
 +checkroot:
 +	$(checkdir)
 +	test root = "`whoami`"
 +
 +.PHONY: binary binary-arch binary-indep clean checkroot
diff --cc debian/shlibs
index bb4af7e,0000000..898dd6a
mode 100644,000000..100644
--- a/debian/shlibs
+++ b/debian/shlibs
@@@ -1,1 -1,0 +1,2 @@@
- libfftw	1	fftw1 (>= 1.2.1)
++libfftw	2	fftw2
++librfftw	2	fftw2
diff --cc doc/Makefile
index 6c25a9c,0000000..fe29c23
mode 100644,000000..100644
--- a/doc/Makefile
+++ b/doc/Makefile
@@@ -1,28 -1,0 +1,328 @@@
- # $Id: Makefile,v 1.9 1997/03/19 23:27:04 fftw Exp $
++# Generated automatically from Makefile.in by configure.
++# Makefile.in generated automatically by automake 1.3 from Makefile.am
 +
- DOC = fftw
- WWWDOC=$(HOME)/WWW/doc
++# Copyright (C) 1994, 1995, 1996, 1997, 1998 Free Software Foundation, Inc.
++# This Makefile.in is free software; the Free Software Foundation
++# gives unlimited permission to copy and/or distribute it,
++# with or without modifications, as long as this notice is preserved.
 +
- all:	html info dvi ps
++# This program is distributed in the hope that it will be useful,
++# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
++# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
++# PARTICULAR PURPOSE.
 +
- html:	$(DOC).texi
- 	perl texi2html -split_chapter -no_toc_href $(DOC).texi
 +
- info:	$(DOC).texi
- 	makeinfo $(DOC).texi
++SHELL = /bin/sh
 +
- dvi:	$(DOC).texi
- 	tex $(DOC).texi
- 	tex $(DOC).texi
++srcdir = .
++top_srcdir = ..
++prefix = /usr
++exec_prefix = ${prefix}
 +
- ps:	dvi
- 	dvips -o $(DOC).ps $(DOC).dvi
++bindir = ${exec_prefix}/bin
++sbindir = ${exec_prefix}/sbin
++libexecdir = ${exec_prefix}/libexec
++datadir = ${prefix}/share
++sysconfdir = ${prefix}/etc
++sharedstatedir = ${prefix}/com
++localstatedir = ${prefix}/var
++libdir = ${exec_prefix}/lib
++infodir = ${prefix}/info
++mandir = ${prefix}/man
++includedir = ${prefix}/include
++oldincludedir = /usr/include
 +
- install-html: html
- 	cp *.html *.gif $(WWWDOC)
++DISTDIR =
 +
- realclean: clean
- 	rm -f *.html *.info *.dvi *.ps
++pkgdatadir = $(datadir)/fftw
++pkglibdir = $(libdir)/fftw
++pkgincludedir = $(includedir)/fftw
 +
- clean:  
- 	rm -f *.aux *.cp *.fn *.ky *.log *.pg *~ *.toc *.tp *.vr
++top_builddir = ..
++
++ACLOCAL = aclocal
++AUTOCONF = autoconf
++AUTOMAKE = automake
++AUTOHEADER = autoheader
++
++INSTALL = /usr/bin/install -c
++INSTALL_PROGRAM = ${INSTALL}
++INSTALL_DATA = ${INSTALL} -m 644
++INSTALL_SCRIPT = ${INSTALL_PROGRAM}
++transform = s,x,x,
++
++NORMAL_INSTALL = :
++PRE_INSTALL = :
++POST_INSTALL = :
++NORMAL_UNINSTALL = :
++PRE_UNINSTALL = :
++POST_UNINSTALL = :
++host_alias = i586-pc-linux-gnu
++host_triplet = i586-pc-linux-gnu
++CC = cc
++LD = /usr/bin/ld
++LIBTOOL = $(SHELL) $(top_builddir)/libtool
++LN_S = ln -s
++MAKEINFO = makeinfo
++NM = /usr/bin/nm -B
++PACKAGE = fftw
++RANLIB = ranlib
++SHARED_VERSION_INFO = 2:1:0
++VERSION = 2.0.1
++
++info_TEXINFOS = fftw.texi
++
++fftw_TEXINFOS = fftw.texi version.texi
++
++HTML_FILES = equation-1.gif fftw_1.html fftw_4.html fftw_7.html \
++	fftw_foot.html equation-2.gif fftw_2.html fftw_5.html fftw_8.html \
++	fftw_toc.html equation-3.gif fftw_3.html fftw_6.html fftw_9.html \
++        fftw_10.html equation-4.gif
++
++EXTRA_DIST = fftw.ps $(HTML_FILES) texi2html
++PERL = perl
++mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
++CONFIG_HEADER = ../fftw/config.h ../fftw/fftw.h
++CONFIG_CLEAN_FILES = 
++TEXI2DVI = texi2dvi
++TEXINFO_TEX = $(srcdir)/texinfo.tex
++INFO_DEPS = fftw.info
++DVIS = fftw.dvi
++TEXINFOS = fftw.texi
++DIST_COMMON =  $(fftw_TEXINFOS) Makefile.am Makefile.in mdate-sh \
++stamp-vti version.texi
++
++
++DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
++
++TAR = tar
++GZIP = --best
++all: Makefile $(INFO_DEPS)
++
++.SUFFIXES:
++.SUFFIXES: .dvi .info .ps .texi .texinfo .txi
++$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
++	cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps doc/Makefile
++
++Makefile: $(srcdir)/Makefile.in  $(top_builddir)/config.status
++	cd $(top_builddir) \
++	  && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
++
++
++version.texi: stamp-vti
++	cp $(srcdir)/stamp-vti $(srcdir)/version.texi
++
++stamp-vti: fftw.texi $(top_srcdir)/configure.in
++	@echo "@set UPDATED `cd $(srcdir) \
++	  && $(SHELL) ./mdate-sh fftw.texi`" > vti.tmp
++	@echo "@set EDITION $(VERSION)" >> vti.tmp
++	@echo "@set VERSION $(VERSION)" >> vti.tmp
++	@cmp -s vti.tmp $(srcdir)/stamp-vti \
++	  || (echo "Updating $(srcdir)/stamp-vti"; \
++	      cp vti.tmp $(srcdir)/stamp-vti)
++	- at rm -f vti.tmp
++
++mostlyclean-vti:
++	-rm -f vti.tmp
++
++clean-vti:
++
++distclean-vti:
++
++maintainer-clean-vti:
++	-rm -f stamp-vti version.texi
++
++fftw.info: fftw.texi version.texi $(fftw_TEXINFOS)
++fftw.dvi: fftw.texi version.texi $(fftw_TEXINFOS)
++
++
++DVIPS = dvips
++
++.texi.info:
++	@cd $(srcdir) && rm -f $@ $@-[0-9] $@-[0-9][0-9]
++	cd $(srcdir) \
++	  && $(MAKEINFO) `echo $< | sed 's,.*/,,'`
++
++.texi.dvi:
++	TEXINPUTS=$(srcdir):$$TEXINPUTS \
++	  MAKEINFO='$(MAKEINFO) -I $(srcdir)' $(TEXI2DVI) $<
++
++.texi:
++	@cd $(srcdir) && rm -f $@ $@-[0-9] $@-[0-9][0-9]
++	cd $(srcdir) \
++	  && $(MAKEINFO) `echo $< | sed 's,.*/,,'`
++
++.texinfo.info:
++	@cd $(srcdir) && rm -f $@ $@-[0-9] $@-[0-9][0-9]
++	cd $(srcdir) \
++	  && $(MAKEINFO) `echo $< | sed 's,.*/,,'`
++
++.texinfo:
++	@cd $(srcdir) && rm -f $@ $@-[0-9] $@-[0-9][0-9]
++	cd $(srcdir) \
++	  && $(MAKEINFO) `echo $< | sed 's,.*/,,'`
++
++.texinfo.dvi:
++	TEXINPUTS=$(srcdir):$$TEXINPUTS \
++	  MAKEINFO='$(MAKEINFO) -I $(srcdir)' $(TEXI2DVI) $<
++
++.txi.info:
++	@cd $(srcdir) && rm -f $@ $@-[0-9] $@-[0-9][0-9]
++	cd $(srcdir) \
++	  && $(MAKEINFO) `echo $< | sed 's,.*/,,'`
++
++.txi.dvi:
++	TEXINPUTS=$(srcdir):$$TEXINPUTS \
++	  MAKEINFO='$(MAKEINFO) -I $(srcdir)' $(TEXI2DVI) $<
++
++.txi:
++	@cd $(srcdir) && rm -f $@ $@-[0-9] $@-[0-9][0-9]
++	cd $(srcdir) \
++	  && $(MAKEINFO) `echo $< | sed 's,.*/,,'`
++.dvi.ps:
++	$(DVIPS) $< -o $@
++
++install-info-am: $(INFO_DEPS)
++	@$(NORMAL_INSTALL)
++	$(mkinstalldirs) $(DESTDIR)$(infodir)
++	@for file in $(INFO_DEPS); do \
++	  d=$(srcdir); \
++	  for ifile in `cd $$d && echo $$file $$file-[0-9] $$file-[0-9][0-9]`; do \
++	    if test -f $$d/$$ifile; then \
++	      echo " $(INSTALL_DATA) $$d/$$ifile $(DESTDIR)$(infodir)/$$ifile"; \
++	      $(INSTALL_DATA) $$d/$$ifile $(DESTDIR)$(infodir)/$$ifile; \
++	    else : ; fi; \
++	  done; \
++	done
++	@$(POST_INSTALL)
++	@if $(SHELL) -c 'install-info --version | sed 1q | fgrep -s -v -i debian' >/dev/null 2>&1; then \
++	  for file in $(INFO_DEPS); do \
++	    echo " install-info --info-dir=$(DESTDIR)$(infodir) $(DESTDIR)$(infodir)/$$file";\
++	    install-info --info-dir=$(DESTDIR)$(infodir) $(DESTDIR)$(infodir)/$$file || :;\
++	  done; \
++	else : ; fi
++
++uninstall-info:
++	$(PRE_UNINSTALL)
++	@if $(SHELL) -c 'install-info --version | sed 1q | fgrep -s -v -i debian' >/dev/null 2>&1; then \
++	  ii=yes; \
++	else ii=; fi; \
++	for file in $(INFO_DEPS); do \
++	  test -z "$ii" \
++	    || install-info --info-dir=$(DESTDIR)$(infodir) --remove $$file; \
++	done
++	@$(NORMAL_UNINSTALL)
++	for file in $(INFO_DEPS); do \
++	  (cd $(DESTDIR)$(infodir) && rm -f $$file $$file-[0-9] $$file-[0-9][0-9]); \
++	done
++
++dist-info: $(INFO_DEPS)
++	for base in $(INFO_DEPS); do \
++	  d=$(srcdir); \
++	  for file in `cd $$d && eval echo $$base*`; do \
++	    test -f $(distdir)/$$file \
++	    || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
++	    || cp -p $$d/$$file $(distdir)/$$file; \
++	  done; \
++	done
++
++mostlyclean-aminfo:
++	-rm -f fftw.aux fftw.cp fftw.cps fftw.dvi fftw.fn fftw.fns fftw.ky \
++	  fftw.kys fftw.ps fftw.log fftw.pg fftw.toc fftw.tp fftw.tps \
++	  fftw.vr fftw.vrs fftw.op fftw.tr fftw.cv fftw.cn
++
++clean-aminfo:
++
++distclean-aminfo:
++
++maintainer-clean-aminfo:
++	for i in $(INFO_DEPS); do \
++	  rm -f $$i; \
++	  if test "`echo $$i-[0-9]*`" != "$$i-[0-9]*"; then \
++	    rm -f $$i-[0-9]*; \
++	  fi; \
++	done
++tags: TAGS
++TAGS:
++
++
++distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
++
++subdir = doc
++
++distdir: $(DISTFILES)
++	@for file in $(DISTFILES); do \
++	  d=$(srcdir); \
++	  test -f $(distdir)/$$file \
++	  || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
++	  || cp -p $$d/$$file $(distdir)/$$file; \
++	done
++	$(MAKE) top_distdir="$(top_distdir)" distdir="$(distdir)" dist-info
++info: $(INFO_DEPS)
++dvi: $(DVIS)
++check: all
++	$(MAKE)
++installcheck:
++install-exec: 
++	@$(NORMAL_INSTALL)
++
++install-data: install-info-am
++	@$(NORMAL_INSTALL)
++
++install: install-exec install-data all
++	@:
++
++uninstall: uninstall-info
++
++install-strip:
++	$(MAKE) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' INSTALL_SCRIPT='$(INSTALL_PROGRAM)' install
++installdirs:
++	$(mkinstalldirs)  $(DESTDIR)$(infodir)
++
++
++mostlyclean-generic:
++	-test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
++
++clean-generic:
++	-test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
++
++distclean-generic:
++	-rm -f Makefile $(DISTCLEANFILES)
++	-rm -f config.cache config.log stamp-h stamp-h[0-9]*
++	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
++
++maintainer-clean-generic:
++	-test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
++	-test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
++mostlyclean:  mostlyclean-vti mostlyclean-aminfo mostlyclean-generic
++
++clean:  clean-vti clean-aminfo clean-generic mostlyclean clean-local
++
++distclean:  distclean-vti distclean-aminfo distclean-generic clean
++	-rm -f config.status
++	-rm -f libtool
++
++maintainer-clean:  maintainer-clean-vti maintainer-clean-aminfo \
++		maintainer-clean-generic distclean
++	@echo "This command is intended for maintainers to use;"
++	@echo "it deletes files that may require special tools to rebuild."
++
++.PHONY: mostlyclean-vti distclean-vti clean-vti maintainer-clean-vti \
++install-info-am uninstall-info mostlyclean-aminfo distclean-aminfo \
++clean-aminfo maintainer-clean-aminfo tags distdir info dvi installcheck \
++install-exec install-data install uninstall all installdirs \
++mostlyclean-generic distclean-generic clean-generic \
++maintainer-clean-generic clean mostlyclean distclean maintainer-clean
++
++
++html:	$(fftw_TEXINFOS)
++	$(PERL) texi2html -split_chapter -no_toc_href fftw.texi
++
++$(HTML_FILES): html
++
++clean-local:
++	rm -f *.html
++
++# Tell versions [3.59,3.63) of GNU make to not export all variables.
++# Otherwise a system limit (for SysV at least) may be exceeded.
++.NOEXPORT:
diff --cc doc/fftw_1.html
index 88fffa7,1963121..f9b1973
--- a/doc/fftw_1.html
+++ b/doc/fftw_1.html
@@@ -1,14 -1,14 +1,14 @@@
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
  <HTML>
  <HEAD>
- <!-- This HTML file has been created by texi2html 1.45
-      from fftw.texi on 8 September 1997 -->
+ <!-- This HTML file has been created by texi2html 1.52
 -     from fftw.texi on 28 September 1998 -->
++     from fftw.texi on 1 October 1998 -->
  
- <TITLE>FFTW 1.2 User's Manual - Introduction</TITLE>
+ <TITLE>FFTW - Introduction</TITLE>
  </HEAD>
  <BODY TEXT="#000000" BGCOLOR="#FFFFFF">
- Go to the first, previous, <A HREF="fftw_2.html">next</A>, <A HREF="fftw_9.html">last</A> section, <A HREF="fftw_toc.html">table of contents</A>.
- <HR>
+ Go to the first, previous, <A HREF="fftw_2.html">next</A>, <A HREF="fftw_10.html">last</A> section, <A HREF="fftw_toc.html">table of contents</A>.
+ <P><HR><P>
  
  
  <H1><A NAME="SEC1">Introduction</A></H1>
diff --cc doc/fftw_10.html
index 0000000,93a4b7b..690a2a3
mode 000000,100644..100644
--- a/doc/fftw_10.html
+++ b/doc/fftw_10.html
@@@ -1,0 -1,215 +1,215 @@@
+ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
+ <HTML>
+ <HEAD>
+ <!-- This HTML file has been created by texi2html 1.52
 -     from fftw.texi on 28 September 1998 -->
++     from fftw.texi on 1 October 1998 -->
+ 
+ <TITLE>FFTW - Index</TITLE>
+ </HEAD>
+ <BODY TEXT="#000000" BGCOLOR="#FFFFFF">
+ Go to the <A HREF="fftw_1.html">first</A>, <A HREF="fftw_9.html">previous</A>, next, last section, <A HREF="fftw_toc.html">table of contents</A>.
+ <P><HR><P>
+ 
+ 
+ <H1><A NAME="SEC57">Index</A></H1>
+ <P>
+ Jump to:
+ <A HREF="#cindex_b">b</A>
+ -
+ <A HREF="#cindex_c">c</A>
+ -
+ <A HREF="#cindex_d">d</A>
+ -
+ <A HREF="#cindex_e">e</A>
+ -
+ <A HREF="#cindex_f">f</A>
+ -
+ <A HREF="#cindex_g">g</A>
+ -
+ <A HREF="#cindex_h">h</A>
+ -
+ <A HREF="#cindex_i">i</A>
+ -
+ <A HREF="#cindex_l">l</A>
+ -
+ <A HREF="#cindex_m">m</A>
+ -
+ <A HREF="#cindex_n">n</A>
+ -
+ <A HREF="#cindex_o">o</A>
+ -
+ <A HREF="#cindex_p">p</A>
+ -
+ <A HREF="#cindex_r">r</A>
+ -
+ <A HREF="#cindex_s">s</A>
+ -
+ <A HREF="#cindex_t">t</A>
+ -
+ <A HREF="#cindex_w">w</A>
+ <P>
+ <H2><A NAME="cindex_b">b</A></H2>
+ <DIR>
+ <LI><A HREF="fftw_1.html#IDX3">benchfft</A>
+ <LI><A HREF="fftw_1.html#IDX2">benchmark</A>
+ </DIR>
+ <H2><A NAME="cindex_c">c</A></H2>
+ <DIR>
+ <LI><A HREF="fftw_4.html#IDX79">C</A>
+ <LI><A HREF="fftw_2.html#IDX8">Clinton, Bill</A>
+ <LI><A HREF="fftw_7.html#IDX157">code generator</A>
+ <LI><A HREF="fftw_4.html#IDX78">column-major</A>
+ <LI><A HREF="fftw_2.html#IDX25">complex multi-dimensional transform</A>, <A HREF="fftw_6.html#IDX98">complex multi-dimensional transform</A>
+ <LI><A HREF="fftw_6.html#IDX81">complex number</A>
+ <LI><A HREF="fftw_2.html#IDX10">complex one-dimensional transform</A>
+ <LI><A HREF="fftw_2.html#IDX41">complex to real transform</A>, <A HREF="fftw_6.html#IDX115">complex to real transform</A>
+ <LI><A HREF="fftw_2.html#IDX11">complex transform</A>
+ <LI><A HREF="fftw_7.html#IDX150">configure</A>
+ <LI><A HREF="fftw_2.html#IDX62">convolution</A>
+ <LI><A HREF="fftw_2.html#IDX63">cyclic convolution</A>
+ </DIR>
+ <H2><A NAME="cindex_d">d</A></H2>
+ <DIR>
+ <LI><A HREF="fftw_6.html#IDX96">Discrete Fourier Transform</A>, <A HREF="fftw_6.html#IDX112">Discrete Fourier Transform</A>, <A HREF="fftw_6.html#IDX122">Discrete Fourier Transform</A>, <A HREF="fftw_6.html#IDX137">Discrete Fourier Transform</A>
+ </DIR>
+ <H2><A NAME="cindex_e">e</A></H2>
+ <DIR>
+ <LI><A HREF="fftw_1.html#IDX6">executor</A>
+ </DIR>
+ <H2><A NAME="cindex_f">f</A></H2>
+ <DIR>
+ <LI><A HREF="fftw_6.html#IDX93">fftw</A>
+ <LI><A HREF="fftw_1.html#IDX1">FFTW</A>
+ <LI><A HREF="fftw_2.html#IDX35">fftw2d_create_plan</A>, <A HREF="fftw_6.html#IDX104">fftw2d_create_plan</A>
+ <LI><A HREF="fftw_6.html#IDX107">fftw2d_create_plan_specific</A>
+ <LI><A HREF="fftw_2.html#IDX36">fftw3d_create_plan</A>, <A HREF="fftw_6.html#IDX105">fftw3d_create_plan</A>
+ <LI><A HREF="fftw_6.html#IDX108">fftw3d_create_plan_specific</A>
+ <LI><A HREF="fftw_2.html#IDX17">FFTW_BACKWARD</A>
+ <LI><A HREF="fftw_2.html#IDX22">fftw_complex</A>, <A HREF="fftw_6.html#IDX84">fftw_complex</A>
+ <LI><A HREF="fftw_6.html#IDX88">FFTW_COMPLEX</A>
+ <LI><A HREF="fftw_2.html#IDX48">FFTW_COMPLEX_TO_REAL</A>
+ <LI><A HREF="fftw_2.html#IDX13">fftw_create_plan</A>, <A HREF="fftw_6.html#IDX91">fftw_create_plan</A>
+ <LI><A HREF="fftw_6.html#IDX92">fftw_create_plan_specific</A>
+ <LI><A HREF="fftw_2.html#IDX20">fftw_destroy_plan</A>, <A HREF="fftw_6.html#IDX95">fftw_destroy_plan</A>
+ <LI><A HREF="fftw_2.html#IDX14">fftw_direction</A>, <A HREF="fftw_2.html#IDX29">fftw_direction</A>, <A HREF="fftw_2.html#IDX45">fftw_direction</A>, <A HREF="fftw_6.html#IDX90">fftw_direction</A>, <A HREF="fftw_6.html#IDX102">fftw_direction</A>, <A HREF="fftw_6.html#IDX128">fftw_direction</A>
+ <LI><A HREF="fftw_6.html#IDX86">FFTW_ENABLE_FLOAT</A>
+ <LI><A HREF="fftw_2.html#IDX19">FFTW_ESTIMATE</A>
+ <LI><A HREF="fftw_3.html#IDX67">fftw_export_wisdom</A>, <A HREF="fftw_6.html#IDX138">fftw_export_wisdom</A>
+ <LI><A HREF="fftw_3.html#IDX71">fftw_export_wisdom_to_file</A>, <A HREF="fftw_6.html#IDX139">fftw_export_wisdom_to_file</A>
+ <LI><A HREF="fftw_3.html#IDX73">fftw_export_wisdom_to_string</A>, <A HREF="fftw_6.html#IDX140">fftw_export_wisdom_to_string</A>
+ <LI><A HREF="fftw_6.html#IDX144">fftw_forget_wisdom</A>
+ <LI><A HREF="fftw_2.html#IDX16">FFTW_FORWARD</A>
+ <LI><A HREF="fftw_6.html#IDX148">fftw_free_hook</A>
+ <LI><A HREF="fftw_3.html#IDX68">fftw_import_wisdom</A>, <A HREF="fftw_6.html#IDX141">fftw_import_wisdom</A>
+ <LI><A HREF="fftw_3.html#IDX72">fftw_import_wisdom_from_file</A>, <A HREF="fftw_6.html#IDX142">fftw_import_wisdom_from_file</A>
+ <LI><A HREF="fftw_3.html#IDX74">fftw_import_wisdom_from_string</A>, <A HREF="fftw_6.html#IDX143">fftw_import_wisdom_from_string</A>
+ <LI><A HREF="fftw_2.html#IDX31">FFTW_IN_PLACE</A>
+ <LI><A HREF="fftw_6.html#IDX146">fftw_malloc</A>
+ <LI><A HREF="fftw_6.html#IDX145">fftw_malloc_hook</A>
+ <LI><A HREF="fftw_2.html#IDX18">FFTW_MEASURE</A>
+ <LI><A HREF="fftw_2.html#IDX21">fftw_one</A>, <A HREF="fftw_6.html#IDX94">fftw_one</A>
+ <LI><A HREF="fftw_2.html#IDX15">fftw_plan</A>, <A HREF="fftw_6.html#IDX89">fftw_plan</A>
+ <LI><A HREF="fftw_6.html#IDX87">FFTW_REAL</A>
+ <LI><A HREF="fftw_6.html#IDX83">fftw_real</A>
+ <LI><A HREF="fftw_2.html#IDX47">FFTW_REAL_TO_COMPLEX</A>
+ <LI><A HREF="fftw_7.html#IDX151">fftw_test</A>
+ <LI><A HREF="fftw_3.html#IDX66">FFTW_USE_WISDOM</A>
+ <LI><A HREF="fftw_6.html#IDX100">FFTWND</A>
+ <LI><A HREF="fftw_2.html#IDX32">fftwnd</A>, <A HREF="fftw_6.html#IDX109">fftwnd</A>
+ <LI><A HREF="fftw_2.html#IDX30">fftwnd_create_plan</A>, <A HREF="fftw_6.html#IDX103">fftwnd_create_plan</A>
+ <LI><A HREF="fftw_6.html#IDX106">fftwnd_create_plan_specific</A>
+ <LI><A HREF="fftw_2.html#IDX37">fftwnd_destroy_plan</A>, <A HREF="fftw_6.html#IDX111">fftwnd_destroy_plan</A>
+ <LI><A HREF="fftw_2.html#IDX38">fftwnd_one</A>, <A HREF="fftw_6.html#IDX110">fftwnd_one</A>
+ <LI><A HREF="fftw_2.html#IDX28">fftwnd_plan</A>, <A HREF="fftw_6.html#IDX101">fftwnd_plan</A>
+ </DIR>
+ <H2><A NAME="cindex_g">g</A></H2>
+ <DIR>
+ <LI><A HREF="fftw_7.html#IDX158">genfft</A>
+ <LI><A HREF="fftw_8.html#IDX159">girlfriends</A>
+ </DIR>
+ <H2><A NAME="cindex_h">h</A></H2>
+ <DIR>
+ <LI><A HREF="fftw_2.html#IDX43">halfcomplex array</A>, <A HREF="fftw_6.html#IDX82">halfcomplex array</A>
+ <LI><A HREF="fftw_6.html#IDX85">hermitian array</A>
+ </DIR>
+ <H2><A NAME="cindex_i">i</A></H2>
+ <DIR>
+ <LI><A HREF="fftw_2.html#IDX33">in-place transform</A>
+ <LI><A HREF="fftw_7.html#IDX149">installation</A>
+ </DIR>
+ <H2><A NAME="cindex_l">l</A></H2>
+ <DIR>
+ <LI><A HREF="fftw_2.html#IDX24">linking on Unix</A>, <A HREF="fftw_2.html#IDX53">linking on Unix</A>
+ <LI><A HREF="fftw_3.html#IDX75">LISP</A>
+ </DIR>
+ <H2><A NAME="cindex_m">m</A></H2>
+ <DIR>
+ <LI><A HREF="fftw_6.html#IDX147">malloc</A>
+ <LI><A HREF="fftw_7.html#IDX156">ML</A>
+ <LI><A HREF="fftw_2.html#IDX26">multi-dimensional transform</A>, <A HREF="fftw_6.html#IDX99">multi-dimensional transform</A>, <A HREF="fftw_6.html#IDX125">multi-dimensional transform</A>
+ </DIR>
+ <H2><A NAME="cindex_n">n</A></H2>
+ <DIR>
+ <LI><A HREF="fftw_3.html#IDX76">nerd-readable text</A>
+ <LI><A HREF="fftw_2.html#IDX23">normalization</A>, <A HREF="fftw_2.html#IDX39">normalization</A>, <A HREF="fftw_2.html#IDX51">normalization</A>, <A HREF="fftw_2.html#IDX61">normalization</A>, <A HREF="fftw_6.html#IDX97">normalization</A>, <A HREF="fftw_6.html#IDX123">normalization</A>
+ </DIR>
+ <H2><A NAME="cindex_o">o</A></H2>
+ <DIR>
+ <LI><A HREF="fftw_7.html#IDX155">Objective Caml</A>
+ <LI><A HREF="fftw_2.html#IDX34">out-of-place transform</A>
+ </DIR>
+ <H2><A NAME="cindex_p">p</A></H2>
+ <DIR>
+ <LI><A HREF="fftw_7.html#IDX153">Pentium hack</A>
+ <LI><A HREF="fftw_1.html#IDX4">plan</A>, <A HREF="fftw_2.html#IDX12">plan</A>
+ <LI><A HREF="fftw_1.html#IDX5">planner</A>
+ <LI><A HREF="fftw_2.html#IDX52">power spectrum</A>
+ </DIR>
+ <H2><A NAME="cindex_r">r</A></H2>
+ <DIR>
+ <LI><A HREF="fftw_2.html#IDX27">rank</A>
+ <LI><A HREF="fftw_2.html#IDX54">real multi-dimensional transform</A>, <A HREF="fftw_6.html#IDX124">real multi-dimensional transform</A>
+ <LI><A HREF="fftw_6.html#IDX80">real number</A>
+ <LI><A HREF="fftw_2.html#IDX40">real transform</A>, <A HREF="fftw_6.html#IDX114">real transform</A>
+ <LI><A HREF="fftw_2.html#IDX42">RFFTW</A>, <A HREF="fftw_6.html#IDX113">RFFTW</A>
+ <LI><A HREF="fftw_6.html#IDX119">rfftw</A>
+ <LI><A HREF="fftw_2.html#IDX57">rfftw2d_create_plan</A>, <A HREF="fftw_6.html#IDX130">rfftw2d_create_plan</A>
+ <LI><A HREF="fftw_2.html#IDX58">rfftw3d_create_plan</A>, <A HREF="fftw_6.html#IDX131">rfftw3d_create_plan</A>
+ <LI><A HREF="fftw_2.html#IDX46">rfftw_create_plan</A>, <A HREF="fftw_6.html#IDX117">rfftw_create_plan</A>
+ <LI><A HREF="fftw_6.html#IDX118">rfftw_create_plan_specific</A>
+ <LI><A HREF="fftw_2.html#IDX49">rfftw_destroy_plan</A>, <A HREF="fftw_6.html#IDX121">rfftw_destroy_plan</A>
+ <LI><A HREF="fftw_2.html#IDX50">rfftw_one</A>, <A HREF="fftw_6.html#IDX120">rfftw_one</A>
+ <LI><A HREF="fftw_2.html#IDX44">rfftw_plan</A>, <A HREF="fftw_6.html#IDX116">rfftw_plan</A>
+ <LI><A HREF="fftw_7.html#IDX152">rfftw_test</A>
+ <LI><A HREF="fftw_6.html#IDX126">RFFTWND</A>
+ <LI><A HREF="fftw_6.html#IDX133">rfftwnd_complex_to_real</A>
+ <LI><A HREF="fftw_2.html#IDX56">rfftwnd_create_plan</A>, <A HREF="fftw_6.html#IDX129">rfftwnd_create_plan</A>
+ <LI><A HREF="fftw_6.html#IDX136">rfftwnd_destroy_plan</A>
+ <LI><A HREF="fftw_2.html#IDX60">rfftwnd_one_complex_to_real</A>, <A HREF="fftw_6.html#IDX135">rfftwnd_one_complex_to_real</A>
+ <LI><A HREF="fftw_2.html#IDX59">rfftwnd_one_real_to_complex</A>, <A HREF="fftw_6.html#IDX134">rfftwnd_one_real_to_complex</A>
+ <LI><A HREF="fftw_2.html#IDX55">rfftwnd_plan</A>, <A HREF="fftw_6.html#IDX127">rfftwnd_plan</A>
+ <LI><A HREF="fftw_6.html#IDX132">rfftwnd_real_to_complex</A>
+ <LI><A HREF="fftw_4.html#IDX77">row-major</A>
+ </DIR>
+ <H2><A NAME="cindex_s">s</A></H2>
+ <DIR>
+ <LI><A HREF="fftw_3.html#IDX65">saving plans to disk</A>
+ </DIR>
+ <H2><A NAME="cindex_t">t</A></H2>
+ <DIR>
+ <LI><A HREF="fftw_7.html#IDX154">timer, customization of</A>
+ <LI><A HREF="fftw_2.html#IDX7">Tutorial</A>
+ </DIR>
+ <H2><A NAME="cindex_w">w</A></H2>
+ <DIR>
+ <LI><A HREF="fftw_3.html#IDX64">wisdom</A>
+ <LI><A HREF="fftw_3.html#IDX70">wisdom, import and export</A>
+ <LI><A HREF="fftw_2.html#IDX9">wisdom, lack of</A>
+ <LI><A HREF="fftw_3.html#IDX69">wisdom, problems with</A>
+ </DIR>
+ 
+ 
+ <P><HR><P>
+ Go to the <A HREF="fftw_1.html">first</A>, <A HREF="fftw_9.html">previous</A>, next, last section, <A HREF="fftw_toc.html">table of contents</A>.
+ </BODY>
+ </HTML>
diff --cc doc/fftw_2.html
index 559781d,ae9572b..948ec86
--- a/doc/fftw_2.html
+++ b/doc/fftw_2.html
@@@ -1,22 -1,29 +1,29 @@@
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
  <HTML>
  <HEAD>
- <!-- This HTML file has been created by texi2html 1.45
-      from fftw.texi on 8 September 1997 -->
+ <!-- This HTML file has been created by texi2html 1.52
 -     from fftw.texi on 28 September 1998 -->
++     from fftw.texi on 1 October 1998 -->
  
- <TITLE>FFTW 1.2 User's Manual - Quick Start</TITLE>
+ <TITLE>FFTW - Tutorial</TITLE>
  </HEAD>
  <BODY TEXT="#000000" BGCOLOR="#FFFFFF">
- Go to the <A HREF="fftw_1.html">first</A>, <A HREF="fftw_1.html">previous</A>, <A HREF="fftw_3.html">next</A>, <A HREF="fftw_9.html">last</A> section, <A HREF="fftw_toc.html">table of contents</A>.
- <HR>
+ Go to the <A HREF="fftw_1.html">first</A>, <A HREF="fftw_1.html">previous</A>, <A HREF="fftw_3.html">next</A>, <A HREF="fftw_10.html">last</A> section, <A HREF="fftw_toc.html">table of contents</A>.
+ <P><HR><P>
  
  
- <H1><A NAME="SEC2">Quick Start</A></H1>
+ <H1><A NAME="SEC2">Tutorial</A></H1>
  <P>
- <A NAME="IDX1"></A>
- This chapter describes the basic usage of FFTW for computing complex
- one-dimensional Fourier Transforms.  This chapter tells the truth, but
- not the <EM>whole</EM> truth. See section <A HREF="fftw_5.html#SEC11">FFTW Reference</A>, for more information.
+ <A NAME="IDX7"></A>
+ This chapter describes the basic usage of FFTW, i.e., how to compute the
+ Fourier transform of a single array.  This chapter tells the truth, but
+ not the <EM>whole</EM> truth. <A NAME="DOCF1" HREF="fftw_foot.html#FOOT1">(1)</A>  Specifically, FFTW implements additional routines and
+ <A NAME="IDX8"></A>
+ <A NAME="IDX9"></A>
+ flags, providing extra functionality, that are not documented here.
+ See Section <A HREF="fftw_6.html#SEC19">FFTW Reference</A>, for more complete information.  (Note that you
+ need to compile and install FFTW before you can use it in a program.
+ See Section <A HREF="fftw_7.html#SEC49">Installation and Customization</A>, for the details of the
+ installation.)
  
  
  <P>
diff --cc doc/fftw_3.html
index e56b470,240b82a..b6fc4a3
--- a/doc/fftw_3.html
+++ b/doc/fftw_3.html
@@@ -1,22 -1,20 +1,20 @@@
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
  <HTML>
  <HEAD>
- <!-- This HTML file has been created by texi2html 1.45
-      from fftw.texi on 8 September 1997 -->
+ <!-- This HTML file has been created by texi2html 1.52
 -     from fftw.texi on 28 September 1998 -->
++     from fftw.texi on 1 October 1998 -->
  
- <TITLE>FFTW 1.2 User's Manual - Quick Start for Multi-dimensional Transforms</TITLE>
+ <TITLE>FFTW - Words of Wisdom</TITLE>
  </HEAD>
  <BODY TEXT="#000000" BGCOLOR="#FFFFFF">
- Go to the <A HREF="fftw_1.html">first</A>, <A HREF="fftw_2.html">previous</A>, <A HREF="fftw_4.html">next</A>, <A HREF="fftw_9.html">last</A> section, <A HREF="fftw_toc.html">table of contents</A>.
- <HR>
+ Go to the <A HREF="fftw_1.html">first</A>, <A HREF="fftw_2.html">previous</A>, <A HREF="fftw_4.html">next</A>, <A HREF="fftw_10.html">last</A> section, <A HREF="fftw_toc.html">table of contents</A>.
+ <P><HR><P>
  
  
- <H1><A NAME="SEC5">Quick Start for Multi-dimensional Transforms</A></H1>
+ <H1><A NAME="SEC7">Words of Wisdom</A></H1>
  <P>
- <A NAME="IDX2"></A>
- This chapter describes the basic usage of FFTW for computing complex
- multi-dimensional Fourier Transforms. See section <A HREF="fftw_5.html#SEC11">FFTW Reference</A>, for more
- information.
+ <A NAME="IDX64"></A>
+ <A NAME="IDX65"></A>
  
  
  <P>
diff --cc doc/fftw_4.html
index c405c98,b4fa600..516df9a
--- a/doc/fftw_4.html
+++ b/doc/fftw_4.html
@@@ -1,41 -1,31 +1,31 @@@
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
  <HTML>
  <HEAD>
- <!-- This HTML file has been created by texi2html 1.45
-      from fftw.texi on 8 September 1997 -->
+ <!-- This HTML file has been created by texi2html 1.52
 -     from fftw.texi on 28 September 1998 -->
++     from fftw.texi on 1 October 1998 -->
  
- <TITLE>FFTW 1.2 User's Manual - Words of Wisdom</TITLE>
+ <TITLE>FFTW - Multi-dimensional Array Format</TITLE>
  </HEAD>
  <BODY TEXT="#000000" BGCOLOR="#FFFFFF">
- Go to the <A HREF="fftw_1.html">first</A>, <A HREF="fftw_3.html">previous</A>, <A HREF="fftw_5.html">next</A>, <A HREF="fftw_9.html">last</A> section, <A HREF="fftw_toc.html">table of contents</A>.
- <HR>
+ Go to the <A HREF="fftw_1.html">first</A>, <A HREF="fftw_3.html">previous</A>, <A HREF="fftw_5.html">next</A>, <A HREF="fftw_10.html">last</A> section, <A HREF="fftw_toc.html">table of contents</A>.
+ <P><HR><P>
  
  
- <H1><A NAME="SEC8">Words of Wisdom</A></H1>
+ <H1><A NAME="SEC10">Multi-dimensional Array Format</A></H1>
+ 
  <P>
- <A NAME="IDX3"></A>
+ This chapter describes the format in which multi-dimensional arrays are
+ stored.  We felt that a detailed discussion of this topic was necessary,
+ since it is often a source of confusion among users and several
+ different formats are common.  Although the comments below refer to
+ <CODE>fftwnd</CODE>, they are also applicable to the <CODE>rfftwnd</CODE> routines.
  
  
- <P>
- FFTW implements a method to save plans to disk and restore them.  In
- fact, what FFTW does is more general than just saving and loading plans.
- The mechanism is called <STRONG><CODE>wisdom</CODE></STRONG>.  Here, we describe this
- feature at a high level. See section <A HREF="fftw_5.html#SEC11">FFTW Reference</A>, for a less casual (but
- more complete) discussion of how to use <CODE>wisdom</CODE> in FFTW.
  
  
+ <H2><A NAME="SEC11">Row-major Format</A></H2>
  <P>
- Plans created with the <CODE>FFTW_MEASURE</CODE> option produce near-optimal
- FFT performance, but it can take a long time to compute a plan because
- FFTW must actually measure the runtime of many possible plans and select
- the best one.  This is designed for the situations where so many
- transforms of the same size must be computed that the start-up time is
- irrelevant.  For short initialization times but slightly slower
- transforms, we have provided <CODE>FFTW_ESTIMATE</CODE>.  The <CODE>wisdom</CODE>
- mechanism is a way to get the best of both worlds.  There are, however,
- certain caveats that the user must be aware of in using <CODE>wisdom</CODE>.
- For this reason, <CODE>wisdom</CODE> is an optional feature which is not
- enabled by default.
+ <A NAME="IDX77"></A>
  
  
  <P>
diff --cc doc/fftw_5.html
index eb9878b,7588998..f23569b
--- a/doc/fftw_5.html
+++ b/doc/fftw_5.html
@@@ -1,556 -1,35 +1,35 @@@
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
  <HTML>
  <HEAD>
- <!-- This HTML file has been created by texi2html 1.45
-      from fftw.texi on 8 September 1997 -->
+ <!-- This HTML file has been created by texi2html 1.52
 -     from fftw.texi on 28 September 1998 -->
++     from fftw.texi on 1 October 1998 -->
  
- <TITLE>FFTW 1.2 User's Manual - FFTW Reference</TITLE>
+ <TITLE>FFTW - Parallel Computing and FFTW</TITLE>
  </HEAD>
  <BODY TEXT="#000000" BGCOLOR="#FFFFFF">
- Go to the <A HREF="fftw_1.html">first</A>, <A HREF="fftw_4.html">previous</A>, <A HREF="fftw_6.html">next</A>, <A HREF="fftw_9.html">last</A> section, <A HREF="fftw_toc.html">table of contents</A>.
- <HR>
+ Go to the <A HREF="fftw_1.html">first</A>, <A HREF="fftw_4.html">previous</A>, <A HREF="fftw_6.html">next</A>, <A HREF="fftw_10.html">last</A> section, <A HREF="fftw_toc.html">table of contents</A>.
+ <P><HR><P>
  
  
- <H1><A NAME="SEC11">FFTW Reference</A></H1>
- <P>
- This chapter provides a complete reference for all FFTW functions.
- Programs using FFTW should be linked with <CODE>-lfftw -lm</CODE>.
- 
- 
- 
- 
- <H2><A NAME="SEC12">Complex Numbers</A></H2>
- 
- <P>
- By including <CODE><fftw.h></CODE>, you will have access to the following
- definitions:
- 
- 
- 
- <PRE>
- typedef double FFTW_REAL;
- 
- typedef struct {
-      FFTW_REAL re, im;
- } FFTW_COMPLEX;
- 
- #define c_re(c)  ((c).re)
- #define c_im(c)  ((c).im)
- </PRE>
- 
- <P>
- All FFTW operations are performed on the <CODE>FFTW_COMPLEX</CODE> data type.
- The two macros <CODE>c_re</CODE> and <CODE>c_im</CODE> retrieve, respectively,
- the real and imaginary parts of a complex number.
- 
- 
- <P>
- Users who wish to work in single precision rather than double precision
- merely need to change the definition of <CODE>FFTW_REAL</CODE> from <CODE>double</CODE>
- to <CODE>float</CODE> in <CODE>fftw.h</CODE> and then recompile the library.
- 
- 
- 
- 
- <H2><A NAME="SEC13">Plan Creation for One-dimensional Transforms</A></H2>
- 
- 
- <PRE>
- #include <fftw.h>
- 
- fftw_plan fftw_create_plan(int n, fftw_direction dir,
-                            int flags);
- </PRE>
- 
- <P>
- The function <CODE>fftw_create_plan</CODE> creates a plan, which is
- a data structure containing all the information that <CODE>fftw</CODE>
- needs in order to compute the 1D Fourier Transform. You can
- create as many plans as you need, but only one plan for a given
- array size is required (a plan can be reused many times).
- 
- 
- <P>
- <CODE>fftw_create_plan</CODE> returns a valid plan, or <CODE>NULL</CODE>
- if, for some reason, the plan can't be created.  In the
- default installation, this can't happen, but it is possible
- to configure FFTW in such a way that some input sizes are
- forbidden, and FFTW cannot create a plan.
- 
- 
- 
- 
- <H3><A NAME="SEC14">Arguments</A></H3>
- 
- <UL>
- <LI>
- 
- <CODE>n</CODE> is the size of the transform.  It can be
-  any positive integer.
-  
- 
- <UL>
- <LI>
- 
- FFTW is best at handling sizes of the form
- <MATH> 2<SUP>a</SUP> 3<SUP>b</SUP> 5<SUP>c</SUP> 7<SUP>d</SUP>
-         11<SUP>e</SUP> 13<SUP>f</SUP> </MATH>
- where the exponents of <MATH>11</MATH> and <MATH>13</MATH> are either <MATH>0</MATH> or
- <MATH>1</MATH>, and the other exponents are arbitrary.  Other sizes are
- computed by means of a slow, general-purpose routine.  (It is possible
- to customize FFTW for different array sizes.  See section <A HREF="fftw_7.html#SEC33">Installation</A> for
- more information.)  Transforms whose sizes are powers of <MATH>2</MATH> are
- especially fast.
- </UL>
- 
- <LI>
- 
- <CODE>dir</CODE> is the sign of the exponent in the formula that
- defines the Fourier Transform.  It can be <MATH>-1</MATH> or <MATH>+1</MATH>.
- The aliases <CODE>FFTW_FORWARD</CODE> and <CODE>FFTW_BACKWARD</CODE>
- are provided, where <CODE>FFTW_FORWARD</CODE> stands for <MATH>-1</MATH>.
- 
- <LI>
- 
- <CODE>flags</CODE> is a boolean OR (<SAMP>`|'</SAMP>) of zero or more of the following:
- 
- <UL>
- <LI>
- 
- <CODE>FFTW_MEASURE</CODE>: this flag tells FFTW to find the optimal plan by
- actually <EM>computing</EM> several FFTs and measuring their
- execution time.  Depending on the installation, this can take some
- time.<A NAME="FOOT2" HREF="fftw_foot.html#FOOT2">(2)</A>
- 
- <LI>
- 
- <CODE>FFTW_ESTIMATE</CODE>: do not run any FFT and provide a "reasonable"
- plan (for a RISC processor with many registers).  If neither
- <CODE>FFTW_ESTIMATE</CODE> nor <CODE>FFTW_MEASURE</CODE> is provided, the default is
- <CODE>FFTW_ESTIMATE</CODE>.
- 
- <LI>
- 
- <CODE>FFTW_OUT_OF_PLACE</CODE>: produce a plan assuming that the input
-   and output arrays will be distinct (this is the default).
- 
- <LI>
- 
- <CODE>FFTW_IN_PLACE</CODE>: produce a plan assuming that you want the output
- in the input array.  The algorithm used is not necessarily in place:
- FFTW is able to compute true in-place transforms only for small values
- of <CODE>n</CODE>.  If FFTW is not able to compute the transform in-place, it
- will allocate a temporary array (unless you provide one yourself),
- compute the transform out of place, and copy the result back.
- <EM>Warning: This option changes the meaning of some 
- parameters of <CODE>fftw</CODE></EM> (See section <A HREF="fftw_5.html#SEC17">Computing the one-dimensional transform</A>.)
- 
- The in-place option is mainly provided for people who want to write
- their own in-place multi-dimensional Fourier Transform, using FFTW as a
- base.  For example, consider a three-dimensional <CODE>n * n * n</CODE>
- transform.  An out-of-place algorithm will need another array (which may
- be huge).  However, FFTW can compute the in-place transform along
- each dimension using only a temporary array of size <CODE>n</CODE>.
- Moreover, if FFTW happens to be able to compute the transform truly
- in-place, no temporary array and no copying are needed.  As distributed,
- FFTW `knows' how to compute in-place transforms of size 1, 2, 3, 4, 5, 6,
- 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 32 and 64.
- 
- The default mode of operation is <CODE>FFTW_OUT_OF_PLACE</CODE>.
- 
- <LI>
- 
- <CODE>FFTW_USE_WISDOM</CODE>: use any <CODE>wisdom</CODE> that is available to help
- in the creation of the plan. (See section <A HREF="fftw_4.html#SEC8">Words of Wisdom</A>.)
- This can greatly speed the creation of plans, especially with the
- <CODE>FFTW_MEASURE</CODE> option. <CODE>FFTW_ESTIMATE</CODE> plans can also take
- advantage of <CODE>wisdom</CODE> to produce a more optimal plan (based on past
- measurements) than the estimation heuristic would normally
- generate. When the <CODE>FFTW_MEASURE</CODE> option is used, new <CODE>wisdom</CODE>
- will also be generated if the current transform size is not completely
- understood by existing <CODE>wisdom</CODE>.
- 
- </UL>
- 
- </UL>
- 
- 
- 
- <H2><A NAME="SEC15">Plan Creation for Multi-dimensional Transforms</A></H2>
- 
- 
- <PRE>
- #include <fftw.h>
- 
- fftwnd_plan fftwnd_create_plan(int rank, const int *n,
-                                fftw_direction dir, int flags);
- 
- fftwnd_plan fftw2d_create_plan(int nx, int ny,
-                                fftw_direction dir, int flags);
- 
- fftwnd_plan fftw3d_create_plan(int nx, int ny, int nz,
-                                fftw_direction dir, int flags);
- </PRE>
- 
- <P>
- The function <CODE>fftwnd_create_plan</CODE> creates a plan, which is a data
- structure containing all the information that <CODE>fftwnd</CODE> needs in
- order to compute a multi-dimensional Fourier Transform.  You can create
- as many plans as you need, but only one plan for a given array size is
- required (a plan can be reused many times).  The functions
- <CODE>fftw2d_create_plan</CODE> and <CODE>fftw3d_create_plan</CODE> are optional,
- alternative interfaces to <CODE>fftwnd_create_plan</CODE> for two and three
- dimensions, respectively.
- 
- 
- <P>
- <CODE>fftwnd_create_plan</CODE> returns a valid plan, or <CODE>NULL</CODE> if, for
- some reason, the plan can't be created.  This can happen if memory runs
- out or if the arguments are invalid in some way (e.g.  if <CODE>rank</CODE> <
- 0).
- 
- 
- 
- 
- <H3><A NAME="SEC16">Arguments</A></H3>
- 
- <UL>
- <LI>
- 
- <CODE>rank</CODE> is the dimensionality of the arrays to be transformed.  It
- can be any non-negative integer.
- 
- <LI>
- 
- <CODE>n</CODE> is a pointer to an array of <CODE>rank</CODE> integers, giving the
- size of each dimension of the arrays to be transformed.  These sizes,
- which must be positive integers, correspond to the dimensions of
- row-major arrays--i.e. n[0] is the size of the dimension whose indices
- vary most slowly, and so on. (See section <A HREF="fftw_6.html#SEC27">Multi-dimensional Array Format</A>, for
- more information.)
- 
- <UL>
- <LI>
- 
- See section <A HREF="fftw_5.html#SEC13">Plan Creation for One-dimensional Transforms</A>, for more information regarding
- optimal array sizes.
- </UL>
- 
- <LI>
- 
- <CODE>nx</CODE> and <CODE>ny</CODE> in <CODE>fftw2d_create_plan</CODE> are positive
- integers specifying the dimensions of the rank 2 array to be
- transformed. i.e. they specify that the transform will operate on
- <CODE>nx x ny</CODE> arrays in row-major order.
- 
- <LI>
- 
- <CODE>nx</CODE>, <CODE>ny</CODE> and <CODE>nz</CODE> in <CODE>fftw3d_create_plan</CODE> are
- positive integers specifying the dimensions of the rank 3 array to be
- transformed. i.e. they specify that the transform will operate on
- <CODE>nx x ny x nz</CODE> arrays in row-major order.
- 
- <LI>
- 
- <CODE>dir</CODE> is the sign of the exponent in the formula that defines the
- Fourier Transform.  It can be <MATH>-1</MATH> or <MATH>+1</MATH>.  The aliases
- <CODE>FFTW_FORWARD</CODE> and <CODE>FFTW_BACKWARD</CODE> are provided, where
- <CODE>FFTW_FORWARD</CODE> stands for <MATH>-1</MATH>.
- 
- <LI>
- 
- <CODE>flags</CODE> is a boolean OR (<SAMP>`|'</SAMP>) of zero or more of the following:
- 
- <UL>
- <LI>
- 
- <CODE>FFTW_MEASURE</CODE>: this flag tells FFTW to find the optimal plan by
- actually <EM>computing</EM> several FFTs and measuring their execution
- time.
- 
- <LI>
- 
- <CODE>FFTW_ESTIMATE</CODE>: do not run any FFT and provide a "reasonable"
- plan (for a RISC processor with many registers).  If neither
- <CODE>FFTW_ESTIMATE</CODE> nor <CODE>FFTW_MEASURE</CODE> is provided, the default is
- <CODE>FFTW_ESTIMATE</CODE>.
- 
- <LI>
- 
- <CODE>FFTW_OUT_OF_PLACE</CODE>: produce a plan assuming that the input
-   and output arrays will be distinct (this is the default).
- 
- <LI>
- 
- <CODE>FFTW_IN_PLACE</CODE>: produce a plan assuming that you want to perform
- the transform in-place.  (Unlike the one-dimensional transform, this
- "really"<A NAME="FOOT3" HREF="fftw_foot.html#FOOT3">(3)</A> performs the
- transform in-place.) Note that, if you want to perform in-place
- transforms, you <EM>must</EM> use a plan created with this option.
- 
- The default mode of operation is <CODE>FFTW_OUT_OF_PLACE</CODE>.
- 
- <LI>
- 
- <CODE>FFTW_USE_WISDOM</CODE>: use any <CODE>wisdom</CODE> that is available to help
- in the creation of the plan. (See section <A HREF="fftw_4.html#SEC8">Words of Wisdom</A>.)
- This can greatly speed the creation of plans, especially with the
- <CODE>FFTW_MEASURE</CODE> option. <CODE>FFTW_ESTIMATE</CODE> plans can also take
- advantage of <CODE>wisdom</CODE> to produce a more optimal plan (based on past
- measurements) than the estimation heuristic would normally
- generate. When the <CODE>FFTW_MEASURE</CODE> option is used, new <CODE>wisdom</CODE>
- will also be generated if the current transform size is not completely
- understood by existing <CODE>wisdom</CODE>. Note that the same <CODE>wisdom</CODE>
- is shared between one-dimensional and multi-dimensional transforms.
- 
- </UL>
- 
- </UL>
- 
- 
- 
- <H2><A NAME="SEC17">Computing the one-dimensional transform</A></H2>
- 
- 
- <PRE>
- #include <fftw.h>
- 
- void fftw(fftw_plan plan, int howmany,
-           FFTW_COMPLEX *in, int istride, int idist,
-           FFTW_COMPLEX *out, int ostride, int odist);
- </PRE>
- 
- <P>
- The function <CODE>fftw</CODE> computes the one-dimensional Fourier Transform,
- using a plan created by <CODE>fftw_create_plan</CODE> (See section <A HREF="fftw_5.html#SEC13">Plan Creation for One-dimensional Transforms</A>.)
- 
- 
- 
- 
- <H3><A NAME="SEC18">Arguments</A></H3>
- 
- <UL>
- <LI>
- 
- <CODE>plan</CODE> is the plan created by <CODE>fftw_create_plan</CODE>
- (See section <A HREF="fftw_5.html#SEC13">Plan Creation for One-dimensional Transforms</A>.)
- 
- <LI>
- 
- <CODE>howmany</CODE> is the number of transforms <CODE>fftw</CODE> will compute.
- It is faster to tell FFTW to compute many transforms, instead of
- simply calling <CODE>fftw</CODE> many times.
- 
- <LI>
- 
- <CODE>in</CODE>, <CODE>istride</CODE> and <CODE>idist</CODE> describe the input array(s).
- There are <CODE>howmany</CODE> input arrays; the first one is pointed to by
- <CODE>in</CODE>, the second one is pointed to by <CODE>in + idist</CODE>, and so on,
- up to <CODE>in + (howmany - 1) * idist</CODE>.  Each input array consists of
- complex numbers (See section <A HREF="fftw_5.html#SEC12">Complex Numbers</A>), which are not necessarily
- contiguous in memory.  Specifically, <CODE>in[0]</CODE> is the first element
- of the first array, <CODE>in[istride]</CODE> is the second element of the
- first array, and so on.  In general, the <CODE>i</CODE>-th element of the
- <CODE>j</CODE>-th input array will be in position <CODE>in[i * istride + j *
- idist]</CODE>.
- 
- <LI>
- 
- <CODE>out</CODE>, <CODE>ostride</CODE> and <CODE>odist</CODE> describe the output
- array(s).  The format is the same as for the input array.
- 
- 
- <UL>
- <LI><EM>In-place transforms</EM>:
- 
- If the <CODE>plan</CODE> specifies an in-place transform, <CODE>ostride</CODE> and
- <CODE>odist</CODE> are always ignored.  If <CODE>out</CODE> is <CODE>NULL</CODE>,
- <CODE>out</CODE> is ignored, too.  Otherwise, <CODE>out</CODE> is interpreted as a
- pointer to an array of <CODE>n</CODE> complex numbers, that FFTW will use as
- temporary space to perform the in-place computation.  <CODE>out</CODE> is used
- as scratch space and its contents destroyed.  In this case, <CODE>out</CODE>
- must be an ordinary array whose elements are contiguous in memory (no
- striding).
- </UL>
- 
- </UL>
- 
- <P>
- To simply transform a single, contiguous input array to a contiguous
- output array, pass 1 for <CODE>howmany</CODE>, <CODE>istride</CODE>, <CODE>idist</CODE>,
- <CODE>ostride</CODE>, and <CODE>odist</CODE>.
- 
- 
- 
- 
- <H2><A NAME="SEC19">Computing the multi-dimensional transform</A></H2>
- 
- 
- <PRE>
- #include <fftw.h>
- 
- void fftwnd(fftwnd_plan plan, int howmany,
-             FFTW_COMPLEX *in, int istride, int idist,
-             FFTW_COMPLEX *out, int ostride, int odist);
- </PRE>
- 
- <P>
- The function <CODE>fftwnd</CODE> computes the multi-dimensional Fourier Transform,
- using a plan created by <CODE>fftwnd_create_plan</CODE>
- (See section <A HREF="fftw_5.html#SEC15">Plan Creation for Multi-dimensional Transforms</A>.) (Note that the plan
- determines the rank and dimensions of the array to be transformed.)
- 
- 
- 
- 
- <H3><A NAME="SEC20">Arguments</A></H3>
- 
- <UL>
- <LI>
- 
- <CODE>plan</CODE> is the plan created by <CODE>fftwnd_create_plan</CODE>.
- (See section <A HREF="fftw_5.html#SEC15">Plan Creation for Multi-dimensional Transforms</A>.) (In the case of two and
- three-dimensional transforms, it could also have been created by
- <CODE>fftw2d_create_plan</CODE> or <CODE>fftw3d_create_plan</CODE>, respectively.)
- 
- <LI>
- 
- <CODE>howmany</CODE> is the number of transforms <CODE>fftw</CODE> will compute.
- 
- <LI>
- 
- <CODE>in</CODE>, <CODE>istride</CODE> and <CODE>idist</CODE> describe the input array(s).
- There are <CODE>howmany</CODE> input arrays; the first one is pointed to by
- <CODE>in</CODE>, the second one is pointed to by <CODE>in + idist</CODE>, and so on,
- up to <CODE>in + (howmany - 1) * idist</CODE>.  Each input array consists of
- complex numbers (See section <A HREF="fftw_5.html#SEC12">Complex Numbers</A>), stored in row-major format
- (See section <A HREF="fftw_6.html#SEC27">Multi-dimensional Array Format</A>), which are not necessarily
- contiguous in memory.  Specifically, <CODE>in[0]</CODE> is the first element
- of the first array, <CODE>in[istride]</CODE> is the second element of the
- first array, and so on.  In general, the <CODE>i</CODE>-th element of the
- <CODE>j</CODE>-th input array will be in position <CODE>in[i * istride + j *
- idist]</CODE>. Note that, here, <CODE>i</CODE> refers to an index into the row-major
- format for the multi-dimensional array, rather than an index in any
- particular dimension.
- 
- 
- <UL>
- <LI><EM>In-place transforms</EM>:
- 
- For plans created with the <CODE>FFTW_IN_PLACE</CODE> option, the transform is
- computed in-place--the output is returned in the <CODE>in</CODE> array, using
- the same strides, etcetera, as were used in the input.
- </UL>
- 
- <LI>
- 
- <CODE>out</CODE>, <CODE>ostride</CODE> and <CODE>odist</CODE> describe the output array(s).
- The format is the same as for the input array.
- 
- 
- <UL>
- <LI><EM>In-place transforms</EM>:
- 
- These parameters are ignored for plans created with the
- <CODE>FFTW_IN_PLACE</CODE> option.
- </UL>
- 
- </UL>
- 
- <P>
- To simply transform a single, contiguous input array to a contiguous
- output array, pass 1 for <CODE>howmany</CODE>, <CODE>istride</CODE>, <CODE>idist</CODE>,
- <CODE>ostride</CODE>, and <CODE>odist</CODE>.
- 
- 
- 
- 
- <H2><A NAME="SEC21">Destroying a one-dimensional plan</A></H2>
- 
- 
- <PRE>
- #include <fftw.h>
- 
- void fftw_destroy_plan(fftw_plan plan);
- </PRE>
- 
- <P>
- The function <CODE>fftw_destroy_plan</CODE> frees the plan <CODE>plan</CODE> and
- releases all the memory associated with it.  After destruction, a plan
- is no longer valid.
- 
- 
- 
- 
- <H2><A NAME="SEC22">Destroying a multi-dimensional plan</A></H2>
- 
- 
- <PRE>
- #include <fftw.h>
- 
- void fftwnd_destroy_plan(fftwnd_plan plan);
- </PRE>
- 
- <P>
- The function <CODE>fftwnd_destroy_plan</CODE> frees the plan <CODE>plan</CODE>
- and releases all the memory associated with it.  After destruction,
- a plan is no longer valid.
- 
- 
- 
- 
- <H2><A NAME="SEC23">How to install your own memory allocator</A></H2>
- 
- 
- <PRE>
- #include <fftw.h>
- 
- void *fftw_malloc(size_t n);
- void fftw_free(void *p);
- 
- void *(*fftw_malloc_hook) (size_t n);
- void (*fftw_free_hook) (void *p);
- </PRE>
- 
- <P>
- Whenever it has to allocate and release memory, FFTW calls
- <CODE>fftw_malloc</CODE> and <CODE>fftw_free</CODE> (which, in turn, ordinarily call
- <CODE>malloc</CODE> and <CODE>free</CODE>). (FFTW needs some memory for internal use
- and to create data structures like plans.)
- 
+ <H1><A NAME="SEC16">Parallel Computing and FFTW</A></H1>
  
  <P>
- If <CODE>malloc</CODE> fails, FFTW prints an error message and exits.  This
- behavior may be undesirable in some applications. Also, special
- memory-handling functions may be necessary in certain
- environments. Consequently, FFTW provides means by which you can install
- your own memory allocator and take whatever error-correcting action you
- find appropriate.  The variables <CODE>fftw_malloc_hook</CODE> and
- <CODE>fftw_free_hook</CODE> are pointers to functions, and they are normally
- <CODE>NULL</CODE>.  If you set those variables to point to another function,
- FFTW will use your routines instead of <CODE>malloc</CODE> and <CODE>free</CODE>.
- <CODE>fftw_malloc_hook</CODE> must point to a <CODE>malloc</CODE>-like function, and
- <CODE>fftw_free_hook</CODE> must point to a <CODE>free</CODE>-like function.
- 
- 
+ In this chapter we discuss the use of FFTW in a parallel environment.
+ The use of FFTW in a shared-memory threads environment is explained, and
+ we also point out the parallel implementations of FFTW that are
+ available.
  
  
- <H2><A NAME="SEC24">Exporting wisdom</A></H2>
  
  
- <PRE>
- #include <fftw.h>
- 
- void fftw_export_wisdom(void (*emitter)(char c, void *), void *data);
- void fftw_export_wisdom_to_file(FILE *output_file);
- char *fftw_export_wisdom_to_string(void);
- </PRE>
+ <H2><A NAME="SEC17">Parallel Transform Routines</A></H2>
  
  <P>
- These functions allow you to export all currently accumulated
- <CODE>wisdom</CODE> in a form from which it can be later imported and
- restored, even during a separate run of the program. (See section <A HREF="fftw_4.html#SEC8">Words of Wisdom</A>.)  The current store of <CODE>wisdom</CODE> is not
- affected by calling any of these routines.
+ The FFTW package contains several parallel transform implementations
+ that leverage the uniprocessor FFTW code.  Although these routines
+ are not documented here, they are described in detail by <CODE>README</CODE>
+ files in the relevant subdirectories.  Currently, FFTW includes three
+ parallel transform implementations:
  
  
  <P>
diff --cc doc/fftw_6.html
index d8df1bf,58462a2..f36f8b4
--- a/doc/fftw_6.html
+++ b/doc/fftw_6.html
@@@ -1,23 -1,29 +1,29 @@@
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
  <HTML>
  <HEAD>
- <!-- This HTML file has been created by texi2html 1.45
-      from fftw.texi on 8 September 1997 -->
+ <!-- This HTML file has been created by texi2html 1.52
 -     from fftw.texi on 28 September 1998 -->
++     from fftw.texi on 1 October 1998 -->
  
- <TITLE>FFTW 1.2 User's Manual - Multi-dimensional Array Format</TITLE>
+ <TITLE>FFTW - FFTW Reference</TITLE>
  </HEAD>
  <BODY TEXT="#000000" BGCOLOR="#FFFFFF">
- Go to the <A HREF="fftw_1.html">first</A>, <A HREF="fftw_5.html">previous</A>, <A HREF="fftw_7.html">next</A>, <A HREF="fftw_9.html">last</A> section, <A HREF="fftw_toc.html">table of contents</A>.
- <HR>
+ Go to the <A HREF="fftw_1.html">first</A>, <A HREF="fftw_5.html">previous</A>, <A HREF="fftw_7.html">next</A>, <A HREF="fftw_10.html">last</A> section, <A HREF="fftw_toc.html">table of contents</A>.
+ <P><HR><P>
  
  
- <H1><A NAME="SEC27">Multi-dimensional Array Format</A></H1>
+ <H1><A NAME="SEC19">FFTW Reference</A></H1>
  
  <P>
- This chapter describes the format in which multi-dimensional arrays are
- stored.  We felt that a detailed discussion of this topic was necessary,
- since it is often a source of confusion among users and several
- different formats are common.
+ This chapter provides a complete reference for all FFTW functions.  We
+ first define the data types upon which FFTW operates, that is, real,
+ complex, and "halfcomplex" numbers (see Section <A HREF="fftw_6.html#SEC20">Data Types</A>).  Then, in
+ four sections, we explain the FFTW program interface for complex
+ one-dimensional transforms (see Section <A HREF="fftw_6.html#SEC21">One-dimensional Transforms Reference</A>), complex multi-dimensional transforms
+ (see Section <A HREF="fftw_6.html#SEC27">Multi-dimensional Transforms Reference</A>), and real
+ one-dimensional transforms (see Section <A HREF="fftw_6.html#SEC32">Real One-dimensional Transforms Reference</A>), real multi-dimensional transforms (see Section <A HREF="fftw_6.html#SEC37">Real Multi-dimensional Transforms Reference</A>).  Section <A HREF="fftw_6.html#SEC44">Wisdom Reference</A>
+ describes the <CODE>wisdom</CODE> mechanism for exporting and importing plans.
+ Finally, Section <A HREF="fftw_6.html#SEC48">Memory Allocator Reference</A> describes how to change FFTW's
+ default memory allocator.
  
  
  
diff --cc doc/fftw_7.html
index 158bdbb,ed8724a..54e40fc
--- a/doc/fftw_7.html
+++ b/doc/fftw_7.html
@@@ -1,49 -1,66 +1,66 @@@
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
  <HTML>
  <HEAD>
- <!-- This HTML file has been created by texi2html 1.45
-      from fftw.texi on 8 September 1997 -->
+ <!-- This HTML file has been created by texi2html 1.52
 -     from fftw.texi on 28 September 1998 -->
++     from fftw.texi on 1 October 1998 -->
  
- <TITLE>FFTW 1.2 User's Manual - Installation</TITLE>
+ <TITLE>FFTW - Installation and Customization</TITLE>
  </HEAD>
  <BODY TEXT="#000000" BGCOLOR="#FFFFFF">
- Go to the <A HREF="fftw_1.html">first</A>, <A HREF="fftw_6.html">previous</A>, <A HREF="fftw_8.html">next</A>, <A HREF="fftw_9.html">last</A> section, <A HREF="fftw_toc.html">table of contents</A>.
- <HR>
+ Go to the <A HREF="fftw_1.html">first</A>, <A HREF="fftw_6.html">previous</A>, <A HREF="fftw_8.html">next</A>, <A HREF="fftw_10.html">last</A> section, <A HREF="fftw_toc.html">table of contents</A>.
+ <P><HR><P>
  
  
- <H1><A NAME="SEC33">Installation</A></H1>
+ <H1><A NAME="SEC49">Installation and Customization</A></H1>
  
  <P>
- The latest version of FFTW may be found on the Web at the FFTW home
- page: 
+ This chapter describes the installation and customization of FFTW, the
+ latest version of which may be downloaded from
+ <A HREF="http://theory.lcs.mit.edu/~fftw">the FFTW home page</A>.
  
  
- <A HREF="http://theory.lcs.mit.edu/~fftw">
  <P>
- <CODE>http://theory.lcs.mit.edu/~fftw</CODE>
- </A>
+ As distributed, FFTW makes very few assumptions about your system.  All
+ you need is an ANSI C compiler (<CODE>gcc</CODE> is fine, although
+ vendor-provided compilers often produce faster code).  However,
+ installation of FFTW is somewhat simpler if you have a Unix or a GNU
+ system, such as Linux.  In this chapter, we first describe the
+ installation of FFTW on Unix and non-Unix systems.  We then describe how
+ you can customize FFTW to achieve better performance.  Specifically, you
+ can I) enable <CODE>gcc</CODE>/x86-specific hacks that improve performance on
+ Pentia and PentiumPro's; II) adapt FFTW to use the high-resolution clock
+ of your machine, if any; III) produce code (<EM>codelets</EM>) to support
+ fast transforms of sizes that are not supported efficiently by the
+ standard FFTW distribution.
+ <A NAME="IDX149"></A>
+ 
+ 
+ 
  
+ <H2><A NAME="SEC50">Installation on Unix</A></H2>
  
  <P>
- As distributed, FFTW makes very few assumptions about your system.  All
- you need is an ANSI C compiler (<CODE>gcc</CODE> is fine, although
- vendor-provided compilers often produce faster code).  If you have a
- Unix system (Linux is fine), you can simply type <CODE>make install</CODE> in
- the <CODE>src</CODE> directory.  This command will create a library called
- <CODE>libfftw.a</CODE> and install it in <CODE>/usr/local/lib</CODE>.  Also, the
- header file <CODE>fftw.h</CODE> is installed in <CODE>/usr/local/include</CODE>.
- (You can change these locations by editing the <CODE>prefix</CODE> variable in
- the <CODE>Makefile</CODE>.) The default compiler used is <CODE>gcc</CODE>, and there
- are some default <CODE>CFLAGS</CODE> specified in the <CODE>Makefile</CODE>.
+ FFTW comes with a <CODE>configure</CODE> program in the GNU style.
+ Installation can be as simple as:
+ <A NAME="IDX150"></A>
+ 
  
  
+ <PRE>
+ ./configure
+ make
+ make install
+ </PRE>
+ 
  <P>
- If you have a non-Unix system that does not provide <CODE>make</CODE>, it is
- still possible to compile the source code.  However, the <CODE>Makefile</CODE>
- we provide will probably not work, and you will have to build the
- library yourself; you must also install the library and the header file
- <CODE>fftw.h</CODE>. (You just have to compile all the <CODE>.c</CODE> files in the
- <CODE>src</CODE> directory and link them into a library.)
+ This will build the complex and real transform libraries along with the
+ test programs.  We recommend that you use GNU <CODE>make</CODE> if it is
+ available; on some systems it is called <CODE>gmake</CODE>.  The "<CODE>make
+ install</CODE>" command installs the fftw and rfftw libraries in standard
+ places, and typically requires root privileges (unless you specify a
+ different install directory with the <CODE>--prefix</CODE> flag to
+ <CODE>configure</CODE>).  You can also type "<CODE>make check</CODE>" to put the
+ FFTW test programs through their paces.
  
  
  <P>
diff --cc doc/fftw_8.html
index 056cc1a,44a6fdf..42fa25b
--- a/doc/fftw_8.html
+++ b/doc/fftw_8.html
@@@ -1,28 -1,26 +1,26 @@@
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
  <HTML>
  <HEAD>
- <!-- This HTML file has been created by texi2html 1.45
-      from fftw.texi on 8 September 1997 -->
+ <!-- This HTML file has been created by texi2html 1.52
 -     from fftw.texi on 28 September 1998 -->
++     from fftw.texi on 1 October 1998 -->
  
- <TITLE>FFTW 1.2 User's Manual - Acknowledgments</TITLE>
+ <TITLE>FFTW - Acknowledgments</TITLE>
  </HEAD>
  <BODY TEXT="#000000" BGCOLOR="#FFFFFF">
- Go to the <A HREF="fftw_1.html">first</A>, <A HREF="fftw_7.html">previous</A>, <A HREF="fftw_9.html">next</A>, <A HREF="fftw_9.html">last</A> section, <A HREF="fftw_toc.html">table of contents</A>.
- <HR>
+ Go to the <A HREF="fftw_1.html">first</A>, <A HREF="fftw_7.html">previous</A>, <A HREF="fftw_9.html">next</A>, <A HREF="fftw_10.html">last</A> section, <A HREF="fftw_toc.html">table of contents</A>.
+ <P><HR><P>
  
  
- <H1><A NAME="SEC36">Acknowledgments</A></H1>
- 
- <P>
- Matteo Frigo was supported in part by the Advanced
- Research Projects Agency (ARPA) under Grant N00014-94-1-0985.
- 
+ <H1><A NAME="SEC55">Acknowledgments</A></H1>
  
  <P>
+ Matteo Frigo was supported in part by the Defense Advanced Research
+ Projects Agency (DARPA) under Grants N00014-94-1-0985 and
+ F30602-97-1-0270, and by a Digital Equipment Corporation Fellowship.
  Steven G. Johnson was supported in part by a DoD NDSEG Fellowship, an
- MIT Karl Taylor Compton Fellowship, and by the Materials Research Science and
- Engineering Center program of the National Science Foundation under
- award DMR-9400334.
+ MIT Karl Taylor Compton Fellowship, and by the Materials Research
+ Science and Engineering Center program of the National Science
+ Foundation under award DMR-9400334.
  
  
  <P>
diff --cc doc/fftw_9.html
index 48ff7d1,ce9e309..47c3f83
--- a/doc/fftw_9.html
+++ b/doc/fftw_9.html
@@@ -1,36 -1,21 +1,21 @@@
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
  <HTML>
  <HEAD>
- <!-- This HTML file has been created by texi2html 1.45
-      from fftw.texi on 8 September 1997 -->
+ <!-- This HTML file has been created by texi2html 1.52
 -     from fftw.texi on 28 September 1998 -->
++     from fftw.texi on 1 October 1998 -->
  
- <TITLE>FFTW 1.2 User's Manual - License and Copyright</TITLE>
+ <TITLE>FFTW - License and Copyright</TITLE>
  </HEAD>
  <BODY TEXT="#000000" BGCOLOR="#FFFFFF">
- Go to the <A HREF="fftw_1.html">first</A>, <A HREF="fftw_8.html">previous</A>, next, last section, <A HREF="fftw_toc.html">table of contents</A>.
- <HR>
+ Go to the <A HREF="fftw_1.html">first</A>, <A HREF="fftw_8.html">previous</A>, <A HREF="fftw_10.html">next</A>, <A HREF="fftw_10.html">last</A> section, <A HREF="fftw_toc.html">table of contents</A>.
+ <P><HR><P>
  
  
- <H1><A NAME="SEC37">License and Copyright</A></H1>
+ <H1><A NAME="SEC56">License and Copyright</A></H1>
  
  <P>
- The authors place no restriction on the use of this software for
- non-commercial purposes.  However, <EM>we ask you to acknowledge FFTW
- and its authors in any program, paper, or derived work</EM> in which you
- used FFTW.
- 
- 
- <P>
- In order to incorporate any derivation of this software into a
- commercial product, you must pay a small fee to acquire a license from
- MIT's Technology Licensing Office.  Users interested in a commercial
- license should contact us (<CODE>fftw at theory.lcs.mit.edu</CODE>) for more
- information.
- 
- 
- <P>
- In addition, MIT requires that you comply with the following
- statement:
+ FFTW is copyright © 1997, 1998 Massachusetts Institute of
+ Technology.
  
  
  <P>
diff --cc doc/fftw_foot.html
index 0e99ea1,de0e2a1..ed40669
--- a/doc/fftw_foot.html
+++ b/doc/fftw_foot.html
@@@ -1,27 -1,45 +1,45 @@@
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
  <HTML>
  <HEAD>
- <!-- This HTML file has been created by texi2html 1.45
-      from fftw.texi on 8 September 1997 -->
+ <!-- This HTML file has been created by texi2html 1.52
 -     from fftw.texi on 28 September 1998 -->
++     from fftw.texi on 1 October 1998 -->
  
- <TITLE>FFTW 1.2 User's Manual - Footnotes</TITLE>
+ <TITLE>FFTW - Footnotes</TITLE>
  </HEAD>
  <BODY TEXT="#000000" BGCOLOR="#FFFFFF">
- <H1>FFTW 1.2 User's Manual</H1>
- <H3><A NAME="FOOT1" HREF="fftw_2.html#FOOT1">(1)</A></H3>
- <P>The reason why FFTW is
- designed to compute many transforms is that simply calling FFTW many
- times slows down multi-dimensional transforms.  It is better to move the
- loop <EM>inside</EM> FFTW.
- <H3><A NAME="FOOT2" HREF="fftw_5.html#FOOT2">(2)</A></H3>
+ <H1>FFTW</H1>
+ <H2>For version 2.0.1, 28 September 1998</H2>
+ <P>
+ <P><HR><P>
+ <H3><A NAME="FOOT1" HREF="fftw_2.html#DOCF1">(1)</A></H3>
+ <P>Not unlike a well-known US
+ president.
+ <H3><A NAME="FOOT2" HREF="fftw_2.html#DOCF2">(2)</A></H3>
+ <P>The output for the
+ multi-dimensional rfftw is a more-conventional array of
+ <CODE>fftw_complex</CODE> values, but the format here permitted us greater
+ efficiency in one dimension.
+ <H3><A NAME="FOOT3" HREF="fftw_6.html#DOCF3">(3)</A></H3>
  <P>The basic problem is the resolution of the clock:
  FFTW needs to run for a certain time for the clock to be reliable.
- <H3><A NAME="FOOT3" HREF="fftw_5.html#FOOT3">(3)</A></H3>
+ <H3><A NAME="FOOT4" HREF="fftw_6.html#DOCF4">(4)</A></H3>
  <P><CODE>fftwnd</CODE> actually may use some temporary
  storage (hidden in the plan), but this storage space is only the size of
  the largest dimension of the array, rather than being as big as the
  entire array.  (Unless you use <CODE>fftwnd</CODE> to perform one-dimensional
  transforms, in which case the temporary storage required for in-place
  transforms <EM>is</EM> as big as the entire array.)
+ <H3><A NAME="FOOT5" HREF="fftw_6.html#DOCF5">(5)</A></H3>
+ <P>The etymologically-correct spelling would be
+ <CODE>frftw_</CODE>, but it is hard to remember.
+ <H3><A NAME="FOOT6" HREF="fftw_7.html#DOCF6">(6)</A></H3>
+ <P>Each version of <CODE>cc</CODE>
+ 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. "<CODE>-Omax</CODE>", by now.
+ <P><HR><P>
 -This document was generated on 28 September 1998 using the
++This document was generated on 1 October 1998 using the
+ <A HREF="http://wwwinfo.cern.ch/dis/texi2html/">texi2html</A>
+ translator version 1.52. (properly hacked by athena at theory.lcs.mit.edu)</P>
  </BODY>
  </HTML>
diff --cc doc/fftw_toc.html
index bf031a9,62691da..6dd0240
--- a/doc/fftw_toc.html
+++ b/doc/fftw_toc.html
@@@ -1,76 -1,100 +1,100 @@@
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
  <HTML>
  <HEAD>
- <!-- This HTML file has been created by texi2html 1.45
-      from fftw.texi on 8 September 1997 -->
+ <!-- This HTML file has been created by texi2html 1.52
 -     from fftw.texi on 28 September 1998 -->
++     from fftw.texi on 1 October 1998 -->
  
- <TITLE>FFTW 1.2 User's Manual - Table of Contents</TITLE>
+ <TITLE>FFTW - Table of Contents</TITLE>
  </HEAD>
  <BODY TEXT="#000000" BGCOLOR="#FFFFFF">
- <H1>FFTW 1.2 User's Manual</H1>
+ <H1>FFTW</H1>
+ <H2>For version 2.0.1, 28 September 1998</H2>
  <P>
+ <P><HR><P>
  <UL>
- <LI><A NAME="SEC1" HREF="fftw_1.html#SEC1">Introduction</A>
- <LI><A NAME="SEC2" HREF="fftw_2.html#SEC2">Quick Start</A>
+ <LI><A NAME="TOC1" HREF="fftw_1.html#SEC1">Introduction</A>
+ <LI><A NAME="TOC2" HREF="fftw_2.html#SEC2">Tutorial</A>
  <UL>
- <LI><A NAME="SEC3" HREF="fftw_2.html#SEC3">What FFTW really computes.</A>
- <LI><A NAME="SEC4" HREF="fftw_2.html#SEC4">Example program using FFTW.</A>
+ <LI><A NAME="TOC3" HREF="fftw_2.html#SEC3">Complex One-dimensional Transforms Tutorial</A>
+ <LI><A NAME="TOC4" HREF="fftw_2.html#SEC4">Complex Multi-dimensional Transforms Tutorial</A>
+ <LI><A NAME="TOC5" HREF="fftw_2.html#SEC5">Real One-dimensional Transforms Tutorial</A>
+ <LI><A NAME="TOC6" HREF="fftw_2.html#SEC6">Real Multi-dimensional Transforms Tutorial</A>
  </UL>
- <LI><A NAME="SEC5" HREF="fftw_3.html#SEC5">Quick Start for Multi-dimensional Transforms</A>
+ <LI><A NAME="TOC7" HREF="fftw_3.html#SEC7">Words of Wisdom</A>
  <UL>
- <LI><A NAME="SEC6" HREF="fftw_3.html#SEC6">Examples of Use</A>
- <LI><A NAME="SEC7" HREF="fftw_3.html#SEC7">What FFTWND really computes.</A>
+ <LI><A NAME="TOC8" HREF="fftw_3.html#SEC8">Caveats in Using Wisdom</A>
+ <LI><A NAME="TOC9" HREF="fftw_3.html#SEC9">Importing and Exporting Wisdom</A>
  </UL>
- <LI><A NAME="SEC8" HREF="fftw_4.html#SEC8">Words of Wisdom</A>
+ <LI><A NAME="TOC10" HREF="fftw_4.html#SEC10">Multi-dimensional Array Format</A>
  <UL>
- <LI><A NAME="SEC9" HREF="fftw_4.html#SEC9">Caveats in using wisdom</A>
- <LI><A NAME="SEC10" HREF="fftw_4.html#SEC10">Importing and exporting wisdom</A>
+ <LI><A NAME="TOC11" HREF="fftw_4.html#SEC11">Row-major Format</A>
+ <LI><A NAME="TOC12" HREF="fftw_4.html#SEC12">Column-major Format</A>
+ <LI><A NAME="TOC13" HREF="fftw_4.html#SEC13">Static Arrays in C</A>
+ <LI><A NAME="TOC14" HREF="fftw_4.html#SEC14">Dynamic Arrays in C</A>
+ <LI><A NAME="TOC15" HREF="fftw_4.html#SEC15">Dynamic Arrays in C--The Wrong Way</A>
  </UL>
- <LI><A NAME="SEC11" HREF="fftw_5.html#SEC11">FFTW Reference</A>
+ <LI><A NAME="TOC16" HREF="fftw_5.html#SEC16">Parallel Computing and FFTW</A>
  <UL>
- <LI><A NAME="SEC12" HREF="fftw_5.html#SEC12">Complex Numbers</A>
- <LI><A NAME="SEC13" HREF="fftw_5.html#SEC13">Plan Creation for One-dimensional Transforms</A>
- <UL>
- <LI><A NAME="SEC14" HREF="fftw_5.html#SEC14">Arguments</A>
+ <LI><A NAME="TOC17" HREF="fftw_5.html#SEC17">Parallel Transform Routines</A>
+ <LI><A NAME="TOC18" HREF="fftw_5.html#SEC18">Thread-safety</A>
  </UL>
- <LI><A NAME="SEC15" HREF="fftw_5.html#SEC15">Plan Creation for Multi-dimensional Transforms</A>
+ <LI><A NAME="TOC19" HREF="fftw_6.html#SEC19">FFTW Reference</A>
+ <UL>
+ <LI><A NAME="TOC20" HREF="fftw_6.html#SEC20">Data Types</A>
+ <LI><A NAME="TOC21" HREF="fftw_6.html#SEC21">One-dimensional Transforms Reference</A>
  <UL>
- <LI><A NAME="SEC16" HREF="fftw_5.html#SEC16">Arguments</A>
+ <LI><A NAME="TOC22" HREF="fftw_6.html#SEC22">Plan Creation for One-dimensional Transforms</A>
+ <LI><A NAME="TOC23" HREF="fftw_6.html#SEC23">Discussion on Specific Plans</A>
+ <LI><A NAME="TOC24" HREF="fftw_6.html#SEC24">Computing the One-dimensional Transform</A>
+ <LI><A NAME="TOC25" HREF="fftw_6.html#SEC25">Destroying a One-dimensional Plan</A>
+ <LI><A NAME="TOC26" HREF="fftw_6.html#SEC26">What FFTW Really Computes</A>
  </UL>
- <LI><A NAME="SEC17" HREF="fftw_5.html#SEC17">Computing the one-dimensional transform</A>
+ <LI><A NAME="TOC27" HREF="fftw_6.html#SEC27">Multi-dimensional Transforms Reference</A>
  <UL>
- <LI><A NAME="SEC18" HREF="fftw_5.html#SEC18">Arguments</A>
+ <LI><A NAME="TOC28" HREF="fftw_6.html#SEC28">Plan Creation for Multi-dimensional Transforms</A>
+ <LI><A NAME="TOC29" HREF="fftw_6.html#SEC29">Computing the Multi-dimensional Transform</A>
+ <LI><A NAME="TOC30" HREF="fftw_6.html#SEC30">Destroying a Multi-dimensional Plan</A>
+ <LI><A NAME="TOC31" HREF="fftw_6.html#SEC31">What FFTWND Really Computes</A>
  </UL>
- <LI><A NAME="SEC19" HREF="fftw_5.html#SEC19">Computing the multi-dimensional transform</A>
+ <LI><A NAME="TOC32" HREF="fftw_6.html#SEC32">Real One-dimensional Transforms Reference</A>
  <UL>
- <LI><A NAME="SEC20" HREF="fftw_5.html#SEC20">Arguments</A>
+ <LI><A NAME="TOC33" HREF="fftw_6.html#SEC33">Plan Creation for Real One-dimensional Transforms</A>
+ <LI><A NAME="TOC34" HREF="fftw_6.html#SEC34">Computing the Real One-dimensional Transform</A>
+ <LI><A NAME="TOC35" HREF="fftw_6.html#SEC35">Destroying a Real One-dimensional Plan</A>
+ <LI><A NAME="TOC36" HREF="fftw_6.html#SEC36">What RFFTW Really Computes</A>
  </UL>
- <LI><A NAME="SEC21" HREF="fftw_5.html#SEC21">Destroying a one-dimensional plan</A>
- <LI><A NAME="SEC22" HREF="fftw_5.html#SEC22">Destroying a multi-dimensional plan</A>
- <LI><A NAME="SEC23" HREF="fftw_5.html#SEC23">How to install your own memory allocator</A>
- <LI><A NAME="SEC24" HREF="fftw_5.html#SEC24">Exporting wisdom</A>
- <LI><A NAME="SEC25" HREF="fftw_5.html#SEC25">Importing wisdom</A>
- <LI><A NAME="SEC26" HREF="fftw_5.html#SEC26">Forgetting wisdom</A>
+ <LI><A NAME="TOC37" HREF="fftw_6.html#SEC37">Real Multi-dimensional Transforms Reference</A>
+ <UL>
+ <LI><A NAME="TOC38" HREF="fftw_6.html#SEC38">Plan Creation for Real Multi-dimensional Transforms</A>
+ <LI><A NAME="TOC39" HREF="fftw_6.html#SEC39">Computing the Real Multi-dimensional Transform</A>
+ <LI><A NAME="TOC40" HREF="fftw_6.html#SEC40">Array Dimensions for Real Multi-dimensional Transforms</A>
+ <LI><A NAME="TOC41" HREF="fftw_6.html#SEC41">Strides in In-place RFFTWND</A>
+ <LI><A NAME="TOC42" HREF="fftw_6.html#SEC42">Destroying a Multi-dimensional Plan</A>
+ <LI><A NAME="TOC43" HREF="fftw_6.html#SEC43">What RFFTWND Really Computes</A>
  </UL>
- <LI><A NAME="SEC27" HREF="fftw_6.html#SEC27">Multi-dimensional Array Format</A>
+ <LI><A NAME="TOC44" HREF="fftw_6.html#SEC44">Wisdom Reference</A>
  <UL>
- <LI><A NAME="SEC28" HREF="fftw_6.html#SEC28">Row-major Format</A>
- <LI><A NAME="SEC29" HREF="fftw_6.html#SEC29">Column-major Format</A>
- <LI><A NAME="SEC30" HREF="fftw_6.html#SEC30">Static Arrays in C</A>
- <LI><A NAME="SEC31" HREF="fftw_6.html#SEC31">Dynamic Arrays in C</A>
- <LI><A NAME="SEC32" HREF="fftw_6.html#SEC32">Dynamic Arrays in C--The Wrong Way</A>
+ <LI><A NAME="TOC45" HREF="fftw_6.html#SEC45">Exporting Wisdom</A>
+ <LI><A NAME="TOC46" HREF="fftw_6.html#SEC46">Importing Wisdom</A>
+ <LI><A NAME="TOC47" HREF="fftw_6.html#SEC47">Forgetting Wisdom</A>
+ </UL>
+ <LI><A NAME="TOC48" HREF="fftw_6.html#SEC48">Memory Allocator Reference</A>
  </UL>
- <LI><A NAME="SEC33" HREF="fftw_7.html#SEC33">Installation</A>
+ <LI><A NAME="TOC49" HREF="fftw_7.html#SEC49">Installation and Customization</A>
  <UL>
- <LI><A NAME="SEC34" HREF="fftw_7.html#SEC34">Customizing the clock</A>
- <LI><A NAME="SEC35" HREF="fftw_7.html#SEC35">Generating your own code</A>
+ <LI><A NAME="TOC50" HREF="fftw_7.html#SEC50">Installation on Unix</A>
+ <LI><A NAME="TOC51" HREF="fftw_7.html#SEC51">Installation on non-Unix Systems</A>
+ <LI><A NAME="TOC52" HREF="fftw_7.html#SEC52"><CODE>gcc</CODE> and Pentium/PentiumPro hacks</A>
+ <LI><A NAME="TOC53" HREF="fftw_7.html#SEC53">Customizing the timer</A>
+ <LI><A NAME="TOC54" HREF="fftw_7.html#SEC54">Generating your own code</A>
  </UL>
- <LI><A NAME="SEC36" HREF="fftw_8.html#SEC36">Acknowledgments</A>
- <LI><A NAME="SEC37" HREF="fftw_9.html#SEC37">License and Copyright</A>
+ <LI><A NAME="TOC55" HREF="fftw_8.html#SEC55">Acknowledgments</A>
+ <LI><A NAME="TOC56" HREF="fftw_9.html#SEC56">License and Copyright</A>
+ <LI><A NAME="TOC57" HREF="fftw_10.html#SEC57">Index</A>
  </UL>
- <HR>
- <P>This document was generated on 8 September 1997 using the
- <A HREF="http://wwwcn.cern.ch/dci/texi2html/">texi2html</A>
- translator version 1.45. (properly hacked by athena at theory.lcs.mit.edu)
+ <P><HR><P>
 -This document was generated on 28 September 1998 using the
++This document was generated on 1 October 1998 using the
+ <A HREF="http://wwwinfo.cern.ch/dis/texi2html/">texi2html</A>
+ translator version 1.52. (properly hacked by athena at theory.lcs.mit.edu)</P>
  </BODY>
  </HTML>
diff --cc fftw/Makefile
index 0000000,0000000..8512439
new file mode 100644
--- /dev/null
+++ b/fftw/Makefile
@@@ -1,0 -1,0 +1,372 @@@
++# Generated automatically from Makefile.in by configure.
++# Makefile.in generated automatically by automake 1.3 from Makefile.am
++
++# Copyright (C) 1994, 1995, 1996, 1997, 1998 Free Software Foundation, Inc.
++# This Makefile.in is free software; the Free Software Foundation
++# gives unlimited permission to copy and/or distribute it,
++# with or without modifications, as long as this notice is preserved.
++
++# This program is distributed in the hope that it will be useful,
++# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
++# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
++# PARTICULAR PURPOSE.
++
++# This file was automatically generated
++# DO NOT EDIT!
++#
++
++
++SHELL = /bin/sh
++
++srcdir = .
++top_srcdir = ..
++prefix = /usr
++exec_prefix = ${prefix}
++
++bindir = ${exec_prefix}/bin
++sbindir = ${exec_prefix}/sbin
++libexecdir = ${exec_prefix}/libexec
++datadir = ${prefix}/share
++sysconfdir = ${prefix}/etc
++sharedstatedir = ${prefix}/com
++localstatedir = ${prefix}/var
++libdir = ${exec_prefix}/lib
++infodir = ${prefix}/info
++mandir = ${prefix}/man
++includedir = ${prefix}/include
++oldincludedir = /usr/include
++
++DISTDIR =
++
++pkgdatadir = $(datadir)/fftw
++pkglibdir = $(libdir)/fftw
++pkgincludedir = $(includedir)/fftw
++
++top_builddir = ..
++
++ACLOCAL = aclocal
++AUTOCONF = autoconf
++AUTOMAKE = automake
++
++INSTALL = /usr/bin/install -c
++INSTALL_PROGRAM = ${INSTALL}
++INSTALL_DATA = ${INSTALL} -m 644
++INSTALL_SCRIPT = ${INSTALL_PROGRAM}
++transform = s,x,x,
++
++NORMAL_INSTALL = :
++PRE_INSTALL = :
++POST_INSTALL = :
++NORMAL_UNINSTALL = :
++PRE_UNINSTALL = :
++POST_UNINSTALL = :
++host_alias = i586-pc-linux-gnu
++host_triplet = i586-pc-linux-gnu
++CC = cc
++LD = /usr/bin/ld
++LIBTOOL = $(SHELL) $(top_builddir)/libtool
++LN_S = ln -s
++MAKEINFO = makeinfo
++NM = /usr/bin/nm -B
++PACKAGE = fftw
++PERL = perl
++RANLIB = ranlib
++SHARED_VERSION_INFO = 2:1:0
++VERSION = 2.0.1
++
++lib_LTLIBRARIES = libfftw.la
++include_HEADERS = fftw.h
++INCLUDES = -I$(srcdir)/../fftw -I$(srcdir)
++
++NOTW_CODELETS= fn_1.c fn_2.c fn_3.c fn_4.c fn_5.c fn_6.c fn_7.c fn_8.c fn_9.c fn_10.c fn_11.c fn_12.c fn_13.c fn_14.c fn_15.c fn_16.c fn_32.c fn_64.c
++TWID_CODELETS= ftw_2.c ftw_3.c ftw_4.c ftw_5.c ftw_6.c ftw_7.c ftw_8.c ftw_9.c ftw_10.c ftw_16.c ftw_32.c ftw_64.c
++NOTWI_CODELETS= fni_1.c fni_2.c fni_3.c fni_4.c fni_5.c fni_6.c fni_7.c fni_8.c fni_9.c fni_10.c fni_11.c fni_12.c fni_13.c fni_14.c fni_15.c fni_16.c fni_32.c fni_64.c
++TWIDI_CODELETS= ftwi_2.c ftwi_3.c ftwi_4.c ftwi_5.c ftwi_6.c ftwi_7.c ftwi_8.c ftwi_9.c ftwi_10.c ftwi_16.c ftwi_32.c ftwi_64.c
++
++CODELETS=$(NOTW_CODELETS) $(TWID_CODELETS) $(NOTWI_CODELETS) $(TWIDI_CODELETS)
++OTHERSRC = timer.c config.c planner.c twiddle.c executor.c \
++	generic.c fftwnd.c malloc.c wisdom.c wisdomio.c putils.c rader.c
++
++libfftw_la_SOURCES = $(CODELETS) $(OTHERSRC) fftw.h fftw-int.h
++libfftw_la_LDFLAGS = -version-info 2:1:0
++MAINTAINERCLEANFILES = $(CODELETS) config.c
++
++# for some reason, automake tries to use autoheader in order to
++# generate config.h.in, and fails because config.h.in is GNU-lly
++# incorrect.  Just disable autoheader
++AUTOHEADER=echo
++mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
++CONFIG_HEADER = config.h fftw.h
++CONFIG_CLEAN_FILES = 
++LTLIBRARIES =  $(lib_LTLIBRARIES)
++
++
++DEFS = -DHAVE_CONFIG_H -I. -I$(srcdir) -I. -I.
++CPPFLAGS = 
++LDFLAGS = 
++LIBS = -lm 
++libfftw_la_LIBADD = 
++libfftw_la_OBJECTS =  fn_1.lo fn_2.lo fn_3.lo fn_4.lo fn_5.lo fn_6.lo \
++fn_7.lo fn_8.lo fn_9.lo fn_10.lo fn_11.lo fn_12.lo fn_13.lo fn_14.lo \
++fn_15.lo fn_16.lo fn_32.lo fn_64.lo ftw_2.lo ftw_3.lo ftw_4.lo ftw_5.lo \
++ftw_6.lo ftw_7.lo ftw_8.lo ftw_9.lo ftw_10.lo ftw_16.lo ftw_32.lo \
++ftw_64.lo fni_1.lo fni_2.lo fni_3.lo fni_4.lo fni_5.lo fni_6.lo \
++fni_7.lo fni_8.lo fni_9.lo fni_10.lo fni_11.lo fni_12.lo fni_13.lo \
++fni_14.lo fni_15.lo fni_16.lo fni_32.lo fni_64.lo ftwi_2.lo ftwi_3.lo \
++ftwi_4.lo ftwi_5.lo ftwi_6.lo ftwi_7.lo ftwi_8.lo ftwi_9.lo ftwi_10.lo \
++ftwi_16.lo ftwi_32.lo ftwi_64.lo timer.lo config.lo planner.lo \
++twiddle.lo executor.lo generic.lo fftwnd.lo malloc.lo wisdom.lo \
++wisdomio.lo putils.lo rader.lo
++CFLAGS = -O6 -fomit-frame-pointer -Wall -W -Wcast-qual -Wpointer-arith -Wcast-align -pedantic -malign-double 
++COMPILE = $(CC) $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS)
++LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS)
++LINK = $(LIBTOOL) --mode=link $(CC) $(CFLAGS) $(LDFLAGS) -o $@
++HEADERS =  $(include_HEADERS)
++
++DIST_COMMON =  Makefile.am Makefile.in config.h.in fftw.h.in stamp-h1.in \
++stamp-h2.in
++
++
++DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
++
++TAR = tar
++GZIP = --best
++SOURCES = $(libfftw_la_SOURCES)
++OBJECTS = $(libfftw_la_OBJECTS)
++
++all: Makefile $(LTLIBRARIES) $(HEADERS) config.h fftw.h
++
++.SUFFIXES:
++.SUFFIXES: .S .c .lo .o .s
++$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
++	cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps fftw/Makefile
++
++Makefile: $(srcdir)/Makefile.in  $(top_builddir)/config.status
++	cd $(top_builddir) \
++	  && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
++
++
++config.h: stamp-h1
++	@:
++stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status
++	cd $(top_builddir) \
++	  && CONFIG_FILES= CONFIG_HEADERS=fftw/config.h \
++	     $(SHELL) ./config.status
++	@echo timestamp > stamp-h1
++$(srcdir)/config.h.in: $(srcdir)/stamp-h1.in
++$(srcdir)/stamp-h1.in: $(top_srcdir)/configure.in $(ACLOCAL_M4) 
++	cd $(top_srcdir) && $(AUTOHEADER)
++	@echo timestamp > $(srcdir)/stamp-h1.in
++
++fftw.h: stamp-h2
++	@:
++stamp-h2: $(srcdir)/fftw.h.in $(top_builddir)/config.status
++	cd $(top_builddir) \
++	  && CONFIG_FILES= CONFIG_HEADERS=fftw/fftw.h \
++	     $(SHELL) ./config.status
++	@echo timestamp > stamp-h2
++$(srcdir)/fftw.h.in: $(srcdir)/stamp-h2.in
++$(srcdir)/stamp-h2.in: $(top_srcdir)/configure.in $(ACLOCAL_M4) 
++	cd $(top_srcdir) && $(AUTOHEADER)
++	@echo timestamp > $(srcdir)/stamp-h2.in
++
++mostlyclean-hdr:
++
++clean-hdr:
++
++distclean-hdr:
++	-rm -f config.h fftw.h
++
++maintainer-clean-hdr:
++
++mostlyclean-libLTLIBRARIES:
++
++clean-libLTLIBRARIES:
++	-test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES)
++
++distclean-libLTLIBRARIES:
++
++maintainer-clean-libLTLIBRARIES:
++
++install-libLTLIBRARIES: $(lib_LTLIBRARIES)
++	@$(NORMAL_INSTALL)
++	$(mkinstalldirs) $(DESTDIR)$(libdir)
++	@list='$(lib_LTLIBRARIES)'; for p in $$list; do \
++	  if test -f $$p; then \
++	    echo "$(LIBTOOL)  --mode=install $(INSTALL_DATA) $$p $(DESTDIR)$(libdir)/$$p"; \
++	    $(LIBTOOL)  --mode=install $(INSTALL_DATA) $$p $(DESTDIR)$(libdir)/$$p; \
++	  else :; fi; \
++	done
++
++uninstall-libLTLIBRARIES:
++	@$(NORMAL_UNINSTALL)
++	list='$(lib_LTLIBRARIES)'; for p in $$list; do \
++	  $(LIBTOOL)  --mode=uninstall rm -f $(DESTDIR)$(libdir)/$$p; \
++	done
++
++.c.o:
++	$(COMPILE) -c $<
++
++.s.o:
++	$(COMPILE) -c $<
++
++.S.o:
++	$(COMPILE) -c $<
++
++mostlyclean-compile:
++	-rm -f *.o core *.core
++
++clean-compile:
++
++distclean-compile:
++	-rm -f *.tab.c
++
++maintainer-clean-compile:
++
++.c.lo:
++	$(LIBTOOL) --mode=compile $(COMPILE) -c $<
++
++.s.lo:
++	$(LIBTOOL) --mode=compile $(COMPILE) -c $<
++
++.S.lo:
++	$(LIBTOOL) --mode=compile $(COMPILE) -c $<
++
++mostlyclean-libtool:
++	-rm -f *.lo
++
++clean-libtool:
++	-rm -rf .libs _libs
++
++distclean-libtool:
++
++maintainer-clean-libtool:
++
++libfftw.la: $(libfftw_la_OBJECTS) $(libfftw_la_DEPENDENCIES)
++	$(LINK) -rpath $(libdir) $(libfftw_la_LDFLAGS) $(libfftw_la_OBJECTS) $(libfftw_la_LIBADD) $(LIBS)
++
++install-includeHEADERS: $(include_HEADERS)
++	@$(NORMAL_INSTALL)
++	$(mkinstalldirs) $(DESTDIR)$(includedir)
++	@list='$(include_HEADERS)'; for p in $$list; do \
++	  if test -f "$$p"; then d= ; else d="$(srcdir)/"; fi; \
++	  echo " $(INSTALL_DATA) $$d$$p $(DESTDIR)$(includedir)/$$p"; \
++	  $(INSTALL_DATA) $$d$$p $(DESTDIR)$(includedir)/$$p; \
++	done
++
++uninstall-includeHEADERS:
++	@$(NORMAL_UNINSTALL)
++	list='$(include_HEADERS)'; for p in $$list; do \
++	  rm -f $(DESTDIR)$(includedir)/$$p; \
++	done
++
++tags: TAGS
++
++ID: $(HEADERS) $(SOURCES) $(LISP)
++	here=`pwd` && cd $(srcdir) \
++	  && mkid -f$$here/ID $(SOURCES) $(HEADERS) $(LISP)
++
++TAGS:  $(HEADERS) $(SOURCES) config.h.in fftw.h.in $(TAGS_DEPENDENCIES) $(LISP)
++	tags=; \
++	here=`pwd`; \
++	list='$(SOURCES) $(HEADERS)'; \
++	unique=`for i in $$list; do echo $$i; done | \
++	  awk '    { files[$$0] = 1; } \
++	       END { for (i in files) print i; }'`; \
++	test -z "$(ETAGS_ARGS)config.h.in fftw.h.in$$unique$(LISP)$$tags" \
++	  || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags config.h.in fftw.h.in $$unique $(LISP) -o $$here/TAGS)
++
++mostlyclean-tags:
++
++clean-tags:
++
++distclean-tags:
++	-rm -f TAGS ID
++
++maintainer-clean-tags:
++
++distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
++
++subdir = fftw
++
++distdir: $(DISTFILES)
++	@for file in $(DISTFILES); do \
++	  d=$(srcdir); \
++	  test -f $(distdir)/$$file \
++	  || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
++	  || cp -p $$d/$$file $(distdir)/$$file; \
++	done
++
++info:
++dvi:
++check: all
++	$(MAKE)
++installcheck:
++install-exec: install-libLTLIBRARIES
++	@$(NORMAL_INSTALL)
++
++install-data: install-includeHEADERS
++	@$(NORMAL_INSTALL)
++
++install: install-exec install-data all
++	@:
++
++uninstall: uninstall-libLTLIBRARIES uninstall-includeHEADERS
++
++install-strip:
++	$(MAKE) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' INSTALL_SCRIPT='$(INSTALL_PROGRAM)' install
++installdirs:
++	$(mkinstalldirs)  $(DATADIR)$(libdir) $(DATADIR)$(includedir)
++
++
++mostlyclean-generic:
++	-test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
++
++clean-generic:
++	-test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
++
++distclean-generic:
++	-rm -f Makefile $(DISTCLEANFILES)
++	-rm -f config.cache config.log stamp-h stamp-h[0-9]*
++	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
++
++maintainer-clean-generic:
++	-test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
++	-test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
++mostlyclean:  mostlyclean-hdr mostlyclean-libLTLIBRARIES \
++		mostlyclean-compile mostlyclean-libtool \
++		mostlyclean-tags mostlyclean-generic
++
++clean:  clean-hdr clean-libLTLIBRARIES clean-compile clean-libtool \
++		clean-tags clean-generic mostlyclean
++
++distclean:  distclean-hdr distclean-libLTLIBRARIES distclean-compile \
++		distclean-libtool distclean-tags distclean-generic \
++		clean
++	-rm -f config.status
++	-rm -f libtool
++
++maintainer-clean:  maintainer-clean-hdr maintainer-clean-libLTLIBRARIES \
++		maintainer-clean-compile maintainer-clean-libtool \
++		maintainer-clean-tags maintainer-clean-generic \
++		distclean
++	@echo "This command is intended for maintainers to use;"
++	@echo "it deletes files that may require special tools to rebuild."
++
++.PHONY: mostlyclean-hdr distclean-hdr clean-hdr maintainer-clean-hdr \
++mostlyclean-libLTLIBRARIES distclean-libLTLIBRARIES \
++clean-libLTLIBRARIES maintainer-clean-libLTLIBRARIES \
++uninstall-libLTLIBRARIES install-libLTLIBRARIES mostlyclean-compile \
++distclean-compile clean-compile maintainer-clean-compile \
++mostlyclean-libtool distclean-libtool clean-libtool \
++maintainer-clean-libtool uninstall-includeHEADERS \
++install-includeHEADERS tags mostlyclean-tags distclean-tags clean-tags \
++maintainer-clean-tags distdir info dvi installcheck install-exec \
++install-data install uninstall all installdirs mostlyclean-generic \
++distclean-generic clean-generic maintainer-clean-generic clean \
++mostlyclean distclean maintainer-clean
++
++
++# Tell versions [3.59,3.63) of GNU make to not export all variables.
++# Otherwise a system limit (for SysV at least) may be exceeded.
++.NOEXPORT:
diff --cc fftw/config.h
index 0000000,3788953..9ecc3b2
mode 000000,100644..100644
--- a/fftw/config.h
+++ b/fftw/config.h
@@@ -1,0 -1,94 +1,95 @@@
++/* fftw/config.h.  Generated automatically by configure.  */
+ /* -*- C -*- */
+ /*
+  * Copyright (c) 1997,1998 Massachusetts Institute of Technology
+  *
+  * This program is free software; you can redistribute it and/or modify
+  * it under the terms of the GNU General Public License as published by
+  * the Free Software Foundation; either version 2 of the License, or
+  * (at your option) any later version.
+  *
+  * This program is distributed in the hope that it will be useful,
+  * but WITHOUT ANY WARRANTY; without even the implied warranty of
+  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+  * GNU General Public License for more details.
+  *
+  * You should have received a copy of the GNU General Public License
+  * along with this program; if not, write to the Free Software
+  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+  *
+  */
+ 
+ /* fftw.h -- system-wide definitions */
+ /* $Id: config.h.in,v 1.13 1998/09/28 19:18:53 athena Exp $ */
+ 
+ /* configuration options (guessed by configure) */
+ 
+ /* Define to empty if the keyword does not work.  */
+ /* #undef const */
+ 
+ /* Define if you have the gettimeofday function.  */
 -/* #undef HAVE_GETTIMEOFDAY */
++#define HAVE_GETTIMEOFDAY 1
+ 
+ /* Define if you have the BSDgettimeofday function.  */
+ /* #undef HAVE_BSDGETTIMEOFDAY */
+ 
+ /* Define if you have the <sys/time.h> header file.  */
 -/* #undef HAVE_SYS_TIME_H */
++#define HAVE_SYS_TIME_H 1
+ 
+ /* Define if you have the <unistd.h> header file.  */
 -/* #undef HAVE_UNISTD_H */
++#define HAVE_UNISTD_H 1
+ 
+ /* Define if you have the <getopt.h> header file.  */
 -/* #undef HAVE_GETOPT_H */
++#define HAVE_GETOPT_H 1
+ 
+ /* Define if you have the <malloc.h> header file */
 -/* #undef HAVE_MALLOC_H */
++#define HAVE_MALLOC_H 1
+ 
+ /* Define if you have gethrtime() a la Solaris 2 */
+ /* #undef HAVE_GETHRTIME */
+ 
+ /* Define if you have getopt() */
 -/* #undef HAVE_GETOPT */
++#define HAVE_GETOPT 1
+ 
+ /* Define if you have isnan() */
 -/* #undef HAVE_ISNAN */
++#define HAVE_ISNAN 1
+ 
+ /* Define for enabling the high resolution Pentium timer */
+ /* #undef FFTW_ENABLE_PENTIUM_TIMER */
+ 
+ /*
+  * When using FFTW_ENABLE_PENTIUM_TIMER, set FFTW_CYCLES_PER_SEC 
+  * to your real CPU clock speed! 
+  */
+ /* This is for 200 MHz */
+ /* #define FFTW_CYCLES_PER_SEC 200000000L */
+ 
+ /*
+  * Define to enable a gcc/x86 specific hack that aligns
+  * the stack to an 8-byte boundary 
+  */
 -/* #undef FFTW_ENABLE_I386_HACKS */
++#define FFTW_ENABLE_I386_HACKS 1
+ 
+ /* Define to enable extra runtime checks for debugging. */
+ /* #undef FFTW_DEBUG */
+ 
+ /*
+  * Define to enable extra runtime checks for the alignment of variables
+  * in the codelets (causes coredump for misaligned double on x86). 
+  */
+ /* #undef FFTW_DEBUG_ALIGNMENT */
+ 
+ #define FFTW_VERSION "2.0.1" 
+ 
+ /* Use Win32 high-resolution timer */
+ #if defined(__WIN32__) || defined(WIN32) || defined(_WINDOWS)
+ #define HAVE_WIN32_TIMER
+ #endif
+ 
+ /* Use MacOS Time Manager timer */
+ #if defined(MAC) || defined(macintosh)
+ #define HAVE_MAC_TIMER
+ 
+ /* Define to use nanosecond timer on PCI PowerMacs: */
+ /* #undef HAVE_MAC_PCI_TIMER */
+ #endif
diff --cc fftw/fftw.h
index 0000000,8d14cdc..577b219
mode 000000,100644..100644
--- a/fftw/fftw.h
+++ b/fftw/fftw.h
@@@ -1,0 -1,412 +1,413 @@@
++/* fftw/fftw.h.  Generated automatically by configure.  */
+ /* -*- C -*- */
+ /*
+  * Copyright (c) 1997,1998 Massachusetts Institute of Technology
+  *
+  * This program is free software; you can redistribute it and/or modify
+  * it under the terms of the GNU General Public License as published by
+  * the Free Software Foundation; either version 2 of the License, or
+  * (at your option) any later version.
+  *
+  * This program is distributed in the hope that it will be useful,
+  * but WITHOUT ANY WARRANTY; without even the implied warranty of
+  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+  * GNU General Public License for more details.
+  *
+  * You should have received a copy of the GNU General Public License
+  * along with this program; if not, write to the Free Software
+  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+  *
+  */
+ 
+ /* fftw.h -- system-wide definitions */
+ /* $Id: fftw.h.in,v 1.49 1998/09/23 14:08:36 athena Exp $ */
+ 
+ #ifndef FFTW_H
+ #define FFTW_H
+ 
+ #include <stdlib.h>
+ #include <stdio.h>
+ 
+ #ifdef __cplusplus
+ extern "C" {
+ #endif				/* __cplusplus */
+ 
+ /* Define for using single precision */
+ /*
+  * If you can, use configure --enable-float instead of changing this
+  * flag directly 
+  */
+ /* #undef FFTW_ENABLE_FLOAT */
+ 
+ /* our real numbers */
+ #ifdef FFTW_ENABLE_FLOAT
+ typedef float fftw_real;
+ #else
+ typedef double fftw_real;
+ #endif
+ 
+ /*********************************************
+  * Complex numbers and operations 
+  *********************************************/
+ typedef struct {
+      fftw_real re, im;
+ } fftw_complex;
+ 
+ #define c_re(c)  ((c).re)
+ #define c_im(c)  ((c).im)
+ 
+ typedef enum {
+      FFTW_FORWARD = -1, FFTW_BACKWARD = 1
+ } fftw_direction;
+ 
+ /* backward compatibility with FFTW-1.3 */
+ typedef fftw_complex FFTW_COMPLEX;
+ typedef fftw_real FFTW_REAL;
+ 
+ #ifndef FFTW_1_0_COMPATIBILITY
+ #define FFTW_1_0_COMPATIBILITY 0
+ #endif
+ 
+ #if FFTW_1_0_COMPATIBILITY
+ /* backward compatibility with FFTW-1.0 */
+ #define REAL fftw_real
+ #define COMPLEX fftw_complex
+ #endif
+ 
+ /*********************************************
+  * Success or failure status
+  *********************************************/
+ 
+ typedef enum {
+      FFTW_SUCCESS = 0, FFTW_FAILURE = -1
+ } fftw_status;
+ 
+ /*********************************************
+  *              Codelets
+  *********************************************/
+ typedef void (fftw_notw_codelet) 
+      (const fftw_complex *, fftw_complex *, int, int);
+ typedef void (fftw_twiddle_codelet)
+      (fftw_complex *, const fftw_complex *, int,
+       int, int);
+ typedef void (fftw_generic_codelet) 
+      (fftw_complex *, const fftw_complex *, int,
+       int, int, int);
+ typedef void (fftw_real2hc_codelet)
+      (const fftw_real *, fftw_real *, fftw_real *,
+       int, int, int);
+ typedef void (fftw_hc2real_codelet)
+      (const fftw_real *, const fftw_real *,
+       fftw_real *, int, int, int);
+ typedef void (fftw_hc2hc_codelet)
+      (fftw_real *, const fftw_complex *,
+       int, int, int);
+ typedef void (fftw_rgeneric_codelet)
+      (fftw_real *, const fftw_complex *, int,
+       int, int, int);
+ 
+ /*********************************************
+  *     Configurations
+  *********************************************/
+ /*
+  * A configuration is a database of all known codelets
+  */
+ 
+ enum fftw_node_type {
+      FFTW_NOTW, FFTW_TWIDDLE, FFTW_GENERIC, FFTW_RADER,
+      FFTW_REAL2HC, FFTW_HC2REAL, FFTW_HC2HC, FFTW_RGENERIC
+ };
+ 
+ /* description of a codelet */
+ typedef struct {
+      const char *name;		/* name of the codelet */
+      void (*codelet) ();	/* pointer to the codelet itself */
+      int size;			/* size of the codelet */
+      fftw_direction dir;	/* direction */
+      enum fftw_node_type type;	/* TWIDDLE or NO_TWIDDLE */
+      int signature;		/* unique id */
+      int ntwiddle;		/* number of twiddle factors */
+      const int *twiddle_order;	/* 
+ 				 * array that determines the order 
+ 				 * in which the codelet expects
+ 				 * the twiddle factors
+ 				 */
+ } fftw_codelet_desc;
+ 
+ /* On Win32, you need to do funny things to access global variables
+    in shared libraries.  Thanks to Andrew Sterian for this hack. */
+ #if defined(__WIN32__) || defined(WIN32) || defined(_WINDOWS)
+ #  if defined(BUILD_FFTW_DLL)
+ #    define DL_IMPORT(type) __declspec(dllexport) type
+ #  elif defined(USE_FFTW_DLL)
+ #    define DL_IMPORT(type) __declspec(dllimport) type
+ #  else
+ #    define DL_IMPORT(type) type
+ #  endif
+ #else
+ #  define DL_IMPORT(type) type
+ #endif
+ 
+ extern DL_IMPORT(const char *) fftw_version;
+ 
+ /*****************************
+  *        Plans
+  *****************************/
+ /*
+  * A plan is a sequence of reductions to compute a FFT of
+  * a given size.  At each step, the FFT algorithm can:
+  *
+  * 1) apply a notw codelet, or
+  * 2) recurse and apply a twiddle codelet, or
+  * 3) apply the generic codelet.
+  */
+ 
+ /* structure that contains twiddle factors */
+ typedef struct fftw_twiddle_struct {
+      int n;
+      const fftw_codelet_desc *cdesc;
+      fftw_complex *twarray;
+      struct fftw_twiddle_struct *next;
+      int refcnt;
+ } fftw_twiddle;
+ 
+ typedef struct fftw_rader_data_struct {
+      struct fftw_plan_struct *plan;
+      fftw_complex *omega;
+      int g, ginv;
+      int p, flags, refcount;
+      struct fftw_rader_data_struct *next;
+      fftw_codelet_desc *cdesc;
+ } fftw_rader_data;
+ 
+ typedef void (fftw_rader_codelet) 
+      (fftw_complex *, const fftw_complex *, int,
+       int, int, fftw_rader_data *);
+ 
+ /* structure that holds all the data needed for a given step */
+ typedef struct fftw_plan_node_struct {
+      enum fftw_node_type type;
+ 
+      union {
+ 	  /* nodes of type FFTW_NOTW */
+ 	  struct {
+ 	       int size;
+ 	       fftw_notw_codelet *codelet;
+ 	       const fftw_codelet_desc *codelet_desc;
+ 	  } notw;
+ 
+ 	  /* nodes of type FFTW_TWIDDLE */
+ 	  struct {
+ 	       int size;
+ 	       fftw_twiddle_codelet *codelet;
+ 	       fftw_twiddle *tw;
+ 	       struct fftw_plan_node_struct *recurse;
+ 	       const fftw_codelet_desc *codelet_desc;
+ 	  } twiddle;
+ 
+ 	  /* nodes of type FFTW_GENERIC */
+ 	  struct {
+ 	       int size;
+ 	       fftw_generic_codelet *codelet;
+ 	       fftw_twiddle *tw;
+ 	       struct fftw_plan_node_struct *recurse;
+ 	  } generic;
+ 
+ 	  /* nodes of type FFTW_RADER */
+ 	  struct {
+ 	       int size;
+ 	       fftw_rader_codelet *codelet;
+ 	       fftw_rader_data *rader_data;
+ 	       fftw_twiddle *tw;
+ 	       struct fftw_plan_node_struct *recurse;
+ 	  } rader;
+ 
+ 	  /* nodes of type FFTW_REAL2HC */
+ 	  struct {
+ 	       int size;
+ 	       fftw_real2hc_codelet *codelet;
+ 	       const fftw_codelet_desc *codelet_desc;
+ 	  } real2hc;
+ 
+ 	  /* nodes of type FFTW_HC2REAL */
+ 	  struct {
+ 	       int size;
+ 	       fftw_hc2real_codelet *codelet;
+ 	       const fftw_codelet_desc *codelet_desc;
+ 	  } hc2real;
+ 
+ 	  /* nodes of type FFTW_HC2HC */
+ 	  struct {
+ 	       int size;
+ 	       fftw_direction dir;
+ 	       fftw_hc2hc_codelet *codelet;
+ 	       fftw_twiddle *tw;
+ 	       struct fftw_plan_node_struct *recurse;
+ 	       const fftw_codelet_desc *codelet_desc;
+ 	  } hc2hc;
+ 
+ 	  /* nodes of type FFTW_RGENERIC */
+ 	  struct {
+ 	       int size;
+ 	       fftw_direction dir;
+ 	       fftw_rgeneric_codelet *codelet;
+ 	       fftw_twiddle *tw;
+ 	       struct fftw_plan_node_struct *recurse;
+ 	  } rgeneric;
+      } nodeu;
+ 
+      int refcnt;
+ } fftw_plan_node;
+ 
+ struct fftw_plan_struct {
+      int n;
+      int refcnt;
+      fftw_direction dir;
+      int flags;
+      int wisdom_signature;
+      enum fftw_node_type wisdom_type;
+      struct fftw_plan_struct *next;
+      fftw_plan_node *root;
+      double cost;
+ };
+ 
+ /* a plan is just an array of instructions */
+ typedef struct fftw_plan_struct *fftw_plan;
+ 
+ /* flags for the planner */
+ #define  FFTW_ESTIMATE (0)
+ #define  FFTW_MEASURE  (1)
+ 
+ #define FFTW_OUT_OF_PLACE (0)
+ #define FFTW_IN_PLACE (8)
+ #define FFTW_USE_WISDOM (16)
+ 
+ #define FFTW_THREADSAFE (128)  /* guarantee plan is read-only so that the
+ 				  same plan can be used in parallel by
+ 				  multiple threads */
+ 
+ #define FFTWND_FORCE_BUFFERED (256)	/* internal, undocumented flag */
+ 
+ extern fftw_plan fftw_create_plan_specific(int n, fftw_direction dir,
+ 					   int flags,
+ 					   fftw_complex *in, int istride,
+ 					 fftw_complex *out, int ostride);
+ #define FFTW_HAS_PLAN_SPECIFIC
+ extern fftw_plan fftw_create_plan(int n, fftw_direction dir, int flags);
+ extern void fftw_print_plan(fftw_plan plan);
+ extern void fftw_destroy_plan(fftw_plan plan);
+ extern void fftw(fftw_plan plan, int howmany, fftw_complex *in, int istride,
+ 		 int idist, fftw_complex *out, int ostride, int odist);
+ extern void fftw_one(fftw_plan plan, fftw_complex *in, fftw_complex *out);
+ extern void fftw_die(const char *s);
+ extern void *fftw_malloc(size_t n);
+ extern void fftw_free(void *p);
+ extern void fftw_check_memory_leaks(void);
+ extern void fftw_print_max_memory_usage(void);
+ 
+ typedef void *(*fftw_malloc_type_function) (size_t n);
+ typedef void  (*fftw_free_type_function) (void *p);
+ typedef void  (*fftw_die_type_function) (const char *errString);
+ extern DL_IMPORT(fftw_malloc_type_function) fftw_malloc_hook;
+ extern DL_IMPORT(fftw_free_type_function) fftw_free_hook;
+ extern DL_IMPORT(fftw_die_type_function) fftw_die_hook;
+ 
+ extern size_t fftw_sizeof_fftw_real(void);
+ 
+ /* Wisdom: */
+ /*
+  * define this symbol so that users know we are using a version of FFTW
+  * with wisdom
+  */
+ #define FFTW_HAS_WISDOM
+ extern void fftw_forget_wisdom(void);
+ extern void fftw_export_wisdom(void (*emitter) (char c, void *), void *data);
+ extern fftw_status fftw_import_wisdom(int (*g) (void *), void *data);
+ extern void fftw_export_wisdom_to_file(FILE *output_file);
+ extern fftw_status fftw_import_wisdom_from_file(FILE *input_file);
+ extern char *fftw_export_wisdom_to_string(void);
+ extern fftw_status fftw_import_wisdom_from_string(const char *input_string);
+ 
+ /*
+  * define symbol so we know this function is available (it is not in
+  * older FFTWs)
+  */
+ #define FFTW_HAS_FPRINT_PLAN
+ extern void fftw_fprint_plan(FILE *f, fftw_plan plan);
+ 
+ /*****************************
+  *    N-dimensional code
+  *****************************/
+ typedef struct {
+      int is_in_place;		/* 1 if for in-place FFTs, 0 otherwise */
+ 
+      int rank;			/* 
+ 				 * the rank (number of dimensions) of the
+ 				 * array to be FFTed 
+ 				 */
+      int *n;			/*
+ 				 * the dimensions of the array to the
+ 				 * FFTed 
+ 				 */
+      fftw_direction dir;
+ 
+      int *n_before;		/*
+ 				 * n_before[i] = product of n[j] for j < i 
+ 				 */
+      int *n_after;		/* n_after[i] = product of n[j] for j > i */
+ 
+      fftw_plan *plans;		/* 1d fftw plans for each dimension */
+ 
+      int nbuffers, nwork;
+      fftw_complex *work;	/* 
+ 				 * work array big enough to hold
+ 				 * nbuffers+1 of the largest dimension 
+ 				 * (has nwork elements)
+ 				 */
+ } fftwnd_data;
+ 
+ typedef fftwnd_data *fftwnd_plan;
+ 
+ /* Initializing the FFTWND plan: */
+ extern fftwnd_plan fftw2d_create_plan(int nx, int ny, fftw_direction dir,
+ 				      int flags);
+ extern fftwnd_plan fftw3d_create_plan(int nx, int ny, int nz,
+ 				      fftw_direction dir, int flags);
+ extern fftwnd_plan fftwnd_create_plan(int rank, const int *n,
+ 				      fftw_direction dir,
+ 				      int flags);
+ 
+ extern fftwnd_plan fftw2d_create_plan_specific(int nx, int ny,
+ 					       fftw_direction dir,
+ 					       int flags,
+ 					   fftw_complex *in, int istride,
+ 					 fftw_complex *out, int ostride);
+ extern fftwnd_plan fftw3d_create_plan_specific(int nx, int ny, int nz,
+ 					   fftw_direction dir, int flags,
+ 					   fftw_complex *in, int istride,
+ 					 fftw_complex *out, int ostride);
+ extern fftwnd_plan fftwnd_create_plan_specific(int rank, const int *n,
+ 					       fftw_direction dir,
+ 					       int flags,
+ 					   fftw_complex *in, int istride,
+ 					 fftw_complex *out, int ostride);
+ 
+ /* Freeing the FFTWND plan: */
+ extern void fftwnd_destroy_plan(fftwnd_plan plan);
+ 
+ /* Printing the plan: */
+ extern void fftwnd_fprint_plan(FILE *f, fftwnd_plan p);
+ extern void fftwnd_print_plan(fftwnd_plan p);
+ #define FFTWND_HAS_PRINT_PLAN
+ 
+ /* Computing the N-Dimensional FFT */
+ extern void fftwnd(fftwnd_plan plan, int howmany,
+ 		   fftw_complex *in, int istride, int idist,
+ 		   fftw_complex *out, int ostride, int odist);
+ extern void fftwnd_one(fftwnd_plan p, fftw_complex *in, fftw_complex *out);
+ 
+ #ifdef __cplusplus
+ }                               /* extern "C" */
+ 
+ #endif				/* __cplusplus */
+ #endif				/* FFTW_H */
diff --cc fftw/libfftw.la
index 0000000,0000000..92ef68d
new file mode 100644
--- /dev/null
+++ b/fftw/libfftw.la
@@@ -1,0 -1,0 +1,22 @@@
++# libfftw.la - a libtool library file
++# Generated by ltmain.sh - GNU libtool 1.2
++
++# The name that we can dlopen(3).
++dlname=''
++
++# Names of this library.
++library_names=''
++
++# The name of the static archive.
++old_library='libfftw.a'
++
++# Libraries that this one depends upon.
++dependency_libs=' -lm'
++
++# Version information for libfftw.
++current=2
++age=0
++revision=1
++
++# Directory that this library needs to be installed in:
++libdir='/usr/lib'
diff --cc fftw/stamp-h1
index 0000000,0000000..9788f70
new file mode 100644
--- /dev/null
+++ b/fftw/stamp-h1
@@@ -1,0 -1,0 +1,1 @@@
++timestamp
diff --cc fftw/stamp-h2
index 0000000,0000000..9788f70
new file mode 100644
--- /dev/null
+++ b/fftw/stamp-h2
@@@ -1,0 -1,0 +1,1 @@@
++timestamp
diff --cc libtool
index 0000000,0000000..4099e92
new file mode 100644
--- /dev/null
+++ b/libtool
@@@ -1,0 -1,0 +1,2624 @@@
++#! /bin/sh
++
++# libtool - Provide generalized library-building support services.
++# Generated automatically by ltconfig - GNU libtool 1.2
++# NOTE: Changes made to this file will be lost: look at ltconfig or ltmain.sh.
++#
++# Copyright (C) 1996-1998 Free Software Foundation, Inc.
++# Gordon Matzigkeit <gord at gnu.ai.mit.edu>, 1996
++#
++# This program is free software; you can redistribute it and/or modify
++# it under the terms of the GNU General Public License as published by
++# the Free Software Foundation; either version 2 of the License, or
++# (at your option) any later version.
++#
++# This program is distributed in the hope that it will be useful, but
++# WITHOUT ANY WARRANTY; without even the implied warranty of
++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
++# General Public License for more details.
++#
++# You should have received a copy of the GNU General Public License
++# along with this program; if not, write to the Free Software
++# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
++#
++# As a special exception to the GNU General Public License, if you
++# distribute this file as part of a program that contains a
++# configuration script generated by Autoconf, you may include it under
++# the same distribution terms that you use for the rest of that program.
++
++# This program was configured as follows,
++# on host landru:
++#
++# CC="cc" CFLAGS="-g -O2" CPPFLAGS="" \
++# LD="/usr/bin/ld" NM="/usr/bin/nm -B" RANLIB="ranlib" LN_S="ln -s" \
++#   ./ltconfig --disable-shared --with-gcc --with-gnu-ld --no-verify ./ltmain.sh i586-pc-linux-gnu
++#
++# Compiler and other test output produced by ltconfig, useful for
++# debugging ltconfig, is in ./config.log if it exists.
++
++# Sed that helps us avoid accidentally triggering echo(1) options like -n.
++Xsed="sed -e s/^X//"
++
++# The HP-UX ksh and POSIX shell print the target directory to stdout
++# if CDPATH is set.
++if test "${CDPATH+set}" = set; then CDPATH=; export CDPATH; fi
++
++# An echo program that does not interpret backslashes.
++echo="echo"
++
++# The version of ltconfig that generated this script.
++LTCONFIG_VERSION="1.2"
++
++# Shell to use when invoking shell scripts.
++SHELL=/bin/sh
++
++# Whether or not to build libtool libraries.
++build_libtool_libs=no
++
++# Whether or not to build old-style libraries.
++build_old_libs=yes
++
++# The host system.
++host_alias="i586-pc-linux-gnu"
++host="i586-pc-linux-gnu"
++
++# The archiver.
++AR="ar"
++
++# The default C compiler.
++CC="cc"
++
++# The linker used to build libraries.
++LD="/usr/bin/ld"
++
++# Whether we need hard or soft links.
++LN_S="ln -s"
++
++# A BSD-compatible nm program.
++NM="/usr/bin/nm -B"
++
++# The name of the directory that contains temporary libtool files.
++objdir=".libs"
++
++# How to create reloadable object files.
++reload_flag=" -r"
++reload_cmds="\$LD\$reload_flag -o \$output\$reload_objs"
++
++# How to pass a linker flag through the compiler.
++wl="-Wl,"
++
++# Additional compiler flags for building library objects.
++pic_flag=" -fPIC"
++
++# Compiler flag to prevent dynamic linking.
++link_static_flag="-static"
++
++# Compiler flag to turn off builtin functions.
++no_builtin_flag=" -fno-builtin"
++
++# Compiler flag to allow reflexive dlopens.
++export_dynamic_flag_spec="\${wl}--export-dynamic"
++
++# Library versioning type.
++version_type=linux
++
++# Format of library name prefix.
++libname_spec="lib\$name"
++
++# List of archive names.  First name is the real one, the rest are links.
++# The last name is the one that the linker finds with -lNAME.
++library_names_spec="\${libname}\${release}.so.\$versuffix \${libname}\${release}.so.\$major \$libname.so"
++
++# The coded name of the library, if different from the real name.
++soname_spec="\${libname}\${release}.so.\$major"
++
++# Commands used to build and install an old-style archive.
++RANLIB="ranlib"
++old_archive_cmds="\$AR cru \$oldlib\$oldobjs;\$RANLIB \$oldlib"
++old_postinstall_cmds="\$RANLIB \$oldlib;chmod 644 \$oldlib"
++old_postuninstall_cmds=""
++
++# Create an old-style archive from a shared archive.
++old_archive_from_new_cmds=""
++
++# Commands used to build and install a shared archive.
++archive_cmds="\$CC -shared \${wl}-soname \$wl\$soname -o \$lib\$libobjs -lc"
++postinstall_cmds=""
++postuninstall_cmds=""
++
++# Flag that allows shared libraries with undefined symbols to be built.
++allow_undefined_flag=""
++
++# Flag that forces no undefined symbols.
++no_undefined_flag=""
++
++# Commands used to finish a libtool library installation in a directory.
++finish_cmds="PATH=\\\"\$PATH:/sbin\\\" ldconfig -n \$libdir"
++
++# Same as above, but a single script fragment to be evaled but not shown.
++finish_eval=""
++
++# Take the output of nm and produce a listing of raw symbols and C names.
++global_symbol_pipe="sed -n -e 's/^.* [ABCDGISTUW] \\([_A-Za-z][_A-Za-z0-9]*\\)\$/\\1 \\1/p'"
++
++# This is the shared library runtime path variable.
++runpath_var=LD_RUN_PATH
++
++# This is the shared library path variable.
++shlibpath_var=LD_LIBRARY_PATH
++
++# How to hardcode a shared library path into an executable.
++hardcode_action=immediate
++
++# Flag to hardcode $libdir into a binary during linking.
++# This must work even if $libdir does not exist.
++hardcode_libdir_flag_spec="\${wl}--rpath \${wl}\$libdir"
++
++# Whether we need a single -rpath flag with a separated argument.
++hardcode_libdir_separator=""
++
++# Set to yes if using DIR/libNAME.so during linking hardcodes DIR into the
++# resulting binary.
++hardcode_direct=no
++
++# Set to yes if using the -LDIR flag during linking hardcodes DIR into the
++# resulting binary.
++hardcode_minus_L=no
++
++# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into
++# the resulting binary.
++hardcode_shlibpath_var=unsupported
++
++# ltmain.sh - Provide generalized library-building support services.
++# NOTE: Changing this file will not affect anything until you rerun ltconfig.
++#
++# Copyright (C) 1996-1998 Free Software Foundation, Inc.
++# Gordon Matzigkeit <gord at gnu.ai.mit.edu>, 1996
++#
++# This program is free software; you can redistribute it and/or modify
++# it under the terms of the GNU General Public License as published by
++# the Free Software Foundation; either version 2 of the License, or
++# (at your option) any later version.
++#
++# This program is distributed in the hope that it will be useful, but
++# WITHOUT ANY WARRANTY; without even the implied warranty of
++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
++# General Public License for more details.
++#
++# You should have received a copy of the GNU General Public License
++# along with this program; if not, write to the Free Software
++# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
++#
++# As a special exception to the GNU General Public License, if you
++# distribute this file as part of a program that contains a
++# configuration script generated by Autoconf, you may include it under
++# the same distribution terms that you use for the rest of that program.
++
++# The name of this program.
++progname=`$echo "$0" | sed 's%^.*/%%'`
++modename="$progname"
++
++# Constants.
++PROGRAM=ltmain.sh
++PACKAGE=libtool
++VERSION=1.2
++
++default_mode=
++help="Try \`$progname --help' for more information."
++magic="%%%MAGIC variable%%%"
++mkdir="mkdir"
++mv="mv -f"
++rm="rm -f"
++
++# Sed substitution that helps us do robust quoting.  It backslashifies
++# metacharacters that are still active within double-quoted strings.
++Xsed='sed -e s/^X//'
++sed_quote_subst='s/\([\\`\\"$\\\\]\)/\\\1/g'
++
++# NLS nuisances.
++# Only set LANG and LC_ALL to C if already set.
++# These must not be set unconditionally because not all systems understand
++# e.g. LANG=C (notably SCO).
++if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi
++if test "${LANG+set}"   = set; then LANG=C;   export LANG;   fi
++
++if test "$LTCONFIG_VERSION" != "$VERSION"; then
++  echo "$modename: ltconfig version \`$LTCONFIG_VERSION' does not match $PROGRAM version \`$VERSION'" 1>&2
++  echo "Fatal configuration error.  See the $PACKAGE docs for more information." 1>&2
++  exit 1
++fi
++
++if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then
++  echo "$modename: not configured to build any kind of library" 1>&2
++  echo "Fatal configuration error.  See the $PACKAGE docs for more information." 1>&2
++  exit 1
++fi
++
++# Global variables.
++mode=$default_mode
++nonopt=
++prev=
++prevopt=
++run=
++show="$echo"
++show_help=
++execute_dlfiles=
++
++# Parse our command line options once, thoroughly.
++while test $# -gt 0
++do
++  arg="$1"
++  shift
++
++  case "$arg" in
++  -*=*) optarg=`$echo "X$arg" | $Xsed -e 's/[-_a-zA-Z0-9]*=//'` ;;
++  *) optarg= ;;
++  esac
++
++  # If the previous option needs an argument, assign it.
++  if test -n "$prev"; then
++    case "$prev" in
++    execute_dlfiles)
++      eval "$prev=\"\$$prev \$arg\""
++      ;;
++    *)
++      eval "$prev=\$arg"
++      ;;
++    esac
++
++    prev=
++    prevopt=
++    continue
++  fi
++
++  # Have we seen a non-optional argument yet?
++  case "$arg" in
++  --help)
++    show_help=yes
++    ;;
++
++  --version)
++    echo "$PROGRAM (GNU $PACKAGE) $VERSION"
++    exit 0
++    ;;
++
++  --dry-run | -n)
++    run=:
++    ;;
++
++  --features)
++    echo "host: $host"
++    if test "$build_libtool_libs" = yes; then
++      echo "enable shared libraries"
++    else
++      echo "disable shared libraries"
++    fi
++    if test "$build_old_libs" = yes; then
++      echo "enable static libraries"
++    else
++      echo "disable static libraries"
++    fi
++    exit 0
++    ;;
++
++  --finish) mode="finish" ;;
++
++  --mode) prevopt="--mode" prev=mode ;;
++  --mode=*) mode="$optarg" ;;
++
++  --quiet | --silent)
++    show=:
++    ;;
++
++  -dlopen)
++    prevopt="-dlopen"
++    prev=execute_dlfiles
++    ;;
++
++  -*)
++    $echo "$modename: unrecognized option \`$arg'" 1>&2
++    $echo "$help" 1>&2
++    exit 1
++    ;;
++
++  *)
++    nonopt="$arg"
++    break
++    ;;
++  esac
++done
++
++if test -n "$prevopt"; then
++  $echo "$modename: option \`$prevopt' requires an argument" 1>&2
++  $echo "$help" 1>&2
++  exit 1
++fi
++
++if test -z "$show_help"; then
++
++  # Infer the operation mode.
++  if test -z "$mode"; then
++    case "$nonopt" in
++    *cc | *++ | gcc* | *-gcc*)
++      mode=link
++      for arg
++      do
++        case "$arg" in
++        -c)
++           mode=compile
++           break
++           ;;
++        esac
++      done
++      ;;
++    *db | *dbx)
++      mode=execute
++      ;;
++    *install*|cp|mv)
++      mode=install
++      ;;
++    *rm)
++      mode=uninstall
++      ;;
++    *)
++      # If we have no mode, but dlfiles were specified, then do execute mode.
++      test -n "$execute_dlfiles" && mode=execute
++
++      # Just use the default operation mode.
++      if test -z "$mode"; then
++        if test -n "$nonopt"; then
++          $echo "$modename: warning: cannot infer operation mode from \`$nonopt'" 1>&2
++        else
++          $echo "$modename: warning: cannot infer operation mode without MODE-ARGS" 1>&2
++        fi
++      fi
++      ;;
++    esac
++  fi
++
++  # Only execute mode is allowed to have -dlopen flags.
++  if test -n "$execute_dlfiles" && test "$mode" != execute; then
++    $echo "$modename: unrecognized option \`-dlopen'" 1>&2
++    $echo "$help" 1>&2
++    exit 1
++  fi
++
++  # Change the help message to a mode-specific one.
++  generic_help="$help"
++  help="Try \`$modename --help --mode=$mode' for more information."
++
++  # These modes are in order of execution frequency so that they run quickly.
++  case "$mode" in
++  # libtool compile mode
++  compile)
++    modename="$modename: compile"
++    # Get the compilation command and the source file.
++    base_compile=
++    lastarg=
++    srcfile="$nonopt"
++    suppress_output=
++
++    for arg
++    do
++      # Accept any command-line options.
++      case "$arg" in
++      -o)
++	$echo "$modename: you cannot specify the output filename with \`-o'" 1>&2
++	$echo "$help" 1>&2
++	exit 1
++	;;
++
++      -static)
++	build_libtool_libs=no
++	build_old_libs=yes
++	continue
++	;;
++      esac
++
++      # Accept the current argument as the source file.
++      lastarg="$srcfile"
++      srcfile="$arg"
++
++      # Aesthetically quote the previous argument.
++
++      # Backslashify any backslashes, double quotes, and dollar signs.
++      # These are the only characters that are still specially
++      # interpreted inside of double-quoted scrings.
++      lastarg=`$echo "X$lastarg" | $Xsed -e "$sed_quote_subst"`
++
++      # Double-quote args containing other shell metacharacters.
++      # Many Bourne shells cannot handle close brackets correctly in scan
++      # sets, so we specify it separately.
++      case "$lastarg" in
++      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*)
++	lastarg="\"$lastarg\""
++	;;
++      esac
++
++      # Add the previous argument to base_compile.
++      if test -z "$base_compile"; then
++	base_compile="$lastarg"
++      else
++	base_compile="$base_compile $lastarg"
++      fi
++    done
++
++    # Get the name of the library object.
++    libobj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%'`
++
++    # Recognize several different file suffixes.
++    xform='[cCFSfms]'
++    case "$libobj" in
++    *.ada) xform=ada ;;
++    *.adb) xform=adb ;;
++    *.ads) xform=ads ;;
++    *.asm) xform=asm ;;
++    *.c++) xform=c++ ;;
++    *.cc) xform=cc ;;
++    *.cpp) xform=cpp ;;
++    *.cxx) xform=cxx ;;
++    *.f90) xform=f90 ;;
++    *.for) xform=for ;;
++    esac
++
++    libobj=`$echo "X$libobj" | $Xsed -e "s/\.$xform$/.lo/"`
++
++    case "$libobj" in
++    *.lo) obj=`$echo "X$libobj" | $Xsed -e 's/\.lo$/.o/'` ;;
++    *)
++      $echo "$modename: cannot determine name of library object from \`$srcfile'" 1>&2
++      exit 1
++      ;;
++    esac
++
++    if test -z "$base_compile"; then
++      $echo "$modename: you must specify a compilation command" 1>&2
++      $echo "$help" 1>&2
++      exit 1
++    fi
++
++    # Delete any leftover library objects.
++    if test "$build_old_libs" = yes; then
++      $run $rm $obj $libobj
++      trap "$run $rm $obj $libobj; exit 1" 1 2 15
++    else
++      $run $rm $libobj
++      trap "$run $rm $libobj; exit 1" 1 2 15
++    fi
++
++    # Only build a PIC object if we are building libtool libraries.
++    if test "$build_libtool_libs" = yes; then
++      # Without this assignment, base_compile gets emptied.
++      fbsd_hideous_sh_bug=$base_compile
++
++      # All platforms use -DPIC, to notify preprocessed assembler code.
++      $show "$base_compile$pic_flag -DPIC $srcfile"
++      if $run eval "$base_compile\$pic_flag -DPIC \$srcfile"; then :
++      else
++        test -n "$obj" && $run $rm $obj
++        exit 1
++      fi
++
++      # If we have no pic_flag, then copy the object into place and finish.
++      if test -z "$pic_flag"; then
++        $show "$LN_S $obj $libobj"
++        $run $LN_S $obj $libobj
++        exit $?
++      fi
++
++      # Just move the object, then go on to compile the next one
++      $show "$mv $obj $libobj"
++      $run $mv $obj $libobj || exit 1
++
++      # Allow error messages only from the first compilation.
++      suppress_output=' >/dev/null 2>&1'
++    fi
++
++    # Only build a position-dependent object if we build old libraries.
++    if test "$build_old_libs" = yes; then
++      # Suppress compiler output if we already did a PIC compilation.
++      $show "$base_compile $srcfile$suppress_output"
++      if $run eval "$base_compile \$srcfile$suppress_output"; then :
++      else
++        $run $rm $obj $libobj
++        exit 1
++      fi
++    fi
++
++    # Create an invalid libtool object if no PIC, so that we do not
++    # accidentally link it into a program.
++    if test "$build_libtool_libs" != yes; then
++      $show "echo timestamp > $libobj"
++      $run eval "echo timestamp > \$libobj" || exit $?
++    fi
++
++    exit 0
++    ;;
++
++  # libtool link mode
++  link)
++    modename="$modename: link"
++    CC="$nonopt"
++    allow_undefined=yes
++    compile_command="$CC"
++    finalize_command="$CC"
++
++    compile_shlibpath=
++    finalize_shlibpath=
++    deplibs=
++    dlfiles=
++    dlprefiles=
++    export_dynamic=no
++    hardcode_libdirs=
++    libobjs=
++    link_against_libtool_libs=
++    ltlibs=
++    objs=
++    prev=
++    prevarg=
++    release=
++    rpath=
++    perm_rpath=
++    temp_rpath=
++    vinfo=
++
++    # We need to know -static, to get the right output filenames.
++    for arg
++    do
++      case "$arg" in
++      -all-static | -static)
++        if test "X$arg" = "X-all-static" && test "$build_libtool_libs" = yes && test -z "$link_static_flag"; then
++	    $echo "$modename: warning: complete static linking is impossible in this configuration" 1>&2
++        fi
++        build_libtool_libs=no
++	build_old_libs=yes
++        break
++        ;;
++      esac
++    done
++
++    # See if our shared archives depend on static archives.
++    test -n "$old_archive_from_new_cmds" && build_old_libs=yes
++
++    # Go through the arguments, transforming them on the way.
++    for arg
++    do
++      # If the previous option needs an argument, assign it.
++      if test -n "$prev"; then
++        case "$prev" in
++        output)
++          compile_command="$compile_command @OUTPUT@"
++          finalize_command="$finalize_command @OUTPUT@"
++          ;;
++        esac
++
++        case "$prev" in
++        dlfiles|dlprefiles)
++          case "$arg" in
++          *.la | *.lo) ;;  # We handle these cases below.
++          *)
++            dlprefiles="$dlprefiles $arg"
++            test "$prev" = dlfiles && dlfiles="$dlfiles $arg"
++            prev=
++            ;;
++          esac
++          ;;
++	release)
++	  release="-$arg"
++	  prev=
++	  continue
++	  ;;
++        rpath)
++          rpath="$rpath $arg"
++	  prev=
++	  continue
++	  ;;
++        *)
++          eval "$prev=\"\$arg\""
++          prev=
++          continue
++          ;;
++        esac
++      fi
++
++      prevarg="$arg"
++
++      case "$arg" in
++      -all-static)
++	if test -n "$link_static_flag"; then
++          compile_command="$compile_command $link_static_flag"
++	  finalize_command="$finalize_command $link_static_flag"
++        fi
++        continue
++	;;
++
++      -allow-undefined)
++	# FIXME: remove this flag sometime in the future.
++	$echo "$modename: \`-allow-undefined' is deprecated because it is the default" 1>&2
++	continue
++	;;
++
++      -dlopen)
++        prev=dlfiles
++        continue
++        ;;
++
++      -dlpreopen)
++        prev=dlprefiles
++        continue
++        ;;
++
++      -export-dynamic)
++        if test "$export_dynamic" != yes; then
++          export_dynamic=yes
++	  if test -n "$export_dynamic_flag_spec"; then
++	    eval arg=\"$export_dynamic_flag_spec\"
++	  else
++	    arg=
++	  fi
++
++          # Add the symbol object into the linking commands.
++	  compile_command="$compile_command @SYMFILE@"
++	  finalize_command="$finalize_command @SYMFILE@"
++        fi
++        ;;
++
++      -L*)
++        dir=`$echo "X$arg" | $Xsed -e 's%^-L\(.*\)$%\1%'`
++        case "$dir" in
++        /* | [A-Za-z]:\\*)
++	  # Add the corresponding hardcode_libdir_flag, if it is not identical.
++          ;;
++        *)
++          $echo "$modename: \`-L$dir' cannot specify a relative directory" 1>&2
++          exit 1
++          ;;
++        esac
++        deplibs="$deplibs $arg"
++        ;;
++
++      -l*) deplibs="$deplibs $arg" ;;
++
++      -no-undefined)
++	allow_undefined=no
++	continue
++	;;
++
++      -o) prev=output ;;
++
++      -release)
++	prev=release
++	continue
++	;;
++
++      -rpath)
++        prev=rpath
++        continue
++        ;;
++
++      -static)
++	# If we have no pic_flag, then this is the same as -all-static.
++	if test -z "$pic_flag" && test -n "$link_static_flag"; then
++          compile_command="$compile_command $link_static_flag"
++	  finalize_command="$finalize_command $link_static_flag"
++        fi
++	continue
++	;;
++
++      -version-info)
++        prev=vinfo
++        continue
++        ;;
++
++      # Some other compiler flag.
++      -* | +*)
++	# Unknown arguments in both finalize_command and compile_command need
++	# to be aesthetically quoted because they are evaled later.
++	arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
++	case "$arg" in
++	*[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*)
++	  arg="\"$arg\""
++	  ;;
++	esac
++        ;;
++
++      *.o | *.a)
++        # A standard object.
++        objs="$objs $arg"
++        ;;
++
++      *.lo)
++        # A library object.
++	if test "$prev" = dlfiles; then
++	  dlfiles="$dlfiles $arg"
++	  if test "$build_libtool_libs" = yes; then
++	    prev=
++	    continue
++	  else
++	    # If libtool objects are unsupported, then we need to preload.
++	    prev=dlprefiles
++	  fi
++	fi
++
++	if test "$prev" = dlprefiles; then
++	  # Preload the old-style object.
++	  dlprefiles="$dlprefiles "`$echo "X$arg" | $Xsed -e 's/\.lo$/\.o/'`
++	  prev=
++	fi
++	libobjs="$libobjs $arg"
++        ;;
++
++      *.la)
++        # A libtool-controlled library.
++
++        dlname=
++        libdir=
++        library_names=
++        old_library=
++
++        # Check to see that this really is a libtool archive.
++        if (sed -e '2q' $arg | egrep '^# Generated by ltmain\.sh') >/dev/null 2>&1; then :
++        else
++          $echo "$modename: \`$arg' is not a valid libtool archive" 1>&2
++          exit 1
++        fi
++
++        # If there is no directory component, then add one.
++        case "$arg" in
++        */* | *\\*) . $arg ;;
++        *) . ./$arg ;;
++        esac
++
++        if test -z "$libdir"; then
++          $echo "$modename: \`$arg' contains no -rpath information" 1>&2
++          exit 1
++        fi
++
++        # Get the name of the library we link against.
++        linklib=
++        for l in $old_library $library_names; do
++          linklib="$l"
++        done
++
++        if test -z "$linklib"; then
++          $echo "$modename: cannot find name of link library for \`$arg'" 1>&2
++          exit 1
++        fi
++
++        # Find the relevant object directory and library name.
++        name=`$echo "X$arg" | $Xsed -e 's%^.*/%%' -e 's/\.la$//' -e 's/^lib//'`
++        dir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'`
++        if test "X$dir" = "X$arg"; then
++          dir="$objdir"
++        else
++          dir="$dir/$objdir"
++        fi
++
++        # This library was specified with -dlopen.
++        if test "$prev" = dlfiles; then
++          dlfiles="$dlfiles $arg"
++          if test -z "$dlname"; then
++            # If there is no dlname, we need to preload.
++            prev=dlprefiles
++          else
++            # We should not create a dependency on this library, but we
++	    # may need any libraries it requires.
++	    compile_command="$compile_command$dependency_libs"
++	    finalize_command="$finalize_command$dependency_libs"
++            prev=
++            continue
++          fi
++        fi
++
++        # The library was specified with -dlpreopen.
++        if test "$prev" = dlprefiles; then
++          # Prefer using a static library (so that no silly _DYNAMIC symbols
++          # are required to link).
++          if test -n "$old_library"; then
++            dlprefiles="$dlprefiles $dir/$old_library"
++          else
++            dlprefiles="$dlprefiles $dir/$linklib"
++          fi
++          prev=
++        fi
++
++        if test "$build_libtool_libs" = yes && test -n "$library_names"; then
++          link_against_libtool_libs="$link_against_libtool_libs $arg"
++          if test -n "$shlibpath_var"; then
++            # Make sure the rpath contains only unique directories.
++            case "$temp_rpath " in
++            *" $dir "*) ;;
++            *) temp_rpath="$temp_rpath $dir" ;;
++            esac
++          fi
++
++	  # This is the magic to use -rpath.
++          if test -n "$hardcode_libdir_flag_spec"; then
++            if test -n "$hardcode_libdir_separator"; then
++              if test -z "$hardcode_libdirs"; then
++                # Put the magic libdir with the hardcode flag.
++                hardcode_libdirs="$libdir"
++                libdir="@HARDCODE_LIBDIRS@"
++              else
++                # Just accumulate the unique libdirs.
++		case "$hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator" in
++		*"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
++		  ;;
++		*)
++		  hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
++		  ;;
++		esac
++                libdir=
++              fi
++            fi
++
++            if test -n "$libdir"; then
++              eval flag=\"$hardcode_libdir_flag_spec\"
++
++              compile_command="$compile_command $flag"
++              finalize_command="$finalize_command $flag"
++            fi
++          elif test -n "$runpath_var"; then
++            # Do the same for the permanent run path.
++            case "$perm_rpath " in
++            *" $libdir "*) ;;
++            *) perm_rpath="$perm_rpath $libdir" ;;
++            esac
++          fi
++
++
++          case "$hardcode_action" in
++          immediate)
++            if test "$hardcode_direct" = no; then
++              compile_command="$compile_command $dir/$linklib"
++            elif test "$hardcode_minus_L" = no; then
++              compile_command="$compile_command -L$dir -l$name"
++            elif test "$hardcode_shlibpath_var" = no; then
++              compile_shlibpath="$compile_shlibpath$dir:"
++              compile_command="$compile_command -l$name"
++            fi
++            ;;
++
++          relink)
++            # We need an absolute path.
++            case "$dir" in
++            /* | [A-Za-z]:\\*) ;;
++            *)
++              absdir=`cd "$dir" && pwd`
++              if test -z "$absdir"; then
++                $echo "$modename: cannot determine absolute directory name of \`$dir'" 1>&2
++                exit 1
++              fi
++              dir="$absdir"
++              ;;
++            esac
++
++            if test "$hardcode_direct" = yes; then
++              compile_command="$compile_command $dir/$linklib"
++            elif test "$hardcode_minus_L" = yes; then
++              compile_command="$compile_command -L$dir -l$name"
++            elif test "$hardcode_shlibpath_var" = yes; then
++              compile_shlibpath="$compile_shlibpath$dir:"
++              compile_command="$compile_command -l$name"
++            fi
++            ;;
++
++          *)
++            $echo "$modename: \`$hardcode_action' is an unknown hardcode action" 1>&2
++            exit 1
++            ;;
++          esac
++
++          # Finalize command for both is simple: just hardcode it.
++          if test "$hardcode_direct" = yes; then
++            finalize_command="$finalize_command $libdir/$linklib"
++          elif test "$hardcode_minus_L" = yes; then
++            finalize_command="$finalize_command -L$libdir -l$name"
++          elif test "$hardcode_shlibpath_var" = yes; then
++            finalize_shlibpath="$finalize_shlibpath$libdir:"
++            finalize_command="$finalize_command -l$name"
++          else
++            # We cannot seem to hardcode it, guess we'll fake it.
++            finalize_command="$finalize_command -L$libdir -l$name"
++          fi
++        else
++          # Transform directly to old archives if we don't build new libraries.
++          if test -n "$pic_flag" && test -z "$old_library"; then
++            $echo "$modename: cannot find static library for \`$arg'" 1>&2
++            exit 1
++          fi
++
++	  # Here we assume that one of hardcode_direct or hardcode_minus_L
++	  # is not unsupported.  This is valid on all known static and
++	  # shared platforms.
++	  if test "$hardcode_direct" != unsupported; then
++	    test -n "$old_library" && linklib="$old_library"
++	    compile_command="$compile_command $dir/$linklib"
++	    finalize_command="$finalize_command $dir/$linklib"
++	  else
++	    compile_command="$compile_command -L$dir -l$name"
++	    finalize_command="$finalize_command -L$dir -l$name"
++	  fi
++        fi
++
++	# Add in any libraries that this one depends upon.
++	compile_command="$compile_command$dependency_libs"
++	finalize_command="$finalize_command$dependency_libs"
++	continue
++        ;;
++
++      # Some other compiler argument.
++      *)
++	# Unknown arguments in both finalize_command and compile_command need
++	# to be aesthetically quoted because they are evaled later.
++	arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
++	case "$arg" in
++	*[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*)
++	  arg="\"$arg\""
++	  ;;
++	esac
++        ;;
++      esac
++
++      # Now actually substitute the argument into the commands.
++      if test -n "$arg"; then
++	compile_command="$compile_command $arg"
++	finalize_command="$finalize_command $arg"
++      fi
++    done
++
++    if test -n "$prev"; then
++      $echo "$modename: the \`$prevarg' option requires an argument" 1>&2
++      $echo "$help" 1>&2
++      exit 1
++    fi
++
++    if test -n "$vinfo" && test -n "$release"; then
++      $echo "$modename: you cannot specify both \`-version-info' and \`-release'" 1>&2
++      $echo "$help" 1>&2
++      exit 1
++    fi
++
++    oldlib=
++    oldobjs=
++    case "$output" in
++    "")
++      $echo "$modename: you must specify an output file" 1>&2
++      $echo "$help" 1>&2
++      exit 1
++      ;;
++
++    */* | *\\*)
++      $echo "$modename: output file \`$output' must have no directory components" 1>&2
++      exit 1
++      ;;
++
++    *.a)
++      # Now set the variables for building old libraries.
++      build_libtool_libs=no
++      build_old_libs=yes
++      oldlib="$output"
++      $show "$rm $oldlib"
++      $run $rm $oldlib
++      ;;
++
++    *.la)
++      # Make sure we only generate libraries of the form `libNAME.la'.
++      case "$output" in
++      lib*) ;;
++      *)
++	$echo "$modename: libtool library \`$arg' must begin with \`lib'" 1>&2
++	$echo "$help" 1>&2
++	exit 1
++	;;
++      esac
++
++      name=`$echo "X$output" | $Xsed -e 's/\.la$//' -e 's/^lib//'`
++      eval libname=\"$libname_spec\"
++
++      # All the library-specific variables (install_libdir is set above).
++      library_names=
++      old_library=
++      dlname=
++      current=0
++      revision=0
++      age=0
++
++      if test -n "$objs"; then
++        $echo "$modename: cannot build libtool library \`$output' from non-libtool objects:$objs" 2>&1
++        exit 1
++      fi
++
++      # How the heck are we supposed to write a wrapper for a shared library?
++      if test -n "$link_against_libtool_libs"; then
++        $echo "$modename: libtool library \`$output' may not depend on uninstalled libraries:$link_against_libtool_libs" 1>&2
++        exit 1
++      fi
++
++      if test -n "$dlfiles$dlprefiles"; then
++        $echo "$modename: warning: \`-dlopen' is ignored while creating libtool libraries" 1>&2
++        # Nullify the symbol file.
++        compile_command=`$echo "X$compile_command" | $Xsed -e "s% @SYMFILE@%%"`
++        finalize_command=`$echo "X$finalize_command" | $Xsed -e "s% @SYMFILE@%%"`
++      fi
++
++      if test -z "$rpath"; then
++        $echo "$modename: you must specify an installation directory with \`-rpath'" 1>&2
++	$echo "$help" 1>&2
++        exit 1
++      fi
++
++      set dummy $rpath
++      if test $# -gt 2; then
++	$echo "$modename: warning: ignoring multiple \`-rpath's for a libtool library" 1>&2
++      fi
++      install_libdir="$2"
++
++      # Parse the version information argument.
++      IFS="${IFS= 	}"; save_ifs="$IFS"; IFS=':'
++      set dummy $vinfo
++      IFS="$save_ifs"
++
++      if test -n "$5"; then
++        $echo "$modename: too many parameters to \`-version-info'" 1>&2
++        $echo "$help" 1>&2
++        exit 1
++      fi
++
++      test -n "$2" && current="$2"
++      test -n "$3" && revision="$3"
++      test -n "$4" && age="$4"
++
++      # Check that each of the things are valid numbers.
++      case "$current" in
++      0 | [1-9] | [1-9][0-9]*) ;;
++      *)
++        $echo "$modename: CURRENT \`$current' is not a nonnegative integer" 1>&2
++        $echo "$modename: \`$vinfo' is not valid version information" 1>&2
++        exit 1
++        ;;
++      esac
++
++      case "$revision" in
++      0 | [1-9] | [1-9][0-9]*) ;;
++      *)
++        $echo "$modename: REVISION \`$revision' is not a nonnegative integer" 1>&2
++        $echo "$modename: \`$vinfo' is not valid version information" 1>&2
++        exit 1
++        ;;
++      esac
++
++      case "$age" in
++      0 | [1-9] | [1-9][0-9]*) ;;
++      *)
++        $echo "$modename: AGE \`$age' is not a nonnegative integer" 1>&2
++        $echo "$modename: \`$vinfo' is not valid version information" 1>&2
++        exit 1
++        ;;
++      esac
++
++      if test $age -gt $current; then
++        $echo "$modename: AGE \`$age' is greater than the current interface number \`$current'" 1>&2
++        $echo "$modename: \`$vinfo' is not valid version information" 1>&2
++        exit 1
++      fi
++
++      # Calculate the version variables.
++      version_vars="version_type current age revision"
++      case "$version_type" in
++      none) ;;
++
++      linux)
++        version_vars="$version_vars major versuffix"
++        major=`expr $current - $age`
++        versuffix="$major.$age.$revision"
++        ;;
++
++      osf)
++        version_vars="$version_vars versuffix verstring"
++        major=`expr $current - $age`
++        versuffix="$current.$age.$revision"
++        verstring="$versuffix"
++
++        # Add in all the interfaces that we are compatible with.
++        loop=$age
++        while test $loop != 0; do
++          iface=`expr $current - $loop`
++          loop=`expr $loop - 1`
++          verstring="$verstring:${iface}.0"
++        done
++
++        # Make executables depend on our current version.
++        verstring="$verstring:${current}.0"
++        ;;
++
++      sunos)
++        version_vars="$version_vars major versuffix"
++        major="$current"
++        versuffix="$current.$revision"
++        ;;
++
++      *)
++        $echo "$modename: unknown library version type \`$version_type'" 1>&2
++        echo "Fatal configuration error.  See the $PACKAGE docs for more information." 1>&2
++        exit 1
++        ;;
++      esac
++
++      # Create the output directory, or remove our outputs if we need to.
++      if test -d $objdir; then
++        $show "$rm $objdir/$output $objdir/$libname.* $objdir/${libname}${release}.*"
++        $run $rm $objdir/$output $objdir/$libname.* $objdir/${libname}${release}.*
++      else
++        $show "$mkdir $objdir"
++        $run $mkdir $objdir
++	status=$?
++	if test $status -eq 0 || test -d $objdir; then :
++	else
++	  exit $status
++	fi
++      fi
++
++      # Check to see if the archive will have undefined symbols.
++      if test "$allow_undefined" = yes; then
++        if test "$allow_undefined_flag" = unsupported; then
++          $echo "$modename: warning: undefined symbols not allowed in $host shared libraries" 1>&2
++          build_libtool_libs=no
++	  build_old_libs=yes
++        fi
++      else
++        # Don't allow undefined symbols.
++        allow_undefined_flag="$no_undefined_flag"
++      fi
++
++      # Add libc to deplibs on all systems.
++      dependency_libs="$deplibs"
++      deplibs="$deplibs -lc"
++
++      if test "$build_libtool_libs" = yes; then
++        # Get the real and link names of the library.
++        eval library_names=\"$library_names_spec\"
++        set dummy $library_names
++        realname="$2"
++        shift; shift
++
++        if test -n "$soname_spec"; then
++          eval soname=\"$soname_spec\"
++        else
++          soname="$realname"
++        fi
++
++        lib="$objdir/$realname"
++	for link
++	do
++	  linknames="$linknames $link"
++	done
++
++        # Use standard objects if they are PIC.
++        test -z "$pic_flag" && libobjs=`$echo "X$libobjs " | $Xsed -e 's/\.lo /.o /g' -e 's/ $//g'`
++
++        # Do each of the archive commands.
++        eval cmds=\"$archive_cmds\"
++        IFS="${IFS= 	}"; save_ifs="$IFS"; IFS=';'
++        for cmd in $cmds; do
++          IFS="$save_ifs"
++          $show "$cmd"
++          $run eval "$cmd" || exit $?
++        done
++        IFS="$save_ifs"
++
++        # Create links to the real library.
++        for linkname in $linknames; do
++          $show "(cd $objdir && $LN_S $realname $linkname)"
++          $run eval '(cd $objdir && $LN_S $realname $linkname)' || exit $?
++        done
++
++        # If -export-dynamic was specified, set the dlname.
++        if test "$export_dynamic" = yes; then
++          # On all known operating systems, these are identical.
++          dlname="$soname"
++        fi
++      fi
++
++      # Now set the variables for building old libraries.
++      oldlib="$objdir/$libname.a"
++      ;;
++
++    *.lo | *.o)
++      if test -n "$link_against_libtool_libs"; then
++        $echo "$modename: error: cannot link libtool libraries into reloadable objects" 1>&2
++        exit 1
++      fi
++
++      if test -n "$deplibs"; then
++        $echo "$modename: warning: \`-l' and \`-L' are ignored while creating objects" 1>&2
++      fi
++
++      if test -n "$dlfiles$dlprefiles"; then
++        $echo "$modename: warning: \`-dlopen' is ignored while creating objects" 1>&2
++        # Nullify the symbol file.
++        compile_command=`$echo "X$compile_command" | $Xsed -e "s% @SYMFILE@%%"`
++        finalize_command=`$echo "X$finalize_command" | $Xsed -e "s% @SYMFILE@%%"`
++      fi
++
++      if test -n "$rpath"; then
++        $echo "$modename: warning: \`-rpath' is ignored while creating objects" 1>&2
++      fi
++
++      if test -n "$vinfo"; then
++        $echo "$modename: warning: \`-version-info' is ignored while creating objects" 1>&2
++      fi
++
++      if test -n "$release"; then
++        $echo "$modename: warning: \`-release' is ignored while creating objects" 1>&2
++      fi
++
++      case "$output" in
++      *.lo)
++        if test -n "$objs"; then
++          $echo "$modename: cannot build library object \`$output' from non-libtool objects" 1>&2
++          exit 1
++        fi
++        libobj="$output"
++        obj=`$echo "X$output" | $Xsed -e 's/\.lo$/.o/'`
++        ;;
++      *)
++        libobj=
++        obj="$output"
++        ;;
++      esac
++
++      # Delete the old objects.
++      $run $rm $obj $libobj
++
++      # Create the old-style object.
++      reload_objs="$objs"`$echo "X$libobjs " | $Xsed -e 's/[^       ]*\.a //g' -e 's/\.lo /.o /g' -e 's/ $//g'`
++
++      output="$obj"
++      eval cmds=\"$reload_cmds\"
++      IFS="${IFS= 	}"; save_ifs="$IFS"; IFS=';'
++      for cmd in $cmds; do
++        IFS="$save_ifs"
++        $show "$cmd"
++        $run eval "$cmd" || exit $?
++      done
++      IFS="$save_ifs"
++
++      # Exit if we aren't doing a library object file.
++      test -z "$libobj" && exit 0
++
++      if test "$build_libtool_libs" != yes; then
++        # Create an invalid libtool object if no PIC, so that we don't
++        # accidentally link it into a program.
++        $show "echo timestamp > $libobj"
++        $run eval "echo timestamp > $libobj" || exit $?
++        exit 0
++      fi
++
++      if test -n "$pic_flag"; then
++        # Only do commands if we really have different PIC objects.
++        reload_objs="$libobjs"
++        output="$libobj"
++        eval cmds=\"$reload_cmds\"
++        IFS="${IFS= 	}"; save_ifs="$IFS"; IFS=';'
++        for cmd in $cmds; do
++          IFS="$save_ifs"
++          $show "$cmd"
++          $run eval "$cmd" || exit $?
++        done
++        IFS="$save_ifs"
++      else
++        # Just create a symlink.
++        $show "$LN_S $obj $libobj"
++        $run $LN_S $obj $libobj || exit 1
++      fi
++
++      exit 0
++      ;;
++
++    *)
++      if test -n "$vinfo"; then
++        $echo "$modename: warning: \`-version-info' is ignored while linking programs" 1>&2
++      fi
++
++      if test -n "$release"; then
++        $echo "$modename: warning: \`-release' is ignored while creating objects" 1>&2
++      fi
++
++      if test -n "$rpath"; then
++	# If the user specified any rpath flags, then add them.
++	for libdir in $rpath; do
++          if test -n "$hardcode_libdir_flag_spec"; then
++            if test -n "$hardcode_libdir_separator"; then
++              if test -z "$hardcode_libdirs"; then
++                # Put the magic libdir with the hardcode flag.
++                hardcode_libdirs="$libdir"
++                libdir="@HARDCODE_LIBDIRS@"
++              else
++                # Just accumulate the unique libdirs.
++		case "$hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator" in
++		*"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
++		  ;;
++		*)
++		  hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
++		  ;;
++		esac
++                libdir=
++              fi
++            fi
++
++            if test -n "$libdir"; then
++              eval flag=\"$hardcode_libdir_flag_spec\"
++
++              compile_command="$compile_command $flag"
++              finalize_command="$finalize_command $flag"
++            fi
++          elif test -n "$runpath_var"; then
++            case "$perm_rpath " in
++            *" $libdir "*) ;;
++            *) perm_rpath="$perm_rpath $libdir" ;;
++            esac
++          fi
++	done
++      fi
++
++      # Substitute the hardcoded libdirs into the compile commands.
++      if test -n "$hardcode_libdir_separator"; then
++	compile_command=`$echo "X$compile_command" | $Xsed -e "s%@HARDCODE_LIBDIRS@%$hardcode_libdirs%g"`
++	finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@HARDCODE_LIBDIRS@%$hardcode_libdirs%g"`
++      fi
++
++      if test -n "$libobjs" && test "$build_old_libs" = yes; then
++        # Transform all the library objects into standard objects.
++        compile_command=`$echo "X$compile_command " | $Xsed -e 's/\.lo /.o /g' -e 's/ $//'`
++        finalize_command=`$echo "X$finalize_command " | $Xsed -e 's/\.lo /.o /g' -e 's/ $//'`
++      fi
++
++      if test "$export_dynamic" = yes && test -n "$NM" && test -n "$global_symbol_pipe"; then
++        dlsyms="${output}S.c"
++      else
++        dlsyms=
++      fi
++
++      if test -n "$dlsyms"; then
++        # Add our own program objects to the preloaded list.
++        dlprefiles=`$echo "X$objs$dlprefiles " | $Xsed -e 's/\.lo /.o /g' -e 's/ $//'`
++
++	# Discover the nlist of each of the dlfiles.
++        nlist="$objdir/${output}.nm"
++
++	if test -d $objdir; then
++	  $show "$rm $nlist ${nlist}T"
++	  $run $rm "$nlist" "${nlist}T"
++	else
++	  $show "$mkdir $objdir"
++	  $run $mkdir $objdir
++	  status=$?
++	  if test $status -eq 0 || test -d $objdir; then :
++	  else
++	    exit $status
++	  fi
++	fi
++
++        for arg in $dlprefiles; do
++	  $show "extracting global C symbols from \`$arg'"
++	  $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'"
++        done
++
++        # Parse the name list into a source file.
++        $show "creating $objdir/$dlsyms"
++        if test -z "$run"; then
++	  # Make sure we at least have an empty file.
++	  test -f "$nlist" || : > "$nlist"
++
++	  # Try sorting and uniquifying the output.
++	  if sort "$nlist" | uniq > "$nlist"T; then
++	    mv -f "$nlist"T "$nlist"
++	    wcout=`wc "$nlist" 2>/dev/null`
++	    count=`echo "X$wcout" | $Xsed -e 's/^[ 	]*\([0-9][0-9]*\).*$/\1/'`
++	    (test "$count" -ge 0) 2>/dev/null || count=-1
++	  else
++	    $rm "$nlist"T
++	    count=-1
++	  fi
++
++	  case "$dlsyms" in
++	  "") ;;
++	  *.c)
++	    $echo > "$objdir/$dlsyms" "\
++/* $dlsyms - symbol resolution table for \`$output' dlsym emulation. */
++/* Generated by $PROGRAM - GNU $PACKAGE $VERSION */
++
++#ifdef __cplusplus
++extern \"C\" {
++#endif
++
++/* Prevent the only kind of declaration conflicts we can make. */
++#define dld_preloaded_symbol_count some_other_symbol
++#define dld_preloaded_symbols some_other_symbol
++
++/* External symbol declarations for the compiler. */\
++"
++
++	    if test -f "$nlist"; then
++	      sed -e 's/^.* \(.*\)$/extern char \1;/' < "$nlist" >> "$objdir/$dlsyms"
++	    else
++	      echo '/* NONE */' >> "$objdir/$dlsyms"
++	    fi
++
++	    $echo >> "$objdir/$dlsyms" "\
++
++#undef dld_preloaded_symbol_count
++#undef dld_preloaded_symbols
++
++#if defined (__STDC__) && __STDC__
++# define __ptr_t void *
++#else
++# define __ptr_t char *
++#endif
++
++/* The number of symbols in dld_preloaded_symbols, -1 if unsorted. */
++int dld_preloaded_symbol_count = $count;
++
++/* The mapping between symbol names and symbols. */
++struct {
++  char *name;
++  __ptr_t address;
++}
++dld_preloaded_symbols[] =
++{\
++"
++
++	    if test -f "$nlist"; then
++	      sed 's/^\(.*\) \(.*\)$/  {"\1", (__ptr_t) \&\2},/' < "$nlist" >> "$objdir/$dlsyms"
++	    fi
++
++	    $echo >> "$objdir/$dlsyms" "\
++  {0, (__ptr_t) 0}
++};
++
++#ifdef __cplusplus
++}
++#endif\
++"
++	    ;;
++
++	  *)
++	    $echo "$modename: unknown suffix for \`$dlsyms'" 1>&2
++	    exit 1
++	    ;;
++	  esac
++        fi
++
++        # Now compile the dynamic symbol file.
++        $show "(cd $objdir && $CC -c$no_builtin_flag \"$dlsyms\")"
++        $run eval '(cd $objdir && $CC -c$no_builtin_flag "$dlsyms")' || exit $?
++
++        # Transform the symbol file into the correct name.
++        compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$objdir/${output}S.o%"`
++        finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$objdir/${output}S.o%"`
++      elif test "$export_dynamic" != yes; then
++        test -n "$dlfiles$dlprefiles" && $echo "$modename: warning: \`-dlopen' and \`-dlpreopen' are ignored without \`-export-dynamic'" 1>&2
++      else
++        # We keep going just in case the user didn't refer to
++        # dld_preloaded_symbols.  The linker will fail if global_symbol_pipe
++        # really was required.
++        $echo "$modename: not configured to extract global symbols from dlpreopened files" 1>&2
++
++        # Nullify the symbol file.
++        compile_command=`$echo "X$compile_command" | $Xsed -e "s% @SYMFILE@%%"`
++        finalize_command=`$echo "X$finalize_command" | $Xsed -e "s% @SYMFILE@%%"`
++      fi
++
++      if test -z "$link_against_libtool_libs" || test "$build_libtool_libs" != yes; then
++        # Replace the output file specification.
++        compile_command=`$echo "X$compile_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'`
++        finalize_command=`$echo "X$finalize_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'`
++
++        # We have no uninstalled library dependencies, so finalize right now.
++        $show "$compile_command"
++        $run eval "$compile_command"
++        exit $?
++      fi
++
++      # Replace the output file specification.
++      compile_command=`$echo "X$compile_command" | $Xsed -e 's%@OUTPUT@%'"$objdir/$output"'%g'`
++      finalize_command=`$echo "X$finalize_command" | $Xsed -e 's%@OUTPUT@%'"$objdir/$output"'T%g'`
++
++      # Create the binary in the object directory, then wrap it.
++      if test -d $objdir; then :
++      else
++        $show "$mkdir $objdir"
++	$run $mkdir $objdir
++	status=$?
++	if test $status -eq 0 || test -d $objdir; then :
++	else
++	  exit $status
++	fi
++      fi
++
++      if test -n "$shlibpath_var"; then
++        # We should set the shlibpath_var
++        rpath=
++        for dir in $temp_rpath; do
++          case "$dir" in
++          /* | [A-Za-z]:\\*)
++            # Absolute path.
++            rpath="$rpath$dir:"
++            ;;
++          *)
++            # Relative path: add a thisdir entry.
++            rpath="$rpath\$thisdir/$dir:"
++            ;;
++          esac
++        done
++        temp_rpath="$rpath"
++      fi
++
++      # Delete the old output file.
++      $run $rm $output
++
++      if test -n "$compile_shlibpath"; then
++        compile_command="$shlibpath_var=\"$compile_shlibpath\$$shlibpath_var\" $compile_command"
++      fi
++      if test -n "$finalize_shlibpath"; then
++        finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command"
++      fi
++
++      if test -n "$runpath_var" && test -n "$perm_rpath"; then
++        # We should set the runpath_var.
++        rpath=
++        for dir in $perm_rpath; do
++          rpath="$rpath$dir:"
++        done
++        compile_command="$runpath_var=\"$rpath\$$runpath_var\" $compile_command"
++        finalize_command="$runpath_var=\"$rpath\$$runpath_var\" $finalize_command"
++      fi
++
++      case "$hardcode_action" in
++      relink)
++        # AGH! Flame the AIX and HP-UX people for me, will ya?
++        $echo "$modename: warning: using a buggy system linker" 1>&2
++        $echo "$modename: relinking will be required before \`$output' can be installed" 1>&2
++        ;;
++      esac
++
++      $show "$compile_command"
++      $run eval "$compile_command" || exit $?
++
++      # Now create the wrapper script.
++      $show "creating $output"
++
++      # Quote the finalize command for shipping.
++      finalize_command=`$echo "X$finalize_command" | $Xsed -e "$sed_quote_subst"`
++
++      # Quote $echo for shipping.
++      qecho=`$echo "X$echo" | $Xsed -e "$sed_quote_subst"`
++
++      # Only actually do things if our run command is non-null.
++      if test -z "$run"; then
++        $rm $output
++        trap "$rm $output; exit 1" 1 2 15
++
++        $echo > $output "\
++#! /bin/sh
++
++# $output - temporary wrapper script for $objdir/$output
++# Generated by ltmain.sh - GNU $PACKAGE $VERSION
++#
++# The $output program cannot be directly executed until all the libtool
++# libraries that it depends on are installed.
++#
++# This wrapper script should never be moved out of \``pwd`'.
++# If it is, it will not operate correctly.
++
++# Sed substitution that helps us do robust quoting.  It backslashifies
++# metacharacters that are still active within double-quoted strings.
++Xsed='sed -e s/^X//'
++sed_quote_subst='$sed_quote_subst'
++
++# The HP-UX ksh and POSIX shell print the target directory to stdout
++# if CDPATH is set.
++if test \"\${CDPATH+set}\" = set; then CDPATH=; export CDPATH; fi
++
++# This environment variable determines our operation mode.
++if test \"\$libtool_install_magic\" = \"$magic\"; then
++  # install mode needs the following variables:
++  link_against_libtool_libs='$link_against_libtool_libs'
++  finalize_command=\"$finalize_command\"
++else
++  # When we are sourced in execute mode, \$file and \$echo are already set.
++  if test \"\$libtool_execute_magic\" = \"$magic\"; then :
++  else
++    echo=\"$qecho\"
++    file=\"\$0\"
++  fi\
++"
++        $echo >> $output "\
++
++  # Find the directory that this script lives in.
++  thisdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*$%%'\`
++  test \"x\$thisdir\" = \"x\$file\" && thisdir=.
++
++  # Follow symbolic links until we get to the real thisdir.
++  file=\`ls -ld \"\$file\" | sed -n 's/.*-> //p'\`
++  while test -n \"\$file\"; do
++    destdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*\$%%'\`
++
++    # If there was a directory component, then change thisdir.
++    if test \"x\$destdir\" != \"x\$file\"; then
++      case \"\$destdir\" in
++      /* | [A-Za-z]:\\*) thisdir=\"\$destdir\" ;;
++      *) thisdir=\"\$thisdir/\$destdir\" ;;
++      esac
++    fi
++
++    file=\`\$echo \"X\$file\" | \$Xsed -e 's%^.*/%%'\`
++    file=\`ls -ld \"\$thisdir/\$file\" | sed -n 's/.*-> //p'\`
++  done
++
++  # Try to get the absolute directory name.
++  absdir=\`cd \"\$thisdir\" && pwd\`
++  test -n \"\$absdir\" && thisdir=\"\$absdir\"
++
++  progdir=\"\$thisdir/$objdir\"
++  program='$output'
++
++  if test -f \"\$progdir/\$program\"; then"
++
++        # Export our shlibpath_var if we have one.
++        if test -n "$shlibpath_var" && test -n "$temp_rpath"; then
++          $echo >> $output "\
++    # Add our own library path to $shlibpath_var
++    $shlibpath_var=\"$temp_rpath\$$shlibpath_var\"
++
++    # Some systems cannot cope with colon-terminated $shlibpath_var
++    $shlibpath_var=\`\$echo \"X\$$shlibpath_var\" | \$Xsed -e 's/:*\$//'\`
++
++    export $shlibpath_var
++"
++        fi
++
++        $echo >> $output "\
++    if test \"\$libtool_execute_magic\" != \"$magic\"; then
++      # Run the actual program with our arguments.
++
++      # Export the path to the program.
++      PATH=\"\$progdir:\$PATH\"
++      export PATH
++
++      exec \$program \${1+\"\$@\"}
++
++      \$echo \"\$0: cannot exec \$program \${1+\"\$@\"}\"
++      exit 1
++    fi
++  else
++    # The program doesn't exist.
++    \$echo \"\$0: error: \$progdir/\$program does not exist\" 1>&2
++    \$echo \"This script is just a wrapper for \$program.\" 1>&2
++    echo \"See the $PACKAGE documentation for more information.\" 1>&2
++    exit 1
++  fi
++fi\
++"
++        chmod +x $output
++      fi
++      exit 0
++      ;;
++    esac
++
++    # See if we need to build an old-fashioned archive.
++    if test "$build_old_libs" = "yes"; then
++      # Transform .lo files to .o files.
++      oldobjs="$objs"`$echo "X$libobjs " | $Xsed -e 's/[^   ]*\.a //g' -e 's/\.lo /.o /g' -e 's/ $//g'`
++
++      # Do each command in the archive commands.
++      if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then
++	eval cmds=\"$old_archive_from_new_cmds\"
++      else
++	eval cmds=\"$old_archive_cmds\"
++      fi
++      IFS="${IFS= 	}"; save_ifs="$IFS"; IFS=';'
++      for cmd in $cmds; do
++        IFS="$save_ifs"
++        $show "$cmd"
++        $run eval "$cmd" || exit $?
++      done
++      IFS="$save_ifs"
++    fi
++
++    # Now create the libtool archive.
++    case "$output" in
++    *.la)
++      old_library=
++      test "$build_old_libs" = yes && old_library="$libname.a"
++
++      $show "creating $output"
++
++      # Only create the output if not a dry run.
++      if test -z "$run"; then
++        $echo > $output "\
++# $output - a libtool library file
++# Generated by ltmain.sh - GNU $PACKAGE $VERSION
++
++# The name that we can dlopen(3).
++dlname='$dlname'
++
++# Names of this library.
++library_names='$library_names'
++
++# The name of the static archive.
++old_library='$old_library'
++
++# Libraries that this one depends upon.
++dependency_libs='$dependency_libs'
++
++# Version information for $libname.
++current=$current
++age=$age
++revision=$revision
++
++# Directory that this library needs to be installed in:
++libdir='$install_libdir'\
++"
++      fi
++
++      # Do a symbolic link so that the libtool archive can be found in
++      # LD_LIBRARY_PATH before the program is installed.
++      $show "(cd $objdir && $LN_S ../$output $output)"
++      $run eval "(cd $objdir && $LN_S ../$output $output)" || exit 1
++      ;;
++    esac
++    exit 0
++    ;;
++
++  # libtool install mode
++  install)
++    modename="$modename: install"
++
++    # There may be an optional /bin/sh argument at the beginning of
++    # install_prog (especially on Windows NT).
++    if test "$nonopt" = "$SHELL"; then
++      # Aesthetically quote it.
++      arg=`$echo "X$nonopt" | $Xsed -e "$sed_quote_subst"`
++      case "$arg" in
++      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*)
++	arg="\"$arg\""
++	;;
++      esac
++      install_prog="$arg "
++      arg="$1"
++      shift
++    else
++      install_prog=
++      arg="$nonopt"
++    fi
++
++    # The real first argument should be the name of the installation program.
++    # Aesthetically quote it.
++    arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
++    case "$arg" in
++    *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*)
++      arg="\"$arg\""
++      ;;
++    esac
++    install_prog="$install_prog$arg"
++
++    # We need to accept at least all the BSD install flags.
++    dest=
++    files=
++    opts=
++    prev=
++    install_type=
++    isdir=
++    stripme=
++    for arg
++    do
++      if test -n "$dest"; then
++        files="$files $dest"
++        dest="$arg"
++        continue
++      fi
++
++      case "$arg" in
++      -d) isdir=yes ;;
++      -f) prev="-f" ;;
++      -g) prev="-g" ;;
++      -m) prev="-m" ;;
++      -o) prev="-o" ;;
++      -s)
++        stripme=" -s"
++        continue
++        ;;
++      -*) ;;
++
++      *)
++        # If the previous option needed an argument, then skip it.
++        if test -n "$prev"; then
++          prev=
++        else
++          dest="$arg"
++          continue
++        fi
++        ;;
++      esac
++
++      # Aesthetically quote the argument.
++      arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
++      case "$arg" in
++      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*)
++	arg="\"$arg\""
++	;;
++      esac
++      install_prog="$install_prog $arg"
++    done
++
++    if test -z "$install_prog"; then
++      $echo "$modename: you must specify an install program" 1>&2
++      $echo "$help" 1>&2
++      exit 1
++    fi
++
++    if test -n "$prev"; then
++      $echo "$modename: the \`$prev' option requires an argument" 1>&2
++      $echo "$help" 1>&2
++      exit 1
++    fi
++
++    if test -z "$files"; then
++      if test -z "$dest"; then
++        $echo "$modename: no file or destination specified" 1>&2
++      else
++        $echo "$modename: you must specify a destination" 1>&2
++      fi
++      $echo "$help" 1>&2
++      exit 1
++    fi
++
++    # Strip any trailing slash from the destination.
++    dest=`$echo "X$dest" | $Xsed -e 's%/$%%'`
++
++    # Check to see that the destination is a directory.
++    test -d "$dest" && isdir=yes
++    if test -n "$isdir"; then
++      destdir="$dest"
++      destname=
++    else
++      destdir=`$echo "X$dest" | $Xsed -e 's%/[^/]*$%%'`
++      test "X$destdir" = "X$dest" && destdir=.
++      destname=`$echo "X$dest" | $Xsed -e 's%^.*/%%'`
++
++      # Not a directory, so check to see that there is only one file specified.
++      set dummy $files
++      if test $# -gt 2; then
++        $echo "$modename: \`$dest' is not a directory" 1>&2
++        $echo "$help" 1>&2
++        exit 1
++      fi
++    fi
++    case "$destdir" in
++    /* | [A-Za-z]:\\*) ;;
++    *)
++      for file in $files; do
++        case "$file" in
++        *.lo) ;;
++        *)
++          $echo "$modename: \`$destdir' must be an absolute directory name" 1>&2
++          $echo "$help" 1>&2
++          exit 1
++          ;;
++        esac
++      done
++      ;;
++    esac
++
++    # This variable tells wrapper scripts just to set variables rather
++    # than running their programs.
++    libtool_install_magic="$magic"
++
++    staticlibs=
++    future_libdirs=
++    current_libdirs=
++    for file in $files; do
++
++      # Do each installation.
++      case "$file" in
++      *.a)
++        # Do the static libraries later.
++        staticlibs="$staticlibs $file"
++        ;;
++
++      *.la)
++        # Check to see that this really is a libtool archive.
++        if (sed -e '2q' $file | egrep '^# Generated by ltmain\.sh') >/dev/null 2>&1; then :
++        else
++          $echo "$modename: \`$file' is not a valid libtool archive" 1>&2
++          $echo "$help" 1>&2
++          exit 1
++        fi
++
++        library_names=
++        old_library=
++        # If there is no directory component, then add one.
++        case "$file" in
++        */* | *\\*) . $file ;;
++        *) . ./$file ;;
++        esac
++
++        # Add the libdir to current_libdirs if it is the destination.
++        if test "X$destdir" = "X$libdir"; then
++          case "$current_libdirs " in
++          *" $libdir "*) ;;
++          *) current_libdirs="$current_libdirs $libdir" ;;
++          esac
++        else
++          # Note the libdir as a future libdir.
++          case "$future_libdirs " in
++          *" $libdir "*) ;;
++          *) future_libdirs="$future_libdirs $libdir" ;;
++          esac
++        fi
++
++        dir="`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`/"
++        test "X$dir" = "X$file/" && dir=
++        dir="$dir$objdir"
++
++        # See the names of the shared library.
++        set dummy $library_names
++        if test -n "$2"; then
++          realname="$2"
++          shift
++          shift
++
++          # Install the shared library and build the symlinks.
++          $show "$install_prog $dir/$realname $destdir/$realname"
++          $run eval "$install_prog $dir/$realname $destdir/$realname" || exit $?
++          test "X$dlname" = "X$realname" && dlname=
++
++          if test $# -gt 0; then
++            # Delete the old symlinks.
++            rmcmd="$rm"
++            for linkname
++            do
++              rmcmd="$rmcmd $destdir/$linkname"
++            done
++            $show "$rmcmd"
++            $run $rmcmd
++
++            # ... and create new ones.
++            for linkname
++            do
++              test "X$dlname" = "X$linkname" && dlname=
++              $show "(cd $destdir && $LN_S $realname $linkname)"
++              $run eval "(cd $destdir && $LN_S $realname $linkname)"
++            done
++          fi
++
++          if test -n "$dlname"; then
++            # Install the dynamically-loadable library.
++            $show "$install_prog $dir/$dlname $destdir/$dlname"
++            $run eval "$install_prog $dir/$dlname $destdir/$dlname" || exit $?
++          fi
++
++          # Do each command in the postinstall commands.
++          lib="$destdir/$realname"
++          eval cmds=\"$postinstall_cmds\"
++          IFS="${IFS= 	}"; save_ifs="$IFS"; IFS=';'
++          for cmd in $cmds; do
++            IFS="$save_ifs"
++            $show "$cmd"
++            $run eval "$cmd" || exit $?
++          done
++          IFS="$save_ifs"
++        fi
++
++        # Install the pseudo-library for information purposes.
++        name=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
++        $show "$install_prog $file $destdir/$name"
++        $run eval "$install_prog $file $destdir/$name" || exit $?
++
++        # Maybe install the static library, too.
++        test -n "$old_library" && staticlibs="$staticlibs $dir/$old_library"
++        ;;
++
++      *.lo)
++        # Install (i.e. copy) a libtool object.
++
++        # Figure out destination file name, if it wasn't already specified.
++        if test -n "$destname"; then
++          destfile="$destdir/$destname"
++        else
++          destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
++          destfile="$destdir/$destfile"
++        fi
++
++        # Deduce the name of the destination old-style object file.
++        case "$destfile" in
++        *.lo)
++          staticdest=`$echo "X$destfile" | $Xsed -e 's/\.lo$/\.o/'`
++          ;;
++        *.o)
++          staticdest="$destfile"
++          destfile=
++          ;;
++        *)
++          $echo "$modename: cannot copy a libtool object to \`$destfile'" 1>&2
++          $echo "$help" 1>&2
++          exit 1
++          ;;
++        esac
++
++        # Install the libtool object if requested.
++        if test -n "$destfile"; then
++          $show "$install_prog $file $destfile"
++          $run eval "$install_prog $file $destfile" || exit $?
++        fi
++
++        # Install the old object if enabled.
++        if test "$build_old_libs" = yes; then
++          # Deduce the name of the old-style object file.
++          staticobj=`$echo "X$file" | $Xsed -e 's/\.lo$/\.o/'`
++
++          $show "$install_prog $staticobj $staticdest"
++          $run eval "$install_prog \$staticobj \$staticdest" || exit $?
++        fi
++        exit 0
++        ;;
++
++      *)
++        # Do a test to see if this is really a libtool program.
++        if (sed -e '4q' $file | egrep '^# Generated by ltmain\.sh') >/dev/null 2>&1; then
++          link_against_libtool_libs=
++          finalize_command=
++
++          # If there is no directory component, then add one.
++          case "$file" in
++          */* | *\\*) . $file ;;
++          *) . ./$file ;;
++          esac
++
++          # Check the variables that should have been set.
++          if test -z "$link_against_libtool_libs" || test -z "$finalize_command"; then
++            $echo "$modename: invalid libtool wrapper script \`$file'" 1>&2
++            exit 1
++          fi
++
++          finalize=yes
++          for lib in $link_against_libtool_libs; do
++            # Check to see that each library is installed.
++            libdir=
++            if test -f "$lib"; then
++              # If there is no directory component, then add one.
++              case "$lib" in
++              */* | *\\*) . $lib ;;
++              *) . ./$lib ;;
++              esac
++            fi
++            libfile="$libdir/`$echo "X$lib" | $Xsed -e 's%^.*/%%g'`"
++            if test -z "$libdir"; then
++              $echo "$modename: warning: \`$lib' contains no -rpath information" 1>&2
++            elif test -f "$libfile"; then :
++            else
++              $echo "$modename: warning: \`$lib' has not been installed in \`$libdir'" 1>&2
++              finalize=no
++            fi
++          done
++
++          if test "$hardcode_action" = relink; then
++            if test "$finalize" = yes; then
++              $echo "$modename: warning: relinking \`$file' on behalf of your buggy system linker" 1>&2
++              $show "$finalize_command"
++              if $run eval "$finalize_command"; then :
++              else
++                $echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2
++                continue
++              fi
++              file="$objdir/$file"T
++            else
++              $echo "$modename: warning: cannot relink \`$file' on behalf of your buggy system linker" 1>&2
++            fi
++          else
++            # Install the binary that we compiled earlier.
++	    file=`$echo "X$file" | $Xsed -e "s%\([^/]*\)$%$objdir/\1%"`
++          fi
++        fi
++
++        $show "$install_prog$stripme $file $dest"
++        $run eval "$install_prog\$stripme \$file \$dest" || exit $?
++        ;;
++      esac
++    done
++
++    for file in $staticlibs; do
++      name=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
++
++      # Set up the ranlib parameters.
++      oldlib="$destdir/$name"
++
++      $show "$install_prog $file $oldlib"
++      $run eval "$install_prog \$file \$oldlib" || exit $?
++
++      # Do each command in the postinstall commands.
++      eval cmds=\"$old_postinstall_cmds\"
++      IFS="${IFS= 	}"; save_ifs="$IFS"; IFS=';'
++      for cmd in $cmds; do
++        IFS="$save_ifs"
++        $show "$cmd"
++        $run eval "$cmd" || exit $?
++      done
++      IFS="$save_ifs"
++    done
++
++    if test -n "$future_libdirs"; then
++      $echo "$modename: warning: remember to run \`$progname --finish$future_libdirs'" 1>&2
++    fi
++
++    if test -n "$current_libdirs"; then
++      # Maybe just do a dry run.
++      test -n "$run" && current_libdirs=" -n$current_libdirs"
++      exec $SHELL $0 --finish$current_libdirs
++      exit 1
++    fi
++
++    exit 0
++    ;;
++
++  # libtool finish mode
++  finish)
++    modename="$modename: finish"
++    libdirs="$nonopt"
++
++    if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then
++      for dir
++      do
++        libdirs="$libdirs $dir"
++      done
++
++      for libdir in $libdirs; do
++	if test -n "$finish_cmds"; then
++	  # Do each command in the finish commands.
++	  eval cmds=\"$finish_cmds\"
++          IFS="${IFS= 	}"; save_ifs="$IFS"; IFS=';'
++          for cmd in $cmds; do
++            IFS="$save_ifs"
++            $show "$cmd"
++            $run eval "$cmd"
++          done
++          IFS="$save_ifs"
++	fi
++	if test -n "$finish_eval"; then
++	  # Do the single finish_eval.
++	  eval cmds=\"$finish_eval\"
++	  $run eval "$cmds"
++	fi
++      done
++    fi
++
++    echo "------------------------------------------------------------------------------"
++    echo "Libraries have been installed in:"
++    for libdir in $libdirs; do
++      echo "   $libdir"
++    done
++    echo
++    echo "To link against installed libraries in a given directory, LIBDIR,"
++    echo "you must use the \`-LLIBDIR' flag during linking."
++    echo
++    echo " You will also need to do one of the following:"
++    if test -n "$shlibpath_var"; then
++      echo "   - add LIBDIR to the \`$shlibpath_var' environment variable"
++      echo "     during execution"
++    fi
++    if test -n "$runpath_var"; then
++      echo "   - add LIBDIR to the \`$runpath_var' environment variable"
++      echo "     during linking"
++    fi
++    if test -n "$hardcode_libdir_flag_spec"; then
++      libdir=LIBDIR
++      eval flag=\"$hardcode_libdir_flag_spec\"
++
++      echo "   - use the \`$flag' linker flag"
++    fi
++    if test -f /etc/ld.so.conf; then
++      echo "   - have your system administrator add LIBDIR to \`/etc/ld.so.conf'"
++    fi
++    echo
++    echo "See any operating system documentation about shared libraries for"
++    echo "more information, such as the ld(1) and ld.so(8) manual pages."
++    echo "------------------------------------------------------------------------------"
++    exit 0
++    ;;
++
++  # libtool execute mode
++  execute)
++    modename="$modename: execute"
++
++    # The first argument is the command name.
++    cmd="$nonopt"
++    if test -z "$cmd"; then
++      $echo "$modename: you must specify a COMMAND" 1>&2
++      $echo "$help"
++      exit 1
++    fi
++
++    # Handle -dlopen flags immediately.
++    for file in $execute_dlfiles; do
++      if test -f "$file"; then :
++      else
++	$echo "$modename: \`$file' is not a file" 1>&2
++	$echo "$help" 1>&2
++	exit 1
++      fi
++
++      dir=
++      case "$file" in
++      *.la)
++        # Check to see that this really is a libtool archive.
++        if (sed -e '2q' $file | egrep '^# Generated by ltmain\.sh') >/dev/null 2>&1; then :
++        else
++          $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2
++          $echo "$help" 1>&2
++          exit 1
++        fi
++
++	# Read the libtool library.
++	dlname=
++	library_names=
++
++        # If there is no directory component, then add one.
++	case "$file" in
++	*/* | *\\*) . $file ;;
++        *) . ./$file ;;
++	esac
++
++	# Skip this library if it cannot be dlopened.
++	if test -z "$dlname"; then
++	  # Warn if it was a shared library.
++	  test -n "$library_names" && $echo "$modename: warning: \`$file' was not linked with \`-export-dynamic'"
++	  continue
++	fi
++
++	dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`
++	test "X$dir" = "X$file" && dir=.
++
++	if test -f "$dir/$objdir/$dlname"; then
++	  dir="$dir/$objdir"
++	else
++	  $echo "$modename: cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'" 1>&2
++	  exit 1
++	fi
++	;;
++
++      *.lo)
++	# Just add the directory containing the .lo file.
++	dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`
++	test "X$dir" = "X$file" && dir=.
++	;;
++
++      *)
++	$echo "$modename: warning \`-dlopen' is ignored for non-libtool libraries and objects" 1>&2
++        continue
++	;;
++      esac
++
++      # Get the absolute pathname.
++      absdir=`cd "$dir" && pwd`
++      test -n "$absdir" && dir="$absdir"
++
++      # Now add the directory to shlibpath_var.
++      if eval "test -z \"\$$shlibpath_var\""; then
++	eval "$shlibpath_var=\"\$dir\""
++      else
++	eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\""
++      fi
++    done
++
++    # This variable tells wrapper scripts just to set shlibpath_var
++    # rather than running their programs.
++    libtool_execute_magic="$magic"
++
++    # Check if any of the arguments is a wrapper script.
++    args=
++    for file
++    do
++      case "$file" in
++      -*) ;;
++      *)
++        # Do a test to see if this is really a libtool program.
++        if (sed -e '4q' $file | egrep '^# Generated by ltmain\.sh') >/dev/null 2>&1; then
++	  # If there is no directory component, then add one.
++	  case "$file" in
++	  */* | *\\*) . $file ;;
++	  *) . ./$file ;;
++	  esac
++
++	  # Transform arg to wrapped name.
++	  file="$progdir/$program"
++	fi
++        ;;
++      esac
++      # Quote arguments (to preserve shell metacharacters).
++      file=`$echo "X$file" | $Xsed -e "$sed_quote_subst"`
++      args="$args \"$file\""
++    done
++
++    if test -z "$run"; then
++      # Export the shlibpath_var.
++      eval "export $shlibpath_var"
++
++      # Now actually exec the command.
++      eval "exec \$cmd$args"
++
++      $echo "$modename: cannot exec \$cmd$args"
++      exit 1
++    else
++      # Display what would be done.
++      eval "\$echo \"\$shlibpath_var=\$$shlibpath_var\""
++      $echo "export $shlibpath_var"
++      $echo "$cmd$args"
++      exit 0
++    fi
++    ;;
++
++  # libtool uninstall mode
++  uninstall)
++    modename="$modename: uninstall"
++    rm="$nonopt"
++    files=
++
++    for arg
++    do
++      case "$arg" in
++      -*) rm="$rm $arg" ;;
++      *) files="$files $arg" ;;
++      esac
++    done
++
++    if test -z "$rm"; then
++      $echo "$modename: you must specify an RM program" 1>&2
++      $echo "$help" 1>&2
++      exit 1
++    fi
++
++    for file in $files; do
++      dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`
++      test "X$dir" = "X$file" && dir=.
++      name=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
++
++      rmfiles="$file"
++
++      case "$name" in
++      *.la)
++        # Possibly a libtool archive, so verify it.
++        if (sed -e '2q' $file | egrep '^# Generated by ltmain\.sh') >/dev/null 2>&1; then
++          . $dir/$name
++
++          # Delete the libtool libraries and symlinks.
++          for n in $library_names; do
++            rmfiles="$rmfiles $dir/$n"
++            test "X$n" = "X$dlname" && dlname=
++          done
++          test -n "$dlname" && rmfiles="$rmfiles $dir/$dlname"
++          test -n "$old_library" && rmfiles="$rmfiles $dir/$old_library"
++
++	  $show "$rm $rmfiles"
++	  $run $rm $rmfiles
++
++	  if test -n "$library_names"; then
++	    # Do each command in the postuninstall commands.
++	    eval cmds=\"$postuninstall_cmds\"
++	    IFS="${IFS= 	}"; save_ifs="$IFS"; IFS=';'
++	    for cmd in $cmds; do
++	      IFS="$save_ifs"
++	      $show "$cmd"
++	      $run eval "$cmd"
++	    done
++	    IFS="$save_ifs"
++	  fi
++
++          if test -n "$old_library"; then
++	    # Do each command in the old_postuninstall commands.
++	    eval cmds=\"$old_postuninstall_cmds\"
++	    IFS="${IFS= 	}"; save_ifs="$IFS"; IFS=';'
++	    for cmd in $cmds; do
++	      IFS="$save_ifs"
++	      $show "$cmd"
++	      $run eval "$cmd"
++	    done
++	    IFS="$save_ifs"
++	  fi
++
++          # FIXME: should reinstall the best remaining shared library.
++        fi
++        ;;
++
++      *.lo)
++        if test "$build_old_libs" = yes; then
++          oldobj=`$echo "X$name" | $Xsed -e 's/\.lo$/\.o/'`
++          rmfiles="$rmfiles $dir/$oldobj"
++        fi
++	$show "$rm $rmfiles"
++	$run $rm $rmfiles
++        ;;
++
++      *)
++      	$show "$rm $rmfiles"
++	$run $rm $rmfiles
++	;;
++      esac
++    done
++    exit 0
++    ;;
++
++  "")
++    $echo "$modename: you must specify a MODE" 1>&2
++    $echo "$generic_help" 1>&2
++    exit 1
++    ;;
++  esac
++
++  $echo "$modename: invalid operation mode \`$mode'" 1>&2
++  $echo "$generic_help" 1>&2
++  exit 1
++fi # test -z "$show_help"
++
++# We need to display help for each of the modes.
++case "$mode" in
++"") $echo \
++"Usage: $modename [OPTION]... [MODE-ARG]...
++
++Provide generalized library-building support services.
++
++-n, --dry-run         display commands without modifying any files
++    --features        display configuration information and exit
++    --finish          same as \`--mode=finish'
++    --help            display this help message and exit
++    --mode=MODE       use operation mode MODE [default=inferred from MODE-ARGS]
++    --quiet           same as \`--silent'
++    --silent          don't print informational messages
++    --version         print version information
++
++MODE must be one of the following:
++
++      compile         compile a source file into a libtool object
++      execute         automatically set library path, then run a program
++      finish          complete the installation of libtool libraries
++      install         install libraries or executables
++      link            create a library or an executable
++      uninstall       remove libraries from an installed directory
++
++MODE-ARGS vary depending on the MODE.  Try \`$modename --help --mode=MODE' for
++a more detailed description of MODE."
++  exit 0
++  ;;
++
++compile)
++  $echo \
++"Usage: $modename [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE
++
++Compile a source file into a libtool library object.
++
++COMPILE-COMMAND is a command to be used in creating a \`standard' object file
++from the given SOURCEFILE.
++
++The output file name is determined by removing the directory component from
++SOURCEFILE, then substituting the C source code suffix \`.c' with the
++library object suffix, \`.lo'."
++  ;;
++
++execute)
++  $echo \
++"Usage: $modename [OPTION]... --mode=execute COMMAND [ARGS]...
++
++Automatically set library path, then run a program.
++
++This mode accepts the following additional options:
++
++  -dlopen FILE      add the directory containing FILE to the library path
++
++This mode sets the library path environment variable according to \`-dlopen'
++flags.
++
++If any of the ARGS are libtool executable wrappers, then they are translated
++into their corresponding uninstalled binary, and any of their required library
++directories are added to the library path.
++
++Then, COMMAND is executed, with ARGS as arguments."
++  ;;
++
++finish)
++  $echo \
++"Usage: $modename [OPTION]... --mode=finish [LIBDIR]...
++
++Complete the installation of libtool libraries.
++
++Each LIBDIR is a directory that contains libtool libraries.
++
++The commands that this mode executes may require superuser privileges.  Use
++the \`--dry-run' option if you just want to see what would be executed."
++  ;;
++
++install)
++  $echo \
++"Usage: $modename [OPTION]... --mode=install INSTALL-COMMAND...
++
++Install executables or libraries.
++
++INSTALL-COMMAND is the installation command.  The first component should be
++either the \`install' or \`cp' program.
++
++The rest of the components are interpreted as arguments to that command (only
++BSD-compatible install options are recognized)."
++  ;;
++
++link)
++  $echo \
++"Usage: $modename [OPTION]... --mode=link LINK-COMMAND...
++
++Link object files or libraries together to form another library, or to
++create an executable program.
++
++LINK-COMMAND is a command using the C compiler that you would use to create
++a program from several object files.
++
++The following components of LINK-COMMAND are treated specially:
++
++  -all-static       do not do any dynamic linking at all
++  -dlopen FILE      \`-dlpreopen' FILE if it cannot be dlopened at runtime
++  -dlpreopen FILE   link in FILE and add its symbols to dld_preloaded_symbols
++  -export-dynamic   allow symbols from OUTPUT-FILE to be resolved with dlsym(3)
++  -LLIBDIR          search LIBDIR for required installed libraries
++  -lNAME            OUTPUT-FILE requires the installed library libNAME
++  -no-undefined     declare that a library does not refer to external symbols
++  -o OUTPUT-FILE    create OUTPUT-FILE from the specified objects
++  -release RELEASE  specify package release information
++  -rpath LIBDIR     the created library will eventually be installed in LIBDIR
++  -static           do not do any dynamic linking of libtool libraries
++  -version-info CURRENT[:REVISION[:AGE]]
++                    specify library version info [each variable defaults to 0]
++
++All other options (arguments beginning with \`-') are ignored.
++
++Every other argument is treated as a filename.  Files ending in \`.la' are
++treated as uninstalled libtool libraries, other files are standard or library
++object files.
++
++If the OUTPUT-FILE ends in \`.la', then a libtool library is created, only
++library objects (\`.lo' files) may be specified, and \`-rpath' is required.
++
++If OUTPUT-FILE ends in \`.a', then a standard library is created using \`ar'
++and \`ranlib'.
++
++If OUTPUT-FILE ends in \`.lo' or \`.o', then a reloadable object file is
++created, otherwise an executable program is created."
++  ;;
++
++uninstall)
++  $echo
++"Usage: $modename [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE...
++
++Remove libraries from an installation directory.
++
++RM is the name of the program to use to delete files associated with each FILE
++(typically \`/bin/rm').  RM-OPTIONS are options (such as \`-f') to be passed
++to RM.
++
++If FILE is a libtool library, all the files associated with it are deleted.
++Otherwise, only FILE itself is deleted using RM."
++  ;;
++
++*)
++  $echo "$modename: invalid operation mode \`$mode'" 1>&2
++  $echo "$help" 1>&2
++  exit 1
++  ;;
++esac
++
++echo
++$echo "Try \`$modename --help' for more information about other modes."
++
++exit 0
++
++# Local Variables:
++# mode:shell-script
++# sh-indentation:2
++# End:
diff --cc ltconfig
index 0000000,2347e69..23ce23e
mode 000000,100755..100755
--- a/ltconfig
+++ b/ltconfig
@@@ -1,0 -1,1512 +1,1512 @@@
+ #! /bin/sh
+ 
+ # ltconfig - Create a system-specific libtool.
+ # Copyright (C) 1996-1998 Free Software Foundation, Inc.
+ # Gordon Matzigkeit <gord at gnu.ai.mit.edu>, 1996
+ #
+ # This file is free software; you can redistribute it and/or modify it
+ # under the terms of the GNU General Public License as published by
+ # the Free Software Foundation; either version 2 of the License, or
+ # (at your option) any later version.
+ #
+ # This program is distributed in the hope that it will be useful, but
+ # WITHOUT ANY WARRANTY; without even the implied warranty of
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ # General Public License for more details.
+ #
+ # You should have received a copy of the GNU General Public License
+ # along with this program; if not, write to the Free Software
+ # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ #
+ # As a special exception to the GNU General Public License, if you
+ # distribute this file as part of a program that contains a
+ # configuration script generated by Autoconf, you may include it under
+ # the same distribution terms that you use for the rest of that program.
+ 
+ # A lot of this script is taken from autoconf-2.10.
+ 
+ # The HP-UX ksh and POSIX shell print the target directory to stdout
+ # if CDPATH is set.
+ if test "${CDPATH+set}" = set; then CDPATH=; export CDPATH; fi
+ 
+ echo=echo
+ if test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then :
+ else
+   # The Solaris and AIX default echo program unquotes backslashes.
+   # This makes it impossible to quote backslashes using
+   #   echo "$something" | sed 's/\\/\\\\/g'
+   # So, we emulate echo with printf '%s\n'
+   echo="printf %s\\n"
+   if test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then :
+   else
+     # Oops.  We have no working printf.  Try to find a not-so-buggy echo.
+     echo=echo
+     IFS="${IFS= 	}"; save_ifs="$IFS"; IFS="${IFS}:"
+     for dir in $PATH /usr/ucb; do
+       if test -f $dir/echo && test "X`$dir/echo '\t'`" = 'X\t'; then
+         echo="$dir/echo"
+         break
+       fi
+     done
+     IFS="$save_ifs"
+   fi
+ fi
+ 
+ # Sed substitution that helps us do robust quoting.  It backslashifies
+ # metacharacters that are still active within double-quoted strings.
+ Xsed='sed -e s/^X//'
+ sed_quote_subst='s/\([\\"\\`$\\\\]\)/\\\1/g'
+ 
+ # Same as above, but do not quote variable references.
+ double_quote_subst='s/\([\\"\\`\\\\]\)/\\\1/g'
+ 
+ # The name of this program.
+ progname=`$echo "X$0" | $Xsed -e 's%^.*/%%'`
+ 
+ # Constants:
+ PROGRAM=ltconfig
+ PACKAGE=libtool
+ VERSION=1.2
+ ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.c 1>&5'
+ ac_link='${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.c $LIBS 1>&5'
+ rm="rm -f"
+ 
+ help="Try \`$progname --help' for more information."
+ 
+ # Global variables:
+ can_build_shared=yes
+ enable_shared=yes
+ # All known linkers require a `.a' archive for static linking.
+ enable_static=yes
+ ltmain=
+ silent=
+ srcdir=
+ ac_config_guess=
+ ac_config_sub=
+ host=
+ nonopt=
+ verify_host=yes
+ with_gcc=no
+ with_gnu_ld=no
+ 
+ old_AR="$AR"
+ old_CC="$CC"
+ old_CFLAGS="$CFLAGS"
+ old_CPPFLAGS="$CPPFLAGS"
+ old_LD="$LD"
+ old_LN_S="$LN_S"
+ old_NM="$NM"
+ old_RANLIB="$RANLIB"
+ 
+ # Parse the command line options.
+ args=
+ prev=
+ for option
+ do
+   case "$option" in
+   -*=*) optarg=`echo "$option" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
+   *) optarg= ;;
+   esac
+ 
+   # If the previous option needs an argument, assign it.
+   if test -n "$prev"; then
+     eval "$prev=\$option"
+     prev=
+     continue
+   fi
+ 
+   case "$option" in
+   --help) cat <<EOM
+ Usage: $progname [OPTION]... LTMAIN [HOST]
+ 
+ Generate a system-specific libtool script.
+ 
+     --disable-shared       do not build shared libraries
+     --disable-static       do not build static libraries
+     --help                 display this help and exit
+     --no-verify            do not verify that HOST is a valid host type
+     --quiet                same as \`--silent'
+     --silent               do not print informational messages
+     --srcdir=DIR           find \`config.guess' in DIR
+     --version              output version information and exit
+     --with-gcc             assume that the GNU C compiler will be used
+     --with-gnu-ld          assume that the C compiler uses the GNU linker
+ 
+ LTMAIN is the \`ltmain.sh' shell script fragment that provides basic libtool
+ functionality.
+ 
+ HOST is the canonical host system name [default=guessed].
+ EOM
+   exit 0
+   ;;
+ 
+   --disable-shared) enable_shared=no ;;
+ 
+   --disable-static) enable_static=no ;;
+ 
+   --quiet | --silent) silent=yes ;;
+ 
+   --srcdir) prev=srcdir ;;
+   --srcdir=*) srcdir="$optarg" ;;
+ 
+   --no-verify) verify_host=no ;;
+ 
+   --version) echo "$PROGRAM (GNU $PACKAGE) $VERSION"; exit 0 ;;
+ 
+   --with-gcc) with_gcc=yes ;;
+   --with-gnu-ld) with_gnu_ld=yes ;;
+ 
+   -*)
+     echo "$progname: unrecognized option \`$option'" 1>&2
+     echo "$help" 1>&2
+     exit 1
+     ;;
+ 
+   *)
+     if test -z "$ltmain"; then
+       ltmain="$option"
+     elif test -z "$host"; then
+ # This generates an unnecessary warning for sparc-sun-solaris4.1.3_U1
+ #      if test -n "`echo $option| sed 's/[-a-z0-9.]//g'`"; then
+ #        echo "$progname: warning \`$option' is not a valid host type" 1>&2
+ #      fi
+       host="$option"
+     else
+       echo "$progname: too many arguments" 1>&2
+       echo "$help" 1>&2
+       exit 1
+     fi ;;
+   esac
+ done
+ 
+ if test -z "$ltmain"; then
+   echo "$progname: you must specify a LTMAIN file" 1>&2
+   echo "$help" 1>&2
+   exit 1
+ fi
+ 
+ if test -f "$ltmain"; then :
+ else
+   echo "$progname: \`$ltmain' does not exist" 1>&2
+   echo "$help" 1>&2
+   exit 1
+ fi
+ 
+ # Quote any args containing shell metacharacters.
+ ltconfig_args=
+ for arg
+ do
+   case "$arg" in
+   *" "*|*"	"*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*)
+   ltconfig_args="$ltconfig_args '$arg'" ;;
+   *) ltconfig_args="$ltconfig_args $arg" ;;
+   esac
+ done
+ 
+ # A relevant subset of AC_INIT.
+ 
+ # File descriptor usage:
+ # 0 standard input
+ # 1 file creation
+ # 2 errors and warnings
+ # 3 some systems may open it to /dev/tty
+ # 4 used on the Kubota Titan
+ # 5 compiler messages saved in config.log
+ # 6 checking for... messages and results
+ if test "$silent" = yes; then
+   exec 6>/dev/null
+ else
+   exec 6>&1
+ fi
+ exec 5>>./config.log
+ 
+ # NLS nuisances.
+ # Only set LANG and LC_ALL to C if already set.
+ # These must not be set unconditionally because not all systems understand
+ # e.g. LANG=C (notably SCO).
+ if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi
+ if test "${LANG+set}"   = set; then LANG=C;   export LANG;   fi
+ 
+ if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then
+   # Stardent Vistra SVR4 grep lacks -e, says ghazi at caip.rutgers.edu.
+   if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then
+     ac_n= ac_c='
+ ' ac_t='	'
+   else
+     ac_n=-n ac_c= ac_t=
+   fi
+ else
+   ac_n= ac_c='\c' ac_t=
+ fi
+ 
+ if test -z "$srcdir"; then
+   # Assume the source directory is the same one as the path to ltmain.sh.
+   srcdir=`$echo "$ltmain" | $Xsed -e 's%/[^/]*$%%'`
+   test "$srcdir" = "$ltmain" && srcdir=.
+ fi
+ 
+ trap "$rm conftest*; exit 1" 1 2 15
+ if test "$verify_host" = yes; then
+   # Check for config.guess and config.sub.
+   ac_aux_dir=
+   for ac_dir in $srcdir $srcdir/.. $srcdir/../..; do
+     if test -f $ac_dir/config.guess; then
+       ac_aux_dir=$ac_dir
+       break
+     fi
+   done
+   if test -z "$ac_aux_dir"; then
+     echo "$progname: cannot find config.guess in $srcdir $srcdir/.. $srcdir/../.." 1>&2
+     echo "$help" 1>&2
+     exit 1
+   fi
+   ac_config_guess=$ac_aux_dir/config.guess
+   ac_config_sub=$ac_aux_dir/config.sub
+ 
+   # Make sure we can run config.sub.
+   if $ac_config_sub sun4 >/dev/null 2>&1; then :
+   else
+     echo "$progname: cannot run $ac_config_sub" 1>&2
+     echo "$help" 1>&2
+     exit 1
+   fi
+ 
+   echo $ac_n "checking host system type""... $ac_c" 1>&6
+ 
+   host_alias=$host
+   case "$host_alias" in
+   "")
+     if host_alias=`$ac_config_guess`; then :
+     else
+       echo "$progname: cannot guess host type; you must specify one" 1>&2
+       echo "$help" 1>&2
+       exit 1
+     fi ;;
+   esac
+   host=`$ac_config_sub $host_alias`
+   echo "$ac_t$host" 1>&6
+ 
+   # Make sure the host verified.
+   test -z "$host" && exit 1
+ 
+ elif test -z "$host"; then
+   echo "$progname: you must specify a host type if you use \`--no-verify'" 1>&2
+   echo "$help" 1>&2
+   exit 1
+ else
+   host_alias=$host
+ fi
+ 
+ # Transform linux* to *-*-linux-gnu*, to support old configure scripts.
+ case "$host_os" in
+ linux-gnu*) ;;
+ linux*) host=`echo $host | sed 's/^\(.*-.*-linux\)\(.*\)$/\1-gnu\2/'`
+ esac
+ 
+ host_cpu=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+ host_vendor=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+ host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+ 
+ case "$host_os" in
+ aix3*)
+   # AIX sometimes has problems with the GCC collect2 program.  For some
+   # reason, if we set the COLLECT_NAMES environment variable, the problems
+   # vanish in a puff of smoke.
+   if test "${COLLECT_NAMES+set}" != set; then
+     COLLECT_NAMES=
+     export COLLECT_NAMES
+   fi
+   ;;
+ esac
+ 
+ # Determine commands to create old-style static archives.
+ old_archive_cmds='$AR cru $oldlib$oldobjs'
+ old_postinstall_cmds='chmod 644 $oldlib'
+ old_postuninstall_cmds=
+ 
+ # Set a sane default for `AR'.
+ test -z "$AR" && AR=ar
+ 
+ # If RANLIB is not set, then run the test.
+ if test "${RANLIB+set}" != "set"; then
+   result=no
+ 
+   echo $ac_n "checking for ranlib... $ac_c" 1>&6
+   IFS="${IFS= 	}"; save_ifs="$IFS"; IFS="${IFS}:"
+   for dir in $PATH; do
+     test -z "$dir" && dir=.
+     if test -f $dir/ranlib; then
+       RANLIB="ranlib"
+       result="ranlib"
+       break
+     fi
+   done
+   IFS="$save_ifs"
+ 
+   echo "$ac_t$result" 1>&6
+ fi
+ 
+ if test -n "$RANLIB"; then
+   old_archive_cmds="$old_archive_cmds;\$RANLIB \$oldlib"
+   old_postinstall_cmds="\$RANLIB \$oldlib;$old_postinstall_cmds"
+ fi
+ 
+ # Check to see if we are using GCC.
+ if test "$with_gcc" != yes || test -z "$CC"; then
+   # If CC is not set, then try to find GCC or a usable CC.
+   if test -z "$CC"; then
+     echo $ac_n "checking for gcc... $ac_c" 1>&6
+     IFS="${IFS= 	}"; save_ifs="$IFS"; IFS="${IFS}:"
+     for dir in $PATH; do
+       IFS="$save_ifs"
+       test -z "$dir" && dir=.
+       if test -f $dir/gcc; then
+ 	CC="gcc"
+ 	break
+       fi
+     done
+     IFS="$save_ifs"
+ 
+     if test -n "$CC"; then
+       echo "$ac_t$CC" 1>&6
+     else
+       echo "$ac_t"no 1>&6
+     fi
+   fi
+ 
+   # Not "gcc", so try "cc", rejecting "/usr/ucb/cc".
+   if test -z "$CC"; then
+     echo $ac_n "checking for cc... $ac_c" 1>&6
+     IFS="${IFS= 	}"; save_ifs="$IFS"; IFS="${IFS}:"
+     cc_rejected=no
+     for dir in $PATH; do
+       test -z "$dir" && dir=.
+       if test -f $dir/cc; then
+ 	if test "$dir/cc" = "/usr/ucb/cc"; then
+ 	  cc_rejected=yes
+ 	  continue
+ 	fi
+ 	CC="cc"
+ 	break
+       fi
+     done
+     IFS="$save_ifs"
+     if test $cc_rejected = yes; then
+       # We found a bogon in the path, so make sure we never use it.
+       set dummy $CC
+       shift
+       if test $# -gt 0; then
+ 	# We chose a different compiler from the bogus one.
+ 	# However, it has the same name, so the bogon will be chosen
+ 	# first if we set CC to just the name; use the full file name.
+ 	shift
+ 	set dummy "$dir/cc" "$@"
+ 	shift
+ 	CC="$@"
+       fi
+     fi
+ 
+     if test -n "$CC"; then
+       echo "$ac_t$CC" 1>&6
+     else
+       echo "$ac_t"no 1>&6
+     fi
+ 
+     if test -z "$CC"; then
+       echo "$progname: error: no acceptable cc found in \$PATH" 1>&2
+       exit 1
+     fi
+   fi
+ 
+   # Now see if the compiler is really GCC.
+   with_gcc=no
+   echo $ac_n "checking whether we are using GNU C... $ac_c" 1>&6
+   echo "$progname:424: checking whether we are using GNU C" >&5
+ 
+   $rm conftest.c
+   cat > conftest.c <<EOF
+ #ifdef __GNUC__
+   yes;
+ #endif
+ EOF
+   if { ac_try='${CC-cc} -E conftest.c'; { (eval echo $progname:432: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+     with_gcc=yes
+   fi
+   $rm conftest.c
+   echo "$ac_t$with_gcc" 1>&6
+ fi
+ 
+ # Allow CC to be a program name with arguments.
+ set dummy $CC
+ compiler="$2"
+ 
+ echo $ac_n "checking for $compiler option to produce PIC... $ac_c" 1>&6
+ pic_flag=
+ special_shlib_compile_flags=
+ wl=
+ link_static_flag=
+ no_builtin_flag=
+ 
+ if test "$with_gcc" = yes; then
+   wl='-Wl,'
+   link_static_flag='-static'
+   no_builtin_flag=' -fno-builtin'
+ 
+   case "$host_os" in
+   aix3* | aix4* | irix5* | irix6* | osf3* | osf4*)
+     # PIC is the default for these OSes.
+     ;;
+   os2*)
+     # We can build DLLs from non-PIC.
+     ;;
+   amigaos*)
+     # FIXME: we need at least 68020 code to build shared libraries, but
+     # adding the `-m68020' flag to GCC prevents building anything better,
+     # like `-m68040'.
+     pic_flag='-m68020 -resident32 -malways-restore-a4'
+     ;;
+   *)
+     pic_flag='-fPIC'
+     ;;
+   esac
+ else
+   # PORTME Check for PIC flags for the system compiler.
+   case "$host_os" in
+   aix3* | aix4*)
+     # All AIX code is PIC.
+     link_static_flag='-bnso -bI:/lib/syscalls.exp'
+     ;;
+ 
+   hpux9* | hpux10*)
+     # Is there a better link_static_flag that works with the bundled CC?
+     wl='-Wl,'
+     link_static_flag="${wl}-a ${wl}archive"
+     pic_flag='+Z'
+     ;;
+ 
+   irix5* | irix6*)
+     wl='-Wl,'
+     link_static_flag='-non_shared'
+     # PIC (with -KPIC) is the default.
+     ;;
+ 
+   os2*)
+     # We can build DLLs from non-PIC.
+     ;;
+ 
+   osf3* | osf4*)
+     # All OSF/1 code is PIC.
+     wl='-Wl,'
+     link_static_flag='-non_shared'
+     ;;
+ 
+   sco3.2v5*)
+     pic_flag='-Kpic'
+     link_static_flag='-dn'
+     special_shlib_compile_flags='-belf'
+     ;;
+ 
+   solaris2*)
+     pic_flag='-KPIC'
+     link_static_flag='-Bstatic'
+     wl='-Wl,'
+     ;;
+ 
+   sunos4*)
+     pic_flag='-PIC'
+     link_static_flag='-Bstatic'
+     wl='-Qoption ld '
+     ;;
+ 
+   sysv4.2uw2*)
+     pic_flag='-KPIC'
+     link_static_flag='-Bstatic'
+     wl='-Wl,'
+     ;;
+ 
+   uts4*)
+     pic_flag='-pic'
+     link_static_flag='-Bstatic'
+     ;;
+ 
+   *)
+     can_build_shared=no
+     ;;
+   esac
+ fi
+ 
+ if test -n "$pic_flag"; then
+   echo "$ac_t$pic_flag" 1>&6
+ 
+   # Check to make sure the pic_flag actually works.
+   echo $ac_n "checking if $compiler PIC flag $pic_flag works... $ac_c" 1>&6
+   $rm conftest*
+   echo > conftest.c
+   save_CFLAGS="$CFLAGS"
+   CFLAGS="$CFLAGS $pic_flag -DPIC"
+   echo "$progname:547: checking if $compiler PIC flag $pic_flag works" >&5
+   if { (eval echo $progname:548: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>conftest.err; } && test -s conftest.o; then
+     # Append any warnings to the config.log.
+     cat conftest.err 1>&5
+ 
+     # On HP-UX, both CC and GCC only warn that PIC is supported... then they
+     # create non-PIC objects.  So, if there were any warnings, we assume that
+     # PIC is not supported.
+     if test -s conftest.err; then
+       echo "$ac_t"no 1>&6
+       can_build_shared=no
+       pic_flag=
+     else
+       echo "$ac_t"yes 1>&6
+       pic_flag=" $pic_flag"
+     fi
+   else
+     # Append any errors to the config.log.
+     cat conftest.err 1>&5
+     can_build_shared=no
+     pic_flag=
+     echo "$ac_t"no 1>&6
+   fi
+   CFLAGS="$save_CFLAGS"
+   $rm conftest*
+ else
+   echo "$ac_t"none 1>&6
+ fi
+ 
+ # Check for any special shared library compilation flags.
+ if test -n "$special_shlib_compile_flags"; then
+   echo "$progname: warning: \`$CC' requires \`$special_shlib_compile_flags' to build shared libraries" 1>&2
+   if echo "$old_CC $old_CFLAGS " | egrep -e "[ 	]$special_shlib_compile_flags[ 	]" >/dev/null; then :
+   else
+     echo "$progname: add \`$special_shlib_compile_flags' to the CC or CFLAGS env variable and reconfigure" 1>&2
+     can_build_shared=no
+   fi
+ fi
+ 
+ echo $ac_n "checking if $compiler static flag $link_static_flag works... $ac_c" 1>&6
+ $rm conftest*
+ echo 'main(){return(0);}' > conftest.c
+ save_LDFLAGS="$LDFLAGS"
+ LDFLAGS="$LDFLAGS $link_static_flag"
+ echo "$progname:591: checking if $compiler static flag $link_static_flag works" >&5
+ if { (eval echo $progname:592: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+   echo "$ac_t$link_static_flag" 1>&6
+ else
+   echo "$ac_t"none 1>&6
+   link_static_flag=
+ fi
+ LDFLAGS="$save_LDFLAGS"
+ $rm conftest*
+ 
+ if test -z "$LN_S"; then
+   # Check to see if we can use ln -s, or we need hard links.
+   echo $ac_n "checking whether ln -s works... $ac_c" 1>&6
+   $rm conftestdata
+   if ln -s X conftestdata 2>/dev/null; then
+     $rm conftestdata
+     LN_S="ln -s"
+   else
+     LN_S=ln
+   fi
+   if test "$LN_S" = "ln -s"; then
+     echo "$ac_t"yes 1>&6
+   else
+     echo "$ac_t"no 1>&6
+   fi
+ fi
+ 
+ # Make sure LD is an absolute path.
+ if test -z "$LD"; then
+   ac_prog=ld
+   if test "$with_gcc" = yes; then
+     # Check if gcc -print-prog-name=ld gives a path.
+     echo $ac_n "checking for ld used by GCC... $ac_c" 1>&6
+     echo "$progname:624: checking for ld used by GCC" >&5
+     ac_prog=`($CC -print-prog-name=ld) 2>&5`
+     case "$ac_prog" in
+     # Accept absolute paths.
+     /* | [A-Za-z]:\\*)
+       test -z "$LD" && LD="$ac_prog"
+       ;;
+     "")
+       # If it fails, then pretend we are not using GCC.
+       ac_prog=ld
+       ;;
+     *)
+       # If it is relative, then search for the first ld in PATH.
+       with_gnu_ld=unknown
+       ;;
+     esac
+   elif test "$with_gnu_ld" = yes; then
+     echo $ac_n "checking for GNU ld... $ac_c" 1>&6
+     echo "$progname:642: checking for GNU ld" >&5
+   else
+     echo $ac_n "checking for non-GNU ld""... $ac_c" 1>&6
+     echo "$progname:645: checking for non-GNU ld" >&5
+   fi
+ 
+   if test -z "$LD"; then
+     IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS="${IFS}:"
+     for ac_dir in $PATH; do
+       test -z "$ac_dir" && ac_dir=.
+       if test -f "$ac_dir/$ac_prog"; then
+ 	LD="$ac_dir/$ac_prog"
+ 	# Check to see if the program is GNU ld.  I'd rather use --version,
+ 	# but apparently some GNU ld's only accept -v.
+ 	# Break only if it was the GNU/non-GNU ld that we prefer.
+ 	if "$LD" -v 2>&1 < /dev/null | egrep '(GNU|with BFD)' > /dev/null; then
+ 	  test "$with_gnu_ld" != no && break
+ 	else
+ 	  test "$with_gnu_ld" != yes && break
+ 	fi
+       fi
+     done
+     IFS="$ac_save_ifs"
+   fi
+ 
+   if test -n "$LD"; then
+     echo "$ac_t$LD" 1>&6
+   else
+     echo "$ac_t"no 1>&6
+   fi
+ 
+   if test -z "$LD"; then
+     echo "$progname: error: no acceptable ld found in \$PATH" 1>&2
+     exit 1
+   fi
+ fi
+ 
+ # Check to see if it really is or is not GNU ld.
+ echo $ac_n "checking if the linker ($LD) is GNU ld... $ac_c" 1>&6
+ # I'd rather use --version here, but apparently some GNU ld's only accept -v.
+ if $LD -v 2>&1 </dev/null | egrep '(GNU|with BFD)' 1>&5; then
+   with_gnu_ld=yes
+ else
+   with_gnu_ld=no
+ fi
+ echo "$ac_t$with_gnu_ld" 1>&6
+ 
+ # See if the linker supports building shared libraries.
+ echo $ac_n "checking whether the linker ($LD) supports shared libraries... $ac_c" 1>&6
+ 
+ allow_undefined_flag=
+ no_undefined_flag=
+ archive_cmds=
+ old_archive_from_new_cmds=
+ export_dynamic_flag_spec=
+ hardcode_libdir_flag_spec=
+ hardcode_libdir_separator=
+ hardcode_direct=no
+ hardcode_minus_L=no
+ hardcode_shlibpath_var=unsupported
+ runpath_var=
+ 
+ case "$host_os" in
+ amigaos* | sunos4*)
+   # On these operating systems, we should treat GNU ld like the system ld.
+   gnu_ld_acts_native=yes
+   ;;
+ *)
+   gnu_ld_acts_native=no
+   ;;
+ esac
+ 
+ ld_shlibs=yes
+ if test "$with_gnu_ld" = yes && test "$gnu_ld_acts_native" != yes; then
+ 
+   # See if GNU ld supports shared libraries.
+   if $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then
 -    archive_cmds='$CC -shared ${wl}-soname $wl$soname -o $lib$libobjs'
++    archive_cmds='$CC -shared ${wl}-soname $wl$soname -o $lib$libobjs -lc'
+     runpath_var=LD_RUN_PATH
+     ld_shlibs=yes
+   else
+     ld_shlibs=no
+   fi
+ 
+   if test "$ld_shlibs" = yes; then
+     hardcode_libdir_flag_spec='${wl}--rpath ${wl}$libdir'
+     export_dynamic_flag_spec='${wl}--export-dynamic'
+   fi
+ else
+   # PORTME fill in a description of your system's linker (not GNU ld)
+   case "$host_os" in
+   aix3*)
+     allow_undefined_flag=unsupported
+     archive_cmds='$NM$libobjs | $global_symbol_pipe | sed '\''s/.* //'\'' > $lib.exp;$LD -o $objdir/$soname$libobjs -bE:$lib.exp -T512 -H512 -bM:SRE;$AR cru $lib $objdir/$soname'
+     # Note: this linker hardcodes the directories in LIBPATH if there
+     # are no directories specified by -L.
+     hardcode_minus_L=yes
+     if test "$with_gcc" = yes && test -z "$link_static_flag"; then
+       # Neither direct hardcoding nor static linking is supported with a
+       # broken collect2.
+       hardcode_direct=unsupported
+     fi
+     ;;
+ 
+   aix4*)
+     allow_undefined_flag=unsupported
+     archive_cmds='$NM$libobjs | $global_symbol_pipe | sed '\''s/.* //'\'' > $lib.exp;$CC -o $objdir/$soname$libobjs ${wl}-bE:$lib.exp ${wl}-bM:SRE ${wl}-bnoentry;$AR cru $lib $objdir/$soname'
+     hardcode_direct=yes
+     hardcode_minus_L=yes
+     ;;
+ 
+   amigaos*)
+     archive_cmds='$rm $objdir/a2ixlibrary.data;$echo "#define NAME $libname" > $objdir/a2ixlibrary.data;$echo "#define LIBRARY_ID 1" >> $objdir/a2ixlibrary.data;$echo "#define VERSION $major" >> $objdir/a2ixlibrary.data;$echo "#define REVISION $revision" >> $objdir/a2ixlibrary.data;$AR cru $lib$libobjs;$RANLIB $lib;(cd $objdir && a2ixlibrary -32)'
+     hardcode_libdir_flag_spec='-L$libdir'
+     hardcode_minus_L=yes
+     ;;
+ 
+   # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
+   # support.  Future versions do this automatically, but an explicit c++rt0.o
+   # does not break anything, and helps significantly (at the cost of a little
+   # extra space).
+   freebsd2.2*)
+     archive_cmds='$LD -Bshareable -o $lib$libobjs /usr/lib/c++rt0.o'
+     hardcode_libdir_flag_spec='-R$libdir'
+     hardcode_direct=yes
+     hardcode_minus_L=yes
+     hardcode_shlibpath_var=no
+     ;;
+ 
+   # Unfortunately, older versions of FreeBSD 2 do not have this feature.
+   freebsd2*)
+     archive_cmds='$LD -Bshareable -o $lib$libobjs'
+     hardcode_direct=yes
+     hardcode_minus_L=yes
+     hardcode_shlibpath_var=no
+     ;;
+ 
+   # FreeBSD 3, at last, uses gcc -shared to do shared libraries.
+   freebsd3*)
+     archive_cmds='$CC -shared -o $lib$libobjs'
+     hardcode_libdir_flag_spec='-R$libdir'
+     hardcode_direct=yes
+     hardcode_minus_L=yes
+     hardcode_shlibpath_var=no
+     ;;
+ 
+   hpux9*)
+     archive_cmds='$rm $objdir/$soname;$LD -b +s +b $install_libdir -o $objdir/$soname$libobjs;mv $objdir/$soname $lib'
+     hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
+     hardcode_direct=yes
+     hardcode_minus_L=yes
+     export_dynamic_flag_spec='${wl}-E'
+     ;;
+ 
+   hpux10*)
+     archive_cmds='$LD -b +h $soname +s +b $install_libdir -o $lib$libobjs'
+     hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
+     hardcode_direct=yes
+     hardcode_minus_L=yes
+     export_dynamic_flag_spec='${wl}-E'
+     ;;
+ 
+   irix5* | irix6*)
+     archive_cmds='$LD -shared -o $lib -soname $soname -set_version $verstring$libobjs'
+     hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+     ;;
+ 
+   netbsd*)
+     # Tested with NetBSD 1.2 ld
+     archive_cmds='$LD -Bshareable -o $lib$libobjs'
+     hardcode_libdir_flag_spec='-R$libdir'
+     hardcode_direct=yes
+     hardcode_shlibpath_var=no
+     ;;
+ 
+   openbsd*)
+     archive_cmds='$LD -Bshareable -o $lib$libobjs'
+     hardcode_libdir_flag_spec='-R$libdir'
+     hardcode_direct=yes
+     hardcode_shlibpath_var=no
+     ;;
+ 
+   os2*)
+     hardcode_libdir_flag_spec='-L$libdir'
+     hardcode_minus_L=yes
+     allow_undefined_flag=unsupported
+     archive_cmds='$echo "LIBRARY $libname INITINSTANCE" > $objdir/$libname.def;$echo "DESCRIPTION \"$libname\"" >> $objdir/$libname.def;$echo DATA >> $objdir/$libname.def;$echo " SINGLE NONSHARED" >> $objdir/$libname.def;$echo EXPORTS >> $objdir/$libname.def;emxexp$libobjs >> $objdir/$libname.def;$CC -Zdll -Zcrtdll -o $lib$libobjs $objdir/$libname.def'
+     old_archive_from_new_cmds='emximp -o $objdir/$libname.a $objdir/$libname.def'
+     ;;
+ 
+   osf3* | osf4*)
+     allow_undefined_flag=' -expect_unresolved \*'
+     archive_cmds='$LD -shared${allow_undefined_flag} -o $lib -soname $soname -set_version $verstring$libobjs$deplibs'
+     hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+     hardcode_libdir_separator=:
+     ;;
+ 
+   sco3.2v5*)
+     archive_cmds='$LD -G -o $lib$libobjs'
+     hardcode_direct=yes
+     ;;
+ 
+   solaris2*)
+     no_undefined_flag=' -z text'
+     archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib$libobjs'
+     hardcode_libdir_flag_spec='-R$libdir'
+     hardcode_shlibpath_var=no
+ 
+     # Solaris 2 before 2.5 hardcodes -L paths.
+     case "$host_os" in
+     solaris2.[0-4]*)
+       hardcode_minus_L=yes
+       ;;
+     esac
+     ;;
+ 
+   sunos4*)
+     if test "$with_gcc" = yes; then
+       archive_cmds='$CC -shared -o $lib$libobjs'
+     else
+       archive_cmds='$LD -assert pure-text -Bstatic -o $lib$libobjs'
+     fi
+ 
+     if test "$with_gnu_ld" = yes; then
+       export_dynamic_flag_spec='${wl}-export-dynamic'
+     fi
+     hardcode_libdir_flag_spec='-L$libdir'
+     hardcode_direct=yes
+     hardcode_minus_L=yes
+     hardcode_shlibpath_var=no
+     ;;
+ 
+   uts4*)
+     archive_cmds='$LD -G -h $soname -o $lib$libobjs'
+     hardcode_libdir_flag_spec='-L$libdir'
+     hardcode_direct=no
+     hardcode_minus_L=no
+     hardcode_shlibpath_var=no
+     ;;
+ 
+   *)
+     ld_shlibs=no
+     can_build_shared=no
+     ;;
+   esac
+ fi
+ echo "$ac_t$ld_shlibs" 1>&6
+ 
+ if test -z "$NM"; then
+   echo $ac_n "checking for BSD-compatible nm... $ac_c" 1>&6
+   case "$NM" in
+   /* | [A-Za-z]:\\*) ;; # Let the user override the test with a path.
+   *)
+     IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS="${IFS}:"
+     for ac_dir in /usr/ucb /usr/ccs/bin $PATH /bin; do
+       test -z "$ac_dir" && ac_dir=.
+       if test -f $ac_dir/nm; then
+         # Check to see if the nm accepts a BSD-compat flag.
+         # Adding the `sed 1q' prevents false positives on HP-UX, which says:
+         #   nm: unknown option "B" ignored
+         if ($ac_dir/nm -B /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then
+           NM="$ac_dir/nm -B"
+         elif ($ac_dir/nm -p /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then
+           NM="$ac_dir/nm -p"
+ 	else
+           NM="$ac_dir/nm"
+ 	fi
+         break
+       fi
+     done
+     IFS="$ac_save_ifs"
+     test -z "$NM" && NM=nm
+     ;;
+   esac
+   echo "$ac_t$NM" 1>&6
+ fi
+ 
+ # Check for command to grab the raw symbol name followed by C symbol from nm.
+ echo $ac_n "checking command to parse $NM output... $ac_c" 1>&6
+ 
+ # These are sane defaults that work on at least a few old systems.
+ # [They come from Ultrix.  What could be older than Ultrix?!! ;)]
+ 
+ # Character class describing NM global symbol codes.
+ symcode='[BCDEGRSTU]'
+ 
+ # Regexp to match symbols that can be accessed directly from C.
+ sympat='\([_A-Za-z][_A-Za-z0-9]*\)'
+ 
+ # Transform the above into a raw symbol and a C symbol.
+ symxfrm='\1 \1'
+ 
+ # Define system-specific variables.
+ case "$host_os" in
+ aix*)
+   symcode='[BCDTU]'
+   ;;
+ irix*)
+   # Cannot use undefined symbols on IRIX because inlined functions mess us up.
+   symcode='[BCDEGRST]'
+   ;;
+ solaris2*)
+   symcode='[BDTU]'
+   ;;
+ esac
+ 
+ # If we're using GNU nm, then use its standard symbol codes.
+ if $NM -V 2>&1 | egrep '(GNU|with BFD)' > /dev/null; then
+   symcode='[ABCDGISTUW]'
+ fi
+ 
+ # Write the raw and C identifiers.
+ global_symbol_pipe="sed -n -e 's/^.* $symcode $sympat$/$symxfrm/p'"
+ 
+ # Check to see that the pipe works correctly.
+ pipe_works=no
+ $rm conftest*
+ cat > conftest.c <<EOF
+ #ifdef __cplusplus
+ extern "C" {
+ #endif
+ char nm_test_var;
+ void nm_test_func(){}
+ #ifdef __cplusplus
+ }
+ #endif
+ main(){nm_test_var='a';nm_test_func();return(0);}
+ EOF
+ 
+ echo "$progname:971: checking if global_symbol_pipe works" >&5
+ if { (eval echo $progname:972: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; } && test -s conftest.o; then
+   # Now try to grab the symbols.
+   nlist=conftest.nm
+   if { echo "$progname:975: eval \"$NM conftest.o | $global_symbol_pipe > $nlist\"" >&5; eval "$NM conftest.o | $global_symbol_pipe > $nlist 2>&5"; } && test -s "$nlist"; then
+ 
+     # Try sorting and uniquifying the output.
+     if sort "$nlist" | uniq > "$nlist"T; then
+       mv -f "$nlist"T "$nlist"
+       wcout=`wc "$nlist" 2>/dev/null`
+       count=`$echo "X$wcout" | $Xsed -e 's/^[ 	]*\([0-9][0-9]*\).*$/\1/'`
+       (test "$count" -ge 0) 2>/dev/null || count=-1
+     else
+       rm -f "$nlist"T
+       count=-1
+     fi
+ 
+     # Make sure that we snagged all the symbols we need.
+     if egrep ' nm_test_var$' "$nlist" >/dev/null; then
+       if egrep ' nm_test_func$' "$nlist" >/dev/null; then
+ 	cat <<EOF > conftest.c
+ #ifdef __cplusplus
+ extern "C" {
+ #endif
+ 
+ EOF
+         # Now generate the symbol file.
+         sed 's/^.* \(.*\)$/extern char \1;/' < "$nlist" >> conftest.c
+ 
+ 	cat <<EOF >> conftest.c
+ #if defined (__STDC__) && __STDC__
+ # define __ptr_t void *
+ #else
+ # define __ptr_t char *
+ #endif
+ 
+ /* The number of symbols in dld_preloaded_symbols, -1 if unsorted. */
+ int dld_preloaded_symbol_count = $count;
+ 
+ /* The mapping between symbol names and symbols. */
+ struct {
+   char *name;
+   __ptr_t address;
+ }
+ dld_preloaded_symbols[] =
+ {
+ EOF
+         sed 's/^\(.*\) \(.*\)$/  {"\1", (__ptr_t) \&\2},/' < "$nlist" >> conftest.c
+         cat <<\EOF >> conftest.c
+   {0, (__ptr_t) 0}
+ };
+ 
+ #ifdef __cplusplus
+ }
+ #endif
+ EOF
+         # Now try linking the two files.
+         mv conftest.o conftestm.o
+ 	save_LIBS="$LIBS"
+ 	save_CFLAGS="$CFLAGS"
+         LIBS='conftestm.o'
+ 	CFLAGS="$CFLAGS$no_builtin_flag"
+         if { (eval echo $progname:1033: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+           pipe_works=yes
+         else
+           echo "$progname: failed program was:" >&5
+           cat conftest.c >&5
+         fi
+         LIBS="$save_LIBS"
+       else
+         echo "cannot find nm_test_func in $nlist" >&5
+       fi
+     else
+       echo "cannot find nm_test_var in $nlist" >&5
+     fi
+   else
+     echo "cannot run $global_symbol_pipe" >&5
+   fi
+ else
+   echo "$progname: failed program was:" >&5
+   cat conftest.c >&5
+ fi
+ $rm conftest*
+ 
+ # Do not use the global_symbol_pipe unless it works.
+ echo "$ac_t$pipe_works" 1>&6
+ test "$pipe_works" = yes || global_symbol_pipe=
+ 
+ # Check hardcoding attributes.
+ echo $ac_n "checking how to hardcode library paths into programs... $ac_c" 1>&6
+ hardcode_action=
+ if test -n "$hardcode_libdir_flag_spec" || \
+    test -n "$runpath_var"; then
+ 
+   # We can hardcode non-existant directories.
+   if test "$hardcode_direct" != no && \
+      test "$hardcode_minus_L" != no && \
+      test "$hardcode_shlibpath_var" != no; then
+ 
+     # Linking always hardcodes the temporary library directory.
+     hardcode_action=relink
+   else
+     # We can link without hardcoding, and we can hardcode nonexisting dirs.
+     hardcode_action=immediate
+   fi
+ elif test "$hardcode_direct" != yes && \
+      test "$hardcode_minus_L" != yes && \
+      test "$hardcode_shlibpath_var" != yes; then
+   # We cannot hardcode anything.
+   hardcode_action=unsupported
+ else
+   # We can only hardcode existing directories.
+   hardcode_action=relink
+ fi
+ echo "$ac_t$hardcode_action" 1>&6
+ test "$hardcode_action" = unsupported && can_build_shared=no
+ 
+ 
+ reload_flag=
+ reload_cmds='$LD$reload_flag -o $output$reload_objs'
+ echo $ac_n "checking for $LD option to reload object files... $ac_c" 1>&6
+ # PORTME Some linker may need a different reload flag.
+ reload_flag='-r'
+ echo "$ac_t$reload_flag"
+ test -n "$reload_flag" && reload_flag=" $reload_flag"
+ 
+ # PORTME Fill in your ld.so characteristics
+ library_names_spec=
+ libname_spec='lib$name'
+ soname_spec=
+ postinstall_cmds=
+ postuninstall_cmds=
+ finish_cmds=
+ finish_eval=
+ shlibpath_var=
+ version_type=none
+ dynamic_linker="$host_os ld.so"
+ 
+ echo $ac_n "checking dynamic linker characteristics... $ac_c" 1>&6
+ case "$host_os" in
+ aix3* | aix4*)
+   version_type=linux
+   library_names_spec='${libname}${release}.so.$versuffix $libname.a'
+   shlibpath_var=LIBPATH
+ 
+   # AIX has no versioning support, so we append a major version to the name.
+   soname_spec='${libname}${release}.so.$major'
+   ;;
+ 
+ amigaos*)
+   library_names_spec='$libname.ixlibrary $libname.a'
+   # Create ${libname}_ixlibrary.a entries in /sys/libs.
+   finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "(cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a)"; (cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a) || exit 1; done'
+   ;;
+ 
+ freebsd2* | freebsd3*)
+   version_type=sunos
+   library_names_spec='${libname}${release}.so.$versuffix $libname.so'
+   finish_cmds='PATH="$PATH:/sbin" ldconfig -m $libdir'
+   shlibpath_var=LD_LIBRARY_PATH
+   ;;
+ 
+ gnu*)
+   version_type=sunos
+   library_names_spec='${libname}${release}.so.$versuffix'
+   shlibpath_var=LD_LIBRARY_PATH
+   ;;
+ 
+ hpux9* | hpux10*)
+   # Give a soname corresponding to the major version so that dld.sl refuses to
+   # link against other versions.
+   dynamic_linker="$host_os dld.sl"
+   version_type=sunos
+   shlibpath_var=SHLIB_PATH
+   library_names_spec='${libname}${release}.sl.$versuffix ${libname}${release}.sl.$major $libname.sl'
+   soname_spec='${libname}${release}.sl.$major'
+   # HP-UX runs *really* slowly unless shared libraries are mode 555.
+   postinstall_cmds='chmod 555 $lib'
+   ;;
+ 
+ irix5* | irix6*)
+   version_type=osf
+   soname_spec='${libname}${release}.so'
+   library_names_spec='${libname}${release}.so.$versuffix $libname.so'
+   shlibpath_var=LD_LIBRARY_PATH
+   ;;
+ 
+ # No shared lib support for Linux oldld, aout, or coff.
+ linux-gnuoldld* | linux-gnuaout* | linux-gnucoff*)
+   dynamic_linker=no
+   ;;
+ 
+ # This must be Linux ELF.
+ linux-gnu*)
+   version_type=linux
+   library_names_spec='${libname}${release}.so.$versuffix ${libname}${release}.so.$major $libname.so'
+   soname_spec='${libname}${release}.so.$major'
+   finish_cmds='PATH="$PATH:/sbin" ldconfig -n $libdir'
+   shlibpath_var=LD_LIBRARY_PATH
+ 
+   if test -f /lib/ld.so.1; then
+     dynamic_linker='GNU ld.so'
+   else
+     # Only the GNU ld.so supports shared libraries on MkLinux.
+     case "$host_cpu" in
+     powerpc*) dynamic_linker=no ;;
+     *) dynamic_linker='Linux ld.so' ;;
+     esac
+   fi
+   ;;
+ 
+ netbsd* | openbsd*)
+   version_type=sunos
+   library_names_spec='${libname}${release}.so.$versuffix'
+   finish_cmds='PATH="$PATH:/sbin" ldconfig -m $libdir'
+   shlibpath_var=LD_LIBRARY_PATH
+   ;;
+ 
+ os2*)
+   libname_spec='$name'
+   library_names_spec='$libname.dll $libname.a'
+   dynamic_linker='OS/2 ld.exe'
+   shlibpath_var=LIBPATH
+   ;;
+ 
+ osf3* | osf4*)
+   version_type=osf
+   soname_spec='${libname}${release}.so'
+   library_names_spec='${libname}${release}.so.$versuffix $libname.so'
+   shlibpath_var=LD_LIBRARY_PATH
+   ;;
+ 
+ sco3.2v5*)
+   version_type=osf
+   soname_spec='${libname}${release}.so.$major'
+   library_names_spec='${libname}${release}.so.$versuffix ${libname}${release}.so.$major $libname.so'
+   shlibpath_var=LD_LIBRARY_PATH
+   ;;
+ 
+ solaris2*)
+   version_type=linux
+   library_names_spec='${libname}${release}.so.$versuffix ${libname}${release}.so.$major $libname.so'
+   soname_spec='${libname}${release}.so.$major'
+   shlibpath_var=LD_LIBRARY_PATH
+   ;;
+ 
+ sunos4*)
+   version_type=sunos
+   library_names_spec='${libname}${release}.so.$versuffix'
+   finish_cmds='PATH="$PATH:/usr/etc" ldconfig $libdir'
+   shlibpath_var=LD_LIBRARY_PATH
+   ;;
+ 
+ sysv4.2uw2*)
+   version_type=linux
+   library_names_spec='${libname}${release}.so.$versuffix ${libname}${release}.so.$major $libname.so'
+   soname_spec='${libname}${release}.so.$major'
+   shlibpath_var=LD_LIBRARY_PATH
+   ;;
+ 
+ uts4*)
+   version_type=linux
+   library_names_spec='${libname}${release}.so.$versuffix ${libname}${release}.so.$major $libname.so'
+   soname_spec='${libname}${release}.so.$major'
+   shlibpath_var=LD_LIBRARY_PATH
+   ;;
+ 
+ *)
+   dynamic_linker=no
+   ;;
+ esac
+ echo "$ac_t$dynamic_linker"
+ test "$dynamic_linker" = no && can_build_shared=no
+ 
+ # Report the final consequences.
+ echo "checking if libtool supports shared libraries... $can_build_shared" 1>&6
+ 
+ echo $ac_n "checking whether to build shared libraries... $ac_c" 1>&6
+ test "$can_build_shared" = "no" && enable_shared=no
+ 
+ # On AIX, shared libraries and static libraries use the same namespace, and
+ # are all built from PIC.
+ case "$host_os" in
+ aix*)
+   test "$enable_shared" = yes && enable_static=no
+   if test -n "$RANLIB"; then
+     archive_cmds="$archive_cmds;\$RANLIB \$lib"
+     postinstall_cmds='$RANLIB $lib'
+   fi
+   ;;
+ esac
+ 
+ echo "$ac_t$enable_shared" 1>&6
+ 
+ # Make sure either enable_shared or enable_static is yes.
+ test "$enable_shared" = yes || enable_static=yes
+ 
+ echo "checking whether to build static libraries... $enable_static" 1>&6
+ 
+ echo $ac_n "checking for objdir... $ac_c" 1>&6
+ rm -f .libs 2>/dev/null
+ mkdir .libs 2>/dev/null
+ if test -d .libs; then
+   objdir=.libs
+ else
+   # MS-DOS does not allow filenames that begin with a dot.
+   objdir=_libs
+ fi
+ rmdir .libs 2>/dev/null
+ echo "$ac_t$objdir" 1>&6
+ 
+ # Copy echo and quote the copy, instead of the original, because it is
+ # used later.
+ ltecho="$echo"
+ 
+ # Now quote all the things that may contain metacharacters.
+ for var in ltecho old_CC old_CFLAGS old_CPPFLAGS old_LD old_NM old_RANLIB \
+   old_LN_S AR CC LD LN_S NM reload_flag reload_cmds wl pic_flag \
+   link_static_flag no_builtin_flag export_dynamic_flag_spec \
+   libname_spec library_names_spec soname_spec RANLIB \
+   old_archive_cmds old_archive_from_new_cmds old_postinstall_cmds \
+   old_postuninstall_cmds archive_cmds postinstall_cmds postuninstall_cmds \
+   allow_undefined_flag no_undefined_flag \
+   finish_cmds finish_eval global_symbol_pipe \
+   hardcode_libdir_flag_spec hardcode_libdir_separator; do
+ 
+   case "$var" in
+   reload_cmds | old_archive_cmds | old_archive_from_new_cmds | \
+   old_postinstall_cmds | old_postuninstall_cmds | archive_cmds | \
+   postinstall_cmds | postuninstall_cmds | finish_cmds)
+     # Double-quote double-evaled strings.
+     eval "$var=\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\"\`"
+     ;;
+   *)
+     eval "$var=\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`"
+     ;;
+   esac
+ done
+ 
+ ofile=libtool
+ trap "$rm $ofile; exit 1" 1 2 15
+ echo creating $ofile
+ $rm $ofile
+ cat <<EOF > $ofile
+ #! /bin/sh
+ 
+ # libtool - Provide generalized library-building support services.
+ # Generated automatically by $PROGRAM - GNU $PACKAGE $VERSION
+ # NOTE: Changes made to this file will be lost: look at ltconfig or ltmain.sh.
+ #
+ # Copyright (C) 1996-1998 Free Software Foundation, Inc.
+ # Gordon Matzigkeit <gord at gnu.ai.mit.edu>, 1996
+ #
+ # This program is free software; you can redistribute it and/or modify
+ # it under the terms of the GNU General Public License as published by
+ # the Free Software Foundation; either version 2 of the License, or
+ # (at your option) any later version.
+ #
+ # This program is distributed in the hope that it will be useful, but
+ # WITHOUT ANY WARRANTY; without even the implied warranty of
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ # General Public License for more details.
+ #
+ # You should have received a copy of the GNU General Public License
+ # along with this program; if not, write to the Free Software
+ # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ #
+ # As a special exception to the GNU General Public License, if you
+ # distribute this file as part of a program that contains a
+ # configuration script generated by Autoconf, you may include it under
+ # the same distribution terms that you use for the rest of that program.
+ 
+ # This program was configured as follows,
+ # on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
+ #
+ # CC="$old_CC" CFLAGS="$old_CFLAGS" CPPFLAGS="$old_CPPFLAGS" \\
+ # LD="$old_LD" NM="$old_NM" RANLIB="$old_RANLIB" LN_S="$old_LN_S" \\
+ #   $0$ltconfig_args
+ #
+ # Compiler and other test output produced by $progname, useful for
+ # debugging $progname, is in ./config.log if it exists.
+ 
+ # Sed that helps us avoid accidentally triggering echo(1) options like -n.
+ Xsed="sed -e s/^X//"
+ 
+ # The HP-UX ksh and POSIX shell print the target directory to stdout
+ # if CDPATH is set.
+ if test "\${CDPATH+set}" = set; then CDPATH=; export CDPATH; fi
+ 
+ # An echo program that does not interpret backslashes.
+ echo="$ltecho"
+ 
+ # The version of $progname that generated this script.
+ LTCONFIG_VERSION="$VERSION"
+ 
+ # Shell to use when invoking shell scripts.
+ SHELL=${CONFIG_SHELL-/bin/sh}
+ 
+ # Whether or not to build libtool libraries.
+ build_libtool_libs=$enable_shared
+ 
+ # Whether or not to build old-style libraries.
+ build_old_libs=$enable_static
+ 
+ # The host system.
+ host_alias="$host_alias"
+ host="$host"
+ 
+ # The archiver.
+ AR="$AR"
+ 
+ # The default C compiler.
+ CC="$CC"
+ 
+ # The linker used to build libraries.
+ LD="$LD"
+ 
+ # Whether we need hard or soft links.
+ LN_S="$LN_S"
+ 
+ # A BSD-compatible nm program.
+ NM="$NM"
+ 
+ # The name of the directory that contains temporary libtool files.
+ objdir="$objdir"
+ 
+ # How to create reloadable object files.
+ reload_flag="$reload_flag"
+ reload_cmds="$reload_cmds"
+ 
+ # How to pass a linker flag through the compiler.
+ wl="$wl"
+ 
+ # Additional compiler flags for building library objects.
+ pic_flag="$pic_flag"
+ 
+ # Compiler flag to prevent dynamic linking.
+ link_static_flag="$link_static_flag"
+ 
+ # Compiler flag to turn off builtin functions.
+ no_builtin_flag="$no_builtin_flag"
+ 
+ # Compiler flag to allow reflexive dlopens.
+ export_dynamic_flag_spec="$export_dynamic_flag_spec"
+ 
+ # Library versioning type.
+ version_type=$version_type
+ 
+ # Format of library name prefix.
+ libname_spec="$libname_spec"
+ 
+ # List of archive names.  First name is the real one, the rest are links.
+ # The last name is the one that the linker finds with -lNAME.
+ library_names_spec="$library_names_spec"
+ 
+ # The coded name of the library, if different from the real name.
+ soname_spec="$soname_spec"
+ 
+ # Commands used to build and install an old-style archive.
+ RANLIB="$RANLIB"
+ old_archive_cmds="$old_archive_cmds"
+ old_postinstall_cmds="$old_postinstall_cmds"
+ old_postuninstall_cmds="$old_postuninstall_cmds"
+ 
+ # Create an old-style archive from a shared archive.
+ old_archive_from_new_cmds="$old_archive_from_new_cmds"
+ 
+ # Commands used to build and install a shared archive.
+ archive_cmds="$archive_cmds"
+ postinstall_cmds="$postinstall_cmds"
+ postuninstall_cmds="$postuninstall_cmds"
+ 
+ # Flag that allows shared libraries with undefined symbols to be built.
+ allow_undefined_flag="$allow_undefined_flag"
+ 
+ # Flag that forces no undefined symbols.
+ no_undefined_flag="$no_undefined_flag"
+ 
+ # Commands used to finish a libtool library installation in a directory.
+ finish_cmds="$finish_cmds"
+ 
+ # Same as above, but a single script fragment to be evaled but not shown.
+ finish_eval="$finish_eval"
+ 
+ # Take the output of nm and produce a listing of raw symbols and C names.
+ global_symbol_pipe="$global_symbol_pipe"
+ 
+ # This is the shared library runtime path variable.
+ runpath_var=$runpath_var
+ 
+ # This is the shared library path variable.
+ shlibpath_var=$shlibpath_var
+ 
+ # How to hardcode a shared library path into an executable.
+ hardcode_action=$hardcode_action
+ 
+ # Flag to hardcode \$libdir into a binary during linking.
+ # This must work even if \$libdir does not exist.
+ hardcode_libdir_flag_spec="$hardcode_libdir_flag_spec"
+ 
+ # Whether we need a single -rpath flag with a separated argument.
+ hardcode_libdir_separator="$hardcode_libdir_separator"
+ 
+ # Set to yes if using DIR/libNAME.so during linking hardcodes DIR into the
+ # resulting binary.
+ hardcode_direct=$hardcode_direct
+ 
+ # Set to yes if using the -LDIR flag during linking hardcodes DIR into the
+ # resulting binary.
+ hardcode_minus_L=$hardcode_minus_L
+ 
+ # Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into
+ # the resulting binary.
+ hardcode_shlibpath_var=$hardcode_shlibpath_var
+ 
+ EOF
+ 
+ case "$host_os" in
+ aix3*)
+   cat <<\EOF >> $ofile
+ # AIX sometimes has problems with the GCC collect2 program.  For some
+ # reason, if we set the COLLECT_NAMES environment variable, the problems
+ # vanish in a puff of smoke.
+ if test "${COLLECT_NAMES+set}" != set; then
+   COLLECT_NAMES=
+   export COLLECT_NAMES
+ fi
+ 
+ EOF
+   ;;
+ esac
+ 
+ # Append the ltmain.sh script.
+ cat "$ltmain" >> $ofile || (rm -f $ofile; exit 1)
+ 
+ chmod +x $ofile
+ exit 0
+ 
+ # Local Variables:
+ # mode:shell-script
+ # sh-indentation:2
+ # End:
diff --cc rfftw/Makefile
index 478513b,0000000..eb382fb
mode 100644,000000..100644
--- a/rfftw/Makefile
+++ b/rfftw/Makefile
@@@ -1,30 -1,0 +1,334 @@@
- # $Id: Makefile,v 1.3 1997/08/26 21:21:00 fftw Exp $
++# Generated automatically from Makefile.in by configure.
++# Makefile.in generated automatically by automake 1.3 from Makefile.am
 +
- FFTWDIR=../src
- LIBFFT = $(FFTWDIR)/libfftw.a
- HEADERS = $(FFTWDIR)/fftw.h
- INCLUDE = -I$(FFTWDIR)
++# Copyright (C) 1994, 1995, 1996, 1997, 1998 Free Software Foundation, Inc.
++# This Makefile.in is free software; the Free Software Foundation
++# gives unlimited permission to copy and/or distribute it,
++# with or without modifications, as long as this notice is preserved.
 +
- # The default, gcc:
- CC = gcc
- CFLAGS = -O6 -Wall $(INCLUDE)
++# This program is distributed in the hope that it will be useful,
++# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
++# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
++# PARTICULAR PURPOSE.
 +
- # Solaris compiler options:
- # CC = cc
- # CFLAGS = -DSOLARIS -fast -xO5 -native -dalign $(INCLUDE)
++# This file was automatically generated
++# DO NOT EDIT!
++#
 +
- all:	test_rfftw time_rfftw
 +
- test_rfftw:	test_rfftw.c rfftw.o rfftwnd.o
- 	$(CC) $(CFLAGS) -o test_rfftw test_rfftw.c \
- 		rfftwnd.o rfftw.o $(LIBFFT) -lm
++SHELL = /bin/sh
 +
- time_rfftw:	time_rfftw.c rfftw.o
- 	$(CC) $(CFLAGS) -o time_rfftw time_rfftw.c \
- 		rfftwnd.o rfftw.o $(LIBFFT) -lm
++srcdir = .
++top_srcdir = ..
++prefix = /usr
++exec_prefix = ${prefix}
 +
- clean:
- 	rm -f *.o *~ core a.out test_rfftw time_rfftw gmon.out mon.out *.s
++bindir = ${exec_prefix}/bin
++sbindir = ${exec_prefix}/sbin
++libexecdir = ${exec_prefix}/libexec
++datadir = ${prefix}/share
++sysconfdir = ${prefix}/etc
++sharedstatedir = ${prefix}/com
++localstatedir = ${prefix}/var
++libdir = ${exec_prefix}/lib
++infodir = ${prefix}/info
++mandir = ${prefix}/man
++includedir = ${prefix}/include
++oldincludedir = /usr/include
 +
++DISTDIR =
 +
++pkgdatadir = $(datadir)/fftw
++pkglibdir = $(libdir)/fftw
++pkgincludedir = $(includedir)/fftw
 +
++top_builddir = ..
++
++ACLOCAL = aclocal
++AUTOCONF = autoconf
++AUTOMAKE = automake
++
++INSTALL = /usr/bin/install -c
++INSTALL_PROGRAM = ${INSTALL}
++INSTALL_DATA = ${INSTALL} -m 644
++INSTALL_SCRIPT = ${INSTALL_PROGRAM}
++transform = s,x,x,
++
++NORMAL_INSTALL = :
++PRE_INSTALL = :
++POST_INSTALL = :
++NORMAL_UNINSTALL = :
++PRE_UNINSTALL = :
++POST_UNINSTALL = :
++host_alias = i586-pc-linux-gnu
++host_triplet = i586-pc-linux-gnu
++CC = cc
++LD = /usr/bin/ld
++LIBTOOL = $(SHELL) $(top_builddir)/libtool
++LN_S = ln -s
++MAKEINFO = makeinfo
++NM = /usr/bin/nm -B
++PACKAGE = fftw
++PERL = perl
++RANLIB = ranlib
++SHARED_VERSION_INFO = 2:1:0
++VERSION = 2.0.1
++
++lib_LTLIBRARIES = librfftw.la
++include_HEADERS = rfftw.h
++INCLUDES = -I$(srcdir)/../fftw -I$(srcdir)
++
++NOTW_CODELETS= frc_1.c frc_2.c frc_3.c frc_4.c frc_5.c frc_6.c frc_7.c frc_8.c frc_9.c frc_10.c frc_11.c frc_12.c frc_13.c frc_14.c frc_15.c frc_16.c frc_32.c frc_64.c frc_128.c
++TWID_CODELETS= fhf_2.c fhf_3.c fhf_4.c fhf_5.c fhf_6.c fhf_7.c fhf_8.c fhf_9.c fhf_10.c fhf_16.c fhf_32.c
++NOTWI_CODELETS= fcr_1.c fcr_2.c fcr_3.c fcr_4.c fcr_5.c fcr_6.c fcr_7.c fcr_8.c fcr_9.c fcr_10.c fcr_11.c fcr_12.c fcr_13.c fcr_14.c fcr_15.c fcr_16.c fcr_32.c fcr_64.c fcr_128.c
++TWIDI_CODELETS= fhb_2.c fhb_3.c fhb_4.c fhb_5.c fhb_6.c fhb_7.c fhb_8.c fhb_9.c fhb_10.c fhb_16.c fhb_32.c
++
++CODELETS=$(NOTW_CODELETS) $(TWID_CODELETS) $(NOTWI_CODELETS) $(TWIDI_CODELETS)
++OTHERSRC = rconfig.c rplanner.c rexec.c rexec2.c rfftwnd.c rgeneric.c
++
++librfftw_la_SOURCES = $(CODELETS) $(OTHERSRC) rfftw.h
++librfftw_la_LDFLAGS = -version-info 2:1:0
++MAINTAINERCLEANFILES = $(CODELETS) rconfig.c
++
++# for some reason, automake tries to use autoheader in order to
++# generate config.h.in, and fails because config.h.in is GNU-lly
++# incorrect.  Just disable autoheader
++AUTOHEADER=echo
++mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
++CONFIG_HEADER = ../fftw/config.h ../fftw/fftw.h
++CONFIG_CLEAN_FILES = 
++LTLIBRARIES =  $(lib_LTLIBRARIES)
++
++
++DEFS = -DHAVE_CONFIG_H -I. -I$(srcdir) -I../fftw -I../fftw
++CPPFLAGS = 
++LDFLAGS = 
++LIBS = -lm 
++librfftw_la_LIBADD = 
++librfftw_la_OBJECTS =  frc_1.lo frc_2.lo frc_3.lo frc_4.lo frc_5.lo \
++frc_6.lo frc_7.lo frc_8.lo frc_9.lo frc_10.lo frc_11.lo frc_12.lo \
++frc_13.lo frc_14.lo frc_15.lo frc_16.lo frc_32.lo frc_64.lo frc_128.lo \
++fhf_2.lo fhf_3.lo fhf_4.lo fhf_5.lo fhf_6.lo fhf_7.lo fhf_8.lo fhf_9.lo \
++fhf_10.lo fhf_16.lo fhf_32.lo fcr_1.lo fcr_2.lo fcr_3.lo fcr_4.lo \
++fcr_5.lo fcr_6.lo fcr_7.lo fcr_8.lo fcr_9.lo fcr_10.lo fcr_11.lo \
++fcr_12.lo fcr_13.lo fcr_14.lo fcr_15.lo fcr_16.lo fcr_32.lo fcr_64.lo \
++fcr_128.lo fhb_2.lo fhb_3.lo fhb_4.lo fhb_5.lo fhb_6.lo fhb_7.lo \
++fhb_8.lo fhb_9.lo fhb_10.lo fhb_16.lo fhb_32.lo rconfig.lo rplanner.lo \
++rexec.lo rexec2.lo rfftwnd.lo rgeneric.lo
++CFLAGS = -O6 -fomit-frame-pointer -Wall -W -Wcast-qual -Wpointer-arith -Wcast-align -pedantic -malign-double 
++COMPILE = $(CC) $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS)
++LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS)
++LINK = $(LIBTOOL) --mode=link $(CC) $(CFLAGS) $(LDFLAGS) -o $@
++HEADERS =  $(include_HEADERS)
++
++DIST_COMMON =  Makefile.am Makefile.in
++
++
++DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
++
++TAR = tar
++GZIP = --best
++SOURCES = $(librfftw_la_SOURCES)
++OBJECTS = $(librfftw_la_OBJECTS)
++
++all: Makefile $(LTLIBRARIES) $(HEADERS)
++
++.SUFFIXES:
++.SUFFIXES: .S .c .lo .o .s
++$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
++	cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps rfftw/Makefile
++
++Makefile: $(srcdir)/Makefile.in  $(top_builddir)/config.status
++	cd $(top_builddir) \
++	  && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
++
++
++mostlyclean-libLTLIBRARIES:
++
++clean-libLTLIBRARIES:
++	-test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES)
++
++distclean-libLTLIBRARIES:
++
++maintainer-clean-libLTLIBRARIES:
++
++install-libLTLIBRARIES: $(lib_LTLIBRARIES)
++	@$(NORMAL_INSTALL)
++	$(mkinstalldirs) $(DESTDIR)$(libdir)
++	@list='$(lib_LTLIBRARIES)'; for p in $$list; do \
++	  if test -f $$p; then \
++	    echo "$(LIBTOOL)  --mode=install $(INSTALL_DATA) $$p $(DESTDIR)$(libdir)/$$p"; \
++	    $(LIBTOOL)  --mode=install $(INSTALL_DATA) $$p $(DESTDIR)$(libdir)/$$p; \
++	  else :; fi; \
++	done
++
++uninstall-libLTLIBRARIES:
++	@$(NORMAL_UNINSTALL)
++	list='$(lib_LTLIBRARIES)'; for p in $$list; do \
++	  $(LIBTOOL)  --mode=uninstall rm -f $(DESTDIR)$(libdir)/$$p; \
++	done
++
++.c.o:
++	$(COMPILE) -c $<
++
++.s.o:
++	$(COMPILE) -c $<
++
++.S.o:
++	$(COMPILE) -c $<
++
++mostlyclean-compile:
++	-rm -f *.o core *.core
++
++clean-compile:
++
++distclean-compile:
++	-rm -f *.tab.c
++
++maintainer-clean-compile:
++
++.c.lo:
++	$(LIBTOOL) --mode=compile $(COMPILE) -c $<
++
++.s.lo:
++	$(LIBTOOL) --mode=compile $(COMPILE) -c $<
++
++.S.lo:
++	$(LIBTOOL) --mode=compile $(COMPILE) -c $<
++
++mostlyclean-libtool:
++	-rm -f *.lo
++
++clean-libtool:
++	-rm -rf .libs _libs
++
++distclean-libtool:
++
++maintainer-clean-libtool:
++
++librfftw.la: $(librfftw_la_OBJECTS) $(librfftw_la_DEPENDENCIES)
++	$(LINK) -rpath $(libdir) $(librfftw_la_LDFLAGS) $(librfftw_la_OBJECTS) $(librfftw_la_LIBADD) $(LIBS)
++
++install-includeHEADERS: $(include_HEADERS)
++	@$(NORMAL_INSTALL)
++	$(mkinstalldirs) $(DESTDIR)$(includedir)
++	@list='$(include_HEADERS)'; for p in $$list; do \
++	  if test -f "$$p"; then d= ; else d="$(srcdir)/"; fi; \
++	  echo " $(INSTALL_DATA) $$d$$p $(DESTDIR)$(includedir)/$$p"; \
++	  $(INSTALL_DATA) $$d$$p $(DESTDIR)$(includedir)/$$p; \
++	done
++
++uninstall-includeHEADERS:
++	@$(NORMAL_UNINSTALL)
++	list='$(include_HEADERS)'; for p in $$list; do \
++	  rm -f $(DESTDIR)$(includedir)/$$p; \
++	done
++
++tags: TAGS
++
++ID: $(HEADERS) $(SOURCES) $(LISP)
++	here=`pwd` && cd $(srcdir) \
++	  && mkid -f$$here/ID $(SOURCES) $(HEADERS) $(LISP)
++
++TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) $(LISP)
++	tags=; \
++	here=`pwd`; \
++	list='$(SOURCES) $(HEADERS)'; \
++	unique=`for i in $$list; do echo $$i; done | \
++	  awk '    { files[$$0] = 1; } \
++	       END { for (i in files) print i; }'`; \
++	test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
++	  || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags  $$unique $(LISP) -o $$here/TAGS)
++
++mostlyclean-tags:
++
++clean-tags:
++
++distclean-tags:
++	-rm -f TAGS ID
++
++maintainer-clean-tags:
++
++distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
++
++subdir = rfftw
++
++distdir: $(DISTFILES)
++	@for file in $(DISTFILES); do \
++	  d=$(srcdir); \
++	  test -f $(distdir)/$$file \
++	  || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
++	  || cp -p $$d/$$file $(distdir)/$$file; \
++	done
++
++info:
++dvi:
++check: all
++	$(MAKE)
++installcheck:
++install-exec: install-libLTLIBRARIES
++	@$(NORMAL_INSTALL)
++
++install-data: install-includeHEADERS
++	@$(NORMAL_INSTALL)
++
++install: install-exec install-data all
++	@:
++
++uninstall: uninstall-libLTLIBRARIES uninstall-includeHEADERS
++
++install-strip:
++	$(MAKE) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' INSTALL_SCRIPT='$(INSTALL_PROGRAM)' install
++installdirs:
++	$(mkinstalldirs)  $(DATADIR)$(libdir) $(DATADIR)$(includedir)
++
++
++mostlyclean-generic:
++	-test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
++
++clean-generic:
++	-test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
++
++distclean-generic:
++	-rm -f Makefile $(DISTCLEANFILES)
++	-rm -f config.cache config.log stamp-h stamp-h[0-9]*
++	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
++
++maintainer-clean-generic:
++	-test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
++	-test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
++mostlyclean:  mostlyclean-libLTLIBRARIES mostlyclean-compile \
++		mostlyclean-libtool mostlyclean-tags \
++		mostlyclean-generic
++
++clean:  clean-libLTLIBRARIES clean-compile clean-libtool clean-tags \
++		clean-generic mostlyclean
++
++distclean:  distclean-libLTLIBRARIES distclean-compile distclean-libtool \
++		distclean-tags distclean-generic clean
++	-rm -f config.status
++	-rm -f libtool
++
++maintainer-clean:  maintainer-clean-libLTLIBRARIES \
++		maintainer-clean-compile maintainer-clean-libtool \
++		maintainer-clean-tags maintainer-clean-generic \
++		distclean
++	@echo "This command is intended for maintainers to use;"
++	@echo "it deletes files that may require special tools to rebuild."
++
++.PHONY: mostlyclean-libLTLIBRARIES distclean-libLTLIBRARIES \
++clean-libLTLIBRARIES maintainer-clean-libLTLIBRARIES \
++uninstall-libLTLIBRARIES install-libLTLIBRARIES mostlyclean-compile \
++distclean-compile clean-compile maintainer-clean-compile \
++mostlyclean-libtool distclean-libtool clean-libtool \
++maintainer-clean-libtool uninstall-includeHEADERS \
++install-includeHEADERS tags mostlyclean-tags distclean-tags clean-tags \
++maintainer-clean-tags distdir info dvi installcheck install-exec \
++install-data install uninstall all installdirs mostlyclean-generic \
++distclean-generic clean-generic maintainer-clean-generic clean \
++mostlyclean distclean maintainer-clean
++
++
++# Tell versions [3.59,3.63) of GNU make to not export all variables.
++# Otherwise a system limit (for SysV at least) may be exceeded.
++.NOEXPORT:
diff --cc rfftw/librfftw.la
index 0000000,0000000..f6e8e70
new file mode 100644
--- /dev/null
+++ b/rfftw/librfftw.la
@@@ -1,0 -1,0 +1,22 @@@
++# librfftw.la - a libtool library file
++# Generated by ltmain.sh - GNU libtool 1.2
++
++# The name that we can dlopen(3).
++dlname=''
++
++# Names of this library.
++library_names=''
++
++# The name of the static archive.
++old_library='librfftw.a'
++
++# Libraries that this one depends upon.
++dependency_libs=' -lm'
++
++# Version information for librfftw.
++current=2
++age=0
++revision=1
++
++# Directory that this library needs to be installed in:
++libdir='/usr/lib'
diff --cc tests/Makefile
index a9d9f71,0000000..c2594fd
mode 100644,000000..100644
--- a/tests/Makefile
+++ b/tests/Makefile
@@@ -1,39 -1,0 +1,309 @@@
- # $Id: Makefile,v 1.10 1997/07/07 15:25:07 fftw Exp $
++# Generated automatically from Makefile.in by configure.
++# Makefile.in generated automatically by automake 1.3 from Makefile.am
 +
- FFTWDIR=../src
- LIBFFT = -lfftw
- HEADERS = $(FFTWDIR)/fftw.h
- INCLUDE = -I$(FFTWDIR)
++# Copyright (C) 1994, 1995, 1996, 1997, 1998 Free Software Foundation, Inc.
++# This Makefile.in is free software; the Free Software Foundation
++# gives unlimited permission to copy and/or distribute it,
++# with or without modifications, as long as this notice is preserved.
 +
- # Generic gcc
- CC = gcc
- CFLAGS = -O6 -fomit-frame-pointer -Wall $(INCLUDE)
++# This program is distributed in the hope that it will be useful,
++# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
++# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
++# PARTICULAR PURPOSE.
 +
- # WARNING: Solaris' compiler apparently produces wrong code
- # for go_fft.c when -xO5 is enabled.  Please stick with -xO2
 +
- # Solaris:
- # CC = cc
- # CFLAGS = -DSOLARIS -native -fast -xO2 -dalign $(INCLUDE)
++SHELL = /bin/sh
 +
- # IBM RS/6000:
- # CC=cc
- # CFLAGS = -O3 -qarch=pwrx -qtune=pwrx $(INCLUDE)
++srcdir = .
++top_srcdir = ..
++prefix = /usr
++exec_prefix = ${prefix}
 +
- # SGI Onyx
- # CC=cc
- # CFLAGS=-64 -r10000 -O3 $(INCLUDE)
++bindir = ${exec_prefix}/bin
++sbindir = ${exec_prefix}/sbin
++libexecdir = ${exec_prefix}/libexec
++datadir = ${prefix}/share
++sysconfdir = ${prefix}/etc
++sharedstatedir = ${prefix}/com
++localstatedir = ${prefix}/var
++libdir = ${exec_prefix}/lib
++infodir = ${prefix}/info
++mandir = ${prefix}/man
++includedir = ${prefix}/include
++oldincludedir = /usr/include
 +
- all:	fftw_test testnd
++DISTDIR =
 +
- fftw_test:	fftw_test.c $(LIBFFT)
- 	$(CC) $(CFLAGS) -o fftw_test fftw_test.c $(LIBFFT) -lm
++pkgdatadir = $(datadir)/fftw
++pkglibdir = $(libdir)/fftw
++pkgincludedir = $(includedir)/fftw
 +
- testnd:	testnd.c go_fft.c $(LIBFFT)
- 	$(CC) $(CFLAGS) -o testnd testnd.c go_fft.c $(LIBFFT) -lm
++top_builddir = ..
 +
- clean:
- 	rm -f *.o *~ core a.out test testnd gmon.out mon.out *.s
++ACLOCAL = aclocal
++AUTOCONF = autoconf
++AUTOMAKE = automake
++AUTOHEADER = autoheader
 +
++INSTALL = /usr/bin/install -c
++INSTALL_PROGRAM = ${INSTALL}
++INSTALL_DATA = ${INSTALL} -m 644
++INSTALL_SCRIPT = ${INSTALL_PROGRAM}
++transform = s,x,x,
 +
++NORMAL_INSTALL = :
++PRE_INSTALL = :
++POST_INSTALL = :
++NORMAL_UNINSTALL = :
++PRE_UNINSTALL = :
++POST_UNINSTALL = :
++host_alias = i586-pc-linux-gnu
++host_triplet = i586-pc-linux-gnu
++CC = cc
++LD = /usr/bin/ld
++LIBTOOL = $(SHELL) $(top_builddir)/libtool
++LN_S = ln -s
++MAKEINFO = makeinfo
++NM = /usr/bin/nm -B
++PACKAGE = fftw
++PERL = perl
++RANLIB = ranlib
++SHARED_VERSION_INFO = 2:1:0
++VERSION = 2.0.1
 +
++noinst_PROGRAMS = fftw_test rfftw_test
++noinst_HEADERS = test_main.h
++
++FFTWDIR=../fftw
++RFFTWDIR=../rfftw
++INCLUDES = -I$(srcdir)/$(FFTWDIR) -I$(srcdir)/$(RFFTWDIR)
++
++fftw_test_SOURCES = fftw_test.c test_main.c
++fftw_test_LDADD = $(FFTWDIR)/libfftw.la -lm
++
++rfftw_test_SOURCES = rfftw_test.c test_main.c
++rfftw_test_LDADD = $(FFTWDIR)/libfftw.la $(RFFTWDIR)/librfftw.la -lm
++mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
++CONFIG_HEADER = ../fftw/config.h ../fftw/fftw.h
++CONFIG_CLEAN_FILES = 
++PROGRAMS =  $(noinst_PROGRAMS)
++
++
++DEFS = -DHAVE_CONFIG_H -I. -I$(srcdir) -I../fftw -I../fftw
++CPPFLAGS = 
++LDFLAGS = 
++LIBS = -lm 
++fftw_test_OBJECTS =  fftw_test.o test_main.o
++fftw_test_DEPENDENCIES =  $(FFTWDIR)/libfftw.la
++fftw_test_LDFLAGS = 
++rfftw_test_OBJECTS =  rfftw_test.o test_main.o
++rfftw_test_DEPENDENCIES =  $(FFTWDIR)/libfftw.la $(RFFTWDIR)/librfftw.la
++rfftw_test_LDFLAGS = 
++CFLAGS = -O6 -fomit-frame-pointer -Wall -W -Wcast-qual -Wpointer-arith -Wcast-align -pedantic -malign-double 
++COMPILE = $(CC) $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS)
++LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS)
++LINK = $(LIBTOOL) --mode=link $(CC) $(CFLAGS) $(LDFLAGS) -o $@
++HEADERS =  $(noinst_HEADERS)
++
++DIST_COMMON =  README Makefile.am Makefile.in
++
++
++DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
++
++TAR = tar
++GZIP = --best
++SOURCES = $(fftw_test_SOURCES) $(rfftw_test_SOURCES)
++OBJECTS = $(fftw_test_OBJECTS) $(rfftw_test_OBJECTS)
++
++all: Makefile $(PROGRAMS) $(HEADERS)
++
++.SUFFIXES:
++.SUFFIXES: .S .c .lo .o .s
++$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
++	cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps tests/Makefile
++
++Makefile: $(srcdir)/Makefile.in  $(top_builddir)/config.status
++	cd $(top_builddir) \
++	  && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
++
++
++mostlyclean-noinstPROGRAMS:
++
++clean-noinstPROGRAMS:
++	-test -z "$(noinst_PROGRAMS)" || rm -f $(noinst_PROGRAMS)
++
++distclean-noinstPROGRAMS:
++
++maintainer-clean-noinstPROGRAMS:
++
++.c.o:
++	$(COMPILE) -c $<
++
++.s.o:
++	$(COMPILE) -c $<
++
++.S.o:
++	$(COMPILE) -c $<
++
++mostlyclean-compile:
++	-rm -f *.o core *.core
++
++clean-compile:
++
++distclean-compile:
++	-rm -f *.tab.c
++
++maintainer-clean-compile:
++
++.c.lo:
++	$(LIBTOOL) --mode=compile $(COMPILE) -c $<
++
++.s.lo:
++	$(LIBTOOL) --mode=compile $(COMPILE) -c $<
++
++.S.lo:
++	$(LIBTOOL) --mode=compile $(COMPILE) -c $<
++
++mostlyclean-libtool:
++	-rm -f *.lo
++
++clean-libtool:
++	-rm -rf .libs _libs
++
++distclean-libtool:
++
++maintainer-clean-libtool:
++
++fftw_test: $(fftw_test_OBJECTS) $(fftw_test_DEPENDENCIES)
++	@rm -f fftw_test
++	$(LINK) $(fftw_test_LDFLAGS) $(fftw_test_OBJECTS) $(fftw_test_LDADD) $(LIBS)
++
++rfftw_test: $(rfftw_test_OBJECTS) $(rfftw_test_DEPENDENCIES)
++	@rm -f rfftw_test
++	$(LINK) $(rfftw_test_LDFLAGS) $(rfftw_test_OBJECTS) $(rfftw_test_LDADD) $(LIBS)
++
++tags: TAGS
++
++ID: $(HEADERS) $(SOURCES) $(LISP)
++	here=`pwd` && cd $(srcdir) \
++	  && mkid -f$$here/ID $(SOURCES) $(HEADERS) $(LISP)
++
++TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) $(LISP)
++	tags=; \
++	here=`pwd`; \
++	list='$(SOURCES) $(HEADERS)'; \
++	unique=`for i in $$list; do echo $$i; done | \
++	  awk '    { files[$$0] = 1; } \
++	       END { for (i in files) print i; }'`; \
++	test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
++	  || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags  $$unique $(LISP) -o $$here/TAGS)
++
++mostlyclean-tags:
++
++clean-tags:
++
++distclean-tags:
++	-rm -f TAGS ID
++
++maintainer-clean-tags:
++
++distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
++
++subdir = tests
++
++distdir: $(DISTFILES)
++	@for file in $(DISTFILES); do \
++	  d=$(srcdir); \
++	  test -f $(distdir)/$$file \
++	  || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
++	  || cp -p $$d/$$file $(distdir)/$$file; \
++	done
++
++info:
++dvi:
++check: all
++	$(MAKE)
++installcheck:
++install-exec: 
++	@$(NORMAL_INSTALL)
++
++install-data: 
++	@$(NORMAL_INSTALL)
++
++install: install-exec install-data all
++	@:
++
++uninstall: 
++
++install-strip:
++	$(MAKE) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' INSTALL_SCRIPT='$(INSTALL_PROGRAM)' install
++installdirs:
++
++
++mostlyclean-generic:
++	-test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
++
++clean-generic:
++	-test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
++
++distclean-generic:
++	-rm -f Makefile $(DISTCLEANFILES)
++	-rm -f config.cache config.log stamp-h stamp-h[0-9]*
++	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
++
++maintainer-clean-generic:
++	-test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
++	-test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
++mostlyclean:  mostlyclean-noinstPROGRAMS mostlyclean-compile \
++		mostlyclean-libtool mostlyclean-tags \
++		mostlyclean-generic
++
++clean:  clean-noinstPROGRAMS clean-compile clean-libtool clean-tags \
++		clean-generic mostlyclean
++
++distclean:  distclean-noinstPROGRAMS distclean-compile distclean-libtool \
++		distclean-tags distclean-generic clean
++	-rm -f config.status
++	-rm -f libtool
++
++maintainer-clean:  maintainer-clean-noinstPROGRAMS \
++		maintainer-clean-compile maintainer-clean-libtool \
++		maintainer-clean-tags maintainer-clean-generic \
++		distclean
++	@echo "This command is intended for maintainers to use;"
++	@echo "it deletes files that may require special tools to rebuild."
++
++.PHONY: mostlyclean-noinstPROGRAMS distclean-noinstPROGRAMS \
++clean-noinstPROGRAMS maintainer-clean-noinstPROGRAMS \
++mostlyclean-compile distclean-compile clean-compile \
++maintainer-clean-compile mostlyclean-libtool distclean-libtool \
++clean-libtool maintainer-clean-libtool tags mostlyclean-tags \
++distclean-tags clean-tags maintainer-clean-tags distdir info dvi \
++installcheck install-exec install-data install uninstall all \
++installdirs mostlyclean-generic distclean-generic clean-generic \
++maintainer-clean-generic clean mostlyclean distclean maintainer-clean
++
++
++check: fftw-tests rfftw-tests 
++
++fftw-tests: fftw_test
++	./fftw_test -p
++	./fftw_test -x 128 -a
++	./fftw_test -x 32 -d 2 -a
++	./fftw_test -x 100 -r
++	@echo "--------------------------------------------------------------"
++	@echo "         FFTW complex-complex transforms passed tests!"
++	@echo "--------------------------------------------------------------"
++
++rfftw-tests: rfftw_test
++	./rfftw_test -p
++	./rfftw_test -x 128 -a
++	./rfftw_test -x 32 -d 2 -a
++	./rfftw_test -x 100 -r
++	@echo "--------------------------------------------------------------"
++	@echo "          RFFTW real-complex transforms passed tests!"
++	@echo "--------------------------------------------------------------"
++
++# Tell versions [3.59,3.63) of GNU make to not export all variables.
++# Otherwise a system limit (for SysV at least) may be exceeded.
++.NOEXPORT:
diff --cc tests/Makefile.package
index 0000000,0000000..4630955
new file mode 100644
--- /dev/null
+++ b/tests/Makefile.package
@@@ -1,0 -1,0 +1,16 @@@
++CFLAGS=-DHAVE_CONFIG_H
++INCLUDES=-I. -I/usr/include
++OPTS=-O6 -fomit-frame-pointer -Wall -W -Wcast-qual -Wpointer-arith -Wcast-align -pedantic -malign-double
++# LIBS=-L/usr/lib
++LIBS=-lfftw -lrfftw
++
++.c.o:
++	gcc $(CFLAGS) $(INCLUDES) $(OPTS) -c $<
++
++all: fftw_test rfftw_test
++
++fftw_test: fftw_test.o test_main.o
++	gcc $(LIBS) -o fftw_test fftw_test.o test_main.o -lm
++rfftw_test: rfftw_test.o test_main.o
++	gcc $(LIBS) -o rfftw_test rfftw_test.o test_main.o -lm
++

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-science/packages/fftw.git



More information about the debian-science-commits mailing list