Skip site navigation (1) Skip section navigation (2)

Peripheral Links

Header And Logo

PostgreSQL
| The world's most advanced open source database.

Site Navigation

Search for
  Advanced Search

Re: [PATCHES] Patch to add version numbers to


  • From: Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us>
  • To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
  • Cc: Magnus Hagander <mha(at)sollentuna(dot)net>, PostgreSQL Win32 port list <pgsql-hackers-win32(at)postgresql(dot)org>, Dave Page <dpage(at)vale-housing(dot)co(dot)uk>, PostgreSQL-patches <pgsql-patches(at)postgresql(dot)org>
  • Subject: Re: [PATCHES] Patch to add version numbers to
  • Date: Thu, 16 Dec 2004 20:14:42 -0500 (EST)
  • Message-id: <200412170114(dot)iBH1Egt20270(at)candle(dot)pha(dot)pa(dot)us>

Tom Lane wrote:
> Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us> writes:
> > Tom Lane wrote:
> >> Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us> writes:
> >>> One difficulty was generating a new version of libpq.rc at the proper
> >>> time.  I added a prepdist rule just like *.def.  I also added code so
> >>> every time you do a 'make clean' or distclean it does a 'touch' on
> >>> libpq.rc.in so libpq.rc is rebuilt on the next compile.  That seemed
> >>> like the cleanest solution.
> >> 
> >> ... except CVS will not like it at all.  Why don't you just remove the
> >> libpq.rc file instead?
> 
> > I am going to remove libpq.rc from CVS because it is now a derived file
> > from libpq.rc.in.  I don't remove via 'clean' because if someone wants
> > to build VC or BCC and Win32 with the same tarball then once they do a
> > 'clean' they can't do a VC or BCC compile anymore.
> 
> > Does that answer your question?
> 
> Not in the least.
> 
> What I'm complaining about is that you can't simply "touch" a file that
> is under CVS control; CVS will think it's been modified.

Really?  If I touch a file and do a commit I don't see anything happen. 
There might be a problem that cvs is going to check that file over and
over again when it doesn't need to and I certainly don't like the touch
solution.

> Perhaps it would work to make libpq.rc depend on both libpq.rc.in and
> src/Makefile.global; then any re-configure would force it to be rebuilt.

Oh, so make it dependent on a file derived from a configure run.  New
patch attached.

-- 
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman(at)candle(dot)pha(dot)pa(dot)us               |  (610) 359-1001
  +  If your life is a hard drive,     |  13 Roberts Road
  +  Christ can be your backup.        |  Newtown Square, Pennsylvania 19073
Index: src/Makefile.global.in
===================================================================
RCS file: /cvsroot/pgsql/src/Makefile.global.in,v
retrieving revision 1.207
diff -c -c -r1.207 Makefile.global.in
*** src/Makefile.global.in	16 Dec 2004 18:13:07 -0000	1.207
--- src/Makefile.global.in	17 Dec 2004 01:13:38 -0000
***************
*** 415,423 ****
  PGICOSTR=$(subst /,\/,IDI_ICON ICON \"$(top_builddir)/src/port/$(PGAPPICON).ico\")
  endif
  win32ver.rc: $(top_builddir)/src/port/win32ver.rc
! 	sed -e 's;FILEDESC;$(PGFILEDESC);' -e 's;VFT_APP;$(PGFTYPE);' -e 's;_ICO_;$(PGICOSTR);' $(top_builddir)/src/port/win32ver.rc > win32ver.rc
  win32ver.o: $(top_builddir)/src/port/win32ver.rc
! 	sed -e 's;FILEDESC;$(PGFILEDESC);' -e 's;VFT_APP;$(PGFTYPE);' -e 's;_ICO_;$(PGICOSTR);' $(top_builddir)/src/port/win32ver.rc > win32ver.rc
  	windres -i win32ver.rc -o win32ver.o --include-dir=$(top_builddir)/src/include
  	rm -f win32ver.rc
  endif
--- 415,423 ----
  PGICOSTR=$(subst /,\/,IDI_ICON ICON \"$(top_builddir)/src/port/$(PGAPPICON).ico\")
  endif
  win32ver.rc: $(top_builddir)/src/port/win32ver.rc
! 	sed -e 's;FILEDESC;$(PGFILEDESC);' -e 's;VFT_APP;$(PGFTYPE);' -e 's;_ICO_;$(PGICOSTR);' -e 's;\(VERSION.*\),0 *$$;\1,'`date '+%y%j'`';' $(top_builddir)/src/port/win32ver.rc > win32ver.rc
  win32ver.o: $(top_builddir)/src/port/win32ver.rc
! 	sed -e 's;FILEDESC;$(PGFILEDESC);' -e 's;VFT_APP;$(PGFTYPE);' -e 's;_ICO_;$(PGICOSTR);' -e 's;\(VERSION.*\),0 *$$;\1,'`date '+%y%j'`';' $(top_builddir)/src/port/win32ver.rc > win32ver.rc
  	windres -i win32ver.rc -o win32ver.o --include-dir=$(top_builddir)/src/include
  	rm -f win32ver.rc
  endif
Index: src/interfaces/libpq/Makefile
===================================================================
RCS file: /cvsroot/pgsql/src/interfaces/libpq/Makefile,v
retrieving revision 1.122
diff -c -c -r1.122 Makefile
*** src/interfaces/libpq/Makefile	20 Nov 2004 21:13:06 -0000	1.122
--- src/interfaces/libpq/Makefile	17 Dec 2004 01:13:46 -0000
***************
*** 59,65 ****
  endif
  
  
! all: $(PTHREAD_H_WIN32) def-files all-lib
  
  # Shared library stuff
  include $(top_srcdir)/src/Makefile.shlib
--- 59,65 ----
  endif
  
  
! all: $(PTHREAD_H_WIN32) def-files $(srcdir)/libpq.rc all-lib
  
  # Shared library stuff
  include $(top_srcdir)/src/Makefile.shlib
***************
*** 118,123 ****
--- 118,126 ----
  	echo '; Aliases for MS compatible names' >> $@
  	sed -e '/^#/d' -e 's/^\(.* \)\([0-9][0-9]*\)/    \1= _\1/' < $< | sed 's/ *$$//' >> $@
  
+ # Force rebuild on re-run of configure
+ $(srcdir)/libpq.rc: $(top_srcdir)/src/Makefile.global libpq.rc.in
+ 	sed -e 's/\(VERSION.*\),0 *$$/\1,'`date '+%y%j'`'/' < $< > $@
  
  ifneq ($(PTHREAD_H_WIN32), "")
  pthread.h: $(top_srcdir)/src/interfaces/libpq/pthread.h.win
Index: src/port/win32ver.rc
===================================================================
RCS file: /cvsroot/pgsql/src/port/win32ver.rc,v
retrieving revision 1.2
diff -c -c -r1.2 win32ver.rc
*** src/port/win32ver.rc	6 Oct 2004 15:23:27 -0000	1.2
--- src/port/win32ver.rc	17 Dec 2004 01:13:47 -0000
***************
*** 2,9 ****
  #include "pg_config.h"
  
  VS_VERSION_INFO VERSIONINFO
!  FILEVERSION    8,0,000,000
!  PRODUCTVERSION 8,0,000,000
   FILEFLAGSMASK  0x17L
   FILEFLAGS      0x0L
   FILEOS         VOS_NT_WINDOWS32
--- 2,9 ----
  #include "pg_config.h"
  
  VS_VERSION_INFO VERSIONINFO
!  FILEVERSION    8,0,0,0
!  PRODUCTVERSION 8,0,0,0
   FILEFLAGSMASK  0x17L
   FILEFLAGS      0x0L
   FILEOS         VOS_NT_WINDOWS32


Home | Main Index | Thread Index

Privacy Policy | PostgreSQL Archives hosted by Command Prompt, Inc. | Designed by tinysofa
Copyright © 1996 – 2008 PostgreSQL Global Development Group