components/vim/Makefile
author Danek Duvall <danek.duvall@oracle.com>
Tue, 10 May 2011 08:58:55 -0700
changeset 379 c6a17bba1da3
parent 198 172fc01ce997
child 420 2dafa810608b
permissions -rw-r--r--
7038754 vim 7.3 6932665 vim/gvim should have python support (and likely others like ruby etc) turned on
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
198
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
     1
#
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
     2
# CDDL HEADER START
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
     3
#
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
     4
# The contents of this file are subject to the terms of the
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
     5
# Common Development and Distribution License (the "License").
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
     6
# You may not use this file except in compliance with the License.
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
     7
#
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
     8
# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
     9
# or http://www.opensolaris.org/os/licensing.
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    10
# See the License for the specific language governing permissions
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    11
# and limitations under the License.
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    12
#
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    13
# When distributing Covered Code, include this CDDL HEADER in each
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    14
# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    15
# If applicable, add the following below this CDDL HEADER, with the
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    16
# fields enclosed by brackets "[]" replaced with your own identifying
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    17
# information: Portions Copyright [yyyy] [name of copyright owner]
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    18
#
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    19
# CDDL HEADER END
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    20
#
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    21
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    22
#
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    23
# Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    24
#
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    25
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    26
include ../../make-rules/shared-macros.mk
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    27
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    28
PATH=/usr/bin:/usr/gnu/bin
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    29
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    30
COMPONENT_NAME=		vim
379
c6a17bba1da3 7038754 vim 7.3
Danek Duvall <danek.duvall@oracle.com>
parents: 198
diff changeset
    31
COMPONENT_VERSION=	7.3
c6a17bba1da3 7038754 vim 7.3
Danek Duvall <danek.duvall@oracle.com>
parents: 198
diff changeset
    32
IPS_COMPONENT_VERSION=	$(shell echo $(COMPONENT_HG_REV) | sed -e 's/-/./g' -e 's/v//')
c6a17bba1da3 7038754 vim 7.3
Danek Duvall <danek.duvall@oracle.com>
parents: 198
diff changeset
    33
COMPONENT_SRC=		vim-$(COMPONENT_HG_REV)
198
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    34
COMPONENT_PROJECT_URL=	http://www.vim.org/
379
c6a17bba1da3 7038754 vim 7.3
Danek Duvall <danek.duvall@oracle.com>
parents: 198
diff changeset
    35
COMPONENT_ARCHIVE=	vim-$(COMPONENT_HG_REV).tar.bz2
c6a17bba1da3 7038754 vim 7.3
Danek Duvall <danek.duvall@oracle.com>
parents: 198
diff changeset
    36
COMPONENT_ARCHIVE_URL=	$(EXTERNAL_ARCHIVE_MIRROR)/$(COMPONENT_ARCHIVE)
c6a17bba1da3 7038754 vim 7.3
Danek Duvall <danek.duvall@oracle.com>
parents: 198
diff changeset
    37
COMPONENT_ARCHIVE_HASH=	sha1:c6458484b1cdcf6a54f5c686db8a68fa221ba3a2
c6a17bba1da3 7038754 vim 7.3
Danek Duvall <danek.duvall@oracle.com>
parents: 198
diff changeset
    38
COMPONENT_HG_URL=	https://vim.googlecode.com/hg
c6a17bba1da3 7038754 vim 7.3
Danek Duvall <danek.duvall@oracle.com>
parents: 198
diff changeset
    39
COMPONENT_HG_REV=	v7-3-244
198
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    40
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    41
include ../../make-rules/prep.mk
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    42
include ../../make-rules/configure.mk
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    43
include ../../make-rules/ips.mk
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    44
379
c6a17bba1da3 7038754 vim 7.3
Danek Duvall <danek.duvall@oracle.com>
parents: 198
diff changeset
    45
HGREPODIR=		$(COMPONENT_NAME).hg
c6a17bba1da3 7038754 vim 7.3
Danek Duvall <danek.duvall@oracle.com>
parents: 198
diff changeset
    46
TARBALLDIR=		$(COMPONENT_NAME)-$(COMPONENT_HG_REV)
c6a17bba1da3 7038754 vim 7.3
Danek Duvall <danek.duvall@oracle.com>
parents: 198
diff changeset
    47
c6a17bba1da3 7038754 vim 7.3
Danek Duvall <danek.duvall@oracle.com>
parents: 198
diff changeset
    48
$(HGREPODIR)/.hg:
c6a17bba1da3 7038754 vim 7.3
Danek Duvall <danek.duvall@oracle.com>
parents: 198
diff changeset
    49
	hg clone -U $(COMPONENT_HG_URL) $(@D)
c6a17bba1da3 7038754 vim 7.3
Danek Duvall <danek.duvall@oracle.com>
parents: 198
diff changeset
    50
c6a17bba1da3 7038754 vim 7.3
Danek Duvall <danek.duvall@oracle.com>
parents: 198
diff changeset
    51
# Create the tarball.  It should contain the working directory of the repo at
c6a17bba1da3 7038754 vim 7.3
Danek Duvall <danek.duvall@oracle.com>
parents: 198
diff changeset
    52
# the desired revision, but not the .hg directory.  Note that the digest will
c6a17bba1da3 7038754 vim 7.3
Danek Duvall <danek.duvall@oracle.com>
parents: 198
diff changeset
    53
# be different every time because .hg doesn't set the timestamps of the files
c6a17bba1da3 7038754 vim 7.3
Danek Duvall <danek.duvall@oracle.com>
parents: 198
diff changeset
    54
# in the working directory.
c6a17bba1da3 7038754 vim 7.3
Danek Duvall <danek.duvall@oracle.com>
parents: 198
diff changeset
    55
hgball: $(HGREPODIR)/.hg
c6a17bba1da3 7038754 vim 7.3
Danek Duvall <danek.duvall@oracle.com>
parents: 198
diff changeset
    56
	hg -R $(HGREPODIR) pull
c6a17bba1da3 7038754 vim 7.3
Danek Duvall <danek.duvall@oracle.com>
parents: 198
diff changeset
    57
	hg -R $(HGREPODIR) tags | awk '$$1 ~ /^v7-/ {print $$1; exit}'
c6a17bba1da3 7038754 vim 7.3
Danek Duvall <danek.duvall@oracle.com>
parents: 198
diff changeset
    58
	rm -rf $(TARBALLDIR)
c6a17bba1da3 7038754 vim 7.3
Danek Duvall <danek.duvall@oracle.com>
parents: 198
diff changeset
    59
	hg clone -u $(COMPONENT_HG_REV) $(HGREPODIR) $(TARBALLDIR)
c6a17bba1da3 7038754 vim 7.3
Danek Duvall <danek.duvall@oracle.com>
parents: 198
diff changeset
    60
	rm -rf $(TARBALLDIR)/.hg
c6a17bba1da3 7038754 vim 7.3
Danek Duvall <danek.duvall@oracle.com>
parents: 198
diff changeset
    61
	tar jcf $(COMPONENT_ARCHIVE) $(TARBALLDIR)
c6a17bba1da3 7038754 vim 7.3
Danek Duvall <danek.duvall@oracle.com>
parents: 198
diff changeset
    62
	digest -a sha1 $(COMPONENT_ARCHIVE)
c6a17bba1da3 7038754 vim 7.3
Danek Duvall <danek.duvall@oracle.com>
parents: 198
diff changeset
    63
198
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    64
PATCH_LEVEL =	0
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    65
379
c6a17bba1da3 7038754 vim 7.3
Danek Duvall <danek.duvall@oracle.com>
parents: 198
diff changeset
    66
PKG_MACROS +=	VIMVER=vim73
198
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    67
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    68
X_VARIANT =	$(BUILD_DIR)/$(MACH32)-gvim
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    69
NOX_VARIANT =	$(BUILD_DIR)/$(MACH32)-vim
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    70
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    71
VARIANTS =	$(X_VARIANT) $(NOX_VARIANT)
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    72
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    73
$(VARIANTS:%=%/.configured):	BITS=32
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    74
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    75
BUILD_32 = 	$(VARIANTS:%=%/.built)
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    76
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    77
# Only install the non-X variant.  We will cherry-pick gvim out of the build
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    78
# directory to avoid re-installing everything.
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    79
INSTALL_32 = 	$(NOX_VARIANT)/.installed
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    80
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    81
TEST_32 = 	$(NOX_VARIANT)/.tested
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    82
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    83
CONFIGURE_OPTIONS +=	--with-features=huge
379
c6a17bba1da3 7038754 vim 7.3
Danek Duvall <danek.duvall@oracle.com>
parents: 198
diff changeset
    84
CONFIGURE_OPTIONS +=	--with-compiledby="the Solaris Userland build environment"
c6a17bba1da3 7038754 vim 7.3
Danek Duvall <danek.duvall@oracle.com>
parents: 198
diff changeset
    85
CONFIGURE_OPTIONS +=	--with-modified-by="Solaris Userland <[email protected]>"
c6a17bba1da3 7038754 vim 7.3
Danek Duvall <danek.duvall@oracle.com>
parents: 198
diff changeset
    86
CONFIGURE_OPTIONS +=	--enable-luainterp=dynamic
c6a17bba1da3 7038754 vim 7.3
Danek Duvall <danek.duvall@oracle.com>
parents: 198
diff changeset
    87
# XXX Perl compilation fails, for some reason.
c6a17bba1da3 7038754 vim 7.3
Danek Duvall <danek.duvall@oracle.com>
parents: 198
diff changeset
    88
# - Perl_croak_nocontext is redefined (embed.h, line 5157), having something to
c6a17bba1da3 7038754 vim 7.3
Danek Duvall <danek.duvall@oracle.com>
parents: 198
diff changeset
    89
#   do with PERL_IMPLICIT_CONTEXT, which is discussed in perlguts(1).  This is
c6a17bba1da3 7038754 vim 7.3
Danek Duvall <danek.duvall@oracle.com>
parents: 198
diff changeset
    90
#   just a warning, but looks like it might have nasty consequences.
c6a17bba1da3 7038754 vim 7.3
Danek Duvall <danek.duvall@oracle.com>
parents: 198
diff changeset
    91
# - The declaration of Perl_Gthr_key_ptr() has a problem with its argument of
c6a17bba1da3 7038754 vim 7.3
Danek Duvall <danek.duvall@oracle.com>
parents: 198
diff changeset
    92
#   type pTHX.  if_perl.xs defines that to void if it's not already defined,
c6a17bba1da3 7038754 vim 7.3
Danek Duvall <danek.duvall@oracle.com>
parents: 198
diff changeset
    93
#   but perl.h probably does something else to it, not sure what yet.  This
c6a17bba1da3 7038754 vim 7.3
Danek Duvall <danek.duvall@oracle.com>
parents: 198
diff changeset
    94
#   also appears to have something to do with PERL_IMPLICIT_CONTEXT.
c6a17bba1da3 7038754 vim 7.3
Danek Duvall <danek.duvall@oracle.com>
parents: 198
diff changeset
    95
# CONFIGURE_OPTIONS +=	--enable-perlinterp=dynamic
c6a17bba1da3 7038754 vim 7.3
Danek Duvall <danek.duvall@oracle.com>
parents: 198
diff changeset
    96
CONFIGURE_OPTIONS +=	--enable-pythoninterp=dynamic
c6a17bba1da3 7038754 vim 7.3
Danek Duvall <danek.duvall@oracle.com>
parents: 198
diff changeset
    97
CONFIGURE_OPTIONS +=	--enable-rubyinterp=dynamic
198
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    98
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    99
# We build two variants: with and without X support.
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
   100
$(NOX_VARIANT)/.configured:	CONFIGURE_OPTIONS += --without-x
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
   101
$(NOX_VARIANT)/.configured:	CONFIGURE_OPTIONS += --disable-gui
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
   102
$(NOX_VARIANT)/.configured:	CONFIGURE_OPTIONS += --disable-gtktest
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
   103
$(X_VARIANT)/.configured:	CONFIGURE_OPTIONS += --with-vim-name=gvim
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
   104
$(X_VARIANT)/.configured:	CONFIGURE_OPTIONS += --with-x
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
   105
$(X_VARIANT)/.configured:	CONFIGURE_OPTIONS += --enable-gui=gtk2
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
   106
$(X_VARIANT)/.configured:	CONFIGURE_OPTIONS += --enable-gtk2-check
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
   107
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
   108
# Vim's build is too smart for itself and configure can't run outside of a
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
   109
# complete source tree.
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
   110
COMPONENT_PRE_CONFIGURE_ACTION = ($(CLONEY) $(SOURCE_DIR) $(@D))
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
   111
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
   112
$(SOURCE_DIR)/runtime/doc/uganda.txt: prep
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
   113
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
   114
$(BUILD_DIR)/license: $(SOURCE_DIR)/runtime/doc/uganda.txt
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
   115
	nawk '/begin of license/ {p=1; getline; next} /end of license/ {p=0} p == 1 {print}' $< > $@
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
   116
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
   117
# common targets
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
   118
build:		$(BUILD_32)
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
   119
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
   120
install:	$(INSTALL_32) $(X_VARIANT)/.built $(BUILD_DIR)/license
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
   121
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
   122
test:		$(TEST_32)
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
   123
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
   124
BUILD_PKG_DEPENDENCIES =	$(BUILD_TOOLS)
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
   125
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
   126
include ../../make-rules/depend.mk