binman: Add a --toolpath option to set the tool search path

Sometimes tools used by binman may not be in the normal PATH search path,
such as when the tool is built by the U-Boot build itself (e.g. mkimage).
Provide a way to specify an additional search path for tools. The flag
can be used multiple times.

Update the help to describe this option.

Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
Simon Glass 2019-07-08 13:18:28 -06:00
parent c22b8cfc1d
commit c7d8035ec1
3 changed files with 13 additions and 0 deletions

View file

@ -691,6 +691,16 @@ Not all properties can be provided this way. Only some entries support it,
typically for filenames.
External tools
--------------
Binman can make use of external command-line tools to handle processing of
entry contents or to generate entry contents. These tools are executed using
the 'tools' module's Run() method. The tools generally must exist on the PATH,
but the --toolpath option can be used to specify additional search paths to
use. This option can be specified multiple times to add more than one path.
Code coverage
-------------

View file

@ -52,6 +52,8 @@ def ParseArgs(argv):
default=False, help='run tests')
parser.add_option('-T', '--test-coverage', action='store_true',
default=False, help='run tests and check for 100% coverage')
parser.add_option('--toolpath', type='string', action='append',
help='Add a path to the directories containing tools')
parser.add_option('-u', '--update-fdt', action='store_true',
default=False, help='Update the binman node with offset/size info')
parser.add_option('-v', '--verbosity', default=1,

View file

@ -112,6 +112,7 @@ def Binman(options, args):
try:
tools.SetInputDirs(options.indir)
tools.PrepareOutputDir(options.outdir, options.preserve)
tools.SetToolPaths(options.toolpath)
state.SetEntryArgs(options.entry_arg)
# Get the device tree ready by compiling it and copying the compiled