All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH v6 0/9] support/test-pkg: fixes and enhancements + add autobuild configs
@ 2017-04-07 11:16 Arnout Vandecappelle
  2017-04-07 11:16 ` [Buildroot] [PATCH v6 1/9] support/test-pkg: calculate toolchain name only once Arnout Vandecappelle
                   ` (8 more replies)
  0 siblings, 9 replies; 12+ messages in thread
From: Arnout Vandecappelle @ 2017-04-07 11:16 UTC (permalink / raw)
  To: buildroot

 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/

-- 
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

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [Buildroot] [PATCH v6 1/9] support/test-pkg: calculate toolchain name only once
  2017-04-07 11:16 [Buildroot] [PATCH v6 0/9] support/test-pkg: fixes and enhancements + add autobuild configs Arnout Vandecappelle
@ 2017-04-07 11:16 ` Arnout Vandecappelle
  2017-04-18 15:39   ` Thomas Petazzoni
  2017-04-07 11:16 ` [Buildroot] [PATCH v6 2/9] support/test-pkg: run legal-info Arnout Vandecappelle
                   ` (7 subsequent siblings)
  8 siblings, 1 reply; 12+ messages in thread
From: Arnout Vandecappelle @ 2017-04-07 11:16 UTC (permalink / raw)
  To: buildroot

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().

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
---
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(-)

diff --git a/support/scripts/test-pkg b/support/scripts/test-pkg
index f9f994402d..7a0639f901 100755
--- a/support/scripts/test-pkg
+++ b/support/scripts/test-pkg
@@ -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
-- 
2.11.0

^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [Buildroot] [PATCH v6 2/9] support/test-pkg: run legal-info
  2017-04-07 11:16 [Buildroot] [PATCH v6 0/9] support/test-pkg: fixes and enhancements + add autobuild configs Arnout Vandecappelle
  2017-04-07 11:16 ` [Buildroot] [PATCH v6 1/9] support/test-pkg: calculate toolchain name only once Arnout Vandecappelle
@ 2017-04-07 11:16 ` Arnout Vandecappelle
  2017-04-18 15:39   ` Thomas Petazzoni
  2017-04-07 11:16 ` [Buildroot] [PATCH v6 3/9] support: add autobuild toolchain config fragments Arnout Vandecappelle
                   ` (6 subsequent siblings)
  8 siblings, 1 reply; 12+ messages in thread
From: Arnout Vandecappelle @ 2017-04-07 11:16 UTC (permalink / raw)
  To: buildroot

From: "Yann E. MORIN" <yann.morin.1998@free.fr>

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
---
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(-)

diff --git a/docs/manual/adding-packages-tips.txt b/docs/manual/adding-packages-tips.txt
index e1f6986724..d1eab2b440 100644
--- a/docs/manual/adding-packages-tips.txt
+++ b/docs/manual/adding-packages-tips.txt
@@ -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.
 
diff --git a/support/scripts/test-pkg b/support/scripts/test-pkg
index 7a0639f901..f08c608727 100755
--- a/support/scripts/test-pkg
+++ b/support/scripts/test-pkg
@@ -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() {
-- 
2.11.0

^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [Buildroot] [PATCH v6 3/9] support: add autobuild toolchain config fragments
  2017-04-07 11:16 [Buildroot] [PATCH v6 0/9] support/test-pkg: fixes and enhancements + add autobuild configs Arnout Vandecappelle
  2017-04-07 11:16 ` [Buildroot] [PATCH v6 1/9] support/test-pkg: calculate toolchain name only once Arnout Vandecappelle
  2017-04-07 11:16 ` [Buildroot] [PATCH v6 2/9] support/test-pkg: run legal-info Arnout Vandecappelle
@ 2017-04-07 11:16 ` Arnout Vandecappelle
  2017-04-07 11:16 ` [Buildroot] [PATCH v6 4/9] support/test-pkg: move minimal.config into a separate file Arnout Vandecappelle
                   ` (5 subsequent siblings)
  8 siblings, 0 replies; 12+ messages in thread
From: Arnout Vandecappelle @ 2017-04-07 11:16 UTC (permalink / raw)
  To: buildroot

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

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
---
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

diff --git a/support/config-fragments/autobuild/armv5-ctng-linux-gnueabi.config b/support/config-fragments/autobuild/armv5-ctng-linux-gnueabi.config
new file mode 100644
index 0000000000..c2f4cb62ca
--- /dev/null
+++ b/support/config-fragments/autobuild/armv5-ctng-linux-gnueabi.config
@@ -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
diff --git a/support/config-fragments/autobuild/armv7-ctng-linux-gnueabihf.config b/support/config-fragments/autobuild/armv7-ctng-linux-gnueabihf.config
new file mode 100644
index 0000000000..60ec952940
--- /dev/null
+++ b/support/config-fragments/autobuild/armv7-ctng-linux-gnueabihf.config
@@ -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
diff --git a/support/config-fragments/autobuild/br-aarch64-glibc.config b/support/config-fragments/autobuild/br-aarch64-glibc.config
new file mode 100644
index 0000000000..1e7387aa29
--- /dev/null
+++ b/support/config-fragments/autobuild/br-aarch64-glibc.config
@@ -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
diff --git a/support/config-fragments/autobuild/br-arc-full-internal.config b/support/config-fragments/autobuild/br-arc-full-internal.config
new file mode 100644
index 0000000000..4755c9e45b
--- /dev/null
+++ b/support/config-fragments/autobuild/br-arc-full-internal.config
@@ -0,0 +1,3 @@
+BR2_arcle=y
+BR2_TOOLCHAIN_BUILDROOT_LOCALE=y
+BR2_TOOLCHAIN_BUILDROOT_CXX=y
diff --git a/support/config-fragments/autobuild/br-arcle-hs38.config b/support/config-fragments/autobuild/br-arcle-hs38.config
new file mode 100644
index 0000000000..ab5476c51f
--- /dev/null
+++ b/support/config-fragments/autobuild/br-arcle-hs38.config
@@ -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
diff --git a/support/config-fragments/autobuild/br-arm-basic.config b/support/config-fragments/autobuild/br-arm-basic.config
new file mode 100644
index 0000000000..676ffb0ebf
--- /dev/null
+++ b/support/config-fragments/autobuild/br-arm-basic.config
@@ -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
diff --git a/support/config-fragments/autobuild/br-arm-cortex-a9-glibc.config b/support/config-fragments/autobuild/br-arm-cortex-a9-glibc.config
new file mode 100644
index 0000000000..919a062b58
--- /dev/null
+++ b/support/config-fragments/autobuild/br-arm-cortex-a9-glibc.config
@@ -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
diff --git a/support/config-fragments/autobuild/br-arm-cortex-a9-musl.config b/support/config-fragments/autobuild/br-arm-cortex-a9-musl.config
new file mode 100644
index 0000000000..7bd0f4ed10
--- /dev/null
+++ b/support/config-fragments/autobuild/br-arm-cortex-a9-musl.config
@@ -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
diff --git a/support/config-fragments/autobuild/br-arm-cortex-m4-full.config b/support/config-fragments/autobuild/br-arm-cortex-m4-full.config
new file mode 100644
index 0000000000..228de9f514
--- /dev/null
+++ b/support/config-fragments/autobuild/br-arm-cortex-m4-full.config
@@ -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
diff --git a/support/config-fragments/autobuild/br-arm-full-nothread.config b/support/config-fragments/autobuild/br-arm-full-nothread.config
new file mode 100644
index 0000000000..9942453bb2
--- /dev/null
+++ b/support/config-fragments/autobuild/br-arm-full-nothread.config
@@ -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
diff --git a/support/config-fragments/autobuild/br-arm-full-static.config b/support/config-fragments/autobuild/br-arm-full-static.config
new file mode 100644
index 0000000000..b343c3f076
--- /dev/null
+++ b/support/config-fragments/autobuild/br-arm-full-static.config
@@ -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
diff --git a/support/config-fragments/autobuild/br-arm-full.config b/support/config-fragments/autobuild/br-arm-full.config
new file mode 100644
index 0000000000..736dea6d6d
--- /dev/null
+++ b/support/config-fragments/autobuild/br-arm-full.config
@@ -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
diff --git a/support/config-fragments/autobuild/br-arm-internal-full.config b/support/config-fragments/autobuild/br-arm-internal-full.config
new file mode 100644
index 0000000000..2e70534882
--- /dev/null
+++ b/support/config-fragments/autobuild/br-arm-internal-full.config
@@ -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
diff --git a/support/config-fragments/autobuild/br-bfin-full.config b/support/config-fragments/autobuild/br-bfin-full.config
new file mode 100644
index 0000000000..dde98379fa
--- /dev/null
+++ b/support/config-fragments/autobuild/br-bfin-full.config
@@ -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
diff --git a/support/config-fragments/autobuild/br-i386-pentium-mmx-musl.config b/support/config-fragments/autobuild/br-i386-pentium-mmx-musl.config
new file mode 100644
index 0000000000..14aa0d6f42
--- /dev/null
+++ b/support/config-fragments/autobuild/br-i386-pentium-mmx-musl.config
@@ -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
diff --git a/support/config-fragments/autobuild/br-i386-pentium4-full.config b/support/config-fragments/autobuild/br-i386-pentium4-full.config
new file mode 100644
index 0000000000..919c64839e
--- /dev/null
+++ b/support/config-fragments/autobuild/br-i386-pentium4-full.config
@@ -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
diff --git a/support/config-fragments/autobuild/br-m68k-5208-full.config b/support/config-fragments/autobuild/br-m68k-5208-full.config
new file mode 100644
index 0000000000..4b31fe7c4d
--- /dev/null
+++ b/support/config-fragments/autobuild/br-m68k-5208-full.config
@@ -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
diff --git a/support/config-fragments/autobuild/br-m68k-68040-full.config b/support/config-fragments/autobuild/br-m68k-68040-full.config
new file mode 100644
index 0000000000..816ee1af08
--- /dev/null
+++ b/support/config-fragments/autobuild/br-m68k-68040-full.config
@@ -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
diff --git a/support/config-fragments/autobuild/br-microblazeel-full-internal.config b/support/config-fragments/autobuild/br-microblazeel-full-internal.config
new file mode 100644
index 0000000000..0d2d7df8f1
--- /dev/null
+++ b/support/config-fragments/autobuild/br-microblazeel-full-internal.config
@@ -0,0 +1 @@
+BR2_microblazeel=y
diff --git a/support/config-fragments/autobuild/br-microblazeel-full.config b/support/config-fragments/autobuild/br-microblazeel-full.config
new file mode 100644
index 0000000000..057b80fe45
--- /dev/null
+++ b/support/config-fragments/autobuild/br-microblazeel-full.config
@@ -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
diff --git a/support/config-fragments/autobuild/br-mips32r6-el-hf-glibc.config b/support/config-fragments/autobuild/br-mips32r6-el-hf-glibc.config
new file mode 100644
index 0000000000..3f47ea499c
--- /dev/null
+++ b/support/config-fragments/autobuild/br-mips32r6-el-hf-glibc.config
@@ -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
diff --git a/support/config-fragments/autobuild/br-mips64-n64-full.config b/support/config-fragments/autobuild/br-mips64-n64-full.config
new file mode 100644
index 0000000000..be287b4144
--- /dev/null
+++ b/support/config-fragments/autobuild/br-mips64-n64-full.config
@@ -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
diff --git a/support/config-fragments/autobuild/br-mips64r6-el-hf-glibc.config b/support/config-fragments/autobuild/br-mips64r6-el-hf-glibc.config
new file mode 100644
index 0000000000..bdb709d5b5
--- /dev/null
+++ b/support/config-fragments/autobuild/br-mips64r6-el-hf-glibc.config
@@ -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
diff --git a/support/config-fragments/autobuild/br-mipsel-o32-full.config b/support/config-fragments/autobuild/br-mipsel-o32-full.config
new file mode 100644
index 0000000000..e648b6bdc0
--- /dev/null
+++ b/support/config-fragments/autobuild/br-mipsel-o32-full.config
@@ -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
diff --git a/support/config-fragments/autobuild/br-nios2-glibc.config b/support/config-fragments/autobuild/br-nios2-glibc.config
new file mode 100644
index 0000000000..6500fcc781
--- /dev/null
+++ b/support/config-fragments/autobuild/br-nios2-glibc.config
@@ -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
diff --git a/support/config-fragments/autobuild/br-openrisc-uclibc.config b/support/config-fragments/autobuild/br-openrisc-uclibc.config
new file mode 100644
index 0000000000..40e3af1e83
--- /dev/null
+++ b/support/config-fragments/autobuild/br-openrisc-uclibc.config
@@ -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
diff --git a/support/config-fragments/autobuild/br-powerpc-603e-basic-cpp.config b/support/config-fragments/autobuild/br-powerpc-603e-basic-cpp.config
new file mode 100644
index 0000000000..58523723c9
--- /dev/null
+++ b/support/config-fragments/autobuild/br-powerpc-603e-basic-cpp.config
@@ -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
diff --git a/support/config-fragments/autobuild/br-powerpc-e500mc-full.config b/support/config-fragments/autobuild/br-powerpc-e500mc-full.config
new file mode 100644
index 0000000000..43b4c8c0a9
--- /dev/null
+++ b/support/config-fragments/autobuild/br-powerpc-e500mc-full.config
@@ -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
diff --git a/support/config-fragments/autobuild/br-powerpc-internal-full.config b/support/config-fragments/autobuild/br-powerpc-internal-full.config
new file mode 100644
index 0000000000..2621e9fb41
--- /dev/null
+++ b/support/config-fragments/autobuild/br-powerpc-internal-full.config
@@ -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
diff --git a/support/config-fragments/autobuild/br-powerpc64-power7-glibc.config b/support/config-fragments/autobuild/br-powerpc64-power7-glibc.config
new file mode 100644
index 0000000000..5c56a0d453
--- /dev/null
+++ b/support/config-fragments/autobuild/br-powerpc64-power7-glibc.config
@@ -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
diff --git a/support/config-fragments/autobuild/br-powerpc64le-power8-glibc.config b/support/config-fragments/autobuild/br-powerpc64le-power8-glibc.config
new file mode 100644
index 0000000000..e11c22fa87
--- /dev/null
+++ b/support/config-fragments/autobuild/br-powerpc64le-power8-glibc.config
@@ -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
diff --git a/support/config-fragments/autobuild/br-sh4-full.config b/support/config-fragments/autobuild/br-sh4-full.config
new file mode 100644
index 0000000000..593d813227
--- /dev/null
+++ b/support/config-fragments/autobuild/br-sh4-full.config
@@ -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
diff --git a/support/config-fragments/autobuild/br-sparc-uclibc.config b/support/config-fragments/autobuild/br-sparc-uclibc.config
new file mode 100644
index 0000000000..b5d3556e55
--- /dev/null
+++ b/support/config-fragments/autobuild/br-sparc-uclibc.config
@@ -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
diff --git a/support/config-fragments/autobuild/br-sparc64-glibc.config b/support/config-fragments/autobuild/br-sparc64-glibc.config
new file mode 100644
index 0000000000..a7fa8b525d
--- /dev/null
+++ b/support/config-fragments/autobuild/br-sparc64-glibc.config
@@ -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
diff --git a/support/config-fragments/autobuild/br-x86-64-core2-full.config b/support/config-fragments/autobuild/br-x86-64-core2-full.config
new file mode 100644
index 0000000000..d680b1466c
--- /dev/null
+++ b/support/config-fragments/autobuild/br-x86-64-core2-full.config
@@ -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
diff --git a/support/config-fragments/autobuild/br-x86-64-musl.config b/support/config-fragments/autobuild/br-x86-64-musl.config
new file mode 100644
index 0000000000..f2bbcb32d1
--- /dev/null
+++ b/support/config-fragments/autobuild/br-x86-64-musl.config
@@ -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
diff --git a/support/config-fragments/autobuild/br-xtensa-full-internal.config b/support/config-fragments/autobuild/br-xtensa-full-internal.config
new file mode 100644
index 0000000000..f642a4d76b
--- /dev/null
+++ b/support/config-fragments/autobuild/br-xtensa-full-internal.config
@@ -0,0 +1,4 @@
+BR2_xtensa=y
+BR2_JLEVEL=8
+BR2_TOOLCHAIN_BUILDROOT_LOCALE=y
+BR2_TOOLCHAIN_BUILDROOT_CXX=y
diff --git a/support/config-fragments/autobuild/br-xtensa-full.config b/support/config-fragments/autobuild/br-xtensa-full.config
new file mode 100644
index 0000000000..c56393e306
--- /dev/null
+++ b/support/config-fragments/autobuild/br-xtensa-full.config
@@ -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
diff --git a/support/config-fragments/autobuild/i686-ctng-linux-gnu.config b/support/config-fragments/autobuild/i686-ctng-linux-gnu.config
new file mode 100644
index 0000000000..9a961123c3
--- /dev/null
+++ b/support/config-fragments/autobuild/i686-ctng-linux-gnu.config
@@ -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
diff --git a/support/config-fragments/autobuild/linaro-aarch64.config b/support/config-fragments/autobuild/linaro-aarch64.config
new file mode 100644
index 0000000000..bb466f384b
--- /dev/null
+++ b/support/config-fragments/autobuild/linaro-aarch64.config
@@ -0,0 +1,2 @@
+BR2_aarch64=y
+BR2_TOOLCHAIN_EXTERNAL=y
diff --git a/support/config-fragments/autobuild/linaro-arm.config b/support/config-fragments/autobuild/linaro-arm.config
new file mode 100644
index 0000000000..91149a7d1d
--- /dev/null
+++ b/support/config-fragments/autobuild/linaro-arm.config
@@ -0,0 +1,4 @@
+BR2_arm=y
+BR2_cortex_a8=y
+BR2_ARM_EABIHF=y
+BR2_TOOLCHAIN_EXTERNAL=y
diff --git a/support/config-fragments/autobuild/mips64el-ctng_n32-linux-gnu.config b/support/config-fragments/autobuild/mips64el-ctng_n32-linux-gnu.config
new file mode 100644
index 0000000000..cf33ea26f3
--- /dev/null
+++ b/support/config-fragments/autobuild/mips64el-ctng_n32-linux-gnu.config
@@ -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
diff --git a/support/config-fragments/autobuild/mips64el-ctng_n64-linux-gnu.config b/support/config-fragments/autobuild/mips64el-ctng_n64-linux-gnu.config
new file mode 100644
index 0000000000..942a1b13b5
--- /dev/null
+++ b/support/config-fragments/autobuild/mips64el-ctng_n64-linux-gnu.config
@@ -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
diff --git a/support/config-fragments/autobuild/powerpc-ctng_e500v2-linux-gnuspe.config b/support/config-fragments/autobuild/powerpc-ctng_e500v2-linux-gnuspe.config
new file mode 100644
index 0000000000..e82d3fbda7
--- /dev/null
+++ b/support/config-fragments/autobuild/powerpc-ctng_e500v2-linux-gnuspe.config
@@ -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
diff --git a/support/config-fragments/autobuild/sourcery-arm-armv4t.config b/support/config-fragments/autobuild/sourcery-arm-armv4t.config
new file mode 100644
index 0000000000..4c0e01fecb
--- /dev/null
+++ b/support/config-fragments/autobuild/sourcery-arm-armv4t.config
@@ -0,0 +1,4 @@
+BR2_arm=y
+BR2_arm920t=y
+BR2_TOOLCHAIN_EXTERNAL=y
+BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM=y
diff --git a/support/config-fragments/autobuild/sourcery-arm-thumb2.config b/support/config-fragments/autobuild/sourcery-arm-thumb2.config
new file mode 100644
index 0000000000..14b64b7892
--- /dev/null
+++ b/support/config-fragments/autobuild/sourcery-arm-thumb2.config
@@ -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=""
diff --git a/support/config-fragments/autobuild/sourcery-arm.config b/support/config-fragments/autobuild/sourcery-arm.config
new file mode 100644
index 0000000000..8ade4647f2
--- /dev/null
+++ b/support/config-fragments/autobuild/sourcery-arm.config
@@ -0,0 +1,3 @@
+BR2_arm=y
+BR2_TOOLCHAIN_EXTERNAL=y
+BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM=y
diff --git a/support/config-fragments/autobuild/sourcery-mips.config b/support/config-fragments/autobuild/sourcery-mips.config
new file mode 100644
index 0000000000..103e20bfc2
--- /dev/null
+++ b/support/config-fragments/autobuild/sourcery-mips.config
@@ -0,0 +1,4 @@
+BR2_mips=y
+BR2_mips_32r2=y
+BR2_TOOLCHAIN_EXTERNAL=y
+BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_MIPS=y
diff --git a/support/config-fragments/autobuild/sourcery-mips64.config b/support/config-fragments/autobuild/sourcery-mips64.config
new file mode 100644
index 0000000000..77e3a853e1
--- /dev/null
+++ b/support/config-fragments/autobuild/sourcery-mips64.config
@@ -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
diff --git a/support/config-fragments/autobuild/sourcery-nios2.config b/support/config-fragments/autobuild/sourcery-nios2.config
new file mode 100644
index 0000000000..0124413d9f
--- /dev/null
+++ b/support/config-fragments/autobuild/sourcery-nios2.config
@@ -0,0 +1,2 @@
+BR2_nios2=y
+BR2_TOOLCHAIN_EXTERNAL=y
diff --git a/support/config-fragments/autobuild/sourcery-sh.config b/support/config-fragments/autobuild/sourcery-sh.config
new file mode 100644
index 0000000000..515fc8fbb1
--- /dev/null
+++ b/support/config-fragments/autobuild/sourcery-sh.config
@@ -0,0 +1,4 @@
+BR2_sh=y
+BR2_sh4a=y
+BR2_TOOLCHAIN_EXTERNAL=y
+BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_SH=y
diff --git a/support/config-fragments/autobuild/sourcery-x86-64.config b/support/config-fragments/autobuild/sourcery-x86-64.config
new file mode 100644
index 0000000000..6c7ad4c5b7
--- /dev/null
+++ b/support/config-fragments/autobuild/sourcery-x86-64.config
@@ -0,0 +1,4 @@
+BR2_x86_64=y
+BR2_x86_steamroller=y
+BR2_TOOLCHAIN_EXTERNAL=y
+BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_AMD64=y
diff --git a/support/config-fragments/autobuild/sourcery-x86.config b/support/config-fragments/autobuild/sourcery-x86.config
new file mode 100644
index 0000000000..ad629f626b
--- /dev/null
+++ b/support/config-fragments/autobuild/sourcery-x86.config
@@ -0,0 +1,3 @@
+BR2_x86_pentium4=y
+BR2_TOOLCHAIN_EXTERNAL=y
+BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_X86=y
diff --git a/support/config-fragments/autobuild/x86_64-ctng_locales-linux-gnu.config b/support/config-fragments/autobuild/x86_64-ctng_locales-linux-gnu.config
new file mode 100644
index 0000000000..435034be27
--- /dev/null
+++ b/support/config-fragments/autobuild/x86_64-ctng_locales-linux-gnu.config
@@ -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
-- 
2.11.0

^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [Buildroot] [PATCH v6 4/9] support/test-pkg: move minimal.config into a separate file
  2017-04-07 11:16 [Buildroot] [PATCH v6 0/9] support/test-pkg: fixes and enhancements + add autobuild configs Arnout Vandecappelle
                   ` (2 preceding siblings ...)
  2017-04-07 11:16 ` [Buildroot] [PATCH v6 3/9] support: add autobuild toolchain config fragments Arnout Vandecappelle
@ 2017-04-07 11:16 ` Arnout Vandecappelle
  2017-04-07 11:16 ` [Buildroot] [PATCH v6 5/9] support/test-pkg: get configs from in-tree configs Arnout Vandecappelle
                   ` (4 subsequent siblings)
  8 siblings, 0 replies; 12+ messages in thread
From: Arnout Vandecappelle @ 2017-04-07 11:16 UTC (permalink / raw)
  To: buildroot

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

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Cc: Yann E. MORIN <yann.morin.1998@free.fr>
---
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

diff --git a/support/config-fragments/minimal.config b/support/config-fragments/minimal.config
new file mode 100644
index 0000000000..0f20847f6d
--- /dev/null
+++ b/support/config-fragments/minimal.config
@@ -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
diff --git a/support/scripts/test-pkg b/support/scripts/test-pkg
index f08c608727..ef79015bc9 100755
--- a/support/scripts/test-pkg
+++ b/support/scripts/test-pkg
@@ -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
-- 
2.11.0

^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [Buildroot] [PATCH v6 5/9] support/test-pkg: get configs from in-tree configs
  2017-04-07 11:16 [Buildroot] [PATCH v6 0/9] support/test-pkg: fixes and enhancements + add autobuild configs Arnout Vandecappelle
                   ` (3 preceding siblings ...)
  2017-04-07 11:16 ` [Buildroot] [PATCH v6 4/9] support/test-pkg: move minimal.config into a separate file Arnout Vandecappelle
@ 2017-04-07 11:16 ` Arnout Vandecappelle
  2017-04-07 11:16 ` [Buildroot] [PATCH v6 6/9] support/test-pkg: add option to use an alternate toolchain directory Arnout Vandecappelle
                   ` (3 subsequent siblings)
  8 siblings, 0 replies; 12+ messages in thread
From: Arnout Vandecappelle @ 2017-04-07 11:16 UTC (permalink / raw)
  To: buildroot

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

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Cc: Yann E. MORIN <yann.morin.1998@free.fr>
---
v6: Moved configs to support/config-fragments/autobuild
v5: first version
---
 support/scripts/test-pkg | 28 +++++++++++++---------------
 1 file changed, 13 insertions(+), 15 deletions(-)

diff --git a/support/scripts/test-pkg b/support/scripts/test-pkg
index ef79015bc9..7cffab63f6 100755
--- a/support/scripts/test-pkg
+++ b/support/scripts/test-pkg
@@ -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:
 
-- 
2.11.0

^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [Buildroot] [PATCH v6 6/9] support/test-pkg: add option to use an alternate toolchain directory
  2017-04-07 11:16 [Buildroot] [PATCH v6 0/9] support/test-pkg: fixes and enhancements + add autobuild configs Arnout Vandecappelle
                   ` (4 preceding siblings ...)
  2017-04-07 11:16 ` [Buildroot] [PATCH v6 5/9] support/test-pkg: get configs from in-tree configs Arnout Vandecappelle
@ 2017-04-07 11:16 ` Arnout Vandecappelle
  2017-04-07 11:16 ` [Buildroot] [PATCH v6 7/9] Makefile: refactor *config targets Arnout Vandecappelle
                   ` (2 subsequent siblings)
  8 siblings, 0 replies; 12+ messages in thread
From: Arnout Vandecappelle @ 2017-04-07 11:16 UTC (permalink / raw)
  To: buildroot

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.

Cc: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
---
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(-)

diff --git a/support/scripts/test-pkg b/support/scripts/test-pkg
index 7cffab63f6..2ac7aefac7 100755
--- a/support/scripts/test-pkg
+++ b/support/scripts/test-pkg
@@ -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:
-- 
2.11.0

^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [Buildroot] [PATCH v6 7/9] Makefile: refactor *config targets
  2017-04-07 11:16 [Buildroot] [PATCH v6 0/9] support/test-pkg: fixes and enhancements + add autobuild configs Arnout Vandecappelle
                   ` (5 preceding siblings ...)
  2017-04-07 11:16 ` [Buildroot] [PATCH v6 6/9] support/test-pkg: add option to use an alternate toolchain directory Arnout Vandecappelle
@ 2017-04-07 11:16 ` Arnout Vandecappelle
  2017-04-07 11:16 ` [Buildroot] [PATCH v6 8/9] Makefile: add alldefconfig target Arnout Vandecappelle
  2017-04-07 11:16 ` [Buildroot] [PATCH v6 9/9] support/test-pkg: use merge_config.sh to merge the fragments Arnout Vandecappelle
  8 siblings, 0 replies; 12+ messages in thread
From: Arnout Vandecappelle @ 2017-04-07 11:16 UTC (permalink / raw)
  To: buildroot

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

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
---
v6: No changes
v5: First version
---
 Makefile | 42 ++++++------------------------------------
 1 file changed, 6 insertions(+), 36 deletions(-)

diff --git a/Makefile b/Makefile
index 941bf789c8..04a0785651 100644
--- a/Makefile
+++ b/Makefile
@@ -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)
-- 
2.11.0

^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [Buildroot] [PATCH v6 8/9] Makefile: add alldefconfig target
  2017-04-07 11:16 [Buildroot] [PATCH v6 0/9] support/test-pkg: fixes and enhancements + add autobuild configs Arnout Vandecappelle
                   ` (6 preceding siblings ...)
  2017-04-07 11:16 ` [Buildroot] [PATCH v6 7/9] Makefile: refactor *config targets Arnout Vandecappelle
@ 2017-04-07 11:16 ` Arnout Vandecappelle
  2017-04-07 11:16 ` [Buildroot] [PATCH v6 9/9] support/test-pkg: use merge_config.sh to merge the fragments Arnout Vandecappelle
  8 siblings, 0 replies; 12+ messages in thread
From: Arnout Vandecappelle @ 2017-04-07 11:16 UTC (permalink / raw)
  To: buildroot

It is used by Kconfig's merge_config.sh.

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

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
---
v6: No changes
v5: First version
---
 Makefile | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/Makefile b/Makefile
index 04a0785651..96864f2ec3 100644
--- a/Makefile
+++ b/Makefile
@@ -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'
-- 
2.11.0

^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [Buildroot] [PATCH v6 9/9] support/test-pkg: use merge_config.sh to merge the fragments
  2017-04-07 11:16 [Buildroot] [PATCH v6 0/9] support/test-pkg: fixes and enhancements + add autobuild configs Arnout Vandecappelle
                   ` (7 preceding siblings ...)
  2017-04-07 11:16 ` [Buildroot] [PATCH v6 8/9] Makefile: add alldefconfig target Arnout Vandecappelle
@ 2017-04-07 11:16 ` Arnout Vandecappelle
  8 siblings, 0 replies; 12+ messages in thread
From: Arnout Vandecappelle @ 2017-04-07 11:16 UTC (permalink / raw)
  To: buildroot

It is supposedly more robust than just concatenating.

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Cc: Yann E. MORIN <yann.morin.1998@free.fr>
---
v6: Rebased
v5: First version
---
 support/scripts/test-pkg | 8 +++-----
 1 file changed, 3 insertions(+), 5 deletions(-)

diff --git a/support/scripts/test-pkg b/support/scripts/test-pkg
index 2ac7aefac7..9ce01a3125 100755
--- a/support/scripts/test-pkg
+++ b/support/scripts/test-pkg
@@ -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
-- 
2.11.0

^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [Buildroot] [PATCH v6 1/9] support/test-pkg: calculate toolchain name only once
  2017-04-07 11:16 ` [Buildroot] [PATCH v6 1/9] support/test-pkg: calculate toolchain name only once Arnout Vandecappelle
@ 2017-04-18 15:39   ` Thomas Petazzoni
  0 siblings, 0 replies; 12+ messages in thread
From: Thomas Petazzoni @ 2017-04-18 15:39 UTC (permalink / raw)
  To: buildroot

Hello,

On Fri, 7 Apr 2017 13:16:16 +0200, Arnout Vandecappelle
(Essensium/Mind) wrote:
> 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().
> 
> Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
> Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
> ---
> Changed v5 -> v6 by Arnout:
>   - Don't move mkdir up to main().

Applied to master, thanks.

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [Buildroot] [PATCH v6 2/9] support/test-pkg: run legal-info
  2017-04-07 11:16 ` [Buildroot] [PATCH v6 2/9] support/test-pkg: run legal-info Arnout Vandecappelle
@ 2017-04-18 15:39   ` Thomas Petazzoni
  0 siblings, 0 replies; 12+ messages in thread
From: Thomas Petazzoni @ 2017-04-18 15:39 UTC (permalink / raw)
  To: buildroot

Hello,

On Fri, 7 Apr 2017 13:16:17 +0200, Arnout Vandecappelle
(Essensium/Mind) wrote:
> From: "Yann E. MORIN" <yann.morin.1998@free.fr>
> 
> Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
> Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
> ---
> Changes v5 -> v6 by Arnout:
>   - Rebased

Applied to master, thanks.

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2017-04-18 15:39 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-04-07 11:16 [Buildroot] [PATCH v6 0/9] support/test-pkg: fixes and enhancements + add autobuild configs Arnout Vandecappelle
2017-04-07 11:16 ` [Buildroot] [PATCH v6 1/9] support/test-pkg: calculate toolchain name only once Arnout Vandecappelle
2017-04-18 15:39   ` Thomas Petazzoni
2017-04-07 11:16 ` [Buildroot] [PATCH v6 2/9] support/test-pkg: run legal-info Arnout Vandecappelle
2017-04-18 15:39   ` Thomas Petazzoni
2017-04-07 11:16 ` [Buildroot] [PATCH v6 3/9] support: add autobuild toolchain config fragments Arnout Vandecappelle
2017-04-07 11:16 ` [Buildroot] [PATCH v6 4/9] support/test-pkg: move minimal.config into a separate file Arnout Vandecappelle
2017-04-07 11:16 ` [Buildroot] [PATCH v6 5/9] support/test-pkg: get configs from in-tree configs Arnout Vandecappelle
2017-04-07 11:16 ` [Buildroot] [PATCH v6 6/9] support/test-pkg: add option to use an alternate toolchain directory Arnout Vandecappelle
2017-04-07 11:16 ` [Buildroot] [PATCH v6 7/9] Makefile: refactor *config targets Arnout Vandecappelle
2017-04-07 11:16 ` [Buildroot] [PATCH v6 8/9] Makefile: add alldefconfig target Arnout Vandecappelle
2017-04-07 11:16 ` [Buildroot] [PATCH v6 9/9] support/test-pkg: use merge_config.sh to merge the fragments Arnout Vandecappelle

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.