diff options
author | Haochen Tong <i@hexchain.org> | 2021-10-12 02:07:45 +0800 |
---|---|---|
committer | Marge Bot <ben+marge-bot@smart-cactus.org> | 2021-10-12 19:17:53 -0400 |
commit | 234bf3688b14299ad8cebc20206c1a5df34139d4 (patch) | |
tree | 7d80044a2f8009aa1763e4c36cd44754bd45147a /configure.ac | |
parent | 90f06a0e015e18c066fe1569fb2add318bec72ca (diff) | |
download | haskell-234bf3688b14299ad8cebc20206c1a5df34139d4.tar.gz |
Move libatomic check into m4/fp_gcc_supports_atomics.m4
Diffstat (limited to 'configure.ac')
-rw-r--r-- | configure.ac | 35 |
1 files changed, 3 insertions, 32 deletions
diff --git a/configure.ac b/configure.ac index cde0637d1f..482892b8e4 100644 --- a/configure.ac +++ b/configure.ac @@ -789,13 +789,10 @@ dnl ** See whether cc supports -no-pie FP_GCC_SUPPORTS_NO_PIE dnl ** Used to determine how to compile ghc-prim's atomics.c, used by -dnl unregisterised, Sparc, and PPC backends. +dnl unregisterised, Sparc, and PPC backends. Also determines whether +dnl linking to libatomic is required for atomic operations, e.g. on +dnl RISCV64 GCC. FP_GCC_SUPPORTS__ATOMICS -if test $CONF_GCC_SUPPORTS__ATOMICS = YES ; then - AC_DEFINE([HAVE_C11_ATOMICS], [1], [Does GCC support __atomic primitives?]) -else - AC_MSG_ERROR([C compiler needs to support __atomic primitives.]) -fi FP_GCC_EXTRA_FLAGS @@ -1189,32 +1186,6 @@ AC_LINK_IFELSE([AC_LANG_CALL([], [printf\$LDBLStub])], FP_CHECK_PTHREADS -AC_MSG_CHECKING(whether -latomic is needed for sub-word-sized atomic operations) -AC_LINK_IFELSE([AC_LANG_PROGRAM([[unsigned char a;]], [[__atomic_fetch_or(&a, 1, __ATOMIC_RELAXED);]])], - [ - AC_MSG_RESULT(no) - AC_SUBST([CabalNeedLibatomic],[False]) - need_latomic=0 - ], - [ - _save_LIBS=$LIBS - LIBS="-latomic" - AC_LINK_IFELSE([AC_LANG_PROGRAM([[unsigned char a;]], [[__atomic_fetch_or(&a, 1, __ATOMIC_RELAXED);]])], - [ - AC_MSG_RESULT(yes) - AC_SUBST([CabalNeedLibatomic],[True]) - need_latomic=1 - ], - [ - AC_SUBST([CabalNeedLibatomic],[False]) - AC_MSG_ERROR([sub-word-sized atomic operations not available.]) - need_latomic=0 - ]) - LIBS=$_save_LIBS - ]) -AC_DEFINE_UNQUOTED([NEED_ATOMIC_LIB], [$need_latomic], - [Define to 1 if we need -latomic for sub-word atomic operations.]) - dnl ** check for eventfd which is needed by the I/O manager AC_CHECK_HEADERS([sys/eventfd.h]) AC_CHECK_FUNCS([eventfd]) |