Can anyone please tell me where I can get hold of the Mozilla custom C runtime 
please?

Sam.

-----Original Message-----
From: dev-tech-crypto-bounces+sam.laidler=the-logic-group....@lists.mozilla.org 
[mailto:dev-tech-crypto-bounces+sam.laidler=the-logic-group....@lists.mozilla.org]
 On Behalf Of Robert Relyea
Sent: 12 July 2012 19:07
To: dev-tech-crypto@lists.mozilla.org
Subject: Re: Building NSS with VS2008, Statically Linking the CRT

On 07/12/2012 03:20 AM, Sam Laidler wrote:
> Hello, hope all is well.
>
>
>
> I want to distribute NSS without the MS redistribution package. When I read 
> the following, I got the impression that it should be theoretically possible:
>
>
>
> https://developer.mozilla.org/en/USE_STATIC_LIBS
>

USE_STATIC_LIBS don't affect how the nss shared libraries are build, only how 
the commands and tools are built. It statically links commands with libnss.a 
rather than libnss3.so (well, sort of, it's really a series of static 
libraries).

Even in this case, system shared libraries, and even some NSS shared libraries 
(like libfreebl) are still external dependencies.

>
> In both cases I got NSS to build but I found that nss3.dll had a dependency 
> on msvcr90.dll.
>
>
>
> I did some Googling and found:
>
>
>
> http://old.nabble.com/How-to-build-nspr%2Bnss-on-Windows-with-VS-2008-
> %28VC%2B%2B-9.0%29-td26081750.html
>
>
>
> Here, Wan-Teh seemed to suggest that using the redistribution package was 
> unavoidable, whereas Nelson said you can use mozcrt19.dll instead.

Actually both Nelson and WTC are in agreement. If you look at the bug Nelson 
points to, you will see that the default NSS does not have a way of avoiding 
redistribution of the given package, however that bug contains a patch Nelson 
uses to build NSS using mozcrt19.dll rather than msvcr90.dll. If you apply 
Nelson's (3 year old patch), you may have success in changing the dependency to 
the mozilla runtine.
>
>
>
> I'm sorry, guys, but I'm a bit confused here.
>
>
>
> *         Am I doing something wrong when building NSS?
>
> *         I thought static linking relieved the obligation to distribute a 
> separate DLL. Or is it loaded at runtime into some kind of address space 
> instead?
It only removes the dependencies on most of the standard nss libraries 
themselves. I believe you still need to dynamically link nspr, freebl and the 
system libraries.
>
> *         If so, does that mean I should be able to simply drop the 
> msvcr90.dll into the working directory that contains a static build without 
> worrying too much about the side-by-side/manifest file stuff?
msvcr90.dll just needs to be in your path. If it's in the same directory as 
nss3.dll, that should be sufficient.
>
> *         I also thought of trying to build NSPR/NSS with mozcrt19, but 
> struggled to find out how to do it. Would it help me to achieve what I want?
>
I believe if you just apply the patch Nelson has in the bug, it should work. 
You'll need to get a mozcrt19.a from somewhere as well.

bob

-- 
dev-tech-crypto mailing list
dev-tech-crypto@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-tech-crypto

Reply via email to