Commit Graph

460 Commits

Author SHA1 Message Date
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
Maxim Grigoriev
adb9e905da toolchain: xtensa toolchain patch support
Part of #163.

Signed-off-by: Maxim Grigoriev <maxim2405@gmail.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2009-07-24 02:32:33 +02:00
Peter Korsgaard
f917e6b21b toolchain/gcc: bump 4.4.x version
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2009-07-23 13:15:05 +02:00
Peter Korsgaard
90c5d156f5 toolchain/gcc: ensure libraries are copied to target_dir for x86-64
x86-64 stores libgcc_s / libstdc++ / libgcj under lib64 instead of lib,
so make sure that directory is searched as well for libraries to copy
to target.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2009-07-02 09:41:09 +02:00
Peter Korsgaard
421f05c913 toolchain/gcc: 4.3.x: fix for arm pr37436
See http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37436 for details.

Reported-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2009-05-24 07:34:09 +02:00
Wade Berrier
9e114500d5 Fix gcc 3.4.6 build with newer host libc versions
The build of gcc 3.4.6 fails when host libc is too new.
I pulled the fix from this bug report:

http://bugs.openembedded.net/show_bug.cgi?id=4626

Signed-off-by: Wade Berrier <wberrier@gmail.com>
2009-05-12 13:32:04 -06:00
Angus Salkeld
bb1f42e442 gcc-4.3.3: add a patch to link with the math lib to get copysignal
Conditionally apply the following patch by Bernhard Reutner-Fischer which
solves a link error on powerpc (with softfloat or multilib) when using
a shared libgcc_s.

See: http://gcc.gnu.org/ml/gcc-patches/2008-10/msg00237.html
http://www.nabble.com/PPC-won't-build-with-soft-float-td22772110.html

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2009-05-12 10:02:20 +02:00
Peter Korsgaard
30ee5f0560 toolchain/gcc: java needs largefile support 2009-04-27 14:07:42 +00:00
Peter Korsgaard
a62ceefdd4 toolchain/gcc: fix java support
Not runtime tested, but now it atleast builds.
2009-04-27 14:07:36 +00:00
Peter Korsgaard
1f3eec6e8f toolchain/gcc: disable tls support
Fixes libstdc++ linking with gcc 4.4.x
2009-04-27 10:26:56 +00:00
Peter Korsgaard
5eeeeec056 toolchain/gcc: add 4.4.0 2009-04-23 11:45:02 +00:00
Peter Korsgaard
6d48463df6 toolchain/gcc: fix PR 32044 patch
Somehow the patch was a patch adding a patch instead of the patch itself.
2009-04-23 11:44:48 +00:00
Peter Korsgaard
3b712a3d89 toolchain/gcc: don't enable libssp support
It's broken anyway as we don't install libssp* into TARGET_DIR, and we
should use the SSP support in uClibc if we want stack protection.
2009-04-22 07:27:17 +00:00
Peter Korsgaard
ef8fd64dcb toolchain/gcc: shared libgcc broken for sparc, so disable it 2009-04-15 13:41:55 +00:00
Peter Korsgaard
bb6d88ec0f gcc: 4.3.x fix for PR 32044.
Patch by Daniel Mack <daniel@caiaq.de>
2009-03-10 22:01:06 +00:00
Peter Korsgaard
766c774f28 toolchain/gcc: libstdcpp dependency was listed twice 2009-03-01 20:20:09 +00:00
Peter Korsgaard
01921dd4d4 toolchain/gcc: add 4.3.3 2009-02-13 08:34:08 +00:00
Peter Korsgaard
2f72570992 toolchain/gcc/4.3.2: use what really got committed upstream for PR39076
Thanks to Sven Neumann for noticing.
2009-02-05 14:13:43 +00:00
Peter Korsgaard
a1b8914cee toolchain/gcc/4.3.2: remove unused and unneeded fix for PR34205
We don't use the iwmmxt abi anymore.
2009-02-05 13:24:14 +00:00
Peter Korsgaard
a9114d3576 toolchain/gcc/4.3.2: fix arm funroll-loops patch from r24993
Rename it so it actually gets applied and fix it so it can be applied
(-p level).
2009-02-05 13:24:11 +00:00
Peter Korsgaard
16a5a68947 toolchain: revert r25193 (Change binary toolchain configuration)
As discussed on the list.
2009-02-04 13:42:40 +00:00
Ulf Samuelsson
59f084017e Change binary toolchain configuration, so
that the options become visible just below
the config, instead of at bottom of screen

Create a more useful default as toolchain path.

Allow generation of a script which sets up
paths to a binary toolchain generated by buildroot.
2009-01-31 20:49:59 +00:00
Daniel Laird
040bd64849 Extend External Toolchain options (match buildroot built toolchain):
Have added options that mean you can set the same BR2_XXXX variables
for external toolchain and internal (buildroot built) toolchain.

This means the same set of packages can be built now me as for you.....

Signed-off-by: Daniel Laird <daniel.j.laird@nxp.com>
2009-01-30 16:28:26 +00:00
Peter Korsgaard
92bd25c9eb toolchain: fix up GNU_TARGET_NAME link and target_utils location
The GNU_TARGET_NAME symlink and target_utils location were not correctly
adjusted to match the move of the toolchain to $(STAGING_DIR)/usr,
creating dangling symlinks.
2009-01-30 13:34:42 +00:00
Peter Korsgaard
81ddf3d083 toolchain/gcc: remove unused gcc 3.x cruft from 4.x makefile (sysroot) 2009-01-30 13:34:35 +00:00
Peter Korsgaard
ea57d89bcc toolchain/gcc/4.3.2: accept abi=aapcs-linux for EABI
From Bernhards' tree, thanks to Sven Neuman for noticing. See also
http://gcc.gnu.org/ml/gcc-patches/2008-09/msg01500.html
2009-01-30 10:35:55 +00:00
Peter Korsgaard
e87389229e toolchain/gcc: remove ancient (and unused) i386 softfloat patch 2009-01-29 19:24:31 +00:00
Peter Korsgaard
6071bb4e1a toolchain/gcc: remove unused GCC_ENABLE_CLOCALE
This variable was introduced in r17046 (add gfortran support,
2006-12-22) and wasn't used even there.

Signed-off-by: Markus Heidelberg <markus.heidelberg@web.de>
2009-01-29 19:13:53 +00:00
Peter Korsgaard
97925424aa toolchain: cris fixes for gcc 4.3.x / linux 2.6.28.x
Patches by Hinko Kocevar <hinko.kocevar@cetrtapot.si>
2009-01-28 16:37:09 +00:00