postgresql/src/makefiles/Makefile.aix
Bruce Momjian 33a6b67b51 > > > > and mb conversions (pg_ascii2mic and pg_mic2ascii not
> > > > found in the postmaster and not included from elsewhere)
> >
> > shared libs on AIX need to be able to resolve all symbols at linkage time.
> > Those two symbols are in backend/utils/SUBSYS.o but not in the postgres
> > executable.
>
> They are defined in backend/utils/mb/conv.c and declared in
> include/mb/pg_wchar.h.  They're also linked into the
> postmaster.  I don't see anything unusual.

Attached is a patch to fix the mb linking problems on AIX. As a nice side effect

it reduces the duplicate symbol warnings to linking libpq.so and libecpg.so
(all shlibs that are not postmaster loadable modules).

Please apply to current (only affects AIX).

The _LARGE_FILES problem is unfortunately still open, unless Peter
has fixed it per his recent idea.

Zeugswetter Andreas SB SD
2002-10-09 16:21:54 +00:00

34 lines
773 B
Makefile

# MAKE_EXPORTS is required for svr4 loaders that want a file of
# symbol names to tell them what to export/import.
MAKE_EXPORTS= true
RANLIB= touch
MK_NO_LORDER= true
AROPT = crs
DLSUFFIX = .so
ifeq ($(host_os), aix3.2.5)
ifneq ($(GCC), yes)
LDFLAGS_SL = -e _nostart -H512 -bM:SRE
endif
else
LDFLAGS_SL = -Wl,-bnoentry -Wl,-H512 -Wl,-bM:SRE
endif
EXPSUFF= .exp
IMPSUFF= .imp
POSTGRES_IMP= postgres$(IMPSUFF)
MKLDEXPORT=$(top_srcdir)/src/backend/port/aix/mkldexport.sh
%$(EXPSUFF): %.o
$(MKLDEXPORT) $*.o > $*$(EXPSUFF)
%$(DLSUFFIX): %.o %$(EXPSUFF)
@echo Making shared library $@ from $*.o, $*$(EXPSUFF) and postgres.imp
$(CC) $(LDFLAGS) $(LDFLAGS_SL) -o $@ $*.o -Wl,-bI:$(top_builddir)/src/backend/$(POSTGRES_IMP) -Wl,-bE:$*$(EXPSUFF) $(LIBS)
sqlmansect = 7