From 527c756fd1a2dc06ecc30e24141eddbae2533c2c Mon Sep 17 00:00:00 2001 From: mb Date: Sun, 10 Oct 2010 13:26:18 +0000 Subject: [PATCH] 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 --- net/wing/Makefile | 53 ++++++++++++------------ net/wing/patches/100-cross-compile.patch | 21 ++++++++++ 2 files changed, 47 insertions(+), 27 deletions(-) create mode 100644 net/wing/patches/100-cross-compile.patch diff --git a/net/wing/Makefile b/net/wing/Makefile index 0ce64a49f..87d24de2a 100644 --- a/net/wing/Makefile +++ b/net/wing/Makefile @@ -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 diff --git a/net/wing/patches/100-cross-compile.patch b/net/wing/patches/100-cross-compile.patch new file mode 100644 index 000000000..70c7c7cf1 --- /dev/null +++ b/net/wing/patches/100-cross-compile.patch @@ -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" + ])