4 # The contents of this file are subject to the terms of the
5 # Common Development and Distribution License (the "License").
6 # You may not use this file except in compliance with the License.
8 # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9 # or http://www.opensolaris.org/os/licensing.
10 # See the License for the specific language governing permissions
11 # and limitations under the License.
13 # When distributing Covered Code, include this CDDL HEADER in each
14 # file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15 # If applicable, add the following below this CDDL HEADER, with the
16 # fields enclosed by brackets "[]" replaced with your own identifying
17 # information: Portions Copyright [yyyy] [name of copyright owner]
23 # Copyright (c) 2016, 2022, Oracle and/or its affiliates.
27 include ..
/..
/..
/make-rules
/shared-macros.mk
30 COMPONENT_VERSION
= 3.3.10
31 COMPONENT_SUMMARY
= FFTW
- library for calculating discrete Fourier transforms
32 COMPONENT_DESCRIPTION
= FFTW is a C subroutine library for computing the discrete Fourier transform
(DFT
) in one or more dimensions
, of arbitrary input size
, and of both real and complex data
33 COMPONENT_PROJECT_URL
= https
://fftw.org
34 COMPONENT_SRC
= $(COMPONENT_NAME
)-$(COMPONENT_VERSION
)
35 COMPONENT_ARCHIVE
= $(COMPONENT_SRC
).
tar.gz
36 COMPONENT_ARCHIVE_HASH
= sha256
:56c932549852cddcfafdab3820b0200c7742675be92179e59e6215b340e26467
37 COMPONENT_ARCHIVE_URL
= $(COMPONENT_PROJECT_URL
)/$(COMPONENT_ARCHIVE
)
38 COMPONENT_FMRI
= library
/fftw-3
39 COMPONENT_CLASSIFICATION
= Development
/High Performance Computing
40 COMPONENT_LICENSE_FILE
= COPYING
41 COMPONENT_LICENSE
= GPLv2
43 # Need to build regular, float, and long-double variants
45 VARIANT_DIRS_32
= $(VARIANTS
:%=$(BUILD_DIR
)/$(MACH32
)-%)
46 VARIANT_DIRS_64
= $(VARIANTS
:%=$(BUILD_DIR
)/$(MACH64
)-%)
48 CONFIGURE_32
+= $(VARIANT_DIRS_32
:%=%/.configured
)
49 CONFIGURE_64
+= $(VARIANT_DIRS_64
:%=%/.configured
)
50 BUILD_32
+= $(VARIANT_DIRS_32
:%=%/.built
)
51 BUILD_64
+= $(VARIANT_DIRS_64
:%=%/.built
)
52 INSTALL_32
+= $(VARIANT_DIRS_32
:%=%/.installed
)
53 INSTALL_64
+= $(VARIANT_DIRS_64
:%=%/.installed
)
54 TEST_32
+= $(VARIANT_DIRS_32
:%=%/.tested-and-compared
)
55 TEST_64
+= $(VARIANT_DIRS_64
:%=%/.tested-and-compared
)
56 SYSTEM_TEST_32
+= $(VARIANT_DIRS_32
:%=%/.system-tested-and-compared
)
57 SYSTEM_TEST_64
+= $(VARIANT_DIRS_64
:%=%/.system-tested-and-compared
)
59 include $(WS_MAKE_RULES
)/common.mk
61 CONFIGURE_OPTIONS
+= --disable-fortran
62 CONFIGURE_OPTIONS
+= --enable-shared
63 CONFIGURE_OPTIONS
+= --disable-static
64 CONFIGURE_OPTIONS
+= --enable-threads
65 CONFIGURE_OPTIONS
+= --with-combined-threads
67 CONFIGURE_OPTIONS.f
+= --enable-sse2
68 CONFIGURE_OPTIONS.l
+= --enable-sse2
69 CONFIGURE_OPTIONS.f
= --enable-float
70 CONFIGURE_OPTIONS.l
= --enable-long-double
71 CONFIGURE_OPTIONS
+= $(CONFIGURE_OPTIONS.
$(VARIANT
))
73 $(BUILD_DIR_32
)-f
/.
%: VARIANT
=f
74 $(BUILD_DIR_64
)-f
/.
%: VARIANT
=f
75 $(BUILD_DIR_32
)-l
/.
%: VARIANT
=l
76 $(BUILD_DIR_64
)-l
/.
%: VARIANT
=l
78 $(BUILD_DIR_32
)-f
/.
%: BITS
=32
79 $(BUILD_DIR_32
)-l
/.
%: BITS
=32
80 $(BUILD_DIR_64
)-f
/.
%: BITS
=64
81 $(BUILD_DIR_64
)-l
/.
%: BITS
=64
83 # FFTW selects random transforms for each test run, so just print results
84 COMPONENT_TEST_TRANSFORMS
+= \
88 COMPONENT_TEST_BUILD_DIR
= $(BUILD_DIR
)/test/$(MACH
$(BITS
))$(VARIANT
:%=-%)
90 # Auto-generated dependencies
91 REQUIRED_PACKAGES
+= shell/ksh93
92 REQUIRED_PACKAGES
+= system
/library
93 REQUIRED_PACKAGES
+= system
/library
/math