]> git.ipfire.org Git - thirdparty/grub.git/commit
build: Allow explicit module dependencies
authorOliver Steffen <osteffen@redhat.com>
Thu, 16 Nov 2023 15:37:38 +0000 (16:37 +0100)
committerDaniel Kiper <daniel.kiper@oracle.com>
Tue, 5 Dec 2023 13:58:36 +0000 (14:58 +0100)
commit154dcb1aea9f8fc42b2bce98bebed004d7783a7d
tree18471b188c380c42d2202e4b7d8743e17768999a
parent17c68472d1e7746a043b174afb8aab44bda109da
build: Allow explicit module dependencies

The build system deduces inter-module dependencies from the symbols
required and exported by the modules. This works well, except for some
rare cases where the dependency is indirect or hidden. A module might
not make use of any function of some other module, but still expect its
functionality to be available to GRUB.

To solve this, introduce a new file, currently empty, called extra_deps.lst
to track these cases manually. This file gets processed in the same way
as the automatically generated syminfo.lst, making it possible to inject
data into the dependency resolver.

Since *.lst files are set to be ignored by git, add an exception for
extra_deps.lst.

Additionally, introduce a new keyword for the syminfo.lst syntax:
"depends" allows specifying a module dependency directly:

  depends <module> <depdendency>...

Signed-off-by: Oliver Steffen <osteffen@redhat.com>
Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
.gitignore
grub-core/Makefile.am
grub-core/extra_deps.lst [new file with mode: 0644]
grub-core/genmoddep.awk