Tweak generation of Gen_dummy_probes.pl
authorAndrew Dunstan <andrew@dunslane.net>
Wed, 12 May 2021 00:02:02 +0000 (20:02 -0400)
committerAndrew Dunstan <andrew@dunslane.net>
Wed, 12 May 2021 00:02:02 +0000 (20:02 -0400)
Use a static prolog file instead of generating the prolog from the
existing perl script. Also, support generation of the file in a vpath
build.

Discussion: https://postgr.es/m/700620.1620662868@sss.pgh.pa.us

src/backend/utils/Gen_dummy_probes.pl.prolog [new file with mode: 0644]
src/backend/utils/Makefile
src/backend/utils/README.Gen_dummy_probes

diff --git a/src/backend/utils/Gen_dummy_probes.pl.prolog b/src/backend/utils/Gen_dummy_probes.pl.prolog
new file mode 100644 (file)
index 0000000..1c89933
--- /dev/null
@@ -0,0 +1,19 @@
+#! /usr/bin/perl -w
+#-------------------------------------------------------------------------
+#
+# Gen_dummy_probes.pl
+#    Perl script that generates probes.h file when dtrace is not available
+#
+# Portions Copyright (c) 2008-2021, PostgreSQL Global Development Group
+#
+#
+# IDENTIFICATION
+#    src/backend/utils/Gen_dummy_probes.pl
+#
+# This program was generated by running perl's s2p over Gen_dummy_probes.sed
+#
+#-------------------------------------------------------------------------
+
+# turn off perlcritic for autogenerated code
+## no critic
+
index bcf9dd41adfbe8bb48a31a9bbdfcd406f70f9305..ef8df254826519b5f5d2511ddaff2c51bed94c24 100644 (file)
@@ -92,10 +92,10 @@ $(top_builddir)/src/include/utils/probes.h: probes.h
 # Nothing depends on it, so it will never be called unless explicitly requested
 # The last two lines of the recipe format the script according to  our
 # standard and put back some blank lines for improved readability.
-Gen_dummy_probes.pl: Gen_dummy_probes.sed
-       perl -ni -e ' print; exit if /^\$$0/;' $@
-       s2p -f $<  | sed -e 1,4d -e '/# #/d' -e '$$d' >> $@
-       perltidy --profile=../../tools/pgindent/perltidyrc $@
+Gen_dummy_probes.pl: Gen_dummy_probes.sed Gen_dummy_probes.pl.prolog
+       cp $(srcdir)/Gen_dummy_probes.pl.prolog $@
+       s2p -f $<  | sed -e 1,3d -e '/# #/ d' -e '$$d' >> $@
+       perltidy --profile=$(srcdir)/../../tools/pgindent/perltidyrc $@
        perl -pi -e '!$$lb && ( /^\t+#/  || /^# prototypes/ ) && print qq{\n};'\
                -e '$$lb = m/^\n/; ' $@
 
index 90fec37bce471773f53c8a7b33397a9cf2e2b88d..e17060ef248043e779a5ed492592bf20c66d6e42 100644 (file)
@@ -23,3 +23,5 @@ on Fedora it can be installed using `cpan App::s2p` or
 
 The Makefile contains a recipe for regenerating Gen_dummy_probes.pl, so all
 you need to do is once you have s2p installed is `make Gen_dummy_probes.pl`
+Note that in a VPATH build this will generate the file in the vpath tree,
+not the source tree.