| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
Differential Revision: https://phabricator.services.mozilla.com/D70988
|
|
|
|
| |
Differential Revision: https://phabricator.services.mozilla.com/D70987
|
|
|
|
|
|
|
|
|
| |
There aren't an Java sources in NSS, so just drop all the stuff
referencing java, jars, jni, etc.
I didn't try to remove it from tests.
Differential Revision: https://phabricator.services.mozilla.com/D70986
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Drop the WIN% "32" default DLL suffix
* Add default resource file handling => drop default RES
* Generate IMPORT_LIBRARY based on IMPORT_LIB_SUFFIX and
SHARED_LIBRARY, so we can drop all the explicit empty
IMPORT_LIBRARY lines
Originally this patch also tried to add a default MAPFILE rule,
but this fails, because the ARCH makefiles set linker flags
based on an existing MAPFILE variable.
Differential Revision: https://phabricator.services.mozilla.com/D70369
|
|
|
|
|
|
|
| |
These pattern rules already had a comment to keep both in sync, so
just use an eval template to enforce this.
Differential Revision: https://phabricator.services.mozilla.com/D70985
|
|
|
|
| |
Differential Revision: https://phabricator.services.mozilla.com/D70984
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Double-colon rule behaviour isn't really compatible with parallel
build. This gets rid of all of them, so we can codify the
directory dependencies.
This leaves just three problems, which aren't really fixable with
the current build system without completely replacing it:
* everything depends on nsinstall
* everything depends on installed headers
* ckfw child directories depend on the build parent libs
This is handled by the prepare_build target.
Overall this allows most if the build to run in parallel.
P.S. the release_md:: has to stay :-(
P.P.S. no clue, why freebl must use libs: instead of using the
TARGETS and .PHONY variables
Differential Revision: https://phabricator.services.mozilla.com/D69023
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The google_test gtest build doesn't provide any exports for the
shared library on Windows and the gyp build also builds just a
static library. So build gtest and gtestutil libraries as static.
For whatever reason, the Windows linker doesn't find the main
function inside the gtestutil library, if we don't tell it to
build a console executable. But linking works fine, if the object
file is used directly. But since we can have different main()
objects based on build flags, we enforce building console
applications binaries.
Differential Revision: https://phabricator.services.mozilla.com/D70665
|
|
|
|
|
|
|
| |
Copying private headers is now simply included in the exports
target, as these headers use an extra directory anyway.
Differential Revision: https://phabricator.services.mozilla.com/D69021
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This still serializes many targets, but at least these targets
themself run their build in parallel. The main serialization
happens in nss/Makefile and nss/coreconf/rules.mk's all target.
We can't add these as real dependencies, as all Makefile snippets
use the same variable names. I tried to always run sub-makes to
hack in the depndencies, but these don't know of each other, so
targets very often run twice, and this breaks the build.
Having a tests:: target and a tests directory leads to misery (and
doesn't work), so it's renamed to check.
This just works with NSS_DISABLE_GTESTS=1 specified and is fixed
by a follow up patch, which removes the double-colon usage and
adds the directory dependencies!
Differential Revision: https://phabricator.services.mozilla.com/D69019
|
|
|
|
|
|
|
| |
If these files exist and aren't directories, there might be other
problems. Trying to "fix" them by removing will break the build.
Differential Revision: https://phabricator.services.mozilla.com/D69018
|
|
|
|
|
|
|
|
|
|
| |
Originally I added the install commands to the individual build
targets. But this breaks the incremental build, because there is
actually no dependency for the install. But it turns out, that
in the end it's enough to ignore empty defined variables, so just
do this.
Differential Revision: https://phabricator.services.mozilla.com/D69017
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
I have no real clue, why PROGRAMS is actually working in the
sequence build. There is no special make code really handling it,
except for the install target.
This patches code is inspired by the $(eval ...) example in the
GNU make documentation. It generates a program specific make
target and maps the programs objects based on the defined
variables.
Differential Revision: https://phabricator.services.mozilla.com/D69016
|
|
|
|
| |
Differential Revision: https://phabricator.services.mozilla.com/D70672
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
As implemented, when sdb_measureAccess() runs it creates up to 10,000 negative
dcache entries (cached nonexistent filenames).
There is no advantage to leaving these particular filenames in the cache; they
will never be searched again. Subsequent runs will run a new test with an
intentionally different set of filenames. This can have detrimental effects on
some systems; a massive negative dcache can lead to memory or performance
problems.
Since not all platforms have a problem with negative dcache entries, this patch
is limitted to those platforms that request it at compilie time (Linux is
current the only patch that does.)
Differential Revision: https://phabricator.services.mozilla.com/D59652
|
|
|
|
| |
Differential Revision: https://phabricator.services.mozilla.com/D71125
|
|
|
|
|
|
|
| |
Only some Arm32 supports neon, so let's introduce NSS_DISABLE_ARM32_NEON
to allow disabling Neon acceleration when building for Arm32.
Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Chacha20Poly1305. r=kjacobs
***
Bug 1612493 - Import AVX2 code from HACL*
***
Bug 1612493 - Add CPU detection for AVX2, BMI1, BMI2, FMA, MOVBE
***
Bug 1612493 - New flag NSS_DISABLE_AVX2 for freebl/Makefile and freebl.gyp
***
Bug 1612493 - Disable use of AVX2 on GCC 4.4 which doesn’t support -mavx2
***
Bug 1612493 - Disable tests when the platform doesn't have support for AVX2
Differential Revision: https://phabricator.services.mozilla.com/D64718
|
|
|
|
|
|
|
|
| |
At the moment NSS assumes that every PowerPC64 architecture supports
Altivec but it's not true and this leads to build failure. So add
NSS_DISABLE_ALTIVEC environment variable(and disable_altivec for
gyp) to disable Altivec extension on PowerPC build that don't support
Altivec.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
Disale libnssdbm by default and add flag to enable it in builds.
On CI a build and certs test with enabled legacy DB are added.
Note that for some reason the coverage build fails. I have no idea why. I'm open for ideas.
Differential Revision: https://phabricator.services.mozilla.com/D54673
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This switches to using -std=c99 for compiling all C code. Previously, we only
enabled this option for lib/freebl and lib/ssl.
For Linux, this means we need to define _DEFAULT_SOURCE to access some of the
functions we use. On glibc 2.12 (our oldest supported version), we also need to
define _BSD_SOURCE to access these functions.
The only tricky part is dealing with partial C99 implementation in gcc 4.4.
From what I've seen, the only problem is that - in that mode - it doesn't
support nesting of unnamed fields:
https://gcc.gnu.org/onlinedocs/gcc-4.4.7/gcc/Unnamed-Fields.html
This also switches from -std=c++0x to -std=c++11 as the 0x variant, though
identical in meaning, is deprecated.
Differential Revision: https://phabricator.services.mozilla.com/D50421
|
| |
|
|
|
|
|
|
|
|
| |
Adds an option to disable ARMv8 HW AES, if `-Ddisable_arm_hw_aes=1` is passed to build.sh.
Depends on D34473
Differential Revision: https://phabricator.services.mozilla.com/D44018
|
|
|
|
| |
build/run NSPR tests. r=jcj
|
|
|
|
| |
Differential Revision: https://phabricator.services.mozilla.com/D43481
|
|
|
|
| |
Differential Revision: https://phabricator.services.mozilla.com/D37980
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Refinements for static building and linking.
Reviewers: KevinJacobs
Reviewed By: KevinJacobs
Bug #: 1551129
Differential Revision: https://phabricator.services.mozilla.com/D30853
|
|
|
|
|
|
| |
--static), remove Test builds from taskcluster since we exercise pk11_gtest and mpi_gtests in non-static builds already. r=mt,jcj
Differential Revision: https://phabricator.services.mozilla.com/D30998
|
|
|
|
| |
Differential Revision: https://phabricator.services.mozilla.com/D30273
|
|
|
|
| |
Differential Revision: https://phabricator.services.mozilla.com/D30088
|
|
|
|
|
|
|
|
|
|
| |
cross-compilation and gcc-4.8 support. r=jcj
Updated gyp files to add -msse2 GCC option, iff the compiler is gcc and target is x64 or ia32.
Root cause for the 4.8 failure is a gcc bug where the "#pragma GCC target("sse2")" option used in gcm.h doesn't work when compiling C++ code, as the gtests do.
Differential Revision: https://phabricator.services.mozilla.com/D29886
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
The fine folks in application services would like to use NSS, but would greatly
prefer static linking. Part of that is driven by iOS constraints on performance
and a possible rejection from the store for dynamic linking (NSS dynamically
loads softoken). This provides a build option that produces a fully statically
linked set of libraries.
Reviewers: KevinJacobs
Tags: #secure-revision
Bug #: 1543545
Differential Revision: https://phabricator.services.mozilla.com/D29303
|
|
|
|
| |
build cmsutil. r=jcj
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
This adds basic support for MSVC to build.sh. It uses the registry and vswhere
(which is part of the standard mozilla-build setup now) to work out paths and
set them properly. It's probably a little fragile, but it's better than the
shoestring and tape we have in builds right now.
I took the liberty of sanitizing the command-line options a little here. Mostly
that is sorting them, but I also deprecated the -m32 option in favour of
specifying target architecture with -t. That turned out to be a lot cleaner.
Reviewers: jcj
Reviewed By: jcj
Bug #: 1434943
Differential Revision: https://phabricator.services.mozilla.com/D5125
|
|
|
|
|
|
| |
Differential Revision: https://phabricator.services.mozilla.com/D2719
Differential Revision: https://phabricator.services.mozilla.com/D2720
Differential Revision: https://phabricator.services.mozilla.com/D2861
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
This adds basic support for MSVC to build.sh. It uses the registry and vswhere
(which is part of the standard mozilla-build setup now) to work out paths and
set them properly. It's probably a little fragile, but it's better than the
shoestring and tape we have in builds right now.
I took the liberty of sanitizing the command-line options a little here. Mostly
that is sorting them, but I also deprecated the -m32 option in favour of
specifying target architecture with -t. That turned out to be a lot cleaner.
|
| |
|
| |
|
|
|
|
| |
_SGN_VerifyPKCS1DigestInfo, based on a patch contributed by David Benjamin (davidben@google.com), r=fkiefer
|
| |
|
|
|
|
| |
obtaining entropy, r=fkiefer
|