Define the NSS version macros and add NSS_VersionCheck in nss.h.
Add linker option to record internal name of shared libraries.
Add Windows resource files. Add rcs and sccs id strings that can be
retrieved with 'ident' and 'what'.
Modified Files:
coreconf/HP-UX.mk coreconf/OSF1.mk coreconf/SunOS5.mk
coreconf/WIN954.0.mk coreconf/WINNT4.0.mk coreconf/WINNT5.0.mk
coreconf/rules.mk nss/lib/nss/config.mk
nss/lib/nss/manifest.mn nss/lib/nss/nss.h
nss/lib/nss/nssinit.c nss/lib/smime/config.mk
nss/lib/smime/manifest.mn nss/lib/ssl/config.mk
nss/lib/ssl/manifest.mn
Added Files:
nss/lib/nss/nss.rc nss/lib/nss/nssver.c nss/lib/smime/smime.rc
nss/lib/smime/smimever.c nss/lib/ssl/ssl.rc
nss/lib/ssl/sslver.c
1. Implemented a way to link all the objects in archive libraries into
a shared library. I query each subdirectory for the list of objects
comprising an archive library (the get_objs makefile target) and link
these objects as opposed to the archive libraries. Not all linkers
support the --whole-archive, -all, or -z allextract options. The
*sym.c solution cannot fully control what objects in the archive
libraries are pulled and what symbols are exported.
2. Moved pkcs7 from libsmime3.so to libnss3.so because certread.c in
libcerthi.a (part of libnss3.so) depends on some PKCS7 functions,
which creates a circular dependency between libsmime3.so and libnss3.so.
This should work on all Unix platforms.
Three directories pull the NSS libraries together into a three shared libaries:
nss, ssl, and smime. Symbols need to be exported by the DLL from the imported
libraries are defined in XXX/XXXsym.c Library linkage is controlled by
XXX/config.mk