dtoc: Add support for building a dtoc PyPi package

Create the necessary files to build this new package.

This is needed for binman.

Move the main program into a function so that it can easily be called by
the PyPi-created script.

Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
Simon Glass 2023-02-23 18:18:17 -07:00
parent 1688d6ca0e
commit 77b3ccb89a
3 changed files with 42 additions and 0 deletions

View file

@ -2284,6 +2284,7 @@ _pip:
scripts/make_pip.sh u_boot_pylib ${PIP_ARGS}
scripts/make_pip.sh patman ${PIP_ARGS}
scripts/make_pip.sh buildman ${PIP_ARGS}
scripts/make_pip.sh dtoc ${PIP_ARGS}
help:
@echo 'Cleaning targets:'

15
tools/dtoc/README.rst Normal file
View file

@ -0,0 +1,15 @@
.. SPDX-License-Identifier: GPL-2.0+
Devicetree-to-C generator
=========================
This is a Python program and associated utilities, which supports converting
devicetree files into C code. It generates header files containing struct
definitions, as well as C files containing the data. It does not require any
modification of the devicetree files.
Some high-level libraries are provided for working with devicetree. These may
be useful in other projects.
This package also includes some U-Boot-specific features, such as creating
`struct udevice` and `struct uclass` entries for devicetree nodes.

26
tools/dtoc/pyproject.toml Normal file
View file

@ -0,0 +1,26 @@
[build-system]
requires = ["setuptools>=61.0"]
build-backend = "setuptools.build_meta"
[project]
name = "dtoc"
version = "0.0.2"
authors = [
{ name="Simon Glass", email="sjg@chromium.org" },
]
dependencies = ["pylibfdt", "u_boot_pylib"]
description = "Devicetree-to-C generator"
readme = "README.rst"
requires-python = ">=3.7"
classifiers = [
"Programming Language :: Python :: 3",
"License :: OSI Approved :: GNU General Public License v2 or later (GPLv2+)",
"Operating System :: OS Independent",
]
[project.urls]
"Homepage" = "https://u-boot.readthedocs.io/en/latest/develop/driver-model/of-plat.html"
"Bug Tracker" = "https://source.denx.de/groups/u-boot/-/issues"
[project.scripts]
dtoc = "dtoc.main:run_dtoc"