+++ /dev/null
-config PCRE2_JIT_ENABLED
- bool
- depends on PACKAGE_libpcre2 && (aarch64 || aarch64_be || arm || i386 || i686 || x86_64 || mips || mipsel || mips64 || mips64el || powerpc || powerpc64 || powerpcle || sparc)
- default y if (arm || i686 || x86_64)
- prompt "Enable JIT compiler support"
- help
- Enable JIT (Just-In-Time) compiler support.
-
- Just-in-time compiling is a heavyweight optimization that can greatly
- speed up pattern matching. However, it comes at the cost of extra
- processing before the match is performed, so it is of most benefit when
- the same pattern is going to be matched many times. This does not
- necessarily mean many calls of a matching function; if the pattern is
- not anchored, matching attempts may take place many times at various
- positions in the subject, even for a single call. Therefore, if the
- subject string is very long, it may still pay to use JIT even for
- one-off matches. JIT support is available for all of the 8-bit, 16-bit
- and 32-bit PCRE2 libraries and adds about 100KB to the resulting
- libpcre2.so. JIT support applies only to the traditional Perl-compatible
- matching function. It does not apply when the DFA matching function is
- being used.
-
- Enabling this option can give an about 10x performance increase on JIT
- operations. It can be desireable for e.g. high performance Apache
- mod_rewrite or HA-Proxy reqrep operations.
-
- However, JIT should _only_ be enabled on architectures that are supported.
- Enabling JIT on unsupported platforms will result in a compilation
- failure. A list of supported architectures can be found here:
- https://pcre.org/current/doc/html/pcre2jit.html#SEC2
+++ /dev/null
-#
-# Copyright (C) 2017 Shane Peelar
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-
-include $(TOPDIR)/rules.mk
-
-PKG_NAME:=pcre2
-PKG_VERSION:=10.37
-PKG_RELEASE:=2
-
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
-PKG_SOURCE_URL:=@SF/pcre/$(PKG_NAME)/$(PKG_VERSION)
-PKG_HASH:=4d95a96e8b80529893b4562be12648d798b957b1ba1aae39606bbc2ab956d270
-
-PKG_MAINTAINER:=Shane Peelar <lookatyouhacker@gmail.com>
-PKG_LICENSE:=BSD-3-Clause
-PKG_LICENSE_FILES:=LICENCE
-PKG_CPE_ID:=cpe:/a:pcre:pcre
-
-PKG_CONFIG_DEPENDS:=\
- CONFIG_PACKAGE_libpcre2-16 \
- CONFIG_PACKAGE_libpcre2-32 \
- CONFIG_PCRE2_JIT_ENABLED
-
-PKG_BUILD_DEPENDS:=zlib
-
-include $(INCLUDE_DIR)/package.mk
-include $(INCLUDE_DIR)/host-build.mk
-include $(INCLUDE_DIR)/cmake.mk
-
-define Package/libpcre2/default
- SECTION:=libs
- CATEGORY:=Libraries
- URL:=https://www.pcre.org/
-endef
-
-define Package/libpcre2/config
- source "$(SOURCE)/Config.in"
-endef
-
-define Package/libpcre2
- $(call Package/libpcre2/default)
- TITLE:=A Perl Compatible Regular Expression library
-endef
-
-define Package/libpcre2-16
- $(call Package/libpcre2/default)
- TITLE:=A Perl Compatible Regular Expression library (16bit support)
-endef
-
-define Package/libpcre2-32
- $(call Package/libpcre2/default)
- TITLE:=A Perl Compatible Regular Expression library (32bit support)
-endef
-
-CMAKE_HOST_OPTIONS += \
- -DBUILD_SHARED_LIBS=OFF \
- -DPCRE2_BUILD_PCRE2_8=ON \
- -DPCRE2_BUILD_PCRE2_16=ON \
- -DPCRE2_BUILD_PCRE2_32=ON \
- -DPCRE2_DEBUG=OFF \
- -DPCRE2_DISABLE_PERCENT_ZT=ON \
- -DPCRE2_SUPPORT_JIT=OFF \
- -DPCRE2_SHOW_REPORT=OFF \
- -DPCRE2_BUILD_PCRE2GREP=OFF \
- -DPCRE2_BUILD_TESTS=OFF
-
-CMAKE_OPTIONS += \
- -DBUILD_SHARED_LIBS=ON \
- -DPCRE2_BUILD_PCRE2_8=ON \
- -DPCRE2_BUILD_PCRE2_16=O$(if $(CONFIG_PACKAGE_libpcre2-16),N,FF) \
- -DPCRE2_BUILD_PCRE2_32=O$(if $(CONFIG_PACKAGE_libpcre2-32),N,FF) \
- -DPCRE2_DEBUG=OFF \
- -DPCRE2_DISABLE_PERCENT_ZT=ON \
- -DPCRE2_SUPPORT_JIT=O$(if $(CONFIG_PCRE2_JIT_ENABLED),N,FF) \
- -DPCRE2_SHOW_REPORT=OFF \
- -DPCRE2_BUILD_PCRE2GREP=OFF \
- -DPCRE2_BUILD_TESTS=OFF
-
-define Build/InstallDev
- $(call Build/InstallDev/cmake,$(1))
- $(SED) 's,^\(prefix\|exec_prefix\)=.*,\1=$(STAGING_DIR)/usr,g' $(1)/usr/bin/pcre2-config
- $(INSTALL_DIR) $(2)/bin
- $(LN) ../../usr/bin/pcre2-config $(2)/bin/pcre2-config
-endef
-
-define Package/libpcre2/install
- $(INSTALL_DIR) $(1)/usr/lib
- $(CP) $(PKG_INSTALL_DIR)/usr/lib/libpcre2-{8,posix}.so* $(1)/usr/lib/
-endef
-
-define Package/libpcre2-16/install
- $(INSTALL_DIR) $(1)/usr/lib
- $(CP) $(PKG_INSTALL_DIR)/usr/lib/libpcre2-16.so* $(1)/usr/lib/
-endef
-
-define Package/libpcre2-32/install
- $(INSTALL_DIR) $(1)/usr/lib
- $(CP) $(PKG_INSTALL_DIR)/usr/lib/libpcre2-32.so* $(1)/usr/lib/
-endef
-
-$(eval $(call BuildPackage,libpcre2))
-$(eval $(call BuildPackage,libpcre2-16))
-$(eval $(call BuildPackage,libpcre2-32))
-$(eval $(call HostBuild))