From fe53cf4c2a9cf22cf8659c6f2c2555ee830481ac Mon Sep 17 00:00:00 2001
From: midipix <writeonce@midipix.org>
Date: Fri, 26 Feb 2016 17:49:08 -0500
Subject: build system: added fallback host recipe.

---
 configure                   | 11 +++++++++++
 sysinfo/compiler/clang.mk   |  4 +++-
 sysinfo/compiler/cparser.mk |  4 +++-
 sysinfo/host/any-host.mk    |  7 +++++++
 sysinfo/os/any-os.mk        | 10 ++++++++++
 5 files changed, 34 insertions(+), 2 deletions(-)
 create mode 100644 sysinfo/host/any-host.mk
 create mode 100644 sysinfo/os/any-os.mk

diff --git a/configure b/configure
index b2dfe60..29d088d 100755
--- a/configure
+++ b/configure
@@ -184,6 +184,17 @@ common_defaults()
 	if [ x"$mb_toolchain" = x ]; then
 		mb_toolchain='binutils'
 	fi
+
+	# fallback host recipe
+	if [ x"$mb_host" != x ]; then
+		if ! [ -f $mb_project_dir/sysinfo/host/$mb_host.mk ]; then
+			if [ -z "$mb_cross_compile" ]; then
+				mb_cross_compile=$mb_host-
+			fi
+
+			mb_host='any-host';
+		fi
+	fi
 }
 
 
diff --git a/sysinfo/compiler/clang.mk b/sysinfo/compiler/clang.mk
index ba9ecfc..77b4b86 100644
--- a/sysinfo/compiler/clang.mk
+++ b/sysinfo/compiler/clang.mk
@@ -1,9 +1,11 @@
 ifeq ($(CROSS_COMPILE)x,x)
 	CROSS_HOST	=
 	CROSS_HOST_SPEC =
-else
+else ifeq ($(CROSS_HOST)x,x)
 	CROSS_HOST	= $(HOST)
 	CROSS_HOST_SPEC = --target=$(HOST)
+else
+	CROSS_HOST_SPEC = --target=$(CROSS_HOST)
 endif
 
 
diff --git a/sysinfo/compiler/cparser.mk b/sysinfo/compiler/cparser.mk
index a57cdcc..6c4dc8e 100644
--- a/sysinfo/compiler/cparser.mk
+++ b/sysinfo/compiler/cparser.mk
@@ -1,9 +1,11 @@
 ifeq ($(CROSS_COMPILE)x,x)
 	CROSS_HOST	=
 	CROSS_HOST_SPEC =
-else
+else ifeq ($(CROSS_HOST)x,x)
 	CROSS_HOST	= $(HOST)
 	CROSS_HOST_SPEC = --target=$(HOST)
+else
+	CROSS_HOST_SPEC = --target=$(CROSS_HOST)
 endif
 
 
diff --git a/sysinfo/host/any-host.mk b/sysinfo/host/any-host.mk
new file mode 100644
index 0000000..acb606a
--- /dev/null
+++ b/sysinfo/host/any-host.mk
@@ -0,0 +1,7 @@
+include $(PROJECT_DIR)/sysinfo/os/any-os.mk
+
+ARCH		=
+HOST_BITS	=
+HOST_UNDERSCORE =
+
+CROSS_HOST	= $(TARGET)
diff --git a/sysinfo/os/any-os.mk b/sysinfo/os/any-os.mk
new file mode 100644
index 0000000..0aa0a75
--- /dev/null
+++ b/sysinfo/os/any-os.mk
@@ -0,0 +1,10 @@
+OS		= any-os
+OS_APP_PREFIX	=
+OS_APP_SUFFIX	=
+OS_LIB_PREFIX	= lib
+OS_LIB_SUFFIX	= .so
+OS_IMPLIB_EXT	= .invalid
+OS_LIBDEF_EXT	= .invalid
+OS_ARCHIVE_EXT	= .a
+
+.PHONY:		$(SHARED_IMPLIB)
-- 
cgit v1.2.3