1N/A# The contents of this file are subject to the terms of the 1N/A# Common Development and Distribution License (the "License"). 1N/A# You may not use this file except in compliance with the License. 1N/A# See the License for the specific language governing permissions 1N/A# and limitations under the License. 1N/A# When distributing Covered Code, include this CDDL HEADER in each 1N/A# If applicable, add the following below this CDDL HEADER, with the 1N/A# fields enclosed by brackets "[]" replaced with your own identifying 1N/A# information: Portions Copyright [yyyy] [name of copyright owner] 1N/A# Copyright (c) 2004, 2011, Oracle and/or its affiliates. All rights reserved. 1N/A# The perl5 installation for Solaris differs from that generated by the 1N/A# Perl Configure procedure. The configuration appropriate for the current 1N/A# build is automatically generated from pre-existing configuration files 1N/A# for the build platform. 1N/A# DynaLoader is a special extension as it has to be built statically. 1N/A# Uuencoded files that need to have SCCS keyword expansion prevented, see below. 1N/A# Because autosplit generates a lot of files, we create a dummy timestamp file 1N/A# so that dependency checking can be performed. 1N/A# Add in the perl-specific flags (including largefile flags). 1N/A# Add in the libraries perl needs to be linked against. 1N/A# Compiler replacement rules 1N/A# Some of the files in the perl distribution are uuencoded, or contain uuencoded 1N/A# data. Some of the sequences of uuencoded data look like SCCS keywords, i.e. 1N/A# "%<letter>%", so it is necessary to prevent the keywords from being expanded. 1N/A# The SCCS 'y' flag can be added to the SCCS files to prevent keyword expansion 1N/A# when the file is retrieved. However due to bugs in SCCS and wx we can't 1N/A# always be sure that these flags are propagated correctly. 1N/A# which uses the correct library build environment. 1N/A# Build miniperl, the bootstrap perl executable, and check it executes OK. 1N/A# opmini.o is a version of op.o compiled with -DPERL_EXTERNAL_GLOB. Perl has 1N/A# an internal implementation of glob, but it isn't available at this point. 1N/A# Prepare for building perl modules by: 1N/A# * Building miniperl. 1N/A# * Autosplitting any ./lib modules that require it. 1N/A# * Creating a fake cflags file. ExtUtils::MM_Unix (used to build extensions) 1N/A# checks to see if there is a non-zero sized file called 'cflags' in this 1N/A# directory, so we fool it by creating one. 1N/A# Note: cflags needs to be non-zero sized, so $(TOUCH) won't do. 1N/A# Because autosplit generates a lot of files, we create a dummy timestamp file 1N/A# Make DynaLoader. DynaLoader is statically linked into the perl executable 1N/A# because it is used to load in all the other dynamically loaded modules. 1N/A# Note: VERSION is used by ON as a environment variable and by perl module 1N/A# makefiles as a make macro, so we need to unset it before building any modules. 1N/A# Create the perl executable. 1N/A# Build all the extensions. The rules for this are in the generated 1N/A# Build utilities and pod pages. 1N/A# Install targets. The bin, lib and pod symlinks are created here. The man 1N/A# link is created by the SUNWpl5m package. In order to prevent a symlink cycle 1N/A# we need to remove libperl.so before we start, so it will always be reinstalled 1N/A# on each 'make install'. We also overwrite the Config.pm we used to build our 1N/A# modules with one sanitized of the /ws/on*-tools dependency. As a result, 1N/A# Config.pm will also be overwritten on each 'make install'. Note also that 1N/A# perl, pstruct and psed are all hard links, so they too are reinstalled on each 1N/A# Perl test suite target. 1N/A# Note: the perl test suite breaks under parallel make. Bah. 1N/A# @ (PERL_MM_ENV); $(PERL_LD_ENV);