summaryrefslogtreecommitdiff
path: root/docs/overview.txt
diff options
context:
space:
mode:
authorYann E. MORIN <devnull@localhost>2009-06-14 19:44:33 (GMT)
committerYann E. MORIN <devnull@localhost>2009-06-14 19:44:33 (GMT)
commita393a72f5f7b0f0f48f11782d70b255c6ca5f740 (patch)
tree8e859c8abcb10de10bf0362d59ac05ed8e7d298b /docs/overview.txt
parentbdf80a8db958a88cad7bf52a579f99d6230687d1 (diff)
[populate] enhance documentation
This patch adds explanations on how populate works internally.
Diffstat (limited to 'docs/overview.txt')
-rw-r--r--docs/overview.txt27
1 files changed, 27 insertions, 0 deletions
diff --git a/docs/overview.txt b/docs/overview.txt
index f165647..740ac0a 100644
--- a/docs/overview.txt
+++ b/docs/overview.txt
@@ -455,6 +455,33 @@ The populate script accepts the following options:
See 'your-target-tuple-populate -h' for more information on the options.
+Here is how populate works:
+
+ 1) performs some sanity checks:
+ - src_dir and dst_dir are specified
+ - src_dir exists
+ - unless forced, dst_dir does not exist
+ - src_dir != dst_dir
+
+ 2) copy src_dir to dst_dir
+
+ 3) add forced libraries to dst_dir
+ - build the list from -l and -L options
+ - get forced libraries from the sysroot (see below for heuristics)
+ - abort on the first missing library, unless -f is specified
+
+ 4) add all missing libraries to dst_dir
+ - scan dst_dir for every ELF files that are 'executable' or
+ 'shared object'
+ - list the "NEEDED Shared library" fields
+ - check if the library is already in dst_dir/lib or dst_dir/usr/lib
+ - if not, get the library from the sysroot
+ - if it's in sysroot/lib, copy it to dst_dir/lib
+ - if it's in sysroot/usr/lib, copy it to dst_dir/usr/lib
+ - in both cases, use the SONAME of the library to create the file
+ in dst_dir
+ - if it was not found in the sysroot, this is an error.
+
___________________
/
Toolchain types /