Commit Graph

8094 Commits

Author SHA1 Message Date
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
Yann E. MORIN
ed181aeedb toolchain: move helper functions from external toolchain
The helper functions used for external toolchains may also be useful
to alternate toolchain backends (currently, the external toolchain is
the sole user).

Signed-off-by: Yann E. MORIN <yann.morin.1998@anciens.enib.fr>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-07-28 16:19:56 +02:00
Thomas Petazzoni
ad520824a2 libgtk2: mark DirectFB backend as deprecated
libgtk2 on DirectFB is deprecated because it is no longer supported in
recent versions of Gtk. We will remove support for Gtk over DirectFB
in the next Buildroot version unless support for DirectFB in mainline
Gtk is improved in the mean time.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2010-07-28 12:13:45 +02:00
Gustavo Zacarias
018c77a548 Bump samba to 3.3.13 [CVE-2010-2063]
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
2010-07-28 00:30:26 +02:00
Thomas Petazzoni
ef2c11e51a Remove unused X11_PREFIX option
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2010-07-28 00:30:26 +02:00
Gustavo Zacarias
d54f37fb08 Convert net-snmp to autotargets
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
2010-07-28 00:30:26 +02:00
Paul Jones
d47c73ee9b zlib: Bump to 1.2.5
Closes #1981

Signed-off-by: Paul Jones <paul@pauljones.id.au>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-07-27 23:52:58 +02:00
Thomas Petazzoni
a563a66347 Deprecate the Alpha, IA64 and Sparc64 support
Those architectures don't exist anymore (Alpha, IA64) or aren't widely
used for embedded systems running Linux. Moreover, no clear Buildroot
maintainer has stepped in to maintain these architectures, so it's
better to not pretend that we support them.

The goal is to mark them as deprecated in 2010.08 and remove them in
2010.11.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-07-27 23:23:42 +02:00
Lionel Landwerlin
f3b3f488ef libglib2: bump to 2.24.1
Signed-off-by: Lionel Landwerlin <llandwerlin@gmail.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-07-27 23:17:57 +02:00
Peter Korsgaard
91f8edad3e Merge branch 'avr32-toolchain-fix' of git://git.busybox.net/~tpetazzoni/git/buildroot 2010-07-27 23:06:16 +02:00
Peter Korsgaard
18fa12fe14 CHANGES: update with changes from various-bumps branch
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-07-27 23:01:29 +02:00
Thomas Petazzoni
460ba963ac toolchain: remove redundant and incorrect --with-build-time-tools option
This option is already part of the gcc configure options through the
BR2_CONFIGURE_BUILD_TOOLS variable (in toolchain/Makefile.in).

Additionnally, the value that was passed in the AVR32 specific case
was incorrect: it was $(STAGING_DIR)/$(REAL_GNU_TARGET_NAME)/bin
instead of $(STAGING_DIR)/usr/$(REAL_GNU_TARGET_NAME)/bin.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2010-07-27 22:58:05 +02:00
Thomas Petazzoni
c7f180eca5 toolchain: Remove now-unused variables
The variable BR2_SYSROOT_STAGING_DESTDIR is no longer used, since now
the prefix for gcc is already set to the correct location.

The variable BR2_SYSROOT_TARGET_DESTDIR was already unused.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2010-07-27 22:56:51 +02:00
Thomas Petazzoni
2ae84ac85f binutils,gcc: use correct --prefix
The cross binutils and cross gcc are actually going to be executed
from $(STAGING_DIR)/usr, so the correct prefix is $(STAGING_DIR)/usr
and not /usr.

This also fixes what is known as the "AVR32 toolchain build failure",
which was due to the fact that the prefix directory wasn't writable
(since it was /usr).

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2010-07-27 22:56:36 +02:00
Peter Korsgaard
3fdf280568 Merge branch 'various-bumps' of git://git.busybox.net/~tpetazzoni/git/buildroot 2010-07-27 22:52:19 +02:00
Thomas Petazzoni
3c77bab2ee Create <tuple>/lib -> <sysroot>/lib symlink before installing cross gcc
This commit solves bug #1051. The problem in this bug in that WebKit
compiles a sample C program, which uses WebKit. As WebKit is written
in C++, even though the program it built with CROSS-gcc, it must be
linked with libstdc++. However, CROSS-gcc can't find the libstdc++ has
it's hidden inside <sysroot>/<tuple>/lib.

Therefore, this commit creates a symbolic link <sysroot>/<tuple>/lib
-> <sysroot>/lib before running the CROSS-gcc installation. While this
may look like a hack, this is the solution used by both Crosstool-NG
and OpenWRT.

Moreover, with this symbolic link in place, I think bug #1741 may also
be solved. The problem in this bug is that the linker tries to link
against /lib/libc.so.0. This is due to the fact that the linker finds
a libc.so script file in the original toolchain location and not
inside the copy of the toolchain sysroot in $(STAGING_DIR). As the
script file is found outside of the current toolchain sysroot, ld
considers the script has non-sysrooted, and therefore doesn't prefix
all paths found in the script file (such as /lib/libc.so.0) with the
sysroot path, leading to the failure.

So, in details, this commit :

 * Adds a BR2_ARCH_IS_64 invisible config knob that is used to know if
   the arch is a 64 bits architecture or not.

 * Creates the <sysroot>/<tuple>/lib -> <sysroot>/lib symbolic link,
   and the <sysroot>/<tuple>/lib64 -> <sysroot>/lib64 symbolic link if
   needed.

 * Fixes the external toolchain sysroot detection code so that the
   'sed' replacement is done *after* the readlink -f evaluation.

I have tested this by building ARM, x86 and x86_64 toolchains with
Buildroot, and then use these toolchains as external toolchains to
build a full X.org/Gtk/WebKit/Midori stack. I have also done a
complete ARM Buildroot internal toolchain build with the same full
X.org/Gtk/WebKit/Midori stack.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2010-07-27 22:49:36 +02:00
Thomas Petazzoni
56151c6b93 webkit: Fix build failure on uClibc
uClibc does not define pthread_getattr_np(), so we need to workaround
this using a patch.

Fixes bug #1405.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2010-07-27 22:49:35 +02:00
Thomas Petazzoni
6e231c18f8 webkit: the X11 variant needs libXt
Fixes bug #829.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2010-07-27 22:49:35 +02:00
Thomas Petazzoni
0b14fe9ca6 midori: make sure it can't be selected if webkit can't be enabled
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2010-07-27 22:49:30 +02:00
Thomas Petazzoni
a43e7e798c xserver: Add xkeyboard-config as a dependency
xkeyboard-config is required to install keymap files to the target,
without which the X server does not start.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2010-07-27 22:48:15 +02:00
Thomas Petazzoni
fb04640649 xserver: tell the X server where fonts are installed
All fonts are installed in /usr/share/fonts/X11 and not in
/usr/lib/X11/fonts/ where the X server looks by default.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2010-07-27 22:48:14 +02:00
Thomas Petazzoni
ee363f5231 xkeyboard-config: add dependency on host-xapp_xkbcomp
In order to get xkeyboard-config to build, it needs xkbcomp to be
built on the host, i.e host-xapp_xkbcomp. In turn, xapp_xkbcomp needs
xlib_libX11 and xlib_libxkbfile, which in turn need a few libraries.

This commit adds all the relevant dependencies to build everything
that is needed to get xkeyboard-config to build correctly.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2010-07-27 22:48:14 +02:00
Thomas Petazzoni
6f5188120b libsoup: bump version to 2.31.2
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2010-07-27 22:48:13 +02:00
Thomas Petazzoni
ce408ef0af cairo: bump to 1.8.10
This commit bumps Cairo to 1.8.10 and updates the DirectFB support
patch. The work has been done by Lionel Landwerlin
<llandwerlin@gmail.com>.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2010-07-27 22:48:13 +02:00