Skip to content

Commit

Permalink
libgo: check for makecontext in -lucontext
Browse files Browse the repository at this point in the history
Patch from Sören Tempel.

Change-Id: I74b4052cc7aca19224afd6d9a2739c3fae46b722
Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/458396
Reviewed-by: Cherry Mui <cherryyz@google.com>
Reviewed-by: Than McIntosh <thanm@google.com>
  • Loading branch information
ianlancetaylor committed Dec 21, 2022
1 parent 9906861 commit ecc2a2e
Show file tree
Hide file tree
Showing 2 changed files with 60 additions and 0 deletions.
57 changes: 57 additions & 0 deletions libgo/configure
Expand Up @@ -14818,6 +14818,63 @@ fi



{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing makecontext" >&5
$as_echo_n "checking for library containing makecontext... " >&6; }
if ${ac_cv_search_makecontext+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_func_search_save_LIBS=$LIBS
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */

/* Override any GCC internal prototype to avoid an error.
Use char because int might match the return type of a GCC
builtin and then its argument prototype would still apply. */
#ifdef __cplusplus
extern "C"
#endif
char makecontext ();
int
main ()
{
return makecontext ();
;
return 0;
}
_ACEOF
for ac_lib in '' ucontext; do
if test -z "$ac_lib"; then
ac_res="none required"
else
ac_res=-l$ac_lib
LIBS="-l$ac_lib $ac_func_search_save_LIBS"
fi
if ac_fn_c_try_link "$LINENO"; then :
ac_cv_search_makecontext=$ac_res
fi
rm -f core conftest.err conftest.$ac_objext \
conftest$ac_exeext
if ${ac_cv_search_makecontext+:} false; then :
break
fi
done
if ${ac_cv_search_makecontext+:} false; then :

else
ac_cv_search_makecontext=no
fi
rm conftest.$ac_ext
LIBS=$ac_func_search_save_LIBS
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_makecontext" >&5
$as_echo "$ac_cv_search_makecontext" >&6; }
ac_res=$ac_cv_search_makecontext
if test "$ac_res" != no; then :
test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"

fi


{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing sched_yield" >&5
$as_echo_n "checking for library containing sched_yield... " >&6; }
if ${ac_cv_search_sched_yield+:} false; then :
Expand Down
3 changes: 3 additions & 0 deletions libgo/configure.ac
Expand Up @@ -570,6 +570,9 @@ PTHREAD_LIBS=
AC_CHECK_LIB([pthread], [pthread_create], PTHREAD_LIBS=-lpthread)
AC_SUBST(PTHREAD_LIBS)

dnl Test if -lucontext is required for makecontext.
AC_SEARCH_LIBS([makecontext], [ucontext])

dnl Test if -lrt is required for sched_yield or nanosleep or clock_gettime.
AC_SEARCH_LIBS([sched_yield], [rt])
AC_SEARCH_LIBS([nanosleep], [rt])
Expand Down

0 comments on commit ecc2a2e

Please sign in to comment.