summaryrefslogtreecommitdiff
path: root/coreconf
Commit message (Collapse)AuthorAgeFilesLines
* Bug 1438431 Remove mkdepend tool and targets r=rrelyeaJan-Marek Glogowski2020-05-0521-4423/+2
| | | | Differential Revision: https://phabricator.services.mozilla.com/D70988
* Bug 1629553 Drop duplicate header DIR variables r=rrelyeaJan-Marek Glogowski2020-05-052-11/+2
| | | | Differential Revision: https://phabricator.services.mozilla.com/D70987
* Bug 1629553 Drop coreconf java support r=rrelyeaJan-Marek Glogowski2020-05-0515-1613/+7
| | | | | | | | | 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
* Bug 1629553 Rework the LIBRARY_NAME ruleset r=rrelyeaJan-Marek Glogowski2020-05-054-25/+44
| | | | | | | | | | | | | | * 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
* Bug 1629553 Use an eval template for C++ compile rules r=rrelyeaJan-Marek Glogowski2020-05-051-28/+13
| | | | | | | 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
* Bug 1629553 Use an eval template for export targets r=rrelyeaJan-Marek Glogowski2020-05-051-48/+24
| | | | Differential Revision: https://phabricator.services.mozilla.com/D70984
* Bug 290526 Drop double-colon usage and add directory depends r=rrelyeaJan-Marek Glogowski2020-05-051-86/+53
| | | | | | | | | | | | | | | | | | | | | | | 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
* Bug 290526 Fix gtests build for WIN% targets r=rrelyeaJan-Marek Glogowski2020-05-051-0/+2
| | | | | | | | | | | | | | | 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
* Bug 290526 Drop recursive private_exports r=rrelyeaJan-Marek Glogowski2020-05-052-9/+3
| | | | | | | 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
* Bug 290526 Parallelize part of the NSS build r=rrelyeaJan-Marek Glogowski2020-05-055-63/+71
| | | | | | | | | | | | | | | | | | | | 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
* Bug 290526 Don't delete directories r=rrelyeaJan-Marek Glogowski2020-05-055-12/+11
| | | | | | | 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
* Bug 290526 Handle empty install variables r=rrelyeaJan-Marek Glogowski2020-05-051-7/+6
| | | | | | | | | | 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
* Bug 290526 Handle parallel PROGRAM and PROGRAMS r=rrelyeaJan-Marek Glogowski2020-05-051-25/+32
| | | | | | | | | | | | | 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
* Bug 1622033 - Disable flag for SEED deprecation. r=kjacobs,rrelyeaBenjamin Beurdouche2020-05-052-0/+10
| | | | Differential Revision: https://phabricator.services.mozilla.com/D70672
* Bug 1603801 [patch] Avoid dcache pollution from sdb_measureAccess() r=mtRobert Relyea2020-04-182-1/+2
| | | | | | | | | | | | | | | | | 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
* Bug 1630458 - Produce debug symbols in GYP/MSVC debug builds. r=mtKevin Jacobs2020-04-161-0/+2
| | | | Differential Revision: https://phabricator.services.mozilla.com/D71125
* Bug 1620799 - Introduce NSS_DISABLE_ARM32_NEON r=jcjGiulio Benetti2020-04-012-0/+6
| | | | | | | 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>
* Bug 1625133 - Fix implicit declaration of function 'getopt' on SunOS r=jcjhajma2020-03-311-0/+1
|
* Bug 1612493 - Support for HACL* AVX2 code for Chacha20, Poly1305 and ↵Benjamin Beurdouche2020-02-282-0/+33
| | | | | | | | | | | | | | | | | 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
* Bug 1608151 - Introduce NSS_DISABLE_ALTIVEC and disable_altivec r=jcjGiulio Benetti2020-01-272-0/+6
| | | | | | | | 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.
* Bug 1608327 - Fixup for dc57fe5d65d4, add a default for softfp_cflags r=bustageJ.C. Jones2020-01-141-0/+1
|
* Bug 1602288 - Fix build failure due to missing posix signal.h r=kjacobsGiulio Benetti2019-12-192-1/+2
|
* Bug 1594933 - disable libnssdbm by default; keep build on CI, r=jcjFranziskus Kiefer2019-12-041-1/+2
| | | | | | | | | 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
* Dummy change, trigger a build to test latest NSPR commits.Kai Engert2019-11-081-1/+0
|
* Bug 1590972 - Use -std=c99 for all C code, r=jcjMartin Thomson2019-10-285-18/+32
| | | | | | | | | | | | | | | | | | | 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
* Dummy change, trigger a build after bustage to test latest NSPR commitKai Engert2019-10-281-0/+1
|
* Bug 1152625 - Add gyp flag for disabling ARM HW AES r=jcjKevin Jacobs2019-10-111-0/+1
| | | | | | | | 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
* Bug 1385061 - Build NSPR tests with NSS make; Add gyp parameters to ↵Kai Engert2019-09-131-3/+18
| | | | build/run NSPR tests. r=jcj
* Bug 1576664 - Remove -mms-bitfields from win32 makefile r=jcjKevin Jacobs2019-08-301-1/+1
| | | | Differential Revision: https://phabricator.services.mozilla.com/D43481
* Bug 1532194 - Remove -DDEBUG_$USER from make builds r=mtLouis Dassy2019-07-152-12/+3
| | | | Differential Revision: https://phabricator.services.mozilla.com/D37980
* Dummy change to trigger a build to test latest NSPR commitsKai Engert2019-06-291-1/+0
|
* Bug 1554659 - Use ld --version-script on OpenBSD r=jcjJeremie Courreges-Anglas2019-05-271-0/+5
|
* Bug 1551129 - Enable --static build on windows, r=kevinjacobsMartin Thomson2019-05-161-6/+4
| | | | | | | | | | | | | Summary: Refinements for static building and linking. Reviewers: KevinJacobs Reviewed By: KevinJacobs Bug #: 1551129 Differential Revision: https://phabricator.services.mozilla.com/D30853
* Bug 1548179 - Remove --test (test_build) option from build.sh (replaced by ↵Kevin Jacobs2019-05-152-3/+1
| | | | | | --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
* Bug 1549848 - Add iOS gyp build initial support. r=jcj,KevinJacobsEdouard Oger2019-05-081-9/+21
| | | | Differential Revision: https://phabricator.services.mozilla.com/D30273
* Bug 1549413 - Link against liblog on Android. r=jcjEdouard Oger2019-05-062-0/+9
| | | | Differential Revision: https://phabricator.services.mozilla.com/D30088
* Bug 1548398 - Add freebl_gtest to nss.gyp, fix freebl_gtest ↵NSS_3_44_BETA1Kevin Jacobs2019-05-032-5/+12
| | | | | | | | | | 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
* Bug 1543545 - Option to produce static libraries, r=kevinjacobsMartin Thomson2019-04-292-2/+9
| | | | | | | | | | | | | | | | | 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
* Bug 1529308 - Use a new comm_client flag in nss.gyp, which enables TB to ↵Kai Engert2019-02-281-0/+1
| | | | build cmsutil. r=jcj
* Dummy change to trigger a build to test latest NSPR commitsKai Engert2019-02-071-0/+1
|
* Bug 696465 Remove/Replace leftover WRAP_MALLOC_* in NSS r=jcjui.manish2019-01-161-2/+0
|
* Bug 1434943 - Support for MSVC in build.sh, r=jcjMartin Thomson2018-10-123-4/+112
| | | | | | | | | | | | | | | | | | | | 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
* Bug 1479787 - build mozpkix as part of NSS, r=mt,keelerFranziskus Kiefer2018-08-031-0/+9
| | | | | | Differential Revision: https://phabricator.services.mozilla.com/D2719 Differential Revision: https://phabricator.services.mozilla.com/D2720 Differential Revision: https://phabricator.services.mozilla.com/D2861
* Backed out changeset 8bea05067a0bMartin Thomson2018-09-233-104/+4
|
* Bug 1434943 - Support for MSVC in build.sh, r=jcjMartin Thomson2018-06-013-4/+104
| | | | | | | | | | | 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.
* Dummy change to trigger a build to test latest NSPR commitsKai Engert2018-08-221-1/+0
|
* Dummy change to trigger a build to test latest NSPR commitsKai Engert2018-08-151-0/+1
|
* Bug 1296986, Disable parameter unsafeAllowMissingParameters in ↵Kai Engert2018-07-261-0/+4
| | | | _SGN_VerifyPKCS1DigestInfo, based on a patch contributed by David Benjamin (davidben@google.com), r=fkiefer
* Dummy change to trigger a build to test latest NSPR commitsKai Engert2018-07-251-1/+0
|
* Bug 1057343, Use Linux getrandom()/getentropy() kernel system call for ↵Kai Engert2018-04-201-0/+4
| | | | obtaining entropy, r=fkiefer