[tools] cmake: link statically
[openwrt.git] / include / package-ipkg.mk
index 93c4fdf..14520cf 100644 (file)
@@ -65,6 +65,26 @@ define FixupDependencies
   $(call AddDependency,$(1),$$(DEPS))
 endef
 
+ifneq ($(PKG_NAME),toolchain)
+  define CheckDependencies
+       @( \
+               rm -f $(PKG_INFO_DIR)/$(1).missing; \
+               ( \
+                       export READELF=$(TARGET_CROSS)readelf XARGS="$(XARGS)"; \
+                       $(SCRIPT_DIR)/gen-dependencies.sh "$$(IDIR_$(1))"; \
+               ) | while read FILE; do \
+                       grep -q "$$$$FILE" $(PKG_INFO_DIR)/$(1).provides || \
+                               echo "$$$$FILE" >> $(PKG_INFO_DIR)/$(1).missing; \
+               done; \
+               if [ -f "$(PKG_INFO_DIR)/$(1).missing" ]; then \
+                       echo "Package $(1) is missing dependencies for the following libraries:"; \
+                       cat "$(PKG_INFO_DIR)/$(1).missing"; \
+                       false; \
+               fi; \
+       )
+  endef
+endif
+
 ifeq ($(DUMP),)
   define BuildTarget/ipkg
     IPKG_$(1):=$(PACKAGE_DIR)/$(1)_$(VERSION)_$(PKGARCH).ipk
@@ -124,6 +144,9 @@ ifeq ($(DUMP),)
                        fi; \
                done; \
        ) | sort -u > $(PKG_INFO_DIR)/$(1).provides
+       $(if $(PROVIDES),@for pkg in $(PROVIDES); do cp $(PKG_INFO_DIR)/$(1).provides $(PKG_INFO_DIR)/$$$$pkg.provides; done)
+       $(CheckDependencies)
+
        $(RSTRIP) $$(IDIR_$(1))
        ( \
                echo "Package: $(1)"; \
@@ -168,7 +191,7 @@ ifeq ($(DUMP),)
     $$(INFO_$(1)): $$(IPKG_$(1))
        @[ -d $(TARGET_DIR)/tmp ] || mkdir -p $(TARGET_DIR)/tmp
        $(OPKG) install $$(IPKG_$(1))
-       $(if $(filter-out essential,$(PKG_FLAGS)),for flag in $(filter-out essential,$(PKG_FLAGS)); do $(OPKG) flag $$$$flag $(1); done)
+       $(if $(filter-out essential,$(PKG_FLAGS)),for flag in $(filter-out essential,$(PKG_FLAGS)); do $(OPKG) flag $$$$flag $(1); done,$(OPKG) flag ok $(1))
 
     $(1)-clean:
        rm -f $(PACKAGE_DIR)/$(1)_*