X-Git-Url: https://git.lttng.org/?p=lttng-ust.git;a=blobdiff_plain;f=m4%2Fae_pthread_setname_np.m4;fp=m4%2Fae_pthread_setname_np.m4;h=2c9b1c97f3613e8c81326182d8efe3ed6ff43e48;hp=0000000000000000000000000000000000000000;hb=e03d7c66c57bf268b87296566a5160039f35ccfb;hpb=79f8dc6f50b20fb6b1d99f9bd97d70aa361bc6ad diff --git a/m4/ae_pthread_setname_np.m4 b/m4/ae_pthread_setname_np.m4 new file mode 100644 index 00000000..2c9b1c97 --- /dev/null +++ b/m4/ae_pthread_setname_np.m4 @@ -0,0 +1,67 @@ +# SPDX-FileCopyrightText: 2020 Michael Jeanson +# +# SPDX-License-Identifier: GPL-2.0-or-later WITH LicenseRef-Autoconf-exception-macro +# +# SYNOPSIS +# +# AE_PTHREAD_SETNAME_NP +# + +#serial 2 + +AC_DEFUN([AE_PTHREAD_SETNAME_NP], [ +AC_REQUIRE([AX_PTHREAD]) +AC_LANG_PUSH([C]) + +ae_pthread_setname_np_save_LDFLAGS="$LDFLAGS" +ae_pthread_setname_np_save_LIBS="$LIBS" +LDFLAGS="$LDFLAGS $PTHREAD_CFLAGS" +LIBS="$LIBS $PTHREAD_LIBS" + +# GLIBC >= 2.12, Solaris >= 11.3, FreeBSD >= 12.2 +AC_MSG_CHECKING(for pthread_setname_np(pthread_t, const char*)) +AC_LINK_IFELSE( + [AC_LANG_PROGRAM( + [[#include + #ifdef __FreeBSD__ + #include + #endif]], + [pthread_setname_np(pthread_self(), "example")])], + [AC_MSG_RESULT(yes) + AC_DEFINE(HAVE_PTHREAD_SETNAME_NP_WITH_TID,1, + [Have function pthread_setname_np(pthread_t, const char*)])], + [AC_MSG_RESULT(no)]) + +# MacOS X >= 10.6, iOS >= 3.2 +AC_MSG_CHECKING(for pthread_setname_np(const char*)) +AC_LINK_IFELSE( + [AC_LANG_PROGRAM( + [[#include + #ifdef __FreeBSD__ + #include + #endif]], + [pthread_setname_np("example")])], + [AC_MSG_RESULT(yes) + AC_DEFINE(HAVE_PTHREAD_SETNAME_NP_WITHOUT_TID,1, + [Have function pthread_setname_np(const char*)])], + [AC_MSG_RESULT(no)]) + +# FreeBSD +AC_MSG_CHECKING(for pthread_set_name_np(pthread_t, const char*)) +AC_LINK_IFELSE( + [AC_LANG_PROGRAM( + [[#include + #ifdef __FreeBSD__ + #include + #endif]], + [pthread_set_name_np(pthread_self(), "example")])], + [AC_MSG_RESULT(yes) + AC_DEFINE(HAVE_PTHREAD_SET_NAME_NP_WITH_TID,1, + [Have function pthread_set_name_np(pthread_t, const char*)])], + [AC_MSG_RESULT(no)]) + +LDFLAGS=$ae_pthread_setname_np_save_LDFLAGS +LIBS=$ae_pthread_setname_np_save_LIBS + +AC_LANG_POP +])dnl AE_PTHREAD_SETNAME_NP