42149fc511f1d0cb9296c61c25c968ba95cc0fd3
[openwrt/staging/dedeckeh.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.45
12 PKG_RELEASE:=$(AUTORELEASE)
13
14 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
15 PKG_SOURCE_URL:=@SF/$(PKG_NAME)
16 PKG_HASH:=4dae6fdcd2bb0bb6c37b5f97c33c2be954da743985369cddac3546e3218bffb8
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_PACKAGE_libpcrecpp \
28 CONFIG_PCRE_JIT_ENABLED
29
30 include $(INCLUDE_DIR)/package.mk
31 include $(INCLUDE_DIR)/host-build.mk
32
33 define Package/libpcre/default
34 SECTION:=libs
35 CATEGORY:=Libraries
36 URL:=https://www.pcre.org/
37 endef
38
39 define Package/libpcre/config
40 source "$(SOURCE)/Config.in"
41 endef
42
43 define Package/libpcre
44 $(call Package/libpcre/default)
45 TITLE:=A Perl Compatible Regular Expression library
46 endef
47
48 define Package/libpcre16
49 $(call Package/libpcre/default)
50 TITLE:=A Perl Compatible Regular Expression library (16bit support)
51 endef
52
53 define Package/libpcre32
54 $(call Package/libpcre/default)
55 TITLE:=A Perl Compatible Regular Expression library (32bit support)
56 endef
57
58 define Package/libpcrecpp
59 $(call Package/libpcre/default)
60 TITLE:=C++ wrapper for Perl Compatible Regular Expression library
61 DEPENDS:=+libpcre +libstdcpp
62 endef
63
64 HOST_CONFIGURE_ARGS += \
65 --enable-utf8 \
66 --enable-unicode-properties \
67 --enable-pcre16 \
68 --with-match-limit-recursion=16000 \
69 --enable-cpp
70
71 TARGET_CFLAGS += $(FPIC)
72
73 CONFIGURE_ARGS += \
74 --enable-utf8 \
75 --enable-unicode-properties \
76 --enable-pcre16 \
77 --enable-pcre32 \
78 $(if $(CONFIG_PCRE_JIT_ENABLED),--enable-jit,--disable-jit) \
79 --with-match-limit-recursion=16000 \
80 --$(if $(CONFIG_PACKAGE_libpcrecpp),en,dis)able-cpp
81
82 MAKE_FLAGS += \
83 CFLAGS="$(TARGET_CFLAGS)"
84
85 define Build/InstallDev
86 $(INSTALL_DIR) $(1)/usr/bin
87 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/pcre-config $(1)/usr/bin/
88 $(SED) 's,^\(prefix\|exec_prefix\)=.*,\1=$(STAGING_DIR)/usr,g' $(1)/usr/bin/pcre-config
89
90 $(INSTALL_DIR) $(2)/bin
91 $(LN) $(STAGING_DIR)/usr/bin/pcre-config $(2)/bin
92
93 $(INSTALL_DIR) $(1)/usr/include
94 $(CP) $(PKG_INSTALL_DIR)/usr/include/pcre*.h $(1)/usr/include/
95
96 $(INSTALL_DIR) $(1)/usr/lib
97 $(CP) $(PKG_INSTALL_DIR)/usr/lib/libpcre*.{a,so*} $(1)/usr/lib/
98
99 $(INSTALL_DIR) $(1)/usr/lib/pkgconfig
100 $(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/libpcre*.pc $(1)/usr/lib/pkgconfig/
101 endef
102
103 define Package/libpcre/install
104 $(INSTALL_DIR) $(1)/usr/lib
105 $(CP) $(PKG_INSTALL_DIR)/usr/lib/libpcre{,posix}.so.* $(1)/usr/lib/
106 $(CP) $(PKG_INSTALL_DIR)/usr/lib/libpcre.so $(1)/usr/lib/
107 endef
108
109 define Package/libpcre16/install
110 $(INSTALL_DIR) $(1)/usr/lib
111 $(CP) $(PKG_INSTALL_DIR)/usr/lib/libpcre16.so* $(1)/usr/lib/
112 endef
113
114 define Package/libpcre32/install
115 $(INSTALL_DIR) $(1)/usr/lib
116 $(CP) $(PKG_INSTALL_DIR)/usr/lib/libpcre32.so* $(1)/usr/lib/
117 endef
118
119 define Package/libpcrecpp/install
120 $(INSTALL_DIR) $(1)/usr/lib
121 $(CP) $(PKG_INSTALL_DIR)/usr/lib/libpcrecpp.so.* $(1)/usr/lib/
122 endef
123
124 $(eval $(call BuildPackage,libpcre))
125 $(eval $(call BuildPackage,libpcre16))
126 $(eval $(call BuildPackage,libpcre32))
127 $(eval $(call BuildPackage,libpcrecpp))
128 $(eval $(call HostBuild))