summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorrelyea%netscape.com <devnull@localhost>2001-01-06 02:00:55 +0000
committerrelyea%netscape.com <devnull@localhost>2001-01-06 02:00:55 +0000
commit9daf5388f5cf14a7076d3506e821785248e80b55 (patch)
treec18ae70fa6cd53eaab129af8acf00d62c0c4792f
parent09344e89412bcdb87c132a3edc42bdc8fec3de23 (diff)
downloadnss-hg-9daf5388f5cf14a7076d3506e821785248e80b55.tar.gz
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
-rw-r--r--security/coreconf/AIX4.2.mk3
-rw-r--r--security/coreconf/AIX4.3.mk3
-rw-r--r--security/coreconf/rules.mk13
3 files changed, 16 insertions, 3 deletions
diff --git a/security/coreconf/AIX4.2.mk b/security/coreconf/AIX4.2.mk
index 8be6ee6ce..e68846ff4 100644
--- a/security/coreconf/AIX4.2.mk
+++ b/security/coreconf/AIX4.2.mk
@@ -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
diff --git a/security/coreconf/AIX4.3.mk b/security/coreconf/AIX4.3.mk
index 3df6719df..1446ccc9c 100644
--- a/security/coreconf/AIX4.3.mk
+++ b/security/coreconf/AIX4.3.mk
@@ -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
diff --git a/security/coreconf/rules.mk b/security/coreconf/rules.mk
index d1bd651b3..4e091ed23 100644
--- a/security/coreconf/rules.mk
+++ b/security/coreconf/rules.mk
@@ -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)