Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit4f6deef

Browse files
committed
Abandon use of Makefile variables in libpq/Makefile because MSVC scrapes
the OBJS lines from that file.Cleanup where possible.
1 parenta9b02ec commit4f6deef

File tree

1 file changed

+25
-19
lines changed

1 file changed

+25
-19
lines changed

‎src/interfaces/libpq/Makefile

Lines changed: 25 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -29,29 +29,26 @@ endif
2929
# platforms require special flags.
3030
LIBS :=$(LIBS:-lpgport=)
3131

32-
# libpgport C files that are always used by libpq
33-
PGPORT = inet_net_ntop noblock pgstrcasecmp thread
34-
ifeq ($(PORTNAME), win32)
35-
PGPORT += pgsleep
36-
endif
37-
# libpgport C files are used by libpq if identified by configure
38-
PGPORT +=$(basename$(filter$(addsuffix .o, crypt getaddrinfo inet_aton open snprintf strerror strlcpy win32error),$(LIBOBJS)))
39-
40-
# other external C files
41-
BACKEND_LIBPQ = md5 ip
42-
UTILS_MB = encnames wchar
43-
32+
# 'filter' is used for libpgport C files that are needed by libpq if
33+
# identified by configure, and we optionally add pgsleep.o below.
34+
# We can't use Makefile variables here because the MSVC build system scrapes
35+
# OBJS from this file.
36+
# The last two lines come from backend/libpq and utils/mb.
4437
OBJS=fe-auth.o fe-connect.o fe-exec.o fe-misc.o fe-print.o fe-lobj.o\
4538
fe-protocol2.o fe-protocol3.o pqexpbuffer.o pqsignal.o fe-secure.o\
4639
libpq-events.o\
47-
$(addsuffix .o,$(PGPORT)$(BACKEND_LIBPQ)$(UTILS_MB))
40+
inet_net_ntop.o noblock.o pgstrcasecmp.o thread.o\
41+
$(filter crypt.o getaddrinfo.o inet_aton.o open.o snprintf.o strerror.o strlcpy.o win32error.o,$(LIBOBJS))\
42+
ip.o md5.o\
43+
encnames.o wchar.o
4844

4945
ifeq ($(PORTNAME), cygwin)
5046
overrideshlib = cyg$(NAME)$(DLSUFFIX)
5147
endif
5248

5349
ifeq ($(PORTNAME), win32)
54-
OBJS += win32.o libpqrc.o
50+
# pgsleep.o is from libpgport
51+
OBJS += pgsleep.o win32.o libpqrc.o
5552

5653
libpqrc.o: libpq.rc
5754
$(WINDRES) -i$< -o$@
@@ -86,15 +83,17 @@ backend_src = $(top_srcdir)/src/backend
8683
# We use several backend modules verbatim, but since we need to
8784
# compile with appropriate options to build a shared lib, we can't
8885
# necessarily use the same object files as the backend uses. Instead,
89-
# we symlink the source files in here and build our own object files.
86+
# symlink the source files in here and build our own object file.
87+
# For some libpgport modules, this only happens if configure decides
88+
# the module is needed (see filter hack in OBJS, above).
9089

91-
$(addsuffix .c,$(PGPORT)):% :$(top_srcdir)/src/port/%
90+
crypt.cgetaddrinfo.cinet_aton.cinet_net_ntop.cnoblock.copen.cpgsleep.cpgstrcasecmp.csnprintf.cstrerror.cstrlcpy.cthread.cwin32error.c:% :$(top_srcdir)/src/port/%
9291
rm -f$@&&$(LN_S)$<.
9392

94-
$(addsuffix .c,$(BACKEND_LIBPQ)):% :$(backend_src)/libpq/%
93+
ip.cmd5.c:% :$(backend_src)/libpq/%
9594
rm -f$@&&$(LN_S)$<.
9695

97-
$(addsuffix .c,$(UTILS_MB)):% :$(backend_src)/utils/mb/%
96+
encnames.cwchar.c:% :$(backend_src)/utils/mb/%
9897
rm -f$@&&$(LN_S)$<.
9998

10099

@@ -131,9 +130,16 @@ uninstall: uninstall-lib
131130
rm -f'$(DESTDIR)$(datadir)/pg_service.conf.sample'
132131

133132
cleandistclean: clean-lib
134-
rm -f$(OBJS)pg_config_paths.hpthread.h libpq.rc$(addsuffix .c,$(PGPORT)$(BACKEND_LIBPQ)$(UTILS_MB))
133+
rm -f$(OBJS) pthread.h libpq.rc
135134
# Might be left over from a Win32 client-only build
136135
rm -f pg_config_paths.h
136+
rm -f inet_net_ntop.c noblock.c pgstrcasecmp.c thread.c
137+
# optional libpgport files
138+
rm -f crypt.c getaddrinfo.c inet_aton.c open.c snprintf.c strerror.c strlcpy.c win32error.c
139+
# optional Win32
140+
rm -f pgsleep.c
141+
rm -f md5.c ip.c
142+
rm -f encnames.c wchar.c
137143

138144
maintainer-clean: distclean maintainer-clean-lib
139145
rm -f libpq-dist.rc

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp