irqbalance: add meson
Fixes compilation when libiconv is missing. Also remove pthread from glibc. No longer needed. Cleanup Makefile for consistency between packages. Signed-off-by: Rosen Penev <rosenp@gmail.com>
This commit is contained in:
parent
e702a66058
commit
59cadc7c65
2 changed files with 83 additions and 33 deletions
|
@ -8,24 +8,18 @@ PKG_NAME:=irqbalance
|
||||||
PKG_VERSION:=1.9.0
|
PKG_VERSION:=1.9.0
|
||||||
PKG_RELEASE:=$(AUTORELEASE)
|
PKG_RELEASE:=$(AUTORELEASE)
|
||||||
|
|
||||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
|
|
||||||
PKG_SOURCE_PROTO:=git
|
PKG_SOURCE_PROTO:=git
|
||||||
PKG_SOURCE_URL:=https://github.com/Irqbalance/irqbalance.git
|
PKG_SOURCE_URL:=https://github.com/Irqbalance/irqbalance.git
|
||||||
PKG_SOURCE_VERSION:=80d5fbb947debe221e4c23c0ee0f4f2b89a99443
|
PKG_SOURCE_VERSION:=v$(PKG_VERSION)
|
||||||
PKG_MIRROR_HASH:=9af2e51d2696bc51400223dee2009071bee5f12b3a5050f18c7de23632e2190d
|
PKG_MIRROR_HASH:=9af2e51d2696bc51400223dee2009071bee5f12b3a5050f18c7de23632e2190d
|
||||||
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
|
|
||||||
PKG_LICENSE:=GPLv2
|
|
||||||
|
|
||||||
PKG_MAINTAINER:=Hannu Nyman <hannu.nyman@iki.fi>
|
PKG_MAINTAINER:=Hannu Nyman <hannu.nyman@iki.fi>
|
||||||
|
PKG_LICENSE:=GPL-2.0-or-later
|
||||||
PKG_FIXUP:=autoreconf
|
PKG_LICENSE_FILES:=COPYING
|
||||||
PKG_REMOVE_FILES:=autogen.sh
|
|
||||||
|
|
||||||
PKG_BUILD_PARALLEL:=1
|
|
||||||
|
|
||||||
include $(INCLUDE_DIR)/nls.mk
|
|
||||||
|
|
||||||
include $(INCLUDE_DIR)/package.mk
|
include $(INCLUDE_DIR)/package.mk
|
||||||
|
include $(INCLUDE_DIR)/nls.mk
|
||||||
|
include $(INCLUDE_DIR)/meson.mk
|
||||||
|
|
||||||
PKG_BUILD_DEPENDS += glib2
|
PKG_BUILD_DEPENDS += glib2
|
||||||
|
|
||||||
|
@ -43,34 +37,17 @@ define Package/irqbalance/description
|
||||||
increase performance.
|
increase performance.
|
||||||
endef
|
endef
|
||||||
|
|
||||||
CONFIGURE_ARGS+= \
|
|
||||||
--disable-numa \
|
|
||||||
--with-libcap_ng=no \
|
|
||||||
--with-systemd=no \
|
|
||||||
--without-irqbalance-ui \
|
|
||||||
--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 += \
|
|
||||||
GLIB2_LIBS="$(GLIB2_LIBS) \
|
|
||||||
$(ICONV_LDFLAGS) -liconv"
|
|
||||||
|
|
||||||
define Package/irqbalance/conffiles
|
define Package/irqbalance/conffiles
|
||||||
/etc/config/irqbalance
|
/etc/config/irqbalance
|
||||||
endef
|
endef
|
||||||
|
|
||||||
|
MESON_ARGS += \
|
||||||
|
-Dcapng=disabled \
|
||||||
|
-Dui=disabled
|
||||||
|
|
||||||
define Package/irqbalance/install
|
define Package/irqbalance/install
|
||||||
$(INSTALL_DIR) $(1)/usr/sbin
|
$(INSTALL_DIR) $(1)/usr/sbin
|
||||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/irqbalance $(1)/usr/sbin/
|
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/irqbalance $(1)/usr/sbin/
|
||||||
$(INSTALL_DIR) $(1)/etc/init.d
|
$(INSTALL_DIR) $(1)/etc/init.d
|
||||||
$(INSTALL_BIN) ./files/irqbalance.init $(1)/etc/init.d/irqbalance
|
$(INSTALL_BIN) ./files/irqbalance.init $(1)/etc/init.d/irqbalance
|
||||||
$(INSTALL_DIR) $(1)/etc/config
|
$(INSTALL_DIR) $(1)/etc/config
|
||||||
|
|
73
utils/irqbalance/patches/010-meson.patch
Normal file
73
utils/irqbalance/patches/010-meson.patch
Normal file
|
@ -0,0 +1,73 @@
|
||||||
|
From 35072fc06b9efe923f6ac1bd73b67c33d3ae619b Mon Sep 17 00:00:00 2001
|
||||||
|
From: Rosen Penev <rosenp@gmail.com>
|
||||||
|
Date: Fri, 10 Jun 2022 23:14:27 -0700
|
||||||
|
Subject: [PATCH] add meson
|
||||||
|
|
||||||
|
Signed-off-by: Rosen Penev <rosenp@gmail.com>
|
||||||
|
---
|
||||||
|
meson.build | 43 +++++++++++++++++++++++++++++++++++++++++++
|
||||||
|
meson_options.txt | 11 +++++++++++
|
||||||
|
2 files changed, 54 insertions(+)
|
||||||
|
create mode 100644 meson.build
|
||||||
|
create mode 100644 meson_options.txt
|
||||||
|
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/meson.build
|
||||||
|
@@ -0,0 +1,43 @@
|
||||||
|
+project('irqbalance', 'c',
|
||||||
|
+ version : '1.9.0',
|
||||||
|
+ default_options : ['warning_level=1']
|
||||||
|
+)
|
||||||
|
+
|
||||||
|
+cc = meson.get_compiler('c')
|
||||||
|
+
|
||||||
|
+glib_dep = dependency('glib-2.0', static: true)
|
||||||
|
+m_dep = cc.find_library('m', required: false)
|
||||||
|
+capng_dep = dependency('libcap-ng', required: get_option('capng'))
|
||||||
|
+ncurses_dep = dependency('curses', required: get_option('ui'))
|
||||||
|
+systemd_dep = dependency('libsystemd', required: get_option('systemd'))
|
||||||
|
+
|
||||||
|
+cdata = configuration_data()
|
||||||
|
+cdata.set('HAVE_GETOPT_LONG', cc.has_function('getopt_long'))
|
||||||
|
+cdata.set('HAVE_IRQBALANCEUI', ncurses_dep.found())
|
||||||
|
+cdata.set('HAVE_NUMA_H', cc.has_header('numa.h'))
|
||||||
|
+cdata.set('HAVE_LIBCAP_NG', capng_dep.found())
|
||||||
|
+cdata.set('HAVE_LIBSYSTEMD', systemd_dep.found())
|
||||||
|
+cdata.set_quoted('VERSION', meson.project_version())
|
||||||
|
+cfile = configure_file(
|
||||||
|
+ output: 'config.h',
|
||||||
|
+ configuration: cdata
|
||||||
|
+)
|
||||||
|
+
|
||||||
|
+if cdata.get('HAVE_IRQBALANCEUI')
|
||||||
|
+ add_project_arguments('-D_GNU_SOURCE', language: 'c')
|
||||||
|
+endif
|
||||||
|
+
|
||||||
|
+
|
||||||
|
+executable('irqbalance',
|
||||||
|
+ 'activate.c',
|
||||||
|
+ 'bitmap.c',
|
||||||
|
+ 'classify.c',
|
||||||
|
+ 'cputree.c',
|
||||||
|
+ 'irqbalance.c',
|
||||||
|
+ 'irqlist.c',
|
||||||
|
+ 'numa.c',
|
||||||
|
+ 'placement.c',
|
||||||
|
+ 'procinterrupts.c',
|
||||||
|
+ dependencies: [ glib_dep, m_dep, capng_dep, ncurses_dep, systemd_dep ],
|
||||||
|
+ install : true
|
||||||
|
+)
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/meson_options.txt
|
||||||
|
@@ -0,0 +1,11 @@
|
||||||
|
+option('capng', type : 'feature',
|
||||||
|
+ description : 'Build with libcap-ng support',
|
||||||
|
+)
|
||||||
|
+
|
||||||
|
+option('systemd', type : 'feature',
|
||||||
|
+ description : 'Build with systemd support',
|
||||||
|
+)
|
||||||
|
+
|
||||||
|
+option('ui', type : 'feature',
|
||||||
|
+ description : 'Build the UI component',
|
||||||
|
+)
|
Loading…
Reference in a new issue