From bc8a80082150c6062faf225a302fe002b214f39e Mon Sep 17 00:00:00 2001
From: Nicolas Thill <nico@openwrt.org>
Date: Wed, 10 Aug 2005 03:02:06 +0000
Subject: [PATCH] add support for multiple target arch, fix building with make
 -C package/uclibc++

SVN-Revision: 1592
---
 openwrt/package/uclibc++/Makefile             | 11 ++-
 openwrt/package/uclibc++/files/config.i386    | 76 +++++++++++++++++++
 .../{uclibc++.config => files/config.mips}    |  0
 3 files changed, 83 insertions(+), 4 deletions(-)
 create mode 100644 openwrt/package/uclibc++/files/config.i386
 rename openwrt/package/uclibc++/{uclibc++.config => files/config.mips} (100%)

diff --git a/openwrt/package/uclibc++/Makefile b/openwrt/package/uclibc++/Makefile
index 2dac7a7ff1..0b4c5eaffa 100644
--- a/openwrt/package/uclibc++/Makefile
+++ b/openwrt/package/uclibc++/Makefile
@@ -32,14 +32,14 @@ UCLIBC_TARGET_ARCH:=$(shell echo $(ARCH) | sed -e s'/-.*//' \
 )
 
 $(PKG_BUILD_DIR)/.configured:
-	cp ./uclibc++.config $(PKG_BUILD_DIR)/.config
-	$(SED) 's,^.*TARGET_ARCH.*,TARGET_ARCH="$(UCLIBC_TARGET_ARCH)",g' $(PKG_BUILD_DIR)/.config
-	$(SED) 's,^.*ARCH_CFLAGS.*,ARCH_CFLAGS="-mno-split-addresses $(TARGET_CFLAGS)",g' $(PKG_BUILD_DIR)/.config
+	cp ./files/config.$(UCLIBC_TARGET_ARCH) $(PKG_BUILD_DIR)/.config
 	touch $@
 
 $(PKG_BUILD_DIR)/.built:
 	$(MAKE) -C $(PKG_BUILD_DIR) \
+		TOPDIR="$(PKG_BUILD_DIR)/" \
 		$(TARGET_CONFIGURE_OPTS) \
+		ARCH_CFLAGS="$(TARGET_CFLAGS)" \
 		CROSS="$(TARGET_CROSS)" \
 		all
 	touch $@
@@ -54,6 +54,9 @@ $(IPKG_UCLIBCXX):
 compile: install-dev
 install-dev: $(PKG_BUILD_DIR)/.built
 	$(MAKE) -C $(PKG_BUILD_DIR) \
-		$(TARGET_CONFIGURE_OPTS) CROSS="$(TARGET_CROSS)" \
+		TOPDIR="$(PKG_BUILD_DIR)/" \
+		$(TARGET_CONFIGURE_OPTS) \
+		ARCH_CFLAGS="$(TARGET_CFLAGS)" \
+		CROSS="$(TARGET_CROSS)" \
 		DESTDIR="$(STAGING_DIR)" \
 		install
diff --git a/openwrt/package/uclibc++/files/config.i386 b/openwrt/package/uclibc++/files/config.i386
new file mode 100644
index 0000000000..4db0e36efd
--- /dev/null
+++ b/openwrt/package/uclibc++/files/config.i386
@@ -0,0 +1,76 @@
+#
+# Automatically generated make config: don't edit
+#
+# TARGET_arm is not set
+TARGET_i386=y
+# TARGET_mips is not set
+# TARGET_powerpc is not set
+
+#
+# Target Architecture Features and Options
+#
+HAVE_ELF=y
+TARGET_ARCH="i386"
+# CONFIG_GENERIC_386 is not set
+# CONFIG_386 is not set
+CONFIG_486=y
+# CONFIG_586 is not set
+# CONFIG_586MMX is not set
+# CONFIG_686 is not set
+# CONFIG_PENTIUMIII is not set
+# CONFIG_PENTIUM4 is not set
+# CONFIG_K6 is not set
+# CONFIG_K7 is not set
+# CONFIG_CRUSOE is not set
+# CONFIG_WINCHIPC6 is not set
+# CONFIG_WINCHIP2 is not set
+# CONFIG_CYRIXIII is not set
+ARCH_LITTLE_ENDIAN=y
+# ARCH_BIG_ENDIAN is not set
+UCLIBCXX_HAS_FLOATS=y
+WARNINGS="-Wall"
+HAVE_DOT_CONFIG=y
+
+#
+# String and I/O Stream Support
+#
+UCLIBCXX_HAS_WCHAR=y
+UCLIBCXX_IOSTREAM_BUFSIZE=32
+UCLIBCXX_HAS_LFS=y
+UCLIBCXX_SUPPORT_CDIR=y
+UCLIBCXX_SUPPORT_CIN=y
+UCLIBCXX_SUPPORT_COUT=y
+UCLIBCXX_SUPPORT_CERR=y
+# UCLIBCXX_SUPPORT_CLOG is not set
+# UCLIBCXX_SUPPORT_WCIN is not set
+# UCLIBCXX_SUPPORT_WCOUT is not set
+# UCLIBCXX_SUPPORT_WCERR is not set
+# UCLIBCXX_SUPPORT_WCLOG is not set
+
+#
+# STL and Code Expansion
+#
+UCLIBCXX_STL_BUFFER_SIZE=32
+UCLIBCXX_CODE_EXPANSION=y
+# UCLIBCXX_EXPAND_CONSTRUCTORS_DESTRUCTORS is not set
+UCLIBCXX_EXPAND_STRING_CHAR=y
+UCLIBCXX_EXPAND_VECTOR_BASIC=y
+# UCLIBCXX_EXPAND_IOS_CHAR is not set
+# UCLIBCXX_EXPAND_STREAMBUF_CHAR is not set
+UCLIBCXX_EXPAND_ISTREAM_CHAR=y
+UCLIBCXX_EXPAND_OSTREAM_CHAR=y
+UCLIBCXX_EXPAND_FSTREAM_CHAR=y
+# UCLIBCXX_EXPAND_SSTREAM_CHAR is not set
+
+#
+# Library Installation Options
+#
+UCLIBCXX_RUNTIME_PREFIX=""
+UCLIBCXX_RUNTIME_INCLUDE_SUBDIR="/include"
+UCLIBCXX_RUNTIME_LIB_SUBDIR="/lib"
+UCLIBCXX_RUNTIME_BIN_SUBDIR="/bin"
+UCLIBCXX_EXCEPTION_SUPPORT=y
+IMPORT_LIBSUP=y
+# IMPORT_LIBGCC_EH is not set
+# BUILD_STATIC_LIB is not set
+# DODEBUG is not set
diff --git a/openwrt/package/uclibc++/uclibc++.config b/openwrt/package/uclibc++/files/config.mips
similarity index 100%
rename from openwrt/package/uclibc++/uclibc++.config
rename to openwrt/package/uclibc++/files/config.mips
-- 
2.30.2