diff --git a/package/libs/pcre/Config.in b/package/libs/pcre/Config.in new file mode 100644 index 00000000000..15e75fc753e --- /dev/null +++ b/package/libs/pcre/Config.in @@ -0,0 +1,11 @@ +config PCRE_JIT_ENABLED + bool + depends on PACKAGE_libpcre && (arm || i386 || i686 || x86_64 || mips || mipsel || powerpc || sparc) + default y if (arm || i686 || x86_64) + prompt "Enable JIT compiler support" + help + Enable JIT (Just-In-Time) compiler support. + + 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/original/doc/html/pcrejit.html#SEC3 . diff --git a/package/libs/pcre/Makefile b/package/libs/pcre/Makefile new file mode 100644 index 00000000000..894f39b7d15 --- /dev/null +++ b/package/libs/pcre/Makefile @@ -0,0 +1,129 @@ +# +# Copyright (C) 2006-2015 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +include $(TOPDIR)/rules.mk + +PKG_NAME:=pcre +PKG_VERSION:=8.45 +PKG_RELEASE:=$(AUTORELEASE) + +PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2 +PKG_SOURCE_URL:=@SF/$(PKG_NAME) +PKG_HASH:=4dae6fdcd2bb0bb6c37b5f97c33c2be954da743985369cddac3546e3218bffb8 + +PKG_MAINTAINER:=Thomas Heil +PKG_LICENSE:=BSD-3-Clause +PKG_LICENSE_FILES:=LICENCE +PKG_CPE_ID:=cpe:/a:pcre:pcre + +PKG_INSTALL:=1 +PKG_BUILD_PARALLEL:=1 + +PKG_CONFIG_DEPENDS:=\ + CONFIG_PACKAGE_libpcrecpp \ + CONFIG_PCRE_JIT_ENABLED + +include $(INCLUDE_DIR)/package.mk +include $(INCLUDE_DIR)/host-build.mk + +define Package/libpcre/default + SECTION:=libs + CATEGORY:=Libraries + URL:=https://www.pcre.org/ +endef + +define Package/libpcre/config + source "$(SOURCE)/Config.in" +endef + +define Package/libpcre + $(call Package/libpcre/default) + TITLE:=A Perl Compatible Regular Expression library +endef + +define Package/libpcre16 + $(call Package/libpcre/default) + TITLE:=A Perl Compatible Regular Expression library (16bit support) +endef + +define Package/libpcre32 + $(call Package/libpcre/default) + TITLE:=A Perl Compatible Regular Expression library (32bit support) +endef + +define Package/libpcrecpp + $(call Package/libpcre/default) + TITLE:=C++ wrapper for Perl Compatible Regular Expression library + DEPENDS:=+libpcre +libstdcpp +endef + +HOST_CONFIGURE_ARGS += \ + --disable-shared \ + --enable-utf8 \ + --enable-unicode-properties \ + --enable-pcre16 \ + --with-match-limit-recursion=16000 \ + --enable-cpp \ + --with-pic + +CONFIGURE_ARGS += \ + --enable-utf8 \ + --enable-unicode-properties \ + --enable-pcre16 \ + --enable-pcre32 \ + $(if $(CONFIG_PCRE_JIT_ENABLED),--enable-jit,--disable-jit) \ + --with-match-limit-recursion=16000 \ + --$(if $(CONFIG_PACKAGE_libpcrecpp),en,dis)able-cpp \ + --with-pic + +MAKE_FLAGS += \ + CFLAGS="$(TARGET_CFLAGS)" + +define Build/InstallDev + $(INSTALL_DIR) $(1)/usr/bin + $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/pcre-config $(1)/usr/bin/ + $(SED) 's,^\(prefix\|exec_prefix\)=.*,\1=$(STAGING_DIR)/usr,g' $(1)/usr/bin/pcre-config + + $(INSTALL_DIR) $(2)/bin + $(LN) $(STAGING_DIR)/usr/bin/pcre-config $(2)/bin + + $(INSTALL_DIR) $(1)/usr/include + $(CP) $(PKG_INSTALL_DIR)/usr/include/pcre*.h $(1)/usr/include/ + + $(INSTALL_DIR) $(1)/usr/lib + $(CP) $(PKG_INSTALL_DIR)/usr/lib/libpcre*.{a,so*} $(1)/usr/lib/ + + $(INSTALL_DIR) $(1)/usr/lib/pkgconfig + $(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/libpcre*.pc $(1)/usr/lib/pkgconfig/ +endef + +define Package/libpcre/install + $(INSTALL_DIR) $(1)/usr/lib + $(CP) $(PKG_INSTALL_DIR)/usr/lib/libpcre{,posix}.so.* $(1)/usr/lib/ + $(CP) $(PKG_INSTALL_DIR)/usr/lib/libpcre.so $(1)/usr/lib/ +endef + +define Package/libpcre16/install + $(INSTALL_DIR) $(1)/usr/lib + $(CP) $(PKG_INSTALL_DIR)/usr/lib/libpcre16.so* $(1)/usr/lib/ +endef + +define Package/libpcre32/install + $(INSTALL_DIR) $(1)/usr/lib + $(CP) $(PKG_INSTALL_DIR)/usr/lib/libpcre32.so* $(1)/usr/lib/ +endef + +define Package/libpcrecpp/install + $(INSTALL_DIR) $(1)/usr/lib + $(CP) $(PKG_INSTALL_DIR)/usr/lib/libpcrecpp.so.* $(1)/usr/lib/ +endef + +$(eval $(call BuildPackage,libpcre)) +$(eval $(call BuildPackage,libpcre16)) +$(eval $(call BuildPackage,libpcre32)) +$(eval $(call BuildPackage,libpcrecpp)) +$(eval $(call HostBuild)) diff --git a/target/linux/qualcommax/files/arch/arm64/boot/dts/qcom/ipq6018-cmiot.dtsi b/target/linux/qualcommax/files/arch/arm64/boot/dts/qcom/ipq6018-cmiot.dtsi index 21f8a845bdf..80ea3cd4dce 100644 --- a/target/linux/qualcommax/files/arch/arm64/boot/dts/qcom/ipq6018-cmiot.dtsi +++ b/target/linux/qualcommax/files/arch/arm64/boot/dts/qcom/ipq6018-cmiot.dtsi @@ -5,7 +5,7 @@ #include "ipq6018.dtsi" #include "ipq6018-ess.dtsi" #include "ipq6018-cpufreq.dtsi" -#include "ipq6018-256m.dtsi" +#include "ipq6018-512m.dtsi" #include "ipq6018-nss.dtsi" diff --git a/target/linux/qualcommax/files/arch/arm64/boot/dts/qcom/ipq6018-jdcloud-ax6600.dts b/target/linux/qualcommax/files/arch/arm64/boot/dts/qcom/ipq6018-jdcloud-ax6600.dts deleted file mode 100644 index 68dc7cd5e82..00000000000 --- a/target/linux/qualcommax/files/arch/arm64/boot/dts/qcom/ipq6018-jdcloud-ax6600.dts +++ /dev/null @@ -1,428 +0,0 @@ -// SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause) -/* - * IPQ6018 CP01 board device tree source - * - * Copyright (c) 2019-2021 The Linux Foundation. All rights reserved. - */ - -/dts-v1/; - -#include "ipq6018.dtsi" -#include "ipq6018-512m.dtsi" -#include "ipq6018-ess.dtsi" -#include "ipq6018-nss.dtsi" - -#include - -/ { - model = "JDCloud AX6600"; - compatible = "jdcloud,ax6600", "qcom,ipq6018-ap-cp01-c3", "qcom,ipq6018-ap-cp01", "qcom,ipq6018"; - aliases { - led-boot = &led_red; - led-failsafe = &led_red; - led-running = &led_green; - led-upgrade = &led_green; - serial0 = &blsp1_uart3; - sdhc1 = &sdhc_1; - /* - * Aliases as required by u-boot - * to patch MAC addresses - */ - ethernet0 = "/soc/dp1"; - ethernet1 = "/soc/dp2"; - ethernet2 = "/soc/dp3"; - ethernet3 = "/soc/dp4"; - ethernet4 = "/soc/dp5"; - }; - - chosen { - bootargs = "console=ttyMSM0,115200,n8"; - bootargs-append = " rootfstype=squashfs,ext4 swiotlb=1 coherent_pool=2M"; - }; - - -&blsp1_uart3 { - pinctrl-0 = <&serial_3_pins>; - pinctrl-names = "default"; - status = "ok"; -}; - -&tlmm { - /* - * When your device is JDCloud, you need to add this compatible, - * if gpio > 20, for example gpio65, you should use gpio64 in this dts! - */ - compatible = "jdc,nmsl-pinctrl"; - mdio_pins: mdio_pinmux { - mux_0 { - pins = "gpio64"; - function = "mdc"; - drive-strength = <8>; - bias-pull-up; - }; - mux_1 { - pins = "gpio65"; - function = "mdio"; - drive-strength = <8>; - bias-pull-up; - }; - mux_2 { - pins = "gpio74"; - function = "gpio"; - bias-pull-up; - }; - mux_3 { - pins = "gpio76"; - function = "gpio"; - bias-pull-up; - }; - }; - - tmp1628_pins: tmp1628_pins { - dio { - pins = "gpio73"; - function = "gpio"; - drive-strength = <8>; - bias-pull-down; - }; - - clk { - pins = "gpio72"; - function = "gpio"; - drive-strength = <8>; - bias-pull-down; - }; - - stb1 { - pins = "gpio68"; - function = "gpio"; - drive-strength = <8>; - bias-pull-down; - }; - - stb2 { - pins = "gpio69"; - function = "gpio"; - drive-strength = <8>; - bias-pull-down; - }; - }; - - button_pins: button_pins { - joylink_button { - pins = "gpio71"; - function = "gpio"; - drive-strength = <8>; - bias-pull-down; - }; - - reset_button { - pins = "gpio55"; - function = "gpio"; - drive-strength = <8>; - bias-pull-down; - }; - - screen_button { - pins = "gpio70"; - function = "gpio"; - drive-strength = <8>; - bias-pull-down; - }; - }; - - leds_pins: leds_pins { - led_b1 { - pins = "gpio78"; - function = "gpio"; - drive-strength = <8>; - bias-pull-down; - }; - - led_r1 { - pins = "gpio56"; - function = "gpio"; - drive-strength = <8>; - bias-pull-down; - }; - - led_g1 { - pins = "gpio57"; - function = "gpio"; - drive-strength = <8>; - bias-pull-down; - }; - }; - - usb_power: usb_power { - pins = "gpio22"; - function = "gpio"; - drive-strength = <8>; - output-high; - bias-pull-up; - }; -}; - -&soc { - mdio: mdio@90000 { - pinctrl-0 = <&mdio_pins>; - pinctrl-names = "default"; - phy-reset-gpio = <&tlmm 74 1 &tlmm 76 1>; - status = "ok"; - phy0: ethernet-phy@0 { - reg = <24>; - }; - phy1: ethernet-phy@1 { - reg = <25>; - }; - phy2: ethernet-phy@2 { - reg = <26>; - }; - phy3: ethernet-phy@3 { - reg = <27>; - }; - phy4: ethernet-phy@4 { - reg = <12>; - }; - }; - - dp1 { - device_type = "network"; - compatible = "qcom,nss-dp"; - qcom,id = <1>; - reg = <0x3a001000 0x200>; - qcom,mactype = <0>; - local-mac-address = [000000000000]; - qcom,link-poll = <1>; - qcom,phy-mdio-addr = <24>; - phy-mode = "sgmii"; - }; - - dp2 { - device_type = "network"; - compatible = "qcom,nss-dp"; - qcom,id = <2>; - reg = <0x3a001200 0x200>; - qcom,mactype = <0>; - local-mac-address = [000000000000]; - qcom,link-poll = <1>; - qcom,phy-mdio-addr = <25>; - phy-mode = "sgmii"; - }; - - dp3 { - device_type = "network"; - compatible = "qcom,nss-dp"; - qcom,id = <3>; - reg = <0x3a001400 0x200>; - qcom,mactype = <0>; - local-mac-address = [000000000000]; - qcom,link-poll = <1>; - qcom,phy-mdio-addr = <26>; - phy-mode = "sgmii"; - }; - - dp4 { - device_type = "network"; - compatible = "qcom,nss-dp"; - qcom,id = <4>; - reg = <0x3a001600 0x200>; - qcom,mactype = <0>; - local-mac-address = [000000000000]; - qcom,link-poll = <1>; - qcom,phy-mdio-addr = <27>; - phy-mode = "sgmii"; - }; - - dp5 { - device_type = "network"; - compatible = "qcom,nss-dp"; - qcom,id = <5>; - reg = <0x3a001800 0x200>; - qcom,mactype = <0>; - local-mac-address = [000000000000]; - qcom,link-poll = <1>; - qcom,phy-mdio-addr = <12>; - phy-mode = "sgmii"; - }; - - ess-switch@3a000000 { - switch_cpu_bmp = <0x1>; /* cpu port bitmap */ - switch_lan_bmp = <0x1e>; /* lan port bitmap */ - switch_wan_bmp = <0x20>; /* wan port bitmap */ - switch_inner_bmp = <0xc0>; /*inner port bitmap*/ - switch_mac_mode = <0x0>; /* mac mode for uniphy instance0*/ - switch_mac_mode1 = <0xf>; /* mac mode for uniphy instance1*/ - switch_mac_mode2 = <0xff>; /* mac mode for uniphy instance2*/ - qcom,port_phyinfo { - port@0 { - port_id = <1>; - phy_address = <24>; - }; - port@1 { - port_id = <2>; - phy_address = <25>; - }; - port@2 { - port_id = <3>; - phy_address = <26>; - }; - port@3 { - port_id = <4>; - phy_address = <27>; - }; - port@4 { - port_id = <5>; - phy_address = <12>; - port_mac_sel = "QGMAC_PORT"; - }; - }; - }; - - keys { - compatible = "gpio-keys"; - pinctrl-0 = <&button_pins>; - pinctrl-names = "default"; - - joylink { - label = "joylink"; - linux,code = ; - gpios = <&tlmm 71 GPIO_ACTIVE_LOW>; - linux,input-type = <1>; - debounce-interval = <60>; - }; - - reset { - label = "reset"; - linux,code = ; - gpios = <&tlmm 55 GPIO_ACTIVE_LOW>; - linux,input-type = <1>; - debounce-interval = <60>; - }; - - screen { - label = "screen"; - linux,code = ; - gpios = <&tlmm 70 GPIO_ACTIVE_LOW>; - linux,input-type = <1>; - debounce-interval = <60>; - }; - }; - - leds { - compatible = "gpio-leds"; - pinctrl-0 = <&leds_pins>; - pinctrl-names = "default"; - - led_blue: led_b1 { - label = "bule:status"; - gpio = <&tlmm 78 GPIO_ACTIVE_HIGH>; - }; - - led_red: led_r1 { - label = "red:status"; - gpio = <&tlmm 56 GPIO_ACTIVE_HIGH>; - }; - - led_green: led_g1 { - label = "green:status"; - gpio = <&tlmm 57 GPIO_ACTIVE_HIGH>; - }; - }; - - tmp1628_gpio { - compatible = "tmp1628_led"; - - led@74 { - lable = "dio"; - gpios = <&tlmm 73 GPIO_ACTIVE_HIGH>; - direction = "out"; - }; - - led@73 { - lable = "clk"; - gpios = <&tlmm 72 GPIO_ACTIVE_HIGH>; - direction = "out"; - }; - - led@69 { - lable = "stb1"; - gpios = <&tlmm 68 GPIO_ACTIVE_HIGH>; - direction = "out"; - }; - - led@70 { - lable = "stb2"; - gpios = <&tlmm 69 GPIO_ACTIVE_HIGH>; - direction = "out"; - }; - }; -}; - -&qpic_bam { - status = "ok"; -}; - -&qpic_nand { - status = "ok"; - - nand@0 { - reg = <0>; - #address-cells = <1>; - #size-cells = <1>; - - nand-ecc-strength = <4>; - nand-ecc-step-size = <512>; - nand-bus-width = <8>; - }; -}; - -&qusb_phy_0 { - status = "ok"; -}; - -&ssphy_0 { - status = "ok"; -}; - -&usb3 { - pinctrl-0 = <&usb_power>; - pinctrl-names = "default"; - status = "ok"; -}; - -&nss_crypto { - status = "ok"; -}; - -&pcie_phy { - status = "ok"; -}; - -&pcie0 { - status = "ok"; - perst-gpio = <&tlmm 52 GPIO_ACTIVE_LOW>; - pcie0_rp { - status = "ok"; - reg = <0 0 0 0 0 >; - - mhi_0: qcom,mhi@0 { - status = "ok"; - reg = <0 0 0 0 0 >; - qrtr_instance_id = <0x20>; - }; - }; -}; - -&mhi_test { - status = "ok"; -}; - -&wifi0 { - qcom,board_id = <0x13>; - status = "ok"; -}; - -&sdhc_1 { - status = "ok"; -};