components/python/python27/Makefile
author Bill Rushmore <bill.rushmore@oracle.com>
Fri, 07 Aug 2015 13:43:38 -0700
changeset 4746 8e237ffd0a48
parent 4698 4e27e549b58d
child 4780 646672ba9940
permissions -rw-r--r--
20995635 Perl TK needs to be upgraded to work with Perl 5.20 20994112 Perl XML::Parser needs to work with Perl 5.20 20989929 Perl net-ssleay needs to be fixed so it builds with Perl 5.20 20989909 Perl libxml needs to be fixed so it builds with Perl 5.20 20989894 Perl DBI - needs to be fixed so it builds with Perl 5.20 20989877 AUTHEN-PAM needs to be fixed so it builds with Perl 5.20 21195142 OpenSCAP's Makefile needs to be updated to work with Perl 5.20 21216887 Dependencies and references to Perl 5.16 need to be replaced with Perl 5.20
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
458
2edc011b559e 7004671 Add Python 2.7.1
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
     1
#
2edc011b559e 7004671 Add Python 2.7.1
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
     2
# CDDL HEADER START
2edc011b559e 7004671 Add Python 2.7.1
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
     3
#
2edc011b559e 7004671 Add Python 2.7.1
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
     4
# The contents of this file are subject to the terms of the
2edc011b559e 7004671 Add Python 2.7.1
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
     5
# Common Development and Distribution License (the "License").
2edc011b559e 7004671 Add Python 2.7.1
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
     6
# You may not use this file except in compliance with the License.
2edc011b559e 7004671 Add Python 2.7.1
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
     7
#
2edc011b559e 7004671 Add Python 2.7.1
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
     8
# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
2edc011b559e 7004671 Add Python 2.7.1
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
     9
# or http://www.opensolaris.org/os/licensing.
2edc011b559e 7004671 Add Python 2.7.1
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    10
# See the License for the specific language governing permissions
2edc011b559e 7004671 Add Python 2.7.1
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    11
# and limitations under the License.
2edc011b559e 7004671 Add Python 2.7.1
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    12
#
2edc011b559e 7004671 Add Python 2.7.1
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    13
# When distributing Covered Code, include this CDDL HEADER in each
2edc011b559e 7004671 Add Python 2.7.1
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    14
# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
2edc011b559e 7004671 Add Python 2.7.1
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    15
# If applicable, add the following below this CDDL HEADER, with the
2edc011b559e 7004671 Add Python 2.7.1
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    16
# fields enclosed by brackets "[]" replaced with your own identifying
2edc011b559e 7004671 Add Python 2.7.1
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    17
# information: Portions Copyright [yyyy] [name of copyright owner]
2edc011b559e 7004671 Add Python 2.7.1
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    18
#
2edc011b559e 7004671 Add Python 2.7.1
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    19
# CDDL HEADER END
2edc011b559e 7004671 Add Python 2.7.1
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    20
#
3693
db350599ce68 20396493 environment influences python2.7 and python3.4 builds
John Beck <John.Beck@Oracle.COM>
parents: 3555
diff changeset
    21
# Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved.
458
2edc011b559e 7004671 Add Python 2.7.1
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    22
2edc011b559e 7004671 Add Python 2.7.1
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    23
#
2edc011b559e 7004671 Add Python 2.7.1
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    24
include ../../../make-rules/shared-macros.mk
2edc011b559e 7004671 Add Python 2.7.1
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    25
2edc011b559e 7004671 Add Python 2.7.1
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    26
PATH=/usr/bin:/usr/gnu/bin:/usr/sbin
2edc011b559e 7004671 Add Python 2.7.1
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    27
2edc011b559e 7004671 Add Python 2.7.1
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    28
COMPONENT_NAME=		Python
4698
4e27e549b58d 21162830 update Python 2.7 line to version 2.7.10
John Beck <John.Beck@Oracle.COM>
parents: 4339
diff changeset
    29
COMPONENT_VERSION=	2.7.10
609
775168282b2f 7037821 Userland migration of data from Makefile to manifest may have been a little overzealous
Rich Burridge <rich.burridge@oracle.com>
parents: 578
diff changeset
    30
COMPONENT_PROJECT_URL=	http://python.org/
458
2edc011b559e 7004671 Add Python 2.7.1
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    31
COMPONENT_SRC=		$(COMPONENT_NAME)-$(COMPONENT_VERSION)
1914
00e8dbcb9b1e PSARC 2014/183 Python 2.7.6
John Beck <John.Beck@Oracle.COM>
parents: 1303
diff changeset
    32
COMPONENT_ARCHIVE=	$(COMPONENT_SRC).tar.xz
800
2ad056ed89ec 7163771 sha1 should not be used in userland-fetch and userland component/*/Makefile
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 774
diff changeset
    33
COMPONENT_ARCHIVE_HASH=	\
4698
4e27e549b58d 21162830 update Python 2.7 line to version 2.7.10
John Beck <John.Beck@Oracle.COM>
parents: 4339
diff changeset
    34
    sha256:1cd3730781b91caf0fa1c4d472dc29274186480161a150294c42ce9b5c5effc0
609
775168282b2f 7037821 Userland migration of data from Makefile to manifest may have been a little overzealous
Rich Burridge <rich.burridge@oracle.com>
parents: 578
diff changeset
    35
COMPONENT_ARCHIVE_URL=	$(COMPONENT_PROJECT_URL)ftp/python/$(COMPONENT_VERSION)/$(COMPONENT_ARCHIVE)
3555
76f4672c5e4b 20230129 update Python 2.7 line to version 2.7.9
John Beck <John.Beck@Oracle.COM>
parents: 3497
diff changeset
    36
COMPONENT_SIG_URL=	$(COMPONENT_ARCHIVE_URL).asc
1058
34d7aaa03423 15886624 Auto-generation of Userland gate list - Phase 3
Rich Burridge <rich.burridge@oracle.com>
parents: 975
diff changeset
    37
COMPONENT_BUGDB=	utility/python
458
2edc011b559e 7004671 Add Python 2.7.1
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    38
4698
4e27e549b58d 21162830 update Python 2.7 line to version 2.7.10
John Beck <John.Beck@Oracle.COM>
parents: 4339
diff changeset
    39
TPNO=			22891
1948
2d1537e7942d 18978320 Userland components should specify TPNOs in Makefiles instead of pkg manifests
John Beck <John.Beck@Oracle.COM>
parents: 1914
diff changeset
    40
3817
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 3759
diff changeset
    41
include $(WS_MAKE_RULES)/prep.mk
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 3759
diff changeset
    42
include $(WS_MAKE_RULES)/configure.mk
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 3759
diff changeset
    43
include $(WS_MAKE_RULES)/ips.mk
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 3759
diff changeset
    44
include $(WS_MAKE_RULES)/lint-libraries.mk
458
2edc011b559e 7004671 Add Python 2.7.1
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    45
1246
164605dfef4e 15799279 - Some Python 2.6 and 2.7 "gmake test" tests fail
Brian Cameron <brian.cameron@oracle.com>
parents: 1058
diff changeset
    46
# Need to preserve timestamp for Grammar files.  If the pickle files are older, 
164605dfef4e 15799279 - Some Python 2.6 and 2.7 "gmake test" tests fail
Brian Cameron <brian.cameron@oracle.com>
parents: 1058
diff changeset
    47
# Python will try to rebuild them.  
164605dfef4e 15799279 - Some Python 2.6 and 2.7 "gmake test" tests fail
Brian Cameron <brian.cameron@oracle.com>
parents: 1058
diff changeset
    48
PKGSEND_PUBLISH_OPTIONS += -T \*Grammar\*.txt
164605dfef4e 15799279 - Some Python 2.6 and 2.7 "gmake test" tests fail
Brian Cameron <brian.cameron@oracle.com>
parents: 1058
diff changeset
    49
PKGSEND_PUBLISH_OPTIONS += -T \*Grammar\*.pickle
164605dfef4e 15799279 - Some Python 2.6 and 2.7 "gmake test" tests fail
Brian Cameron <brian.cameron@oracle.com>
parents: 1058
diff changeset
    50
458
2edc011b559e 7004671 Add Python 2.7.1
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    51
# We patch auto* files, so regenerate headers and configure
2edc011b559e 7004671 Add Python 2.7.1
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    52
COMPONENT_PREP_ACTION = \
2edc011b559e 7004671 Add Python 2.7.1
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    53
	(cd $(@D) ; autoheader ; autoconf)
2edc011b559e 7004671 Add Python 2.7.1
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    54
896
50be262e44f7 7155369 mdb should work with python 2.7 bits
Rich Burridge <rich.burridge@oracle.com>
parents: 885
diff changeset
    55
# we don't want to leak $(CC_BITS) into BASECFLAGS as it causes problems with
50be262e44f7 7155369 mdb should work with python 2.7 bits
Rich Burridge <rich.burridge@oracle.com>
parents: 885
diff changeset
    56
# python-config
50be262e44f7 7155369 mdb should work with python 2.7 bits
Rich Burridge <rich.burridge@oracle.com>
parents: 885
diff changeset
    57
CC +=	$(CFLAGS)
50be262e44f7 7155369 mdb should work with python 2.7 bits
Rich Burridge <rich.burridge@oracle.com>
parents: 885
diff changeset
    58
50be262e44f7 7155369 mdb should work with python 2.7 bits
Rich Burridge <rich.burridge@oracle.com>
parents: 885
diff changeset
    59
C99MODE=
50be262e44f7 7155369 mdb should work with python 2.7 bits
Rich Burridge <rich.burridge@oracle.com>
parents: 885
diff changeset
    60
CPPFLAGS +=	-IPython
50be262e44f7 7155369 mdb should work with python 2.7 bits
Rich Burridge <rich.burridge@oracle.com>
parents: 885
diff changeset
    61
458
2edc011b559e 7004671 Add Python 2.7.1
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    62
# to find the ncurses headers
2edc011b559e 7004671 Add Python 2.7.1
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    63
CPPFLAGS +=	-I/usr/include/ncurses
896
50be262e44f7 7155369 mdb should work with python 2.7 bits
Rich Burridge <rich.burridge@oracle.com>
parents: 885
diff changeset
    64
# enable large files how they did in JDS
50be262e44f7 7155369 mdb should work with python 2.7 bits
Rich Burridge <rich.burridge@oracle.com>
parents: 885
diff changeset
    65
CPPFLAGS +=	-D_LARGEFILE64_SOURCE
458
2edc011b559e 7004671 Add Python 2.7.1
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    66
2edc011b559e 7004671 Add Python 2.7.1
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    67
# libffi for _ctypes
2edc011b559e 7004671 Add Python 2.7.1
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    68
CPPFLAGS +=	$(shell pkg-config --cflags-only-I libffi)
2edc011b559e 7004671 Add Python 2.7.1
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    69
2edc011b559e 7004671 Add Python 2.7.1
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    70
# because python links with $(CC) ... $(LDFLAGS) ...
2edc011b559e 7004671 Add Python 2.7.1
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    71
LDFLAGS =	$(CC_BITS) $(CC_PIC)
2edc011b559e 7004671 Add Python 2.7.1
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    72
2edc011b559e 7004671 Add Python 2.7.1
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    73
# build pic
2edc011b559e 7004671 Add Python 2.7.1
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    74
CFLAGS +=	$(CC_PIC)
2edc011b559e 7004671 Add Python 2.7.1
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    75
634
bd9c94f9f6e0 6771457 explore compiler performance improvements for python
Shawn Walker <shawn.walker@oracle.com>
parents: 609
diff changeset
    76
# The python build is profile-guided for studio; to see the benefits of that,
bd9c94f9f6e0 6771457 explore compiler performance improvements for python
Shawn Walker <shawn.walker@oracle.com>
parents: 609
diff changeset
    77
# Python must be compiled with -xO5 and a different build target must be used.
bd9c94f9f6e0 6771457 explore compiler performance improvements for python
Shawn Walker <shawn.walker@oracle.com>
parents: 609
diff changeset
    78
# Use of xprofile requires that the same options be used during compilation and
bd9c94f9f6e0 6771457 explore compiler performance improvements for python
Shawn Walker <shawn.walker@oracle.com>
parents: 609
diff changeset
    79
# linking.  The targets chosen are based on Solaris 11 minimum supported system
bd9c94f9f6e0 6771457 explore compiler performance improvements for python
Shawn Walker <shawn.walker@oracle.com>
parents: 609
diff changeset
    80
# requirements.
bd9c94f9f6e0 6771457 explore compiler performance improvements for python
Shawn Walker <shawn.walker@oracle.com>
parents: 609
diff changeset
    81
COMPONENT_BUILD_TARGETS = profile-opt
bd9c94f9f6e0 6771457 explore compiler performance improvements for python
Shawn Walker <shawn.walker@oracle.com>
parents: 609
diff changeset
    82
XPROFILE_DIR = $(BUILD_DIR_$(BITS))/.profile
975
44e81e837f1f 7197384 move to parfait 1.0.1
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 896
diff changeset
    83
PYFLAGS.i386 = -xtarget=opteron -xarch=sse2 -xcache=generic
634
bd9c94f9f6e0 6771457 explore compiler performance improvements for python
Shawn Walker <shawn.walker@oracle.com>
parents: 609
diff changeset
    84
PYFLAGS.sparc =
bd9c94f9f6e0 6771457 explore compiler performance improvements for python
Shawn Walker <shawn.walker@oracle.com>
parents: 609
diff changeset
    85
CFLAGS += -xO5 $(PYFLAGS.$(MACH))
bd9c94f9f6e0 6771457 explore compiler performance improvements for python
Shawn Walker <shawn.walker@oracle.com>
parents: 609
diff changeset
    86
LDFLAGS += -xO5 $(PYFLAGS.$(MACH))
bd9c94f9f6e0 6771457 explore compiler performance improvements for python
Shawn Walker <shawn.walker@oracle.com>
parents: 609
diff changeset
    87
578
4f51372decaf 7053223 python needs lint libraries
Danek Duvall <danek.duvall@oracle.com>
parents: 458
diff changeset
    88
# Python puts its header files in a special place.
4f51372decaf 7053223 python needs lint libraries
Danek Duvall <danek.duvall@oracle.com>
parents: 458
diff changeset
    89
LINT_FLAGS +=	-I$(SOURCE_DIR)/Include
4f51372decaf 7053223 python needs lint libraries
Danek Duvall <danek.duvall@oracle.com>
parents: 458
diff changeset
    90
3693
db350599ce68 20396493 environment influences python2.7 and python3.4 builds
John Beck <John.Beck@Oracle.COM>
parents: 3555
diff changeset
    91
# PYTHONPATH in the environment can be harmful, but setting it to empty via
db350599ce68 20396493 environment influences python2.7 and python3.4 builds
John Beck <John.Beck@Oracle.COM>
parents: 3555
diff changeset
    92
# _INSTALL_ENV causes problems too, so just ignore the entire environment.
db350599ce68 20396493 environment influences python2.7 and python3.4 builds
John Beck <John.Beck@Oracle.COM>
parents: 3555
diff changeset
    93
# Because of this, we need to specify PATH in multiple places below.
db350599ce68 20396493 environment influences python2.7 and python3.4 builds
John Beck <John.Beck@Oracle.COM>
parents: 3555
diff changeset
    94
ENV +=				-i
db350599ce68 20396493 environment influences python2.7 and python3.4 builds
John Beck <John.Beck@Oracle.COM>
parents: 3555
diff changeset
    95
db350599ce68 20396493 environment influences python2.7 and python3.4 builds
John Beck <John.Beck@Oracle.COM>
parents: 3555
diff changeset
    96
CONFIGURE_ENV +=		PATH="$(PATH)"
db350599ce68 20396493 environment influences python2.7 and python3.4 builds
John Beck <John.Beck@Oracle.COM>
parents: 3555
diff changeset
    97
458
2edc011b559e 7004671 Add Python 2.7.1
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    98
CONFIGURE_OPTIONS  +=		--infodir=$(CONFIGURE_INFODIR)
2edc011b559e 7004671 Add Python 2.7.1
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    99
CONFIGURE_OPTIONS  +=		--enable-shared
2edc011b559e 7004671 Add Python 2.7.1
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   100
CONFIGURE_OPTIONS  +=		--with-system-expat
2edc011b559e 7004671 Add Python 2.7.1
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   101
CONFIGURE_OPTIONS  +=		--with-system-ffi
2edc011b559e 7004671 Add Python 2.7.1
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   102
CONFIGURE_OPTIONS  +=		--without-gcc
2edc011b559e 7004671 Add Python 2.7.1
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   103
CONFIGURE_OPTIONS  +=		--enable-ipv6
2edc011b559e 7004671 Add Python 2.7.1
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   104
CONFIGURE_OPTIONS  +=		CPPFLAGS="$(CPPFLAGS)"
2edc011b559e 7004671 Add Python 2.7.1
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   105
CONFIGURE_OPTIONS  +=		LDFLAGS="$(LDFLAGS)"
896
50be262e44f7 7155369 mdb should work with python 2.7 bits
Rich Burridge <rich.burridge@oracle.com>
parents: 885
diff changeset
   106
CONFIGURE_OPTIONS  +=		CFLAGS="$(CFLAGS)"
458
2edc011b559e 7004671 Add Python 2.7.1
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   107
CONFIGURE_OPTIONS  +=		DFLAGS="-$(BITS)"
634
bd9c94f9f6e0 6771457 explore compiler performance improvements for python
Shawn Walker <shawn.walker@oracle.com>
parents: 609
diff changeset
   108
CONFIGURE_OPTIONS  +=		XPROFILE_DIR="$(XPROFILE_DIR)"
458
2edc011b559e 7004671 Add Python 2.7.1
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   109
3693
db350599ce68 20396493 environment influences python2.7 and python3.4 builds
John Beck <John.Beck@Oracle.COM>
parents: 3555
diff changeset
   110
COMPONENT_BUILD_ENV  +=		PATH="$(PATH)"
458
2edc011b559e 7004671 Add Python 2.7.1
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   111
COMPONENT_BUILD_ENV  +=		DFLAGS="-$(BITS)"
634
bd9c94f9f6e0 6771457 explore compiler performance improvements for python
Shawn Walker <shawn.walker@oracle.com>
parents: 609
diff changeset
   112
COMPONENT_BUILD_ENV  +=		XPROFILE_DIR="$(XPROFILE_DIR)"
458
2edc011b559e 7004671 Add Python 2.7.1
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   113
2edc011b559e 7004671 Add Python 2.7.1
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   114
# 64 bit shared objects need to go in a 64-bit directory
2edc011b559e 7004671 Add Python 2.7.1
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   115
COMPONENT_INSTALL_ARGS.64 += DESTSHARED=$(CONFIGURE_PREFIX)/lib/python2.7/lib-dynload
2edc011b559e 7004671 Add Python 2.7.1
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   116
3497
091183b2cc24 16837431 /usr/lib/python2.7/config/Makefile is incorrect
John Beck <John.Beck@Oracle.COM>
parents: 2225
diff changeset
   117
# Simplify the definitions of CC, CXX, CFLAGS and LDFLAGS so they hard-code
091183b2cc24 16837431 /usr/lib/python2.7/config/Makefile is incorrect
John Beck <John.Beck@Oracle.COM>
parents: 2225
diff changeset
   118
# neither paths from our build systems nor Studio-specific options.
091183b2cc24 16837431 /usr/lib/python2.7/config/Makefile is incorrect
John Beck <John.Beck@Oracle.COM>
parents: 2225
diff changeset
   119
COMPONENT_PRE_INSTALL_ACTION= \
091183b2cc24 16837431 /usr/lib/python2.7/config/Makefile is incorrect
John Beck <John.Beck@Oracle.COM>
parents: 2225
diff changeset
   120
            (cd $(@D) ; $(GSED) -i -e 's/^CC=.*/CC=\t\tcc/' \
091183b2cc24 16837431 /usr/lib/python2.7/config/Makefile is incorrect
John Beck <John.Beck@Oracle.COM>
parents: 2225
diff changeset
   121
		-e 's/^CXX=.*/CXX=\t\tCC/' \
091183b2cc24 16837431 /usr/lib/python2.7/config/Makefile is incorrect
John Beck <John.Beck@Oracle.COM>
parents: 2225
diff changeset
   122
		-e 's/^CFLAGS=.*/CFLAGS=\t\t\$$\(BASECFLAGS) \$$\(OPT) \$$\(EXTRA_CFLAGS)/' \
091183b2cc24 16837431 /usr/lib/python2.7/config/Makefile is incorrect
John Beck <John.Beck@Oracle.COM>
parents: 2225
diff changeset
   123
		-e 's|^LDFLAGS=.*|LDFLAGS=|' \
091183b2cc24 16837431 /usr/lib/python2.7/config/Makefile is incorrect
John Beck <John.Beck@Oracle.COM>
parents: 2225
diff changeset
   124
		Makefile)
091183b2cc24 16837431 /usr/lib/python2.7/config/Makefile is incorrect
John Beck <John.Beck@Oracle.COM>
parents: 2225
diff changeset
   125
091183b2cc24 16837431 /usr/lib/python2.7/config/Makefile is incorrect
John Beck <John.Beck@Oracle.COM>
parents: 2225
diff changeset
   126
# Because we stripped the Makefile above, we need to pass several things in the
091183b2cc24 16837431 /usr/lib/python2.7/config/Makefile is incorrect
John Beck <John.Beck@Oracle.COM>
parents: 2225
diff changeset
   127
# environment, and use -e to tell gmake to pay attention to the environment.
091183b2cc24 16837431 /usr/lib/python2.7/config/Makefile is incorrect
John Beck <John.Beck@Oracle.COM>
parents: 2225
diff changeset
   128
COMPONENT_INSTALL_ENV +=	CC="$(CC)"
091183b2cc24 16837431 /usr/lib/python2.7/config/Makefile is incorrect
John Beck <John.Beck@Oracle.COM>
parents: 2225
diff changeset
   129
COMPONENT_INSTALL_ENV +=	CXX="$(CXX)"
091183b2cc24 16837431 /usr/lib/python2.7/config/Makefile is incorrect
John Beck <John.Beck@Oracle.COM>
parents: 2225
diff changeset
   130
COMPONENT_INSTALL_ENV +=	CFLAGS="$(CFLAGS)"
091183b2cc24 16837431 /usr/lib/python2.7/config/Makefile is incorrect
John Beck <John.Beck@Oracle.COM>
parents: 2225
diff changeset
   131
COMPONENT_INSTALL_ENV +=	LDFLAGS="$(LDFLAGS)"
3693
db350599ce68 20396493 environment influences python2.7 and python3.4 builds
John Beck <John.Beck@Oracle.COM>
parents: 3555
diff changeset
   132
COMPONENT_INSTALL_ENV +=	PATH="$(PATH)"
3497
091183b2cc24 16837431 /usr/lib/python2.7/config/Makefile is incorrect
John Beck <John.Beck@Oracle.COM>
parents: 2225
diff changeset
   133
COMPONENT_INSTALL_ARGS +=	-e
091183b2cc24 16837431 /usr/lib/python2.7/config/Makefile is incorrect
John Beck <John.Beck@Oracle.COM>
parents: 2225
diff changeset
   134
091183b2cc24 16837431 /usr/lib/python2.7/config/Makefile is incorrect
John Beck <John.Beck@Oracle.COM>
parents: 2225
diff changeset
   135
# 1. Setup pyconfig.h file to support 32 & 64 bit.
091183b2cc24 16837431 /usr/lib/python2.7/config/Makefile is incorrect
John Beck <John.Beck@Oracle.COM>
parents: 2225
diff changeset
   136
# 2. If the /usr/lib/python2.7/lib2to3/*.pickle files are older than the
091183b2cc24 16837431 /usr/lib/python2.7/config/Makefile is incorrect
John Beck <John.Beck@Oracle.COM>
parents: 2225
diff changeset
   137
#    related *.txt files in the same directory, it will rebuild them any time
091183b2cc24 16837431 /usr/lib/python2.7/config/Makefile is incorrect
John Beck <John.Beck@Oracle.COM>
parents: 2225
diff changeset
   138
#    you try to build a Python module.  So here we also touch the pickle files
091183b2cc24 16837431 /usr/lib/python2.7/config/Makefile is incorrect
John Beck <John.Beck@Oracle.COM>
parents: 2225
diff changeset
   139
#    to avoid this.
091183b2cc24 16837431 /usr/lib/python2.7/config/Makefile is incorrect
John Beck <John.Beck@Oracle.COM>
parents: 2225
diff changeset
   140
# 3. Strip build machine paths from _sysconfigdata.py & config/Makefile.
091183b2cc24 16837431 /usr/lib/python2.7/config/Makefile is incorrect
John Beck <John.Beck@Oracle.COM>
parents: 2225
diff changeset
   141
#    Note that although the 64-bit version is not used (and thus commented
091183b2cc24 16837431 /usr/lib/python2.7/config/Makefile is incorrect
John Beck <John.Beck@Oracle.COM>
parents: 2225
diff changeset
   142
#    out in the manifest), we still need to specify the 32-/64-bit paths,
091183b2cc24 16837431 /usr/lib/python2.7/config/Makefile is incorrect
John Beck <John.Beck@Oracle.COM>
parents: 2225
diff changeset
   143
#    otherwise the 64-bit build will fail to find the 32-bit path.
3872
22a6f441c13d 20616942 package runtime/python-27 is not pkg verify clean
John Beck <John.Beck@Oracle.COM>
parents: 3817
diff changeset
   144
# 4. (Re)compile _sysconfigdata.py since we just updated it.
3497
091183b2cc24 16837431 /usr/lib/python2.7/config/Makefile is incorrect
John Beck <John.Beck@Oracle.COM>
parents: 2225
diff changeset
   145
CONFIG_MAKEFILE.32=	lib/python2.7/config/Makefile
091183b2cc24 16837431 /usr/lib/python2.7/config/Makefile is incorrect
John Beck <John.Beck@Oracle.COM>
parents: 2225
diff changeset
   146
CONFIG_MAKEFILE.64=	lib/$(MACH64)/python2.7/config/Makefile
091183b2cc24 16837431 /usr/lib/python2.7/config/Makefile is incorrect
John Beck <John.Beck@Oracle.COM>
parents: 2225
diff changeset
   147
CONFIG_MAKEFILE=	$(CONFIG_MAKEFILE.$(BITS))
1246
164605dfef4e 15799279 - Some Python 2.6 and 2.7 "gmake test" tests fail
Brian Cameron <brian.cameron@oracle.com>
parents: 1058
diff changeset
   148
COMPONENT_POST_INSTALL_ACTION= \
164605dfef4e 15799279 - Some Python 2.6 and 2.7 "gmake test" tests fail
Brian Cameron <brian.cameron@oracle.com>
parents: 1058
diff changeset
   149
            (cd $(PROTOUSRDIR) ;  \
164605dfef4e 15799279 - Some Python 2.6 and 2.7 "gmake test" tests fail
Brian Cameron <brian.cameron@oracle.com>
parents: 1058
diff changeset
   150
             $(MV) include/python2.7/pyconfig.h include/python2.7/pyconfig-$(BITS).h ; \
3497
091183b2cc24 16837431 /usr/lib/python2.7/config/Makefile is incorrect
John Beck <John.Beck@Oracle.COM>
parents: 2225
diff changeset
   151
             $(TOUCH) lib/python2.7/lib2to3/*.pickle ; \
091183b2cc24 16837431 /usr/lib/python2.7/config/Makefile is incorrect
John Beck <John.Beck@Oracle.COM>
parents: 2225
diff changeset
   152
	     $(GSED) -i -e 's|$(SOURCE_DIR)|.|g' -e 's|$(COMPONENT_DIR)|..|g' \
091183b2cc24 16837431 /usr/lib/python2.7/config/Makefile is incorrect
John Beck <John.Beck@Oracle.COM>
parents: 2225
diff changeset
   153
		-e 's|$(SPRO_VROOT)/bin/||g' lib/python2.7/_sysconfigdata.py \
3872
22a6f441c13d 20616942 package runtime/python-27 is not pkg verify clean
John Beck <John.Beck@Oracle.COM>
parents: 3817
diff changeset
   154
		$(CONFIG_MAKEFILE); \
22a6f441c13d 20616942 package runtime/python-27 is not pkg verify clean
John Beck <John.Beck@Oracle.COM>
parents: 3817
diff changeset
   155
	     $(PYTHON.2.7) -m py_compile lib/python2.7/_sysconfigdata.py)
458
2edc011b559e 7004671 Add Python 2.7.1
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   156
1303
79b691ffbda3 16734056 Make antlr ASLR enabled
Brian Cameron <brian.cameron@oracle.com>
parents: 1246
diff changeset
   157
ASLR_MODE = $(ASLR_ENABLE)
79b691ffbda3 16734056 Make antlr ASLR enabled
Brian Cameron <brian.cameron@oracle.com>
parents: 1246
diff changeset
   158
1246
164605dfef4e 15799279 - Some Python 2.6 and 2.7 "gmake test" tests fail
Brian Cameron <brian.cameron@oracle.com>
parents: 1058
diff changeset
   159
# common targets
164605dfef4e 15799279 - Some Python 2.6 and 2.7 "gmake test" tests fail
Brian Cameron <brian.cameron@oracle.com>
parents: 1058
diff changeset
   160
$(INSTALL_32):  $(INSTALL_64)
2225
f064d3d3190d 20078677 Userland Makefiles should support a configure: target
John Beck <John.Beck@Oracle.COM>
parents: 2028
diff changeset
   161
configure:	$(CONFIGURE_32_and_64)
1246
164605dfef4e 15799279 - Some Python 2.6 and 2.7 "gmake test" tests fail
Brian Cameron <brian.cameron@oracle.com>
parents: 1058
diff changeset
   162
build:		$(BUILD_32_and_64)
458
2edc011b559e 7004671 Add Python 2.7.1
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   163
install:	$(INSTALL_32_and_64)
2edc011b559e 7004671 Add Python 2.7.1
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   164
1246
164605dfef4e 15799279 - Some Python 2.6 and 2.7 "gmake test" tests fail
Brian Cameron <brian.cameron@oracle.com>
parents: 1058
diff changeset
   165
# Using "-uall,-network" ensures all tests are run except the network tests.
164605dfef4e 15799279 - Some Python 2.6 and 2.7 "gmake test" tests fail
Brian Cameron <brian.cameron@oracle.com>
parents: 1058
diff changeset
   166
# The network tests contain many expected failures when run behind a firewall.
164605dfef4e 15799279 - Some Python 2.6 and 2.7 "gmake test" tests fail
Brian Cameron <brian.cameron@oracle.com>
parents: 1058
diff changeset
   167
# The "-v" ensures verbose mode.  You can set TESTOPTS_PYTHON_TEST to a
164605dfef4e 15799279 - Some Python 2.6 and 2.7 "gmake test" tests fail
Brian Cameron <brian.cameron@oracle.com>
parents: 1058
diff changeset
   168
# particular test if you want to run just one test.  For example, run gmake with
164605dfef4e 15799279 - Some Python 2.6 and 2.7 "gmake test" tests fail
Brian Cameron <brian.cameron@oracle.com>
parents: 1058
diff changeset
   169
# "-k" so it continues and does both 32-bit and 64-bit tests, even if there is a
164605dfef4e 15799279 - Some Python 2.6 and 2.7 "gmake test" tests fail
Brian Cameron <brian.cameron@oracle.com>
parents: 1058
diff changeset
   170
# failure, like this:
164605dfef4e 15799279 - Some Python 2.6 and 2.7 "gmake test" tests fail
Brian Cameron <brian.cameron@oracle.com>
parents: 1058
diff changeset
   171
# $ TESTOPTS_PYTHON_TEST=test_sys gmake -k test
164605dfef4e 15799279 - Some Python 2.6 and 2.7 "gmake test" tests fail
Brian Cameron <brian.cameron@oracle.com>
parents: 1058
diff changeset
   172
# Note that when a test succeeds, the builds/*/.tested file gets created.  You
164605dfef4e 15799279 - Some Python 2.6 and 2.7 "gmake test" tests fail
Brian Cameron <brian.cameron@oracle.com>
parents: 1058
diff changeset
   173
# may need to remove these files, or run "gmake clobber" or "gmake clean"
164605dfef4e 15799279 - Some Python 2.6 and 2.7 "gmake test" tests fail
Brian Cameron <brian.cameron@oracle.com>
parents: 1058
diff changeset
   174
# between tests.
164605dfef4e 15799279 - Some Python 2.6 and 2.7 "gmake test" tests fail
Brian Cameron <brian.cameron@oracle.com>
parents: 1058
diff changeset
   175
#
164605dfef4e 15799279 - Some Python 2.6 and 2.7 "gmake test" tests fail
Brian Cameron <brian.cameron@oracle.com>
parents: 1058
diff changeset
   176
COMPONENT_TEST_ENV = EXTRATESTOPTS="-v -uall,-network $(TESTOPTS_PYTHON_TEST)"
3722
e76241a68272 20463707 Python's distutils test need compiler in PATH
John Beck <John.Beck@Oracle.COM>
parents: 3693
diff changeset
   177
# The distutils tests need $CC in $PATH.
e76241a68272 20463707 Python's distutils test need compiler in PATH
John Beck <John.Beck@Oracle.COM>
parents: 3693
diff changeset
   178
COMPONENT_TEST_ENV += PATH="$(SPRO_VROOT)/bin:$(PATH)"
458
2edc011b559e 7004671 Add Python 2.7.1
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   179
COMPONENT_TEST_TARGETS = test
2edc011b559e 7004671 Add Python 2.7.1
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   180
3747
d2f2bcf116e8 20441004 Python master test results
John Beck <John.Beck@Oracle.COM>
parents: 3722
diff changeset
   181
# The test output contains details from each test, in whatever order they
d2f2bcf116e8 20441004 Python master test results
John Beck <John.Beck@Oracle.COM>
parents: 3722
diff changeset
   182
# complete.  The default _TRANSFORMER is not powerful enough to deal with
d2f2bcf116e8 20441004 Python master test results
John Beck <John.Beck@Oracle.COM>
parents: 3722
diff changeset
   183
# this; we need heavier artillery.  Extract just the sections that start
d2f2bcf116e8 20441004 Python master test results
John Beck <John.Beck@Oracle.COM>
parents: 3722
diff changeset
   184
# with "tests OK." and end with "make: " for comparison.
d2f2bcf116e8 20441004 Python master test results
John Beck <John.Beck@Oracle.COM>
parents: 3722
diff changeset
   185
COMPONENT_TEST_TRANSFORMER =	$(NAWK)
d2f2bcf116e8 20441004 Python master test results
John Beck <John.Beck@Oracle.COM>
parents: 3722
diff changeset
   186
COMPONENT_TEST_TRANSFORMS =	"'/tests OK./ {results = 1}; /make: / {results = 0} {if (results) print $0 } '"
d2f2bcf116e8 20441004 Python master test results
John Beck <John.Beck@Oracle.COM>
parents: 3722
diff changeset
   187
1246
164605dfef4e 15799279 - Some Python 2.6 and 2.7 "gmake test" tests fail
Brian Cameron <brian.cameron@oracle.com>
parents: 1058
diff changeset
   188
test:				$(TEST_32_and_64)
458
2edc011b559e 7004671 Add Python 2.7.1
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
   189
4339
6501cf9c29f9 21116842 add system-test targets to each component Makefile and to top-level Makefiles
Stacy Yeh <stacy.yeh@oracle.com>
parents: 3872
diff changeset
   190
system-test:    $(SYSTEM_TESTS_NOT_IMPLEMENTED)
6501cf9c29f9 21116842 add system-test targets to each component Makefile and to top-level Makefiles
Stacy Yeh <stacy.yeh@oracle.com>
parents: 3872
diff changeset
   191
3817
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 3759
diff changeset
   192
REQUIRED_PACKAGES += compress/bzip2
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 3759
diff changeset
   193
REQUIRED_PACKAGES += database/sqlite-3
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 3759
diff changeset
   194
REQUIRED_PACKAGES += developer/library/xprofile
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 3759
diff changeset
   195
REQUIRED_PACKAGES += library/database/gdbm
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 3759
diff changeset
   196
REQUIRED_PACKAGES += library/expat
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 3759
diff changeset
   197
REQUIRED_PACKAGES += library/libffi
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 3759
diff changeset
   198
REQUIRED_PACKAGES += library/ncurses
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 3759
diff changeset
   199
REQUIRED_PACKAGES += library/python/pip-27
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 3759
diff changeset
   200
REQUIRED_PACKAGES += library/readline
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 3759
diff changeset
   201
REQUIRED_PACKAGES += library/security/openssl
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 3759
diff changeset
   202
REQUIRED_PACKAGES += library/zlib
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 3759
diff changeset
   203
REQUIRED_PACKAGES += runtime/tcl-8
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 3759
diff changeset
   204
REQUIRED_PACKAGES += runtime/tk-8
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 3759
diff changeset
   205
REQUIRED_PACKAGES += shell/ksh93
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 3759
diff changeset
   206
REQUIRED_PACKAGES += system/core-os
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 3759
diff changeset
   207
REQUIRED_PACKAGES += system/library
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 3759
diff changeset
   208
REQUIRED_PACKAGES += system/library/math
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 3759
diff changeset
   209
REQUIRED_PACKAGES += system/linker
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 3759
diff changeset
   210
REQUIRED_PACKAGES += x11/library/libx11