wing: Attempt to fix cross compile issues.

The target build inherits configure properties from the host. This results in broken compile for an ARM target and PPC host. (and other combinations as well).
This tries to fix it. However, it still is not 100% safe. However, it does work on ARM/PPC with these changes.
We should either split this into host and target packages, or run a "make clean" between the host and target parts.


git-svn-id: svn://svn.openwrt.org/openwrt/packages@23376 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
mb 2010-10-10 13:26:18 +00:00
parent 5f7e4492a7
commit 527c756fd1
2 changed files with 47 additions and 27 deletions

View File

@ -11,7 +11,7 @@ PKG_NAME:=wing
ifneq ($(CONFIG_WING_STABLE),)
PKG_VERSION:=20100903
PKG_RELEASE:=3
PKG_RELEASE:=4
PKG_REV:=520e3168a5af4d26bec3779cfa4901d128a4bc6f
else
PKG_VERSION:=$(shell date +%Y%m%d)
@ -26,6 +26,7 @@ PKG_SOURCE_VERSION:=$(PKG_REV)
PKG_SOURCE_PROTO:=git
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
PKG_INSTALL:=1
include $(INCLUDE_DIR)/package.mk
@ -48,6 +49,18 @@ define Package/wing/config
source "$(SOURCE)/Config.in"
endef
EXTRA_LDFLAGS:=-ldl
MAKE_FLAGS+=\
V=1 \
MINDRIVER=$(PKG_NAME) \
BUILD_CC=$(TARGET_CC) \
BUILD_CXX=$(TARGET_CXX)
HOST_MAKE_FLAGS:=\
V=1 \
MINDRIVER=$(PKG_NAME)
define Build/Configure
(cd $(PKG_BUILD_DIR); \
rm -rf config.{cache,status}; \
@ -58,9 +71,19 @@ define Build/Configure
--enable-wing \
--disable-linuxmodule \
);
$(MAKE) -C $(PKG_BUILD_DIR) tools elementmap.xml
$(MAKE) $(PKG_JOBS) -C $(PKG_BUILD_DIR) $(HOST_MAKE_FLAGS) tools
$(MAKE) $(PKG_JOBS) -C $(PKG_BUILD_DIR) $(HOST_MAKE_FLAGS) elementmap.xml
$(CP) $(PKG_BUILD_DIR)/tools/click-mkmindriver/click-mkmindriver $(PKG_BUILD_DIR)/
rm -rf $(PKG_BUILD_DIR)/config.{cache,status}
$(call Build/Configure/Default, \
--enable-tools=mixed \
--enable-userlevel \
--enable-wifi \
--enable-wing \
--disable-linuxmodule \
)
(cd $(PKG_BUILD_DIR)/userlevel; \
../tools/click-mkmindriver/click-mkmindriver -p $(PKG_NAME) -C .. \
../click-mkmindriver -p $(PKG_NAME) -C .. \
-f $(PKG_BUILD_DIR)/conf/wing/sample.click \
-A --all -E Discard -E Print -E Null \
-E InfiniteSource -E RatedSource -E EtherEncap -E UDPIPEncap \
@ -68,30 +91,6 @@ define Build/Configure
-E ProbeTXRate -E MadwifiRate -E AutoRateFallback \
-E RoundRobinSched -E DRRSched; \
)
(cd $(PKG_BUILD_DIR); \
rm -rf config.{cache,status} ; \
$(TARGET_CONFIGURE_OPTS) \
CXXFLAGS="-static -O2 -MD" CFLAGS="-static -MD" \
CPPFLAGS="-I$(STAGING_DIR)/usr/include -I$(STAGING_DIR)/include" \
LDFLAGS="-L$(STAGING_DIR)/usr/lib -L$(STAGING_DIR)/lib" \
./configure \
--prefix=/usr \
--target=$(GNU_TARGET_NAME) \
--host=$(GNU_TARGET_NAME) \
--build=$(GNU_HOST_NAME) \
--enable-tools=mixed \
--enable-userlevel \
--enable-wifi \
--enable-wing \
--disable-linuxmodule \
);
endef
define Build/Compile
$(MAKE) -C $(PKG_BUILD_DIR) \
MINDRIVER=$(PKG_NAME) \
DESTDIR="$(PKG_INSTALL_DIR)" \
all install
endef
define Package/wing/install

View File

@ -0,0 +1,21 @@
---
m4/click.m4 | 8 --------
1 file changed, 8 deletions(-)
--- wing-20100903.orig/m4/click.m4
+++ wing-20100903/m4/click.m4
@@ -235,14 +235,6 @@ AC_DEFUN([CLICK_CHECK_BUILD_DYNAMIC_LINK
if test "x$ac_build_have_dlopen" = xyes -a "x$ac_build_have_dlfcn_h" = xyes; then
ac_build_have_dynamic_linking=yes
fi
- if test "x$ac_build_have_dynamic_linking" != "x$ac_have_dynamic_linking"; then
- AC_MSG_ERROR([
-=========================================
-
-Build system and host system don't have the same dynamic linking state!
-
-=========================================])
- fi
AC_SUBST(BUILD_DL_LIBS)
eval "$saver"
])