mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2024-12-27 03:19:35 +03:00
35 lines
1.2 KiB
Plaintext
35 lines
1.2 KiB
Plaintext
|
dnl #
|
|||
|
dnl # If -latomic exists, it's needed for __atomic intrinsics.
|
|||
|
dnl #
|
|||
|
dnl # Some systems (like FreeBSD 13) don't have a libatomic at all because
|
|||
|
dnl # their toolchain doesn't ship it – they obviously don't need it.
|
|||
|
dnl #
|
|||
|
dnl # Others (like sufficiently ancient CentOS) have one,
|
|||
|
dnl # but terminally broken or unlinkable (e.g. it's a dangling symlink,
|
|||
|
dnl # or a linker script that points to a nonexistent file) –
|
|||
|
dnl # most arches affected by this don't actually need -latomic (and if they do,
|
|||
|
dnl # then they should have libatomic that actually exists and links,
|
|||
|
dnl # so don't fall into this category).
|
|||
|
dnl #
|
|||
|
dnl # Technically, we could check if the platform *actually* needs -latomic,
|
|||
|
dnl # or if it has native support for all the intrinsics we use,
|
|||
|
dnl # but it /really/ doesn't matter, and C11 recommends to always link it.
|
|||
|
dnl #
|
|||
|
AC_DEFUN([ZFS_AC_CONFIG_USER_LIBATOMIC], [
|
|||
|
AC_MSG_CHECKING([whether -latomic is present])
|
|||
|
|
|||
|
saved_libs="$LIBS"
|
|||
|
LIBS="$LIBS -latomic"
|
|||
|
|
|||
|
AC_LINK_IFELSE([AC_LANG_PROGRAM([], [])], [
|
|||
|
LIBATOMIC_LIBS="-latomic"
|
|||
|
AC_MSG_RESULT([yes])
|
|||
|
], [
|
|||
|
LIBATOMIC_LIBS=""
|
|||
|
AC_MSG_RESULT([no])
|
|||
|
])
|
|||
|
|
|||
|
LIBS="$saved_libs"
|
|||
|
AC_SUBST([LIBATOMIC_LIBS])
|
|||
|
])
|