Commit Graph

143 Commits

Author SHA1 Message Date
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
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
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
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
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
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
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
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
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
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
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
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
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
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
766c774f28 toolchain/gcc: libstdcpp dependency was listed twice 2009-03-01 20:20:09 +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
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
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
77662160bb toolchain/gcc: make version detection more robust
Thanks to Bernhard for noticing (and less so for causing the problem in
the first place :P)
2009-01-22 11:18:44 +00:00
Peter Korsgaard
79cdd94154 toolchain/gcc: fix target-gcc for 4.3.x
Includes are in include-fixed and GCC_LIB_SUBDIR needs to be set like for
the rest of 4.x
2009-01-22 10:04:30 +00:00
Peter Korsgaard
bc65432230 toolchain: introduce HOSTCC_VERSION and fix gcc-4.3.x build with old host CCs
gcc < 4.2.0 doesn't support -Wno-overlength-stings, but gcc-4.3.x configure
fails to detect that, breaking the build.

Work around it by detecting the host gcc version (and store in HOSTCC_VERSION)
and set the proper configure variables for gcc < 4.2.0.
2009-01-19 09:18:46 +00:00
Ulf Samuelsson
bdac3e337f Update broken AVR32 toolchain, and update configs for this, deprecate all but latest AVR32 toolchain 2009-01-16 22:39:05 +00:00
Peter Korsgaard
0ef35d5d5e toolchain/: convert to DOWNLOAD helper 2009-01-16 11:47:05 +00:00
Peter Korsgaard
7543f7dff4 toolhain/: confgure: respect quiet option 2008-10-26 09:14:02 +00:00
Hans-Christian Egtvedt
50b55c9006 gcc: make installation of shared libraries multi-project safe
This patch modifies the rule for installing the shared libraries into the
project_foo/.../autotools-stamps directory. This will make the installation of
GCC shared libraries be multi-project safe.

Signed-off-by: Hans-Christian Egtvedt <hans-christian.egtvedt@atmel.com>
2008-10-02 15:02:38 +00:00
Hans-Christian Egtvedt
3fac2be724 gcc: make sure that /usr/lib exists on target before installing shared libs
On very lite systems the /usr/lib directory might not exist before libstdc++ is
installed. This patch makes sure the directory exists.

Signed-off-by: Hans-Christian Egtvedt <hans-christian.egtvedt@atmel.com>
2008-10-02 14:32:07 +00:00
Ulf Samuelsson
126bb72fa0 Add prepatched AVR32 gcc-4.2.2 toolchain from www.atmel.no, move patch locations for prepatched toolchain to be under the toolchain directory 2008-07-04 08:39:35 +00:00
Peter Korsgaard
32ac555784 toolchain/gcc: use --disable-decimal-float for 4.3.x 2008-06-21 19:47:17 +00:00
Peter Korsgaard
e31844e307 toolchain/gcc: add 4.3.1
Based on Bernhards tree.
2008-06-19 19:06:04 +00:00
Peter Korsgaard
15d53f0d1b toolchain/gcc: use $(@D) 2008-06-18 15:46:48 +00:00
Peter Korsgaard
65b0f823b2 toolchain/gcc: use $(STRIP_STRIP_UNNEEDED) 2008-06-17 13:33:02 +00:00
Peter Korsgaard
e1c7bea59c toolchain/gcc-4.x: strip cross libgcc / libstdc++ 2008-06-17 13:28:37 +00:00
Peter Korsgaard
de87811186 toolchain/gcc: do not try to strip *-embedspu 2008-04-04 14:16:06 +00:00
Ivan Kuten
cb815ae003 Add support for GNU and kernel.org mirrors 2007-12-17 12:29:06 +00:00
Ivan Kuten
0062430ad5 revert 20646 rev (gcc-cc_links-fix.diff), it's broken for arm as mentioned in 1764 issue 2007-12-17 11:37:47 +00:00
Ivan Kuten
43cff997d7 fix gcc 3.x/4.x symlinks to cc 2007-12-13 12:09:56 +00:00
Ivan Kuten
74a374edb1 'make source' command working again for gcc 2007-10-20 18:09:53 +00:00
Ulf Samuelsson
8e650f6ec0 Allow library copy to fail 2007-10-12 21:01:41 +00:00
Ulf Samuelsson
d2b3ce5c1b Cannot copy shared c++ lib, if one has not been created 2007-10-12 12:30:14 +00:00
Ulf Samuelsson
06cd2634a2 Do not create directories, if they exist 2007-10-07 17:22:56 +00:00
Bernhard Reutner-Fischer
0c16c17f53 - start to think about GNU/hurd support.
Not yet functional. Help welcome
2007-10-05 11:06:56 +00:00
Bernhard Reutner-Fischer
1672e71f17 - remove misplaced comment 2007-10-01 21:06:50 +00:00
Bernhard Reutner-Fischer
14a71561a3 - just use the strip binary to avoid confusing libtool (quotes)
- use $(STRIPCMD) in packages to avoid clashes with $(STRIP)
2007-10-01 16:15:31 +00:00
Bernhard Reutner-Fischer
4ad141c338 - pass configure args for the -target compiler 2007-10-01 12:57:36 +00:00
Bernhard Reutner-Fischer
61558a5773 - add additional EXTRA_GCC_CONFIG_OPTIONS for initial, cross and target compiler 2007-10-01 12:56:24 +00:00
Bernhard Reutner-Fischer
4b0d5a80f8 - revert some bad checkins, fixup bad settings in atmel targets and move the gcc target abi back to a place where the other arch-specific settings live 2007-09-26 21:12:38 +00:00
Ulf Samuelsson
01426334b4 reinstate AVR32 toolchain 2007-09-26 05:36:11 +00:00
Bernhard Reutner-Fischer
d8fc1c0a74 - remove one invariant in toolchain type selection. 2007-09-25 08:18:36 +00:00
Bernhard Reutner-Fischer
373e0727ba - rebuild compiler if libstdcpp setting was changed 2007-09-23 21:23:10 +00:00
Bernhard Reutner-Fischer
4909da4156 - rename the gcc base_target to the more appropriate term cross_compiler 2007-09-22 21:38:15 +00:00
Bernhard Reutner-Fischer
7935c98db1 - don't strip the host binaries for now 2007-09-19 18:46:45 +00:00
Bernhard Reutner-Fischer
e4c6340a94 - cleanup and fixes (Cristian Ionescu-Idbohrn) 2007-09-17 12:30:31 +00:00
Bernhard Reutner-Fischer
367200b754 - correctly filter out the script 2007-09-04 07:35:19 +00:00
Ulf Samuelsson
e5409f4423 Cleanup handling of gccbug script 2007-09-03 06:26:06 +00:00
Ulf Samuelsson
82d52e8d84 Cleanup handling of gccbug script 2007-09-03 06:10:01 +00:00
Bernhard Reutner-Fischer
777a28a85d - add sequence-point for toplevel parallel builds: uClibc needs an initial gcc 2007-09-01 18:46:46 +00:00
Bernhard Reutner-Fischer
ac9348ac6d - don't try to strip the gccbug script 2007-09-01 17:11:24 +00:00
Bernhard Reutner-Fischer
98a7a4c9d2 - misc cleanups (Cristian Ionescu-Idbohrn) 2007-08-28 21:42:44 +00:00
Bernhard Reutner-Fischer
d3361c6685 - If we are to build some libs then require them to exist.
- Strip host files with host strip (untested, will likely need a HOSTSTRIP)
2007-08-26 20:47:18 +00:00
Bernhard Reutner-Fischer
6547bced93 - global whitespace trimming 2007-08-22 12:35:41 +00:00
Bernhard Reutner-Fischer
956d3eb78b - semicolon touchup. No other changes 2007-08-22 09:56:41 +00:00
Bernhard Reutner-Fischer
fb9d19603c - fixup whitespace damage after ulf 2007-08-21 19:33:00 +00:00
Bernhard Reutner-Fischer
6c6cb06709 - sed -i -e "/;$/s/;$//g" $(egrep ";$" package/* package/*/*.mk toolchain/* toolchain/*/*.mk */Makefile.in -l) 2007-08-21 19:20:18 +00:00
Bernhard Reutner-Fischer
7b403ada37 - sed -i -e "/\-[[:space:]]*mkdir[[:space:]][[:space:]]*-p/s/-[[:space:]]*mkdir/mkdir/g"
(want to know about errors if mkdir failed). Thanks to Cristian Ionescu-Idbohrn for pointing this out
2007-08-21 11:25:30 +00:00
Bernhard Reutner-Fischer
3539f8a9d1 - put libstdc++.so into the correct place (usr/lib) and make sure that the dir exists 2007-08-21 10:28:43 +00:00
Ulf Samuelsson
2a1ee531da gcc-4 cleanup 2007-08-19 21:15:02 +00:00
Bernhard Reutner-Fischer
ba88feb05f - add possibility to select which cross-compilers to build
- add prerequisites from the config
2007-07-31 15:07:06 +00:00
Ulf Samuelsson
840325e170 Add support for prepatched toolchains 2007-07-31 14:59:58 +00:00
Bernhard Reutner-Fischer
9fbb109506 - unify the GCC_WITH_ configure options and make them active 2007-07-08 16:27:25 +00:00
Bernhard Reutner-Fischer
fcd4ec5286 - factor-out common config options for staging and target compiler
- take extra options for the respective compilers into account
2007-07-08 13:13:29 +00:00
Bernhard Reutner-Fischer
58ca925353 - we have to reconfigure iff some compiler-config was changed. 2007-07-08 12:50:06 +00:00
Bernhard Reutner-Fischer
59e19c5890 - use correct path to libstdc++ 2007-07-07 12:58:15 +00:00
Ulf Samuelsson
4bb783dbe4 Avoid stripping scripts 2007-07-07 12:28:25 +00:00
Ulf Samuelsson
e3695fd1af Avoid stripping a script file 2007-07-07 07:34:37 +00:00
Bernhard Reutner-Fischer
0629a673ae - work around bug in gcc (or rather libiberty) for parallel install 2007-06-28 14:05:29 +00:00
Bernhard Reutner-Fischer
fd88629534 - adjust patches of the gcc-clean target 2007-06-25 07:52:41 +00:00
Bernhard Reutner-Fischer
a6dbba6c24 - disable sysroot support for anything but the current, stable release series 2007-06-24 11:30:05 +00:00
Bernhard Reutner-Fischer
395d400aac - bump version to 2.6.21.5 2007-06-21 22:10:12 +00:00
Bernhard Reutner-Fischer
8027784c35 - add full sysroot support for non-ancient toolchains.
- start to separate usr/lib and lib to match normal system-layout
2007-06-20 11:26:36 +00:00