diff --git a/security/coreconf/rules.mk b/security/coreconf/rules.mk index c710bc28dbbc..316bc827ed2c 100644 --- a/security/coreconf/rules.mk +++ b/security/coreconf/rules.mk @@ -303,6 +303,9 @@ ifneq ($(POLICY),) -$(PLCYPATCH) $(PLCYPATCH_ARGS) $@ endif +get_objs: + @echo $(OBJS) + $(LIBRARY): $(OBJS) @$(MAKE_OBJDIR) rm -f $@ @@ -314,6 +317,10 @@ $(IMPORT_LIBRARY): $(SHARED_LIBRARY) wlib +$(SHARED_LIBRARY) endif +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) @$(MAKE_OBJDIR) rm -f $@ @@ -344,7 +351,7 @@ else $(LINK_DLL) -MAP $(DLLBASE) $(OBJS) $(EXTRA_LIBS) $(EXTRA_SHARED_LIBS) $(OS_LIBS) $(LD_LIBS) endif else - $(MKSHLIB) -o $@ $(OBJS) $(LD_LIBS) $(EXTRA_LIBS) $(EXTRA_SHARED_LIBS) + $(MKSHLIB) -o $@ $(OBJS) $(SUB_SHLOBJS) $(LD_LIBS) $(EXTRA_LIBS) $(EXTRA_SHARED_LIBS) chmod +x $@ endif endif diff --git a/security/nss/lib/manifest.mn b/security/nss/lib/manifest.mn index cc8dfc1d07ec..b1a98437c0e2 100644 --- a/security/nss/lib/manifest.mn +++ b/security/nss/lib/manifest.mn @@ -33,11 +33,11 @@ CORE_DEPTH = ../.. DEPTH = ../.. -DIRS = crmf jar \ +DIRS = crmf jar pkcs7 \ certhigh pk11wrap cryptohi \ softoken certdb crypto \ util freebl nss pkcs12 fortcrypt \ - base ckfw pkcs7 smime ssl + base ckfw smime ssl # # these dirs are not built at the moment # diff --git a/security/nss/lib/nss/config.mk b/security/nss/lib/nss/config.mk index 97ba6ba3fa4f..1e3d5f538a15 100644 --- a/security/nss/lib/nss/config.mk +++ b/security/nss/lib/nss/config.mk @@ -78,25 +78,37 @@ else # $(PROGRAM) has explicit dependencies on $(EXTRA_LIBS) CRYPTOLIB=$(DIST)/lib/libfreebl.$(LIB_SUFFIX) +CRYPTODIR=../freebl ifdef MOZILLA_SECURITY_BUILD CRYPTOLIB=$(DIST)/lib/libcrypto.$(LIB_SUFFIX) + CRYPTODIR=../crypto endif -ifdef MOZILLA_BSAFE_BUILD - CRYPTOLIB+=$(DIST)/lib/libbsafe.$(LIB_SUFFIX) - CRYPTOLIB+=$(DIST)/lib/libfreebl.$(LIB_SUFFIX) -endif -EXTRA_LIBS += \ +SHARED_LIBRARY_LIBS = \ + $(DIST)/lib/libpkcs7.$(LIB_SUFFIX) \ $(DIST)/lib/libcerthi.$(LIB_SUFFIX) \ $(DIST)/lib/libpk11wrap.$(LIB_SUFFIX) \ $(DIST)/lib/libcryptohi.$(LIB_SUFFIX) \ - $(DIST)/lib/libcerthi.$(LIB_SUFFIX) \ - $(DIST)/lib/libpk11wrap.$(LIB_SUFFIX) \ $(DIST)/lib/libsoftoken.$(LIB_SUFFIX) \ $(DIST)/lib/libcertdb.$(LIB_SUFFIX) \ $(CRYPTOLIB) \ $(DIST)/lib/libsecutil.$(LIB_SUFFIX) \ + $(NULL) +EXTRA_LIBS += \ $(DIST)/lib/libdbm.$(LIB_SUFFIX) \ $(NULL) +ifdef MOZILLA_BSAFE_BUILD + EXTRA_LIBS+=$(DIST)/lib/libbsafe.$(LIB_SUFFIX) +endif +SHARED_LIBRARY_DIRS = \ + ../pkcs7 \ + ../certhigh \ + ../pk11wrap \ + ../cryptohi \ + ../softoken \ + ../certdb \ + $(CRYPTODIR) \ + ../util \ + $(NULL) # $(PROGRAM) has NO explicit dependencies on $(EXTRA_SHARED_LIBS) # $(EXTRA_SHARED_LIBS) come before $(OS_LIBS), except on AIX. @@ -108,3 +120,10 @@ EXTRA_SHARED_LIBS += \ $(NULL) endif +#ifeq ($(OS_ARCH),SunOS) +#MKSHLIB += -z text -M mapfile +#endif + +#ifeq ($(OS_ARCH),Linux) +#MKSHLIB += -Wl,--version-script,mapfile +#endif diff --git a/security/nss/lib/nss/manifest.mn b/security/nss/lib/nss/manifest.mn index 15b630024df6..18dfa49cddde 100644 --- a/security/nss/lib/nss/manifest.mn +++ b/security/nss/lib/nss/manifest.mn @@ -40,7 +40,6 @@ MODULE = security CSRCS = \ nssinit.c \ - nsssym.c\ $(NULL) REQUIRES = security dbm diff --git a/security/nss/lib/smime/config.mk b/security/nss/lib/smime/config.mk index 96e8ad386b58..7fb542045857 100644 --- a/security/nss/lib/smime/config.mk +++ b/security/nss/lib/smime/config.mk @@ -48,7 +48,6 @@ ifeq ($(OS_ARCH), WINNT) EXTRA_LIBS += \ $(DIST)/lib/pkcs12.lib \ - $(DIST)/lib/pkcs7.lib \ $(DIST)/lib/nss3.lib \ $(DIST)/lib/$(NSPR31_LIB_PREFIX)plc4.lib \ $(DIST)/lib/$(NSPR31_LIB_PREFIX)plds4.lib \ @@ -59,9 +58,12 @@ else # $(PROGRAM) has NO explicit dependencies on $(EXTRA_SHARED_LIBS) # $(EXTRA_SHARED_LIBS) come before $(OS_LIBS), except on AIX. -EXTRA_LIBS += \ +SHARED_LIBRARY_LIBS = \ $(DIST)/lib/libpkcs12.${LIB_SUFFIX} \ - $(DIST)/lib/libpkcs7.${LIB_SUFFIX} \ + $(NULL) + +SHARED_LIBRARY_DIRS = \ + ../pkcs12 \ $(NULL) EXTRA_SHARED_LIBS += \ diff --git a/security/nss/lib/smime/manifest.mn b/security/nss/lib/smime/manifest.mn index 3cf887ddf726..d8924158178e 100644 --- a/security/nss/lib/smime/manifest.mn +++ b/security/nss/lib/smime/manifest.mn @@ -67,7 +67,6 @@ CSRCS = \ cmsutil.c \ smimemessage.c \ smimeutil.c \ - smimesym.c \ $(NULL) REQUIRES = security dbm