1#
2# Copyright (C) 2012 OpenWrt.org
3#
4# This is free software, licensed under the GNU General Public License v2.
5# See /LICENSE for more information.
6#
7
8include $(TOPDIR)/rules.mk
9
10PKG_NAME:=wrapper
11PKG_VERSION:=1
12
13include $(INCLUDE_DIR)/toolchain-build.mk
14
15
16# 1: args
17define toolchain_util
18$(strip $(SCRIPT_DIR)/ext-toolchain.sh --toolchain $(CONFIG_TOOLCHAIN_ROOT) \
19	--cflags $(CONFIG_TARGET_OPTIMIZATION) \
20	--cflags "$(if $(call qstrip,$(CONFIG_TOOLCHAIN_LIBC)),-m$(call qstrip,$(CONFIG_TOOLCHAIN_LIBC))) $(if $(CONFIG_SOFT_FLOAT),-msoft-float)" \
21	--cflags "$(patsubst ./%,-I$(TOOLCHAIN_ROOT_DIR)/%,$(call qstrip,$(CONFIG_TOOLCHAIN_INC_PATH)))" \
22	--cflags "$(patsubst ./%,-L$(TOOLCHAIN_ROOT_DIR)/%,$(call qstrip,$(CONFIG_TOOLCHAIN_LIB_PATH)))" \
23	$(1))
24endef
25
26# 1: config symbol
27# 2: feature
28define toolchain_test
29$$(if $$($(1)), \
30	@echo -n "Testing external toolchain for $(2) support ... "; \
31	if $(call toolchain_util,--test "$(2)"); then \
32		echo "ok"; exit 0; \
33	else \
34		echo "failed"; \
35		echo "ERROR: $(1) is enabled but the external toolchain does not support it"; \
36		exit 1; \
37	fi)
38endef
39
40
41define Host/Prepare
42	$(call toolchain_test,CONFIG_SOFT_FLOAT,softfloat)
43	$(call toolchain_test,CONFIG_IPV6,ipv6)
44	$(call toolchain_test,CONFIG_NLS,wchar)
45	$(call toolchain_test,CONFIG_PACKAGE_libpthread,threads)
46endef
47
48define Host/Configure
49endef
50
51define Host/Compile
52endef
53
54define Host/Install
55	$(call toolchain_util,--wrap "$(TOOLCHAIN_DIR)/bin")
56endef
57
58define Host/Clean
59	rm -rf $(TOOLCHAIN_DIR)/bin
60endef
61
62$(eval $(call HostBuild))
63