diff options
author | Lukas Larsson <[email protected]> | 2013-08-08 10:25:58 +0200 |
---|---|---|
committer | Lukas Larsson <[email protected]> | 2013-08-08 10:25:58 +0200 |
commit | a44ae95751b309440c8419ec79d99abc94ff4d5f (patch) | |
tree | 6d3867af54ecaff66477c1c4f1d98e2da80fef08 | |
parent | e08d6790ebae6a74952f910355e19125408dcc74 (diff) | |
parent | 3fbbe6760a0476fccc2375dc8ca5791546dbc876 (diff) | |
download | otp-a44ae95751b309440c8419ec79d99abc94ff4d5f.tar.gz otp-a44ae95751b309440c8419ec79d99abc94ff4d5f.tar.bz2 otp-a44ae95751b309440c8419ec79d99abc94ff4d5f.zip |
Merge branch 'maint'
* maint:
Bailout if no native implementations are found
-rw-r--r-- | erts/configure.in | 5 | ||||
-rw-r--r-- | erts/include/internal/ethread.h | 4 |
2 files changed, 8 insertions, 1 deletions
diff --git a/erts/configure.in b/erts/configure.in index 2f624e5853..64436e933c 100644 --- a/erts/configure.in +++ b/erts/configure.in @@ -1051,12 +1051,15 @@ if test $ERTS_BUILD_SMP_EMU = yes; then AC_DEFINE(ERTS_HAVE_SMP_EMU, 1, [Define if the smp emulator is built]) + test "X$smp_require_native_atomics" = "Xyes" && + AC_DEFINE(ETHR_SMP_REQUIRE_NATIVE_IMPLS, 1, [Define if you want to enable check for native ethread implementations]) + case "$ethr_have_native_atomics-$smp_require_native_atomics-$ethr_have_native_spinlock" in yes-*) ;; no-yes-*) - AC_MSG_ERROR([No native atomic implementation found. See INSTALL.md for more information.]) + AC_MSG_ERROR([No native atomic implementation found. See Configuring section in INSTALL.md for more information.]) ;; no-no-yes) diff --git a/erts/include/internal/ethread.h b/erts/include/internal/ethread.h index 407097d4b1..38b8e9e9b6 100644 --- a/erts/include/internal/ethread.h +++ b/erts/include/internal/ethread.h @@ -361,6 +361,10 @@ extern ethr_runtime_t ethr_runtime__; # endif #endif /* !ETHR_DISABLE_NATIVE_IMPLS */ +#if !defined(ETHR_HAVE_NATIVE_ATOMIC32) && !defined(ETHR_HAVE_NATIVE_ATOMIC64) && !defined(ETHR_DISABLE_NATIVE_IMPLS) && defined(ETHR_SMP_REQUIRE_NATIVE_IMPLS) +#error "No native ethread implementation found. If you want to use fallbacks you have to disable native ethread support with configure." +#endif + #include "ethr_atomics.h" /* The atomics API */ #if defined(__GNUC__) |