diff --git a/configure.ac b/configure.ac index c2ffa3f3..3e733e03 100644 --- a/configure.ac +++ b/configure.ac @@ -66,6 +66,20 @@ AC_ARG_ENABLE([nacl], ] ) +AC_ARG_ENABLE([randombytes-stir], + [AC_HELP_STRING([--enable-randombytes-stir], [use randombytes_stir() instead of sodium_init() for faster startup on android (default: disabled)]) ], + [ + if test "x$enableval" = "xyes"; then + if test "x$WANT_NACL" = "xyes"; then + AC_MSG_WARN([randombytes_stir() is not available with NaCl library]) + else + AC_DEFINE([USE_RANDOMBYTES_STIR], [1], [randombytes_stir() instead of sodium_init()]) + fi + fi + ] +) + + PKG_PROG_PKG_CONFIG AC_ARG_ENABLE([phone], diff --git a/toxcore/network.c b/toxcore/network.c index 839618bf..eb637546 100644 --- a/toxcore/network.c +++ b/toxcore/network.c @@ -415,8 +415,14 @@ static int at_startup(void) return 0; #ifndef VANILLA_NACL + +#ifdef USE_RANDOMBYTES_STIR + randombytes_stir(); +#else sodium_init(); -#endif +#endif /*USE_RANDOMBYTES_STIR*/ + +#endif/*VANILLA_NACL*/ #if defined(_WIN32) || defined(__WIN32__) || defined (WIN32) WSADATA wsaData;