blob: 07d8adf9d845840bef34b478bb541031d48492be (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
|
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit cmake flag-o-matic
DESCRIPTION="Intel Open Path Guiding Library"
HOMEPAGE="https://github.com/OpenPathGuidingLibrary/openpgl"
SRC_URI="https://github.com/OpenPathGuidingLibrary/openpgl/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="Apache-2.0"
SLOT="0/$(ver_cut 1-2)"
KEYWORDS="-* ~amd64 ~arm64"
X86_CPU_FLAGS=( sse4_2 avx2 avx512dq )
CPU_FLAGS=( cpu_flags_arm_neon "${X86_CPU_FLAGS[@]/#/cpu_flags_x86_}" )
IUSE="${CPU_FLAGS[*]} debug"
REQUIRED_USE="
amd64? ( || ( ${X86_CPU_FLAGS[*]/#/cpu_flags_x86_} ) )
arm64? ( cpu_flags_arm_neon )
"
RDEPEND="
media-libs/embree:=
dev-cpp/tbb:=
"
DEPEND="${RDEPEND}"
src_configure() {
# -Werror=strict-aliasing
# https://bugs.gentoo.org/926890
#
# Upstream "solved" this by setting -fno-strict-aliasing themselves.
# Do not trust with LTO.
filter-lto
local mycmakeargs=(
-DOPENPGL_ISA_SSE4="$(usex cpu_flags_x86_sse4_2)"
-DOPENPGL_ISA_AVX2="$(usex cpu_flags_x86_avx2)"
-DOPENPGL_ISA_AVX512="$(usex cpu_flags_x86_avx512dq)"
-DOPENPGL_ISA_NEON="$(usex cpu_flags_arm_neon)"
# TODO look into neon 2x support
# -DOPENPGL_ISA_NEON2X="$(usex cpu_flags_arm_neon2x)"
)
# This is currently needed on arm64 to get the NEON SIMD wrapper to compile the code successfully
use cpu_flags_arm_neon && append-flags -flax-vector-conversions
# Disable asserts
append-cppflags "$(usex debug '' '-DNDEBUG')"
cmake_src_configure
}
|