Skip to contentSkip to conversation

Makefile: support defconfigs in subdirectories

PATCH New Arnout Vandecappelle (Essensium/Mind) 2 participants 4 messages Mar 26, 2017 Kbuild

lore
Share & tools
lore
#0 lore raw

PATCH 1/2 Makefile: support defconfigs in subdirectories

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.

---
 Makefile | 13 ++++++++++---
 1 file changed, 10 insertions(+), 3 deletions(-)
Makefile +10 -3
index cceae92a26..96c4d10cb3 100644
@@ -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)))
 
Signature · 1 line
2.11.0
#1 lore raw

PATCH 2/2 configs: add autobuild configs

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.

The toolchain-configs.csv file also contained additional information:
the hostarch required by the toolchain binary, and the libc used. The latter can be found in the defconfig itself, but the hostarch isn't in there. To avoid still having to maintain a separate file, we just add a BR2_HOSTARCH string to the defconfig file. When the defconfig is used this string is completely ignored, but it can be used by the autobuild-run script.

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

---
The changes to the autobuild-run script still have to be done. It's not entirely trivial :-) so I didn't feel up to it.

Instead of this approach, I also considered adding the buildroot-generated toolchains as external toolchains to the menus. However, then there would still be a need for config files that specify the subarch used, as well as e.g. STATIC. While with this approach the entire toolchains/configs directory can be removed from autobuild.buildroot.net.

---
 .../autobuild/armv5-ctng-linux-gnueabi_defconfig   | 11 ++++++++++
 .../autobuild/armv7-ctng-linux-gnueabihf_defconfig | 14 +++++++++++++
 configs/autobuild/br-aarch64-glibc_defconfig       | 10 +++++++++
 configs/autobuild/br-arc-full-internal_defconfig   |  4 ++++
 configs/autobuild/br-arcle-hs38_defconfig          | 12 +++++++++++
 configs/autobuild/br-arm-basic_defconfig           |  9 ++++++++
 configs/autobuild/br-arm-cortex-a9-glibc_defconfig | 12 +++++++++++
 configs/autobuild/br-arm-cortex-a9-musl_defconfig  | 12 +++++++++++
 configs/autobuild/br-arm-cortex-m4-full_defconfig  | 14 +++++++++++++
 configs/autobuild/br-arm-full-nothread_defconfig   | 13 ++++++++++++
 configs/autobuild/br-arm-full-static_defconfig     | 13 ++++++++++++
 configs/autobuild/br-arm-full_defconfig            | 12 +++++++++++
 configs/autobuild/br-arm-internal-full_defconfig   |  7 +++++++
 configs/autobuild/br-bfin-full_defconfig           | 14 +++++++++++++
 .../autobuild/br-i386-pentium-mmx-musl_defconfig   | 11 ++++++++++
 configs/autobuild/br-i386-pentium4-full_defconfig  | 12 +++++++++++
 configs/autobuild/br-m68k-5208-full_defconfig      | 13 ++++++++++++
 configs/autobuild/br-m68k-68040-full_defconfig     | 12 +++++++++++
 .../br-microblazeel-full-internal_defconfig        |  1 +
 configs/autobuild/br-microblazeel-full_defconfig   | 12 +++++++++++
 .../autobuild/br-mips32r6-el-hf-glibc_defconfig    | 12 +++++++++++
 configs/autobuild/br-mips64-n64-full_defconfig     | 12 +++++++++++
 .../autobuild/br-mips64r6-el-hf-glibc_defconfig    | 13 ++++++++++++
 configs/autobuild/br-mipsel-o32-full_defconfig     | 12 +++++++++++
 configs/autobuild/br-nios2-glibc_defconfig         | 10 +++++++++
 configs/autobuild/br-openrisc-uclibc_defconfig     | 12 +++++++++++
 .../autobuild/br-powerpc-603e-basic-cpp_defconfig  | 11 ++++++++++
 configs/autobuild/br-powerpc-e500mc-full_defconfig | 13 ++++++++++++
 .../autobuild/br-powerpc-internal-full_defconfig   |  5 +++++
 .../autobuild/br-powerpc64-power7-glibc_defconfig  | 10 +++++++++
 .../br-powerpc64le-power8-glibc_defconfig          | 10 +++++++++
 configs/autobuild/br-sh4-full_defconfig            | 12 +++++++++++
 configs/autobuild/br-sparc-uclibc_defconfig        | 11 ++++++++++
 configs/autobuild/br-sparc64-glibc_defconfig       |  9 ++++++++
 configs/autobuild/br-x86-64-core2-full_defconfig   | 13 ++++++++++++
 configs/autobuild/br-x86-64-musl_defconfig         | 11 ++++++++++
 .../autobuild/br-xtensa-full-internal_defconfig    |  5 +++++
 configs/autobuild/br-xtensa-full_defconfig         | 11 ++++++++++
 configs/autobuild/i686-ctng-linux-gnu_defconfig    | 11 ++++++++++
 configs/autobuild/linaro-aarch64_defconfig         |  3 +++
 configs/autobuild/linaro-arm_defconfig             |  5 +++++
 .../mips64el-ctng_n32-linux-gnu_defconfig          | 10 +++++++++
 .../mips64el-ctng_n64-linux-gnu_defconfig          | 12 +++++++++++
 .../powerpc-ctng_e500v2-linux-gnuspe_defconfig     | 12 +++++++++++
 configs/autobuild/sourcery-arm-armv4t_defconfig    |  5 +++++
 configs/autobuild/sourcery-arm-thumb2_defconfig    |  7 +++++++
 configs/autobuild/sourcery-arm_defconfig           |  4 ++++
 configs/autobuild/sourcery-mips64_defconfig        |  6 ++++++
 configs/autobuild/sourcery-mips_defconfig          |  5 +++++
 configs/autobuild/sourcery-nios2_defconfig         |  3 +++
 configs/autobuild/sourcery-sh_defconfig            |  5 +++++
 configs/autobuild/sourcery-x86-64_defconfig        |  5 +++++
 configs/autobuild/sourcery-x86_defconfig           |  4 ++++
 .../x86_64-ctng_locales-linux-gnu_defconfig        | 24 ++++++++++++++++++++++
 54 files changed, 531 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
configs/autobuild/armv5-ctng-linux-gnueabi_defconfig new file +11 -0
new file mode 100644
index 0000000000..eb17e100a3
@@ -0,0 +1,11 @@
+BR2_HOSTARCH="x86"
+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
configs/autobuild/armv7-ctng-linux-gnueabihf_defconfig new file +14 -0
new file mode 100644
index 0000000000..f3c8732ff3
@@ -0,0 +1,14 @@
+BR2_HOSTARCH="x86"
+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
configs/autobuild/br-aarch64-glibc_defconfig new file +10 -0
new file mode 100644
index 0000000000..30560d2a26
@@ -0,0 +1,10 @@
+BR2_HOSTARCH="x86_64"
+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-102-g6ce3806.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
configs/autobuild/br-arc-full-internal_defconfig new file +4 -0
new file mode 100644
index 0000000000..87f208bb65
@@ -0,0 +1,4 @@
+BR2_arcle=y
+BR2_TOOLCHAIN_BUILDROOT_INET_RPC=y
+BR2_TOOLCHAIN_BUILDROOT_LOCALE=y
+BR2_TOOLCHAIN_BUILDROOT_CXX=y
configs/autobuild/br-arcle-hs38_defconfig new file +12 -0
new file mode 100644
index 0000000000..ad64e4b582
@@ -0,0 +1,12 @@
+BR2_HOSTARCH="x86_64"
+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-102-g6ce3806.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_INET_RPC=y
+BR2_TOOLCHAIN_EXTERNAL_CXX=y
configs/autobuild/br-arm-basic_defconfig new file +9 -0
new file mode 100644
index 0000000000..4b278925aa
@@ -0,0 +1,9 @@
+BR2_HOSTARCH="x86_64"
+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-rc1-70-g7612a7d.tar.bz2"
+BR2_TOOLCHAIN_EXTERNAL_GCC_5=y
+BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_9=y
+# BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_DEBUG is not set
configs/autobuild/br-arm-cortex-a9-glibc_defconfig new file +12 -0
new file mode 100644
index 0000000000..8c5d808e55
@@ -0,0 +1,12 @@
+BR2_HOSTARCH="x86_64"
+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-102-g6ce3806.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
configs/autobuild/br-arm-cortex-a9-musl_defconfig new file +12 -0
new file mode 100644
index 0000000000..d5937a8407
@@ -0,0 +1,12 @@
+BR2_HOSTARCH="x86_64"
+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-rc1-2-g133c5ac.tar.bz2"
+BR2_TOOLCHAIN_EXTERNAL_GCC_5=y
+BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_9=y
+BR2_TOOLCHAIN_EXTERNAL_CUSTOM_MUSL=y
+BR2_TOOLCHAIN_EXTERNAL_CXX=y
configs/autobuild/br-arm-cortex-m4-full_defconfig new file +14 -0
new file mode 100644
index 0000000000..53f5c6686d
@@ -0,0 +1,14 @@
+BR2_HOSTARCH="x86_64"
+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-rc1-70-g7612a7d.tar.bz2"
+BR2_TOOLCHAIN_EXTERNAL_GCC_5=y
+BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_9=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_INET_RPC=y
+BR2_TOOLCHAIN_EXTERNAL_CXX=y
configs/autobuild/br-arm-full-nothread_defconfig new file +13 -0
new file mode 100644
index 0000000000..a0d3775c0b
@@ -0,0 +1,13 @@
+BR2_HOSTARCH="x86_64"
+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-rc1-70-g7612a7d.tar.bz2"
+BR2_TOOLCHAIN_EXTERNAL_GCC_5=y
+BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_9=y
+BR2_TOOLCHAIN_EXTERNAL_LOCALE=y
+# BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS is not set
+BR2_TOOLCHAIN_EXTERNAL_INET_RPC=y
+BR2_TOOLCHAIN_EXTERNAL_CXX=y
configs/autobuild/br-arm-full-static_defconfig new file +13 -0
new file mode 100644
index 0000000000..c5af08f043
@@ -0,0 +1,13 @@
+BR2_HOSTARCH="x86_64"
+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-rc1-70-g7612a7d.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_INET_RPC=y
+BR2_TOOLCHAIN_EXTERNAL_CXX=y
configs/autobuild/br-arm-full_defconfig new file +12 -0
new file mode 100644
index 0000000000..a4a0371c16
@@ -0,0 +1,12 @@
+BR2_HOSTARCH="x86_64"
+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-rc1-70-g7612a7d.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_INET_RPC=y
+BR2_TOOLCHAIN_EXTERNAL_CXX=y
configs/autobuild/br-arm-internal-full_defconfig new file +7 -0
new file mode 100644
index 0000000000..8ff6e8689a
@@ -0,0 +1,7 @@
+BR2_arm=y
+BR2_ARM_EABI=y
+BR2_UCLIBC_VERSION_NG=y
+BR2_TOOLCHAIN_BUILDROOT_INET_RPC=y
+BR2_TOOLCHAIN_BUILDROOT_LOCALE=y
+BR2_TOOLCHAIN_BUILDROOT_WCHAR=y
+BR2_TOOLCHAIN_BUILDROOT_CXX=y
configs/autobuild/br-bfin-full_defconfig new file +14 -0
new file mode 100644
index 0000000000..74ade4d802
@@ -0,0 +1,14 @@
+BR2_HOSTARCH="x86_64"
+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-rc1-2-g133c5ac.tar.bz2"
+BR2_TOOLCHAIN_EXTERNAL_GCC_6=y
+BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_9=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_INET_RPC=y
+BR2_TOOLCHAIN_EXTERNAL_CXX=y
configs/autobuild/br-i386-pentium-mmx-musl_defconfig new file +11 -0
new file mode 100644
index 0000000000..94b0b45768
@@ -0,0 +1,11 @@
+BR2_HOSTARCH="x86_64"
+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-rc1-33-g1ed5524.tar.bz2"
+BR2_TOOLCHAIN_EXTERNAL_GCC_5=y
+BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_18=y
+BR2_TOOLCHAIN_EXTERNAL_CUSTOM_MUSL=y
+# BR2_TOOLCHAIN_EXTERNAL_HAS_SSP is not set
+BR2_TOOLCHAIN_EXTERNAL_CXX=y
configs/autobuild/br-i386-pentium4-full_defconfig new file +12 -0
new file mode 100644
index 0000000000..d725c967d8
@@ -0,0 +1,12 @@
+BR2_HOSTARCH="x86_64"
+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-rc1-2-g133c5ac.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_INET_RPC=y
+BR2_TOOLCHAIN_EXTERNAL_CXX=y
configs/autobuild/br-m68k-5208-full_defconfig new file +13 -0
new file mode 100644
index 0000000000..f11a3fa8ba
@@ -0,0 +1,13 @@
+BR2_HOSTARCH="x86_64"
+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-rc1-2-g133c5ac.tar.bz2"
+BR2_TOOLCHAIN_EXTERNAL_GCC_5=y
+BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_9=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_INET_RPC=y
+BR2_TOOLCHAIN_EXTERNAL_CXX=y
configs/autobuild/br-m68k-68040-full_defconfig new file +12 -0
new file mode 100644
index 0000000000..c9037140ae
@@ -0,0 +1,12 @@
+BR2_HOSTARCH="x86_64"
+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-rc1-2-g133c5ac.tar.bz2"
+BR2_TOOLCHAIN_EXTERNAL_GCC_5=y
+BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_9=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_INET_RPC=y
+BR2_TOOLCHAIN_EXTERNAL_CXX=y
configs/autobuild/br-microblazeel-full-internal_defconfig new file +1 -0
new file mode 100644
index 0000000000..0d2d7df8f1
@@ -0,0 +1 @@
+BR2_microblazeel=y
configs/autobuild/br-microblazeel-full_defconfig new file +12 -0
new file mode 100644
index 0000000000..8896def98c
@@ -0,0 +1,12 @@
+BR2_HOSTARCH="x86_64"
+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-rc2-36-g7f5556c.tar.bz2"
+BR2_TOOLCHAIN_EXTERNAL_GCC_5=y
+BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_18=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_INET_RPC=y
+BR2_TOOLCHAIN_EXTERNAL_CXX=y
configs/autobuild/br-mips32r6-el-hf-glibc_defconfig new file +12 -0
new file mode 100644
index 0000000000..7df1b96218
@@ -0,0 +1,12 @@
+BR2_HOSTARCH="x86_64"
+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-102-g6ce3806.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
configs/autobuild/br-mips64-n64-full_defconfig new file +12 -0
new file mode 100644
index 0000000000..1904606ab6
@@ -0,0 +1,12 @@
+BR2_HOSTARCH="x86_64"
+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-rc1-2-g133c5ac.tar.bz2"
+BR2_TOOLCHAIN_EXTERNAL_GCC_4_8=y
+BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_9=y
+BR2_TOOLCHAIN_EXTERNAL_LOCALE=y
+BR2_TOOLCHAIN_EXTERNAL_INET_RPC=y
+BR2_TOOLCHAIN_EXTERNAL_CXX=y
configs/autobuild/br-mips64r6-el-hf-glibc_defconfig new file +13 -0
new file mode 100644
index 0000000000..28202a01f3
@@ -0,0 +1,13 @@
+BR2_HOSTARCH="x86_64"
+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-102-g6ce3806.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
configs/autobuild/br-mipsel-o32-full_defconfig new file +12 -0
new file mode 100644
index 0000000000..67969b4e6b
@@ -0,0 +1,12 @@
+BR2_HOSTARCH="x86_64"
+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-rc1-2-g133c5ac.tar.bz2"
+BR2_TOOLCHAIN_EXTERNAL_GCC_5=y
+BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_9=y
+BR2_TOOLCHAIN_EXTERNAL_LOCALE=y
+# BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_DEBUG is not set
+BR2_TOOLCHAIN_EXTERNAL_INET_RPC=y
+BR2_TOOLCHAIN_EXTERNAL_CXX=y
configs/autobuild/br-nios2-glibc_defconfig new file +10 -0
new file mode 100644
index 0000000000..e77feeae82
@@ -0,0 +1,10 @@
+BR2_HOSTARCH="x86_64"
+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-102-g6ce3806.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
configs/autobuild/br-openrisc-uclibc_defconfig new file +12 -0
new file mode 100644
index 0000000000..4e523d6838
@@ -0,0 +1,12 @@
+BR2_HOSTARCH="x86_64"
+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-rc2-2-g241609d.tar.bz2"
+BR2_TOOLCHAIN_EXTERNAL_GCC_5=y
+BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_9=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_INET_RPC=y
+BR2_TOOLCHAIN_EXTERNAL_CXX=y
configs/autobuild/br-powerpc-603e-basic-cpp_defconfig new file +11 -0
new file mode 100644
index 0000000000..58ecae210e
@@ -0,0 +1,11 @@
+BR2_HOSTARCH="x86_64"
+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-rc1-2-g133c5ac.tar.bz2"
+BR2_TOOLCHAIN_EXTERNAL_GCC_5=y
+BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_9=y
+# BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_DEBUG is not set
+BR2_TOOLCHAIN_EXTERNAL_CXX=y
configs/autobuild/br-powerpc-e500mc-full_defconfig new file +13 -0
new file mode 100644
index 0000000000..a7d8dfa851
@@ -0,0 +1,13 @@
+BR2_HOSTARCH="x86_64"
+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-rc1-2-g133c5ac.tar.bz2"
+BR2_TOOLCHAIN_EXTERNAL_GCC_5=y
+BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_9=y
+BR2_TOOLCHAIN_EXTERNAL_LOCALE=y
+# BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_DEBUG is not set
+BR2_TOOLCHAIN_EXTERNAL_INET_RPC=y
+BR2_TOOLCHAIN_EXTERNAL_CXX=y
configs/autobuild/br-powerpc-internal-full_defconfig new file +5 -0
new file mode 100644
index 0000000000..2621e9fb41
@@ -0,0 +1,5 @@
+BR2_powerpc=y
+BR2_TOOLCHAIN_BUILDROOT_INET_IPV6=y
+BR2_TOOLCHAIN_BUILDROOT_LOCALE=y
+BR2_TOOLCHAIN_BUILDROOT_WCHAR=y
+BR2_TOOLCHAIN_BUILDROOT_CXX=y
configs/autobuild/br-powerpc64-power7-glibc_defconfig new file +10 -0
new file mode 100644
index 0000000000..9a71df1043
@@ -0,0 +1,10 @@
+BR2_HOSTARCH="x86_64"
+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-102-g6ce3806.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
configs/autobuild/br-powerpc64le-power8-glibc_defconfig new file +10 -0
new file mode 100644
index 0000000000..137a3460a6
@@ -0,0 +1,10 @@
+BR2_HOSTARCH="x86_64"
+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-102-g6ce3806.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
configs/autobuild/br-sh4-full_defconfig new file +12 -0
new file mode 100644
index 0000000000..44d33b744f
@@ -0,0 +1,12 @@
+BR2_HOSTARCH="x86_64"
+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-rc1-2-g133c5ac.tar.bz2"
+BR2_TOOLCHAIN_EXTERNAL_GCC_5=y
+BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_9=y
+BR2_TOOLCHAIN_EXTERNAL_LOCALE=y
+# BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_DEBUG is not set
+BR2_TOOLCHAIN_EXTERNAL_INET_RPC=y
+BR2_TOOLCHAIN_EXTERNAL_CXX=y
configs/autobuild/br-sparc-uclibc_defconfig new file +11 -0
new file mode 100644
index 0000000000..0757679063
@@ -0,0 +1,11 @@
+BR2_HOSTARCH="x86_64"
+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-rc1-2-g133c5ac.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_INET_RPC=y
+BR2_TOOLCHAIN_EXTERNAL_CXX=y
configs/autobuild/br-sparc64-glibc_defconfig new file +9 -0
new file mode 100644
index 0000000000..5cf34becb7
@@ -0,0 +1,9 @@
+BR2_HOSTARCH="x86_64"
+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-102-g6ce3806.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
configs/autobuild/br-x86-64-core2-full_defconfig new file +13 -0
new file mode 100644
index 0000000000..c30a0f90a4
@@ -0,0 +1,13 @@
+BR2_HOSTARCH="x86_64"
+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-rc1-2-g133c5ac.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_INET_RPC=y
+BR2_TOOLCHAIN_EXTERNAL_CXX=y
configs/autobuild/br-x86-64-musl_defconfig new file +11 -0
new file mode 100644
index 0000000000..e71f54d1e1
@@ -0,0 +1,11 @@
+BR2_HOSTARCH="x86_64"
+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-rc1-2-g133c5ac.tar.bz2"
+BR2_TOOLCHAIN_EXTERNAL_GCC_5=y
+BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_9=y
+BR2_TOOLCHAIN_EXTERNAL_CUSTOM_MUSL=y
+BR2_TOOLCHAIN_EXTERNAL_CXX=y
configs/autobuild/br-xtensa-full-internal_defconfig new file +5 -0
new file mode 100644
index 0000000000..23e631222f
@@ -0,0 +1,5 @@
+BR2_xtensa=y
+BR2_JLEVEL=8
+BR2_TOOLCHAIN_BUILDROOT_INET_RPC=y
+BR2_TOOLCHAIN_BUILDROOT_LOCALE=y
+BR2_TOOLCHAIN_BUILDROOT_CXX=y
configs/autobuild/br-xtensa-full_defconfig new file +11 -0
new file mode 100644
index 0000000000..c95d4e9864
@@ -0,0 +1,11 @@
+BR2_HOSTARCH="x86_64"
+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-rc1-2-g133c5ac.tar.bz2"
+BR2_TOOLCHAIN_EXTERNAL_GCC_5=y
+BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_9=y
+BR2_TOOLCHAIN_EXTERNAL_LOCALE=y
+# BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_DEBUG is not set
+BR2_TOOLCHAIN_EXTERNAL_INET_RPC=y
+BR2_TOOLCHAIN_EXTERNAL_CXX=y
configs/autobuild/i686-ctng-linux-gnu_defconfig new file +11 -0
new file mode 100644
index 0000000000..17fafb2c76
@@ -0,0 +1,11 @@
+BR2_HOSTARCH="x86"
+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
configs/autobuild/linaro-aarch64_defconfig new file +3 -0
new file mode 100644
index 0000000000..825836a564
@@ -0,0 +1,3 @@
+BR2_HOSTARCH="x86"
+BR2_aarch64=y
+BR2_TOOLCHAIN_EXTERNAL=y
configs/autobuild/linaro-arm_defconfig new file +5 -0
new file mode 100644
index 0000000000..7d5a20ba3a
@@ -0,0 +1,5 @@
+BR2_HOSTARCH="x86"
+BR2_arm=y
+BR2_cortex_a8=y
+BR2_ARM_EABIHF=y
+BR2_TOOLCHAIN_EXTERNAL=y
configs/autobuild/mips64el-ctng_n32-linux-gnu_defconfig new file +10 -0
new file mode 100644
index 0000000000..d58bf34581
@@ -0,0 +1,10 @@
+BR2_HOSTARCH="x86"
+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
configs/autobuild/mips64el-ctng_n64-linux-gnu_defconfig new file +12 -0
new file mode 100644
index 0000000000..19c3e3e859
@@ -0,0 +1,12 @@
+BR2_HOSTARCH="x86"
+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
configs/autobuild/powerpc-ctng_e500v2-linux-gnuspe_defconfig new file +12 -0
new file mode 100644
index 0000000000..db8f44569d
@@ -0,0 +1,12 @@
+BR2_HOSTARCH="x86"
+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
configs/autobuild/sourcery-arm-armv4t_defconfig new file +5 -0
new file mode 100644
index 0000000000..6d55ec50fb
@@ -0,0 +1,5 @@
+BR2_HOSTARCH="x86"
+BR2_arm=y
+BR2_arm920t=y
+BR2_TOOLCHAIN_EXTERNAL=y
+BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM=y
configs/autobuild/sourcery-arm-thumb2_defconfig new file +7 -0
new file mode 100644
index 0000000000..45358800c5
@@ -0,0 +1,7 @@
+BR2_HOSTARCH="x86"
+BR2_arm=y
+BR2_cortex_a8=y
+BR2_ARM_EABI=y
+BR2_ARM_INSTRUCTIONS_THUMB2=y
+BR2_TOOLCHAIN_EXTERNAL=y
+BR2_TARGET_OPTIMIZATION=""
configs/autobuild/sourcery-arm_defconfig new file +4 -0
new file mode 100644
index 0000000000..d700ce096f
@@ -0,0 +1,4 @@
+BR2_HOSTARCH="x86"
+BR2_arm=y
+BR2_TOOLCHAIN_EXTERNAL=y
+BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM=y
configs/autobuild/sourcery-mips64_defconfig new file +6 -0
new file mode 100644
index 0000000000..92c58500d4
@@ -0,0 +1,6 @@
+BR2_HOSTARCH="x86"
+BR2_mips64el=y
+BR2_mips_64r2=y
+BR2_MIPS_NABI64=y
+BR2_TOOLCHAIN_EXTERNAL=y
+BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_MIPS=y
configs/autobuild/sourcery-mips_defconfig new file +5 -0
new file mode 100644
index 0000000000..d8fa742285
@@ -0,0 +1,5 @@
+BR2_HOSTARCH="x86"
+BR2_mips=y
+BR2_mips_32r2=y
+BR2_TOOLCHAIN_EXTERNAL=y
+BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_MIPS=y
configs/autobuild/sourcery-nios2_defconfig new file +3 -0
new file mode 100644
index 0000000000..eb1731d3a8
@@ -0,0 +1,3 @@
+BR2_HOSTARCH="x86"
+BR2_nios2=y
+BR2_TOOLCHAIN_EXTERNAL=y
configs/autobuild/sourcery-sh_defconfig new file +5 -0
new file mode 100644
index 0000000000..d5a49b3e89
@@ -0,0 +1,5 @@
+BR2_HOSTARCH="x86"
+BR2_sh=y
+BR2_sh4a=y
+BR2_TOOLCHAIN_EXTERNAL=y
+BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_SH=y
configs/autobuild/sourcery-x86-64_defconfig new file +5 -0
new file mode 100644
index 0000000000..3cd67ac77f
@@ -0,0 +1,5 @@
+BR2_HOSTARCH="x86"
+BR2_x86_64=y
+BR2_x86_steamroller=y
+BR2_TOOLCHAIN_EXTERNAL=y
+BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_AMD64=y
configs/autobuild/sourcery-x86_defconfig new file +4 -0
new file mode 100644
index 0000000000..f60c4b1932
@@ -0,0 +1,4 @@
+BR2_HOSTARCH="x86"
+BR2_x86_pentium4=y
+BR2_TOOLCHAIN_EXTERNAL=y
+BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_X86=y
configs/autobuild/x86_64-ctng_locales-linux-gnu_defconfig new file +24 -0
new file mode 100644
index 0000000000..8489725794
@@ -0,0 +1,24 @@
+BR2_HOSTARCH="x86"
+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
+BR2_HOSTARCH="x86"
+BR2_x86_64=y
+BR2_x86_corei7=y
+BR2_TOOLCHAIN_EXTERNAL=y
+BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y
+BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y
+BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/x86_64-ctng_locales-linux-gnu.tar.xz"
+BR2_TOOLCHAIN_EXTERNAL_CUSTOM_PREFIX="x86_64-ctng_locales-linux-gnu"
+BR2_TOOLCHAIN_EXTERNAL_GCC_4_8=y
+BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_9=y
+BR2_TOOLCHAIN_EXTERNAL_CUSTOM_GLIBC=y
+BR2_TOOLCHAIN_EXTERNAL_CXX=y
Signature · 1 line
2.11.0
#2 lore raw

PATCH 2/2 configs: add autobuild configs

Hello,

Quoted 7 lines · Arnout Vandecappelle (Essensium/Mind)

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

Quoted 8 lines

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.

The toolchain-configs.csv file also contained additional information:
the hostarch required by the toolchain binary, and the libc used. The latter can be found in the defconfig itself,

How is the latter found in the defconfig? For example, with:

+BR2_HOSTARCH="x86"
+BR2_x86_pentium4=y
+BR2_TOOLCHAIN_EXTERNAL=y
+BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_X86=y

How will the autobuilder script know that it is a glibc toolchain?

Quoted 5 lines

but the hostarch isn't in
there. To avoid still having to maintain a separate file, we just add a BR2_HOSTARCH string to the defconfig file. When the defconfig is used this string is completely ignored, but it can be used by the autobuild-run script.

So this BR2_HOSTARCH option needs to be added manually to the
defconfig: the defconfig are not directly the result of "make savedefconfig", correct?

Quoted 6 lines

Instead of this approach, I also considered adding the buildroot-generated toolchains as external toolchains to the menus. However, then there would still be a need for config files that specify the subarch used, as well as e.g. STATIC. While with this approach the entire toolchains/configs directory can be removed from autobuild.buildroot.net.

I also think this approach doesn't make much sense, because several of the autobuild toolchains really don't make sense to have exposed in Buildroot external toolchain menu. Some toolchain configurations only exist just for the sake of testing interesting combinations.

Examples: the ARM no-thread toolchain, the basic PowerPC toolchain with just C++ support, the ARM/glibc toolchain that intentionally always uses the latest available version of gcc/binutils/glibc, etc.

Other than the issues raised above, I'm generally fine with the idea, I think it makes sense. If we are going to change the architecture of the autobuild-run there are lots of different things that could be done:

- Testing different branches, like you are suggesting.

- Change how "exceptions" are handled. Currently, people have to update their autobuild-run script to have the updated list of exceptions. It would be nice if this was not necessary, either by having the configuration generated by the autobuild server, or by having this list of exceptions in Buildroot itself so that it gets naturally updated when pulling the latest version of the source code.

Best regards,

Thomas

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

PATCH 2/2 configs: add autobuild configs

Quoted 27 lines · Thomas Petazzoni

Hello,

Quoted 7 lines · Arnout Vandecappelle (Essensium/Mind)

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

Quoted 8 lines

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.

The toolchain-configs.csv file also contained additional information:
the hostarch required by the toolchain binary, and the libc used. The latter can be found in the defconfig itself,

How is the latter found in the defconfig? For example, with:

configs/autobuild/sourcery-x86_defconfig new file +4 -0
+BR2_HOSTARCH="x86"
+BR2_x86_pentium4=y
+BR2_TOOLCHAIN_EXTERNAL=y
+BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_X86=y
Quoted 1 line

How will the autobuilder script know that it is a glibc toolchain?

I didn't think of that :-)

But actually, as far as I can see, the only thing this is used for in the
autobuild-run script is to decide whether or not to add BR2_STATIC_LIBS=y. But we can do that unconditionally - it will get removed by 'make oldconfig'.

Quoted 9 lines
Quoted 5 lines

but the hostarch isn't in
there. To avoid still having to maintain a separate file, we just add a BR2_HOSTARCH string to the defconfig file. When the defconfig is used this string is completely ignored, but it can be used by the autobuild-run script.

So this BR2_HOSTARCH option needs to be added manually to the
defconfig: the defconfig are not directly the result of "make savedefconfig", correct?

Indeed.

I'm open to suggestions of a different approach, of course :-)

One option would be to add further subdirectories for x86 and x86_64, but I
don't really like that.

Quoted 12 lines
Quoted 6 lines

Instead of this approach, I also considered adding the buildroot-generated toolchains as external toolchains to the menus. However, then there would still be a need for config files that specify the subarch used, as well as e.g. STATIC. While with this approach the entire toolchains/configs directory can be removed from autobuild.buildroot.net.

I also think this approach doesn't make much sense, because several of the autobuild toolchains really don't make sense to have exposed in Buildroot external toolchain menu. Some toolchain configurations only exist just for the sake of testing interesting combinations.

Quoted 5 lines

Examples: the ARM no-thread toolchain, the basic PowerPC toolchain with just C++ support, the ARM/glibc toolchain that intentionally always uses the latest available version of gcc/binutils/glibc, etc.

Other than the issues raised above, I'm generally fine with the idea, I

"issues" -> do you mean just the libc issue, or do you consider the
savedefconfig issue sufficiently severe that it needs a solution before committing?

Regards,
Arnout

Quoted 16 lines

think it makes sense. If we are going to change the architecture of the autobuild-run there are lots of different things that could be done:

- Testing different branches, like you are suggesting.

- Change how "exceptions" are handled. Currently, people have to update their autobuild-run script to have the updated list of exceptions. It would be nice if this was not necessary, either by having the configuration generated by the autobuild server, or by having this list of exceptions in Buildroot itself so that it gets naturally updated when pulling the latest version of the source code.

Best regards,

Thomas

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