Merge #399: build: verify that the native compiler works for static precomp
aa0b1fd
build: verify that the native compiler works for static precomp (Cory Fields)
This commit is contained in:
commit
24ad20f75b
31
configure.ac
31
configure.ac
|
@ -107,7 +107,7 @@ AC_ARG_ENABLE(endomorphism,
|
||||||
AC_ARG_ENABLE(ecmult_static_precomputation,
|
AC_ARG_ENABLE(ecmult_static_precomputation,
|
||||||
AS_HELP_STRING([--enable-ecmult-static-precomputation],[enable precomputed ecmult table for signing (default is yes)]),
|
AS_HELP_STRING([--enable-ecmult-static-precomputation],[enable precomputed ecmult table for signing (default is yes)]),
|
||||||
[use_ecmult_static_precomputation=$enableval],
|
[use_ecmult_static_precomputation=$enableval],
|
||||||
[use_ecmult_static_precomputation=yes])
|
[use_ecmult_static_precomputation=auto])
|
||||||
|
|
||||||
AC_ARG_ENABLE(module_ecdh,
|
AC_ARG_ENABLE(module_ecdh,
|
||||||
AS_HELP_STRING([--enable-module-ecdh],[enable ECDH shared secret computation (experimental)]),
|
AS_HELP_STRING([--enable-module-ecdh],[enable ECDH shared secret computation (experimental)]),
|
||||||
|
@ -149,6 +149,34 @@ AC_COMPILE_IFELSE([AC_LANG_SOURCE([[void myfunc() {__builtin_expect(0,0);}]])],
|
||||||
[ AC_MSG_RESULT([no])
|
[ AC_MSG_RESULT([no])
|
||||||
])
|
])
|
||||||
|
|
||||||
|
if test x"$use_ecmult_static_precomputation" != x"no"; then
|
||||||
|
save_cross_compiling=$cross_compiling
|
||||||
|
cross_compiling=no
|
||||||
|
TEMP_CC="$CC"
|
||||||
|
CC="$CC_FOR_BUILD"
|
||||||
|
AC_MSG_CHECKING([native compiler: ${CC_FOR_BUILD}])
|
||||||
|
AC_RUN_IFELSE(
|
||||||
|
[AC_LANG_PROGRAM([], [return 0])],
|
||||||
|
[working_native_cc=yes],
|
||||||
|
[working_native_cc=no],[dnl])
|
||||||
|
CC="$TEMP_CC"
|
||||||
|
cross_compiling=$save_cross_compiling
|
||||||
|
|
||||||
|
if test x"$working_native_cc" = x"no"; then
|
||||||
|
set_precomp=no
|
||||||
|
if test x"$use_ecmult_static_precomputation" = x"yes"; then
|
||||||
|
AC_MSG_ERROR([${CC_FOR_BUILD} does not produce working binaries. Please set CC_FOR_BUILD])
|
||||||
|
else
|
||||||
|
AC_MSG_RESULT([${CC_FOR_BUILD} does not produce working binaries. Please set CC_FOR_BUILD])
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
AC_MSG_RESULT([ok])
|
||||||
|
set_precomp=yes
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
set_precomp=no
|
||||||
|
fi
|
||||||
|
|
||||||
if test x"$req_asm" = x"auto"; then
|
if test x"$req_asm" = x"auto"; then
|
||||||
SECP_64BIT_ASM_CHECK
|
SECP_64BIT_ASM_CHECK
|
||||||
if test x"$has_64bit_asm" = x"yes"; then
|
if test x"$has_64bit_asm" = x"yes"; then
|
||||||
|
@ -393,6 +421,7 @@ if test x"$use_external_asm" = x"yes"; then
|
||||||
AC_DEFINE(USE_EXTERNAL_ASM, 1, [Define this symbol if an external (non-inline) assembly implementation is used])
|
AC_DEFINE(USE_EXTERNAL_ASM, 1, [Define this symbol if an external (non-inline) assembly implementation is used])
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
AC_MSG_NOTICE([Using static precomputation: $set_precomp])
|
||||||
AC_MSG_NOTICE([Using assembly optimizations: $set_asm])
|
AC_MSG_NOTICE([Using assembly optimizations: $set_asm])
|
||||||
AC_MSG_NOTICE([Using field implementation: $set_field])
|
AC_MSG_NOTICE([Using field implementation: $set_field])
|
||||||
AC_MSG_NOTICE([Using bignum implementation: $set_bignum])
|
AC_MSG_NOTICE([Using bignum implementation: $set_bignum])
|
||||||
|
|
Loading…
Reference in New Issue