Skip to contentSkip to conversation

support/test-pkg: fixes and enhancements + add autobuild configs

PATCH New Arnout Vandecappelle (Essensium/Mind) 2 participants 12 messages Apr 7, 2017 – Apr 18, 2017 Kbuild

lore
Share & tools
lore
#0 lore raw

v6 cover support/test-pkg: fixes and enhancements + add autobuild configs

Hi all,

This series combines the test-pkg rework from Yann [1] with my adding the
autobuild toolchain defconfigs in-tree [2]. The two series are combined because I added a patch that makes test-pkg use the in-tree autobuild configs instead of fetching them from [3], so the two series conflict with each other.

Since the configs are now in-tree, there is no toolchain URL anymore,
so adding the option to specify an alternate URL [4] doesn't make much sense. It is replaced with an option to specify an alternate toolchain directory.

Finally, I added some further enhancement (refactoring) patches:
- moving the minimal config fragment into a separate file;
- using merge_config.sh (which requires two preparatory patches). These can be applied more or less independently ("less" because they conflict with the earlier patches in the series).

This v6:
- drops the already applied patches;
- puts the configs in support/config-fragments instead of configs (which implies changes in test-pkg and in the commit messages of the rest of the series);
- drops the patches for supporting subdirectories under configs/
- doesn't move the mkdir of the build directory up from build_one() to main().

Regards,
Arnout

[1] http://patchwork.ozlabs.org/patch/728392/
[2] http://patchwork.ozlabs.org/patch/743573/
[3] http://autobuild.buildroot.org/toolchains/configs/toolchain-configs.csv
[4] http://patchwork.ozlabs.org/patch/728393/

Signature · 148 lines
Arnout Vandecappelle                          arnout at mind be
Senior Embedded Software Architect            +32-16-286500
Essensium/Mind                                http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium           BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF

----------------------------------------------------------------
The following changes since commit 80e2a5465880965b93d3647ca96f4af5f55252c4:

  gst1-plugins-base: remove legacy freetype handling (2017-04-06 22:43:40 +0200)

are available in the git repository at:

  http://gitlab.com/arnout/buildroot toolchain-defconfigs

for you to fetch changes up to efbc1cf69c2571e06a2b638290097f980084df96:

  support/test-pkg: use merge_config.sh to merge the fragments (2017-04-07 13:06:06 +0200)

----------------------------------------------------------------
Arnout Vandecappelle (8):
      support/test-pkg: calculate toolchain name only once
      support: add autobuild toolchain config fragments
      support/test-pkg: move minimal.config into a separate file
      support/test-pkg: get configs from in-tree configs
      support/test-pkg: add option to use an alternate toolchain directory
      Makefile: refactor *config targets
      Makefile: add alldefconfig target
      support/test-pkg: use merge_config.sh to merge the fragments

Yann E. MORIN (1):
      support/test-pkg: run legal-info

 Makefile                                           | 45 ++---------
 docs/manual/adding-packages-tips.txt               |  5 +-
 .../autobuild/armv5-ctng-linux-gnueabi.config      | 10 +++
 .../autobuild/armv7-ctng-linux-gnueabihf.config    | 13 ++++
 .../autobuild/br-aarch64-glibc.config              |  9 +++
 .../autobuild/br-arc-full-internal.config          |  3 +
 .../autobuild/br-arcle-hs38.config                 | 10 +++
 .../config-fragments/autobuild/br-arm-basic.config |  8 ++
 .../autobuild/br-arm-cortex-a9-glibc.config        | 11 +++
 .../autobuild/br-arm-cortex-a9-musl.config         | 11 +++
 .../autobuild/br-arm-cortex-m4-full.config         | 12 +++
 .../autobuild/br-arm-full-nothread.config          | 11 +++
 .../autobuild/br-arm-full-static.config            | 11 +++
 .../config-fragments/autobuild/br-arm-full.config  | 10 +++
 .../autobuild/br-arm-internal-full.config          |  6 ++
 .../config-fragments/autobuild/br-bfin-full.config | 12 +++
 .../autobuild/br-i386-pentium-mmx-musl.config      | 10 +++
 .../autobuild/br-i386-pentium4-full.config         | 10 +++
 .../autobuild/br-m68k-5208-full.config             | 11 +++
 .../autobuild/br-m68k-68040-full.config            | 10 +++
 .../autobuild/br-microblazeel-full-internal.config |  1 +
 .../autobuild/br-microblazeel-full.config          | 10 +++
 .../autobuild/br-mips32r6-el-hf-glibc.config       | 11 +++
 .../autobuild/br-mips64-n64-full.config            | 10 +++
 .../autobuild/br-mips64r6-el-hf-glibc.config       | 12 +++
 .../autobuild/br-mipsel-o32-full.config            | 10 +++
 .../autobuild/br-nios2-glibc.config                |  9 +++
 .../autobuild/br-openrisc-uclibc.config            | 10 +++
 .../autobuild/br-powerpc-603e-basic-cpp.config     | 10 +++
 .../autobuild/br-powerpc-e500mc-full.config        | 11 +++
 .../autobuild/br-powerpc-internal-full.config      |  5 ++
 .../autobuild/br-powerpc64-power7-glibc.config     |  9 +++
 .../autobuild/br-powerpc64le-power8-glibc.config   |  9 +++
 .../config-fragments/autobuild/br-sh4-full.config  | 10 +++
 .../autobuild/br-sparc-uclibc.config               |  9 +++
 .../autobuild/br-sparc64-glibc.config              |  8 ++
 .../autobuild/br-x86-64-core2-full.config          | 11 +++
 .../autobuild/br-x86-64-musl.config                | 10 +++
 .../autobuild/br-xtensa-full-internal.config       |  4 +
 .../autobuild/br-xtensa-full.config                |  9 +++
 .../autobuild/i686-ctng-linux-gnu.config           | 10 +++
 .../autobuild/linaro-aarch64.config                |  2 +
 .../config-fragments/autobuild/linaro-arm.config   |  4 +
 .../autobuild/mips64el-ctng_n32-linux-gnu.config   |  9 +++
 .../autobuild/mips64el-ctng_n64-linux-gnu.config   | 11 +++
 .../powerpc-ctng_e500v2-linux-gnuspe.config        | 11 +++
 .../autobuild/sourcery-arm-armv4t.config           |  4 +
 .../autobuild/sourcery-arm-thumb2.config           |  6 ++
 .../config-fragments/autobuild/sourcery-arm.config |  3 +
 .../autobuild/sourcery-mips.config                 |  4 +
 .../autobuild/sourcery-mips64.config               |  5 ++
 .../autobuild/sourcery-nios2.config                |  2 +
 .../config-fragments/autobuild/sourcery-sh.config  |  4 +
 .../autobuild/sourcery-x86-64.config               |  4 +
 .../config-fragments/autobuild/sourcery-x86.config |  3 +
 .../autobuild/x86_64-ctng_locales-linux-gnu.config | 11 +++
 support/config-fragments/minimal.config            |  6 ++
 support/scripts/test-pkg                           | 86 ++++++++++++----------
 58 files changed, 514 insertions(+), 77 deletions(-)
 create mode 100644 support/config-fragments/autobuild/armv5-ctng-linux-gnueabi.config
 create mode 100644 support/config-fragments/autobuild/armv7-ctng-linux-gnueabihf.config
 create mode 100644 support/config-fragments/autobuild/br-aarch64-glibc.config
 create mode 100644 support/config-fragments/autobuild/br-arc-full-internal.config
 create mode 100644 support/config-fragments/autobuild/br-arcle-hs38.config
 create mode 100644 support/config-fragments/autobuild/br-arm-basic.config
 create mode 100644 support/config-fragments/autobuild/br-arm-cortex-a9-glibc.config
 create mode 100644 support/config-fragments/autobuild/br-arm-cortex-a9-musl.config
 create mode 100644 support/config-fragments/autobuild/br-arm-cortex-m4-full.config
 create mode 100644 support/config-fragments/autobuild/br-arm-full-nothread.config
 create mode 100644 support/config-fragments/autobuild/br-arm-full-static.config
 create mode 100644 support/config-fragments/autobuild/br-arm-full.config
 create mode 100644 support/config-fragments/autobuild/br-arm-internal-full.config
 create mode 100644 support/config-fragments/autobuild/br-bfin-full.config
 create mode 100644 support/config-fragments/autobuild/br-i386-pentium-mmx-musl.config
 create mode 100644 support/config-fragments/autobuild/br-i386-pentium4-full.config
 create mode 100644 support/config-fragments/autobuild/br-m68k-5208-full.config
 create mode 100644 support/config-fragments/autobuild/br-m68k-68040-full.config
 create mode 100644 support/config-fragments/autobuild/br-microblazeel-full-internal.config
 create mode 100644 support/config-fragments/autobuild/br-microblazeel-full.config
 create mode 100644 support/config-fragments/autobuild/br-mips32r6-el-hf-glibc.config
 create mode 100644 support/config-fragments/autobuild/br-mips64-n64-full.config
 create mode 100644 support/config-fragments/autobuild/br-mips64r6-el-hf-glibc.config
 create mode 100644 support/config-fragments/autobuild/br-mipsel-o32-full.config
 create mode 100644 support/config-fragments/autobuild/br-nios2-glibc.config
 create mode 100644 support/config-fragments/autobuild/br-openrisc-uclibc.config
 create mode 100644 support/config-fragments/autobuild/br-powerpc-603e-basic-cpp.config
 create mode 100644 support/config-fragments/autobuild/br-powerpc-e500mc-full.config
 create mode 100644 support/config-fragments/autobuild/br-powerpc-internal-full.config
 create mode 100644 support/config-fragments/autobuild/br-powerpc64-power7-glibc.config
 create mode 100644 support/config-fragments/autobuild/br-powerpc64le-power8-glibc.config
 create mode 100644 support/config-fragments/autobuild/br-sh4-full.config
 create mode 100644 support/config-fragments/autobuild/br-sparc-uclibc.config
 create mode 100644 support/config-fragments/autobuild/br-sparc64-glibc.config
 create mode 100644 support/config-fragments/autobuild/br-x86-64-core2-full.config
 create mode 100644 support/config-fragments/autobuild/br-x86-64-musl.config
 create mode 100644 support/config-fragments/autobuild/br-xtensa-full-internal.config
 create mode 100644 support/config-fragments/autobuild/br-xtensa-full.config
 create mode 100644 support/config-fragments/autobuild/i686-ctng-linux-gnu.config
 create mode 100644 support/config-fragments/autobuild/linaro-aarch64.config
 create mode 100644 support/config-fragments/autobuild/linaro-arm.config
 create mode 100644 support/config-fragments/autobuild/mips64el-ctng_n32-linux-gnu.config
 create mode 100644 support/config-fragments/autobuild/mips64el-ctng_n64-linux-gnu.config
 create mode 100644 support/config-fragments/autobuild/powerpc-ctng_e500v2-linux-gnuspe.config
 create mode 100644 support/config-fragments/autobuild/sourcery-arm-armv4t.config
 create mode 100644 support/config-fragments/autobuild/sourcery-arm-thumb2.config
 create mode 100644 support/config-fragments/autobuild/sourcery-arm.config
 create mode 100644 support/config-fragments/autobuild/sourcery-mips.config
 create mode 100644 support/config-fragments/autobuild/sourcery-mips64.config
 create mode 100644 support/config-fragments/autobuild/sourcery-nios2.config
 create mode 100644 support/config-fragments/autobuild/sourcery-sh.config
 create mode 100644 support/config-fragments/autobuild/sourcery-x86-64.config
 create mode 100644 support/config-fragments/autobuild/sourcery-x86.config
 create mode 100644 support/config-fragments/autobuild/x86_64-ctng_locales-linux-gnu.config
 create mode 100644 support/config-fragments/minimal.config
#1 lore raw

PATCH v6 1/9 support/test-pkg: calculate toolchain name only once

The toolchain name was calculated in main() for reporting to the user, and again in build_one() for creating the build directory. Calculate it only once, in main(), and pass the build directory as an argument to build_one().

---
Changed v5 -> v6 by Arnout:
- Don't move mkdir up to main().

Changes v4 -> v5 by Arnout:
- Reword commit message
- Reorder patch series

---
 support/scripts/test-pkg | 17 +++++++----------
 1 file changed, 7 insertions(+), 10 deletions(-)
support/scripts/test-pkg +7 -10
index f9f994402d..7a0639f901 100755
@@ -6,7 +6,7 @@ TOOLCHAINS_URL='http://autobuild.buildroot.org/toolchains/configs/toolchain-conf
 main() {
     local o O opts
     local cfg dir pkg random toolchain
-    local ret nb nb_skip nb_fail nb_tc
+    local ret nb nb_skip nb_fail nb_tc build_dir
     local -a toolchains
 
     o='hc:d:p:r:'
@@ -68,11 +68,13 @@ main() {
     nb=0
     nb_skip=0
     nb_fail=0
-    for toolchain in "${toolchains[@]}"; do
+    for toolchainconfig in "${toolchains[@]}"; do
         : $((nb++))
-        printf "%40s [%*d/%d]: " "$(basename "${toolchain}" .config)" \
-                                 ${#nb_tc} ${nb} ${nb_tc}
-        build_one "${dir}" "${toolchain}" "${cfg}" "${pkg}" && ret=0 || ret=${?}
+        # Using basename(1) on a URL works nicely
+        toolchain="$(basename "${toolchainconfig}" .config)"
+        build_dir="${dir}/${toolchain}"
+        printf "%40s [%*d/%d]: " "${toolchain}" ${#nb_tc} ${nb} ${nb_tc}
+        build_one "${build_dir}" "${toolchainconfig}" "${cfg}" "${pkg}" && ret=0 || ret=${?}
         case ${ret} in
         (0) printf "OK\n";;
         (1) : $((nb_skip++)); printf "SKIPPED\n";;
@@ -88,12 +90,7 @@ build_one() {
     local url="${2}"
     local cfg="${3}"
     local pkg="${4}"
-    local toolchain
 
-    # Using basename(1) on a URL works nicely
-    toolchain="$(basename "${url}" .config)"
-
-    dir="${dir}/${toolchain}"
     mkdir -p "${dir}"
 
     if ! curl -s "${url}" >"${dir}/.config"; then
Signature · 1 line
2.11.0
#2 lore raw

PATCH v6 1/9 support/test-pkg: calculate toolchain name only once

Hello,

Quoted 10 lines · Arnout Vandecappelle (Essensium/Mind)

The toolchain name was calculated in main() for reporting to the user, and again in build_one() for creating the build directory. Calculate it only once, in main(), and pass the build directory as an argument to build_one().

---
Changed v5 -> v6 by Arnout:
- Don't move mkdir up to main().

Applied to master, thanks.

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
#3 lore raw

PATCH v6 2/9 support/test-pkg: run legal-info

In reply to Arnout Vandecappelle (Essensium/Mind)

From: "Yann E. MORIN" <[email protected]>

---
Changes v5 -> v6 by Arnout:
- Rebased

Changes v4 -> v5 by Arnout:
- Reorder patch series

---
 docs/manual/adding-packages-tips.txt |  5 +++--
 support/scripts/test-pkg             | 15 +++++++++++++--
 2 files changed, 16 insertions(+), 4 deletions(-)
docs/manual/adding-packages-tips.txt +3 -2
index e1f6986724..d1eab2b440 100644
@@ -93,9 +93,9 @@ $ ./support/scripts/test-pkg -c libcurl.config -p libcurl
                    br-arm-cortex-a9-musl [ 7/11]: FAILED
                    br-arm-cortex-m4-full [ 8/11]: OK
                              br-arm-full [ 9/11]: OK
-                    br-arm-full-nothread [10/11]: OK
+                    br-arm-full-nothread [10/11]: FAILED
                       br-arm-full-static [11/11]: OK
-11 builds, 2 skipped, 2 failed
+11 builds, 2 skipped, 2 build failed, 1 legal-info failed
 ----
 
 The results mean:
@@ -111,6 +111,7 @@ The results mean:
 * `FAILED`: the build failed. Inspect the +logfile+ file in the output
   build  directory to see what went wrong:
 ** the actual build failed,
+** the legal-info failed,
 ** one of the preliminary steps (downloading the config file, applying
    the configuration, running `dirclean` for the package) failed.
 
support/scripts/test-pkg +13 -2
index 7a0639f901..f08c608727 100755
@@ -6,7 +6,7 @@ TOOLCHAINS_URL='http://autobuild.buildroot.org/toolchains/configs/toolchain-conf
 main() {
     local o O opts
     local cfg dir pkg random toolchain
-    local ret nb nb_skip nb_fail nb_tc build_dir
+    local ret nb nb_skip nb_fail nb_legal nb_tc build_dir
     local -a toolchains
 
     o='hc:d:p:r:'
@@ -68,6 +68,7 @@ main() {
     nb=0
     nb_skip=0
     nb_fail=0
+    nb_legal=0
     for toolchainconfig in "${toolchains[@]}"; do
         : $((nb++))
         # Using basename(1) on a URL works nicely
@@ -79,10 +80,12 @@ main() {
         (0) printf "OK\n";;
         (1) : $((nb_skip++)); printf "SKIPPED\n";;
         (2) : $((nb_fail++)); printf "FAILED\n";;
+        (3) : $((nb_legal++)); printf "FAILED\n";;
         esac
     done
 
-    printf "%d builds, %d skipped, %d failed\n" ${nb} ${nb_skip} ${nb_fail}
+    printf "%d builds, %d skipped, %d build failed, %d legal-info failed\n" \
+        ${nb} ${nb_skip} ${nb_fail} ${nb_legal}
 }
 
 build_one() {
@@ -131,6 +134,14 @@ build_one() {
     if ! make O="${dir}" ${pkg} >> "${dir}/logfile" 2>&1; then
         return 2
     fi
+
+    # legal-info done systematically, because some packages have different
+    # sources depending on the configuration (e.g. lua-5.2 vs. lua-5.3)
+    if [ -n "${pkg}" ]; then
+        if ! make O="${dir}" "${pkg}-legal-info" >> "${dir}/logfile" 2>&1; then
+            return 3
+        fi
+    fi
 }
 
 help() {
Signature · 1 line
2.11.0
#4 lore raw

PATCH v6 2/9 support/test-pkg: run legal-info

Hello,

Quoted 7 lines · Arnout Vandecappelle (Essensium/Mind)

From: "Yann E. MORIN" <[email protected]>

---
Changes v5 -> v6 by Arnout:
- Rebased

Applied to master, thanks.

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
#5 lore raw

PATCH v6 3/9 support: add autobuild toolchain config fragments

In reply to Arnout Vandecappelle (Essensium/Mind)

We currently have a list of toolchain configurations that are used by the autobuilders at [1]. However, this makes it a little more difficult for people to use these configurations, and also to have a different list of configurations for different branches. For example if a new architecture is introduced, the 2017.02.x branch doesn't have support for this architecture yet so it shouldn't try to run those configs.

Therefore, include the autobuild config fragments directly in Buildroot, so they can be branched together with the rest. We create a new directory under support/ to store them.

Generated with
wget -nd --no-parent --recursive http://autobuild.buildroot.net/toolchains/configs/

The toolchain CSV file [1] contained some additional information, but this information turns out not to be needed.

- The hostarch required by the toolchain binary. This is used by the autobuild script to avoid trying a toolchain that it cannot use. However, it is better that the autobuild script instead just checks if all the options specified in the toolchain config are still selected after creating a full config, like is done in the test-pkg script. That's much more robust against other things that might block a toolchain from being used.

- The libc used. This is used only for one thing: to let the autobuild script decide if it should try to enable BR2_STATIC_LIBS or not. However, that line can just be added unconditionally: for glibc toolchains, it will get removed again, no harm done.

[1] http://autobuild.buildroot.net/toolchains/configs/toolchain-configs.csv

---
v6: Move to support/config-fragments/autobuild
v5: Refresh after rebuild of the br-* toolchains
Don't add HOSTARCH, it's not needed as explained above
v2-v4 don't exist (due to merging 2 series)

---
 .../autobuild/armv5-ctng-linux-gnueabi.config               | 10 ++++++++++
 .../autobuild/armv7-ctng-linux-gnueabihf.config             | 13 +++++++++++++
 support/config-fragments/autobuild/br-aarch64-glibc.config  |  9 +++++++++
 .../config-fragments/autobuild/br-arc-full-internal.config  |  3 +++
 support/config-fragments/autobuild/br-arcle-hs38.config     | 10 ++++++++++
 support/config-fragments/autobuild/br-arm-basic.config      |  8 ++++++++
 .../autobuild/br-arm-cortex-a9-glibc.config                 | 11 +++++++++++
 .../config-fragments/autobuild/br-arm-cortex-a9-musl.config | 11 +++++++++++
 .../config-fragments/autobuild/br-arm-cortex-m4-full.config | 12 ++++++++++++
 .../config-fragments/autobuild/br-arm-full-nothread.config  | 11 +++++++++++
 .../config-fragments/autobuild/br-arm-full-static.config    | 11 +++++++++++
 support/config-fragments/autobuild/br-arm-full.config       | 10 ++++++++++
 .../config-fragments/autobuild/br-arm-internal-full.config  |  6 ++++++
 support/config-fragments/autobuild/br-bfin-full.config      | 12 ++++++++++++
 .../autobuild/br-i386-pentium-mmx-musl.config               | 10 ++++++++++
 .../config-fragments/autobuild/br-i386-pentium4-full.config | 10 ++++++++++
 support/config-fragments/autobuild/br-m68k-5208-full.config | 11 +++++++++++
 .../config-fragments/autobuild/br-m68k-68040-full.config    | 10 ++++++++++
 .../autobuild/br-microblazeel-full-internal.config          |  1 +
 .../config-fragments/autobuild/br-microblazeel-full.config  | 10 ++++++++++
 .../autobuild/br-mips32r6-el-hf-glibc.config                | 11 +++++++++++
 .../config-fragments/autobuild/br-mips64-n64-full.config    | 10 ++++++++++
 .../autobuild/br-mips64r6-el-hf-glibc.config                | 12 ++++++++++++
 .../config-fragments/autobuild/br-mipsel-o32-full.config    | 10 ++++++++++
 support/config-fragments/autobuild/br-nios2-glibc.config    |  9 +++++++++
 .../config-fragments/autobuild/br-openrisc-uclibc.config    | 10 ++++++++++
 .../autobuild/br-powerpc-603e-basic-cpp.config              | 10 ++++++++++
 .../autobuild/br-powerpc-e500mc-full.config                 | 11 +++++++++++
 .../autobuild/br-powerpc-internal-full.config               |  5 +++++
 .../autobuild/br-powerpc64-power7-glibc.config              |  9 +++++++++
 .../autobuild/br-powerpc64le-power8-glibc.config            |  9 +++++++++
 support/config-fragments/autobuild/br-sh4-full.config       | 10 ++++++++++
 support/config-fragments/autobuild/br-sparc-uclibc.config   |  9 +++++++++
 support/config-fragments/autobuild/br-sparc64-glibc.config  |  8 ++++++++
 .../config-fragments/autobuild/br-x86-64-core2-full.config  | 11 +++++++++++
 support/config-fragments/autobuild/br-x86-64-musl.config    | 10 ++++++++++
 .../autobuild/br-xtensa-full-internal.config                |  4 ++++
 support/config-fragments/autobuild/br-xtensa-full.config    |  9 +++++++++
 .../config-fragments/autobuild/i686-ctng-linux-gnu.config   | 10 ++++++++++
 support/config-fragments/autobuild/linaro-aarch64.config    |  2 ++
 support/config-fragments/autobuild/linaro-arm.config        |  4 ++++
 .../autobuild/mips64el-ctng_n32-linux-gnu.config            |  9 +++++++++
 .../autobuild/mips64el-ctng_n64-linux-gnu.config            | 11 +++++++++++
 .../autobuild/powerpc-ctng_e500v2-linux-gnuspe.config       | 11 +++++++++++
 .../config-fragments/autobuild/sourcery-arm-armv4t.config   |  4 ++++
 .../config-fragments/autobuild/sourcery-arm-thumb2.config   |  6 ++++++
 support/config-fragments/autobuild/sourcery-arm.config      |  3 +++
 support/config-fragments/autobuild/sourcery-mips.config     |  4 ++++
 support/config-fragments/autobuild/sourcery-mips64.config   |  5 +++++
 support/config-fragments/autobuild/sourcery-nios2.config    |  2 ++
 support/config-fragments/autobuild/sourcery-sh.config       |  4 ++++
 support/config-fragments/autobuild/sourcery-x86-64.config   |  4 ++++
 support/config-fragments/autobuild/sourcery-x86.config      |  3 +++
 .../autobuild/x86_64-ctng_locales-linux-gnu.config          | 11 +++++++++++
 54 files changed, 449 insertions(+)
 create mode 100644 support/config-fragments/autobuild/armv5-ctng-linux-gnueabi.config
 create mode 100644 support/config-fragments/autobuild/armv7-ctng-linux-gnueabihf.config
 create mode 100644 support/config-fragments/autobuild/br-aarch64-glibc.config
 create mode 100644 support/config-fragments/autobuild/br-arc-full-internal.config
 create mode 100644 support/config-fragments/autobuild/br-arcle-hs38.config
 create mode 100644 support/config-fragments/autobuild/br-arm-basic.config
 create mode 100644 support/config-fragments/autobuild/br-arm-cortex-a9-glibc.config
 create mode 100644 support/config-fragments/autobuild/br-arm-cortex-a9-musl.config
 create mode 100644 support/config-fragments/autobuild/br-arm-cortex-m4-full.config
 create mode 100644 support/config-fragments/autobuild/br-arm-full-nothread.config
 create mode 100644 support/config-fragments/autobuild/br-arm-full-static.config
 create mode 100644 support/config-fragments/autobuild/br-arm-full.config
 create mode 100644 support/config-fragments/autobuild/br-arm-internal-full.config
 create mode 100644 support/config-fragments/autobuild/br-bfin-full.config
 create mode 100644 support/config-fragments/autobuild/br-i386-pentium-mmx-musl.config
 create mode 100644 support/config-fragments/autobuild/br-i386-pentium4-full.config
 create mode 100644 support/config-fragments/autobuild/br-m68k-5208-full.config
 create mode 100644 support/config-fragments/autobuild/br-m68k-68040-full.config
 create mode 100644 support/config-fragments/autobuild/br-microblazeel-full-internal.config
 create mode 100644 support/config-fragments/autobuild/br-microblazeel-full.config
 create mode 100644 support/config-fragments/autobuild/br-mips32r6-el-hf-glibc.config
 create mode 100644 support/config-fragments/autobuild/br-mips64-n64-full.config
 create mode 100644 support/config-fragments/autobuild/br-mips64r6-el-hf-glibc.config
 create mode 100644 support/config-fragments/autobuild/br-mipsel-o32-full.config
 create mode 100644 support/config-fragments/autobuild/br-nios2-glibc.config
 create mode 100644 support/config-fragments/autobuild/br-openrisc-uclibc.config
 create mode 100644 support/config-fragments/autobuild/br-powerpc-603e-basic-cpp.config
 create mode 100644 support/config-fragments/autobuild/br-powerpc-e500mc-full.config
 create mode 100644 support/config-fragments/autobuild/br-powerpc-internal-full.config
 create mode 100644 support/config-fragments/autobuild/br-powerpc64-power7-glibc.config
 create mode 100644 support/config-fragments/autobuild/br-powerpc64le-power8-glibc.config
 create mode 100644 support/config-fragments/autobuild/br-sh4-full.config
 create mode 100644 support/config-fragments/autobuild/br-sparc-uclibc.config
 create mode 100644 support/config-fragments/autobuild/br-sparc64-glibc.config
 create mode 100644 support/config-fragments/autobuild/br-x86-64-core2-full.config
 create mode 100644 support/config-fragments/autobuild/br-x86-64-musl.config
 create mode 100644 support/config-fragments/autobuild/br-xtensa-full-internal.config
 create mode 100644 support/config-fragments/autobuild/br-xtensa-full.config
 create mode 100644 support/config-fragments/autobuild/i686-ctng-linux-gnu.config
 create mode 100644 support/config-fragments/autobuild/linaro-aarch64.config
 create mode 100644 support/config-fragments/autobuild/linaro-arm.config
 create mode 100644 support/config-fragments/autobuild/mips64el-ctng_n32-linux-gnu.config
 create mode 100644 support/config-fragments/autobuild/mips64el-ctng_n64-linux-gnu.config
 create mode 100644 support/config-fragments/autobuild/powerpc-ctng_e500v2-linux-gnuspe.config
 create mode 100644 support/config-fragments/autobuild/sourcery-arm-armv4t.config
 create mode 100644 support/config-fragments/autobuild/sourcery-arm-thumb2.config
 create mode 100644 support/config-fragments/autobuild/sourcery-arm.config
 create mode 100644 support/config-fragments/autobuild/sourcery-mips.config
 create mode 100644 support/config-fragments/autobuild/sourcery-mips64.config
 create mode 100644 support/config-fragments/autobuild/sourcery-nios2.config
 create mode 100644 support/config-fragments/autobuild/sourcery-sh.config
 create mode 100644 support/config-fragments/autobuild/sourcery-x86-64.config
 create mode 100644 support/config-fragments/autobuild/sourcery-x86.config
 create mode 100644 support/config-fragments/autobuild/x86_64-ctng_locales-linux-gnu.config
support/config-fragments/autobuild/armv5-ctng-linux-gnueabi.config new file +10 -0
new file mode 100644
index 0000000000..c2f4cb62ca
@@ -0,0 +1,10 @@
+BR2_arm=y
+BR2_TOOLCHAIN_EXTERNAL=y
+BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y
+BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y
+BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/armv5-ctng-linux-gnueabi.tar.xz"
+BR2_TOOLCHAIN_EXTERNAL_CUSTOM_PREFIX="armv5-ctng-linux-gnueabi"
+BR2_TOOLCHAIN_EXTERNAL_GCC_4_8=y
+BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_12=y
+BR2_TOOLCHAIN_EXTERNAL_CUSTOM_GLIBC=y
+BR2_TOOLCHAIN_EXTERNAL_CXX=y
support/config-fragments/autobuild/armv7-ctng-linux-gnueabihf.config new file +13 -0
new file mode 100644
index 0000000000..60ec952940
@@ -0,0 +1,13 @@
+BR2_arm=y
+BR2_cortex_a9=y
+BR2_ARM_ENABLE_NEON=y
+BR2_ARM_ENABLE_VFP=y
+BR2_TOOLCHAIN_EXTERNAL=y
+BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y
+BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y
+BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/armv7-ctng-linux-gnueabihf.tar.xz"
+BR2_TOOLCHAIN_EXTERNAL_CUSTOM_PREFIX="armv7-ctng-linux-gnueabihf"
+BR2_TOOLCHAIN_EXTERNAL_GCC_4_8=y
+BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_12=y
+BR2_TOOLCHAIN_EXTERNAL_CUSTOM_GLIBC=y
+BR2_TOOLCHAIN_EXTERNAL_CXX=y
support/config-fragments/autobuild/br-aarch64-glibc.config new file +9 -0
new file mode 100644
index 0000000000..1e7387aa29
@@ -0,0 +1,9 @@
+BR2_aarch64=y
+BR2_TOOLCHAIN_EXTERNAL=y
+BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y
+BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y
+BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-aarch64-glibc-2017.02-744-g40962a0.tar.bz2"
+BR2_TOOLCHAIN_EXTERNAL_GCC_5=y
+BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_1=y
+BR2_TOOLCHAIN_EXTERNAL_CUSTOM_GLIBC=y
+BR2_TOOLCHAIN_EXTERNAL_CXX=y
support/config-fragments/autobuild/br-arc-full-internal.config new file +3 -0
new file mode 100644
index 0000000000..4755c9e45b
@@ -0,0 +1,3 @@
+BR2_arcle=y
+BR2_TOOLCHAIN_BUILDROOT_LOCALE=y
+BR2_TOOLCHAIN_BUILDROOT_CXX=y
support/config-fragments/autobuild/br-arcle-hs38.config new file +10 -0
new file mode 100644
index 0000000000..ab5476c51f
@@ -0,0 +1,10 @@
+BR2_arcle=y
+BR2_archs38=y
+BR2_TOOLCHAIN_EXTERNAL=y
+BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y
+BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-arcle-hs38-full-2017.02-756-gae15148.tar.bz2"
+BR2_TOOLCHAIN_EXTERNAL_GCC_6=y
+BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_1=y
+BR2_TOOLCHAIN_EXTERNAL_LOCALE=y
+# BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_DEBUG is not set
+BR2_TOOLCHAIN_EXTERNAL_CXX=y
support/config-fragments/autobuild/br-arm-basic.config new file +8 -0
new file mode 100644
index 0000000000..676ffb0ebf
@@ -0,0 +1,8 @@
+BR2_arm=y
+BR2_TOOLCHAIN_EXTERNAL=y
+BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y
+BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y
+BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-arm-basic-2017.02-756-gae15148.tar.bz2"
+BR2_TOOLCHAIN_EXTERNAL_GCC_5=y
+BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_10=y
+# BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_DEBUG is not set
support/config-fragments/autobuild/br-arm-cortex-a9-glibc.config new file +11 -0
new file mode 100644
index 0000000000..919a062b58
@@ -0,0 +1,11 @@
+BR2_arm=y
+BR2_cortex_a9=y
+BR2_ARM_ENABLE_VFP=y
+BR2_TOOLCHAIN_EXTERNAL=y
+BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y
+BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y
+BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-arm-cortex-a9-glibc-2017.02-744-g40962a0.tar.bz2"
+BR2_TOOLCHAIN_EXTERNAL_GCC_6=y
+BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_10=y
+BR2_TOOLCHAIN_EXTERNAL_CUSTOM_GLIBC=y
+BR2_TOOLCHAIN_EXTERNAL_CXX=y
support/config-fragments/autobuild/br-arm-cortex-a9-musl.config new file +11 -0
new file mode 100644
index 0000000000..7bd0f4ed10
@@ -0,0 +1,11 @@
+BR2_arm=y
+BR2_cortex_a9=y
+BR2_ARM_ENABLE_VFP=y
+BR2_TOOLCHAIN_EXTERNAL=y
+BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y
+BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y
+BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-arm-cortex-a9-musl-2017.02-744-g40962a0.tar.bz2"
+BR2_TOOLCHAIN_EXTERNAL_GCC_5=y
+BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_10=y
+BR2_TOOLCHAIN_EXTERNAL_CUSTOM_MUSL=y
+BR2_TOOLCHAIN_EXTERNAL_CXX=y
support/config-fragments/autobuild/br-arm-cortex-m4-full.config new file +12 -0
new file mode 100644
index 0000000000..228de9f514
@@ -0,0 +1,12 @@
+BR2_arm=y
+BR2_cortex_m4=y
+BR2_TOOLCHAIN_EXTERNAL=y
+BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y
+BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y
+BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-arm-cortex-m4-full-2017.02-756-gae15148.tar.bz2"
+BR2_TOOLCHAIN_EXTERNAL_GCC_5=y
+BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_10=y
+BR2_TOOLCHAIN_EXTERNAL_LOCALE=y
+# BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_DEBUG is not set
+# BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_NPTL is not set
+BR2_TOOLCHAIN_EXTERNAL_CXX=y
support/config-fragments/autobuild/br-arm-full-nothread.config new file +11 -0
new file mode 100644
index 0000000000..9942453bb2
@@ -0,0 +1,11 @@
+BR2_arm=y
+BR2_arm1176jzf_s=y
+BR2_TOOLCHAIN_EXTERNAL=y
+BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y
+BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y
+BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-arm11-full-nothread-2017.02-756-gae15148.tar.bz2"
+BR2_TOOLCHAIN_EXTERNAL_GCC_5=y
+BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_10=y
+BR2_TOOLCHAIN_EXTERNAL_LOCALE=y
+# BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS is not set
+BR2_TOOLCHAIN_EXTERNAL_CXX=y
support/config-fragments/autobuild/br-arm-full-static.config new file +11 -0
new file mode 100644
index 0000000000..b343c3f076
@@ -0,0 +1,11 @@
+BR2_arm=y
+BR2_STATIC_LIBS=y
+BR2_TOOLCHAIN_EXTERNAL=y
+BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y
+BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y
+BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-arm-full-static-2017.02-756-gae15148.tar.bz2"
+BR2_TOOLCHAIN_EXTERNAL_GCC_5=y
+BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_10=y
+BR2_TOOLCHAIN_EXTERNAL_LOCALE=y
+# BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_DEBUG is not set
+BR2_TOOLCHAIN_EXTERNAL_CXX=y
support/config-fragments/autobuild/br-arm-full.config new file +10 -0
new file mode 100644
index 0000000000..736dea6d6d
@@ -0,0 +1,10 @@
+BR2_arm=y
+BR2_TOOLCHAIN_EXTERNAL=y
+BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y
+BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y
+BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-arm-full-2017.02-756-gae15148.tar.bz2"
+BR2_TOOLCHAIN_EXTERNAL_GCC_4_8=y
+BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_10=y
+BR2_TOOLCHAIN_EXTERNAL_LOCALE=y
+# BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_DEBUG is not set
+BR2_TOOLCHAIN_EXTERNAL_CXX=y
support/config-fragments/autobuild/br-arm-internal-full.config new file +6 -0
new file mode 100644
index 0000000000..2e70534882
@@ -0,0 +1,6 @@
+BR2_arm=y
+BR2_ARM_EABI=y
+BR2_UCLIBC_VERSION_NG=y
+BR2_TOOLCHAIN_BUILDROOT_LOCALE=y
+BR2_TOOLCHAIN_BUILDROOT_WCHAR=y
+BR2_TOOLCHAIN_BUILDROOT_CXX=y
support/config-fragments/autobuild/br-bfin-full.config new file +12 -0
new file mode 100644
index 0000000000..dde98379fa
@@ -0,0 +1,12 @@
+BR2_bfin=y
+BR2_bf512=y
+BR2_TOOLCHAIN_EXTERNAL=y
+BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y
+BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y
+BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.net/toolchains/tarballs/br-bfin-full-2017.02-756-gae15148.tar.bz2"
+BR2_TOOLCHAIN_EXTERNAL_GCC_6=y
+BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_10=y
+BR2_TOOLCHAIN_EXTERNAL_LOCALE=y
+# BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_DEBUG is not set
+# BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_NPTL is not set
+BR2_TOOLCHAIN_EXTERNAL_CXX=y
support/config-fragments/autobuild/br-i386-pentium-mmx-musl.config new file +10 -0
new file mode 100644
index 0000000000..14aa0d6f42
@@ -0,0 +1,10 @@
+BR2_x86_pentium_mmx=y
+BR2_TOOLCHAIN_EXTERNAL=y
+BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y
+BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y
+BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.net/toolchains/tarballs/br-i386-pentium-mmx-musl-2017.02-744-g40962a0.tar.bz2"
+BR2_TOOLCHAIN_EXTERNAL_GCC_5=y
+BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_12=y
+BR2_TOOLCHAIN_EXTERNAL_CUSTOM_MUSL=y
+# BR2_TOOLCHAIN_EXTERNAL_HAS_SSP is not set
+BR2_TOOLCHAIN_EXTERNAL_CXX=y
support/config-fragments/autobuild/br-i386-pentium4-full.config new file +10 -0
new file mode 100644
index 0000000000..919c64839e
@@ -0,0 +1,10 @@
+BR2_x86_pentium4=y
+BR2_TOOLCHAIN_EXTERNAL=y
+BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y
+BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y
+BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-i386-pentium4-full-2017.02-756-gae15148.tar.bz2"
+BR2_TOOLCHAIN_EXTERNAL_GCC_5=y
+BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_2=y
+BR2_TOOLCHAIN_EXTERNAL_LOCALE=y
+# BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_DEBUG is not set
+BR2_TOOLCHAIN_EXTERNAL_CXX=y
support/config-fragments/autobuild/br-m68k-5208-full.config new file +11 -0
new file mode 100644
index 0000000000..4b31fe7c4d
@@ -0,0 +1,11 @@
+BR2_m68k=y
+BR2_m68k_cf5208=y
+BR2_TOOLCHAIN_EXTERNAL=y
+BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y
+BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.net/toolchains/tarballs/br-m68k-5208-full-2017.02-756-gae15148.tar.bz2"
+BR2_TOOLCHAIN_EXTERNAL_GCC_5=y
+BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_10=y
+BR2_TOOLCHAIN_EXTERNAL_LOCALE=y
+# BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_DEBUG is not set
+# BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_NPTL is not set
+BR2_TOOLCHAIN_EXTERNAL_CXX=y
support/config-fragments/autobuild/br-m68k-68040-full.config new file +10 -0
new file mode 100644
index 0000000000..816ee1af08
@@ -0,0 +1,10 @@
+BR2_m68k=y
+BR2_TOOLCHAIN_EXTERNAL=y
+BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y
+BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.net/toolchains/tarballs/br-m68k-68040-full-2017.02-756-gae15148.tar.bz2"
+BR2_TOOLCHAIN_EXTERNAL_GCC_5=y
+BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_10=y
+BR2_TOOLCHAIN_EXTERNAL_LOCALE=y
+# BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_DEBUG is not set
+# BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_NPTL is not set
+BR2_TOOLCHAIN_EXTERNAL_CXX=y
support/config-fragments/autobuild/br-microblazeel-full-internal.config new file +1 -0
new file mode 100644
index 0000000000..0d2d7df8f1
@@ -0,0 +1 @@
+BR2_microblazeel=y
support/config-fragments/autobuild/br-microblazeel-full.config new file +10 -0
new file mode 100644
index 0000000000..057b80fe45
@@ -0,0 +1,10 @@
+BR2_microblazeel=y
+BR2_TOOLCHAIN_EXTERNAL=y
+BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y
+BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-microblaze-full-2017.02-756-gae15148.tar.bz2"
+BR2_TOOLCHAIN_EXTERNAL_GCC_5=y
+BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_1=y
+BR2_TOOLCHAIN_EXTERNAL_LOCALE=y
+# BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_DEBUG is not set
+# BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_NPTL is not set
+BR2_TOOLCHAIN_EXTERNAL_CXX=y
support/config-fragments/autobuild/br-mips32r6-el-hf-glibc.config new file +11 -0
new file mode 100644
index 0000000000..3f47ea499c
@@ -0,0 +1,11 @@
+BR2_mipsel=y
+BR2_mips_32r6=y
+# BR2_MIPS_SOFT_FLOAT is not set
+BR2_TOOLCHAIN_EXTERNAL=y
+BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y
+BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y
+BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-mips32r6-el-hf-2017.02-744-g40962a0.tar.bz2"
+BR2_TOOLCHAIN_EXTERNAL_GCC_5=y
+BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_10=y
+BR2_TOOLCHAIN_EXTERNAL_CUSTOM_GLIBC=y
+BR2_TOOLCHAIN_EXTERNAL_CXX=y
support/config-fragments/autobuild/br-mips64-n64-full.config new file +10 -0
new file mode 100644
index 0000000000..be287b4144
@@ -0,0 +1,10 @@
+BR2_mips64el=y
+BR2_MIPS_NABI64=y
+# BR2_MIPS_SOFT_FLOAT is not set
+BR2_TOOLCHAIN_EXTERNAL=y
+BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y
+BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-mips64-n64-full-2017.02-756-gae15148.tar.bz2"
+BR2_TOOLCHAIN_EXTERNAL_GCC_4_8=y
+BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_10=y
+BR2_TOOLCHAIN_EXTERNAL_LOCALE=y
+BR2_TOOLCHAIN_EXTERNAL_CXX=y
support/config-fragments/autobuild/br-mips64r6-el-hf-glibc.config new file +12 -0
new file mode 100644
index 0000000000..bdb709d5b5
@@ -0,0 +1,12 @@
+BR2_mips64el=y
+BR2_mips_64r6=y
+BR2_MIPS_NABI64=y
+# BR2_MIPS_SOFT_FLOAT is not set
+BR2_TOOLCHAIN_EXTERNAL=y
+BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y
+BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y
+BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-mips64r6-n64-el-hf-2017.02-744-g40962a0.tar.bz2"
+BR2_TOOLCHAIN_EXTERNAL_GCC_5=y
+BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_10=y
+BR2_TOOLCHAIN_EXTERNAL_CUSTOM_GLIBC=y
+BR2_TOOLCHAIN_EXTERNAL_CXX=y
support/config-fragments/autobuild/br-mipsel-o32-full.config new file +10 -0
new file mode 100644
index 0000000000..e648b6bdc0
@@ -0,0 +1,10 @@
+BR2_mipsel=y
+BR2_TOOLCHAIN_EXTERNAL=y
+BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y
+BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y
+BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-mipsel-o32-full-2017.02-756-gae15148.tar.bz2"
+BR2_TOOLCHAIN_EXTERNAL_GCC_5=y
+BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_10=y
+BR2_TOOLCHAIN_EXTERNAL_LOCALE=y
+# BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_DEBUG is not set
+BR2_TOOLCHAIN_EXTERNAL_CXX=y
support/config-fragments/autobuild/br-nios2-glibc.config new file +9 -0
new file mode 100644
index 0000000000..6500fcc781
@@ -0,0 +1,9 @@
+BR2_nios2=y
+BR2_TOOLCHAIN_EXTERNAL=y
+BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y
+BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y
+BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-nios2-full-2017.02-744-g40962a0.tar.bz2"
+BR2_TOOLCHAIN_EXTERNAL_GCC_5=y
+BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_10=y
+BR2_TOOLCHAIN_EXTERNAL_CUSTOM_GLIBC=y
+BR2_TOOLCHAIN_EXTERNAL_CXX=y
support/config-fragments/autobuild/br-openrisc-uclibc.config new file +10 -0
new file mode 100644
index 0000000000..40e3af1e83
@@ -0,0 +1,10 @@
+BR2_or1k=y
+BR2_TOOLCHAIN_EXTERNAL=y
+BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y
+BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.net/toolchains/tarballs/br-openrisc-full-2017.02-756-gae15148.tar.bz2"
+BR2_TOOLCHAIN_EXTERNAL_GCC_5=y
+BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_10=y
+BR2_TOOLCHAIN_EXTERNAL_LOCALE=y
+# BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_DEBUG is not set
+# BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_NPTL is not set
+BR2_TOOLCHAIN_EXTERNAL_CXX=y
support/config-fragments/autobuild/br-powerpc-603e-basic-cpp.config new file +10 -0
new file mode 100644
index 0000000000..58523723c9
@@ -0,0 +1,10 @@
+BR2_powerpc=y
+BR2_powerpc_603e=y
+BR2_TOOLCHAIN_EXTERNAL=y
+BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y
+BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y
+BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-powerpc-603e-basic-cpp-2017.02-756-gae15148.tar.bz2"
+BR2_TOOLCHAIN_EXTERNAL_GCC_5=y
+BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_10=y
+# BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_DEBUG is not set
+BR2_TOOLCHAIN_EXTERNAL_CXX=y
support/config-fragments/autobuild/br-powerpc-e500mc-full.config new file +11 -0
new file mode 100644
index 0000000000..43b4c8c0a9
@@ -0,0 +1,11 @@
+BR2_powerpc=y
+BR2_powerpc_e500mc=y
+BR2_TOOLCHAIN_EXTERNAL=y
+BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y
+BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y
+BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-powerpc-e500mc-full-2017.02-756-gae15148.tar.bz2"
+BR2_TOOLCHAIN_EXTERNAL_GCC_5=y
+BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_10=y
+BR2_TOOLCHAIN_EXTERNAL_LOCALE=y
+# BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_DEBUG is not set
+BR2_TOOLCHAIN_EXTERNAL_CXX=y
support/config-fragments/autobuild/br-powerpc-internal-full.config new file +5 -0
new file mode 100644
index 0000000000..2621e9fb41
@@ -0,0 +1,5 @@
+BR2_powerpc=y
+BR2_TOOLCHAIN_BUILDROOT_INET_IPV6=y
+BR2_TOOLCHAIN_BUILDROOT_LOCALE=y
+BR2_TOOLCHAIN_BUILDROOT_WCHAR=y
+BR2_TOOLCHAIN_BUILDROOT_CXX=y
support/config-fragments/autobuild/br-powerpc64-power7-glibc.config new file +9 -0
new file mode 100644
index 0000000000..5c56a0d453
@@ -0,0 +1,9 @@
+BR2_powerpc64=y
+BR2_powerpc_power7=y
+BR2_TOOLCHAIN_EXTERNAL=y
+BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y
+BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.net/toolchains/tarballs/br-powerpc64-power7-glibc-2017.02-744-g40962a0.tar.bz2"
+BR2_TOOLCHAIN_EXTERNAL_GCC_5=y
+BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_10=y
+BR2_TOOLCHAIN_EXTERNAL_CUSTOM_GLIBC=y
+BR2_TOOLCHAIN_EXTERNAL_CXX=y
support/config-fragments/autobuild/br-powerpc64le-power8-glibc.config new file +9 -0
new file mode 100644
index 0000000000..e11c22fa87
@@ -0,0 +1,9 @@
+BR2_powerpc64le=y
+BR2_powerpc_power8=y
+BR2_TOOLCHAIN_EXTERNAL=y
+BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y
+BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.net/toolchains/tarballs/br-powerpc64le-power8-glibc-2017.02-744-g40962a0.tar.bz2"
+BR2_TOOLCHAIN_EXTERNAL_GCC_5=y
+BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_10=y
+BR2_TOOLCHAIN_EXTERNAL_CUSTOM_GLIBC=y
+BR2_TOOLCHAIN_EXTERNAL_CXX=y
support/config-fragments/autobuild/br-sh4-full.config new file +10 -0
new file mode 100644
index 0000000000..593d813227
@@ -0,0 +1,10 @@
+BR2_sh=y
+BR2_TOOLCHAIN_EXTERNAL=y
+BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y
+BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y
+BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-sh4-full-2017.02-756-gae15148.tar.bz2"
+BR2_TOOLCHAIN_EXTERNAL_GCC_5=y
+BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_10=y
+BR2_TOOLCHAIN_EXTERNAL_LOCALE=y
+# BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_DEBUG is not set
+BR2_TOOLCHAIN_EXTERNAL_CXX=y
support/config-fragments/autobuild/br-sparc-uclibc.config new file +9 -0
new file mode 100644
index 0000000000..b5d3556e55
@@ -0,0 +1,9 @@
+BR2_sparc=y
+BR2_TOOLCHAIN_EXTERNAL=y
+BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y
+BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-sparc-uclibc-2017.02-756-gae15148.tar.bz2"
+BR2_TOOLCHAIN_EXTERNAL_GCC_5=y
+BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_1=y
+BR2_TOOLCHAIN_EXTERNAL_LOCALE=y
+# BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_DEBUG is not set
+BR2_TOOLCHAIN_EXTERNAL_CXX=y
support/config-fragments/autobuild/br-sparc64-glibc.config new file +8 -0
new file mode 100644
index 0000000000..a7fa8b525d
@@ -0,0 +1,8 @@
+BR2_sparc64=y
+BR2_TOOLCHAIN_EXTERNAL=y
+BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y
+BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-sparc64-full-2017.02-744-g40962a0.tar.bz2"
+BR2_TOOLCHAIN_EXTERNAL_GCC_5=y
+BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_1=y
+BR2_TOOLCHAIN_EXTERNAL_CUSTOM_GLIBC=y
+BR2_TOOLCHAIN_EXTERNAL_CXX=y
support/config-fragments/autobuild/br-x86-64-core2-full.config new file +11 -0
new file mode 100644
index 0000000000..d680b1466c
@@ -0,0 +1,11 @@
+BR2_x86_64=y
+BR2_x86_core2=y
+BR2_TOOLCHAIN_EXTERNAL=y
+BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y
+BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y
+BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-x86-64-core2-full-2017.02-756-gae15148.tar.bz2"
+BR2_TOOLCHAIN_EXTERNAL_GCC_5=y
+BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_4=y
+BR2_TOOLCHAIN_EXTERNAL_LOCALE=y
+# BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_DEBUG is not set
+BR2_TOOLCHAIN_EXTERNAL_CXX=y
support/config-fragments/autobuild/br-x86-64-musl.config new file +10 -0
new file mode 100644
index 0000000000..f2bbcb32d1
@@ -0,0 +1,10 @@
+BR2_x86_64=y
+BR2_x86_atom=y
+BR2_TOOLCHAIN_EXTERNAL=y
+BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y
+BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y
+BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-x86-64-musl-2017.02-744-g40962a0.tar.bz2"
+BR2_TOOLCHAIN_EXTERNAL_GCC_5=y
+BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_10=y
+BR2_TOOLCHAIN_EXTERNAL_CUSTOM_MUSL=y
+BR2_TOOLCHAIN_EXTERNAL_CXX=y
support/config-fragments/autobuild/br-xtensa-full-internal.config new file +4 -0
new file mode 100644
index 0000000000..f642a4d76b
@@ -0,0 +1,4 @@
+BR2_xtensa=y
+BR2_JLEVEL=8
+BR2_TOOLCHAIN_BUILDROOT_LOCALE=y
+BR2_TOOLCHAIN_BUILDROOT_CXX=y
support/config-fragments/autobuild/br-xtensa-full.config new file +9 -0
new file mode 100644
index 0000000000..c56393e306
@@ -0,0 +1,9 @@
+BR2_xtensa=y
+BR2_TOOLCHAIN_EXTERNAL=y
+BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y
+BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-xtensa-full-2017.02-756-gae15148.tar.bz2"
+BR2_TOOLCHAIN_EXTERNAL_GCC_5=y
+BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_10=y
+BR2_TOOLCHAIN_EXTERNAL_LOCALE=y
+# BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_DEBUG is not set
+BR2_TOOLCHAIN_EXTERNAL_CXX=y
support/config-fragments/autobuild/i686-ctng-linux-gnu.config new file +10 -0
new file mode 100644
index 0000000000..9a961123c3
@@ -0,0 +1,10 @@
+BR2_x86_i686=y
+BR2_TOOLCHAIN_EXTERNAL=y
+BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y
+BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y
+BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/i686-ctng-linux-gnu.tar.xz"
+BR2_TOOLCHAIN_EXTERNAL_CUSTOM_PREFIX="i686-ctng-linux-gnu"
+BR2_TOOLCHAIN_EXTERNAL_GCC_4_8=y
+BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_9=y
+BR2_TOOLCHAIN_EXTERNAL_CUSTOM_GLIBC=y
+BR2_TOOLCHAIN_EXTERNAL_CXX=y
support/config-fragments/autobuild/linaro-aarch64.config new file +2 -0
new file mode 100644
index 0000000000..bb466f384b
@@ -0,0 +1,2 @@
+BR2_aarch64=y
+BR2_TOOLCHAIN_EXTERNAL=y
support/config-fragments/autobuild/linaro-arm.config new file +4 -0
new file mode 100644
index 0000000000..91149a7d1d
@@ -0,0 +1,4 @@
+BR2_arm=y
+BR2_cortex_a8=y
+BR2_ARM_EABIHF=y
+BR2_TOOLCHAIN_EXTERNAL=y
support/config-fragments/autobuild/mips64el-ctng_n32-linux-gnu.config new file +9 -0
new file mode 100644
index 0000000000..cf33ea26f3
@@ -0,0 +1,9 @@
+BR2_mips64el=y
+BR2_TOOLCHAIN_EXTERNAL=y
+BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y
+BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/mips64el-ctng_n32-linux-gnu.tar.xz"
+BR2_TOOLCHAIN_EXTERNAL_CUSTOM_PREFIX="mips64el-ctng_n32-linux-gnu"
+BR2_TOOLCHAIN_EXTERNAL_GCC_4_8=y
+BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_9=y
+BR2_TOOLCHAIN_EXTERNAL_CUSTOM_GLIBC=y
+BR2_TOOLCHAIN_EXTERNAL_CXX=y
support/config-fragments/autobuild/mips64el-ctng_n64-linux-gnu.config new file +11 -0
new file mode 100644
index 0000000000..942a1b13b5
@@ -0,0 +1,11 @@
+BR2_mips64el=y
+BR2_MIPS_NABI64=y
+BR2_TOOLCHAIN_EXTERNAL=y
+BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y
+BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y
+BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/mips64el-ctng_n64-linux-gnu.tar.xz"
+BR2_TOOLCHAIN_EXTERNAL_CUSTOM_PREFIX="mips64el-ctng_n64-linux-gnu"
+BR2_TOOLCHAIN_EXTERNAL_GCC_4_8=y
+BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_9=y
+BR2_TOOLCHAIN_EXTERNAL_CUSTOM_GLIBC=y
+BR2_TOOLCHAIN_EXTERNAL_CXX=y
support/config-fragments/autobuild/powerpc-ctng_e500v2-linux-gnuspe.config new file +11 -0
new file mode 100644
index 0000000000..e82d3fbda7
@@ -0,0 +1,11 @@
+BR2_powerpc=y
+BR2_powerpc_8548=y
+BR2_TOOLCHAIN_EXTERNAL=y
+BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y
+BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y
+BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/powerpc-ctng_e500v2-linux-gnuspe.tar.xz"
+BR2_TOOLCHAIN_EXTERNAL_CUSTOM_PREFIX="powerpc-ctng_e500v2-linux-gnuspe"
+BR2_TOOLCHAIN_EXTERNAL_GCC_4_7=y
+BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_12=y
+BR2_TOOLCHAIN_EXTERNAL_CUSTOM_GLIBC=y
+BR2_TOOLCHAIN_EXTERNAL_CXX=y
support/config-fragments/autobuild/sourcery-arm-armv4t.config new file +4 -0
new file mode 100644
index 0000000000..4c0e01fecb
@@ -0,0 +1,4 @@
+BR2_arm=y
+BR2_arm920t=y
+BR2_TOOLCHAIN_EXTERNAL=y
+BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM=y
support/config-fragments/autobuild/sourcery-arm-thumb2.config new file +6 -0
new file mode 100644
index 0000000000..14b64b7892
@@ -0,0 +1,6 @@
+BR2_arm=y
+BR2_cortex_a8=y
+BR2_ARM_EABI=y
+BR2_ARM_INSTRUCTIONS_THUMB2=y
+BR2_TOOLCHAIN_EXTERNAL=y
+BR2_TARGET_OPTIMIZATION=""
support/config-fragments/autobuild/sourcery-arm.config new file +3 -0
new file mode 100644
index 0000000000..8ade4647f2
@@ -0,0 +1,3 @@
+BR2_arm=y
+BR2_TOOLCHAIN_EXTERNAL=y
+BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM=y
support/config-fragments/autobuild/sourcery-mips.config new file +4 -0
new file mode 100644
index 0000000000..103e20bfc2
@@ -0,0 +1,4 @@
+BR2_mips=y
+BR2_mips_32r2=y
+BR2_TOOLCHAIN_EXTERNAL=y
+BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_MIPS=y
support/config-fragments/autobuild/sourcery-mips64.config new file +5 -0
new file mode 100644
index 0000000000..77e3a853e1
@@ -0,0 +1,5 @@
+BR2_mips64el=y
+BR2_mips_64r2=y
+BR2_MIPS_NABI64=y
+BR2_TOOLCHAIN_EXTERNAL=y
+BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_MIPS=y
support/config-fragments/autobuild/sourcery-nios2.config new file +2 -0
new file mode 100644
index 0000000000..0124413d9f
@@ -0,0 +1,2 @@
+BR2_nios2=y
+BR2_TOOLCHAIN_EXTERNAL=y
support/config-fragments/autobuild/sourcery-sh.config new file +4 -0
new file mode 100644
index 0000000000..515fc8fbb1
@@ -0,0 +1,4 @@
+BR2_sh=y
+BR2_sh4a=y
+BR2_TOOLCHAIN_EXTERNAL=y
+BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_SH=y
support/config-fragments/autobuild/sourcery-x86-64.config new file +4 -0
new file mode 100644
index 0000000000..6c7ad4c5b7
@@ -0,0 +1,4 @@
+BR2_x86_64=y
+BR2_x86_steamroller=y
+BR2_TOOLCHAIN_EXTERNAL=y
+BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_AMD64=y
support/config-fragments/autobuild/sourcery-x86.config new file +3 -0
new file mode 100644
index 0000000000..ad629f626b
@@ -0,0 +1,3 @@
+BR2_x86_pentium4=y
+BR2_TOOLCHAIN_EXTERNAL=y
+BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_X86=y
support/config-fragments/autobuild/x86_64-ctng_locales-linux-gnu.config new file +11 -0
new file mode 100644
index 0000000000..435034be27
@@ -0,0 +1,11 @@
+BR2_x86_64=y
+BR2_x86_corei7=y
+BR2_TOOLCHAIN_EXTERNAL=y
+BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y
+BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y
+BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/x86_64-ctng_locales-linux-gnu.tar.xz"
+BR2_TOOLCHAIN_EXTERNAL_CUSTOM_PREFIX="x86_64-ctng_locales-linux-gnu"
+BR2_TOOLCHAIN_EXTERNAL_GCC_4_8=y
+BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_9=y
+BR2_TOOLCHAIN_EXTERNAL_CUSTOM_GLIBC=y
+BR2_TOOLCHAIN_EXTERNAL_CXX=y
Signature · 1 line
2.11.0
#6 lore raw

PATCH v6 4/9 support/test-pkg: move minimal.config into a separate file

In reply to Arnout Vandecappelle (Essensium/Mind)

This minimal configuration is also very useful outside test-pkg. In addition, it will simplify the config merge in a later patch.

---
v6: Use support/config-fragments instead of support/misc
v5: First version

---
 support/config-fragments/minimal.config | 6 ++++++
 support/scripts/test-pkg                | 8 +-------
 2 files changed, 7 insertions(+), 7 deletions(-)
 create mode 100644 support/config-fragments/minimal.config
support/config-fragments/minimal.config new file +6 -0
new file mode 100644
index 0000000000..0f20847f6d
@@ -0,0 +1,6 @@
+# This config fragment disables Buildroot options that are turned on by
+# default, in order to arrive at minimal build time.
+BR2_INIT_NONE=y
+BR2_SYSTEM_BIN_SH_NONE=y
+# BR2_PACKAGE_BUSYBOX is not set
+# BR2_TARGET_ROOTFS_TAR is not set
support/scripts/test-pkg +1 -7
index f08c608727..ef79015bc9 100755
@@ -100,13 +100,7 @@ build_one() {
         return 2
     fi
 
-    cat >>"${dir}/.config" <<-_EOF_
-	BR2_INIT_NONE=y
-	BR2_SYSTEM_BIN_SH_NONE=y
-	# BR2_PACKAGE_BUSYBOX is not set
-	# BR2_TARGET_ROOTFS_TAR is not set
-	_EOF_
-    cat "${cfg}" >>"${dir}/.config"
+    cat "support/config-fragments/minimal.config" "${cfg}" >>"${dir}/.config"
 
     if ! make O="${dir}" olddefconfig > "${dir}/logfile" 2>&1; then
         return 2
Signature · 1 line
2.11.0
#7 lore raw

PATCH v6 5/9 support/test-pkg: get configs from in-tree configs

In reply to Arnout Vandecappelle (Essensium/Mind)

Now we have the toolchain config fragments in the buildroot directory itself, it is no longer necessary to fetch it from the toolchain URL.

---
v6: Moved configs to support/config-fragments/autobuild
v5: first version

---
 support/scripts/test-pkg | 28 +++++++++++++---------------
 1 file changed, 13 insertions(+), 15 deletions(-)
support/scripts/test-pkg +13 -15
index ef79015bc9..7cffab63f6 100755
@@ -1,7 +1,7 @@
 #!/bin/bash
 set -e
 
-TOOLCHAINS_URL='http://autobuild.buildroot.org/toolchains/configs/toolchain-configs.csv'
+TOOLCHAINS_DIR=support/config-fragments/autobuild
 
 main() {
     local o O opts
@@ -47,11 +47,10 @@ main() {
         dir="${HOME}/br-test-pkg"
     fi
 
-    # Extract the URLs of the toolchains; drop internal toolchains
-    # E.g.: http://server/path/to/name.config,arch,libc
-    #  -->  http://server/path/to/name.config
-    toolchains=($(curl -s "${TOOLCHAINS_URL}" \
-                  |sed -r -e 's/,.*//; /internal/d;' \
+    # Find external toolchains
+    # shellcheck disable=SC2011
+    toolchains=($(ls -1 "${TOOLCHAINS_DIR}"/*.config \
+                  |xargs -r grep -l -F -x "BR2_TOOLCHAIN_EXTERNAL=y" \
                   |if [ ${random} -gt 0 ]; then \
                       sort -R |head -n ${random}
                    else
@@ -62,7 +61,7 @@ main() {
 
     nb_tc="${#toolchains[@]}"
     if [ ${nb_tc} -eq 0 ]; then
-        printf "error: no toolchain found (networking issue?)\n" >&2; exit 1
+        printf "error: no toolchain found\n" >&2; exit 1
     fi
 
     nb=0
@@ -90,17 +89,14 @@ main() {
 
 build_one() {
     local dir="${1}"
-    local url="${2}"
+    local toolchainconfig="${2}"
     local cfg="${3}"
     local pkg="${4}"
 
     mkdir -p "${dir}"
+    
+    cat "${toolchainconfig}" "support/config-fragments/minimal.config" "${cfg}" >>"${dir}/.config"
 
-    if ! curl -s "${url}" >"${dir}/.config"; then
-        return 2
-    fi
-
-    cat "support/config-fragments/minimal.config" "${cfg}" >>"${dir}/.config"
 
     if ! make O="${dir}" olddefconfig > "${dir}/logfile" 2>&1; then
         return 2
@@ -152,8 +148,10 @@ In case failures are noticed, you can fix the package and just re-run the
 same command again; it will re-run the test where it failed. If you did
 specify a package (with -p), the package build dir will be removed first.
 
-The list of toolchains is retrieved from the Buildroot autobuilders, available
-at ${TOOLCHAINS_URL}.
+The toolchains to try are retrieved from ${TOOLCHAINS_DIR}. This directory
+contains a config fragment for each toolchain configuration used by the
+autobuilders. Only the external toolchains are tried, because building a
+Buildroot toolchain would take too long.
 
 Options:
 
Signature · 1 line
2.11.0
#8 lore raw

PATCH v6 6/9 support/test-pkg: add option to use an alternate toolchain directory

In reply to Arnout Vandecappelle (Essensium/Mind)

For now, testing a package requires network access. However, there are situations where everything is already cached locally (especially the toolchains tarballs) and network is not available (e.g. in the train, travelling back from FOSDEM...)

Alternatively, one may also want to test against a subset of the default toolchains (e.g. the ones known to have a specific issue), or against additional toolchains (e.g. the ones used within the company).

Add an option to use an alternate directory containing the config fragments of toolchains to try.

---
v6: s/defconfig/config fragment/g
v5: First version

Loosely based on http://patchwork.ozlabs.org/patch/728395/ but with a directory instead of URL, and completely rewritten help text.

---
 support/scripts/test-pkg | 22 +++++++++++++++++-----
 1 file changed, 17 insertions(+), 5 deletions(-)
support/scripts/test-pkg +17 -5
index 7cffab63f6..2ac7aefac7 100755
@@ -5,16 +5,17 @@ TOOLCHAINS_DIR=support/config-fragments/autobuild
 
 main() {
     local o O opts
-    local cfg dir pkg random toolchain
+    local cfg dir pkg random toolchains_dir toolchain
     local ret nb nb_skip nb_fail nb_legal nb_tc build_dir
     local -a toolchains
 
-    o='hc:d:p:r:'
-    O='help,config-snippet:build-dir:package:,random:'
+    o='hc:d:p:r:t:'
+    O='help,config-snippet:build-dir:package:,random:,toolchains-dir:'
     opts="$(getopt -n "${my_name}" -o "${o}" -l "${O}" -- "${@}")"
     eval set -- "${opts}"
 
     random=0
+    toolchains_dir="${TOOLCHAINS_DIR}"
     while [ ${#} -gt 0 ]; do
         case "${1}" in
         (-h|--help)
@@ -32,6 +33,9 @@ main() {
         (-r|--random)
             random="${2}"; shift 2
             ;;
+        (-t|--toolchains-dir)
+            toolchains_dir="${2}"; shift 2
+            ;;
         (--)
             shift; break
             ;;
@@ -49,7 +53,7 @@ main() {
 
     # Find external toolchains
     # shellcheck disable=SC2011
-    toolchains=($(ls -1 "${TOOLCHAINS_DIR}"/*.config \
+    toolchains=($(ls -1 "${toolchains_dir}"/*.config \
                   |xargs -r grep -l -F -x "BR2_TOOLCHAIN_EXTERNAL=y" \
                   |if [ ${random} -gt 0 ]; then \
                       sort -R |head -n ${random}
@@ -151,7 +155,11 @@ specify a package (with -p), the package build dir will be removed first.
 The toolchains to try are retrieved from ${TOOLCHAINS_DIR}. This directory
 contains a config fragment for each toolchain configuration used by the
 autobuilders. Only the external toolchains are tried, because building a
-Buildroot toolchain would take too long.
+Buildroot toolchain would take too long. An alternative directory
+containing config fragments of toolchains to try can be specified with the -t
+option. These config fragments should contain only the toolchain and
+architecture settings. Again, only config fragments which specify an external
+toolchain will be tried.
 
 Options:
 
@@ -173,6 +181,10 @@ Options:
         Limit the tests to the N randomly selected toolchains, instead of
         building with all toolchains.
 
+    -t DIR, --toolchain-dir DIR
+        Directory containing config fragments of toolchains to try. If not
+        specified, the toolchains in ${TOOLCHAINS_DIR} will be used.
+
 Example:
 
     Testing libcec would require a config snippet that contains:
Signature · 1 line
2.11.0
#9 lore raw

PATCH v6 7/9 Makefile: refactor *config targets

In reply to Arnout Vandecappelle (Essensium/Mind)

The rules for the *config targets are all very similar, so factor them together using $@.

---
v6: No changes
v5: First version

---
 Makefile | 42 ++++++------------------------------------
 1 file changed, 6 insertions(+), 36 deletions(-)
Makefile +6 -36
index 941bf789c8..04a0785651 100644
@@ -846,50 +846,20 @@ config: $(BUILD_DIR)/buildroot-config/conf prepare-kconfig
 # no values are set for the legacy options so a subsequent oldconfig
 # will query them. Therefore, run an additional olddefconfig.
 
-oldconfig: $(BUILD_DIR)/buildroot-config/conf prepare-kconfig
-	@$(COMMON_CONFIG_ENV) $< --oldconfig $(CONFIG_CONFIG_IN)
-
-randconfig: $(BUILD_DIR)/buildroot-config/conf prepare-kconfig
-	@$(COMMON_CONFIG_ENV) SKIP_LEGACY=y $< --randconfig $(CONFIG_CONFIG_IN)
-	@$(COMMON_CONFIG_ENV) $< --olddefconfig $(CONFIG_CONFIG_IN) >/dev/null
-
-allyesconfig: $(BUILD_DIR)/buildroot-config/conf prepare-kconfig
-	@$(COMMON_CONFIG_ENV) SKIP_LEGACY=y $< --allyesconfig $(CONFIG_CONFIG_IN)
-	@$(COMMON_CONFIG_ENV) $< --olddefconfig $(CONFIG_CONFIG_IN) >/dev/null
-
-allnoconfig: $(BUILD_DIR)/buildroot-config/conf prepare-kconfig
-	@$(COMMON_CONFIG_ENV) SKIP_LEGACY=y $< --allnoconfig $(CONFIG_CONFIG_IN)
-	@$(COMMON_CONFIG_ENV) $< --olddefconfig $(CONFIG_CONFIG_IN) >/dev/null
-
-randpackageconfig: $(BUILD_DIR)/buildroot-config/conf prepare-kconfig
-	@grep -v BR2_PACKAGE_ $(BR2_CONFIG) > $(CONFIG_DIR)/.config.nopkg
-	@$(COMMON_CONFIG_ENV) SKIP_LEGACY=y \
-		KCONFIG_ALLCONFIG=$(CONFIG_DIR)/.config.nopkg \
-		$< --randconfig $(CONFIG_CONFIG_IN)
-	@rm -f $(CONFIG_DIR)/.config.nopkg
+randconfig allyesconfig allnoconfig: $(BUILD_DIR)/buildroot-config/conf prepare-kconfig
+	@$(COMMON_CONFIG_ENV) SKIP_LEGACY=y $< --$@ $(CONFIG_CONFIG_IN)
 	@$(COMMON_CONFIG_ENV) $< --olddefconfig $(CONFIG_CONFIG_IN) >/dev/null
 
-allyespackageconfig: $(BUILD_DIR)/buildroot-config/conf prepare-kconfig
+randpackageconfig allyespackageconfig allnopackageconfig: $(BUILD_DIR)/buildroot-config/conf prepare-kconfig
 	@grep -v BR2_PACKAGE_ $(BR2_CONFIG) > $(CONFIG_DIR)/.config.nopkg
 	@$(COMMON_CONFIG_ENV) SKIP_LEGACY=y \
 		KCONFIG_ALLCONFIG=$(CONFIG_DIR)/.config.nopkg \
-		$< --allyesconfig $(CONFIG_CONFIG_IN)
+		$< --$(subst package,,$@) $(CONFIG_CONFIG_IN)
 	@rm -f $(CONFIG_DIR)/.config.nopkg
 	@$(COMMON_CONFIG_ENV) $< --olddefconfig $(CONFIG_CONFIG_IN) >/dev/null
 
-allnopackageconfig: $(BUILD_DIR)/buildroot-config/conf prepare-kconfig
-	@grep -v BR2_PACKAGE_ $(BR2_CONFIG) > $(CONFIG_DIR)/.config.nopkg
-	@$(COMMON_CONFIG_ENV) SKIP_LEGACY=y \
-		KCONFIG_ALLCONFIG=$(CONFIG_DIR)/.config.nopkg \
-		$< --allnoconfig $(CONFIG_CONFIG_IN)
-	@rm -f $(CONFIG_DIR)/.config.nopkg
-	@$(COMMON_CONFIG_ENV) $< --olddefconfig $(CONFIG_CONFIG_IN) >/dev/null
-
-silentoldconfig: $(BUILD_DIR)/buildroot-config/conf prepare-kconfig
-	$(COMMON_CONFIG_ENV) $< --silentoldconfig $(CONFIG_CONFIG_IN)
-
-olddefconfig: $(BUILD_DIR)/buildroot-config/conf prepare-kconfig
-	$(COMMON_CONFIG_ENV) $< --olddefconfig $(CONFIG_CONFIG_IN)
+oldconfig silentoldconfig olddefconfig: $(BUILD_DIR)/buildroot-config/conf prepare-kconfig
+	@$(COMMON_CONFIG_ENV) $< --$@ $(CONFIG_CONFIG_IN)
 
 defconfig: $(BUILD_DIR)/buildroot-config/conf prepare-kconfig
 	@$(COMMON_CONFIG_ENV) $< --defconfig$(if $(DEFCONFIG),=$(DEFCONFIG)) $(CONFIG_CONFIG_IN)
Signature · 1 line
2.11.0
#10 lore raw

PATCH v6 8/9 Makefile: add alldefconfig target

In reply to Arnout Vandecappelle (Essensium/Mind)

It is used by Kconfig's merge_config.sh.

No alldefpackageconfig is added, since it's rather pointless: it would only enable busybox.

---
v6: No changes
v5: First version

---
 Makefile | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)
Makefile +3 -2
index 04a0785651..96864f2ec3 100644
@@ -126,7 +126,7 @@ DATE := $(shell date +%Y%m%d)
 export BR2_VERSION_FULL := $(BR2_VERSION)$(shell $(TOPDIR)/support/scripts/setlocalversion)
 
 noconfig_targets := menuconfig nconfig gconfig xconfig config oldconfig randconfig \
-	defconfig %_defconfig allyesconfig allnoconfig silentoldconfig release \
+	defconfig %_defconfig allyesconfig allnoconfig alldefconfig silentoldconfig release \
 	randpackageconfig allyespackageconfig allnopackageconfig \
 	print-version olddefconfig distclean manual manual-html manual-split-html \
 	manual-pdf manual-text manual-epub
@@ -846,7 +846,7 @@ config: $(BUILD_DIR)/buildroot-config/conf prepare-kconfig
 # no values are set for the legacy options so a subsequent oldconfig
 # will query them. Therefore, run an additional olddefconfig.
 
-randconfig allyesconfig allnoconfig: $(BUILD_DIR)/buildroot-config/conf prepare-kconfig
+randconfig allyesconfig alldefconfig allnoconfig: $(BUILD_DIR)/buildroot-config/conf prepare-kconfig
 	@$(COMMON_CONFIG_ENV) SKIP_LEGACY=y $< --$@ $(CONFIG_CONFIG_IN)
 	@$(COMMON_CONFIG_ENV) $< --olddefconfig $(CONFIG_CONFIG_IN) >/dev/null
 
@@ -950,6 +950,7 @@ help:
 	@echo '  savedefconfig          - Save current config to BR2_DEFCONFIG (minimal config)'
 	@echo '  allyesconfig           - New config where all options are accepted with yes'
 	@echo '  allnoconfig            - New config where all options are answered with no'
+	@echo '  alldefconfig           - New config where all options are set to default'
 	@echo '  randpackageconfig      - New config with random answer to package options'
 	@echo '  allyespackageconfig    - New config where pkg options are accepted with yes'
 	@echo '  allnopackageconfig     - New config where package options are answered with no'
Signature · 1 line
2.11.0
#11 lore raw

PATCH v6 9/9 support/test-pkg: use merge_config.sh to merge the fragments

In reply to Arnout Vandecappelle (Essensium/Mind)

It is supposedly more robust than just concatenating.

---
v6: Rebased
v5: First version

---
 support/scripts/test-pkg | 8 +++-----
 1 file changed, 3 insertions(+), 5 deletions(-)
support/scripts/test-pkg +3 -5
index 2ac7aefac7..9ce01a3125 100755
@@ -98,13 +98,11 @@ build_one() {
     local pkg="${4}"
 
     mkdir -p "${dir}"
-    
-    cat "${toolchainconfig}" "support/config-fragments/minimal.config" "${cfg}" >>"${dir}/.config"
 
+    support/kconfig/merge_config.sh -O "${dir}" \
+        "${toolchainconfig}" "support/config-fragments/minimal.config" "${cfg}" \
+        > /dev/null
 
-    if ! make O="${dir}" olddefconfig > "${dir}/logfile" 2>&1; then
-        return 2
-    fi
     # We want all the options from the snippet to be present as-is (set
     # or not set) in the actual .config; if one of them is not, it means
     # some dependency from the toolchain or arch is not available, in
Signature · 1 line
2.11.0