Gentoo Archives: gentoo-commits

From: Alessandro Barbieri <lssndrbarbieri@×××××.com>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/proj/guru:dev commit in: sys-cluster/extrae/
Date: Wed, 28 Jul 2021 00:21:45
Message-Id: 1627431671.26ad00568a47f83595f7678e62b6ed4c8f74ffa1.Alessandro-Barbieri@gentoo
1 commit: 26ad00568a47f83595f7678e62b6ed4c8f74ffa1
2 Author: Alessandro Barbieri <lssndrbarbieri <AT> gmail <DOT> com>
3 AuthorDate: Wed Jul 28 00:21:11 2021 +0000
4 Commit: Alessandro Barbieri <lssndrbarbieri <AT> gmail <DOT> com>
5 CommitDate: Wed Jul 28 00:21:11 2021 +0000
6 URL: https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=26ad0056
7
8 sys-cluster/extrae: add dyninst useflag
9
10 Signed-off-by: Alessandro Barbieri <lssndrbarbieri <AT> gmail.com>
11
12 sys-cluster/extrae/extrae-3.8.3-r8.ebuild | 41 ++++++++++++++-----------------
13 sys-cluster/extrae/metadata.xml | 6 +----
14 2 files changed, 20 insertions(+), 27 deletions(-)
15
16 diff --git a/sys-cluster/extrae/extrae-3.8.3-r8.ebuild b/sys-cluster/extrae/extrae-3.8.3-r8.ebuild
17 index 49144b4b8..5f1a1ef45 100644
18 --- a/sys-cluster/extrae/extrae-3.8.3-r8.ebuild
19 +++ b/sys-cluster/extrae/extrae-3.8.3-r8.ebuild
20 @@ -14,17 +14,15 @@ SRC_URI="https://github.com/bsc-performance-tools/extrae/archive/${PV}.tar.gz ->
21 LICENSE="LGPL-2.1"
22 SLOT="0"
23 KEYWORDS="~amd64"
24 -IUSE="boost clustering doc dwarf elf heterogeneous inotify +instrument-dynamic-memory
25 -+instrument-io +instrument-syscall memkind merge-in-trace nanos online opencl openmp
26 -+parallel-merge pebs-sampling +posix-clock pthread sampling +single-mpi-lib sionlib smpss
27 -spectral +xml"
28 +IUSE="clustering doc dyninst heterogeneous inotify +instrument-dynamic-memory +instrument-io
29 ++instrument-syscall memkind merge-in-trace nanos online opencl openmp +parallel-merge
30 +pebs-sampling +posix-clock pthread sampling +single-mpi-lib sionlib smpss spectral +xml"
31
32 #aspectj and aspectj-weaver need to both be enabled at the same time
33 #current dev-java/aspectj package only provides aspectj.jar
34 #aspectj needs foo/lib/aspectj.jar and foo/bin/ajc
35 #aspectj-weaver needs bar/aspectjweaver.jar
36 -#TODO: remove some useflags (boost elf dwarf)
37 -#TODO: pmapi online dyninst cuda cupti openshmem gm mx aspectj
38 +#TODO: pmapi cuda cupti openshmem gm mx aspectj
39 #TODO: support llvm libunwind, llvm rt, elftoolchain
40
41 CDEPEND="
42 @@ -39,10 +37,13 @@ CDEPEND="
43 || ( sys-libs/libunwind sys-libs/llvm-libunwind )
44 || ( sys-devel/binutils:* sys-libs/binutils-libs )
45
46 - boost? ( dev-libs/boost:= )
47 - clustering? ( sys-cluster/clusteringsuite )
48 - dwarf? ( dev-libs/libdwarf )
49 - elf? ( virtual/libelf )
50 + clustering? ( sys-cluster/clusteringsuite[treedbscan] )
51 + dyninst? (
52 + dev-libs/boost:=
53 + dev-libs/libdwarf
54 + sys-cluster/dyninst
55 + virtual/libelf
56 + )
57 inotify? ( dev-libs/libevent )
58 memkind? ( dev-libs/memkind )
59 online? ( sys-cluster/synapse )
60 @@ -76,7 +77,6 @@ REQUIRED_USE="
61 java? ( pthread )
62 "
63 # cupti? ( cuda )
64 -# dyninst? ( boost dwarf elf )
65 # aspectj? ( java )
66
67 src_prepare() {
68 @@ -105,7 +105,6 @@ src_configure() {
69 --with-pic
70 --with-unwind="${EPREFIX}/usr"
71
72 - --without-dyninst
73 --without-cupti
74 --without-openshmem
75 --without-gm
76 @@ -119,6 +118,7 @@ src_configure() {
77 $(use_enable instrument-syscall)
78 $(use_enable merge-in-trace)
79 $(use_enable nanos)
80 + $(use_enable online)
81 $(use_enable openmp)
82 $(use_enable sampling)
83 $(use_enable parallel-merge)
84 @@ -138,24 +138,21 @@ src_configure() {
85 myconf+=( "--without-java-aspectj-weaver" )
86 myconf+=( "--without-java-aspectj" )
87 # fi
88 - if use boost; then
89 - myconf+=( "--with-boost=${EPREFIX}/usr" )
90 - else
91 - myconf+=( "--without-boost" )
92 - fi
93 if use clustering; then
94 myconf+=( "--with-clustering=${EPREFIX}/usr" )
95 else
96 myconf+=( "--without-clustering" )
97 fi
98 - if use dwarf; then
99 + if use dyninst; then
100 + myconf+=( "--with-boost=${EPREFIX}/usr" )
101 + myconf+=( "--with-dyninst=${EPREFIX}/usr" )
102 + myconf+=( "--with-dyninst-headers=${EPREFIX}/usr/include/dyninst" )
103 myconf+=( "--with-dwarf=${EPREFIX}/usr" )
104 - else
105 - myconf+=( "--without-dwarf" )
106 - fi
107 - if use elf; then
108 myconf+=( "--with-elf=${EPREFIX}/usr" )
109 else
110 + myconf+=( "--without-boost" )
111 + myconf+=( "--without-dyninst" )
112 + myconf+=( "--without-dwarf" )
113 myconf+=( "--without-elf" )
114 fi
115 if use java; then
116
117 diff --git a/sys-cluster/extrae/metadata.xml b/sys-cluster/extrae/metadata.xml
118 index 3db14b4bc..fc023d8fb 100644
119 --- a/sys-cluster/extrae/metadata.xml
120 +++ b/sys-cluster/extrae/metadata.xml
121 @@ -17,14 +17,11 @@ process). Extrae generates trace files that can be later visualized with sys-clu
122 </upstream>
123 <use>
124 <!--<flag name="aspectj">Enable support for tracing Java through <pkg>dev-java/aspectj</pkg> (experimental)</flag>-->
125 - <flag name="boost">Search for boost</flag>
126 <flag name="clustering">Enable <pkg>sys-cluster/clusteringsuite</pkg> support</flag>
127 <!--<flag name="cuda">Enable support for tracing CUDA calls on nVidia hardware and needs to point to the CUDA SDK installation path. This instrumentation is only valid in binaries that use the shared version of the CUDA library.</flag>-->
128 <!--<flag name="cupti">CUPTI is used to instrument CUDA calls</flag>-->
129 <flag name="doc">Generates the documentation of this instrumentation package</flag>
130 - <flag name="dwarf">Build with <pkg>dev-libs/libdwarf</pkg></flag>
131 - <!--<flag name="dyninst">Build with dyninst</flag>-->
132 - <flag name="elf">Build with <pkg>virtual/libelf</pkg></flag>
133 + <flag name="dyninst">Build with dyninst</flag>
134 <flag name="heterogeneous">Enable support for heterogeneous tracing</flag>
135 <flag name="inotify">Enable inotify support</flag>
136 <flag name="instrument-dynamic-memory">Enables instrumentation for dynamic memory (malloc, free, realloc) calls</flag>
137 @@ -47,7 +44,6 @@ process). Extrae generates trace files that can be later visualized with sys-clu
138 <flag name="single-mpi-lib">Produces a single instrumentation library for MPI that contains both Fortran and C wrappers. Applications that call the MPI library from both C and Fortran languages need this flag to be enabled.</flag>
139 <flag name="sionlib">Enable support for <pkg>sys-cluster/sionlib</pkg></flag>
140 <flag name="smpss">Enable support for tracing SMP-superscalar</flag>
141 - <!--<flag name="synapse">This library is a front-end of the MRNet library</flag>-->
142 <flag name="xml">Enable support for XML configuration</flag>
143 </use>
144 </pkgmetadata>