Makefile revision 4547
689023771c563d8660e45d439a207e06e96de28fMark Andrews#
1ca2cf024391992fe14b2df7d3ae0f575d074452Evan Hunt# CDDL HEADER START
689023771c563d8660e45d439a207e06e96de28fMark Andrews#
0c27b3fe77ac1d5094ba3521e8142d9e7973133fMark Andrews# The contents of this file are subject to the terms of the
0c27b3fe77ac1d5094ba3521e8142d9e7973133fMark Andrews# Common Development and Distribution License (the "License").
0c27b3fe77ac1d5094ba3521e8142d9e7973133fMark Andrews# You may not use this file except in compliance with the License.
689023771c563d8660e45d439a207e06e96de28fMark Andrews#
2eeb74d1cf5355dd98f6d507a10086e16bb08c4bTinderbox User# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
34f649fa22a16acb488ccf0f8a41d541c6ba7da1Evan Hunt# or http://www.opensolaris.org/os/licensing.
34f649fa22a16acb488ccf0f8a41d541c6ba7da1Evan Hunt# See the License for the specific language governing permissions
83a28ca274521e15086fc39febde507bcc4e145eMark Andrews# and limitations under the License.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt#
34f649fa22a16acb488ccf0f8a41d541c6ba7da1Evan Hunt# When distributing Covered Code, include this CDDL HEADER in each
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
689023771c563d8660e45d439a207e06e96de28fMark Andrews# If applicable, add the following below this CDDL HEADER, with the
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt# fields enclosed by brackets "[]" replaced with your own identifying
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt# information: Portions Copyright [yyyy] [name of copyright owner]
689023771c563d8660e45d439a207e06e96de28fMark Andrews#
689023771c563d8660e45d439a207e06e96de28fMark Andrews# CDDL HEADER END
689023771c563d8660e45d439a207e06e96de28fMark Andrews
689023771c563d8660e45d439a207e06e96de28fMark Andrews#
689023771c563d8660e45d439a207e06e96de28fMark Andrews# Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved.
689023771c563d8660e45d439a207e06e96de28fMark Andrews#
689023771c563d8660e45d439a207e06e96de28fMark Andrews
689023771c563d8660e45d439a207e06e96de28fMark Andrewsinclude ../../make-rules/shared-macros.mk
689023771c563d8660e45d439a207e06e96de28fMark Andrews
689023771c563d8660e45d439a207e06e96de28fMark AndrewsCOMPONENT_NAME= pcre
2637d30fbd235fe98145f4312b10cc41a13bf7dcJeremy C. ReedCOMPONENT_VERSION= 8.37
689023771c563d8660e45d439a207e06e96de28fMark AndrewsCOMPONENT_SRC= $(COMPONENT_NAME)-$(COMPONENT_VERSION)
689023771c563d8660e45d439a207e06e96de28fMark AndrewsCOMPONENT_ARCHIVE= $(COMPONENT_SRC).tar.gz
268a4475065fe6a8cd7cc707820982cf5e98f430Rob AusteinCOMPONENT_ARCHIVE_HASH= \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein sha256:19d490a714274a8c4c9d131f651489b8647cdb40a159e9fb7ce17ba99ef992ab
268a4475065fe6a8cd7cc707820982cf5e98f430Rob AusteinCOMPONENT_ARCHIVE_URL= http://sourceforge.net/projects/pcre/files/pcre/$(COMPONENT_VERSION)/$(COMPONENT_ARCHIVE)
268a4475065fe6a8cd7cc707820982cf5e98f430Rob AusteinCOMPONENT_PROJECT_URL= http://pcre.org/
acb4f5236966c2b680b949c1eda826948b24fc23Mark AndrewsCOMPONENT_BUGDB= library/pcre
c1a883f2e04d94e99c433b1f6cfd0c0338f4ed85Mark Andrews
1da14e066c23245c255dedb311d5a9cf0e5bb667Automatic UpdaterTPNO= 23018
15bbb8a1298a61e401ba16c944dc06049abb81bfAutomatic Updater
515c7f3c43f76d7b439905b18009105364b36100Automatic Updaterinclude $(WS_MAKE_RULES)/prep.mk
93235c1cba839a88013063ff8c440849d95dd222Automatic Updaterinclude $(WS_MAKE_RULES)/configure.mk
3b398443f0dca316ba7a6e057ba2d1b8ab4ddf70Tinderbox Userinclude $(WS_MAKE_RULES)/ips.mk
43b94483957d3168796a816ed86cf097518817dcTinderbox Userinclude $(WS_MAKE_RULES)/lint-libraries.mk
869a7fe8e0eb29a55f5e73dc8ba73a668df412ebTinderbox User
39f68d7b64dce25e19f7132f6c46b3beabeed492Tinderbox User# pick up -xc99=all in CFLAGS
2cc103828e6bfcb8fa864383af321e201bb55250Tinderbox Userstudio_C99MODE= $(studio_C99_ENABLE)
1ca2cf024391992fe14b2df7d3ae0f575d074452Evan Hunt
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein# pick up -xlang=c99 in XPG5MODE
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austeinstudio_cplusplus_C99MODE= $(studio_cplusplus_C99_ENABLE)
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein# turn on largefile support
689023771c563d8660e45d439a207e06e96de28fMark AndrewsCFLAGS+= $(CPP_LARGEFILES)
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt
689023771c563d8660e45d439a207e06e96de28fMark AndrewsCFLAGS+= $(XPG6MODE)
689023771c563d8660e45d439a207e06e96de28fMark Andrews
689023771c563d8660e45d439a207e06e96de28fMark Andrews# Although -norunpath is set for CXXFLAGS, we need to put -norunpath
689023771c563d8660e45d439a207e06e96de28fMark Andrews# here, otherwise -norunpath doesn't get set when creating the shared
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt# libraries (CC -G).
30eec077db2bdcb6f2a0dc388a3cdde2ede75ec1Mark AndrewsCXX+= $(studio_NORUNPATH)
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein
268a4475065fe6a8cd7cc707820982cf5e98f430Rob AusteinCXXFLAGS+= $(CC_PIC)
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein# turn on support for large files
268a4475065fe6a8cd7cc707820982cf5e98f430Rob AusteinCXXFLAGS+= $(CPP_LARGEFILES)
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein
689023771c563d8660e45d439a207e06e96de28fMark AndrewsCXXFLAGS+= $(XPG5MODE)
689023771c563d8660e45d439a207e06e96de28fMark Andrews
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein# We need to do this because libtool adds wrong paths to RPATH.
689023771c563d8660e45d439a207e06e96de28fMark AndrewsLDFLAGS += -L$(CONFIGURE_LIBDIR.$(BITS)) -R$(CONFIGURE_LIBDIR.$(BITS))
689023771c563d8660e45d439a207e06e96de28fMark Andrews
268a4475065fe6a8cd7cc707820982cf5e98f430Rob AusteinLINTFLAGS+= -I. $(studio_XBITS) $(CPP_LARGEFILES)
689023771c563d8660e45d439a207e06e96de28fMark Andrews
689023771c563d8660e45d439a207e06e96de28fMark AndrewsCONFIGURE_ENV+= "CC=$(CC)"
268a4475065fe6a8cd7cc707820982cf5e98f430Rob AusteinCONFIGURE_ENV+= "CFLAGS=$(CFLAGS)"
689023771c563d8660e45d439a207e06e96de28fMark AndrewsCONFIGURE_ENV+= "CPP=$(CC) $(CPPFLAGS) $(CFLAGS) -E"
14a656f94b1fd0ababd84a772228dfa52276ba15Evan HuntCONFIGURE_ENV+= "CXX=$(CXX)"
689023771c563d8660e45d439a207e06e96de28fMark AndrewsCONFIGURE_ENV+= "CXXFLAGS=$(CXXFLAGS)"
14a656f94b1fd0ababd84a772228dfa52276ba15Evan HuntCONFIGURE_ENV+= "CXXCPP=$(CXX) $(CPPFLAGS) $(CXXFLAGS) -E"
30eec077db2bdcb6f2a0dc388a3cdde2ede75ec1Mark AndrewsCONFIGURE_ENV+= "LDFLAGS=$(LDFLAGS)"
14a656f94b1fd0ababd84a772228dfa52276ba15Evan HuntCONFIGURE_ENV+= "CXXLDFLAGS=$(LDFLAGS)"
689023771c563d8660e45d439a207e06e96de28fMark AndrewsCONFIGURE_ENV+= "CXXLD=$(CXX) $(CXXFLAGS) $(LDFLAGS)"
268a4475065fe6a8cd7cc707820982cf5e98f430Rob AusteinCONFIGURE_ENV+= "INSTALL=$(INSTALL)"
14a656f94b1fd0ababd84a772228dfa52276ba15Evan HuntCONFIGURE_ENV+= "MAKE=$(GMAKE)"
689023771c563d8660e45d439a207e06e96de28fMark Andrews
34f649fa22a16acb488ccf0f8a41d541c6ba7da1Evan HuntCONFIGURE_ENV.64+= "CXXLINKLIB=$(CXX) $(CCFLAGS) $(LDFLAGS)"
30eec077db2bdcb6f2a0dc388a3cdde2ede75ec1Mark AndrewsCONFIGURE_ENV.64+= "MACH64=$(MACH64)"
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt
34f649fa22a16acb488ccf0f8a41d541c6ba7da1Evan HuntCONFIGURE_OPTIONS+= --includedir=$(CONFIGURE_INCLUDEDIR)/pcre
34f649fa22a16acb488ccf0f8a41d541c6ba7da1Evan HuntCONFIGURE_OPTIONS+= --localstatedir=/var
34f649fa22a16acb488ccf0f8a41d541c6ba7da1Evan HuntCONFIGURE_OPTIONS+= --disable-static
34f649fa22a16acb488ccf0f8a41d541c6ba7da1Evan HuntCONFIGURE_OPTIONS+= --enable-cpp
34f649fa22a16acb488ccf0f8a41d541c6ba7da1Evan HuntCONFIGURE_OPTIONS+= --enable-rebuild-chartables
34f649fa22a16acb488ccf0f8a41d541c6ba7da1Evan HuntCONFIGURE_OPTIONS+= --enable-utf8
34f649fa22a16acb488ccf0f8a41d541c6ba7da1Evan HuntCONFIGURE_OPTIONS+= --enable-unicode-properties
34f649fa22a16acb488ccf0f8a41d541c6ba7da1Evan HuntCONFIGURE_OPTIONS+= --enable-newline-is-any
34f649fa22a16acb488ccf0f8a41d541c6ba7da1Evan HuntCONFIGURE_OPTIONS+= --disable-stack-for-recursion
34f649fa22a16acb488ccf0f8a41d541c6ba7da1Evan HuntCONFIGURE_OPTIONS+= --enable-pcregrep-libz
689023771c563d8660e45d439a207e06e96de28fMark AndrewsCONFIGURE_OPTIONS+= --enable-pcregrep-libbz2
268a4475065fe6a8cd7cc707820982cf5e98f430Rob AusteinCONFIGURE_OPTIONS+= --with-posix-malloc-threshold=20
14a656f94b1fd0ababd84a772228dfa52276ba15Evan HuntCONFIGURE_OPTIONS+= --with-link-size=4
689023771c563d8660e45d439a207e06e96de28fMark AndrewsCONFIGURE_OPTIONS+= --with-match-limit=10000000
34f649fa22a16acb488ccf0f8a41d541c6ba7da1Evan HuntCONFIGURE_OPTIONS+= --with-pic
30eec077db2bdcb6f2a0dc388a3cdde2ede75ec1Mark Andrews
14a656f94b1fd0ababd84a772228dfa52276ba15Evan HuntCONFIGURE_OPTIONS.64+= --libexecdir=$(CONFIGURE_PREFIX)/libexec/$(MACH64)
34f649fa22a16acb488ccf0f8a41d541c6ba7da1Evan Hunt
34f649fa22a16acb488ccf0f8a41d541c6ba7da1Evan HuntCOMPONENT_BUILD_ENV+= "LDFLAGS=$(LDFLAGS)"
34f649fa22a16acb488ccf0f8a41d541c6ba7da1Evan HuntCOMPONENT_BUILD_ENV+= "INSTALL=$(INSTALL)"
689023771c563d8660e45d439a207e06e96de28fMark AndrewsCOMPONENT_BUILD_ENV+= "MAKE=$(GMAKE)"
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein
14a656f94b1fd0ababd84a772228dfa52276ba15Evan HuntCOMPONENT_BUILD_ARGS+= -e
689023771c563d8660e45d439a207e06e96de28fMark Andrews
34f649fa22a16acb488ccf0f8a41d541c6ba7da1Evan Hunt# Master test results are the same for 32-bit and 64-bit, so override
30eec077db2bdcb6f2a0dc388a3cdde2ede75ec1Mark Andrews# here, rather than create multiple identical master files.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan HuntCOMPONENT_TEST_MASTER = $(COMPONENT_TEST_RESULTS_DIR)/results-all.master
34f649fa22a16acb488ccf0f8a41d541c6ba7da1Evan Hunt
34f649fa22a16acb488ccf0f8a41d541c6ba7da1Evan HuntASLR_MODE = $(ASLR_ENABLE)
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein
14a656f94b1fd0ababd84a772228dfa52276ba15Evan HuntCOMPONENT_INSTALL_ARGS+= "INSTALL=$(INSTALL)"
689023771c563d8660e45d439a207e06e96de28fMark AndrewsCOMPONENT_INSTALL_ARGS+= "MAKE=$(GMAKE)"
34f649fa22a16acb488ccf0f8a41d541c6ba7da1Evan Hunt
30eec077db2bdcb6f2a0dc388a3cdde2ede75ec1Mark Andrews# common targets
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt
34f649fa22a16acb488ccf0f8a41d541c6ba7da1Evan Huntconfigure: $(CONFIGURE_32_and_64)
34f649fa22a16acb488ccf0f8a41d541c6ba7da1Evan Hunt
34f649fa22a16acb488ccf0f8a41d541c6ba7da1Evan Huntbuild: $(BUILD_32_and_64)
689023771c563d8660e45d439a207e06e96de28fMark Andrews
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austeininstall: $(INSTALL_32_and_64)
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt
689023771c563d8660e45d439a207e06e96de28fMark Andrewstest: $(TEST_32_and_64)
34f649fa22a16acb488ccf0f8a41d541c6ba7da1Evan Hunt
30eec077db2bdcb6f2a0dc388a3cdde2ede75ec1Mark Andrewssystem-test: $(SYSTEM_TESTS_NOT_IMPLEMENTED)
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt
34f649fa22a16acb488ccf0f8a41d541c6ba7da1Evan Hunt
34f649fa22a16acb488ccf0f8a41d541c6ba7da1Evan HuntREQUIRED_PACKAGES += compress/bzip2
34f649fa22a16acb488ccf0f8a41d541c6ba7da1Evan HuntREQUIRED_PACKAGES += library/zlib
34f649fa22a16acb488ccf0f8a41d541c6ba7da1Evan HuntREQUIRED_PACKAGES += shell/ksh93
34f649fa22a16acb488ccf0f8a41d541c6ba7da1Evan HuntREQUIRED_PACKAGES += system/library
34f649fa22a16acb488ccf0f8a41d541c6ba7da1Evan HuntREQUIRED_PACKAGES += system/library/c++-runtime
34f649fa22a16acb488ccf0f8a41d541c6ba7da1Evan Hunt