Supporting multilib is much more than just passing --enable-multilib
to gcc. You have to actually build the C library several times (once
for each multilib variant you want to support in your toolchain), and
to pass MULTILIB_OPTIONS/MULTILIB_EXCEPTIONS values to gcc to let it
know the set of multilib variants you're interested in.
Since we'll probably never support multilib toolchains in Buildroot,
just get rid of this BR2_ENABLE_MULTILIB option.
Signed-off-by: Thomas Petazzoni <[email protected]>
# BR2_MKLIBS is not set
# BR2_PACKAGE_SSTRIP_TARGET is not set
# BR2_PACKAGE_SSTRIP_HOST is not set
-# BR2_ENABLE_MULTILIB is not set
# BR2_VFP_FLOAT is not set
BR2_CROSS_TOOLCHAIN_TARGET_UTILS=y
# BR2_MKLIBS is not set
BR2_PACKAGE_SSTRIP_TARGET=y
BR2_PACKAGE_SSTRIP_HOST=y
-# BR2_ENABLE_MULTILIB is not set
# BR2_VFP_FLOAT is not set
BR2_CROSS_TOOLCHAIN_TARGET_UTILS=y
# BR2_MKLIBS is not set
BR2_PACKAGE_SSTRIP_TARGET=y
BR2_PACKAGE_SSTRIP_HOST=y
-# BR2_ENABLE_MULTILIB is not set
BR2_LARGEFILE=y
BR2_INET_IPV6=y
BR2_INET_RPC=y
#
BR2_PACKAGE_SSTRIP_TARGET=y
BR2_PACKAGE_SSTRIP_HOST=y
-# BR2_ENABLE_MULTILIB is not set
BR2_LARGEFILE=y
BR2_INET_IPV6=y
BR2_INET_RPC=y
# BR2_MKLIBS is not set
# BR2_PACKAGE_SSTRIP_TARGET is not set
BR2_PACKAGE_SSTRIP_HOST=y
-# BR2_ENABLE_MULTILIB is not set
BR2_LARGEFILE=y
BR2_INET_IPV6=y
BR2_INET_RPC=y
# BR2_MKLIBS is not set
# BR2_PACKAGE_SSTRIP_TARGET is not set
BR2_PACKAGE_SSTRIP_HOST=y
-# BR2_ENABLE_MULTILIB is not set
# BR2_VFP_FLOAT is not set
BR2_CROSS_TOOLCHAIN_TARGET_UTILS=y
# BR2_MKLIBS is not set
BR2_PACKAGE_SSTRIP_TARGET=y
BR2_PACKAGE_SSTRIP_HOST=y
-# BR2_ENABLE_MULTILIB is not set
# BR2_VFP_FLOAT is not set
BR2_CROSS_TOOLCHAIN_TARGET_UTILS=y
# BR2_MKLIBS is not set
# BR2_PACKAGE_SSTRIP_TARGET is not set
# BR2_PACKAGE_SSTRIP_HOST is not set
-# BR2_ENABLE_MULTILIB is not set
# BR2_CROSS_TOOLCHAIN_TARGET_UTILS is not set
#
# BR2_MKLIBS is not set
# BR2_PACKAGE_SSTRIP_TARGET is not set
# BR2_PACKAGE_SSTRIP_HOST is not set
-# BR2_ENABLE_MULTILIB is not set
BR2_CROSS_TOOLCHAIN_TARGET_UTILS=y
#
# BR2_MKLIBS is not set
# BR2_PACKAGE_SSTRIP_TARGET is not set
# BR2_PACKAGE_SSTRIP_HOST is not set
-# BR2_ENABLE_MULTILIB is not set
BR2_CROSS_TOOLCHAIN_TARGET_UTILS=y
#
# BR2_MKLIBS is not set
# BR2_PACKAGE_SSTRIP_TARGET is not set
# BR2_PACKAGE_SSTRIP_HOST is not set
-# BR2_ENABLE_MULTILIB is not set
BR2_CROSS_TOOLCHAIN_TARGET_UTILS=y
#
# BR2_MKLIBS is not set
# BR2_PACKAGE_SSTRIP_TARGET is not set
# BR2_PACKAGE_SSTRIP_HOST is not set
-# BR2_ENABLE_MULTILIB is not set
BR2_CROSS_TOOLCHAIN_TARGET_UTILS=y
#
# BR2_MKLIBS is not set
# BR2_PACKAGE_SSTRIP_TARGET is not set
# BR2_PACKAGE_SSTRIP_HOST is not set
-# BR2_ENABLE_MULTILIB is not set
BR2_CROSS_TOOLCHAIN_TARGET_UTILS=y
#
# BR2_MKLIBS is not set
# BR2_PACKAGE_SSTRIP_TARGET is not set
# BR2_PACKAGE_SSTRIP_HOST is not set
-# BR2_ENABLE_MULTILIB is not set
# BR2_LARGEFILE is not set
# BR2_INET_IPV6 is not set
# BR2_INET_RPC is not set
# BR2_MKLIBS is not set
# BR2_PACKAGE_SSTRIP_TARGET is not set
# BR2_PACKAGE_SSTRIP_HOST is not set
-# BR2_ENABLE_MULTILIB is not set
BR2_LARGEFILE=y
BR2_INET_IPV6=y
BR2_INET_RPC=y
# BR2_MKLIBS is not set
# BR2_PACKAGE_SSTRIP_TARGET is not set
# BR2_PACKAGE_SSTRIP_HOST is not set
-# BR2_ENABLE_MULTILIB is not set
# BR2_LARGEFILE is not set
# BR2_INET_IPV6 is not set
# BR2_INET_RPC is not set
# BR2_MKLIBS is not set
# BR2_PACKAGE_SSTRIP_TARGET is not set
# BR2_PACKAGE_SSTRIP_HOST is not set
-# BR2_ENABLE_MULTILIB is not set
BR2_LARGEFILE=y
BR2_INET_IPV6=y
BR2_INET_RPC=y
#
# BR2_PACKAGE_SSTRIP_TARGET is not set
# BR2_PACKAGE_SSTRIP_HOST is not set
-# BR2_ENABLE_MULTILIB is not set
BR2_LARGEFILE=y
BR2_INET_RPC=y
BR2_TARGET_OPTIMIZATION="-Os -pipe"
THREADS:=--enable-threads
endif
-ifeq ($(BR2_ENABLE_MULTILIB),y)
-MULTILIB:=--enable-multilib
-else
-MULTILIB:=--disable-multilib
-endif
-
BR2_CONFIGURE_DEVEL_SYSROOT=--with-sysroot=$(TOOLCHAIN_DIR)/uClibc_dev/
BR2_CONFIGURE_STAGING_SYSROOT=--with-sysroot=$(STAGING_DIR)
BR2_CONFIGURE_BUILD_TOOLS=--with-build-time-tools=$(STAGING_DIR)/usr/$(REAL_GNU_TARGET_NAME)/bin
$(BR2_CONFIGURE_DEVEL_SYSROOT) \
$(BR2_CONFIGURE_STAGING_SYSROOT) \
$(DISABLE_NLS) \
- $(MULTILIB) \
--disable-werror \
$(SOFT_FLOAT_CONFIG_OPTION) \
$(EXTRA_BINUTILS_CONFIG_OPTIONS) \
--mandir=/usr/share/man \
--infodir=/usr/share/info \
$(DISABLE_NLS) \
- $(MULTILIB) \
$(BINUTILS_TARGET_CONFIG_OPTIONS) \
--disable-werror \
$(SOFT_FLOAT_CONFIG_OPTION) \
endif
endif
ifeq ($(ARCH)-$(BR2_GCC_SHARED_LIBGCC),powerpc-y)
-ifneq ($(BR2_SOFT_FLOAT)$(BR2_ENABLE_MULTILIB),)
+ifneq ($(BR2_SOFT_FLOAT),)
toolchain/patch-kernel.sh $(GCC_DIR) toolchain/gcc/$(GCC_VERSION) powerpc-link-with-math-lib.patch.conditional
endif
endif
$(GCC_WITH_HOST_MPFR) \
$(DISABLE_NLS) \
$(THREADS) \
- $(MULTILIB) \
$(GCC_DECIMAL_FLOAT) \
$(SOFT_FLOAT_CONFIG_OPTION) \
$(GCC_WITH_ABI) $(GCC_WITH_ARCH) $(GCC_WITH_TUNE) \
$(GCC_WITH_HOST_MPFR) \
$(DISABLE_NLS) \
$(THREADS) \
- $(MULTILIB) \
$(GCC_DECIMAL_FLOAT) \
$(SOFT_FLOAT_CONFIG_OPTION) \
$(GCC_WITH_ABI) $(GCC_WITH_ARCH) $(GCC_WITH_TUNE) \
$(GCC_WITH_TARGET_MPFR) \
$(DISABLE_NLS) \
$(THREADS) \
- $(MULTILIB) \
$(GCC_DECIMAL_FLOAT) \
$(SOFT_FLOAT_CONFIG_OPTION) \
$(GCC_WITH_ABI) $(GCC_WITH_ARCH) $(GCC_WITH_TUNE) \
source "toolchain/mklibs/Config.in"
source "toolchain/sstrip/Config.in"
-config BR2_ENABLE_MULTILIB
- bool "Enable multilib support?"
- help
- Build libraries to support different ABIs.
-
config BR2_VFP_FLOAT
bool "Use ARM Vector Floating Point unit"
depends on !BR2_SOFT_FLOAT