Merge branch 'master' into hmqv
commit
30bc4b3e0a
13
GNUmakefile
13
GNUmakefile
|
|
@ -29,15 +29,16 @@ IS_CYGWIN := $(shell $(CXX) -dumpmachine 2>&1 | $(EGREP) -i -c "Cygwin")
|
||||||
IS_DARWIN := $(shell $(CXX) -dumpmachine 2>&1 | $(EGREP) -i -c "Darwin")
|
IS_DARWIN := $(shell $(CXX) -dumpmachine 2>&1 | $(EGREP) -i -c "Darwin")
|
||||||
IS_NETBSD := $(shell $(CXX) -dumpmachine 2>&1 | $(EGREP) -i -c "NetBSD")
|
IS_NETBSD := $(shell $(CXX) -dumpmachine 2>&1 | $(EGREP) -i -c "NetBSD")
|
||||||
|
|
||||||
SUN_COMPILER := $(shell $(CXX) -V 2>&1 | $(EGREP) -i -c "CC: Sun")
|
SUN_COMPILER := $(shell $(CXX) -V 2>&1 | $(EGREP) -i -c "CC: (Sun|Studio)")
|
||||||
GCC_COMPILER := $(shell $(CXX) --version 2>&1 | $(EGREP) -i -v "clang" | $(EGREP) -i -c "(gcc|g\+\+)")
|
GCC_COMPILER := $(shell $(CXX) --version 2>&1 | $(EGREP) -i -v "clang" | $(EGREP) -i -c "(gcc|g\+\+)")
|
||||||
CLANG_COMPILER := $(shell $(CXX) --version 2>&1 | $(EGREP) -i -c "clang")
|
CLANG_COMPILER := $(shell $(CXX) --version 2>&1 | $(EGREP) -i -c "clang")
|
||||||
INTEL_COMPILER := $(shell $(CXX) --version 2>&1 | $(EGREP) -i -c "\(icc\)")
|
INTEL_COMPILER := $(shell $(CXX) --version 2>&1 | $(EGREP) -i -c "\(icc\)")
|
||||||
MACPORTS_COMPILER := $(shell $(CXX) --version 2>&1 | $(EGREP) -i -c "macports")
|
MACPORTS_COMPILER := $(shell $(CXX) --version 2>&1 | $(EGREP) -i -c "macports")
|
||||||
|
|
||||||
# Sun Studio 12.0 (0x0510) and 12.3 (0x0512)
|
# Sun Studio 12.0 (0x0510) and 12.3 (0x0512)
|
||||||
SUNCC_120_OR_LATER := $(shell $(CXX) -V 2>&1 | $(EGREP) -c "CC: Sun .* (5\.1[0-9]|5\.[2-9]|6\.)")
|
SUNCC_120_OR_LATER := $(shell $(CXX) -V 2>&1 | $(EGREP) -c "CC: (Sun|Studio) .* (5\.1[0-9]|5\.[2-9]|6\.)")
|
||||||
SUNCC_123_OR_LATER := $(shell $(CXX) -V 2>&1 | $(EGREP) -c "CC: Sun .* (5\.1[2-9]|5\.[2-9]|6\.)")
|
SUNCC_122_OR_LATER := $(shell $(CXX) -V 2>&1 | $(EGREP) -c "CC: (Sun|Studio) .* (5\.1[1-9]|5\.[2-9]|6\.)")
|
||||||
|
SUNCC_123_OR_LATER := $(shell $(CXX) -V 2>&1 | $(EGREP) -c "CC: (Sun|Studio) .* (5\.1[2-9]|5\.[2-9]|6\.)")
|
||||||
|
|
||||||
HAS_SOLIB_VERSION := $(IS_LINUX)
|
HAS_SOLIB_VERSION := $(IS_LINUX)
|
||||||
|
|
||||||
|
|
@ -265,7 +266,11 @@ ifneq ($(IS_X86),1)
|
||||||
CXXFLAGS += -KPIC
|
CXXFLAGS += -KPIC
|
||||||
endif
|
endif
|
||||||
# Add to all Solaris
|
# Add to all Solaris
|
||||||
CXXFLAGS += -template=no%extdef -w -erroff=wvarhidemem -erroff=voidretw
|
CXXFLAGS += -template=no%extdef
|
||||||
|
# Add to Sun Studio 12.2 and above
|
||||||
|
ifneq ($(SUNCC_122_OR_LATER),0)
|
||||||
|
CXXFLAGS += -w -erroff=wvarhidemem -erroff=voidretw
|
||||||
|
endif
|
||||||
SUN_CC10_BUGGY := $(shell $(CXX) -V 2>&1 | $(EGREP) -c "CC: Sun .* 5\.10 .* (2009|2010/0[1-4])")
|
SUN_CC10_BUGGY := $(shell $(CXX) -V 2>&1 | $(EGREP) -c "CC: Sun .* 5\.10 .* (2009|2010/0[1-4])")
|
||||||
ifneq ($(SUN_CC10_BUGGY),0)
|
ifneq ($(SUN_CC10_BUGGY),0)
|
||||||
# -DCRYPTOPP_INCLUDE_VECTOR_CC is needed for Sun Studio 12u1 Sun C++ 5.10 SunOS_i386 128229-02 2009/09/21 and was fixed in May 2010
|
# -DCRYPTOPP_INCLUDE_VECTOR_CC is needed for Sun Studio 12u1 Sun C++ 5.10 SunOS_i386 128229-02 2009/09/21 and was fixed in May 2010
|
||||||
|
|
|
||||||
54
cryptest.sh
54
cryptest.sh
|
|
@ -90,10 +90,20 @@ if [[ "$IS_SOLARIS" -ne "0" ]]; then
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Need something more powerful than the non-Posix versions
|
# Need something more powerful than the non-Posix versions
|
||||||
if [[ (-e "/usr/gnu/bin/grep") ]]; then GREP=/usr/gnu/bin/grep; fi
|
if [[ (-e "/usr/gnu/bin/grep") ]]; then
|
||||||
if [[ (-e "/usr/gnu/bin/egrep") ]]; then EGREP=/usr/gnu/bin/egrep; fi
|
GREP=/usr/gnu/bin/grep;
|
||||||
if [[ (-e "/usr/gnu/bin/sed") ]]; then SED=/usr/gnu/bin/sed; fi
|
fi
|
||||||
if [[ (-e "/usr/gnu/bin/awk") ]]; then AWK=/usr/gnu/bin/awk; else AWK=nawk; fi
|
if [[ (-e "/usr/gnu/bin/egrep") ]]; then
|
||||||
|
EGREP=/usr/gnu/bin/egrep;
|
||||||
|
fi
|
||||||
|
if [[ (-e "/usr/gnu/bin/sed") ]]; then
|
||||||
|
SED=/usr/gnu/bin/sed;
|
||||||
|
fi
|
||||||
|
if [[ (-e "/usr/gnu/bin/awk") ]]; then
|
||||||
|
AWK=/usr/gnu/bin/awk;
|
||||||
|
else
|
||||||
|
AWK=nawk;
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Recognize "fast" and "quick"...
|
# Recognize "fast" and "quick"...
|
||||||
|
|
@ -108,9 +118,10 @@ if [[ ((-z "$CXX") || ("$CXX" == "gcc")) ]]; then
|
||||||
if [[ "$IS_DARWIN" -ne "0" ]]; then
|
if [[ "$IS_DARWIN" -ne "0" ]]; then
|
||||||
CXX=c++
|
CXX=c++
|
||||||
elif [[ "$IS_SOLARIS" -ne "0" ]]; then
|
elif [[ "$IS_SOLARIS" -ne "0" ]]; then
|
||||||
if [[ (-e "/opt/developerstudio12.5/bin/CC") ]]; then
|
# SunCC 12.5 is mostly broken
|
||||||
CXX=/opt/developerstudio12.5/bin/CC
|
#if [[ (-e "/opt/developerstudio12.5/bin/CC") ]]; then
|
||||||
elif [[ (-e "/opt/solarisstudio12.4/bin/CC") ]]; then
|
# CXX=/opt/developerstudio12.5/bin/CC
|
||||||
|
if [[ (-e "/opt/solarisstudio12.4/bin/CC") ]]; then
|
||||||
CXX=/opt/solarisstudio12.4/bin/CC
|
CXX=/opt/solarisstudio12.4/bin/CC
|
||||||
elif [[ (-e "/opt/solarisstudio12.3/bin/CC") ]]; then
|
elif [[ (-e "/opt/solarisstudio12.3/bin/CC") ]]; then
|
||||||
CXX=/opt/solarisstudio12.3/bin/CC
|
CXX=/opt/solarisstudio12.3/bin/CC
|
||||||
|
|
@ -132,20 +143,29 @@ INTEL_COMPILER=$("$CXX" --version 2>&1 | "$EGREP" -i -c "\(icc\)")
|
||||||
MACPORTS_COMPILER=$("$CXX" --version 2>&1 | "$EGREP" -i -c "MacPorts")
|
MACPORTS_COMPILER=$("$CXX" --version 2>&1 | "$EGREP" -i -c "MacPorts")
|
||||||
CLANG_COMPILER=$("$CXX" --version 2>&1 | "$EGREP" -i -c "clang")
|
CLANG_COMPILER=$("$CXX" --version 2>&1 | "$EGREP" -i -c "clang")
|
||||||
|
|
||||||
if [[ ($("$CXX" -dM -E - </dev/null 2>/dev/null | "$EGREP" -c '(__x64_64__|__amd64__)') -ne "0") && ($("$CXX" -dM -E -</dev/null 2>/dev/null | "$EGREP" -c '(__ILP32|__ILP32)') -ne "0") ]]; then
|
if [[ ("$SUN_COMPILER -eq "0"") ]]; then
|
||||||
IS_X32=1
|
AMD64=$("$CXX" -dM -E - </dev/null 2>/dev/null | "$EGREP" -c '(__x64_64__|__amd64__)')
|
||||||
|
ILP32=$("$CXX" -dM -E - </dev/null 2>/dev/null | "$EGREP" -c '(__ILP32__|__ILP32)')
|
||||||
|
if [[ ("$AMD64" -ne "0") && ("$ILP32" -ne "0") ]]; then
|
||||||
|
IS_X32=1
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Now that the compiler is fixed, see if its GCC 5.1 or above with -Wabi, -Wabi-tag and -Wodr
|
# Now that the compiler is fixed, set some GCC specific flags
|
||||||
GCC_60_OR_ABOVE=$("$CXX" -v 2>&1 | "$EGREP" -i -c 'gcc version (6\.[0-9]|[7-9])')
|
GCC_60_OR_ABOVE=$("$CXX" -v 2>&1 | "$EGREP" -i -c 'gcc version (6\.[0-9]|[7-9])')
|
||||||
GCC_51_OR_ABOVE=$("$CXX" -v 2>&1 | "$EGREP" -i -c 'gcc version (5\.[1-9]|[6-9])')
|
GCC_51_OR_ABOVE=$("$CXX" -v 2>&1 | "$EGREP" -i -c 'gcc version (5\.[1-9]|[6-9])')
|
||||||
GCC_48_COMPILER=$("$CXX" -v 2>&1 | "$EGREP" -i -c 'gcc version 4\.8')
|
GCC_48_COMPILER=$("$CXX" -v 2>&1 | "$EGREP" -i -c 'gcc version 4\.8')
|
||||||
# SunCC 12.2 and below needs one set of CXXFLAGS; SunCC 12.3 and above needs another set of CXXFLAGS
|
# SunCC 12.2 and below needs one set of CXXFLAGS; SunCC 12.3 and above needs another set of CXXFLAGS. Beware, SunCC 12.5 is broken.
|
||||||
SUNCC_123_OR_ABOVE=$("$CXX" -E -xdumpmacros /dev/null 2>&1 | "$GREP" " __SUNPRO_CC " 2>/dev/null | "$AWK" '{print ($2 >= 0x5120) ? "1" : "0"}' )
|
SUNCC_123_OR_ABOVE=$("$CXX" -E -xdumpmacros /dev/null 2>&1 | "$GREP" " __SUNPRO_CC " 2>/dev/null | "$AWK" '{print ($2 >= 0x5120) ? "1" : "0"}' )
|
||||||
|
|
||||||
# Fixup
|
# Fixup
|
||||||
if [[ ("$IS_OPENBSD" -ne "0" || "$IS_NETBSD" -ne "0" || "$IS_SOLARIS" -ne "0") ]]; then
|
if [[ ("$IS_OPENBSD" -ne "0" || "$IS_NETBSD" -ne "0") ]]; then
|
||||||
MAKE=gmake
|
MAKE=gmake
|
||||||
|
elif [[ ("$IS_SOLARIS" -ne "0") ]]; then
|
||||||
|
MAKE=$(which gmake 2>/dev/null)
|
||||||
|
if [[ (-z "$MAKE") && (-e "/usr/sfw/bin/gmake") ]]; then
|
||||||
|
MAKE=/usr/sfw/bin/gmake
|
||||||
|
fi
|
||||||
else
|
else
|
||||||
MAKE=make
|
MAKE=make
|
||||||
fi
|
fi
|
||||||
|
|
@ -645,9 +665,9 @@ fi
|
||||||
|
|
||||||
############################################
|
############################################
|
||||||
|
|
||||||
GIT_REPO=$(git branch 2>&1 | "$GREP" -v "fatal" | wc -l)
|
GIT_REPO=$(git branch 2>&1 | "$GREP" -v "fatal" | wc -l | "$AWK" '{print $1; exit;}')
|
||||||
if [[ "$GIT_REPO" -ne "0" ]]; then
|
if [[ "$GIT_REPO" -ne "0" ]]; then
|
||||||
GIT_BRANCH=$(git branch 2>/dev/null | "$GREP" '*' | cut -c 3-)
|
GIT_BRANCH=$(git rev-parse --abbrev-ref HEAD 2>/dev/null)
|
||||||
GIT_HASH=$(git rev-parse HEAD 2>/dev/null | cut -c 1-16)
|
GIT_HASH=$(git rev-parse HEAD 2>/dev/null | cut -c 1-16)
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
@ -4225,7 +4245,7 @@ if (( "$ECOUNT" == "0" )); then
|
||||||
else
|
else
|
||||||
echo "$ECOUNT errors detected. See $TEST_RESULTS for details" | tee -a "$TEST_RESULTS"
|
echo "$ECOUNT errors detected. See $TEST_RESULTS for details" | tee -a "$TEST_RESULTS"
|
||||||
if (( "$ECOUNT" < 16 )); then
|
if (( "$ECOUNT" < 16 )); then
|
||||||
"$EGREP" -an '(Error|ERROR|error|FAILED|Illegal)' "$TEST_RESULTS" | "$EGREP" -v '( 0 errors|suppressed errors|error detector)'
|
"$EGREP" -n '(Error|ERROR|error|FAILED|Illegal)' "$TEST_RESULTS" | "$EGREP" -v '( 0 errors|suppressed errors|error detector)'
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
@ -4238,10 +4258,10 @@ echo | tee -a "$TEST_RESULTS" "$WARN_RESULTS"
|
||||||
|
|
||||||
WCOUNT=$("$EGREP" -a '(warning:)' $WARN_RESULTS | "$GREP" -v 'deprecated-declarations' | wc -l | "$AWK" '{print $1}')
|
WCOUNT=$("$EGREP" -a '(warning:)' $WARN_RESULTS | "$GREP" -v 'deprecated-declarations' | wc -l | "$AWK" '{print $1}')
|
||||||
if (( "$WCOUNT" == "0" )); then
|
if (( "$WCOUNT" == "0" )); then
|
||||||
echo "No warnings detected" | tee -a "$TEST_RESULTS" "$WARN_RESULTS" | tee -a "$TEST_RESULTS" "$WARN_RESULTS"
|
echo "No warnings detected" | tee -a "$TEST_RESULTS" "$WARN_RESULTS"
|
||||||
else
|
else
|
||||||
echo "$WCOUNT warnings detected. See $WARN_RESULTS for details" | tee -a "$TEST_RESULTS" "$WARN_RESULTS"
|
echo "$WCOUNT warnings detected. See $WARN_RESULTS for details" | tee -a "$TEST_RESULTS" "$WARN_RESULTS"
|
||||||
# "$EGREP" -an '(warning:)' $WARN_RESULTS | "$GREP" -v 'deprecated-declarations'
|
# "$EGREP" -n '(warning:)' $WARN_RESULTS | "$GREP" -v 'deprecated-declarations'
|
||||||
fi
|
fi
|
||||||
|
|
||||||
############################################
|
############################################
|
||||||
|
|
|
||||||
|
|
@ -45,7 +45,7 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// "Error: The operand ___LKDB cannot be assigned to", http://github.com/weidai11/cryptopp/issues/188
|
// "Error: The operand ___LKDB cannot be assigned to", http://github.com/weidai11/cryptopp/issues/188
|
||||||
#if (__SUNPRO_CC == 0x5130)
|
#if (__SUNPRO_CC >= 0x5130)
|
||||||
# define MAYBE_CONST
|
# define MAYBE_CONST
|
||||||
# define MAYBE_UNCONST_CAST const_cast<word*>
|
# define MAYBE_UNCONST_CAST const_cast<word*>
|
||||||
#else
|
#else
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue