|
Lines 1-11
Link Here
|
| 1 |
# Copyright 1999-2019 Gentoo Authors |
1 |
# Copyright 1999-2018 Gentoo Foundation |
| 2 |
# Distributed under the terms of the GNU General Public License v2 |
2 |
# Distributed under the terms of the GNU General Public License v2 |
| 3 |
|
3 |
|
| 4 |
EAPI=7 |
4 |
EAPI=6 |
| 5 |
|
5 |
|
| 6 |
PYTHON_COMPAT=( python2_7 ) |
6 |
PYTHON_COMPAT=( python2_7 ) |
| 7 |
|
7 |
|
| 8 |
inherit cmake-utils python-any-r1 |
8 |
inherit toolchain-funcs python-any-r1 |
| 9 |
|
9 |
|
| 10 |
DESCRIPTION="Intel SPMD Program Compiler" |
10 |
DESCRIPTION="Intel SPMD Program Compiler" |
| 11 |
HOMEPAGE="https://ispc.github.com/" |
11 |
HOMEPAGE="https://ispc.github.com/" |
|
Lines 21-109
Link Here
|
| 21 |
|
21 |
|
| 22 |
LICENSE="BSD BSD-2 UoI-NCSA" |
22 |
LICENSE="BSD BSD-2 UoI-NCSA" |
| 23 |
SLOT="0" |
23 |
SLOT="0" |
| 24 |
|
24 |
IUSE="examples" |
| 25 |
# FIXME: |
|
|
| 26 |
# - add NVPTX support: fails to compile |
| 27 |
# - re-add examples: fails to compile |
| 28 |
IUSE="doc llvm_targets_AArch64 llvm_targets_ARM sanitize test" |
| 29 |
|
| 30 |
# only one out of 10 tests passes |
| 31 |
RESTRICT="test" |
| 32 |
|
25 |
|
| 33 |
RDEPEND=" |
26 |
RDEPEND=" |
| 34 |
sys-devel/clang:=[llvm_targets_AArch64=,llvm_targets_ARM=] |
27 |
>=sys-devel/clang-3.0:* |
| 35 |
sys-libs/ncurses:0= |
28 |
>=sys-devel/llvm-3.0:* |
| 36 |
sys-libs/zlib:= |
29 |
" |
| 37 |
" |
|
|
| 38 |
DEPEND=" |
30 |
DEPEND=" |
| 39 |
${RDEPEND} |
31 |
${RDEPEND} |
| 40 |
${PYTHON_DEPS} |
32 |
${PYTHON_DEPS} |
| 41 |
doc? ( |
|
|
| 42 |
app-doc/doxygen[dot(+)] |
| 43 |
media-fonts/freefont |
| 44 |
) |
| 45 |
" |
| 46 |
BDEPEND=" |
| 47 |
sys-devel/bison |
33 |
sys-devel/bison |
| 48 |
sys-devel/flex |
34 |
sys-devel/flex |
| 49 |
" |
35 |
" |
| 50 |
|
|
|
| 51 |
DOCS=( README.md "${S}"/docs/{ReleaseNotes.txt,faq.rst,ispc.rst,news.rst,perf.rst,perfguide.rst} ) |
| 52 |
|
| 53 |
src_prepare() { |
| 54 |
# drop -Werror |
| 55 |
sed -e 's/-Werror//' -i CMakeLists.txt || die |
| 56 |
|
| 57 |
# fix path for dot binary |
| 58 |
if use doc; then |
| 59 |
sed -e 's|/usr/local/bin/dot|/usr/bin/dot|' -i "${S}"/doxygen.cfg || die |
| 60 |
fi |
| 61 |
|
| 62 |
cmake-utils_src_prepare |
| 63 |
} |
| 64 |
|
| 65 |
src_configure() { |
| 66 |
local mycmakeargs=( |
| 67 |
-DARM_ENABLED=$(usex llvm_targets_AArch64 $(usex llvm_targets_ARM)) |
| 68 |
-DNVPTX_ENABLED=OFF |
| 69 |
-DISPC_INCLUDE_EXAMPLES=OFF |
| 70 |
-DISPC_INCLUDE_TESTS=$(usex test) |
| 71 |
-DISPC_INCLUDE_UTILS=ON |
| 72 |
-DISPC_NO_DUMPS=OFF |
| 73 |
-DISPC_PREPARE_PACKAGE=OFF |
| 74 |
-DISPC_STATIC_STDCXX_LINK=OFF |
| 75 |
-DISPC_STATIC_LINK=OFF |
| 76 |
-DISPC_USE_ASAN=$(usex sanitize) |
| 77 |
) |
| 78 |
cmake-utils_src_configure |
| 79 |
} |
| 80 |
|
36 |
|
| 81 |
src_compile() { |
37 |
src_compile() { |
| 82 |
cmake-utils_src_compile |
38 |
#make all slient commands ("@") verbose and remove -Werror (ispc/ispc#1295) |
| 83 |
|
39 |
sed -e '/^\t@/s/@//' -e 's/-Werror//' -i Makefile || die |
| 84 |
if use doc; then |
40 |
emake LDFLAGS="${LDFLAGS}" OPT="${CXXFLAGS}" CXX="$(tc-getCXX)" CPP="$(tc-getCPP)" |
| 85 |
pushd "${S}" >/dev/null || die |
|
|
| 86 |
doxygen -u doxygen.cfg || die "failed to update doxygen.cfg" |
| 87 |
doxygen doxygen.cfg || die "failed to build documentation" |
| 88 |
popd >/dev/null || die |
| 89 |
fi |
| 90 |
} |
41 |
} |
| 91 |
|
42 |
|
| 92 |
src_install() { |
43 |
src_install() { |
| 93 |
cmake-utils_src_install |
44 |
dobin ispc |
|
|
45 |
dodoc README.rst |
| 94 |
|
46 |
|
| 95 |
if use doc; then |
47 |
if use examples; then |
| 96 |
local HTML_DOCS=( docs/doxygen/html/. ) |
48 |
insinto "/usr/share/doc/${PF}/examples" |
|
|
49 |
docompress -x "/usr/share/doc/${PF}/examples" |
| 50 |
doins -r examples/* |
| 97 |
fi |
51 |
fi |
| 98 |
einstalldocs |
|
|
| 99 |
|
| 100 |
# if use examples; then |
| 101 |
# insinto "/usr/share/doc/${PF}/examples" |
| 102 |
# docompress -x "/usr/share/doc/${PF}/examples" |
| 103 |
# doins -r examples/* |
| 104 |
# fi |
| 105 |
} |
| 106 |
|
| 107 |
src_test() { |
| 108 |
eninja check-all |
| 109 |
} |
52 |
} |