Index: toolchain/gcc/gcc-uclibc-4.x.mk
===================================================================
--- toolchain/gcc/gcc-uclibc-4.x.mk	(revision 19350)
+++ toolchain/gcc/gcc-uclibc-4.x.mk	(working copy)
@@ -53,10 +53,19 @@
 
 GCC_TARGET_LANGUAGES:=c
 
-GCC_COMMON_PREREQ= $(wildcard $(BASE_DIR)/include/config/br2/install/libstdcpp* $(BASE_DIR)/include/config/br2/install/libgcj* $(BASE_DIR)/include/config/br2/install/objc* $(BASE_DIR)/include/config/br2/install/fortran* $(BASE_DIR)/include/config/br2/prefer/ima* $(BASE_DIR)/include/config/br2/toolchain/sysroot* $(BASE_DIR)/include/config/br2/use/sjlj/exceptions* $(BASE_DIR)/include/config/br2/gcc/shared/libgcc*)
-GCC_TARGET_PREREQ += $(GCC_COMMON_PREREQ) $(wildcard $(BASE_DIR)/include/config/br2/extra/target/gcc/config/options*)
-GCC_STAGING_PREREQ+= $(GCC_COMMON_PREREQ) $(wildcard $(BASE_DIR)/include/config/br2/extra/gcc/config/options*)
+# languages to support in the cross-compiler
+GCC_CROSS_LANGUAGES:=c
+ifeq ($(BR2_GCC_CROSS_CXX),y)
+GCC_CROSS_LANGUAGES+=,c++
+endif
+ifeq ($(BR2_GCC_CROSS_FORTRAN),y)
+GCC_CROSS_LANGUAGES+=,fortran
+endif
 
+GCC_COMMON_PREREQ= $(wildcard $(BR2_DEPENDS_DIR)/br2/install/libstdcpp* $(BR2_DEPENDS_DIR)/br2/install/libgcj* $(BR2_DEPENDS_DIR)/br2/install/objc* $(BR2_DEPENDS_DIR)/br2/install/fortran* $(BR2_DEPENDS_DIR)/br2/prefer/ima* $(BR2_DEPENDS_DIR)/br2/toolchain/sysroot* $(BR2_DEPENDS_DIR)/br2/use/sjlj/exceptions* $(BR2_DEPENDS_DIR)/br2/gcc/shared/libgcc*)
+GCC_TARGET_PREREQ += $(GCC_COMMON_PREREQ) $(wildcard $(BR2_DEPENDS_DIR)/br2/extra/target/gcc/config/options*)
+GCC_STAGING_PREREQ+= $(GCC_COMMON_PREREQ) $(wildcard $(BR2_DEPENDS_DIR)/br2/extra/gcc/config/options* $(BR2_DEPENDS_DIR)/br2/gcc/cross/*)
+
 ifeq ($(BR2_INSTALL_LIBSTDCPP),y)
 GCC_TARGET_LANGUAGES:=$(GCC_TARGET_LANGUAGES),c++
 endif
@@ -218,7 +227,7 @@
 		--build=$(GNU_HOST_NAME) \
 		--host=$(GNU_HOST_NAME) \
 		--target=$(REAL_GNU_TARGET_NAME) \
-		--enable-languages=$(GCC_TARGET_LANGUAGES) \
+		--enable-languages=$(GCC_CROSS_LANGUAGES) \
 		$(BR2_CONFIGURE_STAGING_SYSROOT) \
 		$(BR2_CONFIGURE_BUILD_TOOLS) \
 		--disable-__cxa_atexit \
Index: toolchain/gcc/Config.in
===================================================================
--- toolchain/gcc/Config.in	(revision 19350)
+++ toolchain/gcc/Config.in	(working copy)
@@ -156,6 +156,18 @@
 	help
 	  Any additional gcc configure options you may want to include....
 
+config BR2_GCC_CROSS_CXX
+	bool "C++ cross-compiler support"
+	default n
+	help
+	  Build a C++ cross-compiler
+
+config BR2_GCC_CROSS_FORTRAN
+	bool "Fortran cross-compiler support"
+	default n
+	help
+	  Build a Fortran cross-compiler
+
 config BR2_INSTALL_LIBSTDCPP
 	bool "Build/install c++ compiler and libstdc++?"
 	default n
Index: package/lzma/Config.in
===================================================================
--- package/lzma/Config.in	(revision 19350)
+++ package/lzma/Config.in	(working copy)
@@ -1,6 +1,7 @@
 config BR2_PACKAGE_LZMA_TARGET
 	bool "Install lzma for the target system"
 	default n
+	select BR2_GCC_CROSS_CXX
 	help
 	  lzma utils on the target
 
Index: package/Makefile.in
===================================================================
--- package/Makefile.in	(revision 19350)
+++ package/Makefile.in	(working copy)
@@ -238,9 +238,6 @@
 DISABLE_IPV6= --disable-ipv6
 endif
 
-ifeq ($(BR2_INSTALL_LIBSTDCPP),)
-TARGET_CONFIGURE_OPTS+=CXX=""
-endif
 
 
 
Index: Makefile
===================================================================
--- Makefile	(revision 19350)
+++ Makefile	(working copy)
@@ -269,6 +269,9 @@
 _source-check: 
 	$(MAKE) SPIDER=--spider source
 
+
+BR2_DEPENDS_DIR=$(BASE_DIR)/package/config/buildroot-config/
+
 #############################################################
 #
 # Cleanup and misc junk
