1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- # This file contains toolchain-related customisation of the content
- # of the target/ directory. Those customisations are added to the
- # TARGET_FINALIZE_HOOKS, to be applied just after all packages
- # have been built.
- # Install default nsswitch.conf file if the skeleton doesn't provide it
- ifeq ($(BR2_TOOLCHAIN_USES_GLIBC),y)
- define GLIBC_COPY_NSSWITCH_FILE
- $(Q)if [ ! -f "$(TARGET_DIR)/etc/nsswitch.conf" ]; then \
- $(INSTALL) -D -m 0644 package/glibc/nsswitch.conf $(TARGET_DIR)/etc/nsswitch.conf ; \
- fi
- endef
- TOOLCHAIN_TARGET_FINALIZE_HOOKS += GLIBC_COPY_NSSWITCH_FILE
- endif
- # Install the gconv modules
- ifeq ($(BR2_TOOLCHAIN_GLIBC_GCONV_LIBS_COPY),y)
- GCONV_LIBS = $(call qstrip,$(BR2_TOOLCHAIN_GLIBC_GCONV_LIBS_LIST))
- define COPY_GCONV_LIBS
- $(Q)found_gconv=no; \
- for d in $(TOOLCHAIN_EXTERNAL_PREFIX) ''; do \
- [ -d "$(STAGING_DIR)/usr/lib/$${d}/gconv" ] || continue; \
- found_gconv=yes; \
- break; \
- done; \
- if [ "$${found_gconv}" = "no" ]; then \
- printf "Unable to find gconv modules\n" >&2; \
- exit 1; \
- fi; \
- if [ -z "$(GCONV_LIBS)" ]; then \
- $(INSTALL) -m 0644 -D $(STAGING_DIR)/usr/lib/$${d}/gconv/gconv-modules \
- $(TARGET_DIR)/usr/lib/gconv/gconv-modules && \
- $(INSTALL) -m 0644 $(STAGING_DIR)/usr/lib/$${d}/gconv/*.so \
- $(TARGET_DIR)/usr/lib/gconv \
- || exit 1; \
- else \
- for l in $(GCONV_LIBS); do \
- $(INSTALL) -m 0644 -D $(STAGING_DIR)/usr/lib/$${d}/gconv/$${l}.so \
- $(TARGET_DIR)/usr/lib/gconv/$${l}.so \
- || exit 1; \
- $(TARGET_READELF) -d $(STAGING_DIR)/usr/lib/$${d}/gconv/$${l}.so |\
- sort -u |\
- sed -e '/.*(NEEDED).*\[\(.*\.so\)\]$$/!d; s//\1/;' |\
- while read lib; do \
- $(INSTALL) -m 0644 -D $(STAGING_DIR)/usr/lib/$${d}/gconv/$${lib} \
- $(TARGET_DIR)/usr/lib/gconv/$${lib} \
- || exit 1; \
- done; \
- done; \
- ./support/scripts/expunge-gconv-modules "$(GCONV_LIBS)" \
- <$(STAGING_DIR)/usr/lib/$${d}/gconv/gconv-modules \
- >$(TARGET_DIR)/usr/lib/gconv/gconv-modules; \
- fi
- endef
- TOOLCHAIN_TARGET_FINALIZE_HOOKS += COPY_GCONV_LIBS
- endif
|