Browse Source

irqbalance: fix compilation for USE_GLIBC and BUILD_NLS cases

The package Makefile was not taking into consideration that the build
may be using BUILD_NLS with libintl-full and libiconv-full and was
trying to link the wrong versions of these libraries in this case.

The necessary flags are added by nls.mk to TARGET_LDFLAGS and can be
passed to irqbalance's configure script for setting the GLIB2_LIBS
variable instead of the explicit static link to the libiconv stub.

The PKG_BUILD_DEPENDS line should be modified so as to add to and not
override the definition set by nls.mk, which will ensure the right
version of libiconv and libintl is built beforehand.

A DEPENDS:= line should be added to the package definition using the
variables defined in nls.mk, which will add the appropriate version
of libintl and libiconv (vanilla or -full versions)

If USE_GLIBC is true, then libpthread needs to be explicitly passed
to the configure script in the GLIB2_LIBS variable for linking.

Signed-off-by: Ian Cooper <iancooper@hotmail.com>
lilik-openwrt-22.03
Ian Cooper 5 years ago
parent
commit
88c25e87a1
1 changed files with 16 additions and 5 deletions
  1. +16
    -5
      utils/irqbalance/Makefile

+ 16
- 5
utils/irqbalance/Makefile View File

@ -6,7 +6,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=irqbalance PKG_NAME:=irqbalance
PKG_VERSION:=1.6.0 PKG_VERSION:=1.6.0
PKG_RELEASE:=7
PKG_RELEASE:=8
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
PKG_SOURCE_PROTO:=git PKG_SOURCE_PROTO:=git
@ -23,15 +23,16 @@ PKG_REMOVE_FILES:=autogen.sh
PKG_BUILD_PARALLEL:=1 PKG_BUILD_PARALLEL:=1
# -liconv due to glib2, to be revisited later
include $(INCLUDE_DIR)/nls.mk include $(INCLUDE_DIR)/nls.mk
include $(INCLUDE_DIR)/package.mk include $(INCLUDE_DIR)/package.mk
PKG_BUILD_DEPENDS += glib2
define Package/irqbalance define Package/irqbalance
PKG_BUILD_DEPENDS:=glib2
SECTION:=utils SECTION:=utils
CATEGORY:=Utilities CATEGORY:=Utilities
DEPENDS:=$(ICONV_DEPENDS) $(INTL_DEPENDS)
TITLE:=IRQ usage balancing for multi-core systems TITLE:=IRQ usage balancing for multi-core systems
URL:=https://github.com/Irqbalance/irqbalance URL:=https://github.com/Irqbalance/irqbalance
endef endef
@ -49,9 +50,19 @@ CONFIGURE_ARGS+= \
--without-irqbalance-ui \ --without-irqbalance-ui \
--enable-static=glib2 --enable-static=glib2
GLIB2_LIBS="$(STAGING_DIR)/usr/lib/libglib-2.0.a"
ifeq ($(CONFIG_BUILD_NLS),y)
GLIB2_LIBS += $(INTL_LDFLAGS) -lintl
endif
ifeq ($(CONFIG_USE_GLIBC),y)
GLIB2_LIBS += -lpthread
endif
CONFIGURE_VARS += \ CONFIGURE_VARS += \
GLIB2_LIBS="$(STAGING_DIR)/usr/lib/libglib-2.0.a \
$(STAGING_DIR)/usr/lib/libiconv-stub/lib/libiconv.a"
GLIB2_LIBS="$(GLIB2_LIBS) \
$(ICONV_LDFLAGS) -liconv"
define Package/irqbalance/install define Package/irqbalance/install
$(INSTALL_DIR) $(1)/usr/sbin $(INSTALL_DIR) $(1)/usr/sbin


Loading…
Cancel
Save