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 <thomas.petazzoni@free-electrons.com>
This commit is contained in:
Thomas Petazzoni 2009-07-31 11:40:34 +02:00
parent d4a8eebf59
commit 8d880c3e5c
7 changed files with 20 additions and 16 deletions

View File

@ -1,6 +1,6 @@
config BR2_PACKAGE_COREUTILS config BR2_PACKAGE_COREUTILS
bool "coreutils" bool "coreutils"
depends on BR2_USE_WCHAR && BR2_UCLIBC_PROGRAM_INVOCATION depends on BR2_USE_WCHAR && BR2_PROGRAM_INVOCATION
help help
All of the basic file/text/shell utilities. These are the All of the basic file/text/shell utilities. These are the
core utilities which are expected to exist on every system. core utilities which are expected to exist on every system.
@ -14,4 +14,4 @@ config BR2_PACKAGE_COREUTILS
http://www.gnu.org/software/coreutils/ http://www.gnu.org/software/coreutils/
comment "coreutils requires a toolchain with WCHAR and PROGRAM_INVOCATION support" 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)

View File

@ -1,6 +1,6 @@
config BR2_PACKAGE_TAR config BR2_PACKAGE_TAR
bool "tar" bool "tar"
depends on BR2_USE_WCHAR && BR2_UCLIBC_PROGRAM_INVOCATION depends on BR2_USE_WCHAR && BR2_PROGRAM_INVOCATION
help help
A program that saves many files together into a single tape or disk A program that saves many files together into a single tape or disk
archive, and can restore individual files from the archive. archive, and can restore individual files from the archive.
@ -8,4 +8,4 @@ config BR2_PACKAGE_TAR
http://www.gnu.org/software/tar/ http://www.gnu.org/software/tar/
comment "tar requires a toolchain with WCHAR and PROGRAM_INVOCATION support" 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)

View File

@ -18,7 +18,7 @@ config BR2_TARGET_GENERIC_FIREWALL
config BR2_TARGET_GENERIC_DEV_SYSTEM config BR2_TARGET_GENERIC_DEV_SYSTEM
bool "Generic development 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_CCACHE
select BR2_PACKAGE_GDB select BR2_PACKAGE_GDB
select BR2_PACKAGE_GDB_SERVER select BR2_PACKAGE_GDB_SERVER
@ -59,7 +59,7 @@ config BR2_TARGET_GENERIC_DEV_SYSTEM
Board support for a generic development system. Board support for a generic development system.
comment "Generic development system requires a toolchain with WCHAR and PROGRAM_INVOCATION support" 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 menuconfig BR2_TARGET_GENERIC_GETTY
bool "Generic serial port config" bool "Generic serial port config"

View File

@ -119,6 +119,16 @@ choice
bool "Native POSIX Threading (NPTL)" bool "Native POSIX Threading (NPTL)"
endchoice 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 config BR2_GCC_CROSS_CXX
bool bool
help help

View File

@ -115,7 +115,8 @@ check_glibc = \
$(call check_glibc_feature,BR2_INET_IPV6,IPv6 support) ;\ $(call check_glibc_feature,BR2_INET_IPV6,IPv6 support) ;\
$(call check_glibc_feature,BR2_INET_RPC,RPC support) ;\ $(call check_glibc_feature,BR2_INET_RPC,RPC support) ;\
$(call check_glibc_feature,BR2_ENABLE_LOCALE,Locale 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 # 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_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_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_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 # Check that the Buildroot configuration of the ABI matches the

View File

@ -68,14 +68,6 @@ config BR2_PTHREAD_DEBUG
help help
Build the thread library with debugging enabled. 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 config BR2_UCLIBC_INSTALL_TEST_SUITE
bool "Compile and install uClibc tests" bool "Compile and install uClibc tests"
select BR2_PACKAGE_MAKE select BR2_PACKAGE_MAKE

View File

@ -353,7 +353,7 @@ ifeq ($(BR2_USE_WCHAR),y)
else else
$(SED) 's,^.*UCLIBC_HAS_WCHAR.*,UCLIBC_HAS_WCHAR=n,g' $(UCLIBC_DIR)/.oldconfig $(SED) 's,^.*UCLIBC_HAS_WCHAR.*,UCLIBC_HAS_WCHAR=n,g' $(UCLIBC_DIR)/.oldconfig
endif 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 $(SED) 's,^.*UCLIBC_HAS_PROGRAM_INVOCATION_NAME.*,UCLIBC_HAS_PROGRAM_INVOCATION_NAME=y,g' $(UCLIBC_DIR)/.oldconfig
else else
$(SED) 's,^.*UCLIBC_HAS_PROGRAM_INVOCATION_NAME.*,UCLIBC_HAS_PROGRAM_INVOCATION_NAME=n,g' $(UCLIBC_DIR)/.oldconfig $(SED) 's,^.*UCLIBC_HAS_PROGRAM_INVOCATION_NAME.*,UCLIBC_HAS_PROGRAM_INVOCATION_NAME=n,g' $(UCLIBC_DIR)/.oldconfig