[PATCH v2] tools: hv: Fix cross-compilation

From: Aditya Garg

Date: Tue Apr 07 2026 - 08:33:39 EST


Use the native ARCH only in case it is not set, this will allow the
cross-compilation where ARCH is explicitly set.

Additionally, simplify the check for ARCH so that fcopy daemon is built
only for x86_64.

Fixes: 82b0945ce2c2 ("tools: hv: Add new fcopy application based on uio driver")
Reported-by: Adrian Vladu <avladu@xxxxxxxxxxxxxxxxxxxxxx>
Closes: https://lore.kernel.org/linux-hyperv/PR3PR09MB54119DB2FD76977C62D8DD6AB04D2@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/
Co-developed-by: Saurabh Sengar <ssengar@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: Saurabh Sengar <ssengar@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: Aditya Garg <gargaditya@xxxxxxxxxxxxxxxxxxx>
Reviewed-by: Roman Kisel <romank@xxxxxxxxxxxxxxxxxxx>
---
Changes since v1:
- Dropped the info target printing CC, LD and ARCH

v1: https://lore.kernel.org/all/1733992114-7305-1-git-send-email-ssengar@xxxxxxxxxxxxxxxxxxx/
---
tools/hv/Makefile | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/tools/hv/Makefile b/tools/hv/Makefile
index 34ffcec264ab..e377caf89fb6 100644
--- a/tools/hv/Makefile
+++ b/tools/hv/Makefile
@@ -2,7 +2,7 @@
# Makefile for Hyper-V tools
include ../scripts/Makefile.include

-ARCH := $(shell uname -m 2>/dev/null)
+ARCH ?= $(shell uname -m 2>/dev/null)
sbindir ?= /usr/sbin
libexecdir ?= /usr/libexec
sharedstatedir ?= /var/lib
@@ -20,7 +20,7 @@ override CFLAGS += -O2 -Wall -g -D_GNU_SOURCE -I$(OUTPUT)include
override CFLAGS += -Wno-address-of-packed-member

ALL_TARGETS := hv_kvp_daemon hv_vss_daemon
-ifneq ($(ARCH), aarch64)
+ifeq ($(ARCH), x86_64)
ALL_TARGETS += hv_fcopy_uio_daemon
endif
ALL_PROGRAMS := $(patsubst %,$(OUTPUT)%,$(ALL_TARGETS))
--
2.43.0