Chromium Code Reviews| 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', { |