Meson: check for pg_config_paths.h left over from make
authorDavid Rowley <drowley@postgresql.org>
Wed, 23 Aug 2023 22:33:53 +0000 (10:33 +1200)
committerDavid Rowley <drowley@postgresql.org>
Wed, 23 Aug 2023 22:33:53 +0000 (10:33 +1200)
The meson build scripts attempt to find files left over from configure
and fail, mentioning that "make maintainer-clean" should be run to remove
these.  This seems to have been done for files generated from configure.
pg_config_paths.h is generated during the actual make build, so seems to
have been missed.  This would result in compilation using the wrong
pg_config_paths.h file.

Here we just add this file to generated_sources_ac so that meson errors
out if pg_config_paths.h exists.

Likely this wasn't noticed before because make maintainer-clean will
remove pg_config_paths.h, however, people using the MSVC build scripts
are more likely to run into issues and they have to manually remove
these files and pg_config_paths.h wasn't listed as a conflicting file to
remove in the meson log.

Backpatch-through: 16, where meson support was added
Discussion: https://postgr.es/m/CAApHDvqjYOxZfmLKAOWKFEE7LOr9_E6UA6YNmx9r8nxStcS3gg@mail.gmail.com

src/port/meson.build

index deb354418dbb48df0dee5b4c52ae0ac170338a73..a0d0a9583a0d7d769e93a3fb1f5c687d02416f94 100644 (file)
@@ -195,3 +195,6 @@ endforeach
 pgport_srv = pgport['_srv']
 pgport_static = pgport['']
 pgport_shlib = pgport['_shlib']
+
+# autoconf generates the file there, ensure we get a conflict
+generated_sources_ac += {'src/port': ['pg_config_paths.h']}