Update NSS to 3.32.1-RTM

This commit is contained in:
wolfbeast 2018-02-06 11:46:26 +01:00 committed by Roy Tam
commit c91ef9012b
512 changed files with 83203 additions and 16839 deletions

View file

@ -24,39 +24,44 @@
# building on.
'target_arch%': '<(host_arch)',
}],
['OS=="linux"', {
# FIPS-140 LOWHASH
'freebl_name': 'freeblpriv3',
}, {
'freebl_name': 'freebl3',
}],
['OS=="mac"', {
'use_system_sqlite%': 1,
},{
'use_system_sqlite%': 0,
}],
['OS=="mac" or OS=="win"', {
'cc_use_gnu_ld%': 0,
}, {
'cc_use_gnu_ld%': 1,
}],
['OS=="win"', {
'use_system_zlib%': 0,
'nspr_libs%': ['nspr4.lib', 'plc4.lib', 'plds4.lib'],
'nspr_libs%': ['libnspr4.lib', 'libplc4.lib', 'libplds4.lib'],
'zlib_libs%': [],
#TODO
'moz_debug_flags%': '',
'dll_prefix': '',
'dll_suffix': 'dll',
}, {
'nspr_libs%': ['-lplds4', '-lplc4', '-lnspr4'],
'use_system_zlib%': 1,
}],
['OS=="linux" or OS=="android"', {
'nspr_libs%': ['-lplds4', '-lplc4', '-lnspr4'],
'zlib_libs%': ['-lz'],
'moz_debug_flags%': '-gdwarf-2',
'optimize_flags%': '-O2',
'dll_prefix': 'lib',
'dll_suffix': 'so',
}],
['OS=="linux"', {
'freebl_name': 'freeblpriv3',
}, {
'freebl_name': 'freebl3',
}],
['OS=="mac"', {
'zlib_libs%': ['-lz'],
'use_system_sqlite%': 1,
'moz_debug_flags%': '-gdwarf-2 -gfull',
'optimize_flags%': '-O2',
'dll_prefix': 'lib',
'dll_suffix': 'dylib',
}, {
'use_system_sqlite%': 0,
'conditions': [
['OS=="mac"', {
'moz_debug_flags%': '-gdwarf-2 -gfull',
'dll_suffix': 'dylib',
}, {
'moz_debug_flags%': '-gdwarf-2',
'dll_suffix': 'so',
}],
],
}],
['"<(GENERATOR)"=="ninja"', {
'cc_is_clang%': '<!(<(python) <(DEPTH)/coreconf/check_cc_clang.py)',
@ -81,6 +86,7 @@
'dll_suffix': '<(dll_suffix)',
'freebl_name': '<(freebl_name)',
'cc_is_clang%': '<(cc_is_clang)',
'cc_use_gnu_ld%': '<(cc_use_gnu_ld)',
# Some defaults
'disable_tests%': 0,
'disable_chachapoly%': 0,
@ -91,16 +97,18 @@
'moz_fold_libs%': 0,
'moz_folded_library_name%': '',
'ssl_enable_zlib%': 1,
'use_asan%': 0,
'use_ubsan%': 0,
'use_msan%': 0,
'use_sancov%': 0,
'sanitizer_flags%': 0,
'test_build%': 0,
'no_zdefs%': 0,
'fuzz%': 0,
'fuzz_tls%': 0,
'fuzz_oss%': 0,
'sign_libs%': 1,
'use_pprof%': 0,
'ct_verif%': 0,
'nss_public_dist_dir%': '<(nss_dist_dir)/public',
'nss_private_dist_dir%': '<(nss_dist_dir)/private',
'only_dev_random%': 1,
},
'target_defaults': {
# Settings specific to targets should go here.
@ -108,6 +116,8 @@
'variables': {
'mapfile%': '',
'test_build%': 0,
'debug_optimization_level%': '0',
'release_optimization_level%': '2',
},
'standalone_static_library': 0,
'include_dirs': [
@ -115,13 +125,68 @@
'<(nss_dist_dir)/private/<(module)',
],
'conditions': [
[ 'OS=="linux"', {
[ 'OS!="android" and OS!="mac" and OS!="win"', {
'libraries': [
'-lpthread',
],
}],
[ 'OS=="linux"', {
'libraries': [
'-ldl',
'-lc',
],
}],
[ 'fuzz==1', {
'variables': {
'debug_optimization_level%': '1',
},
}],
[ 'target_arch=="ia32" or target_arch=="x64"', {
'defines': [
'NSS_X86_OR_X64',
],
# For Windows.
'msvs_settings': {
'VCCLCompilerTool': {
'PreprocessorDefinitions': [
'NSS_X86_OR_X64',
],
},
},
}],
[ 'target_arch=="ia32"', {
'defines': [
'NSS_X86',
],
# For Windows.
'msvs_settings': {
'VCCLCompilerTool': {
'PreprocessorDefinitions': [
'NSS_X86',
],
},
},
}],
[ 'target_arch=="arm64" or target_arch=="aarch64"', {
'defines': [
'NSS_USE_64',
],
}],
[ 'target_arch=="x64"', {
'defines': [
'NSS_X64',
'NSS_USE_64',
],
# For Windows.
'msvs_settings': {
'VCCLCompilerTool': {
'PreprocessorDefinitions': [
'NSS_X64',
'NSS_USE_64',
],
},
},
}],
],
'target_conditions': [
# If we want to properly export a static library, and copy it to lib,
@ -135,7 +200,7 @@
'product_dir': '<(nss_dist_obj_dir)/lib'
}],
# mapfile handling
[ 'test_build==0 and mapfile!=""', {
[ 'mapfile!=""', {
# Work around a gyp bug. Fixed upstream but not in Ubuntu packages:
# https://chromium.googlesource.com/external/gyp/+/b85ad3e578da830377dbc1843aa4fbc5af17a192%5E%21/
'sources': [
@ -148,12 +213,12 @@
],
},
'conditions': [
[ 'OS=="linux" or OS=="android"', {
[ 'cc_use_gnu_ld==1', {
'ldflags': [
'-Wl,--version-script,<(INTERMEDIATE_DIR)/out.>(mapfile)',
],
}],
[ 'OS=="win"', {
[ 'cc_use_gnu_ld!=1 and OS=="win"', {
# On Windows, .def files are used directly as sources.
'sources': [
'>(mapfile)',
@ -195,10 +260,16 @@
# Shared library specific settings.
[ '_type=="shared_library"', {
'conditions': [
[ 'OS=="linux" or OS=="android"', {
[ 'cc_use_gnu_ld==1', {
'ldflags': [
'-Wl,--gc-sections',
'-Wl,-z,defs',
],
'conditions': [
['no_zdefs==0', {
'ldflags': [
'-Wl,-z,defs',
],
}],
],
}],
],
@ -251,10 +322,36 @@
'LINUX2_1',
'LINUX',
'linux',
],
}],
[ 'OS=="dragonfly" or OS=="freebsd"', {
'defines': [
'FREEBSD',
],
}],
[ 'OS=="netbsd"', {
'defines': [
'NETBSD',
],
}],
[ 'OS=="openbsd"', {
'defines': [
'OPENBSD',
],
}],
['OS=="mac" or OS=="dragonfly" or OS=="freebsd" or OS=="netbsd" or OS=="openbsd"', {
'defines': [
'HAVE_BSD_FLOCK',
],
}],
[ 'OS!="win"', {
'defines': [
'HAVE_STRERROR',
'XP_UNIX',
'_REENTRANT',
],
}],
[ 'OS!="mac" and OS!="win"', {
'cflags': [
'-fPIC',
'-pipe',
@ -264,6 +361,9 @@
'cflags_cc': [
'-std=c++0x',
],
'ldflags': [
'-z', 'noexecstack',
],
'conditions': [
[ 'target_arch=="ia32"', {
'cflags': ['-m32'],
@ -273,89 +373,57 @@
'cflags': ['-m64'],
'ldflags': ['-m64'],
}],
[ 'use_pprof==1' , {
],
}],
[ 'use_pprof==1 and OS!="android" and OS!="win"', {
'conditions': [
[ 'OS=="mac"', {
'xcode_settings': {
'OTHER_LDFLAGS': [ '-lprofiler' ],
},
}, {
'ldflags': [ '-lprofiler' ],
}],
[ 'OS!="linux"', {
'library_dirs': [
'/usr/local/lib/',
],
}],
],
}],
[ 'disable_werror==0 and (OS=="linux" or OS=="mac")', {
[ 'disable_werror==0 and OS!="android" and OS!="win"', {
'cflags': [
'<!@(<(python) <(DEPTH)/coreconf/werror.py)',
],
'xcode_settings': {
'OTHER_CFLAGS': [
'<!@(<(python) <(DEPTH)/coreconf/werror.py)',
],
},
}],
[ 'fuzz==1', {
[ 'fuzz_tls==1', {
'cflags': [
'-Wno-unused-function',
]
}],
[ 'use_asan==1 or use_ubsan==1', {
'cflags': ['-O1'],
'-Wno-unused-variable',
],
'xcode_settings': {
'GCC_OPTIMIZATION_LEVEL': '1', # -O1
}
}],
[ 'use_asan==1', {
'variables': {
'asan_flags': '<!(<(python) <(DEPTH)/coreconf/sanitizers.py asan)',
'no_ldflags': '<!(<(python) <(DEPTH)/coreconf/sanitizers.py ld)',
'OTHER_CFLAGS': [
'-Wno-unused-function',
'-Wno-unused-variable',
],
},
'cflags': ['<@(asan_flags)'],
'ldflags': ['<@(asan_flags)'],
'ldflags!': ['<@(no_ldflags)'],
}],
[ 'sanitizer_flags!=0', {
'cflags': ['<@(sanitizer_flags)'],
'ldflags': ['<@(sanitizer_flags)'],
'xcode_settings': {
'OTHER_CFLAGS': ['<@(asan_flags)'],
'OTHER_LDFLAGS!': ['<@(no_ldflags)'],
'OTHER_CFLAGS': ['<@(sanitizer_flags)'],
# We want to pass -fsanitize=... to our final link call,
# but not to libtool. OTHER_LDFLAGS is passed to both.
# To trick GYP into doing what we want, we'll piggyback on
# LIBRARY_SEARCH_PATHS, producing "-L/usr/lib -fsanitize=...".
# The -L/usr/lib is redundant but innocuous: it's a default path.
'LIBRARY_SEARCH_PATHS': ['/usr/lib <(asan_flags)'],
},
}],
[ 'use_ubsan==1', {
'variables': {
'ubsan_flags': '<!(<(python) <(DEPTH)/coreconf/sanitizers.py ubsan)',
'no_ldflags': '<!(<(python) <(DEPTH)/coreconf/sanitizers.py ld)',
},
'cflags': ['<@(ubsan_flags)'],
'ldflags': ['<@(ubsan_flags)'],
'ldflags!': ['<@(no_ldflags)'],
'xcode_settings': {
'OTHER_CFLAGS': ['<@(ubsan_flags)'],
'OTHER_LDFLAGS!': ['<@(no_ldflags)'],
# See comment above.
'LIBRARY_SEARCH_PATHS': ['/usr/lib <(ubsan_flags)'],
},
}],
[ 'use_msan==1', {
'variables': {
'msan_flags': '<!(<(python) <(DEPTH)/coreconf/sanitizers.py msan)',
'no_ldflags': '<!(<(python) <(DEPTH)/coreconf/sanitizers.py ld)',
},
'cflags': ['<@(msan_flags)'],
'ldflags': ['<@(msan_flags)'],
'ldflags!': ['<@(no_ldflags)'],
'xcode_settings': {
'OTHER_CFLAGS': ['<@(msan_flags)'],
'OTHER_LDFLAGS!': ['<@(no_ldflags)'],
# See comment above.
'LIBRARY_SEARCH_PATHS': ['/usr/lib <(msan_flags)'],
},
}],
[ 'use_sancov!=0', {
'variables': {
'sancov_flags': '<!(<(python) <(DEPTH)/coreconf/sanitizers.py sancov <(use_sancov))',
'no_ldflags': '<!(<(python) <(DEPTH)/coreconf/sanitizers.py ld)',
},
'cflags': ['<@(sancov_flags)'],
'ldflags': ['<@(sancov_flags)'],
'ldflags!': ['<@(no_ldflags)'],
'xcode_settings': {
'OTHER_CFLAGS': ['<@(sancov_flags)'],
'OTHER_LDFLAGS!': ['<@(no_ldflags)'],
# See comment above.
'LIBRARY_SEARCH_PATHS': ['/usr/lib <(sancov_flags)'],
'LIBRARY_SEARCH_PATHS': ['/usr/lib <(sanitizer_flags)'],
},
}],
[ 'OS=="android" and mozilla_client==0', {
@ -368,9 +436,6 @@
[ 'OS=="mac"', {
'defines': [
'DARWIN',
'HAVE_STRERROR',
'HAVE_BSD_FLOCK',
'XP_UNIX',
],
'conditions': [
[ 'target_arch=="ia32"', {
@ -415,9 +480,9 @@
'PreprocessorDefinitions': [
'WIN32',
],
'AdditionalOptions': [ '/EHsc' ],
},
},
}],
[ 'target_arch=="x64"', {
'msvs_configuration_platform': 'x64',
@ -430,6 +495,7 @@
'WIN64',
'_AMD64_',
],
'AdditionalOptions': [ '/EHsc' ],
},
},
}],
@ -451,7 +517,7 @@
'Debug': {
'inherit_from': ['Common'],
'conditions': [
[ 'OS=="linux" or OS=="android"', {
[ 'OS!="mac" and OS!="win"', {
'cflags': [
'-g',
'<(moz_debug_flags)',
@ -460,14 +526,15 @@
],
#TODO: DEBUG_$USER
'defines': ['DEBUG'],
'cflags': [ '-O<(debug_optimization_level)' ],
'xcode_settings': {
'COPY_PHASE_STRIP': 'NO',
'GCC_OPTIMIZATION_LEVEL': '0',
'GCC_OPTIMIZATION_LEVEL': '<(debug_optimization_level)',
'GCC_GENERATE_DEBUGGING_SYMBOLS': 'YES',
},
'msvs_settings': {
'VCCLCompilerTool': {
'Optimization': '0',
'Optimization': '<(debug_optimization_level)',
'BasicRuntimeChecks': '3',
'RuntimeLibrary': '2', # /MD
},
@ -482,16 +549,15 @@
# Common settings for release should go here.
'Release': {
'inherit_from': ['Common'],
'defines': [
'NDEBUG',
],
'defines': ['NDEBUG'],
'cflags': [ '-O<(release_optimization_level)' ],
'xcode_settings': {
'DEAD_CODE_STRIPPING': 'YES', # -Wl,-dead_strip
'GCC_OPTIMIZATION_LEVEL': '2', # -O2
'GCC_OPTIMIZATION_LEVEL': '<(release_optimization_level)',
},
'msvs_settings': {
'VCCLCompilerTool': {
'Optimization': '2', # /Os
'Optimization': '<(release_optimization_level)',
'RuntimeLibrary': '2', # /MD
},
'VCLinkerTool': {
@ -516,9 +582,9 @@
},
},
'conditions': [
[ 'OS=="linux" or OS=="android"', {
[ 'cc_use_gnu_ld==1', {
'variables': {
'process_map_file': ['/bin/sh', '-c', '/bin/grep -v ";-" >(mapfile) | sed -e "s,;+,," -e "s; DATA ;;" -e "s,;;,," -e "s,;.*,;," > >@(_outputs)'],
'process_map_file': ['/bin/sh', '-c', '/usr/bin/env grep -v ";-" >(mapfile) | sed -e "s,;+,," -e "s; DATA ;;" -e "s,;;,," -e "s,;.*,;," > >@(_outputs)'],
},
}],
[ 'OS=="mac"', {