this regression was committed with patch for bug 301213.
Created attachment 280560 [details] [diff] [review]
Alexei, write a description of the problem, and what your patch changes to
fix the problem. I'll review the patch when that description exists.
Currently for each directory, except pkixutil, we build .a library and copy it into a build directory in nss/cmd/libpkix for late use in pkixutil linking. Now since symbols SHARED_LIBRARY, IMPORT_LIBRARY, PROGRAM were not set (SHARED_LIBRARY is the most important one), make also copies unexisting .so file into the same directory.
It was not cached before, because on unix we use sym links(ln does not complain when making a link to an unexisting file). But we copy files on Windows.
We should not be copying or symlinking .a's.
We can link with the .a files where they were built.
See how we build libNSS3.so. We don't copy or symlink the .a files from
which it is built. We link the .so from those .a files right where they
are built. The same think should be done for linking the libPKIX tests.
Actually, all .a libraries get copied into mozilla/dist/TargetOS/lib directory. But for libnss3.so linking, from what I see in rules.mk, we use a list of object files that is created by traversing search for object files in a set of directories specified in SHARED_LIBRARY_DIRS variable.
Also, our rules are defined in the way that if a library is build, it will get installed.
IMO, the process we use now is similar to how lib nss is built.
Your analysis in comment 3 suggests that we cannot build NSS with libPKIX
now on Windows. The bug summary says that Windows builds are broken.
But we can and do build NSS with libPKIX on Windows.
So, I still don't understand what this bug wants to fix.
If these non-existant files are a problem, why do the builds succeed?
Comment on attachment 280560 [details] [diff] [review]
This patch seems like goodness, so I'm giving it r+, even though I personally have not experienced the problem that it purports to fix in Windows' builds.
I still want that explanation.
> I personally
> have not experienced the problem that it purports to fix in Windows' builds.
> I still want that explanation.
Did you set BUILD_LIBPKIX_TESTS in your env?
Patch is integrated into the trunk.
> Did you set BUILD_LIBPKIX_TESTS in your env?