Hi, On 2024-02-08 18:30:01 +0000, John Morris wrote: > +FILTER_PATTERNS = *.c *.h
We also have a handful of .cpp files. > +/* > + * Custom banner character to be removed from comments. > + * We'll hardcode it to suit postgreSQL, but it should be set through a > command line arg. > + */ > +char customBanner = '-'; > + > +/************************************************************************************************* > +A simple program which reads a file, updates the comments, and writes to > stdout. > +This is intended to be used as a doxygen filter, converting existing > comments to doxygen comments. > +**********************************************************************************************/ > +int main(int argc, char**argv) { > + > + // Verify we have a single argument. This file isn't really following postgres coding style - any reason not to do so? > diff --git a/doc/doxygen/meson.build b/doc/doxygen/meson.build > new file mode 100644 > index 0000000000..e5539b7854 > --- /dev/null > +++ b/doc/doxygen/meson.build > @@ -0,0 +1,73 @@ > +# Generate doxygen pages for PostgreSQL using "ninja doxygen" > +# > +# Doxygen pages are optional. Nothing in this script should > +# cause PostgreSQL builds to fail. > +# > +# Currently there are no explicit error messages > +# - If doxygen is not found, the doxygen target will not be defined. > +# - If dot is not found, no graphs will be generated. > +# - flex is already required, so we don't check for it. > +# > +# As a future enhancement, display meaningful error messages > +# when doxygen or dot are not found. Meson does not > +# support build time error messages, but they can be displayed > +# using a python custom target. What do you mean with "build time error messages" specifically? Why would we want to output anything at build time (rather than configure time)? > +# Find the doxygen command. If not found, stop and don't define the target. > +doxygen_cmd = find_program('doxygen', required: false) I'd add "native: true", it'd not work to find the program in the target environment of a cross build. > + > +# Find the dot command. If not found, no graphs will be generated. > +dot_cmd = find_program('dot', required: false) Dito. Greetings, Andres Freund