make-rules/shared-macros.mk
author Mike Sullivan <Mike.Sullivan@Oracle.COM>
Thu, 26 Jan 2017 16:44:14 -0800
changeset 7617 14b1a4293086
parent 7540 44a10ef5a23c
child 7760 4ab84455407c
permissions -rw-r--r--
Close of build 117.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
2
125cd5d2cd9e include gmake example
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
     1
#
125cd5d2cd9e include gmake example
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
     2
# CDDL HEADER START
125cd5d2cd9e include gmake example
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
     3
#
125cd5d2cd9e include gmake example
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
     4
# The contents of this file are subject to the terms of the
125cd5d2cd9e include gmake example
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
     5
# Common Development and Distribution License (the "License").
125cd5d2cd9e include gmake example
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
     6
# You may not use this file except in compliance with the License.
125cd5d2cd9e include gmake example
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
     7
#
125cd5d2cd9e include gmake example
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
     8
# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
125cd5d2cd9e include gmake example
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
     9
# or http://www.opensolaris.org/os/licensing.
125cd5d2cd9e include gmake example
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
    10
# See the License for the specific language governing permissions
125cd5d2cd9e include gmake example
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
    11
# and limitations under the License.
125cd5d2cd9e include gmake example
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
    12
#
125cd5d2cd9e include gmake example
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
    13
# When distributing Covered Code, include this CDDL HEADER in each
125cd5d2cd9e include gmake example
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
    14
# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
125cd5d2cd9e include gmake example
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
    15
# If applicable, add the following below this CDDL HEADER, with the
125cd5d2cd9e include gmake example
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
    16
# fields enclosed by brackets "[]" replaced with your own identifying
125cd5d2cd9e include gmake example
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
    17
# information: Portions Copyright [yyyy] [name of copyright owner]
125cd5d2cd9e include gmake example
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
    18
#
125cd5d2cd9e include gmake example
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
    19
# CDDL HEADER END
125cd5d2cd9e include gmake example
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
    20
#
5682
94c0ca64c022 15558602 TCL_LD_SEARCH_FLAGS is wrongly defined in tclConfig.sh
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5678
diff changeset
    21
94c0ca64c022 15558602 TCL_LD_SEARCH_FLAGS is wrongly defined in tclConfig.sh
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5678
diff changeset
    22
#
7540
44a10ef5a23c 25292546 ADIHEAP_DISBLE.sparcv9 won't disable ADI
Enrico Perla <enrico.perla@oracle.com>
parents: 7469
diff changeset
    23
# Copyright (c) 2010, 2017, Oracle and/or its affiliates. All rights reserved.
2
125cd5d2cd9e include gmake example
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
    24
#
125cd5d2cd9e include gmake example
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
    25
32
280a7444e782 automatically generate intercomponent dependencies for build ordering
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 31
diff changeset
    26
PATH=/usr/bin:/usr/gnu/bin
280a7444e782 automatically generate intercomponent dependencies for build ordering
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 31
diff changeset
    27
313
e30cc0dc4e8b 7053576 canonical source location for beanshell, gcc3, and tidy is changing
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 302
diff changeset
    28
# The location of an internal mirror of community source archives that we build
e30cc0dc4e8b 7053576 canonical source location for beanshell, gcc3, and tidy is changing
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 302
diff changeset
    29
# in this gate.  This mirror has been seeded to include "custom" source archives
e30cc0dc4e8b 7053576 canonical source location for beanshell, gcc3, and tidy is changing
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 302
diff changeset
    30
# for a few components where the communities either no longer provide matching
e30cc0dc4e8b 7053576 canonical source location for beanshell, gcc3, and tidy is changing
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 302
diff changeset
    31
# source archives or we have changes that aren't reflected in their archives or
e30cc0dc4e8b 7053576 canonical source location for beanshell, gcc3, and tidy is changing
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 302
diff changeset
    32
# anywhere else.
e30cc0dc4e8b 7053576 canonical source location for beanshell, gcc3, and tidy is changing
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 302
diff changeset
    33
INTERNAL_ARCHIVE_MIRROR =	http://userland.us.oracle.com/source-archives
e30cc0dc4e8b 7053576 canonical source location for beanshell, gcc3, and tidy is changing
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 302
diff changeset
    34
e30cc0dc4e8b 7053576 canonical source location for beanshell, gcc3, and tidy is changing
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 302
diff changeset
    35
# The location of an external mirror of community source archives that we build
e30cc0dc4e8b 7053576 canonical source location for beanshell, gcc3, and tidy is changing
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 302
diff changeset
    36
# in this gate.  The external mirror is a replica of the internal mirror.
1528
76d0288dce57 16666374 userland misses opensolaris.org very much, but must move on to java.net's love
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 1512
diff changeset
    37
EXTERNAL_ARCHIVE_MIRROR = 
313
e30cc0dc4e8b 7053576 canonical source location for beanshell, gcc3, and tidy is changing
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 302
diff changeset
    38
e30cc0dc4e8b 7053576 canonical source location for beanshell, gcc3, and tidy is changing
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 302
diff changeset
    39
# Default to looking for source archives on the internal mirror and the external
e30cc0dc4e8b 7053576 canonical source location for beanshell, gcc3, and tidy is changing
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 302
diff changeset
    40
# mirror before we hammer on the community source archive repositories.
e30cc0dc4e8b 7053576 canonical source location for beanshell, gcc3, and tidy is changing
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 302
diff changeset
    41
export DOWNLOAD_SEARCH_PATH +=	$(INTERNAL_ARCHIVE_MIRROR)
1528
76d0288dce57 16666374 userland misses opensolaris.org very much, but must move on to java.net's love
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 1512
diff changeset
    42
ifneq   ($(strip $(EXTERNAL_ARCHIVE_MIRROR)),)
313
e30cc0dc4e8b 7053576 canonical source location for beanshell, gcc3, and tidy is changing
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 302
diff changeset
    43
export DOWNLOAD_SEARCH_PATH +=	$(EXTERNAL_ARCHIVE_MIRROR)
1528
76d0288dce57 16666374 userland misses opensolaris.org very much, but must move on to java.net's love
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 1512
diff changeset
    44
endif
127
3e3c266b3a81 7013705 userland build needs local tarball caching
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 120
diff changeset
    45
4359
93edfb908c2a 21137286 Userland WS_TOP should be determined relative to make-rules/shared-macros.mk
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 4339
diff changeset
    46
# The workspace starts at the parent of the make-rules directory,
93edfb908c2a 21137286 Userland WS_TOP should be determined relative to make-rules/shared-macros.mk
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 4339
diff changeset
    47
# unless someone already supplied the top.
1056
b2ec61db2a04 15845939 versionless python manifests
Danek Duvall <danek.duvall@oracle.com>
parents: 1053
diff changeset
    48
ifeq ($(origin WS_TOP), undefined)
4359
93edfb908c2a 21137286 Userland WS_TOP should be determined relative to make-rules/shared-macros.mk
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 4339
diff changeset
    49
export WS_TOP := $(realpath $(dir $(realpath $(dir $(filter \
93edfb908c2a 21137286 Userland WS_TOP should be determined relative to make-rules/shared-macros.mk
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 4339
diff changeset
    50
			%/make-rules/shared-macros.mk,$(MAKEFILE_LIST))))))
1056
b2ec61db2a04 15845939 versionless python manifests
Danek Duvall <danek.duvall@oracle.com>
parents: 1053
diff changeset
    51
endif
127
3e3c266b3a81 7013705 userland build needs local tarball caching
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 120
diff changeset
    52
3817
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 3750
diff changeset
    53
WS_MACH =	$(WS_TOP)/$(MACH)
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 3750
diff changeset
    54
WS_LOGS =	$(WS_MACH)/logs
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 3750
diff changeset
    55
WS_REPO =	$(WS_MACH)/repo
538
d8d7345db00f 7104397 Userland should split out package BUILD_VERSION information
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 528
diff changeset
    56
WS_TOOLS =	$(WS_TOP)/tools
d8d7345db00f 7104397 Userland should split out package BUILD_VERSION information
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 528
diff changeset
    57
WS_MAKE_RULES =	$(WS_TOP)/make-rules
d8d7345db00f 7104397 Userland should split out package BUILD_VERSION information
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 528
diff changeset
    58
WS_COMPONENTS =	$(WS_TOP)/components
4490
5a5296580120 21249474 s/pre-release/evaluation/g + other tweaks
John Beck <John.Beck@Oracle.COM>
parents: 4439
diff changeset
    59
WS_LICENSES =	$(WS_TOP)/licenses
538
d8d7345db00f 7104397 Userland should split out package BUILD_VERSION information
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 528
diff changeset
    60
WS_INCORPORATIONS =	$(WS_TOP)/incorporations
3817
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 3750
diff changeset
    61
WS_LINT_CACHE =	$(WS_MACH)/pkglint-cache
538
d8d7345db00f 7104397 Userland should split out package BUILD_VERSION information
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 528
diff changeset
    62
327
b3a36ee93012 7057088 move quilt to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 313
diff changeset
    63
# we want our pkg piplines to fail if there is an error
b3a36ee93012 7057088 move quilt to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 313
diff changeset
    64
# (like if pkgdepend fails in the middle of a pipe), but
b3a36ee93012 7057088 move quilt to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 313
diff changeset
    65
# we don't want the builds or ./configure's failing as well.
b3a36ee93012 7057088 move quilt to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 313
diff changeset
    66
# so we only set pipefail for the publish target and have
b3a36ee93012 7057088 move quilt to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 313
diff changeset
    67
# to reset it for the others since they might be invoked
b3a36ee93012 7057088 move quilt to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 313
diff changeset
    68
# as dependencies of publish.
b3a36ee93012 7057088 move quilt to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 313
diff changeset
    69
export SHELLOPTS
b3a36ee93012 7057088 move quilt to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 313
diff changeset
    70
build:		SHELLOPTS=
b3a36ee93012 7057088 move quilt to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 313
diff changeset
    71
test:		SHELLOPTS=
b3a36ee93012 7057088 move quilt to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 313
diff changeset
    72
install:	SHELLOPTS=
b3a36ee93012 7057088 move quilt to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 313
diff changeset
    73
publish:	SHELLOPTS=pipefail
b3a36ee93012 7057088 move quilt to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 313
diff changeset
    74
3817
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 3750
diff changeset
    75
# This can be overridden to avoid rebuilding when you touch a Makefile
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 3750
diff changeset
    76
MAKEFILE_PREREQ =	Makefile
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 3750
diff changeset
    77
1593
b0666dd4d31d 17899000 libtool doesn't build properly in non-C locale
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 1528
diff changeset
    78
# some things don't build properly in non-C locales,
b0666dd4d31d 17899000 libtool doesn't build properly in non-C locale
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 1528
diff changeset
    79
# so lets stay there
b0666dd4d31d 17899000 libtool doesn't build properly in non-C locale
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 1528
diff changeset
    80
export LC_ALL=C
b0666dd4d31d 17899000 libtool doesn't build properly in non-C locale
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 1528
diff changeset
    81
177
fd9cb2273c9d 7015392 the build should really fail if the pkg tools fail
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 176
diff changeset
    82
SHELL=	/bin/bash
fd9cb2273c9d 7015392 the build should really fail if the pkg tools fail
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 176
diff changeset
    83
3951
44e39665111f 20696590 change Userland publisher name from "userland" to "nightly"
John Beck <John.Beck@Oracle.COM>
parents: 3936
diff changeset
    84
# We want "nightly" as our publisher, to match other consolidations and
5529
43ba477eb37f 22846462 PUBLISHER should be 'solaris' when BUILD_TYPE=evaluation
John Beck <John.Beck@Oracle.COM>
parents: 5508
diff changeset
    85
# facilitate migrations (except for evaluation builds, which need to use
43ba477eb37f 22846462 PUBLISHER should be 'solaris' when BUILD_TYPE=evaluation
John Beck <John.Beck@Oracle.COM>
parents: 5508
diff changeset
    86
# "solaris" as the publisher).  G11N wants $(CONSOLIDATION)-localizable for
3951
44e39665111f 20696590 change Userland publisher name from "userland" to "nightly"
John Beck <John.Beck@Oracle.COM>
parents: 3936
diff changeset
    87
# the localizable publisher.
2
125cd5d2cd9e include gmake example
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
    88
CONSOLIDATION =	userland
5529
43ba477eb37f 22846462 PUBLISHER should be 'solaris' when BUILD_TYPE=evaluation
John Beck <John.Beck@Oracle.COM>
parents: 5508
diff changeset
    89
ifeq ($(BUILD_TYPE),evaluation)
43ba477eb37f 22846462 PUBLISHER should be 'solaris' when BUILD_TYPE=evaluation
John Beck <John.Beck@Oracle.COM>
parents: 5508
diff changeset
    90
PUBLISHER ?=	solaris
43ba477eb37f 22846462 PUBLISHER should be 'solaris' when BUILD_TYPE=evaluation
John Beck <John.Beck@Oracle.COM>
parents: 5508
diff changeset
    91
else
3951
44e39665111f 20696590 change Userland publisher name from "userland" to "nightly"
John Beck <John.Beck@Oracle.COM>
parents: 3936
diff changeset
    92
PUBLISHER ?=	nightly
5529
43ba477eb37f 22846462 PUBLISHER should be 'solaris' when BUILD_TYPE=evaluation
John Beck <John.Beck@Oracle.COM>
parents: 5508
diff changeset
    93
endif
827
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents: 800
diff changeset
    94
PUBLISHER_LOCALIZABLE ?=	$(CONSOLIDATION)-localizable
26
8a9f4e791832 packaging changes including canonical manifest support with manifest validation
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 16
diff changeset
    95
5125
34cc580c62c2 21029732 PKG_CONFIG_PATH should be included in CONFIGURE_ENV and BUILD_ENV
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5066
diff changeset
    96
# Defines $(space) as a single blank space, so we can use it to convert
34cc580c62c2 21029732 PKG_CONFIG_PATH should be included in CONFIGURE_ENV and BUILD_ENV
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5066
diff changeset
    97
# space-separated paths to colon-separated paths in variables with
34cc580c62c2 21029732 PKG_CONFIG_PATH should be included in CONFIGURE_ENV and BUILD_ENV
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5066
diff changeset
    98
# $(subst $(space),:,$(strip $(SPATHS)))
34cc580c62c2 21029732 PKG_CONFIG_PATH should be included in CONFIGURE_ENV and BUILD_ENV
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5066
diff changeset
    99
empty :=
34cc580c62c2 21029732 PKG_CONFIG_PATH should be included in CONFIGURE_ENV and BUILD_ENV
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5066
diff changeset
   100
space := $(empty) $(empty)
34cc580c62c2 21029732 PKG_CONFIG_PATH should be included in CONFIGURE_ENV and BUILD_ENV
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5066
diff changeset
   101
38
cd00ea74156e package audits should pass pkglint
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 34
diff changeset
   102
ROOT =			/
cd00ea74156e package audits should pass pkglint
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 34
diff changeset
   103
4520
56630cd6ade3 21288917 userland packages should include the corresponding changeset id.
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 4490
diff changeset
   104
# The changset and external source repo used in building the packages.
56630cd6ade3 21288917 userland packages should include the corresponding changeset id.
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 4490
diff changeset
   105
CONSOLIDATION_CHANGESET=$(shell hg identify -i)
56630cd6ade3 21288917 userland packages should include the corresponding changeset id.
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 4490
diff changeset
   106
CONSOLIDATION_REPOSITORY_URL=https://hg.java.net/hg/solaris-userland~gate
56630cd6ade3 21288917 userland packages should include the corresponding changeset id.
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 4490
diff changeset
   107
944
457586ba0add 7190084 Userland needs to update its IPS schema for S12
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 943
diff changeset
   108
# Native OS version
1056
b2ec61db2a04 15845939 versionless python manifests
Danek Duvall <danek.duvall@oracle.com>
parents: 1053
diff changeset
   109
OS_VERSION :=		$(shell uname -r)
26
8a9f4e791832 packaging changes including canonical manifest support with manifest validation
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 16
diff changeset
   110
SOLARIS_VERSION =	$(OS_VERSION:5.%=2.%)
944
457586ba0add 7190084 Userland needs to update its IPS schema for S12
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 943
diff changeset
   111
# Target OS version
457586ba0add 7190084 Userland needs to update its IPS schema for S12
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 943
diff changeset
   112
PKG_SOLARIS_VERSION ?= 5.12
477
068d10529156 7078102 userland needs Versioning Reform
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 459
diff changeset
   113
4955
d9d2542d0224 21954711 add SOLARIS_{11,12}_ONLY macros for FOSS evaluation project
John Beck <John.Beck@Oracle.COM>
parents: 4947
diff changeset
   114
# We generally build the default branch on the latest release.  But for
d9d2542d0224 21954711 add SOLARIS_{11,12}_ONLY macros for FOSS evaluation project
John Beck <John.Beck@Oracle.COM>
parents: 4947
diff changeset
   115
# the FOSS evaluation repo project, we build on the previous release.
d9d2542d0224 21954711 add SOLARIS_{11,12}_ONLY macros for FOSS evaluation project
John Beck <John.Beck@Oracle.COM>
parents: 4947
diff changeset
   116
# Add macros to make that easier.
d9d2542d0224 21954711 add SOLARIS_{11,12}_ONLY macros for FOSS evaluation project
John Beck <John.Beck@Oracle.COM>
parents: 4947
diff changeset
   117
ifeq ($(OS_VERSION),5.12)
d9d2542d0224 21954711 add SOLARIS_{11,12}_ONLY macros for FOSS evaluation project
John Beck <John.Beck@Oracle.COM>
parents: 4947
diff changeset
   118
SOLARIS_12_ONLY =
d9d2542d0224 21954711 add SOLARIS_{11,12}_ONLY macros for FOSS evaluation project
John Beck <John.Beck@Oracle.COM>
parents: 4947
diff changeset
   119
SOLARIS_11_ONLY =\#
d9d2542d0224 21954711 add SOLARIS_{11,12}_ONLY macros for FOSS evaluation project
John Beck <John.Beck@Oracle.COM>
parents: 4947
diff changeset
   120
else
d9d2542d0224 21954711 add SOLARIS_{11,12}_ONLY macros for FOSS evaluation project
John Beck <John.Beck@Oracle.COM>
parents: 4947
diff changeset
   121
SOLARIS_12_ONLY =\#
d9d2542d0224 21954711 add SOLARIS_{11,12}_ONLY macros for FOSS evaluation project
John Beck <John.Beck@Oracle.COM>
parents: 4947
diff changeset
   122
SOLARIS_11_ONLY =
d9d2542d0224 21954711 add SOLARIS_{11,12}_ONLY macros for FOSS evaluation project
John Beck <John.Beck@Oracle.COM>
parents: 4947
diff changeset
   123
endif
d9d2542d0224 21954711 add SOLARIS_{11,12}_ONLY macros for FOSS evaluation project
John Beck <John.Beck@Oracle.COM>
parents: 4947
diff changeset
   124
538
d8d7345db00f 7104397 Userland should split out package BUILD_VERSION information
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 528
diff changeset
   125
include $(WS_MAKE_RULES)/ips-buildinfo.mk
38
cd00ea74156e package audits should pass pkglint
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 34
diff changeset
   126
3817
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 3750
diff changeset
   127
COMPILER ?=		studio
5125
34cc580c62c2 21029732 PKG_CONFIG_PATH should be included in CONFIGURE_ENV and BUILD_ENV
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5066
diff changeset
   128
34cc580c62c2 21029732 PKG_CONFIG_PATH should be included in CONFIGURE_ENV and BUILD_ENV
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5066
diff changeset
   129
# The values of BITS changes during the build process for components that
34cc580c62c2 21029732 PKG_CONFIG_PATH should be included in CONFIGURE_ENV and BUILD_ENV
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5066
diff changeset
   130
# are built 32-bit and 64-bit.  This macro makes it possible to determine
34cc580c62c2 21029732 PKG_CONFIG_PATH should be included in CONFIGURE_ENV and BUILD_ENV
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5066
diff changeset
   131
# which components are only built 64-bit and allow other make-rules files
5682
94c0ca64c022 15558602 TCL_LD_SEARCH_FLAGS is wrongly defined in tclConfig.sh
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5678
diff changeset
   132
# to adjust accordingly.  Possible values are: '32', '64', '32_and_64',
94c0ca64c022 15558602 TCL_LD_SEARCH_FLAGS is wrongly defined in tclConfig.sh
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5678
diff changeset
   133
# '64_and_32', and 'NO_ARCH' (the orderings specify build preference).
94c0ca64c022 15558602 TCL_LD_SEARCH_FLAGS is wrongly defined in tclConfig.sh
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5678
diff changeset
   134
BUILD_BITS ?=$(BITS)
94c0ca64c022 15558602 TCL_LD_SEARCH_FLAGS is wrongly defined in tclConfig.sh
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5678
diff changeset
   135
ifeq ($(strip $(BUILD_BITS)),64)
94c0ca64c022 15558602 TCL_LD_SEARCH_FLAGS is wrongly defined in tclConfig.sh
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5678
diff changeset
   136
BITS ?=			64
94c0ca64c022 15558602 TCL_LD_SEARCH_FLAGS is wrongly defined in tclConfig.sh
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5678
diff changeset
   137
else
94c0ca64c022 15558602 TCL_LD_SEARCH_FLAGS is wrongly defined in tclConfig.sh
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5678
diff changeset
   138
BITS ?=			32
94c0ca64c022 15558602 TCL_LD_SEARCH_FLAGS is wrongly defined in tclConfig.sh
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5678
diff changeset
   139
endif
94c0ca64c022 15558602 TCL_LD_SEARCH_FLAGS is wrongly defined in tclConfig.sh
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5678
diff changeset
   140
94c0ca64c022 15558602 TCL_LD_SEARCH_FLAGS is wrongly defined in tclConfig.sh
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5678
diff changeset
   141
# Based on BUILD_BITS, determine which binaries are preferred for a build.
94c0ca64c022 15558602 TCL_LD_SEARCH_FLAGS is wrongly defined in tclConfig.sh
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5678
diff changeset
   142
# This macro is for the convenience of other make-rules files and should not be
94c0ca64c022 15558602 TCL_LD_SEARCH_FLAGS is wrongly defined in tclConfig.sh
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5678
diff changeset
   143
# overridden by developers.
94c0ca64c022 15558602 TCL_LD_SEARCH_FLAGS is wrongly defined in tclConfig.sh
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5678
diff changeset
   144
ifeq ($(strip $(BUILD_BITS)),64)
94c0ca64c022 15558602 TCL_LD_SEARCH_FLAGS is wrongly defined in tclConfig.sh
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5678
diff changeset
   145
PREFERRED_BITS=64
94c0ca64c022 15558602 TCL_LD_SEARCH_FLAGS is wrongly defined in tclConfig.sh
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5678
diff changeset
   146
endif
94c0ca64c022 15558602 TCL_LD_SEARCH_FLAGS is wrongly defined in tclConfig.sh
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5678
diff changeset
   147
ifeq ($(strip $(BUILD_BITS)),64_and_32)
94c0ca64c022 15558602 TCL_LD_SEARCH_FLAGS is wrongly defined in tclConfig.sh
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5678
diff changeset
   148
PREFERRED_BITS=64
94c0ca64c022 15558602 TCL_LD_SEARCH_FLAGS is wrongly defined in tclConfig.sh
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5678
diff changeset
   149
endif
94c0ca64c022 15558602 TCL_LD_SEARCH_FLAGS is wrongly defined in tclConfig.sh
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5678
diff changeset
   150
PREFERRED_BITS ?= 32
94c0ca64c022 15558602 TCL_LD_SEARCH_FLAGS is wrongly defined in tclConfig.sh
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5678
diff changeset
   151
94c0ca64c022 15558602 TCL_LD_SEARCH_FLAGS is wrongly defined in tclConfig.sh
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5678
diff changeset
   152
# Map target build to macro/variable naming conventions.  This macro is for the
94c0ca64c022 15558602 TCL_LD_SEARCH_FLAGS is wrongly defined in tclConfig.sh
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5678
diff changeset
   153
# convenience of other make-rules files and should not be overridden by
94c0ca64c022 15558602 TCL_LD_SEARCH_FLAGS is wrongly defined in tclConfig.sh
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5678
diff changeset
   154
# developers.
94c0ca64c022 15558602 TCL_LD_SEARCH_FLAGS is wrongly defined in tclConfig.sh
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5678
diff changeset
   155
ifeq ($(BUILD_BITS),64_and_32)
94c0ca64c022 15558602 TCL_LD_SEARCH_FLAGS is wrongly defined in tclConfig.sh
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5678
diff changeset
   156
MK_BITS=32_and_64
94c0ca64c022 15558602 TCL_LD_SEARCH_FLAGS is wrongly defined in tclConfig.sh
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5678
diff changeset
   157
else
94c0ca64c022 15558602 TCL_LD_SEARCH_FLAGS is wrongly defined in tclConfig.sh
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5678
diff changeset
   158
MK_BITS=$(strip $(BUILD_BITS))
94c0ca64c022 15558602 TCL_LD_SEARCH_FLAGS is wrongly defined in tclConfig.sh
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5678
diff changeset
   159
endif
94c0ca64c022 15558602 TCL_LD_SEARCH_FLAGS is wrongly defined in tclConfig.sh
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5678
diff changeset
   160
94c0ca64c022 15558602 TCL_LD_SEARCH_FLAGS is wrongly defined in tclConfig.sh
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5678
diff changeset
   161
# Do not assume a default build style for compatibility with older component
94c0ca64c022 15558602 TCL_LD_SEARCH_FLAGS is wrongly defined in tclConfig.sh
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5678
diff changeset
   162
# Makefiles.  If explicitly set, common.mk will automatically include relevant
94c0ca64c022 15558602 TCL_LD_SEARCH_FLAGS is wrongly defined in tclConfig.sh
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5678
diff changeset
   163
# make-rules files.  Possible values are: 'ant', 'archive', 'attpackagemake',
94c0ca64c022 15558602 TCL_LD_SEARCH_FLAGS is wrongly defined in tclConfig.sh
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5678
diff changeset
   164
# 'cmake', 'configure', 'gnu-component', 'justmake', 'pkg', and 'setup.py'. See
94c0ca64c022 15558602 TCL_LD_SEARCH_FLAGS is wrongly defined in tclConfig.sh
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5678
diff changeset
   165
# corresponding file in make-rules for details.
94c0ca64c022 15558602 TCL_LD_SEARCH_FLAGS is wrongly defined in tclConfig.sh
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5678
diff changeset
   166
# BUILD_STYLE=
1907
446472de62e9 PSARC 2014/151 Python 3.4
John Beck <John.Beck@Oracle.COM>
parents: 1836
diff changeset
   167
3936
c344422ee38b 20674483 change Userland Python default version from 2.6 to 2.7
John Beck <John.Beck@Oracle.COM>
parents: 3864
diff changeset
   168
# The default version should go last.
c344422ee38b 20674483 change Userland Python default version from 2.6 to 2.7
John Beck <John.Beck@Oracle.COM>
parents: 3864
diff changeset
   169
PYTHON_VERSION =	2.7
4984
7145b15b7f0d PSARC 2014/190 Python 2.6 EOF
John Beck <John.Beck@Oracle.COM>
parents: 4955
diff changeset
   170
PYTHON2_VERSIONS =	2.7
4912
0b79e9575718 PSARC 2015/414 Python 3.5
John Beck <John.Beck@Oracle.COM>
parents: 4791
diff changeset
   171
PYTHON3_VERSIONS =	3.4 3.5
1907
446472de62e9 PSARC 2014/151 Python 3.4
John Beck <John.Beck@Oracle.COM>
parents: 1836
diff changeset
   172
PYTHON_VERSIONS =	$(PYTHON3_VERSIONS) $(PYTHON2_VERSIONS)
2
125cd5d2cd9e include gmake example
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
   173
34
d20b10eba317 prepare for zone based component builds
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 32
diff changeset
   174
BASS_O_MATIC =	$(WS_TOOLS)/bass-o-matic
d20b10eba317 prepare for zone based component builds
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 32
diff changeset
   175
94
e2364cad23ff 7019782 move tcsh to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 93
diff changeset
   176
CLONEY =	$(WS_TOOLS)/cloney
e2364cad23ff 7019782 move tcsh to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 93
diff changeset
   177
156
c2445b73a8b2 6949695 Would like to have perl 5.12 (use CONFIG_SHELL)
Craig Mohrman <Craig.Mohrman@oracle.com>
parents: 152
diff changeset
   178
CONFIG_SHELL =	/bin/bash
c2445b73a8b2 6949695 Would like to have perl 5.12 (use CONFIG_SHELL)
Craig Mohrman <Craig.Mohrman@oracle.com>
parents: 152
diff changeset
   179
34
d20b10eba317 prepare for zone based component builds
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 32
diff changeset
   180
PKG_REPO =	file:$(WS_REPO)
59
7500d63edb42 7012375 userland build and proto areas should be outside of unpacked source dirs
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 58
diff changeset
   181
1053
accc15fa8762 15878378 Auto-generation of Userland gate list - Phase 2
Rich Burridge <rich.burridge@oracle.com>
parents: 1038
diff changeset
   182
COMPONENT_SRC_NAME =	$(COMPONENT_NAME)
5682
94c0ca64c022 15558602 TCL_LD_SEARCH_FLAGS is wrongly defined in tclConfig.sh
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5678
diff changeset
   183
# Assume a component is categorized as a utility by default.
94c0ca64c022 15558602 TCL_LD_SEARCH_FLAGS is wrongly defined in tclConfig.sh
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5678
diff changeset
   184
COMPONENT_BUGDB=	utility/$(COMPONENT_NAME)
1053
accc15fa8762 15878378 Auto-generation of Userland gate list - Phase 2
Rich Burridge <rich.burridge@oracle.com>
parents: 1038
diff changeset
   185
1056
b2ec61db2a04 15845939 versionless python manifests
Danek Duvall <danek.duvall@oracle.com>
parents: 1053
diff changeset
   186
COMPONENT_DIR :=	$(shell pwd)
72
4c33a310f793 7015633 move gtar to userland
Petr Sumbera <petr.sumbera@oracle.com>
parents: 70
diff changeset
   187
SOURCE_DIR =	$(COMPONENT_DIR)/$(COMPONENT_SRC)
4c33a310f793 7015633 move gtar to userland
Petr Sumbera <petr.sumbera@oracle.com>
parents: 70
diff changeset
   188
BUILD_DIR =	$(COMPONENT_DIR)/build
59
7500d63edb42 7012375 userland build and proto areas should be outside of unpacked source dirs
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 58
diff changeset
   189
PROTO_DIR =	$(BUILD_DIR)/prototype/$(MACH)
2
125cd5d2cd9e include gmake example
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
   190
85
8098282b503b 7018226 move GNU screen to userland
Petr Sumbera <petr.sumbera@oracle.com>
parents: 82
diff changeset
   191
ETCDIR =	/etc
61
7684fe2a9eb5 7011958 some things lost during move to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 59
diff changeset
   192
USRDIR =	/usr
5682
94c0ca64c022 15558602 TCL_LD_SEARCH_FLAGS is wrongly defined in tclConfig.sh
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5678
diff changeset
   193
USRGNUDIR =	$(USRDIR)/gnu
61
7684fe2a9eb5 7011958 some things lost during move to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 59
diff changeset
   194
BINDIR =	/bin
220
3ff562b51ff5 7040638 CUPS (Common Unix Printing System) should move to Userland.
Jiri Sasek <Jiri.Sasek@Sun.COM>
parents: 219
diff changeset
   195
SBINDIR =	/sbin
61
7684fe2a9eb5 7011958 some things lost during move to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 59
diff changeset
   196
LIBDIR =	/lib
5125
34cc580c62c2 21029732 PKG_CONFIG_PATH should be included in CONFIGURE_ENV and BUILD_ENV
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5066
diff changeset
   197
VARDIR =	/var
61
7684fe2a9eb5 7011958 some things lost during move to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 59
diff changeset
   198
USRBINDIR =	$(USRDIR)/bin
990
6bfca1239ccb 7197062 Upgrade lua to 5.2.1
Srinivasa Sarva <Srinivasa.Sarva@oracle.com>
parents: 978
diff changeset
   199
USRBINDIR64 =	$(USRDIR)/bin/$(MACH64)
172
093198acf7d4 7018272 Move NTP to userland
Brian Utterback <Brian.Utterback@Oracle.COM>
parents: 170
diff changeset
   200
USRSBINDIR =	$(USRDIR)/sbin
61
7684fe2a9eb5 7011958 some things lost during move to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 59
diff changeset
   201
USRLIBDIR =	$(USRDIR)/lib
7684fe2a9eb5 7011958 some things lost during move to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 59
diff changeset
   202
USRSHAREDIR =	$(USRDIR)/share
220
3ff562b51ff5 7040638 CUPS (Common Unix Printing System) should move to Userland.
Jiri Sasek <Jiri.Sasek@Sun.COM>
parents: 219
diff changeset
   203
USRINCDIR =	$(USRDIR)/include
3ff562b51ff5 7040638 CUPS (Common Unix Printing System) should move to Userland.
Jiri Sasek <Jiri.Sasek@Sun.COM>
parents: 219
diff changeset
   204
USRSHARELOCALEDIR =	$(USRSHAREDIR)/locale
61
7684fe2a9eb5 7011958 some things lost during move to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 59
diff changeset
   205
USRSHAREMANDIR =	$(USRSHAREDIR)/man
172
093198acf7d4 7018272 Move NTP to userland
Brian Utterback <Brian.Utterback@Oracle.COM>
parents: 170
diff changeset
   206
USRSHAREDOCDIR =	$(USRSHAREDIR)/doc
5125
34cc580c62c2 21029732 PKG_CONFIG_PATH should be included in CONFIGURE_ENV and BUILD_ENV
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5066
diff changeset
   207
USRSHAREFONTSDIR =	$(USRSHAREDIR)/fonts
34cc580c62c2 21029732 PKG_CONFIG_PATH should be included in CONFIGURE_ENV and BUILD_ENV
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5066
diff changeset
   208
USRSHARETTFONTSDIR =	$(USRSHAREFONTSDIR)/TrueType
454
1ef5e4f29411 7008684 time zone zoneinfo package should move to Userland consolidation
sonam gupta - Sun Microsystems - Bangalore India <Sonam.Gupta@Sun.COM>
parents: 369
diff changeset
   209
USRSHARELIBDIR =	$(USRSHAREDIR)/lib
61
7684fe2a9eb5 7011958 some things lost during move to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 59
diff changeset
   210
USRSHAREMAN1DIR =	$(USRSHAREMANDIR)/man1
172
093198acf7d4 7018272 Move NTP to userland
Brian Utterback <Brian.Utterback@Oracle.COM>
parents: 170
diff changeset
   211
USRSHAREMAN1MDIR =	$(USRSHAREMANDIR)/man1m
61
7684fe2a9eb5 7011958 some things lost during move to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 59
diff changeset
   212
USRSHAREMAN3DIR =	$(USRSHAREMANDIR)/man3
152
f0ba422362c2 7030869 move git from sfw consolidation to userland consolidation
Craig Mohrman <Craig.Mohrman@oracle.com>
parents: 151
diff changeset
   213
USRSHAREMAN4DIR =	$(USRSHAREMANDIR)/man4
74
7e35801ce8b8 7016379 migrate elinks to userland
Kevin Crowe <Kevin.Crowe@oracle.com>
parents: 72
diff changeset
   214
USRSHAREMAN5DIR =	$(USRSHAREMANDIR)/man5
5682
94c0ca64c022 15558602 TCL_LD_SEARCH_FLAGS is wrongly defined in tclConfig.sh
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5678
diff changeset
   215
USRSHAREMAN8DIR =	$(USRSHAREMANDIR)/man8
61
7684fe2a9eb5 7011958 some things lost during move to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 59
diff changeset
   216
USRLIBDIR64 =	$(USRDIR)/lib/$(MACH64)
5682
94c0ca64c022 15558602 TCL_LD_SEARCH_FLAGS is wrongly defined in tclConfig.sh
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5678
diff changeset
   217
PROTOBINDIR =	$(PROTO_DIR)$(BINDIR)
94c0ca64c022 15558602 TCL_LD_SEARCH_FLAGS is wrongly defined in tclConfig.sh
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5678
diff changeset
   218
PROTOETCDIR =	$(PROTO_DIR)$(ETCDIR)
94c0ca64c022 15558602 TCL_LD_SEARCH_FLAGS is wrongly defined in tclConfig.sh
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5678
diff changeset
   219
PROTOETCSECDIR = $(PROTO_DIR)$(ETCDIR)/security
94c0ca64c022 15558602 TCL_LD_SEARCH_FLAGS is wrongly defined in tclConfig.sh
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5678
diff changeset
   220
PROTOUSRDIR =	$(PROTO_DIR)$(USRDIR)
94c0ca64c022 15558602 TCL_LD_SEARCH_FLAGS is wrongly defined in tclConfig.sh
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5678
diff changeset
   221
PROTOLIBDIR =	$(PROTO_DIR)$(LIBDIR)
5125
34cc580c62c2 21029732 PKG_CONFIG_PATH should be included in CONFIGURE_ENV and BUILD_ENV
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5066
diff changeset
   222
PROTOSVCMANIFESTDIR =	$(PROTOLIBDIR)/svc/manifest
34cc580c62c2 21029732 PKG_CONFIG_PATH should be included in CONFIGURE_ENV and BUILD_ENV
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5066
diff changeset
   223
PROTOSVCMETHODDIR =	$(PROTOLIBDIR)/svc/method
5682
94c0ca64c022 15558602 TCL_LD_SEARCH_FLAGS is wrongly defined in tclConfig.sh
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5678
diff changeset
   224
PROTOUSRBINDIR =	$(PROTO_DIR)$(USRBINDIR)
94c0ca64c022 15558602 TCL_LD_SEARCH_FLAGS is wrongly defined in tclConfig.sh
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5678
diff changeset
   225
PROTOUSRBINDIR64 =	$(PROTO_DIR)$(USRBINDIR64)
94c0ca64c022 15558602 TCL_LD_SEARCH_FLAGS is wrongly defined in tclConfig.sh
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5678
diff changeset
   226
PROTOUSRSBINDIR =	$(PROTO_DIR)$(USRSBINDIR)
94c0ca64c022 15558602 TCL_LD_SEARCH_FLAGS is wrongly defined in tclConfig.sh
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5678
diff changeset
   227
PROTOUSRLIBDIR =	$(PROTO_DIR)$(USRLIBDIR)
94c0ca64c022 15558602 TCL_LD_SEARCH_FLAGS is wrongly defined in tclConfig.sh
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5678
diff changeset
   228
PROTOUSRLIBDIR64 =	$(PROTO_DIR)$(USRLIBDIR64)
5125
34cc580c62c2 21029732 PKG_CONFIG_PATH should be included in CONFIGURE_ENV and BUILD_ENV
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5066
diff changeset
   229
PROTOPKGCONFIGDIR = 	$(PROTOUSRLIBDIR)/pkgconfig
34cc580c62c2 21029732 PKG_CONFIG_PATH should be included in CONFIGURE_ENV and BUILD_ENV
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5066
diff changeset
   230
PROTOPKGCONFIGDIR64 =	$(PROTOUSRLIBDIR64)/pkgconfig
5682
94c0ca64c022 15558602 TCL_LD_SEARCH_FLAGS is wrongly defined in tclConfig.sh
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5678
diff changeset
   231
PROTOUSRINCDIR =	$(PROTO_DIR)$(USRINCDIR)
94c0ca64c022 15558602 TCL_LD_SEARCH_FLAGS is wrongly defined in tclConfig.sh
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5678
diff changeset
   232
PROTOUSRSHAREDIR =	$(PROTO_DIR)$(USRSHAREDIR)
94c0ca64c022 15558602 TCL_LD_SEARCH_FLAGS is wrongly defined in tclConfig.sh
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5678
diff changeset
   233
PROTOUSRSHARELIBDIR =	$(PROTO_DIR)$(USRSHARELIBDIR)
94c0ca64c022 15558602 TCL_LD_SEARCH_FLAGS is wrongly defined in tclConfig.sh
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5678
diff changeset
   234
PROTOUSRSHAREDOCDIR =	$(PROTO_DIR)$(USRSHAREDOCDIR)
5125
34cc580c62c2 21029732 PKG_CONFIG_PATH should be included in CONFIGURE_ENV and BUILD_ENV
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5066
diff changeset
   235
PROTOUSRSHAREINFODIR =	$(PROTOUSRSHAREDIR)/info
5682
94c0ca64c022 15558602 TCL_LD_SEARCH_FLAGS is wrongly defined in tclConfig.sh
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5678
diff changeset
   236
PROTOUSRSHAREMANDIR =	$(PROTO_DIR)$(USRSHAREMANDIR)
94c0ca64c022 15558602 TCL_LD_SEARCH_FLAGS is wrongly defined in tclConfig.sh
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5678
diff changeset
   237
PROTOUSRSHAREMAN1DIR =	$(PROTO_DIR)$(USRSHAREMAN1DIR)
94c0ca64c022 15558602 TCL_LD_SEARCH_FLAGS is wrongly defined in tclConfig.sh
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5678
diff changeset
   238
PROTOUSRSHAREMAN1MDIR =	$(PROTO_DIR)$(USRSHAREMAN1MDIR)
94c0ca64c022 15558602 TCL_LD_SEARCH_FLAGS is wrongly defined in tclConfig.sh
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5678
diff changeset
   239
PROTOUSRSHAREMAN3DIR =	$(PROTO_DIR)$(USRSHAREMAN3DIR)
94c0ca64c022 15558602 TCL_LD_SEARCH_FLAGS is wrongly defined in tclConfig.sh
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5678
diff changeset
   240
PROTOUSRSHAREMAN4DIR =	$(PROTO_DIR)$(USRSHAREMAN4DIR)
94c0ca64c022 15558602 TCL_LD_SEARCH_FLAGS is wrongly defined in tclConfig.sh
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5678
diff changeset
   241
PROTOUSRSHAREMAN5DIR =	$(PROTO_DIR)$(USRSHAREMAN5DIR)
94c0ca64c022 15558602 TCL_LD_SEARCH_FLAGS is wrongly defined in tclConfig.sh
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5678
diff changeset
   242
PROTOUSRSHAREMAN8DIR =	$(PROTO_DIR)$(USRSHAREMAN8DIR)
94c0ca64c022 15558602 TCL_LD_SEARCH_FLAGS is wrongly defined in tclConfig.sh
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5678
diff changeset
   243
PROTOUSRSHARELOCALEDIR =	$(PROTO_DIR)$(USRSHARELOCALEDIR)
61
7684fe2a9eb5 7011958 some things lost during move to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 59
diff changeset
   244
5682
94c0ca64c022 15558602 TCL_LD_SEARCH_FLAGS is wrongly defined in tclConfig.sh
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5678
diff changeset
   245
GNUBIN =	$(USRGNUDIR)/bin
94c0ca64c022 15558602 TCL_LD_SEARCH_FLAGS is wrongly defined in tclConfig.sh
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5678
diff changeset
   246
GNULIB =	$(USRGNUDIR)/lib
94c0ca64c022 15558602 TCL_LD_SEARCH_FLAGS is wrongly defined in tclConfig.sh
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5678
diff changeset
   247
GNULIB64 =	$(USRGNUDIR)/lib/$(MACH64)
94c0ca64c022 15558602 TCL_LD_SEARCH_FLAGS is wrongly defined in tclConfig.sh
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5678
diff changeset
   248
GNUSHARE =	$(USRGNUDIR)/share
94c0ca64c022 15558602 TCL_LD_SEARCH_FLAGS is wrongly defined in tclConfig.sh
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5678
diff changeset
   249
GNUSHAREMAN =	$(USRGNUDIR)/share/man
94c0ca64c022 15558602 TCL_LD_SEARCH_FLAGS is wrongly defined in tclConfig.sh
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5678
diff changeset
   250
GNUSHAREMAN1 =	$(USRGNUDIR)/share/man/man1
94c0ca64c022 15558602 TCL_LD_SEARCH_FLAGS is wrongly defined in tclConfig.sh
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5678
diff changeset
   251
PROTOGNUBIN =	$(PROTO_DIR)$(GNUBIN)
94c0ca64c022 15558602 TCL_LD_SEARCH_FLAGS is wrongly defined in tclConfig.sh
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5678
diff changeset
   252
PROTOGNUSHARE =	$(PROTO_DIR)$(GNUSHARE)
94c0ca64c022 15558602 TCL_LD_SEARCH_FLAGS is wrongly defined in tclConfig.sh
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5678
diff changeset
   253
PROTOGNUSHAREMAN =	$(PROTO_DIR)$(GNUSHAREMAN)
94c0ca64c022 15558602 TCL_LD_SEARCH_FLAGS is wrongly defined in tclConfig.sh
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5678
diff changeset
   254
PROTOGNUSHAREMAN1 =	$(PROTO_DIR)$(GNUSHAREMAN1)
43
9f5ebe30300c switch to CBE sunstudio12.1 compilers
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 40
diff changeset
   255
16
33aaaec59991 update _DATE/_TIME compiler chatter reduction bits.
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 12
diff changeset
   256
# work around _TIME, _DATE, embedded date chatter in component builds
33aaaec59991 update _DATE/_TIME compiler chatter reduction bits.
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 12
diff changeset
   257
# to use, set TIME_CONSTANT in the component Makefile and add $(CONSTANT_TIME)
33aaaec59991 update _DATE/_TIME compiler chatter reduction bits.
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 12
diff changeset
   258
# to the appropriate {CONFIGURE|BUILD|INSTALL}_ENV
34
d20b10eba317 prepare for zone based component builds
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 32
diff changeset
   259
CONSTANT_TIME =		LD_PRELOAD_32=$(WS_TOOLS)/time-$(MACH32).so
d20b10eba317 prepare for zone based component builds
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 32
diff changeset
   260
CONSTANT_TIME +=	LD_PRELOAD_64=$(WS_TOOLS)/time-$(MACH64).so
16
33aaaec59991 update _DATE/_TIME compiler chatter reduction bits.
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 12
diff changeset
   261
CONSTANT_TIME +=	TIME_CONSTANT=$(TIME_CONSTANT)
6
20f80c019d73 add compiler date/time chatter reduction tools
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 2
diff changeset
   262
12
41aeb1fd8c2d Fix MACH32/MACH64 so more than one architecture can build in the same workspace
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 7
diff changeset
   263
# set MACH from uname -p to either sparc or i386
1056
b2ec61db2a04 15845939 versionless python manifests
Danek Duvall <danek.duvall@oracle.com>
parents: 1053
diff changeset
   264
MACH :=		$(shell uname -p)
12
41aeb1fd8c2d Fix MACH32/MACH64 so more than one architecture can build in the same workspace
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 7
diff changeset
   265
41aeb1fd8c2d Fix MACH32/MACH64 so more than one architecture can build in the same workspace
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 7
diff changeset
   266
# set MACH32 from MACH to either sparcv7 or i86
41aeb1fd8c2d Fix MACH32/MACH64 so more than one architecture can build in the same workspace
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 7
diff changeset
   267
MACH32_1 =	$(MACH:sparc=sparcv7)
41aeb1fd8c2d Fix MACH32/MACH64 so more than one architecture can build in the same workspace
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 7
diff changeset
   268
MACH32 =	$(MACH32_1:i386=i86)
41aeb1fd8c2d Fix MACH32/MACH64 so more than one architecture can build in the same workspace
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 7
diff changeset
   269
41aeb1fd8c2d Fix MACH32/MACH64 so more than one architecture can build in the same workspace
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 7
diff changeset
   270
# set MACH64 from MACH to either sparcv9 or amd64
41aeb1fd8c2d Fix MACH32/MACH64 so more than one architecture can build in the same workspace
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 7
diff changeset
   271
MACH64_1 =	$(MACH:sparc=sparcv9)
41aeb1fd8c2d Fix MACH32/MACH64 so more than one architecture can build in the same workspace
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 7
diff changeset
   272
MACH64 =	$(MACH64_1:i386=amd64)
41aeb1fd8c2d Fix MACH32/MACH64 so more than one architecture can build in the same workspace
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 7
diff changeset
   273
4087
03c5ee3f6307 20860002 Userland should have *_NO_ARCH macros
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 4069
diff changeset
   274
CONFIGURE_NO_ARCH =	$(BUILD_DIR_NO_ARCH)/.configured
369
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents: 327
diff changeset
   275
CONFIGURE_32 =		$(BUILD_DIR_32)/.configured
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents: 327
diff changeset
   276
CONFIGURE_64 =		$(BUILD_DIR_64)/.configured
2032
916ced318d1e 19317151 libxml2 needs Python 3 module
John Beck <John.Beck@Oracle.COM>
parents: 2022
diff changeset
   277
CONFIGURE_32_and_64 =	$(CONFIGURE_32) $(CONFIGURE_64)
369
cc8c00719da9 PSARC 2011/165 OFUV update of existing components
Boris Chiu <Boris.Chiu@Sun.COM>
parents: 327
diff changeset
   278
4087
03c5ee3f6307 20860002 Userland should have *_NO_ARCH macros
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 4069
diff changeset
   279
BUILD_DIR_NO_ARCH =	$(BUILD_DIR)/$(MACH)
61
7684fe2a9eb5 7011958 some things lost during move to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 59
diff changeset
   280
BUILD_DIR_32 =		$(BUILD_DIR)/$(MACH32)
7684fe2a9eb5 7011958 some things lost during move to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 59
diff changeset
   281
BUILD_DIR_64 =		$(BUILD_DIR)/$(MACH64)
7684fe2a9eb5 7011958 some things lost during move to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 59
diff changeset
   282
4087
03c5ee3f6307 20860002 Userland should have *_NO_ARCH macros
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 4069
diff changeset
   283
BUILD_NO_ARCH =		$(BUILD_DIR_NO_ARCH)/.built
61
7684fe2a9eb5 7011958 some things lost during move to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 59
diff changeset
   284
BUILD_32 =		$(BUILD_DIR_32)/.built
7684fe2a9eb5 7011958 some things lost during move to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 59
diff changeset
   285
BUILD_64 =		$(BUILD_DIR_64)/.built
12
41aeb1fd8c2d Fix MACH32/MACH64 so more than one architecture can build in the same workspace
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 7
diff changeset
   286
BUILD_32_and_64 =	$(BUILD_32) $(BUILD_64)
4087
03c5ee3f6307 20860002 Userland should have *_NO_ARCH macros
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 4069
diff changeset
   287
# NO_ARCH uses BITS=32 because some path setting macros use $(BITS)
03c5ee3f6307 20860002 Userland should have *_NO_ARCH macros
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 4069
diff changeset
   288
$(BUILD_DIR_NO_ARCH)/.built:	BITS=32
181
87e11e685b1f 7003927 userland should postprocess packaged files
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 177
diff changeset
   289
$(BUILD_DIR_32)/.built:		BITS=32
87e11e685b1f 7003927 userland should postprocess packaged files
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 177
diff changeset
   290
$(BUILD_DIR_64)/.built:		BITS=64
12
41aeb1fd8c2d Fix MACH32/MACH64 so more than one architecture can build in the same workspace
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 7
diff changeset
   291
4087
03c5ee3f6307 20860002 Userland should have *_NO_ARCH macros
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 4069
diff changeset
   292
INSTALL_NO_ARCH =	$(BUILD_DIR_NO_ARCH)/.installed
61
7684fe2a9eb5 7011958 some things lost during move to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 59
diff changeset
   293
INSTALL_32 =		$(BUILD_DIR_32)/.installed
7684fe2a9eb5 7011958 some things lost during move to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 59
diff changeset
   294
INSTALL_64 =		$(BUILD_DIR_64)/.installed
12
41aeb1fd8c2d Fix MACH32/MACH64 so more than one architecture can build in the same workspace
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 7
diff changeset
   295
INSTALL_32_and_64 =	$(INSTALL_32) $(INSTALL_64)
4087
03c5ee3f6307 20860002 Userland should have *_NO_ARCH macros
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 4069
diff changeset
   296
$(BUILD_DIR_NO_ARCH)/.installed:  BITS=32
279
c6af843791cd 7044076 move sudo from sfw to userland
April Chin <april.chin@oracle.com>
parents: 277
diff changeset
   297
$(BUILD_DIR_32)/.installed:       BITS=32
c6af843791cd 7044076 move sudo from sfw to userland
April Chin <april.chin@oracle.com>
parents: 277
diff changeset
   298
$(BUILD_DIR_64)/.installed:       BITS=64
181
87e11e685b1f 7003927 userland should postprocess packaged files
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 177
diff changeset
   299
87e11e685b1f 7003927 userland should postprocess packaged files
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 177
diff changeset
   300
# set the default target for installation of the component
87e11e685b1f 7003927 userland should postprocess packaged files
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 177
diff changeset
   301
COMPONENT_INSTALL_TARGETS =	install
2
125cd5d2cd9e include gmake example
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
   302
3864
77a09e73626b 20548962 generated test files should be in the build directory for clobbering time
Rich Burridge <rich.burridge@oracle.com>
parents: 3817
diff changeset
   303
# set the default build test results directory
77a09e73626b 20548962 generated test files should be in the build directory for clobbering time
Rich Burridge <rich.burridge@oracle.com>
parents: 3817
diff changeset
   304
COMPONENT_TEST_BUILD_DIR =	$(BUILD_DIR)/test/$(MACH$(BITS))
77a09e73626b 20548962 generated test files should be in the build directory for clobbering time
Rich Burridge <rich.burridge@oracle.com>
parents: 3817
diff changeset
   305
77a09e73626b 20548962 generated test files should be in the build directory for clobbering time
Rich Burridge <rich.burridge@oracle.com>
parents: 3817
diff changeset
   306
# set the default master test results directory
3558
2cec274f17fc 20222479 Need a method to compare test results against a master in Userland
Rich Burridge <rich.burridge@oracle.com>
parents: 2204
diff changeset
   307
COMPONENT_TEST_RESULTS_DIR =	$(COMPONENT_DIR)/test
4091
fca9099ab398 20808505 gmake system-test
John Beck <John.Beck@Oracle.COM>
parents: 4087
diff changeset
   308
COMPONENT_SYSTEM_TEST_RESULTS_DIR =	$(COMPONENT_DIR)/test
3558
2cec274f17fc 20222479 Need a method to compare test results against a master in Userland
Rich Burridge <rich.burridge@oracle.com>
parents: 2204
diff changeset
   309
2cec274f17fc 20222479 Need a method to compare test results against a master in Userland
Rich Burridge <rich.burridge@oracle.com>
parents: 2204
diff changeset
   310
# set the default master test results file
2cec274f17fc 20222479 Need a method to compare test results against a master in Userland
Rich Burridge <rich.burridge@oracle.com>
parents: 2204
diff changeset
   311
COMPONENT_TEST_MASTER =		$(COMPONENT_TEST_RESULTS_DIR)/results-$(BITS).master
2cec274f17fc 20222479 Need a method to compare test results against a master in Userland
Rich Burridge <rich.burridge@oracle.com>
parents: 2204
diff changeset
   312
2cec274f17fc 20222479 Need a method to compare test results against a master in Userland
Rich Burridge <rich.burridge@oracle.com>
parents: 2204
diff changeset
   313
# set the default test results output file
3864
77a09e73626b 20548962 generated test files should be in the build directory for clobbering time
Rich Burridge <rich.burridge@oracle.com>
parents: 3817
diff changeset
   314
COMPONENT_TEST_OUTPUT =		$(COMPONENT_TEST_BUILD_DIR)/test-$(BITS)-results
3558
2cec274f17fc 20222479 Need a method to compare test results against a master in Userland
Rich Burridge <rich.burridge@oracle.com>
parents: 2204
diff changeset
   315
2cec274f17fc 20222479 Need a method to compare test results against a master in Userland
Rich Burridge <rich.burridge@oracle.com>
parents: 2204
diff changeset
   316
# set the default test results comparison diffs file
3864
77a09e73626b 20548962 generated test files should be in the build directory for clobbering time
Rich Burridge <rich.burridge@oracle.com>
parents: 3817
diff changeset
   317
COMPONENT_TEST_DIFFS =		$(COMPONENT_TEST_BUILD_DIR)/test-$(BITS)-diffs
3558
2cec274f17fc 20222479 Need a method to compare test results against a master in Userland
Rich Burridge <rich.burridge@oracle.com>
parents: 2204
diff changeset
   318
2cec274f17fc 20222479 Need a method to compare test results against a master in Userland
Rich Burridge <rich.burridge@oracle.com>
parents: 2204
diff changeset
   319
# set the default test snapshot file
3864
77a09e73626b 20548962 generated test files should be in the build directory for clobbering time
Rich Burridge <rich.burridge@oracle.com>
parents: 3817
diff changeset
   320
COMPONENT_TEST_SNAPSHOT =	$(COMPONENT_TEST_BUILD_DIR)/results-$(BITS).snapshot
3558
2cec274f17fc 20222479 Need a method to compare test results against a master in Userland
Rich Burridge <rich.burridge@oracle.com>
parents: 2204
diff changeset
   321
3747
d2f2bcf116e8 20441004 Python master test results
John Beck <John.Beck@Oracle.COM>
parents: 3701
diff changeset
   322
# Normally $(GSED) is simplest, but some results files need more power.
d2f2bcf116e8 20441004 Python master test results
John Beck <John.Beck@Oracle.COM>
parents: 3701
diff changeset
   323
COMPONENT_TEST_TRANSFORMER =	$(GSED)
d2f2bcf116e8 20441004 Python master test results
John Beck <John.Beck@Oracle.COM>
parents: 3701
diff changeset
   324
3558
2cec274f17fc 20222479 Need a method to compare test results against a master in Userland
Rich Burridge <rich.burridge@oracle.com>
parents: 2204
diff changeset
   325
# The set of default transforms to be applied to the test results to try
2cec274f17fc 20222479 Need a method to compare test results against a master in Userland
Rich Burridge <rich.burridge@oracle.com>
parents: 2204
diff changeset
   326
# to normalize them.
2cec274f17fc 20222479 Need a method to compare test results against a master in Userland
Rich Burridge <rich.burridge@oracle.com>
parents: 2204
diff changeset
   327
COMPONENT_TEST_TRANSFORMS = \
2cec274f17fc 20222479 Need a method to compare test results against a master in Userland
Rich Burridge <rich.burridge@oracle.com>
parents: 2204
diff changeset
   328
	'-e "s|$(@D)|\\$$(@D)|g" ' \
2cec274f17fc 20222479 Need a method to compare test results against a master in Userland
Rich Burridge <rich.burridge@oracle.com>
parents: 2204
diff changeset
   329
	'-e "s|$(PERL)|\\$$(PERL)|g" ' \
2cec274f17fc 20222479 Need a method to compare test results against a master in Userland
Rich Burridge <rich.burridge@oracle.com>
parents: 2204
diff changeset
   330
	'-e "s|$(SOURCE_DIR)|\\$$(SOURCE_DIR)|g" '
2cec274f17fc 20222479 Need a method to compare test results against a master in Userland
Rich Burridge <rich.burridge@oracle.com>
parents: 2204
diff changeset
   331
2cec274f17fc 20222479 Need a method to compare test results against a master in Userland
Rich Burridge <rich.burridge@oracle.com>
parents: 2204
diff changeset
   332
# set the default commands used to generate the file containing the set
2cec274f17fc 20222479 Need a method to compare test results against a master in Userland
Rich Burridge <rich.burridge@oracle.com>
parents: 2204
diff changeset
   333
# of transforms to be applied to the test results to try to normalize them.
2cec274f17fc 20222479 Need a method to compare test results against a master in Userland
Rich Burridge <rich.burridge@oracle.com>
parents: 2204
diff changeset
   334
COMPONENT_TEST_CREATE_TRANSFORMS = \
4288
cac9ddca8925 20974117 gmake *test output could be slightly less wall-of-text scary
Stacy Yeh <stacy.yeh@oracle.com>
parents: 4272
diff changeset
   335
	@if [ -e $(COMPONENT_TEST_MASTER) ]; \
3558
2cec274f17fc 20222479 Need a method to compare test results against a master in Userland
Rich Burridge <rich.burridge@oracle.com>
parents: 2204
diff changeset
   336
	then \
2cec274f17fc 20222479 Need a method to compare test results against a master in Userland
Rich Burridge <rich.burridge@oracle.com>
parents: 2204
diff changeset
   337
		print "\#!/bin/sh" > $(COMPONENT_TEST_TRANSFORM_CMD); \
3747
d2f2bcf116e8 20441004 Python master test results
John Beck <John.Beck@Oracle.COM>
parents: 3701
diff changeset
   338
        	print '$(COMPONENT_TEST_TRANSFORMER) ' \
3558
2cec274f17fc 20222479 Need a method to compare test results against a master in Userland
Rich Burridge <rich.burridge@oracle.com>
parents: 2204
diff changeset
   339
			$(COMPONENT_TEST_TRANSFORMS) \
2cec274f17fc 20222479 Need a method to compare test results against a master in Userland
Rich Burridge <rich.burridge@oracle.com>
parents: 2204
diff changeset
   340
                	' \\' >> $(COMPONENT_TEST_TRANSFORM_CMD); \
2cec274f17fc 20222479 Need a method to compare test results against a master in Userland
Rich Burridge <rich.burridge@oracle.com>
parents: 2204
diff changeset
   341
        	print '$(COMPONENT_TEST_OUTPUT) \\' \
2cec274f17fc 20222479 Need a method to compare test results against a master in Userland
Rich Burridge <rich.burridge@oracle.com>
parents: 2204
diff changeset
   342
                	>> $(COMPONENT_TEST_TRANSFORM_CMD); \
2cec274f17fc 20222479 Need a method to compare test results against a master in Userland
Rich Burridge <rich.burridge@oracle.com>
parents: 2204
diff changeset
   343
        	print '> $(COMPONENT_TEST_SNAPSHOT)' \
2cec274f17fc 20222479 Need a method to compare test results against a master in Userland
Rich Burridge <rich.burridge@oracle.com>
parents: 2204
diff changeset
   344
                	>> $(COMPONENT_TEST_TRANSFORM_CMD); \
3750
60902b5c3237 20217381 libevent should run its tests
April Chin <april.chin@oracle.com>
parents: 3747
diff changeset
   345
	else \
60902b5c3237 20217381 libevent should run its tests
April Chin <april.chin@oracle.com>
parents: 3747
diff changeset
   346
		print 'Cannot find $(COMPONENT_TEST_MASTER)'; \
60902b5c3237 20217381 libevent should run its tests
April Chin <april.chin@oracle.com>
parents: 3747
diff changeset
   347
		exit 2; \
3558
2cec274f17fc 20222479 Need a method to compare test results against a master in Userland
Rich Burridge <rich.burridge@oracle.com>
parents: 2204
diff changeset
   348
	fi
2cec274f17fc 20222479 Need a method to compare test results against a master in Userland
Rich Burridge <rich.burridge@oracle.com>
parents: 2204
diff changeset
   349
2cec274f17fc 20222479 Need a method to compare test results against a master in Userland
Rich Burridge <rich.burridge@oracle.com>
parents: 2204
diff changeset
   350
# set the default command for performing any test result munging
3864
77a09e73626b 20548962 generated test files should be in the build directory for clobbering time
Rich Burridge <rich.burridge@oracle.com>
parents: 3817
diff changeset
   351
COMPONENT_TEST_TRANSFORM_CMD =	$(COMPONENT_TEST_BUILD_DIR)/transform-$(BITS)-results
3558
2cec274f17fc 20222479 Need a method to compare test results against a master in Userland
Rich Burridge <rich.burridge@oracle.com>
parents: 2204
diff changeset
   352
2cec274f17fc 20222479 Need a method to compare test results against a master in Userland
Rich Burridge <rich.burridge@oracle.com>
parents: 2204
diff changeset
   353
# set the default operation to run to perform test result normalization
2cec274f17fc 20222479 Need a method to compare test results against a master in Userland
Rich Burridge <rich.burridge@oracle.com>
parents: 2204
diff changeset
   354
COMPONENT_TEST_PERFORM_TRANSFORM = \
4288
cac9ddca8925 20974117 gmake *test output could be slightly less wall-of-text scary
Stacy Yeh <stacy.yeh@oracle.com>
parents: 4272
diff changeset
   355
	@if [ -e $(COMPONENT_TEST_MASTER) ]; \
3558
2cec274f17fc 20222479 Need a method to compare test results against a master in Userland
Rich Burridge <rich.burridge@oracle.com>
parents: 2204
diff changeset
   356
	then \
2cec274f17fc 20222479 Need a method to compare test results against a master in Userland
Rich Burridge <rich.burridge@oracle.com>
parents: 2204
diff changeset
   357
		$(SHELL) $(COMPONENT_TEST_TRANSFORM_CMD); \
3750
60902b5c3237 20217381 libevent should run its tests
April Chin <april.chin@oracle.com>
parents: 3747
diff changeset
   358
	else \
60902b5c3237 20217381 libevent should run its tests
April Chin <april.chin@oracle.com>
parents: 3747
diff changeset
   359
		print 'Cannot find $(COMPONENT_TEST_MASTER)'; \
60902b5c3237 20217381 libevent should run its tests
April Chin <april.chin@oracle.com>
parents: 3747
diff changeset
   360
		exit 2; \
3558
2cec274f17fc 20222479 Need a method to compare test results against a master in Userland
Rich Burridge <rich.burridge@oracle.com>
parents: 2204
diff changeset
   361
	fi
2cec274f17fc 20222479 Need a method to compare test results against a master in Userland
Rich Burridge <rich.burridge@oracle.com>
parents: 2204
diff changeset
   362
2cec274f17fc 20222479 Need a method to compare test results against a master in Userland
Rich Burridge <rich.burridge@oracle.com>
parents: 2204
diff changeset
   363
# set the default command used to compare the master results with the snapshot
2cec274f17fc 20222479 Need a method to compare test results against a master in Userland
Rich Burridge <rich.burridge@oracle.com>
parents: 2204
diff changeset
   364
COMPONENT_TEST_COMPARE_CMD =	$(GDIFF) -uN
2cec274f17fc 20222479 Need a method to compare test results against a master in Userland
Rich Burridge <rich.burridge@oracle.com>
parents: 2204
diff changeset
   365
2cec274f17fc 20222479 Need a method to compare test results against a master in Userland
Rich Burridge <rich.burridge@oracle.com>
parents: 2204
diff changeset
   366
# set the default way that master and snapshot test results are compared
2cec274f17fc 20222479 Need a method to compare test results against a master in Userland
Rich Burridge <rich.burridge@oracle.com>
parents: 2204
diff changeset
   367
COMPONENT_TEST_COMPARE = \
4288
cac9ddca8925 20974117 gmake *test output could be slightly less wall-of-text scary
Stacy Yeh <stacy.yeh@oracle.com>
parents: 4272
diff changeset
   368
	@if [ -e $(COMPONENT_TEST_MASTER) ]; \
3558
2cec274f17fc 20222479 Need a method to compare test results against a master in Userland
Rich Burridge <rich.burridge@oracle.com>
parents: 2204
diff changeset
   369
	then \
2cec274f17fc 20222479 Need a method to compare test results against a master in Userland
Rich Burridge <rich.burridge@oracle.com>
parents: 2204
diff changeset
   370
		$(COMPONENT_TEST_COMPARE_CMD) \
2cec274f17fc 20222479 Need a method to compare test results against a master in Userland
Rich Burridge <rich.burridge@oracle.com>
parents: 2204
diff changeset
   371
			$(COMPONENT_TEST_MASTER) $(COMPONENT_TEST_SNAPSHOT) \
2cec274f17fc 20222479 Need a method to compare test results against a master in Userland
Rich Burridge <rich.burridge@oracle.com>
parents: 2204
diff changeset
   372
			> $(COMPONENT_TEST_DIFFS); \
2cec274f17fc 20222479 Need a method to compare test results against a master in Userland
Rich Burridge <rich.burridge@oracle.com>
parents: 2204
diff changeset
   373
		print "Test results in $(COMPONENT_TEST_OUTPUT)"; \
2cec274f17fc 20222479 Need a method to compare test results against a master in Userland
Rich Burridge <rich.burridge@oracle.com>
parents: 2204
diff changeset
   374
		if [ -s $(COMPONENT_TEST_DIFFS) ]; \
2cec274f17fc 20222479 Need a method to compare test results against a master in Userland
Rich Burridge <rich.burridge@oracle.com>
parents: 2204
diff changeset
   375
		then \
2cec274f17fc 20222479 Need a method to compare test results against a master in Userland
Rich Burridge <rich.burridge@oracle.com>
parents: 2204
diff changeset
   376
			print "Differences found."; \
2cec274f17fc 20222479 Need a method to compare test results against a master in Userland
Rich Burridge <rich.burridge@oracle.com>
parents: 2204
diff changeset
   377
			$(CAT) $(COMPONENT_TEST_DIFFS); \
2cec274f17fc 20222479 Need a method to compare test results against a master in Userland
Rich Burridge <rich.burridge@oracle.com>
parents: 2204
diff changeset
   378
			exit 2; \
2cec274f17fc 20222479 Need a method to compare test results against a master in Userland
Rich Burridge <rich.burridge@oracle.com>
parents: 2204
diff changeset
   379
		else \
2cec274f17fc 20222479 Need a method to compare test results against a master in Userland
Rich Burridge <rich.burridge@oracle.com>
parents: 2204
diff changeset
   380
			print "No differences found."; \
2cec274f17fc 20222479 Need a method to compare test results against a master in Userland
Rich Burridge <rich.burridge@oracle.com>
parents: 2204
diff changeset
   381
		fi \
3750
60902b5c3237 20217381 libevent should run its tests
April Chin <april.chin@oracle.com>
parents: 3747
diff changeset
   382
	else \
60902b5c3237 20217381 libevent should run its tests
April Chin <april.chin@oracle.com>
parents: 3747
diff changeset
   383
		print 'Cannot find $(COMPONENT_TEST_MASTER)'; \
60902b5c3237 20217381 libevent should run its tests
April Chin <april.chin@oracle.com>
parents: 3747
diff changeset
   384
		exit 2; \
3558
2cec274f17fc 20222479 Need a method to compare test results against a master in Userland
Rich Burridge <rich.burridge@oracle.com>
parents: 2204
diff changeset
   385
	fi
181
87e11e685b1f 7003927 userland should postprocess packaged files
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 177
diff changeset
   386
2164
b580bc10e31a 19824924 Various Userland component test: Makefile targets should be standardized
Rich Burridge <rich.burridge@oracle.com>
parents: 2106
diff changeset
   387
# set the default env command to use for test of the component
b580bc10e31a 19824924 Various Userland component test: Makefile targets should be standardized
Rich Burridge <rich.burridge@oracle.com>
parents: 2106
diff changeset
   388
COMPONENT_TEST_ENV_CMD =        $(ENV)
4091
fca9099ab398 20808505 gmake system-test
John Beck <John.Beck@Oracle.COM>
parents: 4087
diff changeset
   389
COMPONENT_SYSTEM_TEST_ENV_CMD =	$(ENV)
2164
b580bc10e31a 19824924 Various Userland component test: Makefile targets should be standardized
Rich Burridge <rich.burridge@oracle.com>
parents: 2106
diff changeset
   390
2106
adb848b3a7d4 19535379 lua's self tests are a bit of a mess
Rich Burridge <rich.burridge@oracle.com>
parents: 2060
diff changeset
   391
# set the default command to use for test of the component
adb848b3a7d4 19535379 lua's self tests are a bit of a mess
Rich Burridge <rich.burridge@oracle.com>
parents: 2060
diff changeset
   392
COMPONENT_TEST_CMD =		$(GMAKE)
4091
fca9099ab398 20808505 gmake system-test
John Beck <John.Beck@Oracle.COM>
parents: 4087
diff changeset
   393
COMPONENT_SYSTEM_TEST_CMD =	$(GMAKE)
2106
adb848b3a7d4 19535379 lua's self tests are a bit of a mess
Rich Burridge <rich.burridge@oracle.com>
parents: 2060
diff changeset
   394
181
87e11e685b1f 7003927 userland should postprocess packaged files
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 177
diff changeset
   395
# set the default target for test of the component
87e11e685b1f 7003927 userland should postprocess packaged files
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 177
diff changeset
   396
COMPONENT_TEST_TARGETS =	check
4091
fca9099ab398 20808505 gmake system-test
John Beck <John.Beck@Oracle.COM>
parents: 4087
diff changeset
   397
COMPONENT_SYSTEM_TEST_TARGETS =	check
99
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   398
2022
d590db614c66 PSARC 2014/156 doxygen version 1.8.7
Rich Burridge <rich.burridge@oracle.com>
parents: 2010
diff changeset
   399
# set the default directory for test of the component
d590db614c66 PSARC 2014/156 doxygen version 1.8.7
Rich Burridge <rich.burridge@oracle.com>
parents: 2010
diff changeset
   400
COMPONENT_TEST_DIR =		$(@D)
4091
fca9099ab398 20808505 gmake system-test
John Beck <John.Beck@Oracle.COM>
parents: 4087
diff changeset
   401
COMPONENT_SYSTEM_TEST_DIR =	$(@D)
2022
d590db614c66 PSARC 2014/156 doxygen version 1.8.7
Rich Burridge <rich.burridge@oracle.com>
parents: 2010
diff changeset
   402
3558
2cec274f17fc 20222479 Need a method to compare test results against a master in Userland
Rich Burridge <rich.burridge@oracle.com>
parents: 2204
diff changeset
   403
# determine the type of tests we want to run.
4091
fca9099ab398 20808505 gmake system-test
John Beck <John.Beck@Oracle.COM>
parents: 4087
diff changeset
   404
ifeq ($(strip $(wildcard $(COMPONENT_SYSTEM_TEST_RESULTS_DIR)/results-*.master)),)
fca9099ab398 20808505 gmake system-test
John Beck <John.Beck@Oracle.COM>
parents: 4087
diff changeset
   405
SYSTEM_TEST_NO_ARCH =		$(BUILD_DIR_NO_ARCH)/.system-tested
fca9099ab398 20808505 gmake system-test
John Beck <John.Beck@Oracle.COM>
parents: 4087
diff changeset
   406
SYSTEM_TEST_32 =		$(BUILD_DIR_32)/.system-tested
fca9099ab398 20808505 gmake system-test
John Beck <John.Beck@Oracle.COM>
parents: 4087
diff changeset
   407
SYSTEM_TEST_64 =		$(BUILD_DIR_64)/.system-tested
fca9099ab398 20808505 gmake system-test
John Beck <John.Beck@Oracle.COM>
parents: 4087
diff changeset
   408
else
fca9099ab398 20808505 gmake system-test
John Beck <John.Beck@Oracle.COM>
parents: 4087
diff changeset
   409
SYSTEM_TEST_NO_ARCH =		$(BUILD_DIR_NO_ARCH)/.system-tested-and-compared
fca9099ab398 20808505 gmake system-test
John Beck <John.Beck@Oracle.COM>
parents: 4087
diff changeset
   410
SYSTEM_TEST_32 =		$(BUILD_DIR_32)/.system-tested-and-compared
fca9099ab398 20808505 gmake system-test
John Beck <John.Beck@Oracle.COM>
parents: 4087
diff changeset
   411
SYSTEM_TEST_64 =		$(BUILD_DIR_64)/.system-tested-and-compared
fca9099ab398 20808505 gmake system-test
John Beck <John.Beck@Oracle.COM>
parents: 4087
diff changeset
   412
endif
4206
a24a2855075c 20974465 Two "gmake system-test" infrastructure fixes plus 3 components with system tests
Rich Burridge <rich.burridge@oracle.com>
parents: 4202
diff changeset
   413
SYSTEM_TEST_32_and_64 =	$(SYSTEM_TEST_32) $(SYSTEM_TEST_64)
3558
2cec274f17fc 20222479 Need a method to compare test results against a master in Userland
Rich Burridge <rich.burridge@oracle.com>
parents: 2204
diff changeset
   414
ifeq ($(strip $(wildcard $(COMPONENT_TEST_RESULTS_DIR)/results-*.master)),)
4087
03c5ee3f6307 20860002 Userland should have *_NO_ARCH macros
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 4069
diff changeset
   415
TEST_NO_ARCH =		$(BUILD_DIR_NO_ARCH)/.tested
3558
2cec274f17fc 20222479 Need a method to compare test results against a master in Userland
Rich Burridge <rich.burridge@oracle.com>
parents: 2204
diff changeset
   416
TEST_32 =		$(BUILD_DIR_32)/.tested
2cec274f17fc 20222479 Need a method to compare test results against a master in Userland
Rich Burridge <rich.burridge@oracle.com>
parents: 2204
diff changeset
   417
TEST_64 =		$(BUILD_DIR_64)/.tested
2cec274f17fc 20222479 Need a method to compare test results against a master in Userland
Rich Burridge <rich.burridge@oracle.com>
parents: 2204
diff changeset
   418
else
4087
03c5ee3f6307 20860002 Userland should have *_NO_ARCH macros
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 4069
diff changeset
   419
TEST_NO_ARCH =		$(BUILD_DIR_NO_ARCH)/.tested-and-compared
3558
2cec274f17fc 20222479 Need a method to compare test results against a master in Userland
Rich Burridge <rich.burridge@oracle.com>
parents: 2204
diff changeset
   420
TEST_32 =		$(BUILD_DIR_32)/.tested-and-compared
2cec274f17fc 20222479 Need a method to compare test results against a master in Userland
Rich Burridge <rich.burridge@oracle.com>
parents: 2204
diff changeset
   421
TEST_64 =		$(BUILD_DIR_64)/.tested-and-compared
2cec274f17fc 20222479 Need a method to compare test results against a master in Userland
Rich Burridge <rich.burridge@oracle.com>
parents: 2204
diff changeset
   422
endif
2cec274f17fc 20222479 Need a method to compare test results against a master in Userland
Rich Burridge <rich.burridge@oracle.com>
parents: 2204
diff changeset
   423
TEST_32_and_64 =	$(TEST_32) $(TEST_64)
3701
2c4a1656e035 20191770 allow exclusion of components for "gmake test" at the top level
April Chin <april.chin@oracle.com>
parents: 3558
diff changeset
   424
2c4a1656e035 20191770 allow exclusion of components for "gmake test" at the top level
April Chin <april.chin@oracle.com>
parents: 3558
diff changeset
   425
# When running tests at the top level, skip those tests,
2c4a1656e035 20191770 allow exclusion of components for "gmake test" at the top level
April Chin <april.chin@oracle.com>
parents: 3558
diff changeset
   426
# by redefining the above TEST_* targets,
2c4a1656e035 20191770 allow exclusion of components for "gmake test" at the top level
April Chin <april.chin@oracle.com>
parents: 3558
diff changeset
   427
# when a component Makefile includes $(SKIP_TEST_AT_TOP_LEVEL).
2c4a1656e035 20191770 allow exclusion of components for "gmake test" at the top level
April Chin <april.chin@oracle.com>
parents: 3558
diff changeset
   428
# It's done in separate skip-test.mk file, to allow inclusion of 
2c4a1656e035 20191770 allow exclusion of components for "gmake test" at the top level
April Chin <april.chin@oracle.com>
parents: 3558
diff changeset
   429
# a multi-line ifdef statement which is evaluated at the component
2c4a1656e035 20191770 allow exclusion of components for "gmake test" at the top level
April Chin <april.chin@oracle.com>
parents: 3558
diff changeset
   430
# Makefile level
2c4a1656e035 20191770 allow exclusion of components for "gmake test" at the top level
April Chin <april.chin@oracle.com>
parents: 3558
diff changeset
   431
2c4a1656e035 20191770 allow exclusion of components for "gmake test" at the top level
April Chin <april.chin@oracle.com>
parents: 3558
diff changeset
   432
SKIP_TEST_AT_TOP_LEVEL = $(eval include $(WS_MAKE_RULES)/skip-test.mk)
2c4a1656e035 20191770 allow exclusion of components for "gmake test" at the top level
April Chin <april.chin@oracle.com>
parents: 3558
diff changeset
   433
4091
fca9099ab398 20808505 gmake system-test
John Beck <John.Beck@Oracle.COM>
parents: 4087
diff changeset
   434
$(BUILD_DIR_NO_ARCH)/.system-tested:			BITS=32
fca9099ab398 20808505 gmake system-test
John Beck <John.Beck@Oracle.COM>
parents: 4087
diff changeset
   435
$(BUILD_DIR_32)/.system-tested:				BITS=32
fca9099ab398 20808505 gmake system-test
John Beck <John.Beck@Oracle.COM>
parents: 4087
diff changeset
   436
$(BUILD_DIR_64)/.system-tested:				BITS=64
fca9099ab398 20808505 gmake system-test
John Beck <John.Beck@Oracle.COM>
parents: 4087
diff changeset
   437
$(BUILD_DIR_NO_ARCH)/.system-tested-and-compared:	BITS=32
fca9099ab398 20808505 gmake system-test
John Beck <John.Beck@Oracle.COM>
parents: 4087
diff changeset
   438
$(BUILD_DIR_32)/.system-tested-and-compared:		BITS=32
fca9099ab398 20808505 gmake system-test
John Beck <John.Beck@Oracle.COM>
parents: 4087
diff changeset
   439
$(BUILD_DIR_64)/.system-tested-and-compared:		BITS=64
fca9099ab398 20808505 gmake system-test
John Beck <John.Beck@Oracle.COM>
parents: 4087
diff changeset
   440
$(BUILD_DIR_NO_ARCH)/.tested:				BITS=32
fca9099ab398 20808505 gmake system-test
John Beck <John.Beck@Oracle.COM>
parents: 4087
diff changeset
   441
$(BUILD_DIR_32)/.tested:				BITS=32
fca9099ab398 20808505 gmake system-test
John Beck <John.Beck@Oracle.COM>
parents: 4087
diff changeset
   442
$(BUILD_DIR_64)/.tested:				BITS=64
fca9099ab398 20808505 gmake system-test
John Beck <John.Beck@Oracle.COM>
parents: 4087
diff changeset
   443
$(BUILD_DIR_NO_ARCH)/.tested-and-compared:		BITS=32
fca9099ab398 20808505 gmake system-test
John Beck <John.Beck@Oracle.COM>
parents: 4087
diff changeset
   444
$(BUILD_DIR_32)/.tested-and-compared:			BITS=32
fca9099ab398 20808505 gmake system-test
John Beck <John.Beck@Oracle.COM>
parents: 4087
diff changeset
   445
$(BUILD_DIR_64)/.tested-and-compared:			BITS=64
3558
2cec274f17fc 20222479 Need a method to compare test results against a master in Userland
Rich Burridge <rich.burridge@oracle.com>
parents: 2204
diff changeset
   446
4206
a24a2855075c 20974465 Two "gmake system-test" infrastructure fixes plus 3 components with system tests
Rich Burridge <rich.burridge@oracle.com>
parents: 4202
diff changeset
   447
$(BUILD_DIR_NO_ARCH)/.system-tested:			$(BUILD_DIR_32)
a24a2855075c 20974465 Two "gmake system-test" infrastructure fixes plus 3 components with system tests
Rich Burridge <rich.burridge@oracle.com>
parents: 4202
diff changeset
   448
$(BUILD_DIR_32)/.system-tested:				$(BUILD_DIR_32)
a24a2855075c 20974465 Two "gmake system-test" infrastructure fixes plus 3 components with system tests
Rich Burridge <rich.burridge@oracle.com>
parents: 4202
diff changeset
   449
$(BUILD_DIR_64)/.system-tested:				$(BUILD_DIR_64)
a24a2855075c 20974465 Two "gmake system-test" infrastructure fixes plus 3 components with system tests
Rich Burridge <rich.burridge@oracle.com>
parents: 4202
diff changeset
   450
$(BUILD_DIR_NO_ARCH)/.system-tested-and-compared:	$(BUILD_DIR_32)
a24a2855075c 20974465 Two "gmake system-test" infrastructure fixes plus 3 components with system tests
Rich Burridge <rich.burridge@oracle.com>
parents: 4202
diff changeset
   451
$(BUILD_DIR_32)/.system-tested-and-compared:		$(BUILD_DIR_32)
a24a2855075c 20974465 Two "gmake system-test" infrastructure fixes plus 3 components with system tests
Rich Burridge <rich.burridge@oracle.com>
parents: 4202
diff changeset
   452
$(BUILD_DIR_64)/.system-tested-and-compared:		$(BUILD_DIR_64)
a24a2855075c 20974465 Two "gmake system-test" infrastructure fixes plus 3 components with system tests
Rich Burridge <rich.burridge@oracle.com>
parents: 4202
diff changeset
   453
a24a2855075c 20974465 Two "gmake system-test" infrastructure fixes plus 3 components with system tests
Rich Burridge <rich.burridge@oracle.com>
parents: 4202
diff changeset
   454
$(BUILD_DIR_32) $(BUILD_DIR_64):
a24a2855075c 20974465 Two "gmake system-test" infrastructure fixes plus 3 components with system tests
Rich Burridge <rich.burridge@oracle.com>
parents: 4202
diff changeset
   455
	$(MKDIR) $(@)
3558
2cec274f17fc 20222479 Need a method to compare test results against a master in Userland
Rich Burridge <rich.burridge@oracle.com>
parents: 2204
diff changeset
   456
40
84267c1130e9 fix SPRO_ROOT usage to match ON and SFW and not be confusing
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 38
diff changeset
   457
# BUILD_TOOLS is the root of all tools not normally installed on the system.
943
8f25c7c6a9a4 7190080 s12 dev begins; create s11-update branch
John Beck <John.Beck@Oracle.COM>
parents: 827
diff changeset
   458
BUILD_TOOLS ?=	/ws/on12-tools
40
84267c1130e9 fix SPRO_ROOT usage to match ON and SFW and not be confusing
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 38
diff changeset
   459
6706
00503a3dc80d 24493336 SPRO* variables should be overridable
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 6552
diff changeset
   460
SPRO_ROOT ?=	$(BUILD_TOOLS)/SUNWspro
00503a3dc80d 24493336 SPRO* variables should be overridable
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 6552
diff changeset
   461
SPRO_VROOT ?=	$(SPRO_ROOT)/solarisstudio12.4
40
84267c1130e9 fix SPRO_ROOT usage to match ON and SFW and not be confusing
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 38
diff changeset
   462
7104
8f45af4c27d7 24837165 userland should move to parfait 1.9
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 7011
diff changeset
   463
PARFAIT_ROOT =	$(BUILD_TOOLS)/parfait/parfait-tools-1.9.0
1394
5f86498eee95 16991973 some things ain't parfait'n
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 1352
diff changeset
   464
PARFAIT_TOOLS=	$(WS_TOOLS)/$(MACH)/parfait
774
d0cbca26a17c 7035978 parfait support for userland bits
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 766
diff changeset
   465
PARFAIT= $(PARFAIT_ROOT)/bin/parfait
d0cbca26a17c 7035978 parfait support for userland bits
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 766
diff changeset
   466
export PARFAIT_NATIVESUNCC=$(SPRO_VROOT)/bin/cc
d0cbca26a17c 7035978 parfait support for userland bits
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 766
diff changeset
   467
export PARFAIT_NATIVESUNCXX=$(SPRO_VROOT)/bin/CC
d0cbca26a17c 7035978 parfait support for userland bits
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 766
diff changeset
   468
export PARFAIT_NATIVEGCC=$(GCC_ROOT)/bin/gcc
d0cbca26a17c 7035978 parfait support for userland bits
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 766
diff changeset
   469
export PARFAIT_NATIVEGXX=$(GCC_ROOT)/bin/g++
d0cbca26a17c 7035978 parfait support for userland bits
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 766
diff changeset
   470
7011
10c58c99afd6 24660933 time for gcc/5.3 to go and just keep gcc/5
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 7003
diff changeset
   471
GCC_ROOT =	/usr/gcc/5
2
125cd5d2cd9e include gmake example
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
   472
99
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   473
CC.studio.32 =	$(SPRO_VROOT)/bin/cc
206
a4474882bf60 7010355 python needs to be packaged to separate out non-core dependencies
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 200
diff changeset
   474
CXX.studio.32 =	$(SPRO_VROOT)/bin/CC
2
125cd5d2cd9e include gmake example
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
   475
774
d0cbca26a17c 7035978 parfait support for userland bits
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 766
diff changeset
   476
99
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   477
CC.studio.64 =	$(SPRO_VROOT)/bin/cc
206
a4474882bf60 7010355 python needs to be packaged to separate out non-core dependencies
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 200
diff changeset
   478
CXX.studio.64 =	$(SPRO_VROOT)/bin/CC
2
125cd5d2cd9e include gmake example
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
   479
151
f9e42a3f7095 7030982 hgk is delivered 444, breaks 'hg view'
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 148
diff changeset
   480
CC.gcc.32 =	$(GCC_ROOT)/bin/gcc
206
a4474882bf60 7010355 python needs to be packaged to separate out non-core dependencies
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 200
diff changeset
   481
CXX.gcc.32 =	$(GCC_ROOT)/bin/g++
2
125cd5d2cd9e include gmake example
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
   482
151
f9e42a3f7095 7030982 hgk is delivered 444, breaks 'hg view'
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 148
diff changeset
   483
CC.gcc.64 =	$(GCC_ROOT)/bin/gcc
206
a4474882bf60 7010355 python needs to be packaged to separate out non-core dependencies
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 200
diff changeset
   484
CXX.gcc.64 =	$(GCC_ROOT)/bin/g++
2
125cd5d2cd9e include gmake example
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
   485
61
7684fe2a9eb5 7011958 some things lost during move to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 59
diff changeset
   486
lint.32 =	$(SPRO_VROOT)/bin/lint -m32
7684fe2a9eb5 7011958 some things lost during move to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 59
diff changeset
   487
lint.64 =	$(SPRO_VROOT)/bin/lint -m64
7684fe2a9eb5 7011958 some things lost during move to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 59
diff changeset
   488
7684fe2a9eb5 7011958 some things lost during move to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 59
diff changeset
   489
LINT =		$(lint.$(BITS))
7684fe2a9eb5 7011958 some things lost during move to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 59
diff changeset
   490
16
33aaaec59991 update _DATE/_TIME compiler chatter reduction bits.
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 12
diff changeset
   491
LD =		/usr/bin/ld
33aaaec59991 update _DATE/_TIME compiler chatter reduction bits.
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 12
diff changeset
   492
774
d0cbca26a17c 7035978 parfait support for userland bits
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 766
diff changeset
   493
ifeq   ($(strip $(PARFAIT_BUILD)),yes)
1394
5f86498eee95 16991973 some things ain't parfait'n
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 1352
diff changeset
   494
CC.studio.32 =	$(PARFAIT_TOOLS)/cc
5f86498eee95 16991973 some things ain't parfait'n
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 1352
diff changeset
   495
CXX.studio.32 =	$(PARFAIT_TOOLS)/CC
5f86498eee95 16991973 some things ain't parfait'n
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 1352
diff changeset
   496
CC.studio.64 =	$(PARFAIT_TOOLS)/cc
5f86498eee95 16991973 some things ain't parfait'n
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 1352
diff changeset
   497
CXX.studio.64 =	$(PARFAIT_TOOLS)/CC
5f86498eee95 16991973 some things ain't parfait'n
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 1352
diff changeset
   498
CC.gcc.32 =	$(PARFAIT_TOOLS)/gcc
5f86498eee95 16991973 some things ain't parfait'n
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 1352
diff changeset
   499
CXX.gcc.32 =	$(PARFAIT_TOOLS)/g++
5f86498eee95 16991973 some things ain't parfait'n
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 1352
diff changeset
   500
CC.gcc.64 =	$(PARFAIT_TOOLS)/gcc
5f86498eee95 16991973 some things ain't parfait'n
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 1352
diff changeset
   501
CXX.gcc.64 =	$(PARFAIT_TOOLS)/g++
5f86498eee95 16991973 some things ain't parfait'n
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 1352
diff changeset
   502
LD =		$(PARFAIT_TOOLS)/ld
774
d0cbca26a17c 7035978 parfait support for userland bits
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 766
diff changeset
   503
endif
d0cbca26a17c 7035978 parfait support for userland bits
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 766
diff changeset
   504
d0cbca26a17c 7035978 parfait support for userland bits
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 766
diff changeset
   505
CC =		$(CC.$(COMPILER).$(BITS))
d0cbca26a17c 7035978 parfait support for userland bits
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 766
diff changeset
   506
CXX =		$(CXX.$(COMPILER).$(BITS))
d0cbca26a17c 7035978 parfait support for userland bits
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 766
diff changeset
   507
5477
5eabbdf042bc PSARC/2015/113 Add Ruby 2.1 and EOF and Remove Ruby 1.9
April Chin <april.chin@oracle.com>
parents: 5400
diff changeset
   508
RUBY_VERSION =	2.1
5eabbdf042bc PSARC/2015/113 Add Ruby 2.1 and EOF and Remove Ruby 1.9
April Chin <april.chin@oracle.com>
parents: 5400
diff changeset
   509
RUBY_LIB_VERSION =	2.1.0
5177
eb02f7b13b81 21234701 graphviz should no longer deliver Ruby 1.9 bindings
April Chin <april.chin@oracle.com>
parents: 5174
diff changeset
   510
RUBY.2.1 =	/usr/ruby/2.1/bin/ruby
7469
422c29c822ab PSARC/2016/585 Add Ruby 2.3
April Chin <april.chin@oracle.com>
parents: 7248
diff changeset
   511
RUBY.2.3 =	/usr/ruby/2.3/bin/ruby
1409
9db4ba32e740 PSARC/2013/218 Puppet Phase 2
Drew Fisher <drew.fisher@oracle.com>
parents: 1394
diff changeset
   512
RUBY =		$(RUBY.$(RUBY_VERSION))
2054
5f403d9bcaad PSARC/2014/275 Hiera 1.3.4
Kristina Tripp <Kristina.Tripp@oracle.com>
parents: 2032
diff changeset
   513
# Use the ruby lib versions to represent the RUBY_VERSIONS that
5f403d9bcaad PSARC/2014/275 Hiera 1.3.4
Kristina Tripp <Kristina.Tripp@oracle.com>
parents: 2032
diff changeset
   514
# need to get built.  This is done because during package transformations
5f403d9bcaad PSARC/2014/275 Hiera 1.3.4
Kristina Tripp <Kristina.Tripp@oracle.com>
parents: 2032
diff changeset
   515
# both the ruby version and the ruby library version are needed. 
5f403d9bcaad PSARC/2014/275 Hiera 1.3.4
Kristina Tripp <Kristina.Tripp@oracle.com>
parents: 2032
diff changeset
   516
RUBY_VERSIONS = $(RUBY_LIB_VERSION)
774
d0cbca26a17c 7035978 parfait support for userland bits
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 766
diff changeset
   517
7130
73b1ef197337 24837601 facter, hiera,et al should use ruby-version-specific scripts
April Chin <april.chin@oracle.com>
parents: 7104
diff changeset
   518
# Transform Ruby scripts to call the supported
73b1ef197337 24837601 facter, hiera,et al should use ruby-version-specific scripts
April Chin <april.chin@oracle.com>
parents: 7104
diff changeset
   519
# version-specific ruby; used in multiple *.mk files
73b1ef197337 24837601 facter, hiera,et al should use ruby-version-specific scripts
April Chin <april.chin@oracle.com>
parents: 7104
diff changeset
   520
RUBY_SCRIPT_FIX_FUNC = \
73b1ef197337 24837601 facter, hiera,et al should use ruby-version-specific scripts
April Chin <april.chin@oracle.com>
parents: 7104
diff changeset
   521
    $(GNU_GREP) -Rl '^\#! */usr/bin/env ruby' | \
73b1ef197337 24837601 facter, hiera,et al should use ruby-version-specific scripts
April Chin <april.chin@oracle.com>
parents: 7104
diff changeset
   522
        /usr/bin/xargs -I\{\} $(GSED) -i -e \
73b1ef197337 24837601 facter, hiera,et al should use ruby-version-specific scripts
April Chin <april.chin@oracle.com>
parents: 7104
diff changeset
   523
        '1s%^\#! */usr/bin/env ruby%\#!/usr/ruby/$(RUBY_VERSION)/bin/ruby%' \
73b1ef197337 24837601 facter, hiera,et al should use ruby-version-specific scripts
April Chin <april.chin@oracle.com>
parents: 7104
diff changeset
   524
        \{\}
73b1ef197337 24837601 facter, hiera,et al should use ruby-version-specific scripts
April Chin <april.chin@oracle.com>
parents: 7104
diff changeset
   525
6404
776ac4e2d089 backout 23763310 - needs more work
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 6399
diff changeset
   526
PYTHON.2.7.VENDOR_PACKAGES.32 = /usr/lib/python2.7/vendor-packages
776ac4e2d089 backout 23763310 - needs more work
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 6399
diff changeset
   527
PYTHON.2.7.VENDOR_PACKAGES.64 = /usr/lib/python2.7/vendor-packages/64
776ac4e2d089 backout 23763310 - needs more work
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 6399
diff changeset
   528
PYTHON.2.7.VENDOR_PACKAGES = $(PYTHON.2.7.VENDOR_PACKAGES.$(BITS))
776ac4e2d089 backout 23763310 - needs more work
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 6399
diff changeset
   529
776ac4e2d089 backout 23763310 - needs more work
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 6399
diff changeset
   530
PYTHON.3.4.VENDOR_PACKAGES.64 = /usr/lib/python3.4/vendor-packages/64
776ac4e2d089 backout 23763310 - needs more work
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 6399
diff changeset
   531
PYTHON.3.4.VENDOR_PACKAGES = $(PYTHON.3.4.VENDOR_PACKAGES.$(BITS))
776ac4e2d089 backout 23763310 - needs more work
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 6399
diff changeset
   532
776ac4e2d089 backout 23763310 - needs more work
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 6399
diff changeset
   533
PYTHON.3.5.VENDOR_PACKAGES.64 = /usr/lib/python3.5/vendor-packages
776ac4e2d089 backout 23763310 - needs more work
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 6399
diff changeset
   534
PYTHON.3.5.VENDOR_PACKAGES = $(PYTHON.3.5.VENDOR_PACKAGES.$(BITS))
776ac4e2d089 backout 23763310 - needs more work
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 6399
diff changeset
   535
776ac4e2d089 backout 23763310 - needs more work
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 6399
diff changeset
   536
PYTHON_VENDOR_PACKAGES.32 = /usr/lib/python$(PYTHON_VERSION)/vendor-packages
776ac4e2d089 backout 23763310 - needs more work
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 6399
diff changeset
   537
PYTHON_VENDOR_PACKAGES.64 = /usr/lib/python$(PYTHON_VERSION)/vendor-packages/64
776ac4e2d089 backout 23763310 - needs more work
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 6399
diff changeset
   538
PYTHON_VENDOR_PACKAGES = $(PYTHON_VENDOR_PACKAGES.$(BITS))
148
33ca3897ae25 7029701 libxml2 should move to userland
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 146
diff changeset
   539
4091
fca9099ab398 20808505 gmake system-test
John Beck <John.Beck@Oracle.COM>
parents: 4087
diff changeset
   540
PYTHON.2.7.TEST = /usr/lib/python2.7/test
fca9099ab398 20808505 gmake system-test
John Beck <John.Beck@Oracle.COM>
parents: 4087
diff changeset
   541
PYTHON.3.4.TEST = /usr/lib/python3.4/test
4912
0b79e9575718 PSARC 2015/414 Python 3.5
John Beck <John.Beck@Oracle.COM>
parents: 4791
diff changeset
   542
PYTHON.3.5.TEST = /usr/lib/python3.5/test
4091
fca9099ab398 20808505 gmake system-test
John Beck <John.Beck@Oracle.COM>
parents: 4087
diff changeset
   543
2010
cb03afa45934 18685168 graphviz should move to ruby 1.9
Danek Duvall <danek.duvall@oracle.com>
parents: 1907
diff changeset
   544
USRBIN.32 =	/usr/bin
cb03afa45934 18685168 graphviz should move to ruby 1.9
Danek Duvall <danek.duvall@oracle.com>
parents: 1907
diff changeset
   545
USRBIN.64 =	/usr/bin/$(MACH64)
cb03afa45934 18685168 graphviz should move to ruby 1.9
Danek Duvall <danek.duvall@oracle.com>
parents: 1907
diff changeset
   546
USRBIN =	$(USRBIN.$(BITS))
2
125cd5d2cd9e include gmake example
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
   547
5125
34cc580c62c2 21029732 PKG_CONFIG_PATH should be included in CONFIGURE_ENV and BUILD_ENV
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5066
diff changeset
   548
USRLIB.32 =	$(USRLIBDIR)
34cc580c62c2 21029732 PKG_CONFIG_PATH should be included in CONFIGURE_ENV and BUILD_ENV
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5066
diff changeset
   549
USRLIB.64 =	$(USRLIBDIR64)
34cc580c62c2 21029732 PKG_CONFIG_PATH should be included in CONFIGURE_ENV and BUILD_ENV
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5066
diff changeset
   550
USRLIB =	$(USRLIB.$(BITS))
34cc580c62c2 21029732 PKG_CONFIG_PATH should be included in CONFIGURE_ENV and BUILD_ENV
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5066
diff changeset
   551
2010
cb03afa45934 18685168 graphviz should move to ruby 1.9
Danek Duvall <danek.duvall@oracle.com>
parents: 1907
diff changeset
   552
PYTHON.2.7.32 =	$(USRBIN.32)/python2.7
cb03afa45934 18685168 graphviz should move to ruby 1.9
Danek Duvall <danek.duvall@oracle.com>
parents: 1907
diff changeset
   553
PYTHON.2.7.64 =	$(USRBIN.64)/python2.7
cb03afa45934 18685168 graphviz should move to ruby 1.9
Danek Duvall <danek.duvall@oracle.com>
parents: 1907
diff changeset
   554
PYTHON.2.7 =	$(USRBIN)/python2.7
706
6e61f0012046 7108059 Userland should have python2.7 version of its python modules
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 591
diff changeset
   555
1907
446472de62e9 PSARC 2014/151 Python 3.4
John Beck <John.Beck@Oracle.COM>
parents: 1836
diff changeset
   556
# Although we build Python 3 64-bit only, the BUILD_NO_ARCH macro is written
2060
a9ad5cd0ec29 19492342 Python 3.4 should be built --with-pymalloc
John Beck <John.Beck@Oracle.COM>
parents: 2054
diff changeset
   557
# in such a way that we still need the .32 macro below.  And since we build
a9ad5cd0ec29 19492342 Python 3.4 should be built --with-pymalloc
John Beck <John.Beck@Oracle.COM>
parents: 2054
diff changeset
   558
# 64-bit only, we stick it directly in usr/bin (i.e., the 32-bit path) rather
a9ad5cd0ec29 19492342 Python 3.4 should be built --with-pymalloc
John Beck <John.Beck@Oracle.COM>
parents: 2054
diff changeset
   559
# than the 64-bit path.
2010
cb03afa45934 18685168 graphviz should move to ruby 1.9
Danek Duvall <danek.duvall@oracle.com>
parents: 1907
diff changeset
   560
PYTHON.3.4.32 =	$(USRBIN.32)/python3.4
2060
a9ad5cd0ec29 19492342 Python 3.4 should be built --with-pymalloc
John Beck <John.Beck@Oracle.COM>
parents: 2054
diff changeset
   561
PYTHON.3.4.64 =	$(USRBIN.32)/python3.4
4091
fca9099ab398 20808505 gmake system-test
John Beck <John.Beck@Oracle.COM>
parents: 4087
diff changeset
   562
PYTHON.3.4 =	$(USRBIN.32)/python3.4
1907
446472de62e9 PSARC 2014/151 Python 3.4
John Beck <John.Beck@Oracle.COM>
parents: 1836
diff changeset
   563
4912
0b79e9575718 PSARC 2015/414 Python 3.5
John Beck <John.Beck@Oracle.COM>
parents: 4791
diff changeset
   564
PYTHON.3.5.32 =	$(USRBIN.32)/python3.5
0b79e9575718 PSARC 2015/414 Python 3.5
John Beck <John.Beck@Oracle.COM>
parents: 4791
diff changeset
   565
PYTHON.3.5.64 =	$(USRBIN.32)/python3.5
0b79e9575718 PSARC 2015/414 Python 3.5
John Beck <John.Beck@Oracle.COM>
parents: 4791
diff changeset
   566
PYTHON.3.5 =	$(USRBIN.32)/python3.5
0b79e9575718 PSARC 2015/414 Python 3.5
John Beck <John.Beck@Oracle.COM>
parents: 4791
diff changeset
   567
978
f7d58c85fe8d 7167209 Mistakes in make-rules/shared-macros.mk
Rich Burridge <rich.burridge@oracle.com>
parents: 975
diff changeset
   568
PYTHON.32 =	$(PYTHON.$(PYTHON_VERSION).32)
f7d58c85fe8d 7167209 Mistakes in make-rules/shared-macros.mk
Rich Burridge <rich.burridge@oracle.com>
parents: 975
diff changeset
   569
PYTHON.64 =	$(PYTHON.$(PYTHON_VERSION).64)
148
33ca3897ae25 7029701 libxml2 should move to userland
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 146
diff changeset
   570
PYTHON =	$(PYTHON.$(PYTHON_VERSION).$(BITS))
2
125cd5d2cd9e include gmake example
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
   571
146
8e22ba234817 7027466 Move nmap to Userland
Srinivasa Sarva <srinivasa.sarva@oracle.com>
parents: 145
diff changeset
   572
# The default is site-packages, but that directory belongs to the end-user.
8e22ba234817 7027466 Move nmap to Userland
Srinivasa Sarva <srinivasa.sarva@oracle.com>
parents: 145
diff changeset
   573
# Modules which are shipped by the OS but not with the core Python distribution
8e22ba234817 7027466 Move nmap to Userland
Srinivasa Sarva <srinivasa.sarva@oracle.com>
parents: 145
diff changeset
   574
# belong in vendor-packages.
8e22ba234817 7027466 Move nmap to Userland
Srinivasa Sarva <srinivasa.sarva@oracle.com>
parents: 145
diff changeset
   575
PYTHON_LIB= /usr/lib/python$(PYTHON_VERSION)/vendor-packages
706
6e61f0012046 7108059 Userland should have python2.7 version of its python modules
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 591
diff changeset
   576
PYTHON_DATA= $(PYTHON_LIB)
146
8e22ba234817 7027466 Move nmap to Userland
Srinivasa Sarva <srinivasa.sarva@oracle.com>
parents: 145
diff changeset
   577
6043
2b2e083ef892 23245316 Move gobject-introspection to Userland and update to 1.46.0
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 5885
diff changeset
   578
# If the component has python scripts then the first line should probably
2b2e083ef892 23245316 Move gobject-introspection to Userland and update to 1.46.0
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 5885
diff changeset
   579
# point at the userland default build python so as not to be influenced
2b2e083ef892 23245316 Move gobject-introspection to Userland and update to 1.46.0
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 5885
diff changeset
   580
# by the ips python mediator.
2b2e083ef892 23245316 Move gobject-introspection to Userland and update to 1.46.0
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 5885
diff changeset
   581
# In the component's Makefile define PYTHON_SCRIPTS with a list of files
2b2e083ef892 23245316 Move gobject-introspection to Userland and update to 1.46.0
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 5885
diff changeset
   582
# to be editted.
2b2e083ef892 23245316 Move gobject-introspection to Userland and update to 1.46.0
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 5885
diff changeset
   583
2b2e083ef892 23245316 Move gobject-introspection to Userland and update to 1.46.0
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 5885
diff changeset
   584
# Edit the leading #!/usr/bin/python line in python scripts to use the
2b2e083ef892 23245316 Move gobject-introspection to Userland and update to 1.46.0
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 5885
diff changeset
   585
# BUILD's $(PYTHON).
2b2e083ef892 23245316 Move gobject-introspection to Userland and update to 1.46.0
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 5885
diff changeset
   586
PYTHON_SCRIPT_SHEBANG_FIX_FUNC = \
2b2e083ef892 23245316 Move gobject-introspection to Userland and update to 1.46.0
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 5885
diff changeset
   587
	$(GSED) -i \
2b2e083ef892 23245316 Move gobject-introspection to Userland and update to 1.46.0
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 5885
diff changeset
   588
		-e '1s@/usr/bin/python$$@$(PYTHON)@' \
2b2e083ef892 23245316 Move gobject-introspection to Userland and update to 1.46.0
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 5885
diff changeset
   589
		-e '1s@/usr/bin/python\ @$(PYTHON) @' \
2b2e083ef892 23245316 Move gobject-introspection to Userland and update to 1.46.0
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 5885
diff changeset
   590
		-e '1s@/usr/bin/env\ $(PYTHON)@$(PYTHON)@' \
2b2e083ef892 23245316 Move gobject-introspection to Userland and update to 1.46.0
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 5885
diff changeset
   591
		-e '1s@/usr/bin/env\ python@$(PYTHON)@' $(1);
2b2e083ef892 23245316 Move gobject-introspection to Userland and update to 1.46.0
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 5885
diff changeset
   592
2b2e083ef892 23245316 Move gobject-introspection to Userland and update to 1.46.0
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 5885
diff changeset
   593
# PYTHON_SCRIPTS is a list of files from the calling Makefile.
2b2e083ef892 23245316 Move gobject-introspection to Userland and update to 1.46.0
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 5885
diff changeset
   594
PYTHON_SCRIPTS_PROCESS= \
2b2e083ef892 23245316 Move gobject-introspection to Userland and update to 1.46.0
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 5885
diff changeset
   595
	$(foreach s,$(PYTHON_SCRIPTS), \
2b2e083ef892 23245316 Move gobject-introspection to Userland and update to 1.46.0
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 5885
diff changeset
   596
	        $(call PYTHON_SCRIPT_SHEBANG_FIX_FUNC,$(s)))
2b2e083ef892 23245316 Move gobject-introspection to Userland and update to 1.46.0
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 5885
diff changeset
   597
2b2e083ef892 23245316 Move gobject-introspection to Userland and update to 1.46.0
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 5885
diff changeset
   598
# Finally if PYTHON_SCRIPTS is defined in a Makefile then process them here.
2b2e083ef892 23245316 Move gobject-introspection to Userland and update to 1.46.0
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 5885
diff changeset
   599
# If multiple installs in the component then clear
2b2e083ef892 23245316 Move gobject-introspection to Userland and update to 1.46.0
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 5885
diff changeset
   600
# COMPONENT_POST_INSTALL_ACTION =
2b2e083ef892 23245316 Move gobject-introspection to Userland and update to 1.46.0
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 5885
diff changeset
   601
# and re-add $(PYTHON_SCRIPTS_PROCESS)
2b2e083ef892 23245316 Move gobject-introspection to Userland and update to 1.46.0
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 5885
diff changeset
   602
COMPONENT_POST_INSTALL_ACTION += $(PYTHON_SCRIPTS_PROCESS)
2b2e083ef892 23245316 Move gobject-introspection to Userland and update to 1.46.0
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 5885
diff changeset
   603
3959
0de894549bd0 20708433 userland should build with java 8
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 3951
diff changeset
   604
JAVA8_HOME =	/usr/jdk/instances/jdk1.8.0
0de894549bd0 20708433 userland should build with java 8
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 3951
diff changeset
   605
JAVA_HOME = $(JAVA8_HOME)
116
ae6a90899b42 7022452 move ant to userland
Petr Sumbera <petr.sumbera@oracle.com>
parents: 109
diff changeset
   606
260
cc1837bbe69e 7047520 move perl-xml-parser and perl-xml-simple to userland consolidation
Craig Mohrman <craig.mohrman@oracle.com>
parents: 252
diff changeset
   607
# This is the default BUILD version of perl
cc1837bbe69e 7047520 move perl-xml-parser and perl-xml-simple to userland consolidation
Craig Mohrman <craig.mohrman@oracle.com>
parents: 252
diff changeset
   608
# Not necessarily the system's default version, i.e. /usr/bin/perl
5638
b88b6c00208e 22970244 userland should build with perl 5.22 as the default
Craig Mohrman <craig.mohrman@oracle.com>
parents: 5577
diff changeset
   609
PERL_VERSION ?= 5.22
5797
432ac76de3b0 23078956 adjust the remainder of the userland components to use perl 5.22
Craig Mohrman <craig.mohrman@oracle.com>
parents: 5788
diff changeset
   610
PERL_VERSION_NODOT = $(subst .,,$(PERL_VERSION))
260
cc1837bbe69e 7047520 move perl-xml-parser and perl-xml-simple to userland consolidation
Craig Mohrman <craig.mohrman@oracle.com>
parents: 252
diff changeset
   611
5797
432ac76de3b0 23078956 adjust the remainder of the userland components to use perl 5.22
Craig Mohrman <craig.mohrman@oracle.com>
parents: 5788
diff changeset
   612
# Used for versionless perl packages.  Processed by ips.mk to stamp out
432ac76de3b0 23078956 adjust the remainder of the userland components to use perl 5.22
Craig Mohrman <craig.mohrman@oracle.com>
parents: 5788
diff changeset
   613
# multiple packages for each version of perl listed here.  Used by
432ac76de3b0 23078956 adjust the remainder of the userland components to use perl 5.22
Craig Mohrman <craig.mohrman@oracle.com>
parents: 5788
diff changeset
   614
# perl_modules/* but also used for those components that deliver a perl
432ac76de3b0 23078956 adjust the remainder of the userland components to use perl 5.22
Craig Mohrman <craig.mohrman@oracle.com>
parents: 5788
diff changeset
   615
# package like graphviz and openscap.
432ac76de3b0 23078956 adjust the remainder of the userland components to use perl 5.22
Craig Mohrman <craig.mohrman@oracle.com>
parents: 5788
diff changeset
   616
PERL_VERSIONS = 5.22
432ac76de3b0 23078956 adjust the remainder of the userland components to use perl 5.22
Craig Mohrman <craig.mohrman@oracle.com>
parents: 5788
diff changeset
   617
5577
09a6352d52ad 22897315 add perl modules support for perl 5.22
Craig Mohrman <craig.mohrman@oracle.com>
parents: 5529
diff changeset
   618
PERL.5.22 =     /usr/perl5/5.22/bin/perl
260
cc1837bbe69e 7047520 move perl-xml-parser and perl-xml-simple to userland consolidation
Craig Mohrman <craig.mohrman@oracle.com>
parents: 252
diff changeset
   619
5797
432ac76de3b0 23078956 adjust the remainder of the userland components to use perl 5.22
Craig Mohrman <craig.mohrman@oracle.com>
parents: 5788
diff changeset
   620
# Use these in a component's Makefile for building and packaging with the
432ac76de3b0 23078956 adjust the remainder of the userland components to use perl 5.22
Craig Mohrman <craig.mohrman@oracle.com>
parents: 5788
diff changeset
   621
# BUILD's default perl and the package it comes from.
260
cc1837bbe69e 7047520 move perl-xml-parser and perl-xml-simple to userland consolidation
Craig Mohrman <craig.mohrman@oracle.com>
parents: 252
diff changeset
   622
PERL =          $(PERL.$(PERL_VERSION))
5400
1199f8e91f50 22592978 Move xscreensaver to the Userland gate
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 5177
diff changeset
   623
PERL_PKG =	$(PERL_VERSION:5.%=runtime/perl-5%)
127
3e3c266b3a81 7013705 userland build needs local tarball caching
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 120
diff changeset
   624
5797
432ac76de3b0 23078956 adjust the remainder of the userland components to use perl 5.22
Craig Mohrman <craig.mohrman@oracle.com>
parents: 5788
diff changeset
   625
# PERL_ARCH is perl's architecture string.  Use in ips manifests.
1056
b2ec61db2a04 15845939 versionless python manifests
Danek Duvall <danek.duvall@oracle.com>
parents: 1053
diff changeset
   626
PERL_ARCH :=	$(shell $(PERL) -e 'use Config; print $$Config{archname}')
1152
96d423311191 16292975 perl_modules should build and deliver perl 5.16 versions
Craig Mohrman <craig.mohrman@oracle.com>
parents: 1138
diff changeset
   627
PERL_ARCH_FUNC=	$(shell $(1) -e 'use Config; print $$Config{archname}')
260
cc1837bbe69e 7047520 move perl-xml-parser and perl-xml-simple to userland consolidation
Craig Mohrman <craig.mohrman@oracle.com>
parents: 252
diff changeset
   628
# Optimally we should ask perl which C compiler was used but it doesn't
cc1837bbe69e 7047520 move perl-xml-parser and perl-xml-simple to userland consolidation
Craig Mohrman <craig.mohrman@oracle.com>
parents: 252
diff changeset
   629
# result in a full path name.  Only "c" is being recorded
cc1837bbe69e 7047520 move perl-xml-parser and perl-xml-simple to userland consolidation
Craig Mohrman <craig.mohrman@oracle.com>
parents: 252
diff changeset
   630
# inside perl builds while we actually need a full path to
cc1837bbe69e 7047520 move perl-xml-parser and perl-xml-simple to userland consolidation
Craig Mohrman <craig.mohrman@oracle.com>
parents: 252
diff changeset
   631
# the studio compiler.
1056
b2ec61db2a04 15845939 versionless python manifests
Danek Duvall <danek.duvall@oracle.com>
parents: 1053
diff changeset
   632
#PERL_CC :=	$(shell $(PERL) -e 'use Config; print $$Config{cc}')
b2ec61db2a04 15845939 versionless python manifests
Danek Duvall <danek.duvall@oracle.com>
parents: 1053
diff changeset
   633
PERL_OPTIMIZE :=$(shell $(PERL) -e 'use Config; print $$Config{optimize}')
260
cc1837bbe69e 7047520 move perl-xml-parser and perl-xml-simple to userland consolidation
Craig Mohrman <craig.mohrman@oracle.com>
parents: 252
diff changeset
   634
cc1837bbe69e 7047520 move perl-xml-parser and perl-xml-simple to userland consolidation
Craig Mohrman <craig.mohrman@oracle.com>
parents: 252
diff changeset
   635
PKG_MACROS +=   PERL_ARCH=$(PERL_ARCH)
cc1837bbe69e 7047520 move perl-xml-parser and perl-xml-simple to userland consolidation
Craig Mohrman <craig.mohrman@oracle.com>
parents: 252
diff changeset
   636
PKG_MACROS +=   PERL_VERSION=$(PERL_VERSION)
cc1837bbe69e 7047520 move perl-xml-parser and perl-xml-simple to userland consolidation
Craig Mohrman <craig.mohrman@oracle.com>
parents: 252
diff changeset
   637
5797
432ac76de3b0 23078956 adjust the remainder of the userland components to use perl 5.22
Craig Mohrman <craig.mohrman@oracle.com>
parents: 5788
diff changeset
   638
# If the component has perl scripts then the first line should probably
432ac76de3b0 23078956 adjust the remainder of the userland components to use perl 5.22
Craig Mohrman <craig.mohrman@oracle.com>
parents: 5788
diff changeset
   639
# point at the userland default build perl so as not to be influenced
432ac76de3b0 23078956 adjust the remainder of the userland components to use perl 5.22
Craig Mohrman <craig.mohrman@oracle.com>
parents: 5788
diff changeset
   640
# by the ips perl mediator.
432ac76de3b0 23078956 adjust the remainder of the userland components to use perl 5.22
Craig Mohrman <craig.mohrman@oracle.com>
parents: 5788
diff changeset
   641
# In the component's Makefile define PERL_SCRIPTS with a list of files
432ac76de3b0 23078956 adjust the remainder of the userland components to use perl 5.22
Craig Mohrman <craig.mohrman@oracle.com>
parents: 5788
diff changeset
   642
# to be editted.
432ac76de3b0 23078956 adjust the remainder of the userland components to use perl 5.22
Craig Mohrman <craig.mohrman@oracle.com>
parents: 5788
diff changeset
   643
432ac76de3b0 23078956 adjust the remainder of the userland components to use perl 5.22
Craig Mohrman <craig.mohrman@oracle.com>
parents: 5788
diff changeset
   644
# Edit the leading #!/usr/bin/perl line in perl scripts to use the
432ac76de3b0 23078956 adjust the remainder of the userland components to use perl 5.22
Craig Mohrman <craig.mohrman@oracle.com>
parents: 5788
diff changeset
   645
# BUILD's $(PERL).
432ac76de3b0 23078956 adjust the remainder of the userland components to use perl 5.22
Craig Mohrman <craig.mohrman@oracle.com>
parents: 5788
diff changeset
   646
PERL_SCRIPT_SHEBANG_FIX_FUNC = \
432ac76de3b0 23078956 adjust the remainder of the userland components to use perl 5.22
Craig Mohrman <craig.mohrman@oracle.com>
parents: 5788
diff changeset
   647
	$(GSED) -i \
432ac76de3b0 23078956 adjust the remainder of the userland components to use perl 5.22
Craig Mohrman <craig.mohrman@oracle.com>
parents: 5788
diff changeset
   648
		-e '1s@/usr/bin/perl@$(PERL)@' \
432ac76de3b0 23078956 adjust the remainder of the userland components to use perl 5.22
Craig Mohrman <craig.mohrman@oracle.com>
parents: 5788
diff changeset
   649
		-e '1s@/usr/perl5/bin/perl@$(PERL)@' \
432ac76de3b0 23078956 adjust the remainder of the userland components to use perl 5.22
Craig Mohrman <craig.mohrman@oracle.com>
parents: 5788
diff changeset
   650
		-e '1s@/usr/bin/env\ perl@$(PERL)@' $(1);
432ac76de3b0 23078956 adjust the remainder of the userland components to use perl 5.22
Craig Mohrman <craig.mohrman@oracle.com>
parents: 5788
diff changeset
   651
432ac76de3b0 23078956 adjust the remainder of the userland components to use perl 5.22
Craig Mohrman <craig.mohrman@oracle.com>
parents: 5788
diff changeset
   652
# PERL_SCRIPTS is a list of files from the calling Makefile.
432ac76de3b0 23078956 adjust the remainder of the userland components to use perl 5.22
Craig Mohrman <craig.mohrman@oracle.com>
parents: 5788
diff changeset
   653
PERL_SCRIPTS_PROCESS= \
432ac76de3b0 23078956 adjust the remainder of the userland components to use perl 5.22
Craig Mohrman <craig.mohrman@oracle.com>
parents: 5788
diff changeset
   654
	$(foreach s,$(PERL_SCRIPTS), \
432ac76de3b0 23078956 adjust the remainder of the userland components to use perl 5.22
Craig Mohrman <craig.mohrman@oracle.com>
parents: 5788
diff changeset
   655
	        $(call PERL_SCRIPT_SHEBANG_FIX_FUNC,$(s)))
432ac76de3b0 23078956 adjust the remainder of the userland components to use perl 5.22
Craig Mohrman <craig.mohrman@oracle.com>
parents: 5788
diff changeset
   656
432ac76de3b0 23078956 adjust the remainder of the userland components to use perl 5.22
Craig Mohrman <craig.mohrman@oracle.com>
parents: 5788
diff changeset
   657
# Finally if PERL_SCRIPTS is defined in a Makefile then process them here.
432ac76de3b0 23078956 adjust the remainder of the userland components to use perl 5.22
Craig Mohrman <craig.mohrman@oracle.com>
parents: 5788
diff changeset
   658
# If multiple installs in the component then clear
432ac76de3b0 23078956 adjust the remainder of the userland components to use perl 5.22
Craig Mohrman <craig.mohrman@oracle.com>
parents: 5788
diff changeset
   659
# COMPONENT_POST_INSTALL_ACTION =
432ac76de3b0 23078956 adjust the remainder of the userland components to use perl 5.22
Craig Mohrman <craig.mohrman@oracle.com>
parents: 5788
diff changeset
   660
# and re-add $(PERL_SCRIPTS_PROCESS)
432ac76de3b0 23078956 adjust the remainder of the userland components to use perl 5.22
Craig Mohrman <craig.mohrman@oracle.com>
parents: 5788
diff changeset
   661
COMPONENT_POST_INSTALL_ACTION += $(PERL_SCRIPTS_PROCESS)
432ac76de3b0 23078956 adjust the remainder of the userland components to use perl 5.22
Craig Mohrman <craig.mohrman@oracle.com>
parents: 5788
diff changeset
   662
1189
c3e41d3c09cf 15998664 berkeleydb doesn't build with jdk 1.7
doug leavitt <doug.leavitt@oracle.com>
parents: 1188
diff changeset
   663
# This is the default BUILD version of tcl
c3e41d3c09cf 15998664 berkeleydb doesn't build with jdk 1.7
doug leavitt <doug.leavitt@oracle.com>
parents: 1188
diff changeset
   664
# Not necessarily the system's default version, i.e. /usr/bin/tclsh
c3e41d3c09cf 15998664 berkeleydb doesn't build with jdk 1.7
doug leavitt <doug.leavitt@oracle.com>
parents: 1188
diff changeset
   665
TCL_VERSION =  8.5
c3e41d3c09cf 15998664 berkeleydb doesn't build with jdk 1.7
doug leavitt <doug.leavitt@oracle.com>
parents: 1188
diff changeset
   666
TCLSH.8.5.i386.32 =	/usr/bin/i86/tclsh8.5
c3e41d3c09cf 15998664 berkeleydb doesn't build with jdk 1.7
doug leavitt <doug.leavitt@oracle.com>
parents: 1188
diff changeset
   667
TCLSH.8.5.i386.64 =	/usr/bin/amd64/tclsh8.5
c3e41d3c09cf 15998664 berkeleydb doesn't build with jdk 1.7
doug leavitt <doug.leavitt@oracle.com>
parents: 1188
diff changeset
   668
TCLSH.8.5.sparc.32 =	/usr/bin/sparcv7/tclsh8.5
c3e41d3c09cf 15998664 berkeleydb doesn't build with jdk 1.7
doug leavitt <doug.leavitt@oracle.com>
parents: 1188
diff changeset
   669
TCLSH.8.5.sparc.64 =	/usr/bin/sparcv9/tclsh8.5
c3e41d3c09cf 15998664 berkeleydb doesn't build with jdk 1.7
doug leavitt <doug.leavitt@oracle.com>
parents: 1188
diff changeset
   670
TCLSH =		$(TCLSH.$(TCL_VERSION).$(MACH).$(BITS))
c3e41d3c09cf 15998664 berkeleydb doesn't build with jdk 1.7
doug leavitt <doug.leavitt@oracle.com>
parents: 1188
diff changeset
   671
260
cc1837bbe69e 7047520 move perl-xml-parser and perl-xml-simple to userland consolidation
Craig Mohrman <craig.mohrman@oracle.com>
parents: 252
diff changeset
   672
CCSMAKE =	/usr/ccs/bin/make
5682
94c0ca64c022 15558602 TCL_LD_SEARCH_FLAGS is wrongly defined in tclConfig.sh
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5678
diff changeset
   673
DOXYGEN =	/usr/bin/doxygen
94c0ca64c022 15558602 TCL_LD_SEARCH_FLAGS is wrongly defined in tclConfig.sh
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5678
diff changeset
   674
ELFEDIT =	/usr/bin/elfedit
2
125cd5d2cd9e include gmake example
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
   675
GMAKE =		/usr/gnu/bin/make
7003
539760b03c07 23228877 prepare for removal of /usr/gnu/bin/patch
Esha Wang <esha.wang@oracle.com>
parents: 6911
diff changeset
   676
GPATCH =	/usr/bin/patch
82
2f155565730b 7017244 move ggrep to userland (fix mismerge)
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 80
diff changeset
   677
PATCH_LEVEL =	1
99
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   678
GPATCH_BACKUP =	--backup --version-control=numbered
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   679
GPATCH_FLAGS =	-p$(PATCH_LEVEL) $(GPATCH_BACKUP)
302
0b738df97c00 7016849 pkg:/system/data/hardware-registry should move to Userland consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 279
diff changeset
   680
GSED =		/usr/gnu/bin/sed
3558
2cec274f17fc 20222479 Need a method to compare test results against a master in Userland
Rich Burridge <rich.burridge@oracle.com>
parents: 2204
diff changeset
   681
GDIFF =		/usr/gnu/bin/diff
2cec274f17fc 20222479 Need a method to compare test results against a master in Userland
Rich Burridge <rich.burridge@oracle.com>
parents: 2204
diff changeset
   682
GSORT =		/usr/gnu/bin/sort
4791
fb9a6b5ef98f 21481648 update GNU Emacs to 24.5
Ali Bahrami <Ali.Bahrami@Oracle.COM>
parents: 4760
diff changeset
   683
GUNZIP =	/usr/bin/gunzip
2
125cd5d2cd9e include gmake example
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
   684
105
da9e87a40aec 7021891 repo created by build should be v4, not v3
Danek Duvall <danek.duvall@oracle.com>
parents: 102
diff changeset
   685
PKGREPO =	/usr/bin/pkgrepo
2
125cd5d2cd9e include gmake example
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
   686
PKGSEND =	/usr/bin/pkgsend
5751
30cf2c0cfebc 23049888 history Makefile resets PKGLINT and friends
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 5682
diff changeset
   687
PKGMOGRIFY =	/usr/bin/pkgmogrify
1188
d563dccb5adb 16404201 serialize pkglinting of components
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 1165
diff changeset
   688
ifeq   ($(strip $(PKGLINT_COMPONENT)),)
70
c610cf9d3d5d 7016863 userland build fails in parallel
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 64
diff changeset
   689
PKGLINT =	/usr/bin/pkglint
1188
d563dccb5adb 16404201 serialize pkglinting of components
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 1165
diff changeset
   690
else
d563dccb5adb 16404201 serialize pkglinting of components
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 1165
diff changeset
   691
PKGLINT =	${WS_TOOLS}/pkglint
d563dccb5adb 16404201 serialize pkglinting of components
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 1165
diff changeset
   692
endif
2
125cd5d2cd9e include gmake example
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
   693
160
4eabca2bceee 7032426 hal-cups-utils needs to move to userland
Vladimir Marek <Vladimir.Marek@oracle.com>
parents: 156
diff changeset
   694
ACLOCAL =	/usr/bin/aclocal-1.10
4eabca2bceee 7032426 hal-cups-utils needs to move to userland
Vladimir Marek <Vladimir.Marek@oracle.com>
parents: 156
diff changeset
   695
AUTOMAKE =	/usr/bin/automake-1.10
4eabca2bceee 7032426 hal-cups-utils needs to move to userland
Vladimir Marek <Vladimir.Marek@oracle.com>
parents: 156
diff changeset
   696
AUTORECONF = 	/usr/bin/autoreconf
4eabca2bceee 7032426 hal-cups-utils needs to move to userland
Vladimir Marek <Vladimir.Marek@oracle.com>
parents: 156
diff changeset
   697
165
111c46cade93 7018146 move hplip to userland
sonam gupta - Sun Microsystems - Bangalore India <Sonam.Gupta@Sun.COM>
parents: 160
diff changeset
   698
KSH93 =         /usr/bin/ksh93
2
125cd5d2cd9e include gmake example
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
   699
TOUCH =		/usr/bin/touch
125cd5d2cd9e include gmake example
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
   700
MKDIR =		/bin/mkdir -p
125cd5d2cd9e include gmake example
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
   701
RM =		/bin/rm -f
7
d42300cb8715 add license/copyright info for ips generation
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 6
diff changeset
   702
CP =		/bin/cp -f
142
6f1cb90a0ef3 7026996 move tomcat to userland
Petr Sumbera <petr.sumbera@oracle.com>
parents: 138
diff changeset
   703
MV =		/bin/mv -f
43
9f5ebe30300c switch to CBE sunstudio12.1 compilers
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 40
diff changeset
   704
LN =		/bin/ln
3558
2cec274f17fc 20222479 Need a method to compare test results against a master in Userland
Rich Burridge <rich.burridge@oracle.com>
parents: 2204
diff changeset
   705
CAT =		/bin/cat
43
9f5ebe30300c switch to CBE sunstudio12.1 compilers
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 40
diff changeset
   706
SYMLINK =	/bin/ln -s
16
33aaaec59991 update _DATE/_TIME compiler chatter reduction bits.
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 12
diff changeset
   707
ENV =		/usr/bin/env
5682
94c0ca64c022 15558602 TCL_LD_SEARCH_FLAGS is wrongly defined in tclConfig.sh
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5678
diff changeset
   708
FIND =		/usr/bin/find
43
9f5ebe30300c switch to CBE sunstudio12.1 compilers
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 40
diff changeset
   709
INSTALL =	/usr/bin/ginstall
3817
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 3750
diff changeset
   710
GNU_GREP =	/usr/gnu/bin/grep
138
089c2065503f 7016734 move pz7ip from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents: 131
diff changeset
   711
CHMOD =		/usr/bin/chmod
224
b0ca638fab1b 7017965 Integrate BIND in to userland consolidation
Stacey Marshall <Stacey.Marshall@Oracle.COM>
parents: 220
diff changeset
   712
NAWK =		/usr/bin/nawk
5682
94c0ca64c022 15558602 TCL_LD_SEARCH_FLAGS is wrongly defined in tclConfig.sh
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5678
diff changeset
   713
TAR =		/usr/bin/tar
224
b0ca638fab1b 7017965 Integrate BIND in to userland consolidation
Stacey Marshall <Stacey.Marshall@Oracle.COM>
parents: 220
diff changeset
   714
TEE =		/usr/bin/tee
61
7684fe2a9eb5 7011958 some things lost during move to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 59
diff changeset
   715
7684fe2a9eb5 7011958 some things lost during move to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 59
diff changeset
   716
INS.dir=        $(INSTALL) -d $@
7684fe2a9eb5 7011958 some things lost during move to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 59
diff changeset
   717
INS.file=       $(INSTALL) -m 444 $< $(@D)
7684fe2a9eb5 7011958 some things lost during move to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 59
diff changeset
   718
5125
34cc580c62c2 21029732 PKG_CONFIG_PATH should be included in CONFIGURE_ENV and BUILD_ENV
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5066
diff changeset
   719
#
34cc580c62c2 21029732 PKG_CONFIG_PATH should be included in CONFIGURE_ENV and BUILD_ENV
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5066
diff changeset
   720
# To simplify adding directories to PKG_CONFIG_PATH, since += adds spaces, not :
34cc580c62c2 21029732 PKG_CONFIG_PATH should be included in CONFIGURE_ENV and BUILD_ENV
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5066
diff changeset
   721
# use PKG_CONFIG_PATHS += ... and the following will convert to the : form
34cc580c62c2 21029732 PKG_CONFIG_PATH should be included in CONFIGURE_ENV and BUILD_ENV
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5066
diff changeset
   722
#
206
a4474882bf60 7010355 python needs to be packaged to separate out non-core dependencies
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 200
diff changeset
   723
PKG_CONFIG_PATH.32 = /usr/lib/pkgconfig
a4474882bf60 7010355 python needs to be packaged to separate out non-core dependencies
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 200
diff changeset
   724
PKG_CONFIG_PATH.64 = /usr/lib/$(MACH64)/pkgconfig
5125
34cc580c62c2 21029732 PKG_CONFIG_PATH should be included in CONFIGURE_ENV and BUILD_ENV
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5066
diff changeset
   725
PKG_CONFIG_DEFAULT = $(PKG_CONFIG_PATH.$(BITS))
34cc580c62c2 21029732 PKG_CONFIG_PATH should be included in CONFIGURE_ENV and BUILD_ENV
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5066
diff changeset
   726
PKG_CONFIG_PATH    = $(subst $(space),:,$(strip \
34cc580c62c2 21029732 PKG_CONFIG_PATH should be included in CONFIGURE_ENV and BUILD_ENV
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5066
diff changeset
   727
			$(PKG_CONFIG_PATHS) $(PKG_CONFIG_DEFAULT)))
206
a4474882bf60 7010355 python needs to be packaged to separate out non-core dependencies
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 200
diff changeset
   728
61
7684fe2a9eb5 7011958 some things lost during move to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 59
diff changeset
   729
#
99
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   730
# C preprocessor flag sets to ease feature selection.  Add the required
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   731
# feature to your Makefile with CPPFLAGS += $(FEATURE_MACRO) and add to
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   732
# the component build with CONFIGURE_OPTIONS += CPPFLAGS="$(CPPFLAGS)" or
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   733
# similiar.
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   734
#
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   735
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   736
# Enables visibility of some c99 math functions that aren't visible by default.
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   737
# What other side-effects are there?
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   738
CPP_C99_EXTENDED_MATH =	-D_STDC_99
61
7684fe2a9eb5 7011958 some things lost during move to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 59
diff changeset
   739
99
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   740
# Enables large file support for components that have no other means of doing
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   741
# so.  Use CPP_LARGEFILES and not the .32/.64 variety directly
1056
b2ec61db2a04 15845939 versionless python manifests
Danek Duvall <danek.duvall@oracle.com>
parents: 1053
diff changeset
   742
CPP_LARGEFILES.32 :=	$(shell getconf LFS_CFLAGS)
b2ec61db2a04 15845939 versionless python manifests
Danek Duvall <danek.duvall@oracle.com>
parents: 1053
diff changeset
   743
CPP_LARGEFILES.64 :=	$(shell getconf LFS64_CFLAGS)
99
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   744
CPP_LARGEFILES =		$(CPP_LARGEFILES.$(BITS))
61
7684fe2a9eb5 7011958 some things lost during move to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 59
diff changeset
   745
99
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   746
# Enables some #pragma redefine_extname to POSIX-compliant Standard C Library
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   747
# functions. Also avoids the component's #define _POSIX_C_SOURCE to some value
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   748
# we currently do not support.
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   749
CPP_POSIX =	-D_POSIX_C_SOURCE=200112L -D_POSIX_PTHREAD_SEMANTICS
61
7684fe2a9eb5 7011958 some things lost during move to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 59
diff changeset
   750
7684fe2a9eb5 7011958 some things lost during move to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 59
diff changeset
   751
# XPG6 mode.  This option enables XPG6 conformance, plus extensions.
7684fe2a9eb5 7011958 some things lost during move to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 59
diff changeset
   752
# Amongst other things, this option will cause system calls like
7684fe2a9eb5 7011958 some things lost during move to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 59
diff changeset
   753
# popen (3C) and system (3C) to invoke the standards-conforming
99
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   754
# shell, /usr/xpg4/bin/sh, instead of /usr/bin/sh.  Add studio_XPG6MODE to
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   755
# CFLAGS instead of using this directly
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   756
CPP_XPG6MODE=	-D_XOPEN_SOURCE=600 -D__EXTENSIONS__=1 -D_XPG6
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   757
200
936900594dba 7031770 libmng needs to move to Userland
Stefan Teleman <stefan.teleman@oracle.com>
parents: 186
diff changeset
   758
# XPG5 mode. These options are specific for C++, where _XPG6,
936900594dba 7031770 libmng needs to move to Userland
Stefan Teleman <stefan.teleman@oracle.com>
parents: 186
diff changeset
   759
# _XOPEN_SOURCE=600 and C99 are illegal. -D__EXTENSIONS__=1 is legal in C++.
936900594dba 7031770 libmng needs to move to Userland
Stefan Teleman <stefan.teleman@oracle.com>
parents: 186
diff changeset
   760
CPP_XPG5MODE=   -D_XOPEN_SOURCE=500 -D__EXTENSIONS__=1 -D_XPG5
99
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   761
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   762
#
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   763
# Studio C compiler flag sets to ease feature selection.  Add the required
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   764
# feature to your Makefile with CFLAGS += $(FEATURE_MACRO) and add to the
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   765
# component build with CONFIGURE_OPTIONS += CFLAGS="$(CFLAGS)" or similiar.
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   766
#
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   767
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   768
# Generate 32/64 bit objects
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   769
CC_BITS =	-m$(BITS)
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   770
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   771
# Code generation instruction set and optimization 'hints'.  Use studio_XBITS
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   772
# and not the .arch.bits variety directly.
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   773
studio_XBITS.sparc.32 =	-xtarget=ultra2 -xarch=sparcvis -xchip=ultra2
796
7fa97e814929 7035978 parfait support for userland bits (fix sparc)
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 774
diff changeset
   774
studio_XBITS.sparc.64 =	
7fa97e814929 7035978 parfait support for userland bits (fix sparc)
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 774
diff changeset
   775
ifneq   ($(strip $(PARFAIT_BUILD)),yes)
7fa97e814929 7035978 parfait support for userland bits (fix sparc)
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 774
diff changeset
   776
studio_XBITS.sparc.64 += -xtarget=ultra2
7fa97e814929 7035978 parfait support for userland bits (fix sparc)
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 774
diff changeset
   777
endif
7fa97e814929 7035978 parfait support for userland bits (fix sparc)
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 774
diff changeset
   778
studio_XBITS.sparc.64 += -xarch=sparcvis -xchip=ultra2
102
1a8b07a3e826 7020772 userland build should provide more macros for common flags (fix cflags)
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 99
diff changeset
   779
studio_XBITS.i386.32 =	-xchip=pentium
108
2cfc48b87a85 7020772 userland build should provide more macros for common flags (fix cflags)
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 105
diff changeset
   780
studio_XBITS.i386.64 =	-xchip=generic -Ui386 -U__i386
102
1a8b07a3e826 7020772 userland build should provide more macros for common flags (fix cflags)
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 99
diff changeset
   781
studio_XBITS = $(studio_XBITS.$(MACH).$(BITS))
61
7684fe2a9eb5 7011958 some things lost during move to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 59
diff changeset
   782
99
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   783
# Turn on recognition of supported C99 language features and enable the 1999 C
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   784
# standard library semantics of routines that appear in	both the 1990 and
5125
34cc580c62c2 21029732 PKG_CONFIG_PATH should be included in CONFIGURE_ENV and BUILD_ENV
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5066
diff changeset
   785
# 1999 C standard. To use set studio_C99MODE=$(studio_C99_ENABLE) in your
99
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   786
# component Makefile.
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   787
studio_C99_ENABLE =		-xc99=all
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   788
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   789
# Turn off recognition of C99 language features, and do not enable the 1999 C
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   790
# standard library semantics of routines that appeared in both the 1990	and
5125
34cc580c62c2 21029732 PKG_CONFIG_PATH should be included in CONFIGURE_ENV and BUILD_ENV
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5066
diff changeset
   791
# 1999 C standard.  To use set studio_C99MODE=$(studio_C99_DISABLE) in your
99
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   792
# component Makefile.
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   793
studio_C99_DISABLE =	-xc99=none
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   794
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   795
# Use the compiler default 'xc99=all,no_lib'
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   796
studio_C99MODE =
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   797
200
936900594dba 7031770 libmng needs to move to Userland
Stefan Teleman <stefan.teleman@oracle.com>
parents: 186
diff changeset
   798
# For C++, compatibility with C99 (which is technically illegal) is
936900594dba 7031770 libmng needs to move to Userland
Stefan Teleman <stefan.teleman@oracle.com>
parents: 186
diff changeset
   799
# enabled in a different way. So, we must use a different macro for it.
936900594dba 7031770 libmng needs to move to Userland
Stefan Teleman <stefan.teleman@oracle.com>
parents: 186
diff changeset
   800
studio_cplusplus_C99_ENABLE = 	-xlang=c99
936900594dba 7031770 libmng needs to move to Userland
Stefan Teleman <stefan.teleman@oracle.com>
parents: 186
diff changeset
   801
936900594dba 7031770 libmng needs to move to Userland
Stefan Teleman <stefan.teleman@oracle.com>
parents: 186
diff changeset
   802
# Turn it off.
936900594dba 7031770 libmng needs to move to Userland
Stefan Teleman <stefan.teleman@oracle.com>
parents: 186
diff changeset
   803
studio_cplusplus_C99_DISABLE =
936900594dba 7031770 libmng needs to move to Userland
Stefan Teleman <stefan.teleman@oracle.com>
parents: 186
diff changeset
   804
936900594dba 7031770 libmng needs to move to Userland
Stefan Teleman <stefan.teleman@oracle.com>
parents: 186
diff changeset
   805
# And this is the macro you should actually use
936900594dba 7031770 libmng needs to move to Userland
Stefan Teleman <stefan.teleman@oracle.com>
parents: 186
diff changeset
   806
studio_cplusplus_C99MODE = 
936900594dba 7031770 libmng needs to move to Userland
Stefan Teleman <stefan.teleman@oracle.com>
parents: 186
diff changeset
   807
99
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   808
# Allow zero-sized struct/union declarations and void functions with return
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   809
# statements.
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   810
studio_FEATURES_EXTENSIONS =	-features=extensions
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   811
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   812
# Control the Studio optimization level.
5125
34cc580c62c2 21029732 PKG_CONFIG_PATH should be included in CONFIGURE_ENV and BUILD_ENV
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5066
diff changeset
   813
studio_OPT.sparc.32 ?=	-xO4
34cc580c62c2 21029732 PKG_CONFIG_PATH should be included in CONFIGURE_ENV and BUILD_ENV
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5066
diff changeset
   814
studio_OPT.sparc.64 ?=	-xO4
34cc580c62c2 21029732 PKG_CONFIG_PATH should be included in CONFIGURE_ENV and BUILD_ENV
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5066
diff changeset
   815
studio_OPT.i386.32 ?=	-xO4
34cc580c62c2 21029732 PKG_CONFIG_PATH should be included in CONFIGURE_ENV and BUILD_ENV
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5066
diff changeset
   816
studio_OPT.i386.64 ?=	-xO4
34cc580c62c2 21029732 PKG_CONFIG_PATH should be included in CONFIGURE_ENV and BUILD_ENV
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5066
diff changeset
   817
studio_OPT ?=		$(studio_OPT.$(MACH).$(BITS))
99
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   818
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   819
# Studio PIC code generation.  Use CC_PIC instead to select PIC code generation.
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   820
studio_PIC = 	-KPIC -DPIC
61
7684fe2a9eb5 7011958 some things lost during move to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 59
diff changeset
   821
7684fe2a9eb5 7011958 some things lost during move to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 59
diff changeset
   822
# The Sun Studio 11 compiler has changed the behaviour of integer
7684fe2a9eb5 7011958 some things lost during move to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 59
diff changeset
   823
# wrap arounds and so a flag is needed to use the legacy behaviour
7684fe2a9eb5 7011958 some things lost during move to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 59
diff changeset
   824
# (without this flag panics/hangs could be exposed within the source).
99
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   825
# This is used through studio_IROPTS, not the 'sparc' variety.
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   826
studio_IROPTS.sparc =	-W2,-xwrap_int
102
1a8b07a3e826 7020772 userland build should provide more macros for common flags (fix cflags)
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 99
diff changeset
   827
studio_IROPTS =		$(studio_IROPTS.$(MACH))
99
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   828
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   829
# Control register usage for generated code.  SPARC ABI requires system
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   830
# libraries not to use application registers.  x86 requires 'no%frameptr' at
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   831
# x04 or higher.
459
c7579764bc73 7071286 workaround 7030022 (-xregs=no%appl not working on sparc)
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 454
diff changeset
   832
c7579764bc73 7071286 workaround 7030022 (-xregs=no%appl not working on sparc)
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 454
diff changeset
   833
# We should just use -xregs but we need to workaround 7030022. Note
c7579764bc73 7071286 workaround 7030022 (-xregs=no%appl not working on sparc)
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 454
diff changeset
   834
# that we can't use the (documented) -Wc,-xregs workaround because
c7579764bc73 7071286 workaround 7030022 (-xregs=no%appl not working on sparc)
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 454
diff changeset
   835
# libtool really hates -Wc and thinks it should be -Wl. Instead
c7579764bc73 7071286 workaround 7030022 (-xregs=no%appl not working on sparc)
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 454
diff changeset
   836
# we use an (undocumented) option which actually happens to be what
c7579764bc73 7071286 workaround 7030022 (-xregs=no%appl not working on sparc)
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 454
diff changeset
   837
# CC would use.
c7579764bc73 7071286 workaround 7030022 (-xregs=no%appl not working on sparc)
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 454
diff changeset
   838
studio_XREGS.sparc =	-Qoption cg -xregs=no%appl
99
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   839
studio_XREGS.i386 =	-xregs=no%frameptr
102
1a8b07a3e826 7020772 userland build should provide more macros for common flags (fix cflags)
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 99
diff changeset
   840
studio_XREGS =		$(studio_XREGS.$(MACH))
99
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   841
459
c7579764bc73 7071286 workaround 7030022 (-xregs=no%appl not working on sparc)
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 454
diff changeset
   842
gcc_XREGS.sparc =	-mno-app-regs
c7579764bc73 7071286 workaround 7030022 (-xregs=no%appl not working on sparc)
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 454
diff changeset
   843
gcc_XREGS.i386 =
c7579764bc73 7071286 workaround 7030022 (-xregs=no%appl not working on sparc)
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 454
diff changeset
   844
gcc_XREGS =		$(gcc_XREGS.$(MACH))
c7579764bc73 7071286 workaround 7030022 (-xregs=no%appl not working on sparc)
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 454
diff changeset
   845
109
07cc6a1a08ad 7020772 userland build should provide more macros for common flags (add missing)
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 108
diff changeset
   846
# Set data alignment on sparc to reasonable values, 8 byte alignment for 32 bit
07cc6a1a08ad 7020772 userland build should provide more macros for common flags (add missing)
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 108
diff changeset
   847
# objects and 16 byte alignment for 64 bit objects.  This is added to CFLAGS by
07cc6a1a08ad 7020772 userland build should provide more macros for common flags (add missing)
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 108
diff changeset
   848
# default.
07cc6a1a08ad 7020772 userland build should provide more macros for common flags (add missing)
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 108
diff changeset
   849
studio_ALIGN.sparc.32 =	-xmemalign=8s
07cc6a1a08ad 7020772 userland build should provide more macros for common flags (add missing)
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 108
diff changeset
   850
studio_ALIGN.sparc.64 =	-xmemalign=16s
07cc6a1a08ad 7020772 userland build should provide more macros for common flags (add missing)
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 108
diff changeset
   851
studio_ALIGN =		$(studio_ALIGN.$(MACH).$(BITS))
07cc6a1a08ad 7020772 userland build should provide more macros for common flags (add missing)
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 108
diff changeset
   852
07cc6a1a08ad 7020772 userland build should provide more macros for common flags (add missing)
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 108
diff changeset
   853
# Studio shorthand for building multi-threaded code,  enables -D_REENTRANT and
07cc6a1a08ad 7020772 userland build should provide more macros for common flags (add missing)
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 108
diff changeset
   854
# linking with threadin support.  This is added to CFLAGS by default, override
07cc6a1a08ad 7020772 userland build should provide more macros for common flags (add missing)
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 108
diff changeset
   855
# studio_MT to turn this off.
07cc6a1a08ad 7020772 userland build should provide more macros for common flags (add missing)
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 108
diff changeset
   856
studio_MT =		-mt
07cc6a1a08ad 7020772 userland build should provide more macros for common flags (add missing)
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 108
diff changeset
   857
99
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   858
# See CPP_XPG6MODE comment above.
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   859
studio_XPG6MODE =	$(studio_C99MODE) $(CPP_XPG6MODE)
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   860
XPG6MODE =		$(studio_XPG6MODE)
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   861
200
936900594dba 7031770 libmng needs to move to Userland
Stefan Teleman <stefan.teleman@oracle.com>
parents: 186
diff changeset
   862
# See CPP_XPG5MODE comment above. You can only use this in C++, not in C99.
936900594dba 7031770 libmng needs to move to Userland
Stefan Teleman <stefan.teleman@oracle.com>
parents: 186
diff changeset
   863
studio_XPG5MODE =	$(studio_cplusplus_C99MODE) $(CPP_XPG5MODE)
936900594dba 7031770 libmng needs to move to Userland
Stefan Teleman <stefan.teleman@oracle.com>
parents: 186
diff changeset
   864
XPG5MODE =		$(studio_XPG5MODE)
936900594dba 7031770 libmng needs to move to Userland
Stefan Teleman <stefan.teleman@oracle.com>
parents: 186
diff changeset
   865
99
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   866
# Default Studio C compiler flags.  Add the required feature to your Makefile
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   867
# with CFLAGS += $(FEATURE_MACRO) and add to the component build with
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   868
# CONFIGURE_OPTIONS += CFLAGS="$(CFLAGS)" or similiar.  In most cases, it
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   869
# should not be necessary to add CFLAGS to any environment other than the
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   870
# configure environment.
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   871
CFLAGS.studio +=	$(studio_OPT) $(studio_XBITS) $(studio_XREGS) \
109
07cc6a1a08ad 7020772 userland build should provide more macros for common flags (add missing)
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 108
diff changeset
   872
			$(studio_IROPTS) $(studio_C99MODE) $(studio_ALIGN) \
07cc6a1a08ad 7020772 userland build should provide more macros for common flags (add missing)
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 108
diff changeset
   873
			$(studio_MT)
61
7684fe2a9eb5 7011958 some things lost during move to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 59
diff changeset
   874
5125
34cc580c62c2 21029732 PKG_CONFIG_PATH should be included in CONFIGURE_ENV and BUILD_ENV
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5066
diff changeset
   875
# Default Studio C++ compiler flags.  Add the required feature to your Makefile
34cc580c62c2 21029732 PKG_CONFIG_PATH should be included in CONFIGURE_ENV and BUILD_ENV
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5066
diff changeset
   876
# with CXXFLAGS += $(FEATURE_MACRO) and add to the component build with
34cc580c62c2 21029732 PKG_CONFIG_PATH should be included in CONFIGURE_ENV and BUILD_ENV
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5066
diff changeset
   877
# CONFIGURE_OPTIONS += CXXFLAGS="$(CXXFLAGS)" or similiar.  In most cases, it
34cc580c62c2 21029732 PKG_CONFIG_PATH should be included in CONFIGURE_ENV and BUILD_ENV
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5066
diff changeset
   878
# should not be necessary to add CXXFLAGS to any environment other than the
34cc580c62c2 21029732 PKG_CONFIG_PATH should be included in CONFIGURE_ENV and BUILD_ENV
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5066
diff changeset
   879
# configure environment.
34cc580c62c2 21029732 PKG_CONFIG_PATH should be included in CONFIGURE_ENV and BUILD_ENV
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5066
diff changeset
   880
CXXFLAGS.studio +=	$(studio_OPT) $(studio_XBITS) $(studio_XREGS) \
34cc580c62c2 21029732 PKG_CONFIG_PATH should be included in CONFIGURE_ENV and BUILD_ENV
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5066
diff changeset
   881
			$(studio_IROPTS) $(studio_ALIGN)
34cc580c62c2 21029732 PKG_CONFIG_PATH should be included in CONFIGURE_ENV and BUILD_ENV
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5066
diff changeset
   882
99
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   883
#
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   884
# GNU C compiler flag sets to ease feature selection.  Add the required
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   885
# feature to your Makefile with CFLAGS += $(FEATURE_MACRO) and add to the
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   886
# component build with CONFIGURE_OPTIONS += CFLAGS="$(CFLAGS)" or similiar.
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   887
#
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   888
6231
8b569784feeb 23587181 Align gcc optimizer with Solaris x86 32-bit ABI for building Userland components
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 6043
diff changeset
   889
# gcc defaults to assuming stacks are 8 byte aligned on x86, but some
8b569784feeb 23587181 Align gcc optimizer with Solaris x86 32-bit ABI for building Userland components
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 6043
diff changeset
   890
# important existing binaries use the 4 byte alignment from the SysV ABI
8b569784feeb 23587181 Align gcc optimizer with Solaris x86 32-bit ABI for building Userland components
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 6043
diff changeset
   891
# and may segv on instructions like MOVAPS that require correct alignment,
8b569784feeb 23587181 Align gcc optimizer with Solaris x86 32-bit ABI for building Userland components
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 6043
diff changeset
   892
# so we override the gcc defaults until gcc fixes - see Oracle bug 21393975
8b569784feeb 23587181 Align gcc optimizer with Solaris x86 32-bit ABI for building Userland components
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 6043
diff changeset
   893
# or upstream bug https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62281
8b569784feeb 23587181 Align gcc optimizer with Solaris x86 32-bit ABI for building Userland components
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 6043
diff changeset
   894
gcc_STACK_ALIGN.i386.32 += -mincoming-stack-boundary=2
8b569784feeb 23587181 Align gcc optimizer with Solaris x86 32-bit ABI for building Userland components
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 6043
diff changeset
   895
99
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   896
# GCC Compiler optimization flag
5125
34cc580c62c2 21029732 PKG_CONFIG_PATH should be included in CONFIGURE_ENV and BUILD_ENV
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5066
diff changeset
   897
gcc_OPT.sparc.32 ?=	-O3
34cc580c62c2 21029732 PKG_CONFIG_PATH should be included in CONFIGURE_ENV and BUILD_ENV
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5066
diff changeset
   898
gcc_OPT.sparc.64 ?=	-O3
34cc580c62c2 21029732 PKG_CONFIG_PATH should be included in CONFIGURE_ENV and BUILD_ENV
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5066
diff changeset
   899
gcc_OPT.i386.32 ?=	-O3
34cc580c62c2 21029732 PKG_CONFIG_PATH should be included in CONFIGURE_ENV and BUILD_ENV
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5066
diff changeset
   900
gcc_OPT.i386.64 ?=	-O3
6231
8b569784feeb 23587181 Align gcc optimizer with Solaris x86 32-bit ABI for building Userland components
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 6043
diff changeset
   901
gcc_OPT ?=		$(gcc_OPT.$(MACH).$(BITS)) \
8b569784feeb 23587181 Align gcc optimizer with Solaris x86 32-bit ABI for building Userland components
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 6043
diff changeset
   902
			$(gcc_STACK_ALIGN.$(MACH).$(BITS))
99
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   903
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   904
# GCC PIC code generation.  Use CC_PIC instead to select PIC code generation.
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   905
gcc_PIC =	-fPIC -DPIC
61
7684fe2a9eb5 7011958 some things lost during move to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 59
diff changeset
   906
99
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   907
# Generic macro for PIC code generation.  Use this macro instead of the
5125
34cc580c62c2 21029732 PKG_CONFIG_PATH should be included in CONFIGURE_ENV and BUILD_ENV
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5066
diff changeset
   908
# compiler-specific variant.
7245
934578b959f0 20029192 Userland should build with ld -z sx=nx* flags instead of map.noexstk
Enrico Perla <enrico.perla@oracle.com>
parents: 7130
diff changeset
   909
CC_PIC =		$($(COMPILER)_PIC)
934578b959f0 20029192 Userland should build with ld -z sx=nx* flags instead of map.noexstk
Enrico Perla <enrico.perla@oracle.com>
parents: 7130
diff changeset
   910
CC_PIC_ENABLE =		$(CC_PIC)
934578b959f0 20029192 Userland should build with ld -z sx=nx* flags instead of map.noexstk
Enrico Perla <enrico.perla@oracle.com>
parents: 7130
diff changeset
   911
CC_PIC_DISABLE =	
934578b959f0 20029192 Userland should build with ld -z sx=nx* flags instead of map.noexstk
Enrico Perla <enrico.perla@oracle.com>
parents: 7130
diff changeset
   912
CC_PIC_MODE =		$(CC_PIC_DISABLE)
99
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   913
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   914
# Default GNU C compiler flags.  Add the required feature to your Makefile
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   915
# with CFLAGS += $(FEATURE_MACRO) and add to the component build with
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   916
# CONFIGURE_OPTIONS += CFLAGS="$(CFLAGS)" or similiar.  In most cases, it
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   917
# should not be necessary to add CFLAGS to any environment other than the
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   918
# configure environment.
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   919
CFLAGS.gcc +=	$(gcc_OPT)
459
c7579764bc73 7071286 workaround 7030022 (-xregs=no%appl not working on sparc)
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 454
diff changeset
   920
CFLAGS.gcc +=	$(gcc_XREGS)
99
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   921
5125
34cc580c62c2 21029732 PKG_CONFIG_PATH should be included in CONFIGURE_ENV and BUILD_ENV
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5066
diff changeset
   922
# Default GNU C++ compiler flags.  Add the required feature to your Makefile
34cc580c62c2 21029732 PKG_CONFIG_PATH should be included in CONFIGURE_ENV and BUILD_ENV
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5066
diff changeset
   923
# with CXXFLAGS += $(FEATURE_MACRO) and add to the component build with
34cc580c62c2 21029732 PKG_CONFIG_PATH should be included in CONFIGURE_ENV and BUILD_ENV
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5066
diff changeset
   924
# CONFIGURE_OPTIONS += CXXFLAGS="$(CXXFLAGS)" or similiar.  In most cases, it
34cc580c62c2 21029732 PKG_CONFIG_PATH should be included in CONFIGURE_ENV and BUILD_ENV
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5066
diff changeset
   925
# should not be necessary to add CXXFLAGS to any environment other than the
34cc580c62c2 21029732 PKG_CONFIG_PATH should be included in CONFIGURE_ENV and BUILD_ENV
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5066
diff changeset
   926
# configure environment.
34cc580c62c2 21029732 PKG_CONFIG_PATH should be included in CONFIGURE_ENV and BUILD_ENV
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5066
diff changeset
   927
CXXFLAGS.gcc +=		$(gcc_OPT)
34cc580c62c2 21029732 PKG_CONFIG_PATH should be included in CONFIGURE_ENV and BUILD_ENV
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5066
diff changeset
   928
CXXFLAGS.gcc +=		$(gcc_XREGS)
99
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   929
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   930
# Build 32 or 64 bit objects.
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   931
CFLAGS +=	$(CC_BITS)
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   932
7245
934578b959f0 20029192 Userland should build with ld -z sx=nx* flags instead of map.noexstk
Enrico Perla <enrico.perla@oracle.com>
parents: 7130
diff changeset
   933
# Support building a binary PIE by building each unit PIC. To enable in
934578b959f0 20029192 Userland should build with ld -z sx=nx* flags instead of map.noexstk
Enrico Perla <enrico.perla@oracle.com>
parents: 7130
diff changeset
   934
# a makefile, add CC_PIC_MODE = $(CC_PIC_ENABLE)
934578b959f0 20029192 Userland should build with ld -z sx=nx* flags instead of map.noexstk
Enrico Perla <enrico.perla@oracle.com>
parents: 7130
diff changeset
   935
CFLAGS +=	$(CC_PIC_MODE)
934578b959f0 20029192 Userland should build with ld -z sx=nx* flags instead of map.noexstk
Enrico Perla <enrico.perla@oracle.com>
parents: 7130
diff changeset
   936
5125
34cc580c62c2 21029732 PKG_CONFIG_PATH should be included in CONFIGURE_ENV and BUILD_ENV
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5066
diff changeset
   937
# Add compiler-specific 'default' features
99
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   938
CFLAGS +=	$(CFLAGS.$(COMPILER))
5125
34cc580c62c2 21029732 PKG_CONFIG_PATH should be included in CONFIGURE_ENV and BUILD_ENV
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5066
diff changeset
   939
CFLAGS +=	$(CFLAGS.$(COMPILER).$(BITS))
5682
94c0ca64c022 15558602 TCL_LD_SEARCH_FLAGS is wrongly defined in tclConfig.sh
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5678
diff changeset
   940
CFLAGS +=	$(CFLAGS.$(COMPILER).$(MACH))
94c0ca64c022 15558602 TCL_LD_SEARCH_FLAGS is wrongly defined in tclConfig.sh
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5678
diff changeset
   941
CFLAGS +=	$(CFLAGS.$(COMPILER).$(MACH).$(BITS))
99
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   942
206
a4474882bf60 7010355 python needs to be packaged to separate out non-core dependencies
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 200
diff changeset
   943
# Studio C++ requires -norunpath to avoid adding its location into the RUNPATH
a4474882bf60 7010355 python needs to be packaged to separate out non-core dependencies
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 200
diff changeset
   944
# to C++ applications.
a4474882bf60 7010355 python needs to be packaged to separate out non-core dependencies
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 200
diff changeset
   945
studio_NORUNPATH =	 -norunpath
a4474882bf60 7010355 python needs to be packaged to separate out non-core dependencies
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 200
diff changeset
   946
a4474882bf60 7010355 python needs to be packaged to separate out non-core dependencies
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 200
diff changeset
   947
# To link in standard mode (the default mode) without any C++ libraries
a4474882bf60 7010355 python needs to be packaged to separate out non-core dependencies
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 200
diff changeset
   948
# (except libCrun), use studio_LIBRARY_NONE in your component Makefile.
a4474882bf60 7010355 python needs to be packaged to separate out non-core dependencies
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 200
diff changeset
   949
studio_LIBRARY_NONE =	 -library=%none
a4474882bf60 7010355 python needs to be packaged to separate out non-core dependencies
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 200
diff changeset
   950
a4474882bf60 7010355 python needs to be packaged to separate out non-core dependencies
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 200
diff changeset
   951
# Don't link C++ with any C++ Runtime or Standard C++ library
a4474882bf60 7010355 python needs to be packaged to separate out non-core dependencies
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 200
diff changeset
   952
studio_CXXLIB_NONE =	-xnolib
a4474882bf60 7010355 python needs to be packaged to separate out non-core dependencies
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 200
diff changeset
   953
a4474882bf60 7010355 python needs to be packaged to separate out non-core dependencies
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 200
diff changeset
   954
# Link C++ with the Studio C++ Runtime and Standard C++ library.  This is the
a4474882bf60 7010355 python needs to be packaged to separate out non-core dependencies
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 200
diff changeset
   955
# default for "standard" mode.
a4474882bf60 7010355 python needs to be packaged to separate out non-core dependencies
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 200
diff changeset
   956
studio_CXXLIB_CSTD =	-library=Cstd,Crun
a4474882bf60 7010355 python needs to be packaged to separate out non-core dependencies
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 200
diff changeset
   957
a4474882bf60 7010355 python needs to be packaged to separate out non-core dependencies
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 200
diff changeset
   958
# link C++ with the Studio  C++ Runtime and Apache Standard C++ library
a4474882bf60 7010355 python needs to be packaged to separate out non-core dependencies
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 200
diff changeset
   959
studio_CXXLIB_APACHE =	-library=stdcxx4,Crun
a4474882bf60 7010355 python needs to be packaged to separate out non-core dependencies
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 200
diff changeset
   960
a4474882bf60 7010355 python needs to be packaged to separate out non-core dependencies
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 200
diff changeset
   961
# Tell the compiler that we don't want the studio runpath added to the
a4474882bf60 7010355 python needs to be packaged to separate out non-core dependencies
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 200
diff changeset
   962
# linker flags.  We never want the Studio location added to the RUNPATH.
a4474882bf60 7010355 python needs to be packaged to separate out non-core dependencies
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 200
diff changeset
   963
CXXFLAGS +=	$($(COMPILER)_NORUNPATH)
a4474882bf60 7010355 python needs to be packaged to separate out non-core dependencies
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 200
diff changeset
   964
219
22d9e175d379 7041521 GNU MP to Userland
Stefan Teleman <stefan.teleman@oracle.com>
parents: 207
diff changeset
   965
# Build 32 or 64 bit objects in C++ as well.
22d9e175d379 7041521 GNU MP to Userland
Stefan Teleman <stefan.teleman@oracle.com>
parents: 207
diff changeset
   966
CXXFLAGS +=	$(CC_BITS)
22d9e175d379 7041521 GNU MP to Userland
Stefan Teleman <stefan.teleman@oracle.com>
parents: 207
diff changeset
   967
5125
34cc580c62c2 21029732 PKG_CONFIG_PATH should be included in CONFIGURE_ENV and BUILD_ENV
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5066
diff changeset
   968
# Add compiler-specific 'default' features
34cc580c62c2 21029732 PKG_CONFIG_PATH should be included in CONFIGURE_ENV and BUILD_ENV
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5066
diff changeset
   969
CXXFLAGS +=	$(CXXFLAGS.$(COMPILER))
34cc580c62c2 21029732 PKG_CONFIG_PATH should be included in CONFIGURE_ENV and BUILD_ENV
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5066
diff changeset
   970
CXXFLAGS +=	$(CXXFLAGS.$(COMPILER).$(BITS))
5682
94c0ca64c022 15558602 TCL_LD_SEARCH_FLAGS is wrongly defined in tclConfig.sh
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5678
diff changeset
   971
CXXFLAGS +=	$(CXXFLAGS.$(COMPILER).$(MACH))
94c0ca64c022 15558602 TCL_LD_SEARCH_FLAGS is wrongly defined in tclConfig.sh
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5678
diff changeset
   972
CXXFLAGS +=	$(CXXFLAGS.$(COMPILER).$(MACH).$(BITS))
94c0ca64c022 15558602 TCL_LD_SEARCH_FLAGS is wrongly defined in tclConfig.sh
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5678
diff changeset
   973
94c0ca64c022 15558602 TCL_LD_SEARCH_FLAGS is wrongly defined in tclConfig.sh
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5678
diff changeset
   974
# Add mach-specific 'default' features
94c0ca64c022 15558602 TCL_LD_SEARCH_FLAGS is wrongly defined in tclConfig.sh
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5678
diff changeset
   975
CXXFLAGS +=	$(CXXFLAGS.$(MACH))
5125
34cc580c62c2 21029732 PKG_CONFIG_PATH should be included in CONFIGURE_ENV and BUILD_ENV
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5066
diff changeset
   976
99
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   977
#
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   978
# Solaris linker flag sets to ease feature selection.  Add the required
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   979
# feature to your Makefile with LDFLAGS += $(FEATURE_MACRO) and add to the
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   980
# component build with CONFIGURE_OPTIONS += LDFLAGS="$(LDFLAGS)" or similiar.
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   981
#
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   982
206
a4474882bf60 7010355 python needs to be packaged to separate out non-core dependencies
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 200
diff changeset
   983
# set the bittedness that we want to link
a4474882bf60 7010355 python needs to be packaged to separate out non-core dependencies
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 200
diff changeset
   984
LD_BITS =	-$(BITS)
a4474882bf60 7010355 python needs to be packaged to separate out non-core dependencies
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 200
diff changeset
   985
5682
94c0ca64c022 15558602 TCL_LD_SEARCH_FLAGS is wrongly defined in tclConfig.sh
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5678
diff changeset
   986
# Note that spaces are not used after the '-z' below so that these macros can
94c0ca64c022 15558602 TCL_LD_SEARCH_FLAGS is wrongly defined in tclConfig.sh
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5678
diff changeset
   987
# be used in arguments to the compiler of the form -Wl,$(LD_Z_*).
94c0ca64c022 15558602 TCL_LD_SEARCH_FLAGS is wrongly defined in tclConfig.sh
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5678
diff changeset
   988
99
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   989
# Reduce the symbol table size, effectively conflicting with -g.  We should
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   990
# get linker guidance here.
5682
94c0ca64c022 15558602 TCL_LD_SEARCH_FLAGS is wrongly defined in tclConfig.sh
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5678
diff changeset
   991
LD_Z_REDLOCSYM =	-zredlocsym
99
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   992
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   993
# Cause the linker to rescan archive libraries and resolve remaining unresolved
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   994
# symbols recursively until all symbols are resolved.  Components should be
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   995
# linking in the libraries they need, in the required order.  This should
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   996
# only be required if the component's native build is horribly broken.
5682
94c0ca64c022 15558602 TCL_LD_SEARCH_FLAGS is wrongly defined in tclConfig.sh
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5678
diff changeset
   997
LD_Z_RESCAN_NOW =	-zrescan-now
99
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
   998
5682
94c0ca64c022 15558602 TCL_LD_SEARCH_FLAGS is wrongly defined in tclConfig.sh
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5678
diff changeset
   999
LD_Z_TEXT =		-ztext
99
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
  1000
766
58402b94c13b 7159254 Userland adjustments to ease Studio 12.3 transition
Rich Burridge <rich.burridge@oracle.com>
parents: 706
diff changeset
  1001
# make sure that -lc is always present when building shared objects.
58402b94c13b 7159254 Userland adjustments to ease Studio 12.3 transition
Rich Burridge <rich.burridge@oracle.com>
parents: 706
diff changeset
  1002
LD_DEF_LIBS +=		-lc
58402b94c13b 7159254 Userland adjustments to ease Studio 12.3 transition
Rich Burridge <rich.burridge@oracle.com>
parents: 706
diff changeset
  1003
99
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
  1004
# make sure all symbols are defined.
5682
94c0ca64c022 15558602 TCL_LD_SEARCH_FLAGS is wrongly defined in tclConfig.sh
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5678
diff changeset
  1005
LD_Z_DEFS =		-zdefs
99
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
  1006
170
14cadb780400 7033275 userland should default vendor to 'Oracle Corporation'
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 166
diff changeset
  1007
# eliminate unreferenced dynamic dependencies
5682
94c0ca64c022 15558602 TCL_LD_SEARCH_FLAGS is wrongly defined in tclConfig.sh
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5678
diff changeset
  1008
LD_Z_IGNORE =		-zignore
170
14cadb780400 7033275 userland should default vendor to 'Oracle Corporation'
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 166
diff changeset
  1009
1512
f57514e19ede 17596443 nm -p output change breaks userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 1505
diff changeset
  1010
# eliminate comments
5682
94c0ca64c022 15558602 TCL_LD_SEARCH_FLAGS is wrongly defined in tclConfig.sh
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5678
diff changeset
  1011
LD_Z_STRIP_CLASS =	-zstrip-class=comment
1512
f57514e19ede 17596443 nm -p output change breaks userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 1505
diff changeset
  1012
99
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
  1013
# use direct binding
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
  1014
LD_B_DIRECT =		-Bdirect
61
7684fe2a9eb5 7011958 some things lost during move to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 59
diff changeset
  1015
7245
934578b959f0 20029192 Userland should build with ld -z sx=nx* flags instead of map.noexstk
Enrico Perla <enrico.perla@oracle.com>
parents: 7130
diff changeset
  1016
# build a PIE binary
934578b959f0 20029192 Userland should build with ld -z sx=nx* flags instead of map.noexstk
Enrico Perla <enrico.perla@oracle.com>
parents: 7130
diff changeset
  1017
# to enable creating a PIE binary, add LD_Z_PIE_MODE = $(LD_Z_PIE_ENABLE)
934578b959f0 20029192 Userland should build with ld -z sx=nx* flags instead of map.noexstk
Enrico Perla <enrico.perla@oracle.com>
parents: 7130
diff changeset
  1018
# to the component makefile, and ensure that it's built PIC (CC_PIC_ENABLE).
934578b959f0 20029192 Userland should build with ld -z sx=nx* flags instead of map.noexstk
Enrico Perla <enrico.perla@oracle.com>
parents: 7130
diff changeset
  1019
LD_Z_PIE_ENABLE =	-ztype=pie
934578b959f0 20029192 Userland should build with ld -z sx=nx* flags instead of map.noexstk
Enrico Perla <enrico.perla@oracle.com>
parents: 7130
diff changeset
  1020
LD_Z_PIE_DISABLE =
934578b959f0 20029192 Userland should build with ld -z sx=nx* flags instead of map.noexstk
Enrico Perla <enrico.perla@oracle.com>
parents: 7130
diff changeset
  1021
LD_Z_PIE_MODE =		$(LD_Z_PIE_DISABLE)
934578b959f0 20029192 Userland should build with ld -z sx=nx* flags instead of map.noexstk
Enrico Perla <enrico.perla@oracle.com>
parents: 7130
diff changeset
  1022
934578b959f0 20029192 Userland should build with ld -z sx=nx* flags instead of map.noexstk
Enrico Perla <enrico.perla@oracle.com>
parents: 7130
diff changeset
  1023
# generic macro names for enabling/disabling security extensions
934578b959f0 20029192 Userland should build with ld -z sx=nx* flags instead of map.noexstk
Enrico Perla <enrico.perla@oracle.com>
parents: 7130
diff changeset
  1024
# -z<extname> is deprecated, but supported, on S12, in favor of
934578b959f0 20029192 Userland should build with ld -z sx=nx* flags instead of map.noexstk
Enrico Perla <enrico.perla@oracle.com>
parents: 7130
diff changeset
  1025
# the more flexible -zsx=<extname> format. Security extensions which
934578b959f0 20029192 Userland should build with ld -z sx=nx* flags instead of map.noexstk
Enrico Perla <enrico.perla@oracle.com>
parents: 7130
diff changeset
  1026
# are not supported on S11 use -zsx=<extname> by default.
934578b959f0 20029192 Userland should build with ld -z sx=nx* flags instead of map.noexstk
Enrico Perla <enrico.perla@oracle.com>
parents: 7130
diff changeset
  1027
934578b959f0 20029192 Userland should build with ld -z sx=nx* flags instead of map.noexstk
Enrico Perla <enrico.perla@oracle.com>
parents: 7130
diff changeset
  1028
ifeq ($(OS_VERSION), 5.11)
934578b959f0 20029192 Userland should build with ld -z sx=nx* flags instead of map.noexstk
Enrico Perla <enrico.perla@oracle.com>
parents: 7130
diff changeset
  1029
ASLR_ENABLE = 			-zaslr=enable
934578b959f0 20029192 Userland should build with ld -z sx=nx* flags instead of map.noexstk
Enrico Perla <enrico.perla@oracle.com>
parents: 7130
diff changeset
  1030
ASLR_DISABLE = 			-zaslr=disable
934578b959f0 20029192 Userland should build with ld -z sx=nx* flags instead of map.noexstk
Enrico Perla <enrico.perla@oracle.com>
parents: 7130
diff changeset
  1031
ASLR_NOT_APPLICABLE = 		-zaslr=disable
934578b959f0 20029192 Userland should build with ld -z sx=nx* flags instead of map.noexstk
Enrico Perla <enrico.perla@oracle.com>
parents: 7130
diff changeset
  1032
934578b959f0 20029192 Userland should build with ld -z sx=nx* flags instead of map.noexstk
Enrico Perla <enrico.perla@oracle.com>
parents: 7130
diff changeset
  1033
NXSTACK_ENABLE =		-znxstack=enable
934578b959f0 20029192 Userland should build with ld -z sx=nx* flags instead of map.noexstk
Enrico Perla <enrico.perla@oracle.com>
parents: 7130
diff changeset
  1034
NXSTACK_DISABLE =		-znxstack=disable
934578b959f0 20029192 Userland should build with ld -z sx=nx* flags instead of map.noexstk
Enrico Perla <enrico.perla@oracle.com>
parents: 7130
diff changeset
  1035
NXSTACK_NOT_APPLICABLE =	-znxstack=disable
934578b959f0 20029192 Userland should build with ld -z sx=nx* flags instead of map.noexstk
Enrico Perla <enrico.perla@oracle.com>
parents: 7130
diff changeset
  1036
934578b959f0 20029192 Userland should build with ld -z sx=nx* flags instead of map.noexstk
Enrico Perla <enrico.perla@oracle.com>
parents: 7130
diff changeset
  1037
NXHEAP_ENABLE =			-znxheap=enable
934578b959f0 20029192 Userland should build with ld -z sx=nx* flags instead of map.noexstk
Enrico Perla <enrico.perla@oracle.com>
parents: 7130
diff changeset
  1038
NXHEAP_DISABLE =		-znxheap=disable
934578b959f0 20029192 Userland should build with ld -z sx=nx* flags instead of map.noexstk
Enrico Perla <enrico.perla@oracle.com>
parents: 7130
diff changeset
  1039
NXHEAP_NOT_APPLICABLE =		-znxheap=disable
934578b959f0 20029192 Userland should build with ld -z sx=nx* flags instead of map.noexstk
Enrico Perla <enrico.perla@oracle.com>
parents: 7130
diff changeset
  1040
else
934578b959f0 20029192 Userland should build with ld -z sx=nx* flags instead of map.noexstk
Enrico Perla <enrico.perla@oracle.com>
parents: 7130
diff changeset
  1041
ASLR_ENABLE = 			-zsx=aslr=enable
934578b959f0 20029192 Userland should build with ld -z sx=nx* flags instead of map.noexstk
Enrico Perla <enrico.perla@oracle.com>
parents: 7130
diff changeset
  1042
ASLR_DISABLE = 			-zsx=aslr=disable
934578b959f0 20029192 Userland should build with ld -z sx=nx* flags instead of map.noexstk
Enrico Perla <enrico.perla@oracle.com>
parents: 7130
diff changeset
  1043
ASLR_NOT_APPLICABLE = 		-zsx=aslr=disable
5682
94c0ca64c022 15558602 TCL_LD_SEARCH_FLAGS is wrongly defined in tclConfig.sh
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5678
diff changeset
  1044
7245
934578b959f0 20029192 Userland should build with ld -z sx=nx* flags instead of map.noexstk
Enrico Perla <enrico.perla@oracle.com>
parents: 7130
diff changeset
  1045
NXSTACK_ENABLE =		-zsx=nxstack=enable
934578b959f0 20029192 Userland should build with ld -z sx=nx* flags instead of map.noexstk
Enrico Perla <enrico.perla@oracle.com>
parents: 7130
diff changeset
  1046
NXSTACK_DISABLE =		-zsx=nxstack=disable
934578b959f0 20029192 Userland should build with ld -z sx=nx* flags instead of map.noexstk
Enrico Perla <enrico.perla@oracle.com>
parents: 7130
diff changeset
  1047
NXSTACK_NOT_APPLICABLE =	-zsx=nxstack=disable
934578b959f0 20029192 Userland should build with ld -z sx=nx* flags instead of map.noexstk
Enrico Perla <enrico.perla@oracle.com>
parents: 7130
diff changeset
  1048
934578b959f0 20029192 Userland should build with ld -z sx=nx* flags instead of map.noexstk
Enrico Perla <enrico.perla@oracle.com>
parents: 7130
diff changeset
  1049
NXHEAP_ENABLE =			-zsx=nxheap=enable
934578b959f0 20029192 Userland should build with ld -z sx=nx* flags instead of map.noexstk
Enrico Perla <enrico.perla@oracle.com>
parents: 7130
diff changeset
  1050
NXHEAP_DISABLE =		-zsx=nxheap=disable
934578b959f0 20029192 Userland should build with ld -z sx=nx* flags instead of map.noexstk
Enrico Perla <enrico.perla@oracle.com>
parents: 7130
diff changeset
  1051
NXHEAP_NOT_APPLICABLE =		-zsx=nxheap=disable
934578b959f0 20029192 Userland should build with ld -z sx=nx* flags instead of map.noexstk
Enrico Perla <enrico.perla@oracle.com>
parents: 7130
diff changeset
  1052
934578b959f0 20029192 Userland should build with ld -z sx=nx* flags instead of map.noexstk
Enrico Perla <enrico.perla@oracle.com>
parents: 7130
diff changeset
  1053
ADIHEAP_ENABLE.sparcv9 =	-zsx=adiheap=enable
7540
44a10ef5a23c 25292546 ADIHEAP_DISBLE.sparcv9 won't disable ADI
Enrico Perla <enrico.perla@oracle.com>
parents: 7469
diff changeset
  1054
ADIHEAP_DISABLE.sparcv9 =	-zsx=adiheap=disable
7245
934578b959f0 20029192 Userland should build with ld -z sx=nx* flags instead of map.noexstk
Enrico Perla <enrico.perla@oracle.com>
parents: 7130
diff changeset
  1055
ADIHEAP_ENABLE =		$(ADIHEAP_ENABLE.$(MACH64))
934578b959f0 20029192 Userland should build with ld -z sx=nx* flags instead of map.noexstk
Enrico Perla <enrico.perla@oracle.com>
parents: 7130
diff changeset
  1056
ADIHEAP_DISABLE =		$(ADIHEAP_DISABLE.$(MACH64))
934578b959f0 20029192 Userland should build with ld -z sx=nx* flags instead of map.noexstk
Enrico Perla <enrico.perla@oracle.com>
parents: 7130
diff changeset
  1057
934578b959f0 20029192 Userland should build with ld -z sx=nx* flags instead of map.noexstk
Enrico Perla <enrico.perla@oracle.com>
parents: 7130
diff changeset
  1058
ADISTACK_ENABLE.sparcv9 =	-zsx=adistack=enable
934578b959f0 20029192 Userland should build with ld -z sx=nx* flags instead of map.noexstk
Enrico Perla <enrico.perla@oracle.com>
parents: 7130
diff changeset
  1059
ADISTACK_DISABLE.sparcv9 =	-zsx=adistack=disable
934578b959f0 20029192 Userland should build with ld -z sx=nx* flags instead of map.noexstk
Enrico Perla <enrico.perla@oracle.com>
parents: 7130
diff changeset
  1060
ADISTACK_ENABLE =		$(ADISTACK_ENABLE.$(MACH64))
934578b959f0 20029192 Userland should build with ld -z sx=nx* flags instead of map.noexstk
Enrico Perla <enrico.perla@oracle.com>
parents: 7130
diff changeset
  1061
ADISTACK_DISABLE =		$(ADISTACK_DISABLE.$(MACH64))
934578b959f0 20029192 Userland should build with ld -z sx=nx* flags instead of map.noexstk
Enrico Perla <enrico.perla@oracle.com>
parents: 7130
diff changeset
  1062
endif
934578b959f0 20029192 Userland should build with ld -z sx=nx* flags instead of map.noexstk
Enrico Perla <enrico.perla@oracle.com>
parents: 7130
diff changeset
  1063
 
934578b959f0 20029192 Userland should build with ld -z sx=nx* flags instead of map.noexstk
Enrico Perla <enrico.perla@oracle.com>
parents: 7130
diff changeset
  1064
# Enable ASLR, NXHEAP and NXSTACK by default unless target build is NO_ARCH.
5682
94c0ca64c022 15558602 TCL_LD_SEARCH_FLAGS is wrongly defined in tclConfig.sh
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5678
diff changeset
  1065
ifeq ($(strip $(BUILD_BITS)),NO_ARCH)
7245
934578b959f0 20029192 Userland should build with ld -z sx=nx* flags instead of map.noexstk
Enrico Perla <enrico.perla@oracle.com>
parents: 7130
diff changeset
  1066
ASLR_MODE= 		$(ASLR_NOT_APPLICABLE)
934578b959f0 20029192 Userland should build with ld -z sx=nx* flags instead of map.noexstk
Enrico Perla <enrico.perla@oracle.com>
parents: 7130
diff changeset
  1067
NXSTACK_MODE =		$(NXSTACK_NOT_APPLICABLE)
934578b959f0 20029192 Userland should build with ld -z sx=nx* flags instead of map.noexstk
Enrico Perla <enrico.perla@oracle.com>
parents: 7130
diff changeset
  1068
NXHEAP_MODE =		$(NXHEAP_NOT_APPLICABLE)
934578b959f0 20029192 Userland should build with ld -z sx=nx* flags instead of map.noexstk
Enrico Perla <enrico.perla@oracle.com>
parents: 7130
diff changeset
  1069
ADIHEAP_MODE =
934578b959f0 20029192 Userland should build with ld -z sx=nx* flags instead of map.noexstk
Enrico Perla <enrico.perla@oracle.com>
parents: 7130
diff changeset
  1070
ADISTACK_MODE =
5682
94c0ca64c022 15558602 TCL_LD_SEARCH_FLAGS is wrongly defined in tclConfig.sh
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5678
diff changeset
  1071
else
7245
934578b959f0 20029192 Userland should build with ld -z sx=nx* flags instead of map.noexstk
Enrico Perla <enrico.perla@oracle.com>
parents: 7130
diff changeset
  1072
ASLR_MODE =		$(ASLR_ENABLE)
934578b959f0 20029192 Userland should build with ld -z sx=nx* flags instead of map.noexstk
Enrico Perla <enrico.perla@oracle.com>
parents: 7130
diff changeset
  1073
NXSTACK_MODE =		$(NXSTACK_ENABLE)
934578b959f0 20029192 Userland should build with ld -z sx=nx* flags instead of map.noexstk
Enrico Perla <enrico.perla@oracle.com>
parents: 7130
diff changeset
  1074
NXHEAP_MODE =		$(NXHEAP_ENABLE)
934578b959f0 20029192 Userland should build with ld -z sx=nx* flags instead of map.noexstk
Enrico Perla <enrico.perla@oracle.com>
parents: 7130
diff changeset
  1075
ADIHEAP_MODE =
934578b959f0 20029192 Userland should build with ld -z sx=nx* flags instead of map.noexstk
Enrico Perla <enrico.perla@oracle.com>
parents: 7130
diff changeset
  1076
ADISTACK_MODE =
5682
94c0ca64c022 15558602 TCL_LD_SEARCH_FLAGS is wrongly defined in tclConfig.sh
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5678
diff changeset
  1077
endif
1138
6e1f85fa0151 15801420 SUNBT7180909 tag the Userland consolidation binaries for ASLR
April Chin <april.chin@oracle.com>
parents: 1124
diff changeset
  1078
7245
934578b959f0 20029192 Userland should build with ld -z sx=nx* flags instead of map.noexstk
Enrico Perla <enrico.perla@oracle.com>
parents: 7130
diff changeset
  1079
# by default, turn on Address Space Layout Randomization, non-executable
934578b959f0 20029192 Userland should build with ld -z sx=nx* flags instead of map.noexstk
Enrico Perla <enrico.perla@oracle.com>
parents: 7130
diff changeset
  1080
# stack and non-executable heap for ELF executables;
6552
402379bc1b60 24385703 Turn on ASLR by default, even for Userland "library" components
Rich Burridge <rich.burridge@oracle.com>
parents: 6404
diff changeset
  1081
# to explicitly disable ASLR, set ASLR_MODE = $(ASLR_DISABLE)
7245
934578b959f0 20029192 Userland should build with ld -z sx=nx* flags instead of map.noexstk
Enrico Perla <enrico.perla@oracle.com>
parents: 7130
diff changeset
  1082
# to explicitly disable NXSTACK, set NXSTACK_MODE = $(NXSTACK_DISABLE)
934578b959f0 20029192 Userland should build with ld -z sx=nx* flags instead of map.noexstk
Enrico Perla <enrico.perla@oracle.com>
parents: 7130
diff changeset
  1083
# to explicitly disable NXHEAP, set NXHEAP_MODE = $(NXHEAP_DISABLE)
1138
6e1f85fa0151 15801420 SUNBT7180909 tag the Userland consolidation binaries for ASLR
April Chin <april.chin@oracle.com>
parents: 1124
diff changeset
  1084
# in that component's Makefile
6e1f85fa0151 15801420 SUNBT7180909 tag the Userland consolidation binaries for ASLR
April Chin <april.chin@oracle.com>
parents: 1124
diff changeset
  1085
LD_Z_ASLR =		$(ASLR_MODE)
7245
934578b959f0 20029192 Userland should build with ld -z sx=nx* flags instead of map.noexstk
Enrico Perla <enrico.perla@oracle.com>
parents: 7130
diff changeset
  1086
LD_Z_NXSTACK =		$(NXSTACK_MODE)
934578b959f0 20029192 Userland should build with ld -z sx=nx* flags instead of map.noexstk
Enrico Perla <enrico.perla@oracle.com>
parents: 7130
diff changeset
  1087
LD_Z_NXHEAP =		$(NXHEAP_MODE)
934578b959f0 20029192 Userland should build with ld -z sx=nx* flags instead of map.noexstk
Enrico Perla <enrico.perla@oracle.com>
parents: 7130
diff changeset
  1088
934578b959f0 20029192 Userland should build with ld -z sx=nx* flags instead of map.noexstk
Enrico Perla <enrico.perla@oracle.com>
parents: 7130
diff changeset
  1089
# by default, ADIHEAP and ADISTACK are opt-in.
934578b959f0 20029192 Userland should build with ld -z sx=nx* flags instead of map.noexstk
Enrico Perla <enrico.perla@oracle.com>
parents: 7130
diff changeset
  1090
# to explicitly enable ADIHEAP, set ADIHEAP_MODE = $(ADIHEAP_ENABLE)
934578b959f0 20029192 Userland should build with ld -z sx=nx* flags instead of map.noexstk
Enrico Perla <enrico.perla@oracle.com>
parents: 7130
diff changeset
  1091
# to explicitly disable ADIHEAP, set ADIHEAP_MODE = $(ADIHEAP_DISABLE)
934578b959f0 20029192 Userland should build with ld -z sx=nx* flags instead of map.noexstk
Enrico Perla <enrico.perla@oracle.com>
parents: 7130
diff changeset
  1092
# to explicitly enable ADISTACK, set ADISTACK_MODE = $(ADISTACK_ENABLE)
934578b959f0 20029192 Userland should build with ld -z sx=nx* flags instead of map.noexstk
Enrico Perla <enrico.perla@oracle.com>
parents: 7130
diff changeset
  1093
# to explicitly disable ADISTACK, set ADISTACK_MODE = $(ADISTACK_DISABLE)
934578b959f0 20029192 Userland should build with ld -z sx=nx* flags instead of map.noexstk
Enrico Perla <enrico.perla@oracle.com>
parents: 7130
diff changeset
  1094
#
934578b959f0 20029192 Userland should build with ld -z sx=nx* flags instead of map.noexstk
Enrico Perla <enrico.perla@oracle.com>
parents: 7130
diff changeset
  1095
# ADIHEAP and ADISTACK are not supported on Solaris 11.
934578b959f0 20029192 Userland should build with ld -z sx=nx* flags instead of map.noexstk
Enrico Perla <enrico.perla@oracle.com>
parents: 7130
diff changeset
  1096
#
934578b959f0 20029192 Userland should build with ld -z sx=nx* flags instead of map.noexstk
Enrico Perla <enrico.perla@oracle.com>
parents: 7130
diff changeset
  1097
ifneq ($(OS_VERSION), 5.11)
934578b959f0 20029192 Userland should build with ld -z sx=nx* flags instead of map.noexstk
Enrico Perla <enrico.perla@oracle.com>
parents: 7130
diff changeset
  1098
LD_Z_ADIHEAP =		$(ADIHEAP_MODE)
934578b959f0 20029192 Userland should build with ld -z sx=nx* flags instead of map.noexstk
Enrico Perla <enrico.perla@oracle.com>
parents: 7130
diff changeset
  1099
LD_Z_ADISTACK =		$(ADISTACK_MODE)
934578b959f0 20029192 Userland should build with ld -z sx=nx* flags instead of map.noexstk
Enrico Perla <enrico.perla@oracle.com>
parents: 7130
diff changeset
  1100
endif
1138
6e1f85fa0151 15801420 SUNBT7180909 tag the Userland consolidation binaries for ASLR
April Chin <april.chin@oracle.com>
parents: 1124
diff changeset
  1101
99
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
  1102
#
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
  1103
# More Solaris linker flags that we want to be sure that everyone gets.  This
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
  1104
# is automatically added to the calling environment during the 'build' and
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
  1105
# 'install' phases of the component build.  Each individual feature can be
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
  1106
# turned off by adding FEATURE_MACRO= to the component Makefile.
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
  1107
#
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
  1108
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
  1109
# Create a non-executable bss segment when linking.
5682
94c0ca64c022 15558602 TCL_LD_SEARCH_FLAGS is wrongly defined in tclConfig.sh
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5678
diff changeset
  1110
LD_MAP_NOEXBSS.i386 =	-M /usr/lib/ld/map.noexbss
94c0ca64c022 15558602 TCL_LD_SEARCH_FLAGS is wrongly defined in tclConfig.sh
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5678
diff changeset
  1111
LD_MAP_NOEXBSS.sparc =	-M /usr/lib/ld/map.noexbss
61
7684fe2a9eb5 7011958 some things lost during move to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 59
diff changeset
  1112
99
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
  1113
# Create a non-executable data segment when linking.  Due to PLT needs, the
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
  1114
# data segment must be executable on sparc, but the bss does not.
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
  1115
# see mapfile comments for more information
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
  1116
LD_MAP_NOEXDATA.i386 =	-M /usr/lib/ld/map.noexdata
5682
94c0ca64c022 15558602 TCL_LD_SEARCH_FLAGS is wrongly defined in tclConfig.sh
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5678
diff changeset
  1117
LD_MAP_NOEXDATA.sparc =	$(LD_MAP_NOEXBSS.$(MACH))
99
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
  1118
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
  1119
# Page alignment
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
  1120
LD_MAP_PAGEALIGN =	-M /usr/lib/ld/map.pagealign
61
7684fe2a9eb5 7011958 some things lost during move to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 59
diff changeset
  1121
99
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
  1122
# Linker options to add when only building libraries
766
58402b94c13b 7159254 Userland adjustments to ease Studio 12.3 transition
Rich Burridge <rich.burridge@oracle.com>
parents: 706
diff changeset
  1123
LD_OPTIONS_SO +=	$(LD_Z_TEXT) $(LD_Z_DEFS) $(LD_DEF_LIBS)
99
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
  1124
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
  1125
# Default linker options that everyone should get.  Do not add additional
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
  1126
# libraries to this macro, as it will apply to everything linked during the
c15c9099bb44 6841644 OpenSolaris Python should support gdbm
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 94
diff changeset
  1127
# component build.
7245
934578b959f0 20029192 Userland should build with ld -z sx=nx* flags instead of map.noexstk
Enrico Perla <enrico.perla@oracle.com>
parents: 7130
diff changeset
  1128
LD_OPTIONS +=	$(LD_MAP_NOEXDATA.$(MACH)) \
1512
f57514e19ede 17596443 nm -p output change breaks userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 1505
diff changeset
  1129
		$(LD_MAP_PAGEALIGN) $(LD_B_DIRECT) $(LD_Z_IGNORE) \
f57514e19ede 17596443 nm -p output change breaks userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 1505
diff changeset
  1130
		$(LD_Z_STRIP_CLASS)
64
a4b12971cf99 7014330 has userland lost its mapfile mind?
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 62
diff changeset
  1131
7245
934578b959f0 20029192 Userland should build with ld -z sx=nx* flags instead of map.noexstk
Enrico Perla <enrico.perla@oracle.com>
parents: 7130
diff changeset
  1132
LD_SECEXT_OPTIONS.sparc = $(LD_Z_ADIHEAP) $(LD_Z_ADISTACK)
934578b959f0 20029192 Userland should build with ld -z sx=nx* flags instead of map.noexstk
Enrico Perla <enrico.perla@oracle.com>
parents: 7130
diff changeset
  1133
LD_SECEXT_OPTIONS =	$(LD_Z_ASLR) $(LD_Z_NXSTACK) $(LD_Z_NXHEAP) \
934578b959f0 20029192 Userland should build with ld -z sx=nx* flags instead of map.noexstk
Enrico Perla <enrico.perla@oracle.com>
parents: 7130
diff changeset
  1134
			$(LD_SECEXT_OPTIONS.$(MACH))
934578b959f0 20029192 Userland should build with ld -z sx=nx* flags instead of map.noexstk
Enrico Perla <enrico.perla@oracle.com>
parents: 7130
diff changeset
  1135
1138
6e1f85fa0151 15801420 SUNBT7180909 tag the Userland consolidation binaries for ASLR
April Chin <april.chin@oracle.com>
parents: 1124
diff changeset
  1136
# only used on executables
7245
934578b959f0 20029192 Userland should build with ld -z sx=nx* flags instead of map.noexstk
Enrico Perla <enrico.perla@oracle.com>
parents: 7130
diff changeset
  1137
# executables can be ET_EXEC or ET_DYN (PIE). LD_EXEC_OPTIONS and
934578b959f0 20029192 Userland should build with ld -z sx=nx* flags instead of map.noexstk
Enrico Perla <enrico.perla@oracle.com>
parents: 7130
diff changeset
  1138
# LD_PIE_OPTIONS apply respectively. A small trick is used to link
934578b959f0 20029192 Userland should build with ld -z sx=nx* flags instead of map.noexstk
Enrico Perla <enrico.perla@oracle.com>
parents: 7130
diff changeset
  1139
# binaries with -ztype=pie, by passing it on the LD_EXEC_OPTIONS list.
934578b959f0 20029192 Userland should build with ld -z sx=nx* flags instead of map.noexstk
Enrico Perla <enrico.perla@oracle.com>
parents: 7130
diff changeset
  1140
LD_EXEC_OPTIONS =	$(LD_Z_PIE_MODE) $(LD_SECEXT_OPTIONS)
934578b959f0 20029192 Userland should build with ld -z sx=nx* flags instead of map.noexstk
Enrico Perla <enrico.perla@oracle.com>
parents: 7130
diff changeset
  1141
LD_PIE_OPTIONS =	$(LD_SECEXT_OPTIONS)
934578b959f0 20029192 Userland should build with ld -z sx=nx* flags instead of map.noexstk
Enrico Perla <enrico.perla@oracle.com>
parents: 7130
diff changeset
  1142
		
1138
6e1f85fa0151 15801420 SUNBT7180909 tag the Userland consolidation binaries for ASLR
April Chin <april.chin@oracle.com>
parents: 1124
diff changeset
  1143
62
519e6e3788ce 7013265 userland could use a tool to aid in SUNW package generation
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 61
diff changeset
  1144
# Environment variables and arguments passed into the build and install
64
a4b12971cf99 7014330 has userland lost its mapfile mind?
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 62
diff changeset
  1145
# environment(s).  These are the initial settings.
a4b12971cf99 7014330 has userland lost its mapfile mind?
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 62
diff changeset
  1146
COMPONENT_BUILD_ENV= \
1138
6e1f85fa0151 15801420 SUNBT7180909 tag the Userland consolidation binaries for ASLR
April Chin <april.chin@oracle.com>
parents: 1124
diff changeset
  1147
    LD_OPTIONS="$(LD_OPTIONS)" \
7248
6e3eadd7bb71 20029192 Userland should build with ld -z sx=nx* flags instead of map.noexstk (fix backslashes)
Enrico Perla <enrico.perla@oracle.com>
parents: 7245
diff changeset
  1148
    LD_EXEC_OPTIONS="$(LD_EXEC_OPTIONS)" \
6e3eadd7bb71 20029192 Userland should build with ld -z sx=nx* flags instead of map.noexstk (fix backslashes)
Enrico Perla <enrico.perla@oracle.com>
parents: 7245
diff changeset
  1149
    LD_PIE_OPTIONS="$(LD_PIE_OPTIONS)"
6e3eadd7bb71 20029192 Userland should build with ld -z sx=nx* flags instead of map.noexstk (fix backslashes)
Enrico Perla <enrico.perla@oracle.com>
parents: 7245
diff changeset
  1150
64
a4b12971cf99 7014330 has userland lost its mapfile mind?
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 62
diff changeset
  1151
COMPONENT_INSTALL_ENV= \
1138
6e1f85fa0151 15801420 SUNBT7180909 tag the Userland consolidation binaries for ASLR
April Chin <april.chin@oracle.com>
parents: 1124
diff changeset
  1152
    LD_OPTIONS="$(LD_OPTIONS)" \
7248
6e3eadd7bb71 20029192 Userland should build with ld -z sx=nx* flags instead of map.noexstk (fix backslashes)
Enrico Perla <enrico.perla@oracle.com>
parents: 7245
diff changeset
  1153
    LD_EXEC_OPTIONS="$(LD_EXEC_OPTIONS)" \
6e3eadd7bb71 20029192 Userland should build with ld -z sx=nx* flags instead of map.noexstk (fix backslashes)
Enrico Perla <enrico.perla@oracle.com>
parents: 7245
diff changeset
  1154
    LD_PIE_OPTIONS="$(LD_PIE_OPTIONS)"
64
a4b12971cf99 7014330 has userland lost its mapfile mind?
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 62
diff changeset
  1155
a4b12971cf99 7014330 has userland lost its mapfile mind?
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 62
diff changeset
  1156
# Add any bit-specific settings
62
519e6e3788ce 7013265 userland could use a tool to aid in SUNW package generation
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 61
diff changeset
  1157
COMPONENT_BUILD_ENV += $(COMPONENT_BUILD_ENV.$(BITS))
519e6e3788ce 7013265 userland could use a tool to aid in SUNW package generation
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 61
diff changeset
  1158
COMPONENT_BUILD_ARGS += $(COMPONENT_BUILD_ARGS.$(BITS))
519e6e3788ce 7013265 userland could use a tool to aid in SUNW package generation
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 61
diff changeset
  1159
COMPONENT_INSTALL_ENV += $(COMPONENT_INSTALL_ENV.$(BITS))
519e6e3788ce 7013265 userland could use a tool to aid in SUNW package generation
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 61
diff changeset
  1160
COMPONENT_INSTALL_ARGS += $(COMPONENT_INSTALL_ARGS.$(BITS))
181
87e11e685b1f 7003927 userland should postprocess packaged files
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 177
diff changeset
  1161
206
a4474882bf60 7010355 python needs to be packaged to separate out non-core dependencies
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 200
diff changeset
  1162
# declare these phony so that we avoid filesystem conflicts.
5682
94c0ca64c022 15558602 TCL_LD_SEARCH_FLAGS is wrongly defined in tclConfig.sh
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5678
diff changeset
  1163
.PHONY:	prep build install publish test system-test clean clobber parfait
206
a4474882bf60 7010355 python needs to be packaged to separate out non-core dependencies
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 200
diff changeset
  1164
181
87e11e685b1f 7003927 userland should postprocess packaged files
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 177
diff changeset
  1165
# If there are no tests to execute
87e11e685b1f 7003927 userland should postprocess packaged files
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 177
diff changeset
  1166
NO_TESTS =	test-nothing
87e11e685b1f 7003927 userland should postprocess packaged files
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 177
diff changeset
  1167
test-nothing:
87e11e685b1f 7003927 userland should postprocess packaged files
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 177
diff changeset
  1168
	@echo "There are no tests available at this time."
1038
3b4d8f56a1bf 15804658 SUNBT7185081-12.0 Userland could use component-hook target from SFW
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 990
diff changeset
  1169
4339
6501cf9c29f9 21116842 add system-test targets to each component Makefile and to top-level Makefiles
Stacy Yeh <stacy.yeh@oracle.com>
parents: 4302
diff changeset
  1170
# If the system tests are not implemented yet
6501cf9c29f9 21116842 add system-test targets to each component Makefile and to top-level Makefiles
Stacy Yeh <stacy.yeh@oracle.com>
parents: 4302
diff changeset
  1171
SYSTEM_TESTS_NOT_IMPLEMENTED = no-sys-tests
6501cf9c29f9 21116842 add system-test targets to each component Makefile and to top-level Makefiles
Stacy Yeh <stacy.yeh@oracle.com>
parents: 4302
diff changeset
  1172
no-sys-tests:
6501cf9c29f9 21116842 add system-test targets to each component Makefile and to top-level Makefiles
Stacy Yeh <stacy.yeh@oracle.com>
parents: 4302
diff changeset
  1173
	@echo "The system test target is not yet implemented."
6501cf9c29f9 21116842 add system-test targets to each component Makefile and to top-level Makefiles
Stacy Yeh <stacy.yeh@oracle.com>
parents: 4302
diff changeset
  1174
3701
2c4a1656e035 20191770 allow exclusion of components for "gmake test" at the top level
April Chin <april.chin@oracle.com>
parents: 3558
diff changeset
  1175
# There are tests, but we're skipping them.
2c4a1656e035 20191770 allow exclusion of components for "gmake test" at the top level
April Chin <april.chin@oracle.com>
parents: 3558
diff changeset
  1176
SKIP_TEST =	skip-test
2c4a1656e035 20191770 allow exclusion of components for "gmake test" at the top level
April Chin <april.chin@oracle.com>
parents: 3558
diff changeset
  1177
skip-test:
2c4a1656e035 20191770 allow exclusion of components for "gmake test" at the top level
April Chin <april.chin@oracle.com>
parents: 3558
diff changeset
  1178
	@echo "Skipping tests"
2c4a1656e035 20191770 allow exclusion of components for "gmake test" at the top level
April Chin <april.chin@oracle.com>
parents: 3558
diff changeset
  1179
1038
3b4d8f56a1bf 15804658 SUNBT7185081-12.0 Userland could use component-hook target from SFW
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 990
diff changeset
  1180
# default behaviour for 'component-hook' target is to echo the component
3b4d8f56a1bf 15804658 SUNBT7185081-12.0 Userland could use component-hook target from SFW
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 990
diff changeset
  1181
# name and version information, but more complex behaviour can be implemented
3b4d8f56a1bf 15804658 SUNBT7185081-12.0 Userland could use component-hook target from SFW
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 990
diff changeset
  1182
# via command line setting of the COMPONENT_HOOK macro.
3b4d8f56a1bf 15804658 SUNBT7185081-12.0 Userland could use component-hook target from SFW
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 990
diff changeset
  1183
COMPONENT_HOOK ?=	echo $(COMPONENT_NAME) $(COMPONENT_VERSION)
3b4d8f56a1bf 15804658 SUNBT7185081-12.0 Userland could use component-hook target from SFW
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 990
diff changeset
  1184
3b4d8f56a1bf 15804658 SUNBT7185081-12.0 Userland could use component-hook target from SFW
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 990
diff changeset
  1185
component-hook:
3b4d8f56a1bf 15804658 SUNBT7185081-12.0 Userland could use component-hook target from SFW
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 990
diff changeset
  1186
	@$(COMPONENT_HOOK)
3b4d8f56a1bf 15804658 SUNBT7185081-12.0 Userland could use component-hook target from SFW
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 990
diff changeset
  1187
4252
891a844655c4 20992358 clean/clobber in many components no longer deletes the build directory
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 4206
diff changeset
  1188
CLEAN_PATHS +=	$(BUILD_DIR)
891a844655c4 20992358 clean/clobber in many components no longer deletes the build directory
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 4206
diff changeset
  1189
CLOBBER_PATHS +=	$(PROTO_DIR)
891a844655c4 20992358 clean/clobber in many components no longer deletes the build directory
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 4206
diff changeset
  1190
3817
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 3750
diff changeset
  1191
#
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 3750
diff changeset
  1192
# Packages with tools that are required to build Userland components
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 3750
diff changeset
  1193
#
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 3750
diff changeset
  1194
REQUIRED_PACKAGES += developer/build/gnu-make
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 3750
diff changeset
  1195
REQUIRED_PACKAGES += developer/build/make
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 3750
diff changeset
  1196
ifeq ($(COMPILER),gcc)
6859
569bef81e3c4 22991497 /usr/gcc/5.3 should be /usr/gcc/5
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 6706
diff changeset
  1197
REQUIRED_PACKAGES += developer/gcc-5
3817
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 3750
diff changeset
  1198
endif
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 3750
diff changeset
  1199
ifeq ($(COMPILER),studio)
4201
1db8af129b18 19782029 userland should be able to build from SCM repositories (fix dependency, hash)
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 4196
diff changeset
  1200
ifneq ($(findstring /opt/solarisstudio12.4,$(CC)),)
1db8af129b18 19782029 userland should be able to build from SCM repositories (fix dependency, hash)
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 4196
diff changeset
  1201
# If we are setup to build with an installed compiler, require the package
1db8af129b18 19782029 userland should be able to build from SCM repositories (fix dependency, hash)
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 4196
diff changeset
  1202
# we can uncomment this when we know that pkglint can find it.
1db8af129b18 19782029 userland should be able to build from SCM repositories (fix dependency, hash)
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 4196
diff changeset
  1203
#REQUIRED_PACKAGES += /solarisstudio/developer/solarisstudio-124
4196
d697072a92f5 19782029 userland should be able to build from SCM repositories
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 4195
diff changeset
  1204
endif
3817
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 3750
diff changeset
  1205
endif
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 3750
diff changeset
  1206
ifeq ($(PARFAIT_BUILD),yes)
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 3750
diff changeset
  1207
# uncomment this line if you need to install Parfait
4272
842ee8dc3530 21057637 userland should move to parfait 1.6.1
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 4252
diff changeset
  1208
#REQUIRED_PACKAGES += developer/parfait/parfait-tools-161
3817
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 3750
diff changeset
  1209
endif
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 3750
diff changeset
  1210
REQUIRED_PACKAGES += developer/versioning/mercurial
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 3750
diff changeset
  1211
REQUIRED_PACKAGES += file/gnu-findutils
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 3750
diff changeset
  1212
REQUIRED_PACKAGES += package/pkg
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 3750
diff changeset
  1213
REQUIRED_PACKAGES += runtime/python-27
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 3750
diff changeset
  1214
REQUIRED_PACKAGES += shell/bash
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 3750
diff changeset
  1215
REQUIRED_PACKAGES += shell/ksh93
5066
7e7b4d607ab6 22153800 system/linker should be added to core REQUIRED_PACKAGES list
John Beck <John.Beck@Oracle.COM>
parents: 4984
diff changeset
  1216
REQUIRED_PACKAGES += system/linker
3817
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 3750
diff changeset
  1217
REQUIRED_PACKAGES += text/gawk
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 3750
diff changeset
  1218
REQUIRED_PACKAGES += text/gnu-grep
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 3750
diff changeset
  1219
REQUIRED_PACKAGES += text/gnu-sed
5174
85d6cad6ebf8 22249724 jdk-8 required to build Userland
John Beck <John.Beck@Oracle.COM>
parents: 5125
diff changeset
  1220
REQUIRED_PACKAGES += developer/java/jdk-8
3817
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 3750
diff changeset
  1221
REQUIRED_PACKAGES += security/sudo
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 3750
diff changeset
  1222
5682
94c0ca64c022 15558602 TCL_LD_SEARCH_FLAGS is wrongly defined in tclConfig.sh
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5678
diff changeset
  1223
# Only a default dependency if component being built produces binaries.
94c0ca64c022 15558602 TCL_LD_SEARCH_FLAGS is wrongly defined in tclConfig.sh
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5678
diff changeset
  1224
ifneq ($(strip $(BUILD_BITS)),NO_ARCH)
94c0ca64c022 15558602 TCL_LD_SEARCH_FLAGS is wrongly defined in tclConfig.sh
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5678
diff changeset
  1225
REQUIRED_PACKAGES += system/library
94c0ca64c022 15558602 TCL_LD_SEARCH_FLAGS is wrongly defined in tclConfig.sh
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5678
diff changeset
  1226
endif
94c0ca64c022 15558602 TCL_LD_SEARCH_FLAGS is wrongly defined in tclConfig.sh
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5678
diff changeset
  1227
3817
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 3750
diff changeset
  1228
include $(WS_MAKE_RULES)/environment.mk
4195
d88c5d15a4af 20869828 Userland makefiles should provide macro printing helpers
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 4104
diff changeset
  1229
d88c5d15a4af 20869828 Userland makefiles should provide macro printing helpers
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 4104
diff changeset
  1230
# A simple rule to print the value of any macro.  Ex:
d88c5d15a4af 20869828 Userland makefiles should provide macro printing helpers
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 4104
diff changeset
  1231
#   $ gmake print-REQUIRED_PACKAGES
d88c5d15a4af 20869828 Userland makefiles should provide macro printing helpers
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 4104
diff changeset
  1232
# Note that some macros are set on a per target basis, so what you see
d88c5d15a4af 20869828 Userland makefiles should provide macro printing helpers
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 4104
diff changeset
  1233
# is not always what you get.
d88c5d15a4af 20869828 Userland makefiles should provide macro printing helpers
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 4104
diff changeset
  1234
print-%:
d88c5d15a4af 20869828 Userland makefiles should provide macro printing helpers
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 4104
diff changeset
  1235
	@echo '$(subst ','\'',$*=$($*)) (origin: $(origin $*), flavor: $(flavor $*))'