File: build-examples.sh

package info (click to toggle)
libtracefs 1.8.3-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 1,368 kB
  • sloc: ansic: 12,966; makefile: 609; sh: 509; yacc: 188; lex: 106
file content (31 lines) | stat: -rwxr-xr-x 1,140 bytes parent folder | download | duplicates (2)
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
#!/bin/bash

# The samples are pulled out of the examples used in the man pages
# that are located in the Documentation directory.

EXAMPLES="dynevents kprobes eprobes uprobes synth error filter function-filter \
	  hist hist-cont tracer stream instances-affinity cpu sql"

for f in $EXAMPLES; do
	# Extract the code examples from the .txt files that generate the manpages
	sed -ne '/^EXAMPLE/,/FILES/ { /EXAMPLE/,+2d ; /^FILES/d ;  /^--/d ; p}' \
		Documentation/libtracefs-$f.txt > $AUTOPKGTEST_TMP/$f.c
	echo "[I] Extracted code for example $f"
done

for f in $(ls $AUTOPKGTEST_TMP/*.c); do
	name=$(basename $f .c)
	flags=$(pkg-config --libs libtracefs)
	cflags=$(pkg-config --cflags libtracefs)

	# stream.c and instances-affinity.c make use of macros which require
	# the definition of _GNU_SOURCE to be used. Take a look at the
	# splice(2) for stream.c and CPU_SET(3) for instances-affinity.c.
	if [[ "$f" == *"stream.c" ]] || [[ "$f" = *"instances-affinity.c" ]]; then
		sed -i '1i #define _GNU_SOURCE' $f
		echo "[I] Defined _GNU_SOURCE in $f"
	fi

	cc -o $AUTOPKGTEST_TMP/$name $f $flags $cflags
	echo "[I] Built example $f"
done