summaryrefslogtreecommitdiff
path: root/packages/fftw
diff options
context:
space:
mode:
authorjoost <joost@3ad0048d-3df7-0310-abae-a5850022a9f2>2009-05-09 10:05:44 +0000
committerjoost <joost@3ad0048d-3df7-0310-abae-a5850022a9f2>2009-05-09 10:05:44 +0000
commitcb4fd01c3c44b58684d027c67525a54ce7ed00da (patch)
treec47e100e57d91f664a3948c9139ecd59494df671 /packages/fftw
parentd071efa9f5aa19d71e000b092adeaf622c4834fb (diff)
downloadfpc-cb4fd01c3c44b58684d027c67525a54ce7ed00da.tar.gz
* Fixed library name and compilation on windows, bug 12881
git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@13117 3ad0048d-3df7-0310-abae-a5850022a9f2
Diffstat (limited to 'packages/fftw')
-rw-r--r--packages/fftw/src/fftw_s.pas38
1 files changed, 24 insertions, 14 deletions
diff --git a/packages/fftw/src/fftw_s.pas b/packages/fftw/src/fftw_s.pas
index 08d0f3489a..70991c47c4 100644
--- a/packages/fftw/src/fftw_s.pas
+++ b/packages/fftw/src/fftw_s.pas
@@ -25,6 +25,14 @@ unit fftw_s;
{$MACRO on}
{$INLINE on}
+{$IFDEF Unix}
+ const
+ fftwlib = 'fftw3f';
+{$ELSE}
+ const
+ fftwlib = 'libfftw3f';
+{$ENDIF}
+
type complex_single=record
re,im:single;
end;
@@ -48,51 +56,51 @@ type complex_single=record
{Complex to complex transformations.}
function fftw_plan_dft_1d(n:cardinal;i,o:Pcomplex_single;
sign:fftw_sign;flags:fftw_flagset):fftw_plan_single;
- external 'fftw3f' name 'fftwf_plan_dft_1d';
+ external fftwlib name 'fftwf_plan_dft_1d';
function fftw_plan_dft_2d(nx,ny:cardinal;i,o:Pcomplex_single;
sign:fftw_sign;flags:fftw_flagset):fftw_plan_single;
- external 'fftw3f' name 'fftwf_plan_dft_2d';
+ external fftwlib name 'fftwf_plan_dft_2d';
function fftw_plan_dft_3d(nx,ny,nz:cardinal;i,o:Pcomplex_single;
sign:fftw_sign;flags:fftw_flagset):fftw_plan_single;
- external 'fftw3f' name 'fftwf_plan_dft_3d';
+ external fftwlib name 'fftwf_plan_dft_3d';
function fftw_plan_dft(rank:cardinal;n:Pcardinal;i,o:Pcomplex_single;
sign:fftw_sign;flags:fftw_flagset):fftw_plan_single;
- external 'fftw3f' name 'fftwf_plan_dft';
+ external fftwlib name 'fftwf_plan_dft';
{Real to complex transformations.}
function fftw_plan_dft_1d(n:cardinal;i:Psingle;o:Pcomplex_single;
flags:fftw_flagset):fftw_plan_single;
- external 'fftw3f' name 'fftwf_plan_dft_r2c_1d';
+ external fftwlib name 'fftwf_plan_dft_r2c_1d';
function fftw_plan_dft_2d(nx,ny:cardinal;i:Psingle;o:Pcomplex_single;
flags:fftw_flagset):fftw_plan_single;
- external 'fftw3f' name 'fftwf_plan_dft_r2c_2d';
+ external fftwlib name 'fftwf_plan_dft_r2c_2d';
function fftw_plan_dft_3d(nx,ny,nz:cardinal;i:Psingle;o:Pcomplex_single;
flags:fftw_flagset):fftw_plan_single;
- external 'fftw3f' name 'fftwf_plan_dft_r2c_3d';
+ external fftwlib name 'fftwf_plan_dft_r2c_3d';
function fftw_plan_dft(rank:cardinal;n:Pcardinal;i:Psingle;o:Pcomplex_single;
flags:fftw_flagset):fftw_plan_single;
- external 'fftw3f' name 'fftwf_plan_dft_r2c';
+ external fftwlib name 'fftwf_plan_dft_r2c';
{Complex to real transformations.}
function fftw_plan_dft_1d(n:cardinal;i:Pcomplex_single;o:Psingle;
flags:fftw_flagset):fftw_plan_single;
- external 'fftw3f' name 'fftwf_plan_dft_c2r_1d';
+ external fftwlib name 'fftwf_plan_dft_c2r_1d';
function fftw_plan_dft_2d(nx,ny:cardinal;i:Pcomplex_single;o:Psingle;
flags:fftw_flagset):fftw_plan_single;
- external 'fftw3f' name 'fftwf_plan_dft_c2r_2d';
+ external fftwlib name 'fftwf_plan_dft_c2r_2d';
function fftw_plan_dft_3d(nx,ny,nz:cardinal;i:Pcomplex_single;o:Psingle;
flags:fftw_flagset):fftw_plan_single;
- external 'fftw3f' name 'fftwf_plan_dft_c2r_3d';
+ external fftwlib name 'fftwf_plan_dft_c2r_3d';
function fftw_plan_dft(rank:cardinal;n:Pcardinal;i:Pcomplex_single;o:Psingle;
flags:fftw_flagset):fftw_plan_single;
- external 'fftw3f' name 'fftwf_plan_dft_c2r';
+ external fftwlib name 'fftwf_plan_dft_c2r';
procedure fftw_destroy_plan(plan:fftw_plan_single);
- external 'fftw3f' name 'fftwf_destroy_plan';
+ external fftwlib name 'fftwf_destroy_plan';
procedure fftw_execute(plan:fftw_plan_single);
- external 'fftw3f' name 'fftwf_execute';
+ external fftwlib name 'fftwf_execute';
{$calling register} {Back to normal!}
procedure fftw_getmem(var p:pointer;size:sizeint);
@@ -102,7 +110,9 @@ procedure fftw_freemem(p:pointer);inline;
implementation
{*****************************************************************************}
+{$ifndef Windows}
{$LINKLIB fftw3f}
+{$endif}
{Required libraries by libfftw3}
{ $LINKLIB gcc}