dtc: add option for a static build
authorRobert Marko <robimarko@gmail.com>
Wed, 8 Nov 2023 22:09:44 +0000 (23:09 +0100)
committerChristian Marangi <ansuelsmth@gmail.com>
Fri, 10 Nov 2023 19:27:55 +0000 (20:27 +0100)
I find myself manually compiling dtc as a staticly linked binary rather
often while porting a new device to OpenWrt as dtc is rarely included in
various vendor modifications of OpenWrt.

So, since dtc offers a convenient meson option to build it as staticaly
linked binary, lets make it a compile time option.

Signed-off-by: Robert Marko <robimarko@gmail.com>
package/utils/dtc/Makefile

index dc10e9c5195b17f01e9ed6ab381dbedd9a0124fa..afec6fbae54085a79851ad4579eeb8b2f33d60d1 100644 (file)
@@ -6,7 +6,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=dtc
 PKG_VERSION:=1.7.0
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
 PKG_HASH:=29edce3d302a15563d8663198bbc398c5a0554765c83830d0d4c0409d21a16c4
@@ -35,6 +35,17 @@ define Package/dtc/description
   format for booting kernels on embedded systems.
 endef
 
+define Package/dtc/config
+       config DTC_STATIC_BUILD
+               depends on PACKAGE_dtc
+               bool "Build dtc as static binary"
+               default n
+               help
+                       Builds dtc as a static binary.
+                       This is usefull in order to export live DTS from a device running
+                       various vendor modified OpenWrt versions.
+endef
+
 define Package/dtc/install
        $(INSTALL_DIR) $(1)/usr/bin
        $(CP) $(PKG_INSTALL_DIR)/usr/bin/dtc $(1)/usr/bin
@@ -80,7 +91,8 @@ MESON_ARGS += \
        -Dtools=true \
        -Dyaml=disabled \
        -Dvalgrind=disabled \
-       -Dpython=disabled
+       -Dpython=disabled \
+       -Dstatic-build=$(if $(CONFIG_DTC_STATIC_BUILD),true,false)
 
 define Build/InstallDev
        $(INSTALL_DIR) $(1)/usr/lib