Go to file
Thomas De Schampheleire cef3cd40b7 toolchain-external: create symlink ARCH_LIB_DIR->lib
Currently, following symbolic links are created in both target and
staging directories:
- lib(32|64) --> lib
- usr/lib(32|64) --> lib

The decision for lib32 or lib64 is based on the target architecture
configuration in buildroot (BR2_ARCH_IS_64).

In at least one case this is not correct: when building for a Cavium Octeon
III processor using the toolchain from the Cavium Networks SDK, and
specifying -march=octeon3 in BR2_TARGET_OPTIMIZATION, libraries are expected
in directory 'lib32-fp' rather than 'lib32' (ABI=n32; likewise for
lib64-fp in case of ABI=n64)

More generally the correct symbolic link is from (usr/)${ARCH_LIB_DIR}->lib.
However, feedback from Arnout Vandecappelle is that there are packages that
do depend on the lib32/lib64 symlink, even if ARCH_LIB_DIR is different.
Hence, these links must be kept.

Fix the problem as follows:
- For internal toolchains: no change
- For external toolchains: create a symlink ARCH_LIB_DIR->lib if
  (usr/)ARCH_LIB_DIR does not exist yet.

Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Arnout Vandecappelle <arnout@mind.be>
Cc: "Yann E. Morin" <yann.morin.1998@free.fr>
Cc: Romain Naour <romain.naour@gmail.com>
Cc: Peter Korsgaard <peter@korsgaard.com>
Reviewed-by: Romain Naour <romain.naour@gmail.com>
Tested-by: Romain Naour <romain.naour@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-02-01 14:20:10 +01:00
arch Add ARM11 MPCore CPU target support 2016-01-03 22:35:22 +01:00
board board: add support for Freescale i.MX6UL Evaluation Kit 2016-01-31 23:43:26 +01:00
boot uboot: remove unused helper function insert_define 2016-01-18 10:10:50 +01:00
configs board: add support for Freescale i.MX6UL Evaluation Kit 2016-01-31 23:43:26 +01:00
docs docs/manual: makedev syntax accepts usernames and group names 2016-02-01 08:02:38 +01:00
fs fs/common: generate users before setting permissions 2016-02-01 07:25:36 +01:00
linux linux: handle read-only dts files 2016-01-19 21:46:58 +01:00
package package/libseccomp: fix musl build 2016-02-01 14:11:33 +01:00
support support/scripts: drop ancient build-ext3-img script 2016-02-01 11:51:08 +01:00
system Makefile: drop ldconfig handling 2016-01-03 21:46:07 +01:00
toolchain toolchain-external: create symlink ARCH_LIB_DIR->lib 2016-02-01 14:20:10 +01:00
.defconfig arch: kill avr32 2015-02-14 17:39:50 +01:00
.gitignore
CHANGES Update for 2015.11 2015-11-30 23:13:41 +01:00
Config.in libungif: remove deprecated 2016-01-20 21:14:10 +01:00
Config.in.legacy package/cups: Un-deprecate, and update CUPS to 2.1.2 2016-01-21 23:37:01 +01:00
COPYING
Makefile core: override the user's locale while setting HOSTARCH 2016-01-20 23:00:01 +01:00
Makefile.legacy
README README: mention 'make list-defconfigs' 2015-04-04 15:19:43 +02:00

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.