From 65c0203bac3abf127a5900f1a0025b7a62a52d70 Mon Sep 17 00:00:00 2001 From: John Naylor Date: Thu, 11 Aug 2022 19:38:37 +0700 Subject: [PATCH v4 03/11] Build guc-file.c standalone The proposed Meson build system will need a way to ignore certain generated files in order to coexist with the autoconf build system, and #include'd C files generated by Flex make this more difficult. Build guc-file.c separately from guc.c, as was done in 72b1e3a21. Reviewed by Andres Freund Discussion: https://www.postgresql.org/message-id/20220810171935.7k5zgnjwqzalzmtm%40awork3.anarazel.de --- src/backend/utils/misc/Makefile | 5 +---- src/backend/utils/misc/guc-file.l | 9 +++++---- src/backend/utils/misc/guc.c | 2 -- 3 files changed, 6 insertions(+), 10 deletions(-) diff --git a/src/backend/utils/misc/Makefile b/src/backend/utils/misc/Makefile index 1d5327cf64..cf7ce9bc83 100644 --- a/src/backend/utils/misc/Makefile +++ b/src/backend/utils/misc/Makefile @@ -16,6 +16,7 @@ override CPPFLAGS := -I. -I$(srcdir) $(CPPFLAGS) OBJS = \ guc.o \ + guc-file.o \ help_config.o \ pg_config.o \ pg_controldata.o \ @@ -37,10 +38,6 @@ endif include $(top_srcdir)/src/backend/common.mk -# guc-file is compiled as part of guc -guc.o: guc-file.c - # Note: guc-file.c is not deleted by 'make clean', # since we want to ship it in distribution tarballs. clean: - @rm -f lex.yy.c diff --git a/src/backend/utils/misc/guc-file.l b/src/backend/utils/misc/guc-file.l index 843838b1df..9aa3abe1ba 100644 --- a/src/backend/utils/misc/guc-file.l +++ b/src/backend/utils/misc/guc-file.l @@ -1,4 +1,4 @@ -/* -*-pgsql-c-*- */ +%top{ /* * Scanner for the configuration file * @@ -7,8 +7,6 @@ * src/backend/utils/misc/guc-file.l */ -%{ - #include "postgres.h" #include @@ -17,10 +15,13 @@ #include "mb/pg_wchar.h" #include "miscadmin.h" #include "storage/fd.h" +#include #include "utils/guc.h" #include "utils/guc_internal.h" +#include "utils/memutils.h" +} - +%{ /* * flex emits a yy_fatal_error() function that it calls in response to * critical errors like malloc failure, file I/O errors, and detection of diff --git a/src/backend/utils/misc/guc.c b/src/backend/utils/misc/guc.c index 293834fc13..92b5b18c8f 100644 --- a/src/backend/utils/misc/guc.c +++ b/src/backend/utils/misc/guc.c @@ -13333,5 +13333,3 @@ check_default_with_oids(bool *newval, void **extra, GucSource source) return true; } - -#include "guc-file.c" -- 2.36.1