# HG changeset patch # User Paul Boddie # Date 1535217868 -7200 # Node ID d399076688ab89e199422836d54d56dc62545fcf # Parent 9d145c1486e3ad8feedd6203ac2fe7073397a672 Added tools and utilities documentation. diff -r 9d145c1486e3 -r d399076688ab README.txt --- a/README.txt Tue Jul 03 20:38:40 2018 +0200 +++ b/README.txt Sat Aug 25 19:24:28 2018 +0200 @@ -250,6 +250,65 @@ Plenty of other hardware support should be introduced. +Tools and Utilities +=================== + +The tools directory contains a number of programs useful when developing this +software: + +checkconfig.sh - initialises files used to control run-time linking for the + configured device + +install.sh - installs the software in a L4Re source distribution + +listlibs.sh - lists library modules for inclusion in .list files + +makecontrol.sh - updates the Control file for a package directory with + details of the provided "virtual" packages employed by the + build system for dependency resolution + +makefonts.sh - generate binary font files from source data + +readfont.py - convert GNU Unifont source files to binary form + +Identifying Library Modules +--------------------------- + +The listlibs.sh tool is intended to inspect an existing .list file, analyse +executable programs mentioned in that file that have already been built, and +to generate a list of shared libraries needed by those executables such that +the .list file describes all required modules for deployment. + +In the l4 subdirectory of the L4Re source distribution, the tool is run as +follows: + +$LANDFALL/tools/listlibs.sh conf/landfall-examples/$EXAMPLE.list mybuild + +(Here, $LANDFALL needs to expand to the location of this distribution whereas +$EXAMPLE indicates an example name.) + +For example: + +~/L4/Landfall/tools/listlibs.sh \ + conf/landfall-examples/mips-qi_lb60-keypad.list mybuild + +This will output a list of modules for inclusion in the .list file. It can be +advisable to make this change to the .list file in the Landfall distribution +and to then install the file into the L4Re source distribution, potentially +using the install.sh script. + +At this point, it is important to remember that the conf/modules.list file +will need updating to include these new details. For example: + +cp conf/landfall-examples/mips-qi_lb60-keypad.list conf/modules.list + +Finally, the command to build a payload can be run: + +make O=mybuild uimage E=mips-qi_lb60-keypad-example + +This should consult conf/modules.list and update the contents of the generated +image to include any newly-added shared libraries. + Dependencies/Prerequisites ==========================