Commit Graph

488 Commits

Author SHA1 Message Date
Gustavo Zacarias
8d04fa9cc6 toolchain/gcc: bump 4.6.x version to 4.6.2
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-10-27 02:23:35 +02:00
Thomas Petazzoni
102a93bdca support: move package/gnuconfig to support/gnuconfig
The CONFIG_UPDATE macro is no longer defined in
package/gnuconfig/gnuconfig.mk, but instead in
package/Makefile.autotools.in. It it also changed a little bit to take
the directory of the package sources as argument, and the AUTOTARGETS
infrastructure is updated to use this macro.

[Peter: drop echo in CONFIG_UPDATE]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-09-17 08:22:12 +02:00
Thomas Petazzoni
59a326b934 support: move patch-kernel.sh and rename it
The name "patch-kernel.sh" is a bit stupid, since this script is used
to patch everything in Buildroot, not only kernel trees.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-09-17 08:15:32 +02:00
Peter Korsgaard
c80224a3a0 toolchain/gcc: bump 4.6.x version to 4.6.1
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-06-28 15:19:13 +02:00
Peter Korsgaard
ca71de8ea7 toolchain/gcc: bump 4.3.x version to 4.3.6
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-06-28 15:13:59 +02:00
Thomas Petazzoni
7c46868238 gcc: remove references to arm-softfloat.patch.conditional
The arm-softfloat.patch.conditional patches are no longer in Buildroot
since 9af188d883 (October 2009), which
removed support for gcc 3.x and 4.0.x.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2011-05-15 21:58:50 +02:00
Gustavo Zacarias
1db3939ad9 toolchain: update gcc snapshot version
* Make mpc mandatory since we are probably building bleeding-edge
* Change snapshot naming convention to match the source

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-05-02 23:12:30 +02:00
Gustavo Zacarias
0073143087 toolchain/gcc: add openmp support option
Add OpenMP support in gcc as an option instead of dynamically enabling
it when threads are present.
Also fix it up since we never installed libgomp to the target or staging
thus it was never really functional.

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-05-02 21:15:50 +02:00
Gustavo Zacarias
0a2af382bb toolchain: bump gcc 4.5 series to verion 4.5.3
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-05-02 21:14:44 +02:00
Peter Korsgaard
fc8b776635 toolchain/gcc: FINEGRAINEDMTUNE: remove checks for unused/outdated versions
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-04-27 22:13:48 +02:00
Gustavo Zacarias
f8fe67e12e toolchain: add gcc 4.6.0
Add gcc 4.6.0 to the toolchain repertoire:

Target gcc is known to be broken in some scenarios.

This version is considered experimental so things may break.

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-04-26 22:46:59 +02:00
Gustavo Zacarias
243e4edc74 toolchain: make target gcc a working option
Make target gcc a more usable option.

* Nuke duplicate libgcc_s*.so* in /usr/lib since it confuses target gcc
* Copy *crt*.o files to the target system to unbreak gcc

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-04-26 22:43:44 +02:00
Gustavo Zacarias
4612aeec57 toolchain: reorganize target gcc options
* Move target gcc language selections to the package menu.
* Disable objc & fortran options unless target gcc is selected.
* Rename the "native toolchain" option to gcc.
* Disable target gcc unless we're using a buildroot toolchain.

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-04-26 22:39:34 +02:00
Peter Korsgaard
2af9541e2c toolchain/gcc: bump 4.4.x version
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-04-19 14:11:35 +02:00
Will Newton
a1c305c8a7 toolchain/gcc/4.2.4: Remove libstdc++ uClibc locale patches
These patches do not build with more recent versions of uClibc
going back as far as at least 2008. More recent compiler versions
seem to do fine without these patches, so lets remove them so
libstdc++ locale support will actually build for gcc 4.2.4.

Signed-off-by: Will Newton <will.newton@imgtec.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-03-11 22:31:44 +01:00
Will Newton
eabc25999d toolchain/gcc/4.2.4: Add missing hunk to gcc 4.2.4 libgcc patch.
This patch is required to build gcc 4.2.4 libgcc with dwarf2
unwinding support enabled.

Signed-off-by: Will Newton <will.newton@imgtec.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-02-20 23:32:49 +01:00
Gustavo Zacarias
2a161016d7 target gcc: fix recompilation issue
gcc_target wants uclibc_target which is now first stage uclibc (not
real, from the NPTL build stage addition).
This triggers gcc-final to be rebuilt (albeit cached) and reinstalled,
thus touching all the stamps around and triggering a rebuild of
gcc_target.
Switch to $(STAMP_DIR)/gcc_libs_target_installed instead so that we only
depend on the last stage of cross gcc being installed to rebuild.

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-02-10 20:15:16 +01:00
Gustavo Zacarias
9bc58a42af toolchain: only fetch gcc/gmp/mpfr/mpc when using a buildroot toolchain
Closes #3103

gcc/gmp/mpfr/mpc are only needed when using an internal buildroot toolchain,
so only add them to HOST_SOURCE then.

Otherwise we get some nasty fetch error when doing "make source"

[Peter: add gmpc/mpfr/mpc and reword commit text]
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-01-19 17:19:42 +01:00
Peter Korsgaard
6ca4e7ce97 toolchain/gcc: fix target-gcc selects
We need to select BR2_PACKAGE_BINUTILS as well, now
BINUTILS_TARGET depends on it.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-01-03 00:25:38 +01:00
Gustavo Zacarias
81f1f99dc5 target gcc: cleanup
WITH_TARGET_{GMP/MPC/MPFR} is unneeded since we are providing a sysroot.

It also breaks build-gcc under certain conditions.

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-01-02 22:55:37 +01:00
Gustavo Zacarias
5bd272eb6b gcc: install copies of libgcc, libstdc++ and libgcj to the sysroot
We want to keep a copy around for the future SDK functionality.

Also it's a better fix for bug #1051.

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-01-02 22:55:36 +01:00
Gustavo Zacarias
009407e6be binutils: make it a proper package
* Convert binutils to a proper autotargets package

* Add version 2.21 and drop version 2.17

* Hook up packaged binutils for target gcc

* Build tools are on HOST_DIR now so change it

* Move cross/host gcc to HOST_DIR

* Drop kludge from commit 3c77bab2ee
  This is fixed in the next commit "gcc: install copies of libgcc,
  libstdc++ and libgcj to the sysroot" - tested for arm & x86_64
  targets.

* TARGET_CROSS now pointed to HOST_DIR too

[Peter: Config.in tweaks]
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-01-02 22:55:16 +01:00
Gustavo Zacarias
7aa2e0c3d5 mpc: make it a proper package
* Convert mpc to a proper autotargets package
* Hook it up for binutils/gcc to use

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-12-27 22:01:00 +01:00
Gustavo Zacarias
a6337a4dc8 mpfr: make it a proper package and bump to version 3.0.0-p8
* Convert mpfr to a proper autotargets package
* Bump to version 3.0.0-p8
* Hook it up for binutils/gcc to use

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-12-27 22:00:59 +01:00
Gustavo Zacarias
21f7b8bcce gmp: make it a proper package and bump to version 5.0.1
* Convert gmp to a proper autotargets package
* Bump to version 5.0.1
* Hook it up for binutils/gcc to use

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-12-27 22:00:59 +01:00
Peter Korsgaard
fc77598368 toolchain/gcc: bump 4.5.x version
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-12-19 21:09:00 +01:00
Thomas Petazzoni
227b5d2e26 gcc: disable libgomp when thread support is disabled
libgomp needs thread support on the target to build properly.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-12-13 22:26:51 +01:00
Thomas Petazzoni
9eaad202f1 toolchain: rework thread options
The selection of linuxthreads, linuxthreads old or NPTL doesn't make a
lot of sense for external toolchains. So, instead, we :

 * Introduce an hidden BR2_TOOLCHAIN_HAS_THREADS option, which must be
   selected by toolchain specific options when thread support is
   available. Package needing to test thread support should use this
   option.

 * Move the none/linuxthreads/linuxthreads old/NPTL selection to
   Buildroot internal toolchain configuration.

 * Add an option in external toolchain to tell if thread support is
   available or not in the external toolchain. We assume that glibc
   without threads is not possible, as Ulrich Drepper said in
   http://sourceware.org/ml/libc-alpha/2005-08/msg00091.html

ffmpeg, dmalloc and openvpn are fixed to use the new
BR2_TOOLCHAIN_HAS_THREADS option. For openvpn, --enable-threads=posix
is no longer used, as the configure script doesn't even understand
this option.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-12-13 22:26:41 +01:00
Thomas Petazzoni
6b578c8d73 toolchain: rework C++ options
Instead of having BR2_GCC_CROSS_CXX and BR2_INSTALL_LIBSTDCPP, with
BR2_GCC_CROSS_CXX not being visible (and therefore being useless),
let's just keep BR2_INSTALL_LIBSTDCPP to enable C++ in the toolchain
and install C++ libraries on the target.

We also take that opportunity to make BR2_INSTALL_LIBSTDCPP an hidden
option, which is selected by an option in Buildroot toolchain support
or an option in External toolchain support, just as we did for other
toolchain features.

Some work definitely remains to be done :

 - The name BR2_INSTALL_LIBSTDCPP is ugly, but we keep it for the
   moment in order to avoid changing all packages.

 - We should clarify the other language-related options (Fortran,
   Java, Objective-C, etc.).

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-12-13 22:04:35 +01:00
Gustavo Zacarias
152e887c6c toolchain: tighten up sparc leon allowed gcc versions
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-11-25 09:18:06 +01:00
Konrad Eisele
d28a2b87d4 gcc-patch: Add patch for 4.4.5 to support Sparc-leon processors
Gcc patch that adds hfleon (fpu,v7), hfleonv8 (fpu, v8), sfleon (softfpu,v7),
sfleonv8 (softfpu,v8) SPARC variants. Default cpu is selected with --with-cpu.
Adds leon pipeline descrption to gcc.

Signed-off-by: Konrad Eisele <konrad@gaisler.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-11-25 09:16:13 +01:00
Konrad Eisele
c9f1651ea0 toolchain: Add support for --with-cpu
Add support for gcc configuration switch --with-cpu. Uses newly added
BR2_GCC_TARGET_CPU from the target config.

Signed-off-by: Konrad Eisele <konrad@gaisler.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-11-25 09:15:11 +01:00
Gustavo Zacarias
1b3b991943 gcc 4.5.x arm: fix v4, pr#43440, pr#44392 and pr#45070
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-11-04 20:16:28 +01:00
Gustavo Zacarias
aa3e75ecd1 gcc 4.5.x powerpc: fix softfloat and gcc pr#43810
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-11-04 20:16:28 +01:00
Martin Banky
4af6496eac Add gcc 4.5.1 to buildroot
Signed-off-by: Martin.Banky@gmail.com <Martin.Banky@gmail.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-11-04 20:16:28 +01:00
Yann E. MORIN
d41029b1dc toolchain/internal: use global BR2 version string for gcc version string
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-11-03 23:31:32 +01:00
Peter Korsgaard
2c37dbf7d1 toolchain/gcc: fix objective C suppor
We've had objective C support in the tree for many years, but somehow
the BR2_GCC_CROSS_OBJC option (similar to the other BR2_GCC_CROSS_*
options) has disappeared.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-10-31 21:17:47 +01:00
Peter Korsgaard
1f0302f967 toolchain/gcc: bump 4.4.x version
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-10-04 09:04:34 +02:00
Thomas Petazzoni
97d8618c6c Remove code specific to removed architectures
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2010-08-31 20:28:21 +02:00
Peter Korsgaard
fb67a2dc3a gcc: remove deprecated gcc 4.2.[1-3] versions and unused patches
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-08-30 11:08:41 +02:00
Thomas Petazzoni
d6d6ff6a9c Add the patch fixing gcc 4.2.4 to gcc 4.2.2
The patch introduced by commit
1ed2e4fffd must also be added to gcc
4.2.2 to let the AVR32 toolchain build properly.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2010-08-30 11:07:39 +02:00
Khem Raj
1ed2e4fffd toolchain/gcc: fix 4.2.4 build after uClibc NTPL support got added
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-08-25 17:28:19 +02:00
Thomas Petazzoni
0fa2a04417 Add the traditional powerpc-link-with-math-lib patch to gcc 4.4.4
Patch taken from Crosstool-NG patchset.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2010-08-11 13:25:50 +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
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
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
91f8edad3e Merge branch 'avr32-toolchain-fix' of git://git.busybox.net/~tpetazzoni/git/buildroot 2010-07-27 23:06:16 +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
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
454b70d03a target-g++: fix build
Just as we did to fix target-gcc, pass CXX_FOR_TARGET when building
target g++, and remove useless copies of g++ and c++.

Tested on ARM by compiling a simple C++ program using <iostream> on
the target and running it.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2010-07-27 22:32:02 +02:00
Thomas Petazzoni
fed6a2a6ea target-gcc: remove useless copies of gcc
When doing the "make install" of target, three identical copies of gcc
are installed in $(TARGET_DIR)/usr/bin:

  039adcc582c365f12ba6fc5f96098128  arm-unknown-linux-uclibcgnueabi-gcc
  039adcc582c365f12ba6fc5f96098128  arm-unknown-linux-uclibcgnueabi-gcc-4.3.5
  039adcc582c365f12ba6fc5f96098128  gcc

This patch removes the first two copies and keeps only the common "gcc" one.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2010-07-27 18:23:32 +02:00
Thomas Petazzoni
4e62eeed19 target-gcc: no need to strip binaries, remove .la files and doc
This is done in a global way by the target-finalize target of the main
Makefile.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2010-07-27 18:23:32 +02:00
Thomas Petazzoni
f43054d841 target-gcc: fix build
Now that $(STAGING_DIR)/usr/bin is no longer in the PATH, we need to
pass the absolute paths to $(TARGET_CC) when building the target gcc
compiler.

This commit fixes the target gcc build problem reported on the list. I
have successfully been able to build a target gcc for ARM, use it to
compile a hello world application on the target and run this
application.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2010-07-27 18:23:16 +02:00
Thomas Petazzoni
5e8e1cdb60 target-gcc: Get rid of TARGET_GCC_FLAGS
This variable is used only once, so let's just hardcode its value at
its call site.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2010-07-27 18:22:44 +02:00
Peter Korsgaard
39e6ba1b39 java: mark as broken
We haven't had any updates to the java packages in a long time,
gcj in 4.3.x doesn't build, and 4.4.x is missing ecj1, so it cannot
have many users.

Mark it as broken and remove during the 2010.11 cycle, unless someone
steps up to maintain it.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-07-26 22:25:19 +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
Peter Korsgaard
52b8d0478a toolchain: remove unused special detection of old toolchains
We only support gcc >= 4.2.x for the internal toolchain.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-07-02 09:13:30 +02:00
Peter Korsgaard
5fd095b374 toolchain: remove gcc 4.1.2 and non-sysroot support
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-06-15 23:16:55 +02:00
Peter Korsgaard
144e4ed085 toolchain/gcc: Use 4.3.x like for 4.4, get rid of older 4.3.x versions
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-06-15 22:58:17 +02:00
Gustavo Zacarias
947a9b8586 toolchain: bump gcc 4.3.x series to 4.3.5
Closes #2065

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-06-15 22:54:44 +02:00
Peter Korsgaard
4439d38890 toolchain/gcc: bump 4.4.x version to 4.4.4
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-05-02 23:22:26 +02:00
Thomas Petazzoni
02bc426214 Get rid of all usages of BR2_RECENT
Since BR2_RECENT was enabled by default, we do not want entries marked
BR2_RECENT (and thus appearing by default in Buildroot) to disappear.

Therefore, all the entries marked BR2_RECENT are converted as
non-deprecated. We can later decide, on a per-entry basis, to add
BR2_DEPRECATED to some of them. But at least, this commit doesn't
change the default current behaviour of Buildroot.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2010-04-12 15:26:37 +02:00
Thomas Petazzoni
7a0263525f Remove BR2_PREFER_IMA
This option is barely used, no-one is maintaining it or extending
it. So let's remove it.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2010-04-11 05:59:59 +02:00
Peter Korsgaard
6cdcc4d7d8 gcc: hide shared libgcc option if BR2_PREFER_STATIC_LIB is enabled
Shared libgcc without shared libs doesn't make much sense.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-04-05 13:48:10 +02:00
Peter Korsgaard
f220498f4b get rid of broken nios2 support
Has been marked as broken for more than 1 year, with no indication
that anyone cares, and it needs a bunch of special handling.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-03-30 17:19:59 +02:00
Peter Korsgaard
f561763e91 gmp/mpfr: make sure host builds add source targets to HOST_SOURCE
Closes #1183.

When gmp/mpfr is needed for the host (E.G. when using an internal toolchain),
the host-lib{gmp,mpfr}-source targets weren't added to HOST_SOURCE, so
make source / external-deps didn't handle them.

Notice that we have the same issue with the new host package support,
there we should probably use HOST_<package>_DEPENDENCIES for -source
dependencies.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-02-25 17:27:50 +01:00
Thomas Petazzoni
a35d48f984 gcc on target: add missing definitions for gcc 4.4
Depending on the gcc version, the gcc include and lib directories have
changed. We include support for gcc 4.4 by copy/pasting the support
for gcc 4.3. Locations don't seem to have changed between 4.3 and
4.4. This allows the syslimits.h fixup to succeed.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2010-02-25 09:47:01 +01:00
Peter Korsgaard
6c26a600d0 toolchain/gcc: bump 4.4.x version
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-01-23 23:07:50 +01:00
Thomas Petazzoni
962ea5b29b gcc: do not pass --with-pkgversion to gcc < 4.3
Commit 09c181f289 added new options
passed to gcc configure to set --with-pkgversion and --with-bugurl, to
gcc >= gcc 4.3. To check this, it was checking that the GCC_VERSION
string does not contain 4.2.

Unfortunately, the test is bogus. It does a findstring on x4.2. (with
a final dot) but compares the result with x4.2 (without the final
dot).

The result is that even with 4.2 versions, the test was true, leading
--with-pkgversion and --with-bugurl being passed to gcc's configure
script.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2009-12-15 12:03:05 +01:00
Peter Korsgaard
29a9d99b18 Merge branch 'remove-external-toolchain' of git://git.busybox.net/~tpetazzoni/git/buildroot 2009-12-15 00:19:17 +01:00
Thomas Petazzoni
ebf4f67a8d gcc: remove external sources patches
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2009-12-14 23:54:47 +01:00
Thomas Petazzoni
bc994c533c Use BR2_TOOLCHAIN_BUILDROOT instead of BR2_TOOLCHAIN_SOURCE
The BR2_TOOLCHAIN_SOURCE option is removed in a future commit.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2009-12-14 23:54:47 +01:00
Thomas Petazzoni
495e5bdca3 gcc: remove GCC_OFFICIAL_VERSION and just use GCC_VERSION instead
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2009-12-14 23:54:45 +01:00
Thomas Petazzoni
3f90a29baf gcc: remove support for external source toolchains
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2009-12-14 23:54:44 +01:00
Thomas Petazzoni
636afc4664 gcc: improve configuration for snapshot versions
Make the selection of a snapshot version a normal gcc version choice,
and make sure BR2_GCC_VERSION is properly defined.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2009-12-14 23:54:44 +01:00
Thomas Petazzoni
5c6ccd9f20 gcc: on avr32, only allow avr32 gcc versions
Remove references to BR2_EXT_GCC_VERSION_* configuration options, and
only allows special avr32 gcc versions on the AVR32 architecture.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2009-12-14 23:54:43 +01:00
Thomas Petazzoni
9e172b3f91 gcc: add 4.2.2-avr32-2.1.5 patches
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2009-12-14 23:54:42 +01:00
Thomas Petazzoni
d3f383b1ee gcc: add avr32 special version
* Add new gcc version 4.2.2-avr32-2.1.5 in Config.in

 * Select the Atmel mirror to download gcc with avr32 in their version
   name, in gcc-uclibc-*.mk

 * Do not apply patches if the patch directory is empty, in
   gcc-uclibc-*.mk

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2009-12-14 23:54:42 +01:00
Thomas Petazzoni
48fbdaaea6 gcc: remove hurd specific details
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2009-12-14 23:45:59 +01:00
Peter Korsgaard
b06c9cb16c gcc: native toolchain needs BR2_HAVE_DEVFILES
Native toolchain doesn't make much sense without include / .a files.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2009-12-11 23:55:17 +01:00
Gustavo Zacarias
09c181f289 Add pkgversion to gcc >= 4.3
Closes #765.

[Peter: change to check for !4.2.x instead]
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2009-12-06 18:41:15 +01:00
Peter Korsgaard
acc75665e5 toolchain: get rid of unused gcc 3.x legacy handling
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2009-12-04 20:34:03 +01:00
Peter Korsgaard
9af188d883 toolchain/gcc: get rid of ancient 3.4.6 / 4.0.4 versions
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2009-10-29 21:11:28 +01:00
Peter Korsgaard
1eb391c500 toolchain/gcc: simplify BR2_GCC_SUPPORTS_* logic
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2009-10-29 15:44:52 +01:00
Peter Korsgaard
c9816df886 toolchain/gcc: remove unused (commented out) 4.3 snapshot
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2009-10-29 15:40:38 +01:00
Peter Korsgaard
065d0e76df toolchain/gcc: bump 4.4.x version
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2009-10-29 12:35:00 +01:00
Peter Korsgaard
3fdf0bffb8 buildroot: silence ./configure step when building with 'make -s'
We have been passing -q to ./configure when using 'make -s' for
packages using Makefile.autotools.in for some time. Do the same
for packages using autotools, but not using the
Makefile.autotools.in infrastructure, taking care to not do it
for packages with hand written configure scripts.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2009-10-01 21:24:42 +02:00
Michael Roth
a4c6231cfc Remove some fragments left over from the 'qstrip' transition
Commit af2390c0f4 overlooked some
old comment fragments.

Signed-off-by: Michael Roth <mroth@nessie.de>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2009-09-23 12:38:24 +02:00
Austin Foxley
3ab4b632a0 Add a config option for gcc tls support, rather than disabling it blindly
Defaulted to yes, but blocked it from gcc 4.4.x since the disable was
originally added because of problems with its c++ support reportedly.

Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2009-09-23 09:34:08 +02:00
Michael Roth
cb5710c538 rename TOOL_BUILD_DIR to TOOLCHAIN_DIR
To reflect the new output directory hierachy rename the Makefile variable
TOOL_BUILD_DIR to TOOLCHAIN_DIR.

Signed-off-by: Michael Roth <mroth@nessie.de>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2009-09-23 09:15:27 +02:00
Thomas Petazzoni
397fe5cc0b Remove the "project" feature
The "project" feature was designed to allow to several projects to be
built inside the same Buildroot source tree and allowing the toolchain
and non-configurable packages to be shared between the different
projects on the same architecture. While being interesting in theory,
this feature adds a level of complexity to Buildroot, both from an
user perspective and from a developer perspective, while one of the
main Buildroot strengh is to be simple. Moreover, this feature is only
seldomly used by our users.

From a user-level perspective, this for example allows to remove the
project_build_ARCH directory, which was very confusing. The
autotools-stamps directory is also removed, since these stamps are
back at their normal location.

Description of the changes involved :

 * project/, directory removed

 * Makefile

    - Don't include project/Makefile.in and project/project.mk anymore

    - Grab a copy of the contents of project/Makefile.in at the
      location it was imported, but remove the definition related to
      PROJECT_BUILD_DIR. The TARGET_DIR is now in
      $(BUILD_DIR)/target_dir

    - Remove the creation/removal of the $(PROJECT_BUILD_DIR) and
      $(PROJECT_BUILD_DIR)/autotools-stamps directories

    - Don't make world depends on target-host-info. This target was
      defined by project/project.mk to customize /etc/issue,
      /etc/hostname and create /etc/br-version depending on the
      project definitions. We can of course imagine re-adding such a
      feature later.

    - Replace PROJECT_BUILD_DIR by BUILD_DIR everywhere

    - Remove the update, log and lognr.$(PROJECT) target, they were
      specific to the project feature.

 * package/Makefile.autotools.in

    - Replace PROJECT_BUILD_DIR by BUILD_DIR for the location of the
      configure cache

    - Move the INSTALL_TARGET and HOOK_POST_INSTALL stamps to the same
      directory as the other stamps (i.e, in the package directory).

 * package/Makefile.in

    - Replace PROJECT_BUILD_DIR by BUILD_DIR for the location of the
      configure cache

 * package/at/at.mk,
   package/busybox/busybox.mk,
   package/busybox/initramfs.mk,
   package/customize/customize.mk,
   package/linux-fusion/linux-fusion.mk,
   package/ltp-testsuite/ltp-testsuite.mk,
   package/nfs-utils/nfs-utils.mk,
   target/cpio/cpioroot.mk,
   target/cramfs/cramfs.mk,
   target/device/Atmel/DataFlashBoot/DataflashBoot.mk,
   target/device/Atmel/Makefile.in,
   target/device/Atmel/at91bootstrap/at91bootstrap.mk,
   target/device/KwikByte/Makefile.in,
   target/ext2/ext2root.mk,
   target/initramfs/initramfs.mk,
   target/iso9660/iso9660.mk,
   target/jffs2/jffs2root.mk,
   target/linux/Makefile.in,
   target/romfs/romfs.mk,
   target/squashfs/squashfsroot.mk,
   target/tar/tarroot.mk,
   target/ubifs/ubifsroot.mk

    - Replace PROJECT_BUILD_DIR by BUILD_DIR

 * target/device/Config.in

    - Do not include project/Config.in anymore

 * target/linux/Makefile.in.advanced

    - Replace PROJECT_BUILD_DIR by BUILD_DIR

    - Store the stamps file in $(STAMP_DIR) instead of
      $(PROJECT_BUILD_DIR)/autotools-stamps

 * target/u-boot/Makefile.in

    - Replace PROJECT_BUILD_DIR by BUILD_DIR

    - Remove $(PROJECT) from the U-Boot target binary name

    - Remove the insertion in the configuration of the project name as
      the hostname

    - The u-boot-autoscript target now generates
      $(U_BOOT_AUTOSCRIPT).img instead of
      $(U_BOOT_AUTOSCRIPT).$(PROJECT)

 * toolchain/gcc/gcc-uclibc-3.x.mk
   toolchain/gcc/gcc-uclibc-4.x.mk

    - Move the stamps files to $(STAMP_DIR)

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2009-09-16 20:28:25 +02:00
Peter Korsgaard
5cc0622a14 toolchain/gcc: make 4.3.4 default
There still seems to be some issues with 4.4.x and C++.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2009-09-10 10:32:45 +02:00
Thomas Petazzoni
af2390c0f4 toolchain: use qstrip
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2009-09-05 14:43:18 +02:00
Peter Korsgaard
0ed2f023d0 toolchain/gcc: add 4.3.4
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2009-08-05 10:34:34 +02:00
Peter Korsgaard
3f9261d05d toolchain/gcc: remove deprecated 4.3.1 version
People should use the most recent 4.3.x version to get all the bugfixes.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2009-08-05 09:43:02 +02:00