Re: [pgsql-hackers-win32] build annoyences - Mailing list pgsql-patches
From | Bruce Momjian |
---|---|
Subject | Re: [pgsql-hackers-win32] build annoyences |
Date | |
Msg-id | 200404261742.i3QHgOe15855@candle.pha.pa.us Whole thread Raw |
List | pgsql-patches |
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 pgman@candle.pha.pa.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/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 $@$(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 $@$(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 $@$(X) pg_restore: pg_restore.o $(OBJS) $(libpq_builddir)/libpq.a ! $(CC) $(CFLAGS) pg_restore.o $(OBJS) $(EXTRA_OBJS) $(libpq) $(LDFLAGS) $(LIBS) -o $@$(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 $@$(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 $@$(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 $@$(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 $@$(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 $@$(X) # pgc is compiled as part of preproc preproc.o: $(srcdir)/pgc.c
pgsql-patches by date: