v3-0003-Build-guc-file.c-standalone.patch
text/x-patch
Filename: v3-0003-Build-guc-file.c-standalone.patch
Type: text/x-patch
Part: 4
Patch
Format: format-patch
Series: patch v3-0003
Subject: Build guc-file.c standalone
| File | + | − |
|---|---|---|
| src/backend/utils/misc/guc.c | 0 | 2 |
| src/backend/utils/misc/guc-file.l | 5 | 4 |
| src/backend/utils/misc/Makefile | 1 | 4 |
From 68becb3064c8c573212033339735b3e335eb3af6 Mon Sep 17 00:00:00 2001
From: John Naylor <john.naylor@postgresql.org>
Date: Thu, 11 Aug 2022 19:38:37 +0700
Subject: [PATCH v3 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 <ctype.h>
@@ -17,10 +15,13 @@
#include "mb/pg_wchar.h"
#include "miscadmin.h"
#include "storage/fd.h"
+#include <sys/stat.h>
#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