1
0
mirror of https://git.openwrt.org/feed/packages.git synced 2024-06-26 17:47:55 +02:00
openwrt-packages/utils/hwinfo/Makefile
Sergey V. Lobanov 7aec247dff hwinfo: fix build on macos
hwinfo host-compile builds hwinfo entirely that is not really
required. It is required to build only some host tools to
generate ids and isdn related C-code

This patch changes host build to build only required host tools

Added patch to remove malloc.h using as deprecated, not required
and not supported on macos system (stdlib.h has required functions
on Linux and MacOS systems)

Signed-off-by: Sergey V. Lobanov <sergey@lobanov.in>
2022-01-17 21:11:09 -08:00

91 lines
3.0 KiB
Makefile

include $(TOPDIR)/rules.mk
PKG_NAME:=hwinfo
PKG_VERSION:=21.71
PKG_RELEASE:=4
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://codeload.github.com/openSUSE/hwinfo/tar.gz/$(PKG_VERSION)?
PKG_HASH:=c4c573eb15cbc10103f5044b485d7e4ff941500ed559743a1c98e6a6deb0ebda
PKG_LICENSE:=GPL-2.0-or-later
PKG_LICENSE_FILES:=COPYING
PKG_MAINTAINER:=Alberto Bursi <bobafetthotmail@gmail.com>
PKG_BUILD_DEPENDS:= hwinfo/host
include $(INCLUDE_DIR)/package.mk
include $(INCLUDE_DIR)/host-build.mk
define Host/Configure
# copy uuid.h to another location in host build dir as that's where this package expects it
$(INSTALL_DIR) $(STAGING_DIR_HOST)/include/uuid/
$(CP) $(STAGING_DIR_HOST)/include/e2fsprogs/uuid/uuid.h $(STAGING_DIR_HOST)/include/uuid/uuid.h
endef
define Host/Compile
# Build using host compiler and let it generate the files we need
# CFLAGS, CPPFLAGS & LDFLAGS need to be passed with CC because they are being ingored
CC="$(HOSTCC) $(HOST_CFLAGS) $(HOST_CPPFLAGS) $(HOST_LDFLAGS)" $(MAKE) \
-C $(HOST_BUILD_DIR)/src/isdn/cdb
CC="$(HOSTCC) $(HOST_CFLAGS) $(HOST_CPPFLAGS) $(HOST_LDFLAGS)" $(MAKE) \
-C $(HOST_BUILD_DIR)/src/ids
endef
define Host/Install
$(INSTALL_DIR) $(STAGING_DIR_HOST)/share/hwinfo
$(CP) $(HOST_BUILD_DIR)/src/isdn/cdb/isdn_cdb $(STAGING_DIR_HOST)/share/hwinfo/
$(CP) $(HOST_BUILD_DIR)/src/isdn/cdb/mk_isdnhwdb $(STAGING_DIR_HOST)/share/hwinfo/
$(CP) $(HOST_BUILD_DIR)/src/ids/check_hd $(STAGING_DIR_HOST)/share/hwinfo/
endef
define Build/Configure
# Fetch prebuilt files from host build dir
$(INSTALL_DIR) $(PKG_BUILD_DIR)/src/isdn/cdb/
$(CP) $(STAGING_DIR_HOST)/share/hwinfo/isdn_cdb $(PKG_BUILD_DIR)/src/isdn/cdb/
$(CP) $(STAGING_DIR_HOST)/share/hwinfo/mk_isdnhwdb $(PKG_BUILD_DIR)/src/isdn/cdb/
$(INSTALL_DIR) $(PKG_BUILD_DIR)/src/ids/
$(CP) $(STAGING_DIR_HOST)/share/hwinfo/check_hd $(PKG_BUILD_DIR)/src/ids/
# Set copied files modtime to one day in the future
# to prevent rebuilding them
perl -e 'utime(time() + 86400, time() + 86400, $$$$ARGV[0])' \
$(PKG_BUILD_DIR)/src/isdn/cdb/isdn_cdb
perl -e 'utime(time() + 86400, time() + 86400, $$$$ARGV[0])' \
$(PKG_BUILD_DIR)/src/isdn/cdb/mk_isdnhwdb
perl -e 'utime(time() + 86400, time() + 86400, $$$$ARGV[0])' \
$(PKG_BUILD_DIR)/src/ids/check_hd
endef
define Package/hwinfo
SECTION:=utils
CATEGORY:=Utilities
TITLE:=probe the hardware present in the system
URL:=https://github.com/openSUSE/hwinfo
DEPENDS:= +libuuid
endef
define Package/hwinfo/description
hwinfo/libhd are used to probe for the hardware present in the system.
It can be used to generate a system overview log which can be later
used for support.
This project provides a hardware probing library libhd.so and a
command line tool hwinfo using it. A major project using this library
is YaST, the SUSE installation tool.
endef
define Package/hwinfo/install
$(INSTALL_DIR) $(1)/usr/bin
$(CP) $(PKG_BUILD_DIR)/hwinfo $(1)/usr/bin/
$(INSTALL_DIR) $(1)/usr/lib
$(CP) $(PKG_BUILD_DIR)/src/libhd.so* $(1)/usr/lib/
endef
$(eval $(call BuildPackage,hwinfo))
$(eval $(call HostBuild))