summaryrefslogtreecommitdiff
path: root/src/generate_mpers_am.sh
blob: d7e7a3b5754cbeacc29519294f9e07a34b66b1ef (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#!/bin/sh -e
#
# Copyright (c) 2015-2021 The strace developers.
# All rights reserved.
#
# SPDX-License-Identifier: LGPL-2.1-or-later

[ "x${D:-0}" != x1 ] || set -x

cd "$(dirname "$0")"

list="$(sed -E -n '/^strace_SOURCES[[:space:]]*=/,/^[[:space:]]*# end of strace_SOURCES/ s/^[[:space:]]*([[:alnum:]][^.]*\.c)[[:space:]]*\\$/\1/p' Makefile.am |
	xargs -r grep -Elx '#[[:space:]]*include[[:space:]]+MPERS_DEFS' |
	tr '\n' ' ')"

cat > mpers.am <<EOF
# Generated by $0; do not edit.
mpers_source_files = $list
EOF

sed -E -n 's/^#[[:space:]]*include[[:space:]]*"xlat\/([a-z][a-z_0-9]*)\.h".*/extern const struct xlat \1[];/p' \
	$list > mpers_xlat.h