Makefile revision 578
bcc5d40208f7f9ae746d4270937b5f4c72beb2d0cmaeder# CDDL HEADER START
bcc5d40208f7f9ae746d4270937b5f4c72beb2d0cmaeder# The contents of this file are subject to the terms of the
bcc5d40208f7f9ae746d4270937b5f4c72beb2d0cmaeder# Common Development and Distribution License (the "License").
bcc5d40208f7f9ae746d4270937b5f4c72beb2d0cmaeder# You may not use this file except in compliance with the License.
bcc5d40208f7f9ae746d4270937b5f4c72beb2d0cmaeder# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
bcc5d40208f7f9ae746d4270937b5f4c72beb2d0cmaeder# See the License for the specific language governing permissions
bcc5d40208f7f9ae746d4270937b5f4c72beb2d0cmaeder# and limitations under the License.
bcc5d40208f7f9ae746d4270937b5f4c72beb2d0cmaeder# When distributing Covered Code, include this CDDL HEADER in each
bcc5d40208f7f9ae746d4270937b5f4c72beb2d0cmaeder# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
bcc5d40208f7f9ae746d4270937b5f4c72beb2d0cmaeder# If applicable, add the following below this CDDL HEADER, with the
bcc5d40208f7f9ae746d4270937b5f4c72beb2d0cmaeder# fields enclosed by brackets "[]" replaced with your own identifying
bcc5d40208f7f9ae746d4270937b5f4c72beb2d0cmaeder# information: Portions Copyright [yyyy] [name of copyright owner]
bcc5d40208f7f9ae746d4270937b5f4c72beb2d0cmaeder# CDDL HEADER END
bcc5d40208f7f9ae746d4270937b5f4c72beb2d0cmaeder# Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
bcc5d40208f7f9ae746d4270937b5f4c72beb2d0cmaederIPS_COMPONENT_VERSION= $(shell echo $(COMPONENT_HG_REV) | sed -e 's/-/./g' -e 's/v//')
bcc5d40208f7f9ae746d4270937b5f4c72beb2d0cmaederCOMPONENT_ARCHIVE_URL= $(EXTERNAL_ARCHIVE_MIRROR)/$(COMPONENT_ARCHIVE)
bcc5d40208f7f9ae746d4270937b5f4c72beb2d0cmaederCOMPONENT_ARCHIVE_HASH= sha1:19df428d07dfbbe771923871cde609becdf6992e
bcc5d40208f7f9ae746d4270937b5f4c72beb2d0cmaeder# Create the tarball. It should contain the working directory of the repo at
bcc5d40208f7f9ae746d4270937b5f4c72beb2d0cmaeder# the desired revision, but not the .hg directory. Note that the digest will
bcc5d40208f7f9ae746d4270937b5f4c72beb2d0cmaeder# be different every time because .hg doesn't set the timestamps of the files
bcc5d40208f7f9ae746d4270937b5f4c72beb2d0cmaeder# in the working directory.
bcc5d40208f7f9ae746d4270937b5f4c72beb2d0cmaeder hg -R $(HGREPODIR) tags | awk '$$1 ~ /^v7-/ {print $$1; exit}'
bcc5d40208f7f9ae746d4270937b5f4c72beb2d0cmaeder hg clone -u $(COMPONENT_HG_REV) $(HGREPODIR) $(TARBALLDIR)
bcc5d40208f7f9ae746d4270937b5f4c72beb2d0cmaeder# Only install the non-X variant. We will cherry-pick gvim out of the build
bcc5d40208f7f9ae746d4270937b5f4c72beb2d0cmaeder# directory to avoid re-installing everything.
bcc5d40208f7f9ae746d4270937b5f4c72beb2d0cmaeder# Override a broken imake that's always providing a 64-bit library directory.
bcc5d40208f7f9ae746d4270937b5f4c72beb2d0cmaederCONFIGURE_OPTIONS += --x-libraries=$(CONFIGURE_LIBDIR.$(BITS))
bcc5d40208f7f9ae746d4270937b5f4c72beb2d0cmaederCONFIGURE_OPTIONS += --with-compiledby="the Solaris Userland build environment"
bcc5d40208f7f9ae746d4270937b5f4c72beb2d0cmaederCONFIGURE_OPTIONS += --with-modified-by="Solaris Userland <userland-discuss@opensolaris.org>"
bcc5d40208f7f9ae746d4270937b5f4c72beb2d0cmaeder# XXX Perl compilation fails, for some reason.
bcc5d40208f7f9ae746d4270937b5f4c72beb2d0cmaeder# - Perl_croak_nocontext is redefined (embed.h, line 5157), having something to
bcc5d40208f7f9ae746d4270937b5f4c72beb2d0cmaeder# do with PERL_IMPLICIT_CONTEXT, which is discussed in perlguts(1). This is
bcc5d40208f7f9ae746d4270937b5f4c72beb2d0cmaeder# just a warning, but looks like it might have nasty consequences.
bcc5d40208f7f9ae746d4270937b5f4c72beb2d0cmaeder# - The declaration of Perl_Gthr_key_ptr() has a problem with its argument of
bcc5d40208f7f9ae746d4270937b5f4c72beb2d0cmaeder# type pTHX. if_perl.xs defines that to void if it's not already defined,
bcc5d40208f7f9ae746d4270937b5f4c72beb2d0cmaeder# but perl.h probably does something else to it, not sure what yet. This
bcc5d40208f7f9ae746d4270937b5f4c72beb2d0cmaeder# also appears to have something to do with PERL_IMPLICIT_CONTEXT.
bcc5d40208f7f9ae746d4270937b5f4c72beb2d0cmaeder# CONFIGURE_OPTIONS += --enable-perlinterp=dynamic
bcc5d40208f7f9ae746d4270937b5f4c72beb2d0cmaeder# We build two variants: with and without X support.
bcc5d40208f7f9ae746d4270937b5f4c72beb2d0cmaeder$(NOX_VARIANT)/.configured: CONFIGURE_OPTIONS += --without-x
bcc5d40208f7f9ae746d4270937b5f4c72beb2d0cmaeder$(NOX_VARIANT)/.configured: CONFIGURE_OPTIONS += --disable-gui
bcc5d40208f7f9ae746d4270937b5f4c72beb2d0cmaeder$(NOX_VARIANT)/.configured: CONFIGURE_OPTIONS += --disable-gtktest
bcc5d40208f7f9ae746d4270937b5f4c72beb2d0cmaeder$(X_VARIANT)/.configured: CONFIGURE_OPTIONS += --with-vim-name=gvim
bcc5d40208f7f9ae746d4270937b5f4c72beb2d0cmaeder$(X_VARIANT)/.configured: CONFIGURE_OPTIONS += --with-x
bcc5d40208f7f9ae746d4270937b5f4c72beb2d0cmaeder$(X_VARIANT)/.configured: CONFIGURE_OPTIONS += --enable-gui=gtk2
bcc5d40208f7f9ae746d4270937b5f4c72beb2d0cmaeder$(X_VARIANT)/.configured: CONFIGURE_OPTIONS += --enable-gtk2-check
bcc5d40208f7f9ae746d4270937b5f4c72beb2d0cmaeder# Vim's build is too smart for itself and configure can't run outside of a
bcc5d40208f7f9ae746d4270937b5f4c72beb2d0cmaeder# complete source tree.
bcc5d40208f7f9ae746d4270937b5f4c72beb2d0cmaederCOMPONENT_PRE_CONFIGURE_ACTION = ($(CLONEY) $(SOURCE_DIR) $(@D))
bcc5d40208f7f9ae746d4270937b5f4c72beb2d0cmaeder$(BUILD_DIR)/license: $(SOURCE_DIR)/runtime/doc/uganda.txt
bcc5d40208f7f9ae746d4270937b5f4c72beb2d0cmaeder nawk '/begin of license/ {p=1; getline; next} /end of license/ {p=0} p == 1 {print}' $< > $@
bcc5d40208f7f9ae746d4270937b5f4c72beb2d0cmaeder# common targets