From a0951eec081bc34a30d069910c0a2ceb6515042a Mon Sep 17 00:00:00 2001 From: Bruce Momjian Date: Thu, 9 Nov 2000 04:17:53 +0000 Subject: [PATCH] Please apply this patch to current, to fix a problem with runcheck, that installs into a different path than is configured. With this applied both postmaster and the shared libs are location independent for AIX 4.2 and up. Thanks Andreas --- doc/FAQ_AIX | 14 ++++++-------- src/Makefile.shlib | 6 +++--- src/makefiles/Makefile.aix | 14 +++++++++++--- 3 files changed, 20 insertions(+), 14 deletions(-) diff --git a/doc/FAQ_AIX b/doc/FAQ_AIX index e03ba1469d..8c4f45732d 100644 --- a/doc/FAQ_AIX +++ b/doc/FAQ_AIX @@ -1,13 +1,12 @@ -From: ZEUGSWETTER Andreas IZ5 -Mon Apr 17 14:01:23 EDT 2000 +From: Zeugswetter Andreas +Wed Nov 8 11:16:35 MEZ 2000 AIX 4.3.2 with native IBM compiler xlc 3.6.4 passes all regression tests. Other versions of OS and compiler should also work. If you don't have a powerpc there might be differences in the geometry regression test. -Use the following configure flags in addition to your own: -./configure --without-CXX -and if you have readline there: +Use the following configure flags in addition to your own +if you have readline or libz there: --with-includes=/usr/local/include --with-libraries=/usr/local/lib libpq++ does not work because xlC does not have the string and bool classes. @@ -16,6 +15,5 @@ compiling the few files, that fail, with g++ does work. Compiling PostgreSQL with gcc (2.95.2) on AIX does work if you use the configure option: --with-template=aix_gcc -With the current compiler flags the redefines of int8 - int64, that prior -versions had a problem with, are not a problem any more. - +There will probably be warnings about int8 - int64 redefines and 0.0/0.0 +devision warnings, which you can safely ignore. diff --git a/src/Makefile.shlib b/src/Makefile.shlib index e0412cb162..cb51484fae 100644 --- a/src/Makefile.shlib +++ b/src/Makefile.shlib @@ -6,7 +6,7 @@ # Copyright (c) 1998, Regents of the University of California # # IDENTIFICATION -# $Header: /cvsroot/pgsql/src/Makefile.shlib,v 1.33 2000/11/08 20:18:49 petere Exp $ +# $Header: /cvsroot/pgsql/src/Makefile.shlib,v 1.34 2000/11/09 04:17:53 momjian Exp $ # #------------------------------------------------------------------------- @@ -278,8 +278,8 @@ else # PORTNAME == aix # AIX case $(shlib): lib$(NAME).a - $(MKLDEXPORT) lib$(NAME).a $(libdir) > lib$(NAME)$(EXPSUFF) - $(LD) -H512 -bM:SRE -bI:$(top_builddir)/src/backend/$(POSTGRES_IMP) -bE:lib$(NAME)$(EXPSUFF) -o $@ $< $(LDFLAGS) $(SHLIB_LINK) + $(MKLDEXPORT) lib$(NAME).a > lib$(NAME)$(EXPSUFF) + $(CC) -Wl,-H512 -Wl,-bM:SRE -Wl,-bI:$(top_builddir)/src/backend/$(POSTGRES_IMP) -Wl,-bE:lib$(NAME)$(EXPSUFF) -o $@ $< $(LDFLAGS) $(SHLIB_LINK) endif # PORTNAME == aix diff --git a/src/makefiles/Makefile.aix b/src/makefiles/Makefile.aix index 80d949d2e6..d3ee2fab35 100644 --- a/src/makefiles/Makefile.aix +++ b/src/makefiles/Makefile.aix @@ -26,12 +26,20 @@ MKLDEXPORT=$(top_srcdir)/src/backend/port/aix/mkldexport.sh $(POSTGRES_IMP): @echo Making $@ +ifeq ($(host_os), aix3.2.5) $(MKLDEXPORT) postgres $(bindir) > $@ +else + ifeq ($(host_os), aix4.1) + $(MKLDEXPORT) postgres $(bindir) > $@ + else + $(MKLDEXPORT) postgres . > $@ + endif +endif $(CC) -Wl,-bE:$(top_builddir)/src/backend/$@ -o postgres $(OBJS) $(LDFLAGS) %$(EXPSUFF): %.o - $(MKLDEXPORT) $*.o `pwd` > $*$(EXPSUFF) + $(MKLDEXPORT) $*.o > $*$(EXPSUFF) %$(DLSUFFIX): %.o %$(EXPSUFF) - @echo Making shared library $@ from $*.o, $*$(EXPSUFF), and installed postgres.imp - $(CC) -Wl,-H512 -Wl,-bM:SRE -Wl,-bI:$(libdir)/$(POSTGRES_IMP) -Wl,-bE:$*$(EXPSUFF) -o $@ $*.o $(LDFLAGS) $(LDFLAGS_SL) -lc + @echo Making shared library $@ from $*.o, $*$(EXPSUFF) and postgres.imp + $(CC) -Wl,-H512 -Wl,-bM:SRE -Wl,-bI:$(top_builddir)/src/backend/$(POSTGRES_IMP) -Wl,-bE:$*$(EXPSUFF) -o $@ $*.o $(LDFLAGS) $(LDFLAGS_SL)