Until now, the function copy_toolchain_lib_root was copying a given
library to the target filesystem by assuming that it should be at the
same place it was in the toolchain sysroot.
However, with Buildroot hiding libstdc++ in
/usr/<target-name>/lib(64), this isn't correct, and it is probably
safer not to rely on the toolchain organization anyway.
Therefore :
* Instead of having a single EXTERNAL_LIBS variable, we now have
LIB_EXTERNAL_LIBS and USR_LIB_EXTERNAL_LIBS, which respectively
list the libraries that should be copied to /lib and /usr/lib. As
of today, only libstdc++ is part of the second list.
* The copy_toolchain_lib_root takes another argument, which is the
destination directory of the library, relative to $(TARGET_DIR)
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Most toolchains have their libraries either in /lib or /usr/lib
relative to their ARCH_SYSROOT_DIR. Buildroot toolchains, however,
have basic libraries in /lib, and libstdc++/libgcc_s in
/usr/<target-name>/lib(64).
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
With uClibc 64 bits toolchain, the dynamic loader is named
ld64-uClibc.so.0 and not ld-uClibc.so.0. So, this commit adjust the
uClibc detection code for external toolchains.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reviewed-by: Yann E. MORIN <yann.morin.1998@anciens.enib.fr>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Create lib64 -> lib and usr/lib64 -> usr/lib symbolic links in the
target and staging directories. This is needed for some 64 bits
toolchains such as the Crosstool-NG toolchains, for which the path to
the dynamic loader and other libraries is /lib64, but the libraries
are stored in /lib.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reviewed-by: Yann E. MORIN <yann.morin.1998@anciens.enib.fr>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
On 64 bits glibc toolchains, the dynamic loader is named
ld-linux-x86-64.so and not simply ld-linux.so. So, adjust the
detection of the C library accordingly.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reviewed-by: Yann E. MORIN <yann.morin.1998@anciens.enib.fr>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Instead of copying all directories in "etc lib sbin usr", check that
each of them exists before doing the copy. This is only to avoid an
harmless error message.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reviewed-by: Yann E. MORIN <yann.morin.1998@anciens.enib.fr>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
For the detection of the ARCH_SYSROOT_DIR (which contains the C
library variant specific to the compiler flags), we used to pass only
the -march argument instead of the full TARGET_CFLAGS. This was done
because TARGET_CFLAGS contains --sysroot, and we don't want to tell
here the compiler which sysroot to use, because we're specifically
asking the compiler where the *normal* arch sysroot directory is.
Unfortunately, there are some multilib variants that aren't decided
only based on -march, but also on -msoft-float or other compiler
flags. Therefore, we take the opposite approach: pass the full
TARGET_CFLAGS, from which we have stripped the --sysroot option.
For example, this allows a PowerPC CodeSourcery toolchain, on which
we're using the soft-float multilib variant, to work properly as an
external toolchain.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reviewed-by: Yann E. MORIN <yann.morin.1998@anciens.enib.fr>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
External toolchains using Glibc have different names for the dynamic
loader. Some of them name it ld-linux.so.*, while some others (such as
the PowerPC and MIPS CodeSourcery toolchains) name it simply ld.so.*.
Therefore, we fix the glibc detection code to handle this case.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reviewed-by: Yann E. MORIN <yann.morin.1998@anciens.enib.fr>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
A few minor modifications of u-boot.mk is needed to support 2010.06:
- U-Boot now uses ARCH=powerpc like the kernel (instead of ARCH=ppc)
- Library files have moved, so adjust the target mkimage/fw_printenv rules
(still compatible with older versions)
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Closes#2101
At the same time fix dependencies so it can be built without a local
X server, and a comment is shown if C++ support isn't enabled.
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Commit 1dc19c445 (split tremor into its own package) unfortunately
broke the svn checkout step (but normally not noticable as we have
a tarball on sources.buildroot.net that will get downloaded instead).
Fix it by using a custom download step, and remove unused variables
while we're at it.
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
We don't actually need to explicitly clean the kconfig stuff, as distclean
already removes the entire BUILD_DIR, but fix up the packag/config makefile
to do the right thing if make clean/distclean is called manually for
completeness.
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Configure misdetects this as no, but the result is not used for anything.
Unfortunately it breaks the build for other packages also checking for
struct sockaddr_storage (like rsync) when using a shared config cache,
so force it to yes.
Reported-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Fixed spelling error in Documentation buildroot.html#gettext-integration
GETTEXT instead of GNUTTEXT
Signed-off-by: Peter Huewe <peterhuewe@gmx.de>
Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Make sure --enable-video-directfb=no gets passed to configure
if directfb isn't enabled, so sdl doesn't try to link with the
host version instead (if available).
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
This patch bumps the version of nbd to 2.9.15.
The new version avoids problems with klcc installed on the host system
and also includes two former buildroot patches:
- nbd-fix-build-with-disable-lfs.patch
- nbd-server-fix-read-eagain.patch
Signed-off-by: Peter Huewe <peterhuewe@gmx.de>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Closes#2095
Avoids error like:
/usr/bin/ld: /dot-dot-dot/buildroot/output/build/buildroot-config/kconfig_load.o: undefined reference to symbol 'dlsym@@GLIBC_2.2.5'
Need to add -ldl to list of GTK2 development libraries.
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Changes by Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* Installation to target is the default
* No need to strip, it's done globally
Signed-off-by: cmchao <cmchao@gmail.com>
Changes by Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* Installation to target is the default
* Remove SDL_EXTRA_CFLAGS, unused
* Remove reference to SDL_DIRECTFB_INCLUDES, unused
* Remove strip, done globally
Signed-off-by: cmchao <cmchao@gmail.com>
Changes by Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* Installation to target is the default
* No need to strip, done globally
Signed-off-by: cmchao <cmchao@gmail.com>
Changes by Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* Installation to target is the default
* No installation to staging is the default
* The QUAGGA_HEADERS option does not exist
* BOA_INSTALL_TARGETS_CMDS wouldn't work in the Quagga package, and
was anyway doing the default action
* The QUAGGA_BINARY/QUAGGA_TARGET_BINARY variables were not used
* Bump to 0.99.16, which fixes a problem when IPv6 is not enabled
Signed-off-by: cmchao <cmchao@gmail.com>
merge quagga
Changes by Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* Target installation is the default
* No staging installation is the default
Signed-off-by: cmchao <cmchao@gmail.com>
Changes by Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* Installation to target is the default
* No installation to staging is the default
Signed-off-by: cmchao <cmchao@gmail.com>
Changes by Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* Installation to target is the default
* Remove incorrect libfuse-dirclean target
* Remove INSTALL_STAGING_CMDS, since its implementation was the default behaviour
* No need to strip, done globally
* No need to create main directories in $(TARGET_DIR)
Signed-off-by: cmchao <cmchao@gmail.com>