Skip to content

Commit

Permalink
patch 9.0.0065: cross-compiling doesn't work because of timer_create …
Browse files Browse the repository at this point in the history
…check

Problem:    Cross-compiling doesn't work because of timer_create check.
Solution:   Use AC_CACHE_CHECK(). (Richard Purdie, closes #10777)
  • Loading branch information
rpurdie authored and brammool committed Jul 24, 2022
1 parent c963ec3 commit 509695c
Show file tree
Hide file tree
Showing 3 changed files with 34 additions and 17 deletions.
33 changes: 20 additions & 13 deletions src/auto/configure
Expand Up @@ -13039,13 +13039,14 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext

{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for timer_create" >&5
$as_echo_n "checking for timer_create... " >&6; }
save_LIBS="$LIBS"
if ${vim_cv_timer_create+:} false; then :
$as_echo_n "(cached) " >&6
else
save_LIBS="$LIBS"
LIBS="$LIBS -lrt"
if test "$cross_compiling" = yes; then :
{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error $? "cannot run test program while cross compiling
See \`config.log' for more details" "$LINENO" 5; }
as_fn_error $? "cross-compiling: please set 'vim_cv_timer_create'" "$LINENO" 5

else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
Expand All @@ -13072,9 +13073,8 @@ main ()
}
_ACEOF
if ac_fn_c_try_run "$LINENO"; then :
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes; with -lrt" >&5
$as_echo "yes; with -lrt" >&6; }; $as_echo "#define HAVE_TIMER_CREATE 1" >>confdefs.h

{ $as_echo "$as_me:${as_lineno-$LINENO}: timer_create with -lrt" >&5
$as_echo "$as_me: timer_create with -lrt" >&6;}; vim_cv_timer_create=yes
else
LIBS="$save_LIBS"
if test "$cross_compiling" = yes; then :
Expand Down Expand Up @@ -13108,12 +13108,9 @@ main ()
}
_ACEOF
if ac_fn_c_try_run "$LINENO"; then :
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }; $as_echo "#define HAVE_TIMER_CREATE 1" >>confdefs.h

vim_cv_timer_create=yes
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
vim_cv_timer_create=no
fi
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
conftest.$ac_objext conftest.beam conftest.$ac_ext
Expand All @@ -13125,6 +13122,16 @@ rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
fi


fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $vim_cv_timer_create" >&5
$as_echo "$vim_cv_timer_create" >&6; }

if test "x$vim_cv_timer_create" = "xyes" ; then
$as_echo "#define HAVE_TIMER_CREATE 1" >>confdefs.h

fi


{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stat() ignores a trailing slash" >&5
$as_echo_n "checking whether stat() ignores a trailing slash... " >&6; }
if ${vim_cv_stat_ignores_slash+:} false; then :
Expand Down
16 changes: 12 additions & 4 deletions src/configure.ac
Expand Up @@ -3807,7 +3807,7 @@ AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
dnl Check for timer_create. It probably requires the 'rt' library.
dnl Run the program to find out if timer_create(CLOCK_MONOTONIC) actually
dnl works, on Solaris timer_create() exists but fails at runtime.
AC_MSG_CHECKING([for timer_create])
AC_CACHE_CHECK([for timer_create], [vim_cv_timer_create],
save_LIBS="$LIBS"
LIBS="$LIBS -lrt"
AC_RUN_IFELSE([AC_LANG_PROGRAM([
Expand All @@ -3824,7 +3824,7 @@ static void set_flag(union sigval sv) {}
if (timer_create(CLOCK_MONOTONIC, &action, &timer_id) < 0)
exit(1); // cannot create a monotonic timer
])],
AC_MSG_RESULT(yes; with -lrt); AC_DEFINE(HAVE_TIMER_CREATE),
AC_MSG_NOTICE(timer_create with -lrt); vim_cv_timer_create=yes,
LIBS="$save_LIBS"
AC_RUN_IFELSE([AC_LANG_PROGRAM([
#include<signal.h>
Expand All @@ -3840,8 +3840,16 @@ static void set_flag(union sigval sv) {}
if (timer_create(CLOCK_MONOTONIC, &action, &timer_id) < 0)
exit(1); // cannot create a monotonic timer
])],
AC_MSG_RESULT(yes); AC_DEFINE(HAVE_TIMER_CREATE),
AC_MSG_RESULT(no)))
vim_cv_timer_create=yes,
vim_cv_timer_create=no),
AC_MSG_ERROR(cross-compiling: please set 'vim_cv_timer_create')
)
)

if test "x$vim_cv_timer_create" = "xyes" ; then
AC_DEFINE(HAVE_TIMER_CREATE)
fi


AC_CACHE_CHECK([whether stat() ignores a trailing slash], [vim_cv_stat_ignores_slash],
[
Expand Down
2 changes: 2 additions & 0 deletions src/version.c
Expand Up @@ -735,6 +735,8 @@ static char *(features[]) =

static int included_patches[] =
{ /* Add new patch number below this line */
/**/
65,
/**/
64,
/**/
Expand Down

0 comments on commit 509695c

Please sign in to comment.