Commit Graph

17 Commits

Author SHA1 Message Date
Peter Korsgaard
030a9d39b1 External toolchain C++ cross-compiler fix
External toolchain C++ cross-compiler fix

package/Makefile.in resets CXX to "" in TARGET_CONFIGURE_OPTS if
BR2_GCC_CROSS_CXX is not set to 'y'. However, when using an external
toolchain, BR2_GCC_CROSS_CXX is not set even if the toolchain has a
C++ cross-compiler.

This patch adds a new BR2_GCC_CROSS_CXX option in the external
toolchain configuration menu, so that just like BR2_INET_RPC,
BR2_INET_IPV6 and the others, it can be set according to the external
toolchain configuration.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2008-11-03 10:37:27 +00:00
Peter Korsgaard
df1df36fcb More external toolchain fixes
Fix issues with binary external toolchains

Fix two problems encountered while using an external binary toolchain
generated by crosstool-ng:

 - Don't remove the ending / in LIB_DIR, otherwise find $LIB_DIR
   -maxdepth 1 doesn't find any file in the case LIB_DIR is a symbolic
   link and not a directory.

   For some reason, find -maxdepth 1 doesn't have the same behaviour
   on directories and symbolic links. Demonstration:

   $ mkdir foobar
   $ touch foobar/t1
   $ touch foobar/t2
   $ ln -s foobar barfoo
   $ find foobar -maxdepth 1 -name 't*'
   foobar/t1
   foobar/t2
   $ find barfoo -maxdepth 1 -name 't*'
   $ find barfoo/ -maxdepth 1 -name 't*'
   barfoo/t1
   barfoo/t2

 * Make sure the libraries are writable, otherwise the strip operation
   might fail. The library files may not be writable if the toolchain
   is not writable (which may happen if one wants to prevent anyone
   from overwriting the toolchain, which is done by crosstool-ng, for
   example).

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2008-11-03 10:32:59 +00:00
Peter Korsgaard
51f5f62754 External toolchain support improvements
Improve external toolchain support

 * Do not put kernel-headers in the dependencies of BASE_TARGETS in
   the case where BR2_TOOLCHAIN_SOURCE is not y. The kernel headers
   are already supposed to be part of the external toolchain, so
   there's no need to download, extract and install them.

 * In the configuration system, don't display the kernel headers
   version selection list when an external toolchain is selected. This
   is implemented by moving the source
   "toolchain/kernel-headers/Config.in" inside the if
   BR2_TOOLCHAIN_SOURCE in toolchain/Config.in.2.

 * Change the description and help message of the BR2_LARGEFILE,
   BR2_INET_IPV6, BR2_INET_RPC, and BR2_SOFT_FLOAT option in
   toolchain/external-toolchain/Config.in. In the case of an external
   toolchain, the semantic of these options is not to enable large
   file support, IPV6 or RPC (since the toolchain is already compiled,
   it has been decided previously). Their semantic is to let Buildroot
   know about the characteristics of the external toolchain being
   used.

   As an improvement, we could guess these values automatically:

    - for BR2_LARGEFILE, look at the value of __UCLIBC_HAS_LFS__ in
      bits/uClibc_config.h in the libc headers directory.

    - for BR2_INET_RPC, look at the value of __UCLIBC_HAS_RPC__ in the
      same file

    - for BR2_INET_IPV6, look at the value of __UCLIBC_HAS_IPV6__ in
      the same file

    - for BR2_SOFT_FLOAT, look at the output of $(CC) -v 2>&1 | grep
      -- "--with-float=soft"

   But I'm not sure how this would be possible, since these values are
   used at configuration-time by other configuration options, not only
   at build time.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2008-11-03 10:18:39 +00:00
Peter Korsgaard
e241fa4290 Typo fix in toolchain/external-toolchain/ext-tool.mk
From: Grant Likely <grant.likely@secretlab.ca>

Comment block header documentation typo
2008-10-17 10:19:38 +00:00
Peter Korsgaard
4683420c4c Kconfig: remove 'default n'
'default n' is the default, so there's no need to say it explicitly.
2008-07-17 20:01:44 +00:00
Peter Korsgaard
6e236eee50 toolchain: more sensible uclibc defaults for external toolchain 2008-06-16 12:22:45 +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
51a61c9011 - Subsume and collaps toolchain options in one menu
This is ment to ease configuration by providing toolchain related options in one place
  No functional changes, just shuffling the menus around..
2007-09-22 14:16:25 +00:00
Bernhard Reutner-Fischer
6547bced93 - global whitespace trimming 2007-08-22 12:35:41 +00:00
Bernhard Reutner-Fischer
3471ebe0a3 - random whitespace cleanup 2007-08-22 11:47:22 +00:00
Bernhard Reutner-Fischer
956d3eb78b - semicolon touchup. No other changes 2007-08-22 09:56:41 +00:00
"Steven J. Hill"
c51e7ada45 Allow selection of RPC and IPv6 options for an external toolchain. 2007-07-17 00:18:54 +00:00
"Steven J. Hill"
4d4e1149eb When using an external toolchain, we still need to have the user select which thread model the toolchain was built with. This allows for proper building of LTP and possibly other packages. 2007-04-28 17:10:31 +00:00
"Steven J. Hill"
d3f3d1c7ad Some 'find' commands get a little picky. 2007-04-19 02:04:15 +00:00
"Steven J. Hill"
02f71aab47 Support building using an external toolchain. Questions to the mailing list and all other comments to <biteme@devnull.com>. 2007-02-06 18:19:38 +00:00