Go to file
Thomas Petazzoni b3cc7e65ee toolchain/helpers.mk: re-evaluate DESTDIR in copy_toolchain_lib_root
copy_toolchain_lib_root copies libraries from staging to target,
resolving and copying symbolic links along the way.

The most inner loop, a "while" loop, starts from an initial name, and
if it's a symbolic link, gets resolved to the target, and the loop
iterates until we reach a real file. However, the destination folder
where the symbolic link or real file is created is computed in DESTDIR
only once, before this loop starts. Therefore, this loop works fine
when all symbolic links in the chain, and the real file all belong to
the same directory. But it doesn't do the correct thing when the
symbolic link and/or real file are in different folder.

An example is Crosstool-NG musl toolchains, where the dynamic loader
is in /lib/ld-musl*.so but points to ../usr/lib/libc.so. With the
current logic, we copy /lib/ld-musl*.so to /lib, but we also copy
libc.so to /lib instead of the expected /usr/lib.

This currently doesn't cause any problem because the musl dynamic
linker is manually created by the TOOLCHAIN_EXTERNAL_MUSL_LD_LINK
hook. However, this logic has a number of problems, so in a followup
commit, we are going to put the musl dynamic linker in
TOOLCHAIN_EXTERNAL_LIBS, which will cause it to be copied by
copy_toolchain_lib_root. But we obviously want the link and its target
to be copied to the right place, hence this fix.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-07-05 12:20:05 +02:00
arch arch, linux, package: remove whitespaces 2017-03-29 23:30:37 +02:00
board olimex_a20: refactor with genimage.sh 2017-07-02 00:37:59 +02:00
boot syslinux: drop patch 0003, not needed after gnu-efi update 2017-07-04 18:45:26 +02:00
configs configs/{at91sam9x5ek*, atmel_*_xplained*}: U-Boot needs DTC 2017-07-02 15:48:05 +02:00
docs docs/manual: update gettext details 2017-07-05 01:37:38 +02:00
fs fs/ext2: use mkfs to generate rootfs image 2017-07-05 00:39:38 +02:00
linux linux: bump default version to 4.11.8 2017-07-01 13:18:09 +02:00
package pkg-rebar: use $(HOST_DIR) instead of $(HOST_DIR)/usr as prefix 2017-07-05 11:50:51 +02:00
support support/testing: add tests for musl and uclibc toolchains 2017-07-05 12:20:05 +02:00
system package/ifupdown-scripts: new package 2017-07-04 23:38:18 +02:00
toolchain toolchain/helpers.mk: re-evaluate DESTDIR in copy_toolchain_lib_root 2017-07-05 12:20:05 +02:00
utils utils/brmake: print the error code of the build 2017-07-05 00:15:05 +02:00
.defconfig arch: remove support for sh64 2016-09-08 22:15:15 +02:00
.gitignore
.gitlab-ci.yml support/testing: add tests for musl and uclibc toolchains 2017-07-05 12:20:05 +02:00
.gitlab-ci.yml.in .gitlab-ci.yml: use the Buildroot CI image published on Docker Hub 2017-07-02 23:45:27 +02:00
CHANGES CHANGES: add details on the gettext revamp 2017-07-05 01:37:42 +02:00
Config.in core: change the strip command from a choice to a boolean 2017-07-01 15:07:25 +02:00
Config.in.legacy package/mke2img: remove package 2017-07-05 00:54:01 +02:00
COPYING COPYING: add exception about patch licensing 2016-02-26 19:50:13 +01:00
DEVELOPERS package/mke2img: remove package 2017-07-05 00:54:01 +02:00
Makefile Makefile: remove $(HOST_DIR)/usr from BR_PATH 2017-07-05 11:46:15 +02:00
Makefile.legacy Remove BR2_DEPRECATED 2016-10-15 23:14:45 +02:00
README

Buildroot is a simple, efficient and easy-to-use tool to generate embedded
Linux systems through cross-compilation.

The documentation can be found in docs/manual. You can generate a text
document with 'make manual-text' and read output/docs/manual/manual.text.
Online documentation can be found at http://buildroot.org/docs.html

To build and use the buildroot stuff, do the following:

1) run 'make menuconfig'
2) select the target architecture and the packages you wish to compile
3) run 'make'
4) wait while it compiles
5) find the kernel, bootloader, root filesystem, etc. in output/images

You do not need to be root to build or run buildroot.  Have fun!

Buildroot comes with a basic configuration for a number of boards. Run
'make list-defconfigs' to view the list of provided configurations.

Please feed suggestions, bug reports, insults, and bribes back to the
buildroot mailing list: buildroot@buildroot.org
You can also find us on #buildroot on Freenode IRC.

If you would like to contribute patches, please read
https://buildroot.org/manual.html#submitting-patches