Commit Graph

8217 Commits

Author SHA1 Message Date
Thomas Petazzoni
01c1279f9f Detect early if an UTF-8 locale is needed
Check in toolchain/dependencies/dependencies.sh if an UTF-8 locale is
properly present on the system before trying to build a locale enabled
toolchain. As this test is only needed when a locale enabled toolchain
is going to be built, we pass the configuration file path to the
dependencies.sh script so that it can grep for the current value of
various options.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2010-08-11 13:10:54 +02:00
Thomas Petazzoni
9088b71f45 Make uClibc gen_wc8bit shows an error when no locale support available
When no UTF-8 locale is available on the host system, uClibc can't
generate some stuff it needs to compile a C library with locale
support. Unfortunately, as gen_wc8bit message is shown on stdout and
the stdout of gen_wc8bit is redirected to a file, the user don't see
anything, as reported at
http://lists.busybox.net/pipermail/buildroot/2010-May/034177.html.

Those two patches fix the problem for uClibc 0.9.31 and 0.9.30.3. It
has been submitted upstream:
 http://lists.uclibc.org/pipermail/uclibc/2010-August/044256.html

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2010-08-11 12:59:46 +02:00
Thomas Petazzoni
e0f441a234 Add dependency from util-linux on ncurses
util-linux can build without ncurses, but when ncurses is available,
additional features can be built (such as the more
command). Therefore, in util-linux.mk, when ncurses is available, mark
it as a dependency.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2010-08-10 19:22:09 +02:00
Thomas Petazzoni
55f70939b8 Fix util-linux build on MIPS
As reported in bug #635, util-linux doesn't build due to missing
constant definitions related to the a.out binary format. We fix this
by hardcoding these constant definitions, as done in newer versions of
util-linux.

Obviously, the long term fix is to upgrade to util-linux-ng, but this
is probably not acceptable for 2010.08.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2010-08-10 19:22:09 +02:00
Peter Korsgaard
2c31d745ac CHANGES: libgail is new, not removed
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-07-30 13:03:59 +02:00
Peter Korsgaard
2ef83b42b9 update for 2010.08-rc1
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-07-30 12:35:45 +02:00
Malte Starostik
e48a72e5e9 Remove gdb plugins from target
* Don't install gdb plugins unless BR2_TARGET_GDB is set

Signed-off-by: Malte Starostik <m-starostik@versanet.de>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-07-30 10:46:37 +02:00
Malte Starostik
bea9e43fe7 Globally remove aclocal directories from target
* Remove $(TARGET_DIR)/usr/share/aclocal from target-finalize when not
  installing devfiles and
* Remove some (now) redundant cleanup from individual packages

Signed-off-by: Malte Starostik <m-starostik@versanet.de>
Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-07-30 10:45:00 +02:00
Malte Starostik
e41dbc75f9 Purge libglib2 dev files from target
* Don't install libglib2 development binaries and to target unless
  BR2_HAVE_DEVFILES is set

Signed-off-by: Malte Starostik <m-starostik@versanet.de>
Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-07-30 10:44:24 +02:00
Peter Korsgaard
31aab0c974 CHANGES: add a bunch of issues resolved by Thomas
Thanks!

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-07-30 10:42:31 +02:00
Peter Korsgaard
ac9ee0b5e5 CHANGES: update with changes from fixes-20100729 branch
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-07-30 10:24:08 +02:00
Peter Korsgaard
074b6689e8 Merge branch 'fixes-20100729' of git://git.busybox.net/~tpetazzoni/git/buildroot 2010-07-30 10:21:40 +02:00
Peter Korsgaard
18abd4aa94 gcc: move <tuple>/lib* symlink handling up to gcc-intermediate
The <tuple>/lib* symlinking added by 3c77bab2ee needs to
be moved up to the gcc-intermediate step now the NPTL stuff is merged,
otherwise 64bit builds fails (lib64 already created).

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-07-30 10:02:23 +02:00
Peter Korsgaard
8d4f9ba707 toolchain: enforce --disable-multilib
Since 5575d205c (toolchain: remove multilib) we were no longer passing
--disable-multilib, which broke builds for multilib-capable archs (like
x86-64, ppc, ..).

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-07-30 09:31:39 +02:00
Peter Korsgaard
9d42e19476 linux: bump 2.6.34.x version
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-07-29 23:50:27 +02:00
Peter Korsgaard
a10c153208 busybox: 1.17.1 mktemp fix
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-07-29 23:47:44 +02:00
Thomas Petazzoni
e7584697f2 xerces: only add -liconv when locale are disabled
The iconv library can only be present when locale are disabled in the
toolchain. When locale are enabled in the toolchain, iconv is directly
implemented by the C library.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2010-07-29 22:18:58 +02:00
Thomas Petazzoni
96451c62fa xerces: fix download location
apache.jumper.nu does not work anymore, so use archive.apache.org
instead.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2010-07-29 22:18:58 +02:00
Thomas Petazzoni
28ac3c6785 libcurl: bump version to fix build issue
The ./configure script of libcurl includes <arpa_inet.h> instead of
<arpa/inet.h> when testing for inet_pton(). The test fails, but it
doesn't prevent libcurl to build as it can work without inet_pton().

However, it fills the configure cache with the fact that inet_pton()
does not exist. And later, tcpreplay reads this from the configure
cache and fails to build, because tcpreplay really need inet_pton().

Unfortunately, just fixing the .m4 file doesn't work because the
autoreconfiguration of the package fails. Since the fix for this
problem is already upstream, the easiest solution is therefore to bump
libcurl.

The libcurl-7.19.2-fix-ssl-no-verbose.patch patch is no longer needed.

Since we're patching a m4 file, we must autoreconfigure the package.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2010-07-29 22:18:58 +02:00
Thomas Petazzoni
60f945e47a toolchain: mark uClibc 0.9.31 + locale + C++ as broken
It fails to build with:

ctype_members.cc: In constructor 'std::ctype_byname<_CharT>::ctype_byname(const char*, size_t) [with _CharT = char]':
ctype_members.cc:59: error: invalid use of incomplete type 'struct __uclibc_locale_struct'
/home/test/avr32-br/usr/avr32-unknown-linux-uclibc/sys-include/bits/uClibc_locale.h:85: error: forward declaration of 'struct __uclibc_locale_struct'
ctype_members.cc:60: error: invalid use of incomplete type 'struct __uclibc_locale_struct'
/home/test/avr32-br/usr/avr32-unknown-linux-uclibc/sys-include/bits/uClibc_locale.h:85: error: forward declaration of 'struct __uclibc_locale_struct'
ctype_members.cc:61: error: invalid use of incomplete type 'struct __uclibc_locale_struct'
/home/test/avr32-br/usr/avr32-unknown-linux-uclibc/sys-include/bits/uClibc_locale.h:85: error: forward declaration of 'struct __uclibc_locale_struct'
make[5]: *** [ctype_members.lo] Error 1

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2010-07-29 22:18:57 +02:00
Thomas Petazzoni
e014e3da09 cairo: PDF support is needed when SVG support is enabled
As soon as PostScript, PNG or SVG support is enabled, PDF support is
required for Cairo to build properly. Otherwise, you get build
failures such as:

.libs/cairo-type3-glyph-surface.o: In function `_cairo_type3_glyph_surface_set_stream':
/home/thomas/local/buildroot-dl/cairo-1.8.10/src/cairo-type3-glyph-surface.c:337: undefined reference to `_cairo_pdf_operators_set_stream'
/home/thomas/local/buildroot-dl/cairo-1.8.10/src/cairo-type3-glyph-surface.c:337: undefined reference to `_cairo_pdf_operators_set_stream'

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2010-07-29 22:18:57 +02:00
Thomas Petazzoni
af5dc83da4 linux: more mistake detection
Just as we do for U-Boot, error out in the Linux kernel makefile when
the defconfig name or the configuration file path are not
correct. What prompted me to implement this was a report on IRC from
an user using BR 2010.05 and not understand why the kernel build
process was failing. It was because he just forgot to set the path of
the configuration file.

Of course, it doesn't catch all mistakes (like pointing to a
non-existing defconfig or to a non-existing configuration file), but
it at least catches basic mistakes.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2010-07-29 22:18:57 +02:00
Thomas Petazzoni
af0a3d1cde u-boot: fix custom patch handling
When U-Boot is enabled and no custom patch directory has been set,
then the current test:

  ifneq ($(strip $(BR2_TARGET_UBOOT_CUSTOM_PATCH_DIR)),"")

works. However, when U-Boot is not enabled, but still gets compiled
because mkimage is needed to build the kernel,
BR2_TARGET_UBOOT_CUSTOM_PATCH_DIR is completely empty. It does not
even have quotes. So the test in fact needs to be:

 ifneq ($(call qstrip,$(BR2_TARGET_UBOOT_CUSTOM_PATCH_DIR)),)

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2010-07-29 22:18:56 +02:00
Thomas Petazzoni
9e06a85616 samba: remove swat documentation when not needed
When SWAT (the Web administration tool of Samba) is enabled, which is
the default when one enables samba in Buildroot, a lot of
documentation gets installed in /usr/swat (~15 MB). This patch fixes
this by removing the documentation when BR2_HAVE_DOCUMENTATION is not
set.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2010-07-29 22:18:56 +02:00
Thomas Petazzoni
9abe052f04 avahi: pkg-config is needed
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2010-07-29 22:18:56 +02:00
Thomas Petazzoni
0a67e77147 speech-tools: fix build failure by using Debian version and patches
The upstream version of speech-tools does not build with GCC >= 4.3,
mainly due to changes in how C++ headers are included. This is fixed
in Debian, so let's use the Debian version and patches.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2010-07-29 22:18:56 +02:00
Thomas Petazzoni
c19c645141 dmalloc: pass -fPIC when compiling
This is needed to avoid:

/home/test/mips-4.4/bin/mips-linux-gnu-ld --sysroot=/home/test/outputs/test-35/staging -shared --whole-archive -soname libdmallocxx.so -o libdmallocxx.so.t libdmallocxx.a
/home/test/mips-4.4/bin/mips-linux-gnu-ld: libdmalloc.a(arg_check.o): relocation R_MIPS_HI16 against `_dmalloc_flags' can not be used when making a shared object; recompile with -fPIC

It is fixed through a patch to Makefile.in instead of passing a CFLAGS
variable to ./configure environment in order to avoid cluttering the
configuration cache with incorrect values.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2010-07-29 22:18:10 +02:00
Gustavo Zacarias
ee77963588 iostat: migrate to gentargets
Also make the cpu counting routine more reliable (for ARM it's
"Processor" in cpuinfo rather than "processor").

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-07-29 17:29:01 +02:00
Peter Korsgaard
ebf21166b7 uClibc: remove old 0.9.28 support
Not supported upstream and needs complicated workaround for the NPTL stuff.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-07-29 17:02:29 +02:00
Khem Raj
c6c7b99733 gcc-4.2.4: Add patch to accept --with-abi=aapcs-linux
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-07-29 16:57:10 +02:00
Khem Raj
cfbf8abc33 Add support for uclibc NPTL toolchain.
This patch modifies current toolchain build sequence so that
NPTL enabled toolchain can be built. The new sequence works
well with linuxthreads as well.

It introduces a new pass for gcc cross compilation. The new
sequence is binutils->gcc-initial->linux-headers -> uclibc-configured
(some cheats to generate phony shared libc.so and libm.o)
-> gcc-intermediate(with shared lib support) -> uclibc -> gcc-final

I also added a new sample config arm_nptl_toolchain_defconfig which
builds the toolchain and busybox.

I have only tried it on arm. However it should work for other
architectures which support NPTL on uclibc e.g. mips, sh, x86, ppc, x86_64

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-07-29 16:57:00 +02:00
Thomas Petazzoni
0eae20b7be cdrkit: fix TARGET_CC/TARGET_CFLAGS for CMake
Since the reorganization of the variables in package/Makefile.in,
TARGET_CC and TARGET_CXX now directly contain the --sysroot= option in
addition to the compiler path. This is due to some ./configure scripts
using just $(TARGET_CC) for some tests instead of $(TARGET_CC)
$(TARGET_CFLAGS).

However, in the case of CMake, this fails as CMake really only wants
the path of the compiler in its CMAKE_C_COMPILER and
CMAKE_CXX_COMPILER variables. So here, we recompute proper values for
CMake by removing the --sysroot option from the compiler variables and
re-adding it to the flags variables.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2010-07-29 16:04:38 +02:00
Thomas Petazzoni
d2e5763e52 libeXosip: add dependency on host-pkg-config and remove useless flags
When libeXosip fails to use pkg-config to find libosip, it defaults to
thinking that libosip is installed in $(prefix)/lib and
$(prefix)/include, which is of course wrong. There was an attempt to
fix this by passing OSIP_CFLAGS and OSIP_LIBS variables to libeXosip
./configure script, but it still does not work:

checking pkg-config is at least version 0.9.0... ./configure: line 21035: /home/test/outputs/test-41/host/usr/bin/pkg-config: No such file or directory
no
checking for OSIP... configure: WARNING: assuming osip can be found in -I${prefix}/include and -L${exec_prefix}/lib

Therefore, the correct fix is to depend on host-pkg-config.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2010-07-29 16:04:38 +02:00
Thomas Petazzoni
a302e3aaa0 libiconv: add an error when both libiconv and locale are enabled
This error should never show up if all Buildroot dependencies are
correct. However, rather than failing horribly later on, catch this
particular case early on and error out.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2010-07-29 16:04:38 +02:00
Thomas Petazzoni
aad29b55a8 xerces: fix dependency on iconv
All "select BR2_PACKAGE_LIBICONV" must use the "if !BR2_ENABLE_LOCALE"
condition, otherwise we can end up with a toolchain suppoting locales
*and* the libiconv package being compiled, which confuses other
packages. Example with glib:

gconvert.c:52:2: error: #error GNU libiconv in use but included
iconv.h not from libiconv

In addition to that, in xerces.mk, we add the dependency on libiconv
when it is available, to make sure it gets compiled before xerces.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2010-07-29 16:04:38 +02:00
Thomas Petazzoni
d328fef63c gdb: disallow GDB_HOST on external toolchain builds
The cross-gdb is supposed to be part of the external toolchain, so
Buildroot does not need to build it. Moreover, GDB_HOST build
currently fail with:

ln -snf ../../bin/arm-unknown-linux-gnueabi-gdb \
                /home/test/outputs/test-48/staging/usr/arm-unknown-linux-gnueabi/bin/gdb
ln: creating symbolic link `/home/test/outputs/test-48/staging/usr/arm-unknown-linux-gnueabi/bin/gdb': No such file or directory

And even worse: they overwrite the cross-gdb of the external
toolchain!

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2010-07-29 16:04:38 +02:00
Thomas Petazzoni
ece1f4225c Fix computation of REAL_GNU_TARGET_NAME
The current computation of REAL_GNU_TARGET_NAME is incorrect for
non-ARM glibc platforms because it generates something such as
mipsel-unknown-linux- as the REAL_GNU_TARGET_NAME.

So we correct this by :

 * Adding "gnu" in the suffix when glibc is used, so that in the
   previous case we will have mipsel-unknown-linux-gnu

 * Improving the ARM_EABI code to correctly append "eabi" when glibc
   is selected, so that we have arm-unknown-linux-gnueabi, and to
   append "gnueabi" when uclibc is selected, so that we have
   arm-unknown-linux-uclibcgnueabi. The little trick here is that LIBC
   and ABI aren't completely orthogonal on ARM.

This fixes problems such as :

checking host system type... Invalid configuration
`mipsel-unknown-linux-': machine `mipsel-unknown-linux' not recognized

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2010-07-29 16:04:38 +02:00
Thomas Petazzoni
d58a827fe5 oprofile: disable with external toolchain
oprofile depends on binutils_target, but binutils_target fails to
build with external toolchains because the binutils version has not
been choosen. As the fix is not trivial, let's just disable oprofile
in external toolchain builds for the moment.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2010-07-29 16:04:38 +02:00
Thomas Petazzoni
3b207de011 dependencies: add svn as a mandatory tool
Now that two packages (tremor and libsvgtiny) are being downloaded
from svn, svn becomes a mandatory tool to run Buildroot.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2010-07-29 16:04:38 +02:00
Gustavo Zacarias
7bfc9e464c netsnmp: depend on openssl when the package is on to ensure build order
The netsnmp package should depend on openssl when using it.
Otherwise netsnmp might get built before openssl and poison the
configure cache since it's not a mandatory dependency.

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-07-29 14:25:45 +02:00
Peter Korsgaard
0c271d5269 CHANGES: #2257 / #2263 are resolved
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-07-29 09:10:25 +02:00
Thomas Petazzoni
5575d205c3 toolchain: remove multilib
Supporting multilib is much more than just passing --enable-multilib
to gcc. You have to actually build the C library several times (once
for each multilib variant you want to support in your toolchain), and
to pass MULTILIB_OPTIONS/MULTILIB_EXCEPTIONS values to gcc to let it
know the set of multilib variants you're interested in.

Since we'll probably never support multilib toolchains in Buildroot,
just get rid of this BR2_ENABLE_MULTILIB option.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2010-07-28 23:21:45 +02:00
Thomas Petazzoni
6d4a992e2b gcc: remove option on SJLJ exceptions
This is a very advanced option, and it seems, according to
http://choices.cs.uiuc.edu/exceptions.pdf that SJLJ exceptions aren't
really interesting.

Users really interested by this can always use the
BR2_EXTRA_GCC_CONFIG_OPTIONS is they want.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2010-07-28 17:38:31 +02:00
Peter Korsgaard
13a10a0959 CHANGES: add note about GTK+ on directfb being deprecated
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-07-28 16:27:09 +02:00
Peter Korsgaard
c9e9d80a7b Merge branch 'deprecate-gtk-on-dfb' of git://git.busybox.net/~tpetazzoni/git/buildroot 2010-07-28 16:24:10 +02:00
Peter Korsgaard
1acb1ac34b CHANGES: update with changes from the 'various-things' branch
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-07-28 16:21:44 +02:00
Peter Korsgaard
af108b7e2c Merge branch 'various-things' of git://git.busybox.net/~tpetazzoni/git/buildroot 2010-07-28 16:20:46 +02:00
Yann E. MORIN
2508b16d66 toolchain: move buildroot config files
Handle the internal toolchain backend mechanism the
same way we handle other backends.

Signed-off-by: Yann E. MORIN <yann.morin.1998@anciens.enib.fr>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-07-28 16:20:08 +02:00
Yann E. MORIN
ed0200993e toolchain: move makefile includes
Including a bunch of Makefiles with wildcard makes it impossible to add
new toolchain backends. Avoid that by namely including needed files.

The external toolchain still needs to include all the toolchain/*/*.mk
sub-makefiles, as they are needed to build a toolchain that runs on the
target. It is to be noted that the cross-toolchain is not built in this
case, as the make-targets to build the cross-toolchain are not present
in the $(BASE_TARGETS) variable, which is later used to create the
dependency rules.

Also, the comment 'Explicit ordering' has been removed, as it is mis-
leading. It is make's responsibility to create the proper ordering based
on the dependency rules it finds in the Makefiles

Signed-off-by: Yann E. MORIN <yann.morin.1998@anciens.enib.fr>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-07-28 16:20:06 +02:00
Yann E. MORIN
f78ea9fcf0 toolchain: rename external toolchain dir
Rename the external toolchain directory.
When new backends are here, it will be easier to sort them out
if they are all prefixed the same way.

Signed-off-by: Yann E. MORIN <yann.morin.1998@anciens.enib.fr>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-07-28 16:20:03 +02:00