I found that the lsof build was using the build host's ar and ranlib
instead of the target's. That's tolerable when the build host is
Linux/ELF. It's not so great when building on Mac OS X.

I also found that lsof was reporting that it was built with the native
compiler instead of the cross-compiler.

Signed-off-by: Mark Mentovai <m...@moxienet.com>

---
Index: feeds/packages/utils/lsof/patches/005-lsof_ccv.patch
===================================================================
--- feeds/packages/utils/lsof/patches/005-lsof_ccv.patch        (revision 0)
+++ feeds/packages/utils/lsof/patches/005-lsof_ccv.patch        (revision 0)
@@ -0,0 +1,12 @@
+--- a/Configure
++++ b/Configure
+@@ -2547,6 +2547,9 @@
+     if test "X$LSOF_CC" = "X" # {
+     then
+       LSOF_CC=cc
++    fi        # }
++    if test "X$LSOF_CCV" = "X"        # {
++    then
+       LSOF_CCV=`$LSOF_CC -v 2>&1 | sed -n 's/.*version \(.*\)/\1/p'`
+     fi        # }
+     LSOF_DIALECT_DIR=""
Index: feeds/packages/utils/lsof/Makefile
===================================================================
--- feeds/packages/utils/lsof/Makefile  (revision 23677)
+++ feeds/packages/utils/lsof/Makefile  (working copy)
@@ -29,13 +29,17 @@
 
 define Build/Configure
        cd $(PKG_BUILD_DIR); \
-               LINUX_CLIB="-DGLIBCV=2" LSOF_VSTR="$(LINUX_VERSION)" \
+               LINUX_CLIB="-DGLIBCV=2" \
+               LSOF_CC="$(TARGET_CC)" \
+               LSOF_VSTR="$(LINUX_VERSION)" \
                ./Configure -n linux
 endef
 
 define Build/Compile   
        $(MAKE) -C $(PKG_BUILD_DIR) \
                CC="$(TARGET_CC)" \
+               AR="$(TARGET_CROSS)ar cr" \
+               RANLIB="$(TARGET_CROSS)ranlib" \
                DEBUG="$(TARGET_CFLAGS)" \
                LDFLAGS="$(TARGET_LDFLAGS)" 
 endef

_______________________________________________
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel

Reply via email to