Commit Graph

7747 Commits

Author SHA1 Message Date
Peter Korsgaard
7add5f57f9 busybox: default to v1.17.x
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-07-12 15:44:43 +02:00
Peter Korsgaard
3877542498 busbox: add 1.17.0 upstream fixes
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-07-12 14:16:38 +02:00
Gustavo Zacarias
3169aae85e busybox: add 1.17.0, convert to gentargets, drop 1.12, deprecate 1.13 and 1.15
Closes #2167

[Peter: fix CONFIG_ID workaround for old uClibcs]
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-07-12 13:32:38 +02:00
Gustavo Zacarias
a7c24b6395 libpng: bump to 1.2.44 [CVE-2010-1205]
Closes #2166

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-07-12 12:13:14 +02:00
Karl Krach
57120f08a6 qt: install qt3 support lib to target if enabled
Signed-off-by: Karl Krach <mailinglists@blueSpirit.la>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-07-09 14:55:02 +02:00
Peter Korsgaard
0ac8553664 toolchain/gcc: cleanup softfloat selection
We don't have a BR2_SOFT_FLOAT_FP option, and -mfloat-abi should also
be used for big endian ARM.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-07-09 09:20:58 +02:00
Luca Ceresoli
e766f13d17 ext-toolchains: fix libnss_*.so installation with external glibc
Commit 7192668 introduced a wrong spelling of BR2_TOOLCHAIN_EXTERNAL_GLIBC
that prevented libnss_files.so and libnss_dns.so from being installed.

Signed-off-by: Luca Ceresoli <luca@lucaceresoli.net>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-07-08 23:06:53 +02:00
Luca Ceresoli
a8102672d9 Fix a wrong sentence in the docs.
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-07-08 22:15:34 +02:00
Peter Korsgaard
0f590b68e0 CHANGES: update with changes from misc-fixes branch
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-07-08 13:57:12 +02:00
Peter Korsgaard
0faf47206c libsvgtiny: needs host-pkg-config
The makefile uses pkg-config for libxml2 support.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-07-08 13:52:32 +02:00
Peter Korsgaard
bd747b77b7 libcgi: fix target install if usr/include doesn't exist
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-07-08 13:25:09 +02:00
Peter Korsgaard
0b569356d7 libsvgtiny: remove TARGET_CONFIGURE_ENV
TARGET_CONFIG_ENV got removed in e721a7c07 (Merge TARGET_CONFIGURE_ENV
into TARGET_CONFIGURE_OPTS), so remove it from the recent libsvgtiny
package as well.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-07-08 10:26:43 +02:00
Peter Korsgaard
74708bad15 Merge branch 'misc-fixes' of git://git.busybox.net/~tpetazzoni/git/buildroot 2010-07-08 10:21:16 +02:00
H Hartley Sweeten
049cf426e3 e2fsprogs: bump version
Version 1.41.12 was released May 18, 2010.

Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-07-08 10:19:58 +02:00
Peter Korsgaard
3917ab3104 bzip2: don't overwrite busybox during installation
The bzip2 make install target follows symlinks, so if busybox is
enabled and the bzip/bunzip2 applets are installed, bin/busybox will
get overwritten by bzip2.

Fix it by ensuring any previously installed bzip2/bunzip2/bzcat (the
applets available in busybox) are removed before running make install.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-07-07 23:37:33 +02:00
Darius Augulis
d0169fda21 GETPT support is needed by rxvt.
Signed-off-by: Darius Augulis <augulis.darius@gmail.com>
2010-07-07 08:20:22 +02:00
Thomas Petazzoni
0bfca3ec25 xvkbd: add missing dependency on xlib_libXtst
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2010-07-07 08:20:22 +02:00
Thomas Petazzoni
a1c8fa41f6 Update all packages to quote $(TARGET_CC)
Now that TARGET_CC contains several space-separated words, it must be
used quoted everywhere.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2010-07-07 08:20:21 +02:00
Thomas Petazzoni
08235f7144 external-toolchain: adjust tests on TARGET_CC and TARGET_CXX
Following the changes to TARGET_CC/TARGET_CXX to include the --sysroot
option, these variables not only contain the path to the compiler, but
also the --sysroot option. For that reason, we cannot anymore just use
"test -x" to test for the compiler presence. Instead, we see if
$(TARGET_CC) -v and $(TARGET_CXX) -v return a zero status.

Moreover, --sysroot now needs to be filtered out of $(TARGET_CC) and
not $(TARGET_CFLAGS) when asking the toolchain for its original
sysroot and arch sysroot.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2010-07-07 08:18:42 +02:00
Thomas Petazzoni
9d6610f58f openssl: don't override the CC passed at configure time
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2010-07-07 08:14:42 +02:00
Thomas Petazzoni
e721a7c07e Merge TARGET_CONFIGURE_ENV into TARGET_CONFIGURE_OPTS
TARGET_CONFIGURE_ENV defines CFLAGS, LDFLAGS, CXXFLAGS and FCFLAGS,
separatly from all other variables that are part of
TARGET_CONFIGURE_OPTS. This is useless and not consistent with the
HOST_CONFIGURE_ variables, therefore we merge TARGET_CONFIGURE_ENV
into TARGET_CONFIGURE_OPTS and fix the few users of
TARGET_CONFIGURE_ENV.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2010-07-07 08:14:41 +02:00
Thomas Petazzoni
26082e79af Introduce support for host config cache
We now have for quite some time a configuration cache used to speed-up
the execution of ./configure scripts when compiling programs for the
target. This commit introduces a similar concept when Buildroot
compiles programs for the host.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2010-07-07 08:14:41 +02:00
Thomas Petazzoni
0ab16a01bb Remove $(TOOLCHAIN_DIR)/bin and $(STAGING_DIR)/{usr/bin,bin} from the PATH
These shouldn't be needed. Even when the cross-compiler is in
$(STAGING_DIR)/usr/bin, we anyway use an absolute path for TARGET_CC,
TARGET_LD and al.

Not having $(STAGING_DIR)/{usr/bin,bin} in the PATH will avoid having
Buildroot trying to run target binaries.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2010-07-07 08:14:41 +02:00
Thomas Petazzoni
359090e693 Remove *_FOR_TARGET variables from TARGET_CONFIGURE_OPTS
Those variables are not standard.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2010-07-07 08:14:40 +02:00
Thomas Petazzoni
efb1d8d3f4 Cleanup TARGET_CONFIGURE_OPTS
The definition of CC, LD, GCC, CPP, CXX and FC shouldn't contain the
CFLAGS/LDFLAGS/CXXFLAGS, those should be passed through the
appropriate variables.

However, the --sysroot option is a particular case here: it needs to
be part of the CC/LD/GCC/etc. definitions otherwise libtool strips it
from the CFLAGS/LDFLAGS.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2010-07-07 08:14:40 +02:00
Thomas Petazzoni
dc67c7f4dc Rework sysroot option handling
The external toolchain and internal toolchain cases both need to use
the --sysroot option, and they have almost identical
LDFLAGS/CFLAGS/CXXFLAGS definition, so we can factorize these
definitions.

Moreover, the --isysroot option is implied by --sysroot so there's no
need to specify both.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2010-07-07 08:14:40 +02:00
Thomas Petazzoni
b07030a708 Separate flags from commands in HOST_CONFIGURE_OPTS
Just as we did for LD/LDFLAGS, pass CFLAGS and CXXFLAGS in their own
variables.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2010-07-07 08:14:40 +02:00
Thomas Petazzoni
8e8103bfb5 Remove unneeded variables in HOST_CONFIGURE_OPTS
When building packages for the host, the *_FOR_BUILD and *_FOR_TARGET
variables are not needed.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2010-07-07 08:14:39 +02:00
Thomas Petazzoni
4fdecac9d6 Solve the host tools relying on host libraries problem
We build host tools installed in $(HOST_DIR)/usr/bin, and some of them
rely on host libraries in $(HOST_DIR)/usr/lib. So when these host
tools are executed, they need to find the host libraries, which are
not installed in a default location.

In c1b6242fdc we tried to use
LD_LIBRARY_PATH when building target packages to solve this
problem. Unfortunately, LD_LIBRARY_PATH is not only used to find
libraries at run-time, but also at compile time. So it leads the build
of some packages, such as icu, to fail.

Therefore, in 0d1830b07d, we reverted
the LD_LIBRARY_PATH idea.

The other option to solve this problem was to hardcode a RPATH value
in the host binaries that would reference the location of host
libraries. We added this -Wl,-rpath option to HOST_CFLAGS in
6b939d40f6. Unfortunately, this caused
problems when building binutils, as reported in bug 1789 so this
change was reverted in e1a7d916e9.

Then, we tried to use -Wl,-rpath in HOST_LDFLAGS, but it was causing
problems with fakeroot not recognizing 'ld' as the GNU linker, since
the -Wl,-rpath cannot be understood by 'ld' directly, only by 'gcc'.

This commit is a new attempt at using HOST_LDFLAGS, but in this case
we modified the definition of HOST_LD to *not* contain
HOST_LDFLAGS. LDFLAGS are being set separatly. It solved the fakeroot
issue and was tested against nearly 300 packages of Buildroot.

For more details on this story, see
 http://lists.busybox.net/pipermail/buildroot/2010-June/035580.html
 http://lists.busybox.net/pipermail/buildroot/2010-June/035581.html
 http://lists.busybox.net/pipermail/buildroot/2010-June/035586.html
 http://lists.busybox.net/pipermail/buildroot/2010-June/035609.html
 https://bugs.busybox.net/show_bug.cgi?id=1789

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2010-07-07 08:14:39 +02:00
Thomas Petazzoni
daa537c334 fontconfig: fix cross-compilation patch
The existing cross-compilation patch works with our not completely
correct TARGET_CONFIGURE_OPTS. With the correct variables (CFLAGS,
LDFLAGS) being passed, fontconfig was trying to use target
CFLAGS/LDFLAGS when building tools for the host.

This updated patch fixes that problem by correctly using the
CC_FOR_BUILD, CFLAGS_FOR_BUILD variables.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2010-07-07 08:14:39 +02:00
Thomas Petazzoni
77b5b803c7 cmake: pass LDFLAGS/CFLAGS when building for the host
Passing LDFLAGS/CFLAGS when building for the host allows cmake to be
compiled with the proper -rpath value (the -rpath option is added to
HOST_LDFLAGS in a later commit).

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2010-07-07 08:14:02 +02:00
Peter Korsgaard
3b709a3d86 libsvgtiny: fix clean command name
Thanks to Thomas for noticing.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-07-06 17:27:03 +02:00
Peter Korsgaard
634163f800 libsvgtiny: only print debugging if GRADIENT_DEBUG is enabled
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-07-06 17:25:59 +02:00
Peter Korsgaard
8251a6d243 libsvgtiny: pass TARGET_CONFIGURE_ENV / OPTS to each make invocation
As it doesn't use a ./configure, we need to pass it each time.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-07-06 16:43:04 +02:00
Peter Korsgaard
94962bf597 libsvgtiny: needs gperf on the host
And fix the .mk file name while we're at it.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-07-06 16:42:58 +02:00
Peter Korsgaard
e09aa60493 uClibc: workaround 0.9.31 / GCC PR32219 issue with static linking
Closes #2143

Fixes crash on static linking without stdio / x86. Both patches are from
upstream uClibc.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-07-06 14:19:36 +02:00
Thomas Petazzoni
8bd4231599 ruby: convert to autotools and fix build
ruby is converted to the autotools infrastructure, and the dependency
on host-ruby is added since a ruby interpreter is needed to build a
ruby interpreter. Fortunately, this is taken into account in the ruby
build process, and it first start to build a mini-interpreter that is
used to build the rest. However, this doesn't take the
cross-compilation case into account, so we have to build ruby for the
host.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2010-07-06 10:32:35 +02:00
Thomas Petazzoni
ff15966c2e xlib_libXt: fix build issues
The .mk file was hacking the CC_FOR_BUILD value so that
$(STAGING_DIR)/usr/include is added to the include path. This is not
correct since $(STAGING_DIR) contains target stuff, not host
stuff. The correct fix is to add a dependency on host-xproto_xproto,
which will install the needed headers in $(HOST_DIR)/usr/include.

In addition to that, a patch is added to make xlib_libXt build system
behave properly in the cross-compilation case, where the makestrs tool
needs to be built on the host as part of the compilation process. This
was working before because of our quirky TARGET_CONFIGURE_OPTS, but
those are going to be fixed in a future commit.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2010-07-06 10:32:35 +02:00
Thomas Petazzoni
def6e3fd14 xcb-util: add dependency on host-gperf
gperf on the host is needed, since it is used by xcb-util to generate
a perfect hash function.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2010-07-06 10:32:35 +02:00
Thomas Petazzoni
9dd1a03a78 webkit: fix misc build issues
Webkit depends on libjpeg, so add it as a dependency. Webkit also uses
icu but fails to find it if we don't pass ac_cv_path_icu_config to its
./configure script.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2010-07-06 10:32:35 +02:00
Thomas Petazzoni
ecb7642cce external-toolchain: hardcode the destination directory for a library
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>
2010-07-06 08:01:00 +02:00
Thomas Petazzoni
2bf32a3307 external-toolchain: handle libstdc++/libgcc_s for BR toolchains
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>
2010-07-06 08:00:22 +02:00
Thomas Petazzoni
086e4b7475 uclibc: add patch to fix fcntl64() on 64 bits targets
The patch is already in upstream uClibc, in the master branch, at
http://git.buildroot.net/uClibc/commit/?id=6f1daaaf2d94c1e6184add44eda38b0781b88cf0.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-07-06 07:59:58 +02:00
Thomas Petazzoni
4b17cef16b external-toolchain: recognize uClibc 64 bits toolchains
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>
2010-07-06 07:59:39 +02:00
Thomas Petazzoni
dd5ca4beb5 external-toolchain: mention MIPS and PowerPC CodeSourcery toolchains
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-07-06 07:59:19 +02:00
Thomas Petazzoni
e774eb0c9d external-toolchain: create lib64 symlinks if needed
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>
2010-07-06 07:58:46 +02:00
Thomas Petazzoni
914f19ca1e external-toolchain: support 64 bits glibc toolchains
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>
2010-07-06 07:57:03 +02:00
Thomas Petazzoni
6d51053637 external-toolchain: only copy existing directories of the sysroot
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>
2010-07-06 07:56:26 +02:00
Thomas Petazzoni
07d15f907b ext-toolchain: Fix ARCH_SYSROOT detection
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>
2010-07-06 07:55:59 +02:00
Thomas Petazzoni
7192668cbf ext-toolchains: take into account other Glibc dynamic loader variants
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>
2010-07-06 07:53:22 +02:00