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
Родитель c3228676cf
Коммит c20c39e789
3 изменённых файлов: 16 добавлений и 3 удалений

Просмотреть файл

@ -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

Просмотреть файл

@ -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

Просмотреть файл

@ -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)