Add rules for building the correct exportted list file for Sun, AIX, and Linux.

Fix AIX so the Map files will override exporting all the symbols
This commit is contained in:
relyea%netscape.com 2001-01-06 02:00:55 +00:00
parent c3228676cf
commit c20c39e789
3 changed files with 16 additions and 3 deletions

View File

@ -37,8 +37,9 @@
include $(CORE_DEPTH)/coreconf/AIX.mk
OS_CFLAGS += -DAIX4_2
DSO_LDOPTS = -brtl -bM:SRE -bnoentry -bexpall
DSO_LDOPTS = -brtl -bM:SRE -bnoentry $(EXPORT_RULES)
MKSHLIB = $(LD) $(DSO_LDOPTS) -lsvld -L/usr/lpp/xlC/lib -lc -lm
OS_LIBS += -L/usr/lpp/xlC/lib -lc -lm
EXPORT_RULES = -bexpall

View File

@ -44,8 +44,9 @@ ifeq ($(USE_64), 1)
export OBJECT_MODE
endif
OS_CFLAGS += -DAIX4_3
DSO_LDOPTS = -brtl -bM:SRE -bnoentry -bexpall
DSO_LDOPTS = -brtl -bM:SRE -bnoentry $(EXPORT_RULES)
MKSHLIB = $(LD) $(DSO_LDOPTS) -lsvld -L/usr/lpp/xlC/lib -lc -lm
OS_LIBS += -L/usr/lpp/xlC/lib -lc -lm
EXPORT_RULES = -bexpall

View File

@ -321,7 +321,7 @@ ifdef SHARED_LIBRARY_LIBS
SUB_SHLOBJS = $(foreach dir,$(SHARED_LIBRARY_DIRS),$(addprefix $(dir)/,$(shell $(MAKE) -C $(dir) --no-print-directory get_objs)))
endif
$(SHARED_LIBRARY): $(OBJS)
$(SHARED_LIBRARY): $(OBJS) $(MAPFILE)
@$(MAKE_OBJDIR)
rm -f $@
ifeq ($(OS_ARCH)$(OS_RELEASE), AIX4.1)
@ -366,6 +366,17 @@ $(RES): $(RESNAME)
@echo $(RES) finished
endif
$(MAPFILE): $(LIBRARY_NAME).def
ifeq ($(OS_ARCH),SunOS)
grep -v 'UNIX_REMOVE' $(LIBRARY_NAME).def | sed -e 's,;+,,' | sed -e 's,;;,,' > $@
endif
ifeq ($(OS_ARCH),Linux)
grep -v 'UNIX_REMOVE' $(LIBRARY_NAME).def | sed -e 's,;+,,' > $@
endif
ifeq ($(OS_ARCH),AIX)
grep -v ';+' $(LIBRARY_NAME).def| sed -e 's,;,,g' > $@
endif
$(OBJDIR)/$(PROG_PREFIX)%$(PROG_SUFFIX): $(OBJDIR)/$(PROG_PREFIX)%$(OBJ_SUFFIX)
@$(MAKE_OBJDIR)
ifeq ($(OS_ARCH),WINNT)