netifd: add flow steering mode to the packet steering script
[openwrt/openwrt.git] / include / u-boot.mk
index 4993eb6a060c70792ada7b63caee32666c1075fb..454880989b5ec066542ef7f23a4580104c8423c2 100644 (file)
@@ -1,9 +1,12 @@
+include $(INCLUDE_DIR)/prereq.mk
+
 PKG_NAME ?= u-boot
 
 ifndef PKG_SOURCE_PROTO
 PKG_SOURCE = $(PKG_NAME)-$(PKG_VERSION).tar.bz2
 PKG_SOURCE_URL = \
-       http://sources.lede-project.org \
+       https://mirror.cyberbits.eu/u-boot \
+       https://ftp.denx.de/pub/u-boot \
        ftp://ftp.denx.de/pub/u-boot
 endif
 
@@ -15,7 +18,32 @@ PKG_FLAGS:=nonshared
 PKG_LICENSE:=GPL-2.0 GPL-2.0+
 PKG_LICENSE_FILES:=Licenses/README
 
-PKG_BUILD_PARALLEL:=1
+PKG_BUILD_PARALLEL ?= 1
+
+ifdef UBOOT_USE_BINMAN
+  $(eval $(call TestHostCommand,python3-pyelftools, \
+    Please install the Python3 elftools module, \
+    $(STAGING_DIR_HOST)/bin/python3 -c 'import elftools'))
+endif
+
+ifdef UBOOT_USE_INTREE_DTC
+  $(eval $(call TestHostCommand,python3-dev, \
+    Please install the python3-dev package, \
+    python3.11-config --includes 2>&1 | grep 'python3', \
+    python3.10-config --includes 2>&1 | grep 'python3', \
+    python3.9-config --includes 2>&1 | grep 'python3', \
+    python3.8-config --includes 2>&1 | grep 'python3', \
+    python3.7-config --includes 2>&1 | grep 'python3', \
+    python3-config --includes 2>&1 | grep -E 'python3\.([7-9]|[0-9][0-9])\.?'))
+
+  $(eval $(call TestHostCommand,python3-setuptools, \
+    Please install the Python3 setuptools module, \
+    $(STAGING_DIR_HOST)/bin/python3 -c 'import setuptools'))
+
+  $(eval $(call TestHostCommand,swig, \
+    Please install the swig package, \
+    swig -version))
+endif
 
 export GCC_HONOUR_COPTS=s
 
@@ -32,6 +60,7 @@ define U-Boot/Init
   NAME:=
   DEPENDS:=
   HIDDEN:=
+  DEFAULT:=
   VARIANT:=$(1)
   UBOOT_CONFIG:=$(1)
   UBOOT_IMAGE:=u-boot.bin
@@ -39,6 +68,18 @@ endef
 
 TARGET_DEP = TARGET_$(BUILD_TARGET)$(if $(BUILD_SUBTARGET),_$(BUILD_SUBTARGET))
 
+UBOOT_MAKE_FLAGS = \
+       PATH=$(STAGING_DIR_HOST)/bin:$(PATH) \
+       HOSTCC="$(HOSTCC)" \
+       HOSTCFLAGS="$(HOST_CFLAGS) $(HOST_CPPFLAGS) -std=gnu11" \
+       HOSTLDFLAGS="$(HOST_LDFLAGS)" \
+       LOCALVERSION="-OpenWrt-$(REVISION)" \
+       STAGING_PREFIX="$(STAGING_DIR_HOST)" \
+       PKG_CONFIG_PATH="$(STAGING_DIR_HOST)/lib/pkgconfig" \
+       PKG_CONFIG_LIBDIR="$(STAGING_DIR_HOST)/lib/pkgconfig" \
+       PKG_CONFIG_EXTRAARGS="--static" \
+       $(if $(findstring c,$(OPENWRT_VERBOSE)),V=1,V='')
+
 define Build/U-Boot/Target
   $(eval $(call U-Boot/Init,$(1)))
   $(eval $(call U-Boot/Default,$(1)))
@@ -59,6 +100,7 @@ define Build/U-Boot/Target
                $(patsubst %,|| $(patsubst TARGET_%,TARGET_DEVICE_%,$(TARGET_DEP))_DEVICE_%,$(BUILD_DEVICES)))
       endif
     endif
+    $(if $(DEFAULT),DEFAULT:=$(DEFAULT))
     URL:=http://www.denx.de/wiki/U-Boot
   endef
 
@@ -69,14 +111,20 @@ endef
 
 define Build/Configure/U-Boot
        +$(MAKE) $(PKG_JOBS) -C $(PKG_BUILD_DIR) $(UBOOT_CONFIGURE_VARS) $(UBOOT_CONFIG)_config
+       $(if $(strip $(UBOOT_CUSTOMIZE_CONFIG)),
+               $(PKG_BUILD_DIR)/scripts/config --file $(PKG_BUILD_DIR)/.config $(UBOOT_CUSTOMIZE_CONFIG)
+               +$(MAKE) $(PKG_JOBS) -C $(PKG_BUILD_DIR) $(UBOOT_CONFIGURE_VARS) oldconfig)
 endef
 
-DTC=$(wildcard $(LINUX_DIR)/scripts/dtc/dtc)
+ifndef UBOOT_USE_INTREE_DTC
+  DTC=$(wildcard $(LINUX_DIR)/scripts/dtc/dtc)
+endif
 
 define Build/Compile/U-Boot
        +$(MAKE) $(PKG_JOBS) -C $(PKG_BUILD_DIR) \
                CROSS_COMPILE=$(TARGET_CROSS) \
-               $(if $(DTC),DTC="$(DTC)")
+               $(if $(DTC),DTC="$(DTC)") \
+               $(UBOOT_MAKE_FLAGS)
 endef
 
 define BuildPackage/U-Boot/Defaults