xref: /aosp_15_r20/external/tflite-support/third_party/fft2d/fft2d.BUILD (revision b16991f985baa50654c05c5adbb3c8bbcfb40082)
1*b16991f9SAndroid Build Coastguard Worker# 2D Fast Fourier Transform package
2*b16991f9SAndroid Build Coastguard Worker# from http://momonga.t.u-tokyo.ac.jp/~ooura/fft2d.html
3*b16991f9SAndroid Build Coastguard Worker
4*b16991f9SAndroid Build Coastguard Workerpackage(
5*b16991f9SAndroid Build Coastguard Worker    default_visibility = ["//visibility:public"],
6*b16991f9SAndroid Build Coastguard Worker)
7*b16991f9SAndroid Build Coastguard Worker
8*b16991f9SAndroid Build Coastguard Worker# Unrestricted use; can only distribute original package.
9*b16991f9SAndroid Build Coastguard Workerlicenses(["notice"])
10*b16991f9SAndroid Build Coastguard Worker
11*b16991f9SAndroid Build Coastguard Workerexports_files(["readme2d.txt"])
12*b16991f9SAndroid Build Coastguard Worker
13*b16991f9SAndroid Build Coastguard WorkerFFT2D_SRCS = [
14*b16991f9SAndroid Build Coastguard Worker    "fftsg.c",
15*b16991f9SAndroid Build Coastguard Worker    "fftsg2d.c",
16*b16991f9SAndroid Build Coastguard Worker]
17*b16991f9SAndroid Build Coastguard Worker
18*b16991f9SAndroid Build Coastguard Workerconfig_setting(
19*b16991f9SAndroid Build Coastguard Worker    name = "windows",
20*b16991f9SAndroid Build Coastguard Worker    values = {"cpu": "x64_windows"},
21*b16991f9SAndroid Build Coastguard Worker)
22*b16991f9SAndroid Build Coastguard Worker
23*b16991f9SAndroid Build Coastguard Worker# This is the main 2D FFT library.  The 2D FFTs in this library call
24*b16991f9SAndroid Build Coastguard Worker# 1D FFTs.  In addition, fast DCTs are provided for the special case
25*b16991f9SAndroid Build Coastguard Worker# of 8x8 and 16x16.  This code in this library is referred to as
26*b16991f9SAndroid Build Coastguard Worker# "Version II" on http://momonga.t.u-tokyo.ac.jp/~ooura/fft2d.html.
27*b16991f9SAndroid Build Coastguard Workercc_library(
28*b16991f9SAndroid Build Coastguard Worker    name = "fft2d",
29*b16991f9SAndroid Build Coastguard Worker    srcs = FFT2D_SRCS,
30*b16991f9SAndroid Build Coastguard Worker    linkopts = select({
31*b16991f9SAndroid Build Coastguard Worker        ":windows": [],
32*b16991f9SAndroid Build Coastguard Worker        "//conditions:default": ["-lm"],
33*b16991f9SAndroid Build Coastguard Worker    }),
34*b16991f9SAndroid Build Coastguard Worker)
35*b16991f9SAndroid Build Coastguard Worker
36*b16991f9SAndroid Build Coastguard Workerobjc_library(
37*b16991f9SAndroid Build Coastguard Worker    name = "fft2d_ios",
38*b16991f9SAndroid Build Coastguard Worker    srcs = FFT2D_SRCS,
39*b16991f9SAndroid Build Coastguard Worker)
40*b16991f9SAndroid Build Coastguard Worker
41*b16991f9SAndroid Build Coastguard Worker# Export the source code so that it could be compiled for Andoid native apps.
42*b16991f9SAndroid Build Coastguard Workerfilegroup(
43*b16991f9SAndroid Build Coastguard Worker    name = "fft2d_srcs",
44*b16991f9SAndroid Build Coastguard Worker    srcs = FFT2D_SRCS,
45*b16991f9SAndroid Build Coastguard Worker)
46