• Skip to sidebar navigation
  • Skip to content

Bitbucket

  • More
    ProjectsRepositories
  • Help
    • Online help
    • Learn Git
    • Welcome to Bitbucket
    • Keyboard shortcuts
  • Log In
Alexander Dahl
  1. Alexander Dahl

buildroot

Public
Actions
  • Clone
  • Compare

Learn more about cloning repositories

You have read-only access

Navigation
  • Source
  • Commits
  • Branches
  • All Branches Graph
  • Forks
  1. Alexander Dahl
  2. buildroot

Source

buildroot/toolchain/toolchain-external/toolchain-external.mk
Trent PiephoTrent Piepho committed d7a92aa2fbe05 Nov 2015
Raw file
Source viewDiff to previous
TOOLCHAIN_EXTERNAL_SOURCE = arc_gnu_2014.12_prebuilt_uclibc_$(TOOLCHAIN_EXTERNAL_SYNOPSYS_ENDIANESS)_$(TOOLCHAIN_EXTERNAL_SYNOPSYS_CORE)_linux_install.tar.gz
 
1
################################################################################
2
#
3
# toolchain-external
4
#
5
################################################################################
6
​
7
#
8
# This package implements the support for external toolchains, i.e
9
# toolchains that are available pre-built, ready to use. Such toolchain
10
# may either be readily available on the Web (Linaro, Sourcery
11
# CodeBench, from processor vendors) or may be built with tools like
12
# Crosstool-NG or Buildroot itself. So far, we have tested this
13
# with:
14
#
15
#  * Toolchains generated by Crosstool-NG
16
#  * Toolchains generated by Buildroot
17
#  * Toolchains provided by Linaro for the ARM and AArch64
18
#    architectures
19
#  * Sourcery CodeBench toolchains (from Mentor Graphics) for the ARM,
20
#    MIPS, PowerPC, x86, x86_64 and NIOS 2 architectures. For the MIPS
21
#    toolchain, the -muclibc variant isn't supported yet, only the
22
#    default glibc-based variant is.
23
#  * Analog Devices toolchains for the Blackfin architecture
24
#  * Xilinx toolchains for the Microblaze architecture
25
#  * Synopsys DesignWare toolchains for ARC cores
26
#
27
# The basic principle is the following
28
#
29
#  1. If the toolchain is not pre-installed, download and extract it
30
#  in $(TOOLCHAIN_EXTERNAL_INSTALL_DIR). Otherwise,
31
#  $(TOOLCHAIN_EXTERNAL_INSTALL_DIR) points to were the toolchain has
32
#  already been installed by the user.
33
#
34
#  2. For all external toolchains, perform some checks on the
35
#  conformity between the toolchain configuration described in the
36
#  Buildroot menuconfig system, and the real configuration of the
37
#  external toolchain. This is for example important to make sure that
38
#  the Buildroot configuration system knows whether the toolchain
39
#  supports RPC, IPv6, locales, large files, etc. Unfortunately, these
40
#  things cannot be detected automatically, since the value of these
41
#  options (such as BR2_TOOLCHAIN_HAS_NATIVE_RPC) are needed at
42
#  configuration time because these options are used as dependencies
43
#  for other options. And at configuration time, we are not able to
44
#  retrieve the external toolchain configuration.
45
#
46
#  3. Copy the libraries needed at runtime to the target directory,
47
#  $(TARGET_DIR). Obviously, things such as the C library, the dynamic
48
#  loader and a few other utility libraries are needed if dynamic
49
#  applications are to be executed on the target system.
50
#
51
#  4. Copy the libraries and headers to the staging directory. This
52
#  will allow all further calls to gcc to be made using --sysroot
53
#  $(STAGING_DIR), which greatly simplifies the compilation of the
54
#  packages when using external toolchains. So in the end, only the
55
#  cross-compiler binaries remains external, all libraries and headers
56
#  are imported into the Buildroot tree.
57
#
58
#  5. Build a toolchain wrapper which executes the external toolchain
59
#  with a number of arguments (sysroot/march/mtune/..) hardcoded,
60
#  so we're sure the correct configuration is always used and the
61
#  toolchain behaves similar to an internal toolchain.
62
#  This toolchain wrapper and symlinks are installed into
63
#  $(HOST_DIR)/usr/bin like for the internal toolchains, and the rest
  • Git repository management for enterprise teams powered by Atlassian Bitbucket
  • Atlassian Bitbucket v6.7.2
  • Documentation
  • Request a feature
  • About
  • Contact Atlassian
Atlassian

Everything looks good. We'll let you know here if there's anything you should know about.