]> granicus.if.org Git - vim/commitdiff
patch 8.2.3800: when cross compiling the output of "uname" cannot be set v8.2.3800
authorBram Moolenaar <Bram@vim.org>
Mon, 13 Dec 2021 20:37:59 +0000 (20:37 +0000)
committerBram Moolenaar <Bram@vim.org>
Mon, 13 Dec 2021 20:37:59 +0000 (20:37 +0000)
Problem:    When cross compiling the output of "uname" cannot be set. (Ben
            Reeves)
Solution:   Use cache variables. (closes #9338)

src/auto/configure
src/configure.ac
src/version.c

index c7f6940c56adea0c265d598e9ada15dbc4948fcd..f13f9bb4bd4af6e47e1dd6a8db697809e5468172 100755 (executable)
@@ -4545,9 +4545,42 @@ fi
 
 OS_EXTRA_SRC=""; OS_EXTRA_OBJ=""
 
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking uname" >&5
+$as_echo_n "checking uname... " >&6; }
+if test "x$vim_cv_uname_output" = "x" ; then
+  vim_cv_uname_output=`(uname) 2>/dev/null`
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $vim_cv_uname_output" >&5
+$as_echo "$vim_cv_uname_output" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $vim_cv_uname_output (cached)" >&5
+$as_echo "$vim_cv_uname_output (cached)" >&6; }
+fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking uname -r" >&5
+$as_echo_n "checking uname -r... " >&6; }
+if test "x$vim_cv_uname_r_output" = "x" ; then
+  vim_cv_uname_r_output=`(uname -r) 2>/dev/null`
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $vim_cv_uname_r_output" >&5
+$as_echo "$vim_cv_uname_r_output" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $vim_cv_uname_r_output (cached)" >&5
+$as_echo "$vim_cv_uname_r_output (cached)" >&6; }
+fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking uname -m" >&5
+$as_echo_n "checking uname -m... " >&6; }
+if test "x$vim_cv_uname_m_output" = "x" ; then
+  vim_cv_uname_m_output=`(uname -m) 2>/dev/null`
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $vim_cv_uname_m_output" >&5
+$as_echo "$vim_cv_uname_m_output" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $vim_cv_uname_m_output (cached)" >&5
+$as_echo "$vim_cv_uname_m_output (cached)" >&6; }
+fi
+
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Haiku" >&5
 $as_echo_n "checking for Haiku... " >&6; }
-case `uname` in
+case $vim_cv_uname_output in
     Haiku) HAIKU=yes; { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
 $as_echo "yes" >&6; };;
     *)     HAIKU=no; { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
@@ -4556,7 +4589,7 @@ esac
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for QNX" >&5
 $as_echo_n "checking for QNX... " >&6; }
-case `uname` in
+case $vim_cv_uname_output in
     QNX)       OS_EXTRA_SRC=os_qnx.c; OS_EXTRA_OBJ=objects/os_qnx.o
                test -z "$with_x" && with_x=no
                QNX=yes; { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
@@ -4567,7 +4600,7 @@ esac
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Darwin (Mac OS X)" >&5
 $as_echo_n "checking for Darwin (Mac OS X)... " >&6; }
-if test "`(uname) 2>/dev/null`" = Darwin; then
+if test "$vim_cv_uname_output" = Darwin; then
   { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
 $as_echo "yes" >&6; }
   MACOS_X=yes
@@ -4968,7 +5001,7 @@ esac
 if test "$cf_cv_ebcdic" = "yes"; then
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for z/OS Unix" >&5
 $as_echo_n "checking for z/OS Unix... " >&6; }
-case `uname` in
+case $vim_cv_uname_output in
     OS/390)    zOSUnix="yes";
                                                                                if test "$CC" = "cc"; then
                  ccm="$_CC_CCMODE"
@@ -5613,7 +5646,7 @@ $as_echo "yes" >&6; }
     fi
     if test "X$LUA_CFLAGS$LUA_LIBS" != "X" && \
        test "x$MACOS_X" = "xyes" && test "x$vi_cv_with_luajit" != "xno" && \
-       test "`(uname -m) 2>/dev/null`" = "x86_64"; then
+       test "$vim_cv_uname_m_output" = "x86_64"; then
             LUA_LIBS="-pagezero_size 10000 -image_base 100000000 $LUA_LIBS"
     fi
   fi
@@ -5850,8 +5883,8 @@ $as_echo "not found" >&6; }
          fi
          if test "$GCC" = yes; then
                            MZSCHEME_LIBS="${MZSCHEME_LIBS} -Wl,-rpath -Wl,${path}"
-         elif test "`(uname) 2>/dev/null`" = SunOS &&
-                                  uname -r | grep '^5' >/dev/null; then
+         elif test "$vim_cv_uname_output" = SunOS &&
+                          echo $vim_cv_uname_r_output | grep '^5' >/dev/null; then
            MZSCHEME_LIBS="${MZSCHEME_LIBS} -R ${path}"
          fi
        fi
@@ -6492,13 +6525,13 @@ $as_echo "$vi_cv_dll_name_python" >&6; }
 $as_echo_n "checking if -pthread should be used... " >&6; }
        threadsafe_flag=
        thread_lib=
-               if test "`(uname) 2>/dev/null`" != Darwin; then
+               if test "$vim_cv_uname_output" != Darwin; then
          test "$GCC" = yes && threadsafe_flag="-pthread"
-         if test "`(uname) 2>/dev/null`" = FreeBSD; then
+         if test "$vim_cv_uname_output" = FreeBSD; then
            threadsafe_flag="-D_THREAD_SAFE"
            thread_lib="-pthread"
          fi
-         if test "`(uname) 2>/dev/null`" = SunOS; then
+         if test "$vim_cv_uname_output" = SunOS; then
            threadsafe_flag="-pthreads"
          fi
        fi
@@ -6840,13 +6873,13 @@ $as_echo "$vi_cv_dll_name_python3" >&6; }
 $as_echo_n "checking if -pthread should be used... " >&6; }
         threadsafe_flag=
         thread_lib=
-                if test "`(uname) 2>/dev/null`" != Darwin; then
+                if test "$vim_cv_uname_output" != Darwin; then
           test "$GCC" = yes && threadsafe_flag="-pthread"
-          if test "`(uname) 2>/dev/null`" = FreeBSD; then
+          if test "$vim_cv_uname_output" = FreeBSD; then
             threadsafe_flag="-D_THREAD_SAFE"
             thread_lib="-pthread"
           fi
-          if test "`(uname) 2>/dev/null`" = SunOS; then
+          if test "$vim_cv_uname_output" = SunOS; then
             threadsafe_flag="-pthreads"
           fi
         fi
@@ -7470,8 +7503,8 @@ $as_echo_n "checking for Tcl library by myself... " >&6; }
                  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $try/lib$trylib" >&5
 $as_echo "$try/lib$trylib" >&6; }
                  TCL_LIBS="-L\"$try\" -ltcl$ver -ldl -lm"
-                 if test "`(uname) 2>/dev/null`" = SunOS &&
-                                        uname -r | grep '^5' >/dev/null; then
+                 if test "$vim_cv_uname_output" = SunOS &&
+                                        echo $vim_cv_uname_r_output | grep '^5' >/dev/null; then
                    TCL_LIBS="$TCL_LIBS -R $try"
                  fi
                  break 3
@@ -8911,8 +8944,8 @@ fi
     { $as_echo "$as_me:${as_lineno-$LINENO}: result: Corrected X libraries to $x_libraries" >&5
 $as_echo "Corrected X libraries to $x_libraries" >&6; }
     X_LIBS="$X_LIBS -L$x_libraries"
-    if test "`(uname) 2>/dev/null`" = SunOS &&
-                                        uname -r | grep '^5' >/dev/null; then
+    if test "$vim_cv_uname_output" = SunOS &&
+                                        echo $vim_cv_uname_r_output | grep '^5' >/dev/null; then
       X_LIBS="$X_LIBS -R $x_libraries"
     fi
   fi
@@ -9736,7 +9769,7 @@ $as_echo "yes" >&6; }
 
                   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for FreeBSD" >&5
 $as_echo_n "checking for FreeBSD... " >&6; }
-      if test "`(uname) 2>/dev/null`" = FreeBSD; then
+      if test "$vim_cv_uname_output" = FreeBSD; then
        { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
 $as_echo "yes" >&6; }
        GNOME_INCLUDEDIR="$GNOME_INCLUDEDIR -D_THREAD_SAFE"
@@ -10220,8 +10253,8 @@ $as_echo "in default path" >&6; }
        if test -n "$GUI_LIB_LOC"; then
          { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GUI_LIB_LOC" >&5
 $as_echo "$GUI_LIB_LOC" >&6; }
-         if test "`(uname) 2>/dev/null`" = SunOS &&
-                                        uname -r | grep '^5' >/dev/null; then
+         if test "$vim_cv_uname_output" = SunOS &&
+                                        echo $vim_cv_uname_r_output | grep '^5' >/dev/null; then
            GUI_LIB_LOC="$GUI_LIB_LOC -R $GUI_LIB_LOC"
          fi
        fi
@@ -10768,7 +10801,7 @@ fi
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for CYGWIN or MSYS environment" >&5
 $as_echo_n "checking for CYGWIN or MSYS environment... " >&6; }
-case `uname` in
+case $vim_cv_uname_output in
     CYGWIN*|MSYS*)    CYGWIN=yes; { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
 $as_echo "yes" >&6; }
                 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for CYGWIN clipboard support" >&5
@@ -11965,7 +11998,7 @@ rm -f core conftest.err conftest.$ac_objext \
 else
   { $as_echo "$as_me:${as_lineno-$LINENO}: result: empty: automatic terminal library selection" >&5
 $as_echo "empty: automatic terminal library selection" >&6; }
-                case "`uname -s 2>/dev/null`" in
+                case "$vim_cv_uname_output" in
        OSF1|SCO_SV)    tlibs="tinfo ncurses curses termlib termcap";;
        *)      tlibs="tinfo ncurses termlib termcap curses";;
   esac
index b4948e20e7ce36066d2d0f5c28edd192e58e0366..6fee99ca6461cd751c723bd3ea1b3f6e8873ce35 100644 (file)
@@ -159,8 +159,34 @@ fi
 
 OS_EXTRA_SRC=""; OS_EXTRA_OBJ=""
 
+dnl When cross-compiling set $vim_cv_uname_output, $vim_cv_uname_r_output and
+dnl $vim_cv_uname_m_output to the desired value for the target system
+AC_MSG_CHECKING(uname)
+if test "x$vim_cv_uname_output" = "x" ; then
+  vim_cv_uname_output=`(uname) 2>/dev/null`
+  AC_MSG_RESULT($vim_cv_uname_output)
+else
+  AC_MSG_RESULT([$vim_cv_uname_output (cached)])
+fi
+
+AC_MSG_CHECKING(uname -r)
+if test "x$vim_cv_uname_r_output" = "x" ; then
+  vim_cv_uname_r_output=`(uname -r) 2>/dev/null`
+  AC_MSG_RESULT($vim_cv_uname_r_output)
+else
+  AC_MSG_RESULT([$vim_cv_uname_r_output (cached)])
+fi
+
+AC_MSG_CHECKING(uname -m)
+if test "x$vim_cv_uname_m_output" = "x" ; then
+  vim_cv_uname_m_output=`(uname -m) 2>/dev/null`
+  AC_MSG_RESULT($vim_cv_uname_m_output)
+else
+  AC_MSG_RESULT([$vim_cv_uname_m_output (cached)])
+fi
+
 AC_MSG_CHECKING(for Haiku)
-case `uname` in
+case $vim_cv_uname_output in
     Haiku) HAIKU=yes; AC_MSG_RESULT(yes);;
     *)     HAIKU=no; AC_MSG_RESULT(no);;
 esac
@@ -168,7 +194,7 @@ esac
 dnl If QNX is found, assume we don't want to use Xphoton
 dnl unless it was specifically asked for (--with-x)
 AC_MSG_CHECKING(for QNX)
-case `uname` in
+case $vim_cv_uname_output in
     QNX)       OS_EXTRA_SRC=os_qnx.c; OS_EXTRA_OBJ=objects/os_qnx.o
                test -z "$with_x" && with_x=no
                QNX=yes; AC_MSG_RESULT(yes);;
@@ -179,7 +205,7 @@ dnl Check for Darwin and MacOS X
 dnl We do a check for MacOS X in the very beginning because there
 dnl are a lot of other things we need to change besides GUI stuff
 AC_MSG_CHECKING([for Darwin (Mac OS X)])
-if test "`(uname) 2>/dev/null`" = Darwin; then
+if test "$vim_cv_uname_output" = Darwin; then
   AC_MSG_RESULT(yes)
   MACOS_X=yes
   CPPFLAGS="$CPPFLAGS -DMACOS_X"
@@ -395,7 +421,7 @@ AC_SUBST(line_break)
 if test "$cf_cv_ebcdic" = "yes"; then
 dnl If we have EBCDIC we most likely have z/OS Unix, let's test it!
 AC_MSG_CHECKING(for z/OS Unix)
-case `uname` in
+case $vim_cv_uname_output in
     OS/390)    zOSUnix="yes";
                dnl If using cc the environment variable _CC_CCMODE must be
                dnl set to "1", so that some compiler extensions are enabled.
@@ -742,7 +768,7 @@ if test "$enable_luainterp" = "yes" -o "$enable_luainterp" = "dynamic"; then
     fi
     if test "X$LUA_CFLAGS$LUA_LIBS" != "X" && \
        test "x$MACOS_X" = "xyes" && test "x$vi_cv_with_luajit" != "xno" && \
-       test "`(uname -m) 2>/dev/null`" = "x86_64"; then
+       test "$vim_cv_uname_m_output" = "x86_64"; then
       dnl OSX/x64 requires these flags. See http://luajit.org/install.html
       LUA_LIBS="-pagezero_size 10000 -image_base 100000000 $LUA_LIBS"
     fi
@@ -910,8 +936,8 @@ if test "$enable_mzschemeinterp" = "yes"; then
            dnl Make Vim remember the path to the library.  For when it's not in
            dnl $LD_LIBRARY_PATH.
            MZSCHEME_LIBS="${MZSCHEME_LIBS} -Wl,-rpath -Wl,${path}"
-         elif test "`(uname) 2>/dev/null`" = SunOS &&
-                                  uname -r | grep '^5' >/dev/null; then
+         elif test "$vim_cv_uname_output" = SunOS &&
+                          echo $vim_cv_uname_r_output | grep '^5' >/dev/null; then
            MZSCHEME_LIBS="${MZSCHEME_LIBS} -R ${path}"
          fi
        fi
@@ -1349,13 +1375,13 @@ eof
        threadsafe_flag=
        thread_lib=
        dnl if test "x$MACOS_X" != "xyes"; then
-        if test "`(uname) 2>/dev/null`" != Darwin; then
+        if test "$vim_cv_uname_output" != Darwin; then
          test "$GCC" = yes && threadsafe_flag="-pthread"
-         if test "`(uname) 2>/dev/null`" = FreeBSD; then
+         if test "$vim_cv_uname_output" = FreeBSD; then
            threadsafe_flag="-D_THREAD_SAFE"
            thread_lib="-pthread"
          fi
-         if test "`(uname) 2>/dev/null`" = SunOS; then
+         if test "$vim_cv_uname_output" = SunOS; then
            threadsafe_flag="-pthreads"
          fi
        fi
@@ -1567,13 +1593,13 @@ eof
         threadsafe_flag=
         thread_lib=
         dnl if test "x$MACOS_X" != "xyes"; then
-        if test "`(uname) 2>/dev/null`" != Darwin; then
+        if test "$vim_cv_uname_output" != Darwin; then
           test "$GCC" = yes && threadsafe_flag="-pthread"
-          if test "`(uname) 2>/dev/null`" = FreeBSD; then
+          if test "$vim_cv_uname_output" = FreeBSD; then
             threadsafe_flag="-D_THREAD_SAFE"
             thread_lib="-pthread"
           fi
-          if test "`(uname) 2>/dev/null`" = SunOS; then
+          if test "$vim_cv_uname_output" = SunOS; then
             threadsafe_flag="-pthreads"
           fi
         fi
@@ -1880,8 +1906,8 @@ if test "$enable_tclinterp" = "yes" -o "$enable_tclinterp" = "dynamic"; then
                if test -f "$try/lib$trylib" ; then
                  AC_MSG_RESULT($try/lib$trylib)
                  TCL_LIBS="-L\"$try\" -ltcl$ver -ldl -lm"
-                 if test "`(uname) 2>/dev/null`" = SunOS &&
-                                        uname -r | grep '^5' >/dev/null; then
+                 if test "$vim_cv_uname_output" = SunOS &&
+                                        echo $vim_cv_uname_r_output | grep '^5' >/dev/null; then
                    TCL_LIBS="$TCL_LIBS -R $try"
                  fi
                  break 3
@@ -2281,8 +2307,8 @@ else
     x_libraries=`echo "$x_includes" | sed s/include/lib/`
     AC_MSG_RESULT(Corrected X libraries to $x_libraries)
     X_LIBS="$X_LIBS -L$x_libraries"
-    if test "`(uname) 2>/dev/null`" = SunOS &&
-                                        uname -r | grep '^5' >/dev/null; then
+    if test "$vim_cv_uname_output" = SunOS &&
+                                        echo $vim_cv_uname_r_output | grep '^5' >/dev/null; then
       X_LIBS="$X_LIBS -R $x_libraries"
     fi
   fi
@@ -2719,7 +2745,7 @@ AC_DEFUN([GNOME_INIT_HOOK],
       dnl On FreeBSD we need -pthread but pkg-config doesn't include it.
       dnl This might not be the right way but it works for me...
       AC_MSG_CHECKING(for FreeBSD)
-      if test "`(uname) 2>/dev/null`" = FreeBSD; then
+      if test "$vim_cv_uname_output" = FreeBSD; then
        AC_MSG_RESULT(yes, adding -pthread)
        GNOME_INCLUDEDIR="$GNOME_INCLUDEDIR -D_THREAD_SAFE"
        GNOME_LIBS="$GNOME_LIBS -pthread"
@@ -2971,8 +2997,8 @@ if test -z "$SKIP_MOTIF"; then
       else
        if test -n "$GUI_LIB_LOC"; then
          AC_MSG_RESULT($GUI_LIB_LOC)
-         if test "`(uname) 2>/dev/null`" = SunOS &&
-                                        uname -r | grep '^5' >/dev/null; then
+         if test "$vim_cv_uname_output" = SunOS &&
+                                        echo $vim_cv_uname_r_output | grep '^5' >/dev/null; then
            GUI_LIB_LOC="$GUI_LIB_LOC -R $GUI_LIB_LOC"
          fi
        fi
@@ -3215,7 +3241,7 @@ fi
 
 dnl Check for Cygwin, which needs an extra source file if not using X11
 AC_MSG_CHECKING(for CYGWIN or MSYS environment)
-case `uname` in
+case $vim_cv_uname_output in
     CYGWIN*|MSYS*)    CYGWIN=yes; AC_MSG_RESULT(yes)
                 AC_MSG_CHECKING(for CYGWIN clipboard support)
                 if test "x$with_x" = "xno" ; then
@@ -3446,7 +3472,7 @@ else
   dnl  Older versions of ncurses have bugs, get a new one!
   dnl  Digital Unix (OSF1) should use curses (Ronald Schild).
   dnl  On SCO Openserver should prefer termlib (Roger Cornelius).
-  case "`uname -s 2>/dev/null`" in
+  case "$vim_cv_uname_output" in
        OSF1|SCO_SV)    tlibs="tinfo ncurses curses termlib termcap";;
        *)      tlibs="tinfo ncurses termlib termcap curses";;
   esac
index 56d302e23c7949ede5dbcccef9abcd757c76377e..c39adda3c3aaa3afb1d5fffc20dc37a2c262862c 100644 (file)
@@ -749,6 +749,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    3800,
 /**/
     3799,
 /**/