Index: nss.gyp |
=================================================================== |
--- nss.gyp (revision 290919) |
+++ nss.gyp (working copy) |
@@ -454,6 +454,53 @@ |
}, |
}, |
{ |
+ # This target contains files compiled for AVX. The code calling the |
+ # functions in this target has to check if the current CPU supports AVX. |
+ 'target_name': 'nss_static_avx', |
+ # This target is an implementation detail - the public dependencies |
+ # should be on 'nss'. |
wtc
2014/08/21 23:27:49
Nit: we probably don't need to copy this comment.
Nico
2014/08/25 17:35:09
Done.
|
+ 'suppress_wildcard': 1, |
+ 'conditions': [ |
+ ['OS!="win" or target_arch!="ia32"', { |
+ 'type': 'none', |
+ }, { |
+ 'type': 'static_library', |
+ 'sources': [ |
+ 'nss/lib/freebl/intel-gcm-wrap.c', |
+ 'nss/lib/freebl/intel-gcm-x86-masm.asm', |
+ 'nss/lib/freebl/intel-gcm.h', |
+ ], |
+ 'defines': [ |
wtc
2014/08/21 23:27:49
BUG?: I believe we also need these, at least to be
Nico
2014/08/25 17:35:09
Done.
|
+ 'NSS_X86_OR_X64', |
+ 'NSS_X86', |
+ '_X86_', |
+ 'MP_ASSEMBLY_MULTIPLY', |
+ 'MP_ASSEMBLY_SQUARE', |
+ 'MP_ASSEMBLY_DIV_2DX1D', |
+ 'MP_USE_UINT_DIGIT', |
+ 'MP_NO_MP_WORD', |
+ 'USE_HW_AES', |
wtc
2014/08/21 23:27:49
Nit: it's safer to add 'INTEL_GCM'. It's actually
Nico
2014/08/25 17:35:09
Done.
|
+ ], |
+ 'include_dirs': [ |
+ 'nspr/pr/include', |
+ 'nspr/lib/ds', |
+ 'nspr/lib/libc/include', |
+ 'nss/lib/freebl/ecl', |
wtc
2014/08/21 23:27:49
Do we really need this directory?
Nico
2014/08/25 17:35:09
Yes, I only added directories that were necessary
|
+ 'nss/lib/util', |
+ ], |
+ 'msvs_disabled_warnings': [4018], |
+ 'msvs_settings': { |
+ 'MASM': { |
+ 'UseSafeExceptionHandlers': 'true', |
+ }, |
+ 'VCCLCompilerTool': { |
+ 'EnableEnhancedInstructionSet': '3', # Enable AVX. |
+ }, |
+ }, |
+ }], |
+ ], |
+ }, |
+ { |
'target_name': 'nss_static', |
'type': 'static_library', |
# This target is an implementation detail - the public dependencies |
@@ -584,9 +631,6 @@ |
'nss/lib/freebl/gcm.h', |
'nss/lib/freebl/intel-aes-x86-masm.asm', |
'nss/lib/freebl/intel-aes.h', |
- 'nss/lib/freebl/intel-gcm-wrap.c', |
- 'nss/lib/freebl/intel-gcm-x86-masm.asm', |
- 'nss/lib/freebl/intel-gcm.h', |
'nss/lib/freebl/hmacct.c', |
'nss/lib/freebl/hmacct.h', |
'nss/lib/freebl/jpake.c', |
@@ -982,6 +1026,7 @@ |
], |
'dependencies': [ |
'nspr', |
+ 'nss_static_avx', |
'../sqlite/sqlite.gyp:sqlite', |
], |
'export_dependent_settings': [ |
@@ -1202,8 +1247,6 @@ |
], |
'sources!': [ |
'nss/lib/freebl/intel-aes-x86-masm.asm', |
- 'nss/lib/freebl/intel-gcm-wrap.c', |
- 'nss/lib/freebl/intel-gcm-x86-masm.asm', |
'nss/lib/freebl/mpi/mpi_amd64.c', |
'nss/lib/freebl/mpi/mpi_x86_asm.c', |
], |
@@ -1212,8 +1255,6 @@ |
}, { # else: OS!="win" |
'sources!': [ |
'nss/lib/freebl/intel-aes-x86-masm.asm', |
- 'nss/lib/freebl/intel-gcm-wrap.c', |
- 'nss/lib/freebl/intel-gcm-x86-masm.asm', |
# mpi_x86_asm.c contains MSVC inline assembly code. |
'nss/lib/freebl/mpi/mpi_x86_asm.c', |
], |