From 0e04ee41d0648326a51e5733a9145f8a57c9eccf Mon Sep 17 00:00:00 2001 From: Peter Eisentraut <peter_e@gmx.net> Date: Tue, 26 Feb 2008 13:31:40 +0000 Subject: [PATCH] Create two separate libpq.rc's: One that is built at build time, and one that is shipped in the distribution, named libpq-dist.rc. This way the build system doesn't get upset when a distributed file is forcibly overwritten by during a normal build. --- src/interfaces/libpq/.cvsignore | 2 +- src/interfaces/libpq/Makefile | 22 +++++++++++++--------- src/interfaces/libpq/bcc32.mak | 4 ++-- src/interfaces/libpq/win32.mak | 4 ++-- 4 files changed, 18 insertions(+), 14 deletions(-) diff --git a/src/interfaces/libpq/.cvsignore b/src/interfaces/libpq/.cvsignore index aa2b04ec7e2..f5f9ac00889 100644 --- a/src/interfaces/libpq/.cvsignore +++ b/src/interfaces/libpq/.cvsignore @@ -1,4 +1,4 @@ libpqdll.def libpqddll.def blibpqdll.def -libpq.rc +libpq-dist.rc diff --git a/src/interfaces/libpq/Makefile b/src/interfaces/libpq/Makefile index c44c425e41c..49484b9e37d 100644 --- a/src/interfaces/libpq/Makefile +++ b/src/interfaces/libpq/Makefile @@ -5,7 +5,7 @@ # Portions Copyright (c) 1996-2008, PostgreSQL Global Development Group # Portions Copyright (c) 1994, Regents of the University of California # -# $PostgreSQL: pgsql/src/interfaces/libpq/Makefile,v 1.161 2008/02/26 06:41:24 petere Exp $ +# $PostgreSQL: pgsql/src/interfaces/libpq/Makefile,v 1.162 2008/02/26 13:31:40 petere Exp $ # #------------------------------------------------------------------------- @@ -44,7 +44,7 @@ ifeq ($(PORTNAME), win32) OBJS += win32.o pgsleep.o libpqrc.o libpqrc.o: libpq.rc - windres -i libpq.rc -o libpqrc.o + windres -i $< -o $@ ifeq ($(enable_thread_safety), yes) OBJS += pthread-win32.o @@ -66,7 +66,7 @@ endif SHLIB_EXPORTS = exports.txt -all: $(srcdir)/libpq.rc all-lib +all: $(srcdir)/libpq-dist.rc all-lib # Shared library stuff include $(top_srcdir)/src/Makefile.shlib @@ -90,11 +90,15 @@ encnames.c wchar.c : % : $(backend_src)/utils/mb/% rm -f $@ && $(LN_S) $< . -distprep: $(srcdir)/libpq.rc +distprep: $(srcdir)/libpq-dist.rc -# depend on Makefile.global to force rebuild on re-run of configure -$(srcdir)/libpq.rc: libpq.rc.in $(top_builddir)/src/Makefile.global - sed -e 's/\(VERSION.*\),0 *$$/\1,'`date '+%y%j' | sed 's/^0*//'`'/' < $< > $@ +libpq.rc $(srcdir)/libpq-dist.rc: libpq.rc.in + sed -e 's/\(VERSION.*\),0 *$$/\1,'`date '+%y%j' | sed 's/^0*//'`'/' $< >$@ + +# Depend on Makefile.global to force rebuild on re-run of configure. +# (But libpq-dist.rc is shipped in the distribution for shell-less +# installations and is only updated by distprep.) +libpq.rc: $(top_builddir)/src/Makefile.global fe-connect.o: fe-connect.c $(top_builddir)/src/port/pg_config_paths.h @@ -114,9 +118,9 @@ uninstall: uninstall-lib rm -f '$(DESTDIR)$(includedir)/libpq-fe.h' '$(DESTDIR)$(includedir_internal)/libpq-int.h' '$(DESTDIR)$(includedir_internal)/pqexpbuffer.h' '$(DESTDIR)$(datadir)/pg_service.conf.sample' clean distclean: clean-lib - rm -f $(OBJS) pg_config_paths.h crypt.c getaddrinfo.c inet_aton.c noblock.c open.c pgstrcasecmp.c snprintf.c strerror.c strlcpy.c thread.c md5.c ip.c encnames.c wchar.c win32error.c pgsleep.c pthread.h + rm -f $(OBJS) pg_config_paths.h crypt.c getaddrinfo.c inet_aton.c noblock.c open.c pgstrcasecmp.c snprintf.c strerror.c strlcpy.c thread.c md5.c ip.c encnames.c wchar.c win32error.c pgsleep.c pthread.h libpq.rc # Might be left over from a Win32 client-only build rm -f pg_config_paths.h maintainer-clean: distclean maintainer-clean-lib - rm -f $(srcdir)/libpq.rc + rm -f $(srcdir)/libpq-dist.rc diff --git a/src/interfaces/libpq/bcc32.mak b/src/interfaces/libpq/bcc32.mak index 067ce541015..3eaf0755c7a 100644 --- a/src/interfaces/libpq/bcc32.mak +++ b/src/interfaces/libpq/bcc32.mak @@ -170,8 +170,8 @@ LINK32_FLAGS = -Gn -L$(BCB)\lib;$(INTDIR); -x -Tpd -v << implib -w "$(OUTDIR)\blibpqdll.lib" blibpqdll.def $@ -"$(INTDIR)\libpq.res" : "$(INTDIR)" libpq.rc - $(RSC) $(RSC_PROJ) libpq.rc +"$(INTDIR)\libpq.res" : "$(INTDIR)" libpq-dist.rc + $(RSC) $(RSC_PROJ) libpq-dist.rc "$(OUTDIR)\blibpq.lib": $(LIB32_OBJS) $(LIB32) $@ @<< diff --git a/src/interfaces/libpq/win32.mak b/src/interfaces/libpq/win32.mak index 3dfbbbf203f..eb37c72c581 100644 --- a/src/interfaces/libpq/win32.mak +++ b/src/interfaces/libpq/win32.mak @@ -203,8 +203,8 @@ LINK32_OBJS= \ $(LIB32_FLAGS) $(DEF_FLAGS) $(LIB32_OBJS) << -"$(INTDIR)\libpq.res" : "$(INTDIR)" libpq.rc - $(RSC) $(RSC_PROJ) libpq.rc +"$(INTDIR)\libpq.res" : "$(INTDIR)" libpq-dist.rc + $(RSC) $(RSC_PROJ) libpq-dist.rc "$(OUTDIR)\$(OUTFILENAME).dll" : "$(OUTDIR)" "$(INTDIR)\libpq.res" -- GitLab