diff options
author | Jonas Gorski <jogo@openwrt.org> | 2014-11-21 13:19:30 +0100 |
---|---|---|
committer | Jonas Gorski <jogo@openwrt.org> | 2014-11-21 13:30:07 +0100 |
commit | 11971948321c5fda558d47b76d5d37dff6491297 (patch) | |
tree | 933bde407e6d9e6ea31fd8713415eb5f1d7b3fa0 /net/znc/Makefile | |
parent | c950f48e7aa22f1903ec6a9b233c577b0fbba3fc (diff) |
znc: link to libstdc++ to fix performance issues on channel join
ZNC uses a map to cache channel memebers on join. Unfortunately uclibc++
uses a naive linked-list implementation with horrible performance, which
can cause joins to take a few minutes on popular channels.
Therefore Switch to libstdc++ which uses a much more performant hashmap.
ZNC by itself is already rather large, so the added footprint of
libstd++ vs uclibc++ does not matter that much anyway.
Should fix #11778.
Signed-off-by: Jonas Gorski <jogo@openwrt.org>
Diffstat (limited to 'net/znc/Makefile')
-rw-r--r-- | net/znc/Makefile | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/net/znc/Makefile b/net/znc/Makefile index 1d73922f4..9681c4733 100644 --- a/net/znc/Makefile +++ b/net/znc/Makefile @@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=znc PKG_VERSION:=1.4 -PKG_RELEASE:=1 +PKG_RELEASE:=2 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=http://znc.in/releases \ @@ -33,7 +33,7 @@ endef define Package/znc $(Package/znc/default) - DEPENDS:=+libopenssl +libpthread $(CXX_DEPENDS) + DEPENDS:=+libopenssl +libpthread +libstdcpp MENU:=1 endef @@ -261,14 +261,13 @@ $(eval $(call webskin,ice)) PKG_CONFIG_DEPENDS := $(patsubst %,CONFIG_PACKAGE_%,$(ZNC_MODULES)) -include $(INCLUDE_DIR)/uclibc++.mk include $(INCLUDE_DIR)/package.mk CONFIGURE_VARS += \ - CXXFLAGS="$(TARGET_CFLAGS) -fno-builtin -fno-rtti -nostdinc++" \ + CXXFLAGS="$(TARGET_CFLAGS) -fno-builtin -fno-rtti" \ CPPFLAGS="-I$(STAGING_DIR)/usr/include -I$(STAGING_DIR)/include" \ LDFLAGS="-nodefaultlibs -lc -L$(STAGING_DIR)/usr/lib -L$(STAGING_DIR)/lib" \ - LIBS="-luClibc++ -lm -lssl -lcrypto $(LIBGCC_S) -lc" + LIBS="-lstdc++ -lm -lssl -lcrypto $(LIBGCC_S) -lc" CONFIGURE_ARGS += \ --disable-c-ares \ |