4 # The contents of this file are subject to the terms of the
5 # Common Development and Distribution License (the "License").
6 # You may not use this file except in compliance with the License.
8 # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9 # or http://www.opensolaris.org/os/licensing.
10 # See the License for the specific language governing permissions
11 # and limitations under the License.
13 # When distributing Covered Code, include this CDDL HEADER in each
14 # file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15 # If applicable, add the following below this CDDL HEADER, with the
16 # fields enclosed by brackets "[]" replaced with your own identifying
17 # information: Portions Copyright [yyyy] [name of copyright owner]
22 # Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
23 # Copyright (c) 2019, Michal Nowak
24 # Copyright (c) 2022, Daniel Chan
28 USE_DEFAULT_TEST_TRANSFORMS
= yes
29 include ..
/..
/..
/make-rules
/shared-macros.mk
32 COMPONENT_VERSION
= 8.45
34 COMPONENT_SUMMARY
= Perl-Compatible Regular Expressions
35 COMPONENT_SRC
= $(COMPONENT_NAME
)-$(COMPONENT_VERSION
)
36 COMPONENT_ARCHIVE
= $(COMPONENT_SRC
).
tar.bz2
37 COMPONENT_ARCHIVE_HASH
= sha256
:4dae6fdcd2bb0bb6c37b5f97c33c2be954da743985369cddac3546e3218bffb8
38 COMPONENT_ARCHIVE_URL
= https
://downloads.sourceforge.net
/project
/$(COMPONENT_NAME
)/$(COMPONENT_NAME
)/$(COMPONENT_VERSION
)/$(COMPONENT_ARCHIVE
)
39 COMPONENT_PROJECT_URL
= http
://pcre.org
/
40 COMPONENT_FMRI
= library
/pcre
41 COMPONENT_CLASSIFICATION
=Development
/C
42 COMPONENT_LICENSE
= BSD
43 COMPONENT_LICENSE_FILE
= LICENCE
45 include $(WS_MAKE_RULES
)/common.mk
47 # pick up -std=c99 in CFLAGS
50 # turn on largefile support
51 CFLAGS
+= $(CPP_LARGEFILES
)
55 # turn on support for large files
56 CXXFLAGS
+= $(CPP_LARGEFILES
)
58 CONFIGURE_ENV
+= "CPP=$(CC) $(CPPFLAGS) $(CFLAGS) -E"
59 CONFIGURE_ENV
+= "CXXCPP=$(CXX) $(CPPFLAGS) $(CXXFLAGS) -E"
60 CONFIGURE_ENV
+= "CXXLDFLAGS=$(LDFLAGS)"
61 CONFIGURE_ENV
+= "CXXLD=$(CXX) $(CXXFLAGS) $(LDFLAGS)"
62 CONFIGURE_ENV
+= "INSTALL=$(INSTALL)"
63 CONFIGURE_ENV
+= "MAKE=$(GMAKE)"
65 CONFIGURE_ENV
.64 += "CXXLINKLIB=$(CXX) $(CCFLAGS) $(LDFLAGS)"
66 CONFIGURE_ENV
.64 += "MACH64=$(MACH64)"
68 CONFIGURE_OPTIONS
+= --includedir=$(CONFIGURE_INCLUDEDIR
)/pcre
69 CONFIGURE_OPTIONS
+= --localstatedir
=/var
70 CONFIGURE_OPTIONS
+= --disable-static
71 CONFIGURE_OPTIONS
+= --enable-cpp
72 CONFIGURE_OPTIONS
+= --enable-jit
73 CONFIGURE_OPTIONS
+= --enable-rebuild-chartables
74 CONFIGURE_OPTIONS
+= --enable-utf8
75 CONFIGURE_OPTIONS
+= --enable-unicode-properties
76 CONFIGURE_OPTIONS
+= --enable-newline-is-any
77 CONFIGURE_OPTIONS
+= --disable-stack-for-recursion
78 CONFIGURE_OPTIONS
+= --enable-pcregrep-libz
79 CONFIGURE_OPTIONS
+= --enable-pcregrep-libbz2
80 CONFIGURE_OPTIONS
+= --with-posix-malloc-threshold
=20
81 CONFIGURE_OPTIONS
+= --with-link-size
=4
82 CONFIGURE_OPTIONS
+= --with-match-limit
=10000000
83 CONFIGURE_OPTIONS
+= --with-pic
85 CONFIGURE_OPTIONS
.64 += --libexecdir
=$(CONFIGURE_PREFIX
)/libexec
/$(MACH64
)
87 # Without this 64-bit libraries get /usr/lib/$(MACH64) RPATH
88 CONFIGURE_ENV
.64 += LT_SYS_LIBRARY_PATH
="/lib/$(MACH64):/usr/lib/$(MACH64)"
90 COMPONENT_BUILD_ENV
+= "LDFLAGS=$(LDFLAGS)"
91 COMPONENT_BUILD_ENV
+= "INSTALL=$(INSTALL)"
92 COMPONENT_BUILD_ENV
+= "MAKE=$(GMAKE)"
94 COMPONENT_BUILD_ARGS
+= -e
96 ASLR_MODE
= $(ASLR_ENABLE
)
98 COMPONENT_INSTALL_ARGS
+= "INSTALL=$(INSTALL)"
99 COMPONENT_INSTALL_ARGS
+= "MAKE=$(GMAKE)"
101 # Auto-generated dependencies
102 REQUIRED_PACKAGES
+= $(GCC_RUNTIME_PKG
)
103 REQUIRED_PACKAGES
+= $(GXX_RUNTIME_PKG
)
104 REQUIRED_PACKAGES
+= compress
/bzip2
105 REQUIRED_PACKAGES
+= library
/zlib
106 REQUIRED_PACKAGES
+= shell/ksh93
107 REQUIRED_PACKAGES
+= system
/library