Refactor dtrace postprocessing make rules
authorAndres Freund <[email protected]>
Mon, 18 Jul 2022 19:22:50 +0000 (12:22 -0700)
committerAndres Freund <[email protected]>
Mon, 18 Jul 2022 19:33:02 +0000 (12:33 -0700)
This is in preparation for building postgres with meson / ninja.

Move the dtrace postprocessing sed commands into a separate file so
that it can be shared by meson.  Also split the rule into two for
proper dependency declaration.

Reviewed-by: Andres Freund <[email protected]>
Author: Peter Eisentraut <[email protected]>
Discussion: https://postgr.es/m/5e216522-ba3c-f0e6-7f97-5276d0270029@enterprisedb.com

src/backend/utils/Makefile
src/backend/utils/postprocess_dtrace.sed [new file with mode: 0644]

index 2011c5148d37d17f1c97c443b3a4323861a846b1..ccca0a0dd3c2a60392db18449434f135f1ea8ec5 100644 (file)
@@ -54,22 +54,15 @@ fmgr-stamp: Gen_fmgrtab.pl $(catalogdir)/Catalog.pm $(top_srcdir)/src/include/ca
 errcodes.h: $(top_srcdir)/src/backend/utils/errcodes.txt generate-errcodes.pl
    $(PERL) $(srcdir)/generate-errcodes.pl --outfile $@ $<
 
-ifneq ($(enable_dtrace), yes)
-probes.h: Gen_dummy_probes.sed
-endif
-
-# We editorialize on dtrace's output to the extent of changing the macro
-# names (from POSTGRESQL_foo to TRACE_POSTGRESQL_foo) and changing any
-# "char *" arguments to "const char *".
-probes.h: probes.d
 ifeq ($(enable_dtrace), yes)
-   $(DTRACE) -C -h -s $< -o $@.tmp
-   sed -e 's/POSTGRESQL_/TRACE_POSTGRESQL_/g' \
-       -e 's/( *char \*/(const char */g' \
-       -e 's/, *char \*/, const char */g' [email protected] >$@
+probes.h: postprocess_dtrace.sed probes.h.tmp
+   sed -f $^ >$@
+
+probes.h.tmp: probes.d
+   $(DTRACE) -C -h -s $< -o $@
 else
-   sed -f $(srcdir)/Gen_dummy_probes.sed $< >$@
+probes.h: Gen_dummy_probes.sed probes.d
+   sed -f $^ >$@
 endif
 
 # These generated headers must be symlinked into builddir/src/include/,
diff --git a/src/backend/utils/postprocess_dtrace.sed b/src/backend/utils/postprocess_dtrace.sed
new file mode 100644 (file)
index 0000000..a68c30c
--- /dev/null
@@ -0,0 +1,15 @@
+#-------------------------------------------------------------------------
+# sed script to postprocess dtrace output
+#
+# Copyright (c) 2008-2022, PostgreSQL Global Development Group
+#
+# src/backend/utils/postprocess_dtrace.sed
+#-------------------------------------------------------------------------
+
+# We editorialize on dtrace's output to the extent of changing the macro
+# names (from POSTGRESQL_foo to TRACE_POSTGRESQL_foo) and changing any
+# "char *" arguments to "const char *".
+
+s/POSTGRESQL_/TRACE_POSTGRESQL_/g
+s/( *char \*/(const char */g
+s/, *char \*/, const char */g