Makefile revision 919
5cd4555ad444fd391002ae32450572054369fd42Rob Austein#
5cd4555ad444fd391002ae32450572054369fd42Rob Austein# CDDL HEADER START
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein#
f202f2587b9ba4753afba49b796f599cc12b4d0fAndreas Gustafsson# The contents of this file are subject to the terms of the
1124950b35ae05a12e804e670607fe5ba775cb4aTinderbox User# Common Development and Distribution License (the "License").
dafcb997e390efa4423883dafd100c975c4095d6Mark Andrews# You may not use this file except in compliance with the License.
f202f2587b9ba4753afba49b796f599cc12b4d0fAndreas Gustafsson#
ec5347e2c775f027573ce5648b910361aa926c01Automatic Updater# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
f202f2587b9ba4753afba49b796f599cc12b4d0fAndreas Gustafsson# or http://www.opensolaris.org/os/licensing.
f202f2587b9ba4753afba49b796f599cc12b4d0fAndreas Gustafsson# See the License for the specific language governing permissions
f202f2587b9ba4753afba49b796f599cc12b4d0fAndreas Gustafsson# and limitations under the License.
dafcb997e390efa4423883dafd100c975c4095d6Mark Andrews#
dafcb997e390efa4423883dafd100c975c4095d6Mark Andrews# When distributing Covered Code, include this CDDL HEADER in each
dafcb997e390efa4423883dafd100c975c4095d6Mark Andrews# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
dafcb997e390efa4423883dafd100c975c4095d6Mark Andrews# If applicable, add the following below this CDDL HEADER, with the
dafcb997e390efa4423883dafd100c975c4095d6Mark Andrews# fields enclosed by brackets "[]" replaced with your own identifying
dafcb997e390efa4423883dafd100c975c4095d6Mark Andrews# information: Portions Copyright [yyyy] [name of copyright owner]
dafcb997e390efa4423883dafd100c975c4095d6Mark Andrews#
f202f2587b9ba4753afba49b796f599cc12b4d0fAndreas Gustafsson# CDDL HEADER END
f5d30e2864e048a42c4dc1134993ae7efdb5d6c3Mark Andrews#
b5ad6dfea4cc3e7d1d322ac99f1e5a31096837c4Mark Andrews# Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved.
f202f2587b9ba4753afba49b796f599cc12b4d0fAndreas Gustafsson#
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austeininclude ../../make-rules/shared-macros.mk
1753d3c4d74241a847794f7e7cfd94cc79be6600Evan Hunt
268a4475065fe6a8cd7cc707820982cf5e98f430Rob AusteinPATH=$(dir $(CC)):/usr/bin:/usr/gnu/bin
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein# I want to override PERL_VERSION and PERL_ARCH because when building
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein# a new version of perl it probably isn't installed so shared-macros.mk
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein# can't call it.
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein
268a4475065fe6a8cd7cc707820982cf5e98f430Rob AusteinCOMPONENT_NAME= perl
268a4475065fe6a8cd7cc707820982cf5e98f430Rob AusteinCOMPONENT_VERSION= 5.12.4
268a4475065fe6a8cd7cc707820982cf5e98f430Rob AusteinPERL_VERSION= 5.12
268a4475065fe6a8cd7cc707820982cf5e98f430Rob AusteinCOMPONENT_PROJECT_URL= http://www.perl.org/
268a4475065fe6a8cd7cc707820982cf5e98f430Rob AusteinCOMPONENT_SRC= $(COMPONENT_NAME)-$(COMPONENT_VERSION)
268a4475065fe6a8cd7cc707820982cf5e98f430Rob AusteinCOMPONENT_ARCHIVE= $(COMPONENT_SRC).tar.bz2
268a4475065fe6a8cd7cc707820982cf5e98f430Rob AusteinCOMPONENT_ARCHIVE_HASH= \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein sha256:c920fa01a34b7752e8cbbc99c6921b908df60611d84a29c4377e4a798604767e
268a4475065fe6a8cd7cc707820982cf5e98f430Rob AusteinCOMPONENT_ARCHIVE_URL= http://www.cpan.org/src/5.0/$(COMPONENT_ARCHIVE)
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein
f5d30e2864e048a42c4dc1134993ae7efdb5d6c3Mark Andrewsinclude ../../make-rules/prep.mk
26e2a07a0b6a3b1eccef82ba31270d0c54ad4f06Mark Andrewsinclude ../../make-rules/justmake.mk
c1a883f2e04d94e99c433b1f6cfd0c0338f4ed85Mark Andrewsinclude ../../make-rules/ips.mk
7b8b5e34b6daf793373580dfb095f56af5e918ceAutomatic Updater
d60212e03fbef1d3dd7f7eb05c0545cc373cb9fcAutomatic Updater#
4d42b714be10e6f163d23507e4e3a396a8ac0364Automatic Updater# Override these compiler settings because they are causing problems
0e27506ce3135f9bd49e12564ad0e15256135118Automatic Updater# in the ON build of the contrib components.
5c6b95ba1b2e35f8dd6b0a7f25aacba91fff3aa2Tinderbox User# ON doesn't use or need these settings or the compiler has some of them
1124950b35ae05a12e804e670607fe5ba775cb4aTinderbox User# on by default.
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein# This also produces a perl more inline with past perl's. For better
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein# or worse.
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein#
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austeinstudio_XBITS=
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austeinstudio_XREGS=
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austeinstudio_IROPTS=
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austeinstudio_C99MODE=
f5d30e2864e048a42c4dc1134993ae7efdb5d6c3Mark Andrewsstudio_ALIGN=
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austeinstudio_MT=
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein#
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein# The extra Configure parameters (cf_email, cf_by, myhostname) and
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein# the gawk and sed that follow are attempting to sanatize the
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein# resulting config.sh of values from our build environment that
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein# are discoverable in perl's config via "perl -V".
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein# I'm assuming our compilers live on a path that contains "SUNWspro".
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein# If that changes the sed filter needs to change.
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein#
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein
0db6bf459f7afa1f9dc0690a521df19955c89dbfJeremy Reed# That last bit re-runs bison to regenerate perly.h.
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein
a268fec7f54a89a0772a91da0511c8eae09e6157Mark AndrewsCOMPONENT_PRE_BUILD_ACTION= \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein (cd $(@D); $(ENV) -i \
67d01dcacb2051a03377c8ec5c0e36604c17aea5Evan Hunt MAKE=$(GMAKE) \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein PATH=$(dir $(CC.studio.32)):$(PATH) \
c6d4f781529d2f28693546b25b2967d44ec89e60Mark Andrews $(CONFIG_SHELL) ./Configure \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein -Dprefix=/usr/perl5/$(PERL_VERSION) \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein -Dprivlib=/usr/perl5/$(PERL_VERSION)/lib \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein -Dsitelib=/usr/perl5/site_perl/$(PERL_VERSION) \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein -Dvendorprefix=/usr/perl5/$(PERL_VERSION) \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein -Dvendorlib=/usr/perl5/vendor_perl/$(PERL_VERSION) \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein -Dlibperl=libperl.so \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein -Duseshrplib \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein -Dusedtrace \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein -Duse64bitint \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein -Dcc="cc" \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein -Doptimize="$(CFLAGS.studio)" \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein -Dcf_email="userland-discuss@opensolaris.org" \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein -Dcf_by="perl-bugs" \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein -Dmyhostname="localhost" \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein -O \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein -de ) ; \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein (cd $(@D); \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein cp config.sh config.sh_orig ; \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein gawk \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein '/^myuname=/{print $$1" localhost "$$3" "$$5" "$$6" "$$7"\047"} ; \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein !/^myuname=/ {print}' config.sh_orig \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein | \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein sed -e 's/[^ ]*SUNWspro[^ ]*//g' > config.sh ) ; \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein ( $(RM) $(@D)/perly.act $(@D)/perly.tab $(@D)/perly.h; \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein cd $(@D) ; $(GMAKE) regen_perly )
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein
268a4475065fe6a8cd7cc707820982cf5e98f430Rob AusteinCOMPONENT_INSTALL_ENV += DESTDIR="$(PROTO_DIR)"
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein#
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein# perl's install path for sparc is based off the value of the
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein# "arch" command. So we must package that way also.
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein#
268a4475065fe6a8cd7cc707820982cf5e98f430Rob AusteinPKG_MACROS += PERL_ARCH=$(shell arch)
268a4475065fe6a8cd7cc707820982cf5e98f430Rob AusteinPKG_MACROS += PERL_VERSION=$(PERL_VERSION)
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein#
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein# Put studio compilers in PATH so we can tell Configure and gmake just
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein# use cc. Trying to avoid the full path so it doesn't end up in
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein# perl's config.
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein#
561a29af8c54a216e7d30b5b4f6e0d21661654ecMark AndrewsCOMPONENT_BUILD_ENV += PATH=$(dir $(CC.studio.32)):$(PATH)
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austeinbuild: $(BUILD_32)
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austeininstall: $(INSTALL_32)
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austeintest: $(TEST_32)
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein #
3b9d9ad58b2d85a10960819f5c7a4606b33e9ab2Evan Hunt # 2 expected failures because of the use of cloney in this build.
8012d70ea4906ba739036cc9903cb0ac0fc72e9fJeremy C. Reed # Without cloney all tests pass.
3b9d9ad58b2d85a10960819f5c7a4606b33e9ab2Evan Hunt #
3b9d9ad58b2d85a10960819f5c7a4606b33e9ab2Evan Hunt # Failed 2 tests out of 1697, 99.88% okay.
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein # ../cpan/Archive-Tar/t/02_methods.t
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein # ../lib/File/stat.t
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein #
d4f032db535ad5194d442fec535123f269422055Jeremy Reed
d4f032db535ad5194d442fec535123f269422055Jeremy ReedBUILD_PKG_DEPENDENCIES = $(BUILD_TOOLS)
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austeininclude ../../make-rules/depend.mk
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein