summaryrefslogtreecommitdiff
path: root/internal/generated
diff options
context:
space:
mode:
Diffstat (limited to 'internal/generated')
-rw-r--r--internal/generated/Makefile13
-rw-r--r--internal/generated/tracepoint_list.go19
-rw-r--r--internal/generated/tracepoints.raku15
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