From 8d880c3e5c68bea752c2a075d0ef0c64805df93f Mon Sep 17 00:00:00 2001 From: Thomas Petazzoni Date: Fri, 31 Jul 2009 11:40:34 +0200 Subject: [PATCH] Fix PROGRAM_INVOCATION handling with external toolchains BR2_UCLIBC_PROGRAM_INVOCATION is a toolchain configuration option, like BR2_INET_IPV6, BR2_INET_RPC, on which some packages depend. Therefore, it should be handled like BR2_INET_IPV6 and BR2_INET_RPC in order to work properly with external toolchains. Since we move it out of toolchain/uClibc/Config.in into toolchain/Config.in.2, we rename the option to BR2_PROGRAM_INVOCATION (since BR2_INET_RPC and others don't have UCLIBC in their name). Signed-off-by: Thomas Petazzoni --- package/coreutils/Config.in | 4 ++-- package/tar/Config.in | 4 ++-- target/generic/Config.in | 4 ++-- toolchain/Config.in.2 | 10 ++++++++++ toolchain/external-toolchain/ext-tool.mk | 4 +++- toolchain/uClibc/Config.in | 8 -------- toolchain/uClibc/uclibc.mk | 2 +- 7 files changed, 20 insertions(+), 16 deletions(-) diff --git a/package/coreutils/Config.in b/package/coreutils/Config.in index 5dfe43c9de..a7159cf9ea 100644 --- a/package/coreutils/Config.in +++ b/package/coreutils/Config.in @@ -1,6 +1,6 @@ config BR2_PACKAGE_COREUTILS bool "coreutils" - depends on BR2_USE_WCHAR && BR2_UCLIBC_PROGRAM_INVOCATION + depends on BR2_USE_WCHAR && BR2_PROGRAM_INVOCATION help All of the basic file/text/shell utilities. These are the core utilities which are expected to exist on every system. @@ -14,4 +14,4 @@ config BR2_PACKAGE_COREUTILS http://www.gnu.org/software/coreutils/ comment "coreutils requires a toolchain with WCHAR and PROGRAM_INVOCATION support" - depends on !(BR2_USE_WCHAR && BR2_UCLIBC_PROGRAM_INVOCATION) + depends on !(BR2_USE_WCHAR && BR2_PROGRAM_INVOCATION) diff --git a/package/tar/Config.in b/package/tar/Config.in index a257949398..20529e3783 100644 --- a/package/tar/Config.in +++ b/package/tar/Config.in @@ -1,6 +1,6 @@ config BR2_PACKAGE_TAR bool "tar" - depends on BR2_USE_WCHAR && BR2_UCLIBC_PROGRAM_INVOCATION + depends on BR2_USE_WCHAR && BR2_PROGRAM_INVOCATION help A program that saves many files together into a single tape or disk archive, and can restore individual files from the archive. @@ -8,4 +8,4 @@ config BR2_PACKAGE_TAR http://www.gnu.org/software/tar/ comment "tar requires a toolchain with WCHAR and PROGRAM_INVOCATION support" - depends on !(BR2_USE_WCHAR && BR2_UCLIBC_PROGRAM_INVOCATION) + depends on !(BR2_USE_WCHAR && BR2_PROGRAM_INVOCATION) diff --git a/target/generic/Config.in b/target/generic/Config.in index 5f5110ca51..5de581104c 100644 --- a/target/generic/Config.in +++ b/target/generic/Config.in @@ -18,7 +18,7 @@ config BR2_TARGET_GENERIC_FIREWALL config BR2_TARGET_GENERIC_DEV_SYSTEM bool "Generic development system" - depends on BR2_USE_WCHAR && BR2_UCLIBC_PROGRAM_INVOCATION + depends on BR2_USE_WCHAR && BR2_PROGRAM_INVOCATION select BR2_CCACHE select BR2_PACKAGE_GDB select BR2_PACKAGE_GDB_SERVER @@ -59,7 +59,7 @@ config BR2_TARGET_GENERIC_DEV_SYSTEM Board support for a generic development system. comment "Generic development system requires a toolchain with WCHAR and PROGRAM_INVOCATION support" - depends on !(BR2_USE_WCHAR && BR2_UCLIBC_PROGRAM_INVOCATION) + depends on !(BR2_USE_WCHAR && BR2_PROGRAM_INVOCATION) menuconfig BR2_TARGET_GENERIC_GETTY bool "Generic serial port config" diff --git a/toolchain/Config.in.2 b/toolchain/Config.in.2 index 5df04e01be..2a9ce24ef4 100644 --- a/toolchain/Config.in.2 +++ b/toolchain/Config.in.2 @@ -119,6 +119,16 @@ choice bool "Native POSIX Threading (NPTL)" endchoice +config BR2_PROGRAM_INVOCATION + bool "Enable 'program invocation name'" + help + Support for the GNU-specific program_invocation_name and + program_invocation_short_name strings. Some GNU packages + (like tar and coreutils) utilize these for extra useful + output, but in general are not required. + If you have an external binary toolchain that has been built + with program invocation support then enable this option. + config BR2_GCC_CROSS_CXX bool help diff --git a/toolchain/external-toolchain/ext-tool.mk b/toolchain/external-toolchain/ext-tool.mk index d441a92524..568ac3a35b 100644 --- a/toolchain/external-toolchain/ext-tool.mk +++ b/toolchain/external-toolchain/ext-tool.mk @@ -115,7 +115,8 @@ check_glibc = \ $(call check_glibc_feature,BR2_INET_IPV6,IPv6 support) ;\ $(call check_glibc_feature,BR2_INET_RPC,RPC support) ;\ $(call check_glibc_feature,BR2_ENABLE_LOCALE,Locale support) ;\ - $(call check_glibc_feature,BR2_USE_WCHAR,Wide char support) + $(call check_glibc_feature,BR2_USE_WCHAR,Wide char support) ;\ + $(call check_glibc_feature,BR2_PROGRAM_INVOCATION,Program invocation support) # # Check the conformity of Buildroot configuration with regard to the @@ -160,6 +161,7 @@ check_uclibc = \ $(call check_uclibc_feature,__UCLIBC_HAS_RPC__,BR2_INET_RPC,$${UCLIBC_CONFIG_FILE},RPC support) ;\ $(call check_uclibc_feature,__UCLIBC_HAS_LOCALE__,BR2_ENABLE_LOCALE,$${UCLIBC_CONFIG_FILE},Locale support) ;\ $(call check_uclibc_feature,__UCLIBC_HAS_WCHAR__,BR2_USE_WCHAR,$${UCLIBC_CONFIG_FILE},Wide char support) ;\ + $(call check_uclibc_feature,__UCLIBC_HAS_PROGRAM_INVOCATION_NAME__,BR2_PROGRAM_INVOCATION,$${UCLIBC_CONFIG_FILE},Program invocation support) ;\ # # Check that the Buildroot configuration of the ABI matches the diff --git a/toolchain/uClibc/Config.in b/toolchain/uClibc/Config.in index b7678a356d..d0486abd64 100644 --- a/toolchain/uClibc/Config.in +++ b/toolchain/uClibc/Config.in @@ -68,14 +68,6 @@ config BR2_PTHREAD_DEBUG help Build the thread library with debugging enabled. -config BR2_UCLIBC_PROGRAM_INVOCATION - bool "Enable 'program invocation name'" - help - Support for the GNU-specific program_invocation_name and - program_invocation_short_name strings. Some GNU packages - (like tar and coreutils) utilize these for extra useful - output, but in general are not required. - config BR2_UCLIBC_INSTALL_TEST_SUITE bool "Compile and install uClibc tests" select BR2_PACKAGE_MAKE diff --git a/toolchain/uClibc/uclibc.mk b/toolchain/uClibc/uclibc.mk index 80d7d9861b..de8e1d5623 100644 --- a/toolchain/uClibc/uclibc.mk +++ b/toolchain/uClibc/uclibc.mk @@ -353,7 +353,7 @@ ifeq ($(BR2_USE_WCHAR),y) else $(SED) 's,^.*UCLIBC_HAS_WCHAR.*,UCLIBC_HAS_WCHAR=n,g' $(UCLIBC_DIR)/.oldconfig endif -ifeq ($(BR2_UCLIBC_PROGRAM_INVOCATION),y) +ifeq ($(BR2_PROGRAM_INVOCATION),y) $(SED) 's,^.*UCLIBC_HAS_PROGRAM_INVOCATION_NAME.*,UCLIBC_HAS_PROGRAM_INVOCATION_NAME=y,g' $(UCLIBC_DIR)/.oldconfig else $(SED) 's,^.*UCLIBC_HAS_PROGRAM_INVOCATION_NAME.*,UCLIBC_HAS_PROGRAM_INVOCATION_NAME=n,g' $(UCLIBC_DIR)/.oldconfig