LEFT | RIGHT |
1 #! gmake | 1 #! gmake |
2 # | 2 # |
3 # This Source Code Form is subject to the terms of the Mozilla Public | 3 # This Source Code Form is subject to the terms of the Mozilla Public |
4 # License, v. 2.0. If a copy of the MPL was not distributed with this | 4 # License, v. 2.0. If a copy of the MPL was not distributed with this |
5 # file, You can obtain one at http://mozilla.org/MPL/2.0/. | 5 # file, You can obtain one at http://mozilla.org/MPL/2.0/. |
6 | 6 |
7 ####################################################################### | 7 ####################################################################### |
8 # (1) Include initial platform-independent assignments (MANDATORY). # | 8 # (1) Include initial platform-independent assignments (MANDATORY). # |
9 ####################################################################### | 9 ####################################################################### |
10 | 10 |
(...skipping 148 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
159 endif | 159 endif |
160 ASFILES = arcfour-amd64-masm.asm mpi_amd64_masm.asm mp_comba_amd64_masm.asm | 160 ASFILES = arcfour-amd64-masm.asm mpi_amd64_masm.asm mp_comba_amd64_masm.asm |
161 DEFINES += -DNSS_BEVAND_ARCFOUR -DMPI_AMD64 -DMP_ASSEMBLY_MULTIPLY | 161 DEFINES += -DNSS_BEVAND_ARCFOUR -DMPI_AMD64 -DMP_ASSEMBLY_MULTIPLY |
162 DEFINES += -DNSS_USE_COMBA | 162 DEFINES += -DNSS_USE_COMBA |
163 # The Intel AES assembly code requires Visual C++ 2010 (10.0). The _xgetbv | 163 # The Intel AES assembly code requires Visual C++ 2010 (10.0). The _xgetbv |
164 # compiler intrinsic function requires Visual C++ 2010 (10.0) SP1. | 164 # compiler intrinsic function requires Visual C++ 2010 (10.0) SP1. |
165 ifeq ($(_MSC_VER_GE_10SP1),1) | 165 ifeq ($(_MSC_VER_GE_10SP1),1) |
166 DEFINES += -DUSE_HW_AES -DINTEL_GCM | 166 DEFINES += -DUSE_HW_AES -DINTEL_GCM |
167 ASFILES += intel-aes-x64-masm.asm intel-gcm-x64-masm.asm | 167 ASFILES += intel-aes-x64-masm.asm intel-gcm-x64-masm.asm |
168 EXTRA_SRCS += intel-gcm-wrap.c | 168 EXTRA_SRCS += intel-gcm-wrap.c |
| 169 ifeq ($(CLANG_CL),1) |
| 170 INTEL_GCM_CLANG_CL = 1 |
| 171 endif |
169 endif | 172 endif |
170 MPI_SRCS += mpi_amd64.c | 173 MPI_SRCS += mpi_amd64.c |
171 endif | 174 endif |
172 endif | 175 endif |
173 endif | 176 endif |
174 | 177 |
175 ifeq ($(OS_TARGET),IRIX) | 178 ifeq ($(OS_TARGET),IRIX) |
176 ifeq ($(USE_N32),1) | 179 ifeq ($(USE_N32),1) |
177 ASFILES = mpi_mips.s | 180 ASFILES = mpi_mips.s |
178 ifeq ($(NS_USE_GCC),1) | 181 ifeq ($(NS_USE_GCC),1) |
(...skipping 296 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
475 #enable floating point ECC code· | 478 #enable floating point ECC code· |
476 DEFINES += -DECL_USE_FP | 479 DEFINES += -DECL_USE_FP |
477 ECL_SRCS += ecp_fp160.c ecp_fp192.c ecp_fp224.c ecp_fp.c | 480 ECL_SRCS += ecp_fp160.c ecp_fp192.c ecp_fp224.c ecp_fp.c |
478 ECL_HDRS += ecp_fp.h | 481 ECL_HDRS += ecp_fp.h |
479 endif | 482 endif |
480 endif | 483 endif |
481 | 484 |
482 # poly1305-donna-x64-sse2-incremental-source.c requires __int128 support | 485 # poly1305-donna-x64-sse2-incremental-source.c requires __int128 support |
483 # in GCC 4.6.0. | 486 # in GCC 4.6.0. |
484 ifeq ($(CC_NAME),clang) | 487 ifeq ($(CC_NAME),clang) |
485 have_int128_support = 1 | 488 HAVE_INT128_SUPPORT = 1 |
486 else | 489 else ifeq (1,$(CC_IS_GCC)) |
487 ifneq (,$(filter 4.6 4.7 4.8 4.9,$(word 1,$(CC_VERSION)).$(word 2,$(CC_VERSI
ON)))) | 490 ifneq (,$(filter 4.6 4.7 4.8 4.9,$(word 1,$(GCC_VERSION)).$(word 2,$(GCC_VER
SION)))) |
488 have_int128_support = 1 | 491 HAVE_INT128_SUPPORT = 1 |
489 endif | 492 endif |
490 ifeq (,$(filter 0 1 2 3 4,$(word 1,$(CC_VERSION)))) | 493 ifeq (,$(filter 0 1 2 3 4,$(word 1,$(GCC_VERSION)))) |
491 have_int128_support = 1 | 494 HAVE_INT128_SUPPORT = 1 |
492 endif | |
493 ifndef have_int128_support | |
494 have_int128_support = 0 | |
495 endif | 495 endif |
496 endif | 496 endif |
497 | 497 |
498 ifeq ($(CPU_ARCH),x86_64) | 498 ifeq ($(CPU_ARCH),x86_64) |
499 ifeq ($(have_int128_support),1) | 499 ifdef HAVE_INT128_SUPPORT |
500 EXTRA_SRCS += poly1305/poly1305-donna-x64-sse2-incremental-source.c | 500 EXTRA_SRCS += poly1305/poly1305-donna-x64-sse2-incremental-source.c |
501 else | 501 else |
502 EXTRA_SRCS += poly1305/poly1305.c | 502 EXTRA_SRCS += poly1305/poly1305.c |
503 endif | 503 endif |
504 EXTRA_SRCS += chacha20/chacha20_vec.c | 504 EXTRA_SRCS += chacha20/chacha20_vec.c |
505 else | 505 else |
506 EXTRA_SRCS += poly1305/poly1305.c | 506 EXTRA_SRCS += poly1305/poly1305.c |
507 EXTRA_SRCS += chacha20/chacha20.c | 507 EXTRA_SRCS += chacha20/chacha20.c |
508 endif # x86_64 | 508 endif # x86_64 |
509 | 509 |
(...skipping 189 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
699 $(OBJDIR)/$(PROG_PREFIX)intel-gcm$(OBJ_SUFFIX): ASFLAGS += -no-integrated-as | 699 $(OBJDIR)/$(PROG_PREFIX)intel-gcm$(OBJ_SUFFIX): ASFLAGS += -no-integrated-as |
700 endif | 700 endif |
701 endif | 701 endif |
702 | 702 |
703 ifdef INTEL_GCM_CLANG_CL | 703 ifdef INTEL_GCM_CLANG_CL |
704 # | 704 # |
705 # clang-cl needs -mssse3 | 705 # clang-cl needs -mssse3 |
706 # | 706 # |
707 $(OBJDIR)/$(PROG_PREFIX)intel-gcm-wrap$(OBJ_SUFFIX): CFLAGS += -mssse3 | 707 $(OBJDIR)/$(PROG_PREFIX)intel-gcm-wrap$(OBJ_SUFFIX): CFLAGS += -mssse3 |
708 endif | 708 endif |
LEFT | RIGHT |