summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorscuri <scuri>2009-08-20 13:02:58 +0000
committerscuri <scuri>2009-08-20 13:02:58 +0000
commit118bba12e5db09d4412ad4999b346d7d46e5489e (patch)
treeda0197c15570a2581cb579abf78cdcf869c71ed0
parent5d735255ddd3cb2f547abd3d03969af3fb7eb04e (diff)
*** empty log message ***
-rw-r--r--html/en/history.html2
-rw-r--r--src/im_fftw3.mak125
2 files changed, 18 insertions, 109 deletions
diff --git a/html/en/history.html b/html/en/history.html
index 5896c1e..03a97ad 100644
--- a/html/en/history.html
+++ b/html/en/history.html
@@ -28,6 +28,8 @@
<li><span style="color: #008000">Changed:</span> libLZF updated to
version 3.5. libJPEG updated to
version 7. libEXIF updated to version 0.6.17.</li>
+ <li><span style="color: #008000">Changed:</span> library im_fftw3 to use
+ an external library.</li>
<li><span style="color: #008000">Changed: <span
style="color: #000000"> <strong>imImageCreateBased</strong> and
<strong>imConvertColorSpace</strong> now also
diff --git a/src/im_fftw3.mak b/src/im_fftw3.mak
index 7bb1a94..aafa5b9 100644
--- a/src/im_fftw3.mak
+++ b/src/im_fftw3.mak
@@ -4,111 +4,9 @@ OPT = YES
DEF_FILE = im_fftw.def
-RDFT_CODELETS_R2R = e01_8.c e10_8.c rrcodlist.c
-RDFT_CODELETS_R2R := $(addprefix r2r/, $(RDFT_CODELETS_R2R))
+SRC = process/im_fft.cpp
-R2HC = r2hc_2.c r2hc_3.c r2hc_4.c r2hc_5.c r2hc_6.c r2hc_7.c r2hc_8.c \
- r2hc_9.c r2hc_10.c r2hc_11.c r2hc_12.c r2hc_13.c r2hc_14.c r2hc_15.c \
- r2hc_16.c r2hc_32.c
-MR2HC = mr2hc_32.c mr2hc_64.c mr2hc_128.c
-HF = hf_2.c hf_3.c hf_4.c hf_5.c hf_6.c hf_7.c hf_8.c hf_9.c \
- hf_10.c hf_12.c hf_15.c hf_16.c hf_32.c hf_64.c
-HF2 = hf2_4.c hf2_8.c hf2_16.c hf2_32.c hf2_64.c
-R2HCII = r2hcII_2.c r2hcII_3.c r2hcII_4.c r2hcII_5.c r2hcII_6.c \
- r2hcII_7.c r2hcII_8.c r2hcII_9.c r2hcII_10.c r2hcII_12.c r2hcII_15.c \
- r2hcII_16.c r2hcII_32.c
-MR2HCII = mr2hcII_32.c mr2hcII_64.c
-RDFT_CODELETS_R2HC = $(R2HC) $(MR2HC) $(HF) $(HF2) $(R2HCII) $(MR2HCII) rhcodlist.c
-RDFT_CODELETS_R2HC := $(addprefix r2hc/, $(RDFT_CODELETS_R2HC))
-
-HC2R = hc2r_3.c hc2r_4.c hc2r_5.c hc2r_6.c hc2r_7.c hc2r_8.c hc2r_9.c \
- hc2r_10.c hc2r_11.c hc2r_12.c hc2r_13.c hc2r_14.c hc2r_15.c hc2r_16.c \
- hc2r_32.c
-MHC2R = mhc2r_32.c mhc2r_64.c mhc2r_128.c
-HB = hb_2.c hb_3.c hb_4.c hb_5.c hb_6.c hb_7.c hb_8.c hb_9.c \
- hb_10.c hb_12.c hb_15.c hb_16.c hb_32.c hb_64.c
-HB2 = hb2_4.c hb2_8.c hb2_16.c hb2_32.c hb2_64.c
-HC2RIII = hc2rIII_2.c hc2rIII_3.c hc2rIII_4.c hc2rIII_5.c hc2rIII_6.c \
- hc2rIII_7.c hc2rIII_8.c hc2rIII_9.c hc2rIII_10.c hc2rIII_12.c \
- hc2rIII_15.c hc2rIII_16.c hc2rIII_32.c
-MHC2RIII = mhc2rIII_32.c mhc2rIII_64.c
-RDFT_CODELETS_HC2R = $(HC2R) $(MHC2R) $(HB) $(HC2RIII) $(MHC2RIII) hcodlist.c
-RDFT_CODELETS_HC2R := $(addprefix hc2r/, $(RDFT_CODELETS_HC2R))
-
-RDFT_CODELETS = hc2r.c hfb.c \
- r2hc.c r2r.c $(RDFT_CODELETS_R2R) $(RDFT_CODELETS_HC2R) $(RDFT_CODELETS_R2HC)
-RDFT_CODELETS := $(addprefix codelets/, $(RDFT_CODELETS))
-
-RDFT2 = buffered2.c direct2.c nop2.c rank0-rdft2.c rank-geq2-rdft2.c \
- plan2.c problem2.c solve2.c vrank-geq1-rdft2.c rdft2-radix2.c \
- rdft2-tensor-max-index.c rdft2-inplace-strides.c rdft2-strides.c
-RDFT = dft-r2hc.c dht-r2hc.c dht-rader.c rbuffered.c \
- rconf.c rdirect.c rgeneric.c khc2hc-dif.c khc2hc-dit.c \
- khc2r.c kr2hc.c kr2r.c hc2hc.c hc2hc-dif.c hc2hc-dit.c \
- hc2hc-buf.c rindirect.c rnop.c rplan.c rproblem.c rader-hc2hc.c rrank0.c \
- rrank-geq2.c rdft-dht.c rsolve.c rvrank-geq1.c $(RDFT2) $(RDFT_CODELETS)
-RDFT := $(addprefix rdft/, $(RDFT))
-
-N1 = n1_2.c n1_3.c n1_4.c n1_5.c n1_6.c n1_7.c n1_8.c n1_9.c n1_10.c \
- n1_11.c n1_12.c n1_13.c n1_14.c n1_15.c n1_16.c
-M1 = m1_16.c m1_32.c m1_64.c
-T1 = t1_2.c t1_3.c t1_4.c t1_5.c t1_6.c t1_7.c t1_8.c t1_9.c \
- t1_10.c t1_12.c t1_15.c t1_16.c t1_32.c t1_64.c
-T2 = t2_4.c t2_8.c t2_16.c t2_32.c t2_64.c
-DFT_CODELETS_STANDARD = $(N1) $(M1) $(T1) $(T2) scodlist.c
-DFT_CODELETS_STANDARD := $(addprefix standard/, $(DFT_CODELETS_STANDARD))
-
-DFT_CODELETS_INPLACE = q1_2.c q1_4.c q1_8.c q1_3.c q1_5.c q1_6.c icodlist.c
-DFT_CODELETS_INPLACE := $(addprefix inplace/, $(DFT_CODELETS_INPLACE))
-
-DFT_CODELETS = n.c t.c $(DFT_CODELETS_INPLACE) $(DFT_CODELETS_STANDARD)
-DFT_CODELETS := $(addprefix codelets/, $(DFT_CODELETS))
-
-DFT = buffered.c conf.c ct-dif.c ct-dit.c ct-ditbuf.c \
- ct-ditf.c ct.c direct.c generic.c indirect.c kdft-dif.c kdft-difsq.c \
- kdft-dit.c kdft.c nop.c plan.c problem.c rader.c rader-omega.c \
- rank-geq2.c rank0.c solve.c vrank-geq1.c vrank2-transpose.c \
- vrank3-transpose.c zero.c $(DFT_CODELETS)
-DFT := $(addprefix dft/, $(DFT))
-
-REODFT = reoconf.c reodft010e-r2hc.c \
- reodft11e-radix2.c reodft11e-r2hc-odd.c redft00e-r2hc-pad.c \
- rodft00e-r2hc-pad.c
-REODFT := $(addprefix reodft/, $(REODFT))
-
-KERNEL = align.c alloc.c assert.c awake.c kbuffered.c \
- kct.c debug.c hash.c iabs.c md5.c md5-1.c minmax.c ops.c pickdim.c \
- kplan.c planner.c primes.c print.c kproblem.c krader.c scan.c solver.c \
- solvtab.c square.c stride.c tensor.c tensor1.c tensor2.c tensor4.c \
- tensor5.c tensor7.c tensor8.c tensor9.c timer.c transpose.c trig.c \
- trig1.c twiddle.c
-KERNEL := $(addprefix kernel/, $(KERNEL))
-
-API = apiplan.c configure.c execute.c execute-dft.c \
- execute-dft-c2r.c execute-dft-r2c.c execute-r2r.c \
- export-wisdom-to-file.c export-wisdom-to-string.c export-wisdom.c \
- extract-reim.c flops.c forget-wisdom.c import-system-wisdom.c \
- import-wisdom-from-file.c import-wisdom-from-string.c import-wisdom.c \
- mapflags.c mkprinter-file.c mktensor-iodims.c mktensor-rowmajor.c \
- plan-dft-1d.c plan-dft-2d.c plan-dft-3d.c plan-dft.c plan-guru-dft.c \
- plan-many-dft.c plan-many-dft-c2r.c plan-dft-c2r.c plan-dft-c2r-1d.c \
- plan-dft-c2r-2d.c plan-dft-c2r-3d.c plan-many-dft-r2c.c plan-dft-r2c.c \
- plan-dft-r2c-1d.c plan-dft-r2c-2d.c plan-dft-r2c-3d.c \
- plan-guru-dft-c2r.c plan-guru-dft-r2c.c map-r2r-kind.c plan-many-r2r.c \
- plan-r2r-1d.c plan-r2r-2d.c plan-r2r-3d.c plan-r2r.c plan-guru-r2r.c \
- print-plan.c the-planner.c rdft2-pad.c version.c \
- execute-split-dft-c2r.c execute-split-dft-r2c.c execute-split-dft.c \
- plan-guru-split-dft-c2r.c plan-guru-split-dft-r2c.c \
- plan-guru-split-dft.c f77api.c
-API := $(addprefix api/, $(API))
-
-SRC = $(API) $(REODFT) $(RDFT) $(DFT) $(KERNEL)
-SRC := $(addprefix fftw3/, $(SRC))
-
-SRC := process/im_fft.cpp $(SRC)
-
-INCLUDES := ../include fftw3/kernel fftw3/dft fftw3/rdft fftw3/api \
- fftw3/reodft fftw3/rdft/codelets fftw3/dft/codelets
+INCLUDES = ../include
DEFINES = USE_FFTW3
@@ -118,6 +16,20 @@ LIBS = im_process
ifneq ($(findstring Win, $(TEC_SYSNAME)), )
+ ifneq ($(findstring _64, $(TEC_UNAME)), )
+ FFTW = d:/lng/fftw64
+ else
+ FFTW = d:/lng/fftw32
+ endif
+ INCLUDES += $(FFTW)
+ LIBS += libfftw3f-3
+ LDIR = $(FFTW)
+else
+ LIBS += fftw3f
+endif
+
+
+ifneq ($(findstring Win, $(TEC_SYSNAME)), )
ifneq ($(findstring gcc, $(TEC_UNAME)), )
DEFINES += HAVE_UINTPTR_T
endif
@@ -144,8 +56,3 @@ else
DEFINES += IM_DEFMATHFLOAT
endif
endif
-
-# Duplicated files: buffered.c conf.c direct.c indirect.c generic.c
-# nop.c plan.c problem.c rader.c rank0.c rank-geq2.c
-# vrank-geq1.c solve.c ct.c codlist.c
-# These were renamed to "r*" when in the rdft folder, and to "k*" when in the kernel folder.