Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(447)

Unified Diff: nss.gyp

Issue 10382203: Split the nssckbi target off from the 'nss' target. (Closed) Base URL: http://src.chromium.org/svn/trunk/deps/third_party/nss
Patch Set: Created 8 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: nss.gyp
diff --git a/nss.gyp b/nss.gyp
index a24c6cef25b0d88b229565d9a6c27b8a6ac0ecd4..9117a5b832ce52b051fba843afb84258ced8d262 100644
--- a/nss.gyp
+++ b/nss.gyp
@@ -329,6 +329,113 @@
'target_name': 'nss',
'product_name': 'crnss',
'type': '<(component)',
+ 'dependencies': [
+ 'nss_static',
+ ],
+ 'export_dependent_settings': [
+ 'nss_static',
+ ],
+ 'sources': [
+ 'mozilla/security/nss/lib/nss/nssver.c',
wtc 2012/05/16 19:45:10 It would be nice to add a comment to explain why t
+ ],
+ 'conditions': [
+ ['exclude_nss_root_certs==0', {
+ 'dependencies': [
+ 'nssckbi',
+ ],
+ 'export_dependent_settings': [
+ 'nssckbi',
+ ],
+ }],
+ ['OS == "mac" and component == "shared_library"', {
+ 'xcode_settings': {
+ 'GCC_SYMBOLS_PRIVATE_EXTERN': 'NO', # no -fvisibility=hidden
+ },
+ }],
+ ['OS == "win" and component == "shared_library"', {
+ 'sources': [
+ 'mozilla/security/nss/exports_win.def',
+ ],
+ }],
+ ],
+ },
+ {
+ # This is really more of a pseudo-target to work around the fact that
+ # a single static_library target cannot contain two object files of the
+ # same name (hash.o / hash.obj). Logically, this is part of the
+ # 'nss_static' target. By separating it out, it creates a possible
+ # circular dependency between 'nss_static' and 'nssckbi' when
+ # 'exclude_nss_root_certs' is not specified, as 'nss_static' depends on
+ # the 'builtinsC_GetFunctionList' exported by this target. This is an
+ # artifact of how NSS is being statically built, which is not an
+ # officially supported configuration - normally, 'nssckbi.dll/so' would
+ # depend on libnss3.dll/so, and the higher layer caller would instruct
+ # libnss3.dll to dynamically load nssckbi.dll, breaking the circle.
+ #
+ # TODO(rsleevi): http://crbug.com/128134 - Break the circular dependency
+ # without requiring nssckbi to be built as a shared library.
+ 'target_name': 'nssckbi',
+ 'product_name': 'crnssckbi',
+ 'type': 'static_library',
+ 'sources': [
+ 'mozilla/security/nss/lib/ckfw/builtins/anchor.c',
+ 'mozilla/security/nss/lib/ckfw/builtins/bfind.c',
+ 'mozilla/security/nss/lib/ckfw/builtins/binst.c',
+ 'mozilla/security/nss/lib/ckfw/builtins/bobject.c',
+ 'mozilla/security/nss/lib/ckfw/builtins/bsession.c',
+ 'mozilla/security/nss/lib/ckfw/builtins/bslot.c',
+ 'mozilla/security/nss/lib/ckfw/builtins/btoken.c',
+ 'mozilla/security/nss/lib/ckfw/builtins/builtins.h',
+ 'mozilla/security/nss/lib/ckfw/builtins/certdata.c',
+ 'mozilla/security/nss/lib/ckfw/builtins/ckbiver.c',
+ 'mozilla/security/nss/lib/ckfw/builtins/constants.c',
+ 'mozilla/security/nss/lib/ckfw/builtins/nssckbi.h',
+ 'mozilla/security/nss/lib/ckfw/ck.h',
+ 'mozilla/security/nss/lib/ckfw/ckfw.h',
+ 'mozilla/security/nss/lib/ckfw/ckfwm.h',
+ 'mozilla/security/nss/lib/ckfw/ckfwtm.h',
+ 'mozilla/security/nss/lib/ckfw/ckmd.h',
+ 'mozilla/security/nss/lib/ckfw/ckt.h',
+ 'mozilla/security/nss/lib/ckfw/crypto.c',
+ 'mozilla/security/nss/lib/ckfw/find.c',
+ 'mozilla/security/nss/lib/ckfw/hash.c',
+ 'mozilla/security/nss/lib/ckfw/instance.c',
+ 'mozilla/security/nss/lib/ckfw/mechanism.c',
+ 'mozilla/security/nss/lib/ckfw/mutex.c',
+ 'mozilla/security/nss/lib/ckfw/nssck.api',
+ 'mozilla/security/nss/lib/ckfw/nssckepv.h',
+ 'mozilla/security/nss/lib/ckfw/nssckft.h',
+ 'mozilla/security/nss/lib/ckfw/nssckfw.h',
+ 'mozilla/security/nss/lib/ckfw/nssckfwc.h',
+ 'mozilla/security/nss/lib/ckfw/nssckfwt.h',
+ 'mozilla/security/nss/lib/ckfw/nssckg.h',
+ 'mozilla/security/nss/lib/ckfw/nssckmdt.h',
+ 'mozilla/security/nss/lib/ckfw/nssckt.h',
+ 'mozilla/security/nss/lib/ckfw/object.c',
+ 'mozilla/security/nss/lib/ckfw/session.c',
+ 'mozilla/security/nss/lib/ckfw/sessobj.c',
+ 'mozilla/security/nss/lib/ckfw/slot.c',
+ 'mozilla/security/nss/lib/ckfw/token.c',
+ 'mozilla/security/nss/lib/ckfw/wrap.c',
+ ],
+ 'dependencies': [
+ 'nss_static',
+ ],
+ 'export_dependent_settings': [
+ 'nss_static',
+ ],
+ 'include_dirs': [
+ 'mozilla/security/nss/lib/ckfw',
+ ],
+ 'direct_dependent_settings': {
+ 'include_dirs': [
+ 'mozilla/security/nss/lib/ckfw/builtins',
+ ],
+ },
+ },
+ {
+ 'target_name': 'nss_static',
+ 'type': 'static_library',
'sources': [
'mozilla/security/nss/lib/base/arena.c',
'mozilla/security/nss/lib/base/base.h',
@@ -376,45 +483,6 @@
'mozilla/security/nss/lib/certhigh/ocspt.h',
'mozilla/security/nss/lib/certhigh/ocspti.h',
'mozilla/security/nss/lib/certhigh/xcrldist.c',
- 'mozilla/security/nss/lib/ckfw/builtins/anchor.c',
- 'mozilla/security/nss/lib/ckfw/builtins/bfind.c',
- 'mozilla/security/nss/lib/ckfw/builtins/binst.c',
- 'mozilla/security/nss/lib/ckfw/builtins/bobject.c',
- 'mozilla/security/nss/lib/ckfw/builtins/bsession.c',
- 'mozilla/security/nss/lib/ckfw/builtins/bslot.c',
- 'mozilla/security/nss/lib/ckfw/builtins/btoken.c',
- 'mozilla/security/nss/lib/ckfw/builtins/builtins.h',
- 'mozilla/security/nss/lib/ckfw/builtins/certdata.c',
- 'mozilla/security/nss/lib/ckfw/builtins/ckbiver.c',
- 'mozilla/security/nss/lib/ckfw/builtins/constants.c',
- 'mozilla/security/nss/lib/ckfw/builtins/nssckbi.h',
- 'mozilla/security/nss/lib/ckfw/ck.h',
- 'mozilla/security/nss/lib/ckfw/ckfw.h',
- 'mozilla/security/nss/lib/ckfw/ckfwm.h',
- 'mozilla/security/nss/lib/ckfw/ckfwtm.h',
- 'mozilla/security/nss/lib/ckfw/ckmd.h',
- 'mozilla/security/nss/lib/ckfw/ckt.h',
- 'mozilla/security/nss/lib/ckfw/crypto.c',
- 'mozilla/security/nss/lib/ckfw/find.c',
- 'mozilla/security/nss/lib/ckfw/hash.c',
- 'mozilla/security/nss/lib/ckfw/instance.c',
- 'mozilla/security/nss/lib/ckfw/mechanism.c',
- 'mozilla/security/nss/lib/ckfw/mutex.c',
- 'mozilla/security/nss/lib/ckfw/nssck.api',
- 'mozilla/security/nss/lib/ckfw/nssckepv.h',
- 'mozilla/security/nss/lib/ckfw/nssckft.h',
- 'mozilla/security/nss/lib/ckfw/nssckfw.h',
- 'mozilla/security/nss/lib/ckfw/nssckfwc.h',
- 'mozilla/security/nss/lib/ckfw/nssckfwt.h',
- 'mozilla/security/nss/lib/ckfw/nssckg.h',
- 'mozilla/security/nss/lib/ckfw/nssckmdt.h',
- 'mozilla/security/nss/lib/ckfw/nssckt.h',
- 'mozilla/security/nss/lib/ckfw/object.c',
- 'mozilla/security/nss/lib/ckfw/session.c',
- 'mozilla/security/nss/lib/ckfw/sessobj.c',
- 'mozilla/security/nss/lib/ckfw/slot.c',
- 'mozilla/security/nss/lib/ckfw/token.c',
- 'mozilla/security/nss/lib/ckfw/wrap.c',
'mozilla/security/nss/lib/cryptohi/cryptohi.h',
'mozilla/security/nss/lib/cryptohi/cryptoht.h',
'mozilla/security/nss/lib/cryptohi/dsautil.c',
@@ -683,7 +751,6 @@
'mozilla/security/nss/lib/nss/nss.h',
'mozilla/security/nss/lib/nss/nssinit.c',
'mozilla/security/nss/lib/nss/nssrenam.h',
- 'mozilla/security/nss/lib/nss/nssver.c',
'mozilla/security/nss/lib/nss/utilwrap.c',
'mozilla/security/nss/lib/pk11wrap/debug_module.c',
'mozilla/security/nss/lib/pk11wrap/dev3hack.c',
@@ -853,16 +920,23 @@
# debug_module.c is included by pk11load.c.
'mozilla/security/nss/lib/pk11wrap/debug_module.c',
],
+ 'dependencies': [
+ 'nspr',
+ '../sqlite/sqlite.gyp:sqlite',
+ ],
+ 'export_dependent_settings': [
+ 'nspr',
+ ],
'defines': [
- 'NSS_ENABLE_ECC',
- 'USE_UTIL_DIRECTLY',
'MP_API_COMPATIBLE',
- 'RIJNDAEL_INCLUDE_TABLES',
'NSS_DISABLE_DBM',
+ 'NSS_ENABLE_ECC',
'NSS_STATIC',
'NSS_USE_STATIC_LIBS',
+ 'RIJNDAEL_INCLUDE_TABLES',
'SHLIB_VERSION=\"3\"',
'SOFTOKEN_SHLIB_VERSION=\"3\"',
+ 'USE_UTIL_DIRECTLY',
],
'defines!': [
# Regrettably, NSS can't be compiled with NO_NSPR_10_SUPPORT yet.
@@ -872,7 +946,6 @@
'mozilla/security/nss/lib/base',
'mozilla/security/nss/lib/certdb',
'mozilla/security/nss/lib/certhigh',
- 'mozilla/security/nss/lib/ckfw',
'mozilla/security/nss/lib/cryptohi',
'mozilla/security/nss/lib/dev',
'mozilla/security/nss/lib/freebl',
@@ -899,13 +972,9 @@
'mozilla/security/nss/lib/ssl',
'mozilla/security/nss/lib/util',
],
- 'dependencies': [
- 'nspr',
- '../sqlite/sqlite.gyp:sqlite',
- ],
'direct_dependent_settings': {
'defines': [
- 'NO_NSPR_10_SUPPORT',
+ 'NSS_ENABLE_ECC',
'NSS_STATIC',
'NSS_USE_STATIC_LIBS',
'USE_UTIL_DIRECTLY',
@@ -936,12 +1005,6 @@
'defines': [
'NSS_DISABLE_ROOT_CERTS',
],
- 'sources/': [
- ['exclude', '^mozilla/security/nss/lib/ckfw/'],
- ],
- 'include_dirs!': [
- 'mozilla/security/nss/lib/ckfw',
- ],
}],
['exclude_nss_libpkix==1', {
'defines': [
@@ -992,24 +1055,22 @@
'NSS_X64',
],
},
- 'conditions': [
- ['component == "shared_library"', {
- 'xcode_settings': {
- 'GCC_SYMBOLS_PRIVATE_EXTERN': 'NO', # no -fvisibility=hidden
- },
- }],
- ],
}],
['OS=="win"', {
'defines': [
- 'XP_PC',
- 'WIN32',
- '_WINDOWS',
- 'WIN95',
'SHLIB_SUFFIX=\"dll\"',
'SHLIB_PREFIX=\"\"',
'SOFTOKEN_LIB_NAME=\"softokn3.dll\"',
+ 'XP_PC',
+ 'WIN32',
+ 'WIN95',
+ '_WINDOWS',
],
+ 'direct_dependent_settings': {
+ 'defines': [
+ '_WINDOWS',
+ ],
+ },
'conditions': [
['target_arch=="ia32"', {
'defines': [
@@ -1023,11 +1084,6 @@
'MP_NO_MP_WORD',
],
}],
- ['component == "shared_library"', {
- 'sources': [
- 'mozilla/security/nss/exports_win.def',
- ],
- }],
],
}],
['clang==1', {
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698