diff options
-rw-r--r-- | aclocal.m4 | 18 | ||||
-rw-r--r-- | configure.ac | 5 | ||||
-rw-r--r-- | libraries/ghc-prim/Setup.hs | 2 | ||||
-rw-r--r-- | libraries/ghc-prim/aclocal.m4 | 17 | ||||
-rw-r--r-- | libraries/ghc-prim/configure.ac | 18 | ||||
-rw-r--r-- | libraries/ghc-prim/ghc-prim.buildinfo.in | 2 |
6 files changed, 38 insertions, 24 deletions
diff --git a/aclocal.m4 b/aclocal.m4 index 2ed2c08327..6f37972c08 100644 --- a/aclocal.m4 +++ b/aclocal.m4 @@ -1281,24 +1281,6 @@ AC_SUBST(GccIsClang) rm -f conftest.txt ]) -# FP_GCC_SUPPORTS__ATOMICS -# ------------------------ -# Does gcc support the __atomic_* family of builtins? -AC_DEFUN([FP_GCC_SUPPORTS__ATOMICS], -[ - AC_REQUIRE([AC_PROG_CC]) - AC_MSG_CHECKING([whether GCC supports __atomic_ builtins]) - echo 'int test(int *x) { int y; __atomic_load(&x, &y, __ATOMIC_SEQ_CST); return x; }' > conftest.c - if $CC -c conftest.c > /dev/null 2>&1; then - CONF_GCC_SUPPORTS__ATOMICS=YES - AC_MSG_RESULT([yes]) - else - CONF_GCC_SUPPORTS__ATOMICS=NO - AC_MSG_RESULT([no]) - fi - rm -f conftest.c conftest.o -]) - # FP_GCC_SUPPORTS_NO_PIE # ---------------------- # Does gcc support the -no-pie option? If so we should pass it to gcc when diff --git a/configure.ac b/configure.ac index 5bf096b3d0..216a97fb49 100644 --- a/configure.ac +++ b/configure.ac @@ -712,11 +712,6 @@ FP_GCC_VERSION dnl ** See whether gcc 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. -FP_GCC_SUPPORTS__ATOMICS -AC_DEFINE([HAVE_C11_ATOMICS], [$CONF_GCC_SUPPORTS__ATOMICS], [Does GCC support __atomic primitives?]) - FP_GCC_EXTRA_FLAGS dnl ** look to see if we have a C compiler using an llvm back end. diff --git a/libraries/ghc-prim/Setup.hs b/libraries/ghc-prim/Setup.hs index 5bb17e2392..cccc416d78 100644 --- a/libraries/ghc-prim/Setup.hs +++ b/libraries/ghc-prim/Setup.hs @@ -18,7 +18,7 @@ import System.Exit import System.Directory main :: IO () -main = do let hooks = simpleUserHooks { +main = do let hooks = autoconfUserHooks { regHook = addPrimModule $ regHook simpleUserHooks, buildHook = build_primitive_sources diff --git a/libraries/ghc-prim/aclocal.m4 b/libraries/ghc-prim/aclocal.m4 new file mode 100644 index 0000000000..e5695385f2 --- /dev/null +++ b/libraries/ghc-prim/aclocal.m4 @@ -0,0 +1,17 @@ +# FP_GCC_SUPPORTS__ATOMICS +# ------------------------ +# Does gcc support the __atomic_* family of builtins? +AC_DEFUN([FP_GCC_SUPPORTS__ATOMICS], +[ + AC_REQUIRE([AC_PROG_CC]) + AC_MSG_CHECKING([whether GCC supports __atomic_ builtins]) + echo 'int test(int *x) { int y; __atomic_load(&x, &y, __ATOMIC_SEQ_CST); return x; }' > conftest.c + if $CC -c conftest.c > /dev/null 2>&1; then + CONF_GCC_SUPPORTS__ATOMICS=YES + AC_MSG_RESULT([yes]) + else + CONF_GCC_SUPPORTS__ATOMICS=NO + AC_MSG_RESULT([no]) + fi + rm -f conftest.c conftest.o +]) diff --git a/libraries/ghc-prim/configure.ac b/libraries/ghc-prim/configure.ac new file mode 100644 index 0000000000..bacc89ccc8 --- /dev/null +++ b/libraries/ghc-prim/configure.ac @@ -0,0 +1,18 @@ +AC_INIT([ghc-prim package], [2.1], [glasgow-haskell-bugs@haskell.org], [ghc-prim]) + +AC_CONFIG_SRCDIR([ghc-prim.cabal]) + +# ------------------------------------------------------------------------- +dnl ** Used to determine how to compile ghc-prim's atomics.c, used by +dnl unregisterised, Sparc, and PPC backends. +FP_GCC_SUPPORTS__ATOMICS +AC_DEFINE([HAVE_C11_ATOMICS], [$CONF_GCC_SUPPORTS__ATOMICS], [Does GCC support __atomic primitives?]) + +if test "x$CONF_GCC_SUPPORTS__ATOMICS" = YES +then PRIM_CFLAGS=-DHAVE_C11_ATOMICS + PRIM_EXTRA_LIBRARIES=atomic +fi +AC_SUBST([PRIM_CFLAGS]) +AC_SUBST([PRIM_EXTRA_LIBRARIES]) +AC_CONFIG_FILES([ghc-prim.buildinfo]) +AC_OUTPUT diff --git a/libraries/ghc-prim/ghc-prim.buildinfo.in b/libraries/ghc-prim/ghc-prim.buildinfo.in new file mode 100644 index 0000000000..a0932824c5 --- /dev/null +++ b/libraries/ghc-prim/ghc-prim.buildinfo.in @@ -0,0 +1,2 @@ +cc-options: @PRIM_CFLAGS@ +extra-libraries: @PRIM_EXTRA_LIBRARIES@
\ No newline at end of file |