kumquat-buildroot/package/pciutils/pciutils.mk
Thomas Petazzoni 12d150727a Strip *.so* and not only executable files
Our current stripping strategy requires that shared libraries have the
executable permission. However, this is by far not something
recognized as a standard behavior: Debian/Ubuntu distributions for
example do not have executable permissions on their
libraries. Therefore, pushing to upstream packages fixes that add the
executable permissions is not easy.

As a result, this commit improves the stripping logic so that it not
only strips the files that are executable, but also the ones that
match '*.so*', which should match both the shared libraries and the
dlopen()'able plugins, as long as they have a .so extension.

Thanks to this addition, a number of manual "chmod +x" done by various
packages can be removed.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-02-04 18:10:15 +01:00

70 lines
1.7 KiB
Makefile

################################################################################
#
# pciutils
#
################################################################################
PCIUTILS_VERSION = 3.2.1
PCIUTILS_SITE = ftp://atrey.karlin.mff.cuni.cz/pub/linux/pci
PCIUTILS_INSTALL_STAGING = YES
PCIUTILS_LICENSE = GPLv2+
PCIUTILS_LICENSE_FILES = COPYING
ifeq ($(BR2_PACKAGE_ZLIB),y)
PCIUTILS_ZLIB=yes
PCIUTILS_DEPENDENCIES += zlib
else
PCIUTILS_ZLIB=no
endif
PCIUTILS_DNS=no
PCIUTILS_SHARED=yes
# Build after busybox since it's got a lightweight lspci
ifeq ($(BR2_PACKAGE_BUSYBOX),y)
PCIUTILS_DEPENDENCIES += busybox
endif
ifeq ($(BR2_PACKAGE_KMOD),y)
PCIUTILS_DEPENDENCIES += kmod
PCIUTILS_KMOD = yes
else
PCIUTILS_KMOD = no
endif
define PCIUTILS_CONFIGURE_CMDS
$(SED) 's/wget --no-timestamping/wget/' $(PCIUTILS_DIR)/update-pciids.sh
$(SED) 's/uname -s/echo Linux/' \
-e 's/uname -r/echo $(LINUX_HEADERS_VERSION)/' \
$(PCIUTILS_DIR)/lib/configure
$(SED) 's/^STRIP/#STRIP/' $(PCIUTILS_DIR)/Makefile
endef
define PCIUTILS_BUILD_CMDS
$(TARGET_MAKE_ENV) $(MAKE) CC="$(TARGET_CC)" \
HOST="$(KERNEL_ARCH)-linux" \
OPT="$(TARGET_CFLAGS)" \
LDFLAGS="$(TARGET_LDFLAGS)" \
RANLIB=$(TARGET_RANLIB) \
AR=$(TARGET_AR) \
-C $(PCIUTILS_DIR) \
SHARED=$(PCIUTILS_SHARED) \
ZLIB=$(PCIUTILS_ZLIB) \
DNS=$(PCIUTILS_DNS) \
LIBKMOD=$(PCIUTILS_KMOD) \
PREFIX=/usr
endef
# Ditch install-lib if SHARED is an option in the future
define PCIUTILS_INSTALL_TARGET_CMDS
$(MAKE1) BUILDDIR=$(@D) -C $(@D) PREFIX=$(TARGET_DIR)/usr \
SHARED=$(PCIUTILS_SHARED) install install-lib
endef
define PCIUTILS_INSTALL_STAGING_CMDS
$(MAKE1) BUILDDIR=$(@D) -C $(@D) PREFIX=$(STAGING_DIR)/usr \
SHARED=$(PCIUTILS_SHARED) install install-lib
endef
$(eval $(generic-package))