m4: move the gawk script from m4/gen_bpf_attr_m4.sh into a separate file
As it turns out, old versions of gawk do not support -e option. * m4/gen_bpf_attr_m4.sh: Move the gawk script ... * m4/gen_bpf_attr_m4.awk: ... here.
This commit is contained in:
parent
514a667cc3
commit
5c481739d7
28
m4/gen_bpf_attr_m4.awk
Normal file
28
m4/gen_bpf_attr_m4.awk
Normal file
@ -0,0 +1,28 @@
|
||||
/^struct ([^[:space:]]+)_struct([[:space:]]+\/\* ([^[:space:]]+) \*\/)?[[:space:]]+{/ {
|
||||
match($0, /^struct ([^[:space:]]+)_struct([[:space:]]+\/\* ([^[:space:]]+) \*\/)?[[:space:]]+{/, a)
|
||||
|
||||
struct_name = a[1]
|
||||
subtype_name = a[3]
|
||||
|
||||
if (struct_name ~ /^BPF_/)
|
||||
prefix = "union bpf_attr"
|
||||
else
|
||||
prefix = "struct " struct_name
|
||||
|
||||
if (subtype_name != "")
|
||||
prefix = prefix "." subtype_name
|
||||
|
||||
in_struct = 1
|
||||
next
|
||||
}
|
||||
|
||||
/^}( ATTRIBUTE_ALIGNED\(.*\))?;/ {
|
||||
in_struct = 0
|
||||
next
|
||||
}
|
||||
|
||||
(in_struct == 1) {
|
||||
if (match($0, /^[[:space:]]+[^;\[\]]+[[:space:]]+([^[:space:]\[\];]+)(\[[^;]*\])?;$/, a)) {
|
||||
print "\t\t" prefix "." a[1] ","
|
||||
}
|
||||
}
|
@ -34,36 +34,7 @@ AC_DEFUN([st_BPF_ATTR], [dnl
|
||||
AC_CHECK_MEMBERS(m4_normalize([
|
||||
EOF
|
||||
|
||||
gawk -e '
|
||||
/^struct ([^[:space:]]+)_struct([[:space:]]+\/\* ([^[:space:]]+) \*\/)?[[:space:]]+{/ {
|
||||
match($0, /^struct ([^[:space:]]+)_struct([[:space:]]+\/\* ([^[:space:]]+) \*\/)?[[:space:]]+{/, a)
|
||||
|
||||
struct_name = a[1]
|
||||
subtype_name = a[3]
|
||||
|
||||
if (struct_name ~ /^BPF_/)
|
||||
prefix = "union bpf_attr"
|
||||
else
|
||||
prefix = "struct " struct_name
|
||||
|
||||
if (subtype_name != "")
|
||||
prefix = prefix "." subtype_name
|
||||
|
||||
in_struct = 1
|
||||
next
|
||||
}
|
||||
|
||||
/^}( ATTRIBUTE_ALIGNED\(.*\))?;/ {
|
||||
in_struct = 0
|
||||
next
|
||||
}
|
||||
|
||||
(in_struct == 1) {
|
||||
if (match($0, /^[[:space:]]+[^;\[\]]+[[:space:]]+([^[:space:]\[\];]+)(\[[^;]*\])?;$/, a)) {
|
||||
print "\t\t" prefix "." a[1] ","
|
||||
}
|
||||
}
|
||||
' < "$input" | sort -u
|
||||
gawk -f "${0%/*}"/gen_bpf_attr_m4.awk < "$input" | sort -u
|
||||
|
||||
cat <<'EOF'
|
||||
union bpf_attr.dummy
|
||||
|
Loading…
Reference in New Issue
Block a user