Skip to contentSkip to conversation

Pull request for branch toolchain-config-improvements

GIT PULL New Thomas Petazzoni 2 participants 9 messages Jan 12, 2010 – Feb 9, 2010 Arm/Microchip (AT91) SoC support

lore
Share & tools
lore
#0 lore raw

The following changes since commit 6327fbc8b62a7728f9ba546eb04046c0adc4112f:
Peter Korsgaard (1):

        kernel-headers: bump 2.6.27.x / 2.6.31.x / 2.6.32.x stable versions

are available in the git repository at:

git://git.busybox.net/~tpetazzoni/git/buildroot toolchain-config-improvements

Thomas Petazzoni (6):
Move locale purge option to a more logical location
lzma: Use BR2_INSTALL_LIBSTDCPP instead of BR2_GCC_CROSS_CXX like in other packages Move BR2_SOFT_FLOAT and BR2_VFP_FLOAT to Build options
Move BR2_TARGET_OPTIMIZATION to Build Options and rename it
Update defconfigs after BR2_TARGET_OPTIMIZATION rename
toolchain: Clarify configuration option files organization

 Config.in                                      |   54 ++++++++++
 configs/arm_toolchain_defconfig                |    2 +-
 configs/at91rm9200df_defconfig                 |    2 +-
 configs/at91rm9200df_ext_bare_defconfig        |    2 +-
 configs/at91rm9200df_ext_defconfig             |    2 +-
 configs/at91sam9260dfc_defconfig               |    2 +-
 configs/at91sam9260dfc_ext_bare_defconfig      |    2 +-
 configs/at91sam9260dfc_ext_defconfig           |    2 +-
 configs/at91sam9260pf_defconfig                |    2 +-
 configs/at91sam9261ek_defconfig                |    2 +-
 configs/at91sam9261ek_ext_bare_defconfig       |    2 +-
 configs/at91sam9261ek_ext_defconfig            |    2 +-
 configs/at91sam9263ek_defconfig                |    2 +-
 configs/at91sam9263ek_ext_bare_defconfig       |    2 +-
 configs/at91sam9263ek_ext_defconfig            |    2 +-
 configs/at91sam9g20dfc_defconfig               |    2 +-
 configs/at91sam9g20dfc_ext_bare_defconfig      |    2 +-
 configs/at91sam9g20dfc_ext_defconfig           |    2 +-
 configs/atngw100-base_defconfig                |    2 +-
 configs/atngw100_defconfig                     |    2 +-
 configs/atstk1005_defconfig                    |    2 +-
 configs/atstk100x_defconfig                    |    2 +-
 configs/i386_defconfig                         |    2 +-
 configs/i686_defconfig                         |    2 +-
 configs/integrator926_defconfig                |    2 +-
 configs/integrator926_huge_defconfig           |    2 +-
 configs/kb9202_defconfig                       |    2 +-
 configs/v100sc2_defconfig                      |    2 +-
 package/Makefile.in                            |    5 +-
 package/lzma/Config.in                         |    4 +-
 toolchain/Config.in                            |   16 +--
 toolchain/Config.in.1                          |    9 --
 toolchain/{Config.in.2 => Config.in.buildroot} |  113 ++++++---------------
 toolchain/Config.in.external                   |  128 ++++++++++++++++++++++++
 toolchain/external-toolchain/Config.in         |   22 ----
 toolchain/external-toolchain/Config.in.2       |   17 ---
 toolchain/gcc/Makefile.in                      |    1 -
 37 files changed, 251 insertions(+), 172 deletions(-)
 delete mode 100644 toolchain/Config.in.1
 rename toolchain/{Config.in.2 => Config.in.buildroot} (57%)
 create mode 100644 toolchain/Config.in.external
 delete mode 100644 toolchain/external-toolchain/Config.in
 delete mode 100644 toolchain/external-toolchain/Config.in.2

Thanks,

Signature · 1 line
Thomas Petazzoni
#1 lore raw

PATCH 1/6 Move locale purge option to a more logical location

The options to purge unwanted locale was currently part of the toolchain options. However, this option has nothing to do with the toolchain itself, but is rather an optional cleanup that can be performed after cleaning the target filesystem.

Therefore, this option is moved to the "Build options" part, together with the options to keep or not development files, documentation and so forth.

---
 Config.in             |   21 +++++++++++++++++++++
 toolchain/Config.in.2 |   21 ---------------------
 2 files changed, 21 insertions(+), 21 deletions(-)
Config.in +21 -0
index e4edaae..c33701a 100644
@@ -338,6 +338,27 @@ config BR2_HAVE_DEVFILES
 	  Install headers and static libraries in the
 	  target filesystem
 
+config BR2_ENABLE_LOCALE_PURGE
+	bool "Purge unwanted locales"
+	help
+	  Explicitly specify what locales to install on target. If N
+	  then all locales supported by packages are installed.
+
+config BR2_ENABLE_LOCALE_WHITELIST
+	string "Locales to keep"
+	default "C en_US de fr"
+	depends on BR2_ENABLE_LOCALE_PURGE
+	help
+	  Whitespace seperated list of locales to allow on target.
+	  Locales not listed here will be removed from the target.
+	  See 'locale -a' on your host for a list of locales available
+	  on your build host, or have a look in /usr/share/locale in
+	  the target file system for available locales.
+
+	  Notice that listing a locale here doesn't guarantee that it
+	  will be available on the target - That purely depends on the
+	  support for that locale in the selected packages.
+
 source package/gnuconfig/Config.in
 
 endmenu
toolchain/Config.in.2 +0 -21
index 6317ff4..0fb90ce 100644
@@ -45,27 +45,6 @@ config BR2_ENABLE_LOCALE_PREGENERATED
 	  Say N here unless your buildhost lacks locale support and you
 	  desparately want to use internationalization on your target.
 
-config BR2_ENABLE_LOCALE_PURGE
-	bool "Purge unwanted locales"
-	help
-	  Explicitly specify what locales to install on target. If N
-	  then all locales supported by packages are installed.
-
-config BR2_ENABLE_LOCALE_WHITELIST
-	string "Locales to keep"
-	default "C en_US de fr"
-	depends on BR2_ENABLE_LOCALE_PURGE
-	help
-	  Whitespace seperated list of locales to allow on target.
-	  Locales not listed here will be removed from the target.
-	  See 'locale -a' on your host for a list of locales available
-	  on your build host, or have a look in /usr/share/locale in
-	  the target file system for available locales.
-
-	  Notice that listing a locale here doesn't guarantee that it
-	  will be available on the target - That purely depends on the
-	  support for that locale in the selected packages.
-
 config BR2_USE_WCHAR
 	bool "Enable WCHAR support"
 	help
Signature · 1 line
1.6.3.3
#2 lore raw

PATCH 2/6 lzma: Use BR2_INSTALL_LIBSTDCPP instead of BR2_GCC_CROSS_CXX like in other packages

In reply to Thomas Petazzoni
---
 package/lzma/Config.in |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)
package/lzma/Config.in +2 -2
index ab1ea59..11251d1 100644
@@ -1,6 +1,6 @@
 config BR2_PACKAGE_LZMA
 	bool "lzma"
-	depends on BR2_GCC_CROSS_CXX
+	depends on BR2_INSTALL_LIBSTDCPP
 	help
 	  Lempel Ziv compression method (LZMA) is a compression
 	  algorithm with high compression ratio.
@@ -8,4 +8,4 @@ config BR2_PACKAGE_LZMA
 	  http://tukaani.org/lzma/
 
 comment "lzma requires a toolchain with C++ support"
-        depends on !BR2_GCC_CROSS_CXX
+        depends on !BR2_INSTALL_LIBSTDCPP
Signature · 1 line
1.6.3.3
#3 lore raw

PATCH 3/6 Move BR2_SOFT_FLOAT and BR2_VFP_FLOAT to Build options

In reply to Thomas Petazzoni

The soft floating point related options not only affect how the toolchain is built, but more importantly affect how packages are built. Therefore, just like optimization or stripping options, floating point related options are global, and belong to the Build options menu.

---
 Config.in             |   26 ++++++++++++++++++++++++++
 toolchain/Config.in.2 |   26 --------------------------
 2 files changed, 26 insertions(+), 26 deletions(-)
Config.in +26 -0
index c33701a..a658b40 100644
@@ -300,6 +300,32 @@ config BR2_OPTIMIZE_S
 
 endchoice
 
+config BR2_PREFER_SOFT_FLOAT
+	bool
+	default y if BR2_arm || BR2_armeb || BR2_avr32 || BR2_mips || BR2_mipsel || BR2_nios2
+
+config BR2_SOFT_FLOAT
+	bool "Use software floating point by default"
+	depends on BR2_arm || BR2_armeb || BR2_avr32 || BR2_mips || BR2_mipsel || BR2_powerpc || BR2_nios2
+	default $(BR2_PREFER_SOFT_FLOAT)
+	help
+	  If your target CPU does not have a Floating Point Unit (FPU) or a
+	  kernel FPU emulator, but you still wish to support floating point
+	  functions, then everything will need to be compiled with soft
+	  floating point support (-msoft-float).
+
+config BR2_VFP_FLOAT
+	bool "Use ARM Vector Floating Point unit"
+	depends on !BR2_SOFT_FLOAT
+	depends on BR2_arm || BR2_armeb
+	help
+	  Setting this option will enable the "-mfpu=vfp" option.
+	  If your ARM CPU has a Vector Floating Point Unit (VFP)
+	  and the toolchain supports the option, then the
+	  code can be optimized.
+
+	  Most people will answer N.
+
 config BR2_PREFER_STATIC_LIB
 	bool "prefer static libraries"
 	help
toolchain/Config.in.2 +0 -26
index 0fb90ce..0cb1384 100644
@@ -53,20 +53,6 @@ config BR2_USE_WCHAR
 	  If you have an external binary toolchain that has been built 
 	  with WCHAR support then enable this option.
 
-config BR2_PREFER_SOFT_FLOAT
-	bool
-	default y if BR2_arm || BR2_armeb || BR2_avr32 || BR2_mips || BR2_mipsel || BR2_nios2
-
-config BR2_SOFT_FLOAT
-	bool "Use software floating point by default"
-	depends on BR2_arm || BR2_armeb || BR2_avr32 || BR2_mips || BR2_mipsel || BR2_powerpc || BR2_nios2
-	default $(BR2_PREFER_SOFT_FLOAT)
-	help
-	  If your target CPU does not have a Floating Point Unit (FPU) or a
-	  kernel FPU emulator, but you still wish to support floating point
-	  functions, then everything will need to be compiled with soft
-	  floating point support (-msoft-float).
-
 config BR2_USE_SSP
 	bool "Enable stack protection support"
 	help
@@ -146,18 +132,6 @@ config BR2_ENABLE_MULTILIB
 	help
 	    Build libraries to support different ABIs.
 
-config BR2_VFP_FLOAT
-	bool "Use ARM Vector Floating Point unit"
-	depends on !BR2_SOFT_FLOAT
-	depends on BR2_arm || BR2_armeb
-	help
-	  Setting this option will enable the "-mfpu=vfp" option.
-	  If your ARM CPU has a Vector Floating Point Unit (VFP)
-	  and the toolchain supports the option, then the 
-	  code can be optimized.
-	  
-	  Most people will answer N.
-
 config BR2_CROSS_TOOLCHAIN_TARGET_UTILS
 	bool "Include target utils in cross toolchain"
 	default y
Signature · 1 line
1.6.3.3
#4 lore raw

PATCH 3/6 Move BR2_SOFT_FLOAT and BR2_VFP_FLOAT to Build options

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"Thomas" == Thomas Petazzoni <[email protected]> writes:

Thomas> The soft floating point related options not only affect how the Thomas> toolchain is built, but more importantly affect how packages are Thomas> built. Therefore, just like optimization or stripping options, Thomas> floating point related options are global, and belong to the Build Thomas> options menu.

Hmm, couldn't you say the same for ipv6, largefile and locale stuff?

Signature · 1 line
Bye, Peter Korsgaard
#5 lore raw

PATCH 3/6 Move BR2_SOFT_FLOAT and BR2_VFP_FLOAT to Build options

Quoted 7 lines · On Thu, 28 Jan 2010 17:26:27 +0100 Peter Korsgaard <[email protected]> wrote:

Thomas> The soft floating point related options not only affect how Thomas> the toolchain is built, but more importantly affect how Thomas> packages are built. Therefore, just like optimization or Thomas> stripping options, floating point related options are Thomas> global, and belong to the Build options menu.

Hmm, couldn't you say the same for ipv6, largefile and locale stuff?

Hum, true. I will keep them in the Toolchain part, and will resend the full patch set.

Do you agree with the other patches of the patch set ?

Thomas

Signature · 4 lines
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com
#6 lore raw

PATCH 4/6 Move BR2_TARGET_OPTIMIZATION to Build Options and rename it

In reply to Thomas Petazzoni

BR2_TARGET_OPTIMIZATION allows to add any CFLAGS for the target packages building process. Therefore, it is more a Build Option than a Toolchain Option, that's why we move it to the Build Options menu.

Since it is not restricted to optimization flags, we rename it to BR2_EXTRA_TARGET_CFLAGS.

Finally, since the -Os optimization flag is already handled by other Buildroot build options, we remove it from the default value.

---
 Config.in                 |    7 +++++++
 package/Makefile.in       |    5 +++--
 toolchain/Config.in.2     |    6 ------
 toolchain/gcc/Makefile.in |    1 -
 4 files changed, 10 insertions(+), 9 deletions(-)
Config.in +7 -0
index a658b40..2724045 100644
@@ -1,3 +1,4 @@
+
 #
 
 mainmenu "Buildroot2 Configuration"
@@ -326,6 +327,12 @@ config BR2_VFP_FLOAT
 
 	  Most people will answer N.
 
+config BR2_EXTRA_TARGET_CFLAGS
+       string "Extra CFLAGS for target packages"
+       default "-pipe"
+       help
+         Extra CFLAGS to use when building packages for the target.
+
 config BR2_PREFER_STATIC_LIB
 	bool "prefer static libraries"
 	help
package/Makefile.in +3 -2
index e643577..d23a17e 100644
@@ -34,10 +34,11 @@ ifeq ($(BR2_DEBUG_3),y)
 TARGET_DEBUGGING=-g3
 endif
 
+EXTRA_TARGET_CFLAGS=$(call qstrip,$(BR2_EXTRA_TARGET_CFLAGS))
 
 #########################################################################
 ifeq ($(BR2_TOOLCHAIN_BUILDROOT),y)
-TARGET_CFLAGS=$(TARGET_OPTIMIZATION) $(TARGET_DEBUGGING) \
+TARGET_CFLAGS=$(TARGET_OPTIMIZATION) $(TARGET_DEBUGGING) $(EXTRA_TARGET_CFLAGS) \
 	-I$(STAGING_DIR)/usr/include -I$(STAGING_DIR)/include
 TARGET_LDFLAGS+=-L$(STAGING_DIR)/lib -L$(STAGING_DIR)/usr/lib
 ifeq ($(BR2_TOOLCHAIN_SYSROOT),y)
@@ -91,7 +92,7 @@ TARGET_CXXFLAGS=$(TARGET_CFLAGS)
 # else it's an external toolchain
 #########################################################################
 else
-TARGET_CFLAGS=$(TARGET_OPTIMIZATION) $(TARGET_DEBUGGING) --sysroot $(STAGING_DIR)/
+TARGET_CFLAGS=$(TARGET_OPTIMIZATION) $(TARGET_DEBUGGING) $(EXTRA_TARGET_CFLAGS) --sysroot $(STAGING_DIR)/
 TARGET_CXXFLAGS=$(TARGET_CFLAGS)
 TARGET_LDFLAGS=--sysroot $(STAGING_DIR)/
 endif
toolchain/Config.in.2 +0 -6
index 0cb1384..e404657 100644
@@ -116,12 +116,6 @@ config BR2_INSTALL_LIBSTDCPP
 	  support and you want to use the compiler / library then you need 
 	  to select this option.
 
-config BR2_TARGET_OPTIMIZATION
-	string "Target Optimizations"
-	default "-Os -pipe"
-	help
-	  Optimizations to use when building for the target host.
-
 if BR2_TOOLCHAIN_BUILDROOT
 source "toolchain/elf2flt/Config.in"
 source "toolchain/mklibs/Config.in"
toolchain/gcc/Makefile.in +0 -1
index c3e21cf..66473de 100644
@@ -5,7 +5,6 @@
 # the top level.
 
 GCC_VERSION:=$(call qstrip,$(BR2_GCC_VERSION))
-TARGET_OPTIMIZATION:=$(call qstrip,$(BR2_TARGET_OPTIMIZATION))
 EXTRA_GCC_CONFIG_OPTIONS:=$(call qstrip,$(BR2_EXTRA_GCC_CONFIG_OPTIONS))
 
 ifeq ($(call qstrip,$(BR2_GCC_VERSION_SNAP)),y)
Signature · 1 line
1.6.3.3
#7 lore raw

PATCH 5/6 Update defconfigs after BR2_TARGET_OPTIMIZATION rename

In reply to Thomas Petazzoni
---
 configs/arm_toolchain_defconfig           |    2 +-
 configs/at91rm9200df_defconfig            |    2 +-
 configs/at91rm9200df_ext_bare_defconfig   |    2 +-
 configs/at91rm9200df_ext_defconfig        |    2 +-
 configs/at91sam9260dfc_defconfig          |    2 +-
 configs/at91sam9260dfc_ext_bare_defconfig |    2 +-
 configs/at91sam9260dfc_ext_defconfig      |    2 +-
 configs/at91sam9260pf_defconfig           |    2 +-
 configs/at91sam9261ek_defconfig           |    2 +-
 configs/at91sam9261ek_ext_bare_defconfig  |    2 +-
 configs/at91sam9261ek_ext_defconfig       |    2 +-
 configs/at91sam9263ek_defconfig           |    2 +-
 configs/at91sam9263ek_ext_bare_defconfig  |    2 +-
 configs/at91sam9263ek_ext_defconfig       |    2 +-
 configs/at91sam9g20dfc_defconfig          |    2 +-
 configs/at91sam9g20dfc_ext_bare_defconfig |    2 +-
 configs/at91sam9g20dfc_ext_defconfig      |    2 +-
 configs/atngw100-base_defconfig           |    2 +-
 configs/atngw100_defconfig                |    2 +-
 configs/atstk1005_defconfig               |    2 +-
 configs/atstk100x_defconfig               |    2 +-
 configs/i386_defconfig                    |    2 +-
 configs/i686_defconfig                    |    2 +-
 configs/integrator926_defconfig           |    2 +-
 configs/integrator926_huge_defconfig      |    2 +-
 configs/kb9202_defconfig                  |    2 +-
 configs/v100sc2_defconfig                 |    2 +-
 27 files changed, 27 insertions(+), 27 deletions(-)
configs/arm_toolchain_defconfig +1 -1
index f044e51..136b0d7 100644
@@ -291,7 +291,7 @@ BR2_PTHREADS_OLD=y
 # BR2_PTHREADS_NATIVE is not set
 BR2_GCC_CROSS_CXX=y
 BR2_INSTALL_LIBSTDCPP=y
-BR2_TARGET_OPTIMIZATION="-Os -pipe"
+BR2_EXTRA_TARGET_CFLAGS="-pipe"
 # BR2_ELF2FLT is not set
 # BR2_MKLIBS is not set
 # BR2_PACKAGE_SSTRIP_TARGET is not set
configs/at91rm9200df_defconfig +1 -1
index 3d98b0f..c8786a9 100644
@@ -306,7 +306,7 @@ BR2_PTHREADS_OLD=y
 # BR2_PTHREADS_NATIVE is not set
 BR2_GCC_CROSS_CXX=y
 BR2_INSTALL_LIBSTDCPP=y
-BR2_TARGET_OPTIMIZATION="-Os -pipe"
+BR2_EXTRA_TARGET_CFLAGS="-pipe"
 # BR2_ELF2FLT is not set
 # BR2_MKLIBS is not set
 BR2_PACKAGE_SSTRIP_TARGET=y
configs/at91rm9200df_ext_bare_defconfig +1 -1
index 84f6b7e..12666a3 100644
@@ -218,7 +218,7 @@ BR2_PTHREADS_OLD=y
 # BR2_PTHREADS_NATIVE is not set
 BR2_GCC_CROSS_CXX=y
 BR2_INSTALL_LIBSTDCPP=y
-BR2_TARGET_OPTIMIZATION="-Os -pipe"
+BR2_EXTRA_TARGET_CFLAGS="-pipe"
 
 #
 # Package Selection for the target
configs/at91rm9200df_ext_defconfig +1 -1
index 1dea062..386777a 100644
@@ -238,7 +238,7 @@ BR2_PTHREADS_OLD=y
 # BR2_PTHREADS_NATIVE is not set
 BR2_GCC_CROSS_CXX=y
 BR2_INSTALL_LIBSTDCPP=y
-BR2_TARGET_OPTIMIZATION="-Os -pipe"
+BR2_EXTRA_TARGET_CFLAGS="-pipe"
 
 #
 # Package Selection for the target
configs/at91sam9260dfc_defconfig +1 -1
index 1b4094e..3ab9f0c 100644
@@ -324,7 +324,7 @@ BR2_INET_RPC=y
 BR2_USE_WCHAR=y
 # BR2_SOFT_FLOAT is not set
 # BR2_VFP_FLOAT is not set
-BR2_TARGET_OPTIMIZATION="-Os -pipe"
+BR2_EXTRA_TARGET_CFLAGS="-pipe"
 BR2_CROSS_TOOLCHAIN_TARGET_UTILS=y
 
 #
configs/at91sam9260dfc_ext_bare_defconfig +1 -1
index d99cfa2..835ee14 100644
@@ -216,7 +216,7 @@ BR2_PTHREADS_OLD=y
 # BR2_PTHREADS_NATIVE is not set
 BR2_GCC_CROSS_CXX=y
 BR2_INSTALL_LIBSTDCPP=y
-BR2_TARGET_OPTIMIZATION="-Os -pipe"
+BR2_EXTRA_TARGET_CFLAGS="-pipe"
 BR2_TOOLCHAIN_EXTERNAL_PATH="$(GCCROOT)"
 BR2_TOOLCHAIN_EXTERNAL_PREFIX="$(ARCH)-linux"
 
configs/at91sam9260dfc_ext_defconfig +1 -1
index 14bdc7a..c4f1343 100644
@@ -246,7 +246,7 @@ BR2_PTHREADS_OLD=y
 # BR2_PTHREADS_NATIVE is not set
 BR2_GCC_CROSS_CXX=y
 BR2_INSTALL_LIBSTDCPP=y
-BR2_TARGET_OPTIMIZATION="-Os -pipe"
+BR2_EXTRA_TARGET_CFLAGS="-pipe"
 
 #
 # Package Selection for the target
configs/at91sam9260pf_defconfig +1 -1
index c668e03..305b349 100644
@@ -216,7 +216,7 @@ BR2_INET_IPV6=y
 BR2_INET_RPC=y
 BR2_USE_WCHAR=y
 # BR2_SOFT_FLOAT is not set
-BR2_TARGET_OPTIMIZATION="-Os -pipe"
+BR2_EXTRA_TARGET_CFLAGS="-pipe"
 BR2_CROSS_TOOLCHAIN_TARGET_UTILS=y
 
 #
configs/at91sam9261ek_defconfig +1 -1
index 9598085..413f185 100644
@@ -318,7 +318,7 @@ BR2_INET_RPC=y
 BR2_USE_WCHAR=y
 # BR2_SOFT_FLOAT is not set
 # BR2_VFP_FLOAT is not set
-BR2_TARGET_OPTIMIZATION="-Os -pipe"
+BR2_EXTRA_TARGET_CFLAGS="-pipe"
 BR2_CROSS_TOOLCHAIN_TARGET_UTILS=y
 
 #
configs/at91sam9261ek_ext_bare_defconfig +1 -1
index 4c534a7..aa0904b 100644
@@ -221,7 +221,7 @@ BR2_PTHREADS_OLD=y
 # BR2_PTHREADS_NATIVE is not set
 BR2_GCC_CROSS_CXX=y
 BR2_INSTALL_LIBSTDCPP=y
-BR2_TARGET_OPTIMIZATION="-Os -pipe"
+BR2_EXTRA_TARGET_CFLAGS="-pipe"
 
 #
 # Package Selection for the target
configs/at91sam9261ek_ext_defconfig +1 -1
index e7da95a..a5a7600 100644
@@ -277,7 +277,7 @@ BR2_PTHREADS_OLD=y
 # BR2_PTHREADS_NATIVE is not set
 BR2_GCC_CROSS_CXX=y
 BR2_INSTALL_LIBSTDCPP=y
-BR2_TARGET_OPTIMIZATION="-Os -pipe"
+BR2_EXTRA_TARGET_CFLAGS="-pipe"
 
 #
 # Package Selection for the target
configs/at91sam9263ek_defconfig +1 -1
index 145700d..5b232c2 100644
@@ -311,7 +311,7 @@ BR2_PTHREADS_OLD=y
 # BR2_PTHREADS_NATIVE is not set
 BR2_GCC_CROSS_CXX=y
 BR2_INSTALL_LIBSTDCPP=y
-BR2_TARGET_OPTIMIZATION="-Os -pipe"
+BR2_EXTRA_TARGET_CFLAGS="-pipe"
 # BR2_ELF2FLT is not set
 # BR2_MKLIBS is not set
 # BR2_PACKAGE_SSTRIP_TARGET is not set
configs/at91sam9263ek_ext_bare_defconfig +1 -1
index 185372c..6035573 100644
@@ -220,7 +220,7 @@ BR2_PTHREADS_OLD=y
 # BR2_PTHREADS_NATIVE is not set
 BR2_GCC_CROSS_CXX=y
 BR2_INSTALL_LIBSTDCPP=y
-BR2_TARGET_OPTIMIZATION="-Os -pipe"
+BR2_EXTRA_TARGET_CFLAGS="-pipe"
 
 #
 # Package Selection for the target
configs/at91sam9263ek_ext_defconfig +1 -1
index 15b4d3b..ae16d78 100644
@@ -239,7 +239,7 @@ BR2_PTHREADS_OLD=y
 # BR2_PTHREADS_NATIVE is not set
 BR2_GCC_CROSS_CXX=y
 BR2_INSTALL_LIBSTDCPP=y
-BR2_TARGET_OPTIMIZATION="-Os -pipe"
+BR2_EXTRA_TARGET_CFLAGS="-pipe"
 
 #
 # Package Selection for the target
configs/at91sam9g20dfc_defconfig +1 -1
index a6ef10c..c84684e 100644
@@ -311,7 +311,7 @@ BR2_PTHREADS_OLD=y
 # BR2_PTHREADS_NATIVE is not set
 BR2_GCC_CROSS_CXX=y
 BR2_INSTALL_LIBSTDCPP=y
-BR2_TARGET_OPTIMIZATION="-Os -pipe"
+BR2_EXTRA_TARGET_CFLAGS="-pipe"
 # BR2_ELF2FLT is not set
 # BR2_MKLIBS is not set
 BR2_PACKAGE_SSTRIP_TARGET=y
configs/at91sam9g20dfc_ext_bare_defconfig +1 -1
index 3feef30..d6f077b 100644
@@ -218,7 +218,7 @@ BR2_PTHREADS_OLD=y
 # BR2_PTHREADS_NATIVE is not set
 BR2_GCC_CROSS_CXX=y
 BR2_INSTALL_LIBSTDCPP=y
-BR2_TARGET_OPTIMIZATION="-Os -pipe"
+BR2_EXTRA_TARGET_CFLAGS="-pipe"
 
 #
 # Package Selection for the target
configs/at91sam9g20dfc_ext_defconfig +1 -1
index 96d9793..0d17dee 100644
@@ -246,7 +246,7 @@ BR2_PTHREADS_OLD=y
 # BR2_PTHREADS_NATIVE is not set
 BR2_GCC_CROSS_CXX=y
 BR2_INSTALL_LIBSTDCPP=y
-BR2_TARGET_OPTIMIZATION="-Os -pipe"
+BR2_EXTRA_TARGET_CFLAGS="-pipe"
 
 #
 # Package Selection for the target
configs/atngw100-base_defconfig +1 -1
index 6fbc0de..4ea3ecd 100644
@@ -236,7 +236,7 @@ BR2_SOFT_FLOAT=y
 BR2_PTHREADS_OLD=y
 # BR2_PTHREADS_NATIVE is not set
 # BR2_INSTALL_LIBSTDCPP is not set
-BR2_TARGET_OPTIMIZATION="-Os -pipe"
+BR2_EXTRA_TARGET_CFLAGS="-pipe"
 # BR2_MKLIBS is not set
 # BR2_PACKAGE_SSTRIP_TARGET is not set
 # BR2_PACKAGE_SSTRIP_HOST is not set
configs/atngw100_defconfig +1 -1
index 7a6cba4..5e75f3a 100644
@@ -247,7 +247,7 @@ BR2_PTHREADS_OLD=y
 # BR2_PTHREADS_NATIVE is not set
 BR2_GCC_CROSS_CXX=y
 BR2_INSTALL_LIBSTDCPP=y
-BR2_TARGET_OPTIMIZATION="-Os -pipe"
+BR2_EXTRA_TARGET_CFLAGS="-pipe"
 # BR2_MKLIBS is not set
 # BR2_PACKAGE_SSTRIP_TARGET is not set
 # BR2_PACKAGE_SSTRIP_HOST is not set
configs/atstk1005_defconfig +1 -1
index 309ac08..75442bc 100644
@@ -252,7 +252,7 @@ BR2_PTHREADS_OLD=y
 # BR2_PTHREADS_NATIVE is not set
 BR2_GCC_CROSS_CXX=y
 BR2_INSTALL_LIBSTDCPP=y
-BR2_TARGET_OPTIMIZATION="-Os -pipe"
+BR2_EXTRA_TARGET_CFLAGS="-pipe"
 # BR2_MKLIBS is not set
 # BR2_PACKAGE_SSTRIP_TARGET is not set
 # BR2_PACKAGE_SSTRIP_HOST is not set
configs/atstk100x_defconfig +1 -1
index b4abff9..16c25cb 100644
@@ -248,7 +248,7 @@ BR2_PTHREADS_OLD=y
 # BR2_PTHREADS_NATIVE is not set
 BR2_GCC_CROSS_CXX=y
 BR2_INSTALL_LIBSTDCPP=y
-BR2_TARGET_OPTIMIZATION="-Os -pipe"
+BR2_EXTRA_TARGET_CFLAGS="-pipe"
 # BR2_MKLIBS is not set
 # BR2_PACKAGE_SSTRIP_TARGET is not set
 # BR2_PACKAGE_SSTRIP_HOST is not set
configs/i386_defconfig +1 -1
index 97067c4..b1f22a8 100644
@@ -246,7 +246,7 @@ BR2_PTHREADS_OLD=y
 # BR2_PTHREADS_NATIVE is not set
 BR2_GCC_CROSS_CXX=y
 BR2_INSTALL_LIBSTDCPP=y
-BR2_TARGET_OPTIMIZATION="-Os -pipe"
+BR2_EXTRA_TARGET_CFLAGS="-pipe"
 # BR2_MKLIBS is not set
 # BR2_PACKAGE_SSTRIP_TARGET is not set
 # BR2_PACKAGE_SSTRIP_HOST is not set
configs/i686_defconfig +1 -1
index a3a2683..d2ba8f0 100644
@@ -246,7 +246,7 @@ BR2_PTHREADS_OLD=y
 # BR2_PTHREADS_NATIVE is not set
 BR2_GCC_CROSS_CXX=y
 BR2_INSTALL_LIBSTDCPP=y
-BR2_TARGET_OPTIMIZATION="-Os -pipe"
+BR2_EXTRA_TARGET_CFLAGS="-pipe"
 # BR2_MKLIBS is not set
 # BR2_PACKAGE_SSTRIP_TARGET is not set
 # BR2_PACKAGE_SSTRIP_HOST is not set
configs/integrator926_defconfig +1 -1
index 2d2579b..434e87a 100644
@@ -242,7 +242,7 @@ BR2_GCC_SHARED_LIBGCC=y
 # BR2_INET_RPC is not set
 # BR2_USE_WCHAR is not set
 BR2_SOFT_FLOAT=y
-BR2_TARGET_OPTIMIZATION="-Os -pipe -fwrapv"
+BR2_EXTRA_TARGET_CFLAGS="-pipe -fwrapv"
 BR2_CROSS_TOOLCHAIN_TARGET_UTILS=y
 
 #
configs/integrator926_huge_defconfig +1 -1
index 380e2e1..7533259 100644
@@ -243,7 +243,7 @@ BR2_INET_IPV6=y
 BR2_INET_RPC=y
 BR2_USE_WCHAR=y
 BR2_SOFT_FLOAT=y
-BR2_TARGET_OPTIMIZATION="-Os -pipe -fwrapv"
+BR2_EXTRA_TARGET_CFLAGS="-pipe -fwrapv"
 BR2_CROSS_TOOLCHAIN_TARGET_UTILS=y
 
 #
configs/kb9202_defconfig +1 -1
index 608eb86..a5708ce 100644
@@ -244,7 +244,7 @@ BR2_GCC_SHARED_LIBGCC=y
 # BR2_INET_RPC is not set
 # BR2_USE_WCHAR is not set
 BR2_SOFT_FLOAT=y
-BR2_TARGET_OPTIMIZATION="-Os -pipe"
+BR2_EXTRA_TARGET_CFLAGS="-pipe"
 BR2_CROSS_TOOLCHAIN_TARGET_UTILS=y
 
 #
configs/v100sc2_defconfig +1 -1
index 336953e..448debc 100644
@@ -217,7 +217,7 @@ BR2_INET_IPV6=y
 BR2_INET_RPC=y
 BR2_USE_WCHAR=y
 BR2_SOFT_FLOAT=y
-BR2_TARGET_OPTIMIZATION="-Os -pipe"
+BR2_EXTRA_TARGET_CFLAGS="-pipe"
 BR2_CROSS_TOOLCHAIN_TARGET_UTILS=y
 
 #
Signature · 1 line
1.6.3.3
#8 lore raw

PATCH 6/6 toolchain: Clarify configuration option files organization

In reply to Thomas Petazzoni

Instead of a mess of Config.in, Config.in.1 and Config.in.2 files, the organization is now as follows:

* Config.in only provides the Buildroot toolchain vs. external toolchain choices. Depending on this, it sources either Config.in.buildroot or Config.in.external files

* Config.in.buildroot provides the Buildroot toolchain configuration options

* Config.in.external provides the external toolchain configuration options

Options such as RPC, IPv6, large file, wide char, locale support, program invocation and so forth are duplicated in Buildroot and external toolchain support. This allows to provide an option label that really matches what the option is for.

---
 toolchain/Config.in                            |   16 +--
 toolchain/Config.in.1                          |    9 --
 toolchain/{Config.in.2 => Config.in.buildroot} |   60 ++++++------
 toolchain/Config.in.external                   |  128 ++++++++++++++++++++++++
 toolchain/external-toolchain/Config.in         |   22 ----
 toolchain/external-toolchain/Config.in.2       |   17 ---
 6 files changed, 165 insertions(+), 87 deletions(-)
 delete mode 100644 toolchain/Config.in.1
 rename toolchain/{Config.in.2 => Config.in.buildroot} (80%)
 create mode 100644 toolchain/Config.in.external
 delete mode 100644 toolchain/external-toolchain/Config.in
 delete mode 100644 toolchain/external-toolchain/Config.in.2
toolchain/Config.in +6 -10
index ee34e03..c3052fc 100644
@@ -16,16 +16,12 @@ config BR2_TOOLCHAIN_EXTERNAL
 
 endchoice
 
-source "toolchain/Config.in.1"
-source "toolchain/external-toolchain/Config.in"
+if BR2_TOOLCHAIN_BUILDROOT
+source "toolchain/Config.in.buildroot"
+endif
 
-# we want gdb config in the middle of both source and external
-# toolchains, but mconf won't let us source the same file twice,
-# so put it here instead
-source "toolchain/gdb/Config.in"
-comment "Common Toolchain Options"
-
-source "toolchain/Config.in.2"
-source "toolchain/external-toolchain/Config.in.2"
+if BR2_TOOLCHAIN_EXTERNAL
+source "toolchain/Config.in.external"
+endif
 
 endmenu
toolchain/Config.in.1 deleted +0 -9
deleted file mode 100644
index 5c26858..0000000
@@ -1,9 +0,0 @@
-#
-
-if BR2_TOOLCHAIN_BUILDROOT
-source "toolchain/kernel-headers/Config.in"
-source "toolchain/uClibc/Config.in"
-source "toolchain/binutils/Config.in"
-source "toolchain/gcc/Config.in"
-source "toolchain/ccache/Config.in"
-endif
toolchain/Config.in.buildroot renamed from toolchain/Config.in.2 +31 -29

109 lines not on this page · raw message

toolchain/Config.in.external new file +128 -0

128 lines not on this page · raw message

toolchain/external-toolchain/Config.in deleted +0 -22
deleted file mode 100644
index efc8378..0000000
@@ -1,22 +0,0 @@
-#
-
-if BR2_TOOLCHAIN_EXTERNAL
-choice
-	prompt "External toolchain C library"
-	default BR2_TOOLCHAIN_EXTERNAL_UCLIBC
-
-config BR2_TOOLCHAIN_EXTERNAL_UCLIBC
-	bool "uClibc"
-
-config BR2_TOOLCHAIN_EXTERNAL_GLIBC
-	bool "glibc"
-
-endchoice
-
-config BR2_TOOLCHAIN_EXTERNAL_STRIP
-        bool
-        default y
-        prompt "Strip shared libraries"
-	help
-	  Strip shared libraries copied from the external toolchain.
-endif
toolchain/external-toolchain/Config.in.2 deleted +0 -17
deleted file mode 100644
index 489558c..0000000
@@ -1,17 +0,0 @@
-#
-
-if BR2_TOOLCHAIN_EXTERNAL
-config BR2_TOOLCHAIN_EXTERNAL_PATH
-	string "External toolchain path"
-	default "/path/to/staging_dir/usr"
-	help
-	  Path to where the external toolchain is installed.
-
-config BR2_TOOLCHAIN_EXTERNAL_PREFIX
-	string "External toolchain prefix"
-	default "$(ARCH)-linux"
-	help
-	  This the the external toolchain prefix. For example:
-	    armeb-unknown-linux-gnu, mipsel-unknown-linux-gnu, etc.
-
-endif
Signature · 1 line
1.6.3.3