easy-rsa: update to 3.2.1
[oi-userland.git] / components / library / fftw / Makefile
blobc50b4c3927a46ba154a214a0f27ebff3b31bdd1e
2 # CDDL HEADER START
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]
19 # CDDL HEADER END
23 # Copyright (c) 2016, 2022, Oracle and/or its affiliates.
26 BUILD_BITS= 64_and_32
27 include ../../../make-rules/shared-macros.mk
29 COMPONENT_NAME= fftw
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
44 VARIANTS= f l
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 += \
85 '-n ' \
86 '-e "/ FFTW/p" '
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