buildroot: allow specifying libc personality for external toolchains
SVN-Revision: 35703
This commit is contained in:
		| @@ -356,6 +356,10 @@ print_config() { | |||||||
| 	echo "CONFIG_TOOLCHAIN_PREFIX=\"$prefix\"" >> "$config" | 	echo "CONFIG_TOOLCHAIN_PREFIX=\"$prefix\"" >> "$config" | ||||||
| 	echo "CONFIG_TARGET_NAME=\"$target\"" >> "$config" | 	echo "CONFIG_TARGET_NAME=\"$target\"" >> "$config" | ||||||
|  |  | ||||||
|  | 	if [ "$LIBC_TYPE" != glibc ]; then | ||||||
|  | 		echo "CONFIG_TOOLCHAIN_LIBC=\"$LIBC_TYPE\"" >> "$config" | ||||||
|  | 	fi | ||||||
|  |  | ||||||
| 	local lib | 	local lib | ||||||
| 	for lib in C RT PTHREAD GCC STDCPP SSP GFORTRAN; do | 	for lib in C RT PTHREAD GCC STDCPP SSP GFORTRAN; do | ||||||
| 		local file | 		local file | ||||||
|   | |||||||
| @@ -50,6 +50,17 @@ menuconfig EXTERNAL_TOOLCHAIN | |||||||
| 		default "/opt/cross/powerpc-unknown-linux-gnu"  if powerpc | 		default "/opt/cross/powerpc-unknown-linux-gnu"  if powerpc | ||||||
| 		default "/opt/cross/x86_64-unknown-linux-gnu"   if x86_64 | 		default "/opt/cross/x86_64-unknown-linux-gnu"   if x86_64 | ||||||
|  |  | ||||||
|  | 	config TOOLCHAIN_LIBC | ||||||
|  | 		string | ||||||
|  | 		prompt "Toolchain libc"  if DEVEL | ||||||
|  | 		depends EXTERNAL_TOOLCHAIN && !NATIVE_TOOLCHAIN | ||||||
|  | 		default "uclibc" | ||||||
|  | 		help | ||||||
|  | 		  Specify the libc type used by the external toolchain. The given value us passed as -m | ||||||
|  | 		  flag to all gcc and g++ invocations. This is mainly intended for multilib toolchains | ||||||
|  | 		  which support glibc and uclibc at the same time. If no value is specified, no -m flag | ||||||
|  | 		  is passed. | ||||||
|  |  | ||||||
| 	config TOOLCHAIN_BIN_PATH | 	config TOOLCHAIN_BIN_PATH | ||||||
| 		string | 		string | ||||||
| 		prompt "Toolchain program path"  if DEVEL | 		prompt "Toolchain program path"  if DEVEL | ||||||
|   | |||||||
| @@ -17,7 +17,7 @@ include $(INCLUDE_DIR)/toolchain-build.mk | |||||||
| define toolchain_util | define toolchain_util | ||||||
| $(strip $(SCRIPT_DIR)/ext-toolchain.sh --toolchain $(CONFIG_TOOLCHAIN_ROOT) \ | $(strip $(SCRIPT_DIR)/ext-toolchain.sh --toolchain $(CONFIG_TOOLCHAIN_ROOT) \ | ||||||
| 	--cflags $(CONFIG_TARGET_OPTIMIZATION) \ | 	--cflags $(CONFIG_TARGET_OPTIMIZATION) \ | ||||||
| 	--cflags "-muclibc $(if $(CONFIG_SOFT_FLOAT),-msoft-float)" \ | 	--cflags "$(if $(call qstrip,$(CONFIG_TOOLCHAIN_LIBC)),-m$(call qstrip,$(CONFIG_TOOLCHAIN_LIBC))) $(if $(CONFIG_SOFT_FLOAT),-msoft-float)" \ | ||||||
| 	--cflags "$(patsubst ./%,-I$(TOOLCHAIN_ROOT_DIR)/%,$(call qstrip,$(CONFIG_TOOLCHAIN_INC_PATH)))" \ | 	--cflags "$(patsubst ./%,-I$(TOOLCHAIN_ROOT_DIR)/%,$(call qstrip,$(CONFIG_TOOLCHAIN_INC_PATH)))" \ | ||||||
| 	--cflags "$(patsubst ./%,-L$(TOOLCHAIN_ROOT_DIR)/%,$(call qstrip,$(CONFIG_TOOLCHAIN_LIB_PATH)))" \ | 	--cflags "$(patsubst ./%,-L$(TOOLCHAIN_ROOT_DIR)/%,$(call qstrip,$(CONFIG_TOOLCHAIN_LIB_PATH)))" \ | ||||||
| 	$(1)) | 	$(1)) | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Jo-Philipp Wich
					Jo-Philipp Wich