diff options
| author | Paul Buetow <paul@buetow.org> | 2024-02-20 19:18:47 +0200 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2024-02-20 19:18:47 +0200 |
| commit | 9dcdf69f54dccbc46e993a7b67ec46f75737f818 (patch) | |
| tree | 9830add181622b2b4b336dd810e9205823cc7221 /internal/generated | |
| parent | 9d4259d6e3afc3c29010d57204454a85832498de (diff) | |
add tracepoints generation script
Diffstat (limited to 'internal/generated')
| -rw-r--r-- | internal/generated/Makefile | 13 | ||||
| -rw-r--r-- | internal/generated/tracepoint_list.go | 19 | ||||
| -rw-r--r-- | internal/generated/tracepoints.raku | 15 |
3 files changed, 29 insertions, 18 deletions
diff --git a/internal/generated/Makefile b/internal/generated/Makefile index 960c6a4..2a419a9 100644 --- a/internal/generated/Makefile +++ b/internal/generated/Makefile @@ -1,16 +1,11 @@ all: generate -generate: types tracepoint_list +generate: types tracepoints .PHONY: types types: cat ../c/types.h | raku nqc.raku | tee types/types.go -.PHONY: tracepoint_list -tracepoint_list: - echo 'package generated' > tracepoint_list.go - echo '' >> tracepoint_list.go - echo 'var TracepointList = []string{' >> tracepoint_list.go - sed -n -E '/^SEC.*sys_(enter|exit)_/ { s/[")]//g; s/.*sys_(.*)/\t"\1",/; p; }' \ - ../c/tracepoints/*.c >> tracepoint_list.go - echo '}' >> tracepoint_list.go +.PHONY: tracepoints +tracepoints: + raku tracepoints.raku > tracepoint_list.go diff --git a/internal/generated/tracepoint_list.go b/internal/generated/tracepoint_list.go index f8fbac2..3ac8d10 100644 --- a/internal/generated/tracepoint_list.go +++ b/internal/generated/tracepoint_list.go @@ -1,12 +1,13 @@ package generated -var TracepointList = []string{ - "enter_close", - "exit_close", - "enter_openat", - "exit_openat", - "enter_open", - "exit_open", - "enter_write", - "exit_write", +var tracepointList = []string{ + "enter_close" + "exit_close" + "enter_write" + "exit_write" + "enter_openat" + "exit_openat" + "enter_open" + "exit_open" } + diff --git a/internal/generated/tracepoints.raku b/internal/generated/tracepoints.raku new file mode 100644 index 0000000..82610c8 --- /dev/null +++ b/internal/generated/tracepoints.raku @@ -0,0 +1,15 @@ +#!/usr/bin/env raku + +my @tracepoints = gather { + $/<tracepoint>.Str.take + if /^SEC.*sys_$<tracepoint>=(<[a..z _]>+)/ for + dir('../c/tracepoints/').map(*.lines).flat; +} + +say qq:to/END/; +package generated + +var tracepointList = []string\{ +\t{@tracepoints.map({ "\"$_\"" }).join("\n\t") } +\} +END |
