xref: /freebsd/sys/contrib/openzfs/config/user-libatomic.m4 (revision 3f9d360c82e0724bfb61346038236bf15c5d4d84)
116038816SMartin Matuskadnl #
2*3f9d360cSMartin Matuskadnl # If -latomic exists and atomic.c doesn't link without it,
3*3f9d360cSMartin Matuskadnl # it's needed for __atomic intrinsics.
416038816SMartin Matuskadnl #
516038816SMartin MatuskaAC_DEFUN([ZFS_AC_CONFIG_USER_LIBATOMIC], [
6*3f9d360cSMartin Matuska	AC_MSG_CHECKING([whether -latomic is required])
716038816SMartin Matuska
816038816SMartin Matuska	saved_libs="$LIBS"
916038816SMartin Matuska	LIBS="$LIBS -latomic"
10*3f9d360cSMartin Matuska	LIBATOMIC_LIBS=""
1116038816SMartin Matuska
1216038816SMartin Matuska	AC_LINK_IFELSE([AC_LANG_PROGRAM([], [])], [
13*3f9d360cSMartin Matuska		LIBS="$saved_libs"
14*3f9d360cSMartin Matuska		saved_cflags="$CFLAGS"
15*3f9d360cSMartin Matuska		CFLAGS="$CFLAGS -isystem lib/libspl/include"
16*3f9d360cSMartin Matuska		AC_LINK_IFELSE([AC_LANG_PROGRAM([#include "lib/libspl/atomic.c"], [])], [], [LIBATOMIC_LIBS="-latomic"])
17*3f9d360cSMartin Matuska		CFLAGS="$saved_cflags"
1816038816SMartin Matuska	])
1916038816SMartin Matuska
20*3f9d360cSMartin Matuska	if test -n "$LIBATOMIC_LIBS"; then
21*3f9d360cSMartin Matuska		AC_MSG_RESULT([yes])
22*3f9d360cSMartin Matuska	else
23*3f9d360cSMartin Matuska		AC_MSG_RESULT([no])
24*3f9d360cSMartin Matuska	fi
25*3f9d360cSMartin Matuska
2616038816SMartin Matuska	LIBS="$saved_libs"
2716038816SMartin Matuska	AC_SUBST([LIBATOMIC_LIBS])
2816038816SMartin Matuska])
29