2
1
Эх сурвалжийг харах

Makefile: fix ldconfig selection for internal toolchains

Commit ed0d45fdd (Choose host/target ldconfig based on availability)
added a runtime check for a cross-ldconfig being available.
Unfortunately this checks runs too early (at package/Makefile.in parsing
time), so it always fails when using an internal toolchain as ldconfig
isn't built yet.

Fix it by moving the check to the only place it is used (target-finalize).

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Peter Korsgaard 15 жил өмнө
parent
commit
e49e2feda4
2 өөрчлөгдсөн 6 нэмэгдсэн , 8 устгасан
  1. 6 2
      Makefile
  2. 0 6
      package/Makefile.in

+ 6 - 2
Makefile

@@ -406,8 +406,12 @@ ifneq ($(BR2_HAVE_DOCUMENTATION),y)
 	rm -rf $(TARGET_DIR)/usr/share/gtk-doc
 endif
 	find $(TARGET_DIR) -type f -perm +111 | xargs $(STRIPCMD) 2>/dev/null || true
-	$(TARGET_LDCONFIG) -r $(TARGET_DIR) 2>/dev/null
-
+	if [ -x "$(TARGET_CROSS)ldconfig" ]; \
+	then \
+		$(TARGET_CROSS)ldconfig -r $(TARGET_DIR) 2>/dev/null; \
+	else \
+		/sbin/ldconfig -r $(TARGET_DIR) 2>/dev/null; \
+	fi
 	mkdir -p $(TARGET_DIR)/etc
 	echo $(BR2_VERSION)$(shell $(TOPDIR)/scripts/setlocalversion) > \
 		$(TARGET_DIR)/etc/br-version

+ 0 - 6
package/Makefile.in

@@ -127,12 +127,6 @@ TARGET_RANLIB   = $(TARGET_CROSS)ranlib
 TARGET_OBJCOPY  = $(TARGET_CROSS)objcopy
 TARGET_OBJDUMP  = $(TARGET_CROSS)objdump
 
-ifeq ($(shell $(SHELL) -c "command -v $(TARGET_CROSS)ldconfig"),)
-TARGET_LDCONFIG = /sbin/ldconfig
-else
-TARGET_LDCONFIG = $(TARGET_CROSS)ldconfig
-endif
-
 ifeq ($(BR2_STRIP_strip),y)
 STRIP_DISCARD_ALL:=--discard-all
 STRIP_STRIP_UNNEEDED:=--strip-unneeded