Commit Graph

1012 Commits

Author SHA1 Message Date
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
20be3ce9eb kernel-headers: bump 2.6.27.x / 2.6.30.x stable versions
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2009-09-16 08:50:17 +02:00
Anders Darander
b96253a63e DNS resolv problem with glibc
Fix problem with dns resolv, by copying the libnss_dns.so to the rootfs.

Using glibc from external toolchain, name resolving does not work,
unless libnss_dns.so is available on the target.

Signed-off-by: Anders Darander <ad@datarespons.se>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2009-09-15 08:50:12 +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
Peter Korsgaard
cd411d0d9c kernel-headers: bump 2.6.27.x stable version
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2009-09-10 10:31:30 +02:00
Peter Korsgaard
a2994caa17 kernel-headers: add 2.6.31
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2009-09-10 10:30:54 +02:00
Peter Korsgaard
8c11895876 kernel-headers: bump 2.6.27.x / 2.6.30.x stable versions
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2009-09-09 09:53:59 +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
Austin Foxley
4d0c00588f uClibc as of 20090825 requires the ARCH to be specified when we call it's make
Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2009-09-03 21:20:18 +02:00
Peter Korsgaard
f6bd2da7a5 kernel-headers: bump 2.6.27.x / 2.6.30.x stable versions
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2009-08-24 22:28:47 +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
Thomas Petazzoni
8d880c3e5c Fix PROGRAM_INVOCATION handling with external toolchains
BR2_UCLIBC_PROGRAM_INVOCATION is a toolchain configuration option,
like BR2_INET_IPV6, BR2_INET_RPC, on which some packages
depend. Therefore, it should be handled like BR2_INET_IPV6 and
BR2_INET_RPC in order to work properly with external toolchains.

Since we move it out of toolchain/uClibc/Config.in into
toolchain/Config.in.2, we rename the option to BR2_PROGRAM_INVOCATION
(since BR2_INET_RPC and others don't have UCLIBC in their name).

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2009-07-31 11:40:34 +02:00
Peter Korsgaard
d4a8eebf59 kernel-headers: bump 2.6.27 / 2.6.30 stable versions
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2009-07-31 09:57:44 +02:00
Will Newton
27ce942e65 toolchain: Clean up locale support menu
Closes #421.

This patch cleans up and fixes some minor issues with the locale support
section of the toolchain menu.

1. uClibc requires wchar support if locales are enabled, make locale
   support select wchar support.

2.  Allow purging of locale information even if there is no locale
    support in the C library.  This cleans up after packages that
    install things into /usr/share/locale on the target.

Signed-off-by: Will Newton <will.newton@gmail.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2009-07-27 10:41:56 +02:00
Pavel Roskin
a248954890 toolchain/uClibc: add patch to rename getline to get_line in unifdef.c
getline() is a standard libc function with a different signature.

Signed-off-by: Pavel Roskin <proski@gnu.org>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2009-07-27 09:43:06 +02:00
Peter Korsgaard
c972a086e5 kernel-headers: bump 2.6.27.x stable version
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2009-07-26 17:52:21 +02:00
Peter Korsgaard
c1b3b6cab0 toolchain/uclibc: xtensa patches
New files missing from 58050c28.

Signed-off-by: Maxim Grigoriev <maxim2405@gmail.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2009-07-25 20:25:34 +02:00
Peter Korsgaard
48abfcf5f0 kernel-headers: bump 2.6.30.x stable version
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2009-07-25 20:15:22 +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
Maxim Grigoriev
ebb0495936 toolchain/patch-kernel.sh: xtensa directory overlay support
Part of #163.

Signed-off-by: Maxim Grigoriev <maxim2405@gmail.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2009-07-24 02:31:34 +02:00
Maxim Grigoriev
58050c286b toolchain/uclibc: xtensa support
Part of #163.

Signed-off-by: Maxim Grigoriev <maxim2405@gmail.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2009-07-24 02:22:08 +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
a2e93a0ab6 kernel-headers: bump 2.6.27 / 2.6.30 stable versions
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2009-07-20 09:14:13 +02:00
Thomas Petazzoni
901b468e24 external toolchain: check cross-compiler existence
As a minimal test to the external toolchain, check that $(TARGET_CC)
is actually an existing executable file. That way, if the user
misconfigures the toolchain path and/or prefix, a meaningful error
message will be shown.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2009-07-17 08:53:55 +02:00
Thomas Petazzoni
82bf777ed7 external toolchain: respect $(Q)
Use $(Q) in external toolchain support so that the user can get the
full output by passing V=1 to make, and still get a nice and clean
output by default.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2009-07-17 08:48:35 +02:00
Thomas Petazzoni
28aa0b47fb external toolchain: copy the C++ standard library if needed
Obey the BR2_INSTALL_LIBSTDCPP configuration option to copy the C++
standard library to the target. Suggested by Lionel Landwerlin
<lionel.landwerlin@openwide.fr>.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2009-07-17 08:46:51 +02:00
Thomas Petazzoni
3026e9930e external toolchain: do not copy useless symbolic links
Do not copy .so symbolic links to target when not needed. Only copy
.so.X symbolic links and the library itself.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2009-07-17 08:46:43 +02:00
Thomas Petazzoni
0afd2103f0 external toolchain: more documentation about the principles
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2009-07-17 00:20:33 +02:00
Thomas Petazzoni
fd5570970e external toolchain: use LANG=C when calling gcc -v
Lionel Landwerlin <lionel.landwerlin@openwide.fr> reported that using
the external toolchain support when LANG=fr_FR.UTF-8 doesn't work,
since the messages printed by gcc -v are translated in another
language, defeating the grep ^Configured test.

Therefore, as per Lionel suggestion, we force LANG=C when calling
$(TARGET_CC) -v.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2009-07-17 00:10:46 +02:00
Thomas Petazzoni
57692e2535 external-toolchain: better documentation, cleanup, sysroot check
* Introduce documentation for each function of ext-tool.mk, and
   document all parameters of the functions.

 * Pass SYSROOT_DIR as argument to all functions that require it,
   instead of computing it manually everywhere

 * Use $(shell) instead of backquotes

 * Check that the SYSROOT_DIR variable is not empty, which means that
   the external toolchain doesn't support --sysroot. In that case,
   bail out with a nice error message.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2009-07-17 00:10:33 +02:00
Thomas Petazzoni
00eddf0ee6 external toolchain: fix libraries copy and add ARM ABI check
Instead of hardcoding the C library versions, just copy the version
available in $SYSROOT_DIR/lib.

Add a check on the ARM ABI configured in Buildroot with regard to the
ABI of the external toolchain provided.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2009-07-16 21:45:00 +02:00
Peter Korsgaard
8ae604912b kernel-headers: bump 2.6.27.x / 2.6.29.x / 2.6.30.x stable versions
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2009-07-03 07:20:12 +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
0a5039dfaf kernel-headers: bump 2.6.29.x version
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2009-06-17 14:04:29 +02:00
Peter Korsgaard
627fc43262 Merge branch 'external-toolchain' of git://git.busybox.net/~tpetazzoni/git/buildroot 2009-06-17 13:46:54 +02:00
Peter Korsgaard
40a5691f8f kernel-headers: bump 2.6.27.x version
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2009-06-16 12:38:45 +02:00
Thomas Petazzoni
9456b58a8b Improve external toolchain checks
This patch adds some checks on the external toolchains.

First, it checks that the C library selection is correct, by looking
if gcc is able to find the main C library file through the
-print-file-name option.

Then, it attempts to check if the Buildroot toolchain options match
the configuration of the toolchain :

 * for glibc, it checks that IPv6, RPC, locales, wide-char, large file
   support Buildroot options are enabled, since with glibc all these
   features are always available (at least this is the assumption we
   make) ;

 * for uClibc, it checks the Buildroot options with the uClibc
   configuration file in $SYSROOT_DIR/usr/include/bits/uClibc_config.h

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2009-06-15 20:48:27 +02:00
Thomas Petazzoni
643aa232f0 Simple glibc-based external toolchain support
The current Buildroot works just well with sysrootable glibc
toolchains, using the external toolchain feature. The only thing that
needs to be customized is the set of libraries that must be compiled
to the target.

The following patch takes a simple approach to making it easier for
users to use glibc toolchains. It just adds a uClibc/glibc choice in
the external toolchain menu. Then, depending on that selection, the
configuration system will choose a sane default value for the library
files list.

The other advantage of having a uClibc/glibc choice is that in the
future, we'll be able to add checks verifying that the external
toolchain configuration matches the features selected in Buildroot (in
terms of IPv6, RPC, locales or large file support).

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2009-06-15 20:48:27 +02:00
Peter Korsgaard
6fac68300e toolchain/kernel: remove ancient versions
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2009-06-11 12:30:30 +02:00
Peter Korsgaard
223750fba2 toolchain/kernel-headers: add 2.6.30
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2009-06-11 12:26:16 +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
Peter Korsgaard
c9faf999f4 kernel-headers: bump 2.6.27 / 2.6.29 versions
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2009-05-20 12:15:54 +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
04bb5c6004 kernel-headers: bump 2.6.27 / 2.6.29 versions
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2009-05-09 21:03:26 +02:00
Peter Korsgaard
6f8a717e8e kernel-headers: bump 2.6.27.x / 2.6.28.x
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2009-05-04 11:22:04 +02:00
Peter Korsgaard
c67733f9a2 toolchain/uClibc: 0.9.30.1 arm linuxthreads fix
Reported by Michael Roth <mroth@nessie.de>. Identical to the 0.9.30 patch.
2009-04-29 13:12:56 +00:00
Peter Korsgaard
8759a416c4 toolchain/gdb: remove ancient deprecated versions
They shouldn't be used anymore, needs havily patching (6.3 has more than
200k patches) and no one tests them with current toolchains.
2009-04-28 18:42:08 +00:00
Peter Korsgaard
f46b9cda0d toolchain/gdb: remove broken snapshot support 2009-04-28 18:42:02 +00:00