@@ -10,8 +10,6 @@ SHELL = /bin/sh
10
10
11
11
# If needed
12
12
TMPDIR ?= /tmp
13
- # Used for ARMv7 and NEON.
14
- FP_ABI ?= hard
15
13
# Used for feature tests
16
14
TOUT ?= a.out
17
15
TOUT := $(strip $(TOUT ) )
@@ -53,8 +51,6 @@ IS_SPARC64 := $(shell echo "$(HOSTX)" | $(GREP) -i -c -E 'sun|sparc64')
53
51
IS_ARM32 := $(shell echo "$(HOSTX ) " | $(GREP ) -i -c -E 'arm|armhf|arm7l|eabihf')
54
52
IS_ARMV8 := $(shell echo "$(HOSTX ) " | $(GREP ) -i -c -E 'aarch32|aarch64|arm64|armv8')
55
53
56
- IS_NEON := $(shell $(CXX ) $(CXXFLAGS ) -dumpmachine 2>/dev/null | $(GREP ) -i -c -E 'armv7|armhf|arm7l|eabihf|armv8|aarch32|aarch64')
57
-
58
54
# Attempt to determine platform
59
55
SYSTEMX := $(shell $(CXX ) $(CXXFLAGS ) -dumpmachine 2>/dev/null)
60
56
ifeq ($(SYSTEMX ) ,)
@@ -439,37 +435,37 @@ endif
439
435
# #### ARM A-32, Aach64 and NEON #####
440
436
# ##########################################################
441
437
442
- ifneq ($(IS_ARM32 )$(IS_ARMV8 )$( IS_NEON ) ,000 )
438
+ ifneq ($(IS_ARM32 )$(IS_ARMV8 ) ,00 )
443
439
ifeq ($(DETECT_FEATURES ) ,1)
444
440
445
- ifeq ($(IS_ARM32 )$( IS_NEON ) ,11 )
441
+ ifneq ($(IS_ARM32 ) ,0 )
446
442
447
443
TPROG = TestPrograms/test_arm_neon.cxx
448
- TOPT = -march=armv7-a -mfloat-abi= $( FP_ABI ) - mfpu=neon
444
+ TOPT = -march=armv7-a -mfpu=neon
449
445
HAVE_OPT = $(shell $(CXX ) $(TCXXFLAGS ) $(ZOPT ) $(TOPT ) $(TPROG ) -o $(TOUT ) 2>&1 | tr ' ' '\n' | wc -l)
450
446
ifeq ($(strip $(HAVE_OPT)),0)
451
- NEON_FLAG = -march=armv7-a -mfloat-abi= $( FP_ABI ) - mfpu=neon
452
- ARIA_FLAG = -march=armv7-a -mfloat-abi= $( FP_ABI ) - mfpu=neon
453
- AES_FLAG = -march=armv7-a -mfloat-abi= $( FP_ABI ) - mfpu=neon
454
- CRC_FLAG = -march=armv7-a -mfloat-abi= $( FP_ABI ) - mfpu=neon
455
- GCM_FLAG = -march=armv7-a -mfloat-abi= $( FP_ABI ) - mfpu=neon
456
- BLAKE2B_FLAG = -march=armv7-a -mfloat-abi= $( FP_ABI ) - mfpu=neon
457
- BLAKE2S_FLAG = -march=armv7-a -mfloat-abi= $( FP_ABI ) - mfpu=neon
458
- CHACHA_FLAG = -march=armv7-a -mfloat-abi= $( FP_ABI ) - mfpu=neon
459
- CHAM_FLAG = -march=armv7-a -mfloat-abi= $( FP_ABI ) - mfpu=neon
460
- LEA_FLAG = -march=armv7-a -mfloat-abi= $( FP_ABI ) - mfpu=neon
461
- SHA_FLAG = -march=armv7-a -mfloat-abi= $( FP_ABI ) - mfpu=neon
462
- SIMECK_FLAG = -march=armv7-a -mfloat-abi= $( FP_ABI ) - mfpu=neon
463
- SIMON64_FLAG = -march=armv7-a -mfloat-abi= $( FP_ABI ) - mfpu=neon
464
- SIMON128_FLAG = -march=armv7-a -mfloat-abi= $( FP_ABI ) - mfpu=neon
465
- SPECK64_FLAG = -march=armv7-a -mfloat-abi= $( FP_ABI ) - mfpu=neon
466
- SPECK128_FLAG = -march=armv7-a -mfloat-abi= $( FP_ABI ) - mfpu=neon
467
- SM4_FLAG = -march=armv7-a -mfloat-abi= $( FP_ABI ) - mfpu=neon
447
+ NEON_FLAG = -march=armv7-a -mfpu=neon
448
+ ARIA_FLAG = -march=armv7-a -mfpu=neon
449
+ AES_FLAG = -march=armv7-a -mfpu=neon
450
+ CRC_FLAG = -march=armv7-a -mfpu=neon
451
+ GCM_FLAG = -march=armv7-a -mfpu=neon
452
+ BLAKE2B_FLAG = -march=armv7-a -mfpu=neon
453
+ BLAKE2S_FLAG = -march=armv7-a -mfpu=neon
454
+ CHACHA_FLAG = -march=armv7-a -mfpu=neon
455
+ CHAM_FLAG = -march=armv7-a -mfpu=neon
456
+ LEA_FLAG = -march=armv7-a -mfpu=neon
457
+ SHA_FLAG = -march=armv7-a -mfpu=neon
458
+ SIMECK_FLAG = -march=armv7-a -mfpu=neon
459
+ SIMON64_FLAG = -march=armv7-a -mfpu=neon
460
+ SIMON128_FLAG = -march=armv7-a -mfpu=neon
461
+ SPECK64_FLAG = -march=armv7-a -mfpu=neon
462
+ SPECK128_FLAG = -march=armv7-a -mfpu=neon
463
+ SM4_FLAG = -march=armv7-a -mfpu=neon
468
464
else
469
465
CXXFLAGS += -DCRYPTOPP_DISABLE_ASM
470
466
endif
471
467
472
- # IS_NEON
468
+ # IS_ARM32
473
469
endif
474
470
475
471
ifeq ($(IS_ARMV8 ) ,1)
@@ -485,7 +481,7 @@ ifeq ($(IS_ARMV8),1)
485
481
486
482
TPROG = TestPrograms/test_arm_asimd.cxx
487
483
TOPT = -march=armv8-a
488
- HAVE_OPT = $(shell $(CXX ) $(CXXFLAGS ) $(ACLE_FLAG ) $(ZOPT ) $(TOPT ) $(TPROG ) -o $(TOUT ) 2>&1 | tr ' ' '\n' | wc -l)
484
+ HAVE_OPT = $(shell $(CXX ) $(TCXXFLAGS ) $(ACLE_FLAG ) $(ZOPT ) $(TOPT ) $(TPROG ) -o $(TOUT ) 2>&1 | tr ' ' '\n' | wc -l)
489
485
ifeq ($(strip $(HAVE_OPT)),0)
490
486
ASIMD_FLAG = -march=armv8-a
491
487
ARIA_FLAG = -march=armv8-a
@@ -508,7 +504,7 @@ ifeq ($(IS_ARMV8),1)
508
504
ifneq ($(ASIMD_FLAG),)
509
505
TPROG = TestPrograms/test_arm_crc.cxx
510
506
TOPT = -march=armv8-a+crc
511
- HAVE_OPT = $(shell $(CXX ) $(CXXFLAGS ) $(ACLE_FLAG ) $(ZOPT ) $(TOPT ) $(TPROG ) -o $(TOUT ) 2>&1 | tr ' ' '\n' | wc -l)
507
+ HAVE_OPT = $(shell $(CXX ) $(TCXXFLAGS ) $(ACLE_FLAG ) $(ZOPT ) $(TOPT ) $(TPROG ) -o $(TOUT ) 2>&1 | tr ' ' '\n' | wc -l)
512
508
ifeq ($(strip $(HAVE_OPT)),0)
513
509
CRC_FLAG = -march=armv8-a+crc
514
510
else
@@ -517,7 +513,7 @@ ifeq ($(IS_ARMV8),1)
517
513
518
514
TPROG = TestPrograms/test_arm_aes.cxx
519
515
TOPT = -march=armv8-a+crypto
520
- HAVE_OPT = $(shell $(CXX ) $(CXXFLAGS ) $(ACLE_FLAG ) $(ZOPT ) $(TOPT ) $(TPROG ) -o $(TOUT ) 2>&1 | tr ' ' '\n' | wc -l)
516
+ HAVE_OPT = $(shell $(CXX ) $(TCXXFLAGS ) $(ACLE_FLAG ) $(ZOPT ) $(TOPT ) $(TPROG ) -o $(TOUT ) 2>&1 | tr ' ' '\n' | wc -l)
521
517
ifeq ($(strip $(HAVE_OPT)),0)
522
518
AES_FLAG = -march=armv8-a+crypto
523
519
else
@@ -526,7 +522,7 @@ ifeq ($(IS_ARMV8),1)
526
522
527
523
TPROG = TestPrograms/test_arm_pmull.cxx
528
524
TOPT = -march=armv8-a+crypto
529
- HAVE_OPT = $(shell $(CXX ) $(CXXFLAGS ) $(ACLE_FLAG ) $(ZOPT ) $(TOPT ) $(TPROG ) -o $(TOUT ) 2>&1 | tr ' ' '\n' | wc -l)
525
+ HAVE_OPT = $(shell $(CXX ) $(TCXXFLAGS ) $(ACLE_FLAG ) $(ZOPT ) $(TOPT ) $(TPROG ) -o $(TOUT ) 2>&1 | tr ' ' '\n' | wc -l)
530
526
ifeq ($(strip $(HAVE_OPT)),0)
531
527
GCM_FLAG = -march=armv8-a+crypto
532
528
GF2N_FLAG = -march=armv8-a+crypto
@@ -536,7 +532,7 @@ ifeq ($(IS_ARMV8),1)
536
532
537
533
TPROG = TestPrograms/test_arm_sha.cxx
538
534
TOPT = -march=armv8-a+crypto
539
- HAVE_OPT = $(shell $(CXX ) $(CXXFLAGS ) $(ACLE_FLAG ) $(ZOPT ) $(TOPT ) $(TPROG ) -o $(TOUT ) 2>&1 | tr ' ' '\n' | wc -l)
535
+ HAVE_OPT = $(shell $(CXX ) $(TCXXFLAGS ) $(ACLE_FLAG ) $(ZOPT ) $(TOPT ) $(TPROG ) -o $(TOUT ) 2>&1 | tr ' ' '\n' | wc -l)
540
536
ifeq ($(strip $(HAVE_OPT)),0)
541
537
SHA_FLAG = -march=armv8-a+crypto
542
538
else
@@ -545,15 +541,15 @@ ifeq ($(IS_ARMV8),1)
545
541
546
542
TPROG = TestPrograms/test_arm_sm3.cxx
547
543
TOPT = -march=armv8.4-a+crypto
548
- HAVE_OPT = $(shell $(CXX ) $(CXXFLAGS ) $(ACLE_FLAG ) $(ZOPT ) $(TOPT ) $(TPROG ) -o $(TOUT ) 2>&1 | tr ' ' '\n' | wc -l)
544
+ HAVE_OPT = $(shell $(CXX ) $(TCXXFLAGS ) $(ACLE_FLAG ) $(ZOPT ) $(TOPT ) $(TPROG ) -o $(TOUT ) 2>&1 | tr ' ' '\n' | wc -l)
549
545
ifeq ($(strip $(HAVE_OPT)),0)
550
546
SM3_FLAG = -march=armv8.4-a+crypto
551
547
SM4_FLAG = -march=armv8.4-a+crypto
552
548
endif
553
549
554
550
TPROG = TestPrograms/test_arm_sha3.cxx
555
551
TOPT = -march=armv8.4-a+crypto
556
- HAVE_OPT = $(shell $(CXX ) $(CXXFLAGS ) $(ACLE_FLAG ) $(ZOPT ) $(TOPT ) $(TPROG ) -o $(TOUT ) 2>&1 | tr ' ' '\n' | wc -l)
552
+ HAVE_OPT = $(shell $(CXX ) $(TCXXFLAGS ) $(ACLE_FLAG ) $(ZOPT ) $(TOPT ) $(TPROG ) -o $(TOUT ) 2>&1 | tr ' ' '\n' | wc -l)
557
553
ifeq ($(strip $(HAVE_OPT)),0)
558
554
SHA3_FLAG = -march=armv8.4-a+crypto
559
555
endif
@@ -567,7 +563,7 @@ endif
567
563
# DETECT_FEATURES
568
564
endif
569
565
570
- # IS_ARM32, IS_ARMV8, IS_NEON
566
+ # IS_ARM32, IS_ARMV8
571
567
endif
572
568
573
569
# ##########################################################
@@ -622,13 +618,21 @@ ifeq ($(DETECT_FEATURES),1)
622
618
TOPT = $(POWER8_FLAG )
623
619
HAVE_OPT = $(shell $(CXX ) $(TCXXFLAGS ) $(ZOPT ) $(TOPT ) $(TPROG ) -o $(TOUT ) 2>&1 | tr ' ' '\n' | wc -l)
624
620
ifeq ($(strip $(HAVE_OPT)),0)
621
+ AES_FLAG = $(POWER8_FLAG )
622
+ ARIA_FLAG = $(POWER8_FLAG )
625
623
BLAKE2B_FLAG = $(POWER8_FLAG )
624
+ BLAKE2S_FLAG = $(POWER8_FLAG )
625
+ CHACHA_FLAG = $(POWER8_FLAG )
626
+ CHAM_FLAG = $(POWER8_FLAG )
626
627
CRC_FLAG = $(POWER8_FLAG )
627
628
GCM_FLAG = $(POWER8_FLAG )
628
629
GF2N_FLAG = $(POWER8_FLAG )
629
- AES_FLAG = $(POWER8_FLAG )
630
+ LEA_FLAG = $(POWER8_FLAG )
630
631
SHA_FLAG = $(POWER8_FLAG )
631
632
SHACAL2_FLAG = $(POWER8_FLAG )
633
+ SIMECK_FLAG = $(POWER8_FLAG )
634
+ SIMON64_FLAG = $(POWER8_FLAG )
635
+ SPECK64_FLAG = $(POWER8_FLAG )
632
636
SIMON128_FLAG = $(POWER8_FLAG )
633
637
SPECK128_FLAG = $(POWER8_FLAG )
634
638
else
@@ -641,16 +645,7 @@ ifeq ($(DETECT_FEATURES),1)
641
645
TPROG = TestPrograms/test_ppc_power7.cxx
642
646
TOPT = $(POWER7_FLAG )
643
647
HAVE_OPT = $(shell $(CXX ) $(TCXXFLAGS ) $(ZOPT ) $(TOPT ) $(TPROG ) -o $(TOUT ) 2>&1 | tr ' ' '\n' | wc -l)
644
- ifeq ($(strip $(HAVE_OPT)),0)
645
- ARIA_FLAG = $(POWER7_FLAG )
646
- BLAKE2S_FLAG = $(POWER7_FLAG )
647
- CHACHA_FLAG = $(POWER7_FLAG )
648
- CHAM_FLAG = $(POWER7_FLAG )
649
- LEA_FLAG = $(POWER7_FLAG )
650
- SIMECK_FLAG = $(POWER7_FLAG )
651
- SIMON64_FLAG = $(POWER7_FLAG )
652
- SPECK64_FLAG = $(POWER7_FLAG )
653
- else
648
+ ifneq ($(strip $(HAVE_OPT)),0)
654
649
POWER7_FLAG =
655
650
endif
656
651
@@ -693,18 +688,12 @@ ifeq ($(DETECT_FEATURES),1)
693
688
# ####################################################################
694
689
# Fixups for algorithms that can drop to a lower ISA, if needed
695
690
696
- # Drop to Power7 if Power8 is not available.
691
+ # Drop to Power4 if Power8 not available
697
692
ifeq ($(POWER8_FLAG),)
698
- ifneq ($(POWER7_FLAG),)
699
- GCM_FLAG = $(POWER7_FLAG )
700
- endif
701
- endif
702
-
703
- # Drop to Power4 if Power7 not available
704
- ifeq ($(POWER7_FLAG),)
705
693
ifneq ($(ALTIVEC_FLAG),)
706
694
BLAKE2S_FLAG = $(ALTIVEC_FLAG )
707
695
CHACHA_FLAG = $(ALTIVEC_FLAG )
696
+ GCM_FLAG = $(ALTIVEC_FLAG )
708
697
SIMON64_FLAG = $(ALTIVEC_FLAG )
709
698
SPECK64_FLAG = $(ALTIVEC_FLAG )
710
699
endif
@@ -1349,7 +1338,7 @@ libcryptopp.pc:
1349
1338
@echo ' ' >> libcryptopp.pc
1350
1339
@echo ' Name: Crypto++' >> libcryptopp.pc
1351
1340
@echo ' Description: Crypto++ cryptographic library' >> libcryptopp.pc
1352
- @echo ' Version: 8.1 ' >> libcryptopp.pc
1341
+ @echo ' Version: 8.2 ' >> libcryptopp.pc
1353
1342
@echo ' URL: https://cryptopp.com/' >> libcryptopp.pc
1354
1343
@echo ' ' >> libcryptopp.pc
1355
1344
@echo ' Cflags: -I$${includedir}' >> libcryptopp.pc
@@ -1430,7 +1419,7 @@ endif # Dependencies
1430
1419
1431
1420
# Cryptogams ARM asm implementation.
1432
1421
aes_armv4.o : aes_armv4.S
1433
- $(CC ) $(strip $(CXXFLAGS ) $(CRYPTOGAMS_AES_FLAG ) -mfloat-abi= $( FP_ABI ) - c) $<
1422
+ $(CC ) $(strip $(CXXFLAGS ) $(CRYPTOGAMS_AES_FLAG ) -c) $<
1434
1423
1435
1424
# SSSE3 or NEON available
1436
1425
aria_simd.o : aria_simd.cpp
0 commit comments