From ce97528fa3dcc58d86e18d4d8820f210a624f63d Mon Sep 17 00:00:00 2001
From: NIIBE Yutaka <gniibe@fsij.org>
Date: Thu, 11 Jun 2020 10:19:15 +0900
Subject: [PATCH] build: On cross build, detect host's objdump.

* configure.ac [*-*-linux*] (CROSS_HOST_OBJDUMP): New.

--

To support widely, we could also use objdump configured for multiple
archs which supports host's format (instead of $host_alias-objdump),
like objdump in binutils-multiarch of Debian, but it's not that easy
to maintain the code to determine format name from $host_alias.

Or we could use eu-size in elfutils.

GnuPG-bug-id: 4973
Signed-off-by: NIIBE Yutaka <gniibe@fsij.org>
---
 configure.ac | 21 +++++++++++++--------
 1 file changed, 13 insertions(+), 8 deletions(-)

diff --git a/configure.ac b/configure.ac
index 1dd6489..d5fa4b0 100644
--- a/configure.ac
+++ b/configure.ac
@@ -597,14 +597,19 @@ fi
 if test x$cross_compiling = xyes; then
   case $host in
     *-*-linux*)
-    lock_obj_h_generated=yes
-    mkdir src
-    LOCK_ABI_VERSION=1 host=$host host_alias=$host_alias \
-        CC=$CC OBJDUMP=$host_alias-objdump \
-        ac_ext=$ac_ext ac_objext=$ac_objext \
-        AWK=$AWK $srcdir/src/gen-lock-obj.sh \
-        >src/lock-obj-pub.native.h
-    AC_MSG_NOTICE([generated src/lock-obj-pub.native.h])
+    AC_CHECK_PROG(CROSS_HOST_OBJDUMP, [$host_alias-objdump], [yes])
+    if test "$CROSS_HOST_OBJDUMP" = "yes" ; then
+      lock_obj_h_generated=yes
+      if test ! -d src; then mkdir src; fi
+      LOCK_ABI_VERSION=1 host=$host host_alias=$host_alias \
+          CC=$CC OBJDUMP=$host_alias-objdump \
+          ac_ext=$ac_ext ac_objext=$ac_objext \
+          AWK=$AWK $srcdir/src/gen-lock-obj.sh \
+          >src/lock-obj-pub.native.h
+      AC_MSG_NOTICE([generated src/lock-obj-pub.native.h using $host_alias-objdump and $AWK])
+    else
+      force_use_syscfg=yes
+    fi
     ;;
     *)
     force_use_syscfg=yes
