All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH v5 00/13] support/test-pkg: fixes and enhancements + add autobuild defconfigs
@ 2017-04-06 18:18 Arnout Vandecappelle
  2017-04-06 18:18 ` [Buildroot] [PATCH v5 01/13] docs/manual: document the test-pkg script Arnout Vandecappelle
                   ` (12 more replies)
  0 siblings, 13 replies; 25+ messages in thread
From: Arnout Vandecappelle @ 2017-04-06 18:18 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
defconfigs instead of fetching them from [3], so the two series conflict
with each other.

 Since the defconfigs 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.

 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/


The following changes since commit 9a521546ed553d2be23740bbf1a7aa05bce9eb09:

  libnspr: use __nios2__ instead of nios2 (2017-04-06 16:13:52 +0200)

are available in the git repository at:

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

for you to fetch changes up to 698b2328063f47c75ed2d298cf378a2afd41ac37:

  [RFC] list-defconfigs: support defconfigs in subdirectories (2017-04-06 20:12:49 +0200)

----------------------------------------------------------------
Arnout Vandecappelle (9):
      Makefile: support defconfigs in subdirectories
      configs: add autobuild toolchain defconfigs
      support/test-pkg: move minimal.config into a separate file
      support/test-pkg: get configs from buildroot defconfigs
      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
      [RFC] list-defconfigs: support defconfigs in subdirectories

Yann E. MORIN (4):
      docs/manual: document the test-pkg script
      support/test-pkg: print number of toolchains and progress
      support/test-pkg: calculate toolchain name only once
      support/test-pkg: run legal-info

 Makefile                                           |  82 ++++++----------
 .../autobuild/armv5-ctng-linux-gnueabi_defconfig   |  10 ++
 .../autobuild/armv7-ctng-linux-gnueabihf_defconfig |  13 +++
 configs/autobuild/br-aarch64-glibc_defconfig       |   9 ++
 configs/autobuild/br-arc-full-internal_defconfig   |   3 +
 configs/autobuild/br-arcle-hs38_defconfig          |  10 ++
 configs/autobuild/br-arm-basic_defconfig           |   8 ++
 configs/autobuild/br-arm-cortex-a9-glibc_defconfig |  11 +++
 configs/autobuild/br-arm-cortex-a9-musl_defconfig  |  11 +++
 configs/autobuild/br-arm-cortex-m4-full_defconfig  |  12 +++
 configs/autobuild/br-arm-full-nothread_defconfig   |  11 +++
 configs/autobuild/br-arm-full-static_defconfig     |  11 +++
 configs/autobuild/br-arm-full_defconfig            |  10 ++
 configs/autobuild/br-arm-internal-full_defconfig   |   6 ++
 configs/autobuild/br-bfin-full_defconfig           |  12 +++
 .../autobuild/br-i386-pentium-mmx-musl_defconfig   |  10 ++
 configs/autobuild/br-i386-pentium4-full_defconfig  |  10 ++
 configs/autobuild/br-m68k-5208-full_defconfig      |  11 +++
 configs/autobuild/br-m68k-68040-full_defconfig     |  10 ++
 .../br-microblazeel-full-internal_defconfig        |   1 +
 configs/autobuild/br-microblazeel-full_defconfig   |  10 ++
 .../autobuild/br-mips32r6-el-hf-glibc_defconfig    |  11 +++
 configs/autobuild/br-mips64-n64-full_defconfig     |  10 ++
 .../autobuild/br-mips64r6-el-hf-glibc_defconfig    |  12 +++
 configs/autobuild/br-mipsel-o32-full_defconfig     |  10 ++
 configs/autobuild/br-nios2-glibc_defconfig         |   9 ++
 configs/autobuild/br-openrisc-uclibc_defconfig     |  10 ++
 .../autobuild/br-powerpc-603e-basic-cpp_defconfig  |  10 ++
 configs/autobuild/br-powerpc-e500mc-full_defconfig |  11 +++
 .../autobuild/br-powerpc-internal-full_defconfig   |   5 +
 .../autobuild/br-powerpc64-power7-glibc_defconfig  |   9 ++
 .../br-powerpc64le-power8-glibc_defconfig          |   9 ++
 configs/autobuild/br-sh4-full_defconfig            |  10 ++
 configs/autobuild/br-sparc-uclibc_defconfig        |   9 ++
 configs/autobuild/br-sparc64-glibc_defconfig       |   8 ++
 configs/autobuild/br-x86-64-core2-full_defconfig   |  11 +++
 configs/autobuild/br-x86-64-musl_defconfig         |  10 ++
 .../autobuild/br-xtensa-full-internal_defconfig    |   4 +
 configs/autobuild/br-xtensa-full_defconfig         |   9 ++
 configs/autobuild/i686-ctng-linux-gnu_defconfig    |  10 ++
 configs/autobuild/linaro-aarch64_defconfig         |   2 +
 configs/autobuild/linaro-arm_defconfig             |   4 +
 .../mips64el-ctng_n32-linux-gnu_defconfig          |   9 ++
 .../mips64el-ctng_n64-linux-gnu_defconfig          |  11 +++
 .../powerpc-ctng_e500v2-linux-gnuspe_defconfig     |  11 +++
 configs/autobuild/sourcery-arm-armv4t_defconfig    |   4 +
 configs/autobuild/sourcery-arm-thumb2_defconfig    |   6 ++
 configs/autobuild/sourcery-arm_defconfig           |   3 +
 configs/autobuild/sourcery-mips64_defconfig        |   5 +
 configs/autobuild/sourcery-mips_defconfig          |   4 +
 configs/autobuild/sourcery-nios2_defconfig         |   2 +
 configs/autobuild/sourcery-sh_defconfig            |   4 +
 configs/autobuild/sourcery-x86-64_defconfig        |   4 +
 configs/autobuild/sourcery-x86_defconfig           |   3 +
 .../x86_64-ctng_locales-linux-gnu_defconfig        |  11 +++
 docs/manual/adding-packages-tips.txt               |  94 +++++++++++++++++++
 docs/manual/adding-packages.txt                    |   3 +
 support/misc/minimal.config                        |   6 ++
 support/scripts/test-pkg                           | 104 +++++++++++----------
 59 files changed, 636 insertions(+), 102 deletions(-)
 create mode 100644 configs/autobuild/armv5-ctng-linux-gnueabi_defconfig
 create mode 100644 configs/autobuild/armv7-ctng-linux-gnueabihf_defconfig
 create mode 100644 configs/autobuild/br-aarch64-glibc_defconfig
 create mode 100644 configs/autobuild/br-arc-full-internal_defconfig
 create mode 100644 configs/autobuild/br-arcle-hs38_defconfig
 create mode 100644 configs/autobuild/br-arm-basic_defconfig
 create mode 100644 configs/autobuild/br-arm-cortex-a9-glibc_defconfig
 create mode 100644 configs/autobuild/br-arm-cortex-a9-musl_defconfig
 create mode 100644 configs/autobuild/br-arm-cortex-m4-full_defconfig
 create mode 100644 configs/autobuild/br-arm-full-nothread_defconfig
 create mode 100644 configs/autobuild/br-arm-full-static_defconfig
 create mode 100644 configs/autobuild/br-arm-full_defconfig
 create mode 100644 configs/autobuild/br-arm-internal-full_defconfig
 create mode 100644 configs/autobuild/br-bfin-full_defconfig
 create mode 100644 configs/autobuild/br-i386-pentium-mmx-musl_defconfig
 create mode 100644 configs/autobuild/br-i386-pentium4-full_defconfig
 create mode 100644 configs/autobuild/br-m68k-5208-full_defconfig
 create mode 100644 configs/autobuild/br-m68k-68040-full_defconfig
 create mode 100644 configs/autobuild/br-microblazeel-full-internal_defconfig
 create mode 100644 configs/autobuild/br-microblazeel-full_defconfig
 create mode 100644 configs/autobuild/br-mips32r6-el-hf-glibc_defconfig
 create mode 100644 configs/autobuild/br-mips64-n64-full_defconfig
 create mode 100644 configs/autobuild/br-mips64r6-el-hf-glibc_defconfig
 create mode 100644 configs/autobuild/br-mipsel-o32-full_defconfig
 create mode 100644 configs/autobuild/br-nios2-glibc_defconfig
 create mode 100644 configs/autobuild/br-openrisc-uclibc_defconfig
 create mode 100644 configs/autobuild/br-powerpc-603e-basic-cpp_defconfig
 create mode 100644 configs/autobuild/br-powerpc-e500mc-full_defconfig
 create mode 100644 configs/autobuild/br-powerpc-internal-full_defconfig
 create mode 100644 configs/autobuild/br-powerpc64-power7-glibc_defconfig
 create mode 100644 configs/autobuild/br-powerpc64le-power8-glibc_defconfig
 create mode 100644 configs/autobuild/br-sh4-full_defconfig
 create mode 100644 configs/autobuild/br-sparc-uclibc_defconfig
 create mode 100644 configs/autobuild/br-sparc64-glibc_defconfig
 create mode 100644 configs/autobuild/br-x86-64-core2-full_defconfig
 create mode 100644 configs/autobuild/br-x86-64-musl_defconfig
 create mode 100644 configs/autobuild/br-xtensa-full-internal_defconfig
 create mode 100644 configs/autobuild/br-xtensa-full_defconfig
 create mode 100644 configs/autobuild/i686-ctng-linux-gnu_defconfig
 create mode 100644 configs/autobuild/linaro-aarch64_defconfig
 create mode 100644 configs/autobuild/linaro-arm_defconfig
 create mode 100644 configs/autobuild/mips64el-ctng_n32-linux-gnu_defconfig
 create mode 100644 configs/autobuild/mips64el-ctng_n64-linux-gnu_defconfig
 create mode 100644 configs/autobuild/powerpc-ctng_e500v2-linux-gnuspe_defconfig
 create mode 100644 configs/autobuild/sourcery-arm-armv4t_defconfig
 create mode 100644 configs/autobuild/sourcery-arm-thumb2_defconfig
 create mode 100644 configs/autobuild/sourcery-arm_defconfig
 create mode 100644 configs/autobuild/sourcery-mips64_defconfig
 create mode 100644 configs/autobuild/sourcery-mips_defconfig
 create mode 100644 configs/autobuild/sourcery-nios2_defconfig
 create mode 100644 configs/autobuild/sourcery-sh_defconfig
 create mode 100644 configs/autobuild/sourcery-x86-64_defconfig
 create mode 100644 configs/autobuild/sourcery-x86_defconfig
 create mode 100644 configs/autobuild/x86_64-ctng_locales-linux-gnu_defconfig
 create mode 100644 support/misc/minimal.config

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

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

* [Buildroot] [PATCH v5 01/13] docs/manual: document the test-pkg script
  2017-04-06 18:18 [Buildroot] [PATCH v5 00/13] support/test-pkg: fixes and enhancements + add autobuild defconfigs Arnout Vandecappelle
@ 2017-04-06 18:18 ` Arnout Vandecappelle
  2017-04-06 19:51   ` Thomas Petazzoni
  2017-04-06 18:18 ` [Buildroot] [PATCH v5 02/13] support/test-pkg: print number of toolchains and progress Arnout Vandecappelle
                   ` (11 subsequent siblings)
  12 siblings, 1 reply; 25+ messages in thread
From: Arnout Vandecappelle @ 2017-04-06 18:18 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 v4 -> v5:
  Yann:
  - enhance the description for SKIPPED  (Thomas)
  - typoes  (Thomas)
  Arnout:
  - additional fixes of typing and wording
---
 docs/manual/adding-packages-tips.txt | 93 ++++++++++++++++++++++++++++++++++++
 docs/manual/adding-packages.txt      |  3 ++
 2 files changed, 96 insertions(+)

diff --git a/docs/manual/adding-packages-tips.txt b/docs/manual/adding-packages-tips.txt
index 896be00b36..09cf9d437f 100644
--- a/docs/manual/adding-packages-tips.txt
+++ b/docs/manual/adding-packages-tips.txt
@@ -32,6 +32,99 @@ using the following rules:
   with `.` and `-` characters substituted with `_` (e.g.:
   +FOO_BAR_BOO_VERSION+).
 
+[[testing-package]]
+==== How to test your package
+
+Once you have added your new package, it is important that you test it
+under various conditions: does it build for all architectures? Does it
+build with the different C libraries? Does it need threads, NPTL? And
+so on...
+
+Buildroot runs http://autobuild.buildroot.org/[autobuilders] which
+continuously test random configurations. However, these only build the
+`master` branch of the git tree, and your new fancy package is not yet
+there.
+
+Buildroot provides a script in +support/scripts/test-pkg+ that uses the
+same base configurations as used by the autobuilders so you can test
+your package in the same conditions.
+
+First, create a config snippet that contains all the necessary options
+needed to enable your package, but without any architecture or toolchain
+option. For example, let's create a config snippet that just enables
++libcurl+, without any TLS backend:
+
+----
+$ cat libcurl.config
+BR2_PACKAGE_LIBCURL=y
+----
+
+If your package needs more configuration options, you can add them to the
+config snippet. For example, here's how you would test +libcurl+ with
++openssl+ as a TLS backend and the +curl+ program:
+
+----
+$ cat libcurl.config
+BR2_PACKAGE_LIBCURL=y
+BR2_PACKAGE_CURL=y
+BR2_PACKAGE_OPENSSL=y
+----
+
+Then run the +test-pkg+ script, by telling it what config snippet to use
+and what package to test:
+
+----
+$ ./support/scripts/test-pkg -c libcurl.config -p libcurl
+----
+
+This will try to build your package against all the toolchains used
+by the autobuilders (except for the internal toolchains, because it takes
+too long to do so). The output lists all toolchains and the corresponding
+result (excerpt, results are fake):
+
+----
+$ ./support/scripts/test-pkg -c libcurl.config -p libcurl
+                armv5-ctng-linux-gnueabi: OK
+              armv7-ctng-linux-gnueabihf: OK
+                        br-aarch64-glibc: SKIPPED
+                           br-arcle-hs38: SKIPPED
+                            br-arm-basic: FAILED
+                  br-arm-cortex-a9-glibc: OK
+                   br-arm-cortex-a9-musl: FAILED
+                   br-arm-cortex-m4-full: OK
+                             br-arm-full: OK
+                    br-arm-full-nothread: OK
+                      br-arm-full-static: OK
+11 builds, 2 skipped, 2 failed
+----
+
+The results mean:
+
+* `OK`: the build was successful.
+* `SKIPPED`: one or more configuration options listed in the config
+  snippet were not present in the final configuration. This is due to
+  options having dependencies not satisfied by the toolchain, such as
+  for example a package that +depends on BR2_USE_MMU+ with a noMMU
+  toolchain. The missing options are reported in +config.missing+ in
+  the output build directory (+~/br-test-pkg/TOOLCHAIN_NAME/+ by
+  default).
+* `FAILED`: the build failed. Inspect the +logfile+ file in the output
+  build  directory to see what went wrong:
+** the actual build failed,
+** one of the preliminary steps (downloading the config file, applying
+   the configuration, running `dirclean` for the package) failed.
+
+When there are failures, you can just re-run the script with the same
+options (after you fixed your package); the script will attempt to
+re-build the package specified with +-p+ for all toolchains, without
+the need to re-build all the dependencies of that package.
+
+The +test-pkg+ script accepts a few options, for which you can get some
+help by running:
+
+----
+$ ./support/scripts/test-pkg -h
+----
 
 [[github-download-url]]
 ==== How to add a package from GitHub
diff --git a/docs/manual/adding-packages.txt b/docs/manual/adding-packages.txt
index 4595991f0d..d577ff030e 100644
--- a/docs/manual/adding-packages.txt
+++ b/docs/manual/adding-packages.txt
@@ -9,6 +9,9 @@ applications) can be integrated into Buildroot. It also shows how
 existing packages are integrated, which is needed for fixing issues or
 tuning their configuration.
 
+When you add a new package, be sure to test it in various conditions;
+see xref:testing-package[]
+
 include::adding-packages-directory.txt[]
 
 include::adding-packages-generic.txt[]
-- 
2.11.0

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

* [Buildroot] [PATCH v5 02/13] support/test-pkg: print number of toolchains and progress
  2017-04-06 18:18 [Buildroot] [PATCH v5 00/13] support/test-pkg: fixes and enhancements + add autobuild defconfigs Arnout Vandecappelle
  2017-04-06 18:18 ` [Buildroot] [PATCH v5 01/13] docs/manual: document the test-pkg script Arnout Vandecappelle
@ 2017-04-06 18:18 ` Arnout Vandecappelle
  2017-04-06 19:51   ` Thomas Petazzoni
  2017-04-06 18:18 ` [Buildroot] [PATCH v5 03/13] support/test-pkg: calculate toolchain name only once Arnout Vandecappelle
                   ` (10 subsequent siblings)
  12 siblings, 1 reply; 25+ messages in thread
From: Arnout Vandecappelle @ 2017-04-06 18:18 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>
Cc: Thomas De Schampheleire <patrickdepinguin@gmail.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
---
Changes v4 -> v5 by Arnout:
  - toolchain -> toolchains in commit message
  - rebase
---
 docs/manual/adding-packages-tips.txt | 22 +++++++++++-----------
 support/scripts/test-pkg             | 24 +++++++++---------------
 2 files changed, 20 insertions(+), 26 deletions(-)

diff --git a/docs/manual/adding-packages-tips.txt b/docs/manual/adding-packages-tips.txt
index 09cf9d437f..e1f6986724 100644
--- a/docs/manual/adding-packages-tips.txt
+++ b/docs/manual/adding-packages-tips.txt
@@ -84,17 +84,17 @@ result (excerpt, results are fake):
 
 ----
 $ ./support/scripts/test-pkg -c libcurl.config -p libcurl
-                armv5-ctng-linux-gnueabi: OK
-              armv7-ctng-linux-gnueabihf: OK
-                        br-aarch64-glibc: SKIPPED
-                           br-arcle-hs38: SKIPPED
-                            br-arm-basic: FAILED
-                  br-arm-cortex-a9-glibc: OK
-                   br-arm-cortex-a9-musl: FAILED
-                   br-arm-cortex-m4-full: OK
-                             br-arm-full: OK
-                    br-arm-full-nothread: OK
-                      br-arm-full-static: OK
+                armv5-ctng-linux-gnueabi [ 1/11]: OK
+              armv7-ctng-linux-gnueabihf [ 2/11]: OK
+                        br-aarch64-glibc [ 3/11]: SKIPPED
+                           br-arcle-hs38 [ 4/11]: SKIPPED
+                            br-arm-basic [ 5/11]: FAILED
+                  br-arm-cortex-a9-glibc [ 6/11]: OK
+                   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-static [11/11]: OK
 11 builds, 2 skipped, 2 failed
 ----
 
diff --git a/support/scripts/test-pkg b/support/scripts/test-pkg
index 0e7779de49..f9f994402d 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
+    local ret nb nb_skip nb_fail nb_tc
     local -a toolchains
 
     o='hc:d:p:r:'
@@ -60,7 +60,8 @@ main() {
                  )
                )
 
-    if [ ${#toolchains[@]} -eq 0 ]; then
+    nb_tc="${#toolchains[@]}"
+    if [ ${nb_tc} -eq 0 ]; then
         printf "error: no toolchain found (networking issue?)\n" >&2; exit 1
     fi
 
@@ -68,13 +69,15 @@ main() {
     nb_skip=0
     nb_fail=0
     for toolchain 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=${?}
         case ${ret} in
-        (0) ;;
-        (1) : $((nb_skip++));;
-        (2) : $((nb_fail++));;
+        (0) printf "OK\n";;
+        (1) : $((nb_skip++)); printf "SKIPPED\n";;
+        (2) : $((nb_fail++)); printf "FAILED\n";;
         esac
-        : $((nb++))
     done
 
     printf "%d builds, %d skipped, %d failed\n" ${nb} ${nb_skip} ${nb_fail}
@@ -90,13 +93,10 @@ build_one() {
     # Using basename(1) on a URL works nicely
     toolchain="$(basename "${url}" .config)"
 
-    printf "%40s: " "${toolchain}"
-
     dir="${dir}/${toolchain}"
     mkdir -p "${dir}"
 
     if ! curl -s "${url}" >"${dir}/.config"; then
-        printf "FAILED\n"
         return 2
     fi
 
@@ -109,7 +109,6 @@ build_one() {
     cat "${cfg}" >>"${dir}/.config"
 
     if ! make O="${dir}" olddefconfig > "${dir}/logfile" 2>&1; then
-        printf "FAILED\n"
         return 2
     fi
     # We want all the options from the snippet to be present as-is (set
@@ -120,7 +119,6 @@ build_one() {
     # done in the same locale.
     comm -23 <(sort "${cfg}") <(sort "${dir}/.config") >"${dir}/missing.config"
     if [ -s "${dir}/missing.config" ]; then
-        printf "SKIPPED\n"
         return 1
     fi
     # Remove file, it's empty anyway.
@@ -128,18 +126,14 @@ build_one() {
 
     if [ -n "${pkg}" ]; then
         if ! make O="${dir}" "${pkg}-dirclean" >> "${dir}/logfile" 2>&1; then
-            printf "FAILED\n"
             return 2
         fi
     fi
 
     # shellcheck disable=SC2086
     if ! make O="${dir}" ${pkg} >> "${dir}/logfile" 2>&1; then
-        printf "FAILED\n"
         return 2
     fi
-
-    printf "OK\n"
 }
 
 help() {
-- 
2.11.0

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

* [Buildroot] [PATCH v5 03/13] support/test-pkg: calculate toolchain name only once
  2017-04-06 18:18 [Buildroot] [PATCH v5 00/13] support/test-pkg: fixes and enhancements + add autobuild defconfigs Arnout Vandecappelle
  2017-04-06 18:18 ` [Buildroot] [PATCH v5 01/13] docs/manual: document the test-pkg script Arnout Vandecappelle
  2017-04-06 18:18 ` [Buildroot] [PATCH v5 02/13] support/test-pkg: print number of toolchains and progress Arnout Vandecappelle
@ 2017-04-06 18:18 ` Arnout Vandecappelle
  2017-04-06 20:51   ` Yann E. MORIN
  2017-04-06 18:18 ` [Buildroot] [PATCH v5 04/13] support/test-pkg: run legal-info Arnout Vandecappelle
                   ` (9 subsequent siblings)
  12 siblings, 1 reply; 25+ messages in thread
From: Arnout Vandecappelle @ 2017-04-06 18:18 UTC (permalink / raw)
  To: buildroot

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

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>
---
I'm not sure why the mkdir is also moved up to main() - IMO, it fits
better in build_one(). Yann, the original commit message was just
"create build dir from caller", any reason _why_ you did that?

Changes v4 -> v5 by Arnout:
  - Reword commit message
  - Reorder patch series
---
 support/scripts/test-pkg | 20 ++++++++------------
 1 file changed, 8 insertions(+), 12 deletions(-)

diff --git a/support/scripts/test-pkg b/support/scripts/test-pkg
index f9f994402d..27601168b1 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,14 @@ 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}"
+        mkdir -p "${build_dir}"
+        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,13 +91,6 @@ 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
         return 2
-- 
2.11.0

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

* [Buildroot] [PATCH v5 04/13] support/test-pkg: run legal-info
  2017-04-06 18:18 [Buildroot] [PATCH v5 00/13] support/test-pkg: fixes and enhancements + add autobuild defconfigs Arnout Vandecappelle
                   ` (2 preceding siblings ...)
  2017-04-06 18:18 ` [Buildroot] [PATCH v5 03/13] support/test-pkg: calculate toolchain name only once Arnout Vandecappelle
@ 2017-04-06 18:18 ` Arnout Vandecappelle
  2017-04-06 18:18 ` [Buildroot] [PATCH v5 05/13] Makefile: support defconfigs in subdirectories Arnout Vandecappelle
                   ` (8 subsequent siblings)
  12 siblings, 0 replies; 25+ messages in thread
From: Arnout Vandecappelle @ 2017-04-06 18:18 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 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 27601168b1..0d093e8c2f 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
@@ -80,10 +81,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() {
@@ -130,6 +133,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] 25+ messages in thread

* [Buildroot] [PATCH v5 05/13] Makefile: support defconfigs in subdirectories
  2017-04-06 18:18 [Buildroot] [PATCH v5 00/13] support/test-pkg: fixes and enhancements + add autobuild defconfigs Arnout Vandecappelle
                   ` (3 preceding siblings ...)
  2017-04-06 18:18 ` [Buildroot] [PATCH v5 04/13] support/test-pkg: run legal-info Arnout Vandecappelle
@ 2017-04-06 18:18 ` Arnout Vandecappelle
  2017-04-06 18:18 ` [Buildroot] [PATCH v5 06/13] configs: add autobuild toolchain defconfigs Arnout Vandecappelle
                   ` (7 subsequent siblings)
  12 siblings, 0 replies; 25+ messages in thread
From: Arnout Vandecappelle @ 2017-04-06 18:18 UTC (permalink / raw)
  To: buildroot

The pattern rule %_defconfig doesn't support a pattern that includes a
/ because of the following weird make behavior. From the GNU make info
page:

  When the target pattern does not contain a slash (and it usually does
  not), directory names in the file names are removed from the file name
  before it is compared with the target prefix and suffix. After the
  comparison of the file name to the target pattern, the directory names,
  along with the slash that ends them, are added on to the prerequisite
  file names generated from the pattern rule's prerequisite patterns and
  the file name.

In other words, foo/bar_defconfig would depend on
foo/configs/bar_defconfig instead of configs/foo/bar_defconfig.

As a workaround, introduce an intermediate target that does contain a /
and where the pattern is at the beginning: %/.../defconfig. Since this
target does contain a /, the weird splitting of the pattern doesn't
occur and we can make that target depend on .../configs/%_defconfig.

It gets slightly more complicated still because chains of pattern rules
only work if they all have commands. So we need to add a dummy command
for the %_defconfig rule.

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
---
 Makefile | 13 ++++++++++---
 1 file changed, 10 insertions(+), 3 deletions(-)

diff --git a/Makefile b/Makefile
index 941bf789c8..1d377099b2 100644
--- a/Makefile
+++ b/Makefile
@@ -895,10 +895,17 @@ defconfig: $(BUILD_DIR)/buildroot-config/conf prepare-kconfig
 	@$(COMMON_CONFIG_ENV) $< --defconfig$(if $(DEFCONFIG),=$(DEFCONFIG)) $(CONFIG_CONFIG_IN)
 
 define percent_defconfig
+# Introduce a phony intermediate target to handle / in the pattern.
+# make puts anything up to the / in the beginning if the target pattern doesn't
+# contain a /. Without the intermediate, foo/bar_defconfig would depend on
+# foo/$(1)/configs/bar_defconfig instead of $(1)/configs/foo/bar_defconfig.
+.PHONY: %$(1)/defconfig
+%_defconfig: %$(1)/defconfig
+	@: dummy command to make chain of phony targets work
 # Override the BR2_DEFCONFIG from COMMON_CONFIG_ENV with the new defconfig
-%_defconfig: $(BUILD_DIR)/buildroot-config/conf $(1)/configs/%_defconfig prepare-kconfig
-	@$$(COMMON_CONFIG_ENV) BR2_DEFCONFIG=$(1)/configs/$$@ \
-		$$< --defconfig=$(1)/configs/$$@ $$(CONFIG_CONFIG_IN)
+%$(1)/defconfig: $(BUILD_DIR)/buildroot-config/conf $(1)/configs/%_defconfig prepare-kconfig
+	@$$(COMMON_CONFIG_ENV) BR2_DEFCONFIG=$(1)/configs/$$*_defconfig \
+		$$< --defconfig=$(1)/configs/$$*_defconfig $$(CONFIG_CONFIG_IN)
 endef
 $(eval $(foreach d,$(call reverse,$(TOPDIR) $(BR2_EXTERNAL_DIRS)),$(call percent_defconfig,$(d))$(sep)))
 
-- 
2.11.0

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

* [Buildroot] [PATCH v5 06/13] configs: add autobuild toolchain defconfigs
  2017-04-06 18:18 [Buildroot] [PATCH v5 00/13] support/test-pkg: fixes and enhancements + add autobuild defconfigs Arnout Vandecappelle
                   ` (4 preceding siblings ...)
  2017-04-06 18:18 ` [Buildroot] [PATCH v5 05/13] Makefile: support defconfigs in subdirectories Arnout Vandecappelle
@ 2017-04-06 18:18 ` Arnout Vandecappelle
  2017-04-06 19:55   ` Thomas Petazzoni
  2017-04-06 18:18 ` [Buildroot] [PATCH v5 07/13] support/test-pkg: move minimal.config into a separate file Arnout Vandecappelle
                   ` (6 subsequent siblings)
  12 siblings, 1 reply; 25+ messages in thread
From: Arnout Vandecappelle @ 2017-04-06 18:18 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 defconfigs directly in Buildroot, so
they can be branched together with the rest. To avoid polluting the
configs/ directory too much, the autobuild defconfigs are kept in an
"autobuild" subdirectory.

Generated with
wget -nd --no-parent --recursive http://autobuild.buildroot.net/toolchains/configs/
mmv '*.config' '#1_defconfig'

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>
---
v2: Refresh after rebuild of the br-* toolchains
    Don't add HOSTARCH, it's not needed as explained above

Note: I choose to name them xxx_defconfig and put them under to configs
directory so they can be used directly as a quick way to set up a build
with an external toolchain. However, neither test-pkg nor autobuild-run
will use them as _defconfig, so we could just as well call them *.config
and put them under e.g. support/autobuild-toolchains. Let me know what
you think.
---
 configs/autobuild/armv5-ctng-linux-gnueabi_defconfig        | 10 ++++++++++
 configs/autobuild/armv7-ctng-linux-gnueabihf_defconfig      | 13 +++++++++++++
 configs/autobuild/br-aarch64-glibc_defconfig                |  9 +++++++++
 configs/autobuild/br-arc-full-internal_defconfig            |  3 +++
 configs/autobuild/br-arcle-hs38_defconfig                   | 10 ++++++++++
 configs/autobuild/br-arm-basic_defconfig                    |  8 ++++++++
 configs/autobuild/br-arm-cortex-a9-glibc_defconfig          | 11 +++++++++++
 configs/autobuild/br-arm-cortex-a9-musl_defconfig           | 11 +++++++++++
 configs/autobuild/br-arm-cortex-m4-full_defconfig           | 12 ++++++++++++
 configs/autobuild/br-arm-full-nothread_defconfig            | 11 +++++++++++
 configs/autobuild/br-arm-full-static_defconfig              | 11 +++++++++++
 configs/autobuild/br-arm-full_defconfig                     | 10 ++++++++++
 configs/autobuild/br-arm-internal-full_defconfig            |  6 ++++++
 configs/autobuild/br-bfin-full_defconfig                    | 12 ++++++++++++
 configs/autobuild/br-i386-pentium-mmx-musl_defconfig        | 10 ++++++++++
 configs/autobuild/br-i386-pentium4-full_defconfig           | 10 ++++++++++
 configs/autobuild/br-m68k-5208-full_defconfig               | 11 +++++++++++
 configs/autobuild/br-m68k-68040-full_defconfig              | 10 ++++++++++
 configs/autobuild/br-microblazeel-full-internal_defconfig   |  1 +
 configs/autobuild/br-microblazeel-full_defconfig            | 10 ++++++++++
 configs/autobuild/br-mips32r6-el-hf-glibc_defconfig         | 11 +++++++++++
 configs/autobuild/br-mips64-n64-full_defconfig              | 10 ++++++++++
 configs/autobuild/br-mips64r6-el-hf-glibc_defconfig         | 12 ++++++++++++
 configs/autobuild/br-mipsel-o32-full_defconfig              | 10 ++++++++++
 configs/autobuild/br-nios2-glibc_defconfig                  |  9 +++++++++
 configs/autobuild/br-openrisc-uclibc_defconfig              | 10 ++++++++++
 configs/autobuild/br-powerpc-603e-basic-cpp_defconfig       | 10 ++++++++++
 configs/autobuild/br-powerpc-e500mc-full_defconfig          | 11 +++++++++++
 configs/autobuild/br-powerpc-internal-full_defconfig        |  5 +++++
 configs/autobuild/br-powerpc64-power7-glibc_defconfig       |  9 +++++++++
 configs/autobuild/br-powerpc64le-power8-glibc_defconfig     |  9 +++++++++
 configs/autobuild/br-sh4-full_defconfig                     | 10 ++++++++++
 configs/autobuild/br-sparc-uclibc_defconfig                 |  9 +++++++++
 configs/autobuild/br-sparc64-glibc_defconfig                |  8 ++++++++
 configs/autobuild/br-x86-64-core2-full_defconfig            | 11 +++++++++++
 configs/autobuild/br-x86-64-musl_defconfig                  | 10 ++++++++++
 configs/autobuild/br-xtensa-full-internal_defconfig         |  4 ++++
 configs/autobuild/br-xtensa-full_defconfig                  |  9 +++++++++
 configs/autobuild/i686-ctng-linux-gnu_defconfig             | 10 ++++++++++
 configs/autobuild/linaro-aarch64_defconfig                  |  2 ++
 configs/autobuild/linaro-arm_defconfig                      |  4 ++++
 configs/autobuild/mips64el-ctng_n32-linux-gnu_defconfig     |  9 +++++++++
 configs/autobuild/mips64el-ctng_n64-linux-gnu_defconfig     | 11 +++++++++++
 .../autobuild/powerpc-ctng_e500v2-linux-gnuspe_defconfig    | 11 +++++++++++
 configs/autobuild/sourcery-arm-armv4t_defconfig             |  4 ++++
 configs/autobuild/sourcery-arm-thumb2_defconfig             |  6 ++++++
 configs/autobuild/sourcery-arm_defconfig                    |  3 +++
 configs/autobuild/sourcery-mips64_defconfig                 |  5 +++++
 configs/autobuild/sourcery-mips_defconfig                   |  4 ++++
 configs/autobuild/sourcery-nios2_defconfig                  |  2 ++
 configs/autobuild/sourcery-sh_defconfig                     |  4 ++++
 configs/autobuild/sourcery-x86-64_defconfig                 |  4 ++++
 configs/autobuild/sourcery-x86_defconfig                    |  3 +++
 configs/autobuild/x86_64-ctng_locales-linux-gnu_defconfig   | 11 +++++++++++
 54 files changed, 449 insertions(+)
 create mode 100644 configs/autobuild/armv5-ctng-linux-gnueabi_defconfig
 create mode 100644 configs/autobuild/armv7-ctng-linux-gnueabihf_defconfig
 create mode 100644 configs/autobuild/br-aarch64-glibc_defconfig
 create mode 100644 configs/autobuild/br-arc-full-internal_defconfig
 create mode 100644 configs/autobuild/br-arcle-hs38_defconfig
 create mode 100644 configs/autobuild/br-arm-basic_defconfig
 create mode 100644 configs/autobuild/br-arm-cortex-a9-glibc_defconfig
 create mode 100644 configs/autobuild/br-arm-cortex-a9-musl_defconfig
 create mode 100644 configs/autobuild/br-arm-cortex-m4-full_defconfig
 create mode 100644 configs/autobuild/br-arm-full-nothread_defconfig
 create mode 100644 configs/autobuild/br-arm-full-static_defconfig
 create mode 100644 configs/autobuild/br-arm-full_defconfig
 create mode 100644 configs/autobuild/br-arm-internal-full_defconfig
 create mode 100644 configs/autobuild/br-bfin-full_defconfig
 create mode 100644 configs/autobuild/br-i386-pentium-mmx-musl_defconfig
 create mode 100644 configs/autobuild/br-i386-pentium4-full_defconfig
 create mode 100644 configs/autobuild/br-m68k-5208-full_defconfig
 create mode 100644 configs/autobuild/br-m68k-68040-full_defconfig
 create mode 100644 configs/autobuild/br-microblazeel-full-internal_defconfig
 create mode 100644 configs/autobuild/br-microblazeel-full_defconfig
 create mode 100644 configs/autobuild/br-mips32r6-el-hf-glibc_defconfig
 create mode 100644 configs/autobuild/br-mips64-n64-full_defconfig
 create mode 100644 configs/autobuild/br-mips64r6-el-hf-glibc_defconfig
 create mode 100644 configs/autobuild/br-mipsel-o32-full_defconfig
 create mode 100644 configs/autobuild/br-nios2-glibc_defconfig
 create mode 100644 configs/autobuild/br-openrisc-uclibc_defconfig
 create mode 100644 configs/autobuild/br-powerpc-603e-basic-cpp_defconfig
 create mode 100644 configs/autobuild/br-powerpc-e500mc-full_defconfig
 create mode 100644 configs/autobuild/br-powerpc-internal-full_defconfig
 create mode 100644 configs/autobuild/br-powerpc64-power7-glibc_defconfig
 create mode 100644 configs/autobuild/br-powerpc64le-power8-glibc_defconfig
 create mode 100644 configs/autobuild/br-sh4-full_defconfig
 create mode 100644 configs/autobuild/br-sparc-uclibc_defconfig
 create mode 100644 configs/autobuild/br-sparc64-glibc_defconfig
 create mode 100644 configs/autobuild/br-x86-64-core2-full_defconfig
 create mode 100644 configs/autobuild/br-x86-64-musl_defconfig
 create mode 100644 configs/autobuild/br-xtensa-full-internal_defconfig
 create mode 100644 configs/autobuild/br-xtensa-full_defconfig
 create mode 100644 configs/autobuild/i686-ctng-linux-gnu_defconfig
 create mode 100644 configs/autobuild/linaro-aarch64_defconfig
 create mode 100644 configs/autobuild/linaro-arm_defconfig
 create mode 100644 configs/autobuild/mips64el-ctng_n32-linux-gnu_defconfig
 create mode 100644 configs/autobuild/mips64el-ctng_n64-linux-gnu_defconfig
 create mode 100644 configs/autobuild/powerpc-ctng_e500v2-linux-gnuspe_defconfig
 create mode 100644 configs/autobuild/sourcery-arm-armv4t_defconfig
 create mode 100644 configs/autobuild/sourcery-arm-thumb2_defconfig
 create mode 100644 configs/autobuild/sourcery-arm_defconfig
 create mode 100644 configs/autobuild/sourcery-mips64_defconfig
 create mode 100644 configs/autobuild/sourcery-mips_defconfig
 create mode 100644 configs/autobuild/sourcery-nios2_defconfig
 create mode 100644 configs/autobuild/sourcery-sh_defconfig
 create mode 100644 configs/autobuild/sourcery-x86-64_defconfig
 create mode 100644 configs/autobuild/sourcery-x86_defconfig
 create mode 100644 configs/autobuild/x86_64-ctng_locales-linux-gnu_defconfig

diff --git a/configs/autobuild/armv5-ctng-linux-gnueabi_defconfig b/configs/autobuild/armv5-ctng-linux-gnueabi_defconfig
new file mode 100644
index 0000000000..c2f4cb62ca
--- /dev/null
+++ b/configs/autobuild/armv5-ctng-linux-gnueabi_defconfig
@@ -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/configs/autobuild/armv7-ctng-linux-gnueabihf_defconfig b/configs/autobuild/armv7-ctng-linux-gnueabihf_defconfig
new file mode 100644
index 0000000000..60ec952940
--- /dev/null
+++ b/configs/autobuild/armv7-ctng-linux-gnueabihf_defconfig
@@ -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/configs/autobuild/br-aarch64-glibc_defconfig b/configs/autobuild/br-aarch64-glibc_defconfig
new file mode 100644
index 0000000000..1e7387aa29
--- /dev/null
+++ b/configs/autobuild/br-aarch64-glibc_defconfig
@@ -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/configs/autobuild/br-arc-full-internal_defconfig b/configs/autobuild/br-arc-full-internal_defconfig
new file mode 100644
index 0000000000..4755c9e45b
--- /dev/null
+++ b/configs/autobuild/br-arc-full-internal_defconfig
@@ -0,0 +1,3 @@
+BR2_arcle=y
+BR2_TOOLCHAIN_BUILDROOT_LOCALE=y
+BR2_TOOLCHAIN_BUILDROOT_CXX=y
diff --git a/configs/autobuild/br-arcle-hs38_defconfig b/configs/autobuild/br-arcle-hs38_defconfig
new file mode 100644
index 0000000000..ab5476c51f
--- /dev/null
+++ b/configs/autobuild/br-arcle-hs38_defconfig
@@ -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/configs/autobuild/br-arm-basic_defconfig b/configs/autobuild/br-arm-basic_defconfig
new file mode 100644
index 0000000000..676ffb0ebf
--- /dev/null
+++ b/configs/autobuild/br-arm-basic_defconfig
@@ -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/configs/autobuild/br-arm-cortex-a9-glibc_defconfig b/configs/autobuild/br-arm-cortex-a9-glibc_defconfig
new file mode 100644
index 0000000000..919a062b58
--- /dev/null
+++ b/configs/autobuild/br-arm-cortex-a9-glibc_defconfig
@@ -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/configs/autobuild/br-arm-cortex-a9-musl_defconfig b/configs/autobuild/br-arm-cortex-a9-musl_defconfig
new file mode 100644
index 0000000000..7bd0f4ed10
--- /dev/null
+++ b/configs/autobuild/br-arm-cortex-a9-musl_defconfig
@@ -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/configs/autobuild/br-arm-cortex-m4-full_defconfig b/configs/autobuild/br-arm-cortex-m4-full_defconfig
new file mode 100644
index 0000000000..228de9f514
--- /dev/null
+++ b/configs/autobuild/br-arm-cortex-m4-full_defconfig
@@ -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/configs/autobuild/br-arm-full-nothread_defconfig b/configs/autobuild/br-arm-full-nothread_defconfig
new file mode 100644
index 0000000000..9942453bb2
--- /dev/null
+++ b/configs/autobuild/br-arm-full-nothread_defconfig
@@ -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/configs/autobuild/br-arm-full-static_defconfig b/configs/autobuild/br-arm-full-static_defconfig
new file mode 100644
index 0000000000..b343c3f076
--- /dev/null
+++ b/configs/autobuild/br-arm-full-static_defconfig
@@ -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/configs/autobuild/br-arm-full_defconfig b/configs/autobuild/br-arm-full_defconfig
new file mode 100644
index 0000000000..736dea6d6d
--- /dev/null
+++ b/configs/autobuild/br-arm-full_defconfig
@@ -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/configs/autobuild/br-arm-internal-full_defconfig b/configs/autobuild/br-arm-internal-full_defconfig
new file mode 100644
index 0000000000..2e70534882
--- /dev/null
+++ b/configs/autobuild/br-arm-internal-full_defconfig
@@ -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/configs/autobuild/br-bfin-full_defconfig b/configs/autobuild/br-bfin-full_defconfig
new file mode 100644
index 0000000000..dde98379fa
--- /dev/null
+++ b/configs/autobuild/br-bfin-full_defconfig
@@ -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/configs/autobuild/br-i386-pentium-mmx-musl_defconfig b/configs/autobuild/br-i386-pentium-mmx-musl_defconfig
new file mode 100644
index 0000000000..14aa0d6f42
--- /dev/null
+++ b/configs/autobuild/br-i386-pentium-mmx-musl_defconfig
@@ -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/configs/autobuild/br-i386-pentium4-full_defconfig b/configs/autobuild/br-i386-pentium4-full_defconfig
new file mode 100644
index 0000000000..919c64839e
--- /dev/null
+++ b/configs/autobuild/br-i386-pentium4-full_defconfig
@@ -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/configs/autobuild/br-m68k-5208-full_defconfig b/configs/autobuild/br-m68k-5208-full_defconfig
new file mode 100644
index 0000000000..4b31fe7c4d
--- /dev/null
+++ b/configs/autobuild/br-m68k-5208-full_defconfig
@@ -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/configs/autobuild/br-m68k-68040-full_defconfig b/configs/autobuild/br-m68k-68040-full_defconfig
new file mode 100644
index 0000000000..816ee1af08
--- /dev/null
+++ b/configs/autobuild/br-m68k-68040-full_defconfig
@@ -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/configs/autobuild/br-microblazeel-full-internal_defconfig b/configs/autobuild/br-microblazeel-full-internal_defconfig
new file mode 100644
index 0000000000..0d2d7df8f1
--- /dev/null
+++ b/configs/autobuild/br-microblazeel-full-internal_defconfig
@@ -0,0 +1 @@
+BR2_microblazeel=y
diff --git a/configs/autobuild/br-microblazeel-full_defconfig b/configs/autobuild/br-microblazeel-full_defconfig
new file mode 100644
index 0000000000..057b80fe45
--- /dev/null
+++ b/configs/autobuild/br-microblazeel-full_defconfig
@@ -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/configs/autobuild/br-mips32r6-el-hf-glibc_defconfig b/configs/autobuild/br-mips32r6-el-hf-glibc_defconfig
new file mode 100644
index 0000000000..3f47ea499c
--- /dev/null
+++ b/configs/autobuild/br-mips32r6-el-hf-glibc_defconfig
@@ -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/configs/autobuild/br-mips64-n64-full_defconfig b/configs/autobuild/br-mips64-n64-full_defconfig
new file mode 100644
index 0000000000..be287b4144
--- /dev/null
+++ b/configs/autobuild/br-mips64-n64-full_defconfig
@@ -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/configs/autobuild/br-mips64r6-el-hf-glibc_defconfig b/configs/autobuild/br-mips64r6-el-hf-glibc_defconfig
new file mode 100644
index 0000000000..bdb709d5b5
--- /dev/null
+++ b/configs/autobuild/br-mips64r6-el-hf-glibc_defconfig
@@ -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/configs/autobuild/br-mipsel-o32-full_defconfig b/configs/autobuild/br-mipsel-o32-full_defconfig
new file mode 100644
index 0000000000..e648b6bdc0
--- /dev/null
+++ b/configs/autobuild/br-mipsel-o32-full_defconfig
@@ -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/configs/autobuild/br-nios2-glibc_defconfig b/configs/autobuild/br-nios2-glibc_defconfig
new file mode 100644
index 0000000000..6500fcc781
--- /dev/null
+++ b/configs/autobuild/br-nios2-glibc_defconfig
@@ -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/configs/autobuild/br-openrisc-uclibc_defconfig b/configs/autobuild/br-openrisc-uclibc_defconfig
new file mode 100644
index 0000000000..40e3af1e83
--- /dev/null
+++ b/configs/autobuild/br-openrisc-uclibc_defconfig
@@ -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/configs/autobuild/br-powerpc-603e-basic-cpp_defconfig b/configs/autobuild/br-powerpc-603e-basic-cpp_defconfig
new file mode 100644
index 0000000000..58523723c9
--- /dev/null
+++ b/configs/autobuild/br-powerpc-603e-basic-cpp_defconfig
@@ -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/configs/autobuild/br-powerpc-e500mc-full_defconfig b/configs/autobuild/br-powerpc-e500mc-full_defconfig
new file mode 100644
index 0000000000..43b4c8c0a9
--- /dev/null
+++ b/configs/autobuild/br-powerpc-e500mc-full_defconfig
@@ -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/configs/autobuild/br-powerpc-internal-full_defconfig b/configs/autobuild/br-powerpc-internal-full_defconfig
new file mode 100644
index 0000000000..2621e9fb41
--- /dev/null
+++ b/configs/autobuild/br-powerpc-internal-full_defconfig
@@ -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/configs/autobuild/br-powerpc64-power7-glibc_defconfig b/configs/autobuild/br-powerpc64-power7-glibc_defconfig
new file mode 100644
index 0000000000..5c56a0d453
--- /dev/null
+++ b/configs/autobuild/br-powerpc64-power7-glibc_defconfig
@@ -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/configs/autobuild/br-powerpc64le-power8-glibc_defconfig b/configs/autobuild/br-powerpc64le-power8-glibc_defconfig
new file mode 100644
index 0000000000..e11c22fa87
--- /dev/null
+++ b/configs/autobuild/br-powerpc64le-power8-glibc_defconfig
@@ -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/configs/autobuild/br-sh4-full_defconfig b/configs/autobuild/br-sh4-full_defconfig
new file mode 100644
index 0000000000..593d813227
--- /dev/null
+++ b/configs/autobuild/br-sh4-full_defconfig
@@ -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/configs/autobuild/br-sparc-uclibc_defconfig b/configs/autobuild/br-sparc-uclibc_defconfig
new file mode 100644
index 0000000000..b5d3556e55
--- /dev/null
+++ b/configs/autobuild/br-sparc-uclibc_defconfig
@@ -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/configs/autobuild/br-sparc64-glibc_defconfig b/configs/autobuild/br-sparc64-glibc_defconfig
new file mode 100644
index 0000000000..a7fa8b525d
--- /dev/null
+++ b/configs/autobuild/br-sparc64-glibc_defconfig
@@ -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/configs/autobuild/br-x86-64-core2-full_defconfig b/configs/autobuild/br-x86-64-core2-full_defconfig
new file mode 100644
index 0000000000..d680b1466c
--- /dev/null
+++ b/configs/autobuild/br-x86-64-core2-full_defconfig
@@ -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/configs/autobuild/br-x86-64-musl_defconfig b/configs/autobuild/br-x86-64-musl_defconfig
new file mode 100644
index 0000000000..f2bbcb32d1
--- /dev/null
+++ b/configs/autobuild/br-x86-64-musl_defconfig
@@ -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/configs/autobuild/br-xtensa-full-internal_defconfig b/configs/autobuild/br-xtensa-full-internal_defconfig
new file mode 100644
index 0000000000..f642a4d76b
--- /dev/null
+++ b/configs/autobuild/br-xtensa-full-internal_defconfig
@@ -0,0 +1,4 @@
+BR2_xtensa=y
+BR2_JLEVEL=8
+BR2_TOOLCHAIN_BUILDROOT_LOCALE=y
+BR2_TOOLCHAIN_BUILDROOT_CXX=y
diff --git a/configs/autobuild/br-xtensa-full_defconfig b/configs/autobuild/br-xtensa-full_defconfig
new file mode 100644
index 0000000000..c56393e306
--- /dev/null
+++ b/configs/autobuild/br-xtensa-full_defconfig
@@ -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/configs/autobuild/i686-ctng-linux-gnu_defconfig b/configs/autobuild/i686-ctng-linux-gnu_defconfig
new file mode 100644
index 0000000000..9a961123c3
--- /dev/null
+++ b/configs/autobuild/i686-ctng-linux-gnu_defconfig
@@ -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/configs/autobuild/linaro-aarch64_defconfig b/configs/autobuild/linaro-aarch64_defconfig
new file mode 100644
index 0000000000..bb466f384b
--- /dev/null
+++ b/configs/autobuild/linaro-aarch64_defconfig
@@ -0,0 +1,2 @@
+BR2_aarch64=y
+BR2_TOOLCHAIN_EXTERNAL=y
diff --git a/configs/autobuild/linaro-arm_defconfig b/configs/autobuild/linaro-arm_defconfig
new file mode 100644
index 0000000000..91149a7d1d
--- /dev/null
+++ b/configs/autobuild/linaro-arm_defconfig
@@ -0,0 +1,4 @@
+BR2_arm=y
+BR2_cortex_a8=y
+BR2_ARM_EABIHF=y
+BR2_TOOLCHAIN_EXTERNAL=y
diff --git a/configs/autobuild/mips64el-ctng_n32-linux-gnu_defconfig b/configs/autobuild/mips64el-ctng_n32-linux-gnu_defconfig
new file mode 100644
index 0000000000..cf33ea26f3
--- /dev/null
+++ b/configs/autobuild/mips64el-ctng_n32-linux-gnu_defconfig
@@ -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/configs/autobuild/mips64el-ctng_n64-linux-gnu_defconfig b/configs/autobuild/mips64el-ctng_n64-linux-gnu_defconfig
new file mode 100644
index 0000000000..942a1b13b5
--- /dev/null
+++ b/configs/autobuild/mips64el-ctng_n64-linux-gnu_defconfig
@@ -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/configs/autobuild/powerpc-ctng_e500v2-linux-gnuspe_defconfig b/configs/autobuild/powerpc-ctng_e500v2-linux-gnuspe_defconfig
new file mode 100644
index 0000000000..e82d3fbda7
--- /dev/null
+++ b/configs/autobuild/powerpc-ctng_e500v2-linux-gnuspe_defconfig
@@ -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/configs/autobuild/sourcery-arm-armv4t_defconfig b/configs/autobuild/sourcery-arm-armv4t_defconfig
new file mode 100644
index 0000000000..4c0e01fecb
--- /dev/null
+++ b/configs/autobuild/sourcery-arm-armv4t_defconfig
@@ -0,0 +1,4 @@
+BR2_arm=y
+BR2_arm920t=y
+BR2_TOOLCHAIN_EXTERNAL=y
+BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM=y
diff --git a/configs/autobuild/sourcery-arm-thumb2_defconfig b/configs/autobuild/sourcery-arm-thumb2_defconfig
new file mode 100644
index 0000000000..14b64b7892
--- /dev/null
+++ b/configs/autobuild/sourcery-arm-thumb2_defconfig
@@ -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/configs/autobuild/sourcery-arm_defconfig b/configs/autobuild/sourcery-arm_defconfig
new file mode 100644
index 0000000000..8ade4647f2
--- /dev/null
+++ b/configs/autobuild/sourcery-arm_defconfig
@@ -0,0 +1,3 @@
+BR2_arm=y
+BR2_TOOLCHAIN_EXTERNAL=y
+BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM=y
diff --git a/configs/autobuild/sourcery-mips64_defconfig b/configs/autobuild/sourcery-mips64_defconfig
new file mode 100644
index 0000000000..77e3a853e1
--- /dev/null
+++ b/configs/autobuild/sourcery-mips64_defconfig
@@ -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/configs/autobuild/sourcery-mips_defconfig b/configs/autobuild/sourcery-mips_defconfig
new file mode 100644
index 0000000000..103e20bfc2
--- /dev/null
+++ b/configs/autobuild/sourcery-mips_defconfig
@@ -0,0 +1,4 @@
+BR2_mips=y
+BR2_mips_32r2=y
+BR2_TOOLCHAIN_EXTERNAL=y
+BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_MIPS=y
diff --git a/configs/autobuild/sourcery-nios2_defconfig b/configs/autobuild/sourcery-nios2_defconfig
new file mode 100644
index 0000000000..0124413d9f
--- /dev/null
+++ b/configs/autobuild/sourcery-nios2_defconfig
@@ -0,0 +1,2 @@
+BR2_nios2=y
+BR2_TOOLCHAIN_EXTERNAL=y
diff --git a/configs/autobuild/sourcery-sh_defconfig b/configs/autobuild/sourcery-sh_defconfig
new file mode 100644
index 0000000000..515fc8fbb1
--- /dev/null
+++ b/configs/autobuild/sourcery-sh_defconfig
@@ -0,0 +1,4 @@
+BR2_sh=y
+BR2_sh4a=y
+BR2_TOOLCHAIN_EXTERNAL=y
+BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_SH=y
diff --git a/configs/autobuild/sourcery-x86-64_defconfig b/configs/autobuild/sourcery-x86-64_defconfig
new file mode 100644
index 0000000000..6c7ad4c5b7
--- /dev/null
+++ b/configs/autobuild/sourcery-x86-64_defconfig
@@ -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/configs/autobuild/sourcery-x86_defconfig b/configs/autobuild/sourcery-x86_defconfig
new file mode 100644
index 0000000000..ad629f626b
--- /dev/null
+++ b/configs/autobuild/sourcery-x86_defconfig
@@ -0,0 +1,3 @@
+BR2_x86_pentium4=y
+BR2_TOOLCHAIN_EXTERNAL=y
+BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_X86=y
diff --git a/configs/autobuild/x86_64-ctng_locales-linux-gnu_defconfig b/configs/autobuild/x86_64-ctng_locales-linux-gnu_defconfig
new file mode 100644
index 0000000000..435034be27
--- /dev/null
+++ b/configs/autobuild/x86_64-ctng_locales-linux-gnu_defconfig
@@ -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] 25+ messages in thread

* [Buildroot] [PATCH v5 07/13] support/test-pkg: move minimal.config into a separate file
  2017-04-06 18:18 [Buildroot] [PATCH v5 00/13] support/test-pkg: fixes and enhancements + add autobuild defconfigs Arnout Vandecappelle
                   ` (5 preceding siblings ...)
  2017-04-06 18:18 ` [Buildroot] [PATCH v5 06/13] configs: add autobuild toolchain defconfigs Arnout Vandecappelle
@ 2017-04-06 18:18 ` Arnout Vandecappelle
  2017-04-06 18:18 ` [Buildroot] [PATCH v5 08/13] support/test-pkg: get configs from buildroot defconfigs Arnout Vandecappelle
                   ` (5 subsequent siblings)
  12 siblings, 0 replies; 25+ messages in thread
From: Arnout Vandecappelle @ 2017-04-06 18:18 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>
---
 support/misc/minimal.config | 6 ++++++
 support/scripts/test-pkg    | 8 +-------
 2 files changed, 7 insertions(+), 7 deletions(-)
 create mode 100644 support/misc/minimal.config

diff --git a/support/misc/minimal.config b/support/misc/minimal.config
new file mode 100644
index 0000000000..0f20847f6d
--- /dev/null
+++ b/support/misc/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 0d093e8c2f..67f88ec380 100755
--- a/support/scripts/test-pkg
+++ b/support/scripts/test-pkg
@@ -99,13 +99,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/misc/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] 25+ messages in thread

* [Buildroot] [PATCH v5 08/13] support/test-pkg: get configs from buildroot defconfigs
  2017-04-06 18:18 [Buildroot] [PATCH v5 00/13] support/test-pkg: fixes and enhancements + add autobuild defconfigs Arnout Vandecappelle
                   ` (6 preceding siblings ...)
  2017-04-06 18:18 ` [Buildroot] [PATCH v5 07/13] support/test-pkg: move minimal.config into a separate file Arnout Vandecappelle
@ 2017-04-06 18:18 ` Arnout Vandecappelle
  2017-04-06 19:37   ` Thomas Petazzoni
  2017-04-06 18:18 ` [Buildroot] [PATCH v5 09/13] support/test-pkg: add option to use an alternate toolchain directory Arnout Vandecappelle
                   ` (4 subsequent siblings)
  12 siblings, 1 reply; 25+ messages in thread
From: Arnout Vandecappelle @ 2017-04-06 18:18 UTC (permalink / raw)
  To: buildroot

Now we have the toolchain configs 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>
---
 support/scripts/test-pkg | 29 +++++++++++++----------------
 1 file changed, 13 insertions(+), 16 deletions(-)

diff --git a/support/scripts/test-pkg b/support/scripts/test-pkg
index 67f88ec380..f86d266e6a 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=configs/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}"/*_defconfig \
+                  |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
@@ -72,7 +71,7 @@ main() {
     for toolchainconfig in "${toolchains[@]}"; do
         : $((nb++))
         # Using basename(1) on a URL works nicely
-        toolchain="$(basename "${toolchainconfig}" .config)"
+        toolchain="$(basename "${toolchainconfig}" _defconfig)"
         build_dir="${dir}/${toolchain}"
         mkdir -p "${build_dir}"
         printf "%40s [%*d/%d]: " "${toolchain}" ${#nb_tc} ${nb} ${nb_tc}
@@ -91,15 +90,11 @@ main() {
 
 build_one() {
     local dir="${1}"
-    local url="${2}"
+    local toolchainconfig="${2}"
     local cfg="${3}"
     local pkg="${4}"
 
-    if ! curl -s "${url}" >"${dir}/.config"; then
-        return 2
-    fi
-
-    cat "support/misc/minimal.config" "${cfg}" >>"${dir}/.config"
+    cat "${toolchainconfig}" "support/misc/minimal.config" "${cfg}" >>"${dir}/.config"
 
     if ! make O="${dir}" olddefconfig > "${dir}/logfile" 2>&1; then
         return 2
@@ -151,8 +146,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 defconfig file 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] 25+ messages in thread

* [Buildroot] [PATCH v5 09/13] support/test-pkg: add option to use an alternate toolchain directory
  2017-04-06 18:18 [Buildroot] [PATCH v5 00/13] support/test-pkg: fixes and enhancements + add autobuild defconfigs Arnout Vandecappelle
                   ` (7 preceding siblings ...)
  2017-04-06 18:18 ` [Buildroot] [PATCH v5 08/13] support/test-pkg: get configs from buildroot defconfigs Arnout Vandecappelle
@ 2017-04-06 18:18 ` Arnout Vandecappelle
  2017-04-06 18:18 ` [Buildroot] [PATCH v5 10/13] Makefile: refactor *config targets Arnout Vandecappelle
                   ` (3 subsequent siblings)
  12 siblings, 0 replies; 25+ messages in thread
From: Arnout Vandecappelle @ 2017-04-06 18:18 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 defconfigs
of toolchains to try.

Cc: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
---
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 f86d266e6a..d7f5cbe8cf 100755
--- a/support/scripts/test-pkg
+++ b/support/scripts/test-pkg
@@ -5,16 +5,17 @@ TOOLCHAINS_DIR=configs/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}"/*_defconfig \
+    toolchains=($(ls -1 "${toolchains_dir}"/*_defconfig 2>/dev/null \
                   |xargs -r grep -l -F -x "BR2_TOOLCHAIN_EXTERNAL=y" \
                   |if [ ${random} -gt 0 ]; then \
                       sort -R |head -n ${random}
@@ -149,7 +153,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 defconfig file 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 defconfigs of toolchains to try can be specified with the -t
+option. These defconfigs should contain only the toolchain and architecture
+settings. Again, only defconfigs which specify an external toolchain will
+be tried.
 
 Options:
 
@@ -171,6 +179,10 @@ Options:
         Limit the tests to the N randomly selected toolchains, instead of
         building with all toolchains.
 
+    -t DIR, --toolchain-dir DIR
+        Directory containing defconfigs 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] 25+ messages in thread

* [Buildroot] [PATCH v5 10/13] Makefile: refactor *config targets
  2017-04-06 18:18 [Buildroot] [PATCH v5 00/13] support/test-pkg: fixes and enhancements + add autobuild defconfigs Arnout Vandecappelle
                   ` (8 preceding siblings ...)
  2017-04-06 18:18 ` [Buildroot] [PATCH v5 09/13] support/test-pkg: add option to use an alternate toolchain directory Arnout Vandecappelle
@ 2017-04-06 18:18 ` Arnout Vandecappelle
  2017-04-06 18:18 ` [Buildroot] [PATCH v5 11/13] Makefile: add alldefconfig target Arnout Vandecappelle
                   ` (2 subsequent siblings)
  12 siblings, 0 replies; 25+ messages in thread
From: Arnout Vandecappelle @ 2017-04-06 18:18 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>
---
 Makefile | 42 ++++++------------------------------------
 1 file changed, 6 insertions(+), 36 deletions(-)

diff --git a/Makefile b/Makefile
index 1d377099b2..89eb748df6 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] 25+ messages in thread

* [Buildroot] [PATCH v5 11/13] Makefile: add alldefconfig target
  2017-04-06 18:18 [Buildroot] [PATCH v5 00/13] support/test-pkg: fixes and enhancements + add autobuild defconfigs Arnout Vandecappelle
                   ` (9 preceding siblings ...)
  2017-04-06 18:18 ` [Buildroot] [PATCH v5 10/13] Makefile: refactor *config targets Arnout Vandecappelle
@ 2017-04-06 18:18 ` Arnout Vandecappelle
  2017-04-06 18:18 ` [Buildroot] [PATCH v5 12/13] support/test-pkg: use merge_config.sh to merge the fragments Arnout Vandecappelle
  2017-04-06 18:18 ` [Buildroot] [PATCH v5 13/13] [RFC] list-defconfigs: support defconfigs in subdirectories Arnout Vandecappelle
  12 siblings, 0 replies; 25+ messages in thread
From: Arnout Vandecappelle @ 2017-04-06 18:18 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>
---
 Makefile | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/Makefile b/Makefile
index 89eb748df6..b68e464da6 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
 
@@ -957,6 +957,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] 25+ messages in thread

* [Buildroot] [PATCH v5 12/13] support/test-pkg: use merge_config.sh to merge the fragments
  2017-04-06 18:18 [Buildroot] [PATCH v5 00/13] support/test-pkg: fixes and enhancements + add autobuild defconfigs Arnout Vandecappelle
                   ` (10 preceding siblings ...)
  2017-04-06 18:18 ` [Buildroot] [PATCH v5 11/13] Makefile: add alldefconfig target Arnout Vandecappelle
@ 2017-04-06 18:18 ` Arnout Vandecappelle
  2017-04-06 18:18 ` [Buildroot] [PATCH v5 13/13] [RFC] list-defconfigs: support defconfigs in subdirectories Arnout Vandecappelle
  12 siblings, 0 replies; 25+ messages in thread
From: Arnout Vandecappelle @ 2017-04-06 18:18 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>
---
 support/scripts/test-pkg | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/support/scripts/test-pkg b/support/scripts/test-pkg
index d7f5cbe8cf..383e018c63 100755
--- a/support/scripts/test-pkg
+++ b/support/scripts/test-pkg
@@ -98,11 +98,9 @@ build_one() {
     local cfg="${3}"
     local pkg="${4}"
 
-    cat "${toolchainconfig}" "support/misc/minimal.config" "${cfg}" >>"${dir}/.config"
+    support/kconfig/merge_config.sh -O "${dir}" \
+        "${toolchainconfig}" "support/misc/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] 25+ messages in thread

* [Buildroot] [PATCH v5 13/13] [RFC] list-defconfigs: support defconfigs in subdirectories
  2017-04-06 18:18 [Buildroot] [PATCH v5 00/13] support/test-pkg: fixes and enhancements + add autobuild defconfigs Arnout Vandecappelle
                   ` (11 preceding siblings ...)
  2017-04-06 18:18 ` [Buildroot] [PATCH v5 12/13] support/test-pkg: use merge_config.sh to merge the fragments Arnout Vandecappelle
@ 2017-04-06 18:18 ` Arnout Vandecappelle
  12 siblings, 0 replies; 25+ messages in thread
From: Arnout Vandecappelle @ 2017-04-06 18:18 UTC (permalink / raw)
  To: buildroot

Now defconfigs in subdirectories are supported, list-defconfigs should
also report them.

The obvious way to do this would be to use

	find $(1)/configs -name \*_defconfig

However, it is difficult to keep its output sorted properly: we don't
want defconfigs in subdirectories to appear intermingled with the rest.

The output tends to become a little bit messy, because defconfigs in
subdirectories will typically need more than 35 characters. If we can
find a solution for that, it can be done in a later patch.

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
---
With the ugly output, and the uglification of the code, I'm not entirely
sure that we really want this patch.
---
 Makefile | 24 +++++++++++++-----------
 1 file changed, 13 insertions(+), 11 deletions(-)

diff --git a/Makefile b/Makefile
index b68e464da6..186e8b6d88 100644
--- a/Makefile
+++ b/Makefile
@@ -1013,18 +1013,20 @@ help:
 # $(2): br2-external name, empty for bundled
 define list-defconfigs
 	@first=true; \
-	for defconfig in $(1)/configs/*_defconfig; do \
-		[ -f "$${defconfig}" ] || continue; \
-		if $${first}; then \
-			if [ "$(2)" ]; then \
-				printf 'External configs in "$(call qstrip,$(2))":\n'; \
-			else \
-				printf "Built-in configs:\n"; \
+	for dir in `find $(1)/configs/ -type d`; do \
+		for defconfig in $${dir}/*_defconfig; do \
+			[ -f "$${defconfig}" ] || continue; \
+			if $${first}; then \
+				if [ "$(2)" ]; then \
+					printf 'External configs in "$(call qstrip,$(2))":\n'; \
+				else \
+					printf "Built-in configs:\n"; \
+				fi; \
+				first=false; \
 			fi; \
-			first=false; \
-		fi; \
-		defconfig="$${defconfig##*/}"; \
-		printf "  %-35s - Build for %s\n" "$${defconfig}" "$${defconfig%_defconfig}"; \
+			defconfig="$${defconfig##$(1)/configs/}"; \
+			printf "  %-35s - Build for %s\n" "$${defconfig}" "$${defconfig%_defconfig}"; \
+		done; \
 	done; \
 	$${first} || printf "\n"
 endef
-- 
2.11.0

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

* [Buildroot] [PATCH v5 08/13] support/test-pkg: get configs from buildroot defconfigs
  2017-04-06 18:18 ` [Buildroot] [PATCH v5 08/13] support/test-pkg: get configs from buildroot defconfigs Arnout Vandecappelle
@ 2017-04-06 19:37   ` Thomas Petazzoni
  2017-04-06 20:48     ` Yann E. MORIN
  0 siblings, 1 reply; 25+ messages in thread
From: Thomas Petazzoni @ 2017-04-06 19:37 UTC (permalink / raw)
  To: buildroot

Hello,

On Thu, 6 Apr 2017 20:18:48 +0200, Arnout Vandecappelle
(Essensium/Mind) wrote:
> Now we have the toolchain configs 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>

On the principle, I am OK with this direction, but it is needs to be
coordinated with a change to autobuild-run to also use the base
autobuild defconfigs from the Buildroot tree. Otherwise, we will have
two copies: one used by people running test-pkg, one used by the actual
autobuilders. It is not difficult to see those two copies quickly
getting out of sync.

Best regards,

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

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

* [Buildroot] [PATCH v5 01/13] docs/manual: document the test-pkg script
  2017-04-06 18:18 ` [Buildroot] [PATCH v5 01/13] docs/manual: document the test-pkg script Arnout Vandecappelle
@ 2017-04-06 19:51   ` Thomas Petazzoni
  0 siblings, 0 replies; 25+ messages in thread
From: Thomas Petazzoni @ 2017-04-06 19:51 UTC (permalink / raw)
  To: buildroot

Hello,

On Thu, 6 Apr 2017 20:18:41 +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 v4 -> v5:
>   Yann:
>   - enhance the description for SKIPPED  (Thomas)
>   - typoes  (Thomas)
>   Arnout:
>   - additional fixes of typing and wording
> ---
>  docs/manual/adding-packages-tips.txt | 93 ++++++++++++++++++++++++++++++++++++
>  docs/manual/adding-packages.txt      |  3 ++
>  2 files changed, 96 insertions(+)

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] 25+ messages in thread

* [Buildroot] [PATCH v5 02/13] support/test-pkg: print number of toolchains and progress
  2017-04-06 18:18 ` [Buildroot] [PATCH v5 02/13] support/test-pkg: print number of toolchains and progress Arnout Vandecappelle
@ 2017-04-06 19:51   ` Thomas Petazzoni
  0 siblings, 0 replies; 25+ messages in thread
From: Thomas Petazzoni @ 2017-04-06 19:51 UTC (permalink / raw)
  To: buildroot

Hello,

On Thu, 6 Apr 2017 20:18:42 +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>
> Cc: Thomas De Schampheleire <patrickdepinguin@gmail.com>
> Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
> ---
> Changes v4 -> v5 by Arnout:
>   - toolchain -> toolchains in commit message
>   - rebase
> ---
>  docs/manual/adding-packages-tips.txt | 22 +++++++++++-----------
>  support/scripts/test-pkg             | 24 +++++++++---------------
>  2 files changed, 20 insertions(+), 26 deletions(-)

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] 25+ messages in thread

* [Buildroot] [PATCH v5 06/13] configs: add autobuild toolchain defconfigs
  2017-04-06 18:18 ` [Buildroot] [PATCH v5 06/13] configs: add autobuild toolchain defconfigs Arnout Vandecappelle
@ 2017-04-06 19:55   ` Thomas Petazzoni
  2017-04-06 20:39     ` Arnout Vandecappelle
  0 siblings, 1 reply; 25+ messages in thread
From: Thomas Petazzoni @ 2017-04-06 19:55 UTC (permalink / raw)
  To: buildroot

Hello,

On Thu, 6 Apr 2017 20:18:46 +0200, Arnout Vandecappelle
(Essensium/Mind) wrote:

> Note: I choose to name them xxx_defconfig and put them under to configs
> directory so they can be used directly as a quick way to set up a build
> with an external toolchain. However, neither test-pkg nor autobuild-run
> will use them as _defconfig, so we could just as well call them *.config
> and put them under e.g. support/autobuild-toolchains. Let me know what
> you think.

It's not a fully clear-cut opinion, but I believe I have a preference
for having those in support/<something>/ rather than as official
defconfigs.

I don't think it makes much sense to advertise them as defconfigs.
Those base configurations are very specialized, some of them use
completely stupid toolchain configurations (ARM no thread, really?)
that only exist for the sake of testing various combinations of
toolchain features. So making those visible to random users along with
real defconfigs for boards doesn't seem like a good idea.

Plus it avoids the need to support defconfigs in subfolders (even
though I guess you went through great lengths to workaround make
stupidity about how patterns without slashes are handled), and the big
question of your last RFC patch on how to display them in
"list-defconfigs".

Best regards,

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

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

* [Buildroot] [PATCH v5 06/13] configs: add autobuild toolchain defconfigs
  2017-04-06 19:55   ` Thomas Petazzoni
@ 2017-04-06 20:39     ` Arnout Vandecappelle
  0 siblings, 0 replies; 25+ messages in thread
From: Arnout Vandecappelle @ 2017-04-06 20:39 UTC (permalink / raw)
  To: buildroot



On 06-04-17 21:55, Thomas Petazzoni wrote:
> Hello,
> 
> On Thu, 6 Apr 2017 20:18:46 +0200, Arnout Vandecappelle
> (Essensium/Mind) wrote:
> 
>> Note: I choose to name them xxx_defconfig and put them under to configs
>> directory so they can be used directly as a quick way to set up a build
>> with an external toolchain. However, neither test-pkg nor autobuild-run
>> will use them as _defconfig, so we could just as well call them *.config
>> and put them under e.g. support/autobuild-toolchains. Let me know what
>> you think.
> 
> It's not a fully clear-cut opinion, but I believe I have a preference
> for having those in support/<something>/ rather than as official
> defconfigs.
> 
> I don't think it makes much sense to advertise them as defconfigs.
> Those base configurations are very specialized, some of them use
> completely stupid toolchain configurations (ARM no thread, really?)
> that only exist for the sake of testing various combinations of
> toolchain features. So making those visible to random users along with
> real defconfigs for boards doesn't seem like a good idea.
> 
> Plus it avoids the need to support defconfigs in subfolders (even
> though I guess you went through great lengths to workaround make
> stupidity about how patterns without slashes are handled), and the big
> question of your last RFC patch on how to display them in
> "list-defconfigs".

 Yeah, it's only at the last minute that I realized that there was no need for
them to be defconfigs. So at that point I just reworded the commit message and
pressed send :-)

 Regards,
 Arnout

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

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

* [Buildroot] [PATCH v5 08/13] support/test-pkg: get configs from buildroot defconfigs
  2017-04-06 19:37   ` Thomas Petazzoni
@ 2017-04-06 20:48     ` Yann E. MORIN
  2017-04-06 20:50       ` Thomas Petazzoni
  0 siblings, 1 reply; 25+ messages in thread
From: Yann E. MORIN @ 2017-04-06 20:48 UTC (permalink / raw)
  To: buildroot

Thomas, All,

On 2017-04-06 21:37 +0200, Thomas Petazzoni spake thusly:
> On Thu, 6 Apr 2017 20:18:48 +0200, Arnout Vandecappelle
> (Essensium/Mind) wrote:
> > Now we have the toolchain configs 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>
> 
> On the principle, I am OK with this direction, but it is needs to be
> coordinated with a change to autobuild-run to also use the base
> autobuild defconfigs from the Buildroot tree. Otherwise, we will have
> two copies: one used by people running test-pkg, one used by the actual
> autobuilders. It is not difficult to see those two copies quickly
> getting out of sync.

I think the idea is not to sync, but to get rid of the toolchain configs
in autobuild-run altogether, and only use those in the Buildroot tree.

Regards,
Yann E. MORIN.

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

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

* [Buildroot] [PATCH v5 08/13] support/test-pkg: get configs from buildroot defconfigs
  2017-04-06 20:48     ` Yann E. MORIN
@ 2017-04-06 20:50       ` Thomas Petazzoni
  2017-04-07 10:35         ` Arnout Vandecappelle
  0 siblings, 1 reply; 25+ messages in thread
From: Thomas Petazzoni @ 2017-04-06 20:50 UTC (permalink / raw)
  To: buildroot

Hello,

On Thu, 6 Apr 2017 22:48:04 +0200, Yann E. MORIN wrote:

> > On the principle, I am OK with this direction, but it is needs to be
> > coordinated with a change to autobuild-run to also use the base
> > autobuild defconfigs from the Buildroot tree. Otherwise, we will have
> > two copies: one used by people running test-pkg, one used by the actual
> > autobuilders. It is not difficult to see those two copies quickly
> > getting out of sync.  
> 
> I think the idea is not to sync, but to get rid of the toolchain configs
> in autobuild-run altogether, and only use those in the Buildroot tree.

Huh, you must have misunderstood what I wrote, or it wasn't clear.

My point was precisely that we want to avoid sync'ing them. But to
achieve that the autobuild-run script needs to be changed to use base
toolchain configs from the Buildroot tree rather than through the
CSV file downloaded from autobuild.b.o. And I'm exactly saying that we
need to change the autobuild-run script at the same time as we move
base toolchain configs in the tree, otherwise we have duplication.

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

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

* [Buildroot] [PATCH v5 03/13] support/test-pkg: calculate toolchain name only once
  2017-04-06 18:18 ` [Buildroot] [PATCH v5 03/13] support/test-pkg: calculate toolchain name only once Arnout Vandecappelle
@ 2017-04-06 20:51   ` Yann E. MORIN
  2017-04-07 10:35     ` Arnout Vandecappelle
  0 siblings, 1 reply; 25+ messages in thread
From: Yann E. MORIN @ 2017-04-06 20:51 UTC (permalink / raw)
  To: buildroot

Arnout, All,

On 2017-04-06 20:18 +0200, Arnout Vandecappelle (Essensium/Mind) spake thusly:
> From: "Yann E. MORIN" <yann.morin.1998@free.fr>
> 
> 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>
> ---
> I'm not sure why the mkdir is also moved up to main() - IMO, it fits
> better in build_one(). Yann, the original commit message was just
> "create build dir from caller", any reason _why_ you did that?

Because when I initially did the legal-info step, it was in a spearate
function, not in build_one, so it looked more logicial to create the
directory in main().

But now it is not really meaningful anymore, indeed...

Regards,
Yann E. MORIN.

> Changes v4 -> v5 by Arnout:
>   - Reword commit message
>   - Reorder patch series
> ---
>  support/scripts/test-pkg | 20 ++++++++------------
>  1 file changed, 8 insertions(+), 12 deletions(-)
> 
> diff --git a/support/scripts/test-pkg b/support/scripts/test-pkg
> index f9f994402d..27601168b1 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,14 @@ 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}"
> +        mkdir -p "${build_dir}"
> +        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,13 +91,6 @@ 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
>          return 2
> -- 
> 2.11.0
> 

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

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

* [Buildroot] [PATCH v5 08/13] support/test-pkg: get configs from buildroot defconfigs
  2017-04-06 20:50       ` Thomas Petazzoni
@ 2017-04-07 10:35         ` Arnout Vandecappelle
  2017-04-07 10:44           ` Thomas Petazzoni
  0 siblings, 1 reply; 25+ messages in thread
From: Arnout Vandecappelle @ 2017-04-07 10:35 UTC (permalink / raw)
  To: buildroot



On 06-04-17 22:50, Thomas Petazzoni wrote:
> Hello,
> 
> On Thu, 6 Apr 2017 22:48:04 +0200, Yann E. MORIN wrote:
> 
>>> On the principle, I am OK with this direction, but it is needs to be
>>> coordinated with a change to autobuild-run to also use the base
>>> autobuild defconfigs from the Buildroot tree. Otherwise, we will have
>>> two copies: one used by people running test-pkg, one used by the actual
>>> autobuilders. It is not difficult to see those two copies quickly
>>> getting out of sync.  
>>
>> I think the idea is not to sync, but to get rid of the toolchain configs
>> in autobuild-run altogether, and only use those in the Buildroot tree.
> 
> Huh, you must have misunderstood what I wrote, or it wasn't clear.
> 
> My point was precisely that we want to avoid sync'ing them. But to
> achieve that the autobuild-run script needs to be changed to use base
> toolchain configs from the Buildroot tree rather than through the
> CSV file downloaded from autobuild.b.o. And I'm exactly saying that we
> need to change the autobuild-run script at the same time as we move
> base toolchain configs in the tree, otherwise we have duplication.

 I'm working on updating autobuild-run. Unfortunately it's a bit difficult to
test changes in that script, e.g. removing the condition on BR2_STATIC_LIBS. I
basically have to wait until the script hits a glibc toolchain to see if it
works correctly. Can you think of any way to speed that up?

 Regards,
 Arnout

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

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

* [Buildroot] [PATCH v5 03/13] support/test-pkg: calculate toolchain name only once
  2017-04-06 20:51   ` Yann E. MORIN
@ 2017-04-07 10:35     ` Arnout Vandecappelle
  0 siblings, 0 replies; 25+ messages in thread
From: Arnout Vandecappelle @ 2017-04-07 10:35 UTC (permalink / raw)
  To: buildroot



On 06-04-17 22:51, Yann E. MORIN wrote:
> Arnout, All,
> 
> On 2017-04-06 20:18 +0200, Arnout Vandecappelle (Essensium/Mind) spake thusly:
>> From: "Yann E. MORIN" <yann.morin.1998@free.fr>
>>
>> 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>
>> ---
>> I'm not sure why the mkdir is also moved up to main() - IMO, it fits
>> better in build_one(). Yann, the original commit message was just
>> "create build dir from caller", any reason _why_ you did that?
> 
> Because when I initially did the legal-info step, it was in a spearate
> function, not in build_one, so it looked more logicial to create the
> directory in main().
> 
> But now it is not really meaningful anymore, indeed...

 OK, in v6 it will move back down into build_one.

 Regards,
 Arnout

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

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

* [Buildroot] [PATCH v5 08/13] support/test-pkg: get configs from buildroot defconfigs
  2017-04-07 10:35         ` Arnout Vandecappelle
@ 2017-04-07 10:44           ` Thomas Petazzoni
  0 siblings, 0 replies; 25+ messages in thread
From: Thomas Petazzoni @ 2017-04-07 10:44 UTC (permalink / raw)
  To: buildroot

Hello,

On Fri, 7 Apr 2017 12:35:09 +0200, Arnout Vandecappelle wrote:

>  I'm working on updating autobuild-run. Unfortunately it's a bit difficult to
> test changes in that script, e.g. removing the condition on BR2_STATIC_LIBS. I
> basically have to wait until the script hits a glibc toolchain to see if it
> works correctly. Can you think of any way to speed that up?

For this sort of situation, I was editing the CSV file to keep only the
one toolchain I'm interested in. Or alternatively, hacking the function
that chooses the toolchain to always pick up the one I'm interested in.

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

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

end of thread, other threads:[~2017-04-07 10:44 UTC | newest]

Thread overview: 25+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-04-06 18:18 [Buildroot] [PATCH v5 00/13] support/test-pkg: fixes and enhancements + add autobuild defconfigs Arnout Vandecappelle
2017-04-06 18:18 ` [Buildroot] [PATCH v5 01/13] docs/manual: document the test-pkg script Arnout Vandecappelle
2017-04-06 19:51   ` Thomas Petazzoni
2017-04-06 18:18 ` [Buildroot] [PATCH v5 02/13] support/test-pkg: print number of toolchains and progress Arnout Vandecappelle
2017-04-06 19:51   ` Thomas Petazzoni
2017-04-06 18:18 ` [Buildroot] [PATCH v5 03/13] support/test-pkg: calculate toolchain name only once Arnout Vandecappelle
2017-04-06 20:51   ` Yann E. MORIN
2017-04-07 10:35     ` Arnout Vandecappelle
2017-04-06 18:18 ` [Buildroot] [PATCH v5 04/13] support/test-pkg: run legal-info Arnout Vandecappelle
2017-04-06 18:18 ` [Buildroot] [PATCH v5 05/13] Makefile: support defconfigs in subdirectories Arnout Vandecappelle
2017-04-06 18:18 ` [Buildroot] [PATCH v5 06/13] configs: add autobuild toolchain defconfigs Arnout Vandecappelle
2017-04-06 19:55   ` Thomas Petazzoni
2017-04-06 20:39     ` Arnout Vandecappelle
2017-04-06 18:18 ` [Buildroot] [PATCH v5 07/13] support/test-pkg: move minimal.config into a separate file Arnout Vandecappelle
2017-04-06 18:18 ` [Buildroot] [PATCH v5 08/13] support/test-pkg: get configs from buildroot defconfigs Arnout Vandecappelle
2017-04-06 19:37   ` Thomas Petazzoni
2017-04-06 20:48     ` Yann E. MORIN
2017-04-06 20:50       ` Thomas Petazzoni
2017-04-07 10:35         ` Arnout Vandecappelle
2017-04-07 10:44           ` Thomas Petazzoni
2017-04-06 18:18 ` [Buildroot] [PATCH v5 09/13] support/test-pkg: add option to use an alternate toolchain directory Arnout Vandecappelle
2017-04-06 18:18 ` [Buildroot] [PATCH v5 10/13] Makefile: refactor *config targets Arnout Vandecappelle
2017-04-06 18:18 ` [Buildroot] [PATCH v5 11/13] Makefile: add alldefconfig target Arnout Vandecappelle
2017-04-06 18:18 ` [Buildroot] [PATCH v5 12/13] support/test-pkg: use merge_config.sh to merge the fragments Arnout Vandecappelle
2017-04-06 18:18 ` [Buildroot] [PATCH v5 13/13] [RFC] list-defconfigs: support defconfigs in subdirectories 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.