From 0bf62931cae0db1294937eb9190b183494af4cf8 Mon Sep 17 00:00:00 2001 From: Andrew Dunstan Date: Tue, 11 May 2021 20:02:02 -0400 Subject: [PATCH] Tweak generation of Gen_dummy_probes.pl 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 | 19 +++++++++++++++++++ src/backend/utils/Makefile | 8 ++++---- src/backend/utils/README.Gen_dummy_probes | 2 ++ 3 files changed, 25 insertions(+), 4 deletions(-) create mode 100644 src/backend/utils/Gen_dummy_probes.pl.prolog diff --git a/src/backend/utils/Gen_dummy_probes.pl.prolog b/src/backend/utils/Gen_dummy_probes.pl.prolog new file mode 100644 index 00000000000..1c8993377d6 --- /dev/null +++ b/src/backend/utils/Gen_dummy_probes.pl.prolog @@ -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 + diff --git a/src/backend/utils/Makefile b/src/backend/utils/Makefile index bcf9dd41adf..ef8df254826 100644 --- a/src/backend/utils/Makefile +++ b/src/backend/utils/Makefile @@ -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/; ' $@ diff --git a/src/backend/utils/README.Gen_dummy_probes b/src/backend/utils/README.Gen_dummy_probes index 90fec37bce4..e17060ef248 100644 --- a/src/backend/utils/README.Gen_dummy_probes +++ b/src/backend/utils/README.Gen_dummy_probes @@ -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. -- 2.39.5