On Tue, Sep 29, 2020 at 09:29:18AM -0400, Tom Lane wrote: > Hm, it doesn't seem like "OBJS_PGCOMMON" conveys much. I think > OBJS_FRONTEND ought to be the set of files built for frontend > application use (i.e., libpgcommon.a), so we need a new name > for what will go into libpgcommon_shlib.a. Maybe OBJS_SHLIB, > or to be even more explicit, OBJS_FRONTEND_SHLIB.
OBJS_SHLIB is already used to list the _shlib.o objects compiled with libpgcommon_shlib.a, which is why I switched OBJS_FRONTEND to OBJS_PGCOMMON, and an object cannot reference itself so we either need two variables for the shlib list, or we could just do something like that: OBJS_FRONTEND = \ $(OBJS_COMMON) \ fe_memutils.o \ restricted_token.o \ sprompt.o OBJS_SHLIB = $(OBJS_FRONTEND:%.o=%_shlib.o) OBJS_FRONTEND += logging.o However I would prefer the style of the attached. > As for the comment, maybe "logging.c is excluded from OBJS_SHLIB > as a matter of policy, because it is not appropriate for general > purpose libraries such as libpq to report errors directly." WFM. Thanks! -- Michael
diff --git a/src/common/Makefile b/src/common/Makefile index f281762885..25c55bd642 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
signature.asc
Description: PGP signature