[package] lsof: cross-build properly
authorFlorian Fainelli <florian@openwrt.org>
Sun, 20 Feb 2011 16:04:02 +0000 (16:04 +0000)
committerFlorian Fainelli <florian@openwrt.org>
Sun, 20 Feb 2011 16:04:02 +0000 (16:04 +0000)
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 <mark@moxienet.com>
SVN-Revision: 25614

utils/lsof/Makefile
utils/lsof/patches/005-lsof_ccv.patch [new file with mode: 0644]

index 6035fa4..340fbe1 100644 (file)
@@ -33,13 +33,17 @@ endef
 
 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
diff --git a/utils/lsof/patches/005-lsof_ccv.patch b/utils/lsof/patches/005-lsof_ccv.patch
new file mode 100644 (file)
index 0000000..11d8820
--- /dev/null
@@ -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=""