Michiel Ephraim wrote:
> On Tuesday 20 April 2004 00:32, Bruce Momjian wrote:
> > Michiel Ephraim wrote:
> > > dear hackers-win32 list,
> > >
> > > When building today's CVS version for win32, i found a few little things
> > > which stopped a clean "gmake && gmake install". Most of them are missing
> > > .exe extensions in the makefiles.
> > >
> > > A diff is attached to this mail. Changes to
> > > "src/makefiles/Makefile.win32" were only necessary for cross-compilation.
> > >
> > > My setup is
> > >   compiler: mingw32-gcc (GCC) 3.3.1 (mingw special 20030804-1)
> > >   host: FreeBSD euph4 5.2-RELEASE
> > >   configure options used: --host=mingw32 --prefix=/opt/postgres-mingw32
> > > --without-readline --without-zlib
> > >
> > > The gcc is setup as a cross-compiler for mingw32, and is simply installed
> > > from ports.
> >
> > Interesting.  I am confused why others didn't need these changes.  In
> > psql's Makefile I see:
> >
> >     psql: $(OBJS) $(libpq_builddir)/libpq.a
> >             $(CC) $(CFLAGS) $(OBJS) $(libpq) $(LDFLAGS) $(LIBS) -o $@
> >     ...
> >
> >     install: all installdirs
> >             $(INSTALL_PROGRAM) psql$(X) $(DESTDIR)$(bindir)/psql$(X)
> >
> > Why do other compilers output .exe from CC?  Is it because you are
> > cross-compiling?  Also, why did you need to change the #include in
> > snprintf?
> 
> Hi Bruce,
> 
> Thanks for the response.
> 
> Most likely you are right about the cross-compiling. In that case the compiler 
> doesn't add the .exe by itself. Actually in one case, there was already a 
> $(X) in the link line. So, I guess, it doesn't hurt.

Yes, I see that backend/Makefile already had the $(X) for link lines so
it seems it is necessary.  I applied the attached patch that adds $(X)
to the other links.

I don't think we have a lot of folks using a mingw compiler on Unix
systems, yet.  :-)

Thanks.


-- 
  Bruce Momjian                        |  http://candle.pha.pa.us
  [EMAIL PROTECTED]               |  (610) 359-1001
  +  If your life is a hard drive,     |  13 Roberts Road
  +  Christ can be your backup.        |  Newtown Square, Pennsylvania 19073
Index: src/bin/initdb/Makefile
===================================================================
RCS file: /cvsroot/pgsql-server/src/bin/initdb/Makefile,v
retrieving revision 1.35
diff -c -c -r1.35 Makefile
*** src/bin/initdb/Makefile     23 Dec 2003 21:56:20 -0000      1.35
--- src/bin/initdb/Makefile     26 Apr 2004 17:36:56 -0000
***************
*** 20,26 ****
  all: submake-libpq submake-libpgport initdb
  
  initdb: $(OBJS) $(libpq_builddir)/libpq.a
!       $(CC) $(CFLAGS) $(OBJS) $(libpq) $(LDFLAGS) $(LIBS) -o $@
  
  install: all installdirs
        $(INSTALL_PROGRAM) initdb$(X) $(DESTDIR)$(bindir)/initdb$(X)
--- 20,26 ----
  all: submake-libpq submake-libpgport initdb
  
  initdb: $(OBJS) $(libpq_builddir)/libpq.a
!       $(CC) $(CFLAGS) $(OBJS) $(libpq) $(LDFLAGS) $(LIBS) -o [EMAIL PROTECTED](X)
  
  install: all installdirs
        $(INSTALL_PROGRAM) initdb$(X) $(DESTDIR)$(bindir)/initdb$(X)
Index: src/bin/pg_controldata/Makefile
===================================================================
RCS file: /cvsroot/pgsql-server/src/bin/pg_controldata/Makefile,v
retrieving revision 1.5
diff -c -c -r1.5 Makefile
*** src/bin/pg_controldata/Makefile     10 Feb 2004 23:24:13 -0000      1.5
--- src/bin/pg_controldata/Makefile     26 Apr 2004 17:36:56 -0000
***************
*** 17,23 ****
  all: submake-libpgport pg_controldata
  
  pg_controldata: $(OBJS)
!       $(CC) $(CFLAGS) $^ $(LDFLAGS) $(LIBS) -o $@
  
  pg_crc.c: $(top_srcdir)/src/backend/utils/hash/pg_crc.c
        rm -f $@ && $(LN_S) $< .
--- 17,23 ----
  all: submake-libpgport pg_controldata
  
  pg_controldata: $(OBJS)
!       $(CC) $(CFLAGS) $^ $(LDFLAGS) $(LIBS) -o [EMAIL PROTECTED](X)
  
  pg_crc.c: $(top_srcdir)/src/backend/utils/hash/pg_crc.c
        rm -f $@ && $(LN_S) $< .
Index: src/bin/pg_dump/Makefile
===================================================================
RCS file: /cvsroot/pgsql-server/src/bin/pg_dump/Makefile,v
retrieving revision 1.44
diff -c -c -r1.44 Makefile
*** src/bin/pg_dump/Makefile    7 Feb 2004 07:20:12 -0000       1.44
--- src/bin/pg_dump/Makefile    26 Apr 2004 17:36:56 -0000
***************
*** 25,37 ****
  all: submake-libpq submake-libpgport submake-backend pg_dump pg_restore pg_dumpall
  
  pg_dump: pg_dump.o common.o pg_dump_sort.o $(OBJS) $(libpq_builddir)/libpq.a 
!       $(CC) $(CFLAGS) pg_dump.o common.o pg_dump_sort.o $(OBJS) $(EXTRA_OBJS) 
$(libpq) $(LDFLAGS) $(LIBS) -o $@
  
  pg_restore: pg_restore.o $(OBJS) $(libpq_builddir)/libpq.a
!       $(CC) $(CFLAGS) pg_restore.o $(OBJS) $(EXTRA_OBJS) $(libpq) $(LDFLAGS) $(LIBS) 
-o $@
  
  pg_dumpall: pg_dumpall.o dumputils.o $(libpq_builddir)/libpq.a
!       $(CC) $(CFLAGS) pg_dumpall.o dumputils.o $(EXTRA_OBJS) $(libpq) $(LDFLAGS) 
$(LIBS) -o $@
  
  .PHONY: submake-backend
  submake-backend:
--- 25,37 ----
  all: submake-libpq submake-libpgport submake-backend pg_dump pg_restore pg_dumpall
  
  pg_dump: pg_dump.o common.o pg_dump_sort.o $(OBJS) $(libpq_builddir)/libpq.a 
!       $(CC) $(CFLAGS) pg_dump.o common.o pg_dump_sort.o $(OBJS) $(EXTRA_OBJS) 
$(libpq) $(LDFLAGS) $(LIBS) -o [EMAIL PROTECTED](X)
  
  pg_restore: pg_restore.o $(OBJS) $(libpq_builddir)/libpq.a
!       $(CC) $(CFLAGS) pg_restore.o $(OBJS) $(EXTRA_OBJS) $(libpq) $(LDFLAGS) $(LIBS) 
-o [EMAIL PROTECTED](X)
  
  pg_dumpall: pg_dumpall.o dumputils.o $(libpq_builddir)/libpq.a
!       $(CC) $(CFLAGS) pg_dumpall.o dumputils.o $(EXTRA_OBJS) $(libpq) $(LDFLAGS) 
$(LIBS) -o [EMAIL PROTECTED](X)
  
  .PHONY: submake-backend
  submake-backend:
Index: src/bin/pg_resetxlog/Makefile
===================================================================
RCS file: /cvsroot/pgsql-server/src/bin/pg_resetxlog/Makefile,v
retrieving revision 1.6
diff -c -c -r1.6 Makefile
*** src/bin/pg_resetxlog/Makefile       5 Mar 2004 01:11:04 -0000       1.6
--- src/bin/pg_resetxlog/Makefile       26 Apr 2004 17:36:56 -0000
***************
*** 20,26 ****
  all: submake-libpgport pg_resetxlog
  
  pg_resetxlog: $(OBJS)
!       $(CC) $(CFLAGS) $^ $(LDFLAGS) $(LIBS) -o $@
  
  dirmod.c: % : $(top_srcdir)/src/port/%
        rm -f $@ && $(LN_S) $< .
--- 20,26 ----
  all: submake-libpgport pg_resetxlog
  
  pg_resetxlog: $(OBJS)
!       $(CC) $(CFLAGS) $^ $(LDFLAGS) $(LIBS) -o [EMAIL PROTECTED](X)
  
  dirmod.c: % : $(top_srcdir)/src/port/%
        rm -f $@ && $(LN_S) $< .
Index: src/bin/psql/Makefile
===================================================================
RCS file: /cvsroot/pgsql-server/src/bin/psql/Makefile,v
retrieving revision 1.42
diff -c -c -r1.42 Makefile
*** src/bin/psql/Makefile       22 Apr 2004 14:33:45 -0000      1.42
--- src/bin/psql/Makefile       26 Apr 2004 17:36:56 -0000
***************
*** 27,33 ****
  all: submake-libpq submake-libpgport psql
  
  psql: $(OBJS) $(libpq_builddir)/libpq.a
!       $(CC) $(CFLAGS) $(OBJS) $(libpq) $(LDFLAGS) $(LIBS) -o $@
  
  help.o: $(srcdir)/sql_help.h
  
--- 27,33 ----
  all: submake-libpq submake-libpgport psql
  
  psql: $(OBJS) $(libpq_builddir)/libpq.a
!       $(CC) $(CFLAGS) $(OBJS) $(libpq) $(LDFLAGS) $(LIBS) -o [EMAIL PROTECTED](X)
  
  help.o: $(srcdir)/sql_help.h
  
Index: src/bin/scripts/Makefile
===================================================================
RCS file: /cvsroot/pgsql-server/src/bin/scripts/Makefile,v
retrieving revision 1.25
diff -c -c -r1.25 Makefile
*** src/bin/scripts/Makefile    29 Nov 2003 19:52:07 -0000      1.25
--- src/bin/scripts/Makefile    26 Apr 2004 17:36:56 -0000
***************
*** 20,26 ****
  all: submake-libpq submake-backend $(PROGRAMS)
  
  %: %.o
!       $(CC) $(CFLAGS) $^ $(libpq) $(LDFLAGS) $(LIBS) -o $@
  
  createdb: createdb.o common.o dumputils.o 
$(top_builddir)/src/backend/parser/keywords.o
  createlang: createlang.o common.o print.o mbprint.o
--- 20,26 ----
  all: submake-libpq submake-backend $(PROGRAMS)
  
  %: %.o
!       $(CC) $(CFLAGS) $^ $(libpq) $(LDFLAGS) $(LIBS) -o [EMAIL PROTECTED](X)
  
  createdb: createdb.o common.o dumputils.o 
$(top_builddir)/src/backend/parser/keywords.o
  createlang: createlang.o common.o print.o mbprint.o
Index: src/interfaces/ecpg/preproc/Makefile
===================================================================
RCS file: /cvsroot/pgsql-server/src/interfaces/ecpg/preproc/Makefile,v
retrieving revision 1.101
diff -c -c -r1.101 Makefile
*** src/interfaces/ecpg/preproc/Makefile        25 Apr 2004 20:57:32 -0000      1.101
--- src/interfaces/ecpg/preproc/Makefile        26 Apr 2004 17:36:57 -0000
***************
*** 26,32 ****
  all: submake-libpgport ecpg
  
  ecpg: $(OBJS)
!       $(CC) $(CFLAGS) $(LDFLAGS) $^ $(LIBS) $(PTHREAD_LIBS) -o $@
  
  # pgc is compiled as part of preproc
  preproc.o: $(srcdir)/pgc.c
--- 26,32 ----
  all: submake-libpgport ecpg
  
  ecpg: $(OBJS)
!       $(CC) $(CFLAGS) $(LDFLAGS) $^ $(LIBS) $(PTHREAD_LIBS) -o [EMAIL PROTECTED](X)
  
  # pgc is compiled as part of preproc
  preproc.o: $(srcdir)/pgc.c
---------------------------(end of broadcast)---------------------------
TIP 6: Have you searched our list archives?

               http://archives.postgresql.org

Reply via email to