# HG changeset patch # User Bram Moolenaar # Date 1658692803 -7200 # Node ID ef4f17d97ad07474c703cf75bbf640b6f5df0794 # Parent 84a8c41c9d12cc601c8d249ff087f2c6bf502f79 patch 9.0.0065: cross-compiling doesn't work because of timer_create check Commit: https://github.com/vim/vim/commit/509695c1c3f5c94bf4b1de5dd0fc11202804f638 Author: Richard Purdie Date: Sun Jul 24 20:48:00 2022 +0100 patch 9.0.0065: cross-compiling doesn't work because of timer_create check Problem: Cross-compiling doesn't work because of timer_create check. Solution: Use AC_CACHE_CHECK(). (Richard Purdie, closes https://github.com/vim/vim/issues/10777) diff --git a/src/auto/configure b/src/auto/configure --- a/src/auto/configure +++ b/src/auto/configure @@ -13039,13 +13039,14 @@ rm -f core conftest.err conftest.$ac_obj { $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. */ @@ -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 : @@ -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 - -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + vim_cv_timer_create=yes +else + 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 @@ -13125,6 +13122,16 @@ rm -f core *.core core.conftest.* gmon.o 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 : diff --git a/src/configure.ac b/src/configure.ac --- a/src/configure.ac +++ b/src/configure.ac @@ -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([ @@ -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 @@ -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], [ diff --git a/src/version.c b/src/version.c --- a/src/version.c +++ b/src/version.c @@ -736,6 +736,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 65, +/**/ 64, /**/ 63,