On 10/17/18 08:21, Gabor Z. Papp wrote:

| > Will you apply to git these changes?
| >
| >
| > 01-configure.ac.diff

[...]

| > 02-local.mk.diff

| I don't get the idea about the 2nd patch: any 'cp' will fail - regardless
| whether it's compiled for the current arch or not, because there are no
| arguments.

Right. Would be better to choose another util like 'df' or similair.

Attaching the new version of patches. Please submit.
diff -urN archive/8.30/configure.ac src/8.30/configure.ac
--- archive/8.30/configure.ac   2018-05-14 06:20:24.000000000 +0200
+++ src/8.30/configure.ac       2018-08-17 12:38:31.289457659 +0200
@@ -617,7 +617,15 @@
 
 AC_SUBST([built_programs], [$optional_bin_progs])
 
-AM_CONDITIONAL([CROSS_COMPILING], [test "$cross_compiling" = yes])
+AC_MSG_CHECKING([whether built binary fails to run on this host 
(cross-compiling?)])
+AC_RUN_IFELSE([AC_LANG_SOURCE([[int main() { return 0; }]])],
+[cu_cross_compiling=no],
+[# Assume we are cross-compiling if this trivial program fails.
+cu_cross_compiling=yes],
+[cu_cross_compiling=yes])
+AM_CONDITIONAL([CROSS_COMPILING],
+  [test "$cross_compiling" = yes || test "$cu_cross_compiling" = yes])
+AC_MSG_RESULT([$cu_cross_compiling])
 
 ############################################################################
 
diff -urN archive/8.30/man/local.mk src/8.30/man/local.mk
--- archive/8.30/man/local.mk   2018-05-14 06:20:24.000000000 +0200
+++ src/8.30/man/local.mk       2018-08-20 12:04:32.008426334 +0200
@@ -181,6 +181,11 @@
             test) prog='['; argv='[';;                                 \
                *) prog=$$name; argv=$$prog;;                           \
        esac;                                                           \
+## Double-check whether the built binaries are executable on the build host
+## as the above CROSS_COMPILING condition might have been wrong in some cases.
+       run_help2man="$(run_help2man)";                                 \
+       $(abs_top_builddir)/src/df$(EXEEXT) 2>/dev/null               \
+       || run_help2man="$(srcdir)/man/dummy-man";                    \
 ## Note the use of $$t/$*, rather than just '$*' as in other packages.
 ## That is necessary to avoid failures for programs that are also shell
 ## built-in functions like echo, false, printf, pwd.

Reply via email to