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.
25 include ..
/..
/..
/make-rules
/shared-macros.mk
28 COMPONENT_VERSION
= 8.41
30 COMPONENT_SRC
= $(COMPONENT_NAME
)-$(COMPONENT_VERSION
)
31 COMPONENT_ARCHIVE
= $(COMPONENT_SRC
).
tar.gz
32 COMPONENT_ARCHIVE_HASH
= \
33 sha256
:244838e1f1d14f7e2fa7681b857b3a8566b74215f28133f14a8f5e59241b682c
34 COMPONENT_ARCHIVE_URL
= http
://sourceforge.net
/projects
/pcre
/files
/pcre
/$(COMPONENT_VERSION
)/$(COMPONENT_ARCHIVE
)
35 COMPONENT_SUMMARY
= Perl-Compatible Regular Expressions
36 COMPONENT_PROJECT_URL
= http
://pcre.org
/
37 COMPONENT_BUGDB
= library
/pcre
38 COMPONENT_FMRI
= library
/pcre
39 COMPONENT_CLASSIFICATION
= Development
/C
40 COMPONENT_LICENSE
= BSD
41 COMPONENT_LICENSE_FILE
= LICENCE
43 include $(WS_MAKE_RULES
)/prep.mk
44 include $(WS_MAKE_RULES
)/configure.mk
45 include $(WS_MAKE_RULES
)/ips.mk
47 # pick up -std=c99 in CFLAGS
50 # turn on largefile support
51 CFLAGS
+= $(CPP_LARGEFILES
)
56 # turn on support for large files
57 CXXFLAGS
+= $(CPP_LARGEFILES
)
59 #CXXFLAGS+= $(XPG5MODE)
61 # We need to do this because libtool adds wrong paths to RPATH.
62 LDFLAGS
+= -L
$(CONFIGURE_LIBDIR.
$(BITS
)) -R
$(CONFIGURE_LIBDIR.
$(BITS
))
64 LINTFLAGS
+= -I.
$(studio_XBITS
) $(CPP_LARGEFILES
)
66 CONFIGURE_ENV
+= "CPP=$(CC) $(CPPFLAGS) $(CFLAGS) -E"
67 CONFIGURE_ENV
+= "CXXCPP=$(CXX) $(CPPFLAGS) $(CXXFLAGS) -E"
68 CONFIGURE_ENV
+= "CXXLDFLAGS=$(LDFLAGS)"
69 CONFIGURE_ENV
+= "CXXLD=$(CXX) $(CXXFLAGS) $(LDFLAGS)"
70 CONFIGURE_ENV
+= "INSTALL=$(INSTALL)"
71 CONFIGURE_ENV
+= "MAKE=$(GMAKE)"
73 CONFIGURE_ENV
.64+= "CXXLINKLIB=$(CXX) $(CCFLAGS) $(LDFLAGS)"
74 CONFIGURE_ENV
.64+= "MACH64=$(MACH64)"
76 CONFIGURE_OPTIONS
+= --includedir=$(CONFIGURE_INCLUDEDIR
)/pcre
77 CONFIGURE_OPTIONS
+= --localstatedir
=/var
78 CONFIGURE_OPTIONS
+= --disable-static
79 CONFIGURE_OPTIONS
+= --enable-cpp
80 CONFIGURE_OPTIONS
+= --enable-jit
81 CONFIGURE_OPTIONS
+= --enable-rebuild-chartables
82 CONFIGURE_OPTIONS
+= --enable-utf8
83 CONFIGURE_OPTIONS
+= --enable-unicode-properties
84 CONFIGURE_OPTIONS
+= --enable-newline-is-any
85 CONFIGURE_OPTIONS
+= --disable-stack-for-recursion
86 CONFIGURE_OPTIONS
+= --enable-pcregrep-libz
87 CONFIGURE_OPTIONS
+= --enable-pcregrep-libbz2
88 CONFIGURE_OPTIONS
+= --with-posix-malloc-threshold
=20
89 CONFIGURE_OPTIONS
+= --with-link-size
=4
90 CONFIGURE_OPTIONS
+= --with-match-limit
=10000000
91 CONFIGURE_OPTIONS
+= --with-pic
93 CONFIGURE_OPTIONS
.64+= --libexecdir
=$(CONFIGURE_PREFIX
)/libexec
/$(MACH64
)
95 COMPONENT_BUILD_ENV
+= "LDFLAGS=$(LDFLAGS)"
96 COMPONENT_BUILD_ENV
+= "INSTALL=$(INSTALL)"
97 COMPONENT_BUILD_ENV
+= "MAKE=$(GMAKE)"
99 COMPONENT_BUILD_ARGS
+= -e
101 # Master test results are the same for 32-bit and 64-bit, so override
102 # here, rather than create multiple identical master files.
103 COMPONENT_TEST_MASTER
= $(COMPONENT_TEST_RESULTS_DIR
)/results-all.master
105 COMPONENT_TEST_TRANSFORMS
+= \
106 '-e "s|Testsuite summary for PCRE .*|Testsuite summary for PCRE|" '
108 ASLR_MODE
= $(ASLR_ENABLE
)
110 COMPONENT_INSTALL_ARGS
+= "INSTALL=$(INSTALL)"
111 COMPONENT_INSTALL_ARGS
+= "MAKE=$(GMAKE)"
115 build
: $(BUILD_32_and_64
)
117 install: $(INSTALL_32_and_64
)
119 test: $(TEST_32_and_64
)
121 REQUIRED_PACKAGES
+= compress
/bzip2
122 REQUIRED_PACKAGES
+= library
/zlib
123 REQUIRED_PACKAGES
+= SUNWcs
124 REQUIRED_PACKAGES
+= system
/library
125 REQUIRED_PACKAGES
+= system
/library
/g
++-6-runtime
126 REQUIRED_PACKAGES
+= system
/library
/gcc-6-runtime