Makefile.autotools.in: fix libtool patching
authorPeter Korsgaard <jacmet@sunsite.dk>
Wed, 30 Dec 2009 12:42:01 +0000 (13:42 +0100)
committerPeter Korsgaard <jacmet@sunsite.dk>
Wed, 30 Dec 2009 12:48:02 +0000 (13:48 +0100)
Fixes two issues with libtool patching:

- It seems like the default value for <package>_LIBTOOL_PATCH only gets
  set AFTER the ifdef check, so the conditional was never taken. Fix it
  by instead checking that it isn't explicitly set to not do the patching
  instead.
- The $i in the libtool patching for loop needed an extra level of escaping
  to work.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
package/Makefile.autotools.in

index 09f44b46f5f6eb84a868bec8ed6bade486927dd9..f0f189f90e0c096e36d2369d577ce4e7e9305a64 100644 (file)
@@ -140,12 +140,13 @@ define LIBTOOL_PATCH_HOOK
        $(Q)if test "$$($$(PKG)_LIBTOOL_PATCH)" = "YES" -a \
        "$$($$(PKG)_AUTORECONF)" != "YES"; then \
        for i in `find $$($$(PKG)_SRCDIR) -name ltmain.sh`; do \
-               toolchain/patch-kernel.sh $${i%/*} package buildroot-libtool.patch; \
+               toolchain/patch-kernel.sh $$$${i%/*} package buildroot-libtool.patch; \
                done \
        fi
 endef
 
-ifeq ($($(2)_LIBTOOL_PATCH),YES)
+# default values are not evaluated yet, so don't rely on this defaulting to YES
+ifneq ($($(2)_LIBTOOL_PATCH),NO)
 $(2)_POST_PATCH_HOOKS += LIBTOOL_PATCH_HOOK
 endif