Makefile revision 1405
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder#
25cc5fbba63f84b47e389af749f55abbbde71c8cChristian Maeder# CDDL HEADER START
25cc5fbba63f84b47e389af749f55abbbde71c8cChristian Maeder#
25cc5fbba63f84b47e389af749f55abbbde71c8cChristian Maeder# The contents of this file are subject to the terms of the
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder# Common Development and Distribution License (the "License").
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder# You may not use this file except in compliance with the License.
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder#
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder# or http://www.opensolaris.org/os/licensing.
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder# See the License for the specific language governing permissions
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder# and limitations under the License.
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder#
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder# When distributing Covered Code, include this CDDL HEADER in each
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
b9625461755578f3eed04676d42a63fd2caebd0cChristian Maeder# If applicable, add the following below this CDDL HEADER, with the
b9625461755578f3eed04676d42a63fd2caebd0cChristian Maeder# fields enclosed by brackets "[]" replaced with your own identifying
ebde431fb3ce536c8bc397fcfc610ac6f92e3be4Christian Maeder# information: Portions Copyright [yyyy] [name of copyright owner]
ac0bbbcb2774629bb87986e69cf53d3402c5f575Christian Maeder#
760ae19a92dde8249679a674f93f58d26a7c5f6bChristian Maeder# CDDL HEADER END
760ae19a92dde8249679a674f93f58d26a7c5f6bChristian Maeder#
88c800932dd7053322501ea2039d9f234be6866cKlaus Luettich# Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
404166b9366552e9ec5abb87a37c76ec8a815fb7Klaus Luettich#
404166b9366552e9ec5abb87a37c76ec8a815fb7Klaus Luettichinclude ../../make-rules/shared-macros.mk
404166b9366552e9ec5abb87a37c76ec8a815fb7Klaus Luettich
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian MaederPATH=$(dir $(CC)):/usr/bin:/usr/gnu/bin
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder
d67a33b40578beef2e255a274f89bb9c34aaf056Christian Maeder# I want to override PERL_VERSION and PERL_ARCH because when building
ac0bbbcb2774629bb87986e69cf53d3402c5f575Christian Maeder# a new version of perl it probably isn't installed so shared-macros.mk
ac0bbbcb2774629bb87986e69cf53d3402c5f575Christian Maeder# can't call it.
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder
760ae19a92dde8249679a674f93f58d26a7c5f6bChristian MaederCOMPONENT_NAME= perl
760ae19a92dde8249679a674f93f58d26a7c5f6bChristian MaederCOMPONENT_VERSION= 5.12.4
c55a0f77be7e88d3620b419ec8961f4379a586e3Klaus LuettichPERL_VERSION= 5.12
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian MaederCOMPONENT_PROJECT_URL= http://www.perl.org/
857992065be4ed40a72c6296b6c0aec62ab4c5b9Christian MaederCOMPONENT_SRC= $(COMPONENT_NAME)-$(COMPONENT_VERSION)
857992065be4ed40a72c6296b6c0aec62ab4c5b9Christian MaederCOMPONENT_ARCHIVE= $(COMPONENT_SRC).tar.bz2
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian MaederCOMPONENT_ARCHIVE_HASH= \
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder sha256:c920fa01a34b7752e8cbbc99c6921b908df60611d84a29c4377e4a798604767e
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian MaederCOMPONENT_ARCHIVE_URL= http://www.cpan.org/src/5.0/$(COMPONENT_ARCHIVE)
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian MaederCOMPONENT_BUGDB= utility/perl
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maederinclude ../../make-rules/prep.mk
5d4038657f6a63e131f5804af2f7957b69e15a43Klaus Luettichinclude ../../make-rules/configure.mk
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maederinclude ../../make-rules/ips.mk
b0294d73dcefc502ddaa13e18b46103a5916971fTill Mossakowski
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder#
77a65251ee036c6aaf09c2775315a4ee24259fbdJorina Freya Gerken# Override these compiler settings because they are causing problems
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder# in the ON build of the contrib components.
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder# ON doesn't use or need these settings or the compiler has some of them
ed9207cf24e96b0d6f59985822054ae28cb69b2eChristian Maeder# on by default.
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder# This also produces a perl more inline with past perl's. For better
97812b7ce9860bf514a8822a63503451795dbc65Klaus Luettich# or worse.
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder#
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maederstudio_XBITS=
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maederstudio_XREGS=
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maederstudio_IROPTS=
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maederstudio_C99MODE=
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maederstudio_ALIGN=
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maederstudio_MT=
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder
8b0f493ae42bad8b94918cc0957f1af57096cda4Felix Reckers#
4e7050bcbcf0f372a5bad32ecd0282bccabf0983Klaus Luettich# The extra Configure parameters (cf_email, cf_by, myhostname) and
ac0bbbcb2774629bb87986e69cf53d3402c5f575Christian Maeder# the gawk and sed that follow are attempting to sanatize the
ac0bbbcb2774629bb87986e69cf53d3402c5f575Christian Maeder# resulting config.sh of values from our build environment that
33d042fe6a9eb27a4c48f840b80838f3e7d98e34Christian Maeder# are discoverable in perl's config via "perl -V".
ac0bbbcb2774629bb87986e69cf53d3402c5f575Christian Maeder# I'm assuming our compilers live on a path that contains "SUNWspro".
ce50fe187cdae64e75e510daafb78156280bdb91Christian Maeder# If that changes the sed filter needs to change.
ebe517300051f765f2ed856a789dd5613d681ab0Klaus Luettich#
8b0f493ae42bad8b94918cc0957f1af57096cda4Felix Reckers
c55a0f77be7e88d3620b419ec8961f4379a586e3Klaus Luettich# That last bit re-runs bison to regenerate perly.h.
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian MaederCONFIGURE_SCRIPT = $(SOURCE_DIR)/Configure
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian MaederCONFIGURE_ENV += MAKE=$(GMAKE)
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian MaederCONFIGURE_ENV += PATH=$(dir $(CC)):$(PATH)
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian MaederCONFIGURE_OPTIONS = \
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder -Dprefix=/usr/perl5/$(PERL_VERSION) \
ebe517300051f765f2ed856a789dd5613d681ab0Klaus Luettich -Dprivlib=/usr/perl5/$(PERL_VERSION)/lib \
8b0f493ae42bad8b94918cc0957f1af57096cda4Felix Reckers -Dsitelib=/usr/perl5/site_perl/$(PERL_VERSION) \
8b0f493ae42bad8b94918cc0957f1af57096cda4Felix Reckers -Dvendorprefix=/usr/perl5/$(PERL_VERSION) \
c55a0f77be7e88d3620b419ec8961f4379a586e3Klaus Luettich -Dvendorlib=/usr/perl5/vendor_perl/$(PERL_VERSION) \
ac0bbbcb2774629bb87986e69cf53d3402c5f575Christian Maeder -Dlibperl=libperl.so \
ac0bbbcb2774629bb87986e69cf53d3402c5f575Christian Maeder -Duseshrplib \
ac0bbbcb2774629bb87986e69cf53d3402c5f575Christian Maeder -Dusedtrace \
ac0bbbcb2774629bb87986e69cf53d3402c5f575Christian Maeder -Duse64bitint \
ce50fe187cdae64e75e510daafb78156280bdb91Christian Maeder -Dcc="cc" \
4e7050bcbcf0f372a5bad32ecd0282bccabf0983Klaus Luettich -Doptimize="$(CFLAGS.studio)" \
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder -Dcf_email="userland-discuss@opensolaris.org" \
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder -Dcf_by="perl-bugs" \
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder -Dmyhostname="localhost" \
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder -Dmksymlinks \
8b0f493ae42bad8b94918cc0957f1af57096cda4Felix Reckers -O \
eeb419aa20c97b4af973e97ee6ae77a8eed29e15Till Mossakowski -de
8b0f493ae42bad8b94918cc0957f1af57096cda4Felix Reckers
5d4038657f6a63e131f5804af2f7957b69e15a43Klaus LuettichCOMPONENT_POST_CONFIGURE_ACTION = \
5d4038657f6a63e131f5804af2f7957b69e15a43Klaus Luettich (cd $(@D); \
857992065be4ed40a72c6296b6c0aec62ab4c5b9Christian Maeder cp config.sh config.sh_orig ; \
c432483b64662e8db604a58758cd18ea7fa65659Christian Maeder gawk \
857992065be4ed40a72c6296b6c0aec62ab4c5b9Christian Maeder '/^myuname=/{print $$1" localhost "$$3" "$$5" "$$6" "$$7"\047"} ; \
857992065be4ed40a72c6296b6c0aec62ab4c5b9Christian Maeder !/^myuname=/ {print}' config.sh_orig \
857992065be4ed40a72c6296b6c0aec62ab4c5b9Christian Maeder | \
e8d782e6e650b71a2b0ee8461fd8d9fa31525591Christian Maeder sed -e 's/[^ ]*SUNWspro[^ ]*//g' > config.sh ) ; \
e6a8a380ddaac0396c5816163bdb8e8113a6c010Christian Maeder ( $(RM) $(@D)/perly.act $(@D)/perly.tab $(@D)/perly.h; \
e6a8a380ddaac0396c5816163bdb8e8113a6c010Christian Maeder cd $(@D) ; $(GMAKE) regen_perly )
96ef2e46d048c357927f2795a40e9e66f21b85fbSonja Gröning
8659594bb40eb5f3da5439692f0908300947191eSonja GröningCOMPONENT_INSTALL_ENV += DESTDIR="$(PROTO_DIR)"
857992065be4ed40a72c6296b6c0aec62ab4c5b9Christian Maeder#
857992065be4ed40a72c6296b6c0aec62ab4c5b9Christian Maeder# perl's install path for sparc is based off the value of the
96ef2e46d048c357927f2795a40e9e66f21b85fbSonja Gröning# "arch" command. So we must package that way also.
96ef2e46d048c357927f2795a40e9e66f21b85fbSonja Gröning#
96ef2e46d048c357927f2795a40e9e66f21b85fbSonja GröningPKG_MACROS += PERL_ARCH=$(shell arch)
7d09621f989f5e6dfbf603b36b2fccbacf639a3cTill MossakowskiPKG_MACROS += PERL_VERSION=$(PERL_VERSION)
eeb419aa20c97b4af973e97ee6ae77a8eed29e15Till Mossakowski#
8b0f493ae42bad8b94918cc0957f1af57096cda4Felix Reckers# Put studio compilers in PATH so we can tell Configure and gmake just
857992065be4ed40a72c6296b6c0aec62ab4c5b9Christian Maeder# use cc. Trying to avoid the full path so it doesn't end up in
8b0f493ae42bad8b94918cc0957f1af57096cda4Felix Reckers# perl's config.
857992065be4ed40a72c6296b6c0aec62ab4c5b9Christian Maeder#
857992065be4ed40a72c6296b6c0aec62ab4c5b9Christian MaederCOMPONENT_BUILD_ENV += PATH=$(dir $(CC.studio.32)):$(PATH)
857992065be4ed40a72c6296b6c0aec62ab4c5b9Christian Maeder
7d09621f989f5e6dfbf603b36b2fccbacf639a3cTill Mossakowskibuild: $(BUILD_32)
7d09621f989f5e6dfbf603b36b2fccbacf639a3cTill Mossakowski
8b0f493ae42bad8b94918cc0957f1af57096cda4Felix Reckersinstall: $(INSTALL_32)
8b0f493ae42bad8b94918cc0957f1af57096cda4Felix Reckers
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maedertest: $(TEST_32)
327a9b9bf44b6e33f71fee7526dc1c0035251591Christian Maeder #
b49276c9f50038e0bd499ad49f7bd6444566a834Christian Maeder #
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder # All tests should pass.
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder #
5958fabb264ec3f5b2125ac5602121bd34814a79Klaus Luettich #
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian MaederBUILD_PKG_DEPENDENCIES = $(BUILD_TOOLS)
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder
857992065be4ed40a72c6296b6c0aec62ab4c5b9Christian Maederinclude ../../make-rules/depend.mk
857992065be4ed40a72c6296b6c0aec62ab4c5b9Christian Maeder