aboutsummaryrefslogtreecommitdiffstats
path: root/package/system/iucode-tool/Makefile
diff options
context:
space:
mode:
authorSergey V. Lobanov <sergey@lobanov.in>2022-02-05 16:26:55 +0300
committerChristian Lamparter <chunkeey@gmail.com>2022-02-26 19:52:41 +0100
commite6a4f30ed77f8ae6a08cb5cab1fd9509fde3227f (patch)
tree4e488051eb4cf548cf77ab9407ff35484c990b23 /package/system/iucode-tool/Makefile
parent64d159cdadadb6c23b9a62fc96dba27a6ed95893 (diff)
downloadupstream-e6a4f30ed77f8ae6a08cb5cab1fd9509fde3227f.tar.gz
upstream-e6a4f30ed77f8ae6a08cb5cab1fd9509fde3227f.tar.bz2
upstream-e6a4f30ed77f8ae6a08cb5cab1fd9509fde3227f.zip
iucode-tool: fix host-compile on macos and non-x86 linux
iucode-tool/host is used by intel-microcode to manipulate with microcode.bin file. iucode-tool requires cpuid.h at compile time for autodection feature, but non-x86 build hosts does not have this header file (e.g. ubuntu 20.04 aarch64) or this header generates compile time error (#error macro) (e.g. macos arm64). This patch provides compat cpuid.h to build iucode-tool/host on non-x86 linux hosts and macos. CPU autodectection is not required for intel-microcode package build so compat cpuid.h is ok for OpenWrt purposes. glibc and argp lib are not present in macos so iucode-tool/host build fails. This patch adds argp-standalone/host as build dependency if host os is macos. Generated ucode (intel-microcode package) is exactly the same on Linux x86_64 (Ubuntu 20.04), Linux aarch64 (Ubuntu 20.04) and Darwin arm64 (MacOS 11.6) build hosts. Signed-off-by: Sergey V. Lobanov <sergey@lobanov.in>
Diffstat (limited to 'package/system/iucode-tool/Makefile')
-rw-r--r--package/system/iucode-tool/Makefile15
1 files changed, 14 insertions, 1 deletions
diff --git a/package/system/iucode-tool/Makefile b/package/system/iucode-tool/Makefile
index b8227ed4a1..d7c85b2d42 100644
--- a/package/system/iucode-tool/Makefile
+++ b/package/system/iucode-tool/Makefile
@@ -9,13 +9,14 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=iucode-tool
PKG_VERSION:=2.3.1
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PKG_SOURCE:=iucode-tool_$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=https://gitlab.com/iucode-tool/releases/raw/latest
PKG_HASH:=12b88efa4d0d95af08db05a50b3dcb217c0eb2bfc67b483779e33d498ddb2f95
PKG_BUILD_DEPENDS:=USE_UCLIBC:argp-standalone USE_MUSL:argp-standalone
+HOST_BUILD_DEPENDS:=HOST_OS_MACOS:argp-standalone/host
PKG_MAINTAINER:=Zoltan HERPAI <wigyori@uid0.hu>
PKG_LICENSE:=GPL-2.0
@@ -41,6 +42,18 @@ define Package/iucode-tool/install
$(INSTALL_BIN) $(PKG_BUILD_DIR)/iucode_tool $(1)/usr/bin/
endef
+# List of build hosts with working cpuid.h
+IUT_NATIVE_HOST_OS_ARCH := \
+ linux/x86_64 linux/amd64 linux/i386 linux/i686
+
+IUT_HOST_OS_ARCH := $(call tolower,$(HOST_OS))/$(HOST_ARCH)
+
+# Use cpuid.h compat header if build host does not have working cpuid.h
+ifeq ($(filter $(IUT_HOST_OS_ARCH),$(IUT_NATIVE_HOST_OS_ARCH)),)
+HOST_CFLAGS += \
+ -I$(HOST_BUILD_DIR)/cpuid-compat
+endif
+
define Host/Install
$(INSTALL_BIN) $(HOST_BUILD_DIR)/iucode_tool $(STAGING_DIR_HOST)/bin/iucode_tool
endef