Index: nss.gyp |
diff --git a/nss.gyp b/nss.gyp |
index f1add4f8acfec20fdff5c277aa78f28ee0f8eb9c..bf81eb849ea78c0d092987e9bc1c52c4007b138d 100644 |
--- a/nss.gyp |
+++ b/nss.gyp |
@@ -454,6 +454,71 @@ |
}, |
}, |
{ |
+ # 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', |
+ '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': [ |
+ 'INTEL_GCM', |
+ 'NSS_X86_OR_X64', |
+ 'NSS_X86', |
+ 'MP_API_COMPATIBLE', |
+ 'MP_ASSEMBLY_DIV_2DX1D', |
+ 'MP_ASSEMBLY_MULTIPLY', |
+ 'MP_ASSEMBLY_SQUARE', |
+ 'MP_ASSEMBLY_DIV_2DX1D', |
+ 'MP_USE_UINT_DIGIT', |
+ 'MP_NO_MP_WORD', |
+ 'MP_USE_UINT_DIGIT', |
+ 'NSS_DISABLE_DBM', |
+ 'NSS_STATIC', |
+ 'NSS_USE_STATIC_LIBS', |
+ 'NSS_X86', |
+ 'NSS_X86_OR_X64', |
+ 'RIJNDAEL_INCLUDE_TABLES', |
+ 'SHLIB_PREFIX=\"\"', |
+ 'SHLIB_SUFFIX=\"dll\"', |
+ 'SHLIB_VERSION=\"3\"', |
+ 'SOFTOKEN_LIB_NAME=\"softokn3.dll\"', |
+ 'SOFTOKEN_SHLIB_VERSION=\"3\"', |
+ 'USE_HW_AES', |
+ 'USE_UTIL_DIRECTLY', |
+ 'WIN32', |
+ 'WIN95', |
+ 'XP_PC', |
+ '_WINDOWS', |
+ '_X86_', |
+ ], |
+ 'include_dirs': [ |
+ 'nspr/pr/include', |
+ 'nspr/lib/ds', |
+ 'nspr/lib/libc/include', |
+ 'nss/lib/freebl/ecl', |
+ '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 |
@@ -583,9 +648,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 +1044,7 @@ |
], |
'dependencies': [ |
'nspr', |
+ 'nss_static_avx', |
'../sqlite/sqlite.gyp:sqlite', |
], |
'export_dependent_settings': [ |
@@ -1202,8 +1265,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 +1273,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', |
], |