Add the device-tree-compiler source as libfdt. I guess the package could have been named dtc as a target variant with libfdt, but I don't know of any uses of the dtc on target environments. So the only use I can think of is libfdt. I think the name is more accurate towards usage, but it isn't as symmetrical as the typical host-* and normal variants.
The use of libfdt is separate from the host-dtc usage too, so whatever version you'd use for external device trees are probably not the same as target lifdt. There you'd typically want the latest version. This work is prepping for qemu 8.2.0+, as it requires libfdt as a separate library. It has stopped providing one internally. Signed-off-by: Christian Melki <christian.me...@t2data.com> --- rules/libfdt.in | 9 +++++++ rules/libfdt.make | 69 +++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 78 insertions(+) create mode 100644 rules/libfdt.in create mode 100644 rules/libfdt.make diff --git a/rules/libfdt.in b/rules/libfdt.in new file mode 100644 index 000000000..3e30062e9 --- /dev/null +++ b/rules/libfdt.in @@ -0,0 +1,9 @@ +## SECTION=system_libraries + +menuconfig LIBFDT + tristate + prompt "libfdt " + help + libfdt is the flattend device tree library. + It's technically a part of the device tree compiler code, + but for target uses, libfdt is sometimes required. \ No newline at end of file diff --git a/rules/libfdt.make b/rules/libfdt.make new file mode 100644 index 000000000..a7f5cc566 --- /dev/null +++ b/rules/libfdt.make @@ -0,0 +1,69 @@ +# -*-makefile-*- +# +# Copyright (C) 2023 Christian Melki <christian.me...@t2data.com> +# +# For further information about the PTXdist project and license conditions +# see the README file. +# + +# +# We provide this package +# +PACKAGES-$(PTXCONF_LIBFDT) += libfdt + +# +# Paths and names +# +LIBFDT_VERSION := 1.7.0 +LIBFDT_MD5 := f8b4469ad89f4b882091895ec60dde6b +LIBFDT := dtc-$(LIBFDT_VERSION) +LIBFDT_SUFFIX := tar.gz +LIBFDT_URL := https://git.kernel.org/pub/scm/utils/dtc/dtc.git/snapshot/$(LIBFDT).$(LIBFDT_SUFFIX) +LIBFDT_SOURCE := $(SRCDIR)/$(LIBFDT).$(LIBFDT_SUFFIX) +LIBFDT_DIR := $(BUILDDIR)/$(LIBFDT) +LIBFDT_LICENSE := BSD-2-Clause OR GPL-2.0 +LIBFDT_LICENSE_FILES := \ + file://README.license;md5=a1eb22e37f09df5b5511b8a278992d0e \ + file://GPL;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ + file://BSD-2-Clause;md5=5d6306d1b08f8df623178dfd81880927 + +# ---------------------------------------------------------------------------- +# Prepare +# ---------------------------------------------------------------------------- + +LIBFDT_CONF_TOOL := NO + +LIBFDT_MAKE_ENV := \ + $(CROSS_ENV) + +LIBFDT_MAKE_OPT := \ + PREFIX=/usr \ + NO_PYTHON=1 \ + NO_VALGRIND=1 \ + NO_YAML=1 + +LIBFDT_INSTALL_OPT := \ + $(LIBFDT_MAKE_OPT) \ + install-includes \ + install-lib + +# ---------------------------------------------------------------------------- +# Target-Install +# ---------------------------------------------------------------------------- + +$(STATEDIR)/libfdt.targetinstall: + @$(call targetinfo) + + @$(call install_init, libfdt) + @$(call install_fixup, libfdt,PRIORITY,optional) + @$(call install_fixup, libfdt,SECTION,base) + @$(call install_fixup, libfdt,AUTHOR,"Christian Melki <christian.me...@t2data.com>") + @$(call install_fixup, libfdt,DESCRIPTION,missing) + + @$(call install_lib, libfdt, 0, 0, 0644, libfdt-$(LIBFDT_VERSION)) + + @$(call install_finish, libfdt) + + @$(call touch) + +# vim: syntax=make -- 2.34.1