aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMichael Paquier <michael@paquier.xyz>2020-10-01 10:37:34 +0900
committerMichael Paquier <michael@paquier.xyz>2020-10-01 10:37:34 +0900
commit6b1c5cacec5e8305a3880b441526c47bd47c64cd (patch)
tree4e78a752796097d04444031a6176fcd70cd2f733 /src
parent7b28913bcab8d1bf3dbf59c9d8fb4b51cef57664 (diff)
downloadpostgresql-6b1c5cacec5e8305a3880b441526c47bd47c64cd.tar.gz
postgresql-6b1c5cacec5e8305a3880b441526c47bd47c64cd.zip
Remove logging.c from the shared library of src/common/
As fe0a1dc has proved, it is not a good concept to add to libpq dependencies that would enforce the error output to a central logging facility because it breaks the promise of reporting the error back to an application in a consistent way, with the application to potentially exit() suddenly if using pieces from for example jsonapi.c. prairiedog has allowed to report an actual design problem with fe0a1dc, but it will not be around forever, so removing logging.c from libpgcommon_shlib is a simple and much better long-term way to prevent any attempt to load the central logging in libraries with general purposes. Author: Michael Paquier Reviewed-by: Tom Lane Discussion: https://postgr.es/m/20200928073330.GC2316@paquier.xyz
Diffstat (limited to 'src')
-rw-r--r--src/common/Makefile13
1 files changed, 9 insertions, 4 deletions
diff --git a/src/common/Makefile b/src/common/Makefile
index f2817628851..25c55bd6423 100644
--- a/src/common/Makefile
+++ b/src/common/Makefile
@@ -88,16 +88,21 @@ OBJS_COMMON += sha2.o
endif
# A few files are currently only built for frontend, not server
-# (Mkvcbuild.pm has a copy of this list, too)
-OBJS_FRONTEND = \
+# (Mkvcbuild.pm has a copy of this list, too). logging.c is excluded
+# from OBJS_FRONTEND_SHLIB (shared library) as a matter of policy,
+# because it is not appropriate for general purpose libraries such
+# as libpq to report errors directly.
+OBJS_FRONTEND_SHLIB = \
$(OBJS_COMMON) \
fe_memutils.o \
- logging.o \
restricted_token.o \
sprompt.o
+OBJS_FRONTEND = \
+ $(OBJS_FRONTEND_SHLIB) \
+ logging.o
# foo.o, foo_shlib.o, and foo_srv.o are all built from foo.c
-OBJS_SHLIB = $(OBJS_FRONTEND:%.o=%_shlib.o)
+OBJS_SHLIB = $(OBJS_FRONTEND_SHLIB:%.o=%_shlib.o)
OBJS_SRV = $(OBJS_COMMON:%.o=%_srv.o)
# where to find gen_keywordlist.pl and subsidiary files