8644746b4bd107dd72169d7ebc33a37e45d6af67
[openwrt/staging/hauke.git] / package / libs / pcre / Makefile
1 #
2 # Copyright (C) 2006-2015 OpenWrt.org
3 #
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
6 #
7
8 include $(TOPDIR)/rules.mk
9
10 PKG_NAME:=pcre
11 PKG_VERSION:=8.44
12 PKG_RELEASE:=4
13
14 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
15 PKG_SOURCE_URL:=@SF/$(PKG_NAME)
16 PKG_HASH:=19108658b23b3ec5058edc9f66ac545ea19f9537234be1ec62b714c84399366d
17
18 PKG_MAINTAINER:=Thomas Heil <heil@terminal-consulting.de>
19 PKG_LICENSE:=BSD-3-Clause
20 PKG_LICENSE_FILES:=LICENCE
21 PKG_CPE_ID:=cpe:/a:pcre:pcre
22
23 PKG_INSTALL:=1
24 PKG_BUILD_PARALLEL:=1
25
26 PKG_CONFIG_DEPENDS:=\
27 CONFIG_PCRE_JIT_ENABLED
28
29 include $(INCLUDE_DIR)/package.mk
30 include $(INCLUDE_DIR)/host-build.mk
31
32 define Package/libpcre/default
33 SECTION:=libs
34 CATEGORY:=Libraries
35 URL:=https://www.pcre.org/
36 endef
37
38 define Package/libpcre/config
39 source "$(SOURCE)/Config.in"
40 endef
41
42 define Package/libpcre
43 $(call Package/libpcre/default)
44 TITLE:=A Perl Compatible Regular Expression library
45 endef
46
47 define Package/libpcre16
48 $(call Package/libpcre/default)
49 TITLE:=A Perl Compatible Regular Expression library (16bit support)
50 endef
51
52 define Package/libpcre32
53 $(call Package/libpcre/default)
54 TITLE:=A Perl Compatible Regular Expression library (32bit support)
55 endef
56
57 HOST_CONFIGURE_ARGS += \
58 --enable-utf8 \
59 --enable-unicode-properties \
60 --enable-pcre16 \
61 --with-match-limit-recursion=16000 \
62 --disable-cpp
63
64 TARGET_CFLAGS += $(FPIC)
65
66 CONFIGURE_ARGS += \
67 --enable-utf8 \
68 --enable-unicode-properties \
69 --enable-pcre16 \
70 --enable-pcre32 \
71 $(if $(CONFIG_PCRE_JIT_ENABLED),--enable-jit,--disable-jit) \
72 --with-match-limit-recursion=16000 \
73 -disable-cpp
74
75 MAKE_FLAGS += \
76 CFLAGS="$(TARGET_CFLAGS)"
77
78 define Build/InstallDev
79 $(INSTALL_DIR) $(1)/usr/bin
80 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/pcre-config $(1)/usr/bin/
81 $(SED) 's,^\(prefix\|exec_prefix\)=.*,\1=$(STAGING_DIR)/usr,g' $(1)/usr/bin/pcre-config
82
83 $(INSTALL_DIR) $(2)/bin
84 $(LN) $(STAGING_DIR)/usr/bin/pcre-config $(2)/bin
85
86 $(INSTALL_DIR) $(1)/usr/include
87 $(CP) $(PKG_INSTALL_DIR)/usr/include/pcre*.h $(1)/usr/include/
88
89 $(INSTALL_DIR) $(1)/usr/lib
90 $(CP) $(PKG_INSTALL_DIR)/usr/lib/libpcre*.{a,so*} $(1)/usr/lib/
91
92 $(INSTALL_DIR) $(1)/usr/lib/pkgconfig
93 $(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/libpcre*.pc $(1)/usr/lib/pkgconfig/
94 endef
95
96 define Package/libpcre/install
97 $(INSTALL_DIR) $(1)/usr/lib
98 $(CP) $(PKG_INSTALL_DIR)/usr/lib/libpcre{,posix}.so.* $(1)/usr/lib/
99 $(CP) $(PKG_INSTALL_DIR)/usr/lib/libpcre.so $(1)/usr/lib/
100 endef
101
102 define Package/libpcre16/install
103 $(INSTALL_DIR) $(1)/usr/lib
104 $(CP) $(PKG_INSTALL_DIR)/usr/lib/libpcre16.so* $(1)/usr/lib/
105 endef
106
107 define Package/libpcre32/install
108 $(INSTALL_DIR) $(1)/usr/lib
109 $(CP) $(PKG_INSTALL_DIR)/usr/lib/libpcre32.so* $(1)/usr/lib/
110 endef
111
112 $(eval $(call BuildPackage,libpcre))
113 $(eval $(call BuildPackage,libpcre16))
114 $(eval $(call BuildPackage,libpcre32))
115 $(eval $(call HostBuild))