[populate] enhance documentation
authorYann E. MORIN
Sun Jun 14 21:44:33 2009 +0200 (2009-06-14)
changeset 1406515580cad631
parent 1405 8b86a6f004ae
child 1409 7264ce426be4
child 1410 23a8ffdf8574
[populate] enhance documentation

This patch adds explanations on how
populate works internally.
docs/overview.txt
     1.1 --- a/docs/overview.txt	Sun Jun 14 21:43:55 2009 +0200
     1.2 +++ b/docs/overview.txt	Sun Jun 14 21:44:33 2009 +0200
     1.3 @@ -455,6 +455,33 @@
     1.4  
     1.5  See 'your-target-tuple-populate -h' for more information on the options.
     1.6  
     1.7 +Here is how populate works:
     1.8 +
     1.9 +  1) performs some sanity checks:
    1.10 +     - src_dir and dst_dir are specified
    1.11 +     - src_dir exists
    1.12 +     - unless forced, dst_dir does not exist
    1.13 +     - src_dir != dst_dir
    1.14 +
    1.15 +  2) copy src_dir to dst_dir
    1.16 +
    1.17 +  3) add forced libraries to dst_dir
    1.18 +     - build the list from -l and -L options
    1.19 +     - get forced libraries from the sysroot (see below for heuristics)
    1.20 +       - abort on the first missing library, unless -f is specified
    1.21 +
    1.22 +  4) add all missing libraries to dst_dir
    1.23 +     - scan dst_dir for every ELF files that are 'executable' or
    1.24 +       'shared object'
    1.25 +     - list the "NEEDED Shared library" fields
    1.26 +       - check if the library is already in dst_dir/lib or dst_dir/usr/lib
    1.27 +       - if not, get the library from the sysroot
    1.28 +         - if it's in sysroot/lib, copy it to dst_dir/lib
    1.29 +         - if it's in sysroot/usr/lib, copy it to dst_dir/usr/lib
    1.30 +         - in both cases, use the SONAME of the library to create the file
    1.31 +           in dst_dir
    1.32 +         - if it was not found in the sysroot, this is an error.
    1.33 +
    1.34  ___________________
    1.35                    /
    1.36  Toolchain types  /